summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--glide.lock36
-rw-r--r--glide.yaml6
-rw-r--r--vendor/github.com/armon/go-radix/.gitignore (renamed from vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/.gitignore)11
-rw-r--r--vendor/github.com/armon/go-radix/.travis.yml3
-rw-r--r--vendor/github.com/armon/go-radix/LICENSE (renamed from vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/LICENSE)2
-rw-r--r--vendor/github.com/armon/go-radix/README.md38
-rw-r--r--vendor/github.com/armon/go-radix/radix.go543
-rw-r--r--vendor/github.com/armon/go-radix/radix_test.go359
-rw-r--r--vendor/github.com/bgentry/speakeasy/.gitignore2
-rw-r--r--vendor/github.com/bgentry/speakeasy/LICENSE24
-rw-r--r--vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS201
-rw-r--r--vendor/github.com/bgentry/speakeasy/Readme.md30
-rw-r--r--vendor/github.com/bgentry/speakeasy/example/main.go18
-rw-r--r--vendor/github.com/bgentry/speakeasy/speakeasy.go49
-rw-r--r--vendor/github.com/bgentry/speakeasy/speakeasy_unix.go93
-rw-r--r--vendor/github.com/bgentry/speakeasy/speakeasy_windows.go41
-rw-r--r--vendor/github.com/davecgh/go-spew/.travis.yml24
-rw-r--r--vendor/github.com/davecgh/go-spew/LICENSE2
-rw-r--r--vendor/github.com/davecgh/go-spew/README.md12
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/bypass.go6
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/common.go2
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/dump.go10
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/format.go4
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/format_test.go4
-rw-r--r--vendor/github.com/davecgh/go-spew/spew/internal_test.go5
-rw-r--r--vendor/github.com/hashicorp/terraform/.travis.yml3
-rw-r--r--vendor/github.com/hashicorp/terraform/CHANGELOG.md29
-rw-r--r--vendor/github.com/hashicorp/terraform/Dockerfile1
-rw-r--r--vendor/github.com/hashicorp/terraform/Vagrantfile2
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/consul/backend_test.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/consul/client.go9
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend.go197
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend_test.go90
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client.go38
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client_test.go11
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend.go10
-rw-r--r--vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend_test.go23
-rw-r--r--vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner.go22
-rw-r--r--vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner_test.go33
-rw-r--r--vendor/github.com/hashicorp/terraform/command/hook_ui_test.go19
-rw-r--r--vendor/github.com/hashicorp/terraform/command/import.go18
-rw-r--r--vendor/github.com/hashicorp/terraform/command/import_test.go82
-rw-r--r--vendor/github.com/hashicorp/terraform/command/init.go7
-rw-r--r--vendor/github.com/hashicorp/terraform/command/init_test.go43
-rw-r--r--vendor/github.com/hashicorp/terraform/command/plugins.go12
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_meta.go20
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_mv.go67
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_mv_test.go233
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_push_test.go55
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_rm.go14
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_rm_test.go137
-rw-r--r--vendor/github.com/hashicorp/terraform/command/state_test.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/command/test-fixtures/import-provider-remote-state/main.tf12
-rw-r--r--vendor/github.com/hashicorp/terraform/command/test-fixtures/init-legacy-rc/main.tf1
-rw-r--r--vendor/github.com/hashicorp/terraform/command/test-fixtures/inmem-backend/main.tf3
-rw-r--r--vendor/github.com/hashicorp/terraform/command/unlock_test.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/command/workspace_command_test.go29
-rw-r--r--vendor/github.com/hashicorp/terraform/commands.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/config/loader_hcl.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/dag/walk.go16
-rw-r--r--vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go40
-rw-r--r--vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go16
-rw-r--r--vendor/github.com/hashicorp/terraform/helper/schema/resource_data_test.go252
-rw-r--r--vendor/github.com/hashicorp/terraform/helper/schema/set.go25
-rw-r--r--vendor/github.com/hashicorp/terraform/helper/schema/set_test.go87
-rw-r--r--vendor/github.com/hashicorp/terraform/plugin/client.go9
-rw-r--r--vendor/github.com/hashicorp/terraform/plugin/discovery/find.go1
-rw-r--r--vendor/github.com/hashicorp/terraform/plugin/discovery/get.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/plugin/discovery/get_test.go5
-rw-r--r--vendor/github.com/hashicorp/terraform/plugins.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/scripts/docker-release/Dockerfile-release2
-rw-r--r--vendor/github.com/hashicorp/terraform/scripts/docker-release/README.md92
-rwxr-xr-xvendor/github.com/hashicorp/terraform/scripts/docker-release/build.sh34
-rwxr-xr-xvendor/github.com/hashicorp/terraform/scripts/docker-release/hooks/build18
-rwxr-xr-xvendor/github.com/hashicorp/terraform/scripts/docker-release/push.sh20
-rwxr-xr-xvendor/github.com/hashicorp/terraform/scripts/docker-release/release.sh93
-rwxr-xr-xvendor/github.com/hashicorp/terraform/scripts/docker-release/tag.sh26
-rw-r--r--vendor/github.com/hashicorp/terraform/state/remote/state.go7
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/context_input_test.go54
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/context_validate_test.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/eval.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go31
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/eval_state.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/graph.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go3
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/node_data_refresh_test.go7
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go23
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/node_resource_refresh_test.go7
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/child/main.tf5
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/main.tf8
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/upgrade_state_v1_test.go7
-rw-r--r--vendor/github.com/hashicorp/terraform/terraform/version.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/tools/terraform-bundle/package.go19
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/README.md74
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_unix.go12
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_windows.go13
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem.go247
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem_signal.go100
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/metrics.go115
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/sink.go52
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/start.go95
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsd.go154
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsite.go142
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any.go139
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go168
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.proto139
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/doc.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration.go102
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go146
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto117
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/regen.sh66
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp.go134
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go162
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto133
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/acl.go672
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/cache.go177
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/policy.go191
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/acl.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/agent.go28
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/api.go243
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/catalog.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/coordinate.go5
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/health.go1
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/kv.go23
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/lock.go29
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator.go152
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_area.go168
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_autopilot.go219
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_keyring.go83
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_raft.go86
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/semaphore.go29
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/session.go9
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/operator.go57
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/prepared_query.go257
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/snapshot.go40
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/structs.go1041
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/txn.go85
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/README.md31
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/io.go61
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/retry/retry.go197
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server.go489
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_methods.go256
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_wrapper.go65
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/wait.go62
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md39
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/checks.go5
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/node_id.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/LICENSE21
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/README.md123
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/global.go34
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/int.go385
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/log.go138
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stacktrace.go108
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stdlog.go62
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/LICENSE25
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/0doc.go143
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/README.md174
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/binc.go786
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/decode.go1048
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/encode.go1001
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper.go589
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper_internal.go127
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack.go816
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack_test.py110
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/rpc.go152
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/simple.go461
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/time.go193
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/README.md49
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/client.go267
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_client.go83
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_server.go115
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/log_entry.go73
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/plugin.go31
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/protocol.go45
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_client.go47
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_server.go20
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/server.go128
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/testing.go52
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/2q.go212
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/LICENSE362
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/README.md25
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/arc.go257
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/lru.go114
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go160
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/Makefile17
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/README.md89
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/api.go1007
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commands.go151
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commitment.go101
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/config.go258
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/configuration.go343
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/discard_snapshot.go49
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/file_snapshot.go494
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/fsm.go136
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/future.go289
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_snapshot.go106
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_store.go125
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_transport.go322
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log.go72
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log_cache.go79
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/membership.md83
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/net_transport.go622
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/observer.go115
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/peersjson.go46
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/raft.go1456
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/replication.go561
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/snapshot.go239
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/stable.go15
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/state.go167
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/tcp_transport.go105
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/transport.go124
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/util.go133
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/README.md10
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/autocomplete.go43
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/cli.go249
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command.go20
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command_mock.go21
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/help.go4
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/ui_mock.go59
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/LICENSE21
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/README.md52
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing.go84
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go80
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/LICENSE23
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/README.md52
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/appveyor.yml32
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/errors.go269
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/stack.go186
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/LICENSE.txt21
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/args.go75
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/cmd.go128
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/bash.go32
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/install.go92
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/utils.go118
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/zsh.go39
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/command.go106
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/complete.go86
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/log.go23
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/file.go19
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/match.go6
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/prefix.go9
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/metalinter.json21
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict.go41
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_files.go108
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_set.go19
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/readme.md116
-rwxr-xr-xvendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/test.sh12
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/utils.go46
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/ciphers.go641
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/client_conn_pool.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/configure_transport.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/databuffer.go146
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/errors.go13
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/fixed_buffer.go60
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/frame.go81
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go16.go27
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go18.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go19.go16
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/encode.go29
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/hpack.go104
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/tables.go255
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/http2.go8
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go16.go25
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go18.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go19.go16
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/pipe.go18
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/server.go442
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/transport.go256
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/writesched_priority.go2
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/LICENSE202
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go143
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/AUTHORS1
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/CONTRIBUTING.md60
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/LICENSE230
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/README.md28
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/backoff.go18
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/balancer.go55
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/call.go149
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/clientconn.go601
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codec.go104
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codes/codes.go37
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/connectivity/connectivity.go72
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials.go47
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go38
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go18.go38
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go37
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/doc.go20
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go16.go98
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go17.go98
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb.go737
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.pb.go629
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.proto164
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/grpclog.go123
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/logger.go106
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/loggerv2.go195
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go176
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.proto34
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/health.go70
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/interceptor.go43
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/internal/internal.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/keepalive/keepalive.go65
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/metadata/metadata.go140
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/dns_resolver.go292
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go17.go34
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go18.go28
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/naming.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/peer/peer.go38
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/proxy.go130
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/rpc_util.go367
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/server.go543
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/handlers.go42
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/stats.go59
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/status/status.go168
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stream.go230
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/tap/tap.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/trace.go35
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/bdp_estimator.go143
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/control.go119
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go16.go49
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go17.go52
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/handler_server.go104
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_client.go688
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_server.go602
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http_util.go214
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/log.go50
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/pre_go16.go51
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/transport.go330
-rw-r--r--vendor/github.com/hashicorp/terraform/vendor/vendor.json262
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/backends/types/azure.html.md1
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/commands/import.html.md10
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/commands/init.html.markdown10
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/commands/state/mv.html.md29
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/commands/state/rm.html.md11
-rw-r--r--vendor/github.com/hashicorp/terraform/website/docs/plugins/provider.html.md2
-rw-r--r--vendor/github.com/hashicorp/terraform/website/guides/running-terraform-in-automation.html.md7
-rw-r--r--vendor/github.com/hashicorp/terraform/website/guides/terraform-provider-development-program.html.md127
-rw-r--r--vendor/github.com/hashicorp/terraform/website/guides/writing-custom-terraform-providers.html.md2
-rw-r--r--vendor/github.com/hashicorp/terraform/website/intro/examples/consul.html.markdown2
-rw-r--r--vendor/github.com/hashicorp/terraform/website/intro/examples/count.markdown2
-rw-r--r--vendor/github.com/hashicorp/terraform/website/intro/examples/index.html.markdown18
-rw-r--r--vendor/github.com/hashicorp/terraform/website/layouts/guides.erb3
-rw-r--r--vendor/github.com/hooklift/iso9660/.editorconfig23
-rw-r--r--vendor/github.com/hooklift/iso9660/.travis.yml4
-rw-r--r--vendor/github.com/hooklift/iso9660/Makefile2
-rw-r--r--vendor/github.com/hooklift/iso9660/README.md7
-rw-r--r--vendor/github.com/hooklift/iso9660/cmd/iso9660/main.go6
-rw-r--r--vendor/github.com/hooklift/iso9660/common.mk4
-rw-r--r--vendor/github.com/hooklift/iso9660/iso9660.go34
-rw-r--r--vendor/github.com/hooklift/iso9660/reader.go4
-rw-r--r--vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md46
-rw-r--r--vendor/github.com/imdario/mergo/README.md29
-rw-r--r--vendor/github.com/imdario/mergo/issue23_test.go27
-rw-r--r--vendor/github.com/imdario/mergo/merge.go2
-rw-r--r--vendor/github.com/imdario/mergo/mergo_test.go26
-rw-r--r--vendor/github.com/libvirt/libvirt-go-xml/.travis.yml2
-rw-r--r--vendor/github.com/libvirt/libvirt-go-xml/domain.go27
-rw-r--r--vendor/github.com/libvirt/libvirt-go-xml/domain_test.go10
-rw-r--r--vendor/github.com/libvirt/libvirt-go/.travis.yml4
-rw-r--r--vendor/github.com/libvirt/libvirt-go/connect.go111
-rw-r--r--vendor/github.com/libvirt/libvirt-go/domain.go198
-rw-r--r--vendor/github.com/libvirt/libvirt-go/domain_compat.go34
-rw-r--r--vendor/github.com/libvirt/libvirt-go/domain_compat.h13
-rw-r--r--vendor/github.com/libvirt/libvirt-go/domain_snapshot.go12
-rw-r--r--vendor/github.com/libvirt/libvirt-go/error.go3
-rw-r--r--vendor/github.com/libvirt/libvirt-go/error_compat.h6
-rw-r--r--vendor/github.com/libvirt/libvirt-go/events.go9
-rw-r--r--vendor/github.com/libvirt/libvirt-go/interface.go9
-rw-r--r--vendor/github.com/libvirt/libvirt-go/libvirtd.sasl2
-rw-r--r--vendor/github.com/libvirt/libvirt-go/network.go16
-rw-r--r--vendor/github.com/libvirt/libvirt-go/node_device.go16
-rw-r--r--vendor/github.com/libvirt/libvirt-go/nwfilter.go7
-rw-r--r--vendor/github.com/libvirt/libvirt-go/secret.go10
-rw-r--r--vendor/github.com/libvirt/libvirt-go/storage_pool.go23
-rw-r--r--vendor/github.com/libvirt/libvirt-go/storage_volume.go15
-rw-r--r--vendor/github.com/libvirt/libvirt-go/stream.go16
-rw-r--r--vendor/github.com/mattn/go-isatty/.travis.yml9
-rw-r--r--vendor/github.com/mattn/go-isatty/LICENSE9
-rw-r--r--vendor/github.com/mattn/go-isatty/README.md50
-rw-r--r--vendor/github.com/mattn/go-isatty/doc.go2
-rw-r--r--vendor/github.com/mattn/go-isatty/example_test.go18
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_appengine.go15
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_bsd.go18
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_linux.go18
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_others.go10
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_others_test.go19
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_solaris.go16
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_windows.go94
-rw-r--r--vendor/github.com/mattn/go-isatty/isatty_windows_test.go35
-rw-r--r--vendor/github.com/mitchellh/cli/.travis.yml13
-rw-r--r--vendor/github.com/mitchellh/cli/LICENSE (renamed from vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/LICENSE)0
-rw-r--r--vendor/github.com/mitchellh/cli/Makefile20
-rw-r--r--vendor/github.com/mitchellh/cli/README.md67
-rw-r--r--vendor/github.com/mitchellh/cli/autocomplete.go43
-rw-r--r--vendor/github.com/mitchellh/cli/cli.go695
-rw-r--r--vendor/github.com/mitchellh/cli/cli_test.go1296
-rw-r--r--vendor/github.com/mitchellh/cli/command.go67
-rw-r--r--vendor/github.com/mitchellh/cli/command_mock.go63
-rw-r--r--vendor/github.com/mitchellh/cli/command_mock_test.go9
-rw-r--r--vendor/github.com/mitchellh/cli/help.go79
-rw-r--r--vendor/github.com/mitchellh/cli/ui.go187
-rw-r--r--vendor/github.com/mitchellh/cli/ui_colored.go69
-rw-r--r--vendor/github.com/mitchellh/cli/ui_colored_test.go74
-rw-r--r--vendor/github.com/mitchellh/cli/ui_concurrent.go54
-rw-r--r--vendor/github.com/mitchellh/cli/ui_concurrent_test.go9
-rw-r--r--vendor/github.com/mitchellh/cli/ui_mock.go111
-rw-r--r--vendor/github.com/mitchellh/cli/ui_mock_test.go9
-rw-r--r--vendor/github.com/mitchellh/cli/ui_test.go162
-rw-r--r--vendor/github.com/mitchellh/cli/ui_writer.go18
-rw-r--r--vendor/github.com/mitchellh/cli/ui_writer_test.go37
-rw-r--r--vendor/github.com/mitchellh/packer/.gitignore2
-rw-r--r--vendor/github.com/mitchellh/packer/.travis.yml3
-rw-r--r--vendor/github.com/mitchellh/packer/CHANGELOG.md91
-rw-r--r--vendor/github.com/mitchellh/packer/README.md1
-rw-r--r--vendor/github.com/mitchellh/packer/builder/alicloud/ecs/access_config.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/alicloud/ecs/step_config_vswitch.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/chroot/builder.go14
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/chroot/lockfile_unix.go7
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/chroot/step_register_ami.go9
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/ami_config.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/artifact.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/artifact_test.go4
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_deregister_ami.go81
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_encrypted_ami.go12
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_modify_ebs_instance.go17
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_run_source_instance.go84
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_security_group.go42
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/common/step_source_ami_info.go9
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/ebs/builder.go13
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/builder.go18
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/step_register_ami.go14
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/ebsvolume/builder.go15
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/instance/builder.go14
-rw-r--r--vendor/github.com/mitchellh/packer/builder/amazon/instance/step_register_ami.go12
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/artifact.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/artifact_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/authenticate.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/azure_client.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/builder.go11
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/builder_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/config.go64
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/config_test.go89
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address.go16
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address_test.go166
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory.go11
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment08.approved.json3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment09.approved.json3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment10.approved.json144
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.go37
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/tempname.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/arm/tempname_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/constants/stateBag.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/constants/targetplatforms.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/lin/ssh.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_create_cert.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_generalize_os.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/logutil/logfields.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/randomstring.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/randomstring_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/state_bag.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/template/template.go1
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go28
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/common/vault.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/LICENSE27
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/README.md9
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string.go34
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string_test.go101
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto.go131
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto_test.go199
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/errors.go6
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac.go25
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac_test.go18
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf.go109
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf_test.go24
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12.go308
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12_test.go138
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8.go5
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8_test.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/bench_test.go27
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2.go36
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2_test.go22
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags.go50
-rw-r--r--vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags_test.go34
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/builder.go31
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/config.go55
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/ssh.go23
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/step_configure_networking.go12
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_instance.go21
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_security_group.go94
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/step_keypair.go133
-rw-r--r--vendor/github.com/mitchellh/packer/builder/cloudstack/step_prepare_config.go73
-rw-r--r--vendor/github.com/mitchellh/packer/builder/digitalocean/step_snapshot.go4
-rw-r--r--vendor/github.com/mitchellh/packer/builder/docker/communicator.go196
-rw-r--r--vendor/github.com/mitchellh/packer/builder/docker/config.go29
-rw-r--r--vendor/github.com/mitchellh/packer/builder/docker/step_connect_docker.go4
-rw-r--r--vendor/github.com/mitchellh/packer/builder/docker/step_run.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/config.go11
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/config_test.go60
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/driver.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/driver_gce.go13
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/startup.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance.go3
-rw-r--r--vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance_test.go4
-rw-r--r--vendor/github.com/mitchellh/packer/builder/hyperv/iso/builder.go15
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/artifact.go35
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/builder.go95
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/builder_test.go56
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/command.go15
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/communicator.go151
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/communicator_test.go14
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/config.go79
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/step_export.go98
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/step_lxc_create.go89
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/step_prepare_output_dir.go49
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/step_provision.go36
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxc/step_wait_init.go102
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/artifact.go34
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/builder.go74
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/builder_test.go77
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/command.go43
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/communicator.go142
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/communicator_test.go20
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/config.go60
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/step_lxd_launch.go50
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/step_provision.go34
-rw-r--r--vendor/github.com/mitchellh/packer/builder/lxd/step_publish.go54
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oneandone/builder.go10
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/LICENSE375
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact.go45
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact_test.go15
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/builder.go96
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/builder_test.go15
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/base_client.go215
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client.go31
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client_test.go49
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/compute.go21
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config.go240
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config_test.go283
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/error.go27
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image.go122
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image_test.go115
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance.go129
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance_test.go96
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport.go116
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport_test.go156
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic.go47
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment.go52
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment_test.go31
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_test.go29
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters.go59
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters_test.go80
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/config.go215
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/config_test.go181
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/driver.go16
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_mock.go89
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_oci.go117
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/ssh.go45
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance.go75
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance_test.go130
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image.go48
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image_test.go70
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info.go36
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info_test.go52
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_ssh_key_pair.go116
-rw-r--r--vendor/github.com/mitchellh/packer/builder/oracle/oci/step_test.go62
-rw-r--r--vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9.go17
-rw-r--r--vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9_test.go26
-rw-r--r--vendor/github.com/mitchellh/packer/builder/profitbricks/builder.go10
-rw-r--r--vendor/github.com/mitchellh/packer/builder/profitbricks/config.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/profitbricks/step_create_server.go88
-rw-r--r--vendor/github.com/mitchellh/packer/builder/profitbricks/step_take_snapshot.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/common/artifact.go8
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/common/artifact_test.go5
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/iso/artifact.go5
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/iso/builder.go7
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/iso/step_export.go19
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/vmx/builder.go2
-rw-r--r--vendor/github.com/mitchellh/packer/builder/vmware/vmx/config.go3
-rw-r--r--vendor/github.com/mitchellh/packer/command/meta.go3
-rw-r--r--vendor/github.com/mitchellh/packer/command/plugin.go8
-rw-r--r--vendor/github.com/mitchellh/packer/communicator/none/communicator.go3
-rw-r--r--vendor/github.com/mitchellh/packer/communicator/ssh/communicator.go11
-rw-r--r--vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud.json1
-rw-r--r--vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_windows.json1
-rw-r--r--vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_with_data_disk.json1
-rw-r--r--vendor/github.com/mitchellh/packer/examples/alicloud/chef/alicloud.json1
-rw-r--r--vendor/github.com/mitchellh/packer/examples/alicloud/jenkins/alicloud.json1
-rw-r--r--vendor/github.com/mitchellh/packer/examples/azure/windows_custom_image.json4
-rw-r--r--vendor/github.com/mitchellh/packer/fix/fixer.go26
-rw-r--r--vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking.go45
-rw-r--r--vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking_test.go64
-rw-r--r--vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent.go50
-rw-r--r--vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent_test.go83
-rw-r--r--vendor/github.com/mitchellh/packer/helper/communicator/config.go34
-rw-r--r--vendor/github.com/mitchellh/packer/helper/communicator/step_connect_ssh.go10
-rw-r--r--vendor/github.com/mitchellh/packer/helper/communicator/step_connect_winrm.go37
-rw-r--r--vendor/github.com/mitchellh/packer/packer/communicator.go7
-rw-r--r--vendor/github.com/mitchellh/packer/packer/config_file_unix.go2
-rw-r--r--vendor/github.com/mitchellh/packer/packer/plugin/plugin_test.go5
-rw-r--r--vendor/github.com/mitchellh/packer/packer/rpc/communicator.go11
-rw-r--r--vendor/github.com/mitchellh/packer/packer/telemetry.go2
-rw-r--r--vendor/github.com/mitchellh/packer/plugin/builder-lxc/main.go15
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/googlecompute-export/post-processor.go9
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/shell-local/post-processor.go17
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/post-processor.go10
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/step_release_version.go8
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vsphere-template/post-processor.go132
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_choose_datacenter.go35
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_create_folder.go86
-rw-r--r--vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_mark_as_template.go118
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner.go28
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner_test.go9
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner.go119
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner_test.go3
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner.go94
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner_test.go6
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/salt-masterless/provisioner.go2
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/shell/provisioner.go2
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/shell/provisioner_test.go4
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner.go18
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner_test.go1
-rw-r--r--vendor/github.com/mitchellh/packer/provisioner/windows-shell/provisioner_test.go6
-rwxr-xr-xvendor/github.com/mitchellh/packer/scripts/build.sh2
-rw-r--r--vendor/github.com/mitchellh/packer/test/builder_lxc.bats40
-rw-r--r--vendor/github.com/mitchellh/packer/test/fixtures/builder-lxc/minimal.json15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/LICENSE22
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/README.md2
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/coverage.sh17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/goxpath.go117
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/execxp.go27
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/operators.go212
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/paths.go397
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/lexer.go419
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/paths.go219
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/xmlchars.go316
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/ast.go113
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/findutil/findUtil.go307
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/boolfns.go74
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/intfns.go41
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/nodesetfns.go131
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/numfns.go71
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/stringfns.go141
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/parser.go194
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr/pathexpr.go11
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xconst/xconst.go66
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xsort/xsort.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/marshal.go105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/interfaces.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/tree.go221
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xfn.go52
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder/xmlbuilder.go25
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele/xmlele.go106
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode/xmlnode.go43
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmltree.go158
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xtypes.go113
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/LICENSE17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/README.md119
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/build.go359
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/func.go254
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/operator.go295
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/parse.go1164
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/query.go728
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/xpath.go154
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/LICENSE17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/node.go252
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/query.go230
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md923
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md5
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CONTRIBUTING.md5
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/Makefile9
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/README.md447
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/client.go62
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go10
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go108
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/config.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context.go71
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go41
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go9
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go132
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go1
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go47
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go27
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/doc.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go348
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go112
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go19
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/logger.go4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go19
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go97
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request.go192
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go22
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go30
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go154
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go99
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go94
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go295
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/session.go119
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go109
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/version.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/doc.go405
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go40
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go70
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json78
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go91
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go46
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go1
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go13
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/sdk.go7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go11219
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go1649
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go761
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/api.go3682
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go26
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go109
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go13
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go310
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/batch.go500
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go83
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/download.go204
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go174
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/service.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go64
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go215
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/api.go276
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go72
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/service.go54
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/common/client.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/disks.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/forward_entry.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/images.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/instances.go39
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/nat_gateway.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/networks.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/route_tables.go15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/security_groups.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snapshots.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snat_entry.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/ssh_key_pair.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/tags.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vpcs.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vrouters.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vswitches.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/zones.go46
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/api.go61
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/group.go125
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/mfa.go86
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/policy.go102
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/profile.go44
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/security.go46
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/types.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/slb/listeners.go5
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/dylanmei/winrmtest/wsman.go40
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/hashicorp/atlas-go/archive/archive.go43
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/ntlm.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/request.go28
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/response.go57
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/shell.go6
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/header.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/message.go4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/namespaces.go80
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/LICENSE185
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/doc.go95
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/parser.go233
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/path.go642
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go32
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go3
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/README.md2612
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/config.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/contractresources.go60
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/datacenter.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/firewallrule.go34
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/image.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/ipblock.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/lan.go47
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/loadbalancer.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/location.go30
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/nic.go25
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/paths.go91
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/req.go19
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/request.go68
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/resp.go29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/server.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/snapshot.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/test_helpers.go116
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/usermanagment.go402
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/volume.go29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/LICENSE2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/README.md7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/uuid.go66
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CHANGELOG.md263
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTING.md101
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTORS61
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/LICENSE.txt202
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/Makefile24
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/README.md78
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/client.go167
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/doc.go37
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/error.go64
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/finder.go1021
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/recurser.go253
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/lister.go563
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/path.go44
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager.go174
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go86
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go86
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/common.go120
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/compute_resource.go124
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go135
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go166
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datacenter.go90
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore.go438
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file.go408
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go145
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_path.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_log.go76
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go104
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go73
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go67
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/extension_manager.go113
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/file_manager.go126
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/folder.go227
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/history_collector.go72
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_account_manager.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_info.go250
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go162
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_config_manager.go196
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_system.go119
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_date_time_system.go69
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_firewall_system.go181
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_network_system.go358
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_service_system.go88
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_storage_system.go145
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_system.go153
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go93
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go117
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_system.go88
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/http_nfc_lease.go143
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/namespace_manager.go76
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network_reference.go31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/opaque_network.go57
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/option_manager.go59
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/ovf_manager.go104
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/resource_pool.go137
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/search_index.go163
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_pod.go34
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go179
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/task.go53
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/types.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_app.go105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_device_list.go922
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go170
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go97
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_machine.go759
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go21
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/collector.go201
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/filter.go139
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/wait.go153
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/keep_alive.go127
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/manager.go201
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/error.go32
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/wait.go132
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/client.go123
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/debug/debug.go81
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/doc.go29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/internal.go124
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/methods.go16144
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go137
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/entity.go24
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/extra.go61
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/mo.go1757
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/reference.go26
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/registry.go21
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go174
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go247
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go73
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/doc.go32
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go54
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/reader.go177
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/report.go26
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/scale.go76
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/tee.go41
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/retry.go105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/client.go741
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/debug.go149
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/error.go115
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/soap.go41
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/base.go19
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/enum.go4466
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/fault.go32
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/helpers.go52
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/if.go3459
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/internal.go266
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/registry.go43
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/types.go53334
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE27
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/extras.go99
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go949
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/read.go781
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go366
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/xml.go1939
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/atom/gen.go648
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/charset/charset.go257
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/README.md173
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s28
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_s390x.s28
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s29
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/bluetooth_linux.go35
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/cap_freebsd.go195
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dev_linux.go42
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dirent.go102
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_big.go9
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_little.go9
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_386.go227
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go227
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go226
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/file_unix.go27
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock_linux_32bit.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go20
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkall.sh139
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkerrors.sh97
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall.pl33
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl25
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl2
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl2
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl15
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl2
-rwxr-xr-xvendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/openbsd_pledge.go38
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/sockcmsg_unix.go11
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall.go7
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_bsd.go18
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin.go87
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_386.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly.go64
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd.go88
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux.go498
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_386.go15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go13
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm.go34
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go50
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go209
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go239
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go43
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go328
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go169
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd.go36
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd.go36
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go44
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris.go127
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix.go6
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix_gc.go15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go103
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go103
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go392
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go103
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go56
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go2865
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go2871
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go2860
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_386.go3285
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go3287
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go3215
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go3350
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go2189
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go2189
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go2189
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go2189
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go3494
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go3493
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go2242
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go2142
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go1586
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go49
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go237
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go253
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go237
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go221
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go47
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go266
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go266
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go266
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go515
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go516
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go497
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go489
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go2111
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go2105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go2105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go2111
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go557
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go557
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go1937
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go1833
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go31
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go33
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go1267
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go195
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go110
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go50
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go21
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go686
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go686
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go686
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go39
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go24
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go37
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go17
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go374
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go334
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go334
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go374
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go13
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go20
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go331
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go348
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go213
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go19
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go14
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go6
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go79
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go75
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go87
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_386.go122
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go152
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go122
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go144
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go688
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go693
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go693
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go688
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go152
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go152
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go718
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go666
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go434
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go24
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/charmap.go249
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/tables.go7410
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go86
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/map.go105
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/tables.go352
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/gen.go137
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/mib.go2
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/all.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/eucjp.go225
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go299
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/shiftjis.go189
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/tables.go26971
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/euckr.go177
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/tables.go34152
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go12
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go269
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go245
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go43999
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go199
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go37142
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/internal/tag/tag.go100
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/Makefile16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/common.go16
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/coverage.go197
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_1.go38
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_2.go11
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/index.go769
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/language.go982
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/lookup.go396
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/match.go933
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/parse.go859
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tables.go3654
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tags.go143
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-api.json7642
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-gen.go31312
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/buffer.go32
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/header.go22
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/json.go65
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/jsonfloat.go57
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/media.go15
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/resumable.go39
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/retry.go22
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/send.go55
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/LICENSE187
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/README.md4
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/cmd/webpath/main.go88
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/doc.go75
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/parser.go396
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/path.go790
-rw-r--r--vendor/github.com/mitchellh/packer/vendor/vendor.json630
-rw-r--r--vendor/github.com/mitchellh/packer/version/version.go4
-rw-r--r--vendor/github.com/mitchellh/packer/website/config.rb8
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/alicloud-ecs.html.md1
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-chroot.html.md17
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebs.html.md17
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebssurrogate.html.md17
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebsvolume.html.md17
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-instance.html.md17
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/azure.html.md16
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/cloudstack.html.md12
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/docker.html.md4
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/googlecompute.html.md9
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/lxc.html.md97
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/lxd.html.md52
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/oracle-oci.html.md143
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/builders/vmware-iso.html.md3
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/post-processors/vsphere-template.html.md53
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible-local.html.md3
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible.html.md24
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-masterless.html.md50
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-server.html.md44
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/docs/templates/communicator.html.md4
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/intro/getting-started/build-image.html.md2
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/intro/getting-started/next.html.md4
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/intro/getting-started/remote-builds.html.md112
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/intro/hashicorp-ecosystem.html.md68
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/layouts/docs.erb11
-rw-r--r--vendor/github.com/mitchellh/packer/website/source/layouts/intro.erb6
-rw-r--r--vendor/github.com/posener/complete/.gitignore2
-rw-r--r--vendor/github.com/posener/complete/.travis.yml17
-rw-r--r--vendor/github.com/posener/complete/LICENSE.txt21
-rw-r--r--vendor/github.com/posener/complete/args.go75
-rw-r--r--vendor/github.com/posener/complete/args_test.go215
-rw-r--r--vendor/github.com/posener/complete/cmd/cmd.go128
-rw-r--r--vendor/github.com/posener/complete/cmd/install/bash.go32
-rw-r--r--vendor/github.com/posener/complete/cmd/install/install.go92
-rw-r--r--vendor/github.com/posener/complete/cmd/install/utils.go118
-rw-r--r--vendor/github.com/posener/complete/cmd/install/zsh.go39
-rw-r--r--vendor/github.com/posener/complete/command.go118
-rw-r--r--vendor/github.com/posener/complete/common_test.go26
-rw-r--r--vendor/github.com/posener/complete/complete.go86
-rw-r--r--vendor/github.com/posener/complete/complete_test.go288
-rw-r--r--vendor/github.com/posener/complete/example/self/main.go53
-rw-r--r--vendor/github.com/posener/complete/gocomplete/complete.go444
-rw-r--r--vendor/github.com/posener/complete/gocomplete/parse.go28
-rw-r--r--vendor/github.com/posener/complete/gocomplete/pkgs.go126
-rw-r--r--vendor/github.com/posener/complete/gocomplete/tests.go47
-rw-r--r--vendor/github.com/posener/complete/gocomplete/tests_test.go91
-rw-r--r--vendor/github.com/posener/complete/log.go23
-rw-r--r--vendor/github.com/posener/complete/match/file.go19
-rw-r--r--vendor/github.com/posener/complete/match/match.go6
-rw-r--r--vendor/github.com/posener/complete/match/match_test.go129
-rw-r--r--vendor/github.com/posener/complete/match/prefix.go9
-rw-r--r--vendor/github.com/posener/complete/metalinter.json21
-rw-r--r--vendor/github.com/posener/complete/predict.go41
-rw-r--r--vendor/github.com/posener/complete/predict_files.go108
-rw-r--r--vendor/github.com/posener/complete/predict_set.go19
-rw-r--r--vendor/github.com/posener/complete/predict_test.go175
-rw-r--r--vendor/github.com/posener/complete/readme.md116
-rwxr-xr-xvendor/github.com/posener/complete/test.sh12
-rw-r--r--vendor/github.com/posener/complete/tests/.dot.txt0
-rw-r--r--vendor/github.com/posener/complete/tests/a.txt0
-rw-r--r--vendor/github.com/posener/complete/tests/b.txt0
-rw-r--r--vendor/github.com/posener/complete/tests/c.txt0
-rw-r--r--vendor/github.com/posener/complete/tests/dir/bar0
-rw-r--r--vendor/github.com/posener/complete/tests/dir/foo0
-rw-r--r--vendor/github.com/posener/complete/tests/outer/inner/readme.md0
-rw-r--r--vendor/github.com/posener/complete/tests/readme.md3
-rw-r--r--vendor/github.com/posener/complete/utils.go46
-rw-r--r--vendor/golang.org/x/sys/.gitattributes10
-rw-r--r--vendor/golang.org/x/sys/.gitignore2
-rw-r--r--vendor/golang.org/x/sys/AUTHORS3
-rw-r--r--vendor/golang.org/x/sys/CONTRIBUTING.md31
-rw-r--r--vendor/golang.org/x/sys/CONTRIBUTORS3
-rw-r--r--vendor/golang.org/x/sys/LICENSE27
-rw-r--r--vendor/golang.org/x/sys/PATENTS (renamed from vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/PATENTS)12
-rw-r--r--vendor/golang.org/x/sys/README3
-rw-r--r--vendor/golang.org/x/sys/codereview.cfg1
-rw-r--r--vendor/golang.org/x/sys/plan9/asm.s (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm.s)2
-rw-r--r--vendor/golang.org/x/sys/plan9/asm_plan9_386.s30
-rw-r--r--vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s30
-rw-r--r--vendor/golang.org/x/sys/plan9/const_plan9.go70
-rw-r--r--vendor/golang.org/x/sys/plan9/dir_plan9.go212
-rw-r--r--vendor/golang.org/x/sys/plan9/env_plan9.go27
-rw-r--r--vendor/golang.org/x/sys/plan9/env_unset.go14
-rw-r--r--vendor/golang.org/x/sys/plan9/errors_plan9.go50
-rwxr-xr-xvendor/golang.org/x/sys/plan9/mkall.sh138
-rwxr-xr-xvendor/golang.org/x/sys/plan9/mkerrors.sh246
-rwxr-xr-xvendor/golang.org/x/sys/plan9/mksyscall.pl319
-rwxr-xr-xvendor/golang.org/x/sys/plan9/mksysnum_plan9.sh23
-rw-r--r--vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go21
-rw-r--r--vendor/golang.org/x/sys/plan9/pwd_plan9.go23
-rw-r--r--vendor/golang.org/x/sys/plan9/race.go30
-rw-r--r--vendor/golang.org/x/sys/plan9/race0.go25
-rw-r--r--vendor/golang.org/x/sys/plan9/str.go22
-rw-r--r--vendor/golang.org/x/sys/plan9/syscall.go74
-rw-r--r--vendor/golang.org/x/sys/plan9/syscall_plan9.go349
-rw-r--r--vendor/golang.org/x/sys/plan9/syscall_test.go33
-rw-r--r--vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go292
-rw-r--r--vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go292
-rw-r--r--vendor/golang.org/x/sys/plan9/zsysnum_plan9.go49
-rw-r--r--vendor/golang.org/x/sys/unix/.gitignore1
-rw-r--r--vendor/golang.org/x/sys/unix/README.md173
-rw-r--r--vendor/golang.org/x/sys/unix/asm_darwin_386.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_darwin_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_darwin_arm.s30
-rw-r--r--vendor/golang.org/x/sys/unix/asm_darwin_arm64.s30
-rw-r--r--vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_freebsd_386.s (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_dragonfly_386.s)10
-rw-r--r--vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_freebsd_arm.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_386.s35
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_arm.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_arm64.s24
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_mips64x.s28
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_mipsx.s31
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s28
-rw-r--r--vendor/golang.org/x/sys/unix/asm_linux_s390x.s28
-rw-r--r--vendor/golang.org/x/sys/unix/asm_netbsd_386.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_netbsd_arm.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_openbsd_386.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_openbsd_arm.s29
-rw-r--r--vendor/golang.org/x/sys/unix/asm_solaris_amd64.s17
-rw-r--r--vendor/golang.org/x/sys/unix/bluetooth_linux.go35
-rw-r--r--vendor/golang.org/x/sys/unix/cap_freebsd.go195
-rw-r--r--vendor/golang.org/x/sys/unix/constants.go13
-rw-r--r--vendor/golang.org/x/sys/unix/creds_test.go136
-rw-r--r--vendor/golang.org/x/sys/unix/dev_darwin.go24
-rw-r--r--vendor/golang.org/x/sys/unix/dev_darwin_test.go49
-rw-r--r--vendor/golang.org/x/sys/unix/dev_dragonfly.go30
-rw-r--r--vendor/golang.org/x/sys/unix/dev_dragonfly_test.go48
-rw-r--r--vendor/golang.org/x/sys/unix/dev_freebsd.go30
-rw-r--r--vendor/golang.org/x/sys/unix/dev_linux.go42
-rw-r--r--vendor/golang.org/x/sys/unix/dev_linux_test.go51
-rw-r--r--vendor/golang.org/x/sys/unix/dev_netbsd.go29
-rw-r--r--vendor/golang.org/x/sys/unix/dev_netbsd_test.go50
-rw-r--r--vendor/golang.org/x/sys/unix/dev_openbsd.go29
-rw-r--r--vendor/golang.org/x/sys/unix/dev_openbsd_test.go52
-rw-r--r--vendor/golang.org/x/sys/unix/dirent.go102
-rw-r--r--vendor/golang.org/x/sys/unix/endian_big.go9
-rw-r--r--vendor/golang.org/x/sys/unix/endian_little.go9
-rw-r--r--vendor/golang.org/x/sys/unix/env_unix.go27
-rw-r--r--vendor/golang.org/x/sys/unix/env_unset.go14
-rw-r--r--vendor/golang.org/x/sys/unix/errors_freebsd_386.go227
-rw-r--r--vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go227
-rw-r--r--vendor/golang.org/x/sys/unix/errors_freebsd_arm.go226
-rw-r--r--vendor/golang.org/x/sys/unix/export_test.go9
-rw-r--r--vendor/golang.org/x/sys/unix/file_unix.go27
-rw-r--r--vendor/golang.org/x/sys/unix/flock.go22
-rw-r--r--vendor/golang.org/x/sys/unix/flock_linux_32bit.go13
-rw-r--r--vendor/golang.org/x/sys/unix/gccgo.go46
-rw-r--r--vendor/golang.org/x/sys/unix/gccgo_c.c41
-rw-r--r--vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go20
-rw-r--r--vendor/golang.org/x/sys/unix/linux/Dockerfile51
-rw-r--r--vendor/golang.org/x/sys/unix/linux/mkall.go379
-rwxr-xr-xvendor/golang.org/x/sys/unix/linux/mksysnum.pl (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_linux.pl)37
-rw-r--r--vendor/golang.org/x/sys/unix/linux/types.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_linux.go)201
-rwxr-xr-xvendor/golang.org/x/sys/unix/mkall.sh197
-rwxr-xr-xvendor/golang.org/x/sys/unix/mkerrors.sh563
-rw-r--r--vendor/golang.org/x/sys/unix/mkpost.go88
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksyscall.pl328
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksyscall_solaris.pl289
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysctl_openbsd.pl264
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_darwin.pl39
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl50
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_freebsd.pl50
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_netbsd.pl58
-rwxr-xr-xvendor/golang.org/x/sys/unix/mksysnum_openbsd.pl50
-rw-r--r--vendor/golang.org/x/sys/unix/mmap_unix_test.go35
-rw-r--r--vendor/golang.org/x/sys/unix/openbsd_pledge.go38
-rw-r--r--vendor/golang.org/x/sys/unix/openbsd_test.go113
-rw-r--r--vendor/golang.org/x/sys/unix/pagesize_unix.go15
-rw-r--r--vendor/golang.org/x/sys/unix/race.go30
-rw-r--r--vendor/golang.org/x/sys/unix/race0.go25
-rw-r--r--vendor/golang.org/x/sys/unix/sockcmsg_linux.go36
-rw-r--r--vendor/golang.org/x/sys/unix/sockcmsg_unix.go104
-rw-r--r--vendor/golang.org/x/sys/unix/str.go26
-rw-r--r--vendor/golang.org/x/sys/unix/syscall.go69
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_bsd.go635
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_bsd_test.go62
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin.go536
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_386.go75
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go75
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_arm.go69
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go75
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_dragonfly.go415
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go59
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd.go708
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_386.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_386.go)6
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go59
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go59
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd_test.go297
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux.go1469
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_386.go397
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_amd64.go150
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go13
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm.go261
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm64.go188
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go207
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go237
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go133
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_s390x.go326
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go149
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_test.go227
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd.go472
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_386.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_no_getwd.go11
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd.go282
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_386.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go40
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_solaris.go700
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go35
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_solaris_test.go34
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_test.go50
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_unix.go293
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_unix_gc.go15
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_unix_test.go345
-rw-r--r--vendor/golang.org/x/sys/unix/types_darwin.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_darwin.go)6
-rw-r--r--vendor/golang.org/x/sys/unix/types_dragonfly.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_dragonfly.go)9
-rw-r--r--vendor/golang.org/x/sys/unix/types_freebsd.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_freebsd.go)21
-rw-r--r--vendor/golang.org/x/sys/unix/types_netbsd.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_netbsd.go)9
-rw-r--r--vendor/golang.org/x/sys/unix/types_openbsd.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_openbsd.go)9
-rw-r--r--vendor/golang.org/x/sys/unix/types_solaris.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_solaris.go)15
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_386.go1673
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go1673
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go1673
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go1673
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_386.go)98
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go1706
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go1707
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go1715
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_386.go2231
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go2232
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm.go2236
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go2222
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips.go2241
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go2241
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go2241
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go2241
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go2294
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go2294
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go2293
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go2142
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go1712
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go1702
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go1691
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go1584
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go1583
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go1586
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go1483
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go1609
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go1609
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go1609
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go1609
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go1440
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go1877
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go1877
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go1877
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_386.go1953
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go2146
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go2055
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go2029
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go2111
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go2105
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go2105
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go2111
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go2157
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go2157
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go1937
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go1833
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go1346
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go1346
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go1346
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_386.go)292
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go1404
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go1404
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go1588
-rw-r--r--vendor/golang.org/x/sys/unix/zsysctl_openbsd.go270
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go398
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go398
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go426
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go426
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_386.go)23
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go353
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go353
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go353
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_386.go390
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go342
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go362
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go286
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go375
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go335
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go335
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go375
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go370
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go370
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go333
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go348
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go274
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go274
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go274
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go207
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go207
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go213
-rw-r--r--vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go13
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_386.go462
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go472
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go463
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go471
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go (renamed from vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_386.go)173
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go521
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go524
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go524
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_386.go793
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go811
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm.go782
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go790
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips.go787
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go792
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go792
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go787
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go800
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go800
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go817
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go666
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go401
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go408
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go406
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go446
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go453
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go439
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go442
-rw-r--r--vendor/golang.org/x/sys/windows/asm_windows_386.s13
-rw-r--r--vendor/golang.org/x/sys/windows/asm_windows_amd64.s13
-rw-r--r--vendor/golang.org/x/sys/windows/dll_windows.go377
-rw-r--r--vendor/golang.org/x/sys/windows/env_unset.go15
-rw-r--r--vendor/golang.org/x/sys/windows/env_windows.go25
-rw-r--r--vendor/golang.org/x/sys/windows/eventlog.go20
-rw-r--r--vendor/golang.org/x/sys/windows/exec_windows.go97
-rw-r--r--vendor/golang.org/x/sys/windows/memory_windows.go26
-rw-r--r--vendor/golang.org/x/sys/windows/mksyscall.go7
-rw-r--r--vendor/golang.org/x/sys/windows/race.go30
-rw-r--r--vendor/golang.org/x/sys/windows/race0.go25
-rw-r--r--vendor/golang.org/x/sys/windows/registry/export_test.go11
-rw-r--r--vendor/golang.org/x/sys/windows/registry/key.go200
-rw-r--r--vendor/golang.org/x/sys/windows/registry/mksyscall.go7
-rw-r--r--vendor/golang.org/x/sys/windows/registry/registry_test.go756
-rw-r--r--vendor/golang.org/x/sys/windows/registry/syscall.go32
-rw-r--r--vendor/golang.org/x/sys/windows/registry/value.go384
-rw-r--r--vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go120
-rw-r--r--vendor/golang.org/x/sys/windows/security_windows.go435
-rw-r--r--vendor/golang.org/x/sys/windows/service.go164
-rw-r--r--vendor/golang.org/x/sys/windows/str.go22
-rw-r--r--vendor/golang.org/x/sys/windows/svc/debug/log.go56
-rw-r--r--vendor/golang.org/x/sys/windows/svc/debug/service.go45
-rw-r--r--vendor/golang.org/x/sys/windows/svc/event.go48
-rw-r--r--vendor/golang.org/x/sys/windows/svc/eventlog/install.go80
-rw-r--r--vendor/golang.org/x/sys/windows/svc/eventlog/log.go70
-rw-r--r--vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go51
-rw-r--r--vendor/golang.org/x/sys/windows/svc/example/beep.go22
-rw-r--r--vendor/golang.org/x/sys/windows/svc/example/install.go92
-rw-r--r--vendor/golang.org/x/sys/windows/svc/example/main.go76
-rw-r--r--vendor/golang.org/x/sys/windows/svc/example/manage.go62
-rw-r--r--vendor/golang.org/x/sys/windows/svc/example/service.go82
-rw-r--r--vendor/golang.org/x/sys/windows/svc/go12.c24
-rw-r--r--vendor/golang.org/x/sys/windows/svc/go12.go11
-rw-r--r--vendor/golang.org/x/sys/windows/svc/go13.go31
-rw-r--r--vendor/golang.org/x/sys/windows/svc/mgr/config.go139
-rw-r--r--vendor/golang.org/x/sys/windows/svc/mgr/mgr.go162
-rw-r--r--vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go169
-rw-r--r--vendor/golang.org/x/sys/windows/svc/mgr/service.go72
-rw-r--r--vendor/golang.org/x/sys/windows/svc/security.go62
-rw-r--r--vendor/golang.org/x/sys/windows/svc/service.go363
-rw-r--r--vendor/golang.org/x/sys/windows/svc/svc_test.go118
-rw-r--r--vendor/golang.org/x/sys/windows/svc/sys_386.s68
-rw-r--r--vendor/golang.org/x/sys/windows/svc/sys_amd64.s42
-rw-r--r--vendor/golang.org/x/sys/windows/syscall.go71
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_test.go33
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_windows.go1009
-rw-r--r--vendor/golang.org/x/sys/windows/syscall_windows_test.go107
-rw-r--r--vendor/golang.org/x/sys/windows/types_windows.go1282
-rw-r--r--vendor/golang.org/x/sys/windows/types_windows_386.go22
-rw-r--r--vendor/golang.org/x/sys/windows/types_windows_amd64.go22
-rw-r--r--vendor/golang.org/x/sys/windows/zsyscall_windows.go2428
1566 files changed, 570123 insertions, 53873 deletions
diff --git a/glide.lock b/glide.lock
index 45993fa4..3382aa63 100644
--- a/glide.lock
+++ b/glide.lock
@@ -1,10 +1,12 @@
-hash: c087217723357297929efa9631b59df1fa900afaf4ce4be8ee947931dcdb524d
-updated: 2017-08-07T13:32:37.989883807+02:00
+hash: be35bd4738eaa3a323d88bcfd008850cd80d8e952fa1dcb99d8ecf2b391c04fd
+updated: 2017-09-15T09:58:54.522036191+02:00
imports:
- name: github.com/apparentlymart/go-cidr
version: 2bd8b58cf4275aeb086ade613de226773e29e853
subpackages:
- cidr
+- name: github.com/armon/go-radix
+ version: 1fca145dffbcaa8fe914309b1ec0cfc67500fe61
- name: github.com/aws/aws-sdk-go
version: 07a12acf062c74aacf99ed8a6a4ee1bc52ab1627
subpackages:
@@ -37,12 +39,14 @@ imports:
version: 9fd32a8b3d3d3f9d43c341bfe098430e07609480
subpackages:
- netrc
+- name: github.com/bgentry/speakeasy
+ version: 4aabc24848ce5fd31929f7d1e4ea74d3709c14cd
- name: github.com/blang/semver
version: 2ee87856327ba09384cabd113bc6b5d174e9ec0f
- name: github.com/c4milo/gotoolkit
version: e37eeabad07ed8fbe83a0b222c963c480394f033
- name: github.com/davecgh/go-spew
- version: adab96458c51a58dc1783b3335dcce5461522e75
+ version: 346938d642f2ec3594ed81d874461961cd0faa76
subpackages:
- spew
- name: github.com/go-ini/ini
@@ -93,7 +97,7 @@ imports:
- name: github.com/hashicorp/logutils
version: 0dc08b1671f34c4250ce212759ebd880f743d883
- name: github.com/hashicorp/terraform
- version: 2041053ee9444fa8175a298093b55a89586a1823
+ version: a1d06eb97378d097d4175c3284ea026937618477
subpackages:
- config
- config/module
@@ -114,15 +118,19 @@ imports:
- name: github.com/hashicorp/yamux
version: d1caa6c97c9fc1cc9e83bbe34d0603f9ff0ce8bd
- name: github.com/hooklift/iso9660
- version: cdba112a03a125329ec2dc17ed1543e28f998e51
+ version: d6245ab24065917ac16be2ff10ddd3934f41fe54
- name: github.com/imdario/mergo
- version: e3000cb3d28c72b837601cac94debd91032d19fe
+ version: 3e95a51e0639b4cf372f2ccf74c86749d747fbdc
- name: github.com/jmespath/go-jmespath
version: bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d
- name: github.com/libvirt/libvirt-go
- version: 664b6d217e029ce5ad3094a8c2202c202b213d06
+ version: 0822ea6d658d7a0deeaa2ce63ed3efd6306bee03
- name: github.com/libvirt/libvirt-go-xml
- version: 83a754119fc7239caffd1f50e08cb13b1b3825ef
+ version: 0d3f72161e0d970116a2a66256e9dd445b6eeb23
+- name: github.com/mattn/go-isatty
+ version: fc9e8d8ef48496124e79ae0df75490096eccf6fe
+- name: github.com/mitchellh/cli
+ version: 65fcae5817c8600da98ada9d7edf26dd1a84837b
- name: github.com/mitchellh/copystructure
version: d23ffcb85de31694d6ccaa23ccb4a03e55c1303f
- name: github.com/mitchellh/go-homedir
@@ -134,11 +142,17 @@ imports:
- name: github.com/mitchellh/mapstructure
version: d0303fe809921458f417bcf828397a65db30a7e4
- name: github.com/mitchellh/packer
- version: c96c15427248cae88af899b678908644d92d04ac
+ version: 84b9b07901fabfeab1325eb2d8d207aeefa944c7
subpackages:
- common/uuid
- name: github.com/mitchellh/reflectwalk
version: 63d60e9d0dbc60cf9164e6510889b0db6683d98c
+- name: github.com/posener/complete
+ version: 88e59760adaddb8276c9b15511302890690e2dae
+ subpackages:
+ - cmd
+ - cmd/install
+ - match
- name: github.com/satori/go.uuid
version: 5bf94b69c6b68ee1b541973bb8e1144db23a194b
- name: github.com/ulikunitz/xz
@@ -171,6 +185,10 @@ imports:
- internal/timeseries
- lex/httplex
- trace
+- name: golang.org/x/sys
+ version: 062cd7e4e68206d8bab9b18396626e855c992658
+ subpackages:
+ - unix
- name: golang.org/x/text
version: 3bd178b88a8180be2df394a1fbb81313916f0e7b
subpackages:
diff --git a/glide.yaml b/glide.yaml
index b7613906..ff40d1bb 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -1,18 +1,22 @@
package: github.com/dmacvicar/terraform-provider-libvirt
import:
- package: github.com/davecgh/go-spew
+ version: ^1.1.0
subpackages:
- spew
- package: github.com/hashicorp/terraform
- version: ~0.10.0
+ version: 0.10.2
subpackages:
- helper/resource
- helper/schema
- plugin
- terraform
- package: github.com/hooklift/iso9660
+ version: ^1.0.0
- package: github.com/imdario/mergo
+ version: ~0.2.2
- package: github.com/mitchellh/packer
+ version: ^1.1.0
subpackages:
- common/uuid
- package: gopkg.in/yaml.v2
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/.gitignore b/vendor/github.com/armon/go-radix/.gitignore
index 75eab1e6..00268614 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/.gitignore
+++ b/vendor/github.com/armon/go-radix/.gitignore
@@ -20,14 +20,3 @@ _cgo_export.*
_testmain.go
*.exe
-*.test
-*.prof
-/.idea/
-.idea/compiler.xml
-.idea/copyright/
-.idea/encodings.xml
-.idea/misc.xml
-.idea/modules.xml
-.idea/profitbricks-sdk-go.iml
-.idea/vcs.xml
-.idea/workspace.xml
diff --git a/vendor/github.com/armon/go-radix/.travis.yml b/vendor/github.com/armon/go-radix/.travis.yml
new file mode 100644
index 00000000..1a0bbea6
--- /dev/null
+++ b/vendor/github.com/armon/go-radix/.travis.yml
@@ -0,0 +1,3 @@
+language: go
+go:
+ - tip
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/LICENSE b/vendor/github.com/armon/go-radix/LICENSE
index 106569e5..a5df10e6 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/LICENSE
+++ b/vendor/github.com/armon/go-radix/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2013 Armon Dadgar
+Copyright (c) 2014 Armon Dadgar
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
diff --git a/vendor/github.com/armon/go-radix/README.md b/vendor/github.com/armon/go-radix/README.md
new file mode 100644
index 00000000..26f42a28
--- /dev/null
+++ b/vendor/github.com/armon/go-radix/README.md
@@ -0,0 +1,38 @@
+go-radix [![Build Status](https://travis-ci.org/armon/go-radix.png)](https://travis-ci.org/armon/go-radix)
+=========
+
+Provides the `radix` package that implements a [radix tree](http://en.wikipedia.org/wiki/Radix_tree).
+The package only provides a single `Tree` implementation, optimized for sparse nodes.
+
+As a radix tree, it provides the following:
+ * O(k) operations. In many cases, this can be faster than a hash table since
+ the hash function is an O(k) operation, and hash tables have very poor cache locality.
+ * Minimum / Maximum value lookups
+ * Ordered iteration
+
+For an immutable variant, see [go-immutable-radix](https://github.com/hashicorp/go-immutable-radix).
+
+Documentation
+=============
+
+The full documentation is available on [Godoc](http://godoc.org/github.com/armon/go-radix).
+
+Example
+=======
+
+Below is a simple example of usage
+
+```go
+// Create a tree
+r := radix.New()
+r.Insert("foo", 1)
+r.Insert("bar", 2)
+r.Insert("foobar", 2)
+
+// Find the longest prefix match
+m, _, _ := r.LongestPrefix("foozip")
+if m != "foo" {
+ panic("should be foo")
+}
+```
+
diff --git a/vendor/github.com/armon/go-radix/radix.go b/vendor/github.com/armon/go-radix/radix.go
new file mode 100644
index 00000000..f9655a12
--- /dev/null
+++ b/vendor/github.com/armon/go-radix/radix.go
@@ -0,0 +1,543 @@
+package radix
+
+import (
+ "sort"
+ "strings"
+)
+
+// WalkFn is used when walking the tree. Takes a
+// key and value, returning if iteration should
+// be terminated.
+type WalkFn func(s string, v interface{}) bool
+
+// leafNode is used to represent a value
+type leafNode struct {
+ key string
+ val interface{}
+}
+
+// edge is used to represent an edge node
+type edge struct {
+ label byte
+ node *node
+}
+
+type node struct {
+ // leaf is used to store possible leaf
+ leaf *leafNode
+
+ // prefix is the common prefix we ignore
+ prefix string
+
+ // Edges should be stored in-order for iteration.
+ // We avoid a fully materialized slice to save memory,
+ // since in most cases we expect to be sparse
+ edges edges
+}
+
+func (n *node) isLeaf() bool {
+ return n.leaf != nil
+}
+
+func (n *node) addEdge(e edge) {
+ n.edges = append(n.edges, e)
+ n.edges.Sort()
+}
+
+func (n *node) replaceEdge(e edge) {
+ num := len(n.edges)
+ idx := sort.Search(num, func(i int) bool {
+ return n.edges[i].label >= e.label
+ })
+ if idx < num && n.edges[idx].label == e.label {
+ n.edges[idx].node = e.node
+ return
+ }
+ panic("replacing missing edge")
+}
+
+func (n *node) getEdge(label byte) *node {
+ num := len(n.edges)
+ idx := sort.Search(num, func(i int) bool {
+ return n.edges[i].label >= label
+ })
+ if idx < num && n.edges[idx].label == label {
+ return n.edges[idx].node
+ }
+ return nil
+}
+
+func (n *node) delEdge(label byte) {
+ num := len(n.edges)
+ idx := sort.Search(num, func(i int) bool {
+ return n.edges[i].label >= label
+ })
+ if idx < num && n.edges[idx].label == label {
+ copy(n.edges[idx:], n.edges[idx+1:])
+ n.edges[len(n.edges)-1] = edge{}
+ n.edges = n.edges[:len(n.edges)-1]
+ }
+}
+
+type edges []edge
+
+func (e edges) Len() int {
+ return len(e)
+}
+
+func (e edges) Less(i, j int) bool {
+ return e[i].label < e[j].label
+}
+
+func (e edges) Swap(i, j int) {
+ e[i], e[j] = e[j], e[i]
+}
+
+func (e edges) Sort() {
+ sort.Sort(e)
+}
+
+// Tree implements a radix tree. This can be treated as a
+// Dictionary abstract data type. The main advantage over
+// a standard hash map is prefix-based lookups and
+// ordered iteration,
+type Tree struct {
+ root *node
+ size int
+}
+
+// New returns an empty Tree
+func New() *Tree {
+ return NewFromMap(nil)
+}
+
+// NewFromMap returns a new tree containing the keys
+// from an existing map
+func NewFromMap(m map[string]interface{}) *Tree {
+ t := &Tree{root: &node{}}
+ for k, v := range m {
+ t.Insert(k, v)
+ }
+ return t
+}
+
+// Len is used to return the number of elements in the tree
+func (t *Tree) Len() int {
+ return t.size
+}
+
+// longestPrefix finds the length of the shared prefix
+// of two strings
+func longestPrefix(k1, k2 string) int {
+ max := len(k1)
+ if l := len(k2); l < max {
+ max = l
+ }
+ var i int
+ for i = 0; i < max; i++ {
+ if k1[i] != k2[i] {
+ break
+ }
+ }
+ return i
+}
+
+// Insert is used to add a newentry or update
+// an existing entry. Returns if updated.
+func (t *Tree) Insert(s string, v interface{}) (interface{}, bool) {
+ var parent *node
+ n := t.root
+ search := s
+ for {
+ // Handle key exhaution
+ if len(search) == 0 {
+ if n.isLeaf() {
+ old := n.leaf.val
+ n.leaf.val = v
+ return old, true
+ }
+
+ n.leaf = &leafNode{
+ key: s,
+ val: v,
+ }
+ t.size++
+ return nil, false
+ }
+
+ // Look for the edge
+ parent = n
+ n = n.getEdge(search[0])
+
+ // No edge, create one
+ if n == nil {
+ e := edge{
+ label: search[0],
+ node: &node{
+ leaf: &leafNode{
+ key: s,
+ val: v,
+ },
+ prefix: search,
+ },
+ }
+ parent.addEdge(e)
+ t.size++
+ return nil, false
+ }
+
+ // Determine longest prefix of the search key on match
+ commonPrefix := longestPrefix(search, n.prefix)
+ if commonPrefix == len(n.prefix) {
+ search = search[commonPrefix:]
+ continue
+ }
+
+ // Split the node
+ t.size++
+ child := &node{
+ prefix: search[:commonPrefix],
+ }
+ parent.replaceEdge(edge{
+ label: search[0],
+ node: child,
+ })
+
+ // Restore the existing node
+ child.addEdge(edge{
+ label: n.prefix[commonPrefix],
+ node: n,
+ })
+ n.prefix = n.prefix[commonPrefix:]
+
+ // Create a new leaf node
+ leaf := &leafNode{
+ key: s,
+ val: v,
+ }
+
+ // If the new key is a subset, add to to this node
+ search = search[commonPrefix:]
+ if len(search) == 0 {
+ child.leaf = leaf
+ return nil, false
+ }
+
+ // Create a new edge for the node
+ child.addEdge(edge{
+ label: search[0],
+ node: &node{
+ leaf: leaf,
+ prefix: search,
+ },
+ })
+ return nil, false
+ }
+}
+
+// Delete is used to delete a key, returning the previous
+// value and if it was deleted
+func (t *Tree) Delete(s string) (interface{}, bool) {
+ var parent *node
+ var label byte
+ n := t.root
+ search := s
+ for {
+ // Check for key exhaution
+ if len(search) == 0 {
+ if !n.isLeaf() {
+ break
+ }
+ goto DELETE
+ }
+
+ // Look for an edge
+ parent = n
+ label = search[0]
+ n = n.getEdge(label)
+ if n == nil {
+ break
+ }
+
+ // Consume the search prefix
+ if strings.HasPrefix(search, n.prefix) {
+ search = search[len(n.prefix):]
+ } else {
+ break
+ }
+ }
+ return nil, false
+
+DELETE:
+ // Delete the leaf
+ leaf := n.leaf
+ n.leaf = nil
+ t.size--
+
+ // Check if we should delete this node from the parent
+ if parent != nil && len(n.edges) == 0 {
+ parent.delEdge(label)
+ }
+
+ // Check if we should merge this node
+ if n != t.root && len(n.edges) == 1 {
+ n.mergeChild()
+ }
+
+ // Check if we should merge the parent's other child
+ if parent != nil && parent != t.root && len(parent.edges) == 1 && !parent.isLeaf() {
+ parent.mergeChild()
+ }
+
+ return leaf.val, true
+}
+
+// DeletePrefix is used to delete the subtree under a prefix
+// Returns how many nodes were deleted
+// Use this to delete large subtrees efficiently
+func (t *Tree) DeletePrefix(s string) int {
+ return t.deletePrefix(nil, t.root, s)
+}
+
+// delete does a recursive deletion
+func (t *Tree) deletePrefix(parent, n *node, prefix string) int {
+ // Check for key exhaustion
+ if len(prefix) == 0 {
+ // Remove the leaf node
+ subTreeSize := 0
+ //recursively walk from all edges of the node to be deleted
+ recursiveWalk(n, func(s string, v interface{}) bool {
+ subTreeSize++
+ return false
+ })
+ if n.isLeaf() {
+ n.leaf = nil
+ }
+ n.edges = nil // deletes the entire subtree
+
+ // Check if we should merge the parent's other child
+ if parent != nil && parent != t.root && len(parent.edges) == 1 && !parent.isLeaf() {
+ parent.mergeChild()
+ }
+ t.size -= subTreeSize
+ return subTreeSize
+ }
+
+ // Look for an edge
+ label := prefix[0]
+ child := n.getEdge(label)
+ if child == nil || (!strings.HasPrefix(child.prefix, prefix) && !strings.HasPrefix(prefix, child.prefix)) {
+ return 0
+ }
+
+ // Consume the search prefix
+ if len(child.prefix) > len(prefix) {
+ prefix = prefix[len(prefix):]
+ } else {
+ prefix = prefix[len(child.prefix):]
+ }
+ return t.deletePrefix(n, child, prefix)
+}
+
+func (n *node) mergeChild() {
+ e := n.edges[0]
+ child := e.node
+ n.prefix = n.prefix + child.prefix
+ n.leaf = child.leaf
+ n.edges = child.edges
+}
+
+// Get is used to lookup a specific key, returning
+// the value and if it was found
+func (t *Tree) Get(s string) (interface{}, bool) {
+ n := t.root
+ search := s
+ for {
+ // Check for key exhaution
+ if len(search) == 0 {
+ if n.isLeaf() {
+ return n.leaf.val, true
+ }
+ break
+ }
+
+ // Look for an edge
+ n = n.getEdge(search[0])
+ if n == nil {
+ break
+ }
+
+ // Consume the search prefix
+ if strings.HasPrefix(search, n.prefix) {
+ search = search[len(n.prefix):]
+ } else {
+ break
+ }
+ }
+ return nil, false
+}
+
+// LongestPrefix is like Get, but instead of an
+// exact match, it will return the longest prefix match.
+func (t *Tree) LongestPrefix(s string) (string, interface{}, bool) {
+ var last *leafNode
+ n := t.root
+ search := s
+ for {
+ // Look for a leaf node
+ if n.isLeaf() {
+ last = n.leaf
+ }
+
+ // Check for key exhaution
+ if len(search) == 0 {
+ break
+ }
+
+ // Look for an edge
+ n = n.getEdge(search[0])
+ if n == nil {
+ break
+ }
+
+ // Consume the search prefix
+ if strings.HasPrefix(search, n.prefix) {
+ search = search[len(n.prefix):]
+ } else {
+ break
+ }
+ }
+ if last != nil {
+ return last.key, last.val, true
+ }
+ return "", nil, false
+}
+
+// Minimum is used to return the minimum value in the tree
+func (t *Tree) Minimum() (string, interface{}, bool) {
+ n := t.root
+ for {
+ if n.isLeaf() {
+ return n.leaf.key, n.leaf.val, true
+ }
+ if len(n.edges) > 0 {
+ n = n.edges[0].node
+ } else {
+ break
+ }
+ }
+ return "", nil, false
+}
+
+// Maximum is used to return the maximum value in the tree
+func (t *Tree) Maximum() (string, interface{}, bool) {
+ n := t.root
+ for {
+ if num := len(n.edges); num > 0 {
+ n = n.edges[num-1].node
+ continue
+ }
+ if n.isLeaf() {
+ return n.leaf.key, n.leaf.val, true
+ }
+ break
+ }
+ return "", nil, false
+}
+
+// Walk is used to walk the tree
+func (t *Tree) Walk(fn WalkFn) {
+ recursiveWalk(t.root, fn)
+}
+
+// WalkPrefix is used to walk the tree under a prefix
+func (t *Tree) WalkPrefix(prefix string, fn WalkFn) {
+ n := t.root
+ search := prefix
+ for {
+ // Check for key exhaution
+ if len(search) == 0 {
+ recursiveWalk(n, fn)
+ return
+ }
+
+ // Look for an edge
+ n = n.getEdge(search[0])
+ if n == nil {
+ break
+ }
+
+ // Consume the search prefix
+ if strings.HasPrefix(search, n.prefix) {
+ search = search[len(n.prefix):]
+
+ } else if strings.HasPrefix(n.prefix, search) {
+ // Child may be under our search prefix
+ recursiveWalk(n, fn)
+ return
+ } else {
+ break
+ }
+ }
+
+}
+
+// WalkPath is used to walk the tree, but only visiting nodes
+// from the root down to a given leaf. Where WalkPrefix walks
+// all the entries *under* the given prefix, this walks the
+// entries *above* the given prefix.
+func (t *Tree) WalkPath(path string, fn WalkFn) {
+ n := t.root
+ search := path
+ for {
+ // Visit the leaf values if any
+ if n.leaf != nil && fn(n.leaf.key, n.leaf.val) {
+ return
+ }
+
+ // Check for key exhaution
+ if len(search) == 0 {
+ return
+ }
+
+ // Look for an edge
+ n = n.getEdge(search[0])
+ if n == nil {
+ return
+ }
+
+ // Consume the search prefix
+ if strings.HasPrefix(search, n.prefix) {
+ search = search[len(n.prefix):]
+ } else {
+ break
+ }
+ }
+}
+
+// recursiveWalk is used to do a pre-order walk of a node
+// recursively. Returns true if the walk should be aborted
+func recursiveWalk(n *node, fn WalkFn) bool {
+ // Visit the leaf values if any
+ if n.leaf != nil && fn(n.leaf.key, n.leaf.val) {
+ return true
+ }
+
+ // Recurse on the children
+ for _, e := range n.edges {
+ if recursiveWalk(e.node, fn) {
+ return true
+ }
+ }
+ return false
+}
+
+// ToMap is used to walk the tree and convert it into a map
+func (t *Tree) ToMap() map[string]interface{} {
+ out := make(map[string]interface{}, t.size)
+ t.Walk(func(k string, v interface{}) bool {
+ out[k] = v
+ return false
+ })
+ return out
+}
diff --git a/vendor/github.com/armon/go-radix/radix_test.go b/vendor/github.com/armon/go-radix/radix_test.go
new file mode 100644
index 00000000..a7a4eab3
--- /dev/null
+++ b/vendor/github.com/armon/go-radix/radix_test.go
@@ -0,0 +1,359 @@
+package radix
+
+import (
+ crand "crypto/rand"
+ "fmt"
+ "reflect"
+ "sort"
+ "testing"
+)
+
+func TestRadix(t *testing.T) {
+ var min, max string
+ inp := make(map[string]interface{})
+ for i := 0; i < 1000; i++ {
+ gen := generateUUID()
+ inp[gen] = i
+ if gen < min || i == 0 {
+ min = gen
+ }
+ if gen > max || i == 0 {
+ max = gen
+ }
+ }
+
+ r := NewFromMap(inp)
+ if r.Len() != len(inp) {
+ t.Fatalf("bad length: %v %v", r.Len(), len(inp))
+ }
+
+ r.Walk(func(k string, v interface{}) bool {
+ println(k)
+ return false
+ })
+
+ for k, v := range inp {
+ out, ok := r.Get(k)
+ if !ok {
+ t.Fatalf("missing key: %v", k)
+ }
+ if out != v {
+ t.Fatalf("value mis-match: %v %v", out, v)
+ }
+ }
+
+ // Check min and max
+ outMin, _, _ := r.Minimum()
+ if outMin != min {
+ t.Fatalf("bad minimum: %v %v", outMin, min)
+ }
+ outMax, _, _ := r.Maximum()
+ if outMax != max {
+ t.Fatalf("bad maximum: %v %v", outMax, max)
+ }
+
+ for k, v := range inp {
+ out, ok := r.Delete(k)
+ if !ok {
+ t.Fatalf("missing key: %v", k)
+ }
+ if out != v {
+ t.Fatalf("value mis-match: %v %v", out, v)
+ }
+ }
+ if r.Len() != 0 {
+ t.Fatalf("bad length: %v", r.Len())
+ }
+}
+
+func TestRoot(t *testing.T) {
+ r := New()
+ _, ok := r.Delete("")
+ if ok {
+ t.Fatalf("bad")
+ }
+ _, ok = r.Insert("", true)
+ if ok {
+ t.Fatalf("bad")
+ }
+ val, ok := r.Get("")
+ if !ok || val != true {
+ t.Fatalf("bad: %v", val)
+ }
+ val, ok = r.Delete("")
+ if !ok || val != true {
+ t.Fatalf("bad: %v", val)
+ }
+}
+
+func TestDelete(t *testing.T) {
+
+ r := New()
+
+ s := []string{"", "A", "AB"}
+
+ for _, ss := range s {
+ r.Insert(ss, true)
+ }
+
+ for _, ss := range s {
+ _, ok := r.Delete(ss)
+ if !ok {
+ t.Fatalf("bad %q", ss)
+ }
+ }
+}
+
+func TestDeletePrefix(t *testing.T) {
+ type exp struct {
+ inp[] string
+ prefix string
+ out[] string
+ numDeleted int
+ }
+
+ cases := []exp{
+ {[]string{"", "A", "AB", "ABC", "R", "S"}, "A", []string{"", "R", "S"}, 3},
+ {[]string{"", "A", "AB", "ABC", "R", "S"}, "ABC", []string{"", "A", "AB", "R", "S"}, 1},
+ {[]string{"", "A", "AB", "ABC", "R", "S"}, "", []string{}, 6},
+ {[]string{"", "A", "AB", "ABC", "R", "S"}, "S", []string{"", "A", "AB", "ABC", "R"}, 1},
+ {[]string{"", "A", "AB", "ABC", "R", "S"}, "SS", []string{"", "A", "AB", "ABC", "R", "S"}, 0},
+ }
+
+ for _, test := range cases {
+ r := New()
+ for _, ss := range test.inp {
+ r.Insert(ss, true)
+ }
+
+ deleted := r.DeletePrefix(test.prefix)
+ if deleted != test.numDeleted {
+ t.Fatalf("Bad delete, expected %v to be deleted but got %v", test.numDeleted, deleted)
+ }
+
+ out := []string{}
+ fn := func(s string, v interface{}) bool {
+ out = append(out, s)
+ return false
+ }
+ r.Walk(fn)
+
+ if !reflect.DeepEqual(out, test.out) {
+ t.Fatalf("mis-match: %v %v", out, test.out)
+ }
+ }
+}
+
+func TestLongestPrefix(t *testing.T) {
+ r := New()
+
+ keys := []string{
+ "",
+ "foo",
+ "foobar",
+ "foobarbaz",
+ "foobarbazzip",
+ "foozip",
+ }
+ for _, k := range keys {
+ r.Insert(k, nil)
+ }
+ if r.Len() != len(keys) {
+ t.Fatalf("bad len: %v %v", r.Len(), len(keys))
+ }
+
+ type exp struct {
+ inp string
+ out string
+ }
+ cases := []exp{
+ {"a", ""},
+ {"abc", ""},
+ {"fo", ""},
+ {"foo", "foo"},
+ {"foob", "foo"},
+ {"foobar", "foobar"},
+ {"foobarba", "foobar"},
+ {"foobarbaz", "foobarbaz"},
+ {"foobarbazzi", "foobarbaz"},
+ {"foobarbazzip", "foobarbazzip"},
+ {"foozi", "foo"},
+ {"foozip", "foozip"},
+ {"foozipzap", "foozip"},
+ }
+ for _, test := range cases {
+ m, _, ok := r.LongestPrefix(test.inp)
+ if !ok {
+ t.Fatalf("no match: %v", test)
+ }
+ if m != test.out {
+ t.Fatalf("mis-match: %v %v", m, test)
+ }
+ }
+}
+
+func TestWalkPrefix(t *testing.T) {
+ r := New()
+
+ keys := []string{
+ "foobar",
+ "foo/bar/baz",
+ "foo/baz/bar",
+ "foo/zip/zap",
+ "zipzap",
+ }
+ for _, k := range keys {
+ r.Insert(k, nil)
+ }
+ if r.Len() != len(keys) {
+ t.Fatalf("bad len: %v %v", r.Len(), len(keys))
+ }
+
+ type exp struct {
+ inp string
+ out []string
+ }
+ cases := []exp{
+ {
+ "f",
+ []string{"foobar", "foo/bar/baz", "foo/baz/bar", "foo/zip/zap"},
+ },
+ {
+ "foo",
+ []string{"foobar", "foo/bar/baz", "foo/baz/bar", "foo/zip/zap"},
+ },
+ {
+ "foob",
+ []string{"foobar"},
+ },
+ {
+ "foo/",
+ []string{"foo/bar/baz", "foo/baz/bar", "foo/zip/zap"},
+ },
+ {
+ "foo/b",
+ []string{"foo/bar/baz", "foo/baz/bar"},
+ },
+ {
+ "foo/ba",
+ []string{"foo/bar/baz", "foo/baz/bar"},
+ },
+ {
+ "foo/bar",
+ []string{"foo/bar/baz"},
+ },
+ {
+ "foo/bar/baz",
+ []string{"foo/bar/baz"},
+ },
+ {
+ "foo/bar/bazoo",
+ []string{},
+ },
+ {
+ "z",
+ []string{"zipzap"},
+ },
+ }
+
+ for _, test := range cases {
+ out := []string{}
+ fn := func(s string, v interface{}) bool {
+ out = append(out, s)
+ return false
+ }
+ r.WalkPrefix(test.inp, fn)
+ sort.Strings(out)
+ sort.Strings(test.out)
+ if !reflect.DeepEqual(out, test.out) {
+ t.Fatalf("mis-match: %v %v", out, test.out)
+ }
+ }
+}
+
+func TestWalkPath(t *testing.T) {
+ r := New()
+
+ keys := []string{
+ "foo",
+ "foo/bar",
+ "foo/bar/baz",
+ "foo/baz/bar",
+ "foo/zip/zap",
+ "zipzap",
+ }
+ for _, k := range keys {
+ r.Insert(k, nil)
+ }
+ if r.Len() != len(keys) {
+ t.Fatalf("bad len: %v %v", r.Len(), len(keys))
+ }
+
+ type exp struct {
+ inp string
+ out []string
+ }
+ cases := []exp{
+ {
+ "f",
+ []string{},
+ },
+ {
+ "foo",
+ []string{"foo"},
+ },
+ {
+ "foo/",
+ []string{"foo"},
+ },
+ {
+ "foo/ba",
+ []string{"foo"},
+ },
+ {
+ "foo/bar",
+ []string{"foo", "foo/bar"},
+ },
+ {
+ "foo/bar/baz",
+ []string{"foo", "foo/bar", "foo/bar/baz"},
+ },
+ {
+ "foo/bar/bazoo",
+ []string{"foo", "foo/bar", "foo/bar/baz"},
+ },
+ {
+ "z",
+ []string{},
+ },
+ }
+
+ for _, test := range cases {
+ out := []string{}
+ fn := func(s string, v interface{}) bool {
+ out = append(out, s)
+ return false
+ }
+ r.WalkPath(test.inp, fn)
+ sort.Strings(out)
+ sort.Strings(test.out)
+ if !reflect.DeepEqual(out, test.out) {
+ t.Fatalf("mis-match: %v %v", out, test.out)
+ }
+ }
+}
+
+// generateUUID is used to generate a random UUID
+func generateUUID() string {
+ buf := make([]byte, 16)
+ if _, err := crand.Read(buf); err != nil {
+ panic(fmt.Errorf("failed to read random bytes: %v", err))
+ }
+
+ return fmt.Sprintf("%08x-%04x-%04x-%04x-%12x",
+ buf[0:4],
+ buf[4:6],
+ buf[6:8],
+ buf[8:10],
+ buf[10:16])
+}
diff --git a/vendor/github.com/bgentry/speakeasy/.gitignore b/vendor/github.com/bgentry/speakeasy/.gitignore
new file mode 100644
index 00000000..9e131146
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/.gitignore
@@ -0,0 +1,2 @@
+example/example
+example/example.exe
diff --git a/vendor/github.com/bgentry/speakeasy/LICENSE b/vendor/github.com/bgentry/speakeasy/LICENSE
new file mode 100644
index 00000000..37d60fc3
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/LICENSE
@@ -0,0 +1,24 @@
+MIT License
+
+Copyright (c) 2017 Blake Gentry
+
+This license applies to the non-Windows portions of this library. The Windows
+portion maintains its own Apache 2.0 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/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS b/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS
new file mode 100644
index 00000000..ff177f61
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/LICENSE_WINDOWS
@@ -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 [2013] [the CloudFoundry 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.
diff --git a/vendor/github.com/bgentry/speakeasy/Readme.md b/vendor/github.com/bgentry/speakeasy/Readme.md
new file mode 100644
index 00000000..fceda751
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/Readme.md
@@ -0,0 +1,30 @@
+# Speakeasy
+
+This package provides cross-platform Go (#golang) helpers for taking user input
+from the terminal while not echoing the input back (similar to `getpasswd`). The
+package uses syscalls to avoid any dependence on cgo, and is therefore
+compatible with cross-compiling.
+
+[![GoDoc](https://godoc.org/github.com/bgentry/speakeasy?status.png)][godoc]
+
+## Unicode
+
+Multi-byte unicode characters work successfully on Mac OS X. On Windows,
+however, this may be problematic (as is UTF in general on Windows). Other
+platforms have not been tested.
+
+## License
+
+The code herein was not written by me, but was compiled from two separate open
+source packages. Unix portions were imported from [gopass][gopass], while
+Windows portions were imported from the [CloudFoundry Go CLI][cf-cli]'s
+[Windows terminal helpers][cf-ui-windows].
+
+The [license for the windows portion](./LICENSE_WINDOWS) has been copied exactly
+from the source (though I attempted to fill in the correct owner in the
+boilerplate copyright notice).
+
+[cf-cli]: https://github.com/cloudfoundry/cli "CloudFoundry Go CLI"
+[cf-ui-windows]: https://github.com/cloudfoundry/cli/blob/master/src/cf/terminal/ui_windows.go "CloudFoundry Go CLI Windows input helpers"
+[godoc]: https://godoc.org/github.com/bgentry/speakeasy "speakeasy on Godoc.org"
+[gopass]: https://code.google.com/p/gopass "gopass"
diff --git a/vendor/github.com/bgentry/speakeasy/example/main.go b/vendor/github.com/bgentry/speakeasy/example/main.go
new file mode 100644
index 00000000..d71153a1
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/example/main.go
@@ -0,0 +1,18 @@
+package main
+
+import (
+ "fmt"
+ "os"
+
+ "github.com/bgentry/speakeasy"
+)
+
+func main() {
+ password, err := speakeasy.Ask("Please enter a password: ")
+ if err != nil {
+ fmt.Println(err)
+ os.Exit(1)
+ }
+ fmt.Printf("Password result: %q\n", password)
+ fmt.Printf("Password len: %d\n", len(password))
+}
diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy.go b/vendor/github.com/bgentry/speakeasy/speakeasy.go
new file mode 100644
index 00000000..71c1dd1b
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/speakeasy.go
@@ -0,0 +1,49 @@
+package speakeasy
+
+import (
+ "fmt"
+ "io"
+ "os"
+ "strings"
+)
+
+// Ask the user to enter a password with input hidden. prompt is a string to
+// display before the user's input. Returns the provided password, or an error
+// if the command failed.
+func Ask(prompt string) (password string, err error) {
+ return FAsk(os.Stdout, prompt)
+}
+
+// FAsk is the same as Ask, except it is possible to specify the file to write
+// the prompt to. If 'nil' is passed as the writer, no prompt will be written.
+func FAsk(wr io.Writer, prompt string) (password string, err error) {
+ if wr != nil && prompt != "" {
+ fmt.Fprint(wr, prompt) // Display the prompt.
+ }
+ password, err = getPassword()
+
+ // Carriage return after the user input.
+ if wr != nil {
+ fmt.Fprintln(wr, "")
+ }
+ return
+}
+
+func readline() (value string, err error) {
+ var valb []byte
+ var n int
+ b := make([]byte, 1)
+ for {
+ // read one byte at a time so we don't accidentally read extra bytes
+ n, err = os.Stdin.Read(b)
+ if err != nil && err != io.EOF {
+ return "", err
+ }
+ if n == 0 || b[0] == '\n' {
+ break
+ }
+ valb = append(valb, b[0])
+ }
+
+ return strings.TrimSuffix(string(valb), "\r"), nil
+}
diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go b/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go
new file mode 100644
index 00000000..d99fda19
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/speakeasy_unix.go
@@ -0,0 +1,93 @@
+// based on https://code.google.com/p/gopass
+// Author: johnsiilver@gmail.com (John Doak)
+//
+// Original code is based on code by RogerV in the golang-nuts thread:
+// https://groups.google.com/group/golang-nuts/browse_thread/thread/40cc41e9d9fc9247
+
+// +build darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package speakeasy
+
+import (
+ "fmt"
+ "os"
+ "os/signal"
+ "strings"
+ "syscall"
+)
+
+const sttyArg0 = "/bin/stty"
+
+var (
+ sttyArgvEOff = []string{"stty", "-echo"}
+ sttyArgvEOn = []string{"stty", "echo"}
+)
+
+// getPassword gets input hidden from the terminal from a user. This is
+// accomplished by turning off terminal echo, reading input from the user and
+// finally turning on terminal echo.
+func getPassword() (password string, err error) {
+ sig := make(chan os.Signal, 10)
+ brk := make(chan bool)
+
+ // File descriptors for stdin, stdout, and stderr.
+ fd := []uintptr{os.Stdin.Fd(), os.Stdout.Fd(), os.Stderr.Fd()}
+
+ // Setup notifications of termination signals to channel sig, create a process to
+ // watch for these signals so we can turn back on echo if need be.
+ signal.Notify(sig, syscall.SIGHUP, syscall.SIGINT, syscall.SIGKILL, syscall.SIGQUIT,
+ syscall.SIGTERM)
+ go catchSignal(fd, sig, brk)
+
+ // Turn off the terminal echo.
+ pid, err := echoOff(fd)
+ if err != nil {
+ return "", err
+ }
+
+ // Turn on the terminal echo and stop listening for signals.
+ defer signal.Stop(sig)
+ defer close(brk)
+ defer echoOn(fd)
+
+ syscall.Wait4(pid, nil, 0, nil)
+
+ line, err := readline()
+ if err == nil {
+ password = strings.TrimSpace(line)
+ } else {
+ err = fmt.Errorf("failed during password entry: %s", err)
+ }
+
+ return password, err
+}
+
+// echoOff turns off the terminal echo.
+func echoOff(fd []uintptr) (int, error) {
+ pid, err := syscall.ForkExec(sttyArg0, sttyArgvEOff, &syscall.ProcAttr{Dir: "", Files: fd})
+ if err != nil {
+ return 0, fmt.Errorf("failed turning off console echo for password entry:\n\t%s", err)
+ }
+ return pid, nil
+}
+
+// echoOn turns back on the terminal echo.
+func echoOn(fd []uintptr) {
+ // Turn on the terminal echo.
+ pid, e := syscall.ForkExec(sttyArg0, sttyArgvEOn, &syscall.ProcAttr{Dir: "", Files: fd})
+ if e == nil {
+ syscall.Wait4(pid, nil, 0, nil)
+ }
+}
+
+// catchSignal tries to catch SIGKILL, SIGQUIT and SIGINT so that we can turn
+// terminal echo back on before the program ends. Otherwise the user is left
+// with echo off on their terminal.
+func catchSignal(fd []uintptr, sig chan os.Signal, brk chan bool) {
+ select {
+ case <-sig:
+ echoOn(fd)
+ os.Exit(-1)
+ case <-brk:
+ }
+}
diff --git a/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go
new file mode 100644
index 00000000..c2093a80
--- /dev/null
+++ b/vendor/github.com/bgentry/speakeasy/speakeasy_windows.go
@@ -0,0 +1,41 @@
+// +build windows
+
+package speakeasy
+
+import (
+ "syscall"
+)
+
+// SetConsoleMode function can be used to change value of ENABLE_ECHO_INPUT:
+// http://msdn.microsoft.com/en-us/library/windows/desktop/ms686033(v=vs.85).aspx
+const ENABLE_ECHO_INPUT = 0x0004
+
+func getPassword() (password string, err error) {
+ var oldMode uint32
+
+ err = syscall.GetConsoleMode(syscall.Stdin, &oldMode)
+ if err != nil {
+ return
+ }
+
+ var newMode uint32 = (oldMode &^ ENABLE_ECHO_INPUT)
+
+ err = setConsoleMode(syscall.Stdin, newMode)
+ defer setConsoleMode(syscall.Stdin, oldMode)
+ if err != nil {
+ return
+ }
+
+ return readline()
+}
+
+func setConsoleMode(console syscall.Handle, mode uint32) (err error) {
+ dll := syscall.MustLoadDLL("kernel32")
+ proc := dll.MustFindProc("SetConsoleMode")
+ r, _, err := proc.Call(uintptr(console), uintptr(mode))
+
+ if r == 0 {
+ return err
+ }
+ return nil
+}
diff --git a/vendor/github.com/davecgh/go-spew/.travis.yml b/vendor/github.com/davecgh/go-spew/.travis.yml
index 1bd2340c..984e0736 100644
--- a/vendor/github.com/davecgh/go-spew/.travis.yml
+++ b/vendor/github.com/davecgh/go-spew/.travis.yml
@@ -1,24 +1,14 @@
language: go
go:
- - 1.6.x
- - 1.7.x
- - 1.8.x
-sudo: false
+ - 1.5.4
+ - 1.6.3
+ - 1.7
install:
- - go get -v github.com/alecthomas/gometalinter
- - gometalinter --install
+ - go get -v golang.org/x/tools/cmd/cover
script:
- - export PATH=$PATH:$HOME/gopath/bin
- - export GORACE="halt_on_error=1"
- - test -z "$(gometalinter --disable-all
- --enable=gofmt
- --enable=golint
- --enable=vet
- --enable=gosimple
- --enable=unconvert
- --deadline=4m ./spew | tee /dev/stderr)"
- - go test -v -race -tags safe ./spew
- - go test -v -race -tags testcgo ./spew -covermode=count -coverprofile=profile.cov
+ - go test -v -tags=safe ./spew
+ - go test -v -tags=testcgo ./spew -covermode=count -coverprofile=profile.cov
after_success:
- go get -v github.com/mattn/goveralls
+ - export PATH=$PATH:$HOME/gopath/bin
- goveralls -coverprofile=profile.cov -service=travis-ci
diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE
index bc52e96f..c8364161 100644
--- a/vendor/github.com/davecgh/go-spew/LICENSE
+++ b/vendor/github.com/davecgh/go-spew/LICENSE
@@ -2,7 +2,7 @@ ISC License
Copyright (c) 2012-2016 Dave Collins <dave@davec.name>
-Permission to use, copy, modify, and/or distribute this software for any
+Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
diff --git a/vendor/github.com/davecgh/go-spew/README.md b/vendor/github.com/davecgh/go-spew/README.md
index f6ed02c3..26243044 100644
--- a/vendor/github.com/davecgh/go-spew/README.md
+++ b/vendor/github.com/davecgh/go-spew/README.md
@@ -1,9 +1,12 @@
go-spew
=======
-[![Build Status](https://img.shields.io/travis/davecgh/go-spew.svg)](https://travis-ci.org/davecgh/go-spew)
-[![ISC License](http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
-[![Coverage Status](https://img.shields.io/coveralls/davecgh/go-spew.svg)](https://coveralls.io/r/davecgh/go-spew?branch=master)
+[![Build Status](https://img.shields.io/travis/davecgh/go-spew.svg)]
+(https://travis-ci.org/davecgh/go-spew) [![ISC License]
+(http://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org) [![Coverage Status]
+(https://img.shields.io/coveralls/davecgh/go-spew.svg)]
+(https://coveralls.io/r/davecgh/go-spew?branch=master)
+
Go-spew implements a deep pretty printer for Go data structures to aid in
debugging. A comprehensive suite of tests with 100% test coverage is provided
@@ -18,7 +21,8 @@ post about it
## Documentation
-[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](http://godoc.org/github.com/davecgh/go-spew/spew)
+[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)]
+(http://godoc.org/github.com/davecgh/go-spew/spew)
Full `go doc` style documentation for the project can be viewed online without
installing this package by using the excellent GoDoc site here:
diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go
index 7f166c3a..8a4a6589 100644
--- a/vendor/github.com/davecgh/go-spew/spew/bypass.go
+++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go
@@ -41,9 +41,9 @@ var (
// after commit 82f48826c6c7 which changed the format again to mirror
// the original format. Code in the init function updates these offsets
// as necessary.
- offsetPtr = ptrSize
+ offsetPtr = uintptr(ptrSize)
offsetScalar = uintptr(0)
- offsetFlag = ptrSize * 2
+ offsetFlag = uintptr(ptrSize * 2)
// flagKindWidth and flagKindShift indicate various bits that the
// reflect package uses internally to track kind information.
@@ -58,7 +58,7 @@ var (
// changed their positions. Code in the init function updates these
// flags as necessary.
flagKindWidth = uintptr(5)
- flagKindShift = flagKindWidth - 1
+ flagKindShift = uintptr(flagKindWidth - 1)
flagRO = uintptr(1 << 0)
flagIndir = uintptr(1 << 1)
)
diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go
index 1be8ce94..7c519ff4 100644
--- a/vendor/github.com/davecgh/go-spew/spew/common.go
+++ b/vendor/github.com/davecgh/go-spew/spew/common.go
@@ -180,7 +180,7 @@ func printComplex(w io.Writer, c complex128, floatPrecision int) {
w.Write(closeParenBytes)
}
-// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x'
+// printHexPtr outputs a uintptr formatted as hexidecimal with a leading '0x'
// prefix to Writer w.
func printHexPtr(w io.Writer, p uintptr) {
// Null pointer.
diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go
index f78d89fc..df1d582a 100644
--- a/vendor/github.com/davecgh/go-spew/spew/dump.go
+++ b/vendor/github.com/davecgh/go-spew/spew/dump.go
@@ -35,16 +35,16 @@ var (
// cCharRE is a regular expression that matches a cgo char.
// It is used to detect character arrays to hexdump them.
- cCharRE = regexp.MustCompile(`^.*\._Ctype_char$`)
+ cCharRE = regexp.MustCompile("^.*\\._Ctype_char$")
// cUnsignedCharRE is a regular expression that matches a cgo unsigned
// char. It is used to detect unsigned character arrays to hexdump
// them.
- cUnsignedCharRE = regexp.MustCompile(`^.*\._Ctype_unsignedchar$`)
+ cUnsignedCharRE = regexp.MustCompile("^.*\\._Ctype_unsignedchar$")
// cUint8tCharRE is a regular expression that matches a cgo uint8_t.
// It is used to detect uint8_t arrays to hexdump them.
- cUint8tCharRE = regexp.MustCompile(`^.*\._Ctype_uint8_t$`)
+ cUint8tCharRE = regexp.MustCompile("^.*\\._Ctype_uint8_t$")
)
// dumpState contains information about the state of a dump operation.
@@ -143,10 +143,10 @@ func (d *dumpState) dumpPtr(v reflect.Value) {
// Display dereferenced value.
d.w.Write(openParenBytes)
switch {
- case nilFound:
+ case nilFound == true:
d.w.Write(nilAngleBytes)
- case cycleFound:
+ case cycleFound == true:
d.w.Write(circularBytes)
default:
diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go
index b04edb7d..c49875ba 100644
--- a/vendor/github.com/davecgh/go-spew/spew/format.go
+++ b/vendor/github.com/davecgh/go-spew/spew/format.go
@@ -182,10 +182,10 @@ func (f *formatState) formatPtr(v reflect.Value) {
// Display dereferenced value.
switch {
- case nilFound:
+ case nilFound == true:
f.fs.Write(nilAngleBytes)
- case cycleFound:
+ case cycleFound == true:
f.fs.Write(circularShortBytes)
default:
diff --git a/vendor/github.com/davecgh/go-spew/spew/format_test.go b/vendor/github.com/davecgh/go-spew/spew/format_test.go
index 0719eb91..f9b93abe 100644
--- a/vendor/github.com/davecgh/go-spew/spew/format_test.go
+++ b/vendor/github.com/davecgh/go-spew/spew/format_test.go
@@ -1536,14 +1536,14 @@ func TestPrintSortedKeys(t *testing.T) {
t.Errorf("Sorted keys mismatch 3:\n %v %v", s, expected)
}
- s = cfg.Sprint(map[testStruct]int{{1}: 1, {3}: 3, {2}: 2})
+ s = cfg.Sprint(map[testStruct]int{testStruct{1}: 1, testStruct{3}: 3, testStruct{2}: 2})
expected = "map[ts.1:1 ts.2:2 ts.3:3]"
if s != expected {
t.Errorf("Sorted keys mismatch 4:\n %v %v", s, expected)
}
if !spew.UnsafeDisabled {
- s = cfg.Sprint(map[testStructP]int{{1}: 1, {3}: 3, {2}: 2})
+ s = cfg.Sprint(map[testStructP]int{testStructP{1}: 1, testStructP{3}: 3, testStructP{2}: 2})
expected = "map[ts.1:1 ts.2:2 ts.3:3]"
if s != expected {
t.Errorf("Sorted keys mismatch 5:\n %v %v", s, expected)
diff --git a/vendor/github.com/davecgh/go-spew/spew/internal_test.go b/vendor/github.com/davecgh/go-spew/spew/internal_test.go
index e312b4fa..20a9cfef 100644
--- a/vendor/github.com/davecgh/go-spew/spew/internal_test.go
+++ b/vendor/github.com/davecgh/go-spew/spew/internal_test.go
@@ -36,7 +36,10 @@ type dummyFmtState struct {
}
func (dfs *dummyFmtState) Flag(f int) bool {
- return f == int('+')
+ if f == int('+') {
+ return true
+ }
+ return false
}
func (dfs *dummyFmtState) Precision() (int, bool) {
diff --git a/vendor/github.com/hashicorp/terraform/.travis.yml b/vendor/github.com/hashicorp/terraform/.travis.yml
index b6623199..d37048d9 100644
--- a/vendor/github.com/hashicorp/terraform/.travis.yml
+++ b/vendor/github.com/hashicorp/terraform/.travis.yml
@@ -2,7 +2,8 @@ dist: trusty
sudo: false
language: go
go:
-- 1.8.1
+- 1.8.3
+- 1.9rc1
# add TF_CONSUL_TEST=1 to run consul tests
# they were causing timouts in travis
diff --git a/vendor/github.com/hashicorp/terraform/CHANGELOG.md b/vendor/github.com/hashicorp/terraform/CHANGELOG.md
index ebde7d2a..09414a05 100644
--- a/vendor/github.com/hashicorp/terraform/CHANGELOG.md
+++ b/vendor/github.com/hashicorp/terraform/CHANGELOG.md
@@ -1,3 +1,32 @@
+## 0.10.2 (August 16, 2017)
+
+BUG FIXES:
+
+* tools/terraform-bundle: Add missing Ui to ProviderInstaller (fix crash) ([#15826](https://github.com/hashicorp/terraform/issues/15826))
+* go-plugin: crash when server emits non-key-value JSON ([go-plugin#43](https://github.com/hashicorp/go-plugin/pull/43))
+
+## 0.10.1 (August 15, 2017)
+
+BUG FIXES:
+
+* Fix `terraform state rm` and `mv` commands to work correctly with remote state backends ([#15652](https://github.com/hashicorp/terraform/issues/15652))
+* Fix errors when interpolations fail during input ([#15780](https://github.com/hashicorp/terraform/issues/15780))
+* Backoff retries in remote-execution provisioner ([#15772](https://github.com/hashicorp/terraform/issues/15772))
+* Load plugins from `~/.terraform.d/plugins/OS_ARCH/` and `.terraformrc` ([#15769](https://github.com/hashicorp/terraform/issues/15769))
+* The `import` command was ignoring the remote state configuration ([#15768](https://github.com/hashicorp/terraform/issues/15768))
+* Don't allow leading slashes in s3 bucket names for remote state ([#15738](https://github.com/hashicorp/terraform/issues/15738))
+
+IMPROVEMENTS:
+
+* helper/schema: Add `GetOkExists` schema function ([#15723](https://github.com/hashicorp/terraform/issues/15723))
+* helper/schema: Make 'id' a reserved field name ([#15695](https://github.com/hashicorp/terraform/issues/15695))
+* command/init: Display version + source when initializing plugins ([#15804](https://github.com/hashicorp/terraform/issues/15804))
+
+INTERNAL CHANGES:
+
+* DiffFieldReader.ReadField caches results to optimize deeply nested schemas ([#15663](https://github.com/hashicorp/terraform/issues/15663))
+
+
## 0.10.0 (August 2, 2017)
**This is the complete 0.9.11 to 0.10.0 CHANGELOG**
diff --git a/vendor/github.com/hashicorp/terraform/Dockerfile b/vendor/github.com/hashicorp/terraform/Dockerfile
index d435c9f9..3863822c 100644
--- a/vendor/github.com/hashicorp/terraform/Dockerfile
+++ b/vendor/github.com/hashicorp/terraform/Dockerfile
@@ -14,6 +14,7 @@ MAINTAINER "HashiCorp Terraform Team <terraform@hashicorp.com>"
RUN apk add --update git bash openssh
ENV TF_DEV=true
+ENV TF_RELEASE=1
WORKDIR $GOPATH/src/github.com/hashicorp/terraform
COPY . .
diff --git a/vendor/github.com/hashicorp/terraform/Vagrantfile b/vendor/github.com/hashicorp/terraform/Vagrantfile
index 36833186..69d72df1 100644
--- a/vendor/github.com/hashicorp/terraform/Vagrantfile
+++ b/vendor/github.com/hashicorp/terraform/Vagrantfile
@@ -5,7 +5,7 @@
VAGRANTFILE_API_VERSION = "2"
# Software version variables
-GOVERSION = "1.8.1"
+GOVERSION = "1.8.3"
UBUNTUVERSION = "16.04"
# CPU and RAM can be adjusted depending on your system
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/backend_test.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/backend_test.go
index b75d2525..7c4bf5ee 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/backend_test.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/backend_test.go
@@ -22,7 +22,7 @@ func newConsulTestServer(t *testing.T) *testutil.TestServer {
t.Skip()
}
- srv := testutil.NewTestServerConfig(t, func(c *testutil.TestServerConfig) {
+ srv, _ := testutil.NewTestServerConfigT(t, func(c *testutil.TestServerConfig) {
c.LogLevel = "warn"
if !testing.Verbose() {
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/client.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/client.go
index a0013cd2..fe14e2c0 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/client.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/consul/client.go
@@ -367,14 +367,7 @@ func (c *RemoteClient) createSession() (string, error) {
log.Println("[INFO] created consul lock session", id)
// keep the session renewed
- // we need an adapter to convert the session Done() channel to a
- // non-directional channel to satisfy the RenewPeriodic signature.
- done := make(chan struct{})
- go func() {
- <-ctx.Done()
- close(done)
- }()
- go session.RenewPeriodic(lockSessionTTL, id, nil, done)
+ go session.RenewPeriodic(lockSessionTTL, id, nil, ctx.Done())
return id, nil
}
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend.go
index effa1381..5eab8d0c 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend.go
@@ -2,40 +2,207 @@ package inmem
import (
"context"
+ "errors"
+ "fmt"
+ "sort"
+ "sync"
+ "time"
"github.com/hashicorp/terraform/backend"
- "github.com/hashicorp/terraform/backend/remote-state"
"github.com/hashicorp/terraform/helper/schema"
"github.com/hashicorp/terraform/state"
"github.com/hashicorp/terraform/state/remote"
+ "github.com/hashicorp/terraform/terraform"
)
+// we keep the states and locks in package-level variables, so that they can be
+// accessed from multiple instances of the backend. This better emulates
+// backend instances accessing a single remote data store.
+var (
+ states stateMap
+ locks lockMap
+)
+
+func init() {
+ Reset()
+}
+
+// Reset clears out all existing state and lock data.
+// This is used to initialize the package during init, as well as between
+// tests.
+func Reset() {
+ states = stateMap{
+ m: map[string]*remote.State{},
+ }
+
+ locks = lockMap{
+ m: map[string]*state.LockInfo{},
+ }
+}
+
// New creates a new backend for Inmem remote state.
func New() backend.Backend {
- return &remotestate.Backend{
- ConfigureFunc: configure,
-
- // Set the schema
- Backend: &schema.Backend{
- Schema: map[string]*schema.Schema{
- "lock_id": &schema.Schema{
- Type: schema.TypeString,
- Optional: true,
- Description: "initializes the state in a locked configuration",
- },
+ // Set the schema
+ s := &schema.Backend{
+ Schema: map[string]*schema.Schema{
+ "lock_id": &schema.Schema{
+ Type: schema.TypeString,
+ Optional: true,
+ Description: "initializes the state in a locked configuration",
},
},
}
+ backend := &Backend{Backend: s}
+ backend.Backend.ConfigureFunc = backend.configure
+ return backend
+}
+
+type Backend struct {
+ *schema.Backend
}
-func configure(ctx context.Context) (remote.Client, error) {
+func (b *Backend) configure(ctx context.Context) error {
+ states.Lock()
+ defer states.Unlock()
+
+ defaultClient := &RemoteClient{
+ Name: backend.DefaultStateName,
+ }
+
+ states.m[backend.DefaultStateName] = &remote.State{
+ Client: defaultClient,
+ }
+
+ // set the default client lock info per the test config
data := schema.FromContextBackendConfig(ctx)
if v, ok := data.GetOk("lock_id"); ok && v.(string) != "" {
info := state.NewLockInfo()
info.ID = v.(string)
info.Operation = "test"
info.Info = "test config"
- return &RemoteClient{LockInfo: info}, nil
+
+ locks.lock(backend.DefaultStateName, info)
+ }
+
+ return nil
+}
+
+func (b *Backend) States() ([]string, error) {
+ states.Lock()
+ defer states.Unlock()
+
+ var workspaces []string
+
+ for s := range states.m {
+ workspaces = append(workspaces, s)
+ }
+
+ sort.Strings(workspaces)
+ return workspaces, nil
+}
+
+func (b *Backend) DeleteState(name string) error {
+ states.Lock()
+ defer states.Unlock()
+
+ if name == backend.DefaultStateName || name == "" {
+ return fmt.Errorf("can't delete default state")
+ }
+
+ delete(states.m, name)
+ return nil
+}
+
+func (b *Backend) State(name string) (state.State, error) {
+ states.Lock()
+ defer states.Unlock()
+
+ s := states.m[name]
+ if s == nil {
+ s = &remote.State{
+ Client: &RemoteClient{
+ Name: name,
+ },
+ }
+ states.m[name] = s
+
+ // to most closely replicate other implementations, we are going to
+ // take a lock and create a new state if it doesn't exist.
+ lockInfo := state.NewLockInfo()
+ lockInfo.Operation = "init"
+ lockID, err := s.Lock(lockInfo)
+ if err != nil {
+ return nil, fmt.Errorf("failed to lock inmem state: %s", err)
+ }
+ defer s.Unlock(lockID)
+
+ // If we have no state, we have to create an empty state
+ if v := s.State(); v == nil {
+ if err := s.WriteState(terraform.NewState()); err != nil {
+ return nil, err
+ }
+ if err := s.PersistState(); err != nil {
+ return nil, err
+ }
+ }
}
- return &RemoteClient{}, nil
+
+ return s, nil
+}
+
+type stateMap struct {
+ sync.Mutex
+ m map[string]*remote.State
+}
+
+// Global level locks for inmem backends.
+type lockMap struct {
+ sync.Mutex
+ m map[string]*state.LockInfo
+}
+
+func (l *lockMap) lock(name string, info *state.LockInfo) (string, error) {
+ l.Lock()
+ defer l.Unlock()
+
+ lockInfo := l.m[name]
+ if lockInfo != nil {
+ lockErr := &state.LockError{
+ Info: lockInfo,
+ }
+
+ lockErr.Err = errors.New("state locked")
+ // make a copy of the lock info to avoid any testing shenanigans
+ *lockErr.Info = *lockInfo
+ return "", lockErr
+ }
+
+ info.Created = time.Now().UTC()
+ l.m[name] = info
+
+ return info.ID, nil
+}
+
+func (l *lockMap) unlock(name, id string) error {
+ l.Lock()
+ defer l.Unlock()
+
+ lockInfo := l.m[name]
+
+ if lockInfo == nil {
+ return errors.New("state not locked")
+ }
+
+ lockErr := &state.LockError{
+ Info: &state.LockInfo{},
+ }
+
+ if id != lockInfo.ID {
+ lockErr.Err = errors.New("invalid lock id")
+ *lockErr.Info = *lockInfo
+ return lockErr
+ }
+
+ delete(l.m, name)
+ return nil
}
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend_test.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend_test.go
new file mode 100644
index 00000000..005e66a1
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/backend_test.go
@@ -0,0 +1,90 @@
+package inmem
+
+import (
+ "testing"
+
+ "github.com/hashicorp/terraform/backend"
+ "github.com/hashicorp/terraform/state/remote"
+ "github.com/hashicorp/terraform/terraform"
+)
+
+func TestBackend_impl(t *testing.T) {
+ var _ backend.Backend = new(Backend)
+}
+
+func TestBackendConfig(t *testing.T) {
+ defer Reset()
+ testID := "test_lock_id"
+
+ config := map[string]interface{}{
+ "lock_id": testID,
+ }
+
+ b := backend.TestBackendConfig(t, New(), config).(*Backend)
+
+ s, err := b.State(backend.DefaultStateName)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ c := s.(*remote.State).Client.(*RemoteClient)
+ if c.Name != backend.DefaultStateName {
+ t.Fatal("client name is not configured")
+ }
+
+ if err := locks.unlock(backend.DefaultStateName, testID); err != nil {
+ t.Fatalf("default state should have been locked: %s", err)
+ }
+}
+
+func TestBackend(t *testing.T) {
+ defer Reset()
+ b := backend.TestBackendConfig(t, New(), nil).(*Backend)
+ backend.TestBackend(t, b, nil)
+}
+
+func TestBackendLocked(t *testing.T) {
+ defer Reset()
+ b1 := backend.TestBackendConfig(t, New(), nil).(*Backend)
+ b2 := backend.TestBackendConfig(t, New(), nil).(*Backend)
+
+ backend.TestBackend(t, b1, b2)
+}
+
+// use the this backen to test the remote.State implementation
+func TestRemoteState(t *testing.T) {
+ defer Reset()
+ b := backend.TestBackendConfig(t, New(), nil)
+
+ workspace := "workspace"
+
+ // create a new workspace in this backend
+ s, err := b.State(workspace)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // force overwriting the remote state
+ newState := terraform.NewState()
+
+ if err := s.WriteState(newState); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := s.PersistState(); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := s.RefreshState(); err != nil {
+ t.Fatal(err)
+ }
+
+ savedState := s.State()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if savedState.Lineage != newState.Lineage {
+ t.Fatal("saved state has incorrect lineage")
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client.go
index 703d4a26..51c8d725 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client.go
@@ -2,8 +2,6 @@ package inmem
import (
"crypto/md5"
- "errors"
- "time"
"github.com/hashicorp/terraform/state"
"github.com/hashicorp/terraform/state/remote"
@@ -13,8 +11,7 @@ import (
type RemoteClient struct {
Data []byte
MD5 []byte
-
- LockInfo *state.LockInfo
+ Name string
}
func (c *RemoteClient) Get() (*remote.Payload, error) {
@@ -43,37 +40,8 @@ func (c *RemoteClient) Delete() error {
}
func (c *RemoteClient) Lock(info *state.LockInfo) (string, error) {
- lockErr := &state.LockError{
- Info: &state.LockInfo{},
- }
-
- if c.LockInfo != nil {
- lockErr.Err = errors.New("state locked")
- // make a copy of the lock info to avoid any testing shenanigans
- *lockErr.Info = *c.LockInfo
- return "", lockErr
- }
-
- info.Created = time.Now().UTC()
- c.LockInfo = info
-
- return c.LockInfo.ID, nil
+ return locks.lock(c.Name, info)
}
-
func (c *RemoteClient) Unlock(id string) error {
- if c.LockInfo == nil {
- return errors.New("state not locked")
- }
-
- lockErr := &state.LockError{
- Info: &state.LockInfo{},
- }
- if id != c.LockInfo.ID {
- lockErr.Err = errors.New("invalid lock id")
- *lockErr.Info = *c.LockInfo
- return lockErr
- }
-
- c.LockInfo = nil
- return nil
+ return locks.unlock(c.Name, id)
}
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client_test.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client_test.go
index f3de5671..3a0fa8f3 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client_test.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/inmem/client_test.go
@@ -4,7 +4,6 @@ import (
"testing"
"github.com/hashicorp/terraform/backend"
- remotestate "github.com/hashicorp/terraform/backend/remote-state"
"github.com/hashicorp/terraform/state/remote"
)
@@ -14,11 +13,19 @@ func TestRemoteClient_impl(t *testing.T) {
}
func TestRemoteClient(t *testing.T) {
+ defer Reset()
b := backend.TestBackendConfig(t, New(), nil)
- remotestate.TestClient(t, b)
+
+ s, err := b.State(backend.DefaultStateName)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ remote.TestClient(t, s.(*remote.State).Client)
}
func TestInmemLocks(t *testing.T) {
+ defer Reset()
s, err := backend.TestBackendConfig(t, New(), nil).State(backend.DefaultStateName)
if err != nil {
t.Fatal(err)
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend.go
index 1a1e10ba..41cf037a 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend.go
@@ -2,6 +2,8 @@ package s3
import (
"context"
+ "fmt"
+ "strings"
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/aws/aws-sdk-go/service/s3"
@@ -25,6 +27,14 @@ func New() backend.Backend {
Type: schema.TypeString,
Required: true,
Description: "The path to the state file inside the bucket",
+ ValidateFunc: func(v interface{}, s string) ([]string, []error) {
+ // s3 will strip leading slashes from an object, so while this will
+ // technically be accepted by s3, it will break our workspace hierarchy.
+ if strings.HasPrefix(v.(string), "/") {
+ return nil, []error{fmt.Errorf("key must not start with '/'")}
+ }
+ return nil, nil
+ },
},
"region": {
diff --git a/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend_test.go b/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend_test.go
index c5a1f500..83af43e4 100644
--- a/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend_test.go
+++ b/vendor/github.com/hashicorp/terraform/backend/remote-state/s3/backend_test.go
@@ -11,6 +11,7 @@ import (
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/aws/aws-sdk-go/service/s3"
"github.com/hashicorp/terraform/backend"
+ "github.com/hashicorp/terraform/config"
"github.com/hashicorp/terraform/state/remote"
"github.com/hashicorp/terraform/terraform"
)
@@ -65,6 +66,28 @@ func TestBackendConfig(t *testing.T) {
}
}
+func TestBackendConfig_invalidKey(t *testing.T) {
+ testACC(t)
+ cfg := map[string]interface{}{
+ "region": "us-west-1",
+ "bucket": "tf-test",
+ "key": "/leading-slash",
+ "encrypt": true,
+ "dynamodb_table": "dynamoTable",
+ }
+
+ rawCfg, err := config.NewRawConfig(cfg)
+ if err != nil {
+ t.Fatal(err)
+ }
+ resCfg := terraform.NewResourceConfig(rawCfg)
+
+ _, errs := New().Validate(resCfg)
+ if len(errs) != 1 {
+ t.Fatal("expected config validation error")
+ }
+}
+
func TestBackend(t *testing.T) {
testACC(t)
diff --git a/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner.go b/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner.go
index 7dd86daf..ba811daf 100644
--- a/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner.go
+++ b/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner.go
@@ -19,6 +19,10 @@ import (
"github.com/mitchellh/go-linereader"
)
+// maxBackoffDealy is the maximum delay between retry attempts
+var maxBackoffDelay = 10 * time.Second
+var initialBackoffDelay = time.Second
+
func Provisioner() terraform.ResourceProvisioner {
return &schema.Provisioner{
Schema: map[string]*schema.Schema{
@@ -246,7 +250,6 @@ func copyOutput(
}
// retryFunc is used to retry a function for a given duration
-// TODO: this should probably backoff too
func retryFunc(ctx context.Context, timeout time.Duration, f func() error) error {
// Build a new context with the timeout
ctx, done := context.WithTimeout(ctx, timeout)
@@ -263,12 +266,13 @@ func retryFunc(ctx context.Context, timeout time.Duration, f func() error) error
go func() {
defer close(doneCh)
+ delay := time.Duration(0)
for {
// If our context ended, we want to exit right away.
select {
case <-ctx.Done():
return
- default:
+ case <-time.After(delay):
}
// Try the function call
@@ -279,7 +283,19 @@ func retryFunc(ctx context.Context, timeout time.Duration, f func() error) error
return
}
- log.Printf("Retryable error: %v", err)
+ log.Printf("[WARN] retryable error: %v", err)
+
+ delay *= 2
+
+ if delay == 0 {
+ delay = initialBackoffDelay
+ }
+
+ if delay > maxBackoffDelay {
+ delay = maxBackoffDelay
+ }
+
+ log.Printf("[INFO] sleeping for %s", delay)
}
}()
diff --git a/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner_test.go b/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner_test.go
index 67faf1fe..8c447788 100644
--- a/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner_test.go
+++ b/vendor/github.com/hashicorp/terraform/builtin/provisioners/remote-exec/resource_provisioner_test.go
@@ -211,6 +211,16 @@ func TestResourceProvider_CollectScripts_scriptsEmpty(t *testing.T) {
}
func TestRetryFunc(t *testing.T) {
+ origMax := maxBackoffDelay
+ maxBackoffDelay = time.Second
+ origStart := initialBackoffDelay
+ initialBackoffDelay = 10 * time.Millisecond
+
+ defer func() {
+ maxBackoffDelay = origMax
+ initialBackoffDelay = origStart
+ }()
+
// succeed on the third try
errs := []error{io.EOF, &net.OpError{Err: errors.New("ERROR")}, nil}
count := 0
@@ -235,6 +245,29 @@ func TestRetryFunc(t *testing.T) {
}
}
+func TestRetryFuncBackoff(t *testing.T) {
+ origMax := maxBackoffDelay
+ maxBackoffDelay = time.Second
+ origStart := initialBackoffDelay
+ initialBackoffDelay = 100 * time.Millisecond
+
+ defer func() {
+ maxBackoffDelay = origMax
+ initialBackoffDelay = origStart
+ }()
+
+ count := 0
+
+ retryFunc(context.Background(), time.Second, func() error {
+ count++
+ return io.EOF
+ })
+
+ if count > 4 {
+ t.Fatalf("retry func failed to backoff. called %d times", count)
+ }
+}
+
func testConfig(t *testing.T, c map[string]interface{}) *terraform.ResourceConfig {
r, err := config.NewRawConfig(c)
if err != nil {
diff --git a/vendor/github.com/hashicorp/terraform/command/hook_ui_test.go b/vendor/github.com/hashicorp/terraform/command/hook_ui_test.go
index 2ffa40ab..db2171b1 100644
--- a/vendor/github.com/hashicorp/terraform/command/hook_ui_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/hook_ui_test.go
@@ -1,7 +1,6 @@
package command
import (
- "bytes"
"fmt"
"testing"
"time"
@@ -12,11 +11,7 @@ import (
)
func TestUiHookPreApply_periodicTimer(t *testing.T) {
- ui := &cli.MockUi{
- InputReader: bytes.NewReader([]byte{}),
- ErrorWriter: bytes.NewBuffer([]byte{}),
- OutputWriter: bytes.NewBuffer([]byte{}),
- }
+ ui := cli.NewMockUi()
h := &UiHook{
Colorize: &colorstring.Colorize{
Colors: colorstring.DefaultColors,
@@ -88,11 +83,7 @@ data.aws_availability_zones.available: Still destroying... (ID: 2017-03-05 10:56
}
func TestUiHookPreApply_destroy(t *testing.T) {
- ui := &cli.MockUi{
- InputReader: bytes.NewReader([]byte{}),
- ErrorWriter: bytes.NewBuffer([]byte{}),
- OutputWriter: bytes.NewBuffer([]byte{}),
- }
+ ui := cli.NewMockUi()
h := &UiHook{
Colorize: &colorstring.Colorize{
Colors: colorstring.DefaultColors,
@@ -152,11 +143,7 @@ func TestUiHookPreApply_destroy(t *testing.T) {
}
func TestUiHookPostApply_emptyState(t *testing.T) {
- ui := &cli.MockUi{
- InputReader: bytes.NewReader([]byte{}),
- ErrorWriter: bytes.NewBuffer([]byte{}),
- OutputWriter: bytes.NewBuffer([]byte{}),
- }
+ ui := cli.NewMockUi()
h := &UiHook{
Colorize: &colorstring.Colorize{
Colors: colorstring.DefaultColors,
diff --git a/vendor/github.com/hashicorp/terraform/command/import.go b/vendor/github.com/hashicorp/terraform/command/import.go
index b1cc623e..e455bb53 100644
--- a/vendor/github.com/hashicorp/terraform/command/import.go
+++ b/vendor/github.com/hashicorp/terraform/command/import.go
@@ -123,15 +123,18 @@ func (c *ImportCommand) Run(args []string) int {
// Load the backend
b, err := c.Backend(&BackendOpts{
- Config: mod.Config(),
- ForceLocal: true,
+ Config: mod.Config(),
})
if err != nil {
c.Ui.Error(fmt.Sprintf("Failed to load backend: %s", err))
return 1
}
- // We require a local backend
+ // We require a backend.Local to build a context.
+ // This isn't necessarily a "local.Local" backend, which provides local
+ // operations, however that is the only current implementation. A
+ // "local.Local" backend also doesn't necessarily provide local state, as
+ // that may be delegated to a "remotestate.Backend".
local, ok := b.(backend.Local)
if !ok {
c.Ui.Error(ErrUnsupportedLocalOp)
@@ -232,11 +235,12 @@ Options:
specifying aliases, such as "aws.eu". Defaults to the
normal provider prefix of the resource being imported.
- -state=path Path to read and save state (unless state-out
- is specified). Defaults to "terraform.tfstate".
+ -state=PATH Path to the source state file. Defaults to the configured
+ backend, or "terraform.tfstate"
- -state-out=path Path to write updated state file. By default, the
- "-state" path will be used.
+ -state-out=PATH Path to the destination state file to write to. If this
+ isn't specified, the source state file will be used. This
+ can be a new or existing path.
-var 'foo=bar' Set a variable in the Terraform configuration. This
flag can be set multiple times. This is only useful
diff --git a/vendor/github.com/hashicorp/terraform/command/import_test.go b/vendor/github.com/hashicorp/terraform/command/import_test.go
index 057ab560..417e6143 100644
--- a/vendor/github.com/hashicorp/terraform/command/import_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/import_test.go
@@ -110,6 +110,88 @@ func TestImport_providerConfig(t *testing.T) {
testStateOutput(t, statePath, testImportStr)
}
+// "remote" state provided by the "local" backend
+func TestImport_remoteState(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("import-provider-remote-state"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ statePath := "imported.tfstate"
+
+ // init our backend
+ ui := new(cli.MockUi)
+ m := Meta{
+ testingOverrides: metaOverridesForProvider(testProvider()),
+ Ui: ui,
+ }
+
+ ic := &InitCommand{
+ Meta: m,
+ providerInstaller: &mockProviderInstaller{
+ Providers: map[string][]string{
+ "test": []string{"1.2.3"},
+ },
+
+ Dir: m.pluginDir(),
+ },
+ }
+
+ if code := ic.Run([]string{}); code != 0 {
+ t.Fatalf("bad: \n%s", ui.ErrorWriter)
+ }
+
+ p := testProvider()
+ ui = new(cli.MockUi)
+ c := &ImportCommand{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
+ }
+
+ p.ImportStateFn = nil
+ p.ImportStateReturn = []*terraform.InstanceState{
+ &terraform.InstanceState{
+ ID: "yay",
+ Ephemeral: terraform.EphemeralState{
+ Type: "test_instance",
+ },
+ },
+ }
+
+ configured := false
+ p.ConfigureFn = func(c *terraform.ResourceConfig) error {
+ configured = true
+
+ if v, ok := c.Get("foo"); !ok || v.(string) != "bar" {
+ return fmt.Errorf("bad value: %#v", v)
+ }
+
+ return nil
+ }
+
+ args := []string{
+ "test_instance.foo",
+ "bar",
+ }
+ if code := c.Run(args); code != 0 {
+ fmt.Println(ui.OutputWriter)
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
+ }
+
+ // Verify that we were called
+ if !configured {
+ t.Fatal("Configure should be called")
+ }
+
+ if !p.ImportStateCalled {
+ t.Fatal("ImportState should be called")
+ }
+
+ testStateOutput(t, statePath, testImportStr)
+}
+
func TestImport_providerConfigWithVar(t *testing.T) {
defer testChdir(t, testFixturePath("import-provider-var"))()
diff --git a/vendor/github.com/hashicorp/terraform/command/init.go b/vendor/github.com/hashicorp/terraform/command/init.go
index 427a8ce5..403ca245 100644
--- a/vendor/github.com/hashicorp/terraform/command/init.go
+++ b/vendor/github.com/hashicorp/terraform/command/init.go
@@ -75,6 +75,7 @@ func (c *InitCommand) Run(args []string) int {
Dir: c.pluginDir(),
PluginProtocolVersion: plugin.Handshake.ProtocolVersion,
SkipVerify: !flagVerifyPlugins,
+ Ui: c.Ui,
}
}
@@ -310,8 +311,12 @@ func (c *InitCommand) getProviders(path string, state *terraform.State, upgrade
var errs error
if c.getPlugins {
+ if len(missing) > 0 {
+ c.Ui.Output(fmt.Sprintf(" - Checking for available provider plugins on %s...",
+ discovery.GetReleaseHost()))
+ }
+
for provider, reqd := range missing {
- c.Ui.Output(fmt.Sprintf("- Downloading plugin for provider %q...", provider))
_, err := c.providerInstaller.Get(provider, reqd.Versions)
if err != nil {
diff --git a/vendor/github.com/hashicorp/terraform/command/init_test.go b/vendor/github.com/hashicorp/terraform/command/init_test.go
index ebfa397f..ef192b7e 100644
--- a/vendor/github.com/hashicorp/terraform/command/init_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/init_test.go
@@ -645,6 +645,49 @@ func TestInit_findVendoredProviders(t *testing.T) {
}
}
+// make sure we can locate providers defined in the legacy rc file
+func TestInit_rcProviders(t *testing.T) {
+ // Create a temporary working directory that is empty
+ td := tempDir(t)
+
+ configDirName := "init-legacy-rc"
+ copy.CopyDir(testFixturePath(configDirName), filepath.Join(td, configDirName))
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ pluginDir := filepath.Join(td, "custom")
+ pluginPath := filepath.Join(pluginDir, "terraform-provider-legacy")
+
+ ui := new(cli.MockUi)
+ m := Meta{
+ Ui: ui,
+ PluginOverrides: &PluginOverrides{
+ Providers: map[string]string{
+ "legacy": pluginPath,
+ },
+ },
+ }
+
+ c := &InitCommand{
+ Meta: m,
+ providerInstaller: &mockProviderInstaller{},
+ }
+
+ // make our plugin paths
+ if err := os.MkdirAll(pluginDir, 0755); err != nil {
+ t.Fatal(err)
+ }
+
+ if err := ioutil.WriteFile(pluginPath, []byte("test bin"), 0755); err != nil {
+ t.Fatal(err)
+ }
+
+ args := []string{configDirName}
+ if code := c.Run(args); code != 0 {
+ t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
+ }
+}
+
func TestInit_getUpgradePlugins(t *testing.T) {
// Create a temporary working directory that is empty
td := tempDir(t)
diff --git a/vendor/github.com/hashicorp/terraform/command/plugins.go b/vendor/github.com/hashicorp/terraform/command/plugins.go
index ca94f07b..ce26b0f8 100644
--- a/vendor/github.com/hashicorp/terraform/command/plugins.go
+++ b/vendor/github.com/hashicorp/terraform/command/plugins.go
@@ -172,6 +172,12 @@ func (m *Meta) pluginDirs(includeAutoInstalled bool) []string {
// the defined search paths.
func (m *Meta) providerPluginSet() discovery.PluginMetaSet {
plugins := discovery.FindPlugins("provider", m.pluginDirs(true))
+
+ // Add providers defined in the legacy .terraformrc,
+ if m.PluginOverrides != nil {
+ plugins = plugins.OverridePaths(m.PluginOverrides.Providers)
+ }
+
plugins, _ = plugins.ValidateVersions()
for p := range plugins {
@@ -198,6 +204,12 @@ func (m *Meta) providerPluginAutoInstalledSet() discovery.PluginMetaSet {
// in all locations *except* the auto-install directory.
func (m *Meta) providerPluginManuallyInstalledSet() discovery.PluginMetaSet {
plugins := discovery.FindPlugins("provider", m.pluginDirs(false))
+
+ // Add providers defined in the legacy .terraformrc,
+ if m.PluginOverrides != nil {
+ plugins = plugins.OverridePaths(m.PluginOverrides.Providers)
+ }
+
plugins, _ = plugins.ValidateVersions()
for p := range plugins {
diff --git a/vendor/github.com/hashicorp/terraform/command/state_meta.go b/vendor/github.com/hashicorp/terraform/command/state_meta.go
index dc17fa07..aa79e9d4 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_meta.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_meta.go
@@ -11,30 +11,32 @@ import (
)
// StateMeta is the meta struct that should be embedded in state subcommands.
-type StateMeta struct{}
+type StateMeta struct {
+ Meta
+}
// State returns the state for this meta. This gets the appropriate state from
// the backend, but changes the way that backups are done. This configures
// backups to be timestamped rather than just the original state path plus a
// backup path.
-func (c *StateMeta) State(m *Meta) (state.State, error) {
+func (c *StateMeta) State() (state.State, error) {
var realState state.State
- backupPath := m.backupPath
- stateOutPath := m.statePath
+ backupPath := c.backupPath
+ stateOutPath := c.statePath
// use the specified state
- if m.statePath != "" {
+ if c.statePath != "" {
realState = &state.LocalState{
- Path: m.statePath,
+ Path: c.statePath,
}
} else {
// Load the backend
- b, err := m.Backend(nil)
+ b, err := c.Backend(nil)
if err != nil {
return nil, err
}
- env := m.Workspace()
+ env := c.Workspace()
// Get the state
s, err := b.State(env)
if err != nil {
@@ -42,7 +44,7 @@ func (c *StateMeta) State(m *Meta) (state.State, error) {
}
// Get a local backend
- localRaw, err := m.Backend(&BackendOpts{ForceLocal: true})
+ localRaw, err := c.Backend(&BackendOpts{ForceLocal: true})
if err != nil {
// This should never fail
panic(err)
diff --git a/vendor/github.com/hashicorp/terraform/command/state_mv.go b/vendor/github.com/hashicorp/terraform/command/state_mv.go
index 5c51f2da..e2f89c96 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_mv.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_mv.go
@@ -10,7 +10,6 @@ import (
// StateMvCommand is a Command implementation that shows a single resource.
type StateMvCommand struct {
- Meta
StateMeta
}
@@ -21,12 +20,13 @@ func (c *StateMvCommand) Run(args []string) int {
}
// We create two metas to track the two states
- var meta1, meta2 Meta
+ var backupPathOut, statePathOut string
+
cmdFlags := c.Meta.flagSet("state mv")
- cmdFlags.StringVar(&meta1.backupPath, "backup", "-", "backup")
- cmdFlags.StringVar(&meta1.statePath, "state", DefaultStateFilename, "path")
- cmdFlags.StringVar(&meta2.backupPath, "backup-out", "-", "backup")
- cmdFlags.StringVar(&meta2.statePath, "state-out", "", "path")
+ cmdFlags.StringVar(&c.backupPath, "backup", "-", "backup")
+ cmdFlags.StringVar(&c.statePath, "state", "", "path")
+ cmdFlags.StringVar(&backupPathOut, "backup-out", "-", "backup")
+ cmdFlags.StringVar(&statePathOut, "state-out", "", "path")
if err := cmdFlags.Parse(args); err != nil {
return cli.RunResultHelp
}
@@ -36,16 +36,11 @@ func (c *StateMvCommand) Run(args []string) int {
return cli.RunResultHelp
}
- // Copy the `-state` flag for output if we weren't given a custom one
- if meta2.statePath == "" {
- meta2.statePath = meta1.statePath
- }
-
// Read the from state
- stateFrom, err := c.StateMeta.State(&meta1)
+ stateFrom, err := c.State()
if err != nil {
c.Ui.Error(fmt.Sprintf(errStateLoadingState, err))
- return cli.RunResultHelp
+ return 1
}
if err := stateFrom.RefreshState(); err != nil {
@@ -62,11 +57,14 @@ func (c *StateMvCommand) Run(args []string) int {
// Read the destination state
stateTo := stateFrom
stateToReal := stateFromReal
- if meta2.statePath != meta1.statePath {
- stateTo, err = c.StateMeta.State(&meta2)
+
+ if statePathOut != "" {
+ c.statePath = statePathOut
+ c.backupPath = backupPathOut
+ stateTo, err = c.State()
if err != nil {
c.Ui.Error(fmt.Sprintf(errStateLoadingState, err))
- return cli.RunResultHelp
+ return 1
}
if err := stateTo.RefreshState(); err != nil {
@@ -185,28 +183,30 @@ func (c *StateMvCommand) addableResult(results []*terraform.StateFilterResult) i
func (c *StateMvCommand) Help() string {
helpText := `
-Usage: terraform state mv [options] ADDRESS ADDRESS
+Usage: terraform state mv [options] SOURCE DESTINATION
- Move an item in the state to another location or to a completely different
- state file.
+ This command will move an item matched by the address given to the
+ destination address. This command can also move to a destination address
+ in a completely different state file.
- This command is useful for module refactors (moving items into a module),
- configuration refactors (moving items to a completely different or new
- state file), or generally renaming of resources.
+ This can be used for simple resource renaming, moving items to and from
+ a module, moving entire modules, and more. And because this command can also
+ move data to a completely new state, it can also be used for refactoring
+ one configuration into multiple separately managed Terraform configurations.
- This command creates a timestamped backup of the state on every invocation.
- This can't be disabled. Due to the destructive nature of this command,
- the backup is ensured by Terraform for safety reasons.
+ This command will output a backup copy of the state prior to saving any
+ changes. The backup cannot be disabled. Due to the destructive nature
+ of this command, backups are required.
- If you're moving from one state file to a different state file, a backup
- will be created for each state file.
+ If you're moving an item to a different state file, a backup will be created
+ for each state file.
Options:
-backup=PATH Path where Terraform should write the backup for the original
state. This can't be disabled. If not set, Terraform
will write it to the same path as the statefile with
- a backup extension.
+ a ".backup" extension.
-backup-out=PATH Path where Terraform should write the backup for the destination
state. This can't be disabled. If not set, Terraform
@@ -215,13 +215,12 @@ Options:
to be specified if -state-out is set to a different path
than -state.
- -state=PATH Path to a Terraform state file to use to look
- up Terraform-managed resources. By default it will
- use the state "terraform.tfstate" if it exists.
+ -state=PATH Path to the source state file. Defaults to the configured
+ backend, or "terraform.tfstate"
- -state-out=PATH Path to the destination state file to move the item
- to. This defaults to the same statefile. This will
- overwrite the destination state file.
+ -state-out=PATH Path to the destination state file to write to. If this
+ isn't specified, the source state file will be used. This
+ can be a new or existing path.
`
return strings.TrimSpace(helpText)
diff --git a/vendor/github.com/hashicorp/terraform/command/state_mv_test.go b/vendor/github.com/hashicorp/terraform/command/state_mv_test.go
index d3f05b31..5a0d2ab4 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_mv_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_mv_test.go
@@ -47,9 +47,11 @@ func TestStateMv(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -133,9 +135,11 @@ func TestStateMv_explicitWithBackend(t *testing.T) {
p := testProvider()
ui = new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -194,9 +198,11 @@ func TestStateMv_backupExplicit(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -244,9 +250,11 @@ func TestStateMv_stateOutNew(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -316,9 +324,11 @@ func TestStateMv_stateOutExisting(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -357,9 +367,11 @@ func TestStateMv_noState(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -418,9 +430,11 @@ func TestStateMv_stateOutNew_count(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -596,9 +610,11 @@ func TestStateMv_stateOutNew_largeCount(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -677,9 +693,11 @@ func TestStateMv_stateOutNew_nestedModule(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateMvCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -705,6 +723,160 @@ func TestStateMv_stateOutNew_nestedModule(t *testing.T) {
testStateOutput(t, backups[0], testStateMvNestedModule_stateOutOriginal)
}
+func TestStateMv_withinBackend(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("backend-unchanged"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ state := &terraform.State{
+ Modules: []*terraform.ModuleState{
+ &terraform.ModuleState{
+ Path: []string{"root"},
+ Resources: map[string]*terraform.ResourceState{
+ "test_instance.foo": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "bar",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+
+ "test_instance.baz": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "foo",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ // the local backend state file is "foo"
+ statePath := "local-state.tfstate"
+ backupPath := "local-state.backup"
+
+ f, err := os.Create(statePath)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer f.Close()
+
+ if err := terraform.WriteState(state, f); err != nil {
+ t.Fatal(err)
+ }
+
+ p := testProvider()
+ ui := new(cli.MockUi)
+ c := &StateMvCommand{
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
+ },
+ }
+
+ args := []string{
+ "-backup", backupPath,
+ "test_instance.foo",
+ "test_instance.bar",
+ }
+ if code := c.Run(args); code != 0 {
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
+ }
+
+ testStateOutput(t, statePath, testStateMvOutput)
+ testStateOutput(t, backupPath, testStateMvOutputOriginal)
+}
+
+func TestStateMv_fromBackendToLocal(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("backend-unchanged"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ state := &terraform.State{
+ Modules: []*terraform.ModuleState{
+ &terraform.ModuleState{
+ Path: []string{"root"},
+ Resources: map[string]*terraform.ResourceState{
+ "test_instance.foo": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "bar",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+
+ "test_instance.baz": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "foo",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ // the local backend state file is "foo"
+ statePath := "local-state.tfstate"
+
+ // real "local" state file
+ statePathOut := "real-local.tfstate"
+
+ f, err := os.Create(statePath)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer f.Close()
+
+ if err := terraform.WriteState(state, f); err != nil {
+ t.Fatal(err)
+ }
+
+ p := testProvider()
+ ui := new(cli.MockUi)
+ c := &StateMvCommand{
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
+ },
+ }
+
+ args := []string{
+ "-state-out", statePathOut,
+ "test_instance.foo",
+ "test_instance.bar",
+ }
+ if code := c.Run(args); code != 0 {
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
+ }
+
+ testStateOutput(t, statePathOut, testStateMvCount_stateOutSrc)
+
+ // the backend state should be left with only baz
+ testStateOutput(t, statePath, testStateMvOriginal_backend)
+}
+
const testStateMvOutputOriginal = `
test_instance.baz:
ID = foo
@@ -943,3 +1115,10 @@ const testStateMvExisting_stateDstOriginal = `
test_instance.qux:
ID = bar
`
+
+const testStateMvOriginal_backend = `
+test_instance.baz:
+ ID = foo
+ bar = value
+ foo = value
+`
diff --git a/vendor/github.com/hashicorp/terraform/command/state_push_test.go b/vendor/github.com/hashicorp/terraform/command/state_push_test.go
index 2e2e8700..bee9d477 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_push_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_push_test.go
@@ -5,6 +5,8 @@ import (
"os"
"testing"
+ "github.com/hashicorp/terraform/backend"
+ "github.com/hashicorp/terraform/backend/remote-state/inmem"
"github.com/hashicorp/terraform/helper/copy"
"github.com/hashicorp/terraform/terraform"
"github.com/mitchellh/cli"
@@ -190,3 +192,56 @@ func TestStatePush_serialOlder(t *testing.T) {
t.Fatalf("bad: %#v", actual)
}
}
+
+func TestStatePush_forceRemoteState(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("inmem-backend"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+ defer inmem.Reset()
+
+ s := terraform.NewState()
+ statePath := testStateFile(t, s)
+
+ // init the backend
+ ui := new(cli.MockUi)
+ initCmd := &InitCommand{
+ Meta: Meta{Ui: ui},
+ }
+ if code := initCmd.Run([]string{}); code != 0 {
+ t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
+ }
+
+ // create a new workspace
+ ui = new(cli.MockUi)
+ newCmd := &WorkspaceNewCommand{
+ Meta: Meta{Ui: ui},
+ }
+ if code := newCmd.Run([]string{"test"}); code != 0 {
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter)
+ }
+
+ // put a dummy state in place, so we have something to force
+ b := backend.TestBackendConfig(t, inmem.New(), nil)
+ sMgr, err := b.State("test")
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := sMgr.WriteState(terraform.NewState()); err != nil {
+ t.Fatal(err)
+ }
+ if err := sMgr.PersistState(); err != nil {
+ t.Fatal(err)
+ }
+
+ // push our local state to that new workspace
+ ui = new(cli.MockUi)
+ c := &StatePushCommand{
+ Meta: Meta{Ui: ui},
+ }
+
+ args := []string{"-force", statePath}
+ if code := c.Run(args); code != 0 {
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/command/state_rm.go b/vendor/github.com/hashicorp/terraform/command/state_rm.go
index 40dc8705..e106afb8 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_rm.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_rm.go
@@ -9,7 +9,6 @@ import (
// StateRmCommand is a Command implementation that shows a single resource.
type StateRmCommand struct {
- Meta
StateMeta
}
@@ -20,8 +19,8 @@ func (c *StateRmCommand) Run(args []string) int {
}
cmdFlags := c.Meta.flagSet("state show")
- cmdFlags.StringVar(&c.Meta.backupPath, "backup", "-", "backup")
- cmdFlags.StringVar(&c.Meta.statePath, "state", DefaultStateFilename, "path")
+ cmdFlags.StringVar(&c.backupPath, "backup", "-", "backup")
+ cmdFlags.StringVar(&c.statePath, "state", "", "path")
if err := cmdFlags.Parse(args); err != nil {
return cli.RunResultHelp
}
@@ -32,10 +31,10 @@ func (c *StateRmCommand) Run(args []string) int {
return 1
}
- state, err := c.StateMeta.State(&c.Meta)
+ state, err := c.State()
if err != nil {
c.Ui.Error(fmt.Sprintf(errStateLoadingState, err))
- return cli.RunResultHelp
+ return 1
}
if err := state.RefreshState(); err != nil {
c.Ui.Error(fmt.Sprintf("Failed to load state: %s", err))
@@ -88,9 +87,8 @@ Options:
will write it to the same path as the statefile with
a backup extension.
- -state=statefile Path to a Terraform state file to use to look
- up Terraform-managed resources. By default it will
- use the state "terraform.tfstate" if it exists.
+ -state=PATH Path to the source state file. Defaults to the configured
+ backend, or "terraform.tfstate"
`
return strings.TrimSpace(helpText)
diff --git a/vendor/github.com/hashicorp/terraform/command/state_rm_test.go b/vendor/github.com/hashicorp/terraform/command/state_rm_test.go
index 4a9a41c2..3a447779 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_rm_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_rm_test.go
@@ -6,6 +6,7 @@ import (
"strings"
"testing"
+ "github.com/hashicorp/terraform/helper/copy"
"github.com/hashicorp/terraform/terraform"
"github.com/mitchellh/cli"
)
@@ -47,9 +48,11 @@ func TestStateRm(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateRmCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -109,9 +112,11 @@ func TestStateRmNoArgs(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateRmCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -169,9 +174,11 @@ func TestStateRm_backupExplicit(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateRmCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -198,9 +205,11 @@ func TestStateRm_noState(t *testing.T) {
p := testProvider()
ui := new(cli.MockUi)
c := &StateRmCommand{
- Meta: Meta{
- testingOverrides: metaOverridesForProvider(p),
- Ui: ui,
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
},
}
@@ -210,6 +219,110 @@ func TestStateRm_noState(t *testing.T) {
}
}
+func TestStateRm_needsInit(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("backend-change"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ p := testProvider()
+ ui := new(cli.MockUi)
+ c := &StateRmCommand{
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
+ },
+ }
+
+ args := []string{"foo"}
+ if code := c.Run(args); code == 0 {
+ t.Fatal("expected error\noutput:", ui.OutputWriter)
+ }
+
+ if !strings.Contains(ui.ErrorWriter.String(), "Initialization") {
+ t.Fatal("expected initialization error, got:\n", ui.ErrorWriter)
+ }
+}
+
+func TestStateRm_backendState(t *testing.T) {
+ td := tempDir(t)
+ copy.CopyDir(testFixturePath("backend-unchanged"), td)
+ defer os.RemoveAll(td)
+ defer testChdir(t, td)()
+
+ state := &terraform.State{
+ Modules: []*terraform.ModuleState{
+ &terraform.ModuleState{
+ Path: []string{"root"},
+ Resources: map[string]*terraform.ResourceState{
+ "test_instance.foo": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "bar",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+
+ "test_instance.bar": &terraform.ResourceState{
+ Type: "test_instance",
+ Primary: &terraform.InstanceState{
+ ID: "foo",
+ Attributes: map[string]string{
+ "foo": "value",
+ "bar": "value",
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ // the local backend state file is "foo"
+ statePath := "local-state.tfstate"
+ backupPath := "local-state.backup"
+
+ f, err := os.Create(statePath)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer f.Close()
+
+ if err := terraform.WriteState(state, f); err != nil {
+ t.Fatal(err)
+ }
+
+ p := testProvider()
+ ui := new(cli.MockUi)
+ c := &StateRmCommand{
+ StateMeta{
+ Meta: Meta{
+ testingOverrides: metaOverridesForProvider(p),
+ Ui: ui,
+ },
+ },
+ }
+
+ args := []string{
+ "-backup", backupPath,
+ "test_instance.foo",
+ }
+ if code := c.Run(args); code != 0 {
+ t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
+ }
+
+ // Test it is correct
+ testStateOutput(t, statePath, testStateRmOutput)
+
+ // Test backup
+ testStateOutput(t, backupPath, testStateRmOutputOriginal)
+}
+
const testStateRmOutputOriginal = `
test_instance.bar:
ID = foo
diff --git a/vendor/github.com/hashicorp/terraform/command/state_test.go b/vendor/github.com/hashicorp/terraform/command/state_test.go
index 28d64e35..433c6336 100644
--- a/vendor/github.com/hashicorp/terraform/command/state_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/state_test.go
@@ -28,7 +28,7 @@ func TestStateDefaultBackupExtension(t *testing.T) {
tmp, cwd := testCwd(t)
defer testFixCwd(t, tmp, cwd)
- s, err := (&StateMeta{}).State(&Meta{})
+ s, err := (&StateMeta{}).State()
if err != nil {
t.Fatal(err)
}
diff --git a/vendor/github.com/hashicorp/terraform/command/test-fixtures/import-provider-remote-state/main.tf b/vendor/github.com/hashicorp/terraform/command/test-fixtures/import-provider-remote-state/main.tf
new file mode 100644
index 00000000..23ebfb4c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/command/test-fixtures/import-provider-remote-state/main.tf
@@ -0,0 +1,12 @@
+terraform {
+ backend "local" {
+ path = "imported.tfstate"
+ }
+}
+
+provider "test" {
+ foo = "bar"
+}
+
+resource "test_instance" "foo" {
+}
diff --git a/vendor/github.com/hashicorp/terraform/command/test-fixtures/init-legacy-rc/main.tf b/vendor/github.com/hashicorp/terraform/command/test-fixtures/init-legacy-rc/main.tf
new file mode 100644
index 00000000..4b04a89e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/command/test-fixtures/init-legacy-rc/main.tf
@@ -0,0 +1 @@
+provider "legacy" {}
diff --git a/vendor/github.com/hashicorp/terraform/command/test-fixtures/inmem-backend/main.tf b/vendor/github.com/hashicorp/terraform/command/test-fixtures/inmem-backend/main.tf
new file mode 100644
index 00000000..df9309a5
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/command/test-fixtures/inmem-backend/main.tf
@@ -0,0 +1,3 @@
+terraform {
+ backend "inmem" {}
+}
diff --git a/vendor/github.com/hashicorp/terraform/command/unlock_test.go b/vendor/github.com/hashicorp/terraform/command/unlock_test.go
index 342df3b6..b6dfceb4 100644
--- a/vendor/github.com/hashicorp/terraform/command/unlock_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/unlock_test.go
@@ -4,6 +4,7 @@ import (
"os"
"testing"
+ "github.com/hashicorp/terraform/backend/remote-state/inmem"
"github.com/hashicorp/terraform/helper/copy"
"github.com/hashicorp/terraform/terraform"
"github.com/mitchellh/cli"
@@ -57,6 +58,7 @@ func TestUnlock_inmemBackend(t *testing.T) {
copy.CopyDir(testFixturePath("backend-inmem-locked"), td)
defer os.RemoveAll(td)
defer testChdir(t, td)()
+ defer inmem.Reset()
// init backend
ui := new(cli.MockUi)
diff --git a/vendor/github.com/hashicorp/terraform/command/workspace_command_test.go b/vendor/github.com/hashicorp/terraform/command/workspace_command_test.go
index cfa261b4..7baabbed 100644
--- a/vendor/github.com/hashicorp/terraform/command/workspace_command_test.go
+++ b/vendor/github.com/hashicorp/terraform/command/workspace_command_test.go
@@ -9,6 +9,8 @@ import (
"github.com/hashicorp/terraform/backend"
"github.com/hashicorp/terraform/backend/local"
+ "github.com/hashicorp/terraform/backend/remote-state/inmem"
+ "github.com/hashicorp/terraform/helper/copy"
"github.com/hashicorp/terraform/state"
"github.com/hashicorp/terraform/terraform"
"github.com/mitchellh/cli"
@@ -211,9 +213,19 @@ func TestWorkspace_createInvalid(t *testing.T) {
func TestWorkspace_createWithState(t *testing.T) {
td := tempDir(t)
- os.MkdirAll(td, 0755)
+ copy.CopyDir(testFixturePath("inmem-backend"), td)
defer os.RemoveAll(td)
defer testChdir(t, td)()
+ defer inmem.Reset()
+
+ // init the backend
+ ui := new(cli.MockUi)
+ initCmd := &InitCommand{
+ Meta: Meta{Ui: ui},
+ }
+ if code := initCmd.Run([]string{}); code != 0 {
+ t.Fatalf("bad: \n%s", ui.ErrorWriter.String())
+ }
// create a non-empty state
originalState := &terraform.State{
@@ -237,8 +249,10 @@ func TestWorkspace_createWithState(t *testing.T) {
t.Fatal(err)
}
- args := []string{"-state", "test.tfstate", "test"}
- ui := new(cli.MockUi)
+ workspace := "test_workspace"
+
+ args := []string{"-state", "test.tfstate", workspace}
+ ui = new(cli.MockUi)
newCmd := &WorkspaceNewCommand{
Meta: Meta{Ui: ui},
}
@@ -253,7 +267,14 @@ func TestWorkspace_createWithState(t *testing.T) {
t.Fatal(err)
}
- newState := envState.State()
+ b := backend.TestBackendConfig(t, inmem.New(), nil)
+ sMgr, err := b.State(workspace)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ newState := sMgr.State()
+
originalState.Version = newState.Version // the round-trip through the state manager implicitly populates version
if !originalState.Equal(newState) {
t.Fatalf("states not equal\norig: %s\nnew: %s", originalState, newState)
diff --git a/vendor/github.com/hashicorp/terraform/commands.go b/vendor/github.com/hashicorp/terraform/commands.go
index 85f1794b..910245a6 100644
--- a/vendor/github.com/hashicorp/terraform/commands.go
+++ b/vendor/github.com/hashicorp/terraform/commands.go
@@ -276,13 +276,17 @@ func init() {
"state rm": func() (cli.Command, error) {
return &command.StateRmCommand{
- Meta: meta,
+ StateMeta: command.StateMeta{
+ Meta: meta,
+ },
}, nil
},
"state mv": func() (cli.Command, error) {
return &command.StateMvCommand{
- Meta: meta,
+ StateMeta: command.StateMeta{
+ Meta: meta,
+ },
}, nil
},
diff --git a/vendor/github.com/hashicorp/terraform/config/loader_hcl.go b/vendor/github.com/hashicorp/terraform/config/loader_hcl.go
index e85e4935..bcd4d43a 100644
--- a/vendor/github.com/hashicorp/terraform/config/loader_hcl.go
+++ b/vendor/github.com/hashicorp/terraform/config/loader_hcl.go
@@ -21,6 +21,7 @@ var ReservedResourceFields = []string{
"connection",
"count",
"depends_on",
+ "id",
"lifecycle",
"provider",
"provisioner",
@@ -28,6 +29,7 @@ var ReservedResourceFields = []string{
var ReservedProviderFields = []string{
"alias",
+ "id",
"version",
}
diff --git a/vendor/github.com/hashicorp/terraform/dag/walk.go b/vendor/github.com/hashicorp/terraform/dag/walk.go
index 23c87adc..f03b1003 100644
--- a/vendor/github.com/hashicorp/terraform/dag/walk.go
+++ b/vendor/github.com/hashicorp/terraform/dag/walk.go
@@ -166,7 +166,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
w.wait.Add(1)
// Add to our own set so we know about it already
- log.Printf("[DEBUG] dag/walk: added new vertex: %q", VertexName(v))
+ log.Printf("[TRACE] dag/walk: added new vertex: %q", VertexName(v))
w.vertices.Add(raw)
// Initialize the vertex info
@@ -198,7 +198,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
// Delete it out of the map
delete(w.vertexMap, v)
- log.Printf("[DEBUG] dag/walk: removed vertex: %q", VertexName(v))
+ log.Printf("[TRACE] dag/walk: removed vertex: %q", VertexName(v))
w.vertices.Delete(raw)
}
@@ -229,7 +229,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
changedDeps.Add(waiter)
log.Printf(
- "[DEBUG] dag/walk: added edge: %q waiting on %q",
+ "[TRACE] dag/walk: added edge: %q waiting on %q",
VertexName(waiter), VertexName(dep))
w.edges.Add(raw)
}
@@ -253,7 +253,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
changedDeps.Add(waiter)
log.Printf(
- "[DEBUG] dag/walk: removed edge: %q waiting on %q",
+ "[TRACE] dag/walk: removed edge: %q waiting on %q",
VertexName(waiter), VertexName(dep))
w.edges.Delete(raw)
}
@@ -296,7 +296,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
info.depsCancelCh = cancelCh
log.Printf(
- "[DEBUG] dag/walk: dependencies changed for %q, sending new deps",
+ "[TRACE] dag/walk: dependencies changed for %q, sending new deps",
VertexName(v))
// Start the waiter
@@ -383,10 +383,10 @@ func (w *Walker) walkVertex(v Vertex, info *walkerVertex) {
// Run our callback or note that our upstream failed
var err error
if depsSuccess {
- log.Printf("[DEBUG] dag/walk: walking %q", VertexName(v))
+ log.Printf("[TRACE] dag/walk: walking %q", VertexName(v))
err = w.Callback(v)
} else {
- log.Printf("[DEBUG] dag/walk: upstream errored, not walking %q", VertexName(v))
+ log.Printf("[TRACE] dag/walk: upstream errored, not walking %q", VertexName(v))
err = errWalkUpstream
}
@@ -423,7 +423,7 @@ func (w *Walker) waitDeps(
return
case <-time.After(time.Second * 5):
- log.Printf("[DEBUG] dag/walk: vertex %q, waiting for: %q",
+ log.Printf("[TRACE] dag/walk: vertex %q, waiting for: %q",
VertexName(v), VertexName(dep))
}
}
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go b/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go
index 16bbae29..644b93e6 100644
--- a/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go
+++ b/vendor/github.com/hashicorp/terraform/helper/schema/field_reader_diff.go
@@ -29,29 +29,59 @@ type DiffFieldReader struct {
Diff *terraform.InstanceDiff
Source FieldReader
Schema map[string]*Schema
+
+ // cache for memoizing ReadField calls.
+ cache map[string]cachedFieldReadResult
+}
+
+type cachedFieldReadResult struct {
+ val FieldReadResult
+ err error
}
func (r *DiffFieldReader) ReadField(address []string) (FieldReadResult, error) {
+ if r.cache == nil {
+ r.cache = make(map[string]cachedFieldReadResult)
+ }
+
+ // Create the cache key by joining around a value that isn't a valid part
+ // of an address. This assumes that the Source and Schema are not changed
+ // for the life of this DiffFieldReader.
+ cacheKey := strings.Join(address, "|")
+ if cached, ok := r.cache[cacheKey]; ok {
+ return cached.val, cached.err
+ }
+
schemaList := addrToSchema(address, r.Schema)
if len(schemaList) == 0 {
+ r.cache[cacheKey] = cachedFieldReadResult{}
return FieldReadResult{}, nil
}
+ var res FieldReadResult
+ var err error
+
schema := schemaList[len(schemaList)-1]
switch schema.Type {
case TypeBool, TypeInt, TypeFloat, TypeString:
- return r.readPrimitive(address, schema)
+ res, err = r.readPrimitive(address, schema)
case TypeList:
- return readListField(r, address, schema)
+ res, err = readListField(r, address, schema)
case TypeMap:
- return r.readMap(address, schema)
+ res, err = r.readMap(address, schema)
case TypeSet:
- return r.readSet(address, schema)
+ res, err = r.readSet(address, schema)
case typeObject:
- return readObjectField(r, address, schema.Elem.(map[string]*Schema))
+ res, err = readObjectField(r, address, schema.Elem.(map[string]*Schema))
default:
panic(fmt.Sprintf("Unknown type: %#v", schema.Type))
}
+
+ r.cache[cacheKey] = cachedFieldReadResult{
+ val: res,
+ err: err,
+ }
+ return res, err
}
func (r *DiffFieldReader) readMap(
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go
index b2bc8f6c..15aa0b5d 100644
--- a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go
+++ b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data.go
@@ -104,6 +104,22 @@ func (d *ResourceData) GetOk(key string) (interface{}, bool) {
return r.Value, exists
}
+// GetOkExists returns the data for a given key and whether or not the key
+// has been set to a non-zero value. This is only useful for determining
+// if boolean attributes have been set, if they are Optional but do not
+// have a Default value.
+//
+// This is nearly the same function as GetOk, yet it does not check
+// for the zero value of the attribute's type. This allows for attributes
+// without a default, to fully check for a literal assignment, regardless
+// of the zero-value for that type.
+// This should only be used if absolutely required/needed.
+func (d *ResourceData) GetOkExists(key string) (interface{}, bool) {
+ r := d.getRaw(key, getSourceSet)
+ exists := r.Exists && !r.Computed
+ return r.Value, exists
+}
+
func (d *ResourceData) getRaw(key string, level getSource) getResult {
var parts []string
if key != "" {
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data_test.go b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data_test.go
index 615a0f7f..09aefb8f 100644
--- a/vendor/github.com/hashicorp/terraform/helper/schema/resource_data_test.go
+++ b/vendor/github.com/hashicorp/terraform/helper/schema/resource_data_test.go
@@ -1082,6 +1082,258 @@ func TestResourceDataGetOk(t *testing.T) {
}
}
+func TestResourceDataGetOkExists(t *testing.T) {
+ cases := []struct {
+ Name string
+ Schema map[string]*Schema
+ State *terraform.InstanceState
+ Diff *terraform.InstanceDiff
+ Key string
+ Value interface{}
+ Ok bool
+ }{
+ /*
+ * Primitives
+ */
+ {
+ Name: "string-literal-empty",
+ Schema: map[string]*Schema{
+ "availability_zone": {
+ Type: TypeString,
+ Optional: true,
+ Computed: true,
+ ForceNew: true,
+ },
+ },
+
+ State: nil,
+
+ Diff: &terraform.InstanceDiff{
+ Attributes: map[string]*terraform.ResourceAttrDiff{
+ "availability_zone": {
+ Old: "",
+ New: "",
+ },
+ },
+ },
+
+ Key: "availability_zone",
+ Value: "",
+ Ok: true,
+ },
+
+ {
+ Name: "string-computed-empty",
+ Schema: map[string]*Schema{
+ "availability_zone": {
+ Type: TypeString,
+ Optional: true,
+ Computed: true,
+ ForceNew: true,
+ },
+ },
+
+ State: nil,
+
+ Diff: &terraform.InstanceDiff{
+ Attributes: map[string]*terraform.ResourceAttrDiff{
+ "availability_zone": {
+ Old: "",
+ New: "",
+ NewComputed: true,
+ },
+ },
+ },
+
+ Key: "availability_zone",
+ Value: "",
+ Ok: false,
+ },
+
+ {
+ Name: "string-optional-computed-nil-diff",
+ Schema: map[string]*Schema{
+ "availability_zone": {
+ Type: TypeString,
+ Optional: true,
+ Computed: true,
+ ForceNew: true,
+ },
+ },
+
+ State: nil,
+
+ Diff: nil,
+
+ Key: "availability_zone",
+ Value: "",
+ Ok: false,
+ },
+
+ /*
+ * Lists
+ */
+
+ {
+ Name: "list-optional",
+ Schema: map[string]*Schema{
+ "ports": {
+ Type: TypeList,
+ Optional: true,
+ Elem: &Schema{Type: TypeInt},
+ },
+ },
+
+ State: nil,
+
+ Diff: nil,
+
+ Key: "ports",
+ Value: []interface{}{},
+ Ok: false,
+ },
+
+ /*
+ * Map
+ */
+
+ {
+ Name: "map-optional",
+ Schema: map[string]*Schema{
+ "ports": {
+ Type: TypeMap,
+ Optional: true,
+ },
+ },
+
+ State: nil,
+
+ Diff: nil,
+
+ Key: "ports",
+ Value: map[string]interface{}{},
+ Ok: false,
+ },
+
+ /*
+ * Set
+ */
+
+ {
+ Name: "set-optional",
+ Schema: map[string]*Schema{
+ "ports": {
+ Type: TypeSet,
+ Optional: true,
+ Elem: &Schema{Type: TypeInt},
+ Set: func(a interface{}) int { return a.(int) },
+ },
+ },
+
+ State: nil,
+
+ Diff: nil,
+
+ Key: "ports",
+ Value: []interface{}{},
+ Ok: false,
+ },
+
+ {
+ Name: "set-optional-key",
+ Schema: map[string]*Schema{
+ "ports": {
+ Type: TypeSet,
+ Optional: true,
+ Elem: &Schema{Type: TypeInt},
+ Set: func(a interface{}) int { return a.(int) },
+ },
+ },
+
+ State: nil,
+
+ Diff: nil,
+
+ Key: "ports.0",
+ Value: 0,
+ Ok: false,
+ },
+
+ {
+ Name: "bool-literal-empty",
+ Schema: map[string]*Schema{
+ "availability_zone": {
+ Type: TypeBool,
+ Optional: true,
+ Computed: true,
+ ForceNew: true,
+ },
+ },
+
+ State: nil,
+ Diff: &terraform.InstanceDiff{
+ Attributes: map[string]*terraform.ResourceAttrDiff{
+ "availability_zone": {
+ Old: "",
+ New: "",
+ },
+ },
+ },
+
+ Key: "availability_zone",
+ Value: false,
+ Ok: true,
+ },
+
+ {
+ Name: "bool-literal-set",
+ Schema: map[string]*Schema{
+ "availability_zone": {
+ Type: TypeBool,
+ Optional: true,
+ Computed: true,
+ ForceNew: true,
+ },
+ },
+
+ State: nil,
+
+ Diff: &terraform.InstanceDiff{
+ Attributes: map[string]*terraform.ResourceAttrDiff{
+ "availability_zone": {
+ New: "true",
+ },
+ },
+ },
+
+ Key: "availability_zone",
+ Value: true,
+ Ok: true,
+ },
+ }
+
+ for i, tc := range cases {
+ t.Run(fmt.Sprintf("%d-%s", i, tc.Name), func(t *testing.T) {
+ d, err := schemaMap(tc.Schema).Data(tc.State, tc.Diff)
+ if err != nil {
+ t.Fatalf("%s err: %s", tc.Name, err)
+ }
+
+ v, ok := d.GetOkExists(tc.Key)
+ if s, ok := v.(*Set); ok {
+ v = s.List()
+ }
+
+ if !reflect.DeepEqual(v, tc.Value) {
+ t.Fatalf("Bad %s: \n%#v", tc.Name, v)
+ }
+ if ok != tc.Ok {
+ t.Fatalf("%s: expected ok: %t, got: %t", tc.Name, tc.Ok, ok)
+ }
+ })
+ }
+}
+
func TestResourceDataTimeout(t *testing.T) {
cases := []struct {
Name string
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/set.go b/vendor/github.com/hashicorp/terraform/helper/schema/set.go
index de05f40e..bb194ee6 100644
--- a/vendor/github.com/hashicorp/terraform/helper/schema/set.go
+++ b/vendor/github.com/hashicorp/terraform/helper/schema/set.go
@@ -153,6 +153,31 @@ func (s *Set) Equal(raw interface{}) bool {
return reflect.DeepEqual(s.m, other.m)
}
+// HashEqual simply checks to the keys the top-level map to the keys in the
+// other set's top-level map to see if they are equal. This obviously assumes
+// you have a properly working hash function - use HashResource if in doubt.
+func (s *Set) HashEqual(raw interface{}) bool {
+ other, ok := raw.(*Set)
+ if !ok {
+ return false
+ }
+
+ ks1 := make([]string, 0)
+ ks2 := make([]string, 0)
+
+ for k := range s.m {
+ ks1 = append(ks1, k)
+ }
+ for k := range other.m {
+ ks2 = append(ks2, k)
+ }
+
+ sort.Strings(ks1)
+ sort.Strings(ks2)
+
+ return reflect.DeepEqual(ks1, ks2)
+}
+
func (s *Set) GoString() string {
return fmt.Sprintf("*Set(%#v)", s.m)
}
diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/set_test.go b/vendor/github.com/hashicorp/terraform/helper/schema/set_test.go
index 21f29295..edeeb37a 100644
--- a/vendor/github.com/hashicorp/terraform/helper/schema/set_test.go
+++ b/vendor/github.com/hashicorp/terraform/helper/schema/set_test.go
@@ -128,3 +128,90 @@ func TestHashResource_nil(t *testing.T) {
t.Fatalf("Expected 0 when hashing nil, given: %d", idx)
}
}
+
+func TestHashEqual(t *testing.T) {
+ nested := &Resource{
+ Schema: map[string]*Schema{
+ "foo": {
+ Type: TypeString,
+ Optional: true,
+ },
+ },
+ }
+ root := &Resource{
+ Schema: map[string]*Schema{
+ "bar": {
+ Type: TypeString,
+ Optional: true,
+ },
+ "nested": {
+ Type: TypeSet,
+ Optional: true,
+ Elem: nested,
+ },
+ },
+ }
+ n1 := map[string]interface{}{"foo": "bar"}
+ n2 := map[string]interface{}{"foo": "baz"}
+
+ r1 := map[string]interface{}{
+ "bar": "baz",
+ "nested": NewSet(HashResource(nested), []interface{}{n1}),
+ }
+ r2 := map[string]interface{}{
+ "bar": "qux",
+ "nested": NewSet(HashResource(nested), []interface{}{n2}),
+ }
+ r3 := map[string]interface{}{
+ "bar": "baz",
+ "nested": NewSet(HashResource(nested), []interface{}{n2}),
+ }
+ r4 := map[string]interface{}{
+ "bar": "qux",
+ "nested": NewSet(HashResource(nested), []interface{}{n1}),
+ }
+ s1 := NewSet(HashResource(root), []interface{}{r1})
+ s2 := NewSet(HashResource(root), []interface{}{r2})
+ s3 := NewSet(HashResource(root), []interface{}{r3})
+ s4 := NewSet(HashResource(root), []interface{}{r4})
+
+ cases := []struct {
+ name string
+ set *Set
+ compare *Set
+ expected bool
+ }{
+ {
+ name: "equal",
+ set: s1,
+ compare: s1,
+ expected: true,
+ },
+ {
+ name: "not equal",
+ set: s1,
+ compare: s2,
+ expected: false,
+ },
+ {
+ name: "outer equal, should still not be equal",
+ set: s1,
+ compare: s3,
+ expected: false,
+ },
+ {
+ name: "inner equal, should still not be equal",
+ set: s1,
+ compare: s4,
+ expected: false,
+ },
+ }
+ for _, tc := range cases {
+ t.Run(tc.name, func(t *testing.T) {
+ actual := tc.set.HashEqual(tc.compare)
+ if tc.expected != actual {
+ t.Fatalf("expected %t, got %t", tc.expected, actual)
+ }
+ })
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/plugin/client.go b/vendor/github.com/hashicorp/terraform/plugin/client.go
index 3a5cb7af..7e2f4fec 100644
--- a/vendor/github.com/hashicorp/terraform/plugin/client.go
+++ b/vendor/github.com/hashicorp/terraform/plugin/client.go
@@ -1,8 +1,10 @@
package plugin
import (
+ "os"
"os/exec"
+ hclog "github.com/hashicorp/go-hclog"
plugin "github.com/hashicorp/go-plugin"
"github.com/hashicorp/terraform/plugin/discovery"
)
@@ -10,11 +12,18 @@ import (
// ClientConfig returns a configuration object that can be used to instantiate
// a client for the plugin described by the given metadata.
func ClientConfig(m discovery.PluginMeta) *plugin.ClientConfig {
+ logger := hclog.New(&hclog.LoggerOptions{
+ Name: "plugin",
+ Level: hclog.Trace,
+ Output: os.Stderr,
+ })
+
return &plugin.ClientConfig{
Cmd: exec.Command(m.Path),
HandshakeConfig: Handshake,
Managed: true,
Plugins: PluginMap,
+ Logger: logger,
}
}
diff --git a/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go b/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go
index f5bc4c1c..10f8fce9 100644
--- a/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go
+++ b/vendor/github.com/hashicorp/terraform/plugin/discovery/find.go
@@ -59,7 +59,6 @@ func findPluginPaths(kind string, dirs []string) []string {
fullName := item.Name()
if !strings.HasPrefix(fullName, prefix) {
- log.Printf("[DEBUG] skipping %q, not a %s", fullName, kind)
continue
}
diff --git a/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go b/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go
index 241b5cb3..64d2b695 100644
--- a/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go
+++ b/vendor/github.com/hashicorp/terraform/plugin/discovery/get.go
@@ -16,6 +16,7 @@ import (
cleanhttp "github.com/hashicorp/go-cleanhttp"
getter "github.com/hashicorp/go-getter"
multierror "github.com/hashicorp/go-multierror"
+ "github.com/mitchellh/cli"
)
// Releases are located by parsing the html listing from releases.hashicorp.com.
@@ -58,6 +59,8 @@ type ProviderInstaller struct {
// Skip checksum and signature verification
SkipVerify bool
+
+ Ui cli.Ui // Ui for output
}
// Get is part of an implementation of type Installer, and attempts to download
@@ -116,6 +119,7 @@ func (i *ProviderInstaller) Get(provider string, req Constraints) (PluginMeta, e
log.Printf("[DEBUG] fetching provider info for %s version %s", provider, v)
if checkPlugin(url, i.PluginProtocolVersion) {
+ i.Ui.Info(fmt.Sprintf("- Downloading plugin for provider %q (%s)...", provider, v.String()))
log.Printf("[DEBUG] getting provider %q version %q at %s", provider, v, url)
err := getter.Get(i.Dir, url)
if err != nil {
@@ -422,3 +426,7 @@ func getFile(url string) ([]byte, error) {
}
return data, nil
}
+
+func GetReleaseHost() string {
+ return releaseHost
+}
diff --git a/vendor/github.com/hashicorp/terraform/plugin/discovery/get_test.go b/vendor/github.com/hashicorp/terraform/plugin/discovery/get_test.go
index 16ba697c..65b2497a 100644
--- a/vendor/github.com/hashicorp/terraform/plugin/discovery/get_test.go
+++ b/vendor/github.com/hashicorp/terraform/plugin/discovery/get_test.go
@@ -13,6 +13,8 @@ import (
"regexp"
"strings"
"testing"
+
+ "github.com/mitchellh/cli"
)
const testProviderFile = "test provider binary"
@@ -149,6 +151,7 @@ func TestProviderInstallerGet(t *testing.T) {
Dir: tmpDir,
PluginProtocolVersion: 5,
SkipVerify: true,
+ Ui: cli.NewMockUi(),
}
_, err = i.Get("test", AllVersions)
if err != ErrorNoVersionCompatible {
@@ -159,6 +162,7 @@ func TestProviderInstallerGet(t *testing.T) {
Dir: tmpDir,
PluginProtocolVersion: 3,
SkipVerify: true,
+ Ui: cli.NewMockUi(),
}
{
@@ -230,6 +234,7 @@ func TestProviderInstallerPurgeUnused(t *testing.T) {
Dir: tmpDir,
PluginProtocolVersion: 3,
SkipVerify: true,
+ Ui: cli.NewMockUi(),
}
purged, err := i.PurgeUnused(map[string]PluginMeta{
"test": PluginMeta{
diff --git a/vendor/github.com/hashicorp/terraform/plugins.go b/vendor/github.com/hashicorp/terraform/plugins.go
index bf239780..cf2d5425 100644
--- a/vendor/github.com/hashicorp/terraform/plugins.go
+++ b/vendor/github.com/hashicorp/terraform/plugins.go
@@ -1,8 +1,10 @@
package main
import (
+ "fmt"
"log"
"path/filepath"
+ "runtime"
)
// globalPluginDirs returns directories that should be searched for
@@ -18,7 +20,9 @@ func globalPluginDirs() []string {
if err != nil {
log.Printf("[ERROR] Error finding global config directory: %s", err)
} else {
+ machineDir := fmt.Sprintf("%s_%s", runtime.GOOS, runtime.GOARCH)
ret = append(ret, filepath.Join(dir, "plugins"))
+ ret = append(ret, filepath.Join(dir, "plugins", machineDir))
}
return ret
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/Dockerfile-release b/vendor/github.com/hashicorp/terraform/scripts/docker-release/Dockerfile-release
index f1600df7..4545d0a9 100644
--- a/vendor/github.com/hashicorp/terraform/scripts/docker-release/Dockerfile-release
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/Dockerfile-release
@@ -34,4 +34,6 @@ RUN echo Building image for Terraform ${TERRAFORM_VERSION} && \
unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /bin && \
rm -f terraform_${TERRAFORM_VERSION}_linux_amd64.zip terraform_${TERRAFORM_VERSION}_SHA256SUMS*
+LABEL "com.hashicorp.terraform.version"="${TERRAFORM_VERSION}"
+
ENTRYPOINT ["/bin/terraform"]
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/README.md b/vendor/github.com/hashicorp/terraform/scripts/docker-release/README.md
index 2224aa6d..afcdfe4b 100644
--- a/vendor/github.com/hashicorp/terraform/scripts/docker-release/README.md
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/README.md
@@ -1,37 +1,77 @@
# Terraform Docker Release Build
-This directory contains configuration to drive the Dockerhub automated build
-for Terraform. This is different than the root Dockerfile (which produces
-the "full" image on Dockerhub) because it uses the release archives from
-releases.hashicorp.com. It is therefore not possible to use this configuration
-to build an image for a commit that hasn't been released.
+This directory contains configuration to drive the docker image releases for
+Terraform.
-## How it works
+Two different types of image are produced for each Terraform release:
-Dockerhub runs the `hooks/build` script to trigger the build. That uses
-`git describe` to identify the tag corresponding to the current `HEAD`. If
-the current commit _isn't_ tagged with a version number corresponding to
-a Terraform release already on releases.hashicorp.com, the build will fail.
+* A "light" image that includes just the release binary that should match
+ what's on releases.hashicorp.com.
-## What it produces
+* A "full" image that contains all of the Terraform source code and a binary
+ built from that source.
-This configuration is used to produce the "latest", "light", and "beta"
-tags in Dockerhub, as well as specific version tags.
+The latter can be produced for any arbitrary commit by running `docker build`
+in the root of this repository. The former requires that the release archive
+already be deployed on releases.hashicorp.com.
-* "latest" and "light" are synonyms, and are built from a branch in this
-repository called "stable".
-* "beta" is built from a branch called "beta".
+## Build and Release
-All of these branches should be updated only to _tagged_ commits, and only when
-it is desirable to create a new release image.
+The scripts in this directory are intended for running the steps to build,
+tag, and push the two images for a tagged and released version of Terraform.
+They expect to be run with git `HEAD` pointed at a release tag, whose name
+is used to determine the version to build. The version number indicated
+by the tag that `HEAD` is pointed at will be referred to below as
+the _current version_.
-## The `full` and `master` images image
+* `build.sh` builds locally both of the images for the current version.
+ This operates on the local docker daemon only, and produces tags that
+ include the current version number.
-This configuration does not produce the "full" image. That is instead produced
-by the `Dockerfile` in the repository root, driven by updates to the "stable"
-branch.
+* `tag.sh` updates the `latest`, `light` and `full` tags to refer to the
+ images for the current version, which must've been already produced by
+ an earlier run of `build.sh`. This operates on the local docker daemon
+ only.
-The "master" tag is updated for _every_ commit to the master branch of
-the Terraform core repository. It is not recommended to use these images for
-any production use, but they can be useful for testing bleeding-edge features
-that are not yet included in a release.
+* `push.sh` pushes the current version tag and the `latest`, `light` and
+ `full` tags up to dockerhub for public consumption. This writes images
+ to dockerhub, and so it requires docker credentials that have access to
+ write into the `hashicorp/terraform` repository.
+
+### Releasing a new "latest" version
+
+In the common case where a release is going to be considered the new latest
+stable version of Terraform, the helper script `release.sh` orchestrates
+all of the necessary steps to release to dockerhub:
+
+```
+$ git checkout v0.10.0
+$ scripts/docker-release/release.sh
+```
+
+Behind the scenes this script is running `build.sh`, `tag.sh` and `push.sh`
+as described above, with some extra confirmation steps to verify the
+correctness of the build.
+
+This script is interactive and so isn't suitable for running in automation.
+For automation, run the individual scripts directly.
+
+### Releasing a beta version or a patch to an earlier minor release
+
+The `release.sh` wrapper is not appropriate in two less common situations:
+
+* The version being released is a beta or other pre-release version, with
+ a version number like `v0.10.0-beta1` or `v0.10.0-rc1`.
+
+* The version being released belongs to a non-current minor release. For
+ example, if the current stable version is `v0.10.1` but the version
+ being released is `v0.9.14`.
+
+In both of these cases, only the specific version tag should be updated,
+which can be done as follows:
+
+```
+$ git checkout v0.11.0-beta1
+$ scripts/docker-release/build.sh
+$ docker push hashicorp/terraform:0.11.0-beta1
+```
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/build.sh b/vendor/github.com/hashicorp/terraform/scripts/docker-release/build.sh
new file mode 100755
index 00000000..8442e8a6
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/build.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+# This script builds two docker images for the version referred to by the
+# current git HEAD.
+#
+# After running this, run tag.sh if the images that are built should be
+# tagged as the "latest" release.
+
+set -eu
+
+BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd "$BASE"
+
+if [ "$#" -eq 0 ]; then
+ # We assume that this is always running while git HEAD is pointed at a release
+ # tag or a branch that is pointed at the same commit as a release tag. If not,
+ # this will fail since we can't build a release image for a commit that hasn't
+ # actually been released.
+ VERSION="$(git describe)"
+else
+ # This mode is here only to support release.sh, which ensures that the given
+ # version matches the current git tag. Running this script manually with
+ # an argument can't guarantee correct behavior since the "full" image
+ # will be built against the current work tree regardless of which version
+ # is selected.
+ VERSION="$1"
+fi
+
+echo "-- Building release docker images for version $VERSION --"
+echo ""
+VERSION_SLUG="${VERSION#v}"
+
+docker build --no-cache "--build-arg=TERRAFORM_VERSION=${VERSION_SLUG}" -t hashicorp/terraform:${VERSION_SLUG} -f "Dockerfile-release" .
+docker build --no-cache -t "hashicorp/terraform:${VERSION_SLUG}-full" ../../
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/hooks/build b/vendor/github.com/hashicorp/terraform/scripts/docker-release/hooks/build
deleted file mode 100755
index faed92fb..00000000
--- a/vendor/github.com/hashicorp/terraform/scripts/docker-release/hooks/build
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-# This script assumes that its working directory is the parent directory,
-# where the Dockerfile-release file is located, since that's how Dockerhub
-# runs hooks.
-
-set -eu
-
-# We assume that this is always running while git HEAD is pointed at a release
-# tag or a branch that is pointed at the same commit as a release tag. If not,
-# this will fail since we can't build a release image for a commit that hasn't
-# actually been released.
-VERSION="$(git describe)"
-
-echo "Building release docker images for version $VERSION"
-VERSION_SLUG="${VERSION#v}"
-
-docker build "--build-arg=TERRAFORM_VERSION=${VERSION_SLUG}" -t ${IMAGE_NAME} -f "Dockerfile-release" .
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/push.sh b/vendor/github.com/hashicorp/terraform/scripts/docker-release/push.sh
new file mode 100755
index 00000000..e65cd61b
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/push.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+# This script pushes the docker images for the given version of Terraform,
+# along with the "light", "full" and "latest" tags, up to docker hub.
+#
+# You must already be logged in to docker using "docker login" before running
+# this script.
+
+set -eu
+
+VERSION="$1"
+VERSION_SLUG="${VERSION#v}"
+
+echo "-- Pushing tags $VERSION_SLUG, light, full and latest up to dockerhub --"
+echo ""
+
+docker push "hashicorp/terraform:$VERSION_SLUG"
+docker push "hashicorp/terraform:light"
+docker push "hashicorp/terraform:full"
+docker push "hashicorp/terraform:latest"
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/release.sh b/vendor/github.com/hashicorp/terraform/scripts/docker-release/release.sh
new file mode 100755
index 00000000..a297748d
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/release.sh
@@ -0,0 +1,93 @@
+#!/usr/bin/env bash
+
+# This script is an interactive wrapper around the scripts build.sh, tag.sh
+# and push.sh intended for use during official Terraform releases.
+#
+# This script should be used only when git HEAD is pointing at the release tag
+# for what will become the new latest *stable* release, since it will update
+# the "latest", "light", and "full" tags to refer to what was built.
+#
+# To release a specific version without updating the various symbolic tags,
+# use build.sh directly and then manually push the single release tag it
+# creates. This is appropriate both when publishing a beta version and if,
+# for some reason, it's necessary to (re-)publish and older version.
+
+set -eu
+
+BASE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+cd "$BASE"
+
+# We assume that this is always running while git HEAD is pointed at a release
+# tag or a branch that is pointed at the same commit as a release tag. If not,
+# this will fail since we can't build a release image for a commit that hasn't
+# actually been released.
+VERSION="$(git describe)"
+VERSION_SLUG="${VERSION#v}"
+
+# Verify that the version is already deployed to releases.hashicorp.com.
+if curl --output /dev/null --silent --head --fail "https://releases.hashicorp.com/terraform/${VERSION_SLUG}/terraform_${VERSION_SLUG}_SHA256SUMS"; then
+ echo "===== Docker image release for Terraform $VERSION ====="
+ echo ""
+else
+ cat >&2 <<EOT
+
+There is no $VERSION release of Terraform on releases.hashicorp.com.
+
+release.sh can only create docker images for released versions. Use
+"git checkout {version}" to switch to a release tag before running this
+script.
+
+To create an untagged docker image for any arbitrary commit, use 'docker build'
+directly in the root of the Terraform repository.
+
+EOT
+ exit 1
+fi
+
+# Build the two images tagged with the version number
+./build.sh "$VERSION"
+
+# Verify that they were built correctly.
+echo "-- Testing $VERSION Images --"
+echo ""
+
+echo -n "light image version: "
+docker run --rm -e "CHECKPOINT_DISABLE=1" "hashicorp/terraform:${VERSION_SLUG}" version
+echo -n "full image version: "
+docker run --rm -e "CHECKPOINT_DISABLE=1" "hashicorp/terraform:${VERSION_SLUG}-full" version
+
+echo ""
+
+read -p "Did both images produce suitable version output for $VERSION? " -n 1 -r
+echo ""
+if ! [[ $REPLY =~ ^[Yy]$ ]]; then
+ echo >&2 Aborting due to inconsistent version output.
+ exit 1
+fi
+echo ""
+
+# Update the latest, light and full tags to point to the images we just built.
+./tag.sh "$VERSION"
+
+# Last chance to bail out
+echo "-- Prepare to Push --"
+echo ""
+echo "The following Terraform images are available locally:"
+docker images --format "{{.ID}}\t{{.Tag}}" hashicorp/terraform
+echo ""
+read -p "Ready to push the tags $VERSION_SLUG, light, full, and latest up to dockerhub? " -n 1 -r
+echo ""
+if ! [[ $REPLY =~ ^[Yy]$ ]]; then
+ echo >&2 "Aborting because reply wasn't positive."
+ exit 1
+fi
+echo ""
+
+# Actually upload the images
+./push.sh "$VERSION"
+
+echo ""
+echo "-- All done! --"
+echo ""
+echo "Confirm the release at https://hub.docker.com/r/hashicorp/terraform/tags/"
+echo ""
diff --git a/vendor/github.com/hashicorp/terraform/scripts/docker-release/tag.sh b/vendor/github.com/hashicorp/terraform/scripts/docker-release/tag.sh
new file mode 100755
index 00000000..88bd95f7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/scripts/docker-release/tag.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+# This script tags the version number given on the command line as being
+# the "latest" on the local system only.
+#
+# The following tags are updated:
+# - light (from the tag named after the version number)
+# - full (from the tag named after the version number with "-full" appended)
+# - latest (as an alias of light)
+#
+# Before running this the build.sh script must be run to actually create the
+# images that this script will tag.
+#
+# After tagging, use push.sh to push the images to dockerhub.
+
+set -eu
+
+VERSION="$1"
+VERSION_SLUG="${VERSION#v}"
+
+echo "-- Updating tags to point to version $VERSION --"
+echo ""
+
+docker tag "hashicorp/terraform:${VERSION_SLUG}" "hashicorp/terraform:light"
+docker tag "hashicorp/terraform:${VERSION_SLUG}" "hashicorp/terraform:latest"
+docker tag "hashicorp/terraform:${VERSION_SLUG}-full" "hashicorp/terraform:full"
diff --git a/vendor/github.com/hashicorp/terraform/state/remote/state.go b/vendor/github.com/hashicorp/terraform/state/remote/state.go
index 8e157101..575e4d18 100644
--- a/vendor/github.com/hashicorp/terraform/state/remote/state.go
+++ b/vendor/github.com/hashicorp/terraform/state/remote/state.go
@@ -2,7 +2,7 @@ package remote
import (
"bytes"
- "fmt"
+ "log"
"sync"
"github.com/hashicorp/terraform/state"
@@ -35,7 +35,10 @@ func (s *State) WriteState(state *terraform.State) error {
defer s.mu.Unlock()
if s.readState != nil && !state.SameLineage(s.readState) {
- return fmt.Errorf("incompatible state lineage; given %s but want %s", state.Lineage, s.readState.Lineage)
+ // This can't error here, because we need to be able to overwrite the
+ // state in some cases, like `state push -force` or `workspace new
+ // -state=`
+ log.Printf("[WARN] incompatible state lineage; given %s but want %s", state.Lineage, s.readState.Lineage)
}
// We create a deep copy of the state here, because the caller also has
diff --git a/vendor/github.com/hashicorp/terraform/terraform/context_input_test.go b/vendor/github.com/hashicorp/terraform/terraform/context_input_test.go
index 928c1147..750db918 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/context_input_test.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/context_input_test.go
@@ -719,3 +719,57 @@ func TestContext2Input_submoduleTriggersInvalidCount(t *testing.T) {
t.Fatalf("err: %s", err)
}
}
+
+// In this case, a module variable can't be resolved from a data source until
+// it's refreshed, but it can't be refreshed during Input.
+func TestContext2Input_dataSourceRequiresRefresh(t *testing.T) {
+ input := new(MockUIInput)
+ p := testProvider("null")
+ m := testModule(t, "input-module-data-vars")
+
+ p.ReadDataDiffFn = testDataDiffFn
+
+ state := &State{
+ Modules: []*ModuleState{
+ &ModuleState{
+ Path: rootModulePath,
+ Resources: map[string]*ResourceState{
+ "data.null_data_source.bar": &ResourceState{
+ Type: "null_data_source",
+ Primary: &InstanceState{
+ ID: "-",
+ Attributes: map[string]string{
+ "foo.#": "1",
+ "foo.0": "a",
+ // foo.1 exists in the data source, but needs to be refreshed.
+ },
+ },
+ },
+ },
+ },
+ },
+ }
+
+ ctx := testContext2(t, &ContextOpts{
+ Module: m,
+ ProviderResolver: ResourceProviderResolverFixed(
+ map[string]ResourceProviderFactory{
+ "null": testProviderFuncFixed(p),
+ },
+ ),
+ State: state,
+ UIInput: input,
+ })
+
+ if err := ctx.Input(InputModeStd); err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ // ensure that plan works after Refresh
+ if _, err := ctx.Refresh(); err != nil {
+ t.Fatalf("err: %s", err)
+ }
+ if _, err := ctx.Plan(); err != nil {
+ t.Fatalf("err: %s", err)
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/terraform/context_validate_test.go b/vendor/github.com/hashicorp/terraform/terraform/context_validate_test.go
index 4e9ab910..60cef142 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/context_validate_test.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/context_validate_test.go
@@ -1001,7 +1001,9 @@ func TestContext2Validate_PlanGraphBuilder(t *testing.T) {
Providers: c.components.ResourceProviders(),
Targets: c.targets,
}).Build(RootModulePath)
-
+ if err != nil {
+ t.Fatalf("error attmepting to Build PlanGraphBuilder: %s", err)
+ }
defer c.acquireRun("validate-test")()
walker, err := c.walk(graph, graph, walkValidate)
if err != nil {
diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval.go b/vendor/github.com/hashicorp/terraform/terraform/eval.go
index 3cb088a2..10d9c228 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/eval.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/eval.go
@@ -49,11 +49,11 @@ func EvalRaw(n EvalNode, ctx EvalContext) (interface{}, error) {
path = strings.Join(ctx.Path(), ".")
}
- log.Printf("[DEBUG] %s: eval: %T", path, n)
+ log.Printf("[TRACE] %s: eval: %T", path, n)
output, err := n.Eval(ctx)
if err != nil {
if _, ok := err.(EvalEarlyExitError); ok {
- log.Printf("[DEBUG] %s: eval: %T, err: %s", path, n, err)
+ log.Printf("[TRACE] %s: eval: %T, err: %s", path, n, err)
} else {
log.Printf("[ERROR] %s: eval: %T, err: %s", path, n, err)
}
diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go b/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go
index 6825ff59..df3bcb98 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/eval_interpolate.go
@@ -1,6 +1,10 @@
package terraform
-import "github.com/hashicorp/terraform/config"
+import (
+ "log"
+
+ "github.com/hashicorp/terraform/config"
+)
// EvalInterpolate is an EvalNode implementation that takes a raw
// configuration and interpolates it.
@@ -22,3 +26,28 @@ func (n *EvalInterpolate) Eval(ctx EvalContext) (interface{}, error) {
return nil, nil
}
+
+// EvalTryInterpolate is an EvalNode implementation that takes a raw
+// configuration and interpolates it, but only logs a warning on an
+// interpolation error, and stops further Eval steps.
+// This is used during Input where a value may not be known before Refresh, but
+// we don't want to block Input.
+type EvalTryInterpolate struct {
+ Config *config.RawConfig
+ Resource *Resource
+ Output **ResourceConfig
+}
+
+func (n *EvalTryInterpolate) Eval(ctx EvalContext) (interface{}, error) {
+ rc, err := ctx.Interpolate(n.Config, n.Resource)
+ if err != nil {
+ log.Printf("[WARN] Interpolation %q failed: %s", n.Config.Key, err)
+ return nil, EvalEarlyExitError{}
+ }
+
+ if n.Output != nil {
+ *n.Output = rc
+ }
+
+ return nil, nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/terraform/eval_state.go b/vendor/github.com/hashicorp/terraform/terraform/eval_state.go
index 126a0e63..1f67e3d8 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/eval_state.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/eval_state.go
@@ -1,6 +1,8 @@
package terraform
-import "fmt"
+import (
+ "fmt"
+)
// EvalReadState is an EvalNode implementation that reads the
// primary InstanceState for a specific resource out of the state.
diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph.go b/vendor/github.com/hashicorp/terraform/terraform/graph.go
index 48ce6a33..735ec4ec 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/graph.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/graph.go
@@ -70,7 +70,7 @@ func (g *Graph) walk(walker GraphWalker) error {
// Walk the graph.
var walkFn dag.WalkFunc
walkFn = func(v dag.Vertex) (rerr error) {
- log.Printf("[DEBUG] vertex '%s.%s': walking", path, dag.VertexName(v))
+ log.Printf("[TRACE] vertex '%s.%s': walking", path, dag.VertexName(v))
g.DebugVisitInfo(v, g.debugName)
// If we have a panic wrap GraphWalker and a panic occurs, recover
@@ -118,7 +118,7 @@ func (g *Graph) walk(walker GraphWalker) error {
// Allow the walker to change our tree if needed. Eval,
// then callback with the output.
- log.Printf("[DEBUG] vertex '%s.%s': evaluating", path, dag.VertexName(v))
+ log.Printf("[TRACE] vertex '%s.%s': evaluating", path, dag.VertexName(v))
g.DebugVertexInfo(v, fmt.Sprintf("evaluating %T(%s)", v, path))
@@ -132,7 +132,7 @@ func (g *Graph) walk(walker GraphWalker) error {
// If the node is dynamically expanded, then expand it
if ev, ok := v.(GraphNodeDynamicExpandable); ok {
log.Printf(
- "[DEBUG] vertex '%s.%s': expanding/walking dynamic subgraph",
+ "[TRACE] vertex '%s.%s': expanding/walking dynamic subgraph",
path,
dag.VertexName(v))
@@ -154,7 +154,7 @@ func (g *Graph) walk(walker GraphWalker) error {
// If the node has a subgraph, then walk the subgraph
if sn, ok := v.(GraphNodeSubgraph); ok {
log.Printf(
- "[DEBUG] vertex '%s.%s': walking subgraph",
+ "[TRACE] vertex '%s.%s': walking subgraph",
path,
dag.VertexName(v))
diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go
index 0df48cdb..10fd8b1e 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_input.go
@@ -10,6 +10,9 @@ import (
// and is based on the PlanGraphBuilder. The PlanGraphBuilder passed in will be
// modified and should not be used for any other operations.
func InputGraphBuilder(p *PlanGraphBuilder) GraphBuilder {
+ // convert this to an InputPlan
+ p.Input = true
+
// We're going to customize the concrete functions
p.CustomConcrete = true
diff --git a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go
index 4b29bbb4..9c7e4c1d 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/graph_builder_plan.go
@@ -40,6 +40,9 @@ type PlanGraphBuilder struct {
// Validate will do structural validation of the graph.
Validate bool
+ // Input represents that this builder is for an Input operation.
+ Input bool
+
// CustomConcrete can be set to customize the node types created
// for various parts of the plan. This is useful in order to customize
// the plan behavior.
@@ -107,7 +110,10 @@ func (b *PlanGraphBuilder) Steps() []GraphTransformer {
),
// Add module variables
- &ModuleVariableTransformer{Module: b.Module},
+ &ModuleVariableTransformer{
+ Module: b.Module,
+ Input: b.Input,
+ },
// Connect so that the references are ready for targeting. We'll
// have to connect again later for providers and so on.
diff --git a/vendor/github.com/hashicorp/terraform/terraform/node_data_refresh_test.go b/vendor/github.com/hashicorp/terraform/terraform/node_data_refresh_test.go
index 6aa3af37..d58739f3 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/node_data_refresh_test.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/node_data_refresh_test.go
@@ -55,6 +55,9 @@ func TestNodeRefreshableDataResourceDynamicExpand_scaleOut(t *testing.T) {
StateState: state,
StateLock: &stateLock,
})
+ if err != nil {
+ t.Fatalf("error on DynamicExpand: %s", err)
+ }
actual := g.StringWithNodeTypes()
expected := `data.aws_instance.foo[0] - *terraform.NodeRefreshableDataResourceInstance
@@ -136,7 +139,9 @@ func TestNodeRefreshableDataResourceDynamicExpand_scaleIn(t *testing.T) {
StateState: state,
StateLock: &stateLock,
})
-
+ if err != nil {
+ t.Fatalf("error on DynamicExpand: %s", err)
+ }
actual := g.StringWithNodeTypes()
expected := `data.aws_instance.foo[0] - *terraform.NodeRefreshableDataResourceInstance
data.aws_instance.foo[1] - *terraform.NodeRefreshableDataResourceInstance
diff --git a/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go b/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go
index 13fe8fc3..63b84a9c 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/node_module_variable.go
@@ -15,6 +15,9 @@ type NodeApplyableModuleVariable struct {
Value *config.RawConfig // Value is the value that is set
Module *module.Tree // Antiquated, want to remove
+
+ // Input is set if this graph was created for the Input operation.
+ Input bool
}
func (n *NodeApplyableModuleVariable) Name() string {
@@ -92,12 +95,24 @@ func (n *NodeApplyableModuleVariable) EvalTree() EvalNode {
// within the variables mapping.
var config *ResourceConfig
variables := make(map[string]interface{})
+
+ var interpolate EvalNode
+
+ if n.Input {
+ interpolate = &EvalTryInterpolate{
+ Config: n.Value,
+ Output: &config,
+ }
+ } else {
+ interpolate = &EvalInterpolate{
+ Config: n.Value,
+ Output: &config,
+ }
+ }
+
return &EvalSequence{
Nodes: []EvalNode{
- &EvalInterpolate{
- Config: n.Value,
- Output: &config,
- },
+ interpolate,
&EvalVariableBlock{
Config: &config,
diff --git a/vendor/github.com/hashicorp/terraform/terraform/node_resource_refresh_test.go b/vendor/github.com/hashicorp/terraform/terraform/node_resource_refresh_test.go
index 2c9f6921..b4f77ca6 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/node_resource_refresh_test.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/node_resource_refresh_test.go
@@ -58,6 +58,9 @@ func TestNodeRefreshableManagedResourceDynamicExpand_scaleOut(t *testing.T) {
StateState: state,
StateLock: &stateLock,
})
+ if err != nil {
+ t.Fatalf("error attempting DynamicExpand: %s", err)
+ }
actual := g.StringWithNodeTypes()
expected := `aws_instance.foo[0] - *terraform.NodeRefreshableManagedResourceInstance
@@ -139,7 +142,9 @@ func TestNodeRefreshableManagedResourceDynamicExpand_scaleIn(t *testing.T) {
StateState: state,
StateLock: &stateLock,
})
-
+ if err != nil {
+ t.Fatalf("error attempting DynamicExpand: %s", err)
+ }
actual := g.StringWithNodeTypes()
expected := `aws_instance.foo[0] - *terraform.NodeRefreshableManagedResourceInstance
aws_instance.foo[1] - *terraform.NodeRefreshableManagedResourceInstance
diff --git a/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/child/main.tf b/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/child/main.tf
new file mode 100644
index 00000000..aa5d69bd
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/child/main.tf
@@ -0,0 +1,5 @@
+variable "in" {}
+
+output "out" {
+ value = "${var.in}"
+}
diff --git a/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/main.tf b/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/main.tf
new file mode 100644
index 00000000..0a327b10
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/terraform/test-fixtures/input-module-data-vars/main.tf
@@ -0,0 +1,8 @@
+data "null_data_source" "bar" {
+ foo = ["a", "b"]
+}
+
+module "child" {
+ source = "./child"
+ in = "${data.null_data_source.bar.foo[1]}"
+}
diff --git a/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go b/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go
index 467950bd..dbfd1687 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/transform_module_variable.go
@@ -17,6 +17,7 @@ type ModuleVariableTransformer struct {
Module *module.Tree
DisablePrune bool // True if pruning unreferenced should be disabled
+ Input bool // True if this is from an Input operation.
}
func (t *ModuleVariableTransformer) Transform(g *Graph) error {
@@ -99,6 +100,7 @@ func (t *ModuleVariableTransformer) transformSingle(g *Graph, parent, m *module.
Config: v,
Value: value,
Module: t.Module,
+ Input: t.Input,
}
if !t.DisablePrune {
diff --git a/vendor/github.com/hashicorp/terraform/terraform/upgrade_state_v1_test.go b/vendor/github.com/hashicorp/terraform/terraform/upgrade_state_v1_test.go
index 405cba94..93e03acc 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/upgrade_state_v1_test.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/upgrade_state_v1_test.go
@@ -81,6 +81,10 @@ func TestReadUpgradeStateV1toV3_emptyState(t *testing.T) {
}
stateV2, err := upgradeStateV1ToV2(orig)
+ if err != nil {
+ t.Fatalf("error attempting upgradeStateV1ToV2: %s", err)
+ }
+
for _, m := range stateV2.Modules {
if m.Resources == nil {
t.Fatal("V1 to V2 upgrade lost module.Resources")
@@ -91,6 +95,9 @@ func TestReadUpgradeStateV1toV3_emptyState(t *testing.T) {
}
stateV3, err := upgradeStateV2ToV3(stateV2)
+ if err != nil {
+ t.Fatalf("error attempting to upgradeStateV2ToV3: %s", err)
+ }
for _, m := range stateV3.Modules {
if m.Resources == nil {
t.Fatal("V2 to V3 upgrade lost module.Resources")
diff --git a/vendor/github.com/hashicorp/terraform/terraform/version.go b/vendor/github.com/hashicorp/terraform/terraform/version.go
index d61b11ea..de9296a2 100644
--- a/vendor/github.com/hashicorp/terraform/terraform/version.go
+++ b/vendor/github.com/hashicorp/terraform/terraform/version.go
@@ -7,12 +7,12 @@ import (
)
// The main version number that is being run at the moment.
-const Version = "0.10.0"
+const Version = "0.10.2"
// A pre-release marker for the version. If this is "" (empty string)
// then it means that it is a final release. Otherwise, this is a pre-release
// such as "dev" (in development), "beta", "rc1", etc.
-var VersionPrerelease = "dev"
+var VersionPrerelease = ""
// SemVersion is an instance of version.Version. This has the secondary
// benefit of verifying during tests and init time that our version is a
diff --git a/vendor/github.com/hashicorp/terraform/tools/terraform-bundle/package.go b/vendor/github.com/hashicorp/terraform/tools/terraform-bundle/package.go
index 2f0f33a8..6c7ee51e 100644
--- a/vendor/github.com/hashicorp/terraform/tools/terraform-bundle/package.go
+++ b/vendor/github.com/hashicorp/terraform/tools/terraform-bundle/package.go
@@ -19,8 +19,6 @@ import (
"github.com/mitchellh/cli"
)
-const releasesBaseURL = "https://releases.hashicorp.com"
-
type PackageCommand struct {
ui cli.Ui
}
@@ -91,18 +89,23 @@ func (c *PackageCommand) Run(args []string) int {
OS: osName,
Arch: archName,
+ Ui: c.ui,
+ }
+
+ if len(config.Providers) > 0 {
+ c.ui.Output(fmt.Sprintf("Checking for available provider plugins on %s...",
+ discovery.GetReleaseHost()))
}
for name, constraints := range config.Providers {
- c.ui.Info(fmt.Sprintf("Fetching provider %q...", name))
for _, constraint := range constraints {
- meta, err := installer.Get(name, constraint.MustParse())
+ c.ui.Output(fmt.Sprintf("- Resolving %q provider (%s)...",
+ name, constraint))
+ _, err := installer.Get(name, constraint.MustParse())
if err != nil {
- c.ui.Error(fmt.Sprintf("Failed to resolve %s provider %s: %s", name, constraint, err))
+ c.ui.Error(fmt.Sprintf("- Failed to resolve %s provider %s: %s", name, constraint, err))
return 1
}
-
- c.ui.Info(fmt.Sprintf("- %q resolved to %s", constraint, meta.Version))
}
}
@@ -183,7 +186,7 @@ func (c *PackageCommand) bundleFilename(version discovery.VersionStr, time time.
func (c *PackageCommand) coreURL(version discovery.VersionStr, osName, archName string) string {
return fmt.Sprintf(
"%s/terraform/%s/terraform_%s_%s_%s.zip",
- releasesBaseURL, version, version, osName, archName,
+ discovery.GetReleaseHost(), version, version, osName, archName,
)
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/README.md
deleted file mode 100644
index a7399cdd..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/README.md
+++ /dev/null
@@ -1,74 +0,0 @@
-go-metrics
-==========
-
-This library provides a `metrics` package which can be used to instrument code,
-expose application metrics, and profile runtime performance in a flexible manner.
-
-Current API: [![GoDoc](https://godoc.org/github.com/armon/go-metrics?status.svg)](https://godoc.org/github.com/armon/go-metrics)
-
-Sinks
-=====
-
-The `metrics` package makes use of a `MetricSink` interface to support delivery
-to any type of backend. Currently the following sinks are provided:
-
-* StatsiteSink : Sinks to a [statsite](https://github.com/armon/statsite/) instance (TCP)
-* StatsdSink: Sinks to a [StatsD](https://github.com/etsy/statsd/) / statsite instance (UDP)
-* PrometheusSink: Sinks to a [Prometheus](http://prometheus.io/) metrics endpoint (exposed via HTTP for scrapes)
-* InmemSink : Provides in-memory aggregation, can be used to export stats
-* FanoutSink : Sinks to multiple sinks. Enables writing to multiple statsite instances for example.
-* BlackholeSink : Sinks to nowhere
-
-In addition to the sinks, the `InmemSignal` can be used to catch a signal,
-and dump a formatted output of recent metrics. For example, when a process gets
-a SIGUSR1, it can dump to stderr recent performance metrics for debugging.
-
-Examples
-========
-
-Here is an example of using the package:
-
-```go
-func SlowMethod() {
- // Profiling the runtime of a method
- defer metrics.MeasureSince([]string{"SlowMethod"}, time.Now())
-}
-
-// Configure a statsite sink as the global metrics sink
-sink, _ := metrics.NewStatsiteSink("statsite:8125")
-metrics.NewGlobal(metrics.DefaultConfig("service-name"), sink)
-
-// Emit a Key/Value pair
-metrics.EmitKey([]string{"questions", "meaning of life"}, 42)
-```
-
-Here is an example of setting up a signal handler:
-
-```go
-// Setup the inmem sink and signal handler
-inm := metrics.NewInmemSink(10*time.Second, time.Minute)
-sig := metrics.DefaultInmemSignal(inm)
-metrics.NewGlobal(metrics.DefaultConfig("service-name"), inm)
-
-// Run some code
-inm.SetGauge([]string{"foo"}, 42)
-inm.EmitKey([]string{"bar"}, 30)
-
-inm.IncrCounter([]string{"baz"}, 42)
-inm.IncrCounter([]string{"baz"}, 1)
-inm.IncrCounter([]string{"baz"}, 80)
-
-inm.AddSample([]string{"method", "wow"}, 42)
-inm.AddSample([]string{"method", "wow"}, 100)
-inm.AddSample([]string{"method", "wow"}, 22)
-
-....
-```
-
-When a signal comes in, output like the following will be dumped to stderr:
-
- [2014-01-28 14:57:33.04 -0800 PST][G] 'foo': 42.000
- [2014-01-28 14:57:33.04 -0800 PST][P] 'bar': 30.000
- [2014-01-28 14:57:33.04 -0800 PST][C] 'baz': Count: 3 Min: 1.000 Mean: 41.000 Max: 80.000 Stddev: 39.509
- [2014-01-28 14:57:33.04 -0800 PST][S] 'method.wow': Count: 3 Min: 22.000 Mean: 54.667 Max: 100.000 Stddev: 40.513
-
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_unix.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_unix.go
deleted file mode 100644
index 31098dd5..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_unix.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// +build !windows
-
-package metrics
-
-import (
- "syscall"
-)
-
-const (
- // DefaultSignal is used with DefaultInmemSignal
- DefaultSignal = syscall.SIGUSR1
-)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_windows.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_windows.go
deleted file mode 100644
index 38136af3..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/const_windows.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// +build windows
-
-package metrics
-
-import (
- "syscall"
-)
-
-const (
- // DefaultSignal is used with DefaultInmemSignal
- // Windows has no SIGUSR1, use SIGBREAK
- DefaultSignal = syscall.Signal(21)
-)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem.go
deleted file mode 100644
index 83fb6bba..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem.go
+++ /dev/null
@@ -1,247 +0,0 @@
-package metrics
-
-import (
- "fmt"
- "math"
- "strings"
- "sync"
- "time"
-)
-
-// InmemSink provides a MetricSink that does in-memory aggregation
-// without sending metrics over a network. It can be embedded within
-// an application to provide profiling information.
-type InmemSink struct {
- // How long is each aggregation interval
- interval time.Duration
-
- // Retain controls how many metrics interval we keep
- retain time.Duration
-
- // maxIntervals is the maximum length of intervals.
- // It is retain / interval.
- maxIntervals int
-
- // intervals is a slice of the retained intervals
- intervals []*IntervalMetrics
- intervalLock sync.RWMutex
-
- rateDenom float64
-}
-
-// IntervalMetrics stores the aggregated metrics
-// for a specific interval
-type IntervalMetrics struct {
- sync.RWMutex
-
- // The start time of the interval
- Interval time.Time
-
- // Gauges maps the key to the last set value
- Gauges map[string]float32
-
- // Points maps the string to the list of emitted values
- // from EmitKey
- Points map[string][]float32
-
- // Counters maps the string key to a sum of the counter
- // values
- Counters map[string]*AggregateSample
-
- // Samples maps the key to an AggregateSample,
- // which has the rolled up view of a sample
- Samples map[string]*AggregateSample
-}
-
-// NewIntervalMetrics creates a new IntervalMetrics for a given interval
-func NewIntervalMetrics(intv time.Time) *IntervalMetrics {
- return &IntervalMetrics{
- Interval: intv,
- Gauges: make(map[string]float32),
- Points: make(map[string][]float32),
- Counters: make(map[string]*AggregateSample),
- Samples: make(map[string]*AggregateSample),
- }
-}
-
-// AggregateSample is used to hold aggregate metrics
-// about a sample
-type AggregateSample struct {
- Count int // The count of emitted pairs
- Rate float64 // The count of emitted pairs per time unit (usually 1 second)
- Sum float64 // The sum of values
- SumSq float64 // The sum of squared values
- Min float64 // Minimum value
- Max float64 // Maximum value
- LastUpdated time.Time // When value was last updated
-}
-
-// Computes a Stddev of the values
-func (a *AggregateSample) Stddev() float64 {
- num := (float64(a.Count) * a.SumSq) - math.Pow(a.Sum, 2)
- div := float64(a.Count * (a.Count - 1))
- if div == 0 {
- return 0
- }
- return math.Sqrt(num / div)
-}
-
-// Computes a mean of the values
-func (a *AggregateSample) Mean() float64 {
- if a.Count == 0 {
- return 0
- }
- return a.Sum / float64(a.Count)
-}
-
-// Ingest is used to update a sample
-func (a *AggregateSample) Ingest(v float64, rateDenom float64) {
- a.Count++
- a.Sum += v
- a.SumSq += (v * v)
- if v < a.Min || a.Count == 1 {
- a.Min = v
- }
- if v > a.Max || a.Count == 1 {
- a.Max = v
- }
- a.Rate = float64(a.Count)/rateDenom
- a.LastUpdated = time.Now()
-}
-
-func (a *AggregateSample) String() string {
- if a.Count == 0 {
- return "Count: 0"
- } else if a.Stddev() == 0 {
- return fmt.Sprintf("Count: %d Sum: %0.3f LastUpdated: %s", a.Count, a.Sum, a.LastUpdated)
- } else {
- return fmt.Sprintf("Count: %d Min: %0.3f Mean: %0.3f Max: %0.3f Stddev: %0.3f Sum: %0.3f LastUpdated: %s",
- a.Count, a.Min, a.Mean(), a.Max, a.Stddev(), a.Sum, a.LastUpdated)
- }
-}
-
-// NewInmemSink is used to construct a new in-memory sink.
-// Uses an aggregation interval and maximum retention period.
-func NewInmemSink(interval, retain time.Duration) *InmemSink {
- rateTimeUnit := time.Second
- i := &InmemSink{
- interval: interval,
- retain: retain,
- maxIntervals: int(retain / interval),
- rateDenom: float64(interval.Nanoseconds()) / float64(rateTimeUnit.Nanoseconds()),
- }
- i.intervals = make([]*IntervalMetrics, 0, i.maxIntervals)
- return i
-}
-
-func (i *InmemSink) SetGauge(key []string, val float32) {
- k := i.flattenKey(key)
- intv := i.getInterval()
-
- intv.Lock()
- defer intv.Unlock()
- intv.Gauges[k] = val
-}
-
-func (i *InmemSink) EmitKey(key []string, val float32) {
- k := i.flattenKey(key)
- intv := i.getInterval()
-
- intv.Lock()
- defer intv.Unlock()
- vals := intv.Points[k]
- intv.Points[k] = append(vals, val)
-}
-
-func (i *InmemSink) IncrCounter(key []string, val float32) {
- k := i.flattenKey(key)
- intv := i.getInterval()
-
- intv.Lock()
- defer intv.Unlock()
-
- agg := intv.Counters[k]
- if agg == nil {
- agg = &AggregateSample{}
- intv.Counters[k] = agg
- }
- agg.Ingest(float64(val), i.rateDenom)
-}
-
-func (i *InmemSink) AddSample(key []string, val float32) {
- k := i.flattenKey(key)
- intv := i.getInterval()
-
- intv.Lock()
- defer intv.Unlock()
-
- agg := intv.Samples[k]
- if agg == nil {
- agg = &AggregateSample{}
- intv.Samples[k] = agg
- }
- agg.Ingest(float64(val), i.rateDenom)
-}
-
-// Data is used to retrieve all the aggregated metrics
-// Intervals may be in use, and a read lock should be acquired
-func (i *InmemSink) Data() []*IntervalMetrics {
- // Get the current interval, forces creation
- i.getInterval()
-
- i.intervalLock.RLock()
- defer i.intervalLock.RUnlock()
-
- intervals := make([]*IntervalMetrics, len(i.intervals))
- copy(intervals, i.intervals)
- return intervals
-}
-
-func (i *InmemSink) getExistingInterval(intv time.Time) *IntervalMetrics {
- i.intervalLock.RLock()
- defer i.intervalLock.RUnlock()
-
- n := len(i.intervals)
- if n > 0 && i.intervals[n-1].Interval == intv {
- return i.intervals[n-1]
- }
- return nil
-}
-
-func (i *InmemSink) createInterval(intv time.Time) *IntervalMetrics {
- i.intervalLock.Lock()
- defer i.intervalLock.Unlock()
-
- // Check for an existing interval
- n := len(i.intervals)
- if n > 0 && i.intervals[n-1].Interval == intv {
- return i.intervals[n-1]
- }
-
- // Add the current interval
- current := NewIntervalMetrics(intv)
- i.intervals = append(i.intervals, current)
- n++
-
- // Truncate the intervals if they are too long
- if n >= i.maxIntervals {
- copy(i.intervals[0:], i.intervals[n-i.maxIntervals:])
- i.intervals = i.intervals[:i.maxIntervals]
- }
- return current
-}
-
-// getInterval returns the current interval to write to
-func (i *InmemSink) getInterval() *IntervalMetrics {
- intv := time.Now().Truncate(i.interval)
- if m := i.getExistingInterval(intv); m != nil {
- return m
- }
- return i.createInterval(intv)
-}
-
-// Flattens the key for formatting, removes spaces
-func (i *InmemSink) flattenKey(parts []string) string {
- joined := strings.Join(parts, ".")
- return strings.Replace(joined, " ", "_", -1)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem_signal.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem_signal.go
deleted file mode 100644
index 95d08ee1..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/inmem_signal.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package metrics
-
-import (
- "bytes"
- "fmt"
- "io"
- "os"
- "os/signal"
- "sync"
- "syscall"
-)
-
-// InmemSignal is used to listen for a given signal, and when received,
-// to dump the current metrics from the InmemSink to an io.Writer
-type InmemSignal struct {
- signal syscall.Signal
- inm *InmemSink
- w io.Writer
- sigCh chan os.Signal
-
- stop bool
- stopCh chan struct{}
- stopLock sync.Mutex
-}
-
-// NewInmemSignal creates a new InmemSignal which listens for a given signal,
-// and dumps the current metrics out to a writer
-func NewInmemSignal(inmem *InmemSink, sig syscall.Signal, w io.Writer) *InmemSignal {
- i := &InmemSignal{
- signal: sig,
- inm: inmem,
- w: w,
- sigCh: make(chan os.Signal, 1),
- stopCh: make(chan struct{}),
- }
- signal.Notify(i.sigCh, sig)
- go i.run()
- return i
-}
-
-// DefaultInmemSignal returns a new InmemSignal that responds to SIGUSR1
-// and writes output to stderr. Windows uses SIGBREAK
-func DefaultInmemSignal(inmem *InmemSink) *InmemSignal {
- return NewInmemSignal(inmem, DefaultSignal, os.Stderr)
-}
-
-// Stop is used to stop the InmemSignal from listening
-func (i *InmemSignal) Stop() {
- i.stopLock.Lock()
- defer i.stopLock.Unlock()
-
- if i.stop {
- return
- }
- i.stop = true
- close(i.stopCh)
- signal.Stop(i.sigCh)
-}
-
-// run is a long running routine that handles signals
-func (i *InmemSignal) run() {
- for {
- select {
- case <-i.sigCh:
- i.dumpStats()
- case <-i.stopCh:
- return
- }
- }
-}
-
-// dumpStats is used to dump the data to output writer
-func (i *InmemSignal) dumpStats() {
- buf := bytes.NewBuffer(nil)
-
- data := i.inm.Data()
- // Skip the last period which is still being aggregated
- for i := 0; i < len(data)-1; i++ {
- intv := data[i]
- intv.RLock()
- for name, val := range intv.Gauges {
- fmt.Fprintf(buf, "[%v][G] '%s': %0.3f\n", intv.Interval, name, val)
- }
- for name, vals := range intv.Points {
- for _, val := range vals {
- fmt.Fprintf(buf, "[%v][P] '%s': %0.3f\n", intv.Interval, name, val)
- }
- }
- for name, agg := range intv.Counters {
- fmt.Fprintf(buf, "[%v][C] '%s': %s\n", intv.Interval, name, agg)
- }
- for name, agg := range intv.Samples {
- fmt.Fprintf(buf, "[%v][S] '%s': %s\n", intv.Interval, name, agg)
- }
- intv.RUnlock()
- }
-
- // Write out the bytes
- i.w.Write(buf.Bytes())
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/metrics.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/metrics.go
deleted file mode 100755
index b818e418..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/metrics.go
+++ /dev/null
@@ -1,115 +0,0 @@
-package metrics
-
-import (
- "runtime"
- "time"
-)
-
-func (m *Metrics) SetGauge(key []string, val float32) {
- if m.HostName != "" && m.EnableHostname {
- key = insert(0, m.HostName, key)
- }
- if m.EnableTypePrefix {
- key = insert(0, "gauge", key)
- }
- if m.ServiceName != "" {
- key = insert(0, m.ServiceName, key)
- }
- m.sink.SetGauge(key, val)
-}
-
-func (m *Metrics) EmitKey(key []string, val float32) {
- if m.EnableTypePrefix {
- key = insert(0, "kv", key)
- }
- if m.ServiceName != "" {
- key = insert(0, m.ServiceName, key)
- }
- m.sink.EmitKey(key, val)
-}
-
-func (m *Metrics) IncrCounter(key []string, val float32) {
- if m.EnableTypePrefix {
- key = insert(0, "counter", key)
- }
- if m.ServiceName != "" {
- key = insert(0, m.ServiceName, key)
- }
- m.sink.IncrCounter(key, val)
-}
-
-func (m *Metrics) AddSample(key []string, val float32) {
- if m.EnableTypePrefix {
- key = insert(0, "sample", key)
- }
- if m.ServiceName != "" {
- key = insert(0, m.ServiceName, key)
- }
- m.sink.AddSample(key, val)
-}
-
-func (m *Metrics) MeasureSince(key []string, start time.Time) {
- if m.EnableTypePrefix {
- key = insert(0, "timer", key)
- }
- if m.ServiceName != "" {
- key = insert(0, m.ServiceName, key)
- }
- now := time.Now()
- elapsed := now.Sub(start)
- msec := float32(elapsed.Nanoseconds()) / float32(m.TimerGranularity)
- m.sink.AddSample(key, msec)
-}
-
-// Periodically collects runtime stats to publish
-func (m *Metrics) collectStats() {
- for {
- time.Sleep(m.ProfileInterval)
- m.emitRuntimeStats()
- }
-}
-
-// Emits various runtime statsitics
-func (m *Metrics) emitRuntimeStats() {
- // Export number of Goroutines
- numRoutines := runtime.NumGoroutine()
- m.SetGauge([]string{"runtime", "num_goroutines"}, float32(numRoutines))
-
- // Export memory stats
- var stats runtime.MemStats
- runtime.ReadMemStats(&stats)
- m.SetGauge([]string{"runtime", "alloc_bytes"}, float32(stats.Alloc))
- m.SetGauge([]string{"runtime", "sys_bytes"}, float32(stats.Sys))
- m.SetGauge([]string{"runtime", "malloc_count"}, float32(stats.Mallocs))
- m.SetGauge([]string{"runtime", "free_count"}, float32(stats.Frees))
- m.SetGauge([]string{"runtime", "heap_objects"}, float32(stats.HeapObjects))
- m.SetGauge([]string{"runtime", "total_gc_pause_ns"}, float32(stats.PauseTotalNs))
- m.SetGauge([]string{"runtime", "total_gc_runs"}, float32(stats.NumGC))
-
- // Export info about the last few GC runs
- num := stats.NumGC
-
- // Handle wrap around
- if num < m.lastNumGC {
- m.lastNumGC = 0
- }
-
- // Ensure we don't scan more than 256
- if num-m.lastNumGC >= 256 {
- m.lastNumGC = num - 255
- }
-
- for i := m.lastNumGC; i < num; i++ {
- pause := stats.PauseNs[i%256]
- m.AddSample([]string{"runtime", "gc_pause_ns"}, float32(pause))
- }
- m.lastNumGC = num
-}
-
-// Inserts a string value at an index into the slice
-func insert(i int, v string, s []string) []string {
- s = append(s, "")
- copy(s[i+1:], s[i:])
- s[i] = v
- return s
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/sink.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/sink.go
deleted file mode 100755
index 0c240c2c..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/sink.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package metrics
-
-// The MetricSink interface is used to transmit metrics information
-// to an external system
-type MetricSink interface {
- // A Gauge should retain the last value it is set to
- SetGauge(key []string, val float32)
-
- // Should emit a Key/Value pair for each call
- EmitKey(key []string, val float32)
-
- // Counters should accumulate values
- IncrCounter(key []string, val float32)
-
- // Samples are for timing information, where quantiles are used
- AddSample(key []string, val float32)
-}
-
-// BlackholeSink is used to just blackhole messages
-type BlackholeSink struct{}
-
-func (*BlackholeSink) SetGauge(key []string, val float32) {}
-func (*BlackholeSink) EmitKey(key []string, val float32) {}
-func (*BlackholeSink) IncrCounter(key []string, val float32) {}
-func (*BlackholeSink) AddSample(key []string, val float32) {}
-
-// FanoutSink is used to sink to fanout values to multiple sinks
-type FanoutSink []MetricSink
-
-func (fh FanoutSink) SetGauge(key []string, val float32) {
- for _, s := range fh {
- s.SetGauge(key, val)
- }
-}
-
-func (fh FanoutSink) EmitKey(key []string, val float32) {
- for _, s := range fh {
- s.EmitKey(key, val)
- }
-}
-
-func (fh FanoutSink) IncrCounter(key []string, val float32) {
- for _, s := range fh {
- s.IncrCounter(key, val)
- }
-}
-
-func (fh FanoutSink) AddSample(key []string, val float32) {
- for _, s := range fh {
- s.AddSample(key, val)
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/start.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/start.go
deleted file mode 100755
index 44113f10..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/start.go
+++ /dev/null
@@ -1,95 +0,0 @@
-package metrics
-
-import (
- "os"
- "time"
-)
-
-// Config is used to configure metrics settings
-type Config struct {
- ServiceName string // Prefixed with keys to seperate services
- HostName string // Hostname to use. If not provided and EnableHostname, it will be os.Hostname
- EnableHostname bool // Enable prefixing gauge values with hostname
- EnableRuntimeMetrics bool // Enables profiling of runtime metrics (GC, Goroutines, Memory)
- EnableTypePrefix bool // Prefixes key with a type ("counter", "gauge", "timer")
- TimerGranularity time.Duration // Granularity of timers.
- ProfileInterval time.Duration // Interval to profile runtime metrics
-}
-
-// Metrics represents an instance of a metrics sink that can
-// be used to emit
-type Metrics struct {
- Config
- lastNumGC uint32
- sink MetricSink
-}
-
-// Shared global metrics instance
-var globalMetrics *Metrics
-
-func init() {
- // Initialize to a blackhole sink to avoid errors
- globalMetrics = &Metrics{sink: &BlackholeSink{}}
-}
-
-// DefaultConfig provides a sane default configuration
-func DefaultConfig(serviceName string) *Config {
- c := &Config{
- ServiceName: serviceName, // Use client provided service
- HostName: "",
- EnableHostname: true, // Enable hostname prefix
- EnableRuntimeMetrics: true, // Enable runtime profiling
- EnableTypePrefix: false, // Disable type prefix
- TimerGranularity: time.Millisecond, // Timers are in milliseconds
- ProfileInterval: time.Second, // Poll runtime every second
- }
-
- // Try to get the hostname
- name, _ := os.Hostname()
- c.HostName = name
- return c
-}
-
-// New is used to create a new instance of Metrics
-func New(conf *Config, sink MetricSink) (*Metrics, error) {
- met := &Metrics{}
- met.Config = *conf
- met.sink = sink
-
- // Start the runtime collector
- if conf.EnableRuntimeMetrics {
- go met.collectStats()
- }
- return met, nil
-}
-
-// NewGlobal is the same as New, but it assigns the metrics object to be
-// used globally as well as returning it.
-func NewGlobal(conf *Config, sink MetricSink) (*Metrics, error) {
- metrics, err := New(conf, sink)
- if err == nil {
- globalMetrics = metrics
- }
- return metrics, err
-}
-
-// Proxy all the methods to the globalMetrics instance
-func SetGauge(key []string, val float32) {
- globalMetrics.SetGauge(key, val)
-}
-
-func EmitKey(key []string, val float32) {
- globalMetrics.EmitKey(key, val)
-}
-
-func IncrCounter(key []string, val float32) {
- globalMetrics.IncrCounter(key, val)
-}
-
-func AddSample(key []string, val float32) {
- globalMetrics.AddSample(key, val)
-}
-
-func MeasureSince(key []string, start time.Time) {
- globalMetrics.MeasureSince(key, start)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsd.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsd.go
deleted file mode 100644
index 65a5021a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsd.go
+++ /dev/null
@@ -1,154 +0,0 @@
-package metrics
-
-import (
- "bytes"
- "fmt"
- "log"
- "net"
- "strings"
- "time"
-)
-
-const (
- // statsdMaxLen is the maximum size of a packet
- // to send to statsd
- statsdMaxLen = 1400
-)
-
-// StatsdSink provides a MetricSink that can be used
-// with a statsite or statsd metrics server. It uses
-// only UDP packets, while StatsiteSink uses TCP.
-type StatsdSink struct {
- addr string
- metricQueue chan string
-}
-
-// NewStatsdSink is used to create a new StatsdSink
-func NewStatsdSink(addr string) (*StatsdSink, error) {
- s := &StatsdSink{
- addr: addr,
- metricQueue: make(chan string, 4096),
- }
- go s.flushMetrics()
- return s, nil
-}
-
-// Close is used to stop flushing to statsd
-func (s *StatsdSink) Shutdown() {
- close(s.metricQueue)
-}
-
-func (s *StatsdSink) SetGauge(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|g\n", flatKey, val))
-}
-
-func (s *StatsdSink) EmitKey(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|kv\n", flatKey, val))
-}
-
-func (s *StatsdSink) IncrCounter(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|c\n", flatKey, val))
-}
-
-func (s *StatsdSink) AddSample(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|ms\n", flatKey, val))
-}
-
-// Flattens the key for formatting, removes spaces
-func (s *StatsdSink) flattenKey(parts []string) string {
- joined := strings.Join(parts, ".")
- return strings.Map(func(r rune) rune {
- switch r {
- case ':':
- fallthrough
- case ' ':
- return '_'
- default:
- return r
- }
- }, joined)
-}
-
-// Does a non-blocking push to the metrics queue
-func (s *StatsdSink) pushMetric(m string) {
- select {
- case s.metricQueue <- m:
- default:
- }
-}
-
-// Flushes metrics
-func (s *StatsdSink) flushMetrics() {
- var sock net.Conn
- var err error
- var wait <-chan time.Time
- ticker := time.NewTicker(flushInterval)
- defer ticker.Stop()
-
-CONNECT:
- // Create a buffer
- buf := bytes.NewBuffer(nil)
-
- // Attempt to connect
- sock, err = net.Dial("udp", s.addr)
- if err != nil {
- log.Printf("[ERR] Error connecting to statsd! Err: %s", err)
- goto WAIT
- }
-
- for {
- select {
- case metric, ok := <-s.metricQueue:
- // Get a metric from the queue
- if !ok {
- goto QUIT
- }
-
- // Check if this would overflow the packet size
- if len(metric)+buf.Len() > statsdMaxLen {
- _, err := sock.Write(buf.Bytes())
- buf.Reset()
- if err != nil {
- log.Printf("[ERR] Error writing to statsd! Err: %s", err)
- goto WAIT
- }
- }
-
- // Append to the buffer
- buf.WriteString(metric)
-
- case <-ticker.C:
- if buf.Len() == 0 {
- continue
- }
-
- _, err := sock.Write(buf.Bytes())
- buf.Reset()
- if err != nil {
- log.Printf("[ERR] Error flushing to statsd! Err: %s", err)
- goto WAIT
- }
- }
- }
-
-WAIT:
- // Wait for a while
- wait = time.After(time.Duration(5) * time.Second)
- for {
- select {
- // Dequeue the messages to avoid backlog
- case _, ok := <-s.metricQueue:
- if !ok {
- goto QUIT
- }
- case <-wait:
- goto CONNECT
- }
- }
-QUIT:
- s.metricQueue = nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsite.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsite.go
deleted file mode 100755
index 68730139..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/armon/go-metrics/statsite.go
+++ /dev/null
@@ -1,142 +0,0 @@
-package metrics
-
-import (
- "bufio"
- "fmt"
- "log"
- "net"
- "strings"
- "time"
-)
-
-const (
- // We force flush the statsite metrics after this period of
- // inactivity. Prevents stats from getting stuck in a buffer
- // forever.
- flushInterval = 100 * time.Millisecond
-)
-
-// StatsiteSink provides a MetricSink that can be used with a
-// statsite metrics server
-type StatsiteSink struct {
- addr string
- metricQueue chan string
-}
-
-// NewStatsiteSink is used to create a new StatsiteSink
-func NewStatsiteSink(addr string) (*StatsiteSink, error) {
- s := &StatsiteSink{
- addr: addr,
- metricQueue: make(chan string, 4096),
- }
- go s.flushMetrics()
- return s, nil
-}
-
-// Close is used to stop flushing to statsite
-func (s *StatsiteSink) Shutdown() {
- close(s.metricQueue)
-}
-
-func (s *StatsiteSink) SetGauge(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|g\n", flatKey, val))
-}
-
-func (s *StatsiteSink) EmitKey(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|kv\n", flatKey, val))
-}
-
-func (s *StatsiteSink) IncrCounter(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|c\n", flatKey, val))
-}
-
-func (s *StatsiteSink) AddSample(key []string, val float32) {
- flatKey := s.flattenKey(key)
- s.pushMetric(fmt.Sprintf("%s:%f|ms\n", flatKey, val))
-}
-
-// Flattens the key for formatting, removes spaces
-func (s *StatsiteSink) flattenKey(parts []string) string {
- joined := strings.Join(parts, ".")
- return strings.Map(func(r rune) rune {
- switch r {
- case ':':
- fallthrough
- case ' ':
- return '_'
- default:
- return r
- }
- }, joined)
-}
-
-// Does a non-blocking push to the metrics queue
-func (s *StatsiteSink) pushMetric(m string) {
- select {
- case s.metricQueue <- m:
- default:
- }
-}
-
-// Flushes metrics
-func (s *StatsiteSink) flushMetrics() {
- var sock net.Conn
- var err error
- var wait <-chan time.Time
- var buffered *bufio.Writer
- ticker := time.NewTicker(flushInterval)
- defer ticker.Stop()
-
-CONNECT:
- // Attempt to connect
- sock, err = net.Dial("tcp", s.addr)
- if err != nil {
- log.Printf("[ERR] Error connecting to statsite! Err: %s", err)
- goto WAIT
- }
-
- // Create a buffered writer
- buffered = bufio.NewWriter(sock)
-
- for {
- select {
- case metric, ok := <-s.metricQueue:
- // Get a metric from the queue
- if !ok {
- goto QUIT
- }
-
- // Try to send to statsite
- _, err := buffered.Write([]byte(metric))
- if err != nil {
- log.Printf("[ERR] Error writing to statsite! Err: %s", err)
- goto WAIT
- }
- case <-ticker.C:
- if err := buffered.Flush(); err != nil {
- log.Printf("[ERR] Error flushing to statsite! Err: %s", err)
- goto WAIT
- }
- }
- }
-
-WAIT:
- // Wait for a while
- wait = time.After(time.Duration(5) * time.Second)
- for {
- select {
- // Dequeue the messages to avoid backlog
- case _, ok := <-s.metricQueue:
- if !ok {
- goto QUIT
- }
- case <-wait:
- goto CONNECT
- }
- }
-QUIT:
- s.metricQueue = nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any.go
new file mode 100644
index 00000000..b2af97f4
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any.go
@@ -0,0 +1,139 @@
+// 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 {
+ aname, err := AnyMessageName(any)
+ if err != nil {
+ return false
+ }
+
+ return aname == proto.MessageName(pb)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
new file mode 100644
index 00000000..1fbaa44c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.pb.go
@@ -0,0 +1,168 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: github.com/golang/protobuf/ptypes/any/any.proto
+
+/*
+Package any is a generated protocol buffer package.
+
+It is generated from these files:
+ github.com/golang/protobuf/ptypes/any/any.proto
+
+It has these top-level messages:
+ Any
+*/
+package any
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import 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.ProtoPackageIsVersion2 // 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)
+// ...
+//
+// 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": <string>,
+// "lastName": <string>
+// }
+//
+// 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 whose content describes the type of the
+ // serialized protocol buffer message.
+ //
+ // For URLs which use the scheme `http`, `https`, or no scheme, the
+ // following restrictions and interpretations apply:
+ //
+ // * If no scheme is provided, `https` is assumed.
+ // * 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).
+ // * 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.)
+ //
+ // 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" 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"`
+}
+
+func (m *Any) Reset() { *m = Any{} }
+func (m *Any) String() string { return proto.CompactTextString(m) }
+func (*Any) ProtoMessage() {}
+func (*Any) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*Any) XXX_WellKnownType() string { return "Any" }
+
+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("github.com/golang/protobuf/ptypes/any/any.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+ // 184 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4f, 0xcf, 0x2c, 0xc9,
+ 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
+ 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0xcc,
+ 0xab, 0x04, 0x61, 0x3d, 0xb0, 0xb8, 0x10, 0x7f, 0x7a, 0x7e, 0x7e, 0x7a, 0x4e, 0xaa, 0x1e, 0x4c,
+ 0x95, 0x92, 0x19, 0x17, 0xb3, 0x63, 0x5e, 0xa5, 0x90, 0x24, 0x17, 0x07, 0x48, 0x79, 0x7c, 0x69,
+ 0x51, 0x8e, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10, 0x3b, 0x88, 0x1f, 0x5a, 0x94, 0x23, 0x24,
+ 0xc2, 0xc5, 0x5a, 0x96, 0x98, 0x53, 0x9a, 0x2a, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x13, 0x04, 0xe1,
+ 0x38, 0xe5, 0x73, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe7, 0xc4, 0xe1, 0x98, 0x57, 0x19,
+ 0x00, 0xe2, 0x04, 0x30, 0x46, 0xa9, 0x12, 0xe5, 0xb8, 0x45, 0x4c, 0xcc, 0xee, 0x01, 0x4e, 0xab,
+ 0x98, 0xe4, 0xdc, 0x21, 0x46, 0x05, 0x40, 0x95, 0xe8, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5,
+ 0x97, 0xe7, 0x85, 0x80, 0x94, 0x26, 0xb1, 0x81, 0xf5, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff,
+ 0x45, 0x1f, 0x1a, 0xf2, 0xf3, 0x00, 0x00, 0x00,
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.proto b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.proto
new file mode 100644
index 00000000..9bd3f50a
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/any/any.proto
@@ -0,0 +1,139 @@
+// 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)
+// ...
+//
+// 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": <string>,
+// "lastName": <string>
+// }
+//
+// 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 whose content describes the type of the
+ // serialized protocol buffer message.
+ //
+ // For URLs which use the scheme `http`, `https`, or no scheme, the
+ // following restrictions and interpretations apply:
+ //
+ // * If no scheme is provided, `https` is assumed.
+ // * 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).
+ // * 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.)
+ //
+ // 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/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/doc.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/doc.go
new file mode 100644
index 00000000..c0d595da
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration.go
new file mode 100644
index 00000000..65cb0f8e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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)
+ 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/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
new file mode 100644
index 00000000..fe3350be
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.pb.go
@@ -0,0 +1,146 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: github.com/golang/protobuf/ptypes/duration/duration.proto
+
+/*
+Package duration is a generated protocol buffer package.
+
+It is generated from these files:
+ github.com/golang/protobuf/ptypes/duration/duration.proto
+
+It has these top-level messages:
+ Duration
+*/
+package duration
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import 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.ProtoPackageIsVersion2 // 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" 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" json:"nanos,omitempty"`
+}
+
+func (m *Duration) Reset() { *m = Duration{} }
+func (m *Duration) String() string { return proto.CompactTextString(m) }
+func (*Duration) ProtoMessage() {}
+func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*Duration) XXX_WellKnownType() string { return "Duration" }
+
+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("github.com/golang/protobuf/ptypes/duration/duration.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+ // 189 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4c, 0xcf, 0x2c, 0xc9,
+ 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
+ 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x4f, 0x29,
+ 0x2d, 0x4a, 0x2c, 0xc9, 0xcc, 0xcf, 0x83, 0x33, 0xf4, 0xc0, 0x2a, 0x84, 0xf8, 0xd3, 0xf3, 0xf3,
+ 0xd3, 0x73, 0x52, 0xf5, 0x60, 0xea, 0x95, 0xac, 0xb8, 0x38, 0x5c, 0xa0, 0x4a, 0x84, 0x24, 0xb8,
+ 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83, 0x60,
+ 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xd6,
+ 0x20, 0x08, 0xc7, 0xa9, 0x86, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x48, 0x27, 0x5e, 0x98,
+ 0x81, 0x01, 0x20, 0x91, 0x00, 0xc6, 0x28, 0x2d, 0xe2, 0xdd, 0xfb, 0x83, 0x91, 0x71, 0x11, 0x13,
+ 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xb9, 0x01, 0x50, 0xa5, 0x7a, 0xe1, 0xa9,
+ 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x20, 0x2d, 0x49, 0x6c, 0x60, 0x33, 0x8c, 0x01,
+ 0x01, 0x00, 0x00, 0xff, 0xff, 0x45, 0x5a, 0x81, 0x3d, 0x0e, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/duration/duration.proto
new file mode 100644
index 00000000..975fce41
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/regen.sh b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/regen.sh
new file mode 100755
index 00000000..2a5b4e8b
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/regen.sh
@@ -0,0 +1,66 @@
+#!/bin/bash -e
+#
+# This script fetches and rebuilds the "well-known types" protocol buffers.
+# To run this you will need protoc and goprotobuf installed;
+# see https://github.com/golang/protobuf for instructions.
+# You also need Go and Git installed.
+
+PKG=github.com/golang/protobuf/ptypes
+UPSTREAM=https://github.com/google/protobuf
+UPSTREAM_SUBDIR=src/google/protobuf
+PROTO_FILES='
+ any.proto
+ duration.proto
+ empty.proto
+ struct.proto
+ timestamp.proto
+ wrappers.proto
+'
+
+function die() {
+ echo 1>&2 $*
+ exit 1
+}
+
+# Sanity check that the right tools are accessible.
+for tool in go git protoc protoc-gen-go; do
+ q=$(which $tool) || die "didn't find $tool"
+ echo 1>&2 "$tool: $q"
+done
+
+tmpdir=$(mktemp -d -t regen-wkt.XXXXXX)
+trap 'rm -rf $tmpdir' EXIT
+
+echo -n 1>&2 "finding package dir... "
+pkgdir=$(go list -f '{{.Dir}}' $PKG)
+echo 1>&2 $pkgdir
+base=$(echo $pkgdir | sed "s,/$PKG\$,,")
+echo 1>&2 "base: $base"
+cd $base
+
+echo 1>&2 "fetching latest protos... "
+git clone -q $UPSTREAM $tmpdir
+# Pass 1: build mapping from upstream filename to our filename.
+declare -A filename_map
+for f in $(cd $PKG && find * -name '*.proto'); do
+ echo -n 1>&2 "looking for latest version of $f... "
+ up=$(cd $tmpdir/$UPSTREAM_SUBDIR && find * -name $(basename $f) | grep -v /testdata/)
+ echo 1>&2 $up
+ if [ $(echo $up | wc -w) != "1" ]; then
+ die "not exactly one match"
+ fi
+ filename_map[$up]=$f
+done
+# Pass 2: copy files
+for up in "${!filename_map[@]}"; do
+ f=${filename_map[$up]}
+ shortname=$(basename $f | sed 's,\.proto$,,')
+ cp $tmpdir/$UPSTREAM_SUBDIR/$up $PKG/$f
+done
+
+# Run protoc once per package.
+for dir in $(find $PKG -name '*.proto' | xargs dirname | sort | uniq); do
+ echo 1>&2 "* $dir"
+ protoc --go_out=. $dir/*.proto
+done
+echo 1>&2 "All OK"
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp.go
new file mode 100644
index 00000000..47f10dbc
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp.go
@@ -0,0 +1,134 @@
+// 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) {
+ seconds := t.Unix()
+ nanos := int32(t.Sub(time.Unix(seconds, 0)))
+ ts := &tspb.Timestamp{
+ Seconds: seconds,
+ Nanos: nanos,
+ }
+ 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/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
new file mode 100644
index 00000000..3b76261e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.pb.go
@@ -0,0 +1,162 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
+
+/*
+Package timestamp is a generated protocol buffer package.
+
+It is generated from these files:
+ github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
+
+It has these top-level messages:
+ Timestamp
+*/
+package timestamp
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import 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.ProtoPackageIsVersion2 // 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, though only UTC (as indicated by "Z") is presently supported.
+//
+// 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://joda-time.sourceforge.net/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" 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" json:"nanos,omitempty"`
+}
+
+func (m *Timestamp) Reset() { *m = Timestamp{} }
+func (m *Timestamp) String() string { return proto.CompactTextString(m) }
+func (*Timestamp) ProtoMessage() {}
+func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" }
+
+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("github.com/golang/protobuf/ptypes/timestamp/timestamp.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+ // 190 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0x2c, 0xc9,
+ 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0x2f, 0x28,
+ 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x28, 0xa9, 0x2c, 0x48, 0x2d, 0xd6, 0x2f, 0xc9,
+ 0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x40, 0xb0, 0xf4, 0xc0, 0x6a, 0x84, 0xf8, 0xd3, 0xf3,
+ 0xf3, 0xd3, 0x73, 0x52, 0xf5, 0x60, 0x3a, 0x94, 0xac, 0xb9, 0x38, 0x43, 0x60, 0x6a, 0x84, 0x24,
+ 0xb8, 0xd8, 0x8b, 0x53, 0x93, 0xf3, 0xf3, 0x52, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x98, 0x83,
+ 0x60, 0x5c, 0x21, 0x11, 0x2e, 0xd6, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d,
+ 0xd6, 0x20, 0x08, 0xc7, 0xa9, 0x8e, 0x4b, 0x38, 0x39, 0x3f, 0x57, 0x0f, 0xcd, 0x4c, 0x27, 0x3e,
+ 0xb8, 0x89, 0x01, 0x20, 0xa1, 0x00, 0xc6, 0x28, 0x6d, 0x12, 0xdc, 0xfc, 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, 0x6b, 0x59, 0x0a, 0x4d, 0x13, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
new file mode 100644
index 00000000..b7cbd175
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/golang/protobuf/ptypes/timestamp/timestamp.proto
@@ -0,0 +1,133 @@
+// 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, though only UTC (as indicated by "Z") is presently supported.
+//
+// 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://joda-time.sourceforge.net/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/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/acl.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/acl.go
deleted file mode 100644
index 3ade9d40..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/acl.go
+++ /dev/null
@@ -1,672 +0,0 @@
-package acl
-
-import (
- "github.com/armon/go-radix"
-)
-
-var (
- // allowAll is a singleton policy which allows all
- // non-management actions
- allowAll ACL
-
- // denyAll is a singleton policy which denies all actions
- denyAll ACL
-
- // manageAll is a singleton policy which allows all
- // actions, including management
- manageAll ACL
-)
-
-func init() {
- // Setup the singletons
- allowAll = &StaticACL{
- allowManage: false,
- defaultAllow: true,
- }
- denyAll = &StaticACL{
- allowManage: false,
- defaultAllow: false,
- }
- manageAll = &StaticACL{
- allowManage: true,
- defaultAllow: true,
- }
-}
-
-// ACL is the interface for policy enforcement.
-type ACL interface {
- // ACLList checks for permission to list all the ACLs
- ACLList() bool
-
- // ACLModify checks for permission to manipulate ACLs
- ACLModify() bool
-
- // AgentRead checks for permission to read from agent endpoints for a
- // given node.
- AgentRead(string) bool
-
- // AgentWrite checks for permission to make changes via agent endpoints
- // for a given node.
- AgentWrite(string) bool
-
- // EventRead determines if a specific event can be queried.
- EventRead(string) bool
-
- // EventWrite determines if a specific event may be fired.
- EventWrite(string) bool
-
- // KeyRead checks for permission to read a given key
- KeyRead(string) bool
-
- // KeyWrite checks for permission to write a given key
- KeyWrite(string) bool
-
- // KeyWritePrefix checks for permission to write to an
- // entire key prefix. This means there must be no sub-policies
- // that deny a write.
- KeyWritePrefix(string) bool
-
- // KeyringRead determines if the encryption keyring used in
- // the gossip layer can be read.
- KeyringRead() bool
-
- // KeyringWrite determines if the keyring can be manipulated
- KeyringWrite() bool
-
- // NodeRead checks for permission to read (discover) a given node.
- NodeRead(string) bool
-
- // NodeWrite checks for permission to create or update (register) a
- // given node.
- NodeWrite(string) bool
-
- // OperatorRead determines if the read-only Consul operator functions
- // can be used.
- OperatorRead() bool
-
- // OperatorWrite determines if the state-changing Consul operator
- // functions can be used.
- OperatorWrite() bool
-
- // PrepardQueryRead determines if a specific prepared query can be read
- // to show its contents (this is not used for execution).
- PreparedQueryRead(string) bool
-
- // PreparedQueryWrite determines if a specific prepared query can be
- // created, modified, or deleted.
- PreparedQueryWrite(string) bool
-
- // ServiceRead checks for permission to read a given service
- ServiceRead(string) bool
-
- // ServiceWrite checks for permission to create or update a given
- // service
- ServiceWrite(string) bool
-
- // SessionRead checks for permission to read sessions for a given node.
- SessionRead(string) bool
-
- // SessionWrite checks for permission to create sessions for a given
- // node.
- SessionWrite(string) bool
-
- // Snapshot checks for permission to take and restore snapshots.
- Snapshot() bool
-}
-
-// StaticACL is used to implement a base ACL policy. It either
-// allows or denies all requests. This can be used as a parent
-// ACL to act in a blacklist or whitelist mode.
-type StaticACL struct {
- allowManage bool
- defaultAllow bool
-}
-
-func (s *StaticACL) ACLList() bool {
- return s.allowManage
-}
-
-func (s *StaticACL) ACLModify() bool {
- return s.allowManage
-}
-
-func (s *StaticACL) AgentRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) AgentWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) EventRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) EventWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) KeyRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) KeyWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) KeyWritePrefix(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) KeyringRead() bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) KeyringWrite() bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) NodeRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) NodeWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) OperatorRead() bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) OperatorWrite() bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) PreparedQueryRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) PreparedQueryWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) ServiceRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) ServiceWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) SessionRead(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) SessionWrite(string) bool {
- return s.defaultAllow
-}
-
-func (s *StaticACL) Snapshot() bool {
- return s.allowManage
-}
-
-// AllowAll returns an ACL rule that allows all operations
-func AllowAll() ACL {
- return allowAll
-}
-
-// DenyAll returns an ACL rule that denies all operations
-func DenyAll() ACL {
- return denyAll
-}
-
-// ManageAll returns an ACL rule that can manage all resources
-func ManageAll() ACL {
- return manageAll
-}
-
-// RootACL returns a possible ACL if the ID matches a root policy
-func RootACL(id string) ACL {
- switch id {
- case "allow":
- return allowAll
- case "deny":
- return denyAll
- case "manage":
- return manageAll
- default:
- return nil
- }
-}
-
-// PolicyACL is used to wrap a set of ACL policies to provide
-// the ACL interface.
-type PolicyACL struct {
- // parent is used to resolve policy if we have
- // no matching rule.
- parent ACL
-
- // agentRules contains the agent policies
- agentRules *radix.Tree
-
- // keyRules contains the key policies
- keyRules *radix.Tree
-
- // nodeRules contains the node policies
- nodeRules *radix.Tree
-
- // serviceRules contains the service policies
- serviceRules *radix.Tree
-
- // sessionRules contains the session policies
- sessionRules *radix.Tree
-
- // eventRules contains the user event policies
- eventRules *radix.Tree
-
- // preparedQueryRules contains the prepared query policies
- preparedQueryRules *radix.Tree
-
- // keyringRule contains the keyring policies. The keyring has
- // a very simple yes/no without prefix matching, so here we
- // don't need to use a radix tree.
- keyringRule string
-
- // operatorRule contains the operator policies.
- operatorRule string
-}
-
-// New is used to construct a policy based ACL from a set of policies
-// and a parent policy to resolve missing cases.
-func New(parent ACL, policy *Policy) (*PolicyACL, error) {
- p := &PolicyACL{
- parent: parent,
- agentRules: radix.New(),
- keyRules: radix.New(),
- nodeRules: radix.New(),
- serviceRules: radix.New(),
- sessionRules: radix.New(),
- eventRules: radix.New(),
- preparedQueryRules: radix.New(),
- }
-
- // Load the agent policy
- for _, ap := range policy.Agents {
- p.agentRules.Insert(ap.Node, ap.Policy)
- }
-
- // Load the key policy
- for _, kp := range policy.Keys {
- p.keyRules.Insert(kp.Prefix, kp.Policy)
- }
-
- // Load the node policy
- for _, np := range policy.Nodes {
- p.nodeRules.Insert(np.Name, np.Policy)
- }
-
- // Load the service policy
- for _, sp := range policy.Services {
- p.serviceRules.Insert(sp.Name, sp.Policy)
- }
-
- // Load the session policy
- for _, sp := range policy.Sessions {
- p.sessionRules.Insert(sp.Node, sp.Policy)
- }
-
- // Load the event policy
- for _, ep := range policy.Events {
- p.eventRules.Insert(ep.Event, ep.Policy)
- }
-
- // Load the prepared query policy
- for _, pq := range policy.PreparedQueries {
- p.preparedQueryRules.Insert(pq.Prefix, pq.Policy)
- }
-
- // Load the keyring policy
- p.keyringRule = policy.Keyring
-
- // Load the operator policy
- p.operatorRule = policy.Operator
-
- return p, nil
-}
-
-// ACLList checks if listing of ACLs is allowed
-func (p *PolicyACL) ACLList() bool {
- return p.parent.ACLList()
-}
-
-// ACLModify checks if modification of ACLs is allowed
-func (p *PolicyACL) ACLModify() bool {
- return p.parent.ACLModify()
-}
-
-// AgentRead checks for permission to read from agent endpoints for a given
-// node.
-func (p *PolicyACL) AgentRead(node string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.agentRules.LongestPrefix(node)
-
- if ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.AgentRead(node)
-}
-
-// AgentWrite checks for permission to make changes via agent endpoints for a
-// given node.
-func (p *PolicyACL) AgentWrite(node string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.agentRules.LongestPrefix(node)
-
- if ok {
- switch rule {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.AgentWrite(node)
-}
-
-// Snapshot checks if taking and restoring snapshots is allowed.
-func (p *PolicyACL) Snapshot() bool {
- return p.parent.Snapshot()
-}
-
-// EventRead is used to determine if the policy allows for a
-// specific user event to be read.
-func (p *PolicyACL) EventRead(name string) bool {
- // Longest-prefix match on event names
- if _, rule, ok := p.eventRules.LongestPrefix(name); ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // Nothing matched, use parent
- return p.parent.EventRead(name)
-}
-
-// EventWrite is used to determine if new events can be created
-// (fired) by the policy.
-func (p *PolicyACL) EventWrite(name string) bool {
- // Longest-prefix match event names
- if _, rule, ok := p.eventRules.LongestPrefix(name); ok {
- return rule == PolicyWrite
- }
-
- // No match, use parent
- return p.parent.EventWrite(name)
-}
-
-// KeyRead returns if a key is allowed to be read
-func (p *PolicyACL) KeyRead(key string) bool {
- // Look for a matching rule
- _, rule, ok := p.keyRules.LongestPrefix(key)
- if ok {
- switch rule.(string) {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.KeyRead(key)
-}
-
-// KeyWrite returns if a key is allowed to be written
-func (p *PolicyACL) KeyWrite(key string) bool {
- // Look for a matching rule
- _, rule, ok := p.keyRules.LongestPrefix(key)
- if ok {
- switch rule.(string) {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.KeyWrite(key)
-}
-
-// KeyWritePrefix returns if a prefix is allowed to be written
-func (p *PolicyACL) KeyWritePrefix(prefix string) bool {
- // Look for a matching rule that denies
- _, rule, ok := p.keyRules.LongestPrefix(prefix)
- if ok && rule.(string) != PolicyWrite {
- return false
- }
-
- // Look if any of our children have a deny policy
- deny := false
- p.keyRules.WalkPrefix(prefix, func(path string, rule interface{}) bool {
- // We have a rule to prevent a write in a sub-directory!
- if rule.(string) != PolicyWrite {
- deny = true
- return true
- }
- return false
- })
-
- // Deny the write if any sub-rules may be violated
- if deny {
- return false
- }
-
- // If we had a matching rule, done
- if ok {
- return true
- }
-
- // No matching rule, use the parent.
- return p.parent.KeyWritePrefix(prefix)
-}
-
-// KeyringRead is used to determine if the keyring can be
-// read by the current ACL token.
-func (p *PolicyACL) KeyringRead() bool {
- switch p.keyringRule {
- case PolicyRead, PolicyWrite:
- return true
- case PolicyDeny:
- return false
- default:
- return p.parent.KeyringRead()
- }
-}
-
-// KeyringWrite determines if the keyring can be manipulated.
-func (p *PolicyACL) KeyringWrite() bool {
- if p.keyringRule == PolicyWrite {
- return true
- }
- return p.parent.KeyringWrite()
-}
-
-// OperatorRead determines if the read-only operator functions are allowed.
-func (p *PolicyACL) OperatorRead() bool {
- switch p.operatorRule {
- case PolicyRead, PolicyWrite:
- return true
- case PolicyDeny:
- return false
- default:
- return p.parent.OperatorRead()
- }
-}
-
-// NodeRead checks if reading (discovery) of a node is allowed
-func (p *PolicyACL) NodeRead(name string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.nodeRules.LongestPrefix(name)
-
- if ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.NodeRead(name)
-}
-
-// NodeWrite checks if writing (registering) a node is allowed
-func (p *PolicyACL) NodeWrite(name string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.nodeRules.LongestPrefix(name)
-
- if ok {
- switch rule {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.NodeWrite(name)
-}
-
-// OperatorWrite determines if the state-changing operator functions are
-// allowed.
-func (p *PolicyACL) OperatorWrite() bool {
- if p.operatorRule == PolicyWrite {
- return true
- }
- return p.parent.OperatorWrite()
-}
-
-// PreparedQueryRead checks if reading (listing) of a prepared query is
-// allowed - this isn't execution, just listing its contents.
-func (p *PolicyACL) PreparedQueryRead(prefix string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.preparedQueryRules.LongestPrefix(prefix)
-
- if ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.PreparedQueryRead(prefix)
-}
-
-// PreparedQueryWrite checks if writing (creating, updating, or deleting) of a
-// prepared query is allowed.
-func (p *PolicyACL) PreparedQueryWrite(prefix string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.preparedQueryRules.LongestPrefix(prefix)
-
- if ok {
- switch rule {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.PreparedQueryWrite(prefix)
-}
-
-// ServiceRead checks if reading (discovery) of a service is allowed
-func (p *PolicyACL) ServiceRead(name string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.serviceRules.LongestPrefix(name)
-
- if ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.ServiceRead(name)
-}
-
-// ServiceWrite checks if writing (registering) a service is allowed
-func (p *PolicyACL) ServiceWrite(name string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.serviceRules.LongestPrefix(name)
-
- if ok {
- switch rule {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.ServiceWrite(name)
-}
-
-// SessionRead checks for permission to read sessions for a given node.
-func (p *PolicyACL) SessionRead(node string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.sessionRules.LongestPrefix(node)
-
- if ok {
- switch rule {
- case PolicyRead, PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.SessionRead(node)
-}
-
-// SessionWrite checks for permission to create sessions for a given node.
-func (p *PolicyACL) SessionWrite(node string) bool {
- // Check for an exact rule or catch-all
- _, rule, ok := p.sessionRules.LongestPrefix(node)
-
- if ok {
- switch rule {
- case PolicyWrite:
- return true
- default:
- return false
- }
- }
-
- // No matching rule, use the parent.
- return p.parent.SessionWrite(node)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/cache.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/cache.go
deleted file mode 100644
index 0387f9fb..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/cache.go
+++ /dev/null
@@ -1,177 +0,0 @@
-package acl
-
-import (
- "crypto/md5"
- "fmt"
-
- "github.com/hashicorp/golang-lru"
-)
-
-// FaultFunc is a function used to fault in the parent,
-// rules for an ACL given its ID
-type FaultFunc func(id string) (string, string, error)
-
-// aclEntry allows us to store the ACL with it's policy ID
-type aclEntry struct {
- ACL ACL
- Parent string
- RuleID string
-}
-
-// Cache is used to implement policy and ACL caching
-type Cache struct {
- faultfn FaultFunc
- aclCache *lru.TwoQueueCache // Cache id -> acl
- policyCache *lru.TwoQueueCache // Cache policy -> acl
- ruleCache *lru.TwoQueueCache // Cache rules -> policy
-}
-
-// NewCache constructs a new policy and ACL cache of a given size
-func NewCache(size int, faultfn FaultFunc) (*Cache, error) {
- if size <= 0 {
- return nil, fmt.Errorf("Must provide positive cache size")
- }
-
- rc, err := lru.New2Q(size)
- if err != nil {
- return nil, err
- }
-
- pc, err := lru.New2Q(size)
- if err != nil {
- return nil, err
- }
-
- ac, err := lru.New2Q(size)
- if err != nil {
- return nil, err
- }
-
- c := &Cache{
- faultfn: faultfn,
- aclCache: ac,
- policyCache: pc,
- ruleCache: rc,
- }
- return c, nil
-}
-
-// GetPolicy is used to get a potentially cached policy set.
-// If not cached, it will be parsed, and then cached.
-func (c *Cache) GetPolicy(rules string) (*Policy, error) {
- return c.getPolicy(RuleID(rules), rules)
-}
-
-// getPolicy is an internal method to get a cached policy,
-// but it assumes a pre-computed ID
-func (c *Cache) getPolicy(id, rules string) (*Policy, error) {
- raw, ok := c.ruleCache.Get(id)
- if ok {
- return raw.(*Policy), nil
- }
- policy, err := Parse(rules)
- if err != nil {
- return nil, err
- }
- policy.ID = id
- c.ruleCache.Add(id, policy)
- return policy, nil
-
-}
-
-// RuleID is used to generate an ID for a rule
-func RuleID(rules string) string {
- return fmt.Sprintf("%x", md5.Sum([]byte(rules)))
-}
-
-// policyID returns the cache ID for a policy
-func (c *Cache) policyID(parent, ruleID string) string {
- return parent + ":" + ruleID
-}
-
-// GetACLPolicy is used to get the potentially cached ACL
-// policy. If not cached, it will be generated and then cached.
-func (c *Cache) GetACLPolicy(id string) (string, *Policy, error) {
- // Check for a cached acl
- if raw, ok := c.aclCache.Get(id); ok {
- cached := raw.(aclEntry)
- if raw, ok := c.ruleCache.Get(cached.RuleID); ok {
- return cached.Parent, raw.(*Policy), nil
- }
- }
-
- // Fault in the rules
- parent, rules, err := c.faultfn(id)
- if err != nil {
- return "", nil, err
- }
-
- // Get cached
- policy, err := c.GetPolicy(rules)
- return parent, policy, err
-}
-
-// GetACL is used to get a potentially cached ACL policy.
-// If not cached, it will be generated and then cached.
-func (c *Cache) GetACL(id string) (ACL, error) {
- // Look for the ACL directly
- raw, ok := c.aclCache.Get(id)
- if ok {
- return raw.(aclEntry).ACL, nil
- }
-
- // Get the rules
- parentID, rules, err := c.faultfn(id)
- if err != nil {
- return nil, err
- }
- ruleID := RuleID(rules)
-
- // Check for a compiled ACL
- policyID := c.policyID(parentID, ruleID)
- var compiled ACL
- if raw, ok := c.policyCache.Get(policyID); ok {
- compiled = raw.(ACL)
- } else {
- // Get the policy
- policy, err := c.getPolicy(ruleID, rules)
- if err != nil {
- return nil, err
- }
-
- // Get the parent ACL
- parent := RootACL(parentID)
- if parent == nil {
- parent, err = c.GetACL(parentID)
- if err != nil {
- return nil, err
- }
- }
-
- // Compile the ACL
- acl, err := New(parent, policy)
- if err != nil {
- return nil, err
- }
-
- // Cache the compiled ACL
- c.policyCache.Add(policyID, acl)
- compiled = acl
- }
-
- // Cache and return the ACL
- c.aclCache.Add(id, aclEntry{compiled, parentID, ruleID})
- return compiled, nil
-}
-
-// ClearACL is used to clear the ACL cache if any
-func (c *Cache) ClearACL(id string) {
- c.aclCache.Remove(id)
-}
-
-// Purge is used to clear all the ACL caches. The
-// rule and policy caches are not purged, since they
-// are content-hashed anyways.
-func (c *Cache) Purge() {
- c.aclCache.Purge()
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/policy.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/policy.go
deleted file mode 100644
index f7781b81..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/acl/policy.go
+++ /dev/null
@@ -1,191 +0,0 @@
-package acl
-
-import (
- "fmt"
-
- "github.com/hashicorp/hcl"
-)
-
-const (
- PolicyDeny = "deny"
- PolicyRead = "read"
- PolicyWrite = "write"
-)
-
-// Policy is used to represent the policy specified by
-// an ACL configuration.
-type Policy struct {
- ID string `hcl:"-"`
- Agents []*AgentPolicy `hcl:"agent,expand"`
- Keys []*KeyPolicy `hcl:"key,expand"`
- Nodes []*NodePolicy `hcl:"node,expand"`
- Services []*ServicePolicy `hcl:"service,expand"`
- Sessions []*SessionPolicy `hcl:"session,expand"`
- Events []*EventPolicy `hcl:"event,expand"`
- PreparedQueries []*PreparedQueryPolicy `hcl:"query,expand"`
- Keyring string `hcl:"keyring"`
- Operator string `hcl:"operator"`
-}
-
-// AgentPolicy represents a policy for working with agent endpoints on nodes
-// with specific name prefixes.
-type AgentPolicy struct {
- Node string `hcl:",key"`
- Policy string
-}
-
-func (a *AgentPolicy) GoString() string {
- return fmt.Sprintf("%#v", *a)
-}
-
-// KeyPolicy represents a policy for a key
-type KeyPolicy struct {
- Prefix string `hcl:",key"`
- Policy string
-}
-
-func (k *KeyPolicy) GoString() string {
- return fmt.Sprintf("%#v", *k)
-}
-
-// NodePolicy represents a policy for a node
-type NodePolicy struct {
- Name string `hcl:",key"`
- Policy string
-}
-
-func (n *NodePolicy) GoString() string {
- return fmt.Sprintf("%#v", *n)
-}
-
-// ServicePolicy represents a policy for a service
-type ServicePolicy struct {
- Name string `hcl:",key"`
- Policy string
-}
-
-func (s *ServicePolicy) GoString() string {
- return fmt.Sprintf("%#v", *s)
-}
-
-// SessionPolicy represents a policy for making sessions tied to specific node
-// name prefixes.
-type SessionPolicy struct {
- Node string `hcl:",key"`
- Policy string
-}
-
-func (s *SessionPolicy) GoString() string {
- return fmt.Sprintf("%#v", *s)
-}
-
-// EventPolicy represents a user event policy.
-type EventPolicy struct {
- Event string `hcl:",key"`
- Policy string
-}
-
-func (e *EventPolicy) GoString() string {
- return fmt.Sprintf("%#v", *e)
-}
-
-// PreparedQueryPolicy represents a prepared query policy.
-type PreparedQueryPolicy struct {
- Prefix string `hcl:",key"`
- Policy string
-}
-
-func (p *PreparedQueryPolicy) GoString() string {
- return fmt.Sprintf("%#v", *p)
-}
-
-// isPolicyValid makes sure the given string matches one of the valid policies.
-func isPolicyValid(policy string) bool {
- switch policy {
- case PolicyDeny:
- return true
- case PolicyRead:
- return true
- case PolicyWrite:
- return true
- default:
- return false
- }
-}
-
-// Parse is used to parse the specified ACL rules into an
-// intermediary set of policies, before being compiled into
-// the ACL
-func Parse(rules string) (*Policy, error) {
- // Decode the rules
- p := &Policy{}
- if rules == "" {
- // Hot path for empty rules
- return p, nil
- }
-
- if err := hcl.Decode(p, rules); err != nil {
- return nil, fmt.Errorf("Failed to parse ACL rules: %v", err)
- }
-
- // Validate the agent policy
- for _, ap := range p.Agents {
- if !isPolicyValid(ap.Policy) {
- return nil, fmt.Errorf("Invalid agent policy: %#v", ap)
- }
- }
-
- // Validate the key policy
- for _, kp := range p.Keys {
- if !isPolicyValid(kp.Policy) {
- return nil, fmt.Errorf("Invalid key policy: %#v", kp)
- }
- }
-
- // Validate the node policies
- for _, np := range p.Nodes {
- if !isPolicyValid(np.Policy) {
- return nil, fmt.Errorf("Invalid node policy: %#v", np)
- }
- }
-
- // Validate the service policies
- for _, sp := range p.Services {
- if !isPolicyValid(sp.Policy) {
- return nil, fmt.Errorf("Invalid service policy: %#v", sp)
- }
- }
-
- // Validate the session policies
- for _, sp := range p.Sessions {
- if !isPolicyValid(sp.Policy) {
- return nil, fmt.Errorf("Invalid session policy: %#v", sp)
- }
- }
-
- // Validate the user event policies
- for _, ep := range p.Events {
- if !isPolicyValid(ep.Policy) {
- return nil, fmt.Errorf("Invalid event policy: %#v", ep)
- }
- }
-
- // Validate the prepared query policies
- for _, pq := range p.PreparedQueries {
- if !isPolicyValid(pq.Policy) {
- return nil, fmt.Errorf("Invalid query policy: %#v", pq)
- }
- }
-
- // Validate the keyring policy - this one is allowed to be empty
- if p.Keyring != "" && !isPolicyValid(p.Keyring) {
- return nil, fmt.Errorf("Invalid keyring policy: %#v", p.Keyring)
- }
-
- // Validate the operator policy - this one is allowed to be empty
- if p.Operator != "" && !isPolicyValid(p.Operator) {
- return nil, fmt.Errorf("Invalid operator policy: %#v", p.Operator)
- }
-
- return p, nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/acl.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/acl.go
index c3fb0d53..15d1f9f5 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/acl.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/acl.go
@@ -1,5 +1,9 @@
package api
+import (
+ "time"
+)
+
const (
// ACLCLientType is the client type token
ACLClientType = "client"
@@ -18,6 +22,16 @@ type ACLEntry struct {
Rules string
}
+// ACLReplicationStatus is used to represent the status of ACL replication.
+type ACLReplicationStatus struct {
+ Enabled bool
+ Running bool
+ SourceDatacenter string
+ ReplicatedIndex uint64
+ LastSuccess time.Time
+ LastError time.Time
+}
+
// ACL can be used to query the ACL endpoints
type ACL struct {
c *Client
@@ -138,3 +152,24 @@ func (a *ACL) List(q *QueryOptions) ([]*ACLEntry, *QueryMeta, error) {
}
return entries, qm, nil
}
+
+// Replication returns the status of the ACL replication process in the datacenter
+func (a *ACL) Replication(q *QueryOptions) (*ACLReplicationStatus, *QueryMeta, error) {
+ r := a.c.newRequest("GET", "/v1/acl/replication")
+ r.setQueryOptions(q)
+ rtt, resp, err := requireOK(a.c.doRequest(r))
+ if err != nil {
+ return nil, nil, err
+ }
+ defer resp.Body.Close()
+
+ qm := &QueryMeta{}
+ parseQueryMeta(resp, qm)
+ qm.RequestTime = rtt
+
+ var entries *ACLReplicationStatus
+ if err := decodeBody(resp, &entries); err != nil {
+ return nil, nil, err
+ }
+ return entries, qm, nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/agent.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/agent.go
index 1893d1cf..605592db 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/agent.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/agent.go
@@ -25,6 +25,8 @@ type AgentService struct {
Port int
Address string
EnableTagOverride bool
+ CreateIndex uint64
+ ModifyIndex uint64
}
// AgentMember represents a cluster member known to the agent
@@ -65,17 +67,19 @@ type AgentCheckRegistration struct {
// AgentServiceCheck is used to define a node or service level check
type AgentServiceCheck struct {
- Script string `json:",omitempty"`
- DockerContainerID string `json:",omitempty"`
- Shell string `json:",omitempty"` // Only supported for Docker.
- Interval string `json:",omitempty"`
- Timeout string `json:",omitempty"`
- TTL string `json:",omitempty"`
- HTTP string `json:",omitempty"`
- TCP string `json:",omitempty"`
- Status string `json:",omitempty"`
- Notes string `json:",omitempty"`
- TLSSkipVerify bool `json:",omitempty"`
+ Script string `json:",omitempty"`
+ DockerContainerID string `json:",omitempty"`
+ Shell string `json:",omitempty"` // Only supported for Docker.
+ Interval string `json:",omitempty"`
+ Timeout string `json:",omitempty"`
+ TTL string `json:",omitempty"`
+ HTTP string `json:",omitempty"`
+ Header map[string][]string `json:",omitempty"`
+ Method string `json:",omitempty"`
+ TCP string `json:",omitempty"`
+ Status string `json:",omitempty"`
+ Notes string `json:",omitempty"`
+ TLSSkipVerify bool `json:",omitempty"`
// In Consul 0.7 and later, checks that are associated with a service
// may also contain this optional DeregisterCriticalServiceAfter field,
@@ -438,7 +442,7 @@ func (a *Agent) DisableNodeMaintenance() error {
// Monitor returns a channel which will receive streaming logs from the agent
// Providing a non-nil stopCh can be used to close the connection and stop the
// log stream
-func (a *Agent) Monitor(loglevel string, stopCh chan struct{}, q *QueryOptions) (chan string, error) {
+func (a *Agent) Monitor(loglevel string, stopCh <-chan struct{}, q *QueryOptions) (chan string, error) {
r := a.c.newRequest("GET", "/v1/agent/monitor")
r.setQueryOptions(q)
if loglevel != "" {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/api.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/api.go
index 9a59b724..0a62b4f6 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/api.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/api.go
@@ -2,8 +2,8 @@ package api
import (
"bytes"
+ "context"
"crypto/tls"
- "crypto/x509"
"encoding/json"
"fmt"
"io"
@@ -18,6 +18,7 @@ import (
"time"
"github.com/hashicorp/go-cleanhttp"
+ "github.com/hashicorp/go-rootcerts"
)
const (
@@ -37,6 +38,26 @@ const (
// whether or not to use HTTPS.
HTTPSSLEnvName = "CONSUL_HTTP_SSL"
+ // HTTPCAFile defines an environment variable name which sets the
+ // CA file to use for talking to Consul over TLS.
+ HTTPCAFile = "CONSUL_CACERT"
+
+ // HTTPCAPath defines an environment variable name which sets the
+ // path to a directory of CA certs to use for talking to Consul over TLS.
+ HTTPCAPath = "CONSUL_CAPATH"
+
+ // HTTPClientCert defines an environment variable name which sets the
+ // client cert file to use for talking to Consul over TLS.
+ HTTPClientCert = "CONSUL_CLIENT_CERT"
+
+ // HTTPClientKey defines an environment variable name which sets the
+ // client key file to use for talking to Consul over TLS.
+ HTTPClientKey = "CONSUL_CLIENT_KEY"
+
+ // HTTPTLSServerName defines an environment variable name which sets the
+ // server name to use as the SNI host when connecting via TLS
+ HTTPTLSServerName = "CONSUL_TLS_SERVER_NAME"
+
// HTTPSSLVerifyEnvName defines an environment variable name which sets
// whether or not to disable certificate checking.
HTTPSSLVerifyEnvName = "CONSUL_HTTP_SSL_VERIFY"
@@ -79,6 +100,31 @@ type QueryOptions struct {
// metadata key/value pairs. Currently, only one key/value pair can
// be provided for filtering.
NodeMeta map[string]string
+
+ // RelayFactor is used in keyring operations to cause reponses to be
+ // relayed back to the sender through N other random nodes. Must be
+ // a value from 0 to 5 (inclusive).
+ RelayFactor uint8
+
+ // ctx is an optional context pass through to the underlying HTTP
+ // request layer. Use Context() and WithContext() to manage this.
+ ctx context.Context
+}
+
+func (o *QueryOptions) Context() context.Context {
+ if o != nil && o.ctx != nil {
+ return o.ctx
+ }
+ return context.Background()
+}
+
+func (o *QueryOptions) WithContext(ctx context.Context) *QueryOptions {
+ o2 := new(QueryOptions)
+ if o != nil {
+ *o2 = *o
+ }
+ o2.ctx = ctx
+ return o2
}
// WriteOptions are used to parameterize a write
@@ -90,6 +136,31 @@ type WriteOptions struct {
// Token is used to provide a per-request ACL token
// which overrides the agent's default token.
Token string
+
+ // RelayFactor is used in keyring operations to cause reponses to be
+ // relayed back to the sender through N other random nodes. Must be
+ // a value from 0 to 5 (inclusive).
+ RelayFactor uint8
+
+ // ctx is an optional context pass through to the underlying HTTP
+ // request layer. Use Context() and WithContext() to manage this.
+ ctx context.Context
+}
+
+func (o *WriteOptions) Context() context.Context {
+ if o != nil && o.ctx != nil {
+ return o.ctx
+ }
+ return context.Background()
+}
+
+func (o *WriteOptions) WithContext(ctx context.Context) *WriteOptions {
+ o2 := new(WriteOptions)
+ if o != nil {
+ *o2 = *o
+ }
+ o2.ctx = ctx
+ return o2
}
// QueryMeta is used to return meta data about a query
@@ -138,6 +209,9 @@ type Config struct {
// Datacenter to use. If not provided, the default agent datacenter is used.
Datacenter string
+ // Transport is the Transport to use for the http client.
+ Transport *http.Transport
+
// HttpClient is the client to use. Default will be
// used if not provided.
HttpClient *http.Client
@@ -152,6 +226,8 @@ type Config struct {
// Token is used to provide a per-request ACL token
// which overrides the agent's default token.
Token string
+
+ TLSConfig TLSConfig
}
// TLSConfig is used to generate a TLSClientConfig that's useful for talking to
@@ -166,6 +242,10 @@ type TLSConfig struct {
// communication, defaults to the system bundle if not specified.
CAFile string
+ // CAPath is the optional path to a directory of CA certificates to use for
+ // Consul communication, defaults to the system bundle if not specified.
+ CAPath string
+
// CertFile is the optional path to the certificate for Consul
// communication. If this is set then you need to also set KeyFile.
CertFile string
@@ -201,11 +281,9 @@ func DefaultNonPooledConfig() *Config {
// given function to make the transport.
func defaultConfig(transportFn func() *http.Transport) *Config {
config := &Config{
- Address: "127.0.0.1:8500",
- Scheme: "http",
- HttpClient: &http.Client{
- Transport: transportFn(),
- },
+ Address: "127.0.0.1:8500",
+ Scheme: "http",
+ Transport: transportFn(),
}
if addr := os.Getenv(HTTPAddrEnvName); addr != "" {
@@ -243,27 +321,28 @@ func defaultConfig(transportFn func() *http.Transport) *Config {
}
}
- if verify := os.Getenv(HTTPSSLVerifyEnvName); verify != "" {
- doVerify, err := strconv.ParseBool(verify)
+ if v := os.Getenv(HTTPTLSServerName); v != "" {
+ config.TLSConfig.Address = v
+ }
+ if v := os.Getenv(HTTPCAFile); v != "" {
+ config.TLSConfig.CAFile = v
+ }
+ if v := os.Getenv(HTTPCAPath); v != "" {
+ config.TLSConfig.CAPath = v
+ }
+ if v := os.Getenv(HTTPClientCert); v != "" {
+ config.TLSConfig.CertFile = v
+ }
+ if v := os.Getenv(HTTPClientKey); v != "" {
+ config.TLSConfig.KeyFile = v
+ }
+ if v := os.Getenv(HTTPSSLVerifyEnvName); v != "" {
+ doVerify, err := strconv.ParseBool(v)
if err != nil {
log.Printf("[WARN] client: could not parse %s: %s", HTTPSSLVerifyEnvName, err)
}
-
if !doVerify {
- tlsClientConfig, err := SetupTLSConfig(&TLSConfig{
- InsecureSkipVerify: true,
- })
-
- // We don't expect this to fail given that we aren't
- // parsing any of the input, but we panic just in case
- // since this doesn't have an error return.
- if err != nil {
- panic(err)
- }
-
- transport := transportFn()
- transport.TLSClientConfig = tlsClientConfig
- config.HttpClient.Transport = transport
+ config.TLSConfig.InsecureSkipVerify = true
}
}
@@ -298,17 +377,12 @@ func SetupTLSConfig(tlsConfig *TLSConfig) (*tls.Config, error) {
tlsClientConfig.Certificates = []tls.Certificate{tlsCert}
}
- if tlsConfig.CAFile != "" {
- data, err := ioutil.ReadFile(tlsConfig.CAFile)
- if err != nil {
- return nil, fmt.Errorf("failed to read CA file: %v", err)
- }
-
- caPool := x509.NewCertPool()
- if !caPool.AppendCertsFromPEM(data) {
- return nil, fmt.Errorf("failed to parse CA certificate")
- }
- tlsClientConfig.RootCAs = caPool
+ rootConfig := &rootcerts.Config{
+ CAFile: tlsConfig.CAFile,
+ CAPath: tlsConfig.CAPath,
+ }
+ if err := rootcerts.ConfigureTLS(tlsClientConfig, rootConfig); err != nil {
+ return nil, err
}
return tlsClientConfig, nil
@@ -332,17 +406,58 @@ func NewClient(config *Config) (*Client, error) {
config.Scheme = defConfig.Scheme
}
- if config.HttpClient == nil {
- config.HttpClient = defConfig.HttpClient
+ if config.Transport == nil {
+ config.Transport = defConfig.Transport
+ }
+
+ if config.TLSConfig.Address == "" {
+ config.TLSConfig.Address = defConfig.TLSConfig.Address
+ }
+
+ if config.TLSConfig.CAFile == "" {
+ config.TLSConfig.CAFile = defConfig.TLSConfig.CAFile
+ }
+
+ if config.TLSConfig.CAPath == "" {
+ config.TLSConfig.CAPath = defConfig.TLSConfig.CAPath
+ }
+
+ if config.TLSConfig.CertFile == "" {
+ config.TLSConfig.CertFile = defConfig.TLSConfig.CertFile
+ }
+
+ if config.TLSConfig.KeyFile == "" {
+ config.TLSConfig.KeyFile = defConfig.TLSConfig.KeyFile
+ }
+
+ if !config.TLSConfig.InsecureSkipVerify {
+ config.TLSConfig.InsecureSkipVerify = defConfig.TLSConfig.InsecureSkipVerify
}
- if parts := strings.SplitN(config.Address, "unix://", 2); len(parts) == 2 {
- trans := cleanhttp.DefaultTransport()
- trans.Dial = func(_, _ string) (net.Conn, error) {
- return net.Dial("unix", parts[1])
+ if config.HttpClient == nil {
+ var err error
+ config.HttpClient, err = NewHttpClient(config.Transport, config.TLSConfig)
+ if err != nil {
+ return nil, err
}
- config.HttpClient = &http.Client{
- Transport: trans,
+ }
+
+ parts := strings.SplitN(config.Address, "://", 2)
+ if len(parts) == 2 {
+ switch parts[0] {
+ case "http":
+ case "https":
+ config.Scheme = "https"
+ case "unix":
+ trans := cleanhttp.DefaultTransport()
+ trans.DialContext = func(_ context.Context, _, _ string) (net.Conn, error) {
+ return net.Dial("unix", parts[1])
+ }
+ config.HttpClient = &http.Client{
+ Transport: trans,
+ }
+ default:
+ return nil, fmt.Errorf("Unknown protocol scheme: %s", parts[0])
}
config.Address = parts[1]
}
@@ -353,6 +468,26 @@ func NewClient(config *Config) (*Client, error) {
return client, nil
}
+// NewHttpClient returns an http client configured with the given Transport and TLS
+// config.
+func NewHttpClient(transport *http.Transport, tlsConf TLSConfig) (*http.Client, error) {
+ client := &http.Client{
+ Transport: transport,
+ }
+
+ if transport.TLSClientConfig == nil {
+ tlsClientConfig, err := SetupTLSConfig(&tlsConf)
+
+ if err != nil {
+ return nil, err
+ }
+
+ transport.TLSClientConfig = tlsClientConfig
+ }
+
+ return client, nil
+}
+
// request is used to help build up a request
type request struct {
config *Config
@@ -362,6 +497,7 @@ type request struct {
body io.Reader
header http.Header
obj interface{}
+ ctx context.Context
}
// setQueryOptions is used to annotate the request with
@@ -396,6 +532,10 @@ func (r *request) setQueryOptions(q *QueryOptions) {
r.params.Add("node-meta", key+":"+value)
}
}
+ if q.RelayFactor != 0 {
+ r.params.Set("relay-factor", strconv.Itoa(int(q.RelayFactor)))
+ }
+ r.ctx = q.ctx
}
// durToMsec converts a duration to a millisecond specified string. If the
@@ -437,6 +577,10 @@ func (r *request) setWriteOptions(q *WriteOptions) {
if q.Token != "" {
r.header.Set("X-Consul-Token", q.Token)
}
+ if q.RelayFactor != 0 {
+ r.params.Set("relay-factor", strconv.Itoa(int(q.RelayFactor)))
+ }
+ r.ctx = q.ctx
}
// toHTTP converts the request to an HTTP request
@@ -446,11 +590,11 @@ func (r *request) toHTTP() (*http.Request, error) {
// Check if we should encode the body
if r.body == nil && r.obj != nil {
- if b, err := encodeBody(r.obj); err != nil {
+ b, err := encodeBody(r.obj)
+ if err != nil {
return nil, err
- } else {
- r.body = b
}
+ r.body = b
}
// Create the HTTP request
@@ -468,8 +612,11 @@ func (r *request) toHTTP() (*http.Request, error) {
if r.config.HttpAuth != nil {
req.SetBasicAuth(r.config.HttpAuth.Username, r.config.HttpAuth.Password)
}
-
- return req, nil
+ if r.ctx != nil {
+ return req.WithContext(r.ctx), nil
+ } else {
+ return req, nil
+ }
}
// newRequest is used to create a new request
@@ -548,6 +695,8 @@ func (c *Client) write(endpoint string, in, out interface{}, q *WriteOptions) (*
if err := decodeBody(resp, &out); err != nil {
return nil, err
}
+ } else if _, err := ioutil.ReadAll(resp.Body); err != nil {
+ return nil, err
}
return wm, nil
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/catalog.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/catalog.go
index 96226f11..babfc9a1 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/catalog.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/catalog.go
@@ -4,14 +4,18 @@ type Node struct {
ID string
Node string
Address string
+ Datacenter string
TaggedAddresses map[string]string
Meta map[string]string
+ CreateIndex uint64
+ ModifyIndex uint64
}
type CatalogService struct {
ID string
Node string
Address string
+ Datacenter string
TaggedAddresses map[string]string
NodeMeta map[string]string
ServiceID string
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/coordinate.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/coordinate.go
index fdff2075..ae8d16ee 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/coordinate.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/coordinate.go
@@ -10,10 +10,11 @@ type CoordinateEntry struct {
Coord *coordinate.Coordinate
}
-// CoordinateDatacenterMap represents a datacenter and its associated WAN
-// nodes and their associates coordinates.
+// CoordinateDatacenterMap has the coordinates for servers in a given datacenter
+// and area. Network coordinates are only compatible within the same area.
type CoordinateDatacenterMap struct {
Datacenter string
+ AreaID string
Coordinates []CoordinateEntry
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/health.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/health.go
index 8abe2393..38c105fd 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/health.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/health.go
@@ -33,6 +33,7 @@ type HealthCheck struct {
Output string
ServiceID string
ServiceName string
+ ServiceTags []string
}
// HealthChecks is a collection of HealthCheck structs.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/kv.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/kv.go
index 44e06bbb..f91bb50f 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/kv.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/kv.go
@@ -49,17 +49,18 @@ type KVPairs []*KVPair
type KVOp string
const (
- KVSet KVOp = "set"
- KVDelete KVOp = "delete"
- KVDeleteCAS KVOp = "delete-cas"
- KVDeleteTree KVOp = "delete-tree"
- KVCAS KVOp = "cas"
- KVLock KVOp = "lock"
- KVUnlock KVOp = "unlock"
- KVGet KVOp = "get"
- KVGetTree KVOp = "get-tree"
- KVCheckSession KVOp = "check-session"
- KVCheckIndex KVOp = "check-index"
+ KVSet KVOp = "set"
+ KVDelete KVOp = "delete"
+ KVDeleteCAS KVOp = "delete-cas"
+ KVDeleteTree KVOp = "delete-tree"
+ KVCAS KVOp = "cas"
+ KVLock KVOp = "lock"
+ KVUnlock KVOp = "unlock"
+ KVGet KVOp = "get"
+ KVGetTree KVOp = "get-tree"
+ KVCheckSession KVOp = "check-session"
+ KVCheckIndex KVOp = "check-index"
+ KVCheckNotExists KVOp = "check-not-exists"
)
// KVTxnOp defines a single operation inside a transaction.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/lock.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/lock.go
index 9f9845a4..466ef5fd 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/lock.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/lock.go
@@ -143,22 +143,23 @@ func (l *Lock) Lock(stopCh <-chan struct{}) (<-chan struct{}, error) {
// Check if we need to create a session first
l.lockSession = l.opts.Session
if l.lockSession == "" {
- if s, err := l.createSession(); err != nil {
+ s, err := l.createSession()
+ if err != nil {
return nil, fmt.Errorf("failed to create session: %v", err)
- } else {
- l.sessionRenew = make(chan struct{})
- l.lockSession = s
- session := l.c.Session()
- go session.RenewPeriodic(l.opts.SessionTTL, s, nil, l.sessionRenew)
-
- // If we fail to acquire the lock, cleanup the session
- defer func() {
- if !l.isHeld {
- close(l.sessionRenew)
- l.sessionRenew = nil
- }
- }()
}
+
+ l.sessionRenew = make(chan struct{})
+ l.lockSession = s
+ session := l.c.Session()
+ go session.RenewPeriodic(l.opts.SessionTTL, s, nil, l.sessionRenew)
+
+ // If we fail to acquire the lock, cleanup the session
+ defer func() {
+ if !l.isHeld {
+ close(l.sessionRenew)
+ l.sessionRenew = nil
+ }
+ }()
}
// Setup the query options
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator.go
index a8d04a38..079e2248 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator.go
@@ -9,155 +9,3 @@ type Operator struct {
func (c *Client) Operator() *Operator {
return &Operator{c}
}
-
-// RaftServer has information about a server in the Raft configuration.
-type RaftServer struct {
- // ID is the unique ID for the server. These are currently the same
- // as the address, but they will be changed to a real GUID in a future
- // release of Consul.
- ID string
-
- // Node is the node name of the server, as known by Consul, or this
- // will be set to "(unknown)" otherwise.
- Node string
-
- // Address is the IP:port of the server, used for Raft communications.
- Address string
-
- // Leader is true if this server is the current cluster leader.
- Leader bool
-
- // Voter is true if this server has a vote in the cluster. This might
- // be false if the server is staging and still coming online, or if
- // it's a non-voting server, which will be added in a future release of
- // Consul.
- Voter bool
-}
-
-// RaftConfigration is returned when querying for the current Raft configuration.
-type RaftConfiguration struct {
- // Servers has the list of servers in the Raft configuration.
- Servers []*RaftServer
-
- // Index has the Raft index of this configuration.
- Index uint64
-}
-
-// keyringRequest is used for performing Keyring operations
-type keyringRequest struct {
- Key string
-}
-
-// KeyringResponse is returned when listing the gossip encryption keys
-type KeyringResponse struct {
- // Whether this response is for a WAN ring
- WAN bool
-
- // The datacenter name this request corresponds to
- Datacenter string
-
- // A map of the encryption keys to the number of nodes they're installed on
- Keys map[string]int
-
- // The total number of nodes in this ring
- NumNodes int
-}
-
-// RaftGetConfiguration is used to query the current Raft peer set.
-func (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error) {
- r := op.c.newRequest("GET", "/v1/operator/raft/configuration")
- r.setQueryOptions(q)
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
-
- var out RaftConfiguration
- if err := decodeBody(resp, &out); err != nil {
- return nil, err
- }
- return &out, nil
-}
-
-// RaftRemovePeerByAddress is used to kick a stale peer (one that it in the Raft
-// quorum but no longer known to Serf or the catalog) by address in the form of
-// "IP:port".
-func (op *Operator) RaftRemovePeerByAddress(address string, q *WriteOptions) error {
- r := op.c.newRequest("DELETE", "/v1/operator/raft/peer")
- r.setWriteOptions(q)
-
- // TODO (slackpad) Currently we made address a query parameter. Once
- // IDs are in place this will be DELETE /v1/operator/raft/peer/<id>.
- r.params.Set("address", string(address))
-
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return err
- }
-
- resp.Body.Close()
- return nil
-}
-
-// KeyringInstall is used to install a new gossip encryption key into the cluster
-func (op *Operator) KeyringInstall(key string, q *WriteOptions) error {
- r := op.c.newRequest("POST", "/v1/operator/keyring")
- r.setWriteOptions(q)
- r.obj = keyringRequest{
- Key: key,
- }
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return err
- }
- resp.Body.Close()
- return nil
-}
-
-// KeyringList is used to list the gossip keys installed in the cluster
-func (op *Operator) KeyringList(q *QueryOptions) ([]*KeyringResponse, error) {
- r := op.c.newRequest("GET", "/v1/operator/keyring")
- r.setQueryOptions(q)
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
-
- var out []*KeyringResponse
- if err := decodeBody(resp, &out); err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// KeyringRemove is used to remove a gossip encryption key from the cluster
-func (op *Operator) KeyringRemove(key string, q *WriteOptions) error {
- r := op.c.newRequest("DELETE", "/v1/operator/keyring")
- r.setWriteOptions(q)
- r.obj = keyringRequest{
- Key: key,
- }
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return err
- }
- resp.Body.Close()
- return nil
-}
-
-// KeyringUse is used to change the active gossip encryption key
-func (op *Operator) KeyringUse(key string, q *WriteOptions) error {
- r := op.c.newRequest("PUT", "/v1/operator/keyring")
- r.setWriteOptions(q)
- r.obj = keyringRequest{
- Key: key,
- }
- _, resp, err := requireOK(op.c.doRequest(r))
- if err != nil {
- return err
- }
- resp.Body.Close()
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_area.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_area.go
new file mode 100644
index 00000000..7b0e461e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_area.go
@@ -0,0 +1,168 @@
+// The /v1/operator/area endpoints are available only in Consul Enterprise and
+// interact with its network area subsystem. Network areas are used to link
+// together Consul servers in different Consul datacenters. With network areas,
+// Consul datacenters can be linked together in ways other than a fully-connected
+// mesh, as is required for Consul's WAN.
+package api
+
+import (
+ "net"
+ "time"
+)
+
+// Area defines a network area.
+type Area struct {
+ // ID is this identifier for an area (a UUID). This must be left empty
+ // when creating a new area.
+ ID string
+
+ // PeerDatacenter is the peer Consul datacenter that will make up the
+ // other side of this network area. Network areas always involve a pair
+ // of datacenters: the datacenter where the area was created, and the
+ // peer datacenter. This is required.
+ PeerDatacenter string
+
+ // RetryJoin specifies the address of Consul servers to join to, such as
+ // an IPs or hostnames with an optional port number. This is optional.
+ RetryJoin []string
+}
+
+// AreaJoinResponse is returned when a join occurs and gives the result for each
+// address.
+type AreaJoinResponse struct {
+ // The address that was joined.
+ Address string
+
+ // Whether or not the join was a success.
+ Joined bool
+
+ // If we couldn't join, this is the message with information.
+ Error string
+}
+
+// SerfMember is a generic structure for reporting information about members in
+// a Serf cluster. This is only used by the area endpoints right now, but this
+// could be expanded to other endpoints in the future.
+type SerfMember struct {
+ // ID is the node identifier (a UUID).
+ ID string
+
+ // Name is the node name.
+ Name string
+
+ // Addr has the IP address.
+ Addr net.IP
+
+ // Port is the RPC port.
+ Port uint16
+
+ // Datacenter is the DC name.
+ Datacenter string
+
+ // Role is "client", "server", or "unknown".
+ Role string
+
+ // Build has the version of the Consul agent.
+ Build string
+
+ // Protocol is the protocol of the Consul agent.
+ Protocol int
+
+ // Status is the Serf health status "none", "alive", "leaving", "left",
+ // or "failed".
+ Status string
+
+ // RTT is the estimated round trip time from the server handling the
+ // request to the this member. This will be negative if no RTT estimate
+ // is available.
+ RTT time.Duration
+}
+
+// AreaCreate will create a new network area. The ID in the given structure must
+// be empty and a generated ID will be returned on success.
+func (op *Operator) AreaCreate(area *Area, q *WriteOptions) (string, *WriteMeta, error) {
+ r := op.c.newRequest("POST", "/v1/operator/area")
+ r.setWriteOptions(q)
+ r.obj = area
+ rtt, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return "", nil, err
+ }
+ defer resp.Body.Close()
+
+ wm := &WriteMeta{}
+ wm.RequestTime = rtt
+
+ var out struct{ ID string }
+ if err := decodeBody(resp, &out); err != nil {
+ return "", nil, err
+ }
+ return out.ID, wm, nil
+}
+
+// AreaGet returns a single network area.
+func (op *Operator) AreaGet(areaID string, q *QueryOptions) ([]*Area, *QueryMeta, error) {
+ var out []*Area
+ qm, err := op.c.query("/v1/operator/area/"+areaID, &out, q)
+ if err != nil {
+ return nil, nil, err
+ }
+ return out, qm, nil
+}
+
+// AreaList returns all the available network areas.
+func (op *Operator) AreaList(q *QueryOptions) ([]*Area, *QueryMeta, error) {
+ var out []*Area
+ qm, err := op.c.query("/v1/operator/area", &out, q)
+ if err != nil {
+ return nil, nil, err
+ }
+ return out, qm, nil
+}
+
+// AreaDelete deletes the given network area.
+func (op *Operator) AreaDelete(areaID string, q *WriteOptions) (*WriteMeta, error) {
+ r := op.c.newRequest("DELETE", "/v1/operator/area/"+areaID)
+ r.setWriteOptions(q)
+ rtt, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ wm := &WriteMeta{}
+ wm.RequestTime = rtt
+ return wm, nil
+}
+
+// AreaJoin attempts to join the given set of join addresses to the given
+// network area. See the Area structure for details about join addresses.
+func (op *Operator) AreaJoin(areaID string, addresses []string, q *WriteOptions) ([]*AreaJoinResponse, *WriteMeta, error) {
+ r := op.c.newRequest("PUT", "/v1/operator/area/"+areaID+"/join")
+ r.setWriteOptions(q)
+ r.obj = addresses
+ rtt, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, nil, err
+ }
+ defer resp.Body.Close()
+
+ wm := &WriteMeta{}
+ wm.RequestTime = rtt
+
+ var out []*AreaJoinResponse
+ if err := decodeBody(resp, &out); err != nil {
+ return nil, nil, err
+ }
+ return out, wm, nil
+}
+
+// AreaMembers lists the Serf information about the members in the given area.
+func (op *Operator) AreaMembers(areaID string, q *QueryOptions) ([]*SerfMember, *QueryMeta, error) {
+ var out []*SerfMember
+ qm, err := op.c.query("/v1/operator/area/"+areaID+"/members", &out, q)
+ if err != nil {
+ return nil, nil, err
+ }
+ return out, qm, nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_autopilot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_autopilot.go
new file mode 100644
index 00000000..0fa9d160
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_autopilot.go
@@ -0,0 +1,219 @@
+package api
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "strconv"
+ "strings"
+ "time"
+)
+
+// AutopilotConfiguration is used for querying/setting the Autopilot configuration.
+// Autopilot helps manage operator tasks related to Consul servers like removing
+// failed servers from the Raft quorum.
+type AutopilotConfiguration struct {
+ // CleanupDeadServers controls whether to remove dead servers from the Raft
+ // peer list when a new server joins
+ CleanupDeadServers bool
+
+ // LastContactThreshold is the limit on the amount of time a server can go
+ // without leader contact before being considered unhealthy.
+ LastContactThreshold *ReadableDuration
+
+ // MaxTrailingLogs is the amount of entries in the Raft Log that a server can
+ // be behind before being considered unhealthy.
+ MaxTrailingLogs uint64
+
+ // ServerStabilizationTime is the minimum amount of time a server must be
+ // in a stable, healthy state before it can be added to the cluster. Only
+ // applicable with Raft protocol version 3 or higher.
+ ServerStabilizationTime *ReadableDuration
+
+ // (Enterprise-only) RedundancyZoneTag is the node tag to use for separating
+ // servers into zones for redundancy. If left blank, this feature will be disabled.
+ RedundancyZoneTag string
+
+ // (Enterprise-only) DisableUpgradeMigration will disable Autopilot's upgrade migration
+ // strategy of waiting until enough newer-versioned servers have been added to the
+ // cluster before promoting them to voters.
+ DisableUpgradeMigration bool
+
+ // (Enterprise-only) UpgradeVersionTag is the node tag to use for version info when
+ // performing upgrade migrations. If left blank, the Consul version will be used.
+ UpgradeVersionTag string
+
+ // CreateIndex holds the index corresponding the creation of this configuration.
+ // This is a read-only field.
+ CreateIndex uint64
+
+ // ModifyIndex will be set to the index of the last update when retrieving the
+ // Autopilot configuration. Resubmitting a configuration with
+ // AutopilotCASConfiguration will perform a check-and-set operation which ensures
+ // there hasn't been a subsequent update since the configuration was retrieved.
+ ModifyIndex uint64
+}
+
+// ServerHealth is the health (from the leader's point of view) of a server.
+type ServerHealth struct {
+ // ID is the raft ID of the server.
+ ID string
+
+ // Name is the node name of the server.
+ Name string
+
+ // Address is the address of the server.
+ Address string
+
+ // The status of the SerfHealth check for the server.
+ SerfStatus string
+
+ // Version is the Consul version of the server.
+ Version string
+
+ // Leader is whether this server is currently the leader.
+ Leader bool
+
+ // LastContact is the time since this node's last contact with the leader.
+ LastContact *ReadableDuration
+
+ // LastTerm is the highest leader term this server has a record of in its Raft log.
+ LastTerm uint64
+
+ // LastIndex is the last log index this server has a record of in its Raft log.
+ LastIndex uint64
+
+ // Healthy is whether or not the server is healthy according to the current
+ // Autopilot config.
+ Healthy bool
+
+ // Voter is whether this is a voting server.
+ Voter bool
+
+ // StableSince is the last time this server's Healthy value changed.
+ StableSince time.Time
+}
+
+// OperatorHealthReply is a representation of the overall health of the cluster
+type OperatorHealthReply struct {
+ // Healthy is true if all the servers in the cluster are healthy.
+ Healthy bool
+
+ // FailureTolerance is the number of healthy servers that could be lost without
+ // an outage occurring.
+ FailureTolerance int
+
+ // Servers holds the health of each server.
+ Servers []ServerHealth
+}
+
+// ReadableDuration is a duration type that is serialized to JSON in human readable format.
+type ReadableDuration time.Duration
+
+func NewReadableDuration(dur time.Duration) *ReadableDuration {
+ d := ReadableDuration(dur)
+ return &d
+}
+
+func (d *ReadableDuration) String() string {
+ return d.Duration().String()
+}
+
+func (d *ReadableDuration) Duration() time.Duration {
+ if d == nil {
+ return time.Duration(0)
+ }
+ return time.Duration(*d)
+}
+
+func (d *ReadableDuration) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf(`"%s"`, d.Duration().String())), nil
+}
+
+func (d *ReadableDuration) UnmarshalJSON(raw []byte) error {
+ if d == nil {
+ return fmt.Errorf("cannot unmarshal to nil pointer")
+ }
+
+ str := string(raw)
+ if len(str) < 2 || str[0] != '"' || str[len(str)-1] != '"' {
+ return fmt.Errorf("must be enclosed with quotes: %s", str)
+ }
+ dur, err := time.ParseDuration(str[1 : len(str)-1])
+ if err != nil {
+ return err
+ }
+ *d = ReadableDuration(dur)
+ return nil
+}
+
+// AutopilotGetConfiguration is used to query the current Autopilot configuration.
+func (op *Operator) AutopilotGetConfiguration(q *QueryOptions) (*AutopilotConfiguration, error) {
+ r := op.c.newRequest("GET", "/v1/operator/autopilot/configuration")
+ r.setQueryOptions(q)
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ var out AutopilotConfiguration
+ if err := decodeBody(resp, &out); err != nil {
+ return nil, err
+ }
+
+ return &out, nil
+}
+
+// AutopilotSetConfiguration is used to set the current Autopilot configuration.
+func (op *Operator) AutopilotSetConfiguration(conf *AutopilotConfiguration, q *WriteOptions) error {
+ r := op.c.newRequest("PUT", "/v1/operator/autopilot/configuration")
+ r.setWriteOptions(q)
+ r.obj = conf
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+ resp.Body.Close()
+ return nil
+}
+
+// AutopilotCASConfiguration is used to perform a Check-And-Set update on the
+// Autopilot configuration. The ModifyIndex value will be respected. Returns
+// true on success or false on failures.
+func (op *Operator) AutopilotCASConfiguration(conf *AutopilotConfiguration, q *WriteOptions) (bool, error) {
+ r := op.c.newRequest("PUT", "/v1/operator/autopilot/configuration")
+ r.setWriteOptions(q)
+ r.params.Set("cas", strconv.FormatUint(conf.ModifyIndex, 10))
+ r.obj = conf
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return false, err
+ }
+ defer resp.Body.Close()
+
+ var buf bytes.Buffer
+ if _, err := io.Copy(&buf, resp.Body); err != nil {
+ return false, fmt.Errorf("Failed to read response: %v", err)
+ }
+ res := strings.Contains(string(buf.Bytes()), "true")
+
+ return res, nil
+}
+
+// AutopilotServerHealth
+func (op *Operator) AutopilotServerHealth(q *QueryOptions) (*OperatorHealthReply, error) {
+ r := op.c.newRequest("GET", "/v1/operator/autopilot/health")
+ r.setQueryOptions(q)
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ var out OperatorHealthReply
+ if err := decodeBody(resp, &out); err != nil {
+ return nil, err
+ }
+ return &out, nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_keyring.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_keyring.go
new file mode 100644
index 00000000..4f91c354
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_keyring.go
@@ -0,0 +1,83 @@
+package api
+
+// keyringRequest is used for performing Keyring operations
+type keyringRequest struct {
+ Key string
+}
+
+// KeyringResponse is returned when listing the gossip encryption keys
+type KeyringResponse struct {
+ // Whether this response is for a WAN ring
+ WAN bool
+
+ // The datacenter name this request corresponds to
+ Datacenter string
+
+ // A map of the encryption keys to the number of nodes they're installed on
+ Keys map[string]int
+
+ // The total number of nodes in this ring
+ NumNodes int
+}
+
+// KeyringInstall is used to install a new gossip encryption key into the cluster
+func (op *Operator) KeyringInstall(key string, q *WriteOptions) error {
+ r := op.c.newRequest("POST", "/v1/operator/keyring")
+ r.setWriteOptions(q)
+ r.obj = keyringRequest{
+ Key: key,
+ }
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+ resp.Body.Close()
+ return nil
+}
+
+// KeyringList is used to list the gossip keys installed in the cluster
+func (op *Operator) KeyringList(q *QueryOptions) ([]*KeyringResponse, error) {
+ r := op.c.newRequest("GET", "/v1/operator/keyring")
+ r.setQueryOptions(q)
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ var out []*KeyringResponse
+ if err := decodeBody(resp, &out); err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// KeyringRemove is used to remove a gossip encryption key from the cluster
+func (op *Operator) KeyringRemove(key string, q *WriteOptions) error {
+ r := op.c.newRequest("DELETE", "/v1/operator/keyring")
+ r.setWriteOptions(q)
+ r.obj = keyringRequest{
+ Key: key,
+ }
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+ resp.Body.Close()
+ return nil
+}
+
+// KeyringUse is used to change the active gossip encryption key
+func (op *Operator) KeyringUse(key string, q *WriteOptions) error {
+ r := op.c.newRequest("PUT", "/v1/operator/keyring")
+ r.setWriteOptions(q)
+ r.obj = keyringRequest{
+ Key: key,
+ }
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+ resp.Body.Close()
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_raft.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_raft.go
new file mode 100644
index 00000000..5f3c25b1
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/operator_raft.go
@@ -0,0 +1,86 @@
+package api
+
+// RaftServer has information about a server in the Raft configuration.
+type RaftServer struct {
+ // ID is the unique ID for the server. These are currently the same
+ // as the address, but they will be changed to a real GUID in a future
+ // release of Consul.
+ ID string
+
+ // Node is the node name of the server, as known by Consul, or this
+ // will be set to "(unknown)" otherwise.
+ Node string
+
+ // Address is the IP:port of the server, used for Raft communications.
+ Address string
+
+ // Leader is true if this server is the current cluster leader.
+ Leader bool
+
+ // Voter is true if this server has a vote in the cluster. This might
+ // be false if the server is staging and still coming online, or if
+ // it's a non-voting server, which will be added in a future release of
+ // Consul.
+ Voter bool
+}
+
+// RaftConfigration is returned when querying for the current Raft configuration.
+type RaftConfiguration struct {
+ // Servers has the list of servers in the Raft configuration.
+ Servers []*RaftServer
+
+ // Index has the Raft index of this configuration.
+ Index uint64
+}
+
+// RaftGetConfiguration is used to query the current Raft peer set.
+func (op *Operator) RaftGetConfiguration(q *QueryOptions) (*RaftConfiguration, error) {
+ r := op.c.newRequest("GET", "/v1/operator/raft/configuration")
+ r.setQueryOptions(q)
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ var out RaftConfiguration
+ if err := decodeBody(resp, &out); err != nil {
+ return nil, err
+ }
+ return &out, nil
+}
+
+// RaftRemovePeerByAddress is used to kick a stale peer (one that it in the Raft
+// quorum but no longer known to Serf or the catalog) by address in the form of
+// "IP:port".
+func (op *Operator) RaftRemovePeerByAddress(address string, q *WriteOptions) error {
+ r := op.c.newRequest("DELETE", "/v1/operator/raft/peer")
+ r.setWriteOptions(q)
+
+ r.params.Set("address", string(address))
+
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+
+ resp.Body.Close()
+ return nil
+}
+
+// RaftRemovePeerByID is used to kick a stale peer (one that it in the Raft
+// quorum but no longer known to Serf or the catalog) by ID.
+func (op *Operator) RaftRemovePeerByID(id string, q *WriteOptions) error {
+ r := op.c.newRequest("DELETE", "/v1/operator/raft/peer")
+ r.setWriteOptions(q)
+
+ r.params.Set("id", string(id))
+
+ _, resp, err := requireOK(op.c.doRequest(r))
+ if err != nil {
+ return err
+ }
+
+ resp.Body.Close()
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/semaphore.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/semaphore.go
index e6645ac1..9ddbdc49 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/semaphore.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/semaphore.go
@@ -155,22 +155,23 @@ func (s *Semaphore) Acquire(stopCh <-chan struct{}) (<-chan struct{}, error) {
// Check if we need to create a session first
s.lockSession = s.opts.Session
if s.lockSession == "" {
- if sess, err := s.createSession(); err != nil {
+ sess, err := s.createSession()
+ if err != nil {
return nil, fmt.Errorf("failed to create session: %v", err)
- } else {
- s.sessionRenew = make(chan struct{})
- s.lockSession = sess
- session := s.c.Session()
- go session.RenewPeriodic(s.opts.SessionTTL, sess, nil, s.sessionRenew)
-
- // If we fail to acquire the lock, cleanup the session
- defer func() {
- if !s.isHeld {
- close(s.sessionRenew)
- s.sessionRenew = nil
- }
- }()
}
+
+ s.sessionRenew = make(chan struct{})
+ s.lockSession = sess
+ session := s.c.Session()
+ go session.RenewPeriodic(s.opts.SessionTTL, sess, nil, s.sessionRenew)
+
+ // If we fail to acquire the lock, cleanup the session
+ defer func() {
+ if !s.isHeld {
+ close(s.sessionRenew)
+ s.sessionRenew = nil
+ }
+ }()
}
// Create the contender entry
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/session.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/session.go
index 36e99a38..1613f11a 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/session.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/api/session.go
@@ -145,7 +145,9 @@ func (s *Session) Renew(id string, q *WriteOptions) (*SessionEntry, *WriteMeta,
// RenewPeriodic is used to periodically invoke Session.Renew on a
// session until a doneCh is closed. This is meant to be used in a long running
// goroutine to ensure a session stays valid.
-func (s *Session) RenewPeriodic(initialTTL string, id string, q *WriteOptions, doneCh chan struct{}) error {
+func (s *Session) RenewPeriodic(initialTTL string, id string, q *WriteOptions, doneCh <-chan struct{}) error {
+ ctx := q.Context()
+
ttl, err := time.ParseDuration(initialTTL)
if err != nil {
return err
@@ -179,6 +181,11 @@ func (s *Session) RenewPeriodic(initialTTL string, id string, q *WriteOptions, d
// Attempt a session destroy
s.Destroy(id, q)
return nil
+
+ case <-ctx.Done():
+ // Bail immediately since attempting the destroy would
+ // use the canceled context in q, which would just bail.
+ return ctx.Err()
}
}
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/operator.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/operator.go
deleted file mode 100644
index d564400b..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/operator.go
+++ /dev/null
@@ -1,57 +0,0 @@
-package structs
-
-import (
- "github.com/hashicorp/raft"
-)
-
-// RaftServer has information about a server in the Raft configuration.
-type RaftServer struct {
- // ID is the unique ID for the server. These are currently the same
- // as the address, but they will be changed to a real GUID in a future
- // release of Consul.
- ID raft.ServerID
-
- // Node is the node name of the server, as known by Consul, or this
- // will be set to "(unknown)" otherwise.
- Node string
-
- // Address is the IP:port of the server, used for Raft communications.
- Address raft.ServerAddress
-
- // Leader is true if this server is the current cluster leader.
- Leader bool
-
- // Voter is true if this server has a vote in the cluster. This might
- // be false if the server is staging and still coming online, or if
- // it's a non-voting server, which will be added in a future release of
- // Consul.
- Voter bool
-}
-
-// RaftConfigrationResponse is returned when querying for the current Raft
-// configuration.
-type RaftConfigurationResponse struct {
- // Servers has the list of servers in the Raft configuration.
- Servers []*RaftServer
-
- // Index has the Raft index of this configuration.
- Index uint64
-}
-
-// RaftPeerByAddressRequest is used by the Operator endpoint to apply a Raft
-// operation on a specific Raft peer by address in the form of "IP:port".
-type RaftPeerByAddressRequest struct {
- // Datacenter is the target this request is intended for.
- Datacenter string
-
- // Address is the peer to remove, in the form "IP:port".
- Address raft.ServerAddress
-
- // WriteRequest holds the ACL token to go along with this request.
- WriteRequest
-}
-
-// RequestDatacenter returns the datacenter for a given request.
-func (op *RaftPeerByAddressRequest) RequestDatacenter() string {
- return op.Datacenter
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/prepared_query.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/prepared_query.go
deleted file mode 100644
index af535f01..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/prepared_query.go
+++ /dev/null
@@ -1,257 +0,0 @@
-package structs
-
-// QueryDatacenterOptions sets options about how we fail over if there are no
-// healthy nodes in the local datacenter.
-type QueryDatacenterOptions struct {
- // NearestN is set to the number of remote datacenters to try, based on
- // network coordinates.
- NearestN int
-
- // Datacenters is a fixed list of datacenters to try after NearestN. We
- // never try a datacenter multiple times, so those are subtracted from
- // this list before proceeding.
- Datacenters []string
-}
-
-// QueryDNSOptions controls settings when query results are served over DNS.
-type QueryDNSOptions struct {
- // TTL is the time to live for the served DNS results.
- TTL string
-}
-
-// ServiceQuery is used to query for a set of healthy nodes offering a specific
-// service.
-type ServiceQuery struct {
- // Service is the service to query.
- Service string
-
- // Failover controls what we do if there are no healthy nodes in the
- // local datacenter.
- Failover QueryDatacenterOptions
-
- // If OnlyPassing is true then we will only include nodes with passing
- // health checks (critical AND warning checks will cause a node to be
- // discarded)
- OnlyPassing bool
-
- // Near allows the query to always prefer the node nearest the given
- // node. If the node does not exist, results are returned in their
- // normal randomly-shuffled order. Supplying the magic "_agent" value
- // is supported to sort near the agent which initiated the request.
- Near string
-
- // Tags are a set of required and/or disallowed tags. If a tag is in
- // this list it must be present. If the tag is preceded with "!" then
- // it is disallowed.
- Tags []string
-
- // NodeMeta is a map of required node metadata fields. If a key/value
- // pair is in this map it must be present on the node in order for the
- // service entry to be returned.
- NodeMeta map[string]string
-}
-
-const (
- // QueryTemplateTypeNamePrefixMatch uses the Name field of the query as
- // a prefix to select the template.
- QueryTemplateTypeNamePrefixMatch = "name_prefix_match"
-)
-
-// QueryTemplateOptions controls settings if this query is a template.
-type QueryTemplateOptions struct {
- // Type, if non-empty, means that this query is a template. This is
- // set to one of the QueryTemplateType* constants above.
- Type string
-
- // Regexp is an optional regular expression to use to parse the full
- // name, once the prefix match has selected a template. This can be
- // used to extract parts of the name and choose a service name, set
- // tags, etc.
- Regexp string
-}
-
-// PreparedQuery defines a complete prepared query, and is the structure we
-// maintain in the state store.
-type PreparedQuery struct {
- // ID is this UUID-based ID for the query, always generated by Consul.
- ID string
-
- // Name is an optional friendly name for the query supplied by the
- // user. NOTE - if this feature is used then it will reduce the security
- // of any read ACL associated with this query/service since this name
- // can be used to locate nodes with supplying any ACL.
- Name string
-
- // Session is an optional session to tie this query's lifetime to. If
- // this is omitted then the query will not expire.
- Session string
-
- // Token is the ACL token used when the query was created, and it is
- // used when a query is subsequently executed. This token, or a token
- // with management privileges, must be used to change the query later.
- Token string
-
- // Template is used to configure this query as a template, which will
- // respond to queries based on the Name, and then will be rendered
- // before it is executed.
- Template QueryTemplateOptions
-
- // Service defines a service query (leaving things open for other types
- // later).
- Service ServiceQuery
-
- // DNS has options that control how the results of this query are
- // served over DNS.
- DNS QueryDNSOptions
-
- RaftIndex
-}
-
-// GetACLPrefix returns the prefix to look up the prepared_query ACL policy for
-// this query, and whether the prefix applies to this query. You always need to
-// check the ok value before using the prefix.
-func (pq *PreparedQuery) GetACLPrefix() (string, bool) {
- if pq.Name != "" || pq.Template.Type != "" {
- return pq.Name, true
- }
-
- return "", false
-}
-
-type PreparedQueries []*PreparedQuery
-
-type IndexedPreparedQueries struct {
- Queries PreparedQueries
- QueryMeta
-}
-
-type PreparedQueryOp string
-
-const (
- PreparedQueryCreate PreparedQueryOp = "create"
- PreparedQueryUpdate PreparedQueryOp = "update"
- PreparedQueryDelete PreparedQueryOp = "delete"
-)
-
-// QueryRequest is used to create or change prepared queries.
-type PreparedQueryRequest struct {
- // Datacenter is the target this request is intended for.
- Datacenter string
-
- // Op is the operation to apply.
- Op PreparedQueryOp
-
- // Query is the query itself.
- Query *PreparedQuery
-
- // WriteRequest holds the ACL token to go along with this request.
- WriteRequest
-}
-
-// RequestDatacenter returns the datacenter for a given request.
-func (q *PreparedQueryRequest) RequestDatacenter() string {
- return q.Datacenter
-}
-
-// PreparedQuerySpecificRequest is used to get information about a prepared
-// query.
-type PreparedQuerySpecificRequest struct {
- // Datacenter is the target this request is intended for.
- Datacenter string
-
- // QueryID is the ID of a query.
- QueryID string
-
- // QueryOptions (unfortunately named here) controls the consistency
- // settings for the query lookup itself, as well as the service lookups.
- QueryOptions
-}
-
-// RequestDatacenter returns the datacenter for a given request.
-func (q *PreparedQuerySpecificRequest) RequestDatacenter() string {
- return q.Datacenter
-}
-
-// PreparedQueryExecuteRequest is used to execute a prepared query.
-type PreparedQueryExecuteRequest struct {
- // Datacenter is the target this request is intended for.
- Datacenter string
-
- // QueryIDOrName is the ID of a query _or_ the name of one, either can
- // be provided.
- QueryIDOrName string
-
- // Limit will trim the resulting list down to the given limit.
- Limit int
-
- // Source is used to sort the results relative to a given node using
- // network coordinates.
- Source QuerySource
-
- // Agent is used to carry around a reference to the agent which initiated
- // the execute request. Used to distance-sort relative to the local node.
- Agent QuerySource
-
- // QueryOptions (unfortunately named here) controls the consistency
- // settings for the query lookup itself, as well as the service lookups.
- QueryOptions
-}
-
-// RequestDatacenter returns the datacenter for a given request.
-func (q *PreparedQueryExecuteRequest) RequestDatacenter() string {
- return q.Datacenter
-}
-
-// PreparedQueryExecuteRemoteRequest is used when running a local query in a
-// remote datacenter.
-type PreparedQueryExecuteRemoteRequest struct {
- // Datacenter is the target this request is intended for.
- Datacenter string
-
- // Query is a copy of the query to execute. We have to ship the entire
- // query over since it won't be present in the remote state store.
- Query PreparedQuery
-
- // Limit will trim the resulting list down to the given limit.
- Limit int
-
- // QueryOptions (unfortunately named here) controls the consistency
- // settings for the the service lookups.
- QueryOptions
-}
-
-// RequestDatacenter returns the datacenter for a given request.
-func (q *PreparedQueryExecuteRemoteRequest) RequestDatacenter() string {
- return q.Datacenter
-}
-
-// PreparedQueryExecuteResponse has the results of executing a query.
-type PreparedQueryExecuteResponse struct {
- // Service is the service that was queried.
- Service string
-
- // Nodes has the nodes that were output by the query.
- Nodes CheckServiceNodes
-
- // DNS has the options for serving these results over DNS.
- DNS QueryDNSOptions
-
- // Datacenter is the datacenter that these results came from.
- Datacenter string
-
- // Failovers is a count of how many times we had to query a remote
- // datacenter.
- Failovers int
-
- // QueryMeta has freshness information about the query.
- QueryMeta
-}
-
-// PreparedQueryExplainResponse has the results when explaining a query/
-type PreparedQueryExplainResponse struct {
- // Query has the fully-rendered query.
- Query PreparedQuery
-
- // QueryMeta has freshness information about the query.
- QueryMeta
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/snapshot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/snapshot.go
deleted file mode 100644
index 3d65e317..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/snapshot.go
+++ /dev/null
@@ -1,40 +0,0 @@
-package structs
-
-type SnapshotOp int
-
-const (
- SnapshotSave SnapshotOp = iota
- SnapshotRestore
-)
-
-// SnapshotRequest is used as a header for a snapshot RPC request. This will
-// precede any streaming data that's part of the request and is JSON-encoded on
-// the wire.
-type SnapshotRequest struct {
- // Datacenter is the target datacenter for this request. The request
- // will be forwarded if necessary.
- Datacenter string
-
- // Token is the ACL token to use for the operation. If ACLs are enabled
- // then all operations require a management token.
- Token string
-
- // If set, any follower can service the request. Results may be
- // arbitrarily stale. Only applies to SnapshotSave.
- AllowStale bool
-
- // Op is the operation code for the RPC.
- Op SnapshotOp
-}
-
-// SnapshotResponse is used header for a snapshot RPC response. This will
-// precede any streaming data that's part of the request and is JSON-encoded on
-// the wire.
-type SnapshotResponse struct {
- // Error is the overall error status of the RPC request.
- Error string
-
- // QueryMeta has freshness information about the server that handled the
- // request. It is only filled in for a SnapshotSave.
- QueryMeta
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/structs.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/structs.go
deleted file mode 100644
index 13c67b3d..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/structs.go
+++ /dev/null
@@ -1,1041 +0,0 @@
-package structs
-
-import (
- "bytes"
- "fmt"
- "math/rand"
- "reflect"
- "time"
-
- "github.com/hashicorp/consul/acl"
- "github.com/hashicorp/consul/types"
- "github.com/hashicorp/go-msgpack/codec"
- "github.com/hashicorp/serf/coordinate"
- "regexp"
- "strings"
-)
-
-var (
- ErrNoLeader = fmt.Errorf("No cluster leader")
- ErrNoDCPath = fmt.Errorf("No path to datacenter")
- ErrNoServers = fmt.Errorf("No known Consul servers")
-)
-
-type MessageType uint8
-
-// RaftIndex is used to track the index used while creating
-// or modifying a given struct type.
-type RaftIndex struct {
- CreateIndex uint64
- ModifyIndex uint64
-}
-
-const (
- RegisterRequestType MessageType = iota
- DeregisterRequestType
- KVSRequestType
- SessionRequestType
- ACLRequestType
- TombstoneRequestType
- CoordinateBatchUpdateType
- PreparedQueryRequestType
- TxnRequestType
-)
-
-const (
- // IgnoreUnknownTypeFlag is set along with a MessageType
- // to indicate that the message type can be safely ignored
- // if it is not recognized. This is for future proofing, so
- // that new commands can be added in a way that won't cause
- // old servers to crash when the FSM attempts to process them.
- IgnoreUnknownTypeFlag MessageType = 128
-)
-
-const (
- // HealthAny is special, and is used as a wild card,
- // not as a specific state.
- HealthAny = "any"
- HealthPassing = "passing"
- HealthWarning = "warning"
- HealthCritical = "critical"
- HealthMaint = "maintenance"
-)
-
-const (
- // NodeMaint is the special key set by a node in maintenance mode.
- NodeMaint = "_node_maintenance"
-
- // ServiceMaintPrefix is the prefix for a service in maintenance mode.
- ServiceMaintPrefix = "_service_maintenance:"
-)
-
-const (
- // The meta key prefix reserved for Consul's internal use
- metaKeyReservedPrefix = "consul-"
-
- // The maximum number of metadata key pairs allowed to be registered
- metaMaxKeyPairs = 64
-
- // The maximum allowed length of a metadata key
- metaKeyMaxLength = 128
-
- // The maximum allowed length of a metadata value
- metaValueMaxLength = 512
-)
-
-var (
- // metaKeyFormat checks if a metadata key string is valid
- metaKeyFormat = regexp.MustCompile(`^[a-zA-Z0-9_-]+$`).MatchString
-)
-
-func ValidStatus(s string) bool {
- return s == HealthPassing ||
- s == HealthWarning ||
- s == HealthCritical
-}
-
-const (
- // Client tokens have rules applied
- ACLTypeClient = "client"
-
- // Management tokens have an always allow policy.
- // They are used for token management.
- ACLTypeManagement = "management"
-)
-
-const (
- // MaxLockDelay provides a maximum LockDelay value for
- // a session. Any value above this will not be respected.
- MaxLockDelay = 60 * time.Second
-)
-
-// RPCInfo is used to describe common information about query
-type RPCInfo interface {
- RequestDatacenter() string
- IsRead() bool
- AllowStaleRead() bool
- ACLToken() string
-}
-
-// QueryOptions is used to specify various flags for read queries
-type QueryOptions struct {
- // Token is the ACL token ID. If not provided, the 'anonymous'
- // token is assumed for backwards compatibility.
- Token string
-
- // If set, wait until query exceeds given index. Must be provided
- // with MaxQueryTime.
- MinQueryIndex uint64
-
- // Provided with MinQueryIndex to wait for change.
- MaxQueryTime time.Duration
-
- // If set, any follower can service the request. Results
- // may be arbitrarily stale.
- AllowStale bool
-
- // If set, the leader must verify leadership prior to
- // servicing the request. Prevents a stale read.
- RequireConsistent bool
-}
-
-// QueryOption only applies to reads, so always true
-func (q QueryOptions) IsRead() bool {
- return true
-}
-
-func (q QueryOptions) AllowStaleRead() bool {
- return q.AllowStale
-}
-
-func (q QueryOptions) ACLToken() string {
- return q.Token
-}
-
-type WriteRequest struct {
- // Token is the ACL token ID. If not provided, the 'anonymous'
- // token is assumed for backwards compatibility.
- Token string
-}
-
-// WriteRequest only applies to writes, always false
-func (w WriteRequest) IsRead() bool {
- return false
-}
-
-func (w WriteRequest) AllowStaleRead() bool {
- return false
-}
-
-func (w WriteRequest) ACLToken() string {
- return w.Token
-}
-
-// QueryMeta allows a query response to include potentially
-// useful metadata about a query
-type QueryMeta struct {
- // This is the index associated with the read
- Index uint64
-
- // If AllowStale is used, this is time elapsed since
- // last contact between the follower and leader. This
- // can be used to gauge staleness.
- LastContact time.Duration
-
- // Used to indicate if there is a known leader node
- KnownLeader bool
-}
-
-// RegisterRequest is used for the Catalog.Register endpoint
-// to register a node as providing a service. If no service
-// is provided, the node is registered.
-type RegisterRequest struct {
- Datacenter string
- ID types.NodeID
- Node string
- Address string
- TaggedAddresses map[string]string
- NodeMeta map[string]string
- Service *NodeService
- Check *HealthCheck
- Checks HealthChecks
- WriteRequest
-}
-
-func (r *RegisterRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// ChangesNode returns true if the given register request changes the given
-// node, which can be nil. This only looks for changes to the node record itself,
-// not any of the health checks.
-func (r *RegisterRequest) ChangesNode(node *Node) bool {
- // This means it's creating the node.
- if node == nil {
- return true
- }
-
- // Check if any of the node-level fields are being changed.
- if r.ID != node.ID ||
- r.Node != node.Node ||
- r.Address != node.Address ||
- !reflect.DeepEqual(r.TaggedAddresses, node.TaggedAddresses) ||
- !reflect.DeepEqual(r.NodeMeta, node.Meta) {
- return true
- }
-
- return false
-}
-
-// DeregisterRequest is used for the Catalog.Deregister endpoint
-// to deregister a node as providing a service. If no service is
-// provided the entire node is deregistered.
-type DeregisterRequest struct {
- Datacenter string
- Node string
- ServiceID string
- CheckID types.CheckID
- WriteRequest
-}
-
-func (r *DeregisterRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// QuerySource is used to pass along information about the source node
-// in queries so that we can adjust the response based on its network
-// coordinates.
-type QuerySource struct {
- Datacenter string
- Node string
-}
-
-// DCSpecificRequest is used to query about a specific DC
-type DCSpecificRequest struct {
- Datacenter string
- NodeMetaFilters map[string]string
- Source QuerySource
- QueryOptions
-}
-
-func (r *DCSpecificRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// ServiceSpecificRequest is used to query about a specific service
-type ServiceSpecificRequest struct {
- Datacenter string
- NodeMetaFilters map[string]string
- ServiceName string
- ServiceTag string
- TagFilter bool // Controls tag filtering
- Source QuerySource
- QueryOptions
-}
-
-func (r *ServiceSpecificRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// NodeSpecificRequest is used to request the information about a single node
-type NodeSpecificRequest struct {
- Datacenter string
- Node string
- QueryOptions
-}
-
-func (r *NodeSpecificRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// ChecksInStateRequest is used to query for nodes in a state
-type ChecksInStateRequest struct {
- Datacenter string
- NodeMetaFilters map[string]string
- State string
- Source QuerySource
- QueryOptions
-}
-
-func (r *ChecksInStateRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// Used to return information about a node
-type Node struct {
- ID types.NodeID
- Node string
- Address string
- TaggedAddresses map[string]string
- Meta map[string]string
-
- RaftIndex
-}
-type Nodes []*Node
-
-// ValidateMeta validates a set of key/value pairs from the agent config
-func ValidateMetadata(meta map[string]string) error {
- if len(meta) > metaMaxKeyPairs {
- return fmt.Errorf("Node metadata cannot contain more than %d key/value pairs", metaMaxKeyPairs)
- }
-
- for key, value := range meta {
- if err := validateMetaPair(key, value); err != nil {
- return fmt.Errorf("Couldn't load metadata pair ('%s', '%s'): %s", key, value, err)
- }
- }
-
- return nil
-}
-
-// validateMetaPair checks that the given key/value pair is in a valid format
-func validateMetaPair(key, value string) error {
- if key == "" {
- return fmt.Errorf("Key cannot be blank")
- }
- if !metaKeyFormat(key) {
- return fmt.Errorf("Key contains invalid characters")
- }
- if len(key) > metaKeyMaxLength {
- return fmt.Errorf("Key is too long (limit: %d characters)", metaKeyMaxLength)
- }
- if strings.HasPrefix(key, metaKeyReservedPrefix) {
- return fmt.Errorf("Key prefix '%s' is reserved for internal use", metaKeyReservedPrefix)
- }
- if len(value) > metaValueMaxLength {
- return fmt.Errorf("Value is too long (limit: %d characters)", metaValueMaxLength)
- }
- return nil
-}
-
-// SatisfiesMetaFilters returns true if the metadata map contains the given filters
-func SatisfiesMetaFilters(meta map[string]string, filters map[string]string) bool {
- for key, value := range filters {
- if v, ok := meta[key]; !ok || v != value {
- return false
- }
- }
- return true
-}
-
-// Used to return information about a provided services.
-// Maps service name to available tags
-type Services map[string][]string
-
-// ServiceNode represents a node that is part of a service. ID, Address,
-// TaggedAddresses, and NodeMeta are node-related fields that are always empty
-// in the state store and are filled in on the way out by parseServiceNodes().
-// This is also why PartialClone() skips them, because we know they are blank
-// already so it would be a waste of time to copy them.
-type ServiceNode struct {
- ID types.NodeID
- Node string
- Address string
- TaggedAddresses map[string]string
- NodeMeta map[string]string
- ServiceID string
- ServiceName string
- ServiceTags []string
- ServiceAddress string
- ServicePort int
- ServiceEnableTagOverride bool
-
- RaftIndex
-}
-
-// PartialClone() returns a clone of the given service node, minus the node-
-// related fields that get filled in later, Address and TaggedAddresses.
-func (s *ServiceNode) PartialClone() *ServiceNode {
- tags := make([]string, len(s.ServiceTags))
- copy(tags, s.ServiceTags)
-
- return &ServiceNode{
- // Skip ID, see above.
- Node: s.Node,
- // Skip Address, see above.
- // Skip TaggedAddresses, see above.
- ServiceID: s.ServiceID,
- ServiceName: s.ServiceName,
- ServiceTags: tags,
- ServiceAddress: s.ServiceAddress,
- ServicePort: s.ServicePort,
- ServiceEnableTagOverride: s.ServiceEnableTagOverride,
- RaftIndex: RaftIndex{
- CreateIndex: s.CreateIndex,
- ModifyIndex: s.ModifyIndex,
- },
- }
-}
-
-// ToNodeService converts the given service node to a node service.
-func (s *ServiceNode) ToNodeService() *NodeService {
- return &NodeService{
- ID: s.ServiceID,
- Service: s.ServiceName,
- Tags: s.ServiceTags,
- Address: s.ServiceAddress,
- Port: s.ServicePort,
- EnableTagOverride: s.ServiceEnableTagOverride,
- RaftIndex: RaftIndex{
- CreateIndex: s.CreateIndex,
- ModifyIndex: s.ModifyIndex,
- },
- }
-}
-
-type ServiceNodes []*ServiceNode
-
-// NodeService is a service provided by a node
-type NodeService struct {
- ID string
- Service string
- Tags []string
- Address string
- Port int
- EnableTagOverride bool
-
- RaftIndex
-}
-
-// IsSame checks if one NodeService is the same as another, without looking
-// at the Raft information (that's why we didn't call it IsEqual). This is
-// useful for seeing if an update would be idempotent for all the functional
-// parts of the structure.
-func (s *NodeService) IsSame(other *NodeService) bool {
- if s.ID != other.ID ||
- s.Service != other.Service ||
- !reflect.DeepEqual(s.Tags, other.Tags) ||
- s.Address != other.Address ||
- s.Port != other.Port ||
- s.EnableTagOverride != other.EnableTagOverride {
- return false
- }
-
- return true
-}
-
-// ToServiceNode converts the given node service to a service node.
-func (s *NodeService) ToServiceNode(node string) *ServiceNode {
- return &ServiceNode{
- // Skip ID, see ServiceNode definition.
- Node: node,
- // Skip Address, see ServiceNode definition.
- // Skip TaggedAddresses, see ServiceNode definition.
- ServiceID: s.ID,
- ServiceName: s.Service,
- ServiceTags: s.Tags,
- ServiceAddress: s.Address,
- ServicePort: s.Port,
- ServiceEnableTagOverride: s.EnableTagOverride,
- RaftIndex: RaftIndex{
- CreateIndex: s.CreateIndex,
- ModifyIndex: s.ModifyIndex,
- },
- }
-}
-
-type NodeServices struct {
- Node *Node
- Services map[string]*NodeService
-}
-
-// HealthCheck represents a single check on a given node
-type HealthCheck struct {
- Node string
- CheckID types.CheckID // Unique per-node ID
- Name string // Check name
- Status string // The current check status
- Notes string // Additional notes with the status
- Output string // Holds output of script runs
- ServiceID string // optional associated service
- ServiceName string // optional service name
-
- RaftIndex
-}
-
-// IsSame checks if one HealthCheck is the same as another, without looking
-// at the Raft information (that's why we didn't call it IsEqual). This is
-// useful for seeing if an update would be idempotent for all the functional
-// parts of the structure.
-func (c *HealthCheck) IsSame(other *HealthCheck) bool {
- if c.Node != other.Node ||
- c.CheckID != other.CheckID ||
- c.Name != other.Name ||
- c.Status != other.Status ||
- c.Notes != other.Notes ||
- c.Output != other.Output ||
- c.ServiceID != other.ServiceID ||
- c.ServiceName != other.ServiceName {
- return false
- }
-
- return true
-}
-
-// Clone returns a distinct clone of the HealthCheck.
-func (c *HealthCheck) Clone() *HealthCheck {
- clone := new(HealthCheck)
- *clone = *c
- return clone
-}
-
-// HealthChecks is a collection of HealthCheck structs.
-type HealthChecks []*HealthCheck
-
-// CheckServiceNode is used to provide the node, its service
-// definition, as well as a HealthCheck that is associated.
-type CheckServiceNode struct {
- Node *Node
- Service *NodeService
- Checks HealthChecks
-}
-type CheckServiceNodes []CheckServiceNode
-
-// Shuffle does an in-place random shuffle using the Fisher-Yates algorithm.
-func (nodes CheckServiceNodes) Shuffle() {
- for i := len(nodes) - 1; i > 0; i-- {
- j := rand.Int31n(int32(i + 1))
- nodes[i], nodes[j] = nodes[j], nodes[i]
- }
-}
-
-// Filter removes nodes that are failing health checks (and any non-passing
-// check if that option is selected). Note that this returns the filtered
-// results AND modifies the receiver for performance.
-func (nodes CheckServiceNodes) Filter(onlyPassing bool) CheckServiceNodes {
- n := len(nodes)
-OUTER:
- for i := 0; i < n; i++ {
- node := nodes[i]
- for _, check := range node.Checks {
- if check.Status == HealthCritical ||
- (onlyPassing && check.Status != HealthPassing) {
- nodes[i], nodes[n-1] = nodes[n-1], CheckServiceNode{}
- n--
- i--
- continue OUTER
- }
- }
- }
- return nodes[:n]
-}
-
-// NodeInfo is used to dump all associated information about
-// a node. This is currently used for the UI only, as it is
-// rather expensive to generate.
-type NodeInfo struct {
- ID types.NodeID
- Node string
- Address string
- TaggedAddresses map[string]string
- Meta map[string]string
- Services []*NodeService
- Checks HealthChecks
-}
-
-// NodeDump is used to dump all the nodes with all their
-// associated data. This is currently used for the UI only,
-// as it is rather expensive to generate.
-type NodeDump []*NodeInfo
-
-type IndexedNodes struct {
- Nodes Nodes
- QueryMeta
-}
-
-type IndexedServices struct {
- Services Services
- QueryMeta
-}
-
-type IndexedServiceNodes struct {
- ServiceNodes ServiceNodes
- QueryMeta
-}
-
-type IndexedNodeServices struct {
- NodeServices *NodeServices
- QueryMeta
-}
-
-type IndexedHealthChecks struct {
- HealthChecks HealthChecks
- QueryMeta
-}
-
-type IndexedCheckServiceNodes struct {
- Nodes CheckServiceNodes
- QueryMeta
-}
-
-type IndexedNodeDump struct {
- Dump NodeDump
- QueryMeta
-}
-
-// DirEntry is used to represent a directory entry. This is
-// used for values in our Key-Value store.
-type DirEntry struct {
- LockIndex uint64
- Key string
- Flags uint64
- Value []byte
- Session string `json:",omitempty"`
-
- RaftIndex
-}
-
-// Returns a clone of the given directory entry.
-func (d *DirEntry) Clone() *DirEntry {
- return &DirEntry{
- LockIndex: d.LockIndex,
- Key: d.Key,
- Flags: d.Flags,
- Value: d.Value,
- Session: d.Session,
- RaftIndex: RaftIndex{
- CreateIndex: d.CreateIndex,
- ModifyIndex: d.ModifyIndex,
- },
- }
-}
-
-type DirEntries []*DirEntry
-
-type KVSOp string
-
-const (
- KVSSet KVSOp = "set"
- KVSDelete = "delete"
- KVSDeleteCAS = "delete-cas" // Delete with check-and-set
- KVSDeleteTree = "delete-tree"
- KVSCAS = "cas" // Check-and-set
- KVSLock = "lock" // Lock a key
- KVSUnlock = "unlock" // Unlock a key
-
- // The following operations are only available inside of atomic
- // transactions via the Txn request.
- KVSGet = "get" // Read the key during the transaction.
- KVSGetTree = "get-tree" // Read all keys with the given prefix during the transaction.
- KVSCheckSession = "check-session" // Check the session holds the key.
- KVSCheckIndex = "check-index" // Check the modify index of the key.
-)
-
-// IsWrite returns true if the given operation alters the state store.
-func (op KVSOp) IsWrite() bool {
- switch op {
- case KVSGet, KVSGetTree, KVSCheckSession, KVSCheckIndex:
- return false
-
- default:
- return true
- }
-}
-
-// KVSRequest is used to operate on the Key-Value store
-type KVSRequest struct {
- Datacenter string
- Op KVSOp // Which operation are we performing
- DirEnt DirEntry // Which directory entry
- WriteRequest
-}
-
-func (r *KVSRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// KeyRequest is used to request a key, or key prefix
-type KeyRequest struct {
- Datacenter string
- Key string
- QueryOptions
-}
-
-func (r *KeyRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// KeyListRequest is used to list keys
-type KeyListRequest struct {
- Datacenter string
- Prefix string
- Seperator string
- QueryOptions
-}
-
-func (r *KeyListRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-type IndexedDirEntries struct {
- Entries DirEntries
- QueryMeta
-}
-
-type IndexedKeyList struct {
- Keys []string
- QueryMeta
-}
-
-type SessionBehavior string
-
-const (
- SessionKeysRelease SessionBehavior = "release"
- SessionKeysDelete = "delete"
-)
-
-const (
- SessionTTLMax = 24 * time.Hour
- SessionTTLMultiplier = 2
-)
-
-// Session is used to represent an open session in the KV store.
-// This issued to associate node checks with acquired locks.
-type Session struct {
- ID string
- Name string
- Node string
- Checks []types.CheckID
- LockDelay time.Duration
- Behavior SessionBehavior // What to do when session is invalidated
- TTL string
-
- RaftIndex
-}
-type Sessions []*Session
-
-type SessionOp string
-
-const (
- SessionCreate SessionOp = "create"
- SessionDestroy = "destroy"
-)
-
-// SessionRequest is used to operate on sessions
-type SessionRequest struct {
- Datacenter string
- Op SessionOp // Which operation are we performing
- Session Session // Which session
- WriteRequest
-}
-
-func (r *SessionRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// SessionSpecificRequest is used to request a session by ID
-type SessionSpecificRequest struct {
- Datacenter string
- Session string
- QueryOptions
-}
-
-func (r *SessionSpecificRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-type IndexedSessions struct {
- Sessions Sessions
- QueryMeta
-}
-
-// ACL is used to represent a token and its rules
-type ACL struct {
- ID string
- Name string
- Type string
- Rules string
-
- RaftIndex
-}
-type ACLs []*ACL
-
-type ACLOp string
-
-const (
- ACLSet ACLOp = "set"
- ACLForceSet = "force-set" // Deprecated, left to backwards compatibility
- ACLDelete = "delete"
-)
-
-// IsSame checks if one ACL is the same as another, without looking
-// at the Raft information (that's why we didn't call it IsEqual). This is
-// useful for seeing if an update would be idempotent for all the functional
-// parts of the structure.
-func (a *ACL) IsSame(other *ACL) bool {
- if a.ID != other.ID ||
- a.Name != other.Name ||
- a.Type != other.Type ||
- a.Rules != other.Rules {
- return false
- }
-
- return true
-}
-
-// ACLRequest is used to create, update or delete an ACL
-type ACLRequest struct {
- Datacenter string
- Op ACLOp
- ACL ACL
- WriteRequest
-}
-
-func (r *ACLRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// ACLRequests is a list of ACL change requests.
-type ACLRequests []*ACLRequest
-
-// ACLSpecificRequest is used to request an ACL by ID
-type ACLSpecificRequest struct {
- Datacenter string
- ACL string
- QueryOptions
-}
-
-func (r *ACLSpecificRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// ACLPolicyRequest is used to request an ACL by ID, conditionally
-// filtering on an ID
-type ACLPolicyRequest struct {
- Datacenter string
- ACL string
- ETag string
- QueryOptions
-}
-
-func (r *ACLPolicyRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-type IndexedACLs struct {
- ACLs ACLs
- QueryMeta
-}
-
-type ACLPolicy struct {
- ETag string
- Parent string
- Policy *acl.Policy
- TTL time.Duration
- QueryMeta
-}
-
-// ACLReplicationStatus provides information about the health of the ACL
-// replication system.
-type ACLReplicationStatus struct {
- Enabled bool
- Running bool
- SourceDatacenter string
- ReplicatedIndex uint64
- LastSuccess time.Time
- LastError time.Time
-}
-
-// Coordinate stores a node name with its associated network coordinate.
-type Coordinate struct {
- Node string
- Coord *coordinate.Coordinate
-}
-
-type Coordinates []*Coordinate
-
-// IndexedCoordinate is used to represent a single node's coordinate from the state
-// store.
-type IndexedCoordinate struct {
- Coord *coordinate.Coordinate
- QueryMeta
-}
-
-// IndexedCoordinates is used to represent a list of nodes and their
-// corresponding raw coordinates.
-type IndexedCoordinates struct {
- Coordinates Coordinates
- QueryMeta
-}
-
-// DatacenterMap is used to represent a list of nodes with their raw coordinates,
-// associated with a datacenter.
-type DatacenterMap struct {
- Datacenter string
- Coordinates Coordinates
-}
-
-// CoordinateUpdateRequest is used to update the network coordinate of a given
-// node.
-type CoordinateUpdateRequest struct {
- Datacenter string
- Node string
- Coord *coordinate.Coordinate
- WriteRequest
-}
-
-// RequestDatacenter returns the datacenter for a given update request.
-func (c *CoordinateUpdateRequest) RequestDatacenter() string {
- return c.Datacenter
-}
-
-// EventFireRequest is used to ask a server to fire
-// a Serf event. It is a bit odd, since it doesn't depend on
-// the catalog or leader. Any node can respond, so it's not quite
-// like a standard write request. This is used only internally.
-type EventFireRequest struct {
- Datacenter string
- Name string
- Payload []byte
-
- // Not using WriteRequest so that any server can process
- // the request. It is a bit unusual...
- QueryOptions
-}
-
-func (r *EventFireRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// EventFireResponse is used to respond to a fire request.
-type EventFireResponse struct {
- QueryMeta
-}
-
-type TombstoneOp string
-
-const (
- TombstoneReap TombstoneOp = "reap"
-)
-
-// TombstoneRequest is used to trigger a reaping of the tombstones
-type TombstoneRequest struct {
- Datacenter string
- Op TombstoneOp
- ReapIndex uint64
- WriteRequest
-}
-
-func (r *TombstoneRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// msgpackHandle is a shared handle for encoding/decoding of structs
-var msgpackHandle = &codec.MsgpackHandle{}
-
-// Decode is used to decode a MsgPack encoded object
-func Decode(buf []byte, out interface{}) error {
- return codec.NewDecoder(bytes.NewReader(buf), msgpackHandle).Decode(out)
-}
-
-// Encode is used to encode a MsgPack object with type prefix
-func Encode(t MessageType, msg interface{}) ([]byte, error) {
- var buf bytes.Buffer
- buf.WriteByte(uint8(t))
- err := codec.NewEncoder(&buf, msgpackHandle).Encode(msg)
- return buf.Bytes(), err
-}
-
-// CompoundResponse is an interface for gathering multiple responses. It is
-// used in cross-datacenter RPC calls where more than 1 datacenter is
-// expected to reply.
-type CompoundResponse interface {
- // Add adds a new response to the compound response
- Add(interface{})
-
- // New returns an empty response object which can be passed around by
- // reference, and then passed to Add() later on.
- New() interface{}
-}
-
-type KeyringOp string
-
-const (
- KeyringList KeyringOp = "list"
- KeyringInstall = "install"
- KeyringUse = "use"
- KeyringRemove = "remove"
-)
-
-// KeyringRequest encapsulates a request to modify an encryption keyring.
-// It can be used for install, remove, or use key type operations.
-type KeyringRequest struct {
- Operation KeyringOp
- Key string
- Datacenter string
- Forwarded bool
- RelayFactor uint8
- QueryOptions
-}
-
-func (r *KeyringRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// KeyringResponse is a unified key response and can be used for install,
-// remove, use, as well as listing key queries.
-type KeyringResponse struct {
- WAN bool
- Datacenter string
- Messages map[string]string `json:",omitempty"`
- Keys map[string]int
- NumNodes int
- Error string `json:",omitempty"`
-}
-
-// KeyringResponses holds multiple responses to keyring queries. Each
-// datacenter replies independently, and KeyringResponses is used as a
-// container for the set of all responses.
-type KeyringResponses struct {
- Responses []*KeyringResponse
- QueryMeta
-}
-
-func (r *KeyringResponses) Add(v interface{}) {
- val := v.(*KeyringResponses)
- r.Responses = append(r.Responses, val.Responses...)
-}
-
-func (r *KeyringResponses) New() interface{} {
- return new(KeyringResponses)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/txn.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/txn.go
deleted file mode 100644
index 3f8035b9..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/consul/structs/txn.go
+++ /dev/null
@@ -1,85 +0,0 @@
-package structs
-
-import (
- "fmt"
-)
-
-// TxnKVOp is used to define a single operation on the KVS inside a
-// transaction
-type TxnKVOp struct {
- Verb KVSOp
- DirEnt DirEntry
-}
-
-// TxnKVResult is used to define the result of a single operation on the KVS
-// inside a transaction.
-type TxnKVResult *DirEntry
-
-// TxnOp is used to define a single operation inside a transaction. Only one
-// of the types should be filled out per entry.
-type TxnOp struct {
- KV *TxnKVOp
-}
-
-// TxnOps is a list of operations within a transaction.
-type TxnOps []*TxnOp
-
-// TxnRequest is used to apply multiple operations to the state store in a
-// single transaction
-type TxnRequest struct {
- Datacenter string
- Ops TxnOps
- WriteRequest
-}
-
-func (r *TxnRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// TxnReadRequest is used as a fast path for read-only transactions that don't
-// modify the state store.
-type TxnReadRequest struct {
- Datacenter string
- Ops TxnOps
- QueryOptions
-}
-
-func (r *TxnReadRequest) RequestDatacenter() string {
- return r.Datacenter
-}
-
-// TxnError is used to return information about an error for a specific
-// operation.
-type TxnError struct {
- OpIndex int
- What string
-}
-
-// Error returns the string representation of an atomic error.
-func (e TxnError) Error() string {
- return fmt.Sprintf("op %d: %s", e.OpIndex, e.What)
-}
-
-// TxnErrors is a list of TxnError entries.
-type TxnErrors []*TxnError
-
-// TxnResult is used to define the result of a given operation inside a
-// transaction. Only one of the types should be filled out per entry.
-type TxnResult struct {
- KV TxnKVResult
-}
-
-// TxnResults is a list of TxnResult entries.
-type TxnResults []*TxnResult
-
-// TxnResponse is the structure returned by a TxnRequest.
-type TxnResponse struct {
- Results TxnResults
- Errors TxnErrors
-}
-
-// TxnReadResponse is the structure returned by a TxnReadRequest.
-type TxnReadResponse struct {
- TxnResponse
- QueryMeta
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/README.md
index 21eb01d2..bd84f822 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/README.md
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/README.md
@@ -25,41 +25,54 @@ import (
"github.com/hashicorp/consul/testutil"
)
-func TestMain(t *testing.T) {
+func TestFoo_bar(t *testing.T) {
// Create a test Consul server
- srv1 := testutil.NewTestServer(t)
+ srv1, err := testutil.NewTestServer()
+ if err != nil {
+ t.Fatal(err)
+ }
defer srv1.Stop()
// Create a secondary server, passing in configuration
// to avoid bootstrapping as we are forming a cluster.
- srv2 := testutil.NewTestServerConfig(t, func(c *testutil.TestServerConfig) {
+ srv2, err := testutil.NewTestServerConfig(t, func(c *testutil.TestServerConfig) {
c.Bootstrap = false
})
+ if err != nil {
+ t.Fatal(err)
+ }
defer srv2.Stop()
// Join the servers together
- srv1.JoinLAN(srv2.LANAddr)
+ srv1.JoinLAN(t, srv2.LANAddr)
// Create a test key/value pair
- srv1.SetKV("foo", []byte("bar"))
+ srv1.SetKV(t, "foo", []byte("bar"))
// Create lots of test key/value pairs
- srv1.PopulateKV(map[string][]byte{
+ srv1.PopulateKV(t, map[string][]byte{
"bar": []byte("123"),
"baz": []byte("456"),
})
// Create a service
- srv1.AddService("redis", structs.HealthPassing, []string{"master"})
+ srv1.AddService(t, "redis", structs.HealthPassing, []string{"master"})
+
+ // Create a service that will be accessed in target source code
+ srv1.AddAccessibleService("redis", structs.HealthPassing, "127.0.0.1", 6379, []string{"master"})
// Create a service check
- srv1.AddCheck("service:redis", "redis", structs.HealthPassing)
+ srv1.AddCheck(t, "service:redis", "redis", structs.HealthPassing)
// Create a node check
- srv1.AddCheck("mem", "", structs.HealthCritical)
+ srv1.AddCheck(t, "mem", "", structs.HealthCritical)
// The HTTPAddr field contains the address of the Consul
// API on the new test server instance.
println(srv1.HTTPAddr)
+
+ // All functions also have a wrapper method to limit the passing of "t"
+ wrap := srv1.Wrap(t)
+ wrap.SetKV("foo", []byte("bar"))
}
```
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/io.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/io.go
new file mode 100644
index 00000000..7d0ca6ef
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/io.go
@@ -0,0 +1,61 @@
+package testutil
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "strings"
+ "testing"
+)
+
+// tmpdir is the base directory for all temporary directories
+// and files created with TempDir and TempFile. This could be
+// achieved by setting a system environment variable but then
+// the test execution would depend on whether or not the
+// environment variable is set.
+//
+// On macOS the temp base directory is quite long and that
+// triggers a problem with some tests that bind to UNIX sockets
+// where the filename seems to be too long. Using a shorter name
+// fixes this and makes the paths more readable.
+//
+// It also provides a single base directory for cleanup.
+var tmpdir = "/tmp/consul-test"
+
+func init() {
+ if err := os.MkdirAll(tmpdir, 0755); err != nil {
+ fmt.Printf("Cannot create %s. Reverting to /tmp\n", tmpdir)
+ tmpdir = "/tmp"
+ }
+}
+
+// TempDir creates a temporary directory within tmpdir
+// with the name 'testname-name'. If the directory cannot
+// be created t.Fatal is called.
+func TempDir(t *testing.T, name string) string {
+ if t != nil && t.Name() != "" {
+ name = t.Name() + "-" + name
+ }
+ name = strings.Replace(name, "/", "_", -1)
+ d, err := ioutil.TempDir(tmpdir, name)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+ return d
+}
+
+// TempFile creates a temporary file within tmpdir
+// with the name 'testname-name'. If the file cannot
+// be created t.Fatal is called. If a temporary directory
+// has been created before consider storing the file
+// inside this directory to avoid double cleanup.
+func TempFile(t *testing.T, name string) *os.File {
+ if t != nil && t.Name() != "" {
+ name = t.Name() + "-" + name
+ }
+ f, err := ioutil.TempFile(tmpdir, name)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+ return f
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/retry/retry.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/retry/retry.go
new file mode 100644
index 00000000..cfbdde3c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/retry/retry.go
@@ -0,0 +1,197 @@
+// Package retry provides support for repeating operations in tests.
+//
+// A sample retry operation looks like this:
+//
+// func TestX(t *testing.T) {
+// retry.Run(t, func(r *retry.R) {
+// if err := foo(); err != nil {
+// r.Fatal("f: ", err)
+// }
+// })
+// }
+//
+package retry
+
+import (
+ "bytes"
+ "fmt"
+ "runtime"
+ "strings"
+ "sync"
+ "time"
+)
+
+// Failer is an interface compatible with testing.T.
+type Failer interface {
+ // Log is called for the final test output
+ Log(args ...interface{})
+
+ // FailNow is called when the retrying is abandoned.
+ FailNow()
+}
+
+// R provides context for the retryer.
+type R struct {
+ fail bool
+ output []string
+}
+
+func (r *R) FailNow() {
+ r.fail = true
+ runtime.Goexit()
+}
+
+func (r *R) Fatal(args ...interface{}) {
+ r.log(fmt.Sprint(args...))
+ r.FailNow()
+}
+
+func (r *R) Fatalf(format string, args ...interface{}) {
+ r.log(fmt.Sprintf(format, args...))
+ r.FailNow()
+}
+
+func (r *R) Error(args ...interface{}) {
+ r.log(fmt.Sprint(args...))
+ r.fail = true
+}
+
+func (r *R) Check(err error) {
+ if err != nil {
+ r.log(err.Error())
+ r.FailNow()
+ }
+}
+
+func (r *R) log(s string) {
+ r.output = append(r.output, decorate(s))
+}
+
+func decorate(s string) string {
+ _, file, line, ok := runtime.Caller(3)
+ if ok {
+ n := strings.LastIndex(file, "/")
+ if n >= 0 {
+ file = file[n+1:]
+ }
+ } else {
+ file = "???"
+ line = 1
+ }
+ return fmt.Sprintf("%s:%d: %s", file, line, s)
+}
+
+func Run(t Failer, f func(r *R)) {
+ run(TwoSeconds(), t, f)
+}
+
+func RunWith(r Retryer, t Failer, f func(r *R)) {
+ run(r, t, f)
+}
+
+func dedup(a []string) string {
+ if len(a) == 0 {
+ return ""
+ }
+ m := map[string]int{}
+ for _, s := range a {
+ m[s] = m[s] + 1
+ }
+ var b bytes.Buffer
+ for _, s := range a {
+ if _, ok := m[s]; ok {
+ b.WriteString(s)
+ b.WriteRune('\n')
+ delete(m, s)
+ }
+ }
+ return string(b.Bytes())
+}
+
+func run(r Retryer, t Failer, f func(r *R)) {
+ rr := &R{}
+ fail := func() {
+ out := dedup(rr.output)
+ if out != "" {
+ t.Log(out)
+ }
+ t.FailNow()
+ }
+ for r.NextOr(fail) {
+ var wg sync.WaitGroup
+ wg.Add(1)
+ go func() {
+ defer wg.Done()
+ f(rr)
+ }()
+ wg.Wait()
+ if rr.fail {
+ rr.fail = false
+ continue
+ }
+ break
+ }
+}
+
+// TwoSeconds repeats an operation for two seconds and waits 25ms in between.
+func TwoSeconds() *Timer {
+ return &Timer{Timeout: 2 * time.Second, Wait: 25 * time.Millisecond}
+}
+
+// ThreeTimes repeats an operation three times and waits 25ms in between.
+func ThreeTimes() *Counter {
+ return &Counter{Count: 3, Wait: 25 * time.Millisecond}
+}
+
+// Retryer provides an interface for repeating operations
+// until they succeed or an exit condition is met.
+type Retryer interface {
+ // NextOr returns true if the operation should be repeated.
+ // Otherwise, it calls fail and returns false.
+ NextOr(fail func()) bool
+}
+
+// Counter repeats an operation a given number of
+// times and waits between subsequent operations.
+type Counter struct {
+ Count int
+ Wait time.Duration
+
+ count int
+}
+
+func (r *Counter) NextOr(fail func()) bool {
+ if r.count == r.Count {
+ fail()
+ return false
+ }
+ if r.count > 0 {
+ time.Sleep(r.Wait)
+ }
+ r.count++
+ return true
+}
+
+// Timer repeats an operation for a given amount
+// of time and waits between subsequent operations.
+type Timer struct {
+ Timeout time.Duration
+ Wait time.Duration
+
+ // stop is the timeout deadline.
+ // Set on the first invocation of Next().
+ stop time.Time
+}
+
+func (r *Timer) NextOr(fail func()) bool {
+ if r.stop.IsZero() {
+ r.stop = time.Now().Add(r.Timeout)
+ return true
+ }
+ if time.Now().After(r.stop) {
+ fail()
+ return false
+ }
+ time.Sleep(r.Wait)
+ return true
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server.go
index 7daa21ed..969d06a5 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server.go
@@ -12,8 +12,7 @@ package testutil
// otherwise cause an import cycle.
import (
- "bytes"
- "encoding/base64"
+ "context"
"encoding/json"
"fmt"
"io"
@@ -22,11 +21,16 @@ import (
"net/http"
"os"
"os/exec"
+ "path/filepath"
"strconv"
"strings"
+ "testing"
+ "time"
- "github.com/hashicorp/consul/consul/structs"
+ "github.com/hashicorp/consul/testutil/retry"
"github.com/hashicorp/go-cleanhttp"
+ "github.com/hashicorp/go-uuid"
+ "github.com/pkg/errors"
)
// TestPerformanceConfig configures the performance parameters.
@@ -39,10 +43,13 @@ type TestPerformanceConfig struct {
type TestPortConfig struct {
DNS int `json:"dns,omitempty"`
HTTP int `json:"http,omitempty"`
- RPC int `json:"rpc,omitempty"`
+ HTTPS int `json:"https,omitempty"`
SerfLan int `json:"serf_lan,omitempty"`
SerfWan int `json:"serf_wan,omitempty"`
Server int `json:"server,omitempty"`
+
+ // Deprecated
+ RPC int `json:"rpc,omitempty"`
}
// TestAddressConfig contains the bind addresses for various
@@ -53,24 +60,36 @@ type TestAddressConfig struct {
// TestServerConfig is the main server configuration struct.
type TestServerConfig struct {
- NodeName string `json:"node_name"`
- NodeMeta map[string]string `json:"node_meta,omitempty"`
- Performance *TestPerformanceConfig `json:"performance,omitempty"`
- Bootstrap bool `json:"bootstrap,omitempty"`
- Server bool `json:"server,omitempty"`
- DataDir string `json:"data_dir,omitempty"`
- Datacenter string `json:"datacenter,omitempty"`
- DisableCheckpoint bool `json:"disable_update_check"`
- LogLevel string `json:"log_level,omitempty"`
- Bind string `json:"bind_addr,omitempty"`
- Addresses *TestAddressConfig `json:"addresses,omitempty"`
- Ports *TestPortConfig `json:"ports,omitempty"`
- ACLMasterToken string `json:"acl_master_token,omitempty"`
- ACLDatacenter string `json:"acl_datacenter,omitempty"`
- ACLDefaultPolicy string `json:"acl_default_policy,omitempty"`
- Encrypt string `json:"encrypt,omitempty"`
- Stdout, Stderr io.Writer `json:"-"`
- Args []string `json:"-"`
+ NodeName string `json:"node_name"`
+ NodeID string `json:"node_id"`
+ NodeMeta map[string]string `json:"node_meta,omitempty"`
+ Performance *TestPerformanceConfig `json:"performance,omitempty"`
+ Bootstrap bool `json:"bootstrap,omitempty"`
+ Server bool `json:"server,omitempty"`
+ DataDir string `json:"data_dir,omitempty"`
+ Datacenter string `json:"datacenter,omitempty"`
+ DisableCheckpoint bool `json:"disable_update_check"`
+ LogLevel string `json:"log_level,omitempty"`
+ Bind string `json:"bind_addr,omitempty"`
+ Addresses *TestAddressConfig `json:"addresses,omitempty"`
+ Ports *TestPortConfig `json:"ports,omitempty"`
+ RaftProtocol int `json:"raft_protocol,omitempty"`
+ ACLMasterToken string `json:"acl_master_token,omitempty"`
+ ACLDatacenter string `json:"acl_datacenter,omitempty"`
+ ACLDefaultPolicy string `json:"acl_default_policy,omitempty"`
+ ACLEnforceVersion8 bool `json:"acl_enforce_version_8"`
+ Encrypt string `json:"encrypt,omitempty"`
+ CAFile string `json:"ca_file,omitempty"`
+ CertFile string `json:"cert_file,omitempty"`
+ KeyFile string `json:"key_file,omitempty"`
+ VerifyIncoming bool `json:"verify_incoming,omitempty"`
+ VerifyIncomingRPC bool `json:"verify_incoming_rpc,omitempty"`
+ VerifyIncomingHTTPS bool `json:"verify_incoming_https,omitempty"`
+ VerifyOutgoing bool `json:"verify_outgoing,omitempty"`
+ EnableScriptChecks bool `json:"enable_script_checks,omitempty"`
+ ReadyTimeout time.Duration `json:"-"`
+ Stdout, Stderr io.Writer `json:"-"`
+ Args []string `json:"-"`
}
// ServerConfigCallback is a function interface which can be
@@ -80,8 +99,14 @@ type ServerConfigCallback func(c *TestServerConfig)
// defaultServerConfig returns a new TestServerConfig struct
// with all of the listen ports incremented by one.
func defaultServerConfig() *TestServerConfig {
+ nodeID, err := uuid.GenerateUUID()
+ if err != nil {
+ panic(err)
+ }
+
return &TestServerConfig{
NodeName: fmt.Sprintf("node%d", randomPort()),
+ NodeID: nodeID,
DisableCheckpoint: true,
Performance: &TestPerformanceConfig{
RaftMultiplier: 1,
@@ -94,11 +119,13 @@ func defaultServerConfig() *TestServerConfig {
Ports: &TestPortConfig{
DNS: randomPort(),
HTTP: randomPort(),
- RPC: randomPort(),
+ HTTPS: randomPort(),
SerfLan: randomPort(),
SerfWan: randomPort(),
Server: randomPort(),
+ RPC: randomPort(),
},
+ ReadyTimeout: 10 * time.Second,
}
}
@@ -129,15 +156,6 @@ type TestCheck struct {
TTL string `json:",omitempty"`
}
-// TestingT is an interface wrapper around TestingT
-type TestingT interface {
- Logf(format string, args ...interface{})
- Errorf(format string, args ...interface{})
- Fatalf(format string, args ...interface{})
- Fatal(args ...interface{})
- Skip(args ...interface{})
-}
-
// TestKVResponse is what we use to decode KV data.
type TestKVResponse struct {
Value string
@@ -147,382 +165,229 @@ type TestKVResponse struct {
type TestServer struct {
cmd *exec.Cmd
Config *TestServerConfig
- t TestingT
- HTTPAddr string
- LANAddr string
- WANAddr string
+ HTTPAddr string
+ HTTPSAddr string
+ LANAddr string
+ WANAddr string
+
+ HTTPClient *http.Client
- HttpClient *http.Client
+ tmpdir string
}
// NewTestServer is an easy helper method to create a new Consul
// test server with the most basic configuration.
-func NewTestServer(t TestingT) *TestServer {
- return NewTestServerConfig(t, nil)
+func NewTestServer() (*TestServer, error) {
+ return NewTestServerConfigT(nil, nil)
}
-// NewTestServerConfig creates a new TestServer, and makes a call to
-// an optional callback function to modify the configuration.
-func NewTestServerConfig(t TestingT, cb ServerConfigCallback) *TestServer {
- if path, err := exec.LookPath("consul"); err != nil || path == "" {
- t.Fatal("consul not found on $PATH - download and install " +
- "consul or skip this test")
- }
+func NewTestServerConfig(cb ServerConfigCallback) (*TestServer, error) {
+ return NewTestServerConfigT(nil, cb)
+}
- dataDir, err := ioutil.TempDir("", "consul")
- if err != nil {
- t.Fatalf("err: %s", err)
- }
+// NewTestServerConfig creates a new TestServer, and makes a call to an optional
+// callback function to modify the configuration. If there is an error
+// configuring or starting the server, the server will NOT be running when the
+// function returns (thus you do not need to stop it).
+func NewTestServerConfigT(t *testing.T, cb ServerConfigCallback) (*TestServer, error) {
+ var server *TestServer
+ retry.Run(t, func(r *retry.R) {
+ var err error
+ server, err = newTestServerConfigT(t, cb)
+ if err != nil {
+ r.Fatalf("failed starting test server: %v", err)
+ }
+ })
+ return server, nil
+}
- configFile, err := ioutil.TempFile(dataDir, "config")
- if err != nil {
- defer os.RemoveAll(dataDir)
- t.Fatalf("err: %s", err)
+// newTestServerConfigT is the internal helper for NewTestServerConfigT.
+func newTestServerConfigT(t *testing.T, cb ServerConfigCallback) (*TestServer, error) {
+ path, err := exec.LookPath("consul")
+ if err != nil || path == "" {
+ return nil, fmt.Errorf("consul not found on $PATH - download and install " +
+ "consul or skip this test")
}
- consulConfig := defaultServerConfig()
- consulConfig.DataDir = dataDir
-
+ tmpdir := TempDir(t, "consul")
+ cfg := defaultServerConfig()
+ cfg.DataDir = filepath.Join(tmpdir, "data")
if cb != nil {
- cb(consulConfig)
+ cb(cfg)
}
- configContent, err := json.Marshal(consulConfig)
+ b, err := json.Marshal(cfg)
if err != nil {
- t.Fatalf("err: %s", err)
+ return nil, errors.Wrap(err, "failed marshaling json")
}
- if _, err := configFile.Write(configContent); err != nil {
- t.Fatalf("err: %s", err)
+ configFile := filepath.Join(tmpdir, "config.json")
+ if err := ioutil.WriteFile(configFile, b, 0644); err != nil {
+ defer os.RemoveAll(tmpdir)
+ return nil, errors.Wrap(err, "failed writing config content")
}
- configFile.Close()
stdout := io.Writer(os.Stdout)
- if consulConfig.Stdout != nil {
- stdout = consulConfig.Stdout
+ if cfg.Stdout != nil {
+ stdout = cfg.Stdout
}
-
stderr := io.Writer(os.Stderr)
- if consulConfig.Stderr != nil {
- stderr = consulConfig.Stderr
+ if cfg.Stderr != nil {
+ stderr = cfg.Stderr
}
// Start the server
- args := []string{"agent", "-config-file", configFile.Name()}
- args = append(args, consulConfig.Args...)
+ args := []string{"agent", "-config-file", configFile}
+ args = append(args, cfg.Args...)
cmd := exec.Command("consul", args...)
cmd.Stdout = stdout
cmd.Stderr = stderr
if err := cmd.Start(); err != nil {
- t.Fatalf("err: %s", err)
+ return nil, errors.Wrap(err, "failed starting command")
}
- var httpAddr string
- var client *http.Client
- if strings.HasPrefix(consulConfig.Addresses.HTTP, "unix://") {
- httpAddr = consulConfig.Addresses.HTTP
- trans := cleanhttp.DefaultTransport()
- trans.Dial = func(_, _ string) (net.Conn, error) {
- return net.Dial("unix", httpAddr[7:])
- }
- client = &http.Client{
- Transport: trans,
+ httpAddr := fmt.Sprintf("127.0.0.1:%d", cfg.Ports.HTTP)
+ client := cleanhttp.DefaultClient()
+ if strings.HasPrefix(cfg.Addresses.HTTP, "unix://") {
+ httpAddr = cfg.Addresses.HTTP
+ tr := cleanhttp.DefaultTransport()
+ tr.DialContext = func(_ context.Context, _, _ string) (net.Conn, error) {
+ return net.Dial("unix", httpAddr[len("unix://"):])
}
- } else {
- httpAddr = fmt.Sprintf("127.0.0.1:%d", consulConfig.Ports.HTTP)
- client = cleanhttp.DefaultClient()
+ client = &http.Client{Transport: tr}
}
server := &TestServer{
- Config: consulConfig,
+ Config: cfg,
cmd: cmd,
- t: t,
- HTTPAddr: httpAddr,
- LANAddr: fmt.Sprintf("127.0.0.1:%d", consulConfig.Ports.SerfLan),
- WANAddr: fmt.Sprintf("127.0.0.1:%d", consulConfig.Ports.SerfWan),
+ HTTPAddr: httpAddr,
+ HTTPSAddr: fmt.Sprintf("127.0.0.1:%d", cfg.Ports.HTTPS),
+ LANAddr: fmt.Sprintf("127.0.0.1:%d", cfg.Ports.SerfLan),
+ WANAddr: fmt.Sprintf("127.0.0.1:%d", cfg.Ports.SerfWan),
- HttpClient: client,
+ HTTPClient: client,
+
+ tmpdir: tmpdir,
}
// Wait for the server to be ready
- if consulConfig.Bootstrap {
- server.waitForLeader()
+ if cfg.Bootstrap {
+ err = server.waitForLeader()
} else {
- server.waitForAPI()
+ err = server.waitForAPI()
}
-
- return server
+ if err != nil {
+ defer server.Stop()
+ return nil, errors.Wrap(err, "failed waiting for server to start")
+ }
+ return server, nil
}
// Stop stops the test Consul server, and removes the Consul data
// directory once we are done.
-func (s *TestServer) Stop() {
- defer os.RemoveAll(s.Config.DataDir)
+func (s *TestServer) Stop() error {
+ defer os.RemoveAll(s.tmpdir)
+
+ // There was no process
+ if s.cmd == nil {
+ return nil
+ }
- if err := s.cmd.Process.Kill(); err != nil {
- s.t.Errorf("err: %s", err)
+ if s.cmd.Process != nil {
+ if err := s.cmd.Process.Signal(os.Interrupt); err != nil {
+ return errors.Wrap(err, "failed to kill consul server")
+ }
}
// wait for the process to exit to be sure that the data dir can be
// deleted on all platforms.
- s.cmd.Wait()
+ return s.cmd.Wait()
+}
+
+type failer struct {
+ failed bool
}
+func (f *failer) Log(args ...interface{}) { fmt.Println(args) }
+func (f *failer) FailNow() { f.failed = true }
+
// waitForAPI waits for only the agent HTTP endpoint to start
// responding. This is an indication that the agent has started,
// but will likely return before a leader is elected.
-func (s *TestServer) waitForAPI() {
- WaitForResult(func() (bool, error) {
- resp, err := s.HttpClient.Get(s.url("/v1/agent/self"))
+func (s *TestServer) waitForAPI() error {
+ f := &failer{}
+ retry.Run(f, func(r *retry.R) {
+ resp, err := s.HTTPClient.Get(s.url("/v1/agent/self"))
if err != nil {
- return false, err
+ r.Fatal(err)
}
defer resp.Body.Close()
if err := s.requireOK(resp); err != nil {
- return false, err
+ r.Fatal("failed OK respose", err)
}
- return true, nil
- }, func(err error) {
- defer s.Stop()
- s.t.Fatalf("err: %s", err)
})
+ if f.failed {
+ return errors.New("failed waiting for API")
+ }
+ return nil
}
// waitForLeader waits for the Consul server's HTTP API to become
// available, and then waits for a known leader and an index of
// 1 or more to be observed to confirm leader election is done.
// It then waits to ensure the anti-entropy sync has completed.
-func (s *TestServer) waitForLeader() {
+func (s *TestServer) waitForLeader() error {
+ f := &failer{}
+ timer := &retry.Timer{
+ Timeout: s.Config.ReadyTimeout,
+ Wait: 250 * time.Millisecond,
+ }
var index int64
- WaitForResult(func() (bool, error) {
+ retry.RunWith(timer, f, func(r *retry.R) {
// Query the API and check the status code.
- url := s.url(fmt.Sprintf("/v1/catalog/nodes?index=%d&wait=2s", index))
- resp, err := s.HttpClient.Get(url)
+ url := s.url(fmt.Sprintf("/v1/catalog/nodes?index=%d", index))
+ resp, err := s.HTTPClient.Get(url)
if err != nil {
- return false, err
+ r.Fatal("failed http get", err)
}
defer resp.Body.Close()
if err := s.requireOK(resp); err != nil {
- return false, err
+ r.Fatal("failed OK response", err)
}
// Ensure we have a leader and a node registration.
if leader := resp.Header.Get("X-Consul-KnownLeader"); leader != "true" {
- return false, fmt.Errorf("Consul leader status: %#v", leader)
+ r.Fatalf("Consul leader status: %#v", leader)
}
index, err = strconv.ParseInt(resp.Header.Get("X-Consul-Index"), 10, 64)
if err != nil {
- return false, fmt.Errorf("Consul index was bad: %v", err)
+ r.Fatal("bad consul index", err)
}
if index == 0 {
- return false, fmt.Errorf("Consul index is 0")
+ r.Fatal("consul index is 0")
}
// Watch for the anti-entropy sync to finish.
- var parsed []map[string]interface{}
+ var v []map[string]interface{}
dec := json.NewDecoder(resp.Body)
- if err := dec.Decode(&parsed); err != nil {
- return false, err
+ if err := dec.Decode(&v); err != nil {
+ r.Fatal(err)
}
- if len(parsed) < 1 {
- return false, fmt.Errorf("No nodes")
+ if len(v) < 1 {
+ r.Fatal("No nodes")
}
- taggedAddresses, ok := parsed[0]["TaggedAddresses"].(map[string]interface{})
+ taggedAddresses, ok := v[0]["TaggedAddresses"].(map[string]interface{})
if !ok {
- return false, fmt.Errorf("Missing tagged addresses")
+ r.Fatal("Missing tagged addresses")
}
if _, ok := taggedAddresses["lan"]; !ok {
- return false, fmt.Errorf("No lan tagged addresses")
+ r.Fatal("No lan tagged addresses")
}
- return true, nil
- }, func(err error) {
- defer s.Stop()
- s.t.Fatalf("err: %s", err)
})
-}
-
-// url is a helper function which takes a relative URL and
-// makes it into a proper URL against the local Consul server.
-func (s *TestServer) url(path string) string {
- return fmt.Sprintf("http://127.0.0.1:%d%s", s.Config.Ports.HTTP, path)
-}
-
-// requireOK checks the HTTP response code and ensures it is acceptable.
-func (s *TestServer) requireOK(resp *http.Response) error {
- if resp.StatusCode != 200 {
- return fmt.Errorf("Bad status code: %d", resp.StatusCode)
+ if f.failed {
+ return errors.New("failed waiting for leader")
}
return nil
}
-
-// put performs a new HTTP PUT request.
-func (s *TestServer) put(path string, body io.Reader) *http.Response {
- req, err := http.NewRequest("PUT", s.url(path), body)
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
- resp, err := s.HttpClient.Do(req)
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
- if err := s.requireOK(resp); err != nil {
- defer resp.Body.Close()
- s.t.Fatal(err)
- }
- return resp
-}
-
-// get performs a new HTTP GET request.
-func (s *TestServer) get(path string) *http.Response {
- resp, err := s.HttpClient.Get(s.url(path))
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
- if err := s.requireOK(resp); err != nil {
- defer resp.Body.Close()
- s.t.Fatal(err)
- }
- return resp
-}
-
-// encodePayload returns a new io.Reader wrapping the encoded contents
-// of the payload, suitable for passing directly to a new request.
-func (s *TestServer) encodePayload(payload interface{}) io.Reader {
- var encoded bytes.Buffer
- enc := json.NewEncoder(&encoded)
- if err := enc.Encode(payload); err != nil {
- s.t.Fatalf("err: %s", err)
- }
- return &encoded
-}
-
-// JoinLAN is used to join nodes within the same datacenter.
-func (s *TestServer) JoinLAN(addr string) {
- resp := s.get("/v1/agent/join/" + addr)
- resp.Body.Close()
-}
-
-// JoinWAN is used to join remote datacenters together.
-func (s *TestServer) JoinWAN(addr string) {
- resp := s.get("/v1/agent/join/" + addr + "?wan=1")
- resp.Body.Close()
-}
-
-// SetKV sets an individual key in the K/V store.
-func (s *TestServer) SetKV(key string, val []byte) {
- resp := s.put("/v1/kv/"+key, bytes.NewBuffer(val))
- resp.Body.Close()
-}
-
-// GetKV retrieves a single key and returns its value
-func (s *TestServer) GetKV(key string) []byte {
- resp := s.get("/v1/kv/" + key)
- defer resp.Body.Close()
-
- raw, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
-
- var result []*TestKVResponse
- if err := json.Unmarshal(raw, &result); err != nil {
- s.t.Fatalf("err: %s", err)
- }
- if len(result) < 1 {
- s.t.Fatalf("key does not exist: %s", key)
- }
-
- v, err := base64.StdEncoding.DecodeString(result[0].Value)
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
-
- return v
-}
-
-// PopulateKV fills the Consul KV with data from a generic map.
-func (s *TestServer) PopulateKV(data map[string][]byte) {
- for k, v := range data {
- s.SetKV(k, v)
- }
-}
-
-// ListKV returns a list of keys present in the KV store. This will list all
-// keys under the given prefix recursively and return them as a slice.
-func (s *TestServer) ListKV(prefix string) []string {
- resp := s.get("/v1/kv/" + prefix + "?keys")
- defer resp.Body.Close()
-
- raw, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- s.t.Fatalf("err: %s", err)
- }
-
- var result []string
- if err := json.Unmarshal(raw, &result); err != nil {
- s.t.Fatalf("err: %s", err)
- }
- return result
-}
-
-// AddService adds a new service to the Consul instance. It also
-// automatically adds a health check with the given status, which
-// can be one of "passing", "warning", or "critical".
-func (s *TestServer) AddService(name, status string, tags []string) {
- svc := &TestService{
- Name: name,
- Tags: tags,
- }
- payload := s.encodePayload(svc)
- s.put("/v1/agent/service/register", payload)
-
- chkName := "service:" + name
- chk := &TestCheck{
- Name: chkName,
- ServiceID: name,
- TTL: "10m",
- }
- payload = s.encodePayload(chk)
- s.put("/v1/agent/check/register", payload)
-
- switch status {
- case structs.HealthPassing:
- s.put("/v1/agent/check/pass/"+chkName, nil)
- case structs.HealthWarning:
- s.put("/v1/agent/check/warn/"+chkName, nil)
- case structs.HealthCritical:
- s.put("/v1/agent/check/fail/"+chkName, nil)
- default:
- s.t.Fatalf("Unrecognized status: %s", status)
- }
-}
-
-// AddCheck adds a check to the Consul instance. If the serviceID is
-// left empty (""), then the check will be associated with the node.
-// The check status may be "passing", "warning", or "critical".
-func (s *TestServer) AddCheck(name, serviceID, status string) {
- chk := &TestCheck{
- ID: name,
- Name: name,
- TTL: "10m",
- }
- if serviceID != "" {
- chk.ServiceID = serviceID
- }
-
- payload := s.encodePayload(chk)
- s.put("/v1/agent/check/register", payload)
-
- switch status {
- case structs.HealthPassing:
- s.put("/v1/agent/check/pass/"+name, nil)
- case structs.HealthWarning:
- s.put("/v1/agent/check/warn/"+name, nil)
- case structs.HealthCritical:
- s.put("/v1/agent/check/fail/"+name, nil)
- default:
- s.t.Fatalf("Unrecognized status: %s", status)
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_methods.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_methods.go
new file mode 100644
index 00000000..8f4b067a
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_methods.go
@@ -0,0 +1,256 @@
+package testutil
+
+import (
+ "bytes"
+ "encoding/base64"
+ "encoding/json"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "log"
+ "net/http"
+ "testing"
+
+ "github.com/pkg/errors"
+)
+
+// copied from testutil to break circular dependency
+const (
+ HealthAny = "any"
+ HealthPassing = "passing"
+ HealthWarning = "warning"
+ HealthCritical = "critical"
+ HealthMaint = "maintenance"
+)
+
+// JoinLAN is used to join local datacenters together.
+func (s *TestServer) JoinLAN(t *testing.T, addr string) {
+ resp := s.get(t, "/v1/agent/join/"+addr)
+ defer resp.Body.Close()
+}
+
+// JoinWAN is used to join remote datacenters together.
+func (s *TestServer) JoinWAN(t *testing.T, addr string) {
+ resp := s.get(t, "/v1/agent/join/"+addr+"?wan=1")
+ resp.Body.Close()
+}
+
+// SetKV sets an individual key in the K/V store.
+func (s *TestServer) SetKV(t *testing.T, key string, val []byte) {
+ resp := s.put(t, "/v1/kv/"+key, bytes.NewBuffer(val))
+ resp.Body.Close()
+}
+
+// SetKVString sets an individual key in the K/V store, but accepts a string
+// instead of []byte.
+func (s *TestServer) SetKVString(t *testing.T, key string, val string) {
+ resp := s.put(t, "/v1/kv/"+key, bytes.NewBufferString(val))
+ resp.Body.Close()
+}
+
+// GetKV retrieves a single key and returns its value
+func (s *TestServer) GetKV(t *testing.T, key string) []byte {
+ resp := s.get(t, "/v1/kv/"+key)
+ defer resp.Body.Close()
+
+ raw, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ t.Fatalf("failed to read body: %s", err)
+ }
+
+ var result []*TestKVResponse
+ if err := json.Unmarshal(raw, &result); err != nil {
+ t.Fatalf("failed to unmarshal: %s", err)
+ }
+ if len(result) < 1 {
+ t.Fatalf("key does not exist: %s", key)
+ }
+
+ v, err := base64.StdEncoding.DecodeString(result[0].Value)
+ if err != nil {
+ t.Fatalf("failed to base64 decode: %s", err)
+ }
+
+ return v
+}
+
+// GetKVString retrieves a value from the store, but returns as a string instead
+// of []byte.
+func (s *TestServer) GetKVString(t *testing.T, key string) string {
+ return string(s.GetKV(t, key))
+}
+
+// PopulateKV fills the Consul KV with data from a generic map.
+func (s *TestServer) PopulateKV(t *testing.T, data map[string][]byte) {
+ for k, v := range data {
+ s.SetKV(t, k, v)
+ }
+}
+
+// ListKV returns a list of keys present in the KV store. This will list all
+// keys under the given prefix recursively and return them as a slice.
+func (s *TestServer) ListKV(t *testing.T, prefix string) []string {
+ resp := s.get(t, "/v1/kv/"+prefix+"?keys")
+ defer resp.Body.Close()
+
+ raw, err := ioutil.ReadAll(resp.Body)
+ if err != nil {
+ t.Fatalf("failed to read body: %s", err)
+ }
+
+ var result []string
+ if err := json.Unmarshal(raw, &result); err != nil {
+ t.Fatalf("failed to unmarshal: %s", err)
+ }
+ return result
+}
+
+// AddService adds a new service to the Consul instance. It also
+// automatically adds a health check with the given status, which
+// can be one of "passing", "warning", or "critical".
+func (s *TestServer) AddService(t *testing.T, name, status string, tags []string) {
+ s.AddAddressableService(t, name, status, "", 0, tags) // set empty address and 0 as port for non-accessible service
+}
+
+// AddAddressableService adds a new service to the Consul instance by
+// passing "address" and "port". It is helpful when you need to prepare a fakeService
+// that maybe accessed with in target source code.
+// It also automatically adds a health check with the given status, which
+// can be one of "passing", "warning", or "critical", just like `AddService` does.
+func (s *TestServer) AddAddressableService(t *testing.T, name, status, address string, port int, tags []string) {
+ svc := &TestService{
+ Name: name,
+ Tags: tags,
+ Address: address,
+ Port: port,
+ }
+ payload, err := s.encodePayload(svc)
+ if err != nil {
+ t.Fatal(err)
+ }
+ s.put(t, "/v1/agent/service/register", payload)
+
+ chkName := "service:" + name
+ chk := &TestCheck{
+ Name: chkName,
+ ServiceID: name,
+ TTL: "10m",
+ }
+ payload, err = s.encodePayload(chk)
+ if err != nil {
+ t.Fatal(err)
+ }
+ s.put(t, "/v1/agent/check/register", payload)
+
+ switch status {
+ case HealthPassing:
+ s.put(t, "/v1/agent/check/pass/"+chkName, nil)
+ case HealthWarning:
+ s.put(t, "/v1/agent/check/warn/"+chkName, nil)
+ case HealthCritical:
+ s.put(t, "/v1/agent/check/fail/"+chkName, nil)
+ default:
+ t.Fatalf("Unrecognized status: %s", status)
+ }
+}
+
+// AddCheck adds a check to the Consul instance. If the serviceID is
+// left empty (""), then the check will be associated with the node.
+// The check status may be "passing", "warning", or "critical".
+func (s *TestServer) AddCheck(t *testing.T, name, serviceID, status string) {
+ chk := &TestCheck{
+ ID: name,
+ Name: name,
+ TTL: "10m",
+ }
+ if serviceID != "" {
+ chk.ServiceID = serviceID
+ }
+
+ payload, err := s.encodePayload(chk)
+ if err != nil {
+ t.Fatal(err)
+ }
+ s.put(t, "/v1/agent/check/register", payload)
+
+ switch status {
+ case HealthPassing:
+ s.put(t, "/v1/agent/check/pass/"+name, nil)
+ case HealthWarning:
+ s.put(t, "/v1/agent/check/warn/"+name, nil)
+ case HealthCritical:
+ s.put(t, "/v1/agent/check/fail/"+name, nil)
+ default:
+ t.Fatalf("Unrecognized status: %s", status)
+ }
+}
+
+// put performs a new HTTP PUT request.
+func (s *TestServer) put(t *testing.T, path string, body io.Reader) *http.Response {
+ req, err := http.NewRequest("PUT", s.url(path), body)
+ if err != nil {
+ t.Fatalf("failed to create PUT request: %s", err)
+ }
+ resp, err := s.HTTPClient.Do(req)
+ if err != nil {
+ t.Fatalf("failed to make PUT request: %s", err)
+ }
+ if err := s.requireOK(resp); err != nil {
+ defer resp.Body.Close()
+ t.Fatalf("not OK PUT: %s", err)
+ }
+ return resp
+}
+
+// get performs a new HTTP GET request.
+func (s *TestServer) get(t *testing.T, path string) *http.Response {
+ resp, err := s.HTTPClient.Get(s.url(path))
+ if err != nil {
+ t.Fatalf("failed to create GET request: %s", err)
+ }
+ if err := s.requireOK(resp); err != nil {
+ defer resp.Body.Close()
+ t.Fatalf("not OK GET: %s", err)
+ }
+ return resp
+}
+
+// encodePayload returns a new io.Reader wrapping the encoded contents
+// of the payload, suitable for passing directly to a new request.
+func (s *TestServer) encodePayload(payload interface{}) (io.Reader, error) {
+ var encoded bytes.Buffer
+ enc := json.NewEncoder(&encoded)
+ if err := enc.Encode(payload); err != nil {
+ return nil, errors.Wrap(err, "failed to encode payload")
+ }
+ return &encoded, nil
+}
+
+// url is a helper function which takes a relative URL and
+// makes it into a proper URL against the local Consul server.
+func (s *TestServer) url(path string) string {
+ if s == nil {
+ log.Fatal("s is nil")
+ }
+ if s.Config == nil {
+ log.Fatal("s.Config is nil")
+ }
+ if s.Config.Ports == nil {
+ log.Fatal("s.Config.Ports is nil")
+ }
+ if s.Config.Ports.HTTP == 0 {
+ log.Fatal("s.Config.Ports.HTTP is 0")
+ }
+ if path == "" {
+ log.Fatal("path is empty")
+ }
+ return fmt.Sprintf("http://127.0.0.1:%d%s", s.Config.Ports.HTTP, path)
+}
+
+// requireOK checks the HTTP response code and ensures it is acceptable.
+func (s *TestServer) requireOK(resp *http.Response) error {
+ if resp.StatusCode != 200 {
+ return fmt.Errorf("Bad status code: %d", resp.StatusCode)
+ }
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_wrapper.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_wrapper.go
new file mode 100644
index 00000000..17615da8
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/server_wrapper.go
@@ -0,0 +1,65 @@
+package testutil
+
+import "testing"
+
+type WrappedServer struct {
+ s *TestServer
+ t *testing.T
+}
+
+// Wrap wraps the test server in a `testing.t` for convenience.
+//
+// For example, the following code snippets are equivalent.
+//
+// server.JoinLAN(t, "1.2.3.4")
+// server.Wrap(t).JoinLAN("1.2.3.4")
+//
+// This is useful when you are calling multiple functions and save the wrapped
+// value as another variable to reduce the inclusion of "t".
+func (s *TestServer) Wrap(t *testing.T) *WrappedServer {
+ return &WrappedServer{s, t}
+}
+
+func (w *WrappedServer) JoinLAN(addr string) {
+ w.s.JoinLAN(w.t, addr)
+}
+
+func (w *WrappedServer) JoinWAN(addr string) {
+ w.s.JoinWAN(w.t, addr)
+}
+
+func (w *WrappedServer) SetKV(key string, val []byte) {
+ w.s.SetKV(w.t, key, val)
+}
+
+func (w *WrappedServer) SetKVString(key string, val string) {
+ w.s.SetKVString(w.t, key, val)
+}
+
+func (w *WrappedServer) GetKV(key string) []byte {
+ return w.s.GetKV(w.t, key)
+}
+
+func (w *WrappedServer) GetKVString(key string) string {
+ return w.s.GetKVString(w.t, key)
+}
+
+func (w *WrappedServer) PopulateKV(data map[string][]byte) {
+ w.s.PopulateKV(w.t, data)
+}
+
+func (w *WrappedServer) ListKV(prefix string) []string {
+ return w.s.ListKV(w.t, prefix)
+}
+
+func (w *WrappedServer) AddService(name, status string, tags []string) {
+ w.s.AddService(w.t, name, status, tags)
+}
+
+func (w *WrappedServer) AddAddressableService(name, status, address string, port int, tags []string) {
+ w.s.AddAddressableService(w.t, name, status, address, port, tags)
+}
+
+func (w *WrappedServer) AddCheck(name, serviceID, status string) {
+ w.s.AddCheck(w.t, name, serviceID, status)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/wait.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/wait.go
deleted file mode 100644
index bd240796..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/testutil/wait.go
+++ /dev/null
@@ -1,62 +0,0 @@
-package testutil
-
-import (
- "fmt"
- "testing"
- "time"
-
- "github.com/hashicorp/consul/consul/structs"
-)
-
-type testFn func() (bool, error)
-type errorFn func(error)
-
-const (
- baseWait = 1 * time.Millisecond
- maxWait = 100 * time.Millisecond
-)
-
-func WaitForResult(try testFn, fail errorFn) {
- var err error
- wait := baseWait
- for retries := 100; retries > 0; retries-- {
- var success bool
- success, err = try()
- if success {
- time.Sleep(25 * time.Millisecond)
- return
- }
-
- time.Sleep(wait)
- wait *= 2
- if wait > maxWait {
- wait = maxWait
- }
- }
- fail(err)
-}
-
-type rpcFn func(string, interface{}, interface{}) error
-
-func WaitForLeader(t *testing.T, rpc rpcFn, dc string) structs.IndexedNodes {
- var out structs.IndexedNodes
- WaitForResult(func() (bool, error) {
- // Ensure we have a leader and a node registration.
- args := &structs.DCSpecificRequest{
- Datacenter: dc,
- }
- if err := rpc("Catalog.ListNodes", args, &out); err != nil {
- return false, fmt.Errorf("Catalog.ListNodes failed: %v", err)
- }
- if !out.QueryMeta.KnownLeader {
- return false, fmt.Errorf("No leader")
- }
- if out.Index == 0 {
- return false, fmt.Errorf("Consul index is 0")
- }
- return true, nil
- }, func(err error) {
- t.Fatalf("failed to find leader: %v", err)
- })
- return out
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md
deleted file mode 100644
index da662f4a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Consul `types` Package
-
-The Go language has a strong type system built into the language. The
-`types` package corrals named types into a single package that is terminal in
-`go`'s import graph. The `types` package should not have any downstream
-dependencies. Each subsystem that defines its own set of types exists in its
-own file, but all types are defined in the same package.
-
-# Why
-
-> Everything should be made as simple as possible, but not simpler.
-
-`string` is a useful container and underlying type for identifiers, however
-the `string` type is effectively opaque to the compiler in terms of how a
-given string is intended to be used. For instance, there is nothing
-preventing the following from happening:
-
-```go
-// `map` of Widgets, looked up by ID
-var widgetLookup map[string]*Widget
-// ...
-var widgetID string = "widgetID"
-w, found := widgetLookup[widgetID]
-
-// Bad!
-var widgetName string = "name of widget"
-w, found := widgetLookup[widgetName]
-```
-
-but this class of problem is entirely preventable:
-
-```go
-type WidgetID string
-var widgetLookup map[WidgetID]*Widget
-var widgetName
-```
-
-TL;DR: intentions and idioms aren't statically checked by compilers. The
-`types` package uses Go's strong type system to prevent this class of bug.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/checks.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/checks.go
deleted file mode 100644
index 25a136b4..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/checks.go
+++ /dev/null
@@ -1,5 +0,0 @@
-package types
-
-// CheckID is a strongly typed string used to uniquely represent a Consul
-// Check on an Agent (a CheckID is not globally unique).
-type CheckID string
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/node_id.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/node_id.go
deleted file mode 100644
index c0588ed4..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/consul/types/node_id.go
+++ /dev/null
@@ -1,4 +0,0 @@
-package types
-
-// NodeID is a unique identifier for a node across space and time.
-type NodeID string
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/LICENSE
new file mode 100644
index 00000000..abaf1e45
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 HashiCorp
+
+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/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/README.md
new file mode 100644
index 00000000..614342b2
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/README.md
@@ -0,0 +1,123 @@
+# go-hclog
+
+[![Go Documentation](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)][godocs]
+
+[godocs]: https://godoc.org/github.com/hashicorp/go-hclog
+
+`go-hclog` is a package for Go that provides a simple key/value logging
+interface for use in development and production environments.
+
+It provides logging levels that provide decreased output based upon the
+desired amount of output, unlike the standard library `log` package.
+
+It does not provide `Printf` style logging, only key/value logging that is
+exposed as arguments to the logging functions for simplicity.
+
+It provides a human readable output mode for use in development as well as
+JSON output mode for production.
+
+## Stability Note
+
+While this library is fully open source and HashiCorp will be maintaining it
+(since we are and will be making extensive use of it), the API and output
+format is subject to minor changes as we fully bake and vet it in our projects.
+This notice will be removed once it's fully integrated into our major projects
+and no further changes are anticipated.
+
+## Installation and Docs
+
+Install using `go get github.com/hashicorp/go-hclog`.
+
+Full documentation is available at
+http://godoc.org/github.com/hashicorp/go-hclog
+
+## Usage
+
+### Use the global logger
+
+```go
+hclog.Default().Info("hello world")
+```
+
+```text
+2017-07-05T16:15:55.167-0700 [INFO ] hello world
+```
+
+(Note timestamps are removed in future examples for brevity.)
+
+### Create a new logger
+
+```go
+appLogger := hclog.New(&hclog.LoggerOptions{
+ Name: "my-app",
+ Level: hclog.LevelFromString("DEBUG"),
+})
+```
+
+### Emit an Info level message with 2 key/value pairs
+
+```go
+input := "5.5"
+_, err := strconv.ParseInt(input, 10, 32)
+if err != nil {
+ appLogger.Info("Invalid input for ParseInt", "input", input, "error", err)
+}
+```
+
+```text
+... [INFO ] my-app: Invalid input for ParseInt: input=5.5 error="strconv.ParseInt: parsing "5.5": invalid syntax"
+```
+
+### Create a new Logger for a major subsystem
+
+```go
+subsystemLogger := appLogger.Named("transport")
+subsystemLogger.Info("we are transporting something")
+```
+
+```text
+... [INFO ] my-app.transport: we are transporting something
+```
+
+Notice that logs emitted by `subsystemLogger` contain `my-app.transport`,
+reflecting both the application and subsystem names.
+
+### Create a new Logger with fixed key/value pairs
+
+Using `With()` will include a specific key-value pair in all messages emitted
+by that logger.
+
+```go
+requestID := "5fb446b6-6eba-821d-df1b-cd7501b6a363"
+requestLogger := subsystemLogger.With("request", requestID)
+requestLogger.Info("we are transporting a request")
+```
+
+```text
+... [INFO ] my-app.transport: we are transporting a request: request=5fb446b6-6eba-821d-df1b-cd7501b6a363
+```
+
+This allows sub Loggers to be context specific without having to thread that
+into all the callers.
+
+### Use this with code that uses the standard library logger
+
+If you want to use the standard library's `log.Logger` interface you can wrap
+`hclog.Logger` by calling the `StandardLogger()` method. This allows you to use
+it with the familiar `Println()`, `Printf()`, etc. For example:
+
+```go
+stdLogger := appLogger.StandardLogger(&hclog.StandardLoggerOptions{
+ InferLevels: true,
+})
+// Printf() is provided by stdlib log.Logger interface, not hclog.Logger
+stdLogger.Printf("[DEBUG] %+v", stdLogger)
+```
+
+```text
+... [DEBUG] my-app: &{mu:{state:0 sema:0} prefix: flag:0 out:0xc42000a0a0 buf:[]}
+```
+
+Notice that if `appLogger` is initialized with the `INFO` log level _and_ you
+specify `InferLevels: true`, you will not see any output here. You must change
+`appLogger` to `DEBUG` to see output. See the docs for more information.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/global.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/global.go
new file mode 100644
index 00000000..55ce4396
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/global.go
@@ -0,0 +1,34 @@
+package hclog
+
+import (
+ "sync"
+)
+
+var (
+ protect sync.Once
+ def Logger
+
+ // The options used to create the Default logger. These are
+ // read only when the Default logger is created, so set them
+ // as soon as the process starts.
+ DefaultOptions = &LoggerOptions{
+ Level: DefaultLevel,
+ Output: DefaultOutput,
+ }
+)
+
+// Return a logger that is held globally. This can be a good starting
+// place, and then you can use .With() and .Name() to create sub-loggers
+// to be used in more specific contexts.
+func Default() Logger {
+ protect.Do(func() {
+ def = New(DefaultOptions)
+ })
+
+ return def
+}
+
+// A short alias for Default()
+func L() Logger {
+ return Default()
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/int.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/int.go
new file mode 100644
index 00000000..9f90c287
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/int.go
@@ -0,0 +1,385 @@
+package hclog
+
+import (
+ "bufio"
+ "encoding/json"
+ "fmt"
+ "log"
+ "os"
+ "runtime"
+ "strconv"
+ "strings"
+ "sync"
+ "time"
+)
+
+var (
+ _levelToBracket = map[Level]string{
+ Debug: "[DEBUG]",
+ Trace: "[TRACE]",
+ Info: "[INFO ]",
+ Warn: "[WARN ]",
+ Error: "[ERROR]",
+ }
+)
+
+// Given the options (nil for defaults), create a new Logger
+func New(opts *LoggerOptions) Logger {
+ if opts == nil {
+ opts = &LoggerOptions{}
+ }
+
+ output := opts.Output
+ if output == nil {
+ output = os.Stderr
+ }
+
+ level := opts.Level
+ if level == NoLevel {
+ level = DefaultLevel
+ }
+
+ return &intLogger{
+ m: new(sync.Mutex),
+ json: opts.JSONFormat,
+ caller: opts.IncludeLocation,
+ name: opts.Name,
+ w: bufio.NewWriter(output),
+ level: level,
+ }
+}
+
+// The internal logger implementation. Internal in that it is defined entirely
+// by this package.
+type intLogger struct {
+ json bool
+ caller bool
+ name string
+
+ // this is a pointer so that it's shared by any derived loggers, since
+ // those derived loggers share the bufio.Writer as well.
+ m *sync.Mutex
+ w *bufio.Writer
+ level Level
+
+ implied []interface{}
+}
+
+// Make sure that intLogger is a Logger
+var _ Logger = &intLogger{}
+
+// The time format to use for logging. This is a version of RFC3339 that
+// contains millisecond precision
+const TimeFormat = "2006-01-02T15:04:05.000Z0700"
+
+// Log a message and a set of key/value pairs if the given level is at
+// or more severe that the threshold configured in the Logger.
+func (z *intLogger) Log(level Level, msg string, args ...interface{}) {
+ if level < z.level {
+ return
+ }
+
+ t := time.Now()
+
+ z.m.Lock()
+ defer z.m.Unlock()
+
+ if z.json {
+ z.logJson(t, level, msg, args...)
+ } else {
+ z.log(t, level, msg, args...)
+ }
+
+ z.w.Flush()
+}
+
+// Cleanup a path by returning the last 2 segments of the path only.
+func trimCallerPath(path string) string {
+ // lovely borrowed from zap
+ // nb. To make sure we trim the path correctly on Windows too, we
+ // counter-intuitively need to use '/' and *not* os.PathSeparator here,
+ // because the path given originates from Go stdlib, specifically
+ // runtime.Caller() which (as of Mar/17) returns forward slashes even on
+ // Windows.
+ //
+ // See https://github.com/golang/go/issues/3335
+ // and https://github.com/golang/go/issues/18151
+ //
+ // for discussion on the issue on Go side.
+ //
+
+ // Find the last separator.
+ //
+ idx := strings.LastIndexByte(path, '/')
+ if idx == -1 {
+ return path
+ }
+
+ // Find the penultimate separator.
+ idx = strings.LastIndexByte(path[:idx], '/')
+ if idx == -1 {
+ return path
+ }
+
+ return path[idx+1:]
+}
+
+// Non-JSON logging format function
+func (z *intLogger) log(t time.Time, level Level, msg string, args ...interface{}) {
+ z.w.WriteString(t.Format(TimeFormat))
+ z.w.WriteByte(' ')
+
+ s, ok := _levelToBracket[level]
+ if ok {
+ z.w.WriteString(s)
+ } else {
+ z.w.WriteString("[UNKN ]")
+ }
+
+ if z.caller {
+ if _, file, line, ok := runtime.Caller(3); ok {
+ z.w.WriteByte(' ')
+ z.w.WriteString(trimCallerPath(file))
+ z.w.WriteByte(':')
+ z.w.WriteString(strconv.Itoa(line))
+ z.w.WriteByte(':')
+ }
+ }
+
+ z.w.WriteByte(' ')
+
+ if z.name != "" {
+ z.w.WriteString(z.name)
+ z.w.WriteString(": ")
+ }
+
+ z.w.WriteString(msg)
+
+ args = append(z.implied, args...)
+
+ var stacktrace CapturedStacktrace
+
+ if args != nil && len(args) > 0 {
+ if len(args)%2 != 0 {
+ cs, ok := args[len(args)-1].(CapturedStacktrace)
+ if ok {
+ args = args[:len(args)-1]
+ stacktrace = cs
+ } else {
+ args = append(args, "<unknown>")
+ }
+ }
+
+ z.w.WriteByte(':')
+
+ FOR:
+ for i := 0; i < len(args); i = i + 2 {
+ var val string
+
+ switch st := args[i+1].(type) {
+ case string:
+ val = st
+ case int:
+ val = strconv.FormatInt(int64(st), 10)
+ case int64:
+ val = strconv.FormatInt(int64(st), 10)
+ case int32:
+ val = strconv.FormatInt(int64(st), 10)
+ case int16:
+ val = strconv.FormatInt(int64(st), 10)
+ case int8:
+ val = strconv.FormatInt(int64(st), 10)
+ case uint:
+ val = strconv.FormatUint(uint64(st), 10)
+ case uint64:
+ val = strconv.FormatUint(uint64(st), 10)
+ case uint32:
+ val = strconv.FormatUint(uint64(st), 10)
+ case uint16:
+ val = strconv.FormatUint(uint64(st), 10)
+ case uint8:
+ val = strconv.FormatUint(uint64(st), 10)
+ case CapturedStacktrace:
+ stacktrace = st
+ continue FOR
+ default:
+ val = fmt.Sprintf("%v", st)
+ }
+
+ z.w.WriteByte(' ')
+ z.w.WriteString(args[i].(string))
+ z.w.WriteByte('=')
+
+ if strings.ContainsAny(val, " \t\n\r") {
+ z.w.WriteByte('"')
+ z.w.WriteString(val)
+ z.w.WriteByte('"')
+ } else {
+ z.w.WriteString(val)
+ }
+ }
+ }
+
+ z.w.WriteString("\n")
+
+ if stacktrace != "" {
+ z.w.WriteString(string(stacktrace))
+ }
+}
+
+// JSON logging function
+func (z *intLogger) logJson(t time.Time, level Level, msg string, args ...interface{}) {
+ vals := map[string]interface{}{
+ "@message": msg,
+ "@timestamp": t.Format("2006-01-02T15:04:05.000000Z07:00"),
+ }
+
+ var levelStr string
+ switch level {
+ case Error:
+ levelStr = "error"
+ case Warn:
+ levelStr = "warn"
+ case Info:
+ levelStr = "info"
+ case Debug:
+ levelStr = "debug"
+ case Trace:
+ levelStr = "trace"
+ default:
+ levelStr = "all"
+ }
+
+ vals["@level"] = levelStr
+
+ if z.name != "" {
+ vals["@module"] = z.name
+ }
+
+ if z.caller {
+ if _, file, line, ok := runtime.Caller(3); ok {
+ vals["@caller"] = fmt.Sprintf("%s:%d", file, line)
+ }
+ }
+
+ if args != nil && len(args) > 0 {
+ if len(args)%2 != 0 {
+ cs, ok := args[len(args)-1].(CapturedStacktrace)
+ if ok {
+ args = args[:len(args)-1]
+ vals["stacktrace"] = cs
+ } else {
+ args = append(args, "<unknown>")
+ }
+ }
+
+ for i := 0; i < len(args); i = i + 2 {
+ if _, ok := args[i].(string); !ok {
+ // As this is the logging function not much we can do here
+ // without injecting into logs...
+ continue
+ }
+ vals[args[i].(string)] = args[i+1]
+ }
+ }
+
+ err := json.NewEncoder(z.w).Encode(vals)
+ if err != nil {
+ panic(err)
+ }
+}
+
+// Emit the message and args at DEBUG level
+func (z *intLogger) Debug(msg string, args ...interface{}) {
+ z.Log(Debug, msg, args...)
+}
+
+// Emit the message and args at TRACE level
+func (z *intLogger) Trace(msg string, args ...interface{}) {
+ z.Log(Trace, msg, args...)
+}
+
+// Emit the message and args at INFO level
+func (z *intLogger) Info(msg string, args ...interface{}) {
+ z.Log(Info, msg, args...)
+}
+
+// Emit the message and args at WARN level
+func (z *intLogger) Warn(msg string, args ...interface{}) {
+ z.Log(Warn, msg, args...)
+}
+
+// Emit the message and args at ERROR level
+func (z *intLogger) Error(msg string, args ...interface{}) {
+ z.Log(Error, msg, args...)
+}
+
+// Indicate that the logger would emit TRACE level logs
+func (z *intLogger) IsTrace() bool {
+ return z.level == Trace
+}
+
+// Indicate that the logger would emit DEBUG level logs
+func (z *intLogger) IsDebug() bool {
+ return z.level <= Debug
+}
+
+// Indicate that the logger would emit INFO level logs
+func (z *intLogger) IsInfo() bool {
+ return z.level <= Info
+}
+
+// Indicate that the logger would emit WARN level logs
+func (z *intLogger) IsWarn() bool {
+ return z.level <= Warn
+}
+
+// Indicate that the logger would emit ERROR level logs
+func (z *intLogger) IsError() bool {
+ return z.level <= Error
+}
+
+// Return a sub-Logger for which every emitted log message will contain
+// the given key/value pairs. This is used to create a context specific
+// Logger.
+func (z *intLogger) With(args ...interface{}) Logger {
+ var nz intLogger = *z
+
+ nz.implied = append(nz.implied, args...)
+
+ return &nz
+}
+
+// Create a new sub-Logger that a name decending from the current name.
+// This is used to create a subsystem specific Logger.
+func (z *intLogger) Named(name string) Logger {
+ var nz intLogger = *z
+
+ if nz.name != "" {
+ nz.name = nz.name + "." + name
+ }
+
+ return &nz
+}
+
+// Create a new sub-Logger with an explicit name. This ignores the current
+// name. This is used to create a standalone logger that doesn't fall
+// within the normal hierarchy.
+func (z *intLogger) ResetNamed(name string) Logger {
+ var nz intLogger = *z
+
+ nz.name = name
+
+ return &nz
+}
+
+// Create a *log.Logger that will send it's data through this Logger. This
+// allows packages that expect to be using the standard library log to actually
+// use this logger.
+func (z *intLogger) StandardLogger(opts *StandardLoggerOptions) *log.Logger {
+ if opts == nil {
+ opts = &StandardLoggerOptions{}
+ }
+
+ return log.New(&stdlogAdapter{z, opts.InferLevels}, "", 0)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/log.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/log.go
new file mode 100644
index 00000000..6bb16ba7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/log.go
@@ -0,0 +1,138 @@
+package hclog
+
+import (
+ "io"
+ "log"
+ "os"
+ "strings"
+)
+
+var (
+ DefaultOutput = os.Stderr
+ DefaultLevel = Info
+)
+
+type Level int
+
+const (
+ // This is a special level used to indicate that no level has been
+ // set and allow for a default to be used.
+ NoLevel Level = 0
+
+ // The most verbose level. Intended to be used for the tracing of actions
+ // in code, such as function enters/exits, etc.
+ Trace Level = 1
+
+ // For programmer lowlevel analysis.
+ Debug Level = 2
+
+ // For information about steady state operations.
+ Info Level = 3
+
+ // For information about rare but handled events.
+ Warn Level = 4
+
+ // For information about unrecoverable events.
+ Error Level = 5
+)
+
+// LevelFromString returns a Level type for the named log level, or "NoLevel" if
+// the level string is invalid. This facilitates setting the log level via
+// config or environment variable by name in a predictable way.
+func LevelFromString(levelStr string) Level {
+ // We don't care about case. Accept "INFO" or "info"
+ levelStr = strings.ToLower(strings.TrimSpace(levelStr))
+ switch levelStr {
+ case "trace":
+ return Trace
+ case "debug":
+ return Debug
+ case "info":
+ return Info
+ case "warn":
+ return Warn
+ case "error":
+ return Error
+ default:
+ return NoLevel
+ }
+}
+
+// The main Logger interface. All code should code against this interface only.
+type Logger interface {
+ // Args are alternating key, val pairs
+ // keys must be strings
+ // vals can be any type, but display is implementation specific
+ // Emit a message and key/value pairs at the TRACE level
+ Trace(msg string, args ...interface{})
+
+ // Emit a message and key/value pairs at the DEBUG level
+ Debug(msg string, args ...interface{})
+
+ // Emit a message and key/value pairs at the INFO level
+ Info(msg string, args ...interface{})
+
+ // Emit a message and key/value pairs at the WARN level
+ Warn(msg string, args ...interface{})
+
+ // Emit a message and key/value pairs at the ERROR level
+ Error(msg string, args ...interface{})
+
+ // Indicate if TRACE logs would be emitted. This and the other Is* guards
+ // are used to elide expensive logging code based on the current level.
+ IsTrace() bool
+
+ // Indicate if DEBUG logs would be emitted. This and the other Is* guards
+ IsDebug() bool
+
+ // Indicate if INFO logs would be emitted. This and the other Is* guards
+ IsInfo() bool
+
+ // Indicate if WARN logs would be emitted. This and the other Is* guards
+ IsWarn() bool
+
+ // Indicate if ERROR logs would be emitted. This and the other Is* guards
+ IsError() bool
+
+ // Creates a sublogger that will always have the given key/value pairs
+ With(args ...interface{}) Logger
+
+ // Create a logger that will prepend the name string on the front of all messages.
+ // If the logger already has a name, the new value will be appended to the current
+ // name. That way, a major subsystem can use this to decorate all it's own logs
+ // without losing context.
+ Named(name string) Logger
+
+ // Create a logger that will prepend the name string on the front of all messages.
+ // This sets the name of the logger to the value directly, unlike Named which honor
+ // the current name as well.
+ ResetNamed(name string) Logger
+
+ // Return a value that conforms to the stdlib log.Logger interface
+ StandardLogger(opts *StandardLoggerOptions) *log.Logger
+}
+
+type StandardLoggerOptions struct {
+ // Indicate that some minimal parsing should be done on strings to try
+ // and detect their level and re-emit them.
+ // This supports the strings like [ERROR], [ERR] [TRACE], [WARN], [INFO],
+ // [DEBUG] and strip it off before reapplying it.
+ InferLevels bool
+}
+
+type LoggerOptions struct {
+ // Name of the subsystem to prefix logs with
+ Name string
+
+ // The threshold for the logger. Anything less severe is supressed
+ Level Level
+
+ // Where to write the logs to. Defaults to os.Stdout if nil
+ Output io.Writer
+
+ // Control if the output should be in JSON.
+ JSONFormat bool
+
+ // Intclude file and line information in each log line
+ IncludeLocation bool
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stacktrace.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stacktrace.go
new file mode 100644
index 00000000..8af1a3be
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stacktrace.go
@@ -0,0 +1,108 @@
+// Copyright (c) 2016 Uber Technologies, Inc.
+//
+// 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.
+
+package hclog
+
+import (
+ "bytes"
+ "runtime"
+ "strconv"
+ "strings"
+ "sync"
+)
+
+var (
+ _stacktraceIgnorePrefixes = []string{
+ "runtime.goexit",
+ "runtime.main",
+ }
+ _stacktracePool = sync.Pool{
+ New: func() interface{} {
+ return newProgramCounters(64)
+ },
+ }
+)
+
+// A stacktrace gathered by a previous call to log.Stacktrace. If passed
+// to a logging function, the stacktrace will be appended.
+type CapturedStacktrace string
+
+// Gather a stacktrace of the current goroutine and return it to be passed
+// to a logging function.
+func Stacktrace() CapturedStacktrace {
+ return CapturedStacktrace(takeStacktrace())
+}
+
+func takeStacktrace() string {
+ programCounters := _stacktracePool.Get().(*programCounters)
+ defer _stacktracePool.Put(programCounters)
+
+ var buffer bytes.Buffer
+
+ for {
+ // Skip the call to runtime.Counters and takeStacktrace so that the
+ // program counters start at the caller of takeStacktrace.
+ n := runtime.Callers(2, programCounters.pcs)
+ if n < cap(programCounters.pcs) {
+ programCounters.pcs = programCounters.pcs[:n]
+ break
+ }
+ // Don't put the too-short counter slice back into the pool; this lets
+ // the pool adjust if we consistently take deep stacktraces.
+ programCounters = newProgramCounters(len(programCounters.pcs) * 2)
+ }
+
+ i := 0
+ frames := runtime.CallersFrames(programCounters.pcs)
+ for frame, more := frames.Next(); more; frame, more = frames.Next() {
+ if shouldIgnoreStacktraceFunction(frame.Function) {
+ continue
+ }
+ if i != 0 {
+ buffer.WriteByte('\n')
+ }
+ i++
+ buffer.WriteString(frame.Function)
+ buffer.WriteByte('\n')
+ buffer.WriteByte('\t')
+ buffer.WriteString(frame.File)
+ buffer.WriteByte(':')
+ buffer.WriteString(strconv.Itoa(int(frame.Line)))
+ }
+
+ return buffer.String()
+}
+
+func shouldIgnoreStacktraceFunction(function string) bool {
+ for _, prefix := range _stacktraceIgnorePrefixes {
+ if strings.HasPrefix(function, prefix) {
+ return true
+ }
+ }
+ return false
+}
+
+type programCounters struct {
+ pcs []uintptr
+}
+
+func newProgramCounters(size int) *programCounters {
+ return &programCounters{make([]uintptr, size)}
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stdlog.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stdlog.go
new file mode 100644
index 00000000..2bb927fc
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-hclog/stdlog.go
@@ -0,0 +1,62 @@
+package hclog
+
+import (
+ "bytes"
+ "strings"
+)
+
+// Provides a io.Writer to shim the data out of *log.Logger
+// and back into our Logger. This is basically the only way to
+// build upon *log.Logger.
+type stdlogAdapter struct {
+ hl Logger
+ inferLevels bool
+}
+
+// Take the data, infer the levels if configured, and send it through
+// a regular Logger
+func (s *stdlogAdapter) Write(data []byte) (int, error) {
+ str := string(bytes.TrimRight(data, " \t\n"))
+
+ if s.inferLevels {
+ level, str := s.pickLevel(str)
+ switch level {
+ case Trace:
+ s.hl.Trace(str)
+ case Debug:
+ s.hl.Debug(str)
+ case Info:
+ s.hl.Info(str)
+ case Warn:
+ s.hl.Warn(str)
+ case Error:
+ s.hl.Error(str)
+ default:
+ s.hl.Info(str)
+ }
+ } else {
+ s.hl.Info(str)
+ }
+
+ return len(data), nil
+}
+
+// Detect, based on conventions, what log level this is
+func (s *stdlogAdapter) pickLevel(str string) (Level, string) {
+ switch {
+ case strings.HasPrefix(str, "[DEBUG]"):
+ return Debug, strings.TrimSpace(str[7:])
+ case strings.HasPrefix(str, "[TRACE]"):
+ return Trace, strings.TrimSpace(str[7:])
+ case strings.HasPrefix(str, "[INFO]"):
+ return Info, strings.TrimSpace(str[6:])
+ case strings.HasPrefix(str, "[WARN]"):
+ return Warn, strings.TrimSpace(str[7:])
+ case strings.HasPrefix(str, "[ERROR]"):
+ return Error, strings.TrimSpace(str[7:])
+ case strings.HasPrefix(str, "[ERR]"):
+ return Error, strings.TrimSpace(str[5:])
+ default:
+ return Info, str
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/LICENSE
deleted file mode 100644
index ccae99f6..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/LICENSE
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2012, 2013 Ugorji Nwoke.
-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/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/0doc.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/0doc.go
deleted file mode 100644
index c14d810a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/0doc.go
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-/*
-High Performance, Feature-Rich Idiomatic Go encoding library for msgpack and binc .
-
-Supported Serialization formats are:
-
- - msgpack: [https://github.com/msgpack/msgpack]
- - binc: [http://github.com/ugorji/binc]
-
-To install:
-
- go get github.com/ugorji/go/codec
-
-The idiomatic Go support is as seen in other encoding packages in
-the standard library (ie json, xml, gob, etc).
-
-Rich Feature Set includes:
-
- - Simple but extremely powerful and feature-rich API
- - Very High Performance.
- Our extensive benchmarks show us outperforming Gob, Json and Bson by 2-4X.
- This was achieved by taking extreme care on:
- - managing allocation
- - function frame size (important due to Go's use of split stacks),
- - reflection use (and by-passing reflection for common types)
- - recursion implications
- - zero-copy mode (encoding/decoding to byte slice without using temp buffers)
- - Correct.
- Care was taken to precisely handle corner cases like:
- overflows, nil maps and slices, nil value in stream, etc.
- - Efficient zero-copying into temporary byte buffers
- when encoding into or decoding from a byte slice.
- - Standard field renaming via tags
- - Encoding from any value
- (struct, slice, map, primitives, pointers, interface{}, etc)
- - Decoding into pointer to any non-nil typed value
- (struct, slice, map, int, float32, bool, string, reflect.Value, etc)
- - Supports extension functions to handle the encode/decode of custom types
- - Support Go 1.2 encoding.BinaryMarshaler/BinaryUnmarshaler
- - Schema-less decoding
- (decode into a pointer to a nil interface{} as opposed to a typed non-nil value).
- Includes Options to configure what specific map or slice type to use
- when decoding an encoded list or map into a nil interface{}
- - Provides a RPC Server and Client Codec for net/rpc communication protocol.
- - Msgpack Specific:
- - Provides extension functions to handle spec-defined extensions (binary, timestamp)
- - Options to resolve ambiguities in handling raw bytes (as string or []byte)
- during schema-less decoding (decoding into a nil interface{})
- - RPC Server/Client Codec for msgpack-rpc protocol defined at:
- https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md
- - Fast Paths for some container types:
- For some container types, we circumvent reflection and its associated overhead
- and allocation costs, and encode/decode directly. These types are:
- []interface{}
- []int
- []string
- map[interface{}]interface{}
- map[int]interface{}
- map[string]interface{}
-
-Extension Support
-
-Users can register a function to handle the encoding or decoding of
-their custom types.
-
-There are no restrictions on what the custom type can be. Some examples:
-
- type BisSet []int
- type BitSet64 uint64
- type UUID string
- type MyStructWithUnexportedFields struct { a int; b bool; c []int; }
- type GifImage struct { ... }
-
-As an illustration, MyStructWithUnexportedFields would normally be
-encoded as an empty map because it has no exported fields, while UUID
-would be encoded as a string. However, with extension support, you can
-encode any of these however you like.
-
-RPC
-
-RPC Client and Server Codecs are implemented, so the codecs can be used
-with the standard net/rpc package.
-
-Usage
-
-Typical usage model:
-
- // create and configure Handle
- var (
- bh codec.BincHandle
- mh codec.MsgpackHandle
- )
-
- mh.MapType = reflect.TypeOf(map[string]interface{}(nil))
-
- // configure extensions
- // e.g. for msgpack, define functions and enable Time support for tag 1
- // mh.AddExt(reflect.TypeOf(time.Time{}), 1, myMsgpackTimeEncodeExtFn, myMsgpackTimeDecodeExtFn)
-
- // create and use decoder/encoder
- var (
- r io.Reader
- w io.Writer
- b []byte
- h = &bh // or mh to use msgpack
- )
-
- dec = codec.NewDecoder(r, h)
- dec = codec.NewDecoderBytes(b, h)
- err = dec.Decode(&v)
-
- enc = codec.NewEncoder(w, h)
- enc = codec.NewEncoderBytes(&b, h)
- err = enc.Encode(v)
-
- //RPC Server
- go func() {
- for {
- conn, err := listener.Accept()
- rpcCodec := codec.GoRpc.ServerCodec(conn, h)
- //OR rpcCodec := codec.MsgpackSpecRpc.ServerCodec(conn, h)
- rpc.ServeCodec(rpcCodec)
- }
- }()
-
- //RPC Communication (client side)
- conn, err = net.Dial("tcp", "localhost:5555")
- rpcCodec := codec.GoRpc.ClientCodec(conn, h)
- //OR rpcCodec := codec.MsgpackSpecRpc.ClientCodec(conn, h)
- client := rpc.NewClientWithCodec(rpcCodec)
-
-Representative Benchmark Results
-
-Run the benchmark suite using:
- go test -bi -bench=. -benchmem
-
-To run full benchmark suite (including against vmsgpack and bson),
-see notes in ext_dep_test.go
-
-*/
-package codec
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/README.md
deleted file mode 100644
index 6c95d1bf..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/README.md
+++ /dev/null
@@ -1,174 +0,0 @@
-# Codec
-
-High Performance and Feature-Rich Idiomatic Go Library providing
-encode/decode support for different serialization formats.
-
-Supported Serialization formats are:
-
- - msgpack: [https://github.com/msgpack/msgpack]
- - binc: [http://github.com/ugorji/binc]
-
-To install:
-
- go get github.com/ugorji/go/codec
-
-Online documentation: [http://godoc.org/github.com/ugorji/go/codec]
-
-The idiomatic Go support is as seen in other encoding packages in
-the standard library (ie json, xml, gob, etc).
-
-Rich Feature Set includes:
-
- - Simple but extremely powerful and feature-rich API
- - Very High Performance.
- Our extensive benchmarks show us outperforming Gob, Json and Bson by 2-4X.
- This was achieved by taking extreme care on:
- - managing allocation
- - function frame size (important due to Go's use of split stacks),
- - reflection use (and by-passing reflection for common types)
- - recursion implications
- - zero-copy mode (encoding/decoding to byte slice without using temp buffers)
- - Correct.
- Care was taken to precisely handle corner cases like:
- overflows, nil maps and slices, nil value in stream, etc.
- - Efficient zero-copying into temporary byte buffers
- when encoding into or decoding from a byte slice.
- - Standard field renaming via tags
- - Encoding from any value
- (struct, slice, map, primitives, pointers, interface{}, etc)
- - Decoding into pointer to any non-nil typed value
- (struct, slice, map, int, float32, bool, string, reflect.Value, etc)
- - Supports extension functions to handle the encode/decode of custom types
- - Support Go 1.2 encoding.BinaryMarshaler/BinaryUnmarshaler
- - Schema-less decoding
- (decode into a pointer to a nil interface{} as opposed to a typed non-nil value).
- Includes Options to configure what specific map or slice type to use
- when decoding an encoded list or map into a nil interface{}
- - Provides a RPC Server and Client Codec for net/rpc communication protocol.
- - Msgpack Specific:
- - Provides extension functions to handle spec-defined extensions (binary, timestamp)
- - Options to resolve ambiguities in handling raw bytes (as string or []byte)
- during schema-less decoding (decoding into a nil interface{})
- - RPC Server/Client Codec for msgpack-rpc protocol defined at:
- https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md
- - Fast Paths for some container types:
- For some container types, we circumvent reflection and its associated overhead
- and allocation costs, and encode/decode directly. These types are:
- []interface{}
- []int
- []string
- map[interface{}]interface{}
- map[int]interface{}
- map[string]interface{}
-
-## Extension Support
-
-Users can register a function to handle the encoding or decoding of
-their custom types.
-
-There are no restrictions on what the custom type can be. Some examples:
-
- type BisSet []int
- type BitSet64 uint64
- type UUID string
- type MyStructWithUnexportedFields struct { a int; b bool; c []int; }
- type GifImage struct { ... }
-
-As an illustration, MyStructWithUnexportedFields would normally be
-encoded as an empty map because it has no exported fields, while UUID
-would be encoded as a string. However, with extension support, you can
-encode any of these however you like.
-
-## RPC
-
-RPC Client and Server Codecs are implemented, so the codecs can be used
-with the standard net/rpc package.
-
-## Usage
-
-Typical usage model:
-
- // create and configure Handle
- var (
- bh codec.BincHandle
- mh codec.MsgpackHandle
- )
-
- mh.MapType = reflect.TypeOf(map[string]interface{}(nil))
-
- // configure extensions
- // e.g. for msgpack, define functions and enable Time support for tag 1
- // mh.AddExt(reflect.TypeOf(time.Time{}), 1, myMsgpackTimeEncodeExtFn, myMsgpackTimeDecodeExtFn)
-
- // create and use decoder/encoder
- var (
- r io.Reader
- w io.Writer
- b []byte
- h = &bh // or mh to use msgpack
- )
-
- dec = codec.NewDecoder(r, h)
- dec = codec.NewDecoderBytes(b, h)
- err = dec.Decode(&v)
-
- enc = codec.NewEncoder(w, h)
- enc = codec.NewEncoderBytes(&b, h)
- err = enc.Encode(v)
-
- //RPC Server
- go func() {
- for {
- conn, err := listener.Accept()
- rpcCodec := codec.GoRpc.ServerCodec(conn, h)
- //OR rpcCodec := codec.MsgpackSpecRpc.ServerCodec(conn, h)
- rpc.ServeCodec(rpcCodec)
- }
- }()
-
- //RPC Communication (client side)
- conn, err = net.Dial("tcp", "localhost:5555")
- rpcCodec := codec.GoRpc.ClientCodec(conn, h)
- //OR rpcCodec := codec.MsgpackSpecRpc.ClientCodec(conn, h)
- client := rpc.NewClientWithCodec(rpcCodec)
-
-## Representative Benchmark Results
-
-A sample run of benchmark using "go test -bi -bench=. -benchmem":
-
- /proc/cpuinfo: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (HT)
-
- ..............................................
- BENCHMARK INIT: 2013-10-16 11:02:50.345970786 -0400 EDT
- To run full benchmark comparing encodings (MsgPack, Binc, JSON, GOB, etc), use: "go test -bench=."
- Benchmark:
- Struct recursive Depth: 1
- ApproxDeepSize Of benchmark Struct: 4694 bytes
- Benchmark One-Pass Run:
- v-msgpack: len: 1600 bytes
- bson: len: 3025 bytes
- msgpack: len: 1560 bytes
- binc: len: 1187 bytes
- gob: len: 1972 bytes
- json: len: 2538 bytes
- ..............................................
- PASS
- Benchmark__Msgpack____Encode 50000 54359 ns/op 14953 B/op 83 allocs/op
- Benchmark__Msgpack____Decode 10000 106531 ns/op 14990 B/op 410 allocs/op
- Benchmark__Binc_NoSym_Encode 50000 53956 ns/op 14966 B/op 83 allocs/op
- Benchmark__Binc_NoSym_Decode 10000 103751 ns/op 14529 B/op 386 allocs/op
- Benchmark__Binc_Sym___Encode 50000 65961 ns/op 17130 B/op 88 allocs/op
- Benchmark__Binc_Sym___Decode 10000 106310 ns/op 15857 B/op 287 allocs/op
- Benchmark__Gob________Encode 10000 135944 ns/op 21189 B/op 237 allocs/op
- Benchmark__Gob________Decode 5000 405390 ns/op 83460 B/op 1841 allocs/op
- Benchmark__Json_______Encode 20000 79412 ns/op 13874 B/op 102 allocs/op
- Benchmark__Json_______Decode 10000 247979 ns/op 14202 B/op 493 allocs/op
- Benchmark__Bson_______Encode 10000 121762 ns/op 27814 B/op 514 allocs/op
- Benchmark__Bson_______Decode 10000 162126 ns/op 16514 B/op 789 allocs/op
- Benchmark__VMsgpack___Encode 50000 69155 ns/op 12370 B/op 344 allocs/op
- Benchmark__VMsgpack___Decode 10000 151609 ns/op 20307 B/op 571 allocs/op
- ok ugorji.net/codec 30.827s
-
-To run full benchmark suite (including against vmsgpack and bson),
-see notes in ext\_dep\_test.go
-
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/binc.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/binc.go
deleted file mode 100644
index 2bb5e8fe..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/binc.go
+++ /dev/null
@@ -1,786 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import (
- "math"
- // "reflect"
- // "sync/atomic"
- "time"
- //"fmt"
-)
-
-const bincDoPrune = true // No longer needed. Needed before as C lib did not support pruning.
-
-//var _ = fmt.Printf
-
-// vd as low 4 bits (there are 16 slots)
-const (
- bincVdSpecial byte = iota
- bincVdPosInt
- bincVdNegInt
- bincVdFloat
-
- bincVdString
- bincVdByteArray
- bincVdArray
- bincVdMap
-
- bincVdTimestamp
- bincVdSmallInt
- bincVdUnicodeOther
- bincVdSymbol
-
- bincVdDecimal
- _ // open slot
- _ // open slot
- bincVdCustomExt = 0x0f
-)
-
-const (
- bincSpNil byte = iota
- bincSpFalse
- bincSpTrue
- bincSpNan
- bincSpPosInf
- bincSpNegInf
- bincSpZeroFloat
- bincSpZero
- bincSpNegOne
-)
-
-const (
- bincFlBin16 byte = iota
- bincFlBin32
- _ // bincFlBin32e
- bincFlBin64
- _ // bincFlBin64e
- // others not currently supported
-)
-
-type bincEncDriver struct {
- w encWriter
- m map[string]uint16 // symbols
- s uint32 // symbols sequencer
- b [8]byte
-}
-
-func (e *bincEncDriver) isBuiltinType(rt uintptr) bool {
- return rt == timeTypId
-}
-
-func (e *bincEncDriver) encodeBuiltin(rt uintptr, v interface{}) {
- switch rt {
- case timeTypId:
- bs := encodeTime(v.(time.Time))
- e.w.writen1(bincVdTimestamp<<4 | uint8(len(bs)))
- e.w.writeb(bs)
- }
-}
-
-func (e *bincEncDriver) encodeNil() {
- e.w.writen1(bincVdSpecial<<4 | bincSpNil)
-}
-
-func (e *bincEncDriver) encodeBool(b bool) {
- if b {
- e.w.writen1(bincVdSpecial<<4 | bincSpTrue)
- } else {
- e.w.writen1(bincVdSpecial<<4 | bincSpFalse)
- }
-}
-
-func (e *bincEncDriver) encodeFloat32(f float32) {
- if f == 0 {
- e.w.writen1(bincVdSpecial<<4 | bincSpZeroFloat)
- return
- }
- e.w.writen1(bincVdFloat<<4 | bincFlBin32)
- e.w.writeUint32(math.Float32bits(f))
-}
-
-func (e *bincEncDriver) encodeFloat64(f float64) {
- if f == 0 {
- e.w.writen1(bincVdSpecial<<4 | bincSpZeroFloat)
- return
- }
- bigen.PutUint64(e.b[:], math.Float64bits(f))
- if bincDoPrune {
- i := 7
- for ; i >= 0 && (e.b[i] == 0); i-- {
- }
- i++
- if i <= 6 {
- e.w.writen1(bincVdFloat<<4 | 0x8 | bincFlBin64)
- e.w.writen1(byte(i))
- e.w.writeb(e.b[:i])
- return
- }
- }
- e.w.writen1(bincVdFloat<<4 | bincFlBin64)
- e.w.writeb(e.b[:])
-}
-
-func (e *bincEncDriver) encIntegerPrune(bd byte, pos bool, v uint64, lim uint8) {
- if lim == 4 {
- bigen.PutUint32(e.b[:lim], uint32(v))
- } else {
- bigen.PutUint64(e.b[:lim], v)
- }
- if bincDoPrune {
- i := pruneSignExt(e.b[:lim], pos)
- e.w.writen1(bd | lim - 1 - byte(i))
- e.w.writeb(e.b[i:lim])
- } else {
- e.w.writen1(bd | lim - 1)
- e.w.writeb(e.b[:lim])
- }
-}
-
-func (e *bincEncDriver) encodeInt(v int64) {
- const nbd byte = bincVdNegInt << 4
- switch {
- case v >= 0:
- e.encUint(bincVdPosInt<<4, true, uint64(v))
- case v == -1:
- e.w.writen1(bincVdSpecial<<4 | bincSpNegOne)
- default:
- e.encUint(bincVdNegInt<<4, false, uint64(-v))
- }
-}
-
-func (e *bincEncDriver) encodeUint(v uint64) {
- e.encUint(bincVdPosInt<<4, true, v)
-}
-
-func (e *bincEncDriver) encUint(bd byte, pos bool, v uint64) {
- switch {
- case v == 0:
- e.w.writen1(bincVdSpecial<<4 | bincSpZero)
- case pos && v >= 1 && v <= 16:
- e.w.writen1(bincVdSmallInt<<4 | byte(v-1))
- case v <= math.MaxUint8:
- e.w.writen2(bd|0x0, byte(v))
- case v <= math.MaxUint16:
- e.w.writen1(bd | 0x01)
- e.w.writeUint16(uint16(v))
- case v <= math.MaxUint32:
- e.encIntegerPrune(bd, pos, v, 4)
- default:
- e.encIntegerPrune(bd, pos, v, 8)
- }
-}
-
-func (e *bincEncDriver) encodeExtPreamble(xtag byte, length int) {
- e.encLen(bincVdCustomExt<<4, uint64(length))
- e.w.writen1(xtag)
-}
-
-func (e *bincEncDriver) encodeArrayPreamble(length int) {
- e.encLen(bincVdArray<<4, uint64(length))
-}
-
-func (e *bincEncDriver) encodeMapPreamble(length int) {
- e.encLen(bincVdMap<<4, uint64(length))
-}
-
-func (e *bincEncDriver) encodeString(c charEncoding, v string) {
- l := uint64(len(v))
- e.encBytesLen(c, l)
- if l > 0 {
- e.w.writestr(v)
- }
-}
-
-func (e *bincEncDriver) encodeSymbol(v string) {
- // if WriteSymbolsNoRefs {
- // e.encodeString(c_UTF8, v)
- // return
- // }
-
- //symbols only offer benefit when string length > 1.
- //This is because strings with length 1 take only 2 bytes to store
- //(bd with embedded length, and single byte for string val).
-
- l := len(v)
- switch l {
- case 0:
- e.encBytesLen(c_UTF8, 0)
- return
- case 1:
- e.encBytesLen(c_UTF8, 1)
- e.w.writen1(v[0])
- return
- }
- if e.m == nil {
- e.m = make(map[string]uint16, 16)
- }
- ui, ok := e.m[v]
- if ok {
- if ui <= math.MaxUint8 {
- e.w.writen2(bincVdSymbol<<4, byte(ui))
- } else {
- e.w.writen1(bincVdSymbol<<4 | 0x8)
- e.w.writeUint16(ui)
- }
- } else {
- e.s++
- ui = uint16(e.s)
- //ui = uint16(atomic.AddUint32(&e.s, 1))
- e.m[v] = ui
- var lenprec uint8
- switch {
- case l <= math.MaxUint8:
- // lenprec = 0
- case l <= math.MaxUint16:
- lenprec = 1
- case int64(l) <= math.MaxUint32:
- lenprec = 2
- default:
- lenprec = 3
- }
- if ui <= math.MaxUint8 {
- e.w.writen2(bincVdSymbol<<4|0x0|0x4|lenprec, byte(ui))
- } else {
- e.w.writen1(bincVdSymbol<<4 | 0x8 | 0x4 | lenprec)
- e.w.writeUint16(ui)
- }
- switch lenprec {
- case 0:
- e.w.writen1(byte(l))
- case 1:
- e.w.writeUint16(uint16(l))
- case 2:
- e.w.writeUint32(uint32(l))
- default:
- e.w.writeUint64(uint64(l))
- }
- e.w.writestr(v)
- }
-}
-
-func (e *bincEncDriver) encodeStringBytes(c charEncoding, v []byte) {
- l := uint64(len(v))
- e.encBytesLen(c, l)
- if l > 0 {
- e.w.writeb(v)
- }
-}
-
-func (e *bincEncDriver) encBytesLen(c charEncoding, length uint64) {
- //TODO: support bincUnicodeOther (for now, just use string or bytearray)
- if c == c_RAW {
- e.encLen(bincVdByteArray<<4, length)
- } else {
- e.encLen(bincVdString<<4, length)
- }
-}
-
-func (e *bincEncDriver) encLen(bd byte, l uint64) {
- if l < 12 {
- e.w.writen1(bd | uint8(l+4))
- } else {
- e.encLenNumber(bd, l)
- }
-}
-
-func (e *bincEncDriver) encLenNumber(bd byte, v uint64) {
- switch {
- case v <= math.MaxUint8:
- e.w.writen2(bd, byte(v))
- case v <= math.MaxUint16:
- e.w.writen1(bd | 0x01)
- e.w.writeUint16(uint16(v))
- case v <= math.MaxUint32:
- e.w.writen1(bd | 0x02)
- e.w.writeUint32(uint32(v))
- default:
- e.w.writen1(bd | 0x03)
- e.w.writeUint64(uint64(v))
- }
-}
-
-//------------------------------------
-
-type bincDecDriver struct {
- r decReader
- bdRead bool
- bdType valueType
- bd byte
- vd byte
- vs byte
- b [8]byte
- m map[uint32]string // symbols (use uint32 as key, as map optimizes for it)
-}
-
-func (d *bincDecDriver) initReadNext() {
- if d.bdRead {
- return
- }
- d.bd = d.r.readn1()
- d.vd = d.bd >> 4
- d.vs = d.bd & 0x0f
- d.bdRead = true
- d.bdType = valueTypeUnset
-}
-
-func (d *bincDecDriver) currentEncodedType() valueType {
- if d.bdType == valueTypeUnset {
- switch d.vd {
- case bincVdSpecial:
- switch d.vs {
- case bincSpNil:
- d.bdType = valueTypeNil
- case bincSpFalse, bincSpTrue:
- d.bdType = valueTypeBool
- case bincSpNan, bincSpNegInf, bincSpPosInf, bincSpZeroFloat:
- d.bdType = valueTypeFloat
- case bincSpZero:
- d.bdType = valueTypeUint
- case bincSpNegOne:
- d.bdType = valueTypeInt
- default:
- decErr("currentEncodedType: Unrecognized special value 0x%x", d.vs)
- }
- case bincVdSmallInt:
- d.bdType = valueTypeUint
- case bincVdPosInt:
- d.bdType = valueTypeUint
- case bincVdNegInt:
- d.bdType = valueTypeInt
- case bincVdFloat:
- d.bdType = valueTypeFloat
- case bincVdString:
- d.bdType = valueTypeString
- case bincVdSymbol:
- d.bdType = valueTypeSymbol
- case bincVdByteArray:
- d.bdType = valueTypeBytes
- case bincVdTimestamp:
- d.bdType = valueTypeTimestamp
- case bincVdCustomExt:
- d.bdType = valueTypeExt
- case bincVdArray:
- d.bdType = valueTypeArray
- case bincVdMap:
- d.bdType = valueTypeMap
- default:
- decErr("currentEncodedType: Unrecognized d.vd: 0x%x", d.vd)
- }
- }
- return d.bdType
-}
-
-func (d *bincDecDriver) tryDecodeAsNil() bool {
- if d.bd == bincVdSpecial<<4|bincSpNil {
- d.bdRead = false
- return true
- }
- return false
-}
-
-func (d *bincDecDriver) isBuiltinType(rt uintptr) bool {
- return rt == timeTypId
-}
-
-func (d *bincDecDriver) decodeBuiltin(rt uintptr, v interface{}) {
- switch rt {
- case timeTypId:
- if d.vd != bincVdTimestamp {
- decErr("Invalid d.vd. Expecting 0x%x. Received: 0x%x", bincVdTimestamp, d.vd)
- }
- tt, err := decodeTime(d.r.readn(int(d.vs)))
- if err != nil {
- panic(err)
- }
- var vt *time.Time = v.(*time.Time)
- *vt = tt
- d.bdRead = false
- }
-}
-
-func (d *bincDecDriver) decFloatPre(vs, defaultLen byte) {
- if vs&0x8 == 0 {
- d.r.readb(d.b[0:defaultLen])
- } else {
- l := d.r.readn1()
- if l > 8 {
- decErr("At most 8 bytes used to represent float. Received: %v bytes", l)
- }
- for i := l; i < 8; i++ {
- d.b[i] = 0
- }
- d.r.readb(d.b[0:l])
- }
-}
-
-func (d *bincDecDriver) decFloat() (f float64) {
- //if true { f = math.Float64frombits(d.r.readUint64()); break; }
- switch vs := d.vs; vs & 0x7 {
- case bincFlBin32:
- d.decFloatPre(vs, 4)
- f = float64(math.Float32frombits(bigen.Uint32(d.b[0:4])))
- case bincFlBin64:
- d.decFloatPre(vs, 8)
- f = math.Float64frombits(bigen.Uint64(d.b[0:8]))
- default:
- decErr("only float32 and float64 are supported. d.vd: 0x%x, d.vs: 0x%x", d.vd, d.vs)
- }
- return
-}
-
-func (d *bincDecDriver) decUint() (v uint64) {
- // need to inline the code (interface conversion and type assertion expensive)
- switch d.vs {
- case 0:
- v = uint64(d.r.readn1())
- case 1:
- d.r.readb(d.b[6:])
- v = uint64(bigen.Uint16(d.b[6:]))
- case 2:
- d.b[4] = 0
- d.r.readb(d.b[5:])
- v = uint64(bigen.Uint32(d.b[4:]))
- case 3:
- d.r.readb(d.b[4:])
- v = uint64(bigen.Uint32(d.b[4:]))
- case 4, 5, 6:
- lim := int(7 - d.vs)
- d.r.readb(d.b[lim:])
- for i := 0; i < lim; i++ {
- d.b[i] = 0
- }
- v = uint64(bigen.Uint64(d.b[:]))
- case 7:
- d.r.readb(d.b[:])
- v = uint64(bigen.Uint64(d.b[:]))
- default:
- decErr("unsigned integers with greater than 64 bits of precision not supported")
- }
- return
-}
-
-func (d *bincDecDriver) decIntAny() (ui uint64, i int64, neg bool) {
- switch d.vd {
- case bincVdPosInt:
- ui = d.decUint()
- i = int64(ui)
- case bincVdNegInt:
- ui = d.decUint()
- i = -(int64(ui))
- neg = true
- case bincVdSmallInt:
- i = int64(d.vs) + 1
- ui = uint64(d.vs) + 1
- case bincVdSpecial:
- switch d.vs {
- case bincSpZero:
- //i = 0
- case bincSpNegOne:
- neg = true
- ui = 1
- i = -1
- default:
- decErr("numeric decode fails for special value: d.vs: 0x%x", d.vs)
- }
- default:
- decErr("number can only be decoded from uint or int values. d.bd: 0x%x, d.vd: 0x%x", d.bd, d.vd)
- }
- return
-}
-
-func (d *bincDecDriver) decodeInt(bitsize uint8) (i int64) {
- _, i, _ = d.decIntAny()
- checkOverflow(0, i, bitsize)
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decodeUint(bitsize uint8) (ui uint64) {
- ui, i, neg := d.decIntAny()
- if neg {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- checkOverflow(ui, 0, bitsize)
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {
- switch d.vd {
- case bincVdSpecial:
- d.bdRead = false
- switch d.vs {
- case bincSpNan:
- return math.NaN()
- case bincSpPosInf:
- return math.Inf(1)
- case bincSpZeroFloat, bincSpZero:
- return
- case bincSpNegInf:
- return math.Inf(-1)
- default:
- decErr("Invalid d.vs decoding float where d.vd=bincVdSpecial: %v", d.vs)
- }
- case bincVdFloat:
- f = d.decFloat()
- default:
- _, i, _ := d.decIntAny()
- f = float64(i)
- }
- checkOverflowFloat32(f, chkOverflow32)
- d.bdRead = false
- return
-}
-
-// bool can be decoded from bool only (single byte).
-func (d *bincDecDriver) decodeBool() (b bool) {
- switch d.bd {
- case (bincVdSpecial | bincSpFalse):
- // b = false
- case (bincVdSpecial | bincSpTrue):
- b = true
- default:
- decErr("Invalid single-byte value for bool: %s: %x", msgBadDesc, d.bd)
- }
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) readMapLen() (length int) {
- if d.vd != bincVdMap {
- decErr("Invalid d.vd for map. Expecting 0x%x. Got: 0x%x", bincVdMap, d.vd)
- }
- length = d.decLen()
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) readArrayLen() (length int) {
- if d.vd != bincVdArray {
- decErr("Invalid d.vd for array. Expecting 0x%x. Got: 0x%x", bincVdArray, d.vd)
- }
- length = d.decLen()
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decLen() int {
- if d.vs <= 3 {
- return int(d.decUint())
- }
- return int(d.vs - 4)
-}
-
-func (d *bincDecDriver) decodeString() (s string) {
- switch d.vd {
- case bincVdString, bincVdByteArray:
- if length := d.decLen(); length > 0 {
- s = string(d.r.readn(length))
- }
- case bincVdSymbol:
- //from vs: extract numSymbolBytes, containsStringVal, strLenPrecision,
- //extract symbol
- //if containsStringVal, read it and put in map
- //else look in map for string value
- var symbol uint32
- vs := d.vs
- //fmt.Printf(">>>> d.vs: 0b%b, & 0x8: %v, & 0x4: %v\n", d.vs, vs & 0x8, vs & 0x4)
- if vs&0x8 == 0 {
- symbol = uint32(d.r.readn1())
- } else {
- symbol = uint32(d.r.readUint16())
- }
- if d.m == nil {
- d.m = make(map[uint32]string, 16)
- }
-
- if vs&0x4 == 0 {
- s = d.m[symbol]
- } else {
- var slen int
- switch vs & 0x3 {
- case 0:
- slen = int(d.r.readn1())
- case 1:
- slen = int(d.r.readUint16())
- case 2:
- slen = int(d.r.readUint32())
- case 3:
- slen = int(d.r.readUint64())
- }
- s = string(d.r.readn(slen))
- d.m[symbol] = s
- }
- default:
- decErr("Invalid d.vd for string. Expecting string:0x%x, bytearray:0x%x or symbol: 0x%x. Got: 0x%x",
- bincVdString, bincVdByteArray, bincVdSymbol, d.vd)
- }
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {
- var clen int
- switch d.vd {
- case bincVdString, bincVdByteArray:
- clen = d.decLen()
- default:
- decErr("Invalid d.vd for bytes. Expecting string:0x%x or bytearray:0x%x. Got: 0x%x",
- bincVdString, bincVdByteArray, d.vd)
- }
- if clen > 0 {
- // if no contents in stream, don't update the passed byteslice
- if len(bs) != clen {
- if len(bs) > clen {
- bs = bs[:clen]
- } else {
- bs = make([]byte, clen)
- }
- bsOut = bs
- changed = true
- }
- d.r.readb(bs)
- }
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {
- switch d.vd {
- case bincVdCustomExt:
- l := d.decLen()
- xtag = d.r.readn1()
- if verifyTag && xtag != tag {
- decErr("Wrong extension tag. Got %b. Expecting: %v", xtag, tag)
- }
- xbs = d.r.readn(l)
- case bincVdByteArray:
- xbs, _ = d.decodeBytes(nil)
- default:
- decErr("Invalid d.vd for extensions (Expecting extensions or byte array). Got: 0x%x", d.vd)
- }
- d.bdRead = false
- return
-}
-
-func (d *bincDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {
- d.initReadNext()
-
- switch d.vd {
- case bincVdSpecial:
- switch d.vs {
- case bincSpNil:
- vt = valueTypeNil
- case bincSpFalse:
- vt = valueTypeBool
- v = false
- case bincSpTrue:
- vt = valueTypeBool
- v = true
- case bincSpNan:
- vt = valueTypeFloat
- v = math.NaN()
- case bincSpPosInf:
- vt = valueTypeFloat
- v = math.Inf(1)
- case bincSpNegInf:
- vt = valueTypeFloat
- v = math.Inf(-1)
- case bincSpZeroFloat:
- vt = valueTypeFloat
- v = float64(0)
- case bincSpZero:
- vt = valueTypeUint
- v = int64(0) // int8(0)
- case bincSpNegOne:
- vt = valueTypeInt
- v = int64(-1) // int8(-1)
- default:
- decErr("decodeNaked: Unrecognized special value 0x%x", d.vs)
- }
- case bincVdSmallInt:
- vt = valueTypeUint
- v = uint64(int8(d.vs)) + 1 // int8(d.vs) + 1
- case bincVdPosInt:
- vt = valueTypeUint
- v = d.decUint()
- case bincVdNegInt:
- vt = valueTypeInt
- v = -(int64(d.decUint()))
- case bincVdFloat:
- vt = valueTypeFloat
- v = d.decFloat()
- case bincVdSymbol:
- vt = valueTypeSymbol
- v = d.decodeString()
- case bincVdString:
- vt = valueTypeString
- v = d.decodeString()
- case bincVdByteArray:
- vt = valueTypeBytes
- v, _ = d.decodeBytes(nil)
- case bincVdTimestamp:
- vt = valueTypeTimestamp
- tt, err := decodeTime(d.r.readn(int(d.vs)))
- if err != nil {
- panic(err)
- }
- v = tt
- case bincVdCustomExt:
- vt = valueTypeExt
- l := d.decLen()
- var re RawExt
- re.Tag = d.r.readn1()
- re.Data = d.r.readn(l)
- v = &re
- vt = valueTypeExt
- case bincVdArray:
- vt = valueTypeArray
- decodeFurther = true
- case bincVdMap:
- vt = valueTypeMap
- decodeFurther = true
- default:
- decErr("decodeNaked: Unrecognized d.vd: 0x%x", d.vd)
- }
-
- if !decodeFurther {
- d.bdRead = false
- }
- return
-}
-
-//------------------------------------
-
-//BincHandle is a Handle for the Binc Schema-Free Encoding Format
-//defined at https://github.com/ugorji/binc .
-//
-//BincHandle currently supports all Binc features with the following EXCEPTIONS:
-// - only integers up to 64 bits of precision are supported.
-// big integers are unsupported.
-// - Only IEEE 754 binary32 and binary64 floats are supported (ie Go float32 and float64 types).
-// extended precision and decimal IEEE 754 floats are unsupported.
-// - Only UTF-8 strings supported.
-// Unicode_Other Binc types (UTF16, UTF32) are currently unsupported.
-//Note that these EXCEPTIONS are temporary and full support is possible and may happen soon.
-type BincHandle struct {
- BasicHandle
-}
-
-func (h *BincHandle) newEncDriver(w encWriter) encDriver {
- return &bincEncDriver{w: w}
-}
-
-func (h *BincHandle) newDecDriver(r decReader) decDriver {
- return &bincDecDriver{r: r}
-}
-
-func (_ *BincHandle) writeExt() bool {
- return true
-}
-
-func (h *BincHandle) getBasicHandle() *BasicHandle {
- return &h.BasicHandle
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/decode.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/decode.go
deleted file mode 100644
index 87bef2b9..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/decode.go
+++ /dev/null
@@ -1,1048 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import (
- "io"
- "reflect"
- // "runtime/debug"
-)
-
-// Some tagging information for error messages.
-const (
- msgTagDec = "codec.decoder"
- msgBadDesc = "Unrecognized descriptor byte"
- msgDecCannotExpandArr = "cannot expand go array from %v to stream length: %v"
-)
-
-// decReader abstracts the reading source, allowing implementations that can
-// read from an io.Reader or directly off a byte slice with zero-copying.
-type decReader interface {
- readn(n int) []byte
- readb([]byte)
- readn1() uint8
- readUint16() uint16
- readUint32() uint32
- readUint64() uint64
-}
-
-type decDriver interface {
- initReadNext()
- tryDecodeAsNil() bool
- currentEncodedType() valueType
- isBuiltinType(rt uintptr) bool
- decodeBuiltin(rt uintptr, v interface{})
- //decodeNaked: Numbers are decoded as int64, uint64, float64 only (no smaller sized number types).
- decodeNaked() (v interface{}, vt valueType, decodeFurther bool)
- decodeInt(bitsize uint8) (i int64)
- decodeUint(bitsize uint8) (ui uint64)
- decodeFloat(chkOverflow32 bool) (f float64)
- decodeBool() (b bool)
- // decodeString can also decode symbols
- decodeString() (s string)
- decodeBytes(bs []byte) (bsOut []byte, changed bool)
- decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte)
- readMapLen() int
- readArrayLen() int
-}
-
-type DecodeOptions struct {
- // An instance of MapType is used during schema-less decoding of a map in the stream.
- // If nil, we use map[interface{}]interface{}
- MapType reflect.Type
- // An instance of SliceType is used during schema-less decoding of an array in the stream.
- // If nil, we use []interface{}
- SliceType reflect.Type
- // ErrorIfNoField controls whether an error is returned when decoding a map
- // from a codec stream into a struct, and no matching struct field is found.
- ErrorIfNoField bool
-}
-
-// ------------------------------------
-
-// ioDecReader is a decReader that reads off an io.Reader
-type ioDecReader struct {
- r io.Reader
- br io.ByteReader
- x [8]byte //temp byte array re-used internally for efficiency
-}
-
-func (z *ioDecReader) readn(n int) (bs []byte) {
- if n <= 0 {
- return
- }
- bs = make([]byte, n)
- if _, err := io.ReadAtLeast(z.r, bs, n); err != nil {
- panic(err)
- }
- return
-}
-
-func (z *ioDecReader) readb(bs []byte) {
- if _, err := io.ReadAtLeast(z.r, bs, len(bs)); err != nil {
- panic(err)
- }
-}
-
-func (z *ioDecReader) readn1() uint8 {
- if z.br != nil {
- b, err := z.br.ReadByte()
- if err != nil {
- panic(err)
- }
- return b
- }
- z.readb(z.x[:1])
- return z.x[0]
-}
-
-func (z *ioDecReader) readUint16() uint16 {
- z.readb(z.x[:2])
- return bigen.Uint16(z.x[:2])
-}
-
-func (z *ioDecReader) readUint32() uint32 {
- z.readb(z.x[:4])
- return bigen.Uint32(z.x[:4])
-}
-
-func (z *ioDecReader) readUint64() uint64 {
- z.readb(z.x[:8])
- return bigen.Uint64(z.x[:8])
-}
-
-// ------------------------------------
-
-// bytesDecReader is a decReader that reads off a byte slice with zero copying
-type bytesDecReader struct {
- b []byte // data
- c int // cursor
- a int // available
-}
-
-func (z *bytesDecReader) consume(n int) (oldcursor int) {
- if z.a == 0 {
- panic(io.EOF)
- }
- if n > z.a {
- decErr("Trying to read %v bytes. Only %v available", n, z.a)
- }
- // z.checkAvailable(n)
- oldcursor = z.c
- z.c = oldcursor + n
- z.a = z.a - n
- return
-}
-
-func (z *bytesDecReader) readn(n int) (bs []byte) {
- if n <= 0 {
- return
- }
- c0 := z.consume(n)
- bs = z.b[c0:z.c]
- return
-}
-
-func (z *bytesDecReader) readb(bs []byte) {
- copy(bs, z.readn(len(bs)))
-}
-
-func (z *bytesDecReader) readn1() uint8 {
- c0 := z.consume(1)
- return z.b[c0]
-}
-
-// Use binaryEncoding helper for 4 and 8 bits, but inline it for 2 bits
-// creating temp slice variable and copying it to helper function is expensive
-// for just 2 bits.
-
-func (z *bytesDecReader) readUint16() uint16 {
- c0 := z.consume(2)
- return uint16(z.b[c0+1]) | uint16(z.b[c0])<<8
-}
-
-func (z *bytesDecReader) readUint32() uint32 {
- c0 := z.consume(4)
- return bigen.Uint32(z.b[c0:z.c])
-}
-
-func (z *bytesDecReader) readUint64() uint64 {
- c0 := z.consume(8)
- return bigen.Uint64(z.b[c0:z.c])
-}
-
-// ------------------------------------
-
-// decFnInfo has methods for registering handling decoding of a specific type
-// based on some characteristics (builtin, extension, reflect Kind, etc)
-type decFnInfo struct {
- ti *typeInfo
- d *Decoder
- dd decDriver
- xfFn func(reflect.Value, []byte) error
- xfTag byte
- array bool
-}
-
-func (f *decFnInfo) builtin(rv reflect.Value) {
- f.dd.decodeBuiltin(f.ti.rtid, rv.Addr().Interface())
-}
-
-func (f *decFnInfo) rawExt(rv reflect.Value) {
- xtag, xbs := f.dd.decodeExt(false, 0)
- rv.Field(0).SetUint(uint64(xtag))
- rv.Field(1).SetBytes(xbs)
-}
-
-func (f *decFnInfo) ext(rv reflect.Value) {
- _, xbs := f.dd.decodeExt(true, f.xfTag)
- if fnerr := f.xfFn(rv, xbs); fnerr != nil {
- panic(fnerr)
- }
-}
-
-func (f *decFnInfo) binaryMarshal(rv reflect.Value) {
- var bm binaryUnmarshaler
- if f.ti.unmIndir == -1 {
- bm = rv.Addr().Interface().(binaryUnmarshaler)
- } else if f.ti.unmIndir == 0 {
- bm = rv.Interface().(binaryUnmarshaler)
- } else {
- for j, k := int8(0), f.ti.unmIndir; j < k; j++ {
- if rv.IsNil() {
- rv.Set(reflect.New(rv.Type().Elem()))
- }
- rv = rv.Elem()
- }
- bm = rv.Interface().(binaryUnmarshaler)
- }
- xbs, _ := f.dd.decodeBytes(nil)
- if fnerr := bm.UnmarshalBinary(xbs); fnerr != nil {
- panic(fnerr)
- }
-}
-
-func (f *decFnInfo) kErr(rv reflect.Value) {
- decErr("Unhandled value for kind: %v: %s", rv.Kind(), msgBadDesc)
-}
-
-func (f *decFnInfo) kString(rv reflect.Value) {
- rv.SetString(f.dd.decodeString())
-}
-
-func (f *decFnInfo) kBool(rv reflect.Value) {
- rv.SetBool(f.dd.decodeBool())
-}
-
-func (f *decFnInfo) kInt(rv reflect.Value) {
- rv.SetInt(f.dd.decodeInt(intBitsize))
-}
-
-func (f *decFnInfo) kInt64(rv reflect.Value) {
- rv.SetInt(f.dd.decodeInt(64))
-}
-
-func (f *decFnInfo) kInt32(rv reflect.Value) {
- rv.SetInt(f.dd.decodeInt(32))
-}
-
-func (f *decFnInfo) kInt8(rv reflect.Value) {
- rv.SetInt(f.dd.decodeInt(8))
-}
-
-func (f *decFnInfo) kInt16(rv reflect.Value) {
- rv.SetInt(f.dd.decodeInt(16))
-}
-
-func (f *decFnInfo) kFloat32(rv reflect.Value) {
- rv.SetFloat(f.dd.decodeFloat(true))
-}
-
-func (f *decFnInfo) kFloat64(rv reflect.Value) {
- rv.SetFloat(f.dd.decodeFloat(false))
-}
-
-func (f *decFnInfo) kUint8(rv reflect.Value) {
- rv.SetUint(f.dd.decodeUint(8))
-}
-
-func (f *decFnInfo) kUint64(rv reflect.Value) {
- rv.SetUint(f.dd.decodeUint(64))
-}
-
-func (f *decFnInfo) kUint(rv reflect.Value) {
- rv.SetUint(f.dd.decodeUint(uintBitsize))
-}
-
-func (f *decFnInfo) kUint32(rv reflect.Value) {
- rv.SetUint(f.dd.decodeUint(32))
-}
-
-func (f *decFnInfo) kUint16(rv reflect.Value) {
- rv.SetUint(f.dd.decodeUint(16))
-}
-
-// func (f *decFnInfo) kPtr(rv reflect.Value) {
-// debugf(">>>>>>> ??? decode kPtr called - shouldn't get called")
-// if rv.IsNil() {
-// rv.Set(reflect.New(rv.Type().Elem()))
-// }
-// f.d.decodeValue(rv.Elem())
-// }
-
-func (f *decFnInfo) kInterface(rv reflect.Value) {
- // debugf("\t===> kInterface")
- if !rv.IsNil() {
- f.d.decodeValue(rv.Elem())
- return
- }
- // nil interface:
- // use some hieristics to set the nil interface to an
- // appropriate value based on the first byte read (byte descriptor bd)
- v, vt, decodeFurther := f.dd.decodeNaked()
- if vt == valueTypeNil {
- return
- }
- // Cannot decode into nil interface with methods (e.g. error, io.Reader, etc)
- // if non-nil value in stream.
- if num := f.ti.rt.NumMethod(); num > 0 {
- decErr("decodeValue: Cannot decode non-nil codec value into nil %v (%v methods)",
- f.ti.rt, num)
- }
- var rvn reflect.Value
- var useRvn bool
- switch vt {
- case valueTypeMap:
- if f.d.h.MapType == nil {
- var m2 map[interface{}]interface{}
- v = &m2
- } else {
- rvn = reflect.New(f.d.h.MapType).Elem()
- useRvn = true
- }
- case valueTypeArray:
- if f.d.h.SliceType == nil {
- var m2 []interface{}
- v = &m2
- } else {
- rvn = reflect.New(f.d.h.SliceType).Elem()
- useRvn = true
- }
- case valueTypeExt:
- re := v.(*RawExt)
- var bfn func(reflect.Value, []byte) error
- rvn, bfn = f.d.h.getDecodeExtForTag(re.Tag)
- if bfn == nil {
- rvn = reflect.ValueOf(*re)
- } else if fnerr := bfn(rvn, re.Data); fnerr != nil {
- panic(fnerr)
- }
- rv.Set(rvn)
- return
- }
- if decodeFurther {
- if useRvn {
- f.d.decodeValue(rvn)
- } else if v != nil {
- // this v is a pointer, so we need to dereference it when done
- f.d.decode(v)
- rvn = reflect.ValueOf(v).Elem()
- useRvn = true
- }
- }
- if useRvn {
- rv.Set(rvn)
- } else if v != nil {
- rv.Set(reflect.ValueOf(v))
- }
-}
-
-func (f *decFnInfo) kStruct(rv reflect.Value) {
- fti := f.ti
- if currEncodedType := f.dd.currentEncodedType(); currEncodedType == valueTypeMap {
- containerLen := f.dd.readMapLen()
- if containerLen == 0 {
- return
- }
- tisfi := fti.sfi
- for j := 0; j < containerLen; j++ {
- // var rvkencname string
- // ddecode(&rvkencname)
- f.dd.initReadNext()
- rvkencname := f.dd.decodeString()
- // rvksi := ti.getForEncName(rvkencname)
- if k := fti.indexForEncName(rvkencname); k > -1 {
- sfik := tisfi[k]
- if sfik.i != -1 {
- f.d.decodeValue(rv.Field(int(sfik.i)))
- } else {
- f.d.decEmbeddedField(rv, sfik.is)
- }
- // f.d.decodeValue(ti.field(k, rv))
- } else {
- if f.d.h.ErrorIfNoField {
- decErr("No matching struct field found when decoding stream map with key: %v",
- rvkencname)
- } else {
- var nilintf0 interface{}
- f.d.decodeValue(reflect.ValueOf(&nilintf0).Elem())
- }
- }
- }
- } else if currEncodedType == valueTypeArray {
- containerLen := f.dd.readArrayLen()
- if containerLen == 0 {
- return
- }
- for j, si := range fti.sfip {
- if j == containerLen {
- break
- }
- if si.i != -1 {
- f.d.decodeValue(rv.Field(int(si.i)))
- } else {
- f.d.decEmbeddedField(rv, si.is)
- }
- }
- if containerLen > len(fti.sfip) {
- // read remaining values and throw away
- for j := len(fti.sfip); j < containerLen; j++ {
- var nilintf0 interface{}
- f.d.decodeValue(reflect.ValueOf(&nilintf0).Elem())
- }
- }
- } else {
- decErr("Only encoded map or array can be decoded into a struct. (valueType: %x)",
- currEncodedType)
- }
-}
-
-func (f *decFnInfo) kSlice(rv reflect.Value) {
- // A slice can be set from a map or array in stream.
- currEncodedType := f.dd.currentEncodedType()
-
- switch currEncodedType {
- case valueTypeBytes, valueTypeString:
- if f.ti.rtid == uint8SliceTypId || f.ti.rt.Elem().Kind() == reflect.Uint8 {
- if bs2, changed2 := f.dd.decodeBytes(rv.Bytes()); changed2 {
- rv.SetBytes(bs2)
- }
- return
- }
- }
-
- if shortCircuitReflectToFastPath && rv.CanAddr() {
- switch f.ti.rtid {
- case intfSliceTypId:
- f.d.decSliceIntf(rv.Addr().Interface().(*[]interface{}), currEncodedType, f.array)
- return
- case uint64SliceTypId:
- f.d.decSliceUint64(rv.Addr().Interface().(*[]uint64), currEncodedType, f.array)
- return
- case int64SliceTypId:
- f.d.decSliceInt64(rv.Addr().Interface().(*[]int64), currEncodedType, f.array)
- return
- case strSliceTypId:
- f.d.decSliceStr(rv.Addr().Interface().(*[]string), currEncodedType, f.array)
- return
- }
- }
-
- containerLen, containerLenS := decContLens(f.dd, currEncodedType)
-
- // an array can never return a nil slice. so no need to check f.array here.
-
- if rv.IsNil() {
- rv.Set(reflect.MakeSlice(f.ti.rt, containerLenS, containerLenS))
- }
-
- if containerLen == 0 {
- return
- }
-
- if rvcap, rvlen := rv.Len(), rv.Cap(); containerLenS > rvcap {
- if f.array { // !rv.CanSet()
- decErr(msgDecCannotExpandArr, rvcap, containerLenS)
- }
- rvn := reflect.MakeSlice(f.ti.rt, containerLenS, containerLenS)
- if rvlen > 0 {
- reflect.Copy(rvn, rv)
- }
- rv.Set(rvn)
- } else if containerLenS > rvlen {
- rv.SetLen(containerLenS)
- }
-
- for j := 0; j < containerLenS; j++ {
- f.d.decodeValue(rv.Index(j))
- }
-}
-
-func (f *decFnInfo) kArray(rv reflect.Value) {
- // f.d.decodeValue(rv.Slice(0, rv.Len()))
- f.kSlice(rv.Slice(0, rv.Len()))
-}
-
-func (f *decFnInfo) kMap(rv reflect.Value) {
- if shortCircuitReflectToFastPath && rv.CanAddr() {
- switch f.ti.rtid {
- case mapStrIntfTypId:
- f.d.decMapStrIntf(rv.Addr().Interface().(*map[string]interface{}))
- return
- case mapIntfIntfTypId:
- f.d.decMapIntfIntf(rv.Addr().Interface().(*map[interface{}]interface{}))
- return
- case mapInt64IntfTypId:
- f.d.decMapInt64Intf(rv.Addr().Interface().(*map[int64]interface{}))
- return
- case mapUint64IntfTypId:
- f.d.decMapUint64Intf(rv.Addr().Interface().(*map[uint64]interface{}))
- return
- }
- }
-
- containerLen := f.dd.readMapLen()
-
- if rv.IsNil() {
- rv.Set(reflect.MakeMap(f.ti.rt))
- }
-
- if containerLen == 0 {
- return
- }
-
- ktype, vtype := f.ti.rt.Key(), f.ti.rt.Elem()
- ktypeId := reflect.ValueOf(ktype).Pointer()
- for j := 0; j < containerLen; j++ {
- rvk := reflect.New(ktype).Elem()
- f.d.decodeValue(rvk)
-
- // special case if a byte array.
- // if ktype == intfTyp {
- if ktypeId == intfTypId {
- rvk = rvk.Elem()
- if rvk.Type() == uint8SliceTyp {
- rvk = reflect.ValueOf(string(rvk.Bytes()))
- }
- }
- rvv := rv.MapIndex(rvk)
- if !rvv.IsValid() {
- rvv = reflect.New(vtype).Elem()
- }
-
- f.d.decodeValue(rvv)
- rv.SetMapIndex(rvk, rvv)
- }
-}
-
-// ----------------------------------------
-
-type decFn struct {
- i *decFnInfo
- f func(*decFnInfo, reflect.Value)
-}
-
-// A Decoder reads and decodes an object from an input stream in the codec format.
-type Decoder struct {
- r decReader
- d decDriver
- h *BasicHandle
- f map[uintptr]decFn
- x []uintptr
- s []decFn
-}
-
-// NewDecoder returns a Decoder for decoding a stream of bytes from an io.Reader.
-//
-// For efficiency, Users are encouraged to pass in a memory buffered writer
-// (eg bufio.Reader, bytes.Buffer).
-func NewDecoder(r io.Reader, h Handle) *Decoder {
- z := ioDecReader{
- r: r,
- }
- z.br, _ = r.(io.ByteReader)
- return &Decoder{r: &z, d: h.newDecDriver(&z), h: h.getBasicHandle()}
-}
-
-// NewDecoderBytes returns a Decoder which efficiently decodes directly
-// from a byte slice with zero copying.
-func NewDecoderBytes(in []byte, h Handle) *Decoder {
- z := bytesDecReader{
- b: in,
- a: len(in),
- }
- return &Decoder{r: &z, d: h.newDecDriver(&z), h: h.getBasicHandle()}
-}
-
-// Decode decodes the stream from reader and stores the result in the
-// value pointed to by v. v cannot be a nil pointer. v can also be
-// a reflect.Value of a pointer.
-//
-// Note that a pointer to a nil interface is not a nil pointer.
-// If you do not know what type of stream it is, pass in a pointer to a nil interface.
-// We will decode and store a value in that nil interface.
-//
-// Sample usages:
-// // Decoding into a non-nil typed value
-// var f float32
-// err = codec.NewDecoder(r, handle).Decode(&f)
-//
-// // Decoding into nil interface
-// var v interface{}
-// dec := codec.NewDecoder(r, handle)
-// err = dec.Decode(&v)
-//
-// When decoding into a nil interface{}, we will decode into an appropriate value based
-// on the contents of the stream:
-// - Numbers are decoded as float64, int64 or uint64.
-// - Other values are decoded appropriately depending on the type:
-// bool, string, []byte, time.Time, etc
-// - Extensions are decoded as RawExt (if no ext function registered for the tag)
-// Configurations exist on the Handle to override defaults
-// (e.g. for MapType, SliceType and how to decode raw bytes).
-//
-// When decoding into a non-nil interface{} value, the mode of encoding is based on the
-// type of the value. When a value is seen:
-// - If an extension is registered for it, call that extension function
-// - If it implements BinaryUnmarshaler, call its UnmarshalBinary(data []byte) error
-// - Else decode it based on its reflect.Kind
-//
-// There are some special rules when decoding into containers (slice/array/map/struct).
-// Decode will typically use the stream contents to UPDATE the container.
-// - A map can be decoded from a stream map, by updating matching keys.
-// - A slice can be decoded from a stream array,
-// by updating the first n elements, where n is length of the stream.
-// - A slice can be decoded from a stream map, by decoding as if
-// it contains a sequence of key-value pairs.
-// - A struct can be decoded from a stream map, by updating matching fields.
-// - A struct can be decoded from a stream array,
-// by updating fields as they occur in the struct (by index).
-//
-// When decoding a stream map or array with length of 0 into a nil map or slice,
-// we reset the destination map or slice to a zero-length value.
-//
-// However, when decoding a stream nil, we reset the destination container
-// to its "zero" value (e.g. nil for slice/map, etc).
-//
-func (d *Decoder) Decode(v interface{}) (err error) {
- defer panicToErr(&err)
- d.decode(v)
- return
-}
-
-func (d *Decoder) decode(iv interface{}) {
- d.d.initReadNext()
-
- switch v := iv.(type) {
- case nil:
- decErr("Cannot decode into nil.")
-
- case reflect.Value:
- d.chkPtrValue(v)
- d.decodeValue(v.Elem())
-
- case *string:
- *v = d.d.decodeString()
- case *bool:
- *v = d.d.decodeBool()
- case *int:
- *v = int(d.d.decodeInt(intBitsize))
- case *int8:
- *v = int8(d.d.decodeInt(8))
- case *int16:
- *v = int16(d.d.decodeInt(16))
- case *int32:
- *v = int32(d.d.decodeInt(32))
- case *int64:
- *v = d.d.decodeInt(64)
- case *uint:
- *v = uint(d.d.decodeUint(uintBitsize))
- case *uint8:
- *v = uint8(d.d.decodeUint(8))
- case *uint16:
- *v = uint16(d.d.decodeUint(16))
- case *uint32:
- *v = uint32(d.d.decodeUint(32))
- case *uint64:
- *v = d.d.decodeUint(64)
- case *float32:
- *v = float32(d.d.decodeFloat(true))
- case *float64:
- *v = d.d.decodeFloat(false)
- case *[]byte:
- *v, _ = d.d.decodeBytes(*v)
-
- case *[]interface{}:
- d.decSliceIntf(v, valueTypeInvalid, false)
- case *[]uint64:
- d.decSliceUint64(v, valueTypeInvalid, false)
- case *[]int64:
- d.decSliceInt64(v, valueTypeInvalid, false)
- case *[]string:
- d.decSliceStr(v, valueTypeInvalid, false)
- case *map[string]interface{}:
- d.decMapStrIntf(v)
- case *map[interface{}]interface{}:
- d.decMapIntfIntf(v)
- case *map[uint64]interface{}:
- d.decMapUint64Intf(v)
- case *map[int64]interface{}:
- d.decMapInt64Intf(v)
-
- case *interface{}:
- d.decodeValue(reflect.ValueOf(iv).Elem())
-
- default:
- rv := reflect.ValueOf(iv)
- d.chkPtrValue(rv)
- d.decodeValue(rv.Elem())
- }
-}
-
-func (d *Decoder) decodeValue(rv reflect.Value) {
- d.d.initReadNext()
-
- if d.d.tryDecodeAsNil() {
- // If value in stream is nil, set the dereferenced value to its "zero" value (if settable)
- if rv.Kind() == reflect.Ptr {
- if !rv.IsNil() {
- rv.Set(reflect.Zero(rv.Type()))
- }
- return
- }
- // for rv.Kind() == reflect.Ptr {
- // rv = rv.Elem()
- // }
- if rv.IsValid() { // rv.CanSet() // always settable, except it's invalid
- rv.Set(reflect.Zero(rv.Type()))
- }
- return
- }
-
- // If stream is not containing a nil value, then we can deref to the base
- // non-pointer value, and decode into that.
- for rv.Kind() == reflect.Ptr {
- if rv.IsNil() {
- rv.Set(reflect.New(rv.Type().Elem()))
- }
- rv = rv.Elem()
- }
-
- rt := rv.Type()
- rtid := reflect.ValueOf(rt).Pointer()
-
- // retrieve or register a focus'ed function for this type
- // to eliminate need to do the retrieval multiple times
-
- // if d.f == nil && d.s == nil { debugf("---->Creating new dec f map for type: %v\n", rt) }
- var fn decFn
- var ok bool
- if useMapForCodecCache {
- fn, ok = d.f[rtid]
- } else {
- for i, v := range d.x {
- if v == rtid {
- fn, ok = d.s[i], true
- break
- }
- }
- }
- if !ok {
- // debugf("\tCreating new dec fn for type: %v\n", rt)
- fi := decFnInfo{ti: getTypeInfo(rtid, rt), d: d, dd: d.d}
- fn.i = &fi
- // An extension can be registered for any type, regardless of the Kind
- // (e.g. type BitSet int64, type MyStruct { / * unexported fields * / }, type X []int, etc.
- //
- // We can't check if it's an extension byte here first, because the user may have
- // registered a pointer or non-pointer type, meaning we may have to recurse first
- // before matching a mapped type, even though the extension byte is already detected.
- //
- // NOTE: if decoding into a nil interface{}, we return a non-nil
- // value except even if the container registers a length of 0.
- if rtid == rawExtTypId {
- fn.f = (*decFnInfo).rawExt
- } else if d.d.isBuiltinType(rtid) {
- fn.f = (*decFnInfo).builtin
- } else if xfTag, xfFn := d.h.getDecodeExt(rtid); xfFn != nil {
- fi.xfTag, fi.xfFn = xfTag, xfFn
- fn.f = (*decFnInfo).ext
- } else if supportBinaryMarshal && fi.ti.unm {
- fn.f = (*decFnInfo).binaryMarshal
- } else {
- switch rk := rt.Kind(); rk {
- case reflect.String:
- fn.f = (*decFnInfo).kString
- case reflect.Bool:
- fn.f = (*decFnInfo).kBool
- case reflect.Int:
- fn.f = (*decFnInfo).kInt
- case reflect.Int64:
- fn.f = (*decFnInfo).kInt64
- case reflect.Int32:
- fn.f = (*decFnInfo).kInt32
- case reflect.Int8:
- fn.f = (*decFnInfo).kInt8
- case reflect.Int16:
- fn.f = (*decFnInfo).kInt16
- case reflect.Float32:
- fn.f = (*decFnInfo).kFloat32
- case reflect.Float64:
- fn.f = (*decFnInfo).kFloat64
- case reflect.Uint8:
- fn.f = (*decFnInfo).kUint8
- case reflect.Uint64:
- fn.f = (*decFnInfo).kUint64
- case reflect.Uint:
- fn.f = (*decFnInfo).kUint
- case reflect.Uint32:
- fn.f = (*decFnInfo).kUint32
- case reflect.Uint16:
- fn.f = (*decFnInfo).kUint16
- // case reflect.Ptr:
- // fn.f = (*decFnInfo).kPtr
- case reflect.Interface:
- fn.f = (*decFnInfo).kInterface
- case reflect.Struct:
- fn.f = (*decFnInfo).kStruct
- case reflect.Slice:
- fn.f = (*decFnInfo).kSlice
- case reflect.Array:
- fi.array = true
- fn.f = (*decFnInfo).kArray
- case reflect.Map:
- fn.f = (*decFnInfo).kMap
- default:
- fn.f = (*decFnInfo).kErr
- }
- }
- if useMapForCodecCache {
- if d.f == nil {
- d.f = make(map[uintptr]decFn, 16)
- }
- d.f[rtid] = fn
- } else {
- d.s = append(d.s, fn)
- d.x = append(d.x, rtid)
- }
- }
-
- fn.f(fn.i, rv)
-
- return
-}
-
-func (d *Decoder) chkPtrValue(rv reflect.Value) {
- // We can only decode into a non-nil pointer
- if rv.Kind() == reflect.Ptr && !rv.IsNil() {
- return
- }
- if !rv.IsValid() {
- decErr("Cannot decode into a zero (ie invalid) reflect.Value")
- }
- if !rv.CanInterface() {
- decErr("Cannot decode into a value without an interface: %v", rv)
- }
- rvi := rv.Interface()
- decErr("Cannot decode into non-pointer or nil pointer. Got: %v, %T, %v",
- rv.Kind(), rvi, rvi)
-}
-
-func (d *Decoder) decEmbeddedField(rv reflect.Value, index []int) {
- // d.decodeValue(rv.FieldByIndex(index))
- // nil pointers may be here; so reproduce FieldByIndex logic + enhancements
- for _, j := range index {
- if rv.Kind() == reflect.Ptr {
- if rv.IsNil() {
- rv.Set(reflect.New(rv.Type().Elem()))
- }
- // If a pointer, it must be a pointer to struct (based on typeInfo contract)
- rv = rv.Elem()
- }
- rv = rv.Field(j)
- }
- d.decodeValue(rv)
-}
-
-// --------------------------------------------------
-
-// short circuit functions for common maps and slices
-
-func (d *Decoder) decSliceIntf(v *[]interface{}, currEncodedType valueType, doNotReset bool) {
- _, containerLenS := decContLens(d.d, currEncodedType)
- s := *v
- if s == nil {
- s = make([]interface{}, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if doNotReset {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]interface{}, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- d.decode(&s[j])
- }
- *v = s
-}
-
-func (d *Decoder) decSliceInt64(v *[]int64, currEncodedType valueType, doNotReset bool) {
- _, containerLenS := decContLens(d.d, currEncodedType)
- s := *v
- if s == nil {
- s = make([]int64, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if doNotReset {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]int64, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- // d.decode(&s[j])
- d.d.initReadNext()
- s[j] = d.d.decodeInt(intBitsize)
- }
- *v = s
-}
-
-func (d *Decoder) decSliceUint64(v *[]uint64, currEncodedType valueType, doNotReset bool) {
- _, containerLenS := decContLens(d.d, currEncodedType)
- s := *v
- if s == nil {
- s = make([]uint64, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if doNotReset {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]uint64, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- // d.decode(&s[j])
- d.d.initReadNext()
- s[j] = d.d.decodeUint(intBitsize)
- }
- *v = s
-}
-
-func (d *Decoder) decSliceStr(v *[]string, currEncodedType valueType, doNotReset bool) {
- _, containerLenS := decContLens(d.d, currEncodedType)
- s := *v
- if s == nil {
- s = make([]string, containerLenS, containerLenS)
- } else if containerLenS > cap(s) {
- if doNotReset {
- decErr(msgDecCannotExpandArr, cap(s), containerLenS)
- }
- s = make([]string, containerLenS, containerLenS)
- copy(s, *v)
- } else if containerLenS > len(s) {
- s = s[:containerLenS]
- }
- for j := 0; j < containerLenS; j++ {
- // d.decode(&s[j])
- d.d.initReadNext()
- s[j] = d.d.decodeString()
- }
- *v = s
-}
-
-func (d *Decoder) decMapIntfIntf(v *map[interface{}]interface{}) {
- containerLen := d.d.readMapLen()
- m := *v
- if m == nil {
- m = make(map[interface{}]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- var mk interface{}
- d.decode(&mk)
- // special case if a byte array.
- if bv, bok := mk.([]byte); bok {
- mk = string(bv)
- }
- mv := m[mk]
- d.decode(&mv)
- m[mk] = mv
- }
-}
-
-func (d *Decoder) decMapInt64Intf(v *map[int64]interface{}) {
- containerLen := d.d.readMapLen()
- m := *v
- if m == nil {
- m = make(map[int64]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- d.d.initReadNext()
- mk := d.d.decodeInt(intBitsize)
- mv := m[mk]
- d.decode(&mv)
- m[mk] = mv
- }
-}
-
-func (d *Decoder) decMapUint64Intf(v *map[uint64]interface{}) {
- containerLen := d.d.readMapLen()
- m := *v
- if m == nil {
- m = make(map[uint64]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- d.d.initReadNext()
- mk := d.d.decodeUint(intBitsize)
- mv := m[mk]
- d.decode(&mv)
- m[mk] = mv
- }
-}
-
-func (d *Decoder) decMapStrIntf(v *map[string]interface{}) {
- containerLen := d.d.readMapLen()
- m := *v
- if m == nil {
- m = make(map[string]interface{}, containerLen)
- *v = m
- }
- for j := 0; j < containerLen; j++ {
- d.d.initReadNext()
- mk := d.d.decodeString()
- mv := m[mk]
- d.decode(&mv)
- m[mk] = mv
- }
-}
-
-// ----------------------------------------
-
-func decContLens(dd decDriver, currEncodedType valueType) (containerLen, containerLenS int) {
- if currEncodedType == valueTypeInvalid {
- currEncodedType = dd.currentEncodedType()
- }
- switch currEncodedType {
- case valueTypeArray:
- containerLen = dd.readArrayLen()
- containerLenS = containerLen
- case valueTypeMap:
- containerLen = dd.readMapLen()
- containerLenS = containerLen * 2
- default:
- decErr("Only encoded map or array can be decoded into a slice. (valueType: %0x)",
- currEncodedType)
- }
- return
-}
-
-func decErr(format string, params ...interface{}) {
- doPanic(msgTagDec, format, params...)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/encode.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/encode.go
deleted file mode 100644
index 4914be0c..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/encode.go
+++ /dev/null
@@ -1,1001 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import (
- "io"
- "reflect"
-)
-
-const (
- // Some tagging information for error messages.
- msgTagEnc = "codec.encoder"
- defEncByteBufSize = 1 << 6 // 4:16, 6:64, 8:256, 10:1024
- // maxTimeSecs32 = math.MaxInt32 / 60 / 24 / 366
-)
-
-// AsSymbolFlag defines what should be encoded as symbols.
-type AsSymbolFlag uint8
-
-const (
- // AsSymbolDefault is default.
- // Currently, this means only encode struct field names as symbols.
- // The default is subject to change.
- AsSymbolDefault AsSymbolFlag = iota
-
- // AsSymbolAll means encode anything which could be a symbol as a symbol.
- AsSymbolAll = 0xfe
-
- // AsSymbolNone means do not encode anything as a symbol.
- AsSymbolNone = 1 << iota
-
- // AsSymbolMapStringKeys means encode keys in map[string]XXX as symbols.
- AsSymbolMapStringKeysFlag
-
- // AsSymbolStructFieldName means encode struct field names as symbols.
- AsSymbolStructFieldNameFlag
-)
-
-// encWriter abstracting writing to a byte array or to an io.Writer.
-type encWriter interface {
- writeUint16(uint16)
- writeUint32(uint32)
- writeUint64(uint64)
- writeb([]byte)
- writestr(string)
- writen1(byte)
- writen2(byte, byte)
- atEndOfEncode()
-}
-
-// encDriver abstracts the actual codec (binc vs msgpack, etc)
-type encDriver interface {
- isBuiltinType(rt uintptr) bool
- encodeBuiltin(rt uintptr, v interface{})
- encodeNil()
- encodeInt(i int64)
- encodeUint(i uint64)
- encodeBool(b bool)
- encodeFloat32(f float32)
- encodeFloat64(f float64)
- encodeExtPreamble(xtag byte, length int)
- encodeArrayPreamble(length int)
- encodeMapPreamble(length int)
- encodeString(c charEncoding, v string)
- encodeSymbol(v string)
- encodeStringBytes(c charEncoding, v []byte)
- //TODO
- //encBignum(f *big.Int)
- //encStringRunes(c charEncoding, v []rune)
-}
-
-type ioEncWriterWriter interface {
- WriteByte(c byte) error
- WriteString(s string) (n int, err error)
- Write(p []byte) (n int, err error)
-}
-
-type ioEncStringWriter interface {
- WriteString(s string) (n int, err error)
-}
-
-type EncodeOptions struct {
- // Encode a struct as an array, and not as a map.
- StructToArray bool
-
- // AsSymbols defines what should be encoded as symbols.
- //
- // Encoding as symbols can reduce the encoded size significantly.
- //
- // However, during decoding, each string to be encoded as a symbol must
- // be checked to see if it has been seen before. Consequently, encoding time
- // will increase if using symbols, because string comparisons has a clear cost.
- //
- // Sample values:
- // AsSymbolNone
- // AsSymbolAll
- // AsSymbolMapStringKeys
- // AsSymbolMapStringKeysFlag | AsSymbolStructFieldNameFlag
- AsSymbols AsSymbolFlag
-}
-
-// ---------------------------------------------
-
-type simpleIoEncWriterWriter struct {
- w io.Writer
- bw io.ByteWriter
- sw ioEncStringWriter
-}
-
-func (o *simpleIoEncWriterWriter) WriteByte(c byte) (err error) {
- if o.bw != nil {
- return o.bw.WriteByte(c)
- }
- _, err = o.w.Write([]byte{c})
- return
-}
-
-func (o *simpleIoEncWriterWriter) WriteString(s string) (n int, err error) {
- if o.sw != nil {
- return o.sw.WriteString(s)
- }
- return o.w.Write([]byte(s))
-}
-
-func (o *simpleIoEncWriterWriter) Write(p []byte) (n int, err error) {
- return o.w.Write(p)
-}
-
-// ----------------------------------------
-
-// ioEncWriter implements encWriter and can write to an io.Writer implementation
-type ioEncWriter struct {
- w ioEncWriterWriter
- x [8]byte // temp byte array re-used internally for efficiency
-}
-
-func (z *ioEncWriter) writeUint16(v uint16) {
- bigen.PutUint16(z.x[:2], v)
- z.writeb(z.x[:2])
-}
-
-func (z *ioEncWriter) writeUint32(v uint32) {
- bigen.PutUint32(z.x[:4], v)
- z.writeb(z.x[:4])
-}
-
-func (z *ioEncWriter) writeUint64(v uint64) {
- bigen.PutUint64(z.x[:8], v)
- z.writeb(z.x[:8])
-}
-
-func (z *ioEncWriter) writeb(bs []byte) {
- if len(bs) == 0 {
- return
- }
- n, err := z.w.Write(bs)
- if err != nil {
- panic(err)
- }
- if n != len(bs) {
- encErr("write: Incorrect num bytes written. Expecting: %v, Wrote: %v", len(bs), n)
- }
-}
-
-func (z *ioEncWriter) writestr(s string) {
- n, err := z.w.WriteString(s)
- if err != nil {
- panic(err)
- }
- if n != len(s) {
- encErr("write: Incorrect num bytes written. Expecting: %v, Wrote: %v", len(s), n)
- }
-}
-
-func (z *ioEncWriter) writen1(b byte) {
- if err := z.w.WriteByte(b); err != nil {
- panic(err)
- }
-}
-
-func (z *ioEncWriter) writen2(b1 byte, b2 byte) {
- z.writen1(b1)
- z.writen1(b2)
-}
-
-func (z *ioEncWriter) atEndOfEncode() {}
-
-// ----------------------------------------
-
-// bytesEncWriter implements encWriter and can write to an byte slice.
-// It is used by Marshal function.
-type bytesEncWriter struct {
- b []byte
- c int // cursor
- out *[]byte // write out on atEndOfEncode
-}
-
-func (z *bytesEncWriter) writeUint16(v uint16) {
- c := z.grow(2)
- z.b[c] = byte(v >> 8)
- z.b[c+1] = byte(v)
-}
-
-func (z *bytesEncWriter) writeUint32(v uint32) {
- c := z.grow(4)
- z.b[c] = byte(v >> 24)
- z.b[c+1] = byte(v >> 16)
- z.b[c+2] = byte(v >> 8)
- z.b[c+3] = byte(v)
-}
-
-func (z *bytesEncWriter) writeUint64(v uint64) {
- c := z.grow(8)
- z.b[c] = byte(v >> 56)
- z.b[c+1] = byte(v >> 48)
- z.b[c+2] = byte(v >> 40)
- z.b[c+3] = byte(v >> 32)
- z.b[c+4] = byte(v >> 24)
- z.b[c+5] = byte(v >> 16)
- z.b[c+6] = byte(v >> 8)
- z.b[c+7] = byte(v)
-}
-
-func (z *bytesEncWriter) writeb(s []byte) {
- if len(s) == 0 {
- return
- }
- c := z.grow(len(s))
- copy(z.b[c:], s)
-}
-
-func (z *bytesEncWriter) writestr(s string) {
- c := z.grow(len(s))
- copy(z.b[c:], s)
-}
-
-func (z *bytesEncWriter) writen1(b1 byte) {
- c := z.grow(1)
- z.b[c] = b1
-}
-
-func (z *bytesEncWriter) writen2(b1 byte, b2 byte) {
- c := z.grow(2)
- z.b[c] = b1
- z.b[c+1] = b2
-}
-
-func (z *bytesEncWriter) atEndOfEncode() {
- *(z.out) = z.b[:z.c]
-}
-
-func (z *bytesEncWriter) grow(n int) (oldcursor int) {
- oldcursor = z.c
- z.c = oldcursor + n
- if z.c > cap(z.b) {
- // Tried using appendslice logic: (if cap < 1024, *2, else *1.25).
- // However, it was too expensive, causing too many iterations of copy.
- // Using bytes.Buffer model was much better (2*cap + n)
- bs := make([]byte, 2*cap(z.b)+n)
- copy(bs, z.b[:oldcursor])
- z.b = bs
- } else if z.c > len(z.b) {
- z.b = z.b[:cap(z.b)]
- }
- return
-}
-
-// ---------------------------------------------
-
-type encFnInfo struct {
- ti *typeInfo
- e *Encoder
- ee encDriver
- xfFn func(reflect.Value) ([]byte, error)
- xfTag byte
-}
-
-func (f *encFnInfo) builtin(rv reflect.Value) {
- f.ee.encodeBuiltin(f.ti.rtid, rv.Interface())
-}
-
-func (f *encFnInfo) rawExt(rv reflect.Value) {
- f.e.encRawExt(rv.Interface().(RawExt))
-}
-
-func (f *encFnInfo) ext(rv reflect.Value) {
- bs, fnerr := f.xfFn(rv)
- if fnerr != nil {
- panic(fnerr)
- }
- if bs == nil {
- f.ee.encodeNil()
- return
- }
- if f.e.hh.writeExt() {
- f.ee.encodeExtPreamble(f.xfTag, len(bs))
- f.e.w.writeb(bs)
- } else {
- f.ee.encodeStringBytes(c_RAW, bs)
- }
-
-}
-
-func (f *encFnInfo) binaryMarshal(rv reflect.Value) {
- var bm binaryMarshaler
- if f.ti.mIndir == 0 {
- bm = rv.Interface().(binaryMarshaler)
- } else if f.ti.mIndir == -1 {
- bm = rv.Addr().Interface().(binaryMarshaler)
- } else {
- for j, k := int8(0), f.ti.mIndir; j < k; j++ {
- if rv.IsNil() {
- f.ee.encodeNil()
- return
- }
- rv = rv.Elem()
- }
- bm = rv.Interface().(binaryMarshaler)
- }
- // debugf(">>>> binaryMarshaler: %T", rv.Interface())
- bs, fnerr := bm.MarshalBinary()
- if fnerr != nil {
- panic(fnerr)
- }
- if bs == nil {
- f.ee.encodeNil()
- } else {
- f.ee.encodeStringBytes(c_RAW, bs)
- }
-}
-
-func (f *encFnInfo) kBool(rv reflect.Value) {
- f.ee.encodeBool(rv.Bool())
-}
-
-func (f *encFnInfo) kString(rv reflect.Value) {
- f.ee.encodeString(c_UTF8, rv.String())
-}
-
-func (f *encFnInfo) kFloat64(rv reflect.Value) {
- f.ee.encodeFloat64(rv.Float())
-}
-
-func (f *encFnInfo) kFloat32(rv reflect.Value) {
- f.ee.encodeFloat32(float32(rv.Float()))
-}
-
-func (f *encFnInfo) kInt(rv reflect.Value) {
- f.ee.encodeInt(rv.Int())
-}
-
-func (f *encFnInfo) kUint(rv reflect.Value) {
- f.ee.encodeUint(rv.Uint())
-}
-
-func (f *encFnInfo) kInvalid(rv reflect.Value) {
- f.ee.encodeNil()
-}
-
-func (f *encFnInfo) kErr(rv reflect.Value) {
- encErr("Unsupported kind: %s, for: %#v", rv.Kind(), rv)
-}
-
-func (f *encFnInfo) kSlice(rv reflect.Value) {
- if rv.IsNil() {
- f.ee.encodeNil()
- return
- }
-
- if shortCircuitReflectToFastPath {
- switch f.ti.rtid {
- case intfSliceTypId:
- f.e.encSliceIntf(rv.Interface().([]interface{}))
- return
- case strSliceTypId:
- f.e.encSliceStr(rv.Interface().([]string))
- return
- case uint64SliceTypId:
- f.e.encSliceUint64(rv.Interface().([]uint64))
- return
- case int64SliceTypId:
- f.e.encSliceInt64(rv.Interface().([]int64))
- return
- }
- }
-
- // If in this method, then there was no extension function defined.
- // So it's okay to treat as []byte.
- if f.ti.rtid == uint8SliceTypId || f.ti.rt.Elem().Kind() == reflect.Uint8 {
- f.ee.encodeStringBytes(c_RAW, rv.Bytes())
- return
- }
-
- l := rv.Len()
- if f.ti.mbs {
- if l%2 == 1 {
- encErr("mapBySlice: invalid length (must be divisible by 2): %v", l)
- }
- f.ee.encodeMapPreamble(l / 2)
- } else {
- f.ee.encodeArrayPreamble(l)
- }
- if l == 0 {
- return
- }
- for j := 0; j < l; j++ {
- // TODO: Consider perf implication of encoding odd index values as symbols if type is string
- f.e.encodeValue(rv.Index(j))
- }
-}
-
-func (f *encFnInfo) kArray(rv reflect.Value) {
- // We cannot share kSlice method, because the array may be non-addressable.
- // E.g. type struct S{B [2]byte}; Encode(S{}) will bomb on "panic: slice of unaddressable array".
- // So we have to duplicate the functionality here.
- // f.e.encodeValue(rv.Slice(0, rv.Len()))
- // f.kSlice(rv.Slice(0, rv.Len()))
-
- l := rv.Len()
- // Handle an array of bytes specially (in line with what is done for slices)
- if f.ti.rt.Elem().Kind() == reflect.Uint8 {
- if l == 0 {
- f.ee.encodeStringBytes(c_RAW, nil)
- return
- }
- var bs []byte
- if rv.CanAddr() {
- bs = rv.Slice(0, l).Bytes()
- } else {
- bs = make([]byte, l)
- for i := 0; i < l; i++ {
- bs[i] = byte(rv.Index(i).Uint())
- }
- }
- f.ee.encodeStringBytes(c_RAW, bs)
- return
- }
-
- if f.ti.mbs {
- if l%2 == 1 {
- encErr("mapBySlice: invalid length (must be divisible by 2): %v", l)
- }
- f.ee.encodeMapPreamble(l / 2)
- } else {
- f.ee.encodeArrayPreamble(l)
- }
- if l == 0 {
- return
- }
- for j := 0; j < l; j++ {
- // TODO: Consider perf implication of encoding odd index values as symbols if type is string
- f.e.encodeValue(rv.Index(j))
- }
-}
-
-func (f *encFnInfo) kStruct(rv reflect.Value) {
- fti := f.ti
- newlen := len(fti.sfi)
- rvals := make([]reflect.Value, newlen)
- var encnames []string
- e := f.e
- tisfi := fti.sfip
- toMap := !(fti.toArray || e.h.StructToArray)
- // if toMap, use the sorted array. If toArray, use unsorted array (to match sequence in struct)
- if toMap {
- tisfi = fti.sfi
- encnames = make([]string, newlen)
- }
- newlen = 0
- for _, si := range tisfi {
- if si.i != -1 {
- rvals[newlen] = rv.Field(int(si.i))
- } else {
- rvals[newlen] = rv.FieldByIndex(si.is)
- }
- if toMap {
- if si.omitEmpty && isEmptyValue(rvals[newlen]) {
- continue
- }
- encnames[newlen] = si.encName
- } else {
- if si.omitEmpty && isEmptyValue(rvals[newlen]) {
- rvals[newlen] = reflect.Value{} //encode as nil
- }
- }
- newlen++
- }
-
- // debugf(">>>> kStruct: newlen: %v", newlen)
- if toMap {
- ee := f.ee //don't dereference everytime
- ee.encodeMapPreamble(newlen)
- // asSymbols := e.h.AsSymbols&AsSymbolStructFieldNameFlag != 0
- asSymbols := e.h.AsSymbols == AsSymbolDefault || e.h.AsSymbols&AsSymbolStructFieldNameFlag != 0
- for j := 0; j < newlen; j++ {
- if asSymbols {
- ee.encodeSymbol(encnames[j])
- } else {
- ee.encodeString(c_UTF8, encnames[j])
- }
- e.encodeValue(rvals[j])
- }
- } else {
- f.ee.encodeArrayPreamble(newlen)
- for j := 0; j < newlen; j++ {
- e.encodeValue(rvals[j])
- }
- }
-}
-
-// func (f *encFnInfo) kPtr(rv reflect.Value) {
-// debugf(">>>>>>> ??? encode kPtr called - shouldn't get called")
-// if rv.IsNil() {
-// f.ee.encodeNil()
-// return
-// }
-// f.e.encodeValue(rv.Elem())
-// }
-
-func (f *encFnInfo) kInterface(rv reflect.Value) {
- if rv.IsNil() {
- f.ee.encodeNil()
- return
- }
- f.e.encodeValue(rv.Elem())
-}
-
-func (f *encFnInfo) kMap(rv reflect.Value) {
- if rv.IsNil() {
- f.ee.encodeNil()
- return
- }
-
- if shortCircuitReflectToFastPath {
- switch f.ti.rtid {
- case mapIntfIntfTypId:
- f.e.encMapIntfIntf(rv.Interface().(map[interface{}]interface{}))
- return
- case mapStrIntfTypId:
- f.e.encMapStrIntf(rv.Interface().(map[string]interface{}))
- return
- case mapStrStrTypId:
- f.e.encMapStrStr(rv.Interface().(map[string]string))
- return
- case mapInt64IntfTypId:
- f.e.encMapInt64Intf(rv.Interface().(map[int64]interface{}))
- return
- case mapUint64IntfTypId:
- f.e.encMapUint64Intf(rv.Interface().(map[uint64]interface{}))
- return
- }
- }
-
- l := rv.Len()
- f.ee.encodeMapPreamble(l)
- if l == 0 {
- return
- }
- // keyTypeIsString := f.ti.rt.Key().Kind() == reflect.String
- keyTypeIsString := f.ti.rt.Key() == stringTyp
- var asSymbols bool
- if keyTypeIsString {
- asSymbols = f.e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
- }
- mks := rv.MapKeys()
- // for j, lmks := 0, len(mks); j < lmks; j++ {
- for j := range mks {
- if keyTypeIsString {
- if asSymbols {
- f.ee.encodeSymbol(mks[j].String())
- } else {
- f.ee.encodeString(c_UTF8, mks[j].String())
- }
- } else {
- f.e.encodeValue(mks[j])
- }
- f.e.encodeValue(rv.MapIndex(mks[j]))
- }
-
-}
-
-// --------------------------------------------------
-
-// encFn encapsulates the captured variables and the encode function.
-// This way, we only do some calculations one times, and pass to the
-// code block that should be called (encapsulated in a function)
-// instead of executing the checks every time.
-type encFn struct {
- i *encFnInfo
- f func(*encFnInfo, reflect.Value)
-}
-
-// --------------------------------------------------
-
-// An Encoder writes an object to an output stream in the codec format.
-type Encoder struct {
- w encWriter
- e encDriver
- h *BasicHandle
- hh Handle
- f map[uintptr]encFn
- x []uintptr
- s []encFn
-}
-
-// NewEncoder returns an Encoder for encoding into an io.Writer.
-//
-// For efficiency, Users are encouraged to pass in a memory buffered writer
-// (eg bufio.Writer, bytes.Buffer).
-func NewEncoder(w io.Writer, h Handle) *Encoder {
- ww, ok := w.(ioEncWriterWriter)
- if !ok {
- sww := simpleIoEncWriterWriter{w: w}
- sww.bw, _ = w.(io.ByteWriter)
- sww.sw, _ = w.(ioEncStringWriter)
- ww = &sww
- //ww = bufio.NewWriterSize(w, defEncByteBufSize)
- }
- z := ioEncWriter{
- w: ww,
- }
- return &Encoder{w: &z, hh: h, h: h.getBasicHandle(), e: h.newEncDriver(&z)}
-}
-
-// NewEncoderBytes returns an encoder for encoding directly and efficiently
-// into a byte slice, using zero-copying to temporary slices.
-//
-// It will potentially replace the output byte slice pointed to.
-// After encoding, the out parameter contains the encoded contents.
-func NewEncoderBytes(out *[]byte, h Handle) *Encoder {
- in := *out
- if in == nil {
- in = make([]byte, defEncByteBufSize)
- }
- z := bytesEncWriter{
- b: in,
- out: out,
- }
- return &Encoder{w: &z, hh: h, h: h.getBasicHandle(), e: h.newEncDriver(&z)}
-}
-
-// Encode writes an object into a stream in the codec format.
-//
-// Encoding can be configured via the "codec" struct tag for the fields.
-//
-// The "codec" key in struct field's tag value is the key name,
-// followed by an optional comma and options.
-//
-// To set an option on all fields (e.g. omitempty on all fields), you
-// can create a field called _struct, and set flags on it.
-//
-// Struct values "usually" encode as maps. Each exported struct field is encoded unless:
-// - the field's codec tag is "-", OR
-// - the field is empty and its codec tag specifies the "omitempty" option.
-//
-// When encoding as a map, the first string in the tag (before the comma)
-// is the map key string to use when encoding.
-//
-// However, struct values may encode as arrays. This happens when:
-// - StructToArray Encode option is set, OR
-// - the codec tag on the _struct field sets the "toarray" option
-//
-// Values with types that implement MapBySlice are encoded as stream maps.
-//
-// The empty values (for omitempty option) are false, 0, any nil pointer
-// or interface value, and any array, slice, map, or string of length zero.
-//
-// Anonymous fields are encoded inline if no struct tag is present.
-// Else they are encoded as regular fields.
-//
-// Examples:
-//
-// type MyStruct struct {
-// _struct bool `codec:",omitempty"` //set omitempty for every field
-// Field1 string `codec:"-"` //skip this field
-// Field2 int `codec:"myName"` //Use key "myName" in encode stream
-// Field3 int32 `codec:",omitempty"` //use key "Field3". Omit if empty.
-// Field4 bool `codec:"f4,omitempty"` //use key "f4". Omit if empty.
-// ...
-// }
-//
-// type MyStruct struct {
-// _struct bool `codec:",omitempty,toarray"` //set omitempty for every field
-// //and encode struct as an array
-// }
-//
-// The mode of encoding is based on the type of the value. When a value is seen:
-// - If an extension is registered for it, call that extension function
-// - If it implements BinaryMarshaler, call its MarshalBinary() (data []byte, err error)
-// - Else encode it based on its reflect.Kind
-//
-// Note that struct field names and keys in map[string]XXX will be treated as symbols.
-// Some formats support symbols (e.g. binc) and will properly encode the string
-// only once in the stream, and use a tag to refer to it thereafter.
-func (e *Encoder) Encode(v interface{}) (err error) {
- defer panicToErr(&err)
- e.encode(v)
- e.w.atEndOfEncode()
- return
-}
-
-func (e *Encoder) encode(iv interface{}) {
- switch v := iv.(type) {
- case nil:
- e.e.encodeNil()
-
- case reflect.Value:
- e.encodeValue(v)
-
- case string:
- e.e.encodeString(c_UTF8, v)
- case bool:
- e.e.encodeBool(v)
- case int:
- e.e.encodeInt(int64(v))
- case int8:
- e.e.encodeInt(int64(v))
- case int16:
- e.e.encodeInt(int64(v))
- case int32:
- e.e.encodeInt(int64(v))
- case int64:
- e.e.encodeInt(v)
- case uint:
- e.e.encodeUint(uint64(v))
- case uint8:
- e.e.encodeUint(uint64(v))
- case uint16:
- e.e.encodeUint(uint64(v))
- case uint32:
- e.e.encodeUint(uint64(v))
- case uint64:
- e.e.encodeUint(v)
- case float32:
- e.e.encodeFloat32(v)
- case float64:
- e.e.encodeFloat64(v)
-
- case []interface{}:
- e.encSliceIntf(v)
- case []string:
- e.encSliceStr(v)
- case []int64:
- e.encSliceInt64(v)
- case []uint64:
- e.encSliceUint64(v)
- case []uint8:
- e.e.encodeStringBytes(c_RAW, v)
-
- case map[interface{}]interface{}:
- e.encMapIntfIntf(v)
- case map[string]interface{}:
- e.encMapStrIntf(v)
- case map[string]string:
- e.encMapStrStr(v)
- case map[int64]interface{}:
- e.encMapInt64Intf(v)
- case map[uint64]interface{}:
- e.encMapUint64Intf(v)
-
- case *string:
- e.e.encodeString(c_UTF8, *v)
- case *bool:
- e.e.encodeBool(*v)
- case *int:
- e.e.encodeInt(int64(*v))
- case *int8:
- e.e.encodeInt(int64(*v))
- case *int16:
- e.e.encodeInt(int64(*v))
- case *int32:
- e.e.encodeInt(int64(*v))
- case *int64:
- e.e.encodeInt(*v)
- case *uint:
- e.e.encodeUint(uint64(*v))
- case *uint8:
- e.e.encodeUint(uint64(*v))
- case *uint16:
- e.e.encodeUint(uint64(*v))
- case *uint32:
- e.e.encodeUint(uint64(*v))
- case *uint64:
- e.e.encodeUint(*v)
- case *float32:
- e.e.encodeFloat32(*v)
- case *float64:
- e.e.encodeFloat64(*v)
-
- case *[]interface{}:
- e.encSliceIntf(*v)
- case *[]string:
- e.encSliceStr(*v)
- case *[]int64:
- e.encSliceInt64(*v)
- case *[]uint64:
- e.encSliceUint64(*v)
- case *[]uint8:
- e.e.encodeStringBytes(c_RAW, *v)
-
- case *map[interface{}]interface{}:
- e.encMapIntfIntf(*v)
- case *map[string]interface{}:
- e.encMapStrIntf(*v)
- case *map[string]string:
- e.encMapStrStr(*v)
- case *map[int64]interface{}:
- e.encMapInt64Intf(*v)
- case *map[uint64]interface{}:
- e.encMapUint64Intf(*v)
-
- default:
- e.encodeValue(reflect.ValueOf(iv))
- }
-}
-
-func (e *Encoder) encodeValue(rv reflect.Value) {
- for rv.Kind() == reflect.Ptr {
- if rv.IsNil() {
- e.e.encodeNil()
- return
- }
- rv = rv.Elem()
- }
-
- rt := rv.Type()
- rtid := reflect.ValueOf(rt).Pointer()
-
- // if e.f == nil && e.s == nil { debugf("---->Creating new enc f map for type: %v\n", rt) }
- var fn encFn
- var ok bool
- if useMapForCodecCache {
- fn, ok = e.f[rtid]
- } else {
- for i, v := range e.x {
- if v == rtid {
- fn, ok = e.s[i], true
- break
- }
- }
- }
- if !ok {
- // debugf("\tCreating new enc fn for type: %v\n", rt)
- fi := encFnInfo{ti: getTypeInfo(rtid, rt), e: e, ee: e.e}
- fn.i = &fi
- if rtid == rawExtTypId {
- fn.f = (*encFnInfo).rawExt
- } else if e.e.isBuiltinType(rtid) {
- fn.f = (*encFnInfo).builtin
- } else if xfTag, xfFn := e.h.getEncodeExt(rtid); xfFn != nil {
- fi.xfTag, fi.xfFn = xfTag, xfFn
- fn.f = (*encFnInfo).ext
- } else if supportBinaryMarshal && fi.ti.m {
- fn.f = (*encFnInfo).binaryMarshal
- } else {
- switch rk := rt.Kind(); rk {
- case reflect.Bool:
- fn.f = (*encFnInfo).kBool
- case reflect.String:
- fn.f = (*encFnInfo).kString
- case reflect.Float64:
- fn.f = (*encFnInfo).kFloat64
- case reflect.Float32:
- fn.f = (*encFnInfo).kFloat32
- case reflect.Int, reflect.Int8, reflect.Int64, reflect.Int32, reflect.Int16:
- fn.f = (*encFnInfo).kInt
- case reflect.Uint8, reflect.Uint64, reflect.Uint, reflect.Uint32, reflect.Uint16:
- fn.f = (*encFnInfo).kUint
- case reflect.Invalid:
- fn.f = (*encFnInfo).kInvalid
- case reflect.Slice:
- fn.f = (*encFnInfo).kSlice
- case reflect.Array:
- fn.f = (*encFnInfo).kArray
- case reflect.Struct:
- fn.f = (*encFnInfo).kStruct
- // case reflect.Ptr:
- // fn.f = (*encFnInfo).kPtr
- case reflect.Interface:
- fn.f = (*encFnInfo).kInterface
- case reflect.Map:
- fn.f = (*encFnInfo).kMap
- default:
- fn.f = (*encFnInfo).kErr
- }
- }
- if useMapForCodecCache {
- if e.f == nil {
- e.f = make(map[uintptr]encFn, 16)
- }
- e.f[rtid] = fn
- } else {
- e.s = append(e.s, fn)
- e.x = append(e.x, rtid)
- }
- }
-
- fn.f(fn.i, rv)
-
-}
-
-func (e *Encoder) encRawExt(re RawExt) {
- if re.Data == nil {
- e.e.encodeNil()
- return
- }
- if e.hh.writeExt() {
- e.e.encodeExtPreamble(re.Tag, len(re.Data))
- e.w.writeb(re.Data)
- } else {
- e.e.encodeStringBytes(c_RAW, re.Data)
- }
-}
-
-// ---------------------------------------------
-// short circuit functions for common maps and slices
-
-func (e *Encoder) encSliceIntf(v []interface{}) {
- e.e.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- e.encode(v2)
- }
-}
-
-func (e *Encoder) encSliceStr(v []string) {
- e.e.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- e.e.encodeString(c_UTF8, v2)
- }
-}
-
-func (e *Encoder) encSliceInt64(v []int64) {
- e.e.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- e.e.encodeInt(v2)
- }
-}
-
-func (e *Encoder) encSliceUint64(v []uint64) {
- e.e.encodeArrayPreamble(len(v))
- for _, v2 := range v {
- e.e.encodeUint(v2)
- }
-}
-
-func (e *Encoder) encMapStrStr(v map[string]string) {
- e.e.encodeMapPreamble(len(v))
- asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
- for k2, v2 := range v {
- if asSymbols {
- e.e.encodeSymbol(k2)
- } else {
- e.e.encodeString(c_UTF8, k2)
- }
- e.e.encodeString(c_UTF8, v2)
- }
-}
-
-func (e *Encoder) encMapStrIntf(v map[string]interface{}) {
- e.e.encodeMapPreamble(len(v))
- asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
- for k2, v2 := range v {
- if asSymbols {
- e.e.encodeSymbol(k2)
- } else {
- e.e.encodeString(c_UTF8, k2)
- }
- e.encode(v2)
- }
-}
-
-func (e *Encoder) encMapInt64Intf(v map[int64]interface{}) {
- e.e.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- e.e.encodeInt(k2)
- e.encode(v2)
- }
-}
-
-func (e *Encoder) encMapUint64Intf(v map[uint64]interface{}) {
- e.e.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- e.e.encodeUint(uint64(k2))
- e.encode(v2)
- }
-}
-
-func (e *Encoder) encMapIntfIntf(v map[interface{}]interface{}) {
- e.e.encodeMapPreamble(len(v))
- for k2, v2 := range v {
- e.encode(k2)
- e.encode(v2)
- }
-}
-
-// ----------------------------------------
-
-func encErr(format string, params ...interface{}) {
- doPanic(msgTagEnc, format, params...)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper.go
deleted file mode 100644
index e6dc0563..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper.go
+++ /dev/null
@@ -1,589 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-// Contains code shared by both encode and decode.
-
-import (
- "encoding/binary"
- "fmt"
- "math"
- "reflect"
- "sort"
- "strings"
- "sync"
- "time"
- "unicode"
- "unicode/utf8"
-)
-
-const (
- structTagName = "codec"
-
- // Support
- // encoding.BinaryMarshaler: MarshalBinary() (data []byte, err error)
- // encoding.BinaryUnmarshaler: UnmarshalBinary(data []byte) error
- // This constant flag will enable or disable it.
- supportBinaryMarshal = true
-
- // Each Encoder or Decoder uses a cache of functions based on conditionals,
- // so that the conditionals are not run every time.
- //
- // Either a map or a slice is used to keep track of the functions.
- // The map is more natural, but has a higher cost than a slice/array.
- // This flag (useMapForCodecCache) controls which is used.
- useMapForCodecCache = false
-
- // For some common container types, we can short-circuit an elaborate
- // reflection dance and call encode/decode directly.
- // The currently supported types are:
- // - slices of strings, or id's (int64,uint64) or interfaces.
- // - maps of str->str, str->intf, id(int64,uint64)->intf, intf->intf
- shortCircuitReflectToFastPath = true
-
- // for debugging, set this to false, to catch panic traces.
- // Note that this will always cause rpc tests to fail, since they need io.EOF sent via panic.
- recoverPanicToErr = true
-)
-
-type charEncoding uint8
-
-const (
- c_RAW charEncoding = iota
- c_UTF8
- c_UTF16LE
- c_UTF16BE
- c_UTF32LE
- c_UTF32BE
-)
-
-// valueType is the stream type
-type valueType uint8
-
-const (
- valueTypeUnset valueType = iota
- valueTypeNil
- valueTypeInt
- valueTypeUint
- valueTypeFloat
- valueTypeBool
- valueTypeString
- valueTypeSymbol
- valueTypeBytes
- valueTypeMap
- valueTypeArray
- valueTypeTimestamp
- valueTypeExt
-
- valueTypeInvalid = 0xff
-)
-
-var (
- bigen = binary.BigEndian
- structInfoFieldName = "_struct"
-
- cachedTypeInfo = make(map[uintptr]*typeInfo, 4)
- cachedTypeInfoMutex sync.RWMutex
-
- intfSliceTyp = reflect.TypeOf([]interface{}(nil))
- intfTyp = intfSliceTyp.Elem()
-
- strSliceTyp = reflect.TypeOf([]string(nil))
- boolSliceTyp = reflect.TypeOf([]bool(nil))
- uintSliceTyp = reflect.TypeOf([]uint(nil))
- uint8SliceTyp = reflect.TypeOf([]uint8(nil))
- uint16SliceTyp = reflect.TypeOf([]uint16(nil))
- uint32SliceTyp = reflect.TypeOf([]uint32(nil))
- uint64SliceTyp = reflect.TypeOf([]uint64(nil))
- intSliceTyp = reflect.TypeOf([]int(nil))
- int8SliceTyp = reflect.TypeOf([]int8(nil))
- int16SliceTyp = reflect.TypeOf([]int16(nil))
- int32SliceTyp = reflect.TypeOf([]int32(nil))
- int64SliceTyp = reflect.TypeOf([]int64(nil))
- float32SliceTyp = reflect.TypeOf([]float32(nil))
- float64SliceTyp = reflect.TypeOf([]float64(nil))
-
- mapIntfIntfTyp = reflect.TypeOf(map[interface{}]interface{}(nil))
- mapStrIntfTyp = reflect.TypeOf(map[string]interface{}(nil))
- mapStrStrTyp = reflect.TypeOf(map[string]string(nil))
-
- mapIntIntfTyp = reflect.TypeOf(map[int]interface{}(nil))
- mapInt64IntfTyp = reflect.TypeOf(map[int64]interface{}(nil))
- mapUintIntfTyp = reflect.TypeOf(map[uint]interface{}(nil))
- mapUint64IntfTyp = reflect.TypeOf(map[uint64]interface{}(nil))
-
- stringTyp = reflect.TypeOf("")
- timeTyp = reflect.TypeOf(time.Time{})
- rawExtTyp = reflect.TypeOf(RawExt{})
-
- mapBySliceTyp = reflect.TypeOf((*MapBySlice)(nil)).Elem()
- binaryMarshalerTyp = reflect.TypeOf((*binaryMarshaler)(nil)).Elem()
- binaryUnmarshalerTyp = reflect.TypeOf((*binaryUnmarshaler)(nil)).Elem()
-
- rawExtTypId = reflect.ValueOf(rawExtTyp).Pointer()
- intfTypId = reflect.ValueOf(intfTyp).Pointer()
- timeTypId = reflect.ValueOf(timeTyp).Pointer()
-
- intfSliceTypId = reflect.ValueOf(intfSliceTyp).Pointer()
- strSliceTypId = reflect.ValueOf(strSliceTyp).Pointer()
-
- boolSliceTypId = reflect.ValueOf(boolSliceTyp).Pointer()
- uintSliceTypId = reflect.ValueOf(uintSliceTyp).Pointer()
- uint8SliceTypId = reflect.ValueOf(uint8SliceTyp).Pointer()
- uint16SliceTypId = reflect.ValueOf(uint16SliceTyp).Pointer()
- uint32SliceTypId = reflect.ValueOf(uint32SliceTyp).Pointer()
- uint64SliceTypId = reflect.ValueOf(uint64SliceTyp).Pointer()
- intSliceTypId = reflect.ValueOf(intSliceTyp).Pointer()
- int8SliceTypId = reflect.ValueOf(int8SliceTyp).Pointer()
- int16SliceTypId = reflect.ValueOf(int16SliceTyp).Pointer()
- int32SliceTypId = reflect.ValueOf(int32SliceTyp).Pointer()
- int64SliceTypId = reflect.ValueOf(int64SliceTyp).Pointer()
- float32SliceTypId = reflect.ValueOf(float32SliceTyp).Pointer()
- float64SliceTypId = reflect.ValueOf(float64SliceTyp).Pointer()
-
- mapStrStrTypId = reflect.ValueOf(mapStrStrTyp).Pointer()
- mapIntfIntfTypId = reflect.ValueOf(mapIntfIntfTyp).Pointer()
- mapStrIntfTypId = reflect.ValueOf(mapStrIntfTyp).Pointer()
- mapIntIntfTypId = reflect.ValueOf(mapIntIntfTyp).Pointer()
- mapInt64IntfTypId = reflect.ValueOf(mapInt64IntfTyp).Pointer()
- mapUintIntfTypId = reflect.ValueOf(mapUintIntfTyp).Pointer()
- mapUint64IntfTypId = reflect.ValueOf(mapUint64IntfTyp).Pointer()
- // Id = reflect.ValueOf().Pointer()
- // mapBySliceTypId = reflect.ValueOf(mapBySliceTyp).Pointer()
-
- binaryMarshalerTypId = reflect.ValueOf(binaryMarshalerTyp).Pointer()
- binaryUnmarshalerTypId = reflect.ValueOf(binaryUnmarshalerTyp).Pointer()
-
- intBitsize uint8 = uint8(reflect.TypeOf(int(0)).Bits())
- uintBitsize uint8 = uint8(reflect.TypeOf(uint(0)).Bits())
-
- bsAll0x00 = []byte{0, 0, 0, 0, 0, 0, 0, 0}
- bsAll0xff = []byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}
-)
-
-type binaryUnmarshaler interface {
- UnmarshalBinary(data []byte) error
-}
-
-type binaryMarshaler interface {
- MarshalBinary() (data []byte, err error)
-}
-
-// MapBySlice represents a slice which should be encoded as a map in the stream.
-// The slice contains a sequence of key-value pairs.
-type MapBySlice interface {
- MapBySlice()
-}
-
-// WARNING: DO NOT USE DIRECTLY. EXPORTED FOR GODOC BENEFIT. WILL BE REMOVED.
-//
-// BasicHandle encapsulates the common options and extension functions.
-type BasicHandle struct {
- extHandle
- EncodeOptions
- DecodeOptions
-}
-
-// Handle is the interface for a specific encoding format.
-//
-// Typically, a Handle is pre-configured before first time use,
-// and not modified while in use. Such a pre-configured Handle
-// is safe for concurrent access.
-type Handle interface {
- writeExt() bool
- getBasicHandle() *BasicHandle
- newEncDriver(w encWriter) encDriver
- newDecDriver(r decReader) decDriver
-}
-
-// RawExt represents raw unprocessed extension data.
-type RawExt struct {
- Tag byte
- Data []byte
-}
-
-type extTypeTagFn struct {
- rtid uintptr
- rt reflect.Type
- tag byte
- encFn func(reflect.Value) ([]byte, error)
- decFn func(reflect.Value, []byte) error
-}
-
-type extHandle []*extTypeTagFn
-
-// AddExt registers an encode and decode function for a reflect.Type.
-// Note that the type must be a named type, and specifically not
-// a pointer or Interface. An error is returned if that is not honored.
-//
-// To Deregister an ext, call AddExt with 0 tag, nil encfn and nil decfn.
-func (o *extHandle) AddExt(
- rt reflect.Type,
- tag byte,
- encfn func(reflect.Value) ([]byte, error),
- decfn func(reflect.Value, []byte) error,
-) (err error) {
- // o is a pointer, because we may need to initialize it
- if rt.PkgPath() == "" || rt.Kind() == reflect.Interface {
- err = fmt.Errorf("codec.Handle.AddExt: Takes named type, especially not a pointer or interface: %T",
- reflect.Zero(rt).Interface())
- return
- }
-
- // o cannot be nil, since it is always embedded in a Handle.
- // if nil, let it panic.
- // if o == nil {
- // err = errors.New("codec.Handle.AddExt: extHandle cannot be a nil pointer.")
- // return
- // }
-
- rtid := reflect.ValueOf(rt).Pointer()
- for _, v := range *o {
- if v.rtid == rtid {
- v.tag, v.encFn, v.decFn = tag, encfn, decfn
- return
- }
- }
-
- *o = append(*o, &extTypeTagFn{rtid, rt, tag, encfn, decfn})
- return
-}
-
-func (o extHandle) getExt(rtid uintptr) *extTypeTagFn {
- for _, v := range o {
- if v.rtid == rtid {
- return v
- }
- }
- return nil
-}
-
-func (o extHandle) getExtForTag(tag byte) *extTypeTagFn {
- for _, v := range o {
- if v.tag == tag {
- return v
- }
- }
- return nil
-}
-
-func (o extHandle) getDecodeExtForTag(tag byte) (
- rv reflect.Value, fn func(reflect.Value, []byte) error) {
- if x := o.getExtForTag(tag); x != nil {
- // ext is only registered for base
- rv = reflect.New(x.rt).Elem()
- fn = x.decFn
- }
- return
-}
-
-func (o extHandle) getDecodeExt(rtid uintptr) (tag byte, fn func(reflect.Value, []byte) error) {
- if x := o.getExt(rtid); x != nil {
- tag = x.tag
- fn = x.decFn
- }
- return
-}
-
-func (o extHandle) getEncodeExt(rtid uintptr) (tag byte, fn func(reflect.Value) ([]byte, error)) {
- if x := o.getExt(rtid); x != nil {
- tag = x.tag
- fn = x.encFn
- }
- return
-}
-
-type structFieldInfo struct {
- encName string // encode name
-
- // only one of 'i' or 'is' can be set. If 'i' is -1, then 'is' has been set.
-
- is []int // (recursive/embedded) field index in struct
- i int16 // field index in struct
- omitEmpty bool
- toArray bool // if field is _struct, is the toArray set?
-
- // tag string // tag
- // name string // field name
- // encNameBs []byte // encoded name as byte stream
- // ikind int // kind of the field as an int i.e. int(reflect.Kind)
-}
-
-func parseStructFieldInfo(fname string, stag string) *structFieldInfo {
- if fname == "" {
- panic("parseStructFieldInfo: No Field Name")
- }
- si := structFieldInfo{
- // name: fname,
- encName: fname,
- // tag: stag,
- }
-
- if stag != "" {
- for i, s := range strings.Split(stag, ",") {
- if i == 0 {
- if s != "" {
- si.encName = s
- }
- } else {
- switch s {
- case "omitempty":
- si.omitEmpty = true
- case "toarray":
- si.toArray = true
- }
- }
- }
- }
- // si.encNameBs = []byte(si.encName)
- return &si
-}
-
-type sfiSortedByEncName []*structFieldInfo
-
-func (p sfiSortedByEncName) Len() int {
- return len(p)
-}
-
-func (p sfiSortedByEncName) Less(i, j int) bool {
- return p[i].encName < p[j].encName
-}
-
-func (p sfiSortedByEncName) Swap(i, j int) {
- p[i], p[j] = p[j], p[i]
-}
-
-// typeInfo keeps information about each type referenced in the encode/decode sequence.
-//
-// During an encode/decode sequence, we work as below:
-// - If base is a built in type, en/decode base value
-// - If base is registered as an extension, en/decode base value
-// - If type is binary(M/Unm)arshaler, call Binary(M/Unm)arshal method
-// - Else decode appropriately based on the reflect.Kind
-type typeInfo struct {
- sfi []*structFieldInfo // sorted. Used when enc/dec struct to map.
- sfip []*structFieldInfo // unsorted. Used when enc/dec struct to array.
-
- rt reflect.Type
- rtid uintptr
-
- // baseId gives pointer to the base reflect.Type, after deferencing
- // the pointers. E.g. base type of ***time.Time is time.Time.
- base reflect.Type
- baseId uintptr
- baseIndir int8 // number of indirections to get to base
-
- mbs bool // base type (T or *T) is a MapBySlice
-
- m bool // base type (T or *T) is a binaryMarshaler
- unm bool // base type (T or *T) is a binaryUnmarshaler
- mIndir int8 // number of indirections to get to binaryMarshaler type
- unmIndir int8 // number of indirections to get to binaryUnmarshaler type
- toArray bool // whether this (struct) type should be encoded as an array
-}
-
-func (ti *typeInfo) indexForEncName(name string) int {
- //tisfi := ti.sfi
- const binarySearchThreshold = 16
- if sfilen := len(ti.sfi); sfilen < binarySearchThreshold {
- // linear search. faster than binary search in my testing up to 16-field structs.
- for i, si := range ti.sfi {
- if si.encName == name {
- return i
- }
- }
- } else {
- // binary search. adapted from sort/search.go.
- h, i, j := 0, 0, sfilen
- for i < j {
- h = i + (j-i)/2
- if ti.sfi[h].encName < name {
- i = h + 1
- } else {
- j = h
- }
- }
- if i < sfilen && ti.sfi[i].encName == name {
- return i
- }
- }
- return -1
-}
-
-func getTypeInfo(rtid uintptr, rt reflect.Type) (pti *typeInfo) {
- var ok bool
- cachedTypeInfoMutex.RLock()
- pti, ok = cachedTypeInfo[rtid]
- cachedTypeInfoMutex.RUnlock()
- if ok {
- return
- }
-
- cachedTypeInfoMutex.Lock()
- defer cachedTypeInfoMutex.Unlock()
- if pti, ok = cachedTypeInfo[rtid]; ok {
- return
- }
-
- ti := typeInfo{rt: rt, rtid: rtid}
- pti = &ti
-
- var indir int8
- if ok, indir = implementsIntf(rt, binaryMarshalerTyp); ok {
- ti.m, ti.mIndir = true, indir
- }
- if ok, indir = implementsIntf(rt, binaryUnmarshalerTyp); ok {
- ti.unm, ti.unmIndir = true, indir
- }
- if ok, _ = implementsIntf(rt, mapBySliceTyp); ok {
- ti.mbs = true
- }
-
- pt := rt
- var ptIndir int8
- // for ; pt.Kind() == reflect.Ptr; pt, ptIndir = pt.Elem(), ptIndir+1 { }
- for pt.Kind() == reflect.Ptr {
- pt = pt.Elem()
- ptIndir++
- }
- if ptIndir == 0 {
- ti.base = rt
- ti.baseId = rtid
- } else {
- ti.base = pt
- ti.baseId = reflect.ValueOf(pt).Pointer()
- ti.baseIndir = ptIndir
- }
-
- if rt.Kind() == reflect.Struct {
- var siInfo *structFieldInfo
- if f, ok := rt.FieldByName(structInfoFieldName); ok {
- siInfo = parseStructFieldInfo(structInfoFieldName, f.Tag.Get(structTagName))
- ti.toArray = siInfo.toArray
- }
- sfip := make([]*structFieldInfo, 0, rt.NumField())
- rgetTypeInfo(rt, nil, make(map[string]bool), &sfip, siInfo)
-
- // // try to put all si close together
- // const tryToPutAllStructFieldInfoTogether = true
- // if tryToPutAllStructFieldInfoTogether {
- // sfip2 := make([]structFieldInfo, len(sfip))
- // for i, si := range sfip {
- // sfip2[i] = *si
- // }
- // for i := range sfip {
- // sfip[i] = &sfip2[i]
- // }
- // }
-
- ti.sfip = make([]*structFieldInfo, len(sfip))
- ti.sfi = make([]*structFieldInfo, len(sfip))
- copy(ti.sfip, sfip)
- sort.Sort(sfiSortedByEncName(sfip))
- copy(ti.sfi, sfip)
- }
- // sfi = sfip
- cachedTypeInfo[rtid] = pti
- return
-}
-
-func rgetTypeInfo(rt reflect.Type, indexstack []int, fnameToHastag map[string]bool,
- sfi *[]*structFieldInfo, siInfo *structFieldInfo,
-) {
- // for rt.Kind() == reflect.Ptr {
- // // indexstack = append(indexstack, 0)
- // rt = rt.Elem()
- // }
- for j := 0; j < rt.NumField(); j++ {
- f := rt.Field(j)
- stag := f.Tag.Get(structTagName)
- if stag == "-" {
- continue
- }
- if r1, _ := utf8.DecodeRuneInString(f.Name); r1 == utf8.RuneError || !unicode.IsUpper(r1) {
- continue
- }
- // if anonymous and there is no struct tag and its a struct (or pointer to struct), inline it.
- if f.Anonymous && stag == "" {
- ft := f.Type
- for ft.Kind() == reflect.Ptr {
- ft = ft.Elem()
- }
- if ft.Kind() == reflect.Struct {
- indexstack2 := append(append(make([]int, 0, len(indexstack)+4), indexstack...), j)
- rgetTypeInfo(ft, indexstack2, fnameToHastag, sfi, siInfo)
- continue
- }
- }
- // do not let fields with same name in embedded structs override field at higher level.
- // this must be done after anonymous check, to allow anonymous field
- // still include their child fields
- if _, ok := fnameToHastag[f.Name]; ok {
- continue
- }
- si := parseStructFieldInfo(f.Name, stag)
- // si.ikind = int(f.Type.Kind())
- if len(indexstack) == 0 {
- si.i = int16(j)
- } else {
- si.i = -1
- si.is = append(append(make([]int, 0, len(indexstack)+4), indexstack...), j)
- }
-
- if siInfo != nil {
- if siInfo.omitEmpty {
- si.omitEmpty = true
- }
- }
- *sfi = append(*sfi, si)
- fnameToHastag[f.Name] = stag != ""
- }
-}
-
-func panicToErr(err *error) {
- if recoverPanicToErr {
- if x := recover(); x != nil {
- //debug.PrintStack()
- panicValToErr(x, err)
- }
- }
-}
-
-func doPanic(tag string, format string, params ...interface{}) {
- params2 := make([]interface{}, len(params)+1)
- params2[0] = tag
- copy(params2[1:], params)
- panic(fmt.Errorf("%s: "+format, params2...))
-}
-
-func checkOverflowFloat32(f float64, doCheck bool) {
- if !doCheck {
- return
- }
- // check overflow (logic adapted from std pkg reflect/value.go OverflowFloat()
- f2 := f
- if f2 < 0 {
- f2 = -f
- }
- if math.MaxFloat32 < f2 && f2 <= math.MaxFloat64 {
- decErr("Overflow float32 value: %v", f2)
- }
-}
-
-func checkOverflow(ui uint64, i int64, bitsize uint8) {
- // check overflow (logic adapted from std pkg reflect/value.go OverflowUint()
- if bitsize == 0 {
- return
- }
- if i != 0 {
- if trunc := (i << (64 - bitsize)) >> (64 - bitsize); i != trunc {
- decErr("Overflow int value: %v", i)
- }
- }
- if ui != 0 {
- if trunc := (ui << (64 - bitsize)) >> (64 - bitsize); ui != trunc {
- decErr("Overflow uint value: %v", ui)
- }
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper_internal.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper_internal.go
deleted file mode 100644
index 58417da9..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/helper_internal.go
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-// All non-std package dependencies live in this file,
-// so porting to different environment is easy (just update functions).
-
-import (
- "errors"
- "fmt"
- "math"
- "reflect"
-)
-
-var (
- raisePanicAfterRecover = false
- debugging = true
-)
-
-func panicValToErr(panicVal interface{}, err *error) {
- switch xerr := panicVal.(type) {
- case error:
- *err = xerr
- case string:
- *err = errors.New(xerr)
- default:
- *err = fmt.Errorf("%v", panicVal)
- }
- if raisePanicAfterRecover {
- panic(panicVal)
- }
- return
-}
-
-func isEmptyValueDeref(v reflect.Value, deref bool) bool {
- switch v.Kind() {
- case reflect.Array, reflect.Map, reflect.Slice, 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.Ptr:
- if deref {
- if v.IsNil() {
- return true
- }
- return isEmptyValueDeref(v.Elem(), deref)
- } else {
- return v.IsNil()
- }
- case reflect.Struct:
- // return true if all fields are empty. else return false.
-
- // we cannot use equality check, because some fields may be maps/slices/etc
- // and consequently the structs are not comparable.
- // return v.Interface() == reflect.Zero(v.Type()).Interface()
- for i, n := 0, v.NumField(); i < n; i++ {
- if !isEmptyValueDeref(v.Field(i), deref) {
- return false
- }
- }
- return true
- }
- return false
-}
-
-func isEmptyValue(v reflect.Value) bool {
- return isEmptyValueDeref(v, true)
-}
-
-func debugf(format string, args ...interface{}) {
- if debugging {
- if len(format) == 0 || format[len(format)-1] != '\n' {
- format = format + "\n"
- }
- fmt.Printf(format, args...)
- }
-}
-
-func pruneSignExt(v []byte, pos bool) (n int) {
- if len(v) < 2 {
- } else if pos && v[0] == 0 {
- for ; v[n] == 0 && n+1 < len(v) && (v[n+1]&(1<<7) == 0); n++ {
- }
- } else if !pos && v[0] == 0xff {
- for ; v[n] == 0xff && n+1 < len(v) && (v[n+1]&(1<<7) != 0); n++ {
- }
- }
- return
-}
-
-func implementsIntf(typ, iTyp reflect.Type) (success bool, indir int8) {
- if typ == nil {
- return
- }
- rt := typ
- // The type might be a pointer and we need to keep
- // dereferencing to the base type until we find an implementation.
- for {
- if rt.Implements(iTyp) {
- return true, indir
- }
- if p := rt; p.Kind() == reflect.Ptr {
- indir++
- if indir >= math.MaxInt8 { // insane number of indirections
- return false, 0
- }
- rt = p.Elem()
- continue
- }
- break
- }
- // No luck yet, but if this is a base type (non-pointer), the pointer might satisfy.
- if typ.Kind() != reflect.Ptr {
- // Not a pointer, but does the pointer work?
- if reflect.PtrTo(typ).Implements(iTyp) {
- return true, -1
- }
- }
- return false, 0
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack.go
deleted file mode 100644
index da0500d1..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack.go
+++ /dev/null
@@ -1,816 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-/*
-MSGPACK
-
-Msgpack-c implementation powers the c, c++, python, ruby, etc libraries.
-We need to maintain compatibility with it and how it encodes integer values
-without caring about the type.
-
-For compatibility with behaviour of msgpack-c reference implementation:
- - Go intX (>0) and uintX
- IS ENCODED AS
- msgpack +ve fixnum, unsigned
- - Go intX (<0)
- IS ENCODED AS
- msgpack -ve fixnum, signed
-
-*/
-package codec
-
-import (
- "fmt"
- "io"
- "math"
- "net/rpc"
-)
-
-const (
- mpPosFixNumMin byte = 0x00
- mpPosFixNumMax = 0x7f
- mpFixMapMin = 0x80
- mpFixMapMax = 0x8f
- mpFixArrayMin = 0x90
- mpFixArrayMax = 0x9f
- mpFixStrMin = 0xa0
- mpFixStrMax = 0xbf
- mpNil = 0xc0
- _ = 0xc1
- mpFalse = 0xc2
- mpTrue = 0xc3
- mpFloat = 0xca
- mpDouble = 0xcb
- mpUint8 = 0xcc
- mpUint16 = 0xcd
- mpUint32 = 0xce
- mpUint64 = 0xcf
- mpInt8 = 0xd0
- mpInt16 = 0xd1
- mpInt32 = 0xd2
- mpInt64 = 0xd3
-
- // extensions below
- mpBin8 = 0xc4
- mpBin16 = 0xc5
- mpBin32 = 0xc6
- mpExt8 = 0xc7
- mpExt16 = 0xc8
- mpExt32 = 0xc9
- mpFixExt1 = 0xd4
- mpFixExt2 = 0xd5
- mpFixExt4 = 0xd6
- mpFixExt8 = 0xd7
- mpFixExt16 = 0xd8
-
- mpStr8 = 0xd9 // new
- mpStr16 = 0xda
- mpStr32 = 0xdb
-
- mpArray16 = 0xdc
- mpArray32 = 0xdd
-
- mpMap16 = 0xde
- mpMap32 = 0xdf
-
- mpNegFixNumMin = 0xe0
- mpNegFixNumMax = 0xff
-)
-
-// MsgpackSpecRpcMultiArgs is a special type which signifies to the MsgpackSpecRpcCodec
-// that the backend RPC service takes multiple arguments, which have been arranged
-// in sequence in the slice.
-//
-// The Codec then passes it AS-IS to the rpc service (without wrapping it in an
-// array of 1 element).
-type MsgpackSpecRpcMultiArgs []interface{}
-
-// A MsgpackContainer type specifies the different types of msgpackContainers.
-type msgpackContainerType struct {
- fixCutoff int
- bFixMin, b8, b16, b32 byte
- hasFixMin, has8, has8Always bool
-}
-
-var (
- msgpackContainerStr = msgpackContainerType{32, mpFixStrMin, mpStr8, mpStr16, mpStr32, true, true, false}
- msgpackContainerBin = msgpackContainerType{0, 0, mpBin8, mpBin16, mpBin32, false, true, true}
- msgpackContainerList = msgpackContainerType{16, mpFixArrayMin, 0, mpArray16, mpArray32, true, false, false}
- msgpackContainerMap = msgpackContainerType{16, mpFixMapMin, 0, mpMap16, mpMap32, true, false, false}
-)
-
-//---------------------------------------------
-
-type msgpackEncDriver struct {
- w encWriter
- h *MsgpackHandle
-}
-
-func (e *msgpackEncDriver) isBuiltinType(rt uintptr) bool {
- //no builtin types. All encodings are based on kinds. Types supported as extensions.
- return false
-}
-
-func (e *msgpackEncDriver) encodeBuiltin(rt uintptr, v interface{}) {}
-
-func (e *msgpackEncDriver) encodeNil() {
- e.w.writen1(mpNil)
-}
-
-func (e *msgpackEncDriver) encodeInt(i int64) {
-
- switch {
- case i >= 0:
- e.encodeUint(uint64(i))
- case i >= -32:
- e.w.writen1(byte(i))
- case i >= math.MinInt8:
- e.w.writen2(mpInt8, byte(i))
- case i >= math.MinInt16:
- e.w.writen1(mpInt16)
- e.w.writeUint16(uint16(i))
- case i >= math.MinInt32:
- e.w.writen1(mpInt32)
- e.w.writeUint32(uint32(i))
- default:
- e.w.writen1(mpInt64)
- e.w.writeUint64(uint64(i))
- }
-}
-
-func (e *msgpackEncDriver) encodeUint(i uint64) {
- switch {
- case i <= math.MaxInt8:
- e.w.writen1(byte(i))
- case i <= math.MaxUint8:
- e.w.writen2(mpUint8, byte(i))
- case i <= math.MaxUint16:
- e.w.writen1(mpUint16)
- e.w.writeUint16(uint16(i))
- case i <= math.MaxUint32:
- e.w.writen1(mpUint32)
- e.w.writeUint32(uint32(i))
- default:
- e.w.writen1(mpUint64)
- e.w.writeUint64(uint64(i))
- }
-}
-
-func (e *msgpackEncDriver) encodeBool(b bool) {
- if b {
- e.w.writen1(mpTrue)
- } else {
- e.w.writen1(mpFalse)
- }
-}
-
-func (e *msgpackEncDriver) encodeFloat32(f float32) {
- e.w.writen1(mpFloat)
- e.w.writeUint32(math.Float32bits(f))
-}
-
-func (e *msgpackEncDriver) encodeFloat64(f float64) {
- e.w.writen1(mpDouble)
- e.w.writeUint64(math.Float64bits(f))
-}
-
-func (e *msgpackEncDriver) encodeExtPreamble(xtag byte, l int) {
- switch {
- case l == 1:
- e.w.writen2(mpFixExt1, xtag)
- case l == 2:
- e.w.writen2(mpFixExt2, xtag)
- case l == 4:
- e.w.writen2(mpFixExt4, xtag)
- case l == 8:
- e.w.writen2(mpFixExt8, xtag)
- case l == 16:
- e.w.writen2(mpFixExt16, xtag)
- case l < 256:
- e.w.writen2(mpExt8, byte(l))
- e.w.writen1(xtag)
- case l < 65536:
- e.w.writen1(mpExt16)
- e.w.writeUint16(uint16(l))
- e.w.writen1(xtag)
- default:
- e.w.writen1(mpExt32)
- e.w.writeUint32(uint32(l))
- e.w.writen1(xtag)
- }
-}
-
-func (e *msgpackEncDriver) encodeArrayPreamble(length int) {
- e.writeContainerLen(msgpackContainerList, length)
-}
-
-func (e *msgpackEncDriver) encodeMapPreamble(length int) {
- e.writeContainerLen(msgpackContainerMap, length)
-}
-
-func (e *msgpackEncDriver) encodeString(c charEncoding, s string) {
- if c == c_RAW && e.h.WriteExt {
- e.writeContainerLen(msgpackContainerBin, len(s))
- } else {
- e.writeContainerLen(msgpackContainerStr, len(s))
- }
- if len(s) > 0 {
- e.w.writestr(s)
- }
-}
-
-func (e *msgpackEncDriver) encodeSymbol(v string) {
- e.encodeString(c_UTF8, v)
-}
-
-func (e *msgpackEncDriver) encodeStringBytes(c charEncoding, bs []byte) {
- if c == c_RAW && e.h.WriteExt {
- e.writeContainerLen(msgpackContainerBin, len(bs))
- } else {
- e.writeContainerLen(msgpackContainerStr, len(bs))
- }
- if len(bs) > 0 {
- e.w.writeb(bs)
- }
-}
-
-func (e *msgpackEncDriver) writeContainerLen(ct msgpackContainerType, l int) {
- switch {
- case ct.hasFixMin && l < ct.fixCutoff:
- e.w.writen1(ct.bFixMin | byte(l))
- case ct.has8 && l < 256 && (ct.has8Always || e.h.WriteExt):
- e.w.writen2(ct.b8, uint8(l))
- case l < 65536:
- e.w.writen1(ct.b16)
- e.w.writeUint16(uint16(l))
- default:
- e.w.writen1(ct.b32)
- e.w.writeUint32(uint32(l))
- }
-}
-
-//---------------------------------------------
-
-type msgpackDecDriver struct {
- r decReader
- h *MsgpackHandle
- bd byte
- bdRead bool
- bdType valueType
-}
-
-func (d *msgpackDecDriver) isBuiltinType(rt uintptr) bool {
- //no builtin types. All encodings are based on kinds. Types supported as extensions.
- return false
-}
-
-func (d *msgpackDecDriver) decodeBuiltin(rt uintptr, v interface{}) {}
-
-// Note: This returns either a primitive (int, bool, etc) for non-containers,
-// or a containerType, or a specific type denoting nil or extension.
-// It is called when a nil interface{} is passed, leaving it up to the DecDriver
-// to introspect the stream and decide how best to decode.
-// It deciphers the value by looking at the stream first.
-func (d *msgpackDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {
- d.initReadNext()
- bd := d.bd
-
- switch bd {
- case mpNil:
- vt = valueTypeNil
- d.bdRead = false
- case mpFalse:
- vt = valueTypeBool
- v = false
- case mpTrue:
- vt = valueTypeBool
- v = true
-
- case mpFloat:
- vt = valueTypeFloat
- v = float64(math.Float32frombits(d.r.readUint32()))
- case mpDouble:
- vt = valueTypeFloat
- v = math.Float64frombits(d.r.readUint64())
-
- case mpUint8:
- vt = valueTypeUint
- v = uint64(d.r.readn1())
- case mpUint16:
- vt = valueTypeUint
- v = uint64(d.r.readUint16())
- case mpUint32:
- vt = valueTypeUint
- v = uint64(d.r.readUint32())
- case mpUint64:
- vt = valueTypeUint
- v = uint64(d.r.readUint64())
-
- case mpInt8:
- vt = valueTypeInt
- v = int64(int8(d.r.readn1()))
- case mpInt16:
- vt = valueTypeInt
- v = int64(int16(d.r.readUint16()))
- case mpInt32:
- vt = valueTypeInt
- v = int64(int32(d.r.readUint32()))
- case mpInt64:
- vt = valueTypeInt
- v = int64(int64(d.r.readUint64()))
-
- default:
- switch {
- case bd >= mpPosFixNumMin && bd <= mpPosFixNumMax:
- // positive fixnum (always signed)
- vt = valueTypeInt
- v = int64(int8(bd))
- case bd >= mpNegFixNumMin && bd <= mpNegFixNumMax:
- // negative fixnum
- vt = valueTypeInt
- v = int64(int8(bd))
- case bd == mpStr8, bd == mpStr16, bd == mpStr32, bd >= mpFixStrMin && bd <= mpFixStrMax:
- if d.h.RawToString {
- var rvm string
- vt = valueTypeString
- v = &rvm
- } else {
- var rvm = []byte{}
- vt = valueTypeBytes
- v = &rvm
- }
- decodeFurther = true
- case bd == mpBin8, bd == mpBin16, bd == mpBin32:
- var rvm = []byte{}
- vt = valueTypeBytes
- v = &rvm
- decodeFurther = true
- case bd == mpArray16, bd == mpArray32, bd >= mpFixArrayMin && bd <= mpFixArrayMax:
- vt = valueTypeArray
- decodeFurther = true
- case bd == mpMap16, bd == mpMap32, bd >= mpFixMapMin && bd <= mpFixMapMax:
- vt = valueTypeMap
- decodeFurther = true
- case bd >= mpFixExt1 && bd <= mpFixExt16, bd >= mpExt8 && bd <= mpExt32:
- clen := d.readExtLen()
- var re RawExt
- re.Tag = d.r.readn1()
- re.Data = d.r.readn(clen)
- v = &re
- vt = valueTypeExt
- default:
- decErr("Nil-Deciphered DecodeValue: %s: hex: %x, dec: %d", msgBadDesc, bd, bd)
- }
- }
- if !decodeFurther {
- d.bdRead = false
- }
- return
-}
-
-// int can be decoded from msgpack type: intXXX or uintXXX
-func (d *msgpackDecDriver) decodeInt(bitsize uint8) (i int64) {
- switch d.bd {
- case mpUint8:
- i = int64(uint64(d.r.readn1()))
- case mpUint16:
- i = int64(uint64(d.r.readUint16()))
- case mpUint32:
- i = int64(uint64(d.r.readUint32()))
- case mpUint64:
- i = int64(d.r.readUint64())
- case mpInt8:
- i = int64(int8(d.r.readn1()))
- case mpInt16:
- i = int64(int16(d.r.readUint16()))
- case mpInt32:
- i = int64(int32(d.r.readUint32()))
- case mpInt64:
- i = int64(d.r.readUint64())
- default:
- switch {
- case d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:
- i = int64(int8(d.bd))
- case d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:
- i = int64(int8(d.bd))
- default:
- decErr("Unhandled single-byte unsigned integer value: %s: %x", msgBadDesc, d.bd)
- }
- }
- // check overflow (logic adapted from std pkg reflect/value.go OverflowUint()
- if bitsize > 0 {
- if trunc := (i << (64 - bitsize)) >> (64 - bitsize); i != trunc {
- decErr("Overflow int value: %v", i)
- }
- }
- d.bdRead = false
- return
-}
-
-// uint can be decoded from msgpack type: intXXX or uintXXX
-func (d *msgpackDecDriver) decodeUint(bitsize uint8) (ui uint64) {
- switch d.bd {
- case mpUint8:
- ui = uint64(d.r.readn1())
- case mpUint16:
- ui = uint64(d.r.readUint16())
- case mpUint32:
- ui = uint64(d.r.readUint32())
- case mpUint64:
- ui = d.r.readUint64()
- case mpInt8:
- if i := int64(int8(d.r.readn1())); i >= 0 {
- ui = uint64(i)
- } else {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- case mpInt16:
- if i := int64(int16(d.r.readUint16())); i >= 0 {
- ui = uint64(i)
- } else {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- case mpInt32:
- if i := int64(int32(d.r.readUint32())); i >= 0 {
- ui = uint64(i)
- } else {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- case mpInt64:
- if i := int64(d.r.readUint64()); i >= 0 {
- ui = uint64(i)
- } else {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- default:
- switch {
- case d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:
- ui = uint64(d.bd)
- case d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:
- decErr("Assigning negative signed value: %v, to unsigned type", int(d.bd))
- default:
- decErr("Unhandled single-byte unsigned integer value: %s: %x", msgBadDesc, d.bd)
- }
- }
- // check overflow (logic adapted from std pkg reflect/value.go OverflowUint()
- if bitsize > 0 {
- if trunc := (ui << (64 - bitsize)) >> (64 - bitsize); ui != trunc {
- decErr("Overflow uint value: %v", ui)
- }
- }
- d.bdRead = false
- return
-}
-
-// float can either be decoded from msgpack type: float, double or intX
-func (d *msgpackDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {
- switch d.bd {
- case mpFloat:
- f = float64(math.Float32frombits(d.r.readUint32()))
- case mpDouble:
- f = math.Float64frombits(d.r.readUint64())
- default:
- f = float64(d.decodeInt(0))
- }
- checkOverflowFloat32(f, chkOverflow32)
- d.bdRead = false
- return
-}
-
-// bool can be decoded from bool, fixnum 0 or 1.
-func (d *msgpackDecDriver) decodeBool() (b bool) {
- switch d.bd {
- case mpFalse, 0:
- // b = false
- case mpTrue, 1:
- b = true
- default:
- decErr("Invalid single-byte value for bool: %s: %x", msgBadDesc, d.bd)
- }
- d.bdRead = false
- return
-}
-
-func (d *msgpackDecDriver) decodeString() (s string) {
- clen := d.readContainerLen(msgpackContainerStr)
- if clen > 0 {
- s = string(d.r.readn(clen))
- }
- d.bdRead = false
- return
-}
-
-// Callers must check if changed=true (to decide whether to replace the one they have)
-func (d *msgpackDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {
- // bytes can be decoded from msgpackContainerStr or msgpackContainerBin
- var clen int
- switch d.bd {
- case mpBin8, mpBin16, mpBin32:
- clen = d.readContainerLen(msgpackContainerBin)
- default:
- clen = d.readContainerLen(msgpackContainerStr)
- }
- // if clen < 0 {
- // changed = true
- // panic("length cannot be zero. this cannot be nil.")
- // }
- if clen > 0 {
- // if no contents in stream, don't update the passed byteslice
- if len(bs) != clen {
- // Return changed=true if length of passed slice diff from length of bytes in stream
- if len(bs) > clen {
- bs = bs[:clen]
- } else {
- bs = make([]byte, clen)
- }
- bsOut = bs
- changed = true
- }
- d.r.readb(bs)
- }
- d.bdRead = false
- return
-}
-
-// Every top-level decode funcs (i.e. decodeValue, decode) must call this first.
-func (d *msgpackDecDriver) initReadNext() {
- if d.bdRead {
- return
- }
- d.bd = d.r.readn1()
- d.bdRead = true
- d.bdType = valueTypeUnset
-}
-
-func (d *msgpackDecDriver) currentEncodedType() valueType {
- if d.bdType == valueTypeUnset {
- bd := d.bd
- switch bd {
- case mpNil:
- d.bdType = valueTypeNil
- case mpFalse, mpTrue:
- d.bdType = valueTypeBool
- case mpFloat, mpDouble:
- d.bdType = valueTypeFloat
- case mpUint8, mpUint16, mpUint32, mpUint64:
- d.bdType = valueTypeUint
- case mpInt8, mpInt16, mpInt32, mpInt64:
- d.bdType = valueTypeInt
- default:
- switch {
- case bd >= mpPosFixNumMin && bd <= mpPosFixNumMax:
- d.bdType = valueTypeInt
- case bd >= mpNegFixNumMin && bd <= mpNegFixNumMax:
- d.bdType = valueTypeInt
- case bd == mpStr8, bd == mpStr16, bd == mpStr32, bd >= mpFixStrMin && bd <= mpFixStrMax:
- if d.h.RawToString {
- d.bdType = valueTypeString
- } else {
- d.bdType = valueTypeBytes
- }
- case bd == mpBin8, bd == mpBin16, bd == mpBin32:
- d.bdType = valueTypeBytes
- case bd == mpArray16, bd == mpArray32, bd >= mpFixArrayMin && bd <= mpFixArrayMax:
- d.bdType = valueTypeArray
- case bd == mpMap16, bd == mpMap32, bd >= mpFixMapMin && bd <= mpFixMapMax:
- d.bdType = valueTypeMap
- case bd >= mpFixExt1 && bd <= mpFixExt16, bd >= mpExt8 && bd <= mpExt32:
- d.bdType = valueTypeExt
- default:
- decErr("currentEncodedType: Undeciphered descriptor: %s: hex: %x, dec: %d", msgBadDesc, bd, bd)
- }
- }
- }
- return d.bdType
-}
-
-func (d *msgpackDecDriver) tryDecodeAsNil() bool {
- if d.bd == mpNil {
- d.bdRead = false
- return true
- }
- return false
-}
-
-func (d *msgpackDecDriver) readContainerLen(ct msgpackContainerType) (clen int) {
- bd := d.bd
- switch {
- case bd == mpNil:
- clen = -1 // to represent nil
- case bd == ct.b8:
- clen = int(d.r.readn1())
- case bd == ct.b16:
- clen = int(d.r.readUint16())
- case bd == ct.b32:
- clen = int(d.r.readUint32())
- case (ct.bFixMin & bd) == ct.bFixMin:
- clen = int(ct.bFixMin ^ bd)
- default:
- decErr("readContainerLen: %s: hex: %x, dec: %d", msgBadDesc, bd, bd)
- }
- d.bdRead = false
- return
-}
-
-func (d *msgpackDecDriver) readMapLen() int {
- return d.readContainerLen(msgpackContainerMap)
-}
-
-func (d *msgpackDecDriver) readArrayLen() int {
- return d.readContainerLen(msgpackContainerList)
-}
-
-func (d *msgpackDecDriver) readExtLen() (clen int) {
- switch d.bd {
- case mpNil:
- clen = -1 // to represent nil
- case mpFixExt1:
- clen = 1
- case mpFixExt2:
- clen = 2
- case mpFixExt4:
- clen = 4
- case mpFixExt8:
- clen = 8
- case mpFixExt16:
- clen = 16
- case mpExt8:
- clen = int(d.r.readn1())
- case mpExt16:
- clen = int(d.r.readUint16())
- case mpExt32:
- clen = int(d.r.readUint32())
- default:
- decErr("decoding ext bytes: found unexpected byte: %x", d.bd)
- }
- return
-}
-
-func (d *msgpackDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {
- xbd := d.bd
- switch {
- case xbd == mpBin8, xbd == mpBin16, xbd == mpBin32:
- xbs, _ = d.decodeBytes(nil)
- case xbd == mpStr8, xbd == mpStr16, xbd == mpStr32,
- xbd >= mpFixStrMin && xbd <= mpFixStrMax:
- xbs = []byte(d.decodeString())
- default:
- clen := d.readExtLen()
- xtag = d.r.readn1()
- if verifyTag && xtag != tag {
- decErr("Wrong extension tag. Got %b. Expecting: %v", xtag, tag)
- }
- xbs = d.r.readn(clen)
- }
- d.bdRead = false
- return
-}
-
-//--------------------------------------------------
-
-//MsgpackHandle is a Handle for the Msgpack Schema-Free Encoding Format.
-type MsgpackHandle struct {
- BasicHandle
-
- // RawToString controls how raw bytes are decoded into a nil interface{}.
- RawToString bool
- // WriteExt flag supports encoding configured extensions with extension tags.
- // It also controls whether other elements of the new spec are encoded (ie Str8).
- //
- // With WriteExt=false, configured extensions are serialized as raw bytes
- // and Str8 is not encoded.
- //
- // A stream can still be decoded into a typed value, provided an appropriate value
- // is provided, but the type cannot be inferred from the stream. If no appropriate
- // type is provided (e.g. decoding into a nil interface{}), you get back
- // a []byte or string based on the setting of RawToString.
- WriteExt bool
-}
-
-func (h *MsgpackHandle) newEncDriver(w encWriter) encDriver {
- return &msgpackEncDriver{w: w, h: h}
-}
-
-func (h *MsgpackHandle) newDecDriver(r decReader) decDriver {
- return &msgpackDecDriver{r: r, h: h}
-}
-
-func (h *MsgpackHandle) writeExt() bool {
- return h.WriteExt
-}
-
-func (h *MsgpackHandle) getBasicHandle() *BasicHandle {
- return &h.BasicHandle
-}
-
-//--------------------------------------------------
-
-type msgpackSpecRpcCodec struct {
- rpcCodec
-}
-
-// /////////////// Spec RPC Codec ///////////////////
-func (c *msgpackSpecRpcCodec) WriteRequest(r *rpc.Request, body interface{}) error {
- // WriteRequest can write to both a Go service, and other services that do
- // not abide by the 1 argument rule of a Go service.
- // We discriminate based on if the body is a MsgpackSpecRpcMultiArgs
- var bodyArr []interface{}
- if m, ok := body.(MsgpackSpecRpcMultiArgs); ok {
- bodyArr = ([]interface{})(m)
- } else {
- bodyArr = []interface{}{body}
- }
- r2 := []interface{}{0, uint32(r.Seq), r.ServiceMethod, bodyArr}
- return c.write(r2, nil, false, true)
-}
-
-func (c *msgpackSpecRpcCodec) WriteResponse(r *rpc.Response, body interface{}) error {
- var moe interface{}
- if r.Error != "" {
- moe = r.Error
- }
- if moe != nil && body != nil {
- body = nil
- }
- r2 := []interface{}{1, uint32(r.Seq), moe, body}
- return c.write(r2, nil, false, true)
-}
-
-func (c *msgpackSpecRpcCodec) ReadResponseHeader(r *rpc.Response) error {
- return c.parseCustomHeader(1, &r.Seq, &r.Error)
-}
-
-func (c *msgpackSpecRpcCodec) ReadRequestHeader(r *rpc.Request) error {
- return c.parseCustomHeader(0, &r.Seq, &r.ServiceMethod)
-}
-
-func (c *msgpackSpecRpcCodec) ReadRequestBody(body interface{}) error {
- if body == nil { // read and discard
- return c.read(nil)
- }
- bodyArr := []interface{}{body}
- return c.read(&bodyArr)
-}
-
-func (c *msgpackSpecRpcCodec) parseCustomHeader(expectTypeByte byte, msgid *uint64, methodOrError *string) (err error) {
-
- if c.cls {
- return io.EOF
- }
-
- // We read the response header by hand
- // so that the body can be decoded on its own from the stream at a later time.
-
- const fia byte = 0x94 //four item array descriptor value
- // Not sure why the panic of EOF is swallowed above.
- // if bs1 := c.dec.r.readn1(); bs1 != fia {
- // err = fmt.Errorf("Unexpected value for array descriptor: Expecting %v. Received %v", fia, bs1)
- // return
- // }
- var b byte
- b, err = c.br.ReadByte()
- if err != nil {
- return
- }
- if b != fia {
- err = fmt.Errorf("Unexpected value for array descriptor: Expecting %v. Received %v", fia, b)
- return
- }
-
- if err = c.read(&b); err != nil {
- return
- }
- if b != expectTypeByte {
- err = fmt.Errorf("Unexpected byte descriptor in header. Expecting %v. Received %v", expectTypeByte, b)
- return
- }
- if err = c.read(msgid); err != nil {
- return
- }
- if err = c.read(methodOrError); err != nil {
- return
- }
- return
-}
-
-//--------------------------------------------------
-
-// msgpackSpecRpc is the implementation of Rpc that uses custom communication protocol
-// as defined in the msgpack spec at https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md
-type msgpackSpecRpc struct{}
-
-// MsgpackSpecRpc implements Rpc using the communication protocol defined in
-// the msgpack spec at https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md .
-// Its methods (ServerCodec and ClientCodec) return values that implement RpcCodecBuffered.
-var MsgpackSpecRpc msgpackSpecRpc
-
-func (x msgpackSpecRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec {
- return &msgpackSpecRpcCodec{newRPCCodec(conn, h)}
-}
-
-func (x msgpackSpecRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec {
- return &msgpackSpecRpcCodec{newRPCCodec(conn, h)}
-}
-
-var _ decDriver = (*msgpackDecDriver)(nil)
-var _ encDriver = (*msgpackEncDriver)(nil)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack_test.py b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack_test.py
deleted file mode 100755
index e933838c..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/msgpack_test.py
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python
-
-# This will create golden files in a directory passed to it.
-# A Test calls this internally to create the golden files
-# So it can process them (so we don't have to checkin the files).
-
-import msgpack, msgpackrpc, sys, os, threading
-
-def get_test_data_list():
- # get list with all primitive types, and a combo type
- l0 = [
- -8,
- -1616,
- -32323232,
- -6464646464646464,
- 192,
- 1616,
- 32323232,
- 6464646464646464,
- 192,
- -3232.0,
- -6464646464.0,
- 3232.0,
- 6464646464.0,
- False,
- True,
- None,
- "someday",
- "",
- "bytestring",
- 1328176922000002000,
- -2206187877999998000,
- 0,
- -6795364578871345152
- ]
- l1 = [
- { "true": True,
- "false": False },
- { "true": "True",
- "false": False,
- "uint16(1616)": 1616 },
- { "list": [1616, 32323232, True, -3232.0, {"TRUE":True, "FALSE":False}, [True, False] ],
- "int32":32323232, "bool": True,
- "LONG STRING": "123456789012345678901234567890123456789012345678901234567890",
- "SHORT STRING": "1234567890" },
- { True: "true", 8: False, "false": 0 }
- ]
-
- l = []
- l.extend(l0)
- l.append(l0)
- l.extend(l1)
- return l
-
-def build_test_data(destdir):
- l = get_test_data_list()
- for i in range(len(l)):
- packer = msgpack.Packer()
- serialized = packer.pack(l[i])
- f = open(os.path.join(destdir, str(i) + '.golden'), 'wb')
- f.write(serialized)
- f.close()
-
-def doRpcServer(port, stopTimeSec):
- class EchoHandler(object):
- def Echo123(self, msg1, msg2, msg3):
- return ("1:%s 2:%s 3:%s" % (msg1, msg2, msg3))
- def EchoStruct(self, msg):
- return ("%s" % msg)
-
- addr = msgpackrpc.Address('localhost', port)
- server = msgpackrpc.Server(EchoHandler())
- server.listen(addr)
- # run thread to stop it after stopTimeSec seconds if > 0
- if stopTimeSec > 0:
- def myStopRpcServer():
- server.stop()
- t = threading.Timer(stopTimeSec, myStopRpcServer)
- t.start()
- server.start()
-
-def doRpcClientToPythonSvc(port):
- address = msgpackrpc.Address('localhost', port)
- client = msgpackrpc.Client(address, unpack_encoding='utf-8')
- print client.call("Echo123", "A1", "B2", "C3")
- print client.call("EchoStruct", {"A" :"Aa", "B":"Bb", "C":"Cc"})
-
-def doRpcClientToGoSvc(port):
- # print ">>>> port: ", port, " <<<<<"
- address = msgpackrpc.Address('localhost', port)
- client = msgpackrpc.Client(address, unpack_encoding='utf-8')
- print client.call("TestRpcInt.Echo123", ["A1", "B2", "C3"])
- print client.call("TestRpcInt.EchoStruct", {"A" :"Aa", "B":"Bb", "C":"Cc"})
-
-def doMain(args):
- if len(args) == 2 and args[0] == "testdata":
- build_test_data(args[1])
- elif len(args) == 3 and args[0] == "rpc-server":
- doRpcServer(int(args[1]), int(args[2]))
- elif len(args) == 2 and args[0] == "rpc-client-python-service":
- doRpcClientToPythonSvc(int(args[1]))
- elif len(args) == 2 and args[0] == "rpc-client-go-service":
- doRpcClientToGoSvc(int(args[1]))
- else:
- print("Usage: msgpack_test.py " +
- "[testdata|rpc-server|rpc-client-python-service|rpc-client-go-service] ...")
-
-if __name__ == "__main__":
- doMain(sys.argv[1:])
-
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/rpc.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/rpc.go
deleted file mode 100644
index d014dbdc..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/rpc.go
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import (
- "bufio"
- "io"
- "net/rpc"
- "sync"
-)
-
-// Rpc provides a rpc Server or Client Codec for rpc communication.
-type Rpc interface {
- ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec
- ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec
-}
-
-// RpcCodecBuffered allows access to the underlying bufio.Reader/Writer
-// used by the rpc connection. It accomodates use-cases where the connection
-// should be used by rpc and non-rpc functions, e.g. streaming a file after
-// sending an rpc response.
-type RpcCodecBuffered interface {
- BufferedReader() *bufio.Reader
- BufferedWriter() *bufio.Writer
-}
-
-// -------------------------------------
-
-// rpcCodec defines the struct members and common methods.
-type rpcCodec struct {
- rwc io.ReadWriteCloser
- dec *Decoder
- enc *Encoder
- bw *bufio.Writer
- br *bufio.Reader
- mu sync.Mutex
- cls bool
-}
-
-func newRPCCodec(conn io.ReadWriteCloser, h Handle) rpcCodec {
- bw := bufio.NewWriter(conn)
- br := bufio.NewReader(conn)
- return rpcCodec{
- rwc: conn,
- bw: bw,
- br: br,
- enc: NewEncoder(bw, h),
- dec: NewDecoder(br, h),
- }
-}
-
-func (c *rpcCodec) BufferedReader() *bufio.Reader {
- return c.br
-}
-
-func (c *rpcCodec) BufferedWriter() *bufio.Writer {
- return c.bw
-}
-
-func (c *rpcCodec) write(obj1, obj2 interface{}, writeObj2, doFlush bool) (err error) {
- if c.cls {
- return io.EOF
- }
- if err = c.enc.Encode(obj1); err != nil {
- return
- }
- if writeObj2 {
- if err = c.enc.Encode(obj2); err != nil {
- return
- }
- }
- if doFlush && c.bw != nil {
- return c.bw.Flush()
- }
- return
-}
-
-func (c *rpcCodec) read(obj interface{}) (err error) {
- if c.cls {
- return io.EOF
- }
- //If nil is passed in, we should still attempt to read content to nowhere.
- if obj == nil {
- var obj2 interface{}
- return c.dec.Decode(&obj2)
- }
- return c.dec.Decode(obj)
-}
-
-func (c *rpcCodec) Close() error {
- if c.cls {
- return io.EOF
- }
- c.cls = true
- return c.rwc.Close()
-}
-
-func (c *rpcCodec) ReadResponseBody(body interface{}) error {
- return c.read(body)
-}
-
-// -------------------------------------
-
-type goRpcCodec struct {
- rpcCodec
-}
-
-func (c *goRpcCodec) WriteRequest(r *rpc.Request, body interface{}) error {
- // Must protect for concurrent access as per API
- c.mu.Lock()
- defer c.mu.Unlock()
- return c.write(r, body, true, true)
-}
-
-func (c *goRpcCodec) WriteResponse(r *rpc.Response, body interface{}) error {
- c.mu.Lock()
- defer c.mu.Unlock()
- return c.write(r, body, true, true)
-}
-
-func (c *goRpcCodec) ReadResponseHeader(r *rpc.Response) error {
- return c.read(r)
-}
-
-func (c *goRpcCodec) ReadRequestHeader(r *rpc.Request) error {
- return c.read(r)
-}
-
-func (c *goRpcCodec) ReadRequestBody(body interface{}) error {
- return c.read(body)
-}
-
-// -------------------------------------
-
-// goRpc is the implementation of Rpc that uses the communication protocol
-// as defined in net/rpc package.
-type goRpc struct{}
-
-// GoRpc implements Rpc using the communication protocol defined in net/rpc package.
-// Its methods (ServerCodec and ClientCodec) return values that implement RpcCodecBuffered.
-var GoRpc goRpc
-
-func (x goRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec {
- return &goRpcCodec{newRPCCodec(conn, h)}
-}
-
-func (x goRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec {
- return &goRpcCodec{newRPCCodec(conn, h)}
-}
-
-var _ RpcCodecBuffered = (*rpcCodec)(nil) // ensure *rpcCodec implements RpcCodecBuffered
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/simple.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/simple.go
deleted file mode 100644
index 9e4d148a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/simple.go
+++ /dev/null
@@ -1,461 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import "math"
-
-const (
- _ uint8 = iota
- simpleVdNil = 1
- simpleVdFalse = 2
- simpleVdTrue = 3
- simpleVdFloat32 = 4
- simpleVdFloat64 = 5
-
- // each lasts for 4 (ie n, n+1, n+2, n+3)
- simpleVdPosInt = 8
- simpleVdNegInt = 12
-
- // containers: each lasts for 4 (ie n, n+1, n+2, ... n+7)
- simpleVdString = 216
- simpleVdByteArray = 224
- simpleVdArray = 232
- simpleVdMap = 240
- simpleVdExt = 248
-)
-
-type simpleEncDriver struct {
- h *SimpleHandle
- w encWriter
- //b [8]byte
-}
-
-func (e *simpleEncDriver) isBuiltinType(rt uintptr) bool {
- return false
-}
-
-func (e *simpleEncDriver) encodeBuiltin(rt uintptr, v interface{}) {
-}
-
-func (e *simpleEncDriver) encodeNil() {
- e.w.writen1(simpleVdNil)
-}
-
-func (e *simpleEncDriver) encodeBool(b bool) {
- if b {
- e.w.writen1(simpleVdTrue)
- } else {
- e.w.writen1(simpleVdFalse)
- }
-}
-
-func (e *simpleEncDriver) encodeFloat32(f float32) {
- e.w.writen1(simpleVdFloat32)
- e.w.writeUint32(math.Float32bits(f))
-}
-
-func (e *simpleEncDriver) encodeFloat64(f float64) {
- e.w.writen1(simpleVdFloat64)
- e.w.writeUint64(math.Float64bits(f))
-}
-
-func (e *simpleEncDriver) encodeInt(v int64) {
- if v < 0 {
- e.encUint(uint64(-v), simpleVdNegInt)
- } else {
- e.encUint(uint64(v), simpleVdPosInt)
- }
-}
-
-func (e *simpleEncDriver) encodeUint(v uint64) {
- e.encUint(v, simpleVdPosInt)
-}
-
-func (e *simpleEncDriver) encUint(v uint64, bd uint8) {
- switch {
- case v <= math.MaxUint8:
- e.w.writen2(bd, uint8(v))
- case v <= math.MaxUint16:
- e.w.writen1(bd + 1)
- e.w.writeUint16(uint16(v))
- case v <= math.MaxUint32:
- e.w.writen1(bd + 2)
- e.w.writeUint32(uint32(v))
- case v <= math.MaxUint64:
- e.w.writen1(bd + 3)
- e.w.writeUint64(v)
- }
-}
-
-func (e *simpleEncDriver) encLen(bd byte, length int) {
- switch {
- case length == 0:
- e.w.writen1(bd)
- case length <= math.MaxUint8:
- e.w.writen1(bd + 1)
- e.w.writen1(uint8(length))
- case length <= math.MaxUint16:
- e.w.writen1(bd + 2)
- e.w.writeUint16(uint16(length))
- case int64(length) <= math.MaxUint32:
- e.w.writen1(bd + 3)
- e.w.writeUint32(uint32(length))
- default:
- e.w.writen1(bd + 4)
- e.w.writeUint64(uint64(length))
- }
-}
-
-func (e *simpleEncDriver) encodeExtPreamble(xtag byte, length int) {
- e.encLen(simpleVdExt, length)
- e.w.writen1(xtag)
-}
-
-func (e *simpleEncDriver) encodeArrayPreamble(length int) {
- e.encLen(simpleVdArray, length)
-}
-
-func (e *simpleEncDriver) encodeMapPreamble(length int) {
- e.encLen(simpleVdMap, length)
-}
-
-func (e *simpleEncDriver) encodeString(c charEncoding, v string) {
- e.encLen(simpleVdString, len(v))
- e.w.writestr(v)
-}
-
-func (e *simpleEncDriver) encodeSymbol(v string) {
- e.encodeString(c_UTF8, v)
-}
-
-func (e *simpleEncDriver) encodeStringBytes(c charEncoding, v []byte) {
- e.encLen(simpleVdByteArray, len(v))
- e.w.writeb(v)
-}
-
-//------------------------------------
-
-type simpleDecDriver struct {
- h *SimpleHandle
- r decReader
- bdRead bool
- bdType valueType
- bd byte
- //b [8]byte
-}
-
-func (d *simpleDecDriver) initReadNext() {
- if d.bdRead {
- return
- }
- d.bd = d.r.readn1()
- d.bdRead = true
- d.bdType = valueTypeUnset
-}
-
-func (d *simpleDecDriver) currentEncodedType() valueType {
- if d.bdType == valueTypeUnset {
- switch d.bd {
- case simpleVdNil:
- d.bdType = valueTypeNil
- case simpleVdTrue, simpleVdFalse:
- d.bdType = valueTypeBool
- case simpleVdPosInt, simpleVdPosInt + 1, simpleVdPosInt + 2, simpleVdPosInt + 3:
- d.bdType = valueTypeUint
- case simpleVdNegInt, simpleVdNegInt + 1, simpleVdNegInt + 2, simpleVdNegInt + 3:
- d.bdType = valueTypeInt
- case simpleVdFloat32, simpleVdFloat64:
- d.bdType = valueTypeFloat
- case simpleVdString, simpleVdString + 1, simpleVdString + 2, simpleVdString + 3, simpleVdString + 4:
- d.bdType = valueTypeString
- case simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:
- d.bdType = valueTypeBytes
- case simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:
- d.bdType = valueTypeExt
- case simpleVdArray, simpleVdArray + 1, simpleVdArray + 2, simpleVdArray + 3, simpleVdArray + 4:
- d.bdType = valueTypeArray
- case simpleVdMap, simpleVdMap + 1, simpleVdMap + 2, simpleVdMap + 3, simpleVdMap + 4:
- d.bdType = valueTypeMap
- default:
- decErr("currentEncodedType: Unrecognized d.vd: 0x%x", d.bd)
- }
- }
- return d.bdType
-}
-
-func (d *simpleDecDriver) tryDecodeAsNil() bool {
- if d.bd == simpleVdNil {
- d.bdRead = false
- return true
- }
- return false
-}
-
-func (d *simpleDecDriver) isBuiltinType(rt uintptr) bool {
- return false
-}
-
-func (d *simpleDecDriver) decodeBuiltin(rt uintptr, v interface{}) {
-}
-
-func (d *simpleDecDriver) decIntAny() (ui uint64, i int64, neg bool) {
- switch d.bd {
- case simpleVdPosInt:
- ui = uint64(d.r.readn1())
- i = int64(ui)
- case simpleVdPosInt + 1:
- ui = uint64(d.r.readUint16())
- i = int64(ui)
- case simpleVdPosInt + 2:
- ui = uint64(d.r.readUint32())
- i = int64(ui)
- case simpleVdPosInt + 3:
- ui = uint64(d.r.readUint64())
- i = int64(ui)
- case simpleVdNegInt:
- ui = uint64(d.r.readn1())
- i = -(int64(ui))
- neg = true
- case simpleVdNegInt + 1:
- ui = uint64(d.r.readUint16())
- i = -(int64(ui))
- neg = true
- case simpleVdNegInt + 2:
- ui = uint64(d.r.readUint32())
- i = -(int64(ui))
- neg = true
- case simpleVdNegInt + 3:
- ui = uint64(d.r.readUint64())
- i = -(int64(ui))
- neg = true
- default:
- decErr("decIntAny: Integer only valid from pos/neg integer1..8. Invalid descriptor: %v", d.bd)
- }
- // don't do this check, because callers may only want the unsigned value.
- // if ui > math.MaxInt64 {
- // decErr("decIntAny: Integer out of range for signed int64: %v", ui)
- // }
- return
-}
-
-func (d *simpleDecDriver) decodeInt(bitsize uint8) (i int64) {
- _, i, _ = d.decIntAny()
- checkOverflow(0, i, bitsize)
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) decodeUint(bitsize uint8) (ui uint64) {
- ui, i, neg := d.decIntAny()
- if neg {
- decErr("Assigning negative signed value: %v, to unsigned type", i)
- }
- checkOverflow(ui, 0, bitsize)
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) decodeFloat(chkOverflow32 bool) (f float64) {
- switch d.bd {
- case simpleVdFloat32:
- f = float64(math.Float32frombits(d.r.readUint32()))
- case simpleVdFloat64:
- f = math.Float64frombits(d.r.readUint64())
- default:
- if d.bd >= simpleVdPosInt && d.bd <= simpleVdNegInt+3 {
- _, i, _ := d.decIntAny()
- f = float64(i)
- } else {
- decErr("Float only valid from float32/64: Invalid descriptor: %v", d.bd)
- }
- }
- checkOverflowFloat32(f, chkOverflow32)
- d.bdRead = false
- return
-}
-
-// bool can be decoded from bool only (single byte).
-func (d *simpleDecDriver) decodeBool() (b bool) {
- switch d.bd {
- case simpleVdTrue:
- b = true
- case simpleVdFalse:
- default:
- decErr("Invalid single-byte value for bool: %s: %x", msgBadDesc, d.bd)
- }
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) readMapLen() (length int) {
- d.bdRead = false
- return d.decLen()
-}
-
-func (d *simpleDecDriver) readArrayLen() (length int) {
- d.bdRead = false
- return d.decLen()
-}
-
-func (d *simpleDecDriver) decLen() int {
- switch d.bd % 8 {
- case 0:
- return 0
- case 1:
- return int(d.r.readn1())
- case 2:
- return int(d.r.readUint16())
- case 3:
- ui := uint64(d.r.readUint32())
- checkOverflow(ui, 0, intBitsize)
- return int(ui)
- case 4:
- ui := d.r.readUint64()
- checkOverflow(ui, 0, intBitsize)
- return int(ui)
- }
- decErr("decLen: Cannot read length: bd%8 must be in range 0..4. Got: %d", d.bd%8)
- return -1
-}
-
-func (d *simpleDecDriver) decodeString() (s string) {
- s = string(d.r.readn(d.decLen()))
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) decodeBytes(bs []byte) (bsOut []byte, changed bool) {
- if clen := d.decLen(); clen > 0 {
- // if no contents in stream, don't update the passed byteslice
- if len(bs) != clen {
- if len(bs) > clen {
- bs = bs[:clen]
- } else {
- bs = make([]byte, clen)
- }
- bsOut = bs
- changed = true
- }
- d.r.readb(bs)
- }
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) decodeExt(verifyTag bool, tag byte) (xtag byte, xbs []byte) {
- switch d.bd {
- case simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:
- l := d.decLen()
- xtag = d.r.readn1()
- if verifyTag && xtag != tag {
- decErr("Wrong extension tag. Got %b. Expecting: %v", xtag, tag)
- }
- xbs = d.r.readn(l)
- case simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:
- xbs, _ = d.decodeBytes(nil)
- default:
- decErr("Invalid d.vd for extensions (Expecting extensions or byte array). Got: 0x%x", d.bd)
- }
- d.bdRead = false
- return
-}
-
-func (d *simpleDecDriver) decodeNaked() (v interface{}, vt valueType, decodeFurther bool) {
- d.initReadNext()
-
- switch d.bd {
- case simpleVdNil:
- vt = valueTypeNil
- case simpleVdFalse:
- vt = valueTypeBool
- v = false
- case simpleVdTrue:
- vt = valueTypeBool
- v = true
- case simpleVdPosInt, simpleVdPosInt + 1, simpleVdPosInt + 2, simpleVdPosInt + 3:
- vt = valueTypeUint
- ui, _, _ := d.decIntAny()
- v = ui
- case simpleVdNegInt, simpleVdNegInt + 1, simpleVdNegInt + 2, simpleVdNegInt + 3:
- vt = valueTypeInt
- _, i, _ := d.decIntAny()
- v = i
- case simpleVdFloat32:
- vt = valueTypeFloat
- v = d.decodeFloat(true)
- case simpleVdFloat64:
- vt = valueTypeFloat
- v = d.decodeFloat(false)
- case simpleVdString, simpleVdString + 1, simpleVdString + 2, simpleVdString + 3, simpleVdString + 4:
- vt = valueTypeString
- v = d.decodeString()
- case simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, simpleVdByteArray + 3, simpleVdByteArray + 4:
- vt = valueTypeBytes
- v, _ = d.decodeBytes(nil)
- case simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, simpleVdExt + 4:
- vt = valueTypeExt
- l := d.decLen()
- var re RawExt
- re.Tag = d.r.readn1()
- re.Data = d.r.readn(l)
- v = &re
- vt = valueTypeExt
- case simpleVdArray, simpleVdArray + 1, simpleVdArray + 2, simpleVdArray + 3, simpleVdArray + 4:
- vt = valueTypeArray
- decodeFurther = true
- case simpleVdMap, simpleVdMap + 1, simpleVdMap + 2, simpleVdMap + 3, simpleVdMap + 4:
- vt = valueTypeMap
- decodeFurther = true
- default:
- decErr("decodeNaked: Unrecognized d.vd: 0x%x", d.bd)
- }
-
- if !decodeFurther {
- d.bdRead = false
- }
- return
-}
-
-//------------------------------------
-
-// SimpleHandle is a Handle for a very simple encoding format.
-//
-// simple is a simplistic codec similar to binc, but not as compact.
-// - Encoding of a value is always preceeded by the descriptor byte (bd)
-// - True, false, nil are encoded fully in 1 byte (the descriptor)
-// - Integers (intXXX, uintXXX) are encoded in 1, 2, 4 or 8 bytes (plus a descriptor byte).
-// There are positive (uintXXX and intXXX >= 0) and negative (intXXX < 0) integers.
-// - Floats are encoded in 4 or 8 bytes (plus a descriptor byte)
-// - Lenght of containers (strings, bytes, array, map, extensions)
-// are encoded in 0, 1, 2, 4 or 8 bytes.
-// Zero-length containers have no length encoded.
-// For others, the number of bytes is given by pow(2, bd%3)
-// - maps are encoded as [bd] [length] [[key][value]]...
-// - arrays are encoded as [bd] [length] [value]...
-// - extensions are encoded as [bd] [length] [tag] [byte]...
-// - strings/bytearrays are encoded as [bd] [length] [byte]...
-//
-// The full spec will be published soon.
-type SimpleHandle struct {
- BasicHandle
-}
-
-func (h *SimpleHandle) newEncDriver(w encWriter) encDriver {
- return &simpleEncDriver{w: w, h: h}
-}
-
-func (h *SimpleHandle) newDecDriver(r decReader) decDriver {
- return &simpleDecDriver{r: r, h: h}
-}
-
-func (_ *SimpleHandle) writeExt() bool {
- return true
-}
-
-func (h *SimpleHandle) getBasicHandle() *BasicHandle {
- return &h.BasicHandle
-}
-
-var _ decDriver = (*simpleDecDriver)(nil)
-var _ encDriver = (*simpleEncDriver)(nil)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/time.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/time.go
deleted file mode 100644
index c86d6532..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-msgpack/codec/time.go
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright (c) 2012, 2013 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a BSD-style license found in the LICENSE file.
-
-package codec
-
-import (
- "time"
-)
-
-var (
- timeDigits = [...]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}
-)
-
-// EncodeTime encodes a time.Time as a []byte, including
-// information on the instant in time and UTC offset.
-//
-// Format Description
-//
-// A timestamp is composed of 3 components:
-//
-// - secs: signed integer representing seconds since unix epoch
-// - nsces: unsigned integer representing fractional seconds as a
-// nanosecond offset within secs, in the range 0 <= nsecs < 1e9
-// - tz: signed integer representing timezone offset in minutes east of UTC,
-// and a dst (daylight savings time) flag
-//
-// When encoding a timestamp, the first byte is the descriptor, which
-// defines which components are encoded and how many bytes are used to
-// encode secs and nsecs components. *If secs/nsecs is 0 or tz is UTC, it
-// is not encoded in the byte array explicitly*.
-//
-// Descriptor 8 bits are of the form `A B C DDD EE`:
-// A: Is secs component encoded? 1 = true
-// B: Is nsecs component encoded? 1 = true
-// C: Is tz component encoded? 1 = true
-// DDD: Number of extra bytes for secs (range 0-7).
-// If A = 1, secs encoded in DDD+1 bytes.
-// If A = 0, secs is not encoded, and is assumed to be 0.
-// If A = 1, then we need at least 1 byte to encode secs.
-// DDD says the number of extra bytes beyond that 1.
-// E.g. if DDD=0, then secs is represented in 1 byte.
-// if DDD=2, then secs is represented in 3 bytes.
-// EE: Number of extra bytes for nsecs (range 0-3).
-// If B = 1, nsecs encoded in EE+1 bytes (similar to secs/DDD above)
-//
-// Following the descriptor bytes, subsequent bytes are:
-//
-// secs component encoded in `DDD + 1` bytes (if A == 1)
-// nsecs component encoded in `EE + 1` bytes (if B == 1)
-// tz component encoded in 2 bytes (if C == 1)
-//
-// secs and nsecs components are integers encoded in a BigEndian
-// 2-complement encoding format.
-//
-// tz component is encoded as 2 bytes (16 bits). Most significant bit 15 to
-// Least significant bit 0 are described below:
-//
-// Timezone offset has a range of -12:00 to +14:00 (ie -720 to +840 minutes).
-// Bit 15 = have\_dst: set to 1 if we set the dst flag.
-// Bit 14 = dst\_on: set to 1 if dst is in effect at the time, or 0 if not.
-// Bits 13..0 = timezone offset in minutes. It is a signed integer in Big Endian format.
-//
-func encodeTime(t time.Time) []byte {
- //t := rv.Interface().(time.Time)
- tsecs, tnsecs := t.Unix(), t.Nanosecond()
- var (
- bd byte
- btmp [8]byte
- bs [16]byte
- i int = 1
- )
- l := t.Location()
- if l == time.UTC {
- l = nil
- }
- if tsecs != 0 {
- bd = bd | 0x80
- bigen.PutUint64(btmp[:], uint64(tsecs))
- f := pruneSignExt(btmp[:], tsecs >= 0)
- bd = bd | (byte(7-f) << 2)
- copy(bs[i:], btmp[f:])
- i = i + (8 - f)
- }
- if tnsecs != 0 {
- bd = bd | 0x40
- bigen.PutUint32(btmp[:4], uint32(tnsecs))
- f := pruneSignExt(btmp[:4], true)
- bd = bd | byte(3-f)
- copy(bs[i:], btmp[f:4])
- i = i + (4 - f)
- }
- if l != nil {
- bd = bd | 0x20
- // Note that Go Libs do not give access to dst flag.
- _, zoneOffset := t.Zone()
- //zoneName, zoneOffset := t.Zone()
- zoneOffset /= 60
- z := uint16(zoneOffset)
- bigen.PutUint16(btmp[:2], z)
- // clear dst flags
- bs[i] = btmp[0] & 0x3f
- bs[i+1] = btmp[1]
- i = i + 2
- }
- bs[0] = bd
- return bs[0:i]
-}
-
-// DecodeTime decodes a []byte into a time.Time.
-func decodeTime(bs []byte) (tt time.Time, err error) {
- bd := bs[0]
- var (
- tsec int64
- tnsec uint32
- tz uint16
- i byte = 1
- i2 byte
- n byte
- )
- if bd&(1<<7) != 0 {
- var btmp [8]byte
- n = ((bd >> 2) & 0x7) + 1
- i2 = i + n
- copy(btmp[8-n:], bs[i:i2])
- //if first bit of bs[i] is set, then fill btmp[0..8-n] with 0xff (ie sign extend it)
- if bs[i]&(1<<7) != 0 {
- copy(btmp[0:8-n], bsAll0xff)
- //for j,k := byte(0), 8-n; j < k; j++ { btmp[j] = 0xff }
- }
- i = i2
- tsec = int64(bigen.Uint64(btmp[:]))
- }
- if bd&(1<<6) != 0 {
- var btmp [4]byte
- n = (bd & 0x3) + 1
- i2 = i + n
- copy(btmp[4-n:], bs[i:i2])
- i = i2
- tnsec = bigen.Uint32(btmp[:])
- }
- if bd&(1<<5) == 0 {
- tt = time.Unix(tsec, int64(tnsec)).UTC()
- return
- }
- // In stdlib time.Parse, when a date is parsed without a zone name, it uses "" as zone name.
- // However, we need name here, so it can be shown when time is printed.
- // Zone name is in form: UTC-08:00.
- // Note that Go Libs do not give access to dst flag, so we ignore dst bits
-
- i2 = i + 2
- tz = bigen.Uint16(bs[i:i2])
- i = i2
- // sign extend sign bit into top 2 MSB (which were dst bits):
- if tz&(1<<13) == 0 { // positive
- tz = tz & 0x3fff //clear 2 MSBs: dst bits
- } else { // negative
- tz = tz | 0xc000 //set 2 MSBs: dst bits
- //tzname[3] = '-' (TODO: verify. this works here)
- }
- tzint := int16(tz)
- if tzint == 0 {
- tt = time.Unix(tsec, int64(tnsec)).UTC()
- } else {
- // For Go Time, do not use a descriptive timezone.
- // It's unnecessary, and makes it harder to do a reflect.DeepEqual.
- // The Offset already tells what the offset should be, if not on UTC and unknown zone name.
- // var zoneName = timeLocUTCName(tzint)
- tt = time.Unix(tsec, int64(tnsec)).In(time.FixedZone("", int(tzint)*60))
- }
- return
-}
-
-func timeLocUTCName(tzint int16) string {
- if tzint == 0 {
- return "UTC"
- }
- var tzname = []byte("UTC+00:00")
- //tzname := fmt.Sprintf("UTC%s%02d:%02d", tzsign, tz/60, tz%60) //perf issue using Sprintf. inline below.
- //tzhr, tzmin := tz/60, tz%60 //faster if u convert to int first
- var tzhr, tzmin int16
- if tzint < 0 {
- tzname[3] = '-' // (TODO: verify. this works here)
- tzhr, tzmin = -tzint/60, (-tzint)%60
- } else {
- tzhr, tzmin = tzint/60, tzint%60
- }
- tzname[4] = timeDigits[tzhr/10]
- tzname[5] = timeDigits[tzhr%10]
- tzname[7] = timeDigits[tzmin/10]
- tzname[8] = timeDigits[tzmin%10]
- return string(tzname)
- //return time.FixedZone(string(tzname), int(tzint)*60)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/README.md
index 2058cfb6..78d354ed 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/README.md
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/README.md
@@ -1,10 +1,9 @@
# Go Plugin System over RPC
`go-plugin` is a Go (golang) plugin system over RPC. It is the plugin system
-that has been in use by HashiCorp tooling for over 3 years. While initially
-created for [Packer](https://www.packer.io), it has since been used by
-[Terraform](https://www.terraform.io) and [Otto](https://www.ottoproject.io),
-with plans to also use it for [Nomad](https://www.nomadproject.io) and
+that has been in use by HashiCorp tooling for over 4 years. While initially
+created for [Packer](https://www.packer.io), it is additionally in use by
+[Terraform](https://www.terraform.io), [Nomad](https://www.nomadproject.io), and
[Vault](https://www.vaultproject.io).
While the plugin system is over RPC, it is currently only designed to work
@@ -24,6 +23,11 @@ interface as if it were going to run in the same process. For a plugin user:
you just use and call functions on an interface as if it were in the same
process. This plugin system handles the communication in between.
+**Cross-language support.** Plugins can be written (and consumed) by
+almost every major language. This library supports serving plugins via
+[gRPC](http://www.grpc.io). gRPC-based plugins enable plugins to be written
+in any language.
+
**Complex arguments and return values are supported.** This library
provides APIs for handling complex arguments and return values such
as interfaces, `io.Reader/Writer`, etc. We do this by giving you a library
@@ -37,7 +41,10 @@ and the plugin can call back into the host process.
**Built-in Logging.** Any plugins that use the `log` standard library
will have log data automatically sent to the host process. The host
process will mirror this output prefixed with the path to the plugin
-binary. This makes debugging with plugins simple.
+binary. This makes debugging with plugins simple. If the host system
+uses [hclog](https://github.com/hashicorp/go-hclog) then the log data
+will be structured. If the plugin also uses hclog, logs from the plugin
+will be sent to the host hclog and be structured.
**Protocol Versioning.** A very basic "protocol version" is supported that
can be incremented to invalidate any previous plugins. This is useful when
@@ -62,13 +69,18 @@ This requires the host/plugin to know this is possible and daemonize
properly. `NewClient` takes a `ReattachConfig` to determine if and how to
reattach.
+**Cryptographically Secure Plugins.** Plugins can be verified with an expected
+checksum and RPC communications can be configured to use TLS. The host process
+must be properly secured to protect this configuration.
+
## Architecture
The HashiCorp plugin system works by launching subprocesses and communicating
-over RPC (using standard `net/rpc`). A single connection is made between
-any plugin and the host process, and we use a
-[connection multiplexing](https://github.com/hashicorp/yamux)
-library to multiplex any other connections on top.
+over RPC (using standard `net/rpc` or [gRPC](http://www.grpc.io). A single
+connection is made between any plugin and the host process. For net/rpc-based
+plugins, we use a [connection multiplexing](https://github.com/hashicorp/yamux)
+library to multiplex any other connections on top. For gRPC-based plugins,
+the HTTP2 protocol handles multiplexing.
This architecture has a number of benefits:
@@ -76,8 +88,8 @@ This architecture has a number of benefits:
panic the plugin user.
* Plugins are very easy to write: just write a Go application and `go build`.
- Theoretically you could also use another language as long as it can
- communicate the Go `net/rpc` protocol but this hasn't yet been tried.
+ Or use any other language to write a gRPC server with a tiny amount of
+ boilerplate to support go-plugin.
* Plugins are very easy to install: just put the binary in a location where
the host will find it (depends on the host but this library also provides
@@ -85,8 +97,8 @@ This architecture has a number of benefits:
* Plugins can be relatively secure: The plugin only has access to the
interfaces and args given to it, not to the entire memory space of the
- process. More security features are planned (see the coming soon section
- below).
+ process. Additionally, go-plugin can communicate with the plugin over
+ TLS.
## Usage
@@ -97,10 +109,9 @@ high-level steps that must be done. Examples are available in the
1. Choose the interface(s) you want to expose for plugins.
2. For each interface, implement an implementation of that interface
- that communicates over an `*rpc.Client` (from the standard `net/rpc`
- package) for every function call. Likewise, implement the RPC server
- struct this communicates to which is then communicating to a real,
- concrete implementation.
+ that communicates over a `net/rpc` connection or other a
+ [gRPC](http://www.grpc.io) connection or both. You'll have to implement
+ both a client and server implementation.
3. Create a `Plugin` implementation that knows how to create the RPC
client/server for a given plugin type.
@@ -125,10 +136,6 @@ improvements we can make.
At this point in time, the roadmap for the plugin system is:
-**Cryptographically Secure Plugins.** We'll implement signing plugins
-and loading signed plugins in order to allow Vault to make use of multi-process
-in a secure way.
-
**Semantic Versioning.** Plugins will be able to implement a semantic version.
This plugin system will give host processes a system for constraining
versions. This is in addition to the protocol versioning already present
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/client.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/client.go
index 9f8a0f27..b912826b 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/client.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/client.go
@@ -2,8 +2,11 @@ package plugin
import (
"bufio"
+ "crypto/subtle"
+ "crypto/tls"
"errors"
"fmt"
+ "hash"
"io"
"io/ioutil"
"log"
@@ -17,6 +20,8 @@ import (
"sync/atomic"
"time"
"unicode"
+
+ hclog "github.com/hashicorp/go-hclog"
)
// If this is 1, then we've called CleanupClients. This can be used
@@ -35,6 +40,22 @@ var (
// ErrProcessNotFound is returned when a client is instantiated to
// reattach to an existing process and it isn't found.
ErrProcessNotFound = errors.New("Reattachment process not found")
+
+ // ErrChecksumsDoNotMatch is returned when binary's checksum doesn't match
+ // the one provided in the SecureConfig.
+ ErrChecksumsDoNotMatch = errors.New("checksums did not match")
+
+ // ErrSecureNoChecksum is returned when an empty checksum is provided to the
+ // SecureConfig.
+ ErrSecureConfigNoChecksum = errors.New("no checksum provided")
+
+ // ErrSecureNoHash is returned when a nil Hash object is provided to the
+ // SecureConfig.
+ ErrSecureConfigNoHash = errors.New("no hash implementation provided")
+
+ // ErrSecureConfigAndReattach is returned when both Reattach and
+ // SecureConfig are set.
+ ErrSecureConfigAndReattach = errors.New("only one of Reattach or SecureConfig can be set")
)
// Client handles the lifecycle of a plugin application. It launches
@@ -55,7 +76,9 @@ type Client struct {
l sync.Mutex
address net.Addr
process *os.Process
- client *RPCClient
+ client ClientProtocol
+ protocol Protocol
+ logger hclog.Logger
}
// ClientConfig is the configuration used to initialize a new
@@ -79,6 +102,13 @@ type ClientConfig struct {
Cmd *exec.Cmd
Reattach *ReattachConfig
+ // SecureConfig is configuration for verifying the integrity of the
+ // executable. It can not be used with Reattach.
+ SecureConfig *SecureConfig
+
+ // TLSConfig is used to enable TLS on the RPC client.
+ TLSConfig *tls.Config
+
// Managed represents if the client should be managed by the
// plugin package or not. If true, then by calling CleanupClients,
// it will automatically be cleaned up. Otherwise, the client
@@ -109,14 +139,74 @@ type ClientConfig struct {
// sync any of these streams.
SyncStdout io.Writer
SyncStderr io.Writer
+
+ // AllowedProtocols is a list of allowed protocols. If this isn't set,
+ // then only netrpc is allowed. This is so that older go-plugin systems
+ // can show friendly errors if they see a plugin with an unknown
+ // protocol.
+ //
+ // By setting this, you can cause an error immediately on plugin start
+ // if an unsupported protocol is used with a good error message.
+ //
+ // If this isn't set at all (nil value), then only net/rpc is accepted.
+ // This is done for legacy reasons. You must explicitly opt-in to
+ // new protocols.
+ AllowedProtocols []Protocol
+
+ // Logger is the logger that the client will used. If none is provided,
+ // it will default to hclog's default logger.
+ Logger hclog.Logger
}
// ReattachConfig is used to configure a client to reattach to an
// already-running plugin process. You can retrieve this information by
// calling ReattachConfig on Client.
type ReattachConfig struct {
- Addr net.Addr
- Pid int
+ Protocol Protocol
+ Addr net.Addr
+ Pid int
+}
+
+// SecureConfig is used to configure a client to verify the integrity of an
+// executable before running. It does this by verifying the checksum is
+// expected. Hash is used to specify the hashing method to use when checksumming
+// the file. The configuration is verified by the client by calling the
+// SecureConfig.Check() function.
+//
+// The host process should ensure the checksum was provided by a trusted and
+// authoritative source. The binary should be installed in such a way that it
+// can not be modified by an unauthorized user between the time of this check
+// and the time of execution.
+type SecureConfig struct {
+ Checksum []byte
+ Hash hash.Hash
+}
+
+// Check takes the filepath to an executable and returns true if the checksum of
+// the file matches the checksum provided in the SecureConfig.
+func (s *SecureConfig) Check(filePath string) (bool, error) {
+ if len(s.Checksum) == 0 {
+ return false, ErrSecureConfigNoChecksum
+ }
+
+ if s.Hash == nil {
+ return false, ErrSecureConfigNoHash
+ }
+
+ file, err := os.Open(filePath)
+ if err != nil {
+ return false, err
+ }
+ defer file.Close()
+
+ _, err = io.Copy(s.Hash, file)
+ if err != nil {
+ return false, err
+ }
+
+ sum := s.Hash.Sum(nil)
+
+ return subtle.ConstantTimeCompare(sum, s.Checksum) == 1, nil
}
// This makes sure all the managed subprocesses are killed and properly
@@ -174,7 +264,22 @@ func NewClient(config *ClientConfig) (c *Client) {
config.SyncStderr = ioutil.Discard
}
- c = &Client{config: config}
+ if config.AllowedProtocols == nil {
+ config.AllowedProtocols = []Protocol{ProtocolNetRPC}
+ }
+
+ if config.Logger == nil {
+ config.Logger = hclog.New(&hclog.LoggerOptions{
+ Output: hclog.DefaultOutput,
+ Level: hclog.Trace,
+ Name: "plugin",
+ })
+ }
+
+ c = &Client{
+ config: config,
+ logger: config.Logger,
+ }
if config.Managed {
managedClientsLock.Lock()
managedClients = append(managedClients, c)
@@ -184,11 +289,11 @@ func NewClient(config *ClientConfig) (c *Client) {
return
}
-// Client returns an RPC client for the plugin.
+// Client returns the protocol client for this connection.
//
-// Subsequent calls to this will return the same RPC client.
-func (c *Client) Client() (*RPCClient, error) {
- addr, err := c.Start()
+// Subsequent calls to this will return the same client.
+func (c *Client) Client() (ClientProtocol, error) {
+ _, err := c.Start()
if err != nil {
return nil, err
}
@@ -200,29 +305,18 @@ func (c *Client) Client() (*RPCClient, error) {
return c.client, nil
}
- // Connect to the client
- conn, err := net.Dial(addr.Network(), addr.String())
- if err != nil {
- return nil, err
- }
- if tcpConn, ok := conn.(*net.TCPConn); ok {
- // Make sure to set keep alive so that the connection doesn't die
- tcpConn.SetKeepAlive(true)
- }
+ switch c.protocol {
+ case ProtocolNetRPC:
+ c.client, err = newRPCClient(c)
- // Create the actual RPC client
- c.client, err = NewRPCClient(conn, c.config.Plugins)
- if err != nil {
- conn.Close()
- return nil, err
+ case ProtocolGRPC:
+ c.client, err = newGRPCClient(c)
+
+ default:
+ return nil, fmt.Errorf("unknown server protocol: %s", c.protocol)
}
- // Begin the stream syncing so that stdin, out, err work properly
- err = c.client.SyncStreams(
- c.config.SyncStdout,
- c.config.SyncStderr)
if err != nil {
- c.client.Close()
c.client = nil
return nil, err
}
@@ -274,8 +368,7 @@ func (c *Client) Kill() {
if err != nil {
// If there was an error just log it. We're going to force
// kill in a moment anyways.
- log.Printf(
- "[WARN] plugin: error closing client during Kill: %s", err)
+ c.logger.Warn("error closing client during Kill", "err", err)
}
}
}
@@ -318,9 +411,14 @@ func (c *Client) Start() (addr net.Addr, err error) {
{
cmdSet := c.config.Cmd != nil
attachSet := c.config.Reattach != nil
+ secureSet := c.config.SecureConfig != nil
if cmdSet == attachSet {
return nil, fmt.Errorf("Only one of Cmd or Reattach must be set")
}
+
+ if secureSet && attachSet {
+ return nil, ErrSecureConfigAndReattach
+ }
}
// Create the logging channel for when we kill
@@ -350,7 +448,7 @@ func (c *Client) Start() (addr net.Addr, err error) {
pidWait(pid)
// Log so we can see it
- log.Printf("[DEBUG] plugin: reattached plugin process exited\n")
+ c.logger.Debug("reattached plugin process exited")
// Mark it
c.l.Lock()
@@ -364,6 +462,11 @@ func (c *Client) Start() (addr net.Addr, err error) {
// Set the address and process
c.address = c.config.Reattach.Addr
c.process = p
+ c.protocol = c.config.Reattach.Protocol
+ if c.protocol == "" {
+ // Default the protocol to net/rpc for backwards compatibility
+ c.protocol = ProtocolNetRPC
+ }
return c.address, nil
}
@@ -384,7 +487,15 @@ func (c *Client) Start() (addr net.Addr, err error) {
cmd.Stderr = stderr_w
cmd.Stdout = stdout_w
- log.Printf("[DEBUG] plugin: starting plugin: %s %#v", cmd.Path, cmd.Args)
+ if c.config.SecureConfig != nil {
+ if ok, err := c.config.SecureConfig.Check(cmd.Path); err != nil {
+ return nil, fmt.Errorf("error verifying checksum: %s", err)
+ } else if !ok {
+ return nil, ErrChecksumsDoNotMatch
+ }
+ }
+
+ c.logger.Debug("starting plugin", "path", cmd.Path, "args", cmd.Args)
err = cmd.Start()
if err != nil {
return
@@ -418,7 +529,7 @@ func (c *Client) Start() (addr net.Addr, err error) {
cmd.Wait()
// Log and make sure to flush the logs write away
- log.Printf("[DEBUG] plugin: %s: plugin process exited\n", cmd.Path)
+ c.logger.Debug("plugin process exited", "path", cmd.Path)
os.Stderr.Sync()
// Mark that we exited
@@ -465,7 +576,7 @@ func (c *Client) Start() (addr net.Addr, err error) {
timeout := time.After(c.config.StartTimeout)
// Start looking for the address
- log.Printf("[DEBUG] plugin: waiting for RPC address for: %s", cmd.Path)
+ c.logger.Debug("waiting for RPC address", "path", cmd.Path)
select {
case <-timeout:
err = errors.New("timeout while waiting for plugin to start")
@@ -475,7 +586,7 @@ func (c *Client) Start() (addr net.Addr, err error) {
// Trim the line and split by "|" in order to get the parts of
// the output.
line := strings.TrimSpace(string(lineBytes))
- parts := strings.SplitN(line, "|", 4)
+ parts := strings.SplitN(line, "|", 6)
if len(parts) < 4 {
err = fmt.Errorf(
"Unrecognized remote plugin message: %s\n\n"+
@@ -525,6 +636,27 @@ func (c *Client) Start() (addr net.Addr, err error) {
default:
err = fmt.Errorf("Unknown address type: %s", parts[3])
}
+
+ // If we have a server type, then record that. We default to net/rpc
+ // for backwards compatibility.
+ c.protocol = ProtocolNetRPC
+ if len(parts) >= 5 {
+ c.protocol = Protocol(parts[4])
+ }
+
+ found := false
+ for _, p := range c.config.AllowedProtocols {
+ if p == c.protocol {
+ found = true
+ break
+ }
+ }
+ if !found {
+ err = fmt.Errorf("Unsupported plugin protocol %q. Supported: %v",
+ c.protocol, c.config.AllowedProtocols)
+ return
+ }
+
}
c.address = addr
@@ -555,9 +687,46 @@ func (c *Client) ReattachConfig() *ReattachConfig {
}
return &ReattachConfig{
- Addr: c.address,
- Pid: c.config.Cmd.Process.Pid,
+ Protocol: c.protocol,
+ Addr: c.address,
+ Pid: c.config.Cmd.Process.Pid,
+ }
+}
+
+// Protocol returns the protocol of server on the remote end. This will
+// start the plugin process if it isn't already started. Errors from
+// starting the plugin are surpressed and ProtocolInvalid is returned. It
+// is recommended you call Start explicitly before calling Protocol to ensure
+// no errors occur.
+func (c *Client) Protocol() Protocol {
+ _, err := c.Start()
+ if err != nil {
+ return ProtocolInvalid
+ }
+
+ return c.protocol
+}
+
+// dialer is compatible with grpc.WithDialer and creates the connection
+// to the plugin.
+func (c *Client) dialer(_ string, timeout time.Duration) (net.Conn, error) {
+ // Connect to the client
+ conn, err := net.Dial(c.address.Network(), c.address.String())
+ if err != nil {
+ return nil, err
+ }
+ if tcpConn, ok := conn.(*net.TCPConn); ok {
+ // Make sure to set keep alive so that the connection doesn't die
+ tcpConn.SetKeepAlive(true)
}
+
+ // If we have a TLS config we wrap our connection. We only do this
+ // for net/rpc since gRPC uses its own mechanism for TLS.
+ if c.protocol == ProtocolNetRPC && c.config.TLSConfig != nil {
+ conn = tls.Client(conn, c.config.TLSConfig)
+ }
+
+ return conn, nil
}
func (c *Client) logStderr(r io.Reader) {
@@ -566,9 +735,31 @@ func (c *Client) logStderr(r io.Reader) {
line, err := bufR.ReadString('\n')
if line != "" {
c.config.Stderr.Write([]byte(line))
-
line = strings.TrimRightFunc(line, unicode.IsSpace)
- log.Printf("[DEBUG] plugin: %s: %s", filepath.Base(c.config.Cmd.Path), line)
+
+ l := c.logger.Named(filepath.Base(c.config.Cmd.Path))
+
+ entry, err := parseJSON(line)
+ // If output is not JSON format, print directly to Debug
+ if err != nil {
+ l.Debug(line)
+ } else {
+ out := flattenKVPairs(entry.KVPairs)
+
+ l = l.With("timestamp", entry.Timestamp.Format(hclog.TimeFormat))
+ switch hclog.LevelFromString(entry.Level) {
+ case hclog.Trace:
+ l.Trace(entry.Message, out...)
+ case hclog.Debug:
+ l.Debug(entry.Message, out...)
+ case hclog.Info:
+ l.Info(entry.Message, out...)
+ case hclog.Warn:
+ l.Warn(entry.Message, out...)
+ case hclog.Error:
+ l.Error(entry.Message, out...)
+ }
+ }
}
if err == io.EOF {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_client.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_client.go
new file mode 100644
index 00000000..3bcf95ef
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_client.go
@@ -0,0 +1,83 @@
+package plugin
+
+import (
+ "fmt"
+
+ "golang.org/x/net/context"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/health/grpc_health_v1"
+)
+
+// newGRPCClient creates a new GRPCClient. The Client argument is expected
+// to be successfully started already with a lock held.
+func newGRPCClient(c *Client) (*GRPCClient, error) {
+ // Build dialing options.
+ opts := make([]grpc.DialOption, 0, 5)
+
+ // We use a custom dialer so that we can connect over unix domain sockets
+ opts = append(opts, grpc.WithDialer(c.dialer))
+
+ // go-plugin expects to block the connection
+ opts = append(opts, grpc.WithBlock())
+
+ // Fail right away
+ opts = append(opts, grpc.FailOnNonTempDialError(true))
+
+ // If we have no TLS configuration set, we need to explicitly tell grpc
+ // that we're connecting with an insecure connection.
+ if c.config.TLSConfig == nil {
+ opts = append(opts, grpc.WithInsecure())
+ } else {
+ opts = append(opts, grpc.WithTransportCredentials(
+ credentials.NewTLS(c.config.TLSConfig)))
+ }
+
+ // Connect. Note the first parameter is unused because we use a custom
+ // dialer that has the state to see the address.
+ conn, err := grpc.Dial("unused", opts...)
+ if err != nil {
+ return nil, err
+ }
+
+ return &GRPCClient{
+ Conn: conn,
+ Plugins: c.config.Plugins,
+ }, nil
+}
+
+// GRPCClient connects to a GRPCServer over gRPC to dispense plugin types.
+type GRPCClient struct {
+ Conn *grpc.ClientConn
+ Plugins map[string]Plugin
+}
+
+// ClientProtocol impl.
+func (c *GRPCClient) Close() error {
+ return c.Conn.Close()
+}
+
+// ClientProtocol impl.
+func (c *GRPCClient) Dispense(name string) (interface{}, error) {
+ raw, ok := c.Plugins[name]
+ if !ok {
+ return nil, fmt.Errorf("unknown plugin type: %s", name)
+ }
+
+ p, ok := raw.(GRPCPlugin)
+ if !ok {
+ return nil, fmt.Errorf("plugin %q doesn't support gRPC", name)
+ }
+
+ return p.GRPCClient(c.Conn)
+}
+
+// ClientProtocol impl.
+func (c *GRPCClient) Ping() error {
+ client := grpc_health_v1.NewHealthClient(c.Conn)
+ _, err := client.Check(context.Background(), &grpc_health_v1.HealthCheckRequest{
+ Service: GRPCServiceName,
+ })
+
+ return err
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_server.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_server.go
new file mode 100644
index 00000000..177a0cdd
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/grpc_server.go
@@ -0,0 +1,115 @@
+package plugin
+
+import (
+ "bytes"
+ "crypto/tls"
+ "encoding/json"
+ "fmt"
+ "io"
+ "net"
+
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/health"
+ "google.golang.org/grpc/health/grpc_health_v1"
+)
+
+// GRPCServiceName is the name of the service that the health check should
+// return as passing.
+const GRPCServiceName = "plugin"
+
+// DefaultGRPCServer can be used with the "GRPCServer" field for Server
+// as a default factory method to create a gRPC server with no extra options.
+func DefaultGRPCServer(opts []grpc.ServerOption) *grpc.Server {
+ return grpc.NewServer(opts...)
+}
+
+// GRPCServer is a ServerType implementation that serves plugins over
+// gRPC. This allows plugins to easily be written for other languages.
+//
+// The GRPCServer outputs a custom configuration as a base64-encoded
+// JSON structure represented by the GRPCServerConfig config structure.
+type GRPCServer struct {
+ // Plugins are the list of plugins to serve.
+ Plugins map[string]Plugin
+
+ // Server is the actual server that will accept connections. This
+ // will be used for plugin registration as well.
+ Server func([]grpc.ServerOption) *grpc.Server
+
+ // TLS should be the TLS configuration if available. If this is nil,
+ // the connection will not have transport security.
+ TLS *tls.Config
+
+ // DoneCh is the channel that is closed when this server has exited.
+ DoneCh chan struct{}
+
+ // Stdout/StderrLis are the readers for stdout/stderr that will be copied
+ // to the stdout/stderr connection that is output.
+ Stdout io.Reader
+ Stderr io.Reader
+
+ config GRPCServerConfig
+ server *grpc.Server
+}
+
+// ServerProtocol impl.
+func (s *GRPCServer) Init() error {
+ // Create our server
+ var opts []grpc.ServerOption
+ if s.TLS != nil {
+ opts = append(opts, grpc.Creds(credentials.NewTLS(s.TLS)))
+ }
+ s.server = s.Server(opts)
+
+ // Register the health service
+ healthCheck := health.NewServer()
+ healthCheck.SetServingStatus(
+ GRPCServiceName, grpc_health_v1.HealthCheckResponse_SERVING)
+ grpc_health_v1.RegisterHealthServer(s.server, healthCheck)
+
+ // Register all our plugins onto the gRPC server.
+ for k, raw := range s.Plugins {
+ p, ok := raw.(GRPCPlugin)
+ if !ok {
+ return fmt.Errorf("%q is not a GRPC-compatibile plugin", k)
+ }
+
+ if err := p.GRPCServer(s.server); err != nil {
+ return fmt.Errorf("error registring %q: %s", k, err)
+ }
+ }
+
+ return nil
+}
+
+// Config is the GRPCServerConfig encoded as JSON then base64.
+func (s *GRPCServer) Config() string {
+ // Create a buffer that will contain our final contents
+ var buf bytes.Buffer
+
+ // Wrap the base64 encoding with JSON encoding.
+ if err := json.NewEncoder(&buf).Encode(s.config); err != nil {
+ // We panic since ths shouldn't happen under any scenario. We
+ // carefully control the structure being encoded here and it should
+ // always be successful.
+ panic(err)
+ }
+
+ return buf.String()
+}
+
+func (s *GRPCServer) Serve(lis net.Listener) {
+ // Start serving in a goroutine
+ go s.server.Serve(lis)
+
+ // Wait until graceful completion
+ <-s.DoneCh
+}
+
+// GRPCServerConfig is the extra configuration passed along for consumers
+// to facilitate using GRPC plugins.
+type GRPCServerConfig struct {
+ StdoutAddr string `json:"stdout_addr"`
+ StderrAddr string `json:"stderr_addr"`
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/log_entry.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/log_entry.go
new file mode 100644
index 00000000..2996c14c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/log_entry.go
@@ -0,0 +1,73 @@
+package plugin
+
+import (
+ "encoding/json"
+ "time"
+)
+
+// logEntry is the JSON payload that gets sent to Stderr from the plugin to the host
+type logEntry struct {
+ Message string `json:"@message"`
+ Level string `json:"@level"`
+ Timestamp time.Time `json:"timestamp"`
+ KVPairs []*logEntryKV `json:"kv_pairs"`
+}
+
+// logEntryKV is a key value pair within the Output payload
+type logEntryKV struct {
+ Key string `json:"key"`
+ Value interface{} `json:"value"`
+}
+
+// flattenKVPairs is used to flatten KVPair slice into []interface{}
+// for hclog consumption.
+func flattenKVPairs(kvs []*logEntryKV) []interface{} {
+ var result []interface{}
+ for _, kv := range kvs {
+ result = append(result, kv.Key)
+ result = append(result, kv.Value)
+ }
+
+ return result
+}
+
+// parseJSON handles parsing JSON output
+func parseJSON(input string) (*logEntry, error) {
+ var raw map[string]interface{}
+ entry := &logEntry{}
+
+ err := json.Unmarshal([]byte(input), &raw)
+ if err != nil {
+ return nil, err
+ }
+
+ // Parse hclog-specific objects
+ if v, ok := raw["@message"]; ok {
+ entry.Message = v.(string)
+ delete(raw, "@message")
+ }
+
+ if v, ok := raw["@level"]; ok {
+ entry.Level = v.(string)
+ delete(raw, "@level")
+ }
+
+ if v, ok := raw["@timestamp"]; ok {
+ t, err := time.Parse("2006-01-02T15:04:05.000000Z07:00", v.(string))
+ if err != nil {
+ return nil, err
+ }
+ entry.Timestamp = t
+ delete(raw, "@timestamp")
+ }
+
+ // Parse dynamic KV args from the hclog payload.
+ for k, v := range raw {
+ entry.KVPairs = append(entry.KVPairs, &logEntryKV{
+ Key: k,
+ Value: v,
+ })
+ }
+
+ return entry, nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/plugin.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/plugin.go
index 37c8fd65..6b7bdd1c 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/plugin.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/plugin.go
@@ -9,7 +9,10 @@
package plugin
import (
+ "errors"
"net/rpc"
+
+ "google.golang.org/grpc"
)
// Plugin is the interface that is implemented to serve/connect to an
@@ -23,3 +26,31 @@ type Plugin interface {
// serving that communicates to the server end of the plugin.
Client(*MuxBroker, *rpc.Client) (interface{}, error)
}
+
+// GRPCPlugin is the interface that is implemented to serve/connect to
+// a plugin over gRPC.
+type GRPCPlugin interface {
+ // GRPCServer should register this plugin for serving with the
+ // given GRPCServer. Unlike Plugin.Server, this is only called once
+ // since gRPC plugins serve singletons.
+ GRPCServer(*grpc.Server) error
+
+ // GRPCClient should return the interface implementation for the plugin
+ // you're serving via gRPC.
+ GRPCClient(*grpc.ClientConn) (interface{}, error)
+}
+
+// NetRPCUnsupportedPlugin implements Plugin but returns errors for the
+// Server and Client functions. This will effectively disable support for
+// net/rpc based plugins.
+//
+// This struct can be embedded in your struct.
+type NetRPCUnsupportedPlugin struct{}
+
+func (p NetRPCUnsupportedPlugin) Server(*MuxBroker) (interface{}, error) {
+ return nil, errors.New("net/rpc plugin protocol not supported")
+}
+
+func (p NetRPCUnsupportedPlugin) Client(*MuxBroker, *rpc.Client) (interface{}, error) {
+ return nil, errors.New("net/rpc plugin protocol not supported")
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/protocol.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/protocol.go
new file mode 100644
index 00000000..0cfc19e5
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/protocol.go
@@ -0,0 +1,45 @@
+package plugin
+
+import (
+ "io"
+ "net"
+)
+
+// Protocol is an enum representing the types of protocols.
+type Protocol string
+
+const (
+ ProtocolInvalid Protocol = ""
+ ProtocolNetRPC Protocol = "netrpc"
+ ProtocolGRPC Protocol = "grpc"
+)
+
+// ServerProtocol is an interface that must be implemented for new plugin
+// protocols to be servers.
+type ServerProtocol interface {
+ // Init is called once to configure and initialize the protocol, but
+ // not start listening. This is the point at which all validation should
+ // be done and errors returned.
+ Init() error
+
+ // Config is extra configuration to be outputted to stdout. This will
+ // be automatically base64 encoded to ensure it can be parsed properly.
+ // This can be an empty string if additional configuration is not needed.
+ Config() string
+
+ // Serve is called to serve connections on the given listener. This should
+ // continue until the listener is closed.
+ Serve(net.Listener)
+}
+
+// ClientProtocol is an interface that must be implemented for new plugin
+// protocols to be clients.
+type ClientProtocol interface {
+ io.Closer
+
+ // Dispense dispenses a new instance of the plugin with the given name.
+ Dispense(string) (interface{}, error)
+
+ // Ping checks that the client connection is still healthy.
+ Ping() error
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_client.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_client.go
index 29f9bf06..f30a4b1d 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_client.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_client.go
@@ -1,6 +1,7 @@
package plugin
import (
+ "crypto/tls"
"fmt"
"io"
"net"
@@ -19,6 +20,42 @@ type RPCClient struct {
stdout, stderr net.Conn
}
+// newRPCClient creates a new RPCClient. The Client argument is expected
+// to be successfully started already with a lock held.
+func newRPCClient(c *Client) (*RPCClient, error) {
+ // Connect to the client
+ conn, err := net.Dial(c.address.Network(), c.address.String())
+ if err != nil {
+ return nil, err
+ }
+ if tcpConn, ok := conn.(*net.TCPConn); ok {
+ // Make sure to set keep alive so that the connection doesn't die
+ tcpConn.SetKeepAlive(true)
+ }
+
+ if c.config.TLSConfig != nil {
+ conn = tls.Client(conn, c.config.TLSConfig)
+ }
+
+ // Create the actual RPC client
+ result, err := NewRPCClient(conn, c.config.Plugins)
+ if err != nil {
+ conn.Close()
+ return nil, err
+ }
+
+ // Begin the stream syncing so that stdin, out, err work properly
+ err = result.SyncStreams(
+ c.config.SyncStdout,
+ c.config.SyncStderr)
+ if err != nil {
+ result.Close()
+ return nil, err
+ }
+
+ return result, nil
+}
+
// NewRPCClient creates a client from an already-open connection-like value.
// Dial is typically used instead.
func NewRPCClient(conn io.ReadWriteCloser, plugins map[string]Plugin) (*RPCClient, error) {
@@ -121,3 +158,13 @@ func (c *RPCClient) Dispense(name string) (interface{}, error) {
return p.Client(c.broker, rpc.NewClient(conn))
}
+
+// Ping pings the connection to ensure it is still alive.
+//
+// The error from the RPC call is returned exactly if you want to inspect
+// it for further error analysis. Any error returned from here would indicate
+// that the connection to the plugin is not healthy.
+func (c *RPCClient) Ping() error {
+ var empty struct{}
+ return c.control.Call("Control.Ping", true, &empty)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_server.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_server.go
index 3984dc89..5bb18dd5 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/rpc_server.go
@@ -34,10 +34,14 @@ type RPCServer struct {
lock sync.Mutex
}
-// Accept accepts connections on a listener and serves requests for
-// each incoming connection. Accept blocks; the caller typically invokes
-// it in a go statement.
-func (s *RPCServer) Accept(lis net.Listener) {
+// ServerProtocol impl.
+func (s *RPCServer) Init() error { return nil }
+
+// ServerProtocol impl.
+func (s *RPCServer) Config() string { return "" }
+
+// ServerProtocol impl.
+func (s *RPCServer) Serve(lis net.Listener) {
for {
conn, err := lis.Accept()
if err != nil {
@@ -122,6 +126,14 @@ type controlServer struct {
server *RPCServer
}
+// Ping can be called to verify the connection (and likely the binary)
+// is still alive to a plugin.
+func (c *controlServer) Ping(
+ null bool, response *struct{}) error {
+ *response = struct{}{}
+ return nil
+}
+
func (c *controlServer) Quit(
null bool, response *struct{}) error {
// End the server
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/server.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/server.go
index b5c5270a..e1543214 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/server.go
@@ -1,6 +1,8 @@
package plugin
import (
+ "crypto/tls"
+ "encoding/base64"
"errors"
"fmt"
"io/ioutil"
@@ -11,6 +13,10 @@ import (
"runtime"
"strconv"
"sync/atomic"
+
+ "github.com/hashicorp/go-hclog"
+
+ "google.golang.org/grpc"
)
// CoreProtocolVersion is the ProtocolVersion of the plugin system itself.
@@ -45,14 +51,37 @@ type ServeConfig struct {
// HandshakeConfig is the configuration that must match clients.
HandshakeConfig
+ // TLSProvider is a function that returns a configured tls.Config.
+ TLSProvider func() (*tls.Config, error)
+
// Plugins are the plugins that are served.
Plugins map[string]Plugin
+
+ // GRPCServer should be non-nil to enable serving the plugins over
+ // gRPC. This is a function to create the server when needed with the
+ // given server options. The server options populated by go-plugin will
+ // be for TLS if set. You may modify the input slice.
+ //
+ // Note that the grpc.Server will automatically be registered with
+ // the gRPC health checking service. This is not optional since go-plugin
+ // relies on this to implement Ping().
+ GRPCServer func([]grpc.ServerOption) *grpc.Server
+}
+
+// Protocol returns the protocol that this server should speak.
+func (c *ServeConfig) Protocol() Protocol {
+ result := ProtocolNetRPC
+ if c.GRPCServer != nil {
+ result = ProtocolGRPC
+ }
+
+ return result
}
// Serve serves the plugins given by ServeConfig.
//
// Serve doesn't return until the plugin is done being executed. Any
-// errors will be outputted to the log.
+// errors will be outputted to os.Stderr.
//
// This is the method that plugins should call in their main() functions.
func Serve(opts *ServeConfig) {
@@ -77,6 +106,13 @@ func Serve(opts *ServeConfig) {
// Logging goes to the original stderr
log.SetOutput(os.Stderr)
+ // internal logger to os.Stderr
+ logger := hclog.New(&hclog.LoggerOptions{
+ Level: hclog.Trace,
+ Output: os.Stderr,
+ JSONFormat: true,
+ })
+
// Create our new stdout, stderr files. These will override our built-in
// stdout/stderr so that it works across the stream boundary.
stdout_r, stdout_w, err := os.Pipe()
@@ -93,30 +129,86 @@ func Serve(opts *ServeConfig) {
// Register a listener so we can accept a connection
listener, err := serverListener()
if err != nil {
- log.Printf("[ERR] plugin: plugin init: %s", err)
+ logger.Error("plugin init error", "error", err)
return
}
- defer listener.Close()
+
+ // Close the listener on return. We wrap this in a func() on purpose
+ // because the "listener" reference may change to TLS.
+ defer func() {
+ listener.Close()
+ }()
+
+ var tlsConfig *tls.Config
+ if opts.TLSProvider != nil {
+ tlsConfig, err = opts.TLSProvider()
+ if err != nil {
+ logger.Error("plugin tls init", "error", err)
+ return
+ }
+ }
// Create the channel to tell us when we're done
doneCh := make(chan struct{})
- // Create the RPC server to dispense
- server := &RPCServer{
- Plugins: opts.Plugins,
- Stdout: stdout_r,
- Stderr: stderr_r,
- DoneCh: doneCh,
+ // Build the server type
+ var server ServerProtocol
+ switch opts.Protocol() {
+ case ProtocolNetRPC:
+ // If we have a TLS configuration then we wrap the listener
+ // ourselves and do it at that level.
+ if tlsConfig != nil {
+ listener = tls.NewListener(listener, tlsConfig)
+ }
+
+ // Create the RPC server to dispense
+ server = &RPCServer{
+ Plugins: opts.Plugins,
+ Stdout: stdout_r,
+ Stderr: stderr_r,
+ DoneCh: doneCh,
+ }
+
+ case ProtocolGRPC:
+ // Create the gRPC server
+ server = &GRPCServer{
+ Plugins: opts.Plugins,
+ Server: opts.GRPCServer,
+ TLS: tlsConfig,
+ Stdout: stdout_r,
+ Stderr: stderr_r,
+ DoneCh: doneCh,
+ }
+
+ default:
+ panic("unknown server protocol: " + opts.Protocol())
+ }
+
+ // Initialize the servers
+ if err := server.Init(); err != nil {
+ logger.Error("protocol init", "error", err)
+ return
}
+ // Build the extra configuration
+ extra := ""
+ if v := server.Config(); v != "" {
+ extra = base64.StdEncoding.EncodeToString([]byte(v))
+ }
+ if extra != "" {
+ extra = "|" + extra
+ }
+
+ logger.Debug("plugin address", "network", listener.Addr().Network(), "address", listener.Addr().String())
+
// Output the address and service name to stdout so that core can bring it up.
- log.Printf("[DEBUG] plugin: plugin address: %s %s\n",
- listener.Addr().Network(), listener.Addr().String())
- fmt.Printf("%d|%d|%s|%s\n",
+ fmt.Printf("%d|%d|%s|%s|%s%s\n",
CoreProtocolVersion,
opts.ProtocolVersion,
listener.Addr().Network(),
- listener.Addr().String())
+ listener.Addr().String(),
+ opts.Protocol(),
+ extra)
os.Stdout.Sync()
// Eat the interrupts
@@ -127,9 +219,7 @@ func Serve(opts *ServeConfig) {
for {
<-ch
newCount := atomic.AddInt32(&count, 1)
- log.Printf(
- "[DEBUG] plugin: received interrupt signal (count: %d). Ignoring.",
- newCount)
+ logger.Debug("plugin received interrupt signal, ignoring", "count", newCount)
}
}()
@@ -137,10 +227,8 @@ func Serve(opts *ServeConfig) {
os.Stdout = stdout_w
os.Stderr = stderr_w
- // Serve
- go server.Accept(listener)
-
- // Wait for the graceful exit
+ // Accept connections and wait for completion
+ go server.Serve(listener)
<-doneCh
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/testing.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/testing.go
index 9086a1b4..c6bf7c4e 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/testing.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/go-plugin/testing.go
@@ -4,7 +4,9 @@ import (
"bytes"
"net"
"net/rpc"
- "testing"
+
+ "github.com/mitchellh/go-testing-interface"
+ "google.golang.org/grpc"
)
// The testing file contains test helpers that you can use outside of
@@ -12,7 +14,7 @@ import (
// TestConn is a helper function for returning a client and server
// net.Conn connected to each other.
-func TestConn(t *testing.T) (net.Conn, net.Conn) {
+func TestConn(t testing.T) (net.Conn, net.Conn) {
// Listen to any local port. This listener will be closed
// after a single connection is established.
l, err := net.Listen("tcp", "127.0.0.1:0")
@@ -46,7 +48,7 @@ func TestConn(t *testing.T) (net.Conn, net.Conn) {
}
// TestRPCConn returns a rpc client and server connected to each other.
-func TestRPCConn(t *testing.T) (*rpc.Client, *rpc.Server) {
+func TestRPCConn(t testing.T) (*rpc.Client, *rpc.Server) {
clientConn, serverConn := TestConn(t)
server := rpc.NewServer()
@@ -58,7 +60,7 @@ func TestRPCConn(t *testing.T) (*rpc.Client, *rpc.Server) {
// TestPluginRPCConn returns a plugin RPC client and server that are connected
// together and configured.
-func TestPluginRPCConn(t *testing.T, ps map[string]Plugin) (*RPCClient, *RPCServer) {
+func TestPluginRPCConn(t testing.T, ps map[string]Plugin) (*RPCClient, *RPCServer) {
// Create two net.Conns we can use to shuttle our control connection
clientConn, serverConn := TestConn(t)
@@ -74,3 +76,45 @@ func TestPluginRPCConn(t *testing.T, ps map[string]Plugin) (*RPCClient, *RPCServ
return client, server
}
+
+// TestPluginGRPCConn returns a plugin gRPC client and server that are connected
+// together and configured. This is used to test gRPC connections.
+func TestPluginGRPCConn(t testing.T, ps map[string]Plugin) (*GRPCClient, *GRPCServer) {
+ // Create a listener
+ l, err := net.Listen("tcp", "127.0.0.1:0")
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ // Start up the server
+ server := &GRPCServer{
+ Plugins: ps,
+ Server: DefaultGRPCServer,
+ Stdout: new(bytes.Buffer),
+ Stderr: new(bytes.Buffer),
+ }
+ if err := server.Init(); err != nil {
+ t.Fatalf("err: %s", err)
+ }
+ go server.Serve(l)
+
+ // Connect to the server
+ conn, err := grpc.Dial(
+ l.Addr().String(),
+ grpc.WithBlock(),
+ grpc.WithInsecure())
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ // Connection successful, close the listener
+ l.Close()
+
+ // Create the client
+ client := &GRPCClient{
+ Conn: conn,
+ Plugins: ps,
+ }
+
+ return client, server
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/2q.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/2q.go
deleted file mode 100644
index 337d9632..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/2q.go
+++ /dev/null
@@ -1,212 +0,0 @@
-package lru
-
-import (
- "fmt"
- "sync"
-
- "github.com/hashicorp/golang-lru/simplelru"
-)
-
-const (
- // Default2QRecentRatio is the ratio of the 2Q cache dedicated
- // to recently added entries that have only been accessed once.
- Default2QRecentRatio = 0.25
-
- // Default2QGhostEntries is the default ratio of ghost
- // entries kept to track entries recently evicted
- Default2QGhostEntries = 0.50
-)
-
-// TwoQueueCache is a thread-safe fixed size 2Q cache.
-// 2Q is an enhancement over the standard LRU cache
-// in that it tracks both frequently and recently used
-// entries separately. This avoids a burst in access to new
-// entries from evicting frequently used entries. It adds some
-// additional tracking overhead to the standard LRU cache, and is
-// computationally about 2x the cost, and adds some metadata over
-// head. The ARCCache is similar, but does not require setting any
-// parameters.
-type TwoQueueCache struct {
- size int
- recentSize int
-
- recent *simplelru.LRU
- frequent *simplelru.LRU
- recentEvict *simplelru.LRU
- lock sync.RWMutex
-}
-
-// New2Q creates a new TwoQueueCache using the default
-// values for the parameters.
-func New2Q(size int) (*TwoQueueCache, error) {
- return New2QParams(size, Default2QRecentRatio, Default2QGhostEntries)
-}
-
-// New2QParams creates a new TwoQueueCache using the provided
-// parameter values.
-func New2QParams(size int, recentRatio float64, ghostRatio float64) (*TwoQueueCache, error) {
- if size <= 0 {
- return nil, fmt.Errorf("invalid size")
- }
- if recentRatio < 0.0 || recentRatio > 1.0 {
- return nil, fmt.Errorf("invalid recent ratio")
- }
- if ghostRatio < 0.0 || ghostRatio > 1.0 {
- return nil, fmt.Errorf("invalid ghost ratio")
- }
-
- // Determine the sub-sizes
- recentSize := int(float64(size) * recentRatio)
- evictSize := int(float64(size) * ghostRatio)
-
- // Allocate the LRUs
- recent, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
- frequent, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
- recentEvict, err := simplelru.NewLRU(evictSize, nil)
- if err != nil {
- return nil, err
- }
-
- // Initialize the cache
- c := &TwoQueueCache{
- size: size,
- recentSize: recentSize,
- recent: recent,
- frequent: frequent,
- recentEvict: recentEvict,
- }
- return c, nil
-}
-
-func (c *TwoQueueCache) Get(key interface{}) (interface{}, bool) {
- c.lock.Lock()
- defer c.lock.Unlock()
-
- // Check if this is a frequent value
- if val, ok := c.frequent.Get(key); ok {
- return val, ok
- }
-
- // If the value is contained in recent, then we
- // promote it to frequent
- if val, ok := c.recent.Peek(key); ok {
- c.recent.Remove(key)
- c.frequent.Add(key, val)
- return val, ok
- }
-
- // No hit
- return nil, false
-}
-
-func (c *TwoQueueCache) Add(key, value interface{}) {
- c.lock.Lock()
- defer c.lock.Unlock()
-
- // Check if the value is frequently used already,
- // and just update the value
- if c.frequent.Contains(key) {
- c.frequent.Add(key, value)
- return
- }
-
- // Check if the value is recently used, and promote
- // the value into the frequent list
- if c.recent.Contains(key) {
- c.recent.Remove(key)
- c.frequent.Add(key, value)
- return
- }
-
- // If the value was recently evicted, add it to the
- // frequently used list
- if c.recentEvict.Contains(key) {
- c.ensureSpace(true)
- c.recentEvict.Remove(key)
- c.frequent.Add(key, value)
- return
- }
-
- // Add to the recently seen list
- c.ensureSpace(false)
- c.recent.Add(key, value)
- return
-}
-
-// ensureSpace is used to ensure we have space in the cache
-func (c *TwoQueueCache) ensureSpace(recentEvict bool) {
- // If we have space, nothing to do
- recentLen := c.recent.Len()
- freqLen := c.frequent.Len()
- if recentLen+freqLen < c.size {
- return
- }
-
- // If the recent buffer is larger than
- // the target, evict from there
- if recentLen > 0 && (recentLen > c.recentSize || (recentLen == c.recentSize && !recentEvict)) {
- k, _, _ := c.recent.RemoveOldest()
- c.recentEvict.Add(k, nil)
- return
- }
-
- // Remove from the frequent list otherwise
- c.frequent.RemoveOldest()
-}
-
-func (c *TwoQueueCache) Len() int {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.recent.Len() + c.frequent.Len()
-}
-
-func (c *TwoQueueCache) Keys() []interface{} {
- c.lock.RLock()
- defer c.lock.RUnlock()
- k1 := c.frequent.Keys()
- k2 := c.recent.Keys()
- return append(k1, k2...)
-}
-
-func (c *TwoQueueCache) Remove(key interface{}) {
- c.lock.Lock()
- defer c.lock.Unlock()
- if c.frequent.Remove(key) {
- return
- }
- if c.recent.Remove(key) {
- return
- }
- if c.recentEvict.Remove(key) {
- return
- }
-}
-
-func (c *TwoQueueCache) Purge() {
- c.lock.Lock()
- defer c.lock.Unlock()
- c.recent.Purge()
- c.frequent.Purge()
- c.recentEvict.Purge()
-}
-
-func (c *TwoQueueCache) Contains(key interface{}) bool {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.frequent.Contains(key) || c.recent.Contains(key)
-}
-
-func (c *TwoQueueCache) Peek(key interface{}) (interface{}, bool) {
- c.lock.RLock()
- defer c.lock.RUnlock()
- if val, ok := c.frequent.Peek(key); ok {
- return val, ok
- }
- return c.recent.Peek(key)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/LICENSE
deleted file mode 100644
index be2cc4df..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/LICENSE
+++ /dev/null
@@ -1,362 +0,0 @@
-Mozilla Public License, version 2.0
-
-1. Definitions
-
-1.1. "Contributor"
-
- means each individual or legal entity that creates, contributes to the
- creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
-
- means the combination of the Contributions of others (if any) used by a
- Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
-
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
-
- means Source Code Form to which the initial Contributor has attached the
- notice in Exhibit A, the Executable Form of such Source Code Form, and
- Modifications of such Source Code Form, in each case including portions
- thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- a. that the initial Contributor has attached the notice described in
- Exhibit B to the Covered Software; or
-
- b. that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the terms of
- a Secondary License.
-
-1.6. "Executable Form"
-
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
-
- means a work that combines Covered Software with other material, in a
- separate file or files, that is not Covered Software.
-
-1.8. "License"
-
- means this document.
-
-1.9. "Licensable"
-
- means having the right to grant, to the maximum extent possible, whether
- at the time of the initial grant or subsequently, any and all of the
- rights conveyed by this License.
-
-1.10. "Modifications"
-
- means any of the following:
-
- a. any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered Software; or
-
- b. any new file in Source Code Form that contains any Covered Software.
-
-1.11. "Patent Claims" of a Contributor
-
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the License,
- by the making, using, selling, offering for sale, having made, import,
- or transfer of either its Contributions or its Contributor Version.
-
-1.12. "Secondary License"
-
- means either the GNU General Public License, Version 2.0, the GNU Lesser
- General Public License, Version 2.1, the GNU Affero General Public
- License, Version 3.0, or any later versions of those licenses.
-
-1.13. "Source Code Form"
-
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
-
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that controls, is
- controlled by, or is under common control with You. For purposes of this
- definition, "control" means (a) the power, direct or indirect, to cause
- the direction or management of such entity, whether by contract or
- otherwise, or (b) ownership of more than fifty percent (50%) of the
- outstanding shares or beneficial ownership of such entity.
-
-
-2. License Grants and Conditions
-
-2.1. Grants
-
- Each Contributor hereby grants You a world-wide, royalty-free,
- non-exclusive license:
-
- a. under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
- b. under Patent Claims of such Contributor to make, use, sell, offer for
- sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
- The licenses granted in Section 2.1 with respect to any Contribution
- become effective for each Contribution on the date the Contributor first
- distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
- The licenses granted in this Section 2 are the only rights granted under
- this License. No additional rights or licenses will be implied from the
- distribution or licensing of Covered Software under this License.
- Notwithstanding Section 2.1(b) above, no patent license is granted by a
- Contributor:
-
- a. for any code that a Contributor has removed from Covered Software; or
-
- b. for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
- c. under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
- This License does not grant any rights in the trademarks, service marks,
- or logos of any Contributor (except as may be necessary to comply with
- the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
- No Contributor makes additional grants as a result of Your choice to
- distribute the Covered Software under a subsequent version of this
- License (see Section 10.2) or under the terms of a Secondary License (if
- permitted under the terms of Section 3.3).
-
-2.5. Representation
-
- Each Contributor represents that the Contributor believes its
- Contributions are its original creation(s) or it has sufficient rights to
- grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
- This License is not intended to limit any rights You have under
- applicable copyright doctrines of fair use, fair dealing, or other
- equivalents.
-
-2.7. Conditions
-
- Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
- Section 2.1.
-
-
-3. Responsibilities
-
-3.1. Distribution of Source Form
-
- All distribution of Covered Software in Source Code Form, including any
- Modifications that You create or to which You contribute, must be under
- the terms of this License. You must inform recipients that the Source
- Code Form of the Covered Software is governed by the terms of this
- License, and how they can obtain a copy of this License. You may not
- attempt to alter or restrict the recipients' rights in the Source Code
- Form.
-
-3.2. Distribution of Executable Form
-
- If You distribute Covered Software in Executable Form then:
-
- a. such Covered Software must also be made available in Source Code Form,
- as described in Section 3.1, and You must inform recipients of the
- Executable Form how they can obtain a copy of such Source Code Form by
- reasonable means in a timely manner, at a charge no more than the cost
- of distribution to the recipient; and
-
- b. You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter the
- recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
- You may create and distribute a Larger Work under terms of Your choice,
- provided that You also comply with the requirements of this License for
- the Covered Software. If the Larger Work is a combination of Covered
- Software with a work governed by one or more Secondary Licenses, and the
- Covered Software is not Incompatible With Secondary Licenses, this
- License permits You to additionally distribute such Covered Software
- under the terms of such Secondary License(s), so that the recipient of
- the Larger Work may, at their option, further distribute the Covered
- Software under the terms of either this License or such Secondary
- License(s).
-
-3.4. Notices
-
- You may not remove or alter the substance of any license notices
- (including copyright notices, patent notices, disclaimers of warranty, or
- limitations of liability) contained within the Source Code Form of the
- Covered Software, except that You may alter any license notices to the
- extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
- You may choose to offer, and to charge a fee for, warranty, support,
- indemnity or liability obligations to one or more recipients of Covered
- Software. However, You may do so only on Your own behalf, and not on
- behalf of any Contributor. You must make it absolutely clear that any
- such warranty, support, indemnity, or liability obligation is offered by
- You alone, and You hereby agree to indemnify every Contributor for any
- liability incurred by such Contributor as a result of warranty, support,
- indemnity or liability terms You offer. You may include additional
- disclaimers of warranty and limitations of liability specific to any
- jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
-
- If it is impossible for You to comply with any of the terms of this License
- with respect to some or all of the Covered Software due to statute,
- judicial order, or regulation then You must: (a) comply with the terms of
- this License to the maximum extent possible; and (b) describe the
- limitations and the code they affect. Such description must be placed in a
- text file included with all distributions of the Covered Software under
- this License. Except to the extent prohibited by statute or regulation,
- such description must be sufficiently detailed for a recipient of ordinary
- skill to be able to understand it.
-
-5. Termination
-
-5.1. The rights granted under this License will terminate automatically if You
- fail to comply with any of its terms. However, if You become compliant,
- then the rights granted under this License from a particular Contributor
- are reinstated (a) provisionally, unless and until such Contributor
- explicitly and finally terminates Your grants, and (b) on an ongoing
- basis, if such Contributor fails to notify You of the non-compliance by
- some reasonable means prior to 60 days after You have come back into
- compliance. Moreover, Your grants from a particular Contributor are
- reinstated on an ongoing basis if such Contributor notifies You of the
- non-compliance by some reasonable means, this is the first time You have
- received notice of non-compliance with this License from such
- Contributor, and You become compliant prior to 30 days after Your receipt
- of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
- infringement claim (excluding declaratory judgment actions,
- counter-claims, and cross-claims) alleging that a Contributor Version
- directly or indirectly infringes any patent, then the rights granted to
- You by any and all Contributors for the Covered Software under Section
- 2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
- license agreements (excluding distributors and resellers) which have been
- validly granted by You or Your distributors under this License prior to
- termination shall survive termination.
-
-6. Disclaimer of Warranty
-
- Covered Software is provided under this License on an "as is" basis,
- without warranty of any kind, either expressed, implied, or statutory,
- including, without limitation, warranties that the Covered Software is free
- of defects, merchantable, fit for a particular purpose or non-infringing.
- The entire risk as to the quality and performance of the Covered Software
- is with You. Should any Covered Software prove defective in any respect,
- You (not any Contributor) assume the cost of any necessary servicing,
- repair, or correction. This disclaimer of warranty constitutes an essential
- part of this License. No use of any Covered Software is authorized under
- this License except under this disclaimer.
-
-7. Limitation of Liability
-
- Under no circumstances and under no legal theory, whether tort (including
- negligence), contract, or otherwise, shall any Contributor, or anyone who
- distributes Covered Software as permitted above, be liable to You for any
- direct, indirect, special, incidental, or consequential damages of any
- character including, without limitation, damages for lost profits, loss of
- goodwill, work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses, even if such party shall have been
- informed of the possibility of such damages. This limitation of liability
- shall not apply to liability for death or personal injury resulting from
- such party's negligence to the extent applicable law prohibits such
- limitation. Some jurisdictions do not allow the exclusion or limitation of
- incidental or consequential damages, so this exclusion and limitation may
- not apply to You.
-
-8. Litigation
-
- Any litigation relating to this License may be brought only in the courts
- of a jurisdiction where the defendant maintains its principal place of
- business and such litigation shall be governed by laws of that
- jurisdiction, without reference to its conflict-of-law provisions. Nothing
- in this Section shall prevent a party's ability to bring cross-claims or
- counter-claims.
-
-9. Miscellaneous
-
- This License represents the complete agreement concerning the subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. Any law or regulation which provides that
- the language of a contract shall be construed against the drafter shall not
- be used to construe this License against a Contributor.
-
-
-10. Versions of the License
-
-10.1. New Versions
-
- Mozilla Foundation is the license steward. Except as provided in Section
- 10.3, no one other than the license steward has the right to modify or
- publish new versions of this License. Each version will be given a
- distinguishing version number.
-
-10.2. Effect of New Versions
-
- You may distribute the Covered Software under the terms of the version
- of the License under which You originally received the Covered Software,
- or under the terms of any subsequent version published by the license
- steward.
-
-10.3. Modified Versions
-
- If you create software not governed by this License, and you want to
- create a new license for such software, you may create and use a
- modified version of this License if you rename the license and remove
- any references to the name of the license steward (except to note that
- such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
- Licenses If You choose to distribute Source Code Form that is
- Incompatible With Secondary Licenses under the terms of this version of
- the License, the notice described in Exhibit B of this License must be
- attached.
-
-Exhibit A - Source Code Form License Notice
-
- This Source Code Form is subject to the
- terms of the Mozilla Public License, v.
- 2.0. If a copy of the MPL was not
- distributed with this file, You can
- obtain one at
- http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular file,
-then You may include the notice in a location (such as a LICENSE file in a
-relevant directory) where a recipient would be likely to look for such a
-notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
-
- This Source Code Form is "Incompatible
- With Secondary Licenses", as defined by
- the Mozilla Public License, v. 2.0.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/README.md
deleted file mode 100644
index 33e58cfa..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-golang-lru
-==========
-
-This provides the `lru` package which implements a fixed-size
-thread safe LRU cache. It is based on the cache in Groupcache.
-
-Documentation
-=============
-
-Full docs are available on [Godoc](http://godoc.org/github.com/hashicorp/golang-lru)
-
-Example
-=======
-
-Using the LRU is very simple:
-
-```go
-l, _ := New(128)
-for i := 0; i < 256; i++ {
- l.Add(i, nil)
-}
-if l.Len() != 128 {
- panic(fmt.Sprintf("bad len: %v", l.Len()))
-}
-```
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/arc.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/arc.go
deleted file mode 100644
index a2a25281..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/arc.go
+++ /dev/null
@@ -1,257 +0,0 @@
-package lru
-
-import (
- "sync"
-
- "github.com/hashicorp/golang-lru/simplelru"
-)
-
-// ARCCache is a thread-safe fixed size Adaptive Replacement Cache (ARC).
-// ARC is an enhancement over the standard LRU cache in that tracks both
-// frequency and recency of use. This avoids a burst in access to new
-// entries from evicting the frequently used older entries. It adds some
-// additional tracking overhead to a standard LRU cache, computationally
-// it is roughly 2x the cost, and the extra memory overhead is linear
-// with the size of the cache. ARC has been patented by IBM, but is
-// similar to the TwoQueueCache (2Q) which requires setting parameters.
-type ARCCache struct {
- size int // Size is the total capacity of the cache
- p int // P is the dynamic preference towards T1 or T2
-
- t1 *simplelru.LRU // T1 is the LRU for recently accessed items
- b1 *simplelru.LRU // B1 is the LRU for evictions from t1
-
- t2 *simplelru.LRU // T2 is the LRU for frequently accessed items
- b2 *simplelru.LRU // B2 is the LRU for evictions from t2
-
- lock sync.RWMutex
-}
-
-// NewARC creates an ARC of the given size
-func NewARC(size int) (*ARCCache, error) {
- // Create the sub LRUs
- b1, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
- b2, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
- t1, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
- t2, err := simplelru.NewLRU(size, nil)
- if err != nil {
- return nil, err
- }
-
- // Initialize the ARC
- c := &ARCCache{
- size: size,
- p: 0,
- t1: t1,
- b1: b1,
- t2: t2,
- b2: b2,
- }
- return c, nil
-}
-
-// Get looks up a key's value from the cache.
-func (c *ARCCache) Get(key interface{}) (interface{}, bool) {
- c.lock.Lock()
- defer c.lock.Unlock()
-
- // Ff the value is contained in T1 (recent), then
- // promote it to T2 (frequent)
- if val, ok := c.t1.Peek(key); ok {
- c.t1.Remove(key)
- c.t2.Add(key, val)
- return val, ok
- }
-
- // Check if the value is contained in T2 (frequent)
- if val, ok := c.t2.Get(key); ok {
- return val, ok
- }
-
- // No hit
- return nil, false
-}
-
-// Add adds a value to the cache.
-func (c *ARCCache) Add(key, value interface{}) {
- c.lock.Lock()
- defer c.lock.Unlock()
-
- // Check if the value is contained in T1 (recent), and potentially
- // promote it to frequent T2
- if c.t1.Contains(key) {
- c.t1.Remove(key)
- c.t2.Add(key, value)
- return
- }
-
- // Check if the value is already in T2 (frequent) and update it
- if c.t2.Contains(key) {
- c.t2.Add(key, value)
- return
- }
-
- // Check if this value was recently evicted as part of the
- // recently used list
- if c.b1.Contains(key) {
- // T1 set is too small, increase P appropriately
- delta := 1
- b1Len := c.b1.Len()
- b2Len := c.b2.Len()
- if b2Len > b1Len {
- delta = b2Len / b1Len
- }
- if c.p+delta >= c.size {
- c.p = c.size
- } else {
- c.p += delta
- }
-
- // Potentially need to make room in the cache
- if c.t1.Len()+c.t2.Len() >= c.size {
- c.replace(false)
- }
-
- // Remove from B1
- c.b1.Remove(key)
-
- // Add the key to the frequently used list
- c.t2.Add(key, value)
- return
- }
-
- // Check if this value was recently evicted as part of the
- // frequently used list
- if c.b2.Contains(key) {
- // T2 set is too small, decrease P appropriately
- delta := 1
- b1Len := c.b1.Len()
- b2Len := c.b2.Len()
- if b1Len > b2Len {
- delta = b1Len / b2Len
- }
- if delta >= c.p {
- c.p = 0
- } else {
- c.p -= delta
- }
-
- // Potentially need to make room in the cache
- if c.t1.Len()+c.t2.Len() >= c.size {
- c.replace(true)
- }
-
- // Remove from B2
- c.b2.Remove(key)
-
- // Add the key to the frequntly used list
- c.t2.Add(key, value)
- return
- }
-
- // Potentially need to make room in the cache
- if c.t1.Len()+c.t2.Len() >= c.size {
- c.replace(false)
- }
-
- // Keep the size of the ghost buffers trim
- if c.b1.Len() > c.size-c.p {
- c.b1.RemoveOldest()
- }
- if c.b2.Len() > c.p {
- c.b2.RemoveOldest()
- }
-
- // Add to the recently seen list
- c.t1.Add(key, value)
- return
-}
-
-// replace is used to adaptively evict from either T1 or T2
-// based on the current learned value of P
-func (c *ARCCache) replace(b2ContainsKey bool) {
- t1Len := c.t1.Len()
- if t1Len > 0 && (t1Len > c.p || (t1Len == c.p && b2ContainsKey)) {
- k, _, ok := c.t1.RemoveOldest()
- if ok {
- c.b1.Add(k, nil)
- }
- } else {
- k, _, ok := c.t2.RemoveOldest()
- if ok {
- c.b2.Add(k, nil)
- }
- }
-}
-
-// Len returns the number of cached entries
-func (c *ARCCache) Len() int {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.t1.Len() + c.t2.Len()
-}
-
-// Keys returns all the cached keys
-func (c *ARCCache) Keys() []interface{} {
- c.lock.RLock()
- defer c.lock.RUnlock()
- k1 := c.t1.Keys()
- k2 := c.t2.Keys()
- return append(k1, k2...)
-}
-
-// Remove is used to purge a key from the cache
-func (c *ARCCache) Remove(key interface{}) {
- c.lock.Lock()
- defer c.lock.Unlock()
- if c.t1.Remove(key) {
- return
- }
- if c.t2.Remove(key) {
- return
- }
- if c.b1.Remove(key) {
- return
- }
- if c.b2.Remove(key) {
- return
- }
-}
-
-// Purge is used to clear the cache
-func (c *ARCCache) Purge() {
- c.lock.Lock()
- defer c.lock.Unlock()
- c.t1.Purge()
- c.t2.Purge()
- c.b1.Purge()
- c.b2.Purge()
-}
-
-// Contains is used to check if the cache contains a key
-// without updating recency or frequency.
-func (c *ARCCache) Contains(key interface{}) bool {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.t1.Contains(key) || c.t2.Contains(key)
-}
-
-// Peek is used to inspect the cache value of a key
-// without updating recency or frequency.
-func (c *ARCCache) Peek(key interface{}) (interface{}, bool) {
- c.lock.RLock()
- defer c.lock.RUnlock()
- if val, ok := c.t1.Peek(key); ok {
- return val, ok
- }
- return c.t2.Peek(key)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/lru.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/lru.go
deleted file mode 100644
index a6285f98..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/lru.go
+++ /dev/null
@@ -1,114 +0,0 @@
-// This package provides a simple LRU cache. It is based on the
-// LRU implementation in groupcache:
-// https://github.com/golang/groupcache/tree/master/lru
-package lru
-
-import (
- "sync"
-
- "github.com/hashicorp/golang-lru/simplelru"
-)
-
-// Cache is a thread-safe fixed size LRU cache.
-type Cache struct {
- lru *simplelru.LRU
- lock sync.RWMutex
-}
-
-// New creates an LRU of the given size
-func New(size int) (*Cache, error) {
- return NewWithEvict(size, nil)
-}
-
-// NewWithEvict constructs a fixed size cache with the given eviction
-// callback.
-func NewWithEvict(size int, onEvicted func(key interface{}, value interface{})) (*Cache, error) {
- lru, err := simplelru.NewLRU(size, simplelru.EvictCallback(onEvicted))
- if err != nil {
- return nil, err
- }
- c := &Cache{
- lru: lru,
- }
- return c, nil
-}
-
-// Purge is used to completely clear the cache
-func (c *Cache) Purge() {
- c.lock.Lock()
- c.lru.Purge()
- c.lock.Unlock()
-}
-
-// Add adds a value to the cache. Returns true if an eviction occurred.
-func (c *Cache) Add(key, value interface{}) bool {
- c.lock.Lock()
- defer c.lock.Unlock()
- return c.lru.Add(key, value)
-}
-
-// Get looks up a key's value from the cache.
-func (c *Cache) Get(key interface{}) (interface{}, bool) {
- c.lock.Lock()
- defer c.lock.Unlock()
- return c.lru.Get(key)
-}
-
-// Check if a key is in the cache, without updating the recent-ness
-// or deleting it for being stale.
-func (c *Cache) Contains(key interface{}) bool {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.lru.Contains(key)
-}
-
-// Returns the key value (or undefined if not found) without updating
-// the "recently used"-ness of the key.
-func (c *Cache) Peek(key interface{}) (interface{}, bool) {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.lru.Peek(key)
-}
-
-// ContainsOrAdd checks if a key is in the cache without updating the
-// recent-ness or deleting it for being stale, and if not, adds the value.
-// Returns whether found and whether an eviction occurred.
-func (c *Cache) ContainsOrAdd(key, value interface{}) (ok, evict bool) {
- c.lock.Lock()
- defer c.lock.Unlock()
-
- if c.lru.Contains(key) {
- return true, false
- } else {
- evict := c.lru.Add(key, value)
- return false, evict
- }
-}
-
-// Remove removes the provided key from the cache.
-func (c *Cache) Remove(key interface{}) {
- c.lock.Lock()
- c.lru.Remove(key)
- c.lock.Unlock()
-}
-
-// RemoveOldest removes the oldest item from the cache.
-func (c *Cache) RemoveOldest() {
- c.lock.Lock()
- c.lru.RemoveOldest()
- c.lock.Unlock()
-}
-
-// Keys returns a slice of the keys in the cache, from oldest to newest.
-func (c *Cache) Keys() []interface{} {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.lru.Keys()
-}
-
-// Len returns the number of items in the cache.
-func (c *Cache) Len() int {
- c.lock.RLock()
- defer c.lock.RUnlock()
- return c.lru.Len()
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go
deleted file mode 100644
index cb416b39..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/golang-lru/simplelru/lru.go
+++ /dev/null
@@ -1,160 +0,0 @@
-package simplelru
-
-import (
- "container/list"
- "errors"
-)
-
-// EvictCallback is used to get a callback when a cache entry is evicted
-type EvictCallback func(key interface{}, value interface{})
-
-// LRU implements a non-thread safe fixed size LRU cache
-type LRU struct {
- size int
- evictList *list.List
- items map[interface{}]*list.Element
- onEvict EvictCallback
-}
-
-// entry is used to hold a value in the evictList
-type entry struct {
- key interface{}
- value interface{}
-}
-
-// NewLRU constructs an LRU of the given size
-func NewLRU(size int, onEvict EvictCallback) (*LRU, error) {
- if size <= 0 {
- return nil, errors.New("Must provide a positive size")
- }
- c := &LRU{
- size: size,
- evictList: list.New(),
- items: make(map[interface{}]*list.Element),
- onEvict: onEvict,
- }
- return c, nil
-}
-
-// Purge is used to completely clear the cache
-func (c *LRU) Purge() {
- for k, v := range c.items {
- if c.onEvict != nil {
- c.onEvict(k, v.Value.(*entry).value)
- }
- delete(c.items, k)
- }
- c.evictList.Init()
-}
-
-// Add adds a value to the cache. Returns true if an eviction occurred.
-func (c *LRU) Add(key, value interface{}) bool {
- // Check for existing item
- if ent, ok := c.items[key]; ok {
- c.evictList.MoveToFront(ent)
- ent.Value.(*entry).value = value
- return false
- }
-
- // Add new item
- ent := &entry{key, value}
- entry := c.evictList.PushFront(ent)
- c.items[key] = entry
-
- evict := c.evictList.Len() > c.size
- // Verify size not exceeded
- if evict {
- c.removeOldest()
- }
- return evict
-}
-
-// Get looks up a key's value from the cache.
-func (c *LRU) Get(key interface{}) (value interface{}, ok bool) {
- if ent, ok := c.items[key]; ok {
- c.evictList.MoveToFront(ent)
- return ent.Value.(*entry).value, true
- }
- return
-}
-
-// Check if a key is in the cache, without updating the recent-ness
-// or deleting it for being stale.
-func (c *LRU) Contains(key interface{}) (ok bool) {
- _, ok = c.items[key]
- return ok
-}
-
-// Returns the key value (or undefined if not found) without updating
-// the "recently used"-ness of the key.
-func (c *LRU) Peek(key interface{}) (value interface{}, ok bool) {
- if ent, ok := c.items[key]; ok {
- return ent.Value.(*entry).value, true
- }
- return nil, ok
-}
-
-// Remove removes the provided key from the cache, returning if the
-// key was contained.
-func (c *LRU) Remove(key interface{}) bool {
- if ent, ok := c.items[key]; ok {
- c.removeElement(ent)
- return true
- }
- return false
-}
-
-// RemoveOldest removes the oldest item from the cache.
-func (c *LRU) RemoveOldest() (interface{}, interface{}, bool) {
- ent := c.evictList.Back()
- if ent != nil {
- c.removeElement(ent)
- kv := ent.Value.(*entry)
- return kv.key, kv.value, true
- }
- return nil, nil, false
-}
-
-// GetOldest returns the oldest entry
-func (c *LRU) GetOldest() (interface{}, interface{}, bool) {
- ent := c.evictList.Back()
- if ent != nil {
- kv := ent.Value.(*entry)
- return kv.key, kv.value, true
- }
- return nil, nil, false
-}
-
-// Keys returns a slice of the keys in the cache, from oldest to newest.
-func (c *LRU) Keys() []interface{} {
- keys := make([]interface{}, len(c.items))
- i := 0
- for ent := c.evictList.Back(); ent != nil; ent = ent.Prev() {
- keys[i] = ent.Value.(*entry).key
- i++
- }
- return keys
-}
-
-// Len returns the number of items in the cache.
-func (c *LRU) Len() int {
- return c.evictList.Len()
-}
-
-// removeOldest removes the oldest item from the cache.
-func (c *LRU) removeOldest() {
- ent := c.evictList.Back()
- if ent != nil {
- c.removeElement(ent)
- }
-}
-
-// removeElement is used to remove a given list element from the cache
-func (c *LRU) removeElement(e *list.Element) {
- c.evictList.Remove(e)
- kv := e.Value.(*entry)
- delete(c.items, kv.key)
- if c.onEvict != nil {
- c.onEvict(kv.key, kv.value)
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/Makefile b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/Makefile
deleted file mode 100644
index 49f82992..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-DEPS = $(go list -f '{{range .TestImports}}{{.}} {{end}}' ./...)
-
-test:
- go test -timeout=60s ./...
-
-integ: test
- INTEG_TESTS=yes go test -timeout=5s -run=Integ ./...
-
-deps:
- go get -d -v ./...
- echo $(DEPS) | xargs -n1 go get -d
-
-cov:
- INTEG_TESTS=yes gocov test github.com/hashicorp/raft | gocov-html > /tmp/coverage.html
- open /tmp/coverage.html
-
-.PHONY: test cov integ deps
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/README.md
deleted file mode 100644
index 8778b13d..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/README.md
+++ /dev/null
@@ -1,89 +0,0 @@
-raft [![Build Status](https://travis-ci.org/hashicorp/raft.png)](https://travis-ci.org/hashicorp/raft)
-====
-
-raft is a [Go](http://www.golang.org) library that manages a replicated
-log and can be used with an FSM to manage replicated state machines. It
-is library for providing [consensus](http://en.wikipedia.org/wiki/Consensus_(computer_science)).
-
-The use cases for such a library are far-reaching as replicated state
-machines are a key component of many distributed systems. They enable
-building Consistent, Partition Tolerant (CP) systems, with limited
-fault tolerance as well.
-
-## Building
-
-If you wish to build raft you'll need Go version 1.2+ installed.
-
-Please check your installation with:
-
-```
-go version
-```
-
-## Documentation
-
-For complete documentation, see the associated [Godoc](http://godoc.org/github.com/hashicorp/raft).
-
-To prevent complications with cgo, the primary backend `MDBStore` is in a separate repository,
-called [raft-mdb](http://github.com/hashicorp/raft-mdb). That is the recommended implementation
-for the `LogStore` and `StableStore`.
-
-A pure Go backend using [BoltDB](https://github.com/boltdb/bolt) is also available called
-[raft-boltdb](https://github.com/hashicorp/raft-boltdb). It can also be used as a `LogStore`
-and `StableStore`.
-
-## Protocol
-
-raft is based on ["Raft: In Search of an Understandable Consensus Algorithm"](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)
-
-A high level overview of the Raft protocol is described below, but for details please read the full
-[Raft paper](https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf)
-followed by the raft source. Any questions about the raft protocol should be sent to the
-[raft-dev mailing list](https://groups.google.com/forum/#!forum/raft-dev).
-
-### Protocol Description
-
-Raft nodes are always in one of three states: follower, candidate or leader. All
-nodes initially start out as a follower. In this state, nodes can accept log entries
-from a leader and cast votes. If no entries are received for some time, nodes
-self-promote to the candidate state. In the candidate state nodes request votes from
-their peers. If a candidate receives a quorum of votes, then it is promoted to a leader.
-The leader must accept new log entries and replicate to all the other followers.
-In addition, if stale reads are not acceptable, all queries must also be performed on
-the leader.
-
-Once a cluster has a leader, it is able to accept new log entries. A client can
-request that a leader append a new log entry, which is an opaque binary blob to
-Raft. The leader then writes the entry to durable storage and attempts to replicate
-to a quorum of followers. Once the log entry is considered *committed*, it can be
-*applied* to a finite state machine. The finite state machine is application specific,
-and is implemented using an interface.
-
-An obvious question relates to the unbounded nature of a replicated log. Raft provides
-a mechanism by which the current state is snapshotted, and the log is compacted. Because
-of the FSM abstraction, restoring the state of the FSM must result in the same state
-as a replay of old logs. This allows Raft to capture the FSM state at a point in time,
-and then remove all the logs that were used to reach that state. This is performed automatically
-without user intervention, and prevents unbounded disk usage as well as minimizing
-time spent replaying logs.
-
-Lastly, there is the issue of updating the peer set when new servers are joining
-or existing servers are leaving. As long as a quorum of nodes is available, this
-is not an issue as Raft provides mechanisms to dynamically update the peer set.
-If a quorum of nodes is unavailable, then this becomes a very challenging issue.
-For example, suppose there are only 2 peers, A and B. The quorum size is also
-2, meaning both nodes must agree to commit a log entry. If either A or B fails,
-it is now impossible to reach quorum. This means the cluster is unable to add,
-or remove a node, or commit any additional log entries. This results in *unavailability*.
-At this point, manual intervention would be required to remove either A or B,
-and to restart the remaining node in bootstrap mode.
-
-A Raft cluster of 3 nodes can tolerate a single node failure, while a cluster
-of 5 can tolerate 2 node failures. The recommended configuration is to either
-run 3 or 5 raft servers. This maximizes availability without
-greatly sacrificing performance.
-
-In terms of performance, Raft is comparable to Paxos. Assuming stable leadership,
-committing a log entry requires a single round trip to half of the cluster.
-Thus performance is bound by disk I/O and network latency.
-
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/api.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/api.go
deleted file mode 100644
index 2fd78e78..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/api.go
+++ /dev/null
@@ -1,1007 +0,0 @@
-package raft
-
-import (
- "errors"
- "fmt"
- "io"
- "log"
- "os"
- "strconv"
- "sync"
- "time"
-
- "github.com/armon/go-metrics"
-)
-
-var (
- // ErrLeader is returned when an operation can't be completed on a
- // leader node.
- ErrLeader = errors.New("node is the leader")
-
- // ErrNotLeader is returned when an operation can't be completed on a
- // follower or candidate node.
- ErrNotLeader = errors.New("node is not the leader")
-
- // ErrLeadershipLost is returned when a leader fails to commit a log entry
- // because it's been deposed in the process.
- ErrLeadershipLost = errors.New("leadership lost while committing log")
-
- // ErrAbortedByRestore is returned when a leader fails to commit a log
- // entry because it's been superseded by a user snapshot restore.
- ErrAbortedByRestore = errors.New("snapshot restored while committing log")
-
- // ErrRaftShutdown is returned when operations are requested against an
- // inactive Raft.
- ErrRaftShutdown = errors.New("raft is already shutdown")
-
- // ErrEnqueueTimeout is returned when a command fails due to a timeout.
- ErrEnqueueTimeout = errors.New("timed out enqueuing operation")
-
- // ErrNothingNewToSnapshot is returned when trying to create a snapshot
- // but there's nothing new commited to the FSM since we started.
- ErrNothingNewToSnapshot = errors.New("nothing new to snapshot")
-
- // ErrUnsupportedProtocol is returned when an operation is attempted
- // that's not supported by the current protocol version.
- ErrUnsupportedProtocol = errors.New("operation not supported with current protocol version")
-
- // ErrCantBootstrap is returned when attempt is made to bootstrap a
- // cluster that already has state present.
- ErrCantBootstrap = errors.New("bootstrap only works on new clusters")
-)
-
-// Raft implements a Raft node.
-type Raft struct {
- raftState
-
- // protocolVersion is used to inter-operate with Raft servers running
- // different versions of the library. See comments in config.go for more
- // details.
- protocolVersion ProtocolVersion
-
- // applyCh is used to async send logs to the main thread to
- // be committed and applied to the FSM.
- applyCh chan *logFuture
-
- // Configuration provided at Raft initialization
- conf Config
-
- // FSM is the client state machine to apply commands to
- fsm FSM
-
- // fsmMutateCh is used to send state-changing updates to the FSM. This
- // receives pointers to commitTuple structures when applying logs or
- // pointers to restoreFuture structures when restoring a snapshot. We
- // need control over the order of these operations when doing user
- // restores so that we finish applying any old log applies before we
- // take a user snapshot on the leader, otherwise we might restore the
- // snapshot and apply old logs to it that were in the pipe.
- fsmMutateCh chan interface{}
-
- // fsmSnapshotCh is used to trigger a new snapshot being taken
- fsmSnapshotCh chan *reqSnapshotFuture
-
- // lastContact is the last time we had contact from the
- // leader node. This can be used to gauge staleness.
- lastContact time.Time
- lastContactLock sync.RWMutex
-
- // Leader is the current cluster leader
- leader ServerAddress
- leaderLock sync.RWMutex
-
- // leaderCh is used to notify of leadership changes
- leaderCh chan bool
-
- // leaderState used only while state is leader
- leaderState leaderState
-
- // Stores our local server ID, used to avoid sending RPCs to ourself
- localID ServerID
-
- // Stores our local addr
- localAddr ServerAddress
-
- // Used for our logging
- logger *log.Logger
-
- // LogStore provides durable storage for logs
- logs LogStore
-
- // Used to request the leader to make configuration changes.
- configurationChangeCh chan *configurationChangeFuture
-
- // Tracks the latest configuration and latest committed configuration from
- // the log/snapshot.
- configurations configurations
-
- // RPC chan comes from the transport layer
- rpcCh <-chan RPC
-
- // Shutdown channel to exit, protected to prevent concurrent exits
- shutdown bool
- shutdownCh chan struct{}
- shutdownLock sync.Mutex
-
- // snapshots is used to store and retrieve snapshots
- snapshots SnapshotStore
-
- // userSnapshotCh is used for user-triggered snapshots
- userSnapshotCh chan *userSnapshotFuture
-
- // userRestoreCh is used for user-triggered restores of external
- // snapshots
- userRestoreCh chan *userRestoreFuture
-
- // stable is a StableStore implementation for durable state
- // It provides stable storage for many fields in raftState
- stable StableStore
-
- // The transport layer we use
- trans Transport
-
- // verifyCh is used to async send verify futures to the main thread
- // to verify we are still the leader
- verifyCh chan *verifyFuture
-
- // configurationsCh is used to get the configuration data safely from
- // outside of the main thread.
- configurationsCh chan *configurationsFuture
-
- // bootstrapCh is used to attempt an initial bootstrap from outside of
- // the main thread.
- bootstrapCh chan *bootstrapFuture
-
- // List of observers and the mutex that protects them. The observers list
- // is indexed by an artificial ID which is used for deregistration.
- observersLock sync.RWMutex
- observers map[uint64]*Observer
-}
-
-// BootstrapCluster initializes a server's storage with the given cluster
-// configuration. This should only be called at the beginning of time for the
-// cluster, and you absolutely must make sure that you call it with the same
-// configuration on all the Voter servers. There is no need to bootstrap
-// Nonvoter and Staging servers.
-//
-// One sane approach is to boostrap a single server with a configuration
-// listing just itself as a Voter, then invoke AddVoter() on it to add other
-// servers to the cluster.
-func BootstrapCluster(conf *Config, logs LogStore, stable StableStore,
- snaps SnapshotStore, trans Transport, configuration Configuration) error {
- // Validate the Raft server config.
- if err := ValidateConfig(conf); err != nil {
- return err
- }
-
- // Sanity check the Raft peer configuration.
- if err := checkConfiguration(configuration); err != nil {
- return err
- }
-
- // Make sure the cluster is in a clean state.
- hasState, err := HasExistingState(logs, stable, snaps)
- if err != nil {
- return fmt.Errorf("failed to check for existing state: %v", err)
- }
- if hasState {
- return ErrCantBootstrap
- }
-
- // Set current term to 1.
- if err := stable.SetUint64(keyCurrentTerm, 1); err != nil {
- return fmt.Errorf("failed to save current term: %v", err)
- }
-
- // Append configuration entry to log.
- entry := &Log{
- Index: 1,
- Term: 1,
- }
- if conf.ProtocolVersion < 3 {
- entry.Type = LogRemovePeerDeprecated
- entry.Data = encodePeers(configuration, trans)
- } else {
- entry.Type = LogConfiguration
- entry.Data = encodeConfiguration(configuration)
- }
- if err := logs.StoreLog(entry); err != nil {
- return fmt.Errorf("failed to append configuration entry to log: %v", err)
- }
-
- return nil
-}
-
-// RecoverCluster is used to manually force a new configuration in order to
-// recover from a loss of quorum where the current configuration cannot be
-// restored, such as when several servers die at the same time. This works by
-// reading all the current state for this server, creating a snapshot with the
-// supplied configuration, and then truncating the Raft log. This is the only
-// safe way to force a given configuration without actually altering the log to
-// insert any new entries, which could cause conflicts with other servers with
-// different state.
-//
-// WARNING! This operation implicitly commits all entries in the Raft log, so
-// in general this is an extremely unsafe operation. If you've lost your other
-// servers and are performing a manual recovery, then you've also lost the
-// commit information, so this is likely the best you can do, but you should be
-// aware that calling this can cause Raft log entries that were in the process
-// of being replicated but not yet be committed to be committed.
-//
-// Note the FSM passed here is used for the snapshot operations and will be
-// left in a state that should not be used by the application. Be sure to
-// discard this FSM and any associated state and provide a fresh one when
-// calling NewRaft later.
-//
-// A typical way to recover the cluster is to shut down all servers and then
-// run RecoverCluster on every server using an identical configuration. When
-// the cluster is then restarted, and election should occur and then Raft will
-// resume normal operation. If it's desired to make a particular server the
-// leader, this can be used to inject a new configuration with that server as
-// the sole voter, and then join up other new clean-state peer servers using
-// the usual APIs in order to bring the cluster back into a known state.
-func RecoverCluster(conf *Config, fsm FSM, logs LogStore, stable StableStore,
- snaps SnapshotStore, trans Transport, configuration Configuration) error {
- // Validate the Raft server config.
- if err := ValidateConfig(conf); err != nil {
- return err
- }
-
- // Sanity check the Raft peer configuration.
- if err := checkConfiguration(configuration); err != nil {
- return err
- }
-
- // Refuse to recover if there's no existing state. This would be safe to
- // do, but it is likely an indication of an operator error where they
- // expect data to be there and it's not. By refusing, we force them
- // to show intent to start a cluster fresh by explicitly doing a
- // bootstrap, rather than quietly fire up a fresh cluster here.
- hasState, err := HasExistingState(logs, stable, snaps)
- if err != nil {
- return fmt.Errorf("failed to check for existing state: %v", err)
- }
- if !hasState {
- return fmt.Errorf("refused to recover cluster with no initial state, this is probably an operator error")
- }
-
- // Attempt to restore any snapshots we find, newest to oldest.
- var snapshotIndex uint64
- var snapshotTerm uint64
- snapshots, err := snaps.List()
- if err != nil {
- return fmt.Errorf("failed to list snapshots: %v", err)
- }
- for _, snapshot := range snapshots {
- _, source, err := snaps.Open(snapshot.ID)
- if err != nil {
- // Skip this one and try the next. We will detect if we
- // couldn't open any snapshots.
- continue
- }
- defer source.Close()
-
- if err := fsm.Restore(source); err != nil {
- // Same here, skip and try the next one.
- continue
- }
-
- snapshotIndex = snapshot.Index
- snapshotTerm = snapshot.Term
- break
- }
- if len(snapshots) > 0 && (snapshotIndex == 0 || snapshotTerm == 0) {
- return fmt.Errorf("failed to restore any of the available snapshots")
- }
-
- // The snapshot information is the best known end point for the data
- // until we play back the Raft log entries.
- lastIndex := snapshotIndex
- lastTerm := snapshotTerm
-
- // Apply any Raft log entries past the snapshot.
- lastLogIndex, err := logs.LastIndex()
- if err != nil {
- return fmt.Errorf("failed to find last log: %v", err)
- }
- for index := snapshotIndex + 1; index <= lastLogIndex; index++ {
- var entry Log
- if err := logs.GetLog(index, &entry); err != nil {
- return fmt.Errorf("failed to get log at index %d: %v", index, err)
- }
- if entry.Type == LogCommand {
- _ = fsm.Apply(&entry)
- }
- lastIndex = entry.Index
- lastTerm = entry.Term
- }
-
- // Create a new snapshot, placing the configuration in as if it was
- // committed at index 1.
- snapshot, err := fsm.Snapshot()
- if err != nil {
- return fmt.Errorf("failed to snapshot FSM: %v", err)
- }
- version := getSnapshotVersion(conf.ProtocolVersion)
- sink, err := snaps.Create(version, lastIndex, lastTerm, configuration, 1, trans)
- if err != nil {
- return fmt.Errorf("failed to create snapshot: %v", err)
- }
- if err := snapshot.Persist(sink); err != nil {
- return fmt.Errorf("failed to persist snapshot: %v", err)
- }
- if err := sink.Close(); err != nil {
- return fmt.Errorf("failed to finalize snapshot: %v", err)
- }
-
- // Compact the log so that we don't get bad interference from any
- // configuration change log entries that might be there.
- firstLogIndex, err := logs.FirstIndex()
- if err != nil {
- return fmt.Errorf("failed to get first log index: %v", err)
- }
- if err := logs.DeleteRange(firstLogIndex, lastLogIndex); err != nil {
- return fmt.Errorf("log compaction failed: %v", err)
- }
-
- return nil
-}
-
-// HasExistingState returns true if the server has any existing state (logs,
-// knowledge of a current term, or any snapshots).
-func HasExistingState(logs LogStore, stable StableStore, snaps SnapshotStore) (bool, error) {
- // Make sure we don't have a current term.
- currentTerm, err := stable.GetUint64(keyCurrentTerm)
- if err == nil {
- if currentTerm > 0 {
- return true, nil
- }
- } else {
- if err.Error() != "not found" {
- return false, fmt.Errorf("failed to read current term: %v", err)
- }
- }
-
- // Make sure we have an empty log.
- lastIndex, err := logs.LastIndex()
- if err != nil {
- return false, fmt.Errorf("failed to get last log index: %v", err)
- }
- if lastIndex > 0 {
- return true, nil
- }
-
- // Make sure we have no snapshots
- snapshots, err := snaps.List()
- if err != nil {
- return false, fmt.Errorf("failed to list snapshots: %v", err)
- }
- if len(snapshots) > 0 {
- return true, nil
- }
-
- return false, nil
-}
-
-// NewRaft is used to construct a new Raft node. It takes a configuration, as well
-// as implementations of various interfaces that are required. If we have any
-// old state, such as snapshots, logs, peers, etc, all those will be restored
-// when creating the Raft node.
-func NewRaft(conf *Config, fsm FSM, logs LogStore, stable StableStore, snaps SnapshotStore, trans Transport) (*Raft, error) {
- // Validate the configuration.
- if err := ValidateConfig(conf); err != nil {
- return nil, err
- }
-
- // Ensure we have a LogOutput.
- var logger *log.Logger
- if conf.Logger != nil {
- logger = conf.Logger
- } else {
- if conf.LogOutput == nil {
- conf.LogOutput = os.Stderr
- }
- logger = log.New(conf.LogOutput, "", log.LstdFlags)
- }
-
- // Try to restore the current term.
- currentTerm, err := stable.GetUint64(keyCurrentTerm)
- if err != nil && err.Error() != "not found" {
- return nil, fmt.Errorf("failed to load current term: %v", err)
- }
-
- // Read the index of the last log entry.
- lastIndex, err := logs.LastIndex()
- if err != nil {
- return nil, fmt.Errorf("failed to find last log: %v", err)
- }
-
- // Get the last log entry.
- var lastLog Log
- if lastIndex > 0 {
- if err = logs.GetLog(lastIndex, &lastLog); err != nil {
- return nil, fmt.Errorf("failed to get last log at index %d: %v", lastIndex, err)
- }
- }
-
- // Make sure we have a valid server address and ID.
- protocolVersion := conf.ProtocolVersion
- localAddr := ServerAddress(trans.LocalAddr())
- localID := conf.LocalID
-
- // TODO (slackpad) - When we deprecate protocol version 2, remove this
- // along with the AddPeer() and RemovePeer() APIs.
- if protocolVersion < 3 && string(localID) != string(localAddr) {
- return nil, fmt.Errorf("when running with ProtocolVersion < 3, LocalID must be set to the network address")
- }
-
- // Create Raft struct.
- r := &Raft{
- protocolVersion: protocolVersion,
- applyCh: make(chan *logFuture),
- conf: *conf,
- fsm: fsm,
- fsmMutateCh: make(chan interface{}, 128),
- fsmSnapshotCh: make(chan *reqSnapshotFuture),
- leaderCh: make(chan bool),
- localID: localID,
- localAddr: localAddr,
- logger: logger,
- logs: logs,
- configurationChangeCh: make(chan *configurationChangeFuture),
- configurations: configurations{},
- rpcCh: trans.Consumer(),
- snapshots: snaps,
- userSnapshotCh: make(chan *userSnapshotFuture),
- userRestoreCh: make(chan *userRestoreFuture),
- shutdownCh: make(chan struct{}),
- stable: stable,
- trans: trans,
- verifyCh: make(chan *verifyFuture, 64),
- configurationsCh: make(chan *configurationsFuture, 8),
- bootstrapCh: make(chan *bootstrapFuture),
- observers: make(map[uint64]*Observer),
- }
-
- // Initialize as a follower.
- r.setState(Follower)
-
- // Start as leader if specified. This should only be used
- // for testing purposes.
- if conf.StartAsLeader {
- r.setState(Leader)
- r.setLeader(r.localAddr)
- }
-
- // Restore the current term and the last log.
- r.setCurrentTerm(currentTerm)
- r.setLastLog(lastLog.Index, lastLog.Term)
-
- // Attempt to restore a snapshot if there are any.
- if err := r.restoreSnapshot(); err != nil {
- return nil, err
- }
-
- // Scan through the log for any configuration change entries.
- snapshotIndex, _ := r.getLastSnapshot()
- for index := snapshotIndex + 1; index <= lastLog.Index; index++ {
- var entry Log
- if err := r.logs.GetLog(index, &entry); err != nil {
- r.logger.Printf("[ERR] raft: Failed to get log at %d: %v", index, err)
- panic(err)
- }
- r.processConfigurationLogEntry(&entry)
- }
- r.logger.Printf("[INFO] raft: Initial configuration (index=%d): %+v",
- r.configurations.latestIndex, r.configurations.latest.Servers)
-
- // Setup a heartbeat fast-path to avoid head-of-line
- // blocking where possible. It MUST be safe for this
- // to be called concurrently with a blocking RPC.
- trans.SetHeartbeatHandler(r.processHeartbeat)
-
- // Start the background work.
- r.goFunc(r.run)
- r.goFunc(r.runFSM)
- r.goFunc(r.runSnapshots)
- return r, nil
-}
-
-// restoreSnapshot attempts to restore the latest snapshots, and fails if none
-// of them can be restored. This is called at initialization time, and is
-// completely unsafe to call at any other time.
-func (r *Raft) restoreSnapshot() error {
- snapshots, err := r.snapshots.List()
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to list snapshots: %v", err)
- return err
- }
-
- // Try to load in order of newest to oldest
- for _, snapshot := range snapshots {
- _, source, err := r.snapshots.Open(snapshot.ID)
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to open snapshot %v: %v", snapshot.ID, err)
- continue
- }
- defer source.Close()
-
- if err := r.fsm.Restore(source); err != nil {
- r.logger.Printf("[ERR] raft: Failed to restore snapshot %v: %v", snapshot.ID, err)
- continue
- }
-
- // Log success
- r.logger.Printf("[INFO] raft: Restored from snapshot %v", snapshot.ID)
-
- // Update the lastApplied so we don't replay old logs
- r.setLastApplied(snapshot.Index)
-
- // Update the last stable snapshot info
- r.setLastSnapshot(snapshot.Index, snapshot.Term)
-
- // Update the configuration
- if snapshot.Version > 0 {
- r.configurations.committed = snapshot.Configuration
- r.configurations.committedIndex = snapshot.ConfigurationIndex
- r.configurations.latest = snapshot.Configuration
- r.configurations.latestIndex = snapshot.ConfigurationIndex
- } else {
- configuration := decodePeers(snapshot.Peers, r.trans)
- r.configurations.committed = configuration
- r.configurations.committedIndex = snapshot.Index
- r.configurations.latest = configuration
- r.configurations.latestIndex = snapshot.Index
- }
-
- // Success!
- return nil
- }
-
- // If we had snapshots and failed to load them, its an error
- if len(snapshots) > 0 {
- return fmt.Errorf("failed to load any existing snapshots")
- }
- return nil
-}
-
-// BootstrapCluster is equivalent to non-member BootstrapCluster but can be
-// called on an un-bootstrapped Raft instance after it has been created. This
-// should only be called at the beginning of time for the cluster, and you
-// absolutely must make sure that you call it with the same configuration on all
-// the Voter servers. There is no need to bootstrap Nonvoter and Staging
-// servers.
-func (r *Raft) BootstrapCluster(configuration Configuration) Future {
- bootstrapReq := &bootstrapFuture{}
- bootstrapReq.init()
- bootstrapReq.configuration = configuration
- select {
- case <-r.shutdownCh:
- return errorFuture{ErrRaftShutdown}
- case r.bootstrapCh <- bootstrapReq:
- return bootstrapReq
- }
-}
-
-// Leader is used to return the current leader of the cluster.
-// It may return empty string if there is no current leader
-// or the leader is unknown.
-func (r *Raft) Leader() ServerAddress {
- r.leaderLock.RLock()
- leader := r.leader
- r.leaderLock.RUnlock()
- return leader
-}
-
-// Apply is used to apply a command to the FSM in a highly consistent
-// manner. This returns a future that can be used to wait on the application.
-// An optional timeout can be provided to limit the amount of time we wait
-// for the command to be started. This must be run on the leader or it
-// will fail.
-func (r *Raft) Apply(cmd []byte, timeout time.Duration) ApplyFuture {
- metrics.IncrCounter([]string{"raft", "apply"}, 1)
- var timer <-chan time.Time
- if timeout > 0 {
- timer = time.After(timeout)
- }
-
- // Create a log future, no index or term yet
- logFuture := &logFuture{
- log: Log{
- Type: LogCommand,
- Data: cmd,
- },
- }
- logFuture.init()
-
- select {
- case <-timer:
- return errorFuture{ErrEnqueueTimeout}
- case <-r.shutdownCh:
- return errorFuture{ErrRaftShutdown}
- case r.applyCh <- logFuture:
- return logFuture
- }
-}
-
-// Barrier is used to issue a command that blocks until all preceeding
-// operations have been applied to the FSM. It can be used to ensure the
-// FSM reflects all queued writes. An optional timeout can be provided to
-// limit the amount of time we wait for the command to be started. This
-// must be run on the leader or it will fail.
-func (r *Raft) Barrier(timeout time.Duration) Future {
- metrics.IncrCounter([]string{"raft", "barrier"}, 1)
- var timer <-chan time.Time
- if timeout > 0 {
- timer = time.After(timeout)
- }
-
- // Create a log future, no index or term yet
- logFuture := &logFuture{
- log: Log{
- Type: LogBarrier,
- },
- }
- logFuture.init()
-
- select {
- case <-timer:
- return errorFuture{ErrEnqueueTimeout}
- case <-r.shutdownCh:
- return errorFuture{ErrRaftShutdown}
- case r.applyCh <- logFuture:
- return logFuture
- }
-}
-
-// VerifyLeader is used to ensure the current node is still
-// the leader. This can be done to prevent stale reads when a
-// new leader has potentially been elected.
-func (r *Raft) VerifyLeader() Future {
- metrics.IncrCounter([]string{"raft", "verify_leader"}, 1)
- verifyFuture := &verifyFuture{}
- verifyFuture.init()
- select {
- case <-r.shutdownCh:
- return errorFuture{ErrRaftShutdown}
- case r.verifyCh <- verifyFuture:
- return verifyFuture
- }
-}
-
-// GetConfiguration returns the latest configuration and its associated index
-// currently in use. This may not yet be committed. This must not be called on
-// the main thread (which can access the information directly).
-func (r *Raft) GetConfiguration() ConfigurationFuture {
- configReq := &configurationsFuture{}
- configReq.init()
- select {
- case <-r.shutdownCh:
- configReq.respond(ErrRaftShutdown)
- return configReq
- case r.configurationsCh <- configReq:
- return configReq
- }
-}
-
-// AddPeer (deprecated) is used to add a new peer into the cluster. This must be
-// run on the leader or it will fail. Use AddVoter/AddNonvoter instead.
-func (r *Raft) AddPeer(peer ServerAddress) Future {
- if r.protocolVersion > 2 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: AddStaging,
- serverID: ServerID(peer),
- serverAddress: peer,
- prevIndex: 0,
- }, 0)
-}
-
-// RemovePeer (deprecated) is used to remove a peer from the cluster. If the
-// current leader is being removed, it will cause a new election
-// to occur. This must be run on the leader or it will fail.
-// Use RemoveServer instead.
-func (r *Raft) RemovePeer(peer ServerAddress) Future {
- if r.protocolVersion > 2 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: RemoveServer,
- serverID: ServerID(peer),
- prevIndex: 0,
- }, 0)
-}
-
-// AddVoter will add the given server to the cluster as a staging server. If the
-// server is already in the cluster as a voter, this does nothing. This must be
-// run on the leader or it will fail. The leader will promote the staging server
-// to a voter once that server is ready. If nonzero, prevIndex is the index of
-// the only configuration upon which this change may be applied; if another
-// configuration entry has been added in the meantime, this request will fail.
-// If nonzero, timeout is how long this server should wait before the
-// configuration change log entry is appended.
-func (r *Raft) AddVoter(id ServerID, address ServerAddress, prevIndex uint64, timeout time.Duration) IndexFuture {
- if r.protocolVersion < 2 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: AddStaging,
- serverID: id,
- serverAddress: address,
- prevIndex: prevIndex,
- }, timeout)
-}
-
-// AddNonvoter will add the given server to the cluster but won't assign it a
-// vote. The server will receive log entries, but it won't participate in
-// elections or log entry commitment. If the server is already in the cluster as
-// a staging server or voter, this does nothing. This must be run on the leader
-// or it will fail. For prevIndex and timeout, see AddVoter.
-func (r *Raft) AddNonvoter(id ServerID, address ServerAddress, prevIndex uint64, timeout time.Duration) IndexFuture {
- if r.protocolVersion < 3 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: AddNonvoter,
- serverID: id,
- serverAddress: address,
- prevIndex: prevIndex,
- }, timeout)
-}
-
-// RemoveServer will remove the given server from the cluster. If the current
-// leader is being removed, it will cause a new election to occur. This must be
-// run on the leader or it will fail. For prevIndex and timeout, see AddVoter.
-func (r *Raft) RemoveServer(id ServerID, prevIndex uint64, timeout time.Duration) IndexFuture {
- if r.protocolVersion < 2 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: RemoveServer,
- serverID: id,
- prevIndex: prevIndex,
- }, timeout)
-}
-
-// DemoteVoter will take away a server's vote, if it has one. If present, the
-// server will continue to receive log entries, but it won't participate in
-// elections or log entry commitment. If the server is not in the cluster, this
-// does nothing. This must be run on the leader or it will fail. For prevIndex
-// and timeout, see AddVoter.
-func (r *Raft) DemoteVoter(id ServerID, prevIndex uint64, timeout time.Duration) IndexFuture {
- if r.protocolVersion < 3 {
- return errorFuture{ErrUnsupportedProtocol}
- }
-
- return r.requestConfigChange(configurationChangeRequest{
- command: DemoteVoter,
- serverID: id,
- prevIndex: prevIndex,
- }, timeout)
-}
-
-// Shutdown is used to stop the Raft background routines.
-// This is not a graceful operation. Provides a future that
-// can be used to block until all background routines have exited.
-func (r *Raft) Shutdown() Future {
- r.shutdownLock.Lock()
- defer r.shutdownLock.Unlock()
-
- if !r.shutdown {
- close(r.shutdownCh)
- r.shutdown = true
- r.setState(Shutdown)
- return &shutdownFuture{r}
- }
-
- // avoid closing transport twice
- return &shutdownFuture{nil}
-}
-
-// Snapshot is used to manually force Raft to take a snapshot. Returns a future
-// that can be used to block until complete, and that contains a function that
-// can be used to open the snapshot.
-func (r *Raft) Snapshot() SnapshotFuture {
- future := &userSnapshotFuture{}
- future.init()
- select {
- case r.userSnapshotCh <- future:
- return future
- case <-r.shutdownCh:
- future.respond(ErrRaftShutdown)
- return future
- }
-}
-
-// Restore is used to manually force Raft to consume an external snapshot, such
-// as if restoring from a backup. We will use the current Raft configuration,
-// not the one from the snapshot, so that we can restore into a new cluster. We
-// will also use the higher of the index of the snapshot, or the current index,
-// and then add 1 to that, so we force a new state with a hole in the Raft log,
-// so that the snapshot will be sent to followers and used for any new joiners.
-// This can only be run on the leader, and blocks until the restore is complete
-// or an error occurs.
-//
-// WARNING! This operation has the leader take on the state of the snapshot and
-// then sets itself up so that it replicates that to its followers though the
-// install snapshot process. This involves a potentially dangerous period where
-// the leader commits ahead of its followers, so should only be used for disaster
-// recovery into a fresh cluster, and should not be used in normal operations.
-func (r *Raft) Restore(meta *SnapshotMeta, reader io.Reader, timeout time.Duration) error {
- metrics.IncrCounter([]string{"raft", "restore"}, 1)
- var timer <-chan time.Time
- if timeout > 0 {
- timer = time.After(timeout)
- }
-
- // Perform the restore.
- restore := &userRestoreFuture{
- meta: meta,
- reader: reader,
- }
- restore.init()
- select {
- case <-timer:
- return ErrEnqueueTimeout
- case <-r.shutdownCh:
- return ErrRaftShutdown
- case r.userRestoreCh <- restore:
- // If the restore is ingested then wait for it to complete.
- if err := restore.Error(); err != nil {
- return err
- }
- }
-
- // Apply a no-op log entry. Waiting for this allows us to wait until the
- // followers have gotten the restore and replicated at least this new
- // entry, which shows that we've also faulted and installed the
- // snapshot with the contents of the restore.
- noop := &logFuture{
- log: Log{
- Type: LogNoop,
- },
- }
- noop.init()
- select {
- case <-timer:
- return ErrEnqueueTimeout
- case <-r.shutdownCh:
- return ErrRaftShutdown
- case r.applyCh <- noop:
- return noop.Error()
- }
-}
-
-// State is used to return the current raft state.
-func (r *Raft) State() RaftState {
- return r.getState()
-}
-
-// LeaderCh is used to get a channel which delivers signals on
-// acquiring or losing leadership. It sends true if we become
-// the leader, and false if we lose it. The channel is not buffered,
-// and does not block on writes.
-func (r *Raft) LeaderCh() <-chan bool {
- return r.leaderCh
-}
-
-// String returns a string representation of this Raft node.
-func (r *Raft) String() string {
- return fmt.Sprintf("Node at %s [%v]", r.localAddr, r.getState())
-}
-
-// LastContact returns the time of last contact by a leader.
-// This only makes sense if we are currently a follower.
-func (r *Raft) LastContact() time.Time {
- r.lastContactLock.RLock()
- last := r.lastContact
- r.lastContactLock.RUnlock()
- return last
-}
-
-// Stats is used to return a map of various internal stats. This
-// should only be used for informative purposes or debugging.
-//
-// Keys are: "state", "term", "last_log_index", "last_log_term",
-// "commit_index", "applied_index", "fsm_pending",
-// "last_snapshot_index", "last_snapshot_term",
-// "latest_configuration", "last_contact", and "num_peers".
-//
-// The value of "state" is a numerical value representing a
-// RaftState const.
-//
-// The value of "latest_configuration" is a string which contains
-// the id of each server, its suffrage status, and its address.
-//
-// The value of "last_contact" is either "never" if there
-// has been no contact with a leader, "0" if the node is in the
-// leader state, or the time since last contact with a leader
-// formatted as a string.
-//
-// The value of "num_peers" is the number of other voting servers in the
-// cluster, not including this node. If this node isn't part of the
-// configuration then this will be "0".
-//
-// All other values are uint64s, formatted as strings.
-func (r *Raft) Stats() map[string]string {
- toString := func(v uint64) string {
- return strconv.FormatUint(v, 10)
- }
- lastLogIndex, lastLogTerm := r.getLastLog()
- lastSnapIndex, lastSnapTerm := r.getLastSnapshot()
- s := map[string]string{
- "state": r.getState().String(),
- "term": toString(r.getCurrentTerm()),
- "last_log_index": toString(lastLogIndex),
- "last_log_term": toString(lastLogTerm),
- "commit_index": toString(r.getCommitIndex()),
- "applied_index": toString(r.getLastApplied()),
- "fsm_pending": toString(uint64(len(r.fsmMutateCh))),
- "last_snapshot_index": toString(lastSnapIndex),
- "last_snapshot_term": toString(lastSnapTerm),
- "protocol_version": toString(uint64(r.protocolVersion)),
- "protocol_version_min": toString(uint64(ProtocolVersionMin)),
- "protocol_version_max": toString(uint64(ProtocolVersionMax)),
- "snapshot_version_min": toString(uint64(SnapshotVersionMin)),
- "snapshot_version_max": toString(uint64(SnapshotVersionMax)),
- }
-
- future := r.GetConfiguration()
- if err := future.Error(); err != nil {
- r.logger.Printf("[WARN] raft: could not get configuration for Stats: %v", err)
- } else {
- configuration := future.Configuration()
- s["latest_configuration_index"] = toString(future.Index())
- s["latest_configuration"] = fmt.Sprintf("%+v", configuration.Servers)
-
- // This is a legacy metric that we've seen people use in the wild.
- hasUs := false
- numPeers := 0
- for _, server := range configuration.Servers {
- if server.Suffrage == Voter {
- if server.ID == r.localID {
- hasUs = true
- } else {
- numPeers++
- }
- }
- }
- if !hasUs {
- numPeers = 0
- }
- s["num_peers"] = toString(uint64(numPeers))
- }
-
- last := r.LastContact()
- if last.IsZero() {
- s["last_contact"] = "never"
- } else if r.getState() == Leader {
- s["last_contact"] = "0"
- } else {
- s["last_contact"] = fmt.Sprintf("%v", time.Now().Sub(last))
- }
- return s
-}
-
-// LastIndex returns the last index in stable storage,
-// either from the last log or from the last snapshot.
-func (r *Raft) LastIndex() uint64 {
- return r.getLastIndex()
-}
-
-// AppliedIndex returns the last index applied to the FSM. This is generally
-// lagging behind the last index, especially for indexes that are persisted but
-// have not yet been considered committed by the leader. NOTE - this reflects
-// the last index that was sent to the application's FSM over the apply channel
-// but DOES NOT mean that the application's FSM has yet consumed it and applied
-// it to its internal state. Thus, the application's state may lag behind this
-// index.
-func (r *Raft) AppliedIndex() uint64 {
- return r.getLastApplied()
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commands.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commands.go
deleted file mode 100644
index 5d89e7bc..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commands.go
+++ /dev/null
@@ -1,151 +0,0 @@
-package raft
-
-// RPCHeader is a common sub-structure used to pass along protocol version and
-// other information about the cluster. For older Raft implementations before
-// versioning was added this will default to a zero-valued structure when read
-// by newer Raft versions.
-type RPCHeader struct {
- // ProtocolVersion is the version of the protocol the sender is
- // speaking.
- ProtocolVersion ProtocolVersion
-}
-
-// WithRPCHeader is an interface that exposes the RPC header.
-type WithRPCHeader interface {
- GetRPCHeader() RPCHeader
-}
-
-// AppendEntriesRequest is the command used to append entries to the
-// replicated log.
-type AppendEntriesRequest struct {
- RPCHeader
-
- // Provide the current term and leader
- Term uint64
- Leader []byte
-
- // Provide the previous entries for integrity checking
- PrevLogEntry uint64
- PrevLogTerm uint64
-
- // New entries to commit
- Entries []*Log
-
- // Commit index on the leader
- LeaderCommitIndex uint64
-}
-
-// See WithRPCHeader.
-func (r *AppendEntriesRequest) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
-
-// AppendEntriesResponse is the response returned from an
-// AppendEntriesRequest.
-type AppendEntriesResponse struct {
- RPCHeader
-
- // Newer term if leader is out of date
- Term uint64
-
- // Last Log is a hint to help accelerate rebuilding slow nodes
- LastLog uint64
-
- // We may not succeed if we have a conflicting entry
- Success bool
-
- // There are scenarios where this request didn't succeed
- // but there's no need to wait/back-off the next attempt.
- NoRetryBackoff bool
-}
-
-// See WithRPCHeader.
-func (r *AppendEntriesResponse) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
-
-// RequestVoteRequest is the command used by a candidate to ask a Raft peer
-// for a vote in an election.
-type RequestVoteRequest struct {
- RPCHeader
-
- // Provide the term and our id
- Term uint64
- Candidate []byte
-
- // Used to ensure safety
- LastLogIndex uint64
- LastLogTerm uint64
-}
-
-// See WithRPCHeader.
-func (r *RequestVoteRequest) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
-
-// RequestVoteResponse is the response returned from a RequestVoteRequest.
-type RequestVoteResponse struct {
- RPCHeader
-
- // Newer term if leader is out of date.
- Term uint64
-
- // Peers is deprecated, but required by servers that only understand
- // protocol version 0. This is not populated in protocol version 2
- // and later.
- Peers []byte
-
- // Is the vote granted.
- Granted bool
-}
-
-// See WithRPCHeader.
-func (r *RequestVoteResponse) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
-
-// InstallSnapshotRequest is the command sent to a Raft peer to bootstrap its
-// log (and state machine) from a snapshot on another peer.
-type InstallSnapshotRequest struct {
- RPCHeader
- SnapshotVersion SnapshotVersion
-
- Term uint64
- Leader []byte
-
- // These are the last index/term included in the snapshot
- LastLogIndex uint64
- LastLogTerm uint64
-
- // Peer Set in the snapshot. This is deprecated in favor of Configuration
- // but remains here in case we receive an InstallSnapshot from a leader
- // that's running old code.
- Peers []byte
-
- // Cluster membership.
- Configuration []byte
- // Log index where 'Configuration' entry was originally written.
- ConfigurationIndex uint64
-
- // Size of the snapshot
- Size int64
-}
-
-// See WithRPCHeader.
-func (r *InstallSnapshotRequest) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
-
-// InstallSnapshotResponse is the response returned from an
-// InstallSnapshotRequest.
-type InstallSnapshotResponse struct {
- RPCHeader
-
- Term uint64
- Success bool
-}
-
-// See WithRPCHeader.
-func (r *InstallSnapshotResponse) GetRPCHeader() RPCHeader {
- return r.RPCHeader
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commitment.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commitment.go
deleted file mode 100644
index b5ba2634..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/commitment.go
+++ /dev/null
@@ -1,101 +0,0 @@
-package raft
-
-import (
- "sort"
- "sync"
-)
-
-// Commitment is used to advance the leader's commit index. The leader and
-// replication goroutines report in newly written entries with Match(), and
-// this notifies on commitCh when the commit index has advanced.
-type commitment struct {
- // protectes matchIndexes and commitIndex
- sync.Mutex
- // notified when commitIndex increases
- commitCh chan struct{}
- // voter ID to log index: the server stores up through this log entry
- matchIndexes map[ServerID]uint64
- // a quorum stores up through this log entry. monotonically increases.
- commitIndex uint64
- // the first index of this leader's term: this needs to be replicated to a
- // majority of the cluster before this leader may mark anything committed
- // (per Raft's commitment rule)
- startIndex uint64
-}
-
-// newCommitment returns an commitment struct that notifies the provided
-// channel when log entries have been committed. A new commitment struct is
-// created each time this server becomes leader for a particular term.
-// 'configuration' is the servers in the cluster.
-// 'startIndex' is the first index created in this term (see
-// its description above).
-func newCommitment(commitCh chan struct{}, configuration Configuration, startIndex uint64) *commitment {
- matchIndexes := make(map[ServerID]uint64)
- for _, server := range configuration.Servers {
- if server.Suffrage == Voter {
- matchIndexes[server.ID] = 0
- }
- }
- return &commitment{
- commitCh: commitCh,
- matchIndexes: matchIndexes,
- commitIndex: 0,
- startIndex: startIndex,
- }
-}
-
-// Called when a new cluster membership configuration is created: it will be
-// used to determine commitment from now on. 'configuration' is the servers in
-// the cluster.
-func (c *commitment) setConfiguration(configuration Configuration) {
- c.Lock()
- defer c.Unlock()
- oldMatchIndexes := c.matchIndexes
- c.matchIndexes = make(map[ServerID]uint64)
- for _, server := range configuration.Servers {
- if server.Suffrage == Voter {
- c.matchIndexes[server.ID] = oldMatchIndexes[server.ID] // defaults to 0
- }
- }
- c.recalculate()
-}
-
-// Called by leader after commitCh is notified
-func (c *commitment) getCommitIndex() uint64 {
- c.Lock()
- defer c.Unlock()
- return c.commitIndex
-}
-
-// Match is called once a server completes writing entries to disk: either the
-// leader has written the new entry or a follower has replied to an
-// AppendEntries RPC. The given server's disk agrees with this server's log up
-// through the given index.
-func (c *commitment) match(server ServerID, matchIndex uint64) {
- c.Lock()
- defer c.Unlock()
- if prev, hasVote := c.matchIndexes[server]; hasVote && matchIndex > prev {
- c.matchIndexes[server] = matchIndex
- c.recalculate()
- }
-}
-
-// Internal helper to calculate new commitIndex from matchIndexes.
-// Must be called with lock held.
-func (c *commitment) recalculate() {
- if len(c.matchIndexes) == 0 {
- return
- }
-
- matched := make([]uint64, 0, len(c.matchIndexes))
- for _, idx := range c.matchIndexes {
- matched = append(matched, idx)
- }
- sort.Sort(uint64Slice(matched))
- quorumMatchIndex := matched[(len(matched)-1)/2]
-
- if quorumMatchIndex > c.commitIndex && quorumMatchIndex >= c.startIndex {
- c.commitIndex = quorumMatchIndex
- asyncNotifyCh(c.commitCh)
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/config.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/config.go
deleted file mode 100644
index c1ce03ac..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/config.go
+++ /dev/null
@@ -1,258 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
- "log"
- "time"
-)
-
-// These are the versions of the protocol (which includes RPC messages as
-// well as Raft-specific log entries) that this server can _understand_. Use
-// the ProtocolVersion member of the Config object to control the version of
-// the protocol to use when _speaking_ to other servers. Note that depending on
-// the protocol version being spoken, some otherwise understood RPC messages
-// may be refused. See dispositionRPC for details of this logic.
-//
-// There are notes about the upgrade path in the description of the versions
-// below. If you are starting a fresh cluster then there's no reason not to
-// jump right to the latest protocol version. If you need to interoperate with
-// older, version 0 Raft servers you'll need to drive the cluster through the
-// different versions in order.
-//
-// The version details are complicated, but here's a summary of what's required
-// to get from a version 0 cluster to version 3:
-//
-// 1. In version N of your app that starts using the new Raft library with
-// versioning, set ProtocolVersion to 1.
-// 2. Make version N+1 of your app require version N as a prerequisite (all
-// servers must be upgraded). For version N+1 of your app set ProtocolVersion
-// to 2.
-// 3. Similarly, make version N+2 of your app require version N+1 as a
-// prerequisite. For version N+2 of your app, set ProtocolVersion to 3.
-//
-// During this upgrade, older cluster members will still have Server IDs equal
-// to their network addresses. To upgrade an older member and give it an ID, it
-// needs to leave the cluster and re-enter:
-//
-// 1. Remove the server from the cluster with RemoveServer, using its network
-// address as its ServerID.
-// 2. Update the server's config to a better ID (restarting the server).
-// 3. Add the server back to the cluster with AddVoter, using its new ID.
-//
-// You can do this during the rolling upgrade from N+1 to N+2 of your app, or
-// as a rolling change at any time after the upgrade.
-//
-// Version History
-//
-// 0: Original Raft library before versioning was added. Servers running this
-// version of the Raft library use AddPeerDeprecated/RemovePeerDeprecated
-// for all configuration changes, and have no support for LogConfiguration.
-// 1: First versioned protocol, used to interoperate with old servers, and begin
-// the migration path to newer versions of the protocol. Under this version
-// all configuration changes are propagated using the now-deprecated
-// RemovePeerDeprecated Raft log entry. This means that server IDs are always
-// set to be the same as the server addresses (since the old log entry type
-// cannot transmit an ID), and only AddPeer/RemovePeer APIs are supported.
-// Servers running this version of the protocol can understand the new
-// LogConfiguration Raft log entry but will never generate one so they can
-// remain compatible with version 0 Raft servers in the cluster.
-// 2: Transitional protocol used when migrating an existing cluster to the new
-// server ID system. Server IDs are still set to be the same as server
-// addresses, but all configuration changes are propagated using the new
-// LogConfiguration Raft log entry type, which can carry full ID information.
-// This version supports the old AddPeer/RemovePeer APIs as well as the new
-// ID-based AddVoter/RemoveServer APIs which should be used when adding
-// version 3 servers to the cluster later. This version sheds all
-// interoperability with version 0 servers, but can interoperate with newer
-// Raft servers running with protocol version 1 since they can understand the
-// new LogConfiguration Raft log entry, and this version can still understand
-// their RemovePeerDeprecated Raft log entries. We need this protocol version
-// as an intermediate step between 1 and 3 so that servers will propagate the
-// ID information that will come from newly-added (or -rolled) servers using
-// protocol version 3, but since they are still using their address-based IDs
-// from the previous step they will still be able to track commitments and
-// their own voting status properly. If we skipped this step, servers would
-// be started with their new IDs, but they wouldn't see themselves in the old
-// address-based configuration, so none of the servers would think they had a
-// vote.
-// 3: Protocol adding full support for server IDs and new ID-based server APIs
-// (AddVoter, AddNonvoter, etc.), old AddPeer/RemovePeer APIs are no longer
-// supported. Version 2 servers should be swapped out by removing them from
-// the cluster one-by-one and re-adding them with updated configuration for
-// this protocol version, along with their server ID. The remove/add cycle
-// is required to populate their server ID. Note that removing must be done
-// by ID, which will be the old server's address.
-type ProtocolVersion int
-
-const (
- ProtocolVersionMin ProtocolVersion = 0
- ProtocolVersionMax = 3
-)
-
-// These are versions of snapshots that this server can _understand_. Currently,
-// it is always assumed that this server generates the latest version, though
-// this may be changed in the future to include a configurable version.
-//
-// Version History
-//
-// 0: Original Raft library before versioning was added. The peers portion of
-// these snapshots is encoded in the legacy format which requires decodePeers
-// to parse. This version of snapshots should only be produced by the
-// unversioned Raft library.
-// 1: New format which adds support for a full configuration structure and its
-// associated log index, with support for server IDs and non-voting server
-// modes. To ease upgrades, this also includes the legacy peers structure but
-// that will never be used by servers that understand version 1 snapshots.
-// Since the original Raft library didn't enforce any versioning, we must
-// include the legacy peers structure for this version, but we can deprecate
-// it in the next snapshot version.
-type SnapshotVersion int
-
-const (
- SnapshotVersionMin SnapshotVersion = 0
- SnapshotVersionMax = 1
-)
-
-// Config provides any necessary configuration for the Raft server.
-type Config struct {
- // ProtocolVersion allows a Raft server to inter-operate with older
- // Raft servers running an older version of the code. This is used to
- // version the wire protocol as well as Raft-specific log entries that
- // the server uses when _speaking_ to other servers. There is currently
- // no auto-negotiation of versions so all servers must be manually
- // configured with compatible versions. See ProtocolVersionMin and
- // ProtocolVersionMax for the versions of the protocol that this server
- // can _understand_.
- ProtocolVersion ProtocolVersion
-
- // HeartbeatTimeout specifies the time in follower state without
- // a leader before we attempt an election.
- HeartbeatTimeout time.Duration
-
- // ElectionTimeout specifies the time in candidate state without
- // a leader before we attempt an election.
- ElectionTimeout time.Duration
-
- // CommitTimeout controls the time without an Apply() operation
- // before we heartbeat to ensure a timely commit. Due to random
- // staggering, may be delayed as much as 2x this value.
- CommitTimeout time.Duration
-
- // MaxAppendEntries controls the maximum number of append entries
- // to send at once. We want to strike a balance between efficiency
- // and avoiding waste if the follower is going to reject because of
- // an inconsistent log.
- MaxAppendEntries int
-
- // If we are a member of a cluster, and RemovePeer is invoked for the
- // local node, then we forget all peers and transition into the follower state.
- // If ShutdownOnRemove is is set, we additional shutdown Raft. Otherwise,
- // we can become a leader of a cluster containing only this node.
- ShutdownOnRemove bool
-
- // TrailingLogs controls how many logs we leave after a snapshot. This is
- // used so that we can quickly replay logs on a follower instead of being
- // forced to send an entire snapshot.
- TrailingLogs uint64
-
- // SnapshotInterval controls how often we check if we should perform a snapshot.
- // We randomly stagger between this value and 2x this value to avoid the entire
- // cluster from performing a snapshot at once.
- SnapshotInterval time.Duration
-
- // SnapshotThreshold controls how many outstanding logs there must be before
- // we perform a snapshot. This is to prevent excessive snapshots when we can
- // just replay a small set of logs.
- SnapshotThreshold uint64
-
- // LeaderLeaseTimeout is used to control how long the "lease" lasts
- // for being the leader without being able to contact a quorum
- // of nodes. If we reach this interval without contact, we will
- // step down as leader.
- LeaderLeaseTimeout time.Duration
-
- // StartAsLeader forces Raft to start in the leader state. This should
- // never be used except for testing purposes, as it can cause a split-brain.
- StartAsLeader bool
-
- // The unique ID for this server across all time. When running with
- // ProtocolVersion < 3, you must set this to be the same as the network
- // address of your transport.
- LocalID ServerID
-
- // NotifyCh is used to provide a channel that will be notified of leadership
- // changes. Raft will block writing to this channel, so it should either be
- // buffered or aggressively consumed.
- NotifyCh chan<- bool
-
- // LogOutput is used as a sink for logs, unless Logger is specified.
- // Defaults to os.Stderr.
- LogOutput io.Writer
-
- // Logger is a user-provided logger. If nil, a logger writing to LogOutput
- // is used.
- Logger *log.Logger
-}
-
-// DefaultConfig returns a Config with usable defaults.
-func DefaultConfig() *Config {
- return &Config{
- ProtocolVersion: ProtocolVersionMax,
- HeartbeatTimeout: 1000 * time.Millisecond,
- ElectionTimeout: 1000 * time.Millisecond,
- CommitTimeout: 50 * time.Millisecond,
- MaxAppendEntries: 64,
- ShutdownOnRemove: true,
- TrailingLogs: 10240,
- SnapshotInterval: 120 * time.Second,
- SnapshotThreshold: 8192,
- LeaderLeaseTimeout: 500 * time.Millisecond,
- }
-}
-
-// ValidateConfig is used to validate a sane configuration
-func ValidateConfig(config *Config) error {
- // We don't actually support running as 0 in the library any more, but
- // we do understand it.
- protocolMin := ProtocolVersionMin
- if protocolMin == 0 {
- protocolMin = 1
- }
- if config.ProtocolVersion < protocolMin ||
- config.ProtocolVersion > ProtocolVersionMax {
- return fmt.Errorf("Protocol version %d must be >= %d and <= %d",
- config.ProtocolVersion, protocolMin, ProtocolVersionMax)
- }
- if len(config.LocalID) == 0 {
- return fmt.Errorf("LocalID cannot be empty")
- }
- if config.HeartbeatTimeout < 5*time.Millisecond {
- return fmt.Errorf("Heartbeat timeout is too low")
- }
- if config.ElectionTimeout < 5*time.Millisecond {
- return fmt.Errorf("Election timeout is too low")
- }
- if config.CommitTimeout < time.Millisecond {
- return fmt.Errorf("Commit timeout is too low")
- }
- if config.MaxAppendEntries <= 0 {
- return fmt.Errorf("MaxAppendEntries must be positive")
- }
- if config.MaxAppendEntries > 1024 {
- return fmt.Errorf("MaxAppendEntries is too large")
- }
- if config.SnapshotInterval < 5*time.Millisecond {
- return fmt.Errorf("Snapshot interval is too low")
- }
- if config.LeaderLeaseTimeout < 5*time.Millisecond {
- return fmt.Errorf("Leader lease timeout is too low")
- }
- if config.LeaderLeaseTimeout > config.HeartbeatTimeout {
- return fmt.Errorf("Leader lease timeout cannot be larger than heartbeat timeout")
- }
- if config.ElectionTimeout < config.HeartbeatTimeout {
- return fmt.Errorf("Election timeout must be equal or greater than Heartbeat Timeout")
- }
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/configuration.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/configuration.go
deleted file mode 100644
index 74508c5e..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/configuration.go
+++ /dev/null
@@ -1,343 +0,0 @@
-package raft
-
-import "fmt"
-
-// ServerSuffrage determines whether a Server in a Configuration gets a vote.
-type ServerSuffrage int
-
-// Note: Don't renumber these, since the numbers are written into the log.
-const (
- // Voter is a server whose vote is counted in elections and whose match index
- // is used in advancing the leader's commit index.
- Voter ServerSuffrage = iota
- // Nonvoter is a server that receives log entries but is not considered for
- // elections or commitment purposes.
- Nonvoter
- // Staging is a server that acts like a nonvoter with one exception: once a
- // staging server receives enough log entries to be sufficiently caught up to
- // the leader's log, the leader will invoke a membership change to change
- // the Staging server to a Voter.
- Staging
-)
-
-func (s ServerSuffrage) String() string {
- switch s {
- case Voter:
- return "Voter"
- case Nonvoter:
- return "Nonvoter"
- case Staging:
- return "Staging"
- }
- return "ServerSuffrage"
-}
-
-// ServerID is a unique string identifying a server for all time.
-type ServerID string
-
-// ServerAddress is a network address for a server that a transport can contact.
-type ServerAddress string
-
-// Server tracks the information about a single server in a configuration.
-type Server struct {
- // Suffrage determines whether the server gets a vote.
- Suffrage ServerSuffrage
- // ID is a unique string identifying this server for all time.
- ID ServerID
- // Address is its network address that a transport can contact.
- Address ServerAddress
-}
-
-// Configuration tracks which servers are in the cluster, and whether they have
-// votes. This should include the local server, if it's a member of the cluster.
-// The servers are listed no particular order, but each should only appear once.
-// These entries are appended to the log during membership changes.
-type Configuration struct {
- Servers []Server
-}
-
-// Clone makes a deep copy of a Configuration.
-func (c *Configuration) Clone() (copy Configuration) {
- copy.Servers = append(copy.Servers, c.Servers...)
- return
-}
-
-// ConfigurationChangeCommand is the different ways to change the cluster
-// configuration.
-type ConfigurationChangeCommand uint8
-
-const (
- // AddStaging makes a server Staging unless its Voter.
- AddStaging ConfigurationChangeCommand = iota
- // AddNonvoter makes a server Nonvoter unless its Staging or Voter.
- AddNonvoter
- // DemoteVoter makes a server Nonvoter unless its absent.
- DemoteVoter
- // RemoveServer removes a server entirely from the cluster membership.
- RemoveServer
- // Promote is created automatically by a leader; it turns a Staging server
- // into a Voter.
- Promote
-)
-
-func (c ConfigurationChangeCommand) String() string {
- switch c {
- case AddStaging:
- return "AddStaging"
- case AddNonvoter:
- return "AddNonvoter"
- case DemoteVoter:
- return "DemoteVoter"
- case RemoveServer:
- return "RemoveServer"
- case Promote:
- return "Promote"
- }
- return "ConfigurationChangeCommand"
-}
-
-// configurationChangeRequest describes a change that a leader would like to
-// make to its current configuration. It's used only within a single server
-// (never serialized into the log), as part of `configurationChangeFuture`.
-type configurationChangeRequest struct {
- command ConfigurationChangeCommand
- serverID ServerID
- serverAddress ServerAddress // only present for AddStaging, AddNonvoter
- // prevIndex, if nonzero, is the index of the only configuration upon which
- // this change may be applied; if another configuration entry has been
- // added in the meantime, this request will fail.
- prevIndex uint64
-}
-
-// configurations is state tracked on every server about its Configurations.
-// Note that, per Diego's dissertation, there can be at most one uncommitted
-// configuration at a time (the next configuration may not be created until the
-// prior one has been committed).
-//
-// One downside to storing just two configurations is that if you try to take a
-// snahpsot when your state machine hasn't yet applied the committedIndex, we
-// have no record of the configuration that would logically fit into that
-// snapshot. We disallow snapshots in that case now. An alternative approach,
-// which LogCabin uses, is to track every configuration change in the
-// log.
-type configurations struct {
- // committed is the latest configuration in the log/snapshot that has been
- // committed (the one with the largest index).
- committed Configuration
- // committedIndex is the log index where 'committed' was written.
- committedIndex uint64
- // latest is the latest configuration in the log/snapshot (may be committed
- // or uncommitted)
- latest Configuration
- // latestIndex is the log index where 'latest' was written.
- latestIndex uint64
-}
-
-// Clone makes a deep copy of a configurations object.
-func (c *configurations) Clone() (copy configurations) {
- copy.committed = c.committed.Clone()
- copy.committedIndex = c.committedIndex
- copy.latest = c.latest.Clone()
- copy.latestIndex = c.latestIndex
- return
-}
-
-// hasVote returns true if the server identified by 'id' is a Voter in the
-// provided Configuration.
-func hasVote(configuration Configuration, id ServerID) bool {
- for _, server := range configuration.Servers {
- if server.ID == id {
- return server.Suffrage == Voter
- }
- }
- return false
-}
-
-// checkConfiguration tests a cluster membership configuration for common
-// errors.
-func checkConfiguration(configuration Configuration) error {
- idSet := make(map[ServerID]bool)
- addressSet := make(map[ServerAddress]bool)
- var voters int
- for _, server := range configuration.Servers {
- if server.ID == "" {
- return fmt.Errorf("Empty ID in configuration: %v", configuration)
- }
- if server.Address == "" {
- return fmt.Errorf("Empty address in configuration: %v", server)
- }
- if idSet[server.ID] {
- return fmt.Errorf("Found duplicate ID in configuration: %v", server.ID)
- }
- idSet[server.ID] = true
- if addressSet[server.Address] {
- return fmt.Errorf("Found duplicate address in configuration: %v", server.Address)
- }
- addressSet[server.Address] = true
- if server.Suffrage == Voter {
- voters++
- }
- }
- if voters == 0 {
- return fmt.Errorf("Need at least one voter in configuration: %v", configuration)
- }
- return nil
-}
-
-// nextConfiguration generates a new Configuration from the current one and a
-// configuration change request. It's split from appendConfigurationEntry so
-// that it can be unit tested easily.
-func nextConfiguration(current Configuration, currentIndex uint64, change configurationChangeRequest) (Configuration, error) {
- if change.prevIndex > 0 && change.prevIndex != currentIndex {
- return Configuration{}, fmt.Errorf("Configuration changed since %v (latest is %v)", change.prevIndex, currentIndex)
- }
-
- configuration := current.Clone()
- switch change.command {
- case AddStaging:
- // TODO: barf on new address?
- newServer := Server{
- // TODO: This should add the server as Staging, to be automatically
- // promoted to Voter later. However, the promoton to Voter is not yet
- // implemented, and doing so is not trivial with the way the leader loop
- // coordinates with the replication goroutines today. So, for now, the
- // server will have a vote right away, and the Promote case below is
- // unused.
- Suffrage: Voter,
- ID: change.serverID,
- Address: change.serverAddress,
- }
- found := false
- for i, server := range configuration.Servers {
- if server.ID == change.serverID {
- if server.Suffrage == Voter {
- configuration.Servers[i].Address = change.serverAddress
- } else {
- configuration.Servers[i] = newServer
- }
- found = true
- break
- }
- }
- if !found {
- configuration.Servers = append(configuration.Servers, newServer)
- }
- case AddNonvoter:
- newServer := Server{
- Suffrage: Nonvoter,
- ID: change.serverID,
- Address: change.serverAddress,
- }
- found := false
- for i, server := range configuration.Servers {
- if server.ID == change.serverID {
- if server.Suffrage != Nonvoter {
- configuration.Servers[i].Address = change.serverAddress
- } else {
- configuration.Servers[i] = newServer
- }
- found = true
- break
- }
- }
- if !found {
- configuration.Servers = append(configuration.Servers, newServer)
- }
- case DemoteVoter:
- for i, server := range configuration.Servers {
- if server.ID == change.serverID {
- configuration.Servers[i].Suffrage = Nonvoter
- break
- }
- }
- case RemoveServer:
- for i, server := range configuration.Servers {
- if server.ID == change.serverID {
- configuration.Servers = append(configuration.Servers[:i], configuration.Servers[i+1:]...)
- break
- }
- }
- case Promote:
- for i, server := range configuration.Servers {
- if server.ID == change.serverID && server.Suffrage == Staging {
- configuration.Servers[i].Suffrage = Voter
- break
- }
- }
- }
-
- // Make sure we didn't do something bad like remove the last voter
- if err := checkConfiguration(configuration); err != nil {
- return Configuration{}, err
- }
-
- return configuration, nil
-}
-
-// encodePeers is used to serialize a Configuration into the old peers format.
-// This is here for backwards compatibility when operating with a mix of old
-// servers and should be removed once we deprecate support for protocol version 1.
-func encodePeers(configuration Configuration, trans Transport) []byte {
- // Gather up all the voters, other suffrage types are not supported by
- // this data format.
- var encPeers [][]byte
- for _, server := range configuration.Servers {
- if server.Suffrage == Voter {
- encPeers = append(encPeers, trans.EncodePeer(server.Address))
- }
- }
-
- // Encode the entire array.
- buf, err := encodeMsgPack(encPeers)
- if err != nil {
- panic(fmt.Errorf("failed to encode peers: %v", err))
- }
-
- return buf.Bytes()
-}
-
-// decodePeers is used to deserialize an old list of peers into a Configuration.
-// This is here for backwards compatibility with old log entries and snapshots;
-// it should be removed eventually.
-func decodePeers(buf []byte, trans Transport) Configuration {
- // Decode the buffer first.
- var encPeers [][]byte
- if err := decodeMsgPack(buf, &encPeers); err != nil {
- panic(fmt.Errorf("failed to decode peers: %v", err))
- }
-
- // Deserialize each peer.
- var servers []Server
- for _, enc := range encPeers {
- p := trans.DecodePeer(enc)
- servers = append(servers, Server{
- Suffrage: Voter,
- ID: ServerID(p),
- Address: ServerAddress(p),
- })
- }
-
- return Configuration{
- Servers: servers,
- }
-}
-
-// encodeConfiguration serializes a Configuration using MsgPack, or panics on
-// errors.
-func encodeConfiguration(configuration Configuration) []byte {
- buf, err := encodeMsgPack(configuration)
- if err != nil {
- panic(fmt.Errorf("failed to encode configuration: %v", err))
- }
- return buf.Bytes()
-}
-
-// decodeConfiguration deserializes a Configuration using MsgPack, or panics on
-// errors.
-func decodeConfiguration(buf []byte) Configuration {
- var configuration Configuration
- if err := decodeMsgPack(buf, &configuration); err != nil {
- panic(fmt.Errorf("failed to decode configuration: %v", err))
- }
- return configuration
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/discard_snapshot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/discard_snapshot.go
deleted file mode 100644
index 5e93a9fe..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/discard_snapshot.go
+++ /dev/null
@@ -1,49 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
-)
-
-// DiscardSnapshotStore is used to successfully snapshot while
-// always discarding the snapshot. This is useful for when the
-// log should be truncated but no snapshot should be retained.
-// This should never be used for production use, and is only
-// suitable for testing.
-type DiscardSnapshotStore struct{}
-
-type DiscardSnapshotSink struct{}
-
-// NewDiscardSnapshotStore is used to create a new DiscardSnapshotStore.
-func NewDiscardSnapshotStore() *DiscardSnapshotStore {
- return &DiscardSnapshotStore{}
-}
-
-func (d *DiscardSnapshotStore) Create(version SnapshotVersion, index, term uint64,
- configuration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {
- return &DiscardSnapshotSink{}, nil
-}
-
-func (d *DiscardSnapshotStore) List() ([]*SnapshotMeta, error) {
- return nil, nil
-}
-
-func (d *DiscardSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {
- return nil, nil, fmt.Errorf("open is not supported")
-}
-
-func (d *DiscardSnapshotSink) Write(b []byte) (int, error) {
- return len(b), nil
-}
-
-func (d *DiscardSnapshotSink) Close() error {
- return nil
-}
-
-func (d *DiscardSnapshotSink) ID() string {
- return "discard"
-}
-
-func (d *DiscardSnapshotSink) Cancel() error {
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/file_snapshot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/file_snapshot.go
deleted file mode 100644
index 17d08013..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/file_snapshot.go
+++ /dev/null
@@ -1,494 +0,0 @@
-package raft
-
-import (
- "bufio"
- "bytes"
- "encoding/json"
- "fmt"
- "hash"
- "hash/crc64"
- "io"
- "io/ioutil"
- "log"
- "os"
- "path/filepath"
- "sort"
- "strings"
- "time"
-)
-
-const (
- testPath = "permTest"
- snapPath = "snapshots"
- metaFilePath = "meta.json"
- stateFilePath = "state.bin"
- tmpSuffix = ".tmp"
-)
-
-// FileSnapshotStore implements the SnapshotStore interface and allows
-// snapshots to be made on the local disk.
-type FileSnapshotStore struct {
- path string
- retain int
- logger *log.Logger
-}
-
-type snapMetaSlice []*fileSnapshotMeta
-
-// FileSnapshotSink implements SnapshotSink with a file.
-type FileSnapshotSink struct {
- store *FileSnapshotStore
- logger *log.Logger
- dir string
- meta fileSnapshotMeta
-
- stateFile *os.File
- stateHash hash.Hash64
- buffered *bufio.Writer
-
- closed bool
-}
-
-// fileSnapshotMeta is stored on disk. We also put a CRC
-// on disk so that we can verify the snapshot.
-type fileSnapshotMeta struct {
- SnapshotMeta
- CRC []byte
-}
-
-// bufferedFile is returned when we open a snapshot. This way
-// reads are buffered and the file still gets closed.
-type bufferedFile struct {
- bh *bufio.Reader
- fh *os.File
-}
-
-func (b *bufferedFile) Read(p []byte) (n int, err error) {
- return b.bh.Read(p)
-}
-
-func (b *bufferedFile) Close() error {
- return b.fh.Close()
-}
-
-// NewFileSnapshotStoreWithLogger creates a new FileSnapshotStore based
-// on a base directory. The `retain` parameter controls how many
-// snapshots are retained. Must be at least 1.
-func NewFileSnapshotStoreWithLogger(base string, retain int, logger *log.Logger) (*FileSnapshotStore, error) {
- if retain < 1 {
- return nil, fmt.Errorf("must retain at least one snapshot")
- }
- if logger == nil {
- logger = log.New(os.Stderr, "", log.LstdFlags)
- }
-
- // Ensure our path exists
- path := filepath.Join(base, snapPath)
- if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {
- return nil, fmt.Errorf("snapshot path not accessible: %v", err)
- }
-
- // Setup the store
- store := &FileSnapshotStore{
- path: path,
- retain: retain,
- logger: logger,
- }
-
- // Do a permissions test
- if err := store.testPermissions(); err != nil {
- return nil, fmt.Errorf("permissions test failed: %v", err)
- }
- return store, nil
-}
-
-// NewFileSnapshotStore creates a new FileSnapshotStore based
-// on a base directory. The `retain` parameter controls how many
-// snapshots are retained. Must be at least 1.
-func NewFileSnapshotStore(base string, retain int, logOutput io.Writer) (*FileSnapshotStore, error) {
- if logOutput == nil {
- logOutput = os.Stderr
- }
- return NewFileSnapshotStoreWithLogger(base, retain, log.New(logOutput, "", log.LstdFlags))
-}
-
-// testPermissions tries to touch a file in our path to see if it works.
-func (f *FileSnapshotStore) testPermissions() error {
- path := filepath.Join(f.path, testPath)
- fh, err := os.Create(path)
- if err != nil {
- return err
- }
-
- if err = fh.Close(); err != nil {
- return err
- }
-
- if err = os.Remove(path); err != nil {
- return err
- }
- return nil
-}
-
-// snapshotName generates a name for the snapshot.
-func snapshotName(term, index uint64) string {
- now := time.Now()
- msec := now.UnixNano() / int64(time.Millisecond)
- return fmt.Sprintf("%d-%d-%d", term, index, msec)
-}
-
-// Create is used to start a new snapshot
-func (f *FileSnapshotStore) Create(version SnapshotVersion, index, term uint64,
- configuration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {
- // We only support version 1 snapshots at this time.
- if version != 1 {
- return nil, fmt.Errorf("unsupported snapshot version %d", version)
- }
-
- // Create a new path
- name := snapshotName(term, index)
- path := filepath.Join(f.path, name+tmpSuffix)
- f.logger.Printf("[INFO] snapshot: Creating new snapshot at %s", path)
-
- // Make the directory
- if err := os.MkdirAll(path, 0755); err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to make snapshot directory: %v", err)
- return nil, err
- }
-
- // Create the sink
- sink := &FileSnapshotSink{
- store: f,
- logger: f.logger,
- dir: path,
- meta: fileSnapshotMeta{
- SnapshotMeta: SnapshotMeta{
- Version: version,
- ID: name,
- Index: index,
- Term: term,
- Peers: encodePeers(configuration, trans),
- Configuration: configuration,
- ConfigurationIndex: configurationIndex,
- },
- CRC: nil,
- },
- }
-
- // Write out the meta data
- if err := sink.writeMeta(); err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to write metadata: %v", err)
- return nil, err
- }
-
- // Open the state file
- statePath := filepath.Join(path, stateFilePath)
- fh, err := os.Create(statePath)
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to create state file: %v", err)
- return nil, err
- }
- sink.stateFile = fh
-
- // Create a CRC64 hash
- sink.stateHash = crc64.New(crc64.MakeTable(crc64.ECMA))
-
- // Wrap both the hash and file in a MultiWriter with buffering
- multi := io.MultiWriter(sink.stateFile, sink.stateHash)
- sink.buffered = bufio.NewWriter(multi)
-
- // Done
- return sink, nil
-}
-
-// List returns available snapshots in the store.
-func (f *FileSnapshotStore) List() ([]*SnapshotMeta, error) {
- // Get the eligible snapshots
- snapshots, err := f.getSnapshots()
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to get snapshots: %v", err)
- return nil, err
- }
-
- var snapMeta []*SnapshotMeta
- for _, meta := range snapshots {
- snapMeta = append(snapMeta, &meta.SnapshotMeta)
- if len(snapMeta) == f.retain {
- break
- }
- }
- return snapMeta, nil
-}
-
-// getSnapshots returns all the known snapshots.
-func (f *FileSnapshotStore) getSnapshots() ([]*fileSnapshotMeta, error) {
- // Get the eligible snapshots
- snapshots, err := ioutil.ReadDir(f.path)
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to scan snapshot dir: %v", err)
- return nil, err
- }
-
- // Populate the metadata
- var snapMeta []*fileSnapshotMeta
- for _, snap := range snapshots {
- // Ignore any files
- if !snap.IsDir() {
- continue
- }
-
- // Ignore any temporary snapshots
- dirName := snap.Name()
- if strings.HasSuffix(dirName, tmpSuffix) {
- f.logger.Printf("[WARN] snapshot: Found temporary snapshot: %v", dirName)
- continue
- }
-
- // Try to read the meta data
- meta, err := f.readMeta(dirName)
- if err != nil {
- f.logger.Printf("[WARN] snapshot: Failed to read metadata for %v: %v", dirName, err)
- continue
- }
-
- // Make sure we can understand this version.
- if meta.Version < SnapshotVersionMin || meta.Version > SnapshotVersionMax {
- f.logger.Printf("[WARN] snapshot: Snapshot version for %v not supported: %d", dirName, meta.Version)
- continue
- }
-
- // Append, but only return up to the retain count
- snapMeta = append(snapMeta, meta)
- }
-
- // Sort the snapshot, reverse so we get new -> old
- sort.Sort(sort.Reverse(snapMetaSlice(snapMeta)))
-
- return snapMeta, nil
-}
-
-// readMeta is used to read the meta data for a given named backup
-func (f *FileSnapshotStore) readMeta(name string) (*fileSnapshotMeta, error) {
- // Open the meta file
- metaPath := filepath.Join(f.path, name, metaFilePath)
- fh, err := os.Open(metaPath)
- if err != nil {
- return nil, err
- }
- defer fh.Close()
-
- // Buffer the file IO
- buffered := bufio.NewReader(fh)
-
- // Read in the JSON
- meta := &fileSnapshotMeta{}
- dec := json.NewDecoder(buffered)
- if err := dec.Decode(meta); err != nil {
- return nil, err
- }
- return meta, nil
-}
-
-// Open takes a snapshot ID and returns a ReadCloser for that snapshot.
-func (f *FileSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {
- // Get the metadata
- meta, err := f.readMeta(id)
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to get meta data to open snapshot: %v", err)
- return nil, nil, err
- }
-
- // Open the state file
- statePath := filepath.Join(f.path, id, stateFilePath)
- fh, err := os.Open(statePath)
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to open state file: %v", err)
- return nil, nil, err
- }
-
- // Create a CRC64 hash
- stateHash := crc64.New(crc64.MakeTable(crc64.ECMA))
-
- // Compute the hash
- _, err = io.Copy(stateHash, fh)
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to read state file: %v", err)
- fh.Close()
- return nil, nil, err
- }
-
- // Verify the hash
- computed := stateHash.Sum(nil)
- if bytes.Compare(meta.CRC, computed) != 0 {
- f.logger.Printf("[ERR] snapshot: CRC checksum failed (stored: %v computed: %v)",
- meta.CRC, computed)
- fh.Close()
- return nil, nil, fmt.Errorf("CRC mismatch")
- }
-
- // Seek to the start
- if _, err := fh.Seek(0, 0); err != nil {
- f.logger.Printf("[ERR] snapshot: State file seek failed: %v", err)
- fh.Close()
- return nil, nil, err
- }
-
- // Return a buffered file
- buffered := &bufferedFile{
- bh: bufio.NewReader(fh),
- fh: fh,
- }
-
- return &meta.SnapshotMeta, buffered, nil
-}
-
-// ReapSnapshots reaps any snapshots beyond the retain count.
-func (f *FileSnapshotStore) ReapSnapshots() error {
- snapshots, err := f.getSnapshots()
- if err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to get snapshots: %v", err)
- return err
- }
-
- for i := f.retain; i < len(snapshots); i++ {
- path := filepath.Join(f.path, snapshots[i].ID)
- f.logger.Printf("[INFO] snapshot: reaping snapshot %v", path)
- if err := os.RemoveAll(path); err != nil {
- f.logger.Printf("[ERR] snapshot: Failed to reap snapshot %v: %v", path, err)
- return err
- }
- }
- return nil
-}
-
-// ID returns the ID of the snapshot, can be used with Open()
-// after the snapshot is finalized.
-func (s *FileSnapshotSink) ID() string {
- return s.meta.ID
-}
-
-// Write is used to append to the state file. We write to the
-// buffered IO object to reduce the amount of context switches.
-func (s *FileSnapshotSink) Write(b []byte) (int, error) {
- return s.buffered.Write(b)
-}
-
-// Close is used to indicate a successful end.
-func (s *FileSnapshotSink) Close() error {
- // Make sure close is idempotent
- if s.closed {
- return nil
- }
- s.closed = true
-
- // Close the open handles
- if err := s.finalize(); err != nil {
- s.logger.Printf("[ERR] snapshot: Failed to finalize snapshot: %v", err)
- return err
- }
-
- // Write out the meta data
- if err := s.writeMeta(); err != nil {
- s.logger.Printf("[ERR] snapshot: Failed to write metadata: %v", err)
- return err
- }
-
- // Move the directory into place
- newPath := strings.TrimSuffix(s.dir, tmpSuffix)
- if err := os.Rename(s.dir, newPath); err != nil {
- s.logger.Printf("[ERR] snapshot: Failed to move snapshot into place: %v", err)
- return err
- }
-
- // Reap any old snapshots
- if err := s.store.ReapSnapshots(); err != nil {
- return err
- }
-
- return nil
-}
-
-// Cancel is used to indicate an unsuccessful end.
-func (s *FileSnapshotSink) Cancel() error {
- // Make sure close is idempotent
- if s.closed {
- return nil
- }
- s.closed = true
-
- // Close the open handles
- if err := s.finalize(); err != nil {
- s.logger.Printf("[ERR] snapshot: Failed to finalize snapshot: %v", err)
- return err
- }
-
- // Attempt to remove all artifacts
- return os.RemoveAll(s.dir)
-}
-
-// finalize is used to close all of our resources.
-func (s *FileSnapshotSink) finalize() error {
- // Flush any remaining data
- if err := s.buffered.Flush(); err != nil {
- return err
- }
-
- // Get the file size
- stat, statErr := s.stateFile.Stat()
-
- // Close the file
- if err := s.stateFile.Close(); err != nil {
- return err
- }
-
- // Set the file size, check after we close
- if statErr != nil {
- return statErr
- }
- s.meta.Size = stat.Size()
-
- // Set the CRC
- s.meta.CRC = s.stateHash.Sum(nil)
- return nil
-}
-
-// writeMeta is used to write out the metadata we have.
-func (s *FileSnapshotSink) writeMeta() error {
- // Open the meta file
- metaPath := filepath.Join(s.dir, metaFilePath)
- fh, err := os.Create(metaPath)
- if err != nil {
- return err
- }
- defer fh.Close()
-
- // Buffer the file IO
- buffered := bufio.NewWriter(fh)
- defer buffered.Flush()
-
- // Write out as JSON
- enc := json.NewEncoder(buffered)
- if err := enc.Encode(&s.meta); err != nil {
- return err
- }
- return nil
-}
-
-// Implement the sort interface for []*fileSnapshotMeta.
-func (s snapMetaSlice) Len() int {
- return len(s)
-}
-
-func (s snapMetaSlice) Less(i, j int) bool {
- if s[i].Term != s[j].Term {
- return s[i].Term < s[j].Term
- }
- if s[i].Index != s[j].Index {
- return s[i].Index < s[j].Index
- }
- return s[i].ID < s[j].ID
-}
-
-func (s snapMetaSlice) Swap(i, j int) {
- s[i], s[j] = s[j], s[i]
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/fsm.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/fsm.go
deleted file mode 100644
index c89986c0..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/fsm.go
+++ /dev/null
@@ -1,136 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
- "time"
-
- "github.com/armon/go-metrics"
-)
-
-// FSM provides an interface that can be implemented by
-// clients to make use of the replicated log.
-type FSM interface {
- // Apply log is invoked once a log entry is committed.
- // It returns a value which will be made available in the
- // ApplyFuture returned by Raft.Apply method if that
- // method was called on the same Raft node as the FSM.
- Apply(*Log) interface{}
-
- // Snapshot is used to support log compaction. This call should
- // return an FSMSnapshot which can be used to save a point-in-time
- // snapshot of the FSM. Apply and Snapshot are not called in multiple
- // threads, but Apply will be called concurrently with Persist. This means
- // the FSM should be implemented in a fashion that allows for concurrent
- // updates while a snapshot is happening.
- Snapshot() (FSMSnapshot, error)
-
- // Restore is used to restore an FSM from a snapshot. It is not called
- // concurrently with any other command. The FSM must discard all previous
- // state.
- Restore(io.ReadCloser) error
-}
-
-// FSMSnapshot is returned by an FSM in response to a Snapshot
-// It must be safe to invoke FSMSnapshot methods with concurrent
-// calls to Apply.
-type FSMSnapshot interface {
- // Persist should dump all necessary state to the WriteCloser 'sink',
- // and call sink.Close() when finished or call sink.Cancel() on error.
- Persist(sink SnapshotSink) error
-
- // Release is invoked when we are finished with the snapshot.
- Release()
-}
-
-// runFSM is a long running goroutine responsible for applying logs
-// to the FSM. This is done async of other logs since we don't want
-// the FSM to block our internal operations.
-func (r *Raft) runFSM() {
- var lastIndex, lastTerm uint64
-
- commit := func(req *commitTuple) {
- // Apply the log if a command
- var resp interface{}
- if req.log.Type == LogCommand {
- start := time.Now()
- resp = r.fsm.Apply(req.log)
- metrics.MeasureSince([]string{"raft", "fsm", "apply"}, start)
- }
-
- // Update the indexes
- lastIndex = req.log.Index
- lastTerm = req.log.Term
-
- // Invoke the future if given
- if req.future != nil {
- req.future.response = resp
- req.future.respond(nil)
- }
- }
-
- restore := func(req *restoreFuture) {
- // Open the snapshot
- meta, source, err := r.snapshots.Open(req.ID)
- if err != nil {
- req.respond(fmt.Errorf("failed to open snapshot %v: %v", req.ID, err))
- return
- }
-
- // Attempt to restore
- start := time.Now()
- if err := r.fsm.Restore(source); err != nil {
- req.respond(fmt.Errorf("failed to restore snapshot %v: %v", req.ID, err))
- source.Close()
- return
- }
- source.Close()
- metrics.MeasureSince([]string{"raft", "fsm", "restore"}, start)
-
- // Update the last index and term
- lastIndex = meta.Index
- lastTerm = meta.Term
- req.respond(nil)
- }
-
- snapshot := func(req *reqSnapshotFuture) {
- // Is there something to snapshot?
- if lastIndex == 0 {
- req.respond(ErrNothingNewToSnapshot)
- return
- }
-
- // Start a snapshot
- start := time.Now()
- snap, err := r.fsm.Snapshot()
- metrics.MeasureSince([]string{"raft", "fsm", "snapshot"}, start)
-
- // Respond to the request
- req.index = lastIndex
- req.term = lastTerm
- req.snapshot = snap
- req.respond(err)
- }
-
- for {
- select {
- case ptr := <-r.fsmMutateCh:
- switch req := ptr.(type) {
- case *commitTuple:
- commit(req)
-
- case *restoreFuture:
- restore(req)
-
- default:
- panic(fmt.Errorf("bad type passed to fsmMutateCh: %#v", ptr))
- }
-
- case req := <-r.fsmSnapshotCh:
- snapshot(req)
-
- case <-r.shutdownCh:
- return
- }
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/future.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/future.go
deleted file mode 100644
index fac59a5c..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/future.go
+++ /dev/null
@@ -1,289 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
- "sync"
- "time"
-)
-
-// Future is used to represent an action that may occur in the future.
-type Future interface {
- // Error blocks until the future arrives and then
- // returns the error status of the future.
- // This may be called any number of times - all
- // calls will return the same value.
- // Note that it is not OK to call this method
- // twice concurrently on the same Future instance.
- Error() error
-}
-
-// IndexFuture is used for future actions that can result in a raft log entry
-// being created.
-type IndexFuture interface {
- Future
-
- // Index holds the index of the newly applied log entry.
- // This must not be called until after the Error method has returned.
- Index() uint64
-}
-
-// ApplyFuture is used for Apply and can return the FSM response.
-type ApplyFuture interface {
- IndexFuture
-
- // Response returns the FSM response as returned
- // by the FSM.Apply method. This must not be called
- // until after the Error method has returned.
- Response() interface{}
-}
-
-// ConfigurationFuture is used for GetConfiguration and can return the
-// latest configuration in use by Raft.
-type ConfigurationFuture interface {
- IndexFuture
-
- // Configuration contains the latest configuration. This must
- // not be called until after the Error method has returned.
- Configuration() Configuration
-}
-
-// SnapshotFuture is used for waiting on a user-triggered snapshot to complete.
-type SnapshotFuture interface {
- Future
-
- // Open is a function you can call to access the underlying snapshot and
- // its metadata. This must not be called until after the Error method
- // has returned.
- Open() (*SnapshotMeta, io.ReadCloser, error)
-}
-
-// errorFuture is used to return a static error.
-type errorFuture struct {
- err error
-}
-
-func (e errorFuture) Error() error {
- return e.err
-}
-
-func (e errorFuture) Response() interface{} {
- return nil
-}
-
-func (e errorFuture) Index() uint64 {
- return 0
-}
-
-// deferError can be embedded to allow a future
-// to provide an error in the future.
-type deferError struct {
- err error
- errCh chan error
- responded bool
-}
-
-func (d *deferError) init() {
- d.errCh = make(chan error, 1)
-}
-
-func (d *deferError) Error() error {
- if d.err != nil {
- // Note that when we've received a nil error, this
- // won't trigger, but the channel is closed after
- // send so we'll still return nil below.
- return d.err
- }
- if d.errCh == nil {
- panic("waiting for response on nil channel")
- }
- d.err = <-d.errCh
- return d.err
-}
-
-func (d *deferError) respond(err error) {
- if d.errCh == nil {
- return
- }
- if d.responded {
- return
- }
- d.errCh <- err
- close(d.errCh)
- d.responded = true
-}
-
-// There are several types of requests that cause a configuration entry to
-// be appended to the log. These are encoded here for leaderLoop() to process.
-// This is internal to a single server.
-type configurationChangeFuture struct {
- logFuture
- req configurationChangeRequest
-}
-
-// bootstrapFuture is used to attempt a live bootstrap of the cluster. See the
-// Raft object's BootstrapCluster member function for more details.
-type bootstrapFuture struct {
- deferError
-
- // configuration is the proposed bootstrap configuration to apply.
- configuration Configuration
-}
-
-// logFuture is used to apply a log entry and waits until
-// the log is considered committed.
-type logFuture struct {
- deferError
- log Log
- response interface{}
- dispatch time.Time
-}
-
-func (l *logFuture) Response() interface{} {
- return l.response
-}
-
-func (l *logFuture) Index() uint64 {
- return l.log.Index
-}
-
-type shutdownFuture struct {
- raft *Raft
-}
-
-func (s *shutdownFuture) Error() error {
- if s.raft == nil {
- return nil
- }
- s.raft.waitShutdown()
- if closeable, ok := s.raft.trans.(WithClose); ok {
- closeable.Close()
- }
- return nil
-}
-
-// userSnapshotFuture is used for waiting on a user-triggered snapshot to
-// complete.
-type userSnapshotFuture struct {
- deferError
-
- // opener is a function used to open the snapshot. This is filled in
- // once the future returns with no error.
- opener func() (*SnapshotMeta, io.ReadCloser, error)
-}
-
-// Open is a function you can call to access the underlying snapshot and its
-// metadata.
-func (u *userSnapshotFuture) Open() (*SnapshotMeta, io.ReadCloser, error) {
- if u.opener == nil {
- return nil, nil, fmt.Errorf("no snapshot available")
- } else {
- // Invalidate the opener so it can't get called multiple times,
- // which isn't generally safe.
- defer func() {
- u.opener = nil
- }()
- return u.opener()
- }
-}
-
-// userRestoreFuture is used for waiting on a user-triggered restore of an
-// external snapshot to complete.
-type userRestoreFuture struct {
- deferError
-
- // meta is the metadata that belongs with the snapshot.
- meta *SnapshotMeta
-
- // reader is the interface to read the snapshot contents from.
- reader io.Reader
-}
-
-// reqSnapshotFuture is used for requesting a snapshot start.
-// It is only used internally.
-type reqSnapshotFuture struct {
- deferError
-
- // snapshot details provided by the FSM runner before responding
- index uint64
- term uint64
- snapshot FSMSnapshot
-}
-
-// restoreFuture is used for requesting an FSM to perform a
-// snapshot restore. Used internally only.
-type restoreFuture struct {
- deferError
- ID string
-}
-
-// verifyFuture is used to verify the current node is still
-// the leader. This is to prevent a stale read.
-type verifyFuture struct {
- deferError
- notifyCh chan *verifyFuture
- quorumSize int
- votes int
- voteLock sync.Mutex
-}
-
-// configurationsFuture is used to retrieve the current configurations. This is
-// used to allow safe access to this information outside of the main thread.
-type configurationsFuture struct {
- deferError
- configurations configurations
-}
-
-// Configuration returns the latest configuration in use by Raft.
-func (c *configurationsFuture) Configuration() Configuration {
- return c.configurations.latest
-}
-
-// Index returns the index of the latest configuration in use by Raft.
-func (c *configurationsFuture) Index() uint64 {
- return c.configurations.latestIndex
-}
-
-// vote is used to respond to a verifyFuture.
-// This may block when responding on the notifyCh.
-func (v *verifyFuture) vote(leader bool) {
- v.voteLock.Lock()
- defer v.voteLock.Unlock()
-
- // Guard against having notified already
- if v.notifyCh == nil {
- return
- }
-
- if leader {
- v.votes++
- if v.votes >= v.quorumSize {
- v.notifyCh <- v
- v.notifyCh = nil
- }
- } else {
- v.notifyCh <- v
- v.notifyCh = nil
- }
-}
-
-// appendFuture is used for waiting on a pipelined append
-// entries RPC.
-type appendFuture struct {
- deferError
- start time.Time
- args *AppendEntriesRequest
- resp *AppendEntriesResponse
-}
-
-func (a *appendFuture) Start() time.Time {
- return a.start
-}
-
-func (a *appendFuture) Request() *AppendEntriesRequest {
- return a.args
-}
-
-func (a *appendFuture) Response() *AppendEntriesResponse {
- return a.resp
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_snapshot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_snapshot.go
deleted file mode 100644
index 3aa92b3e..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_snapshot.go
+++ /dev/null
@@ -1,106 +0,0 @@
-package raft
-
-import (
- "bytes"
- "fmt"
- "io"
- "io/ioutil"
- "sync"
-)
-
-// InmemSnapshotStore implements the SnapshotStore interface and
-// retains only the most recent snapshot
-type InmemSnapshotStore struct {
- latest *InmemSnapshotSink
- hasSnapshot bool
- sync.RWMutex
-}
-
-// InmemSnapshotSink implements SnapshotSink in memory
-type InmemSnapshotSink struct {
- meta SnapshotMeta
- contents *bytes.Buffer
-}
-
-// NewInmemSnapshotStore creates a blank new InmemSnapshotStore
-func NewInmemSnapshotStore() *InmemSnapshotStore {
- return &InmemSnapshotStore{
- latest: &InmemSnapshotSink{
- contents: &bytes.Buffer{},
- },
- }
-}
-
-// Create replaces the stored snapshot with a new one using the given args
-func (m *InmemSnapshotStore) Create(version SnapshotVersion, index, term uint64,
- configuration Configuration, configurationIndex uint64, trans Transport) (SnapshotSink, error) {
- // We only support version 1 snapshots at this time.
- if version != 1 {
- return nil, fmt.Errorf("unsupported snapshot version %d", version)
- }
-
- name := snapshotName(term, index)
-
- m.Lock()
- defer m.Unlock()
-
- sink := &InmemSnapshotSink{
- meta: SnapshotMeta{
- Version: version,
- ID: name,
- Index: index,
- Term: term,
- Peers: encodePeers(configuration, trans),
- Configuration: configuration,
- ConfigurationIndex: configurationIndex,
- },
- contents: &bytes.Buffer{},
- }
- m.hasSnapshot = true
- m.latest = sink
-
- return sink, nil
-}
-
-// List returns the latest snapshot taken
-func (m *InmemSnapshotStore) List() ([]*SnapshotMeta, error) {
- m.RLock()
- defer m.RUnlock()
-
- if !m.hasSnapshot {
- return []*SnapshotMeta{}, nil
- }
- return []*SnapshotMeta{&m.latest.meta}, nil
-}
-
-// Open wraps an io.ReadCloser around the snapshot contents
-func (m *InmemSnapshotStore) Open(id string) (*SnapshotMeta, io.ReadCloser, error) {
- m.RLock()
- defer m.RUnlock()
-
- if m.latest.meta.ID != id {
- return nil, nil, fmt.Errorf("[ERR] snapshot: failed to open snapshot id: %s", id)
- }
-
- return &m.latest.meta, ioutil.NopCloser(m.latest.contents), nil
-}
-
-// Write appends the given bytes to the snapshot contents
-func (s *InmemSnapshotSink) Write(p []byte) (n int, err error) {
- written, err := io.Copy(s.contents, bytes.NewReader(p))
- s.meta.Size += written
- return int(written), err
-}
-
-// Close updates the Size and is otherwise a no-op
-func (s *InmemSnapshotSink) Close() error {
- return nil
-}
-
-func (s *InmemSnapshotSink) ID() string {
- return s.meta.ID
-}
-
-func (s *InmemSnapshotSink) Cancel() error {
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_store.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_store.go
deleted file mode 100644
index e5d579e1..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_store.go
+++ /dev/null
@@ -1,125 +0,0 @@
-package raft
-
-import (
- "sync"
-)
-
-// InmemStore implements the LogStore and StableStore interface.
-// It should NOT EVER be used for production. It is used only for
-// unit tests. Use the MDBStore implementation instead.
-type InmemStore struct {
- l sync.RWMutex
- lowIndex uint64
- highIndex uint64
- logs map[uint64]*Log
- kv map[string][]byte
- kvInt map[string]uint64
-}
-
-// NewInmemStore returns a new in-memory backend. Do not ever
-// use for production. Only for testing.
-func NewInmemStore() *InmemStore {
- i := &InmemStore{
- logs: make(map[uint64]*Log),
- kv: make(map[string][]byte),
- kvInt: make(map[string]uint64),
- }
- return i
-}
-
-// FirstIndex implements the LogStore interface.
-func (i *InmemStore) FirstIndex() (uint64, error) {
- i.l.RLock()
- defer i.l.RUnlock()
- return i.lowIndex, nil
-}
-
-// LastIndex implements the LogStore interface.
-func (i *InmemStore) LastIndex() (uint64, error) {
- i.l.RLock()
- defer i.l.RUnlock()
- return i.highIndex, nil
-}
-
-// GetLog implements the LogStore interface.
-func (i *InmemStore) GetLog(index uint64, log *Log) error {
- i.l.RLock()
- defer i.l.RUnlock()
- l, ok := i.logs[index]
- if !ok {
- return ErrLogNotFound
- }
- *log = *l
- return nil
-}
-
-// StoreLog implements the LogStore interface.
-func (i *InmemStore) StoreLog(log *Log) error {
- return i.StoreLogs([]*Log{log})
-}
-
-// StoreLogs implements the LogStore interface.
-func (i *InmemStore) StoreLogs(logs []*Log) error {
- i.l.Lock()
- defer i.l.Unlock()
- for _, l := range logs {
- i.logs[l.Index] = l
- if i.lowIndex == 0 {
- i.lowIndex = l.Index
- }
- if l.Index > i.highIndex {
- i.highIndex = l.Index
- }
- }
- return nil
-}
-
-// DeleteRange implements the LogStore interface.
-func (i *InmemStore) DeleteRange(min, max uint64) error {
- i.l.Lock()
- defer i.l.Unlock()
- for j := min; j <= max; j++ {
- delete(i.logs, j)
- }
- if min <= i.lowIndex {
- i.lowIndex = max + 1
- }
- if max >= i.highIndex {
- i.highIndex = min - 1
- }
- if i.lowIndex > i.highIndex {
- i.lowIndex = 0
- i.highIndex = 0
- }
- return nil
-}
-
-// Set implements the StableStore interface.
-func (i *InmemStore) Set(key []byte, val []byte) error {
- i.l.Lock()
- defer i.l.Unlock()
- i.kv[string(key)] = val
- return nil
-}
-
-// Get implements the StableStore interface.
-func (i *InmemStore) Get(key []byte) ([]byte, error) {
- i.l.RLock()
- defer i.l.RUnlock()
- return i.kv[string(key)], nil
-}
-
-// SetUint64 implements the StableStore interface.
-func (i *InmemStore) SetUint64(key []byte, val uint64) error {
- i.l.Lock()
- defer i.l.Unlock()
- i.kvInt[string(key)] = val
- return nil
-}
-
-// GetUint64 implements the StableStore interface.
-func (i *InmemStore) GetUint64(key []byte) (uint64, error) {
- i.l.RLock()
- defer i.l.RUnlock()
- return i.kvInt[string(key)], nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_transport.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_transport.go
deleted file mode 100644
index 3693cd5a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/inmem_transport.go
+++ /dev/null
@@ -1,322 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
- "sync"
- "time"
-)
-
-// NewInmemAddr returns a new in-memory addr with
-// a randomly generate UUID as the ID.
-func NewInmemAddr() ServerAddress {
- return ServerAddress(generateUUID())
-}
-
-// inmemPipeline is used to pipeline requests for the in-mem transport.
-type inmemPipeline struct {
- trans *InmemTransport
- peer *InmemTransport
- peerAddr ServerAddress
-
- doneCh chan AppendFuture
- inprogressCh chan *inmemPipelineInflight
-
- shutdown bool
- shutdownCh chan struct{}
- shutdownLock sync.Mutex
-}
-
-type inmemPipelineInflight struct {
- future *appendFuture
- respCh <-chan RPCResponse
-}
-
-// InmemTransport Implements the Transport interface, to allow Raft to be
-// tested in-memory without going over a network.
-type InmemTransport struct {
- sync.RWMutex
- consumerCh chan RPC
- localAddr ServerAddress
- peers map[ServerAddress]*InmemTransport
- pipelines []*inmemPipeline
- timeout time.Duration
-}
-
-// NewInmemTransport is used to initialize a new transport
-// and generates a random local address if none is specified
-func NewInmemTransport(addr ServerAddress) (ServerAddress, *InmemTransport) {
- if string(addr) == "" {
- addr = NewInmemAddr()
- }
- trans := &InmemTransport{
- consumerCh: make(chan RPC, 16),
- localAddr: addr,
- peers: make(map[ServerAddress]*InmemTransport),
- timeout: 50 * time.Millisecond,
- }
- return addr, trans
-}
-
-// SetHeartbeatHandler is used to set optional fast-path for
-// heartbeats, not supported for this transport.
-func (i *InmemTransport) SetHeartbeatHandler(cb func(RPC)) {
-}
-
-// Consumer implements the Transport interface.
-func (i *InmemTransport) Consumer() <-chan RPC {
- return i.consumerCh
-}
-
-// LocalAddr implements the Transport interface.
-func (i *InmemTransport) LocalAddr() ServerAddress {
- return i.localAddr
-}
-
-// AppendEntriesPipeline returns an interface that can be used to pipeline
-// AppendEntries requests.
-func (i *InmemTransport) AppendEntriesPipeline(target ServerAddress) (AppendPipeline, error) {
- i.RLock()
- peer, ok := i.peers[target]
- i.RUnlock()
- if !ok {
- return nil, fmt.Errorf("failed to connect to peer: %v", target)
- }
- pipeline := newInmemPipeline(i, peer, target)
- i.Lock()
- i.pipelines = append(i.pipelines, pipeline)
- i.Unlock()
- return pipeline, nil
-}
-
-// AppendEntries implements the Transport interface.
-func (i *InmemTransport) AppendEntries(target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error {
- rpcResp, err := i.makeRPC(target, args, nil, i.timeout)
- if err != nil {
- return err
- }
-
- // Copy the result back
- out := rpcResp.Response.(*AppendEntriesResponse)
- *resp = *out
- return nil
-}
-
-// RequestVote implements the Transport interface.
-func (i *InmemTransport) RequestVote(target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error {
- rpcResp, err := i.makeRPC(target, args, nil, i.timeout)
- if err != nil {
- return err
- }
-
- // Copy the result back
- out := rpcResp.Response.(*RequestVoteResponse)
- *resp = *out
- return nil
-}
-
-// InstallSnapshot implements the Transport interface.
-func (i *InmemTransport) InstallSnapshot(target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error {
- rpcResp, err := i.makeRPC(target, args, data, 10*i.timeout)
- if err != nil {
- return err
- }
-
- // Copy the result back
- out := rpcResp.Response.(*InstallSnapshotResponse)
- *resp = *out
- return nil
-}
-
-func (i *InmemTransport) makeRPC(target ServerAddress, args interface{}, r io.Reader, timeout time.Duration) (rpcResp RPCResponse, err error) {
- i.RLock()
- peer, ok := i.peers[target]
- i.RUnlock()
-
- if !ok {
- err = fmt.Errorf("failed to connect to peer: %v", target)
- return
- }
-
- // Send the RPC over
- respCh := make(chan RPCResponse)
- peer.consumerCh <- RPC{
- Command: args,
- Reader: r,
- RespChan: respCh,
- }
-
- // Wait for a response
- select {
- case rpcResp = <-respCh:
- if rpcResp.Error != nil {
- err = rpcResp.Error
- }
- case <-time.After(timeout):
- err = fmt.Errorf("command timed out")
- }
- return
-}
-
-// EncodePeer implements the Transport interface.
-func (i *InmemTransport) EncodePeer(p ServerAddress) []byte {
- return []byte(p)
-}
-
-// DecodePeer implements the Transport interface.
-func (i *InmemTransport) DecodePeer(buf []byte) ServerAddress {
- return ServerAddress(buf)
-}
-
-// Connect is used to connect this transport to another transport for
-// a given peer name. This allows for local routing.
-func (i *InmemTransport) Connect(peer ServerAddress, t Transport) {
- trans := t.(*InmemTransport)
- i.Lock()
- defer i.Unlock()
- i.peers[peer] = trans
-}
-
-// Disconnect is used to remove the ability to route to a given peer.
-func (i *InmemTransport) Disconnect(peer ServerAddress) {
- i.Lock()
- defer i.Unlock()
- delete(i.peers, peer)
-
- // Disconnect any pipelines
- n := len(i.pipelines)
- for idx := 0; idx < n; idx++ {
- if i.pipelines[idx].peerAddr == peer {
- i.pipelines[idx].Close()
- i.pipelines[idx], i.pipelines[n-1] = i.pipelines[n-1], nil
- idx--
- n--
- }
- }
- i.pipelines = i.pipelines[:n]
-}
-
-// DisconnectAll is used to remove all routes to peers.
-func (i *InmemTransport) DisconnectAll() {
- i.Lock()
- defer i.Unlock()
- i.peers = make(map[ServerAddress]*InmemTransport)
-
- // Handle pipelines
- for _, pipeline := range i.pipelines {
- pipeline.Close()
- }
- i.pipelines = nil
-}
-
-// Close is used to permanently disable the transport
-func (i *InmemTransport) Close() error {
- i.DisconnectAll()
- return nil
-}
-
-func newInmemPipeline(trans *InmemTransport, peer *InmemTransport, addr ServerAddress) *inmemPipeline {
- i := &inmemPipeline{
- trans: trans,
- peer: peer,
- peerAddr: addr,
- doneCh: make(chan AppendFuture, 16),
- inprogressCh: make(chan *inmemPipelineInflight, 16),
- shutdownCh: make(chan struct{}),
- }
- go i.decodeResponses()
- return i
-}
-
-func (i *inmemPipeline) decodeResponses() {
- timeout := i.trans.timeout
- for {
- select {
- case inp := <-i.inprogressCh:
- var timeoutCh <-chan time.Time
- if timeout > 0 {
- timeoutCh = time.After(timeout)
- }
-
- select {
- case rpcResp := <-inp.respCh:
- // Copy the result back
- *inp.future.resp = *rpcResp.Response.(*AppendEntriesResponse)
- inp.future.respond(rpcResp.Error)
-
- select {
- case i.doneCh <- inp.future:
- case <-i.shutdownCh:
- return
- }
-
- case <-timeoutCh:
- inp.future.respond(fmt.Errorf("command timed out"))
- select {
- case i.doneCh <- inp.future:
- case <-i.shutdownCh:
- return
- }
-
- case <-i.shutdownCh:
- return
- }
- case <-i.shutdownCh:
- return
- }
- }
-}
-
-func (i *inmemPipeline) AppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error) {
- // Create a new future
- future := &appendFuture{
- start: time.Now(),
- args: args,
- resp: resp,
- }
- future.init()
-
- // Handle a timeout
- var timeout <-chan time.Time
- if i.trans.timeout > 0 {
- timeout = time.After(i.trans.timeout)
- }
-
- // Send the RPC over
- respCh := make(chan RPCResponse, 1)
- rpc := RPC{
- Command: args,
- RespChan: respCh,
- }
- select {
- case i.peer.consumerCh <- rpc:
- case <-timeout:
- return nil, fmt.Errorf("command enqueue timeout")
- case <-i.shutdownCh:
- return nil, ErrPipelineShutdown
- }
-
- // Send to be decoded
- select {
- case i.inprogressCh <- &inmemPipelineInflight{future, respCh}:
- return future, nil
- case <-i.shutdownCh:
- return nil, ErrPipelineShutdown
- }
-}
-
-func (i *inmemPipeline) Consumer() <-chan AppendFuture {
- return i.doneCh
-}
-
-func (i *inmemPipeline) Close() error {
- i.shutdownLock.Lock()
- defer i.shutdownLock.Unlock()
- if i.shutdown {
- return nil
- }
-
- i.shutdown = true
- close(i.shutdownCh)
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log.go
deleted file mode 100644
index 4ade38ec..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log.go
+++ /dev/null
@@ -1,72 +0,0 @@
-package raft
-
-// LogType describes various types of log entries.
-type LogType uint8
-
-const (
- // LogCommand is applied to a user FSM.
- LogCommand LogType = iota
-
- // LogNoop is used to assert leadership.
- LogNoop
-
- // LogAddPeer is used to add a new peer. This should only be used with
- // older protocol versions designed to be compatible with unversioned
- // Raft servers. See comments in config.go for details.
- LogAddPeerDeprecated
-
- // LogRemovePeer is used to remove an existing peer. This should only be
- // used with older protocol versions designed to be compatible with
- // unversioned Raft servers. See comments in config.go for details.
- LogRemovePeerDeprecated
-
- // LogBarrier is used to ensure all preceding operations have been
- // applied to the FSM. It is similar to LogNoop, but instead of returning
- // once committed, it only returns once the FSM manager acks it. Otherwise
- // it is possible there are operations committed but not yet applied to
- // the FSM.
- LogBarrier
-
- // LogConfiguration establishes a membership change configuration. It is
- // created when a server is added, removed, promoted, etc. Only used
- // when protocol version 1 or greater is in use.
- LogConfiguration
-)
-
-// Log entries are replicated to all members of the Raft cluster
-// and form the heart of the replicated state machine.
-type Log struct {
- // Index holds the index of the log entry.
- Index uint64
-
- // Term holds the election term of the log entry.
- Term uint64
-
- // Type holds the type of the log entry.
- Type LogType
-
- // Data holds the log entry's type-specific data.
- Data []byte
-}
-
-// LogStore is used to provide an interface for storing
-// and retrieving logs in a durable fashion.
-type LogStore interface {
- // FirstIndex returns the first index written. 0 for no entries.
- FirstIndex() (uint64, error)
-
- // LastIndex returns the last index written. 0 for no entries.
- LastIndex() (uint64, error)
-
- // GetLog gets a log entry at a given index.
- GetLog(index uint64, log *Log) error
-
- // StoreLog stores a log entry.
- StoreLog(log *Log) error
-
- // StoreLogs stores multiple log entries.
- StoreLogs(logs []*Log) error
-
- // DeleteRange deletes a range of log entries. The range is inclusive.
- DeleteRange(min, max uint64) error
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log_cache.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log_cache.go
deleted file mode 100644
index 952e98c2..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/log_cache.go
+++ /dev/null
@@ -1,79 +0,0 @@
-package raft
-
-import (
- "fmt"
- "sync"
-)
-
-// LogCache wraps any LogStore implementation to provide an
-// in-memory ring buffer. This is used to cache access to
-// the recently written entries. For implementations that do not
-// cache themselves, this can provide a substantial boost by
-// avoiding disk I/O on recent entries.
-type LogCache struct {
- store LogStore
-
- cache []*Log
- l sync.RWMutex
-}
-
-// NewLogCache is used to create a new LogCache with the
-// given capacity and backend store.
-func NewLogCache(capacity int, store LogStore) (*LogCache, error) {
- if capacity <= 0 {
- return nil, fmt.Errorf("capacity must be positive")
- }
- c := &LogCache{
- store: store,
- cache: make([]*Log, capacity),
- }
- return c, nil
-}
-
-func (c *LogCache) GetLog(idx uint64, log *Log) error {
- // Check the buffer for an entry
- c.l.RLock()
- cached := c.cache[idx%uint64(len(c.cache))]
- c.l.RUnlock()
-
- // Check if entry is valid
- if cached != nil && cached.Index == idx {
- *log = *cached
- return nil
- }
-
- // Forward request on cache miss
- return c.store.GetLog(idx, log)
-}
-
-func (c *LogCache) StoreLog(log *Log) error {
- return c.StoreLogs([]*Log{log})
-}
-
-func (c *LogCache) StoreLogs(logs []*Log) error {
- // Insert the logs into the ring buffer
- c.l.Lock()
- for _, l := range logs {
- c.cache[l.Index%uint64(len(c.cache))] = l
- }
- c.l.Unlock()
-
- return c.store.StoreLogs(logs)
-}
-
-func (c *LogCache) FirstIndex() (uint64, error) {
- return c.store.FirstIndex()
-}
-
-func (c *LogCache) LastIndex() (uint64, error) {
- return c.store.LastIndex()
-}
-
-func (c *LogCache) DeleteRange(min, max uint64) error {
- // Invalidate the cache on deletes
- c.l.Lock()
- c.cache = make([]*Log, len(c.cache))
- c.l.Unlock()
-
- return c.store.DeleteRange(min, max)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/membership.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/membership.md
deleted file mode 100644
index df1f83e2..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/membership.md
+++ /dev/null
@@ -1,83 +0,0 @@
-Simon (@superfell) and I (@ongardie) talked through reworking this library's cluster membership changes last Friday. We don't see a way to split this into independent patches, so we're taking the next best approach: submitting the plan here for review, then working on an enormous PR. Your feedback would be appreciated. (@superfell is out this week, however, so don't expect him to respond quickly.)
-
-These are the main goals:
- - Bringing things in line with the description in my PhD dissertation;
- - Catching up new servers prior to granting them a vote, as well as allowing permanent non-voting members; and
- - Eliminating the `peers.json` file, to avoid issues of consistency between that and the log/snapshot.
-
-## Data-centric view
-
-We propose to re-define a *configuration* as a set of servers, where each server includes an address (as it does today) and a mode that is either:
- - *Voter*: a server whose vote is counted in elections and whose match index is used in advancing the leader's commit index.
- - *Nonvoter*: a server that receives log entries but is not considered for elections or commitment purposes.
- - *Staging*: a server that acts like a nonvoter with one exception: once a staging server receives enough log entries to catch up sufficiently to the leader's log, the leader will invoke a membership change to change the staging server to a voter.
-
-All changes to the configuration will be done by writing a new configuration to the log. The new configuration will be in affect as soon as it is appended to the log (not when it is committed like a normal state machine command). Note that, per my dissertation, there can be at most one uncommitted configuration at a time (the next configuration may not be created until the prior one has been committed). It's not strictly necessary to follow these same rules for the nonvoter/staging servers, but we think its best to treat all changes uniformly.
-
-Each server will track two configurations:
- 1. its *committed configuration*: the latest configuration in the log/snapshot that has been committed, along with its index.
- 2. its *latest configuration*: the latest configuration in the log/snapshot (may be committed or uncommitted), along with its index.
-
-When there's no membership change happening, these two will be the same. The latest configuration is almost always the one used, except:
- - When followers truncate the suffix of their logs, they may need to fall back to the committed configuration.
- - When snapshotting, the committed configuration is written, to correspond with the committed log prefix that is being snapshotted.
-
-
-## Application API
-
-We propose the following operations for clients to manipulate the cluster configuration:
- - AddVoter: server becomes staging unless voter,
- - AddNonvoter: server becomes nonvoter unless staging or voter,
- - DemoteVoter: server becomes nonvoter unless absent,
- - RemovePeer: server removed from configuration,
- - GetConfiguration: waits for latest config to commit, returns committed config.
-
-This diagram, of which I'm quite proud, shows the possible transitions:
-```
-+-----------------------------------------------------------------------------+
-| |
-| Start -> +--------+ |
-| ,------<------------| | |
-| / | absent | |
-| / RemovePeer--> | | <---RemovePeer |
-| / | +--------+ \ |
-| / | | \ |
-| AddNonvoter | AddVoter \ |
-| | ,->---' `--<-. | \ |
-| v / \ v \ |
-| +----------+ +----------+ +----------+ |
-| | | ---AddVoter--> | | -log caught up --> | | |
-| | nonvoter | | staging | | voter | |
-| | | <-DemoteVoter- | | ,- | | |
-| +----------+ \ +----------+ / +----------+ |
-| \ / |
-| `--------------<---------------' |
-| |
-+-----------------------------------------------------------------------------+
-```
-
-While these operations aren't quite symmetric, we think they're a good set to capture
-the possible intent of the user. For example, if I want to make sure a server doesn't have a vote, but the server isn't part of the configuration at all, it probably shouldn't be added as a nonvoting server.
-
-Each of these application-level operations will be interpreted by the leader and, if it has an effect, will cause the leader to write a new configuration entry to its log. Which particular application-level operation caused the log entry to be written need not be part of the log entry.
-
-## Code implications
-
-This is a non-exhaustive list, but we came up with a few things:
-- Remove the PeerStore: the `peers.json` file introduces the possibility of getting out of sync with the log and snapshot, and it's hard to maintain this atomically as the log changes. It's not clear whether it's meant to track the committed or latest configuration, either.
-- Servers will have to search their snapshot and log to find the committed configuration and the latest configuration on startup.
-- Bootstrap will no longer use `peers.json` but should initialize the log or snapshot with an application-provided configuration entry.
-- Snapshots should store the index of their configuration along with the configuration itself. In my experience with LogCabin, the original log index of the configuration is very useful to include in debug log messages.
-- As noted in hashicorp/raft#84, configuration change requests should come in via a separate channel, and one may not proceed until the last has been committed.
-- As to deciding when a log is sufficiently caught up, implementing a sophisticated algorithm *is* something that can be done in a separate PR. An easy and decent placeholder is: once the staging server has reached 95% of the leader's commit index, promote it.
-
-## Feedback
-
-Again, we're looking for feedback here before we start working on this. Here are some questions to think about:
- - Does this seem like where we want things to go?
- - Is there anything here that should be left out?
- - Is there anything else we're forgetting about?
- - Is there a good way to break this up?
- - What do we need to worry about in terms of backwards compatibility?
- - What implication will this have on current tests?
- - What's the best way to test this code, in particular the small changes that will be sprinkled all over the library?
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/net_transport.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/net_transport.go
deleted file mode 100644
index 7c55ac53..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/net_transport.go
+++ /dev/null
@@ -1,622 +0,0 @@
-package raft
-
-import (
- "bufio"
- "errors"
- "fmt"
- "io"
- "log"
- "net"
- "os"
- "sync"
- "time"
-
- "github.com/hashicorp/go-msgpack/codec"
-)
-
-const (
- rpcAppendEntries uint8 = iota
- rpcRequestVote
- rpcInstallSnapshot
-
- // DefaultTimeoutScale is the default TimeoutScale in a NetworkTransport.
- DefaultTimeoutScale = 256 * 1024 // 256KB
-
- // rpcMaxPipeline controls the maximum number of outstanding
- // AppendEntries RPC calls.
- rpcMaxPipeline = 128
-)
-
-var (
- // ErrTransportShutdown is returned when operations on a transport are
- // invoked after it's been terminated.
- ErrTransportShutdown = errors.New("transport shutdown")
-
- // ErrPipelineShutdown is returned when the pipeline is closed.
- ErrPipelineShutdown = errors.New("append pipeline closed")
-)
-
-/*
-
-NetworkTransport provides a network based transport that can be
-used to communicate with Raft on remote machines. It requires
-an underlying stream layer to provide a stream abstraction, which can
-be simple TCP, TLS, etc.
-
-This transport is very simple and lightweight. Each RPC request is
-framed by sending a byte that indicates the message type, followed
-by the MsgPack encoded request.
-
-The response is an error string followed by the response object,
-both are encoded using MsgPack.
-
-InstallSnapshot is special, in that after the RPC request we stream
-the entire state. That socket is not re-used as the connection state
-is not known if there is an error.
-
-*/
-type NetworkTransport struct {
- connPool map[ServerAddress][]*netConn
- connPoolLock sync.Mutex
-
- consumeCh chan RPC
-
- heartbeatFn func(RPC)
- heartbeatFnLock sync.Mutex
-
- logger *log.Logger
-
- maxPool int
-
- shutdown bool
- shutdownCh chan struct{}
- shutdownLock sync.Mutex
-
- stream StreamLayer
-
- timeout time.Duration
- TimeoutScale int
-}
-
-// StreamLayer is used with the NetworkTransport to provide
-// the low level stream abstraction.
-type StreamLayer interface {
- net.Listener
-
- // Dial is used to create a new outgoing connection
- Dial(address ServerAddress, timeout time.Duration) (net.Conn, error)
-}
-
-type netConn struct {
- target ServerAddress
- conn net.Conn
- r *bufio.Reader
- w *bufio.Writer
- dec *codec.Decoder
- enc *codec.Encoder
-}
-
-func (n *netConn) Release() error {
- return n.conn.Close()
-}
-
-type netPipeline struct {
- conn *netConn
- trans *NetworkTransport
-
- doneCh chan AppendFuture
- inprogressCh chan *appendFuture
-
- shutdown bool
- shutdownCh chan struct{}
- shutdownLock sync.Mutex
-}
-
-// NewNetworkTransport creates a new network transport with the given dialer
-// and listener. The maxPool controls how many connections we will pool. The
-// timeout is used to apply I/O deadlines. For InstallSnapshot, we multiply
-// the timeout by (SnapshotSize / TimeoutScale).
-func NewNetworkTransport(
- stream StreamLayer,
- maxPool int,
- timeout time.Duration,
- logOutput io.Writer,
-) *NetworkTransport {
- if logOutput == nil {
- logOutput = os.Stderr
- }
- return NewNetworkTransportWithLogger(stream, maxPool, timeout, log.New(logOutput, "", log.LstdFlags))
-}
-
-// NewNetworkTransportWithLogger creates a new network transport with the given dialer
-// and listener. The maxPool controls how many connections we will pool. The
-// timeout is used to apply I/O deadlines. For InstallSnapshot, we multiply
-// the timeout by (SnapshotSize / TimeoutScale).
-func NewNetworkTransportWithLogger(
- stream StreamLayer,
- maxPool int,
- timeout time.Duration,
- logger *log.Logger,
-) *NetworkTransport {
- if logger == nil {
- logger = log.New(os.Stderr, "", log.LstdFlags)
- }
- trans := &NetworkTransport{
- connPool: make(map[ServerAddress][]*netConn),
- consumeCh: make(chan RPC),
- logger: logger,
- maxPool: maxPool,
- shutdownCh: make(chan struct{}),
- stream: stream,
- timeout: timeout,
- TimeoutScale: DefaultTimeoutScale,
- }
- go trans.listen()
- return trans
-}
-
-// SetHeartbeatHandler is used to setup a heartbeat handler
-// as a fast-pass. This is to avoid head-of-line blocking from
-// disk IO.
-func (n *NetworkTransport) SetHeartbeatHandler(cb func(rpc RPC)) {
- n.heartbeatFnLock.Lock()
- defer n.heartbeatFnLock.Unlock()
- n.heartbeatFn = cb
-}
-
-// Close is used to stop the network transport.
-func (n *NetworkTransport) Close() error {
- n.shutdownLock.Lock()
- defer n.shutdownLock.Unlock()
-
- if !n.shutdown {
- close(n.shutdownCh)
- n.stream.Close()
- n.shutdown = true
- }
- return nil
-}
-
-// Consumer implements the Transport interface.
-func (n *NetworkTransport) Consumer() <-chan RPC {
- return n.consumeCh
-}
-
-// LocalAddr implements the Transport interface.
-func (n *NetworkTransport) LocalAddr() ServerAddress {
- return ServerAddress(n.stream.Addr().String())
-}
-
-// IsShutdown is used to check if the transport is shutdown.
-func (n *NetworkTransport) IsShutdown() bool {
- select {
- case <-n.shutdownCh:
- return true
- default:
- return false
- }
-}
-
-// getExistingConn is used to grab a pooled connection.
-func (n *NetworkTransport) getPooledConn(target ServerAddress) *netConn {
- n.connPoolLock.Lock()
- defer n.connPoolLock.Unlock()
-
- conns, ok := n.connPool[target]
- if !ok || len(conns) == 0 {
- return nil
- }
-
- var conn *netConn
- num := len(conns)
- conn, conns[num-1] = conns[num-1], nil
- n.connPool[target] = conns[:num-1]
- return conn
-}
-
-// getConn is used to get a connection from the pool.
-func (n *NetworkTransport) getConn(target ServerAddress) (*netConn, error) {
- // Check for a pooled conn
- if conn := n.getPooledConn(target); conn != nil {
- return conn, nil
- }
-
- // Dial a new connection
- conn, err := n.stream.Dial(target, n.timeout)
- if err != nil {
- return nil, err
- }
-
- // Wrap the conn
- netConn := &netConn{
- target: target,
- conn: conn,
- r: bufio.NewReader(conn),
- w: bufio.NewWriter(conn),
- }
-
- // Setup encoder/decoders
- netConn.dec = codec.NewDecoder(netConn.r, &codec.MsgpackHandle{})
- netConn.enc = codec.NewEncoder(netConn.w, &codec.MsgpackHandle{})
-
- // Done
- return netConn, nil
-}
-
-// returnConn returns a connection back to the pool.
-func (n *NetworkTransport) returnConn(conn *netConn) {
- n.connPoolLock.Lock()
- defer n.connPoolLock.Unlock()
-
- key := conn.target
- conns, _ := n.connPool[key]
-
- if !n.IsShutdown() && len(conns) < n.maxPool {
- n.connPool[key] = append(conns, conn)
- } else {
- conn.Release()
- }
-}
-
-// AppendEntriesPipeline returns an interface that can be used to pipeline
-// AppendEntries requests.
-func (n *NetworkTransport) AppendEntriesPipeline(target ServerAddress) (AppendPipeline, error) {
- // Get a connection
- conn, err := n.getConn(target)
- if err != nil {
- return nil, err
- }
-
- // Create the pipeline
- return newNetPipeline(n, conn), nil
-}
-
-// AppendEntries implements the Transport interface.
-func (n *NetworkTransport) AppendEntries(target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error {
- return n.genericRPC(target, rpcAppendEntries, args, resp)
-}
-
-// RequestVote implements the Transport interface.
-func (n *NetworkTransport) RequestVote(target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error {
- return n.genericRPC(target, rpcRequestVote, args, resp)
-}
-
-// genericRPC handles a simple request/response RPC.
-func (n *NetworkTransport) genericRPC(target ServerAddress, rpcType uint8, args interface{}, resp interface{}) error {
- // Get a conn
- conn, err := n.getConn(target)
- if err != nil {
- return err
- }
-
- // Set a deadline
- if n.timeout > 0 {
- conn.conn.SetDeadline(time.Now().Add(n.timeout))
- }
-
- // Send the RPC
- if err = sendRPC(conn, rpcType, args); err != nil {
- return err
- }
-
- // Decode the response
- canReturn, err := decodeResponse(conn, resp)
- if canReturn {
- n.returnConn(conn)
- }
- return err
-}
-
-// InstallSnapshot implements the Transport interface.
-func (n *NetworkTransport) InstallSnapshot(target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error {
- // Get a conn, always close for InstallSnapshot
- conn, err := n.getConn(target)
- if err != nil {
- return err
- }
- defer conn.Release()
-
- // Set a deadline, scaled by request size
- if n.timeout > 0 {
- timeout := n.timeout * time.Duration(args.Size/int64(n.TimeoutScale))
- if timeout < n.timeout {
- timeout = n.timeout
- }
- conn.conn.SetDeadline(time.Now().Add(timeout))
- }
-
- // Send the RPC
- if err = sendRPC(conn, rpcInstallSnapshot, args); err != nil {
- return err
- }
-
- // Stream the state
- if _, err = io.Copy(conn.w, data); err != nil {
- return err
- }
-
- // Flush
- if err = conn.w.Flush(); err != nil {
- return err
- }
-
- // Decode the response, do not return conn
- _, err = decodeResponse(conn, resp)
- return err
-}
-
-// EncodePeer implements the Transport interface.
-func (n *NetworkTransport) EncodePeer(p ServerAddress) []byte {
- return []byte(p)
-}
-
-// DecodePeer implements the Transport interface.
-func (n *NetworkTransport) DecodePeer(buf []byte) ServerAddress {
- return ServerAddress(buf)
-}
-
-// listen is used to handling incoming connections.
-func (n *NetworkTransport) listen() {
- for {
- // Accept incoming connections
- conn, err := n.stream.Accept()
- if err != nil {
- if n.IsShutdown() {
- return
- }
- n.logger.Printf("[ERR] raft-net: Failed to accept connection: %v", err)
- continue
- }
- n.logger.Printf("[DEBUG] raft-net: %v accepted connection from: %v", n.LocalAddr(), conn.RemoteAddr())
-
- // Handle the connection in dedicated routine
- go n.handleConn(conn)
- }
-}
-
-// handleConn is used to handle an inbound connection for its lifespan.
-func (n *NetworkTransport) handleConn(conn net.Conn) {
- defer conn.Close()
- r := bufio.NewReader(conn)
- w := bufio.NewWriter(conn)
- dec := codec.NewDecoder(r, &codec.MsgpackHandle{})
- enc := codec.NewEncoder(w, &codec.MsgpackHandle{})
-
- for {
- if err := n.handleCommand(r, dec, enc); err != nil {
- if err != io.EOF {
- n.logger.Printf("[ERR] raft-net: Failed to decode incoming command: %v", err)
- }
- return
- }
- if err := w.Flush(); err != nil {
- n.logger.Printf("[ERR] raft-net: Failed to flush response: %v", err)
- return
- }
- }
-}
-
-// handleCommand is used to decode and dispatch a single command.
-func (n *NetworkTransport) handleCommand(r *bufio.Reader, dec *codec.Decoder, enc *codec.Encoder) error {
- // Get the rpc type
- rpcType, err := r.ReadByte()
- if err != nil {
- return err
- }
-
- // Create the RPC object
- respCh := make(chan RPCResponse, 1)
- rpc := RPC{
- RespChan: respCh,
- }
-
- // Decode the command
- isHeartbeat := false
- switch rpcType {
- case rpcAppendEntries:
- var req AppendEntriesRequest
- if err := dec.Decode(&req); err != nil {
- return err
- }
- rpc.Command = &req
-
- // Check if this is a heartbeat
- if req.Term != 0 && req.Leader != nil &&
- req.PrevLogEntry == 0 && req.PrevLogTerm == 0 &&
- len(req.Entries) == 0 && req.LeaderCommitIndex == 0 {
- isHeartbeat = true
- }
-
- case rpcRequestVote:
- var req RequestVoteRequest
- if err := dec.Decode(&req); err != nil {
- return err
- }
- rpc.Command = &req
-
- case rpcInstallSnapshot:
- var req InstallSnapshotRequest
- if err := dec.Decode(&req); err != nil {
- return err
- }
- rpc.Command = &req
- rpc.Reader = io.LimitReader(r, req.Size)
-
- default:
- return fmt.Errorf("unknown rpc type %d", rpcType)
- }
-
- // Check for heartbeat fast-path
- if isHeartbeat {
- n.heartbeatFnLock.Lock()
- fn := n.heartbeatFn
- n.heartbeatFnLock.Unlock()
- if fn != nil {
- fn(rpc)
- goto RESP
- }
- }
-
- // Dispatch the RPC
- select {
- case n.consumeCh <- rpc:
- case <-n.shutdownCh:
- return ErrTransportShutdown
- }
-
- // Wait for response
-RESP:
- select {
- case resp := <-respCh:
- // Send the error first
- respErr := ""
- if resp.Error != nil {
- respErr = resp.Error.Error()
- }
- if err := enc.Encode(respErr); err != nil {
- return err
- }
-
- // Send the response
- if err := enc.Encode(resp.Response); err != nil {
- return err
- }
- case <-n.shutdownCh:
- return ErrTransportShutdown
- }
- return nil
-}
-
-// decodeResponse is used to decode an RPC response and reports whether
-// the connection can be reused.
-func decodeResponse(conn *netConn, resp interface{}) (bool, error) {
- // Decode the error if any
- var rpcError string
- if err := conn.dec.Decode(&rpcError); err != nil {
- conn.Release()
- return false, err
- }
-
- // Decode the response
- if err := conn.dec.Decode(resp); err != nil {
- conn.Release()
- return false, err
- }
-
- // Format an error if any
- if rpcError != "" {
- return true, fmt.Errorf(rpcError)
- }
- return true, nil
-}
-
-// sendRPC is used to encode and send the RPC.
-func sendRPC(conn *netConn, rpcType uint8, args interface{}) error {
- // Write the request type
- if err := conn.w.WriteByte(rpcType); err != nil {
- conn.Release()
- return err
- }
-
- // Send the request
- if err := conn.enc.Encode(args); err != nil {
- conn.Release()
- return err
- }
-
- // Flush
- if err := conn.w.Flush(); err != nil {
- conn.Release()
- return err
- }
- return nil
-}
-
-// newNetPipeline is used to construct a netPipeline from a given
-// transport and connection.
-func newNetPipeline(trans *NetworkTransport, conn *netConn) *netPipeline {
- n := &netPipeline{
- conn: conn,
- trans: trans,
- doneCh: make(chan AppendFuture, rpcMaxPipeline),
- inprogressCh: make(chan *appendFuture, rpcMaxPipeline),
- shutdownCh: make(chan struct{}),
- }
- go n.decodeResponses()
- return n
-}
-
-// decodeResponses is a long running routine that decodes the responses
-// sent on the connection.
-func (n *netPipeline) decodeResponses() {
- timeout := n.trans.timeout
- for {
- select {
- case future := <-n.inprogressCh:
- if timeout > 0 {
- n.conn.conn.SetReadDeadline(time.Now().Add(timeout))
- }
-
- _, err := decodeResponse(n.conn, future.resp)
- future.respond(err)
- select {
- case n.doneCh <- future:
- case <-n.shutdownCh:
- return
- }
- case <-n.shutdownCh:
- return
- }
- }
-}
-
-// AppendEntries is used to pipeline a new append entries request.
-func (n *netPipeline) AppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error) {
- // Create a new future
- future := &appendFuture{
- start: time.Now(),
- args: args,
- resp: resp,
- }
- future.init()
-
- // Add a send timeout
- if timeout := n.trans.timeout; timeout > 0 {
- n.conn.conn.SetWriteDeadline(time.Now().Add(timeout))
- }
-
- // Send the RPC
- if err := sendRPC(n.conn, rpcAppendEntries, future.args); err != nil {
- return nil, err
- }
-
- // Hand-off for decoding, this can also cause back-pressure
- // to prevent too many inflight requests
- select {
- case n.inprogressCh <- future:
- return future, nil
- case <-n.shutdownCh:
- return nil, ErrPipelineShutdown
- }
-}
-
-// Consumer returns a channel that can be used to consume complete futures.
-func (n *netPipeline) Consumer() <-chan AppendFuture {
- return n.doneCh
-}
-
-// Closed is used to shutdown the pipeline connection.
-func (n *netPipeline) Close() error {
- n.shutdownLock.Lock()
- defer n.shutdownLock.Unlock()
- if n.shutdown {
- return nil
- }
-
- // Release the connection
- n.conn.Release()
-
- n.shutdown = true
- close(n.shutdownCh)
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/observer.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/observer.go
deleted file mode 100644
index 22500fa8..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/observer.go
+++ /dev/null
@@ -1,115 +0,0 @@
-package raft
-
-import (
- "sync/atomic"
-)
-
-// Observation is sent along the given channel to observers when an event occurs.
-type Observation struct {
- // Raft holds the Raft instance generating the observation.
- Raft *Raft
- // Data holds observation-specific data. Possible types are
- // *RequestVoteRequest and RaftState.
- Data interface{}
-}
-
-// nextObserverId is used to provide a unique ID for each observer to aid in
-// deregistration.
-var nextObserverID uint64
-
-// FilterFn is a function that can be registered in order to filter observations.
-// The function reports whether the observation should be included - if
-// it returns false, the observation will be filtered out.
-type FilterFn func(o *Observation) bool
-
-// Observer describes what to do with a given observation.
-type Observer struct {
- // channel receives observations.
- channel chan Observation
-
- // blocking, if true, will cause Raft to block when sending an observation
- // to this observer. This should generally be set to false.
- blocking bool
-
- // filter will be called to determine if an observation should be sent to
- // the channel.
- filter FilterFn
-
- // id is the ID of this observer in the Raft map.
- id uint64
-
- // numObserved and numDropped are performance counters for this observer.
- numObserved uint64
- numDropped uint64
-}
-
-// NewObserver creates a new observer that can be registered
-// to make observations on a Raft instance. Observations
-// will be sent on the given channel if they satisfy the
-// given filter.
-//
-// If blocking is true, the observer will block when it can't
-// send on the channel, otherwise it may discard events.
-func NewObserver(channel chan Observation, blocking bool, filter FilterFn) *Observer {
- return &Observer{
- channel: channel,
- blocking: blocking,
- filter: filter,
- id: atomic.AddUint64(&nextObserverID, 1),
- }
-}
-
-// GetNumObserved returns the number of observations.
-func (or *Observer) GetNumObserved() uint64 {
- return atomic.LoadUint64(&or.numObserved)
-}
-
-// GetNumDropped returns the number of dropped observations due to blocking.
-func (or *Observer) GetNumDropped() uint64 {
- return atomic.LoadUint64(&or.numDropped)
-}
-
-// RegisterObserver registers a new observer.
-func (r *Raft) RegisterObserver(or *Observer) {
- r.observersLock.Lock()
- defer r.observersLock.Unlock()
- r.observers[or.id] = or
-}
-
-// DeregisterObserver deregisters an observer.
-func (r *Raft) DeregisterObserver(or *Observer) {
- r.observersLock.Lock()
- defer r.observersLock.Unlock()
- delete(r.observers, or.id)
-}
-
-// observe sends an observation to every observer.
-func (r *Raft) observe(o interface{}) {
- // In general observers should not block. But in any case this isn't
- // disastrous as we only hold a read lock, which merely prevents
- // registration / deregistration of observers.
- r.observersLock.RLock()
- defer r.observersLock.RUnlock()
- for _, or := range r.observers {
- // It's wasteful to do this in the loop, but for the common case
- // where there are no observers we won't create any objects.
- ob := Observation{Raft: r, Data: o}
- if or.filter != nil && !or.filter(&ob) {
- continue
- }
- if or.channel == nil {
- continue
- }
- if or.blocking {
- or.channel <- ob
- atomic.AddUint64(&or.numObserved, 1)
- } else {
- select {
- case or.channel <- ob:
- atomic.AddUint64(&or.numObserved, 1)
- default:
- atomic.AddUint64(&or.numDropped, 1)
- }
- }
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/peersjson.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/peersjson.go
deleted file mode 100644
index c55fdbb4..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/peersjson.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package raft
-
-import (
- "bytes"
- "encoding/json"
- "io/ioutil"
-)
-
-// ReadPeersJSON consumes a legacy peers.json file in the format of the old JSON
-// peer store and creates a new-style configuration structure. This can be used
-// to migrate this data or perform manual recovery when running protocol versions
-// that can interoperate with older, unversioned Raft servers. This should not be
-// used once server IDs are in use, because the old peers.json file didn't have
-// support for these, nor non-voter suffrage types.
-func ReadPeersJSON(path string) (Configuration, error) {
- // Read in the file.
- buf, err := ioutil.ReadFile(path)
- if err != nil {
- return Configuration{}, err
- }
-
- // Parse it as JSON.
- var peers []string
- dec := json.NewDecoder(bytes.NewReader(buf))
- if err := dec.Decode(&peers); err != nil {
- return Configuration{}, err
- }
-
- // Map it into the new-style configuration structure. We can only specify
- // voter roles here, and the ID has to be the same as the address.
- var configuration Configuration
- for _, peer := range peers {
- server := Server{
- Suffrage: Voter,
- ID: ServerID(peer),
- Address: ServerAddress(peer),
- }
- configuration.Servers = append(configuration.Servers, server)
- }
-
- // We should only ingest valid configurations.
- if err := checkConfiguration(configuration); err != nil {
- return Configuration{}, err
- }
- return configuration, nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/raft.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/raft.go
deleted file mode 100644
index aa8fe820..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/raft.go
+++ /dev/null
@@ -1,1456 +0,0 @@
-package raft
-
-import (
- "bytes"
- "container/list"
- "fmt"
- "io"
- "time"
-
- "github.com/armon/go-metrics"
-)
-
-const (
- minCheckInterval = 10 * time.Millisecond
-)
-
-var (
- keyCurrentTerm = []byte("CurrentTerm")
- keyLastVoteTerm = []byte("LastVoteTerm")
- keyLastVoteCand = []byte("LastVoteCand")
-)
-
-// getRPCHeader returns an initialized RPCHeader struct for the given
-// Raft instance. This structure is sent along with RPC requests and
-// responses.
-func (r *Raft) getRPCHeader() RPCHeader {
- return RPCHeader{
- ProtocolVersion: r.conf.ProtocolVersion,
- }
-}
-
-// checkRPCHeader houses logic about whether this instance of Raft can process
-// the given RPC message.
-func (r *Raft) checkRPCHeader(rpc RPC) error {
- // Get the header off the RPC message.
- wh, ok := rpc.Command.(WithRPCHeader)
- if !ok {
- return fmt.Errorf("RPC does not have a header")
- }
- header := wh.GetRPCHeader()
-
- // First check is to just make sure the code can understand the
- // protocol at all.
- if header.ProtocolVersion < ProtocolVersionMin ||
- header.ProtocolVersion > ProtocolVersionMax {
- return ErrUnsupportedProtocol
- }
-
- // Second check is whether we should support this message, given the
- // current protocol we are configured to run. This will drop support
- // for protocol version 0 starting at protocol version 2, which is
- // currently what we want, and in general support one version back. We
- // may need to revisit this policy depending on how future protocol
- // changes evolve.
- if header.ProtocolVersion < r.conf.ProtocolVersion-1 {
- return ErrUnsupportedProtocol
- }
-
- return nil
-}
-
-// getSnapshotVersion returns the snapshot version that should be used when
-// creating snapshots, given the protocol version in use.
-func getSnapshotVersion(protocolVersion ProtocolVersion) SnapshotVersion {
- // Right now we only have two versions and they are backwards compatible
- // so we don't need to look at the protocol version.
- return 1
-}
-
-// commitTuple is used to send an index that was committed,
-// with an optional associated future that should be invoked.
-type commitTuple struct {
- log *Log
- future *logFuture
-}
-
-// leaderState is state that is used while we are a leader.
-type leaderState struct {
- commitCh chan struct{}
- commitment *commitment
- inflight *list.List // list of logFuture in log index order
- replState map[ServerID]*followerReplication
- notify map[*verifyFuture]struct{}
- stepDown chan struct{}
-}
-
-// setLeader is used to modify the current leader of the cluster
-func (r *Raft) setLeader(leader ServerAddress) {
- r.leaderLock.Lock()
- r.leader = leader
- r.leaderLock.Unlock()
-}
-
-// requestConfigChange is a helper for the above functions that make
-// configuration change requests. 'req' describes the change. For timeout,
-// see AddVoter.
-func (r *Raft) requestConfigChange(req configurationChangeRequest, timeout time.Duration) IndexFuture {
- var timer <-chan time.Time
- if timeout > 0 {
- timer = time.After(timeout)
- }
- future := &configurationChangeFuture{
- req: req,
- }
- future.init()
- select {
- case <-timer:
- return errorFuture{ErrEnqueueTimeout}
- case r.configurationChangeCh <- future:
- return future
- case <-r.shutdownCh:
- return errorFuture{ErrRaftShutdown}
- }
-}
-
-// run is a long running goroutine that runs the Raft FSM.
-func (r *Raft) run() {
- for {
- // Check if we are doing a shutdown
- select {
- case <-r.shutdownCh:
- // Clear the leader to prevent forwarding
- r.setLeader("")
- return
- default:
- }
-
- // Enter into a sub-FSM
- switch r.getState() {
- case Follower:
- r.runFollower()
- case Candidate:
- r.runCandidate()
- case Leader:
- r.runLeader()
- }
- }
-}
-
-// runFollower runs the FSM for a follower.
-func (r *Raft) runFollower() {
- didWarn := false
- r.logger.Printf("[INFO] raft: %v entering Follower state (Leader: %q)", r, r.Leader())
- metrics.IncrCounter([]string{"raft", "state", "follower"}, 1)
- heartbeatTimer := randomTimeout(r.conf.HeartbeatTimeout)
- for {
- select {
- case rpc := <-r.rpcCh:
- r.processRPC(rpc)
-
- case c := <-r.configurationChangeCh:
- // Reject any operations since we are not the leader
- c.respond(ErrNotLeader)
-
- case a := <-r.applyCh:
- // Reject any operations since we are not the leader
- a.respond(ErrNotLeader)
-
- case v := <-r.verifyCh:
- // Reject any operations since we are not the leader
- v.respond(ErrNotLeader)
-
- case r := <-r.userRestoreCh:
- // Reject any restores since we are not the leader
- r.respond(ErrNotLeader)
-
- case c := <-r.configurationsCh:
- c.configurations = r.configurations.Clone()
- c.respond(nil)
-
- case b := <-r.bootstrapCh:
- b.respond(r.liveBootstrap(b.configuration))
-
- case <-heartbeatTimer:
- // Restart the heartbeat timer
- heartbeatTimer = randomTimeout(r.conf.HeartbeatTimeout)
-
- // Check if we have had a successful contact
- lastContact := r.LastContact()
- if time.Now().Sub(lastContact) < r.conf.HeartbeatTimeout {
- continue
- }
-
- // Heartbeat failed! Transition to the candidate state
- lastLeader := r.Leader()
- r.setLeader("")
-
- if r.configurations.latestIndex == 0 {
- if !didWarn {
- r.logger.Printf("[WARN] raft: no known peers, aborting election")
- didWarn = true
- }
- } else if r.configurations.latestIndex == r.configurations.committedIndex &&
- !hasVote(r.configurations.latest, r.localID) {
- if !didWarn {
- r.logger.Printf("[WARN] raft: not part of stable configuration, aborting election")
- didWarn = true
- }
- } else {
- r.logger.Printf(`[WARN] raft: Heartbeat timeout from %q reached, starting election`, lastLeader)
- metrics.IncrCounter([]string{"raft", "transition", "heartbeat_timeout"}, 1)
- r.setState(Candidate)
- return
- }
-
- case <-r.shutdownCh:
- return
- }
- }
-}
-
-// liveBootstrap attempts to seed an initial configuration for the cluster. See
-// the Raft object's member BootstrapCluster for more details. This must only be
-// called on the main thread, and only makes sense in the follower state.
-func (r *Raft) liveBootstrap(configuration Configuration) error {
- // Use the pre-init API to make the static updates.
- err := BootstrapCluster(&r.conf, r.logs, r.stable, r.snapshots,
- r.trans, configuration)
- if err != nil {
- return err
- }
-
- // Make the configuration live.
- var entry Log
- if err := r.logs.GetLog(1, &entry); err != nil {
- panic(err)
- }
- r.setCurrentTerm(1)
- r.setLastLog(entry.Index, entry.Term)
- r.processConfigurationLogEntry(&entry)
- return nil
-}
-
-// runCandidate runs the FSM for a candidate.
-func (r *Raft) runCandidate() {
- r.logger.Printf("[INFO] raft: %v entering Candidate state in term %v",
- r, r.getCurrentTerm()+1)
- metrics.IncrCounter([]string{"raft", "state", "candidate"}, 1)
-
- // Start vote for us, and set a timeout
- voteCh := r.electSelf()
- electionTimer := randomTimeout(r.conf.ElectionTimeout)
-
- // Tally the votes, need a simple majority
- grantedVotes := 0
- votesNeeded := r.quorumSize()
- r.logger.Printf("[DEBUG] raft: Votes needed: %d", votesNeeded)
-
- for r.getState() == Candidate {
- select {
- case rpc := <-r.rpcCh:
- r.processRPC(rpc)
-
- case vote := <-voteCh:
- // Check if the term is greater than ours, bail
- if vote.Term > r.getCurrentTerm() {
- r.logger.Printf("[DEBUG] raft: Newer term discovered, fallback to follower")
- r.setState(Follower)
- r.setCurrentTerm(vote.Term)
- return
- }
-
- // Check if the vote is granted
- if vote.Granted {
- grantedVotes++
- r.logger.Printf("[DEBUG] raft: Vote granted from %s in term %v. Tally: %d",
- vote.voterID, vote.Term, grantedVotes)
- }
-
- // Check if we've become the leader
- if grantedVotes >= votesNeeded {
- r.logger.Printf("[INFO] raft: Election won. Tally: %d", grantedVotes)
- r.setState(Leader)
- r.setLeader(r.localAddr)
- return
- }
-
- case c := <-r.configurationChangeCh:
- // Reject any operations since we are not the leader
- c.respond(ErrNotLeader)
-
- case a := <-r.applyCh:
- // Reject any operations since we are not the leader
- a.respond(ErrNotLeader)
-
- case v := <-r.verifyCh:
- // Reject any operations since we are not the leader
- v.respond(ErrNotLeader)
-
- case r := <-r.userRestoreCh:
- // Reject any restores since we are not the leader
- r.respond(ErrNotLeader)
-
- case c := <-r.configurationsCh:
- c.configurations = r.configurations.Clone()
- c.respond(nil)
-
- case b := <-r.bootstrapCh:
- b.respond(ErrCantBootstrap)
-
- case <-electionTimer:
- // Election failed! Restart the election. We simply return,
- // which will kick us back into runCandidate
- r.logger.Printf("[WARN] raft: Election timeout reached, restarting election")
- return
-
- case <-r.shutdownCh:
- return
- }
- }
-}
-
-// runLeader runs the FSM for a leader. Do the setup here and drop into
-// the leaderLoop for the hot loop.
-func (r *Raft) runLeader() {
- r.logger.Printf("[INFO] raft: %v entering Leader state", r)
- metrics.IncrCounter([]string{"raft", "state", "leader"}, 1)
-
- // Notify that we are the leader
- asyncNotifyBool(r.leaderCh, true)
-
- // Push to the notify channel if given
- if notify := r.conf.NotifyCh; notify != nil {
- select {
- case notify <- true:
- case <-r.shutdownCh:
- }
- }
-
- // Setup leader state
- r.leaderState.commitCh = make(chan struct{}, 1)
- r.leaderState.commitment = newCommitment(r.leaderState.commitCh,
- r.configurations.latest,
- r.getLastIndex()+1 /* first index that may be committed in this term */)
- r.leaderState.inflight = list.New()
- r.leaderState.replState = make(map[ServerID]*followerReplication)
- r.leaderState.notify = make(map[*verifyFuture]struct{})
- r.leaderState.stepDown = make(chan struct{}, 1)
-
- // Cleanup state on step down
- defer func() {
- // Since we were the leader previously, we update our
- // last contact time when we step down, so that we are not
- // reporting a last contact time from before we were the
- // leader. Otherwise, to a client it would seem our data
- // is extremely stale.
- r.setLastContact()
-
- // Stop replication
- for _, p := range r.leaderState.replState {
- close(p.stopCh)
- }
-
- // Respond to all inflight operations
- for e := r.leaderState.inflight.Front(); e != nil; e = e.Next() {
- e.Value.(*logFuture).respond(ErrLeadershipLost)
- }
-
- // Respond to any pending verify requests
- for future := range r.leaderState.notify {
- future.respond(ErrLeadershipLost)
- }
-
- // Clear all the state
- r.leaderState.commitCh = nil
- r.leaderState.commitment = nil
- r.leaderState.inflight = nil
- r.leaderState.replState = nil
- r.leaderState.notify = nil
- r.leaderState.stepDown = nil
-
- // If we are stepping down for some reason, no known leader.
- // We may have stepped down due to an RPC call, which would
- // provide the leader, so we cannot always blank this out.
- r.leaderLock.Lock()
- if r.leader == r.localAddr {
- r.leader = ""
- }
- r.leaderLock.Unlock()
-
- // Notify that we are not the leader
- asyncNotifyBool(r.leaderCh, false)
-
- // Push to the notify channel if given
- if notify := r.conf.NotifyCh; notify != nil {
- select {
- case notify <- false:
- case <-r.shutdownCh:
- // On shutdown, make a best effort but do not block
- select {
- case notify <- false:
- default:
- }
- }
- }
- }()
-
- // Start a replication routine for each peer
- r.startStopReplication()
-
- // Dispatch a no-op log entry first. This gets this leader up to the latest
- // possible commit index, even in the absence of client commands. This used
- // to append a configuration entry instead of a noop. However, that permits
- // an unbounded number of uncommitted configurations in the log. We now
- // maintain that there exists at most one uncommitted configuration entry in
- // any log, so we have to do proper no-ops here.
- noop := &logFuture{
- log: Log{
- Type: LogNoop,
- },
- }
- r.dispatchLogs([]*logFuture{noop})
-
- // Sit in the leader loop until we step down
- r.leaderLoop()
-}
-
-// startStopReplication will set up state and start asynchronous replication to
-// new peers, and stop replication to removed peers. Before removing a peer,
-// it'll instruct the replication routines to try to replicate to the current
-// index. This must only be called from the main thread.
-func (r *Raft) startStopReplication() {
- inConfig := make(map[ServerID]bool, len(r.configurations.latest.Servers))
- lastIdx := r.getLastIndex()
-
- // Start replication goroutines that need starting
- for _, server := range r.configurations.latest.Servers {
- if server.ID == r.localID {
- continue
- }
- inConfig[server.ID] = true
- if _, ok := r.leaderState.replState[server.ID]; !ok {
- r.logger.Printf("[INFO] raft: Added peer %v, starting replication", server.ID)
- s := &followerReplication{
- peer: server,
- commitment: r.leaderState.commitment,
- stopCh: make(chan uint64, 1),
- triggerCh: make(chan struct{}, 1),
- currentTerm: r.getCurrentTerm(),
- nextIndex: lastIdx + 1,
- lastContact: time.Now(),
- notifyCh: make(chan struct{}, 1),
- stepDown: r.leaderState.stepDown,
- }
- r.leaderState.replState[server.ID] = s
- r.goFunc(func() { r.replicate(s) })
- asyncNotifyCh(s.triggerCh)
- }
- }
-
- // Stop replication goroutines that need stopping
- for serverID, repl := range r.leaderState.replState {
- if inConfig[serverID] {
- continue
- }
- // Replicate up to lastIdx and stop
- r.logger.Printf("[INFO] raft: Removed peer %v, stopping replication after %v", serverID, lastIdx)
- repl.stopCh <- lastIdx
- close(repl.stopCh)
- delete(r.leaderState.replState, serverID)
- }
-}
-
-// configurationChangeChIfStable returns r.configurationChangeCh if it's safe
-// to process requests from it, or nil otherwise. This must only be called
-// from the main thread.
-//
-// Note that if the conditions here were to change outside of leaderLoop to take
-// this from nil to non-nil, we would need leaderLoop to be kicked.
-func (r *Raft) configurationChangeChIfStable() chan *configurationChangeFuture {
- // Have to wait until:
- // 1. The latest configuration is committed, and
- // 2. This leader has committed some entry (the noop) in this term
- // https://groups.google.com/forum/#!msg/raft-dev/t4xj6dJTP6E/d2D9LrWRza8J
- if r.configurations.latestIndex == r.configurations.committedIndex &&
- r.getCommitIndex() >= r.leaderState.commitment.startIndex {
- return r.configurationChangeCh
- }
- return nil
-}
-
-// leaderLoop is the hot loop for a leader. It is invoked
-// after all the various leader setup is done.
-func (r *Raft) leaderLoop() {
- // stepDown is used to track if there is an inflight log that
- // would cause us to lose leadership (specifically a RemovePeer of
- // ourselves). If this is the case, we must not allow any logs to
- // be processed in parallel, otherwise we are basing commit on
- // only a single peer (ourself) and replicating to an undefined set
- // of peers.
- stepDown := false
-
- lease := time.After(r.conf.LeaderLeaseTimeout)
- for r.getState() == Leader {
- select {
- case rpc := <-r.rpcCh:
- r.processRPC(rpc)
-
- case <-r.leaderState.stepDown:
- r.setState(Follower)
-
- case <-r.leaderState.commitCh:
- // Process the newly committed entries
- oldCommitIndex := r.getCommitIndex()
- commitIndex := r.leaderState.commitment.getCommitIndex()
- r.setCommitIndex(commitIndex)
-
- if r.configurations.latestIndex > oldCommitIndex &&
- r.configurations.latestIndex <= commitIndex {
- r.configurations.committed = r.configurations.latest
- r.configurations.committedIndex = r.configurations.latestIndex
- if !hasVote(r.configurations.committed, r.localID) {
- stepDown = true
- }
- }
-
- for {
- e := r.leaderState.inflight.Front()
- if e == nil {
- break
- }
- commitLog := e.Value.(*logFuture)
- idx := commitLog.log.Index
- if idx > commitIndex {
- break
- }
- // Measure the commit time
- metrics.MeasureSince([]string{"raft", "commitTime"}, commitLog.dispatch)
- r.processLogs(idx, commitLog)
- r.leaderState.inflight.Remove(e)
- }
-
- if stepDown {
- if r.conf.ShutdownOnRemove {
- r.logger.Printf("[INFO] raft: Removed ourself, shutting down")
- r.Shutdown()
- } else {
- r.logger.Printf("[INFO] raft: Removed ourself, transitioning to follower")
- r.setState(Follower)
- }
- }
-
- case v := <-r.verifyCh:
- if v.quorumSize == 0 {
- // Just dispatched, start the verification
- r.verifyLeader(v)
-
- } else if v.votes < v.quorumSize {
- // Early return, means there must be a new leader
- r.logger.Printf("[WARN] raft: New leader elected, stepping down")
- r.setState(Follower)
- delete(r.leaderState.notify, v)
- v.respond(ErrNotLeader)
-
- } else {
- // Quorum of members agree, we are still leader
- delete(r.leaderState.notify, v)
- v.respond(nil)
- }
-
- case future := <-r.userRestoreCh:
- err := r.restoreUserSnapshot(future.meta, future.reader)
- future.respond(err)
-
- case c := <-r.configurationsCh:
- c.configurations = r.configurations.Clone()
- c.respond(nil)
-
- case future := <-r.configurationChangeChIfStable():
- r.appendConfigurationEntry(future)
-
- case b := <-r.bootstrapCh:
- b.respond(ErrCantBootstrap)
-
- case newLog := <-r.applyCh:
- // Group commit, gather all the ready commits
- ready := []*logFuture{newLog}
- for i := 0; i < r.conf.MaxAppendEntries; i++ {
- select {
- case newLog := <-r.applyCh:
- ready = append(ready, newLog)
- default:
- break
- }
- }
-
- // Dispatch the logs
- if stepDown {
- // we're in the process of stepping down as leader, don't process anything new
- for i := range ready {
- ready[i].respond(ErrNotLeader)
- }
- } else {
- r.dispatchLogs(ready)
- }
-
- case <-lease:
- // Check if we've exceeded the lease, potentially stepping down
- maxDiff := r.checkLeaderLease()
-
- // Next check interval should adjust for the last node we've
- // contacted, without going negative
- checkInterval := r.conf.LeaderLeaseTimeout - maxDiff
- if checkInterval < minCheckInterval {
- checkInterval = minCheckInterval
- }
-
- // Renew the lease timer
- lease = time.After(checkInterval)
-
- case <-r.shutdownCh:
- return
- }
- }
-}
-
-// verifyLeader must be called from the main thread for safety.
-// Causes the followers to attempt an immediate heartbeat.
-func (r *Raft) verifyLeader(v *verifyFuture) {
- // Current leader always votes for self
- v.votes = 1
-
- // Set the quorum size, hot-path for single node
- v.quorumSize = r.quorumSize()
- if v.quorumSize == 1 {
- v.respond(nil)
- return
- }
-
- // Track this request
- v.notifyCh = r.verifyCh
- r.leaderState.notify[v] = struct{}{}
-
- // Trigger immediate heartbeats
- for _, repl := range r.leaderState.replState {
- repl.notifyLock.Lock()
- repl.notify = append(repl.notify, v)
- repl.notifyLock.Unlock()
- asyncNotifyCh(repl.notifyCh)
- }
-}
-
-// checkLeaderLease is used to check if we can contact a quorum of nodes
-// within the last leader lease interval. If not, we need to step down,
-// as we may have lost connectivity. Returns the maximum duration without
-// contact. This must only be called from the main thread.
-func (r *Raft) checkLeaderLease() time.Duration {
- // Track contacted nodes, we can always contact ourself
- contacted := 1
-
- // Check each follower
- var maxDiff time.Duration
- now := time.Now()
- for peer, f := range r.leaderState.replState {
- diff := now.Sub(f.LastContact())
- if diff <= r.conf.LeaderLeaseTimeout {
- contacted++
- if diff > maxDiff {
- maxDiff = diff
- }
- } else {
- // Log at least once at high value, then debug. Otherwise it gets very verbose.
- if diff <= 3*r.conf.LeaderLeaseTimeout {
- r.logger.Printf("[WARN] raft: Failed to contact %v in %v", peer, diff)
- } else {
- r.logger.Printf("[DEBUG] raft: Failed to contact %v in %v", peer, diff)
- }
- }
- metrics.AddSample([]string{"raft", "leader", "lastContact"}, float32(diff/time.Millisecond))
- }
-
- // Verify we can contact a quorum
- quorum := r.quorumSize()
- if contacted < quorum {
- r.logger.Printf("[WARN] raft: Failed to contact quorum of nodes, stepping down")
- r.setState(Follower)
- metrics.IncrCounter([]string{"raft", "transition", "leader_lease_timeout"}, 1)
- }
- return maxDiff
-}
-
-// quorumSize is used to return the quorum size. This must only be called on
-// the main thread.
-// TODO: revisit usage
-func (r *Raft) quorumSize() int {
- voters := 0
- for _, server := range r.configurations.latest.Servers {
- if server.Suffrage == Voter {
- voters++
- }
- }
- return voters/2 + 1
-}
-
-// restoreUserSnapshot is used to manually consume an external snapshot, such
-// as if restoring from a backup. We will use the current Raft configuration,
-// not the one from the snapshot, so that we can restore into a new cluster. We
-// will also use the higher of the index of the snapshot, or the current index,
-// and then add 1 to that, so we force a new state with a hole in the Raft log,
-// so that the snapshot will be sent to followers and used for any new joiners.
-// This can only be run on the leader, and returns a future that can be used to
-// block until complete.
-func (r *Raft) restoreUserSnapshot(meta *SnapshotMeta, reader io.Reader) error {
- defer metrics.MeasureSince([]string{"raft", "restoreUserSnapshot"}, time.Now())
-
- // Sanity check the version.
- version := meta.Version
- if version < SnapshotVersionMin || version > SnapshotVersionMax {
- return fmt.Errorf("unsupported snapshot version %d", version)
- }
-
- // We don't support snapshots while there's a config change
- // outstanding since the snapshot doesn't have a means to
- // represent this state.
- committedIndex := r.configurations.committedIndex
- latestIndex := r.configurations.latestIndex
- if committedIndex != latestIndex {
- return fmt.Errorf("cannot restore snapshot now, wait until the configuration entry at %v has been applied (have applied %v)",
- latestIndex, committedIndex)
- }
-
- // Cancel any inflight requests.
- for {
- e := r.leaderState.inflight.Front()
- if e == nil {
- break
- }
- e.Value.(*logFuture).respond(ErrAbortedByRestore)
- r.leaderState.inflight.Remove(e)
- }
-
- // We will overwrite the snapshot metadata with the current term,
- // an index that's greater than the current index, or the last
- // index in the snapshot. It's important that we leave a hole in
- // the index so we know there's nothing in the Raft log there and
- // replication will fault and send the snapshot.
- term := r.getCurrentTerm()
- lastIndex := r.getLastIndex()
- if meta.Index > lastIndex {
- lastIndex = meta.Index
- }
- lastIndex++
-
- // Dump the snapshot. Note that we use the latest configuration,
- // not the one that came with the snapshot.
- sink, err := r.snapshots.Create(version, lastIndex, term,
- r.configurations.latest, r.configurations.latestIndex, r.trans)
- if err != nil {
- return fmt.Errorf("failed to create snapshot: %v", err)
- }
- n, err := io.Copy(sink, reader)
- if err != nil {
- sink.Cancel()
- return fmt.Errorf("failed to write snapshot: %v", err)
- }
- if n != meta.Size {
- sink.Cancel()
- return fmt.Errorf("failed to write snapshot, size didn't match (%d != %d)", n, meta.Size)
- }
- if err := sink.Close(); err != nil {
- return fmt.Errorf("failed to close snapshot: %v", err)
- }
- r.logger.Printf("[INFO] raft: Copied %d bytes to local snapshot", n)
-
- // Restore the snapshot into the FSM. If this fails we are in a
- // bad state so we panic to take ourselves out.
- fsm := &restoreFuture{ID: sink.ID()}
- fsm.init()
- select {
- case r.fsmMutateCh <- fsm:
- case <-r.shutdownCh:
- return ErrRaftShutdown
- }
- if err := fsm.Error(); err != nil {
- panic(fmt.Errorf("failed to restore snapshot: %v", err))
- }
-
- // We set the last log so it looks like we've stored the empty
- // index we burned. The last applied is set because we made the
- // FSM take the snapshot state, and we store the last snapshot
- // in the stable store since we created a snapshot as part of
- // this process.
- r.setLastLog(lastIndex, term)
- r.setLastApplied(lastIndex)
- r.setLastSnapshot(lastIndex, term)
-
- r.logger.Printf("[INFO] raft: Restored user snapshot (index %d)", lastIndex)
- return nil
-}
-
-// appendConfigurationEntry changes the configuration and adds a new
-// configuration entry to the log. This must only be called from the
-// main thread.
-func (r *Raft) appendConfigurationEntry(future *configurationChangeFuture) {
- configuration, err := nextConfiguration(r.configurations.latest, r.configurations.latestIndex, future.req)
- if err != nil {
- future.respond(err)
- return
- }
-
- r.logger.Printf("[INFO] raft: Updating configuration with %s (%v, %v) to %+v",
- future.req.command, future.req.serverID, future.req.serverAddress, configuration.Servers)
-
- // In pre-ID compatibility mode we translate all configuration changes
- // in to an old remove peer message, which can handle all supported
- // cases for peer changes in the pre-ID world (adding and removing
- // voters). Both add peer and remove peer log entries are handled
- // similarly on old Raft servers, but remove peer does extra checks to
- // see if a leader needs to step down. Since they both assert the full
- // configuration, then we can safely call remove peer for everything.
- if r.protocolVersion < 2 {
- future.log = Log{
- Type: LogRemovePeerDeprecated,
- Data: encodePeers(configuration, r.trans),
- }
- } else {
- future.log = Log{
- Type: LogConfiguration,
- Data: encodeConfiguration(configuration),
- }
- }
-
- r.dispatchLogs([]*logFuture{&future.logFuture})
- index := future.Index()
- r.configurations.latest = configuration
- r.configurations.latestIndex = index
- r.leaderState.commitment.setConfiguration(configuration)
- r.startStopReplication()
-}
-
-// dispatchLog is called on the leader to push a log to disk, mark it
-// as inflight and begin replication of it.
-func (r *Raft) dispatchLogs(applyLogs []*logFuture) {
- now := time.Now()
- defer metrics.MeasureSince([]string{"raft", "leader", "dispatchLog"}, now)
-
- term := r.getCurrentTerm()
- lastIndex := r.getLastIndex()
- logs := make([]*Log, len(applyLogs))
-
- for idx, applyLog := range applyLogs {
- applyLog.dispatch = now
- lastIndex++
- applyLog.log.Index = lastIndex
- applyLog.log.Term = term
- logs[idx] = &applyLog.log
- r.leaderState.inflight.PushBack(applyLog)
- }
-
- // Write the log entry locally
- if err := r.logs.StoreLogs(logs); err != nil {
- r.logger.Printf("[ERR] raft: Failed to commit logs: %v", err)
- for _, applyLog := range applyLogs {
- applyLog.respond(err)
- }
- r.setState(Follower)
- return
- }
- r.leaderState.commitment.match(r.localID, lastIndex)
-
- // Update the last log since it's on disk now
- r.setLastLog(lastIndex, term)
-
- // Notify the replicators of the new log
- for _, f := range r.leaderState.replState {
- asyncNotifyCh(f.triggerCh)
- }
-}
-
-// processLogs is used to apply all the committed entires that haven't been
-// applied up to the given index limit.
-// This can be called from both leaders and followers.
-// Followers call this from AppendEntires, for n entires at a time, and always
-// pass future=nil.
-// Leaders call this once per inflight when entries are committed. They pass
-// the future from inflights.
-func (r *Raft) processLogs(index uint64, future *logFuture) {
- // Reject logs we've applied already
- lastApplied := r.getLastApplied()
- if index <= lastApplied {
- r.logger.Printf("[WARN] raft: Skipping application of old log: %d", index)
- return
- }
-
- // Apply all the preceding logs
- for idx := r.getLastApplied() + 1; idx <= index; idx++ {
- // Get the log, either from the future or from our log store
- if future != nil && future.log.Index == idx {
- r.processLog(&future.log, future)
-
- } else {
- l := new(Log)
- if err := r.logs.GetLog(idx, l); err != nil {
- r.logger.Printf("[ERR] raft: Failed to get log at %d: %v", idx, err)
- panic(err)
- }
- r.processLog(l, nil)
- }
-
- // Update the lastApplied index and term
- r.setLastApplied(idx)
- }
-}
-
-// processLog is invoked to process the application of a single committed log entry.
-func (r *Raft) processLog(l *Log, future *logFuture) {
- switch l.Type {
- case LogBarrier:
- // Barrier is handled by the FSM
- fallthrough
-
- case LogCommand:
- // Forward to the fsm handler
- select {
- case r.fsmMutateCh <- &commitTuple{l, future}:
- case <-r.shutdownCh:
- if future != nil {
- future.respond(ErrRaftShutdown)
- }
- }
-
- // Return so that the future is only responded to
- // by the FSM handler when the application is done
- return
-
- case LogConfiguration:
- case LogAddPeerDeprecated:
- case LogRemovePeerDeprecated:
- case LogNoop:
- // Ignore the no-op
-
- default:
- panic(fmt.Errorf("unrecognized log type: %#v", l))
- }
-
- // Invoke the future if given
- if future != nil {
- future.respond(nil)
- }
-}
-
-// processRPC is called to handle an incoming RPC request. This must only be
-// called from the main thread.
-func (r *Raft) processRPC(rpc RPC) {
- if err := r.checkRPCHeader(rpc); err != nil {
- rpc.Respond(nil, err)
- return
- }
-
- switch cmd := rpc.Command.(type) {
- case *AppendEntriesRequest:
- r.appendEntries(rpc, cmd)
- case *RequestVoteRequest:
- r.requestVote(rpc, cmd)
- case *InstallSnapshotRequest:
- r.installSnapshot(rpc, cmd)
- default:
- r.logger.Printf("[ERR] raft: Got unexpected command: %#v", rpc.Command)
- rpc.Respond(nil, fmt.Errorf("unexpected command"))
- }
-}
-
-// processHeartbeat is a special handler used just for heartbeat requests
-// so that they can be fast-pathed if a transport supports it. This must only
-// be called from the main thread.
-func (r *Raft) processHeartbeat(rpc RPC) {
- defer metrics.MeasureSince([]string{"raft", "rpc", "processHeartbeat"}, time.Now())
-
- // Check if we are shutdown, just ignore the RPC
- select {
- case <-r.shutdownCh:
- return
- default:
- }
-
- // Ensure we are only handling a heartbeat
- switch cmd := rpc.Command.(type) {
- case *AppendEntriesRequest:
- r.appendEntries(rpc, cmd)
- default:
- r.logger.Printf("[ERR] raft: Expected heartbeat, got command: %#v", rpc.Command)
- rpc.Respond(nil, fmt.Errorf("unexpected command"))
- }
-}
-
-// appendEntries is invoked when we get an append entries RPC call. This must
-// only be called from the main thread.
-func (r *Raft) appendEntries(rpc RPC, a *AppendEntriesRequest) {
- defer metrics.MeasureSince([]string{"raft", "rpc", "appendEntries"}, time.Now())
- // Setup a response
- resp := &AppendEntriesResponse{
- RPCHeader: r.getRPCHeader(),
- Term: r.getCurrentTerm(),
- LastLog: r.getLastIndex(),
- Success: false,
- NoRetryBackoff: false,
- }
- var rpcErr error
- defer func() {
- rpc.Respond(resp, rpcErr)
- }()
-
- // Ignore an older term
- if a.Term < r.getCurrentTerm() {
- return
- }
-
- // Increase the term if we see a newer one, also transition to follower
- // if we ever get an appendEntries call
- if a.Term > r.getCurrentTerm() || r.getState() != Follower {
- // Ensure transition to follower
- r.setState(Follower)
- r.setCurrentTerm(a.Term)
- resp.Term = a.Term
- }
-
- // Save the current leader
- r.setLeader(ServerAddress(r.trans.DecodePeer(a.Leader)))
-
- // Verify the last log entry
- if a.PrevLogEntry > 0 {
- lastIdx, lastTerm := r.getLastEntry()
-
- var prevLogTerm uint64
- if a.PrevLogEntry == lastIdx {
- prevLogTerm = lastTerm
-
- } else {
- var prevLog Log
- if err := r.logs.GetLog(a.PrevLogEntry, &prevLog); err != nil {
- r.logger.Printf("[WARN] raft: Failed to get previous log: %d %v (last: %d)",
- a.PrevLogEntry, err, lastIdx)
- resp.NoRetryBackoff = true
- return
- }
- prevLogTerm = prevLog.Term
- }
-
- if a.PrevLogTerm != prevLogTerm {
- r.logger.Printf("[WARN] raft: Previous log term mis-match: ours: %d remote: %d",
- prevLogTerm, a.PrevLogTerm)
- resp.NoRetryBackoff = true
- return
- }
- }
-
- // Process any new entries
- if len(a.Entries) > 0 {
- start := time.Now()
-
- // Delete any conflicting entries, skip any duplicates
- lastLogIdx, _ := r.getLastLog()
- var newEntries []*Log
- for i, entry := range a.Entries {
- if entry.Index > lastLogIdx {
- newEntries = a.Entries[i:]
- break
- }
- var storeEntry Log
- if err := r.logs.GetLog(entry.Index, &storeEntry); err != nil {
- r.logger.Printf("[WARN] raft: Failed to get log entry %d: %v",
- entry.Index, err)
- return
- }
- if entry.Term != storeEntry.Term {
- r.logger.Printf("[WARN] raft: Clearing log suffix from %d to %d", entry.Index, lastLogIdx)
- if err := r.logs.DeleteRange(entry.Index, lastLogIdx); err != nil {
- r.logger.Printf("[ERR] raft: Failed to clear log suffix: %v", err)
- return
- }
- if entry.Index <= r.configurations.latestIndex {
- r.configurations.latest = r.configurations.committed
- r.configurations.latestIndex = r.configurations.committedIndex
- }
- newEntries = a.Entries[i:]
- break
- }
- }
-
- if n := len(newEntries); n > 0 {
- // Append the new entries
- if err := r.logs.StoreLogs(newEntries); err != nil {
- r.logger.Printf("[ERR] raft: Failed to append to logs: %v", err)
- // TODO: leaving r.getLastLog() in the wrong
- // state if there was a truncation above
- return
- }
-
- // Handle any new configuration changes
- for _, newEntry := range newEntries {
- r.processConfigurationLogEntry(newEntry)
- }
-
- // Update the lastLog
- last := newEntries[n-1]
- r.setLastLog(last.Index, last.Term)
- }
-
- metrics.MeasureSince([]string{"raft", "rpc", "appendEntries", "storeLogs"}, start)
- }
-
- // Update the commit index
- if a.LeaderCommitIndex > 0 && a.LeaderCommitIndex > r.getCommitIndex() {
- start := time.Now()
- idx := min(a.LeaderCommitIndex, r.getLastIndex())
- r.setCommitIndex(idx)
- if r.configurations.latestIndex <= idx {
- r.configurations.committed = r.configurations.latest
- r.configurations.committedIndex = r.configurations.latestIndex
- }
- r.processLogs(idx, nil)
- metrics.MeasureSince([]string{"raft", "rpc", "appendEntries", "processLogs"}, start)
- }
-
- // Everything went well, set success
- resp.Success = true
- r.setLastContact()
- return
-}
-
-// processConfigurationLogEntry takes a log entry and updates the latest
-// configuration if the entry results in a new configuration. This must only be
-// called from the main thread, or from NewRaft() before any threads have begun.
-func (r *Raft) processConfigurationLogEntry(entry *Log) {
- if entry.Type == LogConfiguration {
- r.configurations.committed = r.configurations.latest
- r.configurations.committedIndex = r.configurations.latestIndex
- r.configurations.latest = decodeConfiguration(entry.Data)
- r.configurations.latestIndex = entry.Index
- } else if entry.Type == LogAddPeerDeprecated || entry.Type == LogRemovePeerDeprecated {
- r.configurations.committed = r.configurations.latest
- r.configurations.committedIndex = r.configurations.latestIndex
- r.configurations.latest = decodePeers(entry.Data, r.trans)
- r.configurations.latestIndex = entry.Index
- }
-}
-
-// requestVote is invoked when we get an request vote RPC call.
-func (r *Raft) requestVote(rpc RPC, req *RequestVoteRequest) {
- defer metrics.MeasureSince([]string{"raft", "rpc", "requestVote"}, time.Now())
- r.observe(*req)
-
- // Setup a response
- resp := &RequestVoteResponse{
- RPCHeader: r.getRPCHeader(),
- Term: r.getCurrentTerm(),
- Granted: false,
- }
- var rpcErr error
- defer func() {
- rpc.Respond(resp, rpcErr)
- }()
-
- // Version 0 servers will panic unless the peers is present. It's only
- // used on them to produce a warning message.
- if r.protocolVersion < 2 {
- resp.Peers = encodePeers(r.configurations.latest, r.trans)
- }
-
- // Check if we have an existing leader [who's not the candidate]
- candidate := r.trans.DecodePeer(req.Candidate)
- if leader := r.Leader(); leader != "" && leader != candidate {
- r.logger.Printf("[WARN] raft: Rejecting vote request from %v since we have a leader: %v",
- candidate, leader)
- return
- }
-
- // Ignore an older term
- if req.Term < r.getCurrentTerm() {
- return
- }
-
- // Increase the term if we see a newer one
- if req.Term > r.getCurrentTerm() {
- // Ensure transition to follower
- r.setState(Follower)
- r.setCurrentTerm(req.Term)
- resp.Term = req.Term
- }
-
- // Check if we have voted yet
- lastVoteTerm, err := r.stable.GetUint64(keyLastVoteTerm)
- if err != nil && err.Error() != "not found" {
- r.logger.Printf("[ERR] raft: Failed to get last vote term: %v", err)
- return
- }
- lastVoteCandBytes, err := r.stable.Get(keyLastVoteCand)
- if err != nil && err.Error() != "not found" {
- r.logger.Printf("[ERR] raft: Failed to get last vote candidate: %v", err)
- return
- }
-
- // Check if we've voted in this election before
- if lastVoteTerm == req.Term && lastVoteCandBytes != nil {
- r.logger.Printf("[INFO] raft: Duplicate RequestVote for same term: %d", req.Term)
- if bytes.Compare(lastVoteCandBytes, req.Candidate) == 0 {
- r.logger.Printf("[WARN] raft: Duplicate RequestVote from candidate: %s", req.Candidate)
- resp.Granted = true
- }
- return
- }
-
- // Reject if their term is older
- lastIdx, lastTerm := r.getLastEntry()
- if lastTerm > req.LastLogTerm {
- r.logger.Printf("[WARN] raft: Rejecting vote request from %v since our last term is greater (%d, %d)",
- candidate, lastTerm, req.LastLogTerm)
- return
- }
-
- if lastTerm == req.LastLogTerm && lastIdx > req.LastLogIndex {
- r.logger.Printf("[WARN] raft: Rejecting vote request from %v since our last index is greater (%d, %d)",
- candidate, lastIdx, req.LastLogIndex)
- return
- }
-
- // Persist a vote for safety
- if err := r.persistVote(req.Term, req.Candidate); err != nil {
- r.logger.Printf("[ERR] raft: Failed to persist vote: %v", err)
- return
- }
-
- resp.Granted = true
- r.setLastContact()
- return
-}
-
-// installSnapshot is invoked when we get a InstallSnapshot RPC call.
-// We must be in the follower state for this, since it means we are
-// too far behind a leader for log replay. This must only be called
-// from the main thread.
-func (r *Raft) installSnapshot(rpc RPC, req *InstallSnapshotRequest) {
- defer metrics.MeasureSince([]string{"raft", "rpc", "installSnapshot"}, time.Now())
- // Setup a response
- resp := &InstallSnapshotResponse{
- Term: r.getCurrentTerm(),
- Success: false,
- }
- var rpcErr error
- defer func() {
- rpc.Respond(resp, rpcErr)
- }()
-
- // Sanity check the version
- if req.SnapshotVersion < SnapshotVersionMin ||
- req.SnapshotVersion > SnapshotVersionMax {
- rpcErr = fmt.Errorf("unsupported snapshot version %d", req.SnapshotVersion)
- return
- }
-
- // Ignore an older term
- if req.Term < r.getCurrentTerm() {
- return
- }
-
- // Increase the term if we see a newer one
- if req.Term > r.getCurrentTerm() {
- // Ensure transition to follower
- r.setState(Follower)
- r.setCurrentTerm(req.Term)
- resp.Term = req.Term
- }
-
- // Save the current leader
- r.setLeader(ServerAddress(r.trans.DecodePeer(req.Leader)))
-
- // Create a new snapshot
- var reqConfiguration Configuration
- var reqConfigurationIndex uint64
- if req.SnapshotVersion > 0 {
- reqConfiguration = decodeConfiguration(req.Configuration)
- reqConfigurationIndex = req.ConfigurationIndex
- } else {
- reqConfiguration = decodePeers(req.Peers, r.trans)
- reqConfigurationIndex = req.LastLogIndex
- }
- version := getSnapshotVersion(r.protocolVersion)
- sink, err := r.snapshots.Create(version, req.LastLogIndex, req.LastLogTerm,
- reqConfiguration, reqConfigurationIndex, r.trans)
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to create snapshot to install: %v", err)
- rpcErr = fmt.Errorf("failed to create snapshot: %v", err)
- return
- }
-
- // Spill the remote snapshot to disk
- n, err := io.Copy(sink, rpc.Reader)
- if err != nil {
- sink.Cancel()
- r.logger.Printf("[ERR] raft: Failed to copy snapshot: %v", err)
- rpcErr = err
- return
- }
-
- // Check that we received it all
- if n != req.Size {
- sink.Cancel()
- r.logger.Printf("[ERR] raft: Failed to receive whole snapshot: %d / %d", n, req.Size)
- rpcErr = fmt.Errorf("short read")
- return
- }
-
- // Finalize the snapshot
- if err := sink.Close(); err != nil {
- r.logger.Printf("[ERR] raft: Failed to finalize snapshot: %v", err)
- rpcErr = err
- return
- }
- r.logger.Printf("[INFO] raft: Copied %d bytes to local snapshot", n)
-
- // Restore snapshot
- future := &restoreFuture{ID: sink.ID()}
- future.init()
- select {
- case r.fsmMutateCh <- future:
- case <-r.shutdownCh:
- future.respond(ErrRaftShutdown)
- return
- }
-
- // Wait for the restore to happen
- if err := future.Error(); err != nil {
- r.logger.Printf("[ERR] raft: Failed to restore snapshot: %v", err)
- rpcErr = err
- return
- }
-
- // Update the lastApplied so we don't replay old logs
- r.setLastApplied(req.LastLogIndex)
-
- // Update the last stable snapshot info
- r.setLastSnapshot(req.LastLogIndex, req.LastLogTerm)
-
- // Restore the peer set
- r.configurations.latest = reqConfiguration
- r.configurations.latestIndex = reqConfigurationIndex
- r.configurations.committed = reqConfiguration
- r.configurations.committedIndex = reqConfigurationIndex
-
- // Compact logs, continue even if this fails
- if err := r.compactLogs(req.LastLogIndex); err != nil {
- r.logger.Printf("[ERR] raft: Failed to compact logs: %v", err)
- }
-
- r.logger.Printf("[INFO] raft: Installed remote snapshot")
- resp.Success = true
- r.setLastContact()
- return
-}
-
-// setLastContact is used to set the last contact time to now
-func (r *Raft) setLastContact() {
- r.lastContactLock.Lock()
- r.lastContact = time.Now()
- r.lastContactLock.Unlock()
-}
-
-type voteResult struct {
- RequestVoteResponse
- voterID ServerID
-}
-
-// electSelf is used to send a RequestVote RPC to all peers, and vote for
-// ourself. This has the side affecting of incrementing the current term. The
-// response channel returned is used to wait for all the responses (including a
-// vote for ourself). This must only be called from the main thread.
-func (r *Raft) electSelf() <-chan *voteResult {
- // Create a response channel
- respCh := make(chan *voteResult, len(r.configurations.latest.Servers))
-
- // Increment the term
- r.setCurrentTerm(r.getCurrentTerm() + 1)
-
- // Construct the request
- lastIdx, lastTerm := r.getLastEntry()
- req := &RequestVoteRequest{
- RPCHeader: r.getRPCHeader(),
- Term: r.getCurrentTerm(),
- Candidate: r.trans.EncodePeer(r.localAddr),
- LastLogIndex: lastIdx,
- LastLogTerm: lastTerm,
- }
-
- // Construct a function to ask for a vote
- askPeer := func(peer Server) {
- r.goFunc(func() {
- defer metrics.MeasureSince([]string{"raft", "candidate", "electSelf"}, time.Now())
- resp := &voteResult{voterID: peer.ID}
- err := r.trans.RequestVote(peer.Address, req, &resp.RequestVoteResponse)
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to make RequestVote RPC to %v: %v", peer, err)
- resp.Term = req.Term
- resp.Granted = false
- }
- respCh <- resp
- })
- }
-
- // For each peer, request a vote
- for _, server := range r.configurations.latest.Servers {
- if server.Suffrage == Voter {
- if server.ID == r.localID {
- // Persist a vote for ourselves
- if err := r.persistVote(req.Term, req.Candidate); err != nil {
- r.logger.Printf("[ERR] raft: Failed to persist vote : %v", err)
- return nil
- }
- // Include our own vote
- respCh <- &voteResult{
- RequestVoteResponse: RequestVoteResponse{
- RPCHeader: r.getRPCHeader(),
- Term: req.Term,
- Granted: true,
- },
- voterID: r.localID,
- }
- } else {
- askPeer(server)
- }
- }
- }
-
- return respCh
-}
-
-// persistVote is used to persist our vote for safety.
-func (r *Raft) persistVote(term uint64, candidate []byte) error {
- if err := r.stable.SetUint64(keyLastVoteTerm, term); err != nil {
- return err
- }
- if err := r.stable.Set(keyLastVoteCand, candidate); err != nil {
- return err
- }
- return nil
-}
-
-// setCurrentTerm is used to set the current term in a durable manner.
-func (r *Raft) setCurrentTerm(t uint64) {
- // Persist to disk first
- if err := r.stable.SetUint64(keyCurrentTerm, t); err != nil {
- panic(fmt.Errorf("failed to save current term: %v", err))
- }
- r.raftState.setCurrentTerm(t)
-}
-
-// setState is used to update the current state. Any state
-// transition causes the known leader to be cleared. This means
-// that leader should be set only after updating the state.
-func (r *Raft) setState(state RaftState) {
- r.setLeader("")
- oldState := r.raftState.getState()
- r.raftState.setState(state)
- if oldState != state {
- r.observe(state)
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/replication.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/replication.go
deleted file mode 100644
index 68392734..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/replication.go
+++ /dev/null
@@ -1,561 +0,0 @@
-package raft
-
-import (
- "errors"
- "fmt"
- "sync"
- "time"
-
- "github.com/armon/go-metrics"
-)
-
-const (
- maxFailureScale = 12
- failureWait = 10 * time.Millisecond
-)
-
-var (
- // ErrLogNotFound indicates a given log entry is not available.
- ErrLogNotFound = errors.New("log not found")
-
- // ErrPipelineReplicationNotSupported can be returned by the transport to
- // signal that pipeline replication is not supported in general, and that
- // no error message should be produced.
- ErrPipelineReplicationNotSupported = errors.New("pipeline replication not supported")
-)
-
-// followerReplication is in charge of sending snapshots and log entries from
-// this leader during this particular term to a remote follower.
-type followerReplication struct {
- // peer contains the network address and ID of the remote follower.
- peer Server
-
- // commitment tracks the entries acknowledged by followers so that the
- // leader's commit index can advance. It is updated on successsful
- // AppendEntries responses.
- commitment *commitment
-
- // stopCh is notified/closed when this leader steps down or the follower is
- // removed from the cluster. In the follower removed case, it carries a log
- // index; replication should be attempted with a best effort up through that
- // index, before exiting.
- stopCh chan uint64
- // triggerCh is notified every time new entries are appended to the log.
- triggerCh chan struct{}
-
- // currentTerm is the term of this leader, to be included in AppendEntries
- // requests.
- currentTerm uint64
- // nextIndex is the index of the next log entry to send to the follower,
- // which may fall past the end of the log.
- nextIndex uint64
-
- // lastContact is updated to the current time whenever any response is
- // received from the follower (successful or not). This is used to check
- // whether the leader should step down (Raft.checkLeaderLease()).
- lastContact time.Time
- // lastContactLock protects 'lastContact'.
- lastContactLock sync.RWMutex
-
- // failures counts the number of failed RPCs since the last success, which is
- // used to apply backoff.
- failures uint64
-
- // notifyCh is notified to send out a heartbeat, which is used to check that
- // this server is still leader.
- notifyCh chan struct{}
- // notify is a list of futures to be resolved upon receipt of an
- // acknowledgement, then cleared from this list.
- notify []*verifyFuture
- // notifyLock protects 'notify'.
- notifyLock sync.Mutex
-
- // stepDown is used to indicate to the leader that we
- // should step down based on information from a follower.
- stepDown chan struct{}
-
- // allowPipeline is used to determine when to pipeline the AppendEntries RPCs.
- // It is private to this replication goroutine.
- allowPipeline bool
-}
-
-// notifyAll is used to notify all the waiting verify futures
-// if the follower believes we are still the leader.
-func (s *followerReplication) notifyAll(leader bool) {
- // Clear the waiting notifies minimizing lock time
- s.notifyLock.Lock()
- n := s.notify
- s.notify = nil
- s.notifyLock.Unlock()
-
- // Submit our votes
- for _, v := range n {
- v.vote(leader)
- }
-}
-
-// LastContact returns the time of last contact.
-func (s *followerReplication) LastContact() time.Time {
- s.lastContactLock.RLock()
- last := s.lastContact
- s.lastContactLock.RUnlock()
- return last
-}
-
-// setLastContact sets the last contact to the current time.
-func (s *followerReplication) setLastContact() {
- s.lastContactLock.Lock()
- s.lastContact = time.Now()
- s.lastContactLock.Unlock()
-}
-
-// replicate is a long running routine that replicates log entries to a single
-// follower.
-func (r *Raft) replicate(s *followerReplication) {
- // Start an async heartbeating routing
- stopHeartbeat := make(chan struct{})
- defer close(stopHeartbeat)
- r.goFunc(func() { r.heartbeat(s, stopHeartbeat) })
-
-RPC:
- shouldStop := false
- for !shouldStop {
- select {
- case maxIndex := <-s.stopCh:
- // Make a best effort to replicate up to this index
- if maxIndex > 0 {
- r.replicateTo(s, maxIndex)
- }
- return
- case <-s.triggerCh:
- lastLogIdx, _ := r.getLastLog()
- shouldStop = r.replicateTo(s, lastLogIdx)
- case <-randomTimeout(r.conf.CommitTimeout): // TODO: what is this?
- lastLogIdx, _ := r.getLastLog()
- shouldStop = r.replicateTo(s, lastLogIdx)
- }
-
- // If things looks healthy, switch to pipeline mode
- if !shouldStop && s.allowPipeline {
- goto PIPELINE
- }
- }
- return
-
-PIPELINE:
- // Disable until re-enabled
- s.allowPipeline = false
-
- // Replicates using a pipeline for high performance. This method
- // is not able to gracefully recover from errors, and so we fall back
- // to standard mode on failure.
- if err := r.pipelineReplicate(s); err != nil {
- if err != ErrPipelineReplicationNotSupported {
- r.logger.Printf("[ERR] raft: Failed to start pipeline replication to %s: %s", s.peer, err)
- }
- }
- goto RPC
-}
-
-// replicateTo is a hepler to replicate(), used to replicate the logs up to a
-// given last index.
-// If the follower log is behind, we take care to bring them up to date.
-func (r *Raft) replicateTo(s *followerReplication, lastIndex uint64) (shouldStop bool) {
- // Create the base request
- var req AppendEntriesRequest
- var resp AppendEntriesResponse
- var start time.Time
-START:
- // Prevent an excessive retry rate on errors
- if s.failures > 0 {
- select {
- case <-time.After(backoff(failureWait, s.failures, maxFailureScale)):
- case <-r.shutdownCh:
- }
- }
-
- // Setup the request
- if err := r.setupAppendEntries(s, &req, s.nextIndex, lastIndex); err == ErrLogNotFound {
- goto SEND_SNAP
- } else if err != nil {
- return
- }
-
- // Make the RPC call
- start = time.Now()
- if err := r.trans.AppendEntries(s.peer.Address, &req, &resp); err != nil {
- r.logger.Printf("[ERR] raft: Failed to AppendEntries to %v: %v", s.peer, err)
- s.failures++
- return
- }
- appendStats(string(s.peer.ID), start, float32(len(req.Entries)))
-
- // Check for a newer term, stop running
- if resp.Term > req.Term {
- r.handleStaleTerm(s)
- return true
- }
-
- // Update the last contact
- s.setLastContact()
-
- // Update s based on success
- if resp.Success {
- // Update our replication state
- updateLastAppended(s, &req)
-
- // Clear any failures, allow pipelining
- s.failures = 0
- s.allowPipeline = true
- } else {
- s.nextIndex = max(min(s.nextIndex-1, resp.LastLog+1), 1)
- if resp.NoRetryBackoff {
- s.failures = 0
- } else {
- s.failures++
- }
- r.logger.Printf("[WARN] raft: AppendEntries to %v rejected, sending older logs (next: %d)", s.peer, s.nextIndex)
- }
-
-CHECK_MORE:
- // Poll the stop channel here in case we are looping and have been asked
- // to stop, or have stepped down as leader. Even for the best effort case
- // where we are asked to replicate to a given index and then shutdown,
- // it's better to not loop in here to send lots of entries to a straggler
- // that's leaving the cluster anyways.
- select {
- case <-s.stopCh:
- return true
- default:
- }
-
- // Check if there are more logs to replicate
- if s.nextIndex <= lastIndex {
- goto START
- }
- return
-
- // SEND_SNAP is used when we fail to get a log, usually because the follower
- // is too far behind, and we must ship a snapshot down instead
-SEND_SNAP:
- if stop, err := r.sendLatestSnapshot(s); stop {
- return true
- } else if err != nil {
- r.logger.Printf("[ERR] raft: Failed to send snapshot to %v: %v", s.peer, err)
- return
- }
-
- // Check if there is more to replicate
- goto CHECK_MORE
-}
-
-// sendLatestSnapshot is used to send the latest snapshot we have
-// down to our follower.
-func (r *Raft) sendLatestSnapshot(s *followerReplication) (bool, error) {
- // Get the snapshots
- snapshots, err := r.snapshots.List()
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to list snapshots: %v", err)
- return false, err
- }
-
- // Check we have at least a single snapshot
- if len(snapshots) == 0 {
- return false, fmt.Errorf("no snapshots found")
- }
-
- // Open the most recent snapshot
- snapID := snapshots[0].ID
- meta, snapshot, err := r.snapshots.Open(snapID)
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to open snapshot %v: %v", snapID, err)
- return false, err
- }
- defer snapshot.Close()
-
- // Setup the request
- req := InstallSnapshotRequest{
- RPCHeader: r.getRPCHeader(),
- SnapshotVersion: meta.Version,
- Term: s.currentTerm,
- Leader: r.trans.EncodePeer(r.localAddr),
- LastLogIndex: meta.Index,
- LastLogTerm: meta.Term,
- Peers: meta.Peers,
- Size: meta.Size,
- Configuration: encodeConfiguration(meta.Configuration),
- ConfigurationIndex: meta.ConfigurationIndex,
- }
-
- // Make the call
- start := time.Now()
- var resp InstallSnapshotResponse
- if err := r.trans.InstallSnapshot(s.peer.Address, &req, &resp, snapshot); err != nil {
- r.logger.Printf("[ERR] raft: Failed to install snapshot %v: %v", snapID, err)
- s.failures++
- return false, err
- }
- metrics.MeasureSince([]string{"raft", "replication", "installSnapshot", string(s.peer.ID)}, start)
-
- // Check for a newer term, stop running
- if resp.Term > req.Term {
- r.handleStaleTerm(s)
- return true, nil
- }
-
- // Update the last contact
- s.setLastContact()
-
- // Check for success
- if resp.Success {
- // Update the indexes
- s.nextIndex = meta.Index + 1
- s.commitment.match(s.peer.ID, meta.Index)
-
- // Clear any failures
- s.failures = 0
-
- // Notify we are still leader
- s.notifyAll(true)
- } else {
- s.failures++
- r.logger.Printf("[WARN] raft: InstallSnapshot to %v rejected", s.peer)
- }
- return false, nil
-}
-
-// heartbeat is used to periodically invoke AppendEntries on a peer
-// to ensure they don't time out. This is done async of replicate(),
-// since that routine could potentially be blocked on disk IO.
-func (r *Raft) heartbeat(s *followerReplication, stopCh chan struct{}) {
- var failures uint64
- req := AppendEntriesRequest{
- RPCHeader: r.getRPCHeader(),
- Term: s.currentTerm,
- Leader: r.trans.EncodePeer(r.localAddr),
- }
- var resp AppendEntriesResponse
- for {
- // Wait for the next heartbeat interval or forced notify
- select {
- case <-s.notifyCh:
- case <-randomTimeout(r.conf.HeartbeatTimeout / 10):
- case <-stopCh:
- return
- }
-
- start := time.Now()
- if err := r.trans.AppendEntries(s.peer.Address, &req, &resp); err != nil {
- r.logger.Printf("[ERR] raft: Failed to heartbeat to %v: %v", s.peer.Address, err)
- failures++
- select {
- case <-time.After(backoff(failureWait, failures, maxFailureScale)):
- case <-stopCh:
- }
- } else {
- s.setLastContact()
- failures = 0
- metrics.MeasureSince([]string{"raft", "replication", "heartbeat", string(s.peer.ID)}, start)
- s.notifyAll(resp.Success)
- }
- }
-}
-
-// pipelineReplicate is used when we have synchronized our state with the follower,
-// and want to switch to a higher performance pipeline mode of replication.
-// We only pipeline AppendEntries commands, and if we ever hit an error, we fall
-// back to the standard replication which can handle more complex situations.
-func (r *Raft) pipelineReplicate(s *followerReplication) error {
- // Create a new pipeline
- pipeline, err := r.trans.AppendEntriesPipeline(s.peer.Address)
- if err != nil {
- return err
- }
- defer pipeline.Close()
-
- // Log start and stop of pipeline
- r.logger.Printf("[INFO] raft: pipelining replication to peer %v", s.peer)
- defer r.logger.Printf("[INFO] raft: aborting pipeline replication to peer %v", s.peer)
-
- // Create a shutdown and finish channel
- stopCh := make(chan struct{})
- finishCh := make(chan struct{})
-
- // Start a dedicated decoder
- r.goFunc(func() { r.pipelineDecode(s, pipeline, stopCh, finishCh) })
-
- // Start pipeline sends at the last good nextIndex
- nextIndex := s.nextIndex
-
- shouldStop := false
-SEND:
- for !shouldStop {
- select {
- case <-finishCh:
- break SEND
- case maxIndex := <-s.stopCh:
- // Make a best effort to replicate up to this index
- if maxIndex > 0 {
- r.pipelineSend(s, pipeline, &nextIndex, maxIndex)
- }
- break SEND
- case <-s.triggerCh:
- lastLogIdx, _ := r.getLastLog()
- shouldStop = r.pipelineSend(s, pipeline, &nextIndex, lastLogIdx)
- case <-randomTimeout(r.conf.CommitTimeout):
- lastLogIdx, _ := r.getLastLog()
- shouldStop = r.pipelineSend(s, pipeline, &nextIndex, lastLogIdx)
- }
- }
-
- // Stop our decoder, and wait for it to finish
- close(stopCh)
- select {
- case <-finishCh:
- case <-r.shutdownCh:
- }
- return nil
-}
-
-// pipelineSend is used to send data over a pipeline. It is a helper to
-// pipelineReplicate.
-func (r *Raft) pipelineSend(s *followerReplication, p AppendPipeline, nextIdx *uint64, lastIndex uint64) (shouldStop bool) {
- // Create a new append request
- req := new(AppendEntriesRequest)
- if err := r.setupAppendEntries(s, req, *nextIdx, lastIndex); err != nil {
- return true
- }
-
- // Pipeline the append entries
- if _, err := p.AppendEntries(req, new(AppendEntriesResponse)); err != nil {
- r.logger.Printf("[ERR] raft: Failed to pipeline AppendEntries to %v: %v", s.peer, err)
- return true
- }
-
- // Increase the next send log to avoid re-sending old logs
- if n := len(req.Entries); n > 0 {
- last := req.Entries[n-1]
- *nextIdx = last.Index + 1
- }
- return false
-}
-
-// pipelineDecode is used to decode the responses of pipelined requests.
-func (r *Raft) pipelineDecode(s *followerReplication, p AppendPipeline, stopCh, finishCh chan struct{}) {
- defer close(finishCh)
- respCh := p.Consumer()
- for {
- select {
- case ready := <-respCh:
- req, resp := ready.Request(), ready.Response()
- appendStats(string(s.peer.ID), ready.Start(), float32(len(req.Entries)))
-
- // Check for a newer term, stop running
- if resp.Term > req.Term {
- r.handleStaleTerm(s)
- return
- }
-
- // Update the last contact
- s.setLastContact()
-
- // Abort pipeline if not successful
- if !resp.Success {
- return
- }
-
- // Update our replication state
- updateLastAppended(s, req)
- case <-stopCh:
- return
- }
- }
-}
-
-// setupAppendEntries is used to setup an append entries request.
-func (r *Raft) setupAppendEntries(s *followerReplication, req *AppendEntriesRequest, nextIndex, lastIndex uint64) error {
- req.RPCHeader = r.getRPCHeader()
- req.Term = s.currentTerm
- req.Leader = r.trans.EncodePeer(r.localAddr)
- req.LeaderCommitIndex = r.getCommitIndex()
- if err := r.setPreviousLog(req, nextIndex); err != nil {
- return err
- }
- if err := r.setNewLogs(req, nextIndex, lastIndex); err != nil {
- return err
- }
- return nil
-}
-
-// setPreviousLog is used to setup the PrevLogEntry and PrevLogTerm for an
-// AppendEntriesRequest given the next index to replicate.
-func (r *Raft) setPreviousLog(req *AppendEntriesRequest, nextIndex uint64) error {
- // Guard for the first index, since there is no 0 log entry
- // Guard against the previous index being a snapshot as well
- lastSnapIdx, lastSnapTerm := r.getLastSnapshot()
- if nextIndex == 1 {
- req.PrevLogEntry = 0
- req.PrevLogTerm = 0
-
- } else if (nextIndex - 1) == lastSnapIdx {
- req.PrevLogEntry = lastSnapIdx
- req.PrevLogTerm = lastSnapTerm
-
- } else {
- var l Log
- if err := r.logs.GetLog(nextIndex-1, &l); err != nil {
- r.logger.Printf("[ERR] raft: Failed to get log at index %d: %v",
- nextIndex-1, err)
- return err
- }
-
- // Set the previous index and term (0 if nextIndex is 1)
- req.PrevLogEntry = l.Index
- req.PrevLogTerm = l.Term
- }
- return nil
-}
-
-// setNewLogs is used to setup the logs which should be appended for a request.
-func (r *Raft) setNewLogs(req *AppendEntriesRequest, nextIndex, lastIndex uint64) error {
- // Append up to MaxAppendEntries or up to the lastIndex
- req.Entries = make([]*Log, 0, r.conf.MaxAppendEntries)
- maxIndex := min(nextIndex+uint64(r.conf.MaxAppendEntries)-1, lastIndex)
- for i := nextIndex; i <= maxIndex; i++ {
- oldLog := new(Log)
- if err := r.logs.GetLog(i, oldLog); err != nil {
- r.logger.Printf("[ERR] raft: Failed to get log at index %d: %v", i, err)
- return err
- }
- req.Entries = append(req.Entries, oldLog)
- }
- return nil
-}
-
-// appendStats is used to emit stats about an AppendEntries invocation.
-func appendStats(peer string, start time.Time, logs float32) {
- metrics.MeasureSince([]string{"raft", "replication", "appendEntries", "rpc", peer}, start)
- metrics.IncrCounter([]string{"raft", "replication", "appendEntries", "logs", peer}, logs)
-}
-
-// handleStaleTerm is used when a follower indicates that we have a stale term.
-func (r *Raft) handleStaleTerm(s *followerReplication) {
- r.logger.Printf("[ERR] raft: peer %v has newer term, stopping replication", s.peer)
- s.notifyAll(false) // No longer leader
- asyncNotifyCh(s.stepDown)
-}
-
-// updateLastAppended is used to update follower replication state after a
-// successful AppendEntries RPC.
-// TODO: This isn't used during InstallSnapshot, but the code there is similar.
-func updateLastAppended(s *followerReplication, req *AppendEntriesRequest) {
- // Mark any inflight logs as committed
- if logs := req.Entries; len(logs) > 0 {
- last := logs[len(logs)-1]
- s.nextIndex = last.Index + 1
- s.commitment.match(s.peer.ID, last.Index)
- }
-
- // Notify still leader
- s.notifyAll(true)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/snapshot.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/snapshot.go
deleted file mode 100644
index 5287ebc4..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/snapshot.go
+++ /dev/null
@@ -1,239 +0,0 @@
-package raft
-
-import (
- "fmt"
- "io"
- "time"
-
- "github.com/armon/go-metrics"
-)
-
-// SnapshotMeta is for metadata of a snapshot.
-type SnapshotMeta struct {
- // Version is the version number of the snapshot metadata. This does not cover
- // the application's data in the snapshot, that should be versioned
- // separately.
- Version SnapshotVersion
-
- // ID is opaque to the store, and is used for opening.
- ID string
-
- // Index and Term store when the snapshot was taken.
- Index uint64
- Term uint64
-
- // Peers is deprecated and used to support version 0 snapshots, but will
- // be populated in version 1 snapshots as well to help with upgrades.
- Peers []byte
-
- // Configuration and ConfigurationIndex are present in version 1
- // snapshots and later.
- Configuration Configuration
- ConfigurationIndex uint64
-
- // Size is the size of the snapshot in bytes.
- Size int64
-}
-
-// SnapshotStore interface is used to allow for flexible implementations
-// of snapshot storage and retrieval. For example, a client could implement
-// a shared state store such as S3, allowing new nodes to restore snapshots
-// without streaming from the leader.
-type SnapshotStore interface {
- // Create is used to begin a snapshot at a given index and term, and with
- // the given committed configuration. The version parameter controls
- // which snapshot version to create.
- Create(version SnapshotVersion, index, term uint64, configuration Configuration,
- configurationIndex uint64, trans Transport) (SnapshotSink, error)
-
- // List is used to list the available snapshots in the store.
- // It should return then in descending order, with the highest index first.
- List() ([]*SnapshotMeta, error)
-
- // Open takes a snapshot ID and provides a ReadCloser. Once close is
- // called it is assumed the snapshot is no longer needed.
- Open(id string) (*SnapshotMeta, io.ReadCloser, error)
-}
-
-// SnapshotSink is returned by StartSnapshot. The FSM will Write state
-// to the sink and call Close on completion. On error, Cancel will be invoked.
-type SnapshotSink interface {
- io.WriteCloser
- ID() string
- Cancel() error
-}
-
-// runSnapshots is a long running goroutine used to manage taking
-// new snapshots of the FSM. It runs in parallel to the FSM and
-// main goroutines, so that snapshots do not block normal operation.
-func (r *Raft) runSnapshots() {
- for {
- select {
- case <-randomTimeout(r.conf.SnapshotInterval):
- // Check if we should snapshot
- if !r.shouldSnapshot() {
- continue
- }
-
- // Trigger a snapshot
- if _, err := r.takeSnapshot(); err != nil {
- r.logger.Printf("[ERR] raft: Failed to take snapshot: %v", err)
- }
-
- case future := <-r.userSnapshotCh:
- // User-triggered, run immediately
- id, err := r.takeSnapshot()
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to take snapshot: %v", err)
- } else {
- future.opener = func() (*SnapshotMeta, io.ReadCloser, error) {
- return r.snapshots.Open(id)
- }
- }
- future.respond(err)
-
- case <-r.shutdownCh:
- return
- }
- }
-}
-
-// shouldSnapshot checks if we meet the conditions to take
-// a new snapshot.
-func (r *Raft) shouldSnapshot() bool {
- // Check the last snapshot index
- lastSnap, _ := r.getLastSnapshot()
-
- // Check the last log index
- lastIdx, err := r.logs.LastIndex()
- if err != nil {
- r.logger.Printf("[ERR] raft: Failed to get last log index: %v", err)
- return false
- }
-
- // Compare the delta to the threshold
- delta := lastIdx - lastSnap
- return delta >= r.conf.SnapshotThreshold
-}
-
-// takeSnapshot is used to take a new snapshot. This must only be called from
-// the snapshot thread, never the main thread. This returns the ID of the new
-// snapshot, along with an error.
-func (r *Raft) takeSnapshot() (string, error) {
- defer metrics.MeasureSince([]string{"raft", "snapshot", "takeSnapshot"}, time.Now())
-
- // Create a request for the FSM to perform a snapshot.
- snapReq := &reqSnapshotFuture{}
- snapReq.init()
-
- // Wait for dispatch or shutdown.
- select {
- case r.fsmSnapshotCh <- snapReq:
- case <-r.shutdownCh:
- return "", ErrRaftShutdown
- }
-
- // Wait until we get a response
- if err := snapReq.Error(); err != nil {
- if err != ErrNothingNewToSnapshot {
- err = fmt.Errorf("failed to start snapshot: %v", err)
- }
- return "", err
- }
- defer snapReq.snapshot.Release()
-
- // Make a request for the configurations and extract the committed info.
- // We have to use the future here to safely get this information since
- // it is owned by the main thread.
- configReq := &configurationsFuture{}
- configReq.init()
- select {
- case r.configurationsCh <- configReq:
- case <-r.shutdownCh:
- return "", ErrRaftShutdown
- }
- if err := configReq.Error(); err != nil {
- return "", err
- }
- committed := configReq.configurations.committed
- committedIndex := configReq.configurations.committedIndex
-
- // We don't support snapshots while there's a config change outstanding
- // since the snapshot doesn't have a means to represent this state. This
- // is a little weird because we need the FSM to apply an index that's
- // past the configuration change, even though the FSM itself doesn't see
- // the configuration changes. It should be ok in practice with normal
- // application traffic flowing through the FSM. If there's none of that
- // then it's not crucial that we snapshot, since there's not much going
- // on Raft-wise.
- if snapReq.index < committedIndex {
- return "", fmt.Errorf("cannot take snapshot now, wait until the configuration entry at %v has been applied (have applied %v)",
- committedIndex, snapReq.index)
- }
-
- // Create a new snapshot.
- r.logger.Printf("[INFO] raft: Starting snapshot up to %d", snapReq.index)
- start := time.Now()
- version := getSnapshotVersion(r.protocolVersion)
- sink, err := r.snapshots.Create(version, snapReq.index, snapReq.term, committed, committedIndex, r.trans)
- if err != nil {
- return "", fmt.Errorf("failed to create snapshot: %v", err)
- }
- metrics.MeasureSince([]string{"raft", "snapshot", "create"}, start)
-
- // Try to persist the snapshot.
- start = time.Now()
- if err := snapReq.snapshot.Persist(sink); err != nil {
- sink.Cancel()
- return "", fmt.Errorf("failed to persist snapshot: %v", err)
- }
- metrics.MeasureSince([]string{"raft", "snapshot", "persist"}, start)
-
- // Close and check for error.
- if err := sink.Close(); err != nil {
- return "", fmt.Errorf("failed to close snapshot: %v", err)
- }
-
- // Update the last stable snapshot info.
- r.setLastSnapshot(snapReq.index, snapReq.term)
-
- // Compact the logs.
- if err := r.compactLogs(snapReq.index); err != nil {
- return "", err
- }
-
- r.logger.Printf("[INFO] raft: Snapshot to %d complete", snapReq.index)
- return sink.ID(), nil
-}
-
-// compactLogs takes the last inclusive index of a snapshot
-// and trims the logs that are no longer needed.
-func (r *Raft) compactLogs(snapIdx uint64) error {
- defer metrics.MeasureSince([]string{"raft", "compactLogs"}, time.Now())
- // Determine log ranges to compact
- minLog, err := r.logs.FirstIndex()
- if err != nil {
- return fmt.Errorf("failed to get first log index: %v", err)
- }
-
- // Check if we have enough logs to truncate
- lastLogIdx, _ := r.getLastLog()
- if lastLogIdx <= r.conf.TrailingLogs {
- return nil
- }
-
- // Truncate up to the end of the snapshot, or `TrailingLogs`
- // back from the head, which ever is further back. This ensures
- // at least `TrailingLogs` entries, but does not allow logs
- // after the snapshot to be removed.
- maxLog := min(snapIdx, lastLogIdx-r.conf.TrailingLogs)
-
- // Log this
- r.logger.Printf("[INFO] raft: Compacting logs from %d to %d", minLog, maxLog)
-
- // Compact the logs
- if err := r.logs.DeleteRange(minLog, maxLog); err != nil {
- return fmt.Errorf("log compaction failed: %v", err)
- }
- return nil
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/stable.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/stable.go
deleted file mode 100644
index ff59a8c5..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/stable.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package raft
-
-// StableStore is used to provide stable storage
-// of key configurations to ensure safety.
-type StableStore interface {
- Set(key []byte, val []byte) error
-
- // Get returns the value for key, or an empty byte slice if key was not found.
- Get(key []byte) ([]byte, error)
-
- SetUint64(key []byte, val uint64) error
-
- // GetUint64 returns the uint64 value for key, or 0 if key was not found.
- GetUint64(key []byte) (uint64, error)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/state.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/state.go
deleted file mode 100644
index f6d658b8..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/state.go
+++ /dev/null
@@ -1,167 +0,0 @@
-package raft
-
-import (
- "sync"
- "sync/atomic"
-)
-
-// RaftState captures the state of a Raft node: Follower, Candidate, Leader,
-// or Shutdown.
-type RaftState uint32
-
-const (
- // Follower is the initial state of a Raft node.
- Follower RaftState = iota
-
- // Candidate is one of the valid states of a Raft node.
- Candidate
-
- // Leader is one of the valid states of a Raft node.
- Leader
-
- // Shutdown is the terminal state of a Raft node.
- Shutdown
-)
-
-func (s RaftState) String() string {
- switch s {
- case Follower:
- return "Follower"
- case Candidate:
- return "Candidate"
- case Leader:
- return "Leader"
- case Shutdown:
- return "Shutdown"
- default:
- return "Unknown"
- }
-}
-
-// raftState is used to maintain various state variables
-// and provides an interface to set/get the variables in a
-// thread safe manner.
-type raftState struct {
- // The current term, cache of StableStore
- currentTerm uint64
-
- // Highest committed log entry
- commitIndex uint64
-
- // Last applied log to the FSM
- lastApplied uint64
-
- // protects 4 next fields
- lastLock sync.Mutex
-
- // Cache the latest snapshot index/term
- lastSnapshotIndex uint64
- lastSnapshotTerm uint64
-
- // Cache the latest log from LogStore
- lastLogIndex uint64
- lastLogTerm uint64
-
- // Tracks running goroutines
- routinesGroup sync.WaitGroup
-
- // The current state
- state RaftState
-}
-
-func (r *raftState) getState() RaftState {
- stateAddr := (*uint32)(&r.state)
- return RaftState(atomic.LoadUint32(stateAddr))
-}
-
-func (r *raftState) setState(s RaftState) {
- stateAddr := (*uint32)(&r.state)
- atomic.StoreUint32(stateAddr, uint32(s))
-}
-
-func (r *raftState) getCurrentTerm() uint64 {
- return atomic.LoadUint64(&r.currentTerm)
-}
-
-func (r *raftState) setCurrentTerm(term uint64) {
- atomic.StoreUint64(&r.currentTerm, term)
-}
-
-func (r *raftState) getLastLog() (index, term uint64) {
- r.lastLock.Lock()
- index = r.lastLogIndex
- term = r.lastLogTerm
- r.lastLock.Unlock()
- return
-}
-
-func (r *raftState) setLastLog(index, term uint64) {
- r.lastLock.Lock()
- r.lastLogIndex = index
- r.lastLogTerm = term
- r.lastLock.Unlock()
-}
-
-func (r *raftState) getLastSnapshot() (index, term uint64) {
- r.lastLock.Lock()
- index = r.lastSnapshotIndex
- term = r.lastSnapshotTerm
- r.lastLock.Unlock()
- return
-}
-
-func (r *raftState) setLastSnapshot(index, term uint64) {
- r.lastLock.Lock()
- r.lastSnapshotIndex = index
- r.lastSnapshotTerm = term
- r.lastLock.Unlock()
-}
-
-func (r *raftState) getCommitIndex() uint64 {
- return atomic.LoadUint64(&r.commitIndex)
-}
-
-func (r *raftState) setCommitIndex(index uint64) {
- atomic.StoreUint64(&r.commitIndex, index)
-}
-
-func (r *raftState) getLastApplied() uint64 {
- return atomic.LoadUint64(&r.lastApplied)
-}
-
-func (r *raftState) setLastApplied(index uint64) {
- atomic.StoreUint64(&r.lastApplied, index)
-}
-
-// Start a goroutine and properly handle the race between a routine
-// starting and incrementing, and exiting and decrementing.
-func (r *raftState) goFunc(f func()) {
- r.routinesGroup.Add(1)
- go func() {
- defer r.routinesGroup.Done()
- f()
- }()
-}
-
-func (r *raftState) waitShutdown() {
- r.routinesGroup.Wait()
-}
-
-// getLastIndex returns the last index in stable storage.
-// Either from the last log or from the last snapshot.
-func (r *raftState) getLastIndex() uint64 {
- r.lastLock.Lock()
- defer r.lastLock.Unlock()
- return max(r.lastLogIndex, r.lastSnapshotIndex)
-}
-
-// getLastEntry returns the last index and term in stable storage.
-// Either from the last log or from the last snapshot.
-func (r *raftState) getLastEntry() (uint64, uint64) {
- r.lastLock.Lock()
- defer r.lastLock.Unlock()
- if r.lastLogIndex >= r.lastSnapshotIndex {
- return r.lastLogIndex, r.lastLogTerm
- }
- return r.lastSnapshotIndex, r.lastSnapshotTerm
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/tcp_transport.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/tcp_transport.go
deleted file mode 100644
index 9281508a..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/tcp_transport.go
+++ /dev/null
@@ -1,105 +0,0 @@
-package raft
-
-import (
- "errors"
- "io"
- "log"
- "net"
- "time"
-)
-
-var (
- errNotAdvertisable = errors.New("local bind address is not advertisable")
- errNotTCP = errors.New("local address is not a TCP address")
-)
-
-// TCPStreamLayer implements StreamLayer interface for plain TCP.
-type TCPStreamLayer struct {
- advertise net.Addr
- listener *net.TCPListener
-}
-
-// NewTCPTransport returns a NetworkTransport that is built on top of
-// a TCP streaming transport layer.
-func NewTCPTransport(
- bindAddr string,
- advertise net.Addr,
- maxPool int,
- timeout time.Duration,
- logOutput io.Writer,
-) (*NetworkTransport, error) {
- return newTCPTransport(bindAddr, advertise, maxPool, timeout, func(stream StreamLayer) *NetworkTransport {
- return NewNetworkTransport(stream, maxPool, timeout, logOutput)
- })
-}
-
-// NewTCPTransportWithLogger returns a NetworkTransport that is built on top of
-// a TCP streaming transport layer, with log output going to the supplied Logger
-func NewTCPTransportWithLogger(
- bindAddr string,
- advertise net.Addr,
- maxPool int,
- timeout time.Duration,
- logger *log.Logger,
-) (*NetworkTransport, error) {
- return newTCPTransport(bindAddr, advertise, maxPool, timeout, func(stream StreamLayer) *NetworkTransport {
- return NewNetworkTransportWithLogger(stream, maxPool, timeout, logger)
- })
-}
-
-func newTCPTransport(bindAddr string,
- advertise net.Addr,
- maxPool int,
- timeout time.Duration,
- transportCreator func(stream StreamLayer) *NetworkTransport) (*NetworkTransport, error) {
- // Try to bind
- list, err := net.Listen("tcp", bindAddr)
- if err != nil {
- return nil, err
- }
-
- // Create stream
- stream := &TCPStreamLayer{
- advertise: advertise,
- listener: list.(*net.TCPListener),
- }
-
- // Verify that we have a usable advertise address
- addr, ok := stream.Addr().(*net.TCPAddr)
- if !ok {
- list.Close()
- return nil, errNotTCP
- }
- if addr.IP.IsUnspecified() {
- list.Close()
- return nil, errNotAdvertisable
- }
-
- // Create the network transport
- trans := transportCreator(stream)
- return trans, nil
-}
-
-// Dial implements the StreamLayer interface.
-func (t *TCPStreamLayer) Dial(address ServerAddress, timeout time.Duration) (net.Conn, error) {
- return net.DialTimeout("tcp", string(address), timeout)
-}
-
-// Accept implements the net.Listener interface.
-func (t *TCPStreamLayer) Accept() (c net.Conn, err error) {
- return t.listener.Accept()
-}
-
-// Close implements the net.Listener interface.
-func (t *TCPStreamLayer) Close() (err error) {
- return t.listener.Close()
-}
-
-// Addr implements the net.Listener interface.
-func (t *TCPStreamLayer) Addr() net.Addr {
- // Use an advertise addr if provided
- if t.advertise != nil {
- return t.advertise
- }
- return t.listener.Addr()
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/transport.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/transport.go
deleted file mode 100644
index 633f97a8..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/transport.go
+++ /dev/null
@@ -1,124 +0,0 @@
-package raft
-
-import (
- "io"
- "time"
-)
-
-// RPCResponse captures both a response and a potential error.
-type RPCResponse struct {
- Response interface{}
- Error error
-}
-
-// RPC has a command, and provides a response mechanism.
-type RPC struct {
- Command interface{}
- Reader io.Reader // Set only for InstallSnapshot
- RespChan chan<- RPCResponse
-}
-
-// Respond is used to respond with a response, error or both
-func (r *RPC) Respond(resp interface{}, err error) {
- r.RespChan <- RPCResponse{resp, err}
-}
-
-// Transport provides an interface for network transports
-// to allow Raft to communicate with other nodes.
-type Transport interface {
- // Consumer returns a channel that can be used to
- // consume and respond to RPC requests.
- Consumer() <-chan RPC
-
- // LocalAddr is used to return our local address to distinguish from our peers.
- LocalAddr() ServerAddress
-
- // AppendEntriesPipeline returns an interface that can be used to pipeline
- // AppendEntries requests.
- AppendEntriesPipeline(target ServerAddress) (AppendPipeline, error)
-
- // AppendEntries sends the appropriate RPC to the target node.
- AppendEntries(target ServerAddress, args *AppendEntriesRequest, resp *AppendEntriesResponse) error
-
- // RequestVote sends the appropriate RPC to the target node.
- RequestVote(target ServerAddress, args *RequestVoteRequest, resp *RequestVoteResponse) error
-
- // InstallSnapshot is used to push a snapshot down to a follower. The data is read from
- // the ReadCloser and streamed to the client.
- InstallSnapshot(target ServerAddress, args *InstallSnapshotRequest, resp *InstallSnapshotResponse, data io.Reader) error
-
- // EncodePeer is used to serialize a peer's address.
- EncodePeer(ServerAddress) []byte
-
- // DecodePeer is used to deserialize a peer's address.
- DecodePeer([]byte) ServerAddress
-
- // SetHeartbeatHandler is used to setup a heartbeat handler
- // as a fast-pass. This is to avoid head-of-line blocking from
- // disk IO. If a Transport does not support this, it can simply
- // ignore the call, and push the heartbeat onto the Consumer channel.
- SetHeartbeatHandler(cb func(rpc RPC))
-}
-
-// WithClose is an interface that a transport may provide which
-// allows a transport to be shut down cleanly when a Raft instance
-// shuts down.
-//
-// It is defined separately from Transport as unfortunately it wasn't in the
-// original interface specification.
-type WithClose interface {
- // Close permanently closes a transport, stopping
- // any associated goroutines and freeing other resources.
- Close() error
-}
-
-// LoopbackTransport is an interface that provides a loopback transport suitable for testing
-// e.g. InmemTransport. It's there so we don't have to rewrite tests.
-type LoopbackTransport interface {
- Transport // Embedded transport reference
- WithPeers // Embedded peer management
- WithClose // with a close routine
-}
-
-// WithPeers is an interface that a transport may provide which allows for connection and
-// disconnection. Unless the transport is a loopback transport, the transport specified to
-// "Connect" is likely to be nil.
-type WithPeers interface {
- Connect(peer ServerAddress, t Transport) // Connect a peer
- Disconnect(peer ServerAddress) // Disconnect a given peer
- DisconnectAll() // Disconnect all peers, possibly to reconnect them later
-}
-
-// AppendPipeline is used for pipelining AppendEntries requests. It is used
-// to increase the replication throughput by masking latency and better
-// utilizing bandwidth.
-type AppendPipeline interface {
- // AppendEntries is used to add another request to the pipeline.
- // The send may block which is an effective form of back-pressure.
- AppendEntries(args *AppendEntriesRequest, resp *AppendEntriesResponse) (AppendFuture, error)
-
- // Consumer returns a channel that can be used to consume
- // response futures when they are ready.
- Consumer() <-chan AppendFuture
-
- // Close closes the pipeline and cancels all inflight RPCs
- Close() error
-}
-
-// AppendFuture is used to return information about a pipelined AppendEntries request.
-type AppendFuture interface {
- Future
-
- // Start returns the time that the append request was started.
- // It is always OK to call this method.
- Start() time.Time
-
- // Request holds the parameters of the AppendEntries call.
- // It is always OK to call this method.
- Request() *AppendEntriesRequest
-
- // Response holds the results of the AppendEntries call.
- // This method must only be called after the Error
- // method returns, and will only be valid on success.
- Response() *AppendEntriesResponse
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/util.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/util.go
deleted file mode 100644
index 90428d74..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/util.go
+++ /dev/null
@@ -1,133 +0,0 @@
-package raft
-
-import (
- "bytes"
- crand "crypto/rand"
- "fmt"
- "math"
- "math/big"
- "math/rand"
- "time"
-
- "github.com/hashicorp/go-msgpack/codec"
-)
-
-func init() {
- // Ensure we use a high-entropy seed for the psuedo-random generator
- rand.Seed(newSeed())
-}
-
-// returns an int64 from a crypto random source
-// can be used to seed a source for a math/rand.
-func newSeed() int64 {
- r, err := crand.Int(crand.Reader, big.NewInt(math.MaxInt64))
- if err != nil {
- panic(fmt.Errorf("failed to read random bytes: %v", err))
- }
- return r.Int64()
-}
-
-// randomTimeout returns a value that is between the minVal and 2x minVal.
-func randomTimeout(minVal time.Duration) <-chan time.Time {
- if minVal == 0 {
- return nil
- }
- extra := (time.Duration(rand.Int63()) % minVal)
- return time.After(minVal + extra)
-}
-
-// min returns the minimum.
-func min(a, b uint64) uint64 {
- if a <= b {
- return a
- }
- return b
-}
-
-// max returns the maximum.
-func max(a, b uint64) uint64 {
- if a >= b {
- return a
- }
- return b
-}
-
-// generateUUID is used to generate a random UUID.
-func generateUUID() string {
- buf := make([]byte, 16)
- if _, err := crand.Read(buf); err != nil {
- panic(fmt.Errorf("failed to read random bytes: %v", err))
- }
-
- return fmt.Sprintf("%08x-%04x-%04x-%04x-%12x",
- buf[0:4],
- buf[4:6],
- buf[6:8],
- buf[8:10],
- buf[10:16])
-}
-
-// asyncNotifyCh is used to do an async channel send
-// to a single channel without blocking.
-func asyncNotifyCh(ch chan struct{}) {
- select {
- case ch <- struct{}{}:
- default:
- }
-}
-
-// drainNotifyCh empties out a single-item notification channel without
-// blocking, and returns whether it received anything.
-func drainNotifyCh(ch chan struct{}) bool {
- select {
- case <-ch:
- return true
- default:
- return false
- }
-}
-
-// asyncNotifyBool is used to do an async notification
-// on a bool channel.
-func asyncNotifyBool(ch chan bool, v bool) {
- select {
- case ch <- v:
- default:
- }
-}
-
-// Decode reverses the encode operation on a byte slice input.
-func decodeMsgPack(buf []byte, out interface{}) error {
- r := bytes.NewBuffer(buf)
- hd := codec.MsgpackHandle{}
- dec := codec.NewDecoder(r, &hd)
- return dec.Decode(out)
-}
-
-// Encode writes an encoded object to a new bytes buffer.
-func encodeMsgPack(in interface{}) (*bytes.Buffer, error) {
- buf := bytes.NewBuffer(nil)
- hd := codec.MsgpackHandle{}
- enc := codec.NewEncoder(buf, &hd)
- err := enc.Encode(in)
- return buf, err
-}
-
-// backoff is used to compute an exponential backoff
-// duration. Base time is scaled by the current round,
-// up to some maximum scale factor.
-func backoff(base time.Duration, round, limit uint64) time.Duration {
- power := min(round, limit)
- for power > 2 {
- base *= 2
- power--
- }
- return base
-}
-
-// Needed for sorting []uint64, used to determine commitment
-type uint64Slice []uint64
-
-func (p uint64Slice) Len() int { return len(p) }
-func (p uint64Slice) Less(i, j int) bool { return p[i] < p[j] }
-func (p uint64Slice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/README.md
index 287ecb24..8f02cdd0 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/README.md
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/README.md
@@ -3,8 +3,11 @@
cli is a library for implementing powerful command-line interfaces in Go.
cli is the library that powers the CLI for
[Packer](https://github.com/mitchellh/packer),
-[Serf](https://github.com/hashicorp/serf), and
-[Consul](https://github.com/hashicorp/consul).
+[Serf](https://github.com/hashicorp/serf),
+[Consul](https://github.com/hashicorp/consul),
+[Vault](https://github.com/hashicorp/vault),
+[Terraform](https://github.com/hashicorp/terraform), and
+[Nomad](https://github.com/hashicorp/nomad).
## Features
@@ -15,6 +18,9 @@ cli is the library that powers the CLI for
* Optional support for default subcommands so `cli` does something
other than error.
+* Support for shell autocompletion of subcommands, flags, and arguments
+ with callbacks in Go. You don't need to write any shell code.
+
* Automatic help generation for listing subcommands
* Automatic help flag recognition of `-h`, `--help`, etc.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/autocomplete.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/autocomplete.go
new file mode 100644
index 00000000..3bec6258
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/autocomplete.go
@@ -0,0 +1,43 @@
+package cli
+
+import (
+ "github.com/posener/complete/cmd/install"
+)
+
+// autocompleteInstaller is an interface to be implemented to perform the
+// autocomplete installation and uninstallation with a CLI.
+//
+// This interface is not exported because it only exists for unit tests
+// to be able to test that the installation is called properly.
+type autocompleteInstaller interface {
+ Install(string) error
+ Uninstall(string) error
+}
+
+// realAutocompleteInstaller uses the real install package to do the
+// install/uninstall.
+type realAutocompleteInstaller struct{}
+
+func (i *realAutocompleteInstaller) Install(cmd string) error {
+ return install.Install(cmd)
+}
+
+func (i *realAutocompleteInstaller) Uninstall(cmd string) error {
+ return install.Uninstall(cmd)
+}
+
+// mockAutocompleteInstaller is used for tests to record the install/uninstall.
+type mockAutocompleteInstaller struct {
+ InstallCalled bool
+ UninstallCalled bool
+}
+
+func (i *mockAutocompleteInstaller) Install(cmd string) error {
+ i.InstallCalled = true
+ return nil
+}
+
+func (i *mockAutocompleteInstaller) Uninstall(cmd string) error {
+ i.UninstallCalled = true
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/cli.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/cli.go
index fbc0722f..b793b6f2 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/cli.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/cli.go
@@ -11,6 +11,7 @@ import (
"text/template"
"github.com/armon/go-radix"
+ "github.com/posener/complete"
)
// CLI contains the state necessary to run subcommands and parse the
@@ -25,7 +26,7 @@ import (
//
// * We use longest prefix matching to find a matching subcommand. This
// means if you register "foo bar" and the user executes "cli foo qux",
-// the "foo" commmand will be executed with the arg "qux". It is up to
+// the "foo" command will be executed with the arg "qux". It is up to
// you to handle these args. One option is to just return the special
// help return code `RunResultHelp` to display help and exit.
//
@@ -66,6 +67,36 @@ type CLI struct {
// Version of the CLI.
Version string
+ // Autocomplete enables or disables subcommand auto-completion support.
+ // This is enabled by default when NewCLI is called. Otherwise, this
+ // must enabled explicitly.
+ //
+ // Autocomplete requires the "Name" option to be set on CLI. This name
+ // should be set exactly to the binary name that is autocompleted.
+ //
+ // Autocompletion is supported via the github.com/posener/complete
+ // library. This library supports both bash and zsh. To add support
+ // for other shells, please see that library.
+ //
+ // AutocompleteInstall and AutocompleteUninstall are the global flag
+ // names for installing and uninstalling the autocompletion handlers
+ // for the user's shell. The flag should omit the hyphen(s) in front of
+ // the value. Both single and double hyphens will automatically be supported
+ // for the flag name. These default to `autocomplete-install` and
+ // `autocomplete-uninstall` respectively.
+ //
+ // AutocompleteNoDefaultFlags is a boolean which controls if the default auto-
+ // complete flags like -help and -version are added to the output.
+ //
+ // AutocompleteGlobalFlags are a mapping of global flags for
+ // autocompletion. The help and version flags are automatically added.
+ Autocomplete bool
+ AutocompleteInstall string
+ AutocompleteUninstall string
+ AutocompleteNoDefaultFlags bool
+ AutocompleteGlobalFlags complete.Flags
+ autocompleteInstaller autocompleteInstaller // For tests
+
// HelpFunc and HelpWriter are used to output help information, if
// requested.
//
@@ -78,23 +109,32 @@ type CLI struct {
HelpFunc HelpFunc
HelpWriter io.Writer
+ //---------------------------------------------------------------
+ // Internal fields set automatically
+
once sync.Once
+ autocomplete *complete.Complete
commandTree *radix.Tree
commandNested bool
- isHelp bool
subcommand string
subcommandArgs []string
topFlags []string
- isVersion bool
+ // These are true when special global flags are set. We can/should
+ // probably use a bitset for this one day.
+ isHelp bool
+ isVersion bool
+ isAutocompleteInstall bool
+ isAutocompleteUninstall bool
}
// NewClI returns a new CLI instance with sensible defaults.
func NewCLI(app, version string) *CLI {
return &CLI{
- Name: app,
- Version: version,
- HelpFunc: BasicHelpFunc(app),
+ Name: app,
+ Version: version,
+ HelpFunc: BasicHelpFunc(app),
+ Autocomplete: true,
}
}
@@ -117,10 +157,58 @@ func (c *CLI) IsVersion() bool {
func (c *CLI) Run() (int, error) {
c.once.Do(c.init)
+ // If this is a autocompletion request, satisfy it. This must be called
+ // first before anything else since its possible to be autocompleting
+ // -help or -version or other flags and we want to show completions
+ // and not actually write the help or version.
+ if c.Autocomplete && c.autocomplete.Complete() {
+ return 0, nil
+ }
+
// Just show the version and exit if instructed.
if c.IsVersion() && c.Version != "" {
c.HelpWriter.Write([]byte(c.Version + "\n"))
- return 1, nil
+ return 0, nil
+ }
+
+ // Just print the help when only '-h' or '--help' is passed.
+ if c.IsHelp() && c.Subcommand() == "" {
+ c.HelpWriter.Write([]byte(c.HelpFunc(c.Commands) + "\n"))
+ return 0, nil
+ }
+
+ // If we're attempting to install or uninstall autocomplete then handle
+ if c.Autocomplete {
+ // Autocomplete requires the "Name" to be set so that we know what
+ // command to setup the autocomplete on.
+ if c.Name == "" {
+ return 1, fmt.Errorf(
+ "internal error: CLI.Name must be specified for autocomplete to work")
+ }
+
+ // If both install and uninstall flags are specified, then error
+ if c.isAutocompleteInstall && c.isAutocompleteUninstall {
+ return 1, fmt.Errorf(
+ "Either the autocomplete install or uninstall flag may " +
+ "be specified, but not both.")
+ }
+
+ // If the install flag is specified, perform the install or uninstall
+ if c.isAutocompleteInstall {
+ if err := c.autocompleteInstaller.Install(c.Name); err != nil {
+ return 1, err
+ }
+
+ return 0, nil
+ }
+
+ if c.isAutocompleteUninstall {
+ if err := c.autocompleteInstaller.Uninstall(c.Name); err != nil {
+ return 1, err
+ }
+
+ return 0, nil
+ }
}
// Attempt to get the factory function for creating the command
@@ -133,13 +221,13 @@ func (c *CLI) Run() (int, error) {
command, err := raw.(CommandFactory)()
if err != nil {
- return 0, err
+ return 1, err
}
// If we've been instructed to just print the help, then print it
if c.IsHelp() {
c.commandHelp(command)
- return 1, nil
+ return 0, nil
}
// If there is an invalid flag, then error
@@ -250,7 +338,7 @@ func (c *CLI) init() {
c.commandTree.Walk(walkFn)
// Insert any that we're missing
- for k, _ := range toInsert {
+ for k := range toInsert {
var f CommandFactory = func() (Command, error) {
return &MockCommand{
HelpText: "This command is accessed by using one of the subcommands below.",
@@ -262,10 +350,113 @@ func (c *CLI) init() {
}
}
+ // Setup autocomplete if we have it enabled. We have to do this after
+ // the command tree is setup so we can use the radix tree to easily find
+ // all subcommands.
+ if c.Autocomplete {
+ c.initAutocomplete()
+ }
+
// Process the args
c.processArgs()
}
+func (c *CLI) initAutocomplete() {
+ if c.AutocompleteInstall == "" {
+ c.AutocompleteInstall = defaultAutocompleteInstall
+ }
+
+ if c.AutocompleteUninstall == "" {
+ c.AutocompleteUninstall = defaultAutocompleteUninstall
+ }
+
+ if c.autocompleteInstaller == nil {
+ c.autocompleteInstaller = &realAutocompleteInstaller{}
+ }
+
+ // Build the root command
+ cmd := c.initAutocompleteSub("")
+
+ // For the root, we add the global flags to the "Flags". This way
+ // they don't show up on every command.
+ if !c.AutocompleteNoDefaultFlags {
+ cmd.Flags = map[string]complete.Predictor{
+ "-" + c.AutocompleteInstall: complete.PredictNothing,
+ "-" + c.AutocompleteUninstall: complete.PredictNothing,
+ "-help": complete.PredictNothing,
+ "-version": complete.PredictNothing,
+ }
+ }
+ cmd.GlobalFlags = c.AutocompleteGlobalFlags
+
+ c.autocomplete = complete.New(c.Name, cmd)
+}
+
+// initAutocompleteSub creates the complete.Command for a subcommand with
+// the given prefix. This will continue recursively for all subcommands.
+// The prefix "" (empty string) can be used for the root command.
+func (c *CLI) initAutocompleteSub(prefix string) complete.Command {
+ var cmd complete.Command
+ walkFn := func(k string, raw interface{}) bool {
+ if len(prefix) > 0 {
+ // If we have a prefix, trim the prefix + 1 (for the space)
+ // Example: turns "sub one" to "one" with prefix "sub"
+ k = k[len(prefix)+1:]
+ }
+
+ // Keep track of the full key so that we can nest further if necessary
+ fullKey := k
+
+ if idx := strings.LastIndex(k, " "); idx >= 0 {
+ // If there is a space, we trim up to the space
+ k = k[:idx]
+ }
+
+ if idx := strings.LastIndex(k, " "); idx >= 0 {
+ // This catches the scenario just in case where we see "sub one"
+ // before "sub". This will let us properly setup the subcommand
+ // regardless.
+ k = k[idx+1:]
+ }
+
+ if _, ok := cmd.Sub[k]; ok {
+ // If we already tracked this subcommand then ignore
+ return false
+ }
+
+ if cmd.Sub == nil {
+ cmd.Sub = complete.Commands(make(map[string]complete.Command))
+ }
+ subCmd := c.initAutocompleteSub(fullKey)
+
+ // Instantiate the command so that we can check if the command is
+ // a CommandAutocomplete implementation. If there is an error
+ // creating the command, we just ignore it since that will be caught
+ // later.
+ impl, err := raw.(CommandFactory)()
+ if err != nil {
+ impl = nil
+ }
+
+ // Check if it implements ComandAutocomplete. If so, setup the autocomplete
+ if c, ok := impl.(CommandAutocomplete); ok {
+ subCmd.Args = c.AutocompleteArgs()
+ subCmd.Flags = c.AutocompleteFlags()
+ }
+
+ cmd.Sub[k] = subCmd
+ return false
+ }
+
+ walkPrefix := prefix
+ if walkPrefix != "" {
+ walkPrefix += " "
+ }
+
+ c.commandTree.WalkPrefix(walkPrefix, walkFn)
+ return cmd
+}
+
func (c *CLI) commandHelp(command Command) {
// Get the template to use
tpl := strings.TrimSpace(defaultHelpTemplate)
@@ -388,16 +579,35 @@ func (c *CLI) helpCommands(prefix string) map[string]CommandFactory {
func (c *CLI) processArgs() {
for i, arg := range c.Args {
+ if arg == "--" {
+ break
+ }
+
+ // Check for help flags.
+ if arg == "-h" || arg == "-help" || arg == "--help" {
+ c.isHelp = true
+ continue
+ }
+
+ // Check for autocomplete flags
+ if c.Autocomplete {
+ if arg == "-"+c.AutocompleteInstall || arg == "--"+c.AutocompleteInstall {
+ c.isAutocompleteInstall = true
+ continue
+ }
+
+ if arg == "-"+c.AutocompleteUninstall || arg == "--"+c.AutocompleteUninstall {
+ c.isAutocompleteUninstall = true
+ continue
+ }
+ }
+
if c.subcommand == "" {
- // Check for version and help flags if not in a subcommand
+ // Check for version flags if not in a subcommand.
if arg == "-v" || arg == "-version" || arg == "--version" {
c.isVersion = true
continue
}
- if arg == "-h" || arg == "-help" || arg == "--help" {
- c.isHelp = true
- continue
- }
if arg != "" && arg[0] == '-' {
// Record the arg...
@@ -444,11 +654,16 @@ func (c *CLI) processArgs() {
}
}
+// defaultAutocompleteInstall and defaultAutocompleteUninstall are the
+// default values for the autocomplete install and uninstall flags.
+const defaultAutocompleteInstall = "autocomplete-install"
+const defaultAutocompleteUninstall = "autocomplete-uninstall"
+
const defaultHelpTemplate = `
{{.Help}}{{if gt (len .Subcommands) 0}}
Subcommands:
-{{ range $value := .Subcommands }}
+{{- range $value := .Subcommands }}
{{ $value.NameAligned }} {{ $value.Synopsis }}{{ end }}
-{{ end }}
+{{- end }}
`
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command.go
index b4924eb0..bed11faf 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command.go
@@ -1,5 +1,9 @@
package cli
+import (
+ "github.com/posener/complete"
+)
+
const (
// RunResultHelp is a value that can be returned from Run to signal
// to the CLI to render the help output.
@@ -26,6 +30,22 @@ type Command interface {
Synopsis() string
}
+// CommandAutocomplete is an extension of Command that enables fine-grained
+// autocompletion. Subcommand autocompletion will work even if this interface
+// is not implemented. By implementing this interface, more advanced
+// autocompletion is enabled.
+type CommandAutocomplete interface {
+ // AutocompleteArgs returns the argument predictor for this command.
+ // If argument completion is not supported, this should return
+ // complete.PredictNothing.
+ AutocompleteArgs() complete.Predictor
+
+ // AutocompleteFlags returns a mapping of supported flags and autocomplete
+ // options for this command. The map key for the Flags map should be the
+ // complete flag such as "-foo" or "--foo".
+ AutocompleteFlags() complete.Flags
+}
+
// CommandHelpTemplate is an extension of Command that also has a function
// for returning a template for the help rather than the help itself. In
// this scenario, both Help and HelpTemplate should be implemented.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command_mock.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command_mock.go
index 6371e573..7a584b7e 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command_mock.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/command_mock.go
@@ -1,5 +1,9 @@
package cli
+import (
+ "github.com/posener/complete"
+)
+
// MockCommand is an implementation of Command that can be used for tests.
// It is publicly exported from this package in case you want to use it
// externally.
@@ -29,6 +33,23 @@ func (c *MockCommand) Synopsis() string {
return c.SynopsisText
}
+// MockCommandAutocomplete is an implementation of CommandAutocomplete.
+type MockCommandAutocomplete struct {
+ MockCommand
+
+ // Settable
+ AutocompleteArgsValue complete.Predictor
+ AutocompleteFlagsValue complete.Flags
+}
+
+func (c *MockCommandAutocomplete) AutocompleteArgs() complete.Predictor {
+ return c.AutocompleteArgsValue
+}
+
+func (c *MockCommandAutocomplete) AutocompleteFlags() complete.Flags {
+ return c.AutocompleteFlagsValue
+}
+
// MockCommandHelpTemplate is an implementation of CommandHelpTemplate.
type MockCommandHelpTemplate struct {
MockCommand
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/help.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/help.go
index 67ea8c82..f5ca58f5 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/help.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/help.go
@@ -18,7 +18,7 @@ func BasicHelpFunc(app string) HelpFunc {
return func(commands map[string]CommandFactory) string {
var buf bytes.Buffer
buf.WriteString(fmt.Sprintf(
- "usage: %s [--version] [--help] <command> [<args>]\n\n",
+ "Usage: %s [--version] [--help] <command> [<args>]\n\n",
app))
buf.WriteString("Available commands are:\n")
@@ -26,7 +26,7 @@ func BasicHelpFunc(app string) HelpFunc {
// key length so they can be aligned properly.
keys := make([]string, 0, len(commands))
maxKeyLen := 0
- for key, _ := range commands {
+ for key := range commands {
if len(key) > maxKeyLen {
maxKeyLen = len(key)
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/ui_mock.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/ui_mock.go
index c4677285..0bfe0a19 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/ui_mock.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/cli/ui_mock.go
@@ -7,12 +7,25 @@ import (
"sync"
)
-// MockUi is a mock UI that is used for tests and is exported publicly for
-// use in external tests if needed as well.
+// NewMockUi returns a fully initialized MockUi instance
+// which is safe for concurrent use.
+func NewMockUi() *MockUi {
+ m := new(MockUi)
+ m.once.Do(m.init)
+ return m
+}
+
+// MockUi is a mock UI that is used for tests and is exported publicly
+// for use in external tests if needed as well. Do not instantite this
+// directly since the buffers will be initialized on the first write. If
+// there is no write then you will get a nil panic. Please use the
+// NewMockUi() constructor function instead. You can fix your code with
+//
+// sed -i -e 's/new(cli.MockUi)/cli.NewMockUi()/g' *_test.go
type MockUi struct {
InputReader io.Reader
- ErrorWriter *bytes.Buffer
- OutputWriter *bytes.Buffer
+ ErrorWriter *syncBuffer
+ OutputWriter *syncBuffer
once sync.Once
}
@@ -59,6 +72,40 @@ func (u *MockUi) Warn(message string) {
}
func (u *MockUi) init() {
- u.ErrorWriter = new(bytes.Buffer)
- u.OutputWriter = new(bytes.Buffer)
+ u.ErrorWriter = new(syncBuffer)
+ u.OutputWriter = new(syncBuffer)
+}
+
+type syncBuffer struct {
+ sync.RWMutex
+ b bytes.Buffer
+}
+
+func (b *syncBuffer) Write(data []byte) (int, error) {
+ b.Lock()
+ defer b.Unlock()
+ return b.b.Write(data)
+}
+
+func (b *syncBuffer) Read(data []byte) (int, error) {
+ b.RLock()
+ defer b.RUnlock()
+ return b.b.Read(data)
+}
+
+func (b *syncBuffer) Reset() {
+ b.Lock()
+ b.b.Reset()
+ b.Unlock()
+}
+
+func (b *syncBuffer) String() string {
+ return string(b.Bytes())
+}
+
+func (b *syncBuffer) Bytes() []byte {
+ b.RLock()
+ data := b.b.Bytes()
+ b.RUnlock()
+ return data
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/LICENSE
new file mode 100644
index 00000000..a3866a29
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Mitchell Hashimoto
+
+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/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/README.md
new file mode 100644
index 00000000..26781bba
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/README.md
@@ -0,0 +1,52 @@
+# go-testing-interface
+
+go-testing-interface is a Go library that exports an interface that
+`*testing.T` implements as well as a runtime version you can use in its
+place.
+
+The purpose of this library is so that you can export test helpers as a
+public API without depending on the "testing" package, since you can't
+create a `*testing.T` struct manually. This lets you, for example, use the
+public testing APIs to generate mock data at runtime, rather than just at
+test time.
+
+## Usage & Example
+
+For usage and examples see the [Godoc](http://godoc.org/github.com/mitchellh/go-testing-interface).
+
+Given a test helper written using `go-testing-interface` like this:
+
+ import "github.com/mitchellh/go-testing-interface"
+
+ func TestHelper(t testing.T) {
+ t.Fatal("I failed")
+ }
+
+You can call the test helper in a real test easily:
+
+ import "testing"
+
+ func TestThing(t *testing.T) {
+ TestHelper(t)
+ }
+
+You can also call the test helper at runtime if needed:
+
+ import "github.com/mitchellh/go-testing-interface"
+
+ func main() {
+ TestHelper(&testing.RuntimeT{})
+ }
+
+## Why?!
+
+**Why would I call a test helper that takes a *testing.T at runtime?**
+
+You probably shouldn't. The only use case I've seen (and I've had) for this
+is to implement a "dev mode" for a service where the test helpers are used
+to populate mock data, create a mock DB, perhaps run service dependencies
+in-memory, etc.
+
+Outside of a "dev mode", I've never seen a use case for this and I think
+there shouldn't be one since the point of the `testing.T` interface is that
+you can fail immediately.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing.go
new file mode 100644
index 00000000..204afb42
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing.go
@@ -0,0 +1,84 @@
+// +build !go1.9
+
+package testing
+
+import (
+ "fmt"
+ "log"
+)
+
+// T is the interface that mimics the standard library *testing.T.
+//
+// In unit tests you can just pass a *testing.T struct. At runtime, outside
+// of tests, you can pass in a RuntimeT struct from this package.
+type T interface {
+ Error(args ...interface{})
+ Errorf(format string, args ...interface{})
+ Fail()
+ FailNow()
+ Failed() bool
+ Fatal(args ...interface{})
+ Fatalf(format string, args ...interface{})
+ Log(args ...interface{})
+ Logf(format string, args ...interface{})
+ Name() string
+ Skip(args ...interface{})
+ SkipNow()
+ Skipf(format string, args ...interface{})
+ Skipped() bool
+}
+
+// RuntimeT implements T and can be instantiated and run at runtime to
+// mimic *testing.T behavior. Unlike *testing.T, this will simply panic
+// for calls to Fatal. For calls to Error, you'll have to check the errors
+// list to determine whether to exit yourself. Name and Skip methods are
+// unimplemented noops.
+type RuntimeT struct {
+ failed bool
+}
+
+func (t *RuntimeT) Error(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+ t.Fail()
+}
+
+func (t *RuntimeT) Errorf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+ t.Fail()
+}
+
+func (t *RuntimeT) Fatal(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+ t.FailNow()
+}
+
+func (t *RuntimeT) Fatalf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+ t.FailNow()
+}
+
+func (t *RuntimeT) Fail() {
+ t.failed = true
+}
+
+func (t *RuntimeT) FailNow() {
+ panic("testing.T failed, see logs for output (if any)")
+}
+
+func (t *RuntimeT) Failed() bool {
+ return t.failed
+}
+
+func (t *RuntimeT) Log(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+}
+
+func (t *RuntimeT) Logf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+}
+
+func (t *RuntimeT) Name() string { return "" }
+func (t *RuntimeT) Skip(args ...interface{}) {}
+func (t *RuntimeT) SkipNow() {}
+func (t *RuntimeT) Skipf(format string, args ...interface{}) {}
+func (t *RuntimeT) Skipped() bool { return false }
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go
new file mode 100644
index 00000000..07fbcb58
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/mitchellh/go-testing-interface/testing_go19.go
@@ -0,0 +1,80 @@
+// +build go1.9
+
+// NOTE: This is a temporary copy of testing.go for Go 1.9 with the addition
+// of "Helper" to the T interface. Go 1.9 at the time of typing is in RC
+// and is set for release shortly. We'll support this on master as the default
+// as soon as 1.9 is released.
+
+package testing
+
+import (
+ "fmt"
+ "log"
+)
+
+// T is the interface that mimics the standard library *testing.T.
+//
+// In unit tests you can just pass a *testing.T struct. At runtime, outside
+// of tests, you can pass in a RuntimeT struct from this package.
+type T interface {
+ Error(args ...interface{})
+ Errorf(format string, args ...interface{})
+ Fatal(args ...interface{})
+ Fatalf(format string, args ...interface{})
+ Fail()
+ FailNow()
+ Failed() bool
+ Helper()
+ Log(args ...interface{})
+ Logf(format string, args ...interface{})
+}
+
+// RuntimeT implements T and can be instantiated and run at runtime to
+// mimic *testing.T behavior. Unlike *testing.T, this will simply panic
+// for calls to Fatal. For calls to Error, you'll have to check the errors
+// list to determine whether to exit yourself.
+type RuntimeT struct {
+ failed bool
+}
+
+func (t *RuntimeT) Error(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+ t.Fail()
+}
+
+func (t *RuntimeT) Errorf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+ t.Fail()
+}
+
+func (t *RuntimeT) Fatal(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+ t.FailNow()
+}
+
+func (t *RuntimeT) Fatalf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+ t.FailNow()
+}
+
+func (t *RuntimeT) Fail() {
+ t.failed = true
+}
+
+func (t *RuntimeT) FailNow() {
+ panic("testing.T failed, see logs for output (if any)")
+}
+
+func (t *RuntimeT) Failed() bool {
+ return t.failed
+}
+
+func (t *RuntimeT) Helper() {}
+
+func (t *RuntimeT) Log(args ...interface{}) {
+ log.Println(fmt.Sprintln(args...))
+}
+
+func (t *RuntimeT) Logf(format string, args ...interface{}) {
+ log.Println(fmt.Sprintf(format, args...))
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/LICENSE
new file mode 100644
index 00000000..835ba3e7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/LICENSE
@@ -0,0 +1,23 @@
+Copyright (c) 2015, Dave Cheney <dave@cheney.net>
+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.
+
+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/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/README.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/README.md
new file mode 100644
index 00000000..273db3c9
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/README.md
@@ -0,0 +1,52 @@
+# errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![AppVeyor](https://ci.appveyor.com/api/projects/status/b98mptawhudj53ep/branch/master?svg=true)](https://ci.appveyor.com/project/davecheney/errors/branch/master) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.svg)](http://godoc.org/github.com/pkg/errors) [![Report card](https://goreportcard.com/badge/github.com/pkg/errors)](https://goreportcard.com/report/github.com/pkg/errors)
+
+Package errors provides simple error handling primitives.
+
+`go get github.com/pkg/errors`
+
+The traditional error handling idiom in Go is roughly akin to
+```go
+if err != nil {
+ return err
+}
+```
+which applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error.
+
+## Adding context to an error
+
+The errors.Wrap function returns a new error that adds context to the original error. For example
+```go
+_, err := ioutil.ReadAll(r)
+if err != nil {
+ return errors.Wrap(err, "read failed")
+}
+```
+## Retrieving the cause of an error
+
+Using `errors.Wrap` constructs a stack of errors, adding context to the preceding error. Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection. Any error value which implements this interface can be inspected by `errors.Cause`.
+```go
+type causer interface {
+ Cause() error
+}
+```
+`errors.Cause` will recursively retrieve the topmost error which does not implement `causer`, which is assumed to be the original cause. For example:
+```go
+switch err := errors.Cause(err).(type) {
+case *MyError:
+ // handle specifically
+default:
+ // unknown error
+}
+```
+
+[Read the package documentation for more information](https://godoc.org/github.com/pkg/errors).
+
+## Contributing
+
+We welcome pull requests, bug fixes and issue reports. With that said, the bar for adding new symbols to this package is intentionally set high.
+
+Before proposing a change, please discuss your change by raising an issue.
+
+## Licence
+
+BSD-2-Clause
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/appveyor.yml b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/appveyor.yml
new file mode 100644
index 00000000..a932eade
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/appveyor.yml
@@ -0,0 +1,32 @@
+version: build-{build}.{branch}
+
+clone_folder: C:\gopath\src\github.com\pkg\errors
+shallow_clone: true # for startup speed
+
+environment:
+ GOPATH: C:\gopath
+
+platform:
+ - x64
+
+# http://www.appveyor.com/docs/installed-software
+install:
+ # some helpful output for debugging builds
+ - go version
+ - go env
+ # pre-installed MinGW at C:\MinGW is 32bit only
+ # but MSYS2 at C:\msys64 has mingw64
+ - set PATH=C:\msys64\mingw64\bin;%PATH%
+ - gcc --version
+ - g++ --version
+
+build_script:
+ - go install -v ./...
+
+test_script:
+ - set PATH=C:\gopath\bin;%PATH%
+ - go test -v ./...
+
+#artifacts:
+# - path: '%GOPATH%\bin\*.exe'
+deploy: off
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/errors.go
new file mode 100644
index 00000000..842ee804
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/errors.go
@@ -0,0 +1,269 @@
+// Package errors provides simple error handling primitives.
+//
+// The traditional error handling idiom in Go is roughly akin to
+//
+// if err != nil {
+// return err
+// }
+//
+// which applied recursively up the call stack results in error reports
+// without context or debugging information. The errors package allows
+// programmers to add context to the failure path in their code in a way
+// that does not destroy the original value of the error.
+//
+// Adding context to an error
+//
+// The errors.Wrap function returns a new error that adds context to the
+// original error by recording a stack trace at the point Wrap is called,
+// and the supplied message. For example
+//
+// _, err := ioutil.ReadAll(r)
+// if err != nil {
+// return errors.Wrap(err, "read failed")
+// }
+//
+// If additional control is required the errors.WithStack and errors.WithMessage
+// functions destructure errors.Wrap into its component operations of annotating
+// an error with a stack trace and an a message, respectively.
+//
+// Retrieving the cause of an error
+//
+// Using errors.Wrap constructs a stack of errors, adding context to the
+// preceding error. Depending on the nature of the error it may be necessary
+// to reverse the operation of errors.Wrap to retrieve the original error
+// for inspection. Any error value which implements this interface
+//
+// type causer interface {
+// Cause() error
+// }
+//
+// can be inspected by errors.Cause. errors.Cause will recursively retrieve
+// the topmost error which does not implement causer, which is assumed to be
+// the original cause. For example:
+//
+// switch err := errors.Cause(err).(type) {
+// case *MyError:
+// // handle specifically
+// default:
+// // unknown error
+// }
+//
+// causer interface is not exported by this package, but is considered a part
+// of stable public API.
+//
+// Formatted printing of errors
+//
+// All error values returned from this package implement fmt.Formatter and can
+// be formatted by the fmt package. The following verbs are supported
+//
+// %s print the error. If the error has a Cause it will be
+// printed recursively
+// %v see %s
+// %+v extended format. Each Frame of the error's StackTrace will
+// be printed in detail.
+//
+// Retrieving the stack trace of an error or wrapper
+//
+// New, Errorf, Wrap, and Wrapf record a stack trace at the point they are
+// invoked. This information can be retrieved with the following interface.
+//
+// type stackTracer interface {
+// StackTrace() errors.StackTrace
+// }
+//
+// Where errors.StackTrace is defined as
+//
+// type StackTrace []Frame
+//
+// The Frame type represents a call site in the stack trace. Frame supports
+// the fmt.Formatter interface that can be used for printing information about
+// the stack trace of this error. For example:
+//
+// if err, ok := err.(stackTracer); ok {
+// for _, f := range err.StackTrace() {
+// fmt.Printf("%+s:%d", f)
+// }
+// }
+//
+// stackTracer interface is not exported by this package, but is considered a part
+// of stable public API.
+//
+// See the documentation for Frame.Format for more details.
+package errors
+
+import (
+ "fmt"
+ "io"
+)
+
+// New returns an error with the supplied message.
+// New also records the stack trace at the point it was called.
+func New(message string) error {
+ return &fundamental{
+ msg: message,
+ stack: callers(),
+ }
+}
+
+// Errorf formats according to a format specifier and returns the string
+// as a value that satisfies error.
+// Errorf also records the stack trace at the point it was called.
+func Errorf(format string, args ...interface{}) error {
+ return &fundamental{
+ msg: fmt.Sprintf(format, args...),
+ stack: callers(),
+ }
+}
+
+// fundamental is an error that has a message and a stack, but no caller.
+type fundamental struct {
+ msg string
+ *stack
+}
+
+func (f *fundamental) Error() string { return f.msg }
+
+func (f *fundamental) Format(s fmt.State, verb rune) {
+ switch verb {
+ case 'v':
+ if s.Flag('+') {
+ io.WriteString(s, f.msg)
+ f.stack.Format(s, verb)
+ return
+ }
+ fallthrough
+ case 's':
+ io.WriteString(s, f.msg)
+ case 'q':
+ fmt.Fprintf(s, "%q", f.msg)
+ }
+}
+
+// WithStack annotates err with a stack trace at the point WithStack was called.
+// If err is nil, WithStack returns nil.
+func WithStack(err error) error {
+ if err == nil {
+ return nil
+ }
+ return &withStack{
+ err,
+ callers(),
+ }
+}
+
+type withStack struct {
+ error
+ *stack
+}
+
+func (w *withStack) Cause() error { return w.error }
+
+func (w *withStack) Format(s fmt.State, verb rune) {
+ switch verb {
+ case 'v':
+ if s.Flag('+') {
+ fmt.Fprintf(s, "%+v", w.Cause())
+ w.stack.Format(s, verb)
+ return
+ }
+ fallthrough
+ case 's':
+ io.WriteString(s, w.Error())
+ case 'q':
+ fmt.Fprintf(s, "%q", w.Error())
+ }
+}
+
+// Wrap returns an error annotating err with a stack trace
+// at the point Wrap is called, and the supplied message.
+// If err is nil, Wrap returns nil.
+func Wrap(err error, message string) error {
+ if err == nil {
+ return nil
+ }
+ err = &withMessage{
+ cause: err,
+ msg: message,
+ }
+ return &withStack{
+ err,
+ callers(),
+ }
+}
+
+// Wrapf returns an error annotating err with a stack trace
+// at the point Wrapf is call, and the format specifier.
+// If err is nil, Wrapf returns nil.
+func Wrapf(err error, format string, args ...interface{}) error {
+ if err == nil {
+ return nil
+ }
+ err = &withMessage{
+ cause: err,
+ msg: fmt.Sprintf(format, args...),
+ }
+ return &withStack{
+ err,
+ callers(),
+ }
+}
+
+// WithMessage annotates err with a new message.
+// If err is nil, WithMessage returns nil.
+func WithMessage(err error, message string) error {
+ if err == nil {
+ return nil
+ }
+ return &withMessage{
+ cause: err,
+ msg: message,
+ }
+}
+
+type withMessage struct {
+ cause error
+ msg string
+}
+
+func (w *withMessage) Error() string { return w.msg + ": " + w.cause.Error() }
+func (w *withMessage) Cause() error { return w.cause }
+
+func (w *withMessage) Format(s fmt.State, verb rune) {
+ switch verb {
+ case 'v':
+ if s.Flag('+') {
+ fmt.Fprintf(s, "%+v\n", w.Cause())
+ io.WriteString(s, w.msg)
+ return
+ }
+ fallthrough
+ case 's', 'q':
+ io.WriteString(s, w.Error())
+ }
+}
+
+// Cause returns the underlying cause of the error, if possible.
+// An error value has a cause if it implements the following
+// interface:
+//
+// type causer interface {
+// Cause() error
+// }
+//
+// If the error does not implement Cause, the original error will
+// be returned. If the error is nil, nil will be returned without further
+// investigation.
+func Cause(err error) error {
+ type causer interface {
+ Cause() error
+ }
+
+ for err != nil {
+ cause, ok := err.(causer)
+ if !ok {
+ break
+ }
+ err = cause.Cause()
+ }
+ return err
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/stack.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/stack.go
new file mode 100644
index 00000000..cbe3f3e3
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/pkg/errors/stack.go
@@ -0,0 +1,186 @@
+package errors
+
+import (
+ "fmt"
+ "io"
+ "path"
+ "runtime"
+ "strings"
+)
+
+// Frame represents a program counter inside a stack frame.
+type Frame uintptr
+
+// pc returns the program counter for this frame;
+// multiple frames may have the same PC value.
+func (f Frame) pc() uintptr { return uintptr(f) - 1 }
+
+// file returns the full path to the file that contains the
+// function for this Frame's pc.
+func (f Frame) file() string {
+ fn := runtime.FuncForPC(f.pc())
+ if fn == nil {
+ return "unknown"
+ }
+ file, _ := fn.FileLine(f.pc())
+ return file
+}
+
+// line returns the line number of source code of the
+// function for this Frame's pc.
+func (f Frame) line() int {
+ fn := runtime.FuncForPC(f.pc())
+ if fn == nil {
+ return 0
+ }
+ _, line := fn.FileLine(f.pc())
+ return line
+}
+
+// Format formats the frame according to the fmt.Formatter interface.
+//
+// %s source file
+// %d source line
+// %n function name
+// %v equivalent to %s:%d
+//
+// Format accepts flags that alter the printing of some verbs, as follows:
+//
+// %+s path of source file relative to the compile time GOPATH
+// %+v equivalent to %+s:%d
+func (f Frame) Format(s fmt.State, verb rune) {
+ switch verb {
+ case 's':
+ switch {
+ case s.Flag('+'):
+ pc := f.pc()
+ fn := runtime.FuncForPC(pc)
+ if fn == nil {
+ io.WriteString(s, "unknown")
+ } else {
+ file, _ := fn.FileLine(pc)
+ fmt.Fprintf(s, "%s\n\t%s", fn.Name(), file)
+ }
+ default:
+ io.WriteString(s, path.Base(f.file()))
+ }
+ case 'd':
+ fmt.Fprintf(s, "%d", f.line())
+ case 'n':
+ name := runtime.FuncForPC(f.pc()).Name()
+ io.WriteString(s, funcname(name))
+ case 'v':
+ f.Format(s, 's')
+ io.WriteString(s, ":")
+ f.Format(s, 'd')
+ }
+}
+
+// StackTrace is stack of Frames from innermost (newest) to outermost (oldest).
+type StackTrace []Frame
+
+// Format formats the stack of Frames according to the fmt.Formatter interface.
+//
+// %s lists source files for each Frame in the stack
+// %v lists the source file and line number for each Frame in the stack
+//
+// Format accepts flags that alter the printing of some verbs, as follows:
+//
+// %+v Prints filename, function, and line number for each Frame in the stack.
+func (st StackTrace) Format(s fmt.State, verb rune) {
+ switch verb {
+ case 'v':
+ switch {
+ case s.Flag('+'):
+ for _, f := range st {
+ fmt.Fprintf(s, "\n%+v", f)
+ }
+ case s.Flag('#'):
+ fmt.Fprintf(s, "%#v", []Frame(st))
+ default:
+ fmt.Fprintf(s, "%v", []Frame(st))
+ }
+ case 's':
+ fmt.Fprintf(s, "%s", []Frame(st))
+ }
+}
+
+// stack represents a stack of program counters.
+type stack []uintptr
+
+func (s *stack) Format(st fmt.State, verb rune) {
+ switch verb {
+ case 'v':
+ switch {
+ case st.Flag('+'):
+ for _, pc := range *s {
+ f := Frame(pc)
+ fmt.Fprintf(st, "\n%+v", f)
+ }
+ }
+ }
+}
+
+func (s *stack) StackTrace() StackTrace {
+ f := make([]Frame, len(*s))
+ for i := 0; i < len(f); i++ {
+ f[i] = Frame((*s)[i])
+ }
+ return f
+}
+
+func callers() *stack {
+ const depth = 32
+ var pcs [depth]uintptr
+ n := runtime.Callers(3, pcs[:])
+ var st stack = pcs[0:n]
+ return &st
+}
+
+// funcname removes the path prefix component of a function's name reported by func.Name().
+func funcname(name string) string {
+ i := strings.LastIndex(name, "/")
+ name = name[i+1:]
+ i = strings.Index(name, ".")
+ return name[i+1:]
+}
+
+func trimGOPATH(name, file string) string {
+ // Here we want to get the source file path relative to the compile time
+ // GOPATH. As of Go 1.6.x there is no direct way to know the compiled
+ // GOPATH at runtime, but we can infer the number of path segments in the
+ // GOPATH. We note that fn.Name() returns the function name qualified by
+ // the import path, which does not include the GOPATH. Thus we can trim
+ // segments from the beginning of the file path until the number of path
+ // separators remaining is one more than the number of path separators in
+ // the function name. For example, given:
+ //
+ // GOPATH /home/user
+ // file /home/user/src/pkg/sub/file.go
+ // fn.Name() pkg/sub.Type.Method
+ //
+ // We want to produce:
+ //
+ // pkg/sub/file.go
+ //
+ // From this we can easily see that fn.Name() has one less path separator
+ // than our desired output. We count separators from the end of the file
+ // path until it finds two more than in the function name and then move
+ // one character forward to preserve the initial path segment without a
+ // leading separator.
+ const sep = "/"
+ goal := strings.Count(name, sep) + 2
+ i := len(file)
+ for n := 0; n < goal; n++ {
+ i = strings.LastIndex(file[:i], sep)
+ if i == -1 {
+ // not enough separators found, set i so that the slice expression
+ // below leaves file unmodified
+ i = -len(sep)
+ break
+ }
+ }
+ // get back to 0 or trim the leading separator
+ file = file[i+len(sep):]
+ return file
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/LICENSE.txt b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/LICENSE.txt
new file mode 100644
index 00000000..16249b4a
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2017 Eyal Posener
+
+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. \ No newline at end of file
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/args.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/args.go
new file mode 100644
index 00000000..73c356d7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/args.go
@@ -0,0 +1,75 @@
+package complete
+
+import (
+ "os"
+ "path/filepath"
+)
+
+// Args describes command line arguments
+type Args struct {
+ // All lists of all arguments in command line (not including the command itself)
+ All []string
+ // Completed lists of all completed arguments in command line,
+ // If the last one is still being typed - no space after it,
+ // it won't appear in this list of arguments.
+ Completed []string
+ // Last argument in command line, the one being typed, if the last
+ // character in the command line is a space, this argument will be empty,
+ // otherwise this would be the last word.
+ Last string
+ // LastCompleted is the last argument that was fully typed.
+ // If the last character in the command line is space, this would be the
+ // last word, otherwise, it would be the word before that.
+ LastCompleted string
+}
+
+// Directory gives the directory of the current written
+// last argument if it represents a file name being written.
+// in case that it is not, we fall back to the current directory.
+func (a Args) Directory() string {
+ if info, err := os.Stat(a.Last); err == nil && info.IsDir() {
+ return fixPathForm(a.Last, a.Last)
+ }
+ dir := filepath.Dir(a.Last)
+ if info, err := os.Stat(dir); err != nil || !info.IsDir() {
+ return "./"
+ }
+ return fixPathForm(a.Last, dir)
+}
+
+func newArgs(line []string) Args {
+ completed := removeLast(line[1:])
+ return Args{
+ All: line[1:],
+ Completed: completed,
+ Last: last(line),
+ LastCompleted: last(completed),
+ }
+}
+
+func (a Args) from(i int) Args {
+ if i > len(a.All) {
+ i = len(a.All)
+ }
+ a.All = a.All[i:]
+
+ if i > len(a.Completed) {
+ i = len(a.Completed)
+ }
+ a.Completed = a.Completed[i:]
+ return a
+}
+
+func removeLast(a []string) []string {
+ if len(a) > 0 {
+ return a[:len(a)-1]
+ }
+ return a
+}
+
+func last(args []string) (last string) {
+ if len(args) > 0 {
+ last = args[len(args)-1]
+ }
+ return
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/cmd.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/cmd.go
new file mode 100644
index 00000000..7137dee1
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/cmd.go
@@ -0,0 +1,128 @@
+// Package cmd used for command line options for the complete tool
+package cmd
+
+import (
+ "errors"
+ "flag"
+ "fmt"
+ "os"
+ "strings"
+
+ "github.com/posener/complete/cmd/install"
+)
+
+// CLI for command line
+type CLI struct {
+ Name string
+ InstallName string
+ UninstallName string
+
+ install bool
+ uninstall bool
+ yes bool
+}
+
+const (
+ defaultInstallName = "install"
+ defaultUninstallName = "uninstall"
+)
+
+// Run is used when running complete in command line mode.
+// this is used when the complete is not completing words, but to
+// install it or uninstall it.
+func (f *CLI) Run() bool {
+ err := f.validate()
+ if err != nil {
+ os.Stderr.WriteString(err.Error() + "\n")
+ os.Exit(1)
+ }
+
+ switch {
+ case f.install:
+ f.prompt()
+ err = install.Install(f.Name)
+ case f.uninstall:
+ f.prompt()
+ err = install.Uninstall(f.Name)
+ default:
+ // non of the action flags matched,
+ // returning false should make the real program execute
+ return false
+ }
+
+ if err != nil {
+ fmt.Printf("%s failed! %s\n", f.action(), err)
+ os.Exit(3)
+ }
+ fmt.Println("Done!")
+ return true
+}
+
+// prompt use for approval
+// exit if approval was not given
+func (f *CLI) prompt() {
+ defer fmt.Println(f.action() + "ing...")
+ if f.yes {
+ return
+ }
+ fmt.Printf("%s completion for %s? ", f.action(), f.Name)
+ var answer string
+ fmt.Scanln(&answer)
+
+ switch strings.ToLower(answer) {
+ case "y", "yes":
+ return
+ default:
+ fmt.Println("Cancelling...")
+ os.Exit(1)
+ }
+}
+
+// AddFlags adds the CLI flags to the flag set.
+// If flags is nil, the default command line flags will be taken.
+// Pass non-empty strings as installName and uninstallName to override the default
+// flag names.
+func (f *CLI) AddFlags(flags *flag.FlagSet) {
+ if flags == nil {
+ flags = flag.CommandLine
+ }
+
+ if f.InstallName == "" {
+ f.InstallName = defaultInstallName
+ }
+ if f.UninstallName == "" {
+ f.UninstallName = defaultUninstallName
+ }
+
+ if flags.Lookup(f.InstallName) == nil {
+ flags.BoolVar(&f.install, f.InstallName, false,
+ fmt.Sprintf("Install completion for %s command", f.Name))
+ }
+ if flags.Lookup(f.UninstallName) == nil {
+ flags.BoolVar(&f.uninstall, f.UninstallName, false,
+ fmt.Sprintf("Uninstall completion for %s command", f.Name))
+ }
+ if flags.Lookup("y") == nil {
+ flags.BoolVar(&f.yes, "y", false, "Don't prompt user for typing 'yes'")
+ }
+}
+
+// validate the CLI
+func (f *CLI) validate() error {
+ if f.install && f.uninstall {
+ return errors.New("Install and uninstall are mutually exclusive")
+ }
+ return nil
+}
+
+// action name according to the CLI values.
+func (f *CLI) action() string {
+ switch {
+ case f.install:
+ return "Install"
+ case f.uninstall:
+ return "Uninstall"
+ default:
+ return "unknown"
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/bash.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/bash.go
new file mode 100644
index 00000000..a287f998
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/bash.go
@@ -0,0 +1,32 @@
+package install
+
+import "fmt"
+
+// (un)install in bash
+// basically adds/remove from .bashrc:
+//
+// complete -C </path/to/completion/command> <command>
+type bash struct {
+ rc string
+}
+
+func (b bash) Install(cmd, bin string) error {
+ completeCmd := b.cmd(cmd, bin)
+ if lineInFile(b.rc, completeCmd) {
+ return fmt.Errorf("already installed in %s", b.rc)
+ }
+ return appendToFile(b.rc, completeCmd)
+}
+
+func (b bash) Uninstall(cmd, bin string) error {
+ completeCmd := b.cmd(cmd, bin)
+ if !lineInFile(b.rc, completeCmd) {
+ return fmt.Errorf("does not installed in %s", b.rc)
+ }
+
+ return removeFromFile(b.rc, completeCmd)
+}
+
+func (bash) cmd(cmd, bin string) string {
+ return fmt.Sprintf("complete -C %s %s", bin, cmd)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/install.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/install.go
new file mode 100644
index 00000000..fb44b2b7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/install.go
@@ -0,0 +1,92 @@
+package install
+
+import (
+ "errors"
+ "os"
+ "os/user"
+ "path/filepath"
+
+ "github.com/hashicorp/go-multierror"
+)
+
+type installer interface {
+ Install(cmd, bin string) error
+ Uninstall(cmd, bin string) error
+}
+
+// Install complete command given:
+// cmd: is the command name
+func Install(cmd string) error {
+ is := installers()
+ if len(is) == 0 {
+ return errors.New("Did not found any shells to install")
+ }
+ bin, err := getBinaryPath()
+ if err != nil {
+ return err
+ }
+
+ for _, i := range is {
+ errI := i.Install(cmd, bin)
+ if errI != nil {
+ err = multierror.Append(err, errI)
+ }
+ }
+
+ return err
+}
+
+// Uninstall complete command given:
+// cmd: is the command name
+func Uninstall(cmd string) error {
+ is := installers()
+ if len(is) == 0 {
+ return errors.New("Did not found any shells to uninstall")
+ }
+ bin, err := getBinaryPath()
+ if err != nil {
+ return err
+ }
+
+ for _, i := range is {
+ errI := i.Uninstall(cmd, bin)
+ if errI != nil {
+ multierror.Append(err, errI)
+ }
+ }
+
+ return err
+}
+
+func installers() (i []installer) {
+ for _, rc := range [...]string{".bashrc", ".bash_profile"} {
+ if f := rcFile(rc); f != "" {
+ i = append(i, bash{f})
+ break
+ }
+ }
+ if f := rcFile(".zshrc"); f != "" {
+ i = append(i, zsh{f})
+ }
+ return
+}
+
+func getBinaryPath() (string, error) {
+ bin, err := os.Executable()
+ if err != nil {
+ return "", err
+ }
+ return filepath.Abs(bin)
+}
+
+func rcFile(name string) string {
+ u, err := user.Current()
+ if err != nil {
+ return ""
+ }
+ path := filepath.Join(u.HomeDir, name)
+ if _, err := os.Stat(path); err != nil {
+ return ""
+ }
+ return path
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/utils.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/utils.go
new file mode 100644
index 00000000..2c8b44ca
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/utils.go
@@ -0,0 +1,118 @@
+package install
+
+import (
+ "bufio"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "os"
+)
+
+func lineInFile(name string, lookFor string) bool {
+ f, err := os.Open(name)
+ if err != nil {
+ return false
+ }
+ defer f.Close()
+ r := bufio.NewReader(f)
+ prefix := []byte{}
+ for {
+ line, isPrefix, err := r.ReadLine()
+ if err == io.EOF {
+ return false
+ }
+ if err != nil {
+ return false
+ }
+ if isPrefix {
+ prefix = append(prefix, line...)
+ continue
+ }
+ line = append(prefix, line...)
+ if string(line) == lookFor {
+ return true
+ }
+ prefix = prefix[:0]
+ }
+}
+
+func appendToFile(name string, content string) error {
+ f, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+ _, err = f.WriteString(fmt.Sprintf("\n%s\n", content))
+ return err
+}
+
+func removeFromFile(name string, content string) error {
+ backup := name + ".bck"
+ err := copyFile(name, backup)
+ if err != nil {
+ return err
+ }
+ temp, err := removeContentToTempFile(name, content)
+ if err != nil {
+ return err
+ }
+
+ err = copyFile(temp, name)
+ if err != nil {
+ return err
+ }
+
+ return os.Remove(backup)
+}
+
+func removeContentToTempFile(name, content string) (string, error) {
+ rf, err := os.Open(name)
+ if err != nil {
+ return "", err
+ }
+ defer rf.Close()
+ wf, err := ioutil.TempFile("/tmp", "complete-")
+ if err != nil {
+ return "", err
+ }
+ defer wf.Close()
+
+ r := bufio.NewReader(rf)
+ prefix := []byte{}
+ for {
+ line, isPrefix, err := r.ReadLine()
+ if err == io.EOF {
+ break
+ }
+ if err != nil {
+ return "", err
+ }
+ if isPrefix {
+ prefix = append(prefix, line...)
+ continue
+ }
+ line = append(prefix, line...)
+ str := string(line)
+ if str == content {
+ continue
+ }
+ wf.WriteString(str + "\n")
+ prefix = prefix[:0]
+ }
+ return wf.Name(), nil
+}
+
+func copyFile(src string, dst string) error {
+ in, err := os.Open(src)
+ if err != nil {
+ return err
+ }
+ defer in.Close()
+ out, err := os.Create(dst)
+ if err != nil {
+ return err
+ }
+ defer out.Close()
+ _, err = io.Copy(out, in)
+ return err
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/zsh.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/zsh.go
new file mode 100644
index 00000000..9ece7799
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/cmd/install/zsh.go
@@ -0,0 +1,39 @@
+package install
+
+import "fmt"
+
+// (un)install in zsh
+// basically adds/remove from .zshrc:
+//
+// autoload -U +X bashcompinit && bashcompinit"
+// complete -C </path/to/completion/command> <command>
+type zsh struct {
+ rc string
+}
+
+func (z zsh) Install(cmd, bin string) error {
+ completeCmd := z.cmd(cmd, bin)
+ if lineInFile(z.rc, completeCmd) {
+ return fmt.Errorf("already installed in %s", z.rc)
+ }
+
+ bashCompInit := "autoload -U +X bashcompinit && bashcompinit"
+ if !lineInFile(z.rc, bashCompInit) {
+ completeCmd = bashCompInit + "\n" + completeCmd
+ }
+
+ return appendToFile(z.rc, completeCmd)
+}
+
+func (z zsh) Uninstall(cmd, bin string) error {
+ completeCmd := z.cmd(cmd, bin)
+ if !lineInFile(z.rc, completeCmd) {
+ return fmt.Errorf("does not installed in %s", z.rc)
+ }
+
+ return removeFromFile(z.rc, completeCmd)
+}
+
+func (zsh) cmd(cmd, bin string) string {
+ return fmt.Sprintf("complete -C %s %s", bin, cmd)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/command.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/command.go
new file mode 100644
index 00000000..eeeb9e02
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/command.go
@@ -0,0 +1,106 @@
+package complete
+
+import "github.com/posener/complete/match"
+
+// Command represents a command line
+// It holds the data that enables auto completion of command line
+// Command can also be a sub command.
+type Command struct {
+ // Sub is map of sub commands of the current command
+ // The key refer to the sub command name, and the value is it's
+ // Command descriptive struct.
+ Sub Commands
+
+ // Flags is a map of flags that the command accepts.
+ // The key is the flag name, and the value is it's predictions.
+ Flags Flags
+
+ // GlobalFlags is a map of flags that the command accepts.
+ // Global flags that can appear also after a sub command.
+ GlobalFlags Flags
+
+ // Args are extra arguments that the command accepts, those who are
+ // given without any flag before.
+ Args Predictor
+}
+
+// Predict returns all possible predictions for args according to the command struct
+func (c *Command) Predict(a Args) (predictions []string) {
+ predictions, _ = c.predict(a)
+ return
+}
+
+// Commands is the type of Sub member, it maps a command name to a command struct
+type Commands map[string]Command
+
+// Predict completion of sub command names names according to command line arguments
+func (c Commands) Predict(a Args) (prediction []string) {
+ for sub := range c {
+ if match.Prefix(sub, a.Last) {
+ prediction = append(prediction, sub)
+ }
+ }
+ return
+}
+
+// Flags is the type Flags of the Flags member, it maps a flag name to the flag predictions.
+type Flags map[string]Predictor
+
+// Predict completion of flags names according to command line arguments
+func (f Flags) Predict(a Args) (prediction []string) {
+ for flag := range f {
+ if match.Prefix(flag, a.Last) {
+ prediction = append(prediction, flag)
+ }
+ }
+ return
+}
+
+// predict options
+// only is set to true if no more options are allowed to be returned
+// those are in cases of special flag that has specific completion arguments,
+// and other flags or sub commands can't come after it.
+func (c *Command) predict(a Args) (options []string, only bool) {
+
+ // search sub commands for predictions first
+ subCommandFound := false
+ for i, arg := range a.Completed {
+ if cmd, ok := c.Sub[arg]; ok {
+ subCommandFound = true
+
+ // recursive call for sub command
+ options, only = cmd.predict(a.from(i))
+ if only {
+ return
+ }
+ }
+ }
+
+ // if last completed word is a global flag that we need to complete
+ if predictor, ok := c.GlobalFlags[a.LastCompleted]; ok && predictor != nil {
+ Log("Predicting according to global flag %s", a.LastCompleted)
+ return predictor.Predict(a), true
+ }
+
+ options = append(options, c.GlobalFlags.Predict(a)...)
+
+ // if a sub command was entered, we won't add the parent command
+ // completions and we return here.
+ if subCommandFound {
+ return
+ }
+
+ // if last completed word is a command flag that we need to complete
+ if predictor, ok := c.Flags[a.LastCompleted]; ok && predictor != nil {
+ Log("Predicting according to flag %s", a.LastCompleted)
+ return predictor.Predict(a), true
+ }
+
+ options = append(options, c.Sub.Predict(a)...)
+ options = append(options, c.Flags.Predict(a)...)
+ if c.Args != nil {
+ options = append(options, c.Args.Predict(a)...)
+ }
+
+ return
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/complete.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/complete.go
new file mode 100644
index 00000000..1df66170
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/complete.go
@@ -0,0 +1,86 @@
+// Package complete provides a tool for bash writing bash completion in go.
+//
+// Writing bash completion scripts is a hard work. This package provides an easy way
+// to create bash completion scripts for any command, and also an easy way to install/uninstall
+// the completion of the command.
+package complete
+
+import (
+ "flag"
+ "fmt"
+ "os"
+ "strings"
+
+ "github.com/posener/complete/cmd"
+)
+
+const (
+ envComplete = "COMP_LINE"
+ envDebug = "COMP_DEBUG"
+)
+
+// Complete structs define completion for a command with CLI options
+type Complete struct {
+ Command Command
+ cmd.CLI
+}
+
+// New creates a new complete command.
+// name is the name of command we want to auto complete.
+// IMPORTANT: it must be the same name - if the auto complete
+// completes the 'go' command, name must be equal to "go".
+// command is the struct of the command completion.
+func New(name string, command Command) *Complete {
+ return &Complete{
+ Command: command,
+ CLI: cmd.CLI{Name: name},
+ }
+}
+
+// Run runs the completion and add installation flags beforehand.
+// The flags are added to the main flag CommandLine variable.
+func (c *Complete) Run() bool {
+ c.AddFlags(nil)
+ flag.Parse()
+ return c.Complete()
+}
+
+// Complete a command from completion line in environment variable,
+// and print out the complete options.
+// returns success if the completion ran or if the cli matched
+// any of the given flags, false otherwise
+// For installation: it assumes that flags were added and parsed before
+// it was called.
+func (c *Complete) Complete() bool {
+ line, ok := getLine()
+ if !ok {
+ // make sure flags parsed,
+ // in case they were not added in the main program
+ return c.CLI.Run()
+ }
+ Log("Completing line: %s", line)
+
+ a := newArgs(line)
+
+ options := c.Command.Predict(a)
+
+ Log("Completion: %s", options)
+ output(options)
+ return true
+}
+
+func getLine() ([]string, bool) {
+ line := os.Getenv(envComplete)
+ if line == "" {
+ return nil, false
+ }
+ return strings.Split(line, " "), true
+}
+
+func output(options []string) {
+ Log("")
+ // stdout of program defines the complete options
+ for _, option := range options {
+ fmt.Println(option)
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/log.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/log.go
new file mode 100644
index 00000000..797a80ce
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/log.go
@@ -0,0 +1,23 @@
+package complete
+
+import (
+ "io"
+ "io/ioutil"
+ "log"
+ "os"
+)
+
+// Log is used for debugging purposes
+// since complete is running on tab completion, it is nice to
+// have logs to the stderr (when writing your own completer)
+// to write logs, set the COMP_DEBUG environment variable and
+// use complete.Log in the complete program
+var Log = getLogger()
+
+func getLogger() func(format string, args ...interface{}) {
+ var logfile io.Writer = ioutil.Discard
+ if os.Getenv(envDebug) != "" {
+ logfile = os.Stderr
+ }
+ return log.New(logfile, "complete ", log.Flags()).Printf
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/file.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/file.go
new file mode 100644
index 00000000..051171e8
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/file.go
@@ -0,0 +1,19 @@
+package match
+
+import "strings"
+
+// File returns true if prefix can match the file
+func File(file, prefix string) bool {
+ // special case for current directory completion
+ if file == "./" && (prefix == "." || prefix == "") {
+ return true
+ }
+ if prefix == "." && strings.HasPrefix(file, ".") {
+ return true
+ }
+
+ file = strings.TrimPrefix(file, "./")
+ prefix = strings.TrimPrefix(prefix, "./")
+
+ return strings.HasPrefix(file, prefix)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/match.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/match.go
new file mode 100644
index 00000000..812fcac9
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/match.go
@@ -0,0 +1,6 @@
+package match
+
+// Match matches two strings
+// it is used for comparing a term to the last typed
+// word, the prefix, and see if it is a possible auto complete option.
+type Match func(term, prefix string) bool
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/prefix.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/prefix.go
new file mode 100644
index 00000000..9a01ba63
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/match/prefix.go
@@ -0,0 +1,9 @@
+package match
+
+import "strings"
+
+// Prefix is a simple Matcher, if the word is it's prefix, there is a match
+// Match returns true if a has the prefix as prefix
+func Prefix(long, prefix string) bool {
+ return strings.HasPrefix(long, prefix)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/metalinter.json b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/metalinter.json
new file mode 100644
index 00000000..799c1d03
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/metalinter.json
@@ -0,0 +1,21 @@
+{
+ "Vendor": true,
+ "DisableAll": true,
+ "Enable": [
+ "gofmt",
+ "goimports",
+ "interfacer",
+ "goconst",
+ "misspell",
+ "unconvert",
+ "gosimple",
+ "golint",
+ "structcheck",
+ "deadcode",
+ "vet"
+ ],
+ "Exclude": [
+ "initTests is unused"
+ ],
+ "Deadline": "2m"
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict.go
new file mode 100644
index 00000000..82070632
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict.go
@@ -0,0 +1,41 @@
+package complete
+
+// Predictor implements a predict method, in which given
+// command line arguments returns a list of options it predicts.
+type Predictor interface {
+ Predict(Args) []string
+}
+
+// PredictOr unions two predicate functions, so that the result predicate
+// returns the union of their predication
+func PredictOr(predictors ...Predictor) Predictor {
+ return PredictFunc(func(a Args) (prediction []string) {
+ for _, p := range predictors {
+ if p == nil {
+ continue
+ }
+ prediction = append(prediction, p.Predict(a)...)
+ }
+ return
+ })
+}
+
+// PredictFunc determines what terms can follow a command or a flag
+// It is used for auto completion, given last - the last word in the already
+// in the command line, what words can complete it.
+type PredictFunc func(Args) []string
+
+// Predict invokes the predict function and implements the Predictor interface
+func (p PredictFunc) Predict(a Args) []string {
+ if p == nil {
+ return nil
+ }
+ return p(a)
+}
+
+// PredictNothing does not expect anything after.
+var PredictNothing Predictor
+
+// PredictAnything expects something, but nothing particular, such as a number
+// or arbitrary name.
+var PredictAnything = PredictFunc(func(Args) []string { return nil })
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_files.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_files.go
new file mode 100644
index 00000000..c8adf7e8
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_files.go
@@ -0,0 +1,108 @@
+package complete
+
+import (
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "github.com/posener/complete/match"
+)
+
+// PredictDirs will search for directories in the given started to be typed
+// path, if no path was started to be typed, it will complete to directories
+// in the current working directory.
+func PredictDirs(pattern string) Predictor {
+ return files(pattern, false)
+}
+
+// PredictFiles will search for files matching the given pattern in the started to
+// be typed path, if no path was started to be typed, it will complete to files that
+// match the pattern in the current working directory.
+// To match any file, use "*" as pattern. To match go files use "*.go", and so on.
+func PredictFiles(pattern string) Predictor {
+ return files(pattern, true)
+}
+
+func files(pattern string, allowFiles bool) PredictFunc {
+
+ // search for files according to arguments,
+ // if only one directory has matched the result, search recursively into
+ // this directory to give more results.
+ return func(a Args) (prediction []string) {
+ prediction = predictFiles(a, pattern, allowFiles)
+
+ // if the number of prediction is not 1, we either have many results or
+ // have no results, so we return it.
+ if len(prediction) != 1 {
+ return
+ }
+
+ // only try deeper, if the one item is a directory
+ if stat, err := os.Stat(prediction[0]); err != nil || !stat.IsDir() {
+ return
+ }
+
+ a.Last = prediction[0]
+ return predictFiles(a, pattern, allowFiles)
+ }
+}
+
+func predictFiles(a Args, pattern string, allowFiles bool) []string {
+ if strings.HasSuffix(a.Last, "/..") {
+ return nil
+ }
+
+ dir := a.Directory()
+ files := listFiles(dir, pattern, allowFiles)
+
+ // add dir if match
+ files = append(files, dir)
+
+ return PredictFilesSet(files).Predict(a)
+}
+
+// PredictFilesSet predict according to file rules to a given set of file names
+func PredictFilesSet(files []string) PredictFunc {
+ return func(a Args) (prediction []string) {
+ // add all matching files to prediction
+ for _, f := range files {
+ f = fixPathForm(a.Last, f)
+
+ // test matching of file to the argument
+ if match.File(f, a.Last) {
+ prediction = append(prediction, f)
+ }
+ }
+ return
+ }
+}
+
+func listFiles(dir, pattern string, allowFiles bool) []string {
+ // set of all file names
+ m := map[string]bool{}
+
+ // list files
+ if files, err := filepath.Glob(filepath.Join(dir, pattern)); err == nil {
+ for _, f := range files {
+ if stat, err := os.Stat(f); err != nil || stat.IsDir() || allowFiles {
+ m[f] = true
+ }
+ }
+ }
+
+ // list directories
+ if dirs, err := ioutil.ReadDir(dir); err == nil {
+ for _, d := range dirs {
+ if d.IsDir() {
+ m[filepath.Join(dir, d.Name())] = true
+ }
+ }
+ }
+
+ list := make([]string, 0, len(m))
+ for k := range m {
+ list = append(list, k)
+ }
+ return list
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_set.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_set.go
new file mode 100644
index 00000000..8fc59d71
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/predict_set.go
@@ -0,0 +1,19 @@
+package complete
+
+import "github.com/posener/complete/match"
+
+// PredictSet expects specific set of terms, given in the options argument.
+func PredictSet(options ...string) Predictor {
+ return predictSet(options)
+}
+
+type predictSet []string
+
+func (p predictSet) Predict(a Args) (prediction []string) {
+ for _, m := range p {
+ if match.Prefix(m, a.Last) {
+ prediction = append(prediction, m)
+ }
+ }
+ return
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/readme.md b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/readme.md
new file mode 100644
index 00000000..74077e35
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/readme.md
@@ -0,0 +1,116 @@
+# complete
+
+[![Build Status](https://travis-ci.org/posener/complete.svg?branch=master)](https://travis-ci.org/posener/complete)
+[![codecov](https://codecov.io/gh/posener/complete/branch/master/graph/badge.svg)](https://codecov.io/gh/posener/complete)
+[![GoDoc](https://godoc.org/github.com/posener/complete?status.svg)](http://godoc.org/github.com/posener/complete)
+[![Go Report Card](https://goreportcard.com/badge/github.com/posener/complete)](https://goreportcard.com/report/github.com/posener/complete)
+
+A tool for bash writing bash completion in go.
+
+Writing bash completion scripts is a hard work. This package provides an easy way
+to create bash completion scripts for any command, and also an easy way to install/uninstall
+the completion of the command.
+
+## go command bash completion
+
+In [gocomplete](./gocomplete) there is an example for bash completion for the `go` command line.
+
+This is an example that uses the `complete` package on the `go` command - the `complete` package
+can also be used to implement any completions, see [Usage](#usage).
+
+### Install
+
+1. Type in your shell:
+```
+go get -u github.com/posener/complete/gocomplete
+gocomplete -install
+```
+
+2. Restart your shell
+
+Uninstall by `gocomplete -uninstall`
+
+### Features
+
+- Complete `go` command, including sub commands and all flags.
+- Complete packages names or `.go` files when necessary.
+- Complete test names after `-run` flag.
+
+## complete package
+
+Supported shells:
+
+- [x] bash
+- [x] zsh
+
+### Usage
+
+Assuming you have program called `run` and you want to have bash completion
+for it, meaning, if you type `run` then space, then press the `Tab` key,
+the shell will suggest relevant complete options.
+
+In that case, we will create a program called `runcomplete`, a go program,
+with a `func main()` and so, that will make the completion of the `run`
+program. Once the `runcomplete` will be in a binary form, we could
+`runcomplete -install` and that will add to our shell all the bash completion
+options for `run`.
+
+So here it is:
+
+```go
+import "github.com/posener/complete"
+
+func main() {
+
+ // create a Command object, that represents the command we want
+ // to complete.
+ run := complete.Command{
+
+ // Sub defines a list of sub commands of the program,
+ // this is recursive, since every command is of type command also.
+ Sub: complete.Commands{
+
+ // add a build sub command
+ "build": complete.Command {
+
+ // define flags of the build sub command
+ Flags: complete.Flags{
+ // build sub command has a flag '-cpus', which
+ // expects number of cpus after it. in that case
+ // anything could complete this flag.
+ "-cpus": complete.PredictAnything,
+ },
+ },
+ },
+
+ // define flags of the 'run' main command
+ Flags: complete.Flags{
+ // a flag -o, which expects a file ending with .out after
+ // it, the tab completion will auto complete for files matching
+ // the given pattern.
+ "-o": complete.PredictFiles("*.out"),
+ },
+
+ // define global flags of the 'run' main command
+ // those will show up also when a sub command was entered in the
+ // command line
+ GlobalFlags: complete.Flags{
+
+ // a flag '-h' which does not expects anything after it
+ "-h": complete.PredictNothing,
+ },
+ }
+
+ // run the command completion, as part of the main() function.
+ // this triggers the autocompletion when needed.
+ // name must be exactly as the binary that we want to complete.
+ complete.New("run", run).Run()
+}
+```
+
+### Self completing program
+
+In case that the program that we want to complete is written in go we
+can make it self completing.
+
+Here is an [example](./example/self/main.go)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/test.sh b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/test.sh
new file mode 100755
index 00000000..56bfcf15
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/test.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+echo "" > coverage.txt
+
+for d in $(go list ./... | grep -v vendor); do
+ go test -v -race -coverprofile=profile.out -covermode=atomic $d
+ if [ -f profile.out ]; then
+ cat profile.out >> coverage.txt
+ rm profile.out
+ fi
+done \ No newline at end of file
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/utils.go b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/utils.go
new file mode 100644
index 00000000..58b8b792
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/github.com/posener/complete/utils.go
@@ -0,0 +1,46 @@
+package complete
+
+import (
+ "os"
+ "path/filepath"
+ "strings"
+)
+
+// fixPathForm changes a file name to a relative name
+func fixPathForm(last string, file string) string {
+ // get wording directory for relative name
+ workDir, err := os.Getwd()
+ if err != nil {
+ return file
+ }
+
+ abs, err := filepath.Abs(file)
+ if err != nil {
+ return file
+ }
+
+ // if last is absolute, return path as absolute
+ if filepath.IsAbs(last) {
+ return fixDirPath(abs)
+ }
+
+ rel, err := filepath.Rel(workDir, abs)
+ if err != nil {
+ return file
+ }
+
+ // fix ./ prefix of path
+ if rel != "." && strings.HasPrefix(last, ".") {
+ rel = "./" + rel
+ }
+
+ return fixDirPath(rel)
+}
+
+func fixDirPath(path string) string {
+ info, err := os.Stat(path)
+ if err == nil && info.IsDir() && !strings.HasSuffix(path, "/") {
+ path += "/"
+ }
+ return path
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/ciphers.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/ciphers.go
new file mode 100644
index 00000000..698860b7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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
+// http://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/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/client_conn_pool.go
index b1394125..bdf5652b 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/client_conn_pool.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/client_conn_pool.go
@@ -247,7 +247,7 @@ func filterOutClientConn(in []*ClientConn, exclude *ClientConn) []*ClientConn {
}
// noDialClientConnPool is an implementation of http2.ClientConnPool
-// which never dials. We let the HTTP/1.1 client dial and use its TLS
+// which never dials. We let the HTTP/1.1 client dial and use its TLS
// connection instead.
type noDialClientConnPool struct{ *clientConnPool }
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/configure_transport.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/configure_transport.go
index 4f720f53..b65fc6d4 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/configure_transport.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/configure_transport.go
@@ -56,7 +56,7 @@ func configureTransport(t1 *http.Transport) (*Transport, error) {
}
// registerHTTPSProtocol calls Transport.RegisterProtocol but
-// convering panics into errors.
+// converting panics into errors.
func registerHTTPSProtocol(t *http.Transport, rt http.RoundTripper) (err error) {
defer func() {
if e := recover(); e != nil {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/databuffer.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/databuffer.go
new file mode 100644
index 00000000..a3067f8d
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/errors.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/errors.go
index 20fd7626..71f2c463 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/errors.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/errors.go
@@ -87,13 +87,16 @@ type goAwayFlowError struct{}
func (goAwayFlowError) Error() string { return "connection exceeded flow control window size" }
-// connErrorReason wraps a ConnectionError with an informative error about why it occurs.
-
+// 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(ErrCodeProtocol).
+// 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
- Reason string
+ Code ErrCode // the ConnectionError error code
+ Reason string // additional reason
}
func (e connError) Error() string {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/fixed_buffer.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/fixed_buffer.go
deleted file mode 100644
index 47da0f0b..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/fixed_buffer.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2014 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package http2
-
-import (
- "errors"
-)
-
-// fixedBuffer is an io.ReadWriter backed by a fixed size buffer.
-// It never allocates, but moves old data as new data is written.
-type fixedBuffer struct {
- buf []byte
- r, w int
-}
-
-var (
- errReadEmpty = errors.New("read from empty fixedBuffer")
- errWriteFull = errors.New("write on full fixedBuffer")
-)
-
-// Read copies bytes from the buffer into p.
-// It is an error to read when no data is available.
-func (b *fixedBuffer) Read(p []byte) (n int, err error) {
- if b.r == b.w {
- return 0, errReadEmpty
- }
- n = copy(p, b.buf[b.r:b.w])
- b.r += n
- if b.r == b.w {
- b.r = 0
- b.w = 0
- }
- return n, nil
-}
-
-// Len returns the number of bytes of the unread portion of the buffer.
-func (b *fixedBuffer) Len() int {
- return b.w - b.r
-}
-
-// Write copies bytes from p into the buffer.
-// It is an error to write more data than the buffer can hold.
-func (b *fixedBuffer) Write(p []byte) (n int, err error) {
- // Slide existing data to beginning.
- if b.r > 0 && len(p) > len(b.buf)-b.w {
- copy(b.buf, b.buf[b.r:b.w])
- b.w -= b.r
- b.r = 0
- }
-
- // Write new data.
- n = copy(b.buf[b.w:], p)
- b.w += n
- if n < len(p) {
- err = errWriteFull
- }
- return n, err
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/frame.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/frame.go
index 358833fe..3b148907 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/frame.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/frame.go
@@ -122,7 +122,7 @@ var flagName = map[FrameType]map[Flags]string{
// 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(fh FrameHeader, payload []byte) (Frame, error)
+type frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error)
var frameParsers = map[FrameType]frameParser{
FrameData: parseDataFrame,
@@ -312,7 +312,7 @@ type Framer struct {
MaxHeaderListSize uint32
// TODO: track which type of frame & with which flags was sent
- // last. Then return an error (unless AllowIllegalWrites) if
+ // last. Then return an error (unless AllowIllegalWrites) if
// we're in the middle of a header block and a
// non-Continuation or Continuation on a different stream is
// attempted to be written.
@@ -323,6 +323,8 @@ type Framer struct {
debugFramerBuf *bytes.Buffer
debugReadLoggerf func(string, ...interface{})
debugWriteLoggerf func(string, ...interface{})
+
+ frameCache *frameCache // nil if frames aren't reused (default)
}
func (fr *Framer) maxHeaderListSize() uint32 {
@@ -398,6 +400,27 @@ const (
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{
@@ -477,7 +500,7 @@ func (fr *Framer) ReadFrame() (Frame, error) {
if _, err := io.ReadFull(fr.r, payload); err != nil {
return nil, err
}
- f, err := typeFrameParser(fh.Type)(fh, payload)
+ 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)
@@ -565,7 +588,7 @@ func (f *DataFrame) Data() []byte {
return f.data
}
-func parseDataFrame(fh FrameHeader, payload []byte) (Frame, error) {
+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
@@ -574,9 +597,9 @@ func parseDataFrame(fh FrameHeader, payload []byte) (Frame, error) {
// PROTOCOL_ERROR.
return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"}
}
- f := &DataFrame{
- FrameHeader: fh,
- }
+ f := fc.getDataFrame()
+ f.FrameHeader = fh
+
var padSize byte
if fh.Flags.Has(FlagDataPadded) {
var err error
@@ -600,6 +623,7 @@ 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 {
@@ -623,6 +647,7 @@ func (f *Framer) WriteData(streamID uint32, endStream bool, data []byte) error {
//
// 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
@@ -631,8 +656,18 @@ func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []by
if !validStreamID(streamID) && !f.AllowIllegalWrites {
return errStreamID
}
- if len(pad) > 255 {
- return errPadLength
+ 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 {
@@ -660,10 +695,10 @@ type SettingsFrame struct {
p []byte
}
-func parseSettingsFrame(fh FrameHeader, p []byte) (Frame, error) {
+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 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
@@ -672,7 +707,7 @@ func parseSettingsFrame(fh FrameHeader, p []byte) (Frame, error) {
}
if fh.StreamID != 0 {
// SETTINGS frames always apply to a connection,
- // never a single stream. The stream identifier for a
+ // 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
@@ -762,7 +797,7 @@ type PingFrame struct {
func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) }
-func parsePingFrame(fh FrameHeader, payload []byte) (Frame, error) {
+func parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {
if len(payload) != 8 {
return nil, ConnectionError(ErrCodeFrameSize)
}
@@ -802,7 +837,7 @@ func (f *GoAwayFrame) DebugData() []byte {
return f.debugData
}
-func parseGoAwayFrame(fh FrameHeader, p []byte) (Frame, error) {
+func parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
if fh.StreamID != 0 {
return nil, ConnectionError(ErrCodeProtocol)
}
@@ -842,7 +877,7 @@ func (f *UnknownFrame) Payload() []byte {
return f.p
}
-func parseUnknownFrame(fh FrameHeader, p []byte) (Frame, error) {
+func parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
return &UnknownFrame{fh, p}, nil
}
@@ -853,7 +888,7 @@ type WindowUpdateFrame struct {
Increment uint32 // never read with high bit set
}
-func parseWindowUpdateFrame(fh FrameHeader, p []byte) (Frame, error) {
+func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
if len(p) != 4 {
return nil, ConnectionError(ErrCodeFrameSize)
}
@@ -918,12 +953,12 @@ func (f *HeadersFrame) HasPriority() bool {
return f.FrameHeader.Flags.Has(FlagHeadersPriority)
}
-func parseHeadersFrame(fh FrameHeader, p []byte) (_ Frame, err error) {
+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
+ // 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.
@@ -1045,7 +1080,7 @@ type PriorityParam struct {
Exclusive bool
// Weight is the stream's zero-indexed weight. It should be
- // set together with StreamDep, or neither should be set. Per
+ // 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
@@ -1055,7 +1090,7 @@ func (p PriorityParam) IsZero() bool {
return p == PriorityParam{}
}
-func parsePriorityFrame(fh FrameHeader, payload []byte) (Frame, error) {
+func parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {
if fh.StreamID == 0 {
return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"}
}
@@ -1102,7 +1137,7 @@ type RSTStreamFrame struct {
ErrCode ErrCode
}
-func parseRSTStreamFrame(fh FrameHeader, p []byte) (Frame, error) {
+func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
if len(p) != 4 {
return nil, ConnectionError(ErrCodeFrameSize)
}
@@ -1132,7 +1167,7 @@ type ContinuationFrame struct {
headerFragBuf []byte
}
-func parseContinuationFrame(fh FrameHeader, p []byte) (Frame, error) {
+func parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
if fh.StreamID == 0 {
return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"}
}
@@ -1182,7 +1217,7 @@ func (f *PushPromiseFrame) HeadersEnded() bool {
return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders)
}
-func parsePushPromise(fh FrameHeader, p []byte) (_ Frame, err error) {
+func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {
pp := &PushPromiseFrame{
FrameHeader: fh,
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go16.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go16.go
index 2b72855f..00b2e9e3 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go16.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go16.go
@@ -7,7 +7,6 @@
package http2
import (
- "crypto/tls"
"net/http"
"time"
)
@@ -15,29 +14,3 @@ import (
func transportExpectContinueTimeout(t1 *http.Transport) time.Duration {
return t1.ExpectContinueTimeout
}
-
-// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.
-func isBadCipher(cipher uint16) bool {
- switch cipher {
- case tls.TLS_RSA_WITH_RC4_128_SHA,
- tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
- tls.TLS_RSA_WITH_AES_128_CBC_SHA,
- tls.TLS_RSA_WITH_AES_256_CBC_SHA,
- tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
- tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
- tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA,
- tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
- // 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"
- return true
- default:
- return false
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go18.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go18.go
index 633202c3..4f30d228 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go18.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go18.go
@@ -12,7 +12,11 @@ import (
"net/http"
)
-func cloneTLSConfig(c *tls.Config) *tls.Config { return c.Clone() }
+func cloneTLSConfig(c *tls.Config) *tls.Config {
+ c2 := c.Clone()
+ c2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264
+ return c2
+}
var _ http.Pusher = (*responseWriter)(nil)
@@ -48,3 +52,5 @@ func reqGetBody(req *http.Request) func() (io.ReadCloser, error) {
func reqBodyIsNoBody(body io.ReadCloser) bool {
return body == http.NoBody
}
+
+func go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go19.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go19.go
new file mode 100644
index 00000000..38124ba5
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/go19.go
@@ -0,0 +1,16 @@
+// 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 go1.9
+
+package http2
+
+import (
+ "net/http"
+)
+
+func configureServer19(s *http.Server, conf *Server) error {
+ s.RegisterOnShutdown(conf.state.startGracefulShutdown)
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/encode.go
index f9bb0339..54726c2a 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/encode.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/encode.go
@@ -39,13 +39,14 @@ func NewEncoder(w io.Writer) *Encoder {
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.
+// if necessary. If produced, it is done before encoding f.
func (e *Encoder) WriteField(f HeaderField) error {
e.buf = e.buf[:0]
@@ -88,29 +89,17 @@ func (e *Encoder) WriteField(f HeaderField) error {
// only name matches, i points to that index and nameValueMatch
// becomes false.
func (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) {
- for idx, hf := range staticTable {
- if !constantTimeStringCompare(hf.Name, f.Name) {
- continue
- }
- if i == 0 {
- i = uint64(idx + 1)
- }
- if f.Sensitive {
- continue
- }
- if !constantTimeStringCompare(hf.Value, f.Value) {
- continue
- }
- i = uint64(idx + 1)
- nameValueMatch = true
- return
+ i, nameValueMatch = staticTable.search(f)
+ if nameValueMatch {
+ return i, true
}
- j, nameValueMatch := e.dynTab.search(f)
+ j, nameValueMatch := e.dynTab.table.search(f)
if nameValueMatch || (i == 0 && j != 0) {
- i = j + uint64(len(staticTable))
+ return j + uint64(staticTable.len()), nameValueMatch
}
- return
+
+ return i, false
}
// SetMaxDynamicTableSize changes the dynamic header table size to v.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/hpack.go
index 135b9f62..176644ac 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/hpack.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/hpack.go
@@ -61,7 +61,7 @@ func (hf HeaderField) String() string {
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
+ // 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
@@ -102,6 +102,7 @@ func NewDecoder(maxDynamicTableSize uint32, emitFunc func(f HeaderField)) *Decod
emit: emitFunc,
emitEnabled: true,
}
+ d.dynTab.table.init()
d.dynTab.allowedMaxSize = maxDynamicTableSize
d.dynTab.setMaxSize(maxDynamicTableSize)
return d
@@ -154,12 +155,9 @@ func (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) {
}
type dynamicTable struct {
- // ents is the FIFO described at
// http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2
- // The newest (low index) is append at the end, and items are
- // evicted from the front.
- ents []HeaderField
- size uint32
+ table headerFieldTable
+ size uint32 // in bytes
maxSize uint32 // current maxSize
allowedMaxSize uint32 // maxSize may go up to this, inclusive
}
@@ -169,95 +167,45 @@ func (dt *dynamicTable) setMaxSize(v uint32) {
dt.evict()
}
-// TODO: change dynamicTable to be a struct with a slice and a size int field,
-// per http://http2.github.io/http2-spec/compression.html#rfc.section.4.1:
-//
-//
-// Then make add increment the size. maybe the max size should move from Decoder to
-// dynamicTable and add should return an ok bool if there was enough space.
-//
-// Later we'll need a remove operation on dynamicTable.
-
func (dt *dynamicTable) add(f HeaderField) {
- dt.ents = append(dt.ents, f)
+ dt.table.addEntry(f)
dt.size += f.Size()
dt.evict()
}
-// If we're too big, evict old stuff (front of the slice)
+// If we're too big, evict old stuff.
func (dt *dynamicTable) evict() {
- base := dt.ents // keep base pointer of slice
- for dt.size > dt.maxSize {
- dt.size -= dt.ents[0].Size()
- dt.ents = dt.ents[1:]
- }
-
- // Shift slice contents down if we evicted things.
- if len(dt.ents) != len(base) {
- copy(base, dt.ents)
- dt.ents = base[:len(dt.ents)]
+ var n int
+ for dt.size > dt.maxSize && n < dt.table.len() {
+ dt.size -= dt.table.ents[n].Size()
+ n++
}
-}
-
-// constantTimeStringCompare compares string a and b in a constant
-// time manner.
-func constantTimeStringCompare(a, b string) bool {
- if len(a) != len(b) {
- return false
- }
-
- c := byte(0)
-
- for i := 0; i < len(a); i++ {
- c |= a[i] ^ b[i]
- }
-
- return c == 0
-}
-
-// Search searches f in the table. The return value i is 0 if there is
-// no name match. If there is name match or name/value match, i is the
-// index of that entry (1-based). If both name and value match,
-// nameValueMatch becomes true.
-func (dt *dynamicTable) search(f HeaderField) (i uint64, nameValueMatch bool) {
- l := len(dt.ents)
- for j := l - 1; j >= 0; j-- {
- ent := dt.ents[j]
- if !constantTimeStringCompare(ent.Name, f.Name) {
- continue
- }
- if i == 0 {
- i = uint64(l - j)
- }
- if f.Sensitive {
- continue
- }
- if !constantTimeStringCompare(ent.Value, f.Value) {
- continue
- }
- i = uint64(l - j)
- nameValueMatch = true
- return
- }
- return
+ dt.table.evictOldest(n)
}
func (d *Decoder) maxTableIndex() int {
- return len(d.dynTab.ents) + len(staticTable)
+ // 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) {
- if i < 1 {
+ // 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
}
- if i <= uint64(len(staticTable)) {
- return staticTable[i-1], true
- }
- dents := d.dynTab.ents
- return dents[len(dents)-(int(i)-len(staticTable))], true
+ // 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.
@@ -307,7 +255,7 @@ func (d *Decoder) Write(p []byte) (n int, err error) {
err = d.parseHeaderFieldRepr()
if err == errNeedMore {
// Extra paranoia, making sure saveBuf won't
- // get too large. All the varint and string
+ // 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.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/tables.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/tables.go
index b9283a02..a66cfbea 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/tables.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/hpack/tables.go
@@ -4,73 +4,200 @@
package hpack
-func pair(name, value string) HeaderField {
- return HeaderField{Name: name, Value: value}
+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 = [...]HeaderField{
- pair(":authority", ""), // index 1 (1-based)
- pair(":method", "GET"),
- pair(":method", "POST"),
- pair(":path", "/"),
- pair(":path", "/index.html"),
- pair(":scheme", "http"),
- pair(":scheme", "https"),
- pair(":status", "200"),
- pair(":status", "204"),
- pair(":status", "206"),
- pair(":status", "304"),
- pair(":status", "400"),
- pair(":status", "404"),
- pair(":status", "500"),
- pair("accept-charset", ""),
- pair("accept-encoding", "gzip, deflate"),
- pair("accept-language", ""),
- pair("accept-ranges", ""),
- pair("accept", ""),
- pair("access-control-allow-origin", ""),
- pair("age", ""),
- pair("allow", ""),
- pair("authorization", ""),
- pair("cache-control", ""),
- pair("content-disposition", ""),
- pair("content-encoding", ""),
- pair("content-language", ""),
- pair("content-length", ""),
- pair("content-location", ""),
- pair("content-range", ""),
- pair("content-type", ""),
- pair("cookie", ""),
- pair("date", ""),
- pair("etag", ""),
- pair("expect", ""),
- pair("expires", ""),
- pair("from", ""),
- pair("host", ""),
- pair("if-match", ""),
- pair("if-modified-since", ""),
- pair("if-none-match", ""),
- pair("if-range", ""),
- pair("if-unmodified-since", ""),
- pair("last-modified", ""),
- pair("link", ""),
- pair("location", ""),
- pair("max-forwards", ""),
- pair("proxy-authenticate", ""),
- pair("proxy-authorization", ""),
- pair("range", ""),
- pair("referer", ""),
- pair("refresh", ""),
- pair("retry-after", ""),
- pair("server", ""),
- pair("set-cookie", ""),
- pair("strict-transport-security", ""),
- pair("transfer-encoding", ""),
- pair("user-agent", ""),
- pair("vary", ""),
- pair("via", ""),
- pair("www-authenticate", ""),
+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{
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/http2.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/http2.go
index b6b0f9ad..d565f40e 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/http2.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/http2.go
@@ -376,12 +376,16 @@ func (s *sorter) SortStrings(ss []string) {
// validPseudoPath reports whether v is a valid :path pseudo-header
// value. It must be either:
//
-// *) a non-empty string starting with '/', but not with with "//",
+// *) 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] == '/' && (len(v) == 1 || v[1] != '/')) || v == "*"
+ return (len(v) > 0 && v[0] == '/') || v == "*"
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go16.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go16.go
index efd2e128..508cebcc 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go16.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go16.go
@@ -7,7 +7,6 @@
package http2
import (
- "crypto/tls"
"net/http"
"time"
)
@@ -20,27 +19,3 @@ func transportExpectContinueTimeout(t1 *http.Transport) time.Duration {
return 0
}
-
-// isBadCipher reports whether the cipher is blacklisted by the HTTP/2 spec.
-func isBadCipher(cipher uint16) bool {
- switch cipher {
- case tls.TLS_RSA_WITH_RC4_128_SHA,
- tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
- tls.TLS_RSA_WITH_AES_128_CBC_SHA,
- tls.TLS_RSA_WITH_AES_256_CBC_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA,
- tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:
- // 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"
- return true
- default:
- return false
- }
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go18.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go18.go
index efbf83c3..6f8d3f86 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go18.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go18.go
@@ -25,3 +25,5 @@ func reqGetBody(req *http.Request) func() (io.ReadCloser, error) {
}
func reqBodyIsNoBody(io.ReadCloser) bool { return false }
+
+func go18httpNoBody() io.ReadCloser { return nil } // for tests only
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go19.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go19.go
new file mode 100644
index 00000000..5ae07726
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/not_go19.go
@@ -0,0 +1,16 @@
+// 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.9
+
+package http2
+
+import (
+ "net/http"
+)
+
+func configureServer19(s *http.Server, conf *Server) error {
+ // not supported prior to go1.9
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/pipe.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/pipe.go
index 53b7a1da..a6140099 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/pipe.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/pipe.go
@@ -10,13 +10,13 @@ import (
"sync"
)
-// pipe is a goroutine-safe io.Reader/io.Writer pair. It's like
+// 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
+ 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
@@ -32,6 +32,9 @@ type pipeBuffer interface {
func (p *pipe) Len() int {
p.mu.Lock()
defer p.mu.Unlock()
+ if p.b == nil {
+ return 0
+ }
return p.b.Len()
}
@@ -47,7 +50,7 @@ func (p *pipe) Read(d []byte) (n int, err error) {
if p.breakErr != nil {
return 0, p.breakErr
}
- if p.b.Len() > 0 {
+ if p.b != nil && p.b.Len() > 0 {
return p.b.Read(d)
}
if p.err != nil {
@@ -55,6 +58,7 @@ func (p *pipe) Read(d []byte) (n int, err error) {
p.readFn() // e.g. copy trailers
p.readFn = nil // not sticky like p.err
}
+ p.b = nil
return 0, p.err
}
p.c.Wait()
@@ -75,6 +79,9 @@ func (p *pipe) Write(d []byte) (n int, err error) {
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)
}
@@ -109,6 +116,9 @@ func (p *pipe) closeWithError(dst *error, err error, fn func()) {
return
}
p.readFn = fn
+ if dst == &p.breakErr {
+ p.b = nil
+ }
*dst = err
p.closeDoneLocked()
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/server.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/server.go
index 3c6b90cc..eae143dd 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/server.go
@@ -110,9 +110,41 @@ type Server struct {
// 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 {
@@ -129,6 +161,40 @@ func (s *Server) maxConcurrentStreams() uint32 {
return defaultMaxStreams
}
+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.
@@ -141,9 +207,13 @@ func ConfigureServer(s *http.Server, conf *Server) error {
if conf == nil {
conf = new(Server)
}
+ conf.state = &serverInternalState{activeConns: make(map[*serverConn]struct{})}
if err := configureServer18(s, conf); err != nil {
return err
}
+ if err := configureServer19(s, conf); err != nil {
+ return err
+ }
if s.TLSConfig == nil {
s.TLSConfig = new(tls.Config)
@@ -255,35 +325,37 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {
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),
- wantStartPushCh: make(chan startPushRequest, 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(),
- initialWindowSize: initialWindowSize,
- maxFrameSize: initialMaxFrameSize,
- headerTableSize: initialHeaderTableSize,
- serveG: newGoroutineLock(),
- pushEnabled: true,
- }
+ 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. Disarm it here so that it is not applied to additional
- // streams opened on this connection.
- // TODO: implement WriteTimeout fully. See Issue 18437.
+ // 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{})
}
@@ -294,6 +366,9 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) {
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)
@@ -376,10 +451,9 @@ type serverConn struct {
doneServing chan struct{} // closed when serverConn.serve ends
readFrameCh chan readFrameResult // written by serverConn.readFrames
wantWriteFrameCh chan FrameWriteRequest // from handlers -> serve
- wantStartPushCh chan startPushRequest // from handlers -> serve
wroteFrameCh chan frameWriteResult // from writeFrameAsync -> serve, tickles more frame writes
bodyReadCh chan bodyReadMsg // from handlers -> serve
- testHookCh chan func(int) // code to run on the serve loop
+ 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
@@ -387,38 +461,39 @@ type serverConn struct {
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?
- 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
- initialWindowSize 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
- shutdownTimerCh <-chan time.Time // nil until used
- shutdownTimer *time.Timer // nil until used
- idleTimer *time.Timer // nil if unused
- idleTimerCh <-chan time.Time // nil if unused
+ 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?
+ 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 {
@@ -463,10 +538,10 @@ type stream struct {
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)
- reqBuf []byte // if non-nil, body pipe buffer to return later at EOF
+ 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
@@ -696,48 +771,48 @@ func (sc *serverConn) serve() {
{SettingMaxFrameSize, sc.srv.maxReadFrameSize()},
{SettingMaxConcurrentStreams, sc.advMaxStreams},
{SettingMaxHeaderListSize, sc.maxHeaderListSize()},
-
- // TODO: more actual settings, notably
- // SettingInitialWindowSize, but then we also
- // want to bump up the conn window size the
- // same amount here right after the settings
+ {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.
+ // "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.NewTimer(sc.srv.IdleTimeout)
+ sc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer)
defer sc.idleTimer.Stop()
- sc.idleTimerCh = sc.idleTimer.C
- }
-
- var gracefulShutdownCh <-chan struct{}
- if sc.hs != nil {
- gracefulShutdownCh = h1ServerShutdownChan(sc.hs)
}
go sc.readFrames() // closed by defer sc.conn.Close above
- settingsTimer := time.NewTimer(firstSettingsTimeout)
+ 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 spr := <-sc.wantStartPushCh:
- sc.startPush(spr)
case res := <-sc.wroteFrameCh:
sc.wroteFrame(res)
case res := <-sc.readFrameCh:
@@ -745,26 +820,37 @@ func (sc *serverConn) serve() {
return
}
res.readMore()
- if settingsTimer.C != nil {
+ if settingsTimer != nil {
settingsTimer.Stop()
- settingsTimer.C = nil
+ settingsTimer = nil
}
case m := <-sc.bodyReadCh:
sc.noteBodyRead(m.st, m.n)
- case <-settingsTimer.C:
- sc.logf("timeout waiting for SETTINGS frames from %v", sc.conn.RemoteAddr())
- return
- case <-gracefulShutdownCh:
- gracefulShutdownCh = nil
- sc.startGracefulShutdown()
- case <-sc.shutdownTimerCh:
- sc.vlogf("GOAWAY close timer fired; closing conn from %v", sc.conn.RemoteAddr())
- return
- case <-sc.idleTimerCh:
- sc.vlogf("connection is idle")
- sc.goAway(ErrCodeNo)
- case fn := <-sc.testHookCh:
- fn(loopNum)
+ 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 sc.inGoAway && sc.curOpenStreams() == 0 && !sc.needToSendGoAway && !sc.writingFrame {
@@ -773,6 +859,36 @@ func (sc *serverConn) serve() {
}
}
+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:
+ }
+}
+
// readPreface reads the ClientPreface greeting from the peer
// or returns an error on timeout or an invalid greeting.
func (sc *serverConn) readPreface() error {
@@ -1014,7 +1130,11 @@ func (sc *serverConn) wroteFrame(res frameWriteResult) {
// stateClosed after the RST_STREAM frame is
// written.
st.state = stateHalfClosedLocal
- sc.resetStream(streamError(st.id, ErrCodeCancel))
+ // 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)
}
@@ -1086,10 +1206,19 @@ func (sc *serverConn) scheduleFrameWrite() {
sc.inFrameScheduleLoop = false
}
-// startGracefulShutdown sends a GOAWAY with ErrCodeNo to tell the
-// client we're gracefully shutting down. The connection isn't closed
-// until all current streams are done.
+// 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) })
+}
+
+func (sc *serverConn) startGracefulShutdownInternal() {
sc.goAwayIn(ErrCodeNo, 0)
}
@@ -1121,8 +1250,7 @@ func (sc *serverConn) goAwayIn(code ErrCode, forceCloseIn time.Duration) {
func (sc *serverConn) shutDownIn(d time.Duration) {
sc.serveG.check()
- sc.shutdownTimer = time.NewTimer(d)
- sc.shutdownTimerCh = sc.shutdownTimer.C
+ sc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer)
}
func (sc *serverConn) resetStream(se StreamError) {
@@ -1305,6 +1433,9 @@ func (sc *serverConn) closeStream(st *stream, err error) {
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 {
@@ -1317,7 +1448,7 @@ func (sc *serverConn) closeStream(st *stream, err error) {
sc.idleTimer.Reset(sc.srv.IdleTimeout)
}
if h1ServerKeepAlivesDisabled(sc.hs) {
- sc.startGracefulShutdown()
+ sc.startGracefulShutdownInternal()
}
}
if p := st.body; p != nil {
@@ -1395,9 +1526,9 @@ func (sc *serverConn) processSettingInitialWindowSize(val uint32) error {
// 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.initialWindowSize
- sc.initialWindowSize = int32(val)
- growth := sc.initialWindowSize - old // may be negative
+ 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
@@ -1504,7 +1635,7 @@ func (sc *serverConn) processGoAway(f *GoAwayFrame) error {
} else {
sc.vlogf("http2: received GOAWAY %+v, starting graceful shutdown", f)
}
- sc.startGracefulShutdown()
+ 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
@@ -1543,6 +1674,12 @@ func (st *stream) copyTrailersToHandlerRequest() {
}
}
+// 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
@@ -1719,9 +1856,12 @@ func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream
}
st.cw.Init()
st.flow.conn = &sc.flow // link to conn-level counter
- st.flow.add(sc.initialWindowSize)
- st.inflow.conn = &sc.inflow // link to conn-level counter
- st.inflow.add(initialWindowSize) // TODO: update this when we send a higher initial window size in the initial settings
+ 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})
@@ -1785,16 +1925,14 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res
return nil, nil, err
}
if bodyOpen {
- st.reqBuf = getRequestBodyBuf()
- req.Body.(*requestBody).pipe = &pipe{
- b: &fixedBuffer{buf: st.reqBuf},
- }
-
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
}
@@ -1890,24 +2028,6 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r
return rw, req, nil
}
-var reqBodyCache = make(chan []byte, 8)
-
-func getRequestBodyBuf() []byte {
- select {
- case b := <-reqBodyCache:
- return b
- default:
- return make([]byte, initialWindowSize)
- }
-}
-
-func putRequestBodyBuf(b []byte) {
- select {
- case reqBodyCache <- b:
- default:
- }
-}
-
// Run on its own goroutine.
func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) {
didPanic := true
@@ -2003,12 +2123,6 @@ func (sc *serverConn) noteBodyReadFromHandler(st *stream, n int, err error) {
case <-sc.doneServing:
}
}
- if err == io.EOF {
- if buf := st.reqBuf; buf != nil {
- st.reqBuf = nil // shouldn't matter; field unused by other
- putRequestBodyBuf(buf)
- }
- }
}
func (sc *serverConn) noteBodyRead(st *stream, n int) {
@@ -2103,8 +2217,8 @@ func (b *requestBody) Read(p []byte) (n int, err error) {
return
}
-// responseWriter is the http.ResponseWriter implementation. It's
-// intentionally small (1 pointer wide) to minimize garbage. The
+// 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
@@ -2138,6 +2252,7 @@ type responseWriterState struct {
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
@@ -2219,6 +2334,7 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
date: date,
})
if err != nil {
+ rws.dirty = true
return 0, err
}
if endStream {
@@ -2240,6 +2356,7 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
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
}
}
@@ -2251,6 +2368,9 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
trailers: rws.trailers,
endStream: true,
})
+ if err != nil {
+ rws.dirty = true
+ }
return len(p), err
}
return len(p), nil
@@ -2278,7 +2398,7 @@ const TrailerPrefix = "Trailer:"
// 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
+// 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),
@@ -2390,7 +2510,7 @@ func cloneHeader(h http.Header) http.Header {
//
// * Handler calls w.Write or w.WriteString ->
// * -> rws.bw (*bufio.Writer) ->
-// * (Handler migth call Flush)
+// * (Handler might call Flush)
// * -> chunkWriter{rws}
// * -> responseWriterState.writeChunk(p []byte)
// * -> responseWriterState.writeChunk (most of the magic; see comment there)
@@ -2429,10 +2549,19 @@ func (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int,
func (w *responseWriter) handlerDone() {
rws := w.rws
+ dirty := rws.dirty
rws.handlerDone = true
w.Flush()
w.rws = nil
- responseWriterStatePool.Put(rws)
+ 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.
@@ -2514,7 +2643,7 @@ func (w *responseWriter) push(target string, opts pushOptions) error {
return fmt.Errorf("method %q must be GET or HEAD", opts.Method)
}
- msg := startPushRequest{
+ msg := &startPushRequest{
parent: st,
method: opts.Method,
url: u,
@@ -2527,7 +2656,7 @@ func (w *responseWriter) push(target string, opts pushOptions) error {
return errClientDisconnected
case <-st.cw:
return errStreamClosed
- case sc.wantStartPushCh <- msg:
+ case sc.serveMsgCh <- msg:
}
select {
@@ -2549,7 +2678,7 @@ type startPushRequest struct {
done chan error
}
-func (sc *serverConn) startPush(msg startPushRequest) {
+func (sc *serverConn) startPush(msg *startPushRequest) {
sc.serveG.check()
// http://tools.ietf.org/html/rfc7540#section-6.6.
@@ -2588,7 +2717,7 @@ func (sc *serverConn) startPush(msg startPushRequest) {
// 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.startGracefulShutdown()
+ sc.startGracefulShutdownInternal()
return 0, ErrPushLimitReached
}
sc.maxPushPromiseID += 2
@@ -2713,31 +2842,6 @@ var badTrailer = map[string]bool{
"Www-Authenticate": true,
}
-// h1ServerShutdownChan returns a channel that will be closed when the
-// provided *http.Server wants to shut down.
-//
-// This is a somewhat hacky way to get at http1 innards. It works
-// when the http2 code is bundled into the net/http package in the
-// standard library. The alternatives ended up making the cmd/go tool
-// depend on http Servers. This is the lightest option for now.
-// This is tested via the TestServeShutdown* tests in net/http.
-func h1ServerShutdownChan(hs *http.Server) <-chan struct{} {
- if fn := testh1ServerShutdownChan; fn != nil {
- return fn(hs)
- }
- var x interface{} = hs
- type I interface {
- getDoneChan() <-chan struct{}
- }
- if hs, ok := x.(I); ok {
- return hs.getDoneChan()
- }
- return nil
-}
-
-// optional test hook for h1ServerShutdownChan.
-var testh1ServerShutdownChan func(hs *http.Server) <-chan struct{}
-
// h1ServerKeepAlivesDisabled reports whether hs has its keep-alives
// disabled. See comments on h1ServerShutdownChan above for why
// the code is written this way.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/transport.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/transport.go
index 0c7e859d..e0dfe9f6 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/transport.go
@@ -18,6 +18,7 @@ import (
"io/ioutil"
"log"
"math"
+ mathrand "math/rand"
"net"
"net/http"
"sort"
@@ -164,6 +165,7 @@ type ClientConn struct {
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
@@ -216,35 +218,45 @@ type clientStream struct {
resTrailer *http.Header // client's Response.Trailer
}
-// awaitRequestCancel runs in its own goroutine and waits for the user
-// to cancel a RoundTrip 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)
-func (cs *clientStream) awaitRequestCancel(req *http.Request) {
+// 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 := reqContext(req)
if req.Cancel == nil && ctx.Done() == nil {
- return
+ return nil
}
select {
case <-req.Cancel:
- cs.cancelStream()
- cs.bufPipe.CloseWithError(errRequestCanceled)
+ return errRequestCanceled
case <-ctx.Done():
+ return ctx.Err()
+ case <-done:
+ return nil
+ }
+}
+
+// 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(ctx.Err())
- case <-cs.done:
+ cs.bufPipe.CloseWithError(err)
}
}
func (cs *clientStream) cancelStream() {
- cs.cc.mu.Lock()
+ cc := cs.cc
+ cc.mu.Lock()
didReset := cs.didReset
cs.didReset = true
- cs.cc.mu.Unlock()
+ cc.mu.Unlock()
if !didReset {
- cs.cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
+ cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
+ cc.forgetStreamID(cs.ID)
}
}
@@ -329,7 +341,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
}
addr := authorityAddr(req.URL.Scheme, req.URL.Host)
- for {
+ 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)
@@ -337,9 +349,25 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
}
traceGotConn(req, cc)
res, err := cc.RoundTrip(req)
- if err != nil {
- if req, err = shouldRetryRequest(req, err); err == nil {
- continue
+ if err != nil && retry <= 6 {
+ afterBodyWrite := false
+ if e, ok := err.(afterReqBodyWriteError); ok {
+ err = e
+ afterBodyWrite = true
+ }
+ if req, err = shouldRetryRequest(req, err, afterBodyWrite); 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 <-reqContext(req).Done():
+ return nil, reqContext(req).Err()
+ }
}
}
if err != nil {
@@ -360,43 +388,60 @@ func (t *Transport) 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")
- errClientConnGotGoAwayAfterSomeReqBody = errors.New("http2: Transport received Server's graceful shutdown GOAWAY; some request body already written")
+ 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")
)
+// afterReqBodyWriteError is a wrapper around errors returned by ClientConn.RoundTrip.
+// It is used to signal that err happened after part of Request.Body was sent to the server.
+type afterReqBodyWriteError struct {
+ err error
+}
+
+func (e afterReqBodyWriteError) Error() string {
+ return e.err.Error() + "; some request body already written"
+}
+
// 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) (*http.Request, error) {
- switch err {
- default:
+func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) {
+ if !canRetryError(err) {
return nil, err
- case errClientConnUnusable, errClientConnGotGoAway:
+ }
+ if !afterBodyWrite {
return req, nil
- case errClientConnGotGoAwayAfterSomeReqBody:
- // If the Body is nil (or http.NoBody), it's safe to reuse
- // this request and its Body.
- if req.Body == nil || reqBodyIsNoBody(req.Body) {
- return req, nil
- }
- // Otherwise we depend on the Request having its GetBody
- // func defined.
- getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody
- if getBody == nil {
- return nil, errors.New("http2: Transport: peer server initiated graceful shutdown after some of Request.Body was written; define Request.GetBody to avoid this error")
- }
- body, err := getBody()
- if err != nil {
- return nil, err
- }
- newReq := *req
- newReq.Body = body
- return &newReq, nil
}
+ // If the Body is nil (or http.NoBody), it's safe to reuse
+ // this request and its Body.
+ if req.Body == nil || reqBodyIsNoBody(req.Body) {
+ return req, nil
+ }
+ // Otherwise we depend on the Request having its GetBody
+ // func defined.
+ getBody := reqGetBody(req) // Go 1.8: getBody = req.GetBody
+ if getBody == nil {
+ return nil, fmt.Errorf("http2: Transport: cannot retry err [%v] after Request.Body was written; define Request.GetBody to avoid this error", err)
+ }
+ body, err := getBody()
+ if err != nil {
+ return nil, err
+ }
+ newReq := *req
+ newReq.Body = body
+ return &newReq, nil
+}
+
+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) {
@@ -560,6 +605,8 @@ func (cc *ClientConn) setGoAway(f *GoAwayFrame) {
}
}
+// 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()
@@ -571,11 +618,10 @@ func (cc *ClientConn) canTakeNewRequestLocked() bool {
return false
}
return cc.goAway == nil && !cc.closed &&
- int64(len(cc.streams)+1) < int64(cc.maxConcurrentStreams) &&
- cc.nextStreamID < math.MaxInt32
+ int64(cc.nextStreamID)+int64(cc.pendingRequests) < math.MaxInt32
}
-// onIdleTimeout is called from a time.AfterFunc goroutine. It will
+// 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
@@ -694,7 +740,7 @@ func checkConnHeaders(req *http.Request) error {
// req.ContentLength, where 0 actually means zero (not unknown) and -1
// means unknown.
func actualContentLength(req *http.Request) int64 {
- if req.Body == nil {
+ if req.Body == nil || reqBodyIsNoBody(req.Body) {
return 0
}
if req.ContentLength != 0 {
@@ -718,15 +764,14 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
hasTrailers := trailers != ""
cc.mu.Lock()
- cc.lastActive = time.Now()
- if cc.closed || !cc.canTakeNewRequestLocked() {
+ if err := cc.awaitOpenSlotForRequest(req); err != nil {
cc.mu.Unlock()
- return nil, errClientConnUnusable
+ return nil, err
}
body := req.Body
- hasBody := body != nil
contentLen := actualContentLength(req)
+ hasBody := contentLen != 0
// TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere?
var requestedGzip bool
@@ -809,21 +854,20 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
// 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
+ // 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 {
- if re.err == errClientConnGotGoAway {
- cc.mu.Lock()
- if cs.startedWrite {
- re.err = errClientConnGotGoAwayAfterSomeReqBody
- }
- cc.mu.Unlock()
- }
+ cc.mu.Lock()
+ afterBodyWrite := cs.startedWrite
+ cc.mu.Unlock()
cc.forgetStreamID(cs.ID)
+ if afterBodyWrite {
+ return nil, afterReqBodyWriteError{re.err}
+ }
return nil, re.err
}
res.Request = req
@@ -836,31 +880,31 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
case re := <-readLoopResCh:
return handleReadLoopResponse(re)
case <-respHeaderTimer:
- cc.forgetStreamID(cs.ID)
if !hasBody || bodyWritten {
cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
} else {
bodyWriter.cancel()
cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)
}
+ cc.forgetStreamID(cs.ID)
return nil, errTimeout
case <-ctx.Done():
- cc.forgetStreamID(cs.ID)
if !hasBody || bodyWritten {
cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
} else {
bodyWriter.cancel()
cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)
}
+ cc.forgetStreamID(cs.ID)
return nil, ctx.Err()
case <-req.Cancel:
- cc.forgetStreamID(cs.ID)
if !hasBody || bodyWritten {
cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
} else {
bodyWriter.cancel()
cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)
}
+ cc.forgetStreamID(cs.ID)
return nil, errRequestCanceled
case <-cs.peerReset:
// processResetStream already removed the
@@ -887,6 +931,45 @@ func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
}
}
+// 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() {
+ 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, hdrs []byte) error {
first := true // first frame written (HEADERS is first, then CONTINUATION)
@@ -1246,7 +1329,9 @@ func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream {
cc.idleTimer.Reset(cc.idleTimeout)
}
close(cs.done)
- cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl
+ // Wake up checkResetOrDone via clientStream.awaitFlowControl and
+ // wake up RoundTrip if there is a pending request.
+ cc.cond.Broadcast()
}
return cs
}
@@ -1345,8 +1430,9 @@ func (rl *clientConnReadLoop) run() error {
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, true /*ended; remove it*/); cs != nil {
+ 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
}
@@ -1528,8 +1614,7 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra
return res, nil
}
- buf := new(bytes.Buffer) // TODO(bradfitz): recycle this garbage
- cs.bufPipe = pipe{b: buf}
+ cs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}}
cs.bytesRemain = res.ContentLength
res.Body = transportResponseBody{cs}
go cs.awaitRequestCancel(cs.req)
@@ -1656,6 +1741,7 @@ func (b transportResponseBody) Close() error {
cc.wmu.Lock()
if !serverSentStreamEnd {
cc.fr.WriteRSTStream(cs.ID, ErrCodeCancel)
+ cs.didReset = true
}
// Return connection-level flow control.
if unread > 0 {
@@ -1668,6 +1754,7 @@ func (b transportResponseBody) Close() error {
}
cs.bufPipe.BreakWithError(errClosedResponseBody)
+ cc.forgetStreamID(cs.ID)
return nil
}
@@ -1703,12 +1790,6 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
return nil
}
if f.Length > 0 {
- if len(data) > 0 && cs.bufPipe.b == nil {
- // Data frame after it's already closed?
- cc.logf("http2: Transport received DATA frame for closed stream; closing connection")
- return ConnectionError(ErrCodeProtocol)
- }
-
// Check connection-level flow control.
cc.mu.Lock()
if cs.inflow.available() >= int32(f.Length) {
@@ -1719,16 +1800,27 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
}
// 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 {
- cs.inflow.add(pad)
- cc.inflow.add(pad)
+ 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(pad))
- cc.fr.WriteWindowUpdate(cs.ID, uint32(pad))
+ 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()
}
- didReset := cs.didReset
cc.mu.Unlock()
if len(data) > 0 && !didReset {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/writesched_priority.go b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/writesched_priority.go
index 01132721..848fed6e 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/writesched_priority.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/golang.org/x/net/http2/writesched_priority.go
@@ -53,7 +53,7 @@ type PriorityWriteSchedulerConfig struct {
}
// NewPriorityWriteScheduler constructs a WriteScheduler that schedules
-// frames by following HTTP/2 priorities as described in RFC 7340 Section 5.3.
+// 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 {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go
new file mode 100644
index 00000000..40e79375
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/genproto/googleapis/rpc/status/status.pb.go
@@ -0,0 +1,143 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/rpc/status.proto
+
+/*
+Package status is a generated protocol buffer package.
+
+It is generated from these files:
+ google/rpc/status.proto
+
+It has these top-level messages:
+ Status
+*/
+package status
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import google_protobuf "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` which 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 purpose.
+//
+// - 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" 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" json:"message,omitempty"`
+ // A list of messages that carry the error details. There will be a
+ // common set of message types for APIs to use.
+ Details []*google_protobuf.Any `protobuf:"bytes,3,rep,name=details" json:"details,omitempty"`
+}
+
+func (m *Status) Reset() { *m = Status{} }
+func (m *Status) String() string { return proto.CompactTextString(m) }
+func (*Status) ProtoMessage() {}
+func (*Status) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+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() []*google_protobuf.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", fileDescriptor0) }
+
+var fileDescriptor0 = []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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/AUTHORS b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/AUTHORS
new file mode 100644
index 00000000..e491a9e7
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/AUTHORS
@@ -0,0 +1 @@
+Google Inc.
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/CONTRIBUTING.md b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/CONTRIBUTING.md
index 36cd6f75..a5c6e06e 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/CONTRIBUTING.md
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/CONTRIBUTING.md
@@ -1,46 +1,32 @@
# How to contribute
-We definitely welcome patches and contribution to grpc! Here are some guidelines
-and information about how to do so.
+We definitely welcome your patches and contributions to gRPC!
-## Sending patches
-
-### Getting started
-
-1. Check out the code:
-
- $ go get google.golang.org/grpc
- $ cd $GOPATH/src/google.golang.org/grpc
-
-1. Create a fork of the grpc-go repository.
-1. Add your fork as a remote:
-
- $ git remote add fork git@github.com:$YOURGITHUBUSERNAME/grpc-go.git
-
-1. Make changes, commit them.
-1. Run the test suite:
-
- $ make test
-
-1. Push your changes to your fork:
-
- $ git push fork ...
-
-1. Open a pull request.
+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://cla.developers.google.com/clas).
-## Filing Issues
-When filing an issue, make sure to answer these five questions:
-
-1. What version of Go are you using (`go version`)?
-2. What operating system and processor architecture are you using?
-3. What did you do?
-4. What did you expect to see?
-5. What did you see instead?
-
-### Contributing code
-Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
+## 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.
+
+- 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.
+
+- Exceptions to the rules can be made if there's a compelling reason for doing so.
+
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/LICENSE b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/LICENSE
index f4988b45..d6456956 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/LICENSE
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/LICENSE
@@ -1,28 +1,202 @@
-Copyright 2014, Google Inc.
-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.
+
+ 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/README.md b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/README.md
index 39120c20..72c7325c 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/README.md
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/README.md
@@ -1,8 +1,8 @@
-#gRPC-Go
+# 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)
-The Go implementation of [gRPC](http://www.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](http://www.grpc.io/docs/) guide.
+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
------------
@@ -16,23 +16,7 @@ $ go get google.golang.org/grpc
Prerequisites
-------------
-This requires Go 1.5 or later.
-
-A note on the version used: significant performance improvements in benchmarks
-of grpc-go have been seen by upgrading the go version from 1.5 to the latest
-1.7.1.
-
-From https://golang.org/doc/install, one way to install the latest version of go is:
-```
-$ GO_VERSION=1.7.1
-$ OS=linux
-$ ARCH=amd64
-$ curl -O https://storage.googleapis.com/golang/go${GO_VERSION}.${OS}-${ARCH}.tar.gz
-$ sudo tar -C /usr/local -xzf go$GO_VERSION.$OS-$ARCH.tar.gz
-$ # Put go on the PATH, keep the usual installation dir
-$ sudo ln -s /usr/local/go/bin/go /usr/bin/go
-$ rm go$GO_VERSION.$OS-$ARCH.tar.gz
-```
+This requires Go 1.6 or later.
Constraints
-----------
@@ -42,9 +26,13 @@ Documentation
-------------
See [API documentation](https://godoc.org/google.golang.org/grpc) for package and API descriptions and find examples in the [examples directory](examples/).
+Performance
+-----------
+See the current benchmarks for some of the languages supported in [this dashboard](https://performance-dot-grpc-testing.appspot.com/explore?dashboard=5652536396611584&widget=490377658&container=1286539696).
+
Status
------
-GA
+General Availability [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages).
FAQ
---
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/backoff.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/backoff.go
index c99024ee..090fbe87 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/backoff.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/backoff.go
@@ -1,3 +1,21 @@
+/*
+ *
+ * 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 (
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/balancer.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/balancer.go
index 9d943fba..cde472c8 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/balancer.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/balancer.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -35,6 +20,7 @@ package grpc
import (
"fmt"
+ "net"
"sync"
"golang.org/x/net/context"
@@ -60,6 +46,10 @@ type BalancerConfig struct {
// 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.
@@ -167,7 +157,7 @@ type roundRobin struct {
func (rr *roundRobin) watchAddrUpdates() error {
updates, err := rr.w.Next()
if err != nil {
- grpclog.Printf("grpc: the naming watcher stops working due to %v.\n", err)
+ grpclog.Warningf("grpc: the naming watcher stops working due to %v.", err)
return err
}
rr.mu.Lock()
@@ -183,7 +173,7 @@ func (rr *roundRobin) watchAddrUpdates() error {
for _, v := range rr.addrs {
if addr == v.addr {
exist = true
- grpclog.Println("grpc: The name resolver wanted to add an existing address: ", addr)
+ grpclog.Infoln("grpc: The name resolver wanted to add an existing address: ", addr)
break
}
}
@@ -200,7 +190,7 @@ func (rr *roundRobin) watchAddrUpdates() error {
}
}
default:
- grpclog.Println("Unknown update.Op ", update.Op)
+ 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.
@@ -211,6 +201,10 @@ func (rr *roundRobin) watchAddrUpdates() error {
if rr.done {
return ErrClientConnClosing
}
+ select {
+ case <-rr.addrCh:
+ default:
+ }
rr.addrCh <- open
return nil
}
@@ -233,7 +227,7 @@ func (rr *roundRobin) Start(target string, config BalancerConfig) error {
return err
}
rr.w = w
- rr.addrCh = make(chan []Address)
+ rr.addrCh = make(chan []Address, 1)
go func() {
for {
if err := rr.watchAddrUpdates(); err != nil {
@@ -385,6 +379,9 @@ func (rr *roundRobin) Notify() <-chan []Address {
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()
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/call.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/call.go
index ba177219..797190f1 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/call.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/call.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -36,13 +21,14 @@ package grpc
import (
"bytes"
"io"
- "math"
"time"
"golang.org/x/net/context"
"golang.org/x/net/trace"
"google.golang.org/grpc/codes"
+ "google.golang.org/grpc/peer"
"google.golang.org/grpc/stats"
+ "google.golang.org/grpc/status"
"google.golang.org/grpc/transport"
)
@@ -72,14 +58,17 @@ func recvResponse(ctx context.Context, dopts dialOptions, t transport.ClientTran
}
}
for {
- if err = recv(p, dopts.codec, stream, dopts.dc, reply, math.MaxInt32, inPayload); err != nil {
+ if c.maxReceiveMessageSize == nil {
+ return Errorf(codes.Internal, "callInfo maxReceiveMessageSize field uninitialized(nil)")
+ }
+ if err = recv(p, dopts.codec, stream, dopts.dc, reply, *c.maxReceiveMessageSize, inPayload); err != nil {
if err == io.EOF {
break
}
return
}
}
- if inPayload != nil && err == io.EOF && stream.StatusCode() == codes.OK {
+ if inPayload != nil && err == io.EOF && stream.Status().Code() == codes.OK {
// TODO in the current implementation, inTrailer may be handled before inPayload in some cases.
// Fix the order if necessary.
dopts.copts.StatsHandler.HandleRPC(ctx, inPayload)
@@ -89,11 +78,7 @@ func recvResponse(ctx context.Context, dopts dialOptions, t transport.ClientTran
}
// sendRequest writes out various information of an RPC such as Context and Message.
-func sendRequest(ctx context.Context, dopts dialOptions, compressor Compressor, callHdr *transport.CallHdr, t transport.ClientTransport, args interface{}, opts *transport.Options) (_ *transport.Stream, err error) {
- stream, err := t.NewStream(ctx, callHdr)
- if err != nil {
- return nil, err
- }
+func sendRequest(ctx context.Context, dopts dialOptions, compressor Compressor, c *callInfo, callHdr *transport.CallHdr, stream *transport.Stream, t transport.ClientTransport, args interface{}, opts *transport.Options) (err error) {
defer func() {
if err != nil {
// If err is connection error, t will be closed, no need to close stream here.
@@ -116,7 +101,13 @@ func sendRequest(ctx context.Context, dopts dialOptions, compressor Compressor,
}
outBuf, err := encode(dopts.codec, args, compressor, cbuf, outPayload)
if err != nil {
- return nil, Errorf(codes.Internal, "grpc: %v", err)
+ return err
+ }
+ if c.maxSendMessageSize == nil {
+ return Errorf(codes.Internal, "callInfo maxSendMessageSize field uninitialized(nil)")
+ }
+ if len(outBuf) > *c.maxSendMessageSize {
+ return Errorf(codes.ResourceExhausted, "grpc: trying to send message larger than max (%d vs. %d)", len(outBuf), *c.maxSendMessageSize)
}
err = t.Write(stream, outBuf, opts)
if err == nil && outPayload != nil {
@@ -127,10 +118,10 @@ func sendRequest(ctx context.Context, dopts dialOptions, compressor Compressor,
// does not exist.) so that t.Write could get io.EOF from wait(...). Leave the following
// recvResponse to get the final status.
if err != nil && err != io.EOF {
- return nil, err
+ return err
}
// Sent successfully.
- return stream, nil
+ return nil
}
// Invoke sends the RPC request on the wire and returns after response is received.
@@ -145,14 +136,18 @@ func Invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
func invoke(ctx context.Context, method string, args, reply interface{}, cc *ClientConn, opts ...CallOption) (e error) {
c := defaultCallInfo
- if mc, ok := cc.getMethodConfig(method); ok {
- c.failFast = !mc.WaitForReady
- if mc.Timeout > 0 {
- var cancel context.CancelFunc
- ctx, cancel = context.WithTimeout(ctx, mc.Timeout)
- defer cancel()
- }
+ mc := cc.GetMethodConfig(method)
+ if mc.WaitForReady != nil {
+ c.failFast = !*mc.WaitForReady
+ }
+
+ if mc.Timeout != nil && *mc.Timeout >= 0 {
+ var cancel context.CancelFunc
+ ctx, cancel = context.WithTimeout(ctx, *mc.Timeout)
+ defer cancel()
}
+
+ opts = append(cc.dopts.callOptions, opts...)
for _, o := range opts {
if err := o.before(&c); err != nil {
return toRPCErr(err)
@@ -163,6 +158,10 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
o.after(&c)
}
}()
+
+ c.maxSendMessageSize = getMaxSize(mc.MaxReqSize, c.maxSendMessageSize, defaultClientMaxSendMessageSize)
+ c.maxReceiveMessageSize = getMaxSize(mc.MaxRespSize, c.maxReceiveMessageSize, defaultClientMaxReceiveMessageSize)
+
if EnableTracing {
c.traceInfo.tr = trace.New("grpc.Sent."+methodFamily(method), method)
defer c.traceInfo.tr.Finish()
@@ -179,26 +178,25 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
}
}()
}
+ ctx = newContextWithRPCInfo(ctx)
sh := cc.dopts.copts.StatsHandler
if sh != nil {
- ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method})
+ ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})
begin := &stats.Begin{
Client: true,
BeginTime: time.Now(),
FailFast: c.failFast,
}
sh.HandleRPC(ctx, begin)
- }
- defer func() {
- if sh != nil {
+ defer func() {
end := &stats.End{
Client: true,
EndTime: time.Now(),
Error: e,
}
sh.HandleRPC(ctx, end)
- }
- }()
+ }()
+ }
topts := &transport.Options{
Last: true,
Delay: false,
@@ -220,6 +218,9 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
if cc.dopts.cp != nil {
callHdr.SendCompress = cc.dopts.cp.Type()
}
+ if c.creds != nil {
+ callHdr.Creds = c.creds
+ }
gopts := BalancerGetOptions{
BlockingWait: !c.failFast,
@@ -227,7 +228,7 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
t, put, err = cc.getTransport(ctx, gopts)
if err != nil {
// TODO(zhaoq): Probably revisit the error handling.
- if _, ok := err.(*rpcError); ok {
+ if _, ok := status.FromError(err); ok {
return err
}
if err == errConnClosing || err == errConnUnavailable {
@@ -242,19 +243,38 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
if c.traceInfo.tr != nil {
c.traceInfo.tr.LazyLog(&payload{sent: true, msg: args}, true)
}
- stream, err = sendRequest(ctx, cc.dopts, cc.dopts.cp, callHdr, t, args, topts)
+ stream, err = t.NewStream(ctx, callHdr)
if err != nil {
if put != nil {
+ if _, ok := err.(transport.ConnectionError); ok {
+ // If error is connection error, transport was sending data on wire,
+ // and we are not sure if anything has been sent on wire.
+ // If error is not connection error, we are sure nothing has been sent.
+ updateRPCInfoInContext(ctx, rpcInfo{bytesSent: true, bytesReceived: false})
+ }
+ put()
+ }
+ if _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {
+ continue
+ }
+ return toRPCErr(err)
+ }
+ if peer, ok := peer.FromContext(stream.Context()); ok {
+ c.peer = peer
+ }
+ err = sendRequest(ctx, cc.dopts, cc.dopts.cp, &c, callHdr, stream, t, args, topts)
+ if err != nil {
+ if put != nil {
+ updateRPCInfoInContext(ctx, rpcInfo{
+ bytesSent: stream.BytesSent(),
+ bytesReceived: stream.BytesReceived(),
+ })
put()
- put = nil
}
// Retry a non-failfast RPC when
// i) there is a connection error; or
// ii) the server started to drain before this RPC was initiated.
- if _, ok := err.(transport.ConnectionError); ok || err == transport.ErrStreamDrain {
- if c.failFast {
- return toRPCErr(err)
- }
+ if _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {
continue
}
return toRPCErr(err)
@@ -262,13 +282,13 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
err = recvResponse(ctx, cc.dopts, t, &c, stream, reply)
if err != nil {
if put != nil {
+ updateRPCInfoInContext(ctx, rpcInfo{
+ bytesSent: stream.BytesSent(),
+ bytesReceived: stream.BytesReceived(),
+ })
put()
- put = nil
}
- if _, ok := err.(transport.ConnectionError); ok || err == transport.ErrStreamDrain {
- if c.failFast {
- return toRPCErr(err)
- }
+ if _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {
continue
}
return toRPCErr(err)
@@ -278,9 +298,12 @@ func invoke(ctx context.Context, method string, args, reply interface{}, cc *Cli
}
t.CloseStream(stream, nil)
if put != nil {
+ updateRPCInfoInContext(ctx, rpcInfo{
+ bytesSent: stream.BytesSent(),
+ bytesReceived: stream.BytesReceived(),
+ })
put()
- put = nil
}
- return Errorf(stream.StatusCode(), "%s", stream.StatusDesc())
+ return stream.Status().Err()
}
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/clientconn.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/clientconn.go
index 146166a7..e3f6cb19 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/clientconn.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/clientconn.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -35,7 +20,6 @@ package grpc
import (
"errors"
- "fmt"
"net"
"strings"
"sync"
@@ -43,8 +27,10 @@ import (
"golang.org/x/net/context"
"golang.org/x/net/trace"
+ "google.golang.org/grpc/connectivity"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/grpclog"
+ "google.golang.org/grpc/keepalive"
"google.golang.org/grpc/stats"
"google.golang.org/grpc/transport"
)
@@ -55,8 +41,7 @@ var (
ErrClientConnClosing = errors.New("grpc: the client connection is closing")
// ErrClientConnTimeout indicates that the ClientConn cannot establish the
// underlying connections within the specified timeout.
- // DEPRECATED: Please use context.DeadlineExceeded instead. This error will be
- // removed in Q1 2017.
+ // DEPRECATED: Please use context.DeadlineExceeded instead.
ErrClientConnTimeout = errors.New("grpc: timed out when dialing")
// errNoTransportSecurity indicates that there is no transport security
@@ -78,7 +63,8 @@ var (
errConnClosing = errors.New("grpc: the connection is closing")
// errConnUnavailable indicates that the connection is unavailable.
errConnUnavailable = errors.New("grpc: the connection is unavailable")
- errNoAddr = errors.New("grpc: there is no address available to dial")
+ // errBalancerClosed indicates that the balancer is closed.
+ errBalancerClosed = errors.New("grpc: balancer is closed")
// minimum time to give a connection to complete
minConnectTimeout = 20 * time.Second
)
@@ -86,23 +72,57 @@ var (
// dialOptions configure a Dial call. dialOptions are set by the DialOption
// values passed to Dial.
type dialOptions struct {
- unaryInt UnaryClientInterceptor
- streamInt StreamClientInterceptor
- codec Codec
- cp Compressor
- dc Decompressor
- bs backoffStrategy
- balancer Balancer
- block bool
- insecure bool
- timeout time.Duration
- scChan <-chan ServiceConfig
- copts transport.ConnectOptions
+ unaryInt UnaryClientInterceptor
+ streamInt StreamClientInterceptor
+ codec Codec
+ cp Compressor
+ dc Decompressor
+ bs backoffStrategy
+ balancer Balancer
+ block bool
+ insecure bool
+ timeout time.Duration
+ scChan <-chan ServiceConfig
+ copts transport.ConnectOptions
+ callOptions []CallOption
}
+const (
+ defaultClientMaxReceiveMessageSize = 1024 * 1024 * 4
+ defaultClientMaxSendMessageSize = 1024 * 1024 * 4
+)
+
// DialOption configures how we set up the connection.
type DialOption func(*dialOptions)
+// 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 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 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.
+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 func(o *dialOptions) {
+ o.callOptions = append(o.callOptions, cos...)
+ }
+}
+
// WithCodec returns a DialOption which sets a codec for message marshaling and unmarshaling.
func WithCodec(c Codec) DialOption {
return func(o *dialOptions) {
@@ -194,7 +214,7 @@ func WithTransportCredentials(creds credentials.TransportCredentials) DialOption
}
// WithPerRPCCredentials returns a DialOption which sets
-// credentials which will place auth state on each outbound RPC.
+// credentials and places auth state on each outbound RPC.
func WithPerRPCCredentials(creds credentials.PerRPCCredentials) DialOption {
return func(o *dialOptions) {
o.copts.PerRPCCredentials = append(o.copts.PerRPCCredentials, creds)
@@ -203,6 +223,7 @@ func WithPerRPCCredentials(creds credentials.PerRPCCredentials) DialOption {
// 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.
func WithTimeout(d time.Duration) DialOption {
return func(o *dialOptions) {
o.timeout = d
@@ -231,7 +252,7 @@ func WithStatsHandler(h stats.Handler) DialOption {
}
}
-// FailOnNonTempDialError returns a DialOption that specified if gRPC fails on non-temporary dial errors.
+// 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.
@@ -249,6 +270,13 @@ func WithUserAgent(s string) DialOption {
}
}
+// WithKeepaliveParams returns a DialOption that specifies keepalive paramaters for the client transport.
+func WithKeepaliveParams(kp keepalive.ClientParameters) DialOption {
+ return func(o *dialOptions) {
+ o.copts.KeepaliveParams = kp
+ }
+}
+
// WithUnaryInterceptor returns a DialOption that specifies the interceptor for unary RPCs.
func WithUnaryInterceptor(f UnaryClientInterceptor) DialOption {
return func(o *dialOptions) {
@@ -263,25 +291,52 @@ func WithStreamInterceptor(f StreamClientInterceptor) DialOption {
}
}
+// 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 func(o *dialOptions) {
+ o.copts.Authority = a
+ }
+}
+
// 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. ctx can be used to
-// cancel or expire the pending connecting. Once this function returns, the
+// 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.
-// This is the EXPERIMENTAL API.
func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *ClientConn, err error) {
cc := &ClientConn{
target: target,
+ csMgr: &connectivityStateManager{},
conns: make(map[Address]*addrConn),
}
+ cc.csEvltr = &connectivityStateEvaluator{csMgr: cc.csMgr}
cc.ctx, cc.cancel = context.WithCancel(context.Background())
+
for _, opt := range opts {
opt(&cc.dopts)
}
+ 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) {
+ return dialContext(ctx, "tcp", 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)
@@ -300,15 +355,16 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
}
}()
+ scSet := false
if cc.dopts.scChan != nil {
- // Wait for the initial service config.
+ // Try to get an initial service config.
select {
case sc, ok := <-cc.dopts.scChan:
if ok {
cc.sc = sc
+ scSet = true
}
- case <-ctx.Done():
- return nil, ctx.Err()
+ default:
}
}
// Set defaults.
@@ -321,54 +377,47 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
creds := cc.dopts.copts.TransportCredentials
if creds != nil && creds.Info().ServerName != "" {
cc.authority = creds.Info().ServerName
+ } else if cc.dopts.insecure && cc.dopts.copts.Authority != "" {
+ cc.authority = cc.dopts.copts.Authority
} else {
- colonPos := strings.LastIndex(target, ":")
- if colonPos == -1 {
- colonPos = len(target)
- }
- cc.authority = target[:colonPos]
+ cc.authority = target
}
- var ok bool
waitC := make(chan error, 1)
go func() {
- var addrs []Address
+ defer close(waitC)
if cc.dopts.balancer == nil && cc.sc.LB != nil {
cc.dopts.balancer = cc.sc.LB
}
- if cc.dopts.balancer == nil {
- // Connect to target directly if balancer is nil.
- addrs = append(addrs, Address{Addr: target})
- } else {
+ if cc.dopts.balancer != nil {
var credsClone credentials.TransportCredentials
if creds != nil {
credsClone = creds.Clone()
}
config := BalancerConfig{
DialCreds: credsClone,
+ Dialer: cc.dopts.copts.Dialer,
}
if err := cc.dopts.balancer.Start(target, config); err != nil {
waitC <- err
return
}
ch := cc.dopts.balancer.Notify()
- if ch == nil {
- // There is no name resolver installed.
- addrs = append(addrs, Address{Addr: target})
- } else {
- addrs, ok = <-ch
- if !ok || len(addrs) == 0 {
- waitC <- errNoAddr
- return
+ if ch != nil {
+ if cc.dopts.block {
+ doneChan := make(chan struct{})
+ go cc.lbWatcher(doneChan)
+ <-doneChan
+ } else {
+ go cc.lbWatcher(nil)
}
- }
- }
- for _, a := range addrs {
- if err := cc.resetAddrConn(a, false, nil); err != nil {
- waitC <- err
return
}
}
- close(waitC)
+ // No balancer, or no resolver within the balancer. Connect directly.
+ if err := cc.resetAddrConn(Address{Addr: target}, cc.dopts.block, nil); err != nil {
+ waitC <- err
+ return
+ }
}()
select {
case <-ctx.Done():
@@ -378,50 +427,113 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
return nil, err
}
}
-
- // If balancer is nil or balancer.Notify() is nil, ok will be false here.
- // The lbWatcher goroutine will not be created.
- if ok {
- go cc.lbWatcher()
+ 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()
}
+
return cc, nil
}
-// ConnectivityState indicates the state of a client connection.
-type ConnectivityState int
+// connectivityStateEvaluator gets updated by addrConns when their
+// states transition, based on which it evaluates the state of
+// ClientConn.
+// Note: This code will eventually sit in the balancer in the new design.
+type connectivityStateEvaluator struct {
+ csMgr *connectivityStateManager
+ mu sync.Mutex
+ numReady uint64 // Number of addrConns in ready state.
+ numConnecting uint64 // Number of addrConns in connecting state.
+ numTransientFailure uint64 // Number of addrConns in transientFailure.
+}
-const (
- // Idle indicates the ClientConn is idle.
- Idle ConnectivityState = iota
- // Connecting indicates the ClienConn 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
-)
+// recordTransition records state change happening in every addrConn and based on
+// that it evaluates what state the ClientConn is in.
+// It can only transition between connectivity.Ready, connectivity.Connecting and connectivity.TransientFailure. Other states,
+// Idle and connectivity.Shutdown are transitioned into by ClientConn; in the begining of the connection
+// before any addrConn is created ClientConn is in idle state. In the end when ClientConn
+// closes it is in connectivity.Shutdown state.
+// TODO Note that in later releases, a ClientConn with no activity will be put into an Idle state.
+func (cse *connectivityStateEvaluator) recordTransition(oldState, newState connectivity.State) {
+ cse.mu.Lock()
+ defer cse.mu.Unlock()
-func (s ConnectivityState) 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:
- panic(fmt.Sprintf("unknown connectivity state: %d", s))
+ // 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 {
+ cse.csMgr.updateState(connectivity.Ready)
+ return
+ }
+ if cse.numConnecting > 0 {
+ cse.csMgr.updateState(connectivity.Connecting)
+ return
+ }
+ cse.csMgr.updateState(connectivity.TransientFailure)
+}
+
+// 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{}
+}
+
+// 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 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.
@@ -432,13 +544,51 @@ type ClientConn struct {
target string
authority string
dopts dialOptions
+ csMgr *connectivityStateManager
+ csEvltr *connectivityStateEvaluator // This will eventually be part of balancer.
mu sync.RWMutex
sc ServiceConfig
conns map[Address]*addrConn
+ // Keepalive parameter can be updated if a GoAway is received.
+ mkp keepalive.ClientParameters
}
-func (cc *ClientConn) lbWatcher() {
+// 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()
+}
+
+// lbWatcher watches the Notify channel of the balancer in cc and manages
+// connections accordingly. If doneChan is not nil, it is closed after the
+// first successfull connection is made.
+func (cc *ClientConn) lbWatcher(doneChan chan struct{}) {
+ defer func() {
+ // In case channel from cc.dopts.balancer.Notify() gets closed before a
+ // successful connection gets established, don't forget to notify the
+ // caller.
+ if doneChan != nil {
+ close(doneChan)
+ }
+ }()
+
for addrs := range cc.dopts.balancer.Notify() {
var (
add []Address // Addresses need to setup connections.
@@ -465,7 +615,19 @@ func (cc *ClientConn) lbWatcher() {
}
cc.mu.Unlock()
for _, a := range add {
- cc.resetAddrConn(a, true, nil)
+ var err error
+ if doneChan != nil {
+ err = cc.resetAddrConn(a, true, nil)
+ if err == nil {
+ close(doneChan)
+ doneChan = nil
+ }
+ } else {
+ err = cc.resetAddrConn(a, false, nil)
+ }
+ if err != nil {
+ grpclog.Warningf("Error creating connection to %v. Err: %v", a, err)
+ }
}
for _, c := range del {
c.tearDown(errConnDrain)
@@ -494,14 +656,18 @@ func (cc *ClientConn) scWatcher() {
// resetAddrConn creates an addrConn for addr and adds it to cc.conns.
// If there is an old addrConn for addr, it will be torn down, using tearDownErr as the reason.
// If tearDownErr is nil, errConnDrain will be used instead.
-func (cc *ClientConn) resetAddrConn(addr Address, skipWait bool, tearDownErr error) error {
+//
+// We should never need to replace an addrConn with a new one. This function is only used
+// as newAddrConn to create new addrConn.
+// TODO rename this function and clean up the code.
+func (cc *ClientConn) resetAddrConn(addr Address, block bool, tearDownErr error) error {
ac := &addrConn{
cc: cc,
addr: addr,
dopts: cc.dopts,
}
ac.ctx, ac.cancel = context.WithCancel(cc.ctx)
- ac.stateCV = sync.NewCond(&ac.mu)
+ ac.csEvltr = cc.csEvltr
if EnableTracing {
ac.events = trace.NewEventLog("grpc.ClientConn", ac.addr.Addr)
}
@@ -530,10 +696,7 @@ func (cc *ClientConn) resetAddrConn(addr Address, skipWait bool, tearDownErr err
cc.mu.Unlock()
if stale != nil {
// There is an addrConn alive on ac.addr already. This could be due to
- // 1) a buggy Balancer notifies duplicated Addresses;
- // 2) goaway was received, a new ac will replace the old ac.
- // The old ac should be deleted from cc.conns, but the
- // underlying transport should drain rather than close.
+ // a buggy Balancer that reports duplicated Addresses.
if tearDownErr == nil {
// tearDownErr is nil if resetAddrConn is called by
// 1) Dial
@@ -544,8 +707,7 @@ func (cc *ClientConn) resetAddrConn(addr Address, skipWait bool, tearDownErr err
stale.tearDown(tearDownErr)
}
}
- // skipWait may overwrite the decision in ac.dopts.block.
- if ac.dopts.block && !skipWait {
+ if block {
if err := ac.resetTransport(false); err != nil {
if err != errConnClosing {
// Tear down ac and delete it from cc.conns.
@@ -565,7 +727,7 @@ func (cc *ClientConn) resetAddrConn(addr Address, skipWait bool, tearDownErr err
// Start a goroutine connecting to the server asynchronously.
go func() {
if err := ac.resetTransport(false); err != nil {
- grpclog.Printf("Failed to dial %s: %v; please retry.", ac.addr.Addr, err)
+ grpclog.Warningf("Failed to dial %s: %v; please retry.", ac.addr.Addr, err)
if err != errConnClosing {
// Keep this ac in cc.conns, to get the reason it's torn down.
ac.tearDown(err)
@@ -578,12 +740,23 @@ func (cc *ClientConn) resetAddrConn(addr Address, skipWait bool, tearDownErr err
return nil
}
-// TODO: Avoid the locking here.
-func (cc *ClientConn) getMethodConfig(method string) (m MethodConfig, ok bool) {
+// 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 serivce, 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()
- m, ok = cc.sc.Methods[method]
- return
+ m, ok := cc.sc.Methods[method]
+ if !ok {
+ i := strings.LastIndex(method, "/")
+ m, _ = cc.sc.Methods[method[:i+1]]
+ }
+ return m
}
func (cc *ClientConn) getTransport(ctx context.Context, opts BalancerGetOptions) (transport.ClientTransport, func(), error) {
@@ -624,6 +797,7 @@ func (cc *ClientConn) getTransport(ctx context.Context, opts BalancerGetOptions)
}
if !ok {
if put != nil {
+ updateRPCInfoInContext(ctx, rpcInfo{bytesSent: false, bytesReceived: false})
put()
}
return nil, nil, errConnClosing
@@ -631,6 +805,7 @@ func (cc *ClientConn) getTransport(ctx context.Context, opts BalancerGetOptions)
t, err := ac.wait(ctx, cc.dopts.balancer != nil, !opts.BlockingWait)
if err != nil {
if put != nil {
+ updateRPCInfoInContext(ctx, rpcInfo{bytesSent: false, bytesReceived: false})
put()
}
return nil, nil, err
@@ -649,6 +824,7 @@ func (cc *ClientConn) Close() error {
}
conns := cc.conns
cc.conns = nil
+ cc.csMgr.updateState(connectivity.Shutdown)
cc.mu.Unlock()
if cc.dopts.balancer != nil {
cc.dopts.balancer.Close()
@@ -669,10 +845,11 @@ type addrConn struct {
dopts dialOptions
events trace.EventLog
- mu sync.Mutex
- state ConnectivityState
- stateCV *sync.Cond
- down func(error) // the handler called when a connection is down.
+ csEvltr *connectivityStateEvaluator
+
+ mu sync.Mutex
+ state connectivity.State
+ down func(error) // the handler called when a connection is down.
// ready is closed and becomes nil when a new transport is up or failed
// due to timeout.
ready chan struct{}
@@ -682,6 +859,20 @@ type addrConn struct {
tearDownErr error
}
+// adjustParams updates parameters used to create transports upon
+// receiving a GoAway.
+func (ac *addrConn) adjustParams(r transport.GoAwayReason) {
+ switch r {
+ case transport.TooManyPings:
+ 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()
+ }
+}
+
// printf records an event in ac's event log, unless ac has been closed.
// REQUIRES ac.mu is held.
func (ac *addrConn) printf(format string, a ...interface{}) {
@@ -698,62 +889,41 @@ func (ac *addrConn) errorf(format string, a ...interface{}) {
}
}
-// getState returns the connectivity state of the Conn
-func (ac *addrConn) getState() ConnectivityState {
- ac.mu.Lock()
- defer ac.mu.Unlock()
- return ac.state
-}
-
-// waitForStateChange blocks until the state changes to something other than the sourceState.
-func (ac *addrConn) waitForStateChange(ctx context.Context, sourceState ConnectivityState) (ConnectivityState, error) {
+// resetTransport recreates a transport to the address for ac.
+// For the old transport:
+// - if drain is true, it will be gracefully closed.
+// - otherwise, it will be closed.
+func (ac *addrConn) resetTransport(drain bool) error {
ac.mu.Lock()
- defer ac.mu.Unlock()
- if sourceState != ac.state {
- return ac.state, nil
+ if ac.state == connectivity.Shutdown {
+ ac.mu.Unlock()
+ return errConnClosing
}
- done := make(chan struct{})
- var err error
- go func() {
- select {
- case <-ctx.Done():
- ac.mu.Lock()
- err = ctx.Err()
- ac.stateCV.Broadcast()
- ac.mu.Unlock()
- case <-done:
- }
- }()
- defer close(done)
- for sourceState == ac.state {
- ac.stateCV.Wait()
- if err != nil {
- return ac.state, err
- }
+ ac.printf("connecting")
+ if ac.down != nil {
+ ac.down(downErrorf(false, true, "%v", errNetworkIO))
+ ac.down = nil
}
- return ac.state, nil
-}
-
-func (ac *addrConn) resetTransport(closeTransport bool) error {
+ oldState := ac.state
+ ac.state = connectivity.Connecting
+ ac.csEvltr.recordTransition(oldState, ac.state)
+ t := ac.transport
+ ac.transport = nil
+ ac.mu.Unlock()
+ if t != nil && !drain {
+ t.Close()
+ }
+ ac.cc.mu.RLock()
+ ac.dopts.copts.KeepaliveParams = ac.cc.mkp
+ ac.cc.mu.RUnlock()
for retries := 0; ; retries++ {
ac.mu.Lock()
- ac.printf("connecting")
- if ac.state == Shutdown {
+ if ac.state == connectivity.Shutdown {
// ac.tearDown(...) has been invoked.
ac.mu.Unlock()
return errConnClosing
}
- if ac.down != nil {
- ac.down(downErrorf(false, true, "%v", errNetworkIO))
- ac.down = nil
- }
- ac.state = Connecting
- ac.stateCV.Broadcast()
- t := ac.transport
ac.mu.Unlock()
- if closeTransport && t != nil {
- t.Close()
- }
sleepTime := ac.dopts.bs.backoff(retries)
timeout := minConnectTimeout
if timeout < sleepTime {
@@ -766,45 +936,51 @@ func (ac *addrConn) resetTransport(closeTransport bool) error {
Metadata: ac.addr.Metadata,
}
newTransport, err := transport.NewClientTransport(ctx, sinfo, ac.dopts.copts)
+ // Don't call cancel in success path due to a race in Go 1.6:
+ // https://github.com/golang/go/issues/15078.
if err != nil {
cancel()
if e, ok := err.(transport.ConnectionError); ok && !e.Temporary() {
return err
}
- grpclog.Printf("grpc: addrConn.resetTransport failed to create client transport: %v; Reconnecting to %v", err, ac.addr)
+ grpclog.Warningf("grpc: addrConn.resetTransport failed to create client transport: %v; Reconnecting to %v", err, ac.addr)
ac.mu.Lock()
- if ac.state == Shutdown {
+ if ac.state == connectivity.Shutdown {
// ac.tearDown(...) has been invoked.
ac.mu.Unlock()
return errConnClosing
}
ac.errorf("transient failure: %v", err)
- ac.state = TransientFailure
- ac.stateCV.Broadcast()
+ oldState = ac.state
+ ac.state = connectivity.TransientFailure
+ ac.csEvltr.recordTransition(oldState, ac.state)
if ac.ready != nil {
close(ac.ready)
ac.ready = nil
}
ac.mu.Unlock()
- closeTransport = false
+ timer := time.NewTimer(sleepTime - time.Since(connectTime))
select {
- case <-time.After(sleepTime - time.Since(connectTime)):
+ case <-timer.C:
case <-ac.ctx.Done():
+ timer.Stop()
return ac.ctx.Err()
}
+ timer.Stop()
continue
}
ac.mu.Lock()
ac.printf("ready")
- if ac.state == Shutdown {
+ if ac.state == connectivity.Shutdown {
// ac.tearDown(...) has been invoked.
ac.mu.Unlock()
newTransport.Close()
return errConnClosing
}
- ac.state = Ready
- ac.stateCV.Broadcast()
+ oldState = ac.state
+ ac.state = connectivity.Ready
+ ac.csEvltr.recordTransition(oldState, ac.state)
ac.transport = newTransport
if ac.ready != nil {
close(ac.ready)
@@ -836,43 +1012,59 @@ func (ac *addrConn) transportMonitor() {
}
return
case <-t.GoAway():
- // If GoAway happens without any network I/O error, ac is closed without shutting down the
- // underlying transport (the transport will be closed when all the pending RPCs finished or
- // failed.).
- // If GoAway and some network I/O error happen concurrently, ac and its underlying transport
- // are closed.
- // In both cases, a new ac is created.
+ ac.adjustParams(t.GetGoAwayReason())
+ // If GoAway happens without any network I/O error, the underlying transport
+ // will be gracefully closed, and a new transport will be created.
+ // (The transport will be closed when all the pending RPCs finished or failed.)
+ // If GoAway and some network I/O error happen concurrently, the underlying transport
+ // will be closed, and a new transport will be created.
+ var drain bool
select {
case <-t.Error():
- ac.cc.resetAddrConn(ac.addr, true, errNetworkIO)
default:
- ac.cc.resetAddrConn(ac.addr, true, errConnDrain)
+ drain = true
+ }
+ if err := ac.resetTransport(drain); err != nil {
+ grpclog.Infof("get error from resetTransport %v, transportMonitor returning", err)
+ if err != errConnClosing {
+ // Keep this ac in cc.conns, to get the reason it's torn down.
+ ac.tearDown(err)
+ }
+ return
}
- return
case <-t.Error():
select {
case <-ac.ctx.Done():
t.Close()
return
case <-t.GoAway():
- ac.cc.resetAddrConn(ac.addr, true, errNetworkIO)
- return
+ ac.adjustParams(t.GetGoAwayReason())
+ if err := ac.resetTransport(false); err != nil {
+ grpclog.Infof("get error from resetTransport %v, transportMonitor returning", err)
+ if err != errConnClosing {
+ // Keep this ac in cc.conns, to get the reason it's torn down.
+ ac.tearDown(err)
+ }
+ return
+ }
default:
}
ac.mu.Lock()
- if ac.state == Shutdown {
+ if ac.state == connectivity.Shutdown {
// ac has been shutdown.
ac.mu.Unlock()
return
}
- ac.state = TransientFailure
- ac.stateCV.Broadcast()
+ oldState := ac.state
+ ac.state = connectivity.TransientFailure
+ ac.csEvltr.recordTransition(oldState, ac.state)
ac.mu.Unlock()
- if err := ac.resetTransport(true); err != nil {
+ if err := ac.resetTransport(false); err != nil {
+ grpclog.Infof("get error from resetTransport %v, transportMonitor returning", err)
ac.mu.Lock()
ac.printf("transport exiting: %v", err)
ac.mu.Unlock()
- grpclog.Printf("grpc: addrConn.transportMonitor exits due to: %v", err)
+ grpclog.Warningf("grpc: addrConn.transportMonitor exits due to: %v", err)
if err != errConnClosing {
// Keep this ac in cc.conns, to get the reason it's torn down.
ac.tearDown(err)
@@ -884,12 +1076,12 @@ func (ac *addrConn) transportMonitor() {
}
// wait blocks until i) the new transport is up or ii) ctx is done or iii) ac is closed or
-// iv) transport is in TransientFailure and there is a balancer/failfast is true.
+// iv) transport is in connectivity.TransientFailure and there is a balancer/failfast is true.
func (ac *addrConn) wait(ctx context.Context, hasBalancer, failfast bool) (transport.ClientTransport, error) {
for {
ac.mu.Lock()
switch {
- case ac.state == Shutdown:
+ case ac.state == connectivity.Shutdown:
if failfast || !hasBalancer {
// RPC is failfast or balancer is nil. This RPC should fail with ac.tearDownErr.
err := ac.tearDownErr
@@ -898,11 +1090,11 @@ func (ac *addrConn) wait(ctx context.Context, hasBalancer, failfast bool) (trans
}
ac.mu.Unlock()
return nil, errConnClosing
- case ac.state == Ready:
+ case ac.state == connectivity.Ready:
ct := ac.transport
ac.mu.Unlock()
return ct, nil
- case ac.state == TransientFailure:
+ case ac.state == connectivity.TransientFailure:
if failfast || hasBalancer {
ac.mu.Unlock()
return nil, errConnUnavailable
@@ -944,12 +1136,13 @@ func (ac *addrConn) tearDown(err error) {
// address removal and GoAway.
ac.transport.GracefulClose()
}
- if ac.state == Shutdown {
+ if ac.state == connectivity.Shutdown {
return
}
- ac.state = Shutdown
+ oldState := ac.state
+ ac.state = connectivity.Shutdown
ac.tearDownErr = err
- ac.stateCV.Broadcast()
+ ac.csEvltr.recordTransition(oldState, ac.state)
if ac.events != nil {
ac.events.Finish()
ac.events = nil
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codec.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codec.go
new file mode 100644
index 00000000..905b048e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codec.go
@@ -0,0 +1,104 @@
+/*
+ *
+ * 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 (
+ "math"
+ "sync"
+
+ "github.com/golang/protobuf/proto"
+)
+
+// 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
+ // String returns the name of the Codec implementation. The returned
+ // string will be used as part of content type in transmission.
+ String() string
+}
+
+// protoCodec is a Codec implementation with protobuf. It is the default codec for gRPC.
+type protoCodec 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 (p protoCodec) 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 (p protoCodec) Marshal(v interface{}) ([]byte, error) {
+ cb := protoBufferPool.Get().(*cachedProtoBuffer)
+ out, err := p.marshal(v, cb)
+
+ // put back buffer and lose the ref to the slice
+ cb.SetBuf(nil)
+ protoBufferPool.Put(cb)
+ return out, err
+}
+
+func (p protoCodec) Unmarshal(data []byte, v interface{}) error {
+ cb := protoBufferPool.Get().(*cachedProtoBuffer)
+ cb.SetBuf(data)
+ v.(proto.Message).Reset()
+ err := cb.Unmarshal(v.(proto.Message))
+ cb.SetBuf(nil)
+ protoBufferPool.Put(cb)
+ return err
+}
+
+func (protoCodec) String() string {
+ return "proto"
+}
+
+var (
+ protoBufferPool = &sync.Pool{
+ New: func() interface{} {
+ return &cachedProtoBuffer{
+ Buffer: proto.Buffer{},
+ lastMarshaledSize: 16,
+ }
+ },
+ }
+)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codes/codes.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codes/codes.go
index e14b464a..21e7733a 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codes/codes.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/codes/codes.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -44,7 +29,7 @@ const (
// OK is returned on success.
OK Code = 0
- // Canceled indicates the operation was cancelled (typically by the caller).
+ // 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
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/connectivity/connectivity.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/connectivity/connectivity.go
new file mode 100644
index 00000000..568ef5dc
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/connectivity/connectivity.go
@@ -0,0 +1,72 @@
+/*
+ *
+ * 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 (
+ "golang.org/x/net/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 ClienConn 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials.go
index 4d45c3e3..2475fe83 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -102,6 +87,10 @@ type TransportCredentials interface {
// 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.
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
@@ -192,14 +181,14 @@ func NewTLS(c *tls.Config) TransportCredentials {
return tc
}
-// NewClientTLSFromCert constructs a TLS from the input certificate for client.
+// 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 a TLS from the input certificate file for client.
+// 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) {
@@ -214,12 +203,12 @@ func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredent
return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}), nil
}
-// NewServerTLSFromCert constructs a TLS from the input certificate for server.
+// 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 a TLS from the input certificate file and key
+// 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)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go
index 9647b9ec..60409aac 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go17.go
@@ -1,35 +1,21 @@
// +build go1.7
+// +build !go1.8
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -44,8 +30,6 @@ import (
// contains a mutex and must not be copied.
//
// If cfg is nil, a new zero tls.Config is returned.
-//
-// TODO replace this function with official clone function.
func cloneTLSConfig(cfg *tls.Config) *tls.Config {
if cfg == nil {
return &tls.Config{}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go18.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go18.go
new file mode 100644
index 00000000..93f0e1d8
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_go18.go
@@ -0,0 +1,38 @@
+// +build go1.8
+
+/*
+ *
+ * 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 credentials
+
+import (
+ "crypto/tls"
+)
+
+// 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.
+func cloneTLSConfig(cfg *tls.Config) *tls.Config {
+ if cfg == nil {
+ return &tls.Config{}
+ }
+
+ return cfg.Clone()
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go
index 09b8d12c..d6bbcc9f 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go
@@ -2,34 +2,19 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -44,8 +29,6 @@ import (
// contains a mutex and must not be copied.
//
// If cfg is nil, a new zero tls.Config is returned.
-//
-// TODO replace this function with official clone function.
func cloneTLSConfig(cfg *tls.Config) *tls.Config {
if cfg == nil {
return &tls.Config{}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/doc.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/doc.go
index a35f2188..187adbb1 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/doc.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/doc.go
@@ -1,6 +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 www.grpc.io for more information about gRPC.
+See grpc.io for more information about gRPC.
*/
package grpc // import "google.golang.org/grpc"
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go16.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go16.go
new file mode 100644
index 00000000..f3dbf217
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go16.go
@@ -0,0 +1,98 @@
+// +build go1.6,!go1.7
+
+/*
+ *
+ * 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 (
+ "fmt"
+ "io"
+ "net"
+ "net/http"
+ "os"
+
+ "golang.org/x/net/context"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+ "google.golang.org/grpc/transport"
+)
+
+// dialContext connects to the address on the named network.
+func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
+ return (&net.Dialer{Cancel: ctx.Done()}).Dial(network, address)
+}
+
+func sendHTTPRequest(ctx context.Context, req *http.Request, conn net.Conn) error {
+ req.Cancel = ctx.Done()
+ if err := req.Write(conn); err != nil {
+ return fmt.Errorf("failed to write the HTTP request: %v", err)
+ }
+ return nil
+}
+
+// toRPCErr converts an error into an error from the status package.
+func toRPCErr(err error) error {
+ if _, ok := status.FromError(err); ok {
+ return err
+ }
+ switch e := err.(type) {
+ case transport.StreamError:
+ return status.Error(e.Code, e.Desc)
+ 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())
+ case ErrClientConnClosing:
+ return status.Error(codes.FailedPrecondition, err.Error())
+ }
+ }
+ return status.Error(codes.Unknown, err.Error())
+}
+
+// convertCode converts a standard Go error into its canonical code. Note that
+// this is only used to translate the error returned by the server applications.
+func convertCode(err error) codes.Code {
+ switch err {
+ case nil:
+ return codes.OK
+ case io.EOF:
+ return codes.OutOfRange
+ case io.ErrClosedPipe, io.ErrNoProgress, io.ErrShortBuffer, io.ErrShortWrite, io.ErrUnexpectedEOF:
+ return codes.FailedPrecondition
+ case os.ErrInvalid:
+ return codes.InvalidArgument
+ case context.Canceled:
+ return codes.Canceled
+ case context.DeadlineExceeded:
+ return codes.DeadlineExceeded
+ }
+ switch {
+ case os.IsExist(err):
+ return codes.AlreadyExists
+ case os.IsNotExist(err):
+ return codes.NotFound
+ case os.IsPermission(err):
+ return codes.PermissionDenied
+ }
+ return codes.Unknown
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go17.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go17.go
new file mode 100644
index 00000000..a3421d99
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/go17.go
@@ -0,0 +1,98 @@
+// +build go1.7
+
+/*
+ *
+ * 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"
+ "io"
+ "net"
+ "net/http"
+ "os"
+
+ netctx "golang.org/x/net/context"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+ "google.golang.org/grpc/transport"
+)
+
+// dialContext connects to the address on the named network.
+func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
+ return (&net.Dialer{}).DialContext(ctx, network, address)
+}
+
+func sendHTTPRequest(ctx context.Context, req *http.Request, conn net.Conn) error {
+ req = req.WithContext(ctx)
+ if err := req.Write(conn); err != nil {
+ return err
+ }
+ return nil
+}
+
+// toRPCErr converts an error into an error from the status package.
+func toRPCErr(err error) error {
+ if _, ok := status.FromError(err); ok {
+ return err
+ }
+ switch e := err.(type) {
+ case transport.StreamError:
+ return status.Error(e.Code, e.Desc)
+ case transport.ConnectionError:
+ return status.Error(codes.Unavailable, e.Desc)
+ default:
+ switch err {
+ case context.DeadlineExceeded, netctx.DeadlineExceeded:
+ return status.Error(codes.DeadlineExceeded, err.Error())
+ case context.Canceled, netctx.Canceled:
+ return status.Error(codes.Canceled, err.Error())
+ case ErrClientConnClosing:
+ return status.Error(codes.FailedPrecondition, err.Error())
+ }
+ }
+ return status.Error(codes.Unknown, err.Error())
+}
+
+// convertCode converts a standard Go error into its canonical code. Note that
+// this is only used to translate the error returned by the server applications.
+func convertCode(err error) codes.Code {
+ switch err {
+ case nil:
+ return codes.OK
+ case io.EOF:
+ return codes.OutOfRange
+ case io.ErrClosedPipe, io.ErrNoProgress, io.ErrShortBuffer, io.ErrShortWrite, io.ErrUnexpectedEOF:
+ return codes.FailedPrecondition
+ case os.ErrInvalid:
+ return codes.InvalidArgument
+ case context.Canceled, netctx.Canceled:
+ return codes.Canceled
+ case context.DeadlineExceeded, netctx.DeadlineExceeded:
+ return codes.DeadlineExceeded
+ }
+ switch {
+ case os.IsExist(err):
+ return codes.AlreadyExists
+ case os.IsNotExist(err):
+ return codes.NotFound
+ case os.IsPermission(err):
+ return codes.PermissionDenied
+ }
+ return codes.Unknown
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb.go
new file mode 100644
index 00000000..f7b6b7da
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb.go
@@ -0,0 +1,737 @@
+/*
+ *
+ * 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 (
+ "errors"
+ "fmt"
+ "math/rand"
+ "net"
+ "sync"
+ "time"
+
+ "golang.org/x/net/context"
+ "google.golang.org/grpc/codes"
+ lbpb "google.golang.org/grpc/grpclb/grpc_lb_v1"
+ "google.golang.org/grpc/grpclog"
+ "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/naming"
+)
+
+// Client API for LoadBalancer service.
+// Mostly copied from generated pb.go file.
+// To avoid circular dependency.
+type loadBalancerClient struct {
+ cc *ClientConn
+}
+
+func (c *loadBalancerClient) BalanceLoad(ctx context.Context, opts ...CallOption) (*balanceLoadClientStream, error) {
+ desc := &StreamDesc{
+ StreamName: "BalanceLoad",
+ ServerStreams: true,
+ ClientStreams: true,
+ }
+ stream, err := NewClientStream(ctx, desc, c.cc, "/grpc.lb.v1.LoadBalancer/BalanceLoad", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &balanceLoadClientStream{stream}
+ return x, nil
+}
+
+type balanceLoadClientStream struct {
+ ClientStream
+}
+
+func (x *balanceLoadClientStream) Send(m *lbpb.LoadBalanceRequest) error {
+ return x.ClientStream.SendMsg(m)
+}
+
+func (x *balanceLoadClientStream) Recv() (*lbpb.LoadBalanceResponse, error) {
+ m := new(lbpb.LoadBalanceResponse)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// NewGRPCLBBalancer creates a grpclb load balancer.
+func NewGRPCLBBalancer(r naming.Resolver) Balancer {
+ return &balancer{
+ r: r,
+ }
+}
+
+type remoteBalancerInfo struct {
+ addr string
+ // the server name used for authentication with the remote LB server.
+ name string
+}
+
+// grpclbAddrInfo consists of the information of a backend server.
+type grpclbAddrInfo struct {
+ addr Address
+ connected bool
+ // dropForRateLimiting indicates whether this particular request should be
+ // dropped by the client for rate limiting.
+ dropForRateLimiting bool
+ // dropForLoadBalancing indicates whether this particular request should be
+ // dropped by the client for load balancing.
+ dropForLoadBalancing bool
+}
+
+type balancer struct {
+ r naming.Resolver
+ target string
+ mu sync.Mutex
+ seq int // a sequence number to make sure addrCh does not get stale addresses.
+ w naming.Watcher
+ addrCh chan []Address
+ rbs []remoteBalancerInfo
+ addrs []*grpclbAddrInfo
+ next int
+ waitCh chan struct{}
+ done bool
+ expTimer *time.Timer
+ rand *rand.Rand
+
+ clientStats lbpb.ClientStats
+}
+
+func (b *balancer) watchAddrUpdates(w naming.Watcher, ch chan []remoteBalancerInfo) error {
+ updates, err := w.Next()
+ if err != nil {
+ grpclog.Warningf("grpclb: failed to get next addr update from watcher: %v", err)
+ return err
+ }
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.done {
+ return ErrClientConnClosing
+ }
+ for _, update := range updates {
+ switch update.Op {
+ case naming.Add:
+ var exist bool
+ for _, v := range b.rbs {
+ // TODO: Is the same addr with different server name a different balancer?
+ if update.Addr == v.addr {
+ exist = true
+ break
+ }
+ }
+ if exist {
+ continue
+ }
+ md, ok := update.Metadata.(*naming.AddrMetadataGRPCLB)
+ if !ok {
+ // TODO: Revisit the handling here and may introduce some fallback mechanism.
+ grpclog.Errorf("The name resolution contains unexpected metadata %v", update.Metadata)
+ continue
+ }
+ switch md.AddrType {
+ case naming.Backend:
+ // TODO: Revisit the handling here and may introduce some fallback mechanism.
+ grpclog.Errorf("The name resolution does not give grpclb addresses")
+ continue
+ case naming.GRPCLB:
+ b.rbs = append(b.rbs, remoteBalancerInfo{
+ addr: update.Addr,
+ name: md.ServerName,
+ })
+ default:
+ grpclog.Errorf("Received unknow address type %d", md.AddrType)
+ continue
+ }
+ case naming.Delete:
+ for i, v := range b.rbs {
+ if update.Addr == v.addr {
+ copy(b.rbs[i:], b.rbs[i+1:])
+ b.rbs = b.rbs[:len(b.rbs)-1]
+ break
+ }
+ }
+ default:
+ grpclog.Errorf("Unknown update.Op %v", update.Op)
+ }
+ }
+ // TODO: Fall back to the basic round-robin load balancing if the resulting address is
+ // not a load balancer.
+ select {
+ case <-ch:
+ default:
+ }
+ ch <- b.rbs
+ return nil
+}
+
+func (b *balancer) serverListExpire(seq int) {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ // TODO: gRPC interanls do not clear the connections when the server list is stale.
+ // This means RPCs will keep using the existing server list until b receives new
+ // server list even though the list is expired. Revisit this behavior later.
+ if b.done || seq < b.seq {
+ return
+ }
+ b.next = 0
+ b.addrs = nil
+ // Ask grpc internals to close all the corresponding connections.
+ b.addrCh <- nil
+}
+
+func convertDuration(d *lbpb.Duration) time.Duration {
+ if d == nil {
+ return 0
+ }
+ return time.Duration(d.Seconds)*time.Second + time.Duration(d.Nanos)*time.Nanosecond
+}
+
+func (b *balancer) processServerList(l *lbpb.ServerList, seq int) {
+ if l == nil {
+ return
+ }
+ servers := l.GetServers()
+ expiration := convertDuration(l.GetExpirationInterval())
+ var (
+ sl []*grpclbAddrInfo
+ addrs []Address
+ )
+ for _, s := range servers {
+ md := metadata.Pairs("lb-token", s.LoadBalanceToken)
+ ip := net.IP(s.IpAddress)
+ ipStr := ip.String()
+ if ip.To4() == nil {
+ // Add square brackets to ipv6 addresses, otherwise net.Dial() and
+ // net.SplitHostPort() will return too many colons error.
+ ipStr = fmt.Sprintf("[%s]", ipStr)
+ }
+ addr := Address{
+ Addr: fmt.Sprintf("%s:%d", ipStr, s.Port),
+ Metadata: &md,
+ }
+ sl = append(sl, &grpclbAddrInfo{
+ addr: addr,
+ dropForRateLimiting: s.DropForRateLimiting,
+ dropForLoadBalancing: s.DropForLoadBalancing,
+ })
+ addrs = append(addrs, addr)
+ }
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.done || seq < b.seq {
+ return
+ }
+ if len(sl) > 0 {
+ // reset b.next to 0 when replacing the server list.
+ b.next = 0
+ b.addrs = sl
+ b.addrCh <- addrs
+ if b.expTimer != nil {
+ b.expTimer.Stop()
+ b.expTimer = nil
+ }
+ if expiration > 0 {
+ b.expTimer = time.AfterFunc(expiration, func() {
+ b.serverListExpire(seq)
+ })
+ }
+ }
+ return
+}
+
+func (b *balancer) sendLoadReport(s *balanceLoadClientStream, interval time.Duration, done <-chan struct{}) {
+ ticker := time.NewTicker(interval)
+ defer ticker.Stop()
+ for {
+ select {
+ case <-ticker.C:
+ case <-done:
+ return
+ }
+ b.mu.Lock()
+ stats := b.clientStats
+ b.clientStats = lbpb.ClientStats{} // Clear the stats.
+ b.mu.Unlock()
+ t := time.Now()
+ stats.Timestamp = &lbpb.Timestamp{
+ Seconds: t.Unix(),
+ Nanos: int32(t.Nanosecond()),
+ }
+ if err := s.Send(&lbpb.LoadBalanceRequest{
+ LoadBalanceRequestType: &lbpb.LoadBalanceRequest_ClientStats{
+ ClientStats: &stats,
+ },
+ }); err != nil {
+ grpclog.Errorf("grpclb: failed to send load report: %v", err)
+ return
+ }
+ }
+}
+
+func (b *balancer) callRemoteBalancer(lbc *loadBalancerClient, seq int) (retry bool) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ stream, err := lbc.BalanceLoad(ctx)
+ if err != nil {
+ grpclog.Errorf("grpclb: failed to perform RPC to the remote balancer %v", err)
+ return
+ }
+ b.mu.Lock()
+ if b.done {
+ b.mu.Unlock()
+ return
+ }
+ b.mu.Unlock()
+ initReq := &lbpb.LoadBalanceRequest{
+ LoadBalanceRequestType: &lbpb.LoadBalanceRequest_InitialRequest{
+ InitialRequest: &lbpb.InitialLoadBalanceRequest{
+ Name: b.target,
+ },
+ },
+ }
+ if err := stream.Send(initReq); err != nil {
+ grpclog.Errorf("grpclb: failed to send init request: %v", err)
+ // TODO: backoff on retry?
+ return true
+ }
+ reply, err := stream.Recv()
+ if err != nil {
+ grpclog.Errorf("grpclb: failed to recv init response: %v", err)
+ // TODO: backoff on retry?
+ return true
+ }
+ initResp := reply.GetInitialResponse()
+ if initResp == nil {
+ grpclog.Errorf("grpclb: reply from remote balancer did not include initial response.")
+ return
+ }
+ // TODO: Support delegation.
+ if initResp.LoadBalancerDelegate != "" {
+ // delegation
+ grpclog.Errorf("TODO: Delegation is not supported yet.")
+ return
+ }
+ streamDone := make(chan struct{})
+ defer close(streamDone)
+ b.mu.Lock()
+ b.clientStats = lbpb.ClientStats{} // Clear client stats.
+ b.mu.Unlock()
+ if d := convertDuration(initResp.ClientStatsReportInterval); d > 0 {
+ go b.sendLoadReport(stream, d, streamDone)
+ }
+ // Retrieve the server list.
+ for {
+ reply, err := stream.Recv()
+ if err != nil {
+ grpclog.Errorf("grpclb: failed to recv server list: %v", err)
+ break
+ }
+ b.mu.Lock()
+ if b.done || seq < b.seq {
+ b.mu.Unlock()
+ return
+ }
+ b.seq++ // tick when receiving a new list of servers.
+ seq = b.seq
+ b.mu.Unlock()
+ if serverList := reply.GetServerList(); serverList != nil {
+ b.processServerList(serverList, seq)
+ }
+ }
+ return true
+}
+
+func (b *balancer) Start(target string, config BalancerConfig) error {
+ b.rand = rand.New(rand.NewSource(time.Now().Unix()))
+ // TODO: Fall back to the basic direct connection if there is no name resolver.
+ if b.r == nil {
+ return errors.New("there is no name resolver installed")
+ }
+ b.target = target
+ b.mu.Lock()
+ if b.done {
+ b.mu.Unlock()
+ return ErrClientConnClosing
+ }
+ b.addrCh = make(chan []Address)
+ w, err := b.r.Resolve(target)
+ if err != nil {
+ b.mu.Unlock()
+ grpclog.Errorf("grpclb: failed to resolve address: %v, err: %v", target, err)
+ return err
+ }
+ b.w = w
+ b.mu.Unlock()
+ balancerAddrsCh := make(chan []remoteBalancerInfo, 1)
+ // Spawn a goroutine to monitor the name resolution of remote load balancer.
+ go func() {
+ for {
+ if err := b.watchAddrUpdates(w, balancerAddrsCh); err != nil {
+ grpclog.Warningf("grpclb: the naming watcher stops working due to %v.\n", err)
+ close(balancerAddrsCh)
+ return
+ }
+ }
+ }()
+ // Spawn a goroutine to talk to the remote load balancer.
+ go func() {
+ var (
+ cc *ClientConn
+ // ccError is closed when there is an error in the current cc.
+ // A new rb should be picked from rbs and connected.
+ ccError chan struct{}
+ rb *remoteBalancerInfo
+ rbs []remoteBalancerInfo
+ rbIdx int
+ )
+
+ defer func() {
+ if ccError != nil {
+ select {
+ case <-ccError:
+ default:
+ close(ccError)
+ }
+ }
+ if cc != nil {
+ cc.Close()
+ }
+ }()
+
+ for {
+ var ok bool
+ select {
+ case rbs, ok = <-balancerAddrsCh:
+ if !ok {
+ return
+ }
+ foundIdx := -1
+ if rb != nil {
+ for i, trb := range rbs {
+ if trb == *rb {
+ foundIdx = i
+ break
+ }
+ }
+ }
+ if foundIdx >= 0 {
+ if foundIdx >= 1 {
+ // Move the address in use to the beginning of the list.
+ b.rbs[0], b.rbs[foundIdx] = b.rbs[foundIdx], b.rbs[0]
+ rbIdx = 0
+ }
+ continue // If found, don't dial new cc.
+ } else if len(rbs) > 0 {
+ // Pick a random one from the list, instead of always using the first one.
+ if l := len(rbs); l > 1 && rb != nil {
+ tmpIdx := b.rand.Intn(l - 1)
+ b.rbs[0], b.rbs[tmpIdx] = b.rbs[tmpIdx], b.rbs[0]
+ }
+ rbIdx = 0
+ rb = &rbs[0]
+ } else {
+ // foundIdx < 0 && len(rbs) <= 0.
+ rb = nil
+ }
+ case <-ccError:
+ ccError = nil
+ if rbIdx < len(rbs)-1 {
+ rbIdx++
+ rb = &rbs[rbIdx]
+ } else {
+ rb = nil
+ }
+ }
+
+ if rb == nil {
+ continue
+ }
+
+ if cc != nil {
+ cc.Close()
+ }
+ // Talk to the remote load balancer to get the server list.
+ var (
+ err error
+ dopts []DialOption
+ )
+ if creds := config.DialCreds; creds != nil {
+ if rb.name != "" {
+ if err := creds.OverrideServerName(rb.name); err != nil {
+ grpclog.Warningf("grpclb: failed to override the server name in the credentials: %v", err)
+ continue
+ }
+ }
+ dopts = append(dopts, WithTransportCredentials(creds))
+ } else {
+ dopts = append(dopts, WithInsecure())
+ }
+ if dialer := config.Dialer; dialer != nil {
+ // WithDialer takes a different type of function, so we instead use a special DialOption here.
+ dopts = append(dopts, func(o *dialOptions) { o.copts.Dialer = dialer })
+ }
+ ccError = make(chan struct{})
+ cc, err = Dial(rb.addr, dopts...)
+ if err != nil {
+ grpclog.Warningf("grpclb: failed to setup a connection to the remote balancer %v: %v", rb.addr, err)
+ close(ccError)
+ continue
+ }
+ b.mu.Lock()
+ b.seq++ // tick when getting a new balancer address
+ seq := b.seq
+ b.next = 0
+ b.mu.Unlock()
+ go func(cc *ClientConn, ccError chan struct{}) {
+ lbc := &loadBalancerClient{cc}
+ b.callRemoteBalancer(lbc, seq)
+ cc.Close()
+ select {
+ case <-ccError:
+ default:
+ close(ccError)
+ }
+ }(cc, ccError)
+ }
+ }()
+ return nil
+}
+
+func (b *balancer) down(addr Address, err error) {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ for _, a := range b.addrs {
+ if addr == a.addr {
+ a.connected = false
+ break
+ }
+ }
+}
+
+func (b *balancer) Up(addr Address) func(error) {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.done {
+ return nil
+ }
+ var cnt int
+ for _, a := range b.addrs {
+ if a.addr == addr {
+ if a.connected {
+ return nil
+ }
+ a.connected = true
+ }
+ if a.connected && !a.dropForRateLimiting && !a.dropForLoadBalancing {
+ cnt++
+ }
+ }
+ // addr is the only one which is connected. Notify the Get() callers who are blocking.
+ if cnt == 1 && b.waitCh != nil {
+ close(b.waitCh)
+ b.waitCh = nil
+ }
+ return func(err error) {
+ b.down(addr, err)
+ }
+}
+
+func (b *balancer) Get(ctx context.Context, opts BalancerGetOptions) (addr Address, put func(), err error) {
+ var ch chan struct{}
+ b.mu.Lock()
+ if b.done {
+ b.mu.Unlock()
+ err = ErrClientConnClosing
+ return
+ }
+ seq := b.seq
+
+ defer func() {
+ if err != nil {
+ return
+ }
+ put = func() {
+ s, ok := rpcInfoFromContext(ctx)
+ if !ok {
+ return
+ }
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.done || seq < b.seq {
+ return
+ }
+ b.clientStats.NumCallsFinished++
+ if !s.bytesSent {
+ b.clientStats.NumCallsFinishedWithClientFailedToSend++
+ } else if s.bytesReceived {
+ b.clientStats.NumCallsFinishedKnownReceived++
+ }
+ }
+ }()
+
+ b.clientStats.NumCallsStarted++
+ if len(b.addrs) > 0 {
+ if b.next >= len(b.addrs) {
+ b.next = 0
+ }
+ next := b.next
+ for {
+ a := b.addrs[next]
+ next = (next + 1) % len(b.addrs)
+ if a.connected {
+ if !a.dropForRateLimiting && !a.dropForLoadBalancing {
+ addr = a.addr
+ b.next = next
+ b.mu.Unlock()
+ return
+ }
+ if !opts.BlockingWait {
+ b.next = next
+ if a.dropForLoadBalancing {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithDropForLoadBalancing++
+ } else if a.dropForRateLimiting {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithDropForRateLimiting++
+ }
+ b.mu.Unlock()
+ err = Errorf(codes.Unavailable, "%s drops requests", a.addr.Addr)
+ return
+ }
+ }
+ if next == b.next {
+ // Has iterated all the possible address but none is connected.
+ break
+ }
+ }
+ }
+ if !opts.BlockingWait {
+ if len(b.addrs) == 0 {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithClientFailedToSend++
+ b.mu.Unlock()
+ err = Errorf(codes.Unavailable, "there is no address available")
+ return
+ }
+ // Returns the next addr on b.addrs for a failfast RPC.
+ addr = b.addrs[b.next].addr
+ b.next++
+ b.mu.Unlock()
+ return
+ }
+ // Wait on b.waitCh for non-failfast RPCs.
+ if b.waitCh == nil {
+ ch = make(chan struct{})
+ b.waitCh = ch
+ } else {
+ ch = b.waitCh
+ }
+ b.mu.Unlock()
+ for {
+ select {
+ case <-ctx.Done():
+ b.mu.Lock()
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithClientFailedToSend++
+ b.mu.Unlock()
+ err = ctx.Err()
+ return
+ case <-ch:
+ b.mu.Lock()
+ if b.done {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithClientFailedToSend++
+ b.mu.Unlock()
+ err = ErrClientConnClosing
+ return
+ }
+
+ if len(b.addrs) > 0 {
+ if b.next >= len(b.addrs) {
+ b.next = 0
+ }
+ next := b.next
+ for {
+ a := b.addrs[next]
+ next = (next + 1) % len(b.addrs)
+ if a.connected {
+ if !a.dropForRateLimiting && !a.dropForLoadBalancing {
+ addr = a.addr
+ b.next = next
+ b.mu.Unlock()
+ return
+ }
+ if !opts.BlockingWait {
+ b.next = next
+ if a.dropForLoadBalancing {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithDropForLoadBalancing++
+ } else if a.dropForRateLimiting {
+ b.clientStats.NumCallsFinished++
+ b.clientStats.NumCallsFinishedWithDropForRateLimiting++
+ }
+ b.mu.Unlock()
+ err = Errorf(codes.Unavailable, "drop requests for the addreess %s", a.addr.Addr)
+ return
+ }
+ }
+ if next == b.next {
+ // Has iterated all the possible address but none is connected.
+ break
+ }
+ }
+ }
+ // The newly added addr got removed by Down() again.
+ if b.waitCh == nil {
+ ch = make(chan struct{})
+ b.waitCh = ch
+ } else {
+ ch = b.waitCh
+ }
+ b.mu.Unlock()
+ }
+ }
+}
+
+func (b *balancer) Notify() <-chan []Address {
+ return b.addrCh
+}
+
+func (b *balancer) Close() error {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if b.done {
+ return errBalancerClosed
+ }
+ b.done = true
+ if b.expTimer != nil {
+ b.expTimer.Stop()
+ }
+ if b.waitCh != nil {
+ close(b.waitCh)
+ }
+ if b.addrCh != nil {
+ close(b.addrCh)
+ }
+ if b.w != nil {
+ b.w.Close()
+ }
+ return nil
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.pb.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.pb.go
new file mode 100644
index 00000000..f63941bd
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.pb.go
@@ -0,0 +1,629 @@
+// Code generated by protoc-gen-go.
+// source: grpclb.proto
+// DO NOT EDIT!
+
+/*
+Package grpc_lb_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+ grpclb.proto
+
+It has these top-level messages:
+ Duration
+ Timestamp
+ LoadBalanceRequest
+ InitialLoadBalanceRequest
+ ClientStats
+ LoadBalanceResponse
+ InitialLoadBalanceResponse
+ ServerList
+ Server
+*/
+package grpc_lb_v1
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import 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.ProtoPackageIsVersion2 // please upgrade the proto package
+
+type Duration struct {
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive.
+ Seconds int64 `protobuf:"varint,1,opt,name=seconds" 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" json:"nanos,omitempty"`
+}
+
+func (m *Duration) Reset() { *m = Duration{} }
+func (m *Duration) String() string { return proto.CompactTextString(m) }
+func (*Duration) ProtoMessage() {}
+func (*Duration) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+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
+}
+
+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" 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" json:"nanos,omitempty"`
+}
+
+func (m *Timestamp) Reset() { *m = Timestamp{} }
+func (m *Timestamp) String() string { return proto.CompactTextString(m) }
+func (*Timestamp) ProtoMessage() {}
+func (*Timestamp) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+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
+}
+
+type LoadBalanceRequest struct {
+ // Types that are valid to be assigned to LoadBalanceRequestType:
+ // *LoadBalanceRequest_InitialRequest
+ // *LoadBalanceRequest_ClientStats
+ LoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:"load_balance_request_type"`
+}
+
+func (m *LoadBalanceRequest) Reset() { *m = LoadBalanceRequest{} }
+func (m *LoadBalanceRequest) String() string { return proto.CompactTextString(m) }
+func (*LoadBalanceRequest) ProtoMessage() {}
+func (*LoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+type isLoadBalanceRequest_LoadBalanceRequestType interface {
+ isLoadBalanceRequest_LoadBalanceRequestType()
+}
+
+type LoadBalanceRequest_InitialRequest struct {
+ InitialRequest *InitialLoadBalanceRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest,oneof"`
+}
+type LoadBalanceRequest_ClientStats struct {
+ ClientStats *ClientStats `protobuf:"bytes,2,opt,name=client_stats,json=clientStats,oneof"`
+}
+
+func (*LoadBalanceRequest_InitialRequest) isLoadBalanceRequest_LoadBalanceRequestType() {}
+func (*LoadBalanceRequest_ClientStats) isLoadBalanceRequest_LoadBalanceRequestType() {}
+
+func (m *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType {
+ if m != nil {
+ return m.LoadBalanceRequestType
+ }
+ return nil
+}
+
+func (m *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest {
+ if x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_InitialRequest); ok {
+ return x.InitialRequest
+ }
+ return nil
+}
+
+func (m *LoadBalanceRequest) GetClientStats() *ClientStats {
+ if x, ok := m.GetLoadBalanceRequestType().(*LoadBalanceRequest_ClientStats); ok {
+ return x.ClientStats
+ }
+ return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*LoadBalanceRequest) 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 _LoadBalanceRequest_OneofMarshaler, _LoadBalanceRequest_OneofUnmarshaler, _LoadBalanceRequest_OneofSizer, []interface{}{
+ (*LoadBalanceRequest_InitialRequest)(nil),
+ (*LoadBalanceRequest_ClientStats)(nil),
+ }
+}
+
+func _LoadBalanceRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+ m := msg.(*LoadBalanceRequest)
+ // load_balance_request_type
+ switch x := m.LoadBalanceRequestType.(type) {
+ case *LoadBalanceRequest_InitialRequest:
+ b.EncodeVarint(1<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.InitialRequest); err != nil {
+ return err
+ }
+ case *LoadBalanceRequest_ClientStats:
+ b.EncodeVarint(2<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.ClientStats); err != nil {
+ return err
+ }
+ case nil:
+ default:
+ return fmt.Errorf("LoadBalanceRequest.LoadBalanceRequestType has unexpected type %T", x)
+ }
+ return nil
+}
+
+func _LoadBalanceRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+ m := msg.(*LoadBalanceRequest)
+ switch tag {
+ case 1: // load_balance_request_type.initial_request
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(InitialLoadBalanceRequest)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceRequestType = &LoadBalanceRequest_InitialRequest{msg}
+ return true, err
+ case 2: // load_balance_request_type.client_stats
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(ClientStats)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceRequestType = &LoadBalanceRequest_ClientStats{msg}
+ return true, err
+ default:
+ return false, nil
+ }
+}
+
+func _LoadBalanceRequest_OneofSizer(msg proto.Message) (n int) {
+ m := msg.(*LoadBalanceRequest)
+ // load_balance_request_type
+ switch x := m.LoadBalanceRequestType.(type) {
+ case *LoadBalanceRequest_InitialRequest:
+ s := proto.Size(x.InitialRequest)
+ n += proto.SizeVarint(1<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case *LoadBalanceRequest_ClientStats:
+ s := proto.Size(x.ClientStats)
+ n += proto.SizeVarint(2<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case nil:
+ default:
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+ }
+ return n
+}
+
+type InitialLoadBalanceRequest struct {
+ // Name of load balanced service (IE, balancer.service.com)
+ // length should be less than 256 bytes.
+ Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *InitialLoadBalanceRequest) Reset() { *m = InitialLoadBalanceRequest{} }
+func (m *InitialLoadBalanceRequest) String() string { return proto.CompactTextString(m) }
+func (*InitialLoadBalanceRequest) ProtoMessage() {}
+func (*InitialLoadBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *InitialLoadBalanceRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// Contains client level statistics that are useful to load balancing. Each
+// count except the timestamp should be reset to zero after reporting the stats.
+type ClientStats struct {
+ // The timestamp of generating the report.
+ Timestamp *Timestamp `protobuf:"bytes,1,opt,name=timestamp" json:"timestamp,omitempty"`
+ // The total number of RPCs that started.
+ NumCallsStarted int64 `protobuf:"varint,2,opt,name=num_calls_started,json=numCallsStarted" json:"num_calls_started,omitempty"`
+ // The total number of RPCs that finished.
+ NumCallsFinished int64 `protobuf:"varint,3,opt,name=num_calls_finished,json=numCallsFinished" json:"num_calls_finished,omitempty"`
+ // The total number of RPCs that were dropped by the client because of rate
+ // limiting.
+ NumCallsFinishedWithDropForRateLimiting int64 `protobuf:"varint,4,opt,name=num_calls_finished_with_drop_for_rate_limiting,json=numCallsFinishedWithDropForRateLimiting" json:"num_calls_finished_with_drop_for_rate_limiting,omitempty"`
+ // The total number of RPCs that were dropped by the client because of load
+ // balancing.
+ NumCallsFinishedWithDropForLoadBalancing int64 `protobuf:"varint,5,opt,name=num_calls_finished_with_drop_for_load_balancing,json=numCallsFinishedWithDropForLoadBalancing" json:"num_calls_finished_with_drop_for_load_balancing,omitempty"`
+ // The total number of RPCs that failed to reach a server except dropped RPCs.
+ NumCallsFinishedWithClientFailedToSend int64 `protobuf:"varint,6,opt,name=num_calls_finished_with_client_failed_to_send,json=numCallsFinishedWithClientFailedToSend" json:"num_calls_finished_with_client_failed_to_send,omitempty"`
+ // The total number of RPCs that finished and are known to have been received
+ // by a server.
+ NumCallsFinishedKnownReceived int64 `protobuf:"varint,7,opt,name=num_calls_finished_known_received,json=numCallsFinishedKnownReceived" json:"num_calls_finished_known_received,omitempty"`
+}
+
+func (m *ClientStats) Reset() { *m = ClientStats{} }
+func (m *ClientStats) String() string { return proto.CompactTextString(m) }
+func (*ClientStats) ProtoMessage() {}
+func (*ClientStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *ClientStats) GetTimestamp() *Timestamp {
+ if m != nil {
+ return m.Timestamp
+ }
+ return nil
+}
+
+func (m *ClientStats) GetNumCallsStarted() int64 {
+ if m != nil {
+ return m.NumCallsStarted
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinished() int64 {
+ if m != nil {
+ return m.NumCallsFinished
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithDropForRateLimiting() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithDropForRateLimiting
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithDropForLoadBalancing() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithDropForLoadBalancing
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64 {
+ if m != nil {
+ return m.NumCallsFinishedWithClientFailedToSend
+ }
+ return 0
+}
+
+func (m *ClientStats) GetNumCallsFinishedKnownReceived() int64 {
+ if m != nil {
+ return m.NumCallsFinishedKnownReceived
+ }
+ return 0
+}
+
+type LoadBalanceResponse struct {
+ // Types that are valid to be assigned to LoadBalanceResponseType:
+ // *LoadBalanceResponse_InitialResponse
+ // *LoadBalanceResponse_ServerList
+ LoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:"load_balance_response_type"`
+}
+
+func (m *LoadBalanceResponse) Reset() { *m = LoadBalanceResponse{} }
+func (m *LoadBalanceResponse) String() string { return proto.CompactTextString(m) }
+func (*LoadBalanceResponse) ProtoMessage() {}
+func (*LoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+type isLoadBalanceResponse_LoadBalanceResponseType interface {
+ isLoadBalanceResponse_LoadBalanceResponseType()
+}
+
+type LoadBalanceResponse_InitialResponse struct {
+ InitialResponse *InitialLoadBalanceResponse `protobuf:"bytes,1,opt,name=initial_response,json=initialResponse,oneof"`
+}
+type LoadBalanceResponse_ServerList struct {
+ ServerList *ServerList `protobuf:"bytes,2,opt,name=server_list,json=serverList,oneof"`
+}
+
+func (*LoadBalanceResponse_InitialResponse) isLoadBalanceResponse_LoadBalanceResponseType() {}
+func (*LoadBalanceResponse_ServerList) isLoadBalanceResponse_LoadBalanceResponseType() {}
+
+func (m *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType {
+ if m != nil {
+ return m.LoadBalanceResponseType
+ }
+ return nil
+}
+
+func (m *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse {
+ if x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_InitialResponse); ok {
+ return x.InitialResponse
+ }
+ return nil
+}
+
+func (m *LoadBalanceResponse) GetServerList() *ServerList {
+ if x, ok := m.GetLoadBalanceResponseType().(*LoadBalanceResponse_ServerList); ok {
+ return x.ServerList
+ }
+ return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*LoadBalanceResponse) 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 _LoadBalanceResponse_OneofMarshaler, _LoadBalanceResponse_OneofUnmarshaler, _LoadBalanceResponse_OneofSizer, []interface{}{
+ (*LoadBalanceResponse_InitialResponse)(nil),
+ (*LoadBalanceResponse_ServerList)(nil),
+ }
+}
+
+func _LoadBalanceResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+ m := msg.(*LoadBalanceResponse)
+ // load_balance_response_type
+ switch x := m.LoadBalanceResponseType.(type) {
+ case *LoadBalanceResponse_InitialResponse:
+ b.EncodeVarint(1<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.InitialResponse); err != nil {
+ return err
+ }
+ case *LoadBalanceResponse_ServerList:
+ b.EncodeVarint(2<<3 | proto.WireBytes)
+ if err := b.EncodeMessage(x.ServerList); err != nil {
+ return err
+ }
+ case nil:
+ default:
+ return fmt.Errorf("LoadBalanceResponse.LoadBalanceResponseType has unexpected type %T", x)
+ }
+ return nil
+}
+
+func _LoadBalanceResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+ m := msg.(*LoadBalanceResponse)
+ switch tag {
+ case 1: // load_balance_response_type.initial_response
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(InitialLoadBalanceResponse)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceResponseType = &LoadBalanceResponse_InitialResponse{msg}
+ return true, err
+ case 2: // load_balance_response_type.server_list
+ if wire != proto.WireBytes {
+ return true, proto.ErrInternalBadWireType
+ }
+ msg := new(ServerList)
+ err := b.DecodeMessage(msg)
+ m.LoadBalanceResponseType = &LoadBalanceResponse_ServerList{msg}
+ return true, err
+ default:
+ return false, nil
+ }
+}
+
+func _LoadBalanceResponse_OneofSizer(msg proto.Message) (n int) {
+ m := msg.(*LoadBalanceResponse)
+ // load_balance_response_type
+ switch x := m.LoadBalanceResponseType.(type) {
+ case *LoadBalanceResponse_InitialResponse:
+ s := proto.Size(x.InitialResponse)
+ n += proto.SizeVarint(1<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case *LoadBalanceResponse_ServerList:
+ s := proto.Size(x.ServerList)
+ n += proto.SizeVarint(2<<3 | proto.WireBytes)
+ n += proto.SizeVarint(uint64(s))
+ n += s
+ case nil:
+ default:
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+ }
+ return n
+}
+
+type InitialLoadBalanceResponse struct {
+ // This is an application layer redirect that indicates the client should use
+ // the specified server for load balancing. When this field is non-empty in
+ // the response, the client should open a separate connection to the
+ // load_balancer_delegate and call the BalanceLoad method. Its length should
+ // be less than 64 bytes.
+ LoadBalancerDelegate string `protobuf:"bytes,1,opt,name=load_balancer_delegate,json=loadBalancerDelegate" json:"load_balancer_delegate,omitempty"`
+ // This interval defines how often the client should send the client stats
+ // to the load balancer. Stats should only be reported when the duration is
+ // positive.
+ ClientStatsReportInterval *Duration `protobuf:"bytes,2,opt,name=client_stats_report_interval,json=clientStatsReportInterval" json:"client_stats_report_interval,omitempty"`
+}
+
+func (m *InitialLoadBalanceResponse) Reset() { *m = InitialLoadBalanceResponse{} }
+func (m *InitialLoadBalanceResponse) String() string { return proto.CompactTextString(m) }
+func (*InitialLoadBalanceResponse) ProtoMessage() {}
+func (*InitialLoadBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *InitialLoadBalanceResponse) GetLoadBalancerDelegate() string {
+ if m != nil {
+ return m.LoadBalancerDelegate
+ }
+ return ""
+}
+
+func (m *InitialLoadBalanceResponse) GetClientStatsReportInterval() *Duration {
+ if m != nil {
+ return m.ClientStatsReportInterval
+ }
+ return nil
+}
+
+type ServerList struct {
+ // Contains a list of servers selected by the load balancer. The list will
+ // be updated when server resolutions change or as needed to balance load
+ // across more servers. The client should consume the server list in order
+ // unless instructed otherwise via the client_config.
+ Servers []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
+ // Indicates the amount of time that the client should consider this server
+ // list as valid. It may be considered stale after waiting this interval of
+ // time after receiving the list. If the interval is not positive, the
+ // client can assume the list is valid until the next list is received.
+ ExpirationInterval *Duration `protobuf:"bytes,3,opt,name=expiration_interval,json=expirationInterval" json:"expiration_interval,omitempty"`
+}
+
+func (m *ServerList) Reset() { *m = ServerList{} }
+func (m *ServerList) String() string { return proto.CompactTextString(m) }
+func (*ServerList) ProtoMessage() {}
+func (*ServerList) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *ServerList) GetServers() []*Server {
+ if m != nil {
+ return m.Servers
+ }
+ return nil
+}
+
+func (m *ServerList) GetExpirationInterval() *Duration {
+ if m != nil {
+ return m.ExpirationInterval
+ }
+ return nil
+}
+
+// Contains server information. When none of the [drop_for_*] fields are true,
+// use the other fields. When drop_for_rate_limiting is true, ignore all other
+// fields. Use drop_for_load_balancing only when it is true and
+// drop_for_rate_limiting is false.
+type Server struct {
+ // A resolved address for the server, serialized in network-byte-order. It may
+ // either be an IPv4 or IPv6 address.
+ IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
+ // A resolved port number for the server.
+ Port int32 `protobuf:"varint,2,opt,name=port" json:"port,omitempty"`
+ // An opaque but printable token given to the frontend for each pick. All
+ // frontend requests for that pick must include the token in its initial
+ // metadata. The token is used by the backend to verify the request and to
+ // allow the backend to report load to the gRPC LB system.
+ //
+ // Its length is variable but less than 50 bytes.
+ LoadBalanceToken string `protobuf:"bytes,3,opt,name=load_balance_token,json=loadBalanceToken" json:"load_balance_token,omitempty"`
+ // Indicates whether this particular request should be dropped by the client
+ // for rate limiting.
+ DropForRateLimiting bool `protobuf:"varint,4,opt,name=drop_for_rate_limiting,json=dropForRateLimiting" json:"drop_for_rate_limiting,omitempty"`
+ // Indicates whether this particular request should be dropped by the client
+ // for load balancing.
+ DropForLoadBalancing bool `protobuf:"varint,5,opt,name=drop_for_load_balancing,json=dropForLoadBalancing" json:"drop_for_load_balancing,omitempty"`
+}
+
+func (m *Server) Reset() { *m = Server{} }
+func (m *Server) String() string { return proto.CompactTextString(m) }
+func (*Server) ProtoMessage() {}
+func (*Server) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *Server) GetIpAddress() []byte {
+ if m != nil {
+ return m.IpAddress
+ }
+ return nil
+}
+
+func (m *Server) GetPort() int32 {
+ if m != nil {
+ return m.Port
+ }
+ return 0
+}
+
+func (m *Server) GetLoadBalanceToken() string {
+ if m != nil {
+ return m.LoadBalanceToken
+ }
+ return ""
+}
+
+func (m *Server) GetDropForRateLimiting() bool {
+ if m != nil {
+ return m.DropForRateLimiting
+ }
+ return false
+}
+
+func (m *Server) GetDropForLoadBalancing() bool {
+ if m != nil {
+ return m.DropForLoadBalancing
+ }
+ return false
+}
+
+func init() {
+ proto.RegisterType((*Duration)(nil), "grpc.lb.v1.Duration")
+ proto.RegisterType((*Timestamp)(nil), "grpc.lb.v1.Timestamp")
+ proto.RegisterType((*LoadBalanceRequest)(nil), "grpc.lb.v1.LoadBalanceRequest")
+ proto.RegisterType((*InitialLoadBalanceRequest)(nil), "grpc.lb.v1.InitialLoadBalanceRequest")
+ proto.RegisterType((*ClientStats)(nil), "grpc.lb.v1.ClientStats")
+ proto.RegisterType((*LoadBalanceResponse)(nil), "grpc.lb.v1.LoadBalanceResponse")
+ proto.RegisterType((*InitialLoadBalanceResponse)(nil), "grpc.lb.v1.InitialLoadBalanceResponse")
+ proto.RegisterType((*ServerList)(nil), "grpc.lb.v1.ServerList")
+ proto.RegisterType((*Server)(nil), "grpc.lb.v1.Server")
+}
+
+func init() { proto.RegisterFile("grpclb.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+ // 733 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x4e, 0x1b, 0x39,
+ 0x14, 0x66, 0x36, 0xfc, 0xe5, 0x24, 0x5a, 0x58, 0x93, 0x85, 0xc0, 0xc2, 0x2e, 0x1b, 0xa9, 0x34,
+ 0xaa, 0x68, 0x68, 0x43, 0x7b, 0xd1, 0x9f, 0x9b, 0x02, 0x45, 0x41, 0xe5, 0xa2, 0x72, 0xa8, 0x7a,
+ 0x55, 0x59, 0x4e, 0xc6, 0x80, 0xc5, 0xc4, 0x9e, 0xda, 0x4e, 0x68, 0x2f, 0x7b, 0xd9, 0x47, 0xe9,
+ 0x63, 0x54, 0x7d, 0x86, 0xbe, 0x4f, 0x65, 0x7b, 0x26, 0x33, 0x90, 0x1f, 0xd4, 0xbb, 0xf1, 0xf1,
+ 0x77, 0xbe, 0xf3, 0xf9, 0xd8, 0xdf, 0x19, 0x28, 0x5f, 0xa8, 0xb8, 0x1b, 0x75, 0x1a, 0xb1, 0x92,
+ 0x46, 0x22, 0xb0, 0xab, 0x46, 0xd4, 0x69, 0x0c, 0x1e, 0xd7, 0x9e, 0xc3, 0xe2, 0x51, 0x5f, 0x51,
+ 0xc3, 0xa5, 0x40, 0x55, 0x58, 0xd0, 0xac, 0x2b, 0x45, 0xa8, 0xab, 0xc1, 0x76, 0x50, 0x2f, 0xe0,
+ 0x74, 0x89, 0x2a, 0x30, 0x27, 0xa8, 0x90, 0xba, 0xfa, 0xc7, 0x76, 0x50, 0x9f, 0xc3, 0x7e, 0x51,
+ 0x7b, 0x01, 0xc5, 0x33, 0xde, 0x63, 0xda, 0xd0, 0x5e, 0xfc, 0xdb, 0xc9, 0xdf, 0x03, 0x40, 0xa7,
+ 0x92, 0x86, 0x07, 0x34, 0xa2, 0xa2, 0xcb, 0x30, 0xfb, 0xd8, 0x67, 0xda, 0xa0, 0xb7, 0xb0, 0xc4,
+ 0x05, 0x37, 0x9c, 0x46, 0x44, 0xf9, 0x90, 0xa3, 0x2b, 0x35, 0xef, 0x35, 0x32, 0xd5, 0x8d, 0x13,
+ 0x0f, 0x19, 0xcd, 0x6f, 0xcd, 0xe0, 0x3f, 0x93, 0xfc, 0x94, 0xf1, 0x25, 0x94, 0xbb, 0x11, 0x67,
+ 0xc2, 0x10, 0x6d, 0xa8, 0xf1, 0x2a, 0x4a, 0xcd, 0xb5, 0x3c, 0xdd, 0xa1, 0xdb, 0x6f, 0xdb, 0xed,
+ 0xd6, 0x0c, 0x2e, 0x75, 0xb3, 0xe5, 0xc1, 0x3f, 0xb0, 0x1e, 0x49, 0x1a, 0x92, 0x8e, 0x2f, 0x93,
+ 0x8a, 0x22, 0xe6, 0x73, 0xcc, 0x6a, 0x7b, 0xb0, 0x3e, 0x51, 0x09, 0x42, 0x30, 0x2b, 0x68, 0x8f,
+ 0x39, 0xf9, 0x45, 0xec, 0xbe, 0x6b, 0x5f, 0x67, 0xa1, 0x94, 0x2b, 0x86, 0xf6, 0xa1, 0x68, 0xd2,
+ 0x0e, 0x26, 0xe7, 0xfc, 0x3b, 0x2f, 0x6c, 0xd8, 0x5e, 0x9c, 0xe1, 0xd0, 0x03, 0xf8, 0x4b, 0xf4,
+ 0x7b, 0xa4, 0x4b, 0xa3, 0x48, 0xdb, 0x33, 0x29, 0xc3, 0x42, 0x77, 0xaa, 0x02, 0x5e, 0x12, 0xfd,
+ 0xde, 0xa1, 0x8d, 0xb7, 0x7d, 0x18, 0xed, 0x02, 0xca, 0xb0, 0xe7, 0x5c, 0x70, 0x7d, 0xc9, 0xc2,
+ 0x6a, 0xc1, 0x81, 0x97, 0x53, 0xf0, 0x71, 0x12, 0x47, 0x04, 0x1a, 0xa3, 0x68, 0x72, 0xcd, 0xcd,
+ 0x25, 0x09, 0x95, 0x8c, 0xc9, 0xb9, 0x54, 0x44, 0x51, 0xc3, 0x48, 0xc4, 0x7b, 0xdc, 0x70, 0x71,
+ 0x51, 0x9d, 0x75, 0x4c, 0xf7, 0x6f, 0x33, 0xbd, 0xe7, 0xe6, 0xf2, 0x48, 0xc9, 0xf8, 0x58, 0x2a,
+ 0x4c, 0x0d, 0x3b, 0x4d, 0xe0, 0x88, 0xc2, 0xde, 0x9d, 0x05, 0x72, 0xed, 0xb6, 0x15, 0xe6, 0x5c,
+ 0x85, 0xfa, 0x94, 0x0a, 0x59, 0xef, 0x6d, 0x89, 0x0f, 0xf0, 0x70, 0x52, 0x89, 0xe4, 0x19, 0x9c,
+ 0x53, 0x1e, 0xb1, 0x90, 0x18, 0x49, 0x34, 0x13, 0x61, 0x75, 0xde, 0x15, 0xd8, 0x19, 0x57, 0xc0,
+ 0x5f, 0xd5, 0xb1, 0xc3, 0x9f, 0xc9, 0x36, 0x13, 0x21, 0x6a, 0xc1, 0xff, 0x63, 0xe8, 0xaf, 0x84,
+ 0xbc, 0x16, 0x44, 0xb1, 0x2e, 0xe3, 0x03, 0x16, 0x56, 0x17, 0x1c, 0xe5, 0xd6, 0x6d, 0xca, 0x37,
+ 0x16, 0x85, 0x13, 0x50, 0xed, 0x47, 0x00, 0x2b, 0x37, 0x9e, 0x8d, 0x8e, 0xa5, 0xd0, 0x0c, 0xb5,
+ 0x61, 0x39, 0x73, 0x80, 0x8f, 0x25, 0x4f, 0x63, 0xe7, 0x2e, 0x0b, 0x78, 0x74, 0x6b, 0x06, 0x2f,
+ 0x0d, 0x3d, 0x90, 0x90, 0x3e, 0x83, 0x92, 0x66, 0x6a, 0xc0, 0x14, 0x89, 0xb8, 0x36, 0x89, 0x07,
+ 0x56, 0xf3, 0x7c, 0x6d, 0xb7, 0x7d, 0xca, 0x9d, 0x87, 0x40, 0x0f, 0x57, 0x07, 0x9b, 0xb0, 0x71,
+ 0xcb, 0x01, 0x9e, 0xd3, 0x5b, 0xe0, 0x5b, 0x00, 0x1b, 0x93, 0xa5, 0xa0, 0x27, 0xb0, 0x9a, 0x4f,
+ 0x56, 0x24, 0x64, 0x11, 0xbb, 0xa0, 0x26, 0xb5, 0x45, 0x25, 0xca, 0x92, 0xd4, 0x51, 0xb2, 0x87,
+ 0xde, 0xc1, 0x66, 0xde, 0xb2, 0x44, 0xb1, 0x58, 0x2a, 0x43, 0xb8, 0x30, 0x4c, 0x0d, 0x68, 0x94,
+ 0xc8, 0xaf, 0xe4, 0xe5, 0xa7, 0x43, 0x0c, 0xaf, 0xe7, 0xdc, 0x8b, 0x5d, 0xde, 0x49, 0x92, 0x56,
+ 0xfb, 0x12, 0x00, 0x64, 0xc7, 0x44, 0xbb, 0x76, 0x62, 0xd9, 0x95, 0x9d, 0x58, 0x85, 0x7a, 0xa9,
+ 0x89, 0x46, 0xfb, 0x81, 0x53, 0x08, 0x7a, 0x0d, 0x2b, 0xec, 0x53, 0xcc, 0x7d, 0x95, 0x4c, 0x4a,
+ 0x61, 0x8a, 0x14, 0x94, 0x25, 0x0c, 0x35, 0xfc, 0x0c, 0x60, 0xde, 0x53, 0xa3, 0x2d, 0x00, 0x1e,
+ 0x13, 0x1a, 0x86, 0x8a, 0x69, 0x3f, 0x34, 0xcb, 0xb8, 0xc8, 0xe3, 0x57, 0x3e, 0x60, 0xe7, 0x87,
+ 0x55, 0x9f, 0x4c, 0x4d, 0xf7, 0x6d, 0xed, 0x7c, 0xe3, 0x2e, 0x8c, 0xbc, 0x62, 0xc2, 0x69, 0x28,
+ 0xe2, 0xe5, 0x5c, 0x2b, 0xcf, 0x6c, 0x1c, 0xed, 0xc3, 0xea, 0x14, 0xdb, 0x2e, 0xe2, 0x95, 0x70,
+ 0x8c, 0x45, 0x9f, 0xc2, 0xda, 0x34, 0x2b, 0x2e, 0xe2, 0x4a, 0x38, 0xc6, 0x76, 0xcd, 0x0e, 0x94,
+ 0x73, 0xf7, 0xaf, 0x10, 0x86, 0x52, 0xf2, 0x6d, 0xc3, 0xe8, 0xdf, 0x7c, 0x83, 0x46, 0x87, 0xe5,
+ 0xc6, 0x7f, 0x13, 0xf7, 0xfd, 0x43, 0xaa, 0x07, 0x8f, 0x82, 0xce, 0xbc, 0xfb, 0x7d, 0xed, 0xff,
+ 0x0a, 0x00, 0x00, 0xff, 0xff, 0x64, 0xbf, 0xda, 0x5e, 0xce, 0x06, 0x00, 0x00,
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.proto b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.proto
new file mode 100644
index 00000000..b13b3438
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclb/grpc_lb_v1/grpclb.proto
@@ -0,0 +1,164 @@
+// 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.
+
+syntax = "proto3";
+
+package grpc.lb.v1;
+
+message Duration {
+ // Signed seconds of the span of time. Must be from -315,576,000,000
+ // to +315,576,000,000 inclusive.
+ 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;
+}
+
+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;
+}
+
+service LoadBalancer {
+ // Bidirectional rpc to get a list of servers.
+ rpc BalanceLoad(stream LoadBalanceRequest)
+ returns (stream LoadBalanceResponse);
+}
+
+message LoadBalanceRequest {
+ oneof load_balance_request_type {
+ // This message should be sent on the first request to the load balancer.
+ InitialLoadBalanceRequest initial_request = 1;
+
+ // The client stats should be periodically reported to the load balancer
+ // based on the duration defined in the InitialLoadBalanceResponse.
+ ClientStats client_stats = 2;
+ }
+}
+
+message InitialLoadBalanceRequest {
+ // Name of load balanced service (IE, balancer.service.com)
+ // length should be less than 256 bytes.
+ string name = 1;
+}
+
+// Contains client level statistics that are useful to load balancing. Each
+// count except the timestamp should be reset to zero after reporting the stats.
+message ClientStats {
+ // The timestamp of generating the report.
+ Timestamp timestamp = 1;
+
+ // The total number of RPCs that started.
+ int64 num_calls_started = 2;
+
+ // The total number of RPCs that finished.
+ int64 num_calls_finished = 3;
+
+ // The total number of RPCs that were dropped by the client because of rate
+ // limiting.
+ int64 num_calls_finished_with_drop_for_rate_limiting = 4;
+
+ // The total number of RPCs that were dropped by the client because of load
+ // balancing.
+ int64 num_calls_finished_with_drop_for_load_balancing = 5;
+
+ // The total number of RPCs that failed to reach a server except dropped RPCs.
+ int64 num_calls_finished_with_client_failed_to_send = 6;
+
+ // The total number of RPCs that finished and are known to have been received
+ // by a server.
+ int64 num_calls_finished_known_received = 7;
+}
+
+message LoadBalanceResponse {
+ oneof load_balance_response_type {
+ // This message should be sent on the first response to the client.
+ InitialLoadBalanceResponse initial_response = 1;
+
+ // Contains the list of servers selected by the load balancer. The client
+ // should send requests to these servers in the specified order.
+ ServerList server_list = 2;
+ }
+}
+
+message InitialLoadBalanceResponse {
+ // This is an application layer redirect that indicates the client should use
+ // the specified server for load balancing. When this field is non-empty in
+ // the response, the client should open a separate connection to the
+ // load_balancer_delegate and call the BalanceLoad method. Its length should
+ // be less than 64 bytes.
+ string load_balancer_delegate = 1;
+
+ // This interval defines how often the client should send the client stats
+ // to the load balancer. Stats should only be reported when the duration is
+ // positive.
+ Duration client_stats_report_interval = 2;
+}
+
+message ServerList {
+ // Contains a list of servers selected by the load balancer. The list will
+ // be updated when server resolutions change or as needed to balance load
+ // across more servers. The client should consume the server list in order
+ // unless instructed otherwise via the client_config.
+ repeated Server servers = 1;
+
+ // Indicates the amount of time that the client should consider this server
+ // list as valid. It may be considered stale after waiting this interval of
+ // time after receiving the list. If the interval is not positive, the
+ // client can assume the list is valid until the next list is received.
+ Duration expiration_interval = 3;
+}
+
+// Contains server information. When none of the [drop_for_*] fields are true,
+// use the other fields. When drop_for_rate_limiting is true, ignore all other
+// fields. Use drop_for_load_balancing only when it is true and
+// drop_for_rate_limiting is false.
+message Server {
+ // A resolved address for the server, serialized in network-byte-order. It may
+ // either be an IPv4 or IPv6 address.
+ bytes ip_address = 1;
+
+ // A resolved port number for the server.
+ int32 port = 2;
+
+ // An opaque but printable token given to the frontend for each pick. All
+ // frontend requests for that pick must include the token in its initial
+ // metadata. The token is used by the backend to verify the request and to
+ // allow the backend to report load to the gRPC LB system.
+ //
+ // Its length is variable but less than 50 bytes.
+ string load_balance_token = 3;
+
+ // Indicates whether this particular request should be dropped by the client
+ // for rate limiting.
+ bool drop_for_rate_limiting = 4;
+
+ // Indicates whether this particular request should be dropped by the client
+ // for load balancing.
+ bool drop_for_load_balancing = 5;
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/grpclog.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/grpclog.go
new file mode 100644
index 00000000..16a7d888
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/grpclog.go
@@ -0,0 +1,123 @@
+/*
+ *
+ * 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 package 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/logger.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/logger.go
index 3b293307..d03b2397 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/logger.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/logger.go
@@ -1,52 +1,25 @@
/*
*
- * Copyright 2015, Google Inc.
- * All rights reserved.
+ * Copyright 2015 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
-*/
-package grpclog // import "google.golang.org/grpc/grpclog"
-
-import (
- "log"
- "os"
-)
-
-// Use golang's standard logger by default.
-// Access is not mutex-protected: do not modify except in init()
-// functions.
-var logger Logger = log.New(os.Stderr, "", log.LstdFlags)
+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{})
@@ -58,36 +31,53 @@ type Logger interface {
// SetLogger sets the logger that is used in grpc. Call only from
// init() functions.
+// Deprecated: use SetLoggerV2.
func SetLogger(l Logger) {
- logger = l
+ 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...)
}
-// Fatal is equivalent to Print() followed by a call to os.Exit() with a non-zero exit code.
-func Fatal(args ...interface{}) {
- logger.Fatal(args...)
+func (g *loggerWrapper) Warningln(args ...interface{}) {
+ g.Logger.Println(args...)
}
-// Fatalf is equivalent to Printf() followed by a call to os.Exit() with a non-zero exit code.
-func Fatalf(format string, args ...interface{}) {
- logger.Fatalf(format, args...)
+func (g *loggerWrapper) Warningf(format string, args ...interface{}) {
+ g.Logger.Printf(format, args...)
}
-// Fatalln is equivalent to Println() followed by a call to os.Exit()) with a non-zero exit code.
-func Fatalln(args ...interface{}) {
- logger.Fatalln(args...)
+func (g *loggerWrapper) Error(args ...interface{}) {
+ g.Logger.Print(args...)
}
-// Print prints to the logger. Arguments are handled in the manner of fmt.Print.
-func Print(args ...interface{}) {
- logger.Print(args...)
+func (g *loggerWrapper) Errorln(args ...interface{}) {
+ g.Logger.Println(args...)
}
-// Printf prints to the logger. Arguments are handled in the manner of fmt.Printf.
-func Printf(format string, args ...interface{}) {
- logger.Printf(format, args...)
+func (g *loggerWrapper) Errorf(format string, args ...interface{}) {
+ g.Logger.Printf(format, args...)
}
-// Println prints to the logger. Arguments are handled in the manner of fmt.Println.
-func Println(args ...interface{}) {
- logger.Println(args...)
+func (g *loggerWrapper) V(l int) bool {
+ // Returns true for all verbose level.
+ return true
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/loggerv2.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/grpclog/loggerv2.go
new file mode 100644
index 00000000..d4932577
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
new file mode 100644
index 00000000..89c4d459
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go
@@ -0,0 +1,176 @@
+// Code generated by protoc-gen-go.
+// source: health.proto
+// DO NOT EDIT!
+
+/*
+Package grpc_health_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+ health.proto
+
+It has these top-level messages:
+ HealthCheckRequest
+ HealthCheckResponse
+*/
+package grpc_health_v1
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+import (
+ context "golang.org/x/net/context"
+ grpc "google.golang.org/grpc"
+)
+
+// 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
+
+type HealthCheckResponse_ServingStatus int32
+
+const (
+ HealthCheckResponse_UNKNOWN HealthCheckResponse_ServingStatus = 0
+ HealthCheckResponse_SERVING HealthCheckResponse_ServingStatus = 1
+ HealthCheckResponse_NOT_SERVING HealthCheckResponse_ServingStatus = 2
+)
+
+var HealthCheckResponse_ServingStatus_name = map[int32]string{
+ 0: "UNKNOWN",
+ 1: "SERVING",
+ 2: "NOT_SERVING",
+}
+var HealthCheckResponse_ServingStatus_value = map[string]int32{
+ "UNKNOWN": 0,
+ "SERVING": 1,
+ "NOT_SERVING": 2,
+}
+
+func (x HealthCheckResponse_ServingStatus) String() string {
+ return proto.EnumName(HealthCheckResponse_ServingStatus_name, int32(x))
+}
+func (HealthCheckResponse_ServingStatus) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor0, []int{1, 0}
+}
+
+type HealthCheckRequest struct {
+ Service string `protobuf:"bytes,1,opt,name=service" json:"service,omitempty"`
+}
+
+func (m *HealthCheckRequest) Reset() { *m = HealthCheckRequest{} }
+func (m *HealthCheckRequest) String() string { return proto.CompactTextString(m) }
+func (*HealthCheckRequest) ProtoMessage() {}
+func (*HealthCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+type HealthCheckResponse struct {
+ Status HealthCheckResponse_ServingStatus `protobuf:"varint,1,opt,name=status,enum=grpc.health.v1.HealthCheckResponse_ServingStatus" json:"status,omitempty"`
+}
+
+func (m *HealthCheckResponse) Reset() { *m = HealthCheckResponse{} }
+func (m *HealthCheckResponse) String() string { return proto.CompactTextString(m) }
+func (*HealthCheckResponse) ProtoMessage() {}
+func (*HealthCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func init() {
+ proto.RegisterType((*HealthCheckRequest)(nil), "grpc.health.v1.HealthCheckRequest")
+ proto.RegisterType((*HealthCheckResponse)(nil), "grpc.health.v1.HealthCheckResponse")
+ proto.RegisterEnum("grpc.health.v1.HealthCheckResponse_ServingStatus", HealthCheckResponse_ServingStatus_name, HealthCheckResponse_ServingStatus_value)
+}
+
+// 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
+
+// Client API for Health service
+
+type HealthClient interface {
+ Check(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error)
+}
+
+type healthClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewHealthClient(cc *grpc.ClientConn) HealthClient {
+ return &healthClient{cc}
+}
+
+func (c *healthClient) Check(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error) {
+ out := new(HealthCheckResponse)
+ err := grpc.Invoke(ctx, "/grpc.health.v1.Health/Check", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Server API for Health service
+
+type HealthServer interface {
+ Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
+}
+
+func RegisterHealthServer(s *grpc.Server, srv HealthServer) {
+ s.RegisterService(&_Health_serviceDesc, srv)
+}
+
+func _Health_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(HealthCheckRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(HealthServer).Check(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/grpc.health.v1.Health/Check",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(HealthServer).Check(ctx, req.(*HealthCheckRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Health_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "grpc.health.v1.Health",
+ HandlerType: (*HealthServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "Check",
+ Handler: _Health_Check_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "health.proto",
+}
+
+func init() { proto.RegisterFile("health.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+ // 204 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0xc9, 0x48, 0x4d, 0xcc,
+ 0x29, 0xc9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4b, 0x2f, 0x2a, 0x48, 0xd6, 0x83,
+ 0x0a, 0x95, 0x19, 0x2a, 0xe9, 0x71, 0x09, 0x79, 0x80, 0x39, 0xce, 0x19, 0xa9, 0xc9, 0xd9, 0x41,
+ 0xa9, 0x85, 0xa5, 0xa9, 0xc5, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0x45, 0x65, 0x99, 0xc9,
+ 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x30, 0xae, 0xd2, 0x1c, 0x46, 0x2e, 0x61, 0x14,
+ 0x0d, 0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x9e, 0x5c, 0x6c, 0xc5, 0x25, 0x89, 0x25, 0xa5,
+ 0xc5, 0x60, 0x0d, 0x7c, 0x46, 0x86, 0x7a, 0xa8, 0x16, 0xe9, 0x61, 0xd1, 0xa4, 0x17, 0x0c, 0x32,
+ 0x34, 0x2f, 0x3d, 0x18, 0xac, 0x31, 0x08, 0x6a, 0x80, 0x92, 0x15, 0x17, 0x2f, 0x8a, 0x84, 0x10,
+ 0x37, 0x17, 0x7b, 0xa8, 0x9f, 0xb7, 0x9f, 0x7f, 0xb8, 0x9f, 0x00, 0x03, 0x88, 0x13, 0xec, 0x1a,
+ 0x14, 0xe6, 0xe9, 0xe7, 0x2e, 0xc0, 0x28, 0xc4, 0xcf, 0xc5, 0xed, 0xe7, 0x1f, 0x12, 0x0f, 0x13,
+ 0x60, 0x32, 0x8a, 0xe2, 0x62, 0x83, 0x58, 0x24, 0x14, 0xc0, 0xc5, 0x0a, 0xb6, 0x4c, 0x48, 0x09,
+ 0xaf, 0x4b, 0xc0, 0xfe, 0x95, 0x52, 0x26, 0xc2, 0xb5, 0x49, 0x6c, 0xe0, 0x10, 0x34, 0x06, 0x04,
+ 0x00, 0x00, 0xff, 0xff, 0xac, 0x56, 0x2a, 0xcb, 0x51, 0x01, 0x00, 0x00,
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.proto b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.proto
new file mode 100644
index 00000000..6072fdc3
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/grpc_health_v1/health.proto
@@ -0,0 +1,34 @@
+// 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.
+
+syntax = "proto3";
+
+package grpc.health.v1;
+
+message HealthCheckRequest {
+ string service = 1;
+}
+
+message HealthCheckResponse {
+ enum ServingStatus {
+ UNKNOWN = 0;
+ SERVING = 1;
+ NOT_SERVING = 2;
+ }
+ ServingStatus status = 1;
+}
+
+service Health{
+ rpc Check(HealthCheckRequest) returns (HealthCheckResponse);
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/health.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/health.go
new file mode 100644
index 00000000..4dccbc76
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/health/health.go
@@ -0,0 +1,70 @@
+/*
+ *
+ * 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 health provides some utility functions to health-check a server. The implementation
+// is based on protobuf. Users need to write their own implementations if other IDLs are used.
+package health
+
+import (
+ "sync"
+
+ "golang.org/x/net/context"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+ healthpb "google.golang.org/grpc/health/grpc_health_v1"
+)
+
+// Server implements `service Health`.
+type Server struct {
+ mu sync.Mutex
+ // statusMap stores the serving status of the services this Server monitors.
+ statusMap map[string]healthpb.HealthCheckResponse_ServingStatus
+}
+
+// NewServer returns a new Server.
+func NewServer() *Server {
+ return &Server{
+ statusMap: make(map[string]healthpb.HealthCheckResponse_ServingStatus),
+ }
+}
+
+// Check implements `service Health`.
+func (s *Server) Check(ctx context.Context, in *healthpb.HealthCheckRequest) (*healthpb.HealthCheckResponse, error) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if in.Service == "" {
+ // check the server overall health status.
+ return &healthpb.HealthCheckResponse{
+ Status: healthpb.HealthCheckResponse_SERVING,
+ }, nil
+ }
+ if status, ok := s.statusMap[in.Service]; ok {
+ return &healthpb.HealthCheckResponse{
+ Status: status,
+ }, nil
+ }
+ return nil, grpc.Errorf(codes.NotFound, "unknown service")
+}
+
+// SetServingStatus is called when need to reset the serving status of a service
+// or insert a new service entry into the statusMap.
+func (s *Server) SetServingStatus(service string, status healthpb.HealthCheckResponse_ServingStatus) {
+ s.mu.Lock()
+ s.statusMap[service] = status
+ s.mu.Unlock()
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/interceptor.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/interceptor.go
index 8d932efe..06dc825b 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/interceptor.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/interceptor.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -40,17 +25,17 @@ import (
// 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. inovker is the handler to complete the RPC
+// 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 the EXPERIMENTAL API.
+// 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 handlder to create a ClientStream and it is the responsibility of the interceptor to call it.
-// This is the EXPERIMENTAL API.
+// 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
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/internal/internal.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/internal/internal.go
index 5489143a..07083832 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/internal/internal.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/internal/internal.go
@@ -1,32 +1,17 @@
/*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/keepalive/keepalive.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/keepalive/keepalive.go
new file mode 100644
index 00000000..f8adc7e6
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/keepalive/keepalive.go
@@ -0,0 +1,65 @@
+/*
+ *
+ * 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.
+ 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 runs keepalive checks even with no active RPCs.
+ 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.
+ // MaxConnectinoAgeGrace 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.
+ 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 expects keepalive pings even when there are no active streams(RPCs).
+ PermitWithoutStream bool // false by default.
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/metadata/metadata.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/metadata/metadata.go
index 65dc5af5..be4f9e73 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/metadata/metadata.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/metadata/metadata.go
@@ -1,91 +1,53 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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://grpc.io/docs/guides/wire.html for more information about custom-metadata.
package metadata // import "google.golang.org/grpc/metadata"
import (
- "encoding/base64"
"fmt"
"strings"
"golang.org/x/net/context"
)
-const (
- binHdrSuffix = "-bin"
-)
-
-// encodeKeyValue encodes key and value qualified for transmission via gRPC.
-// Transmitting binary headers violates HTTP/2 spec.
-// TODO(zhaoq): Maybe check if k is ASCII also.
-func encodeKeyValue(k, v string) (string, string) {
- k = strings.ToLower(k)
- if strings.HasSuffix(k, binHdrSuffix) {
- val := base64.StdEncoding.EncodeToString([]byte(v))
- v = string(val)
- }
- return k, v
-}
-
-// DecodeKeyValue returns the original key and value corresponding to the
-// encoded data in k, v.
-// If k is a binary header and v contains comma, v is split on comma before decoded,
-// and the decoded v will be joined with comma before returned.
+// DecodeKeyValue returns k, v, nil. It is deprecated and should not be used.
func DecodeKeyValue(k, v string) (string, string, error) {
- if !strings.HasSuffix(k, binHdrSuffix) {
- return k, v, nil
- }
- vvs := strings.Split(v, ",")
- for i, vv := range vvs {
- val, err := base64.StdEncoding.DecodeString(vv)
- if err != nil {
- return "", "", err
- }
- vvs[i] = string(val)
- }
- return k, strings.Join(vvs, ","), nil
+ 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 a MD from given key-value map.
+// 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.
func New(m map[string]string) MD {
md := MD{}
- for k, v := range m {
- key, val := encodeKeyValue(k, v)
+ for k, val := range m {
+ key := strings.ToLower(k)
md[key] = append(md[key], val)
}
return md
@@ -93,19 +55,25 @@ func New(m map[string]string) 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.
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 k string
+ var key string
for i, s := range kv {
if i%2 == 0 {
- k = s
+ key = strings.ToLower(s)
continue
}
- key, val := encodeKeyValue(k, s)
- md[key] = append(md[key], val)
+ md[key] = append(md[key], s)
}
return md
}
@@ -120,9 +88,9 @@ func (md MD) Copy() MD {
return Join(md)
}
-// Join joins any number of MDs into a single MD.
+// 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.
+// the mds containing those values are presented to Join.
func Join(mds ...MD) MD {
out := MD{}
for _, md := range mds {
@@ -133,17 +101,41 @@ func Join(mds ...MD) MD {
return out
}
-type mdKey struct{}
+type mdIncomingKey struct{}
+type mdOutgoingKey struct{}
-// NewContext creates a new context with md attached.
+// NewContext is a wrapper for NewOutgoingContext(ctx, md). Deprecated.
func NewContext(ctx context.Context, md MD) context.Context {
- return context.WithValue(ctx, mdKey{}, md)
+ return NewOutgoingContext(ctx, md)
}
-// FromContext returns the MD in ctx if it exists.
-// The returned md should be immutable, writing to it may cause races.
-// Modification should be made to the copies of the returned md.
+// 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.
+func NewOutgoingContext(ctx context.Context, md MD) context.Context {
+ return context.WithValue(ctx, mdOutgoingKey{}, md)
+}
+
+// FromContext is a wrapper for FromIncomingContext(ctx). Deprecated.
func FromContext(ctx context.Context) (md MD, ok bool) {
- md, ok = ctx.Value(mdKey{}).(MD)
+ return FromIncomingContext(ctx)
+}
+
+// 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
+}
+
+// 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 the copies of the returned MD.
+func FromOutgoingContext(ctx context.Context) (md MD, ok bool) {
+ md, ok = ctx.Value(mdOutgoingKey{}).(MD)
return
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/dns_resolver.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/dns_resolver.go
new file mode 100644
index 00000000..efd37e30
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/dns_resolver.go
@@ -0,0 +1,292 @@
+/*
+ *
+ * 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 (
+ "errors"
+ "fmt"
+ "net"
+ "strconv"
+ "time"
+
+ "golang.org/x/net/context"
+ "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")
+)
+
+// 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 sqarue brackets, brackets
+// are strippd 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 list
+ curAddrs []*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 adrress resolution Update for the target. For IP address,
+// the resolution is itself, thus polling name server is unncessary. Therefore,
+// Next() will return an Update the first time it is called, and will be blocked
+// for all following calls as no Update exisits 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 []*Update) []*Update {
+ update := make(map[Update]bool)
+ for _, u := range newAddrs {
+ update[*u] = true
+ }
+ for _, u := range w.curAddrs {
+ if _, ok := update[*u]; ok {
+ delete(update, *u)
+ continue
+ }
+ update[Update{Addr: u.Addr, Op: Delete, Metadata: u.Metadata}] = true
+ }
+ res := make([]*Update, 0, len(update))
+ for k := range update {
+ tmp := k
+ res = append(res, &tmp)
+ }
+ return res
+}
+
+func (w *dnsWatcher) lookupSRV() []*Update {
+ var newAddrs []*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 banlacer 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
+ }
+ newAddrs = append(newAddrs, &Update{Addr: a + ":" + strconv.Itoa(int(s.Port)),
+ Metadata: AddrMetadataGRPCLB{AddrType: GRPCLB, ServerName: s.Target}})
+ }
+ }
+ return newAddrs
+}
+
+func (w *dnsWatcher) lookupHost() []*Update {
+ var newAddrs []*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
+ }
+ newAddrs = append(newAddrs, &Update{Addr: a + ":" + w.port})
+ }
+ 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go17.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go17.go
new file mode 100644
index 00000000..a537b08c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go17.go
@@ -0,0 +1,34 @@
+// +build go1.6, !go1.8
+
+/*
+ *
+ * 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 (
+ "net"
+
+ "golang.org/x/net/context"
+)
+
+var (
+ lookupHost = func(ctx context.Context, host string) ([]string, error) { return net.LookupHost(host) }
+ lookupSRV = func(ctx context.Context, service, proto, name string) (string, []*net.SRV, error) {
+ return net.LookupSRV(service, proto, name)
+ }
+)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go18.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go18.go
new file mode 100644
index 00000000..b5a0f842
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/go18.go
@@ -0,0 +1,28 @@
+// +build go1.8
+
+/*
+ *
+ * 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 "net"
+
+var (
+ lookupHost = net.DefaultResolver.LookupHost
+ lookupSRV = net.DefaultResolver.LookupSRV
+)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/naming.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/naming.go
index c2e0871e..1af7e32f 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/naming.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/naming/naming.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/peer/peer.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/peer/peer.go
index bfa6205b..317b8b9d 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/peer/peer.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/peer/peer.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -42,7 +27,8 @@ import (
"google.golang.org/grpc/credentials"
)
-// Peer contains the information of the peer for an RPC.
+// 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
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/proxy.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/proxy.go
new file mode 100644
index 00000000..2d40236e
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/proxy.go
@@ -0,0 +1,130 @@
+/*
+ *
+ * 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"
+ "errors"
+ "fmt"
+ "io"
+ "net"
+ "net/http"
+ "net/http/httputil"
+ "net/url"
+
+ "golang.org/x/net/context"
+)
+
+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) (string, error) {
+ req := &http.Request{
+ URL: &url.URL{
+ Scheme: "https",
+ Host: address,
+ },
+ }
+ url, err := httpProxyFromEnvironment(req)
+ if err != nil {
+ return "", err
+ }
+ if url == nil {
+ return "", errDisabled
+ }
+ return url.Host, 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 doHTTPConnectHandshake(ctx context.Context, conn net.Conn, addr string) (_ net.Conn, err error) {
+ defer func() {
+ if err != nil {
+ conn.Close()
+ }
+ }()
+
+ req := (&http.Request{
+ Method: http.MethodConnect,
+ URL: &url.URL{Host: addr},
+ Header: map[string][]string{"User-Agent": {grpcUA}},
+ })
+
+ 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 skipHandshake bool
+ newAddr, err := mapAddress(ctx, addr)
+ if err != nil {
+ if err != errDisabled {
+ return nil, err
+ }
+ skipHandshake = true
+ newAddr = addr
+ }
+
+ conn, err = dialer(ctx, newAddr)
+ if err != nil {
+ return
+ }
+ if !skipHandshake {
+ conn, err = doHTTPConnectHandshake(ctx, conn, addr)
+ }
+ return
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/rpc_util.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/rpc_util.go
index 2619d396..9b9d3883 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/rpc_util.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/rpc_util.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -37,47 +22,22 @@ import (
"bytes"
"compress/gzip"
"encoding/binary"
- "fmt"
"io"
"io/ioutil"
"math"
- "os"
+ "sync"
"time"
- "github.com/golang/protobuf/proto"
"golang.org/x/net/context"
"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"
"google.golang.org/grpc/transport"
)
-// Codec defines the interface gRPC uses to encode and decode messages.
-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. The returned
- // string will be used as part of content type in transmission.
- String() string
-}
-
-// protoCodec is a Codec implementation with protobuf. It is the default codec for gRPC.
-type protoCodec struct{}
-
-func (protoCodec) Marshal(v interface{}) ([]byte, error) {
- return proto.Marshal(v.(proto.Message))
-}
-
-func (protoCodec) Unmarshal(data []byte, v interface{}) error {
- return proto.Unmarshal(data, v.(proto.Message))
-}
-
-func (protoCodec) String() string {
- return "proto"
-}
-
// Compressor defines the interface gRPC uses to compress a message.
type Compressor interface {
// Do compresses p into w.
@@ -86,16 +46,24 @@ type Compressor interface {
Type() string
}
-// NewGZIPCompressor creates a Compressor based on GZIP.
-func NewGZIPCompressor() Compressor {
- return &gzipCompressor{}
+type gzipCompressor struct {
+ pool sync.Pool
}
-type gzipCompressor struct {
+// NewGZIPCompressor creates a Compressor based on GZIP.
+func NewGZIPCompressor() Compressor {
+ return &gzipCompressor{
+ pool: sync.Pool{
+ New: func() interface{} {
+ return gzip.NewWriter(ioutil.Discard)
+ },
+ },
+ }
}
func (c *gzipCompressor) Do(w io.Writer, p []byte) error {
- z := gzip.NewWriter(w)
+ z := c.pool.Get().(*gzip.Writer)
+ z.Reset(w)
if _, err := z.Write(p); err != nil {
return err
}
@@ -115,6 +83,7 @@ type Decompressor interface {
}
type gzipDecompressor struct {
+ pool sync.Pool
}
// NewGZIPDecompressor creates a Decompressor based on GZIP.
@@ -123,11 +92,26 @@ func NewGZIPDecompressor() Decompressor {
}
func (d *gzipDecompressor) Do(r io.Reader) ([]byte, error) {
- z, err := gzip.NewReader(r)
- if err != nil {
- return nil, err
+ 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 z.Close()
+
+ defer func() {
+ z.Close()
+ d.pool.Put(z)
+ }()
return ioutil.ReadAll(z)
}
@@ -137,10 +121,14 @@ func (d *gzipDecompressor) Type() string {
// callInfo contains all related configuration and information about an RPC.
type callInfo struct {
- failFast bool
- headerMD metadata.MD
- trailerMD metadata.MD
- traceInfo traceInfo // in trace.go
+ failFast bool
+ headerMD metadata.MD
+ trailerMD metadata.MD
+ peer *peer.Peer
+ traceInfo traceInfo // in trace.go
+ maxReceiveMessageSize *int
+ maxSendMessageSize *int
+ creds credentials.PerRPCCredentials
}
var defaultCallInfo = callInfo{failFast: true}
@@ -157,6 +145,14 @@ type CallOption interface {
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) {}
+
type beforeCall func(c *callInfo) error
func (o beforeCall) before(c *callInfo) error { return o(c) }
@@ -183,12 +179,23 @@ func Trailer(md *metadata.MD) CallOption {
})
}
+// Peer returns a CallOption that retrieves peer information for a
+// unary RPC.
+func Peer(peer *peer.Peer) CallOption {
+ return afterCall(func(c *callInfo) {
+ if c.peer != nil {
+ *peer = *c.peer
+ }
+ })
+}
+
// FailFast configures the action to take when an RPC is attempted on broken
// connections or unreachable servers. If failfast is true, 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. Please refer to
-// https://github.com/grpc/grpc/blob/master/doc/fail_fast.md
+// https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md.
+// Note: failFast is default to true.
func FailFast(failFast bool) CallOption {
return beforeCall(func(c *callInfo) error {
c.failFast = failFast
@@ -196,6 +203,31 @@ func FailFast(failFast bool) CallOption {
})
}
+// MaxCallRecvMsgSize returns a CallOption which sets the maximum message size the client can receive.
+func MaxCallRecvMsgSize(s int) CallOption {
+ return beforeCall(func(o *callInfo) error {
+ o.maxReceiveMessageSize = &s
+ return nil
+ })
+}
+
+// MaxCallSendMsgSize returns a CallOption which sets the maximum message size the client can send.
+func MaxCallSendMsgSize(s int) CallOption {
+ return beforeCall(func(o *callInfo) error {
+ o.maxSendMessageSize = &s
+ return nil
+ })
+}
+
+// PerRPCCredentials returns a CallOption that sets credentials.PerRPCCredentials
+// for a call.
+func PerRPCCredentials(creds credentials.PerRPCCredentials) CallOption {
+ return beforeCall(func(c *callInfo) error {
+ c.creds = creds
+ return nil
+ })
+}
+
// The format of the payload: compressed or not?
type payloadFormat uint8
@@ -212,7 +244,7 @@ type parser struct {
r io.Reader
// The header of a gRPC message. Find more detail
- // at http://www.grpc.io/docs/guides/wire.html.
+ // at https://grpc.io/docs/guides/wire.html.
header [5]byte
}
@@ -229,8 +261,8 @@ type parser struct {
// 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(maxMsgSize int) (pf payloadFormat, msg []byte, err error) {
- if _, err := io.ReadFull(p.r, p.header[:]); err != nil {
+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
}
@@ -240,13 +272,13 @@ func (p *parser) recvMsg(maxMsgSize int) (pf payloadFormat, msg []byte, err erro
if length == 0 {
return pf, nil, nil
}
- if length > uint32(maxMsgSize) {
- return 0, nil, Errorf(codes.Internal, "grpc: received message length %d exceeding the max size %d", length, maxMsgSize)
+ if length > uint32(maxReceiveMessageSize) {
+ return 0, nil, 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 := io.ReadFull(p.r, msg); err != nil {
+ if _, err := p.r.Read(msg); err != nil {
if err == io.EOF {
err = io.ErrUnexpectedEOF
}
@@ -267,7 +299,7 @@ func encode(c Codec, msg interface{}, cp Compressor, cbuf *bytes.Buffer, outPayl
// TODO(zhaoq): optimize to reduce memory alloc and copying.
b, err = c.Marshal(msg)
if err != nil {
- return nil, err
+ return nil, Errorf(codes.Internal, "grpc: error while marshaling: %v", err.Error())
}
if outPayload != nil {
outPayload.Payload = msg
@@ -277,14 +309,14 @@ func encode(c Codec, msg interface{}, cp Compressor, cbuf *bytes.Buffer, outPayl
}
if cp != nil {
if err := cp.Do(cbuf, b); err != nil {
- return nil, err
+ return nil, Errorf(codes.Internal, "grpc: error while compressing: %v", err.Error())
}
b = cbuf.Bytes()
}
length = uint(len(b))
}
if length > math.MaxUint32 {
- return nil, Errorf(codes.InvalidArgument, "grpc: message too large (%d bytes)", length)
+ return nil, Errorf(codes.ResourceExhausted, "grpc: message too large (%d bytes)", length)
}
const (
@@ -325,8 +357,8 @@ func checkRecvPayload(pf payloadFormat, recvCompress string, dc Decompressor) er
return nil
}
-func recv(p *parser, c Codec, s *transport.Stream, dc Decompressor, m interface{}, maxMsgSize int, inPayload *stats.InPayload) error {
- pf, d, err := p.recvMsg(maxMsgSize)
+func recv(p *parser, c Codec, s *transport.Stream, dc Decompressor, m interface{}, maxReceiveMessageSize int, inPayload *stats.InPayload) error {
+ pf, d, err := p.recvMsg(maxReceiveMessageSize)
if err != nil {
return err
}
@@ -342,10 +374,10 @@ func recv(p *parser, c Codec, s *transport.Stream, dc Decompressor, m interface{
return Errorf(codes.Internal, "grpc: failed to decompress the received message %v", err)
}
}
- if len(d) > maxMsgSize {
+ if len(d) > maxReceiveMessageSize {
// TODO: Revisit the error code. Currently keep it consistent with java
// implementation.
- return Errorf(codes.Internal, "grpc: received a message of %d bytes exceeding %d limit", len(d), maxMsgSize)
+ return Errorf(codes.ResourceExhausted, "grpc: received message larger than max (%d vs. %d)", len(d), maxReceiveMessageSize)
}
if err := c.Unmarshal(d, m); err != nil {
return Errorf(codes.Internal, "grpc: failed to unmarshal the received message %v", err)
@@ -360,116 +392,57 @@ func recv(p *parser, c Codec, s *transport.Stream, dc Decompressor, m interface{
return nil
}
-// rpcError defines the status from an RPC.
-type rpcError struct {
- code codes.Code
- desc string
+type rpcInfo struct {
+ bytesSent bool
+ bytesReceived bool
+}
+
+type rpcInfoContextKey struct{}
+
+func newContextWithRPCInfo(ctx context.Context) context.Context {
+ return context.WithValue(ctx, rpcInfoContextKey{}, &rpcInfo{})
}
-func (e *rpcError) Error() string {
- return fmt.Sprintf("rpc error: code = %d desc = %s", e.code, e.desc)
+func rpcInfoFromContext(ctx context.Context) (s *rpcInfo, ok bool) {
+ s, ok = ctx.Value(rpcInfoContextKey{}).(*rpcInfo)
+ return
+}
+
+func updateRPCInfoInContext(ctx context.Context, s rpcInfo) {
+ if ss, ok := rpcInfoFromContext(ctx); ok {
+ *ss = s
+ }
+ return
}
// Code returns the error code for err if it was produced by the rpc system.
// Otherwise, it returns codes.Unknown.
+//
+// Deprecated; use status.FromError and Code method instead.
func Code(err error) codes.Code {
- if err == nil {
- return codes.OK
- }
- if e, ok := err.(*rpcError); ok {
- return e.code
+ if s, ok := status.FromError(err); ok {
+ return s.Code()
}
return codes.Unknown
}
// 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.FromError and Message method instead.
func ErrorDesc(err error) string {
- if err == nil {
- return ""
- }
- if e, ok := err.(*rpcError); ok {
- return e.desc
+ if s, ok := status.FromError(err); ok {
+ return s.Message()
}
return err.Error()
}
// 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 {
- if c == codes.OK {
- return nil
- }
- return &rpcError{
- code: c,
- desc: fmt.Sprintf(format, a...),
- }
-}
-
-// toRPCErr converts an error into a rpcError.
-func toRPCErr(err error) error {
- switch e := err.(type) {
- case *rpcError:
- return err
- case transport.StreamError:
- return &rpcError{
- code: e.Code,
- desc: e.Desc,
- }
- case transport.ConnectionError:
- return &rpcError{
- code: codes.Internal,
- desc: e.Desc,
- }
- default:
- switch err {
- case context.DeadlineExceeded:
- return &rpcError{
- code: codes.DeadlineExceeded,
- desc: err.Error(),
- }
- case context.Canceled:
- return &rpcError{
- code: codes.Canceled,
- desc: err.Error(),
- }
- case ErrClientConnClosing:
- return &rpcError{
- code: codes.FailedPrecondition,
- desc: err.Error(),
- }
- }
-
- }
- return Errorf(codes.Unknown, "%v", err)
-}
-
-// convertCode converts a standard Go error into its canonical code. Note that
-// this is only used to translate the error returned by the server applications.
-func convertCode(err error) codes.Code {
- switch err {
- case nil:
- return codes.OK
- case io.EOF:
- return codes.OutOfRange
- case io.ErrClosedPipe, io.ErrNoProgress, io.ErrShortBuffer, io.ErrShortWrite, io.ErrUnexpectedEOF:
- return codes.FailedPrecondition
- case os.ErrInvalid:
- return codes.InvalidArgument
- case context.Canceled:
- return codes.Canceled
- case context.DeadlineExceeded:
- return codes.DeadlineExceeded
- }
- switch {
- case os.IsExist(err):
- return codes.AlreadyExists
- case os.IsNotExist(err):
- return codes.NotFound
- case os.IsPermission(err):
- return codes.PermissionDenied
- }
- return codes.Unknown
+ return status.Errorf(c, format, a...)
}
// MethodConfig defines the configuration recommended by the service providers for a
@@ -479,24 +452,22 @@ 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
+ 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
+ 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,
- // uncompressed payload in bytes. The actual value used is the minumum 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.
- // TODO: support this.
- MaxReqSize uint64
+ // 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 minumum 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.
- // TODO: support this.
- MaxRespSize uint64
+ MaxRespSize *int
}
// ServiceConfig is provided by the service provider and contains parameters for how
@@ -507,9 +478,38 @@ type ServiceConfig struct {
// via grpc.WithBalancer will override this.
LB Balancer
// 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
}
+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
+}
+
+// SupportPackageIsVersion3 is referenced from generated protocol buffer files.
+// The latest support package version is 4.
+// SupportPackageIsVersion3 is kept for compability. It will be removed in the
+// next support package version update.
+const SupportPackageIsVersion3 = true
+
// SupportPackageIsVersion4 is referenced from generated protocol buffer files
// to assert that that code is compatible with this version of the grpc package.
//
@@ -517,3 +517,8 @@ type ServiceConfig struct {
// requires a synchronised update of grpc-go and protoc-gen-go. This constant
// should not be referenced from any other code.
const SupportPackageIsVersion4 = true
+
+// Version is the current grpc version.
+const Version = "1.6.0-dev"
+
+const grpcUA = "grpc-go/" + Version
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/server.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/server.go
index 985226d6..42733e22 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/server.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -53,12 +38,19 @@ import (
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/internal"
+ "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"
"google.golang.org/grpc/transport"
)
+const (
+ defaultServerMaxReceiveMessageSize = 1024 * 1024 * 4
+ defaultServerMaxSendMessageSize = 1024 * 1024 * 4
+)
+
type methodHandler func(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor UnaryServerInterceptor) (interface{}, error)
// MethodDesc represents an RPC service's method specification.
@@ -94,6 +86,7 @@ type Server struct {
mu sync.Mutex // guards following
lis map[net.Listener]bool
conns map[io.Closer]bool
+ serve bool
drain bool
ctx context.Context
cancel context.CancelFunc
@@ -105,24 +98,63 @@ type Server struct {
}
type options struct {
- creds credentials.TransportCredentials
- codec Codec
- cp Compressor
- dc Decompressor
- maxMsgSize int
- unaryInt UnaryServerInterceptor
- streamInt StreamServerInterceptor
- inTapHandle tap.ServerInHandle
- statsHandler stats.Handler
- maxConcurrentStreams uint32
- useHandlerImpl bool // use http.Handler-based server
+ creds credentials.TransportCredentials
+ codec Codec
+ cp Compressor
+ dc Decompressor
+ unaryInt UnaryServerInterceptor
+ streamInt StreamServerInterceptor
+ inTapHandle tap.ServerInHandle
+ statsHandler stats.Handler
+ maxConcurrentStreams uint32
+ maxReceiveMessageSize int
+ maxSendMessageSize int
+ useHandlerImpl bool // use http.Handler-based server
+ unknownStreamDesc *StreamDesc
+ keepaliveParams keepalive.ServerParameters
+ keepalivePolicy keepalive.EnforcementPolicy
+ initialWindowSize int32
+ initialConnWindowSize int32
}
-var defaultMaxMsgSize = 1024 * 1024 * 4 // use 4MB as the default message size limit
+var defaultServerOptions = options{
+ maxReceiveMessageSize: defaultServerMaxReceiveMessageSize,
+ maxSendMessageSize: defaultServerMaxSendMessageSize,
+}
-// A ServerOption sets options.
+// A ServerOption sets options such as credentials, codec and keepalive parameters, etc.
type ServerOption func(*options)
+// 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 func(o *options) {
+ 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 func(o *options) {
+ o.initialConnWindowSize = s
+ }
+}
+
+// KeepaliveParams returns a ServerOption that sets keepalive and max-age parameters for the server.
+func KeepaliveParams(kp keepalive.ServerParameters) ServerOption {
+ return func(o *options) {
+ o.keepaliveParams = kp
+ }
+}
+
+// KeepaliveEnforcementPolicy returns a ServerOption that sets keepalive enforcement policy for the server.
+func KeepaliveEnforcementPolicy(kep keepalive.EnforcementPolicy) ServerOption {
+ return func(o *options) {
+ o.keepalivePolicy = kep
+ }
+}
+
// CustomCodec returns a ServerOption that sets a codec for message marshaling and unmarshaling.
func CustomCodec(codec Codec) ServerOption {
return func(o *options) {
@@ -144,11 +176,25 @@ func RPCDecompressor(dc Decompressor) ServerOption {
}
}
-// MaxMsgSize returns a ServerOption to set the max message size in bytes for inbound mesages.
-// If this is not set, gRPC uses the default 4MB.
+// 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 func(o *options) {
- o.maxMsgSize = m
+ 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 4MB.
+func MaxSendMsgSize(m int) ServerOption {
+ return func(o *options) {
+ o.maxSendMessageSize = m
}
}
@@ -173,7 +219,7 @@ func Creds(c credentials.TransportCredentials) ServerOption {
func UnaryInterceptor(i UnaryServerInterceptor) ServerOption {
return func(o *options) {
if o.unaryInt != nil {
- panic("The unary server interceptor has been set.")
+ panic("The unary server interceptor was already set and may not be reset.")
}
o.unaryInt = i
}
@@ -184,7 +230,7 @@ func UnaryInterceptor(i UnaryServerInterceptor) ServerOption {
func StreamInterceptor(i StreamServerInterceptor) ServerOption {
return func(o *options) {
if o.streamInt != nil {
- panic("The stream server interceptor has been set.")
+ panic("The stream server interceptor was already set and may not be reset.")
}
o.streamInt = i
}
@@ -195,7 +241,7 @@ func StreamInterceptor(i StreamServerInterceptor) ServerOption {
func InTapHandle(h tap.ServerInHandle) ServerOption {
return func(o *options) {
if o.inTapHandle != nil {
- panic("The tap handle has been set.")
+ panic("The tap handle was already set and may not be reset.")
}
o.inTapHandle = h
}
@@ -208,11 +254,28 @@ func StatsHandler(h stats.Handler) ServerOption {
}
}
+// 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 passes through interceptors.
+func UnknownServiceHandler(streamHandler StreamHandler) ServerOption {
+ return func(o *options) {
+ 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,
+ }
+ }
+}
+
// NewServer creates a gRPC server which has no service registered and has not
// started to accept requests yet.
func NewServer(opt ...ServerOption) *Server {
- var opts options
- opts.maxMsgSize = defaultMaxMsgSize
+ opts := defaultServerOptions
for _, o := range opt {
o(&opts)
}
@@ -251,8 +314,8 @@ func (s *Server) errorf(format string, a ...interface{}) {
}
}
-// RegisterService register a service and its implementation to the gRPC
-// server. Called from the IDL generated code. This must be called before
+// 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()
@@ -267,6 +330,9 @@ 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)
}
@@ -297,7 +363,7 @@ type MethodInfo struct {
IsServerStream bool
}
-// ServiceInfo contains unary RPC method info, streaming RPC methid info and metadata for a service.
+// 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.
@@ -355,6 +421,7 @@ func (s *Server) useTransportAuthenticator(rawConn net.Conn) (net.Conn, credenti
func (s *Server) Serve(lis net.Listener) error {
s.mu.Lock()
s.printf("serving")
+ s.serve = true
if s.lis == nil {
s.mu.Unlock()
lis.Close()
@@ -390,10 +457,12 @@ func (s *Server) Serve(lis net.Listener) error {
s.mu.Lock()
s.printf("Accept error: %v; retrying in %v", err, tempDelay)
s.mu.Unlock()
+ timer := time.NewTimer(tempDelay)
select {
- case <-time.After(tempDelay):
+ case <-timer.C:
case <-s.ctx.Done():
}
+ timer.Stop()
continue
}
s.mu.Lock()
@@ -416,7 +485,7 @@ func (s *Server) handleRawConn(rawConn net.Conn) {
s.mu.Lock()
s.errorf("ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err)
s.mu.Unlock()
- grpclog.Printf("grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err)
+ grpclog.Warningf("grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err)
// If serverHandShake returns ErrConnDispatched, keep rawConn open.
if err != credentials.ErrConnDispatched {
rawConn.Close()
@@ -446,10 +515,14 @@ func (s *Server) handleRawConn(rawConn net.Conn) {
// transport.NewServerTransport).
func (s *Server) serveHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) {
config := &transport.ServerConfig{
- MaxStreams: s.opts.maxConcurrentStreams,
- AuthInfo: authInfo,
- InTapHandle: s.opts.inTapHandle,
- StatsHandler: s.opts.statsHandler,
+ 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,
}
st, err := transport.NewServerTransport("http2", c, config)
if err != nil {
@@ -457,7 +530,7 @@ func (s *Server) serveHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo)
s.errorf("NewServerTransport(%q) failed: %v", c.RemoteAddr(), err)
s.mu.Unlock()
c.Close()
- grpclog.Println("grpc: Server.Serve failed to create ServerTransport: ", err)
+ grpclog.Warningln("grpc: Server.Serve failed to create ServerTransport: ", err)
return
}
if !s.addConn(st) {
@@ -515,6 +588,30 @@ func (s *Server) serveUsingHandler(conn net.Conn) {
})
}
+// 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)
if err != nil {
@@ -581,14 +678,11 @@ func (s *Server) sendResponse(t transport.ServerTransport, stream *transport.Str
}
p, err := encode(s.opts.codec, msg, cp, cbuf, outPayload)
if err != nil {
- // This typically indicates a fatal issue (e.g., memory
- // corruption or hardware faults) the application program
- // cannot handle.
- //
- // TODO(zhaoq): There exist other options also such as only closing the
- // faulty stream locally and remotely (Other streams can keep going). Find
- // the optimal option.
- grpclog.Fatalf("grpc: Server failed to encode response %v", err)
+ grpclog.Errorln("grpc: server failed to encode response: ", err)
+ return err
+ }
+ if len(p) > s.opts.maxSendMessageSize {
+ return status.Errorf(codes.ResourceExhausted, "grpc: trying to send message larger than max (%d vs. %d)", len(p), s.opts.maxSendMessageSize)
}
err = t.Write(stream, p, opts)
if err == nil && outPayload != nil {
@@ -605,9 +699,7 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
BeginTime: time.Now(),
}
sh.HandleRPC(stream.Context(), begin)
- }
- defer func() {
- if sh != nil {
+ defer func() {
end := &stats.End{
EndTime: time.Now(),
}
@@ -615,8 +707,8 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
end.Error = toRPCErr(err)
}
sh.HandleRPC(stream.Context(), end)
- }
- }()
+ }()
+ }
if trInfo != nil {
defer trInfo.tr.Finish()
trInfo.firstLine.client = false
@@ -633,136 +725,137 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
stream.SetSendCompress(s.opts.cp.Type())
}
p := &parser{r: stream}
- for {
- pf, req, err := p.recvMsg(s.opts.maxMsgSize)
- if err == io.EOF {
- // The entire stream is done (for unary RPC only).
- return err
- }
- if err == io.ErrUnexpectedEOF {
- err = Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())
- }
- if err != nil {
- switch err := err.(type) {
- case *rpcError:
- if e := t.WriteStatus(stream, err.code, err.desc); e != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", e)
- }
+ pf, req, err := p.recvMsg(s.opts.maxReceiveMessageSize)
+ if err == io.EOF {
+ // The entire stream is done (for unary RPC only).
+ return err
+ }
+ if err == io.ErrUnexpectedEOF {
+ err = Errorf(codes.Internal, io.ErrUnexpectedEOF.Error())
+ }
+ 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)
+ }
+ } else {
+ switch st := err.(type) {
case transport.ConnectionError:
// Nothing to do here.
case transport.StreamError:
- if e := t.WriteStatus(stream, err.Code, err.Desc); e != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", e)
+ if e := t.WriteStatus(stream, status.New(st.Code, st.Desc)); e != nil {
+ grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status %v", e)
}
default:
- panic(fmt.Sprintf("grpc: Unexpected error (%T) from recvMsg: %v", err, err))
+ panic(fmt.Sprintf("grpc: Unexpected error (%T) from recvMsg: %v", st, st))
}
- return err
}
+ return err
+ }
- if err := checkRecvPayload(pf, stream.RecvCompress(), s.opts.dc); err != nil {
- switch err := err.(type) {
- case *rpcError:
- if e := t.WriteStatus(stream, err.code, err.desc); e != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", e)
- }
- return err
- default:
- if e := t.WriteStatus(stream, codes.Internal, err.Error()); e != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", e)
- }
- // TODO checkRecvPayload always return RPC error. Add a return here if necessary.
+ if err := checkRecvPayload(pf, stream.RecvCompress(), s.opts.dc); 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
}
- var inPayload *stats.InPayload
- if sh != nil {
- inPayload = &stats.InPayload{
- RecvTime: time.Now(),
- }
+ if e := t.WriteStatus(stream, status.New(codes.Internal, err.Error())); e != nil {
+ grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status %v", e)
}
- statusCode := codes.OK
- statusDesc := ""
- df := func(v interface{}) error {
- if inPayload != nil {
- inPayload.WireLength = len(req)
- }
- if pf == compressionMade {
- var err error
- req, err = s.opts.dc.Do(bytes.NewReader(req))
- if err != nil {
- if err := t.WriteStatus(stream, codes.Internal, err.Error()); err != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status %v", err)
- }
- return Errorf(codes.Internal, err.Error())
- }
- }
- if len(req) > s.opts.maxMsgSize {
- // TODO: Revisit the error code. Currently keep it consistent with
- // java implementation.
- statusCode = codes.Internal
- statusDesc = fmt.Sprintf("grpc: server received a message of %d bytes exceeding %d limit", len(req), s.opts.maxMsgSize)
- }
- if err := s.opts.codec.Unmarshal(req, v); err != nil {
- return err
- }
- if inPayload != nil {
- inPayload.Payload = v
- inPayload.Data = req
- inPayload.Length = len(req)
- sh.HandleRPC(stream.Context(), inPayload)
- }
- if trInfo != nil {
- trInfo.tr.LazyLog(&payload{sent: false, msg: v}, true)
- }
- return nil
+
+ // TODO checkRecvPayload always return RPC error. Add a return here if necessary.
+ }
+ var inPayload *stats.InPayload
+ if sh != nil {
+ inPayload = &stats.InPayload{
+ RecvTime: time.Now(),
}
- reply, appErr := md.Handler(srv.server, stream.Context(), df, s.opts.unaryInt)
- if appErr != nil {
- if err, ok := appErr.(*rpcError); ok {
- statusCode = err.code
- statusDesc = err.desc
- } else {
- statusCode = convertCode(appErr)
- statusDesc = appErr.Error()
- }
- if trInfo != nil && statusCode != codes.OK {
- trInfo.tr.LazyLog(stringer(statusDesc), true)
- trInfo.tr.SetError()
- }
- if err := t.WriteStatus(stream, statusCode, statusDesc); err != nil {
- grpclog.Printf("grpc: Server.processUnaryRPC failed to write status: %v", err)
+ }
+ df := func(v interface{}) error {
+ if inPayload != nil {
+ inPayload.WireLength = len(req)
+ }
+ if pf == compressionMade {
+ var err error
+ req, err = s.opts.dc.Do(bytes.NewReader(req))
+ if err != nil {
+ return Errorf(codes.Internal, err.Error())
}
- return Errorf(statusCode, statusDesc)
+ }
+ if len(req) > s.opts.maxReceiveMessageSize {
+ // TODO: Revisit the error code. Currently keep it consistent with
+ // java implementation.
+ return status.Errorf(codes.ResourceExhausted, "grpc: received message larger than max (%d vs. %d)", len(req), s.opts.maxReceiveMessageSize)
+ }
+ if err := s.opts.codec.Unmarshal(req, v); err != nil {
+ return status.Errorf(codes.Internal, "grpc: error unmarshalling request: %v", err)
+ }
+ if inPayload != nil {
+ inPayload.Payload = v
+ inPayload.Data = req
+ inPayload.Length = len(req)
+ sh.HandleRPC(stream.Context(), inPayload)
+ }
+ if trInfo != nil {
+ trInfo.tr.LazyLog(&payload{sent: false, msg: v}, true)
+ }
+ return nil
+ }
+ reply, appErr := md.Handler(srv.server, stream.Context(), 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(convertCode(appErr), appErr.Error())
+ appStatus, _ = status.FromError(appErr)
}
if trInfo != nil {
- trInfo.tr.LazyLog(stringer("OK"), false)
+ trInfo.tr.LazyLog(stringer(appStatus.Message()), true)
+ trInfo.tr.SetError()
}
- opts := &transport.Options{
- Last: true,
- Delay: false,
+ if e := t.WriteStatus(stream, appStatus); e != nil {
+ grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status: %v", e)
+ }
+ return appErr
+ }
+ if trInfo != nil {
+ trInfo.tr.LazyLog(stringer("OK"), false)
+ }
+ opts := &transport.Options{
+ Last: true,
+ Delay: false,
+ }
+ if err := s.sendResponse(t, stream, reply, s.opts.cp, opts); err != nil {
+ if err == io.EOF {
+ // The entire stream is done (for unary RPC only).
+ return err
}
- if err := s.sendResponse(t, stream, reply, s.opts.cp, opts); err != nil {
- switch err := err.(type) {
+ 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.
case transport.StreamError:
- statusCode = err.Code
- statusDesc = err.Desc
+ if e := t.WriteStatus(stream, status.New(st.Code, st.Desc)); e != nil {
+ grpclog.Warningf("grpc: Server.processUnaryRPC failed to write status %v", e)
+ }
default:
- statusCode = codes.Unknown
- statusDesc = err.Error()
+ panic(fmt.Sprintf("grpc: Unexpected error (%T) from sendResponse: %v", st, st))
}
- return err
}
- if trInfo != nil {
- trInfo.tr.LazyLog(&payload{sent: true, msg: reply}, true)
- }
- errWrite := t.WriteStatus(stream, statusCode, statusDesc)
- if statusCode != codes.OK {
- return Errorf(statusCode, statusDesc)
- }
- return errWrite
+ return err
+ }
+ 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?
+ return t.WriteStatus(stream, status.New(codes.OK, ""))
}
func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transport.Stream, srv *service, sd *StreamDesc, trInfo *traceInfo) (err error) {
@@ -772,9 +865,7 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
BeginTime: time.Now(),
}
sh.HandleRPC(stream.Context(), begin)
- }
- defer func() {
- if sh != nil {
+ defer func() {
end := &stats.End{
EndTime: time.Now(),
}
@@ -782,21 +873,22 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
end.Error = toRPCErr(err)
}
sh.HandleRPC(stream.Context(), end)
- }
- }()
+ }()
+ }
if s.opts.cp != nil {
stream.SetSendCompress(s.opts.cp.Type())
}
ss := &serverStream{
- t: t,
- s: stream,
- p: &parser{r: stream},
- codec: s.opts.codec,
- cp: s.opts.cp,
- dc: s.opts.dc,
- maxMsgSize: s.opts.maxMsgSize,
- trInfo: trInfo,
- statsHandler: sh,
+ t: t,
+ s: stream,
+ p: &parser{r: stream},
+ codec: s.opts.codec,
+ cp: s.opts.cp,
+ dc: s.opts.dc,
+ maxReceiveMessageSize: s.opts.maxReceiveMessageSize,
+ maxSendMessageSize: s.opts.maxSendMessageSize,
+ trInfo: trInfo,
+ statsHandler: sh,
}
if ss.cp != nil {
ss.cbuf = new(bytes.Buffer)
@@ -815,43 +907,47 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
}()
}
var appErr error
+ var server interface{}
+ if srv != nil {
+ server = srv.server
+ }
if s.opts.streamInt == nil {
- appErr = sd.Handler(srv.server, ss)
+ appErr = sd.Handler(server, ss)
} else {
info := &StreamServerInfo{
FullMethod: stream.Method(),
IsClientStream: sd.ClientStreams,
IsServerStream: sd.ServerStreams,
}
- appErr = s.opts.streamInt(srv.server, ss, info, sd.Handler)
+ appErr = s.opts.streamInt(server, ss, info, sd.Handler)
}
if appErr != nil {
- if err, ok := appErr.(*rpcError); ok {
- ss.statusCode = err.code
- ss.statusDesc = err.desc
- } else if err, ok := appErr.(transport.StreamError); ok {
- ss.statusCode = err.Code
- ss.statusDesc = err.Desc
- } else {
- ss.statusCode = convertCode(appErr)
- ss.statusDesc = appErr.Error()
+ appStatus, ok := status.FromError(appErr)
+ if !ok {
+ switch err := appErr.(type) {
+ case transport.StreamError:
+ appStatus = status.New(err.Code, err.Desc)
+ default:
+ appStatus = status.New(convertCode(appErr), 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)
+ // TODO: Should we log an error from WriteStatus here and below?
+ return appErr
}
if trInfo != nil {
ss.mu.Lock()
- if ss.statusCode != codes.OK {
- ss.trInfo.tr.LazyLog(stringer(ss.statusDesc), true)
- ss.trInfo.tr.SetError()
- } else {
- ss.trInfo.tr.LazyLog(stringer("OK"), false)
- }
+ ss.trInfo.tr.LazyLog(stringer("OK"), false)
ss.mu.Unlock()
}
- errWrite := t.WriteStatus(ss.s, ss.statusCode, ss.statusDesc)
- if ss.statusCode != codes.OK {
- return Errorf(ss.statusCode, ss.statusDesc)
- }
- return errWrite
+ return t.WriteStatus(ss.s, status.New(codes.OK, ""))
}
@@ -867,12 +963,12 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str
trInfo.tr.SetError()
}
errDesc := fmt.Sprintf("malformed method name: %q", stream.Method())
- if err := t.WriteStatus(stream, codes.InvalidArgument, errDesc); err != nil {
+ 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.Printf("grpc: Server.handleStream failed to write status: %v", err)
+ grpclog.Warningf("grpc: Server.handleStream failed to write status: %v", err)
}
if trInfo != nil {
trInfo.tr.Finish()
@@ -883,17 +979,21 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str
method := sm[pos+1:]
srv, ok := s.m[service]
if !ok {
+ if unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {
+ s.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)
+ return
+ }
if trInfo != nil {
trInfo.tr.LazyLog(&fmtStringer{"Unknown service %v", []interface{}{service}}, true)
trInfo.tr.SetError()
}
errDesc := fmt.Sprintf("unknown service %v", service)
- if err := t.WriteStatus(stream, codes.Unimplemented, errDesc); err != nil {
+ 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.Printf("grpc: Server.handleStream failed to write status: %v", err)
+ grpclog.Warningf("grpc: Server.handleStream failed to write status: %v", err)
}
if trInfo != nil {
trInfo.tr.Finish()
@@ -913,13 +1013,17 @@ func (s *Server) handleStream(t transport.ServerTransport, stream *transport.Str
trInfo.tr.LazyLog(&fmtStringer{"Unknown method %v", []interface{}{method}}, true)
trInfo.tr.SetError()
}
+ if unknownDesc := s.opts.unknownStreamDesc; unknownDesc != nil {
+ s.processStreamingRPC(t, stream, nil, unknownDesc, trInfo)
+ return
+ }
errDesc := fmt.Sprintf("unknown method %v", method)
- if err := t.WriteStatus(stream, codes.Unimplemented, errDesc); err != nil {
+ 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.Printf("grpc: Server.handleStream failed to write status: %v", err)
+ grpclog.Warningf("grpc: Server.handleStream failed to write status: %v", err)
}
if trInfo != nil {
trInfo.tr.Finish()
@@ -957,8 +1061,9 @@ func (s *Server) Stop() {
s.mu.Unlock()
}
-// GracefulStop stops the gRPC server gracefully. It stops the server to accept new
-// connections and RPCs and blocks until all the pending RPCs are finished.
+// 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.mu.Lock()
defer s.mu.Unlock()
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/handlers.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/handlers.go
index 26e1a8e2..05b384c6 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/handlers.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/handlers.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -45,19 +30,22 @@ type ConnTagInfo struct {
RemoteAddr net.Addr
// LocalAddr is the local address of the corresponding connection.
LocalAddr net.Addr
- // TODO add QOS related fields.
}
// 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 returned context is used in the rest lifetime of the RPC.
+ // 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)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/stats.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/stats.go
index a82448a6..338a3a75 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/stats.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stats/stats.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -49,7 +34,7 @@ type RPCStats interface {
}
// Begin contains stats when an RPC begins.
-// FailFast are only valid if Client is true.
+// 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
@@ -59,7 +44,7 @@ type Begin struct {
FailFast bool
}
-// IsClient indicates if this is from client side.
+// IsClient indicates if the stats information is from client side.
func (s *Begin) IsClient() bool { return s.Client }
func (s *Begin) isRPCStats() {}
@@ -80,19 +65,19 @@ type InPayload struct {
RecvTime time.Time
}
-// IsClient indicates if this is from client side.
+// 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.
-// FullMethod, addresses and Compression are only valid if Client is false.
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.
@@ -103,7 +88,7 @@ type InHeader struct {
Compression string
}
-// IsClient indicates if this is from client side.
+// IsClient indicates if the stats information is from client side.
func (s *InHeader) IsClient() bool { return s.Client }
func (s *InHeader) isRPCStats() {}
@@ -116,7 +101,7 @@ type InTrailer struct {
WireLength int
}
-// IsClient indicates if this is from client side.
+// IsClient indicates if the stats information is from client side.
func (s *InTrailer) IsClient() bool { return s.Client }
func (s *InTrailer) isRPCStats() {}
@@ -137,19 +122,19 @@ type OutPayload struct {
SentTime time.Time
}
-// IsClient indicates if this is from client side.
+// 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.
-// FullMethod, addresses and Compression are only valid if Client is true.
type OutHeader struct {
// Client is true if this OutHeader is from client side.
Client bool
// WireLength is the wire length of header.
WireLength int
+ // 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.
@@ -160,7 +145,7 @@ type OutHeader struct {
Compression string
}
-// IsClient indicates if this is from client side.
+// IsClient indicates if this stats information is from client side.
func (s *OutHeader) IsClient() bool { return s.Client }
func (s *OutHeader) isRPCStats() {}
@@ -173,7 +158,7 @@ type OutTrailer struct {
WireLength int
}
-// IsClient indicates if this is from client side.
+// IsClient indicates if this stats information is from client side.
func (s *OutTrailer) IsClient() bool { return s.Client }
func (s *OutTrailer) isRPCStats() {}
@@ -184,7 +169,9 @@ type End struct {
Client bool
// EndTime is the time when the RPC ends.
EndTime time.Time
- // Error is the error just happened. Its type is gRPC error.
+ // 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
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/status/status.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/status/status.go
new file mode 100644
index 00000000..871dc4b3
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/status/status.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 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 (
+ "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"
+)
+
+// 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) status() *Status {
+ return &Status{s: (*spb.Status)(se)}
+}
+
+// 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, otherwise it returns nil, false.
+func FromError(err error) (s *Status, ok bool) {
+ if err == nil {
+ return &Status{s: &spb.Status{Code: int32(codes.OK)}}, true
+ }
+ if s, ok := err.(*statusError); ok {
+ return s.status(), true
+ }
+ return nil, false
+}
+
+// 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
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stream.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stream.go
index bb468dc3..1c621ba8 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stream.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/stream.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -37,7 +22,6 @@ import (
"bytes"
"errors"
"io"
- "math"
"sync"
"time"
@@ -45,7 +29,9 @@ import (
"golang.org/x/net/trace"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/peer"
"google.golang.org/grpc/stats"
+ "google.golang.org/grpc/status"
"google.golang.org/grpc/transport"
)
@@ -73,11 +59,17 @@ type Stream interface {
// side. On server side, it simply returns the error to the caller.
// SendMsg is called by generated code. Also Users can call SendMsg
// directly when it is really needed in their use cases.
+ // It's 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 or the stream is
// done. On client side, it returns io.EOF when the stream is done. On
// any other error, it aborts the stream and returns an RPC status. On
// server side, it simply returns the error to the caller.
+ // It's 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
}
@@ -93,6 +85,11 @@ type ClientStream interface {
// CloseSend closes the send direction of the stream. It closes the stream
// when non-nil error is met.
CloseSend() error
+ // Stream.SendMsg() may return a non-nil error when something wrong happens sending
+ // the request. The returned error indicates the status of this sending, not the final
+ // status of the RPC.
+ // Always call Stream.RecvMsg() to get the final status if you care about the status of
+ // the RPC.
Stream
}
@@ -113,25 +110,39 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
cancel context.CancelFunc
)
c := defaultCallInfo
- if mc, ok := cc.getMethodConfig(method); ok {
- c.failFast = !mc.WaitForReady
- if mc.Timeout > 0 {
- ctx, cancel = context.WithTimeout(ctx, mc.Timeout)
- }
+ mc := cc.GetMethodConfig(method)
+ if mc.WaitForReady != nil {
+ c.failFast = !*mc.WaitForReady
+ }
+
+ if mc.Timeout != nil {
+ ctx, cancel = context.WithTimeout(ctx, *mc.Timeout)
}
+
+ opts = append(cc.dopts.callOptions, opts...)
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)
+
callHdr := &transport.CallHdr{
Host: cc.authority,
Method: method,
- Flush: desc.ServerStreams && desc.ClientStreams,
+ // If it's not client streaming, we should already have the request to be sent,
+ // so we don't flush the header.
+ // If it's client streaming, the user may never send a request or send it any
+ // time soon, so we ask the transport to flush the header.
+ Flush: desc.ClientStreams,
}
if cc.dopts.cp != nil {
callHdr.SendCompress = cc.dopts.cp.Type()
}
+ if c.creds != nil {
+ callHdr.Creds = c.creds
+ }
var trInfo traceInfo
if EnableTracing {
trInfo.tr = trace.New("grpc.Sent."+methodFamily(method), method)
@@ -151,26 +162,27 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
}
}()
}
+ ctx = newContextWithRPCInfo(ctx)
sh := cc.dopts.copts.StatsHandler
if sh != nil {
- ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method})
+ ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})
begin := &stats.Begin{
Client: true,
BeginTime: time.Now(),
FailFast: c.failFast,
}
sh.HandleRPC(ctx, begin)
- }
- defer func() {
- if err != nil && sh != nil {
- // Only handle end stats if err != nil.
- end := &stats.End{
- Client: true,
- Error: err,
+ defer func() {
+ if err != nil {
+ // Only handle end stats if err != nil.
+ end := &stats.End{
+ Client: true,
+ Error: err,
+ }
+ sh.HandleRPC(ctx, end)
}
- sh.HandleRPC(ctx, end)
- }
- }()
+ }()
+ }
gopts := BalancerGetOptions{
BlockingWait: !c.failFast,
}
@@ -178,7 +190,7 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
t, put, err = cc.getTransport(ctx, gopts)
if err != nil {
// TODO(zhaoq): Probably revisit the error handling.
- if _, ok := err.(*rpcError); ok {
+ if _, ok := status.FromError(err); ok {
return nil, err
}
if err == errConnClosing || err == errConnUnavailable {
@@ -193,20 +205,27 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
s, err = t.NewStream(ctx, callHdr)
if err != nil {
+ if _, ok := err.(transport.ConnectionError); ok && put != nil {
+ // If error is connection error, transport was sending data on wire,
+ // and we are not sure if anything has been sent on wire.
+ // If error is not connection error, we are sure nothing has been sent.
+ updateRPCInfoInContext(ctx, rpcInfo{bytesSent: true, bytesReceived: false})
+ }
if put != nil {
put()
put = nil
}
- if _, ok := err.(transport.ConnectionError); ok || err == transport.ErrStreamDrain {
- if c.failFast {
- return nil, toRPCErr(err)
- }
+ if _, ok := err.(transport.ConnectionError); (ok || err == transport.ErrStreamDrain) && !c.failFast {
continue
}
return nil, toRPCErr(err)
}
break
}
+ // Set callInfo.peer object from stream's context.
+ if peer, ok := peer.FromContext(s.Context()); ok {
+ c.peer = peer
+ }
cs := &clientStream{
opts: opts,
c: c,
@@ -236,14 +255,13 @@ func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth
select {
case <-t.Error():
// Incur transport error, simply exit.
+ case <-cc.ctx.Done():
+ cs.finish(ErrClientConnClosing)
+ cs.closeTransportStream(ErrClientConnClosing)
case <-s.Done():
// TODO: The trace of the RPC is terminated here when there is no pending
// I/O, which is probably not the optimal solution.
- if s.StatusCode() == codes.OK {
- cs.finish(nil)
- } else {
- cs.finish(Errorf(s.StatusCode(), "%s", s.StatusDesc()))
- }
+ cs.finish(s.Status().Err())
cs.closeTransportStream(nil)
case <-s.GoAway():
cs.finish(errConnDrain)
@@ -273,9 +291,10 @@ type clientStream struct {
tracing bool // set to EnableTracing when the clientStream is created.
- mu sync.Mutex
- put func()
- closed bool
+ mu sync.Mutex
+ put func()
+ closed bool
+ finished bool
// trInfo.tr is set when the clientStream is created (if EnableTracing is true),
// and is set to nil when the clientStream's finish method is called.
trInfo traceInfo
@@ -350,7 +369,13 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) {
}
}()
if err != nil {
- return Errorf(codes.Internal, "grpc: %v", err)
+ return err
+ }
+ if cs.c.maxSendMessageSize == nil {
+ return Errorf(codes.Internal, "callInfo maxSendMessageSize field uninitialized(nil)")
+ }
+ if len(out) > *cs.c.maxSendMessageSize {
+ return Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(out), *cs.c.maxSendMessageSize)
}
err = cs.t.Write(cs.s, out, &transport.Options{Last: false})
if err == nil && outPayload != nil {
@@ -361,28 +386,16 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) {
}
func (cs *clientStream) RecvMsg(m interface{}) (err error) {
- defer func() {
- if err != nil && cs.statsHandler != nil {
- // Only generate End if err != nil.
- // If err == nil, it's not the last RecvMsg.
- // The last RecvMsg gets either an RPC error or io.EOF.
- end := &stats.End{
- Client: true,
- EndTime: time.Now(),
- }
- if err != io.EOF {
- end.Error = toRPCErr(err)
- }
- cs.statsHandler.HandleRPC(cs.statsCtx, end)
- }
- }()
var inPayload *stats.InPayload
if cs.statsHandler != nil {
inPayload = &stats.InPayload{
Client: true,
}
}
- err = recv(cs.p, cs.codec, cs.s, cs.dc, m, math.MaxInt32, inPayload)
+ if cs.c.maxReceiveMessageSize == nil {
+ return Errorf(codes.Internal, "callInfo maxReceiveMessageSize field uninitialized(nil)")
+ }
+ err = recv(cs.p, cs.codec, cs.s, cs.dc, m, *cs.c.maxReceiveMessageSize, inPayload)
defer func() {
// err != nil indicates the termination of the stream.
if err != nil {
@@ -405,17 +418,20 @@ func (cs *clientStream) RecvMsg(m interface{}) (err error) {
}
// Special handling for client streaming rpc.
// This recv expects EOF or errors, so we don't collect inPayload.
- err = recv(cs.p, cs.codec, cs.s, cs.dc, m, math.MaxInt32, nil)
+ if cs.c.maxReceiveMessageSize == nil {
+ return Errorf(codes.Internal, "callInfo maxReceiveMessageSize field uninitialized(nil)")
+ }
+ err = recv(cs.p, cs.codec, cs.s, cs.dc, m, *cs.c.maxReceiveMessageSize, nil)
cs.closeTransportStream(err)
if err == nil {
return toRPCErr(errors.New("grpc: client streaming protocol violation: get <nil>, want <EOF>"))
}
if err == io.EOF {
- if cs.s.StatusCode() == codes.OK {
- cs.finish(err)
- return nil
+ if se := cs.s.Status().Err(); se != nil {
+ return se
}
- return Errorf(cs.s.StatusCode(), "%s", cs.s.StatusDesc())
+ cs.finish(err)
+ return nil
}
return toRPCErr(err)
}
@@ -423,11 +439,11 @@ func (cs *clientStream) RecvMsg(m interface{}) (err error) {
cs.closeTransportStream(err)
}
if err == io.EOF {
- if cs.s.StatusCode() == codes.OK {
- // Returns io.EOF to indicate the end of the stream.
- return
+ if statusErr := cs.s.Status().Err(); statusErr != nil {
+ return statusErr
}
- return Errorf(cs.s.StatusCode(), "%s", cs.s.StatusDesc())
+ // Returns io.EOF to indicate the end of the stream.
+ return
}
return toRPCErr(err)
}
@@ -461,20 +477,39 @@ func (cs *clientStream) closeTransportStream(err error) {
}
func (cs *clientStream) finish(err error) {
+ cs.mu.Lock()
+ defer cs.mu.Unlock()
+ if cs.finished {
+ return
+ }
+ cs.finished = true
defer func() {
if cs.cancel != nil {
cs.cancel()
}
}()
- cs.mu.Lock()
- defer cs.mu.Unlock()
for _, o := range cs.opts {
o.after(&cs.c)
}
if cs.put != nil {
+ updateRPCInfoInContext(cs.s.Context(), rpcInfo{
+ bytesSent: cs.s.BytesSent(),
+ bytesReceived: cs.s.BytesReceived(),
+ })
cs.put()
cs.put = nil
}
+ if cs.statsHandler != nil {
+ end := &stats.End{
+ Client: true,
+ EndTime: time.Now(),
+ }
+ if err != io.EOF {
+ // end.Error is nil if the RPC finished successfully.
+ end.Error = toRPCErr(err)
+ }
+ cs.statsHandler.HandleRPC(cs.statsCtx, end)
+ }
if !cs.tracing {
return
}
@@ -511,17 +546,16 @@ type ServerStream interface {
// serverStream implements a server side Stream.
type serverStream struct {
- t transport.ServerTransport
- s *transport.Stream
- p *parser
- codec Codec
- cp Compressor
- dc Decompressor
- cbuf *bytes.Buffer
- maxMsgSize int
- statusCode codes.Code
- statusDesc string
- trInfo *traceInfo
+ t transport.ServerTransport
+ s *transport.Stream
+ p *parser
+ codec Codec
+ cp Compressor
+ dc Decompressor
+ cbuf *bytes.Buffer
+ maxReceiveMessageSize int
+ maxSendMessageSize int
+ trInfo *traceInfo
statsHandler stats.Handler
@@ -577,9 +611,11 @@ func (ss *serverStream) SendMsg(m interface{}) (err error) {
}
}()
if err != nil {
- err = Errorf(codes.Internal, "grpc: %v", err)
return err
}
+ if len(out) > ss.maxSendMessageSize {
+ return Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(out), ss.maxSendMessageSize)
+ }
if err := ss.t.Write(ss.s, out, &transport.Options{Last: false}); err != nil {
return toRPCErr(err)
}
@@ -609,7 +645,7 @@ func (ss *serverStream) RecvMsg(m interface{}) (err error) {
if ss.statsHandler != nil {
inPayload = &stats.InPayload{}
}
- if err := recv(ss.p, ss.codec, ss.s, ss.dc, m, ss.maxMsgSize, inPayload); err != nil {
+ if err := recv(ss.p, ss.codec, ss.s, ss.dc, m, ss.maxReceiveMessageSize, inPayload); err != nil {
if err == io.EOF {
return err
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/tap/tap.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/tap/tap.go
index 0f366476..decb6786 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/tap/tap.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/tap/tap.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2016, Google Inc.
- * All rights reserved.
+ * Copyright 2016 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/trace.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/trace.go
index f6747e1d..b419c9e3 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/trace.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/trace.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2015, Google Inc.
- * All rights reserved.
+ * Copyright 2015 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/bdp_estimator.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/bdp_estimator.go
new file mode 100644
index 00000000..667edb80
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/bdp_estimator.go
@@ -0,0 +1,143 @@
+/*
+ *
+ * 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.
+ bdpLimit = (1 << 20) * 4
+ // 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
+)
+
+var (
+ // Adding arbitrary data to ping so that its ack can be
+ // identified.
+ // Easter-egg: what does the ping message say?
+ 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 begining 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 recieved.
+// 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 accumalated 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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/control.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/control.go
index 2586cba4..501eb03c 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/control.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/control.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -35,7 +20,9 @@ package transport
import (
"fmt"
+ "math"
"sync"
+ "time"
"golang.org/x/net/http2"
)
@@ -44,8 +31,19 @@ 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
- initialConnWindowSize = defaultWindowSize * 16 // for a connection
+ initialWindowSize = defaultWindowSize // for an RPC
+ infinity = time.Duration(math.MaxInt64)
+ defaultClientKeepaliveTime = infinity
+ defaultClientKeepaliveTimeout = time.Duration(20 * time.Second)
+ defaultMaxStreamsClient = 100
+ defaultMaxConnectionIdle = infinity
+ defaultMaxConnectionAge = infinity
+ defaultMaxConnectionAgeGrace = infinity
+ defaultServerKeepaliveTime = time.Duration(2 * time.Hour)
+ defaultServerKeepaliveTimeout = time.Duration(20 * time.Second)
+ defaultKeepalivePolicyMinTime = time.Duration(5 * time.Minute)
+ // max window limit set by HTTP2 Specs.
+ maxWindowSize = math.MaxInt32
)
// The following defines various control items which could flow through
@@ -54,6 +52,7 @@ const (
type windowUpdate struct {
streamID uint32
increment uint32
+ flush bool
}
func (*windowUpdate) item() {}
@@ -73,6 +72,10 @@ type resetStream struct {
func (*resetStream) item() {}
type goAway struct {
+ code http2.ErrCode
+ debugData []byte
+ headsUp bool
+ closeConn bool
}
func (*goAway) item() {}
@@ -143,16 +146,59 @@ func (qb *quotaPool) acquire() <-chan int {
// inFlow deals with inbound flow control
type inFlow struct {
+ mu sync.Mutex
// The inbound flow control limit for pending data.
limit uint32
-
- mu sync.Mutex
// 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()
+ defer f.mu.Unlock()
+ d := n - f.limit
+ f.limit = n
+ 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 speecified 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.
@@ -160,7 +206,7 @@ func (f *inFlow) onData(n uint32) error {
f.mu.Lock()
defer f.mu.Unlock()
f.pendingData += n
- if f.pendingData+f.pendingUpdate > f.limit {
+ if f.pendingData+f.pendingUpdate > f.limit+f.delta {
return fmt.Errorf("received %d-bytes data exceeding the limit %d bytes", f.pendingData+f.pendingUpdate, f.limit)
}
return nil
@@ -175,6 +221,13 @@ func (f *inFlow) onRead(n uint32) uint32 {
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
@@ -184,10 +237,10 @@ func (f *inFlow) onRead(n uint32) uint32 {
return 0
}
-func (f *inFlow) resetPendingData() uint32 {
+func (f *inFlow) resetPendingUpdate() uint32 {
f.mu.Lock()
defer f.mu.Unlock()
- n := f.pendingData
- f.pendingData = 0
+ n := f.pendingUpdate
+ f.pendingUpdate = 0
return n
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go16.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go16.go
index ee1c46ba..7cffee11 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go16.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go16.go
@@ -1,34 +1,20 @@
// +build go1.6,!go1.7
/*
- * Copyright 2016, Google Inc.
- * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * Copyright 2016 gRPC authors.
*
- * * 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.
+ * 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
*
- * 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.
+ * 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.
*
*/
@@ -37,6 +23,8 @@ package transport
import (
"net"
+ "google.golang.org/grpc/codes"
+
"golang.org/x/net/context"
)
@@ -44,3 +32,14 @@ import (
func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
return (&net.Dialer{Cancel: ctx.Done()}).Dial(network, address)
}
+
+// ContextErr converts the error from context package into a StreamError.
+func ContextErr(err error) StreamError {
+ switch err {
+ case context.DeadlineExceeded:
+ return streamErrorf(codes.DeadlineExceeded, "%v", err)
+ case context.Canceled:
+ return streamErrorf(codes.Canceled, "%v", err)
+ }
+ return streamErrorf(codes.Internal, "Unexpected error from context packet: %v", err)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go17.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go17.go
index 356f13ff..2464e69f 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go17.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/go17.go
@@ -1,46 +1,46 @@
// +build go1.7
/*
- * Copyright 2016, Google Inc.
- * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * Copyright 2016 gRPC authors.
*
- * * 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.
+ * 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
*
- * 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.
+ * 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"
"net"
- "golang.org/x/net/context"
+ "google.golang.org/grpc/codes"
+
+ netctx "golang.org/x/net/context"
)
// dialContext connects to the address on the named network.
func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
return (&net.Dialer{}).DialContext(ctx, network, address)
}
+
+// ContextErr converts the error from context package into a StreamError.
+func ContextErr(err error) StreamError {
+ switch err {
+ case context.DeadlineExceeded, netctx.DeadlineExceeded:
+ return streamErrorf(codes.DeadlineExceeded, "%v", err)
+ case context.Canceled, netctx.Canceled:
+ return streamErrorf(codes.Canceled, "%v", err)
+ }
+ return streamErrorf(codes.Internal, "Unexpected error from context packet: %v", err)
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/handler_server.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/handler_server.go
index 10b6dc0b..27372b50 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/handler_server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/handler_server.go
@@ -1,32 +1,18 @@
/*
- * Copyright 2016, Google Inc.
- * All rights reserved.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * Copyright 2016 gRPC authors.
*
- * * 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.
+ * 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
*
- * 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.
+ * 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.
*
*/
@@ -53,6 +39,7 @@ import (
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/peer"
+ "google.golang.org/grpc/status"
)
// NewServerHandlerTransport returns a ServerTransport handling gRPC
@@ -101,14 +88,9 @@ func NewServerHandlerTransport(w http.ResponseWriter, r *http.Request) (ServerTr
continue
}
for _, v := range vv {
- if k == "user-agent" {
- // user-agent is special. Copying logic of http_util.go.
- if i := strings.LastIndex(v, " "); i == -1 {
- // There is no application user agent string being set
- continue
- } else {
- v = v[:i]
- }
+ v, err := decodeMetadataHeader(k, v)
+ if err != nil {
+ return nil, streamErrorf(codes.InvalidArgument, "malformed binary metadata: %v", err)
}
metakv = append(metakv, k, v)
}
@@ -174,15 +156,22 @@ func (a strAddr) String() string { return string(a) }
// do runs fn in the ServeHTTP goroutine.
func (ht *serverHandlerTransport) do(fn func()) error {
+ // Avoid a panic writing to closed channel. Imperfect but maybe good enough.
select {
- case ht.writes <- fn:
- return nil
case <-ht.closedCh:
return ErrConnClosing
+ default:
+ select {
+ case ht.writes <- fn:
+ return nil
+ case <-ht.closedCh:
+ return ErrConnClosing
+ }
+
}
}
-func (ht *serverHandlerTransport) WriteStatus(s *Stream, statusCode codes.Code, statusDesc string) error {
+func (ht *serverHandlerTransport) WriteStatus(s *Stream, st *status.Status) error {
err := ht.do(func() {
ht.writeCommonHeaders(s)
@@ -192,10 +181,13 @@ func (ht *serverHandlerTransport) WriteStatus(s *Stream, statusCode codes.Code,
ht.rw.(http.Flusher).Flush()
h := ht.rw.Header()
- h.Set("Grpc-Status", fmt.Sprintf("%d", statusCode))
- if statusDesc != "" {
- h.Set("Grpc-Message", encodeGrpcMessage(statusDesc))
+ h.Set("Grpc-Status", fmt.Sprintf("%d", st.Code()))
+ if m := st.Message(); m != "" {
+ h.Set("Grpc-Message", encodeGrpcMessage(m))
}
+
+ // TODO: Support Grpc-Status-Details-Bin
+
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.
@@ -203,10 +195,9 @@ func (ht *serverHandlerTransport) WriteStatus(s *Stream, statusCode codes.Code,
continue
}
for _, v := range vv {
- // http2 ResponseWriter mechanism to
- // send undeclared Trailers after the
- // headers have possibly been written.
- h.Add(http2.TrailerPrefix+k, v)
+ // http2 ResponseWriter mechanism to send undeclared Trailers after
+ // the headers have possibly been written.
+ h.Add(http2.TrailerPrefix+k, encodeMetadataHeader(k, v))
}
}
}
@@ -234,6 +225,7 @@ func (ht *serverHandlerTransport) writeCommonHeaders(s *Stream) {
// and https://golang.org/pkg/net/http/#example_ResponseWriter_trailers
h.Add("Trailer", "Grpc-Status")
h.Add("Trailer", "Grpc-Message")
+ // TODO: Support Grpc-Status-Details-Bin
if s.sendCompress != "" {
h.Set("Grpc-Encoding", s.sendCompress)
@@ -260,6 +252,7 @@ func (ht *serverHandlerTransport) WriteHeader(s *Stream, md metadata.MD) error {
continue
}
for _, v := range vv {
+ v = encodeMetadataHeader(k, v)
h.Add(k, v)
}
}
@@ -300,13 +293,13 @@ func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), trace
req := ht.req
s := &Stream{
- id: 0, // irrelevant
- windowHandler: func(int) {}, // nothing
- cancel: cancel,
- buf: newRecvBuffer(),
- st: ht,
- method: req.URL.Path,
- recvCompress: req.Header.Get("grpc-encoding"),
+ id: 0, // irrelevant
+ requestRead: func(int) {},
+ cancel: cancel,
+ buf: newRecvBuffer(),
+ st: ht,
+ method: req.URL.Path,
+ recvCompress: req.Header.Get("grpc-encoding"),
}
pr := &peer.Peer{
Addr: ht.RemoteAddr(),
@@ -314,10 +307,13 @@ func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), trace
if req.TLS != nil {
pr.AuthInfo = credentials.TLSInfo{State: *req.TLS}
}
- ctx = metadata.NewContext(ctx, ht.headerMD)
+ ctx = metadata.NewIncomingContext(ctx, ht.headerMD)
ctx = peer.NewContext(ctx, pr)
s.ctx = newContextWithStream(ctx, s)
- s.dec = &recvBufferReader{ctx: s.ctx, recv: s.buf}
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{ctx: s.ctx, recv: s.buf},
+ windowHandler: func(int) {},
+ }
// readerDone is closed when the Body.Read-ing goroutine exits.
readerDone := make(chan struct{})
@@ -329,11 +325,11 @@ func (ht *serverHandlerTransport) HandleStreams(startStream func(*Stream), trace
for buf := make([]byte, readSize); ; {
n, err := req.Body.Read(buf)
if n > 0 {
- s.buf.put(&recvMsg{data: buf[:n:n]})
+ s.buf.put(recvMsg{data: buf[:n:n]})
buf = buf[n:]
}
if err != nil {
- s.buf.put(&recvMsg{err: mapRecvMsgError(err)})
+ s.buf.put(recvMsg{err: mapRecvMsgError(err)})
return
}
if len(buf) == 0 {
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_client.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_client.go
index 892f8ba6..516ea06a 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_client.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_client.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -35,12 +20,12 @@ package transport
import (
"bytes"
- "fmt"
"io"
"math"
"net"
"strings"
"sync"
+ "sync/atomic"
"time"
"golang.org/x/net/context"
@@ -48,10 +33,11 @@ import (
"golang.org/x/net/http2/hpack"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
- "google.golang.org/grpc/grpclog"
+ "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.
@@ -80,6 +66,8 @@ type http2Client struct {
// 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
hBuf *bytes.Buffer // the buffer for HPACK encoding
@@ -87,7 +75,7 @@ type http2Client struct {
// controlBuf delivers all the control related tasks (e.g., window
// updates, reset streams, and various settings) to the controller.
- controlBuf *recvBuffer
+ controlBuf *controlBuffer
fc *inFlow
// sendQuotaPool provides flow control to outbound message.
sendQuotaPool *quotaPool
@@ -97,10 +85,22 @@ type http2Client struct {
// The scheme used: https if TLS is on, http otherwise.
scheme string
+ isSecure bool
+
creds []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
+
statsHandler stats.Handler
+ initialWindowSize int32
+
+ bdpEst *bdpEstimator
+ outQuotaVersion uint32
+
mu sync.Mutex // guard the following variables
state transportState // the state of underlying connection
activeStreams map[uint32]*Stream
@@ -108,10 +108,11 @@ type http2Client struct {
maxStreams int
// the per-stream outbound flow control window size set by the peer.
streamSendQuota uint32
- // goAwayID records the Last-Stream-ID in the GoAway frame from the server.
- goAwayID uint32
// 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
}
func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error), addr string) (net.Conn, error) {
@@ -157,9 +158,9 @@ func newHTTP2Client(ctx context.Context, addr TargetInfo, opts ConnectOptions) (
conn, err := dial(ctx, opts.Dialer, addr.Addr)
if err != nil {
if opts.FailOnNonTempDialError {
- return nil, connectionErrorf(isTemporary(err), err, "transport: %v", err)
+ return nil, connectionErrorf(isTemporary(err), err, "transport: error while dialing: %v", err)
}
- return nil, connectionErrorf(true, err, "transport: %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) {
@@ -167,7 +168,10 @@ func newHTTP2Client(ctx context.Context, addr TargetInfo, opts ConnectOptions) (
conn.Close()
}
}(conn)
- var authInfo credentials.AuthInfo
+ var (
+ isSecure bool
+ authInfo credentials.AuthInfo
+ )
if creds := opts.TransportCredentials; creds != nil {
scheme = "https"
conn, authInfo, err = creds.ClientHandshake(ctx, addr.Addr, conn)
@@ -175,43 +179,72 @@ func newHTTP2Client(ctx context.Context, addr TargetInfo, opts ConnectOptions) (
// Credentials handshake errors are typically considered permanent
// to avoid retrying on e.g. bad certificates.
temp := isTemporary(err)
- return nil, connectionErrorf(temp, err, "transport: %v", err)
+ return nil, connectionErrorf(temp, err, "transport: authentication handshake failed: %v", err)
}
+ isSecure = true
}
- ua := primaryUA
- if opts.UserAgent != "" {
- ua = opts.UserAgent + " " + ua
+ kp := opts.KeepaliveParams
+ // Validate keepalive parameters.
+ if kp.Time == 0 {
+ kp.Time = defaultClientKeepaliveTime
+ }
+ if kp.Timeout == 0 {
+ kp.Timeout = defaultClientKeepaliveTimeout
+ }
+ dynamicWindow := true
+ icwz := int32(initialWindowSize)
+ if opts.InitialConnWindowSize >= defaultWindowSize {
+ icwz = opts.InitialConnWindowSize
+ dynamicWindow = false
}
var buf bytes.Buffer
t := &http2Client{
ctx: ctx,
target: addr.Addr,
- userAgent: ua,
+ userAgent: opts.UserAgent,
md: addr.Metadata,
conn: conn,
remoteAddr: conn.RemoteAddr(),
localAddr: conn.LocalAddr(),
authInfo: authInfo,
// The client initiated stream id is odd starting from 1.
- nextID: 1,
- writableChan: make(chan int, 1),
- shutdownChan: make(chan struct{}),
- errorChan: make(chan struct{}),
- goAway: make(chan struct{}),
- framer: newFramer(conn),
- hBuf: &buf,
- hEnc: hpack.NewEncoder(&buf),
- controlBuf: newRecvBuffer(),
- fc: &inFlow{limit: initialConnWindowSize},
- sendQuotaPool: newQuotaPool(defaultWindowSize),
- scheme: scheme,
- state: reachable,
- activeStreams: make(map[uint32]*Stream),
- creds: opts.PerRPCCredentials,
- maxStreams: math.MaxInt32,
- streamSendQuota: defaultWindowSize,
- statsHandler: opts.StatsHandler,
+ nextID: 1,
+ writableChan: make(chan int, 1),
+ shutdownChan: make(chan struct{}),
+ errorChan: make(chan struct{}),
+ goAway: make(chan struct{}),
+ awakenKeepalive: make(chan struct{}, 1),
+ framer: newFramer(conn),
+ hBuf: &buf,
+ hEnc: hpack.NewEncoder(&buf),
+ controlBuf: newControlBuffer(),
+ fc: &inFlow{limit: uint32(icwz)},
+ sendQuotaPool: newQuotaPool(defaultWindowSize),
+ scheme: scheme,
+ state: reachable,
+ activeStreams: make(map[uint32]*Stream),
+ isSecure: isSecure,
+ creds: opts.PerRPCCredentials,
+ maxStreams: defaultMaxStreamsClient,
+ streamsQuota: newQuotaPool(defaultMaxStreamsClient),
+ streamSendQuota: defaultWindowSize,
+ kp: kp,
+ statsHandler: opts.StatsHandler,
+ initialWindowSize: initialWindowSize,
+ }
+ 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,
@@ -230,32 +263,35 @@ func newHTTP2Client(ctx context.Context, addr TargetInfo, opts ConnectOptions) (
n, err := t.conn.Write(clientPreface)
if err != nil {
t.Close()
- return nil, connectionErrorf(true, err, "transport: %v", err)
+ 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))
}
- if initialWindowSize != defaultWindowSize {
+ if t.initialWindowSize != defaultWindowSize {
err = t.framer.writeSettings(true, http2.Setting{
ID: http2.SettingInitialWindowSize,
- Val: uint32(initialWindowSize),
+ Val: uint32(t.initialWindowSize),
})
} else {
err = t.framer.writeSettings(true)
}
if err != nil {
t.Close()
- return nil, connectionErrorf(true, err, "transport: %v", err)
+ 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(initialConnWindowSize - defaultWindowSize); delta > 0 {
+ if delta := uint32(icwz - defaultWindowSize); delta > 0 {
if err := t.framer.writeWindowUpdate(true, 0, delta); err != nil {
t.Close()
- return nil, connectionErrorf(true, err, "transport: %v", err)
+ return nil, connectionErrorf(true, err, "transport: failed to write window update: %v", err)
}
}
go t.controller()
+ if t.kp.Time != infinity {
+ go t.keepalive()
+ }
t.writableChan <- 0
return t, nil
}
@@ -269,27 +305,33 @@ func (t *http2Client) newStream(ctx context.Context, callHdr *CallHdr) *Stream {
method: callHdr.Method,
sendCompress: callHdr.SendCompress,
buf: newRecvBuffer(),
- fc: &inFlow{limit: initialWindowSize},
+ fc: &inFlow{limit: uint32(t.initialWindowSize)},
sendQuotaPool: newQuotaPool(int(t.streamSendQuota)),
headerChan: make(chan struct{}),
}
t.nextID += 2
- s.windowHandler = func(n int) {
- t.updateWindow(s, uint32(n))
+ 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.dec = &recvBufferReader{
- ctx: s.ctx,
- goAway: s.goAway,
- recv: s.buf,
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{
+ ctx: s.ctx,
+ goAway: s.goAway,
+ recv: s.buf,
+ },
+ windowHandler: func(n int) {
+ t.updateWindow(s, uint32(n))
+ },
}
+
return s
}
-// NewStream creates a stream and register it into the transport as "active"
+// 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) {
pr := &peer.Peer{
@@ -299,10 +341,13 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
if t.authInfo != nil {
pr.AuthInfo = t.authInfo
}
- userCtx := ctx
ctx = peer.NewContext(ctx, pr)
- authData := make(map[string]string)
- for _, c := range t.creds {
+ var (
+ authData = make(map[string]string)
+ audience string
+ )
+ // Create an audience string only if needed.
+ if len(t.creds) > 0 || callHdr.Creds != nil {
// Construct URI required to get auth request metadata.
var port string
if pos := strings.LastIndex(t.target, ":"); pos != -1 {
@@ -313,17 +358,39 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
}
pos := strings.LastIndex(callHdr.Method, "/")
if pos == -1 {
- return nil, streamErrorf(codes.InvalidArgument, "transport: malformed method name: %q", callHdr.Method)
+ pos = len(callHdr.Method)
}
- audience := "https://" + callHdr.Host + port + callHdr.Method[:pos]
+ audience = "https://" + callHdr.Host + port + callHdr.Method[:pos]
+ }
+ for _, c := range t.creds {
data, err := c.GetRequestMetadata(ctx, audience)
if err != nil {
- return nil, streamErrorf(codes.InvalidArgument, "transport: %v", err)
+ return nil, streamErrorf(codes.Internal, "transport: %v", err)
}
for k, v := range data {
+ // Capital header names are illegal in HTTP/2.
+ k = strings.ToLower(k)
authData[k] = v
}
}
+ callAuthData := make(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, streamErrorf(codes.Unauthenticated, "transport: cannot send secure credentials on an insecure conneciton")
+ }
+ data, err := callCreds.GetRequestMetadata(ctx, audience)
+ if err != nil {
+ return nil, streamErrorf(codes.Internal, "transport: %v", err)
+ }
+ for k, v := range data {
+ // Capital header names are illegal in HTTP/2
+ k = strings.ToLower(k)
+ callAuthData[k] = v
+ }
+ }
t.mu.Lock()
if t.activeStreams == nil {
t.mu.Unlock()
@@ -337,21 +404,18 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
t.mu.Unlock()
return nil, ErrConnClosing
}
- checkStreamsQuota := t.streamsQuota != nil
t.mu.Unlock()
- if checkStreamsQuota {
- sq, err := wait(ctx, nil, nil, t.shutdownChan, t.streamsQuota.acquire())
- if err != nil {
- return nil, err
- }
- // Returns the quota balance back.
- if sq > 1 {
- t.streamsQuota.add(sq - 1)
- }
+ sq, err := wait(ctx, nil, nil, t.shutdownChan, t.streamsQuota.acquire())
+ if err != nil {
+ return nil, err
+ }
+ // Returns the quota balance back.
+ if sq > 1 {
+ t.streamsQuota.add(sq - 1)
}
if _, err := wait(ctx, nil, nil, t.shutdownChan, t.writableChan); err != nil {
// Return the quota back now because there is no stream returned to the caller.
- if _, ok := err.(StreamError); ok && checkStreamsQuota {
+ if _, ok := err.(StreamError); ok {
t.streamsQuota.add(1)
}
return nil, err
@@ -359,9 +423,7 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
t.mu.Lock()
if t.state == draining {
t.mu.Unlock()
- if checkStreamsQuota {
- t.streamsQuota.add(1)
- }
+ t.streamsQuota.add(1)
// Need to make t writable again so that the rpc in flight can still proceed.
t.writableChan <- 0
return nil, ErrStreamDrain
@@ -371,19 +433,18 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
return nil, ErrConnClosing
}
s := t.newStream(ctx, callHdr)
- s.clientStatsCtx = userCtx
t.activeStreams[s.id] = s
-
- // This stream is not counted when applySetings(...) initialize t.streamsQuota.
- // Reset t.streamsQuota to the right value.
- var reset bool
- if !checkStreamsQuota && t.streamsQuota != nil {
- reset = true
+ // 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 {
+ select {
+ case t.awakenKeepalive <- struct{}{}:
+ t.framer.writePing(false, false, [8]byte{})
+ default:
+ }
}
+
t.mu.Unlock()
- if reset {
- t.streamsQuota.add(-1)
- }
// HPACK encodes various headers. Note that once WriteField(...) is
// called, the corresponding headers/continuation frame has to be sent
@@ -407,33 +468,32 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
}
for k, v := range authData {
- // Capital header names are illegal in HTTP/2.
- k = strings.ToLower(k)
- t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: v})
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
+ }
+ for k, v := range callAuthData {
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
var (
- hasMD bool
endHeaders bool
)
- if md, ok := metadata.FromContext(ctx); ok {
- hasMD = true
- for k, v := range md {
+ if md, ok := metadata.FromOutgoingContext(ctx); ok {
+ for k, vv := range md {
// HTTP doesn't allow you to set pseudoheaders after non pseudoheaders were set.
if isReservedHeader(k) {
continue
}
- for _, entry := range v {
- t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: entry})
+ for _, v := range vv {
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
}
}
if md, ok := t.md.(*metadata.MD); ok {
- for k, v := range *md {
+ for k, vv := range *md {
if isReservedHeader(k) {
continue
}
- for _, entry := range v {
- t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: entry})
+ for _, v := range vv {
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
}
}
@@ -448,7 +508,7 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
endHeaders = true
}
var flush bool
- if endHeaders && (hasMD || callHdr.Flush) {
+ if callHdr.Flush && endHeaders {
flush = true
}
if first {
@@ -473,6 +533,10 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
return nil, connectionErrorf(true, err, "transport: %v", err)
}
}
+ s.mu.Lock()
+ s.bytesSent = true
+ s.mu.Unlock()
+
if t.statsHandler != nil {
outHeader := &stats.OutHeader{
Client: true,
@@ -482,7 +546,7 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
LocalAddr: t.localAddr,
Compression: callHdr.SendCompress,
}
- t.statsHandler.HandleRPC(s.clientStatsCtx, outHeader)
+ t.statsHandler.HandleRPC(s.ctx, outHeader)
}
t.writableChan <- 0
return s, nil
@@ -491,14 +555,14 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
// 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 updateStreams bool
t.mu.Lock()
if t.activeStreams == nil {
t.mu.Unlock()
return
}
- if t.streamsQuota != nil {
- updateStreams = true
+ if err != nil {
+ // notify in-flight streams, before the deletion
+ s.write(recvMsg{err: err})
}
delete(t.activeStreams, s.id)
if t.state == draining && len(t.activeStreams) == 0 {
@@ -508,15 +572,27 @@ func (t *http2Client) CloseStream(s *Stream, err error) {
return
}
t.mu.Unlock()
- if updateStreams {
- t.streamsQuota.add(1)
- }
- s.mu.Lock()
- if q := s.fc.resetPendingData(); q > 0 {
- if n := t.fc.onRead(q); n > 0 {
- t.controlBuf.put(&windowUpdate{0, n})
+ // rstStream is true in case the stream is being closed at the client-side
+ // and the server needs to be intimated about it by sending a RST_STREAM
+ // frame.
+ // To make sure this frame is written to the wire before the headers of the
+ // next stream waiting for streamsQuota, we add to streamsQuota pool only
+ // after having acquired the writableChan to send RST_STREAM out (look at
+ // the controller() routine).
+ var rstStream bool
+ var rstError http2.ErrCode
+ defer func() {
+ // In case, the client doesn't have to send RST_STREAM to server
+ // we can safely add back to streamsQuota pool now.
+ if !rstStream {
+ t.streamsQuota.add(1)
+ return
}
- }
+ t.controlBuf.put(&resetStream{s.id, rstError})
+ }()
+ s.mu.Lock()
+ rstStream = s.rstStream
+ rstError = s.rstError
if s.state == streamDone {
s.mu.Unlock()
return
@@ -527,8 +603,9 @@ func (t *http2Client) CloseStream(s *Stream, err error) {
}
s.state = streamDone
s.mu.Unlock()
- if se, ok := err.(StreamError); ok && se.Code != codes.DeadlineExceeded {
- t.controlBuf.put(&resetStream{s.id, http2.ErrCodeCancel})
+ if _, ok := err.(StreamError); ok {
+ rstStream = true
+ rstError = http2.ErrCodeCancel
}
}
@@ -584,24 +661,6 @@ func (t *http2Client) GracefulClose() error {
t.mu.Unlock()
return nil
}
- // Notify the streams which were initiated after the server sent GOAWAY.
- select {
- case <-t.goAway:
- n := t.prevGoAwayID
- if n == 0 && t.nextID > 1 {
- n = t.nextID - 2
- }
- m := t.goAwayID + 2
- if m == 2 {
- m = 1
- }
- for i := m; i <= n; i += 2 {
- if s, ok := t.activeStreams[i]; ok {
- close(s.goAway)
- }
- }
- default:
- }
if t.state == draining {
t.mu.Unlock()
return nil
@@ -621,9 +680,13 @@ func (t *http2Client) GracefulClose() error {
// if it improves the performance.
func (t *http2Client) Write(s *Stream, data []byte, opts *Options) error {
r := bytes.NewBuffer(data)
+ var (
+ p []byte
+ oqv uint32
+ )
for {
- var p []byte
- if r.Len() > 0 {
+ oqv = atomic.LoadUint32(&t.outQuotaVersion)
+ if r.Len() > 0 || p != nil {
size := http2MaxFrameLen
// Wait until the stream has some quota to send the data.
sq, err := wait(s.ctx, s.done, s.goAway, t.shutdownChan, s.sendQuotaPool.acquire())
@@ -641,7 +704,9 @@ func (t *http2Client) Write(s *Stream, data []byte, opts *Options) error {
if tq < size {
size = tq
}
- p = r.Next(size)
+ if p == nil {
+ p = r.Next(size)
+ }
ps := len(p)
if ps < sq {
// Overbooked stream quota. Return it back.
@@ -686,6 +751,18 @@ func (t *http2Client) Write(s *Stream, data []byte, opts *Options) error {
return ContextErr(s.ctx.Err())
default:
}
+ if oqv != atomic.LoadUint32(&t.outQuotaVersion) {
+ // InitialWindowSize settings frame must have been received after we
+ // acquired send quota but before we got the writable channel.
+ // We must forsake this write.
+ t.sendQuotaPool.add(len(p))
+ s.sendQuotaPool.add(len(p))
+ if t.framer.adjustNumWriters(-1) == 0 {
+ t.controlBuf.put(&flushIO{})
+ }
+ t.writableChan <- 0
+ continue
+ }
if r.Len() == 0 && t.framer.adjustNumWriters(0) == 1 {
// Do a force flush iff this is last frame for the entire gRPC message
// and the caller is the only writer at this moment.
@@ -698,6 +775,7 @@ func (t *http2Client) Write(s *Stream, data []byte, opts *Options) error {
t.notifyError(err)
return connectionErrorf(true, err, "transport: %v", err)
}
+ p = nil
if t.framer.adjustNumWriters(-1) == 0 {
t.framer.flushWrite()
}
@@ -724,6 +802,24 @@ func (t *http2Client) getStream(f http2.Frame) (*Stream, bool) {
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) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.maybeAdjust(n); w > 0 {
+ // Piggyback conneciton's window update along.
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw, false})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
+ }
+}
+
// 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.
@@ -733,55 +829,98 @@ func (t *http2Client) updateWindow(s *Stream, n uint32) {
if s.state == streamDone {
return
}
- if w := t.fc.onRead(n); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
if w := s.fc.onRead(n); w > 0 {
- t.controlBuf.put(&windowUpdate{s.id, w})
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw, false})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
}
}
+// 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.initialWindowSize = int32(n)
+ t.mu.Unlock()
+ t.controlBuf.put(&windowUpdate{0, t.fc.newLimit(n), false})
+ t.controlBuf.put(&settings{
+ ack: false,
+ ss: []http2.Setting{
+ {
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(n),
+ },
+ },
+ })
+}
+
func (t *http2Client) handleData(f *http2.DataFrame) {
- size := len(f.Data())
- if err := t.fc.onData(uint32(size)); err != nil {
- t.notifyError(connectionErrorf(true, err, "%v", err))
- return
+ size := f.Header().Length
+ var sendBDPPing bool
+ if t.bdpEst != nil {
+ sendBDPPing = t.bdpEst.add(uint32(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.
+ //
+ // Furthermore, if a bdpPing is being sent out we can piggyback
+ // connection's window update for the bytes we just received.
+ if sendBDPPing {
+ t.controlBuf.put(&windowUpdate{0, uint32(size), false})
+ t.controlBuf.put(bdpPing)
+ } else {
+ if err := t.fc.onData(uint32(size)); err != nil {
+ t.notifyError(connectionErrorf(true, err, "%v", err))
+ return
+ }
+ if w := t.fc.onRead(uint32(size)); w > 0 {
+ t.controlBuf.put(&windowUpdate{0, w, true})
+ }
}
// Select the right stream to dispatch.
s, ok := t.getStream(f)
if !ok {
- if w := t.fc.onRead(uint32(size)); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
return
}
if size > 0 {
s.mu.Lock()
if s.state == streamDone {
s.mu.Unlock()
- // The stream has been closed. Release the corresponding quota.
- if w := t.fc.onRead(uint32(size)); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
return
}
if err := s.fc.onData(uint32(size)); err != nil {
- s.state = streamDone
- s.statusCode = codes.Internal
- s.statusDesc = err.Error()
- close(s.done)
+ s.rstStream = true
+ s.rstError = http2.ErrCodeFlowControl
+ s.finish(status.New(codes.Internal, err.Error()))
s.mu.Unlock()
s.write(recvMsg{err: io.EOF})
- t.controlBuf.put(&resetStream{s.id, http2.ErrCodeFlowControl})
return
}
+ if f.Header().Flags.Has(http2.FlagDataPadded) {
+ if w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
+ }
+ }
s.mu.Unlock()
// 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?
- data := make([]byte, size)
- copy(data, f.Data())
- s.write(recvMsg{data: data})
+ if len(f.Data()) > 0 {
+ data := make([]byte, len(f.Data()))
+ copy(data, f.Data())
+ s.write(recvMsg{data: data})
+ }
}
// The server has closed the stream without sending trailers. Record that
// the read direction is closed, and set the status appropriately.
@@ -791,10 +930,7 @@ func (t *http2Client) handleData(f *http2.DataFrame) {
s.mu.Unlock()
return
}
- s.state = streamDone
- s.statusCode = codes.Internal
- s.statusDesc = "server closed the stream without sending trailers"
- close(s.done)
+ s.finish(status.New(codes.Internal, "server closed the stream without sending trailers"))
s.mu.Unlock()
s.write(recvMsg{err: io.EOF})
}
@@ -810,18 +946,16 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
s.mu.Unlock()
return
}
- s.state = streamDone
if !s.headerDone {
close(s.headerChan)
s.headerDone = true
}
- s.statusCode, ok = http2ErrConvTab[http2.ErrCode(f.ErrCode)]
+ statusCode, ok := http2ErrConvTab[http2.ErrCode(f.ErrCode)]
if !ok {
- grpclog.Println("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error ", f.ErrCode)
- s.statusCode = codes.Unknown
+ warningf("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error %v", f.ErrCode)
+ statusCode = codes.Unknown
}
- s.statusDesc = fmt.Sprintf("stream terminated by RST_STREAM with error code: %d", f.ErrCode)
- close(s.done)
+ s.finish(status.Newf(statusCode, "stream terminated by RST_STREAM with error code: %d", f.ErrCode))
s.mu.Unlock()
s.write(recvMsg{err: io.EOF})
}
@@ -840,7 +974,11 @@ func (t *http2Client) handleSettings(f *http2.SettingsFrame) {
}
func (t *http2Client) handlePing(f *http2.PingFrame) {
- if f.IsAck() { // Do nothing.
+ if f.IsAck() {
+ // Maybe it's a BDP ping.
+ if t.bdpEst != nil {
+ t.bdpEst.calculate(f.Data)
+ }
return
}
pingAck := &ping{ack: true}
@@ -850,31 +988,75 @@ func (t *http2Client) handlePing(f *http2.PingFrame) {
func (t *http2Client) handleGoAway(f *http2.GoAwayFrame) {
t.mu.Lock()
- if t.state == reachable || t.state == draining {
- if f.LastStreamID > 0 && f.LastStreamID%2 != 1 {
- t.mu.Unlock()
- t.notifyError(connectionErrorf(true, nil, "received illegal http2 GOAWAY frame: stream ID %d is even", f.LastStreamID))
- return
- }
- select {
- case <-t.goAway:
- id := t.goAwayID
- // t.goAway has been closed (i.e.,multiple GoAways).
- if id < f.LastStreamID {
- t.mu.Unlock()
- t.notifyError(connectionErrorf(true, nil, "received illegal http2 GOAWAY frame: previously recv GOAWAY frame with LastStramID %d, currently recv %d", id, f.LastStreamID))
- return
- }
- t.prevGoAwayID = id
- t.goAwayID = f.LastStreamID
+ if t.state != reachable && t.state != draining {
+ 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.notifyError(connectionErrorf(true, nil, "received illegal http2 GOAWAY frame: stream ID %d is even", f.LastStreamID))
+ return
+ }
+ // A client can recieve multiple GoAways from server (look at 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 really close any streams. While in case of second GoAway we
+ // close all streams created after the second 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.notifyError(connectionErrorf(true, nil, "received illegal http2 GOAWAY frame: previously recv GOAWAY frame with LastStramID %d, currently recv %d", id, f.LastStreamID))
return
- default:
}
- t.goAwayID = f.LastStreamID
+ default:
+ t.setGoAwayReason(f)
close(t.goAway)
+ 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 {
+ close(stream.goAway)
+ }
+ }
+ 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 = NoReason
+ switch f.ErrCode {
+ case http2.ErrCodeEnhanceYourCalm:
+ if string(f.DebugData()) == "too_many_pings" {
+ t.goAwayReason = TooManyPings
+ }
+ }
+}
+
+func (t *http2Client) GetGoAwayReason() GoAwayReason {
+ t.mu.Lock()
+ defer t.mu.Unlock()
+ return t.goAwayReason
}
func (t *http2Client) handleWindowUpdate(f *http2.WindowUpdateFrame) {
@@ -895,18 +1077,18 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
if !ok {
return
}
+ s.mu.Lock()
+ s.bytesReceived = true
+ s.mu.Unlock()
var state decodeState
- for _, hf := range frame.Fields {
- state.processHeaderField(hf)
- }
- if state.err != nil {
+ if err := state.decodeResponseHeader(frame); err != nil {
s.mu.Lock()
if !s.headerDone {
close(s.headerChan)
s.headerDone = true
}
s.mu.Unlock()
- s.write(recvMsg{err: state.err})
+ s.write(recvMsg{err: err})
// Something wrong. Stops reading even when there is remaining.
return
}
@@ -920,13 +1102,13 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
Client: true,
WireLength: int(frame.Header().Length),
}
- t.statsHandler.HandleRPC(s.clientStatsCtx, inHeader)
+ t.statsHandler.HandleRPC(s.ctx, inHeader)
} else {
inTrailer := &stats.InTrailer{
Client: true,
WireLength: int(frame.Header().Length),
}
- t.statsHandler.HandleRPC(s.clientStatsCtx, inTrailer)
+ t.statsHandler.HandleRPC(s.ctx, inTrailer)
}
}
}()
@@ -951,10 +1133,7 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
if len(state.mdata) > 0 {
s.trailer = state.mdata
}
- s.statusCode = state.statusCode
- s.statusDesc = state.statusDesc
- close(s.done)
- s.state = streamDone
+ s.finish(state.status())
s.mu.Unlock()
s.write(recvMsg{err: io.EOF})
}
@@ -982,6 +1161,7 @@ func (t *http2Client) reader() {
t.notifyError(err)
return
}
+ atomic.CompareAndSwapUint32(&t.activity, 0, 1)
sf, ok := frame.(*http2.SettingsFrame)
if !ok {
t.notifyError(err)
@@ -992,6 +1172,7 @@ func (t *http2Client) reader() {
// loop to keep reading incoming messages on this transport.
for {
frame, err := t.framer.readFrame()
+ 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
@@ -1027,7 +1208,7 @@ func (t *http2Client) reader() {
case *http2.WindowUpdateFrame:
t.handleWindowUpdate(frame)
default:
- grpclog.Printf("transport: http2Client.reader got unhandled frame type %v.", frame)
+ errorf("transport: http2Client.reader got unhandled frame type %v.", frame)
}
}
}
@@ -1043,24 +1224,19 @@ func (t *http2Client) applySettings(ss []http2.Setting) {
s.Val = math.MaxInt32
}
t.mu.Lock()
- reset := t.streamsQuota != nil
- if !reset {
- t.streamsQuota = newQuotaPool(int(s.Val) - len(t.activeStreams))
- }
ms := t.maxStreams
t.maxStreams = int(s.Val)
t.mu.Unlock()
- if reset {
- t.streamsQuota.add(int(s.Val) - ms)
- }
+ t.streamsQuota.add(int(s.Val) - ms)
case http2.SettingInitialWindowSize:
t.mu.Lock()
for _, stream := range t.activeStreams {
// Adjust the sending quota for each stream.
- stream.sendQuotaPool.add(int(s.Val - t.streamSendQuota))
+ stream.sendQuotaPool.add(int(s.Val) - int(t.streamSendQuota))
}
t.streamSendQuota = s.Val
t.mu.Unlock()
+ atomic.AddUint32(&t.outQuotaVersion, 1)
}
}
}
@@ -1076,7 +1252,7 @@ func (t *http2Client) controller() {
case <-t.writableChan:
switch i := i.(type) {
case *windowUpdate:
- t.framer.writeWindowUpdate(true, i.streamID, i.increment)
+ t.framer.writeWindowUpdate(i.flush, i.streamID, i.increment)
case *settings:
if i.ack {
t.framer.writeSettingsAck(true)
@@ -1085,13 +1261,22 @@ func (t *http2Client) controller() {
t.framer.writeSettings(true, i.ss...)
}
case *resetStream:
+ // If the server needs to be to intimated about stream closing,
+ // then we need to make sure the RST_STREAM frame is written to
+ // the wire before the headers of the next stream waiting on
+ // streamQuota. We ensure this by adding to the streamsQuota pool
+ // only after having acquired the writableChan to send RST_STREAM.
+ t.streamsQuota.add(1)
t.framer.writeRSTStream(true, i.streamID, i.code)
case *flushIO:
t.framer.flushWrite()
case *ping:
+ if !i.ack {
+ t.bdpEst.timesnap(i.data)
+ }
t.framer.writePing(true, i.ack, i.data)
default:
- grpclog.Printf("transport: http2Client.controller got unexpected item type %v\n", i)
+ errorf("transport: http2Client.controller got unexpected item type %v\n", i)
}
t.writableChan <- 0
continue
@@ -1104,6 +1289,61 @@ func (t *http2Client) controller() {
}
}
+// 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.shutdownChan:
+ return
+ }
+ } else {
+ t.mu.Unlock()
+ // 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
+ }
+ t.Close()
+ return
+ case <-t.shutdownChan:
+ if !timer.Stop() {
+ <-timer.C
+ }
+ return
+ }
+ case <-t.shutdownChan:
+ if !timer.Stop() {
+ <-timer.C
+ }
+ return
+ }
+ }
+}
+
func (t *http2Client) Error() <-chan struct{} {
return t.errorChan
}
@@ -1123,7 +1363,7 @@ func (t *http2Client) notifyError(err error) {
if t.state == reachable {
t.state = unreachable
close(t.errorChan)
- grpclog.Printf("transport: http2Client.notifyError got notified that the client transport was broken %v.", err)
+ infof("transport: http2Client.notifyError got notified that the client transport was broken %v.", err)
}
t.mu.Unlock()
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_server.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_server.go
index a095dd0e..b6f93e3c 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_server.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http2_server.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -38,19 +23,24 @@ import (
"errors"
"io"
"math"
+ "math/rand"
"net"
"strconv"
"sync"
+ "sync/atomic"
+ "time"
+ "github.com/golang/protobuf/proto"
"golang.org/x/net/context"
"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/grpclog"
+ "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"
)
@@ -78,23 +68,54 @@ type http2Server struct {
framer *framer
hBuf *bytes.Buffer // the buffer for HPACK encoding
hEnc *hpack.Encoder // HPACK encoder
-
// 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 *recvBuffer
+ controlBuf *controlBuffer
fc *inFlow
// sendQuotaPool provides flow control to outbound message.
sendQuotaPool *quotaPool
+ 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
- stats stats.Handler
+ outQuotaVersion uint32
- mu sync.Mutex // guard the following
+ 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
// the per-stream outbound flow control window size set by the peer.
streamSendQuota uint32
+ // idle is the time instant when the connection went idle.
+ // This is either the begining 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
}
// newHTTP2Server constructs a ServerTransport based on HTTP2. ConnectionError is
@@ -102,53 +123,96 @@ type http2Server struct {
func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) {
framer := newFramer(conn)
// Send initial settings as connection preface to client.
- var settings []http2.Setting
+ 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 {
- settings = append(settings, http2.Setting{
+ isettings = append(isettings, http2.Setting{
ID: http2.SettingMaxConcurrentStreams,
Val: maxStreams,
})
}
- if initialWindowSize != defaultWindowSize {
- settings = append(settings, http2.Setting{
+ 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(initialWindowSize)})
+ Val: uint32(iwz)})
}
- if err := framer.writeSettings(true, settings...); err != nil {
+ if err := framer.writeSettings(true, isettings...); err != nil {
return nil, connectionErrorf(true, err, "transport: %v", err)
}
// Adjust the connection flow control window if needed.
- if delta := uint32(initialConnWindowSize - defaultWindowSize); delta > 0 {
+ if delta := uint32(icwz - defaultWindowSize); delta > 0 {
if err := framer.writeWindowUpdate(true, 0, delta); err != nil {
return nil, connectionErrorf(true, 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
+ }
var buf bytes.Buffer
t := &http2Server{
- ctx: context.Background(),
- conn: conn,
- remoteAddr: conn.RemoteAddr(),
- localAddr: conn.LocalAddr(),
- authInfo: config.AuthInfo,
- framer: framer,
- hBuf: &buf,
- hEnc: hpack.NewEncoder(&buf),
- maxStreams: maxStreams,
- inTapHandle: config.InTapHandle,
- controlBuf: newRecvBuffer(),
- fc: &inFlow{limit: initialConnWindowSize},
- sendQuotaPool: newQuotaPool(defaultWindowSize),
- state: reachable,
- writableChan: make(chan int, 1),
- shutdownChan: make(chan struct{}),
- activeStreams: make(map[uint32]*Stream),
- streamSendQuota: defaultWindowSize,
- stats: config.StatsHandler,
+ ctx: context.Background(),
+ conn: conn,
+ remoteAddr: conn.RemoteAddr(),
+ localAddr: conn.LocalAddr(),
+ authInfo: config.AuthInfo,
+ framer: framer,
+ hBuf: &buf,
+ hEnc: hpack.NewEncoder(&buf),
+ maxStreams: maxStreams,
+ inTapHandle: config.InTapHandle,
+ controlBuf: newControlBuffer(),
+ fc: &inFlow{limit: uint32(icwz)},
+ sendQuotaPool: newQuotaPool(defaultWindowSize),
+ state: reachable,
+ writableChan: make(chan int, 1),
+ shutdownChan: make(chan struct{}),
+ activeStreams: make(map[uint32]*Stream),
+ streamSendQuota: defaultWindowSize,
+ stats: config.StatsHandler,
+ kp: kp,
+ idle: time.Now(),
+ kep: kep,
+ initialWindowSize: iwz,
+ }
+ if dynamicWindow {
+ t.bdpEst = &bdpEstimator{
+ bdp: initialWindowSize,
+ updateFlowControl: t.updateFlowControl,
+ }
}
if t.stats != nil {
t.ctx = t.stats.TagConn(t.ctx, &stats.ConnTagInfo{
@@ -159,6 +223,7 @@ func newHTTP2Server(conn net.Conn, config *ServerConfig) (_ ServerTransport, err
t.stats.HandleConn(t.ctx, connBegin)
}
go t.controller()
+ go t.keepalive()
t.writableChan <- 0
return t, nil
}
@@ -170,18 +235,17 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
id: frame.Header().StreamID,
st: t,
buf: buf,
- fc: &inFlow{limit: initialWindowSize},
+ fc: &inFlow{limit: uint32(t.initialWindowSize)},
}
var state decodeState
for _, hf := range frame.Fields {
- state.processHeaderField(hf)
- }
- if err := state.err; err != nil {
- if se, ok := err.(StreamError); ok {
- t.controlBuf.put(&resetStream{s.id, statusCodeConvTab[se.Code]})
+ if err := state.processHeaderField(hf); err != nil {
+ if se, ok := err.(StreamError); ok {
+ t.controlBuf.put(&resetStream{s.id, statusCodeConvTab[se.Code]})
+ }
+ return
}
- return
}
if frame.StreamEnded() {
@@ -208,12 +272,16 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
s.ctx = newContextWithStream(s.ctx, s)
// Attach the received metadata to the context.
if len(state.mdata) > 0 {
- s.ctx = metadata.NewContext(s.ctx, state.mdata)
+ s.ctx = metadata.NewIncomingContext(s.ctx, state.mdata)
}
-
- s.dec = &recvBufferReader{
- ctx: s.ctx,
- recv: s.buf,
+ s.trReader = &transportReader{
+ reader: &recvBufferReader{
+ ctx: s.ctx,
+ recv: s.buf,
+ },
+ windowHandler: func(n int) {
+ t.updateWindow(s, uint32(n))
+ },
}
s.recvCompress = state.encoding
s.method = state.method
@@ -224,7 +292,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
}
s.ctx, err = t.inTapHandle(s.ctx, info)
if err != nil {
- // TODO: Log the real error.
+ warningf("transport: http2Server.operateHeaders got an error from InTapHandle: %v", err)
t.controlBuf.put(&resetStream{s.id, http2.ErrCodeRefusedStream})
return
}
@@ -242,15 +310,18 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
if s.id%2 != 1 || s.id <= t.maxStreamID {
t.mu.Unlock()
// illegal gRPC stream id.
- grpclog.Println("transport: http2Server.HandleStreams received an illegal stream id: ", s.id)
+ errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", s.id)
return true
}
t.maxStreamID = s.id
s.sendQuotaPool = newQuotaPool(int(t.streamSendQuota))
t.activeStreams[s.id] = s
+ if len(t.activeStreams) == 1 {
+ t.idle = time.Time{}
+ }
t.mu.Unlock()
- s.windowHandler = func(n int) {
- t.updateWindow(s, uint32(n))
+ s.requestRead = func(n int) {
+ t.adjustWindow(s, uint32(n))
}
s.ctx = traceCtx(s.ctx, s.method)
if t.stats != nil {
@@ -275,12 +346,15 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
// Check the validity of client preface.
preface := make([]byte, len(clientPreface))
if _, err := io.ReadFull(t.conn, preface); err != nil {
- grpclog.Printf("transport: http2Server.HandleStreams failed to receive the preface from client: %v", err)
+ // Only log if it isn't a simple tcp accept check (ie: tcp balancer doing open/close socket)
+ if err != io.EOF {
+ errorf("transport: http2Server.HandleStreams failed to receive the preface from client: %v", err)
+ }
t.Close()
return
}
if !bytes.Equal(preface, clientPreface) {
- grpclog.Printf("transport: http2Server.HandleStreams received bogus greeting from client: %q", preface)
+ errorf("transport: http2Server.HandleStreams received bogus greeting from client: %q", preface)
t.Close()
return
}
@@ -291,13 +365,14 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
return
}
if err != nil {
- grpclog.Printf("transport: http2Server.HandleStreams failed to read frame: %v", err)
+ errorf("transport: http2Server.HandleStreams failed to read initial settings frame: %v", err)
t.Close()
return
}
+ atomic.StoreUint32(&t.activity, 1)
sf, ok := frame.(*http2.SettingsFrame)
if !ok {
- grpclog.Printf("transport: http2Server.HandleStreams saw invalid preface type %T from client", frame)
+ errorf("transport: http2Server.HandleStreams saw invalid preface type %T from client", frame)
t.Close()
return
}
@@ -305,6 +380,7 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
for {
frame, err := t.framer.readFrame()
+ atomic.StoreUint32(&t.activity, 1)
if err != nil {
if se, ok := err.(http2.StreamError); ok {
t.mu.Lock()
@@ -320,7 +396,7 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
t.Close()
return
}
- grpclog.Printf("transport: http2Server.HandleStreams failed to read frame: %v", err)
+ warningf("transport: http2Server.HandleStreams failed to read frame: %v", err)
t.Close()
return
}
@@ -343,7 +419,7 @@ func (t *http2Server) HandleStreams(handle func(*Stream), traceCtx func(context.
case *http2.GoAwayFrame:
// TODO: Handle GoAway from the client appropriately.
default:
- grpclog.Printf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame)
+ errorf("transport: http2Server.HandleStreams found unhandled frame type %v.", frame)
}
}
}
@@ -363,6 +439,23 @@ func (t *http2Server) getStream(f http2.Frame) (*Stream, bool) {
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) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ if s.state == streamDone {
+ return
+ }
+ if w := s.fc.maybeAdjust(n); w > 0 {
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw, false})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
+ }
+}
+
// 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.
@@ -372,37 +465,76 @@ func (t *http2Server) updateWindow(s *Stream, n uint32) {
if s.state == streamDone {
return
}
- if w := t.fc.onRead(n); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
if w := s.fc.onRead(n); w > 0 {
- t.controlBuf.put(&windowUpdate{s.id, w})
+ if cw := t.fc.resetPendingUpdate(); cw > 0 {
+ t.controlBuf.put(&windowUpdate{0, cw, false})
+ }
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
}
}
+// 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(&windowUpdate{0, t.fc.newLimit(n), false})
+ t.controlBuf.put(&settings{
+ ack: false,
+ ss: []http2.Setting{
+ {
+ ID: http2.SettingInitialWindowSize,
+ Val: uint32(n),
+ },
+ },
+ })
+
+}
+
func (t *http2Server) handleData(f *http2.DataFrame) {
- size := len(f.Data())
- if err := t.fc.onData(uint32(size)); err != nil {
- grpclog.Printf("transport: http2Server %v", err)
- t.Close()
- return
+ size := f.Header().Length
+ var sendBDPPing bool
+ if t.bdpEst != nil {
+ sendBDPPing = t.bdpEst.add(uint32(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.
+ //
+ // Furthermore, if a bdpPing is being sent out we can piggyback
+ // connection's window update for the bytes we just received.
+ if sendBDPPing {
+ t.controlBuf.put(&windowUpdate{0, uint32(size), false})
+ t.controlBuf.put(bdpPing)
+ } else {
+ if err := t.fc.onData(uint32(size)); err != nil {
+ errorf("transport: http2Server %v", err)
+ t.Close()
+ return
+ }
+ if w := t.fc.onRead(uint32(size)); w > 0 {
+ t.controlBuf.put(&windowUpdate{0, w, true})
+ }
}
// Select the right stream to dispatch.
s, ok := t.getStream(f)
if !ok {
- if w := t.fc.onRead(uint32(size)); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
return
}
if size > 0 {
s.mu.Lock()
if s.state == streamDone {
s.mu.Unlock()
- // The stream has been closed. Release the corresponding quota.
- if w := t.fc.onRead(uint32(size)); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
return
}
if err := s.fc.onData(uint32(size)); err != nil {
@@ -411,13 +543,20 @@ func (t *http2Server) handleData(f *http2.DataFrame) {
t.controlBuf.put(&resetStream{s.id, http2.ErrCodeFlowControl})
return
}
+ if f.Header().Flags.Has(http2.FlagDataPadded) {
+ if w := s.fc.onRead(uint32(size) - uint32(len(f.Data()))); w > 0 {
+ t.controlBuf.put(&windowUpdate{s.id, w, true})
+ }
+ }
s.mu.Unlock()
// 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?
- data := make([]byte, size)
- copy(data, f.Data())
- s.write(recvMsg{data: data})
+ if len(f.Data()) > 0 {
+ data := make([]byte, len(f.Data()))
+ copy(data, f.Data())
+ s.write(recvMsg{data: data})
+ }
}
if f.Header().Flags.Has(http2.FlagDataEndStream) {
// Received the end of stream from the client.
@@ -451,13 +590,58 @@ func (t *http2Server) handleSettings(f *http2.SettingsFrame) {
t.controlBuf.put(&settings{ack: true, ss: ss})
}
+const (
+ maxPingStrikes = 2
+ defaultPingTimeout = 2 * time.Hour
+)
+
func (t *http2Server) handlePing(f *http2.PingFrame) {
- if f.IsAck() { // Do nothing.
+ 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 atleast 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.
+ t.controlBuf.put(&goAway{code: http2.ErrCodeEnhanceYourCalm, debugData: []byte("too_many_pings"), closeConn: true})
+ }
}
func (t *http2Server) handleWindowUpdate(f *http2.WindowUpdateFrame) {
@@ -476,6 +660,13 @@ func (t *http2Server) writeHeaders(s *Stream, b *bytes.Buffer, endStream bool) e
first := true
endHeaders := false
var err error
+ defer func() {
+ if err == nil {
+ // Reset ping strikes when seding headers since that might cause the
+ // peer to send ping.
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
+ }
+ }()
// Sends the headers in a single batch.
for !endHeaders {
size := t.hBuf.Len()
@@ -530,13 +721,13 @@ func (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error {
if s.sendCompress != "" {
t.hEnc.WriteField(hpack.HeaderField{Name: "grpc-encoding", Value: s.sendCompress})
}
- for k, v := range md {
+ for k, vv := range md {
if isReservedHeader(k) {
// Clients don't tolerate reading restricted headers after some non restricted ones were sent.
continue
}
- for _, entry := range v {
- t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: entry})
+ for _, v := range vv {
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
}
bufLen := t.hBuf.Len()
@@ -557,7 +748,7 @@ func (t *http2Server) WriteHeader(s *Stream, md metadata.MD) error {
// 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, statusCode codes.Code, statusDesc string) error {
+func (t *http2Server) WriteStatus(s *Stream, st *status.Status) error {
var headersSent, hasHeader bool
s.mu.Lock()
if s.state == streamDone {
@@ -588,17 +779,28 @@ func (t *http2Server) WriteStatus(s *Stream, statusCode codes.Code, statusDesc s
t.hEnc.WriteField(
hpack.HeaderField{
Name: "grpc-status",
- Value: strconv.Itoa(int(statusCode)),
+ Value: strconv.Itoa(int(st.Code())),
})
- t.hEnc.WriteField(hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(statusDesc)})
+ t.hEnc.WriteField(hpack.HeaderField{Name: "grpc-message", Value: encodeGrpcMessage(st.Message())})
+
+ 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)
+ }
+
+ t.hEnc.WriteField(hpack.HeaderField{Name: "grpc-status-details-bin", Value: encodeBinHeader(stBytes)})
+ }
+
// Attach the trailer metadata.
- for k, v := range s.trailer {
+ for k, vv := range s.trailer {
// Clients don't tolerate reading restricted headers after some non restricted ones were sent.
if isReservedHeader(k) {
continue
}
- for _, entry := range v {
- t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: entry})
+ for _, v := range vv {
+ t.hEnc.WriteField(hpack.HeaderField{Name: k, Value: encodeMetadataHeader(k, v)})
}
}
bufLen := t.hBuf.Len()
@@ -619,7 +821,7 @@ func (t *http2Server) WriteStatus(s *Stream, statusCode codes.Code, statusDesc s
// 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, data []byte, opts *Options) error {
+func (t *http2Server) Write(s *Stream, data []byte, opts *Options) (err error) {
// TODO(zhaoq): Support multi-writers for a single stream.
var writeHeaderFrame bool
s.mu.Lock()
@@ -635,10 +837,15 @@ func (t *http2Server) Write(s *Stream, data []byte, opts *Options) error {
t.WriteHeader(s, nil)
}
r := bytes.NewBuffer(data)
+ var (
+ p []byte
+ oqv uint32
+ )
for {
- if r.Len() == 0 {
+ if r.Len() == 0 && p == nil {
return nil
}
+ oqv = atomic.LoadUint32(&t.outQuotaVersion)
size := http2MaxFrameLen
// Wait until the stream has some quota to send the data.
sq, err := wait(s.ctx, nil, nil, t.shutdownChan, s.sendQuotaPool.acquire())
@@ -656,7 +863,9 @@ func (t *http2Server) Write(s *Stream, data []byte, opts *Options) error {
if tq < size {
size = tq
}
- p := r.Next(size)
+ if p == nil {
+ p = r.Next(size)
+ }
ps := len(p)
if ps < sq {
// Overbooked stream quota. Return it back.
@@ -693,14 +902,30 @@ func (t *http2Server) Write(s *Stream, data []byte, opts *Options) error {
return ContextErr(s.ctx.Err())
default:
}
+ if oqv != atomic.LoadUint32(&t.outQuotaVersion) {
+ // InitialWindowSize settings frame must have been received after we
+ // acquired send quota but before we got the writable channel.
+ // We must forsake this write.
+ t.sendQuotaPool.add(ps)
+ s.sendQuotaPool.add(ps)
+ if t.framer.adjustNumWriters(-1) == 0 {
+ t.controlBuf.put(&flushIO{})
+ }
+ t.writableChan <- 0
+ continue
+ }
var forceFlush bool
if r.Len() == 0 && t.framer.adjustNumWriters(0) == 1 && !opts.Last {
forceFlush = true
}
+ // Reset ping strikes when sending data since this might cause
+ // the peer to send ping.
+ atomic.StoreUint32(&t.resetPingStrikes, 1)
if err := t.framer.writeData(forceFlush, s.id, false, p); err != nil {
t.Close()
return connectionErrorf(true, err, "transport: %v", err)
}
+ p = nil
if t.framer.adjustNumWriters(-1) == 0 {
t.framer.flushWrite()
}
@@ -715,14 +940,97 @@ func (t *http2Server) applySettings(ss []http2.Setting) {
t.mu.Lock()
defer t.mu.Unlock()
for _, stream := range t.activeStreams {
- stream.sendQuotaPool.add(int(s.Val - t.streamSendQuota))
+ stream.sendQuotaPool.add(int(s.Val) - int(t.streamSendQuota))
}
t.streamSendQuota = s.Val
+ atomic.AddUint32(&t.outQuotaVersion, 1)
}
}
}
+// 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
+ // respecitve 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{})
+ // Reseting 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.
+ t.Close()
+ // Reseting the timer so that the clean-up doesn't deadlock.
+ maxAge.Reset(infinity)
+ case <-t.shutdownChan:
+ }
+ return
+ case <-keepalive.C:
+ if atomic.CompareAndSwapUint32(&t.activity, 1, 0) {
+ pingSent = false
+ keepalive.Reset(t.kp.Time)
+ continue
+ }
+ if pingSent {
+ t.Close()
+ // Reseting the timer so that the clean-up doesn't deadlock.
+ keepalive.Reset(infinity)
+ return
+ }
+ pingSent = true
+ t.controlBuf.put(p)
+ keepalive.Reset(t.kp.Timeout)
+ case <-t.shutdownChan:
+ return
+ }
+ }
+}
+
+var goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}}
+
// controller running in a separate goroutine takes charge of sending control
// frames (e.g., window update, reset stream, setting, etc.) to the server.
func (t *http2Server) controller() {
@@ -734,7 +1042,7 @@ func (t *http2Server) controller() {
case <-t.writableChan:
switch i := i.(type) {
case *windowUpdate:
- t.framer.writeWindowUpdate(true, i.streamID, i.increment)
+ t.framer.writeWindowUpdate(i.flush, i.streamID, i.increment)
case *settings:
if i.ack {
t.framer.writeSettingsAck(true)
@@ -752,15 +1060,47 @@ func (t *http2Server) controller() {
return
}
sid := t.maxStreamID
- t.state = draining
+ if !i.headsUp {
+ // Stop accepting more streams now.
+ t.state = draining
+ t.mu.Unlock()
+ t.framer.writeGoAway(true, sid, i.code, i.debugData)
+ if i.closeConn {
+ // Abruptly close the connection following the GoAway.
+ t.Close()
+ }
+ t.writableChan <- 0
+ continue
+ }
t.mu.Unlock()
- t.framer.writeGoAway(true, sid, http2.ErrCodeNo, nil)
+ // 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.
+ t.framer.writeGoAway(true, math.MaxUint32, http2.ErrCodeNo, []byte{})
+ t.framer.writePing(true, false, goAwayPing.data)
+ go func() {
+ timer := time.NewTimer(time.Minute)
+ defer timer.Stop()
+ select {
+ case <-t.drainChan:
+ case <-timer.C:
+ case <-t.shutdownChan:
+ return
+ }
+ t.controlBuf.put(&goAway{code: i.code, debugData: i.debugData})
+ }()
case *flushIO:
t.framer.flushWrite()
case *ping:
+ if !i.ack {
+ t.bdpEst.timesnap(i.data)
+ }
t.framer.writePing(true, i.ack, i.data)
default:
- grpclog.Printf("transport: http2Server.controller got unexpected item type %v\n", i)
+ errorf("transport: http2Server.controller got unexpected item type %v\n", i)
}
t.writableChan <- 0
continue
@@ -804,6 +1144,9 @@ func (t *http2Server) Close() (err error) {
func (t *http2Server) closeStream(s *Stream) {
t.mu.Lock()
delete(t.activeStreams, s.id)
+ if len(t.activeStreams) == 0 {
+ t.idle = time.Now()
+ }
if t.state == draining && len(t.activeStreams) == 0 {
defer t.Close()
}
@@ -813,11 +1156,6 @@ func (t *http2Server) closeStream(s *Stream) {
// called to interrupt the potential blocking on other goroutines.
s.cancel()
s.mu.Lock()
- if q := s.fc.resetPendingData(); q > 0 {
- if w := t.fc.onRead(q); w > 0 {
- t.controlBuf.put(&windowUpdate{0, w})
- }
- }
if s.state == streamDone {
s.mu.Unlock()
return
@@ -831,5 +1169,27 @@ func (t *http2Server) RemoteAddr() net.Addr {
}
func (t *http2Server) Drain() {
- t.controlBuf.put(&goAway{})
+ 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 rgen = rand.New(rand.NewSource(time.Now().UnixNano()))
+
+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 := rgen.Int63n(2*r) - r
+ return time.Duration(j)
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http_util.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http_util.go
index a3c68d4c..685c6fbf 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http_util.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/http_util.go
@@ -1,33 +1,18 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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.
*
*/
@@ -36,24 +21,25 @@ package transport
import (
"bufio"
"bytes"
+ "encoding/base64"
"fmt"
"io"
"net"
+ "net/http"
"strconv"
"strings"
"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/grpclog"
- "google.golang.org/grpc/metadata"
+ "google.golang.org/grpc/status"
)
const (
- // The primary user agent
- primaryUA = "grpc-go/1.0"
// http2MaxFrameLen specifies the max length of a HTTP2 frame.
http2MaxFrameLen = 16384 // 16KB frame
// http://http2.github.io/http2-spec/#SettingValues
@@ -87,18 +73,39 @@ var (
codes.ResourceExhausted: http2.ErrCodeEnhanceYourCalm,
codes.PermissionDenied: http2.ErrCodeInadequateSecurity,
}
+ 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,
+ }
)
// Records the states during HPACK decoding. Must be reset once the
// decoding of the entire headers are finished.
type decodeState struct {
- err error // first error encountered decoding
-
encoding string
- // statusCode caches the stream status received from the trailer
- // the server sent. Client side only.
- statusCode codes.Code
- statusDesc 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
@@ -121,6 +128,7 @@ func isReservedHeader(hdr string) bool {
"grpc-message",
"grpc-status",
"grpc-timeout",
+ "grpc-status-details-bin",
"te":
return true
default:
@@ -139,12 +147,6 @@ func isWhitelistedPseudoHeader(hdr string) bool {
}
}
-func (d *decodeState) setErr(err error) {
- if d.err == nil {
- d.err = err
- }
-}
-
func validContentType(t string) bool {
e := "application/grpc"
if !strings.HasPrefix(t, e) {
@@ -158,56 +160,135 @@ func validContentType(t string) bool {
return true
}
-func (d *decodeState) processHeaderField(f hpack.HeaderField) {
+func (d *decodeState) status() *status.Status {
+ if d.statusGen == nil {
+ // No status-details were provided; generate status using code/msg.
+ d.statusGen = status.New(codes.Code(int32(*(d.rawStatusCode))), d.rawStatusMsg)
+ }
+ return d.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) decodeResponseHeader(frame *http2.MetaHeadersFrame) error {
+ for _, hf := range frame.Fields {
+ if err := d.processHeaderField(hf); err != nil {
+ return err
+ }
+ }
+
+ // If grpc status exists, no need to check further.
+ if d.rawStatusCode != nil || d.statusGen != nil {
+ return nil
+ }
+
+ // If grpc status doesn't exist and http status doesn't exist,
+ // then it's a malformed header.
+ if d.httpStatus == nil {
+ return streamErrorf(codes.Internal, "malformed header: doesn't contain status(gRPC or HTTP)")
+ }
+
+ if *(d.httpStatus) != http.StatusOK {
+ code, ok := httpStatusConvTab[*(d.httpStatus)]
+ if !ok {
+ code = codes.Unknown
+ }
+ return streamErrorf(code, http.StatusText(*(d.httpStatus)))
+ }
+
+ // gRPC status doesn't exist and http status is OK.
+ // Set rawStatusCode to be unknown and return nil error.
+ // So that, if the stream has ended this Unknown status
+ // will be propogated to the user.
+ // Otherwise, it will be ignored. In which case, status from
+ // a later trailer, that has StreamEnded flag set, is propogated.
+ code := int(codes.Unknown)
+ d.rawStatusCode = &code
+ return nil
+
+}
+
+func (d *decodeState) processHeaderField(f hpack.HeaderField) error {
switch f.Name {
case "content-type":
if !validContentType(f.Value) {
- d.setErr(streamErrorf(codes.FailedPrecondition, "transport: received the unexpected content-type %q", f.Value))
- return
+ return streamErrorf(codes.FailedPrecondition, "transport: received the unexpected content-type %q", f.Value)
}
case "grpc-encoding":
d.encoding = f.Value
case "grpc-status":
code, err := strconv.Atoi(f.Value)
if err != nil {
- d.setErr(streamErrorf(codes.Internal, "transport: malformed grpc-status: %v", err))
- return
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status: %v", err)
}
- d.statusCode = codes.Code(code)
+ d.rawStatusCode = &code
case "grpc-message":
- d.statusDesc = decodeGrpcMessage(f.Value)
+ d.rawStatusMsg = decodeGrpcMessage(f.Value)
+ case "grpc-status-details-bin":
+ v, err := decodeBinHeader(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err)
+ }
+ s := &spb.Status{}
+ if err := proto.Unmarshal(v, s); err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed grpc-status-details-bin: %v", err)
+ }
+ d.statusGen = status.FromProto(s)
case "grpc-timeout":
d.timeoutSet = true
var err error
- d.timeout, err = decodeTimeout(f.Value)
- if err != nil {
- d.setErr(streamErrorf(codes.Internal, "transport: malformed time-out: %v", err))
- return
+ if d.timeout, err = decodeTimeout(f.Value); err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed time-out: %v", err)
}
case ":path":
d.method = f.Value
+ case ":status":
+ code, err := strconv.Atoi(f.Value)
+ if err != nil {
+ return streamErrorf(codes.Internal, "transport: malformed http-status: %v", err)
+ }
+ d.httpStatus = &code
default:
if !isReservedHeader(f.Name) || isWhitelistedPseudoHeader(f.Name) {
- if f.Name == "user-agent" {
- i := strings.LastIndex(f.Value, " ")
- if i == -1 {
- // There is no application user agent string being set.
- return
- }
- // Extract the application user agent string.
- f.Value = f.Value[:i]
- }
if d.mdata == nil {
d.mdata = make(map[string][]string)
}
- k, v, err := metadata.DecodeKeyValue(f.Name, f.Value)
+ v, err := decodeMetadataHeader(f.Name, f.Value)
if err != nil {
- grpclog.Printf("Failed to decode (%q, %q): %v", f.Name, f.Value, err)
- return
+ errorf("Failed to decode metadata header (%q, %q): %v", f.Name, f.Value, err)
+ return nil
}
- d.mdata[k] = append(d.mdata[k], v)
+ d.mdata[f.Name] = append(d.mdata[f.Name], v)
}
}
+ return nil
}
type timeoutUnit uint8
@@ -379,6 +460,9 @@ func newFramer(conn net.Conn) *framer {
writer: bufio.NewWriterSize(conn, http2IOBufSize),
}
f.fr = http2.NewFramer(f.writer, f.reader)
+ // 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.ReadMetaHeaders = hpack.NewDecoder(http2InitHeaderTableSize, nil)
return f
}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/log.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/log.go
new file mode 100644
index 00000000..ac8e358c
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/log.go
@@ -0,0 +1,50 @@
+/*
+ *
+ * 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...)
+ }
+}
+
+func fatalf(format string, args ...interface{}) {
+ if grpclog.V(logLevel) {
+ grpclog.Fatalf(format, args...)
+ }
+}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/pre_go16.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/pre_go16.go
deleted file mode 100644
index 33d91c17..00000000
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/pre_go16.go
+++ /dev/null
@@ -1,51 +0,0 @@
-// +build !go1.6
-
-/*
- * Copyright 2016, Google Inc.
- * 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.
- *
- */
-
-package transport
-
-import (
- "net"
- "time"
-
- "golang.org/x/net/context"
-)
-
-// dialContext connects to the address on the named network.
-func dialContext(ctx context.Context, network, address string) (net.Conn, error) {
- var dialer net.Dialer
- if deadline, ok := ctx.Deadline(); ok {
- dialer.Timeout = deadline.Sub(time.Now())
- }
- return dialer.Dial(network, address)
-}
diff --git a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/transport.go b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/transport.go
index d4659918..ec0fe678 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/transport.go
+++ b/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/transport/transport.go
@@ -1,54 +1,39 @@
/*
*
- * Copyright 2014, Google Inc.
- * All rights reserved.
+ * Copyright 2014 gRPC authors.
*
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
+ * 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
*
- * * 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.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * 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.
+ * 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).
-*/
+// Package transport defines and implements message oriented communication
+// channel to complete various transactions (e.g., an RPC).
package transport // import "google.golang.org/grpc/transport"
import (
- "bytes"
"fmt"
"io"
"net"
"sync"
"golang.org/x/net/context"
+ "golang.org/x/net/http2"
"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"
)
@@ -62,28 +47,25 @@ type recvMsg struct {
err error
}
-func (*recvMsg) item() {}
-
-// All items in an out of a recvBuffer should be the same type.
-type item interface {
- item()
-}
-
-// recvBuffer is an unbounded channel of item.
+// 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 item
+ c chan recvMsg
mu sync.Mutex
- backlog []item
+ backlog []recvMsg
}
func newRecvBuffer() *recvBuffer {
b := &recvBuffer{
- c: make(chan item, 1),
+ c: make(chan recvMsg, 1),
}
return b
}
-func (b *recvBuffer) put(r item) {
+func (b *recvBuffer) put(r recvMsg) {
b.mu.Lock()
defer b.mu.Unlock()
if len(b.backlog) == 0 {
@@ -102,17 +84,18 @@ func (b *recvBuffer) load() {
if len(b.backlog) > 0 {
select {
case b.c <- b.backlog[0]:
+ b.backlog[0] = recvMsg{}
b.backlog = b.backlog[1:]
default:
}
}
}
-// get returns the channel that receives an item in the buffer.
+// get returns the channel that receives a recvMsg in the buffer.
//
-// Upon receipt of an item, the caller should call load to send another
-// item onto the channel if there is any.
-func (b *recvBuffer) get() <-chan item {
+// 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
}
@@ -122,7 +105,7 @@ type recvBufferReader struct {
ctx context.Context
goAway chan struct{}
recv *recvBuffer
- last *bytes.Reader // Stores the remaining data in the previous calls.
+ last []byte // Stores the remaining data in the previous calls.
err error
}
@@ -133,27 +116,86 @@ func (r *recvBufferReader) Read(p []byte) (n int, err error) {
if r.err != nil {
return 0, r.err
}
- defer func() { r.err = err }()
- if r.last != nil && r.last.Len() > 0 {
+ n, r.err = r.read(p)
+ return n, r.err
+}
+
+func (r *recvBufferReader) read(p []byte) (n int, err error) {
+ if r.last != nil && len(r.last) > 0 {
// Read remaining data left in last call.
- return r.last.Read(p)
+ copied := copy(p, r.last)
+ r.last = r.last[copied:]
+ return copied, nil
}
select {
case <-r.ctx.Done():
return 0, ContextErr(r.ctx.Err())
case <-r.goAway:
return 0, ErrStreamDrain
- case i := <-r.recv.get():
+ case m := <-r.recv.get():
r.recv.load()
- m := i.(*recvMsg)
if m.err != nil {
return 0, m.err
}
- r.last = bytes.NewReader(m.data)
- return r.last.Read(p)
+ copied := copy(p, m.data)
+ r.last = m.data[copied:]
+ return copied, nil
+ }
+}
+
+// All items in an out of a controlBuffer should be the same type.
+type item interface {
+ item()
+}
+
+// controlBuffer is an unbounded channel of item.
+type controlBuffer struct {
+ c chan item
+ mu sync.Mutex
+ backlog []item
+}
+
+func newControlBuffer() *controlBuffer {
+ b := &controlBuffer{
+ c: make(chan item, 1),
+ }
+ return b
+}
+
+func (b *controlBuffer) put(r item) {
+ b.mu.Lock()
+ defer b.mu.Unlock()
+ if len(b.backlog) == 0 {
+ select {
+ case b.c <- r:
+ return
+ default:
+ }
+ }
+ b.backlog = append(b.backlog, r)
+}
+
+func (b *controlBuffer) 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 receives an item in the buffer.
+//
+// Upon receipt of an item, the caller should call load to send another
+// item onto the channel if there is any.
+func (b *controlBuffer) get() <-chan item {
+ return b.c
+}
+
type streamState uint8
const (
@@ -168,11 +210,6 @@ type Stream struct {
id uint32
// nil for client side Stream.
st ServerTransport
- // clientStatsCtx keeps the user context for stats handling.
- // It's only valid on client side. Server side stats context is same as s.ctx.
- // All client side stats collection should use the clientStatsCtx (instead of the stream context)
- // so that all the generated stats for a particular RPC can be associated in the processing phase.
- clientStatsCtx context.Context
// ctx is the associated context of the stream.
ctx context.Context
// cancel is always nil for client side Stream.
@@ -186,14 +223,17 @@ type Stream struct {
recvCompress string
sendCompress string
buf *recvBuffer
- dec io.Reader
+ trReader io.Reader
fc *inFlow
recvQuota uint32
+
+ // TODO: Remote this unused variable.
// The accumulated inbound quota pending for window update.
updateQuota uint32
- // The handler to control the window update procedure for both this
- // particular stream and the associated transport.
- windowHandler func(int)
+
+ // Callback to state application's intentions to read data. This
+ // is used to adjust flow control, if need be.
+ requestRead func(int)
sendQuotaPool *quotaPool
// Close headerChan to indicate the end of reception of header metadata.
@@ -210,9 +250,17 @@ type Stream struct {
// true iff headerChan is closed. Used to avoid closing headerChan
// multiple times.
headerDone bool
- // the status received from the server.
- statusCode codes.Code
- statusDesc string
+ // the status error received from the server.
+ status *status.Status
+ // rstStream indicates whether a RST_STREAM frame needs to be sent
+ // to the server to signify that this stream is closing.
+ rstStream bool
+ // rstError is the error that needs to be sent along with the RST_STREAM frame.
+ rstError http2.ErrCode
+ // bytesSent and bytesReceived indicates whether any bytes have been sent or
+ // received on this stream.
+ bytesSent bool
+ bytesReceived bool
}
// RecvCompress returns the compression algorithm applied to the inbound
@@ -240,16 +288,24 @@ func (s *Stream) GoAway() <-chan struct{} {
// Header 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 cancelled/expired.
+// header metadata or iii) the stream is canceled/expired.
func (s *Stream) Header() (metadata.MD, error) {
+ var err error
select {
case <-s.ctx.Done():
- return nil, ContextErr(s.ctx.Err())
+ err = ContextErr(s.ctx.Err())
case <-s.goAway:
- return nil, ErrStreamDrain
+ err = ErrStreamDrain
+ case <-s.headerChan:
+ return s.header.Copy(), nil
+ }
+ // Even if the stream is closed, header is returned if available.
+ select {
case <-s.headerChan:
return s.header.Copy(), nil
+ default:
}
+ return nil, err
}
// Trailer returns the cached trailer metedata. Note that if it is not called
@@ -277,14 +333,9 @@ func (s *Stream) Method() string {
return s.method
}
-// StatusCode returns statusCode received from the server.
-func (s *Stream) StatusCode() codes.Code {
- return s.statusCode
-}
-
-// StatusDesc returns statusDesc received from the server.
-func (s *Stream) StatusDesc() string {
- return s.statusDesc
+// Status returns the status received from the server.
+func (s *Stream) Status() *status.Status {
+ return s.status
}
// SetHeader sets the header metadata. This can be called multiple times.
@@ -315,22 +366,69 @@ func (s *Stream) SetTrailer(md metadata.MD) error {
}
func (s *Stream) write(m recvMsg) {
- s.buf.put(&m)
+ s.buf.put(m)
}
-// Read reads all the data available for this Stream from the transport and
+// 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.
-func (s *Stream) Read(p []byte) (n int, err error) {
- n, err = s.dec.Read(p)
+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
}
- s.windowHandler(n)
+ t.windowHandler(n)
return
}
+// finish sets the stream's state and status, and closes the done channel.
+// s.mu must be held by the caller. st must always be non-nil.
+func (s *Stream) finish(st *status.Status) {
+ s.status = st
+ s.state = streamDone
+ close(s.done)
+}
+
+// BytesSent indicates whether any bytes have been sent on this stream.
+func (s *Stream) BytesSent() bool {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ return s.bytesSent
+}
+
+// BytesReceived indicates whether any bytes have been received on this stream.
+func (s *Stream) BytesReceived() bool {
+ s.mu.Lock()
+ defer s.mu.Unlock()
+ return s.bytesReceived
+}
+
+// GoString is implemented by Stream so context.String() won't
+// race when printing %#v.
+func (s *Stream) GoString() string {
+ return fmt.Sprintf("<stream: %p, %v>", s, s.method)
+}
+
// The key to save transport.Stream in the context.
type streamKey struct{}
@@ -358,10 +456,14 @@ const (
// 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
+ MaxStreams uint32
+ AuthInfo credentials.AuthInfo
+ InTapHandle tap.ServerInHandle
+ StatsHandler stats.Handler
+ KeepaliveParams keepalive.ServerParameters
+ KeepalivePolicy keepalive.EnforcementPolicy
+ InitialWindowSize int32
+ InitialConnWindowSize int32
}
// NewServerTransport creates a ServerTransport with conn or non-nil error
@@ -374,6 +476,9 @@ func NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (S
type ConnectOptions struct {
// UserAgent is the application user agent.
UserAgent string
+ // Authority is the :authority pseudo-header to use. This field has no effect if
+ // TransportCredentials is set.
+ Authority 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.
@@ -382,8 +487,14 @@ type ConnectOptions struct {
PerRPCCredentials []credentials.PerRPCCredentials
// TransportCredentials stores the Authenticator required to setup a client connection.
TransportCredentials credentials.TransportCredentials
+ // KeepaliveParams stores the keepalive parameters.
+ KeepaliveParams keepalive.ClientParameters
// StatsHandler stores the handler for stats.
StatsHandler stats.Handler
+ // InitialWindowSize sets the intial window size for a stream.
+ InitialWindowSize int32
+ // InitialConnWindowSize sets the intial window size for a connection.
+ InitialConnWindowSize int32
}
// TargetInfo contains the information of the target such as network address and metadata.
@@ -427,10 +538,15 @@ type CallHdr struct {
// outbound message.
SendCompress string
+ // Creds specifies credentials.PerRPCCredentials for a call.
+ Creds credentials.PerRPCCredentials
+
// Flush indicates whether a new stream command should be sent
// to the peer without waiting for the first data. This is
- // only a hint. The transport may modify the flush decision
+ // only a hint.
+ // If it's true, the transport may modify the flush decision
// for performance purposes.
+ // If it's false, new stream will never be flushed.
Flush bool
}
@@ -466,10 +582,13 @@ type ClientTransport interface {
// once the transport is initiated.
Error() <-chan struct{}
- // GoAway returns a channel that is closed when ClientTranspor
+ // 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
}
// ServerTransport is the common interface for all gRPC server-side transport
@@ -489,10 +608,9 @@ type ServerTransport interface {
// Write may not be called on all streams.
Write(s *Stream, 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, statusCode codes.Code, statusDesc string) 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
@@ -558,6 +676,8 @@ var (
ErrStreamDrain = streamErrorf(codes.Unavailable, "the server stops accepting new RPCs")
)
+// TODO: See if we can replace StreamError with status package errors.
+
// StreamError is an error that only affects one stream within a connection.
type StreamError struct {
Code codes.Code
@@ -565,18 +685,7 @@ type StreamError struct {
}
func (e StreamError) Error() string {
- return fmt.Sprintf("stream error: code = %d desc = %q", e.Code, e.Desc)
-}
-
-// ContextErr converts the error from context package into a StreamError.
-func ContextErr(err error) StreamError {
- switch err {
- case context.DeadlineExceeded:
- return streamErrorf(codes.DeadlineExceeded, "%v", err)
- case context.Canceled:
- return streamErrorf(codes.Canceled, "%v", err)
- }
- panic(fmt.Sprintf("Unexpected error from context packet: %v", err))
+ return fmt.Sprintf("stream error: code = %s desc = %q", e.Code, e.Desc)
}
// wait blocks until it can receive from ctx.Done, closing, or proceed.
@@ -606,3 +715,16 @@ func wait(ctx context.Context, done, goAway, closing <-chan struct{}, proceed <-
return i, nil
}
}
+
+// GoAwayReason contains the reason for the GoAway frame received.
+type GoAwayReason uint8
+
+const (
+ // Invalid indicates that no GoAway frame is received.
+ Invalid GoAwayReason = 0
+ // NoReason is the default value when GoAway frame is received.
+ NoReason GoAwayReason = 1
+ // TooManyPings indicates that a GoAway frame with ErrCodeEnhanceYourCalm
+ // was recieved and that the debug data said "too_many_pings".
+ TooManyPings GoAwayReason = 2
+)
diff --git a/vendor/github.com/hashicorp/terraform/vendor/vendor.json b/vendor/github.com/hashicorp/terraform/vendor/vendor.json
index ab8d5658..4c8d9125 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/vendor.json
+++ b/vendor/github.com/hashicorp/terraform/vendor/vendor.json
@@ -106,12 +106,6 @@
"revisionTime": "2015-08-27T00:49:46Z"
},
{
- "checksumSHA1": "YfhpW3cu1CHWX7lUCRparOJ6Vy4=",
- "path": "github.com/armon/go-metrics",
- "revision": "93f237eba9b0602f3e73710416558854a81d9337",
- "revisionTime": "2017-01-14T13:47:37Z"
- },
- {
"checksumSHA1": "gNO0JNpLzYOdInGeq7HqMZUzx9M=",
"path": "github.com/armon/go-radix",
"revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2",
@@ -851,6 +845,30 @@
"revisionTime": "2016-11-17T03:31:26Z"
},
{
+ "checksumSHA1": "5UJZd7Zyo40vk1OjMTy6LWjTcss=",
+ "path": "github.com/golang/protobuf/ptypes",
+ "revision": "1909bc2f63dc92bb931deace8b8312c4db72d12f",
+ "revisionTime": "2017-08-08T02:16:21Z"
+ },
+ {
+ "checksumSHA1": "Z4RIWIXH05QItZqVbmbONO9mWig=",
+ "path": "github.com/golang/protobuf/ptypes/any",
+ "revision": "1909bc2f63dc92bb931deace8b8312c4db72d12f",
+ "revisionTime": "2017-08-08T02:16:21Z"
+ },
+ {
+ "checksumSHA1": "Lx2JRhnmO66Lhj6p7UXnsPb+IQs=",
+ "path": "github.com/golang/protobuf/ptypes/duration",
+ "revision": "1909bc2f63dc92bb931deace8b8312c4db72d12f",
+ "revisionTime": "2017-08-08T02:16:21Z"
+ },
+ {
+ "checksumSHA1": "+nsb2jDuP/5l2DO78dtU/jYB3G8=",
+ "path": "github.com/golang/protobuf/ptypes/timestamp",
+ "revision": "1909bc2f63dc92bb931deace8b8312c4db72d12f",
+ "revisionTime": "2017-08-08T02:16:21Z"
+ },
+ {
"checksumSHA1": "V/53BpqgOkSDZCX6snQCAkdO2fM=",
"path": "github.com/googleapis/gax-go",
"revision": "da06d194a00e19ce00d9011a13931c3f6f6887c7",
@@ -1177,35 +1195,29 @@
"revisionTime": "2016-11-07T20:49:10Z"
},
{
- "checksumSHA1": "jfELEMRhiTcppZmRH+ZwtkVS5Uw=",
- "path": "github.com/hashicorp/consul/acl",
- "revision": "144a5e5340893a5e726e831c648f26dc19fef1e7",
- "revisionTime": "2017-03-10T23:35:18Z"
- },
- {
- "checksumSHA1": "ygEjA1d52B1RDmZu8+1WTwkrYDQ=",
+ "checksumSHA1": "IYuLg7xUzsf/P9rMpdEh1n9rbIY=",
"comment": "v0.6.3-28-g3215b87",
"path": "github.com/hashicorp/consul/api",
- "revision": "48d7b069ad443a48ffa93364048ff8909b5d1fa2",
- "revisionTime": "2017-02-07T15:38:46Z"
+ "revision": "b79d951ced8c5f18fe73d35b2806f3435e40cd64",
+ "revisionTime": "2017-07-20T03:19:26Z",
+ "version": "v0.9.0",
+ "versionExact": "v0.9.0"
},
{
- "checksumSHA1": "nomqbPd9j3XelMMcv7+vTEPsdr4=",
- "path": "github.com/hashicorp/consul/consul/structs",
- "revision": "48d7b069ad443a48ffa93364048ff8909b5d1fa2",
- "revisionTime": "2017-02-07T15:38:46Z"
- },
- {
- "checksumSHA1": "dgYoWTG7nIL9CUBuktDvMZqYDR8=",
+ "checksumSHA1": "++0PVBxbpylmllyCxSa7cdc6dDc=",
"path": "github.com/hashicorp/consul/testutil",
- "revision": "48d7b069ad443a48ffa93364048ff8909b5d1fa2",
- "revisionTime": "2017-02-07T15:38:46Z"
+ "revision": "b79d951ced8c5f18fe73d35b2806f3435e40cd64",
+ "revisionTime": "2017-07-20T03:19:26Z",
+ "version": "v0.9.0",
+ "versionExact": "v0.9.0"
},
{
- "checksumSHA1": "ZPDLNuKJGZJFV9HlJ/V0O4/c/Ko=",
- "path": "github.com/hashicorp/consul/types",
- "revision": "48d7b069ad443a48ffa93364048ff8909b5d1fa2",
- "revisionTime": "2017-02-07T15:38:46Z"
+ "checksumSHA1": "J8TTDc84MvAyXE/FrfgS+xc/b6s=",
+ "path": "github.com/hashicorp/consul/testutil/retry",
+ "revision": "b79d951ced8c5f18fe73d35b2806f3435e40cd64",
+ "revisionTime": "2017-07-20T03:19:26Z",
+ "version": "v0.9.0",
+ "versionExact": "v0.9.0"
},
{
"checksumSHA1": "cdOCt0Yb+hdErz8NAQqayxPmRsY=",
@@ -1236,10 +1248,10 @@
"revisionTime": "2017-02-07T21:55:32Z"
},
{
- "checksumSHA1": "TNlVzNR1OaajcNi3CbQ3bGbaLGU=",
- "path": "github.com/hashicorp/go-msgpack/codec",
- "revision": "fa3f63826f7c23912c15263591e65d54d080b458",
- "revisionTime": "2015-05-18T23:42:57Z"
+ "checksumSHA1": "miVF4/7JP0lRwZvFJGKwZWk7aAQ=",
+ "path": "github.com/hashicorp/go-hclog",
+ "revision": "b4e5765d1e5f00a0550911084f45f8214b5b83b9",
+ "revisionTime": "2017-07-16T17:45:23Z"
},
{
"checksumSHA1": "lrSl49G23l6NhfilxPM0XFs5rZo=",
@@ -1247,10 +1259,10 @@
"revision": "d30f09973e19c1dfcd120b2d9c4f168e68d6b5d5"
},
{
- "checksumSHA1": "b0nQutPMJHeUmz4SjpreotAo6Yk=",
+ "checksumSHA1": "R6me0jVmcT/OPo80Fe0qo5fRwHc=",
"path": "github.com/hashicorp/go-plugin",
- "revision": "f72692aebca2008343a9deb06ddb4b17f7051c15",
- "revisionTime": "2017-02-17T16:27:05Z"
+ "revision": "a5174f84d7f8ff00fb07ab4ef1f380d32eee0e63",
+ "revisionTime": "2017-08-16T15:18:19Z"
},
{
"checksumSHA1": "ErJHGU6AVPZM9yoY/xV11TwSjQs=",
@@ -1276,18 +1288,6 @@
"revisionTime": "2016-10-31T18:26:05Z"
},
{
- "checksumSHA1": "d9PxF1XQGLMJZRct2R8qVM/eYlE=",
- "path": "github.com/hashicorp/golang-lru",
- "revision": "0a025b7e63adc15a622f29b0b2c4c3848243bbf6",
- "revisionTime": "2016-08-13T22:13:03Z"
- },
- {
- "checksumSHA1": "9hffs0bAIU6CquiRhKQdzjHnKt0=",
- "path": "github.com/hashicorp/golang-lru/simplelru",
- "revision": "0a025b7e63adc15a622f29b0b2c4c3848243bbf6",
- "revisionTime": "2016-08-13T22:13:03Z"
- },
- {
"checksumSHA1": "o3XZZdOnSnwQSpYw215QV75ZDeI=",
"path": "github.com/hashicorp/hcl",
"revision": "a4b07c25de5ff55ad3b8936cea69a79a3d95a855",
@@ -1384,12 +1384,6 @@
"revisionTime": "2015-06-09T07:04:31Z"
},
{
- "checksumSHA1": "wpirHJV/6VEbbD+HyAP2/6Xc0ek=",
- "path": "github.com/hashicorp/raft",
- "revision": "aaad9f10266e089bd401e7a6487651a69275641b",
- "revisionTime": "2016-11-10T00:52:40Z"
- },
- {
"checksumSHA1": "o8In5byYGDCY/mnTuV4Tfmci+3w=",
"comment": "v0.7.0-12-ge4ec8cc",
"path": "github.com/hashicorp/serf/coordinate",
@@ -1586,10 +1580,10 @@
"revisionTime": "2017-01-23T01:43:24Z"
},
{
- "checksumSHA1": "7niW29CvYceZ6zbia6b/LT+yD/M=",
+ "checksumSHA1": "KXrCoifaKi3Wy4zbCfXTtM/FO48=",
"path": "github.com/mitchellh/cli",
- "revision": "fcf521421aa29bde1d93b6920dfce826d7932208",
- "revisionTime": "2016-08-15T18:46:15Z"
+ "revision": "b633c78680fa6fb27ac81694f38c28f79602ebd9",
+ "revisionTime": "2017-08-14T15:07:37Z"
},
{
"checksumSHA1": "ttEN1Aupb7xpPMkQLqb3tzLFdXs=",
@@ -1615,6 +1609,12 @@
"revision": "07bab5fdd9580500aea6ada0e09df4aa28e68abd"
},
{
+ "checksumSHA1": "6TBW88DSxRHf4WvOC9K5ilBZx/8=",
+ "path": "github.com/mitchellh/go-testing-interface",
+ "revision": "9a441910b16872f7b8283682619b3761a9aa2222",
+ "revisionTime": "2017-07-30T05:09:07Z"
+ },
+ {
"checksumSHA1": "xyoJKalfQwTUN1qzZGQKWYAwl0A=",
"path": "github.com/mitchellh/hashstructure",
"revision": "6b17d669fac5e2f71c16658d781ec3fdd3802b69"
@@ -1660,6 +1660,36 @@
"revision": "3d184cea22ee1c41ec1697e0d830ff0c78f7ea97"
},
{
+ "checksumSHA1": "rJab1YdNhQooDiBWNnt7TLWPyBU=",
+ "path": "github.com/pkg/errors",
+ "revision": "c605e284fe17294bda444b34710735b29d1a9d90",
+ "revisionTime": "2017-05-05T04:36:39Z"
+ },
+ {
+ "checksumSHA1": "6OEUkwOM0qgI6YxR+BDEn6YMvpU=",
+ "path": "github.com/posener/complete",
+ "revision": "f4461a52b6329c11190f11fe3384ec8aa964e21c",
+ "revisionTime": "2017-07-30T19:30:24Z"
+ },
+ {
+ "checksumSHA1": "NB7uVS0/BJDmNu68vPAlbrq4TME=",
+ "path": "github.com/posener/complete/cmd",
+ "revision": "f4461a52b6329c11190f11fe3384ec8aa964e21c",
+ "revisionTime": "2017-07-30T19:30:24Z"
+ },
+ {
+ "checksumSHA1": "kuS9vs+TMQzTGzXteL6EZ5HuKrU=",
+ "path": "github.com/posener/complete/cmd/install",
+ "revision": "f4461a52b6329c11190f11fe3384ec8aa964e21c",
+ "revisionTime": "2017-07-30T19:30:24Z"
+ },
+ {
+ "checksumSHA1": "DMo94FwJAm9ZCYCiYdJU2+bh4no=",
+ "path": "github.com/posener/complete/match",
+ "revision": "f4461a52b6329c11190f11fe3384ec8aa964e21c",
+ "revisionTime": "2017-07-30T19:30:24Z"
+ },
+ {
"checksumSHA1": "Yqr9OQ7AuIB1N0HMbSxqEoVQG+k=",
"comment": "v2.0.1-8-g983d3a5",
"path": "github.com/ryanuber/columnize",
@@ -1811,16 +1841,16 @@
"revisionTime": "2017-06-03T08:13:02Z"
},
{
- "checksumSHA1": "N1akwAdrHVfPPrsFOhG2ouP21VA=",
+ "checksumSHA1": "CLeUeDDAFQGbUNyRIryrVXqkWf0=",
"path": "golang.org/x/net/http2",
- "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d",
- "revisionTime": "2017-01-14T04:22:49Z"
+ "revision": "1c05540f6879653db88113bc4a2b70aec4bd491f",
+ "revisionTime": "2017-08-04T00:04:37Z"
},
{
- "checksumSHA1": "HzuGD7AwgC0p1az1WAQnEFnEk98=",
+ "checksumSHA1": "ezWhc7n/FtqkLDQKeU2JbW+80tE=",
"path": "golang.org/x/net/http2/hpack",
- "revision": "f2499483f923065a842d38eb4c7f1927e6fc6e6d",
- "revisionTime": "2017-01-14T04:22:49Z"
+ "revision": "1c05540f6879653db88113bc4a2b70aec4bd491f",
+ "revisionTime": "2017-08-04T00:04:37Z"
},
{
"checksumSHA1": "GIGmSrYACByf5JDIP9ByBZksY80=",
@@ -1948,70 +1978,112 @@
"revision": "b667a5000b082e49c6c6d16867d376a12e9490cd"
},
{
- "checksumSHA1": "epHwh7hDQSYzDowPIbw8vnLzPS0=",
+ "checksumSHA1": "AvVpgwhxhJgjoSledwDtYrEKVE4=",
+ "path": "google.golang.org/genproto/googleapis/rpc/status",
+ "revision": "09f6ed296fc66555a25fe4ce95173148778dfa85",
+ "revisionTime": "2017-07-31T18:20:57Z"
+ },
+ {
+ "checksumSHA1": "nwfmMh930HtXA7u5HYomxSR3Ixg=",
"path": "google.golang.org/grpc",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "08icuA15HRkdYCt6H+Cs90RPQsY=",
+ "checksumSHA1": "/eTpFgjvMq5Bc9hYnw5fzKG4B6I=",
"path": "google.golang.org/grpc/codes",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "AGkvu7gY1jWK7v5s9a8qLlH2gcQ=",
+ "checksumSHA1": "XH2WYcDNwVO47zYShREJjcYXm0Y=",
+ "path": "google.golang.org/grpc/connectivity",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "5ylThBvJnIcyWhL17AC9+Sdbw2E=",
"path": "google.golang.org/grpc/credentials",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "2NbY9kmMweE4VUsruRsvmViVnNg=",
+ "path": "google.golang.org/grpc/grpclb/grpc_lb_v1",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "3Lt5hNAG8qJAYSsNghR5uA1zQns=",
+ "checksumSHA1": "ntHev01vgZgeIh5VFRmbLx/BSTo=",
"path": "google.golang.org/grpc/grpclog",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "pc9cweMiKQ5hVMuO9UoMGdbizaY=",
+ "path": "google.golang.org/grpc/health",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "T3Q0p8kzvXFnRkMaK/G8mCv6mc0=",
+ "checksumSHA1": "W5KfI1NIGJt7JaVnLzefDZr3+4s=",
+ "path": "google.golang.org/grpc/health/grpc_health_v1",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "U9vDe05/tQrvFBojOQX8Xk12W9I=",
"path": "google.golang.org/grpc/internal",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "hcuHgKp8W0wIzoCnNfKI8NUss5o=",
+ "path": "google.golang.org/grpc/keepalive",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "XXpD8+S3gLrfmCLOf+RbxblOQkU=",
+ "checksumSHA1": "N++Ur11m6Dq3j14/Hc2Kqmxroag=",
"path": "google.golang.org/grpc/metadata",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "4GSUFhOQ0kdFlBH4D5OTeKy78z0=",
+ "checksumSHA1": "bYKw8OIjj/ybY68eGqy7zqq6qmE=",
"path": "google.golang.org/grpc/naming",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "3RRoLeH6X2//7tVClOVzxW2bY+E=",
+ "checksumSHA1": "n5EgDdBqFMa2KQFhtl+FF/4gIFo=",
"path": "google.golang.org/grpc/peer",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "wzkOAxlah+y75EpH0QVgzb8hdfc=",
+ "checksumSHA1": "53Mbn2VqooOk47EWLHHFpKEOVwE=",
"path": "google.golang.org/grpc/stats",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
+ },
+ {
+ "checksumSHA1": "3Dwz4RLstDHMPyDA7BUsYe+JP4w=",
+ "path": "google.golang.org/grpc/status",
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "N0TftT6/CyWqp6VRi2DqDx60+Fo=",
+ "checksumSHA1": "aixGx/Kd0cj9ZlZHacpHe3XgMQ4=",
"path": "google.golang.org/grpc/tap",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
- "checksumSHA1": "yHpUeGwKoqqwd3cbEp3lkcnvft0=",
+ "checksumSHA1": "S0qdJtlMimKlOrJ4aZ/pxO5uVwg=",
"path": "google.golang.org/grpc/transport",
- "revision": "50955793b0183f9de69bd78e2ec251cf20aab121",
- "revisionTime": "2017-01-11T19:10:52Z"
+ "revision": "7657092a1303cc5a6fa3fee988d57c665683a4da",
+ "revisionTime": "2017-08-09T21:16:03Z"
},
{
"checksumSHA1": "fALlQNY1fM99NesfLJ50KguWsio=",
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/backends/types/azure.html.md b/vendor/github.com/hashicorp/terraform/website/docs/backends/types/azure.html.md
index 972a6dfb..043bcb15 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/backends/types/azure.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/docs/backends/types/azure.html.md
@@ -49,6 +49,7 @@ The following configuration options are supported:
* `key` - (Required) The key where to place/look for state file inside the container
* `access_key` / `ARM_ACCESS_KEY` - (Required) Storage account access key
* `lease_id` / `ARM_LEASE_ID` - (Optional) If set, will be used when writing to storage blob.
+ * `resource_group_name` - (Optional) The name of the resource group for the storage account. Required if `access_key` isn't specified.
* `environment` / `ARM_ENVIRONMENT` - (Optional) The cloud environment to use. Supported values are:
* `public` (default)
* `usgovernment`
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/commands/import.html.md b/vendor/github.com/hashicorp/terraform/website/docs/commands/import.html.md
index 4862f87e..2662b72e 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/commands/import.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/docs/commands/import.html.md
@@ -53,12 +53,12 @@ The command-line flags are all optional. The list of available flags are:
provider based on the prefix of the resource being imported. You usually
don't need to specify this.
-* `-state=path` - The path to read and save state files (unless state-out is
- specified). Ignored when [remote state](/docs/state/remote.html) is used.
+* `-state=path` - Path to the source state file to read from. Defaults to the
+ configured backend, or "terraform.tfstate".
-* `-state-out=path` - Path to write the final state file. By default, this is
- the state path. Ignored when [remote state](/docs/state/remote.html) is
- used.
+* `-state-out=path` - Path to the destination state file to write to. If this
+ isn't specified the source state file will be used. This can be a new or
+ existing path.
* `-var 'foo=bar'` - Set a variable in the Terraform configuration. This flag
can be set multiple times. Variable values are interpreted as
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/commands/init.html.markdown b/vendor/github.com/hashicorp/terraform/website/docs/commands/init.html.markdown
index 851aa8e3..8c50b28e 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/commands/init.html.markdown
+++ b/vendor/github.com/hashicorp/terraform/website/docs/commands/init.html.markdown
@@ -56,7 +56,7 @@ By default, `terraform init` assumes that the working directory already
contains a configuration and will attempt to initialize that configuration.
Optionally, init can be run against an empty directory with the
-`-with-module=MODULE-SOURCE` option, in which case the given module will be
+`-from-module=MODULE-SOURCE` option, in which case the given module will be
copied into the target directory before any other initialization steps are
run.
@@ -130,11 +130,17 @@ versions that comply with the version constraints given in configuration.
To skip plugin installation, use `-get-plugins=false`.
The automatic plugin installation behavior can be overridden by extracting
-the desired providers into a local directory and using the additonal option
+the desired providers into a local directory and using the additional option
`-plugin-dir=PATH`. When this option is specified, _only_ the given directory
is consulted, which prevents Terraform from making requests to the plugin
repository or looking for plugins in other local directories.
+Custom plugins can be used along with automatically installed plugins by
+placing them in `terraform.d/plugins/OS_ARCH/` inside the directory being
+initialized. Plugins found here will take precedence if they meet the required
+constraints in the configuration. The `init` command will continue to
+automatically download other plugins as needed.
+
When plugins are automatically downloaded and installed, by default the
contents are verified against an official HashiCorp release signature to
ensure that they were not corrupted or tampered with during download. It is
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/commands/state/mv.html.md b/vendor/github.com/hashicorp/terraform/website/docs/commands/state/mv.html.md
index ee58bcf9..abccef9b 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/commands/state/mv.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/docs/commands/state/mv.html.md
@@ -40,19 +40,22 @@ in [resource addressing format](/docs/commands/state/addressing.html).
The command-line flags are all optional. The list of available flags are:
-* `-backup=path` - Path to a backup file Defaults to the state path plus
- a timestamp with the ".backup" extension.
-
-* `-backup-out=path` - Path to the backup file for the output state.
- This is only necessary if `-state-out` is specified.
-
-* `-state=path` - Path to the state file. Defaults to "terraform.tfstate".
- Ignored when [remote state](/docs/state/remote.html) is used.
-
-* `-state-out=path` - Path to the state file to write to. If this isn't specified
- the state specified by `-state` will be used. This can be
- a new or existing path. Ignored when
- [remote state](/docs/state/remote.html) is used.
+* `-backup=path` - Path where Terraform should write the backup for the
+ original state. This can't be disabled. If not set, Terraform will write it
+ to the same path as the statefile with a ".backup" extension.
+
+* `-backup-out=path` - Path where Terraform should write the backup for the
+ destination state. This can't be disabled. If not set, Terraform will write
+ it to the same path as the destination state file with a backup extension.
+ This only needs to be specified if -state-out is set to a different path than
+ -state.
+
+* `-state=path` - Path to the source state file to read from. Defaults to the
+ configured backend, or "terraform.tfstate".
+
+* `-state-out=path` - Path to the destination state file to write to. If this
+ isn't specified the source state file will be used. This can be a new or
+ existing path.
## Example: Rename a Resource
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/commands/state/rm.html.md b/vendor/github.com/hashicorp/terraform/website/docs/commands/state/rm.html.md
index a8ddb9a1..f9031239 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/commands/state/rm.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/docs/commands/state/rm.html.md
@@ -17,7 +17,7 @@ and more.
Usage: `terraform state rm [options] ADDRESS...`
-The command will remove all the items matched by the addresses given.
+Remove one or more items from the Terraform state.
Items removed from the Terraform state are _not physically destroyed_.
Items removed from the Terraform state are only no longer managed by
@@ -43,10 +43,13 @@ in [resource addressing format](/docs/commands/state/addressing.html).
The command-line flags are all optional. The list of available flags are:
-* `-backup=path` - Path to a backup file Defaults to the state path plus
- a timestamp with the ".backup" extension.
+* `-backup=path` - Path where Terraform should write the backup state. This
+ can't be disabled. If not set, Terraform will write it to the same path as
+ the statefile with a backup extension.
-* `-state=path` - Path to the state file. Defaults to "terraform.tfstate".
+* `-state=path` - Path to a Terraform state file to use to look up
+ Terraform-managed resources. By default it will use the configured backend,
+ or the default "terraform.tfstate" if it exists.
## Example: Remove a Resource
diff --git a/vendor/github.com/hashicorp/terraform/website/docs/plugins/provider.html.md b/vendor/github.com/hashicorp/terraform/website/docs/plugins/provider.html.md
index fe1dad59..5921e341 100644
--- a/vendor/github.com/hashicorp/terraform/website/docs/plugins/provider.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/docs/plugins/provider.html.md
@@ -240,7 +240,7 @@ which cover all available settings.
We recommend viewing schemas of existing or similar providers to learn
best practices. A good starting place is the
-[core Terraform providers](https://github.com/hashicorp/terraform/tree/master/builtin/providers).
+[core Terraform providers](https://github.com/terraform-providers).
## Resource Data
diff --git a/vendor/github.com/hashicorp/terraform/website/guides/running-terraform-in-automation.html.md b/vendor/github.com/hashicorp/terraform/website/guides/running-terraform-in-automation.html.md
index f56e6ff6..8e75cd50 100644
--- a/vendor/github.com/hashicorp/terraform/website/guides/running-terraform-in-automation.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/guides/running-terraform-in-automation.html.md
@@ -104,7 +104,7 @@ such an automation setup:
and CPU architecture as where it was created. For example, this means that
it is not possible to create a plan on a Windows computer and then apply it
on a Linux server.
-* Terraform expects the provider plugins that were used used to produce a
+* Terraform expects the provider plugins that were used to produce a
plan to be available and identical when the plan is applied, to ensure
that the plan is interpreted correctly. An error will be produced if
Terraform or any plugins are upgraded between creating and applying a plan.
@@ -282,6 +282,11 @@ use of newer plugin versions that have not yet been installed into the
local plugin directory. Which approach is more appropriate will depend on
unique constraints within each organization.
+Plugins can also be provided along with the configuration by creating a
+`terraform.d/plugins/OS_ARCH` directory, which will be searched before
+automatically downloading additional plugins. The `-get-plugins=false` flag can
+be used to prevent Terraform from automatically downloading additional plugins.
+
## Terraform Enterprise
As an alternative to home-grown automation solutions, Hashicorp offers
diff --git a/vendor/github.com/hashicorp/terraform/website/guides/terraform-provider-development-program.html.md b/vendor/github.com/hashicorp/terraform/website/guides/terraform-provider-development-program.html.md
deleted file mode 100644
index 18e405e4..00000000
--- a/vendor/github.com/hashicorp/terraform/website/guides/terraform-provider-development-program.html.md
+++ /dev/null
@@ -1,127 +0,0 @@
----
-layout: "guides"
-page_title: "Terraform Provider Development Program"
-sidebar_current: "guides-terraform-provider-development-program"
-description: |-
- This guide provides steps to create a provider and apply for inclusing with
- Terraform, in order for Vendors to have their platform supported by Terraform.
----
-#Terraform Provider Development Program
-
-## Introduction
-Terraform is used to create, manage, and manipulate infrastructure resources. Examples of resources include physical machines, VMs, network switches, containers, etc. Almost any infrastructure noun can be represented as a resource in Terraform.
-
-Terraform can broadly be divided into two parts – the Terraform core, which consists of the core functionality, and a provider layer, which provides a translation layer between Terraform core and the underlying infrastructure. A provider is responsible for understanding API interactions with the underlying infrastructure like a cloud (AWS, GCP, Azure), a PaaS service (Heroku), a SaaS (service DNSimple, CloudFlare), or on-prem resources (vSphere). It then exposes these as resources users can code to. Terraform presently supports more than 70 providers, a number that has more than doubled in the past 12 months.
-
-~> **NOTE:** This document is intended for vendors and users who would like to build a Terraform provider to have their infrastructure supported via terraform. The program is intended to be largely self-serve, with links to information sources, clearly defined steps, and checkpoints. This being said, we welcome you to contact us at <terraform-provider-dev@hashicorp.com> with any questions, or feedback.
-
-
-## Provider Development Process
-The Terraform provider development process can broadly be divided into the six steps described below.
-
-![Process](docs/process.png)
-
-1. Engage: Initial contact between vendor and HashiCorp
-2. Enable: Information and articles to aid with the provider development
-3. Dev/Test: Provider development and test process
-4. Review: HashiCorp code review and acceptance tests (iterative process)
-5. Release: Provider availability and listing on [terraform.io](https://www.terraform.io)
-6. Support: Ongoing maintenance and support of the provider by the vendor.
-
-Each of these steps are described in detail below. Vendors are encouraged to follow the tasks associated with each step to the fullest as it helps streamline the process and minimize rework.
-
-### 1. Engage
-Each new provider development cycle begins with the vendor providing some basic information about the infrastructure the provider is being built for, the name of the provider, relevant details about the project, via a simple [webform](https://goo.gl/forms/iqfz6H9UK91X9LQp2) (https://goo.gl/forms/iqfz6H9UK91X9LQp2). This information is captured upfront and used for consistently tracking the provider through the various steps.
-
-All providers integrate into and operate with Terraform exactly the same way. The table below is intended to help users understand who develops, maintains and tests a particular provider. All new providers should align to one of these two tiers.
-
-![Engage-table](docs/engage-table.png)
-
-### 2. Enable
-In order to get started with the Terraform provider development process we recommend reviewing and following the articles included in the Provider Development Kit.
-
-Provider Development Kit:
-
-* Writing custom providers [guide](https://www.terraform.io/guides/writing-custom-terraform-providers.html)
-* How-to build a provider [video](https://www.youtube.com/watch?v=2BvpqmFpchI)
-* Sample provider developed by [partner](http://container-solutions.com/write-terraform-provider-part-1/)
-* Example providers for reference: [AWS](https://github.com/terraform-providers/terraform-provider-aws), [OPC](https://github.com/terraform-providers/terraform-provider-opc)
-* Contributing to Terraform [guidelines](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md)
-* Gitter HashiCorp-Terraform [room](https://gitter.im/hashicorp-terraform/Lobby).
-
-We’ve found the provider development to be fairly straightforward and simple when vendors pay close attention and follow to the above articles. Adopting the same structure and coding patterns helps expedite the review and release cycles.
-
-### 3. Development & Test
-The Terraform provider is written in the [Go](https://golang.org/) programming language. The best approach to architect a new provider project is to use the [AWS provider](https://github.com/terraform-providers/terraform-provider-aws) as a reference. Given the wide surface area of this provider, almost all resource types and preferred code constructs are covered in it.
-
-It is recommended for vendors to first develop support for one or two resources and go through an initial review cycle before developing the code for the remaining resources. This helps catch any issues early on in the process and avoids errors from getting multiplied. In addition, it is advised to follow existing conventions you see in the codebase, and ensure your code is formatted with go fmt. This is needed as our TravisCI continuous Integration (CI) build will fail if go fmt has not been run on the code.
-
-The provider code should include an acceptance test suite with tests for each individual resource that holistically tests its behavior. The Writing Acceptance Tests section in the [Contributing to Terraform](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md) document explains how to approach these. It is recommended to randomize the names of the tests as opposed to using unique static names, as that permits us to parallelize the test execution.
-
-
-Another common problem is that those tests can only run one at a time (because of unique static names of resources).
-Randomized names is what we should encourage people to do.
-
-
-Each provider has a section in the Terraform documentation. You'll want to add new index file and individual pages for each resource supported by the provider.
-
-While developing the provider code yourself is certainly possible, you can also choose to leverage one of the following development agencies who’ve developed Terraform providers in the past and are familiar with the requirements and process.
-
-| Partner | Website | Email |
-|:-------------------|:-----------------------------|:---------------------|
-| Crest Data Systems | malhar@crestdatasys.com | www.crestdatasys.com |
-| DigitalOnUs | hashicorp@digitalonus.com | www.digitalonus.com |
-| MustWin | bd@mustwin.com | www.mustwin.com |
-| OpenCredo | guy.richardson@opencredo.com | www.opencredo.com |
-
-### 4. Review
-Once the provider with one or two sample resources has been developed, an email should be sent to <terraform-provider-dev@hashicorp.com> along with a pointer to the public GitHub repo containing the code. HashiCorp will then review the resource code, acceptance tests, and the documentation for the sample resource(s) will be reviewed. When all the feedback has been addressed, support for the remaining resources can continue to be developed, along with the corresponding acceptance tests and documentation. The vendor is encouraged to send HashiCorp a rough list of resource names that are planned to be worked on along with the mapping to the underlying APIs, if possible. This information can be provided via the [webform](https://goo.gl/forms/iqfz6H9UK91X9LQp2). It is preferred that the additional resources be developed and submitted as individual PRs in GitHub as that simplifies the review process.
-
-Once the provider has been completed another email should be sent to <terraform-provider-dev@hashicorp.com> along with a pointer to the public GitHub repo containing the code requesting the final code review. HashiCorp will review the code and provide feedback about any changes that may be required. This is often an iterative process and can take some time to get done.
-
-The vendor is also required to provide access credentials for the infrastructure (cloud or other) that is managed by the provider. Please encrypt the credentials using our public GPG key published at keybase.io/terraform (you can use the form at https://keybase.io/encrypt#terraform) and paste the encrypted message into the [webform](https://goo.gl/forms/iqfz6H9UK91X9LQp2). Please do NOT enter plain-text credentials. These credentials are used during the review phase, as well as to test the provider as part of the regular testing HashiCorp conducts.
-
->
-NOTE: It is strongly recommended to develop support for just one or two resources first and go through the review cycle before developing support for all the remaining resources. This approach helps catch any code construct issues early, and avoids the problem from multiplying across other resources. In addition, one of the common gaps is often the lack of a complete set of acceptance tests, which results in wasted time. It is recommended that you make an extra pass through the provider code and ensure that each resource has an acceptance test associated with it.
-
-### 5. Release
-At this stage, it is expected that the provider is fully developed, all tests and documentation are in place, and the acceptance tests are all passing.
-
-
-HashiCorp will create a new GitHub repo under the terraform-providers GitHub organization for the new provider (example: terraform-providers/terraform-provider-_name_) and grant the owner of the original provider code write access to the new repo. A GitHub Pull Request should be created against this new repo with the provider code that had been reviewed in step-4 above. Once this is done HashiCorp will review and merge the PR, and get the new provider listed on [terraform.io](https://www.terraform.io). This is also when the provider acceptance tests are added to the HashiCorp test harness (TeamCity) and tested at regular intervals.
-
-
-Vendors whose providers are listed on terraform.io are permitted to use the HashiCorp Tested logo for their provider.
-
-<img alt="hashicorp-tested-icon" src="/assets/images/docs/hashicorp-tested-icon.png" style="width: 101px;" />
-
-### 6. Support
-Many vendors view the Release step above to be the end of the journey, while at HashiCorp we view it to be the start. Getting the provider built is just the first step in enabling users to use it against the infrastructure. Once this is done on-going effort is required to maintain the provider and address any issues in a timely manner. The expectation is to resolve all Critical issues within 48 hours and all other issues within 5 business days. HashiCorp Terraform has as extremely wide community of users and contributors and we encourage everyone to report issues however small, as well as help resolve them when possible.
-
-Vendors who choose to not support their provider and prefer to make it a community supported provider will not be listed on terraform.io.
-
-## Next Steps
-Below is an ordered checklist of steps that should be followed during the provider development process.
-
-[ ] Fill out provider development program engagement [webform](https://goo.gl/forms/iqfz6H9UK91X9LQp2) (https://goo.gl/forms/iqfz6H9UK91X9LQp2)
-
-[ ] Refer to the example providers and model the new provider based on that
-
-[ ] Create the new provider with one or two sample resources along with acceptance tests and documentation
-
-[ ] Send email to <terraform-provider-dev@hashicorp.com> to schedule an initial review
-
-[ ] Address review feedback and develop support for the other resources
-
-[ ] Send email to <terraform-provider-dev@hashicorp.com> along with a pointer to the public GitHub repo containing the final code
-
-[ ] Provide HashiCorp with credentials for underlying infrastructure managed by the new provider via the [webform](https://goo.gl/forms/iqfz6H9UK91X9LQp2)
-
-[ ] Address all review feedback, ensure that each resource has a corresponding acceptance test, and the documentation is complete
-
-[ ] Create a PR for the provider against the HashiCorp provided empty repo.
-
-[ ] Plan to continue supporting the provider with additional functionality as well as addressing any open issues.
-
-
-In this document we’ve covered the process for getting a Terraform provider created. For any questions or feedback please contact us at <terraform-provider-dev@hashicorp.com>.
diff --git a/vendor/github.com/hashicorp/terraform/website/guides/writing-custom-terraform-providers.html.md b/vendor/github.com/hashicorp/terraform/website/guides/writing-custom-terraform-providers.html.md
index 9088f159..ffcdfe34 100644
--- a/vendor/github.com/hashicorp/terraform/website/guides/writing-custom-terraform-providers.html.md
+++ b/vendor/github.com/hashicorp/terraform/website/guides/writing-custom-terraform-providers.html.md
@@ -40,7 +40,7 @@ This post assumes familiarity with Golang and basic programming concepts.
As a reminder, all of Terraform's core providers are open source. When stuck or
looking for examples, please feel free to reference
-[the open source providers](https://github.com/hashicorp/terraform/tree/master/builtin/providers) for help.
+[the open source providers](https://github.com/terraform-providers) for help.
## The Provider Schema
diff --git a/vendor/github.com/hashicorp/terraform/website/intro/examples/consul.html.markdown b/vendor/github.com/hashicorp/terraform/website/intro/examples/consul.html.markdown
index 78d3f63d..23602b77 100644
--- a/vendor/github.com/hashicorp/terraform/website/intro/examples/consul.html.markdown
+++ b/vendor/github.com/hashicorp/terraform/website/intro/examples/consul.html.markdown
@@ -8,7 +8,7 @@ description: |-
# Consul Example
-[**Example Source Code**](https://github.com/hashicorp/terraform/tree/master/examples/consul)
+[**Example Source Code**](https://github.com/terraform-providers/terraform-provider-consul/tree/master/examples/kv)
[Consul](https://www.consul.io) is a tool for service discovery, configuration
and orchestration. The Key/Value store it provides is often used to store
diff --git a/vendor/github.com/hashicorp/terraform/website/intro/examples/count.markdown b/vendor/github.com/hashicorp/terraform/website/intro/examples/count.markdown
index 96a11e1f..e6064924 100644
--- a/vendor/github.com/hashicorp/terraform/website/intro/examples/count.markdown
+++ b/vendor/github.com/hashicorp/terraform/website/intro/examples/count.markdown
@@ -8,7 +8,7 @@ description: |-
# Count Example
-[**Example Source Code**](https://github.com/hashicorp/terraform/tree/master/examples/aws-count)
+[**Example Source Code**](https://github.com/terraform-providers/terraform-provider-aws/tree/master/examples/count)
The `count` parameter on resources can simplify configurations
and let you scale resources by simply incrementing a number.
diff --git a/vendor/github.com/hashicorp/terraform/website/intro/examples/index.html.markdown b/vendor/github.com/hashicorp/terraform/website/intro/examples/index.html.markdown
index 99df59b1..c4d60aea 100644
--- a/vendor/github.com/hashicorp/terraform/website/intro/examples/index.html.markdown
+++ b/vendor/github.com/hashicorp/terraform/website/intro/examples/index.html.markdown
@@ -8,7 +8,7 @@ description: |-
# Example Configurations
-These examples are designed to help you understand some
+The examples in this section illustrate some
of the ways Terraform can be used.
All examples are ready to run as-is. Terraform will
@@ -31,23 +31,21 @@ uses it isn't required.
## Examples
-All of the examples are in the
-["examples" directory within the Terraform source code](https://github.com/hashicorp/terraform/tree/master/examples). Each example (as well as the examples
-directory) has a README explaining the goal of the example.
+Our examples are distributed across several repos. [This README file in the Terraform repo has links to all of them.](https://github.com/hashicorp/terraform/tree/master/examples)
To use these examples, Terraform must first be installed on your machine.
You can install Terraform from the [downloads page](/downloads.html).
-Once installed, you can use two steps to view and run the examples.
+Once installed, you can download, view, and run the examples.
-To try these examples, first clone them with git as usual:
+To use an example, clone the repository that contains it and navigate to its directory. For example, to try the AWS two-tier architecture example:
```
-git clone https://github.com/hashicorp/terraform/examples/aws-two-tier
-cd aws-two-tier
+git clone https://github.com/terraform-providers/terraform-provider-aws.git
+cd terraform-provider-aws/examples/two-tier
```
-You can then use your own editor to read and browse the configurations.
-To try out the example, initialize and then apply:
+You can then use your preferred code editor to browse and read the configurations.
+To try out an example, run Terraform's init and apply commands while in the example's directory:
```
$ terraform init
diff --git a/vendor/github.com/hashicorp/terraform/website/layouts/guides.erb b/vendor/github.com/hashicorp/terraform/website/layouts/guides.erb
index 03a4d4d0..7825f68b 100644
--- a/vendor/github.com/hashicorp/terraform/website/layouts/guides.erb
+++ b/vendor/github.com/hashicorp/terraform/website/layouts/guides.erb
@@ -7,9 +7,6 @@
<li<%= sidebar_current("guides-running-terraform-in-automation") %>>
<a href="/guides/running-terraform-in-automation.html">Running Terraform in Automation</a>
</li>
- <li<%= sidebar_current("guides-terraform-provider-development-program") %>>
- <a href="/guides/terraform-provider-development-program.html">Terraform Provider Development Program</a>
- </li>
</ul>
<% end %>
diff --git a/vendor/github.com/hooklift/iso9660/.editorconfig b/vendor/github.com/hooklift/iso9660/.editorconfig
deleted file mode 100644
index dde2aa96..00000000
--- a/vendor/github.com/hooklift/iso9660/.editorconfig
+++ /dev/null
@@ -1,23 +0,0 @@
-root = true
-
-; Unix-style newlines with a newline ending every file
-[*]
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-charset = utf-8
-
-; Golang
-[*.go]
-indent_style = tab
-indent_size = 4
-
-; C
-[*.c]
-indent_style = space
-indent_size = 4
-
-; YAML
-[*.yaml]
-indent_style = space
-indent_size = 2
diff --git a/vendor/github.com/hooklift/iso9660/.travis.yml b/vendor/github.com/hooklift/iso9660/.travis.yml
index 40ea7c80..c6411597 100644
--- a/vendor/github.com/hooklift/iso9660/.travis.yml
+++ b/vendor/github.com/hooklift/iso9660/.travis.yml
@@ -4,12 +4,8 @@ language: go
go:
- 1.4
- 1.5
- - 1.8
- tip
matrix:
allow_failures:
- go: tip
-
-install:
- - make deps
diff --git a/vendor/github.com/hooklift/iso9660/Makefile b/vendor/github.com/hooklift/iso9660/Makefile
index 03b588a4..8ab1e3c4 100644
--- a/vendor/github.com/hooklift/iso9660/Makefile
+++ b/vendor/github.com/hooklift/iso9660/Makefile
@@ -8,5 +8,3 @@ deps:
go get github.com/c4milo/github-release
go get github.com/mitchellh/gox
go get github.com/docopt/docopt-go
- go get github.com/c4milo/gotoolkit
- go get github.com/hooklift/assert
diff --git a/vendor/github.com/hooklift/iso9660/README.md b/vendor/github.com/hooklift/iso9660/README.md
index 8a529a4a..3c34b70f 100644
--- a/vendor/github.com/hooklift/iso9660/README.md
+++ b/vendor/github.com/hooklift/iso9660/README.md
@@ -5,13 +5,6 @@
Go library and CLI to extract data from ISO9660 images.
### CLI
-```
-$ ./iso9660
-Usage:
- iso9660 <image-path> <destination-path>
- iso9660 -h | --help
- iso9660 --version
-```
### Library
An example on how to use the library to extract files and directories from an ISO image can be found in our CLI source code at:
diff --git a/vendor/github.com/hooklift/iso9660/cmd/iso9660/main.go b/vendor/github.com/hooklift/iso9660/cmd/iso9660/main.go
index d03a4400..f145e652 100644
--- a/vendor/github.com/hooklift/iso9660/cmd/iso9660/main.go
+++ b/vendor/github.com/hooklift/iso9660/cmd/iso9660/main.go
@@ -67,7 +67,7 @@ Usage:
fmt.Printf("Extracting %s...\n", fp)
freader := f.Sys().(io.Reader)
- ff, err := os.OpenFile(fp, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, f.Mode())
+ ff, err := os.Create(fp)
if err != nil {
panic(err)
}
@@ -77,6 +77,10 @@ Usage:
}
}()
+ if err := ff.Chmod(f.Mode()); err != nil {
+ panic(err)
+ }
+
if _, err := io.Copy(ff, freader); err != nil {
panic(err)
}
diff --git a/vendor/github.com/hooklift/iso9660/common.mk b/vendor/github.com/hooklift/iso9660/common.mk
index 35b67b44..035a224f 100644
--- a/vendor/github.com/hooklift/iso9660/common.mk
+++ b/vendor/github.com/hooklift/iso9660/common.mk
@@ -15,7 +15,7 @@ install:
compile:
@rm -rf build/
@gox $(LDFLAGS) \
- -osarch="darwin/amd64" \
+ -os="darwin" \
-os="linux" \
-os="solaris" \
-os="freebsd" \
@@ -36,7 +36,7 @@ release: dist
@latest_tag=$$(git describe --tags `git rev-list --tags --max-count=1`); \
comparison="$$latest_tag..HEAD"; \
if [ -z "$$latest_tag" ]; then comparison=""; fi; \
- changelog=$$(git log $$comparison --oneline --no-merges); \
+ changelog=$$(git log $$comparison --oneline --no-merges --reverse); \
github-release $(GHACCOUNT)/$(NAME) $(VERSION) $(BRANCH) "**Changelog**<br/>$$changelog" 'dist/*'; \
git pull
diff --git a/vendor/github.com/hooklift/iso9660/iso9660.go b/vendor/github.com/hooklift/iso9660/iso9660.go
index c5a114cd..fa20958a 100644
--- a/vendor/github.com/hooklift/iso9660/iso9660.go
+++ b/vendor/github.com/hooklift/iso9660/iso9660.go
@@ -18,6 +18,8 @@
package iso9660
import (
+ "bytes"
+ "encoding/binary"
"io"
"os"
"strings"
@@ -30,7 +32,7 @@ type File struct {
DirectoryRecord
fileID string
// We have the raw image here only to be able to access file extents
- image *os.File
+ image io.ReadSeeker
}
// Name returns the file's name.
@@ -73,7 +75,35 @@ func (f *File) Sys() interface{} {
return nil
}
- return io.NewSectionReader(f.image, int64(f.ExtentLocationBE*sectorSize), int64(f.ExtentLengthBE))
+ // if f.ExtentLengthBE <= 0 {
+ // return bytes.NewReader([]byte(""))
+ // }
+ // Saves the current position within the ISO image. This is so we can
+ // restore it once the file content is read. By doing this we allow
+ // reader.Next() to keep working normally.
+ curOffset, err := f.image.Seek(0, os.SEEK_CUR)
+ if err != nil {
+ panic(err)
+ }
+
+ _, err = f.image.Seek(int64(f.ExtentLocationBE*sectorSize), os.SEEK_SET)
+ if err != nil {
+ panic(err)
+ }
+
+ buffer := make([]byte, f.ExtentLengthBE)
+ err = binary.Read(f.image, binary.BigEndian, buffer)
+ if err != nil {
+ panic(err)
+ }
+
+ // Restores original position within the ISO image after reading file's content.
+ _, err = f.image.Seek(curOffset, os.SEEK_SET)
+ if err != nil {
+ panic(err)
+ }
+
+ return bytes.NewReader(buffer)
}
const (
diff --git a/vendor/github.com/hooklift/iso9660/reader.go b/vendor/github.com/hooklift/iso9660/reader.go
index 1c7d00a6..1dcae7e6 100644
--- a/vendor/github.com/hooklift/iso9660/reader.go
+++ b/vendor/github.com/hooklift/iso9660/reader.go
@@ -23,7 +23,7 @@ var (
// from its constructor.
type Reader struct {
// File descriptor to the opened ISO image
- image *os.File
+ image io.ReadSeeker
// Copy of unencoded Primary Volume Descriptor
pvd PrimaryVolume
// Queue used to walk through file system iteratively
@@ -35,7 +35,7 @@ type Reader struct {
}
// NewReader creates a new ISO 9660 image reader.
-func NewReader(rs *os.File) (*Reader, error) {
+func NewReader(rs io.ReadSeeker) (*Reader, error) {
// Starts reading from image data area
sector := dataAreaSector
// Iterates over volume descriptors until it finds the primary volume descriptor
diff --git a/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md b/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md
deleted file mode 100644
index 469b4490..00000000
--- a/vendor/github.com/imdario/mergo/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# 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 i@dario.im. The project team will review and investigate all complaints, and will respond in a way that it deems 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/vendor/github.com/imdario/mergo/README.md b/vendor/github.com/imdario/mergo/README.md
index b1310697..f4769cdd 100644
--- a/vendor/github.com/imdario/mergo/README.md
+++ b/vendor/github.com/imdario/mergo/README.md
@@ -30,7 +30,7 @@ If you were using Mergo **before** April 6th 2015, please check your project wor
### Mergo in the wild
- [docker/docker](https://github.com/docker/docker/)
-- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes)
+- [GoogleCloudPlatform/kubernetes](https://github.com/GoogleCloudPlatform/kubernetes)
- [imdario/zas](https://github.com/imdario/zas)
- [soniah/dnsmadeeasy](https://github.com/soniah/dnsmadeeasy)
- [EagerIO/Stout](https://github.com/EagerIO/Stout)
@@ -50,7 +50,6 @@ If you were using Mergo **before** April 6th 2015, please check your project wor
- [thoas/picfit](https://github.com/thoas/picfit)
- [mantasmatelis/whooplist-server](https://github.com/mantasmatelis/whooplist-server)
- [jnuthong/item_search](https://github.com/jnuthong/item_search)
-- [Iris Web Framework](https://github.com/kataras/iris)
## Installation
@@ -65,27 +64,15 @@ If you were using Mergo **before** April 6th 2015, please check your project wor
You can only merge same-type structs with exported fields initialized as zero value of their type and same-types maps. Mergo won't merge unexported (private) fields but will do recursively any exported one. Also maps will be merged recursively except for structs inside maps (because they are not addressable using Go reflection).
-```go
-if err := mergo.Merge(&dst, src); err != nil {
- // ...
-}
-```
-
-Also, you can merge overwriting values using MergeWithOverwrite.
-
-```go
-if err := mergo.MergeWithOverwrite(&dst, src); err != nil {
- // ...
-}
-```
+ if err := mergo.Merge(&dst, src); err != nil {
+ // ...
+ }
Additionally, you can map a map[string]interface{} to a struct (and otherwise, from struct to map), following the same restrictions as in Merge(). Keys are capitalized to find each corresponding exported field.
-```go
-if err := mergo.Map(&dst, srcMap); err != nil {
- // ...
-}
-```
+ if err := mergo.Map(&dst, srcMap); err != nil {
+ // ...
+ }
Warning: if you map a struct to map, it won't do it recursively. Don't expect Mergo to map struct members of your struct as map[string]interface{}. They will be just assigned as values.
@@ -109,11 +96,11 @@ type Foo struct {
func main() {
src := Foo{
A: "one",
- B: 2,
}
dest := Foo{
A: "two",
+ B: 2,
}
mergo.Merge(&dest, src)
diff --git a/vendor/github.com/imdario/mergo/issue23_test.go b/vendor/github.com/imdario/mergo/issue23_test.go
deleted file mode 100644
index 9c325841..00000000
--- a/vendor/github.com/imdario/mergo/issue23_test.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package mergo
-
-import (
- "testing"
- "time"
-)
-
-type document struct {
- Created *time.Time
-}
-
-func TestIssue23MergeWithOverwrite(t *testing.T) {
- now := time.Now()
- dst := document{
- &now,
- }
- expected := time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
- src := document{
- &expected,
- }
- if err := MergeWithOverwrite(&dst, src); err != nil {
- t.Errorf("Error while merging %s", err)
- }
- if dst.Created != src.Created {
- t.Fatalf("Created not merged in properly: dst.Created(%v) != src.Created(%v)", dst.Created, src.Created)
- }
-}
diff --git a/vendor/github.com/imdario/mergo/merge.go b/vendor/github.com/imdario/mergo/merge.go
index 513774f4..11e55b1e 100644
--- a/vendor/github.com/imdario/mergo/merge.go
+++ b/vendor/github.com/imdario/mergo/merge.go
@@ -79,7 +79,7 @@ func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, ov
case reflect.Interface:
if src.IsNil() {
break
- } else if dst.IsNil() || overwrite {
+ } else if dst.IsNil() {
if dst.CanSet() && (overwrite || isEmptyValue(dst)) {
dst.Set(src)
}
diff --git a/vendor/github.com/imdario/mergo/mergo_test.go b/vendor/github.com/imdario/mergo/mergo_test.go
index 1b7b4a66..dd2651b3 100644
--- a/vendor/github.com/imdario/mergo/mergo_test.go
+++ b/vendor/github.com/imdario/mergo/mergo_test.go
@@ -10,7 +10,8 @@ import (
"reflect"
"testing"
"time"
- "gopkg.in/yaml.v2"
+
+ "gopkg.in/yaml.v1"
)
type simpleTest struct {
@@ -522,26 +523,3 @@ func TestUnexportedProperty(t *testing.T) {
}()
Merge(&a, b)
}
-
-type structWithBoolPointer struct {
- C *bool
-}
-
-func TestBooleanPointer(t *testing.T) {
- bt, bf := true, false
- src := structWithBoolPointer{
- &bt,
- }
- dst := structWithBoolPointer{
- &bf,
- }
- if err := Merge(&dst, src); err != nil {
- t.FailNow()
- }
- if dst.C == src.C {
- t.Fatalf("dst.C should be a different pointer than src.C")
- }
- if *dst.C != *src.C {
- t.Fatalf("dst.C should be true")
- }
-}
diff --git a/vendor/github.com/libvirt/libvirt-go-xml/.travis.yml b/vendor/github.com/libvirt/libvirt-go-xml/.travis.yml
index 5e6be774..dd131404 100644
--- a/vendor/github.com/libvirt/libvirt-go-xml/.travis.yml
+++ b/vendor/github.com/libvirt/libvirt-go-xml/.travis.yml
@@ -6,6 +6,8 @@ go:
- 1.5
- 1.6
- 1.7
+ - 1.8
+ - 1.9
script:
go test -timeout 1m -v
diff --git a/vendor/github.com/libvirt/libvirt-go-xml/domain.go b/vendor/github.com/libvirt/libvirt-go-xml/domain.go
index a5d32037..bead49a0 100644
--- a/vendor/github.com/libvirt/libvirt-go-xml/domain.go
+++ b/vendor/github.com/libvirt/libvirt-go-xml/domain.go
@@ -27,6 +27,7 @@ package libvirtxml
import (
"encoding/xml"
+ "strconv"
)
type DomainController struct {
@@ -281,15 +282,15 @@ type DomainAlias struct {
}
type DomainAddress struct {
- Type string `xml:"type,attr"`
- Controller *uint `xml:"controller,attr"`
- Domain *uint `xml:"domain,attr"`
- Bus *uint `xml:"bus,attr"`
- Port *uint `xml:"port,attr"`
- Slot *uint `xml:"slot,attr"`
- Function *uint `xml:"function,attr"`
- Target *uint `xml:"target,attr"`
- Unit *uint `xml:"unit,attr"`
+ Type string `xml:"type,attr"`
+ Controller *uint `xml:"controller,attr"`
+ Domain *HexUint `xml:"domain,attr"`
+ Bus *HexUint `xml:"bus,attr"`
+ Port *uint `xml:"port,attr"`
+ Slot *HexUint `xml:"slot,attr"`
+ Function *HexUint `xml:"function,attr"`
+ Target *uint `xml:"target,attr"`
+ Unit *uint `xml:"unit,attr"`
}
type DomainConsole struct {
@@ -792,3 +793,11 @@ func (d *DomainRNG) Marshal() (string, error) {
}
return string(doc), nil
}
+
+type HexUint uint
+
+func (h *HexUint) UnmarshalXMLAttr(attr xml.Attr) error {
+ val, err := strconv.ParseUint(attr.Value, 0, 32)
+ *h = HexUint(val)
+ return err
+}
diff --git a/vendor/github.com/libvirt/libvirt-go-xml/domain_test.go b/vendor/github.com/libvirt/libvirt-go-xml/domain_test.go
index 2af451f4..d1b107d6 100644
--- a/vendor/github.com/libvirt/libvirt-go-xml/domain_test.go
+++ b/vendor/github.com/libvirt/libvirt-go-xml/domain_test.go
@@ -31,10 +31,10 @@ import (
)
type Address struct {
- Domain uint
- Bus uint
- Slot uint
- Function uint
+ Domain HexUint
+ Bus HexUint
+ Slot HexUint
+ Function HexUint
}
var uhciIndex uint = 0
@@ -48,7 +48,7 @@ var balloonAddr = Address{0, 0, 7, 0}
var duplexAddr = Address{0, 0, 8, 0}
var serialPort uint = 0
-var tabletBus uint = 0
+var tabletBus HexUint = 0
var tabletPort uint = 1
var nicAverage int = 1000
diff --git a/vendor/github.com/libvirt/libvirt-go/.travis.yml b/vendor/github.com/libvirt/libvirt-go/.travis.yml
index 63c0c672..1bdb48f9 100644
--- a/vendor/github.com/libvirt/libvirt-go/.travis.yml
+++ b/vendor/github.com/libvirt/libvirt-go/.travis.yml
@@ -7,12 +7,15 @@ go:
- 1.5
- 1.6
- 1.7
+ - 1.8
+ - 1.9
env:
- LIBVIRT=1.2.0 EXT=gz
- LIBVIRT=1.2.10 EXT=gz
- LIBVIRT=1.2.20 EXT=gz
- LIBVIRT=2.5.0 EXT=xz
+ - LIBVIRT=3.6.0 EXT=xz
install:
- sudo apt-get -qqy build-dep libvirt
@@ -29,6 +32,7 @@ install:
- make
- sudo make install
- popd
+ - sudo cp libvirtd.sasl /etc/sasl2/libvirt.conf
- sudo libvirtd -d -l -f libvirtd.conf
- sudo virtlogd -d || true
- sudo chmod a+rwx /var/run/libvirt/libvirt-sock*
diff --git a/vendor/github.com/libvirt/libvirt-go/connect.go b/vendor/github.com/libvirt/libvirt-go/connect.go
index ac6c0fe6..3267a03b 100644
--- a/vendor/github.com/libvirt/libvirt-go/connect.go
+++ b/vendor/github.com/libvirt/libvirt-go/connect.go
@@ -308,6 +308,7 @@ func releaseConnectionData(c *Connect) {
delete(connections, c.ptr)
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virGetVersion
func GetVersion() (uint32, error) {
var version C.ulong
if err := C.virGetVersion(&version, nil, nil); err < 0 {
@@ -316,6 +317,7 @@ func GetVersion() (uint32, error) {
return uint32(version), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectOpen
func NewConnect(uri string) (*Connect, error) {
var cUri *C.char
if uri != "" {
@@ -378,6 +380,7 @@ func connectAuthCallback(ccredlist C.virConnectCredentialPtr, ncred C.uint, call
return 0
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectOpenAuth
func NewConnectWithAuth(uri string, auth *ConnectAuth, flags ConnectFlags) (*Connect, error) {
var cUri *C.char
@@ -402,6 +405,7 @@ func NewConnectWithAuth(uri string, auth *ConnectAuth, flags ConnectFlags) (*Con
return &Connect{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectOpenReadOnly
func NewConnectReadOnly(uri string) (*Connect, error) {
var cUri *C.char
if uri != "" {
@@ -415,6 +419,7 @@ func NewConnectReadOnly(uri string) (*Connect, error) {
return &Connect{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectClose
func (c *Connect) Close() (int, error) {
result := int(C.virConnectClose(c.ptr))
if result == -1 {
@@ -428,6 +433,7 @@ func (c *Connect) Close() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectRef
func (c *Connect) Ref() error {
ret := C.virConnectRef(c.ptr)
if ret == -1 {
@@ -441,6 +447,7 @@ type CloseCallback func(conn *Connect, reason ConnectCloseReason)
// Register a close callback for the given destination. Only one
// callback per connection is allowed. Setting a callback will remove
// the previous one.
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectRegisterCloseCallback
func (c *Connect) RegisterCloseCallback(callback CloseCallback) error {
c.UnregisterCloseCallback()
goCallbackId := registerCallbackId(callback)
@@ -455,6 +462,7 @@ func (c *Connect) RegisterCloseCallback(callback CloseCallback) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectUnregisterCloseCallback
func (c *Connect) UnregisterCloseCallback() error {
connData := getConnectionData(c)
if connData.closeCallbackId == nil {
@@ -479,6 +487,7 @@ func closeCallback(conn C.virConnectPtr, reason ConnectCloseReason, goCallbackId
callback(&Connect{ptr: conn}, reason)
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetCapabilities
func (c *Connect) GetCapabilities() (string, error) {
str := C.virConnectGetCapabilities(c.ptr)
if str == nil {
@@ -489,6 +498,7 @@ func (c *Connect) GetCapabilities() (string, error) {
return capabilities, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetInfo
func (c *Connect) GetNodeInfo() (*NodeInfo, error) {
var cinfo C.virNodeInfo
result := C.virNodeGetInfo(c.ptr, &cinfo)
@@ -511,6 +521,7 @@ func (ni *NodeInfo) GetMaxCPUs() uint32 {
return ni.Nodes * ni.Sockets * ni.Cores * ni.Threads
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetHostname
func (c *Connect) GetHostname() (string, error) {
str := C.virConnectGetHostname(c.ptr)
if str == nil {
@@ -521,6 +532,7 @@ func (c *Connect) GetHostname() (string, error) {
return hostname, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetLibVersion
func (c *Connect) GetLibVersion() (uint32, error) {
var version C.ulong
if err := C.virConnectGetLibVersion(c.ptr, &version); err < 0 {
@@ -529,6 +541,7 @@ func (c *Connect) GetLibVersion() (uint32, error) {
return uint32(version), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetType
func (c *Connect) GetType() (string, error) {
str := C.virConnectGetType(c.ptr)
if str == nil {
@@ -538,6 +551,7 @@ func (c *Connect) GetType() (string, error) {
return hypDriver, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectIsAlive
func (c *Connect) IsAlive() (bool, error) {
result := C.virConnectIsAlive(c.ptr)
if result == -1 {
@@ -549,6 +563,7 @@ func (c *Connect) IsAlive() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectIsEncrypted
func (c *Connect) IsEncrypted() (bool, error) {
result := C.virConnectIsEncrypted(c.ptr)
if result == -1 {
@@ -560,6 +575,7 @@ func (c *Connect) IsEncrypted() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectIsSecure
func (c *Connect) IsSecure() (bool, error) {
result := C.virConnectIsSecure(c.ptr)
if result == -1 {
@@ -571,6 +587,7 @@ func (c *Connect) IsSecure() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectListDefinedDomains
func (c *Connect) ListDefinedDomains() ([]string, error) {
var names [1024](*C.char)
namesPtr := unsafe.Pointer(&names)
@@ -589,6 +606,7 @@ func (c *Connect) ListDefinedDomains() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectListDomains
func (c *Connect) ListDomains() ([]uint32, error) {
var cDomainsIds [512](uint32)
cDomainsPointer := unsafe.Pointer(&cDomainsIds)
@@ -600,6 +618,7 @@ func (c *Connect) ListDomains() ([]uint32, error) {
return cDomainsIds[:numDomains], nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virConnectListInterfaces
func (c *Connect) ListInterfaces() ([]string, error) {
const maxIfaces = 1024
var names [maxIfaces](*C.char)
@@ -619,6 +638,7 @@ func (c *Connect) ListInterfaces() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virConnectListNetworks
func (c *Connect) ListNetworks() ([]string, error) {
const maxNets = 1024
var names [maxNets](*C.char)
@@ -638,6 +658,7 @@ func (c *Connect) ListNetworks() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virConnectListNWFilters
func (c *Connect) ListNWFilters() ([]string, error) {
const maxFilters = 1024
var names [maxFilters](*C.char)
@@ -657,6 +678,7 @@ func (c *Connect) ListNWFilters() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectListStoragePools
func (c *Connect) ListStoragePools() ([]string, error) {
const maxPools = 1024
var names [maxPools](*C.char)
@@ -676,6 +698,7 @@ func (c *Connect) ListStoragePools() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virConnectListSecrets
func (c *Connect) ListSecrets() ([]string, error) {
const maxSecrets = 1024
var uuids [maxSecrets](*C.char)
@@ -695,6 +718,7 @@ func (c *Connect) ListSecrets() ([]string, error) {
return goUuids, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeListDevices
func (c *Connect) ListDevices(cap string, flags uint32) ([]string, error) {
ccap := C.CString(cap)
defer C.free(unsafe.Pointer(ccap))
@@ -716,6 +740,7 @@ func (c *Connect) ListDevices(cap string, flags uint32) ([]string, error) {
return goUuids, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainLookupByID
func (c *Connect) LookupDomainById(id uint32) (*Domain, error) {
ptr := C.virDomainLookupByID(c.ptr, C.int(id))
if ptr == nil {
@@ -724,6 +749,7 @@ func (c *Connect) LookupDomainById(id uint32) (*Domain, error) {
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainLookupByName
func (c *Connect) LookupDomainByName(id string) (*Domain, error) {
cName := C.CString(id)
defer C.free(unsafe.Pointer(cName))
@@ -734,6 +760,7 @@ func (c *Connect) LookupDomainByName(id string) (*Domain, error) {
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainLookupByUUIDString
func (c *Connect) LookupDomainByUUIDString(uuid string) (*Domain, error) {
cUuid := C.CString(uuid)
defer C.free(unsafe.Pointer(cUuid))
@@ -744,6 +771,7 @@ func (c *Connect) LookupDomainByUUIDString(uuid string) (*Domain, error) {
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainLookupByUUID
func (c *Connect) LookupDomainByUUID(uuid []byte) (*Domain, error) {
if len(uuid) != C.VIR_UUID_BUFLEN {
return nil, fmt.Errorf("UUID must be exactly %d bytes in size",
@@ -760,6 +788,7 @@ func (c *Connect) LookupDomainByUUID(uuid []byte) (*Domain, error) {
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateXML
func (c *Connect) DomainCreateXML(xmlConfig string, flags DomainCreateFlags) (*Domain, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -770,6 +799,7 @@ func (c *Connect) DomainCreateXML(xmlConfig string, flags DomainCreateFlags) (*D
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateXMLWithFiles
func (c *Connect) DomainCreateXMLWithFiles(xmlConfig string, files []os.File, flags DomainCreateFlags) (*Domain, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -784,6 +814,7 @@ func (c *Connect) DomainCreateXMLWithFiles(xmlConfig string, files []os.File, fl
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDefineXML
func (c *Connect) DomainDefineXML(xmlConfig string) (*Domain, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -794,6 +825,7 @@ func (c *Connect) DomainDefineXML(xmlConfig string) (*Domain, error) {
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDefineXMLFlags
func (c *Connect) DomainDefineXMLFlags(xmlConfig string, flags DomainDefineFlags) (*Domain, error) {
if C.LIBVIR_VERSION_NUMBER < 1002012 {
return nil, GetNotImplementedError("virDomainDefineXMLFlags")
@@ -807,6 +839,7 @@ func (c *Connect) DomainDefineXMLFlags(xmlConfig string, flags DomainDefineFlags
return &Domain{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virConnectListDefinedInterfaces
func (c *Connect) ListDefinedInterfaces() ([]string, error) {
const maxIfaces = 1024
var names [maxIfaces](*C.char)
@@ -826,6 +859,7 @@ func (c *Connect) ListDefinedInterfaces() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virConnectListDefinedNetworks
func (c *Connect) ListDefinedNetworks() ([]string, error) {
const maxNets = 1024
var names [maxNets](*C.char)
@@ -845,6 +879,7 @@ func (c *Connect) ListDefinedNetworks() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectListDefinedStoragePools
func (c *Connect) ListDefinedStoragePools() ([]string, error) {
const maxPools = 1024
var names [maxPools](*C.char)
@@ -864,6 +899,7 @@ func (c *Connect) ListDefinedStoragePools() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectNumOfDefinedDomains
func (c *Connect) NumOfDefinedDomains() (int, error) {
result := int(C.virConnectNumOfDefinedDomains(c.ptr))
if result == -1 {
@@ -872,6 +908,7 @@ func (c *Connect) NumOfDefinedDomains() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virConnectNumOfDefinedInterfaces
func (c *Connect) NumOfDefinedInterfaces() (int, error) {
result := int(C.virConnectNumOfDefinedInterfaces(c.ptr))
if result == -1 {
@@ -880,6 +917,7 @@ func (c *Connect) NumOfDefinedInterfaces() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virConnectNumOfDefinedNetworks
func (c *Connect) NumOfDefinedNetworks() (int, error) {
result := int(C.virConnectNumOfDefinedNetworks(c.ptr))
if result == -1 {
@@ -888,6 +926,7 @@ func (c *Connect) NumOfDefinedNetworks() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectNumOfDefinedStoragePools
func (c *Connect) NumOfDefinedStoragePools() (int, error) {
result := int(C.virConnectNumOfDefinedStoragePools(c.ptr))
if result == -1 {
@@ -896,6 +935,7 @@ func (c *Connect) NumOfDefinedStoragePools() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectNumOfDomains
func (c *Connect) NumOfDomains() (int, error) {
result := int(C.virConnectNumOfDomains(c.ptr))
if result == -1 {
@@ -904,6 +944,7 @@ func (c *Connect) NumOfDomains() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectNumOfStoragePools
func (c *Connect) NumOfStoragePools() (int, error) {
result := int(C.virConnectNumOfStoragePools(c.ptr))
if result == -1 {
@@ -912,6 +953,7 @@ func (c *Connect) NumOfStoragePools() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virConnectNumOfInterfaces
func (c *Connect) NumOfInterfaces() (int, error) {
result := int(C.virConnectNumOfInterfaces(c.ptr))
if result == -1 {
@@ -920,6 +962,7 @@ func (c *Connect) NumOfInterfaces() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virConnectNumOfNetworks
func (c *Connect) NumOfNetworks() (int, error) {
result := int(C.virConnectNumOfNetworks(c.ptr))
if result == -1 {
@@ -928,6 +971,7 @@ func (c *Connect) NumOfNetworks() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virConnectNumOfNWFilters
func (c *Connect) NumOfNWFilters() (int, error) {
result := int(C.virConnectNumOfNWFilters(c.ptr))
if result == -1 {
@@ -936,6 +980,7 @@ func (c *Connect) NumOfNWFilters() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virConnectNumOfSecrets
func (c *Connect) NumOfSecrets() (int, error) {
result := int(C.virConnectNumOfSecrets(c.ptr))
if result == -1 {
@@ -944,6 +989,7 @@ func (c *Connect) NumOfSecrets() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeNumOfDevices
func (c *Connect) NumOfDevices(cap string, flags uint32) (int, error) {
ccap := C.CString(cap)
defer C.free(unsafe.Pointer(ccap))
@@ -954,6 +1000,7 @@ func (c *Connect) NumOfDevices(cap string, flags uint32) (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkDefineXML
func (c *Connect) NetworkDefineXML(xmlConfig string) (*Network, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -964,6 +1011,7 @@ func (c *Connect) NetworkDefineXML(xmlConfig string) (*Network, error) {
return &Network{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkCreateXML
func (c *Connect) NetworkCreateXML(xmlConfig string) (*Network, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -974,6 +1022,7 @@ func (c *Connect) NetworkCreateXML(xmlConfig string) (*Network, error) {
return &Network{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkLookupByName
func (c *Connect) LookupNetworkByName(name string) (*Network, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -984,6 +1033,7 @@ func (c *Connect) LookupNetworkByName(name string) (*Network, error) {
return &Network{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkLookupByUUIDString
func (c *Connect) LookupNetworkByUUIDString(uuid string) (*Network, error) {
cUuid := C.CString(uuid)
defer C.free(unsafe.Pointer(cUuid))
@@ -994,6 +1044,7 @@ func (c *Connect) LookupNetworkByUUIDString(uuid string) (*Network, error) {
return &Network{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkLookupByUUID
func (c *Connect) LookupNetworkByUUID(uuid []byte) (*Network, error) {
if len(uuid) != C.VIR_UUID_BUFLEN {
return nil, fmt.Errorf("UUID must be exactly %d bytes in size",
@@ -1010,6 +1061,7 @@ func (c *Connect) LookupNetworkByUUID(uuid []byte) (*Network, error) {
return &Network{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectSetKeepAlive
func (c *Connect) SetKeepAlive(interval int, count uint) error {
res := int(C.virConnectSetKeepAlive(c.ptr, C.int(interval), C.uint(count)))
switch res {
@@ -1020,6 +1072,7 @@ func (c *Connect) SetKeepAlive(interval int, count uint) error {
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetSysinfo
func (c *Connect) GetSysinfo(flags uint32) (string, error) {
cStr := C.virConnectGetSysinfo(c.ptr, C.uint(flags))
if cStr == nil {
@@ -1030,6 +1083,7 @@ func (c *Connect) GetSysinfo(flags uint32) (string, error) {
return info, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetURI
func (c *Connect) GetURI() (string, error) {
cStr := C.virConnectGetURI(c.ptr)
if cStr == nil {
@@ -1040,6 +1094,7 @@ func (c *Connect) GetURI() (string, error) {
return uri, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetMaxVcpus
func (c *Connect) GetMaxVcpus(typeAttr string) (int, error) {
var cTypeAttr *C.char
if typeAttr != "" {
@@ -1053,6 +1108,7 @@ func (c *Connect) GetMaxVcpus(typeAttr string) (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceDefineXML
func (c *Connect) InterfaceDefineXML(xmlConfig string, flags uint32) (*Interface, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1063,6 +1119,7 @@ func (c *Connect) InterfaceDefineXML(xmlConfig string, flags uint32) (*Interface
return &Interface{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceLookupByName
func (c *Connect) LookupInterfaceByName(name string) (*Interface, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -1073,6 +1130,7 @@ func (c *Connect) LookupInterfaceByName(name string) (*Interface, error) {
return &Interface{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceLookupByMACString
func (c *Connect) LookupInterfaceByMACString(mac string) (*Interface, error) {
cName := C.CString(mac)
defer C.free(unsafe.Pointer(cName))
@@ -1083,6 +1141,7 @@ func (c *Connect) LookupInterfaceByMACString(mac string) (*Interface, error) {
return &Interface{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolDefineXML
func (c *Connect) StoragePoolDefineXML(xmlConfig string, flags uint32) (*StoragePool, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1093,6 +1152,7 @@ func (c *Connect) StoragePoolDefineXML(xmlConfig string, flags uint32) (*Storage
return &StoragePool{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolCreateXML
func (c *Connect) StoragePoolCreateXML(xmlConfig string, flags StoragePoolCreateFlags) (*StoragePool, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1103,6 +1163,7 @@ func (c *Connect) StoragePoolCreateXML(xmlConfig string, flags StoragePoolCreate
return &StoragePool{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolLookupByName
func (c *Connect) LookupStoragePoolByName(name string) (*StoragePool, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -1113,6 +1174,7 @@ func (c *Connect) LookupStoragePoolByName(name string) (*StoragePool, error) {
return &StoragePool{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolLookupByUUIDString
func (c *Connect) LookupStoragePoolByUUIDString(uuid string) (*StoragePool, error) {
cUuid := C.CString(uuid)
defer C.free(unsafe.Pointer(cUuid))
@@ -1123,6 +1185,7 @@ func (c *Connect) LookupStoragePoolByUUIDString(uuid string) (*StoragePool, erro
return &StoragePool{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolLookupByUUID
func (c *Connect) LookupStoragePoolByUUID(uuid []byte) (*StoragePool, error) {
if len(uuid) != C.VIR_UUID_BUFLEN {
return nil, fmt.Errorf("UUID must be exactly %d bytes in size",
@@ -1139,6 +1202,7 @@ func (c *Connect) LookupStoragePoolByUUID(uuid []byte) (*StoragePool, error) {
return &StoragePool{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterDefineXML
func (c *Connect) NWFilterDefineXML(xmlConfig string) (*NWFilter, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1149,6 +1213,7 @@ func (c *Connect) NWFilterDefineXML(xmlConfig string) (*NWFilter, error) {
return &NWFilter{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterLookupByName
func (c *Connect) LookupNWFilterByName(name string) (*NWFilter, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -1159,6 +1224,7 @@ func (c *Connect) LookupNWFilterByName(name string) (*NWFilter, error) {
return &NWFilter{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterLookupByUUIDString
func (c *Connect) LookupNWFilterByUUIDString(uuid string) (*NWFilter, error) {
cUuid := C.CString(uuid)
defer C.free(unsafe.Pointer(cUuid))
@@ -1169,6 +1235,7 @@ func (c *Connect) LookupNWFilterByUUIDString(uuid string) (*NWFilter, error) {
return &NWFilter{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterLookupByUUID
func (c *Connect) LookupNWFilterByUUID(uuid []byte) (*NWFilter, error) {
if len(uuid) != C.VIR_UUID_BUFLEN {
return nil, fmt.Errorf("UUID must be exactly %d bytes in size",
@@ -1185,6 +1252,7 @@ func (c *Connect) LookupNWFilterByUUID(uuid []byte) (*NWFilter, error) {
return &NWFilter{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolLookupByKey
func (c *Connect) LookupStorageVolByKey(key string) (*StorageVol, error) {
cKey := C.CString(key)
defer C.free(unsafe.Pointer(cKey))
@@ -1195,6 +1263,7 @@ func (c *Connect) LookupStorageVolByKey(key string) (*StorageVol, error) {
return &StorageVol{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolLookupByPath
func (c *Connect) LookupStorageVolByPath(path string) (*StorageVol, error) {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
@@ -1205,6 +1274,7 @@ func (c *Connect) LookupStorageVolByPath(path string) (*StorageVol, error) {
return &StorageVol{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretDefineXML
func (c *Connect) SecretDefineXML(xmlConfig string, flags uint32) (*Secret, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1215,6 +1285,7 @@ func (c *Connect) SecretDefineXML(xmlConfig string, flags uint32) (*Secret, erro
return &Secret{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretLookupByUUID
func (c *Connect) LookupSecretByUUID(uuid []byte) (*Secret, error) {
if len(uuid) != C.VIR_UUID_BUFLEN {
return nil, fmt.Errorf("UUID must be exactly %d bytes in size",
@@ -1231,6 +1302,7 @@ func (c *Connect) LookupSecretByUUID(uuid []byte) (*Secret, error) {
return &Secret{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretLookupByUUIDString
func (c *Connect) LookupSecretByUUIDString(uuid string) (*Secret, error) {
cUuid := C.CString(uuid)
defer C.free(unsafe.Pointer(cUuid))
@@ -1241,6 +1313,7 @@ func (c *Connect) LookupSecretByUUIDString(uuid string) (*Secret, error) {
return &Secret{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretLookupByUsage
func (c *Connect) LookupSecretByUsage(usageType SecretUsageType, usageID string) (*Secret, error) {
cUsageID := C.CString(usageID)
defer C.free(unsafe.Pointer(cUsageID))
@@ -1251,6 +1324,7 @@ func (c *Connect) LookupSecretByUsage(usageType SecretUsageType, usageID string)
return &Secret{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceLookupByName
func (c *Connect) LookupDeviceByName(id string) (*NodeDevice, error) {
cName := C.CString(id)
defer C.free(unsafe.Pointer(cName))
@@ -1261,6 +1335,7 @@ func (c *Connect) LookupDeviceByName(id string) (*NodeDevice, error) {
return &NodeDevice{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceLookupSCSIHostByWWN
func (c *Connect) LookupDeviceSCSIHostByWWN(wwnn, wwpn string, flags uint32) (*NodeDevice, error) {
cWwnn := C.CString(wwnn)
cWwpn := C.CString(wwpn)
@@ -1273,6 +1348,7 @@ func (c *Connect) LookupDeviceSCSIHostByWWN(wwnn, wwpn string, flags uint32) (*N
return &NodeDevice{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceCreateXML
func (c *Connect) DeviceCreateXML(xmlConfig string, flags uint32) (*NodeDevice, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -1283,6 +1359,7 @@ func (c *Connect) DeviceCreateXML(xmlConfig string, flags uint32) (*NodeDevice,
return &NodeDevice{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virConnectListAllInterfaces
func (c *Connect) ListAllInterfaces(flags ConnectListAllInterfacesFlags) ([]Interface, error) {
var cList *C.virInterfacePtr
numIfaces := C.virConnectListAllInterfaces(c.ptr, (**C.virInterfacePtr)(&cList), C.uint(flags))
@@ -1303,6 +1380,7 @@ func (c *Connect) ListAllInterfaces(flags ConnectListAllInterfacesFlags) ([]Inte
return ifaces, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virConnectListAllNetworks
func (c *Connect) ListAllNetworks(flags ConnectListAllNetworksFlags) ([]Network, error) {
var cList *C.virNetworkPtr
numNets := C.virConnectListAllNetworks(c.ptr, (**C.virNetworkPtr)(&cList), C.uint(flags))
@@ -1323,6 +1401,7 @@ func (c *Connect) ListAllNetworks(flags ConnectListAllNetworksFlags) ([]Network,
return nets, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectListAllDomains
func (c *Connect) ListAllDomains(flags ConnectListAllDomainsFlags) ([]Domain, error) {
var cList *C.virDomainPtr
numDomains := C.virConnectListAllDomains(c.ptr, (**C.virDomainPtr)(&cList), C.uint(flags))
@@ -1343,6 +1422,7 @@ func (c *Connect) ListAllDomains(flags ConnectListAllDomainsFlags) ([]Domain, er
return domains, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virConnectListAllNWFilters
func (c *Connect) ListAllNWFilters(flags uint32) ([]NWFilter, error) {
var cList *C.virNWFilterPtr
numNWFilters := C.virConnectListAllNWFilters(c.ptr, (**C.virNWFilterPtr)(&cList), C.uint(flags))
@@ -1363,6 +1443,7 @@ func (c *Connect) ListAllNWFilters(flags uint32) ([]NWFilter, error) {
return filters, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectListAllStoragePools
func (c *Connect) ListAllStoragePools(flags ConnectListAllStoragePoolsFlags) ([]StoragePool, error) {
var cList *C.virStoragePoolPtr
numPools := C.virConnectListAllStoragePools(c.ptr, (**C.virStoragePoolPtr)(&cList), C.uint(flags))
@@ -1383,6 +1464,7 @@ func (c *Connect) ListAllStoragePools(flags ConnectListAllStoragePoolsFlags) ([]
return pools, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virConnectListAllSecrets
func (c *Connect) ListAllSecrets(flags ConnectListAllSecretsFlags) ([]Secret, error) {
var cList *C.virSecretPtr
numPools := C.virConnectListAllSecrets(c.ptr, (**C.virSecretPtr)(&cList), C.uint(flags))
@@ -1403,6 +1485,7 @@ func (c *Connect) ListAllSecrets(flags ConnectListAllSecretsFlags) ([]Secret, er
return pools, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virConnectListAllNodeDevices
func (c *Connect) ListAllNodeDevices(flags ConnectListAllNodeDeviceFlags) ([]NodeDevice, error) {
var cList *C.virNodeDevicePtr
numPools := C.virConnectListAllNodeDevices(c.ptr, (**C.virNodeDevicePtr)(&cList), C.uint(flags))
@@ -1423,6 +1506,7 @@ func (c *Connect) ListAllNodeDevices(flags ConnectListAllNodeDeviceFlags) ([]Nod
return pools, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceChangeBegin
func (c *Connect) InterfaceChangeBegin(flags uint32) error {
ret := C.virInterfaceChangeBegin(c.ptr, C.uint(flags))
if ret == -1 {
@@ -1431,6 +1515,7 @@ func (c *Connect) InterfaceChangeBegin(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceChangeCommit
func (c *Connect) InterfaceChangeCommit(flags uint32) error {
ret := C.virInterfaceChangeCommit(c.ptr, C.uint(flags))
if ret == -1 {
@@ -1439,6 +1524,7 @@ func (c *Connect) InterfaceChangeCommit(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceChangeRollback
func (c *Connect) InterfaceChangeRollback(flags uint32) error {
ret := C.virInterfaceChangeRollback(c.ptr, C.uint(flags))
if ret == -1 {
@@ -1447,6 +1533,7 @@ func (c *Connect) InterfaceChangeRollback(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeAllocPages
func (c *Connect) AllocPages(pageSizes map[int]int64, startCell int, cellCount uint, flags NodeAllocPagesFlags) (int, error) {
if C.LIBVIR_VERSION_NUMBER < 1002009 {
return 0, GetNotImplementedError("virNodeAllocPages")
@@ -1470,6 +1557,7 @@ func (c *Connect) AllocPages(pageSizes map[int]int64, startCell int, cellCount u
return int(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetCPUMap
func (c *Connect) GetCPUMap(flags uint32) (map[int]bool, uint, error) {
var ccpumap *C.uchar
var conline C.uint
@@ -1507,6 +1595,7 @@ type NodeCPUStats struct {
Utilization uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetCPUStats
func (c *Connect) GetCPUStats(cpuNum int, flags uint32) (*NodeCPUStats, error) {
var nparams C.int
@@ -1550,6 +1639,7 @@ func (c *Connect) GetCPUStats(cpuNum int, flags uint32) (*NodeCPUStats, error) {
return stats, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetCellsFreeMemory
func (c *Connect) GetCellsFreeMemory(startCell int, maxCells int) ([]uint64, error) {
cmem := make([]C.ulonglong, maxCells)
ret := C.virNodeGetCellsFreeMemory(c.ptr, (*C.ulonglong)(unsafe.Pointer(&cmem[0])), C.int(startCell), C.int(maxCells))
@@ -1565,6 +1655,7 @@ func (c *Connect) GetCellsFreeMemory(startCell int, maxCells int) ([]uint64, err
return mem, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetFreeMemory
func (c *Connect) GetFreeMemory() (uint64, error) {
ret := C.virNodeGetFreeMemory(c.ptr)
if ret == 0 {
@@ -1574,6 +1665,7 @@ func (c *Connect) GetFreeMemory() (uint64, error) {
return (uint64)(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetFreePages
func (c *Connect) GetFreePages(pageSizes []uint64, startCell int, maxCells uint, flags uint32) ([]uint64, error) {
if C.LIBVIR_VERSION_NUMBER < 1002006 {
return []uint64{}, GetNotImplementedError("virNodeGetFreePages")
@@ -1655,6 +1747,7 @@ func getMemoryParameterFieldInfo(params *NodeMemoryParameters) map[string]typedP
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetMemoryParameters
func (c *Connect) GetMemoryParameters(flags uint32) (*NodeMemoryParameters, error) {
params := &NodeMemoryParameters{}
info := getMemoryParameterFieldInfo(params)
@@ -1693,6 +1786,7 @@ type NodeMemoryStats struct {
Cached uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetMemoryStats
func (c *Connect) GetMemoryStats(cellNum int, flags uint32) (*NodeMemoryStats, error) {
var nparams C.int
@@ -1735,6 +1829,7 @@ type NodeSecurityModel struct {
Doi string
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeGetSecurityModel
func (c *Connect) GetSecurityModel() (*NodeSecurityModel, error) {
var cmodel C.virSecurityModel
ret := C.virNodeGetSecurityModel(c.ptr, &cmodel)
@@ -1748,6 +1843,7 @@ func (c *Connect) GetSecurityModel() (*NodeSecurityModel, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeSetMemoryParameters
func (c *Connect) SetMemoryParameters(params *NodeMemoryParameters, flags uint32) error {
info := getMemoryParameterFieldInfo(params)
@@ -1776,6 +1872,7 @@ func (c *Connect) SetMemoryParameters(params *NodeMemoryParameters, flags uint32
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virNodeSuspendForDuration
func (c *Connect) SuspendForDuration(target NodeSuspendTarget, duration uint64, flags uint32) error {
ret := C.virNodeSuspendForDuration(c.ptr, C.uint(target), C.ulonglong(duration), C.uint(flags))
if ret == -1 {
@@ -1784,6 +1881,7 @@ func (c *Connect) SuspendForDuration(target NodeSuspendTarget, duration uint64,
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSaveImageDefineXML
func (c *Connect) DomainSaveImageDefineXML(file string, xml string, flags DomainSaveRestoreFlags) error {
cfile := C.CString(file)
defer C.free(unsafe.Pointer(cfile))
@@ -1799,6 +1897,7 @@ func (c *Connect) DomainSaveImageDefineXML(file string, xml string, flags Domain
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSaveImageGetXMLDesc
func (c *Connect) DomainSaveImageGetXMLDesc(file string, flags DomainXMLFlags) (string, error) {
cfile := C.CString(file)
defer C.free(unsafe.Pointer(cfile))
@@ -1814,6 +1913,7 @@ func (c *Connect) DomainSaveImageGetXMLDesc(file string, flags DomainXMLFlags) (
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectBaselineCPU
func (c *Connect) BaselineCPU(xmlCPUs []string, flags ConnectBaselineCPUFlags) (string, error) {
cxmlCPUs := make([]*C.char, len(xmlCPUs))
for i := 0; i < len(xmlCPUs); i++ {
@@ -1831,6 +1931,7 @@ func (c *Connect) BaselineCPU(xmlCPUs []string, flags ConnectBaselineCPUFlags) (
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectCompareCPU
func (c *Connect) CompareCPU(xmlDesc string, flags ConnectCompareCPUFlags) (CPUCompareResult, error) {
cxmlDesc := C.CString(xmlDesc)
defer C.free(unsafe.Pointer(cxmlDesc))
@@ -1843,6 +1944,7 @@ func (c *Connect) CompareCPU(xmlDesc string, flags ConnectCompareCPUFlags) (CPUC
return CPUCompareResult(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectDomainXMLFromNative
func (c *Connect) DomainXMLFromNative(nativeFormat string, nativeConfig string, flags uint32) (string, error) {
cnativeFormat := C.CString(nativeFormat)
defer C.free(unsafe.Pointer(cnativeFormat))
@@ -1859,6 +1961,7 @@ func (c *Connect) DomainXMLFromNative(nativeFormat string, nativeConfig string,
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectDomainXMLToNative
func (c *Connect) DomainXMLToNative(nativeFormat string, domainXml string, flags uint32) (string, error) {
cnativeFormat := C.CString(nativeFormat)
defer C.free(unsafe.Pointer(cnativeFormat))
@@ -1875,6 +1978,7 @@ func (c *Connect) DomainXMLToNative(nativeFormat string, domainXml string, flags
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetCPUModelNames
func (c *Connect) GetCPUModelNames(arch string, flags uint32) ([]string, error) {
carch := C.CString(arch)
defer C.free(unsafe.Pointer(carch))
@@ -1897,6 +2001,7 @@ func (c *Connect) GetCPUModelNames(arch string, flags uint32) ([]string, error)
return models, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectGetDomainCapabilities
func (c *Connect) GetDomainCapabilities(emulatorbin string, arch string, machine string, virttype string, flags uint32) (string, error) {
if C.LIBVIR_VERSION_NUMBER < 1002007 {
return "", GetNotImplementedError("virConnectGetDomainCapabilities")
@@ -1932,6 +2037,7 @@ func (c *Connect) GetDomainCapabilities(emulatorbin string, arch string, machine
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-host.html#virConnectGetVersion
func (c *Connect) GetVersion() (uint32, error) {
var hvVer C.ulong
ret := C.virConnectGetVersion(c.ptr, &hvVer)
@@ -1942,6 +2048,7 @@ func (c *Connect) GetVersion() (uint32, error) {
return uint32(hvVer), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virConnectFindStoragePoolSources
func (c *Connect) FindStoragePoolSources(pooltype string, srcSpec string, flags uint32) (string, error) {
cpooltype := C.CString(pooltype)
defer C.free(unsafe.Pointer(cpooltype))
@@ -1960,6 +2067,7 @@ func (c *Connect) FindStoragePoolSources(pooltype string, srcSpec string, flags
return C.GoString(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainRestore
func (c *Connect) DomainRestore(srcFile string) error {
cPath := C.CString(srcFile)
defer C.free(unsafe.Pointer(cPath))
@@ -1969,6 +2077,7 @@ func (c *Connect) DomainRestore(srcFile string) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainRestoreFlags
func (c *Connect) DomainRestoreFlags(srcFile, xmlConf string, flags DomainSaveRestoreFlags) error {
cPath := C.CString(srcFile)
defer C.free(unsafe.Pointer(cPath))
@@ -1983,6 +2092,7 @@ func (c *Connect) DomainRestoreFlags(srcFile, xmlConf string, flags DomainSaveRe
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamNew
func (c *Connect) NewStream(flags StreamFlags) (*Stream, error) {
virStream := C.virStreamNew(c.ptr, C.uint(flags))
if virStream == nil {
@@ -2423,6 +2533,7 @@ func getDomainStatsLengthsFieldInfo(params *domainStatsLengths) map[string]typed
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virConnectGetAllDomainStats
func (c *Connect) GetAllDomainStats(doms []*Domain, statsTypes DomainStatsTypes, flags ConnectGetAllDomainStatsFlags) ([]DomainStats, error) {
if C.LIBVIR_VERSION_NUMBER < 1002008 {
return []DomainStats{}, GetNotImplementedError("virConnectGetAllDomainStats")
diff --git a/vendor/github.com/libvirt/libvirt-go/domain.go b/vendor/github.com/libvirt/libvirt-go/domain.go
index cc786dde..b83bfc3e 100644
--- a/vendor/github.com/libvirt/libvirt-go/domain.go
+++ b/vendor/github.com/libvirt/libvirt-go/domain.go
@@ -856,6 +856,7 @@ type DomainVcpuInfo struct {
CpuMap []bool
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainFree
func (d *Domain) Free() error {
ret := C.virDomainFree(d.ptr)
if ret == -1 {
@@ -864,6 +865,7 @@ func (d *Domain) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainRef
func (c *Domain) Ref() error {
ret := C.virDomainRef(c.ptr)
if ret == -1 {
@@ -872,6 +874,7 @@ func (c *Domain) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreate
func (d *Domain) Create() error {
result := C.virDomainCreate(d.ptr)
if result == -1 {
@@ -880,6 +883,7 @@ func (d *Domain) Create() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateWithFlags
func (d *Domain) CreateWithFlags(flags DomainCreateFlags) error {
result := C.virDomainCreateWithFlags(d.ptr, C.uint(flags))
if result == -1 {
@@ -888,6 +892,7 @@ func (d *Domain) CreateWithFlags(flags DomainCreateFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCreateWithFiles
func (d *Domain) CreateWithFiles(files []os.File, flags DomainCreateFlags) error {
cfiles := make([]C.int, len(files))
for i := 0; i < len(files); i++ {
@@ -900,6 +905,7 @@ func (d *Domain) CreateWithFiles(files []os.File, flags DomainCreateFlags) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDestroy
func (d *Domain) Destroy() error {
result := C.virDomainDestroy(d.ptr)
if result == -1 {
@@ -908,6 +914,7 @@ func (d *Domain) Destroy() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdown
func (d *Domain) Shutdown() error {
result := C.virDomainShutdown(d.ptr)
if result == -1 {
@@ -916,6 +923,7 @@ func (d *Domain) Shutdown() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReboot
func (d *Domain) Reboot(flags DomainRebootFlagValues) error {
result := C.virDomainReboot(d.ptr, C.uint(flags))
if result == -1 {
@@ -924,6 +932,7 @@ func (d *Domain) Reboot(flags DomainRebootFlagValues) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsActive
func (d *Domain) IsActive() (bool, error) {
result := C.virDomainIsActive(d.ptr)
if result == -1 {
@@ -935,6 +944,7 @@ func (d *Domain) IsActive() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsPersistent
func (d *Domain) IsPersistent() (bool, error) {
result := C.virDomainIsPersistent(d.ptr)
if result == -1 {
@@ -946,6 +956,7 @@ func (d *Domain) IsPersistent() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainIsUpdated
func (d *Domain) IsUpdated() (bool, error) {
result := C.virDomainIsUpdated(d.ptr)
if result == -1 {
@@ -957,6 +968,7 @@ func (d *Domain) IsUpdated() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetAutostart
func (d *Domain) SetAutostart(autostart bool) error {
var cAutostart C.int
switch autostart {
@@ -972,6 +984,7 @@ func (d *Domain) SetAutostart(autostart bool) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetAutostart
func (d *Domain) GetAutostart() (bool, error) {
var out C.int
result := C.virDomainGetAutostart(d.ptr, (*C.int)(unsafe.Pointer(&out)))
@@ -986,6 +999,7 @@ func (d *Domain) GetAutostart() (bool, error) {
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetBlockInfo
func (d *Domain) GetBlockInfo(disk string, flag uint) (*DomainBlockInfo, error) {
var cinfo C.virDomainBlockInfo
cDisk := C.CString(disk)
@@ -1002,6 +1016,7 @@ func (d *Domain) GetBlockInfo(disk string, flag uint) (*DomainBlockInfo, error)
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetName
func (d *Domain) GetName() (string, error) {
name := C.virDomainGetName(d.ptr)
if name == nil {
@@ -1010,6 +1025,7 @@ func (d *Domain) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetState
func (d *Domain) GetState() (DomainState, int, error) {
var cState C.int
var cReason C.int
@@ -1023,6 +1039,7 @@ func (d *Domain) GetState() (DomainState, int, error) {
return DomainState(cState), int(cReason), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetID
func (d *Domain) GetID() (uint, error) {
id := uint(C.virDomainGetID(d.ptr))
if id == ^uint(0) {
@@ -1031,6 +1048,7 @@ func (d *Domain) GetID() (uint, error) {
return id, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUID
func (d *Domain) GetUUID() ([]byte, error) {
var cUuid [C.VIR_UUID_BUFLEN](byte)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -1041,6 +1059,7 @@ func (d *Domain) GetUUID() ([]byte, error) {
return C.GoBytes(cuidPtr, C.VIR_UUID_BUFLEN), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetUUIDString
func (d *Domain) GetUUIDString() (string, error) {
var cUuid [C.VIR_UUID_STRING_BUFLEN](C.char)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -1051,6 +1070,7 @@ func (d *Domain) GetUUIDString() (string, error) {
return C.GoString((*C.char)(cuidPtr)), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetInfo
func (d *Domain) GetInfo() (*DomainInfo, error) {
var cinfo C.virDomainInfo
result := C.virDomainGetInfo(d.ptr, &cinfo)
@@ -1066,6 +1086,7 @@ func (d *Domain) GetInfo() (*DomainInfo, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetXMLDesc
func (d *Domain) GetXMLDesc(flags DomainXMLFlags) (string, error) {
result := C.virDomainGetXMLDesc(d.ptr, C.uint(flags))
if result == nil {
@@ -1108,6 +1129,7 @@ func getCPUStatsFieldInfo(params *DomainCPUStats) map[string]typedParamsFieldInf
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetCPUStats
func (d *Domain) GetCPUStats(startCpu int, nCpus uint, flags uint32) ([]DomainCPUStats, error) {
if nCpus == 0 {
if startCpu == -1 {
@@ -1205,6 +1227,7 @@ func getInterfaceParameterFieldInfo(params *DomainInterfaceParameters) map[strin
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetInterfaceParameters
func (d *Domain) GetInterfaceParameters(device string, flags DomainModificationImpact) (*DomainInterfaceParameters, error) {
params := &DomainInterfaceParameters{}
info := getInterfaceParameterFieldInfo(params)
@@ -1234,6 +1257,7 @@ func (d *Domain) GetInterfaceParameters(device string, flags DomainModificationI
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetInterfaceParameters
func (d *Domain) SetInterfaceParameters(device string, params *DomainInterfaceParameters, flags DomainModificationImpact) error {
info := getInterfaceParameterFieldInfo(params)
@@ -1264,6 +1288,7 @@ func (d *Domain) SetInterfaceParameters(device string, params *DomainInterfacePa
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetMetadata
func (d *Domain) GetMetadata(tipus DomainMetadataType, uri string, flags DomainModificationImpact) (string, error) {
var cUri *C.char
if uri != "" {
@@ -1280,6 +1305,7 @@ func (d *Domain) GetMetadata(tipus DomainMetadataType, uri string, flags DomainM
return C.GoString(result), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMetadata
func (d *Domain) SetMetadata(metaDataType DomainMetadataType, metaDataCont, uriKey, uri string, flags DomainModificationImpact) error {
var cMetaDataCont *C.char
var cUriKey *C.char
@@ -1305,6 +1331,7 @@ func (d *Domain) SetMetadata(metaDataType DomainMetadataType, metaDataCont, uriK
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUndefine
func (d *Domain) Undefine() error {
result := C.virDomainUndefine(d.ptr)
if result == -1 {
@@ -1313,6 +1340,7 @@ func (d *Domain) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUndefineFlags
func (d *Domain) UndefineFlags(flags DomainUndefineFlagsValues) error {
result := C.virDomainUndefineFlags(d.ptr, C.uint(flags))
if result == -1 {
@@ -1321,6 +1349,7 @@ func (d *Domain) UndefineFlags(flags DomainUndefineFlagsValues) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMaxMemory
func (d *Domain) SetMaxMemory(memory uint) error {
result := C.virDomainSetMaxMemory(d.ptr, C.ulong(memory))
if result == -1 {
@@ -1329,6 +1358,7 @@ func (d *Domain) SetMaxMemory(memory uint) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMemory
func (d *Domain) SetMemory(memory uint64) error {
result := C.virDomainSetMemory(d.ptr, C.ulong(memory))
if result == -1 {
@@ -1337,6 +1367,7 @@ func (d *Domain) SetMemory(memory uint64) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMemoryFlags
func (d *Domain) SetMemoryFlags(memory uint64, flags DomainMemoryModFlags) error {
result := C.virDomainSetMemoryFlags(d.ptr, C.ulong(memory), C.uint(flags))
if result == -1 {
@@ -1345,6 +1376,7 @@ func (d *Domain) SetMemoryFlags(memory uint64, flags DomainMemoryModFlags) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMemoryStatsPeriod
func (d *Domain) SetMemoryStatsPeriod(period int, flags DomainMemoryModFlags) error {
result := C.virDomainSetMemoryStatsPeriod(d.ptr, C.int(period), C.uint(flags))
if result == -1 {
@@ -1353,6 +1385,7 @@ func (d *Domain) SetMemoryStatsPeriod(period int, flags DomainMemoryModFlags) er
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetVcpus
func (d *Domain) SetVcpus(vcpu uint) error {
result := C.virDomainSetVcpus(d.ptr, C.uint(vcpu))
if result == -1 {
@@ -1361,6 +1394,7 @@ func (d *Domain) SetVcpus(vcpu uint) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetVcpusFlags
func (d *Domain) SetVcpusFlags(vcpu uint, flags DomainVcpuFlags) error {
result := C.virDomainSetVcpusFlags(d.ptr, C.uint(vcpu), C.uint(flags))
if result == -1 {
@@ -1369,6 +1403,7 @@ func (d *Domain) SetVcpusFlags(vcpu uint, flags DomainVcpuFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSuspend
func (d *Domain) Suspend() error {
result := C.virDomainSuspend(d.ptr)
if result == -1 {
@@ -1377,6 +1412,7 @@ func (d *Domain) Suspend() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainResume
func (d *Domain) Resume() error {
result := C.virDomainResume(d.ptr)
if result == -1 {
@@ -1385,6 +1421,7 @@ func (d *Domain) Resume() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainAbortJob
func (d *Domain) AbortJob() error {
result := C.virDomainAbortJob(d.ptr)
if result == -1 {
@@ -1393,6 +1430,7 @@ func (d *Domain) AbortJob() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDestroyFlags
func (d *Domain) DestroyFlags(flags DomainDestroyFlags) error {
result := C.virDomainDestroyFlags(d.ptr, C.uint(flags))
if result == -1 {
@@ -1401,6 +1439,7 @@ func (d *Domain) DestroyFlags(flags DomainDestroyFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainShutdownFlags
func (d *Domain) ShutdownFlags(flags DomainShutdownFlags) error {
result := C.virDomainShutdownFlags(d.ptr, C.uint(flags))
if result == -1 {
@@ -1409,6 +1448,7 @@ func (d *Domain) ShutdownFlags(flags DomainShutdownFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainAttachDevice
func (d *Domain) AttachDevice(xml string) error {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -1419,6 +1459,7 @@ func (d *Domain) AttachDevice(xml string) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainAttachDeviceFlags
func (d *Domain) AttachDeviceFlags(xml string, flags DomainDeviceModifyFlags) error {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -1429,6 +1470,7 @@ func (d *Domain) AttachDeviceFlags(xml string, flags DomainDeviceModifyFlags) er
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDetachDevice
func (d *Domain) DetachDevice(xml string) error {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -1439,6 +1481,7 @@ func (d *Domain) DetachDevice(xml string) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDetachDeviceFlags
func (d *Domain) DetachDeviceFlags(xml string, flags DomainDeviceModifyFlags) error {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -1449,6 +1492,7 @@ func (d *Domain) DetachDeviceFlags(xml string, flags DomainDeviceModifyFlags) er
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainUpdateDeviceFlags
func (d *Domain) UpdateDeviceFlags(xml string, flags DomainDeviceModifyFlags) error {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -1459,6 +1503,7 @@ func (d *Domain) UpdateDeviceFlags(xml string, flags DomainDeviceModifyFlags) er
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainScreenshot
func (d *Domain) Screenshot(stream *Stream, screen, flags uint32) (string, error) {
cType := C.virDomainScreenshot(d.ptr, stream.ptr, C.uint(screen), C.uint(flags))
if cType == nil {
@@ -1470,6 +1515,7 @@ func (d *Domain) Screenshot(stream *Stream, screen, flags uint32) (string, error
return mimeType, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSendKey
func (d *Domain) SendKey(codeset, holdtime uint, keycodes []uint, flags uint32) error {
result := C.virDomainSendKey(d.ptr, C.uint(codeset), C.uint(holdtime), (*C.uint)(unsafe.Pointer(&keycodes[0])), C.int(len(keycodes)), C.uint(flags))
if result == -1 {
@@ -1541,6 +1587,7 @@ func getBlockStatsFieldInfo(params *DomainBlockStats) map[string]typedParamsFiel
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockStatsFlags
func (d *Domain) BlockStatsFlags(disk string, flags uint32) (*DomainBlockStats, error) {
params := &DomainBlockStats{}
info := getBlockStatsFieldInfo(params)
@@ -1570,6 +1617,7 @@ func (d *Domain) BlockStatsFlags(disk string, flags uint32) (*DomainBlockStats,
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockStats
func (d *Domain) BlockStats(path string) (*DomainBlockStats, error) {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
@@ -1615,6 +1663,7 @@ type DomainInterfaceStats struct {
TxDrop int64
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainInterfaceStats
func (d *Domain) InterfaceStats(path string) (*DomainInterfaceStats, error) {
cPath := C.CString(path)
defer C.free(unsafe.Pointer(cPath))
@@ -1649,6 +1698,7 @@ func (d *Domain) InterfaceStats(path string) (*DomainInterfaceStats, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMemoryStats
func (d *Domain) MemoryStats(nrStats uint32, flags uint32) ([]DomainMemoryStat, error) {
ptr := make([]C.virDomainMemoryStatStruct, nrStats)
@@ -1670,6 +1720,7 @@ func (d *Domain) MemoryStats(nrStats uint32, flags uint32) ([]DomainMemoryStat,
return out, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpus
func (d *Domain) GetVcpus() ([]DomainVcpuInfo, error) {
var cnodeinfo C.virNodeInfo
ret := C.virNodeGetInfo(C.virDomainGetConnect(d.ptr), &cnodeinfo)
@@ -1716,6 +1767,7 @@ func (d *Domain) GetVcpus() ([]DomainVcpuInfo, error) {
return info, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpusFlags
func (d *Domain) GetVcpusFlags(flags DomainVcpuFlags) (int32, error) {
result := C.virDomainGetVcpusFlags(d.ptr, C.uint(flags))
if result == -1 {
@@ -1724,6 +1776,7 @@ func (d *Domain) GetVcpusFlags(flags DomainVcpuFlags) (int32, error) {
return int32(result), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPinVcpu
func (d *Domain) PinVcpu(vcpu uint, cpuMap []bool) error {
maplen := (len(cpuMap) + 7) / 8
ccpumap := make([]C.uchar, maplen)
@@ -1744,6 +1797,7 @@ func (d *Domain) PinVcpu(vcpu uint, cpuMap []bool) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPinVcpuFlags
func (d *Domain) PinVcpuFlags(vcpu uint, cpuMap []bool, flags DomainModificationImpact) error {
maplen := (len(cpuMap) + 7) / 8
ccpumap := make([]C.uchar, maplen)
@@ -1776,6 +1830,7 @@ type DomainInterface struct {
Addrs []DomainIPAddress
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainInterfaceAddresses
func (d *Domain) ListAllInterfaceAddresses(src DomainInterfaceAddressesSource) ([]DomainInterface, error) {
if C.LIBVIR_VERSION_NUMBER < 1002014 {
return []DomainInterface{}, GetNotImplementedError("virDomainInterfaceAddresses")
@@ -1815,6 +1870,7 @@ func (d *Domain) ListAllInterfaceAddresses(src DomainInterfaceAddressesSource) (
return ifaces, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotCurrent
func (d *Domain) SnapshotCurrent(flags uint32) (*DomainSnapshot, error) {
result := C.virDomainSnapshotCurrent(d.ptr, C.uint(flags))
if result == nil {
@@ -1824,6 +1880,7 @@ func (d *Domain) SnapshotCurrent(flags uint32) (*DomainSnapshot, error) {
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotNum
func (d *Domain) SnapshotNum(flags DomainSnapshotListFlags) (int, error) {
result := int(C.virDomainSnapshotNum(d.ptr, C.uint(flags)))
if result == -1 {
@@ -1832,6 +1889,7 @@ func (d *Domain) SnapshotNum(flags DomainSnapshotListFlags) (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotLookupByName
func (d *Domain) SnapshotLookupByName(name string, flags uint32) (*DomainSnapshot, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -1842,6 +1900,7 @@ func (d *Domain) SnapshotLookupByName(name string, flags uint32) (*DomainSnapsho
return &DomainSnapshot{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotListNames
func (d *Domain) SnapshotListNames(flags DomainSnapshotListFlags) ([]string, error) {
const maxNames = 1024
var names [maxNames](*C.char)
@@ -1861,6 +1920,7 @@ func (d *Domain) SnapshotListNames(flags DomainSnapshotListFlags) ([]string, err
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainListAllSnapshots
func (d *Domain) ListAllSnapshots(flags DomainSnapshotListFlags) ([]DomainSnapshot, error) {
var cList *C.virDomainSnapshotPtr
numVols := C.virDomainListAllSnapshots(d.ptr, (**C.virDomainSnapshotPtr)(&cList), C.uint(flags))
@@ -1881,6 +1941,7 @@ func (d *Domain) ListAllSnapshots(flags DomainSnapshotListFlags) ([]DomainSnapsh
return pools, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockCommit
func (d *Domain) BlockCommit(disk string, base string, top string, bandwidth uint64, flags DomainBlockCommitFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -1927,6 +1988,7 @@ func getBlockCopyParameterFieldInfo(params *DomainBlockCopyParameters) map[strin
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockCopy
func (d *Domain) BlockCopy(disk string, destxml string, params *DomainBlockCopyParameters, flags DomainBlockCopyFlags) error {
if C.LIBVIR_VERSION_NUMBER < 1002008 {
return GetNotImplementedError("virDomainBlockCopy")
@@ -1954,6 +2016,7 @@ func (d *Domain) BlockCopy(disk string, destxml string, params *DomainBlockCopyP
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockJobAbort
func (d *Domain) BlockJobAbort(disk string, flags DomainBlockJobAbortFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -1964,6 +2027,7 @@ func (d *Domain) BlockJobAbort(disk string, flags DomainBlockJobAbortFlags) erro
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockJobSetSpeed
func (d *Domain) BlockJobSetSpeed(disk string, bandwidth uint64, flags DomainBlockJobSetSpeedFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -1974,6 +2038,7 @@ func (d *Domain) BlockJobSetSpeed(disk string, bandwidth uint64, flags DomainBlo
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockPull
func (d *Domain) BlockPull(disk string, bandwidth uint64, flags DomainBlockPullFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -1984,6 +2049,7 @@ func (d *Domain) BlockPull(disk string, bandwidth uint64, flags DomainBlockPullF
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockRebase
func (d *Domain) BlockRebase(disk string, base string, bandwidth uint64, flags DomainBlockRebaseFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -1999,6 +2065,7 @@ func (d *Domain) BlockRebase(disk string, base string, bandwidth uint64, flags D
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockResize
func (d *Domain) BlockResize(disk string, size uint64, flags DomainBlockResizeFlags) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -2009,6 +2076,7 @@ func (d *Domain) BlockResize(disk string, size uint64, flags DomainBlockResizeFl
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainBlockPeek
func (d *Domain) BlockPeek(disk string, offset uint64, size uint64, flags uint32) ([]byte, error) {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -2022,6 +2090,7 @@ func (d *Domain) BlockPeek(disk string, offset uint64, size uint64, flags uint32
return data, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMemoryPeek
func (d *Domain) MemoryPeek(start uint64, size uint64, flags DomainMemoryFlags) ([]byte, error) {
data := make([]byte, size)
ret := C.virDomainMemoryPeek(d.ptr, C.ulonglong(start), C.size_t(size),
@@ -2033,6 +2102,7 @@ func (d *Domain) MemoryPeek(start uint64, size uint64, flags DomainMemoryFlags)
return data, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrate
func (d *Domain) Migrate(dconn *Connect, flags DomainMigrateFlags, dname string, uri string, bandwidth uint64) (*Domain, error) {
var cdname *C.char
if dname != "" {
@@ -2055,6 +2125,7 @@ func (d *Domain) Migrate(dconn *Connect, flags DomainMigrateFlags, dname string,
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrate2
func (d *Domain) Migrate2(dconn *Connect, dxml string, flags DomainMigrateFlags, dname string, uri string, bandwidth uint64) (*Domain, error) {
var cdxml *C.char
if dxml != "" {
@@ -2186,6 +2257,7 @@ func getMigrateParameterFieldInfo(params *DomainMigrateParameters) map[string]ty
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrate3
func (d *Domain) Migrate3(dconn *Connect, params *DomainMigrateParameters, flags DomainMigrateFlags) (*Domain, error) {
info := getMigrateParameterFieldInfo(params)
@@ -2207,6 +2279,7 @@ func (d *Domain) Migrate3(dconn *Connect, params *DomainMigrateParameters, flags
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateToURI
func (d *Domain) MigrateToURI(duri string, flags DomainMigrateFlags, dname string, bandwidth uint64) error {
cduri := C.CString(duri)
defer C.free(unsafe.Pointer(cduri))
@@ -2225,6 +2298,7 @@ func (d *Domain) MigrateToURI(duri string, flags DomainMigrateFlags, dname strin
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateToURI2
func (d *Domain) MigrateToURI2(dconnuri string, miguri string, dxml string, flags DomainMigrateFlags, dname string, bandwidth uint64) error {
var cdconnuri *C.char
if dconnuri != "" {
@@ -2255,6 +2329,7 @@ func (d *Domain) MigrateToURI2(dconnuri string, miguri string, dxml string, flag
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateToURI3
func (d *Domain) MigrateToURI3(dconnuri string, params *DomainMigrateParameters, flags DomainMigrateFlags) error {
var cdconnuri *C.char
if dconnuri != "" {
@@ -2279,6 +2354,7 @@ func (d *Domain) MigrateToURI3(dconnuri string, params *DomainMigrateParameters,
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateGetCompressionCache
func (d *Domain) MigrateGetCompressionCache(flags uint32) (uint64, error) {
var cacheSize C.ulonglong
@@ -2290,6 +2366,7 @@ func (d *Domain) MigrateGetCompressionCache(flags uint32) (uint64, error) {
return uint64(cacheSize), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateSetCompressionCache
func (d *Domain) MigrateSetCompressionCache(size uint64, flags uint32) error {
ret := C.virDomainMigrateSetCompressionCache(d.ptr, C.ulonglong(size), C.uint(flags))
if ret == -1 {
@@ -2299,6 +2376,7 @@ func (d *Domain) MigrateSetCompressionCache(size uint64, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateGetMaxSpeed
func (d *Domain) MigrateGetMaxSpeed(flags uint32) (uint64, error) {
var maxSpeed C.ulong
@@ -2310,6 +2388,7 @@ func (d *Domain) MigrateGetMaxSpeed(flags uint32) (uint64, error) {
return uint64(maxSpeed), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateSetMaxSpeed
func (d *Domain) MigrateSetMaxSpeed(speed uint64, flags uint32) error {
ret := C.virDomainMigrateSetMaxSpeed(d.ptr, C.ulong(speed), C.uint(flags))
if ret == -1 {
@@ -2319,6 +2398,7 @@ func (d *Domain) MigrateSetMaxSpeed(speed uint64, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateSetMaxDowntime
func (d *Domain) MigrateSetMaxDowntime(downtime uint64, flags uint32) error {
ret := C.virDomainMigrateSetMaxDowntime(d.ptr, C.ulonglong(downtime), C.uint(flags))
if ret == -1 {
@@ -2328,6 +2408,23 @@ func (d *Domain) MigrateSetMaxDowntime(downtime uint64, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateGetMaxDowntime
+func (d *Domain) MigrateGetMaxDowntime(flags uint32) (uint64, error) {
+ var downtimeLen C.ulonglong
+
+ if C.LIBVIR_VERSION_NUMBER < 3007000 {
+ return 0, GetNotImplementedError("virDomainMigrateGetMaxDowntime")
+ }
+
+ ret := C.virDomainMigrateGetMaxDowntimeCompat(d.ptr, &downtimeLen, C.uint(flags))
+ if ret == -1 {
+ return 0, GetLastError()
+ }
+
+ return uint64(downtimeLen), nil
+}
+
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateStartPostCopy
func (d *Domain) MigrateStartPostCopy(flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 1003003 {
return GetNotImplementedError("virDomainMigrateStartPostCopy")
@@ -2385,6 +2482,7 @@ func getBlkioParametersFieldInfo(params *DomainBlkioParameters) map[string]typed
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetBlkioParameters
func (d *Domain) GetBlkioParameters(flags DomainModificationImpact) (*DomainBlkioParameters, error) {
params := &DomainBlkioParameters{}
info := getBlkioParametersFieldInfo(params)
@@ -2411,6 +2509,7 @@ func (d *Domain) GetBlkioParameters(flags DomainModificationImpact) (*DomainBlki
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetBlkioParameters
func (d *Domain) SetBlkioParameters(params *DomainBlkioParameters, flags DomainModificationImpact) error {
info := getBlkioParametersFieldInfo(params)
@@ -2567,6 +2666,7 @@ func getBlockIoTuneParametersFieldInfo(params *DomainBlockIoTuneParameters) map[
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetBlockIoTune
func (d *Domain) GetBlockIoTune(disk string, flags DomainModificationImpact) (*DomainBlockIoTuneParameters, error) {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -2596,6 +2696,7 @@ func (d *Domain) GetBlockIoTune(disk string, flags DomainModificationImpact) (*D
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetBlockIoTune
func (d *Domain) SetBlockIoTune(disk string, params *DomainBlockIoTuneParameters, flags DomainModificationImpact) error {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -2634,6 +2735,7 @@ type DomainBlockJobInfo struct {
End uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetBlockJobInfo
func (d *Domain) GetBlockJobInfo(disk string, flags DomainBlockJobInfoFlags) (*DomainBlockJobInfo, error) {
cdisk := C.CString(disk)
defer C.free(unsafe.Pointer(cdisk))
@@ -2660,6 +2762,7 @@ type DomainControlInfo struct {
StateTime uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetControlInfo
func (d *Domain) GetControlInfo(flags uint32) (*DomainControlInfo, error) {
var cinfo C.virDomainControlInfo
@@ -2681,6 +2784,7 @@ type DomainDiskError struct {
Error DomainDiskErrorCode
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetDiskErrors
func (d *Domain) GetDiskErrors(flags uint32) ([]DomainDiskError, error) {
ret := C.virDomainGetDiskErrors(d.ptr, nil, 0, 0)
if ret == -1 {
@@ -2708,6 +2812,7 @@ func (d *Domain) GetDiskErrors(flags uint32) ([]DomainDiskError, error) {
return errors, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetHostname
func (d *Domain) GetHostname(flags uint32) (string, error) {
ret := C.virDomainGetHostname(d.ptr, C.uint(flags))
if ret == nil {
@@ -2781,6 +2886,7 @@ type DomainJobInfo struct {
Operation DomainJobOperationType
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetJobInfo
func (d *Domain) GetJobInfo() (*DomainJobInfo, error) {
var cinfo C.virDomainJobInfo
@@ -2937,6 +3043,7 @@ func getDomainJobInfoFieldInfo(params *DomainJobInfo) map[string]typedParamsFiel
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetJobStats
func (d *Domain) GetJobStats(flags DomainGetJobStatsFlags) (*DomainJobInfo, error) {
var cparams *C.virTypedParameter
var nparams C.int
@@ -2958,6 +3065,7 @@ func (d *Domain) GetJobStats(flags DomainGetJobStatsFlags) (*DomainJobInfo, erro
return &params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetMaxMemory
func (d *Domain) GetMaxMemory() (uint64, error) {
ret := C.virDomainGetMaxMemory(d.ptr)
if ret == 0 {
@@ -2967,6 +3075,7 @@ func (d *Domain) GetMaxMemory() (uint64, error) {
return uint64(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetMaxVcpus
func (d *Domain) GetMaxVcpus() (uint, error) {
ret := C.virDomainGetMaxVcpus(d.ptr)
if ret == -1 {
@@ -2976,6 +3085,7 @@ func (d *Domain) GetMaxVcpus() (uint, error) {
return uint(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetOSType
func (d *Domain) GetOSType() (string, error) {
ret := C.virDomainGetOSType(d.ptr)
if ret == nil {
@@ -3019,6 +3129,7 @@ func getDomainMemoryParametersFieldInfo(params *DomainMemoryParameters) map[stri
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetMemoryParameters
func (d *Domain) GetMemoryParameters(flags DomainModificationImpact) (*DomainMemoryParameters, error) {
params := &DomainMemoryParameters{}
info := getDomainMemoryParametersFieldInfo(params)
@@ -3045,6 +3156,7 @@ func (d *Domain) GetMemoryParameters(flags DomainModificationImpact) (*DomainMem
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetMemoryParameters
func (d *Domain) SetMemoryParameters(params *DomainMemoryParameters, flags DomainModificationImpact) error {
info := getDomainMemoryParametersFieldInfo(params)
@@ -3093,6 +3205,7 @@ func getDomainNumaParametersFieldInfo(params *DomainNumaParameters) map[string]t
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetNumaParameters
func (d *Domain) GetNumaParameters(flags DomainModificationImpact) (*DomainNumaParameters, error) {
params := &DomainNumaParameters{}
info := getDomainNumaParametersFieldInfo(params)
@@ -3119,6 +3232,7 @@ func (d *Domain) GetNumaParameters(flags DomainModificationImpact) (*DomainNumaP
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetNumaParameters
func (d *Domain) SetNumaParameters(params *DomainNumaParameters, flags DomainModificationImpact) error {
info := getDomainNumaParametersFieldInfo(params)
@@ -3289,6 +3403,7 @@ func getDomainPerfEventsFieldInfo(params *DomainPerfEvents) map[string]typedPara
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetPerfEvents
func (d *Domain) GetPerfEvents(flags DomainModificationImpact) (*DomainPerfEvents, error) {
if C.LIBVIR_VERSION_NUMBER < 1003003 {
return nil, GetNotImplementedError("virDomainGetPerfEvents")
@@ -3314,6 +3429,7 @@ func (d *Domain) GetPerfEvents(flags DomainModificationImpact) (*DomainPerfEvent
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetPerfEvents
func (d *Domain) SetPerfEvents(params *DomainPerfEvents, flags DomainModificationImpact) error {
if C.LIBVIR_VERSION_NUMBER < 1003003 {
return GetNotImplementedError("virDomainSetPerfEvents")
@@ -3433,6 +3549,7 @@ func getDomainSchedulerParametersFieldInfo(params *DomainSchedulerParameters) ma
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetSchedulerParameters
func (d *Domain) GetSchedulerParameters() (*DomainSchedulerParameters, error) {
params := &DomainSchedulerParameters{}
info := getDomainSchedulerParametersFieldInfo(params)
@@ -3465,6 +3582,7 @@ func (d *Domain) GetSchedulerParameters() (*DomainSchedulerParameters, error) {
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetSchedulerParametersFlags
func (d *Domain) GetSchedulerParametersFlags(flags DomainModificationImpact) (*DomainSchedulerParameters, error) {
params := &DomainSchedulerParameters{}
info := getDomainSchedulerParametersFieldInfo(params)
@@ -3497,6 +3615,7 @@ func (d *Domain) GetSchedulerParametersFlags(flags DomainModificationImpact) (*D
return params, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetSchedulerParameters
func (d *Domain) SetSchedulerParameters(params *DomainSchedulerParameters) error {
info := getDomainSchedulerParametersFieldInfo(params)
@@ -3528,6 +3647,7 @@ func (d *Domain) SetSchedulerParameters(params *DomainSchedulerParameters) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetSchedulerParametersFlags
func (d *Domain) SetSchedulerParametersFlags(params *DomainSchedulerParameters, flags DomainModificationImpact) error {
info := getDomainSchedulerParametersFieldInfo(params)
@@ -3564,6 +3684,7 @@ type SecurityLabel struct {
Enforcing bool
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetSecurityLabel
func (d *Domain) GetSecurityLabel() (*SecurityLabel, error) {
var clabel C.virSecurityLabel
@@ -3578,6 +3699,7 @@ func (d *Domain) GetSecurityLabel() (*SecurityLabel, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetSecurityLabelList
func (d *Domain) GetSecurityLabelList() ([]SecurityLabel, error) {
var clabels *C.virSecurityLabel
@@ -3599,6 +3721,7 @@ func (d *Domain) GetSecurityLabelList() ([]SecurityLabel, error) {
return labels, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetTime
func (d *Domain) GetTime(flags uint32) (int64, uint, error) {
if C.LIBVIR_VERSION_NUMBER < 1002005 {
return 0, 0, GetNotImplementedError("virDomainGetTime")
@@ -3613,6 +3736,7 @@ func (d *Domain) GetTime(flags uint32) (int64, uint, error) {
return int64(secs), uint(nsecs), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetTime
func (d *Domain) SetTime(secs int64, nsecs uint, flags DomainSetTimeFlags) error {
if C.LIBVIR_VERSION_NUMBER < 1002005 {
return GetNotImplementedError("virDomainSetTime")
@@ -3626,6 +3750,7 @@ func (d *Domain) SetTime(secs int64, nsecs uint, flags DomainSetTimeFlags) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetUserPassword
func (d *Domain) SetUserPassword(user string, password string, flags DomainSetUserPasswordFlags) error {
if C.LIBVIR_VERSION_NUMBER < 1002015 {
return GetNotImplementedError("virDomainSetUserPassword")
@@ -3644,6 +3769,7 @@ func (d *Domain) SetUserPassword(user string, password string, flags DomainSetUs
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainManagedSave
func (d *Domain) ManagedSave(flags DomainSaveRestoreFlags) error {
ret := C.virDomainManagedSave(d.ptr, C.uint(flags))
if ret == -1 {
@@ -3653,6 +3779,7 @@ func (d *Domain) ManagedSave(flags DomainSaveRestoreFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainHasManagedSaveImage
func (d *Domain) HasManagedSaveImage(flags uint32) (bool, error) {
result := C.virDomainHasManagedSaveImage(d.ptr, C.uint(flags))
if result == -1 {
@@ -3664,6 +3791,7 @@ func (d *Domain) HasManagedSaveImage(flags uint32) (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainManagedSaveRemove
func (d *Domain) ManagedSaveRemove(flags uint32) error {
ret := C.virDomainManagedSaveRemove(d.ptr, C.uint(flags))
if ret == -1 {
@@ -3673,6 +3801,7 @@ func (d *Domain) ManagedSaveRemove(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainRename
func (d *Domain) Rename(name string, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 1002019 {
return GetNotImplementedError("virDomainRename")
@@ -3687,6 +3816,7 @@ func (d *Domain) Rename(name string, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainReset
func (d *Domain) Reset(flags uint32) error {
ret := C.virDomainReset(d.ptr, C.uint(flags))
if ret == -1 {
@@ -3696,6 +3826,7 @@ func (d *Domain) Reset(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSendProcessSignal
func (d *Domain) SendProcessSignal(pid int64, signum DomainProcessSignal, flags uint32) error {
ret := C.virDomainSendProcessSignal(d.ptr, C.longlong(pid), C.uint(signum), C.uint(flags))
if ret == -1 {
@@ -3705,6 +3836,7 @@ func (d *Domain) SendProcessSignal(pid int64, signum DomainProcessSignal, flags
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainInjectNMI
func (d *Domain) InjectNMI(flags uint32) error {
ret := C.virDomainInjectNMI(d.ptr, C.uint(flags))
if ret == -1 {
@@ -3714,6 +3846,7 @@ func (d *Domain) InjectNMI(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCoreDump
func (d *Domain) CoreDump(to string, flags DomainCoreDumpFlags) error {
cto := C.CString(to)
defer C.free(unsafe.Pointer(cto))
@@ -3726,6 +3859,7 @@ func (d *Domain) CoreDump(to string, flags DomainCoreDumpFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainCoreDumpWithFormat
func (d *Domain) CoreDumpWithFormat(to string, format DomainCoreDumpFormat, flags DomainCoreDumpFlags) error {
if C.LIBVIR_VERSION_NUMBER < 1002003 {
GetNotImplementedError("virDomainCoreDumpWithFormat")
@@ -3741,6 +3875,7 @@ func (d *Domain) CoreDumpWithFormat(to string, format DomainCoreDumpFormat, flag
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainHasCurrentSnapshot
func (d *Domain) HasCurrentSnapshot(flags uint32) (bool, error) {
result := C.virDomainHasCurrentSnapshot(d.ptr, C.uint(flags))
if result == -1 {
@@ -3752,6 +3887,7 @@ func (d *Domain) HasCurrentSnapshot(flags uint32) (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainFSFreeze
func (d *Domain) FSFreeze(mounts []string, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 1002005 {
return GetNotImplementedError("virDomainFSFreeze")
@@ -3772,6 +3908,7 @@ func (d *Domain) FSFreeze(mounts []string, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainFSThaw
func (d *Domain) FSThaw(mounts []string, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 1002005 {
return GetNotImplementedError("virDomainFSThaw")
@@ -3792,9 +3929,13 @@ func (d *Domain) FSThaw(mounts []string, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainFSTrim
func (d *Domain) FSTrim(mount string, minimum uint64, flags uint32) error {
- cmount := C.CString(mount)
- defer C.free(unsafe.Pointer(cmount))
+ var cmount *C.char
+ if mount != "" {
+ cmount := C.CString(mount)
+ defer C.free(unsafe.Pointer(cmount))
+ }
ret := C.virDomainFSTrim(d.ptr, cmount, C.ulonglong(minimum), C.uint(flags))
if ret == -1 {
@@ -3811,6 +3952,7 @@ type DomainFSInfo struct {
DevAlias []string
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetFSInfo
func (d *Domain) GetFSInfo(flags uint32) ([]DomainFSInfo, error) {
if C.LIBVIR_VERSION_NUMBER < 1002011 {
return []DomainFSInfo{}, GetNotImplementedError("virDomainGetFSInfo")
@@ -3846,6 +3988,7 @@ func (d *Domain) GetFSInfo(flags uint32) ([]DomainFSInfo, error) {
return fsinfo, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPMSuspendForDuration
func (d *Domain) PMSuspendForDuration(target NodeSuspendTarget, duration uint64, flags uint32) error {
ret := C.virDomainPMSuspendForDuration(d.ptr, C.uint(target), C.ulonglong(duration), C.uint(flags))
if ret == -1 {
@@ -3855,6 +3998,7 @@ func (d *Domain) PMSuspendForDuration(target NodeSuspendTarget, duration uint64,
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPMWakeup
func (d *Domain) PMWakeup(flags uint32) error {
ret := C.virDomainPMWakeup(d.ptr, C.uint(flags))
if ret == -1 {
@@ -3864,6 +4008,7 @@ func (d *Domain) PMWakeup(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainAddIOThread
func (d *Domain) AddIOThread(id uint, flags DomainModificationImpact) error {
if C.LIBVIR_VERSION_NUMBER < 1002015 {
return GetNotImplementedError("virDomainAddIOThread")
@@ -3876,6 +4021,7 @@ func (d *Domain) AddIOThread(id uint, flags DomainModificationImpact) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDelIOThread
func (d *Domain) DelIOThread(id uint, flags DomainModificationImpact) error {
if C.LIBVIR_VERSION_NUMBER < 1002015 {
return GetNotImplementedError("virDomainDelIOThread")
@@ -3888,6 +4034,7 @@ func (d *Domain) DelIOThread(id uint, flags DomainModificationImpact) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetEmulatorPinInfo
func (d *Domain) GetEmulatorPinInfo(flags DomainModificationImpact) ([]bool, error) {
var cnodeinfo C.virNodeInfo
ret := C.virNodeGetInfo(C.virDomainGetConnect(d.ptr), &cnodeinfo)
@@ -3918,6 +4065,7 @@ type DomainIOThreadInfo struct {
CpuMap []bool
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetIOThreadInfo
func (d *Domain) GetIOThreadInfo(flags DomainModificationImpact) ([]DomainIOThreadInfo, error) {
if C.LIBVIR_VERSION_NUMBER < 1002014 {
return []DomainIOThreadInfo{}, GetNotImplementedError("virDomaingetIOThreadInfo")
@@ -3956,6 +4104,7 @@ func (d *Domain) GetIOThreadInfo(flags DomainModificationImpact) ([]DomainIOThre
return info, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetVcpuPinInfo
func (d *Domain) GetVcpuPinInfo(flags DomainModificationImpact) ([][]bool, error) {
var cnodeinfo C.virNodeInfo
ret := C.virNodeGetInfo(C.virDomainGetConnect(d.ptr), &cnodeinfo)
@@ -3995,6 +4144,7 @@ func (d *Domain) GetVcpuPinInfo(flags DomainModificationImpact) ([][]bool, error
return cpumaps, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPinEmulator
func (d *Domain) PinEmulator(cpumap []bool, flags DomainModificationImpact) error {
maplen := (len(cpumap) + 7) / 8
@@ -4016,6 +4166,7 @@ func (d *Domain) PinEmulator(cpumap []bool, flags DomainModificationImpact) erro
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainPinIOThread
func (d *Domain) PinIOThread(iothreadid uint, cpumap []bool, flags DomainModificationImpact) error {
if C.LIBVIR_VERSION_NUMBER < 1002014 {
return GetNotImplementedError("virDomainPinIOThread")
@@ -4040,6 +4191,7 @@ func (d *Domain) PinIOThread(iothreadid uint, cpumap []bool, flags DomainModific
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainOpenChannel
func (d *Domain) OpenChannel(name string, stream *Stream, flags DomainChannelFlags) error {
cname := C.CString(name)
defer C.free(unsafe.Pointer(cname))
@@ -4052,6 +4204,7 @@ func (d *Domain) OpenChannel(name string, stream *Stream, flags DomainChannelFla
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainOpenConsole
func (d *Domain) OpenConsole(devname string, stream *Stream, flags DomainConsoleFlags) error {
var cdevname *C.char
if devname != "" {
@@ -4067,6 +4220,7 @@ func (d *Domain) OpenConsole(devname string, stream *Stream, flags DomainConsole
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainOpenGraphics
func (d *Domain) OpenGraphics(idx uint, file os.File, flags DomainOpenGraphicsFlags) error {
ret := C.virDomainOpenGraphics(d.ptr, C.uint(idx), C.int(file.Fd()), C.uint(flags))
if ret == -1 {
@@ -4076,6 +4230,7 @@ func (d *Domain) OpenGraphics(idx uint, file os.File, flags DomainOpenGraphicsFl
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainOpenGraphicsFD
func (d *Domain) OpenGraphicsFD(idx uint, flags DomainOpenGraphicsFlags) (*os.File, error) {
if C.LIBVIR_VERSION_NUMBER < 1002008 {
return nil, GetNotImplementedError("virDomainOpenGraphicsFD")
@@ -4088,6 +4243,7 @@ func (d *Domain) OpenGraphicsFD(idx uint, flags DomainOpenGraphicsFlags) (*os.Fi
return os.NewFile(uintptr(ret), "graphics"), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotCreateXML
func (d *Domain) CreateSnapshotXML(xml string, flags DomainSnapshotCreateFlags) (*DomainSnapshot, error) {
cXml := C.CString(xml)
defer C.free(unsafe.Pointer(cXml))
@@ -4098,6 +4254,7 @@ func (d *Domain) CreateSnapshotXML(xml string, flags DomainSnapshotCreateFlags)
return &DomainSnapshot{ptr: result}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSave
func (d *Domain) Save(destFile string) error {
cPath := C.CString(destFile)
defer C.free(unsafe.Pointer(cPath))
@@ -4108,6 +4265,7 @@ func (d *Domain) Save(destFile string) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSaveFlags
func (d *Domain) SaveFlags(destFile string, destXml string, flags DomainSaveRestoreFlags) error {
cDestFile := C.CString(destFile)
cDestXml := C.CString(destXml)
@@ -4200,6 +4358,7 @@ func parseCPUString(cpumapstr string) ([]bool, error) {
return cpumap, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetGuestVcpus
func (d *Domain) GetGuestVcpus(flags uint32) (*DomainGuestVcpus, error) {
if C.LIBVIR_VERSION_NUMBER < 2000000 {
return nil, GetNotImplementedError("virDomainGetGuestVcpus")
@@ -4226,6 +4385,7 @@ func (d *Domain) GetGuestVcpus(flags uint32) (*DomainGuestVcpus, error) {
return &DomainGuestVcpus{}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetGuestVcpus
func (d *Domain) SetGuestVcpus(cpus []bool, state bool, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 2000000 {
return GetNotImplementedError("virDomainSetGuestVcpus")
@@ -4258,6 +4418,7 @@ func (d *Domain) SetGuestVcpus(cpus []bool, state bool, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetVcpu
func (d *Domain) SetVcpu(cpus []bool, state bool, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 3001000 {
return GetNotImplementedError("virDomainSetVcpu")
@@ -4290,6 +4451,7 @@ func (d *Domain) SetVcpu(cpus []bool, state bool, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainSetBlockThreshold
func (d *Domain) SetBlockThreshold(dev string, threshold uint64, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 3002000 {
return GetNotImplementedError("virDomainSetBlockThreshold")
@@ -4304,3 +4466,35 @@ func (d *Domain) SetBlockThreshold(dev string, threshold uint64, flags uint32) e
return nil
}
+
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainManagedSaveDefineXML
+func (d *Domain) ManagedSaveDefineXML(xml string, flags uint32) error {
+ if C.LIBVIR_VERSION_NUMBER < 3007000 {
+ return GetNotImplementedError("virDomainManagedSaveDefineXML")
+ }
+
+ cxml := C.CString(xml)
+ defer C.free(unsafe.Pointer(cxml))
+ ret := C.virDomainManagedSaveDefineXMLCompat(d.ptr, cxml, C.uint(flags))
+ if ret == -1 {
+ return GetLastError()
+ }
+
+ return nil
+}
+
+// See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainManagedSaveGetXMLDesc
+func (d *Domain) ManagedSaveGetXMLDesc(flags uint32) (string, error) {
+ if C.LIBVIR_VERSION_NUMBER < 3007000 {
+ return "", GetNotImplementedError("virDomainManagedSaveGetXMLDesc")
+ }
+
+ ret := C.virDomainManagedSaveGetXMLDescCompat(d.ptr, C.uint(flags))
+ if ret == nil {
+ return "", GetLastError()
+ }
+
+ xml := C.GoString(ret)
+ C.free(unsafe.Pointer(ret))
+ return xml, nil
+}
diff --git a/vendor/github.com/libvirt/libvirt-go/domain_compat.go b/vendor/github.com/libvirt/libvirt-go/domain_compat.go
index 81ac004e..c59b00e9 100644
--- a/vendor/github.com/libvirt/libvirt-go/domain_compat.go
+++ b/vendor/github.com/libvirt/libvirt-go/domain_compat.go
@@ -311,5 +311,39 @@ int virDomainSetBlockThresholdCompat(virDomainPtr domain,
#endif
}
+int virDomainMigrateGetMaxDowntimeCompat(virDomainPtr domain,
+ unsigned long long *downtime,
+ unsigned int flags)
+{
+#if LIBVIR_VERSION_NUMBER < 3007000
+ assert(0); // Caller should have checked version
+#else
+ return virDomainMigrateGetMaxDowntime(domain, downtime, flags);
+#endif
+}
+
+
+char *virDomainManagedSaveGetXMLDescCompat(virDomainPtr domain,
+ unsigned int flags)
+{
+#if LIBVIR_VERSION_NUMBER < 3007000
+ assert(0); // Caller should have checked version
+#else
+ return virDomainManagedSaveGetXMLDesc(domain, flags);
+#endif
+}
+
+
+int virDomainManagedSaveDefineXMLCompat(virDomainPtr domain,
+ const char *dxml,
+ unsigned int flags)
+{
+#if LIBVIR_VERSION_NUMBER < 3007000
+ assert(0); // Caller should have checked version
+#else
+ return virDomainManagedSaveDefineXML(domain, dxml, flags);
+#endif
+}
+
*/
import "C"
diff --git a/vendor/github.com/libvirt/libvirt-go/domain_compat.h b/vendor/github.com/libvirt/libvirt-go/domain_compat.h
index 60538038..0f66e8b3 100644
--- a/vendor/github.com/libvirt/libvirt-go/domain_compat.h
+++ b/vendor/github.com/libvirt/libvirt-go/domain_compat.h
@@ -958,4 +958,17 @@ int virDomainSetBlockThresholdCompat(virDomainPtr domain,
#define VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB 1 << 2
#endif
+
+/* 3.7.0 */
+
+int virDomainMigrateGetMaxDowntimeCompat(virDomainPtr domain,
+ unsigned long long *downtime,
+ unsigned int flags);
+
+char *virDomainManagedSaveGetXMLDescCompat(virDomainPtr domain,
+ unsigned int flags);
+int virDomainManagedSaveDefineXMLCompat(virDomainPtr domain,
+ const char *dxml,
+ unsigned int flags);
+
#endif /* LIBVIRT_GO_DOMAIN_COMPAT_H__ */
diff --git a/vendor/github.com/libvirt/libvirt-go/domain_snapshot.go b/vendor/github.com/libvirt/libvirt-go/domain_snapshot.go
index 17c9c0ca..a133d5fd 100644
--- a/vendor/github.com/libvirt/libvirt-go/domain_snapshot.go
+++ b/vendor/github.com/libvirt/libvirt-go/domain_snapshot.go
@@ -89,6 +89,7 @@ type DomainSnapshot struct {
ptr C.virDomainSnapshotPtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotFree
func (s *DomainSnapshot) Free() error {
ret := C.virDomainSnapshotFree(s.ptr)
if ret == -1 {
@@ -97,6 +98,7 @@ func (s *DomainSnapshot) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotRef
func (c *DomainSnapshot) Ref() error {
ret := C.virDomainSnapshotRef(c.ptr)
if ret == -1 {
@@ -105,6 +107,7 @@ func (c *DomainSnapshot) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotDelete
func (s *DomainSnapshot) Delete(flags DomainSnapshotDeleteFlags) error {
result := C.virDomainSnapshotDelete(s.ptr, C.uint(flags))
if result != 0 {
@@ -113,6 +116,7 @@ func (s *DomainSnapshot) Delete(flags DomainSnapshotDeleteFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainRevertToSnapshot
func (s *DomainSnapshot) RevertToSnapshot(flags DomainSnapshotRevertFlags) error {
result := C.virDomainRevertToSnapshot(s.ptr, C.uint(flags))
if result != 0 {
@@ -121,6 +125,7 @@ func (s *DomainSnapshot) RevertToSnapshot(flags DomainSnapshotRevertFlags) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotIsCurrent
func (s *DomainSnapshot) IsCurrent(flags uint32) (bool, error) {
result := C.virDomainSnapshotIsCurrent(s.ptr, C.uint(flags))
if result == -1 {
@@ -132,6 +137,7 @@ func (s *DomainSnapshot) IsCurrent(flags uint32) (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotHasMetadata
func (s *DomainSnapshot) HasMetadata(flags uint32) (bool, error) {
result := C.virDomainSnapshotHasMetadata(s.ptr, C.uint(flags))
if result == -1 {
@@ -143,6 +149,7 @@ func (s *DomainSnapshot) HasMetadata(flags uint32) (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotGetXMLDesc
func (s *DomainSnapshot) GetXMLDesc(flags DomainXMLFlags) (string, error) {
result := C.virDomainSnapshotGetXMLDesc(s.ptr, C.uint(flags))
if result == nil {
@@ -153,6 +160,7 @@ func (s *DomainSnapshot) GetXMLDesc(flags DomainXMLFlags) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotGetName
func (s *DomainSnapshot) GetName() (string, error) {
name := C.virDomainSnapshotGetName(s.ptr)
if name == nil {
@@ -161,6 +169,7 @@ func (s *DomainSnapshot) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotGetParent
func (s *DomainSnapshot) GetParent(flags uint32) (*DomainSnapshot, error) {
ptr := C.virDomainSnapshotGetParent(s.ptr, C.uint(flags))
if ptr == nil {
@@ -169,6 +178,7 @@ func (s *DomainSnapshot) GetParent(flags uint32) (*DomainSnapshot, error) {
return &DomainSnapshot{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotNumChildren
func (s *DomainSnapshot) NumChildren(flags DomainSnapshotListFlags) (int, error) {
result := int(C.virDomainSnapshotNumChildren(s.ptr, C.uint(flags)))
if result == -1 {
@@ -177,6 +187,7 @@ func (s *DomainSnapshot) NumChildren(flags DomainSnapshotListFlags) (int, error)
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotListChildrenNames
func (s *DomainSnapshot) ListChildrenNames(flags DomainSnapshotListFlags) ([]string, error) {
const maxNames = 1024
var names [maxNames](*C.char)
@@ -196,6 +207,7 @@ func (s *DomainSnapshot) ListChildrenNames(flags DomainSnapshotListFlags) ([]str
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-domain-snapshot.html#virDomainSnapshotListAllChildren
func (d *DomainSnapshot) ListAllChildren(flags DomainSnapshotListFlags) ([]DomainSnapshot, error) {
var cList *C.virDomainSnapshotPtr
numVols := C.virDomainSnapshotListAllChildren(d.ptr, (**C.virDomainSnapshotPtr)(&cList), C.uint(flags))
diff --git a/vendor/github.com/libvirt/libvirt-go/error.go b/vendor/github.com/libvirt/libvirt-go/error.go
index 24d4b09f..fb218f70 100644
--- a/vendor/github.com/libvirt/libvirt-go/error.go
+++ b/vendor/github.com/libvirt/libvirt-go/error.go
@@ -557,6 +557,9 @@ const (
// Error from libssh
FROM_LIBSSH = ErrorDomain(C.VIR_FROM_LIBSSH)
+
+ // Error from resoruce control
+ FROM_RESCTRL = ErrorDomain(C.VIR_FROM_RESCTRL)
)
type Error struct {
diff --git a/vendor/github.com/libvirt/libvirt-go/error_compat.h b/vendor/github.com/libvirt/libvirt-go/error_compat.h
index 665ec079..f26dc09e 100644
--- a/vendor/github.com/libvirt/libvirt-go/error_compat.h
+++ b/vendor/github.com/libvirt/libvirt-go/error_compat.h
@@ -141,4 +141,10 @@
#define VIR_FROM_LIBSSH 66
#endif
+/* 3.7.0 */
+
+#ifndef VIR_FROM_RESCTRL
+#define VIR_FROM_RESCTRL 67
+#endif
+
#endif /* LIBVIRT_GO_ERROR_COMPAT_H__ */
diff --git a/vendor/github.com/libvirt/libvirt-go/events.go b/vendor/github.com/libvirt/libvirt-go/events.go
index 5ad90bd1..ef80d828 100644
--- a/vendor/github.com/libvirt/libvirt-go/events.go
+++ b/vendor/github.com/libvirt/libvirt-go/events.go
@@ -43,6 +43,7 @@ const (
EVENT_HANDLE_HANGUP = EventHandleType(C.VIR_EVENT_HANDLE_HANGUP)
)
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventRegisterDefaultImpl
func EventRegisterDefaultImpl() error {
if i := int(C.virEventRegisterDefaultImpl()); i != 0 {
return GetLastError()
@@ -50,6 +51,7 @@ func EventRegisterDefaultImpl() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventRunDefaultImpl
func EventRunDefaultImpl() error {
if i := int(C.virEventRunDefaultImpl()); i != 0 {
return GetLastError()
@@ -71,6 +73,7 @@ func eventHandleCallback(watch int, fd int, events int, callbackID int) {
callback(watch, fd, (EventHandleType)(events))
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventAddHandle
func EventAddHandle(fd int, events EventHandleType, callback EventHandleCallback) (int, error) {
callbackID := registerCallbackId(callback)
@@ -82,10 +85,12 @@ func EventAddHandle(fd int, events EventHandleType, callback EventHandleCallback
return int(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventUpdateHandle
func EventUpdateHandle(watch int, events EventHandleType) {
C.virEventUpdateHandle((C.int)(watch), (C.int)(events))
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventRemoveHandle
func EventRemoveHandle(watch int) {
C.virEventRemoveHandle((C.int)(watch))
}
@@ -104,6 +109,7 @@ func eventTimeoutCallback(timer int, callbackID int) {
callback(timer)
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventAddTimeout
func EventAddTimeout(freq int, callback EventTimeoutCallback) (int, error) {
callbackID := registerCallbackId(callback)
@@ -115,10 +121,12 @@ func EventAddTimeout(freq int, callback EventTimeoutCallback) (int, error) {
return int(ret), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventUpdateTimeout
func EventUpdateTimeout(timer int, freq int) {
C.virEventUpdateTimeout((C.int)(timer), (C.int)(freq))
}
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventRemoveTimeout
func EventRemoveTimeout(timer int) {
C.virEventRemoveTimeout((C.int)(timer))
}
@@ -162,6 +170,7 @@ type EventLoop interface {
var eventLoopImpl EventLoop
+// See also https://libvirt.org/html/libvirt-libvirt-event.html#virEventRegisterImpl
func EventRegisterImpl(impl EventLoop) {
eventLoopImpl = impl
C.virEventRegisterImpl_cgo()
diff --git a/vendor/github.com/libvirt/libvirt-go/interface.go b/vendor/github.com/libvirt/libvirt-go/interface.go
index 472556e0..8a0c7e29 100644
--- a/vendor/github.com/libvirt/libvirt-go/interface.go
+++ b/vendor/github.com/libvirt/libvirt-go/interface.go
@@ -48,6 +48,7 @@ type Interface struct {
ptr C.virInterfacePtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceCreate
func (n *Interface) Create(flags uint32) error {
result := C.virInterfaceCreate(n.ptr, C.uint(flags))
if result == -1 {
@@ -56,6 +57,7 @@ func (n *Interface) Create(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceDestroy
func (n *Interface) Destroy(flags uint32) error {
result := C.virInterfaceDestroy(n.ptr, C.uint(flags))
if result == -1 {
@@ -64,6 +66,7 @@ func (n *Interface) Destroy(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceIsActive
func (n *Interface) IsActive() (bool, error) {
result := C.virInterfaceIsActive(n.ptr)
if result == -1 {
@@ -75,6 +78,7 @@ func (n *Interface) IsActive() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetMACString
func (n *Interface) GetMACString() (string, error) {
result := C.virInterfaceGetMACString(n.ptr)
if result == nil {
@@ -84,6 +88,7 @@ func (n *Interface) GetMACString() (string, error) {
return mac, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetName
func (n *Interface) GetName() (string, error) {
result := C.virInterfaceGetName(n.ptr)
if result == nil {
@@ -93,6 +98,7 @@ func (n *Interface) GetName() (string, error) {
return name, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceGetXMLDesc
func (n *Interface) GetXMLDesc(flags InterfaceXMLFlags) (string, error) {
result := C.virInterfaceGetXMLDesc(n.ptr, C.uint(flags))
if result == nil {
@@ -103,6 +109,7 @@ func (n *Interface) GetXMLDesc(flags InterfaceXMLFlags) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceUndefine
func (n *Interface) Undefine() error {
result := C.virInterfaceUndefine(n.ptr)
if result == -1 {
@@ -111,6 +118,7 @@ func (n *Interface) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceFree
func (n *Interface) Free() error {
ret := C.virInterfaceFree(n.ptr)
if ret == -1 {
@@ -119,6 +127,7 @@ func (n *Interface) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-interface.html#virInterfaceRef
func (c *Interface) Ref() error {
ret := C.virInterfaceRef(c.ptr)
if ret == -1 {
diff --git a/vendor/github.com/libvirt/libvirt-go/libvirtd.sasl b/vendor/github.com/libvirt/libvirt-go/libvirtd.sasl
new file mode 100644
index 00000000..9275a70d
--- /dev/null
+++ b/vendor/github.com/libvirt/libvirt-go/libvirtd.sasl
@@ -0,0 +1,2 @@
+mech_list: digest-md5
+sasldb_path: /etc/libvirt/passwd.db
diff --git a/vendor/github.com/libvirt/libvirt-go/network.go b/vendor/github.com/libvirt/libvirt-go/network.go
index f8cc7eec..8b19c6ae 100644
--- a/vendor/github.com/libvirt/libvirt-go/network.go
+++ b/vendor/github.com/libvirt/libvirt-go/network.go
@@ -121,6 +121,7 @@ type NetworkDHCPLease struct {
Clientid string
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkFree
func (n *Network) Free() error {
ret := C.virNetworkFree(n.ptr)
if ret == -1 {
@@ -129,6 +130,7 @@ func (n *Network) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkRef
func (c *Network) Ref() error {
ret := C.virNetworkRef(c.ptr)
if ret == -1 {
@@ -137,6 +139,7 @@ func (c *Network) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkCreate
func (n *Network) Create() error {
result := C.virNetworkCreate(n.ptr)
if result == -1 {
@@ -145,6 +148,7 @@ func (n *Network) Create() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkDestroy
func (n *Network) Destroy() error {
result := C.virNetworkDestroy(n.ptr)
if result == -1 {
@@ -153,6 +157,7 @@ func (n *Network) Destroy() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkIsActive
func (n *Network) IsActive() (bool, error) {
result := C.virNetworkIsActive(n.ptr)
if result == -1 {
@@ -164,6 +169,7 @@ func (n *Network) IsActive() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkIsPersistent
func (n *Network) IsPersistent() (bool, error) {
result := C.virNetworkIsPersistent(n.ptr)
if result == -1 {
@@ -175,6 +181,7 @@ func (n *Network) IsPersistent() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetAutostart
func (n *Network) GetAutostart() (bool, error) {
var out C.int
result := C.virNetworkGetAutostart(n.ptr, (*C.int)(unsafe.Pointer(&out)))
@@ -189,6 +196,7 @@ func (n *Network) GetAutostart() (bool, error) {
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkSetAutostart
func (n *Network) SetAutostart(autostart bool) error {
var cAutostart C.int
switch autostart {
@@ -204,6 +212,7 @@ func (n *Network) SetAutostart(autostart bool) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetName
func (n *Network) GetName() (string, error) {
name := C.virNetworkGetName(n.ptr)
if name == nil {
@@ -212,6 +221,7 @@ func (n *Network) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetUUID
func (n *Network) GetUUID() ([]byte, error) {
var cUuid [C.VIR_UUID_BUFLEN](byte)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -222,6 +232,7 @@ func (n *Network) GetUUID() ([]byte, error) {
return C.GoBytes(cuidPtr, C.VIR_UUID_BUFLEN), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetUUIDString
func (n *Network) GetUUIDString() (string, error) {
var cUuid [C.VIR_UUID_STRING_BUFLEN](C.char)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -232,6 +243,7 @@ func (n *Network) GetUUIDString() (string, error) {
return C.GoString((*C.char)(cuidPtr)), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetBridgeName
func (n *Network) GetBridgeName() (string, error) {
result := C.virNetworkGetBridgeName(n.ptr)
if result == nil {
@@ -242,6 +254,7 @@ func (n *Network) GetBridgeName() (string, error) {
return bridge, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetXMLDesc
func (n *Network) GetXMLDesc(flags NetworkXMLFlags) (string, error) {
result := C.virNetworkGetXMLDesc(n.ptr, C.uint(flags))
if result == nil {
@@ -252,6 +265,7 @@ func (n *Network) GetXMLDesc(flags NetworkXMLFlags) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkUndefine
func (n *Network) Undefine() error {
result := C.virNetworkUndefine(n.ptr)
if result == -1 {
@@ -260,6 +274,7 @@ func (n *Network) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkUpdate
func (n *Network) Update(cmd NetworkUpdateCommand, section NetworkUpdateSection, parentIndex int, xml string, flags NetworkUpdateFlags) error {
cxml := C.CString(xml)
defer C.free(unsafe.Pointer(cxml))
@@ -270,6 +285,7 @@ func (n *Network) Update(cmd NetworkUpdateCommand, section NetworkUpdateSection,
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-network.html#virNetworkGetDHCPLeases
func (n *Network) GetDHCPLeases() ([]NetworkDHCPLease, error) {
if C.LIBVIR_VERSION_NUMBER < 1002006 {
return []NetworkDHCPLease{}, GetNotImplementedError("virNetworkGetDHCPLeases")
diff --git a/vendor/github.com/libvirt/libvirt-go/node_device.go b/vendor/github.com/libvirt/libvirt-go/node_device.go
index a5654f7a..01be1e4a 100644
--- a/vendor/github.com/libvirt/libvirt-go/node_device.go
+++ b/vendor/github.com/libvirt/libvirt-go/node_device.go
@@ -57,6 +57,7 @@ type NodeDevice struct {
ptr C.virNodeDevicePtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceFree
func (n *NodeDevice) Free() error {
ret := C.virNodeDeviceFree(n.ptr)
if ret == -1 {
@@ -65,6 +66,7 @@ func (n *NodeDevice) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceRef
func (c *NodeDevice) Ref() error {
ret := C.virNodeDeviceRef(c.ptr)
if ret == -1 {
@@ -73,6 +75,7 @@ func (c *NodeDevice) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceDestroy
func (n *NodeDevice) Destroy() error {
result := C.virNodeDeviceDestroy(n.ptr)
if result == -1 {
@@ -81,6 +84,7 @@ func (n *NodeDevice) Destroy() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceReset
func (n *NodeDevice) Reset() error {
result := C.virNodeDeviceReset(n.ptr)
if result == -1 {
@@ -89,6 +93,7 @@ func (n *NodeDevice) Reset() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceDettach
func (n *NodeDevice) Detach() error {
result := C.virNodeDeviceDettach(n.ptr)
if result == -1 {
@@ -97,6 +102,7 @@ func (n *NodeDevice) Detach() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceDetachFlags
func (n *NodeDevice) DetachFlags(driverName string, flags uint32) error {
cDriverName := C.CString(driverName)
defer C.free(unsafe.Pointer(cDriverName))
@@ -107,6 +113,7 @@ func (n *NodeDevice) DetachFlags(driverName string, flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceReAttach
func (n *NodeDevice) ReAttach() error {
result := C.virNodeDeviceReAttach(n.ptr)
if result == -1 {
@@ -115,6 +122,7 @@ func (n *NodeDevice) ReAttach() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceGetName
func (n *NodeDevice) GetName() (string, error) {
name := C.virNodeDeviceGetName(n.ptr)
if name == nil {
@@ -123,6 +131,7 @@ func (n *NodeDevice) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceGetXMLDesc
func (n *NodeDevice) GetXMLDesc(flags uint32) (string, error) {
result := C.virNodeDeviceGetXMLDesc(n.ptr, C.uint(flags))
if result == nil {
@@ -133,6 +142,7 @@ func (n *NodeDevice) GetXMLDesc(flags uint32) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceGetParent
func (n *NodeDevice) GetParent() (string, error) {
result := C.virNodeDeviceGetParent(n.ptr)
if result == nil {
@@ -142,7 +152,8 @@ func (n *NodeDevice) GetParent() (string, error) {
return C.GoString(result), nil
}
-func (p *NodeDevice) NumOfStorageCaps() (int, error) {
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceNumOfCaps
+func (p *NodeDevice) NumOfCaps() (int, error) {
result := int(C.virNodeDeviceNumOfCaps(p.ptr))
if result == -1 {
return 0, GetLastError()
@@ -150,7 +161,8 @@ func (p *NodeDevice) NumOfStorageCaps() (int, error) {
return result, nil
}
-func (p *NodeDevice) ListStorageCaps() ([]string, error) {
+// See also https://libvirt.org/html/libvirt-libvirt-nodedev.html#virNodeDeviceListCaps
+func (p *NodeDevice) ListCaps() ([]string, error) {
const maxCaps = 1024
var names [maxCaps](*C.char)
namesPtr := unsafe.Pointer(&names)
diff --git a/vendor/github.com/libvirt/libvirt-go/nwfilter.go b/vendor/github.com/libvirt/libvirt-go/nwfilter.go
index 4dba03fb..6d0c052d 100644
--- a/vendor/github.com/libvirt/libvirt-go/nwfilter.go
+++ b/vendor/github.com/libvirt/libvirt-go/nwfilter.go
@@ -42,6 +42,7 @@ type NWFilter struct {
ptr C.virNWFilterPtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterFree
func (f *NWFilter) Free() error {
ret := C.virNWFilterFree(f.ptr)
if ret == -1 {
@@ -50,6 +51,7 @@ func (f *NWFilter) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterRef
func (c *NWFilter) Ref() error {
ret := C.virNWFilterRef(c.ptr)
if ret == -1 {
@@ -58,6 +60,7 @@ func (c *NWFilter) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterGetName
func (f *NWFilter) GetName() (string, error) {
name := C.virNWFilterGetName(f.ptr)
if name == nil {
@@ -66,6 +69,7 @@ func (f *NWFilter) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterUndefine
func (f *NWFilter) Undefine() error {
result := C.virNWFilterUndefine(f.ptr)
if result == -1 {
@@ -74,6 +78,7 @@ func (f *NWFilter) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterGetUUID
func (f *NWFilter) GetUUID() ([]byte, error) {
var cUuid [C.VIR_UUID_BUFLEN](byte)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -84,6 +89,7 @@ func (f *NWFilter) GetUUID() ([]byte, error) {
return C.GoBytes(cuidPtr, C.VIR_UUID_BUFLEN), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterGetUUIDString
func (f *NWFilter) GetUUIDString() (string, error) {
var cUuid [C.VIR_UUID_STRING_BUFLEN](C.char)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -94,6 +100,7 @@ func (f *NWFilter) GetUUIDString() (string, error) {
return C.GoString((*C.char)(cuidPtr)), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-nwfilter.html#virNWFilterGetXMLDesc
func (f *NWFilter) GetXMLDesc(flags uint32) (string, error) {
result := C.virNWFilterGetXMLDesc(f.ptr, C.uint(flags))
if result == nil {
diff --git a/vendor/github.com/libvirt/libvirt-go/secret.go b/vendor/github.com/libvirt/libvirt-go/secret.go
index 1e35f7e9..4507e1e7 100644
--- a/vendor/github.com/libvirt/libvirt-go/secret.go
+++ b/vendor/github.com/libvirt/libvirt-go/secret.go
@@ -67,6 +67,7 @@ type Secret struct {
ptr C.virSecretPtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretFree
func (s *Secret) Free() error {
ret := C.virSecretFree(s.ptr)
if ret == -1 {
@@ -75,6 +76,7 @@ func (s *Secret) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretRef
func (c *Secret) Ref() error {
ret := C.virSecretRef(c.ptr)
if ret == -1 {
@@ -83,6 +85,7 @@ func (c *Secret) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretUndefine
func (s *Secret) Undefine() error {
result := C.virSecretUndefine(s.ptr)
if result == -1 {
@@ -91,6 +94,7 @@ func (s *Secret) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetUUID
func (s *Secret) GetUUID() ([]byte, error) {
var cUuid [C.VIR_UUID_BUFLEN](byte)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -101,6 +105,7 @@ func (s *Secret) GetUUID() ([]byte, error) {
return C.GoBytes(cuidPtr, C.VIR_UUID_BUFLEN), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetUUIDString
func (s *Secret) GetUUIDString() (string, error) {
var cUuid [C.VIR_UUID_STRING_BUFLEN](C.char)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -111,6 +116,7 @@ func (s *Secret) GetUUIDString() (string, error) {
return C.GoString((*C.char)(cuidPtr)), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetUsageID
func (s *Secret) GetUsageID() (string, error) {
result := C.virSecretGetUsageID(s.ptr)
if result == nil {
@@ -119,6 +125,7 @@ func (s *Secret) GetUsageID() (string, error) {
return C.GoString(result), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetUsageType
func (s *Secret) GetUsageType() (SecretUsageType, error) {
result := SecretUsageType(C.virSecretGetUsageType(s.ptr))
if result == -1 {
@@ -127,6 +134,7 @@ func (s *Secret) GetUsageType() (SecretUsageType, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetXMLDesc
func (s *Secret) GetXMLDesc(flags uint32) (string, error) {
result := C.virSecretGetXMLDesc(s.ptr, C.uint(flags))
if result == nil {
@@ -137,6 +145,7 @@ func (s *Secret) GetXMLDesc(flags uint32) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretGetValue
func (s *Secret) GetValue(flags uint32) ([]byte, error) {
var cvalue_size C.size_t
@@ -149,6 +158,7 @@ func (s *Secret) GetValue(flags uint32) ([]byte, error) {
return ret, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-secret.html#virSecretSetValue
func (s *Secret) SetValue(value []byte, flags uint32) error {
cvalue := make([]C.uchar, len(value))
diff --git a/vendor/github.com/libvirt/libvirt-go/storage_pool.go b/vendor/github.com/libvirt/libvirt-go/storage_pool.go
index 7044aa5f..901d72fc 100644
--- a/vendor/github.com/libvirt/libvirt-go/storage_pool.go
+++ b/vendor/github.com/libvirt/libvirt-go/storage_pool.go
@@ -103,6 +103,7 @@ type StoragePoolInfo struct {
Available uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolBuild
func (p *StoragePool) Build(flags StoragePoolBuildFlags) error {
result := C.virStoragePoolBuild(p.ptr, C.uint(flags))
if result == -1 {
@@ -111,6 +112,7 @@ func (p *StoragePool) Build(flags StoragePoolBuildFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolCreate
func (p *StoragePool) Create(flags StoragePoolCreateFlags) error {
result := C.virStoragePoolCreate(p.ptr, C.uint(flags))
if result == -1 {
@@ -119,6 +121,7 @@ func (p *StoragePool) Create(flags StoragePoolCreateFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolDelete
func (p *StoragePool) Delete(flags StoragePoolDeleteFlags) error {
result := C.virStoragePoolDelete(p.ptr, C.uint(flags))
if result == -1 {
@@ -127,6 +130,7 @@ func (p *StoragePool) Delete(flags StoragePoolDeleteFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolDestroy
func (p *StoragePool) Destroy() error {
result := C.virStoragePoolDestroy(p.ptr)
if result == -1 {
@@ -135,6 +139,7 @@ func (p *StoragePool) Destroy() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolFree
func (p *StoragePool) Free() error {
ret := C.virStoragePoolFree(p.ptr)
if ret == -1 {
@@ -143,6 +148,7 @@ func (p *StoragePool) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolRef
func (c *StoragePool) Ref() error {
ret := C.virStoragePoolRef(c.ptr)
if ret == -1 {
@@ -151,6 +157,7 @@ func (c *StoragePool) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetAutostart
func (p *StoragePool) GetAutostart() (bool, error) {
var out C.int
result := C.virStoragePoolGetAutostart(p.ptr, (*C.int)(unsafe.Pointer(&out)))
@@ -165,6 +172,7 @@ func (p *StoragePool) GetAutostart() (bool, error) {
}
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetInfo
func (p *StoragePool) GetInfo() (*StoragePoolInfo, error) {
var cinfo C.virStoragePoolInfo
result := C.virStoragePoolGetInfo(p.ptr, &cinfo)
@@ -179,6 +187,7 @@ func (p *StoragePool) GetInfo() (*StoragePoolInfo, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetName
func (p *StoragePool) GetName() (string, error) {
name := C.virStoragePoolGetName(p.ptr)
if name == nil {
@@ -187,6 +196,7 @@ func (p *StoragePool) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetUUID
func (p *StoragePool) GetUUID() ([]byte, error) {
var cUuid [C.VIR_UUID_BUFLEN](byte)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -197,6 +207,7 @@ func (p *StoragePool) GetUUID() ([]byte, error) {
return C.GoBytes(cuidPtr, C.VIR_UUID_BUFLEN), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetUUIDString
func (p *StoragePool) GetUUIDString() (string, error) {
var cUuid [C.VIR_UUID_STRING_BUFLEN](C.char)
cuidPtr := unsafe.Pointer(&cUuid)
@@ -207,6 +218,7 @@ func (p *StoragePool) GetUUIDString() (string, error) {
return C.GoString((*C.char)(cuidPtr)), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolGetXMLDesc
func (p *StoragePool) GetXMLDesc(flags StorageXMLFlags) (string, error) {
result := C.virStoragePoolGetXMLDesc(p.ptr, C.uint(flags))
if result == nil {
@@ -217,6 +229,7 @@ func (p *StoragePool) GetXMLDesc(flags StorageXMLFlags) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolIsActive
func (p *StoragePool) IsActive() (bool, error) {
result := C.virStoragePoolIsActive(p.ptr)
if result == -1 {
@@ -228,6 +241,7 @@ func (p *StoragePool) IsActive() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolIsPersistent
func (p *StoragePool) IsPersistent() (bool, error) {
result := C.virStoragePoolIsPersistent(p.ptr)
if result == -1 {
@@ -239,6 +253,7 @@ func (p *StoragePool) IsPersistent() (bool, error) {
return false, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolSetAutostart
func (p *StoragePool) SetAutostart(autostart bool) error {
var cAutostart C.int
switch autostart {
@@ -254,6 +269,7 @@ func (p *StoragePool) SetAutostart(autostart bool) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolRefresh
func (p *StoragePool) Refresh(flags uint32) error {
result := C.virStoragePoolRefresh(p.ptr, C.uint(flags))
if result == -1 {
@@ -262,6 +278,7 @@ func (p *StoragePool) Refresh(flags uint32) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolUndefine
func (p *StoragePool) Undefine() error {
result := C.virStoragePoolUndefine(p.ptr)
if result == -1 {
@@ -270,6 +287,7 @@ func (p *StoragePool) Undefine() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolCreateXML
func (p *StoragePool) StorageVolCreateXML(xmlConfig string, flags StorageVolCreateFlags) (*StorageVol, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -280,6 +298,7 @@ func (p *StoragePool) StorageVolCreateXML(xmlConfig string, flags StorageVolCrea
return &StorageVol{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolCreateXMLFrom
func (p *StoragePool) StorageVolCreateXMLFrom(xmlConfig string, clonevol *StorageVol, flags StorageVolCreateFlags) (*StorageVol, error) {
cXml := C.CString(string(xmlConfig))
defer C.free(unsafe.Pointer(cXml))
@@ -290,6 +309,7 @@ func (p *StoragePool) StorageVolCreateXMLFrom(xmlConfig string, clonevol *Storag
return &StorageVol{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolLookupByName
func (p *StoragePool) LookupStorageVolByName(name string) (*StorageVol, error) {
cName := C.CString(name)
defer C.free(unsafe.Pointer(cName))
@@ -300,6 +320,7 @@ func (p *StoragePool) LookupStorageVolByName(name string) (*StorageVol, error) {
return &StorageVol{ptr: ptr}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolNumOfVolumes
func (p *StoragePool) NumOfStorageVolumes() (int, error) {
result := int(C.virStoragePoolNumOfVolumes(p.ptr))
if result == -1 {
@@ -308,6 +329,7 @@ func (p *StoragePool) NumOfStorageVolumes() (int, error) {
return result, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolListVolumes
func (p *StoragePool) ListStorageVolumes() ([]string, error) {
const maxVols = 1024
var names [maxVols](*C.char)
@@ -327,6 +349,7 @@ func (p *StoragePool) ListStorageVolumes() ([]string, error) {
return goNames, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolListAllVolumes
func (p *StoragePool) ListAllStorageVolumes(flags uint32) ([]StorageVol, error) {
var cList *C.virStorageVolPtr
numVols := C.virStoragePoolListAllVolumes(p.ptr, (**C.virStorageVolPtr)(&cList), C.uint(flags))
diff --git a/vendor/github.com/libvirt/libvirt-go/storage_volume.go b/vendor/github.com/libvirt/libvirt-go/storage_volume.go
index 04fc16b2..22dd2843 100644
--- a/vendor/github.com/libvirt/libvirt-go/storage_volume.go
+++ b/vendor/github.com/libvirt/libvirt-go/storage_volume.go
@@ -123,6 +123,7 @@ type StorageVolInfo struct {
Allocation uint64
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolDelete
func (v *StorageVol) Delete(flags StorageVolDeleteFlags) error {
result := C.virStorageVolDelete(v.ptr, C.uint(flags))
if result == -1 {
@@ -131,6 +132,7 @@ func (v *StorageVol) Delete(flags StorageVolDeleteFlags) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolFree
func (v *StorageVol) Free() error {
ret := C.virStorageVolFree(v.ptr)
if ret == -1 {
@@ -139,6 +141,7 @@ func (v *StorageVol) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolRef
func (c *StorageVol) Ref() error {
ret := C.virStorageVolRef(c.ptr)
if ret == -1 {
@@ -147,6 +150,7 @@ func (c *StorageVol) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetInfo
func (v *StorageVol) GetInfo() (*StorageVolInfo, error) {
var cinfo C.virStorageVolInfo
result := C.virStorageVolGetInfo(v.ptr, &cinfo)
@@ -160,6 +164,7 @@ func (v *StorageVol) GetInfo() (*StorageVolInfo, error) {
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetInfoFlags
func (v *StorageVol) GetInfoFlags(flags StorageVolInfoFlags) (*StorageVolInfo, error) {
if C.LIBVIR_VERSION_NUMBER < 3000000 {
return nil, GetNotImplementedError("virStorageVolGetInfoFlags")
@@ -177,6 +182,7 @@ func (v *StorageVol) GetInfoFlags(flags StorageVolInfoFlags) (*StorageVolInfo, e
}, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetKey
func (v *StorageVol) GetKey() (string, error) {
key := C.virStorageVolGetKey(v.ptr)
if key == nil {
@@ -185,6 +191,7 @@ func (v *StorageVol) GetKey() (string, error) {
return C.GoString(key), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetName
func (v *StorageVol) GetName() (string, error) {
name := C.virStorageVolGetName(v.ptr)
if name == nil {
@@ -193,6 +200,7 @@ func (v *StorageVol) GetName() (string, error) {
return C.GoString(name), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetPath
func (v *StorageVol) GetPath() (string, error) {
result := C.virStorageVolGetPath(v.ptr)
if result == nil {
@@ -203,6 +211,7 @@ func (v *StorageVol) GetPath() (string, error) {
return path, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolGetXMLDesc
func (v *StorageVol) GetXMLDesc(flags uint32) (string, error) {
result := C.virStorageVolGetXMLDesc(v.ptr, C.uint(flags))
if result == nil {
@@ -213,6 +222,7 @@ func (v *StorageVol) GetXMLDesc(flags uint32) (string, error) {
return xml, nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolResize
func (v *StorageVol) Resize(capacity uint64, flags StorageVolResizeFlags) error {
result := C.virStorageVolResize(v.ptr, C.ulonglong(capacity), C.uint(flags))
if result == -1 {
@@ -221,6 +231,7 @@ func (v *StorageVol) Resize(capacity uint64, flags StorageVolResizeFlags) error
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolWipe
func (v *StorageVol) Wipe(flags uint32) error {
result := C.virStorageVolWipe(v.ptr, C.uint(flags))
if result == -1 {
@@ -228,6 +239,7 @@ func (v *StorageVol) Wipe(flags uint32) error {
}
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolWipePattern
func (v *StorageVol) WipePattern(algorithm StorageVolWipeAlgorithm, flags uint32) error {
result := C.virStorageVolWipePattern(v.ptr, C.uint(algorithm), C.uint(flags))
if result == -1 {
@@ -236,6 +248,7 @@ func (v *StorageVol) WipePattern(algorithm StorageVolWipeAlgorithm, flags uint32
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolUpload
func (v *StorageVol) Upload(stream *Stream, offset, length uint64, flags StorageVolUploadFlags) error {
if C.virStorageVolUpload(v.ptr, stream.ptr, C.ulonglong(offset),
C.ulonglong(length), C.uint(flags)) == -1 {
@@ -244,6 +257,7 @@ func (v *StorageVol) Upload(stream *Stream, offset, length uint64, flags Storage
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStorageVolDownload
func (v *StorageVol) Download(stream *Stream, offset, length uint64, flags StorageVolDownloadFlags) error {
if C.virStorageVolDownload(v.ptr, stream.ptr, C.ulonglong(offset),
C.ulonglong(length), C.uint(flags)) == -1 {
@@ -252,6 +266,7 @@ func (v *StorageVol) Download(stream *Stream, offset, length uint64, flags Stora
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-storage.html#virStoragePoolLookupByVolume
func (v *StorageVol) LookupPoolByVolume() (*StoragePool, error) {
poolPtr := C.virStoragePoolLookupByVolume(v.ptr)
if poolPtr == nil {
diff --git a/vendor/github.com/libvirt/libvirt-go/stream.go b/vendor/github.com/libvirt/libvirt-go/stream.go
index c6cdd063..fcd1cd3d 100644
--- a/vendor/github.com/libvirt/libvirt-go/stream.go
+++ b/vendor/github.com/libvirt/libvirt-go/stream.go
@@ -65,6 +65,7 @@ type Stream struct {
ptr C.virStreamPtr
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamAbort
func (v *Stream) Abort() error {
result := C.virStreamAbort(v.ptr)
if result == -1 {
@@ -74,6 +75,7 @@ func (v *Stream) Abort() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamFinish
func (v *Stream) Finish() error {
result := C.virStreamFinish(v.ptr)
if result == -1 {
@@ -83,6 +85,7 @@ func (v *Stream) Finish() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamFree
func (v *Stream) Free() error {
ret := C.virStreamFree(v.ptr)
if ret == -1 {
@@ -91,6 +94,7 @@ func (v *Stream) Free() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamRef
func (c *Stream) Ref() error {
ret := C.virStreamRef(c.ptr)
if ret == -1 {
@@ -99,6 +103,7 @@ func (c *Stream) Ref() error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamRecv
func (v *Stream) Recv(p []byte) (int, error) {
n := C.virStreamRecv(v.ptr, (*C.char)(unsafe.Pointer(&p[0])), C.size_t(len(p)))
if n < 0 {
@@ -111,6 +116,7 @@ func (v *Stream) Recv(p []byte) (int, error) {
return int(n), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamRecvFlags
func (v *Stream) RecvFlags(p []byte, flags StreamRecvFlagsValues) (int, error) {
if C.LIBVIR_VERSION_NUMBER < 3004000 {
return 0, GetNotImplementedError("virStreamRecvFlags")
@@ -127,6 +133,7 @@ func (v *Stream) RecvFlags(p []byte, flags StreamRecvFlagsValues) (int, error) {
return int(n), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamRecvHole
func (v *Stream) RecvHole(flags uint) (int64, error) {
if C.LIBVIR_VERSION_NUMBER < 3004000 {
return 0, GetNotImplementedError("virStreamSparseRecvHole")
@@ -141,6 +148,7 @@ func (v *Stream) RecvHole(flags uint) (int64, error) {
return int64(len), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamSend
func (v *Stream) Send(p []byte) (int, error) {
n := C.virStreamSend(v.ptr, (*C.char)(unsafe.Pointer(&p[0])), C.size_t(len(p)))
if n < 0 {
@@ -153,6 +161,7 @@ func (v *Stream) Send(p []byte) (int, error) {
return int(n), nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamSendHole
func (v *Stream) SendHole(len int64, flags uint32) error {
if C.LIBVIR_VERSION_NUMBER < 3004000 {
return GetNotImplementedError("virStreamSendHole")
@@ -209,6 +218,7 @@ func streamSinkHoleCallback(stream C.virStreamPtr, length C.longlong, callbackID
return 0
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamRecvAll
func (v *Stream) RecvAll(handler StreamSinkFunc) error {
callbackID := registerCallbackId(handler)
@@ -222,6 +232,7 @@ func (v *Stream) RecvAll(handler StreamSinkFunc) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamSparseRecvAll
func (v *Stream) SparseRecvAll(handler StreamSinkFunc, holeHandler StreamSinkHoleFunc) error {
if C.LIBVIR_VERSION_NUMBER < 3004000 {
return GetNotImplementedError("virStreamSparseSendAll")
@@ -312,6 +323,7 @@ func streamSourceSkipCallback(stream C.virStreamPtr, length C.longlong, callback
return 0
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamSendAll
func (v *Stream) SendAll(handler StreamSourceFunc) error {
callbackID := registerCallbackId(handler)
@@ -325,6 +337,7 @@ func (v *Stream) SendAll(handler StreamSourceFunc) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamSparseSendAll
func (v *Stream) SparseSendAll(handler StreamSourceFunc, holeHandler StreamSourceHoleFunc, skipHandler StreamSourceSkipFunc) error {
if C.LIBVIR_VERSION_NUMBER < 3004000 {
return GetNotImplementedError("virStreamSparseSendAll")
@@ -347,6 +360,7 @@ func (v *Stream) SparseSendAll(handler StreamSourceFunc, holeHandler StreamSourc
type StreamEventCallback func(*Stream, StreamEventType)
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamEventAddCallback
func (v *Stream) EventAddCallback(events StreamEventType, callback StreamEventCallback) error {
callbackID := registerCallbackId(callback)
@@ -370,6 +384,7 @@ func streamEventCallback(st C.virStreamPtr, events int, callbackID int) {
callback(&Stream{ptr: st}, StreamEventType(events))
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamEventUpdateCallback
func (v *Stream) EventUpdateCallback(events StreamEventType) error {
ret := C.virStreamEventUpdateCallback(v.ptr, (C.int)(events))
if ret == -1 {
@@ -379,6 +394,7 @@ func (v *Stream) EventUpdateCallback(events StreamEventType) error {
return nil
}
+// See also https://libvirt.org/html/libvirt-libvirt-stream.html#virStreamEventRemoveCallback
func (v *Stream) EventRemoveCallback() error {
ret := C.virStreamEventRemoveCallback(v.ptr)
if ret == -1 {
diff --git a/vendor/github.com/mattn/go-isatty/.travis.yml b/vendor/github.com/mattn/go-isatty/.travis.yml
new file mode 100644
index 00000000..b9f8b239
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/.travis.yml
@@ -0,0 +1,9 @@
+language: go
+go:
+ - tip
+
+before_install:
+ - go get github.com/mattn/goveralls
+ - go get golang.org/x/tools/cmd/cover
+script:
+ - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5
diff --git a/vendor/github.com/mattn/go-isatty/LICENSE b/vendor/github.com/mattn/go-isatty/LICENSE
new file mode 100644
index 00000000..65dc692b
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/LICENSE
@@ -0,0 +1,9 @@
+Copyright (c) Yasuhiro MATSUMOTO <mattn.jp@gmail.com>
+
+MIT License (Expat)
+
+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/vendor/github.com/mattn/go-isatty/README.md b/vendor/github.com/mattn/go-isatty/README.md
new file mode 100644
index 00000000..1e69004b
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/README.md
@@ -0,0 +1,50 @@
+# go-isatty
+
+[![Godoc Reference](https://godoc.org/github.com/mattn/go-isatty?status.svg)](http://godoc.org/github.com/mattn/go-isatty)
+[![Build Status](https://travis-ci.org/mattn/go-isatty.svg?branch=master)](https://travis-ci.org/mattn/go-isatty)
+[![Coverage Status](https://coveralls.io/repos/github/mattn/go-isatty/badge.svg?branch=master)](https://coveralls.io/github/mattn/go-isatty?branch=master)
+[![Go Report Card](https://goreportcard.com/badge/mattn/go-isatty)](https://goreportcard.com/report/mattn/go-isatty)
+
+isatty for golang
+
+## Usage
+
+```go
+package main
+
+import (
+ "fmt"
+ "github.com/mattn/go-isatty"
+ "os"
+)
+
+func main() {
+ if isatty.IsTerminal(os.Stdout.Fd()) {
+ fmt.Println("Is Terminal")
+ } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) {
+ fmt.Println("Is Cygwin/MSYS2 Terminal")
+ } else {
+ fmt.Println("Is Not Terminal")
+ }
+}
+```
+
+## Installation
+
+```
+$ go get github.com/mattn/go-isatty
+```
+
+## License
+
+MIT
+
+## Author
+
+Yasuhiro Matsumoto (a.k.a mattn)
+
+## Thanks
+
+* k-takata: base idea for IsCygwinTerminal
+
+ https://github.com/k-takata/go-iscygpty
diff --git a/vendor/github.com/mattn/go-isatty/doc.go b/vendor/github.com/mattn/go-isatty/doc.go
new file mode 100644
index 00000000..17d4f90e
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/doc.go
@@ -0,0 +1,2 @@
+// Package isatty implements interface to isatty
+package isatty
diff --git a/vendor/github.com/mattn/go-isatty/example_test.go b/vendor/github.com/mattn/go-isatty/example_test.go
new file mode 100644
index 00000000..fa8f7e74
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/example_test.go
@@ -0,0 +1,18 @@
+package isatty_test
+
+import (
+ "fmt"
+ "os"
+
+ "github.com/mattn/go-isatty"
+)
+
+func Example() {
+ if isatty.IsTerminal(os.Stdout.Fd()) {
+ fmt.Println("Is Terminal")
+ } else if isatty.IsCygwinTerminal(os.Stdout.Fd()) {
+ fmt.Println("Is Cygwin/MSYS2 Terminal")
+ } else {
+ fmt.Println("Is Not Terminal")
+ }
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_appengine.go b/vendor/github.com/mattn/go-isatty/isatty_appengine.go
new file mode 100644
index 00000000..9584a988
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_appengine.go
@@ -0,0 +1,15 @@
+// +build appengine
+
+package isatty
+
+// IsTerminal returns true if the file descriptor is terminal which
+// is always false on on appengine classic which is a sandboxed PaaS.
+func IsTerminal(fd uintptr) bool {
+ return false
+}
+
+// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2
+// terminal. This is also always false on this environment.
+func IsCygwinTerminal(fd uintptr) bool {
+ return false
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_bsd.go b/vendor/github.com/mattn/go-isatty/isatty_bsd.go
new file mode 100644
index 00000000..42f2514d
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_bsd.go
@@ -0,0 +1,18 @@
+// +build darwin freebsd openbsd netbsd dragonfly
+// +build !appengine
+
+package isatty
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+const ioctlReadTermios = syscall.TIOCGETA
+
+// IsTerminal return true if the file descriptor is terminal.
+func IsTerminal(fd uintptr) bool {
+ var termios syscall.Termios
+ _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
+ return err == 0
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_linux.go b/vendor/github.com/mattn/go-isatty/isatty_linux.go
new file mode 100644
index 00000000..9d24bac1
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_linux.go
@@ -0,0 +1,18 @@
+// +build linux
+// +build !appengine
+
+package isatty
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+const ioctlReadTermios = syscall.TCGETS
+
+// IsTerminal return true if the file descriptor is terminal.
+func IsTerminal(fd uintptr) bool {
+ var termios syscall.Termios
+ _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0)
+ return err == 0
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_others.go b/vendor/github.com/mattn/go-isatty/isatty_others.go
new file mode 100644
index 00000000..ff4de3d9
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_others.go
@@ -0,0 +1,10 @@
+// +build !windows
+// +build !appengine
+
+package isatty
+
+// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2
+// terminal. This is also always false on this environment.
+func IsCygwinTerminal(fd uintptr) bool {
+ return false
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_others_test.go b/vendor/github.com/mattn/go-isatty/isatty_others_test.go
new file mode 100644
index 00000000..a2091cf4
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_others_test.go
@@ -0,0 +1,19 @@
+// +build !windows
+
+package isatty
+
+import (
+ "os"
+ "testing"
+)
+
+func TestTerminal(t *testing.T) {
+ // test for non-panic
+ IsTerminal(os.Stdout.Fd())
+}
+
+func TestCygwinPipeName(t *testing.T) {
+ if IsCygwinTerminal(os.Stdout.Fd()) {
+ t.Fatal("should be false always")
+ }
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_solaris.go b/vendor/github.com/mattn/go-isatty/isatty_solaris.go
new file mode 100644
index 00000000..1f0c6bf5
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_solaris.go
@@ -0,0 +1,16 @@
+// +build solaris
+// +build !appengine
+
+package isatty
+
+import (
+ "golang.org/x/sys/unix"
+)
+
+// IsTerminal returns true if the given file descriptor is a terminal.
+// see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c
+func IsTerminal(fd uintptr) bool {
+ var termio unix.Termio
+ err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio)
+ return err == nil
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows.go b/vendor/github.com/mattn/go-isatty/isatty_windows.go
new file mode 100644
index 00000000..af51cbca
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_windows.go
@@ -0,0 +1,94 @@
+// +build windows
+// +build !appengine
+
+package isatty
+
+import (
+ "strings"
+ "syscall"
+ "unicode/utf16"
+ "unsafe"
+)
+
+const (
+ fileNameInfo uintptr = 2
+ fileTypePipe = 3
+)
+
+var (
+ kernel32 = syscall.NewLazyDLL("kernel32.dll")
+ procGetConsoleMode = kernel32.NewProc("GetConsoleMode")
+ procGetFileInformationByHandleEx = kernel32.NewProc("GetFileInformationByHandleEx")
+ procGetFileType = kernel32.NewProc("GetFileType")
+)
+
+func init() {
+ // Check if GetFileInformationByHandleEx is available.
+ if procGetFileInformationByHandleEx.Find() != nil {
+ procGetFileInformationByHandleEx = nil
+ }
+}
+
+// IsTerminal return true if the file descriptor is terminal.
+func IsTerminal(fd uintptr) bool {
+ var st uint32
+ r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0)
+ return r != 0 && e == 0
+}
+
+// Check pipe name is used for cygwin/msys2 pty.
+// Cygwin/MSYS2 PTY has a name like:
+// \{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master
+func isCygwinPipeName(name string) bool {
+ token := strings.Split(name, "-")
+ if len(token) < 5 {
+ return false
+ }
+
+ if token[0] != `\msys` && token[0] != `\cygwin` {
+ return false
+ }
+
+ if token[1] == "" {
+ return false
+ }
+
+ if !strings.HasPrefix(token[2], "pty") {
+ return false
+ }
+
+ if token[3] != `from` && token[3] != `to` {
+ return false
+ }
+
+ if token[4] != "master" {
+ return false
+ }
+
+ return true
+}
+
+// IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2
+// terminal.
+func IsCygwinTerminal(fd uintptr) bool {
+ if procGetFileInformationByHandleEx == nil {
+ return false
+ }
+
+ // Cygwin/msys's pty is a pipe.
+ ft, _, e := syscall.Syscall(procGetFileType.Addr(), 1, fd, 0, 0)
+ if ft != fileTypePipe || e != 0 {
+ return false
+ }
+
+ var buf [2 + syscall.MAX_PATH]uint16
+ r, _, e := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(),
+ 4, fd, fileNameInfo, uintptr(unsafe.Pointer(&buf)),
+ uintptr(len(buf)*2), 0, 0)
+ if r == 0 || e != 0 {
+ return false
+ }
+
+ l := *(*uint32)(unsafe.Pointer(&buf))
+ return isCygwinPipeName(string(utf16.Decode(buf[2 : 2+l/2])))
+}
diff --git a/vendor/github.com/mattn/go-isatty/isatty_windows_test.go b/vendor/github.com/mattn/go-isatty/isatty_windows_test.go
new file mode 100644
index 00000000..777e8a60
--- /dev/null
+++ b/vendor/github.com/mattn/go-isatty/isatty_windows_test.go
@@ -0,0 +1,35 @@
+// +build windows
+
+package isatty
+
+import (
+ "testing"
+)
+
+func TestCygwinPipeName(t *testing.T) {
+ tests := []struct {
+ name string
+ result bool
+ }{
+ {``, false},
+ {`\msys-`, false},
+ {`\cygwin-----`, false},
+ {`\msys-x-PTY5-pty1-from-master`, false},
+ {`\cygwin-x-PTY5-from-master`, false},
+ {`\cygwin-x-pty2-from-toaster`, false},
+ {`\cygwin--pty2-from-master`, false},
+ {`\\cygwin-x-pty2-from-master`, false},
+ {`\cygwin-x-pty2-from-master-`, true}, // for the feature
+ {`\cygwin-e022582115c10879-pty4-from-master`, true},
+ {`\msys-e022582115c10879-pty4-to-master`, true},
+ {`\cygwin-e022582115c10879-pty4-to-master`, true},
+ }
+
+ for _, test := range tests {
+ want := test.result
+ got := isCygwinPipeName(test.name)
+ if want != got {
+ t.Fatalf("isatty(%q): got %v, want %v:", test.name, got, want)
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/cli/.travis.yml b/vendor/github.com/mitchellh/cli/.travis.yml
new file mode 100644
index 00000000..974234b1
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/.travis.yml
@@ -0,0 +1,13 @@
+sudo: false
+
+language: go
+
+go:
+ - 1.8
+ - 1.9
+
+branches:
+ only:
+ - master
+
+script: make updatedeps test testrace
diff --git a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/LICENSE b/vendor/github.com/mitchellh/cli/LICENSE
index c33dcc7c..c33dcc7c 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/github.com/hashicorp/raft/LICENSE
+++ b/vendor/github.com/mitchellh/cli/LICENSE
diff --git a/vendor/github.com/mitchellh/cli/Makefile b/vendor/github.com/mitchellh/cli/Makefile
new file mode 100644
index 00000000..4874b008
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/Makefile
@@ -0,0 +1,20 @@
+TEST?=./...
+
+default: test
+
+# test runs the test suite and vets the code
+test:
+ go list $(TEST) | xargs -n1 go test -timeout=60s -parallel=10 $(TESTARGS)
+
+# testrace runs the race checker
+testrace:
+ go list $(TEST) | xargs -n1 go test -race $(TESTARGS)
+
+# updatedeps installs all the dependencies to run and build
+updatedeps:
+ go list ./... \
+ | xargs go list -f '{{ join .Deps "\n" }}{{ printf "\n" }}{{ join .TestImports "\n" }}' \
+ | grep -v github.com/mitchellh/cli \
+ | xargs go get -f -u -v
+
+.PHONY: test testrace updatedeps
diff --git a/vendor/github.com/mitchellh/cli/README.md b/vendor/github.com/mitchellh/cli/README.md
new file mode 100644
index 00000000..8f02cdd0
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/README.md
@@ -0,0 +1,67 @@
+# Go CLI Library [![GoDoc](https://godoc.org/github.com/mitchellh/cli?status.png)](https://godoc.org/github.com/mitchellh/cli)
+
+cli is a library for implementing powerful command-line interfaces in Go.
+cli is the library that powers the CLI for
+[Packer](https://github.com/mitchellh/packer),
+[Serf](https://github.com/hashicorp/serf),
+[Consul](https://github.com/hashicorp/consul),
+[Vault](https://github.com/hashicorp/vault),
+[Terraform](https://github.com/hashicorp/terraform), and
+[Nomad](https://github.com/hashicorp/nomad).
+
+## Features
+
+* Easy sub-command based CLIs: `cli foo`, `cli bar`, etc.
+
+* Support for nested subcommands such as `cli foo bar`.
+
+* Optional support for default subcommands so `cli` does something
+ other than error.
+
+* Support for shell autocompletion of subcommands, flags, and arguments
+ with callbacks in Go. You don't need to write any shell code.
+
+* Automatic help generation for listing subcommands
+
+* Automatic help flag recognition of `-h`, `--help`, etc.
+
+* Automatic version flag recognition of `-v`, `--version`.
+
+* Helpers for interacting with the terminal, such as outputting information,
+ asking for input, etc. These are optional, you can always interact with the
+ terminal however you choose.
+
+* Use of Go interfaces/types makes augmenting various parts of the library a
+ piece of cake.
+
+## Example
+
+Below is a simple example of creating and running a CLI
+
+```go
+package main
+
+import (
+ "log"
+ "os"
+
+ "github.com/mitchellh/cli"
+)
+
+func main() {
+ c := cli.NewCLI("app", "1.0.0")
+ c.Args = os.Args[1:]
+ c.Commands = map[string]cli.CommandFactory{
+ "foo": fooCommandFactory,
+ "bar": barCommandFactory,
+ }
+
+ exitStatus, err := c.Run()
+ if err != nil {
+ log.Println(err)
+ }
+
+ os.Exit(exitStatus)
+}
+```
+
diff --git a/vendor/github.com/mitchellh/cli/autocomplete.go b/vendor/github.com/mitchellh/cli/autocomplete.go
new file mode 100644
index 00000000..3bec6258
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/autocomplete.go
@@ -0,0 +1,43 @@
+package cli
+
+import (
+ "github.com/posener/complete/cmd/install"
+)
+
+// autocompleteInstaller is an interface to be implemented to perform the
+// autocomplete installation and uninstallation with a CLI.
+//
+// This interface is not exported because it only exists for unit tests
+// to be able to test that the installation is called properly.
+type autocompleteInstaller interface {
+ Install(string) error
+ Uninstall(string) error
+}
+
+// realAutocompleteInstaller uses the real install package to do the
+// install/uninstall.
+type realAutocompleteInstaller struct{}
+
+func (i *realAutocompleteInstaller) Install(cmd string) error {
+ return install.Install(cmd)
+}
+
+func (i *realAutocompleteInstaller) Uninstall(cmd string) error {
+ return install.Uninstall(cmd)
+}
+
+// mockAutocompleteInstaller is used for tests to record the install/uninstall.
+type mockAutocompleteInstaller struct {
+ InstallCalled bool
+ UninstallCalled bool
+}
+
+func (i *mockAutocompleteInstaller) Install(cmd string) error {
+ i.InstallCalled = true
+ return nil
+}
+
+func (i *mockAutocompleteInstaller) Uninstall(cmd string) error {
+ i.UninstallCalled = true
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/cli/cli.go b/vendor/github.com/mitchellh/cli/cli.go
new file mode 100644
index 00000000..61206d6a
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/cli.go
@@ -0,0 +1,695 @@
+package cli
+
+import (
+ "fmt"
+ "io"
+ "os"
+ "regexp"
+ "sort"
+ "strings"
+ "sync"
+ "text/template"
+
+ "github.com/armon/go-radix"
+ "github.com/posener/complete"
+)
+
+// CLI contains the state necessary to run subcommands and parse the
+// command line arguments.
+//
+// CLI also supports nested subcommands, such as "cli foo bar". To use
+// nested subcommands, the key in the Commands mapping below contains the
+// full subcommand. In this example, it would be "foo bar".
+//
+// If you use a CLI with nested subcommands, some semantics change due to
+// ambiguities:
+//
+// * We use longest prefix matching to find a matching subcommand. This
+// means if you register "foo bar" and the user executes "cli foo qux",
+// the "foo" command will be executed with the arg "qux". It is up to
+// you to handle these args. One option is to just return the special
+// help return code `RunResultHelp` to display help and exit.
+//
+// * The help flag "-h" or "-help" will look at all args to determine
+// the help function. For example: "otto apps list -h" will show the
+// help for "apps list" but "otto apps -h" will show it for "apps".
+// In the normal CLI, only the first subcommand is used.
+//
+// * The help flag will list any subcommands that a command takes
+// as well as the command's help itself. If there are no subcommands,
+// it will note this. If the CLI itself has no subcommands, this entire
+// section is omitted.
+//
+// * Any parent commands that don't exist are automatically created as
+// no-op commands that just show help for other subcommands. For example,
+// if you only register "foo bar", then "foo" is automatically created.
+//
+type CLI struct {
+ // Args is the list of command-line arguments received excluding
+ // the name of the app. For example, if the command "./cli foo bar"
+ // was invoked, then Args should be []string{"foo", "bar"}.
+ Args []string
+
+ // Commands is a mapping of subcommand names to a factory function
+ // for creating that Command implementation. If there is a command
+ // with a blank string "", then it will be used as the default command
+ // if no subcommand is specified.
+ //
+ // If the key has a space in it, this will create a nested subcommand.
+ // For example, if the key is "foo bar", then to access it our CLI
+ // must be accessed with "./cli foo bar". See the docs for CLI for
+ // notes on how this changes some other behavior of the CLI as well.
+ //
+ // The factory should be as cheap as possible, ideally only allocating
+ // a struct. The factory may be called multiple times in the course
+ // of a command execution and certain events such as help require the
+ // instantiation of all commands. Expensive initialization should be
+ // deferred to function calls within the interface implementation.
+ Commands map[string]CommandFactory
+
+ // HiddenCommands is a list of commands that are "hidden". Hidden
+ // commands are not given to the help function callback and do not
+ // show up in autocomplete. The values in the slice should be equivalent
+ // to the keys in the command map.
+ HiddenCommands []string
+
+ // Name defines the name of the CLI.
+ Name string
+
+ // Version of the CLI.
+ Version string
+
+ // Autocomplete enables or disables subcommand auto-completion support.
+ // This is enabled by default when NewCLI is called. Otherwise, this
+ // must enabled explicitly.
+ //
+ // Autocomplete requires the "Name" option to be set on CLI. This name
+ // should be set exactly to the binary name that is autocompleted.
+ //
+ // Autocompletion is supported via the github.com/posener/complete
+ // library. This library supports both bash and zsh. To add support
+ // for other shells, please see that library.
+ //
+ // AutocompleteInstall and AutocompleteUninstall are the global flag
+ // names for installing and uninstalling the autocompletion handlers
+ // for the user's shell. The flag should omit the hyphen(s) in front of
+ // the value. Both single and double hyphens will automatically be supported
+ // for the flag name. These default to `autocomplete-install` and
+ // `autocomplete-uninstall` respectively.
+ //
+ // AutocompleteNoDefaultFlags is a boolean which controls if the default auto-
+ // complete flags like -help and -version are added to the output.
+ //
+ // AutocompleteGlobalFlags are a mapping of global flags for
+ // autocompletion. The help and version flags are automatically added.
+ Autocomplete bool
+ AutocompleteInstall string
+ AutocompleteUninstall string
+ AutocompleteNoDefaultFlags bool
+ AutocompleteGlobalFlags complete.Flags
+ autocompleteInstaller autocompleteInstaller // For tests
+
+ // HelpFunc and HelpWriter are used to output help information, if
+ // requested.
+ //
+ // HelpFunc is the function called to generate the generic help
+ // text that is shown if help must be shown for the CLI that doesn't
+ // pertain to a specific command.
+ //
+ // HelpWriter is the Writer where the help text is outputted to. If
+ // not specified, it will default to Stderr.
+ HelpFunc HelpFunc
+ HelpWriter io.Writer
+
+ //---------------------------------------------------------------
+ // Internal fields set automatically
+
+ once sync.Once
+ autocomplete *complete.Complete
+ commandTree *radix.Tree
+ commandNested bool
+ commandHidden map[string]struct{}
+ subcommand string
+ subcommandArgs []string
+ topFlags []string
+
+ // These are true when special global flags are set. We can/should
+ // probably use a bitset for this one day.
+ isHelp bool
+ isVersion bool
+ isAutocompleteInstall bool
+ isAutocompleteUninstall bool
+}
+
+// NewClI returns a new CLI instance with sensible defaults.
+func NewCLI(app, version string) *CLI {
+ return &CLI{
+ Name: app,
+ Version: version,
+ HelpFunc: BasicHelpFunc(app),
+ Autocomplete: true,
+ }
+
+}
+
+// IsHelp returns whether or not the help flag is present within the
+// arguments.
+func (c *CLI) IsHelp() bool {
+ c.once.Do(c.init)
+ return c.isHelp
+}
+
+// IsVersion returns whether or not the version flag is present within the
+// arguments.
+func (c *CLI) IsVersion() bool {
+ c.once.Do(c.init)
+ return c.isVersion
+}
+
+// Run runs the actual CLI based on the arguments given.
+func (c *CLI) Run() (int, error) {
+ c.once.Do(c.init)
+
+ // If this is a autocompletion request, satisfy it. This must be called
+ // first before anything else since its possible to be autocompleting
+ // -help or -version or other flags and we want to show completions
+ // and not actually write the help or version.
+ if c.Autocomplete && c.autocomplete.Complete() {
+ return 0, nil
+ }
+
+ // Just show the version and exit if instructed.
+ if c.IsVersion() && c.Version != "" {
+ c.HelpWriter.Write([]byte(c.Version + "\n"))
+ return 0, nil
+ }
+
+ // Just print the help when only '-h' or '--help' is passed.
+ if c.IsHelp() && c.Subcommand() == "" {
+ c.HelpWriter.Write([]byte(c.HelpFunc(c.helpCommands(c.Subcommand())) + "\n"))
+ return 0, nil
+ }
+
+ // If we're attempting to install or uninstall autocomplete then handle
+ if c.Autocomplete {
+ // Autocomplete requires the "Name" to be set so that we know what
+ // command to setup the autocomplete on.
+ if c.Name == "" {
+ return 1, fmt.Errorf(
+ "internal error: CLI.Name must be specified for autocomplete to work")
+ }
+
+ // If both install and uninstall flags are specified, then error
+ if c.isAutocompleteInstall && c.isAutocompleteUninstall {
+ return 1, fmt.Errorf(
+ "Either the autocomplete install or uninstall flag may " +
+ "be specified, but not both.")
+ }
+
+ // If the install flag is specified, perform the install or uninstall
+ if c.isAutocompleteInstall {
+ if err := c.autocompleteInstaller.Install(c.Name); err != nil {
+ return 1, err
+ }
+
+ return 0, nil
+ }
+
+ if c.isAutocompleteUninstall {
+ if err := c.autocompleteInstaller.Uninstall(c.Name); err != nil {
+ return 1, err
+ }
+
+ return 0, nil
+ }
+ }
+
+ // Attempt to get the factory function for creating the command
+ // implementation. If the command is invalid or blank, it is an error.
+ raw, ok := c.commandTree.Get(c.Subcommand())
+ if !ok {
+ c.HelpWriter.Write([]byte(c.HelpFunc(c.helpCommands(c.subcommandParent())) + "\n"))
+ return 127, nil
+ }
+
+ command, err := raw.(CommandFactory)()
+ if err != nil {
+ return 1, err
+ }
+
+ // If we've been instructed to just print the help, then print it
+ if c.IsHelp() {
+ c.commandHelp(command)
+ return 0, nil
+ }
+
+ // If there is an invalid flag, then error
+ if len(c.topFlags) > 0 {
+ c.HelpWriter.Write([]byte(
+ "Invalid flags before the subcommand. If these flags are for\n" +
+ "the subcommand, please put them after the subcommand.\n\n"))
+ c.commandHelp(command)
+ return 1, nil
+ }
+
+ code := command.Run(c.SubcommandArgs())
+ if code == RunResultHelp {
+ // Requesting help
+ c.commandHelp(command)
+ return 1, nil
+ }
+
+ return code, nil
+}
+
+// Subcommand returns the subcommand that the CLI would execute. For
+// example, a CLI from "--version version --help" would return a Subcommand
+// of "version"
+func (c *CLI) Subcommand() string {
+ c.once.Do(c.init)
+ return c.subcommand
+}
+
+// SubcommandArgs returns the arguments that will be passed to the
+// subcommand.
+func (c *CLI) SubcommandArgs() []string {
+ c.once.Do(c.init)
+ return c.subcommandArgs
+}
+
+// subcommandParent returns the parent of this subcommand, if there is one.
+// If there isn't on, "" is returned.
+func (c *CLI) subcommandParent() string {
+ // Get the subcommand, if it is "" alread just return
+ sub := c.Subcommand()
+ if sub == "" {
+ return sub
+ }
+
+ // Clear any trailing spaces and find the last space
+ sub = strings.TrimRight(sub, " ")
+ idx := strings.LastIndex(sub, " ")
+
+ if idx == -1 {
+ // No space means our parent is root
+ return ""
+ }
+
+ return sub[:idx]
+}
+
+func (c *CLI) init() {
+ if c.HelpFunc == nil {
+ c.HelpFunc = BasicHelpFunc("app")
+
+ if c.Name != "" {
+ c.HelpFunc = BasicHelpFunc(c.Name)
+ }
+ }
+
+ if c.HelpWriter == nil {
+ c.HelpWriter = os.Stderr
+ }
+
+ // Build our hidden commands
+ if len(c.HiddenCommands) > 0 {
+ c.commandHidden = make(map[string]struct{})
+ for _, h := range c.HiddenCommands {
+ c.commandHidden[h] = struct{}{}
+ }
+ }
+
+ // Build our command tree
+ c.commandTree = radix.New()
+ c.commandNested = false
+ for k, v := range c.Commands {
+ k = strings.TrimSpace(k)
+ c.commandTree.Insert(k, v)
+ if strings.ContainsRune(k, ' ') {
+ c.commandNested = true
+ }
+ }
+
+ // Go through the key and fill in any missing parent commands
+ if c.commandNested {
+ var walkFn radix.WalkFn
+ toInsert := make(map[string]struct{})
+ walkFn = func(k string, raw interface{}) bool {
+ idx := strings.LastIndex(k, " ")
+ if idx == -1 {
+ // If there is no space, just ignore top level commands
+ return false
+ }
+
+ // Trim up to that space so we can get the expected parent
+ k = k[:idx]
+ if _, ok := c.commandTree.Get(k); ok {
+ // Yay we have the parent!
+ return false
+ }
+
+ // We're missing the parent, so let's insert this
+ toInsert[k] = struct{}{}
+
+ // Call the walk function recursively so we check this one too
+ return walkFn(k, nil)
+ }
+
+ // Walk!
+ c.commandTree.Walk(walkFn)
+
+ // Insert any that we're missing
+ for k := range toInsert {
+ var f CommandFactory = func() (Command, error) {
+ return &MockCommand{
+ HelpText: "This command is accessed by using one of the subcommands below.",
+ RunResult: RunResultHelp,
+ }, nil
+ }
+
+ c.commandTree.Insert(k, f)
+ }
+ }
+
+ // Setup autocomplete if we have it enabled. We have to do this after
+ // the command tree is setup so we can use the radix tree to easily find
+ // all subcommands.
+ if c.Autocomplete {
+ c.initAutocomplete()
+ }
+
+ // Process the args
+ c.processArgs()
+}
+
+func (c *CLI) initAutocomplete() {
+ if c.AutocompleteInstall == "" {
+ c.AutocompleteInstall = defaultAutocompleteInstall
+ }
+
+ if c.AutocompleteUninstall == "" {
+ c.AutocompleteUninstall = defaultAutocompleteUninstall
+ }
+
+ if c.autocompleteInstaller == nil {
+ c.autocompleteInstaller = &realAutocompleteInstaller{}
+ }
+
+ // Build the root command
+ cmd := c.initAutocompleteSub("")
+
+ // For the root, we add the global flags to the "Flags". This way
+ // they don't show up on every command.
+ if !c.AutocompleteNoDefaultFlags {
+ cmd.Flags = map[string]complete.Predictor{
+ "-" + c.AutocompleteInstall: complete.PredictNothing,
+ "-" + c.AutocompleteUninstall: complete.PredictNothing,
+ "-help": complete.PredictNothing,
+ "-version": complete.PredictNothing,
+ }
+ }
+ cmd.GlobalFlags = c.AutocompleteGlobalFlags
+
+ c.autocomplete = complete.New(c.Name, cmd)
+}
+
+// initAutocompleteSub creates the complete.Command for a subcommand with
+// the given prefix. This will continue recursively for all subcommands.
+// The prefix "" (empty string) can be used for the root command.
+func (c *CLI) initAutocompleteSub(prefix string) complete.Command {
+ var cmd complete.Command
+ walkFn := func(k string, raw interface{}) bool {
+ // Keep track of the full key so that we can nest further if necessary
+ fullKey := k
+
+ if len(prefix) > 0 {
+ // If we have a prefix, trim the prefix + 1 (for the space)
+ // Example: turns "sub one" to "one" with prefix "sub"
+ k = k[len(prefix)+1:]
+ }
+
+ if idx := strings.Index(k, " "); idx >= 0 {
+ // If there is a space, we trim up to the space. This turns
+ // "sub sub2 sub3" into "sub". The prefix trim above will
+ // trim our current depth properly.
+ k = k[:idx]
+ }
+
+ if _, ok := cmd.Sub[k]; ok {
+ // If we already tracked this subcommand then ignore
+ return false
+ }
+
+ // If the command is hidden, don't record it at all
+ if _, ok := c.commandHidden[fullKey]; ok {
+ return false
+ }
+
+ if cmd.Sub == nil {
+ cmd.Sub = complete.Commands(make(map[string]complete.Command))
+ }
+ subCmd := c.initAutocompleteSub(fullKey)
+
+ // Instantiate the command so that we can check if the command is
+ // a CommandAutocomplete implementation. If there is an error
+ // creating the command, we just ignore it since that will be caught
+ // later.
+ impl, err := raw.(CommandFactory)()
+ if err != nil {
+ impl = nil
+ }
+
+ // Check if it implements ComandAutocomplete. If so, setup the autocomplete
+ if c, ok := impl.(CommandAutocomplete); ok {
+ subCmd.Args = c.AutocompleteArgs()
+ subCmd.Flags = c.AutocompleteFlags()
+ }
+
+ cmd.Sub[k] = subCmd
+ return false
+ }
+
+ walkPrefix := prefix
+ if walkPrefix != "" {
+ walkPrefix += " "
+ }
+
+ c.commandTree.WalkPrefix(walkPrefix, walkFn)
+ return cmd
+}
+
+func (c *CLI) commandHelp(command Command) {
+ // Get the template to use
+ tpl := strings.TrimSpace(defaultHelpTemplate)
+ if t, ok := command.(CommandHelpTemplate); ok {
+ tpl = t.HelpTemplate()
+ }
+ if !strings.HasSuffix(tpl, "\n") {
+ tpl += "\n"
+ }
+
+ // Parse it
+ t, err := template.New("root").Parse(tpl)
+ if err != nil {
+ t = template.Must(template.New("root").Parse(fmt.Sprintf(
+ "Internal error! Failed to parse command help template: %s\n", err)))
+ }
+
+ // Template data
+ data := map[string]interface{}{
+ "Name": c.Name,
+ "Help": command.Help(),
+ }
+
+ // Build subcommand list if we have it
+ var subcommandsTpl []map[string]interface{}
+ if c.commandNested {
+ // Get the matching keys
+ subcommands := c.helpCommands(c.Subcommand())
+ keys := make([]string, 0, len(subcommands))
+ for k := range subcommands {
+ keys = append(keys, k)
+ }
+
+ // Sort the keys
+ sort.Strings(keys)
+
+ // Figure out the padding length
+ var longest int
+ for _, k := range keys {
+ if v := len(k); v > longest {
+ longest = v
+ }
+ }
+
+ // Go through and create their structures
+ subcommandsTpl = make([]map[string]interface{}, 0, len(subcommands))
+ for _, k := range keys {
+ // Get the command
+ raw, ok := subcommands[k]
+ if !ok {
+ c.HelpWriter.Write([]byte(fmt.Sprintf(
+ "Error getting subcommand %q", k)))
+ }
+ sub, err := raw()
+ if err != nil {
+ c.HelpWriter.Write([]byte(fmt.Sprintf(
+ "Error instantiating %q: %s", k, err)))
+ }
+
+ // Find the last space and make sure we only include that last part
+ name := k
+ if idx := strings.LastIndex(k, " "); idx > -1 {
+ name = name[idx+1:]
+ }
+
+ subcommandsTpl = append(subcommandsTpl, map[string]interface{}{
+ "Name": name,
+ "NameAligned": name + strings.Repeat(" ", longest-len(k)),
+ "Help": sub.Help(),
+ "Synopsis": sub.Synopsis(),
+ })
+ }
+ }
+ data["Subcommands"] = subcommandsTpl
+
+ // Write
+ err = t.Execute(c.HelpWriter, data)
+ if err == nil {
+ return
+ }
+
+ // An error, just output...
+ c.HelpWriter.Write([]byte(fmt.Sprintf(
+ "Internal error rendering help: %s", err)))
+}
+
+// helpCommands returns the subcommands for the HelpFunc argument.
+// This will only contain immediate subcommands.
+func (c *CLI) helpCommands(prefix string) map[string]CommandFactory {
+ // If our prefix isn't empty, make sure it ends in ' '
+ if prefix != "" && prefix[len(prefix)-1] != ' ' {
+ prefix += " "
+ }
+
+ // Get all the subkeys of this command
+ var keys []string
+ c.commandTree.WalkPrefix(prefix, func(k string, raw interface{}) bool {
+ // Ignore any sub-sub keys, i.e. "foo bar baz" when we want "foo bar"
+ if !strings.Contains(k[len(prefix):], " ") {
+ keys = append(keys, k)
+ }
+
+ return false
+ })
+
+ // For each of the keys return that in the map
+ result := make(map[string]CommandFactory, len(keys))
+ for _, k := range keys {
+ raw, ok := c.commandTree.Get(k)
+ if !ok {
+ // We just got it via WalkPrefix above, so we just panic
+ panic("not found: " + k)
+ }
+
+ // If this is a hidden command, don't show it
+ if _, ok := c.commandHidden[k]; ok {
+ continue
+ }
+
+ result[k] = raw.(CommandFactory)
+ }
+
+ return result
+}
+
+func (c *CLI) processArgs() {
+ for i, arg := range c.Args {
+ if arg == "--" {
+ break
+ }
+
+ // Check for help flags.
+ if arg == "-h" || arg == "-help" || arg == "--help" {
+ c.isHelp = true
+ continue
+ }
+
+ // Check for autocomplete flags
+ if c.Autocomplete {
+ if arg == "-"+c.AutocompleteInstall || arg == "--"+c.AutocompleteInstall {
+ c.isAutocompleteInstall = true
+ continue
+ }
+
+ if arg == "-"+c.AutocompleteUninstall || arg == "--"+c.AutocompleteUninstall {
+ c.isAutocompleteUninstall = true
+ continue
+ }
+ }
+
+ if c.subcommand == "" {
+ // Check for version flags if not in a subcommand.
+ if arg == "-v" || arg == "-version" || arg == "--version" {
+ c.isVersion = true
+ continue
+ }
+
+ if arg != "" && arg[0] == '-' {
+ // Record the arg...
+ c.topFlags = append(c.topFlags, arg)
+ }
+ }
+
+ // If we didn't find a subcommand yet and this is the first non-flag
+ // argument, then this is our subcommand.
+ if c.subcommand == "" && arg != "" && arg[0] != '-' {
+ c.subcommand = arg
+ if c.commandNested {
+ // Nested CLI, the subcommand is actually the entire
+ // arg list up to a flag that is still a valid subcommand.
+ searchKey := strings.Join(c.Args[i:], " ")
+ k, _, ok := c.commandTree.LongestPrefix(searchKey)
+ if ok {
+ // k could be a prefix that doesn't contain the full
+ // command such as "foo" instead of "foobar", so we
+ // need to verify that we have an entire key. To do that,
+ // we look for an ending in a space or an end of string.
+ reVerify := regexp.MustCompile(regexp.QuoteMeta(k) + `( |$)`)
+ if reVerify.MatchString(searchKey) {
+ c.subcommand = k
+ i += strings.Count(k, " ")
+ }
+ }
+ }
+
+ // The remaining args the subcommand arguments
+ c.subcommandArgs = c.Args[i+1:]
+ }
+ }
+
+ // If we never found a subcommand and support a default command, then
+ // switch to using that.
+ if c.subcommand == "" {
+ if _, ok := c.Commands[""]; ok {
+ args := c.topFlags
+ args = append(args, c.subcommandArgs...)
+ c.topFlags = nil
+ c.subcommandArgs = args
+ }
+ }
+}
+
+// defaultAutocompleteInstall and defaultAutocompleteUninstall are the
+// default values for the autocomplete install and uninstall flags.
+const defaultAutocompleteInstall = "autocomplete-install"
+const defaultAutocompleteUninstall = "autocomplete-uninstall"
+
+const defaultHelpTemplate = `
+{{.Help}}{{if gt (len .Subcommands) 0}}
+
+Subcommands:
+{{- range $value := .Subcommands }}
+ {{ $value.NameAligned }} {{ $value.Synopsis }}{{ end }}
+{{- end }}
+`
diff --git a/vendor/github.com/mitchellh/cli/cli_test.go b/vendor/github.com/mitchellh/cli/cli_test.go
new file mode 100644
index 00000000..864d6fae
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/cli_test.go
@@ -0,0 +1,1296 @@
+package cli
+
+import (
+ "bytes"
+ "fmt"
+ "os"
+ "reflect"
+ "sort"
+ "strings"
+ "testing"
+
+ "github.com/posener/complete"
+)
+
+// envComplete is the env var that the complete library sets to specify
+// it should be calculating an auto-completion. This isn't exported so we
+// reproduce it here. If it changes then we'll have to update this.
+const envComplete = "COMP_LINE"
+
+func TestCLIIsHelp(t *testing.T) {
+ testCases := []struct {
+ args []string
+ isHelp bool
+ }{
+ {[]string{"-h"}, true},
+ {[]string{"-help"}, true},
+ {[]string{"--help"}, true},
+ {[]string{"-h", "foo"}, true},
+ {[]string{"foo", "bar"}, false},
+ {[]string{"-v", "bar"}, false},
+ {[]string{"foo", "-h"}, true},
+ {[]string{"foo", "-help"}, true},
+ {[]string{"foo", "--help"}, true},
+ {[]string{"foo", "bar", "-h"}, true},
+ {[]string{"foo", "bar", "-help"}, true},
+ {[]string{"foo", "bar", "--help"}, true},
+ {[]string{"foo", "bar", "--", "zip", "-h"}, false},
+ {[]string{"foo", "bar", "--", "zip", "-help"}, false},
+ {[]string{"foo", "bar", "--", "zip", "--help"}, false},
+ }
+
+ for _, testCase := range testCases {
+ cli := &CLI{Args: testCase.args}
+ result := cli.IsHelp()
+
+ if result != testCase.isHelp {
+ t.Errorf("Expected '%#v'. Args: %#v", testCase.isHelp, testCase.args)
+ }
+ }
+}
+
+func TestCLIIsVersion(t *testing.T) {
+ testCases := []struct {
+ args []string
+ isVersion bool
+ }{
+ {[]string{"--", "-v"}, false},
+ {[]string{"--", "-version"}, false},
+ {[]string{"--", "--version"}, false},
+ {[]string{"-v"}, true},
+ {[]string{"-version"}, true},
+ {[]string{"--version"}, true},
+ {[]string{"-v", "foo"}, true},
+ {[]string{"foo", "bar"}, false},
+ {[]string{"-h", "bar"}, false},
+ {[]string{"foo", "-v"}, false},
+ {[]string{"foo", "-version"}, false},
+ {[]string{"foo", "--version"}, false},
+ {[]string{"foo", "--", "zip", "-v"}, false},
+ {[]string{"foo", "--", "zip", "-version"}, false},
+ {[]string{"foo", "--", "zip", "--version"}, false},
+ }
+
+ for _, testCase := range testCases {
+ cli := &CLI{Args: testCase.args}
+ result := cli.IsVersion()
+
+ if result != testCase.isVersion {
+ t.Errorf("Expected '%#v'. Args: %#v", testCase.isVersion, testCase.args)
+ }
+ }
+}
+
+func TestCLIRun(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Args: []string{"foo", "-bar", "-baz"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != command.RunResult {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if !command.RunCalled {
+ t.Fatalf("run should be called")
+ }
+
+ if !reflect.DeepEqual(command.RunArgs, []string{"-bar", "-baz"}) {
+ t.Fatalf("bad args: %#v", command.RunArgs)
+ }
+}
+
+func TestCLIRun_blank(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Args: []string{"", "foo", "-bar", "-baz"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != command.RunResult {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if !command.RunCalled {
+ t.Fatalf("run should be called")
+ }
+
+ if !reflect.DeepEqual(command.RunArgs, []string{"-bar", "-baz"}) {
+ t.Fatalf("bad args: %#v", command.RunArgs)
+ }
+}
+
+func TestCLIRun_prefix(t *testing.T) {
+ buf := new(bytes.Buffer)
+ command := new(MockCommand)
+ cli := &CLI{
+ Args: []string{"foobar"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+
+ "foo bar": func() (Command, error) {
+ return command, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 127 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+}
+
+func TestCLIRun_default(t *testing.T) {
+ commandBar := new(MockCommand)
+ commandBar.RunResult = 42
+
+ cli := &CLI{
+ Args: []string{"-bar", "-baz"},
+ Commands: map[string]CommandFactory{
+ "": func() (Command, error) {
+ return commandBar, nil
+ },
+ "foo": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ },
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != commandBar.RunResult {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if !commandBar.RunCalled {
+ t.Fatalf("run should be called")
+ }
+
+ if !reflect.DeepEqual(commandBar.RunArgs, []string{"-bar", "-baz"}) {
+ t.Fatalf("bad args: %#v", commandBar.RunArgs)
+ }
+}
+
+func TestCLIRun_helpNested(t *testing.T) {
+ helpCalled := false
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: []string{"--help"},
+ Commands: map[string]CommandFactory{
+ "foo sub42": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ },
+ HelpFunc: func(m map[string]CommandFactory) string {
+ helpCalled = true
+
+ var keys []string
+ for k := range m {
+ keys = append(keys, k)
+ }
+ sort.Strings(keys)
+
+ expected := []string{"foo"}
+ if !reflect.DeepEqual(keys, expected) {
+ return fmt.Sprintf("error: contained sub: %#v", keys)
+ }
+
+ return ""
+ },
+ HelpWriter: buf,
+ }
+
+ code, err := cli.Run()
+ if err != nil {
+ t.Fatalf("Error: %s", err)
+ }
+
+ if code != 0 {
+ t.Fatalf("Code: %d", code)
+ }
+
+ if !helpCalled {
+ t.Fatal("help not called")
+ }
+}
+
+func TestCLIRun_nested(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Args: []string{"foo", "bar", "-bar", "-baz"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ "foo bar": func() (Command, error) {
+ return command, nil
+ },
+ },
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != command.RunResult {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if !command.RunCalled {
+ t.Fatalf("run should be called")
+ }
+
+ if !reflect.DeepEqual(command.RunArgs, []string{"-bar", "-baz"}) {
+ t.Fatalf("bad args: %#v", command.RunArgs)
+ }
+}
+
+func TestCLIRun_nestedMissingParent(t *testing.T) {
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: []string{"foo"},
+ Commands: map[string]CommandFactory{
+ "foo bar": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 1 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != testCommandNestedMissingParent {
+ t.Fatalf("bad: %#v", buf.String())
+ }
+}
+
+func TestCLIRun_printHelp(t *testing.T) {
+ testCases := [][]string{
+ {"-h"},
+ {"--help"},
+ }
+
+ for _, testCase := range testCases {
+ buf := new(bytes.Buffer)
+ helpText := "foo"
+
+ cli := &CLI{
+ Args: testCase,
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ },
+ HelpFunc: func(map[string]CommandFactory) string {
+ return helpText
+ },
+ HelpWriter: buf,
+ }
+
+ code, err := cli.Run()
+ if err != nil {
+ t.Errorf("Args: %#v. Error: %s", testCase, err)
+ continue
+ }
+
+ if code != 0 {
+ t.Errorf("Args: %#v. Code: %d", testCase, code)
+ continue
+ }
+
+ if !strings.Contains(buf.String(), helpText) {
+ t.Errorf("Args: %#v. Text: %v", testCase, buf.String())
+ }
+ }
+}
+
+func TestCLIRun_printHelpIllegal(t *testing.T) {
+ testCases := []struct {
+ args []string
+ exit int
+ }{
+ {nil, 127},
+ {[]string{"i-dont-exist"}, 127},
+ {[]string{"-bad-flag", "foo"}, 1},
+ }
+
+ for _, testCase := range testCases {
+ buf := new(bytes.Buffer)
+ helpText := "foo"
+
+ cli := &CLI{
+ Args: testCase.args,
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return &MockCommand{HelpText: helpText}, nil
+ },
+ "foo sub42": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ },
+ HelpFunc: func(m map[string]CommandFactory) string {
+ var keys []string
+ for k := range m {
+ keys = append(keys, k)
+ }
+ sort.Strings(keys)
+
+ expected := []string{"foo"}
+ if !reflect.DeepEqual(keys, expected) {
+ return fmt.Sprintf("error: contained sub: %#v", keys)
+ }
+
+ return helpText
+ },
+ HelpWriter: buf,
+ }
+
+ code, err := cli.Run()
+ if err != nil {
+ t.Errorf("Args: %#v. Error: %s", testCase, err)
+ continue
+ }
+
+ if code != testCase.exit {
+ t.Errorf("Args: %#v. Code: %d", testCase, code)
+ continue
+ }
+
+ if strings.Contains(buf.String(), "error") {
+ t.Errorf("Args: %#v. Text: %v", testCase, buf.String())
+ }
+
+ if !strings.Contains(buf.String(), helpText) {
+ t.Errorf("Args: %#v. Text: %v", testCase, buf.String())
+ }
+ }
+}
+
+func TestCLIRun_printCommandHelp(t *testing.T) {
+ testCases := [][]string{
+ {"--help", "foo"},
+ {"-h", "foo"},
+ }
+
+ for _, args := range testCases {
+ command := &MockCommand{
+ HelpText: "donuts",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != (command.HelpText + "\n") {
+ t.Fatalf("bad: %#v", buf.String())
+ }
+ }
+}
+
+func TestCLIRun_printCommandHelpNested(t *testing.T) {
+ testCases := [][]string{
+ {"--help", "foo", "bar"},
+ {"-h", "foo", "bar"},
+ }
+
+ for _, args := range testCases {
+ command := &MockCommand{
+ HelpText: "donuts",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "foo bar": func() (Command, error) {
+ return command, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != (command.HelpText + "\n") {
+ t.Fatalf("bad: %#v", buf.String())
+ }
+ }
+}
+
+func TestCLIRun_printCommandHelpSubcommands(t *testing.T) {
+ testCases := [][]string{
+ {"--help", "foo"},
+ {"-h", "foo"},
+ }
+
+ for _, args := range testCases {
+ command := &MockCommand{
+ HelpText: "donuts",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ "foo bar": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo zip": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo zap": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo banana": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo longer": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo longer longest": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != testCommandHelpSubcommandsOutput {
+ t.Fatalf("bad: %#v\n\n'%#v'\n\n'%#v'", args, buf.String(), testCommandHelpSubcommandsOutput)
+ }
+ }
+}
+
+func TestCLIRun_printCommandHelpSubcommandsNestedTwoLevel(t *testing.T) {
+ testCases := [][]string{
+ {"--help", "L1"},
+ {"-h", "L1"},
+ }
+
+ for _, args := range testCases {
+ command := &MockCommand{
+ HelpText: "donuts",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "L1": func() (Command, error) {
+ return command, nil
+ },
+ "L1 L2A": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "L1 L2B": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "L1 L2A L3A": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "L1 L2A L3B": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != testCommandHelpSubcommandsTwoLevelOutput {
+ t.Fatalf("bad: %#v\n\n%s\n\n%s", args, buf.String(), testCommandHelpSubcommandsOutput)
+ }
+ }
+}
+
+// Test that the root help only prints the root level.
+func TestCLIRun_printHelpRootSubcommands(t *testing.T) {
+ testCases := [][]string{
+ {"--help"},
+ {"-h"},
+ }
+
+ for _, args := range testCases {
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "bar": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo bar": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo zip": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ expected := `Usage: app [--version] [--help] <command> [<args>]
+
+Available commands are:
+ bar hi!
+ foo hi!
+
+`
+ if buf.String() != expected {
+ t.Fatalf("bad: %#v\n\n'%#v'\n\n'%#v'", args, buf.String(), expected)
+ }
+ }
+}
+
+func TestCLIRun_printCommandHelpTemplate(t *testing.T) {
+ testCases := [][]string{
+ {"--help", "foo"},
+ {"-h", "foo"},
+ }
+
+ for _, args := range testCases {
+ command := &MockCommandHelpTemplate{
+ MockCommand: MockCommand{
+ HelpText: "donuts",
+ },
+
+ HelpTemplateText: "hello {{.Help}}",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: args,
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != "hello "+command.HelpText+"\n" {
+ t.Fatalf("bad: %#v", buf.String())
+ }
+ }
+}
+
+func TestCLIRun_helpHiddenRoot(t *testing.T) {
+ helpCalled := false
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: []string{"--help"},
+ HiddenCommands: []string{"bar"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return &MockCommand{}, nil
+ },
+ "bar": func() (Command, error) {
+ return &MockCommand{}, nil
+ },
+ },
+ HelpFunc: func(m map[string]CommandFactory) string {
+ helpCalled = true
+
+ if _, ok := m["foo"]; !ok {
+ t.Fatal("should have foo")
+ }
+ if _, ok := m["bar"]; ok {
+ t.Fatal("should not have bar")
+ }
+
+ return ""
+ },
+ HelpWriter: buf,
+ }
+
+ code, err := cli.Run()
+ if err != nil {
+ t.Fatalf("Error: %s", err)
+ }
+
+ if code != 0 {
+ t.Fatalf("Code: %d", code)
+ }
+
+ if !helpCalled {
+ t.Fatal("help not called")
+ }
+}
+
+func TestCLIRun_helpHiddenNested(t *testing.T) {
+ command := &MockCommand{
+ HelpText: "donuts",
+ }
+
+ buf := new(bytes.Buffer)
+ cli := &CLI{
+ Args: []string{"foo", "--help"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ "foo bar": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo zip": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo longer": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ "foo longer longest": func() (Command, error) {
+ return &MockCommand{SynopsisText: "hi!"}, nil
+ },
+ },
+ HiddenCommands: []string{"foo zip", "foo longer longest"},
+ HelpWriter: buf,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad exit code: %d", exitCode)
+ }
+
+ if buf.String() != testCommandHelpSubcommandsHiddenOutput {
+ t.Fatalf("bad: '%#v'\n\n'%#v'", buf.String(), testCommandHelpSubcommandsOutput)
+ }
+}
+
+func TestCLIRun_autocompleteBoth(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Args: []string{
+ "-" + defaultAutocompleteInstall,
+ "-" + defaultAutocompleteUninstall,
+ },
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Name: "foo",
+ Autocomplete: true,
+ autocompleteInstaller: &mockAutocompleteInstaller{},
+ }
+
+ exitCode, err := cli.Run()
+ if err == nil {
+ t.Fatal("should error")
+ }
+
+ if exitCode != 1 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+}
+
+func TestCLIRun_autocompleteInstall(t *testing.T) {
+ command := new(MockCommand)
+ installer := new(mockAutocompleteInstaller)
+ cli := &CLI{
+ Args: []string{
+ "-" + defaultAutocompleteInstall,
+ },
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Name: "foo",
+ Autocomplete: true,
+ autocompleteInstaller: installer,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+
+ if !installer.InstallCalled {
+ t.Fatal("should call install")
+ }
+}
+
+func TestCLIRun_autocompleteUninstall(t *testing.T) {
+ command := new(MockCommand)
+ installer := new(mockAutocompleteInstaller)
+ cli := &CLI{
+ Args: []string{
+ "-" + defaultAutocompleteUninstall,
+ },
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Name: "foo",
+ Autocomplete: true,
+ autocompleteInstaller: installer,
+ }
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+
+ if !installer.UninstallCalled {
+ t.Fatal("should call uninstall")
+ }
+}
+
+func TestCLIRun_autocompleteNoName(t *testing.T) {
+ command := new(MockCommand)
+ installer := new(mockAutocompleteInstaller)
+ cli := &CLI{
+ Args: []string{"foo"},
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Autocomplete: true,
+ autocompleteInstaller: installer,
+ }
+
+ exitCode, err := cli.Run()
+ if err == nil {
+ t.Fatal("should error")
+ }
+
+ if exitCode != 1 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+}
+
+// Test that running `-autocomplete-install<tab>` doesn't execute
+// the autocomplete installer. This was a bug reported by Nomad.
+func TestCLIRun_autocompleteInstallTab(t *testing.T) {
+ command := new(MockCommand)
+ installer := new(mockAutocompleteInstaller)
+ cli := &CLI{
+ Args: []string{
+ "-" + defaultAutocompleteInstall,
+ },
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Name: "foo",
+ Autocomplete: true,
+ autocompleteInstaller: installer,
+ }
+
+ defer testAutocomplete(t, "foo -autocomplete-install")()
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+
+ if installer.InstallCalled {
+ t.Fatal("should not call install")
+ }
+}
+
+func TestCLIRun_autocompleteHelpTab(t *testing.T) {
+ buf := new(bytes.Buffer)
+ command := new(MockCommand)
+ installer := new(mockAutocompleteInstaller)
+ cli := &CLI{
+ Args: []string{
+ "-help",
+ },
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Name: "foo",
+ HelpWriter: buf,
+ Autocomplete: true,
+ autocompleteInstaller: installer,
+ }
+
+ defer testAutocomplete(t, "foo -help")()
+
+ exitCode, err := cli.Run()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if exitCode != 0 {
+ t.Fatalf("bad: %d", exitCode)
+ }
+
+ if command.RunCalled {
+ t.Fatalf("run should not be called")
+ }
+
+ if buf.String() != "" {
+ t.Fatal("help should be empty")
+ }
+}
+
+func TestCLIAutocomplete_root(t *testing.T) {
+ cases := []struct {
+ Completed []string
+ Last string
+ Expected []string
+ }{
+ {nil, "-v", []string{"-version"}},
+ {nil, "-h", []string{"-help"}},
+ {nil, "-a", []string{
+ "-" + defaultAutocompleteInstall,
+ "-" + defaultAutocompleteUninstall,
+ }},
+
+ {nil, "f", []string{"foo"}},
+ {nil, "n", []string{"nodes", "noodles"}},
+ {nil, "noo", []string{"noodles"}},
+ {nil, "su", []string{"sub"}},
+ {nil, "h", nil},
+
+ // Make sure global flags work on subcommands
+ {[]string{"sub"}, "-v", nil},
+ {[]string{"sub"}, "o", []string{"one"}},
+ {[]string{"sub"}, "su", []string{"sub2"}},
+ {[]string{"sub", "sub2"}, "o", []string{"one"}},
+ {[]string{"deep", "deep2"}, "a", []string{"a1"}},
+ }
+
+ for _, tc := range cases {
+ t.Run(tc.Last, func(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) { return command, nil },
+ "nodes": func() (Command, error) { return command, nil },
+ "noodles": func() (Command, error) { return command, nil },
+ "hidden": func() (Command, error) { return command, nil },
+ "sub one": func() (Command, error) { return command, nil },
+ "sub two": func() (Command, error) { return command, nil },
+ "sub sub2 one": func() (Command, error) { return command, nil },
+ "sub sub2 two": func() (Command, error) { return command, nil },
+ "deep deep2 a1": func() (Command, error) { return command, nil },
+ "deep deep2 b2": func() (Command, error) { return command, nil },
+ },
+ HiddenCommands: []string{"hidden"},
+
+ Autocomplete: true,
+ }
+
+ // Initialize
+ cli.init()
+
+ // Build All value
+ var all []string
+ all = append(all, tc.Completed...)
+ all = append(all, tc.Last)
+
+ // Test the autocompleter
+ actual := cli.autocomplete.Command.Predict(complete.Args{
+ All: all,
+ Completed: tc.Completed,
+ Last: tc.Last,
+ })
+ sort.Strings(actual)
+
+ if !reflect.DeepEqual(actual, tc.Expected) {
+ t.Fatalf("bad prediction: %#v", actual)
+ }
+ })
+ }
+}
+
+func TestCLIAutocomplete_rootGlobalFlags(t *testing.T) {
+ cases := []struct {
+ Completed []string
+ Last string
+ Expected []string
+ }{
+ {nil, "-v", []string{"-version"}},
+ {nil, "-t", []string{"-tubes"}},
+ }
+
+ for _, tc := range cases {
+ t.Run(tc.Last, func(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) { return command, nil },
+ },
+
+ Autocomplete: true,
+ AutocompleteGlobalFlags: map[string]complete.Predictor{
+ "-tubes": complete.PredictNothing,
+ },
+ }
+
+ // Initialize
+ cli.init()
+
+ // Test the autocompleter
+ actual := cli.autocomplete.Command.Predict(complete.Args{
+ Completed: tc.Completed,
+ Last: tc.Last,
+ })
+ sort.Strings(actual)
+
+ if !reflect.DeepEqual(actual, tc.Expected) {
+ t.Fatalf("bad prediction: %#v", actual)
+ }
+ })
+ }
+}
+
+func TestCLIAutocomplete_rootDisableDefaultFlags(t *testing.T) {
+ cases := []struct {
+ Completed []string
+ Last string
+ Expected []string
+ }{
+ {nil, "-v", nil},
+ {nil, "-h", nil},
+ {nil, "-auto", nil},
+ {nil, "-t", []string{"-tubes"}},
+ }
+
+ for _, tc := range cases {
+ t.Run(tc.Last, func(t *testing.T) {
+ command := new(MockCommand)
+ cli := &CLI{
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) { return command, nil },
+ },
+
+ Autocomplete: true,
+ AutocompleteNoDefaultFlags: true,
+ AutocompleteGlobalFlags: map[string]complete.Predictor{
+ "-tubes": complete.PredictNothing,
+ },
+ }
+
+ // Initialize
+ cli.init()
+
+ // Test the autocompleter
+ actual := cli.autocomplete.Command.Predict(complete.Args{
+ Completed: tc.Completed,
+ Last: tc.Last,
+ })
+ sort.Strings(actual)
+
+ if !reflect.DeepEqual(actual, tc.Expected) {
+ t.Fatalf("bad prediction: %#v", actual)
+ }
+ })
+ }
+}
+
+func TestCLIAutocomplete_subcommandArgs(t *testing.T) {
+ cases := []struct {
+ Completed []string
+ Last string
+ Expected []string
+ }{
+ {[]string{"foo"}, "RE", []string{"README.md"}},
+ {[]string{"foo", "-go"}, "asdf", []string{"yo"}},
+ }
+
+ for _, tc := range cases {
+ t.Run(tc.Last, func(t *testing.T) {
+ command := new(MockCommandAutocomplete)
+ command.AutocompleteArgsValue = complete.PredictFiles("*")
+ command.AutocompleteFlagsValue = map[string]complete.Predictor{
+ "-go": complete.PredictFunc(func(complete.Args) []string {
+ return []string{"yo"}
+ }),
+ }
+
+ cli := &CLI{
+ Commands: map[string]CommandFactory{
+ "foo": func() (Command, error) {
+ return command, nil
+ },
+ },
+
+ Autocomplete: true,
+ }
+
+ // Initialize
+ cli.init()
+
+ // Test the autocompleter
+ actual := cli.autocomplete.Command.Predict(complete.Args{
+ Completed: tc.Completed,
+ Last: tc.Last,
+ LastCompleted: tc.Completed[len(tc.Completed)-1],
+ })
+ sort.Strings(actual)
+
+ if !reflect.DeepEqual(actual, tc.Expected) {
+ t.Fatalf("bad prediction: %#v", actual)
+ }
+ })
+ }
+}
+
+func TestCLISubcommand(t *testing.T) {
+ testCases := []struct {
+ args []string
+ subcommand string
+ }{
+ {[]string{"bar"}, "bar"},
+ {[]string{"foo", "-h"}, "foo"},
+ {[]string{"-h", "bar"}, "bar"},
+ {[]string{"foo", "bar", "-h"}, "foo"},
+ }
+
+ for _, testCase := range testCases {
+ cli := &CLI{Args: testCase.args}
+ result := cli.Subcommand()
+
+ if result != testCase.subcommand {
+ t.Errorf("Expected %#v, got %#v. Args: %#v",
+ testCase.subcommand, result, testCase.args)
+ }
+ }
+}
+
+func TestCLISubcommand_nested(t *testing.T) {
+ testCases := []struct {
+ args []string
+ subcommand string
+ }{
+ {[]string{"bar"}, "bar"},
+ {[]string{"foo", "-h"}, "foo"},
+ {[]string{"-h", "bar"}, "bar"},
+ {[]string{"foo", "bar", "-h"}, "foo bar"},
+ {[]string{"foo", "bar", "baz", "-h"}, "foo bar"},
+ {[]string{"foo", "bar", "-h", "baz"}, "foo bar"},
+ {[]string{"-h", "foo", "bar"}, "foo bar"},
+ }
+
+ for _, testCase := range testCases {
+ cli := &CLI{
+ Args: testCase.args,
+ Commands: map[string]CommandFactory{
+ "foo bar": func() (Command, error) {
+ return new(MockCommand), nil
+ },
+ },
+ }
+ result := cli.Subcommand()
+
+ if result != testCase.subcommand {
+ t.Errorf("Expected %#v, got %#v. Args: %#v",
+ testCase.subcommand, result, testCase.args)
+ }
+ }
+}
+
+// testAutocomplete sets up the environment to behave like a <tab> was
+// pressed in a shell to autocomplete a command.
+func testAutocomplete(t *testing.T, input string) func() {
+ // This env var is used to trigger autocomplete
+ os.Setenv(envComplete, input)
+
+ // Change stdout/stderr since the autocompleter writes directly to them.
+ oldStdout := os.Stdout
+ oldStderr := os.Stderr
+
+ r, w, err := os.Pipe()
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ os.Stdout = w
+ os.Stderr = w
+
+ return func() {
+ // Reset our env
+ os.Unsetenv(envComplete)
+
+ // Reset stdout, stderr
+ os.Stdout = oldStdout
+ os.Stderr = oldStderr
+
+ // Close our pipe
+ r.Close()
+ w.Close()
+ }
+}
+
+const testCommandNestedMissingParent = `This command is accessed by using one of the subcommands below.
+
+Subcommands:
+ bar hi!
+`
+
+const testCommandHelpSubcommandsOutput = `donuts
+
+Subcommands:
+ banana hi!
+ bar hi!
+ longer hi!
+ zap hi!
+ zip hi!
+`
+
+const testCommandHelpSubcommandsHiddenOutput = `donuts
+
+Subcommands:
+ bar hi!
+ longer hi!
+`
+
+const testCommandHelpSubcommandsTwoLevelOutput = `donuts
+
+Subcommands:
+ L2A hi!
+ L2B hi!
+`
diff --git a/vendor/github.com/mitchellh/cli/command.go b/vendor/github.com/mitchellh/cli/command.go
new file mode 100644
index 00000000..bed11faf
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/command.go
@@ -0,0 +1,67 @@
+package cli
+
+import (
+ "github.com/posener/complete"
+)
+
+const (
+ // RunResultHelp is a value that can be returned from Run to signal
+ // to the CLI to render the help output.
+ RunResultHelp = -18511
+)
+
+// A command is a runnable sub-command of a CLI.
+type Command interface {
+ // Help should return long-form help text that includes the command-line
+ // usage, a brief few sentences explaining the function of the command,
+ // and the complete list of flags the command accepts.
+ Help() string
+
+ // Run should run the actual command with the given CLI instance and
+ // command-line arguments. It should return the exit status when it is
+ // finished.
+ //
+ // There are a handful of special exit codes this can return documented
+ // above that change behavior.
+ Run(args []string) int
+
+ // Synopsis should return a one-line, short synopsis of the command.
+ // This should be less than 50 characters ideally.
+ Synopsis() string
+}
+
+// CommandAutocomplete is an extension of Command that enables fine-grained
+// autocompletion. Subcommand autocompletion will work even if this interface
+// is not implemented. By implementing this interface, more advanced
+// autocompletion is enabled.
+type CommandAutocomplete interface {
+ // AutocompleteArgs returns the argument predictor for this command.
+ // If argument completion is not supported, this should return
+ // complete.PredictNothing.
+ AutocompleteArgs() complete.Predictor
+
+ // AutocompleteFlags returns a mapping of supported flags and autocomplete
+ // options for this command. The map key for the Flags map should be the
+ // complete flag such as "-foo" or "--foo".
+ AutocompleteFlags() complete.Flags
+}
+
+// CommandHelpTemplate is an extension of Command that also has a function
+// for returning a template for the help rather than the help itself. In
+// this scenario, both Help and HelpTemplate should be implemented.
+//
+// If CommandHelpTemplate isn't implemented, the Help is output as-is.
+type CommandHelpTemplate interface {
+ // HelpTemplate is the template in text/template format to use for
+ // displaying the Help. The keys available are:
+ //
+ // * ".Help" - The help text itself
+ // * ".Subcommands"
+ //
+ HelpTemplate() string
+}
+
+// CommandFactory is a type of function that is a factory for commands.
+// We need a factory because we may need to setup some state on the
+// struct that implements the command itself.
+type CommandFactory func() (Command, error)
diff --git a/vendor/github.com/mitchellh/cli/command_mock.go b/vendor/github.com/mitchellh/cli/command_mock.go
new file mode 100644
index 00000000..7a584b7e
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/command_mock.go
@@ -0,0 +1,63 @@
+package cli
+
+import (
+ "github.com/posener/complete"
+)
+
+// MockCommand is an implementation of Command that can be used for tests.
+// It is publicly exported from this package in case you want to use it
+// externally.
+type MockCommand struct {
+ // Settable
+ HelpText string
+ RunResult int
+ SynopsisText string
+
+ // Set by the command
+ RunCalled bool
+ RunArgs []string
+}
+
+func (c *MockCommand) Help() string {
+ return c.HelpText
+}
+
+func (c *MockCommand) Run(args []string) int {
+ c.RunCalled = true
+ c.RunArgs = args
+
+ return c.RunResult
+}
+
+func (c *MockCommand) Synopsis() string {
+ return c.SynopsisText
+}
+
+// MockCommandAutocomplete is an implementation of CommandAutocomplete.
+type MockCommandAutocomplete struct {
+ MockCommand
+
+ // Settable
+ AutocompleteArgsValue complete.Predictor
+ AutocompleteFlagsValue complete.Flags
+}
+
+func (c *MockCommandAutocomplete) AutocompleteArgs() complete.Predictor {
+ return c.AutocompleteArgsValue
+}
+
+func (c *MockCommandAutocomplete) AutocompleteFlags() complete.Flags {
+ return c.AutocompleteFlagsValue
+}
+
+// MockCommandHelpTemplate is an implementation of CommandHelpTemplate.
+type MockCommandHelpTemplate struct {
+ MockCommand
+
+ // Settable
+ HelpTemplateText string
+}
+
+func (c *MockCommandHelpTemplate) HelpTemplate() string {
+ return c.HelpTemplateText
+}
diff --git a/vendor/github.com/mitchellh/cli/command_mock_test.go b/vendor/github.com/mitchellh/cli/command_mock_test.go
new file mode 100644
index 00000000..241f3393
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/command_mock_test.go
@@ -0,0 +1,9 @@
+package cli
+
+import (
+ "testing"
+)
+
+func TestMockCommand_implements(t *testing.T) {
+ var _ Command = new(MockCommand)
+}
diff --git a/vendor/github.com/mitchellh/cli/help.go b/vendor/github.com/mitchellh/cli/help.go
new file mode 100644
index 00000000..f5ca58f5
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/help.go
@@ -0,0 +1,79 @@
+package cli
+
+import (
+ "bytes"
+ "fmt"
+ "log"
+ "sort"
+ "strings"
+)
+
+// HelpFunc is the type of the function that is responsible for generating
+// the help output when the CLI must show the general help text.
+type HelpFunc func(map[string]CommandFactory) string
+
+// BasicHelpFunc generates some basic help output that is usually good enough
+// for most CLI applications.
+func BasicHelpFunc(app string) HelpFunc {
+ return func(commands map[string]CommandFactory) string {
+ var buf bytes.Buffer
+ buf.WriteString(fmt.Sprintf(
+ "Usage: %s [--version] [--help] <command> [<args>]\n\n",
+ app))
+ buf.WriteString("Available commands are:\n")
+
+ // Get the list of keys so we can sort them, and also get the maximum
+ // key length so they can be aligned properly.
+ keys := make([]string, 0, len(commands))
+ maxKeyLen := 0
+ for key := range commands {
+ if len(key) > maxKeyLen {
+ maxKeyLen = len(key)
+ }
+
+ keys = append(keys, key)
+ }
+ sort.Strings(keys)
+
+ for _, key := range keys {
+ commandFunc, ok := commands[key]
+ if !ok {
+ // This should never happen since we JUST built the list of
+ // keys.
+ panic("command not found: " + key)
+ }
+
+ command, err := commandFunc()
+ if err != nil {
+ log.Printf("[ERR] cli: Command '%s' failed to load: %s",
+ key, err)
+ continue
+ }
+
+ key = fmt.Sprintf("%s%s", key, strings.Repeat(" ", maxKeyLen-len(key)))
+ buf.WriteString(fmt.Sprintf(" %s %s\n", key, command.Synopsis()))
+ }
+
+ return buf.String()
+ }
+}
+
+// FilteredHelpFunc will filter the commands to only include the keys
+// in the include parameter.
+func FilteredHelpFunc(include []string, f HelpFunc) HelpFunc {
+ return func(commands map[string]CommandFactory) string {
+ set := make(map[string]struct{})
+ for _, k := range include {
+ set[k] = struct{}{}
+ }
+
+ filtered := make(map[string]CommandFactory)
+ for k, f := range commands {
+ if _, ok := set[k]; ok {
+ filtered[k] = f
+ }
+ }
+
+ return f(filtered)
+ }
+}
diff --git a/vendor/github.com/mitchellh/cli/ui.go b/vendor/github.com/mitchellh/cli/ui.go
new file mode 100644
index 00000000..a2d6f94f
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui.go
@@ -0,0 +1,187 @@
+package cli
+
+import (
+ "bufio"
+ "errors"
+ "fmt"
+ "io"
+ "os"
+ "os/signal"
+ "strings"
+
+ "github.com/bgentry/speakeasy"
+ "github.com/mattn/go-isatty"
+)
+
+// Ui is an interface for interacting with the terminal, or "interface"
+// of a CLI. This abstraction doesn't have to be used, but helps provide
+// a simple, layerable way to manage user interactions.
+type Ui interface {
+ // Ask asks the user for input using the given query. The response is
+ // returned as the given string, or an error.
+ Ask(string) (string, error)
+
+ // AskSecret asks the user for input using the given query, but does not echo
+ // the keystrokes to the terminal.
+ AskSecret(string) (string, error)
+
+ // Output is called for normal standard output.
+ Output(string)
+
+ // Info is called for information related to the previous output.
+ // In general this may be the exact same as Output, but this gives
+ // Ui implementors some flexibility with output formats.
+ Info(string)
+
+ // Error is used for any error messages that might appear on standard
+ // error.
+ Error(string)
+
+ // Warn is used for any warning messages that might appear on standard
+ // error.
+ Warn(string)
+}
+
+// BasicUi is an implementation of Ui that just outputs to the given
+// writer. This UI is not threadsafe by default, but you can wrap it
+// in a ConcurrentUi to make it safe.
+type BasicUi struct {
+ Reader io.Reader
+ Writer io.Writer
+ ErrorWriter io.Writer
+}
+
+func (u *BasicUi) Ask(query string) (string, error) {
+ return u.ask(query, false)
+}
+
+func (u *BasicUi) AskSecret(query string) (string, error) {
+ return u.ask(query, true)
+}
+
+func (u *BasicUi) ask(query string, secret bool) (string, error) {
+ if _, err := fmt.Fprint(u.Writer, query+" "); err != nil {
+ return "", err
+ }
+
+ // Register for interrupts so that we can catch it and immediately
+ // return...
+ sigCh := make(chan os.Signal, 1)
+ signal.Notify(sigCh, os.Interrupt)
+ defer signal.Stop(sigCh)
+
+ // Ask for input in a go-routine so that we can ignore it.
+ errCh := make(chan error, 1)
+ lineCh := make(chan string, 1)
+ go func() {
+ var line string
+ var err error
+ if secret && isatty.IsTerminal(os.Stdin.Fd()) {
+ line, err = speakeasy.Ask("")
+ } else {
+ r := bufio.NewReader(u.Reader)
+ line, err = r.ReadString('\n')
+ }
+ if err != nil {
+ errCh <- err
+ return
+ }
+
+ lineCh <- strings.TrimRight(line, "\r\n")
+ }()
+
+ select {
+ case err := <-errCh:
+ return "", err
+ case line := <-lineCh:
+ return line, nil
+ case <-sigCh:
+ // Print a newline so that any further output starts properly
+ // on a new line.
+ fmt.Fprintln(u.Writer)
+
+ return "", errors.New("interrupted")
+ }
+}
+
+func (u *BasicUi) Error(message string) {
+ w := u.Writer
+ if u.ErrorWriter != nil {
+ w = u.ErrorWriter
+ }
+
+ fmt.Fprint(w, message)
+ fmt.Fprint(w, "\n")
+}
+
+func (u *BasicUi) Info(message string) {
+ u.Output(message)
+}
+
+func (u *BasicUi) Output(message string) {
+ fmt.Fprint(u.Writer, message)
+ fmt.Fprint(u.Writer, "\n")
+}
+
+func (u *BasicUi) Warn(message string) {
+ u.Error(message)
+}
+
+// PrefixedUi is an implementation of Ui that prefixes messages.
+type PrefixedUi struct {
+ AskPrefix string
+ AskSecretPrefix string
+ OutputPrefix string
+ InfoPrefix string
+ ErrorPrefix string
+ WarnPrefix string
+ Ui Ui
+}
+
+func (u *PrefixedUi) Ask(query string) (string, error) {
+ if query != "" {
+ query = fmt.Sprintf("%s%s", u.AskPrefix, query)
+ }
+
+ return u.Ui.Ask(query)
+}
+
+func (u *PrefixedUi) AskSecret(query string) (string, error) {
+ if query != "" {
+ query = fmt.Sprintf("%s%s", u.AskSecretPrefix, query)
+ }
+
+ return u.Ui.AskSecret(query)
+}
+
+func (u *PrefixedUi) Error(message string) {
+ if message != "" {
+ message = fmt.Sprintf("%s%s", u.ErrorPrefix, message)
+ }
+
+ u.Ui.Error(message)
+}
+
+func (u *PrefixedUi) Info(message string) {
+ if message != "" {
+ message = fmt.Sprintf("%s%s", u.InfoPrefix, message)
+ }
+
+ u.Ui.Info(message)
+}
+
+func (u *PrefixedUi) Output(message string) {
+ if message != "" {
+ message = fmt.Sprintf("%s%s", u.OutputPrefix, message)
+ }
+
+ u.Ui.Output(message)
+}
+
+func (u *PrefixedUi) Warn(message string) {
+ if message != "" {
+ message = fmt.Sprintf("%s%s", u.WarnPrefix, message)
+ }
+
+ u.Ui.Warn(message)
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_colored.go b/vendor/github.com/mitchellh/cli/ui_colored.go
new file mode 100644
index 00000000..e3d5131d
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_colored.go
@@ -0,0 +1,69 @@
+package cli
+
+import (
+ "fmt"
+)
+
+// UiColor is a posix shell color code to use.
+type UiColor struct {
+ Code int
+ Bold bool
+}
+
+// A list of colors that are useful. These are all non-bolded by default.
+var (
+ UiColorNone UiColor = UiColor{-1, false}
+ UiColorRed = UiColor{31, false}
+ UiColorGreen = UiColor{32, false}
+ UiColorYellow = UiColor{33, false}
+ UiColorBlue = UiColor{34, false}
+ UiColorMagenta = UiColor{35, false}
+ UiColorCyan = UiColor{36, false}
+)
+
+// ColoredUi is a Ui implementation that colors its output according
+// to the given color schemes for the given type of output.
+type ColoredUi struct {
+ OutputColor UiColor
+ InfoColor UiColor
+ ErrorColor UiColor
+ WarnColor UiColor
+ Ui Ui
+}
+
+func (u *ColoredUi) Ask(query string) (string, error) {
+ return u.Ui.Ask(u.colorize(query, u.OutputColor))
+}
+
+func (u *ColoredUi) AskSecret(query string) (string, error) {
+ return u.Ui.AskSecret(u.colorize(query, u.OutputColor))
+}
+
+func (u *ColoredUi) Output(message string) {
+ u.Ui.Output(u.colorize(message, u.OutputColor))
+}
+
+func (u *ColoredUi) Info(message string) {
+ u.Ui.Info(u.colorize(message, u.InfoColor))
+}
+
+func (u *ColoredUi) Error(message string) {
+ u.Ui.Error(u.colorize(message, u.ErrorColor))
+}
+
+func (u *ColoredUi) Warn(message string) {
+ u.Ui.Warn(u.colorize(message, u.WarnColor))
+}
+
+func (u *ColoredUi) colorize(message string, color UiColor) string {
+ if color.Code == -1 {
+ return message
+ }
+
+ attr := 0
+ if color.Bold {
+ attr = 1
+ }
+
+ return fmt.Sprintf("\033[%d;%dm%s\033[0m", attr, color.Code, message)
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_colored_test.go b/vendor/github.com/mitchellh/cli/ui_colored_test.go
new file mode 100644
index 00000000..bc7f6371
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_colored_test.go
@@ -0,0 +1,74 @@
+package cli
+
+import (
+ "testing"
+)
+
+func TestColoredUi_impl(t *testing.T) {
+ var _ Ui = new(ColoredUi)
+}
+
+func TestColoredUi_noColor(t *testing.T) {
+ mock := new(MockUi)
+ ui := &ColoredUi{
+ ErrorColor: UiColorNone,
+ Ui: mock,
+ }
+ ui.Error("foo")
+
+ if mock.ErrorWriter.String() != "foo\n" {
+ t.Fatalf("bad: %#v", mock.ErrorWriter.String())
+ }
+}
+
+func TestColoredUi_Error(t *testing.T) {
+ mock := new(MockUi)
+ ui := &ColoredUi{
+ ErrorColor: UiColor{Code: 33},
+ Ui: mock,
+ }
+ ui.Error("foo")
+
+ if mock.ErrorWriter.String() != "\033[0;33mfoo\033[0m\n" {
+ t.Fatalf("bad: %#v", mock.ErrorWriter.String())
+ }
+}
+
+func TestColoredUi_Info(t *testing.T) {
+ mock := new(MockUi)
+ ui := &ColoredUi{
+ InfoColor: UiColor{Code: 33},
+ Ui: mock,
+ }
+ ui.Info("foo")
+
+ if mock.OutputWriter.String() != "\033[0;33mfoo\033[0m\n" {
+ t.Fatalf("bad: %#v", mock.OutputWriter.String())
+ }
+}
+
+func TestColoredUi_Output(t *testing.T) {
+ mock := new(MockUi)
+ ui := &ColoredUi{
+ OutputColor: UiColor{Code: 33},
+ Ui: mock,
+ }
+ ui.Output("foo")
+
+ if mock.OutputWriter.String() != "\033[0;33mfoo\033[0m\n" {
+ t.Fatalf("bad: %#v", mock.OutputWriter.String())
+ }
+}
+
+func TestColoredUi_Warn(t *testing.T) {
+ mock := new(MockUi)
+ ui := &ColoredUi{
+ WarnColor: UiColor{Code: 33},
+ Ui: mock,
+ }
+ ui.Warn("foo")
+
+ if mock.ErrorWriter.String() != "\033[0;33mfoo\033[0m\n" {
+ t.Fatalf("bad: %#v", mock.ErrorWriter.String())
+ }
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_concurrent.go b/vendor/github.com/mitchellh/cli/ui_concurrent.go
new file mode 100644
index 00000000..b4f4dbfa
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_concurrent.go
@@ -0,0 +1,54 @@
+package cli
+
+import (
+ "sync"
+)
+
+// ConcurrentUi is a wrapper around a Ui interface (and implements that
+// interface) making the underlying Ui concurrency safe.
+type ConcurrentUi struct {
+ Ui Ui
+ l sync.Mutex
+}
+
+func (u *ConcurrentUi) Ask(query string) (string, error) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ return u.Ui.Ask(query)
+}
+
+func (u *ConcurrentUi) AskSecret(query string) (string, error) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ return u.Ui.AskSecret(query)
+}
+
+func (u *ConcurrentUi) Error(message string) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ u.Ui.Error(message)
+}
+
+func (u *ConcurrentUi) Info(message string) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ u.Ui.Info(message)
+}
+
+func (u *ConcurrentUi) Output(message string) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ u.Ui.Output(message)
+}
+
+func (u *ConcurrentUi) Warn(message string) {
+ u.l.Lock()
+ defer u.l.Unlock()
+
+ u.Ui.Warn(message)
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_concurrent_test.go b/vendor/github.com/mitchellh/cli/ui_concurrent_test.go
new file mode 100644
index 00000000..d03e4980
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_concurrent_test.go
@@ -0,0 +1,9 @@
+package cli
+
+import (
+ "testing"
+)
+
+func TestConcurrentUi_impl(t *testing.T) {
+ var _ Ui = new(ConcurrentUi)
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_mock.go b/vendor/github.com/mitchellh/cli/ui_mock.go
new file mode 100644
index 00000000..0bfe0a19
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_mock.go
@@ -0,0 +1,111 @@
+package cli
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "sync"
+)
+
+// NewMockUi returns a fully initialized MockUi instance
+// which is safe for concurrent use.
+func NewMockUi() *MockUi {
+ m := new(MockUi)
+ m.once.Do(m.init)
+ return m
+}
+
+// MockUi is a mock UI that is used for tests and is exported publicly
+// for use in external tests if needed as well. Do not instantite this
+// directly since the buffers will be initialized on the first write. If
+// there is no write then you will get a nil panic. Please use the
+// NewMockUi() constructor function instead. You can fix your code with
+//
+// sed -i -e 's/new(cli.MockUi)/cli.NewMockUi()/g' *_test.go
+type MockUi struct {
+ InputReader io.Reader
+ ErrorWriter *syncBuffer
+ OutputWriter *syncBuffer
+
+ once sync.Once
+}
+
+func (u *MockUi) Ask(query string) (string, error) {
+ u.once.Do(u.init)
+
+ var result string
+ fmt.Fprint(u.OutputWriter, query)
+ if _, err := fmt.Fscanln(u.InputReader, &result); err != nil {
+ return "", err
+ }
+
+ return result, nil
+}
+
+func (u *MockUi) AskSecret(query string) (string, error) {
+ return u.Ask(query)
+}
+
+func (u *MockUi) Error(message string) {
+ u.once.Do(u.init)
+
+ fmt.Fprint(u.ErrorWriter, message)
+ fmt.Fprint(u.ErrorWriter, "\n")
+}
+
+func (u *MockUi) Info(message string) {
+ u.Output(message)
+}
+
+func (u *MockUi) Output(message string) {
+ u.once.Do(u.init)
+
+ fmt.Fprint(u.OutputWriter, message)
+ fmt.Fprint(u.OutputWriter, "\n")
+}
+
+func (u *MockUi) Warn(message string) {
+ u.once.Do(u.init)
+
+ fmt.Fprint(u.ErrorWriter, message)
+ fmt.Fprint(u.ErrorWriter, "\n")
+}
+
+func (u *MockUi) init() {
+ u.ErrorWriter = new(syncBuffer)
+ u.OutputWriter = new(syncBuffer)
+}
+
+type syncBuffer struct {
+ sync.RWMutex
+ b bytes.Buffer
+}
+
+func (b *syncBuffer) Write(data []byte) (int, error) {
+ b.Lock()
+ defer b.Unlock()
+ return b.b.Write(data)
+}
+
+func (b *syncBuffer) Read(data []byte) (int, error) {
+ b.RLock()
+ defer b.RUnlock()
+ return b.b.Read(data)
+}
+
+func (b *syncBuffer) Reset() {
+ b.Lock()
+ b.b.Reset()
+ b.Unlock()
+}
+
+func (b *syncBuffer) String() string {
+ return string(b.Bytes())
+}
+
+func (b *syncBuffer) Bytes() []byte {
+ b.RLock()
+ data := b.b.Bytes()
+ b.RUnlock()
+ return data
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_mock_test.go b/vendor/github.com/mitchellh/cli/ui_mock_test.go
new file mode 100644
index 00000000..4cce0bef
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_mock_test.go
@@ -0,0 +1,9 @@
+package cli
+
+import (
+ "testing"
+)
+
+func TestMockUi_implements(t *testing.T) {
+ var _ Ui = new(MockUi)
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_test.go b/vendor/github.com/mitchellh/cli/ui_test.go
new file mode 100644
index 00000000..ac795ba8
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_test.go
@@ -0,0 +1,162 @@
+package cli
+
+import (
+ "bytes"
+ "io"
+ "testing"
+)
+
+func TestBasicUi_implements(t *testing.T) {
+ var _ Ui = new(BasicUi)
+}
+
+func TestBasicUi_Ask(t *testing.T) {
+ in_r, in_w := io.Pipe()
+ defer in_r.Close()
+ defer in_w.Close()
+
+ writer := new(bytes.Buffer)
+ ui := &BasicUi{
+ Reader: in_r,
+ Writer: writer,
+ }
+
+ go in_w.Write([]byte("foo bar\nbaz\n"))
+
+ result, err := ui.Ask("Name?")
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if writer.String() != "Name? " {
+ t.Fatalf("bad: %#v", writer.String())
+ }
+
+ if result != "foo bar" {
+ t.Fatalf("bad: %#v", result)
+ }
+}
+
+func TestBasicUi_AskSecret(t *testing.T) {
+ in_r, in_w := io.Pipe()
+ defer in_r.Close()
+ defer in_w.Close()
+
+ writer := new(bytes.Buffer)
+ ui := &BasicUi{
+ Reader: in_r,
+ Writer: writer,
+ }
+
+ go in_w.Write([]byte("foo bar\nbaz\n"))
+
+ result, err := ui.AskSecret("Name?")
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if writer.String() != "Name? " {
+ t.Fatalf("bad: %#v", writer.String())
+ }
+
+ if result != "foo bar" {
+ t.Fatalf("bad: %#v", result)
+ }
+}
+
+func TestBasicUi_Error(t *testing.T) {
+ writer := new(bytes.Buffer)
+ ui := &BasicUi{Writer: writer}
+ ui.Error("HELLO")
+
+ if writer.String() != "HELLO\n" {
+ t.Fatalf("bad: %s", writer.String())
+ }
+}
+
+func TestBasicUi_Error_ErrorWriter(t *testing.T) {
+ writer := new(bytes.Buffer)
+ ewriter := new(bytes.Buffer)
+ ui := &BasicUi{Writer: writer, ErrorWriter: ewriter}
+ ui.Error("HELLO")
+
+ if ewriter.String() != "HELLO\n" {
+ t.Fatalf("bad: %s", ewriter.String())
+ }
+}
+
+func TestBasicUi_Output(t *testing.T) {
+ writer := new(bytes.Buffer)
+ ui := &BasicUi{Writer: writer}
+ ui.Output("HELLO")
+
+ if writer.String() != "HELLO\n" {
+ t.Fatalf("bad: %s", writer.String())
+ }
+}
+
+func TestBasicUi_Warn(t *testing.T) {
+ writer := new(bytes.Buffer)
+ ui := &BasicUi{Writer: writer}
+ ui.Warn("HELLO")
+
+ if writer.String() != "HELLO\n" {
+ t.Fatalf("bad: %s", writer.String())
+ }
+}
+
+func TestPrefixedUi_implements(t *testing.T) {
+ var _ Ui = new(PrefixedUi)
+}
+
+func TestPrefixedUiError(t *testing.T) {
+ ui := new(MockUi)
+ p := &PrefixedUi{
+ ErrorPrefix: "foo",
+ Ui: ui,
+ }
+
+ p.Error("bar")
+ if ui.ErrorWriter.String() != "foobar\n" {
+ t.Fatalf("bad: %s", ui.ErrorWriter.String())
+ }
+}
+
+func TestPrefixedUiInfo(t *testing.T) {
+ ui := new(MockUi)
+ p := &PrefixedUi{
+ InfoPrefix: "foo",
+ Ui: ui,
+ }
+
+ p.Info("bar")
+ if ui.OutputWriter.String() != "foobar\n" {
+ t.Fatalf("bad: %s", ui.OutputWriter.String())
+ }
+}
+
+func TestPrefixedUiOutput(t *testing.T) {
+ ui := new(MockUi)
+ p := &PrefixedUi{
+ OutputPrefix: "foo",
+ Ui: ui,
+ }
+
+ p.Output("bar")
+ if ui.OutputWriter.String() != "foobar\n" {
+ t.Fatalf("bad: %s", ui.OutputWriter.String())
+ }
+}
+
+func TestPrefixedUiWarn(t *testing.T) {
+ ui := new(MockUi)
+ p := &PrefixedUi{
+ WarnPrefix: "foo",
+ Ui: ui,
+ }
+
+ p.Warn("bar")
+ if ui.ErrorWriter.String() != "foobar\n" {
+ t.Fatalf("bad: %s", ui.ErrorWriter.String())
+ }
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_writer.go b/vendor/github.com/mitchellh/cli/ui_writer.go
new file mode 100644
index 00000000..1e1db3cf
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_writer.go
@@ -0,0 +1,18 @@
+package cli
+
+// UiWriter is an io.Writer implementation that can be used with
+// loggers that writes every line of log output data to a Ui at the
+// Info level.
+type UiWriter struct {
+ Ui Ui
+}
+
+func (w *UiWriter) Write(p []byte) (n int, err error) {
+ n = len(p)
+ if n > 0 && p[n-1] == '\n' {
+ p = p[:n-1]
+ }
+
+ w.Ui.Info(string(p))
+ return n, nil
+}
diff --git a/vendor/github.com/mitchellh/cli/ui_writer_test.go b/vendor/github.com/mitchellh/cli/ui_writer_test.go
new file mode 100644
index 00000000..b742e931
--- /dev/null
+++ b/vendor/github.com/mitchellh/cli/ui_writer_test.go
@@ -0,0 +1,37 @@
+package cli
+
+import (
+ "io"
+ "testing"
+)
+
+func TestUiWriter_impl(t *testing.T) {
+ var _ io.Writer = new(UiWriter)
+}
+
+func TestUiWriter(t *testing.T) {
+ ui := new(MockUi)
+ w := &UiWriter{
+ Ui: ui,
+ }
+
+ w.Write([]byte("foo\n"))
+ w.Write([]byte("bar\n"))
+
+ if ui.OutputWriter.String() != "foo\nbar\n" {
+ t.Fatalf("bad: %s", ui.OutputWriter.String())
+ }
+}
+
+func TestUiWriter_empty(t *testing.T) {
+ ui := new(MockUi)
+ w := &UiWriter{
+ Ui: ui,
+ }
+
+ w.Write([]byte(""))
+
+ if ui.OutputWriter.String() != "\n" {
+ t.Fatalf("bad: %s", ui.OutputWriter.String())
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/.gitignore b/vendor/github.com/mitchellh/packer/.gitignore
index c3dea668..31246ce8 100644
--- a/vendor/github.com/mitchellh/packer/.gitignore
+++ b/vendor/github.com/mitchellh/packer/.gitignore
@@ -10,6 +10,7 @@
test/.env
*~
*.received.*
+*.swp
website/.bundle
website/vendor
@@ -21,3 +22,4 @@ packer-test*.log
.idea/
*.iml
+Thumbs.db
diff --git a/vendor/github.com/mitchellh/packer/.travis.yml b/vendor/github.com/mitchellh/packer/.travis.yml
index 0133518e..5e753eb0 100644
--- a/vendor/github.com/mitchellh/packer/.travis.yml
+++ b/vendor/github.com/mitchellh/packer/.travis.yml
@@ -8,6 +8,7 @@ language: go
go:
- 1.7.4
- 1.8.3
+ - 1.9
install:
- make deps
@@ -21,5 +22,3 @@ branches:
matrix:
fast_finish: true
- allow_failures:
- - go: 1.4.3
diff --git a/vendor/github.com/mitchellh/packer/CHANGELOG.md b/vendor/github.com/mitchellh/packer/CHANGELOG.md
index 1d4102ab..711b3a9c 100644
--- a/vendor/github.com/mitchellh/packer/CHANGELOG.md
+++ b/vendor/github.com/mitchellh/packer/CHANGELOG.md
@@ -1,16 +1,103 @@
-## UNRELEASED
+## 1.1.0 (September 12, 2017)
+
+### IMPROVEMENTS:
+
+* builder/alicloud: Update alicloud go sdk and enable multi sites support for
+ alicloud [GH-5219]
+* builder/amazon: Upgrade aws-sdk-go to 1.10.14, add tags at instance run time.
+ [GH-5196]
+* builder/azure: Add object_id to windows_custom_image.json. [GH-5285]
+* builder/azure: Add support for storage account for managed images. [GH-5244]
+* builder/azure: Update pkcs12 package. [GH-5301]
+* builder/cloudstack: Add support for Security Groups. [GH-5175]
+* builder/docker: Uploading files and directories now use docker cp. [GH-5273]
+ [GH-5333]
+* builder/googlecompute: Add `labels` option for labeling launched instances.
+ [GH-5308]
+* builder/googlecompute: Add support for accelerator api. [GH-5137]
+* builder/profitbricks: added support for Cloud API v4. [GH-5233]
+* builder/vmware-esxi: Remote builds now respect `output_directory` [GH-4592]
+* builder/vmware: Set artifact ID to `VMName`. [GH-5187]
+* core: Build solaris binary by default. [GH-5268] [GH-5248]
+* core: Remove LGPL dependencies. [GH-5262]
+* provisioner/puppet: Add `guest_os_type` option to add support for Windows.
+ [GH-5252]
+* provisioner/salt-masterless: Also use sudo to clean up if we used sudo to
+ install. [GH-5240]
+
+### BACKWARDS INCOMPATIBILITIES:
+
+* builder/amazon: Changes way that AMI artifacts are printed out after build,
+ aligning them to builder. Could affect output parsing. [GH-5281]
+* builder/amazon: Split `enhanced_networking` into `sriov_support` and
+ `ena_support` to support finer grained control. Use `packer fix
+ <template.json>` to automatically update your template to use `ena_support`
+ where previously there was only `enhanced_networking`. Make sure to also
+ add `sriov_support` if you need that feature, and to ensure `ena_support`
+ is what you intended to be in your template. [GH-5284]
+* builder/cloudstack: Setup temporary SSH keypair; backwards incompatible in
+ the uncommon case that the source image allowed SSH auth with password but
+ not with keypair. [GH-5174]
+* communicator/ssh: Renamed `ssh_disable_agent` to
+ `ssh_disable_agent_forwarding`. Need to run fixer on packer configs that
+ use `ssh_disable_agent`. [GH-5024]
+* communicator: Preserve left-sided white-space in remote command output. Make
+ sure any scripts that parse this output can handle the new whitespace
+ before upgrading. [GH-5167]
+* provisioner/shell: Set default for `ExpectDisconnect` to `false`. If your
+ script causes the connection to be reset, you should set this to `true` to
+ prevent errors. [GH-5283]
+
+### BUG FIXES:
+
+* builder/amazon: `force_deregister` works in all regions, not just original
+ region. [GH-5250]
+* builder/docker: Directory uploads now use the same semantics as the rest of
+ the communicators. [GH-5333]
+* builder/vmware: Fix timestamp in default VMName. [GH-5274]
+* builder/winrm: WinRM now waits to make sure commands can run successfully
+ before considering itself connected. [GH-5300]
+* core: Fix issue where some builders wouldn't respect `-on-error` behavior.
+ [GH-5297]
+* provisioner/windows-restart: The first powershell provisioner after a restart
+ now works. [GH-5272]
+
+### FEATURES:
+
+* **New builder**: Oracle Cloud Infrastructure (OCI) builder for creating
+ custom images. [GH-4554]
+* **New builder:** `lxc` for building lxc images. [GH-3523]
+* **New builder:** `lxd` for building lxd images. [GH-3625]
+* **New post-processor**: vSphere Template post-processor to be used with
+ vmware-iso builder enabling user to mark a VM as a template. [GH-5114]
+
+## 1.0.4 (August 11, 2017)
### IMPROVEMENTS:
* builder/alicloud: Increase polling timeout. [GH-5148]
+* builder/azure: Add `private_virtual_network_with_public_ip` option to
+ optionally obtain a public IP. [GH-5222]
+* builder/googlecompute: use a more portable method of obtaining zone.
+ [GH-5192]
+* builder/hyperv: Properly interpolate user variables in template. [GH-5184]
* builder/parallels: Remove soon to be removed --vmtype flag in createvm.
[GH-5172]
* contrib: add json files to zsh completion. [GH-5195]
### BUG FIXES:
+
+* builder/amazon: Don't delete snapshots we didn't create. [GH-5211]
* builder/amazon: fix builds when using the null communicator. [GH-5217]
+* builder/docker: Correctly handle case when uploading an empty directory.
+ [GH-5234]
+* command/push: Don't push variables if they are unspecified. Reverts to
+ behavior in 1.0.1. [GH-5235]
+* command/push: fix handling of symlinks. [GH-5226]
* core: Strip query parameters from ISO URLs when checking against a checksum
file. [GH-5181]
+* provisioner/ansible-remote: Fix issue where packer could hang communicating
+ with ansible-remote. [GH-5146]
## 1.0.3 (July 17, 2017)
@@ -56,7 +143,7 @@
provisioner stdout [GH-4719]
* post-processor/checksum: Fix interpolation of "output". [GH-5112]
* push: Push vars in packer config, not just those set from command line and in
- var-file. [GH-4992]
+ var-file. [GH-5101]
## 1.0.2 (June 21, 2017)
diff --git a/vendor/github.com/mitchellh/packer/README.md b/vendor/github.com/mitchellh/packer/README.md
index 64b28076..8dac199d 100644
--- a/vendor/github.com/mitchellh/packer/README.md
+++ b/vendor/github.com/mitchellh/packer/README.md
@@ -34,6 +34,7 @@ comes out of the box with support for the following platforms:
* Hyper-V
* 1&1
* OpenStack
+* Oracle Bare Metal Cloud Services
* Parallels
* ProfitBricks
* QEMU. Both KVM and Xen images.
diff --git a/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/access_config.go b/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/access_config.go
index 33d4ff52..bcc7ba76 100644
--- a/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/access_config.go
+++ b/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/access_config.go
@@ -22,7 +22,7 @@ func (c *AlicloudAccessConfig) Client() (*ecs.Client, error) {
if err := c.loadAndValidate(); err != nil {
return nil, err
}
- client := ecs.NewClient(c.AlicloudAccessKey, c.AlicloudSecretKey)
+ client := ecs.NewECSClient(c.AlicloudAccessKey, c.AlicloudSecretKey, common.Region(c.AlicloudRegion))
client.SetBusinessInfo("Packer")
if _, err := client.DescribeRegions(); err != nil {
return nil, err
diff --git a/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/step_config_vswitch.go b/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/step_config_vswitch.go
index 734647e0..dfa858d0 100644
--- a/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/step_config_vswitch.go
+++ b/vendor/github.com/mitchellh/packer/builder/alicloud/ecs/step_config_vswitch.go
@@ -113,7 +113,7 @@ func (s *stepConfigAlicloudVSwitch) Run(state multistep.StateBag) multistep.Step
}
if err := client.WaitForVSwitchAvailable(vpcId, s.VSwitchId, ALICLOUD_DEFAULT_TIMEOUT); err != nil {
state.Put("error", err)
- ui.Error(fmt.Sprintf("Timeout waiting for vswitch to become avaiable: %v", err))
+ ui.Error(fmt.Sprintf("Timeout waiting for vswitch to become available: %v", err))
return multistep.ActionHalt
}
state.Put("vswitchid", vswitchId)
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/builder.go b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/builder.go
index 65660cf4..a259960d 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/builder.go
@@ -213,9 +213,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
if !b.config.FromScratch {
steps = append(steps,
&awscommon.StepSourceAMIInfo{
- SourceAmi: b.config.SourceAmi,
- EnhancedNetworking: b.config.AMIEnhancedNetworking,
- AmiFilters: b.config.SourceAmiFilter,
+ SourceAmi: b.config.SourceAmi,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
+ AmiFilters: b.config.SourceAmiFilter,
},
&StepCheckRootDevice{},
)
@@ -245,17 +246,22 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
&StepEarlyCleanup{},
&StepSnapshot{},
&awscommon.StepDeregisterAMI{
+ AccessConfig: &b.config.AccessConfig,
ForceDeregister: b.config.AMIForceDeregister,
ForceDeleteSnapshot: b.config.AMIForceDeleteSnapshot,
AMIName: b.config.AMIName,
+ Regions: b.config.AMIRegions,
},
&StepRegisterAMI{
- RootVolumeSize: b.config.RootVolumeSize,
+ RootVolumeSize: b.config.RootVolumeSize,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
&awscommon.StepCreateEncryptedAMICopy{
KeyID: b.config.AMIKmsKeyId,
EncryptBootVolume: b.config.AMIEncryptBootVolume,
Name: b.config.AMIName,
+ AMIMappings: b.config.AMIBlockDevices.AMIMappings,
},
&awscommon.StepAMIRegionCopy{
AccessConfig: &b.config.AccessConfig,
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/lockfile_unix.go b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/lockfile_unix.go
index 43e92af2..0d0f8c8f 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/lockfile_unix.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/lockfile_unix.go
@@ -4,7 +4,8 @@ package chroot
import (
"os"
- "syscall"
+
+ "golang.org/x/sys/unix"
)
// See: http://linux.die.net/include/sys/file.h
@@ -13,7 +14,7 @@ const LOCK_NB = 4
const LOCK_UN = 8
func lockFile(f *os.File) error {
- err := syscall.Flock(int(f.Fd()), LOCK_EX)
+ err := unix.Flock(int(f.Fd()), LOCK_EX)
if err != nil {
return err
}
@@ -22,5 +23,5 @@ func lockFile(f *os.File) error {
}
func unlockFile(f *os.File) error {
- return syscall.Flock(int(f.Fd()), LOCK_UN)
+ return unix.Flock(int(f.Fd()), LOCK_UN)
}
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/step_register_ami.go b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/step_register_ami.go
index d387eada..a19266f5 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/chroot/step_register_ami.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/chroot/step_register_ami.go
@@ -12,7 +12,9 @@ import (
// StepRegisterAMI creates the AMI.
type StepRegisterAMI struct {
- RootVolumeSize int64
+ RootVolumeSize int64
+ EnableAMIENASupport bool
+ EnableAMISriovNetSupport bool
}
func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
@@ -75,11 +77,12 @@ func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
registerOpts = buildRegisterOpts(config, image, newMappings)
}
- if config.AMIEnhancedNetworking {
+ if s.EnableAMISriovNetSupport {
// Set SriovNetSupport to "simple". See http://goo.gl/icuXh5
// As of February 2017, this applies to C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge)
registerOpts.SriovNetSupport = aws.String("simple")
-
+ }
+ if s.EnableAMIENASupport {
// Set EnaSupport to true
// As of February 2017, this applies to C5, I3, P2, R4, X1, and m4.16xlarge
registerOpts.EnaSupport = aws.Bool(true)
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/ami_config.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/ami_config.go
index 72fd0704..f59cb1d6 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/ami_config.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/ami_config.go
@@ -17,7 +17,8 @@ type AMIConfig struct {
AMIRegions []string `mapstructure:"ami_regions"`
AMISkipRegionValidation bool `mapstructure:"skip_region_validation"`
AMITags map[string]string `mapstructure:"tags"`
- AMIEnhancedNetworking bool `mapstructure:"enhanced_networking"`
+ AMIENASupport bool `mapstructure:"ena_support"`
+ AMISriovNetSupport bool `mapstructure:"sriov_support"`
AMIForceDeregister bool `mapstructure:"force_deregister"`
AMIForceDeleteSnapshot bool `mapstructure:"force_delete_snapshot"`
AMIEncryptBootVolume bool `mapstructure:"encrypt_boot"`
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact.go
index c9f9a08b..dc50f772 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact.go
@@ -51,7 +51,7 @@ func (a *Artifact) String() string {
}
sort.Strings(amiStrings)
- return fmt.Sprintf("AMIs were created:\n\n%s", strings.Join(amiStrings, "\n"))
+ return fmt.Sprintf("AMIs were created:\n%s\n", strings.Join(amiStrings, "\n"))
}
func (a *Artifact) State(name string) interface{} {
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact_test.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact_test.go
index ccbf0a1e..d70754eb 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/artifact_test.go
@@ -48,9 +48,9 @@ func TestArtifactState_atlasMetadata(t *testing.T) {
func TestArtifactString(t *testing.T) {
expected := `AMIs were created:
-
east: foo
-west: bar`
+west: bar
+`
amis := make(map[string]string)
amis["east"] = "foo"
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_deregister_ami.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_deregister_ami.go
index 7dc39e28..3ad8711a 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_deregister_ami.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_deregister_ami.go
@@ -10,59 +10,76 @@ import (
)
type StepDeregisterAMI struct {
+ AccessConfig *AccessConfig
ForceDeregister bool
ForceDeleteSnapshot bool
AMIName string
+ Regions []string
}
func (s *StepDeregisterAMI) Run(state multistep.StateBag) multistep.StepAction {
- ec2conn := state.Get("ec2").(*ec2.EC2)
ui := state.Get("ui").(packer.Ui)
+ regions := s.Regions
+ if len(regions) == 0 {
+ regions = append(regions, s.AccessConfig.RawRegion)
+ }
// Check for force deregister
if s.ForceDeregister {
- resp, err := ec2conn.DescribeImages(&ec2.DescribeImagesInput{
- Filters: []*ec2.Filter{{
- Name: aws.String("name"),
- Values: []*string{aws.String(s.AMIName)},
- }}})
+ for _, region := range regions {
+ // get new connection for each region in which we need to deregister vms
+ session, err := s.AccessConfig.Session()
+ if err != nil {
+ return multistep.ActionHalt
+ }
- if err != nil {
- err := fmt.Errorf("Error describing AMI: %s", err)
- state.Put("error", err)
- ui.Error(err.Error())
- return multistep.ActionHalt
- }
+ regionconn := ec2.New(session.Copy(&aws.Config{
+ Region: aws.String(region)},
+ ))
- // Deregister image(s) by name
- for _, i := range resp.Images {
- _, err := ec2conn.DeregisterImage(&ec2.DeregisterImageInput{
- ImageId: i.ImageId,
- })
+ resp, err := regionconn.DescribeImages(&ec2.DescribeImagesInput{
+ Filters: []*ec2.Filter{{
+ Name: aws.String("name"),
+ Values: []*string{aws.String(s.AMIName)},
+ }}})
if err != nil {
- err := fmt.Errorf("Error deregistering existing AMI: %s", err)
+ err := fmt.Errorf("Error describing AMI: %s", err)
state.Put("error", err)
ui.Error(err.Error())
return multistep.ActionHalt
}
- ui.Say(fmt.Sprintf("Deregistered AMI %s, id: %s", s.AMIName, *i.ImageId))
- // Delete snapshot(s) by image
- if s.ForceDeleteSnapshot {
- for _, b := range i.BlockDeviceMappings {
- if b.Ebs != nil && aws.StringValue(b.Ebs.SnapshotId) != "" {
- _, err := ec2conn.DeleteSnapshot(&ec2.DeleteSnapshotInput{
- SnapshotId: b.Ebs.SnapshotId,
- })
+ // Deregister image(s) by name
+ for _, i := range resp.Images {
+ _, err := regionconn.DeregisterImage(&ec2.DeregisterImageInput{
+ ImageId: i.ImageId,
+ })
+
+ if err != nil {
+ err := fmt.Errorf("Error deregistering existing AMI: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ ui.Say(fmt.Sprintf("Deregistered AMI %s, id: %s", s.AMIName, *i.ImageId))
+
+ // Delete snapshot(s) by image
+ if s.ForceDeleteSnapshot {
+ for _, b := range i.BlockDeviceMappings {
+ if b.Ebs != nil && aws.StringValue(b.Ebs.SnapshotId) != "" {
+ _, err := regionconn.DeleteSnapshot(&ec2.DeleteSnapshotInput{
+ SnapshotId: b.Ebs.SnapshotId,
+ })
- if err != nil {
- err := fmt.Errorf("Error deleting existing snapshot: %s", err)
- state.Put("error", err)
- ui.Error(err.Error())
- return multistep.ActionHalt
+ if err != nil {
+ err := fmt.Errorf("Error deleting existing snapshot: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ ui.Say(fmt.Sprintf("Deleted snapshot: %s", *b.Ebs.SnapshotId))
}
- ui.Say(fmt.Sprintf("Deleted snapshot: %s", *b.Ebs.SnapshotId))
}
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_encrypted_ami.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_encrypted_ami.go
index fec882b6..16c4ce7a 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_encrypted_ami.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_encrypted_ami.go
@@ -15,6 +15,7 @@ type StepCreateEncryptedAMICopy struct {
KeyID string
EncryptBootVolume bool
Name string
+ AMIMappings []BlockDevice
}
func (s *StepCreateEncryptedAMICopy) Run(state multistep.StateBag) multistep.StepAction {
@@ -116,9 +117,18 @@ func (s *StepCreateEncryptedAMICopy) Run(state multistep.StateBag) multistep.Ste
ui.Say("Deleting unencrypted snapshots")
snapshots := state.Get("snapshots").(map[string][]string)
+OuterLoop:
for _, blockDevice := range unencImage.BlockDeviceMappings {
if blockDevice.Ebs != nil && blockDevice.Ebs.SnapshotId != nil {
- ui.Message(fmt.Sprintf("Snapshot ID: %s", *blockDevice.Ebs.SnapshotId))
+ // If this packer run didn't create it, then don't delete it
+ for _, origDevice := range s.AMIMappings {
+ if origDevice.SnapshotId == *blockDevice.Ebs.SnapshotId {
+ ui.Message(fmt.Sprintf("Keeping Snapshot ID: %s", *blockDevice.Ebs.SnapshotId))
+ continue OuterLoop
+ }
+ }
+
+ ui.Message(fmt.Sprintf("Deleting Snapshot ID: %s", *blockDevice.Ebs.SnapshotId))
deleteSnapOpts := &ec2.DeleteSnapshotInput{
SnapshotId: aws.String(*blockDevice.Ebs.SnapshotId),
}
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_modify_ebs_instance.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_modify_ebs_instance.go
index 11fa629d..12c2367a 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_modify_ebs_instance.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_modify_ebs_instance.go
@@ -10,7 +10,8 @@ import (
)
type StepModifyEBSBackedInstance struct {
- EnableEnhancedNetworking bool
+ EnableAMIENASupport bool
+ EnableAMISriovNetSupport bool
}
func (s *StepModifyEBSBackedInstance) Run(state multistep.StateBag) multistep.StepAction {
@@ -18,9 +19,9 @@ func (s *StepModifyEBSBackedInstance) Run(state multistep.StateBag) multistep.St
instance := state.Get("instance").(*ec2.Instance)
ui := state.Get("ui").(packer.Ui)
- if s.EnableEnhancedNetworking {
- // Set SriovNetSupport to "simple". See http://goo.gl/icuXh5
- // As of February 2017, this applies to C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge)
+ // Set SriovNetSupport to "simple". See http://goo.gl/icuXh5
+ // As of February 2017, this applies to C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge)
+ if s.EnableAMISriovNetSupport {
ui.Say("Enabling Enhanced Networking (SR-IOV)...")
simple := "simple"
_, err := ec2conn.ModifyInstanceAttribute(&ec2.ModifyInstanceAttributeInput{
@@ -33,11 +34,13 @@ func (s *StepModifyEBSBackedInstance) Run(state multistep.StateBag) multistep.St
ui.Error(err.Error())
return multistep.ActionHalt
}
+ }
- // Set EnaSupport to true.
- // As of February 2017, this applies to C5, I3, P2, R4, X1, and m4.16xlarge
+ // Set EnaSupport to true.
+ // As of February 2017, this applies to C5, I3, P2, R4, X1, and m4.16xlarge
+ if s.EnableAMIENASupport {
ui.Say("Enabling Enhanced Networking (ENA)...")
- _, err = ec2conn.ModifyInstanceAttribute(&ec2.ModifyInstanceAttributeInput{
+ _, err := ec2conn.ModifyInstanceAttribute(&ec2.ModifyInstanceAttributeInput{
InstanceId: instance.InstanceId,
EnaSupport: &ec2.AttributeBooleanValue{Value: aws.Bool(true)},
})
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_run_source_instance.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_run_source_instance.go
index 1aecd75f..5a864a5e 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_run_source_instance.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_run_source_instance.go
@@ -136,7 +136,23 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
var instanceId string
+ ui.Say("Adding tags to source instance")
+ if _, exists := s.Tags["Name"]; !exists {
+ s.Tags["Name"] = "Packer Builder"
+ }
+
+ createTagsAfterInstanceStarts := true
+ ec2Tags, err := ConvertToEC2Tags(s.Tags, *ec2conn.Config.Region, s.SourceAMI, s.Ctx)
+ if err != nil {
+ err := fmt.Errorf("Error tagging source instance: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ ReportTags(ui, ec2Tags)
+
if spotPrice == "" || spotPrice == "0" {
+
runOpts := &ec2.RunInstancesInput{
ImageId: &s.SourceAMI,
InstanceType: &s.InstanceType,
@@ -149,6 +165,16 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
EbsOptimized: &s.EbsOptimized,
}
+ if len(ec2Tags) > 0 {
+ runTags := &ec2.TagSpecification{
+ ResourceType: aws.String("instance"),
+ Tags: ec2Tags,
+ }
+
+ runOpts.SetTagSpecifications([]*ec2.TagSpecification{runTags})
+ createTagsAfterInstanceStarts = false
+ }
+
if keyName != "" {
runOpts.KeyName = &keyName
}
@@ -255,6 +281,7 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
return multistep.ActionHalt
}
instanceId = *spotResp.SpotInstanceRequests[0].InstanceId
+
}
// Set the instance ID so that the cleanup works properly
@@ -278,43 +305,30 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
instance := latestInstance.(*ec2.Instance)
- ui.Say("Adding tags to source instance")
- if _, exists := s.Tags["Name"]; !exists {
- s.Tags["Name"] = "Packer Builder"
- }
-
- ec2Tags, err := ConvertToEC2Tags(s.Tags, *ec2conn.Config.Region, s.SourceAMI, s.Ctx)
- if err != nil {
- err := fmt.Errorf("Error tagging source instance: %s", err)
- state.Put("error", err)
- ui.Error(err.Error())
- return multistep.ActionHalt
- }
-
- ReportTags(ui, ec2Tags)
-
- // Retry creating tags for about 2.5 minutes
- err = retry.Retry(0.2, 30, 11, func(_ uint) (bool, error) {
- _, err := ec2conn.CreateTags(&ec2.CreateTagsInput{
- Tags: ec2Tags,
- Resources: []*string{instance.InstanceId},
- })
- if err == nil {
- return true, nil
- }
- if awsErr, ok := err.(awserr.Error); ok {
- if awsErr.Code() == "InvalidInstanceID.NotFound" {
- return false, nil
+ if createTagsAfterInstanceStarts {
+ // Retry creating tags for about 2.5 minutes
+ err = retry.Retry(0.2, 30, 11, func(_ uint) (bool, error) {
+ _, err := ec2conn.CreateTags(&ec2.CreateTagsInput{
+ Tags: ec2Tags,
+ Resources: []*string{instance.InstanceId},
+ })
+ if err == nil {
+ return true, nil
}
- }
- return true, err
- })
+ if awsErr, ok := err.(awserr.Error); ok {
+ if awsErr.Code() == "InvalidInstanceID.NotFound" {
+ return false, nil
+ }
+ }
+ return true, err
+ })
- if err != nil {
- err := fmt.Errorf("Error tagging source instance: %s", err)
- state.Put("error", err)
- ui.Error(err.Error())
- return multistep.ActionHalt
+ if err != nil {
+ err := fmt.Errorf("Error tagging source instance: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
}
if s.Debug {
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_security_group.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_security_group.go
index a5032772..e7bc294b 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_security_group.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_security_group.go
@@ -6,7 +6,7 @@ import (
"time"
"github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/private/waiter"
+ "github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/packer/common/uuid"
"github.com/hashicorp/packer/helper/communicator"
@@ -153,36 +153,42 @@ func (s *StepSecurityGroup) Cleanup(state multistep.StateBag) {
}
func waitUntilSecurityGroupExists(c *ec2.EC2, input *ec2.DescribeSecurityGroupsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeSecurityGroups",
- Delay: 15,
+ ctx := aws.BackgroundContext()
+ w := request.Waiter{
+ Name: "DescribeSecurityGroups",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch,
Argument: "length(SecurityGroups[]) > `0`",
Expected: true,
},
{
- State: "retry",
- Matcher: "error",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Argument: "",
Expected: "InvalidGroup.NotFound",
},
{
- State: "retry",
- Matcher: "error",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Argument: "",
Expected: "InvalidSecurityGroupID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *ec2.DescribeSecurityGroupsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSecurityGroupsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
-
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_source_ami_info.go b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_source_ami_info.go
index 386e8e8d..c7e9f733 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/common/step_source_ami_info.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/common/step_source_ami_info.go
@@ -17,9 +17,10 @@ import (
// Produces:
// source_image *ec2.Image - the source AMI info
type StepSourceAMIInfo struct {
- SourceAmi string
- EnhancedNetworking bool
- AmiFilters AmiFilterOptions
+ SourceAmi string
+ EnableAMISriovNetSupport bool
+ EnableAMIENASupport bool
+ AmiFilters AmiFilterOptions
}
// Build a slice of AMI filter options from the filters provided.
@@ -103,7 +104,7 @@ func (s *StepSourceAMIInfo) Run(state multistep.StateBag) multistep.StepAction {
// Enhanced Networking can only be enabled on HVM AMIs.
// See http://goo.gl/icuXh5
- if s.EnhancedNetworking && *image.VirtualizationType != "hvm" {
+ if (s.EnableAMIENASupport || s.EnableAMISriovNetSupport) && *image.VirtualizationType != "hvm" {
err := fmt.Errorf("Cannot enable enhanced networking, source AMI '%s' is not HVM", s.SourceAmi)
state.Put("error", err)
ui.Error(err.Error())
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/ebs/builder.go b/vendor/github.com/mitchellh/packer/builder/amazon/ebs/builder.go
index 79ef6e68..c31da73a 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/ebs/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/ebs/builder.go
@@ -115,9 +115,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
ForceDeregister: b.config.AMIForceDeregister,
},
&awscommon.StepSourceAMIInfo{
- SourceAmi: b.config.SourceAmi,
- EnhancedNetworking: b.config.AMIEnhancedNetworking,
- AmiFilters: b.config.SourceAmiFilter,
+ SourceAmi: b.config.SourceAmi,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
+ AmiFilters: b.config.SourceAmiFilter,
},
&awscommon.StepKeyPair{
Debug: b.config.PackerDebug,
@@ -179,18 +180,22 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
DisableStopInstance: b.config.DisableStopInstance,
},
&awscommon.StepModifyEBSBackedInstance{
- EnableEnhancedNetworking: b.config.AMIEnhancedNetworking,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
&awscommon.StepDeregisterAMI{
+ AccessConfig: &b.config.AccessConfig,
ForceDeregister: b.config.AMIForceDeregister,
ForceDeleteSnapshot: b.config.AMIForceDeleteSnapshot,
AMIName: b.config.AMIName,
+ Regions: b.config.AMIRegions,
},
&stepCreateAMI{},
&awscommon.StepCreateEncryptedAMICopy{
KeyID: b.config.AMIKmsKeyId,
EncryptBootVolume: b.config.AMIEncryptBootVolume,
Name: b.config.AMIName,
+ AMIMappings: b.config.AMIBlockDevices.AMIMappings,
},
&awscommon.StepAMIRegionCopy{
AccessConfig: &b.config.AccessConfig,
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/builder.go b/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/builder.go
index 5508abde..20984fee 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/builder.go
@@ -129,9 +129,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
ForceDeregister: b.config.AMIForceDeregister,
},
&awscommon.StepSourceAMIInfo{
- SourceAmi: b.config.SourceAmi,
- EnhancedNetworking: b.config.AMIEnhancedNetworking,
- AmiFilters: b.config.SourceAmiFilter,
+ SourceAmi: b.config.SourceAmi,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
+ AmiFilters: b.config.SourceAmiFilter,
},
&awscommon.StepKeyPair{
Debug: b.config.PackerDebug,
@@ -189,19 +190,24 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
DisableStopInstance: b.config.DisableStopInstance,
},
&awscommon.StepModifyEBSBackedInstance{
- EnableEnhancedNetworking: b.config.AMIEnhancedNetworking,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
&StepSnapshotNewRootVolume{
NewRootMountPoint: b.config.RootDevice.SourceDeviceName,
},
&awscommon.StepDeregisterAMI{
+ AccessConfig: &b.config.AccessConfig,
ForceDeregister: b.config.AMIForceDeregister,
ForceDeleteSnapshot: b.config.AMIForceDeleteSnapshot,
AMIName: b.config.AMIName,
+ Regions: b.config.AMIRegions,
},
&StepRegisterAMI{
- RootDevice: b.config.RootDevice,
- BlockDevices: b.config.BlockDevices.BuildAMIDevices(),
+ RootDevice: b.config.RootDevice,
+ BlockDevices: b.config.BlockDevices.BuildAMIDevices(),
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
&awscommon.StepCreateEncryptedAMICopy{
KeyID: b.config.AMIKmsKeyId,
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/step_register_ami.go b/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/step_register_ami.go
index d2f0f225..f0d145f3 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/step_register_ami.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/ebssurrogate/step_register_ami.go
@@ -12,9 +12,11 @@ import (
// StepRegisterAMI creates the AMI.
type StepRegisterAMI struct {
- RootDevice RootBlockDevice
- BlockDevices []*ec2.BlockDeviceMapping
- image *ec2.Image
+ RootDevice RootBlockDevice
+ BlockDevices []*ec2.BlockDeviceMapping
+ EnableAMIENASupport bool
+ EnableAMISriovNetSupport bool
+ image *ec2.Image
}
func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
@@ -35,16 +37,16 @@ func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
BlockDeviceMappings: blockDevicesExcludingRoot,
}
- if config.AMIEnhancedNetworking {
+ if s.EnableAMISriovNetSupport {
// Set SriovNetSupport to "simple". See http://goo.gl/icuXh5
// As of February 2017, this applies to C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge)
registerOpts.SriovNetSupport = aws.String("simple")
-
+ }
+ if s.EnableAMIENASupport {
// Set EnaSupport to true
// As of February 2017, this applies to C5, I3, P2, R4, X1, and m4.16xlarge
registerOpts.EnaSupport = aws.Bool(true)
}
-
registerResp, err := ec2conn.RegisterImage(registerOpts)
if err != nil {
state.Put("error", fmt.Errorf("Error registering AMI: %s", err))
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/ebsvolume/builder.go b/vendor/github.com/mitchellh/packer/builder/amazon/ebsvolume/builder.go
index 098cb4c9..1aad1819 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/ebsvolume/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/ebsvolume/builder.go
@@ -23,8 +23,9 @@ type Config struct {
awscommon.AccessConfig `mapstructure:",squash"`
awscommon.RunConfig `mapstructure:",squash"`
- VolumeMappings []BlockDevice `mapstructure:"ebs_volumes"`
- AMIEnhancedNetworking bool `mapstructure:"enhanced_networking"`
+ VolumeMappings []BlockDevice `mapstructure:"ebs_volumes"`
+ AMIENASupport bool `mapstructure:"ena_support"`
+ AMISriovNetSupport bool `mapstructure:"sriov_support"`
launchBlockDevices awscommon.BlockDevices
ctx interpolate.Context
@@ -103,9 +104,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
// Build the steps
steps := []multistep.Step{
&awscommon.StepSourceAMIInfo{
- SourceAmi: b.config.SourceAmi,
- EnhancedNetworking: b.config.AMIEnhancedNetworking,
- AmiFilters: b.config.SourceAmiFilter,
+ SourceAmi: b.config.SourceAmi,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
+ AmiFilters: b.config.SourceAmiFilter,
},
&awscommon.StepKeyPair{
Debug: b.config.PackerDebug,
@@ -164,7 +166,8 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
DisableStopInstance: b.config.DisableStopInstance,
},
&awscommon.StepModifyEBSBackedInstance{
- EnableEnhancedNetworking: b.config.AMIEnhancedNetworking,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
}
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/instance/builder.go b/vendor/github.com/mitchellh/packer/builder/amazon/instance/builder.go
index d45dc64d..6329008f 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/instance/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/instance/builder.go
@@ -200,9 +200,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
ForceDeregister: b.config.AMIForceDeregister,
},
&awscommon.StepSourceAMIInfo{
- SourceAmi: b.config.SourceAmi,
- EnhancedNetworking: b.config.AMIEnhancedNetworking,
- AmiFilters: b.config.SourceAmiFilter,
+ SourceAmi: b.config.SourceAmi,
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
+ AmiFilters: b.config.SourceAmiFilter,
},
&awscommon.StepKeyPair{
Debug: b.config.PackerDebug,
@@ -258,11 +259,16 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
Debug: b.config.PackerDebug,
},
&awscommon.StepDeregisterAMI{
+ AccessConfig: &b.config.AccessConfig,
ForceDeregister: b.config.AMIForceDeregister,
ForceDeleteSnapshot: b.config.AMIForceDeleteSnapshot,
AMIName: b.config.AMIName,
+ Regions: b.config.AMIRegions,
+ },
+ &StepRegisterAMI{
+ EnableAMISriovNetSupport: b.config.AMISriovNetSupport,
+ EnableAMIENASupport: b.config.AMIENASupport,
},
- &StepRegisterAMI{},
&awscommon.StepAMIRegionCopy{
AccessConfig: &b.config.AccessConfig,
Regions: b.config.AMIRegions,
diff --git a/vendor/github.com/mitchellh/packer/builder/amazon/instance/step_register_ami.go b/vendor/github.com/mitchellh/packer/builder/amazon/instance/step_register_ami.go
index 01ba46bd..d363bdfd 100644
--- a/vendor/github.com/mitchellh/packer/builder/amazon/instance/step_register_ami.go
+++ b/vendor/github.com/mitchellh/packer/builder/amazon/instance/step_register_ami.go
@@ -10,7 +10,10 @@ import (
"github.com/mitchellh/multistep"
)
-type StepRegisterAMI struct{}
+type StepRegisterAMI struct {
+ EnableAMIENASupport bool
+ EnableAMISriovNetSupport bool
+}
func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
config := state.Get("config").(*Config)
@@ -29,12 +32,13 @@ func (s *StepRegisterAMI) Run(state multistep.StateBag) multistep.StepAction {
registerOpts.VirtualizationType = aws.String(config.AMIVirtType)
}
- if config.AMIEnhancedNetworking {
+ if s.EnableAMISriovNetSupport {
// Set SriovNetSupport to "simple". See http://goo.gl/icuXh5
// As of February 2017, this applies to C3, C4, D2, I2, R3, and M4 (excluding m4.16xlarge)
registerOpts.SriovNetSupport = aws.String("simple")
-
- // Set EnaSupport to true.
+ }
+ if s.EnableAMIENASupport {
+ // Set EnaSupport to true
// As of February 2017, this applies to C5, I3, P2, R4, X1, and m4.16xlarge
registerOpts.EnaSupport = aws.Bool(true)
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact.go
index eade5017..e8a72091 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact_test.go
index 7202b652..1b9a472a 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/artifact_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/authenticate.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/authenticate.go
index d89a1254..7f0b5bdc 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/authenticate.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/authenticate.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/azure_client.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/azure_client.go
index 10c8d4bb..3fd58bc3 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/azure_client.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/azure_client.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/builder.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/builder.go
index 5377b7bb..e6993cfb 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/builder.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
@@ -119,7 +116,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
}
endpointConnectType := PublicEndpoint
- if b.isPrivateNetworkCommunication() {
+ if b.isPublicPrivateNetworkCommunication() && b.isPrivateNetworkCommunication() {
+ endpointConnectType = PublicEndpointInPrivateNetwork
+ } else if b.isPrivateNetworkCommunication() {
endpointConnectType = PrivateEndpoint
}
@@ -245,6 +244,10 @@ func (b *Builder) writeSSHPrivateKey(ui packer.Ui, debugKeyPath string) {
}
}
+func (b *Builder) isPublicPrivateNetworkCommunication() bool {
+ return DefaultPrivateVirtualNetworkWithPublicIp != b.config.PrivateVirtualNetworkWithPublicIp
+}
+
func (b *Builder) isPrivateNetworkCommunication() bool {
return b.config.VirtualNetworkName != ""
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/builder_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/builder_test.go
index 47f7a74b..a44d363d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/builder_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/builder_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template.go
index 23e70199..0332a02f 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
type CaptureTemplateParameter struct {
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template_test.go
index 6d2e53b1..8c7a7140 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/capture_template_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/config.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/config.go
index 1d0c98d1..3fc4f13b 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/config.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
@@ -34,10 +31,11 @@ import (
)
const (
- DefaultCloudEnvironmentName = "Public"
- DefaultImageVersion = "latest"
- DefaultUserName = "packer"
- DefaultVMSize = "Standard_A1"
+ DefaultCloudEnvironmentName = "Public"
+ DefaultImageVersion = "latest"
+ DefaultUserName = "packer"
+ DefaultPrivateVirtualNetworkWithPublicIp = false
+ DefaultVMSize = "Standard_A1"
)
var (
@@ -73,24 +71,27 @@ type Config struct {
Location string `mapstructure:"location"`
VMSize string `mapstructure:"vm_size"`
- ManagedImageResourceGroupName string `mapstructure:"managed_image_resource_group_name"`
- ManagedImageName string `mapstructure:"managed_image_name"`
- manageImageLocation string
+ ManagedImageResourceGroupName string `mapstructure:"managed_image_resource_group_name"`
+ ManagedImageName string `mapstructure:"managed_image_name"`
+ ManagedImageStorageAccountType string `mapstructure:"managed_image_storage_account_type"`
+ managedImageStorageAccountType compute.StorageAccountTypes
+ manageImageLocation string
// Deployment
- AzureTags map[string]*string `mapstructure:"azure_tags"`
- ResourceGroupName string `mapstructure:"resource_group_name"`
- StorageAccount string `mapstructure:"storage_account"`
- TempComputeName string `mapstructure:"temp_compute_name"`
- TempResourceGroupName string `mapstructure:"temp_resource_group_name"`
- storageAccountBlobEndpoint string
- CloudEnvironmentName string `mapstructure:"cloud_environment_name"`
- cloudEnvironment *azure.Environment
- VirtualNetworkName string `mapstructure:"virtual_network_name"`
- VirtualNetworkSubnetName string `mapstructure:"virtual_network_subnet_name"`
- VirtualNetworkResourceGroupName string `mapstructure:"virtual_network_resource_group_name"`
- CustomDataFile string `mapstructure:"custom_data_file"`
- customData string
+ AzureTags map[string]*string `mapstructure:"azure_tags"`
+ ResourceGroupName string `mapstructure:"resource_group_name"`
+ StorageAccount string `mapstructure:"storage_account"`
+ TempComputeName string `mapstructure:"temp_compute_name"`
+ TempResourceGroupName string `mapstructure:"temp_resource_group_name"`
+ storageAccountBlobEndpoint string
+ CloudEnvironmentName string `mapstructure:"cloud_environment_name"`
+ cloudEnvironment *azure.Environment
+ PrivateVirtualNetworkWithPublicIp bool `mapstructure:"private_virtual_network_with_public_ip"`
+ VirtualNetworkName string `mapstructure:"virtual_network_name"`
+ VirtualNetworkSubnetName string `mapstructure:"virtual_network_subnet_name"`
+ VirtualNetworkResourceGroupName string `mapstructure:"virtual_network_resource_group_name"`
+ CustomDataFile string `mapstructure:"custom_data_file"`
+ customData string
// OS
OSType string `mapstructure:"os_type"`
@@ -403,6 +404,10 @@ func provideDefaultValues(c *Config) {
c.VMSize = DefaultVMSize
}
+ if c.ManagedImageStorageAccountType == "" {
+ c.managedImageStorageAccountType = compute.StandardLRS
+ }
+
if c.ImagePublisher != "" && c.ImageVersion == "" {
c.ImageVersion = DefaultImageVersion
}
@@ -526,6 +531,10 @@ func assertRequiredParametersSet(c *Config, errs *packer.MultiError) {
errs = packer.MultiErrorAppend(errs, fmt.Errorf("Specify either a VHD (image_url), Image Reference (image_publisher, image_offer, image_sku) or a Managed Disk (custom_managed_disk_image_name, custom_managed_disk_resource_group_name"))
}
+ if isImageUrl && c.ManagedImageResourceGroupName != "" {
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("A managed image must be created from a managed image, it cannot be created from a VHD."))
+ }
+
if c.ImageUrl == "" && c.CustomManagedImageName == "" {
if c.ImagePublisher == "" {
errs = packer.MultiErrorAppend(errs, fmt.Errorf("An image_publisher must be specified"))
@@ -596,4 +605,13 @@ func assertRequiredParametersSet(c *Config, errs *packer.MultiError) {
} else {
errs = packer.MultiErrorAppend(errs, fmt.Errorf("The os_type %q is invalid", c.OSType))
}
+
+ switch c.ManagedImageStorageAccountType {
+ case "", string(compute.StandardLRS):
+ c.managedImageStorageAccountType = compute.StandardLRS
+ case string(compute.PremiumLRS):
+ c.managedImageStorageAccountType = compute.PremiumLRS
+ default:
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("The managed_image_storage_account_type %q is invalid", c.ManagedImageStorageAccountType))
+ }
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/config_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/config_test.go
index 83545471..b7523f65 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/config_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/config_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
@@ -9,6 +6,7 @@ import (
"testing"
"time"
+ "github.com/Azure/azure-sdk-for-go/arm/compute"
"github.com/hashicorp/packer/builder/azure/common/constants"
"github.com/hashicorp/packer/packer"
)
@@ -48,6 +46,10 @@ func TestConfigShouldProvideReasonableDefaultValues(t *testing.T) {
if c.ObjectID != "" {
t.Errorf("Expected 'ObjectID' to be nil, but it was '%s'!", c.ObjectID)
}
+
+ if c.managedImageStorageAccountType == "" {
+ t.Errorf("Expected 'managedImageStorageAccountType' to be populated, but it was empty!")
+ }
}
func TestConfigShouldBeAbleToOverrideDefaultedValues(t *testing.T) {
@@ -56,6 +58,7 @@ func TestConfigShouldBeAbleToOverrideDefaultedValues(t *testing.T) {
builderValues["ssh_username"] = "override_username"
builderValues["vm_size"] = "override_vm_size"
builderValues["communicator"] = "ssh"
+ builderValues["managed_image_storage_account_type"] = "Premium_LRS"
c, _, err := newConfig(builderValues, getPackerConfiguration())
@@ -64,23 +67,27 @@ func TestConfigShouldBeAbleToOverrideDefaultedValues(t *testing.T) {
}
if c.Password != "override_password" {
- t.Errorf("Expected 'Password' to be set to 'override_password', but found '%s'!", c.Password)
+ t.Errorf("Expected 'Password' to be set to 'override_password', but found %q!", c.Password)
}
if c.Comm.SSHPassword != "override_password" {
- t.Errorf("Expected 'c.Comm.SSHPassword' to be set to 'override_password', but found '%s'!", c.Comm.SSHPassword)
+ t.Errorf("Expected 'c.Comm.SSHPassword' to be set to 'override_password', but found %q!", c.Comm.SSHPassword)
}
if c.UserName != "override_username" {
- t.Errorf("Expected 'UserName' to be set to 'override_username', but found '%s'!", c.UserName)
+ t.Errorf("Expected 'UserName' to be set to 'override_username', but found %q!", c.UserName)
}
if c.Comm.SSHUsername != "override_username" {
- t.Errorf("Expected 'c.Comm.SSHUsername' to be set to 'override_username', but found '%s'!", c.Comm.SSHUsername)
+ t.Errorf("Expected 'c.Comm.SSHUsername' to be set to 'override_username', but found %q!", c.Comm.SSHUsername)
}
if c.VMSize != "override_vm_size" {
- t.Errorf("Expected 'vm_size' to be set to 'override_vm_size', but found '%s'!", c.VMSize)
+ t.Errorf("Expected 'vm_size' to be set to 'override_vm_size', but found %q!", c.VMSize)
+ }
+
+ if c.managedImageStorageAccountType != compute.PremiumLRS {
+ t.Errorf("Expected 'managed_image_storage_account_type' to be set to 'Premium_LRS', but found %q!", c.managedImageStorageAccountType)
}
}
@@ -782,6 +789,26 @@ func TestConfigShouldRejectVhdAndManagedImageOutput(t *testing.T) {
}
}
+// If the user specified a build of a VHD, but started with a managed image it should be rejected.
+func TestConfigShouldRejectManagedImageSourceAndVhdOutput(t *testing.T) {
+ config := map[string]interface{}{
+ "image_url": "ignore",
+ "location": "ignore",
+ "subscription_id": "ignore",
+ "communicator": "none",
+ "managed_image_resource_group_name": "ignore",
+ "managed_image_name": "ignore",
+
+ // Does not matter for this test case, just pick one.
+ "os_type": constants.Target_Linux,
+ }
+
+ _, _, err := newConfig(config, getPackerConfiguration())
+ if err == nil {
+ t.Fatal("expected config to reject VHD and Managed Image build")
+ }
+}
+
func TestConfigShouldRejectCustomAndPlatformManagedImageBuild(t *testing.T) {
config := map[string]interface{}{
"custom_managed_image_resource_group_name": "ignore",
@@ -826,6 +853,52 @@ func TestConfigShouldRejectCustomAndImageUrlForManagedImageBuild(t *testing.T) {
}
}
+func TestConfigShouldRejectMalformedManageImageStorageAccountTypes(t *testing.T) {
+ config := map[string]interface{}{
+ "custom_managed_image_resource_group_name": "ignore",
+ "custom_managed_image_name": "ignore",
+ "location": "ignore",
+ "subscription_id": "ignore",
+ "communicator": "none",
+ "managed_image_resource_group_name": "ignore",
+ "managed_image_name": "ignore",
+ "managed_image_storage_account_type": "--invalid--",
+
+ // Does not matter for this test case, just pick one.
+ "os_type": constants.Target_Linux,
+ }
+
+ _, _, err := newConfig(config, getPackerConfiguration())
+ if err == nil {
+ t.Fatal("expected config to reject custom and platform input for a managed image build")
+ }
+}
+
+func TestConfigShouldAcceptManagedImageStorageAccountTypes(t *testing.T) {
+ config := map[string]interface{}{
+ "custom_managed_image_resource_group_name": "ignore",
+ "custom_managed_image_name": "ignore",
+ "location": "ignore",
+ "subscription_id": "ignore",
+ "communicator": "none",
+ "managed_image_resource_group_name": "ignore",
+ "managed_image_name": "ignore",
+
+ // Does not matter for this test case, just pick one.
+ "os_type": constants.Target_Linux,
+ }
+
+ storage_account_types := []string{"Premium_LRS", "Standard_LRS"}
+
+ for _, x := range storage_account_types {
+ config["managed_image_storage_account_type"] = x
+ _, _, err := newConfig(config, getPackerConfiguration())
+ if err != nil {
+ t.Fatalf("expected config to accept a managed_image_storage_account_type of %q", x)
+ }
+ }
+}
+
func getArmBuilderConfiguration() map[string]string {
m := make(map[string]string)
for _, v := range requiredConfigValues {
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair.go
index 4f8c8d22..e3b296f3 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair_test.go
index 7e2f6957..fae03105 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/openssh_key_pair_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step.go
index 574527f8..707a1a07 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image.go
index eac4b5c6..10d29069 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image_test.go
index 24bba776..4527627a 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_capture_image_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group.go
index b8e24149..079ad527 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group_test.go
index ca0c8f18..4e6b7592 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_create_resource_group_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk.go
index 0041a8ec..1dd28ec8 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk_test.go
index 6e2e2d9a..2724ee61 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_os_disk_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group.go
index 5a168328..2606b9fc 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group_test.go
index fb2882a4..25ab14e4 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_delete_resource_group_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template.go
index 96248684..8d73402b 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template_test.go
index 57bfce7d..3a1d0c0b 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_deploy_template_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate.go
index ffc27b14..b9126da3 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate_test.go
index 46c921a3..553806c5 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_certificate_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address.go
index fed78afb..2c8165b0 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
@@ -16,12 +13,14 @@ type EndpointType int
const (
PublicEndpoint EndpointType = iota
PrivateEndpoint
+ PublicEndpointInPrivateNetwork
)
var (
EndpointCommunicationText = map[EndpointType]string{
- PublicEndpoint: "PublicEndpoint",
- PrivateEndpoint: "PrivateEndpoint",
+ PublicEndpoint: "PublicEndpoint",
+ PrivateEndpoint: "PrivateEndpoint",
+ PublicEndpointInPrivateNetwork: "PublicEndpointInPrivateNetwork",
}
)
@@ -46,6 +45,8 @@ func NewStepGetIPAddress(client *AzureClient, ui packer.Ui, endpoint EndpointTyp
step.get = step.getPrivateIP
case PublicEndpoint:
step.get = step.getPublicIP
+ case PublicEndpointInPrivateNetwork:
+ step.get = step.getPublicIPInPrivateNetwork
}
return step
@@ -70,6 +71,11 @@ func (s *StepGetIPAddress) getPublicIP(resourceGroupName string, ipAddressName s
return *resp.IPAddress, nil
}
+func (s *StepGetIPAddress) getPublicIPInPrivateNetwork(resourceGroupName string, ipAddressName string, interfaceName string) (string, error) {
+ s.getPrivateIP(resourceGroupName, ipAddressName, interfaceName)
+ return s.getPublicIP(resourceGroupName, ipAddressName, interfaceName)
+}
+
func (s *StepGetIPAddress) Run(state multistep.StateBag) multistep.StepAction {
s.say("Getting the VM's IP address ...")
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address_test.go
index a0b854ed..1403e9a5 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_ip_address_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
@@ -12,42 +9,50 @@ import (
)
func TestStepGetIPAddressShouldFailIfGetFails(t *testing.T) {
- var testSubject = &StepGetIPAddress{
- get: func(string, string, string) (string, error) { return "", fmt.Errorf("!! Unit Test FAIL !!") },
- endpoint: PublicEndpoint,
- say: func(message string) {},
- error: func(e error) {},
- }
-
- stateBag := createTestStateBagStepGetIPAddress()
-
- var result = testSubject.Run(stateBag)
- if result != multistep.ActionHalt {
- t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result)
- }
-
- if _, ok := stateBag.GetOk(constants.Error); ok == false {
- t.Fatalf("Expected the step to set stateBag['%s'], but it was not.", constants.Error)
+ endpoints := []EndpointType{PublicEndpoint, PublicEndpointInPrivateNetwork}
+
+ for _, endpoint := range endpoints {
+ var testSubject = &StepGetIPAddress{
+ get: func(string, string, string) (string, error) { return "", fmt.Errorf("!! Unit Test FAIL !!") },
+ endpoint: endpoint,
+ say: func(message string) {},
+ error: func(e error) {},
+ }
+
+ stateBag := createTestStateBagStepGetIPAddress()
+
+ var result = testSubject.Run(stateBag)
+ if result != multistep.ActionHalt {
+ t.Fatalf("Expected the step to return 'ActionHalt', but got '%d'.", result)
+ }
+
+ if _, ok := stateBag.GetOk(constants.Error); ok == false {
+ t.Fatalf("Expected the step to set stateBag['%s'], but it was not.", constants.Error)
+ }
}
}
func TestStepGetIPAddressShouldPassIfGetPasses(t *testing.T) {
- var testSubject = &StepGetIPAddress{
- get: func(string, string, string) (string, error) { return "", nil },
- endpoint: PublicEndpoint,
- say: func(message string) {},
- error: func(e error) {},
- }
-
- stateBag := createTestStateBagStepGetIPAddress()
-
- var result = testSubject.Run(stateBag)
- if result != multistep.ActionContinue {
- t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
- }
-
- if _, ok := stateBag.GetOk(constants.Error); ok == true {
- t.Fatalf("Expected the step to not set stateBag['%s'], but it was.", constants.Error)
+ endpoints := []EndpointType{PublicEndpoint, PublicEndpointInPrivateNetwork}
+
+ for _, endpoint := range endpoints {
+ var testSubject = &StepGetIPAddress{
+ get: func(string, string, string) (string, error) { return "", nil },
+ endpoint: endpoint,
+ say: func(message string) {},
+ error: func(e error) {},
+ }
+
+ stateBag := createTestStateBagStepGetIPAddress()
+
+ var result = testSubject.Run(stateBag)
+ if result != multistep.ActionContinue {
+ t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
+ }
+
+ if _, ok := stateBag.GetOk(constants.Error); ok == true {
+ t.Fatalf("Expected the step to not set stateBag['%s'], but it was.", constants.Error)
+ }
}
}
@@ -55,50 +60,53 @@ func TestStepGetIPAddressShouldTakeStepArgumentsFromStateBag(t *testing.T) {
var actualResourceGroupName string
var actualIPAddressName string
var actualNicName string
-
- var testSubject = &StepGetIPAddress{
- get: func(resourceGroupName string, ipAddressName string, nicName string) (string, error) {
- actualResourceGroupName = resourceGroupName
- actualIPAddressName = ipAddressName
- actualNicName = nicName
-
- return "127.0.0.1", nil
- },
- endpoint: PublicEndpoint,
- say: func(message string) {},
- error: func(e error) {},
- }
-
- stateBag := createTestStateBagStepGetIPAddress()
- var result = testSubject.Run(stateBag)
-
- if result != multistep.ActionContinue {
- t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
- }
-
- var expectedResourceGroupName = stateBag.Get(constants.ArmResourceGroupName).(string)
- var expectedIPAddressName = stateBag.Get(constants.ArmPublicIPAddressName).(string)
- var expectedNicName = stateBag.Get(constants.ArmNicName).(string)
-
- if actualIPAddressName != expectedIPAddressName {
- t.Fatal("Expected StepGetIPAddress to source 'constants.ArmIPAddressName' from the state bag, but it did not.")
- }
-
- if actualResourceGroupName != expectedResourceGroupName {
- t.Fatal("Expected StepGetIPAddress to source 'constants.ArmResourceGroupName' from the state bag, but it did not.")
- }
-
- if actualNicName != expectedNicName {
- t.Fatalf("Expected StepGetIPAddress to source 'constants.ArmNetworkInterfaceName' from the state bag, but it did not.")
- }
-
- expectedIPAddress, ok := stateBag.GetOk(constants.SSHHost)
- if !ok {
- t.Fatalf("Expected the state bag to have a value for '%s', but it did not.", constants.SSHHost)
- }
-
- if expectedIPAddress != "127.0.0.1" {
- t.Fatalf("Expected the value of stateBag[%s] to be '127.0.0.1', but got '%s'.", constants.SSHHost, expectedIPAddress)
+ endpoints := []EndpointType{PublicEndpoint, PublicEndpointInPrivateNetwork}
+
+ for _, endpoint := range endpoints {
+ var testSubject = &StepGetIPAddress{
+ get: func(resourceGroupName string, ipAddressName string, nicName string) (string, error) {
+ actualResourceGroupName = resourceGroupName
+ actualIPAddressName = ipAddressName
+ actualNicName = nicName
+
+ return "127.0.0.1", nil
+ },
+ endpoint: endpoint,
+ say: func(message string) {},
+ error: func(e error) {},
+ }
+
+ stateBag := createTestStateBagStepGetIPAddress()
+ var result = testSubject.Run(stateBag)
+
+ if result != multistep.ActionContinue {
+ t.Fatalf("Expected the step to return 'ActionContinue', but got '%d'.", result)
+ }
+
+ var expectedResourceGroupName = stateBag.Get(constants.ArmResourceGroupName).(string)
+ var expectedIPAddressName = stateBag.Get(constants.ArmPublicIPAddressName).(string)
+ var expectedNicName = stateBag.Get(constants.ArmNicName).(string)
+
+ if actualIPAddressName != expectedIPAddressName {
+ t.Fatal("Expected StepGetIPAddress to source 'constants.ArmIPAddressName' from the state bag, but it did not.")
+ }
+
+ if actualResourceGroupName != expectedResourceGroupName {
+ t.Fatal("Expected StepGetIPAddress to source 'constants.ArmResourceGroupName' from the state bag, but it did not.")
+ }
+
+ if actualNicName != expectedNicName {
+ t.Fatalf("Expected StepGetIPAddress to source 'constants.ArmNetworkInterfaceName' from the state bag, but it did not.")
+ }
+
+ expectedIPAddress, ok := stateBag.GetOk(constants.SSHHost)
+ if !ok {
+ t.Fatalf("Expected the state bag to have a value for '%s', but it did not.", constants.SSHHost)
+ }
+
+ if expectedIPAddress != "127.0.0.1" {
+ t.Fatalf("Expected the value of stateBag[%s] to be '127.0.0.1', but got '%s'.", constants.SSHHost, expectedIPAddress)
+ }
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk.go
index 6b21d57d..511ab5c5 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk_test.go
index 9b647492..2b3a4d5d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_get_os_disk_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute.go
index a1d38f34..931050e0 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute_test.go
index 71004256..2dcdac7f 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_power_off_compute_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate.go
index a2263d12..5e865b88 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate_test.go
index 5bcb7dff..1ad9b7db 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_set_certificate_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_test.go
index 060c1235..2b10c878 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template.go
index 5a041f91..d2b98638 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template_test.go
index 071d10d8..a5603078 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/step_validate_template_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory.go
index 3cd00845..16fe7bf9 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory.go
@@ -53,7 +53,7 @@ func GetVirtualMachineDeployment(config *Config) (*resources.Deployment, error)
if config.ImageUrl != "" {
builder.SetImageUrl(config.ImageUrl, osType)
} else if config.CustomManagedImageName != "" {
- builder.SetManagedDiskUrl(config.customManagedImageID)
+ builder.SetManagedDiskUrl(config.customManagedImageID, config.managedImageStorageAccountType)
} else if config.ManagedImageName != "" && config.ImagePublisher != "" {
imageID := fmt.Sprintf("/subscriptions/%s/providers/Microsoft.Compute/locations/%s/publishers/%s/ArtifactTypes/vmimage/offers/%s/skus/%s/versions/%s",
config.SubscriptionID,
@@ -63,7 +63,7 @@ func GetVirtualMachineDeployment(config *Config) (*resources.Deployment, error)
config.ImageSku,
config.ImageVersion)
- builder.SetManagedMarketplaceImage(config.Location, config.ImagePublisher, config.ImageOffer, config.ImageSku, config.ImageVersion, imageID)
+ builder.SetManagedMarketplaceImage(config.Location, config.ImagePublisher, config.ImageOffer, config.ImageSku, config.ImageVersion, imageID, config.managedImageStorageAccountType)
} else {
builder.SetMarketPlaceImage(config.ImagePublisher, config.ImageOffer, config.ImageSku, config.ImageVersion)
}
@@ -76,7 +76,12 @@ func GetVirtualMachineDeployment(config *Config) (*resources.Deployment, error)
builder.SetCustomData(config.customData)
}
- if config.VirtualNetworkName != "" {
+ if config.VirtualNetworkName != "" && DefaultPrivateVirtualNetworkWithPublicIp != config.PrivateVirtualNetworkWithPublicIp {
+ builder.SetPrivateVirtualNetworWithPublicIp(
+ config.VirtualNetworkResourceGroupName,
+ config.VirtualNetworkName,
+ config.VirtualNetworkSubnetName)
+ } else if config.VirtualNetworkName != "" {
builder.SetVirtualNetwork(
config.VirtualNetworkResourceGroupName,
config.VirtualNetworkName,
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment08.approved.json b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment08.approved.json
index 7089ed59..c567b774 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment08.approved.json
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment08.approved.json
@@ -129,6 +129,9 @@
"osDisk": {
"caching": "ReadWrite",
"createOption": "fromImage",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
"name": "osdisk",
"osType": "Linux"
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment09.approved.json b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment09.approved.json
index 03a00fa3..fbbb7384 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment09.approved.json
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment09.approved.json
@@ -132,6 +132,9 @@
"osDisk": {
"caching": "ReadWrite",
"createOption": "fromImage",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
"name": "osdisk",
"osType": "Linux"
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment10.approved.json b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment10.approved.json
new file mode 100644
index 00000000..0eb13013
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.TestVirtualMachineDeployment10.approved.json
@@ -0,0 +1,144 @@
+{
+ "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "adminPassword": {
+ "type": "string"
+ },
+ "adminUsername": {
+ "type": "string"
+ },
+ "dnsNameForPublicIP": {
+ "type": "string"
+ },
+ "osDiskName": {
+ "type": "string"
+ },
+ "storageAccountBlobEndpoint": {
+ "type": "string"
+ },
+ "vmName": {
+ "type": "string"
+ },
+ "vmSize": {
+ "type": "string"
+ }
+ },
+ "resources": [
+ {
+ "apiVersion": "[variables('publicIPAddressApiVersion')]",
+ "location": "[variables('location')]",
+ "name": "[variables('publicIPAddressName')]",
+ "properties": {
+ "dnsSettings": {
+ "domainNameLabel": "[parameters('dnsNameForPublicIP')]"
+ },
+ "publicIPAllocationMethod": "[variables('publicIPAddressType')]"
+ },
+ "type": "Microsoft.Network/publicIPAddresses"
+ },
+ {
+ "apiVersion": "[variables('networkInterfacesApiVersion')]",
+ "dependsOn": [
+ "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]"
+ ],
+ "location": "[variables('location')]",
+ "name": "[variables('nicName')]",
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig",
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName'))]"
+ },
+ "subnet": {
+ "id": "[variables('subnetRef')]"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkInterfaces"
+ },
+ {
+ "apiVersion": "[variables('apiVersion')]",
+ "dependsOn": [
+ "[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
+ ],
+ "location": "[variables('location')]",
+ "name": "[parameters('vmName')]",
+ "properties": {
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": false
+ }
+ },
+ "hardwareProfile": {
+ "vmSize": "[parameters('vmSize')]"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
+ }
+ ]
+ },
+ "osProfile": {
+ "adminPassword": "[parameters('adminPassword')]",
+ "adminUsername": "[parameters('adminUsername')]",
+ "computerName": "[parameters('vmName')]",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "",
+ "path": "[variables('sshKeyPath')]"
+ }
+ ]
+ }
+ }
+ },
+ "storageProfile": {
+ "imageReference": {
+ "offer": "--image-offer--",
+ "publisher": "--image-publisher--",
+ "sku": "--image-sku--",
+ "version": "--version--"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "fromImage",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "osdisk",
+ "osType": "Linux"
+ }
+ }
+ },
+ "type": "Microsoft.Compute/virtualMachines"
+ }
+ ],
+ "variables": {
+ "addressPrefix": "10.0.0.0/16",
+ "apiVersion": "2017-03-30",
+ "location": "[resourceGroup().location]",
+ "managedDiskApiVersion": "2017-03-30",
+ "networkInterfacesApiVersion": "2017-04-01",
+ "nicName": "packerNic",
+ "publicIPAddressApiVersion": "2017-04-01",
+ "publicIPAddressName": "packerPublicIP",
+ "publicIPAddressType": "Dynamic",
+ "sshKeyPath": "[concat('/home/',parameters('adminUsername'),'/.ssh/authorized_keys')]",
+ "subnetAddressPrefix": "10.0.0.0/24",
+ "subnetName": "--virtual_network_subnet_name--",
+ "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
+ "virtualNetworkName": "--virtual_network_name--",
+ "virtualNetworkResourceGroup": "--virtual_network_resource_group_name--",
+ "virtualNetworksApiVersion": "2017-04-01",
+ "vmStorageAccountContainerName": "images",
+ "vnetID": "[resourceId(variables('virtualNetworkResourceGroup'), 'Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]"
+ }
+} \ No newline at end of file
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.go
index 8a6e0c65..b571871e 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/template_factory_test.go
@@ -318,6 +318,43 @@ func TestVirtualMachineDeployment09(t *testing.T) {
}
}
+// Ensure the VM template is correct when building with PublicIp and connect to Private Network
+func TestVirtualMachineDeployment10(t *testing.T) {
+ config := map[string]interface{}{
+ "location": "ignore",
+ "subscription_id": "ignore",
+ "os_type": constants.Target_Linux,
+ "communicator": "none",
+ "image_publisher": "--image-publisher--",
+ "image_offer": "--image-offer--",
+ "image_sku": "--image-sku--",
+ "image_version": "--version--",
+
+ "virtual_network_resource_group_name": "--virtual_network_resource_group_name--",
+ "virtual_network_name": "--virtual_network_name--",
+ "virtual_network_subnet_name": "--virtual_network_subnet_name--",
+ "private_virtual_network_with_public_ip": true,
+
+ "managed_image_name": "ManagedImageName",
+ "managed_image_resource_group_name": "ManagedImageResourceGroupName",
+ }
+
+ c, _, err := newConfig(config, getPackerConfiguration())
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ deployment, err := GetVirtualMachineDeployment(c)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ err = approvaltests.VerifyJSONStruct(t, deployment.Properties.Template)
+ if err != nil {
+ t.Fatal(err)
+ }
+}
+
// Ensure the link values are not set, and the concrete values are set.
func TestKeyVaultDeployment00(t *testing.T) {
c, _, _ := newConfig(getArmBuilderConfiguration(), getPackerConfiguration())
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname.go
index 22e14097..734cd74a 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname_test.go b/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname_test.go
index c812e6c7..e9a49b42 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/arm/tempname_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package arm
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/constants/stateBag.go b/vendor/github.com/mitchellh/packer/builder/azure/common/constants/stateBag.go
index b1289547..a6eef5bd 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/constants/stateBag.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/constants/stateBag.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package constants
// complete flags
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/constants/targetplatforms.go b/vendor/github.com/mitchellh/packer/builder/azure/common/constants/targetplatforms.go
index 953f3d32..515eb746 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/constants/targetplatforms.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/constants/targetplatforms.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package constants
// Target types
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings.go b/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings.go
index b59b15fc..e3b6963d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
// removes overlap between the end of a and the start of b and
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings_test.go b/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings_test.go
index 63379d47..0e7a633d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/gluestrings_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task.go b/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task.go
index 32acb099..94edc63c 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task_test.go b/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task_test.go
index 44e849f6..d2090d87 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/interruptible_task_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/ssh.go b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/ssh.go
index 7ee5a606..1600c2f4 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/ssh.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/ssh.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package lin
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_create_cert.go b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_create_cert.go
index 6ef4ff56..6f6a685d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_create_cert.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_create_cert.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package lin
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_generalize_os.go b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_generalize_os.go
index 1c355c2c..c4dacc47 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_generalize_os.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/lin/step_generalize_os.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package lin
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/logutil/logfields.go b/vendor/github.com/mitchellh/packer/builder/azure/common/logutil/logfields.go
index 4e63d521..b450594d 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/logutil/logfields.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/logutil/logfields.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package logutil
import "fmt"
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring.go b/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring.go
index 6d8d752d..a81f5b3c 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring_test.go b/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring_test.go
index ce375e7b..c3e0fae5 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/randomstring_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/state_bag.go b/vendor/github.com/mitchellh/packer/builder/azure/common/state_bag.go
index 128ee1e9..a402518a 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/state_bag.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/state_bag.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package common
import "github.com/mitchellh/multistep"
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template.go b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template.go
index 0ce9d204..cdea487f 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template.go
@@ -45,6 +45,7 @@ type OSDiskUnion struct {
Caching compute.CachingTypes `json:"caching,omitempty"`
CreateOption compute.DiskCreateOptionTypes `json:"createOption,omitempty"`
DiskSizeGB *int32 `json:"diskSizeGB,omitempty"`
+ ManagedDisk *compute.ManagedDiskParameters `json:"managedDisk,omitempty"`
}
// Union of the StorageProfile and ImageStorageProfile types.
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go
index 898bf77e..7311817c 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_builder.go
@@ -101,7 +101,7 @@ func (s *TemplateBuilder) BuildWindows(keyVaultName, winRMCertificateUrl string)
return nil
}
-func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string) error {
+func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string, storageAccountType compute.StorageAccountTypes) error {
resource, err := s.getResourceByType(resourceVirtualMachine)
if err != nil {
return err
@@ -115,11 +115,14 @@ func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string) error {
profile.OsDisk.OsType = s.osType
profile.OsDisk.CreateOption = compute.FromImage
profile.OsDisk.Vhd = nil
+ profile.OsDisk.ManagedDisk = &compute.ManagedDiskParameters{
+ StorageAccountType: storageAccountType,
+ }
return nil
}
-func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string) error {
+func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string, storageAccountType compute.StorageAccountTypes) error {
resource, err := s.getResourceByType(resourceVirtualMachine)
if err != nil {
return err
@@ -137,6 +140,9 @@ func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer,
profile.OsDisk.OsType = s.osType
profile.OsDisk.CreateOption = compute.FromImage
profile.OsDisk.Vhd = nil
+ profile.OsDisk.ManagedDisk = &compute.ManagedDiskParameters{
+ StorageAccountType: storageAccountType,
+ }
return nil
}
@@ -219,6 +225,24 @@ func (s *TemplateBuilder) SetVirtualNetwork(virtualNetworkResourceGroup, virtual
return nil
}
+func (s *TemplateBuilder) SetPrivateVirtualNetworWithPublicIp(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error {
+ s.setVariable("virtualNetworkResourceGroup", virtualNetworkResourceGroup)
+ s.setVariable("virtualNetworkName", virtualNetworkName)
+ s.setVariable("subnetName", subnetName)
+
+ s.deleteResourceByType(resourceVirtualNetworks)
+ resource, err := s.getResourceByType(resourceNetworkInterfaces)
+ if err != nil {
+ return err
+ }
+
+ s.deleteResourceDependency(resource, func(s string) bool {
+ return strings.Contains(s, "Microsoft.Network/virtualNetworks")
+ })
+
+ return nil
+}
+
func (s *TemplateBuilder) SetTags(tags *map[string]*string) error {
if tags == nil || len(*tags) == 0 {
return nil
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters.go b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters.go
index 50bc05cd..424a30c8 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package template
// The intent of these types to facilitate interchange with Azure in the
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters_test.go b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters_test.go
index d9f12ad8..1c24e5bb 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/template/template_parameters_test.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
package template
import (
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/common/vault.go b/vendor/github.com/mitchellh/packer/builder/azure/common/vault.go
index c00eadbb..db5c6db0 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/common/vault.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/common/vault.go
@@ -1,6 +1,3 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See the LICENSE file in builder/azure for license information.
-
// NOTE: vault APIs do not yet exist in the SDK, but once they do this code
// should be removed.
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/LICENSE b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/LICENSE
new file mode 100644
index 00000000..6a66aea5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/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/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/README.md b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/README.md
deleted file mode 100644
index c8b4603e..00000000
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-This is a fork of the from the original PKCS#12 parsing code
-published in the Azure repository [go-pkcs12](https://github.com/Azure/go-pkcs12).
-This fork adds serializing a x509 certificate and private key as PKCS#12 binary blob
-(aka .PFX file). Due to the specific nature of this code it was not accepted for
-inclusion in the official Go crypto repository.
-
-The methods used for decoding PKCS#12 have been moved to the test files to further
-discourage the use of this library for decoding. Please use the official
-[pkcs12](https://godoc.org/golang.org/x/crypto/pkcs12) library for decode support.
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string.go
index e98069b8..284d2a68 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string.go
@@ -1,3 +1,7 @@
+// 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 pkcs12
import (
@@ -5,6 +9,7 @@ import (
"unicode/utf16"
)
+// bmpString returns s encoded in UCS-2 with a zero terminator.
func bmpString(s string) ([]byte, error) {
// References:
// https://tools.ietf.org/html/rfc7292#appendix-B.1
@@ -13,14 +18,33 @@ func bmpString(s string) ([]byte, error) {
// EncodeRune returns 0xfffd if the rune does not need special encoding
// - the above RFC provides the info that BMPStrings are NULL terminated.
- rv := make([]byte, 0, 2*len(s)+2)
+ ret := make([]byte, 0, 2*len(s)+2)
for _, r := range s {
if t, _ := utf16.EncodeRune(r); t != 0xfffd {
- return nil, errors.New("string contains characters that cannot be encoded in UCS-2")
+ return nil, errors.New("pkcs12: string contains characters that cannot be encoded in UCS-2")
}
- rv = append(rv, byte(r/256), byte(r%256))
+ ret = append(ret, byte(r/256), byte(r%256))
+ }
+
+ return append(ret, 0, 0), nil
+}
+
+func decodeBMPString(bmpString []byte) (string, error) {
+ if len(bmpString)%2 != 0 {
+ return "", errors.New("pkcs12: odd-length BMP string")
}
- rv = append(rv, 0, 0)
- return rv, nil
+
+ // strip terminator if present
+ if l := len(bmpString); l >= 2 && bmpString[l-1] == 0 && bmpString[l-2] == 0 {
+ bmpString = bmpString[:l-2]
+ }
+
+ s := make([]uint16, 0, len(bmpString)/2)
+ for len(bmpString) > 0 {
+ s = append(s, uint16(bmpString[0])<<8+uint16(bmpString[1]))
+ bmpString = bmpString[2:]
+ }
+
+ return string(utf16.Decode(s)), nil
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string_test.go
index 8d4599e9..711528b8 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/bmp-string_test.go
@@ -1,70 +1,69 @@
+// 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 pkcs12
import (
"bytes"
- "errors"
+ "encoding/hex"
"testing"
- "unicode/utf16"
)
-func decodeBMPString(bmpString []byte) (string, error) {
- if len(bmpString)%2 != 0 {
- return "", errors.New("expected BMP byte string to be an even length")
- }
-
- // strip terminator if present
- if terminator := bmpString[len(bmpString)-2:]; terminator[0] == terminator[1] && terminator[1] == 0 {
- bmpString = bmpString[:len(bmpString)-2]
- }
-
- s := make([]uint16, 0, len(bmpString)/2)
- for len(bmpString) > 0 {
- s = append(s, uint16(bmpString[0])*265+uint16(bmpString[1]))
- bmpString = bmpString[2:]
- }
-
- return string(utf16.Decode(s)), nil
+var bmpStringTests = []struct {
+ in string
+ expectedHex string
+ shouldFail bool
+}{
+ {"", "0000", false},
+ // Example from https://tools.ietf.org/html/rfc7292#appendix-B.
+ {"Beavis", "0042006500610076006900730000", false},
+ // Some characters from the "Letterlike Symbols Unicode block".
+ {"\u2115 - Double-struck N", "21150020002d00200044006f00750062006c0065002d00730074007200750063006b0020004e0000", false},
+ // any character outside the BMP should trigger an error.
+ {"\U0001f000 East wind (Mahjong)", "", true},
}
func TestBMPStringDecode(t *testing.T) {
- _, err := decodeBMPString([]byte("a"))
- if err == nil {
- t.Fatal("expected decode to fail, but it succeeded")
+ if _, err := decodeBMPString([]byte("a")); err == nil {
+ t.Fatalf("expected decode to fail, but it succeeded")
}
}
func TestBMPString(t *testing.T) {
- str, err := bmpString("")
- if !bytes.Equal(str, []byte{0, 0}) {
- t.Errorf("expected empty string to return double 0, but found: % x", str)
- }
- if err != nil {
- t.Errorf("err: %v", err)
- }
+ for i, test := range bmpStringTests {
+ expected, err := hex.DecodeString(test.expectedHex)
+ if err != nil {
+ t.Fatalf("#%d: failed to decode expectation", i)
+ }
- // Example from https://tools.ietf.org/html/rfc7292#appendix-B
- str, err = bmpString("Beavis")
- if !bytes.Equal(str, []byte{0x00, 0x42, 0x00, 0x65, 0x00, 0x61, 0x00, 0x0076, 0x00, 0x69, 0x00, 0x73, 0x00, 0x00}) {
- t.Errorf("expected 'Beavis' to return 0x00 0x42 0x00 0x65 0x00 0x61 0x00 0x76 0x00 0x69 0x00 0x73 0x00 0x00, but found: % x", str)
- }
- if err != nil {
- t.Errorf("err: %v", err)
- }
+ out, err := bmpString(test.in)
+ if err == nil && test.shouldFail {
+ t.Errorf("#%d: expected to fail, but produced %x", i, out)
+ continue
+ }
- // some characters from the "Letterlike Symbols Unicode block"
- tst := "\u2115 - Double-struck N"
- str, err = bmpString(tst)
- if !bytes.Equal(str, []byte{0x21, 0x15, 0x00, 0x20, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x44, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x2d, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x75, 0x00, 0x63, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x4e, 0x00, 0x00}) {
- t.Errorf("expected '%s' to return 0x21 0x15 0x00 0x20 0x00 0x2d 0x00 0x20 0x00 0x44 0x00 0x6f 0x00 0x75 0x00 0x62 0x00 0x6c 0x00 0x65 0x00 0x2d 0x00 0x73 0x00 0x74 0x00 0x72 0x00 0x75 0x00 0x63 0x00 0x6b 0x00 0x20 0x00 0x4e 0x00 0x00, but found: % x", tst, str)
- }
- if err != nil {
- t.Errorf("err: %v", err)
- }
+ if err != nil && !test.shouldFail {
+ t.Errorf("#%d: failed unexpectedly: %s", i, err)
+ continue
+ }
+
+ if !test.shouldFail {
+ if !bytes.Equal(out, expected) {
+ t.Errorf("#%d: expected %s, got %x", i, test.expectedHex, out)
+ continue
+ }
+
+ roundTrip, err := decodeBMPString(out)
+ if err != nil {
+ t.Errorf("#%d: decoding output gave an error: %s", i, err)
+ continue
+ }
- // some character outside the BMP should error
- tst = "\U0001f000 East wind (Mahjong)"
- str, err = bmpString(tst)
- if err == nil {
- t.Errorf("expected '%s' to throw error because the first character is not in the BMP", tst)
+ if roundTrip != test.in {
+ t.Errorf("#%d: decoding output resulted in %q, but it should have been %q", i, roundTrip, test.in)
+ continue
+ }
+ }
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto.go
index 5095a4f7..6c81eb77 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto.go
@@ -1,4 +1,6 @@
-// implementation of https://tools.ietf.org/html/rfc2898#section-6.1.2
+// 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 pkcs12
@@ -16,30 +18,51 @@ import (
)
const (
- pbeWithSHAAnd3KeyTripleDESCBC = "pbeWithSHAAnd3-KeyTripleDES-CBC"
- pbewithSHAAnd40BitRC2CBC = "pbewithSHAAnd40BitRC2-CBC"
-)
-
-const (
pbeIterationCount = 2048
pbeSaltSizeBytes = 8
)
var (
- oidPbeWithSHAAnd3KeyTripleDESCBC = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 12, 1, 3}
- oidPbewithSHAAnd40BitRC2CBC = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 12, 1, 6}
+ oidPBEWithSHAAnd3KeyTripleDESCBC = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 1, 3})
+ oidPBEWithSHAAnd40BitRC2CBC = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 1, 6})
)
-var algByOID = map[string]string{
- oidPbeWithSHAAnd3KeyTripleDESCBC.String(): pbeWithSHAAnd3KeyTripleDESCBC,
- oidPbewithSHAAnd40BitRC2CBC.String(): pbewithSHAAnd40BitRC2CBC,
+// pbeCipher is an abstraction of a PKCS#12 cipher.
+type pbeCipher interface {
+ // create returns a cipher.Block given a key.
+ create(key []byte) (cipher.Block, error)
+ // deriveKey returns a key derived from the given password and salt.
+ deriveKey(salt, password []byte, iterations int) []byte
+ // deriveKey returns an IV derived from the given password and salt.
+ deriveIV(salt, password []byte, iterations int) []byte
+}
+
+type shaWithTripleDESCBC struct{}
+
+func (shaWithTripleDESCBC) create(key []byte) (cipher.Block, error) {
+ return des.NewTripleDESCipher(key)
+}
+
+func (shaWithTripleDESCBC) deriveKey(salt, password []byte, iterations int) []byte {
+ return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 1, 24)
+}
+
+func (shaWithTripleDESCBC) deriveIV(salt, password []byte, iterations int) []byte {
+ return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 2, 8)
}
-var blockcodeByAlg = map[string]func(key []byte) (cipher.Block, error){
- pbeWithSHAAnd3KeyTripleDESCBC: des.NewTripleDESCipher,
- pbewithSHAAnd40BitRC2CBC: func(key []byte) (cipher.Block, error) {
- return rc2.New(key, len(key)*8)
- },
+type shaWith40BitRC2CBC struct{}
+
+func (shaWith40BitRC2CBC) create(key []byte) (cipher.Block, error) {
+ return rc2.New(key, len(key)*8)
+}
+
+func (shaWith40BitRC2CBC) deriveKey(salt, password []byte, iterations int) []byte {
+ return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 1, 5)
+}
+
+func (shaWith40BitRC2CBC) deriveIV(salt, password []byte, iterations int) []byte {
+ return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 2, 8)
}
type pbeParams struct {
@@ -47,6 +70,67 @@ type pbeParams struct {
Iterations int
}
+func pbDecrypterFor(algorithm pkix.AlgorithmIdentifier, password []byte) (cipher.BlockMode, int, error) {
+ var cipherType pbeCipher
+
+ switch {
+ case algorithm.Algorithm.Equal(oidPBEWithSHAAnd3KeyTripleDESCBC):
+ cipherType = shaWithTripleDESCBC{}
+ case algorithm.Algorithm.Equal(oidPBEWithSHAAnd40BitRC2CBC):
+ cipherType = shaWith40BitRC2CBC{}
+ default:
+ return nil, 0, NotImplementedError("algorithm " + algorithm.Algorithm.String() + " is not supported")
+ }
+
+ var params pbeParams
+ if err := unmarshal(algorithm.Parameters.FullBytes, &params); err != nil {
+ return nil, 0, err
+ }
+
+ key := cipherType.deriveKey(params.Salt, password, params.Iterations)
+ iv := cipherType.deriveIV(params.Salt, password, params.Iterations)
+
+ block, err := cipherType.create(key)
+ if err != nil {
+ return nil, 0, err
+ }
+
+ return cipher.NewCBCDecrypter(block, iv), block.BlockSize(), nil
+}
+
+func pbDecrypt(info decryptable, password []byte) (decrypted []byte, err error) {
+ cbc, blockSize, err := pbDecrypterFor(info.Algorithm(), password)
+ if err != nil {
+ return nil, err
+ }
+
+ encrypted := info.Data()
+ if len(encrypted) == 0 {
+ return nil, errors.New("pkcs12: empty encrypted data")
+ }
+ if len(encrypted)%blockSize != 0 {
+ return nil, errors.New("pkcs12: input is not a multiple of the block size")
+ }
+ decrypted = make([]byte, len(encrypted))
+ cbc.CryptBlocks(decrypted, encrypted)
+
+ psLen := int(decrypted[len(decrypted)-1])
+ if psLen == 0 || psLen > blockSize {
+ return nil, ErrDecryption
+ }
+
+ if len(decrypted) < psLen {
+ return nil, ErrDecryption
+ }
+ ps := decrypted[len(decrypted)-psLen:]
+ decrypted = decrypted[:len(decrypted)-psLen]
+ if bytes.Compare(ps, bytes.Repeat([]byte{byte(psLen)}, psLen)) != 0 {
+ return nil, ErrDecryption
+ }
+
+ return
+}
+
func pad(src []byte, blockSize int) []byte {
paddingLength := blockSize - len(src)%blockSize
paddingText := bytes.Repeat([]byte{byte(paddingLength)}, paddingLength)
@@ -54,15 +138,15 @@ func pad(src []byte, blockSize int) []byte {
}
func pbEncrypt(plainText, salt, password []byte, iterations int) (cipherText []byte, err error) {
- _, err = io.ReadFull(rand.Reader, salt)
- if err != nil {
+ if _, err := io.ReadFull(rand.Reader, salt); err != nil {
return nil, errors.New("pkcs12: failed to create a random salt value: " + err.Error())
}
- key := deriveKeyByAlg[pbeWithSHAAnd3KeyTripleDESCBC](salt, password, iterations)
- iv := deriveIVByAlg[pbeWithSHAAnd3KeyTripleDESCBC](salt, password, iterations)
+ cipherType := shaWithTripleDESCBC{}
+ key := cipherType.deriveKey(salt, password, iterations)
+ iv := cipherType.deriveIV(salt, password, iterations)
- block, err := des.NewTripleDESCipher(key)
+ block, err := cipherType.create(key)
if err != nil {
return nil, errors.New("pkcs12: failed to create a block cipher: " + err.Error())
}
@@ -76,7 +160,8 @@ func pbEncrypt(plainText, salt, password []byte, iterations int) (cipherText []b
return cipherText, nil
}
+// decryptable abstracts a object that contains ciphertext.
type decryptable interface {
- GetAlgorithm() pkix.AlgorithmIdentifier
- GetData() []byte
+ Algorithm() pkix.AlgorithmIdentifier
+ Data() []byte
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto_test.go
index fb7f8484..efcd9082 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/crypto_test.go
@@ -1,62 +1,19 @@
+// 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 pkcs12
import (
"bytes"
- "crypto/cipher"
+ "crypto/rand"
"crypto/x509/pkix"
"encoding/asn1"
+ "io"
"testing"
)
-func pbDecrypterFor(algorithm pkix.AlgorithmIdentifier, password []byte) (cipher.BlockMode, error) {
- algorithmName, supported := algByOID[algorithm.Algorithm.String()]
- if !supported {
- return nil, NotImplementedError("algorithm " + algorithm.Algorithm.String() + " is not supported")
- }
-
- var params pbeParams
- if _, err := asn1.Unmarshal(algorithm.Parameters.FullBytes, &params); err != nil {
- return nil, err
- }
-
- k := deriveKeyByAlg[algorithmName](params.Salt, password, params.Iterations)
- iv := deriveIVByAlg[algorithmName](params.Salt, password, params.Iterations)
- password = nil
-
- code, err := blockcodeByAlg[algorithmName](k)
- if err != nil {
- return nil, err
- }
-
- cbc := cipher.NewCBCDecrypter(code, iv)
- return cbc, nil
-}
-
-func pbDecrypt(info decryptable, password []byte) (decrypted []byte, err error) {
- cbc, err := pbDecrypterFor(info.GetAlgorithm(), password)
- password = nil
- if err != nil {
- return nil, err
- }
-
- encrypted := info.GetData()
-
- decrypted = make([]byte, len(encrypted))
- cbc.CryptBlocks(decrypted, encrypted)
-
- if psLen := int(decrypted[len(decrypted)-1]); psLen > 0 && psLen <= cbc.BlockSize() {
- m := decrypted[:len(decrypted)-psLen]
- ps := decrypted[len(decrypted)-psLen:]
- if !bytes.Equal(ps, bytes.Repeat([]byte{byte(psLen)}, psLen)) {
- return nil, ErrDecryption
- }
- decrypted = m
- } else {
- return nil, ErrDecryption
- }
-
- return
-}
+var sha1WithTripleDES = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 1, 3})
func TestPbDecrypterFor(t *testing.T) {
params, _ := asn1.Marshal(pbeParams{
@@ -72,70 +29,122 @@ func TestPbDecrypterFor(t *testing.T) {
pass, _ := bmpString("Sesame open")
- _, err := pbDecrypterFor(alg, pass)
+ _, _, err := pbDecrypterFor(alg, pass)
if _, ok := err.(NotImplementedError); !ok {
t.Errorf("expected not implemented error, got: %T %s", err, err)
}
- alg.Algorithm = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 1, 3})
- cbc, err := pbDecrypterFor(alg, pass)
+ alg.Algorithm = sha1WithTripleDES
+ cbc, blockSize, err := pbDecrypterFor(alg, pass)
if err != nil {
- t.Errorf("err: %v", err)
+ t.Errorf("unexpected error from pbDecrypterFor %v", err)
+ }
+ if blockSize != 8 {
+ t.Errorf("unexpected block size %d, wanted 8", blockSize)
}
- M := []byte{1, 2, 3, 4, 5, 6, 7, 8}
- expectedM := []byte{185, 73, 135, 249, 137, 1, 122, 247}
- cbc.CryptBlocks(M, M)
+ plaintext := []byte{1, 2, 3, 4, 5, 6, 7, 8}
+ expectedCiphertext := []byte{185, 73, 135, 249, 137, 1, 122, 247}
+ ciphertext := make([]byte, len(plaintext))
+ cbc.CryptBlocks(ciphertext, plaintext)
- if !bytes.Equal(M, expectedM) {
- t.Errorf("expected M to be '%d', but found '%d", expectedM, M)
+ if bytes.Compare(ciphertext, expectedCiphertext) != 0 {
+ t.Errorf("bad ciphertext, got %x but wanted %x", ciphertext, expectedCiphertext)
}
}
-func TestPbDecrypt(t *testing.T) {
-
- tests := [][]byte{
+var pbDecryptTests = []struct {
+ in []byte
+ expected []byte
+ expectedError error
+}{
+ {
[]byte("\x33\x73\xf3\x9f\xda\x49\xae\xfc\xa0\x9a\xdf\x5a\x58\xa0\xea\x46"), // 7 padding bytes
- []byte("\x33\x73\xf3\x9f\xda\x49\xae\xfc\x96\x24\x2f\x71\x7e\x32\x3f\xe7"), // 8 padding bytes
- []byte("\x35\x0c\xc0\x8d\xab\xa9\x5d\x30\x7f\x9a\xec\x6a\xd8\x9b\x9c\xd9"), // 9 padding bytes, incorrect
- []byte("\xb2\xf9\x6e\x06\x60\xae\x20\xcf\x08\xa0\x7b\xd9\x6b\x20\xef\x41"), // incorrect padding bytes: [ ... 0x04 0x02 ]
- }
- expected := []interface{}{
[]byte("A secret!"),
+ nil,
+ },
+ {
+ []byte("\x33\x73\xf3\x9f\xda\x49\xae\xfc\x96\x24\x2f\x71\x7e\x32\x3f\xe7"), // 8 padding bytes
[]byte("A secret"),
+ nil,
+ },
+ {
+ []byte("\x35\x0c\xc0\x8d\xab\xa9\x5d\x30\x7f\x9a\xec\x6a\xd8\x9b\x9c\xd9"), // 9 padding bytes, incorrect
+ nil,
ErrDecryption,
+ },
+ {
+ []byte("\xb2\xf9\x6e\x06\x60\xae\x20\xcf\x08\xa0\x7b\xd9\x6b\x20\xef\x41"), // incorrect padding bytes: [ ... 0x04 0x02 ]
+ nil,
ErrDecryption,
+ },
+}
+
+func TestPbDecrypt(t *testing.T) {
+ salt := []byte("\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8")
+
+ for i, test := range pbDecryptTests {
+ decryptable := makeTestDecryptable(test.in, salt)
+ password, _ := bmpString("sesame")
+
+ plaintext, err := pbDecrypt(decryptable, password)
+ if err != test.expectedError {
+ t.Errorf("#%d: got error %q, but wanted %q", i, err, test.expectedError)
+ continue
+ }
+
+ if !bytes.Equal(plaintext, test.expected) {
+ t.Errorf("#%d: got %x, but wanted %x", i, plaintext, test.expected)
+ }
}
+}
- for i, c := range tests {
- td := testDecryptable{
- data: c,
- algorithm: pkix.AlgorithmIdentifier{
- Algorithm: asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 1, 3}), // SHA1/3TDES
- Parameters: pbeParams{
- Salt: []byte("\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8"),
- Iterations: 4096,
- }.RawASN1(),
- },
+func TestRoundTripPkc12EncryptDecrypt(t *testing.T) {
+ salt := []byte{0xfe, 0xee, 0xfa, 0xce}
+ password := salt
+
+ // Sweep the possible padding lengths
+ for i := 0; i < 9; i++ {
+ bs := make([]byte, i)
+ _, err := io.ReadFull(rand.Reader, bs)
+ if err != nil {
+ t.Fatalf("failed to read: %s", err)
+ }
+
+ cipherText, err := pbEncrypt(bs, salt, password, 4096)
+ if err != nil {
+ t.Fatalf("failed to encrypt: %s\n", err)
}
- p, _ := bmpString("sesame")
-
- m, err := pbDecrypt(td, p)
-
- switch e := expected[i].(type) {
- case []byte:
- if err != nil {
- t.Errorf("error decrypting C=%x: %v", c, err)
- }
- if !bytes.Equal(m, e) {
- t.Errorf("expected C=%x to be decoded to M=%x, but found %x", c, e, m)
- }
- case error:
- if err == nil || err.Error() != e.Error() {
- t.Errorf("expecting error '%v' during decryption of c=%x, but found err='%v'", e, c, err)
- }
+
+ if len(cipherText)%8 != 0 {
+ t.Fatalf("plain text was not padded as expected")
}
+
+ decryptable := makeTestDecryptable(cipherText, salt)
+ plainText, err := pbDecrypt(decryptable, password)
+ if err != nil {
+ t.Fatalf("failed to decrypt: %s\n", err)
+ }
+
+ if !bytes.Equal(bs, plainText) {
+ t.Fatalf("got %x, but wanted %x", bs, plainText)
+ }
+ }
+}
+
+func makeTestDecryptable(bytes, salt []byte) testDecryptable {
+ decryptable := testDecryptable{
+ data: bytes,
+ algorithm: pkix.AlgorithmIdentifier{
+ Algorithm: sha1WithTripleDES,
+ Parameters: pbeParams{
+ Salt: salt,
+ Iterations: 4096,
+ }.RawASN1(),
+ },
}
+
+ return decryptable
}
type testDecryptable struct {
@@ -143,8 +152,8 @@ type testDecryptable struct {
algorithm pkix.AlgorithmIdentifier
}
-func (d testDecryptable) GetAlgorithm() pkix.AlgorithmIdentifier { return d.algorithm }
-func (d testDecryptable) GetData() []byte { return d.data }
+func (d testDecryptable) Algorithm() pkix.AlgorithmIdentifier { return d.algorithm }
+func (d testDecryptable) Data() []byte { return d.data }
func (params pbeParams) RawASN1() (raw asn1.RawValue) {
asn1Bytes, err := asn1.Marshal(params)
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/errors.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/errors.go
index 64a9433e..36ad6e95 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/errors.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/errors.go
@@ -1,3 +1,7 @@
+// 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 pkcs12
import "errors"
@@ -16,7 +20,7 @@ type NotImplementedError string
type EncodeError string
func (e NotImplementedError) Error() string {
- return string(e)
+ return "pkcs12: " + string(e)
}
func (e EncodeError) Error() string {
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac.go
index c7e42811..76ad0cdc 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac.go
@@ -1,3 +1,7 @@
+// 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 pkcs12
import (
@@ -7,10 +11,6 @@ import (
"encoding/asn1"
)
-var (
- oidSha1Algorithm = asn1.ObjectIdentifier{1, 3, 14, 3, 2, 26}
-)
-
type macData struct {
Mac digestInfo
MacSalt []byte
@@ -23,6 +23,23 @@ type digestInfo struct {
Digest []byte
}
+var (
+ oidSHA1 = asn1.ObjectIdentifier([]int{1, 3, 14, 3, 2, 26})
+)
+
+func verifyMac(macData *macData, message, password []byte) error {
+ if !macData.Mac.Algorithm.Algorithm.Equal(oidSHA1) {
+ return NotImplementedError("unknown digest algorithm: " + macData.Mac.Algorithm.Algorithm.String())
+ }
+
+ expectedMAC := computeMac(message, macData.Iterations, macData.MacSalt, password)
+
+ if !hmac.Equal(macData.Mac.Digest, expectedMAC) {
+ return ErrIncorrectPassword
+ }
+ return nil
+}
+
func computeMac(message []byte, iterations int, salt, password []byte) []byte {
key := pbkdf(sha1Sum, 20, 64, salt, password, iterations, 3, 20)
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac_test.go
index 0ccea710..1ed4ff21 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/mac_test.go
@@ -1,24 +1,14 @@
+// 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 pkcs12
import (
- "crypto/hmac"
"encoding/asn1"
"testing"
)
-func verifyMac(macData *macData, message, password []byte) error {
- if !macData.Mac.Algorithm.Algorithm.Equal(oidSha1Algorithm) {
- return NotImplementedError("unknown digest algorithm: " + macData.Mac.Algorithm.Algorithm.String())
- }
-
- expectedMAC := computeMac(message, macData.Iterations, macData.MacSalt, password)
-
- if !hmac.Equal(macData.Mac.Digest, expectedMAC) {
- return ErrIncorrectPassword
- }
- return nil
-}
-
func TestVerifyMac(t *testing.T) {
td := macData{
Mac: digestInfo{
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf.go
index 29685723..5c419d41 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf.go
@@ -1,34 +1,35 @@
+// 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 pkcs12
import (
+ "bytes"
"crypto/sha1"
"math/big"
)
var (
- deriveKeyByAlg = map[string]func(salt, password []byte, iterations int) []byte{
- pbeWithSHAAnd3KeyTripleDESCBC: func(salt, password []byte, iterations int) []byte {
- return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 1, 24)
- },
- pbewithSHAAnd40BitRC2CBC: func(salt, password []byte, iterations int) []byte {
- return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 1, 5)
- },
- }
- deriveIVByAlg = map[string]func(salt, password []byte, iterations int) []byte{
- pbeWithSHAAnd3KeyTripleDESCBC: func(salt, password []byte, iterations int) []byte {
- return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 2, 8)
- },
- pbewithSHAAnd40BitRC2CBC: func(salt, password []byte, iterations int) []byte {
- return pbkdf(sha1Sum, 20, 64, salt, password, iterations, 2, 8)
- },
- }
+ one = big.NewInt(1)
)
+// sha1Sum returns the SHA-1 hash of in.
func sha1Sum(in []byte) []byte {
sum := sha1.Sum(in)
return sum[:]
}
+// fillWithRepeats returns v*ceiling(len(pattern) / v) bytes consisting of
+// repeats of pattern.
+func fillWithRepeats(pattern []byte, v int) []byte {
+ if len(pattern) == 0 {
+ return nil
+ }
+ outputLen := v * ((len(pattern) + v - 1) / v)
+ return bytes.Repeat(pattern, (outputLen+len(pattern)-1)/len(pattern))[:outputLen]
+}
+
func pbkdf(hash func([]byte) []byte, u, v int, salt, password []byte, r int, ID byte, size int) (key []byte) {
// implementation of https://tools.ietf.org/html/rfc7292#appendix-B.2 , RFC text verbatim in comments
@@ -75,7 +76,7 @@ func pbkdf(hash func([]byte) []byte, u, v int, salt, password []byte, r int, ID
// 1. Construct a string, D (the "diversifier"), by concatenating v/8
// copies of ID.
- D := []byte{}
+ var D []byte
for i := 0; i < v; i++ {
D = append(D, ID)
}
@@ -85,87 +86,71 @@ func pbkdf(hash func([]byte) []byte, u, v int, salt, password []byte, r int, ID
// truncated to create S). Note that if the salt is the empty
// string, then so is S.
- S := []byte{}
- {
- s := len(salt)
- times := s / v
- if s%v > 0 {
- times++
- }
- for len(S) < times*v {
- S = append(S, salt...)
- }
- S = S[:times*v]
- }
+ S := fillWithRepeats(salt, v)
// 3. Concatenate copies of the password together to create a string P
// of length v(ceiling(p/v)) bits (the final copy of the password
// may be truncated to create P). Note that if the password is the
// empty string, then so is P.
- P := []byte{}
- {
- s := len(password)
- times := s / v
- if s%v > 0 {
- times++
- }
- for len(P) < times*v {
- P = append(P, password...)
- }
- password = nil
- P = P[:times*v]
- }
+ P := fillWithRepeats(password, v)
// 4. Set I=S||P to be the concatenation of S and P.
I := append(S, P...)
// 5. Set c=ceiling(n/u).
- c := size / u
- if size%u > 0 {
- c++
- }
+ c := (size + u - 1) / u
// 6. For i=1, 2, ..., c, do the following:
A := make([]byte, c*20)
+ var IjBuf []byte
for i := 0; i < c; i++ {
-
// A. Set A2=H^r(D||I). (i.e., the r-th hash of D||1,
// H(H(H(... H(D||I))))
Ai := hash(append(D, I...))
for j := 1; j < r; j++ {
- Ai = hash(Ai[:])
+ Ai = hash(Ai)
}
copy(A[i*20:], Ai[:])
if i < c-1 { // skip on last iteration
-
- // B. Concatenate copies of Ai to create a string B of length v
- // bits (the final copy of Ai may be truncated to create B).
- B := []byte{}
+ // B. Concatenate copies of Ai to create a string B of length v
+ // bits (the final copy of Ai may be truncated to create B).
+ var B []byte
for len(B) < v {
B = append(B, Ai[:]...)
}
B = B[:v]
- // C. Treating I as a concatenation I_0, I_1, ..., I_(k-1) of v-bit
- // blocks, where k=ceiling(s/v)+ceiling(p/v), modify I by
- // setting I_j=(I_j+B+1) mod 2^v for each j.
+ // C. Treating I as a concatenation I_0, I_1, ..., I_(k-1) of v-bit
+ // blocks, where k=ceiling(s/v)+ceiling(p/v), modify I by
+ // setting I_j=(I_j+B+1) mod 2^v for each j.
{
- Bbi := new(big.Int)
- Bbi.SetBytes(B)
-
- one := big.NewInt(1)
+ Bbi := new(big.Int).SetBytes(B)
+ Ij := new(big.Int)
for j := 0; j < len(I)/v; j++ {
- Ij := new(big.Int)
Ij.SetBytes(I[j*v : (j+1)*v])
Ij.Add(Ij, Bbi)
Ij.Add(Ij, one)
Ijb := Ij.Bytes()
+ // We expect Ijb to be exactly v bytes,
+ // if it is longer or shorter we must
+ // adjust it accordingly.
if len(Ijb) > v {
Ijb = Ijb[len(Ijb)-v:]
}
+ if len(Ijb) < v {
+ if IjBuf == nil {
+ IjBuf = make([]byte, v)
+ }
+ bytesShort := v - len(Ijb)
+ for i := 0; i < bytesShort; i++ {
+ IjBuf[i] = 0
+ }
+ copy(IjBuf[bytesShort:], Ijb)
+ Ijb = IjBuf
+ }
copy(I[j*v:(j+1)*v], Ijb)
}
}
@@ -175,9 +160,7 @@ func pbkdf(hash func([]byte) []byte, u, v int, salt, password []byte, r int, ID
// bit string, A.
// 8. Use the first n bits of A as the output of this entire process.
- A = A[:size]
-
- return A
+ return A[:size]
// If the above process is being used to generate a DES key, the process
// should be used to create 64 random bits, and the key's parity bits
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf_test.go
index cd66e059..262037d7 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pbkdf_test.go
@@ -1,3 +1,7 @@
+// 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 pkcs12
import (
@@ -6,13 +10,25 @@ import (
)
func TestThatPBKDFWorksCorrectlyForLongKeys(t *testing.T) {
- pbkdf := deriveKeyByAlg[pbeWithSHAAnd3KeyTripleDESCBC]
+ cipherInfo := shaWithTripleDESCBC{}
salt := []byte("\xff\xff\xff\xff\xff\xff\xff\xff")
password, _ := bmpString("sesame")
- key := pbkdf(salt, password, 2048)
+ key := cipherInfo.deriveKey(salt, password, 2048)
+
+ if expected := []byte("\x7c\xd9\xfd\x3e\x2b\x3b\xe7\x69\x1a\x44\xe3\xbe\xf0\xf9\xea\x0f\xb9\xb8\x97\xd4\xe3\x25\xd9\xd1"); bytes.Compare(key, expected) != 0 {
+ t.Fatalf("expected key '%x', but found '%x'", expected, key)
+ }
+}
- if expected := []byte("\x7c\xd9\xfd\x3e\x2b\x3b\xe7\x69\x1a\x44\xe3\xbe\xf0\xf9\xea\x0f\xb9\xb8\x97\xd4\xe3\x25\xd9\xd1"); !bytes.Equal(key, expected) {
- t.Fatalf("expected key '% x', but found '% x'", key, expected)
+func TestThatPBKDFHandlesLeadingZeros(t *testing.T) {
+ // This test triggers a case where I_j (in step 6C) ends up with leading zero
+ // byte, meaning that len(Ijb) < v (leading zeros get stripped by big.Int).
+ // This was previously causing bug whereby certain inputs would break the
+ // derivation and produce the wrong output.
+ key := pbkdf(sha1Sum, 20, 64, []byte("\xf3\x7e\x05\xb5\x18\x32\x4b\x4b"), []byte("\x00\x00"), 2048, 1, 24)
+ expected := []byte("\x00\xf7\x59\xff\x47\xd1\x4d\xd0\x36\x65\xd5\x94\x3c\xb3\xc4\xa3\x9a\x25\x55\xc0\x2a\xed\x66\xe1")
+ if bytes.Compare(key, expected) != 0 {
+ t.Fatalf("expected key '%x', but found '%x'", expected, key)
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12.go
index 7db1a2e0..8279cb57 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12.go
@@ -1,20 +1,34 @@
-// Package pkcs12 provides some implementations of PKCS#12.
+// 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 pkcs12 implements some of PKCS#12.
//
-// This implementation is distilled from https://tools.ietf.org/html/rfc7292 and referenced documents.
-// It is intended for decoding P12/PFX-stored certificate+key for use with the crypto/tls package.
+// This implementation is distilled from https://tools.ietf.org/html/rfc7292
+// and referenced documents. It is intended for decoding P12/PFX-stored
+// certificates and keys for use with the crypto/tls package.
package pkcs12
import (
+ "crypto/ecdsa"
"crypto/rand"
+ "crypto/rsa"
+ "crypto/x509"
"crypto/x509/pkix"
"encoding/asn1"
+ "encoding/hex"
+ "encoding/pem"
"errors"
"io"
)
var (
- oidLocalKeyID = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 21}
- oidDataContentType = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 7, 1}
+ oidDataContentType = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 7, 1})
+ oidEncryptedDataContentType = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 7, 6})
+
+ oidFriendlyName = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 9, 20})
+ oidLocalKeyID = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 9, 21})
+ oidMicrosoftCSPName = asn1.ObjectIdentifier([]int{1, 3, 6, 1, 4, 1, 311, 17, 1})
localKeyId = []byte{0x01, 0x00, 0x00, 0x00}
)
@@ -30,6 +44,23 @@ type contentInfo struct {
Content asn1.RawValue `asn1:"tag:0,explicit,optional"`
}
+type encryptedData struct {
+ Version int
+ EncryptedContentInfo encryptedContentInfo
+}
+
+type encryptedContentInfo struct {
+ ContentType asn1.ObjectIdentifier
+ ContentEncryptionAlgorithm pkix.AlgorithmIdentifier
+ EncryptedContent []byte `asn1:"tag:0,optional"`
+}
+
+func (i encryptedContentInfo) Algorithm() pkix.AlgorithmIdentifier {
+ return i.ContentEncryptionAlgorithm
+}
+
+func (i encryptedContentInfo) Data() []byte { return i.EncryptedContent }
+
type safeBag struct {
Id asn1.ObjectIdentifier
Value asn1.RawValue `asn1:"tag:0,explicit"`
@@ -38,7 +69,7 @@ type safeBag struct {
type pkcs12Attribute struct {
Id asn1.ObjectIdentifier
- Value asn1.RawValue `ans1:"set"`
+ Value asn1.RawValue `asn1:"set"`
}
type encryptedPrivateKeyInfo struct {
@@ -46,8 +77,19 @@ type encryptedPrivateKeyInfo struct {
EncryptedData []byte
}
-func (i encryptedPrivateKeyInfo) GetAlgorithm() pkix.AlgorithmIdentifier { return i.AlgorithmIdentifier }
-func (i encryptedPrivateKeyInfo) GetData() []byte { return i.EncryptedData }
+func (i encryptedPrivateKeyInfo) Algorithm() pkix.AlgorithmIdentifier {
+ return i.AlgorithmIdentifier
+}
+
+func (i encryptedPrivateKeyInfo) Data() []byte {
+ return i.EncryptedData
+}
+
+// PEM block types
+const (
+ certificateType = "CERTIFICATE"
+ privateKeyType = "PRIVATE KEY"
+)
// unmarshal calls asn1.Unmarshal, but also returns an error if there is any
// trailing data after unmarshaling.
@@ -62,6 +104,168 @@ func unmarshal(in []byte, out interface{}) error {
return nil
}
+// ConvertToPEM converts all "safe bags" contained in pfxData to PEM blocks.
+func ToPEM(pfxData []byte, password string) ([]*pem.Block, error) {
+ encodedPassword, err := bmpString(password)
+ if err != nil {
+ return nil, ErrIncorrectPassword
+ }
+
+ bags, encodedPassword, err := getSafeContents(pfxData, encodedPassword)
+
+ blocks := make([]*pem.Block, 0, len(bags))
+ for _, bag := range bags {
+ block, err := convertBag(&bag, encodedPassword)
+ if err != nil {
+ return nil, err
+ }
+ blocks = append(blocks, block)
+ }
+
+ return blocks, nil
+}
+
+func convertBag(bag *safeBag, password []byte) (*pem.Block, error) {
+ block := &pem.Block{
+ Headers: make(map[string]string),
+ }
+
+ for _, attribute := range bag.Attributes {
+ k, v, err := convertAttribute(&attribute)
+ if err != nil {
+ return nil, err
+ }
+ block.Headers[k] = v
+ }
+
+ switch {
+ case bag.Id.Equal(oidCertBag):
+ block.Type = certificateType
+ certsData, err := decodeCertBag(bag.Value.Bytes)
+ if err != nil {
+ return nil, err
+ }
+ block.Bytes = certsData
+ case bag.Id.Equal(oidPKCS8ShroudedKeyBag):
+ block.Type = privateKeyType
+
+ key, err := decodePkcs8ShroudedKeyBag(bag.Value.Bytes, password)
+ if err != nil {
+ return nil, err
+ }
+
+ switch key := key.(type) {
+ case *rsa.PrivateKey:
+ block.Bytes = x509.MarshalPKCS1PrivateKey(key)
+ case *ecdsa.PrivateKey:
+ block.Bytes, err = x509.MarshalECPrivateKey(key)
+ if err != nil {
+ return nil, err
+ }
+ default:
+ return nil, errors.New("found unknown private key type in PKCS#8 wrapping")
+ }
+ default:
+ return nil, errors.New("don't know how to convert a safe bag of type " + bag.Id.String())
+ }
+ return block, nil
+}
+
+func convertAttribute(attribute *pkcs12Attribute) (key, value string, err error) {
+ isString := false
+
+ switch {
+ case attribute.Id.Equal(oidFriendlyName):
+ key = "friendlyName"
+ isString = true
+ case attribute.Id.Equal(oidLocalKeyID):
+ key = "localKeyId"
+ case attribute.Id.Equal(oidMicrosoftCSPName):
+ // This key is chosen to match OpenSSL.
+ key = "Microsoft CSP Name"
+ isString = true
+ default:
+ return "", "", errors.New("pkcs12: unknown attribute with OID " + attribute.Id.String())
+ }
+
+ if isString {
+ if err := unmarshal(attribute.Value.Bytes, &attribute.Value); err != nil {
+ return "", "", err
+ }
+ if value, err = decodeBMPString(attribute.Value.Bytes); err != nil {
+ return "", "", err
+ }
+ } else {
+ var id []byte
+ if err := unmarshal(attribute.Value.Bytes, &id); err != nil {
+ return "", "", err
+ }
+ value = hex.EncodeToString(id)
+ }
+
+ return key, value, nil
+}
+
+// Decode extracts a certificate and private key from pfxData. This function
+// assumes that there is only one certificate and only one private key in the
+// pfxData.
+func Decode(pfxData []byte, password string) (privateKey interface{}, certificate *x509.Certificate, err error) {
+ encodedPassword, err := bmpString(password)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ bags, encodedPassword, err := getSafeContents(pfxData, encodedPassword)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ if len(bags) != 2 {
+ err = errors.New("pkcs12: expected exactly two safe bags in the PFX PDU")
+ return
+ }
+
+ for _, bag := range bags {
+ switch {
+ case bag.Id.Equal(oidCertBag):
+ if certificate != nil {
+ err = errors.New("pkcs12: expected exactly one certificate bag")
+ }
+
+ certsData, err := decodeCertBag(bag.Value.Bytes)
+ if err != nil {
+ return nil, nil, err
+ }
+ certs, err := x509.ParseCertificates(certsData)
+ if err != nil {
+ return nil, nil, err
+ }
+ if len(certs) != 1 {
+ err = errors.New("pkcs12: expected exactly one certificate in the certBag")
+ return nil, nil, err
+ }
+ certificate = certs[0]
+
+ case bag.Id.Equal(oidPKCS8ShroudedKeyBag):
+ if privateKey != nil {
+ err = errors.New("pkcs12: expected exactly one key bag")
+ }
+ if privateKey, err = decodePkcs8ShroudedKeyBag(bag.Value.Bytes, encodedPassword); err != nil {
+ return nil, nil, err
+ }
+ }
+ }
+
+ if certificate == nil {
+ return nil, nil, errors.New("pkcs12: certificate missing")
+ }
+ if privateKey == nil {
+ return nil, nil, errors.New("pkcs12: private key missing")
+ }
+
+ return
+}
+
func getLocalKeyId(id []byte) (attribute pkcs12Attribute, err error) {
octetString := asn1.RawValue{Tag: 4, Class: 0, IsCompound: false, Bytes: id}
bytes, err := asn1.Marshal(octetString)
@@ -115,7 +319,7 @@ func makeCertBagContentInfo(derBytes []byte) (*contentInfo, error) {
return nil, EncodeError("encoding cert bag: " + err.Error())
}
- certSafeBags, err := makeSafeBags(oidCertBagType, bytes)
+ certSafeBags, err := makeSafeBags(oidCertBag, bytes)
if err != nil {
return nil, EncodeError("safe bags: " + err.Error())
}
@@ -129,7 +333,7 @@ func makeShroudedKeyBagContentInfo(privateKey interface{}, password []byte) (*co
return nil, EncodeError("encode PKCS#8 shrouded key bag: " + err.Error())
}
- safeBags, err := makeSafeBags(oidPkcs8ShroudedKeyBagType, shroudedKeyBagBytes)
+ safeBags, err := makeSafeBags(oidPKCS8ShroudedKeyBag, shroudedKeyBagBytes)
if err != nil {
return nil, EncodeError("safe bags: " + err.Error())
}
@@ -183,7 +387,7 @@ func makeSalt(saltByteCount int) ([]byte, error) {
//
// derBytes is a DER encoded certificate.
// privateKey is an RSA
-func Encode(derBytes []byte, privateKey interface{}, password string) ([]byte, error) {
+func Encode(derBytes []byte, privateKey interface{}, password string) (pfxBytes []byte, err error) {
secret, err := bmpString(password)
if err != nil {
return nil, ErrIncorrectPassword
@@ -230,7 +434,7 @@ func Encode(derBytes []byte, privateKey interface{}, password string) ([]byte, e
MacSalt: salt,
Mac: digestInfo{
Algorithm: pkix.AlgorithmIdentifier{
- Algorithm: oidSha1Algorithm,
+ Algorithm: oidSHA1,
},
Digest: digest,
},
@@ -244,3 +448,83 @@ func Encode(derBytes []byte, privateKey interface{}, password string) ([]byte, e
return bytes, err
}
+
+func getSafeContents(p12Data, password []byte) (bags []safeBag, updatedPassword []byte, err error) {
+ pfx := new(pfxPdu)
+
+ if err := unmarshal(p12Data, pfx); err != nil {
+ return nil, nil, errors.New("pkcs12: error reading P12 data: " + err.Error())
+ }
+
+ if pfx.Version != 3 {
+ return nil, nil, NotImplementedError("can only decode v3 PFX PDU's")
+ }
+
+ if !pfx.AuthSafe.ContentType.Equal(oidDataContentType) {
+ return nil, nil, NotImplementedError("only password-protected PFX is implemented")
+ }
+
+ // unmarshal the explicit bytes in the content for type 'data'
+ if err := unmarshal(pfx.AuthSafe.Content.Bytes, &pfx.AuthSafe.Content); err != nil {
+ return nil, nil, err
+ }
+
+ if len(pfx.MacData.Mac.Algorithm.Algorithm) == 0 {
+ return nil, nil, errors.New("pkcs12: no MAC in data")
+ }
+
+ if err := verifyMac(&pfx.MacData, pfx.AuthSafe.Content.Bytes, password); err != nil {
+ if err == ErrIncorrectPassword && len(password) == 2 && password[0] == 0 && password[1] == 0 {
+ // some implementations use an empty byte array
+ // for the empty string password try one more
+ // time with empty-empty password
+ password = nil
+ err = verifyMac(&pfx.MacData, pfx.AuthSafe.Content.Bytes, password)
+ }
+ if err != nil {
+ return nil, nil, err
+ }
+ }
+
+ var authenticatedSafe []contentInfo
+ if err := unmarshal(pfx.AuthSafe.Content.Bytes, &authenticatedSafe); err != nil {
+ return nil, nil, err
+ }
+
+ if len(authenticatedSafe) != 2 {
+ return nil, nil, NotImplementedError("expected exactly two items in the authenticated safe")
+ }
+
+ for _, ci := range authenticatedSafe {
+ var data []byte
+
+ switch {
+ case ci.ContentType.Equal(oidDataContentType):
+ if err := unmarshal(ci.Content.Bytes, &data); err != nil {
+ return nil, nil, err
+ }
+ case ci.ContentType.Equal(oidEncryptedDataContentType):
+ var encryptedData encryptedData
+ if err := unmarshal(ci.Content.Bytes, &encryptedData); err != nil {
+ return nil, nil, err
+ }
+ if encryptedData.Version != 0 {
+ return nil, nil, NotImplementedError("only version 0 of EncryptedData is supported")
+ }
+ if data, err = pbDecrypt(encryptedData.EncryptedContentInfo, password); err != nil {
+ return nil, nil, err
+ }
+ default:
+ return nil, nil, NotImplementedError("only data and encryptedData content types are supported in authenticated safe")
+ }
+
+ var safeContents []safeBag
+ if err := unmarshal(data, &safeContents); err != nil {
+ return nil, nil, err
+ }
+
+ bags = append(bags, safeContents...)
+ }
+
+ return bags, password, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12_test.go
index 2cfbc44d..2ac382a0 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs12_test.go
@@ -1,3 +1,7 @@
+// 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 pkcs12
import (
@@ -5,16 +9,36 @@ import (
"crypto/elliptic"
"crypto/rand"
"crypto/rsa"
+ "crypto/tls"
"crypto/x509"
"crypto/x509/pkix"
+ "encoding/base64"
+ "encoding/pem"
"fmt"
"math/big"
"testing"
"time"
-
- gopkcs12 "golang.org/x/crypto/pkcs12"
)
+func TestPfx(t *testing.T) {
+ for commonName, base64P12 := range testdata {
+ p12, _ := base64.StdEncoding.DecodeString(base64P12)
+
+ priv, cert, err := Decode(p12, "")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if err := priv.(*rsa.PrivateKey).Validate(); err != nil {
+ t.Errorf("error while validating private key: %v", err)
+ }
+
+ if cert.Subject.CommonName != commonName {
+ t.Errorf("expected common name to be %q, but found %q", commonName, cert.Subject.CommonName)
+ }
+ }
+}
+
func TestPfxRoundTriRsa(t *testing.T) {
privateKey, err := rsa.GenerateKey(rand.Reader, 512)
if err != nil {
@@ -25,7 +49,7 @@ func TestPfxRoundTriRsa(t *testing.T) {
actualPrivateKey, ok := key.(*rsa.PrivateKey)
if !ok {
- t.Fatal("failed to decode private key")
+ t.Fatalf("failed to decode private key")
}
if privateKey.D.Cmp(actualPrivateKey.D) != 0 {
@@ -62,7 +86,7 @@ func testPfxRoundTrip(t *testing.T, privateKey interface{}) interface{} {
t.Fatal(err.Error())
}
- key, _, err := gopkcs12.Decode(bytes, "sesame")
+ key, _, err := Decode(bytes, "sesame")
if err != nil {
t.Fatalf(err.Error())
}
@@ -70,6 +94,61 @@ func testPfxRoundTrip(t *testing.T, privateKey interface{}) interface{} {
return key
}
+func TestPEM(t *testing.T) {
+ for commonName, base64P12 := range testdata {
+ p12, _ := base64.StdEncoding.DecodeString(base64P12)
+
+ blocks, err := ToPEM(p12, "")
+ if err != nil {
+ t.Fatalf("error while converting to PEM: %s", err)
+ }
+
+ var pemData []byte
+ for _, b := range blocks {
+ pemData = append(pemData, pem.EncodeToMemory(b)...)
+ }
+
+ cert, err := tls.X509KeyPair(pemData, pemData)
+ if err != nil {
+ t.Errorf("err while converting to key pair: %v", err)
+ }
+ config := tls.Config{
+ Certificates: []tls.Certificate{cert},
+ }
+ config.BuildNameToCertificate()
+
+ if _, exists := config.NameToCertificate[commonName]; !exists {
+ t.Errorf("did not find our cert in PEM?: %v", config.NameToCertificate)
+ }
+ }
+}
+
+func ExampleToPEM() {
+ p12, _ := base64.StdEncoding.DecodeString(`MIIJzgIBAzCCCZQGCS ... CA+gwggPk==`)
+
+ blocks, err := ToPEM(p12, "password")
+ if err != nil {
+ panic(err)
+ }
+
+ var pemData []byte
+ for _, b := range blocks {
+ pemData = append(pemData, pem.EncodeToMemory(b)...)
+ }
+
+ // then use PEM data for tls to construct tls certificate:
+ cert, err := tls.X509KeyPair(pemData, pemData)
+ if err != nil {
+ panic(err)
+ }
+
+ config := &tls.Config{
+ Certificates: []tls.Certificate{cert},
+ }
+
+ _ = config
+}
+
func newCertificate(hostname string, privateKey interface{}) ([]byte, error) {
t, _ := time.Parse("2006-01-02", "2016-01-01")
notBefore := t
@@ -115,3 +194,54 @@ func newCertificate(hostname string, privateKey interface{}) ([]byte, error) {
return derBytes, nil
}
+
+var testdata = map[string]string{
+ // 'null' password test case
+ "Windows Azure Tools": `MIIKDAIBAzCCCcwGCSqGSIb3DQEHAaCCCb0Eggm5MIIJtTCCBe4GCSqGSIb3DQEHAaCCBd8EggXbMIIF1zCCBdMGCyqGSIb3DQEMCgECoIIE7jCCBOowHAYKKoZIhvcNAQwBAzAOBAhStUNnlTGV+gICB9AEggTIJ81JIossF6boFWpPtkiQRPtI6DW6e9QD4/WvHAVrM2bKdpMzSMsCML5NyuddANTKHBVq00Jc9keqGNAqJPKkjhSUebzQFyhe0E1oI9T4zY5UKr/I8JclOeccH4QQnsySzYUG2SnniXnQ+JrG3juetli7EKth9h6jLc6xbubPadY5HMB3wL/eG/kJymiXwU2KQ9Mgd4X6jbcV+NNCE/8jbZHvSTCPeYTJIjxfeX61Sj5kFKUCzERbsnpyevhY3X0eYtEDezZQarvGmXtMMdzf8HJHkWRdk9VLDLgjk8uiJif/+X4FohZ37ig0CpgC2+dP4DGugaZZ51hb8tN9GeCKIsrmWogMXDIVd0OACBp/EjJVmFB6y0kUCXxUE0TZt0XA1tjAGJcjDUpBvTntZjPsnH/4ZySy+s2d9OOhJ6pzRQBRm360TzkFdSwk9DLiLdGfv4pwMMu/vNGBlqjP/1sQtj+jprJiD1sDbCl4AdQZVoMBQHadF2uSD4/o17XG/Ci0r2h6Htc2yvZMAbEY4zMjjIn2a+vqIxD6onexaek1R3zbkS9j19D6EN9EWn8xgz80YRCyW65znZk8xaIhhvlU/mg7sTxeyuqroBZNcq6uDaQTehDpyH7bY2l4zWRpoj10a6JfH2q5shYz8Y6UZC/kOTfuGqbZDNZWro/9pYquvNNW0M847E5t9bsf9VkAAMHRGBbWoVoU9VpI0UnoXSfvpOo+aXa2DSq5sHHUTVY7A9eov3z5IqT+pligx11xcs+YhDWcU8di3BTJisohKvv5Y8WSkm/rloiZd4ig269k0jTRk1olP/vCksPli4wKG2wdsd5o42nX1yL7mFfXocOANZbB+5qMkiwdyoQSk+Vq+C8nAZx2bbKhUq2MbrORGMzOe0Hh0x2a0PeObycN1Bpyv7Mp3ZI9h5hBnONKCnqMhtyQHUj/nNvbJUnDVYNfoOEqDiEqqEwB7YqWzAKz8KW0OIqdlM8uiQ4JqZZlFllnWJUfaiDrdFM3lYSnFQBkzeVlts6GpDOOBjCYd7dcCNS6kq6pZC6p6HN60Twu0JnurZD6RT7rrPkIGE8vAenFt4iGe/yF52fahCSY8Ws4K0UTwN7bAS+4xRHVCWvE8sMRZsRCHizb5laYsVrPZJhE6+hux6OBb6w8kwPYXc+ud5v6UxawUWgt6uPwl8mlAtU9Z7Miw4Nn/wtBkiLL/ke1UI1gqJtcQXgHxx6mzsjh41+nAgTvdbsSEyU6vfOmxGj3Rwc1eOrIhJUqn5YjOWfzzsz/D5DzWKmwXIwdspt1p+u+kol1N3f2wT9fKPnd/RGCb4g/1hc3Aju4DQYgGY782l89CEEdalpQ/35bQczMFk6Fje12HykakWEXd/bGm9Unh82gH84USiRpeOfQvBDYoqEyrY3zkFZzBjhDqa+jEcAj41tcGx47oSfDq3iVYCdL7HSIjtnyEktVXd7mISZLoMt20JACFcMw+mrbjlug+eU7o2GR7T+LwtOp/p4LZqyLa7oQJDwde1BNZtm3TCK2P1mW94QDL0nDUps5KLtr1DaZXEkRbjSJub2ZE9WqDHyU3KA8G84Tq/rN1IoNu/if45jacyPje1Npj9IftUZSP22nV7HMwZtwQ4P4MYHRMBMGCSqGSIb3DQEJFTEGBAQBAAAAMFsGCSqGSIb3DQEJFDFOHkwAewBCADQAQQA0AEYARQBCADAALQBBADEAOABBAC0ANAA0AEIAQgAtAEIANQBGADIALQA0ADkAMQBFAEYAMQA1ADIAQgBBADEANgB9MF0GCSsGAQQBgjcRATFQHk4ATQBpAGMAcgBvAHMAbwBmAHQAIABTAG8AZgB0AHcAYQByAGUAIABLAGUAeQAgAFMAdABvAHIAYQBnAGUAIABQAHIAbwB2AGkAZABlAHIwggO/BgkqhkiG9w0BBwagggOwMIIDrAIBADCCA6UGCSqGSIb3DQEHATAcBgoqhkiG9w0BDAEGMA4ECEBk5ZAYpu0WAgIH0ICCA3hik4mQFGpw9Ha8TQPtk+j2jwWdxfF0+sTk6S8PTsEfIhB7wPltjiCK92Uv2tCBQnodBUmatIfkpnRDEySmgmdglmOCzj204lWAMRs94PoALGn3JVBXbO1vIDCbAPOZ7Z0Hd0/1t2hmk8v3//QJGUg+qr59/4y/MuVfIg4qfkPcC2QSvYWcK3oTf6SFi5rv9B1IOWFgN5D0+C+x/9Lb/myPYX+rbOHrwtJ4W1fWKoz9g7wwmGFA9IJ2DYGuH8ifVFbDFT1Vcgsvs8arSX7oBsJVW0qrP7XkuDRe3EqCmKW7rBEwYrFznhxZcRDEpMwbFoSvgSIZ4XhFY9VKYglT+JpNH5iDceYEBOQL4vBLpxNUk3l5jKaBNxVa14AIBxq18bVHJ+STInhLhad4u10v/Xbx7wIL3f9DX1yLAkPrpBYbNHS2/ew6H/ySDJnoIDxkw2zZ4qJ+qUJZ1S0lbZVG+VT0OP5uF6tyOSpbMlcGkdl3z254n6MlCrTifcwkzscysDsgKXaYQw06rzrPW6RDub+t+hXzGny799fS9jhQMLDmOggaQ7+LA4oEZsfT89HLMWxJYDqjo3gIfjciV2mV54R684qLDS+AO09U49e6yEbwGlq8lpmO/pbXCbpGbB1b3EomcQbxdWxW2WEkkEd/VBn81K4M3obmywwXJkw+tPXDXfBmzzaqqCR+onMQ5ME1nMkY8ybnfoCc1bDIupjVWsEL2Wvq752RgI6KqzVNr1ew1IdqV5AWN2fOfek+0vi3Jd9FHF3hx8JMwjJL9dZsETV5kHtYJtE7wJ23J68BnCt2eI0GEuwXcCf5EdSKN/xXCTlIokc4Qk/gzRdIZsvcEJ6B1lGovKG54X4IohikqTjiepjbsMWj38yxDmK3mtENZ9ci8FPfbbvIEcOCZIinuY3qFUlRSbx7VUerEoV1IP3clUwexVQo4lHFee2jd7ocWsdSqSapW7OWUupBtDzRkqVhE7tGria+i1W2d6YLlJ21QTjyapWJehAMO637OdbJCCzDs1cXbodRRE7bsP492ocJy8OX66rKdhYbg8srSFNKdb3pF3UDNbN9jhI/t8iagRhNBhlQtTr1me2E/c86Q18qcRXl4bcXTt6acgCeffK6Y26LcVlrgjlD33AEYRRUeyC+rpxbT0aMjdFderlndKRIyG23mSp0HaUwNzAfMAcGBSsOAwIaBBRlviCbIyRrhIysg2dc/KbLFTc2vQQUg4rfwHMM4IKYRD/fsd1x6dda+wQ=`,
+ // empty string password test case
+ "testing@example.com": `MIIJzgIBAzCCCZQGCSqGSIb3DQEHAaCCCYUEggmBMIIJfTCCA/cGCSqGSIb3DQEHBqCCA+gwggPk
+AgEAMIID3QYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQIIszfRGqcmPcCAggAgIIDsOZ9Eg1L
+s5Wx8JhYoV3HAL4aRnkAWvTYB5NISZOgSgIQTssmt/3A7134dibTmaT/93LikkL3cTKLnQzJ4wDf
+YZ1bprpVJvUqz+HFT79m27bP9zYXFrvxWBJbxjYKTSjQMgz+h8LAEpXXGajCmxMJ1oCOtdXkhhzc
+LdZN6SAYgtmtyFnCdMEDskSggGuLb3fw84QEJ/Sj6FAULXunW/CPaS7Ce0TMsKmNU/jfFWj3yXXw
+ro0kwjKiVLpVFlnBlHo2OoVU7hmkm59YpGhLgS7nxLD3n7nBroQ0ID1+8R01NnV9XLGoGzxMm1te
+6UyTCkr5mj+kEQ8EP1Ys7g/TC411uhVWySMt/rcpkx7Vz1r9kYEAzJpONAfr6cuEVkPKrxpq4Fh0
+2fzlKBky0i/hrfIEUmngh+ERHUb/Mtv/fkv1j5w9suESbhsMLLiCXAlsP1UWMX+3bNizi3WVMEts
+FM2k9byn+p8IUD/A8ULlE4kEaWeoc+2idkCNQkLGuIdGUXUFVm58se0auUkVRoRJx8x4CkMesT8j
+b1H831W66YRWoEwwDQp2kK1lA2vQXxdVHWlFevMNxJeromLzj3ayiaFrfByeUXhR2S+Hpm+c0yNR
+4UVU9WED2kacsZcpRm9nlEa5sr28mri5JdBrNa/K02OOhvKCxr5ZGmbOVzUQKla2z4w+Ku9k8POm
+dfDNU/fGx1b5hcFWtghXe3msWVsSJrQihnN6q1ughzNiYZlJUGcHdZDRtiWwCFI0bR8h/Dmg9uO9
+4rawQQrjIRT7B8yF3UbkZyAqs8Ppb1TsMeNPHh1rxEfGVQknh/48ouJYsmtbnzugTUt3mJCXXiL+
+XcPMV6bBVAUu4aaVKSmg9+yJtY4/VKv10iw88ktv29fViIdBe3t6l/oPuvQgbQ8dqf4T8w0l/uKZ
+9lS1Na9jfT1vCoS7F5TRi+tmyj1vL5kr/amEIW6xKEP6oeAMvCMtbPAzVEj38zdJ1R22FfuIBxkh
+f0Zl7pdVbmzRxl/SBx9iIBJSqAvcXItiT0FIj8HxQ+0iZKqMQMiBuNWJf5pYOLWGrIyntCWwHuaQ
+wrx0sTGuEL9YXLEAsBDrsvzLkx/56E4INGZFrH8G7HBdW6iGqb22IMI4GHltYSyBRKbB0gadYTyv
+abPEoqww8o7/85aPSzOTJ/53ozD438Q+d0u9SyDuOb60SzCD/zPuCEd78YgtXJwBYTuUNRT27FaM
+3LGMX8Hz+6yPNRnmnA2XKPn7dx/IlaqAjIs8MIIFfgYJKoZIhvcNAQcBoIIFbwSCBWswggVnMIIF
+YwYLKoZIhvcNAQwKAQKgggTuMIIE6jAcBgoqhkiG9w0BDAEDMA4ECJr0cClYqOlcAgIIAASCBMhe
+OQSiP2s0/46ONXcNeVAkz2ksW3u/+qorhSiskGZ0b3dFa1hhgBU2Q7JVIkc4Hf7OXaT1eVQ8oqND
+uhqsNz83/kqYo70+LS8Hocj49jFgWAKrf/yQkdyP1daHa2yzlEw4mkpqOfnIORQHvYCa8nEApspZ
+wVu8y6WVuLHKU67mel7db2xwstQp7PRuSAYqGjTfAylElog8ASdaqqYbYIrCXucF8iF9oVgmb/Qo
+xrXshJ9aSLO4MuXlTPELmWgj07AXKSb90FKNihE+y0bWb9LPVFY1Sly3AX9PfrtkSXIZwqW3phpv
+MxGxQl/R6mr1z+hlTfY9Wdpb5vlKXPKA0L0Rt8d2pOesylFi6esJoS01QgP1kJILjbrV731kvDc0
+Jsd+Oxv4BMwA7ClG8w1EAOInc/GrV1MWFGw/HeEqj3CZ/l/0jv9bwkbVeVCiIhoL6P6lVx9pXq4t
+KZ0uKg/tk5TVJmG2vLcMLvezD0Yk3G2ZOMrywtmskrwoF7oAUpO9e87szoH6fEvUZlkDkPVW1NV4
+cZk3DBSQiuA3VOOg8qbo/tx/EE3H59P0axZWno2GSB0wFPWd1aj+b//tJEJHaaNR6qPRj4IWj9ru
+Qbc8eRAcVWleHg8uAehSvUXlFpyMQREyrnpvMGddpiTC8N4UMrrBRhV7+UbCOWhxPCbItnInBqgl
+1JpSZIP7iUtsIMdu3fEC2cdbXMTRul+4rdzUR7F9OaezV3jjvcAbDvgbK1CpyC+MJ1Mxm/iTgk9V
+iUArydhlR8OniN84GyGYoYCW9O/KUwb6ASmeFOu/msx8x6kAsSQHIkKqMKv0TUR3kZnkxUvdpBGP
+KTl4YCTvNGX4dYALBqrAETRDhua2KVBD/kEttDHwBNVbN2xi81+Mc7ml461aADfk0c66R/m2sjHB
+2tN9+wG12OIWFQjL6wF/UfJMYamxx2zOOExiId29Opt57uYiNVLOO4ourPewHPeH0u8Gz35aero7
+lkt7cZAe1Q0038JUuE/QGlnK4lESK9UkSIQAjSaAlTsrcfwtQxB2EjoOoLhwH5mvxUEmcNGNnXUc
+9xj3M5BD3zBz3Ft7G3YMMDwB1+zC2l+0UG0MGVjMVaeoy32VVNvxgX7jk22OXG1iaOB+PY9kdk+O
+X+52BGSf/rD6X0EnqY7XuRPkMGgjtpZeAYxRQnFtCZgDY4wYheuxqSSpdF49yNczSPLkgB3CeCfS
++9NTKN7aC6hBbmW/8yYh6OvSiCEwY0lFS/T+7iaVxr1loE4zI1y/FFp4Pe1qfLlLttVlkygga2UU
+SCunTQ8UB/M5IXWKkhMOO11dP4niWwb39Y7pCWpau7mwbXOKfRPX96cgHnQJK5uG+BesDD1oYnX0
+6frN7FOnTSHKruRIwuI8KnOQ/I+owmyz71wiv5LMQt+yM47UrEjB/EZa5X8dpEwOZvkdqL7utcyo
+l0XH5kWMXdW856LL/FYftAqJIDAmtX1TXF/rbP6mPyN/IlDC0gjP84Uzd/a2UyTIWr+wk49Ek3vQ
+/uDamq6QrwAxVmNh5Tset5Vhpc1e1kb7mRMZIzxSP8JcTuYd45oFKi98I8YjvueHVZce1g7OudQP
+SbFQoJvdT46iBg1TTatlltpOiH2mFaxWVS0xYjAjBgkqhkiG9w0BCRUxFgQUdA9eVqvETX4an/c8
+p8SsTugkit8wOwYJKoZIhvcNAQkUMS4eLABGAHIAaQBlAG4AZABsAHkAIABuAGEAbQBlACAAZgBv
+AHIAIABjAGUAcgB0MDEwITAJBgUrDgMCGgUABBRFsNz3Zd1O1GI8GTuFwCWuDOjEEwQIuBEfIcAy
+HQ8CAggA`,
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8.go
index 5203d394..22ab14d2 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8.go
@@ -1,3 +1,6 @@
+// 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 pkcs12
import (
@@ -28,7 +31,7 @@ var (
// marshalPKCS8PrivateKey converts a private key to PKCS#8 encoded form.
// See http://www.rsa.com/rsalabs/node.asp?id=2130 and RFC5208.
-func marshalPKCS8PrivateKey(key interface{}) ([]byte, error) {
+func marshalPKCS8PrivateKey(key interface{}) (der []byte, err error) {
pkcs := pkcs8{
Version: 0,
}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8_test.go
index 1f891ef8..7d12119f 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/pkcs8_test.go
@@ -35,7 +35,7 @@ func TestRoundTripPkcs8Rsa(t *testing.T) {
}
if actualPrivateKey.Validate() != nil {
- t.Fatal("private key did not validate")
+ t.Fatalf("private key did not validate")
}
if actualPrivateKey.N.Cmp(privateKey.N) != 0 {
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/bench_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/bench_test.go
new file mode 100644
index 00000000..3347f338
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/bench_test.go
@@ -0,0 +1,27 @@
+// 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 rc2
+
+import (
+ "testing"
+)
+
+func BenchmarkEncrypt(b *testing.B) {
+ r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64)
+ b.ResetTimer()
+ var src [8]byte
+ for i := 0; i < b.N; i++ {
+ r.Encrypt(src[:], src[:])
+ }
+}
+
+func BenchmarkDecrypt(b *testing.B) {
+ r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64)
+ b.ResetTimer()
+ var src [8]byte
+ for i := 0; i < b.N; i++ {
+ r.Decrypt(src[:], src[:])
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2.go
index aa194e50..8c709025 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2.go
@@ -1,3 +1,7 @@
+// 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 rc2 implements the RC2 cipher
/*
https://www.ietf.org/rfc/rfc2268.txt
@@ -10,7 +14,6 @@ package rc2
import (
"crypto/cipher"
"encoding/binary"
- "strconv"
)
// The rc2 block size in bytes
@@ -20,34 +23,15 @@ type rc2Cipher struct {
k [64]uint16
}
-// KeySizeError indicates the supplied key was invalid
-type KeySizeError int
-
-func (k KeySizeError) Error() string { return "rc2: invalid key size " + strconv.Itoa(int(k)) }
-
-// EffectiveKeySizeError indicates the supplied effective key length was invalid
-type EffectiveKeySizeError int
-
-func (k EffectiveKeySizeError) Error() string {
- return "rc2: invalid effective key size " + strconv.Itoa(int(k))
-}
-
// New returns a new rc2 cipher with the given key and effective key length t1
func New(key []byte, t1 int) (cipher.Block, error) {
- if l := len(key); l == 0 || l > 128 {
- return nil, KeySizeError(l)
- }
-
- if t1 < 8 || t1 > 1024 {
- return nil, EffectiveKeySizeError(t1)
- }
-
+ // TODO(dgryski): error checking for key length
return &rc2Cipher{
k: expandKey(key, t1),
}, nil
}
-func (c *rc2Cipher) BlockSize() int { return BlockSize }
+func (*rc2Cipher) BlockSize() int { return BlockSize }
var piTable = [256]byte{
0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9, 0xfd, 0x79, 0x4a, 0xa0, 0xd8, 0x9d,
@@ -109,7 +93,6 @@ func (c *rc2Cipher) Encrypt(dst, src []byte) {
var j int
- // These three mix blocks have not been extracted to a common function for to performance reasons.
for j <= 16 {
// mix r0
r0 = r0 + c.k[j] + (r3 & r2) + ((^r3) & r1)
@@ -130,6 +113,7 @@ func (c *rc2Cipher) Encrypt(dst, src []byte) {
r3 = r3 + c.k[j] + (r2 & r1) + ((^r2) & r0)
r3 = rotl16(r3, 5)
j++
+
}
r0 = r0 + c.k[r3&63]
@@ -138,6 +122,7 @@ func (c *rc2Cipher) Encrypt(dst, src []byte) {
r3 = r3 + c.k[r2&63]
for j <= 40 {
+
// mix r0
r0 = r0 + c.k[j] + (r3 & r2) + ((^r3) & r1)
r0 = rotl16(r0, 1)
@@ -157,6 +142,7 @@ func (c *rc2Cipher) Encrypt(dst, src []byte) {
r3 = r3 + c.k[j] + (r2 & r1) + ((^r2) & r0)
r3 = rotl16(r3, 5)
j++
+
}
r0 = r0 + c.k[r3&63]
@@ -165,6 +151,7 @@ func (c *rc2Cipher) Encrypt(dst, src []byte) {
r3 = r3 + c.k[r2&63]
for j <= 60 {
+
// mix r0
r0 = r0 + c.k[j] + (r3 & r2) + ((^r3) & r1)
r0 = rotl16(r0, 1)
@@ -248,6 +235,7 @@ func (c *rc2Cipher) Decrypt(dst, src []byte) {
r0 = rotl16(r0, 16-1)
r0 = r0 - c.k[j] - (r3 & r2) - ((^r3) & r1)
j--
+
}
r3 = r3 - c.k[r2&63]
@@ -256,6 +244,7 @@ func (c *rc2Cipher) Decrypt(dst, src []byte) {
r0 = r0 - c.k[r3&63]
for j >= 0 {
+
// unmix r3
r3 = rotl16(r3, 16-5)
r3 = r3 - c.k[j] - (r2 & r1) - ((^r2) & r0)
@@ -275,6 +264,7 @@ func (c *rc2Cipher) Decrypt(dst, src []byte) {
r0 = rotl16(r0, 16-1)
r0 = r0 - c.k[j] - (r3 & r2) - ((^r3) & r1)
j--
+
}
binary.LittleEndian.PutUint16(dst[0:], r0)
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2_test.go
index adb73c59..8a49dfaf 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/rc2/rc2_test.go
@@ -1,3 +1,7 @@
+// 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 rc2
import (
@@ -8,6 +12,7 @@ import (
func TestEncryptDecrypt(t *testing.T) {
+ // TODO(dgryski): add the rest of the test vectors from the RFC
var tests = []struct {
key string
plain string
@@ -86,20 +91,3 @@ func TestEncryptDecrypt(t *testing.T) {
}
}
}
-
-func BenchmarkEncrypt(b *testing.B) {
- r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64)
- b.ResetTimer()
- var src [8]byte
- for i := 0; i < b.N; i++ {
- r.Encrypt(src[:], src[:])
- }
-}
-func BenchmarkDecrypt(b *testing.B) {
- r, _ := New([]byte{0, 0, 0, 0, 0, 0, 0, 0}, 64)
- b.ResetTimer()
- var src [8]byte
- for i := 0; i < b.N; i++ {
- r.Decrypt(src[:], src[:])
- }
-}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags.go
index 5d4793b3..bbd1526b 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags.go
@@ -1,17 +1,21 @@
+// 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 pkcs12
import (
+ "crypto/x509"
"crypto/x509/pkix"
"encoding/asn1"
"errors"
)
-//see https://tools.ietf.org/html/rfc7292#appendix-D
var (
- oidPkcs8ShroudedKeyBagType = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 12, 10, 1, 2}
- oidCertBagType = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 12, 10, 1, 3}
-
- oidCertTypeX509Certificate = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 22, 1}
+ // see https://tools.ietf.org/html/rfc7292#appendix-D
+ oidCertTypeX509Certificate = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 9, 22, 1})
+ oidPKCS8ShroudedKeyBag = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 10, 1, 2})
+ oidCertBag = asn1.ObjectIdentifier([]int{1, 2, 840, 113549, 1, 12, 10, 1, 3})
)
type certBag struct {
@@ -52,7 +56,7 @@ func encodePkcs8ShroudedKeyBag(privateKey interface{}, password []byte) (bytes [
pkinfo := encryptedPrivateKeyInfo{
AlgorithmIdentifier: pkix.AlgorithmIdentifier{
- Algorithm: oidPbeWithSHAAnd3KeyTripleDESCBC,
+ Algorithm: oidPBEWithSHAAnd3KeyTripleDESCBC,
Parameters: params,
},
EncryptedData: pkData,
@@ -65,3 +69,37 @@ func encodePkcs8ShroudedKeyBag(privateKey interface{}, password []byte) (bytes [
return bytes, err
}
+
+func decodePkcs8ShroudedKeyBag(asn1Data, password []byte) (privateKey interface{}, err error) {
+ pkinfo := new(encryptedPrivateKeyInfo)
+ if err = unmarshal(asn1Data, pkinfo); err != nil {
+ return nil, errors.New("pkcs12: error decoding PKCS#8 shrouded key bag: " + err.Error())
+ }
+
+ pkData, err := pbDecrypt(pkinfo, password)
+ if err != nil {
+ return nil, errors.New("pkcs12: error decrypting PKCS#8 shrouded key bag: " + err.Error())
+ }
+
+ ret := new(asn1.RawValue)
+ if err = unmarshal(pkData, ret); err != nil {
+ return nil, errors.New("pkcs12: error unmarshaling decrypted private key: " + err.Error())
+ }
+
+ if privateKey, err = x509.ParsePKCS8PrivateKey(pkData); err != nil {
+ return nil, errors.New("pkcs12: error parsing PKCS#8 private key: " + err.Error())
+ }
+
+ return privateKey, nil
+}
+
+func decodeCertBag(asn1Data []byte) (x509Certificates []byte, err error) {
+ bag := new(certBag)
+ if err := unmarshal(asn1Data, bag); err != nil {
+ return nil, errors.New("pkcs12: error decoding cert bag: " + err.Error())
+ }
+ if !bag.Id.Equal(oidCertTypeX509Certificate) {
+ return nil, NotImplementedError("only X509 certificates are supported")
+ }
+ return bag.Data, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags_test.go b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags_test.go
index 384dd5ce..f21a83c6 100644
--- a/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/azure/pkcs12/safebags_test.go
@@ -1,39 +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.
package pkcs12
import (
"crypto/rand"
"crypto/rsa"
- "crypto/x509"
"encoding/asn1"
- "fmt"
"testing"
)
-func decodePkcs8ShroudedKeyBag(asn1Data, password []byte) (privateKey interface{}, err error) {
- pkinfo := new(encryptedPrivateKeyInfo)
- if _, err = asn1.Unmarshal(asn1Data, pkinfo); err != nil {
- err = fmt.Errorf("error decoding PKCS8 shrouded key bag: %v", err)
- return nil, err
- }
-
- pkData, err := pbDecrypt(pkinfo, password)
- if err != nil {
- err = fmt.Errorf("error decrypting PKCS8 shrouded key bag: %v", err)
- return
- }
-
- rv := new(asn1.RawValue)
- if _, err = asn1.Unmarshal(pkData, rv); err != nil {
- err = fmt.Errorf("could not decode decrypted private key data")
- }
-
- if privateKey, err = x509.ParsePKCS8PrivateKey(pkData); err != nil {
- err = fmt.Errorf("error parsing PKCS8 private key: %v", err)
- return nil, err
- }
- return
-}
-
// Assert the default algorithm parameters are in the correct order,
// and default to the correct value. Defaults are based on OpenSSL.
// 1. IterationCount, defaults to 2,048 long.
@@ -61,7 +37,7 @@ func TestDefaultAlgorithmParametersPkcs8ShroudedKeyBag(t *testing.T) {
}
var params pbeParams
- rest, err = asn1.Unmarshal(pkinfo.GetAlgorithm().Parameters.FullBytes, &params)
+ rest, err = asn1.Unmarshal(pkinfo.Algorithm().Parameters.FullBytes, &params)
if err != nil {
t.Fatalf("failed to unmarshal encryptedPrivateKeyInfo %s", err)
}
@@ -97,6 +73,6 @@ func TestRoundTripPkcs8ShroudedKeyBag(t *testing.T) {
actualPrivateKey := key.(*rsa.PrivateKey)
if actualPrivateKey.D.Cmp(privateKey.D) != 0 {
- t.Fatal("failed to round-trip rsa.PrivateKey.D")
+ t.Fatalf("failed to round-trip rsa.PrivateKey.D")
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/builder.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/builder.go
index 369fe0cc..5c82e318 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/builder.go
@@ -1,6 +1,8 @@
package cloudstack
import (
+ "fmt"
+
"github.com/hashicorp/packer/common"
"github.com/hashicorp/packer/helper/communicator"
"github.com/hashicorp/packer/packer"
@@ -61,34 +63,37 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
HTTPPortMin: b.config.HTTPPortMin,
HTTPPortMax: b.config.HTTPPortMax,
},
+ &stepKeypair{
+ Debug: b.config.PackerDebug,
+ DebugKeyPath: fmt.Sprintf("cs_%s.pem", b.config.PackerBuildName),
+ KeyPair: b.config.Keypair,
+ PrivateKeyFile: b.config.Comm.SSHPrivateKey,
+ SSHAgentAuth: b.config.Comm.SSHAgentAuth,
+ TemporaryKeyPairName: b.config.TemporaryKeypairName,
+ },
+ &stepCreateSecurityGroup{},
&stepCreateInstance{
- Ctx: b.config.ctx,
+ Ctx: b.config.ctx,
+ Debug: b.config.PackerDebug,
},
&stepSetupNetworking{},
&communicator.StepConnect{
Config: &b.config.Comm,
Host: commHost,
- SSHConfig: SSHConfig(
+ SSHConfig: sshConfig(
b.config.Comm.SSHAgentAuth,
b.config.Comm.SSHUsername,
b.config.Comm.SSHPassword),
+ SSHPort: commPort,
+ WinRMPort: commPort,
},
&common.StepProvision{},
&stepShutdownInstance{},
&stepCreateTemplate{},
}
- // Configure the runner.
- if b.config.PackerDebug {
- b.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: common.MultistepDebugFn(ui),
- }
- } else {
- b.runner = &multistep.BasicRunner{Steps: steps}
- }
-
- // Run the steps.
+ // Configure the runner and run the steps.
+ b.runner = common.NewRunner(steps, b.config.PackerConfig, ui)
b.runner.Run(state)
// If there was an error, return that
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/config.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/config.go
index 5d6e9da0..7a617c6c 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/config.go
@@ -27,23 +27,26 @@ type Config struct {
HTTPGetOnly bool `mapstructure:"http_get_only"`
SSLNoVerify bool `mapstructure:"ssl_no_verify"`
- CIDRList []string `mapstructure:"cidr_list"`
- DiskOffering string `mapstructure:"disk_offering"`
- DiskSize int64 `mapstructure:"disk_size"`
- Expunge bool `mapstructure:"expunge"`
- Hypervisor string `mapstructure:"hypervisor"`
- InstanceName string `mapstructure:"instance_name"`
- Keypair string `mapstructure:"keypair"`
- Network string `mapstructure:"network"`
- Project string `mapstructure:"project"`
- PublicIPAddress string `mapstructure:"public_ip_address"`
- ServiceOffering string `mapstructure:"service_offering"`
- SourceTemplate string `mapstructure:"source_template"`
- SourceISO string `mapstructure:"source_iso"`
- UserData string `mapstructure:"user_data"`
- UserDataFile string `mapstructure:"user_data_file"`
- UseLocalIPAddress bool `mapstructure:"use_local_ip_address"`
- Zone string `mapstructure:"zone"`
+ CIDRList []string `mapstructure:"cidr_list"`
+ CreateSecurityGroup bool `mapstructure:"create_security_group"`
+ DiskOffering string `mapstructure:"disk_offering"`
+ DiskSize int64 `mapstructure:"disk_size"`
+ Expunge bool `mapstructure:"expunge"`
+ Hypervisor string `mapstructure:"hypervisor"`
+ InstanceName string `mapstructure:"instance_name"`
+ Keypair string `mapstructure:"keypair"`
+ Network string `mapstructure:"network"`
+ Project string `mapstructure:"project"`
+ PublicIPAddress string `mapstructure:"public_ip_address"`
+ SecurityGroups []string `mapstructure:"security_groups"`
+ ServiceOffering string `mapstructure:"service_offering"`
+ SourceISO string `mapstructure:"source_iso"`
+ SourceTemplate string `mapstructure:"source_template"`
+ TemporaryKeypairName string `mapstructure:"temporary_keypair_name"`
+ UseLocalIPAddress bool `mapstructure:"use_local_ip_address"`
+ UserData string `mapstructure:"user_data"`
+ UserDataFile string `mapstructure:"user_data_file"`
+ Zone string `mapstructure:"zone"`
TemplateName string `mapstructure:"template_name"`
TemplateDisplayText string `mapstructure:"template_display_text"`
@@ -55,9 +58,7 @@ type Config struct {
TemplateScalable bool `mapstructure:"template_scalable"`
TemplateTag string `mapstructure:"template_tag"`
- ctx interpolate.Context
- hostAddress string // The host address used by the communicators.
- instanceSource string // This can be either a template ID or an ISO ID.
+ ctx interpolate.Context
}
// NewConfig parses and validates the given config.
@@ -98,7 +99,7 @@ func NewConfig(raws ...interface{}) (*Config, error) {
c.AsyncTimeout = 30 * time.Minute
}
- if len(c.CIDRList) == 0 && !c.UseLocalIPAddress {
+ if len(c.CIDRList) == 0 {
c.CIDRList = []string{"0.0.0.0/0"}
}
@@ -120,6 +121,14 @@ func NewConfig(raws ...interface{}) (*Config, error) {
c.TemplateDisplayText = c.TemplateName
}
+ // If we are not given an explicit keypair, ssh_password or ssh_private_key_file,
+ // then create a temporary one, but only if the temporary_keypair_name has not
+ // been provided.
+ if c.Keypair == "" && c.TemporaryKeypairName == "" &&
+ c.Comm.SSHPrivateKey == "" && c.Comm.SSHPassword == "" {
+ c.TemporaryKeypairName = fmt.Sprintf("packer_%s", uuid.TimeOrderedUUID())
+ }
+
// Process required parameters.
if c.APIURL == "" {
errs = packer.MultiErrorAppend(errs, errors.New("a api_url must be specified"))
@@ -137,6 +146,10 @@ func NewConfig(raws ...interface{}) (*Config, error) {
errs = packer.MultiErrorAppend(errs, errors.New("a network must be specified"))
}
+ if c.CreateSecurityGroup && !c.Expunge {
+ errs = packer.MultiErrorAppend(errs, errors.New("auto creating a temporary security group requires expunge"))
+ }
+
if c.ServiceOffering == "" {
errs = packer.MultiErrorAppend(errs, errors.New("a service_offering must be specified"))
}
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/ssh.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/ssh.go
index ab350d05..7a4c2fcb 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/ssh.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/ssh.go
@@ -7,28 +7,29 @@ import (
packerssh "github.com/hashicorp/packer/communicator/ssh"
"github.com/mitchellh/multistep"
- "github.com/xanzy/go-cloudstack/cloudstack"
"golang.org/x/crypto/ssh"
"golang.org/x/crypto/ssh/agent"
)
func commHost(state multistep.StateBag) (string, error) {
- client := state.Get("client").(*cloudstack.CloudStackClient)
- config := state.Get("config").(*Config)
+ ip, hasIP := state.Get("ipaddress").(string)
+ if !hasIP {
+ return "", fmt.Errorf("Failed to retrieve IP address")
+ }
- if config.hostAddress == "" {
- ipAddr, _, err := client.Address.GetPublicIpAddressByID(config.PublicIPAddress)
- if err != nil {
- return "", fmt.Errorf("Failed to retrieve IP address: %s", err)
- }
+ return ip, nil
+}
- config.hostAddress = ipAddr.Ipaddress
+func commPort(state multistep.StateBag) (int, error) {
+ commPort, hasPort := state.Get("commPort").(int)
+ if !hasPort {
+ return 0, fmt.Errorf("Failed to retrieve communication port")
}
- return config.hostAddress, nil
+ return commPort, nil
}
-func SSHConfig(useAgent bool, username, password string) func(state multistep.StateBag) (*ssh.ClientConfig, error) {
+func sshConfig(useAgent bool, username, password string) func(state multistep.StateBag) (*ssh.ClientConfig, error) {
return func(state multistep.StateBag) (*ssh.ClientConfig, error) {
if useAgent {
authSock := os.Getenv("SSH_AUTH_SOCK")
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_configure_networking.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_configure_networking.go
index 48a3742a..d9a6a365 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_configure_networking.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_configure_networking.go
@@ -25,6 +25,7 @@ func (s *stepSetupNetworking) Run(state multistep.StateBag) multistep.StepAction
if config.UseLocalIPAddress {
ui.Message("Using the local IP address...")
+ state.Put("commPort", config.Comm.Port())
ui.Message("Networking has been setup!")
return multistep.ActionContinue
}
@@ -32,18 +33,11 @@ func (s *stepSetupNetworking) Run(state multistep.StateBag) multistep.StepAction
// Generate a random public port used to configure our port forward.
rand.Seed(time.Now().UnixNano())
s.publicPort = 50000 + rand.Intn(10000)
+ state.Put("commPort", s.publicPort)
// Set the currently configured port to be the private port.
s.privatePort = config.Comm.Port()
- // Set the SSH or WinRM port to be the randomly generated public port.
- switch config.Comm.Type {
- case "ssh":
- config.Comm.SSHPort = s.publicPort
- case "winrm":
- config.Comm.WinRMPort = s.publicPort
- }
-
// Retrieve the instance ID from the previously saved state.
instanceID, ok := state.Get("instance_id").(string)
if !ok || instanceID == "" {
@@ -91,7 +85,7 @@ func (s *stepSetupNetworking) Run(state multistep.StateBag) multistep.StepAction
// Set the IP address and it's ID.
config.PublicIPAddress = ipAddr.Id
- config.hostAddress = ipAddr.Ipaddress
+ state.Put("ipaddress", ipAddr.Ipaddress)
// Store the IP address ID.
state.Put("ip_address_id", ipAddr.Id)
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_instance.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_instance.go
index 3b624de3..3e37fad1 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_instance.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_instance.go
@@ -22,7 +22,8 @@ type userDataTemplateData struct {
// stepCreateInstance represents a Packer build step that creates CloudStack instances.
type stepCreateInstance struct {
- Ctx interpolate.Context
+ Debug bool
+ Ctx interpolate.Context
}
// Run executes the Packer build step that creates a CloudStack instance.
@@ -36,7 +37,7 @@ func (s *stepCreateInstance) Run(state multistep.StateBag) multistep.StepAction
// Create a new parameter struct.
p := client.VirtualMachine.NewDeployVirtualMachineParams(
config.ServiceOffering,
- config.instanceSource,
+ state.Get("source").(string),
config.Zone,
)
@@ -44,8 +45,12 @@ func (s *stepCreateInstance) Run(state multistep.StateBag) multistep.StepAction
p.SetName(config.InstanceName)
p.SetDisplayname("Created by Packer")
- if config.Keypair != "" {
- p.SetKeypair(config.Keypair)
+ if keypair, ok := state.GetOk("keypair"); ok {
+ p.SetKeypair(keypair.(string))
+ }
+
+ if securitygroups, ok := state.GetOk("security_groups"); ok {
+ p.SetSecuritygroupids(securitygroups.([]string))
}
// If we use an ISO, configure the disk offering.
@@ -115,6 +120,12 @@ func (s *stepCreateInstance) Run(state multistep.StateBag) multistep.StepAction
ui.Message("Instance has been created!")
+ // In debug-mode, we output the password
+ if s.Debug {
+ ui.Message(fmt.Sprintf(
+ "Password (since debug is enabled) \"%s\"", instance.Password))
+ }
+
// Set the auto generated password if a password was not explicitly configured.
switch config.Comm.Type {
case "ssh":
@@ -129,7 +140,7 @@ func (s *stepCreateInstance) Run(state multistep.StateBag) multistep.StepAction
// Set the host address when using the local IP address to connect.
if config.UseLocalIPAddress {
- config.hostAddress = instance.Nic[0].Ipaddress
+ state.Put("ipaddress", instance.Nic[0].Ipaddress)
}
// Store the instance ID so we can remove it later.
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_security_group.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_security_group.go
new file mode 100644
index 00000000..1bf23100
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_create_security_group.go
@@ -0,0 +1,94 @@
+package cloudstack
+
+import (
+ "fmt"
+
+ "github.com/hashicorp/packer/common/uuid"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "github.com/xanzy/go-cloudstack/cloudstack"
+)
+
+type stepCreateSecurityGroup struct {
+ tempSG string
+}
+
+func (s *stepCreateSecurityGroup) Run(state multistep.StateBag) multistep.StepAction {
+ client := state.Get("client").(*cloudstack.CloudStackClient)
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ if len(config.SecurityGroups) > 0 {
+ state.Put("security_groups", config.SecurityGroups)
+ return multistep.ActionContinue
+ }
+
+ if !config.CreateSecurityGroup {
+ return multistep.ActionContinue
+ }
+
+ ui.Say("Creating temporary Security Group...")
+
+ p := client.SecurityGroup.NewCreateSecurityGroupParams(
+ fmt.Sprintf("packer-%s", uuid.TimeOrderedUUID()),
+ )
+ p.SetDescription("Temporary SG created by Packer")
+ if config.Project != "" {
+ p.SetProjectid(config.Project)
+ }
+
+ sg, err := client.SecurityGroup.CreateSecurityGroup(p)
+ if err != nil {
+ err := fmt.Errorf("Failed to create security group: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ s.tempSG = sg.Id
+ state.Put("security_groups", []string{sg.Id})
+
+ // Create Ingress rule
+ i := client.SecurityGroup.NewAuthorizeSecurityGroupIngressParams()
+ i.SetCidrlist(config.CIDRList)
+ i.SetProtocol("TCP")
+ i.SetSecuritygroupid(sg.Id)
+ i.SetStartport(config.Comm.Port())
+ i.SetEndport(config.Comm.Port())
+ if config.Project != "" {
+ i.SetProjectid(config.Project)
+ }
+
+ _, err = client.SecurityGroup.AuthorizeSecurityGroupIngress(i)
+ if err != nil {
+ err := fmt.Errorf("Failed to authorize security group ingress rule: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+// Cleanup any resources that may have been created during the Run phase.
+func (s *stepCreateSecurityGroup) Cleanup(state multistep.StateBag) {
+ client := state.Get("client").(*cloudstack.CloudStackClient)
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ if s.tempSG == "" {
+ return
+ }
+
+ ui.Say(fmt.Sprintf("Cleanup temporary security group: %s ...", s.tempSG))
+ p := client.SecurityGroup.NewDeleteSecurityGroupParams()
+ p.SetId(s.tempSG)
+ if config.Project != "" {
+ p.SetProjectid(config.Project)
+ }
+
+ if _, err := client.SecurityGroup.DeleteSecurityGroup(p); err != nil {
+ ui.Error(err.Error())
+ ui.Error(fmt.Sprintf("Error deleting security group: %s. Please destroy it manually.\n", s.tempSG))
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_keypair.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_keypair.go
new file mode 100644
index 00000000..675994fc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_keypair.go
@@ -0,0 +1,133 @@
+package cloudstack
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "runtime"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "github.com/xanzy/go-cloudstack/cloudstack"
+)
+
+type stepKeypair struct {
+ Debug bool
+ DebugKeyPath string
+ KeyPair string
+ PrivateKeyFile string
+ SSHAgentAuth bool
+ TemporaryKeyPairName string
+}
+
+func (s *stepKeypair) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+
+ if s.PrivateKeyFile != "" {
+ privateKeyBytes, err := ioutil.ReadFile(s.PrivateKeyFile)
+ if err != nil {
+ state.Put("error", fmt.Errorf(
+ "Error loading configured private key file: %s", err))
+ return multistep.ActionHalt
+ }
+
+ state.Put("keypair", s.KeyPair)
+ state.Put("privateKey", string(privateKeyBytes))
+
+ return multistep.ActionContinue
+ }
+
+ if s.SSHAgentAuth && s.KeyPair == "" {
+ ui.Say("Using SSH Agent with keypair in Source image")
+ return multistep.ActionContinue
+ }
+
+ if s.SSHAgentAuth && s.KeyPair != "" {
+ ui.Say(fmt.Sprintf("Using SSH Agent for existing keypair %s", s.KeyPair))
+ state.Put("keypair", s.KeyPair)
+ return multistep.ActionContinue
+ }
+
+ if s.TemporaryKeyPairName == "" {
+ ui.Say("Not using a keypair")
+ state.Put("keypair", "")
+ return multistep.ActionContinue
+ }
+
+ client := state.Get("client").(*cloudstack.CloudStackClient)
+
+ ui.Say(fmt.Sprintf("Creating temporary keypair: %s ...", s.TemporaryKeyPairName))
+
+ p := client.SSH.NewCreateSSHKeyPairParams(s.TemporaryKeyPairName)
+ keypair, err := client.SSH.CreateSSHKeyPair(p)
+ if err != nil {
+ err := fmt.Errorf("Error creating temporary keypair: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ if keypair.Privatekey == "" {
+ err := fmt.Errorf("The temporary keypair returned was blank")
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ ui.Say(fmt.Sprintf("Created temporary keypair: %s", s.TemporaryKeyPairName))
+
+ // If we're in debug mode, output the private key to the working directory.
+ if s.Debug {
+ ui.Message(fmt.Sprintf("Saving key for debug purposes: %s", s.DebugKeyPath))
+ f, err := os.Create(s.DebugKeyPath)
+ if err != nil {
+ state.Put("error", fmt.Errorf("Error saving debug key: %s", err))
+ return multistep.ActionHalt
+ }
+ defer f.Close()
+
+ // Write the key out
+ if _, err := f.Write([]byte(keypair.Privatekey)); err != nil {
+ err := fmt.Errorf("Error saving debug key: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ // Chmod it so that it is SSH ready
+ if runtime.GOOS != "windows" {
+ if err := f.Chmod(0600); err != nil {
+ err := fmt.Errorf("Error setting permissions of debug key: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ }
+ }
+
+ // Set some state data for use in future steps
+ state.Put("keypair", s.TemporaryKeyPairName)
+ state.Put("privateKey", keypair.Privatekey)
+
+ return multistep.ActionContinue
+}
+
+func (s *stepKeypair) Cleanup(state multistep.StateBag) {
+ if s.TemporaryKeyPairName == "" {
+ return
+ }
+
+ ui := state.Get("ui").(packer.Ui)
+ client := state.Get("client").(*cloudstack.CloudStackClient)
+
+ ui.Say(fmt.Sprintf("Deleting temporary keypair: %s ...", s.TemporaryKeyPairName))
+
+ _, err := client.SSH.DeleteSSHKeyPair(client.SSH.NewDeleteSSHKeyPairParams(
+ s.TemporaryKeyPairName,
+ ))
+ if err != nil {
+ ui.Error(err.Error())
+ ui.Error(fmt.Sprintf(
+ "Error cleaning up keypair. Please delete the key manually: %s", s.TemporaryKeyPairName))
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_prepare_config.go b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_prepare_config.go
index de397308..4d6353c6 100644
--- a/vendor/github.com/mitchellh/packer/builder/cloudstack/step_prepare_config.go
+++ b/vendor/github.com/mitchellh/packer/builder/cloudstack/step_prepare_config.go
@@ -22,15 +22,6 @@ func (s *stepPrepareConfig) Run(state multistep.StateBag) multistep.StepAction {
var err error
var errs *packer.MultiError
- if config.Comm.SSHPrivateKey != "" {
- privateKey, err := ioutil.ReadFile(config.Comm.SSHPrivateKey)
- if err != nil {
- errs = packer.MultiErrorAppend(errs, fmt.Errorf("Error loading configured private key file: %s", err))
- }
-
- state.Put("privateKey", privateKey)
- }
-
// First get the project and zone UUID's so we can use them in other calls when needed.
if config.Project != "" && !isUUID(config.Project) {
config.Project, _, err = client.Project.GetProjectID(config.Project)
@@ -62,26 +53,34 @@ func (s *stepPrepareConfig) Run(state multistep.StateBag) multistep.StepAction {
}
}
- if config.PublicIPAddress != "" && !isUUID(config.PublicIPAddress) {
- // Save the public IP address before replacing it with it's UUID.
- config.hostAddress = config.PublicIPAddress
+ if config.PublicIPAddress != "" {
+ if isUUID(config.PublicIPAddress) {
+ ip, _, err := client.Address.GetPublicIpAddressByID(config.PublicIPAddress)
+ if err != nil {
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("Failed to retrieve IP address: %s", err))
+ }
+ state.Put("ipaddress", ip.Ipaddress)
+ } else {
+ // Save the public IP address before replacing it with it's UUID.
+ state.Put("ipaddress", config.PublicIPAddress)
- p := client.Address.NewListPublicIpAddressesParams()
- p.SetIpaddress(config.PublicIPAddress)
+ p := client.Address.NewListPublicIpAddressesParams()
+ p.SetIpaddress(config.PublicIPAddress)
- if config.Project != "" {
- p.SetProjectid(config.Project)
- }
+ if config.Project != "" {
+ p.SetProjectid(config.Project)
+ }
- ipAddrs, err := client.Address.ListPublicIpAddresses(p)
- if err != nil {
- errs = packer.MultiErrorAppend(errs, &retrieveErr{"IP address", config.PublicIPAddress, err})
- }
- if err == nil && ipAddrs.Count != 1 {
- errs = packer.MultiErrorAppend(errs, &retrieveErr{"IP address", config.PublicIPAddress, ipAddrs})
- }
- if err == nil && ipAddrs.Count == 1 {
- config.PublicIPAddress = ipAddrs.PublicIpAddresses[0].Id
+ ipAddrs, err := client.Address.ListPublicIpAddresses(p)
+ if err != nil {
+ errs = packer.MultiErrorAppend(errs, &retrieveErr{"IP address", config.PublicIPAddress, err})
+ }
+ if err == nil && ipAddrs.Count != 1 {
+ errs = packer.MultiErrorAppend(errs, &retrieveErr{"IP address", config.PublicIPAddress, ipAddrs})
+ }
+ if err == nil && ipAddrs.Count == 1 {
+ config.PublicIPAddress = ipAddrs.PublicIpAddresses[0].Id
+ }
}
}
@@ -92,6 +91,18 @@ func (s *stepPrepareConfig) Run(state multistep.StateBag) multistep.StepAction {
}
}
+ // Then try to get the SG's UUID's.
+ if len(config.SecurityGroups) > 0 {
+ for i := range config.SecurityGroups {
+ if !isUUID(config.SecurityGroups[i]) {
+ config.SecurityGroups[i], _, err = client.SecurityGroup.GetSecurityGroupID(config.SecurityGroups[i], cloudstack.WithProject(config.Project))
+ if err != nil {
+ errs = packer.MultiErrorAppend(errs, &retrieveErr{"network", config.SecurityGroups[i], err})
+ }
+ }
+ }
+ }
+
if !isUUID(config.ServiceOffering) {
config.ServiceOffering, _, err = client.ServiceOffering.GetServiceOfferingID(config.ServiceOffering)
if err != nil {
@@ -101,23 +112,25 @@ func (s *stepPrepareConfig) Run(state multistep.StateBag) multistep.StepAction {
if config.SourceISO != "" {
if isUUID(config.SourceISO) {
- config.instanceSource = config.SourceISO
+ state.Put("source", config.SourceISO)
} else {
- config.instanceSource, _, err = client.ISO.GetIsoID(config.SourceISO, "executable", config.Zone)
+ isoID, _, err := client.ISO.GetIsoID(config.SourceISO, "executable", config.Zone)
if err != nil {
errs = packer.MultiErrorAppend(errs, &retrieveErr{"ISO", config.SourceISO, err})
}
+ state.Put("source", isoID)
}
}
if config.SourceTemplate != "" {
if isUUID(config.SourceTemplate) {
- config.instanceSource = config.SourceTemplate
+ state.Put("source", config.SourceTemplate)
} else {
- config.instanceSource, _, err = client.Template.GetTemplateID(config.SourceTemplate, "executable", config.Zone)
+ templateID, _, err := client.Template.GetTemplateID(config.SourceTemplate, "executable", config.Zone)
if err != nil {
errs = packer.MultiErrorAppend(errs, &retrieveErr{"template", config.SourceTemplate, err})
}
+ state.Put("source", templateID)
}
}
diff --git a/vendor/github.com/mitchellh/packer/builder/digitalocean/step_snapshot.go b/vendor/github.com/mitchellh/packer/builder/digitalocean/step_snapshot.go
index bd529813..eb91fdea 100644
--- a/vendor/github.com/mitchellh/packer/builder/digitalocean/step_snapshot.go
+++ b/vendor/github.com/mitchellh/packer/builder/digitalocean/step_snapshot.go
@@ -85,12 +85,12 @@ func (s *stepSnapshot) Run(state multistep.StateBag) multistep.StepAction {
}
imageTransfer, _, err := client.ImageActions.Transfer(context.TODO(), images[0].ID, transferRequest)
if err != nil {
- err := fmt.Errorf("Error transfering snapshot: %s", err)
+ err := fmt.Errorf("Error transferring snapshot: %s", err)
state.Put("error", err)
ui.Error(err.Error())
return multistep.ActionHalt
}
- ui.Say(fmt.Sprintf("Transfering Snapshot ID: %d", imageTransfer.ID))
+ ui.Say(fmt.Sprintf("transferring Snapshot ID: %d", imageTransfer.ID))
if err := waitForImageState(godo.ActionCompleted, imageTransfer.ID, action.ID,
client, 20*time.Minute); err != nil {
// If we get an error the first time, actually report it
diff --git a/vendor/github.com/mitchellh/packer/builder/docker/communicator.go b/vendor/github.com/mitchellh/packer/builder/docker/communicator.go
index d33f79e9..8a1546ba 100644
--- a/vendor/github.com/mitchellh/packer/builder/docker/communicator.go
+++ b/vendor/github.com/mitchellh/packer/builder/docker/communicator.go
@@ -18,7 +18,7 @@ import (
)
type Communicator struct {
- ContainerId string
+ ContainerID string
HostDir string
ContainerDir string
Version *version.Version
@@ -29,9 +29,9 @@ type Communicator struct {
func (c *Communicator) Start(remote *packer.RemoteCmd) error {
var cmd *exec.Cmd
if c.Config.Pty {
- cmd = exec.Command("docker", "exec", "-i", "-t", c.ContainerId, "/bin/sh", "-c", fmt.Sprintf("(%s)", remote.Command))
+ cmd = exec.Command("docker", "exec", "-i", "-t", c.ContainerID, "/bin/sh", "-c", fmt.Sprintf("(%s)", remote.Command))
} else {
- cmd = exec.Command("docker", "exec", "-i", c.ContainerId, "/bin/sh", "-c", fmt.Sprintf("(%s)", remote.Command))
+ cmd = exec.Command("docker", "exec", "-i", c.ContainerID, "/bin/sh", "-c", fmt.Sprintf("(%s)", remote.Command))
}
var (
@@ -60,130 +60,138 @@ func (c *Communicator) Start(remote *packer.RemoteCmd) error {
return nil
}
+// Upload uploads a file to the docker container
func (c *Communicator) Upload(dst string, src io.Reader, fi *os.FileInfo) error {
+ if fi == nil {
+ return c.uploadReader(dst, src)
+ }
+ return c.uploadFile(dst, src, fi)
+}
+
+// uploadReader writes an io.Reader to a temporary file before uploading
+func (c *Communicator) uploadReader(dst string, src io.Reader) error {
// Create a temporary file to store the upload
tempfile, err := ioutil.TempFile(c.HostDir, "upload")
if err != nil {
- return err
+ return fmt.Errorf("Failed to open temp file for writing: %s", err)
}
defer os.Remove(tempfile.Name())
+ defer tempfile.Close()
- // Copy the contents to the temporary file
- _, err = io.Copy(tempfile, src)
+ if _, err := io.Copy(tempfile, src); err != nil {
+ return fmt.Errorf("Failed to copy upload file to tempfile: %s", err)
+ }
+ tempfile.Seek(0, 0)
+ fi, err := tempfile.Stat()
if err != nil {
- return err
+ return fmt.Errorf("Error getting tempfile info: %s", err)
}
+ return c.uploadFile(dst, tempfile, &fi)
+}
- if fi != nil {
- tempfile.Chmod((*fi).Mode())
+// uploadFile uses docker cp to copy the file from the host to the container
+func (c *Communicator) uploadFile(dst string, src io.Reader, fi *os.FileInfo) error {
+
+ // command format: docker cp /path/to/infile containerid:/path/to/outfile
+ log.Printf("Copying to %s on container %s.", dst, c.ContainerID)
+
+ localCmd := exec.Command("docker", "cp", "-",
+ fmt.Sprintf("%s:%s", c.ContainerID, filepath.Dir(dst)))
+
+ stderrP, err := localCmd.StderrPipe()
+ if err != nil {
+ return fmt.Errorf("Failed to open pipe: %s", err)
}
- tempfile.Close()
- // Copy the file into place by copying the temporary file we put
- // into the shared folder into the proper location in the container
- cmd := &packer.RemoteCmd{
- Command: fmt.Sprintf("command cp %s/%s %s", c.ContainerDir,
- filepath.Base(tempfile.Name()), dst),
+ stdin, err := localCmd.StdinPipe()
+ if err != nil {
+ return fmt.Errorf("Failed to open pipe: %s", err)
}
- if err := c.Start(cmd); err != nil {
+ if err := localCmd.Start(); err != nil {
return err
}
- // Wait for the copy to complete
- cmd.Wait()
- if cmd.ExitStatus != 0 {
- return fmt.Errorf("Upload failed with non-zero exit status: %d", cmd.ExitStatus)
+ archive := tar.NewWriter(stdin)
+ header, err := tar.FileInfoHeader(*fi, "")
+ if err != nil {
+ return err
}
+ header.Name = filepath.Base(dst)
+ archive.WriteHeader(header)
+ numBytes, err := io.Copy(archive, src)
+ if err != nil {
+ return fmt.Errorf("Failed to pipe upload: %s", err)
+ }
+ log.Printf("Copied %d bytes for %s", numBytes, dst)
- return nil
-}
+ if err := archive.Close(); err != nil {
+ return fmt.Errorf("Failed to close archive: %s", err)
+ }
+ if err := stdin.Close(); err != nil {
+ return fmt.Errorf("Failed to close stdin: %s", err)
+ }
-func (c *Communicator) UploadDir(dst string, src string, exclude []string) error {
- // Create the temporary directory that will store the contents of "src"
- // for copying into the container.
- td, err := ioutil.TempDir(c.HostDir, "dirupload")
+ stderrOut, err := ioutil.ReadAll(stderrP)
if err != nil {
return err
}
- defer os.RemoveAll(td)
- walkFn := func(path string, info os.FileInfo, err error) error {
- if err != nil {
- return err
- }
-
- relpath, err := filepath.Rel(src, path)
- if err != nil {
- return err
- }
- hostpath := filepath.Join(td, relpath)
-
- // If it is a directory, just create it
- if info.IsDir() {
- return os.MkdirAll(hostpath, info.Mode())
- }
-
- if info.Mode()&os.ModeSymlink == os.ModeSymlink {
- dest, err := os.Readlink(path)
-
- if err != nil {
- return err
- }
-
- return os.Symlink(dest, hostpath)
- }
-
- // It is a file, copy it over, including mode.
- src, err := os.Open(path)
- if err != nil {
- return err
- }
- defer src.Close()
-
- dst, err := os.Create(hostpath)
- if err != nil {
- return err
- }
- defer dst.Close()
-
- if _, err := io.Copy(dst, src); err != nil {
- return err
- }
-
- si, err := src.Stat()
- if err != nil {
- return err
- }
-
- return dst.Chmod(si.Mode())
+ if err := localCmd.Wait(); err != nil {
+ return fmt.Errorf("Failed to upload to '%s' in container: %s. %s.", dst, stderrOut, err)
}
- // Copy the entire directory tree to the temporary directory
- if err := filepath.Walk(src, walkFn); err != nil {
- return err
- }
+ return nil
+}
- // Determine the destination directory
- containerSrc := filepath.Join(c.ContainerDir, filepath.Base(td))
- containerDst := dst
- if src[len(src)-1] != '/' {
- containerDst = filepath.Join(dst, filepath.Base(src))
+func (c *Communicator) UploadDir(dst string, src string, exclude []string) error {
+ /*
+ from https://docs.docker.com/engine/reference/commandline/cp/#extended-description
+ SRC_PATH specifies a directory
+ DEST_PATH does not exist
+ DEST_PATH is created as a directory and the contents of the source directory are copied into this directory
+ DEST_PATH exists and is a file
+ Error condition: cannot copy a directory to a file
+ DEST_PATH exists and is a directory
+ SRC_PATH does not end with /. (that is: slash followed by dot)
+ the source directory is copied into this directory
+ SRC_PATH does end with /. (that is: slash followed by dot)
+ the content of the source directory is copied into this directory
+
+ translating that in to our semantics:
+
+ if source ends in /
+ docker cp src. dest
+ otherwise, cp source dest
+
+ */
+
+ var dockerSource string
+
+ if src[len(src)-1] == '/' {
+ dockerSource = fmt.Sprintf("%s.", src)
+ } else {
+ dockerSource = fmt.Sprintf("%s", src)
}
// Make the directory, then copy into it
- cmd := &packer.RemoteCmd{
- Command: fmt.Sprintf("set -e; mkdir -p %s; cd %s; command cp -R `ls -A .` %s",
- containerDst, containerSrc, containerDst),
+ localCmd := exec.Command("docker", "cp", dockerSource, fmt.Sprintf("%s:%s", c.ContainerID, dst))
+
+ stderrP, err := localCmd.StderrPipe()
+ if err != nil {
+ return fmt.Errorf("Failed to open pipe: %s", err)
+ }
+ if err := localCmd.Start(); err != nil {
+ return fmt.Errorf("Failed to copy: %s", err)
}
- if err := c.Start(cmd); err != nil {
+ stderrOut, err := ioutil.ReadAll(stderrP)
+ if err != nil {
return err
}
// Wait for the copy to complete
- cmd.Wait()
- if cmd.ExitStatus != 0 {
- return fmt.Errorf("Upload failed with non-zero exit status: %d", cmd.ExitStatus)
+ if err := localCmd.Wait(); err != nil {
+ return fmt.Errorf("Failed to upload to '%s' in container: %s. %s.", dst, stderrOut, err)
}
return nil
@@ -193,8 +201,8 @@ func (c *Communicator) UploadDir(dst string, src string, exclude []string) error
// path and want to write to an io.Writer, not a file. We use - to make docker
// cp to write to stdout, and then copy the stream to our destination io.Writer.
func (c *Communicator) Download(src string, dst io.Writer) error {
- log.Printf("Downloading file from container: %s:%s", c.ContainerId, src)
- localCmd := exec.Command("docker", "cp", fmt.Sprintf("%s:%s", c.ContainerId, src), "-")
+ log.Printf("Downloading file from container: %s:%s", c.ContainerID, src)
+ localCmd := exec.Command("docker", "cp", fmt.Sprintf("%s:%s", c.ContainerID, src), "-")
pipe, err := localCmd.StdoutPipe()
if err != nil {
diff --git a/vendor/github.com/mitchellh/packer/builder/docker/config.go b/vendor/github.com/mitchellh/packer/builder/docker/config.go
index 7ba1f458..3f8f4d42 100644
--- a/vendor/github.com/mitchellh/packer/builder/docker/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/docker/config.go
@@ -23,18 +23,19 @@ type Config struct {
common.PackerConfig `mapstructure:",squash"`
Comm communicator.Config `mapstructure:",squash"`
- Commit bool
- Discard bool
- ExportPath string `mapstructure:"export_path"`
- Image string
- Pty bool
- Pull bool
- RunCommand []string `mapstructure:"run_command"`
- Volumes map[string]string
- Privileged bool `mapstructure:"privileged"`
- Author string
- Changes []string
- Message string
+ Commit bool
+ Discard bool
+ ExportPath string `mapstructure:"export_path"`
+ Image string
+ Pty bool
+ Pull bool
+ RunCommand []string `mapstructure:"run_command"`
+ Volumes map[string]string
+ Privileged bool `mapstructure:"privileged"`
+ Author string
+ Changes []string
+ Message string
+ ContainerDir string `mapstructure:"container_dir"`
// This is used to login to dockerhub to pull a private base container. For
// pushing to dockerhub, see the docker post-processors
@@ -112,6 +113,10 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
}
}
+ if c.ContainerDir == "" {
+ c.ContainerDir = "/packer-files"
+ }
+
if c.EcrLogin && c.LoginServer == "" {
errs = packer.MultiErrorAppend(errs, fmt.Errorf("ECR login requires login server to be provided."))
}
diff --git a/vendor/github.com/mitchellh/packer/builder/docker/step_connect_docker.go b/vendor/github.com/mitchellh/packer/builder/docker/step_connect_docker.go
index f84d369c..7a947d50 100644
--- a/vendor/github.com/mitchellh/packer/builder/docker/step_connect_docker.go
+++ b/vendor/github.com/mitchellh/packer/builder/docker/step_connect_docker.go
@@ -22,9 +22,9 @@ func (s *StepConnectDocker) Run(state multistep.StateBag) multistep.StepAction {
// Create the communicator that talks to Docker via various
// os/exec tricks.
comm := &Communicator{
- ContainerId: containerId,
+ ContainerID: containerId,
HostDir: tempDir,
- ContainerDir: "/packer-files",
+ ContainerDir: config.ContainerDir,
Version: version,
Config: config,
}
diff --git a/vendor/github.com/mitchellh/packer/builder/docker/step_run.go b/vendor/github.com/mitchellh/packer/builder/docker/step_run.go
index 92803f93..5a56d8d7 100644
--- a/vendor/github.com/mitchellh/packer/builder/docker/step_run.go
+++ b/vendor/github.com/mitchellh/packer/builder/docker/step_run.go
@@ -26,7 +26,7 @@ func (s *StepRun) Run(state multistep.StateBag) multistep.StepAction {
for host, container := range config.Volumes {
runConfig.Volumes[host] = container
}
- runConfig.Volumes[tempDir] = "/packer-files"
+ runConfig.Volumes[tempDir] = config.ContainerDir
ui.Say("Starting docker container...")
containerId, err := driver.StartContainer(&runConfig)
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/config.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/config.go
index 4250f182..c4aa79d2 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/config.go
@@ -26,6 +26,8 @@ type Config struct {
AccountFile string `mapstructure:"account_file"`
ProjectId string `mapstructure:"project_id"`
+ AcceleratorType string `mapstructure:"accelerator_type"`
+ AcceleratorCount int64 `mapstructure:"accelerator_count"`
Address string `mapstructure:"address"`
DiskName string `mapstructure:"disk_name"`
DiskSizeGb int64 `mapstructure:"disk_size"`
@@ -34,6 +36,7 @@ type Config struct {
ImageDescription string `mapstructure:"image_description"`
ImageFamily string `mapstructure:"image_family"`
InstanceName string `mapstructure:"instance_name"`
+ Labels map[string]string `mapstructure:"labels"`
MachineType string `mapstructure:"machine_type"`
Metadata map[string]string `mapstructure:"metadata"`
Network string `mapstructure:"network"`
@@ -205,6 +208,14 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
errs = packer.MultiErrorAppend(fmt.Errorf("'use_internal_ip' must be true if 'omit_external_ip' is true"))
}
+ if c.AcceleratorCount > 0 && len(c.AcceleratorType) == 0 {
+ errs = packer.MultiErrorAppend(fmt.Errorf("'accelerator_type' must be set when 'accelerator_count' is more than 0"))
+ }
+
+ if c.AcceleratorCount > 0 && c.OnHostMaintenance != "TERMINATE" {
+ errs = packer.MultiErrorAppend(fmt.Errorf("'on_host_maintenance' must be set to 'TERMINATE' when 'accelerator_count' is more than 0"))
+ }
+
// Check for any errors.
if errs != nil && len(errs.Errors) > 0 {
return nil, nil, errs
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/config_test.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/config_test.go
index e65da279..7255add3 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/config_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/config_test.go
@@ -1,6 +1,7 @@
package googlecompute
import (
+ "fmt"
"io/ioutil"
"strings"
"testing"
@@ -190,6 +191,65 @@ func TestConfigPrepare(t *testing.T) {
}
}
+func TestConfigPrepareAccelerator(t *testing.T) {
+ cases := []struct {
+ Keys []string
+ Values []interface{}
+ Err bool
+ }{
+ {
+ []string{"accelerator_count", "on_host_maintenance", "accelerator_type"},
+ []interface{}{1, "MIGRATE", "something_valid"},
+ true,
+ },
+ {
+ []string{"accelerator_count", "on_host_maintenance", "accelerator_type"},
+ []interface{}{1, "TERMINATE", "something_valid"},
+ false,
+ },
+ {
+ []string{"accelerator_count", "on_host_maintenance", "accelerator_type"},
+ []interface{}{1, "TERMINATE", nil},
+ true,
+ },
+ {
+ []string{"accelerator_count", "on_host_maintenance", "accelerator_type"},
+ []interface{}{1, "TERMINATE", ""},
+ true,
+ },
+ {
+ []string{"accelerator_count", "on_host_maintenance", "accelerator_type"},
+ []interface{}{1, "TERMINATE", "something_valid"},
+ false,
+ },
+ }
+
+ for _, tc := range cases {
+ raw := testConfig(t)
+
+ errStr := ""
+ for k := range tc.Keys {
+
+ // Create the string for error reporting
+ // convert value to string if it can be converted
+ errStr += fmt.Sprintf("%s:%v, ", tc.Keys[k], tc.Values[k])
+ if tc.Values[k] == nil {
+ delete(raw, tc.Keys[k])
+ } else {
+ raw[tc.Keys[k]] = tc.Values[k]
+ }
+ }
+
+ _, warns, errs := NewConfig(raw)
+
+ if tc.Err {
+ testConfigErr(t, warns, errs, strings.TrimRight(errStr, ", "))
+ } else {
+ testConfigOk(t, warns, errs)
+ }
+ }
+}
+
func TestConfigDefaults(t *testing.T) {
cases := []struct {
Read func(c *Config) interface{}
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/driver.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/driver.go
index b07c9d77..60707ac8 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/driver.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/driver.go
@@ -58,11 +58,14 @@ type Driver interface {
}
type InstanceConfig struct {
+ AcceleratorType string
+ AcceleratorCount int64
Address string
Description string
DiskSizeGb int64
DiskType string
Image *Image
+ Labels map[string]string
MachineType string
Metadata map[string]string
Name string
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/driver_gce.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/driver_gce.go
index fe3987a1..0df21eba 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/driver_gce.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/driver_gce.go
@@ -380,6 +380,15 @@ func (d *driverGCE) RunInstance(c *InstanceConfig) (<-chan error, error) {
})
}
+ var guestAccelerators []*compute.AcceleratorConfig
+ if c.AcceleratorCount > 0 {
+ ac := &compute.AcceleratorConfig{
+ AcceleratorCount: c.AcceleratorCount,
+ AcceleratorType: c.AcceleratorType,
+ }
+ guestAccelerators = append(guestAccelerators, ac)
+ }
+
// Create the instance information
instance := compute.Instance{
Description: c.Description,
@@ -397,7 +406,9 @@ func (d *driverGCE) RunInstance(c *InstanceConfig) (<-chan error, error) {
},
},
},
- MachineType: machineType.SelfLink,
+ GuestAccelerators: guestAccelerators,
+ Labels: c.Labels,
+ MachineType: machineType.SelfLink,
Metadata: &compute.Metadata{
Items: metadata,
},
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/startup.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/startup.go
index a94c9114..687afec9 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/startup.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/startup.go
@@ -21,7 +21,7 @@ GetMetadata () {
echo "$(curl -f -H "Metadata-Flavor: Google" ${BASEMETADATAURL}/${1} 2> /dev/null)"
}
-ZONE=$(GetMetadata zone | grep -oP "[^/]*$")
+ZONE=$(basename $(GetMetadata zone))
SetMetadata () {
gcloud compute instances add-metadata ${HOSTNAME} --metadata ${1}=${2} --zone ${ZONE}
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance.go
index adb08e7b..a4509354 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance.go
@@ -99,11 +99,14 @@ func (s *StepCreateInstance) Run(state multistep.StateBag) multistep.StepAction
var metadata map[string]string
metadata, err = c.createInstanceMetadata(sourceImage, sshPublicKey)
errCh, err = d.RunInstance(&InstanceConfig{
+ AcceleratorType: c.AcceleratorType,
+ AcceleratorCount: c.AcceleratorCount,
Address: c.Address,
Description: "New instance created by Packer",
DiskSizeGb: c.DiskSizeGb,
DiskType: c.DiskType,
Image: sourceImage,
+ Labels: c.Labels,
MachineType: c.MachineType,
Metadata: metadata,
Name: name,
diff --git a/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance_test.go b/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance_test.go
index 00e84296..a9a91d69 100644
--- a/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/googlecompute/step_create_instance_test.go
@@ -229,10 +229,6 @@ func TestStepCreateInstance_errorTimeout(t *testing.T) {
state.Put("ssh_public_key", "key")
errCh := make(chan error, 1)
- go func() {
- <-time.After(10 * time.Millisecond)
- errCh <- nil
- }()
config := state.Get("config").(*Config)
config.stateTimeout = 1 * time.Microsecond
diff --git a/vendor/github.com/mitchellh/packer/builder/hyperv/iso/builder.go b/vendor/github.com/mitchellh/packer/builder/hyperv/iso/builder.go
index e6c8d4d6..9b4065d8 100644
--- a/vendor/github.com/mitchellh/packer/builder/hyperv/iso/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/hyperv/iso/builder.go
@@ -92,7 +92,8 @@ type Config struct {
// Prepare processes the build configuration parameters.
func (b *Builder) Prepare(raws ...interface{}) ([]string, error) {
err := config.Decode(&b.config, &config.DecodeOpts{
- Interpolate: true,
+ Interpolate: true,
+ InterpolateContext: &b.config.ctx,
InterpolateFilter: &interpolate.RenderFilter{
Exclude: []string{
"boot_command",
@@ -404,17 +405,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
}
// Run the steps.
- if b.config.PackerDebug {
- pauseFn := common.MultistepDebugFn(ui)
- state.Put("pauseFn", pauseFn)
- b.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: pauseFn,
- }
- } else {
- b.runner = &multistep.BasicRunner{Steps: steps}
- }
-
+ b.runner = common.NewRunner(steps, b.config.PackerConfig, ui)
b.runner.Run(state)
// Report any errors.
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/artifact.go b/vendor/github.com/mitchellh/packer/builder/lxc/artifact.go
new file mode 100644
index 00000000..0a53f70e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/artifact.go
@@ -0,0 +1,35 @@
+package lxc
+
+import (
+ "fmt"
+ "os"
+)
+
+type Artifact struct {
+ dir string
+ f []string
+}
+
+func (*Artifact) BuilderId() string {
+ return BuilderId
+}
+
+func (a *Artifact) Files() []string {
+ return a.f
+}
+
+func (*Artifact) Id() string {
+ return "VM"
+}
+
+func (a *Artifact) String() string {
+ return fmt.Sprintf("VM files in directory: %s", a.dir)
+}
+
+func (a *Artifact) State(name string) interface{} {
+ return nil
+}
+
+func (a *Artifact) Destroy() error {
+ return os.RemoveAll(a.dir)
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/builder.go b/vendor/github.com/mitchellh/packer/builder/lxc/builder.go
new file mode 100644
index 00000000..31770b740
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/builder.go
@@ -0,0 +1,95 @@
+package lxc
+
+import (
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+ "github.com/mitchellh/multistep"
+ "log"
+ "os"
+ "path/filepath"
+)
+
+// The unique ID for this builder
+const BuilderId = "ustream.lxc"
+
+type wrappedCommandTemplate struct {
+ Command string
+}
+
+type Builder struct {
+ config *Config
+ runner multistep.Runner
+}
+
+func (b *Builder) Prepare(raws ...interface{}) ([]string, error) {
+ c, errs := NewConfig(raws...)
+ if errs != nil {
+ return nil, errs
+ }
+ b.config = c
+
+ return nil, nil
+}
+
+func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) {
+ wrappedCommand := func(command string) (string, error) {
+ b.config.ctx.Data = &wrappedCommandTemplate{Command: command}
+ return interpolate.Render(b.config.CommandWrapper, &b.config.ctx)
+ }
+
+ steps := []multistep.Step{
+ new(stepPrepareOutputDir),
+ new(stepLxcCreate),
+ &StepWaitInit{
+ WaitTimeout: b.config.InitTimeout,
+ },
+ new(StepProvision),
+ new(stepExport),
+ }
+
+ // Setup the state bag
+ state := new(multistep.BasicStateBag)
+ state.Put("config", b.config)
+ state.Put("cache", cache)
+ state.Put("hook", hook)
+ state.Put("ui", ui)
+ state.Put("wrappedCommand", CommandWrapper(wrappedCommand))
+
+ // Run
+ b.runner = common.NewRunnerWithPauseFn(steps, b.config.PackerConfig, ui, state)
+ b.runner.Run(state)
+
+ // If there was an error, return that
+ if rawErr, ok := state.GetOk("error"); ok {
+ return nil, rawErr.(error)
+ }
+
+ // Compile the artifact list
+ files := make([]string, 0, 5)
+ visit := func(path string, info os.FileInfo, err error) error {
+ if !info.IsDir() {
+ files = append(files, path)
+ }
+
+ return err
+ }
+
+ if err := filepath.Walk(b.config.OutputDir, visit); err != nil {
+ return nil, err
+ }
+
+ artifact := &Artifact{
+ dir: b.config.OutputDir,
+ f: files,
+ }
+
+ return artifact, nil
+}
+
+func (b *Builder) Cancel() {
+ if b.runner != nil {
+ log.Println("Cancelling the step runner...")
+ b.runner.Cancel()
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/builder_test.go b/vendor/github.com/mitchellh/packer/builder/lxc/builder_test.go
new file mode 100644
index 00000000..4eeb2759
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/builder_test.go
@@ -0,0 +1,56 @@
+package lxc
+
+import (
+ "os"
+ "testing"
+
+ "github.com/hashicorp/packer/packer"
+)
+
+func testConfig() map[string]interface{} {
+ return map[string]interface{}{
+ "config_file": "builder_test.go",
+ "template_name": "debian",
+ "template_environment_vars": "SUITE=jessie",
+ }
+}
+
+func TestBuilder_Foo(t *testing.T) {
+ if os.Getenv("PACKER_ACC") == "" {
+ t.Skip("This test is only run with PACKER_ACC=1")
+ }
+}
+
+func TestBuilderPrepare_ConfigFile(t *testing.T) {
+ var b Builder
+ // Good
+ config := testConfig()
+ warnings, err := b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err != nil {
+ t.Fatalf("should not have error: %s", err)
+ }
+
+ // Bad, missing config file
+ config = testConfig()
+ delete(config, "config_file")
+ b = Builder{}
+ warnings, err = b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err == nil {
+ t.Fatalf("should have error")
+ }
+
+}
+
+func TestBuilder_ImplementsBuilder(t *testing.T) {
+ var raw interface{}
+ raw = &Builder{}
+ if _, ok := raw.(packer.Builder); !ok {
+ t.Fatalf("Builder should be a builder")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/command.go b/vendor/github.com/mitchellh/packer/builder/lxc/command.go
new file mode 100644
index 00000000..af81cff8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/command.go
@@ -0,0 +1,15 @@
+package lxc
+
+import (
+ "os/exec"
+)
+
+// CommandWrapper is a type that given a command, will possibly modify that
+// command in-flight. This might return an error.
+type CommandWrapper func(string) (string, error)
+
+// ShellCommand takes a command string and returns an *exec.Cmd to execute
+// it within the context of a shell (/bin/sh).
+func ShellCommand(command string) *exec.Cmd {
+ return exec.Command("/bin/sh", "-c", command)
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/communicator.go b/vendor/github.com/mitchellh/packer/builder/lxc/communicator.go
new file mode 100644
index 00000000..8d976597
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/communicator.go
@@ -0,0 +1,151 @@
+package lxc
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "io"
+ "io/ioutil"
+ "log"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "strings"
+ "syscall"
+)
+
+type LxcAttachCommunicator struct {
+ RootFs string
+ ContainerName string
+ CmdWrapper CommandWrapper
+}
+
+func (c *LxcAttachCommunicator) Start(cmd *packer.RemoteCmd) error {
+ localCmd, err := c.Execute(cmd.Command)
+
+ if err != nil {
+ return err
+ }
+
+ localCmd.Stdin = cmd.Stdin
+ localCmd.Stdout = cmd.Stdout
+ localCmd.Stderr = cmd.Stderr
+ if err := localCmd.Start(); err != nil {
+ return err
+ }
+
+ go func() {
+ exitStatus := 0
+ if err := localCmd.Wait(); err != nil {
+ if exitErr, ok := err.(*exec.ExitError); ok {
+ exitStatus = 1
+
+ // There is no process-independent way to get the REAL
+ // exit status so we just try to go deeper.
+ if status, ok := exitErr.Sys().(syscall.WaitStatus); ok {
+ exitStatus = status.ExitStatus()
+ }
+ }
+ }
+
+ log.Printf(
+ "lxc-attach execution exited with '%d': '%s'",
+ exitStatus, cmd.Command)
+ cmd.SetExited(exitStatus)
+ }()
+
+ return nil
+}
+
+func (c *LxcAttachCommunicator) Upload(dst string, r io.Reader, fi *os.FileInfo) error {
+ dst = filepath.Join(c.RootFs, dst)
+ log.Printf("Uploading to rootfs: %s", dst)
+ tf, err := ioutil.TempFile("", "packer-lxc-attach")
+ if err != nil {
+ return fmt.Errorf("Error uploading file to rootfs: %s", err)
+ }
+ defer os.Remove(tf.Name())
+ io.Copy(tf, r)
+
+ cpCmd, err := c.CmdWrapper(fmt.Sprintf("sudo cp %s %s", tf.Name(), dst))
+ if err != nil {
+ return err
+ }
+
+ log.Printf("Running copy command: %s", dst)
+
+ return ShellCommand(cpCmd).Run()
+}
+
+func (c *LxcAttachCommunicator) UploadDir(dst string, src string, exclude []string) error {
+ // TODO: remove any file copied if it appears in `exclude`
+ dest := filepath.Join(c.RootFs, dst)
+ log.Printf("Uploading directory '%s' to rootfs '%s'", src, dest)
+ cpCmd, err := c.CmdWrapper(fmt.Sprintf("sudo cp -R %s/. %s", src, dest))
+ if err != nil {
+ return err
+ }
+
+ return ShellCommand(cpCmd).Run()
+}
+
+func (c *LxcAttachCommunicator) Download(src string, w io.Writer) error {
+ src = filepath.Join(c.RootFs, src)
+ log.Printf("Downloading from rootfs dir: %s", src)
+ f, err := os.Open(src)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+
+ if _, err := io.Copy(w, f); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (c *LxcAttachCommunicator) DownloadDir(src string, dst string, exclude []string) error {
+ return fmt.Errorf("DownloadDir is not implemented for lxc")
+}
+
+func (c *LxcAttachCommunicator) Execute(commandString string) (*exec.Cmd, error) {
+ log.Printf("Executing with lxc-attach in container: %s %s %s", c.ContainerName, c.RootFs, commandString)
+ command, err := c.CmdWrapper(
+ fmt.Sprintf("sudo lxc-attach --name %s -- /bin/sh -c \"%s\"", c.ContainerName, commandString))
+ if err != nil {
+ return nil, err
+ }
+
+ localCmd := ShellCommand(command)
+ log.Printf("Executing lxc-attach: %s %#v", localCmd.Path, localCmd.Args)
+
+ return localCmd, nil
+}
+
+func (c *LxcAttachCommunicator) CheckInit() (string, error) {
+ log.Printf("Debug runlevel exec")
+ localCmd, err := c.Execute("/sbin/runlevel")
+
+ if err != nil {
+ return "", err
+ }
+
+ pr, _ := localCmd.StdoutPipe()
+ if err = localCmd.Start(); err != nil {
+ return "", err
+ }
+
+ output, err := ioutil.ReadAll(pr)
+
+ if err != nil {
+ return "", err
+ }
+
+ err = localCmd.Wait()
+
+ if err != nil {
+ return "", err
+ }
+
+ return strings.TrimSpace(string(output)), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/communicator_test.go b/vendor/github.com/mitchellh/packer/builder/lxc/communicator_test.go
new file mode 100644
index 00000000..854ba668
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/communicator_test.go
@@ -0,0 +1,14 @@
+package lxc
+
+import (
+ "github.com/hashicorp/packer/packer"
+ "testing"
+)
+
+func TestCommunicator_ImplementsCommunicator(t *testing.T) {
+ var raw interface{}
+ raw = &LxcAttachCommunicator{}
+ if _, ok := raw.(packer.Communicator); !ok {
+ t.Fatalf("Communicator should be a communicator")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/config.go b/vendor/github.com/mitchellh/packer/builder/lxc/config.go
new file mode 100644
index 00000000..c3c28d4f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/config.go
@@ -0,0 +1,79 @@
+package lxc
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/helper/config"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+ "github.com/mitchellh/mapstructure"
+ "os"
+ "time"
+)
+
+type Config struct {
+ common.PackerConfig `mapstructure:",squash"`
+ ConfigFile string `mapstructure:"config_file"`
+ OutputDir string `mapstructure:"output_directory"`
+ ContainerName string `mapstructure:"container_name"`
+ CommandWrapper string `mapstructure:"command_wrapper"`
+ RawInitTimeout string `mapstructure:"init_timeout"`
+ Name string `mapstructure:"template_name"`
+ Parameters []string `mapstructure:"template_parameters"`
+ EnvVars []string `mapstructure:"template_environment_vars"`
+ TargetRunlevel int `mapstructure:"target_runlevel"`
+ InitTimeout time.Duration
+
+ ctx interpolate.Context
+}
+
+func NewConfig(raws ...interface{}) (*Config, error) {
+ var c Config
+
+ var md mapstructure.Metadata
+ err := config.Decode(&c, &config.DecodeOpts{
+ Metadata: &md,
+ Interpolate: true,
+ }, raws...)
+ if err != nil {
+ return nil, err
+ }
+
+ // Accumulate any errors
+ var errs *packer.MultiError
+
+ if c.OutputDir == "" {
+ c.OutputDir = fmt.Sprintf("output-%s", c.PackerBuildName)
+ }
+
+ if c.ContainerName == "" {
+ c.ContainerName = fmt.Sprintf("packer-%s", c.PackerBuildName)
+ }
+
+ if c.TargetRunlevel == 0 {
+ c.TargetRunlevel = 3
+ }
+
+ if c.CommandWrapper == "" {
+ c.CommandWrapper = "{{.Command}}"
+ }
+
+ if c.RawInitTimeout == "" {
+ c.RawInitTimeout = "20s"
+ }
+
+ c.InitTimeout, err = time.ParseDuration(c.RawInitTimeout)
+ if err != nil {
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("Failed parsing init_timeout: %s", err))
+ }
+
+ if _, err := os.Stat(c.ConfigFile); os.IsNotExist(err) {
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("LXC Config file appears to be missing: %s", c.ConfigFile))
+ }
+
+ if errs != nil && len(errs.Errors) > 0 {
+ return nil, errs
+ }
+
+ return &c, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/step_export.go b/vendor/github.com/mitchellh/packer/builder/lxc/step_export.go
new file mode 100644
index 00000000..59e4b79e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/step_export.go
@@ -0,0 +1,98 @@
+package lxc
+
+import (
+ "bytes"
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "io"
+ "log"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "strings"
+)
+
+type stepExport struct{}
+
+func (s *stepExport) Run(state multistep.StateBag) multistep.StepAction {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ name := config.ContainerName
+
+ containerDir := fmt.Sprintf("/var/lib/lxc/%s", name)
+ outputPath := filepath.Join(config.OutputDir, "rootfs.tar.gz")
+ configFilePath := filepath.Join(config.OutputDir, "lxc-config")
+
+ configFile, err := os.Create(configFilePath)
+
+ if err != nil {
+ err := fmt.Errorf("Error creating config file: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ originalConfigFile, err := os.Open(config.ConfigFile)
+
+ if err != nil {
+ err := fmt.Errorf("Error opening config file: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ _, err = io.Copy(configFile, originalConfigFile)
+
+ commands := make([][]string, 4)
+ commands[0] = []string{
+ "lxc-stop", "--name", name,
+ }
+ commands[1] = []string{
+ "tar", "-C", containerDir, "--numeric-owner", "--anchored", "--exclude=./rootfs/dev/log", "-czf", outputPath, "./rootfs",
+ }
+ commands[2] = []string{
+ "chmod", "+x", configFilePath,
+ }
+ commands[3] = []string{
+ "sh", "-c", "chown $USER:`id -gn` " + filepath.Join(config.OutputDir, "*"),
+ }
+
+ ui.Say("Exporting container...")
+ for _, command := range commands {
+ err := s.SudoCommand(command...)
+ if err != nil {
+ err := fmt.Errorf("Error exporting container: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *stepExport) Cleanup(state multistep.StateBag) {}
+
+func (s *stepExport) SudoCommand(args ...string) error {
+ var stdout, stderr bytes.Buffer
+
+ log.Printf("Executing sudo command: %#v", args)
+ cmd := exec.Command("sudo", args...)
+ cmd.Stdout = &stdout
+ cmd.Stderr = &stderr
+ err := cmd.Run()
+
+ stdoutString := strings.TrimSpace(stdout.String())
+ stderrString := strings.TrimSpace(stderr.String())
+
+ if _, ok := err.(*exec.ExitError); ok {
+ err = fmt.Errorf("Sudo command error: %s", stderrString)
+ }
+
+ log.Printf("stdout: %s", stdoutString)
+ log.Printf("stderr: %s", stderrString)
+
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/step_lxc_create.go b/vendor/github.com/mitchellh/packer/builder/lxc/step_lxc_create.go
new file mode 100644
index 00000000..a98926ff
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/step_lxc_create.go
@@ -0,0 +1,89 @@
+package lxc
+
+import (
+ "bytes"
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "log"
+ "os/exec"
+ "path/filepath"
+ "strings"
+)
+
+type stepLxcCreate struct{}
+
+func (s *stepLxcCreate) Run(state multistep.StateBag) multistep.StepAction {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ name := config.ContainerName
+
+ // TODO: read from env
+ lxc_dir := "/var/lib/lxc"
+ rootfs := filepath.Join(lxc_dir, name, "rootfs")
+
+ if config.PackerForce {
+ s.Cleanup(state)
+ }
+
+ commands := make([][]string, 3)
+ commands[0] = append(config.EnvVars, []string{"lxc-create", "-n", name, "-t", config.Name, "--"}...)
+ commands[0] = append(commands[0], config.Parameters...)
+ // prevent tmp from being cleaned on boot, we put provisioning scripts there
+ // todo: wait for init to finish before moving on to provisioning instead of this
+ commands[1] = []string{"touch", filepath.Join(rootfs, "tmp", ".tmpfs")}
+ commands[2] = []string{"lxc-start", "-d", "--name", name}
+
+ ui.Say("Creating container...")
+ for _, command := range commands {
+ log.Printf("Executing sudo command: %#v", command)
+ err := s.SudoCommand(command...)
+ if err != nil {
+ err := fmt.Errorf("Error creating container: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ }
+
+ state.Put("mount_path", rootfs)
+
+ return multistep.ActionContinue
+}
+
+func (s *stepLxcCreate) Cleanup(state multistep.StateBag) {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ command := []string{
+ "lxc-destroy", "-f", "-n", config.ContainerName,
+ }
+
+ ui.Say("Unregistering and deleting virtual machine...")
+ if err := s.SudoCommand(command...); err != nil {
+ ui.Error(fmt.Sprintf("Error deleting virtual machine: %s", err))
+ }
+}
+
+func (s *stepLxcCreate) SudoCommand(args ...string) error {
+ var stdout, stderr bytes.Buffer
+
+ log.Printf("Executing sudo command: %#v", args)
+ cmd := exec.Command("sudo", args...)
+ cmd.Stdout = &stdout
+ cmd.Stderr = &stderr
+ err := cmd.Run()
+
+ stdoutString := strings.TrimSpace(stdout.String())
+ stderrString := strings.TrimSpace(stderr.String())
+
+ if _, ok := err.(*exec.ExitError); ok {
+ err = fmt.Errorf("Sudo command error: %s", stderrString)
+ }
+
+ log.Printf("stdout: %s", stdoutString)
+ log.Printf("stderr: %s", stderrString)
+
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/step_prepare_output_dir.go b/vendor/github.com/mitchellh/packer/builder/lxc/step_prepare_output_dir.go
new file mode 100644
index 00000000..07c6f08b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/step_prepare_output_dir.go
@@ -0,0 +1,49 @@
+package lxc
+
+import (
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "log"
+ "os"
+ "time"
+)
+
+type stepPrepareOutputDir struct{}
+
+func (stepPrepareOutputDir) Run(state multistep.StateBag) multistep.StepAction {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ if _, err := os.Stat(config.OutputDir); err == nil && config.PackerForce {
+ ui.Say("Deleting previous output directory...")
+ os.RemoveAll(config.OutputDir)
+ }
+
+ if err := os.MkdirAll(config.OutputDir, 0755); err != nil {
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+func (stepPrepareOutputDir) Cleanup(state multistep.StateBag) {
+ _, cancelled := state.GetOk(multistep.StateCancelled)
+ _, halted := state.GetOk(multistep.StateHalted)
+
+ if cancelled || halted {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ ui.Say("Deleting output directory...")
+ for i := 0; i < 5; i++ {
+ err := os.RemoveAll(config.OutputDir)
+ if err == nil {
+ break
+ }
+
+ log.Printf("Error removing output dir: %s", err)
+ time.Sleep(2 * time.Second)
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/step_provision.go b/vendor/github.com/mitchellh/packer/builder/lxc/step_provision.go
new file mode 100644
index 00000000..f91eb56c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/step_provision.go
@@ -0,0 +1,36 @@
+package lxc
+
+import (
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "log"
+)
+
+// StepProvision provisions the instance within a chroot.
+type StepProvision struct{}
+
+func (s *StepProvision) Run(state multistep.StateBag) multistep.StepAction {
+ hook := state.Get("hook").(packer.Hook)
+ config := state.Get("config").(*Config)
+ mountPath := state.Get("mount_path").(string)
+ ui := state.Get("ui").(packer.Ui)
+ wrappedCommand := state.Get("wrappedCommand").(CommandWrapper)
+
+ // Create our communicator
+ comm := &LxcAttachCommunicator{
+ ContainerName: config.ContainerName,
+ RootFs: mountPath,
+ CmdWrapper: wrappedCommand,
+ }
+
+ // Provision
+ log.Println("Running the provision hook")
+ if err := hook.Run(packer.HookProvision, ui, comm, nil); err != nil {
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *StepProvision) Cleanup(state multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxc/step_wait_init.go b/vendor/github.com/mitchellh/packer/builder/lxc/step_wait_init.go
new file mode 100644
index 00000000..e5d37531
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxc/step_wait_init.go
@@ -0,0 +1,102 @@
+package lxc
+
+import (
+ "errors"
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "log"
+ "strings"
+ "time"
+)
+
+type StepWaitInit struct {
+ WaitTimeout time.Duration
+}
+
+func (s *StepWaitInit) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+
+ var err error
+
+ cancel := make(chan struct{})
+ waitDone := make(chan bool, 1)
+ go func() {
+ ui.Say("Waiting for container to finish init...")
+ err = s.waitForInit(state, cancel)
+ waitDone <- true
+ }()
+
+ log.Printf("Waiting for container to finish init, up to timeout: %s", s.WaitTimeout)
+ timeout := time.After(s.WaitTimeout)
+WaitLoop:
+ for {
+ select {
+ case <-waitDone:
+ if err != nil {
+ ui.Error(fmt.Sprintf("Error waiting for container to finish init: %s", err))
+ return multistep.ActionHalt
+ }
+
+ ui.Say("Container finished init!")
+ break WaitLoop
+ case <-timeout:
+ err := fmt.Errorf("Timeout waiting for container to finish init.")
+ state.Put("error", err)
+ ui.Error(err.Error())
+ close(cancel)
+ return multistep.ActionHalt
+ case <-time.After(1 * time.Second):
+ if _, ok := state.GetOk(multistep.StateCancelled); ok {
+ close(cancel)
+ log.Println("Interrupt detected, quitting waiting for container to finish init.")
+ return multistep.ActionHalt
+ }
+ }
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *StepWaitInit) Cleanup(multistep.StateBag) {
+}
+
+func (s *StepWaitInit) waitForInit(state multistep.StateBag, cancel <-chan struct{}) error {
+ config := state.Get("config").(*Config)
+ mountPath := state.Get("mount_path").(string)
+ wrappedCommand := state.Get("wrappedCommand").(CommandWrapper)
+
+ for {
+ select {
+ case <-cancel:
+ log.Println("Cancelled. Exiting loop.")
+ return errors.New("Wait cancelled")
+ case <-time.After(1 * time.Second):
+ }
+
+ comm := &LxcAttachCommunicator{
+ ContainerName: config.ContainerName,
+ RootFs: mountPath,
+ CmdWrapper: wrappedCommand,
+ }
+
+ runlevel, _ := comm.CheckInit()
+ currentRunlevel := "unknown"
+ if arr := strings.Split(runlevel, " "); len(arr) >= 2 {
+ currentRunlevel = arr[1]
+ }
+
+ log.Printf("Current runlevel in container: '%s'", runlevel)
+
+ targetRunlevel := fmt.Sprintf("%d", config.TargetRunlevel)
+ if currentRunlevel == targetRunlevel {
+ log.Printf("Container finished init.")
+ break
+ } else if currentRunlevel > targetRunlevel {
+ log.Printf("Expected Runlevel %s, Got Runlevel %s, continuing", targetRunlevel, currentRunlevel)
+ break
+ }
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/artifact.go b/vendor/github.com/mitchellh/packer/builder/lxd/artifact.go
new file mode 100644
index 00000000..481f0758
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/artifact.go
@@ -0,0 +1,34 @@
+package lxd
+
+import (
+ "fmt"
+)
+
+type Artifact struct {
+ id string
+}
+
+func (*Artifact) BuilderId() string {
+ return BuilderId
+}
+
+func (a *Artifact) Files() []string {
+ return nil
+}
+
+func (a *Artifact) Id() string {
+ return a.id
+}
+
+func (a *Artifact) String() string {
+ return fmt.Sprintf("image: %s", a.id)
+}
+
+func (a *Artifact) State(name string) interface{} {
+ return nil
+}
+
+func (a *Artifact) Destroy() error {
+ _, err := LXDCommand("image", "delete", a.id)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/builder.go b/vendor/github.com/mitchellh/packer/builder/lxd/builder.go
new file mode 100644
index 00000000..d59cf5bc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/builder.go
@@ -0,0 +1,74 @@
+package lxd
+
+import (
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+ "github.com/mitchellh/multistep"
+ "log"
+)
+
+// The unique ID for this builder
+const BuilderId = "lxd"
+
+type wrappedCommandTemplate struct {
+ Command string
+}
+
+type Builder struct {
+ config *Config
+ runner multistep.Runner
+}
+
+func (b *Builder) Prepare(raws ...interface{}) ([]string, error) {
+ c, errs := NewConfig(raws...)
+ if errs != nil {
+ return nil, errs
+ }
+ b.config = c
+
+ return nil, nil
+}
+
+func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) {
+ wrappedCommand := func(command string) (string, error) {
+ b.config.ctx.Data = &wrappedCommandTemplate{Command: command}
+ return interpolate.Render(b.config.CommandWrapper, &b.config.ctx)
+ }
+
+ steps := []multistep.Step{
+ &stepLxdLaunch{},
+ &StepProvision{},
+ &stepPublish{},
+ }
+
+ // Setup the state bag
+ state := new(multistep.BasicStateBag)
+ state.Put("config", b.config)
+ state.Put("cache", cache)
+ state.Put("hook", hook)
+ state.Put("ui", ui)
+ state.Put("wrappedCommand", CommandWrapper(wrappedCommand))
+
+ // Run
+ b.runner = common.NewRunnerWithPauseFn(steps, b.config.PackerConfig, ui, state)
+ b.runner.Run(state)
+
+ // If there was an error, return that
+ if rawErr, ok := state.GetOk("error"); ok {
+ return nil, rawErr.(error)
+ }
+
+ artifact := &Artifact{
+ id: state.Get("imageFingerprint").(string),
+ }
+
+ return artifact, nil
+}
+
+func (b *Builder) Cancel() {
+ if b.runner != nil {
+ log.Println("Cancelling the step runner...")
+ b.runner.Cancel()
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/builder_test.go b/vendor/github.com/mitchellh/packer/builder/lxd/builder_test.go
new file mode 100644
index 00000000..b2ea70e5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/builder_test.go
@@ -0,0 +1,77 @@
+package lxd
+
+import (
+ "os"
+ "testing"
+
+ "github.com/hashicorp/packer/packer"
+)
+
+func testConfig() map[string]interface{} {
+ return map[string]interface{}{
+ "output_image": "foo",
+ "image": "bar",
+ }
+}
+
+func TestBuilder_Foo(t *testing.T) {
+ if os.Getenv("PACKER_ACC") == "" {
+ t.Skip("This test is only run with PACKER_ACC=1")
+ }
+}
+
+func TestBuilderPrepare_ConfigFile(t *testing.T) {
+ var b Builder
+ // Good
+ config := testConfig()
+ warnings, err := b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err != nil {
+ t.Fatalf("should not have error: %s", err)
+ }
+
+ // Good, remote image
+ config = testConfig()
+ config["image"] = "remote:bar"
+ warnings, err = b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err != nil {
+ t.Fatalf("should not have error: %s", err)
+ }
+
+ // Good, remote output image
+ config = testConfig()
+ config["output_image"] = "remote:foo"
+ warnings, err = b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err != nil {
+ t.Fatalf("should not have error: %s", err)
+ }
+
+ // Bad, missing image name
+ config = testConfig()
+ delete(config, "image")
+ b = Builder{}
+ warnings, err = b.Prepare(config)
+ if len(warnings) > 0 {
+ t.Fatalf("bad: %#v", warnings)
+ }
+ if err == nil {
+ t.Fatalf("should have error")
+ }
+
+}
+
+func TestBuilder_ImplementsBuilder(t *testing.T) {
+ var raw interface{}
+ raw = &Builder{}
+ if _, ok := raw.(packer.Builder); !ok {
+ t.Fatalf("Builder should be a builder")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/command.go b/vendor/github.com/mitchellh/packer/builder/lxd/command.go
new file mode 100644
index 00000000..c9a39279
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/command.go
@@ -0,0 +1,43 @@
+package lxd
+
+import (
+ "bytes"
+ "fmt"
+ "log"
+ "os/exec"
+ "strings"
+)
+
+// CommandWrapper is a type that given a command, will possibly modify that
+// command in-flight. This might return an error.
+type CommandWrapper func(string) (string, error)
+
+// ShellCommand takes a command string and returns an *exec.Cmd to execute
+// it within the context of a shell (/bin/sh).
+func ShellCommand(command string) *exec.Cmd {
+ return exec.Command("/bin/sh", "-c", command)
+}
+
+// Yeah...LXD calls `lxc` because the command line is different between the
+// packages. This should also avoid a naming collision between the LXC builder.
+func LXDCommand(args ...string) (string, error) {
+ var stdout, stderr bytes.Buffer
+
+ log.Printf("Executing lxc command: %#v", args)
+ cmd := exec.Command("lxc", args...)
+ cmd.Stdout = &stdout
+ cmd.Stderr = &stderr
+ err := cmd.Run()
+
+ stdoutString := strings.TrimSpace(stdout.String())
+ stderrString := strings.TrimSpace(stderr.String())
+
+ if _, ok := err.(*exec.ExitError); ok {
+ err = fmt.Errorf("LXD command error: %s", stderrString)
+ }
+
+ log.Printf("stdout: %s", stdoutString)
+ log.Printf("stderr: %s", stderrString)
+
+ return stdoutString, err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/communicator.go b/vendor/github.com/mitchellh/packer/builder/lxd/communicator.go
new file mode 100644
index 00000000..8eaa47a5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/communicator.go
@@ -0,0 +1,142 @@
+package lxd
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "io"
+ "log"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "syscall"
+)
+
+type Communicator struct {
+ ContainerName string
+ CmdWrapper CommandWrapper
+}
+
+func (c *Communicator) Start(cmd *packer.RemoteCmd) error {
+ localCmd, err := c.Execute(cmd.Command)
+
+ if err != nil {
+ return err
+ }
+
+ localCmd.Stdin = cmd.Stdin
+ localCmd.Stdout = cmd.Stdout
+ localCmd.Stderr = cmd.Stderr
+ if err := localCmd.Start(); err != nil {
+ return err
+ }
+
+ go func() {
+ exitStatus := 0
+ if err := localCmd.Wait(); err != nil {
+ if exitErr, ok := err.(*exec.ExitError); ok {
+ exitStatus = 1
+
+ // There is no process-independent way to get the REAL
+ // exit status so we just try to go deeper.
+ if status, ok := exitErr.Sys().(syscall.WaitStatus); ok {
+ exitStatus = status.ExitStatus()
+ }
+ }
+ }
+
+ log.Printf(
+ "lxc exec execution exited with '%d': '%s'",
+ exitStatus, cmd.Command)
+ cmd.SetExited(exitStatus)
+ }()
+
+ return nil
+}
+
+func (c *Communicator) Upload(dst string, r io.Reader, fi *os.FileInfo) error {
+ cpCmd, err := c.CmdWrapper(fmt.Sprintf("lxc file push - %s", filepath.Join(c.ContainerName, dst)))
+ if err != nil {
+ return err
+ }
+
+ log.Printf("Running copy command: %s", cpCmd)
+ command := ShellCommand(cpCmd)
+ command.Stdin = r
+
+ return command.Run()
+}
+
+func (c *Communicator) UploadDir(dst string, src string, exclude []string) error {
+ // NOTE:lxc file push doesn't yet support directory uploads.
+ // As a work around, we tar up the folder, upload it as a file, then extract it
+
+ // Don't use 'z' flag as compressing may take longer and the transfer is likely local.
+ // If this isn't the case, it is possible for the user to compress in another step then transfer.
+ // It wouldn't be possibe to disable compression, without exposing this option.
+ tar, err := c.CmdWrapper(fmt.Sprintf("tar -cf - -C %s .", src))
+ if err != nil {
+ return err
+ }
+
+ cp, err := c.CmdWrapper(fmt.Sprintf("lxc exec %s -- tar -xf - -C %s", c.ContainerName, dst))
+ if err != nil {
+ return err
+ }
+
+ tarCmd := ShellCommand(tar)
+ cpCmd := ShellCommand(cp)
+
+ cpCmd.Stdin, _ = tarCmd.StdoutPipe()
+ log.Printf("Starting tar command: %s", tar)
+ err = tarCmd.Start()
+ if err != nil {
+ return err
+ }
+
+ log.Printf("Running cp command: %s", cp)
+ err = cpCmd.Run()
+ if err != nil {
+ log.Printf("Error running cp command: %s", err)
+ return err
+ }
+
+ err = tarCmd.Wait()
+ if err != nil {
+ log.Printf("Error running tar command: %s", err)
+ return err
+ }
+
+ return nil
+}
+
+func (c *Communicator) Download(src string, w io.Writer) error {
+ cpCmd, err := c.CmdWrapper(fmt.Sprintf("lxc file pull %s -", filepath.Join(c.ContainerName, src)))
+ if err != nil {
+ return err
+ }
+
+ log.Printf("Running copy command: %s", cpCmd)
+ command := ShellCommand(cpCmd)
+ command.Stdout = w
+
+ return command.Run()
+}
+
+func (c *Communicator) DownloadDir(src string, dst string, exclude []string) error {
+ // TODO This could probably be "lxc exec <container> -- cd <src> && tar -czf - | tar -xzf - -C <dst>"
+ return fmt.Errorf("DownloadDir is not implemented for lxc")
+}
+
+func (c *Communicator) Execute(commandString string) (*exec.Cmd, error) {
+ log.Printf("Executing with lxc exec in container: %s %s", c.ContainerName, commandString)
+ command, err := c.CmdWrapper(
+ fmt.Sprintf("lxc exec %s -- /bin/sh -c \"%s\"", c.ContainerName, commandString))
+ if err != nil {
+ return nil, err
+ }
+
+ localCmd := ShellCommand(command)
+ log.Printf("Executing lxc exec: %s %#v", localCmd.Path, localCmd.Args)
+
+ return localCmd, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/communicator_test.go b/vendor/github.com/mitchellh/packer/builder/lxd/communicator_test.go
new file mode 100644
index 00000000..4a70160b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/communicator_test.go
@@ -0,0 +1,20 @@
+package lxd
+
+import (
+ "github.com/hashicorp/packer/packer"
+ "testing"
+)
+
+func TestCommunicator_ImplementsCommunicator(t *testing.T) {
+ var raw interface{}
+ raw = &Communicator{}
+ if _, ok := raw.(packer.Communicator); !ok {
+ t.Fatalf("Communicator should be a communicator")
+ }
+}
+
+// Acceptance tests
+// TODO Execute a command
+// TODO Upload a file
+// TODO Download a file
+// TODO Upload a Directory
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/config.go b/vendor/github.com/mitchellh/packer/builder/lxd/config.go
new file mode 100644
index 00000000..73de7212
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/config.go
@@ -0,0 +1,60 @@
+package lxd
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/helper/config"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+ "github.com/mitchellh/mapstructure"
+ "time"
+)
+
+type Config struct {
+ common.PackerConfig `mapstructure:",squash"`
+ OutputImage string `mapstructure:"output_image"`
+ ContainerName string `mapstructure:"container_name"`
+ CommandWrapper string `mapstructure:"command_wrapper"`
+ Image string `mapstructure:"image"`
+ InitTimeout time.Duration
+
+ ctx interpolate.Context
+}
+
+func NewConfig(raws ...interface{}) (*Config, error) {
+ var c Config
+
+ var md mapstructure.Metadata
+ err := config.Decode(&c, &config.DecodeOpts{
+ Metadata: &md,
+ Interpolate: true,
+ }, raws...)
+ if err != nil {
+ return nil, err
+ }
+
+ // Accumulate any errors
+ var errs *packer.MultiError
+
+ if c.ContainerName == "" {
+ c.ContainerName = fmt.Sprintf("packer-%s", c.PackerBuildName)
+ }
+
+ if c.OutputImage == "" {
+ c.OutputImage = c.ContainerName
+ }
+
+ if c.CommandWrapper == "" {
+ c.CommandWrapper = "{{.Command}}"
+ }
+
+ if c.Image == "" {
+ errs = packer.MultiErrorAppend(errs, fmt.Errorf("`image` is a required parameter for LXD. Please specify an image by alias or fingerprint. e.g. `ubuntu-daily:x`"))
+ }
+
+ if errs != nil && len(errs.Errors) > 0 {
+ return nil, errs
+ }
+
+ return &c, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/step_lxd_launch.go b/vendor/github.com/mitchellh/packer/builder/lxd/step_lxd_launch.go
new file mode 100644
index 00000000..1ec573b1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/step_lxd_launch.go
@@ -0,0 +1,50 @@
+package lxd
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "time"
+)
+
+type stepLxdLaunch struct{}
+
+func (s *stepLxdLaunch) Run(state multistep.StateBag) multistep.StepAction {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ name := config.ContainerName
+ image := config.Image
+
+ args := []string{
+ "launch", "--ephemeral=false", image, name,
+ }
+
+ ui.Say("Creating container...")
+ _, err := LXDCommand(args...)
+ if err != nil {
+ err := fmt.Errorf("Error creating container: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+ // TODO: Should we check `lxc info <container>` for "Running"?
+ // We have to do this so /tmp doens't get cleared and lose our provisioner scripts.
+ time.Sleep(1 * time.Second)
+
+ return multistep.ActionContinue
+}
+
+func (s *stepLxdLaunch) Cleanup(state multistep.StateBag) {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ args := []string{
+ "delete", "--force", config.ContainerName,
+ }
+
+ ui.Say("Unregistering and deleting deleting container...")
+ if _, err := LXDCommand(args...); err != nil {
+ ui.Error(fmt.Sprintf("Error deleting container: %s", err))
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/step_provision.go b/vendor/github.com/mitchellh/packer/builder/lxd/step_provision.go
new file mode 100644
index 00000000..c46b900e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/step_provision.go
@@ -0,0 +1,34 @@
+package lxd
+
+import (
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "log"
+)
+
+// StepProvision provisions the container
+type StepProvision struct{}
+
+func (s *StepProvision) Run(state multistep.StateBag) multistep.StepAction {
+ hook := state.Get("hook").(packer.Hook)
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+ wrappedCommand := state.Get("wrappedCommand").(CommandWrapper)
+
+ // Create our communicator
+ comm := &Communicator{
+ ContainerName: config.ContainerName,
+ CmdWrapper: wrappedCommand,
+ }
+
+ // Provision
+ log.Println("Running the provision hook")
+ if err := hook.Run(packer.HookProvision, ui, comm, nil); err != nil {
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *StepProvision) Cleanup(state multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/builder/lxd/step_publish.go b/vendor/github.com/mitchellh/packer/builder/lxd/step_publish.go
new file mode 100644
index 00000000..0c0aabd3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/lxd/step_publish.go
@@ -0,0 +1,54 @@
+package lxd
+
+import (
+ "fmt"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "regexp"
+)
+
+type stepPublish struct{}
+
+func (s *stepPublish) Run(state multistep.StateBag) multistep.StepAction {
+ config := state.Get("config").(*Config)
+ ui := state.Get("ui").(packer.Ui)
+
+ name := config.ContainerName
+ stop_args := []string{
+ // We created the container with "--ephemeral=false" so we know it is safe to stop.
+ "stop", name,
+ }
+
+ ui.Say("Stopping container...")
+ _, err := LXDCommand(stop_args...)
+ if err != nil {
+ err := fmt.Errorf("Error stopping container: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ publish_args := []string{
+ "publish", name, "--alias", config.OutputImage,
+ }
+
+ ui.Say("Publishing container...")
+ stdoutString, err := LXDCommand(publish_args...)
+ if err != nil {
+ err := fmt.Errorf("Error publishing container: %s", err)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ r := regexp.MustCompile("([0-9a-fA-F]+)$")
+ fingerprint := r.FindAllStringSubmatch(stdoutString, -1)[0][0]
+
+ ui.Say(fmt.Sprintf("Created image: %s", fingerprint))
+
+ state.Put("imageFingerprint", fingerprint)
+
+ return multistep.ActionContinue
+}
+
+func (s *stepPublish) Cleanup(state multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/builder/oneandone/builder.go b/vendor/github.com/mitchellh/packer/builder/oneandone/builder.go
index f4f8e1dc..ad470c15 100644
--- a/vendor/github.com/mitchellh/packer/builder/oneandone/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/oneandone/builder.go
@@ -50,15 +50,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
new(stepTakeSnapshot),
}
- if b.config.PackerDebug {
- b.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: common.MultistepDebugFn(ui),
- }
- } else {
- b.runner = &multistep.BasicRunner{Steps: steps}
- }
-
+ b.runner = common.NewRunner(steps, b.config.PackerConfig, ui)
b.runner.Run(state)
if rawErr, ok := state.GetOk("error"); ok {
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/LICENSE b/vendor/github.com/mitchellh/packer/builder/oracle/oci/LICENSE
new file mode 100644
index 00000000..0ddc33c2
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/LICENSE
@@ -0,0 +1,375 @@
+Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
+
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact.go
new file mode 100644
index 00000000..6684468f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact.go
@@ -0,0 +1,45 @@
+package oci
+
+import (
+ "fmt"
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+// Artifact is an artifact implementation that contains a built Custom Image.
+type Artifact struct {
+ Image client.Image
+ Region string
+ driver Driver
+}
+
+// BuilderId uniquely identifies the builder.
+func (a *Artifact) BuilderId() string {
+ return BuilderId
+}
+
+// Files lists the files associated with an artifact. We don't have any files
+// as the custom image is stored server side.
+func (a *Artifact) Files() []string {
+ return nil
+}
+
+// Id returns the OCID of the associated Image.
+func (a *Artifact) Id() string {
+ return a.Image.ID
+}
+
+func (a *Artifact) String() string {
+ return fmt.Sprintf(
+ "An image was created: '%v' (OCID: %v) in region '%v'",
+ a.Image.DisplayName, a.Image.ID, a.Region,
+ )
+}
+
+func (a *Artifact) State(name string) interface{} {
+ return nil
+}
+
+// Destroy deletes the custom image associated with the artifact.
+func (a *Artifact) Destroy() error {
+ return a.driver.DeleteImage(a.Image.ID)
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact_test.go
new file mode 100644
index 00000000..5cfbc1cb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/artifact_test.go
@@ -0,0 +1,15 @@
+package oci
+
+import (
+ "testing"
+
+ "github.com/hashicorp/packer/packer"
+)
+
+func TestArtifactImpl(t *testing.T) {
+ var raw interface{}
+ raw = &Artifact{}
+ if _, ok := raw.(packer.Artifact); !ok {
+ t.Fatalf("Artifact should be artifact")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder.go
new file mode 100644
index 00000000..5eedaa0b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder.go
@@ -0,0 +1,96 @@
+// Package oci contains a packer.Builder implementation that builds Oracle
+// Bare Metal Cloud Services (OCI) images.
+package oci
+
+import (
+ "fmt"
+ "log"
+
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/helper/communicator"
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+)
+
+// BuilderId uniquely identifies the builder
+const BuilderId = "packer.oracle.oci"
+
+// OCI API version
+const ociAPIVersion = "20160918"
+
+// Builder is a builder implementation that creates Oracle OCI custom images.
+type Builder struct {
+ config *Config
+ runner multistep.Runner
+}
+
+func (b *Builder) Prepare(rawConfig ...interface{}) ([]string, error) {
+ config, err := NewConfig(rawConfig...)
+ if err != nil {
+ return nil, err
+ }
+ b.config = config
+
+ return nil, nil
+}
+
+func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) {
+ driver, err := NewDriverOCI(b.config)
+ if err != nil {
+ return nil, err
+ }
+
+ // Populate the state bag
+ state := new(multistep.BasicStateBag)
+ state.Put("config", b.config)
+ state.Put("driver", driver)
+ state.Put("hook", hook)
+ state.Put("ui", ui)
+
+ // Build the steps
+ steps := []multistep.Step{
+ &stepKeyPair{
+ Debug: b.config.PackerDebug,
+ DebugKeyPath: fmt.Sprintf("oci_%s.pem", b.config.PackerBuildName),
+ PrivateKeyFile: b.config.Comm.SSHPrivateKey,
+ },
+ &stepCreateInstance{},
+ &stepInstanceInfo{},
+ &communicator.StepConnect{
+ Config: &b.config.Comm,
+ Host: commHost,
+ SSHConfig: SSHConfig(
+ b.config.Comm.SSHUsername,
+ b.config.Comm.SSHPassword),
+ },
+ &common.StepProvision{},
+ &stepImage{},
+ }
+
+ // Run the steps
+ b.runner = common.NewRunnerWithPauseFn(steps, b.config.PackerConfig, ui, state)
+ b.runner.Run(state)
+
+ // If there was an error, return that
+ if rawErr, ok := state.GetOk("error"); ok {
+ return nil, rawErr.(error)
+ }
+
+ // Build the artifact and return it
+ artifact := &Artifact{
+ Image: state.Get("image").(client.Image),
+ Region: b.config.AccessCfg.Region,
+ driver: driver,
+ }
+
+ return artifact, nil
+}
+
+// Cancel terminates a running build.
+func (b *Builder) Cancel() {
+ if b.runner != nil {
+ log.Println("Cancelling the step runner...")
+ b.runner.Cancel()
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder_test.go
new file mode 100644
index 00000000..80500ef5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/builder_test.go
@@ -0,0 +1,15 @@
+package oci
+
+import (
+ "testing"
+
+ "github.com/hashicorp/packer/packer"
+)
+
+func TestBuilder_ImplementsBuilder(t *testing.T) {
+ var raw interface{}
+ raw = &Builder{}
+ if _, ok := raw.(packer.Builder); !ok {
+ t.Fatalf("Builder should be a builder")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/base_client.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/base_client.go
new file mode 100644
index 00000000..7270687e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/base_client.go
@@ -0,0 +1,215 @@
+package oci
+
+import (
+ "bytes"
+ "encoding/json"
+ "github.com/google/go-querystring/query"
+ "net/http"
+ "net/url"
+)
+
+const (
+ contentType = "Content-Type"
+ jsonContentType = "application/json"
+)
+
+// baseClient provides a basic (AND INTENTIONALLY INCOMPLETE) JSON REST client
+// that abstracts away some of the repetitive code required in the OCI Client.
+type baseClient struct {
+ httpClient *http.Client
+ method string
+ url string
+ queryStruct interface{}
+ header http.Header
+ body interface{}
+}
+
+// newBaseClient constructs a default baseClient.
+func newBaseClient() *baseClient {
+ return &baseClient{
+ httpClient: http.DefaultClient,
+ method: "GET",
+ header: make(http.Header),
+ }
+}
+
+// New creates a copy of an existing baseClient.
+func (c *baseClient) New() *baseClient {
+ // Copy headers
+ header := make(http.Header)
+ for k, v := range c.header {
+ header[k] = v
+ }
+
+ return &baseClient{
+ httpClient: c.httpClient,
+ method: c.method,
+ url: c.url,
+ header: header,
+ }
+}
+
+// Client sets the http Client used to perform requests.
+func (c *baseClient) Client(httpClient *http.Client) *baseClient {
+ if httpClient == nil {
+ c.httpClient = http.DefaultClient
+ } else {
+ c.httpClient = httpClient
+ }
+ return c
+}
+
+// Base sets the base client url.
+func (c *baseClient) Base(path string) *baseClient {
+ c.url = path
+ return c
+}
+
+// Path extends the client url.
+func (c *baseClient) Path(path string) *baseClient {
+ baseURL, baseErr := url.Parse(c.url)
+ pathURL, pathErr := url.Parse(path)
+ // Bail on parsing error leaving the client's url unmodified
+ if baseErr != nil || pathErr != nil {
+ return c
+ }
+
+ c.url = baseURL.ResolveReference(pathURL).String()
+ return c
+}
+
+// QueryStruct sets the struct from which the request querystring is built.
+func (c *baseClient) QueryStruct(params interface{}) *baseClient {
+ c.queryStruct = params
+ return c
+}
+
+// SetBody wraps a given struct for serialisation and sets the client body.
+func (c *baseClient) SetBody(params interface{}) *baseClient {
+ c.body = params
+ return c
+}
+
+// Header
+
+// AddHeader adds a HTTP header to the client. Existing keys will be extended.
+func (c *baseClient) AddHeader(key, value string) *baseClient {
+ c.header.Add(key, value)
+ return c
+}
+
+// SetHeader sets a HTTP header on the client. Existing keys will be
+// overwritten.
+func (c *baseClient) SetHeader(key, value string) *baseClient {
+ c.header.Add(key, value)
+ return c
+}
+
+// HTTP methods (subset)
+
+// Get sets the client's HTTP method to GET.
+func (c *baseClient) Get(path string) *baseClient {
+ c.method = "GET"
+ return c.Path(path)
+}
+
+// Post sets the client's HTTP method to POST.
+func (c *baseClient) Post(path string) *baseClient {
+ c.method = "POST"
+ return c.Path(path)
+}
+
+// Delete sets the client's HTTP method to DELETE.
+func (c *baseClient) Delete(path string) *baseClient {
+ c.method = "DELETE"
+ return c.Path(path)
+}
+
+// Do executes a HTTP request and returns the response encoded as either error
+// or success values.
+func (c *baseClient) Do(req *http.Request, successV, failureV interface{}) (*http.Response, error) {
+ resp, err := c.httpClient.Do(req)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+
+ if resp.StatusCode >= 200 && resp.StatusCode < 300 {
+ if successV != nil {
+ err = json.NewDecoder(resp.Body).Decode(successV)
+ }
+ } else {
+ if failureV != nil {
+ err = json.NewDecoder(resp.Body).Decode(failureV)
+ }
+ }
+
+ return resp, err
+}
+
+// Request builds a http.Request from the baseClient instance.
+func (c *baseClient) Request() (*http.Request, error) {
+ reqURL, err := url.Parse(c.url)
+ if err != nil {
+ return nil, err
+ }
+
+ if c.queryStruct != nil {
+ err = addQueryStruct(reqURL, c.queryStruct)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ body := &bytes.Buffer{}
+ if c.body != nil {
+ if err := json.NewEncoder(body).Encode(c.body); err != nil {
+ return nil, err
+ }
+ }
+
+ req, err := http.NewRequest(c.method, reqURL.String(), body)
+ if err != nil {
+ return nil, err
+ }
+
+ // Add headers to request
+ for k, vs := range c.header {
+ for _, v := range vs {
+ req.Header.Add(k, v)
+ }
+ }
+
+ return req, nil
+}
+
+// Recieve creates a http request from the client and executes it returning the
+// response.
+func (c *baseClient) Receive(successV, failureV interface{}) (*http.Response, error) {
+ req, err := c.Request()
+ if err != nil {
+ return nil, err
+ }
+ return c.Do(req, successV, failureV)
+}
+
+// addQueryStruct converts a struct to a querystring and merges any values
+// provided in the URL itself.
+func addQueryStruct(reqURL *url.URL, queryStruct interface{}) error {
+ urlValues, err := url.ParseQuery(reqURL.RawQuery)
+ if err != nil {
+ return err
+ }
+ queryValues, err := query.Values(queryStruct)
+ if err != nil {
+ return err
+ }
+
+ for k, vs := range queryValues {
+ for _, v := range vs {
+ urlValues.Add(k, v)
+ }
+ }
+ reqURL.RawQuery = urlValues.Encode()
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client.go
new file mode 100644
index 00000000..8e6c1762
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client.go
@@ -0,0 +1,31 @@
+package oci
+
+import (
+ "net/http"
+)
+
+const (
+ apiVersion = "20160918"
+ userAgent = "go-oci/" + apiVersion
+ baseURLPattern = "https://%s.%s.oraclecloud.com/%s/"
+)
+
+// Client is the main interface through which consumers interact with the OCI
+// API.
+type Client struct {
+ UserAgent string
+ Compute *ComputeClient
+ Config *Config
+}
+
+// NewClient creates a new Client for communicating with the OCI API.
+func NewClient(config *Config) (*Client, error) {
+ transport := NewTransport(http.DefaultTransport, config)
+ base := newBaseClient().Client(&http.Client{Transport: transport})
+
+ return &Client{
+ UserAgent: userAgent,
+ Compute: NewComputeClient(base.New().Base(config.getBaseURL("iaas"))),
+ Config: config,
+ }, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client_test.go
new file mode 100644
index 00000000..f2ebd8f8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/client_test.go
@@ -0,0 +1,49 @@
+package oci
+
+import (
+ "net/http"
+ "net/http/httptest"
+ "net/url"
+ "os"
+
+ "github.com/go-ini/ini"
+)
+
+var (
+ mux *http.ServeMux
+ client *Client
+ server *httptest.Server
+ keyFile *os.File
+)
+
+// setup sets up a test HTTP server along with a oci.Client that is
+// configured to talk to that test server. Tests should register handlers on
+// mux which provide mock responses for the API method being tested.
+func setup() {
+ mux = http.NewServeMux()
+ server = httptest.NewServer(mux)
+ parsedURL, _ := url.Parse(server.URL)
+
+ config := &Config{}
+ config.baseURL = parsedURL.String()
+
+ var cfg *ini.File
+ var err error
+ cfg, keyFile, err = BaseTestConfig()
+
+ config, err = loadConfigSection(cfg, "DEFAULT", config)
+ if err != nil {
+ panic(err)
+ }
+
+ client, err = NewClient(config)
+ if err != nil {
+ panic("Failed to instantiate test client")
+ }
+}
+
+// teardown closes the test HTTP server
+func teardown() {
+ server.Close()
+ os.Remove(keyFile.Name())
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/compute.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/compute.go
new file mode 100644
index 00000000..183a3794
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/compute.go
@@ -0,0 +1,21 @@
+package oci
+
+// ComputeClient is a client for the OCI Compute API.
+type ComputeClient struct {
+ BaseURL string
+ Instances *InstanceService
+ Images *ImageService
+ VNICAttachments *VNICAttachmentService
+ VNICs *VNICService
+}
+
+// NewComputeClient creates a new client for communicating with the OCI
+// Compute API.
+func NewComputeClient(s *baseClient) *ComputeClient {
+ return &ComputeClient{
+ Instances: NewInstanceService(s),
+ Images: NewImageService(s),
+ VNICAttachments: NewVNICAttachmentService(s),
+ VNICs: NewVNICService(s),
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config.go
new file mode 100644
index 00000000..580cd9f7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config.go
@@ -0,0 +1,240 @@
+package oci
+
+import (
+ "crypto/rand"
+ "crypto/rsa"
+ "crypto/x509"
+ "encoding/pem"
+ "errors"
+ "fmt"
+ "io/ioutil"
+ "os"
+
+ "github.com/go-ini/ini"
+ "github.com/mitchellh/go-homedir"
+)
+
+// Config API authentication and target configuration
+type Config struct {
+ // User OCID e.g. ocid1.user.oc1..aaaaaaaadcshyehbkvxl7arse3lv7z5oknexjgfhnhwidtugsxhlm4247
+ User string `ini:"user"`
+
+ // User's Tenancy OCID e.g. ocid1.tenancy.oc1..aaaaaaaagtgvshv6opxzjyzkupkt64ymd32n6kbomadanpcg43d
+ Tenancy string `ini:"tenancy"`
+
+ // Bare metal region identifier (e.g. us-phoenix-1)
+ Region string `ini:"region"`
+
+ // Hex key fingerprint (e.g. b5:a0:62:57:28:0d:fd:c9:59:16:eb:d4:51:9f:70:e4)
+ Fingerprint string `ini:"fingerprint"`
+
+ // Path to OCI config file (e.g. ~/.oci/config)
+ KeyFile string `ini:"key_file"`
+
+ // Passphrase used for the key, if it is encrypted.
+ PassPhrase string `ini:"pass_phrase"`
+
+ // Private key (loaded via LoadPrivateKey or ParsePrivateKey)
+ Key *rsa.PrivateKey
+
+ // Used to override base API URL.
+ baseURL string
+}
+
+// getBaseURL returns either the specified base URL or builds the appropriate
+// URL based on service, region, and API version.
+func (c *Config) getBaseURL(service string) string {
+ if c.baseURL != "" {
+ return c.baseURL
+ }
+ return fmt.Sprintf(baseURLPattern, service, c.Region, apiVersion)
+}
+
+// LoadConfigsFromFile loads all oracle oci configurations from a file
+// (generally ~/.oci/config).
+func LoadConfigsFromFile(path string) (map[string]*Config, error) {
+ if _, err := os.Stat(path); err != nil {
+ return nil, fmt.Errorf("Oracle OCI config file is missing: %s", path)
+ }
+
+ cfgFile, err := ini.Load(path)
+ if err != nil {
+ err := fmt.Errorf("Failed to parse config file %s: %s", path, err.Error())
+ return nil, err
+ }
+
+ configs := make(map[string]*Config)
+
+ // Load DEFAULT section to populate defaults for all other configs
+ config, err := loadConfigSection(cfgFile, "DEFAULT", nil)
+ if err != nil {
+ return nil, err
+ }
+ configs["DEFAULT"] = config
+
+ // Load other sections.
+ for _, sectionName := range cfgFile.SectionStrings() {
+ if sectionName == "DEFAULT" {
+ continue
+ }
+
+ // Map to Config struct with defaults from DEFAULT section.
+ config, err := loadConfigSection(cfgFile, sectionName, configs["DEFAULT"])
+ if err != nil {
+ return nil, err
+ }
+ configs[sectionName] = config
+ }
+
+ return configs, nil
+}
+
+// Loads an individual Config object from a ini.Section in the Oracle OCI config
+// file.
+func loadConfigSection(f *ini.File, sectionName string, config *Config) (*Config, error) {
+ if config == nil {
+ config = &Config{}
+ }
+
+ section, err := f.GetSection(sectionName)
+ if err != nil {
+ return nil, fmt.Errorf("Config file does not contain a %s section", sectionName)
+ }
+
+ if err := section.MapTo(config); err != nil {
+ return nil, err
+ }
+
+ config.Key, err = LoadPrivateKey(config)
+ if err != nil {
+ return nil, err
+ }
+
+ return config, err
+}
+
+// LoadPrivateKey loads private key from disk and parses it.
+func LoadPrivateKey(config *Config) (*rsa.PrivateKey, error) {
+ // Expand '~' to $HOME
+ path, err := homedir.Expand(config.KeyFile)
+ if err != nil {
+ return nil, err
+ }
+
+ // Read and parse API signing key
+ keyContent, err := ioutil.ReadFile(path)
+ if err != nil {
+ return nil, err
+ }
+ key, err := ParsePrivateKey(keyContent, []byte(config.PassPhrase))
+
+ return key, err
+}
+
+// ParsePrivateKey parses a PEM encoded array of bytes into an rsa.PrivateKey.
+// Attempts to decrypt the PEM encoded array of bytes with the given password
+// if the PEM encoded byte array is encrypted.
+func ParsePrivateKey(content, password []byte) (*rsa.PrivateKey, error) {
+ keyBlock, _ := pem.Decode(content)
+
+ if keyBlock == nil {
+ return nil, errors.New("could not decode PEM private key")
+ }
+
+ var der []byte
+ var err error
+ if x509.IsEncryptedPEMBlock(keyBlock) {
+ if len(password) < 1 {
+ return nil, errors.New("encrypted private key but no pass phrase provided")
+ }
+ der, err = x509.DecryptPEMBlock(keyBlock, password)
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ der = keyBlock.Bytes
+ }
+
+ if key, err := x509.ParsePKCS1PrivateKey(der); err == nil {
+ return key, nil
+ }
+
+ key, err := x509.ParsePKCS8PrivateKey(der)
+ if err == nil {
+ switch key := key.(type) {
+ case *rsa.PrivateKey:
+ return key, nil
+ default:
+ return nil, errors.New("Private key is not an RSA private key")
+ }
+ }
+ return nil, fmt.Errorf("Failed to parse private key :%s", err)
+}
+
+// BaseTestConfig creates the base (DEFAULT) config including a temporary key
+// file.
+// NOTE: Caller is responsible for removing temporary key file.
+func BaseTestConfig() (*ini.File, *os.File, error) {
+ keyFile, err := generateRSAKeyFile()
+ if err != nil {
+ return nil, keyFile, err
+ }
+ // Build ini
+ cfg := ini.Empty()
+ section, _ := cfg.NewSection("DEFAULT")
+ section.NewKey("region", "us-phoenix-1")
+ section.NewKey("tenancy", "ocid1.tenancy.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
+ section.NewKey("user", "ocid1.user.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
+ section.NewKey("fingerprint", "3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55")
+ section.NewKey("key_file", keyFile.Name())
+
+ return cfg, keyFile, nil
+}
+
+// WriteTestConfig writes a ini.File to a temporary file for use in unit tests.
+// NOTE: Caller is responsible for removing temporary file.
+func WriteTestConfig(cfg *ini.File) (*os.File, error) {
+ confFile, err := ioutil.TempFile("", "config_file")
+ if err != nil {
+ return nil, err
+ }
+
+ _, err = cfg.WriteTo(confFile)
+ if err != nil {
+ os.Remove(confFile.Name())
+ return nil, err
+ }
+
+ return confFile, nil
+}
+
+// generateRSAKeyFile generates an RSA key file for use in unit tests.
+// NOTE: The caller is responsible for deleting the temporary file.
+func generateRSAKeyFile() (*os.File, error) {
+ // Create temporary file for the key
+ f, err := ioutil.TempFile("", "key")
+ if err != nil {
+ return nil, err
+ }
+
+ // Generate key
+ priv, err := rsa.GenerateKey(rand.Reader, 2014)
+ if err != nil {
+ return nil, err
+ }
+
+ // ASN.1 DER encoded form
+ privDer := x509.MarshalPKCS1PrivateKey(priv)
+ privBlk := pem.Block{
+ Type: "RSA PRIVATE KEY",
+ Headers: nil,
+ Bytes: privDer,
+ }
+
+ // Write the key out
+ if _, err := f.Write(pem.EncodeToMemory(&privBlk)); err != nil {
+ return nil, err
+ }
+
+ return f, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config_test.go
new file mode 100644
index 00000000..08f0b806
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/config_test.go
@@ -0,0 +1,283 @@
+package oci
+
+import (
+ "crypto/rand"
+ "crypto/rsa"
+ "crypto/x509"
+ "encoding/asn1"
+ "encoding/pem"
+ "os"
+ "reflect"
+ "strings"
+ "testing"
+)
+
+func TestNewConfigMissingFile(t *testing.T) {
+ // WHEN
+ _, err := LoadConfigsFromFile("some/invalid/path")
+
+ // THEN
+
+ if err == nil {
+ t.Error("Expected missing file error")
+ }
+}
+
+func TestNewConfigDefaultOnly(t *testing.T) {
+ // GIVEN
+
+ // Get DEFAULT config
+ cfg, keyFile, err := BaseTestConfig()
+ defer os.Remove(keyFile.Name())
+
+ // Write test config to file
+ f, err := WriteTestConfig(cfg)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.Remove(f.Name()) // clean up
+
+ // WHEN
+
+ // Load configs
+ cfgs, err := LoadConfigsFromFile(f.Name())
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // THEN
+
+ if _, ok := cfgs["DEFAULT"]; !ok {
+ t.Fatal("Expected DEFAULT config to exist in map")
+ }
+}
+
+func TestNewConfigDefaultsPopulated(t *testing.T) {
+ // GIVEN
+
+ // Get DEFAULT config
+ cfg, keyFile, err := BaseTestConfig()
+ defer os.Remove(keyFile.Name())
+
+ admin := cfg.Section("ADMIN")
+ admin.NewKey("user", "ocid1.user.oc1..bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
+ admin.NewKey("fingerprint", "11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11")
+
+ // Write test config to file
+ f, err := WriteTestConfig(cfg)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.Remove(f.Name()) // clean up
+
+ // WHEN
+
+ cfgs, err := LoadConfigsFromFile(f.Name())
+ adminConfig, ok := cfgs["ADMIN"]
+
+ // THEN
+
+ if !ok {
+ t.Fatal("Expected ADMIN config to exist in map")
+ }
+
+ if adminConfig.Region != "us-phoenix-1" {
+ t.Errorf("Expected 'us-phoenix-1', got '%s'", adminConfig.Region)
+ }
+}
+
+func TestNewConfigDefaultsOverridden(t *testing.T) {
+ // GIVEN
+
+ // Get DEFAULT config
+ cfg, keyFile, err := BaseTestConfig()
+ defer os.Remove(keyFile.Name())
+
+ admin := cfg.Section("ADMIN")
+ admin.NewKey("user", "ocid1.user.oc1..bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
+ admin.NewKey("fingerprint", "11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11")
+
+ // Write test config to file
+ f, err := WriteTestConfig(cfg)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.Remove(f.Name()) // clean up
+
+ // WHEN
+
+ cfgs, err := LoadConfigsFromFile(f.Name())
+ adminConfig, ok := cfgs["ADMIN"]
+
+ // THEN
+
+ if !ok {
+ t.Fatal("Expected ADMIN config to exist in map")
+ }
+
+ if adminConfig.Fingerprint != "11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11" {
+ t.Errorf("Expected fingerprint '11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11', got '%s'",
+ adminConfig.Fingerprint)
+ }
+}
+
+func TestParseEncryptedPrivateKeyValidPassword(t *testing.T) {
+ // Generate private key
+ priv, err := rsa.GenerateKey(rand.Reader, 2014)
+ if err != nil {
+ t.Fatalf("Unexpected generating RSA key: %+v", err)
+ }
+ publicKey := priv.PublicKey
+
+ // ASN.1 DER encoded form
+ privDer := x509.MarshalPKCS1PrivateKey(priv)
+
+ blockType := "RSA PRIVATE KEY"
+ password := []byte("password")
+ cipherType := x509.PEMCipherAES256
+
+ // Encrypt priv with password
+ encryptedPEMBlock, err := x509.EncryptPEMBlock(
+ rand.Reader,
+ blockType,
+ privDer,
+ password,
+ cipherType)
+ if err != nil {
+ t.Fatalf("Unexpected error encryting PEM block: %+v", err)
+ }
+
+ // Parse private key
+ key, err := ParsePrivateKey(pem.EncodeToMemory(encryptedPEMBlock), password)
+ if err != nil {
+ t.Fatalf("unexpected error: %+v", err)
+ }
+
+ // Check we get the same key back
+ if !reflect.DeepEqual(publicKey, key.PublicKey) {
+ t.Errorf("expected public key of encrypted and decrypted key to match")
+ }
+}
+
+func TestParseEncryptedPrivateKeyPKCS8(t *testing.T) {
+ // Generate private key
+ priv, err := rsa.GenerateKey(rand.Reader, 2014)
+ if err != nil {
+ t.Fatalf("Unexpected generating RSA key: %+v", err)
+ }
+ publicKey := priv.PublicKey
+
+ // Implements x509.MarshalPKCS8PrivateKey which is not included in the
+ // standard library.
+ pkey := struct {
+ Version int
+ PrivateKeyAlgorithm []asn1.ObjectIdentifier
+ PrivateKey []byte
+ }{
+ Version: 0,
+ PrivateKeyAlgorithm: []asn1.ObjectIdentifier{{1, 2, 840, 113549, 1, 1, 1}},
+ PrivateKey: x509.MarshalPKCS1PrivateKey(priv),
+ }
+ privDer, err := asn1.Marshal(pkey)
+ if err != nil {
+ t.Fatalf("Unexpected marshaling RSA key: %+v", err)
+ }
+
+ blockType := "RSA PRIVATE KEY"
+ password := []byte("password")
+ cipherType := x509.PEMCipherAES256
+
+ // Encrypt priv with password
+ encryptedPEMBlock, err := x509.EncryptPEMBlock(
+ rand.Reader,
+ blockType,
+ privDer,
+ password,
+ cipherType)
+ if err != nil {
+ t.Fatalf("Unexpected error encryting PEM block: %+v", err)
+ }
+
+ // Parse private key
+ key, err := ParsePrivateKey(pem.EncodeToMemory(encryptedPEMBlock), password)
+ if err != nil {
+ t.Fatalf("unexpected error: %+v", err)
+ }
+
+ // Check we get the same key back
+ if !reflect.DeepEqual(publicKey, key.PublicKey) {
+ t.Errorf("expected public key of encrypted and decrypted key to match")
+ }
+}
+
+func TestParseEncryptedPrivateKeyInvalidPassword(t *testing.T) {
+ // Generate private key
+ priv, err := rsa.GenerateKey(rand.Reader, 2014)
+ if err != nil {
+ t.Fatalf("Unexpected generating RSA key: %+v", err)
+ }
+
+ // ASN.1 DER encoded form
+ privDer := x509.MarshalPKCS1PrivateKey(priv)
+
+ blockType := "RSA PRIVATE KEY"
+ password := []byte("password")
+ cipherType := x509.PEMCipherAES256
+
+ // Encrypt priv with password
+ encryptedPEMBlock, err := x509.EncryptPEMBlock(
+ rand.Reader,
+ blockType,
+ privDer,
+ password,
+ cipherType)
+ if err != nil {
+ t.Fatalf("Unexpected error encrypting PEM block: %+v", err)
+ }
+
+ // Parse private key (with wrong password)
+ _, err = ParsePrivateKey(pem.EncodeToMemory(encryptedPEMBlock), []byte("foo"))
+ if err == nil {
+ t.Fatalf("Expected error, got nil")
+ }
+
+ if !strings.Contains(err.Error(), "decryption password incorrect") {
+ t.Errorf("Expected error to contain 'decryption password incorrect', got %+v", err)
+ }
+}
+
+func TestParseEncryptedPrivateKeyInvalidNoPassword(t *testing.T) {
+ // Generate private key
+ priv, err := rsa.GenerateKey(rand.Reader, 2014)
+ if err != nil {
+ t.Fatalf("Unexpected generating RSA key: %+v", err)
+ }
+
+ // ASN.1 DER encoded form
+ privDer := x509.MarshalPKCS1PrivateKey(priv)
+
+ blockType := "RSA PRIVATE KEY"
+ password := []byte("password")
+ cipherType := x509.PEMCipherAES256
+
+ // Encrypt priv with password
+ encryptedPEMBlock, err := x509.EncryptPEMBlock(
+ rand.Reader,
+ blockType,
+ privDer,
+ password,
+ cipherType)
+ if err != nil {
+ t.Fatalf("Unexpected error encrypting PEM block: %+v", err)
+ }
+
+ // Parse private key (with wrong password)
+ _, err = ParsePrivateKey(pem.EncodeToMemory(encryptedPEMBlock), []byte{})
+ if err == nil {
+ t.Fatalf("Expected error, got nil")
+ }
+
+ if !strings.Contains(err.Error(), "no pass phrase provided") {
+ t.Errorf("Expected error to contain 'no pass phrase provided', got %+v", err)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/error.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/error.go
new file mode 100644
index 00000000..a97112f8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/error.go
@@ -0,0 +1,27 @@
+package oci
+
+import "fmt"
+
+// APIError encapsulates an error returned from the API
+type APIError struct {
+ Code string `json:"code"`
+ Message string `json:"message"`
+}
+
+func (e APIError) Error() string {
+ return fmt.Sprintf("OCI: [%s] '%s'", e.Code, e.Message)
+}
+
+// firstError is a helper function to work out which error to return from calls
+// to the API.
+func firstError(err error, apiError *APIError) error {
+ if err != nil {
+ return err
+ }
+
+ if apiError != nil && len(apiError.Code) > 0 {
+ return apiError
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image.go
new file mode 100644
index 00000000..802b4650
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image.go
@@ -0,0 +1,122 @@
+package oci
+
+import (
+ "time"
+)
+
+// ImageService enables communicating with the OCI compute API's instance
+// related endpoints.
+type ImageService struct {
+ client *baseClient
+}
+
+// NewImageService creates a new ImageService for communicating with the
+// OCI compute API's instance related endpoints.
+func NewImageService(s *baseClient) *ImageService {
+ return &ImageService{
+ client: s.New().Path("images/"),
+ }
+}
+
+// Image details a OCI boot disk image.
+type Image struct {
+ // The OCID of the image originally used to launch the instance.
+ BaseImageID string `json:"baseImageId,omitempty"`
+
+ // The OCID of the compartment containing the instance you want to use
+ // as the basis for the image.
+ CompartmentID string `json:"compartmentId"`
+
+ // Whether instances launched with this image can be used to create new
+ // images.
+ CreateImageAllowed bool `json:"createImageAllowed"`
+
+ // A user-friendly name for the image. It does not have to be unique,
+ // and it's changeable. You cannot use an Oracle-provided image name
+ // as a custom image name.
+ DisplayName string `json:"displayName,omitempty"`
+
+ // The OCID of the image.
+ ID string `json:"id"`
+
+ // Current state of the image. Allowed values are:
+ // - PROVISIONING
+ // - AVAILABLE
+ // - DISABLED
+ // - DELETED
+ LifecycleState string `json:"lifecycleState"`
+
+ // The image's operating system (e.g. Oracle Linux).
+ OperatingSystem string `json:"operatingSystem"`
+
+ // The image's operating system version (e.g. 7.2).
+ OperatingSystemVersion string `json:"operatingSystemVersion"`
+
+ // The date and time the image was created.
+ TimeCreated time.Time `json:"timeCreated"`
+}
+
+// GetImageParams are the paramaters available when communicating with the
+// GetImage API endpoint.
+type GetImageParams struct {
+ ID string `url:"imageId"`
+}
+
+// Get returns a single Image
+func (s *ImageService) Get(params *GetImageParams) (Image, error) {
+ image := Image{}
+ e := &APIError{}
+
+ _, err := s.client.New().Get(params.ID).Receive(&image, e)
+ err = firstError(err, e)
+
+ return image, err
+}
+
+// CreateImageParams are the parameters available when communicating with
+// the CreateImage API endpoint.
+type CreateImageParams struct {
+ CompartmentID string `json:"compartmentId"`
+ DisplayName string `json:"displayName,omitempty"`
+ InstanceID string `json:"instanceId"`
+}
+
+// Create creates a new custom image based on a running compute instance. It
+// does *not* wait for the imaging process to finish.
+func (s *ImageService) Create(params *CreateImageParams) (Image, error) {
+ image := Image{}
+ e := &APIError{}
+
+ _, err := s.client.New().Post("").SetBody(params).Receive(&image, &e)
+ err = firstError(err, e)
+
+ return image, err
+}
+
+// GetResourceState GETs the LifecycleState of the given image id.
+func (s *ImageService) GetResourceState(id string) (string, error) {
+ image, err := s.Get(&GetImageParams{ID: id})
+ if err != nil {
+ return "", err
+ }
+ return image.LifecycleState, nil
+
+}
+
+// DeleteImageParams are the parameters available when communicating with
+// the DeleteImage API endpoint.
+type DeleteImageParams struct {
+ ID string `url:"imageId"`
+}
+
+// Delete deletes an existing custom image.
+// NOTE: Deleting an image results in the API endpoint returning 404 on
+// subsequent calls. As such deletion can't be waited on with a Waiter.
+func (s *ImageService) Delete(params *DeleteImageParams) error {
+ e := &APIError{}
+
+ _, err := s.client.New().Delete(params.ID).SetBody(params).Receive(nil, e)
+ err = firstError(err, e)
+
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image_test.go
new file mode 100644
index 00000000..ef55cc55
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/image_test.go
@@ -0,0 +1,115 @@
+package oci
+
+import (
+ "fmt"
+ "net/http"
+ "reflect"
+ "testing"
+)
+
+func TestGetImage(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.image.oc1.phx.a"
+ path := fmt.Sprintf("/images/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprintf(w, `{"id":"%s"}`, id)
+ })
+
+ image, err := client.Compute.Images.Get(&GetImageParams{ID: id})
+ if err != nil {
+ t.Errorf("Client.Compute.Images.Get() returned error: %v", err)
+ }
+
+ want := Image{ID: id}
+
+ if !reflect.DeepEqual(image, want) {
+ t.Errorf("Client.Compute.Images.Get() returned %+v, want %+v", image, want)
+ }
+}
+
+func TestCreateImage(t *testing.T) {
+ setup()
+ defer teardown()
+
+ mux.HandleFunc("/images/", func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprint(w, `{"displayName": "go-oci test"}`)
+ })
+
+ params := &CreateImageParams{
+ CompartmentID: "ocid1.compartment.oc1..a",
+ DisplayName: "go-oci test image",
+ InstanceID: "ocid1.image.oc1.phx.a",
+ }
+
+ image, err := client.Compute.Images.Create(params)
+ if err != nil {
+ t.Errorf("Client.Compute.Images.Create() returned error: %v", err)
+ }
+
+ want := Image{DisplayName: "go-oci test"}
+
+ if !reflect.DeepEqual(image, want) {
+ t.Errorf("Client.Compute.Images.Create() returned %+v, want %+v", image, want)
+ }
+}
+
+func TestImageGetResourceState(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.image.oc1.phx.a"
+ path := fmt.Sprintf("/images/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprint(w, `{"LifecycleState": "AVAILABLE"}`)
+ })
+
+ state, err := client.Compute.Images.GetResourceState(id)
+ if err != nil {
+ t.Errorf("Client.Compute.Images.GetResourceState() returned error: %v", err)
+ }
+
+ want := "AVAILABLE"
+ if state != want {
+ t.Errorf("Client.Compute.Images.GetResourceState() returned %+v, want %+v", state, want)
+ }
+}
+
+func TestImageGetResourceStateInvalidID(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.image.oc1.phx.a"
+ path := fmt.Sprintf("/images/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusNotFound)
+ fmt.Fprint(w, `{"code": "NotAuthorizedOrNotFound"}`)
+ })
+
+ state, err := client.Compute.Images.GetResourceState(id)
+ if err == nil {
+ t.Errorf("Client.Compute.Images.GetResourceState() expected error, got %v", state)
+ }
+
+ want := &APIError{Code: "NotAuthorizedOrNotFound"}
+ if !reflect.DeepEqual(err, want) {
+ t.Errorf("Client.Compute.Images.GetResourceState() errored with %+v, want %+v", err, want)
+ }
+}
+
+func TestDeleteInstance(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.image.oc1.phx.a"
+ path := fmt.Sprintf("/images/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusNoContent)
+ })
+
+ err := client.Compute.Images.Delete(&DeleteImageParams{ID: id})
+ if err != nil {
+ t.Errorf("Client.Compute.Images.Delete() returned error: %v", err)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance.go
new file mode 100644
index 00000000..30cdbd50
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance.go
@@ -0,0 +1,129 @@
+package oci
+
+import (
+ "time"
+)
+
+// InstanceService enables communicating with the OCI compute API's instance
+// related endpoints.
+type InstanceService struct {
+ client *baseClient
+}
+
+// NewInstanceService creates a new InstanceService for communicating with the
+// OCI compute API's instance related endpoints.
+func NewInstanceService(s *baseClient) *InstanceService {
+ return &InstanceService{
+ client: s.New().Path("instances/"),
+ }
+}
+
+// Instance details a OCI compute instance.
+type Instance struct {
+ // The Availability Domain the instance is running in.
+ AvailabilityDomain string `json:"availabilityDomain"`
+
+ // The OCID of the compartment that contains the instance.
+ CompartmentID string `json:"compartmentId"`
+
+ // A user-friendly name. Does not have to be unique, and it's changeable.
+ DisplayName string `json:"displayName,omitempty"`
+
+ // The OCID of the instance.
+ ID string `json:"id"`
+
+ // The image used to boot the instance.
+ ImageID string `json:"imageId,omitempty"`
+
+ // The current state of the instance. Allowed values:
+ // - PROVISIONING
+ // - RUNNING
+ // - STARTING
+ // - STOPPING
+ // - STOPPED
+ // - CREATING_IMAGE
+ // - TERMINATING
+ // - TERMINATED
+ LifecycleState string `json:"lifecycleState"`
+
+ // Custom metadata that you provide.
+ Metadata map[string]string `json:"metadata,omitempty"`
+
+ // The region that contains the Availability Domain the instance is running in.
+ Region string `json:"region"`
+
+ // The shape of the instance. The shape determines the number of CPUs
+ // and the amount of memory allocated to the instance.
+ Shape string `json:"shape"`
+
+ // The date and time the instance was created.
+ TimeCreated time.Time `json:"timeCreated"`
+}
+
+// GetInstanceParams are the paramaters available when communicating with the
+// GetInstance API endpoint.
+type GetInstanceParams struct {
+ ID string `url:"instanceId,omitempty"`
+}
+
+// Get returns a single Instance
+func (s *InstanceService) Get(params *GetInstanceParams) (Instance, error) {
+ instance := Instance{}
+ e := &APIError{}
+
+ _, err := s.client.New().Get(params.ID).Receive(&instance, e)
+ err = firstError(err, e)
+
+ return instance, err
+}
+
+// LaunchInstanceParams are the parameters available when communicating with
+// the LunchInstance API endpoint.
+type LaunchInstanceParams struct {
+ AvailabilityDomain string `json:"availabilityDomain,omitempty"`
+ CompartmentID string `json:"compartmentId,omitempty"`
+ DisplayName string `json:"displayName,omitempty"`
+ ImageID string `json:"imageId,omitempty"`
+ Metadata map[string]string `json:"metadata,omitempty"`
+ OPCiPXEScript string `json:"opcIpxeScript,omitempty"`
+ Shape string `json:"shape,omitempty"`
+ SubnetID string `json:"subnetId,omitempty"`
+}
+
+// Launch creates a new OCI compute instance. It does *not* wait for the
+// instance to boot.
+func (s *InstanceService) Launch(params *LaunchInstanceParams) (Instance, error) {
+ instance := &Instance{}
+ e := &APIError{}
+
+ _, err := s.client.New().Post("").SetBody(params).Receive(instance, e)
+ err = firstError(err, e)
+
+ return *instance, err
+}
+
+// TerminateInstanceParams are the parameters available when communicating with
+// the TerminateInstance API endpoint.
+type TerminateInstanceParams struct {
+ ID string `url:"instanceId,omitempty"`
+}
+
+// Terminate terminates a running OCI compute instance.
+// instance to boot.
+func (s *InstanceService) Terminate(params *TerminateInstanceParams) error {
+ e := &APIError{}
+
+ _, err := s.client.New().Delete(params.ID).SetBody(params).Receive(nil, e)
+ err = firstError(err, e)
+
+ return err
+}
+
+// GetResourceState GETs the LifecycleState of the given instance id.
+func (s *InstanceService) GetResourceState(id string) (string, error) {
+ instance, err := s.Get(&GetInstanceParams{ID: id})
+ if err != nil {
+ return "", err
+ }
+ return instance.LifecycleState, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance_test.go
new file mode 100644
index 00000000..e45b707a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/instance_test.go
@@ -0,0 +1,96 @@
+package oci
+
+import (
+ "fmt"
+ "net/http"
+ "reflect"
+ "testing"
+)
+
+func TestGetInstance(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.instance.oc1.phx.a"
+ path := fmt.Sprintf("/instances/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprintf(w, `{"id":"%s"}`, id)
+ })
+
+ instance, err := client.Compute.Instances.Get(&GetInstanceParams{ID: id})
+ if err != nil {
+ t.Errorf("Client.Compute.Instances.Get() returned error: %v", err)
+ }
+
+ want := Instance{ID: id}
+
+ if !reflect.DeepEqual(instance, want) {
+ t.Errorf("Client.Compute.Instances.Get() returned %+v, want %+v", instance, want)
+ }
+}
+
+func TestLaunchInstance(t *testing.T) {
+ setup()
+ defer teardown()
+
+ mux.HandleFunc("/instances/", func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprint(w, `{"displayName": "go-oci test"}`)
+ })
+
+ params := &LaunchInstanceParams{
+ AvailabilityDomain: "aaaa:PHX-AD-1",
+ CompartmentID: "ocid1.compartment.oc1..a",
+ DisplayName: "go-oci test",
+ ImageID: "ocid1.image.oc1.phx.a",
+ Shape: "VM.Standard1.1",
+ SubnetID: "ocid1.subnet.oc1.phx.a",
+ }
+
+ instance, err := client.Compute.Instances.Launch(params)
+ if err != nil {
+ t.Errorf("Client.Compute.Instances.Launch() returned error: %v", err)
+ }
+
+ want := Instance{DisplayName: "go-oci test"}
+
+ if !reflect.DeepEqual(instance, want) {
+ t.Errorf("Client.Compute.Instances.Launch() returned %+v, want %+v", instance, want)
+ }
+}
+
+func TestTerminateInstance(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.instance.oc1.phx.a"
+ path := fmt.Sprintf("/instances/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ w.WriteHeader(http.StatusNoContent)
+ })
+
+ err := client.Compute.Instances.Terminate(&TerminateInstanceParams{ID: id})
+ if err != nil {
+ t.Errorf("Client.Compute.Instances.Terminate() returned error: %v", err)
+ }
+}
+
+func TestInstanceGetResourceState(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.instance.oc1.phx.a"
+ path := fmt.Sprintf("/instances/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprint(w, `{"LifecycleState": "RUNNING"}`)
+ })
+
+ state, err := client.Compute.Instances.GetResourceState(id)
+ if err != nil {
+ t.Errorf("Client.Compute.Instances.GetResourceState() returned error: %v", err)
+ }
+
+ want := "RUNNING"
+ if state != want {
+ t.Errorf("Client.Compute.Instances.GetResourceState() returned %+v, want %+v", state, want)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport.go
new file mode 100644
index 00000000..79da2050
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport.go
@@ -0,0 +1,116 @@
+package oci
+
+import (
+ "bytes"
+ "crypto"
+ "crypto/rand"
+ "crypto/rsa"
+ "crypto/sha256"
+ "encoding/base64"
+ "fmt"
+ "io"
+ "net/http"
+ "strconv"
+ "strings"
+ "time"
+)
+
+type nopCloser struct {
+ io.Reader
+}
+
+func (nopCloser) Close() error {
+ return nil
+}
+
+// Transport adds OCI signature authentication to each outgoing request.
+type Transport struct {
+ transport http.RoundTripper
+ config *Config
+}
+
+// NewTransport creates a new Transport to add OCI signature authentication
+// to each outgoing request.
+func NewTransport(transport http.RoundTripper, config *Config) *Transport {
+ return &Transport{
+ transport: transport,
+ config: config,
+ }
+}
+
+func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
+ var buf *bytes.Buffer
+
+ if req.Body != nil {
+ buf = new(bytes.Buffer)
+ buf.ReadFrom(req.Body)
+ req.Body = nopCloser{buf}
+ }
+ if req.Header.Get("date") == "" {
+ req.Header.Set("date", time.Now().UTC().Format(http.TimeFormat))
+ }
+ if req.Header.Get("content-type") == "" {
+ req.Header.Set("content-type", "application/json")
+ }
+ if req.Header.Get("accept") == "" {
+ req.Header.Set("accept", "application/json")
+ }
+ if req.Header.Get("host") == "" {
+ req.Header.Set("host", req.URL.Host)
+ }
+
+ var signheaders []string
+ if (req.Method == "PUT" || req.Method == "POST") && buf != nil {
+ signheaders = []string{"(request-target)", "host", "date",
+ "content-length", "content-type", "x-content-sha256"}
+
+ if req.Header.Get("content-length") == "" {
+ req.Header.Set("content-length", strconv.Itoa(buf.Len()))
+ }
+
+ hasher := sha256.New()
+ hasher.Write(buf.Bytes())
+ hash := hasher.Sum(nil)
+ req.Header.Set("x-content-sha256", base64.StdEncoding.EncodeToString(hash))
+ } else {
+ signheaders = []string{"date", "host", "(request-target)"}
+ }
+
+ var signbuffer bytes.Buffer
+ for idx, header := range signheaders {
+ signbuffer.WriteString(header)
+ signbuffer.WriteString(": ")
+
+ if header == "(request-target)" {
+ signbuffer.WriteString(strings.ToLower(req.Method))
+ signbuffer.WriteString(" ")
+ signbuffer.WriteString(req.URL.RequestURI())
+ } else {
+ signbuffer.WriteString(req.Header.Get(header))
+ }
+
+ if idx < len(signheaders)-1 {
+ signbuffer.WriteString("\n")
+ }
+ }
+
+ h := sha256.New()
+ h.Write(signbuffer.Bytes())
+ digest := h.Sum(nil)
+ signature, err := rsa.SignPKCS1v15(rand.Reader, t.config.Key, crypto.SHA256, digest)
+ if err != nil {
+ return nil, err
+ }
+
+ authHeader := fmt.Sprintf("Signature headers=\"%s\","+
+ "keyId=\"%s/%s/%s\","+
+ "algorithm=\"rsa-sha256\","+
+ "signature=\"%s\","+
+ "version=\"1\"",
+ strings.Join(signheaders, " "),
+ t.config.Tenancy, t.config.User, t.config.Fingerprint,
+ base64.StdEncoding.EncodeToString(signature))
+ req.Header.Add("Authorization", authHeader)
+
+ return t.transport.RoundTrip(req)
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport_test.go
new file mode 100644
index 00000000..2299f3a0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/transport_test.go
@@ -0,0 +1,156 @@
+package oci
+
+import (
+ "net/http"
+ "strings"
+ "testing"
+)
+
+const testKey = `-----BEGIN RSA PRIVATE KEY-----
+MIIEpQIBAAKCAQEAyLnyzmYj0dZuDo2nclIdEyLZrFZLtw5xFldWpCUl5W3SxKDL
+iIgwxpSO75Yf++Rzqc5j6S5bpIrdca6AwVXCNmjjxMPO7vLLm4l4IUOZMv5FqKaC
+I2plFz9uBkzGscnYnMbsDA430082E07lYpNv1xy8JwpbrIsqIMh4XCKci/Od5sLR
+kEicmOpQK42FGRTQjjmQoWtv+9XED+vYTRL0AxQEC/6i/E7yssFXZ+fpHSKWeKTQ
+K/1Fc4pZ1zNzJcDXGuweISx/QMLz78TAPH5OBq/EQzHKSpKvfnWFRyBHne8pwuN8
+8wzbbD+/7OFjz28jNSERVJvfYe3X1k69IWMNGwIDAQABAoIBAQCZhcdU38AzxSrG
+DMfuYymDslsEObiNWQlbig9lWlhCwx26cDVbxrZvm747NvpdgVyJmqbF+UP0dJVs
+Voh51qrFTLIwk4bZMXBTFPCBmJ865knG9RuCFOUew8/WF7C82GHJf0eY7OL7xpDY
+cbZ2D8gxofOydHSrYoElM88CwSI00xPCbBKEMrBO94oXC8yfp2bmV6bNhVXwFDEM
+qda7M6jVAsBrTOzxUF5VdUUU/MLsu2cCk/ap1zer2Bml9Afk1bMeGJ3XDQgol0pS
+CLxaGczpSNVMF9+pjA5sFHR5rmcl0b/kC9HsgOJGhLOimtS94O64dSdWifgsjf6+
+fhT2SMiRAoGBAOUDwkdzNqQfvS+qrP2ULpB4vt7MZ70rDGmyMDLZ1VWgcm2cDIad
+b7MkFG6GCa48mKkFXK9mOPyq8ELoTjZo2p+relEqf49BpaNxr+cp11pX7g0AkzCa
+a8LwdOOUW/poqYl2xLuw9Rz6ky6ybzatMvCwpQCwnbAdABIVxz4oQKHpAoGBAOBg
+3uYC/ynGdF9gJTfdS5XPYoLcKKRRspBZrvvDHaWyBnanm5KYwDAZPzLQMqcpyPeo
+5xgwMmtNlc6lKKyGkhSLNCV+eO3yAx1h/cq7ityvMS7u6o5sq+/bvtEnbUPYbEtk
+AhVD7/w5Yyzzi4beiQxDKe0q1mvUAH56aGqJivBjAoGBALmUMTPbDhUzTwg4Y1Rd
+ZtpVrj43H31wS+++oEYktTZc/T0LLi9Llr9w5kmlvmR94CtfF/ted6FwF5/wRajb
+kQXAXC83pAR/au0mbCeDhWpFRLculxfUmqxuVBozF9G0TGYDY2rA+++OsgQuPebt
+tRDL4/nKJQ4Ygf0lvr4EulM5AoGBALoIdyabu3WmfhwJujH8P8wA+ztmUCgVOIio
+YwWIe49C8Er2om1ESqxWcmit6CFi6qY0Gw6Z/2OqGxgPJY8NsBZqaBziJF+cdWqq
+MWMiZXqdopi4LC9T+KZROn9tQhGrYfaL/5IkFti3t/uwHbH/1f8dvKhQCSGzz4kN
+8n7KdTDjAoGAKh8XdIOQlThFK108VT2yp4BGZXEOvWrR19DLbuUzHVrEX+Bd+uFo
+Ruk9iKEH7PSnlRnIvWc1y9qN7fUi5OR3LvQNGlXHyUl6CtmH3/b064bBKudC+XTn
+VBelcIoGpH7Dn9I6pKUFauJz1TSbQCIjYGNqrjyzLtG+lH/gy5q4xs8=
+-----END RSA PRIVATE KEY-----`
+
+type testTarget struct {
+ CapturedReq *http.Request
+ Response *http.Response
+}
+
+func (target *testTarget) RoundTrip(req *http.Request) (*http.Response, error) {
+ target.CapturedReq = req
+ return target.Response, nil
+}
+
+func testReq(method string, url string, body string, headers map[string]string) *http.Request {
+ req, err := http.NewRequest(method, url, strings.NewReader(body))
+ if err != nil {
+ panic(err.Error())
+ }
+
+ for k, v := range headers {
+ req.Header.Add(k, v)
+ }
+ return req
+}
+
+var KnownGoodCases = []struct {
+ name string
+ inputRequest func() *http.Request
+ expectedHeaders map[string]string
+}{
+ {
+ name: "Simple GET",
+ inputRequest: func() *http.Request {
+ return testReq("GET", "https://example.com/", "", map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT"})
+ },
+ expectedHeaders: map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT",
+ "content-type": "application/json",
+ "host": "example.com",
+ "accept": "application/json",
+ "Authorization": "Signature headers=\"date host (request-target)\",keyId=\"tenant/testuser/3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55\",algorithm=\"rsa-sha256\",signature=\"UMw/FImQYZ5JBpfYcR9YN72lhupGl5yS+522NS9glLodU9f4oKRqaocpGdSUSRhhSDKxIx01rV547/HemJ6QqEPaJJuDQPXsGthokWMU2DBGyaMAqhLClgCJiRQMwpg4rdL2tETzkM3wy6UN+I52RYoNSdsnat2ZArCkfl8dIl9ydcwD8/+BqB8d2wyaAIS4iagdPKLAC/Mu9OzyUPOXQhYGYsoEdOowOUkHOlob65PFrlHmKJDdjEF3MDcygEpApItf4iUEloP5bjixAbZEVpj3HLQ5uaPx9m+RsLzYMeO0adE0wOv2YNmwZrExGhXh1BpTU33m5amHeUBxSaG+2A==\",version=\"1\"",
+ },
+ },
+ {
+ name: "Simple PUT request",
+ inputRequest: func() *http.Request {
+ return testReq("PUT", "https://example.com/", "Some Content", map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT"})
+ },
+ expectedHeaders: map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT",
+ "content-type": "application/json",
+ "content-length": "12",
+ "x-content-sha256": "lQ8fsURxamLtHxnwTYqd3MNYadJ4ZB/U9yQBKzu/fXA=",
+ "accept": "application/json",
+ "Authorization": "Signature headers=\"(request-target) host date content-length content-type x-content-sha256\",keyId=\"tenant/testuser/3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55\",algorithm=\"rsa-sha256\",signature=\"FHyPt4PE2HGH+iftzcViB76pCJ2R9+DdTCo1Ss4mH4KHQJdyQtPsCpe6Dc19zie6cRr6dsenk21yYnncic8OwZhII8DULj2//qLFGmgFi84s7LJqMQ/COiP7O9KtCN+U8MMt4PV7ZDsiGFn3/8EUJ1wxYscxSIB19S1NpuEL062JgGfkqxTkTPd7V3Xh1NlmUUtQrAMR3l56k1iV0zXY9Uw0CjWYjueMP0JUmkO7zycYAVBrx7Q8wkmejlyD7yFrAnObyEsMm9cIL9IcruWFHeCHFxRLslw7AoLxibAm2Dc9EROuvCK2UkUp8AFkE+QyYDMrrSm1NLBMWdnYqdickA==\",version=\"1\"",
+ },
+ },
+ {
+ name: "Simple POST request",
+ inputRequest: func() *http.Request {
+ return testReq("POST", "https://example.com/", "Some Content", map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT"})
+ },
+ expectedHeaders: map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT",
+ "content-type": "application/json",
+ "content-length": "12",
+ "x-content-sha256": "lQ8fsURxamLtHxnwTYqd3MNYadJ4ZB/U9yQBKzu/fXA=",
+ "accept": "application/json",
+ "Authorization": "Signature headers=\"(request-target) host date content-length content-type x-content-sha256\",keyId=\"tenant/testuser/3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55\",algorithm=\"rsa-sha256\",signature=\"WzGIoySkjqydwabMTxjVs05UBu0hThAEBzVs7HbYO45o2XpaoqGiNX67mNzs1PeYrGHpJp8+Ysoz66PChWV/1trxuTU92dQ/FgwvcwBRy5dQvdLkjWCZihNunSk4gt9652w6zZg/ybLon0CFbLRnlanDJDX9BgR3ttuTxf30t5qr2A4fnjFF4VjaU/CzE13cNfaWftjSd+xNcla2sbArF3R0+CEEb0xZEPzTyjjjkyvXdaPZwEprVn8IDmdJvLmRP4EniAPxE1EZIhd712M5ondQkR4/WckM44/hlKDeXGFb4y+QnU02i4IWgOWs3dh2tuzS1hp1zfq7qgPbZ4hp0A==\",version=\"1\"",
+ },
+ },
+
+ {
+ name: "Simple DELETE",
+ inputRequest: func() *http.Request {
+ return testReq("DELETE", "https://example.com/", "Some Content", map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT"})
+ },
+ expectedHeaders: map[string]string{
+ "date": "Mon, 26 Sep 2016 11:04:22 GMT",
+ "content-type": "application/json",
+ "accept": "application/json",
+ "Authorization": "Signature headers=\"date host (request-target)\",keyId=\"tenant/testuser/3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55\",algorithm=\"rsa-sha256\",signature=\"Kj4YSpONZG1cibLbNgxIp4VoS5+80fsB2Fh2Ue28+QyXq4wwrJpMP+8jEupz1yTk1SNPYuxsk7lNOgtI6G1Hq0YJJVum74j46sUwRWe+f08tMJ3c9J+rrzLfpIrakQ8PaudLhHU0eK5kuTZme1dCwRWXvZq3r5IqkGot/OGMabKpBygRv9t0i5ry+bTslSjMqafTWLosY9hgIiGrXD+meB5tpyn+gPVYc//Hc/C7uNNgLJIMk5DKVa4U0YnoY3ojafZTXZQQNGRn2NDMcZUX3f3nJlUIfiZRiOCTkbPwx/fWb4MZtYaEsY5OPficbJRvfOBxSG1wjX+8rgO7ijhMAA==\",version=\"1\"",
+ },
+ },
+}
+
+func TestKnownGoodRequests(t *testing.T) {
+ pKey, err := ParsePrivateKey([]byte(testKey), []byte{})
+ if err != nil {
+ t.Fatalf("Failed to parse test key: %s", err.Error())
+ }
+
+ config := &Config{
+ Key: pKey,
+ User: "testuser",
+ Tenancy: "tenant",
+ Fingerprint: "3c:b6:44:d7:49:1a:ac:bf:de:7d:76:22:a7:f5:df:55",
+ }
+
+ expectedResponse := &http.Response{}
+ for _, tt := range KnownGoodCases {
+ targetBackend := &testTarget{Response: expectedResponse}
+ target := NewTransport(targetBackend, config)
+
+ _, err = target.RoundTrip(tt.inputRequest())
+ if err != nil {
+ t.Fatalf("%s: Failed to handle request %s", tt.name, err.Error())
+ }
+
+ sentReq := targetBackend.CapturedReq
+
+ for header, val := range tt.expectedHeaders {
+ if sentReq.Header.Get(header) != val {
+ t.Fatalf("%s: Header mismatch in responnse,\n\t expecting \"%s\"\n\t got \"%s\"", tt.name, val, sentReq.Header.Get(header))
+ }
+ }
+ }
+
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic.go
new file mode 100644
index 00000000..31b37ec3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic.go
@@ -0,0 +1,47 @@
+package oci
+
+import (
+ "time"
+)
+
+// VNICService enables communicating with the OCI compute API's VNICs
+// endpoint.
+type VNICService struct {
+ client *baseClient
+}
+
+// NewVNICService creates a new VNICService for communicating with the
+// OCI compute API's instance related endpoints.
+func NewVNICService(s *baseClient) *VNICService {
+ return &VNICService{client: s.New().Path("vnics/")}
+}
+
+// VNIC - a virtual network interface card.
+type VNIC struct {
+ AvailabilityDomain string `json:"availabilityDomain"`
+ CompartmentID string `json:"compartmentId"`
+ DisplayName string `json:"displayName,omitempty"`
+ ID string `json:"id"`
+ LifecycleState string `json:"lifecycleState"`
+ PrivateIP string `json:"privateIp"`
+ PublicIP string `json:"publicIp"`
+ SubnetID string `json:"subnetId"`
+ TimeCreated time.Time `json:"timeCreated"`
+}
+
+// GetVNICParams are the paramaters available when communicating with the
+// ListVNICs API endpoint.
+type GetVNICParams struct {
+ ID string `url:"vnicId"`
+}
+
+// Get returns an individual VNIC.
+func (s *VNICService) Get(params *GetVNICParams) (VNIC, error) {
+ VNIC := &VNIC{}
+ e := &APIError{}
+
+ _, err := s.client.New().Get(params.ID).Receive(VNIC, e)
+ err = firstError(err, e)
+
+ return *VNIC, err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment.go
new file mode 100644
index 00000000..3458f7da
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment.go
@@ -0,0 +1,52 @@
+package oci
+
+import (
+ "time"
+)
+
+// VNICAttachmentService enables communicating with the OCI compute API's VNIC
+// attachment endpoint.
+type VNICAttachmentService struct {
+ client *baseClient
+}
+
+// NewVNICAttachmentService creates a new VNICAttachmentService for communicating with the
+// OCI compute API's instance related endpoints.
+func NewVNICAttachmentService(s *baseClient) *VNICAttachmentService {
+ return &VNICAttachmentService{
+ client: s.New().Path("vnicAttachments/"),
+ }
+}
+
+// VNICAttachment details the attachment of a VNIC to a OCI instance.
+type VNICAttachment struct {
+ AvailabilityDomain string `json:"availabilityDomain"`
+ CompartmentID string `json:"compartmentId"`
+ DisplayName string `json:"displayName,omitempty"`
+ ID string `json:"id"`
+ InstanceID string `json:"instanceId"`
+ LifecycleState string `json:"lifecycleState"`
+ SubnetID string `json:"subnetId"`
+ TimeCreated time.Time `json:"timeCreated"`
+ VNICID string `json:"vnicId"`
+}
+
+// ListVnicAttachmentsParams are the paramaters available when communicating
+// with the ListVnicAttachments API endpoint.
+type ListVnicAttachmentsParams struct {
+ AvailabilityDomain string `url:"availabilityDomain,omitempty"`
+ CompartmentID string `url:"compartmentId"`
+ InstanceID string `url:"instanceId,omitempty"`
+ VNICID string `url:"vnicId,omitempty"`
+}
+
+// List returns an array of VNICAttachments.
+func (s *VNICAttachmentService) List(params *ListVnicAttachmentsParams) ([]VNICAttachment, error) {
+ vnicAttachments := new([]VNICAttachment)
+ e := new(APIError)
+
+ _, err := s.client.New().Get("").QueryStruct(params).Receive(vnicAttachments, e)
+ err = firstError(err, e)
+
+ return *vnicAttachments, err
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment_test.go
new file mode 100644
index 00000000..704423fb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_attachment_test.go
@@ -0,0 +1,31 @@
+package oci
+
+import (
+ "fmt"
+ "net/http"
+ "reflect"
+ "testing"
+)
+
+func TestListVNICAttachments(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.image.oc1.phx.a"
+ mux.HandleFunc("/vnicAttachments/", func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprintf(w, `[{"id":"%s"}]`, id)
+ })
+
+ params := &ListVnicAttachmentsParams{InstanceID: id}
+
+ vnicAttachment, err := client.Compute.VNICAttachments.List(params)
+ if err != nil {
+ t.Errorf("Client.Compute.VNICAttachments.List() returned error: %v", err)
+ }
+
+ want := []VNICAttachment{{ID: id}}
+
+ if !reflect.DeepEqual(vnicAttachment, want) {
+ t.Errorf("Client.Compute.VNICAttachments.List() returned %+v, want %+v", vnicAttachment, want)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_test.go
new file mode 100644
index 00000000..c208db5c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/vnic_test.go
@@ -0,0 +1,29 @@
+package oci
+
+import (
+ "fmt"
+ "net/http"
+ "reflect"
+ "testing"
+)
+
+func TestGetVNIC(t *testing.T) {
+ setup()
+ defer teardown()
+
+ id := "ocid1.vnic.oc1.phx.a"
+ path := fmt.Sprintf("/vnics/%s", id)
+ mux.HandleFunc(path, func(w http.ResponseWriter, r *http.Request) {
+ fmt.Fprintf(w, `{"id": "%s"}`, id)
+ })
+
+ vnic, err := client.Compute.VNICs.Get(&GetVNICParams{ID: id})
+ if err != nil {
+ t.Errorf("Client.Compute.VNICs.Get() returned error: %v", err)
+ }
+
+ want := &VNIC{ID: id}
+ if reflect.DeepEqual(vnic, want) {
+ t.Errorf("Client.Compute.VNICs.Get() returned %+v, want %+v", vnic, want)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters.go
new file mode 100644
index 00000000..bb9ca1c1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters.go
@@ -0,0 +1,59 @@
+package oci
+
+import (
+ "fmt"
+ "time"
+)
+
+const (
+ defaultWaitDurationMS = 5000
+ defaultMaxRetries = 0
+)
+
+type Waiter struct {
+ WaitDurationMS int
+ MaxRetries int
+}
+
+type WaitableService interface {
+ GetResourceState(id string) (string, error)
+}
+
+func stringSliceContains(slice []string, value string) bool {
+ for _, elem := range slice {
+ if elem == value {
+ return true
+ }
+ }
+ return false
+}
+
+// NewWaiter creates a waiter with default wait duration and unlimited retry
+// operations.
+func NewWaiter() *Waiter {
+ return &Waiter{WaitDurationMS: defaultWaitDurationMS, MaxRetries: defaultMaxRetries}
+}
+
+// WaitForResourceToReachState polls a resource that implements WaitableService
+// repeatedly until it reaches a known state or fails if it reaches an
+// unexpected state. The duration of the interval and number of polls is
+// determined by the Waiter configuration.
+func (w *Waiter) WaitForResourceToReachState(svc WaitableService, id string, waitStates []string, terminalState string) error {
+ for i := 0; w.MaxRetries == 0 || i < w.MaxRetries; i++ {
+ state, err := svc.GetResourceState(id)
+ if err != nil {
+ return err
+ }
+
+ if stringSliceContains(waitStates, state) {
+ time.Sleep(time.Duration(w.WaitDurationMS) * time.Millisecond)
+ continue
+ } else if state == terminalState {
+ return nil
+ }
+
+ return fmt.Errorf("Unexpected resource state %s, expecting a waiting state %s or terminal state %s ", state, waitStates, terminalState)
+ }
+
+ return fmt.Errorf("Maximum number of retries (%d) exceeded; resource did not reach state %s", w.MaxRetries, terminalState)
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters_test.go
new file mode 100644
index 00000000..ce52b792
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/client/waiters_test.go
@@ -0,0 +1,80 @@
+package oci
+
+import (
+ "errors"
+ "fmt"
+ "testing"
+)
+
+const (
+ ValidID = "ID"
+)
+
+type testWaitSvc struct {
+ states []string
+ idx int
+ err error
+}
+
+func (tw *testWaitSvc) GetResourceState(id string) (string, error) {
+ if id != ValidID {
+ return "", fmt.Errorf("Invalid id %s", id)
+ }
+ if tw.err != nil {
+ return "", tw.err
+ }
+
+ if tw.idx >= len(tw.states) {
+ panic("Invalid test state")
+ }
+ state := tw.states[tw.idx]
+ tw.idx++
+ return state, nil
+}
+
+func TestReturnsWhenWaitStateIsReachedImmediately(t *testing.T) {
+ ws := &testWaitSvc{states: []string{"OK"}}
+ w := NewWaiter()
+ err := w.WaitForResourceToReachState(ws, ValidID, []string{}, "OK")
+ if err != nil {
+ t.Errorf("Failed to reach expected state, got %s", err)
+ }
+}
+
+func TestReturnsWhenResourceWaitsInValidWaitingState(t *testing.T) {
+ w := &Waiter{WaitDurationMS: 1, MaxRetries: defaultMaxRetries}
+ ws := &testWaitSvc{states: []string{"WAITING", "OK"}}
+ err := w.WaitForResourceToReachState(ws, ValidID, []string{"WAITING"}, "OK")
+ if err != nil {
+ t.Errorf("Failed to reach expected state, got %s", err)
+ }
+}
+
+func TestPropagatesErrorFromGetter(t *testing.T) {
+ w := NewWaiter()
+ ws := &testWaitSvc{states: []string{}, err: errors.New("ERROR")}
+ err := w.WaitForResourceToReachState(ws, ValidID, []string{"WAITING"}, "OK")
+ if err != ws.err {
+ t.Errorf("Expected error from getter got %s", err)
+ }
+}
+
+func TestReportsInvalidTransitionStateAsError(t *testing.T) {
+ w := NewWaiter()
+ tw := &testWaitSvc{states: []string{"UNKNOWN_STATE"}, err: errors.New("ERROR")}
+ err := w.WaitForResourceToReachState(tw, ValidID, []string{"WAITING"}, "OK")
+ if err == nil {
+ t.Fatal("Expected error from getter")
+ }
+}
+
+func TestErrorsWhenMaxWaitTriesExceeded(t *testing.T) {
+ w := Waiter{WaitDurationMS: 1, MaxRetries: 1}
+
+ ws := &testWaitSvc{states: []string{"WAITING", "OK"}}
+
+ err := w.WaitForResourceToReachState(ws, ValidID, []string{"WAITING"}, "OK")
+ if err == nil {
+ t.Fatal("Expecting error but wait terminated")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/config.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/config.go
new file mode 100644
index 00000000..883c61cb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/config.go
@@ -0,0 +1,215 @@
+package oci
+
+import (
+ "errors"
+ "fmt"
+ "os"
+ "path/filepath"
+
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/helper/communicator"
+ "github.com/hashicorp/packer/helper/config"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+
+ "github.com/mitchellh/go-homedir"
+)
+
+type Config struct {
+ common.PackerConfig `mapstructure:",squash"`
+ Comm communicator.Config `mapstructure:",squash"`
+
+ AccessCfg *client.Config
+
+ AccessCfgFile string `mapstructure:"access_cfg_file"`
+ AccessCfgFileAccount string `mapstructure:"access_cfg_file_account"`
+
+ // Access config overrides
+ UserID string `mapstructure:"user_ocid"`
+ TenancyID string `mapstructure:"tenancy_ocid"`
+ Region string `mapstructure:"region"`
+ Fingerprint string `mapstructure:"fingerprint"`
+ KeyFile string `mapstructure:"key_file"`
+ PassPhrase string `mapstructure:"pass_phrase"`
+
+ AvailabilityDomain string `mapstructure:"availability_domain"`
+ CompartmentID string `mapstructure:"compartment_ocid"`
+
+ // Image
+ BaseImageID string `mapstructure:"base_image_ocid"`
+ Shape string `mapstructure:"shape"`
+ ImageName string `mapstructure:"image_name"`
+
+ // Networking
+ SubnetID string `mapstructure:"subnet_ocid"`
+
+ ctx interpolate.Context
+}
+
+func NewConfig(raws ...interface{}) (*Config, error) {
+ c := &Config{}
+
+ // Decode from template
+ err := config.Decode(c, &config.DecodeOpts{
+ Interpolate: true,
+ InterpolateContext: &c.ctx,
+ }, raws...)
+ if err != nil {
+ return nil, fmt.Errorf("Failed to mapstructure Config: %+v", err)
+ }
+
+ // Determine where the SDK config is located
+ var accessCfgFile string
+ if c.AccessCfgFile != "" {
+ accessCfgFile = c.AccessCfgFile
+ } else {
+ accessCfgFile, err = getDefaultOCISettingsPath()
+ if err != nil {
+ accessCfgFile = "" // Access cfg might be in template
+ }
+ }
+
+ accessCfg := &client.Config{}
+
+ if accessCfgFile != "" {
+ loadedAccessCfgs, err := client.LoadConfigsFromFile(accessCfgFile)
+ if err != nil {
+ return nil, fmt.Errorf("Invalid config file %s: %s", accessCfgFile, err)
+ }
+ cfgAccount := "DEFAULT"
+ if c.AccessCfgFileAccount != "" {
+ cfgAccount = c.AccessCfgFileAccount
+ }
+
+ var ok bool
+ accessCfg, ok = loadedAccessCfgs[cfgAccount]
+ if !ok {
+ return nil, fmt.Errorf("No account section '%s' found in config file %s", cfgAccount, accessCfgFile)
+ }
+ }
+
+ // Override SDK client config with any non-empty template properties
+
+ if c.UserID != "" {
+ accessCfg.User = c.UserID
+ }
+
+ if c.TenancyID != "" {
+ accessCfg.Tenancy = c.TenancyID
+ }
+
+ if c.Region != "" {
+ accessCfg.Region = c.Region
+ } else {
+ accessCfg.Region = "us-phoenix-1"
+ }
+
+ if c.Fingerprint != "" {
+ accessCfg.Fingerprint = c.Fingerprint
+ }
+
+ if c.PassPhrase != "" {
+ accessCfg.PassPhrase = c.PassPhrase
+ }
+
+ if c.KeyFile != "" {
+ accessCfg.KeyFile = c.KeyFile
+ accessCfg.Key, err = client.LoadPrivateKey(accessCfg)
+ if err != nil {
+ return nil, fmt.Errorf("Failed to load private key %s : %s", accessCfg.KeyFile, err)
+ }
+ }
+
+ var errs *packer.MultiError
+ if es := c.Comm.Prepare(&c.ctx); len(es) > 0 {
+ errs = packer.MultiErrorAppend(errs, es...)
+ }
+
+ // Required AccessCfg configuration options
+
+ if accessCfg.User == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'user_ocid' must be specified"))
+ }
+
+ if accessCfg.Tenancy == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'tenancy_ocid' must be specified"))
+ }
+
+ if accessCfg.Region == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'region' must be specified"))
+ }
+
+ if accessCfg.Fingerprint == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'fingerprint' must be specified"))
+ }
+
+ if accessCfg.Key == nil {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'key_file' must be specified"))
+ }
+
+ c.AccessCfg = accessCfg
+
+ // Required non AccessCfg configuration options
+
+ if c.AvailabilityDomain == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'availability_domain' must be specified"))
+ }
+
+ if c.CompartmentID == "" {
+ c.CompartmentID = accessCfg.Tenancy
+ }
+
+ if c.Shape == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'shape' must be specified"))
+ }
+
+ if c.SubnetID == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'subnet_ocid' must be specified"))
+ }
+
+ if c.BaseImageID == "" {
+ errs = packer.MultiErrorAppend(
+ errs, errors.New("'base_image_ocid' must be specified"))
+ }
+
+ if c.ImageName == "" {
+ name, err := interpolate.Render("packer-{{timestamp}}", nil)
+ if err != nil {
+ errs = packer.MultiErrorAppend(errs,
+ fmt.Errorf("unable to parse image name: %s", err))
+ } else {
+ c.ImageName = name
+ }
+ }
+
+ if errs != nil && len(errs.Errors) > 0 {
+ return nil, errs
+ }
+
+ return c, nil
+}
+
+// getDefaultOCISettingsPath uses mitchellh/go-homedir to compute the default
+// config file location ($HOME/.oci/config).
+func getDefaultOCISettingsPath() (string, error) {
+ home, err := homedir.Dir()
+ if err != nil {
+ return "", err
+ }
+
+ path := filepath.Join(home, ".oci", "config")
+ if _, err := os.Stat(path); err != nil {
+ return "", err
+ }
+
+ return path, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/config_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/config_test.go
new file mode 100644
index 00000000..bc6039a5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/config_test.go
@@ -0,0 +1,181 @@
+package oci
+
+import (
+ "io/ioutil"
+ "os"
+ "reflect"
+ "strings"
+ "testing"
+
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+func testConfig(accessConfFile *os.File) map[string]interface{} {
+ return map[string]interface{}{
+ "availability_domain": "aaaa:PHX-AD-3",
+ "access_cfg_file": accessConfFile.Name(),
+
+ // Image
+ "base_image_ocid": "ocd1...",
+ "shape": "VM.Standard1.1",
+ "image_name": "HelloWorld",
+
+ // Networking
+ "subnet_ocid": "ocd1...",
+
+ // Comm
+ "ssh_username": "opc",
+ }
+}
+
+func getField(c *client.Config, field string) string {
+ r := reflect.ValueOf(c)
+ f := reflect.Indirect(r).FieldByName(field)
+ return string(f.String())
+}
+
+func TestConfig(t *testing.T) {
+ // Shared set-up and defered deletion
+
+ cfg, keyFile, err := client.BaseTestConfig()
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.Remove(keyFile.Name())
+
+ cfgFile, err := client.WriteTestConfig(cfg)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.Remove(cfgFile.Name())
+
+ // Temporarily set $HOME to temp directory to bypass default
+ // access config loading.
+
+ tmpHome, err := ioutil.TempDir("", "packer_config_test")
+ if err != nil {
+ t.Fatalf("err: %+v", err)
+ }
+ defer os.Remove(tmpHome)
+
+ home := os.Getenv("HOME")
+ os.Setenv("HOME", tmpHome)
+ defer os.Setenv("HOME", home)
+
+ // Config tests
+
+ t.Run("BaseConfig", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ _, errs := NewConfig(raw)
+
+ if errs != nil {
+ t.Fatalf("err: %+v", errs)
+ }
+
+ })
+
+ t.Run("NoAccessConfig", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ delete(raw, "access_cfg_file")
+
+ _, errs := NewConfig(raw)
+
+ s := errs.Error()
+ expectedErrors := []string{
+ "'user_ocid'", "'tenancy_ocid'", "'fingerprint'",
+ "'key_file'",
+ }
+ for _, expected := range expectedErrors {
+ if !strings.Contains(s, expected) {
+ t.Errorf("Expected %s to contain '%s'", s, expected)
+ }
+ }
+ })
+
+ t.Run("AccessConfigTemplateOnly", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ delete(raw, "access_cfg_file")
+ raw["user_ocid"] = "ocid1..."
+ raw["tenancy_ocid"] = "ocid1..."
+ raw["fingerprint"] = "00:00..."
+ raw["key_file"] = keyFile.Name()
+
+ _, errs := NewConfig(raw)
+
+ if errs != nil {
+ t.Fatalf("err: %+v", errs)
+ }
+
+ })
+
+ t.Run("TenancyReadFromAccessCfgFile", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ c, errs := NewConfig(raw)
+ if errs != nil {
+ t.Fatalf("err: %+v", errs)
+ }
+
+ expected := "ocid1.tenancy.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+ if c.AccessCfg.Tenancy != expected {
+ t.Errorf("Expected tenancy: %s, got %s.", expected, c.AccessCfg.Tenancy)
+ }
+
+ })
+
+ // Test the correct errors are produced when required template keys are
+ // omitted.
+ requiredKeys := []string{"availability_domain", "base_image_ocid", "shape", "subnet_ocid"}
+ for _, k := range requiredKeys {
+ t.Run(k+"_required", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ delete(raw, k)
+
+ _, errs := NewConfig(raw)
+
+ if !strings.Contains(errs.Error(), k) {
+ t.Errorf("Expected '%s' to contain '%s'", errs.Error(), k)
+ }
+ })
+ }
+
+ t.Run("ImageNameDefaultedIfEmpty", func(t *testing.T) {
+ raw := testConfig(cfgFile)
+ delete(raw, "image_name")
+
+ c, errs := NewConfig(raw)
+ if errs != nil {
+ t.Errorf("Unexpected error(s): %s", errs)
+ }
+
+ if !strings.Contains(c.ImageName, "packer-") {
+ t.Errorf("got default ImageName %q, want image name 'packer-{{timestamp}}'", c.ImageName)
+ }
+ })
+
+ // Test that AccessCfgFile properties are overridden by their
+ // corosponding template keys.
+ accessOverrides := map[string]string{
+ "user_ocid": "User",
+ "tenancy_ocid": "Tenancy",
+ "region": "Region",
+ "fingerprint": "Fingerprint",
+ }
+ for k, v := range accessOverrides {
+ t.Run("AccessCfg."+v+"Overridden", func(t *testing.T) {
+ expected := "override"
+
+ raw := testConfig(cfgFile)
+ raw[k] = expected
+
+ c, errs := NewConfig(raw)
+ if errs != nil {
+ t.Fatalf("err: %+v", errs)
+ }
+
+ accessVal := getField(c.AccessCfg, v)
+ if accessVal != expected {
+ t.Errorf("Expected AccessCfg.%s: %s, got %s", v, expected, accessVal)
+ }
+ })
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver.go
new file mode 100644
index 00000000..51f6c364
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver.go
@@ -0,0 +1,16 @@
+package oci
+
+import (
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+// Driver interfaces between the builder steps and the OCI SDK.
+type Driver interface {
+ CreateInstance(publicKey string) (string, error)
+ CreateImage(id string) (client.Image, error)
+ DeleteImage(id string) error
+ GetInstanceIP(id string) (string, error)
+ TerminateInstance(id string) error
+ WaitForImageCreation(id string) error
+ WaitForInstanceState(id string, waitStates []string, terminalState string) error
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_mock.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_mock.go
new file mode 100644
index 00000000..6173760f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_mock.go
@@ -0,0 +1,89 @@
+package oci
+
+import (
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+// driverMock implements the Driver interface and communicates with Oracle
+// OCI.
+type driverMock struct {
+ CreateInstanceID string
+ CreateInstanceErr error
+
+ CreateImageID string
+ CreateImageErr error
+
+ DeleteImageID string
+ DeleteImageErr error
+
+ GetInstanceIPErr error
+
+ TerminateInstanceID string
+ TerminateInstanceErr error
+
+ WaitForImageCreationErr error
+
+ WaitForInstanceStateErr error
+}
+
+// CreateInstance creates a new compute instance.
+func (d *driverMock) CreateInstance(publicKey string) (string, error) {
+ if d.CreateInstanceErr != nil {
+ return "", d.CreateInstanceErr
+ }
+
+ d.CreateInstanceID = "ocid1..."
+
+ return d.CreateInstanceID, nil
+}
+
+// CreateImage creates a new custom image.
+func (d *driverMock) CreateImage(id string) (client.Image, error) {
+ if d.CreateImageErr != nil {
+ return client.Image{}, d.CreateImageErr
+ }
+ d.CreateImageID = id
+ return client.Image{ID: id}, nil
+}
+
+// DeleteImage mocks deleting a custom image.
+func (d *driverMock) DeleteImage(id string) error {
+ if d.DeleteImageErr != nil {
+ return d.DeleteImageErr
+ }
+
+ d.DeleteImageID = id
+
+ return nil
+}
+
+// GetInstanceIP returns the public IP corresponding to the given instance id.
+func (d *driverMock) GetInstanceIP(id string) (string, error) {
+ if d.GetInstanceIPErr != nil {
+ return "", d.GetInstanceIPErr
+ }
+ return "ip", nil
+}
+
+// TerminateInstance terminates a compute instance.
+func (d *driverMock) TerminateInstance(id string) error {
+ if d.TerminateInstanceErr != nil {
+ return d.TerminateInstanceErr
+ }
+
+ d.TerminateInstanceID = id
+
+ return nil
+}
+
+// WaitForImageCreation waits for a provisioning custom image to reach the
+// "AVAILABLE" state.
+func (d *driverMock) WaitForImageCreation(id string) error {
+ return d.WaitForImageCreationErr
+}
+
+// WaitForInstanceState waits for an instance to reach the a given terminal
+// state.
+func (d *driverMock) WaitForInstanceState(id string, waitStates []string, terminalState string) error {
+ return d.WaitForInstanceStateErr
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_oci.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_oci.go
new file mode 100644
index 00000000..1d6f943c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/driver_oci.go
@@ -0,0 +1,117 @@
+package oci
+
+import (
+ "errors"
+ "fmt"
+
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+// driverOCI implements the Driver interface and communicates with Oracle
+// OCI.
+type driverOCI struct {
+ client *client.Client
+ cfg *Config
+}
+
+// NewDriverOCI Creates a new driverOCI with a connected client.
+func NewDriverOCI(cfg *Config) (Driver, error) {
+ client, err := client.NewClient(cfg.AccessCfg)
+ if err != nil {
+ return nil, err
+ }
+ return &driverOCI{client: client, cfg: cfg}, nil
+}
+
+// CreateInstance creates a new compute instance.
+func (d *driverOCI) CreateInstance(publicKey string) (string, error) {
+ params := &client.LaunchInstanceParams{
+ AvailabilityDomain: d.cfg.AvailabilityDomain,
+ CompartmentID: d.cfg.CompartmentID,
+ ImageID: d.cfg.BaseImageID,
+ Shape: d.cfg.Shape,
+ SubnetID: d.cfg.SubnetID,
+ Metadata: map[string]string{
+ "ssh_authorized_keys": publicKey,
+ },
+ }
+ instance, err := d.client.Compute.Instances.Launch(params)
+ if err != nil {
+ return "", err
+ }
+
+ return instance.ID, nil
+}
+
+// CreateImage creates a new custom image.
+func (d *driverOCI) CreateImage(id string) (client.Image, error) {
+ params := &client.CreateImageParams{
+ CompartmentID: d.cfg.CompartmentID,
+ InstanceID: id,
+ DisplayName: d.cfg.ImageName,
+ }
+ image, err := d.client.Compute.Images.Create(params)
+ if err != nil {
+ return client.Image{}, err
+ }
+
+ return image, nil
+}
+
+// DeleteImage deletes a custom image.
+func (d *driverOCI) DeleteImage(id string) error {
+ return d.client.Compute.Images.Delete(&client.DeleteImageParams{ID: id})
+}
+
+// GetInstanceIP returns the public IP corresponding to the given instance id.
+func (d *driverOCI) GetInstanceIP(id string) (string, error) {
+ // get nvic and cross ref to find pub ip address
+ vnics, err := d.client.Compute.VNICAttachments.List(
+ &client.ListVnicAttachmentsParams{
+ InstanceID: id,
+ CompartmentID: d.cfg.CompartmentID,
+ },
+ )
+ if err != nil {
+ return "", err
+ }
+
+ if len(vnics) < 1 {
+ return "", errors.New("instance has zero VNICs")
+ }
+
+ vnic, err := d.client.Compute.VNICs.Get(&client.GetVNICParams{ID: vnics[0].VNICID})
+ if err != nil {
+ return "", fmt.Errorf("Error getting VNIC details: %s", err)
+ }
+
+ return vnic.PublicIP, nil
+}
+
+// TerminateInstance terminates a compute instance.
+func (d *driverOCI) TerminateInstance(id string) error {
+ params := &client.TerminateInstanceParams{ID: id}
+ return d.client.Compute.Instances.Terminate(params)
+}
+
+// WaitForImageCreation waits for a provisioning custom image to reach the
+// "AVAILABLE" state.
+func (d *driverOCI) WaitForImageCreation(id string) error {
+ return client.NewWaiter().WaitForResourceToReachState(
+ d.client.Compute.Images,
+ id,
+ []string{"PROVISIONING"},
+ "AVAILABLE",
+ )
+}
+
+// WaitForInstanceState waits for an instance to reach the a given terminal
+// state.
+func (d *driverOCI) WaitForInstanceState(id string, waitStates []string, terminalState string) error {
+ return client.NewWaiter().WaitForResourceToReachState(
+ d.client.Compute.Instances,
+ id,
+ waitStates,
+ terminalState,
+ )
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/ssh.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/ssh.go
new file mode 100644
index 00000000..a9d62f4a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/ssh.go
@@ -0,0 +1,45 @@
+package oci
+
+import (
+ "fmt"
+
+ packerssh "github.com/hashicorp/packer/communicator/ssh"
+ "github.com/mitchellh/multistep"
+ "golang.org/x/crypto/ssh"
+)
+
+func commHost(state multistep.StateBag) (string, error) {
+ ipAddress := state.Get("instance_ip").(string)
+ return ipAddress, nil
+}
+
+// SSHConfig returns a function that can be used for the SSH communicator
+// config for connecting to the instance created over SSH using the private key
+// or password.
+func SSHConfig(username, password string) func(state multistep.StateBag) (*ssh.ClientConfig, error) {
+ return func(state multistep.StateBag) (*ssh.ClientConfig, error) {
+ privateKey, hasKey := state.GetOk("privateKey")
+ if hasKey {
+
+ signer, err := ssh.ParsePrivateKey([]byte(privateKey.(string)))
+ if err != nil {
+ return nil, fmt.Errorf("Error setting up SSH config: %s", err)
+ }
+ return &ssh.ClientConfig{
+ User: username,
+ Auth: []ssh.AuthMethod{ssh.PublicKeys(signer)},
+ HostKeyCallback: ssh.InsecureIgnoreHostKey(),
+ }, nil
+
+ }
+
+ return &ssh.ClientConfig{
+ User: username,
+ HostKeyCallback: ssh.InsecureIgnoreHostKey(),
+ Auth: []ssh.AuthMethod{
+ ssh.Password(password),
+ ssh.KeyboardInteractive(packerssh.PasswordKeyboardInteractive(password)),
+ },
+ }, nil
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance.go
new file mode 100644
index 00000000..8650f731
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance.go
@@ -0,0 +1,75 @@
+package oci
+
+import (
+ "fmt"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+)
+
+type stepCreateInstance struct{}
+
+func (s *stepCreateInstance) Run(state multistep.StateBag) multistep.StepAction {
+ var (
+ driver = state.Get("driver").(Driver)
+ ui = state.Get("ui").(packer.Ui)
+ publicKey = state.Get("publicKey").(string)
+ )
+
+ ui.Say("Creating instance...")
+
+ instanceID, err := driver.CreateInstance(publicKey)
+ if err != nil {
+ err = fmt.Errorf("Problem creating instance: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ state.Put("instance_id", instanceID)
+
+ ui.Say(fmt.Sprintf("Created instance (%s).", instanceID))
+
+ ui.Say("Waiting for instance to enter 'RUNNING' state...")
+
+ if err = driver.WaitForInstanceState(instanceID, []string{"STARTING", "PROVISIONING"}, "RUNNING"); err != nil {
+ err = fmt.Errorf("Error waiting for instance to start: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ ui.Say("Instance 'RUNNING'.")
+
+ return multistep.ActionContinue
+}
+
+func (s *stepCreateInstance) Cleanup(state multistep.StateBag) {
+ driver := state.Get("driver").(Driver)
+ ui := state.Get("ui").(packer.Ui)
+
+ idRaw, ok := state.GetOk("instance_id")
+ if !ok {
+ return
+ }
+ id := idRaw.(string)
+
+ ui.Say(fmt.Sprintf("Terminating instance (%s)...", id))
+
+ if err := driver.TerminateInstance(id); err != nil {
+ err = fmt.Errorf("Error terminating instance. Please terminate manually: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return
+ }
+
+ err := driver.WaitForInstanceState(id, []string{"TERMINATING"}, "TERMINATED")
+ if err != nil {
+ err = fmt.Errorf("Error terminating instance. Please terminate manually: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return
+ }
+
+ ui.Say("Terminated instance.")
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance_test.go
new file mode 100644
index 00000000..558a17cb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_create_instance_test.go
@@ -0,0 +1,130 @@
+package oci
+
+import (
+ "errors"
+ "testing"
+
+ "github.com/mitchellh/multistep"
+)
+
+func TestStepCreateInstance(t *testing.T) {
+ state := testState()
+ state.Put("publicKey", "key")
+
+ step := new(stepCreateInstance)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+
+ if action := step.Run(state); action != multistep.ActionContinue {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ instanceIDRaw, ok := state.GetOk("instance_id")
+ if !ok {
+ t.Fatalf("should have machine")
+ }
+
+ step.Cleanup(state)
+
+ if driver.TerminateInstanceID != instanceIDRaw.(string) {
+ t.Fatalf(
+ "should've deleted instance (%s != %s)",
+ driver.TerminateInstanceID, instanceIDRaw.(string))
+ }
+}
+
+func TestStepCreateInstance_CreateInstanceErr(t *testing.T) {
+ state := testState()
+ state.Put("publicKey", "key")
+
+ step := new(stepCreateInstance)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+ driver.CreateInstanceErr = errors.New("error")
+
+ if action := step.Run(state); action != multistep.ActionHalt {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+
+ if _, ok := state.GetOk("instance_id"); ok {
+ t.Fatalf("should NOT have instance_id")
+ }
+
+ step.Cleanup(state)
+
+ if driver.TerminateInstanceID != "" {
+ t.Fatalf("Should not have tried to terminate an instance")
+ }
+}
+
+func TestStepCreateInstance_WaitForInstanceStateErr(t *testing.T) {
+ state := testState()
+ state.Put("publicKey", "key")
+
+ step := new(stepCreateInstance)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+ driver.WaitForInstanceStateErr = errors.New("error")
+
+ if action := step.Run(state); action != multistep.ActionHalt {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+}
+
+func TestStepCreateInstance_TerminateInstanceErr(t *testing.T) {
+ state := testState()
+ state.Put("publicKey", "key")
+
+ step := new(stepCreateInstance)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+
+ if action := step.Run(state); action != multistep.ActionContinue {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ _, ok := state.GetOk("instance_id")
+ if !ok {
+ t.Fatalf("should have machine")
+ }
+
+ driver.TerminateInstanceErr = errors.New("error")
+ step.Cleanup(state)
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+}
+
+func TestStepCreateInstanceCleanup_WaitForInstanceStateErr(t *testing.T) {
+ state := testState()
+ state.Put("publicKey", "key")
+
+ step := new(stepCreateInstance)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+
+ if action := step.Run(state); action != multistep.ActionContinue {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ driver.WaitForInstanceStateErr = errors.New("error")
+ step.Cleanup(state)
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image.go
new file mode 100644
index 00000000..07c9ddb4
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image.go
@@ -0,0 +1,48 @@
+package oci
+
+import (
+ "fmt"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+)
+
+type stepImage struct{}
+
+func (s *stepImage) Run(state multistep.StateBag) multistep.StepAction {
+ var (
+ driver = state.Get("driver").(Driver)
+ ui = state.Get("ui").(packer.Ui)
+ instanceID = state.Get("instance_id").(string)
+ )
+
+ ui.Say("Creating image from instance...")
+
+ image, err := driver.CreateImage(instanceID)
+ if err != nil {
+ err = fmt.Errorf("Error creating image from instance: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ err = driver.WaitForImageCreation(image.ID)
+ if err != nil {
+ err = fmt.Errorf("Error waiting for image creation to finish: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ // TODO(apryde): This is stale as .LifecycleState has changed to
+ // AVAILABLE at this point. Does it matter?
+ state.Put("image", image)
+
+ ui.Say("Image created.")
+
+ return multistep.ActionContinue
+}
+
+func (s *stepImage) Cleanup(state multistep.StateBag) {
+ // Nothing to do
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image_test.go
new file mode 100644
index 00000000..72399278
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_image_test.go
@@ -0,0 +1,70 @@
+package oci
+
+import (
+ "errors"
+ "testing"
+
+ "github.com/mitchellh/multistep"
+)
+
+func TestStepImage(t *testing.T) {
+ state := testState()
+ state.Put("instance_id", "ocid1...")
+
+ step := new(stepImage)
+ defer step.Cleanup(state)
+
+ if action := step.Run(state); action != multistep.ActionContinue {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("image"); !ok {
+ t.Fatalf("should have image")
+ }
+}
+
+func TestStepImage_CreateImageErr(t *testing.T) {
+ state := testState()
+ state.Put("instance_id", "ocid1...")
+
+ step := new(stepImage)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+ driver.CreateImageErr = errors.New("error")
+
+ if action := step.Run(state); action != multistep.ActionHalt {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+
+ if _, ok := state.GetOk("image"); ok {
+ t.Fatalf("should NOT have image")
+ }
+}
+
+func TestStepImage_WaitForImageCreationErr(t *testing.T) {
+ state := testState()
+ state.Put("instance_id", "ocid1...")
+
+ step := new(stepImage)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+ driver.WaitForImageCreationErr = errors.New("error")
+
+ if action := step.Run(state); action != multistep.ActionHalt {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+
+ if _, ok := state.GetOk("image"); ok {
+ t.Fatalf("should not have image")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info.go
new file mode 100644
index 00000000..310d8699
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info.go
@@ -0,0 +1,36 @@
+package oci
+
+import (
+ "fmt"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+)
+
+type stepInstanceInfo struct{}
+
+func (s *stepInstanceInfo) Run(state multistep.StateBag) multistep.StepAction {
+ var (
+ driver = state.Get("driver").(Driver)
+ ui = state.Get("ui").(packer.Ui)
+ id = state.Get("instance_id").(string)
+ )
+
+ ip, err := driver.GetInstanceIP(id)
+ if err != nil {
+ err = fmt.Errorf("Error getting instance's public IP: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ state.Put("instance_ip", ip)
+
+ ui.Say(fmt.Sprintf("Instance has public IP: %s.", ip))
+
+ return multistep.ActionContinue
+}
+
+func (s *stepInstanceInfo) Cleanup(state multistep.StateBag) {
+ // no cleanup
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info_test.go
new file mode 100644
index 00000000..fdae8a0e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_instance_info_test.go
@@ -0,0 +1,52 @@
+package oci
+
+import (
+ "errors"
+ "testing"
+
+ "github.com/mitchellh/multistep"
+)
+
+func TestInstanceInfo(t *testing.T) {
+ state := testState()
+ state.Put("instance_id", "ocid1...")
+
+ step := new(stepInstanceInfo)
+ defer step.Cleanup(state)
+
+ if action := step.Run(state); action != multistep.ActionContinue {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ instanceIPRaw, ok := state.GetOk("instance_ip")
+ if !ok {
+ t.Fatalf("should have instance_ip")
+ }
+
+ if instanceIPRaw.(string) != "ip" {
+ t.Fatalf("should've got ip ('%s' != 'ip')", instanceIPRaw.(string))
+ }
+}
+
+func TestInstanceInfo_GetInstanceIPErr(t *testing.T) {
+ state := testState()
+ state.Put("instance_id", "ocid1...")
+
+ step := new(stepInstanceInfo)
+ defer step.Cleanup(state)
+
+ driver := state.Get("driver").(*driverMock)
+ driver.GetInstanceIPErr = errors.New("error")
+
+ if action := step.Run(state); action != multistep.ActionHalt {
+ t.Fatalf("bad action: %#v", action)
+ }
+
+ if _, ok := state.GetOk("error"); !ok {
+ t.Fatalf("should have error")
+ }
+
+ if _, ok := state.GetOk("instance_ip"); ok {
+ t.Fatalf("should NOT have instance_ip")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_ssh_key_pair.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_ssh_key_pair.go
new file mode 100644
index 00000000..cc9d0358
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_ssh_key_pair.go
@@ -0,0 +1,116 @@
+package oci
+
+import (
+ "crypto/rand"
+ "crypto/rsa"
+ "crypto/x509"
+ "encoding/pem"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "runtime"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "golang.org/x/crypto/ssh"
+)
+
+type stepKeyPair struct {
+ Debug bool
+ DebugKeyPath string
+ PrivateKeyFile string
+}
+
+func (s *stepKeyPair) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+
+ if s.PrivateKeyFile != "" {
+ privateKeyBytes, err := ioutil.ReadFile(s.PrivateKeyFile)
+ if err != nil {
+ err = fmt.Errorf("Error loading configured private key file: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ key, err := ssh.ParsePrivateKey(privateKeyBytes)
+ if err != nil {
+ err = fmt.Errorf("Error parsing 'ssh_private_key_file': %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ state.Put("publicKey", string(ssh.MarshalAuthorizedKey(key.PublicKey())))
+ state.Put("privateKey", string(privateKeyBytes))
+
+ return multistep.ActionContinue
+ }
+
+ ui.Say("Creating temporary ssh key for instance...")
+
+ priv, err := rsa.GenerateKey(rand.Reader, 2048)
+ if err != nil {
+ err = fmt.Errorf("Error creating temporary SSH key: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ // ASN.1 DER encoded form
+ privDer := x509.MarshalPKCS1PrivateKey(priv)
+ privBlk := pem.Block{Type: "RSA PRIVATE KEY", Headers: nil, Bytes: privDer}
+
+ // Set the private key in the statebag for later
+ state.Put("privateKey", string(pem.EncodeToMemory(&privBlk)))
+
+ // Marshal the public key into SSH compatible format
+ pub, err := ssh.NewPublicKey(&priv.PublicKey)
+ if err != nil {
+ err = fmt.Errorf("Error marshaling temporary SSH public key: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ pubSSHFormat := string(ssh.MarshalAuthorizedKey(pub))
+ state.Put("publicKey", pubSSHFormat)
+
+ // If we're in debug mode, output the private key to the working
+ // directory.
+ if s.Debug {
+ ui.Message(fmt.Sprintf("Saving key for debug purposes: %s", s.DebugKeyPath))
+ f, err := os.Create(s.DebugKeyPath)
+ if err != nil {
+ err = fmt.Errorf("Error saving debug key: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+ defer f.Close()
+
+ // Write the key out
+ if _, err := f.Write(pem.EncodeToMemory(&privBlk)); err != nil {
+ err = fmt.Errorf("Error saving debug key: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+
+ // Chmod it so that it is SSH ready
+ if runtime.GOOS != "windows" {
+ if err := f.Chmod(0600); err != nil {
+ err = fmt.Errorf("Error setting permissions of debug key: %s", err)
+ ui.Error(err.Error())
+ state.Put("error", err)
+ return multistep.ActionHalt
+ }
+ }
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *stepKeyPair) Cleanup(state multistep.StateBag) {
+ // Nothing to do
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_test.go b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_test.go
new file mode 100644
index 00000000..d4436e30
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/builder/oracle/oci/step_test.go
@@ -0,0 +1,62 @@
+package oci
+
+import (
+ "bytes"
+ "os"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+
+ client "github.com/hashicorp/packer/builder/oracle/oci/client"
+)
+
+// TODO(apryde): It would be good not to have to write a key file to disk to
+// load the config.
+func baseTestConfig() *Config {
+ _, keyFile, err := client.BaseTestConfig()
+ if err != nil {
+ panic(err)
+ }
+
+ cfg, err := NewConfig(map[string]interface{}{
+ "availability_domain": "aaaa:PHX-AD-3",
+
+ // Image
+ "base_image_ocid": "ocd1...",
+ "shape": "VM.Standard1.1",
+ "image_name": "HelloWorld",
+
+ // Networking
+ "subnet_ocid": "ocd1...",
+
+ // AccessConfig
+ "user_ocid": "ocid1...",
+ "tenancy_ocid": "ocid1...",
+ "fingerprint": "00:00...",
+ "key_file": keyFile.Name(),
+
+ // Comm
+ "ssh_username": "opc",
+ })
+
+ // Once we have a config object they key file isn't re-read so we can
+ // remove it now.
+ os.Remove(keyFile.Name())
+
+ if err != nil {
+ panic(err)
+ }
+ return cfg
+}
+
+func testState() multistep.StateBag {
+ state := new(multistep.BasicStateBag)
+ state.Put("config", baseTestConfig())
+ state.Put("driver", &driverMock{})
+ state.Put("hook", &packer.MockHook{})
+ state.Put("ui", &packer.BasicUi{
+ Reader: new(bytes.Buffer),
+ Writer: new(bytes.Buffer),
+ })
+ return state
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9.go b/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9.go
index e0e82fb6..b6757d89 100644
--- a/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9.go
+++ b/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9.go
@@ -13,7 +13,8 @@ import (
"strings"
"time"
- "gopkg.in/xmlpath.v2"
+ "github.com/ChrisTrenkamp/goxpath"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree"
)
// Parallels9Driver is a base type for Parallels builders.
@@ -78,13 +79,19 @@ func getConfigValueFromXpath(path, xpath string) (string, error) {
if err != nil {
return "", err
}
- xpathComp := xmlpath.MustCompile(xpath)
- root, err := xmlpath.Parse(file)
+
+ doc, err := xmltree.ParseXML(file)
+ if err != nil {
+ return "", err
+ }
+
+ xpExec := goxpath.MustParse(xpath)
+ node, err := xpExec.Exec(doc)
if err != nil {
return "", err
}
- value, _ := xpathComp.String(root)
- return value, nil
+
+ return node.String(), nil
}
// Finds an application bundle by identifier (for "darwin" platform only)
diff --git a/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9_test.go b/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9_test.go
index f57ef663..32d7c666 100644
--- a/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/parallels/common/driver_9_test.go
@@ -58,3 +58,29 @@ func TestIPAddress(t *testing.T) {
t.Fatalf("Should have found 10.211.55.124, not %s!\n", ip)
}
}
+
+func TestXMLParseConfig(t *testing.T) {
+ td, err := ioutil.TempDir("", "configpvs")
+ if err != nil {
+ t.Fatalf("Error creating temp file: %s", err)
+ }
+ defer os.Remove(td)
+
+ config := []byte(`
+<ExampleParallelsConfig>
+ <SystemConfig>
+ <DiskSize>20</DiskSize>
+ </SystemConfig>
+</ExampleParallelsConfig>
+`)
+ ioutil.WriteFile(td+"/config.pvs", config, 0666)
+
+ result, err := getConfigValueFromXpath(td, "//DiskSize")
+ if err != nil {
+ t.Fatalf("Error parsing XML: %s", err)
+ }
+
+ if result != "20" {
+ t.Fatalf("Expected %q, got %q", "20", result)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/builder/profitbricks/builder.go b/vendor/github.com/mitchellh/packer/builder/profitbricks/builder.go
index 95a2b1b2..750b843c 100644
--- a/vendor/github.com/mitchellh/packer/builder/profitbricks/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/profitbricks/builder.go
@@ -49,15 +49,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
config := state.Get("config").(*Config)
- if b.config.PackerDebug {
- b.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: common.MultistepDebugFn(ui),
- }
- } else {
- b.runner = &multistep.BasicRunner{Steps: steps}
- }
-
+ b.runner = common.NewRunner(steps, b.config.PackerConfig, ui)
b.runner.Run(state)
if rawErr, ok := state.GetOk("error"); ok {
diff --git a/vendor/github.com/mitchellh/packer/builder/profitbricks/config.go b/vendor/github.com/mitchellh/packer/builder/profitbricks/config.go
index 62ffc18c..bb4e8d37 100644
--- a/vendor/github.com/mitchellh/packer/builder/profitbricks/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/profitbricks/config.go
@@ -76,7 +76,7 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
}
if c.PBUrl == "" {
- c.PBUrl = "https://api.profitbricks.com/rest/v2"
+ c.PBUrl = "https://api.profitbricks.com/cloudapi/v4"
}
if c.Cores == 0 {
diff --git a/vendor/github.com/mitchellh/packer/builder/profitbricks/step_create_server.go b/vendor/github.com/mitchellh/packer/builder/profitbricks/step_create_server.go
index 70c9148d..a4de3cb1 100644
--- a/vendor/github.com/mitchellh/packer/builder/profitbricks/step_create_server.go
+++ b/vendor/github.com/mitchellh/packer/builder/profitbricks/step_create_server.go
@@ -26,34 +26,33 @@ func (s *stepCreateServer) Run(state multistep.StateBag) multistep.StepAction {
}
ui.Say("Creating Virtual Data Center...")
img := s.getImageId(c.Image, c)
+ alias := ""
+ if img == "" {
+ alias = s.getImageAlias(c.Image, c.Region, ui)
+ }
datacenter := profitbricks.Datacenter{
Properties: profitbricks.DatacenterProperties{
Name: c.SnapshotName,
Location: c.Region,
},
- Entities: profitbricks.DatacenterEntities{
- Servers: &profitbricks.Servers{
- Items: []profitbricks.Server{
+ }
+ server := profitbricks.Server{
+ Properties: profitbricks.ServerProperties{
+ Name: c.SnapshotName,
+ Ram: c.Ram,
+ Cores: c.Cores,
+ },
+ Entities: &profitbricks.ServerEntities{
+ Volumes: &profitbricks.Volumes{
+ Items: []profitbricks.Volume{
{
- Properties: profitbricks.ServerProperties{
- Name: c.SnapshotName,
- Ram: c.Ram,
- Cores: c.Cores,
- },
- Entities: &profitbricks.ServerEntities{
- Volumes: &profitbricks.Volumes{
- Items: []profitbricks.Volume{
- {
- Properties: profitbricks.VolumeProperties{
- Type: c.DiskType,
- Size: c.DiskSize,
- Name: c.SnapshotName,
- Image: img,
- },
- },
- },
- },
+ Properties: profitbricks.VolumeProperties{
+ Type: c.DiskType,
+ Size: c.DiskSize,
+ Name: c.SnapshotName,
+ ImageAlias: alias,
+ Image: img,
},
},
},
@@ -61,11 +60,11 @@ func (s *stepCreateServer) Run(state multistep.StateBag) multistep.StepAction {
},
}
if c.SSHKey != "" {
- datacenter.Entities.Servers.Items[0].Entities.Volumes.Items[0].Properties.SshKeys = []string{c.SSHKey}
+ server.Entities.Volumes.Items[0].Properties.SshKeys = []string{c.SSHKey}
}
if c.Comm.SSHPassword != "" {
- datacenter.Entities.Servers.Items[0].Entities.Volumes.Items[0].Properties.ImagePassword = c.Comm.SSHPassword
+ server.Entities.Volumes.Items[0].Properties.ImagePassword = c.Comm.SSHPassword
}
datacenter = profitbricks.CompositeCreateDatacenter(datacenter)
@@ -94,8 +93,20 @@ func (s *stepCreateServer) Run(state multistep.StateBag) multistep.StepAction {
state.Put("datacenter_id", datacenter.Id)
- lan := profitbricks.CreateLan(datacenter.Id, profitbricks.Lan{
- Properties: profitbricks.LanProperties{
+ server = profitbricks.CreateServer(datacenter.Id, server)
+ if server.StatusCode > 299 {
+ ui.Error(fmt.Sprintf("Error occurred %s", parseErrorMessage(server.Response)))
+ return multistep.ActionHalt
+ }
+
+ err = s.waitTillProvisioned(server.Headers.Get("Location"), *c)
+ if err != nil {
+ ui.Error(fmt.Sprintf("Error occurred while creating a server %s", err.Error()))
+ return multistep.ActionHalt
+ }
+
+ lan := profitbricks.CreateLan(datacenter.Id, profitbricks.CreateLanRequest{
+ Properties: profitbricks.CreateLanProperties{
Public: true,
Name: c.SnapshotName,
},
@@ -113,8 +124,8 @@ func (s *stepCreateServer) Run(state multistep.StateBag) multistep.StepAction {
}
lanId, _ := strconv.Atoi(lan.Id)
- nic := profitbricks.CreateNic(datacenter.Id, datacenter.Entities.Servers.Items[0].Id, profitbricks.Nic{
- Properties: profitbricks.NicProperties{
+ nic := profitbricks.CreateNic(datacenter.Id, server.Id, profitbricks.Nic{
+ Properties: &profitbricks.NicProperties{
Name: c.SnapshotName,
Lan: lanId,
Dhcp: true,
@@ -132,9 +143,9 @@ func (s *stepCreateServer) Run(state multistep.StateBag) multistep.StepAction {
return multistep.ActionHalt
}
- state.Put("volume_id", datacenter.Entities.Servers.Items[0].Entities.Volumes.Items[0].Id)
+ state.Put("volume_id", server.Entities.Volumes.Items[0].Id)
- server := profitbricks.GetServer(datacenter.Id, datacenter.Entities.Servers.Items[0].Id)
+ server = profitbricks.GetServer(datacenter.Id, server.Id)
state.Put("server_ip", server.Entities.Nics.Items[0].Properties.Ips[0])
@@ -225,6 +236,25 @@ func (d *stepCreateServer) getImageId(imageName string, c *Config) string {
return ""
}
+func (d *stepCreateServer) getImageAlias(imageAlias string, location string, ui packer.Ui) string {
+ if imageAlias == "" {
+ return ""
+ }
+ locations := profitbricks.GetLocation(location)
+ if len(locations.Properties.ImageAliases) > 0 {
+ for _, i := range locations.Properties.ImageAliases {
+ alias := ""
+ if i != "" {
+ alias = i
+ }
+ if alias != "" && strings.ToLower(alias) == strings.ToLower(imageAlias) {
+ return alias
+ }
+ }
+ }
+ return ""
+}
+
func parseErrorMessage(raw string) (toreturn string) {
var tmp map[string]interface{}
json.Unmarshal([]byte(raw), &tmp)
diff --git a/vendor/github.com/mitchellh/packer/builder/profitbricks/step_take_snapshot.go b/vendor/github.com/mitchellh/packer/builder/profitbricks/step_take_snapshot.go
index db63df73..822ea869 100644
--- a/vendor/github.com/mitchellh/packer/builder/profitbricks/step_take_snapshot.go
+++ b/vendor/github.com/mitchellh/packer/builder/profitbricks/step_take_snapshot.go
@@ -22,7 +22,7 @@ func (s *stepTakeSnapshot) Run(state multistep.StateBag) multistep.StepAction {
dcId := state.Get("datacenter_id").(string)
volumeId := state.Get("volume_id").(string)
- snapshot := profitbricks.CreateSnapshot(dcId, volumeId, c.SnapshotName)
+ snapshot := profitbricks.CreateSnapshot(dcId, volumeId, c.SnapshotName, "")
state.Put("snapshotname", c.SnapshotName)
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact.go b/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact.go
index 48fcb813..e0b3e875 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact.go
@@ -14,13 +14,14 @@ const BuilderId = "mitchellh.vmware"
// Artifact is the result of running the VMware builder, namely a set
// of files associated with the resulting machine.
type localArtifact struct {
+ id string
dir string
f []string
}
// NewLocalArtifact returns a VMware artifact containing the files
// in the given directory.
-func NewLocalArtifact(dir string) (packer.Artifact, error) {
+func NewLocalArtifact(id string, dir string) (packer.Artifact, error) {
files := make([]string, 0, 5)
visit := func(path string, info os.FileInfo, err error) error {
if err != nil {
@@ -37,6 +38,7 @@ func NewLocalArtifact(dir string) (packer.Artifact, error) {
}
return &localArtifact{
+ id: id,
dir: dir,
f: files,
}, nil
@@ -50,8 +52,8 @@ func (a *localArtifact) Files() []string {
return a.f
}
-func (*localArtifact) Id() string {
- return "VM"
+func (a *localArtifact) Id() string {
+ return a.id
}
func (a *localArtifact) String() string {
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact_test.go b/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact_test.go
index e081cc35..53b8364f 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact_test.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/common/artifact_test.go
@@ -29,7 +29,7 @@ func TestNewLocalArtifact(t *testing.T) {
t.Fatalf("err: %s", err)
}
- a, err := NewLocalArtifact(td)
+ a, err := NewLocalArtifact("vm1", td)
if err != nil {
t.Fatalf("err: %s", err)
}
@@ -37,6 +37,9 @@ func TestNewLocalArtifact(t *testing.T) {
if a.BuilderId() != BuilderId {
t.Fatalf("bad: %#v", a.BuilderId())
}
+ if a.Id() != "vm1" {
+ t.Fatalf("bad: %#v", a.Id())
+ }
if len(a.Files()) != 1 {
t.Fatalf("should length 1: %d", len(a.Files()))
}
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/iso/artifact.go b/vendor/github.com/mitchellh/packer/builder/vmware/iso/artifact.go
index d0e1a6d8..a0c3ceac 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/iso/artifact.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/iso/artifact.go
@@ -8,6 +8,7 @@ import (
// of files associated with the resulting machine.
type Artifact struct {
builderId string
+ id string
dir OutputDir
f []string
}
@@ -20,8 +21,8 @@ func (a *Artifact) Files() []string {
return a.f
}
-func (*Artifact) Id() string {
- return "VM"
+func (a *Artifact) Id() string {
+ return a.id
}
func (a *Artifact) String() string {
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/iso/builder.go b/vendor/github.com/mitchellh/packer/builder/vmware/iso/builder.go
index 42038b96..688f52d7 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/iso/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/iso/builder.go
@@ -200,6 +200,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
default:
dir = new(vmwcommon.LocalOutputDir)
}
+
+ exportOutputPath := b.config.OutputDir
+
if b.config.RemoteType != "" && b.config.Format != "" {
b.config.OutputDir = b.config.VMName
}
@@ -307,6 +310,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
&StepExport{
Format: b.config.Format,
SkipExport: b.config.SkipExport,
+ OutputDir: exportOutputPath,
},
}
@@ -332,7 +336,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
var files []string
if b.config.RemoteType != "" && b.config.Format != "" {
dir = new(vmwcommon.LocalOutputDir)
- dir.SetOutputDir(b.config.OutputDir)
+ dir.SetOutputDir(exportOutputPath)
files, err = dir.ListFiles()
} else {
files, err = state.Get("dir").(OutputDir).ListFiles()
@@ -349,6 +353,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
return &Artifact{
builderId: builderId,
+ id: b.config.VMName,
dir: dir,
f: files,
}, nil
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/iso/step_export.go b/vendor/github.com/mitchellh/packer/builder/vmware/iso/step_export.go
index 3d055ddb..91a2ce48 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/iso/step_export.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/iso/step_export.go
@@ -6,7 +6,6 @@ import (
"net/url"
"os"
"os/exec"
- "path/filepath"
"runtime"
"strings"
@@ -17,9 +16,10 @@ import (
type StepExport struct {
Format string
SkipExport bool
+ OutputDir string
}
-func (s *StepExport) generateArgs(c *Config, outputPath string, hidePassword bool) []string {
+func (s *StepExport) generateArgs(c *Config, hidePassword bool) []string {
password := url.QueryEscape(c.RemotePassword)
if hidePassword {
password = "****"
@@ -29,7 +29,7 @@ func (s *StepExport) generateArgs(c *Config, outputPath string, hidePassword boo
"--skipManifestCheck",
"-tt=" + s.Format,
"vi://" + c.RemoteUser + ":" + password + "@" + c.RemoteHost + "/" + c.VMName,
- outputPath,
+ s.OutputDir,
}
return append(c.OVFToolOptions, args...)
}
@@ -45,6 +45,7 @@ func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction {
}
if c.RemoteType != "esx5" || s.Format == "" {
+ ui.Say("Skipping export of virtual machine (export is allowed only for ESXi and the format needs to be specified)...")
return multistep.ActionContinue
}
@@ -61,16 +62,18 @@ func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction {
}
// Export the VM
- outputPath := filepath.Join(c.VMName, c.VMName+"."+s.Format)
+ if s.OutputDir == "" {
+ s.OutputDir = c.VMName + "." + s.Format
+ }
if s.Format == "ova" {
- os.MkdirAll(outputPath, 0755)
+ os.MkdirAll(s.OutputDir, 0755)
}
ui.Say("Exporting virtual machine...")
- ui.Message(fmt.Sprintf("Executing: %s %s", ovftool, strings.Join(s.generateArgs(c, outputPath, true), " ")))
+ ui.Message(fmt.Sprintf("Executing: %s %s", ovftool, strings.Join(s.generateArgs(c, true), " ")))
var out bytes.Buffer
- cmd := exec.Command(ovftool, s.generateArgs(c, outputPath, false)...)
+ cmd := exec.Command(ovftool, s.generateArgs(c, false)...)
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
err := fmt.Errorf("Error exporting virtual machine: %s\n%s\n", err, out.String())
@@ -81,8 +84,6 @@ func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction {
ui.Message(fmt.Sprintf("%s", out.String()))
- state.Put("exportPath", outputPath)
-
return multistep.ActionContinue
}
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/vmx/builder.go b/vendor/github.com/mitchellh/packer/builder/vmware/vmx/builder.go
index c5c1f10b..894c3488 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/vmx/builder.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/vmx/builder.go
@@ -142,7 +142,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
return nil, errors.New("Build was halted.")
}
- return vmwcommon.NewLocalArtifact(b.config.OutputDir)
+ return vmwcommon.NewLocalArtifact(b.config.VMName, b.config.OutputDir)
}
// Cancel.
diff --git a/vendor/github.com/mitchellh/packer/builder/vmware/vmx/config.go b/vendor/github.com/mitchellh/packer/builder/vmware/vmx/config.go
index 93e8347c..145705fd 100644
--- a/vendor/github.com/mitchellh/packer/builder/vmware/vmx/config.go
+++ b/vendor/github.com/mitchellh/packer/builder/vmware/vmx/config.go
@@ -51,7 +51,8 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
// Defaults
if c.VMName == "" {
- c.VMName = fmt.Sprintf("packer-%s-{{timestamp}}", c.PackerBuildName)
+ c.VMName = fmt.Sprintf(
+ "packer-%s-%d", c.PackerBuildName, interpolate.InitTime.Unix())
}
// Prepare the errors
diff --git a/vendor/github.com/mitchellh/packer/command/meta.go b/vendor/github.com/mitchellh/packer/command/meta.go
index 187c364a..b8dfdfbf 100644
--- a/vendor/github.com/mitchellh/packer/command/meta.go
+++ b/vendor/github.com/mitchellh/packer/command/meta.go
@@ -120,9 +120,6 @@ func (m *Meta) FlagSet(n string, fs FlagSetFlags) *flag.FlagSet {
f.Var((*kvflag.Flag)(&m.flagVars), "var", "")
f.Var((*kvflag.FlagJSON)(&m.flagVars), "var-file", "")
}
- if len(m.flagVars) == 0 {
- m.flagVars = make(map[string]string)
- }
// Create an io.Writer that writes to our Ui properly for errors.
// This is kind of a hack, but it does the job. Basically: create
diff --git a/vendor/github.com/mitchellh/packer/command/plugin.go b/vendor/github.com/mitchellh/packer/command/plugin.go
index 4bc8b193..11baf472 100644
--- a/vendor/github.com/mitchellh/packer/command/plugin.go
+++ b/vendor/github.com/mitchellh/packer/command/plugin.go
@@ -26,9 +26,12 @@ import (
filebuilder "github.com/hashicorp/packer/builder/file"
googlecomputebuilder "github.com/hashicorp/packer/builder/googlecompute"
hypervisobuilder "github.com/hashicorp/packer/builder/hyperv/iso"
+ lxcbuilder "github.com/hashicorp/packer/builder/lxc"
+ lxdbuilder "github.com/hashicorp/packer/builder/lxd"
nullbuilder "github.com/hashicorp/packer/builder/null"
oneandonebuilder "github.com/hashicorp/packer/builder/oneandone"
openstackbuilder "github.com/hashicorp/packer/builder/openstack"
+ oracleocibuilder "github.com/hashicorp/packer/builder/oracle/oci"
parallelsisobuilder "github.com/hashicorp/packer/builder/parallels/iso"
parallelspvmbuilder "github.com/hashicorp/packer/builder/parallels/pvm"
profitbricksbuilder "github.com/hashicorp/packer/builder/profitbricks"
@@ -54,6 +57,7 @@ import (
vagrantpostprocessor "github.com/hashicorp/packer/post-processor/vagrant"
vagrantcloudpostprocessor "github.com/hashicorp/packer/post-processor/vagrant-cloud"
vspherepostprocessor "github.com/hashicorp/packer/post-processor/vsphere"
+ vspheretemplatepostprocessor "github.com/hashicorp/packer/post-processor/vsphere-template"
ansibleprovisioner "github.com/hashicorp/packer/provisioner/ansible"
ansiblelocalprovisioner "github.com/hashicorp/packer/provisioner/ansible-local"
chefclientprovisioner "github.com/hashicorp/packer/provisioner/chef-client"
@@ -88,9 +92,12 @@ var Builders = map[string]packer.Builder{
"file": new(filebuilder.Builder),
"googlecompute": new(googlecomputebuilder.Builder),
"hyperv-iso": new(hypervisobuilder.Builder),
+ "lxc": new(lxcbuilder.Builder),
+ "lxd": new(lxdbuilder.Builder),
"null": new(nullbuilder.Builder),
"oneandone": new(oneandonebuilder.Builder),
"openstack": new(openstackbuilder.Builder),
+ "oracle-oci": new(oracleocibuilder.Builder),
"parallels-iso": new(parallelsisobuilder.Builder),
"parallels-pvm": new(parallelspvmbuilder.Builder),
"profitbricks": new(profitbricksbuilder.Builder),
@@ -136,6 +143,7 @@ var PostProcessors = map[string]packer.PostProcessor{
"vagrant": new(vagrantpostprocessor.PostProcessor),
"vagrant-cloud": new(vagrantcloudpostprocessor.PostProcessor),
"vsphere": new(vspherepostprocessor.PostProcessor),
+ "vsphere-template": new(vspheretemplatepostprocessor.PostProcessor),
}
var pluginRegexp = regexp.MustCompile("packer-(builder|post-processor|provisioner)-(.+)")
diff --git a/vendor/github.com/mitchellh/packer/communicator/none/communicator.go b/vendor/github.com/mitchellh/packer/communicator/none/communicator.go
index 4e08aba1..5c14a428 100644
--- a/vendor/github.com/mitchellh/packer/communicator/none/communicator.go
+++ b/vendor/github.com/mitchellh/packer/communicator/none/communicator.go
@@ -2,9 +2,10 @@ package none
import (
"errors"
- "github.com/hashicorp/packer/packer"
"io"
"os"
+
+ "github.com/hashicorp/packer/packer"
)
type comm struct {
diff --git a/vendor/github.com/mitchellh/packer/communicator/ssh/communicator.go b/vendor/github.com/mitchellh/packer/communicator/ssh/communicator.go
index a6a7f9cf..c10e97dc 100644
--- a/vendor/github.com/mitchellh/packer/communicator/ssh/communicator.go
+++ b/vendor/github.com/mitchellh/packer/communicator/ssh/communicator.go
@@ -46,8 +46,8 @@ type Config struct {
// Pty, if true, will request a pty from the remote end.
Pty bool
- // DisableAgent, if true, will not forward the SSH agent.
- DisableAgent bool
+ // DisableAgentForwarding, if true, will not forward the SSH agent.
+ DisableAgentForwarding bool
// HandshakeTimeout limits the amount of time we'll wait to handshake before
// saying the connection failed.
@@ -327,7 +327,7 @@ func (c *comm) connectToAgent() {
return
}
- if c.config.DisableAgent {
+ if c.config.DisableAgentForwarding {
log.Printf("[INFO] SSH agent forwarding is disabled.")
return
}
@@ -693,6 +693,11 @@ func (c *comm) scpSession(scpCommand string, f func(io.Writer, *bufio.Reader) er
// Otherwise, we have an ExitErorr, meaning we can just read
// the exit status
log.Printf("non-zero exit status: %d", exitErr.ExitStatus())
+ stdoutB, err := ioutil.ReadAll(stdoutR)
+ if err != nil {
+ return err
+ }
+ log.Printf("scp output: %s", stdoutB)
// If we exited with status 127, it means SCP isn't available.
// Return a more descriptive error for that.
diff --git a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud.json b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud.json
index d96cafa5..8f83262f 100644
--- a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud.json
+++ b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud.json
@@ -12,6 +12,7 @@
"source_image":"centos_7_2_64_40G_base_20170222.vhd",
"ssh_username":"root",
"instance_type":"ecs.n1.tiny",
+ "internet_charge_type":"PayByTraffic",
"io_optimized":"true"
}],
"provisioners": [{
diff --git a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_windows.json b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_windows.json
index 6a530ef3..9acb6267 100644
--- a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_windows.json
+++ b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_windows.json
@@ -12,6 +12,7 @@
"source_image":"win2008r2_64_ent_sp1_zh-cn_40G_alibase_20170622.vhd",
"instance_type":"ecs.n1.tiny",
"io_optimized":"true",
+ "internet_charge_type":"PayByTraffic",
"image_force_delete":"true",
"communicator": "winrm",
"winrm_port": 5985,
diff --git a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_with_data_disk.json b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_with_data_disk.json
index 88412d98..31f10ab7 100644
--- a/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_with_data_disk.json
+++ b/vendor/github.com/mitchellh/packer/examples/alicloud/basic/alicloud_with_data_disk.json
@@ -12,6 +12,7 @@
"source_image":"centos_7_2_64_40G_base_20170222.vhd",
"ssh_username":"root",
"instance_type":"ecs.n1.tiny",
+ "internet_charge_type":"PayByTraffic",
"io_optimized":"true",
"image_disk_mappings":[{"disk_name":"data1","disk_size":20},{"disk_name":"data1","disk_size":20,"disk_device":"/dev/xvdz"}]
}],
diff --git a/vendor/github.com/mitchellh/packer/examples/alicloud/chef/alicloud.json b/vendor/github.com/mitchellh/packer/examples/alicloud/chef/alicloud.json
index c04e0600..aa108bac 100644
--- a/vendor/github.com/mitchellh/packer/examples/alicloud/chef/alicloud.json
+++ b/vendor/github.com/mitchellh/packer/examples/alicloud/chef/alicloud.json
@@ -14,6 +14,7 @@
"instance_type":"ecs.n1.medium",
"io_optimized":"true",
"image_force_delete":"true",
+ "internet_charge_type":"PayByTraffic",
"ssh_password":"Test1234",
"user_data_file":"examples/alicloud/chef/user_data.sh"
}],
diff --git a/vendor/github.com/mitchellh/packer/examples/alicloud/jenkins/alicloud.json b/vendor/github.com/mitchellh/packer/examples/alicloud/jenkins/alicloud.json
index 481c39b0..f1f9e989 100644
--- a/vendor/github.com/mitchellh/packer/examples/alicloud/jenkins/alicloud.json
+++ b/vendor/github.com/mitchellh/packer/examples/alicloud/jenkins/alicloud.json
@@ -13,6 +13,7 @@
"ssh_username":"root",
"instance_type":"ecs.n1.medium",
"io_optimized":"true",
+ "internet_charge_type":"PayByTraffic",
"image_force_delete":"true",
"ssh_password":"Test12345"
}],
diff --git a/vendor/github.com/mitchellh/packer/examples/azure/windows_custom_image.json b/vendor/github.com/mitchellh/packer/examples/azure/windows_custom_image.json
index b411555a..018ba34d 100644
--- a/vendor/github.com/mitchellh/packer/examples/azure/windows_custom_image.json
+++ b/vendor/github.com/mitchellh/packer/examples/azure/windows_custom_image.json
@@ -4,7 +4,8 @@
"client_secret": "{{env `ARM_CLIENT_SECRET`}}",
"resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
"storage_account": "{{env `ARM_STORAGE_ACCOUNT`}}",
- "subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}"
+ "subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
+ "object_id": "{{env `ARM_OJBECT_ID`}}"
},
"builders": [
{
@@ -15,6 +16,7 @@
"resource_group_name": "{{user `resource_group`}}",
"storage_account": "{{user `storage_account`}}",
"subscription_id": "{{user `subscription_id`}}",
+ "object_id": "{{user `object_id`}}",
"capture_container_name": "images",
"capture_name_prefix": "packer",
diff --git a/vendor/github.com/mitchellh/packer/fix/fixer.go b/vendor/github.com/mitchellh/packer/fix/fixer.go
index 3c285c4b..938a7160 100644
--- a/vendor/github.com/mitchellh/packer/fix/fixer.go
+++ b/vendor/github.com/mitchellh/packer/fix/fixer.go
@@ -20,17 +20,19 @@ var FixerOrder []string
func init() {
Fixers = map[string]Fixer{
- "iso-md5": new(FixerISOMD5),
- "createtime": new(FixerCreateTime),
- "pp-vagrant-override": new(FixerVagrantPPOverride),
- "virtualbox-gaattach": new(FixerVirtualBoxGAAttach),
- "virtualbox-rename": new(FixerVirtualBoxRename),
- "vmware-rename": new(FixerVMwareRename),
- "parallels-headless": new(FixerParallelsHeadless),
- "parallels-deprecations": new(FixerParallelsDeprecations),
- "sshkeypath": new(FixerSSHKeyPath),
- "manifest-filename": new(FixerManifestFilename),
- "amazon-shutdown_behavior": new(FixerAmazonShutdownBehavior),
+ "iso-md5": new(FixerISOMD5),
+ "createtime": new(FixerCreateTime),
+ "pp-vagrant-override": new(FixerVagrantPPOverride),
+ "virtualbox-gaattach": new(FixerVirtualBoxGAAttach),
+ "virtualbox-rename": new(FixerVirtualBoxRename),
+ "vmware-rename": new(FixerVMwareRename),
+ "parallels-headless": new(FixerParallelsHeadless),
+ "parallels-deprecations": new(FixerParallelsDeprecations),
+ "sshkeypath": new(FixerSSHKeyPath),
+ "sshdisableagent": new(FixerSSHDisableAgent),
+ "manifest-filename": new(FixerManifestFilename),
+ "amazon-shutdown_behavior": new(FixerAmazonShutdownBehavior),
+ "amazon-enhanced-networking": new(FixerAmazonEnhancedNetworking),
}
FixerOrder = []string{
@@ -43,7 +45,9 @@ func init() {
"parallels-headless",
"parallels-deprecations",
"sshkeypath",
+ "sshdisableagent",
"manifest-filename",
"amazon-shutdown_behavior",
+ "amazon-enhanced-networking",
}
}
diff --git a/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking.go b/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking.go
new file mode 100644
index 00000000..4c9330eb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking.go
@@ -0,0 +1,45 @@
+package fix
+
+import (
+ "github.com/mitchellh/mapstructure"
+)
+
+// FixerAmazonEnhancedNetworking is a Fixer that replaces the "enhanced_networking" configuration key
+// with the clearer "ena_support". This disambiguates ena_support from sriov_support.
+type FixerAmazonEnhancedNetworking struct{}
+
+func (FixerAmazonEnhancedNetworking) Fix(input map[string]interface{}) (map[string]interface{}, error) {
+ // Our template type we'll use for this fixer only
+ type template struct {
+ Builders []map[string]interface{}
+ }
+
+ // Decode the input into our structure, if we can
+ var tpl template
+ if err := mapstructure.Decode(input, &tpl); err != nil {
+ return nil, err
+ }
+
+ // Go through each builder and replace the enhanced_networking if we can
+ for _, builder := range tpl.Builders {
+ enhancedNetworkingRaw, ok := builder["enhanced_networking"]
+ if !ok {
+ continue
+ }
+ enhancedNetworkingString, ok := enhancedNetworkingRaw.(bool)
+ if !ok {
+ // TODO: error?
+ continue
+ }
+
+ delete(builder, "enhanced_networking")
+ builder["ena_support"] = enhancedNetworkingString
+ }
+
+ input["builders"] = tpl.Builders
+ return input, nil
+}
+
+func (FixerAmazonEnhancedNetworking) Synopsis() string {
+ return `Replaces "enhanced_networking" in builders with "ena_support"`
+}
diff --git a/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking_test.go b/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking_test.go
new file mode 100644
index 00000000..f8b5be17
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/fix/fixer_amazon_enhanced_networking_test.go
@@ -0,0 +1,64 @@
+package fix
+
+import (
+ "reflect"
+ "testing"
+)
+
+func TestFixerAmazonEnhancedNetworking_Impl(t *testing.T) {
+ var _ Fixer = new(FixerAmazonEnhancedNetworking)
+}
+
+func TestFixerAmazonEnhancedNetworking(t *testing.T) {
+ cases := []struct {
+ Input map[string]interface{}
+ Expected map[string]interface{}
+ }{
+ // Attach field == false
+ {
+ Input: map[string]interface{}{
+ "type": "ebs",
+ "enhanced_networking": false,
+ },
+
+ Expected: map[string]interface{}{
+ "type": "ebs",
+ "ena_support": false,
+ },
+ },
+
+ // Attach field == true
+ {
+ Input: map[string]interface{}{
+ "type": "ebs",
+ "enhanced_networking": true,
+ },
+
+ Expected: map[string]interface{}{
+ "type": "ebs",
+ "ena_support": true,
+ },
+ },
+ }
+
+ for _, tc := range cases {
+ var f FixerAmazonEnhancedNetworking
+
+ input := map[string]interface{}{
+ "builders": []map[string]interface{}{tc.Input},
+ }
+
+ expected := map[string]interface{}{
+ "builders": []map[string]interface{}{tc.Expected},
+ }
+
+ output, err := f.Fix(input)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if !reflect.DeepEqual(output, expected) {
+ t.Fatalf("unexpected: %#v\nexpected: %#v\n", output, expected)
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent.go b/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent.go
new file mode 100644
index 00000000..b399af52
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent.go
@@ -0,0 +1,50 @@
+package fix
+
+import (
+ "github.com/mitchellh/mapstructure"
+)
+
+// FixerSSHDisableAgent changes the "ssh_disable_agent" of a template
+// to "ssh_disable_agent_forwarding".
+type FixerSSHDisableAgent struct{}
+
+func (FixerSSHDisableAgent) Fix(input map[string]interface{}) (map[string]interface{}, error) {
+ // The type we'll decode into; we only care about builders
+ type template struct {
+ Builders []map[string]interface{}
+ }
+
+ // Decode the input into our structure, if we can
+ var tpl template
+ if err := mapstructure.Decode(input, &tpl); err != nil {
+ return nil, err
+ }
+
+ for _, builder := range tpl.Builders {
+ sshDisableAgentRaw, ok := builder["ssh_disable_agent"]
+ if !ok {
+ continue
+ }
+
+ sshDisableAgent, ok := sshDisableAgentRaw.(bool)
+ if !ok {
+ continue
+ }
+
+ // only assign to ssh_disable_agent_forwarding if it doesn't
+ // already exist; otherwise we'll just ignore ssh_disable_agent
+ _, sshDisableAgentIncluded := builder["ssh_disable_agent_forwarding"]
+ if !sshDisableAgentIncluded {
+ builder["ssh_disable_agent_forwarding"] = sshDisableAgent
+ }
+
+ delete(builder, "ssh_disable_agent")
+ }
+
+ input["builders"] = tpl.Builders
+ return input, nil
+}
+
+func (FixerSSHDisableAgent) Synopsis() string {
+ return `Updates builders using "ssh_disable_agent" to use "ssh_disable_agent_forwarding"`
+}
diff --git a/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent_test.go b/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent_test.go
new file mode 100644
index 00000000..c38f9c58
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/fix/fixer_sshdisableagent_test.go
@@ -0,0 +1,83 @@
+package fix
+
+import (
+ "reflect"
+ "testing"
+)
+
+func TestFixerSSHDisableAgent_Impl(t *testing.T) {
+ var _ Fixer = new(FixerSSHDisableAgent)
+}
+
+func TestFixerSSHDisableAgent_Fix(t *testing.T) {
+ cases := []struct {
+ Input map[string]interface{}
+ Expected map[string]interface{}
+ }{
+ // No disable_agent field
+ {
+ Input: map[string]interface{}{
+ "type": "virtualbox",
+ },
+
+ Expected: map[string]interface{}{
+ "type": "virtualbox",
+ },
+ },
+
+ // disable_agent_forwarding without disable_agent
+ {
+ Input: map[string]interface{}{
+ "ssh_disable_agent_forwarding": true,
+ },
+
+ Expected: map[string]interface{}{
+ "ssh_disable_agent_forwarding": true,
+ },
+ },
+
+ // disable_agent without disable_agent_forwarding
+ {
+ Input: map[string]interface{}{
+ "ssh_disable_agent": true,
+ },
+
+ Expected: map[string]interface{}{
+ "ssh_disable_agent_forwarding": true,
+ },
+ },
+
+ // disable_agent and disable_agent_forwarding
+ {
+ Input: map[string]interface{}{
+ "ssh_disable_agent": true,
+ "ssh_disable_agent_forwarding": false,
+ },
+
+ Expected: map[string]interface{}{
+ "ssh_disable_agent_forwarding": false,
+ },
+ },
+ }
+
+ for _, tc := range cases {
+ var f FixerSSHDisableAgent
+
+ input := map[string]interface{}{
+ "builders": []map[string]interface{}{tc.Input},
+ }
+
+ expected := map[string]interface{}{
+ "builders": []map[string]interface{}{tc.Expected},
+ }
+
+ output, err := f.Fix(input)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
+
+ if !reflect.DeepEqual(output, expected) {
+ t.Fatalf("unexpected: %#v\nexpected: %#v\n", output, expected)
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/helper/communicator/config.go b/vendor/github.com/mitchellh/packer/helper/communicator/config.go
index a39262ab..243ca224 100644
--- a/vendor/github.com/mitchellh/packer/helper/communicator/config.go
+++ b/vendor/github.com/mitchellh/packer/helper/communicator/config.go
@@ -16,23 +16,23 @@ type Config struct {
Type string `mapstructure:"communicator"`
// SSH
- SSHHost string `mapstructure:"ssh_host"`
- SSHPort int `mapstructure:"ssh_port"`
- SSHUsername string `mapstructure:"ssh_username"`
- SSHPassword string `mapstructure:"ssh_password"`
- SSHPrivateKey string `mapstructure:"ssh_private_key_file"`
- SSHPty bool `mapstructure:"ssh_pty"`
- SSHTimeout time.Duration `mapstructure:"ssh_timeout"`
- SSHAgentAuth bool `mapstructure:"ssh_agent_auth"`
- SSHDisableAgent bool `mapstructure:"ssh_disable_agent"`
- SSHHandshakeAttempts int `mapstructure:"ssh_handshake_attempts"`
- SSHBastionHost string `mapstructure:"ssh_bastion_host"`
- SSHBastionPort int `mapstructure:"ssh_bastion_port"`
- SSHBastionAgentAuth bool `mapstructure:"ssh_bastion_agent_auth"`
- SSHBastionUsername string `mapstructure:"ssh_bastion_username"`
- SSHBastionPassword string `mapstructure:"ssh_bastion_password"`
- SSHBastionPrivateKey string `mapstructure:"ssh_bastion_private_key_file"`
- SSHFileTransferMethod string `mapstructure:"ssh_file_transfer_method"`
+ SSHHost string `mapstructure:"ssh_host"`
+ SSHPort int `mapstructure:"ssh_port"`
+ SSHUsername string `mapstructure:"ssh_username"`
+ SSHPassword string `mapstructure:"ssh_password"`
+ SSHPrivateKey string `mapstructure:"ssh_private_key_file"`
+ SSHPty bool `mapstructure:"ssh_pty"`
+ SSHTimeout time.Duration `mapstructure:"ssh_timeout"`
+ SSHAgentAuth bool `mapstructure:"ssh_agent_auth"`
+ SSHDisableAgentForwarding bool `mapstructure:"ssh_disable_agent_forwarding"`
+ SSHHandshakeAttempts int `mapstructure:"ssh_handshake_attempts"`
+ SSHBastionHost string `mapstructure:"ssh_bastion_host"`
+ SSHBastionPort int `mapstructure:"ssh_bastion_port"`
+ SSHBastionAgentAuth bool `mapstructure:"ssh_bastion_agent_auth"`
+ SSHBastionUsername string `mapstructure:"ssh_bastion_username"`
+ SSHBastionPassword string `mapstructure:"ssh_bastion_password"`
+ SSHBastionPrivateKey string `mapstructure:"ssh_bastion_private_key_file"`
+ SSHFileTransferMethod string `mapstructure:"ssh_file_transfer_method"`
// WinRM
WinRMUser string `mapstructure:"winrm_username"`
diff --git a/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_ssh.go b/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_ssh.go
index 2daee1be..669d5241 100644
--- a/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_ssh.go
+++ b/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_ssh.go
@@ -160,11 +160,11 @@ func (s *StepConnectSSH) waitForSSH(state multistep.StateBag, cancel <-chan stru
// Then we attempt to connect via SSH
config := &ssh.Config{
- Connection: connFunc,
- SSHConfig: sshConfig,
- Pty: s.Config.SSHPty,
- DisableAgent: s.Config.SSHDisableAgent,
- UseSftp: s.Config.SSHFileTransferMethod == "sftp",
+ Connection: connFunc,
+ SSHConfig: sshConfig,
+ Pty: s.Config.SSHPty,
+ DisableAgentForwarding: s.Config.SSHDisableAgentForwarding,
+ UseSftp: s.Config.SSHFileTransferMethod == "sftp",
}
log.Println("[INFO] Attempting SSH connection...")
diff --git a/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_winrm.go b/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_winrm.go
index 2318bc1c..14f5cfc9 100644
--- a/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_winrm.go
+++ b/vendor/github.com/mitchellh/packer/helper/communicator/step_connect_winrm.go
@@ -1,13 +1,17 @@
package communicator
import (
+ "bytes"
"errors"
"fmt"
+ "io"
"log"
+ "strings"
"time"
"github.com/hashicorp/packer/communicator/winrm"
"github.com/hashicorp/packer/packer"
+ winrmcmd "github.com/masterzen/winrm"
"github.com/mitchellh/multistep"
)
@@ -141,6 +145,39 @@ func (s *StepConnectWinRM) waitForWinRM(state multistep.StateBag, cancel <-chan
break
}
+ // run an "echo" command to make sure winrm is actually connected before moving on.
+ var connectCheckCommand = winrmcmd.Powershell(`if (Test-Path variable:global:ProgressPreference){$ProgressPreference='SilentlyContinue'}; echo "WinRM connected."`)
+ var retryableSleep = 5 * time.Second
+ // run an "echo" command to make sure that the winrm is connected
+ for {
+ cmd := &packer.RemoteCmd{Command: connectCheckCommand}
+ var buf, buf2 bytes.Buffer
+ cmd.Stdout = &buf
+ cmd.Stdout = io.MultiWriter(cmd.Stdout, &buf2)
+ select {
+ case <-cancel:
+ log.Println("WinRM wait canceled, exiting loop")
+ return comm, fmt.Errorf("WinRM wait canceled")
+ case <-time.After(retryableSleep):
+ }
+
+ log.Printf("Checking that WinRM is connected with: '%s'", connectCheckCommand)
+ ui := state.Get("ui").(packer.Ui)
+ err := cmd.StartWithUi(comm, ui)
+
+ if err != nil {
+ log.Printf("Communication connection err: %s", err)
+ continue
+ }
+
+ log.Printf("Connected to machine")
+ stdoutToRead := buf2.String()
+ if !strings.Contains(stdoutToRead, "WinRM connected.") {
+ log.Printf("echo didn't succeed; retrying...")
+ continue
+ }
+ break
+ }
return comm, nil
}
diff --git a/vendor/github.com/mitchellh/packer/packer/communicator.go b/vendor/github.com/mitchellh/packer/packer/communicator.go
index ad6a9a5b..7f01f76c 100644
--- a/vendor/github.com/mitchellh/packer/packer/communicator.go
+++ b/vendor/github.com/mitchellh/packer/packer/communicator.go
@@ -5,6 +5,7 @@ import (
"os"
"strings"
"sync"
+ "unicode"
"github.com/mitchellh/iochan"
)
@@ -154,11 +155,11 @@ OutputLoop:
// Make sure we finish off stdout/stderr because we may have gotten
// a message from the exit channel before finishing these first.
for output := range stdoutCh {
- ui.Message(strings.TrimSpace(output))
+ ui.Message(r.cleanOutputLine(output))
}
for output := range stderrCh {
- ui.Message(strings.TrimSpace(output))
+ ui.Message(r.cleanOutputLine(output))
}
return nil
@@ -196,7 +197,7 @@ func (r *RemoteCmd) Wait() {
// UI output when we're reading from a remote command.
func (r *RemoteCmd) cleanOutputLine(line string) string {
// Trim surrounding whitespace
- line = strings.TrimSpace(line)
+ line = strings.TrimRightFunc(line, unicode.IsSpace)
// Trim up to the first carriage return, since that text would be
// lost anyways.
diff --git a/vendor/github.com/mitchellh/packer/packer/config_file_unix.go b/vendor/github.com/mitchellh/packer/packer/config_file_unix.go
index 82260c2a..512ac42e 100644
--- a/vendor/github.com/mitchellh/packer/packer/config_file_unix.go
+++ b/vendor/github.com/mitchellh/packer/packer/config_file_unix.go
@@ -1,4 +1,4 @@
-// +build darwin freebsd linux netbsd openbsd
+// +build darwin freebsd linux netbsd openbsd solaris
package packer
diff --git a/vendor/github.com/mitchellh/packer/packer/plugin/plugin_test.go b/vendor/github.com/mitchellh/packer/packer/plugin/plugin_test.go
index d35e7bb7..d5867148 100644
--- a/vendor/github.com/mitchellh/packer/packer/plugin/plugin_test.go
+++ b/vendor/github.com/mitchellh/packer/packer/plugin/plugin_test.go
@@ -2,12 +2,13 @@ package plugin
import (
"fmt"
- "github.com/hashicorp/packer/packer"
"log"
"os"
"os/exec"
"testing"
"time"
+
+ "github.com/hashicorp/packer/packer"
)
func helperProcess(s ...string) *exec.Cmd {
@@ -48,7 +49,7 @@ func TestHelperProcess(*testing.T) {
os.Exit(2)
}
- cmd, args := args[0], args[1:]
+ cmd, _ := args[0], args[1:]
switch cmd {
case "bad-version":
fmt.Printf("%s1|tcp|:1234\n", APIVersion)
diff --git a/vendor/github.com/mitchellh/packer/packer/rpc/communicator.go b/vendor/github.com/mitchellh/packer/packer/rpc/communicator.go
index bb085bd4..fbfe0c53 100644
--- a/vendor/github.com/mitchellh/packer/packer/rpc/communicator.go
+++ b/vendor/github.com/mitchellh/packer/packer/rpc/communicator.go
@@ -111,8 +111,7 @@ func (c *communicator) Start(cmd *packer.RemoteCmd) (err error) {
var finished CommandFinished
decoder := gob.NewDecoder(conn)
- err = decoder.Decode(&finished)
- if err != nil {
+ if err := decoder.Decode(&finished); err != nil {
log.Printf("[ERR] Error decoding response stream %d: %s",
responseStreamId, err)
cmd.SetExited(123)
@@ -130,12 +129,7 @@ func (c *communicator) Start(cmd *packer.RemoteCmd) (err error) {
func (c *communicator) Upload(path string, r io.Reader, fi *os.FileInfo) (err error) {
// Pipe the reader through to the connection
streamId := c.mux.NextId()
- var wg sync.WaitGroup
- wg.Add(1)
- go func() {
- defer wg.Done()
- serveSingleCopy("uploadData", c.mux, streamId, nil, r)
- }()
+ go serveSingleCopy("uploadData", c.mux, streamId, nil, r)
args := CommunicatorUploadArgs{
Path: path,
@@ -147,7 +141,6 @@ func (c *communicator) Upload(path string, r io.Reader, fi *os.FileInfo) (err er
}
err = c.client.Call("Communicator.Upload", &args, new(interface{}))
- wg.Wait()
return
}
diff --git a/vendor/github.com/mitchellh/packer/packer/telemetry.go b/vendor/github.com/mitchellh/packer/packer/telemetry.go
index 5e66acd1..b8f94b11 100644
--- a/vendor/github.com/mitchellh/packer/packer/telemetry.go
+++ b/vendor/github.com/mitchellh/packer/packer/telemetry.go
@@ -113,7 +113,7 @@ func (c *CheckpointTelemetry) Finalize(command string, errCode int, err error) e
}
params.Payload = extra
- ctx, cancel := context.WithTimeout(context.Background(), 550*time.Millisecond)
+ ctx, cancel := context.WithTimeout(context.Background(), 750*time.Millisecond)
defer cancel()
return checkpoint.Report(ctx, params)
diff --git a/vendor/github.com/mitchellh/packer/plugin/builder-lxc/main.go b/vendor/github.com/mitchellh/packer/plugin/builder-lxc/main.go
new file mode 100644
index 00000000..0329b8c8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/plugin/builder-lxc/main.go
@@ -0,0 +1,15 @@
+package main
+
+import (
+ "github.com/hashicorp/packer/builder/lxc"
+ "github.com/hashicorp/packer/packer/plugin"
+)
+
+func main() {
+ server, err := plugin.Server()
+ if err != nil {
+ panic(err)
+ }
+ server.RegisterBuilder(new(lxc.Builder))
+ server.Serve()
+}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/googlecompute-export/post-processor.go b/vendor/github.com/mitchellh/packer/post-processor/googlecompute-export/post-processor.go
index 9fd39aa4..8a5befbc 100644
--- a/vendor/github.com/mitchellh/packer/post-processor/googlecompute-export/post-processor.go
+++ b/vendor/github.com/mitchellh/packer/post-processor/googlecompute-export/post-processor.go
@@ -120,14 +120,7 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac
}
// Run the steps.
- if p.config.PackerDebug {
- p.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: common.MultistepDebugFn(ui),
- }
- } else {
- p.runner = &multistep.BasicRunner{Steps: steps}
- }
+ p.runner = common.NewRunner(steps, p.config.PackerConfig, ui)
p.runner.Run(state)
}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/shell-local/post-processor.go b/vendor/github.com/mitchellh/packer/post-processor/shell-local/post-processor.go
index c2bd2d5c..5867db97 100644
--- a/vendor/github.com/mitchellh/packer/post-processor/shell-local/post-processor.go
+++ b/vendor/github.com/mitchellh/packer/post-processor/shell-local/post-processor.go
@@ -197,6 +197,23 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac
script)
}
}
+ ui.Say("\n" +
+ "--------------------------------------------------------------\n" +
+ "--------------------DEPRECATION WARNING-----------------------\n" +
+ "--------------------------------------------------------------\n" +
+ "The shell-local provisioner will be deprecated in version 1.2.0\n" +
+ "If you need access to packer variables in your post-processing \n" +
+ "shell scripts, please use the manifest post-processor\n" +
+ "(see https://www.packer.io/docs/post-processors/manifest.html).\n" +
+ "If you need additional information that's already in the artifact,\n" +
+ "please open a ticket so we can add it. If the manifest provisioner\n" +
+ "does not fit your use case, please comment on our deprecation ticket\n" +
+ "with your use case so we can make sure that the transition will be\n" +
+ "seamless for you: https://github.com/hashicorp/packer/issues/5330\n" +
+ "--------------------------------------------------------------\n" +
+ "--------------------DEPRECATION WARNING-----------------------\n" +
+ "--------------------------------------------------------------\n" +
+ "\n\n")
return artifact, true, nil
}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/post-processor.go b/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/post-processor.go
index 01575def..b8eeb710 100644
--- a/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/post-processor.go
+++ b/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/post-processor.go
@@ -164,15 +164,7 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac
}
// Run the steps
- if p.config.PackerDebug {
- p.runner = &multistep.DebugRunner{
- Steps: steps,
- PauseFn: common.MultistepDebugFn(ui),
- }
- } else {
- p.runner = &multistep.BasicRunner{Steps: steps}
- }
-
+ p.runner = common.NewRunner(steps, p.config.PackerConfig, ui)
p.runner.Run(state)
// If there was an error, return that
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/step_release_version.go b/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/step_release_version.go
index 7b6b25e9..cc4db611 100644
--- a/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/step_release_version.go
+++ b/vendor/github.com/mitchellh/packer/post-processor/vagrant-cloud/step_release_version.go
@@ -2,9 +2,10 @@ package vagrantcloud
import (
"fmt"
+ "strings"
+
"github.com/hashicorp/packer/packer"
"github.com/mitchellh/multistep"
- "strings"
)
type stepReleaseVersion struct {
@@ -30,7 +31,10 @@ func (s *stepReleaseVersion) Run(state multistep.StateBag) multistep.StepAction
if err != nil || (resp.StatusCode != 200) {
cloudErrors := &VagrantCloudErrors{}
- err = decodeBody(resp, cloudErrors)
+ if err := decodeBody(resp, cloudErrors); err != nil {
+ state.Put("error", fmt.Errorf("Error parsing provider response: %s", err))
+ return multistep.ActionHalt
+ }
if strings.Contains(cloudErrors.FormatErrors(), "already been released") {
ui.Message("Not releasing version, already released")
return multistep.ActionContinue
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/post-processor.go b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/post-processor.go
new file mode 100644
index 00000000..86c9f54b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/post-processor.go
@@ -0,0 +1,132 @@
+package vsphere_template
+
+import (
+ "context"
+ "fmt"
+ "net/url"
+ "strings"
+ "time"
+
+ "github.com/hashicorp/packer/common"
+ "github.com/hashicorp/packer/helper/config"
+ "github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/template/interpolate"
+ "github.com/mitchellh/multistep"
+ "github.com/vmware/govmomi"
+)
+
+var builtins = map[string]string{
+ "mitchellh.vmware-esx": "vmware",
+}
+
+type Config struct {
+ common.PackerConfig `mapstructure:",squash"`
+ Host string `mapstructure:"host"`
+ Insecure bool `mapstructure:"insecure"`
+ Username string `mapstructure:"username"`
+ Password string `mapstructure:"password"`
+ Datacenter string `mapstructure:"datacenter"`
+ Folder string `mapstructure:"folder"`
+
+ ctx interpolate.Context
+}
+
+type PostProcessor struct {
+ config Config
+ url *url.URL
+}
+
+func (p *PostProcessor) Configure(raws ...interface{}) error {
+ err := config.Decode(&p.config, &config.DecodeOpts{
+ Interpolate: true,
+ InterpolateContext: &p.config.ctx,
+ InterpolateFilter: &interpolate.RenderFilter{
+ Exclude: []string{},
+ },
+ }, raws...)
+
+ if err != nil {
+ return err
+ }
+
+ errs := new(packer.MultiError)
+ vc := map[string]*string{
+ "host": &p.config.Host,
+ "username": &p.config.Username,
+ "password": &p.config.Password,
+ }
+
+ for key, ptr := range vc {
+ if *ptr == "" {
+ errs = packer.MultiErrorAppend(
+ errs, fmt.Errorf("%s must be set", key))
+ }
+ }
+
+ if p.config.Folder != "" && !strings.HasPrefix(p.config.Folder, "/") {
+ errs = packer.MultiErrorAppend(
+ errs, fmt.Errorf("Folder must be bound to the root"))
+ }
+
+ sdk, err := url.Parse(fmt.Sprintf("https://%v/sdk", p.config.Host))
+ if err != nil {
+ errs = packer.MultiErrorAppend(
+ errs, fmt.Errorf("Error invalid vSphere sdk endpoint: %s", err))
+ }
+
+ sdk.User = url.UserPassword(p.config.Username, p.config.Password)
+ p.url = sdk
+
+ if len(errs.Errors) > 0 {
+ return errs
+ }
+ return nil
+}
+
+func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (packer.Artifact, bool, error) {
+ if _, ok := builtins[artifact.BuilderId()]; !ok {
+ return nil, false, fmt.Errorf("Unknown artifact type, can't build box: %s", artifact.BuilderId())
+ }
+
+ source := ""
+ for _, path := range artifact.Files() {
+ if strings.HasSuffix(path, ".vmx") {
+ source = path
+ break
+ }
+ }
+ // In some occasions the VM state is powered on and if we immediately try to mark as template
+ // (after the ESXi creates it) it will fail. If vSphere is given a few seconds this behavior doesn't reappear.
+ ui.Message("Waiting 10s for VMware vSphere to start")
+ time.Sleep(10 * time.Second)
+ c, err := govmomi.NewClient(context.Background(), p.url, p.config.Insecure)
+ if err != nil {
+ return nil, false, fmt.Errorf("Error connecting to vSphere: %s", err)
+ }
+
+ defer c.Logout(context.Background())
+
+ state := new(multistep.BasicStateBag)
+ state.Put("ui", ui)
+ state.Put("client", c)
+
+ steps := []multistep.Step{
+ &stepChooseDatacenter{
+ Datacenter: p.config.Datacenter,
+ },
+ &stepCreateFolder{
+ Folder: p.config.Folder,
+ },
+ &stepMarkAsTemplate{
+ VMName: artifact.Id(),
+ Source: source,
+ },
+ }
+ runner := common.NewRunnerWithPauseFn(steps, p.config.PackerConfig, ui, state)
+ runner.Run(state)
+
+ if rawErr, ok := state.GetOk("error"); ok {
+ return nil, false, rawErr.(error)
+ }
+ return artifact, true, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_choose_datacenter.go b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_choose_datacenter.go
new file mode 100644
index 00000000..51959b6d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_choose_datacenter.go
@@ -0,0 +1,35 @@
+package vsphere_template
+
+import (
+ "context"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "github.com/vmware/govmomi"
+ "github.com/vmware/govmomi/find"
+)
+
+type stepChooseDatacenter struct {
+ Datacenter string
+}
+
+func (s *stepChooseDatacenter) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+ cli := state.Get("client").(*govmomi.Client)
+ finder := find.NewFinder(cli.Client, false)
+
+ ui.Message("Choosing datacenter...")
+
+ dc, err := finder.DatacenterOrDefault(context.Background(), s.Datacenter)
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ state.Put("dcPath", dc.InventoryPath)
+
+ return multistep.ActionContinue
+}
+
+func (s *stepChooseDatacenter) Cleanup(multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_create_folder.go b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_create_folder.go
new file mode 100644
index 00000000..a0e64827
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_create_folder.go
@@ -0,0 +1,86 @@
+package vsphere_template
+
+import (
+ "context"
+ "fmt"
+ "path"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "github.com/vmware/govmomi"
+ "github.com/vmware/govmomi/object"
+)
+
+type stepCreateFolder struct {
+ Folder string
+}
+
+func (s *stepCreateFolder) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+ cli := state.Get("client").(*govmomi.Client)
+ dcPath := state.Get("dcPath").(string)
+
+ ui.Message("Creating or checking destination folders...")
+
+ base := path.Join(dcPath, "vm")
+ fullPath := path.Join(base, s.Folder)
+ si := object.NewSearchIndex(cli.Client)
+
+ var folders []string
+ var err error
+ var ref object.Reference
+
+ // We iterate over the path starting with full path
+ // If we don't find it, we save the folder name and continue with the previous path
+ // The iteration ends when we find an existing path otherwise it throws error
+ for {
+ ref, err = si.FindByInventoryPath(context.Background(), fullPath)
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ if ref == nil {
+ dir, folder := path.Split(fullPath)
+ fullPath = path.Clean(dir)
+
+ if fullPath == dcPath {
+ err = fmt.Errorf("vSphere base path %s not found", base)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ folders = append(folders, folder)
+ } else {
+ break
+ }
+ }
+
+ if root, ok := ref.(*object.Folder); ok {
+ for i := len(folders) - 1; i >= 0; i-- {
+ ui.Message(fmt.Sprintf("Creating folder: %v", folders[i]))
+
+ root, err = root.CreateFolder(context.Background(), folders[i])
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ fullPath = path.Join(fullPath, folders[i])
+ }
+ root.SetInventoryPath(fullPath)
+ state.Put("folder", root)
+ } else {
+ err = fmt.Errorf("folder not found: '%v'", ref)
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+func (s *stepCreateFolder) Cleanup(multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_mark_as_template.go b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_mark_as_template.go
new file mode 100644
index 00000000..0e546505
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/post-processor/vsphere-template/step_mark_as_template.go
@@ -0,0 +1,118 @@
+package vsphere_template
+
+import (
+ "context"
+ "fmt"
+ "path"
+ "strings"
+
+ "github.com/hashicorp/packer/packer"
+ "github.com/mitchellh/multistep"
+ "github.com/vmware/govmomi"
+ "github.com/vmware/govmomi/object"
+)
+
+type stepMarkAsTemplate struct {
+ VMName string
+ Source string
+}
+
+func (s *stepMarkAsTemplate) Run(state multistep.StateBag) multistep.StepAction {
+ ui := state.Get("ui").(packer.Ui)
+ cli := state.Get("client").(*govmomi.Client)
+ folder := state.Get("folder").(*object.Folder)
+ dcPath := state.Get("dcPath").(string)
+
+ ui.Message("Marking as a template...")
+
+ vm, err := findRuntimeVM(cli, dcPath, s.VMName)
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ host, err := vm.HostSystem(context.Background())
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ if err := vm.Unregister(context.Background()); err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ source := strings.Split(s.Source, "/vmfs/volumes/")[1]
+ i := strings.Index(source, "/")
+
+ path := (&object.DatastorePath{
+ Datastore: source[:i],
+ Path: source[i:],
+ }).String()
+
+ if err := unregisterPreviousVM(cli, folder, s.VMName); err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ task, err := folder.RegisterVM(context.Background(), path, s.VMName, true, nil, host)
+ if err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ if err = task.Wait(context.Background()); err != nil {
+ state.Put("error", err)
+ ui.Error(err.Error())
+ return multistep.ActionHalt
+ }
+
+ return multistep.ActionContinue
+}
+
+// We will use the virtual machine created by vmware-iso builder
+func findRuntimeVM(cli *govmomi.Client, dcPath, name string) (*object.VirtualMachine, error) {
+ si := object.NewSearchIndex(cli.Client)
+ fullPath := path.Join(dcPath, "vm", "Discovered virtual machine", name)
+
+ ref, err := si.FindByInventoryPath(context.Background(), fullPath)
+ if err != nil {
+ return nil, err
+ }
+
+ if ref == nil {
+ return nil, fmt.Errorf("VM at path %s not found", fullPath)
+ }
+
+ return ref.(*object.VirtualMachine), nil
+}
+
+// If in the target folder a virtual machine or template already exists
+// it will be removed to maintain consistency
+func unregisterPreviousVM(cli *govmomi.Client, folder *object.Folder, name string) error {
+ si := object.NewSearchIndex(cli.Client)
+ fullPath := path.Join(folder.InventoryPath, name)
+
+ ref, err := si.FindByInventoryPath(context.Background(), fullPath)
+ if err != nil {
+ return err
+ }
+
+ if ref != nil {
+ if vm, ok := ref.(*object.VirtualMachine); ok {
+ return vm.Unregister(context.Background())
+ } else {
+ return fmt.Errorf("an object name '%v' already exists", name)
+ }
+
+ }
+
+ return nil
+}
+
+func (s *stepMarkAsTemplate) Cleanup(multistep.StateBag) {}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner.go
index 1443c56d..548579b0 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner.go
@@ -1,5 +1,5 @@
// This package implements a provisioner for Packer that executes
-// shell scripts within the remote machine.
+// powershell scripts within the remote machine.
package powershell
import (
@@ -21,8 +21,6 @@ import (
"github.com/hashicorp/packer/template/interpolate"
)
-const DefaultRemotePath = "c:/Windows/Temp/script.ps1"
-
var retryableSleep = 2 * time.Second
type Config struct {
@@ -36,7 +34,7 @@ type Config struct {
// in the context of a single shell.
Inline []string
- // The local path of the shell script to upload and execute.
+ // The local path of the powershell script to upload and execute.
Script string
// An array of multiple scripts to run.
@@ -46,7 +44,7 @@ type Config struct {
// your command(s) are executed.
Vars []string `mapstructure:"environment_vars"`
- // The remote path where the local shell script will be uploaded to.
+ // The remote path where the local powershell script will be uploaded to.
// This should be set to a writable file that is in a pre-existing directory.
RemotePath string `mapstructure:"remote_path"`
@@ -137,7 +135,8 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
}
if p.config.RemotePath == "" {
- p.config.RemotePath = DefaultRemotePath
+ uuid := uuid.TimeOrderedUUID()
+ p.config.RemotePath = fmt.Sprintf(`c:/Windows/Temp/script-%s.ps1`, uuid)
}
if p.config.Scripts == nil {
@@ -216,12 +215,12 @@ func extractScript(p *Provisioner) (string, error) {
for _, command := range p.config.Inline {
log.Printf("Found command: %s", command)
if _, err := writer.WriteString(command + "\n"); err != nil {
- return "", fmt.Errorf("Error preparing shell script: %s", err)
+ return "", fmt.Errorf("Error preparing powershell script: %s", err)
}
}
if err := writer.Flush(); err != nil {
- return "", fmt.Errorf("Error preparing shell script: %s", err)
+ return "", fmt.Errorf("Error preparing powershell script: %s", err)
}
return temp.Name(), nil
@@ -243,12 +242,12 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
}
for _, path := range scripts {
- ui.Say(fmt.Sprintf("Provisioning with shell script: %s", path))
+ ui.Say(fmt.Sprintf("Provisioning with powershell script: %s", path))
log.Printf("Opening %s for reading", path)
f, err := os.Open(path)
if err != nil {
- return fmt.Errorf("Error opening shell script: %s", err)
+ return fmt.Errorf("Error opening powershell script: %s", err)
}
defer f.Close()
@@ -267,7 +266,6 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
if _, err := f.Seek(0, 0); err != nil {
return err
}
-
if err := comm.Upload(p.config.RemotePath, f, nil); err != nil {
return fmt.Errorf("Error uploading script: %s", err)
}
@@ -464,16 +462,16 @@ func (p *Provisioner) generateElevatedRunner(command string) (uploadedPath strin
tmpFile, err := ioutil.TempFile(os.TempDir(), "packer-elevated-shell.ps1")
writer := bufio.NewWriter(tmpFile)
if _, err := writer.WriteString(string(buffer.Bytes())); err != nil {
- return "", fmt.Errorf("Error preparing elevated shell script: %s", err)
+ return "", fmt.Errorf("Error preparing elevated powershell script: %s", err)
}
if err := writer.Flush(); err != nil {
- return "", fmt.Errorf("Error preparing elevated shell script: %s", err)
+ return "", fmt.Errorf("Error preparing elevated powershell script: %s", err)
}
tmpFile.Close()
f, err := os.Open(tmpFile.Name())
if err != nil {
- return "", fmt.Errorf("Error opening temporary elevated shell script: %s", err)
+ return "", fmt.Errorf("Error opening temporary elevated powershell script: %s", err)
}
defer f.Close()
@@ -482,7 +480,7 @@ func (p *Provisioner) generateElevatedRunner(command string) (uploadedPath strin
log.Printf("Uploading elevated shell wrapper for command [%s] to [%s] from [%s]", command, path, tmpFile.Name())
err = p.communicator.Upload(path, f, nil)
if err != nil {
- return "", fmt.Errorf("Error preparing elevated shell script: %s", err)
+ return "", fmt.Errorf("Error preparing elevated powershell script: %s", err)
}
// CMD formatted Path required for this op
diff --git a/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner_test.go
index a0d6d80c..73e85671 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/powershell/provisioner_test.go
@@ -41,6 +41,9 @@ func TestProvisionerPrepare_extractScript(t *testing.T) {
// File contents should contain 2 lines concatenated by newlines: foo\nbar
readFile, err := ioutil.ReadFile(file)
expectedContents := "foo\nbar\n"
+ if err != nil {
+ t.Fatalf("Should not be error: %s", err)
+ }
s := string(readFile[:])
if s != expectedContents {
t.Fatalf("Expected generated inlineScript to equal '%s', got '%s'", expectedContents, s)
@@ -64,7 +67,8 @@ func TestProvisionerPrepare_Defaults(t *testing.T) {
t.Fatalf("err: %s", err)
}
- if p.config.RemotePath != DefaultRemotePath {
+ matched, _ := regexp.MatchString("c:/Windows/Temp/script-.*.ps1", p.config.RemotePath)
+ if !matched {
t.Errorf("unexpected remote path: %s", p.config.RemotePath)
}
@@ -468,6 +472,7 @@ func TestProvisionerProvision_Scripts(t *testing.T) {
config["scripts"] = []string{tempFile.Name()}
config["packer_build_name"] = "foobuild"
config["packer_builder_type"] = "footype"
+ config["remote_path"] = "c:/Windows/Temp/script.ps1"
ui := testUi()
p := new(Provisioner)
@@ -514,6 +519,7 @@ func TestProvisionerProvision_ScriptsWithEnvVars(t *testing.T) {
envVars[0] = "FOO=BAR"
envVars[1] = "BAR=BAZ"
config["environment_vars"] = envVars
+ config["remote_path"] = "c:/Windows/Temp/script.ps1"
p := new(Provisioner)
comm := new(packer.MockCommunicator)
@@ -623,6 +629,7 @@ func TestProvisioner_createFlattenedEnvVars_windows(t *testing.T) {
func TestProvision_createCommandText(t *testing.T) {
config := testConfig()
+ config["remote_path"] = "c:/Windows/Temp/script.ps1"
p := new(Provisioner)
comm := new(packer.MockCommunicator)
p.communicator = comm
diff --git a/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner.go
index 6f1b6eee..1c4ad3bc 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner.go
@@ -1,4 +1,4 @@
-// This package implements a provisioner for Packer that executes
+// Package puppetmasterless implements a provisioner for Packer that executes
// Puppet on the remote machine, configured to apply a local manifest
// versus connecting to a Puppet master.
package puppetmasterless
@@ -12,6 +12,7 @@ import (
"github.com/hashicorp/packer/common"
"github.com/hashicorp/packer/helper/config"
"github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/provisioner"
"github.com/hashicorp/packer/template/interpolate"
)
@@ -61,10 +62,51 @@ type Config struct {
// If true, packer will ignore all exit-codes from a puppet run
IgnoreExitCodes bool `mapstructure:"ignore_exit_codes"`
+
+ // The Guest OS Type (unix or windows)
+ GuestOSType string `mapstructure:"guest_os_type"`
+}
+
+type guestOSTypeConfig struct {
+ stagingDir string
+ executeCommand string
+ facterVarsFmt string
+ modulePathJoiner string
+}
+
+var guestOSTypeConfigs = map[string]guestOSTypeConfig{
+ provisioner.UnixOSType: {
+ stagingDir: "/tmp/packer-puppet-masterless",
+ executeCommand: "cd {{.WorkingDir}} && " +
+ "{{.FacterVars}} {{if .Sudo}} sudo -E {{end}}" +
+ "puppet apply --verbose --modulepath='{{.ModulePath}}' " +
+ "{{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}}" +
+ "{{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}}" +
+ "--detailed-exitcodes " +
+ "{{if ne .ExtraArguments \"\"}}{{.ExtraArguments}} {{end}}" +
+ "{{.ManifestFile}}",
+ facterVarsFmt: "FACTER_%s='%s'",
+ modulePathJoiner: ":",
+ },
+ provisioner.WindowsOSType: {
+ stagingDir: "C:/Windows/Temp/packer-puppet-masterless",
+ executeCommand: "cd {{.WorkingDir}} && " +
+ "{{.FacterVars}} && " +
+ "puppet apply --verbose --modulepath='{{.ModulePath}}' " +
+ "{{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}}" +
+ "{{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}}" +
+ "--detailed-exitcodes " +
+ "{{if ne .ExtraArguments \"\"}}{{.ExtraArguments}} {{end}}" +
+ "{{.ManifestFile}}",
+ facterVarsFmt: "SET \"FACTER_%s=%s\" &",
+ modulePathJoiner: ";",
+ },
}
type Provisioner struct {
- config Config
+ config Config
+ guestOSTypeConfig guestOSTypeConfig
+ guestCommands *provisioner.GuestCommands
}
type ExecuteTemplate struct {
@@ -94,20 +136,32 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
}
// Set some defaults
+ if p.config.GuestOSType == "" {
+ p.config.GuestOSType = provisioner.DefaultOSType
+ }
+ p.config.GuestOSType = strings.ToLower(p.config.GuestOSType)
+
+ var ok bool
+ p.guestOSTypeConfig, ok = guestOSTypeConfigs[p.config.GuestOSType]
+ if !ok {
+ return fmt.Errorf("Invalid guest_os_type: \"%s\"", p.config.GuestOSType)
+ }
+
+ p.guestCommands, err = provisioner.NewGuestCommands(p.config.GuestOSType, !p.config.PreventSudo)
+ if err != nil {
+ return fmt.Errorf("Invalid guest_os_type: \"%s\"", p.config.GuestOSType)
+ }
+
if p.config.ExecuteCommand == "" {
- p.config.ExecuteCommand = "cd {{.WorkingDir}} && " +
- "{{.FacterVars}} {{if .Sudo}} sudo -E {{end}}" +
- "{{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}/{{end}}puppet apply " +
- "--verbose --modulepath='{{.ModulePath}}' " +
- "{{if ne .HieraConfigPath \"\"}}--hiera_config='{{.HieraConfigPath}}' {{end}}" +
- "{{if ne .ManifestDir \"\"}}--manifestdir='{{.ManifestDir}}' {{end}}" +
- "--detailed-exitcodes " +
- "{{if ne .ExtraArguments \"\"}}{{.ExtraArguments}} {{end}}" +
- "{{.ManifestFile}}"
+ p.config.ExecuteCommand = p.guestOSTypeConfig.executeCommand
+ }
+
+ if p.config.ExecuteCommand == "" {
+ p.config.ExecuteCommand = p.guestOSTypeConfig.executeCommand
}
if p.config.StagingDir == "" {
- p.config.StagingDir = "/tmp/packer-puppet-masterless"
+ p.config.StagingDir = p.guestOSTypeConfig.stagingDir
}
if p.config.WorkingDir == "" {
@@ -223,7 +277,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
// Compile the facter variables
facterVars := make([]string, 0, len(p.config.Facter))
for k, v := range p.config.Facter {
- facterVars = append(facterVars, fmt.Sprintf("FACTER_%s='%s'", k, v))
+ facterVars = append(facterVars, fmt.Sprintf(p.guestOSTypeConfig.facterVarsFmt, k, v))
}
// Execute Puppet
@@ -232,7 +286,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
HieraConfigPath: remoteHieraConfigPath,
ManifestDir: remoteManifestDir,
ManifestFile: remoteManifestFile,
- ModulePath: strings.Join(modulePaths, ":"),
+ ModulePath: strings.Join(modulePaths, p.guestOSTypeConfig.modulePathJoiner),
PuppetBinDir: p.config.PuppetBinDir,
Sudo: !p.config.PreventSudo,
WorkingDir: p.config.WorkingDir,
@@ -249,7 +303,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
ui.Message(fmt.Sprintf("Running Puppet: %s", command))
if err := cmd.StartWithUi(comm, ui); err != nil {
- return err
+ return fmt.Errorf("Got an error starting command: %s", err)
}
if cmd.ExitStatus != 0 && cmd.ExitStatus != 2 && !p.config.IgnoreExitCodes {
@@ -314,30 +368,29 @@ func (p *Provisioner) uploadManifests(ui packer.Ui, comm packer.Communicator) (s
return "", fmt.Errorf("Error uploading manifest dir: %s", err)
}
return remoteManifestDir, nil
- } else {
- // Otherwise manifest_file is a file and we'll upload it
- ui.Message(fmt.Sprintf(
- "Uploading manifest file from: %s", p.config.ManifestFile))
+ }
+ // Otherwise manifest_file is a file and we'll upload it
+ ui.Message(fmt.Sprintf(
+ "Uploading manifest file from: %s", p.config.ManifestFile))
- f, err := os.Open(p.config.ManifestFile)
- if err != nil {
- return "", err
- }
- defer f.Close()
+ f, err := os.Open(p.config.ManifestFile)
+ if err != nil {
+ return "", err
+ }
+ defer f.Close()
- manifestFilename := filepath.Base(p.config.ManifestFile)
- remoteManifestFile := fmt.Sprintf("%s/%s", remoteManifestsPath, manifestFilename)
- if err := comm.Upload(remoteManifestFile, f, nil); err != nil {
- return "", err
- }
- return remoteManifestFile, nil
+ manifestFilename := filepath.Base(p.config.ManifestFile)
+ remoteManifestFile := fmt.Sprintf("%s/%s", remoteManifestsPath, manifestFilename)
+ if err := comm.Upload(remoteManifestFile, f, nil); err != nil {
+ return "", err
}
+ return remoteManifestFile, nil
}
func (p *Provisioner) createDir(ui packer.Ui, comm packer.Communicator, dir string) error {
- cmd := &packer.RemoteCmd{
- Command: fmt.Sprintf("mkdir -p '%s'", dir),
- }
+ ui.Message(fmt.Sprintf("Creating directory: %s", dir))
+
+ cmd := &packer.RemoteCmd{Command: p.guestCommands.CreateDir(dir)}
if err := cmd.StartWithUi(comm, ui); err != nil {
return err
diff --git a/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner_test.go
index 6c58f63d..84defbef 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/puppet-masterless/provisioner_test.go
@@ -200,6 +200,9 @@ func TestProvisionerPrepare_facterFacts(t *testing.T) {
delete(config, "facter")
p = new(Provisioner)
err = p.Prepare(config)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
if p.config.Facter == nil {
t.Fatalf("err: Default facts are not set in the Puppet provisioner!")
}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner.go
index 9e5e6a49..4da3ecbc 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner.go
@@ -1,4 +1,4 @@
-// This package implements a provisioner for Packer that executes
+// Package puppetserver implements a provisioner for Packer that executes
// Puppet on the remote machine connecting to a Puppet master.
package puppetserver
@@ -10,9 +10,45 @@ import (
"github.com/hashicorp/packer/common"
"github.com/hashicorp/packer/helper/config"
"github.com/hashicorp/packer/packer"
+ "github.com/hashicorp/packer/provisioner"
"github.com/hashicorp/packer/template/interpolate"
)
+type guestOSTypeConfig struct {
+ executeCommand string
+ facterVarsFmt string
+ stagingDir string
+}
+
+var guestOSTypeConfigs = map[string]guestOSTypeConfig{
+ provisioner.UnixOSType: {
+ executeCommand: "{{.FacterVars}} {{if .Sudo}}sudo -E {{end}}" +
+ "{{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}/{{end}}puppet agent " +
+ "--onetime --no-daemonize " +
+ "{{if ne .PuppetServer \"\"}}--server='{{.PuppetServer}}' {{end}}" +
+ "{{if ne .Options \"\"}}{{.Options}} {{end}}" +
+ "{{if ne .PuppetNode \"\"}}--certname={{.PuppetNode}} {{end}}" +
+ "{{if ne .ClientCertPath \"\"}}--certdir='{{.ClientCertPath}}' {{end}}" +
+ "{{if ne .ClientPrivateKeyPath \"\"}}--privatekeydir='{{.ClientPrivateKeyPath}}' {{end}}" +
+ "--detailed-exitcodes",
+ facterVarsFmt: "FACTER_%s='%s'",
+ stagingDir: "/tmp/packer-puppet-server",
+ },
+ provisioner.WindowsOSType: {
+ executeCommand: "{{.FacterVars}} " +
+ "{{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}/{{end}}puppet agent " +
+ "--onetime --no-daemonize " +
+ "{{if ne .PuppetServer \"\"}}--server='{{.PuppetServer}}' {{end}}" +
+ "{{if ne .Options \"\"}}{{.Options}} {{end}}" +
+ "{{if ne .PuppetNode \"\"}}--certname={{.PuppetNode}} {{end}}" +
+ "{{if ne .ClientCertPath \"\"}}--certdir='{{.ClientCertPath}}' {{end}}" +
+ "{{if ne .ClientPrivateKeyPath \"\"}}--privatekeydir='{{.ClientPrivateKeyPath}}' {{end}}" +
+ "--detailed-exitcodes",
+ facterVarsFmt: "SET \"FACTER_%s=%s\" &",
+ stagingDir: "C:/Windows/Temp/packer-puppet-server",
+ },
+}
+
type Config struct {
common.PackerConfig `mapstructure:",squash"`
ctx interpolate.Context
@@ -20,6 +56,9 @@ type Config struct {
// The command used to execute Puppet.
ExecuteCommand string `mapstructure:"execute_command"`
+ // The Guest OS Type (unix or windows)
+ GuestOSType string `mapstructure:"guest_os_type"`
+
// Additional facts to set when executing Puppet
Facter map[string]string
@@ -54,7 +93,9 @@ type Config struct {
}
type Provisioner struct {
- config Config
+ config Config
+ guestOSTypeConfig guestOSTypeConfig
+ guestCommands *provisioner.GuestCommands
}
type ExecuteTemplate struct {
@@ -82,12 +123,28 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
return err
}
+ if p.config.GuestOSType == "" {
+ p.config.GuestOSType = provisioner.DefaultOSType
+ }
+ p.config.GuestOSType = strings.ToLower(p.config.GuestOSType)
+
+ var ok bool
+ p.guestOSTypeConfig, ok = guestOSTypeConfigs[p.config.GuestOSType]
+ if !ok {
+ return fmt.Errorf("Invalid guest_os_type: \"%s\"", p.config.GuestOSType)
+ }
+
+ p.guestCommands, err = provisioner.NewGuestCommands(p.config.GuestOSType, !p.config.PreventSudo)
+ if err != nil {
+ return fmt.Errorf("Invalid guest_os_type: \"%s\"", p.config.GuestOSType)
+ }
+
if p.config.ExecuteCommand == "" {
- p.config.ExecuteCommand = p.commandTemplate()
+ p.config.ExecuteCommand = p.guestOSTypeConfig.executeCommand
}
if p.config.StagingDir == "" {
- p.config.StagingDir = "/tmp/packer-puppet-server"
+ p.config.StagingDir = p.guestOSTypeConfig.stagingDir
}
if p.config.Facter == nil {
@@ -160,7 +217,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
// Compile the facter variables
facterVars := make([]string, 0, len(p.config.Facter))
for k, v := range p.config.Facter {
- facterVars = append(facterVars, fmt.Sprintf("FACTER_%s='%s'", k, v))
+ facterVars = append(facterVars, fmt.Sprintf(p.guestOSTypeConfig.facterVarsFmt, k, v))
}
// Execute Puppet
@@ -202,16 +259,23 @@ func (p *Provisioner) Cancel() {
}
func (p *Provisioner) createDir(ui packer.Ui, comm packer.Communicator, dir string) error {
- cmd := &packer.RemoteCmd{
- Command: fmt.Sprintf("mkdir -p '%s'", dir),
- }
+ ui.Message(fmt.Sprintf("Creating directory: %s", dir))
+ cmd := &packer.RemoteCmd{Command: p.guestCommands.CreateDir(dir)}
if err := cmd.StartWithUi(comm, ui); err != nil {
return err
}
+ if cmd.ExitStatus != 0 {
+ return fmt.Errorf("Non-zero exit status. See output above for more info.")
+ }
+ // Chmod the directory to 0777 just so that we can access it as our user
+ cmd = &packer.RemoteCmd{Command: p.guestCommands.Chmod(dir, "0777")}
+ if err := cmd.StartWithUi(comm, ui); err != nil {
+ return err
+ }
if cmd.ExitStatus != 0 {
- return fmt.Errorf("Non-zero exit status.")
+ return fmt.Errorf("Non-zero exit status. See output above for more info.")
}
return nil
@@ -230,15 +294,3 @@ func (p *Provisioner) uploadDirectory(ui packer.Ui, comm packer.Communicator, ds
return comm.UploadDir(dst, src, nil)
}
-
-func (p *Provisioner) commandTemplate() string {
- return "{{.FacterVars}} {{if .Sudo}} sudo -E {{end}}" +
- "{{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}/{{end}}puppet agent " +
- "--onetime --no-daemonize " +
- "{{if ne .PuppetServer \"\"}}--server='{{.PuppetServer}}' {{end}}" +
- "{{if ne .Options \"\"}}{{.Options}} {{end}}" +
- "{{if ne .PuppetNode \"\"}}--certname={{.PuppetNode}} {{end}}" +
- "{{if ne .ClientCertPath \"\"}}--certdir='{{.ClientCertPath}}' {{end}}" +
- "{{if ne .ClientPrivateKeyPath \"\"}}--privatekeydir='{{.ClientPrivateKeyPath}}' {{end}}" +
- "--detailed-exitcodes"
-}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner_test.go
index a41a6bec..4c7746c7 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/puppet-server/provisioner_test.go
@@ -1,10 +1,11 @@
package puppetserver
import (
- "github.com/hashicorp/packer/packer"
"io/ioutil"
"os"
"testing"
+
+ "github.com/hashicorp/packer/packer"
)
func testConfig() map[string]interface{} {
@@ -167,6 +168,9 @@ func TestProvisionerPrepare_facterFacts(t *testing.T) {
delete(config, "facter")
p = new(Provisioner)
err = p.Prepare(config)
+ if err != nil {
+ t.Fatalf("err: %s", err)
+ }
if p.config.Facter == nil {
t.Fatalf("err: Default facts are not set in the Puppet provisioner!")
}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/salt-masterless/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/salt-masterless/provisioner.go
index b2eefd0e..5c67feb0 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/salt-masterless/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/salt-masterless/provisioner.go
@@ -384,7 +384,7 @@ func (p *Provisioner) createDir(ui packer.Ui, comm packer.Communicator, dir stri
func (p *Provisioner) removeDir(ui packer.Ui, comm packer.Communicator, dir string) error {
ui.Message(fmt.Sprintf("Removing directory: %s", dir))
cmd := &packer.RemoteCmd{
- Command: fmt.Sprintf("rm -rf '%s'", dir),
+ Command: fmt.Sprintf(p.sudo("rm -rf '%s'"), dir),
}
if err := cmd.StartWithUi(comm, ui); err != nil {
return err
diff --git a/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner.go
index 5e9c587a..de88e763 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner.go
@@ -105,7 +105,7 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
}
if p.config.ExpectDisconnect == nil {
- t := true
+ t := false
p.config.ExpectDisconnect = &t
}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner_test.go
index ee0edf95..b74fdbb1 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/shell/provisioner_test.go
@@ -32,8 +32,8 @@ func TestProvisionerPrepare_Defaults(t *testing.T) {
t.Fatalf("err: %s", err)
}
- if *p.config.ExpectDisconnect != true {
- t.Errorf("expected ExpectDisconnect to be true")
+ if *p.config.ExpectDisconnect != false {
+ t.Errorf("expected ExpectDisconnect to default to false")
}
if p.config.RemotePath == "" {
diff --git a/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner.go b/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner.go
index 06641432..9b77c097 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner.go
@@ -1,8 +1,11 @@
package restart
import (
+ "bytes"
"fmt"
+ "io"
"log"
+ "strings"
"sync"
"time"
@@ -14,7 +17,7 @@ import (
)
var DefaultRestartCommand = "shutdown /r /f /t 0 /c \"packer restart\""
-var DefaultRestartCheckCommand = winrm.Powershell(`echo "${env:COMPUTERNAME} restarted."`)
+var DefaultRestartCheckCommand = winrm.Powershell(`if (Test-Path variable:global:ProgressPreference){$ProgressPreference='SilentlyContinue'}; echo "${env:COMPUTERNAME} restarted."`)
var retryableSleep = 5 * time.Second
var TryCheckReboot = "shutdown.exe -f -r -t 60"
var AbortReboot = "shutdown.exe -a"
@@ -119,6 +122,7 @@ var waitForRestart = func(p *Provisioner, comm packer.Communicator) error {
// Couldn't execute, we assume machine is rebooting already
break
}
+
if cmd.ExitStatus == 1115 || cmd.ExitStatus == 1190 {
// Reboot already in progress but not completed
log.Printf("Reboot already in progress, waiting...")
@@ -170,9 +174,11 @@ WaitLoop:
}
var waitForCommunicator = func(p *Provisioner) error {
- cmd := &packer.RemoteCmd{Command: p.config.RestartCheckCommand}
-
for {
+ cmd := &packer.RemoteCmd{Command: p.config.RestartCheckCommand}
+ var buf, buf2 bytes.Buffer
+ cmd.Stdout = &buf
+ cmd.Stdout = io.MultiWriter(cmd.Stdout, &buf2)
select {
case <-p.cancel:
log.Println("Communicator wait canceled, exiting loop")
@@ -183,12 +189,18 @@ var waitForCommunicator = func(p *Provisioner) error {
log.Printf("Checking that communicator is connected with: '%s'", cmd.Command)
err := cmd.StartWithUi(p.comm, p.ui)
+
if err != nil {
log.Printf("Communication connection err: %s", err)
continue
}
log.Printf("Connected to machine")
+ stdoutToRead := buf2.String()
+ if !strings.Contains(stdoutToRead, "restarted.") {
+ log.Printf("echo didn't succeed; retrying...")
+ continue
+ }
break
}
diff --git a/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner_test.go
index 05b6b204..d4d42ba4 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/windows-restart/provisioner_test.go
@@ -242,6 +242,7 @@ func TestProvision_waitForCommunicator(t *testing.T) {
p.comm = comm
p.ui = ui
comm.StartStderr = "WinRM terminated"
+ comm.StartStdout = "WIN-V4CEJ7MC5SN restarted."
comm.StartExitStatus = 1
p.Prepare(config)
err := waitForCommunicator(p)
diff --git a/vendor/github.com/mitchellh/packer/provisioner/windows-shell/provisioner_test.go b/vendor/github.com/mitchellh/packer/provisioner/windows-shell/provisioner_test.go
index 62f78f20..1f2ee2ca 100644
--- a/vendor/github.com/mitchellh/packer/provisioner/windows-shell/provisioner_test.go
+++ b/vendor/github.com/mitchellh/packer/provisioner/windows-shell/provisioner_test.go
@@ -4,13 +4,14 @@ import (
"bytes"
"errors"
"fmt"
- "github.com/hashicorp/packer/packer"
"io/ioutil"
"log"
"os"
"strings"
"testing"
"time"
+
+ "github.com/hashicorp/packer/packer"
)
func testConfig() map[string]interface{} {
@@ -34,6 +35,9 @@ func TestProvisionerPrepare_extractScript(t *testing.T) {
// File contents should contain 2 lines concatenated by newlines: foo\nbar
readFile, err := ioutil.ReadFile(file)
+ if err != nil {
+ t.Fatalf("Should not be error: %s", err)
+ }
expectedContents := "foo\nbar\n"
s := string(readFile[:])
if s != expectedContents {
diff --git a/vendor/github.com/mitchellh/packer/scripts/build.sh b/vendor/github.com/mitchellh/packer/scripts/build.sh
index 807538c0..635fbca5 100755
--- a/vendor/github.com/mitchellh/packer/scripts/build.sh
+++ b/vendor/github.com/mitchellh/packer/scripts/build.sh
@@ -13,7 +13,7 @@ cd $DIR
# Determine the arch/os combos we're building for
XC_ARCH=${XC_ARCH:-"386 amd64 arm arm64"}
-XC_OS=${XC_OS:-linux darwin windows freebsd openbsd}
+XC_OS=${XC_OS:-linux darwin windows freebsd openbsd solaris}
# Delete the old dir
echo "==> Removing old directory..."
diff --git a/vendor/github.com/mitchellh/packer/test/builder_lxc.bats b/vendor/github.com/mitchellh/packer/test/builder_lxc.bats
new file mode 100644
index 00000000..c2903042
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/test/builder_lxc.bats
@@ -0,0 +1,40 @@
+#!/usr/bin/env bats
+#
+# This tests the lxc builder. The teardown function will
+# delete any images in the output-lxc-* folders.
+
+#load test_helper
+#fixtures builder-lxc
+FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures/builder-lxc"
+
+# Required parameters
+command -v lxc-create >/dev/null 2>&1 || {
+ echo "'lxc-create' must be installed via the lxc (or lxc1 for ubuntu >=16.04) package" >&2
+ exit 1
+}
+
+teardown() {
+ rm -rf output-lxc-*
+}
+
+@test "lxc: build centos minimal.json" {
+ run packer build -var template_name=centos $FIXTURE_ROOT/minimal.json
+ [ "$status" -eq 0 ]
+ [ -f output-lxc-centos/rootfs.tar.gz ]
+ [ -f output-lxc-centos/lxc-config ]
+}
+
+
+@test "lxc: build trusty minimal.json" {
+ run packer build -var template_name=ubuntu -var template_parameters="SUITE=trusty" $FIXTURE_ROOT/minimal.json
+ [ "$status" -eq 0 ]
+ [ -f output-lxc-ubuntu/rootfs.tar.gz ]
+ [ -f output-lxc-ubuntu/lxc-config ]
+}
+
+@test "lxc: build debian minimal.json" {
+ run packer build -var template_name=debian -var template_parameters="SUITE=jessie" $FIXTURE_ROOT/minimal.json
+ [ "$status" -eq 0 ]
+ [ -f output-lxc-debian/rootfs.tar.gz ]
+ [ -f output-lxc-debian/lxc-config ]
+}
diff --git a/vendor/github.com/mitchellh/packer/test/fixtures/builder-lxc/minimal.json b/vendor/github.com/mitchellh/packer/test/fixtures/builder-lxc/minimal.json
new file mode 100644
index 00000000..5bf7998f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/test/fixtures/builder-lxc/minimal.json
@@ -0,0 +1,15 @@
+{
+ "variables": {
+ "template_name": "debian",
+ "template_parameters": "SUITE=jessie"
+ },
+ "builders": [
+ {
+ "type": "lxc",
+ "name": "lxc-{{user `template_name`}}",
+ "template_name": "{{user `template_name`}}",
+ "config_file": "/usr/share/lxc/config/{{user `template_name`}}.common.conf",
+ "template_environment_vars": [ "{{user `template_parameters`}}" ]
+ }
+ ]
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/LICENSE
new file mode 100644
index 00000000..2afe88a6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 ChrisTrenkamp
+
+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/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/README.md
new file mode 100644
index 00000000..deb49624
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/README.md
@@ -0,0 +1,2 @@
+# goxpath [![GoDoc](https://godoc.org/gopkg.in/src-d/go-git.v2?status.svg)](https://godoc.org/github.com/ChrisTrenkamp/goxpath) [![Build Status](https://travis-ci.org/ChrisTrenkamp/goxpath.svg?branch=master)](https://travis-ci.org/ChrisTrenkamp/goxpath) [![codecov.io](https://codecov.io/github/ChrisTrenkamp/goxpath/coverage.svg?branch=master)](https://codecov.io/github/ChrisTrenkamp/goxpath?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/ChrisTrenkamp/goxpath)](https://goreportcard.com/report/github.com/ChrisTrenkamp/goxpath)
+An XPath 1.0 implementation written in Go. See the [wiki](https://github.com/ChrisTrenkamp/goxpath/wiki) for more information.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/coverage.sh b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/coverage.sh
new file mode 100755
index 00000000..0e35d7de
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/coverage.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+go get github.com/ChrisTrenkamp/goxpath/cmd/goxpath
+if [ $? != 0 ]; then
+ exit 1
+fi
+go test >/dev/null 2>&1
+if [ $? != 0 ]; then
+ go test
+ exit 1
+fi
+gometalinter --deadline=1m ./...
+go list -f '{{if gt (len .TestGoFiles) 0}}"go test -covermode count -coverprofile {{.Name}}.coverprofile -coverpkg ./... {{.ImportPath}}"{{end}} >/dev/null' ./... | xargs -I {} bash -c {} 2>/dev/null
+gocovmerge `ls *.coverprofile` > coverage.txt
+go tool cover -html=coverage.txt -o coverage.html
+firefox coverage.html
+rm coverage.html coverage.txt *.coverprofile
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/goxpath.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/goxpath.go
new file mode 100644
index 00000000..af2e2f14
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/goxpath.go
@@ -0,0 +1,117 @@
+package goxpath
+
+import (
+ "encoding/xml"
+ "fmt"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/execxp"
+ "github.com/ChrisTrenkamp/goxpath/internal/parser"
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//Opts defines namespace mappings and custom functions for XPath expressions.
+type Opts struct {
+ NS map[string]string
+ Funcs map[xml.Name]tree.Wrap
+ Vars map[string]tree.Result
+}
+
+//FuncOpts is a function wrapper for Opts.
+type FuncOpts func(*Opts)
+
+//XPathExec is the XPath executor, compiled from an XPath string
+type XPathExec struct {
+ n *parser.Node
+}
+
+//Parse parses the XPath expression, xp, returning an XPath executor.
+func Parse(xp string) (XPathExec, error) {
+ n, err := parser.Parse(xp)
+ return XPathExec{n: n}, err
+}
+
+//MustParse is like Parse, but panics instead of returning an error.
+func MustParse(xp string) XPathExec {
+ ret, err := Parse(xp)
+ if err != nil {
+ panic(err)
+ }
+ return ret
+}
+
+//Exec executes the XPath expression, xp, against the tree, t, with the
+//namespace mappings, ns, and returns the result as a stringer.
+func (xp XPathExec) Exec(t tree.Node, opts ...FuncOpts) (tree.Result, error) {
+ o := &Opts{
+ NS: make(map[string]string),
+ Funcs: make(map[xml.Name]tree.Wrap),
+ Vars: make(map[string]tree.Result),
+ }
+ for _, i := range opts {
+ i(o)
+ }
+ return execxp.Exec(xp.n, t, o.NS, o.Funcs, o.Vars)
+}
+
+//ExecBool is like Exec, except it will attempt to convert the result to its boolean value.
+func (xp XPathExec) ExecBool(t tree.Node, opts ...FuncOpts) (bool, error) {
+ res, err := xp.Exec(t, opts...)
+ if err != nil {
+ return false, err
+ }
+
+ b, ok := res.(tree.IsBool)
+ if !ok {
+ return false, fmt.Errorf("Cannot convert result to a boolean")
+ }
+
+ return bool(b.Bool()), nil
+}
+
+//ExecNum is like Exec, except it will attempt to convert the result to its number value.
+func (xp XPathExec) ExecNum(t tree.Node, opts ...FuncOpts) (float64, error) {
+ res, err := xp.Exec(t, opts...)
+ if err != nil {
+ return 0, err
+ }
+
+ n, ok := res.(tree.IsNum)
+ if !ok {
+ return 0, fmt.Errorf("Cannot convert result to a number")
+ }
+
+ return float64(n.Num()), nil
+}
+
+//ExecNode is like Exec, except it will attempt to return the result as a node-set.
+func (xp XPathExec) ExecNode(t tree.Node, opts ...FuncOpts) (tree.NodeSet, error) {
+ res, err := xp.Exec(t, opts...)
+ if err != nil {
+ return nil, err
+ }
+
+ n, ok := res.(tree.NodeSet)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert result to a node-set")
+ }
+
+ return n, nil
+}
+
+//MustExec is like Exec, but panics instead of returning an error.
+func (xp XPathExec) MustExec(t tree.Node, opts ...FuncOpts) tree.Result {
+ res, err := xp.Exec(t, opts...)
+ if err != nil {
+ panic(err)
+ }
+ return res
+}
+
+//ParseExec parses the XPath string, xpstr, and runs Exec.
+func ParseExec(xpstr string, t tree.Node, opts ...FuncOpts) (tree.Result, error) {
+ xp, err := Parse(xpstr)
+ if err != nil {
+ return nil, err
+ }
+ return xp.Exec(t, opts...)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/execxp.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/execxp.go
new file mode 100644
index 00000000..0746eaca
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/execxp.go
@@ -0,0 +1,27 @@
+package execxp
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/parser"
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//Exec executes the XPath expression, xp, against the tree, t, with the
+//namespace mappings, ns.
+func Exec(n *parser.Node, t tree.Node, ns map[string]string, fns map[xml.Name]tree.Wrap, v map[string]tree.Result) (tree.Result, error) {
+ f := xpFilt{
+ t: t,
+ ns: ns,
+ ctx: tree.NodeSet{t},
+ fns: fns,
+ variables: v,
+ }
+
+ return exec(&f, n)
+}
+
+func exec(f *xpFilt, n *parser.Node) (tree.Result, error) {
+ err := xfExec(f, n)
+ return f.ctx, err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/operators.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/operators.go
new file mode 100644
index 00000000..d41ba7fc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/operators.go
@@ -0,0 +1,212 @@
+package execxp
+
+import (
+ "fmt"
+ "math"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+func bothNodeOperator(left tree.NodeSet, right tree.NodeSet, f *xpFilt, op string) error {
+ var err error
+ for _, l := range left {
+ for _, r := range right {
+ lStr := l.ResValue()
+ rStr := r.ResValue()
+
+ if eqOps[op] {
+ err = equalsOperator(tree.String(lStr), tree.String(rStr), f, op)
+ if err == nil && f.ctx.String() == tree.True {
+ return nil
+ }
+ } else {
+ err = numberOperator(tree.String(lStr), tree.String(rStr), f, op)
+ if err == nil && f.ctx.String() == tree.True {
+ return nil
+ }
+ }
+ }
+ }
+
+ f.ctx = tree.Bool(false)
+
+ return nil
+}
+
+func leftNodeOperator(left tree.NodeSet, right tree.Result, f *xpFilt, op string) error {
+ var err error
+ for _, l := range left {
+ lStr := l.ResValue()
+
+ if eqOps[op] {
+ err = equalsOperator(tree.String(lStr), right, f, op)
+ if err == nil && f.ctx.String() == tree.True {
+ return nil
+ }
+ } else {
+ err = numberOperator(tree.String(lStr), right, f, op)
+ if err == nil && f.ctx.String() == tree.True {
+ return nil
+ }
+ }
+ }
+
+ f.ctx = tree.Bool(false)
+
+ return nil
+}
+
+func rightNodeOperator(left tree.Result, right tree.NodeSet, f *xpFilt, op string) error {
+ var err error
+ for _, r := range right {
+ rStr := r.ResValue()
+
+ if eqOps[op] {
+ err = equalsOperator(left, tree.String(rStr), f, op)
+ if err == nil && f.ctx.String() == "true" {
+ return nil
+ }
+ } else {
+ err = numberOperator(left, tree.String(rStr), f, op)
+ if err == nil && f.ctx.String() == "true" {
+ return nil
+ }
+ }
+ }
+
+ f.ctx = tree.Bool(false)
+
+ return nil
+}
+
+func equalsOperator(left, right tree.Result, f *xpFilt, op string) error {
+ _, lOK := left.(tree.Bool)
+ _, rOK := right.(tree.Bool)
+
+ if lOK || rOK {
+ lTest, lt := left.(tree.IsBool)
+ rTest, rt := right.(tree.IsBool)
+ if !lt || !rt {
+ return fmt.Errorf("Cannot convert argument to boolean")
+ }
+
+ if op == "=" {
+ f.ctx = tree.Bool(lTest.Bool() == rTest.Bool())
+ } else {
+ f.ctx = tree.Bool(lTest.Bool() != rTest.Bool())
+ }
+
+ return nil
+ }
+
+ _, lOK = left.(tree.Num)
+ _, rOK = right.(tree.Num)
+ if lOK || rOK {
+ return numberOperator(left, right, f, op)
+ }
+
+ lStr := left.String()
+ rStr := right.String()
+
+ if op == "=" {
+ f.ctx = tree.Bool(lStr == rStr)
+ } else {
+ f.ctx = tree.Bool(lStr != rStr)
+ }
+
+ return nil
+}
+
+func numberOperator(left, right tree.Result, f *xpFilt, op string) error {
+ lt, lOK := left.(tree.IsNum)
+ rt, rOK := right.(tree.IsNum)
+ if !lOK || !rOK {
+ return fmt.Errorf("Cannot convert data type to number")
+ }
+
+ ln, rn := lt.Num(), rt.Num()
+
+ switch op {
+ case "*":
+ f.ctx = ln * rn
+ case "div":
+ if rn != 0 {
+ f.ctx = ln / rn
+ } else {
+ if ln == 0 {
+ f.ctx = tree.Num(math.NaN())
+ } else {
+ if math.Signbit(float64(ln)) == math.Signbit(float64(rn)) {
+ f.ctx = tree.Num(math.Inf(1))
+ } else {
+ f.ctx = tree.Num(math.Inf(-1))
+ }
+ }
+ }
+ case "mod":
+ f.ctx = tree.Num(int(ln) % int(rn))
+ case "+":
+ f.ctx = ln + rn
+ case "-":
+ f.ctx = ln - rn
+ case "=":
+ f.ctx = tree.Bool(ln == rn)
+ case "!=":
+ f.ctx = tree.Bool(ln != rn)
+ case "<":
+ f.ctx = tree.Bool(ln < rn)
+ case "<=":
+ f.ctx = tree.Bool(ln <= rn)
+ case ">":
+ f.ctx = tree.Bool(ln > rn)
+ case ">=":
+ f.ctx = tree.Bool(ln >= rn)
+ }
+
+ return nil
+}
+
+func andOrOperator(left, right tree.Result, f *xpFilt, op string) error {
+ lt, lOK := left.(tree.IsBool)
+ rt, rOK := right.(tree.IsBool)
+
+ if !lOK || !rOK {
+ return fmt.Errorf("Cannot convert argument to boolean")
+ }
+
+ l, r := lt.Bool(), rt.Bool()
+
+ if op == "and" {
+ f.ctx = l && r
+ } else {
+ f.ctx = l || r
+ }
+
+ return nil
+}
+
+func unionOperator(left, right tree.Result, f *xpFilt, op string) error {
+ lNode, lOK := left.(tree.NodeSet)
+ rNode, rOK := right.(tree.NodeSet)
+
+ if !lOK || !rOK {
+ return fmt.Errorf("Cannot convert data type to node-set")
+ }
+
+ uniq := make(map[int]tree.Node)
+ for _, i := range lNode {
+ uniq[i.Pos()] = i
+ }
+ for _, i := range rNode {
+ uniq[i.Pos()] = i
+ }
+
+ res := make(tree.NodeSet, 0, len(uniq))
+ for _, v := range uniq {
+ res = append(res, v)
+ }
+
+ f.ctx = res
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/paths.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/paths.go
new file mode 100644
index 00000000..60ada7ab
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/execxp/paths.go
@@ -0,0 +1,397 @@
+package execxp
+
+import (
+ "encoding/xml"
+ "fmt"
+ "strconv"
+ "strings"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/parser"
+ "github.com/ChrisTrenkamp/goxpath/internal/parser/findutil"
+ "github.com/ChrisTrenkamp/goxpath/internal/parser/intfns"
+ "github.com/ChrisTrenkamp/goxpath/internal/xconst"
+ "github.com/ChrisTrenkamp/goxpath/internal/xsort"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/lexer"
+ "github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr"
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+type xpFilt struct {
+ t tree.Node
+ ctx tree.Result
+ expr pathexpr.PathExpr
+ ns map[string]string
+ ctxPos int
+ ctxSize int
+ proxPos map[int]int
+ fns map[xml.Name]tree.Wrap
+ variables map[string]tree.Result
+}
+
+type xpExecFn func(*xpFilt, string)
+
+var xpFns = map[lexer.XItemType]xpExecFn{
+ lexer.XItemAbsLocPath: xfAbsLocPath,
+ lexer.XItemAbbrAbsLocPath: xfAbbrAbsLocPath,
+ lexer.XItemRelLocPath: xfRelLocPath,
+ lexer.XItemAbbrRelLocPath: xfAbbrRelLocPath,
+ lexer.XItemAxis: xfAxis,
+ lexer.XItemAbbrAxis: xfAbbrAxis,
+ lexer.XItemNCName: xfNCName,
+ lexer.XItemQName: xfQName,
+ lexer.XItemNodeType: xfNodeType,
+ lexer.XItemProcLit: xfProcInstLit,
+ lexer.XItemStrLit: xfStrLit,
+ lexer.XItemNumLit: xfNumLit,
+}
+
+func xfExec(f *xpFilt, n *parser.Node) (err error) {
+ for n != nil {
+ if fn, ok := xpFns[n.Val.Typ]; ok {
+ fn(f, n.Val.Val)
+ n = n.Left
+ } else if n.Val.Typ == lexer.XItemPredicate {
+ if err = xfPredicate(f, n.Left); err != nil {
+ return
+ }
+
+ n = n.Right
+ } else if n.Val.Typ == lexer.XItemFunction {
+ if err = xfFunction(f, n); err != nil {
+ return
+ }
+
+ n = n.Right
+ } else if n.Val.Typ == lexer.XItemOperator {
+ lf := xpFilt{
+ t: f.t,
+ ns: f.ns,
+ ctx: f.ctx,
+ ctxPos: f.ctxPos,
+ ctxSize: f.ctxSize,
+ proxPos: f.proxPos,
+ fns: f.fns,
+ variables: f.variables,
+ }
+ left, err := exec(&lf, n.Left)
+ if err != nil {
+ return err
+ }
+
+ rf := xpFilt{
+ t: f.t,
+ ns: f.ns,
+ ctx: f.ctx,
+ fns: f.fns,
+ variables: f.variables,
+ }
+ right, err := exec(&rf, n.Right)
+ if err != nil {
+ return err
+ }
+
+ return xfOperator(left, right, f, n.Val.Val)
+ } else if n.Val.Typ == lexer.XItemVariable {
+ if res, ok := f.variables[n.Val.Val]; ok {
+ f.ctx = res
+ return nil
+ }
+ return fmt.Errorf("Invalid variable '%s'", n.Val.Val)
+ } else if string(n.Val.Typ) == "" {
+ n = n.Left
+ //} else {
+ // return fmt.Errorf("Cannot process " + string(n.Val.Typ))
+ }
+ }
+
+ return
+}
+
+func xfPredicate(f *xpFilt, n *parser.Node) (err error) {
+ res := f.ctx.(tree.NodeSet)
+ newRes := make(tree.NodeSet, 0, len(res))
+
+ for i := range res {
+ pf := xpFilt{
+ t: f.t,
+ ns: f.ns,
+ ctxPos: i,
+ ctxSize: f.ctxSize,
+ ctx: tree.NodeSet{res[i]},
+ fns: f.fns,
+ variables: f.variables,
+ }
+
+ predRes, err := exec(&pf, n)
+ if err != nil {
+ return err
+ }
+
+ ok, err := checkPredRes(predRes, f, res[i])
+ if err != nil {
+ return err
+ }
+
+ if ok {
+ newRes = append(newRes, res[i])
+ }
+ }
+
+ f.proxPos = make(map[int]int)
+ for pos, j := range newRes {
+ f.proxPos[j.Pos()] = pos + 1
+ }
+
+ f.ctx = newRes
+ f.ctxSize = len(newRes)
+
+ return
+}
+
+func checkPredRes(ret tree.Result, f *xpFilt, node tree.Node) (bool, error) {
+ if num, ok := ret.(tree.Num); ok {
+ if float64(f.proxPos[node.Pos()]) == float64(num) {
+ return true, nil
+ }
+ return false, nil
+ }
+
+ if b, ok := ret.(tree.IsBool); ok {
+ return bool(b.Bool()), nil
+ }
+
+ return false, fmt.Errorf("Cannot convert argument to boolean")
+}
+
+func xfFunction(f *xpFilt, n *parser.Node) error {
+ spl := strings.Split(n.Val.Val, ":")
+ var name xml.Name
+ if len(spl) == 1 {
+ name.Local = spl[0]
+ } else {
+ name.Space = f.ns[spl[0]]
+ name.Local = spl[1]
+ }
+ fn, ok := intfns.BuiltIn[name]
+ if !ok {
+ fn, ok = f.fns[name]
+ }
+
+ if ok {
+ args := []tree.Result{}
+ param := n.Left
+
+ for param != nil {
+ pf := xpFilt{
+ t: f.t,
+ ctx: f.ctx,
+ ns: f.ns,
+ ctxPos: f.ctxPos,
+ ctxSize: f.ctxSize,
+ fns: f.fns,
+ variables: f.variables,
+ }
+ res, err := exec(&pf, param.Left)
+ if err != nil {
+ return err
+ }
+
+ args = append(args, res)
+ param = param.Right
+ }
+
+ filt, err := fn.Call(tree.Ctx{NodeSet: f.ctx.(tree.NodeSet), Size: f.ctxSize, Pos: f.ctxPos + 1}, args...)
+ f.ctx = filt
+ return err
+ }
+
+ return fmt.Errorf("Unknown function: %s", n.Val.Val)
+}
+
+var eqOps = map[string]bool{
+ "=": true,
+ "!=": true,
+}
+
+var booleanOps = map[string]bool{
+ "=": true,
+ "!=": true,
+ "<": true,
+ "<=": true,
+ ">": true,
+ ">=": true,
+}
+
+var numOps = map[string]bool{
+ "*": true,
+ "div": true,
+ "mod": true,
+ "+": true,
+ "-": true,
+ "=": true,
+ "!=": true,
+ "<": true,
+ "<=": true,
+ ">": true,
+ ">=": true,
+}
+
+var andOrOps = map[string]bool{
+ "and": true,
+ "or": true,
+}
+
+func xfOperator(left, right tree.Result, f *xpFilt, op string) error {
+ if booleanOps[op] {
+ lNode, lOK := left.(tree.NodeSet)
+ rNode, rOK := right.(tree.NodeSet)
+ if lOK && rOK {
+ return bothNodeOperator(lNode, rNode, f, op)
+ }
+
+ if lOK {
+ return leftNodeOperator(lNode, right, f, op)
+ }
+
+ if rOK {
+ return rightNodeOperator(left, rNode, f, op)
+ }
+
+ if eqOps[op] {
+ return equalsOperator(left, right, f, op)
+ }
+ }
+
+ if numOps[op] {
+ return numberOperator(left, right, f, op)
+ }
+
+ if andOrOps[op] {
+ return andOrOperator(left, right, f, op)
+ }
+
+ //if op == "|" {
+ return unionOperator(left, right, f, op)
+ //}
+
+ //return fmt.Errorf("Unknown operator " + op)
+}
+
+func xfAbsLocPath(f *xpFilt, val string) {
+ i := f.t
+ for i.GetNodeType() != tree.NtRoot {
+ i = i.GetParent()
+ }
+ f.ctx = tree.NodeSet{i}
+}
+
+func xfAbbrAbsLocPath(f *xpFilt, val string) {
+ i := f.t
+ for i.GetNodeType() != tree.NtRoot {
+ i = i.GetParent()
+ }
+ f.ctx = tree.NodeSet{i}
+ f.expr = abbrPathExpr()
+ find(f)
+}
+
+func xfRelLocPath(f *xpFilt, val string) {
+}
+
+func xfAbbrRelLocPath(f *xpFilt, val string) {
+ f.expr = abbrPathExpr()
+ find(f)
+}
+
+func xfAxis(f *xpFilt, val string) {
+ f.expr.Axis = val
+}
+
+func xfAbbrAxis(f *xpFilt, val string) {
+ f.expr.Axis = xconst.AxisAttribute
+}
+
+func xfNCName(f *xpFilt, val string) {
+ f.expr.Name.Space = val
+}
+
+func xfQName(f *xpFilt, val string) {
+ f.expr.Name.Local = val
+ find(f)
+}
+
+func xfNodeType(f *xpFilt, val string) {
+ f.expr.NodeType = val
+ find(f)
+}
+
+func xfProcInstLit(f *xpFilt, val string) {
+ filt := tree.NodeSet{}
+ for _, i := range f.ctx.(tree.NodeSet) {
+ if i.GetToken().(xml.ProcInst).Target == val {
+ filt = append(filt, i)
+ }
+ }
+ f.ctx = filt
+}
+
+func xfStrLit(f *xpFilt, val string) {
+ f.ctx = tree.String(val)
+}
+
+func xfNumLit(f *xpFilt, val string) {
+ num, _ := strconv.ParseFloat(val, 64)
+ f.ctx = tree.Num(num)
+}
+
+func abbrPathExpr() pathexpr.PathExpr {
+ return pathexpr.PathExpr{
+ Name: xml.Name{},
+ Axis: xconst.AxisDescendentOrSelf,
+ NodeType: xconst.NodeTypeNode,
+ }
+}
+
+func find(f *xpFilt) {
+ dupFilt := make(map[int]tree.Node)
+ f.proxPos = make(map[int]int)
+
+ if f.expr.Axis == "" && f.expr.NodeType == "" && f.expr.Name.Space == "" {
+ if f.expr.Name.Local == "." {
+ f.expr = pathexpr.PathExpr{
+ Name: xml.Name{},
+ Axis: xconst.AxisSelf,
+ NodeType: xconst.NodeTypeNode,
+ }
+ }
+
+ if f.expr.Name.Local == ".." {
+ f.expr = pathexpr.PathExpr{
+ Name: xml.Name{},
+ Axis: xconst.AxisParent,
+ NodeType: xconst.NodeTypeNode,
+ }
+ }
+ }
+
+ f.expr.NS = f.ns
+
+ for _, i := range f.ctx.(tree.NodeSet) {
+ for pos, j := range findutil.Find(i, f.expr) {
+ dupFilt[j.Pos()] = j
+ f.proxPos[j.Pos()] = pos + 1
+ }
+ }
+
+ res := make(tree.NodeSet, 0, len(dupFilt))
+ for _, i := range dupFilt {
+ res = append(res, i)
+ }
+
+ xsort.SortNodes(res)
+
+ f.expr = pathexpr.PathExpr{}
+ f.ctxSize = len(res)
+ f.ctx = res
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/lexer.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/lexer.go
new file mode 100644
index 00000000..29f53c42
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/lexer.go
@@ -0,0 +1,419 @@
+package lexer
+
+import (
+ "fmt"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+)
+
+const (
+ //XItemError is an error with the parser input
+ XItemError XItemType = "Error"
+ //XItemAbsLocPath is an absolute path
+ XItemAbsLocPath = "Absolute path"
+ //XItemAbbrAbsLocPath represents an abbreviated absolute path
+ XItemAbbrAbsLocPath = "Abbreviated absolute path"
+ //XItemAbbrRelLocPath marks the start of a path expression
+ XItemAbbrRelLocPath = "Abbreviated relative path"
+ //XItemRelLocPath represents a relative location path
+ XItemRelLocPath = "Relative path"
+ //XItemEndPath marks the end of a path
+ XItemEndPath = "End path instruction"
+ //XItemAxis marks an axis specifier of a path
+ XItemAxis = "Axis"
+ //XItemAbbrAxis marks an abbreviated axis specifier (just @ at this point)
+ XItemAbbrAxis = "Abbreviated attribute axis"
+ //XItemNCName marks a namespace name in a node test
+ XItemNCName = "Namespace"
+ //XItemQName marks the local name in an a node test
+ XItemQName = "Local name"
+ //XItemNodeType marks a node type in a node test
+ XItemNodeType = "Node type"
+ //XItemProcLit marks a processing-instruction literal
+ XItemProcLit = "processing-instruction"
+ //XItemFunction marks a function call
+ XItemFunction = "function"
+ //XItemArgument marks a function argument
+ XItemArgument = "function argument"
+ //XItemEndFunction marks the end of a function
+ XItemEndFunction = "end of function"
+ //XItemPredicate marks a predicate in an axis
+ XItemPredicate = "predicate"
+ //XItemEndPredicate marks a predicate in an axis
+ XItemEndPredicate = "end of predicate"
+ //XItemStrLit marks a string literal
+ XItemStrLit = "string literal"
+ //XItemNumLit marks a numeric literal
+ XItemNumLit = "numeric literal"
+ //XItemOperator marks an operator
+ XItemOperator = "operator"
+ //XItemVariable marks a variable reference
+ XItemVariable = "variable"
+)
+
+const (
+ eof = -(iota + 1)
+)
+
+//XItemType is the parser token types
+type XItemType string
+
+//XItem is the token emitted from the parser
+type XItem struct {
+ Typ XItemType
+ Val string
+}
+
+type stateFn func(*Lexer) stateFn
+
+//Lexer lexes out XPath expressions
+type Lexer struct {
+ input string
+ start int
+ pos int
+ width int
+ items chan XItem
+}
+
+//Lex an XPath expresion on the io.Reader
+func Lex(xpath string) chan XItem {
+ l := &Lexer{
+ input: xpath,
+ items: make(chan XItem),
+ }
+ go l.run()
+ return l.items
+}
+
+func (l *Lexer) run() {
+ for state := startState; state != nil; {
+ state = state(l)
+ }
+
+ if l.peek() != eof {
+ l.errorf("Malformed XPath expression")
+ }
+
+ close(l.items)
+}
+
+func (l *Lexer) emit(t XItemType) {
+ l.items <- XItem{t, l.input[l.start:l.pos]}
+ l.start = l.pos
+}
+
+func (l *Lexer) emitVal(t XItemType, val string) {
+ l.items <- XItem{t, val}
+ l.start = l.pos
+}
+
+func (l *Lexer) next() (r rune) {
+ if l.pos >= len(l.input) {
+ l.width = 0
+ return eof
+ }
+
+ r, l.width = utf8.DecodeRuneInString(l.input[l.pos:])
+
+ l.pos += l.width
+
+ return r
+}
+
+func (l *Lexer) ignore() {
+ l.start = l.pos
+}
+
+func (l *Lexer) backup() {
+ l.pos -= l.width
+}
+
+func (l *Lexer) peek() rune {
+ r := l.next()
+
+ l.backup()
+ return r
+}
+
+func (l *Lexer) peekAt(n int) rune {
+ if n <= 1 {
+ return l.peek()
+ }
+
+ width := 0
+ var ret rune
+
+ for count := 0; count < n; count++ {
+ r, s := utf8.DecodeRuneInString(l.input[l.pos+width:])
+ width += s
+
+ if l.pos+width > len(l.input) {
+ return eof
+ }
+
+ ret = r
+ }
+
+ return ret
+}
+
+func (l *Lexer) accept(valid string) bool {
+ if strings.ContainsRune(valid, l.next()) {
+ return true
+ }
+
+ l.backup()
+ return false
+}
+
+func (l *Lexer) acceptRun(valid string) {
+ for strings.ContainsRune(valid, l.next()) {
+ }
+ l.backup()
+}
+
+func (l *Lexer) skip(num int) {
+ for i := 0; i < num; i++ {
+ l.next()
+ }
+ l.ignore()
+}
+
+func (l *Lexer) skipWS(ig bool) {
+ for {
+ n := l.next()
+
+ if n == eof || !unicode.IsSpace(n) {
+ break
+ }
+ }
+
+ l.backup()
+
+ if ig {
+ l.ignore()
+ }
+}
+
+func (l *Lexer) errorf(format string, args ...interface{}) stateFn {
+ l.items <- XItem{
+ XItemError,
+ fmt.Sprintf(format, args...),
+ }
+
+ return nil
+}
+
+func isElemChar(r rune) bool {
+ return string(r) != ":" && string(r) != "/" &&
+ (unicode.Is(first, r) || unicode.Is(second, r) || string(r) == "*") &&
+ r != eof
+}
+
+func startState(l *Lexer) stateFn {
+ l.skipWS(true)
+
+ if string(l.peek()) == "/" {
+ l.next()
+ l.ignore()
+
+ if string(l.next()) == "/" {
+ l.ignore()
+ return abbrAbsLocPathState
+ }
+
+ l.backup()
+ return absLocPathState
+ } else if string(l.peek()) == `'` || string(l.peek()) == `"` {
+ if err := getStrLit(l, XItemStrLit); err != nil {
+ return l.errorf(err.Error())
+ }
+
+ if l.peek() != eof {
+ return startState
+ }
+ } else if getNumLit(l) {
+ l.skipWS(true)
+ if l.peek() != eof {
+ return startState
+ }
+ } else if string(l.peek()) == "$" {
+ l.next()
+ l.ignore()
+ r := l.peek()
+ for unicode.Is(first, r) || unicode.Is(second, r) {
+ l.next()
+ r = l.peek()
+ }
+ tok := l.input[l.start:l.pos]
+ if len(tok) == 0 {
+ return l.errorf("Empty variable name")
+ }
+ l.emit(XItemVariable)
+ l.skipWS(true)
+ if l.peek() != eof {
+ return startState
+ }
+ } else if st := findOperatorState(l); st != nil {
+ return st
+ } else {
+ if isElemChar(l.peek()) {
+ colons := 0
+
+ for {
+ if isElemChar(l.peek()) {
+ l.next()
+ } else if string(l.peek()) == ":" {
+ l.next()
+ colons++
+ } else {
+ break
+ }
+ }
+
+ if string(l.peek()) == "(" && colons <= 1 {
+ tok := l.input[l.start:l.pos]
+ err := procFunc(l, tok)
+ if err != nil {
+ return l.errorf(err.Error())
+ }
+
+ l.skipWS(true)
+
+ if string(l.peek()) == "/" {
+ l.next()
+ l.ignore()
+
+ if string(l.next()) == "/" {
+ l.ignore()
+ return abbrRelLocPathState
+ }
+
+ l.backup()
+ return relLocPathState
+ }
+
+ return startState
+ }
+
+ l.pos = l.start
+ return relLocPathState
+ } else if string(l.peek()) == "@" {
+ return relLocPathState
+ }
+ }
+
+ return nil
+}
+
+func strPeek(str string, l *Lexer) bool {
+ for i := 0; i < len(str); i++ {
+ if string(l.peekAt(i+1)) != string(str[i]) {
+ return false
+ }
+ }
+ return true
+}
+
+func findOperatorState(l *Lexer) stateFn {
+ l.skipWS(true)
+
+ switch string(l.peek()) {
+ case ">", "<", "!":
+ l.next()
+ if string(l.peek()) == "=" {
+ l.next()
+ }
+ l.emit(XItemOperator)
+ return startState
+ case "|", "+", "-", "*", "=":
+ l.next()
+ l.emit(XItemOperator)
+ return startState
+ case "(":
+ l.next()
+ l.emit(XItemOperator)
+ for state := startState; state != nil; {
+ state = state(l)
+ }
+ l.skipWS(true)
+ if string(l.next()) != ")" {
+ return l.errorf("Missing end )")
+ }
+ l.emit(XItemOperator)
+ return startState
+ }
+
+ if strPeek("and", l) {
+ l.next()
+ l.next()
+ l.next()
+ l.emit(XItemOperator)
+ return startState
+ }
+
+ if strPeek("or", l) {
+ l.next()
+ l.next()
+ l.emit(XItemOperator)
+ return startState
+ }
+
+ if strPeek("mod", l) {
+ l.next()
+ l.next()
+ l.next()
+ l.emit(XItemOperator)
+ return startState
+ }
+
+ if strPeek("div", l) {
+ l.next()
+ l.next()
+ l.next()
+ l.emit(XItemOperator)
+ return startState
+ }
+
+ return nil
+}
+
+func getStrLit(l *Lexer, tok XItemType) error {
+ q := l.next()
+ var r rune
+
+ l.ignore()
+
+ for r != q {
+ r = l.next()
+ if r == eof {
+ return fmt.Errorf("Unexpected end of string literal.")
+ }
+ }
+
+ l.backup()
+ l.emit(tok)
+ l.next()
+ l.ignore()
+
+ return nil
+}
+
+func getNumLit(l *Lexer) bool {
+ const dig = "0123456789"
+ l.accept("-")
+ start := l.pos
+ l.acceptRun(dig)
+
+ if l.pos == start {
+ return false
+ }
+
+ if l.accept(".") {
+ l.acceptRun(dig)
+ }
+
+ l.emit(XItemNumLit)
+ return true
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/paths.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/paths.go
new file mode 100644
index 00000000..2393f696
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/paths.go
@@ -0,0 +1,219 @@
+package lexer
+
+import (
+ "fmt"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/xconst"
+)
+
+func absLocPathState(l *Lexer) stateFn {
+ l.emit(XItemAbsLocPath)
+ return stepState
+}
+
+func abbrAbsLocPathState(l *Lexer) stateFn {
+ l.emit(XItemAbbrAbsLocPath)
+ return stepState
+}
+
+func relLocPathState(l *Lexer) stateFn {
+ l.emit(XItemRelLocPath)
+ return stepState
+}
+
+func abbrRelLocPathState(l *Lexer) stateFn {
+ l.emit(XItemAbbrRelLocPath)
+ return stepState
+}
+
+func stepState(l *Lexer) stateFn {
+ l.skipWS(true)
+ r := l.next()
+
+ for isElemChar(r) {
+ r = l.next()
+ }
+
+ l.backup()
+ tok := l.input[l.start:l.pos]
+
+ state, err := parseSeparators(l, tok)
+ if err != nil {
+ return l.errorf(err.Error())
+ }
+
+ return getNextPathState(l, state)
+}
+
+func parseSeparators(l *Lexer, tok string) (XItemType, error) {
+ l.skipWS(false)
+ state := XItemType(XItemQName)
+ r := l.peek()
+
+ if string(r) == ":" && string(l.peekAt(2)) == ":" {
+ var err error
+ if state, err = getAxis(l, tok); err != nil {
+ return state, fmt.Errorf(err.Error())
+ }
+ } else if string(r) == ":" {
+ state = XItemNCName
+ l.emitVal(state, tok)
+ l.skip(1)
+ l.skipWS(true)
+ } else if string(r) == "@" {
+ state = XItemAbbrAxis
+ l.emitVal(state, tok)
+ l.skip(1)
+ l.skipWS(true)
+ } else if string(r) == "(" {
+ var err error
+ if state, err = getNT(l, tok); err != nil {
+ return state, fmt.Errorf(err.Error())
+ }
+ } else if len(tok) > 0 {
+ l.emitVal(state, tok)
+ }
+
+ return state, nil
+}
+
+func getAxis(l *Lexer, tok string) (XItemType, error) {
+ var state XItemType
+ for i := range xconst.AxisNames {
+ if tok == xconst.AxisNames[i] {
+ state = XItemAxis
+ }
+ }
+ if state != XItemAxis {
+ return state, fmt.Errorf("Invalid Axis specifier, %s", tok)
+ }
+ l.emitVal(state, tok)
+ l.skip(2)
+ l.skipWS(true)
+ return state, nil
+}
+
+func getNT(l *Lexer, tok string) (XItemType, error) {
+ isNT := false
+ for _, i := range xconst.NodeTypes {
+ if tok == i {
+ isNT = true
+ break
+ }
+ }
+
+ if isNT {
+ return procNT(l, tok)
+ }
+
+ return XItemError, fmt.Errorf("Invalid node-type " + tok)
+}
+
+func procNT(l *Lexer, tok string) (XItemType, error) {
+ state := XItemType(XItemNodeType)
+ l.emitVal(state, tok)
+ l.skip(1)
+ l.skipWS(true)
+ n := l.peek()
+ if tok == xconst.NodeTypeProcInst && (string(n) == `"` || string(n) == `'`) {
+ if err := getStrLit(l, XItemProcLit); err != nil {
+ return state, fmt.Errorf(err.Error())
+ }
+ l.skipWS(true)
+ n = l.next()
+ }
+
+ if string(n) != ")" {
+ return state, fmt.Errorf("Missing ) at end of NodeType declaration.")
+ }
+
+ l.skip(1)
+ return state, nil
+}
+
+func procFunc(l *Lexer, tok string) error {
+ state := XItemType(XItemFunction)
+ l.emitVal(state, tok)
+ l.skip(1)
+ l.skipWS(true)
+ if string(l.peek()) != ")" {
+ l.emit(XItemArgument)
+ for {
+ for state := startState; state != nil; {
+ state = state(l)
+ }
+ l.skipWS(true)
+
+ if string(l.peek()) == "," {
+ l.emit(XItemArgument)
+ l.skip(1)
+ } else if string(l.peek()) == ")" {
+ l.emit(XItemEndFunction)
+ l.skip(1)
+ break
+ } else if l.peek() == eof {
+ return fmt.Errorf("Missing ) at end of function declaration.")
+ }
+ }
+ } else {
+ l.emit(XItemEndFunction)
+ l.skip(1)
+ }
+
+ return nil
+}
+
+func getNextPathState(l *Lexer, state XItemType) stateFn {
+ isMultiPart := state == XItemAxis || state == XItemAbbrAxis || state == XItemNCName
+
+ l.skipWS(true)
+
+ for string(l.peek()) == "[" {
+ if err := getPred(l); err != nil {
+ return l.errorf(err.Error())
+ }
+ }
+
+ if string(l.peek()) == "/" && !isMultiPart {
+ l.skip(1)
+ if string(l.peek()) == "/" {
+ l.skip(1)
+ return abbrRelLocPathState
+ }
+ l.skipWS(true)
+ return relLocPathState
+ } else if isMultiPart && isElemChar(l.peek()) {
+ return stepState
+ }
+
+ if isMultiPart {
+ return l.errorf("Step is not complete")
+ }
+
+ l.emit(XItemEndPath)
+ return findOperatorState
+}
+
+func getPred(l *Lexer) error {
+ l.emit(XItemPredicate)
+ l.skip(1)
+ l.skipWS(true)
+
+ if string(l.peek()) == "]" {
+ return fmt.Errorf("Missing content in predicate.")
+ }
+
+ for state := startState; state != nil; {
+ state = state(l)
+ }
+
+ l.skipWS(true)
+ if string(l.peek()) != "]" {
+ return fmt.Errorf("Missing ] at end of predicate.")
+ }
+ l.skip(1)
+ l.emit(XItemEndPredicate)
+ l.skipWS(true)
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/xmlchars.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/xmlchars.go
new file mode 100644
index 00000000..4e6bc8f6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/lexer/xmlchars.go
@@ -0,0 +1,316 @@
+package lexer
+
+import "unicode"
+
+//first and second was copied from src/encoding/xml/xml.go
+var first = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x003A, 0x003A, 1},
+ {0x0041, 0x005A, 1},
+ {0x005F, 0x005F, 1},
+ {0x0061, 0x007A, 1},
+ {0x00C0, 0x00D6, 1},
+ {0x00D8, 0x00F6, 1},
+ {0x00F8, 0x00FF, 1},
+ {0x0100, 0x0131, 1},
+ {0x0134, 0x013E, 1},
+ {0x0141, 0x0148, 1},
+ {0x014A, 0x017E, 1},
+ {0x0180, 0x01C3, 1},
+ {0x01CD, 0x01F0, 1},
+ {0x01F4, 0x01F5, 1},
+ {0x01FA, 0x0217, 1},
+ {0x0250, 0x02A8, 1},
+ {0x02BB, 0x02C1, 1},
+ {0x0386, 0x0386, 1},
+ {0x0388, 0x038A, 1},
+ {0x038C, 0x038C, 1},
+ {0x038E, 0x03A1, 1},
+ {0x03A3, 0x03CE, 1},
+ {0x03D0, 0x03D6, 1},
+ {0x03DA, 0x03E0, 2},
+ {0x03E2, 0x03F3, 1},
+ {0x0401, 0x040C, 1},
+ {0x040E, 0x044F, 1},
+ {0x0451, 0x045C, 1},
+ {0x045E, 0x0481, 1},
+ {0x0490, 0x04C4, 1},
+ {0x04C7, 0x04C8, 1},
+ {0x04CB, 0x04CC, 1},
+ {0x04D0, 0x04EB, 1},
+ {0x04EE, 0x04F5, 1},
+ {0x04F8, 0x04F9, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x0559, 1},
+ {0x0561, 0x0586, 1},
+ {0x05D0, 0x05EA, 1},
+ {0x05F0, 0x05F2, 1},
+ {0x0621, 0x063A, 1},
+ {0x0641, 0x064A, 1},
+ {0x0671, 0x06B7, 1},
+ {0x06BA, 0x06BE, 1},
+ {0x06C0, 0x06CE, 1},
+ {0x06D0, 0x06D3, 1},
+ {0x06D5, 0x06D5, 1},
+ {0x06E5, 0x06E6, 1},
+ {0x0905, 0x0939, 1},
+ {0x093D, 0x093D, 1},
+ {0x0958, 0x0961, 1},
+ {0x0985, 0x098C, 1},
+ {0x098F, 0x0990, 1},
+ {0x0993, 0x09A8, 1},
+ {0x09AA, 0x09B0, 1},
+ {0x09B2, 0x09B2, 1},
+ {0x09B6, 0x09B9, 1},
+ {0x09DC, 0x09DD, 1},
+ {0x09DF, 0x09E1, 1},
+ {0x09F0, 0x09F1, 1},
+ {0x0A05, 0x0A0A, 1},
+ {0x0A0F, 0x0A10, 1},
+ {0x0A13, 0x0A28, 1},
+ {0x0A2A, 0x0A30, 1},
+ {0x0A32, 0x0A33, 1},
+ {0x0A35, 0x0A36, 1},
+ {0x0A38, 0x0A39, 1},
+ {0x0A59, 0x0A5C, 1},
+ {0x0A5E, 0x0A5E, 1},
+ {0x0A72, 0x0A74, 1},
+ {0x0A85, 0x0A8B, 1},
+ {0x0A8D, 0x0A8D, 1},
+ {0x0A8F, 0x0A91, 1},
+ {0x0A93, 0x0AA8, 1},
+ {0x0AAA, 0x0AB0, 1},
+ {0x0AB2, 0x0AB3, 1},
+ {0x0AB5, 0x0AB9, 1},
+ {0x0ABD, 0x0AE0, 0x23},
+ {0x0B05, 0x0B0C, 1},
+ {0x0B0F, 0x0B10, 1},
+ {0x0B13, 0x0B28, 1},
+ {0x0B2A, 0x0B30, 1},
+ {0x0B32, 0x0B33, 1},
+ {0x0B36, 0x0B39, 1},
+ {0x0B3D, 0x0B3D, 1},
+ {0x0B5C, 0x0B5D, 1},
+ {0x0B5F, 0x0B61, 1},
+ {0x0B85, 0x0B8A, 1},
+ {0x0B8E, 0x0B90, 1},
+ {0x0B92, 0x0B95, 1},
+ {0x0B99, 0x0B9A, 1},
+ {0x0B9C, 0x0B9C, 1},
+ {0x0B9E, 0x0B9F, 1},
+ {0x0BA3, 0x0BA4, 1},
+ {0x0BA8, 0x0BAA, 1},
+ {0x0BAE, 0x0BB5, 1},
+ {0x0BB7, 0x0BB9, 1},
+ {0x0C05, 0x0C0C, 1},
+ {0x0C0E, 0x0C10, 1},
+ {0x0C12, 0x0C28, 1},
+ {0x0C2A, 0x0C33, 1},
+ {0x0C35, 0x0C39, 1},
+ {0x0C60, 0x0C61, 1},
+ {0x0C85, 0x0C8C, 1},
+ {0x0C8E, 0x0C90, 1},
+ {0x0C92, 0x0CA8, 1},
+ {0x0CAA, 0x0CB3, 1},
+ {0x0CB5, 0x0CB9, 1},
+ {0x0CDE, 0x0CDE, 1},
+ {0x0CE0, 0x0CE1, 1},
+ {0x0D05, 0x0D0C, 1},
+ {0x0D0E, 0x0D10, 1},
+ {0x0D12, 0x0D28, 1},
+ {0x0D2A, 0x0D39, 1},
+ {0x0D60, 0x0D61, 1},
+ {0x0E01, 0x0E2E, 1},
+ {0x0E30, 0x0E30, 1},
+ {0x0E32, 0x0E33, 1},
+ {0x0E40, 0x0E45, 1},
+ {0x0E81, 0x0E82, 1},
+ {0x0E84, 0x0E84, 1},
+ {0x0E87, 0x0E88, 1},
+ {0x0E8A, 0x0E8D, 3},
+ {0x0E94, 0x0E97, 1},
+ {0x0E99, 0x0E9F, 1},
+ {0x0EA1, 0x0EA3, 1},
+ {0x0EA5, 0x0EA7, 2},
+ {0x0EAA, 0x0EAB, 1},
+ {0x0EAD, 0x0EAE, 1},
+ {0x0EB0, 0x0EB0, 1},
+ {0x0EB2, 0x0EB3, 1},
+ {0x0EBD, 0x0EBD, 1},
+ {0x0EC0, 0x0EC4, 1},
+ {0x0F40, 0x0F47, 1},
+ {0x0F49, 0x0F69, 1},
+ {0x10A0, 0x10C5, 1},
+ {0x10D0, 0x10F6, 1},
+ {0x1100, 0x1100, 1},
+ {0x1102, 0x1103, 1},
+ {0x1105, 0x1107, 1},
+ {0x1109, 0x1109, 1},
+ {0x110B, 0x110C, 1},
+ {0x110E, 0x1112, 1},
+ {0x113C, 0x1140, 2},
+ {0x114C, 0x1150, 2},
+ {0x1154, 0x1155, 1},
+ {0x1159, 0x1159, 1},
+ {0x115F, 0x1161, 1},
+ {0x1163, 0x1169, 2},
+ {0x116D, 0x116E, 1},
+ {0x1172, 0x1173, 1},
+ {0x1175, 0x119E, 0x119E - 0x1175},
+ {0x11A8, 0x11AB, 0x11AB - 0x11A8},
+ {0x11AE, 0x11AF, 1},
+ {0x11B7, 0x11B8, 1},
+ {0x11BA, 0x11BA, 1},
+ {0x11BC, 0x11C2, 1},
+ {0x11EB, 0x11F0, 0x11F0 - 0x11EB},
+ {0x11F9, 0x11F9, 1},
+ {0x1E00, 0x1E9B, 1},
+ {0x1EA0, 0x1EF9, 1},
+ {0x1F00, 0x1F15, 1},
+ {0x1F18, 0x1F1D, 1},
+ {0x1F20, 0x1F45, 1},
+ {0x1F48, 0x1F4D, 1},
+ {0x1F50, 0x1F57, 1},
+ {0x1F59, 0x1F5B, 0x1F5B - 0x1F59},
+ {0x1F5D, 0x1F5D, 1},
+ {0x1F5F, 0x1F7D, 1},
+ {0x1F80, 0x1FB4, 1},
+ {0x1FB6, 0x1FBC, 1},
+ {0x1FBE, 0x1FBE, 1},
+ {0x1FC2, 0x1FC4, 1},
+ {0x1FC6, 0x1FCC, 1},
+ {0x1FD0, 0x1FD3, 1},
+ {0x1FD6, 0x1FDB, 1},
+ {0x1FE0, 0x1FEC, 1},
+ {0x1FF2, 0x1FF4, 1},
+ {0x1FF6, 0x1FFC, 1},
+ {0x2126, 0x2126, 1},
+ {0x212A, 0x212B, 1},
+ {0x212E, 0x212E, 1},
+ {0x2180, 0x2182, 1},
+ {0x3007, 0x3007, 1},
+ {0x3021, 0x3029, 1},
+ {0x3041, 0x3094, 1},
+ {0x30A1, 0x30FA, 1},
+ {0x3105, 0x312C, 1},
+ {0x4E00, 0x9FA5, 1},
+ {0xAC00, 0xD7A3, 1},
+ },
+}
+
+var second = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x002D, 0x002E, 1},
+ {0x0030, 0x0039, 1},
+ {0x00B7, 0x00B7, 1},
+ {0x02D0, 0x02D1, 1},
+ {0x0300, 0x0345, 1},
+ {0x0360, 0x0361, 1},
+ {0x0387, 0x0387, 1},
+ {0x0483, 0x0486, 1},
+ {0x0591, 0x05A1, 1},
+ {0x05A3, 0x05B9, 1},
+ {0x05BB, 0x05BD, 1},
+ {0x05BF, 0x05BF, 1},
+ {0x05C1, 0x05C2, 1},
+ {0x05C4, 0x0640, 0x0640 - 0x05C4},
+ {0x064B, 0x0652, 1},
+ {0x0660, 0x0669, 1},
+ {0x0670, 0x0670, 1},
+ {0x06D6, 0x06DC, 1},
+ {0x06DD, 0x06DF, 1},
+ {0x06E0, 0x06E4, 1},
+ {0x06E7, 0x06E8, 1},
+ {0x06EA, 0x06ED, 1},
+ {0x06F0, 0x06F9, 1},
+ {0x0901, 0x0903, 1},
+ {0x093C, 0x093C, 1},
+ {0x093E, 0x094C, 1},
+ {0x094D, 0x094D, 1},
+ {0x0951, 0x0954, 1},
+ {0x0962, 0x0963, 1},
+ {0x0966, 0x096F, 1},
+ {0x0981, 0x0983, 1},
+ {0x09BC, 0x09BC, 1},
+ {0x09BE, 0x09BF, 1},
+ {0x09C0, 0x09C4, 1},
+ {0x09C7, 0x09C8, 1},
+ {0x09CB, 0x09CD, 1},
+ {0x09D7, 0x09D7, 1},
+ {0x09E2, 0x09E3, 1},
+ {0x09E6, 0x09EF, 1},
+ {0x0A02, 0x0A3C, 0x3A},
+ {0x0A3E, 0x0A3F, 1},
+ {0x0A40, 0x0A42, 1},
+ {0x0A47, 0x0A48, 1},
+ {0x0A4B, 0x0A4D, 1},
+ {0x0A66, 0x0A6F, 1},
+ {0x0A70, 0x0A71, 1},
+ {0x0A81, 0x0A83, 1},
+ {0x0ABC, 0x0ABC, 1},
+ {0x0ABE, 0x0AC5, 1},
+ {0x0AC7, 0x0AC9, 1},
+ {0x0ACB, 0x0ACD, 1},
+ {0x0AE6, 0x0AEF, 1},
+ {0x0B01, 0x0B03, 1},
+ {0x0B3C, 0x0B3C, 1},
+ {0x0B3E, 0x0B43, 1},
+ {0x0B47, 0x0B48, 1},
+ {0x0B4B, 0x0B4D, 1},
+ {0x0B56, 0x0B57, 1},
+ {0x0B66, 0x0B6F, 1},
+ {0x0B82, 0x0B83, 1},
+ {0x0BBE, 0x0BC2, 1},
+ {0x0BC6, 0x0BC8, 1},
+ {0x0BCA, 0x0BCD, 1},
+ {0x0BD7, 0x0BD7, 1},
+ {0x0BE7, 0x0BEF, 1},
+ {0x0C01, 0x0C03, 1},
+ {0x0C3E, 0x0C44, 1},
+ {0x0C46, 0x0C48, 1},
+ {0x0C4A, 0x0C4D, 1},
+ {0x0C55, 0x0C56, 1},
+ {0x0C66, 0x0C6F, 1},
+ {0x0C82, 0x0C83, 1},
+ {0x0CBE, 0x0CC4, 1},
+ {0x0CC6, 0x0CC8, 1},
+ {0x0CCA, 0x0CCD, 1},
+ {0x0CD5, 0x0CD6, 1},
+ {0x0CE6, 0x0CEF, 1},
+ {0x0D02, 0x0D03, 1},
+ {0x0D3E, 0x0D43, 1},
+ {0x0D46, 0x0D48, 1},
+ {0x0D4A, 0x0D4D, 1},
+ {0x0D57, 0x0D57, 1},
+ {0x0D66, 0x0D6F, 1},
+ {0x0E31, 0x0E31, 1},
+ {0x0E34, 0x0E3A, 1},
+ {0x0E46, 0x0E46, 1},
+ {0x0E47, 0x0E4E, 1},
+ {0x0E50, 0x0E59, 1},
+ {0x0EB1, 0x0EB1, 1},
+ {0x0EB4, 0x0EB9, 1},
+ {0x0EBB, 0x0EBC, 1},
+ {0x0EC6, 0x0EC6, 1},
+ {0x0EC8, 0x0ECD, 1},
+ {0x0ED0, 0x0ED9, 1},
+ {0x0F18, 0x0F19, 1},
+ {0x0F20, 0x0F29, 1},
+ {0x0F35, 0x0F39, 2},
+ {0x0F3E, 0x0F3F, 1},
+ {0x0F71, 0x0F84, 1},
+ {0x0F86, 0x0F8B, 1},
+ {0x0F90, 0x0F95, 1},
+ {0x0F97, 0x0F97, 1},
+ {0x0F99, 0x0FAD, 1},
+ {0x0FB1, 0x0FB7, 1},
+ {0x0FB9, 0x0FB9, 1},
+ {0x20D0, 0x20DC, 1},
+ {0x20E1, 0x3005, 0x3005 - 0x20E1},
+ {0x302A, 0x302F, 1},
+ {0x3031, 0x3035, 1},
+ {0x3099, 0x309A, 1},
+ {0x309D, 0x309E, 1},
+ {0x30FC, 0x30FE, 1},
+ },
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/ast.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/ast.go
new file mode 100644
index 00000000..ec62206e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/ast.go
@@ -0,0 +1,113 @@
+package parser
+
+import "github.com/ChrisTrenkamp/goxpath/internal/lexer"
+
+//NodeType enumerations
+const (
+ Empty lexer.XItemType = ""
+)
+
+//Node builds an AST tree for operating on XPath expressions
+type Node struct {
+ Val lexer.XItem
+ Left *Node
+ Right *Node
+ Parent *Node
+ next *Node
+}
+
+var beginPathType = map[lexer.XItemType]bool{
+ lexer.XItemAbsLocPath: true,
+ lexer.XItemAbbrAbsLocPath: true,
+ lexer.XItemAbbrRelLocPath: true,
+ lexer.XItemRelLocPath: true,
+ lexer.XItemFunction: true,
+}
+
+func (n *Node) add(i lexer.XItem) {
+ if n.Val.Typ == Empty {
+ n.Val = i
+ } else if n.Left == nil {
+ n.Left = &Node{Val: n.Val, Parent: n}
+ n.Val = i
+ } else if beginPathType[n.Val.Typ] {
+ next := &Node{Val: n.Val, Left: n.Left, Parent: n}
+ n.Left = next
+ n.Val = i
+ } else if n.Right == nil {
+ n.Right = &Node{Val: i, Parent: n}
+ } else {
+ next := &Node{Val: n.Val, Left: n.Left, Right: n.Right, Parent: n}
+ n.Left, n.Right = next, nil
+ n.Val = i
+ }
+ n.next = n
+}
+
+func (n *Node) push(i lexer.XItem) {
+ if n.Left == nil {
+ n.Left = &Node{Val: i, Parent: n}
+ n.next = n.Left
+ } else if n.Right == nil {
+ n.Right = &Node{Val: i, Parent: n}
+ n.next = n.Right
+ } else {
+ next := &Node{Val: i, Left: n.Right, Parent: n}
+ n.Right = next
+ n.next = n.Right
+ }
+}
+
+func (n *Node) pushNotEmpty(i lexer.XItem) {
+ if n.Val.Typ == Empty {
+ n.add(i)
+ } else {
+ n.push(i)
+ }
+}
+
+/*
+func (n *Node) prettyPrint(depth, width int) {
+ nodes := []*Node{}
+ n.getLine(depth, &nodes)
+ fmt.Printf("%*s", (width-depth)*2, "")
+ toggle := true
+ if len(nodes) > 1 {
+ for _, i := range nodes {
+ if i != nil {
+ if toggle {
+ fmt.Print("/ ")
+ } else {
+ fmt.Print("\\ ")
+ }
+ }
+ toggle = !toggle
+ }
+ fmt.Println()
+ fmt.Printf("%*s", (width-depth)*2, "")
+ }
+ for _, i := range nodes {
+ if i != nil {
+ fmt.Print(i.Val.Val, " ")
+ }
+ }
+ fmt.Println()
+}
+
+func (n *Node) getLine(depth int, ret *[]*Node) {
+ if depth <= 0 && n != nil {
+ *ret = append(*ret, n)
+ return
+ }
+ if n.Left != nil {
+ n.Left.getLine(depth-1, ret)
+ } else if depth-1 <= 0 {
+ *ret = append(*ret, nil)
+ }
+ if n.Right != nil {
+ n.Right.getLine(depth-1, ret)
+ } else if depth-1 <= 0 {
+ *ret = append(*ret, nil)
+ }
+}
+*/
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/findutil/findUtil.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/findutil/findUtil.go
new file mode 100644
index 00000000..6a6d44ab
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/findutil/findUtil.go
@@ -0,0 +1,307 @@
+package findutil
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr"
+ "github.com/ChrisTrenkamp/goxpath/internal/xconst"
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+const (
+ wildcard = "*"
+)
+
+type findFunc func(tree.Node, *pathexpr.PathExpr, *[]tree.Node)
+
+var findMap = map[string]findFunc{
+ xconst.AxisAncestor: findAncestor,
+ xconst.AxisAncestorOrSelf: findAncestorOrSelf,
+ xconst.AxisAttribute: findAttribute,
+ xconst.AxisChild: findChild,
+ xconst.AxisDescendent: findDescendent,
+ xconst.AxisDescendentOrSelf: findDescendentOrSelf,
+ xconst.AxisFollowing: findFollowing,
+ xconst.AxisFollowingSibling: findFollowingSibling,
+ xconst.AxisNamespace: findNamespace,
+ xconst.AxisParent: findParent,
+ xconst.AxisPreceding: findPreceding,
+ xconst.AxisPrecedingSibling: findPrecedingSibling,
+ xconst.AxisSelf: findSelf,
+}
+
+//Find finds nodes based on the pathexpr.PathExpr
+func Find(x tree.Node, p pathexpr.PathExpr) []tree.Node {
+ ret := []tree.Node{}
+
+ if p.Axis == "" {
+ findChild(x, &p, &ret)
+ return ret
+ }
+
+ f := findMap[p.Axis]
+ f(x, &p, &ret)
+
+ return ret
+}
+
+func findAncestor(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() == tree.NtRoot {
+ return
+ }
+
+ addNode(x.GetParent(), p, ret)
+ findAncestor(x.GetParent(), p, ret)
+}
+
+func findAncestorOrSelf(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ findSelf(x, p, ret)
+ findAncestor(x, p, ret)
+}
+
+func findAttribute(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if ele, ok := x.(tree.Elem); ok {
+ for _, i := range ele.GetAttrs() {
+ addNode(i, p, ret)
+ }
+ }
+}
+
+func findChild(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if ele, ok := x.(tree.Elem); ok {
+ ch := ele.GetChildren()
+ for i := range ch {
+ addNode(ch[i], p, ret)
+ }
+ }
+}
+
+func findDescendent(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if ele, ok := x.(tree.Elem); ok {
+ ch := ele.GetChildren()
+ for i := range ch {
+ addNode(ch[i], p, ret)
+ findDescendent(ch[i], p, ret)
+ }
+ }
+}
+
+func findDescendentOrSelf(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ findSelf(x, p, ret)
+ findDescendent(x, p, ret)
+}
+
+func findFollowing(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() == tree.NtRoot {
+ return
+ }
+ par := x.GetParent()
+ ch := par.GetChildren()
+ i := 0
+ for x != ch[i] {
+ i++
+ }
+ i++
+ for i < len(ch) {
+ findDescendentOrSelf(ch[i], p, ret)
+ i++
+ }
+ findFollowing(par, p, ret)
+}
+
+func findFollowingSibling(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() == tree.NtRoot {
+ return
+ }
+ par := x.GetParent()
+ ch := par.GetChildren()
+ i := 0
+ for x != ch[i] {
+ i++
+ }
+ i++
+ for i < len(ch) {
+ findSelf(ch[i], p, ret)
+ i++
+ }
+}
+
+func findNamespace(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if ele, ok := x.(tree.NSElem); ok {
+ ns := tree.BuildNS(ele)
+ for _, i := range ns {
+ addNode(i, p, ret)
+ }
+ }
+}
+
+func findParent(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() != tree.NtRoot {
+ addNode(x.GetParent(), p, ret)
+ }
+}
+
+func findPreceding(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() == tree.NtRoot {
+ return
+ }
+ par := x.GetParent()
+ ch := par.GetChildren()
+ i := len(ch) - 1
+ for x != ch[i] {
+ i--
+ }
+ i--
+ for i >= 0 {
+ findDescendentOrSelf(ch[i], p, ret)
+ i--
+ }
+ findPreceding(par, p, ret)
+}
+
+func findPrecedingSibling(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ if x.GetNodeType() == tree.NtRoot {
+ return
+ }
+ par := x.GetParent()
+ ch := par.GetChildren()
+ i := len(ch) - 1
+ for x != ch[i] {
+ i--
+ }
+ i--
+ for i >= 0 {
+ findSelf(ch[i], p, ret)
+ i--
+ }
+}
+
+func findSelf(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ addNode(x, p, ret)
+}
+
+func addNode(x tree.Node, p *pathexpr.PathExpr, ret *[]tree.Node) {
+ add := false
+ tok := x.GetToken()
+
+ switch x.GetNodeType() {
+ case tree.NtAttr:
+ add = evalAttr(p, tok.(xml.Attr))
+ case tree.NtChd:
+ add = evalChd(p)
+ case tree.NtComm:
+ add = evalComm(p)
+ case tree.NtElem, tree.NtRoot:
+ add = evalEle(p, tok.(xml.StartElement))
+ case tree.NtNs:
+ add = evalNS(p, tok.(xml.Attr))
+ case tree.NtPi:
+ add = evalPI(p)
+ }
+
+ if add {
+ *ret = append(*ret, x)
+ }
+}
+
+func evalAttr(p *pathexpr.PathExpr, a xml.Attr) bool {
+ if p.NodeType == "" {
+ if p.Name.Space != wildcard {
+ if a.Name.Space != p.NS[p.Name.Space] {
+ return false
+ }
+ }
+
+ if p.Name.Local == wildcard && p.Axis == xconst.AxisAttribute {
+ return true
+ }
+
+ if p.Name.Local == a.Name.Local {
+ return true
+ }
+ } else {
+ if p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+ }
+
+ return false
+}
+
+func evalChd(p *pathexpr.PathExpr) bool {
+ if p.NodeType == xconst.NodeTypeText || p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+
+ return false
+}
+
+func evalComm(p *pathexpr.PathExpr) bool {
+ if p.NodeType == xconst.NodeTypeComment || p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+
+ return false
+}
+
+func evalEle(p *pathexpr.PathExpr, ele xml.StartElement) bool {
+ if p.NodeType == "" {
+ return checkNameAndSpace(p, ele)
+ }
+
+ if p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+
+ return false
+}
+
+func checkNameAndSpace(p *pathexpr.PathExpr, ele xml.StartElement) bool {
+ if p.Name.Local == wildcard && p.Name.Space == "" {
+ return true
+ }
+
+ if p.Name.Space != wildcard && ele.Name.Space != p.NS[p.Name.Space] {
+ return false
+ }
+
+ if p.Name.Local == wildcard && p.Axis != xconst.AxisAttribute && p.Axis != xconst.AxisNamespace {
+ return true
+ }
+
+ if p.Name.Local == ele.Name.Local {
+ return true
+ }
+
+ return false
+}
+
+func evalNS(p *pathexpr.PathExpr, ns xml.Attr) bool {
+ if p.NodeType == "" {
+ if p.Name.Space != "" && p.Name.Space != wildcard {
+ return false
+ }
+
+ if p.Name.Local == wildcard && p.Axis == xconst.AxisNamespace {
+ return true
+ }
+
+ if p.Name.Local == ns.Name.Local {
+ return true
+ }
+ } else {
+ if p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+ }
+
+ return false
+}
+
+func evalPI(p *pathexpr.PathExpr) bool {
+ if p.NodeType == xconst.NodeTypeProcInst || p.NodeType == xconst.NodeTypeNode {
+ return true
+ }
+
+ return false
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/boolfns.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/boolfns.go
new file mode 100644
index 00000000..5480ebcc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/boolfns.go
@@ -0,0 +1,74 @@
+package intfns
+
+import (
+ "fmt"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+ "golang.org/x/text/language"
+)
+
+func boolean(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ if b, ok := args[0].(tree.IsBool); ok {
+ return b.Bool(), nil
+ }
+
+ return nil, fmt.Errorf("Cannot convert object to a boolean")
+}
+
+func not(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ b, ok := args[0].(tree.IsBool)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a boolean")
+ }
+ return !b.Bool(), nil
+}
+
+func _true(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Bool(true), nil
+}
+
+func _false(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Bool(false), nil
+}
+
+func lang(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ lStr := args[0].String()
+
+ var n tree.Elem
+
+ for _, i := range c.NodeSet {
+ if i.GetNodeType() == tree.NtElem {
+ n = i.(tree.Elem)
+ } else {
+ n = i.GetParent()
+ }
+
+ for n.GetNodeType() != tree.NtRoot {
+ if attr, ok := tree.GetAttribute(n, "lang", tree.XMLSpace); ok {
+ return checkLang(lStr, attr.Value), nil
+ }
+ n = n.GetParent()
+ }
+ }
+
+ return tree.Bool(false), nil
+}
+
+func checkLang(srcStr, targStr string) tree.Bool {
+ srcLang := language.Make(srcStr)
+ srcRegion, srcRegionConf := srcLang.Region()
+
+ targLang := language.Make(targStr)
+ targRegion, targRegionConf := targLang.Region()
+
+ if srcRegionConf == language.Exact && targRegionConf != language.Exact {
+ return tree.Bool(false)
+ }
+
+ if srcRegion != targRegion && srcRegionConf == language.Exact && targRegionConf == language.Exact {
+ return tree.Bool(false)
+ }
+
+ _, _, conf := language.NewMatcher([]language.Tag{srcLang}).Match(targLang)
+ return tree.Bool(conf >= language.High)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/intfns.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/intfns.go
new file mode 100644
index 00000000..8b09fa99
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/intfns.go
@@ -0,0 +1,41 @@
+package intfns
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//BuiltIn contains the list of built-in XPath functions
+var BuiltIn = map[xml.Name]tree.Wrap{
+ //String functions
+ {Local: "string"}: {Fn: _string, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "concat"}: {Fn: concat, NArgs: 3, LastArgOpt: tree.Variadic},
+ {Local: "starts-with"}: {Fn: startsWith, NArgs: 2},
+ {Local: "contains"}: {Fn: contains, NArgs: 2},
+ {Local: "substring-before"}: {Fn: substringBefore, NArgs: 2},
+ {Local: "substring-after"}: {Fn: substringAfter, NArgs: 2},
+ {Local: "substring"}: {Fn: substring, NArgs: 3, LastArgOpt: tree.Optional},
+ {Local: "string-length"}: {Fn: stringLength, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "normalize-space"}: {Fn: normalizeSpace, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "translate"}: {Fn: translate, NArgs: 3},
+ //Node set functions
+ {Local: "last"}: {Fn: last},
+ {Local: "position"}: {Fn: position},
+ {Local: "count"}: {Fn: count, NArgs: 1},
+ {Local: "local-name"}: {Fn: localName, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "namespace-uri"}: {Fn: namespaceURI, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "name"}: {Fn: name, NArgs: 1, LastArgOpt: tree.Optional},
+ //boolean functions
+ {Local: "boolean"}: {Fn: boolean, NArgs: 1},
+ {Local: "not"}: {Fn: not, NArgs: 1},
+ {Local: "true"}: {Fn: _true},
+ {Local: "false"}: {Fn: _false},
+ {Local: "lang"}: {Fn: lang, NArgs: 1},
+ //number functions
+ {Local: "number"}: {Fn: number, NArgs: 1, LastArgOpt: tree.Optional},
+ {Local: "sum"}: {Fn: sum, NArgs: 1},
+ {Local: "floor"}: {Fn: floor, NArgs: 1},
+ {Local: "ceiling"}: {Fn: ceiling, NArgs: 1},
+ {Local: "round"}: {Fn: round, NArgs: 1},
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/nodesetfns.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/nodesetfns.go
new file mode 100644
index 00000000..7286a304
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/nodesetfns.go
@@ -0,0 +1,131 @@
+package intfns
+
+import (
+ "encoding/xml"
+ "fmt"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+func last(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Num(c.Size), nil
+}
+
+func position(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Num(c.Pos), nil
+}
+
+func count(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ n, ok := args[0].(tree.NodeSet)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a node-set")
+ }
+
+ return tree.Num(len(n)), nil
+}
+
+func localName(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ var n tree.NodeSet
+ ok := true
+ if len(args) == 1 {
+ n, ok = args[0].(tree.NodeSet)
+ } else {
+ n = c.NodeSet
+ }
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a node-set")
+ }
+
+ ret := ""
+ if len(n) == 0 {
+ return tree.String(ret), nil
+ }
+ node := n[0]
+
+ tok := node.GetToken()
+
+ switch node.GetNodeType() {
+ case tree.NtElem:
+ ret = tok.(xml.StartElement).Name.Local
+ case tree.NtAttr:
+ ret = tok.(xml.Attr).Name.Local
+ case tree.NtPi:
+ ret = tok.(xml.ProcInst).Target
+ }
+
+ return tree.String(ret), nil
+}
+
+func namespaceURI(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ var n tree.NodeSet
+ ok := true
+ if len(args) == 1 {
+ n, ok = args[0].(tree.NodeSet)
+ } else {
+ n = c.NodeSet
+ }
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a node-set")
+ }
+
+ ret := ""
+ if len(n) == 0 {
+ return tree.String(ret), nil
+ }
+ node := n[0]
+
+ tok := node.GetToken()
+
+ switch node.GetNodeType() {
+ case tree.NtElem:
+ ret = tok.(xml.StartElement).Name.Space
+ case tree.NtAttr:
+ ret = tok.(xml.Attr).Name.Space
+ }
+
+ return tree.String(ret), nil
+}
+
+func name(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ var n tree.NodeSet
+ ok := true
+ if len(args) == 1 {
+ n, ok = args[0].(tree.NodeSet)
+ } else {
+ n = c.NodeSet
+ }
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a node-set")
+ }
+
+ ret := ""
+ if len(n) == 0 {
+ return tree.String(ret), nil
+ }
+ node := n[0]
+
+ switch node.GetNodeType() {
+ case tree.NtElem:
+ t := node.GetToken().(xml.StartElement)
+ space := ""
+
+ if t.Name.Space != "" {
+ space = fmt.Sprintf("{%s}", t.Name.Space)
+ }
+
+ ret = fmt.Sprintf("%s%s", space, t.Name.Local)
+ case tree.NtAttr:
+ t := node.GetToken().(xml.Attr)
+ space := ""
+
+ if t.Name.Space != "" {
+ space = fmt.Sprintf("{%s}", t.Name.Space)
+ }
+
+ ret = fmt.Sprintf("%s%s", space, t.Name.Local)
+ case tree.NtPi:
+ ret = fmt.Sprintf("%s", node.GetToken().(xml.ProcInst).Target)
+ }
+
+ return tree.String(ret), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/numfns.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/numfns.go
new file mode 100644
index 00000000..464403f9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/numfns.go
@@ -0,0 +1,71 @@
+package intfns
+
+import (
+ "fmt"
+ "math"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+func number(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ if b, ok := args[0].(tree.IsNum); ok {
+ return b.Num(), nil
+ }
+
+ return nil, fmt.Errorf("Cannot convert object to a number")
+}
+
+func sum(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ n, ok := args[0].(tree.NodeSet)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a node-set")
+ }
+
+ ret := 0.0
+ for _, i := range n {
+ ret += float64(tree.GetNodeNum(i))
+ }
+
+ return tree.Num(ret), nil
+}
+
+func floor(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ n, ok := args[0].(tree.IsNum)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a number")
+ }
+
+ return tree.Num(math.Floor(float64(n.Num()))), nil
+}
+
+func ceiling(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ n, ok := args[0].(tree.IsNum)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a number")
+ }
+
+ return tree.Num(math.Ceil(float64(n.Num()))), nil
+}
+
+func round(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ isn, ok := args[0].(tree.IsNum)
+ if !ok {
+ return nil, fmt.Errorf("Cannot convert object to a number")
+ }
+
+ n := isn.Num()
+
+ if math.IsNaN(float64(n)) || math.IsInf(float64(n), 0) {
+ return n, nil
+ }
+
+ if n < -0.5 {
+ n = tree.Num(int(n - 0.5))
+ } else if n > 0.5 {
+ n = tree.Num(int(n + 0.5))
+ } else {
+ n = 0
+ }
+
+ return n, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/stringfns.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/stringfns.go
new file mode 100644
index 00000000..4e6a73a0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/intfns/stringfns.go
@@ -0,0 +1,141 @@
+package intfns
+
+import (
+ "math"
+ "regexp"
+ "strings"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+func _string(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ if len(args) == 1 {
+ return tree.String(args[0].String()), nil
+ }
+
+ return tree.String(c.NodeSet.String()), nil
+}
+
+func concat(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ ret := ""
+
+ for _, i := range args {
+ ret += i.String()
+ }
+
+ return tree.String(ret), nil
+}
+
+func startsWith(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Bool(strings.Index(args[0].String(), args[1].String()) == 0), nil
+}
+
+func contains(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ return tree.Bool(strings.Contains(args[0].String(), args[1].String())), nil
+}
+
+func substringBefore(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ ind := strings.Index(args[0].String(), args[1].String())
+ if ind == -1 {
+ return tree.String(""), nil
+ }
+
+ return tree.String(args[0].String()[:ind]), nil
+}
+
+func substringAfter(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ ind := strings.Index(args[0].String(), args[1].String())
+ if ind == -1 {
+ return tree.String(""), nil
+ }
+
+ return tree.String(args[0].String()[ind+len(args[1].String()):]), nil
+}
+
+func substring(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ str := args[0].String()
+
+ bNum, bErr := round(c, args[1])
+ if bErr != nil {
+ return nil, bErr
+ }
+
+ b := bNum.(tree.Num).Num()
+
+ if float64(b-1) >= float64(len(str)) || math.IsNaN(float64(b)) {
+ return tree.String(""), nil
+ }
+
+ if len(args) == 2 {
+ if b <= 1 {
+ b = 1
+ }
+
+ return tree.String(str[int(b)-1:]), nil
+ }
+
+ eNum, eErr := round(c, args[2])
+ if eErr != nil {
+ return nil, eErr
+ }
+
+ e := eNum.(tree.Num).Num()
+
+ if e <= 0 || math.IsNaN(float64(e)) || (math.IsInf(float64(b), 0) && math.IsInf(float64(e), 0)) {
+ return tree.String(""), nil
+ }
+
+ if b <= 1 {
+ e = b + e - 1
+ b = 1
+ }
+
+ if float64(b+e-1) >= float64(len(str)) {
+ e = tree.Num(len(str)) - b + 1
+ }
+
+ return tree.String(str[int(b)-1 : int(b+e)-1]), nil
+}
+
+func stringLength(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ var str string
+ if len(args) == 1 {
+ str = args[0].String()
+ } else {
+ str = c.NodeSet.String()
+ }
+
+ return tree.Num(len(str)), nil
+}
+
+var spaceTrim = regexp.MustCompile(`\s+`)
+
+func normalizeSpace(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ var str string
+ if len(args) == 1 {
+ str = args[0].String()
+ } else {
+ str = c.NodeSet.String()
+ }
+
+ str = strings.TrimSpace(str)
+
+ return tree.String(spaceTrim.ReplaceAllString(str, " ")), nil
+}
+
+func translate(c tree.Ctx, args ...tree.Result) (tree.Result, error) {
+ ret := args[0].String()
+ src := args[1].String()
+ repl := args[2].String()
+
+ for i := range src {
+ r := ""
+ if i < len(repl) {
+ r = string(repl[i])
+ }
+
+ ret = strings.Replace(ret, string(src[i]), r, -1)
+ }
+
+ return tree.String(ret), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/parser.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/parser.go
new file mode 100644
index 00000000..9029c7a7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/parser.go
@@ -0,0 +1,194 @@
+package parser
+
+import (
+ "fmt"
+
+ "github.com/ChrisTrenkamp/goxpath/internal/lexer"
+)
+
+type stateType int
+
+const (
+ defState stateType = iota
+ xpathState
+ funcState
+ paramState
+ predState
+ parenState
+)
+
+type parseStack struct {
+ stack []*Node
+ stateTypes []stateType
+ cur *Node
+}
+
+func (p *parseStack) push(t stateType) {
+ p.stack = append(p.stack, p.cur)
+ p.stateTypes = append(p.stateTypes, t)
+}
+
+func (p *parseStack) pop() {
+ stackPos := len(p.stack) - 1
+
+ p.cur = p.stack[stackPos]
+ p.stack = p.stack[:stackPos]
+ p.stateTypes = p.stateTypes[:stackPos]
+}
+
+func (p *parseStack) curState() stateType {
+ if len(p.stateTypes) == 0 {
+ return defState
+ }
+ return p.stateTypes[len(p.stateTypes)-1]
+}
+
+type lexFn func(*parseStack, lexer.XItem)
+
+var parseMap = map[lexer.XItemType]lexFn{
+ lexer.XItemAbsLocPath: xiXPath,
+ lexer.XItemAbbrAbsLocPath: xiXPath,
+ lexer.XItemAbbrRelLocPath: xiXPath,
+ lexer.XItemRelLocPath: xiXPath,
+ lexer.XItemEndPath: xiEndPath,
+ lexer.XItemAxis: xiXPath,
+ lexer.XItemAbbrAxis: xiXPath,
+ lexer.XItemNCName: xiXPath,
+ lexer.XItemQName: xiXPath,
+ lexer.XItemNodeType: xiXPath,
+ lexer.XItemProcLit: xiXPath,
+ lexer.XItemFunction: xiFunc,
+ lexer.XItemArgument: xiFuncArg,
+ lexer.XItemEndFunction: xiEndFunc,
+ lexer.XItemPredicate: xiPred,
+ lexer.XItemEndPredicate: xiEndPred,
+ lexer.XItemStrLit: xiValue,
+ lexer.XItemNumLit: xiValue,
+ lexer.XItemOperator: xiOp,
+ lexer.XItemVariable: xiValue,
+}
+
+var opPrecedence = map[string]int{
+ "|": 1,
+ "*": 2,
+ "div": 2,
+ "mod": 2,
+ "+": 3,
+ "-": 3,
+ "=": 4,
+ "!=": 4,
+ "<": 4,
+ "<=": 4,
+ ">": 4,
+ ">=": 4,
+ "and": 5,
+ "or": 6,
+}
+
+//Parse creates an AST tree for XPath expressions.
+func Parse(xp string) (*Node, error) {
+ var err error
+ c := lexer.Lex(xp)
+ n := &Node{}
+ p := &parseStack{cur: n}
+
+ for next := range c {
+ if next.Typ != lexer.XItemError {
+ parseMap[next.Typ](p, next)
+ } else if err == nil {
+ err = fmt.Errorf(next.Val)
+ }
+ }
+
+ return n, err
+}
+
+func xiXPath(p *parseStack, i lexer.XItem) {
+ if p.curState() == xpathState {
+ p.cur.push(i)
+ p.cur = p.cur.next
+ return
+ }
+
+ if p.cur.Val.Typ == lexer.XItemFunction {
+ p.cur.Right = &Node{Val: i, Parent: p.cur}
+ p.cur.next = p.cur.Right
+ p.push(xpathState)
+ p.cur = p.cur.next
+ return
+ }
+
+ p.cur.pushNotEmpty(i)
+ p.push(xpathState)
+ p.cur = p.cur.next
+}
+
+func xiEndPath(p *parseStack, i lexer.XItem) {
+ p.pop()
+}
+
+func xiFunc(p *parseStack, i lexer.XItem) {
+ p.cur.push(i)
+ p.cur = p.cur.next
+ p.push(funcState)
+}
+
+func xiFuncArg(p *parseStack, i lexer.XItem) {
+ if p.curState() != funcState {
+ p.pop()
+ }
+
+ p.cur.push(i)
+ p.cur = p.cur.next
+ p.push(paramState)
+ p.cur.push(lexer.XItem{Typ: Empty, Val: ""})
+ p.cur = p.cur.next
+}
+
+func xiEndFunc(p *parseStack, i lexer.XItem) {
+ if p.curState() == paramState {
+ p.pop()
+ }
+ p.pop()
+}
+
+func xiPred(p *parseStack, i lexer.XItem) {
+ p.cur.push(i)
+ p.cur = p.cur.next
+ p.push(predState)
+ p.cur.push(lexer.XItem{Typ: Empty, Val: ""})
+ p.cur = p.cur.next
+}
+
+func xiEndPred(p *parseStack, i lexer.XItem) {
+ p.pop()
+}
+
+func xiValue(p *parseStack, i lexer.XItem) {
+ p.cur.add(i)
+}
+
+func xiOp(p *parseStack, i lexer.XItem) {
+ if i.Val == "(" {
+ p.cur.push(lexer.XItem{Typ: Empty, Val: ""})
+ p.push(parenState)
+ p.cur = p.cur.next
+ return
+ }
+
+ if i.Val == ")" {
+ p.pop()
+ return
+ }
+
+ if p.cur.Val.Typ == lexer.XItemOperator {
+ if opPrecedence[p.cur.Val.Val] <= opPrecedence[i.Val] {
+ p.cur.add(i)
+ } else {
+ p.cur.push(i)
+ }
+ } else {
+ p.cur.add(i)
+ }
+ p.cur = p.cur.next
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr/pathexpr.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr/pathexpr.go
new file mode 100644
index 00000000..7fe69eb4
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr/pathexpr.go
@@ -0,0 +1,11 @@
+package pathexpr
+
+import "encoding/xml"
+
+//PathExpr represents XPath step's. xmltree.XMLTree uses it to find nodes.
+type PathExpr struct {
+ Name xml.Name
+ Axis string
+ NodeType string
+ NS map[string]string
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xconst/xconst.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xconst/xconst.go
new file mode 100644
index 00000000..65099127
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xconst/xconst.go
@@ -0,0 +1,66 @@
+package xconst
+
+const (
+ //AxisAncestor represents the "ancestor" axis
+ AxisAncestor = "ancestor"
+ //AxisAncestorOrSelf represents the "ancestor-or-self" axis
+ AxisAncestorOrSelf = "ancestor-or-self"
+ //AxisAttribute represents the "attribute" axis
+ AxisAttribute = "attribute"
+ //AxisChild represents the "child" axis
+ AxisChild = "child"
+ //AxisDescendent represents the "descendant" axis
+ AxisDescendent = "descendant"
+ //AxisDescendentOrSelf represents the "descendant-or-self" axis
+ AxisDescendentOrSelf = "descendant-or-self"
+ //AxisFollowing represents the "following" axis
+ AxisFollowing = "following"
+ //AxisFollowingSibling represents the "following-sibling" axis
+ AxisFollowingSibling = "following-sibling"
+ //AxisNamespace represents the "namespace" axis
+ AxisNamespace = "namespace"
+ //AxisParent represents the "parent" axis
+ AxisParent = "parent"
+ //AxisPreceding represents the "preceding" axis
+ AxisPreceding = "preceding"
+ //AxisPrecedingSibling represents the "preceding-sibling" axis
+ AxisPrecedingSibling = "preceding-sibling"
+ //AxisSelf represents the "self" axis
+ AxisSelf = "self"
+)
+
+//AxisNames is all the possible Axis identifiers wrapped in an array for convenience
+var AxisNames = []string{
+ AxisAncestor,
+ AxisAncestorOrSelf,
+ AxisAttribute,
+ AxisChild,
+ AxisDescendent,
+ AxisDescendentOrSelf,
+ AxisFollowing,
+ AxisFollowingSibling,
+ AxisNamespace,
+ AxisParent,
+ AxisPreceding,
+ AxisPrecedingSibling,
+ AxisSelf,
+}
+
+const (
+ //NodeTypeComment represents the "comment" node test
+ NodeTypeComment = "comment"
+ //NodeTypeText represents the "text" node test
+ NodeTypeText = "text"
+ //NodeTypeProcInst represents the "processing-instruction" node test
+ NodeTypeProcInst = "processing-instruction"
+ //NodeTypeNode represents the "node" node test
+ NodeTypeNode = "node"
+)
+
+//NodeTypes is all the possible node tests wrapped in an array for convenience
+var NodeTypes = []string{
+ NodeTypeComment,
+ NodeTypeText,
+ NodeTypeProcInst,
+ NodeTypeNode,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xsort/xsort.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xsort/xsort.go
new file mode 100644
index 00000000..95f57c24
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/internal/xsort/xsort.go
@@ -0,0 +1,20 @@
+package xsort
+
+import (
+ "sort"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+type nodeSort []tree.Node
+
+func (ns nodeSort) Len() int { return len(ns) }
+func (ns nodeSort) Swap(i, j int) { ns[i], ns[j] = ns[j], ns[i] }
+func (ns nodeSort) Less(i, j int) bool {
+ return ns[i].Pos() < ns[j].Pos()
+}
+
+//SortNodes sorts the array by the node document order
+func SortNodes(res []tree.Node) {
+ sort.Sort(nodeSort(res))
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/marshal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/marshal.go
new file mode 100644
index 00000000..e1045f20
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/marshal.go
@@ -0,0 +1,105 @@
+package goxpath
+
+import (
+ "bytes"
+ "encoding/xml"
+ "io"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//Marshal prints the result tree, r, in XML form to w.
+func Marshal(n tree.Node, w io.Writer) error {
+ return marshal(n, w)
+}
+
+//MarshalStr is like Marhal, but returns a string.
+func MarshalStr(n tree.Node) (string, error) {
+ ret := bytes.NewBufferString("")
+ err := marshal(n, ret)
+
+ return ret.String(), err
+}
+
+func marshal(n tree.Node, w io.Writer) error {
+ e := xml.NewEncoder(w)
+ err := encTok(n, e)
+ if err != nil {
+ return err
+ }
+
+ return e.Flush()
+}
+
+func encTok(n tree.Node, e *xml.Encoder) error {
+ switch n.GetNodeType() {
+ case tree.NtAttr:
+ return encAttr(n.GetToken().(xml.Attr), e)
+ case tree.NtElem:
+ return encEle(n.(tree.Elem), e)
+ case tree.NtNs:
+ return encNS(n.GetToken().(xml.Attr), e)
+ case tree.NtRoot:
+ for _, i := range n.(tree.Elem).GetChildren() {
+ err := encTok(i, e)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+ }
+
+ //case tree.NtChd, tree.NtComm, tree.NtPi:
+ return e.EncodeToken(n.GetToken())
+}
+
+func encAttr(a xml.Attr, e *xml.Encoder) error {
+ str := a.Name.Local + `="` + a.Value + `"`
+
+ if a.Name.Space != "" {
+ str += ` xmlns="` + a.Name.Space + `"`
+ }
+
+ pi := xml.ProcInst{
+ Target: "attribute",
+ Inst: ([]byte)(str),
+ }
+
+ return e.EncodeToken(pi)
+}
+
+func encNS(ns xml.Attr, e *xml.Encoder) error {
+ pi := xml.ProcInst{
+ Target: "namespace",
+ Inst: ([]byte)(ns.Value),
+ }
+ return e.EncodeToken(pi)
+}
+
+func encEle(n tree.Elem, e *xml.Encoder) error {
+ ele := xml.StartElement{
+ Name: n.GetToken().(xml.StartElement).Name,
+ }
+
+ attrs := n.GetAttrs()
+ ele.Attr = make([]xml.Attr, len(attrs))
+ for i := range attrs {
+ ele.Attr[i] = attrs[i].GetToken().(xml.Attr)
+ }
+
+ err := e.EncodeToken(ele)
+ if err != nil {
+ return err
+ }
+
+ if x, ok := n.(tree.Elem); ok {
+ for _, i := range x.GetChildren() {
+ err := encTok(i, e)
+ if err != nil {
+ return err
+ }
+ }
+ }
+
+ return e.EncodeToken(ele.End())
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/interfaces.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/interfaces.go
new file mode 100644
index 00000000..a6e64257
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/interfaces.go
@@ -0,0 +1,18 @@
+package tree
+
+import "fmt"
+
+//Result is used for all data types.
+type Result interface {
+ fmt.Stringer
+}
+
+//IsBool is used for the XPath boolean function. It turns the data type to a bool.
+type IsBool interface {
+ Bool() Bool
+}
+
+//IsNum is used for the XPath number function. It turns the data type to a number.
+type IsNum interface {
+ Num() Num
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/tree.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/tree.go
new file mode 100644
index 00000000..c5d6333d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/tree.go
@@ -0,0 +1,221 @@
+package tree
+
+import (
+ "encoding/xml"
+ "sort"
+)
+
+//XMLSpace is the W3C XML namespace
+const XMLSpace = "http://www.w3.org/XML/1998/namespace"
+
+//NodePos is a helper for representing the node's document order
+type NodePos int
+
+//Pos returns the node's document order position
+func (n NodePos) Pos() int {
+ return int(n)
+}
+
+//NodeType is a safer way to determine a node's type than type assertions.
+type NodeType int
+
+//GetNodeType returns the node's type.
+func (t NodeType) GetNodeType() NodeType {
+ return t
+}
+
+//These are all the possible node types
+const (
+ NtAttr NodeType = iota
+ NtChd
+ NtComm
+ NtElem
+ NtNs
+ NtRoot
+ NtPi
+)
+
+//Node is a XPath result that is a node except elements
+type Node interface {
+ //ResValue prints the node's string value
+ ResValue() string
+ //Pos returns the node's position in the document order
+ Pos() int
+ //GetToken returns the xml.Token representation of the node
+ GetToken() xml.Token
+ //GetParent returns the parent node, which will always be an XML element
+ GetParent() Elem
+ //GetNodeType returns the node's type
+ GetNodeType() NodeType
+}
+
+//Elem is a XPath result that is an element node
+type Elem interface {
+ Node
+ //GetChildren returns the elements children.
+ GetChildren() []Node
+ //GetAttrs returns the attributes of the element
+ GetAttrs() []Node
+}
+
+//NSElem is a node that keeps track of namespaces.
+type NSElem interface {
+ Elem
+ GetNS() map[xml.Name]string
+}
+
+//NSBuilder is a helper-struct for satisfying the NSElem interface
+type NSBuilder struct {
+ NS map[xml.Name]string
+}
+
+//GetNS returns the namespaces found on the current element. It should not be
+//confused with BuildNS, which actually resolves the namespace nodes.
+func (ns NSBuilder) GetNS() map[xml.Name]string {
+ return ns.NS
+}
+
+type nsValueSort []NS
+
+func (ns nsValueSort) Len() int { return len(ns) }
+func (ns nsValueSort) Swap(i, j int) {
+ ns[i], ns[j] = ns[j], ns[i]
+}
+func (ns nsValueSort) Less(i, j int) bool {
+ return ns[i].Value < ns[j].Value
+}
+
+//BuildNS resolves all the namespace nodes of the element and returns them
+func BuildNS(t Elem) (ret []NS) {
+ vals := make(map[xml.Name]string)
+
+ if nselem, ok := t.(NSElem); ok {
+ buildNS(nselem, vals)
+
+ ret = make([]NS, 0, len(vals))
+ i := 1
+
+ for k, v := range vals {
+ if !(k.Local == "xmlns" && k.Space == "" && v == "") {
+ ret = append(ret, NS{
+ Attr: xml.Attr{Name: k, Value: v},
+ Parent: t,
+ NodeType: NtNs,
+ })
+ i++
+ }
+ }
+
+ sort.Sort(nsValueSort(ret))
+ for i := range ret {
+ ret[i].NodePos = NodePos(t.Pos() + i + 1)
+ }
+ }
+
+ return ret
+}
+
+func buildNS(x NSElem, ret map[xml.Name]string) {
+ if x.GetNodeType() == NtRoot {
+ return
+ }
+
+ if nselem, ok := x.GetParent().(NSElem); ok {
+ buildNS(nselem, ret)
+ }
+
+ for k, v := range x.GetNS() {
+ ret[k] = v
+ }
+}
+
+//NS is a namespace node.
+type NS struct {
+ xml.Attr
+ Parent Elem
+ NodePos
+ NodeType
+}
+
+//GetToken returns the xml.Token representation of the namespace.
+func (ns NS) GetToken() xml.Token {
+ return ns.Attr
+}
+
+//GetParent returns the parent node of the namespace.
+func (ns NS) GetParent() Elem {
+ return ns.Parent
+}
+
+//ResValue returns the string value of the namespace
+func (ns NS) ResValue() string {
+ return ns.Attr.Value
+}
+
+//GetAttribute is a convenience function for getting the specified attribute from an element.
+//false is returned if the attribute is not found.
+func GetAttribute(n Elem, local, space string) (xml.Attr, bool) {
+ attrs := n.GetAttrs()
+ for _, i := range attrs {
+ attr := i.GetToken().(xml.Attr)
+ if local == attr.Name.Local && space == attr.Name.Space {
+ return attr, true
+ }
+ }
+ return xml.Attr{}, false
+}
+
+//GetAttributeVal is like GetAttribute, except it returns the attribute's value.
+func GetAttributeVal(n Elem, local, space string) (string, bool) {
+ attr, ok := GetAttribute(n, local, space)
+ return attr.Value, ok
+}
+
+//GetAttrValOrEmpty is like GetAttributeVal, except it returns an empty string if
+//the attribute is not found instead of false.
+func GetAttrValOrEmpty(n Elem, local, space string) string {
+ val, ok := GetAttributeVal(n, local, space)
+ if !ok {
+ return ""
+ }
+ return val
+}
+
+//FindNodeByPos finds a node from the given position. Returns nil if the node
+//is not found.
+func FindNodeByPos(n Node, pos int) Node {
+ if n.Pos() == pos {
+ return n
+ }
+
+ if elem, ok := n.(Elem); ok {
+ chldrn := elem.GetChildren()
+ for i := 1; i < len(chldrn); i++ {
+ if chldrn[i-1].Pos() <= pos && chldrn[i].Pos() > pos {
+ return FindNodeByPos(chldrn[i-1], pos)
+ }
+ }
+
+ if len(chldrn) > 0 {
+ if chldrn[len(chldrn)-1].Pos() <= pos {
+ return FindNodeByPos(chldrn[len(chldrn)-1], pos)
+ }
+ }
+
+ attrs := elem.GetAttrs()
+ for _, i := range attrs {
+ if i.Pos() == pos {
+ return i
+ }
+ }
+
+ ns := BuildNS(elem)
+ for _, i := range ns {
+ if i.Pos() == pos {
+ return i
+ }
+ }
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xfn.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xfn.go
new file mode 100644
index 00000000..7a940bb3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xfn.go
@@ -0,0 +1,52 @@
+package tree
+
+import (
+ "fmt"
+)
+
+//Ctx represents the current context position, size, node, and the current filtered result
+type Ctx struct {
+ NodeSet
+ Pos int
+ Size int
+}
+
+//Fn is a XPath function, written in Go
+type Fn func(c Ctx, args ...Result) (Result, error)
+
+//LastArgOpt sets whether the last argument in a function is optional, variadic, or neither
+type LastArgOpt int
+
+//LastArgOpt options
+const (
+ None LastArgOpt = iota
+ Optional
+ Variadic
+)
+
+//Wrap interfaces XPath function calls with Go
+type Wrap struct {
+ Fn Fn
+ //NArgs represents the number of arguments to the XPath function. -1 represents a single optional argument
+ NArgs int
+ LastArgOpt LastArgOpt
+}
+
+//Call checks the arguments and calls Fn if they are valid
+func (w Wrap) Call(c Ctx, args ...Result) (Result, error) {
+ switch w.LastArgOpt {
+ case Optional:
+ if len(args) == w.NArgs || len(args) == w.NArgs-1 {
+ return w.Fn(c, args...)
+ }
+ case Variadic:
+ if len(args) >= w.NArgs-1 {
+ return w.Fn(c, args...)
+ }
+ default:
+ if len(args) == w.NArgs {
+ return w.Fn(c, args...)
+ }
+ }
+ return nil, fmt.Errorf("Invalid number of arguments")
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder/xmlbuilder.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder/xmlbuilder.go
new file mode 100644
index 00000000..625713c9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder/xmlbuilder.go
@@ -0,0 +1,25 @@
+package xmlbuilder
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//BuilderOpts supplies all the information needed to create an XML node.
+type BuilderOpts struct {
+ Dec *xml.Decoder
+ Tok xml.Token
+ NodeType tree.NodeType
+ NS map[xml.Name]string
+ Attrs []*xml.Attr
+ NodePos int
+ AttrStartPos int
+}
+
+//XMLBuilder is an interface for creating XML structures.
+type XMLBuilder interface {
+ tree.Node
+ CreateNode(*BuilderOpts) XMLBuilder
+ EndElem() XMLBuilder
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele/xmlele.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele/xmlele.go
new file mode 100644
index 00000000..85e3445d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele/xmlele.go
@@ -0,0 +1,106 @@
+package xmlele
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode"
+)
+
+//XMLEle is an implementation of XPRes for XML elements
+type XMLEle struct {
+ xml.StartElement
+ tree.NSBuilder
+ Attrs []tree.Node
+ Children []tree.Node
+ Parent tree.Elem
+ tree.NodePos
+ tree.NodeType
+}
+
+//Root is the default root node builder for xmltree.ParseXML
+func Root() xmlbuilder.XMLBuilder {
+ return &XMLEle{NodeType: tree.NtRoot}
+}
+
+//CreateNode is an implementation of xmlbuilder.XMLBuilder. It appends the node
+//specified in opts and returns the child if it is an element. Otherwise, it returns x.
+func (x *XMLEle) CreateNode(opts *xmlbuilder.BuilderOpts) xmlbuilder.XMLBuilder {
+ if opts.NodeType == tree.NtElem {
+ ele := &XMLEle{
+ StartElement: opts.Tok.(xml.StartElement),
+ NSBuilder: tree.NSBuilder{NS: opts.NS},
+ Attrs: make([]tree.Node, len(opts.Attrs)),
+ Parent: x,
+ NodePos: tree.NodePos(opts.NodePos),
+ NodeType: opts.NodeType,
+ }
+ for i := range opts.Attrs {
+ ele.Attrs[i] = xmlnode.XMLNode{
+ Token: opts.Attrs[i],
+ NodePos: tree.NodePos(opts.AttrStartPos + i),
+ NodeType: tree.NtAttr,
+ Parent: ele,
+ }
+ }
+ x.Children = append(x.Children, ele)
+ return ele
+ }
+
+ node := xmlnode.XMLNode{
+ Token: opts.Tok,
+ NodePos: tree.NodePos(opts.NodePos),
+ NodeType: opts.NodeType,
+ Parent: x,
+ }
+ x.Children = append(x.Children, node)
+ return x
+}
+
+//EndElem is an implementation of xmlbuilder.XMLBuilder. It returns x's parent.
+func (x *XMLEle) EndElem() xmlbuilder.XMLBuilder {
+ return x.Parent.(*XMLEle)
+}
+
+//GetToken returns the xml.Token representation of the node
+func (x *XMLEle) GetToken() xml.Token {
+ return x.StartElement
+}
+
+//GetParent returns the parent node, or itself if it's the root
+func (x *XMLEle) GetParent() tree.Elem {
+ return x.Parent
+}
+
+//GetChildren returns all child nodes of the element
+func (x *XMLEle) GetChildren() []tree.Node {
+ ret := make([]tree.Node, len(x.Children))
+
+ for i := range x.Children {
+ ret[i] = x.Children[i]
+ }
+
+ return ret
+}
+
+//GetAttrs returns all attributes of the element
+func (x *XMLEle) GetAttrs() []tree.Node {
+ ret := make([]tree.Node, len(x.Attrs))
+ for i := range x.Attrs {
+ ret[i] = x.Attrs[i]
+ }
+ return ret
+}
+
+//ResValue returns the string value of the element and children
+func (x *XMLEle) ResValue() string {
+ ret := ""
+ for i := range x.Children {
+ switch x.Children[i].GetNodeType() {
+ case tree.NtChd, tree.NtElem, tree.NtRoot:
+ ret += x.Children[i].ResValue()
+ }
+ }
+ return ret
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode/xmlnode.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode/xmlnode.go
new file mode 100644
index 00000000..9be76985
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode/xmlnode.go
@@ -0,0 +1,43 @@
+package xmlnode
+
+import (
+ "encoding/xml"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+)
+
+//XMLNode will represent an attribute, character data, comment, or processing instruction node
+type XMLNode struct {
+ xml.Token
+ tree.NodePos
+ tree.NodeType
+ Parent tree.Elem
+}
+
+//GetToken returns the xml.Token representation of the node
+func (a XMLNode) GetToken() xml.Token {
+ if a.NodeType == tree.NtAttr {
+ ret := a.Token.(*xml.Attr)
+ return *ret
+ }
+ return a.Token
+}
+
+//GetParent returns the parent node
+func (a XMLNode) GetParent() tree.Elem {
+ return a.Parent
+}
+
+//ResValue returns the string value of the attribute
+func (a XMLNode) ResValue() string {
+ switch a.NodeType {
+ case tree.NtAttr:
+ return a.Token.(*xml.Attr).Value
+ case tree.NtChd:
+ return string(a.Token.(xml.CharData))
+ case tree.NtComm:
+ return string(a.Token.(xml.Comment))
+ }
+ //case tree.NtPi:
+ return string(a.Token.(xml.ProcInst).Inst)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmltree.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmltree.go
new file mode 100644
index 00000000..2ec066c5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmltree.go
@@ -0,0 +1,158 @@
+package xmltree
+
+import (
+ "encoding/xml"
+ "io"
+
+ "golang.org/x/net/html/charset"
+
+ "github.com/ChrisTrenkamp/goxpath/tree"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele"
+)
+
+//ParseOptions is a set of methods and function pointers that alter
+//the way the XML decoder works and the Node types that are created.
+//Options that are not set will default to what is set in internal/defoverride.go
+type ParseOptions struct {
+ Strict bool
+ XMLRoot func() xmlbuilder.XMLBuilder
+}
+
+//DirectiveParser is an optional interface extended from XMLBuilder that handles
+//XML directives.
+type DirectiveParser interface {
+ xmlbuilder.XMLBuilder
+ Directive(xml.Directive, *xml.Decoder)
+}
+
+//ParseSettings is a function for setting the ParseOptions you want when
+//parsing an XML tree.
+type ParseSettings func(s *ParseOptions)
+
+//MustParseXML is like ParseXML, but panics instead of returning an error.
+func MustParseXML(r io.Reader, op ...ParseSettings) tree.Node {
+ ret, err := ParseXML(r, op...)
+
+ if err != nil {
+ panic(err)
+ }
+
+ return ret
+}
+
+//ParseXML creates an XMLTree structure from an io.Reader.
+func ParseXML(r io.Reader, op ...ParseSettings) (tree.Node, error) {
+ ov := ParseOptions{
+ Strict: true,
+ XMLRoot: xmlele.Root,
+ }
+ for _, i := range op {
+ i(&ov)
+ }
+
+ dec := xml.NewDecoder(r)
+ dec.CharsetReader = charset.NewReaderLabel
+ dec.Strict = ov.Strict
+
+ ordrPos := 1
+ xmlTree := ov.XMLRoot()
+
+ t, err := dec.Token()
+
+ if err != nil {
+ return nil, err
+ }
+
+ if head, ok := t.(xml.ProcInst); ok && head.Target == "xml" {
+ t, err = dec.Token()
+ }
+
+ opts := xmlbuilder.BuilderOpts{
+ Dec: dec,
+ }
+
+ for err == nil {
+ switch xt := t.(type) {
+ case xml.StartElement:
+ setEle(&opts, xmlTree, xt, &ordrPos)
+ xmlTree = xmlTree.CreateNode(&opts)
+ case xml.CharData:
+ setNode(&opts, xmlTree, xt, tree.NtChd, &ordrPos)
+ xmlTree = xmlTree.CreateNode(&opts)
+ case xml.Comment:
+ setNode(&opts, xmlTree, xt, tree.NtComm, &ordrPos)
+ xmlTree = xmlTree.CreateNode(&opts)
+ case xml.ProcInst:
+ setNode(&opts, xmlTree, xt, tree.NtPi, &ordrPos)
+ xmlTree = xmlTree.CreateNode(&opts)
+ case xml.EndElement:
+ xmlTree = xmlTree.EndElem()
+ case xml.Directive:
+ if dp, ok := xmlTree.(DirectiveParser); ok {
+ dp.Directive(xt.Copy(), dec)
+ }
+ }
+
+ t, err = dec.Token()
+ }
+
+ if err == io.EOF {
+ err = nil
+ }
+
+ return xmlTree, err
+}
+
+func setEle(opts *xmlbuilder.BuilderOpts, xmlTree xmlbuilder.XMLBuilder, ele xml.StartElement, ordrPos *int) {
+ opts.NodePos = *ordrPos
+ opts.Tok = ele
+ opts.Attrs = opts.Attrs[0:0:cap(opts.Attrs)]
+ opts.NS = make(map[xml.Name]string)
+ opts.NodeType = tree.NtElem
+
+ for i := range ele.Attr {
+ attr := ele.Attr[i].Name
+ val := ele.Attr[i].Value
+
+ if (attr.Local == "xmlns" && attr.Space == "") || attr.Space == "xmlns" {
+ opts.NS[attr] = val
+ } else {
+ opts.Attrs = append(opts.Attrs, &ele.Attr[i])
+ }
+ }
+
+ if nstree, ok := xmlTree.(tree.NSElem); ok {
+ ns := make(map[xml.Name]string)
+
+ for _, i := range tree.BuildNS(nstree) {
+ ns[i.Name] = i.Value
+ }
+
+ for k, v := range opts.NS {
+ ns[k] = v
+ }
+
+ if ns[xml.Name{Local: "xmlns"}] == "" {
+ delete(ns, xml.Name{Local: "xmlns"})
+ }
+
+ for k, v := range ns {
+ opts.NS[k] = v
+ }
+
+ if xmlTree.GetNodeType() == tree.NtRoot {
+ opts.NS[xml.Name{Space: "xmlns", Local: "xml"}] = tree.XMLSpace
+ }
+ }
+
+ opts.AttrStartPos = len(opts.NS) + len(opts.Attrs) + *ordrPos
+ *ordrPos = opts.AttrStartPos + 1
+}
+
+func setNode(opts *xmlbuilder.BuilderOpts, xmlTree xmlbuilder.XMLBuilder, tok xml.Token, nt tree.NodeType, ordrPos *int) {
+ opts.Tok = xml.CopyToken(tok)
+ opts.NodeType = nt
+ opts.NodePos = *ordrPos
+ *ordrPos++
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xtypes.go b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xtypes.go
new file mode 100644
index 00000000..b9704109
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/ChrisTrenkamp/goxpath/tree/xtypes.go
@@ -0,0 +1,113 @@
+package tree
+
+import (
+ "fmt"
+ "math"
+ "strconv"
+ "strings"
+)
+
+//Boolean strings
+const (
+ True = "true"
+ False = "false"
+)
+
+//Bool is a boolean XPath type
+type Bool bool
+
+//ResValue satisfies the Res interface for Bool
+func (b Bool) String() string {
+ if b {
+ return True
+ }
+
+ return False
+}
+
+//Bool satisfies the HasBool interface for Bool's
+func (b Bool) Bool() Bool {
+ return b
+}
+
+//Num satisfies the HasNum interface for Bool's
+func (b Bool) Num() Num {
+ if b {
+ return Num(1)
+ }
+
+ return Num(0)
+}
+
+//Num is a number XPath type
+type Num float64
+
+//ResValue satisfies the Res interface for Num
+func (n Num) String() string {
+ if math.IsInf(float64(n), 0) {
+ if math.IsInf(float64(n), 1) {
+ return "Infinity"
+ }
+ return "-Infinity"
+ }
+ return fmt.Sprintf("%g", float64(n))
+}
+
+//Bool satisfies the HasBool interface for Num's
+func (n Num) Bool() Bool {
+ return n != 0
+}
+
+//Num satisfies the HasNum interface for Num's
+func (n Num) Num() Num {
+ return n
+}
+
+//String is string XPath type
+type String string
+
+//ResValue satisfies the Res interface for String
+func (s String) String() string {
+ return string(s)
+}
+
+//Bool satisfies the HasBool interface for String's
+func (s String) Bool() Bool {
+ return Bool(len(s) > 0)
+}
+
+//Num satisfies the HasNum interface for String's
+func (s String) Num() Num {
+ num, err := strconv.ParseFloat(strings.TrimSpace(string(s)), 64)
+ if err != nil {
+ return Num(math.NaN())
+ }
+ return Num(num)
+}
+
+//NodeSet is a node-set XPath type
+type NodeSet []Node
+
+//GetNodeNum converts the node to a string-value and to a number
+func GetNodeNum(n Node) Num {
+ return String(n.ResValue()).Num()
+}
+
+//String satisfies the Res interface for NodeSet
+func (n NodeSet) String() string {
+ if len(n) == 0 {
+ return ""
+ }
+
+ return n[0].ResValue()
+}
+
+//Bool satisfies the HasBool interface for node-set's
+func (n NodeSet) Bool() Bool {
+ return Bool(len(n) > 0)
+}
+
+//Num satisfies the HasNum interface for NodeSet's
+func (n NodeSet) Num() Num {
+ return String(n.String()).Num()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/LICENSE
new file mode 100644
index 00000000..e14c3714
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/LICENSE
@@ -0,0 +1,17 @@
+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. \ No newline at end of file
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/README.md
new file mode 100644
index 00000000..41bf8c6f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/README.md
@@ -0,0 +1,119 @@
+XPath
+====
+[![GoDoc](https://godoc.org/github.com/antchfx/xpath?status.svg)](https://godoc.org/github.com/antchfx/xpath)
+[![Coverage Status](https://coveralls.io/repos/github/antchfx/xpath/badge.svg?branch=master)](https://coveralls.io/github/antchfx/xpath?branch=master)
+[![Build Status](https://travis-ci.org/antchfx/xpath.svg?branch=master)](https://travis-ci.org/antchfx/xpath)
+[![Go Report Card](https://goreportcard.com/badge/github.com/antchfx/xpath)](https://goreportcard.com/report/github.com/antchfx/xpath)
+
+XPath is Go package provides selecting nodes from XML, HTML or other documents using XPath expression.
+
+[XQuery](https://github.com/antchfx/xquery) : lets you extract data from HTML/XML documents using XPath package.
+
+### Features
+
+#### The basic XPath patterns.
+
+> The basic XPath patterns cover 90% of the cases that most stylesheets will need.
+
+- `node` : Selects all child elements with nodeName of node.
+
+- `*` : Selects all child elements.
+
+- `@attr` : Selects the attribute attr.
+
+- `@*` : Selects all attributes.
+
+- `node()` : Matches an org.w3c.dom.Node.
+
+- `text()` : Matches a org.w3c.dom.Text node.
+
+- `comment()` : Matches a comment.
+
+- `.` : Selects the current node.
+
+- `..` : Selects the parent of current node.
+
+- `/` : Selects the document node.
+
+- `a[expr]` : Select only those nodes matching a which also satisfy the expression expr.
+
+- `a[n]` : Selects the nth matching node matching a When a filter's expression is a number, XPath selects based on position.
+
+- `a/b` : For each node matching a, add the nodes matching b to the result.
+
+- `a//b` : For each node matching a, add the descendant nodes matching b to the result.
+
+- `//b` : Returns elements in the entire document matching b.
+
+- `a|b` : All nodes matching a or b.
+
+#### Node Axes
+
+- `child::*` : The child axis selects children of the current node.
+
+- `descendant::*` : The descendant axis selects descendants of the current node. It is equivalent to '//'.
+
+- `descendant-or-self::*` : Selects descendants including the current node.
+
+- `attribute::*` : Selects attributes of the current element. It is equivalent to @*
+
+- `following-sibling::*` : Selects nodes after the current node.
+
+- `preceding-sibling::*` : Selects nodes before the current node.
+
+- `following::*` : Selects the first matching node following in document order, excluding descendants.
+
+- `preceding::*` : Selects the first matching node preceding in document order, excluding ancestors.
+
+- `parent::*` : Selects the parent if it matches. The '..' pattern from the core is equivalent to 'parent::node()'.
+
+- `ancestor::*` : Selects matching ancestors.
+
+- `ancestor-or-self::*` : Selects ancestors including the current node.
+
+- `self::*` : Selects the current node. '.' is equivalent to 'self::node()'.
+
+#### Expressions
+
+ The gxpath supported three types: number, boolean, string.
+
+- `path` : Selects nodes based on the path.
+
+- `a = b` : Standard comparisons.
+
+ * a = b True if a equals b.
+ * a != b True if a is not equal to b.
+ * a < b True if a is less than b.
+ * a <= b True if a is less than or equal to b.
+ * a > b True if a is greater than b.
+ * a >= b True if a is greater than or equal to b.
+
+- `a + b` : Arithmetic expressions.
+
+ * `- a` Unary minus
+ * a + b Add
+ * a - b Substract
+ * a * b Multiply
+ * a div b Divide
+ * a mod b Floating point mod, like Java.
+
+- `(expr)` : Parenthesized expressions.
+
+- `fun(arg1, ..., argn)` : Function calls.
+
+ * position()
+ * last()
+ * count( node-set )
+ * name()
+ * starts-with( string, string )
+ * normalize-space( string )
+ * substring( string , start [, length] )
+ * not( expression )
+ * string-length( [string] )
+ * contains( string, string )
+ * sum( node-set )
+ * concat( string1 , string2 [, stringn]* )
+
+- `a or b` : Boolean or.
+
+- `a and b` : Boolean and. \ No newline at end of file
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/build.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/build.go
new file mode 100644
index 00000000..544e0d49
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/build.go
@@ -0,0 +1,359 @@
+package xpath
+
+import (
+ "errors"
+ "fmt"
+)
+
+type flag int
+
+const (
+ noneFlag flag = iota
+ filterFlag
+)
+
+// builder provides building an XPath expressions.
+type builder struct {
+ depth int
+ flag flag
+ firstInput query
+}
+
+// axisPredicate creates a predicate to predicating for this axis node.
+func axisPredicate(root *axisNode) func(NodeNavigator) bool {
+ // get current axix node type.
+ typ := ElementNode
+ if root.AxeType == "attribute" {
+ typ = AttributeNode
+ } else {
+ switch root.Prop {
+ case "comment":
+ typ = CommentNode
+ case "text":
+ typ = TextNode
+ // case "processing-instruction":
+ // typ = ProcessingInstructionNode
+ case "node":
+ typ = ElementNode
+ }
+ }
+ predicate := func(n NodeNavigator) bool {
+ if typ == n.NodeType() || typ == TextNode {
+ if root.LocalName == "" || (root.LocalName == n.LocalName() && root.Prefix == n.Prefix()) {
+ return true
+ }
+ }
+ return false
+ }
+
+ return predicate
+}
+
+// processAxisNode processes a query for the XPath axis node.
+func (b *builder) processAxisNode(root *axisNode) (query, error) {
+ var (
+ err error
+ qyInput query
+ qyOutput query
+ predicate = axisPredicate(root)
+ )
+
+ if root.Input == nil {
+ qyInput = &contextQuery{}
+ } else {
+ if b.flag&filterFlag == 0 {
+ if root.AxeType == "child" && (root.Input.Type() == nodeAxis) {
+ if input := root.Input.(*axisNode); input.AxeType == "descendant-or-self" {
+ var qyGrandInput query
+ if input.Input != nil {
+ qyGrandInput, _ = b.processNode(input.Input)
+ } else {
+ qyGrandInput = &contextQuery{}
+ }
+ qyOutput = &descendantQuery{Input: qyGrandInput, Predicate: predicate, Self: true}
+ return qyOutput, nil
+ }
+ }
+ }
+ qyInput, err = b.processNode(root.Input)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ switch root.AxeType {
+ case "ancestor":
+ qyOutput = &ancestorQuery{Input: qyInput, Predicate: predicate}
+ case "ancestor-or-self":
+ qyOutput = &ancestorQuery{Input: qyInput, Predicate: predicate, Self: true}
+ case "attribute":
+ qyOutput = &attributeQuery{Input: qyInput, Predicate: predicate}
+ case "child":
+ filter := func(n NodeNavigator) bool {
+ v := predicate(n)
+ switch root.Prop {
+ case "text":
+ v = v && n.NodeType() == TextNode
+ case "node":
+ v = v && (n.NodeType() == ElementNode || n.NodeType() == TextNode)
+ case "comment":
+ v = v && n.NodeType() == CommentNode
+ }
+ return v
+ }
+ qyOutput = &childQuery{Input: qyInput, Predicate: filter}
+ case "descendant":
+ qyOutput = &descendantQuery{Input: qyInput, Predicate: predicate}
+ case "descendant-or-self":
+ qyOutput = &descendantQuery{Input: qyInput, Predicate: predicate, Self: true}
+ case "following":
+ qyOutput = &followingQuery{Input: qyInput, Predicate: predicate}
+ case "following-sibling":
+ qyOutput = &followingQuery{Input: qyInput, Predicate: predicate, Sibling: true}
+ case "parent":
+ qyOutput = &parentQuery{Input: qyInput, Predicate: predicate}
+ case "preceding":
+ qyOutput = &precedingQuery{Input: qyInput, Predicate: predicate}
+ case "preceding-sibling":
+ qyOutput = &precedingQuery{Input: qyInput, Predicate: predicate, Sibling: true}
+ case "self":
+ qyOutput = &selfQuery{Input: qyInput, Predicate: predicate}
+ case "namespace":
+ // haha,what will you do someting??
+ default:
+ err = fmt.Errorf("unknown axe type: %s", root.AxeType)
+ return nil, err
+ }
+ return qyOutput, nil
+}
+
+// processFilterNode builds query for the XPath filter predicate.
+func (b *builder) processFilterNode(root *filterNode) (query, error) {
+ b.flag |= filterFlag
+
+ qyInput, err := b.processNode(root.Input)
+ if err != nil {
+ return nil, err
+ }
+ qyCond, err := b.processNode(root.Condition)
+ if err != nil {
+ return nil, err
+ }
+ qyOutput := &filterQuery{Input: qyInput, Predicate: qyCond}
+ return qyOutput, nil
+}
+
+// processFunctionNode processes query for the XPath function node.
+func (b *builder) processFunctionNode(root *functionNode) (query, error) {
+ var qyOutput query
+ switch root.FuncName {
+ case "starts-with":
+ arg1, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ arg2, err := b.processNode(root.Args[1])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: b.firstInput, Func: startwithFunc(arg1, arg2)}
+ case "contains":
+ arg1, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ arg2, err := b.processNode(root.Args[1])
+ if err != nil {
+ return nil, err
+ }
+
+ qyOutput = &functionQuery{Input: b.firstInput, Func: containsFunc(arg1, arg2)}
+ case "substring":
+ //substring( string , start [, length] )
+ if len(root.Args) < 2 {
+ return nil, errors.New("xpath: substring function must have at least two parameter")
+ }
+ var (
+ arg1, arg2, arg3 query
+ err error
+ )
+ if arg1, err = b.processNode(root.Args[0]); err != nil {
+ return nil, err
+ }
+ if arg2, err = b.processNode(root.Args[1]); err != nil {
+ return nil, err
+ }
+ if len(root.Args) == 3 {
+ if arg3, err = b.processNode(root.Args[2]); err != nil {
+ return nil, err
+ }
+ }
+ qyOutput = &functionQuery{Input: b.firstInput, Func: substringFunc(arg1, arg2, arg3)}
+ case "string-length":
+ // string-length( [string] )
+ if len(root.Args) < 1 {
+ return nil, errors.New("xpath: string-length function must have at least one parameter")
+ }
+ arg1, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: b.firstInput, Func: stringLengthFunc(arg1)}
+ case "normalize-space":
+ if len(root.Args) == 0 {
+ return nil, errors.New("xpath: normalize-space function must have at least one parameter")
+ }
+ argQuery, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: argQuery, Func: normalizespaceFunc}
+ case "not":
+ if len(root.Args) == 0 {
+ return nil, errors.New("xpath: not function must have at least one parameter")
+ }
+ argQuery, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: argQuery, Func: notFunc}
+ case "name":
+ qyOutput = &functionQuery{Input: b.firstInput, Func: nameFunc}
+ case "last":
+ qyOutput = &functionQuery{Input: b.firstInput, Func: lastFunc}
+ case "position":
+ qyOutput = &functionQuery{Input: b.firstInput, Func: positionFunc}
+ case "count":
+ //if b.firstInput == nil {
+ // return nil, errors.New("xpath: expression must evaluate to node-set")
+ //}
+ if len(root.Args) == 0 {
+ return nil, fmt.Errorf("xpath: count(node-sets) function must with have parameters node-sets")
+ }
+ argQuery, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: argQuery, Func: countFunc}
+ case "sum":
+ if len(root.Args) == 0 {
+ return nil, fmt.Errorf("xpath: sum(node-sets) function must with have parameters node-sets")
+ }
+ argQuery, err := b.processNode(root.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ qyOutput = &functionQuery{Input: argQuery, Func: sumFunc}
+ case "concat":
+ if len(root.Args) < 2 {
+ return nil, fmt.Errorf("xpath: concat() must have at least two arguments")
+ }
+ var args []query
+ for _, v := range root.Args {
+ q, err := b.processNode(v)
+ if err != nil {
+ return nil, err
+ }
+ args = append(args, q)
+ }
+ qyOutput = &functionQuery{Input: b.firstInput, Func: concatFunc(args...)}
+ default:
+ return nil, fmt.Errorf("not yet support this function %s()", root.FuncName)
+ }
+ return qyOutput, nil
+}
+
+func (b *builder) processOperatorNode(root *operatorNode) (query, error) {
+ left, err := b.processNode(root.Left)
+ if err != nil {
+ return nil, err
+ }
+ right, err := b.processNode(root.Right)
+ if err != nil {
+ return nil, err
+ }
+ var qyOutput query
+ switch root.Op {
+ case "+", "-", "div", "mod": // Numeric operator
+ var exprFunc func(interface{}, interface{}) interface{}
+ switch root.Op {
+ case "+":
+ exprFunc = plusFunc
+ case "-":
+ exprFunc = minusFunc
+ case "div":
+ exprFunc = divFunc
+ case "mod":
+ exprFunc = modFunc
+ }
+ qyOutput = &numericQuery{Left: left, Right: right, Do: exprFunc}
+ case "=", ">", ">=", "<", "<=", "!=":
+ var exprFunc func(iterator, interface{}, interface{}) interface{}
+ switch root.Op {
+ case "=":
+ exprFunc = eqFunc
+ case ">":
+ exprFunc = gtFunc
+ case ">=":
+ exprFunc = geFunc
+ case "<":
+ exprFunc = ltFunc
+ case "<=":
+ exprFunc = leFunc
+ case "!=":
+ exprFunc = neFunc
+ }
+ qyOutput = &logicalQuery{Left: left, Right: right, Do: exprFunc}
+ case "or", "and", "|":
+ isOr := false
+ if root.Op == "or" || root.Op == "|" {
+ isOr = true
+ }
+ qyOutput = &booleanQuery{Left: left, Right: right, IsOr: isOr}
+ }
+ return qyOutput, nil
+}
+
+func (b *builder) processNode(root node) (q query, err error) {
+ if b.depth = b.depth + 1; b.depth > 1024 {
+ err = errors.New("the xpath expressions is too complex")
+ return
+ }
+
+ switch root.Type() {
+ case nodeConstantOperand:
+ n := root.(*operandNode)
+ q = &constantQuery{Val: n.Val}
+ case nodeRoot:
+ q = &contextQuery{Root: true}
+ case nodeAxis:
+ q, err = b.processAxisNode(root.(*axisNode))
+ b.firstInput = q
+ case nodeFilter:
+ q, err = b.processFilterNode(root.(*filterNode))
+ case nodeFunction:
+ q, err = b.processFunctionNode(root.(*functionNode))
+ case nodeOperator:
+ q, err = b.processOperatorNode(root.(*operatorNode))
+ }
+ return
+}
+
+// build builds a specified XPath expressions expr.
+func build(expr string) (q query, err error) {
+ defer func() {
+ if e := recover(); e != nil {
+ switch x := e.(type) {
+ case string:
+ err = errors.New(x)
+ case error:
+ err = x
+ default:
+ err = errors.New("unknown panic")
+ }
+ }
+ }()
+ root := parse(expr)
+ b := &builder{}
+ return b.processNode(root)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/func.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/func.go
new file mode 100644
index 00000000..e2856340
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/func.go
@@ -0,0 +1,254 @@
+package xpath
+
+import (
+ "errors"
+ "strconv"
+ "strings"
+)
+
+// The XPath function list.
+
+func predicate(q query) func(NodeNavigator) bool {
+ type Predicater interface {
+ Test(NodeNavigator) bool
+ }
+ if p, ok := q.(Predicater); ok {
+ return p.Test
+ }
+ return func(NodeNavigator) bool { return true }
+}
+
+// positionFunc is a XPath Node Set functions position().
+func positionFunc(q query, t iterator) interface{} {
+ var (
+ count = 1
+ node = t.Current()
+ )
+ test := predicate(q)
+ for node.MoveToPrevious() {
+ if test(node) {
+ count++
+ }
+ }
+ return float64(count)
+}
+
+// lastFunc is a XPath Node Set functions last().
+func lastFunc(q query, t iterator) interface{} {
+ var (
+ count = 0
+ node = t.Current()
+ )
+ node.MoveToFirst()
+ test := predicate(q)
+ for {
+ if test(node) {
+ count++
+ }
+ if !node.MoveToNext() {
+ break
+ }
+ }
+ return float64(count)
+}
+
+// countFunc is a XPath Node Set functions count(node-set).
+func countFunc(q query, t iterator) interface{} {
+ var count = 0
+ test := predicate(q)
+ switch typ := q.Evaluate(t).(type) {
+ case query:
+ for node := typ.Select(t); node != nil; node = typ.Select(t) {
+ if test(node) {
+ count++
+ }
+ }
+ }
+ return float64(count)
+}
+
+// sumFunc is a XPath Node Set functions sum(node-set).
+func sumFunc(q query, t iterator) interface{} {
+ var sum float64
+ switch typ := q.Evaluate(t).(type) {
+ case query:
+ for node := typ.Select(t); node != nil; node = typ.Select(t) {
+ if v, err := strconv.ParseFloat(node.Value(), 64); err == nil {
+ sum += v
+ }
+ }
+ case float64:
+ sum = typ
+ case string:
+ if v, err := strconv.ParseFloat(typ, 64); err != nil {
+ sum = v
+ }
+ }
+ return sum
+}
+
+// nameFunc is a XPath functions name([node-set]).
+func nameFunc(q query, t iterator) interface{} {
+ return t.Current().LocalName()
+}
+
+// startwithFunc is a XPath functions starts-with(string, string).
+func startwithFunc(arg1, arg2 query) func(query, iterator) interface{} {
+ return func(q query, t iterator) interface{} {
+ var (
+ m, n string
+ ok bool
+ )
+ switch typ := arg1.Evaluate(t).(type) {
+ case string:
+ m = typ
+ case query:
+ node := typ.Select(t)
+ if node == nil {
+ return false
+ }
+ m = node.Value()
+ default:
+ panic(errors.New("starts-with() function argument type must be string"))
+ }
+ n, ok = arg2.Evaluate(t).(string)
+ if !ok {
+ panic(errors.New("starts-with() function argument type must be string"))
+ }
+ return strings.HasPrefix(m, n)
+ }
+}
+
+// containsFunc is a XPath functions contains(string or @attr, string).
+func containsFunc(arg1, arg2 query) func(query, iterator) interface{} {
+ return func(q query, t iterator) interface{} {
+ var (
+ m, n string
+ ok bool
+ )
+
+ switch typ := arg1.Evaluate(t).(type) {
+ case string:
+ m = typ
+ case query:
+ node := typ.Select(t)
+ if node == nil {
+ return false
+ }
+ m = node.Value()
+ default:
+ panic(errors.New("contains() function argument type must be string"))
+ }
+
+ n, ok = arg2.Evaluate(t).(string)
+ if !ok {
+ panic(errors.New("contains() function argument type must be string"))
+ }
+
+ return strings.Contains(m, n)
+ }
+}
+
+// normalizespaceFunc is XPath functions normalize-space(string?)
+func normalizespaceFunc(q query, t iterator) interface{} {
+ var m string
+ switch typ := q.Evaluate(t).(type) {
+ case string:
+ m = typ
+ case query:
+ node := typ.Select(t)
+ if node == nil {
+ return false
+ }
+ m = node.Value()
+ }
+ return strings.TrimSpace(m)
+}
+
+// substringFunc is XPath functions substring function returns a part of a given string.
+func substringFunc(arg1, arg2, arg3 query) func(query, iterator) interface{} {
+ return func(q query, t iterator) interface{} {
+ var m string
+ switch typ := arg1.Evaluate(t).(type) {
+ case string:
+ m = typ
+ case query:
+ node := typ.Select(t)
+ if node == nil {
+ return false
+ }
+ m = node.Value()
+ }
+
+ var start, length float64
+ var ok bool
+
+ if start, ok = arg2.Evaluate(t).(float64); !ok {
+ panic(errors.New("substring() function first argument type must be int"))
+ }
+ if arg3 != nil {
+ if length, ok = arg3.Evaluate(t).(float64); !ok {
+ panic(errors.New("substring() function second argument type must be int"))
+ }
+ }
+ if (len(m) - int(start)) < int(length) {
+ panic(errors.New("substring() function start and length argument out of range"))
+ }
+ if length > 0 {
+ return m[int(start):int(length+start)]
+ }
+ return m[int(start):]
+ }
+}
+
+// stringLengthFunc is XPATH string-length( [string] ) function that returns a number
+// equal to the number of characters in a given string.
+func stringLengthFunc(arg1 query) func(query, iterator) interface{} {
+ return func(q query, t iterator) interface{} {
+ switch v := arg1.Evaluate(t).(type) {
+ case string:
+ return float64(len(v))
+ case query:
+ node := v.Select(t)
+ if node == nil {
+ break
+ }
+ return float64(len(node.Value()))
+ }
+ return float64(0)
+ }
+}
+
+// notFunc is XPATH functions not(expression) function operation.
+func notFunc(q query, t iterator) interface{} {
+ switch v := q.Evaluate(t).(type) {
+ case bool:
+ return !v
+ case query:
+ node := v.Select(t)
+ return node == nil
+ default:
+ return false
+ }
+}
+
+// concatFunc is the concat function concatenates two or more
+// strings and returns the resulting string.
+// concat( string1 , string2 [, stringn]* )
+func concatFunc(args ...query) func(query, iterator) interface{} {
+ return func(q query, t iterator) interface{} {
+ var a []string
+ for _, v := range args {
+ switch v := v.Evaluate(t).(type) {
+ case string:
+ a = append(a, v)
+ case query:
+ node := v.Select(t)
+ if node != nil {
+ a = append(a, node.Value())
+ }
+ }
+ }
+ return strings.Join(a, "")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/operator.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/operator.go
new file mode 100644
index 00000000..308d3cbc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/operator.go
@@ -0,0 +1,295 @@
+package xpath
+
+import (
+ "fmt"
+ "reflect"
+ "strconv"
+)
+
+// The XPath number operator function list.
+
+// valueType is a return value type.
+type valueType int
+
+const (
+ booleanType valueType = iota
+ numberType
+ stringType
+ nodeSetType
+)
+
+func getValueType(i interface{}) valueType {
+ v := reflect.ValueOf(i)
+ switch v.Kind() {
+ case reflect.Float64:
+ return numberType
+ case reflect.String:
+ return stringType
+ case reflect.Bool:
+ return booleanType
+ default:
+ if _, ok := i.(query); ok {
+ return nodeSetType
+ }
+ }
+ panic(fmt.Errorf("xpath unknown value type: %v", v.Kind()))
+}
+
+type logical func(iterator, string, interface{}, interface{}) bool
+
+var logicalFuncs = [][]logical{
+ {cmpBooleanBoolean, nil, nil, nil},
+ {nil, cmpNumericNumeric, cmpNumericString, cmpNumericNodeSet},
+ {nil, cmpStringNumeric, cmpStringString, cmpStringNodeSet},
+ {nil, cmpNodeSetNumeric, cmpNodeSetString, cmpNodeSetNodeSet},
+}
+
+// number vs number
+func cmpNumberNumberF(op string, a, b float64) bool {
+ switch op {
+ case "=":
+ return a == b
+ case ">":
+ return a > b
+ case "<":
+ return a < b
+ case ">=":
+ return a >= b
+ case "<=":
+ return a <= b
+ case "!=":
+ return a != b
+ }
+ return false
+}
+
+// string vs string
+func cmpStringStringF(op string, a, b string) bool {
+ switch op {
+ case "=":
+ return a == b
+ case ">":
+ return a > b
+ case "<":
+ return a < b
+ case ">=":
+ return a >= b
+ case "<=":
+ return a <= b
+ case "!=":
+ return a != b
+ }
+ return false
+}
+
+func cmpBooleanBooleanF(op string, a, b bool) bool {
+ switch op {
+ case "or":
+ return a || b
+ case "and":
+ return a && b
+ }
+ return false
+}
+
+func cmpNumericNumeric(t iterator, op string, m, n interface{}) bool {
+ a := m.(float64)
+ b := n.(float64)
+ return cmpNumberNumberF(op, a, b)
+}
+
+func cmpNumericString(t iterator, op string, m, n interface{}) bool {
+ a := m.(float64)
+ b := n.(string)
+ num, err := strconv.ParseFloat(b, 64)
+ if err != nil {
+ panic(err)
+ }
+ return cmpNumberNumberF(op, a, num)
+}
+
+func cmpNumericNodeSet(t iterator, op string, m, n interface{}) bool {
+ a := m.(float64)
+ b := n.(query)
+
+ for {
+ node := b.Select(t)
+ if node == nil {
+ break
+ }
+ num, err := strconv.ParseFloat(node.Value(), 64)
+ if err != nil {
+ panic(err)
+ }
+ if cmpNumberNumberF(op, a, num) {
+ return true
+ }
+ }
+ return false
+}
+
+func cmpNodeSetNumeric(t iterator, op string, m, n interface{}) bool {
+ a := m.(query)
+ b := n.(float64)
+ for {
+ node := a.Select(t)
+ if node == nil {
+ break
+ }
+ num, err := strconv.ParseFloat(node.Value(), 64)
+ if err != nil {
+ panic(err)
+ }
+ if cmpNumberNumberF(op, num, b) {
+ return true
+ }
+ }
+ return false
+}
+
+func cmpNodeSetString(t iterator, op string, m, n interface{}) bool {
+ a := m.(query)
+ b := n.(string)
+ for {
+ node := a.Select(t)
+ if node == nil {
+ break
+ }
+ if cmpStringStringF(op, b, node.Value()) {
+ return true
+ }
+ }
+ return false
+}
+
+func cmpNodeSetNodeSet(t iterator, op string, m, n interface{}) bool {
+ return false
+}
+
+func cmpStringNumeric(t iterator, op string, m, n interface{}) bool {
+ a := m.(string)
+ b := n.(float64)
+ num, err := strconv.ParseFloat(a, 64)
+ if err != nil {
+ panic(err)
+ }
+ return cmpNumberNumberF(op, b, num)
+}
+
+func cmpStringString(t iterator, op string, m, n interface{}) bool {
+ a := m.(string)
+ b := n.(string)
+ return cmpStringStringF(op, a, b)
+}
+
+func cmpStringNodeSet(t iterator, op string, m, n interface{}) bool {
+ a := m.(string)
+ b := n.(query)
+ for {
+ node := b.Select(t)
+ if node == nil {
+ break
+ }
+ if cmpStringStringF(op, a, node.Value()) {
+ return true
+ }
+ }
+ return false
+}
+
+func cmpBooleanBoolean(t iterator, op string, m, n interface{}) bool {
+ a := m.(bool)
+ b := n.(bool)
+ return cmpBooleanBooleanF(op, a, b)
+}
+
+// eqFunc is an `=` operator.
+func eqFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, "=", m, n)
+}
+
+// gtFunc is an `>` operator.
+func gtFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, ">", m, n)
+}
+
+// geFunc is an `>=` operator.
+func geFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, ">=", m, n)
+}
+
+// ltFunc is an `<` operator.
+func ltFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, "<", m, n)
+}
+
+// leFunc is an `<=` operator.
+func leFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, "<=", m, n)
+}
+
+// neFunc is an `!=` operator.
+func neFunc(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, "!=", m, n)
+}
+
+// orFunc is an `or` operator.
+var orFunc = func(t iterator, m, n interface{}) interface{} {
+ t1 := getValueType(m)
+ t2 := getValueType(n)
+ return logicalFuncs[t1][t2](t, "or", m, n)
+}
+
+func numericExpr(m, n interface{}, cb func(float64, float64) float64) float64 {
+ typ := reflect.TypeOf(float64(0))
+ a := reflect.ValueOf(m).Convert(typ)
+ b := reflect.ValueOf(n).Convert(typ)
+ return cb(a.Float(), b.Float())
+}
+
+// plusFunc is an `+` operator.
+var plusFunc = func(m, n interface{}) interface{} {
+ return numericExpr(m, n, func(a, b float64) float64 {
+ return a + b
+ })
+}
+
+// minusFunc is an `-` operator.
+var minusFunc = func(m, n interface{}) interface{} {
+ return numericExpr(m, n, func(a, b float64) float64 {
+ return a - b
+ })
+}
+
+// mulFunc is an `*` operator.
+var mulFunc = func(m, n interface{}) interface{} {
+ return numericExpr(m, n, func(a, b float64) float64 {
+ return a * b
+ })
+}
+
+// divFunc is an `DIV` operator.
+var divFunc = func(m, n interface{}) interface{} {
+ return numericExpr(m, n, func(a, b float64) float64 {
+ return a / b
+ })
+}
+
+// modFunc is an 'MOD' operator.
+var modFunc = func(m, n interface{}) interface{} {
+ return numericExpr(m, n, func(a, b float64) float64 {
+ return float64(int(a) % int(b))
+ })
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/parse.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/parse.go
new file mode 100644
index 00000000..6103131c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/parse.go
@@ -0,0 +1,1164 @@
+package xpath
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "strconv"
+ "unicode"
+)
+
+// A XPath expression token type.
+type itemType int
+
+const (
+ itemComma itemType = iota // ','
+ itemSlash // '/'
+ itemAt // '@'
+ itemDot // '.'
+ itemLParens // '('
+ itemRParens // ')'
+ itemLBracket // '['
+ itemRBracket // ']'
+ itemStar // '*'
+ itemPlus // '+'
+ itemMinus // '-'
+ itemEq // '='
+ itemLt // '<'
+ itemGt // '>'
+ itemBang // '!'
+ itemDollar // '$'
+ itemApos // '\''
+ itemQuote // '"'
+ itemUnion // '|'
+ itemNe // '!='
+ itemLe // '<='
+ itemGe // '>='
+ itemAnd // '&&'
+ itemOr // '||'
+ itemDotDot // '..'
+ itemSlashSlash // '//'
+ itemName // XML Name
+ itemString // Quoted string constant
+ itemNumber // Number constant
+ itemAxe // Axe (like child::)
+ itemEof // END
+)
+
+// A node is an XPath node in the parse tree.
+type node interface {
+ Type() nodeType
+}
+
+// nodeType identifies the type of a parse tree node.
+type nodeType int
+
+func (t nodeType) Type() nodeType {
+ return t
+}
+
+const (
+ nodeRoot nodeType = iota
+ nodeAxis
+ nodeFilter
+ nodeFunction
+ nodeOperator
+ nodeVariable
+ nodeConstantOperand
+)
+
+type parser struct {
+ r *scanner
+ d int
+}
+
+// newOperatorNode returns new operator node OperatorNode.
+func newOperatorNode(op string, left, right node) node {
+ return &operatorNode{nodeType: nodeOperator, Op: op, Left: left, Right: right}
+}
+
+// newOperand returns new constant operand node OperandNode.
+func newOperandNode(v interface{}) node {
+ return &operandNode{nodeType: nodeConstantOperand, Val: v}
+}
+
+// newAxisNode returns new axis node AxisNode.
+func newAxisNode(axeTyp, localName, prefix, prop string, n node) node {
+ return &axisNode{
+ nodeType: nodeAxis,
+ LocalName: localName,
+ Prefix: prefix,
+ AxeType: axeTyp,
+ Prop: prop,
+ Input: n,
+ }
+}
+
+// newVariableNode returns new variable node VariableNode.
+func newVariableNode(prefix, name string) node {
+ return &variableNode{nodeType: nodeVariable, Name: name, Prefix: prefix}
+}
+
+// newFilterNode returns a new filter node FilterNode.
+func newFilterNode(n, m node) node {
+ return &filterNode{nodeType: nodeFilter, Input: n, Condition: m}
+}
+
+// newRootNode returns a root node.
+func newRootNode(s string) node {
+ return &rootNode{nodeType: nodeRoot, slash: s}
+}
+
+// newFunctionNode returns function call node.
+func newFunctionNode(name, prefix string, args []node) node {
+ return &functionNode{nodeType: nodeFunction, Prefix: prefix, FuncName: name, Args: args}
+}
+
+// testOp reports whether current item name is an operand op.
+func testOp(r *scanner, op string) bool {
+ return r.typ == itemName && r.prefix == "" && r.name == op
+}
+
+func isPrimaryExpr(r *scanner) bool {
+ switch r.typ {
+ case itemString, itemNumber, itemDollar, itemLParens:
+ return true
+ case itemName:
+ return r.canBeFunc && !isNodeType(r)
+ }
+ return false
+}
+
+func isNodeType(r *scanner) bool {
+ switch r.name {
+ case "node", "text", "processing-instruction", "comment":
+ return r.prefix == ""
+ }
+ return false
+}
+
+func isStep(item itemType) bool {
+ switch item {
+ case itemDot, itemDotDot, itemAt, itemAxe, itemStar, itemName:
+ return true
+ }
+ return false
+}
+
+func checkItem(r *scanner, typ itemType) {
+ if r.typ != typ {
+ panic(fmt.Sprintf("%s has an invalid token", r.text))
+ }
+}
+
+// parseExpression parsing the expression with input node n.
+func (p *parser) parseExpression(n node) node {
+ if p.d = p.d + 1; p.d > 200 {
+ panic("the xpath query is too complex(depth > 200)")
+ }
+ n = p.parseOrExpr(n)
+ p.d--
+ return n
+}
+
+// next scanning next item on forward.
+func (p *parser) next() bool {
+ return p.r.nextItem()
+}
+
+func (p *parser) skipItem(typ itemType) {
+ checkItem(p.r, typ)
+ p.next()
+}
+
+// OrExpr ::= AndExpr | OrExpr 'or' AndExpr
+func (p *parser) parseOrExpr(n node) node {
+ opnd := p.parseAndExpr(n)
+ for {
+ if !testOp(p.r, "or") {
+ break
+ }
+ p.next()
+ opnd = newOperatorNode("or", opnd, p.parseAndExpr(n))
+ }
+ return opnd
+}
+
+// AndExpr ::= EqualityExpr | AndExpr 'and' EqualityExpr
+func (p *parser) parseAndExpr(n node) node {
+ opnd := p.parseEqualityExpr(n)
+ for {
+ if !testOp(p.r, "and") {
+ break
+ }
+ p.next()
+ opnd = newOperatorNode("and", opnd, p.parseEqualityExpr(n))
+ }
+ return opnd
+}
+
+// EqualityExpr ::= RelationalExpr | EqualityExpr '=' RelationalExpr | EqualityExpr '!=' RelationalExpr
+func (p *parser) parseEqualityExpr(n node) node {
+ opnd := p.parseRelationalExpr(n)
+Loop:
+ for {
+ var op string
+ switch p.r.typ {
+ case itemEq:
+ op = "="
+ case itemNe:
+ op = "!="
+ default:
+ break Loop
+ }
+ p.next()
+ opnd = newOperatorNode(op, opnd, p.parseRelationalExpr(n))
+ }
+ return opnd
+}
+
+// RelationalExpr ::= AdditiveExpr | RelationalExpr '<' AdditiveExpr | RelationalExpr '>' AdditiveExpr
+// | RelationalExpr '<=' AdditiveExpr
+// | RelationalExpr '>=' AdditiveExpr
+func (p *parser) parseRelationalExpr(n node) node {
+ opnd := p.parseAdditiveExpr(n)
+Loop:
+ for {
+ var op string
+ switch p.r.typ {
+ case itemLt:
+ op = "<"
+ case itemGt:
+ op = ">"
+ case itemLe:
+ op = "<="
+ case itemGe:
+ op = ">="
+ default:
+ break Loop
+ }
+ p.next()
+ opnd = newOperatorNode(op, opnd, p.parseAdditiveExpr(n))
+ }
+ return opnd
+}
+
+// AdditiveExpr ::= MultiplicativeExpr | AdditiveExpr '+' MultiplicativeExpr | AdditiveExpr '-' MultiplicativeExpr
+func (p *parser) parseAdditiveExpr(n node) node {
+ opnd := p.parseMultiplicativeExpr(n)
+Loop:
+ for {
+ var op string
+ switch p.r.typ {
+ case itemPlus:
+ op = "+"
+ case itemMinus:
+ op = "-"
+ default:
+ break Loop
+ }
+ p.next()
+ opnd = newOperatorNode(op, opnd, p.parseMultiplicativeExpr(n))
+ }
+ return opnd
+}
+
+// MultiplicativeExpr ::= UnaryExpr | MultiplicativeExpr MultiplyOperator(*) UnaryExpr
+// | MultiplicativeExpr 'div' UnaryExpr | MultiplicativeExpr 'mod' UnaryExpr
+func (p *parser) parseMultiplicativeExpr(n node) node {
+ opnd := p.parseUnaryExpr(n)
+Loop:
+ for {
+ var op string
+ if p.r.typ == itemStar {
+ op = "*"
+ } else if testOp(p.r, "div") || testOp(p.r, "mod") {
+ op = p.r.name
+ } else {
+ break Loop
+ }
+ p.next()
+ opnd = newOperatorNode(op, opnd, p.parseUnaryExpr(n))
+ }
+ return opnd
+}
+
+// UnaryExpr ::= UnionExpr | '-' UnaryExpr
+func (p *parser) parseUnaryExpr(n node) node {
+ minus := false
+ // ignore '-' sequence
+ for p.r.typ == itemMinus {
+ p.next()
+ minus = !minus
+ }
+ opnd := p.parseUnionExpr(n)
+ if minus {
+ opnd = newOperatorNode("*", opnd, newOperandNode(float64(-1)))
+ }
+ return opnd
+}
+
+// UnionExpr ::= PathExpr | UnionExpr '|' PathExpr
+func (p *parser) parseUnionExpr(n node) node {
+ opnd := p.parsePathExpr(n)
+Loop:
+ for {
+ if p.r.typ != itemUnion {
+ break Loop
+ }
+ p.next()
+ opnd2 := p.parsePathExpr(n)
+ // Checking the node type that must be is node set type?
+ opnd = newOperatorNode("|", opnd, opnd2)
+ }
+ return opnd
+}
+
+// PathExpr ::= LocationPath | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath
+func (p *parser) parsePathExpr(n node) node {
+ var opnd node
+ if isPrimaryExpr(p.r) {
+ opnd = p.parseFilterExpr(n)
+ switch p.r.typ {
+ case itemSlash:
+ p.next()
+ opnd = p.parseRelativeLocationPath(opnd)
+ case itemSlashSlash:
+ p.next()
+ opnd = p.parseRelativeLocationPath(newAxisNode("descendant-or-self", "", "", "", opnd))
+ }
+ } else {
+ opnd = p.parseLocationPath(nil)
+ }
+ return opnd
+}
+
+// FilterExpr ::= PrimaryExpr | FilterExpr Predicate
+func (p *parser) parseFilterExpr(n node) node {
+ opnd := p.parsePrimaryExpr(n)
+ if p.r.typ == itemLBracket {
+ opnd = newFilterNode(opnd, p.parsePredicate(opnd))
+ }
+ return opnd
+}
+
+// Predicate ::= '[' PredicateExpr ']'
+func (p *parser) parsePredicate(n node) node {
+ p.skipItem(itemLBracket)
+ opnd := p.parseExpression(n)
+ p.skipItem(itemRBracket)
+ return opnd
+}
+
+// LocationPath ::= RelativeLocationPath | AbsoluteLocationPath
+func (p *parser) parseLocationPath(n node) (opnd node) {
+ switch p.r.typ {
+ case itemSlash:
+ p.next()
+ opnd = newRootNode("/")
+ if isStep(p.r.typ) {
+ opnd = p.parseRelativeLocationPath(opnd) // ?? child:: or self ??
+ }
+ case itemSlashSlash:
+ p.next()
+ opnd = newRootNode("//")
+ opnd = p.parseRelativeLocationPath(newAxisNode("descendant-or-self", "", "", "", opnd))
+ default:
+ opnd = p.parseRelativeLocationPath(n)
+ }
+ return opnd
+}
+
+// RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath
+func (p *parser) parseRelativeLocationPath(n node) node {
+ opnd := n
+Loop:
+ for {
+ opnd = p.parseStep(opnd)
+ switch p.r.typ {
+ case itemSlashSlash:
+ p.next()
+ opnd = newAxisNode("descendant-or-self", "", "", "", opnd)
+ case itemSlash:
+ p.next()
+ default:
+ break Loop
+ }
+ }
+ return opnd
+}
+
+// Step ::= AxisSpecifier NodeTest Predicate* | AbbreviatedStep
+func (p *parser) parseStep(n node) node {
+ axeTyp := "child" // default axes value.
+ if p.r.typ == itemDot || p.r.typ == itemDotDot {
+ if p.r.typ == itemDot {
+ axeTyp = "self"
+ } else {
+ axeTyp = "parent"
+ }
+ p.next()
+ return newAxisNode(axeTyp, "", "", "", n)
+ }
+ switch p.r.typ {
+ case itemAt:
+ p.next()
+ axeTyp = "attribute"
+ case itemAxe:
+ axeTyp = p.r.name
+ p.next()
+ }
+ opnd := p.parseNodeTest(n, axeTyp)
+ for p.r.typ == itemLBracket {
+ opnd = newFilterNode(opnd, p.parsePredicate(opnd))
+ }
+ return opnd
+}
+
+// NodeTest ::= NameTest | nodeType '(' ')' | 'processing-instruction' '(' Literal ')'
+func (p *parser) parseNodeTest(n node, axeTyp string) (opnd node) {
+ switch p.r.typ {
+ case itemName:
+ if p.r.canBeFunc && isNodeType(p.r) {
+ var prop string
+ switch p.r.name {
+ case "comment", "text", "processing-instruction", "node":
+ prop = p.r.name
+ }
+ var name string
+ p.next()
+ p.skipItem(itemLParens)
+ if prop == "processing-instruction" && p.r.typ != itemRParens {
+ checkItem(p.r, itemString)
+ name = p.r.strval
+ p.next()
+ }
+ p.skipItem(itemRParens)
+ opnd = newAxisNode(axeTyp, name, "", prop, n)
+ } else {
+ prefix := p.r.prefix
+ name := p.r.name
+ p.next()
+ if p.r.name == "*" {
+ name = ""
+ }
+ opnd = newAxisNode(axeTyp, name, prefix, "", n)
+ }
+ case itemStar:
+ opnd = newAxisNode(axeTyp, "", "", "", n)
+ p.next()
+ default:
+ panic("expression must evaluate to a node-set")
+ }
+ return opnd
+}
+
+// PrimaryExpr ::= VariableReference | '(' Expr ')' | Literal | Number | FunctionCall
+func (p *parser) parsePrimaryExpr(n node) (opnd node) {
+ switch p.r.typ {
+ case itemString:
+ opnd = newOperandNode(p.r.strval)
+ p.next()
+ case itemNumber:
+ opnd = newOperandNode(p.r.numval)
+ p.next()
+ case itemDollar:
+ p.next()
+ checkItem(p.r, itemName)
+ opnd = newVariableNode(p.r.prefix, p.r.name)
+ p.next()
+ case itemLParens:
+ p.next()
+ opnd = p.parseExpression(n)
+ p.skipItem(itemRParens)
+ case itemName:
+ if p.r.canBeFunc && !isNodeType(p.r) {
+ opnd = p.parseMethod(nil)
+ }
+ }
+ return opnd
+}
+
+// FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')'
+func (p *parser) parseMethod(n node) node {
+ var args []node
+ name := p.r.name
+ prefix := p.r.prefix
+
+ p.skipItem(itemName)
+ p.skipItem(itemLParens)
+ if p.r.typ != itemRParens {
+ for {
+ args = append(args, p.parseExpression(n))
+ if p.r.typ == itemRParens {
+ break
+ }
+ p.skipItem(itemComma)
+ }
+ }
+ p.skipItem(itemRParens)
+ return newFunctionNode(name, prefix, args)
+}
+
+// Parse parsing the XPath express string expr and returns a tree node.
+func parse(expr string) node {
+ r := &scanner{text: expr}
+ r.nextChar()
+ r.nextItem()
+ p := &parser{r: r}
+ return p.parseExpression(nil)
+}
+
+// rootNode holds a top-level node of tree.
+type rootNode struct {
+ nodeType
+ slash string
+}
+
+func (r *rootNode) String() string {
+ return r.slash
+}
+
+// operatorNode holds two Nodes operator.
+type operatorNode struct {
+ nodeType
+ Op string
+ Left, Right node
+}
+
+func (o *operatorNode) String() string {
+ return fmt.Sprintf("%v%s%v", o.Left, o.Op, o.Right)
+}
+
+// axisNode holds a location step.
+type axisNode struct {
+ nodeType
+ Input node
+ Prop string // node-test name.[comment|text|processing-instruction|node]
+ AxeType string // name of the axes.[attribute|ancestor|child|....]
+ LocalName string // local part name of node.
+ Prefix string // prefix name of node.
+}
+
+func (a *axisNode) String() string {
+ var b bytes.Buffer
+ if a.AxeType != "" {
+ b.Write([]byte(a.AxeType + "::"))
+ }
+ if a.Prefix != "" {
+ b.Write([]byte(a.Prefix + ":"))
+ }
+ b.Write([]byte(a.LocalName))
+ if a.Prop != "" {
+ b.Write([]byte("/" + a.Prop + "()"))
+ }
+ return b.String()
+}
+
+// operandNode holds a constant operand.
+type operandNode struct {
+ nodeType
+ Val interface{}
+}
+
+func (o *operandNode) String() string {
+ return fmt.Sprintf("%v", o.Val)
+}
+
+// filterNode holds a condition filter.
+type filterNode struct {
+ nodeType
+ Input, Condition node
+}
+
+func (f *filterNode) String() string {
+ return fmt.Sprintf("%s[%s]", f.Input, f.Condition)
+}
+
+// variableNode holds a variable.
+type variableNode struct {
+ nodeType
+ Name, Prefix string
+}
+
+func (v *variableNode) String() string {
+ if v.Prefix == "" {
+ return v.Name
+ }
+ return fmt.Sprintf("%s:%s", v.Prefix, v.Name)
+}
+
+// functionNode holds a function call.
+type functionNode struct {
+ nodeType
+ Args []node
+ Prefix string
+ FuncName string // function name
+}
+
+func (f *functionNode) String() string {
+ var b bytes.Buffer
+ // fun(arg1, ..., argn)
+ b.Write([]byte(f.FuncName))
+ b.Write([]byte("("))
+ for i, arg := range f.Args {
+ if i > 0 {
+ b.Write([]byte(","))
+ }
+ b.Write([]byte(fmt.Sprintf("%s", arg)))
+ }
+ b.Write([]byte(")"))
+ return b.String()
+}
+
+type scanner struct {
+ text, name, prefix string
+
+ pos int
+ curr rune
+ typ itemType
+ strval string // text value at current pos
+ numval float64 // number value at current pos
+ canBeFunc bool
+}
+
+func (s *scanner) nextChar() bool {
+ if s.pos >= len(s.text) {
+ s.curr = rune(0)
+ return false
+ }
+ s.curr = rune(s.text[s.pos])
+ s.pos += 1
+ return true
+}
+
+func (s *scanner) nextItem() bool {
+ s.skipSpace()
+ switch s.curr {
+ case 0:
+ s.typ = itemEof
+ return false
+ case ',', '@', '(', ')', '|', '*', '[', ']', '+', '-', '=', '#', '$':
+ s.typ = asItemType(s.curr)
+ s.nextChar()
+ case '<':
+ s.typ = itemLt
+ s.nextChar()
+ if s.curr == '=' {
+ s.typ = itemLe
+ s.nextChar()
+ }
+ case '>':
+ s.typ = itemGt
+ s.nextChar()
+ if s.curr == '=' {
+ s.typ = itemGe
+ s.nextChar()
+ }
+ case '!':
+ s.typ = itemBang
+ s.nextChar()
+ if s.curr == '=' {
+ s.typ = itemNe
+ s.nextChar()
+ }
+ case '.':
+ s.typ = itemDot
+ s.nextChar()
+ if s.curr == '.' {
+ s.typ = itemDotDot
+ s.nextChar()
+ } else if isDigit(s.curr) {
+ s.typ = itemNumber
+ s.numval = s.scanFraction()
+ }
+ case '/':
+ s.typ = itemSlash
+ s.nextChar()
+ if s.curr == '/' {
+ s.typ = itemSlashSlash
+ s.nextChar()
+ }
+ case '"', '\'':
+ s.typ = itemString
+ s.strval = s.scanString()
+ default:
+ if isDigit(s.curr) {
+ s.typ = itemNumber
+ s.numval = s.scanNumber()
+ } else if isName(s.curr) {
+ s.typ = itemName
+ s.name = s.scanName()
+ s.prefix = ""
+ // "foo:bar" is one itemem not three because it doesn't allow spaces in between
+ // We should distinct it from "foo::" and need process "foo ::" as well
+ if s.curr == ':' {
+ s.nextChar()
+ // can be "foo:bar" or "foo::"
+ if s.curr == ':' {
+ // "foo::"
+ s.nextChar()
+ s.typ = itemAxe
+ } else { // "foo:*", "foo:bar" or "foo: "
+ s.prefix = s.name
+ if s.curr == '*' {
+ s.nextChar()
+ s.name = "*"
+ } else if isName(s.curr) {
+ s.name = s.scanName()
+ } else {
+ panic(fmt.Sprintf("%s has an invalid qualified name.", s.text))
+ }
+ }
+ } else {
+ s.skipSpace()
+ if s.curr == ':' {
+ s.nextChar()
+ // it can be "foo ::" or just "foo :"
+ if s.curr == ':' {
+ s.nextChar()
+ s.typ = itemAxe
+ } else {
+ panic(fmt.Sprintf("%s has an invalid qualified name.", s.text))
+ }
+ }
+ }
+ s.skipSpace()
+ s.canBeFunc = s.curr == '('
+ } else {
+ panic(fmt.Sprintf("%s has an invalid token.", s.text))
+ }
+ }
+ return true
+}
+
+func (s *scanner) skipSpace() {
+Loop:
+ for {
+ if !unicode.IsSpace(s.curr) || !s.nextChar() {
+ break Loop
+ }
+ }
+}
+
+func (s *scanner) scanFraction() float64 {
+ var (
+ i = s.pos - 2
+ c = 1 // '.'
+ )
+ for isDigit(s.curr) {
+ s.nextChar()
+ c++
+ }
+ v, err := strconv.ParseFloat(s.text[i:i+c], 64)
+ if err != nil {
+ panic(fmt.Errorf("xpath: scanFraction parse float got error: %v", err))
+ }
+ return v
+}
+
+func (s *scanner) scanNumber() float64 {
+ var (
+ c int
+ i = s.pos - 1
+ )
+ for isDigit(s.curr) {
+ s.nextChar()
+ c++
+ }
+ if s.curr == '.' {
+ s.nextChar()
+ c++
+ for isDigit(s.curr) {
+ s.nextChar()
+ c++
+ }
+ }
+ v, err := strconv.ParseFloat(s.text[i:i+c], 64)
+ if err != nil {
+ panic(fmt.Errorf("xpath: scanNumber parse float got error: %v", err))
+ }
+ return v
+}
+
+func (s *scanner) scanString() string {
+ var (
+ c = 0
+ end = s.curr
+ )
+ s.nextChar()
+ i := s.pos - 1
+ for s.curr != end {
+ if !s.nextChar() {
+ panic(errors.New("xpath: scanString got unclosed string"))
+ }
+ c++
+ }
+ s.nextChar()
+ return s.text[i : i+c]
+}
+
+func (s *scanner) scanName() string {
+ var (
+ c int
+ i = s.pos - 1
+ )
+ for isName(s.curr) {
+ c++
+ if !s.nextChar() {
+ break
+ }
+ }
+ return s.text[i : i+c]
+}
+
+func isName(r rune) bool {
+ return string(r) != ":" && string(r) != "/" &&
+ (unicode.Is(first, r) || unicode.Is(second, r) || string(r) == "*")
+}
+
+func isDigit(r rune) bool {
+ return unicode.IsDigit(r)
+}
+
+func asItemType(r rune) itemType {
+ switch r {
+ case ',':
+ return itemComma
+ case '@':
+ return itemAt
+ case '(':
+ return itemLParens
+ case ')':
+ return itemRParens
+ case '|':
+ return itemUnion
+ case '*':
+ return itemStar
+ case '[':
+ return itemLBracket
+ case ']':
+ return itemRBracket
+ case '+':
+ return itemPlus
+ case '-':
+ return itemMinus
+ case '=':
+ return itemEq
+ case '$':
+ return itemDollar
+ }
+ panic(fmt.Errorf("unknown item: %v", r))
+}
+
+var first = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x003A, 0x003A, 1},
+ {0x0041, 0x005A, 1},
+ {0x005F, 0x005F, 1},
+ {0x0061, 0x007A, 1},
+ {0x00C0, 0x00D6, 1},
+ {0x00D8, 0x00F6, 1},
+ {0x00F8, 0x00FF, 1},
+ {0x0100, 0x0131, 1},
+ {0x0134, 0x013E, 1},
+ {0x0141, 0x0148, 1},
+ {0x014A, 0x017E, 1},
+ {0x0180, 0x01C3, 1},
+ {0x01CD, 0x01F0, 1},
+ {0x01F4, 0x01F5, 1},
+ {0x01FA, 0x0217, 1},
+ {0x0250, 0x02A8, 1},
+ {0x02BB, 0x02C1, 1},
+ {0x0386, 0x0386, 1},
+ {0x0388, 0x038A, 1},
+ {0x038C, 0x038C, 1},
+ {0x038E, 0x03A1, 1},
+ {0x03A3, 0x03CE, 1},
+ {0x03D0, 0x03D6, 1},
+ {0x03DA, 0x03E0, 2},
+ {0x03E2, 0x03F3, 1},
+ {0x0401, 0x040C, 1},
+ {0x040E, 0x044F, 1},
+ {0x0451, 0x045C, 1},
+ {0x045E, 0x0481, 1},
+ {0x0490, 0x04C4, 1},
+ {0x04C7, 0x04C8, 1},
+ {0x04CB, 0x04CC, 1},
+ {0x04D0, 0x04EB, 1},
+ {0x04EE, 0x04F5, 1},
+ {0x04F8, 0x04F9, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x0559, 1},
+ {0x0561, 0x0586, 1},
+ {0x05D0, 0x05EA, 1},
+ {0x05F0, 0x05F2, 1},
+ {0x0621, 0x063A, 1},
+ {0x0641, 0x064A, 1},
+ {0x0671, 0x06B7, 1},
+ {0x06BA, 0x06BE, 1},
+ {0x06C0, 0x06CE, 1},
+ {0x06D0, 0x06D3, 1},
+ {0x06D5, 0x06D5, 1},
+ {0x06E5, 0x06E6, 1},
+ {0x0905, 0x0939, 1},
+ {0x093D, 0x093D, 1},
+ {0x0958, 0x0961, 1},
+ {0x0985, 0x098C, 1},
+ {0x098F, 0x0990, 1},
+ {0x0993, 0x09A8, 1},
+ {0x09AA, 0x09B0, 1},
+ {0x09B2, 0x09B2, 1},
+ {0x09B6, 0x09B9, 1},
+ {0x09DC, 0x09DD, 1},
+ {0x09DF, 0x09E1, 1},
+ {0x09F0, 0x09F1, 1},
+ {0x0A05, 0x0A0A, 1},
+ {0x0A0F, 0x0A10, 1},
+ {0x0A13, 0x0A28, 1},
+ {0x0A2A, 0x0A30, 1},
+ {0x0A32, 0x0A33, 1},
+ {0x0A35, 0x0A36, 1},
+ {0x0A38, 0x0A39, 1},
+ {0x0A59, 0x0A5C, 1},
+ {0x0A5E, 0x0A5E, 1},
+ {0x0A72, 0x0A74, 1},
+ {0x0A85, 0x0A8B, 1},
+ {0x0A8D, 0x0A8D, 1},
+ {0x0A8F, 0x0A91, 1},
+ {0x0A93, 0x0AA8, 1},
+ {0x0AAA, 0x0AB0, 1},
+ {0x0AB2, 0x0AB3, 1},
+ {0x0AB5, 0x0AB9, 1},
+ {0x0ABD, 0x0AE0, 0x23},
+ {0x0B05, 0x0B0C, 1},
+ {0x0B0F, 0x0B10, 1},
+ {0x0B13, 0x0B28, 1},
+ {0x0B2A, 0x0B30, 1},
+ {0x0B32, 0x0B33, 1},
+ {0x0B36, 0x0B39, 1},
+ {0x0B3D, 0x0B3D, 1},
+ {0x0B5C, 0x0B5D, 1},
+ {0x0B5F, 0x0B61, 1},
+ {0x0B85, 0x0B8A, 1},
+ {0x0B8E, 0x0B90, 1},
+ {0x0B92, 0x0B95, 1},
+ {0x0B99, 0x0B9A, 1},
+ {0x0B9C, 0x0B9C, 1},
+ {0x0B9E, 0x0B9F, 1},
+ {0x0BA3, 0x0BA4, 1},
+ {0x0BA8, 0x0BAA, 1},
+ {0x0BAE, 0x0BB5, 1},
+ {0x0BB7, 0x0BB9, 1},
+ {0x0C05, 0x0C0C, 1},
+ {0x0C0E, 0x0C10, 1},
+ {0x0C12, 0x0C28, 1},
+ {0x0C2A, 0x0C33, 1},
+ {0x0C35, 0x0C39, 1},
+ {0x0C60, 0x0C61, 1},
+ {0x0C85, 0x0C8C, 1},
+ {0x0C8E, 0x0C90, 1},
+ {0x0C92, 0x0CA8, 1},
+ {0x0CAA, 0x0CB3, 1},
+ {0x0CB5, 0x0CB9, 1},
+ {0x0CDE, 0x0CDE, 1},
+ {0x0CE0, 0x0CE1, 1},
+ {0x0D05, 0x0D0C, 1},
+ {0x0D0E, 0x0D10, 1},
+ {0x0D12, 0x0D28, 1},
+ {0x0D2A, 0x0D39, 1},
+ {0x0D60, 0x0D61, 1},
+ {0x0E01, 0x0E2E, 1},
+ {0x0E30, 0x0E30, 1},
+ {0x0E32, 0x0E33, 1},
+ {0x0E40, 0x0E45, 1},
+ {0x0E81, 0x0E82, 1},
+ {0x0E84, 0x0E84, 1},
+ {0x0E87, 0x0E88, 1},
+ {0x0E8A, 0x0E8D, 3},
+ {0x0E94, 0x0E97, 1},
+ {0x0E99, 0x0E9F, 1},
+ {0x0EA1, 0x0EA3, 1},
+ {0x0EA5, 0x0EA7, 2},
+ {0x0EAA, 0x0EAB, 1},
+ {0x0EAD, 0x0EAE, 1},
+ {0x0EB0, 0x0EB0, 1},
+ {0x0EB2, 0x0EB3, 1},
+ {0x0EBD, 0x0EBD, 1},
+ {0x0EC0, 0x0EC4, 1},
+ {0x0F40, 0x0F47, 1},
+ {0x0F49, 0x0F69, 1},
+ {0x10A0, 0x10C5, 1},
+ {0x10D0, 0x10F6, 1},
+ {0x1100, 0x1100, 1},
+ {0x1102, 0x1103, 1},
+ {0x1105, 0x1107, 1},
+ {0x1109, 0x1109, 1},
+ {0x110B, 0x110C, 1},
+ {0x110E, 0x1112, 1},
+ {0x113C, 0x1140, 2},
+ {0x114C, 0x1150, 2},
+ {0x1154, 0x1155, 1},
+ {0x1159, 0x1159, 1},
+ {0x115F, 0x1161, 1},
+ {0x1163, 0x1169, 2},
+ {0x116D, 0x116E, 1},
+ {0x1172, 0x1173, 1},
+ {0x1175, 0x119E, 0x119E - 0x1175},
+ {0x11A8, 0x11AB, 0x11AB - 0x11A8},
+ {0x11AE, 0x11AF, 1},
+ {0x11B7, 0x11B8, 1},
+ {0x11BA, 0x11BA, 1},
+ {0x11BC, 0x11C2, 1},
+ {0x11EB, 0x11F0, 0x11F0 - 0x11EB},
+ {0x11F9, 0x11F9, 1},
+ {0x1E00, 0x1E9B, 1},
+ {0x1EA0, 0x1EF9, 1},
+ {0x1F00, 0x1F15, 1},
+ {0x1F18, 0x1F1D, 1},
+ {0x1F20, 0x1F45, 1},
+ {0x1F48, 0x1F4D, 1},
+ {0x1F50, 0x1F57, 1},
+ {0x1F59, 0x1F5B, 0x1F5B - 0x1F59},
+ {0x1F5D, 0x1F5D, 1},
+ {0x1F5F, 0x1F7D, 1},
+ {0x1F80, 0x1FB4, 1},
+ {0x1FB6, 0x1FBC, 1},
+ {0x1FBE, 0x1FBE, 1},
+ {0x1FC2, 0x1FC4, 1},
+ {0x1FC6, 0x1FCC, 1},
+ {0x1FD0, 0x1FD3, 1},
+ {0x1FD6, 0x1FDB, 1},
+ {0x1FE0, 0x1FEC, 1},
+ {0x1FF2, 0x1FF4, 1},
+ {0x1FF6, 0x1FFC, 1},
+ {0x2126, 0x2126, 1},
+ {0x212A, 0x212B, 1},
+ {0x212E, 0x212E, 1},
+ {0x2180, 0x2182, 1},
+ {0x3007, 0x3007, 1},
+ {0x3021, 0x3029, 1},
+ {0x3041, 0x3094, 1},
+ {0x30A1, 0x30FA, 1},
+ {0x3105, 0x312C, 1},
+ {0x4E00, 0x9FA5, 1},
+ {0xAC00, 0xD7A3, 1},
+ },
+}
+
+var second = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x002D, 0x002E, 1},
+ {0x0030, 0x0039, 1},
+ {0x00B7, 0x00B7, 1},
+ {0x02D0, 0x02D1, 1},
+ {0x0300, 0x0345, 1},
+ {0x0360, 0x0361, 1},
+ {0x0387, 0x0387, 1},
+ {0x0483, 0x0486, 1},
+ {0x0591, 0x05A1, 1},
+ {0x05A3, 0x05B9, 1},
+ {0x05BB, 0x05BD, 1},
+ {0x05BF, 0x05BF, 1},
+ {0x05C1, 0x05C2, 1},
+ {0x05C4, 0x0640, 0x0640 - 0x05C4},
+ {0x064B, 0x0652, 1},
+ {0x0660, 0x0669, 1},
+ {0x0670, 0x0670, 1},
+ {0x06D6, 0x06DC, 1},
+ {0x06DD, 0x06DF, 1},
+ {0x06E0, 0x06E4, 1},
+ {0x06E7, 0x06E8, 1},
+ {0x06EA, 0x06ED, 1},
+ {0x06F0, 0x06F9, 1},
+ {0x0901, 0x0903, 1},
+ {0x093C, 0x093C, 1},
+ {0x093E, 0x094C, 1},
+ {0x094D, 0x094D, 1},
+ {0x0951, 0x0954, 1},
+ {0x0962, 0x0963, 1},
+ {0x0966, 0x096F, 1},
+ {0x0981, 0x0983, 1},
+ {0x09BC, 0x09BC, 1},
+ {0x09BE, 0x09BF, 1},
+ {0x09C0, 0x09C4, 1},
+ {0x09C7, 0x09C8, 1},
+ {0x09CB, 0x09CD, 1},
+ {0x09D7, 0x09D7, 1},
+ {0x09E2, 0x09E3, 1},
+ {0x09E6, 0x09EF, 1},
+ {0x0A02, 0x0A3C, 0x3A},
+ {0x0A3E, 0x0A3F, 1},
+ {0x0A40, 0x0A42, 1},
+ {0x0A47, 0x0A48, 1},
+ {0x0A4B, 0x0A4D, 1},
+ {0x0A66, 0x0A6F, 1},
+ {0x0A70, 0x0A71, 1},
+ {0x0A81, 0x0A83, 1},
+ {0x0ABC, 0x0ABC, 1},
+ {0x0ABE, 0x0AC5, 1},
+ {0x0AC7, 0x0AC9, 1},
+ {0x0ACB, 0x0ACD, 1},
+ {0x0AE6, 0x0AEF, 1},
+ {0x0B01, 0x0B03, 1},
+ {0x0B3C, 0x0B3C, 1},
+ {0x0B3E, 0x0B43, 1},
+ {0x0B47, 0x0B48, 1},
+ {0x0B4B, 0x0B4D, 1},
+ {0x0B56, 0x0B57, 1},
+ {0x0B66, 0x0B6F, 1},
+ {0x0B82, 0x0B83, 1},
+ {0x0BBE, 0x0BC2, 1},
+ {0x0BC6, 0x0BC8, 1},
+ {0x0BCA, 0x0BCD, 1},
+ {0x0BD7, 0x0BD7, 1},
+ {0x0BE7, 0x0BEF, 1},
+ {0x0C01, 0x0C03, 1},
+ {0x0C3E, 0x0C44, 1},
+ {0x0C46, 0x0C48, 1},
+ {0x0C4A, 0x0C4D, 1},
+ {0x0C55, 0x0C56, 1},
+ {0x0C66, 0x0C6F, 1},
+ {0x0C82, 0x0C83, 1},
+ {0x0CBE, 0x0CC4, 1},
+ {0x0CC6, 0x0CC8, 1},
+ {0x0CCA, 0x0CCD, 1},
+ {0x0CD5, 0x0CD6, 1},
+ {0x0CE6, 0x0CEF, 1},
+ {0x0D02, 0x0D03, 1},
+ {0x0D3E, 0x0D43, 1},
+ {0x0D46, 0x0D48, 1},
+ {0x0D4A, 0x0D4D, 1},
+ {0x0D57, 0x0D57, 1},
+ {0x0D66, 0x0D6F, 1},
+ {0x0E31, 0x0E31, 1},
+ {0x0E34, 0x0E3A, 1},
+ {0x0E46, 0x0E46, 1},
+ {0x0E47, 0x0E4E, 1},
+ {0x0E50, 0x0E59, 1},
+ {0x0EB1, 0x0EB1, 1},
+ {0x0EB4, 0x0EB9, 1},
+ {0x0EBB, 0x0EBC, 1},
+ {0x0EC6, 0x0EC6, 1},
+ {0x0EC8, 0x0ECD, 1},
+ {0x0ED0, 0x0ED9, 1},
+ {0x0F18, 0x0F19, 1},
+ {0x0F20, 0x0F29, 1},
+ {0x0F35, 0x0F39, 2},
+ {0x0F3E, 0x0F3F, 1},
+ {0x0F71, 0x0F84, 1},
+ {0x0F86, 0x0F8B, 1},
+ {0x0F90, 0x0F95, 1},
+ {0x0F97, 0x0F97, 1},
+ {0x0F99, 0x0FAD, 1},
+ {0x0FB1, 0x0FB7, 1},
+ {0x0FB9, 0x0FB9, 1},
+ {0x20D0, 0x20DC, 1},
+ {0x20E1, 0x3005, 0x3005 - 0x20E1},
+ {0x302A, 0x302F, 1},
+ {0x3031, 0x3035, 1},
+ {0x3099, 0x309A, 1},
+ {0x309D, 0x309E, 1},
+ {0x30FC, 0x30FE, 1},
+ },
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/query.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/query.go
new file mode 100644
index 00000000..b076973c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/query.go
@@ -0,0 +1,728 @@
+package xpath
+
+import (
+ "reflect"
+)
+
+type iterator interface {
+ Current() NodeNavigator
+}
+
+// An XPath query interface.
+type query interface {
+ // Select traversing iterator returns a query matched node NodeNavigator.
+ Select(iterator) NodeNavigator
+
+ // Evaluate evaluates query and returns values of the current query.
+ Evaluate(iterator) interface{}
+
+ Clone() query
+}
+
+// contextQuery is returns current node on the iterator object query.
+type contextQuery struct {
+ count int
+ Root bool // Moving to root-level node in the current context iterator.
+}
+
+func (c *contextQuery) Select(t iterator) (n NodeNavigator) {
+ if c.count == 0 {
+ c.count++
+ n = t.Current().Copy()
+ if c.Root {
+ n.MoveToRoot()
+ }
+ }
+ return n
+}
+
+func (c *contextQuery) Evaluate(iterator) interface{} {
+ c.count = 0
+ return c
+}
+
+func (c *contextQuery) Clone() query {
+ return &contextQuery{count: 0, Root: c.Root}
+}
+
+// ancestorQuery is an XPath ancestor node query.(ancestor::*|ancestor-self::*)
+type ancestorQuery struct {
+ iterator func() NodeNavigator
+
+ Self bool
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (a *ancestorQuery) Select(t iterator) NodeNavigator {
+ for {
+ if a.iterator == nil {
+ node := a.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ first := true
+ a.iterator = func() NodeNavigator {
+ if first && a.Self {
+ first = false
+ if a.Predicate(node) {
+ return node
+ }
+ }
+ for node.MoveToParent() {
+ if !a.Predicate(node) {
+ break
+ }
+ return node
+ }
+ return nil
+ }
+ }
+
+ if node := a.iterator(); node != nil {
+ return node
+ }
+ a.iterator = nil
+ }
+}
+
+func (a *ancestorQuery) Evaluate(t iterator) interface{} {
+ a.Input.Evaluate(t)
+ a.iterator = nil
+ return a
+}
+
+func (a *ancestorQuery) Test(n NodeNavigator) bool {
+ return a.Predicate(n)
+}
+
+func (a *ancestorQuery) Clone() query {
+ return &ancestorQuery{Self: a.Self, Input: a.Input.Clone(), Predicate: a.Predicate}
+}
+
+// attributeQuery is an XPath attribute node query.(@*)
+type attributeQuery struct {
+ iterator func() NodeNavigator
+
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (a *attributeQuery) Select(t iterator) NodeNavigator {
+ for {
+ if a.iterator == nil {
+ node := a.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ a.iterator = func() NodeNavigator {
+ for {
+ onAttr := node.MoveToNextAttribute()
+ if !onAttr {
+ return nil
+ }
+ if a.Predicate(node) {
+ return node
+ }
+ }
+ }
+ }
+
+ if node := a.iterator(); node != nil {
+ return node
+ }
+ a.iterator = nil
+ }
+}
+
+func (a *attributeQuery) Evaluate(t iterator) interface{} {
+ a.Input.Evaluate(t)
+ a.iterator = nil
+ return a
+}
+
+func (a *attributeQuery) Test(n NodeNavigator) bool {
+ return a.Predicate(n)
+}
+
+func (a *attributeQuery) Clone() query {
+ return &attributeQuery{Input: a.Input.Clone(), Predicate: a.Predicate}
+}
+
+// childQuery is an XPath child node query.(child::*)
+type childQuery struct {
+ posit int
+ iterator func() NodeNavigator
+
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (c *childQuery) Select(t iterator) NodeNavigator {
+ for {
+ if c.iterator == nil {
+ c.posit = 0
+ node := c.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ first := true
+ c.iterator = func() NodeNavigator {
+ for {
+ if (first && !node.MoveToChild()) || (!first && !node.MoveToNext()) {
+ return nil
+ }
+ first = false
+ if c.Predicate(node) {
+ return node
+ }
+ }
+ }
+ }
+
+ if node := c.iterator(); node != nil {
+ c.posit++
+ return node
+ }
+ c.iterator = nil
+ }
+}
+
+func (c *childQuery) Evaluate(t iterator) interface{} {
+ c.Input.Evaluate(t)
+ c.iterator = nil
+ return c
+}
+
+func (c *childQuery) Test(n NodeNavigator) bool {
+ return c.Predicate(n)
+}
+
+func (c *childQuery) Clone() query {
+ return &childQuery{Input: c.Input.Clone(), Predicate: c.Predicate}
+}
+
+// position returns a position of current NodeNavigator.
+func (c *childQuery) position() int {
+ return c.posit
+}
+
+// descendantQuery is an XPath descendant node query.(descendant::* | descendant-or-self::*)
+type descendantQuery struct {
+ iterator func() NodeNavigator
+ posit int
+
+ Self bool
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (d *descendantQuery) Select(t iterator) NodeNavigator {
+ for {
+ if d.iterator == nil {
+ d.posit = 0
+ node := d.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ level := 0
+ first := true
+ d.iterator = func() NodeNavigator {
+ if first && d.Self {
+ first = false
+ if d.Predicate(node) {
+ return node
+ }
+ }
+
+ for {
+ if node.MoveToChild() {
+ level++
+ } else {
+ for {
+ if level == 0 {
+ return nil
+ }
+ if node.MoveToNext() {
+ break
+ }
+ node.MoveToParent()
+ level--
+ }
+ }
+ if d.Predicate(node) {
+ return node
+ }
+ }
+ }
+ }
+
+ if node := d.iterator(); node != nil {
+ d.posit++
+ return node
+ }
+ d.iterator = nil
+ }
+}
+
+func (d *descendantQuery) Evaluate(t iterator) interface{} {
+ d.Input.Evaluate(t)
+ d.iterator = nil
+ return d
+}
+
+func (d *descendantQuery) Test(n NodeNavigator) bool {
+ return d.Predicate(n)
+}
+
+// position returns a position of current NodeNavigator.
+func (d *descendantQuery) position() int {
+ return d.posit
+}
+
+func (d *descendantQuery) Clone() query {
+ return &descendantQuery{Self: d.Self, Input: d.Input.Clone(), Predicate: d.Predicate}
+}
+
+// followingQuery is an XPath following node query.(following::*|following-sibling::*)
+type followingQuery struct {
+ iterator func() NodeNavigator
+
+ Input query
+ Sibling bool // The matching sibling node of current node.
+ Predicate func(NodeNavigator) bool
+}
+
+func (f *followingQuery) Select(t iterator) NodeNavigator {
+ for {
+ if f.iterator == nil {
+ node := f.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ if f.Sibling {
+ f.iterator = func() NodeNavigator {
+ for {
+ if !node.MoveToNext() {
+ return nil
+ }
+ if f.Predicate(node) {
+ return node
+ }
+ }
+ }
+ } else {
+ var q query // descendant query
+ f.iterator = func() NodeNavigator {
+ for {
+ if q == nil {
+ for !node.MoveToNext() {
+ if !node.MoveToParent() {
+ return nil
+ }
+ }
+ q = &descendantQuery{
+ Self: true,
+ Input: &contextQuery{},
+ Predicate: f.Predicate,
+ }
+ t.Current().MoveTo(node)
+ }
+ if node := q.Select(t); node != nil {
+ return node
+ }
+ q = nil
+ }
+ }
+ }
+ }
+
+ if node := f.iterator(); node != nil {
+ return node
+ }
+ f.iterator = nil
+ }
+}
+
+func (f *followingQuery) Evaluate(t iterator) interface{} {
+ f.Input.Evaluate(t)
+ return f
+}
+
+func (f *followingQuery) Test(n NodeNavigator) bool {
+ return f.Predicate(n)
+}
+
+func (f *followingQuery) Clone() query {
+ return &followingQuery{Input: f.Input.Clone(), Sibling: f.Sibling, Predicate: f.Predicate}
+}
+
+// precedingQuery is an XPath preceding node query.(preceding::*)
+type precedingQuery struct {
+ iterator func() NodeNavigator
+ Input query
+ Sibling bool // The matching sibling node of current node.
+ Predicate func(NodeNavigator) bool
+}
+
+func (p *precedingQuery) Select(t iterator) NodeNavigator {
+ for {
+ if p.iterator == nil {
+ node := p.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ if p.Sibling {
+ p.iterator = func() NodeNavigator {
+ for {
+ for !node.MoveToPrevious() {
+ return nil
+ }
+ if p.Predicate(node) {
+ return node
+ }
+ }
+ }
+ } else {
+ var q query
+ p.iterator = func() NodeNavigator {
+ for {
+ if q == nil {
+ for !node.MoveToPrevious() {
+ if !node.MoveToParent() {
+ return nil
+ }
+ }
+ q = &descendantQuery{
+ Self: true,
+ Input: &contextQuery{},
+ Predicate: p.Predicate,
+ }
+ t.Current().MoveTo(node)
+ }
+ if node := q.Select(t); node != nil {
+ return node
+ }
+ q = nil
+ }
+ }
+ }
+ }
+ if node := p.iterator(); node != nil {
+ return node
+ }
+ p.iterator = nil
+ }
+}
+
+func (p *precedingQuery) Evaluate(t iterator) interface{} {
+ p.Input.Evaluate(t)
+ return p
+}
+
+func (p *precedingQuery) Test(n NodeNavigator) bool {
+ return p.Predicate(n)
+}
+
+func (p *precedingQuery) Clone() query {
+ return &precedingQuery{Input: p.Input.Clone(), Sibling: p.Sibling, Predicate: p.Predicate}
+}
+
+// parentQuery is an XPath parent node query.(parent::*)
+type parentQuery struct {
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (p *parentQuery) Select(t iterator) NodeNavigator {
+ for {
+ node := p.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+ node = node.Copy()
+ if node.MoveToParent() && p.Predicate(node) {
+ return node
+ }
+ }
+}
+
+func (p *parentQuery) Evaluate(t iterator) interface{} {
+ p.Input.Evaluate(t)
+ return p
+}
+
+func (p *parentQuery) Clone() query {
+ return &parentQuery{Input: p.Input.Clone(), Predicate: p.Predicate}
+}
+
+func (p *parentQuery) Test(n NodeNavigator) bool {
+ return p.Predicate(n)
+}
+
+// selfQuery is an Self node query.(self::*)
+type selfQuery struct {
+ Input query
+ Predicate func(NodeNavigator) bool
+}
+
+func (s *selfQuery) Select(t iterator) NodeNavigator {
+ for {
+ node := s.Input.Select(t)
+ if node == nil {
+ return nil
+ }
+
+ if s.Predicate(node) {
+ return node
+ }
+ }
+}
+
+func (s *selfQuery) Evaluate(t iterator) interface{} {
+ s.Input.Evaluate(t)
+ return s
+}
+
+func (s *selfQuery) Test(n NodeNavigator) bool {
+ return s.Predicate(n)
+}
+
+func (s *selfQuery) Clone() query {
+ return &selfQuery{Input: s.Input.Clone(), Predicate: s.Predicate}
+}
+
+// filterQuery is an XPath query for predicate filter.
+type filterQuery struct {
+ Input query
+ Predicate query
+}
+
+func (f *filterQuery) do(t iterator) bool {
+ val := reflect.ValueOf(f.Predicate.Evaluate(t))
+ switch val.Kind() {
+ case reflect.Bool:
+ return val.Bool()
+ case reflect.String:
+ return len(val.String()) > 0
+ case reflect.Float64:
+ pt := float64(getNodePosition(f.Input))
+ return int(val.Float()) == int(pt)
+ default:
+ if q, ok := f.Predicate.(query); ok {
+ return q.Select(t) != nil
+ }
+ }
+ return false
+}
+
+func (f *filterQuery) Select(t iterator) NodeNavigator {
+ for {
+ node := f.Input.Select(t)
+ if node == nil {
+ return node
+ }
+ node = node.Copy()
+ //fmt.Println(node.LocalName())
+
+ t.Current().MoveTo(node)
+ if f.do(t) {
+ return node
+ }
+ }
+}
+
+func (f *filterQuery) Evaluate(t iterator) interface{} {
+ f.Input.Evaluate(t)
+ return f
+}
+
+func (f *filterQuery) Clone() query {
+ return &filterQuery{Input: f.Input.Clone(), Predicate: f.Predicate.Clone()}
+}
+
+// functionQuery is an XPath function that call a function to returns
+// value of current NodeNavigator node.
+type functionQuery struct {
+ Input query // Node Set
+ Func func(query, iterator) interface{} // The xpath function.
+}
+
+func (f *functionQuery) Select(t iterator) NodeNavigator {
+ return nil
+}
+
+// Evaluate call a specified function that will returns the
+// following value type: number,string,boolean.
+func (f *functionQuery) Evaluate(t iterator) interface{} {
+ return f.Func(f.Input, t)
+}
+
+func (f *functionQuery) Clone() query {
+ return &functionQuery{Input: f.Input.Clone(), Func: f.Func}
+}
+
+// constantQuery is an XPath constant operand.
+type constantQuery struct {
+ Val interface{}
+}
+
+func (c *constantQuery) Select(t iterator) NodeNavigator {
+ return nil
+}
+
+func (c *constantQuery) Evaluate(t iterator) interface{} {
+ return c.Val
+}
+
+func (c *constantQuery) Clone() query {
+ return c
+}
+
+// logicalQuery is an XPath logical expression.
+type logicalQuery struct {
+ Left, Right query
+
+ Do func(iterator, interface{}, interface{}) interface{}
+}
+
+func (l *logicalQuery) Select(t iterator) NodeNavigator {
+ // When a XPath expr is logical expression.
+ node := t.Current().Copy()
+ val := l.Evaluate(t)
+ switch val.(type) {
+ case bool:
+ if val.(bool) == true {
+ return node
+ }
+ }
+ return nil
+}
+
+func (l *logicalQuery) Evaluate(t iterator) interface{} {
+ m := l.Left.Evaluate(t)
+ n := l.Right.Evaluate(t)
+ return l.Do(t, m, n)
+}
+
+func (l *logicalQuery) Clone() query {
+ return &logicalQuery{Left: l.Left.Clone(), Right: l.Right.Clone(), Do: l.Do}
+}
+
+// numericQuery is an XPath numeric operator expression.
+type numericQuery struct {
+ Left, Right query
+
+ Do func(interface{}, interface{}) interface{}
+}
+
+func (n *numericQuery) Select(t iterator) NodeNavigator {
+ return nil
+}
+
+func (n *numericQuery) Evaluate(t iterator) interface{} {
+ m := n.Left.Evaluate(t)
+ k := n.Right.Evaluate(t)
+ return n.Do(m, k)
+}
+
+func (n *numericQuery) Clone() query {
+ return &numericQuery{Left: n.Left.Clone(), Right: n.Right.Clone(), Do: n.Do}
+}
+
+type booleanQuery struct {
+ IsOr bool
+ Left, Right query
+ iterator func() NodeNavigator
+}
+
+func (b *booleanQuery) Select(t iterator) NodeNavigator {
+ if b.iterator == nil {
+ var list []NodeNavigator
+ i := 0
+ root := t.Current().Copy()
+ if b.IsOr {
+ for {
+ node := b.Left.Select(t)
+ if node == nil {
+ break
+ }
+ node = node.Copy()
+ list = append(list, node)
+ }
+ t.Current().MoveTo(root)
+ for {
+ node := b.Right.Select(t)
+ if node == nil {
+ break
+ }
+ node = node.Copy()
+ list = append(list, node)
+ }
+ } else {
+ var m []NodeNavigator
+ var n []NodeNavigator
+ for {
+ node := b.Left.Select(t)
+ if node == nil {
+ break
+ }
+ node = node.Copy()
+ list = append(m, node)
+ }
+ t.Current().MoveTo(root)
+ for {
+ node := b.Right.Select(t)
+ if node == nil {
+ break
+ }
+ node = node.Copy()
+ list = append(n, node)
+ }
+ for _, k := range m {
+ for _, j := range n {
+ if k == j {
+ list = append(list, k)
+ }
+ }
+ }
+ }
+
+ b.iterator = func() NodeNavigator {
+ if i >= len(list) {
+ return nil
+ }
+ node := list[i]
+ i++
+ return node
+ }
+ }
+ return b.iterator()
+}
+
+func (b *booleanQuery) Evaluate(t iterator) interface{} {
+ m := b.Left.Evaluate(t)
+ if m.(bool) == b.IsOr {
+ return m
+ }
+ return b.Right.Evaluate(t)
+}
+
+func (b *booleanQuery) Clone() query {
+ return &booleanQuery{IsOr: b.IsOr, Left: b.Left.Clone(), Right: b.Right.Clone()}
+}
+
+func getNodePosition(q query) int {
+ type Position interface {
+ position() int
+ }
+ if count, ok := q.(Position); ok {
+ return count.position()
+ }
+ return 1
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/xpath.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/xpath.go
new file mode 100644
index 00000000..4460c377
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xpath/xpath.go
@@ -0,0 +1,154 @@
+package xpath
+
+import (
+ "errors"
+)
+
+// NodeType represents a type of XPath node.
+type NodeType int
+
+const (
+ // RootNode is a root node of the XML document or node tree.
+ RootNode NodeType = iota
+
+ // ElementNode is an element, such as <element>.
+ ElementNode
+
+ // AttributeNode is an attribute, such as id='123'.
+ AttributeNode
+
+ // TextNode is the text content of a node.
+ TextNode
+
+ // CommentNode is a comment node, such as <!-- my comment -->
+ CommentNode
+)
+
+// NodeNavigator provides cursor model for navigating XML data.
+type NodeNavigator interface {
+ // NodeType returns the XPathNodeType of the current node.
+ NodeType() NodeType
+
+ // LocalName gets the Name of the current node.
+ LocalName() string
+
+ // Prefix returns namespace prefix associated with the current node.
+ Prefix() string
+
+ // Value gets the value of current node.
+ Value() string
+
+ // Copy does a deep copy of the NodeNavigator and all its components.
+ Copy() NodeNavigator
+
+ // MoveToRoot moves the NodeNavigator to the root node of the current node.
+ MoveToRoot()
+
+ // MoveToParent moves the NodeNavigator to the parent node of the current node.
+ MoveToParent() bool
+
+ // MoveToNextAttribute moves the NodeNavigator to the next attribute on current node.
+ MoveToNextAttribute() bool
+
+ // MoveToChild moves the NodeNavigator to the first child node of the current node.
+ MoveToChild() bool
+
+ // MoveToFirst moves the NodeNavigator to the first sibling node of the current node.
+ MoveToFirst() bool
+
+ // MoveToNext moves the NodeNavigator to the next sibling node of the current node.
+ MoveToNext() bool
+
+ // MoveToPrevious moves the NodeNavigator to the previous sibling node of the current node.
+ MoveToPrevious() bool
+
+ // MoveTo moves the NodeNavigator to the same position as the specified NodeNavigator.
+ MoveTo(NodeNavigator) bool
+}
+
+// NodeIterator holds all matched Node object.
+type NodeIterator struct {
+ node NodeNavigator
+ query query
+}
+
+// Current returns current node which matched.
+func (t *NodeIterator) Current() NodeNavigator {
+ return t.node
+}
+
+// MoveNext moves Navigator to the next match node.
+func (t *NodeIterator) MoveNext() bool {
+ n := t.query.Select(t)
+ if n != nil {
+ if !t.node.MoveTo(n) {
+ t.node = n.Copy()
+ }
+ return true
+ }
+ return false
+}
+
+// Select selects a node set using the specified XPath expression.
+// This method is deprecated, recommend using Expr.Select() method instead.
+func Select(root NodeNavigator, expr string) *NodeIterator {
+ exp, err := Compile(expr)
+ if err != nil {
+ panic(err)
+ }
+ return exp.Select(root)
+}
+
+// Expr is an XPath expression for query.
+type Expr struct {
+ s string
+ q query
+}
+
+type iteratorFunc func() NodeNavigator
+
+func (f iteratorFunc) Current() NodeNavigator {
+ return f()
+}
+
+// Evaluate returns the result of the expression.
+// The result type of the expression is one of the follow: bool,float64,string,NodeIterator).
+func (expr *Expr) Evaluate(root NodeNavigator) interface{} {
+ val := expr.q.Evaluate(iteratorFunc(func() NodeNavigator { return root }))
+ switch val.(type) {
+ case query:
+ return &NodeIterator{query: expr.q.Clone(), node: root}
+ }
+ return val
+}
+
+// Select selects a node set using the specified XPath expression.
+func (expr *Expr) Select(root NodeNavigator) *NodeIterator {
+ return &NodeIterator{query: expr.q.Clone(), node: root}
+}
+
+// String returns XPath expression string.
+func (expr *Expr) String() string {
+ return expr.s
+}
+
+// Compile compiles an XPath expression string.
+func Compile(expr string) (*Expr, error) {
+ if expr == "" {
+ return nil, errors.New("expr expression is nil")
+ }
+ qy, err := build(expr)
+ if err != nil {
+ return nil, err
+ }
+ return &Expr{s: expr, q: qy}, nil
+}
+
+// MustCompile compiles an XPath expression string and ignored error.
+func MustCompile(expr string) *Expr {
+ exp, err := Compile(expr)
+ if err != nil {
+ return nil
+ }
+ return exp
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/LICENSE
new file mode 100644
index 00000000..e14c3714
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/LICENSE
@@ -0,0 +1,17 @@
+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. \ No newline at end of file
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/node.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/node.go
new file mode 100644
index 00000000..064d1cdd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/node.go
@@ -0,0 +1,252 @@
+package xmlquery
+
+import (
+ "bytes"
+ "encoding/xml"
+ "fmt"
+ "io"
+ "net/http"
+ "strings"
+
+ "golang.org/x/net/html/charset"
+)
+
+// A NodeType is the type of a Node.
+type NodeType uint
+
+const (
+ // DocumentNode is a document object that, as the root of the document tree,
+ // provides access to the entire XML document.
+ DocumentNode NodeType = iota
+ // DeclarationNode is the document type declaration, indicated by the following
+ // tag (for example, <!DOCTYPE...> ).
+ DeclarationNode
+ // ElementNode is an element (for example, <item> ).
+ ElementNode
+ // TextNode is the text content of a node.
+ TextNode
+ // CommentNode a comment (for example, <!-- my comment --> ).
+ CommentNode
+)
+
+// A Node consists of a NodeType and some Data (tag name for
+// element nodes, content for text) and are part of a tree of Nodes.
+type Node struct {
+ Parent, FirstChild, LastChild, PrevSibling, NextSibling *Node
+
+ Type NodeType
+ Data string
+ Prefix string
+ NamespaceURI string
+ Attr []xml.Attr
+
+ level int // node level in the tree
+}
+
+// InnerText returns the text between the start and end tags of the object.
+func (n *Node) InnerText() string {
+ var output func(*bytes.Buffer, *Node)
+ output = func(buf *bytes.Buffer, n *Node) {
+ switch n.Type {
+ case TextNode:
+ buf.WriteString(n.Data)
+ return
+ case CommentNode:
+ return
+ }
+ for child := n.FirstChild; child != nil; child = child.NextSibling {
+ output(buf, child)
+ }
+ }
+
+ var buf bytes.Buffer
+ output(&buf, n)
+ return buf.String()
+}
+
+func outputXML(buf *bytes.Buffer, n *Node) {
+ if n.Type == TextNode || n.Type == CommentNode {
+ buf.WriteString(strings.TrimSpace(n.Data))
+ return
+ }
+ buf.WriteString("<" + n.Data)
+ for _, attr := range n.Attr {
+ if attr.Name.Space != "" {
+ buf.WriteString(fmt.Sprintf(` %s:%s="%s"`, attr.Name.Space, attr.Name.Local, attr.Value))
+ } else {
+ buf.WriteString(fmt.Sprintf(` %s="%s"`, attr.Name.Local, attr.Value))
+ }
+ }
+ buf.WriteString(">")
+ for child := n.FirstChild; child != nil; child = child.NextSibling {
+ outputXML(buf, child)
+ }
+ buf.WriteString(fmt.Sprintf("</%s>", n.Data))
+}
+
+// OutputXML returns the text that including tags name.
+func (n *Node) OutputXML(self bool) string {
+ var buf bytes.Buffer
+ if self {
+ outputXML(&buf, n)
+ } else {
+ for n := n.FirstChild; n != nil; n = n.NextSibling {
+ outputXML(&buf, n)
+ }
+ }
+
+ return buf.String()
+}
+
+func addAttr(n *Node, key, val string) {
+ var attr xml.Attr
+ if i := strings.Index(key, ":"); i > 0 {
+ attr = xml.Attr{
+ Name: xml.Name{Space: key[:i], Local: key[i+1:]},
+ Value: val,
+ }
+ } else {
+ attr = xml.Attr{
+ Name: xml.Name{Local: key},
+ Value: val,
+ }
+ }
+
+ n.Attr = append(n.Attr, attr)
+}
+
+func addChild(parent, n *Node) {
+ n.Parent = parent
+ if parent.FirstChild == nil {
+ parent.FirstChild = n
+ } else {
+ parent.LastChild.NextSibling = n
+ n.PrevSibling = parent.LastChild
+ }
+
+ parent.LastChild = n
+}
+
+func addSibling(sibling, n *Node) {
+ n.Parent = sibling.Parent
+ sibling.NextSibling = n
+ n.PrevSibling = sibling
+ if sibling.Parent != nil {
+ sibling.Parent.LastChild = n
+ }
+}
+
+// LoadURL loads the XML document from the specified URL.
+func LoadURL(url string) (*Node, error) {
+ resp, err := http.Get(url)
+ if err != nil {
+ return nil, err
+ }
+ defer resp.Body.Close()
+ return parse(resp.Body)
+}
+
+func parse(r io.Reader) (*Node, error) {
+ var (
+ decoder = xml.NewDecoder(r)
+ doc = &Node{Type: DocumentNode}
+ space2prefix = make(map[string]string)
+ level = 0
+ )
+ decoder.CharsetReader = charset.NewReaderLabel
+ prev := doc
+ for {
+ tok, err := decoder.Token()
+ switch {
+ case err == io.EOF:
+ goto quit
+ case err != nil:
+ return nil, err
+ }
+
+ switch tok := tok.(type) {
+ case xml.StartElement:
+ if level == 0 {
+ // mising XML declaration
+ node := &Node{Type: DeclarationNode, Data: "xml", level: 1}
+ addChild(prev, node)
+ level = 1
+ prev = node
+ }
+ node := &Node{
+ Type: ElementNode,
+ Data: tok.Name.Local,
+ Prefix: space2prefix[tok.Name.Space],
+ NamespaceURI: tok.Name.Space,
+ Attr: tok.Attr,
+ level: level,
+ }
+ for _, att := range tok.Attr {
+ if att.Name.Space == "xmlns" {
+ space2prefix[att.Value] = att.Name.Local
+ }
+ }
+ //fmt.Println(fmt.Sprintf("start > %s : %d", node.Data, level))
+ if level == prev.level {
+ addSibling(prev, node)
+ } else if level > prev.level {
+ addChild(prev, node)
+ } else if level < prev.level {
+ for i := prev.level - level; i > 1; i-- {
+ prev = prev.Parent
+ }
+ addSibling(prev.Parent, node)
+ }
+ prev = node
+ level++
+ case xml.EndElement:
+ level--
+ case xml.CharData:
+ node := &Node{Type: TextNode, Data: string(tok), level: level}
+ if level == prev.level {
+ addSibling(prev, node)
+ } else if level > prev.level {
+ addChild(prev, node)
+ }
+ case xml.Comment:
+ node := &Node{Type: CommentNode, Data: string(tok), level: level}
+ if level == prev.level {
+ addSibling(prev, node)
+ } else if level > prev.level {
+ addChild(prev, node)
+ }
+ case xml.ProcInst: // Processing Instruction
+ if prev.Type != DeclarationNode {
+ level++
+ }
+ node := &Node{Type: DeclarationNode, Data: tok.Target, level: level}
+ pairs := strings.Split(string(tok.Inst), " ")
+ for _, pair := range pairs {
+ pair = strings.TrimSpace(pair)
+ if i := strings.Index(pair, "="); i > 0 {
+ addAttr(node, pair[:i], strings.Trim(pair[i+1:], `"`))
+ }
+ }
+ if level == prev.level {
+ addSibling(prev, node)
+ } else if level > prev.level {
+ addChild(prev, node)
+ }
+ prev = node
+ case xml.Directive:
+ }
+
+ }
+quit:
+ return doc, nil
+}
+
+// Parse returns the parse tree for the XML from the given Reader.
+func Parse(r io.Reader) (*Node, error) {
+ return parse(r)
+}
+
+// ParseXML returns the parse tree for the XML from the given Reader.Deprecated.
+func ParseXML(r io.Reader) (*Node, error) {
+ return parse(r)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/query.go b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/query.go
new file mode 100644
index 00000000..7981c637
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/antchfx/xquery/xml/query.go
@@ -0,0 +1,230 @@
+/*
+Package xmlquery provides extract data from XML documents using XPath expression.
+*/
+package xmlquery
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/antchfx/xpath"
+)
+
+// SelectElements finds child elements with the specified name.
+func (n *Node) SelectElements(name string) []*Node {
+ return Find(n, name)
+}
+
+// SelectElement finds child elements with the specified name.
+func (n *Node) SelectElement(name string) *Node {
+ return FindOne(n, name)
+}
+
+// SelectAttr returns the attribute value with the specified name.
+func (n *Node) SelectAttr(name string) string {
+ var local, space string
+ local = name
+ if i := strings.Index(name, ":"); i > 0 {
+ space = name[:i]
+ local = name[i+1:]
+ }
+ for _, attr := range n.Attr {
+ if attr.Name.Local == local && attr.Name.Space == space {
+ return attr.Value
+ }
+ }
+ return ""
+}
+
+var _ xpath.NodeNavigator = &NodeNavigator{}
+
+// CreateXPathNavigator creates a new xpath.NodeNavigator for the specified html.Node.
+func CreateXPathNavigator(top *Node) *NodeNavigator {
+ return &NodeNavigator{curr: top, root: top, attr: -1}
+}
+
+// Find searches the Node that matches by the specified XPath expr.
+func Find(top *Node, expr string) []*Node {
+ exp, err := xpath.Compile(expr)
+ if err != nil {
+ panic(err)
+ }
+ t := exp.Select(CreateXPathNavigator(top))
+ var elems []*Node
+ for t.MoveNext() {
+ elems = append(elems, (t.Current().(*NodeNavigator)).curr)
+ }
+ return elems
+}
+
+// FindOne searches the Node that matches by the specified XPath expr,
+// and returns first element of matched.
+func FindOne(top *Node, expr string) *Node {
+ exp, err := xpath.Compile(expr)
+ if err != nil {
+ panic(err)
+ }
+ t := exp.Select(CreateXPathNavigator(top))
+ var elem *Node
+ if t.MoveNext() {
+ elem = (t.Current().(*NodeNavigator)).curr
+ }
+ return elem
+}
+
+// FindEach searches the html.Node and calls functions cb.
+func FindEach(top *Node, expr string, cb func(int, *Node)) {
+ exp, err := xpath.Compile(expr)
+ if err != nil {
+ panic(err)
+ }
+ t := exp.Select(CreateXPathNavigator(top))
+ var i int
+ for t.MoveNext() {
+ cb(i, (t.Current().(*NodeNavigator)).curr)
+ i++
+ }
+}
+
+type NodeNavigator struct {
+ root, curr *Node
+ attr int
+}
+
+func (x *NodeNavigator) Current() *Node {
+ return x.curr
+}
+
+func (x *NodeNavigator) NodeType() xpath.NodeType {
+ switch x.curr.Type {
+ case CommentNode:
+ return xpath.CommentNode
+ case TextNode:
+ return xpath.TextNode
+ case DeclarationNode, DocumentNode:
+ return xpath.RootNode
+ case ElementNode:
+ if x.attr != -1 {
+ return xpath.AttributeNode
+ }
+ return xpath.ElementNode
+ }
+ panic(fmt.Sprintf("unknown XML node type: %v", x.curr.Type))
+}
+
+func (x *NodeNavigator) LocalName() string {
+ if x.attr != -1 {
+ return x.curr.Attr[x.attr].Name.Local
+ }
+ return x.curr.Data
+
+}
+
+func (x *NodeNavigator) Prefix() string {
+ return x.curr.Prefix
+}
+
+func (x *NodeNavigator) Value() string {
+ switch x.curr.Type {
+ case CommentNode:
+ return x.curr.Data
+ case ElementNode:
+ if x.attr != -1 {
+ return x.curr.Attr[x.attr].Value
+ }
+ return x.curr.InnerText()
+ case TextNode:
+ return x.curr.Data
+ }
+ return ""
+}
+
+func (x *NodeNavigator) Copy() xpath.NodeNavigator {
+ n := *x
+ return &n
+}
+
+func (x *NodeNavigator) MoveToRoot() {
+ x.curr = x.root
+}
+
+func (x *NodeNavigator) MoveToParent() bool {
+ if x.attr != -1 {
+ x.attr = -1
+ return true
+ } else if node := x.curr.Parent; node != nil {
+ x.curr = node
+ return true
+ }
+ return false
+}
+
+func (x *NodeNavigator) MoveToNextAttribute() bool {
+ if x.attr >= len(x.curr.Attr)-1 {
+ return false
+ }
+ x.attr++
+ return true
+}
+
+func (x *NodeNavigator) MoveToChild() bool {
+ if x.attr != -1 {
+ return false
+ }
+ if node := x.curr.FirstChild; node != nil {
+ x.curr = node
+ return true
+ }
+ return false
+}
+
+func (x *NodeNavigator) MoveToFirst() bool {
+ if x.attr != -1 || x.curr.PrevSibling == nil {
+ return false
+ }
+ for {
+ node := x.curr.PrevSibling
+ if node == nil {
+ break
+ }
+ x.curr = node
+ }
+ return true
+}
+
+func (x *NodeNavigator) String() string {
+ return x.Value()
+}
+
+func (x *NodeNavigator) MoveToNext() bool {
+ if x.attr != -1 {
+ return false
+ }
+ if node := x.curr.NextSibling; node != nil {
+ x.curr = node
+ return true
+ }
+ return false
+}
+
+func (x *NodeNavigator) MoveToPrevious() bool {
+ if x.attr != -1 {
+ return false
+ }
+ if node := x.curr.PrevSibling; node != nil {
+ x.curr = node
+ return true
+ }
+ return false
+}
+
+func (x *NodeNavigator) MoveTo(other xpath.NodeNavigator) bool {
+ node, ok := other.(*NodeNavigator)
+ if !ok || node.root != x.root {
+ return false
+ }
+
+ x.curr = node.curr
+ x.attr = node.attr
+ return true
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md
index ed418aa1..b52655b6 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG.md
@@ -1,3 +1,926 @@
+Release v1.10.23 (2017-08-10)
+===
+
+### Service Client Updates
+* `service/clouddirectory`: Updates service API and documentation
+ * Enable BatchDetachPolicy
+* `service/codebuild`: Updates service API
+ * Supporting Bitbucket as source type in AWS CodeBuild.
+
+Release v1.10.22 (2017-08-09)
+===
+
+### Service Client Updates
+* `service/rds`: Updates service documentation
+ * Documentation updates for RDS.
+
+Release v1.10.21 (2017-08-09)
+===
+
+### Service Client Updates
+* `service/elasticbeanstalk`: Updates service API and documentation
+ * Add support for paginating the result of DescribeEnvironments Include the ARN of described environments in DescribeEnvironments output
+
+### SDK Enhancements
+* `aws`: Add pointer conversion utilities to transform int64 to time.Time [#1433](https://github.com/aws/aws-sdk-go/pull/1433)
+ * Adds `SecondsTimeValue` and `MillisecondsTimeValue` utilities.
+
+Release v1.10.20 (2017-08-01)
+===
+
+### Service Client Updates
+* `service/codedeploy`: Updates service API and documentation
+ * AWS CodeDeploy now supports the use of multiple tag groups in a single deployment group (an intersection of tags) to identify the instances for a deployment. When you create or update a deployment group, use the new ec2TagSet and onPremisesTagSet structures to specify up to three groups of tags. Only instances that are identified by at least one tag in each of the tag groups are included in the deployment group.
+* `service/config`: Updates service API and documentation
+* `service/ec2`: Updates service waiters
+ * Ec2 SpotInstanceRequestFulfilled waiter update
+* `service/elasticloadbalancingv2`: Updates service waiters
+* `service/email`: Updates service API, documentation, paginators, and examples
+ * This update adds information about publishing email open and click events. This update also adds information about publishing email events to Amazon Simple Notification Service (Amazon SNS).
+* `service/pinpoint`: Updates service API and documentation
+ * This release of the Pinpoint SDK enables App management - create, delete, update operations, Raw Content delivery for APNs and GCM campaign messages and From Address override.
+
+Release v1.10.19 (2017-08-01)
+===
+
+### Service Client Updates
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/inspector`: Updates service API, documentation, and paginators
+ * Inspector's StopAssessmentRun API has been updated with a new input option - stopAction. This request parameter can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value, and the previous behavior) stops the AWS agent data collection and begins the results evaluation for findings generation based on the data collected so far. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated.
+* `service/ssm`: Updates service API and documentation
+ * Adds a SendAutomationSignal API to SSM Service. This API is used to send a signal to an automation execution to change the current behavior or status of the execution.
+
+Release v1.10.18 (2017-07-27)
+===
+
+### Service Client Updates
+* `service/ec2`: Updates service API and documentation
+ * The CreateDefaultVPC API enables you to create a new default VPC . You no longer need to contact AWS support, if your default VPC has been deleted.
+* `service/kinesisanalytics`: Updates service API and documentation
+ * Added additional exception types and clarified documentation.
+
+Release v1.10.17 (2017-07-27)
+===
+
+### Service Client Updates
+* `service/dynamodb`: Updates service documentation and examples
+ * Corrected a typo.
+* `service/ec2`: Updates service API and documentation
+ * Amazon EC2 Elastic GPUs allow you to easily attach low-cost graphics acceleration to current generation EC2 instances. With Amazon EC2 Elastic GPUs, you can configure the right amount of graphics acceleration to your particular workload without being constrained by fixed hardware configurations and limited GPU selection.
+* `service/monitoring`: Updates service documentation
+ * This release adds high resolution features to CloudWatch, with support for Custom Metrics down to 1 second and Alarms down to 10 seconds.
+
+Release v1.10.16 (2017-07-26)
+===
+
+### Service Client Updates
+* `service/clouddirectory`: Updates service API and documentation
+ * Cloud Directory adds support for additional batch operations.
+* `service/cloudformation`: Updates service API and documentation
+ * AWS CloudFormation StackSets enables you to manage stacks across multiple accounts and regions.
+
+### SDK Enhancements
+* `aws/signer/v4`: Optimize V4 signer's header duplicate space stripping. [#1417](https://github.com/aws/aws-sdk-go/pull/1417)
+
+Release v1.10.15 (2017-07-24)
+===
+
+### Service Client Updates
+* `service/appstream`: Updates service API, documentation, and waiters
+ * Amazon AppStream 2.0 image builders and fleets can now access applications and network resources that rely on Microsoft Active Directory (AD) for authentication and permissions. This new feature allows you to join your streaming instances to your AD, so you can use your existing AD user management tools.
+* `service/ec2`: Updates service API and documentation
+ * Spot Fleet tagging capability allows customers to automatically tag instances launched by Spot Fleet. You can use this feature to label or distinguish instances created by distinct Spot Fleets. Tagging your EC2 instances also enables you to see instance cost allocation by tag in your AWS bill.
+
+### SDK Bugs
+* `aws/signer/v4`: Fix out of bounds panic in stripExcessSpaces [#1412](https://github.com/aws/aws-sdk-go/pull/1412)
+ * Fixes the out of bands panic in stripExcessSpaces caused by an incorrect calculation of the stripToIdx value. Simplified to code also.
+ * Fixes [#1411](https://github.com/aws/aws-sdk-go/issues/1411)
+Release v1.10.14 (2017-07-20)
+===
+
+### Service Client Updates
+* `service/elasticmapreduce`: Updates service API and documentation
+ * Amazon EMR now includes the ability to use a custom Amazon Linux AMI and adjustable root volume size when launching a cluster.
+
+Release v1.10.13 (2017-07-19)
+===
+
+### Service Client Updates
+* `service/budgets`: Updates service API and documentation
+ * Update budget Management API's to list/create/update RI_UTILIZATION type budget. Update budget Management API's to support DAILY timeUnit for RI_UTILIZATION type budget.
+
+### SDK Enhancements
+* `service/s3`: Use interfaces assertions instead of ValuesAtPath for S3 field lookups. [#1401](https://github.com/aws/aws-sdk-go/pull/1401)
+ * Improves the performance across the board for all S3 API calls by removing the usage of `ValuesAtPath` being used for every S3 API call.
+
+### SDK Bugs
+* `aws/request`: waiter test bug
+ * waiters_test.go file would sometimes fail due to travis hiccups. This occurs because a test would sometimes fail the cancel check and succeed the timeout. However, the timeout check should never occur in that test. This fix introduces a new field that dictates how waiters will sleep.
+Release v1.10.12 (2017-07-17)
+===
+
+### Service Client Updates
+* `service/cognito-idp`: Updates service API and documentation
+* `service/lambda`: Updates service API and documentation
+ * Lambda@Edge lets you run code closer to your end users without provisioning or managing servers. With Lambda@Edge, your code runs in AWS edge locations, allowing you to respond to your end users at the lowest latency. Your code is triggered by Amazon CloudFront events, such as requests to and from origin servers and viewers, and it is ready to execute at every AWS edge location whenever a request for content is received. You just upload your Node.js code to AWS Lambda and Lambda takes care of everything required to run and scale your code with high availability. You only pay for the compute time you consume - there is no charge when your code is not running.
+
+Release v1.10.11 (2017-07-14)
+===
+
+### Service Client Updates
+* `service/discovery`: Updates service API and documentation
+ * Adding feature to the Export API for Discovery Service to allow filters for the export task to allow export based on per agent id.
+* `service/ec2`: Updates service API
+ * New EC2 GPU Graphics instance
+* `service/marketplacecommerceanalytics`: Updates service documentation
+ * Update to Documentation Model For New Report Cadence / Reformat of Docs
+
+Release v1.10.10 (2017-07-13)
+===
+
+### Service Client Updates
+* `service/apigateway`: Updates service API and documentation
+ * Adds support for management of gateway responses.
+* `service/ec2`: Updates service API and documentation
+ * X-ENI (or Cross-Account ENI) is a new feature that allows the attachment or association of Elastic Network Interfaces (ENI) between VPCs in different AWS accounts located in the same availability zone. With this new capability, service providers and partners can deliver managed solutions in a variety of new architectural patterns where the provider and consumer of the service are in different AWS accounts.
+* `service/lex-models`: Updates service documentation
+
+Release v1.10.9 (2017-07-12)
+===
+
+### Service Client Updates
+* `service/autoscaling`: Updates service API and documentation
+ * Auto Scaling now supports a new type of scaling policy called target tracking scaling policies that you can use to set up dynamic scaling for your application.
+* `service/swf`: Updates service API, documentation, paginators, and examples
+ * Added support for attaching control data to Lambda tasks. Control data lets you attach arbitrary strings to your decisions and history events.
+
+Release v1.10.8 (2017-07-06)
+===
+
+### Service Client Updates
+* `service/ds`: Updates service API, documentation, and paginators
+ * You can now improve the resilience and performance of your Microsoft AD directory by deploying additional domain controllers. Added UpdateNumberofDomainControllers API that allows you to update the number of domain controllers you want for your directory, and DescribeDomainControllers API that allows you to describe the detailed information of each domain controller of your directory. Also added the 'DesiredNumberOfDomainControllers' field to the DescribeDirectories API output for Microsoft AD.
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/kinesis`: Updates service API and documentation
+ * You can now encrypt your data at rest within an Amazon Kinesis Stream using server-side encryption. Server-side encryption via AWS KMS makes it easy for customers to meet strict data management requirements by encrypting their data at rest within the Amazon Kinesis Streams, a fully managed real-time data processing service.
+* `service/kms`: Updates service API and documentation
+ * This release of AWS Key Management Service introduces the ability to determine whether a key is AWS managed or customer managed.
+* `service/ssm`: Updates service API and documentation
+ * Amazon EC2 Systems Manager now expands Patching support to Amazon Linux, Red Hat and Ubuntu in addition to the already supported Windows Server.
+
+Release v1.10.7 (2017-07-05)
+===
+
+### Service Client Updates
+* `service/monitoring`: Updates service API and documentation
+ * We are excited to announce the availability of APIs and CloudFormation support for CloudWatch Dashboards. You can use the new dashboard APIs or CloudFormation templates to dynamically build and maintain dashboards to monitor your infrastructure and applications. There are four new dashboard APIs - PutDashboard, GetDashboard, DeleteDashboards, and ListDashboards APIs. PutDashboard is used to create a new dashboard or modify an existing one whereas GetDashboard is the API to get the details of a specific dashboard. ListDashboards and DeleteDashboards are used to get the names or delete multiple dashboards respectively. Getting started with dashboard APIs is similar to any other AWS APIs. The APIs can be accessed through AWS SDK or through CLI tools.
+* `service/route53`: Updates service API and documentation
+ * Bug fix for InvalidChangeBatch exception.
+
+### SDK Enhancements
+* `service/s3/s3manager`: adding cleanup function to batch objects [#1375](https://github.com/aws/aws-sdk-go/issues/1375)
+ * This enhancement will add an After field that will be called after each iteration of the batch operation.
+
+Release v1.10.6 (2017-06-30)
+===
+
+### Service Client Updates
+* `service/marketplacecommerceanalytics`: Updates service documentation
+ * Documentation updates for AWS Marketplace Commerce Analytics.
+* `service/s3`: Updates service API and documentation
+ * API Update for S3: Adding Object Tagging Header to MultipartUpload Initialization
+
+Release v1.10.5 (2017-06-29)
+===
+
+### Service Client Updates
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/events`: Updates service API and documentation
+ * CloudWatch Events now allows different AWS accounts to share events with each other through a new resource called event bus. Event buses accept events from AWS services, other AWS accounts and PutEvents API calls. Currently all AWS accounts have one default event bus. To send events to another account, customers simply write rules to match the events of interest and attach an event bus in the receiving account as the target to the rule. The PutTargets API has been updated to allow adding cross account event buses as targets. In addition, we have released two new APIs - PutPermission and RemovePermission - that enables customers to add/remove permissions to their default event bus.
+* `service/gamelift`: Updates service API and documentation
+ * Allow developers to download GameLift fleet creation logs to assist with debugging.
+* `service/ssm`: Updates service API and documentation
+ * Adding Resource Data Sync support to SSM Inventory. New APIs: * CreateResourceDataSync - creates a new resource data sync configuration, * ListResourceDataSync - lists existing resource data sync configurations, * DeleteResourceDataSync - deletes an existing resource data sync configuration.
+
+Release v1.10.4 (2017-06-27)
+===
+
+### Service Client Updates
+* `service/servicecatalog`: Updates service API, documentation, and paginators
+ * Proper tagging of resources is critical to post-launch operations such as billing, cost allocation, and resource management. By using Service Catalog's TagOption Library, administrators can define a library of re-usable TagOptions that conform to company standards, and associate these with Service Catalog portfolios and products. Learn how to move your current tags to the new library, create new TagOptions, and view and associate your library items with portfolios and products. Understand how to ensure that the right tags are created on products launched through Service Catalog and how to provide users with defined selectable tags.
+
+### SDK Bugs
+* `aws/signer/v4`: checking length on `stripExcessSpaces` [#1372](https://github.com/aws/aws-sdk-go/issues/1372)
+ * Fixes a bug where `stripExcessSpaces` did not check length against the slice.
+ * Fixes: [#1371](https://github.com/aws/aws-sdk-go/issues/1371)
+Release v1.10.3 (2017-06-23)
+===
+
+### Service Client Updates
+* `service/lambda`: Updates service API and documentation
+ * The Lambda Invoke API will now throw new exception InvalidRuntimeException (status code 502) for invokes with deprecated runtimes.
+
+Release v1.10.2 (2017-06-22)
+===
+
+### Service Client Updates
+* `service/codepipeline`: Updates service API, documentation, and paginators
+ * A new API, ListPipelineExecutions, enables you to retrieve summary information about the most recent executions in a pipeline, including pipeline execution ID, status, start time, and last updated time. You can request information for a maximum of 100 executions. Pipeline execution data is available for the most recent 12 months of activity.
+* `service/dms`: Updates service API and documentation
+ * Added tagging for DMS certificates.
+* `service/elasticloadbalancing`: Updates service waiters
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/lightsail`: Updates service API and documentation
+ * This release adds a new nextPageToken property to the result of the GetOperationsForResource API. Developers can now get the next set of items in a list by making subsequent calls to GetOperationsForResource API with the token from the previous call. This release also deprecates the nextPageCount property, which previously returned null (use the nextPageToken property instead). This release also deprecates the customImageName property on the CreateInstancesRequest class, which was previously ignored by the API.
+* `service/route53`: Updates service API and documentation
+ * This release reintroduces the HealthCheckInUse exception.
+
+Release v1.10.1 (2017-06-21)
+===
+
+### Service Client Updates
+* `service/dax`: Adds new service
+ * Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement - from milliseconds to microseconds - even at millions of requests per second. DAX does all the heavy lifting required to add in-memory acceleration to your DynamoDB tables, without requiring developers to manage cache invalidation, data population, or cluster management.
+* `service/route53`: Updates service API and documentation
+ * Amazon Route 53 now supports multivalue answers in response to DNS queries, which lets you route traffic approximately randomly to multiple resources, such as web servers. Create one multivalue answer record for each resource and, optionally, associate an Amazon Route 53 health check with each record, and Amazon Route 53 responds to DNS queries with up to eight healthy records.
+* `service/ssm`: Updates service API, documentation, and paginators
+ * Adding hierarchy support to the SSM Parameter Store API. Added support tor tagging. New APIs: GetParameter - retrieves one parameter, DeleteParameters - deletes multiple parameters (max number 10), GetParametersByPath - retrieves parameters located in the hierarchy. Updated APIs: PutParameter - added ability to enforce parameter value by applying regex (AllowedPattern), DescribeParameters - modified to support Tag filtering.
+* `service/waf`: Updates service API and documentation
+ * You can now create, edit, update, and delete a new type of WAF rule with a rate tracking component.
+* `service/waf-regional`: Updates service API and documentation
+
+Release v1.10.0 (2017-06-20)
+===
+
+### Service Client Updates
+* `service/workdocs`: Updates service API and documentation
+ * This release provides a new API to retrieve the activities performed by WorkDocs users.
+
+### SDK Features
+* `aws/credentials/plugincreds`: Add support for Go plugin for credentials [#1320](https://github.com/aws/aws-sdk-go/pull/1320)
+ * Adds support for using plugins to retrieve credentials for API requests. This change adds a new package plugincreds under aws/credentials. See the `example/aws/credentials/plugincreds` folder in the SDK for example usage.
+
+Release v1.9.00 (2017-06-19)
+===
+
+### Service Client Updates
+* `service/organizations`: Updates service API and documentation
+ * Improvements to Exception Modeling
+
+### SDK Features
+* `service/s3/s3manager`: Adds batch operations to s3manager [#1333](https://github.com/aws/aws-sdk-go/pull/1333)
+ * Allows for batch upload, download, and delete of objects. Also adds the interface pattern to allow for easy traversal of objects. E.G `DownloadWithIterator`, `UploadWithIterator`, and `BatchDelete`. `BatchDelete` also contains a utility iterator using the `ListObjects` API to easily delete a list of objects.
+
+Release v1.8.44 (2017-06-16)
+===
+
+### Service Client Updates
+* `service/xray`: Updates service API, documentation, and paginators
+ * Add a response time histogram to the services in response of GetServiceGraph API.
+
+Release v1.8.43 (2017-06-15)
+===
+
+### Service Client Updates
+* `service/ec2`: Updates service API and documentation
+ * Adds API to describe Amazon FPGA Images (AFIs) available to customers, which includes public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.
+* `service/ecs`: Updates service API and documentation
+ * Added support for cpu, memory, and memory reservation container overrides on the RunTask and StartTask APIs.
+* `service/iot`: Updates service API and documentation
+ * Revert the last release: remove CertificatePem from DescribeCertificate API.
+* `service/servicecatalog`: Updates service API, documentation, and paginators
+ * Added ProvisioningArtifactSummaries to DescribeProductAsAdmin's output to show the provisioning artifacts belong to the product. Allow filtering by SourceProductId in SearchProductsAsAdmin for AWS Marketplace products. Added a verbose option to DescribeProvisioningArtifact to display the CloudFormation template used to create the provisioning artifact.Added DescribeProvisionedProduct API. Changed the type of ProvisionedProduct's Status to be distinct from Record's Status. New ProvisionedProduct's Status are AVAILABLE, UNDER_CHANGE, TAINTED, ERROR. Changed Record's Status set of values to CREATED, IN_PROGRESS, IN_PROGRESS_IN_ERROR, SUCCEEDED, FAILED.
+
+### SDK Bugs
+* `private/model/api`: Fix RESTXML support for XML Namespace [#1343](https://github.com/aws/aws-sdk-go/pull/1343)
+ * Fixes a bug with the SDK's generation of services using the REST XML protocol not annotating shape references with the XML Namespace attribute.
+ * Fixes [#1334](https://github.com/aws/aws-sdk-go/pull/1334)
+Release v1.8.42 (2017-06-14)
+===
+
+### Service Client Updates
+* `service/applicationautoscaling`: Updates service API and documentation
+* `service/clouddirectory`: Updates service documentation
+ * Documentation update for Cloud Directory
+
+Release v1.8.41 (2017-06-13)
+===
+
+### Service Client Updates
+* `service/configservice`: Updates service API
+
+Release v1.8.40 (2017-06-13)
+===
+
+### Service Client Updates
+* `service/rds`: Updates service API and documentation
+ * API Update for RDS: this update enables copy-on-write, a new Aurora MySQL Compatible Edition feature that allows users to restore their database, and support copy of TDE enabled snapshot cross region.
+
+### SDK Bugs
+* `aws/request`: Fix NewErrParamMinLen to use correct ParamMinLenErrCode [#1336](https://github.com/aws/aws-sdk-go/issues/1336)
+ * Fixes the `NewErrParamMinLen` function returning the wrong error code. `ParamMinLenErrCode` should be returned not `ParamMinValueErrCode`.
+ * Fixes [#1335](https://github.com/aws/aws-sdk-go/issues/1335)
+Release v1.8.39 (2017-06-09)
+===
+
+### Service Client Updates
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/opsworks`: Updates service API and documentation
+ * Tagging Support for AWS OpsWorks Stacks
+
+Release v1.8.38 (2017-06-08)
+===
+
+### Service Client Updates
+* `service/iot`: Updates service API and documentation
+ * In addition to using certificate ID, AWS IoT customers can now obtain the description of a certificate with the certificate PEM.
+* `service/pinpoint`: Updates service API and documentation
+ * Starting today Amazon Pinpoint adds SMS Text and Email Messaging support in addition to Mobile Push Notifications, providing developers, product managers and marketers with multi-channel messaging capabilities to drive user engagement in their applications. Pinpoint also enables backend services and applications to message users directly and provides advanced user and app analytics to understand user behavior and messaging performance.
+* `service/rekognition`: Updates service API and documentation
+ * API Update for AmazonRekognition: Adding RecognizeCelebrities API
+
+Release v1.8.37 (2017-06-07)
+===
+
+### Service Client Updates
+* `service/codebuild`: Updates service API and documentation
+ * Add support to APIs for privileged containers. This change would allow performing privileged operations like starting the Docker daemon inside builds possible in custom docker images.
+* `service/greengrass`: Adds new service
+ * AWS Greengrass is software that lets you run local compute, messaging, and device state synchronization for connected devices in a secure way. With AWS Greengrass, connected devices can run AWS Lambda functions, keep device data in sync, and communicate with other devices securely even when not connected to the Internet. Using AWS Lambda, Greengrass ensures your IoT devices can respond quickly to local events, operate with intermittent connections, and minimize the cost of transmitting IoT data to the cloud.
+
+Release v1.8.36 (2017-06-06)
+===
+
+### Service Client Updates
+* `service/acm`: Updates service documentation
+ * Documentation update for AWS Certificate Manager.
+* `service/cloudfront`: Updates service documentation
+ * Doc update to fix incorrect prefix in S3OriginConfig
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/iot`: Updates service API
+ * Update client side validation for SalesForce action.
+
+Release v1.8.35 (2017-06-05)
+===
+
+### Service Client Updates
+* `service/appstream`: Updates service API and documentation
+ * AppStream 2.0 Custom Security Groups allows you to easily control what network resources your streaming instances and images have access to. You can assign up to 5 security groups per Fleet to control the inbound and outbound network access to your streaming instances to specific IP ranges, network protocols, or ports.
+* `service/iot`: Updates service API, documentation, paginators, and examples
+ * Added Salesforce action to IoT Rules Engine.
+
+Release v1.8.34 (2017-06-02)
+===
+
+### Service Client Updates
+* `service/kinesisanalytics`: Updates service API, documentation, and paginators
+ * Kinesis Analytics publishes error messages CloudWatch logs in case of application misconfigurations
+* `service/workdocs`: Updates service API and documentation
+ * This release includes new APIs to manage tags and custom metadata on resources and also new APIs to add and retrieve comments at the document level.
+
+Release v1.8.33 (2017-06-01)
+===
+
+### Service Client Updates
+* `service/codedeploy`: Updates service API and documentation
+ * AWS CodeDeploy has improved how it manages connections to GitHub accounts and repositories. You can now create and store up to 25 connections to GitHub accounts in order to associate AWS CodeDeploy applications with GitHub repositories. Each connection can support multiple repositories. You can create connections to up to 25 different GitHub accounts, or create more than one connection to a single account. The ListGitHubAccountTokenNames command has been introduced to retrieve the names of stored connections to GitHub accounts that you have created. The name of the connection to GitHub used for an AWS CodeDeploy application is also included in the ApplicationInfo structure. Two new fields, lastAttemptedDeployment and lastSuccessfulDeployment, have been added to DeploymentGroupInfo to improve the handling of deployment group information in the AWS CodeDeploy console. Information about these latest deployments can also be retrieved using the GetDeploymentGroup and BatchGetDeployment group requests. Also includes a region update (us-gov-west-1).
+* `service/cognitoidentityprovider`: Updates service API, documentation, and paginators
+* `service/elbv2`: Updates service API and documentation
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/lexmodelbuildingservice`: Updates service documentation and examples
+
+### SDK Enhancements
+* `aws/defaults`: Exports shared credentials and config default filenames used by the SDK. [#1308](https://github.com/aws/aws-sdk-go/pull/1308)
+ * Adds SharedCredentialsFilename and SharedConfigFilename functions to defaults package.
+
+### SDK Bugs
+* `aws/credentials`: Fixes shared credential provider's default filename on Windows. [#1308](https://github.com/aws/aws-sdk-go/pull/1308)
+ * The shared credentials provider would attempt to use the wrong filename on Windows if the `HOME` environment variable was defined.
+* `service/s3/s3manager`: service/s3/s3manager: Fix Downloader ignoring Range get parameter [#1311](https://github.com/aws/aws-sdk-go/pull/1311)
+ * Fixes the S3 Download Manager ignoring the GetObjectInput's Range parameter. If this parameter is provided it will force the downloader to fallback to a single GetObject request disabling concurrency and automatic part size gets.
+ * Fixes [#1296](https://github.com/aws/aws-sdk-go/issues/1296)
+Release v1.8.32 (2017-05-31)
+===
+
+### Service Client Updates
+* `service/rds`: Updates service API and documentation
+ * Amazon RDS customers can now easily and quickly stop and start their DB instances.
+
+Release v1.8.31 (2017-05-30)
+===
+
+### Service Client Updates
+* `service/clouddirectory`: Updates service API, documentation, and paginators
+ * Cloud Directory has launched support for Typed Links, enabling customers to create object-to-object relationships that are not hierarchical in nature. Typed Links enable customers to quickly query for data along these relationships. Customers can also enforce referential integrity using Typed Links, ensuring data in use is not inadvertently deleted.
+* `service/s3`: Updates service paginators and examples
+ * New example snippets for Amazon S3.
+
+Release v1.8.30 (2017-05-25)
+===
+
+### Service Client Updates
+* `service/appstream`: Updates service API and documentation
+ * Support added for persistent user storage, backed by S3.
+* `service/rekognition`: Updates service API and documentation
+ * Updated the CompareFaces API response to include orientation information, unmatched faces, landmarks, pose, and quality of the compared faces.
+
+Release v1.8.29 (2017-05-24)
+===
+
+### Service Client Updates
+* `service/iam`: Updates service API
+ * The unique ID and access key lengths were extended from 32 to 128
+* `service/storagegateway`: Updates service API and documentation
+ * Two Storage Gateway data types, Tape and TapeArchive, each have a new response element, TapeUsedInBytes. This element helps you manage your virtual tapes. By using TapeUsedInBytes, you can see the amount of data written to each virtual tape.
+* `service/sts`: Updates service API, documentation, and paginators
+ * The unique ID and access key lengths were extended from 32 to 128.
+
+Release v1.8.28 (2017-05-23)
+===
+
+### Service Client Updates
+* `service/databasemigrationservice`: Updates service API, documentation, paginators, and examples
+ * This release adds support for using Amazon S3 and Amazon DynamoDB as targets for database migration, and using MongoDB as a source for database migration. For more information, see the AWS Database Migration Service documentation.
+
+Release v1.8.27 (2017-05-22)
+===
+
+### Service Client Updates
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/resourcegroupstaggingapi`: Updates service API, documentation, and paginators
+ * You can now specify the number of resources returned per page in GetResources operation, as an optional parameter, to easily manage the list of resources returned by your queries.
+
+### SDK Bugs
+* `aws/request`: Add support for PUT temporary redirects (307) [#1283](https://github.com/aws/aws-sdk-go/issues/1283)
+ * Adds support for Go 1.8's GetBody function allowing the SDK's http request using PUT and POST methods to be redirected with temporary redirects with 307 status code.
+ * Fixes: [#1267](https://github.com/aws/aws-sdk-go/issues/1267)
+* `aws/request`: Add handling for retrying temporary errors during unmarshal [#1289](https://github.com/aws/aws-sdk-go/issues/1289)
+ * Adds support for retrying temporary errors that occur during unmarshaling of a request's response body.
+ * Fixes: [#1275](https://github.com/aws/aws-sdk-go/issues/1275)
+Release v1.8.26 (2017-05-18)
+===
+
+### Service Client Updates
+* `service/athena`: Adds new service
+ * This release adds support for Amazon Athena. Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run.
+* `service/lightsail`: Updates service API, documentation, and paginators
+ * This release adds new APIs that make it easier to set network port configurations on Lightsail instances. Developers can now make a single request to both open and close public ports on an instance using the PutInstancePublicPorts operation.
+
+### SDK Bugs
+* `aws/request`: Fix logging from reporting wrong retry request errors #1281
+ * Fixes the SDK's retry request logging to report the the actual error that occurred, not a stubbed Unknown error message.
+ * Fixes the SDK's response logger to not output the response log multiple times per retry.
+Release v1.8.25 (2017-05-17)
+===
+
+### Service Client Updates
+* `service/autoscaling`: Updates service documentation, paginators, and examples
+ * Various Auto Scaling documentation updates
+* `service/cloudwatchevents`: Updates service documentation
+ * Various CloudWatch Events documentation updates.
+* `service/cloudwatchlogs`: Updates service documentation and paginators
+ * Various CloudWatch Logs documentation updates.
+* `service/polly`: Updates service API
+ * Amazon Polly adds new German voice "Vicki"
+
+Release v1.8.24 (2017-05-16)
+===
+
+### Service Client Updates
+* `service/codedeploy`: Updates service API and documentation
+ * This release introduces the previousRevision field in the responses to the GetDeployment and BatchGetDeployments actions. previousRevision provides information about the application revision that was deployed to the deployment group before the most recent successful deployment. Also, the fileExistsBehavior parameter has been added for CreateDeployment action requests. In the past, if the AWS CodeDeploy agent detected files in a target location that weren't part of the application revision from the most recent successful deployment, it would fail the current deployment by default. This new parameter provides options for how the agent handles these files: fail the deployment, retain the content, or overwrite the content.
+* `service/gamelift`: Updates service API and documentation
+ * Allow developers to specify how metrics are grouped in CloudWatch for their GameLift fleets. Developers can also specify how many concurrent game sessions activate on a per-instance basis.
+* `service/inspector`: Updates service API, documentation, paginators, and examples
+ * Adds ability to produce an assessment report that includes detailed and comprehensive results of a specified assessment run.
+* `service/kms`: Updates service documentation
+ * Update documentation for KMS.
+
+Release v1.8.23 (2017-05-15)
+===
+
+### Service Client Updates
+* `service/ssm`: Updates service API and documentation
+ * UpdateAssociation API now supports updating document name and targets of an association. GetAutomationExecution API can return FailureDetails as an optional field to the StepExecution Object, which contains failure type, failure stage as well as other failure related information for a failed step.
+
+### SDK Enhancements
+* `aws/session`: SDK should be able to load multiple custom shared config files. [#1258](https://github.com/aws/aws-sdk-go/issues/1258)
+ * This change adds a `SharedConfigFiles` field to the `session.Options` type that allows you to specify the files, and their order, the SDK will use for loading shared configuration and credentials from when the `Session` is created. Use the `NewSessionWithOptions` Session constructor to specify these options. You'll also most likely want to enable support for the shared configuration file's additional attributes by setting `session.Option`'s `SharedConfigState` to `session.SharedConfigEnabled`.
+
+Release v1.8.22 (2017-05-11)
+===
+
+### Service Client Updates
+* `service/elb`: Updates service API, documentation, and paginators
+* `service/elbv2`: Updates service API and documentation
+* `service/lexmodelbuildingservice`: Updates service API and documentation
+* `service/organizations`: Updates service API, documentation, paginators, and examples
+ * AWS Organizations APIs that return an Account object now include the email address associated with the account’s root user.
+
+Release v1.8.21 (2017-05-09)
+===
+
+### Service Client Updates
+* `service/codestar`: Updates service documentation
+ * Updated documentation for AWS CodeStar.
+* `service/workspaces`: Updates service API, documentation, and paginators
+ * Doc-only Update for WorkSpaces
+
+Release v1.8.20 (2017-05-04)
+===
+
+### Service Client Updates
+* `service/ecs`: Updates service API, documentation, and paginators
+ * Exposes container instance registration time in ECS:DescribeContainerInstances.
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/marketplaceentitlementservice`: Adds new service
+* `service/lambda`: Updates service API and documentation
+ * Support for UpdateFunctionCode DryRun option
+
+Release v1.8.19 (2017-04-28)
+===
+
+### Service Client Updates
+* `service/cloudformation`: Updates service waiters and paginators
+ * Adding back the removed waiters and paginators.
+
+Release v1.8.18 (2017-04-28)
+===
+
+### Service Client Updates
+* `service/cloudformation`: Updates service API, documentation, waiters, paginators, and examples
+ * API update for CloudFormation: New optional parameter ClientRequestToken which can be used as an idempotency token to safely retry certain operations as well as tagging StackEvents.
+* `service/rds`: Updates service API, documentation, and examples
+ * The DescribeDBClusterSnapshots API now returns a SourceDBClusterSnapshotArn field which identifies the source DB cluster snapshot of a copied snapshot.
+* `service/rekognition`: Updates service API
+ * Fix for missing file type check
+* `service/snowball`: Updates service API, documentation, and paginators
+ * The Snowball API has a new exception that can be thrown for list operation requests.
+* `service/sqs`: Updates service API, documentation, and paginators
+ * Adding server-side encryption (SSE) support to SQS by integrating with AWS KMS; adding new queue attributes to SQS CreateQueue, SetQueueAttributes and GetQueueAttributes APIs to support SSE.
+
+Release v1.8.17 (2017-04-26)
+===
+
+### Service Client Updates
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/rds`: Updates service API and documentation
+ * With Amazon Relational Database Service (Amazon RDS) running MySQL or Amazon Aurora, you can now authenticate to your DB instance using IAM database authentication.
+
+Release v1.8.16 (2017-04-21)
+===
+
+### Service Client Updates
+* `service/appstream`: Updates service API, documentation, and paginators
+ * The new feature named "Default Internet Access" will enable Internet access from AppStream 2.0 instances - image builders and fleet instances. Admins will check a flag either through AWS management console for AppStream 2.0 or through API while creating an image builder or while creating/updating a fleet.
+* `service/kinesis`: Updates service API, documentation, waiters, and paginators
+ * Adds a new waiter, StreamNotExists, to Kinesis.
+
+### SDK Enhancements
+* `aws/endpoints`: Add utilities improving endpoints lookup (#1218)
+ * Adds several utilities to the endpoints packages to make looking up partitions, regions, and services easier.
+ * Fixes #994
+
+### SDK Bugs
+* `private/protocol/xml/xmlutil`: Fix unmarshaling dropping errors (#1219)
+ * The XML unmarshaler would drop any serialization or body read error that occurred on the floor effectively hiding any errors that would occur.
+ * Fixes #1205
+Release v1.8.15 (2017-04-20)
+===
+
+### Service Client Updates
+* `service/devicefarm`: Updates service API and documentation
+ * API Update for AWS Device Farm: Support for Deals and Promotions
+* `service/directconnect`: Updates service documentation
+ * Documentation updates for AWS Direct Connect.
+* `service/elbv2`: Updates service waiters
+* `service/kms`: Updates service documentation and examples
+ * Doc-only update for Key Management Service (KMS): Update docs for GrantConstraints and GenerateRandom
+* `service/route53`: Updates service documentation
+ * Release notes: SDK documentation now includes examples for ChangeResourceRecordSets for all types of resource record set, such as weighted, alias, and failover.
+* `service/route53domains`: Updates service API, documentation, and paginators
+ * Adding examples and other documentation updates.
+
+### SDK Enhancements
+* `service/s3`: Add utilities to make getting a bucket's region easier (#1207)
+ * Adds two features which make it easier to get a bucket's region, `s3.NormalizeBucketLocation` and `s3manager.GetBucketRegion`.
+
+### SDK Bugs
+* `service/s3`: Fix HeadObject's incorrect documented error codes (#1213)
+ * The HeadObject's model incorrectly states that the operation can return the NoSuchKey error code.
+ * Fixes #1208
+
+Release v1.8.14 (2017-04-19)
+===
+
+### Service Client Updates
+* `service/apigateway`: Updates service API and documentation
+ * Add support for "embed" property.
+* `service/codestar`: Adds new service
+ * AWS CodeStar is a cloud-based service for creating, managing, and working with software development projects on AWS. An AWS CodeStar project creates and integrates AWS services for your project development toolchain. AWS CodeStar also manages the permissions required for project users.
+* `service/ec2`: Updates service API and documentation
+ * Adds support for creating an Amazon FPGA Image (AFI) from a specified design checkpoint (DCP).
+* `service/iam`: Updates service API and documentation
+ * This changes introduces a new IAM role type, Service Linked Role, which works like a normal role but must be managed via services' control.
+* `service/lambda`: Updates service API and documentation
+ * Lambda integration with CloudDebugger service to enable customers to enable tracing for the Lambda functions and send trace information to the CloudDebugger service.
+* `service/lexmodelbuildingservice`: Adds new service
+* `service/polly`: Updates service API, documentation, and paginators
+ * API Update for Amazon Polly: Add support for speech marks
+* `service/rekognition`: Updates service API and documentation
+ * Given an image, the API detects explicit or suggestive adult content in the image and returns a list of corresponding labels with confidence scores, as well as a taxonomy (parent-child relation) for each label.
+
+Release v1.8.13 (2017-04-18)
+===
+
+### Service Client Updates
+* `service/lambda`: Updates service API and documentation
+ * You can use tags to group and filter your Lambda functions, making it easier to analyze them for billing allocation purposes. For more information, see Tagging Lambda Functions. You can now write or upgrade your Lambda functions using Python version 3.6. For more information, see Programming Model for Authoring Lambda Functions in Python. Note: Features will be rolled out in the US regions on 4/19.
+
+### SDK Enhancements
+* `aws/request`: add support for appengine's custom standard library (#1190)
+ * Remove syscall error checking on appengine platforms.
+
+Release v1.8.12 (2017-04-11)
+===
+
+### Service Client Updates
+* `service/apigateway`: Updates service API and documentation
+ * API Gateway request validators
+* `service/batch`: Updates service API and documentation
+ * API Update for AWS Batch: Customer provided AMI for MANAGED Compute Environment
+* `service/gamelift`: Updates service API and documentation
+ * Allows developers to utilize an improved workflow when calling our Queues API and introduces a new feature that allows developers to specify a maximum allowable latency per Queue.
+* `service/opsworks`: Updates service API, documentation, and paginators
+ * Cloudwatch Logs agent configuration can now be attached to OpsWorks Layers using CreateLayer and UpdateLayer. OpsWorks will then automatically install and manage the CloudWatch Logs agent on the instances part of the OpsWorks Layer.
+
+### SDK Bugs
+* `aws/client`: Fix clients polluting handler list (#1197)
+ * Fixes the clients potentially polluting the passed in handler list with the client's customizations. This change ensures every client always works with a clean copy of the request handlers and it cannot pollute the handlers back upstream.
+ * Fixes #1184
+* `aws/request`: Fix waiter error match condition (#1195)
+ * Fixes the waiters's matching overwriting the request's err, effectively ignoring the error condition. This broke waiters with the FailureWaiterState matcher state.
+Release v1.8.11 (2017-04-07)
+===
+
+### Service Client Updates
+* `service/redshift`: Updates service API, documentation, and paginators
+ * This update adds the GetClusterCredentials API which is used to get temporary login credentials to the cluster. AccountWithRestoreAccess now has a new member AccountAlias, this is the identifier of the AWS support account authorized to restore the specified snapshot. This is added to support the feature where the customer can share their snapshot with the Amazon Redshift Support Account without having to manually specify the AWS Redshift Service account ID on the AWS Console/API.
+
+Release v1.8.10 (2017-04-06)
+===
+
+### Service Client Updates
+* `service/elbv2`: Updates service documentation
+
+Release v1.8.9 (2017-04-05)
+===
+
+### Service Client Updates
+* `service/elasticache`: Updates service API, documentation, paginators, and examples
+ * ElastiCache added support for testing the Elasticache Multi-AZ feature with Automatic Failover.
+
+Release v1.8.8 (2017-04-04)
+===
+
+### Service Client Updates
+* `service/cloudwatch`: Updates service API, documentation, and paginators
+ * Amazon Web Services announced the immediate availability of two additional alarm configuration rules for Amazon CloudWatch Alarms. The first rule is for configuring missing data treatment. Customers have the options to treat missing data as alarm threshold breached, alarm threshold not breached, maintain alarm state and the current default treatment. The second rule is for alarms based on percentiles metrics that can trigger unnecassarily if the percentile is calculated from a small number of samples. The new rule can treat percentiles with low sample counts as same as missing data. If the first rule is enabled, the same treatment will be applied when an alarm encounters a percentile with low sample counts.
+
+Release v1.8.7 (2017-04-03)
+===
+
+### Service Client Updates
+* `service/lexruntimeservice`: Updates service API and documentation
+ * Adds support to PostContent for speech input
+
+### SDK Enhancements
+* `aws/request`: Improve handler copy, push back, push front performance (#1171)
+ * Minor optimization to the handler list's handling of copying and pushing request handlers to the handler list.
+* Update codegen header to use Go std wording (#1172)
+ * Go recently accepted the proposal for standard generated file header wording in, https://golang.org/s/generatedcode.
+
+### SDK Bugs
+* `service/dynamodb`: Fix DynamoDB using custom retryer (#1170)
+ * Fixes (#1139) the DynamoDB service client clobbering any custom retryer that was passed into the service client or Session's config.
+Release v1.8.6 (2017-04-01)
+===
+
+### Service Client Updates
+* `service/clouddirectory`: Updates service API and documentation
+ * ListObjectAttributes now supports filtering by facet.
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+
+Release v1.8.5 (2017-03-30)
+===
+
+### Service Client Updates
+* `service/cloudformation`: Updates service waiters and paginators
+ * Adding paginators for ListExports and ListImports
+* `service/cloudfront`: Adds new service
+ * Amazon CloudFront now supports user configurable HTTP Read and Keep-Alive Idle Timeouts for your Custom Origin Servers
+* `service/configservice`: Updates service documentation
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/resourcegroupstaggingapi`: Adds new service
+* `service/storagegateway`: Updates service API and documentation
+ * File gateway mode in AWS Storage gateway provides access to objects in S3 as files on a Network File System (NFS) mount point. Once a file share is created, any changes made externally to the S3 bucket will not be reflected by the gateway. Using the cache refresh feature in this update, the customer can trigger an on-demand scan of the keys in their S3 bucket and refresh the file namespace cached on the gateway. It takes as an input the fileShare ARN and refreshes the cache for only that file share. Additionally there is new functionality on file gateway that allows you configure what squash options they would like on their file share, this allows a customer to configure their gateway to not squash root permissions. This can be done by setting options in NfsOptions for CreateNfsFileShare and UpdateNfsFileShare APIs.
+
+Release v1.8.4 (2017-03-28)
+===
+
+### Service Client Updates
+* `service/batch`: Updates service API, documentation, and paginators
+ * Customers can now provide a retryStrategy as part of the RegisterJobDefinition and SubmitJob API calls. The retryStrategy object has a number value for attempts. This is the number of non successful executions before a job is considered FAILED. In addition, the JobDetail object now has an attempts field and shows all execution attempts.
+* `service/ec2`: Updates service API and documentation
+ * Customers can now tag their Amazon EC2 Instances and Amazon EBS Volumes at
+ the time of their creation. You can do this from the EC2 Instance launch
+ wizard or through the RunInstances or CreateVolume APIs. By tagging
+ resources at the time of creation, you can eliminate the need to run custom
+ tagging scripts after resource creation. In addition, you can now set
+ resource-level permissions on the CreateVolume, CreateTags, DeleteTags, and
+ the RunInstances APIs. This allows you to implement stronger security
+ policies by giving you more granular control over which users and groups
+ have access to these APIs. You can also enforce the use of tagging and
+ control what tag keys and values are set on your resources. When you combine
+ tag usage and resource-level IAM policies together, you can ensure your
+ instances and volumes are properly secured upon creation and achieve more
+ accurate cost allocation reporting. These new features are provided at no
+ additional cost.
+
+### SDK Enhancements
+* `aws/request`: Add retry support for RequestTimeoutException (#1158)
+ * Adds support for retrying RequestTimeoutException error code that is returned by some services.
+
+### SDK Bugs
+* `private/model/api`: Fix Waiter and Paginators panic on nil param inputs (#1157)
+ * Corrects the code generation for Paginators and waiters that caused a panic if nil input parameters were used with the operations.
+Release v1.8.3 (2017-03-27)
+===
+
+## Service Client Updates
+* `service/ssm`: Updates service API, documentation, and paginators
+ * Updated validation rules for SendCommand and RegisterTaskWithMaintenanceWindow APIs.
+Release v1.8.2 (2017-03-24)
+===
+
+Service Client Updates
+---
+* `service/applicationautoscaling`: Updates service API, documentation, and paginators
+ * Application AutoScaling is launching support for a new target resource (AppStream 2.0 Fleets) as a scalable target.
+* `service/cloudtrail`: Updates service API and documentation
+ * Doc-only Update for CloudTrail: Add required parameters for GetEventSelectors and PutEventSelectors
+
+Release v1.8.1 (2017-03-23)
+===
+
+Service Client Updates
+---
+* `service/applicationdiscoveryservice`: Updates service API, documentation, and paginators
+ * Adds export configuration options to the AWS Discovery Service API.
+* `service/elbv2`: Updates waiters
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/lambda`: Updates service API and paginators
+ * Adds support for new runtime Node.js v6.10 for AWS Lambda service
+
+Release v1.8.0 (2017-03-22)
+===
+
+Service Client Updates
+---
+* `service/codebuild`: Updates service documentation
+* `service/directconnect`: Updates service API
+ * Deprecated DescribeConnectionLoa, DescribeInterconnectLoa, AllocateConnectionOnInterconnect and DescribeConnectionsOnInterconnect operations in favor of DescribeLoa, DescribeLoa, AllocateHostedConnection and DescribeHostedConnections respectively.
+* `service/marketplacecommerceanalytics`: Updates service API, documentation, and paginators
+ * This update adds a new data set, us_sales_and_use_tax_records, which enables AWS Marketplace sellers to programmatically access to their U.S. Sales and Use Tax report data.
+* `service/pinpoint`: Updates service API and documentation
+ * Amazon Pinpoint User Segmentation
+ * Added ability to segment endpoints by user attributes in addition to endpoint attributes. Amazon Pinpoint Event Stream Preview
+ * Added functionality to publish raw app analytics and campaign events data as events streams to Kinesis and Kinesis Firehose
+ * The feature provides developers with increased flexibility of exporting raw events to S3, Redshift, Elasticsearch using a Kinesis Firehose stream or enable real time event processing use cases using a Kinesis stream
+* `service/rekognition`: Updates service documentation.
+
+SDK Features
+---
+* `aws/request`: Add support for context.Context to SDK API operation requests (#1132)
+ * Adds support for context.Context to the SDK by adding `WithContext` methods for each API operation, Paginators and Waiters. e.g `PutObjectWithContext`. This change also adds the ability to provide request functional options to the method calls instead of requiring you to use the `Request` API operation method (e.g `PutObjectRequest`).
+ * Adds a `Complete` Request handler list that will be called ever time a request is completed. This includes both success and failure. Complete will only be called once per API operation request.
+ * `private/waiter` package moved from the private group to `aws/request/waiter` and made publicly available.
+ * Adds Context support to all API operations, Waiters(WaitUntil) and Paginators(Pages) methods.
+ * Adds Context support for s3manager and s3crypto clients.
+
+SDK Enhancements
+---
+* `aws/signer/v4`: Adds support for unsigned payload signer config (#1130)
+ * Adds configuration option to the v4.Signer to specify the request's body should not be signed. This will only correclty function on services that support unsigned payload. e.g. S3, Glacier.
+
+SDK Bug Fixes
+---
+* `service/s3`: Fix S3 HostID to be available in S3 request error message (#1131)
+ * Adds a new type s3.RequestFailure which exposes the S3 HostID value from a S3 API operation response. This is helpful when you have an error with S3, and need to contact support. Both RequestID and HostID are needed.
+* `private/model/api`: Do not return a link if uid is empty (#1133)
+ * Fixes SDK's doc generation to not generate API reference doc links if the SDK us unable to create a valid link.
+* `aws/request`: Optimization to handler list copy to prevent multiple alloc calls. (#1134)
+Release v1.7.9 (2017-03-13)
+===
+
+Service Client Updates
+---
+* `service/devicefarm`: Updates service API, documentation, paginators, and examples
+ * Network shaping allows users to simulate network connections and conditions while testing their Android, iOS, and web apps with AWS Device Farm.
+* `service/cloudwatchevents`: Updates service API, documentation, and examples
+
+SDK Enhancement
+===
+* `aws/session`: Add support for side loaded CA bundles (#1117)
+ * Adds supports for side loading Certificate Authority bundle files to the SDK using AWS_CA_BUNDLE environment variable or CustomCABundle session option.
+* `service/s3/s3crypto`: Add support for AES/CBC/PKCS5Padding (#1124)
+
+SDK Bug
+===
+* `service/rds`: Fixing issue when not providing `SourceRegion` on cross
+region operations (#1127)
+* `service/rds`: Enables cross region for `CopyDBClusterSnapshot` and
+`CreateDBCluster` (#1128)
+
+Release v1.7.8 (2017-03-10)
+===
+
+Service Client Updates
+---
+* `service/codedeploy`: Updates service paginators
+ * Add paginators for Codedeploy
+* `service/emr`: Updates service API, documentation, and paginators
+ * This release includes support for instance fleets in Amazon EMR.
+
+Release v1.7.7 (2017-03-09)
+===
+
+Service Client Updates
+---
+* `service/apigateway`: Updates service API, documentation, and paginators
+ * API Gateway has added support for ACM certificates on custom domain names. Both Amazon-issued certificates and uploaded third-part certificates are supported.
+* `service/clouddirectory`: Updates service API, documentation, and paginators
+ * Introduces a new Cloud Directory API that enables you to retrieve all available parent paths for any type of object (a node, leaf node, policy node, and index node) in a hierarchy.
+
+Release v1.7.6 (2017-03-09)
+===
+
+Service Client Updates
+---
+* `service/organizations`: Updates service documentation and examples
+ * Doc-only Update for Organizations: Add SDK Code Snippets
+* `service/workdocs`: Adds new service
+ * The Administrative SDKs for Amazon WorkDocs provides full administrator level access to WorkDocs site resources, allowing developers to integrate their applications to manage WorkDocs users, content and permissions programmatically
+
+Release v1.7.5 (2017-03-08)
+===
+
+Service Client Updates
+---
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/rds`: Updates service API and documentation
+ * Add support to using encrypted clusters as cross-region replication masters. Update CopyDBClusterSnapshot API to support encrypted cross region copy of Aurora cluster snapshots.
+
+Release v1.7.4 (2017-03-06)
+===
+
+Service Client Updates
+---
+* `service/budgets`: Updates service API and paginators
+ * When creating or editing a budget via the AWS Budgets API you can define notifications that are sent to subscribers when the actual or forecasted value for cost or usage exceeds the notificationThreshold associated with the budget notification object. Starting today, the maximum allowed value for the notificationThreshold was raised from 100 to 300. This change was made to give you more flexibility when setting budget notifications.
+* `service/cloudtrail`: Updates service documentation and paginators
+ * Doc-only update for AWSCloudTrail: Updated links/descriptions
+* `aws/endpoints`: Updated Regions and Endpoints metadata.
+* `service/opsworkscm`: Updates service API, documentation, and paginators
+ * OpsWorks for Chef Automate has added a new field "AssociatePublicIpAddress" to the CreateServer request, "CloudFormationStackArn" to the Server model and "TERMINATED" server state.
+
+
+Release v1.7.3 (2017-02-28)
+===
+
+Service Client Updates
+---
+* `service/mturk`: Renaming service
+ * service/mechanicalturkrequesterservice was renamed to service/mturk. Be sure to change any references of the old client to the new.
+
+Release v1.7.2 (2017-02-28)
+===
+
+Service Client Updates
+---
+* `service/dynamodb`: Updates service API and documentation
+ * Release notes: Time to Live (TTL) is a feature that allows you to define when items in a table expire and can be purged from the database, so that you don't have to track expired data and delete it manually. With TTL enabled on a DynamoDB table, you can set a timestamp for deletion on a per-item basis, allowing you to limit storage usage to only those records that are relevant.
+* `service/iam`: Updates service API, documentation, and paginators
+ * This release adds support for AWS Organizations service control policies (SCPs) to SimulatePrincipalPolicy operation. If there are SCPs associated with the simulated user's account, their effect on the result is captured in the OrganizationDecisionDetail element in the EvaluationResult.
+* `service/mechanicalturkrequesterservice`: Adds new service
+ * Amazon Mechanical Turk is a web service that provides an on-demand, scalable, human workforce to complete jobs that humans can do better than computers, for example, recognizing objects in photos.
+* `service/organizations`: Adds new service
+ * AWS Organizations is a web service that enables you to consolidate your multiple AWS accounts into an organization and centrally manage your accounts and their resources.
+* `service/dynamodbstreams`: Updates service API, documentation, and paginators
+* `service/waf`: Updates service API, documentation, and paginators
+ * Aws WAF - For GetSampledRequests action, changed max number of samples from 100 to 500.
+* `service/wafregional`: Updates service API, documentation, and paginators
+
Release v1.7.1 (2017-02-24)
===
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md
index e69de29b..8a1927a3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CHANGELOG_PENDING.md
@@ -0,0 +1,5 @@
+### SDK Features
+
+### SDK Enhancements
+
+### SDK Bugs
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CONTRIBUTING.md b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CONTRIBUTING.md
index 81edbfae..7c0186f0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CONTRIBUTING.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/CONTRIBUTING.md
@@ -64,6 +64,11 @@ Please be aware of the following notes prior to opening a pull request:
SDK's test coverage percentage are unlikely to be merged until tests have
been added.
+5. The JSON files under the SDK's `models` folder are sourced from outside the SDK.
+ Such as `models/apis/ec2/2016-11-15/api.json`. We will not accept pull requests
+ directly on these models. If you discover an issue with the models please
+ create a Github [issue](issues) describing the issue.
+
### Testing
To run the tests locally, running the `make unit` command will `go get` the
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/Makefile b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/Makefile
index fc2bc0ce..df9803c2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/Makefile
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/Makefile
@@ -5,7 +5,8 @@ LINTIGNORESTUTTER='service/[^/]+/(api|service)\.go:.+(and that stutters)'
LINTIGNOREINFLECT='service/[^/]+/(api|errors|service)\.go:.+(method|const) .+ should be '
LINTIGNOREINFLECTS3UPLOAD='service/s3/s3manager/upload\.go:.+struct field SSEKMSKeyId should be '
LINTIGNOREDEPS='vendor/.+\.go'
-UNIT_TEST_TAGS="example codegen"
+LINTIGNOREPKGCOMMENT='service/[^/]+/doc_custom.go:.+package comment should be of the form'
+UNIT_TEST_TAGS="example codegen awsinclude"
SDK_WITH_VENDOR_PKGS=$(shell go list -tags ${UNIT_TEST_TAGS} ./... | grep -v "/vendor/src")
SDK_ONLY_PKGS=$(shell go list ./... | grep -v "/vendor/")
@@ -64,6 +65,9 @@ integration: get-deps-tests integ-custom smoke-tests performance
integ-custom:
go test -tags "integration" ./awstesting/integration/customizations/...
+cleanup-integ:
+ go run -tags "integration" ./awstesting/cmd/bucket_cleanup/main.go "aws-sdk-go-integration"
+
smoke-tests: get-deps-tests
gucumber -go-tags "integration" ./awstesting/integration/smoke
@@ -123,7 +127,7 @@ verify: get-deps-verify lint vet
lint:
@echo "go lint SDK and vendor packages"
@lint=`if [ \( -z "${SDK_GO_1_4}" \) -a \( -z "${SDK_GO_1_5}" \) ]; then golint ./...; else echo "skipping golint"; fi`; \
- lint=`echo "$$lint" | grep -E -v -e ${LINTIGNOREDOT} -e ${LINTIGNOREDOC} -e ${LINTIGNORECONST} -e ${LINTIGNORESTUTTER} -e ${LINTIGNOREINFLECT} -e ${LINTIGNOREDEPS} -e ${LINTIGNOREINFLECTS3UPLOAD}`; \
+ lint=`echo "$$lint" | grep -E -v -e ${LINTIGNOREDOT} -e ${LINTIGNOREDOC} -e ${LINTIGNORECONST} -e ${LINTIGNORESTUTTER} -e ${LINTIGNOREINFLECT} -e ${LINTIGNOREDEPS} -e ${LINTIGNOREINFLECTS3UPLOAD} -e ${LINTIGNOREPKGCOMMENT}`; \
echo "$$lint"; \
if [ "$$lint" != "" ] && [ "$$lint" != "skipping golint" ]; then exit 1; fi
@@ -149,6 +153,7 @@ get-deps-tests:
go get github.com/stretchr/testify
go get github.com/smartystreets/goconvey
go get golang.org/x/net/html
+ go get golang.org/x/net/http2
get-deps-verify:
@echo "go get SDK verification utilities"
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/README.md
index 8247981b..d5e048a5 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/README.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/README.md
@@ -1,11 +1,6 @@
-# AWS SDK for Go
+[![API Reference](http://img.shields.io/badge/api-reference-blue.svg)](http://docs.aws.amazon.com/sdk-for-go/api) [![Join the chat at https://gitter.im/aws/aws-sdk-go](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aws/aws-sdk-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://img.shields.io/travis/aws/aws-sdk-go.svg)](https://travis-ci.org/aws/aws-sdk-go) [![Apache V2 License](http://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/aws/aws-sdk-go/blob/master/LICENSE.txt)
-<span style="display: inline-block;">
-[![API Reference](http://img.shields.io/badge/api-reference-blue.svg)](http://docs.aws.amazon.com/sdk-for-go/api)
-[![Join the chat at https://gitter.im/aws/aws-sdk-go](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/aws/aws-sdk-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-[![Build Status](https://img.shields.io/travis/aws/aws-sdk-go.svg)](https://travis-ci.org/aws/aws-sdk-go)
-[![Apache V2 License](http://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/aws/aws-sdk-go/blob/master/LICENSE.txt)
-</span>
+# AWS SDK for Go
aws-sdk-go is the official AWS SDK for the Go programming language.
@@ -33,16 +28,17 @@ These two processes will still include the `vendor` folder and it should be dele
## Getting Help
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests.
+
* Ask a question on [StackOverflow](http://stackoverflow.com/) and tag it with the [`aws-sdk-go`](http://stackoverflow.com/questions/tagged/aws-sdk-go) tag.
* Come join the AWS SDK for Go community chat on [gitter](https://gitter.im/aws/aws-sdk-go).
* Open a support ticket with [AWS Support](http://docs.aws.amazon.com/awssupport/latest/user/getting-started.html).
-* If you think you may of found a bug, please open an [issue](https://github.com/aws/aws-sdk-go/issues/new).
+* If you think you may have found a bug, please open an [issue](https://github.com/aws/aws-sdk-go/issues/new).
## Opening Issues
-If you encounter a bug with the AWS SDK for Go we would like to hear about it. Search the [existing issues]( https://github.com/aws/aws-sdk-go/issues) and see if others are also experiencing the issue before opening a new issue. Please include the version of AWS SDK for Go, Go language, and OS you’re using. Please also include repro case when appropriate.
+If you encounter a bug with the AWS SDK for Go we would like to hear about it. Search the [existing issues](https://github.com/aws/aws-sdk-go/issues) and see if others are also experiencing the issue before opening a new issue. Please include the version of AWS SDK for Go, Go language, and OS you’re using. Please also include repro case when appropriate.
-The GitHub issues are intended for bug reports and feature requests. For help and questions with using AWS SDK for GO please make use of the resources listed in the [Getting Help]( https://github.com/aws/aws-sdk-go#getting-help) section. Keeping the list of open issues lean will help us respond in a timely manner.
+The GitHub issues are intended for bug reports and feature requests. For help and questions with using AWS SDK for GO please make use of the resources listed in the [Getting Help](https://github.com/aws/aws-sdk-go#getting-help) section. Keeping the list of open issues lean will help us respond in a timely manner.
## Reference Documentation
@@ -54,80 +50,397 @@ The GitHub issues are intended for bug reports and feature requests. For help an
[`SDK Examples`](https://github.com/aws/aws-sdk-go/tree/master/example) - Included in the SDK's repo are a several hand crafted examples using the SDK features and AWS services.
-## Configuring Credentials
+## Overview of SDK's Packages
+
+The SDK is composed of two main components, SDK core, and service clients.
+The SDK core packages are all available under the aws package at the root of
+the SDK. Each client for a supported AWS service is available within its own
+package under the service folder at the root of the SDK.
+
+ * aws - SDK core, provides common shared types such as Config, Logger,
+ and utilities to make working with API parameters easier.
+
+ * awserr - Provides the error interface that the SDK will use for all
+ errors that occur in the SDK's processing. This includes service API
+ response errors as well. The Error type is made up of a code and message.
+ Cast the SDK's returned error type to awserr.Error and call the Code
+ method to compare returned error to specific error codes. See the package's
+ documentation for additional values that can be extracted such as RequestID.
+
+ * credentials - Provides the types and built in credentials providers
+ the SDK will use to retrieve AWS credentials to make API requests with.
+ Nested under this folder are also additional credentials providers such as
+ stscreds for assuming IAM roles, and ec2rolecreds for EC2 Instance roles.
+
+ * endpoints - Provides the AWS Regions and Endpoints metadata for the SDK.
+ Use this to lookup AWS service endpoint information such as which services
+ are in a region, and what regions a service is in. Constants are also provided
+ for all region identifiers, e.g UsWest2RegionID for "us-west-2".
+
+ * session - Provides initial default configuration, and load
+ configuration from external sources such as environment and shared
+ credentials file.
+
+ * request - Provides the API request sending, and retry logic for the SDK.
+ This package also includes utilities for defining your own request
+ retryer, and configuring how the SDK processes the request.
+
+ * service - Clients for AWS services. All services supported by the SDK are
+ available under this folder.
+
+## How to Use the SDK's AWS Service Clients
+
+The SDK includes the Go types and utilities you can use to make requests to
+AWS service APIs. Within the service folder at the root of the SDK you'll find
+a package for each AWS service the SDK supports. All service clients follows
+a common pattern of creation and usage.
+
+When creating a client for an AWS service you'll first need to have a Session
+value constructed. The Session provides shared configuration that can be shared
+between your service clients. When service clients are created you can pass
+in additional configuration via the aws.Config type to override configuration
+provided by in the Session to create service client instances with custom
+configuration.
+
+Once the service's client is created you can use it to make API requests the
+AWS service. These clients are safe to use concurrently.
+
+## Configuring the SDK
+
+In the AWS SDK for Go, you can configure settings for service clients, such
+as the log level and maximum number of retries. Most settings are optional;
+however, for each service client, you must specify a region and your credentials.
+The SDK uses these values to send requests to the correct AWS region and sign
+requests with the correct credentials. You can specify these values as part
+of a session or as environment variables.
-Before using the SDK, ensure that you've configured credentials. The best
-way to configure credentials on a development machine is to use the
-`~/.aws/credentials` file, which might look like:
+See the SDK's [configuration guide][config_guide] for more information.
+See the [session][session_pkg] package documentation for more information on how to use Session
+with the SDK.
+
+See the [Config][config_typ] type in the [aws][aws_pkg] package for more information on configuration
+options.
+
+[config_guide]: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html
+[session_pkg]: https://docs.aws.amazon.com/sdk-for-go/api/aws/session/
+[config_typ]: https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+[aws_pkg]: https://docs.aws.amazon.com/sdk-for-go/api/aws/
+
+### Configuring Credentials
+
+When using the SDK you'll generally need your AWS credentials to authenticate
+with AWS services. The SDK supports multiple methods of supporting these
+credentials. By default the SDK will source credentials automatically from
+its default credential chain. See the session package for more information
+on this chain, and how to configure it. The common items in the credential
+chain are the following:
+
+ * Environment Credentials - Set of environment variables that are useful
+ when sub processes are created for specific roles.
+
+ * Shared Credentials file (~/.aws/credentials) - This file stores your
+ credentials based on a profile name and is useful for local development.
+
+ * EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials
+ to application running on an EC2 instance. This removes the need to manage
+ credential files in production.
+
+Credentials can be configured in code as well by setting the Config's Credentials
+value to a custom provider or using one of the providers included with the
+SDK to bypass the default credential chain and use a custom one. This is
+helpful when you want to instruct the SDK to only use a specific set of
+credentials or providers.
+
+This example creates a credential provider for assuming an IAM role, "myRoleARN"
+and configures the S3 service client to use that role for API requests.
+
+```go
+ // Initial credentials loaded from SDK's default credential chain. Such as
+ // the environment, shared credentials (~/.aws/credentials), or EC2 Instance
+ // Role. These credentials will be used to to make the STS Assume Role API.
+ sess := session.Must(session.NewSession())
+
+ // Create the credentials from AssumeRoleProvider to assume the role
+ // referenced by the "myRoleARN" ARN.
+ creds := stscreds.NewCredentials(sess, "myRoleArn")
+
+ // Create service client value configured for credentials
+ // from assumed role.
+ svc := s3.New(sess, &aws.Config{Credentials: creds})
```
-[default]
-aws_access_key_id = AKID1234567890
-aws_secret_access_key = MY-SECRET-KEY
+
+See the [credentials][credentials_pkg] package documentation for more information on credential
+providers included with the SDK, and how to customize the SDK's usage of
+credentials.
+
+The SDK has support for the shared configuration file (~/.aws/config). This
+support can be enabled by setting the environment variable, "AWS_SDK_LOAD_CONFIG=1",
+or enabling the feature in code when creating a Session via the
+Option's SharedConfigState parameter.
+
+```go
+ sess := session.Must(session.NewSessionWithOptions(session.Options{
+ SharedConfigState: session.SharedConfigEnable,
+ }))
```
-You can learn more about the credentials file from this
-[blog post](http://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A-New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs).
+[credentials_pkg]: ttps://docs.aws.amazon.com/sdk-for-go/api/aws/credentials
+
+### Configuring AWS Region
-Alternatively, you can set the following environment variables:
+In addition to the credentials you'll need to specify the region the SDK
+will use to make AWS API requests to. In the SDK you can specify the region
+either with an environment variable, or directly in code when a Session or
+service client is created. The last value specified in code wins if the region
+is specified multiple ways.
+To set the region via the environment variable set the "AWS_REGION" to the
+region you want to the SDK to use. Using this method to set the region will
+allow you to run your application in multiple regions without needing additional
+code in the application to select the region.
+
+ AWS_REGION=us-west-2
+
+The endpoints package includes constants for all regions the SDK knows. The
+values are all suffixed with RegionID. These values are helpful, because they
+reduce the need to type the region string manually.
+
+To set the region on a Session use the aws package's Config struct parameter
+Region to the AWS region you want the service clients created from the session to
+use. This is helpful when you want to create multiple service clients, and
+all of the clients make API requests to the same region.
+
+```go
+ sess := session.Must(session.NewSession(&aws.Config{
+ Region: aws.String(endpoints.UsWest2RegionID),
+ }))
+```
+
+See the [endpoints][endpoints_pkg] package for the AWS Regions and Endpoints metadata.
+
+In addition to setting the region when creating a Session you can also set
+the region on a per service client bases. This overrides the region of a
+Session. This is helpful when you want to create service clients in specific
+regions different from the Session's region.
+
+```go
+ svc := s3.New(sess, &aws.Config{
+ Region: aws.String(endpoints.UsWest2RegionID),
+ })
```
-AWS_ACCESS_KEY_ID=AKID1234567890
-AWS_SECRET_ACCESS_KEY=MY-SECRET-KEY
+
+See the [Config][config_typ] type in the [aws][aws_pkg] package for more information and additional
+options such as setting the Endpoint, and other service client configuration options.
+
+[endpoints_pkg]: https://docs.aws.amazon.com/sdk-for-go/api/aws/endpoints/
+
+## Making API Requests
+
+Once the client is created you can make an API request to the service.
+Each API method takes a input parameter, and returns the service response
+and an error. The SDK provides methods for making the API call in multiple ways.
+
+In this list we'll use the S3 ListObjects API as an example for the different
+ways of making API requests.
+
+ * ListObjects - Base API operation that will make the API request to the service.
+
+ * ListObjectsRequest - API methods suffixed with Request will construct the
+ API request, but not send it. This is also helpful when you want to get a
+ presigned URL for a request, and share the presigned URL instead of your
+ application making the request directly.
+
+ * ListObjectsPages - Same as the base API operation, but uses a callback to
+ automatically handle pagination of the API's response.
+
+ * ListObjectsWithContext - Same as base API operation, but adds support for
+ the Context pattern. This is helpful for controlling the canceling of in
+ flight requests. See the Go standard library context package for more
+ information. This method also takes request package's Option functional
+ options as the variadic argument for modifying how the request will be
+ made, or extracting information from the raw HTTP response.
+
+ * ListObjectsPagesWithContext - same as ListObjectsPages, but adds support for
+ the Context pattern. Similar to ListObjectsWithContext this method also
+ takes the request package's Option function option types as the variadic
+ argument.
+
+In addition to the API operations the SDK also includes several higher level
+methods that abstract checking for and waiting for an AWS resource to be in
+a desired state. In this list we'll use WaitUntilBucketExists to demonstrate
+the different forms of waiters.
+
+ * WaitUntilBucketExists. - Method to make API request to query an AWS service for
+ a resource's state. Will return successfully when that state is accomplished.
+
+ * WaitUntilBucketExistsWithContext - Same as WaitUntilBucketExists, but adds
+ support for the Context pattern. In addition these methods take request
+ package's WaiterOptions to configure the waiter, and how underlying request
+ will be made by the SDK.
+
+The API method will document which error codes the service might return for
+the operation. These errors will also be available as const strings prefixed
+with "ErrCode" in the service client's package. If there are no errors listed
+in the API's SDK documentation you'll need to consult the AWS service's API
+documentation for the errors that could be returned.
+
+```go
+ ctx := context.Background()
+
+ result, err := svc.GetObjectWithContext(ctx, &s3.GetObjectInput{
+ Bucket: aws.String("my-bucket"),
+ Key: aws.String("my-key"),
+ })
+ if err != nil {
+ // Cast err to awserr.Error to handle specific error codes.
+ aerr, ok := err.(awserr.Error)
+ if ok && aerr.Code() == s3.ErrCodeNoSuchKey {
+ // Specific error code handling
+ }
+ return err
+ }
+
+ // Make sure to close the body when done with it for S3 GetObject APIs or
+ // will leak connections.
+ defer result.Body.Close()
+
+ fmt.Println("Object Size:", aws.StringValue(result.ContentLength))
```
-### AWS shared config file (`~/.aws/config`)
-The AWS SDK for Go added support the shared config file in release [v1.3.0](https://github.com/aws/aws-sdk-go/releases/tag/v1.3.0). You can opt into enabling support for the shared config by setting the environment variable `AWS_SDK_LOAD_CONFIG` to a truthy value. See the [Session](https://github.com/aws/aws-sdk-go/wiki/sessions) wiki for more information about this feature.
+### API Request Pagination and Resource Waiters
-## Using the Go SDK
+Pagination helper methods are suffixed with "Pages", and provide the
+functionality needed to round trip API page requests. Pagination methods
+take a callback function that will be called for each page of the API's response.
-To use a service in the SDK, create a service variable by calling the `New()`
-function. Once you have a service client, you can call API operations which each
-return response data and a possible error.
+```go
+ objects := []string{}
+ err := svc.ListObjectsPagesWithContext(ctx, &s3.ListObjectsInput{
+ Bucket: aws.String(myBucket),
+ }, func(p *s3.ListObjectsOutput, lastPage bool) bool {
+ for _, o := range p.Contents {
+ objects = append(objects, aws.StringValue(o.Key))
+ }
+ return true // continue paging
+ })
+ if err != nil {
+ panic(fmt.Sprintf("failed to list objects for bucket, %s, %v", myBucket, err))
+ }
+
+ fmt.Println("Objects in bucket:", objects)
+```
-To list a set of instance IDs from EC2, you could run:
+Waiter helper methods provide the functionality to wait for an AWS resource
+state. These methods abstract the logic needed to to check the state of an
+AWS resource, and wait until that resource is in a desired state. The waiter
+will block until the resource is in the state that is desired, an error occurs,
+or the waiter times out. If a resource times out the error code returned will
+be request.WaiterResourceNotReadyErrorCode.
```go
-package main
-
-import (
- "fmt"
-
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/ec2"
-)
-
-func main() {
- sess, err := session.NewSession()
- if err != nil {
- panic(err)
- }
-
- // Create an EC2 service object in the "us-west-2" region
- // Note that you can also configure your region globally by
- // exporting the AWS_REGION environment variable
- svc := ec2.New(sess, &aws.Config{Region: aws.String("us-west-2")})
-
- // Call the DescribeInstances Operation
- resp, err := svc.DescribeInstances(nil)
- if err != nil {
- panic(err)
- }
-
- // resp has all of the response data, pull out instance IDs:
- fmt.Println("> Number of reservation sets: ", len(resp.Reservations))
- for idx, res := range resp.Reservations {
- fmt.Println(" > Number of instances: ", len(res.Instances))
- for _, inst := range resp.Reservations[idx].Instances {
- fmt.Println(" - Instance ID: ", *inst.InstanceId)
- }
- }
-}
+ err := svc.WaitUntilBucketExistsWithContext(ctx, &s3.HeadBucketInput{
+ Bucket: aws.String(myBucket),
+ })
+ if err != nil {
+ aerr, ok := err.(awserr.Error)
+ if ok && aerr.Code() == request.WaiterResourceNotReadyErrorCode {
+ fmt.Fprintf(os.Stderr, "timed out while waiting for bucket to exist")
+ }
+ panic(fmt.Errorf("failed to wait for bucket to exist, %v", err))
+ }
+ fmt.Println("Bucket", myBucket, "exists")
```
-You can find more information and operations in our
-[API documentation](http://docs.aws.amazon.com/sdk-for-go/api/).
+## Complete SDK Example
+
+This example shows a complete working Go file which will upload a file to S3
+and use the Context pattern to implement timeout logic that will cancel the
+request if it takes too long. This example highlights how to use sessions,
+create a service client, make a request, handle the error, and process the
+response.
+
+```go
+ package main
+
+ import (
+ "context"
+ "flag"
+ "fmt"
+ "os"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/aws/session"
+ "github.com/aws/aws-sdk-go/service/s3"
+ )
+
+ // Uploads a file to S3 given a bucket and object key. Also takes a duration
+ // value to terminate the update if it doesn't complete within that time.
+ //
+ // The AWS Region needs to be provided in the AWS shared config or on the
+ // environment variable as `AWS_REGION`. Credentials also must be provided
+ // Will default to shared config file, but can load from environment if provided.
+ //
+ // Usage:
+ // # Upload myfile.txt to myBucket/myKey. Must complete within 10 minutes or will fail
+ // go run withContext.go -b mybucket -k myKey -d 10m < myfile.txt
+ func main() {
+ var bucket, key string
+ var timeout time.Duration
+
+ flag.StringVar(&bucket, "b", "", "Bucket name.")
+ flag.StringVar(&key, "k", "", "Object key name.")
+ flag.DurationVar(&timeout, "d", 0, "Upload timeout.")
+ flag.Parse()
+
+ // All clients require a Session. The Session provides the client with
+ // shared configuration such as region, endpoint, and credentials. A
+ // Session should be shared where possible to take advantage of
+ // configuration and credential caching. See the session package for
+ // more information.
+ sess := session.Must(session.NewSession())
+
+ // Create a new instance of the service's client with a Session.
+ // Optional aws.Config values can also be provided as variadic arguments
+ // to the New function. This option allows you to provide service
+ // specific configuration.
+ svc := s3.New(sess)
+
+ // Create a context with a timeout that will abort the upload if it takes
+ // more than the passed in timeout.
+ ctx := context.Background()
+ var cancelFn func()
+ if timeout > 0 {
+ ctx, cancelFn = context.WithTimeout(ctx, timeout)
+ }
+ // Ensure the context is canceled to prevent leaking.
+ // See context package for more information, https://golang.org/pkg/context/
+ defer cancelFn()
+
+ // Uploads the object to S3. The Context will interrupt the request if the
+ // timeout expires.
+ _, err := svc.PutObjectWithContext(ctx, &s3.PutObjectInput{
+ Bucket: aws.String(bucket),
+ Key: aws.String(key),
+ Body: os.Stdin,
+ })
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok && aerr.Code() == request.CanceledErrorCode {
+ // If the SDK can determine the request or retry delay was canceled
+ // by a context the CanceledErrorCode error code will be returned.
+ fmt.Fprintf(os.Stderr, "upload canceled due to timeout, %v\n", err)
+ } else {
+ fmt.Fprintf(os.Stderr, "failed to upload object, %v\n", err)
+ }
+ os.Exit(1)
+ }
+
+ fmt.Printf("successfully uploaded file to %s/%s\n", bucket, key)
+ }
+```
## License
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
index 17fc76a0..788fe6e2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
@@ -2,7 +2,6 @@ package client
import (
"fmt"
- "net/http/httputil"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client/metadata"
@@ -46,7 +45,7 @@ func New(cfg aws.Config, info metadata.ClientInfo, handlers request.Handlers, op
svc := &Client{
Config: cfg,
ClientInfo: info,
- Handlers: handlers,
+ Handlers: handlers.Copy(),
}
switch retryer, ok := cfg.Retryer.(request.Retryer); {
@@ -86,61 +85,6 @@ func (c *Client) AddDebugHandlers() {
return
}
- c.Handlers.Send.PushFront(logRequest)
- c.Handlers.Send.PushBack(logResponse)
-}
-
-const logReqMsg = `DEBUG: Request %s/%s Details:
----[ REQUEST POST-SIGN ]-----------------------------
-%s
------------------------------------------------------`
-
-const logReqErrMsg = `DEBUG ERROR: Request %s/%s:
----[ REQUEST DUMP ERROR ]-----------------------------
-%s
------------------------------------------------------`
-
-func logRequest(r *request.Request) {
- logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
- dumpedBody, err := httputil.DumpRequestOut(r.HTTPRequest, logBody)
- if err != nil {
- r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err))
- return
- }
-
- if logBody {
- // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's
- // Body as a NoOpCloser and will not be reset after read by the HTTP
- // client reader.
- r.ResetBody()
- }
-
- r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody)))
-}
-
-const logRespMsg = `DEBUG: Response %s/%s Details:
----[ RESPONSE ]--------------------------------------
-%s
------------------------------------------------------`
-
-const logRespErrMsg = `DEBUG ERROR: Response %s/%s:
----[ RESPONSE DUMP ERROR ]-----------------------------
-%s
------------------------------------------------------`
-
-func logResponse(r *request.Request) {
- var msg = "no response data"
- if r.HTTPResponse != nil {
- logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
- dumpedBody, err := httputil.DumpResponse(r.HTTPResponse, logBody)
- if err != nil {
- r.Config.Logger.Log(fmt.Sprintf(logRespErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err))
- return
- }
-
- msg = string(dumpedBody)
- } else if r.Error != nil {
- msg = r.Error.Error()
- }
- r.Config.Logger.Log(fmt.Sprintf(logRespMsg, r.ClientInfo.ServiceName, r.Operation.Name, msg))
+ c.Handlers.Send.PushFrontNamed(request.NamedHandler{Name: "awssdk.client.LogRequest", Fn: logRequest})
+ c.Handlers.Send.PushBackNamed(request.NamedHandler{Name: "awssdk.client.LogResponse", Fn: logResponse})
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
index 43a3676b..e25a460f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
@@ -15,11 +15,11 @@ import (
// the MaxRetries method:
//
// type retryer struct {
-// service.DefaultRetryer
+// client.DefaultRetryer
// }
//
// // This implementation always has 100 max retries
-// func (d retryer) MaxRetries() uint { return 100 }
+// func (d retryer) MaxRetries() int { return 100 }
type DefaultRetryer struct {
NumMaxRetries int
}
@@ -54,6 +54,12 @@ func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
// ShouldRetry returns true if the request should be retried.
func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
+ // If one of the other handlers already set the retry state
+ // we don't want to override it based on the service's state
+ if r.Retryable != nil {
+ return *r.Retryable
+ }
+
if r.HTTPResponse.StatusCode >= 500 {
return true
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
new file mode 100644
index 00000000..1f39c91f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/client/logger.go
@@ -0,0 +1,108 @@
+package client
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "net/http/httputil"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
+)
+
+const logReqMsg = `DEBUG: Request %s/%s Details:
+---[ REQUEST POST-SIGN ]-----------------------------
+%s
+-----------------------------------------------------`
+
+const logReqErrMsg = `DEBUG ERROR: Request %s/%s:
+---[ REQUEST DUMP ERROR ]-----------------------------
+%s
+------------------------------------------------------`
+
+type logWriter struct {
+ // Logger is what we will use to log the payload of a response.
+ Logger aws.Logger
+ // buf stores the contents of what has been read
+ buf *bytes.Buffer
+}
+
+func (logger *logWriter) Write(b []byte) (int, error) {
+ return logger.buf.Write(b)
+}
+
+type teeReaderCloser struct {
+ // io.Reader will be a tee reader that is used during logging.
+ // This structure will read from a body and write the contents to a logger.
+ io.Reader
+ // Source is used just to close when we are done reading.
+ Source io.ReadCloser
+}
+
+func (reader *teeReaderCloser) Close() error {
+ return reader.Source.Close()
+}
+
+func logRequest(r *request.Request) {
+ logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody)
+ dumpedBody, err := httputil.DumpRequestOut(r.HTTPRequest, logBody)
+ if err != nil {
+ r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err))
+ return
+ }
+
+ if logBody {
+ // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's
+ // Body as a NoOpCloser and will not be reset after read by the HTTP
+ // client reader.
+ r.ResetBody()
+ }
+
+ r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody)))
+}
+
+const logRespMsg = `DEBUG: Response %s/%s Details:
+---[ RESPONSE ]--------------------------------------
+%s
+-----------------------------------------------------`
+
+const logRespErrMsg = `DEBUG ERROR: Response %s/%s:
+---[ RESPONSE DUMP ERROR ]-----------------------------
+%s
+-----------------------------------------------------`
+
+func logResponse(r *request.Request) {
+ lw := &logWriter{r.Config.Logger, bytes.NewBuffer(nil)}
+ r.HTTPResponse.Body = &teeReaderCloser{
+ Reader: io.TeeReader(r.HTTPResponse.Body, lw),
+ Source: r.HTTPResponse.Body,
+ }
+
+ handlerFn := func(req *request.Request) {
+ body, err := httputil.DumpResponse(req.HTTPResponse, false)
+ if err != nil {
+ lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err))
+ return
+ }
+
+ b, err := ioutil.ReadAll(lw.buf)
+ if err != nil {
+ lw.Logger.Log(fmt.Sprintf(logRespErrMsg, req.ClientInfo.ServiceName, req.Operation.Name, err))
+ return
+ }
+ lw.Logger.Log(fmt.Sprintf(logRespMsg, req.ClientInfo.ServiceName, req.Operation.Name, string(body)))
+ if req.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) {
+ lw.Logger.Log(string(b))
+ }
+ }
+
+ const handlerName = "awsdk.client.LogResponse.ResponseBody"
+
+ r.Handlers.Unmarshal.SetBackNamed(request.NamedHandler{
+ Name: handlerName, Fn: handlerFn,
+ })
+ r.Handlers.UnmarshalError.SetBackNamed(request.NamedHandler{
+ Name: handlerName, Fn: handlerFn,
+ })
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/config.go
index f5a7c379..ae3a2869 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/config.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/config.go
@@ -53,6 +53,13 @@ type Config struct {
// to use based on region.
EndpointResolver endpoints.Resolver
+ // EnforceShouldRetryCheck is used in the AfterRetryHandler to always call
+ // ShouldRetry regardless of whether or not if request.Retryable is set.
+ // This will utilize ShouldRetry method of custom retryers. If EnforceShouldRetryCheck
+ // is not set, then ShouldRetry will only be called if request.Retryable is nil.
+ // Proper handling of the request.Retryable field is important when setting this field.
+ EnforceShouldRetryCheck *bool
+
// The region to send requests to. This parameter is required and must
// be configured globally or on a per-client basis unless otherwise
// noted. A full list of regions is found in the "Regions and Endpoints"
@@ -88,7 +95,7 @@ type Config struct {
// recoverable failures.
//
// When nil or the value does not implement the request.Retryer interface,
- // the request.DefaultRetryer will be used.
+ // the client.DefaultRetryer will be used.
//
// When both Retryer and MaxRetries are non-nil, the former is used and
// the latter ignored.
@@ -187,6 +194,10 @@ type Config struct {
// request delays. This value should only be used for testing. To adjust
// the delay of a request see the aws/client.DefaultRetryer and
// aws/request.Retryer.
+ //
+ // SleepDelay will prevent any Context from being used for canceling retry
+ // delay of an API operation. It is recommended to not use SleepDelay at all
+ // and specify a Retryer instead.
SleepDelay func(time.Duration)
// DisableRestProtocolURICleaning will not clean the URL path when making rest protocol requests.
@@ -439,6 +450,10 @@ func mergeInConfig(dst *Config, other *Config) {
if other.DisableRestProtocolURICleaning != nil {
dst.DisableRestProtocolURICleaning = other.DisableRestProtocolURICleaning
}
+
+ if other.EnforceShouldRetryCheck != nil {
+ dst.EnforceShouldRetryCheck = other.EnforceShouldRetryCheck
+ }
}
// Copy will return a shallow copy of the Config object. If any additional
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context.go
new file mode 100644
index 00000000..79f42685
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context.go
@@ -0,0 +1,71 @@
+package aws
+
+import (
+ "time"
+)
+
+// Context is an copy of the Go v1.7 stdlib's context.Context interface.
+// It is represented as a SDK interface to enable you to use the "WithContext"
+// API methods with Go v1.6 and a Context type such as golang.org/x/net/context.
+//
+// See https://golang.org/pkg/context on how to use contexts.
+type Context interface {
+ // Deadline returns the time when work done on behalf of this context
+ // should be canceled. Deadline returns ok==false when no deadline is
+ // set. Successive calls to Deadline return the same results.
+ Deadline() (deadline time.Time, ok bool)
+
+ // Done returns a channel that's closed when work done on behalf of this
+ // context should be canceled. Done may return nil if this context can
+ // never be canceled. Successive calls to Done return the same value.
+ Done() <-chan struct{}
+
+ // Err returns a non-nil error value after Done is closed. Err returns
+ // Canceled if the context was canceled or DeadlineExceeded if the
+ // context's deadline passed. No other values for Err are defined.
+ // After Done is closed, successive calls to Err return the same value.
+ Err() error
+
+ // Value returns the value associated with this context for key, or nil
+ // if no value is associated with key. Successive calls to Value with
+ // the same key returns the same result.
+ //
+ // Use context values only for request-scoped data that transits
+ // processes and API boundaries, not for passing optional parameters to
+ // functions.
+ Value(key interface{}) interface{}
+}
+
+// BackgroundContext returns a context that will never be canceled, has no
+// values, and no deadline. This context is used by the SDK to provide
+// backwards compatibility with non-context API operations and functionality.
+//
+// Go 1.6 and before:
+// This context function is equivalent to context.Background in the Go stdlib.
+//
+// Go 1.7 and later:
+// The context returned will be the value returned by context.Background()
+//
+// See https://golang.org/pkg/context for more information on Contexts.
+func BackgroundContext() Context {
+ return backgroundCtx
+}
+
+// SleepWithContext will wait for the timer duration to expire, or the context
+// is canceled. Which ever happens first. If the context is canceled the Context's
+// error will be returned.
+//
+// Expects Context to always return a non-nil error if the Done channel is closed.
+func SleepWithContext(ctx Context, dur time.Duration) error {
+ t := time.NewTimer(dur)
+ defer t.Stop()
+
+ select {
+ case <-t.C:
+ break
+ case <-ctx.Done():
+ return ctx.Err()
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
new file mode 100644
index 00000000..8fdda530
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go
@@ -0,0 +1,41 @@
+// +build !go1.7
+
+package aws
+
+import "time"
+
+// An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
+// provide a 1.6 and 1.5 safe version of context that is compatible with Go
+// 1.7's Context.
+//
+// An emptyCtx is never canceled, has no values, and has no deadline. It is not
+// struct{}, since vars of this type must have distinct addresses.
+type emptyCtx int
+
+func (*emptyCtx) Deadline() (deadline time.Time, ok bool) {
+ return
+}
+
+func (*emptyCtx) Done() <-chan struct{} {
+ return nil
+}
+
+func (*emptyCtx) Err() error {
+ return nil
+}
+
+func (*emptyCtx) Value(key interface{}) interface{} {
+ return nil
+}
+
+func (e *emptyCtx) String() string {
+ switch e {
+ case backgroundCtx:
+ return "aws.BackgroundContext"
+ }
+ return "unknown empty Context"
+}
+
+var (
+ backgroundCtx = new(emptyCtx)
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go
new file mode 100644
index 00000000..064f75c9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go
@@ -0,0 +1,9 @@
+// +build go1.7
+
+package aws
+
+import "context"
+
+var (
+ backgroundCtx = context.Background()
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
index 3b73a7da..ff5d58e0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go
@@ -311,6 +311,24 @@ func TimeValue(v *time.Time) time.Time {
return time.Time{}
}
+// SecondsTimeValue converts an int64 pointer to a time.Time value
+// representing seconds since Epoch or time.Time{} if the pointer is nil.
+func SecondsTimeValue(v *int64) time.Time {
+ if v != nil {
+ return time.Unix((*v / 1000), 0)
+ }
+ return time.Time{}
+}
+
+// MillisecondsTimeValue converts an int64 pointer to a time.Time value
+// representing milliseconds sinch Epoch or time.Time{} if the pointer is nil.
+func MillisecondsTimeValue(v *int64) time.Time {
+ if v != nil {
+ return time.Unix(0, (*v * 1000000))
+ }
+ return time.Time{}
+}
+
// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC".
// The result is undefined if the Unix time cannot be represented by an int64.
// Which includes calling TimeUnixMilli on a zero Time is undefined.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
index 8a7bafc7..495e3ef6 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
@@ -27,7 +27,7 @@ type lener interface {
// or will use the HTTPRequest.Header's "Content-Length" if defined. If unable
// to determine request body length and no "Content-Length" was specified it will panic.
//
-// The Content-Length will only be aded to the request if the length of the body
+// The Content-Length will only be added to the request if the length of the body
// is greater than 0. If the body is empty or the current `Content-Length`
// header is <= 0, the header will also be stripped.
var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLengthHandler", Fn: func(r *request.Request) {
@@ -71,8 +71,8 @@ var reStatusCode = regexp.MustCompile(`^(\d{3})`)
// ValidateReqSigHandler is a request handler to ensure that the request's
// signature doesn't expire before it is sent. This can happen when a request
-// is built and signed signficantly before it is sent. Or significant delays
-// occur whne retrying requests that would cause the signature to expire.
+// is built and signed significantly before it is sent. Or significant delays
+// occur when retrying requests that would cause the signature to expire.
var ValidateReqSigHandler = request.NamedHandler{
Name: "core.ValidateReqSigHandler",
Fn: func(r *request.Request) {
@@ -98,44 +98,95 @@ var ValidateReqSigHandler = request.NamedHandler{
}
// SendHandler is a request handler to send service request using HTTP client.
-var SendHandler = request.NamedHandler{Name: "core.SendHandler", Fn: func(r *request.Request) {
- var err error
- r.HTTPResponse, err = r.Config.HTTPClient.Do(r.HTTPRequest)
- if err != nil {
- // Prevent leaking if an HTTPResponse was returned. Clean up
- // the body.
- if r.HTTPResponse != nil {
- r.HTTPResponse.Body.Close()
+var SendHandler = request.NamedHandler{
+ Name: "core.SendHandler",
+ Fn: func(r *request.Request) {
+ sender := sendFollowRedirects
+ if r.DisableFollowRedirects {
+ sender = sendWithoutFollowRedirects
}
- // Capture the case where url.Error is returned for error processing
- // response. e.g. 301 without location header comes back as string
- // error and r.HTTPResponse is nil. Other url redirect errors will
- // comeback in a similar method.
- if e, ok := err.(*url.Error); ok && e.Err != nil {
- if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil {
- code, _ := strconv.ParseInt(s[1], 10, 64)
- r.HTTPResponse = &http.Response{
- StatusCode: int(code),
- Status: http.StatusText(int(code)),
- Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
- }
- return
- }
+
+ if request.NoBody == r.HTTPRequest.Body {
+ // Strip off the request body if the NoBody reader was used as a
+ // place holder for a request body. This prevents the SDK from
+ // making requests with a request body when it would be invalid
+ // to do so.
+ //
+ // Use a shallow copy of the http.Request to ensure the race condition
+ // of transport on Body will not trigger
+ reqOrig, reqCopy := r.HTTPRequest, *r.HTTPRequest
+ reqCopy.Body = nil
+ r.HTTPRequest = &reqCopy
+ defer func() {
+ r.HTTPRequest = reqOrig
+ }()
}
- if r.HTTPResponse == nil {
- // Add a dummy request response object to ensure the HTTPResponse
- // value is consistent.
+
+ var err error
+ r.HTTPResponse, err = sender(r)
+ if err != nil {
+ handleSendError(r, err)
+ }
+ },
+}
+
+func sendFollowRedirects(r *request.Request) (*http.Response, error) {
+ return r.Config.HTTPClient.Do(r.HTTPRequest)
+}
+
+func sendWithoutFollowRedirects(r *request.Request) (*http.Response, error) {
+ transport := r.Config.HTTPClient.Transport
+ if transport == nil {
+ transport = http.DefaultTransport
+ }
+
+ return transport.RoundTrip(r.HTTPRequest)
+}
+
+func handleSendError(r *request.Request, err error) {
+ // Prevent leaking if an HTTPResponse was returned. Clean up
+ // the body.
+ if r.HTTPResponse != nil {
+ r.HTTPResponse.Body.Close()
+ }
+ // Capture the case where url.Error is returned for error processing
+ // response. e.g. 301 without location header comes back as string
+ // error and r.HTTPResponse is nil. Other URL redirect errors will
+ // comeback in a similar method.
+ if e, ok := err.(*url.Error); ok && e.Err != nil {
+ if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil {
+ code, _ := strconv.ParseInt(s[1], 10, 64)
r.HTTPResponse = &http.Response{
- StatusCode: int(0),
- Status: http.StatusText(int(0)),
+ StatusCode: int(code),
+ Status: http.StatusText(int(code)),
Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
}
+ return
}
- // Catch all other request errors.
- r.Error = awserr.New("RequestError", "send request failed", err)
- r.Retryable = aws.Bool(true) // network errors are retryable
}
-}}
+ if r.HTTPResponse == nil {
+ // Add a dummy request response object to ensure the HTTPResponse
+ // value is consistent.
+ r.HTTPResponse = &http.Response{
+ StatusCode: int(0),
+ Status: http.StatusText(int(0)),
+ Body: ioutil.NopCloser(bytes.NewReader([]byte{})),
+ }
+ }
+ // Catch all other request errors.
+ r.Error = awserr.New("RequestError", "send request failed", err)
+ r.Retryable = aws.Bool(true) // network errors are retryable
+
+ // Override the error with a context canceled error, if that was canceled.
+ ctx := r.Context()
+ select {
+ case <-ctx.Done():
+ r.Error = awserr.New(request.CanceledErrorCode,
+ "request context canceled", ctx.Err())
+ r.Retryable = aws.Bool(false)
+ default:
+ }
+}
// ValidateResponseHandler is a request handler to validate service response.
var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseHandler", Fn: func(r *request.Request) {
@@ -150,13 +201,22 @@ var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseH
var AfterRetryHandler = request.NamedHandler{Name: "core.AfterRetryHandler", Fn: func(r *request.Request) {
// If one of the other handlers already set the retry state
// we don't want to override it based on the service's state
- if r.Retryable == nil {
+ if r.Retryable == nil || aws.BoolValue(r.Config.EnforceShouldRetryCheck) {
r.Retryable = aws.Bool(r.ShouldRetry(r))
}
if r.WillRetry() {
r.RetryDelay = r.RetryRules(r)
- r.Config.SleepDelay(r.RetryDelay)
+
+ if sleepFn := r.Config.SleepDelay; sleepFn != nil {
+ // Support SleepDelay for backwards compatibility and testing
+ sleepFn(r.RetryDelay)
+ } else if err := aws.SleepWithContext(r.Context(), r.RetryDelay); err != nil {
+ r.Error = awserr.New(request.CanceledErrorCode,
+ "request context canceled", err)
+ r.Retryable = aws.Bool(false)
+ return
+ }
// when the expired token exception occurs the credentials
// need to be expired locally so that the next request to
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
index 6efc77bf..f298d659 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go
@@ -13,7 +13,7 @@ var (
//
// @readonly
ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders",
- `no valid providers in chain. Deprecated.
+ `no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors`,
nil)
)
@@ -39,16 +39,18 @@ var (
// does not return any credentials ChainProvider will return the error
// ErrNoValidProvidersFoundInChain
//
-// creds := NewChainCredentials(
-// []Provider{
-// &EnvProvider{},
-// &EC2RoleProvider{
+// creds := credentials.NewChainCredentials(
+// []credentials.Provider{
+// &credentials.EnvProvider{},
+// &ec2rolecreds.EC2RoleProvider{
// Client: ec2metadata.New(sess),
// },
// })
//
// // Usage of ChainCredentials with aws.Config
-// svc := ec2.New(&aws.Config{Credentials: creds})
+// svc := ec2.New(session.Must(session.NewSession(&aws.Config{
+// Credentials: creds,
+// })))
//
type ChainProvider struct {
Providers []Provider
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
index 7b8ebf5f..42416fc2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go
@@ -14,7 +14,7 @@
//
// Example of using the environment variable credentials.
//
-// creds := NewEnvCredentials()
+// creds := credentials.NewEnvCredentials()
//
// // Retrieve the credentials value
// credValue, err := creds.Get()
@@ -26,7 +26,7 @@
// This may be helpful to proactively expire credentials and refresh them sooner
// than they would naturally expire on their own.
//
-// creds := NewCredentials(&EC2RoleProvider{})
+// creds := credentials.NewCredentials(&ec2rolecreds.EC2RoleProvider{})
// creds.Expire()
// credsValue, err := creds.Get()
// // New credentials will be retrieved instead of from cache.
@@ -43,7 +43,7 @@
// func (m *MyProvider) Retrieve() (Value, error) {...}
// func (m *MyProvider) IsExpired() bool {...}
//
-// creds := NewCredentials(&MyProvider{})
+// creds := credentials.NewCredentials(&MyProvider{})
// credValue, err := creds.Get()
//
package credentials
@@ -60,7 +60,9 @@ import (
// when making service API calls. For example, when accessing public
// s3 buckets.
//
-// svc := s3.New(&aws.Config{Credentials: AnonymousCredentials})
+// svc := s3.New(session.Must(session.NewSession(&aws.Config{
+// Credentials: credentials.AnonymousCredentials,
+// })))
// // Access public S3 buckets.
//
// @readonly
@@ -88,7 +90,7 @@ type Value struct {
// The Provider should not need to implement its own mutexes, because
// that will be managed by Credentials.
type Provider interface {
- // Refresh returns nil if it successfully retrieved the value.
+ // Retrieve returns nil if it successfully retrieved the value.
// Error is returned if the value were not obtainable, or empty.
Retrieve() (Value, error)
@@ -97,6 +99,27 @@ type Provider interface {
IsExpired() bool
}
+// An ErrorProvider is a stub credentials provider that always returns an error
+// this is used by the SDK when construction a known provider is not possible
+// due to an error.
+type ErrorProvider struct {
+ // The error to be returned from Retrieve
+ Err error
+
+ // The provider name to set on the Retrieved returned Value
+ ProviderName string
+}
+
+// Retrieve will always return the error that the ErrorProvider was created with.
+func (p ErrorProvider) Retrieve() (Value, error) {
+ return Value{ProviderName: p.ProviderName}, p.Err
+}
+
+// IsExpired will always return not expired.
+func (p ErrorProvider) IsExpired() bool {
+ return false
+}
+
// A Expiry provides shared expiration logic to be used by credentials
// providers to implement expiry functionality.
//
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
index 96655bc4..c14231a1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go
@@ -29,6 +29,7 @@ var (
// Environment variables used:
//
// * Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
+//
// * Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
type EnvProvider struct {
retrieved bool
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
index 7fb7cbf0..51e21e0f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
@@ -3,11 +3,11 @@ package credentials
import (
"fmt"
"os"
- "path/filepath"
"github.com/go-ini/ini"
"github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/internal/shareddefaults"
)
// SharedCredsProviderName provides a name of SharedCreds provider
@@ -15,8 +15,6 @@ const SharedCredsProviderName = "SharedCredentialsProvider"
var (
// ErrSharedCredentialsHomeNotFound is emitted when the user directory cannot be found.
- //
- // @readonly
ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil)
)
@@ -117,22 +115,23 @@ func loadProfile(filename, profile string) (Value, error) {
//
// Will return an error if the user's home directory path cannot be found.
func (p *SharedCredentialsProvider) filename() (string, error) {
- if p.Filename == "" {
- if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); p.Filename != "" {
- return p.Filename, nil
- }
-
- homeDir := os.Getenv("HOME") // *nix
- if homeDir == "" { // Windows
- homeDir = os.Getenv("USERPROFILE")
- }
- if homeDir == "" {
- return "", ErrSharedCredentialsHomeNotFound
- }
-
- p.Filename = filepath.Join(homeDir, ".aws", "credentials")
+ if len(p.Filename) != 0 {
+ return p.Filename, nil
+ }
+
+ if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(p.Filename) != 0 {
+ return p.Filename, nil
}
+ if home := shareddefaults.UserHomeDir(); len(home) == 0 {
+ // Backwards compatibility of home directly not found error being returned.
+ // This error is too verbose, failure when opening the file would of been
+ // a better error to return.
+ return "", ErrSharedCredentialsHomeNotFound
+ }
+
+ p.Filename = shareddefaults.SharedCredentialsFilename()
+
return p.Filename, nil
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
index b8406233..4108e433 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go
@@ -12,7 +12,7 @@ between multiple Credentials, Sessions or service clients.
Assume Role
To assume an IAM role using STS with the SDK you can create a new Credentials
-with the SDKs's stscreds package.
+with the SDKs's stscreds package.
// Initial credentials loaded from SDK's default credential chain. Such as
// the environment, shared credentials (~/.aws/credentials), or EC2 Instance
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
index 0ef55040..07afe3b8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go
@@ -10,10 +10,12 @@ package defaults
import (
"fmt"
"net/http"
+ "net/url"
"os"
"time"
"github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/corehandlers"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
@@ -56,7 +58,6 @@ func Config() *aws.Config {
WithMaxRetries(aws.UseServiceDefaultRetries).
WithLogger(aws.NewDefaultLogger()).
WithLogLevel(aws.LogOff).
- WithSleepDelay(time.Sleep).
WithEndpointResolver(endpoints.DefaultResolver())
}
@@ -97,23 +98,51 @@ func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credenti
})
}
-// RemoteCredProvider returns a credenitials provider for the default remote
+const (
+ httpProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_FULL_URI"
+ ecsCredsProviderEnvVar = "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"
+)
+
+// RemoteCredProvider returns a credentials provider for the default remote
// endpoints such as EC2 or ECS Roles.
func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider {
- ecsCredURI := os.Getenv("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")
+ if u := os.Getenv(httpProviderEnvVar); len(u) > 0 {
+ return localHTTPCredProvider(cfg, handlers, u)
+ }
- if len(ecsCredURI) > 0 {
- return ecsCredProvider(cfg, handlers, ecsCredURI)
+ if uri := os.Getenv(ecsCredsProviderEnvVar); len(uri) > 0 {
+ u := fmt.Sprintf("http://169.254.170.2%s", uri)
+ return httpCredProvider(cfg, handlers, u)
}
return ec2RoleProvider(cfg, handlers)
}
-func ecsCredProvider(cfg aws.Config, handlers request.Handlers, uri string) credentials.Provider {
- const host = `169.254.170.2`
+func localHTTPCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
+ var errMsg string
+
+ parsed, err := url.Parse(u)
+ if err != nil {
+ errMsg = fmt.Sprintf("invalid URL, %v", err)
+ } else if host := aws.URLHostname(parsed); !(host == "localhost" || host == "127.0.0.1") {
+ errMsg = fmt.Sprintf("invalid host address, %q, only localhost and 127.0.0.1 are valid.", host)
+ }
+
+ if len(errMsg) > 0 {
+ if cfg.Logger != nil {
+ cfg.Logger.Log("Ignoring, HTTP credential provider", errMsg, err)
+ }
+ return credentials.ErrorProvider{
+ Err: awserr.New("CredentialsEndpointError", errMsg, err),
+ ProviderName: endpointcreds.ProviderName,
+ }
+ }
+
+ return httpCredProvider(cfg, handlers, u)
+}
- return endpointcreds.NewProviderClient(cfg, handlers,
- fmt.Sprintf("http://%s%s", host, uri),
+func httpCredProvider(cfg aws.Config, handlers request.Handlers, u string) credentials.Provider {
+ return endpointcreds.NewProviderClient(cfg, handlers, u,
func(p *endpointcreds.Provider) {
p.ExpiryWindow = 5 * time.Minute
},
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go
new file mode 100644
index 00000000..ca0ee1dc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/defaults/shared_config.go
@@ -0,0 +1,27 @@
+package defaults
+
+import (
+ "github.com/aws/aws-sdk-go/internal/shareddefaults"
+)
+
+// SharedCredentialsFilename returns the SDK's default file path
+// for the shared credentials file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/credentials
+// - Windows: %USERPROFILE%\.aws\credentials
+func SharedCredentialsFilename() string {
+ return shareddefaults.SharedCredentialsFilename()
+}
+
+// SharedConfigFilename returns the SDK's default file path for
+// the shared config file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/config
+// - Windows: %USERPROFILE%\.aws\config
+func SharedConfigFilename() string {
+ return shareddefaults.SharedConfigFilename()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/doc.go
new file mode 100644
index 00000000..4fcb6161
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/doc.go
@@ -0,0 +1,56 @@
+// Package aws provides the core SDK's utilities and shared types. Use this package's
+// utilities to simplify setting and reading API operations parameters.
+//
+// Value and Pointer Conversion Utilities
+//
+// This package includes a helper conversion utility for each scalar type the SDK's
+// API use. These utilities make getting a pointer of the scalar, and dereferencing
+// a pointer easier.
+//
+// Each conversion utility comes in two forms. Value to Pointer and Pointer to Value.
+// The Pointer to value will safely dereference the pointer and return its value.
+// If the pointer was nil, the scalar's zero value will be returned.
+//
+// The value to pointer functions will be named after the scalar type. So get a
+// *string from a string value use the "String" function. This makes it easy to
+// to get pointer of a literal string value, because getting the address of a
+// literal requires assigning the value to a variable first.
+//
+// var strPtr *string
+//
+// // Without the SDK's conversion functions
+// str := "my string"
+// strPtr = &str
+//
+// // With the SDK's conversion functions
+// strPtr = aws.String("my string")
+//
+// // Convert *string to string value
+// str = aws.StringValue(strPtr)
+//
+// In addition to scalars the aws package also includes conversion utilities for
+// map and slice for commonly types used in API parameters. The map and slice
+// conversion functions use similar naming pattern as the scalar conversion
+// functions.
+//
+// var strPtrs []*string
+// var strs []string = []string{"Go", "Gophers", "Go"}
+//
+// // Convert []string to []*string
+// strPtrs = aws.StringSlice(strs)
+//
+// // Convert []*string to []string
+// strs = aws.StringValueSlice(strPtrs)
+//
+// SDK Default HTTP Client
+//
+// The SDK will use the http.DefaultClient if a HTTP client is not provided to
+// the SDK's Session, or service client constructor. This means that if the
+// http.DefaultClient is modified by other components of your application the
+// modifications will be picked up by the SDK as well.
+//
+// In some cases this might be intended, but it is a better practice to create
+// a custom HTTP Client to share explicitly through your application. You can
+// configure the SDK to use the custom HTTP Client by setting the HTTPClient
+// value of the SDK's Config type when creating a Session or service client.
+package aws
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index 53616560..899087ec 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT.
package endpoints
@@ -47,6 +47,7 @@ const (
ApigatewayServiceID = "apigateway" // Apigateway.
ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling.
Appstream2ServiceID = "appstream2" // Appstream2.
+ AthenaServiceID = "athena" // Athena.
AutoscalingServiceID = "autoscaling" // Autoscaling.
BatchServiceID = "batch" // Batch.
BudgetsServiceID = "budgets" // Budgets.
@@ -60,6 +61,7 @@ const (
CodecommitServiceID = "codecommit" // Codecommit.
CodedeployServiceID = "codedeploy" // Codedeploy.
CodepipelineServiceID = "codepipeline" // Codepipeline.
+ CodestarServiceID = "codestar" // Codestar.
CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity.
CognitoIdpServiceID = "cognito-idp" // CognitoIdp.
CognitoSyncServiceID = "cognito-sync" // CognitoSync.
@@ -83,11 +85,13 @@ const (
ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce.
ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder.
EmailServiceID = "email" // Email.
+ EntitlementMarketplaceServiceID = "entitlement.marketplace" // EntitlementMarketplace.
EsServiceID = "es" // Es.
EventsServiceID = "events" // Events.
FirehoseServiceID = "firehose" // Firehose.
GameliftServiceID = "gamelift" // Gamelift.
GlacierServiceID = "glacier" // Glacier.
+ GreengrassServiceID = "greengrass" // Greengrass.
HealthServiceID = "health" // Health.
IamServiceID = "iam" // Iam.
ImportexportServiceID = "importexport" // Importexport.
@@ -103,9 +107,12 @@ const (
MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics.
MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace.
MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics.
+ ModelsLexServiceID = "models.lex" // ModelsLex.
MonitoringServiceID = "monitoring" // Monitoring.
+ MturkRequesterServiceID = "mturk-requester" // MturkRequester.
OpsworksServiceID = "opsworks" // Opsworks.
OpsworksCmServiceID = "opsworks-cm" // OpsworksCm.
+ OrganizationsServiceID = "organizations" // Organizations.
PinpointServiceID = "pinpoint" // Pinpoint.
PollyServiceID = "polly" // Polly.
RdsServiceID = "rds" // Rds.
@@ -129,8 +136,10 @@ const (
StsServiceID = "sts" // Sts.
SupportServiceID = "support" // Support.
SwfServiceID = "swf" // Swf.
+ TaggingServiceID = "tagging" // Tagging.
WafServiceID = "waf" // Waf.
WafRegionalServiceID = "waf-regional" // WafRegional.
+ WorkdocsServiceID = "workdocs" // Workdocs.
WorkspacesServiceID = "workspaces" // Workspaces.
XrayServiceID = "xray" // Xray.
)
@@ -138,17 +147,20 @@ const (
// DefaultResolver returns an Endpoint resolver that will be able
// to resolve endpoints for: AWS Standard, AWS China, and AWS GovCloud (US).
//
-// Casting the return value of this func to a EnumPartitions will
-// allow you to get a list of the partitions in the order the endpoints
-// will be resolved in.
+// Use DefaultPartitions() to get the list of the default partitions.
+func DefaultResolver() Resolver {
+ return defaultPartitions
+}
+
+// DefaultPartitions returns a list of the partitions the SDK is bundled
+// with. The available partitions are: AWS Standard, AWS China, and AWS GovCloud (US).
//
-// resolver := endpoints.DefaultResolver()
-// partitions := resolver.(endpoints.EnumPartitions).Partitions()
+// partitions := endpoints.DefaultPartitions
// for _, p := range partitions {
// // ... inspect partitions
// }
-func DefaultResolver() Resolver {
- return defaultPartitions
+func DefaultPartitions() []Partition {
+ return defaultPartitions.Partitions()
}
var defaultPartitions = partitions{
@@ -246,11 +258,14 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-1": endpoint{},
@@ -296,6 +311,17 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "athena": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"autoscaling": service{
Defaults: endpoint{
Protocols: []string{"http", "https"},
@@ -320,7 +346,14 @@ var awsPartition = partition{
"batch": service{
Endpoints: endpoints{
- "us-east-1": endpoint{},
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
},
},
"budgets": service{
@@ -342,6 +375,7 @@ var awsPartition = partition{
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -432,19 +466,36 @@ var awsPartition = partition{
"codebuild": service{
Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"codecommit": service{
Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
},
},
"codedeploy": service{
@@ -472,11 +523,26 @@ var awsPartition = partition{
"ap-northeast-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
+ "codestar": service{
+
+ Endpoints: endpoints{
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
"us-west-2": endpoint{},
},
},
@@ -485,9 +551,11 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -498,9 +566,11 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -511,9 +581,11 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -608,11 +680,15 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
+ "us-east-2": endpoint{},
"us-west-2": endpoint{},
},
},
@@ -749,10 +825,11 @@ var awsPartition = partition{
"elasticfilesystem": service{
Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
},
},
"elasticloadbalancing": service{
@@ -823,6 +900,16 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "entitlement.marketplace": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
"es": service{
Endpoints: endpoints{
@@ -831,8 +918,10 @@ var awsPartition = partition{
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
@@ -848,6 +937,7 @@ var awsPartition = partition{
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
@@ -899,6 +989,18 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "greengrass": service{
+ IsRegionalized: boxedTrue,
+ Defaults: endpoint{
+ Protocols: []string{"https"},
+ },
+ Endpoints: endpoints{
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"health": service{
Endpoints: endpoints{
@@ -942,6 +1044,7 @@ var awsPartition = partition{
"ap-southeast-2": endpoint{},
"eu-west-1": endpoint{},
"us-east-1": endpoint{},
+ "us-west-1": endpoint{},
"us-west-2": endpoint{},
},
},
@@ -958,6 +1061,7 @@ var awsPartition = partition{
"ap-southeast-2": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-2": endpoint{},
@@ -1014,11 +1118,14 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
"us-west-1": endpoint{},
@@ -1028,7 +1135,16 @@ var awsPartition = partition{
"lightsail": service{
Endpoints: endpoints{
- "us-east-1": endpoint{},
+ "ap-northeast-1": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
},
},
"logs": service{
@@ -1075,10 +1191,13 @@ var awsPartition = partition{
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
+ "us-east-2": endpoint{},
"us-west-1": endpoint{},
"us-west-2": endpoint{},
},
@@ -1089,6 +1208,16 @@ var awsPartition = partition{
"us-east-1": endpoint{},
},
},
+ "models.lex": service{
+ Defaults: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ Endpoints: endpoints{
+ "us-east-1": endpoint{},
+ },
+ },
"monitoring": service{
Defaults: endpoint{
Protocols: []string{"http", "https"},
@@ -1110,6 +1239,16 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "mturk-requester": service{
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "sandbox": endpoint{
+ Hostname: "mturk-requester-sandbox.us-east-1.amazonaws.com",
+ },
+ "us-east-1": endpoint{},
+ },
+ },
"opsworks": service{
Endpoints: endpoints{
@@ -1136,6 +1275,19 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "organizations": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+
+ Endpoints: endpoints{
+ "aws-global": endpoint{
+ Hostname: "organizations.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ },
+ },
"pinpoint": service{
Defaults: endpoint{
CredentialScope: credentialScope{
@@ -1336,9 +1488,16 @@ var awsPartition = partition{
"sms": service{
Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-2": endpoint{},
},
},
"snowball": service{
@@ -1346,7 +1505,6 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-south-1": endpoint{},
"ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"eu-west-2": endpoint{},
@@ -1406,10 +1564,13 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
@@ -1421,6 +1582,8 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-central-1": endpoint{},
"eu-west-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
@@ -1432,6 +1595,7 @@ var awsPartition = partition{
Endpoints: endpoints{
"ap-northeast-1": endpoint{},
"ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
"ca-central-1": endpoint{},
@@ -1447,7 +1611,7 @@ var awsPartition = partition{
},
"streams.dynamodb": service{
Defaults: endpoint{
- Protocols: []string{"http", "http", "https", "https"},
+ Protocols: []string{"http", "https"},
CredentialScope: credentialScope{
Service: "dynamodb",
},
@@ -1502,9 +1666,33 @@ var awsPartition = partition{
"eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ "us-east-1-fips": endpoint{
+ Hostname: "sts-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ "us-east-2": endpoint{},
+ "us-east-2-fips": endpoint{
+ Hostname: "sts-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ "us-west-1": endpoint{},
+ "us-west-1-fips": endpoint{
+ Hostname: "sts-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ "us-west-2": endpoint{},
+ "us-west-2-fips": endpoint{
+ Hostname: "sts-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
},
},
"support": service{
@@ -1532,6 +1720,25 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "tagging": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-northeast-2": endpoint{},
+ "ap-south-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
+ "eu-central-1": endpoint{},
+ "eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
+ "sa-east-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-east-2": endpoint{},
+ "us-west-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"waf": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
@@ -1554,6 +1761,17 @@ var awsPartition = partition{
"us-west-2": endpoint{},
},
},
+ "workdocs": service{
+
+ Endpoints: endpoints{
+ "ap-northeast-1": endpoint{},
+ "ap-southeast-1": endpoint{},
+ "ap-southeast-2": endpoint{},
+ "eu-west-1": endpoint{},
+ "us-east-1": endpoint{},
+ "us-west-2": endpoint{},
+ },
+ },
"workspaces": service{
Endpoints: endpoints{
@@ -1574,8 +1792,10 @@ var awsPartition = partition{
"ap-south-1": endpoint{},
"ap-southeast-1": endpoint{},
"ap-southeast-2": endpoint{},
+ "ca-central-1": endpoint{},
"eu-central-1": endpoint{},
"eu-west-1": endpoint{},
+ "eu-west-2": endpoint{},
"sa-east-1": endpoint{},
"us-east-1": endpoint{},
"us-east-2": endpoint{},
@@ -1632,6 +1852,12 @@ var awscnPartition = partition{
"cn-north-1": endpoint{},
},
},
+ "codedeploy": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
"config": service{
Endpoints: endpoints{
@@ -1671,6 +1897,18 @@ var awscnPartition = partition{
},
},
},
+ "ecr": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
+ "ecs": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
"elasticache": service{
Endpoints: endpoints{
@@ -1784,6 +2022,12 @@ var awscnPartition = partition{
"cn-north-1": endpoint{},
},
},
+ "ssm": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
"storagegateway": service{
Endpoints: endpoints{
@@ -1792,7 +2036,7 @@ var awscnPartition = partition{
},
"streams.dynamodb": service{
Defaults: endpoint{
- Protocols: []string{"http", "http", "https", "https"},
+ Protocols: []string{"http", "https"},
CredentialScope: credentialScope{
Service: "dynamodb",
},
@@ -1813,6 +2057,12 @@ var awscnPartition = partition{
"cn-north-1": endpoint{},
},
},
+ "tagging": service{
+
+ Endpoints: endpoints{
+ "cn-north-1": endpoint{},
+ },
+ },
},
}
@@ -1868,6 +2118,12 @@ var awsusgovPartition = partition{
"us-gov-west-1": endpoint{},
},
},
+ "codedeploy": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"config": service{
Endpoints: endpoints{
@@ -1925,6 +2181,12 @@ var awsusgovPartition = partition{
},
},
},
+ "events": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"glacier": service{
Endpoints: endpoints{
@@ -1946,12 +2208,24 @@ var awsusgovPartition = partition{
},
},
},
+ "kinesis": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"kms": service{
Endpoints: endpoints{
"us-gov-west-1": endpoint{},
},
},
+ "lambda": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"logs": service{
Endpoints: endpoints{
@@ -1976,6 +2250,12 @@ var awsusgovPartition = partition{
"us-gov-west-1": endpoint{},
},
},
+ "rekognition": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"s3": service{
Defaults: endpoint{
SignatureVersions: []string{"s3", "s3v4"},
@@ -1993,6 +2273,12 @@ var awsusgovPartition = partition{
},
},
},
+ "sms": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"snowball": service{
Endpoints: endpoints{
@@ -2016,6 +2302,12 @@ var awsusgovPartition = partition{
},
},
},
+ "ssm": service{
+
+ Endpoints: endpoints{
+ "us-gov-west-1": endpoint{},
+ },
+ },
"streams.dynamodb": service{
Defaults: endpoint{
CredentialScope: credentialScope{
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
index a0e9bc45..84316b92 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go
@@ -21,12 +21,12 @@
// partitions := resolver.(endpoints.EnumPartitions).Partitions()
//
// for _, p := range partitions {
-// fmt.Println("Regions for", p.Name)
+// fmt.Println("Regions for", p.ID())
// for id, _ := range p.Regions() {
// fmt.Println("*", id)
// }
//
-// fmt.Println("Services for", p.Name)
+// fmt.Println("Services for", p.ID())
// for id, _ := range p.Services() {
// fmt.Println("*", id)
// }
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
index 37e19ab0..9c3eedb4 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
@@ -124,6 +124,49 @@ type EnumPartitions interface {
Partitions() []Partition
}
+// RegionsForService returns a map of regions for the partition and service.
+// If either the partition or service does not exist false will be returned
+// as the second parameter.
+//
+// This example shows how to get the regions for DynamoDB in the AWS partition.
+// rs, exists := endpoints.RegionsForService(endpoints.DefaultPartitions(), endpoints.AwsPartitionID, endpoints.DynamodbServiceID)
+//
+// This is equivalent to using the partition directly.
+// rs := endpoints.AwsPartition().Services()[endpoints.DynamodbServiceID].Regions()
+func RegionsForService(ps []Partition, partitionID, serviceID string) (map[string]Region, bool) {
+ for _, p := range ps {
+ if p.ID() != partitionID {
+ continue
+ }
+ if _, ok := p.p.Services[serviceID]; !ok {
+ break
+ }
+
+ s := Service{
+ id: serviceID,
+ p: p.p,
+ }
+ return s.Regions(), true
+ }
+
+ return map[string]Region{}, false
+}
+
+// PartitionForRegion returns the first partition which includes the region
+// passed in. This includes both known regions and regions which match
+// a pattern supported by the partition which may include regions that are
+// not explicitly known by the partition. Use the Regions method of the
+// returned Partition if explicit support is needed.
+func PartitionForRegion(ps []Partition, regionID string) (Partition, bool) {
+ for _, p := range ps {
+ if _, ok := p.p.Regions[regionID]; ok || p.p.RegionRegex.MatchString(regionID) {
+ return p, true
+ }
+ }
+
+ return Partition{}, false
+}
+
// A Partition provides the ability to enumerate the partition's regions
// and services.
type Partition struct {
@@ -132,7 +175,7 @@ type Partition struct {
}
// ID returns the identifier of the partition.
-func (p *Partition) ID() string { return p.id }
+func (p Partition) ID() string { return p.id }
// EndpointFor attempts to resolve the endpoint based on service and region.
// See Options for information on configuring how the endpoint is resolved.
@@ -155,13 +198,13 @@ func (p *Partition) ID() string { return p.id }
// Errors that can be returned.
// * UnknownServiceError
// * UnknownEndpointError
-func (p *Partition) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+func (p Partition) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
return p.p.EndpointFor(service, region, opts...)
}
// Regions returns a map of Regions indexed by their ID. This is useful for
// enumerating over the regions in a partition.
-func (p *Partition) Regions() map[string]Region {
+func (p Partition) Regions() map[string]Region {
rs := map[string]Region{}
for id := range p.p.Regions {
rs[id] = Region{
@@ -175,7 +218,7 @@ func (p *Partition) Regions() map[string]Region {
// Services returns a map of Service indexed by their ID. This is useful for
// enumerating over the services in a partition.
-func (p *Partition) Services() map[string]Service {
+func (p Partition) Services() map[string]Service {
ss := map[string]Service{}
for id := range p.p.Services {
ss[id] = Service{
@@ -195,16 +238,16 @@ type Region struct {
}
// ID returns the region's identifier.
-func (r *Region) ID() string { return r.id }
+func (r Region) ID() string { return r.id }
// ResolveEndpoint resolves an endpoint from the context of the region given
// a service. See Partition.EndpointFor for usage and errors that can be returned.
-func (r *Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) {
return r.p.EndpointFor(service, r.id, opts...)
}
// Services returns a list of all services that are known to be in this region.
-func (r *Region) Services() map[string]Service {
+func (r Region) Services() map[string]Service {
ss := map[string]Service{}
for id, s := range r.p.Services {
if _, ok := s.Endpoints[r.id]; ok {
@@ -226,17 +269,38 @@ type Service struct {
}
// ID returns the identifier for the service.
-func (s *Service) ID() string { return s.id }
+func (s Service) ID() string { return s.id }
// ResolveEndpoint resolves an endpoint from the context of a service given
// a region. See Partition.EndpointFor for usage and errors that can be returned.
-func (s *Service) ResolveEndpoint(region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
+func (s Service) ResolveEndpoint(region string, opts ...func(*Options)) (ResolvedEndpoint, error) {
return s.p.EndpointFor(s.id, region, opts...)
}
+// Regions returns a map of Regions that the service is present in.
+//
+// A region is the AWS region the service exists in. Whereas a Endpoint is
+// an URL that can be resolved to a instance of a service.
+func (s Service) Regions() map[string]Region {
+ rs := map[string]Region{}
+ for id := range s.p.Services[s.id].Endpoints {
+ if _, ok := s.p.Regions[id]; ok {
+ rs[id] = Region{
+ id: id,
+ p: s.p,
+ }
+ }
+ }
+
+ return rs
+}
+
// Endpoints returns a map of Endpoints indexed by their ID for all known
// endpoints for a service.
-func (s *Service) Endpoints() map[string]Endpoint {
+//
+// A region is the AWS region the service exists in. Whereas a Endpoint is
+// an URL that can be resolved to a instance of a service.
+func (s Service) Endpoints() map[string]Endpoint {
es := map[string]Endpoint{}
for id := range s.p.Services[s.id].Endpoints {
es[id] = Endpoint{
@@ -259,15 +323,15 @@ type Endpoint struct {
}
// ID returns the identifier for an endpoint.
-func (e *Endpoint) ID() string { return e.id }
+func (e Endpoint) ID() string { return e.id }
// ServiceID returns the identifier the endpoint belongs to.
-func (e *Endpoint) ServiceID() string { return e.serviceID }
+func (e Endpoint) ServiceID() string { return e.serviceID }
// ResolveEndpoint resolves an endpoint from the context of a service and
// region the endpoint represents. See Partition.EndpointFor for usage and
// errors that can be returned.
-func (e *Endpoint) ResolveEndpoint(opts ...func(*Options)) (ResolvedEndpoint, error) {
+func (e Endpoint) ResolveEndpoint(opts ...func(*Options)) (ResolvedEndpoint, error) {
return e.p.EndpointFor(e.serviceID, e.id, opts...)
}
@@ -300,28 +364,6 @@ type EndpointNotFoundError struct {
Region string
}
-//// NewEndpointNotFoundError builds and returns NewEndpointNotFoundError.
-//func NewEndpointNotFoundError(p, s, r string) EndpointNotFoundError {
-// return EndpointNotFoundError{
-// awsError: awserr.New("EndpointNotFoundError", "unable to find endpoint", nil),
-// Partition: p,
-// Service: s,
-// Region: r,
-// }
-//}
-//
-//// Error returns string representation of the error.
-//func (e EndpointNotFoundError) Error() string {
-// extra := fmt.Sprintf("partition: %q, service: %q, region: %q",
-// e.Partition, e.Service, e.Region)
-// return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr())
-//}
-//
-//// String returns the string representation of the error.
-//func (e EndpointNotFoundError) String() string {
-// return e.Error()
-//}
-
// A UnknownServiceError is returned when the service does not resolve to an
// endpoint. Includes a list of all known services for the partition. Returned
// when a partition does not support the service.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
index 1e7369db..05e92df2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
@@ -158,7 +158,7 @@ var funcMap = template.FuncMap{
const v3Tmpl = `
{{ define "defaults" -}}
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT.
package endpoints
@@ -209,17 +209,20 @@ import (
// DefaultResolver returns an Endpoint resolver that will be able
// to resolve endpoints for: {{ ListPartitionNames . }}.
//
- // Casting the return value of this func to a EnumPartitions will
- // allow you to get a list of the partitions in the order the endpoints
- // will be resolved in.
+ // Use DefaultPartitions() to get the list of the default partitions.
+ func DefaultResolver() Resolver {
+ return defaultPartitions
+ }
+
+ // DefaultPartitions returns a list of the partitions the SDK is bundled
+ // with. The available partitions are: {{ ListPartitionNames . }}.
//
- // resolver := endpoints.DefaultResolver()
- // partitions := resolver.(endpoints.EnumPartitions).Partitions()
+ // partitions := endpoints.DefaultPartitions
// for _, p := range partitions {
// // ... inspect partitions
// }
- func DefaultResolver() Resolver {
- return defaultPartitions
+ func DefaultPartitions() []Partition {
+ return defaultPartitions.Partitions()
}
var defaultPartitions = partitions{
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go
new file mode 100644
index 00000000..91a6f277
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go
@@ -0,0 +1,12 @@
+package aws
+
+// JSONValue is a representation of a grab bag type that will be marshaled
+// into a json string. This type can be used just like any other map.
+//
+// Example:
+//
+// values := aws.JSONValue{
+// "Foo": "Bar",
+// }
+// values["Baz"] = "Qux"
+type JSONValue map[string]interface{}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/logger.go
index db87188e..3babb5ab 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/logger.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/logger.go
@@ -26,14 +26,14 @@ func (l *LogLevelType) Value() LogLevelType {
// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be
// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If
-// LogLevel is nill, will default to LogOff comparison.
+// LogLevel is nil, will default to LogOff comparison.
func (l *LogLevelType) Matches(v LogLevelType) bool {
c := l.Value()
return c&v == v
}
// AtLeast returns true if this LogLevel is at least high enough to satisfies v.
-// Is safe to use on nil value LogLevelTypes. If LogLevel is nill, will default
+// Is safe to use on nil value LogLevelTypes. If LogLevel is nil, will default
// to LogOff comparison.
func (l *LogLevelType) AtLeast(v LogLevelType) bool {
c := l.Value()
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
new file mode 100644
index 00000000..271da432
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/connection_reset_error.go
@@ -0,0 +1,19 @@
+// +build !appengine,!plan9
+
+package request
+
+import (
+ "net"
+ "os"
+ "syscall"
+)
+
+func isErrConnectionReset(err error) bool {
+ if opErr, ok := err.(*net.OpError); ok {
+ if sysErr, ok := opErr.Err.(*os.SyscallError); ok {
+ return sysErr.Err == syscall.ECONNRESET
+ }
+ }
+
+ return false
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
index 5279c19c..802ac88a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go
@@ -18,6 +18,7 @@ type Handlers struct {
UnmarshalError HandlerList
Retry HandlerList
AfterRetry HandlerList
+ Complete HandlerList
}
// Copy returns of this handler's lists.
@@ -33,6 +34,7 @@ func (h *Handlers) Copy() Handlers {
UnmarshalMeta: h.UnmarshalMeta.copy(),
Retry: h.Retry.copy(),
AfterRetry: h.AfterRetry.copy(),
+ Complete: h.Complete.copy(),
}
}
@@ -48,6 +50,7 @@ func (h *Handlers) Clear() {
h.ValidateResponse.Clear()
h.Retry.Clear()
h.AfterRetry.Clear()
+ h.Complete.Clear()
}
// A HandlerListRunItem represents an entry in the HandlerList which
@@ -85,13 +88,17 @@ func (l *HandlerList) copy() HandlerList {
n := HandlerList{
AfterEachFn: l.AfterEachFn,
}
- n.list = append([]NamedHandler{}, l.list...)
+ if len(l.list) == 0 {
+ return n
+ }
+
+ n.list = append(make([]NamedHandler, 0, len(l.list)), l.list...)
return n
}
// Clear clears the handler list.
func (l *HandlerList) Clear() {
- l.list = []NamedHandler{}
+ l.list = l.list[0:0]
}
// Len returns the number of handlers in the list.
@@ -101,33 +108,85 @@ func (l *HandlerList) Len() int {
// PushBack pushes handler f to the back of the handler list.
func (l *HandlerList) PushBack(f func(*Request)) {
- l.list = append(l.list, NamedHandler{"__anonymous", f})
-}
-
-// PushFront pushes handler f to the front of the handler list.
-func (l *HandlerList) PushFront(f func(*Request)) {
- l.list = append([]NamedHandler{{"__anonymous", f}}, l.list...)
+ l.PushBackNamed(NamedHandler{"__anonymous", f})
}
// PushBackNamed pushes named handler f to the back of the handler list.
func (l *HandlerList) PushBackNamed(n NamedHandler) {
+ if cap(l.list) == 0 {
+ l.list = make([]NamedHandler, 0, 5)
+ }
l.list = append(l.list, n)
}
+// PushFront pushes handler f to the front of the handler list.
+func (l *HandlerList) PushFront(f func(*Request)) {
+ l.PushFrontNamed(NamedHandler{"__anonymous", f})
+}
+
// PushFrontNamed pushes named handler f to the front of the handler list.
func (l *HandlerList) PushFrontNamed(n NamedHandler) {
- l.list = append([]NamedHandler{n}, l.list...)
+ if cap(l.list) == len(l.list) {
+ // Allocating new list required
+ l.list = append([]NamedHandler{n}, l.list...)
+ } else {
+ // Enough room to prepend into list.
+ l.list = append(l.list, NamedHandler{})
+ copy(l.list[1:], l.list)
+ l.list[0] = n
+ }
}
// Remove removes a NamedHandler n
func (l *HandlerList) Remove(n NamedHandler) {
- newlist := []NamedHandler{}
- for _, m := range l.list {
- if m.Name != n.Name {
- newlist = append(newlist, m)
+ l.RemoveByName(n.Name)
+}
+
+// RemoveByName removes a NamedHandler by name.
+func (l *HandlerList) RemoveByName(name string) {
+ for i := 0; i < len(l.list); i++ {
+ m := l.list[i]
+ if m.Name == name {
+ // Shift array preventing creating new arrays
+ copy(l.list[i:], l.list[i+1:])
+ l.list[len(l.list)-1] = NamedHandler{}
+ l.list = l.list[:len(l.list)-1]
+
+ // decrement list so next check to length is correct
+ i--
}
}
- l.list = newlist
+}
+
+// SwapNamed will swap out any existing handlers with the same name as the
+// passed in NamedHandler returning true if handlers were swapped. False is
+// returned otherwise.
+func (l *HandlerList) SwapNamed(n NamedHandler) (swapped bool) {
+ for i := 0; i < len(l.list); i++ {
+ if l.list[i].Name == n.Name {
+ l.list[i].Fn = n.Fn
+ swapped = true
+ }
+ }
+
+ return swapped
+}
+
+// SetBackNamed will replace the named handler if it exists in the handler list.
+// If the handler does not exist the handler will be added to the end of the list.
+func (l *HandlerList) SetBackNamed(n NamedHandler) {
+ if !l.SwapNamed(n) {
+ l.PushBackNamed(n)
+ }
+}
+
+// SetFrontNamed will replace the named handler if it exists in the handler list.
+// If the handler does not exist the handler will be added to the beginning of
+// the list.
+func (l *HandlerList) SetFrontNamed(n NamedHandler) {
+ if !l.SwapNamed(n) {
+ l.PushFrontNamed(n)
+ }
}
// Run executes all handlers in the list with a given request object.
@@ -163,6 +222,16 @@ func HandlerListStopOnError(item HandlerListRunItem) bool {
return item.Request.Error == nil
}
+// WithAppendUserAgent will add a string to the user agent prefixed with a
+// single white space.
+func WithAppendUserAgent(s string) Option {
+ return func(r *Request) {
+ r.Handlers.Build.PushBack(func(r2 *Request) {
+ AddToUserAgent(r, s)
+ })
+ }
+}
+
// MakeAddToUserAgentHandler will add the name/version pair to the User-Agent request
// header. If the extra parameters are provided they will be added as metadata to the
// name/version pair resulting in the following format.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
index 77312bb6..088ba529 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
@@ -16,6 +16,24 @@ import (
"github.com/aws/aws-sdk-go/aws/client/metadata"
)
+const (
+ // ErrCodeSerialization is the serialization error code that is received
+ // during protocol unmarshaling.
+ ErrCodeSerialization = "SerializationError"
+
+ // ErrCodeRead is an error that is returned during HTTP reads.
+ ErrCodeRead = "ReadError"
+
+ // ErrCodeResponseTimeout is the connection timeout error that is received
+ // during body reads.
+ ErrCodeResponseTimeout = "ResponseTimeout"
+
+ // CanceledErrorCode is the error code that will be returned by an
+ // API request that was canceled. Requests given a aws.Context may
+ // return this error when canceled.
+ CanceledErrorCode = "RequestCanceled"
+)
+
// A Request is the service request to be made.
type Request struct {
Config aws.Config
@@ -23,30 +41,33 @@ type Request struct {
Handlers Handlers
Retryer
- Time time.Time
- ExpireTime time.Duration
- Operation *Operation
- HTTPRequest *http.Request
- HTTPResponse *http.Response
- Body io.ReadSeeker
- BodyStart int64 // offset from beginning of Body that the request body starts
- Params interface{}
- Error error
- Data interface{}
- RequestID string
- RetryCount int
- Retryable *bool
- RetryDelay time.Duration
- NotHoist bool
- SignedHeaderVals http.Header
- LastSignedAt time.Time
+ Time time.Time
+ ExpireTime time.Duration
+ Operation *Operation
+ HTTPRequest *http.Request
+ HTTPResponse *http.Response
+ Body io.ReadSeeker
+ BodyStart int64 // offset from beginning of Body that the request body starts
+ Params interface{}
+ Error error
+ Data interface{}
+ RequestID string
+ RetryCount int
+ Retryable *bool
+ RetryDelay time.Duration
+ NotHoist bool
+ SignedHeaderVals http.Header
+ LastSignedAt time.Time
+ DisableFollowRedirects bool
+
+ context aws.Context
built bool
- // Need to persist an intermideant body betweend the input Body and HTTP
+ // Need to persist an intermediate body between the input Body and HTTP
// request body because the HTTP Client's transport can maintain a reference
// to the HTTP request's body after the client has returned. This value is
- // safe to use concurrently and rewraps the input Body for each HTTP request.
+ // safe to use concurrently and wrap the input Body for each HTTP request.
safeBody *offsetReader
}
@@ -60,14 +81,6 @@ type Operation struct {
BeforePresignFn func(r *Request) error
}
-// Paginator keeps track of pagination configuration for an API operation.
-type Paginator struct {
- InputTokens []string
- OutputTokens []string
- LimitToken string
- TruncationToken string
-}
-
// New returns a new Request pointer for the service API
// operation and parameters.
//
@@ -111,6 +124,94 @@ func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers,
return r
}
+// A Option is a functional option that can augment or modify a request when
+// using a WithContext API operation method.
+type Option func(*Request)
+
+// WithGetResponseHeader builds a request Option which will retrieve a single
+// header value from the HTTP Response. If there are multiple values for the
+// header key use WithGetResponseHeaders instead to access the http.Header
+// map directly. The passed in val pointer must be non-nil.
+//
+// This Option can be used multiple times with a single API operation.
+//
+// var id2, versionID string
+// svc.PutObjectWithContext(ctx, params,
+// request.WithGetResponseHeader("x-amz-id-2", &id2),
+// request.WithGetResponseHeader("x-amz-version-id", &versionID),
+// )
+func WithGetResponseHeader(key string, val *string) Option {
+ return func(r *Request) {
+ r.Handlers.Complete.PushBack(func(req *Request) {
+ *val = req.HTTPResponse.Header.Get(key)
+ })
+ }
+}
+
+// WithGetResponseHeaders builds a request Option which will retrieve the
+// headers from the HTTP response and assign them to the passed in headers
+// variable. The passed in headers pointer must be non-nil.
+//
+// var headers http.Header
+// svc.PutObjectWithContext(ctx, params, request.WithGetResponseHeaders(&headers))
+func WithGetResponseHeaders(headers *http.Header) Option {
+ return func(r *Request) {
+ r.Handlers.Complete.PushBack(func(req *Request) {
+ *headers = req.HTTPResponse.Header
+ })
+ }
+}
+
+// WithLogLevel is a request option that will set the request to use a specific
+// log level when the request is made.
+//
+// svc.PutObjectWithContext(ctx, params, request.WithLogLevel(aws.LogDebugWithHTTPBody)
+func WithLogLevel(l aws.LogLevelType) Option {
+ return func(r *Request) {
+ r.Config.LogLevel = aws.LogLevel(l)
+ }
+}
+
+// ApplyOptions will apply each option to the request calling them in the order
+// the were provided.
+func (r *Request) ApplyOptions(opts ...Option) {
+ for _, opt := range opts {
+ opt(r)
+ }
+}
+
+// Context will always returns a non-nil context. If Request does not have a
+// context aws.BackgroundContext will be returned.
+func (r *Request) Context() aws.Context {
+ if r.context != nil {
+ return r.context
+ }
+ return aws.BackgroundContext()
+}
+
+// SetContext adds a Context to the current request that can be used to cancel
+// a in-flight request. The Context value must not be nil, or this method will
+// panic.
+//
+// Unlike http.Request.WithContext, SetContext does not return a copy of the
+// Request. It is not safe to use use a single Request value for multiple
+// requests. A new Request should be created for each API operation request.
+//
+// Go 1.6 and below:
+// The http.Request's Cancel field will be set to the Done() value of
+// the context. This will overwrite the Cancel field's value.
+//
+// Go 1.7 and above:
+// The http.Request.WithContext will be used to set the context on the underlying
+// http.Request. This will create a shallow copy of the http.Request. The SDK
+// may create sub contexts in the future for nested requests such as retries.
+func (r *Request) SetContext(ctx aws.Context) {
+ if ctx == nil {
+ panic("context cannot be nil")
+ }
+ setRequestContext(r, ctx)
+}
+
// WillRetry returns if the request's can be retried.
func (r *Request) WillRetry() bool {
return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries()
@@ -237,10 +338,7 @@ func (r *Request) Sign() error {
return r.Error
}
-// ResetBody rewinds the request body backto its starting position, and
-// set's the HTTP Request body reference. When the body is read prior
-// to being sent in the HTTP request it will need to be rewound.
-func (r *Request) ResetBody() {
+func (r *Request) getNextRequestBody() (io.ReadCloser, error) {
if r.safeBody != nil {
r.safeBody.Close()
}
@@ -262,14 +360,14 @@ func (r *Request) ResetBody() {
// Related golang/go#18257
l, err := computeBodyLength(r.Body)
if err != nil {
- r.Error = awserr.New("SerializationError", "failed to compute request body size", err)
- return
+ return nil, awserr.New(ErrCodeSerialization, "failed to compute request body size", err)
}
+ var body io.ReadCloser
if l == 0 {
- r.HTTPRequest.Body = noBodyReader
+ body = NoBody
} else if l > 0 {
- r.HTTPRequest.Body = r.safeBody
+ body = r.safeBody
} else {
// Hack to prevent sending bodies for methods where the body
// should be ignored by the server. Sending bodies on these
@@ -281,11 +379,13 @@ func (r *Request) ResetBody() {
// a io.Reader that was not also an io.Seeker.
switch r.Operation.HTTPMethod {
case "GET", "HEAD", "DELETE":
- r.HTTPRequest.Body = noBodyReader
+ body = NoBody
default:
- r.HTTPRequest.Body = r.safeBody
+ body = r.safeBody
}
}
+
+ return body, nil
}
// Attempts to compute the length of the body of the reader using the
@@ -344,6 +444,12 @@ func (r *Request) GetBody() io.ReadSeeker {
//
// Send will not close the request.Request's body.
func (r *Request) Send() error {
+ defer func() {
+ // Regardless of success or failure of the request trigger the Complete
+ // request handlers.
+ r.Handlers.Complete.Run(r)
+ }()
+
for {
if aws.BoolValue(r.Retryable) {
if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) {
@@ -381,7 +487,7 @@ func (r *Request) Send() error {
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Send Request", false, r.Error)
+ debugLogReqError(r, "Send Request", false, err)
return r.Error
}
debugLogReqError(r, "Send Request", true, err)
@@ -390,12 +496,13 @@ func (r *Request) Send() error {
r.Handlers.UnmarshalMeta.Run(r)
r.Handlers.ValidateResponse.Run(r)
if r.Error != nil {
- err := r.Error
r.Handlers.UnmarshalError.Run(r)
+ err := r.Error
+
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Validate Response", false, r.Error)
+ debugLogReqError(r, "Validate Response", false, err)
return r.Error
}
debugLogReqError(r, "Validate Response", true, err)
@@ -408,7 +515,7 @@ func (r *Request) Send() error {
r.Handlers.Retry.Run(r)
r.Handlers.AfterRetry.Run(r)
if r.Error != nil {
- debugLogReqError(r, "Unmarshal Response", false, r.Error)
+ debugLogReqError(r, "Unmarshal Response", false, err)
return r.Error
}
debugLogReqError(r, "Unmarshal Response", true, err)
@@ -446,6 +553,9 @@ func shouldRetryCancel(r *Request) bool {
timeoutErr := false
errStr := r.Error.Error()
if ok {
+ if awsErr.Code() == CanceledErrorCode {
+ return false
+ }
err := awsErr.OrigErr()
netErr, netOK := err.(net.Error)
timeoutErr = netOK && netErr.Temporary()
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
index 1323af90..869b97a1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go
@@ -16,6 +16,24 @@ func (noBody) Read([]byte) (int, error) { return 0, io.EOF }
func (noBody) Close() error { return nil }
func (noBody) WriteTo(io.Writer) (int64, error) { return 0, nil }
-// Is an empty reader that will trigger the Go HTTP client to not include
+// NoBody is an empty reader that will trigger the Go HTTP client to not include
// and body in the HTTP request.
-var noBodyReader = noBody{}
+var NoBody = noBody{}
+
+// ResetBody rewinds the request body back to its starting position, and
+// set's the HTTP Request body reference. When the body is read prior
+// to being sent in the HTTP request it will need to be rewound.
+//
+// ResetBody will automatically be called by the SDK's build handler, but if
+// the request is being used directly ResetBody must be called before the request
+// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically
+// call ResetBody.
+func (r *Request) ResetBody() {
+ body, err := r.getNextRequestBody()
+ if err != nil {
+ r.Error = err
+ return
+ }
+
+ r.HTTPRequest.Body = body
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
index 8b963f4d..c32fc69b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go
@@ -2,8 +2,32 @@
package request
-import "net/http"
+import (
+ "net/http"
+)
-// Is a http.NoBody reader instructing Go HTTP client to not include
+// NoBody is a http.NoBody reader instructing Go HTTP client to not include
// and body in the HTTP request.
-var noBodyReader = http.NoBody
+var NoBody = http.NoBody
+
+// ResetBody rewinds the request body back to its starting position, and
+// set's the HTTP Request body reference. When the body is read prior
+// to being sent in the HTTP request it will need to be rewound.
+//
+// ResetBody will automatically be called by the SDK's build handler, but if
+// the request is being used directly ResetBody must be called before the request
+// is Sent. SetStringBody, SetBufferBody, and SetReaderBody will automatically
+// call ResetBody.
+//
+// Will also set the Go 1.8's http.Request.GetBody member to allow retrying
+// PUT/POST redirects.
+func (r *Request) ResetBody() {
+ body, err := r.getNextRequestBody()
+ if err != nil {
+ r.Error = err
+ return
+ }
+
+ r.HTTPRequest.Body = body
+ r.HTTPRequest.GetBody = r.getNextRequestBody
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go
new file mode 100644
index 00000000..a7365cd1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go
@@ -0,0 +1,14 @@
+// +build go1.7
+
+package request
+
+import "github.com/aws/aws-sdk-go/aws"
+
+// setContext updates the Request to use the passed in context for cancellation.
+// Context will also be used for request retry delay.
+//
+// Creates shallow copy of the http.Request with the WithContext method.
+func setRequestContext(r *Request, ctx aws.Context) {
+ r.context = ctx
+ r.HTTPRequest = r.HTTPRequest.WithContext(ctx)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go
new file mode 100644
index 00000000..307fa070
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go
@@ -0,0 +1,14 @@
+// +build !go1.7
+
+package request
+
+import "github.com/aws/aws-sdk-go/aws"
+
+// setContext updates the Request to use the passed in context for cancellation.
+// Context will also be used for request retry delay.
+//
+// Creates shallow copy of the http.Request with the WithContext method.
+func setRequestContext(r *Request, ctx aws.Context) {
+ r.context = ctx
+ r.HTTPRequest.Cancel = ctx.Done()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
index 2939ec47..59de6736 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go
@@ -2,29 +2,125 @@ package request
import (
"reflect"
+ "sync/atomic"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
)
-//type Paginater interface {
-// HasNextPage() bool
-// NextPage() *Request
-// EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error
-//}
+// A Pagination provides paginating of SDK API operations which are paginatable.
+// Generally you should not use this type directly, but use the "Pages" API
+// operations method to automatically perform pagination for you. Such as,
+// "S3.ListObjectsPages", and "S3.ListObjectsPagesWithContext" methods.
+//
+// Pagination differs from a Paginator type in that pagination is the type that
+// does the pagination between API operations, and Paginator defines the
+// configuration that will be used per page request.
+//
+// cont := true
+// for p.Next() && cont {
+// data := p.Page().(*s3.ListObjectsOutput)
+// // process the page's data
+// }
+// return p.Err()
+//
+// See service client API operation Pages methods for examples how the SDK will
+// use the Pagination type.
+type Pagination struct {
+ // Function to return a Request value for each pagination request.
+ // Any configuration or handlers that need to be applied to the request
+ // prior to getting the next page should be done here before the request
+ // returned.
+ //
+ // NewRequest should always be built from the same API operations. It is
+ // undefined if different API operations are returned on subsequent calls.
+ NewRequest func() (*Request, error)
-// HasNextPage returns true if this request has more pages of data available.
-func (r *Request) HasNextPage() bool {
- return len(r.nextPageTokens()) > 0
+ started bool
+ nextTokens []interface{}
+
+ err error
+ curPage interface{}
}
-// nextPageTokens returns the tokens to use when asking for the next page of
-// data.
+// HasNextPage will return true if Pagination is able to determine that the API
+// operation has additional pages. False will be returned if there are no more
+// pages remaining.
+//
+// Will always return true if Next has not been called yet.
+func (p *Pagination) HasNextPage() bool {
+ return !(p.started && len(p.nextTokens) == 0)
+}
+
+// Err returns the error Pagination encountered when retrieving the next page.
+func (p *Pagination) Err() error {
+ return p.err
+}
+
+// Page returns the current page. Page should only be called after a successful
+// call to Next. It is undefined what Page will return if Page is called after
+// Next returns false.
+func (p *Pagination) Page() interface{} {
+ return p.curPage
+}
+
+// Next will attempt to retrieve the next page for the API operation. When a page
+// is retrieved true will be returned. If the page cannot be retrieved, or there
+// are no more pages false will be returned.
+//
+// Use the Page method to retrieve the current page data. The data will need
+// to be cast to the API operation's output type.
+//
+// Use the Err method to determine if an error occurred if Page returns false.
+func (p *Pagination) Next() bool {
+ if !p.HasNextPage() {
+ return false
+ }
+
+ req, err := p.NewRequest()
+ if err != nil {
+ p.err = err
+ return false
+ }
+
+ if p.started {
+ for i, intok := range req.Operation.InputTokens {
+ awsutil.SetValueAtPath(req.Params, intok, p.nextTokens[i])
+ }
+ }
+ p.started = true
+
+ err = req.Send()
+ if err != nil {
+ p.err = err
+ return false
+ }
+
+ p.nextTokens = req.nextPageTokens()
+ p.curPage = req.Data
+
+ return true
+}
+
+// A Paginator is the configuration data that defines how an API operation
+// should be paginated. This type is used by the API service models to define
+// the generated pagination config for service APIs.
+//
+// The Pagination type is what provides iterating between pages of an API. It
+// is only used to store the token metadata the SDK should use for performing
+// pagination.
+type Paginator struct {
+ InputTokens []string
+ OutputTokens []string
+ LimitToken string
+ TruncationToken string
+}
+
+// nextPageTokens returns the tokens to use when asking for the next page of data.
func (r *Request) nextPageTokens() []interface{} {
if r.Operation.Paginator == nil {
return nil
}
-
if r.Operation.TruncationToken != "" {
tr, _ := awsutil.ValuesAtPath(r.Data, r.Operation.TruncationToken)
if len(tr) == 0 {
@@ -61,9 +157,40 @@ func (r *Request) nextPageTokens() []interface{} {
return tokens
}
+// Ensure a deprecated item is only logged once instead of each time its used.
+func logDeprecatedf(logger aws.Logger, flag *int32, msg string) {
+ if logger == nil {
+ return
+ }
+ if atomic.CompareAndSwapInt32(flag, 0, 1) {
+ logger.Log(msg)
+ }
+}
+
+var (
+ logDeprecatedHasNextPage int32
+ logDeprecatedNextPage int32
+ logDeprecatedEachPage int32
+)
+
+// HasNextPage returns true if this request has more pages of data available.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
+func (r *Request) HasNextPage() bool {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedHasNextPage,
+ "Request.HasNextPage deprecated. Use Pagination type for configurable pagination of API operations")
+
+ return len(r.nextPageTokens()) > 0
+}
+
// NextPage returns a new Request that can be executed to return the next
// page of result data. Call .Send() on this request to execute it.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
func (r *Request) NextPage() *Request {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedNextPage,
+ "Request.NextPage deprecated. Use Pagination type for configurable pagination of API operations")
+
tokens := r.nextPageTokens()
if len(tokens) == 0 {
return nil
@@ -90,7 +217,12 @@ func (r *Request) NextPage() *Request {
// as the structure "T". The lastPage value represents whether the page is
// the last page of data or not. The return value of this function should
// return true to keep iterating or false to stop.
+//
+// Deprecated Use Pagination type for configurable pagination of API operations
func (r *Request) EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error {
+ logDeprecatedf(r.Config.Logger, &logDeprecatedEachPage,
+ "Request.EachPage deprecated. Use Pagination type for configurable pagination of API operations")
+
for page := r; page != nil; page = page.NextPage() {
if err := page.Send(); err != nil {
return err
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
index ebd60ccc..f35fef21 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
@@ -8,7 +8,7 @@ import (
)
// Retryer is an interface to control retry logic for a given service.
-// The default implementation used by most services is the service.DefaultRetryer
+// The default implementation used by most services is the client.DefaultRetryer
// structure, which contains basic retry logic using exponential backoff.
type Retryer interface {
RetryRules(*Request) time.Duration
@@ -26,8 +26,10 @@ func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config {
// retryableCodes is a collection of service response codes which are retry-able
// without any further action.
var retryableCodes = map[string]struct{}{
- "RequestError": {},
- "RequestTimeout": {},
+ "RequestError": {},
+ "RequestTimeout": {},
+ ErrCodeResponseTimeout: {},
+ "RequestTimeoutException": {}, // Glacier's flavor of RequestTimeout
}
var throttleCodes = map[string]struct{}{
@@ -36,7 +38,6 @@ var throttleCodes = map[string]struct{}{
"ThrottlingException": {},
"RequestLimitExceeded": {},
"RequestThrottled": {},
- "LimitExceededException": {}, // Deleting 10+ DynamoDb tables at once
"TooManyRequestsException": {}, // Lambda functions
"PriorRequestNotComplete": {}, // Route53
}
@@ -68,35 +69,93 @@ func isCodeExpiredCreds(code string) bool {
return ok
}
+var validParentCodes = map[string]struct{}{
+ ErrCodeSerialization: {},
+ ErrCodeRead: {},
+}
+
+type temporaryError interface {
+ Temporary() bool
+}
+
+func isNestedErrorRetryable(parentErr awserr.Error) bool {
+ if parentErr == nil {
+ return false
+ }
+
+ if _, ok := validParentCodes[parentErr.Code()]; !ok {
+ return false
+ }
+
+ err := parentErr.OrigErr()
+ if err == nil {
+ return false
+ }
+
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeRetryable(aerr.Code())
+ }
+
+ if t, ok := err.(temporaryError); ok {
+ return t.Temporary()
+ }
+
+ return isErrConnectionReset(err)
+}
+
// IsErrorRetryable returns whether the error is retryable, based on its Code.
-// Returns false if the request has no Error set.
-func (r *Request) IsErrorRetryable() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeRetryable(err.Code())
+// Returns false if error is nil.
+func IsErrorRetryable(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeRetryable(aerr.Code()) || isNestedErrorRetryable(aerr)
}
}
return false
}
// IsErrorThrottle returns whether the error is to be throttled based on its code.
-// Returns false if the request has no Error set
-func (r *Request) IsErrorThrottle() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeThrottle(err.Code())
+// Returns false if error is nil.
+func IsErrorThrottle(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeThrottle(aerr.Code())
}
}
return false
}
-// IsErrorExpired returns whether the error code is a credential expiry error.
-// Returns false if the request has no Error set.
-func (r *Request) IsErrorExpired() bool {
- if r.Error != nil {
- if err, ok := r.Error.(awserr.Error); ok {
- return isCodeExpiredCreds(err.Code())
+// IsErrorExpiredCreds returns whether the error code is a credential expiry error.
+// Returns false if error is nil.
+func IsErrorExpiredCreds(err error) bool {
+ if err != nil {
+ if aerr, ok := err.(awserr.Error); ok {
+ return isCodeExpiredCreds(aerr.Code())
}
}
return false
}
+
+// IsErrorRetryable returns whether the error is retryable, based on its Code.
+// Returns false if the request has no Error set.
+//
+// Alias for the utility function IsErrorRetryable
+func (r *Request) IsErrorRetryable() bool {
+ return IsErrorRetryable(r.Error)
+}
+
+// IsErrorThrottle returns whether the error is to be throttled based on its code.
+// Returns false if the request has no Error set
+//
+// Alias for the utility function IsErrorThrottle
+func (r *Request) IsErrorThrottle() bool {
+ return IsErrorThrottle(r.Error)
+}
+
+// IsErrorExpired returns whether the error code is a credential expiry error.
+// Returns false if the request has no Error set.
+//
+// Alias for the utility function IsErrorExpiredCreds
+func (r *Request) IsErrorExpired() bool {
+ return IsErrorExpiredCreds(r.Error)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go
new file mode 100644
index 00000000..09a44eb9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go
@@ -0,0 +1,94 @@
+package request
+
+import (
+ "io"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws/awserr"
+)
+
+var timeoutErr = awserr.New(
+ ErrCodeResponseTimeout,
+ "read on body has reached the timeout limit",
+ nil,
+)
+
+type readResult struct {
+ n int
+ err error
+}
+
+// timeoutReadCloser will handle body reads that take too long.
+// We will return a ErrReadTimeout error if a timeout occurs.
+type timeoutReadCloser struct {
+ reader io.ReadCloser
+ duration time.Duration
+}
+
+// Read will spin off a goroutine to call the reader's Read method. We will
+// select on the timer's channel or the read's channel. Whoever completes first
+// will be returned.
+func (r *timeoutReadCloser) Read(b []byte) (int, error) {
+ timer := time.NewTimer(r.duration)
+ c := make(chan readResult, 1)
+
+ go func() {
+ n, err := r.reader.Read(b)
+ timer.Stop()
+ c <- readResult{n: n, err: err}
+ }()
+
+ select {
+ case data := <-c:
+ return data.n, data.err
+ case <-timer.C:
+ return 0, timeoutErr
+ }
+}
+
+func (r *timeoutReadCloser) Close() error {
+ return r.reader.Close()
+}
+
+const (
+ // HandlerResponseTimeout is what we use to signify the name of the
+ // response timeout handler.
+ HandlerResponseTimeout = "ResponseTimeoutHandler"
+)
+
+// adaptToResponseTimeoutError is a handler that will replace any top level error
+// to a ErrCodeResponseTimeout, if its child is that.
+func adaptToResponseTimeoutError(req *Request) {
+ if err, ok := req.Error.(awserr.Error); ok {
+ aerr, ok := err.OrigErr().(awserr.Error)
+ if ok && aerr.Code() == ErrCodeResponseTimeout {
+ req.Error = aerr
+ }
+ }
+}
+
+// WithResponseReadTimeout is a request option that will wrap the body in a timeout read closer.
+// This will allow for per read timeouts. If a timeout occurred, we will return the
+// ErrCodeResponseTimeout.
+//
+// svc.PutObjectWithContext(ctx, params, request.WithTimeoutReadCloser(30 * time.Second)
+func WithResponseReadTimeout(duration time.Duration) Option {
+ return func(r *Request) {
+
+ var timeoutHandler = NamedHandler{
+ HandlerResponseTimeout,
+ func(req *Request) {
+ req.HTTPResponse.Body = &timeoutReadCloser{
+ reader: req.HTTPResponse.Body,
+ duration: duration,
+ }
+ }}
+
+ // remove the handler so we are not stomping over any new durations.
+ r.Handlers.Send.RemoveByName(HandlerResponseTimeout)
+ r.Handlers.Send.PushBackNamed(timeoutHandler)
+
+ r.Handlers.Unmarshal.PushBack(adaptToResponseTimeoutError)
+ r.Handlers.UnmarshalError.PushBack(adaptToResponseTimeoutError)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
index 2520286b..40124622 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go
@@ -220,7 +220,7 @@ type ErrParamMinLen struct {
func NewErrParamMinLen(field string, min int) *ErrParamMinLen {
return &ErrParamMinLen{
errInvalidParam: errInvalidParam{
- code: ParamMinValueErrCode,
+ code: ParamMinLenErrCode,
field: field,
msg: fmt.Sprintf("minimum field size of %v", min),
},
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
new file mode 100644
index 00000000..4601f883
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go
@@ -0,0 +1,295 @@
+package request
+
+import (
+ "fmt"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/awsutil"
+)
+
+// WaiterResourceNotReadyErrorCode is the error code returned by a waiter when
+// the waiter's max attempts have been exhausted.
+const WaiterResourceNotReadyErrorCode = "ResourceNotReady"
+
+// A WaiterOption is a function that will update the Waiter value's fields to
+// configure the waiter.
+type WaiterOption func(*Waiter)
+
+// WithWaiterMaxAttempts returns the maximum number of times the waiter should
+// attempt to check the resource for the target state.
+func WithWaiterMaxAttempts(max int) WaiterOption {
+ return func(w *Waiter) {
+ w.MaxAttempts = max
+ }
+}
+
+// WaiterDelay will return a delay the waiter should pause between attempts to
+// check the resource state. The passed in attempt is the number of times the
+// Waiter has checked the resource state.
+//
+// Attempt is the number of attempts the Waiter has made checking the resource
+// state.
+type WaiterDelay func(attempt int) time.Duration
+
+// ConstantWaiterDelay returns a WaiterDelay that will always return a constant
+// delay the waiter should use between attempts. It ignores the number of
+// attempts made.
+func ConstantWaiterDelay(delay time.Duration) WaiterDelay {
+ return func(attempt int) time.Duration {
+ return delay
+ }
+}
+
+// WithWaiterDelay will set the Waiter to use the WaiterDelay passed in.
+func WithWaiterDelay(delayer WaiterDelay) WaiterOption {
+ return func(w *Waiter) {
+ w.Delay = delayer
+ }
+}
+
+// WithWaiterLogger returns a waiter option to set the logger a waiter
+// should use to log warnings and errors to.
+func WithWaiterLogger(logger aws.Logger) WaiterOption {
+ return func(w *Waiter) {
+ w.Logger = logger
+ }
+}
+
+// WithWaiterRequestOptions returns a waiter option setting the request
+// options for each request the waiter makes. Appends to waiter's request
+// options already set.
+func WithWaiterRequestOptions(opts ...Option) WaiterOption {
+ return func(w *Waiter) {
+ w.RequestOptions = append(w.RequestOptions, opts...)
+ }
+}
+
+// A Waiter provides the functionality to perform a blocking call which will
+// wait for a resource state to be satisfied by a service.
+//
+// This type should not be used directly. The API operations provided in the
+// service packages prefixed with "WaitUntil" should be used instead.
+type Waiter struct {
+ Name string
+ Acceptors []WaiterAcceptor
+ Logger aws.Logger
+
+ MaxAttempts int
+ Delay WaiterDelay
+
+ RequestOptions []Option
+ NewRequest func([]Option) (*Request, error)
+ SleepWithContext func(aws.Context, time.Duration) error
+}
+
+// ApplyOptions updates the waiter with the list of waiter options provided.
+func (w *Waiter) ApplyOptions(opts ...WaiterOption) {
+ for _, fn := range opts {
+ fn(w)
+ }
+}
+
+// WaiterState are states the waiter uses based on WaiterAcceptor definitions
+// to identify if the resource state the waiter is waiting on has occurred.
+type WaiterState int
+
+// String returns the string representation of the waiter state.
+func (s WaiterState) String() string {
+ switch s {
+ case SuccessWaiterState:
+ return "success"
+ case FailureWaiterState:
+ return "failure"
+ case RetryWaiterState:
+ return "retry"
+ default:
+ return "unknown waiter state"
+ }
+}
+
+// States the waiter acceptors will use to identify target resource states.
+const (
+ SuccessWaiterState WaiterState = iota // waiter successful
+ FailureWaiterState // waiter failed
+ RetryWaiterState // waiter needs to be retried
+)
+
+// WaiterMatchMode is the mode that the waiter will use to match the WaiterAcceptor
+// definition's Expected attribute.
+type WaiterMatchMode int
+
+// Modes the waiter will use when inspecting API response to identify target
+// resource states.
+const (
+ PathAllWaiterMatch WaiterMatchMode = iota // match on all paths
+ PathWaiterMatch // match on specific path
+ PathAnyWaiterMatch // match on any path
+ PathListWaiterMatch // match on list of paths
+ StatusWaiterMatch // match on status code
+ ErrorWaiterMatch // match on error
+)
+
+// String returns the string representation of the waiter match mode.
+func (m WaiterMatchMode) String() string {
+ switch m {
+ case PathAllWaiterMatch:
+ return "pathAll"
+ case PathWaiterMatch:
+ return "path"
+ case PathAnyWaiterMatch:
+ return "pathAny"
+ case PathListWaiterMatch:
+ return "pathList"
+ case StatusWaiterMatch:
+ return "status"
+ case ErrorWaiterMatch:
+ return "error"
+ default:
+ return "unknown waiter match mode"
+ }
+}
+
+// WaitWithContext will make requests for the API operation using NewRequest to
+// build API requests. The request's response will be compared against the
+// Waiter's Acceptors to determine the successful state of the resource the
+// waiter is inspecting.
+//
+// The passed in context must not be nil. If it is nil a panic will occur. The
+// Context will be used to cancel the waiter's pending requests and retry delays.
+// Use aws.BackgroundContext if no context is available.
+//
+// The waiter will continue until the target state defined by the Acceptors,
+// or the max attempts expires.
+//
+// Will return the WaiterResourceNotReadyErrorCode error code if the waiter's
+// retryer ShouldRetry returns false. This normally will happen when the max
+// wait attempts expires.
+func (w Waiter) WaitWithContext(ctx aws.Context) error {
+
+ for attempt := 1; ; attempt++ {
+ req, err := w.NewRequest(w.RequestOptions)
+ if err != nil {
+ waiterLogf(w.Logger, "unable to create request %v", err)
+ return err
+ }
+ req.Handlers.Build.PushBack(MakeAddToUserAgentFreeFormHandler("Waiter"))
+ err = req.Send()
+
+ // See if any of the acceptors match the request's response, or error
+ for _, a := range w.Acceptors {
+ if matched, matchErr := a.match(w.Name, w.Logger, req, err); matched {
+ return matchErr
+ }
+ }
+
+ // The Waiter should only check the resource state MaxAttempts times
+ // This is here instead of in the for loop above to prevent delaying
+ // unnecessary when the waiter will not retry.
+ if attempt == w.MaxAttempts {
+ break
+ }
+
+ // Delay to wait before inspecting the resource again
+ delay := w.Delay(attempt)
+ if sleepFn := req.Config.SleepDelay; sleepFn != nil {
+ // Support SleepDelay for backwards compatibility and testing
+ sleepFn(delay)
+ } else {
+ sleepCtxFn := w.SleepWithContext
+ if sleepCtxFn == nil {
+ sleepCtxFn = aws.SleepWithContext
+ }
+
+ if err := sleepCtxFn(ctx, delay); err != nil {
+ return awserr.New(CanceledErrorCode, "waiter context canceled", err)
+ }
+ }
+ }
+
+ return awserr.New(WaiterResourceNotReadyErrorCode, "exceeded wait attempts", nil)
+}
+
+// A WaiterAcceptor provides the information needed to wait for an API operation
+// to complete.
+type WaiterAcceptor struct {
+ State WaiterState
+ Matcher WaiterMatchMode
+ Argument string
+ Expected interface{}
+}
+
+// match returns if the acceptor found a match with the passed in request
+// or error. True is returned if the acceptor made a match, error is returned
+// if there was an error attempting to perform the match.
+func (a *WaiterAcceptor) match(name string, l aws.Logger, req *Request, err error) (bool, error) {
+ result := false
+ var vals []interface{}
+
+ switch a.Matcher {
+ case PathAllWaiterMatch, PathWaiterMatch:
+ // Require all matches to be equal for result to match
+ vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
+ if len(vals) == 0 {
+ break
+ }
+ result = true
+ for _, val := range vals {
+ if !awsutil.DeepEqual(val, a.Expected) {
+ result = false
+ break
+ }
+ }
+ case PathAnyWaiterMatch:
+ // Only a single match needs to equal for the result to match
+ vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument)
+ for _, val := range vals {
+ if awsutil.DeepEqual(val, a.Expected) {
+ result = true
+ break
+ }
+ }
+ case PathListWaiterMatch:
+ // ignored matcher
+ case StatusWaiterMatch:
+ s := a.Expected.(int)
+ result = s == req.HTTPResponse.StatusCode
+ case ErrorWaiterMatch:
+ if aerr, ok := err.(awserr.Error); ok {
+ result = aerr.Code() == a.Expected.(string)
+ }
+ default:
+ waiterLogf(l, "WARNING: Waiter %s encountered unexpected matcher: %s",
+ name, a.Matcher)
+ }
+
+ if !result {
+ // If there was no matching result found there is nothing more to do
+ // for this response, retry the request.
+ return false, nil
+ }
+
+ switch a.State {
+ case SuccessWaiterState:
+ // waiter completed
+ return true, nil
+ case FailureWaiterState:
+ // Waiter failure state triggered
+ return true, awserr.New(WaiterResourceNotReadyErrorCode,
+ "failed waiting for successful resource state", err)
+ case RetryWaiterState:
+ // clear the error and retry the operation
+ return false, nil
+ default:
+ waiterLogf(l, "WARNING: Waiter %s encountered unexpected state: %s",
+ name, a.State)
+ return false, nil
+ }
+}
+
+func waiterLogf(logger aws.Logger, msg string, args ...interface{}) {
+ if logger != nil {
+ logger.Log(fmt.Sprintf(msg, args...))
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
index 9975e320..ea7b886f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
@@ -23,7 +23,7 @@ additional config if the AWS_SDK_LOAD_CONFIG environment variable is set.
Alternatively you can explicitly create a Session with shared config enabled.
To do this you can use NewSessionWithOptions to configure how the Session will
be created. Using the NewSessionWithOptions with SharedConfigState set to
-SharedConfigEnabled will create the session as if the AWS_SDK_LOAD_CONFIG
+SharedConfigEnable will create the session as if the AWS_SDK_LOAD_CONFIG
environment variable was set.
Creating Sessions
@@ -84,7 +84,7 @@ override the shared config state (AWS_SDK_LOAD_CONFIG).
// Force enable Shared Config support
sess := session.Must(session.NewSessionWithOptions(session.Options{
- SharedConfigState: SharedConfigEnable,
+ SharedConfigState: session.SharedConfigEnable,
}))
Adding Handlers
@@ -96,7 +96,7 @@ handler logs every request and its payload made by a service client:
// Create a session, and add additional handlers for all service
// clients created with the Session to inherit. Adds logging handler.
sess := session.Must(session.NewSession())
-
+
sess.Handlers.Send.PushFront(func(r *request.Request) {
// Log every request made and its payload
logger.Println("Request: %s/%s, Payload: %s",
@@ -124,9 +124,8 @@ file (~/.aws/config) and shared credentials file (~/.aws/credentials). Both
files have the same format.
If both config files are present the configuration from both files will be
-read. The Session will be created from configuration values from the shared
-credentials file (~/.aws/credentials) over those in the shared credentials
-file (~/.aws/config).
+read. The Session will be created from configuration values from the shared
+credentials file (~/.aws/credentials) over those in the shared config file (~/.aws/config).
Credentials are the values the SDK should use for authenticating requests with
AWS Services. They arfrom a configuration file will need to include both
@@ -169,8 +168,8 @@ session option must be set to SharedConfigEnable, or AWS_SDK_LOAD_CONFIG
environment variable set.
The shared configuration instructs the SDK to assume an IAM role with MFA
-when the mfa_serial configuration field is set in the shared config
-(~/.aws/config) or shared credentials (~/.aws/credentials) file.
+when the mfa_serial configuration field is set in the shared config
+(~/.aws/config) or shared credentials (~/.aws/credentials) file.
If mfa_serial is set in the configuration, the SDK will assume the role, and
the AssumeRoleTokenProvider session option is not set an an error will
@@ -251,6 +250,24 @@ $HOME/.aws/config on Linux/Unix based systems, and
AWS_CONFIG_FILE=$HOME/my_shared_config
+Path to a custom Credentials Authority (CA) bundle PEM file that the SDK
+will use instead of the default system's root CA bundle. Use this only
+if you want to replace the CA bundle the SDK uses for TLS requests.
+
+ AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle
+
+Enabling this option will attempt to merge the Transport into the SDK's HTTP
+client. If the client's Transport is not a http.Transport an error will be
+returned. If the Transport's TLS config is set this option will cause the SDK
+to overwrite the Transport's TLS config's RootCAs value. If the CA bundle file
+contains multiple certificates all of them will be loaded.
+
+The Session option CustomCABundle is also available when creating sessions
+to also enable this feature. CustomCABundle session option field has priority
+over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
+Setting a custom HTTPClient in the aws.Config options will override this setting.
+To use this option and custom HTTP client, the HTTP client needs to be provided
+when creating the session. Not the service client.
*/
package session
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
index d2f0c844..4b102f8f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
@@ -2,7 +2,6 @@ package session
import (
"os"
- "path/filepath"
"strconv"
"github.com/aws/aws-sdk-go/aws/credentials"
@@ -75,6 +74,24 @@ type envConfig struct {
//
// AWS_CONFIG_FILE=$HOME/my_shared_config
SharedConfigFile string
+
+ // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file
+ // that the SDK will use instead of the system's root CA bundle.
+ // Only use this if you want to configure the SDK to use a custom set
+ // of CAs.
+ //
+ // Enabling this option will attempt to merge the Transport
+ // into the SDK's HTTP client. If the client's Transport is
+ // not a http.Transport an error will be returned. If the
+ // Transport's TLS config is set this option will cause the
+ // SDK to overwrite the Transport's TLS config's RootCAs value.
+ //
+ // Setting a custom HTTPClient in the aws.Config options will override this setting.
+ // To use this option and custom HTTP client, the HTTP client needs to be provided
+ // when creating the session. Not the service client.
+ //
+ // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle
+ CustomCABundle string
}
var (
@@ -98,6 +115,12 @@ var (
"AWS_PROFILE",
"AWS_DEFAULT_PROFILE", // Only read if AWS_SDK_LOAD_CONFIG is also set
}
+ sharedCredsFileEnvKey = []string{
+ "AWS_SHARED_CREDENTIALS_FILE",
+ }
+ sharedConfigFileEnvKey = []string{
+ "AWS_CONFIG_FILE",
+ }
)
// loadEnvConfig retrieves the SDK's environment configuration.
@@ -147,8 +170,10 @@ func envConfigLoad(enableSharedConfig bool) envConfig {
setFromEnvVal(&cfg.Region, regionKeys)
setFromEnvVal(&cfg.Profile, profileKeys)
- cfg.SharedCredentialsFile = sharedCredentialsFilename()
- cfg.SharedConfigFile = sharedConfigFilename()
+ setFromEnvVal(&cfg.SharedCredentialsFile, sharedCredsFileEnvKey)
+ setFromEnvVal(&cfg.SharedConfigFile, sharedConfigFileEnvKey)
+
+ cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE")
return cfg
}
@@ -161,28 +186,3 @@ func setFromEnvVal(dst *string, keys []string) {
}
}
}
-
-func sharedCredentialsFilename() string {
- if name := os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(name) > 0 {
- return name
- }
-
- return filepath.Join(userHomeDir(), ".aws", "credentials")
-}
-
-func sharedConfigFilename() string {
- if name := os.Getenv("AWS_CONFIG_FILE"); len(name) > 0 {
- return name
- }
-
- return filepath.Join(userHomeDir(), ".aws", "config")
-}
-
-func userHomeDir() string {
- homeDir := os.Getenv("HOME") // *nix
- if len(homeDir) == 0 { // windows
- homeDir = os.Getenv("USERPROFILE")
- }
-
- return homeDir
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
index 42ab3632..9f75d5ac 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
@@ -1,7 +1,13 @@
package session
import (
+ "crypto/tls"
+ "crypto/x509"
"fmt"
+ "io"
+ "io/ioutil"
+ "net/http"
+ "os"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
@@ -92,9 +98,10 @@ func New(cfgs ...*aws.Config) *Session {
// control through code how the Session will be created. Such as specifying the
// config profile, and controlling if shared config is enabled or not.
func NewSession(cfgs ...*aws.Config) (*Session, error) {
- envCfg := loadEnvConfig()
+ opts := Options{}
+ opts.Config.MergeIn(cfgs...)
- return newSession(Options{}, envCfg, cfgs...)
+ return NewSessionWithOptions(opts)
}
// SharedConfigState provides the ability to optionally override the state
@@ -148,6 +155,10 @@ type Options struct {
// and enable or disable the shared config functionality.
SharedConfigState SharedConfigState
+ // Ordered list of files the session will load configuration from.
+ // It will override environment variable AWS_SHARED_CREDENTIALS_FILE, AWS_CONFIG_FILE.
+ SharedConfigFiles []string
+
// When the SDK's shared config is configured to assume a role with MFA
// this option is required in order to provide the mechanism that will
// retrieve the MFA token. There is no default value for this field. If
@@ -167,6 +178,21 @@ type Options struct {
// This field is only used if the shared configuration is enabled, and
// the config enables assume role wit MFA via the mfa_serial field.
AssumeRoleTokenProvider func() (string, error)
+
+ // Reader for a custom Credentials Authority (CA) bundle in PEM format that
+ // the SDK will use instead of the default system's root CA bundle. Use this
+ // only if you want to replace the CA bundle the SDK uses for TLS requests.
+ //
+ // Enabling this option will attempt to merge the Transport into the SDK's HTTP
+ // client. If the client's Transport is not a http.Transport an error will be
+ // returned. If the Transport's TLS config is set this option will cause the SDK
+ // to overwrite the Transport's TLS config's RootCAs value. If the CA
+ // bundle reader contains multiple certificates all of them will be loaded.
+ //
+ // The Session option CustomCABundle is also available when creating sessions
+ // to also enable this feature. CustomCABundle session option field has priority
+ // over the AWS_CA_BUNDLE environment variable, and will be used if both are set.
+ CustomCABundle io.Reader
}
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
@@ -196,7 +222,7 @@ type Options struct {
//
// // Force enable Shared Config support
// sess := session.Must(session.NewSessionWithOptions(session.Options{
-// SharedConfigState: SharedConfigEnable,
+// SharedConfigState: session.SharedConfigEnable,
// }))
func NewSessionWithOptions(opts Options) (*Session, error) {
var envCfg envConfig
@@ -217,6 +243,24 @@ func NewSessionWithOptions(opts Options) (*Session, error) {
envCfg.EnableSharedConfig = true
}
+ if len(envCfg.SharedCredentialsFile) == 0 {
+ envCfg.SharedCredentialsFile = defaults.SharedCredentialsFilename()
+ }
+ if len(envCfg.SharedConfigFile) == 0 {
+ envCfg.SharedConfigFile = defaults.SharedConfigFilename()
+ }
+
+ // Only use AWS_CA_BUNDLE if session option is not provided.
+ if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil {
+ f, err := os.Open(envCfg.CustomCABundle)
+ if err != nil {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to open custom CA bundle PEM file", err)
+ }
+ defer f.Close()
+ opts.CustomCABundle = f
+ }
+
return newSession(opts, envCfg, &opts.Config)
}
@@ -271,13 +315,18 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
userCfg := &aws.Config{}
userCfg.MergeIn(cfgs...)
- // Order config files will be loaded in with later files overwriting
+ // Ordered config files will be loaded in with later files overwriting
// previous config file values.
- cfgFiles := []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile}
- if !envCfg.EnableSharedConfig {
- // The shared config file (~/.aws/config) is only loaded if instructed
- // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG).
- cfgFiles = cfgFiles[1:]
+ var cfgFiles []string
+ if opts.SharedConfigFiles != nil {
+ cfgFiles = opts.SharedConfigFiles
+ } else {
+ cfgFiles = []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile}
+ if !envCfg.EnableSharedConfig {
+ // The shared config file (~/.aws/config) is only loaded if instructed
+ // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG).
+ cfgFiles = cfgFiles[1:]
+ }
}
// Load additional config from file(s)
@@ -297,9 +346,61 @@ func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session,
initHandlers(s)
+ // Setup HTTP client with custom cert bundle if enabled
+ if opts.CustomCABundle != nil {
+ if err := loadCustomCABundle(s, opts.CustomCABundle); err != nil {
+ return nil, err
+ }
+ }
+
return s, nil
}
+func loadCustomCABundle(s *Session, bundle io.Reader) error {
+ var t *http.Transport
+ switch v := s.Config.HTTPClient.Transport.(type) {
+ case *http.Transport:
+ t = v
+ default:
+ if s.Config.HTTPClient.Transport != nil {
+ return awserr.New("LoadCustomCABundleError",
+ "unable to load custom CA bundle, HTTPClient's transport unsupported type", nil)
+ }
+ }
+ if t == nil {
+ t = &http.Transport{}
+ }
+
+ p, err := loadCertPool(bundle)
+ if err != nil {
+ return err
+ }
+ if t.TLSClientConfig == nil {
+ t.TLSClientConfig = &tls.Config{}
+ }
+ t.TLSClientConfig.RootCAs = p
+
+ s.Config.HTTPClient.Transport = t
+
+ return nil
+}
+
+func loadCertPool(r io.Reader) (*x509.CertPool, error) {
+ b, err := ioutil.ReadAll(r)
+ if err != nil {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to read custom CA bundle PEM file", err)
+ }
+
+ p := x509.NewCertPool()
+ if !p.AppendCertsFromPEM(b) {
+ return nil, awserr.New("LoadCustomCABundleError",
+ "failed to load custom CA bundle PEM file", err)
+ }
+
+ return p, nil
+}
+
func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, sessOpts Options) error {
// Merge in user provided configuration
cfg.MergeIn(userCfg)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
index b58076f5..09c8e5bc 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
@@ -113,7 +113,7 @@ func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) {
f, err := ini.Load(b)
if err != nil {
- return nil, SharedConfigLoadError{Filename: filename}
+ return nil, SharedConfigLoadError{Filename: filename, Err: err}
}
files = append(files, sharedConfigFile{
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go
new file mode 100644
index 00000000..6aa2ed24
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go
@@ -0,0 +1,7 @@
+package v4
+
+// WithUnsignedPayload will enable and set the UnsignedPayload field to
+// true of the signer.
+func WithUnsignedPayload(v4 *Signer) {
+ v4.UnsignedPayload = true
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
index 98bfe742..d68905ac 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
@@ -45,7 +45,7 @@
// If signing a request intended for HTTP2 server, and you're using Go 1.6.2
// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the
// request URL. https://github.com/golang/go/issues/16847 points to a bug in
-// Go pre 1.8 that failes to make HTTP2 requests using absolute URL in the HTTP
+// Go pre 1.8 that fails to make HTTP2 requests using absolute URL in the HTTP
// message. URL.Opaque generally will force Go to make requests with absolute URL.
// URL.RawPath does not do this, but RawPath must be a valid escaping of Path
// or url.EscapedPath will ignore the RawPath escaping.
@@ -55,7 +55,6 @@
package v4
import (
- "bytes"
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
@@ -194,6 +193,10 @@ type Signer struct {
// This value should only be used for testing. If it is nil the default
// time.Now will be used.
currentTimeFn func() time.Time
+
+ // UnsignedPayload will prevent signing of the payload. This will only
+ // work for services that have support for this.
+ UnsignedPayload bool
}
// NewSigner returns a Signer pointer configured with the credentials and optional
@@ -227,6 +230,7 @@ type signingCtx struct {
isPresign bool
formattedTime string
formattedShortTime string
+ unsignedPayload bool
bodyDigest string
signedHeaders string
@@ -317,6 +321,7 @@ func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, regi
ServiceName: service,
Region: region,
DisableURIPathEscaping: v4.DisableURIPathEscaping,
+ unsignedPayload: v4.UnsignedPayload,
}
for key := range ctx.Query {
@@ -396,7 +401,7 @@ var SignRequestHandler = request.NamedHandler{
}
// SignSDKRequest signs an AWS request with the V4 signature. This
-// request handler is bested used only with the SDK's built in service client's
+// request handler should only be used with the SDK's built in service client's
// API operation requests.
//
// This function should not be used on its on its own, but in conjunction with
@@ -409,7 +414,18 @@ var SignRequestHandler = request.NamedHandler{
func SignSDKRequest(req *request.Request) {
signSDKRequestWithCurrTime(req, time.Now)
}
-func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time) {
+
+// BuildNamedHandler will build a generic handler for signing.
+func BuildNamedHandler(name string, opts ...func(*Signer)) request.NamedHandler {
+ return request.NamedHandler{
+ Name: name,
+ Fn: func(req *request.Request) {
+ signSDKRequestWithCurrTime(req, time.Now, opts...)
+ },
+ }
+}
+
+func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) {
// If the request does not need to be signed ignore the signing of the
// request if the AnonymousCredentials object is used.
if req.Config.Credentials == credentials.AnonymousCredentials {
@@ -441,6 +457,10 @@ func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time
v4.DisableRequestBodyOverwrite = true
})
+ for _, opt := range opts {
+ opt(v4)
+ }
+
signingTime := req.Time
if !req.LastSignedAt.IsZero() {
signingTime = req.LastSignedAt
@@ -583,14 +603,18 @@ func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) {
headerValues := make([]string, len(headers))
for i, k := range headers {
if k == "host" {
- headerValues[i] = "host:" + ctx.Request.URL.Host
+ if ctx.Request.Host != "" {
+ headerValues[i] = "host:" + ctx.Request.Host
+ } else {
+ headerValues[i] = "host:" + ctx.Request.URL.Host
+ }
} else {
headerValues[i] = k + ":" +
strings.Join(ctx.SignedHeaderVals[k], ",")
}
}
-
- ctx.canonicalHeaders = strings.Join(stripExcessSpaces(headerValues), "\n")
+ stripExcessSpaces(headerValues)
+ ctx.canonicalHeaders = strings.Join(headerValues, "\n")
}
func (ctx *signingCtx) buildCanonicalString() {
@@ -634,14 +658,14 @@ func (ctx *signingCtx) buildSignature() {
func (ctx *signingCtx) buildBodyDigest() {
hash := ctx.Request.Header.Get("X-Amz-Content-Sha256")
if hash == "" {
- if ctx.isPresign && ctx.ServiceName == "s3" {
+ if ctx.unsignedPayload || (ctx.isPresign && ctx.ServiceName == "s3") {
hash = "UNSIGNED-PAYLOAD"
} else if ctx.Body == nil {
hash = emptyStringSHA256
} else {
hash = hex.EncodeToString(makeSha256Reader(ctx.Body))
}
- if ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" {
+ if ctx.unsignedPayload || ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" {
ctx.Request.Header.Set("X-Amz-Content-Sha256", hash)
}
}
@@ -692,49 +716,46 @@ func makeSha256Reader(reader io.ReadSeeker) []byte {
return hash.Sum(nil)
}
-const doubleSpaces = " "
+const doubleSpace = " "
-var doubleSpaceBytes = []byte(doubleSpaces)
-
-func stripExcessSpaces(headerVals []string) []string {
- vals := make([]string, len(headerVals))
- for i, str := range headerVals {
- // Trim leading and trailing spaces
- trimmed := strings.TrimSpace(str)
+// stripExcessSpaces will rewrite the passed in slice's string values to not
+// contain muliple side-by-side spaces.
+func stripExcessSpaces(vals []string) {
+ var j, k, l, m, spaces int
+ for i, str := range vals {
+ // Trim trailing spaces
+ for j = len(str) - 1; j >= 0 && str[j] == ' '; j-- {
+ }
- idx := strings.Index(trimmed, doubleSpaces)
- var buf []byte
- for idx > -1 {
- // Multiple adjacent spaces found
- if buf == nil {
- // first time create the buffer
- buf = []byte(trimmed)
- }
+ // Trim leading spaces
+ for k = 0; k < j && str[k] == ' '; k++ {
+ }
+ str = str[k : j+1]
- stripToIdx := -1
- for j := idx + 1; j < len(buf); j++ {
- if buf[j] != ' ' {
- buf = append(buf[:idx+1], buf[j:]...)
- stripToIdx = j
- break
- }
- }
+ // Strip multiple spaces.
+ j = strings.Index(str, doubleSpace)
+ if j < 0 {
+ vals[i] = str
+ continue
+ }
- if stripToIdx >= 0 {
- idx = bytes.Index(buf[stripToIdx:], doubleSpaceBytes)
- if idx >= 0 {
- idx += stripToIdx
+ buf := []byte(str)
+ for k, m, l = j, j, len(buf); k < l; k++ {
+ if buf[k] == ' ' {
+ if spaces == 0 {
+ // First space.
+ buf[m] = buf[k]
+ m++
}
+ spaces++
} else {
- idx = -1
+ // End of multiple spaces.
+ spaces = 0
+ buf[m] = buf[k]
+ m++
}
}
- if buf != nil {
- vals[i] = string(buf)
- } else {
- vals[i] = trimmed
- }
+ vals[i] = string(buf[:m])
}
- return vals
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url.go
new file mode 100644
index 00000000..6192b245
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url.go
@@ -0,0 +1,12 @@
+// +build go1.8
+
+package aws
+
+import "net/url"
+
+// URLHostname will extract the Hostname without port from the URL value.
+//
+// Wrapper of net/url#URL.Hostname for backwards Go version compatibility.
+func URLHostname(url *url.URL) string {
+ return url.Hostname()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go
new file mode 100644
index 00000000..0210d272
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/url_1_7.go
@@ -0,0 +1,29 @@
+// +build !go1.8
+
+package aws
+
+import (
+ "net/url"
+ "strings"
+)
+
+// URLHostname will extract the Hostname without port from the URL value.
+//
+// Copy of Go 1.8's net/url#URL.Hostname functionality.
+func URLHostname(url *url.URL) string {
+ return stripPort(url.Host)
+
+}
+
+// stripPort is copy of Go 1.8 url#URL.Hostname functionality.
+// https://golang.org/src/net/url/url.go
+func stripPort(hostport string) string {
+ colon := strings.IndexByte(hostport, ':')
+ if colon == -1 {
+ return hostport
+ }
+ if i := strings.IndexByte(hostport, ']'); i != -1 {
+ return strings.TrimPrefix(hostport[:i], "[")
+ }
+ return hostport[:colon]
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/version.go
index 7c48b0d9..7a4f26e3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
-const SDKVersion = "1.7.1"
+const SDKVersion = "1.10.23"
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/doc.go
new file mode 100644
index 00000000..3e077e51
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/doc.go
@@ -0,0 +1,405 @@
+// Package sdk is the official AWS SDK for the Go programming language.
+//
+// The AWS SDK for Go provides APIs and utilities that developers can use to
+// build Go applications that use AWS services, such as Amazon Elastic Compute
+// Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3).
+//
+// The SDK removes the complexity of coding directly against a web service
+// interface. It hides a lot of the lower-level plumbing, such as authentication,
+// request retries, and error handling.
+//
+// The SDK also includes helpful utilities on top of the AWS APIs that add additional
+// capabilities and functionality. For example, the Amazon S3 Download and Upload
+// Manager will automatically split up large objects into multiple parts and
+// transfer them concurrently.
+//
+// See the s3manager package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/
+//
+// Getting More Information
+//
+// Checkout the Getting Started Guide and API Reference Docs detailed the SDK's
+// components and details on each AWS client the SDK supports.
+//
+// The Getting Started Guide provides examples and detailed description of how
+// to get setup with the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/welcome.html
+//
+// The API Reference Docs include a detailed breakdown of the SDK's components
+// such as utilities and AWS clients. Use this as a reference of the Go types
+// included with the SDK, such as AWS clients, API operations, and API parameters.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// Overview of SDK's Packages
+//
+// The SDK is composed of two main components, SDK core, and service clients.
+// The SDK core packages are all available under the aws package at the root of
+// the SDK. Each client for a supported AWS service is available within its own
+// package under the service folder at the root of the SDK.
+//
+// * aws - SDK core, provides common shared types such as Config, Logger,
+// and utilities to make working with API parameters easier.
+//
+// * awserr - Provides the error interface that the SDK will use for all
+// errors that occur in the SDK's processing. This includes service API
+// response errors as well. The Error type is made up of a code and message.
+// Cast the SDK's returned error type to awserr.Error and call the Code
+// method to compare returned error to specific error codes. See the package's
+// documentation for additional values that can be extracted such as RequestId.
+//
+// * credentials - Provides the types and built in credentials providers
+// the SDK will use to retrieve AWS credentials to make API requests with.
+// Nested under this folder are also additional credentials providers such as
+// stscreds for assuming IAM roles, and ec2rolecreds for EC2 Instance roles.
+//
+// * endpoints - Provides the AWS Regions and Endpoints metadata for the SDK.
+// Use this to lookup AWS service endpoint information such as which services
+// are in a region, and what regions a service is in. Constants are also provided
+// for all region identifiers, e.g UsWest2RegionID for "us-west-2".
+//
+// * session - Provides initial default configuration, and load
+// configuration from external sources such as environment and shared
+// credentials file.
+//
+// * request - Provides the API request sending, and retry logic for the SDK.
+// This package also includes utilities for defining your own request
+// retryer, and configuring how the SDK processes the request.
+//
+// * service - Clients for AWS services. All services supported by the SDK are
+// available under this folder.
+//
+// How to Use the SDK's AWS Service Clients
+//
+// The SDK includes the Go types and utilities you can use to make requests to
+// AWS service APIs. Within the service folder at the root of the SDK you'll find
+// a package for each AWS service the SDK supports. All service clients follows
+// a common pattern of creation and usage.
+//
+// When creating a client for an AWS service you'll first need to have a Session
+// value constructed. The Session provides shared configuration that can be shared
+// between your service clients. When service clients are created you can pass
+// in additional configuration via the aws.Config type to override configuration
+// provided by in the Session to create service client instances with custom
+// configuration.
+//
+// Once the service's client is created you can use it to make API requests the
+// AWS service. These clients are safe to use concurrently.
+//
+// Configuring the SDK
+//
+// In the AWS SDK for Go, you can configure settings for service clients, such
+// as the log level and maximum number of retries. Most settings are optional;
+// however, for each service client, you must specify a region and your credentials.
+// The SDK uses these values to send requests to the correct AWS region and sign
+// requests with the correct credentials. You can specify these values as part
+// of a session or as environment variables.
+//
+// See the SDK's configuration guide for more information.
+// https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html
+//
+// See the session package documentation for more information on how to use Session
+// with the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/session/
+//
+// See the Config type in the aws package for more information on configuration
+// options.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// Configuring Credentials
+//
+// When using the SDK you'll generally need your AWS credentials to authenticate
+// with AWS services. The SDK supports multiple methods of supporting these
+// credentials. By default the SDK will source credentials automatically from
+// its default credential chain. See the session package for more information
+// on this chain, and how to configure it. The common items in the credential
+// chain are the following:
+//
+// * Environment Credentials - Set of environment variables that are useful
+// when sub processes are created for specific roles.
+//
+// * Shared Credentials file (~/.aws/credentials) - This file stores your
+// credentials based on a profile name and is useful for local development.
+//
+// * EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials
+// to application running on an EC2 instance. This removes the need to manage
+// credential files in production.
+//
+// Credentials can be configured in code as well by setting the Config's Credentials
+// value to a custom provider or using one of the providers included with the
+// SDK to bypass the default credential chain and use a custom one. This is
+// helpful when you want to instruct the SDK to only use a specific set of
+// credentials or providers.
+//
+// This example creates a credential provider for assuming an IAM role, "myRoleARN"
+// and configures the S3 service client to use that role for API requests.
+//
+// // Initial credentials loaded from SDK's default credential chain. Such as
+// // the environment, shared credentials (~/.aws/credentials), or EC2 Instance
+// // Role. These credentials will be used to to make the STS Assume Role API.
+// sess := session.Must(session.NewSession())
+//
+// // Create the credentials from AssumeRoleProvider to assume the role
+// // referenced by the "myRoleARN" ARN.
+// creds := stscreds.NewCredentials(sess, "myRoleArn")
+//
+// // Create service client value configured for credentials
+// // from assumed role.
+// svc := s3.New(sess, &aws.Config{Credentials: creds})/
+//
+// See the credentials package documentation for more information on credential
+// providers included with the SDK, and how to customize the SDK's usage of
+// credentials.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials
+//
+// The SDK has support for the shared configuration file (~/.aws/config). This
+// support can be enabled by setting the environment variable, "AWS_SDK_LOAD_CONFIG=1",
+// or enabling the feature in code when creating a Session via the
+// Option's SharedConfigState parameter.
+//
+// sess := session.Must(session.NewSessionWithOptions(session.Options{
+// SharedConfigState: session.SharedConfigEnable,
+// }))
+//
+// Configuring AWS Region
+//
+// In addition to the credentials you'll need to specify the region the SDK
+// will use to make AWS API requests to. In the SDK you can specify the region
+// either with an environment variable, or directly in code when a Session or
+// service client is created. The last value specified in code wins if the region
+// is specified multiple ways.
+//
+// To set the region via the environment variable set the "AWS_REGION" to the
+// region you want to the SDK to use. Using this method to set the region will
+// allow you to run your application in multiple regions without needing additional
+// code in the application to select the region.
+//
+// AWS_REGION=us-west-2
+//
+// The endpoints package includes constants for all regions the SDK knows. The
+// values are all suffixed with RegionID. These values are helpful, because they
+// reduce the need to type the region string manually.
+//
+// To set the region on a Session use the aws package's Config struct parameter
+// Region to the AWS region you want the service clients created from the session to
+// use. This is helpful when you want to create multiple service clients, and
+// all of the clients make API requests to the same region.
+//
+// sess := session.Must(session.NewSession(&aws.Config{
+// Region: aws.String(endpoints.UsWest2RegionID),
+// }))
+//
+// See the endpoints package for the AWS Regions and Endpoints metadata.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/endpoints/
+//
+// In addition to setting the region when creating a Session you can also set
+// the region on a per service client bases. This overrides the region of a
+// Session. This is helpful when you want to create service clients in specific
+// regions different from the Session's region.
+//
+// svc := s3.New(sess, &aws.Config{
+// Region: aws.String(ednpoints.UsWest2RegionID),
+// })
+//
+// See the Config type in the aws package for more information and additional
+// options such as setting the Endpoint, and other service client configuration options.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// Making API Requests
+//
+// Once the client is created you can make an API request to the service.
+// Each API method takes a input parameter, and returns the service response
+// and an error. The SDK provides methods for making the API call in multiple ways.
+//
+// In this list we'll use the S3 ListObjects API as an example for the different
+// ways of making API requests.
+//
+// * ListObjects - Base API operation that will make the API request to the service.
+//
+// * ListObjectsRequest - API methods suffixed with Request will construct the
+// API request, but not send it. This is also helpful when you want to get a
+// presigned URL for a request, and share the presigned URL instead of your
+// application making the request directly.
+//
+// * ListObjectsPages - Same as the base API operation, but uses a callback to
+// automatically handle pagination of the API's response.
+//
+// * ListObjectsWithContext - Same as base API operation, but adds support for
+// the Context pattern. This is helpful for controlling the canceling of in
+// flight requests. See the Go standard library context package for more
+// information. This method also takes request package's Option functional
+// options as the variadic argument for modifying how the request will be
+// made, or extracting information from the raw HTTP response.
+//
+// * ListObjectsPagesWithContext - same as ListObjectsPages, but adds support for
+// the Context pattern. Similar to ListObjectsWithContext this method also
+// takes the request package's Option function option types as the variadic
+// argument.
+//
+// In addition to the API operations the SDK also includes several higher level
+// methods that abstract checking for and waiting for an AWS resource to be in
+// a desired state. In this list we'll use WaitUntilBucketExists to demonstrate
+// the different forms of waiters.
+//
+// * WaitUntilBucketExists. - Method to make API request to query an AWS service for
+// a resource's state. Will return successfully when that state is accomplished.
+//
+// * WaitUntilBucketExistsWithContext - Same as WaitUntilBucketExists, but adds
+// support for the Context pattern. In addition these methods take request
+// package's WaiterOptions to configure the waiter, and how underlying request
+// will be made by the SDK.
+//
+// The API method will document which error codes the service might return for
+// the operation. These errors will also be available as const strings prefixed
+// with "ErrCode" in the service client's package. If there are no errors listed
+// in the API's SDK documentation you'll need to consult the AWS service's API
+// documentation for the errors that could be returned.
+//
+// ctx := context.Background()
+//
+// result, err := svc.GetObjectWithContext(ctx, &s3.GetObjectInput{
+// Bucket: aws.String("my-bucket"),
+// Key: aws.String("my-key"),
+// })
+// if err != nil {
+// // Cast err to awserr.Error to handle specific error codes.
+// aerr, ok := err.(awserr.Error)
+// if ok && aerr.Code() == s3.ErrCodeNoSuchKey {
+// // Specific error code handling
+// }
+// return err
+// }
+//
+// // Make sure to close the body when done with it for S3 GetObject APIs or
+// // will leak connections.
+// defer result.Body.Close()
+//
+// fmt.Println("Object Size:", aws.StringValue(result.ContentLength))
+//
+// API Request Pagination and Resource Waiters
+//
+// Pagination helper methods are suffixed with "Pages", and provide the
+// functionality needed to round trip API page requests. Pagination methods
+// take a callback function that will be called for each page of the API's response.
+//
+// objects := []string{}
+// err := svc.ListObjectsPagesWithContext(ctx, &s3.ListObjectsInput{
+// Bucket: aws.String(myBucket),
+// }, func(p *s3.ListObjectsOutput, lastPage bool) bool {
+// for _, o := range p.Contents {
+// objects = append(objects, aws.StringValue(o.Key))
+// }
+// return true // continue paging
+// })
+// if err != nil {
+// panic(fmt.Sprintf("failed to list objects for bucket, %s, %v", myBucket, err))
+// }
+//
+// fmt.Println("Objects in bucket:", objects)
+//
+// Waiter helper methods provide the functionality to wait for an AWS resource
+// state. These methods abstract the logic needed to to check the state of an
+// AWS resource, and wait until that resource is in a desired state. The waiter
+// will block until the resource is in the state that is desired, an error occurs,
+// or the waiter times out. If a resource times out the error code returned will
+// be request.WaiterResourceNotReadyErrorCode.
+//
+// err := svc.WaitUntilBucketExistsWithContext(ctx, &s3.HeadBucketInput{
+// Bucket: aws.String(myBucket),
+// })
+// if err != nil {
+// aerr, ok := err.(awserr.Error)
+// if ok && aerr.Code() == request.WaiterResourceNotReadyErrorCode {
+// fmt.Fprintf(os.Stderr, "timed out while waiting for bucket to exist")
+// }
+// panic(fmt.Errorf("failed to wait for bucket to exist, %v", err))
+// }
+// fmt.Println("Bucket", myBucket, "exists")
+//
+// Complete SDK Example
+//
+// This example shows a complete working Go file which will upload a file to S3
+// and use the Context pattern to implement timeout logic that will cancel the
+// request if it takes too long. This example highlights how to use sessions,
+// create a service client, make a request, handle the error, and process the
+// response.
+//
+// package main
+//
+// import (
+// "context"
+// "flag"
+// "fmt"
+// "os"
+// "time"
+//
+// "github.com/aws/aws-sdk-go/aws"
+// "github.com/aws/aws-sdk-go/aws/awserr"
+// "github.com/aws/aws-sdk-go/aws/request"
+// "github.com/aws/aws-sdk-go/aws/session"
+// "github.com/aws/aws-sdk-go/service/s3"
+// )
+//
+// // Uploads a file to S3 given a bucket and object key. Also takes a duration
+// // value to terminate the update if it doesn't complete within that time.
+// //
+// // The AWS Region needs to be provided in the AWS shared config or on the
+// // environment variable as `AWS_REGION`. Credentials also must be provided
+// // Will default to shared config file, but can load from environment if provided.
+// //
+// // Usage:
+// // # Upload myfile.txt to myBucket/myKey. Must complete within 10 minutes or will fail
+// // go run withContext.go -b mybucket -k myKey -d 10m < myfile.txt
+// func main() {
+// var bucket, key string
+// var timeout time.Duration
+//
+// flag.StringVar(&bucket, "b", "", "Bucket name.")
+// flag.StringVar(&key, "k", "", "Object key name.")
+// flag.DurationVar(&timeout, "d", 0, "Upload timeout.")
+// flag.Parse()
+//
+// // All clients require a Session. The Session provides the client with
+// // shared configuration such as region, endpoint, and credentials. A
+// // Session should be shared where possible to take advantage of
+// // configuration and credential caching. See the session package for
+// // more information.
+// sess := session.Must(session.NewSession())
+//
+// // Create a new instance of the service's client with a Session.
+// // Optional aws.Config values can also be provided as variadic arguments
+// // to the New function. This option allows you to provide service
+// // specific configuration.
+// svc := s3.New(sess)
+//
+// // Create a context with a timeout that will abort the upload if it takes
+// // more than the passed in timeout.
+// ctx := context.Background()
+// var cancelFn func()
+// if timeout > 0 {
+// ctx, cancelFn = context.WithTimeout(ctx, timeout)
+// }
+// // Ensure the context is canceled to prevent leaking.
+// // See context package for more information, https://golang.org/pkg/context/
+// defer cancelFn()
+//
+// // Uploads the object to S3. The Context will interrupt the request if the
+// // timeout expires.
+// _, err := svc.PutObjectWithContext(ctx, &s3.PutObjectInput{
+// Bucket: aws.String(bucket),
+// Key: aws.String(key),
+// Body: os.Stdin,
+// })
+// if err != nil {
+// if aerr, ok := err.(awserr.Error); ok && aerr.Code() == request.CanceledErrorCode {
+// // If the SDK can determine the request or retry delay was canceled
+// // by a context the CanceledErrorCode error code will be returned.
+// fmt.Fprintf(os.Stderr, "upload canceled due to timeout, %v\n", err)
+// } else {
+// fmt.Fprintf(os.Stderr, "failed to upload object, %v\n", err)
+// }
+// os.Exit(1)
+// }
+//
+// fmt.Printf("successfully uploaded file to %s/%s\n", bucket, key)
+// }
+package sdk
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go
new file mode 100644
index 00000000..ebcbc2b4
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/internal/shareddefaults/shared_config.go
@@ -0,0 +1,40 @@
+package shareddefaults
+
+import (
+ "os"
+ "path/filepath"
+ "runtime"
+)
+
+// SharedCredentialsFilename returns the SDK's default file path
+// for the shared credentials file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/credentials
+// - Windows: %USERPROFILE%\.aws\credentials
+func SharedCredentialsFilename() string {
+ return filepath.Join(UserHomeDir(), ".aws", "credentials")
+}
+
+// SharedConfigFilename returns the SDK's default file path for
+// the shared config file.
+//
+// Builds the shared config file path based on the OS's platform.
+//
+// - Linux/Unix: $HOME/.aws/config
+// - Windows: %USERPROFILE%\.aws\config
+func SharedConfigFilename() string {
+ return filepath.Join(UserHomeDir(), ".aws", "config")
+}
+
+// UserHomeDir returns the home directory for the user the process is
+// running under.
+func UserHomeDir() string {
+ if runtime.GOOS == "windows" { // Windows
+ return os.Getenv("USERPROFILE")
+ }
+
+ // *nix
+ return os.Getenv("HOME")
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go
deleted file mode 100644
index b4ad7405..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Package endpoints validates regional endpoints for services.
-package endpoints
-
-//go:generate go run ../model/cli/gen-endpoints/main.go endpoints.json endpoints_map.go
-//go:generate gofmt -s -w endpoints_map.go
-
-import (
- "fmt"
- "regexp"
- "strings"
-)
-
-// NormalizeEndpoint takes and endpoint and service API information to return a
-// normalized endpoint and signing region. If the endpoint is not an empty string
-// the service name and region will be used to look up the service's API endpoint.
-// If the endpoint is provided the scheme will be added if it is not present.
-func NormalizeEndpoint(endpoint, serviceName, region string, disableSSL, useDualStack bool) (normEndpoint, signingRegion string) {
- if endpoint == "" {
- return EndpointForRegion(serviceName, region, disableSSL, useDualStack)
- }
-
- return AddScheme(endpoint, disableSSL), ""
-}
-
-// EndpointForRegion returns an endpoint and its signing region for a service and region.
-// if the service and region pair are not found endpoint and signingRegion will be empty.
-func EndpointForRegion(svcName, region string, disableSSL, useDualStack bool) (endpoint, signingRegion string) {
- dualStackField := ""
- if useDualStack {
- dualStackField = "/dualstack"
- }
-
- derivedKeys := []string{
- region + "/" + svcName + dualStackField,
- region + "/*" + dualStackField,
- "*/" + svcName + dualStackField,
- "*/*" + dualStackField,
- }
-
- for _, key := range derivedKeys {
- if val, ok := endpointsMap.Endpoints[key]; ok {
- ep := val.Endpoint
- ep = strings.Replace(ep, "{region}", region, -1)
- ep = strings.Replace(ep, "{service}", svcName, -1)
-
- endpoint = ep
- signingRegion = val.SigningRegion
- break
- }
- }
-
- return AddScheme(endpoint, disableSSL), signingRegion
-}
-
-// Regular expression to determine if the endpoint string is prefixed with a scheme.
-var schemeRE = regexp.MustCompile("^([^:]+)://")
-
-// AddScheme adds the HTTP or HTTPS schemes to a endpoint URL if there is no
-// scheme. If disableSSL is true HTTP will be added instead of the default HTTPS.
-func AddScheme(endpoint string, disableSSL bool) string {
- if endpoint != "" && !schemeRE.MatchString(endpoint) {
- scheme := "https"
- if disableSSL {
- scheme = "http"
- }
- endpoint = fmt.Sprintf("%s://%s", scheme, endpoint)
- }
-
- return endpoint
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json
deleted file mode 100644
index c5bf3c7c..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "version": 2,
- "endpoints": {
- "*/*": {
- "endpoint": "{service}.{region}.amazonaws.com"
- },
- "cn-north-1/*": {
- "endpoint": "{service}.{region}.amazonaws.com.cn",
- "signatureVersion": "v4"
- },
- "cn-north-1/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "us-gov-west-1/iam": {
- "endpoint": "iam.us-gov.amazonaws.com"
- },
- "us-gov-west-1/sts": {
- "endpoint": "sts.us-gov-west-1.amazonaws.com"
- },
- "us-gov-west-1/s3": {
- "endpoint": "s3-{region}.amazonaws.com"
- },
- "us-gov-west-1/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "*/cloudfront": {
- "endpoint": "cloudfront.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/cloudsearchdomain": {
- "endpoint": "",
- "signingRegion": "us-east-1"
- },
- "*/data.iot": {
- "endpoint": "",
- "signingRegion": "us-east-1"
- },
- "*/ec2metadata": {
- "endpoint": "http://169.254.169.254/latest"
- },
- "*/iam": {
- "endpoint": "iam.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/importexport": {
- "endpoint": "importexport.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/route53": {
- "endpoint": "route53.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/sts": {
- "endpoint": "sts.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/waf": {
- "endpoint": "waf.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "us-east-1/sdb": {
- "endpoint": "sdb.amazonaws.com",
- "signingRegion": "us-east-1"
- },
- "*/s3": {
- "endpoint": "s3-{region}.amazonaws.com"
- },
- "*/s3/dualstack": {
- "endpoint": "s3.dualstack.{region}.amazonaws.com"
- },
- "us-east-1/s3": {
- "endpoint": "s3.amazonaws.com"
- },
- "eu-central-1/s3": {
- "endpoint": "{service}.{region}.amazonaws.com"
- }
- }
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go
deleted file mode 100644
index a81d158c..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/endpoints/endpoints_map.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package endpoints
-
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
-
-type endpointStruct struct {
- Version int
- Endpoints map[string]endpointEntry
-}
-
-type endpointEntry struct {
- Endpoint string
- SigningRegion string
-}
-
-var endpointsMap = endpointStruct{
- Version: 2,
- Endpoints: map[string]endpointEntry{
- "*/*": {
- Endpoint: "{service}.{region}.amazonaws.com",
- },
- "*/cloudfront": {
- Endpoint: "cloudfront.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/cloudsearchdomain": {
- Endpoint: "",
- SigningRegion: "us-east-1",
- },
- "*/data.iot": {
- Endpoint: "",
- SigningRegion: "us-east-1",
- },
- "*/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "*/iam": {
- Endpoint: "iam.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/importexport": {
- Endpoint: "importexport.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/route53": {
- Endpoint: "route53.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/s3": {
- Endpoint: "s3-{region}.amazonaws.com",
- },
- "*/s3/dualstack": {
- Endpoint: "s3.dualstack.{region}.amazonaws.com",
- },
- "*/sts": {
- Endpoint: "sts.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "*/waf": {
- Endpoint: "waf.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "cn-north-1/*": {
- Endpoint: "{service}.{region}.amazonaws.com.cn",
- },
- "cn-north-1/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "eu-central-1/s3": {
- Endpoint: "{service}.{region}.amazonaws.com",
- },
- "us-east-1/s3": {
- Endpoint: "s3.amazonaws.com",
- },
- "us-east-1/sdb": {
- Endpoint: "sdb.amazonaws.com",
- SigningRegion: "us-east-1",
- },
- "us-gov-west-1/ec2metadata": {
- Endpoint: "http://169.254.169.254/latest",
- },
- "us-gov-west-1/iam": {
- Endpoint: "iam.us-gov.amazonaws.com",
- },
- "us-gov-west-1/s3": {
- Endpoint: "s3-{region}.amazonaws.com",
- },
- "us-gov-west-1/sts": {
- Endpoint: "sts.us-gov-west-1.amazonaws.com",
- },
- },
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
index f434ab7c..524ca952 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go
@@ -80,7 +80,6 @@ func (q *queryParser) parseStruct(v url.Values, value reflect.Value, prefix stri
continue
}
-
if protocol.CanSetIdempotencyToken(value.Field(i), field) {
token := protocol.GetIdempotencyToken()
elemValue = reflect.ValueOf(token)
@@ -124,7 +123,11 @@ func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string
// check for unflattened list member
if !q.isEC2 && tag.Get("flattened") == "" {
- prefix += ".member"
+ if listName := tag.Get("locationNameList"); listName == "" {
+ prefix += ".member"
+ } else {
+ prefix += "." + listName
+ }
}
for i := 0; i < value.Len(); i++ {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
index 20a41d46..71618356 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
@@ -4,6 +4,7 @@ package rest
import (
"bytes"
"encoding/base64"
+ "encoding/json"
"fmt"
"io"
"net/http"
@@ -82,8 +83,12 @@ func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bo
if name == "" {
name = field.Name
}
- if m.Kind() == reflect.Ptr {
+ if kind := m.Kind(); kind == reflect.Ptr {
m = m.Elem()
+ } else if kind == reflect.Interface {
+ if !m.Elem().IsValid() {
+ continue
+ }
}
if !m.IsValid() {
continue
@@ -95,16 +100,16 @@ func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bo
var err error
switch field.Tag.Get("location") {
case "headers": // header maps
- err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag.Get("locationName"))
+ err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag)
case "header":
- err = buildHeader(&r.HTTPRequest.Header, m, name)
+ err = buildHeader(&r.HTTPRequest.Header, m, name, field.Tag)
case "uri":
- err = buildURI(r.HTTPRequest.URL, m, name)
+ err = buildURI(r.HTTPRequest.URL, m, name, field.Tag)
case "querystring":
- err = buildQueryString(query, m, name)
+ err = buildQueryString(query, m, name, field.Tag)
default:
if buildGETQuery {
- err = buildQueryString(query, m, name)
+ err = buildQueryString(query, m, name, field.Tag)
}
}
r.Error = err
@@ -145,8 +150,8 @@ func buildBody(r *request.Request, v reflect.Value) {
}
}
-func buildHeader(header *http.Header, v reflect.Value, name string) error {
- str, err := convertType(v)
+func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect.StructTag) error {
+ str, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
@@ -158,9 +163,10 @@ func buildHeader(header *http.Header, v reflect.Value, name string) error {
return nil
}
-func buildHeaderMap(header *http.Header, v reflect.Value, prefix string) error {
+func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) error {
+ prefix := tag.Get("locationName")
for _, key := range v.MapKeys() {
- str, err := convertType(v.MapIndex(key))
+ str, err := convertType(v.MapIndex(key), tag)
if err == errValueNotSet {
continue
} else if err != nil {
@@ -173,8 +179,8 @@ func buildHeaderMap(header *http.Header, v reflect.Value, prefix string) error {
return nil
}
-func buildURI(u *url.URL, v reflect.Value, name string) error {
- value, err := convertType(v)
+func buildURI(u *url.URL, v reflect.Value, name string, tag reflect.StructTag) error {
+ value, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
@@ -190,7 +196,7 @@ func buildURI(u *url.URL, v reflect.Value, name string) error {
return nil
}
-func buildQueryString(query url.Values, v reflect.Value, name string) error {
+func buildQueryString(query url.Values, v reflect.Value, name string, tag reflect.StructTag) error {
switch value := v.Interface().(type) {
case []*string:
for _, item := range value {
@@ -207,7 +213,7 @@ func buildQueryString(query url.Values, v reflect.Value, name string) error {
}
}
default:
- str, err := convertType(v)
+ str, err := convertType(v, tag)
if err == errValueNotSet {
return nil
} else if err != nil {
@@ -246,7 +252,7 @@ func EscapePath(path string, encodeSep bool) string {
return buf.String()
}
-func convertType(v reflect.Value) (string, error) {
+func convertType(v reflect.Value, tag reflect.StructTag) (string, error) {
v = reflect.Indirect(v)
if !v.IsValid() {
return "", errValueNotSet
@@ -266,6 +272,16 @@ func convertType(v reflect.Value) (string, error) {
str = strconv.FormatFloat(value, 'f', -1, 64)
case time.Time:
str = value.UTC().Format(RFC822)
+ case aws.JSONValue:
+ b, err := json.Marshal(value)
+ if err != nil {
+ return "", err
+ }
+ if tag.Get("location") == "header" {
+ str = base64.StdEncoding.EncodeToString(b)
+ } else {
+ str = string(b)
+ }
default:
err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type())
return "", err
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
index 9c00921c..7a779ee2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
@@ -3,6 +3,7 @@ package rest
import (
"bytes"
"encoding/base64"
+ "encoding/json"
"fmt"
"io"
"io/ioutil"
@@ -12,6 +13,7 @@ import (
"strings"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -111,7 +113,7 @@ func unmarshalLocationElements(r *request.Request, v reflect.Value) {
case "statusCode":
unmarshalStatusCode(m, r.HTTPResponse.StatusCode)
case "header":
- err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name))
+ err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name), field.Tag)
if err != nil {
r.Error = awserr.New("SerializationError", "failed to decode REST response", err)
break
@@ -158,8 +160,13 @@ func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) err
return nil
}
-func unmarshalHeader(v reflect.Value, header string) error {
- if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) {
+func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) error {
+ isJSONValue := tag.Get("type") == "jsonvalue"
+ if isJSONValue {
+ if len(header) == 0 {
+ return nil
+ }
+ } else if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) {
return nil
}
@@ -196,6 +203,22 @@ func unmarshalHeader(v reflect.Value, header string) error {
return err
}
v.Set(reflect.ValueOf(&t))
+ case aws.JSONValue:
+ b := []byte(header)
+ var err error
+ if tag.Get("location") == "header" {
+ b, err = base64.StdEncoding.DecodeString(header)
+ if err != nil {
+ return err
+ }
+ }
+
+ m := aws.JSONValue{}
+ err = json.Unmarshal(b, &m)
+ if err != nil {
+ return err
+ }
+ v.Set(reflect.ValueOf(m))
default:
err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type())
return err
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
index c74c1919..7091b456 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go
@@ -131,7 +131,6 @@ func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag refl
continue
}
-
mTag := field.Tag
if mTag.Get("location") != "" { // skip non-body members
continue
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
index 64b6ddd3..87584628 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
@@ -15,7 +15,10 @@ import (
// needs to match the shape of the XML expected to be decoded.
// If the shape doesn't match unmarshaling will fail.
func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error {
- n, _ := XMLToStruct(d, nil)
+ n, err := XMLToStruct(d, nil)
+ if err != nil {
+ return err
+ }
if n.Children != nil {
for _, root := range n.Children {
for _, c := range root {
@@ -23,7 +26,7 @@ func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error {
c = wrappedChild[0] // pull out wrapped element
}
- err := parse(reflect.ValueOf(v), c, "")
+ err = parse(reflect.ValueOf(v), c, "")
if err != nil {
if err == io.EOF {
return nil
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
index 3112512a..3e970b62 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go
@@ -40,11 +40,16 @@ func XMLToStruct(d *xml.Decoder, s *xml.StartElement) (*XMLNode, error) {
out := &XMLNode{}
for {
tok, err := d.Token()
- if tok == nil || err == io.EOF {
- break
- }
if err != nil {
- return out, err
+ if err == io.EOF {
+ break
+ } else {
+ return out, err
+ }
+ }
+
+ if tok == nil {
+ break
}
switch typed := tok.(type) {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/sdk.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/sdk.go
deleted file mode 100644
index afa465a2..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/sdk.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Package sdk is the official AWS SDK for the Go programming language.
-//
-// See our Developer Guide for information for on getting started and using
-// the SDK.
-//
-// https://github.com/aws/aws-sdk-go/wiki
-package sdk
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
index 83191e2d..da280963 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go
@@ -1,12 +1,12 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package ec2 provides a client for Amazon Elastic Compute Cloud.
package ec2
import (
"fmt"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
@@ -17,19 +17,18 @@ const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQ
// AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
// client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AcceptReservedInstancesExchangeQuote for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly
-// instead.
+// See AcceptReservedInstancesExchangeQuote for more information on using the AcceptReservedInstancesExchangeQuote
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
// req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
@@ -70,27 +69,41 @@ func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
// client's request for the AcceptVpcPeeringConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AcceptVpcPeeringConnection for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AcceptVpcPeeringConnection method directly
-// instead.
+// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
// req, resp := client.AcceptVpcPeeringConnectionRequest(params)
@@ -121,8 +134,8 @@ func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectio
//
// Accept a VPC peering connection request. To accept a request, the VPC peering
// connection must be in the pending-acceptance state, and you must be the owner
-// of the peer VPC. Use the DescribeVpcPeeringConnections request to view your
-// outstanding VPC peering connection requests.
+// of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
+// VPC peering connection requests.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -133,27 +146,41 @@ func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectio
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
req, out := c.AcceptVpcPeeringConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AcceptVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
+ req, out := c.AcceptVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAllocateAddress = "AllocateAddress"
// AllocateAddressRequest generates a "aws/request.Request" representing the
// client's request for the AllocateAddress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AllocateAddress for usage and error information.
+// See AllocateAddress for more information on using the AllocateAddress
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AllocateAddress method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AllocateAddressRequest method.
// req, resp := client.AllocateAddressRequest(params)
@@ -197,27 +224,41 @@ func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
req, out := c.AllocateAddressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AllocateAddressWithContext is the same as AllocateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AllocateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
+ req, out := c.AllocateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAllocateHosts = "AllocateHosts"
// AllocateHostsRequest generates a "aws/request.Request" representing the
// client's request for the AllocateHosts operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AllocateHosts for usage and error information.
+// See AllocateHosts for more information on using the AllocateHosts
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AllocateHosts method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AllocateHostsRequest method.
// req, resp := client.AllocateHostsRequest(params)
@@ -259,27 +300,41 @@ func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
req, out := c.AllocateHostsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AllocateHostsWithContext is the same as AllocateHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AllocateHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
+ req, out := c.AllocateHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssignIpv6Addresses = "AssignIpv6Addresses"
// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
// client's request for the AssignIpv6Addresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AssignIpv6Addresses for usage and error information.
+// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssignIpv6Addresses method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssignIpv6AddressesRequest method.
// req, resp := client.AssignIpv6AddressesRequest(params)
@@ -326,27 +381,41 @@ func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
req, out := c.AssignIpv6AddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssignIpv6Addresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
+ req, out := c.AssignIpv6AddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
// client's request for the AssignPrivateIpAddresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AssignPrivateIpAddresses for usage and error information.
+// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssignPrivateIpAddresses method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssignPrivateIpAddressesRequest method.
// req, resp := client.AssignPrivateIpAddressesRequest(params)
@@ -398,27 +467,41 @@ func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
req, out := c.AssignPrivateIpAddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssignPrivateIpAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
+ req, out := c.AssignPrivateIpAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateAddress = "AssociateAddress"
// AssociateAddressRequest generates a "aws/request.Request" representing the
// client's request for the AssociateAddress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssociateAddress for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateAddress method directly
-// instead.
+// See AssociateAddress for more information on using the AssociateAddress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateAddressRequest method.
// req, resp := client.AssociateAddressRequest(params)
@@ -455,12 +538,17 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques
//
// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
// already associated with a different instance, it is disassociated from that
-// instance and associated with the specified instance.
+// instance and associated with the specified instance. If you associate an
+// Elastic IP address with an instance that has an existing Elastic IP address,
+// the existing address is disassociated from the instance, but remains allocated
+// to your account.
//
// [VPC in an EC2-Classic account] If you don't specify a private IP address,
// the Elastic IP address is associated with the primary IP address. If the
// Elastic IP address is already associated with a different instance or a network
-// interface, you get an error unless you allow reassociation.
+// interface, you get an error unless you allow reassociation. You cannot associate
+// an Elastic IP address with an instance or network interface that has an existing
+// Elastic IP address.
//
// This is an idempotent operation. If you perform the operation more than once,
// Amazon EC2 doesn't return an error, and you may be charged for each time
@@ -476,27 +564,41 @@ func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
req, out := c.AssociateAddressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateAddressWithContext is the same as AssociateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
+ req, out := c.AssociateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateDhcpOptions = "AssociateDhcpOptions"
// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
// client's request for the AssociateDhcpOptions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AssociateDhcpOptions for usage and error information.
+// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateDhcpOptions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateDhcpOptionsRequest method.
// req, resp := client.AssociateDhcpOptionsRequest(params)
@@ -549,27 +651,41 @@ func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
req, out := c.AssociateDhcpOptionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
+ req, out := c.AssociateDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
// client's request for the AssociateIamInstanceProfile operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AssociateIamInstanceProfile for usage and error information.
+// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateIamInstanceProfile method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateIamInstanceProfileRequest method.
// req, resp := client.AssociateIamInstanceProfileRequest(params)
@@ -610,27 +726,41 @@ func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProf
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
req, out := c.AssociateIamInstanceProfileRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateIamInstanceProfile for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
+ req, out := c.AssociateIamInstanceProfileRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateRouteTable = "AssociateRouteTable"
// AssociateRouteTableRequest generates a "aws/request.Request" representing the
// client's request for the AssociateRouteTable operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssociateRouteTable for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateRouteTable method directly
-// instead.
+// See AssociateRouteTable for more information on using the AssociateRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateRouteTableRequest method.
// req, resp := client.AssociateRouteTableRequest(params)
@@ -677,27 +807,41 @@ func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
req, out := c.AssociateRouteTableRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
+ req, out := c.AssociateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
// client's request for the AssociateSubnetCidrBlock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssociateSubnetCidrBlock for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateSubnetCidrBlock method directly
-// instead.
+// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateSubnetCidrBlockRequest method.
// req, resp := client.AssociateSubnetCidrBlockRequest(params)
@@ -739,27 +883,41 @@ func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
req, out := c.AssociateSubnetCidrBlockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateSubnetCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
+ req, out := c.AssociateSubnetCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
// client's request for the AssociateVpcCidrBlock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AssociateVpcCidrBlock for usage and error information.
+// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssociateVpcCidrBlock method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssociateVpcCidrBlockRequest method.
// req, resp := client.AssociateVpcCidrBlockRequest(params)
@@ -800,27 +958,41 @@ func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
req, out := c.AssociateVpcCidrBlockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssociateVpcCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
+ req, out := c.AssociateVpcCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
// client's request for the AttachClassicLinkVpc operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AttachClassicLinkVpc for usage and error information.
+// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AttachClassicLinkVpc method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AttachClassicLinkVpcRequest method.
// req, resp := client.AttachClassicLinkVpcRequest(params)
@@ -871,27 +1043,41 @@ func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
req, out := c.AttachClassicLinkVpcRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachClassicLinkVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
+ req, out := c.AttachClassicLinkVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAttachInternetGateway = "AttachInternetGateway"
// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the AttachInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AttachInternetGateway for usage and error information.
+// See AttachInternetGateway for more information on using the AttachInternetGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AttachInternetGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AttachInternetGatewayRequest method.
// req, resp := client.AttachInternetGatewayRequest(params)
@@ -935,27 +1121,41 @@ func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
req, out := c.AttachInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
+ req, out := c.AttachInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAttachNetworkInterface = "AttachNetworkInterface"
// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
// client's request for the AttachNetworkInterface operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AttachNetworkInterface for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AttachNetworkInterface method directly
-// instead.
+// See AttachNetworkInterface for more information on using the AttachNetworkInterface
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AttachNetworkInterfaceRequest method.
// req, resp := client.AttachNetworkInterfaceRequest(params)
@@ -995,27 +1195,41 @@ func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
req, out := c.AttachNetworkInterfaceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
+ req, out := c.AttachNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAttachVolume = "AttachVolume"
// AttachVolumeRequest generates a "aws/request.Request" representing the
// client's request for the AttachVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AttachVolume for usage and error information.
+// See AttachVolume for more information on using the AttachVolume
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AttachVolume method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AttachVolumeRequest method.
// req, resp := client.AttachVolumeRequest(params)
@@ -1084,27 +1298,41 @@ func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
req, out := c.AttachVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AttachVolumeWithContext is the same as AttachVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
+ req, out := c.AttachVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAttachVpnGateway = "AttachVpnGateway"
// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
// client's request for the AttachVpnGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AttachVpnGateway for usage and error information.
+// See AttachVpnGateway for more information on using the AttachVpnGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AttachVpnGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AttachVpnGatewayRequest method.
// req, resp := client.AttachVpnGatewayRequest(params)
@@ -1133,8 +1361,11 @@ func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *reques
// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
//
-// Attaches a virtual private gateway to a VPC. For more information, see Adding
-// a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
+// Attaches a virtual private gateway to a VPC. You can attach one virtual private
+// gateway to one VPC at a time.
+//
+// For more information, see Adding a Hardware Virtual Private Gateway to Your
+// VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
// in the Amazon Virtual Private Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1146,27 +1377,41 @@ func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
req, out := c.AttachVpnGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AttachVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
+ req, out := c.AttachVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AuthorizeSecurityGroupEgress for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AuthorizeSecurityGroupEgress method directly
-// instead.
+// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
// req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
@@ -1224,27 +1469,41 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
req, out := c.AuthorizeSecurityGroupEgressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupEgressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See AuthorizeSecurityGroupIngress for usage and error information.
+// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AuthorizeSecurityGroupIngress method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
// req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
@@ -1302,27 +1561,41 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
req, out := c.AuthorizeSecurityGroupIngressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
+ req, out := c.AuthorizeSecurityGroupIngressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opBundleInstance = "BundleInstance"
// BundleInstanceRequest generates a "aws/request.Request" representing the
// client's request for the BundleInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See BundleInstance for usage and error information.
+// See BundleInstance for more information on using the BundleInstance
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the BundleInstance method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the BundleInstanceRequest method.
// req, resp := client.BundleInstanceRequest(params)
@@ -1370,27 +1643,41 @@ func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
req, out := c.BundleInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// BundleInstanceWithContext is the same as BundleInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See BundleInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
+ req, out := c.BundleInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelBundleTask = "CancelBundleTask"
// CancelBundleTaskRequest generates a "aws/request.Request" representing the
// client's request for the CancelBundleTask operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CancelBundleTask for usage and error information.
+// See CancelBundleTask for more information on using the CancelBundleTask
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelBundleTask method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelBundleTaskRequest method.
// req, resp := client.CancelBundleTaskRequest(params)
@@ -1430,27 +1717,41 @@ func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
req, out := c.CancelBundleTaskRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelBundleTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
+ req, out := c.CancelBundleTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelConversionTask = "CancelConversionTask"
// CancelConversionTaskRequest generates a "aws/request.Request" representing the
// client's request for the CancelConversionTask operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CancelConversionTask for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelConversionTask method directly
-// instead.
+// See CancelConversionTask for more information on using the CancelConversionTask
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelConversionTaskRequest method.
// req, resp := client.CancelConversionTaskRequest(params)
@@ -1499,27 +1800,41 @@ func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
req, out := c.CancelConversionTaskRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelConversionTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
+ req, out := c.CancelConversionTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelExportTask = "CancelExportTask"
// CancelExportTaskRequest generates a "aws/request.Request" representing the
// client's request for the CancelExportTask operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CancelExportTask for usage and error information.
+// See CancelExportTask for more information on using the CancelExportTask
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelExportTask method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelExportTaskRequest method.
// req, resp := client.CancelExportTaskRequest(params)
@@ -1564,27 +1879,41 @@ func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
req, out := c.CancelExportTaskRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelExportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
+ req, out := c.CancelExportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelImportTask = "CancelImportTask"
// CancelImportTaskRequest generates a "aws/request.Request" representing the
// client's request for the CancelImportTask operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CancelImportTask for usage and error information.
+// See CancelImportTask for more information on using the CancelImportTask
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelImportTask method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelImportTaskRequest method.
// req, resp := client.CancelImportTaskRequest(params)
@@ -1624,27 +1953,41 @@ func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
req, out := c.CancelImportTaskRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelImportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
+ req, out := c.CancelImportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
// client's request for the CancelReservedInstancesListing operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CancelReservedInstancesListing for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelReservedInstancesListing method directly
-// instead.
+// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelReservedInstancesListingRequest method.
// req, resp := client.CancelReservedInstancesListingRequest(params)
@@ -1688,27 +2031,41 @@ func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstanc
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
req, out := c.CancelReservedInstancesListingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelReservedInstancesListing for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
+ req, out := c.CancelReservedInstancesListingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
// client's request for the CancelSpotFleetRequests operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CancelSpotFleetRequests for usage and error information.
+// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelSpotFleetRequests method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelSpotFleetRequestsRequest method.
// req, resp := client.CancelSpotFleetRequestsRequest(params)
@@ -1755,27 +2112,41 @@ func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
req, out := c.CancelSpotFleetRequestsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelSpotFleetRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
+ req, out := c.CancelSpotFleetRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
// client's request for the CancelSpotInstanceRequests operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CancelSpotInstanceRequests for usage and error information.
+// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CancelSpotInstanceRequests method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CancelSpotInstanceRequestsRequest method.
// req, resp := client.CancelSpotInstanceRequestsRequest(params)
@@ -1823,27 +2194,41 @@ func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequest
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
req, out := c.CancelSpotInstanceRequestsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CancelSpotInstanceRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
+ req, out := c.CancelSpotInstanceRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opConfirmProductInstance = "ConfirmProductInstance"
// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
// client's request for the ConfirmProductInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ConfirmProductInstance for usage and error information.
+// See ConfirmProductInstance for more information on using the ConfirmProductInstance
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ConfirmProductInstance method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ConfirmProductInstanceRequest method.
// req, resp := client.ConfirmProductInstanceRequest(params)
@@ -1886,27 +2271,41 @@ func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
req, out := c.ConfirmProductInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ConfirmProductInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
+ req, out := c.ConfirmProductInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCopyImage = "CopyImage"
// CopyImageRequest generates a "aws/request.Request" representing the
// client's request for the CopyImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CopyImage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CopyImage method directly
-// instead.
+// See CopyImage for more information on using the CopyImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CopyImageRequest method.
// req, resp := client.CopyImageRequest(params)
@@ -1939,7 +2338,8 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out
// region. You specify the destination region by using its endpoint when making
// the request.
//
-// For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
+// For more information about the prerequisites and limits when copying an AMI,
+// see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -1951,27 +2351,41 @@ func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, out
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
req, out := c.CopyImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CopyImageWithContext is the same as CopyImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopyImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
+ req, out := c.CopyImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCopySnapshot = "CopySnapshot"
// CopySnapshotRequest generates a "aws/request.Request" representing the
// client's request for the CopySnapshot operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CopySnapshot for usage and error information.
+// See CopySnapshot for more information on using the CopySnapshot
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CopySnapshot method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CopySnapshotRequest method.
// req, resp := client.CopySnapshotRequest(params)
@@ -2030,27 +2444,41 @@ func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
req, out := c.CopySnapshotRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CopySnapshotWithContext is the same as CopySnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopySnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
+ req, out := c.CopySnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateCustomerGateway = "CreateCustomerGateway"
// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
// client's request for the CreateCustomerGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateCustomerGateway for usage and error information.
+// See CreateCustomerGateway for more information on using the CreateCustomerGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateCustomerGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateCustomerGatewayRequest method.
// req, resp := client.CreateCustomerGatewayRequest(params)
@@ -2114,27 +2542,127 @@ func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
req, out := c.CreateCustomerGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateCustomerGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
+ req, out := c.CreateCustomerGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateDefaultVpc = "CreateDefaultVpc"
+
+// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
+// client's request for the CreateDefaultVpc operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateDefaultVpc for more information on using the CreateDefaultVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateDefaultVpcRequest method.
+// req, resp := client.CreateDefaultVpcRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
+func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
+ op := &request.Operation{
+ Name: opCreateDefaultVpc,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateDefaultVpcInput{}
+ }
+
+ output = &CreateDefaultVpcOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
+//
+// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
+// in each Availability Zone. For more information about the components of a
+// default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
+// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
+// of the default VPC yourself.
+//
+// You can create a default VPC if you deleted your previous default VPC. You
+// cannot have more than one default VPC per region.
+//
+// If your account supports EC2-Classic, you cannot use this action to create
+// a default VPC in a region that supports EC2-Classic. If you want a default
+// VPC in a region that supports EC2-Classic, see "I really want a default VPC
+// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateDefaultVpc for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
+func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
+ req, out := c.CreateDefaultVpcRequest(input)
+ return out, req.Send()
+}
+
+// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateDefaultVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
+ req, out := c.CreateDefaultVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateDhcpOptions = "CreateDhcpOptions"
// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
// client's request for the CreateDhcpOptions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateDhcpOptions for usage and error information.
+// See CreateDhcpOptions for more information on using the CreateDhcpOptions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateDhcpOptions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateDhcpOptionsRequest method.
// req, resp := client.CreateDhcpOptionsRequest(params)
@@ -2176,16 +2704,16 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ
// to receive a custom DNS hostname as specified in domain-name, you must
// set domain-name-servers to a custom DNS server.
//
-// * domain-name - If you're using AmazonProvidedDNS in "us-east-1", specify
-// "ec2.internal". If you're using AmazonProvidedDNS in another region, specify
-// "region.compute.internal" (for example, "ap-northeast-1.compute.internal").
-// Otherwise, specify a domain name (for example, "MyCompany.com"). This
-// value is used to complete unqualified DNS hostnames. Important: Some Linux
-// operating systems accept multiple domain names separated by spaces. However,
-// Windows and other Linux operating systems treat the value as a single
-// domain, which results in unexpected behavior. If your DHCP options set
-// is associated with a VPC that has instances with multiple operating systems,
-// specify only one domain name.
+// * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
+// ec2.internal. If you're using AmazonProvidedDNS in another region, specify
+// region.compute.internal (for example, ap-northeast-1.compute.internal).
+// Otherwise, specify a domain name (for example, MyCompany.com). This value
+// is used to complete unqualified DNS hostnames. Important: Some Linux operating
+// systems accept multiple domain names separated by spaces. However, Windows
+// and other Linux operating systems treat the value as a single domain,
+// which results in unexpected behavior. If your DHCP options set is associated
+// with a VPC that has instances with multiple operating systems, specify
+// only one domain name.
//
// * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
// servers.
@@ -2213,27 +2741,41 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
req, out := c.CreateDhcpOptionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
+ req, out := c.CreateDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateEgressOnlyInternetGateway for usage and error information.
+// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateEgressOnlyInternetGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
// req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
@@ -2276,27 +2818,41 @@ func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInte
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateFlowLogs = "CreateFlowLogs"
// CreateFlowLogsRequest generates a "aws/request.Request" representing the
// client's request for the CreateFlowLogs operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateFlowLogs for usage and error information.
+// See CreateFlowLogs for more information on using the CreateFlowLogs
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateFlowLogs method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateFlowLogsRequest method.
// req, resp := client.CreateFlowLogsRequest(params)
@@ -2345,27 +2901,122 @@ func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
req, out := c.CreateFlowLogsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
+ req, out := c.CreateFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateFpgaImage = "CreateFpgaImage"
+
+// CreateFpgaImageRequest generates a "aws/request.Request" representing the
+// client's request for the CreateFpgaImage operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateFpgaImage for more information on using the CreateFpgaImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateFpgaImageRequest method.
+// req, resp := client.CreateFpgaImageRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
+func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
+ op := &request.Operation{
+ Name: opCreateFpgaImage,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateFpgaImageInput{}
+ }
+
+ output = &CreateFpgaImageOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
+//
+// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
+//
+// The create operation is asynchronous. To verify that the AFI is ready for
+// use, check the output logs.
+//
+// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
+// You can securely deploy an AFI on one or more FPGA-accelerated instances.
+// For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateFpgaImage for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
+func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
+ req, out := c.CreateFpgaImageRequest(input)
+ return out, req.Send()
+}
+
+// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateFpgaImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
+ req, out := c.CreateFpgaImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateImage = "CreateImage"
// CreateImageRequest generates a "aws/request.Request" representing the
// client's request for the CreateImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateImage for usage and error information.
+// See CreateImage for more information on using the CreateImage
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateImage method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateImageRequest method.
// req, resp := client.CreateImageRequest(params)
@@ -2414,27 +3065,41 @@ func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
req, out := c.CreateImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateImageWithContext is the same as CreateImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
+ req, out := c.CreateImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateInstanceExportTask = "CreateInstanceExportTask"
// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
// client's request for the CreateInstanceExportTask operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateInstanceExportTask for usage and error information.
+// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateInstanceExportTask method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateInstanceExportTaskRequest method.
// req, resp := client.CreateInstanceExportTaskRequest(params)
@@ -2479,27 +3144,41 @@ func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
req, out := c.CreateInstanceExportTaskRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateInstanceExportTask for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
+ req, out := c.CreateInstanceExportTaskRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateInternetGateway = "CreateInternetGateway"
// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the CreateInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateInternetGateway for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateInternetGateway method directly
-// instead.
+// See CreateInternetGateway for more information on using the CreateInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateInternetGatewayRequest method.
// req, resp := client.CreateInternetGatewayRequest(params)
@@ -2543,27 +3222,41 @@ func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
req, out := c.CreateInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
+ req, out := c.CreateInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateKeyPair = "CreateKeyPair"
// CreateKeyPairRequest generates a "aws/request.Request" representing the
// client's request for the CreateKeyPair operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateKeyPair for usage and error information.
+// See CreateKeyPair for more information on using the CreateKeyPair
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateKeyPair method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateKeyPairRequest method.
// req, resp := client.CreateKeyPairRequest(params)
@@ -2614,27 +3307,41 @@ func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
req, out := c.CreateKeyPairRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
+ req, out := c.CreateKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateNatGateway = "CreateNatGateway"
// CreateNatGatewayRequest generates a "aws/request.Request" representing the
// client's request for the CreateNatGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateNatGateway for usage and error information.
+// See CreateNatGateway for more information on using the CreateNatGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateNatGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateNatGatewayRequest method.
// req, resp := client.CreateNatGatewayRequest(params)
@@ -2679,27 +3386,41 @@ func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
req, out := c.CreateNatGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNatGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
+ req, out := c.CreateNatGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateNetworkAcl = "CreateNetworkAcl"
// CreateNetworkAclRequest generates a "aws/request.Request" representing the
// client's request for the CreateNetworkAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateNetworkAcl for usage and error information.
+// See CreateNetworkAcl for more information on using the CreateNetworkAcl
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateNetworkAcl method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateNetworkAclRequest method.
// req, resp := client.CreateNetworkAclRequest(params)
@@ -2743,27 +3464,41 @@ func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
req, out := c.CreateNetworkAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
+ req, out := c.CreateNetworkAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
// client's request for the CreateNetworkAclEntry operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateNetworkAclEntry for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateNetworkAclEntry method directly
-// instead.
+// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateNetworkAclEntryRequest method.
// req, resp := client.CreateNetworkAclEntryRequest(params)
@@ -2821,27 +3556,41 @@ func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
req, out := c.CreateNetworkAclEntryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
+ req, out := c.CreateNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateNetworkInterface = "CreateNetworkInterface"
// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
// client's request for the CreateNetworkInterface operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateNetworkInterface for usage and error information.
+// See CreateNetworkInterface for more information on using the CreateNetworkInterface
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateNetworkInterface method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateNetworkInterfaceRequest method.
// req, resp := client.CreateNetworkInterfaceRequest(params)
@@ -2885,27 +3634,119 @@ func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
req, out := c.CreateNetworkInterfaceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
+ req, out := c.CreateNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
+
+// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
+// client's request for the CreateNetworkInterfacePermission operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
+// req, resp := client.CreateNetworkInterfacePermissionRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
+func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
+ op := &request.Operation{
+ Name: opCreateNetworkInterfacePermission,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &CreateNetworkInterfacePermissionInput{}
+ }
+
+ output = &CreateNetworkInterfacePermissionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
+//
+// Grants an AWS authorized partner account permission to attach the specified
+// network interface to an instance in their account.
+//
+// You can grant permission to a single AWS account only, and only one account
+// at a time.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation CreateNetworkInterfacePermission for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
+func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
+ req, out := c.CreateNetworkInterfacePermissionRequest(input)
+ return out, req.Send()
+}
+
+// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateNetworkInterfacePermission for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
+ req, out := c.CreateNetworkInterfacePermissionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreatePlacementGroup = "CreatePlacementGroup"
// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
// client's request for the CreatePlacementGroup operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreatePlacementGroup for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreatePlacementGroup method directly
-// instead.
+// See CreatePlacementGroup for more information on using the CreatePlacementGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreatePlacementGroupRequest method.
// req, resp := client.CreatePlacementGroupRequest(params)
@@ -2952,27 +3793,41 @@ func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
req, out := c.CreatePlacementGroupRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreatePlacementGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
+ req, out := c.CreatePlacementGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
// client's request for the CreateReservedInstancesListing operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateReservedInstancesListing for usage and error information.
+// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateReservedInstancesListing method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateReservedInstancesListingRequest method.
// req, resp := client.CreateReservedInstancesListingRequest(params)
@@ -3035,27 +3890,41 @@ func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstanc
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
req, out := c.CreateReservedInstancesListingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateReservedInstancesListing for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
+ req, out := c.CreateReservedInstancesListingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateRoute = "CreateRoute"
// CreateRouteRequest generates a "aws/request.Request" representing the
// client's request for the CreateRoute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateRoute for usage and error information.
+// See CreateRoute for more information on using the CreateRoute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateRoute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateRouteRequest method.
// req, resp := client.CreateRouteRequest(params)
@@ -3114,27 +3983,41 @@ func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
req, out := c.CreateRouteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateRouteWithContext is the same as CreateRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
+ req, out := c.CreateRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateRouteTable = "CreateRouteTable"
// CreateRouteTableRequest generates a "aws/request.Request" representing the
// client's request for the CreateRouteTable operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateRouteTable for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateRouteTable method directly
-// instead.
+// See CreateRouteTable for more information on using the CreateRouteTable
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateRouteTableRequest method.
// req, resp := client.CreateRouteTableRequest(params)
@@ -3178,27 +4061,41 @@ func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
req, out := c.CreateRouteTableRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
+ req, out := c.CreateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateSecurityGroup = "CreateSecurityGroup"
// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
// client's request for the CreateSecurityGroup operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateSecurityGroup for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateSecurityGroup method directly
-// instead.
+// See CreateSecurityGroup for more information on using the CreateSecurityGroup
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateSecurityGroupRequest method.
// req, resp := client.CreateSecurityGroupRequest(params)
@@ -3264,27 +4161,41 @@ func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
req, out := c.CreateSecurityGroupRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSecurityGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
+ req, out := c.CreateSecurityGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateSnapshot = "CreateSnapshot"
// CreateSnapshotRequest generates a "aws/request.Request" representing the
// client's request for the CreateSnapshot operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateSnapshot for usage and error information.
+// See CreateSnapshot for more information on using the CreateSnapshot
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateSnapshot method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateSnapshotRequest method.
// req, resp := client.CreateSnapshotRequest(params)
@@ -3351,27 +4262,41 @@ func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
req, out := c.CreateSnapshotRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
+ req, out := c.CreateSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateSpotDatafeedSubscription for usage and error information.
+// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateSpotDatafeedSubscription method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
// req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
@@ -3414,27 +4339,41 @@ func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSub
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateSubnet = "CreateSubnet"
// CreateSubnetRequest generates a "aws/request.Request" representing the
// client's request for the CreateSubnet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateSubnet for usage and error information.
+// See CreateSubnet for more information on using the CreateSubnet
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateSubnet method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateSubnetRequest method.
// req, resp := client.CreateSubnetRequest(params)
@@ -3477,7 +4416,7 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques
// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
// with an IPv6 CIDR block that uses a /64 prefix length.
//
-// AWS reserves both the first four and the last IP address in each subnet's
+// AWS reserves both the first four and the last IPv4 address in each subnet's
// CIDR block. They're not available for use.
//
// If you add more than one subnet to a VPC, they're set up in a star topology
@@ -3501,27 +4440,41 @@ func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
req, out := c.CreateSubnetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateSubnetWithContext is the same as CreateSubnet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateSubnet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
+ req, out := c.CreateSubnetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateTags = "CreateTags"
// CreateTagsRequest generates a "aws/request.Request" representing the
// client's request for the CreateTags operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateTags for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateTags method directly
-// instead.
+// See CreateTags for more information on using the CreateTags
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateTagsRequest method.
// req, resp := client.CreateTagsRequest(params)
@@ -3571,27 +4524,41 @@ func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, o
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
req, out := c.CreateTagsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateTagsWithContext is the same as CreateTags with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateTags for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
+ req, out := c.CreateTagsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVolume = "CreateVolume"
// CreateVolumeRequest generates a "aws/request.Request" representing the
// client's request for the CreateVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateVolume for usage and error information.
+// See CreateVolume for more information on using the CreateVolume
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVolume method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVolumeRequest method.
// req, resp := client.CreateVolumeRequest(params)
@@ -3634,7 +4601,10 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques
// encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
-// For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
+// You can tag your volumes during creation. For more information, see Tagging
+// Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
+//
+// For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -3646,27 +4616,41 @@ func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
req, out := c.CreateVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVolumeWithContext is the same as CreateVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
+ req, out := c.CreateVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpc = "CreateVpc"
// CreateVpcRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpc operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateVpc for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpc method directly
-// instead.
+// See CreateVpc for more information on using the CreateVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpcRequest method.
// req, resp := client.CreateVpcRequest(params)
@@ -3724,27 +4708,41 @@ func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, out
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
req, out := c.CreateVpcRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpcWithContext is the same as CreateVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
+ req, out := c.CreateVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpcEndpoint = "CreateVpcEndpoint"
// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpcEndpoint operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateVpcEndpoint for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpcEndpoint method directly
-// instead.
+// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpcEndpointRequest method.
// req, resp := client.CreateVpcEndpointRequest(params)
@@ -3790,27 +4788,41 @@ func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
req, out := c.CreateVpcEndpointRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcEndpoint for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
+ req, out := c.CreateVpcEndpointRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpcPeeringConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateVpcPeeringConnection for usage and error information.
+// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpcPeeringConnection method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpcPeeringConnectionRequest method.
// req, resp := client.CreateVpcPeeringConnectionRequest(params)
@@ -3848,8 +4860,8 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio
// peering connection. The VPC peering connection request expires after 7 days,
// after which it cannot be accepted or rejected.
//
-// A CreateVpcPeeringConnection request between VPCs with overlapping CIDR blocks
-// results in the VPC peering connection having a status of failed.
+// If you try to create a VPC peering connection between VPCs that have overlapping
+// CIDR blocks, the VPC peering connection status goes to failed.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -3860,27 +4872,41 @@ func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectio
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
req, out := c.CreateVpcPeeringConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
+ req, out := c.CreateVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpnConnection = "CreateVpnConnection"
// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpnConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateVpnConnection for usage and error information.
+// See CreateVpnConnection for more information on using the CreateVpnConnection
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpnConnection method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpnConnectionRequest method.
// req, resp := client.CreateVpnConnectionRequest(params)
@@ -3939,27 +4965,41 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
req, out := c.CreateVpnConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
+ req, out := c.CreateVpnConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpnConnectionRoute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CreateVpnConnectionRoute for usage and error information.
+// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpnConnectionRoute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpnConnectionRouteRequest method.
// req, resp := client.CreateVpnConnectionRouteRequest(params)
@@ -4008,27 +5048,41 @@ func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
req, out := c.CreateVpnConnectionRouteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnConnectionRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
+ req, out := c.CreateVpnConnectionRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateVpnGateway = "CreateVpnGateway"
// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
// client's request for the CreateVpnGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateVpnGateway for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateVpnGateway method directly
-// instead.
+// See CreateVpnGateway for more information on using the CreateVpnGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateVpnGatewayRequest method.
// req, resp := client.CreateVpnGatewayRequest(params)
@@ -4074,27 +5128,41 @@ func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
req, out := c.CreateVpnGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
+ req, out := c.CreateVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteCustomerGateway = "DeleteCustomerGateway"
// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DeleteCustomerGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteCustomerGateway for usage and error information.
+// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteCustomerGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteCustomerGatewayRequest method.
// req, resp := client.DeleteCustomerGatewayRequest(params)
@@ -4137,27 +5205,41 @@ func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
req, out := c.DeleteCustomerGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteCustomerGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
+ req, out := c.DeleteCustomerGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteDhcpOptions = "DeleteDhcpOptions"
// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteDhcpOptions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteDhcpOptions for usage and error information.
+// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteDhcpOptions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteDhcpOptionsRequest method.
// req, resp := client.DeleteDhcpOptionsRequest(params)
@@ -4202,27 +5284,41 @@ func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
req, out := c.DeleteDhcpOptionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
+ req, out := c.DeleteDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteEgressOnlyInternetGateway for usage and error information.
+// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteEgressOnlyInternetGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
// req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
@@ -4262,27 +5358,41 @@ func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInte
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
+ req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteFlowLogs = "DeleteFlowLogs"
// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteFlowLogs operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteFlowLogs for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteFlowLogs method directly
-// instead.
+// See DeleteFlowLogs for more information on using the DeleteFlowLogs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteFlowLogsRequest method.
// req, resp := client.DeleteFlowLogsRequest(params)
@@ -4322,27 +5432,41 @@ func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
req, out := c.DeleteFlowLogsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
+ req, out := c.DeleteFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteInternetGateway = "DeleteInternetGateway"
// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DeleteInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteInternetGateway for usage and error information.
+// See DeleteInternetGateway for more information on using the DeleteInternetGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteInternetGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteInternetGatewayRequest method.
// req, resp := client.DeleteInternetGatewayRequest(params)
@@ -4385,27 +5509,41 @@ func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
req, out := c.DeleteInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
+ req, out := c.DeleteInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteKeyPair = "DeleteKeyPair"
// DeleteKeyPairRequest generates a "aws/request.Request" representing the
// client's request for the DeleteKeyPair operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteKeyPair for usage and error information.
+// See DeleteKeyPair for more information on using the DeleteKeyPair
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteKeyPair method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteKeyPairRequest method.
// req, resp := client.DeleteKeyPairRequest(params)
@@ -4447,27 +5585,41 @@ func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
req, out := c.DeleteKeyPairRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
+ req, out := c.DeleteKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteNatGateway = "DeleteNatGateway"
// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DeleteNatGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteNatGateway for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteNatGateway method directly
-// instead.
+// See DeleteNatGateway for more information on using the DeleteNatGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteNatGatewayRequest method.
// req, resp := client.DeleteNatGatewayRequest(params)
@@ -4509,27 +5661,41 @@ func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
req, out := c.DeleteNatGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNatGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
+ req, out := c.DeleteNatGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteNetworkAcl = "DeleteNetworkAcl"
// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
// client's request for the DeleteNetworkAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteNetworkAcl for usage and error information.
+// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteNetworkAcl method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteNetworkAclRequest method.
// req, resp := client.DeleteNetworkAclRequest(params)
@@ -4572,27 +5738,41 @@ func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
req, out := c.DeleteNetworkAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
+ req, out := c.DeleteNetworkAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
// client's request for the DeleteNetworkAclEntry operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteNetworkAclEntry for usage and error information.
+// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteNetworkAclEntry method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteNetworkAclEntryRequest method.
// req, resp := client.DeleteNetworkAclEntryRequest(params)
@@ -4635,27 +5815,41 @@ func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
req, out := c.DeleteNetworkAclEntryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
+ req, out := c.DeleteNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteNetworkInterface = "DeleteNetworkInterface"
// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
// client's request for the DeleteNetworkInterface operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteNetworkInterface for usage and error information.
+// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteNetworkInterface method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteNetworkInterfaceRequest method.
// req, resp := client.DeleteNetworkInterfaceRequest(params)
@@ -4698,27 +5892,118 @@ func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
req, out := c.DeleteNetworkInterfaceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
+ req, out := c.DeleteNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
+
+// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
+// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
+// req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
+func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
+ op := &request.Operation{
+ Name: opDeleteNetworkInterfacePermission,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DeleteNetworkInterfacePermissionInput{}
+ }
+
+ output = &DeleteNetworkInterfacePermissionOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
+//
+// Deletes a permission for a network interface. By default, you cannot delete
+// the permission if the account for which you're removing the permission has
+// attached the network interface to an instance. However, you can force delete
+// the permission, regardless of any attachment.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DeleteNetworkInterfacePermission for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
+func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
+ req, out := c.DeleteNetworkInterfacePermissionRequest(input)
+ return out, req.Send()
+}
+
+// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteNetworkInterfacePermission for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
+ req, out := c.DeleteNetworkInterfacePermissionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeletePlacementGroup = "DeletePlacementGroup"
// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
// client's request for the DeletePlacementGroup operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeletePlacementGroup for usage and error information.
+// See DeletePlacementGroup for more information on using the DeletePlacementGroup
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeletePlacementGroup method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeletePlacementGroupRequest method.
// req, resp := client.DeletePlacementGroupRequest(params)
@@ -4763,27 +6048,41 @@ func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
req, out := c.DeletePlacementGroupRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeletePlacementGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
+ req, out := c.DeletePlacementGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteRoute = "DeleteRoute"
// DeleteRouteRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRoute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteRoute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteRoute method directly
-// instead.
+// See DeleteRoute for more information on using the DeleteRoute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteRouteRequest method.
// req, resp := client.DeleteRouteRequest(params)
@@ -4825,27 +6124,41 @@ func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
req, out := c.DeleteRouteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteRouteWithContext is the same as DeleteRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
+ req, out := c.DeleteRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteRouteTable = "DeleteRouteTable"
// DeleteRouteTableRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRouteTable operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteRouteTable for usage and error information.
+// See DeleteRouteTable for more information on using the DeleteRouteTable
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteRouteTable method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteRouteTableRequest method.
// req, resp := client.DeleteRouteTableRequest(params)
@@ -4889,27 +6202,41 @@ func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
req, out := c.DeleteRouteTableRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
+ req, out := c.DeleteRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteSecurityGroup = "DeleteSecurityGroup"
// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSecurityGroup operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteSecurityGroup for usage and error information.
+// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteSecurityGroup method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteSecurityGroupRequest method.
// req, resp := client.DeleteSecurityGroupRequest(params)
@@ -4955,27 +6282,41 @@ func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
req, out := c.DeleteSecurityGroupRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSecurityGroup for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
+ req, out := c.DeleteSecurityGroupRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteSnapshot = "DeleteSnapshot"
// DeleteSnapshotRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSnapshot operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteSnapshot for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteSnapshot method directly
-// instead.
+// See DeleteSnapshot for more information on using the DeleteSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteSnapshotRequest method.
// req, resp := client.DeleteSnapshotRequest(params)
@@ -5031,27 +6372,41 @@ func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
req, out := c.DeleteSnapshotRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
+ req, out := c.DeleteSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteSpotDatafeedSubscription for usage and error information.
+// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteSpotDatafeedSubscription method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
// req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
@@ -5093,27 +6448,41 @@ func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSub
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteSubnet = "DeleteSubnet"
// DeleteSubnetRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSubnet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteSubnet for usage and error information.
+// See DeleteSubnet for more information on using the DeleteSubnet
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteSubnet method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteSubnetRequest method.
// req, resp := client.DeleteSubnetRequest(params)
@@ -5156,27 +6525,41 @@ func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
req, out := c.DeleteSubnetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteSubnet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
+ req, out := c.DeleteSubnetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteTags = "DeleteTags"
// DeleteTagsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteTags operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteTags for usage and error information.
+// See DeleteTags for more information on using the DeleteTags
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteTags method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteTagsRequest method.
// req, resp := client.DeleteTagsRequest(params)
@@ -5222,27 +6605,41 @@ func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, o
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
req, out := c.DeleteTagsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteTagsWithContext is the same as DeleteTags with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteTags for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
+ req, out := c.DeleteTagsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVolume = "DeleteVolume"
// DeleteVolumeRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteVolume for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVolume method directly
-// instead.
+// See DeleteVolume for more information on using the DeleteVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVolumeRequest method.
// req, resp := client.DeleteVolumeRequest(params)
@@ -5290,27 +6687,41 @@ func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
req, out := c.DeleteVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
+ req, out := c.DeleteVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpc = "DeleteVpc"
// DeleteVpcRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpc operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteVpc for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpc method directly
-// instead.
+// See DeleteVpc for more information on using the DeleteVpc
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpcRequest method.
// req, resp := client.DeleteVpcRequest(params)
@@ -5356,27 +6767,41 @@ func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, out
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
req, out := c.DeleteVpcRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpcWithContext is the same as DeleteVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
+ req, out := c.DeleteVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpcEndpoints operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteVpcEndpoints for usage and error information.
+// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpcEndpoints method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpcEndpointsRequest method.
// req, resp := client.DeleteVpcEndpointsRequest(params)
@@ -5417,27 +6842,41 @@ func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
req, out := c.DeleteVpcEndpointsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcEndpoints for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
+ req, out := c.DeleteVpcEndpointsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpcPeeringConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteVpcPeeringConnection for usage and error information.
+// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpcPeeringConnection method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
// req, resp := client.DeleteVpcPeeringConnectionRequest(params)
@@ -5480,27 +6919,41 @@ func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectio
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
req, out := c.DeleteVpcPeeringConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
+ req, out := c.DeleteVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpnConnection = "DeleteVpnConnection"
// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpnConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteVpnConnection for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpnConnection method directly
-// instead.
+// See DeleteVpnConnection for more information on using the DeleteVpnConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpnConnectionRequest method.
// req, resp := client.DeleteVpnConnectionRequest(params)
@@ -5551,27 +7004,41 @@ func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
req, out := c.DeleteVpnConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
+ req, out := c.DeleteVpnConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpnConnectionRoute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteVpnConnectionRoute for usage and error information.
+// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpnConnectionRoute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpnConnectionRouteRequest method.
// req, resp := client.DeleteVpnConnectionRouteRequest(params)
@@ -5616,27 +7083,41 @@ func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
req, out := c.DeleteVpnConnectionRouteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnConnectionRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
+ req, out := c.DeleteVpnConnectionRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteVpnGateway = "DeleteVpnGateway"
// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DeleteVpnGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteVpnGateway for usage and error information.
+// See DeleteVpnGateway for more information on using the DeleteVpnGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteVpnGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteVpnGatewayRequest method.
// req, resp := client.DeleteVpnGatewayRequest(params)
@@ -5682,27 +7163,41 @@ func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
req, out := c.DeleteVpnGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
+ req, out := c.DeleteVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeregisterImage = "DeregisterImage"
// DeregisterImageRequest generates a "aws/request.Request" representing the
// client's request for the DeregisterImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeregisterImage for usage and error information.
+// See DeregisterImage for more information on using the DeregisterImage
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeregisterImage method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeregisterImageRequest method.
// req, resp := client.DeregisterImageRequest(params)
@@ -5747,27 +7242,41 @@ func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
req, out := c.DeregisterImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeregisterImageWithContext is the same as DeregisterImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeregisterImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
+ req, out := c.DeregisterImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeAccountAttributes = "DescribeAccountAttributes"
// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeAccountAttributes operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeAccountAttributes for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeAccountAttributes method directly
-// instead.
+// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeAccountAttributesRequest method.
// req, resp := client.DescribeAccountAttributesRequest(params)
@@ -5825,27 +7334,41 @@ func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
req, out := c.DescribeAccountAttributesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAccountAttributes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
+ req, out := c.DescribeAccountAttributesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeAddresses = "DescribeAddresses"
// DescribeAddressesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeAddresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeAddresses for usage and error information.
+// See DescribeAddresses for more information on using the DescribeAddresses
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeAddresses method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeAddressesRequest method.
// req, resp := client.DescribeAddressesRequest(params)
@@ -5889,27 +7412,41 @@ func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
req, out := c.DescribeAddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
+ req, out := c.DescribeAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeAvailabilityZones operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeAvailabilityZones for usage and error information.
+// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeAvailabilityZones method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeAvailabilityZonesRequest method.
// req, resp := client.DescribeAvailabilityZonesRequest(params)
@@ -5955,27 +7492,41 @@ func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
req, out := c.DescribeAvailabilityZonesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeAvailabilityZones for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
+ req, out := c.DescribeAvailabilityZonesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeBundleTasks = "DescribeBundleTasks"
// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
// client's request for the DescribeBundleTasks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeBundleTasks for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeBundleTasks method directly
-// instead.
+// See DescribeBundleTasks for more information on using the DescribeBundleTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeBundleTasksRequest method.
// req, resp := client.DescribeBundleTasksRequest(params)
@@ -6020,27 +7571,41 @@ func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
req, out := c.DescribeBundleTasksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeBundleTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
+ req, out := c.DescribeBundleTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeClassicLinkInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeClassicLinkInstances for usage and error information.
+// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeClassicLinkInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeClassicLinkInstancesRequest method.
// req, resp := client.DescribeClassicLinkInstancesRequest(params)
@@ -6083,27 +7648,41 @@ func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInst
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
req, out := c.DescribeClassicLinkInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeClassicLinkInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
+ req, out := c.DescribeClassicLinkInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeConversionTasks = "DescribeConversionTasks"
// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
// client's request for the DescribeConversionTasks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeConversionTasks for usage and error information.
+// See DescribeConversionTasks for more information on using the DescribeConversionTasks
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeConversionTasks method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeConversionTasksRequest method.
// req, resp := client.DescribeConversionTasksRequest(params)
@@ -6147,27 +7726,41 @@ func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
req, out := c.DescribeConversionTasksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeConversionTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
+ req, out := c.DescribeConversionTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeCustomerGateways = "DescribeCustomerGateways"
// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
// client's request for the DescribeCustomerGateways operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeCustomerGateways for usage and error information.
+// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeCustomerGateways method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeCustomerGatewaysRequest method.
// req, resp := client.DescribeCustomerGatewaysRequest(params)
@@ -6211,27 +7804,41 @@ func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
req, out := c.DescribeCustomerGatewaysRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeCustomerGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
+ req, out := c.DescribeCustomerGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeDhcpOptions = "DescribeDhcpOptions"
// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeDhcpOptions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeDhcpOptions for usage and error information.
+// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeDhcpOptions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeDhcpOptionsRequest method.
// req, resp := client.DescribeDhcpOptionsRequest(params)
@@ -6274,27 +7881,41 @@ func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
req, out := c.DescribeDhcpOptionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeDhcpOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
+ req, out := c.DescribeDhcpOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeEgressOnlyInternetGateways for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeEgressOnlyInternetGateways method directly
-// instead.
+// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
// req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
@@ -6334,27 +7955,116 @@ func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnl
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
+ req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeElasticGpus = "DescribeElasticGpus"
+
+// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeElasticGpus operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeElasticGpus for more information on using the DescribeElasticGpus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeElasticGpusRequest method.
+// req, resp := client.DescribeElasticGpusRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
+func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
+ op := &request.Operation{
+ Name: opDescribeElasticGpus,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeElasticGpusInput{}
+ }
+
+ output = &DescribeElasticGpusOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the Elastic GPUs associated with your instances. For more information
+// about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-gpus.html).
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeElasticGpus for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
+func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
+ req, out := c.DescribeElasticGpusRequest(input)
+ return out, req.Send()
+}
+
+// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeElasticGpus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
+ req, out := c.DescribeElasticGpusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeExportTasks = "DescribeExportTasks"
// DescribeExportTasksRequest generates a "aws/request.Request" representing the
// client's request for the DescribeExportTasks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeExportTasks for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeExportTasks method directly
-// instead.
+// See DescribeExportTasks for more information on using the DescribeExportTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeExportTasksRequest method.
// req, resp := client.DescribeExportTasksRequest(params)
@@ -6394,27 +8104,41 @@ func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
req, out := c.DescribeExportTasksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeExportTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
+ req, out := c.DescribeExportTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeFlowLogs = "DescribeFlowLogs"
// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeFlowLogs operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeFlowLogs for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeFlowLogs method directly
-// instead.
+// See DescribeFlowLogs for more information on using the DescribeFlowLogs
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeFlowLogsRequest method.
// req, resp := client.DescribeFlowLogsRequest(params)
@@ -6456,27 +8180,117 @@ func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
req, out := c.DescribeFlowLogsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFlowLogs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
+ req, out := c.DescribeFlowLogsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeFpgaImages = "DescribeFpgaImages"
+
+// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeFpgaImages operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeFpgaImages for more information on using the DescribeFpgaImages
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeFpgaImagesRequest method.
+// req, resp := client.DescribeFpgaImagesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
+func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
+ op := &request.Operation{
+ Name: opDescribeFpgaImages,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeFpgaImagesInput{}
+ }
+
+ output = &DescribeFpgaImagesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
+//
+// Describes one or more available Amazon FPGA Images (AFIs). These include
+// public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
+// for which you have load permissions.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeFpgaImages for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
+func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
+ req, out := c.DescribeFpgaImagesRequest(input)
+ return out, req.Send()
+}
+
+// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeFpgaImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
+ req, out := c.DescribeFpgaImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeHostReservationOfferings operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeHostReservationOfferings for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeHostReservationOfferings method directly
-// instead.
+// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeHostReservationOfferingsRequest method.
// req, resp := client.DescribeHostReservationOfferingsRequest(params)
@@ -6524,27 +8338,41 @@ func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReserva
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
req, out := c.DescribeHostReservationOfferingsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHostReservationOfferings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
+ req, out := c.DescribeHostReservationOfferingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeHostReservations = "DescribeHostReservations"
// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeHostReservations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeHostReservations for usage and error information.
+// See DescribeHostReservations for more information on using the DescribeHostReservations
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeHostReservations method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeHostReservationsRequest method.
// req, resp := client.DescribeHostReservationsRequest(params)
@@ -6585,27 +8413,41 @@ func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
req, out := c.DescribeHostReservationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHostReservations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
+ req, out := c.DescribeHostReservationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeHosts = "DescribeHosts"
// DescribeHostsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeHosts operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeHosts for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeHosts method directly
-// instead.
+// See DescribeHosts for more information on using the DescribeHosts
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeHostsRequest method.
// req, resp := client.DescribeHostsRequest(params)
@@ -6649,27 +8491,41 @@ func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
req, out := c.DescribeHostsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeHostsWithContext is the same as DescribeHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
+ req, out := c.DescribeHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeIamInstanceProfileAssociations for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeIamInstanceProfileAssociations method directly
-// instead.
+// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
// req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
@@ -6709,27 +8565,41 @@ func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamIn
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
+ req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeIdFormat = "DescribeIdFormat"
// DescribeIdFormatRequest generates a "aws/request.Request" representing the
// client's request for the DescribeIdFormat operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeIdFormat for usage and error information.
+// See DescribeIdFormat for more information on using the DescribeIdFormat
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeIdFormat method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeIdFormatRequest method.
// req, resp := client.DescribeIdFormatRequest(params)
@@ -6782,27 +8652,41 @@ func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
req, out := c.DescribeIdFormatRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
+ req, out := c.DescribeIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
// client's request for the DescribeIdentityIdFormat operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeIdentityIdFormat for usage and error information.
+// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeIdentityIdFormat method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeIdentityIdFormatRequest method.
// req, resp := client.DescribeIdentityIdFormatRequest(params)
@@ -6853,27 +8737,41 @@ func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
req, out := c.DescribeIdentityIdFormatRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeIdentityIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
+ req, out := c.DescribeIdentityIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeImageAttribute = "DescribeImageAttribute"
// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeImageAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeImageAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeImageAttribute method directly
-// instead.
+// See DescribeImageAttribute for more information on using the DescribeImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeImageAttributeRequest method.
// req, resp := client.DescribeImageAttributeRequest(params)
@@ -6914,27 +8812,41 @@ func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
req, out := c.DescribeImageAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
+ req, out := c.DescribeImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeImages = "DescribeImages"
// DescribeImagesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeImages operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeImages for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeImages method directly
-// instead.
+// See DescribeImages for more information on using the DescribeImages
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeImagesRequest method.
// req, resp := client.DescribeImagesRequest(params)
@@ -6980,27 +8892,41 @@ func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
req, out := c.DescribeImagesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeImagesWithContext is the same as DescribeImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
+ req, out := c.DescribeImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeImportImageTasks = "DescribeImportImageTasks"
// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
// client's request for the DescribeImportImageTasks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeImportImageTasks for usage and error information.
+// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeImportImageTasks method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeImportImageTasksRequest method.
// req, resp := client.DescribeImportImageTasksRequest(params)
@@ -7041,27 +8967,41 @@ func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
req, out := c.DescribeImportImageTasksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImportImageTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
+ req, out := c.DescribeImportImageTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
// client's request for the DescribeImportSnapshotTasks operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeImportSnapshotTasks for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeImportSnapshotTasks method directly
-// instead.
+// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeImportSnapshotTasksRequest method.
// req, resp := client.DescribeImportSnapshotTasksRequest(params)
@@ -7101,27 +9041,41 @@ func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTa
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
req, out := c.DescribeImportSnapshotTasksRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImportSnapshotTasks for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
+ req, out := c.DescribeImportSnapshotTasksRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeInstanceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeInstanceAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeInstanceAttribute method directly
-// instead.
+// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeInstanceAttributeRequest method.
// req, resp := client.DescribeInstanceAttributeRequest(params)
@@ -7165,27 +9119,41 @@ func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
req, out := c.DescribeInstanceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
+ req, out := c.DescribeInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeInstanceStatus = "DescribeInstanceStatus"
// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
// client's request for the DescribeInstanceStatus operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeInstanceStatus for usage and error information.
+// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeInstanceStatus method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeInstanceStatusRequest method.
// req, resp := client.DescribeInstanceStatusRequest(params)
@@ -7221,7 +9189,8 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput)
// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
//
// Describes the status of one or more instances. By default, only running instances
-// are described, unless specified otherwise.
+// are described, unless you specifically indicate to return the status of all
+// instances.
//
// Instance status includes the following components:
//
@@ -7251,8 +9220,23 @@ func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
req, out := c.DescribeInstanceStatusRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstanceStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
+ req, out := c.DescribeInstanceStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
@@ -7272,31 +9256,55 @@ func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*Descr
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeInstanceStatusRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeInstanceStatusOutput), lastPage)
- })
+func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
+ return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeInstances = "DescribeInstances"
// DescribeInstancesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeInstances for usage and error information.
+// See DescribeInstances for more information on using the DescribeInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeInstancesRequest method.
// req, resp := client.DescribeInstancesRequest(params)
@@ -7357,8 +9365,23 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
req, out := c.DescribeInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
+ req, out := c.DescribeInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
@@ -7378,31 +9401,55 @@ func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstanc
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeInstancesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeInstancesOutput), lastPage)
- })
+func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
+ return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeInternetGateways = "DescribeInternetGateways"
// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
// client's request for the DescribeInternetGateways operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeInternetGateways for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeInternetGateways method directly
-// instead.
+// See DescribeInternetGateways for more information on using the DescribeInternetGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeInternetGatewaysRequest method.
// req, resp := client.DescribeInternetGatewaysRequest(params)
@@ -7442,27 +9489,41 @@ func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
req, out := c.DescribeInternetGatewaysRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeInternetGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
+ req, out := c.DescribeInternetGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeKeyPairs = "DescribeKeyPairs"
// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeKeyPairs operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeKeyPairs for usage and error information.
+// See DescribeKeyPairs for more information on using the DescribeKeyPairs
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeKeyPairs method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeKeyPairsRequest method.
// req, resp := client.DescribeKeyPairsRequest(params)
@@ -7505,27 +9566,41 @@ func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
req, out := c.DescribeKeyPairsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeKeyPairs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
+ req, out := c.DescribeKeyPairsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeMovingAddresses = "DescribeMovingAddresses"
// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeMovingAddresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeMovingAddresses for usage and error information.
+// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeMovingAddresses method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeMovingAddressesRequest method.
// req, resp := client.DescribeMovingAddressesRequest(params)
@@ -7567,27 +9642,41 @@ func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
req, out := c.DescribeMovingAddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeMovingAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
+ req, out := c.DescribeMovingAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeNatGateways = "DescribeNatGateways"
// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
// client's request for the DescribeNatGateways operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeNatGateways for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeNatGateways method directly
-// instead.
+// See DescribeNatGateways for more information on using the DescribeNatGateways
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeNatGatewaysRequest method.
// req, resp := client.DescribeNatGatewaysRequest(params)
@@ -7633,8 +9722,23 @@ func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
req, out := c.DescribeNatGatewaysRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNatGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
+ req, out := c.DescribeNatGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
@@ -7654,31 +9758,55 @@ func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNat
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(p *DescribeNatGatewaysOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeNatGatewaysRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeNatGatewaysOutput), lastPage)
- })
+func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
+ return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeNatGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNatGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeNetworkAcls = "DescribeNetworkAcls"
// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeNetworkAcls operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeNetworkAcls for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeNetworkAcls method directly
-// instead.
+// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeNetworkAclsRequest method.
// req, resp := client.DescribeNetworkAclsRequest(params)
@@ -7721,27 +9849,41 @@ func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
req, out := c.DescribeNetworkAclsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkAcls for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
+ req, out := c.DescribeNetworkAclsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeNetworkInterfaceAttribute for usage and error information.
+// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
// req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
@@ -7782,27 +9924,115 @@ func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInt
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
+ req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
+const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
+
+// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
+// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
+// req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
+func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
+ op := &request.Operation{
+ Name: opDescribeNetworkInterfacePermissions,
+ HTTPMethod: "POST",
+ HTTPPath: "/",
+ }
+
+ if input == nil {
+ input = &DescribeNetworkInterfacePermissionsInput{}
+ }
+
+ output = &DescribeNetworkInterfacePermissionsOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
+//
+// Describes the permissions for your network interfaces.
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Elastic Compute Cloud's
+// API operation DescribeNetworkInterfacePermissions for usage and error information.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
+func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
+ req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
+ req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeNetworkInterfaces operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeNetworkInterfaces for usage and error information.
+// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeNetworkInterfaces method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeNetworkInterfacesRequest method.
// req, resp := client.DescribeNetworkInterfacesRequest(params)
@@ -7842,27 +10072,41 @@ func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
req, out := c.DescribeNetworkInterfacesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeNetworkInterfaces for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
+ req, out := c.DescribeNetworkInterfacesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribePlacementGroups = "DescribePlacementGroups"
// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
// client's request for the DescribePlacementGroups operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribePlacementGroups for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribePlacementGroups method directly
-// instead.
+// See DescribePlacementGroups for more information on using the DescribePlacementGroups
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribePlacementGroupsRequest method.
// req, resp := client.DescribePlacementGroupsRequest(params)
@@ -7904,27 +10148,41 @@ func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
req, out := c.DescribePlacementGroupsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribePlacementGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
+ req, out := c.DescribePlacementGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribePrefixLists = "DescribePrefixLists"
// DescribePrefixListsRequest generates a "aws/request.Request" representing the
// client's request for the DescribePrefixLists operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribePrefixLists for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribePrefixLists method directly
-// instead.
+// See DescribePrefixLists for more information on using the DescribePrefixLists
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribePrefixListsRequest method.
// req, resp := client.DescribePrefixListsRequest(params)
@@ -7968,27 +10226,41 @@ func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
req, out := c.DescribePrefixListsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribePrefixLists for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
+ req, out := c.DescribePrefixListsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeRegions = "DescribeRegions"
// DescribeRegionsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRegions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeRegions for usage and error information.
+// See DescribeRegions for more information on using the DescribeRegions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeRegions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeRegionsRequest method.
// req, resp := client.DescribeRegionsRequest(params)
@@ -8031,27 +10303,41 @@ func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
req, out := c.DescribeRegionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeRegions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
+ req, out := c.DescribeRegionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeReservedInstances = "DescribeReservedInstances"
// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeReservedInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeReservedInstances for usage and error information.
+// See DescribeReservedInstances for more information on using the DescribeReservedInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeReservedInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeReservedInstancesRequest method.
// req, resp := client.DescribeReservedInstancesRequest(params)
@@ -8094,27 +10380,41 @@ func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
req, out := c.DescribeReservedInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
+ req, out := c.DescribeReservedInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeReservedInstancesListings operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeReservedInstancesListings for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeReservedInstancesListings method directly
-// instead.
+// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeReservedInstancesListingsRequest method.
// req, resp := client.DescribeReservedInstancesListingsRequest(params)
@@ -8175,27 +10475,41 @@ func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedIn
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
req, out := c.DescribeReservedInstancesListingsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesListings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
+ req, out := c.DescribeReservedInstancesListingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeReservedInstancesModifications operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeReservedInstancesModifications for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeReservedInstancesModifications method directly
-// instead.
+// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
// req, resp := client.DescribeReservedInstancesModificationsRequest(params)
@@ -8247,8 +10561,23 @@ func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReser
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
req, out := c.DescribeReservedInstancesModificationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesModifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
+ req, out := c.DescribeReservedInstancesModificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
@@ -8268,31 +10597,55 @@ func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInst
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeReservedInstancesModificationsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeReservedInstancesModificationsOutput), lastPage)
- })
+func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
+ return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeReservedInstancesModificationsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeReservedInstancesOfferings for usage and error information.
+// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeReservedInstancesOfferings method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
// req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
@@ -8349,8 +10702,23 @@ func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
req, out := c.DescribeReservedInstancesOfferingsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeReservedInstancesOfferings for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
+ req, out := c.DescribeReservedInstancesOfferingsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
@@ -8370,31 +10738,55 @@ func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstance
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeReservedInstancesOfferingsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeReservedInstancesOfferingsOutput), lastPage)
- })
+func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
+ return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeReservedInstancesOfferingsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeRouteTables = "DescribeRouteTables"
// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRouteTables operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeRouteTables for usage and error information.
+// See DescribeRouteTables for more information on using the DescribeRouteTables
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeRouteTables method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeRouteTablesRequest method.
// req, resp := client.DescribeRouteTablesRequest(params)
@@ -8442,27 +10834,41 @@ func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
req, out := c.DescribeRouteTablesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeRouteTables for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
+ req, out := c.DescribeRouteTablesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeScheduledInstanceAvailability for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeScheduledInstanceAvailability method directly
-// instead.
+// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
// req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
@@ -8510,27 +10916,41 @@ func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeSchedu
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
+ req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeScheduledInstances = "DescribeScheduledInstances"
// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeScheduledInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeScheduledInstances for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeScheduledInstances method directly
-// instead.
+// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeScheduledInstancesRequest method.
// req, resp := client.DescribeScheduledInstancesRequest(params)
@@ -8570,27 +10990,41 @@ func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstance
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
req, out := c.DescribeScheduledInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
+ req, out := c.DescribeScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSecurityGroupReferences operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSecurityGroupReferences for usage and error information.
+// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSecurityGroupReferences method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
// req, resp := client.DescribeSecurityGroupReferencesRequest(params)
@@ -8631,27 +11065,41 @@ func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGrou
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
req, out := c.DescribeSecurityGroupReferencesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSecurityGroupReferences for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
+ req, out := c.DescribeSecurityGroupReferencesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSecurityGroups = "DescribeSecurityGroups"
// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSecurityGroups operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSecurityGroups for usage and error information.
+// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSecurityGroups method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSecurityGroupsRequest method.
// req, resp := client.DescribeSecurityGroupsRequest(params)
@@ -8698,27 +11146,41 @@ func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
req, out := c.DescribeSecurityGroupsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSecurityGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
+ req, out := c.DescribeSecurityGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSnapshotAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeSnapshotAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSnapshotAttribute method directly
-// instead.
+// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSnapshotAttributeRequest method.
// req, resp := client.DescribeSnapshotAttributeRequest(params)
@@ -8762,27 +11224,41 @@ func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
req, out := c.DescribeSnapshotAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
+ req, out := c.DescribeSnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSnapshots = "DescribeSnapshots"
// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSnapshots operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeSnapshots for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSnapshots method directly
-// instead.
+// See DescribeSnapshots for more information on using the DescribeSnapshots
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSnapshotsRequest method.
// req, resp := client.DescribeSnapshotsRequest(params)
@@ -8873,8 +11349,23 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
req, out := c.DescribeSnapshotsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSnapshots for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
+ req, out := c.DescribeSnapshotsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
@@ -8894,31 +11385,55 @@ func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapsho
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeSnapshotsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeSnapshotsOutput), lastPage)
- })
+func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
+ return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSnapshotsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSnapshotsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSpotDatafeedSubscription for usage and error information.
+// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotDatafeedSubscription method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
// req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
@@ -8960,27 +11475,41 @@ func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafee
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
+ req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotFleetInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSpotFleetInstances for usage and error information.
+// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotFleetInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotFleetInstancesRequest method.
// req, resp := client.DescribeSpotFleetInstancesRequest(params)
@@ -9020,27 +11549,41 @@ func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstance
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
req, out := c.DescribeSpotFleetInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
+ req, out := c.DescribeSpotFleetInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSpotFleetRequestHistory for usage and error information.
+// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotFleetRequestHistory method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
// req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
@@ -9085,27 +11628,41 @@ func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetReq
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
+ req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotFleetRequests operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeSpotFleetRequests for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotFleetRequests method directly
-// instead.
+// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotFleetRequestsRequest method.
// req, resp := client.DescribeSpotFleetRequestsRequest(params)
@@ -9154,8 +11711,23 @@ func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
req, out := c.DescribeSpotFleetRequestsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotFleetRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
+ req, out := c.DescribeSpotFleetRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
@@ -9175,31 +11747,55 @@ func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(p *DescribeSpotFleetRequestsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeSpotFleetRequestsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeSpotFleetRequestsOutput), lastPage)
- })
+func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
+ return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSpotFleetRequestsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotInstanceRequests operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSpotInstanceRequests for usage and error information.
+// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotInstanceRequests method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
// req, resp := client.DescribeSpotInstanceRequestsRequest(params)
@@ -9253,27 +11849,41 @@ func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceReq
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
req, out := c.DescribeSpotInstanceRequestsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotInstanceRequests for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
+ req, out := c.DescribeSpotInstanceRequestsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSpotPriceHistory operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeSpotPriceHistory for usage and error information.
+// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSpotPriceHistory method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSpotPriceHistoryRequest method.
// req, resp := client.DescribeSpotPriceHistoryRequest(params)
@@ -9326,8 +11936,23 @@ func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
req, out := c.DescribeSpotPriceHistoryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSpotPriceHistory for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
+ req, out := c.DescribeSpotPriceHistoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
@@ -9347,31 +11972,55 @@ func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*D
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeSpotPriceHistoryRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeSpotPriceHistoryOutput), lastPage)
- })
+func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
+ return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeSpotPriceHistoryInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeStaleSecurityGroups operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeStaleSecurityGroups for usage and error information.
+// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeStaleSecurityGroups method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
// req, resp := client.DescribeStaleSecurityGroupsRequest(params)
@@ -9414,27 +12063,41 @@ func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGro
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
req, out := c.DescribeStaleSecurityGroupsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeStaleSecurityGroups for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
+ req, out := c.DescribeStaleSecurityGroupsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeSubnets = "DescribeSubnets"
// DescribeSubnetsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSubnets operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeSubnets for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeSubnets method directly
-// instead.
+// See DescribeSubnets for more information on using the DescribeSubnets
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeSubnetsRequest method.
// req, resp := client.DescribeSubnetsRequest(params)
@@ -9477,27 +12140,41 @@ func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
req, out := c.DescribeSubnetsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeSubnets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
+ req, out := c.DescribeSubnetsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeTags = "DescribeTags"
// DescribeTagsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeTags operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeTags for usage and error information.
+// See DescribeTags for more information on using the DescribeTags
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeTags method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeTagsRequest method.
// req, resp := client.DescribeTagsRequest(params)
@@ -9546,8 +12223,23 @@ func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
req, out := c.DescribeTagsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeTagsWithContext is the same as DescribeTags with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeTags for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
+ req, out := c.DescribeTagsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeTagsPages iterates over the pages of a DescribeTags operation,
@@ -9567,31 +12259,55 @@ func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(p *DescribeTagsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeTagsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeTagsOutput), lastPage)
- })
+func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
+ return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeTagsPagesWithContext same as DescribeTagsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeTagsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeTagsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVolumeAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVolumeAttribute for usage and error information.
+// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVolumeAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVolumeAttributeRequest method.
// req, resp := client.DescribeVolumeAttributeRequest(params)
@@ -9635,27 +12351,41 @@ func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
req, out := c.DescribeVolumeAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumeAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
+ req, out := c.DescribeVolumeAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVolumeStatus = "DescribeVolumeStatus"
// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVolumeStatus operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeVolumeStatus for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVolumeStatus method directly
-// instead.
+// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVolumeStatusRequest method.
// req, resp := client.DescribeVolumeStatusRequest(params)
@@ -9735,8 +12465,23 @@ func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
req, out := c.DescribeVolumeStatusRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumeStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
+ req, out := c.DescribeVolumeStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
@@ -9756,31 +12501,55 @@ func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeV
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeVolumeStatusRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeVolumeStatusOutput), lastPage)
- })
+func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
+ return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeVolumeStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumeStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeVolumes = "DescribeVolumes"
// DescribeVolumesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVolumes operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeVolumes for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVolumes method directly
-// instead.
+// See DescribeVolumes for more information on using the DescribeVolumes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVolumesRequest method.
// req, resp := client.DescribeVolumesRequest(params)
@@ -9836,8 +12605,23 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
req, out := c.DescribeVolumesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
+ req, out := c.DescribeVolumesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
@@ -9857,31 +12641,55 @@ func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutp
// return pageNum <= 3
// })
//
-func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeVolumesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeVolumesOutput), lastPage)
- })
+func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
+ return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeVolumesPagesWithContext same as DescribeVolumesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeVolumesModifications = "DescribeVolumesModifications"
// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVolumesModifications operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVolumesModifications for usage and error information.
+// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVolumesModifications method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVolumesModificationsRequest method.
// req, resp := client.DescribeVolumesModificationsRequest(params)
@@ -9933,27 +12741,41 @@ func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModifica
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
req, out := c.DescribeVolumesModificationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVolumesModifications for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
+ req, out := c.DescribeVolumesModificationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcAttribute = "DescribeVpcAttribute"
// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpcAttribute for usage and error information.
+// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcAttributeRequest method.
// req, resp := client.DescribeVpcAttributeRequest(params)
@@ -9994,27 +12816,41 @@ func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
req, out := c.DescribeVpcAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
+ req, out := c.DescribeVpcAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcClassicLink operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpcClassicLink for usage and error information.
+// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcClassicLink method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcClassicLinkRequest method.
// req, resp := client.DescribeVpcClassicLinkRequest(params)
@@ -10054,27 +12890,41 @@ func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
req, out := c.DescribeVpcClassicLinkRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
+ req, out := c.DescribeVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeVpcClassicLinkDnsSupport for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
-// instead.
+// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
// req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
@@ -10107,8 +12957,8 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL
// the DNS hostname of a linked EC2-Classic instance resolves to its private
// IP address when addressed from an instance in the VPC to which it's linked.
// Similarly, the DNS hostname of an instance in a VPC resolves to its private
-// IP address when addressed from a linked EC2-Classic instance. For more information
-// about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
+// IP address when addressed from a linked EC2-Classic instance. For more information,
+// see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -10120,27 +12970,41 @@ func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicL
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcEndpointServices operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeVpcEndpointServices for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcEndpointServices method directly
-// instead.
+// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcEndpointServicesRequest method.
// req, resp := client.DescribeVpcEndpointServicesRequest(params)
@@ -10181,27 +13045,41 @@ func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServi
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
req, out := c.DescribeVpcEndpointServicesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpointServices for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
+ req, out := c.DescribeVpcEndpointServicesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcEndpoints operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpcEndpoints for usage and error information.
+// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcEndpoints method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcEndpointsRequest method.
// req, resp := client.DescribeVpcEndpointsRequest(params)
@@ -10241,27 +13119,41 @@ func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
req, out := c.DescribeVpcEndpointsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcEndpoints for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
+ req, out := c.DescribeVpcEndpointsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcPeeringConnections operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpcPeeringConnections for usage and error information.
+// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcPeeringConnections method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
// req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
@@ -10301,27 +13193,41 @@ func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConn
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
req, out := c.DescribeVpcPeeringConnectionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcPeeringConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
+ req, out := c.DescribeVpcPeeringConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpcs = "DescribeVpcs"
// DescribeVpcsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpcs operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpcs for usage and error information.
+// See DescribeVpcs for more information on using the DescribeVpcs
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpcs method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpcsRequest method.
// req, resp := client.DescribeVpcsRequest(params)
@@ -10361,27 +13267,41 @@ func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
req, out := c.DescribeVpcsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpcs for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
+ req, out := c.DescribeVpcsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpnConnections = "DescribeVpnConnections"
// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpnConnections operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeVpnConnections for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpnConnections method directly
-// instead.
+// See DescribeVpnConnections for more information on using the DescribeVpnConnections
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpnConnectionsRequest method.
// req, resp := client.DescribeVpnConnectionsRequest(params)
@@ -10425,27 +13345,41 @@ func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
req, out := c.DescribeVpnConnectionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpnConnections for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
+ req, out := c.DescribeVpnConnectionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeVpnGateways = "DescribeVpnGateways"
// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
// client's request for the DescribeVpnGateways operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeVpnGateways for usage and error information.
+// See DescribeVpnGateways for more information on using the DescribeVpnGateways
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeVpnGateways method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeVpnGatewaysRequest method.
// req, resp := client.DescribeVpnGatewaysRequest(params)
@@ -10489,27 +13423,41 @@ func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
req, out := c.DescribeVpnGatewaysRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeVpnGateways for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
+ req, out := c.DescribeVpnGatewaysRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
// client's request for the DetachClassicLinkVpc operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DetachClassicLinkVpc for usage and error information.
+// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DetachClassicLinkVpc method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DetachClassicLinkVpcRequest method.
// req, resp := client.DetachClassicLinkVpcRequest(params)
@@ -10551,27 +13499,41 @@ func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
req, out := c.DetachClassicLinkVpcRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachClassicLinkVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
+ req, out := c.DetachClassicLinkVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDetachInternetGateway = "DetachInternetGateway"
// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DetachInternetGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DetachInternetGateway for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DetachInternetGateway method directly
-// instead.
+// See DetachInternetGateway for more information on using the DetachInternetGateway
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DetachInternetGatewayRequest method.
// req, resp := client.DetachInternetGatewayRequest(params)
@@ -10604,7 +13566,7 @@ func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (r
//
// Detaches an Internet gateway from a VPC, disabling connectivity between the
// Internet and the VPC. The VPC must not contain any running instances with
-// Elastic IP addresses.
+// Elastic IP addresses or public IPv4 addresses.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -10615,27 +13577,41 @@ func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
req, out := c.DetachInternetGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachInternetGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
+ req, out := c.DetachInternetGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDetachNetworkInterface = "DetachNetworkInterface"
// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
// client's request for the DetachNetworkInterface operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DetachNetworkInterface for usage and error information.
+// See DetachNetworkInterface for more information on using the DetachNetworkInterface
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DetachNetworkInterface method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DetachNetworkInterfaceRequest method.
// req, resp := client.DetachNetworkInterfaceRequest(params)
@@ -10677,27 +13653,41 @@ func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
req, out := c.DetachNetworkInterfaceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachNetworkInterface for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
+ req, out := c.DetachNetworkInterfaceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDetachVolume = "DetachVolume"
// DetachVolumeRequest generates a "aws/request.Request" representing the
// client's request for the DetachVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DetachVolume for usage and error information.
+// See DetachVolume for more information on using the DetachVolume
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DetachVolume method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DetachVolumeRequest method.
// req, resp := client.DetachVolumeRequest(params)
@@ -10750,27 +13740,41 @@ func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
req, out := c.DetachVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DetachVolumeWithContext is the same as DetachVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
+ req, out := c.DetachVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDetachVpnGateway = "DetachVpnGateway"
// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
// client's request for the DetachVpnGateway operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DetachVpnGateway for usage and error information.
+// See DetachVpnGateway for more information on using the DetachVpnGateway
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DetachVpnGateway method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DetachVpnGatewayRequest method.
// req, resp := client.DetachVpnGatewayRequest(params)
@@ -10819,27 +13823,41 @@ func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
req, out := c.DetachVpnGatewayRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DetachVpnGateway for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
+ req, out := c.DetachVpnGatewayRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
// client's request for the DisableVgwRoutePropagation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DisableVgwRoutePropagation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisableVgwRoutePropagation method directly
-// instead.
+// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisableVgwRoutePropagationRequest method.
// req, resp := client.DisableVgwRoutePropagationRequest(params)
@@ -10882,27 +13900,41 @@ func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagatio
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
req, out := c.DisableVgwRoutePropagationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVgwRoutePropagation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
+ req, out := c.DisableVgwRoutePropagationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisableVpcClassicLink = "DisableVpcClassicLink"
// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
// client's request for the DisableVpcClassicLink operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DisableVpcClassicLink for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisableVpcClassicLink method directly
-// instead.
+// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisableVpcClassicLinkRequest method.
// req, resp := client.DisableVpcClassicLinkRequest(params)
@@ -10943,27 +13975,41 @@ func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
req, out := c.DisableVpcClassicLinkRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
+ req, out := c.DisableVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DisableVpcClassicLinkDnsSupport for usage and error information.
+// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
// req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
@@ -11007,27 +14053,41 @@ func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLin
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateAddress = "DisassociateAddress"
// DisassociateAddressRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateAddress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DisassociateAddress for usage and error information.
+// See DisassociateAddress for more information on using the DisassociateAddress
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateAddress method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateAddressRequest method.
// req, resp := client.DisassociateAddressRequest(params)
@@ -11077,27 +14137,41 @@ func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
req, out := c.DisassociateAddressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
+ req, out := c.DisassociateAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateIamInstanceProfile operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DisassociateIamInstanceProfile for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateIamInstanceProfile method directly
-// instead.
+// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateIamInstanceProfileRequest method.
// req, resp := client.DisassociateIamInstanceProfileRequest(params)
@@ -11139,27 +14213,41 @@ func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstan
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
req, out := c.DisassociateIamInstanceProfileRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateIamInstanceProfile for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
+ req, out := c.DisassociateIamInstanceProfileRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateRouteTable = "DisassociateRouteTable"
// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateRouteTable operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DisassociateRouteTable for usage and error information.
+// See DisassociateRouteTable for more information on using the DisassociateRouteTable
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateRouteTable method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateRouteTableRequest method.
// req, resp := client.DisassociateRouteTableRequest(params)
@@ -11206,27 +14294,41 @@ func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
req, out := c.DisassociateRouteTableRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateRouteTable for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
+ req, out := c.DisassociateRouteTableRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DisassociateSubnetCidrBlock for usage and error information.
+// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateSubnetCidrBlock method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
// req, resp := client.DisassociateSubnetCidrBlockRequest(params)
@@ -11268,27 +14370,41 @@ func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBl
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
req, out := c.DisassociateSubnetCidrBlockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateSubnetCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
+ req, out := c.DisassociateSubnetCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateVpcCidrBlock operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DisassociateVpcCidrBlock for usage and error information.
+// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DisassociateVpcCidrBlock method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DisassociateVpcCidrBlockRequest method.
// req, resp := client.DisassociateVpcCidrBlockRequest(params)
@@ -11330,27 +14446,41 @@ func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
req, out := c.DisassociateVpcCidrBlockRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DisassociateVpcCidrBlock for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
+ req, out := c.DisassociateVpcCidrBlockRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
// client's request for the EnableVgwRoutePropagation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See EnableVgwRoutePropagation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableVgwRoutePropagation method directly
-// instead.
+// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableVgwRoutePropagationRequest method.
// req, resp := client.EnableVgwRoutePropagationRequest(params)
@@ -11393,27 +14523,41 @@ func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
req, out := c.EnableVgwRoutePropagationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVgwRoutePropagation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
+ req, out := c.EnableVgwRoutePropagationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableVolumeIO = "EnableVolumeIO"
// EnableVolumeIORequest generates a "aws/request.Request" representing the
// client's request for the EnableVolumeIO operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See EnableVolumeIO for usage and error information.
+// See EnableVolumeIO for more information on using the EnableVolumeIO
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableVolumeIO method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableVolumeIORequest method.
// req, resp := client.EnableVolumeIORequest(params)
@@ -11456,27 +14600,41 @@ func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
req, out := c.EnableVolumeIORequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVolumeIO for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
+ req, out := c.EnableVolumeIORequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableVpcClassicLink = "EnableVpcClassicLink"
// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
// client's request for the EnableVpcClassicLink operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See EnableVpcClassicLink for usage and error information.
+// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableVpcClassicLink method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableVpcClassicLinkRequest method.
// req, resp := client.EnableVpcClassicLinkRequest(params)
@@ -11522,27 +14680,41 @@ func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
req, out := c.EnableVpcClassicLinkRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVpcClassicLink for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
+ req, out := c.EnableVpcClassicLinkRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See EnableVpcClassicLinkDnsSupport for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly
-// instead.
+// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
// req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
@@ -11588,27 +14760,41 @@ func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkD
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
+// the ability to pass a context and additional request options.
+//
+// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
+ req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetConsoleOutput = "GetConsoleOutput"
// GetConsoleOutputRequest generates a "aws/request.Request" representing the
// client's request for the GetConsoleOutput operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetConsoleOutput for usage and error information.
+// See GetConsoleOutput for more information on using the GetConsoleOutput
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetConsoleOutput method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetConsoleOutputRequest method.
// req, resp := client.GetConsoleOutputRequest(params)
@@ -11665,27 +14851,41 @@ func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
req, out := c.GetConsoleOutputRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetConsoleOutput for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
+ req, out := c.GetConsoleOutputRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetConsoleScreenshot = "GetConsoleScreenshot"
// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
// client's request for the GetConsoleScreenshot operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetConsoleScreenshot for usage and error information.
+// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetConsoleScreenshot method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetConsoleScreenshotRequest method.
// req, resp := client.GetConsoleScreenshotRequest(params)
@@ -11727,27 +14927,41 @@ func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
req, out := c.GetConsoleScreenshotRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetConsoleScreenshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
+ req, out := c.GetConsoleScreenshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
// client's request for the GetHostReservationPurchasePreview operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetHostReservationPurchasePreview for usage and error information.
+// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetHostReservationPurchasePreview method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
// req, resp := client.GetHostReservationPurchasePreviewRequest(params)
@@ -11792,27 +15006,41 @@ func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservation
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
req, out := c.GetHostReservationPurchasePreviewRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetHostReservationPurchasePreview for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
+ req, out := c.GetHostReservationPurchasePreviewRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetPasswordData = "GetPasswordData"
// GetPasswordDataRequest generates a "aws/request.Request" representing the
// client's request for the GetPasswordData operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetPasswordData for usage and error information.
+// See GetPasswordData for more information on using the GetPasswordData
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetPasswordData method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetPasswordDataRequest method.
// req, resp := client.GetPasswordDataRequest(params)
@@ -11865,27 +15093,41 @@ func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
req, out := c.GetPasswordDataRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetPasswordData for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
+ req, out := c.GetPasswordDataRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetReservedInstancesExchangeQuote for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetReservedInstancesExchangeQuote method directly
-// instead.
+// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
// req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
@@ -11927,27 +15169,41 @@ func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstanc
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
+ req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opImportImage = "ImportImage"
// ImportImageRequest generates a "aws/request.Request" representing the
// client's request for the ImportImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ImportImage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ImportImage method directly
-// instead.
+// See ImportImage for more information on using the ImportImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ImportImageRequest method.
// req, resp := client.ImportImageRequest(params)
@@ -11990,27 +15246,41 @@ func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
req, out := c.ImportImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ImportImageWithContext is the same as ImportImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
+ req, out := c.ImportImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opImportInstance = "ImportInstance"
// ImportInstanceRequest generates a "aws/request.Request" representing the
// client's request for the ImportInstance operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ImportInstance for usage and error information.
+// See ImportInstance for more information on using the ImportInstance
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ImportInstance method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ImportInstanceRequest method.
// req, resp := client.ImportInstanceRequest(params)
@@ -12056,27 +15326,41 @@ func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
req, out := c.ImportInstanceRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ImportInstanceWithContext is the same as ImportInstance with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportInstance for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
+ req, out := c.ImportInstanceRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opImportKeyPair = "ImportKeyPair"
// ImportKeyPairRequest generates a "aws/request.Request" representing the
// client's request for the ImportKeyPair operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ImportKeyPair for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ImportKeyPair method directly
-// instead.
+// See ImportKeyPair for more information on using the ImportKeyPair
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ImportKeyPairRequest method.
// req, resp := client.ImportKeyPairRequest(params)
@@ -12123,27 +15407,41 @@ func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
req, out := c.ImportKeyPairRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportKeyPair for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
+ req, out := c.ImportKeyPairRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opImportSnapshot = "ImportSnapshot"
// ImportSnapshotRequest generates a "aws/request.Request" representing the
// client's request for the ImportSnapshot operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ImportSnapshot for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ImportSnapshot method directly
-// instead.
+// See ImportSnapshot for more information on using the ImportSnapshot
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ImportSnapshotRequest method.
// req, resp := client.ImportSnapshotRequest(params)
@@ -12183,27 +15481,41 @@ func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
req, out := c.ImportSnapshotRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportSnapshot for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
+ req, out := c.ImportSnapshotRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opImportVolume = "ImportVolume"
// ImportVolumeRequest generates a "aws/request.Request" representing the
// client's request for the ImportVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ImportVolume for usage and error information.
+// See ImportVolume for more information on using the ImportVolume
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ImportVolume method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ImportVolumeRequest method.
// req, resp := client.ImportVolumeRequest(params)
@@ -12247,27 +15559,41 @@ func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
req, out := c.ImportVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ImportVolumeWithContext is the same as ImportVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ImportVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
+ req, out := c.ImportVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyHosts = "ModifyHosts"
// ModifyHostsRequest generates a "aws/request.Request" representing the
// client's request for the ModifyHosts operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyHosts for usage and error information.
+// See ModifyHosts for more information on using the ModifyHosts
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyHosts method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyHostsRequest method.
// req, resp := client.ModifyHostsRequest(params)
@@ -12313,27 +15639,41 @@ func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
req, out := c.ModifyHostsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyHostsWithContext is the same as ModifyHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
+ req, out := c.ModifyHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyIdFormat = "ModifyIdFormat"
// ModifyIdFormatRequest generates a "aws/request.Request" representing the
// client's request for the ModifyIdFormat operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyIdFormat for usage and error information.
+// See ModifyIdFormat for more information on using the ModifyIdFormat
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyIdFormat method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyIdFormatRequest method.
// req, resp := client.ModifyIdFormatRequest(params)
@@ -12389,27 +15729,41 @@ func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
req, out := c.ModifyIdFormatRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
+ req, out := c.ModifyIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
// client's request for the ModifyIdentityIdFormat operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyIdentityIdFormat for usage and error information.
+// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyIdentityIdFormat method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyIdentityIdFormatRequest method.
// req, resp := client.ModifyIdentityIdFormatRequest(params)
@@ -12465,27 +15819,41 @@ func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
req, out := c.ModifyIdentityIdFormatRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyIdentityIdFormat for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
+ req, out := c.ModifyIdentityIdFormatRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyImageAttribute = "ModifyImageAttribute"
// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyImageAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ModifyImageAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyImageAttribute method directly
-// instead.
+// See ModifyImageAttribute for more information on using the ModifyImageAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyImageAttributeRequest method.
// req, resp := client.ModifyImageAttributeRequest(params)
@@ -12536,27 +15904,41 @@ func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
req, out := c.ModifyImageAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
+ req, out := c.ModifyImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyInstanceAttribute = "ModifyInstanceAttribute"
// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyInstanceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyInstanceAttribute for usage and error information.
+// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyInstanceAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyInstanceAttributeRequest method.
// req, resp := client.ModifyInstanceAttributeRequest(params)
@@ -12603,27 +15985,41 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
req, out := c.ModifyInstanceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
+ req, out := c.ModifyInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyInstancePlacement = "ModifyInstancePlacement"
// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
// client's request for the ModifyInstancePlacement operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyInstancePlacement for usage and error information.
+// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyInstancePlacement method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyInstancePlacementRequest method.
// req, resp := client.ModifyInstancePlacementRequest(params)
@@ -12681,27 +16077,41 @@ func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
req, out := c.ModifyInstancePlacementRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyInstancePlacement for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
+ req, out := c.ModifyInstancePlacementRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ModifyNetworkInterfaceAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
-// instead.
+// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
// req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
@@ -12744,27 +16154,41 @@ func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfa
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyReservedInstances = "ModifyReservedInstances"
// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
// client's request for the ModifyReservedInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ModifyReservedInstances for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyReservedInstances method directly
-// instead.
+// See ModifyReservedInstances for more information on using the ModifyReservedInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyReservedInstancesRequest method.
// req, resp := client.ModifyReservedInstancesRequest(params)
@@ -12810,27 +16234,41 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
req, out := c.ModifyReservedInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyReservedInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
+ req, out := c.ModifyReservedInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifySnapshotAttribute = "ModifySnapshotAttribute"
// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifySnapshotAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifySnapshotAttribute for usage and error information.
+// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifySnapshotAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifySnapshotAttributeRequest method.
// req, resp := client.ModifySnapshotAttributeRequest(params)
@@ -12884,27 +16322,41 @@ func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
req, out := c.ModifySnapshotAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
+ req, out := c.ModifySnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifySpotFleetRequest = "ModifySpotFleetRequest"
// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
// client's request for the ModifySpotFleetRequest operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifySpotFleetRequest for usage and error information.
+// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifySpotFleetRequest method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifySpotFleetRequestRequest method.
// req, resp := client.ModifySpotFleetRequestRequest(params)
@@ -12963,27 +16415,41 @@ func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
req, out := c.ModifySpotFleetRequestRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySpotFleetRequest for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
+ req, out := c.ModifySpotFleetRequestRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifySubnetAttribute = "ModifySubnetAttribute"
// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifySubnetAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifySubnetAttribute for usage and error information.
+// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifySubnetAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifySubnetAttributeRequest method.
// req, resp := client.ModifySubnetAttributeRequest(params)
@@ -13025,27 +16491,41 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
req, out := c.ModifySubnetAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifySubnetAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
+ req, out := c.ModifySubnetAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyVolume = "ModifyVolume"
// ModifyVolumeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyVolume operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ModifyVolume for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyVolume method directly
-// instead.
+// See ModifyVolume for more information on using the ModifyVolume
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyVolumeRequest method.
// req, resp := client.ModifyVolumeRequest(params)
@@ -13117,27 +16597,41 @@ func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
req, out := c.ModifyVolumeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVolume for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
+ req, out := c.ModifyVolumeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyVolumeAttribute = "ModifyVolumeAttribute"
// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyVolumeAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyVolumeAttribute for usage and error information.
+// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyVolumeAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyVolumeAttributeRequest method.
// req, resp := client.ModifyVolumeAttributeRequest(params)
@@ -13188,27 +16682,41 @@ func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
req, out := c.ModifyVolumeAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVolumeAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
+ req, out := c.ModifyVolumeAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyVpcAttribute = "ModifyVpcAttribute"
// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ModifyVpcAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyVpcAttribute for usage and error information.
+// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyVpcAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyVpcAttributeRequest method.
// req, resp := client.ModifyVpcAttributeRequest(params)
@@ -13250,27 +16758,41 @@ func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
req, out := c.ModifyVpcAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
+ req, out := c.ModifyVpcAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyVpcEndpoint = "ModifyVpcEndpoint"
// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
// client's request for the ModifyVpcEndpoint operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ModifyVpcEndpoint for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyVpcEndpoint method directly
-// instead.
+// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyVpcEndpointRequest method.
// req, resp := client.ModifyVpcEndpointRequest(params)
@@ -13312,27 +16834,41 @@ func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
req, out := c.ModifyVpcEndpointRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcEndpoint for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
+ req, out := c.ModifyVpcEndpointRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ModifyVpcPeeringConnectionOptions for usage and error information.
+// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
// req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
@@ -13391,27 +16927,41 @@ func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringCo
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
+ req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opMonitorInstances = "MonitorInstances"
// MonitorInstancesRequest generates a "aws/request.Request" representing the
// client's request for the MonitorInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See MonitorInstances for usage and error information.
+// See MonitorInstances for more information on using the MonitorInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the MonitorInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the MonitorInstancesRequest method.
// req, resp := client.MonitorInstancesRequest(params)
@@ -13456,27 +17006,41 @@ func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
req, out := c.MonitorInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See MonitorInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
+ req, out := c.MonitorInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opMoveAddressToVpc = "MoveAddressToVpc"
// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
// client's request for the MoveAddressToVpc operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See MoveAddressToVpc for usage and error information.
+// See MoveAddressToVpc for more information on using the MoveAddressToVpc
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the MoveAddressToVpc method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the MoveAddressToVpcRequest method.
// req, resp := client.MoveAddressToVpcRequest(params)
@@ -13522,27 +17086,41 @@ func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
req, out := c.MoveAddressToVpcRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
+// the ability to pass a context and additional request options.
+//
+// See MoveAddressToVpc for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
+ req, out := c.MoveAddressToVpcRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPurchaseHostReservation = "PurchaseHostReservation"
// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
// client's request for the PurchaseHostReservation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PurchaseHostReservation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PurchaseHostReservation method directly
-// instead.
+// See PurchaseHostReservation for more information on using the PurchaseHostReservation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PurchaseHostReservationRequest method.
// req, resp := client.PurchaseHostReservationRequest(params)
@@ -13585,27 +17163,41 @@ func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
req, out := c.PurchaseHostReservationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseHostReservation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
+ req, out := c.PurchaseHostReservationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PurchaseReservedInstancesOffering for usage and error information.
+// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PurchaseReservedInstancesOffering method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
// req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
@@ -13654,27 +17246,41 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
req, out := c.PurchaseReservedInstancesOfferingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseReservedInstancesOffering for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
+ req, out := c.PurchaseReservedInstancesOfferingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
// client's request for the PurchaseScheduledInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PurchaseScheduledInstances for usage and error information.
+// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PurchaseScheduledInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PurchaseScheduledInstancesRequest method.
// req, resp := client.PurchaseScheduledInstancesRequest(params)
@@ -13723,27 +17329,41 @@ func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstance
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
req, out := c.PurchaseScheduledInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PurchaseScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
+ req, out := c.PurchaseScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRebootInstances = "RebootInstances"
// RebootInstancesRequest generates a "aws/request.Request" representing the
// client's request for the RebootInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RebootInstances for usage and error information.
+// See RebootInstances for more information on using the RebootInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RebootInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RebootInstancesRequest method.
// req, resp := client.RebootInstancesRequest(params)
@@ -13795,27 +17415,41 @@ func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
req, out := c.RebootInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RebootInstancesWithContext is the same as RebootInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RebootInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
+ req, out := c.RebootInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRegisterImage = "RegisterImage"
// RegisterImageRequest generates a "aws/request.Request" representing the
// client's request for the RegisterImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See RegisterImage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RegisterImage method directly
-// instead.
+// See RegisterImage for more information on using the RegisterImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RegisterImageRequest method.
// req, resp := client.RegisterImageRequest(params)
@@ -13854,8 +17488,8 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ
//
// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
// a snapshot of a root device volume. You specify the snapshot using the block
-// device mapping. For more information, see Launching an Instance from a Snapshot
-// (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html)
+// device mapping. For more information, see Launching a Linux Instance from
+// a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
// in the Amazon Elastic Compute Cloud User Guide.
//
// You can't register an image where a secondary (non-root) snapshot has AWS
@@ -13883,27 +17517,41 @@ func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
req, out := c.RegisterImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RegisterImageWithContext is the same as RegisterImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RegisterImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
+ req, out := c.RegisterImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
// client's request for the RejectVpcPeeringConnection operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See RejectVpcPeeringConnection for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RejectVpcPeeringConnection method directly
-// instead.
+// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RejectVpcPeeringConnectionRequest method.
// req, resp := client.RejectVpcPeeringConnectionRequest(params)
@@ -13947,27 +17595,41 @@ func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectio
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
req, out := c.RejectVpcPeeringConnectionRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RejectVpcPeeringConnection for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
+ req, out := c.RejectVpcPeeringConnectionRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReleaseAddress = "ReleaseAddress"
// ReleaseAddressRequest generates a "aws/request.Request" representing the
// client's request for the ReleaseAddress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ReleaseAddress for usage and error information.
+// See ReleaseAddress for more information on using the ReleaseAddress
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReleaseAddress method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReleaseAddressRequest method.
// req, resp := client.ReleaseAddressRequest(params)
@@ -14023,27 +17685,41 @@ func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
req, out := c.ReleaseAddressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReleaseAddress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
+ req, out := c.ReleaseAddressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReleaseHosts = "ReleaseHosts"
// ReleaseHostsRequest generates a "aws/request.Request" representing the
// client's request for the ReleaseHosts operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ReleaseHosts for usage and error information.
+// See ReleaseHosts for more information on using the ReleaseHosts
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReleaseHosts method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReleaseHostsRequest method.
// req, resp := client.ReleaseHostsRequest(params)
@@ -14094,27 +17770,41 @@ func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
req, out := c.ReleaseHostsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReleaseHosts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
+ req, out := c.ReleaseHostsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ReplaceIamInstanceProfileAssociation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReplaceIamInstanceProfileAssociation method directly
-// instead.
+// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
// req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
@@ -14159,27 +17849,41 @@ func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInsta
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
+ req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ReplaceNetworkAclAssociation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReplaceNetworkAclAssociation method directly
-// instead.
+// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
// req, resp := client.ReplaceNetworkAclAssociationRequest(params)
@@ -14222,27 +17926,41 @@ func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssoci
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
req, out := c.ReplaceNetworkAclAssociationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceNetworkAclAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
+ req, out := c.ReplaceNetworkAclAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
// client's request for the ReplaceNetworkAclEntry operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ReplaceNetworkAclEntry for usage and error information.
+// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReplaceNetworkAclEntry method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReplaceNetworkAclEntryRequest method.
// req, resp := client.ReplaceNetworkAclEntryRequest(params)
@@ -14286,27 +18004,41 @@ func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
req, out := c.ReplaceNetworkAclEntryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceNetworkAclEntry for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
+ req, out := c.ReplaceNetworkAclEntryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReplaceRoute = "ReplaceRoute"
// ReplaceRouteRequest generates a "aws/request.Request" representing the
// client's request for the ReplaceRoute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ReplaceRoute for usage and error information.
+// See ReplaceRoute for more information on using the ReplaceRoute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReplaceRoute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReplaceRouteRequest method.
// req, resp := client.ReplaceRouteRequest(params)
@@ -14354,27 +18086,41 @@ func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
req, out := c.ReplaceRouteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceRoute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
+ req, out := c.ReplaceRouteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
// client's request for the ReplaceRouteTableAssociation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ReplaceRouteTableAssociation for usage and error information.
+// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReplaceRouteTableAssociation method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReplaceRouteTableAssociationRequest method.
// req, resp := client.ReplaceRouteTableAssociationRequest(params)
@@ -14422,27 +18168,41 @@ func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssoci
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
req, out := c.ReplaceRouteTableAssociationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReplaceRouteTableAssociation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
+ req, out := c.ReplaceRouteTableAssociationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opReportInstanceStatus = "ReportInstanceStatus"
// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
// client's request for the ReportInstanceStatus operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ReportInstanceStatus for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ReportInstanceStatus method directly
-// instead.
+// See ReportInstanceStatus for more information on using the ReportInstanceStatus
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ReportInstanceStatusRequest method.
// req, resp := client.ReportInstanceStatusRequest(params)
@@ -14490,27 +18250,41 @@ func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
req, out := c.ReportInstanceStatusRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ReportInstanceStatus for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
+ req, out := c.ReportInstanceStatusRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRequestSpotFleet = "RequestSpotFleet"
// RequestSpotFleetRequest generates a "aws/request.Request" representing the
// client's request for the RequestSpotFleet operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RequestSpotFleet for usage and error information.
+// See RequestSpotFleet for more information on using the RequestSpotFleet
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RequestSpotFleet method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RequestSpotFleetRequest method.
// req, resp := client.RequestSpotFleetRequest(params)
@@ -14566,27 +18340,41 @@ func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
req, out := c.RequestSpotFleetRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RequestSpotFleet for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
+ req, out := c.RequestSpotFleetRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRequestSpotInstances = "RequestSpotInstances"
// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
// client's request for the RequestSpotInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RequestSpotInstances for usage and error information.
+// See RequestSpotInstances for more information on using the RequestSpotInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RequestSpotInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RequestSpotInstancesRequest method.
// req, resp := client.RequestSpotInstancesRequest(params)
@@ -14631,27 +18419,41 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
req, out := c.RequestSpotInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RequestSpotInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
+ req, out := c.RequestSpotInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opResetImageAttribute = "ResetImageAttribute"
// ResetImageAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ResetImageAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ResetImageAttribute for usage and error information.
+// See ResetImageAttribute for more information on using the ResetImageAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ResetImageAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ResetImageAttributeRequest method.
// req, resp := client.ResetImageAttributeRequest(params)
@@ -14695,27 +18497,41 @@ func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
req, out := c.ResetImageAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetImageAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
+ req, out := c.ResetImageAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opResetInstanceAttribute = "ResetInstanceAttribute"
// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ResetInstanceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ResetInstanceAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ResetInstanceAttribute method directly
-// instead.
+// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ResetInstanceAttributeRequest method.
// req, resp := client.ResetInstanceAttributeRequest(params)
@@ -14765,27 +18581,41 @@ func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
req, out := c.ResetInstanceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetInstanceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
+ req, out := c.ResetInstanceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ResetNetworkInterfaceAttribute for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ResetNetworkInterfaceAttribute method directly
-// instead.
+// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
// req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
@@ -14828,27 +18658,41 @@ func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterface
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
req, out := c.ResetNetworkInterfaceAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
+ req, out := c.ResetNetworkInterfaceAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opResetSnapshotAttribute = "ResetSnapshotAttribute"
// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
// client's request for the ResetSnapshotAttribute operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ResetSnapshotAttribute for usage and error information.
+// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ResetSnapshotAttribute method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ResetSnapshotAttributeRequest method.
// req, resp := client.ResetSnapshotAttributeRequest(params)
@@ -14894,27 +18738,41 @@ func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
req, out := c.ResetSnapshotAttributeRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ResetSnapshotAttribute for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
+ req, out := c.ResetSnapshotAttributeRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRestoreAddressToClassic = "RestoreAddressToClassic"
// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
// client's request for the RestoreAddressToClassic operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RestoreAddressToClassic for usage and error information.
+// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RestoreAddressToClassic method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RestoreAddressToClassicRequest method.
// req, resp := client.RestoreAddressToClassicRequest(params)
@@ -14957,27 +18815,41 @@ func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
req, out := c.RestoreAddressToClassicRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RestoreAddressToClassic for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
+ req, out := c.RestoreAddressToClassicRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
// client's request for the RevokeSecurityGroupEgress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See RevokeSecurityGroupEgress for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RevokeSecurityGroupEgress method directly
-// instead.
+// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RevokeSecurityGroupEgressRequest method.
// req, resp := client.RevokeSecurityGroupEgressRequest(params)
@@ -15030,27 +18902,41 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
req, out := c.RevokeSecurityGroupEgressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RevokeSecurityGroupEgress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
+ req, out := c.RevokeSecurityGroupEgressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
// client's request for the RevokeSecurityGroupIngress operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RevokeSecurityGroupIngress for usage and error information.
+// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RevokeSecurityGroupIngress method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RevokeSecurityGroupIngressRequest method.
// req, resp := client.RevokeSecurityGroupIngressRequest(params)
@@ -15102,27 +18988,41 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
req, out := c.RevokeSecurityGroupIngressRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RevokeSecurityGroupIngress for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
+ req, out := c.RevokeSecurityGroupIngressRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRunInstances = "RunInstances"
// RunInstancesRequest generates a "aws/request.Request" representing the
// client's request for the RunInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RunInstances for usage and error information.
+// See RunInstances for more information on using the RunInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RunInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RunInstancesRequest method.
// req, resp := client.RunInstancesRequest(params)
@@ -15186,9 +19086,9 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques
// each instead of 1 launch request for 500 instances.
//
// An instance is ready for you to use when it's in the running state. You can
-// check the state of your instance using DescribeInstances. After launch, you
-// can apply tags to your running instance (requires a resource ID). For more
-// information, see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
+// check the state of your instance using DescribeInstances. You can tag instances
+// and EBS volumes during launch, after launch, or both. For more information,
+// see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
//
// Linux instances have access to the public key of the key pair at boot. You
// can use this key to provide secure access to the instance. Amazon EC2 public
@@ -15210,27 +19110,41 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
req, out := c.RunInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RunInstancesWithContext is the same as RunInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RunInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
+ req, out := c.RunInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRunScheduledInstances = "RunScheduledInstances"
// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
// client's request for the RunScheduledInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RunScheduledInstances for usage and error information.
+// See RunScheduledInstances for more information on using the RunScheduledInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RunScheduledInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RunScheduledInstancesRequest method.
// req, resp := client.RunScheduledInstancesRequest(params)
@@ -15280,27 +19194,41 @@ func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
req, out := c.RunScheduledInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RunScheduledInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
+ req, out := c.RunScheduledInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opStartInstances = "StartInstances"
// StartInstancesRequest generates a "aws/request.Request" representing the
// client's request for the StartInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See StartInstances for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the StartInstances method directly
-// instead.
+// See StartInstances for more information on using the StartInstances
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the StartInstancesRequest method.
// req, resp := client.StartInstancesRequest(params)
@@ -15358,27 +19286,41 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
req, out := c.StartInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// StartInstancesWithContext is the same as StartInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See StartInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
+ req, out := c.StartInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opStopInstances = "StopInstances"
// StopInstancesRequest generates a "aws/request.Request" representing the
// client's request for the StopInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See StopInstances for usage and error information.
+// See StopInstances for more information on using the StopInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the StopInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the StopInstancesRequest method.
// req, resp := client.StopInstancesRequest(params)
@@ -15447,27 +19389,41 @@ func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
req, out := c.StopInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// StopInstancesWithContext is the same as StopInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See StopInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
+ req, out := c.StopInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opTerminateInstances = "TerminateInstances"
// TerminateInstancesRequest generates a "aws/request.Request" representing the
// client's request for the TerminateInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See TerminateInstances for usage and error information.
+// See TerminateInstances for more information on using the TerminateInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the TerminateInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the TerminateInstancesRequest method.
// req, resp := client.TerminateInstancesRequest(params)
@@ -15531,27 +19487,41 @@ func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
req, out := c.TerminateInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See TerminateInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
+ req, out := c.TerminateInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
// client's request for the UnassignIpv6Addresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See UnassignIpv6Addresses for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UnassignIpv6Addresses method directly
-// instead.
+// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UnassignIpv6AddressesRequest method.
// req, resp := client.UnassignIpv6AddressesRequest(params)
@@ -15591,27 +19561,41 @@ func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
req, out := c.UnassignIpv6AddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnassignIpv6Addresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
+ req, out := c.UnassignIpv6AddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
// client's request for the UnassignPrivateIpAddresses operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See UnassignPrivateIpAddresses for usage and error information.
+// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UnassignPrivateIpAddresses method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UnassignPrivateIpAddressesRequest method.
// req, resp := client.UnassignPrivateIpAddressesRequest(params)
@@ -15653,27 +19637,41 @@ func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddresse
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
req, out := c.UnassignPrivateIpAddressesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnassignPrivateIpAddresses for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
+ req, out := c.UnassignPrivateIpAddressesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUnmonitorInstances = "UnmonitorInstances"
// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
// client's request for the UnmonitorInstances operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See UnmonitorInstances for usage and error information.
+// See UnmonitorInstances for more information on using the UnmonitorInstances
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UnmonitorInstances method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UnmonitorInstancesRequest method.
// req, resp := client.UnmonitorInstancesRequest(params)
@@ -15715,8 +19713,23 @@ func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
req, out := c.UnmonitorInstancesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UnmonitorInstances for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
+ req, out := c.UnmonitorInstancesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// Contains the parameters for accepting the quote.
@@ -15943,8 +19956,8 @@ func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeVal
type ActiveInstance struct {
_ struct{} `type:"structure"`
- // The health status of the instance. If the status of both the instance status
- // check and the system status check is impaired, the health status of the instance
+ // The health status of the instance. If the status of either the instance status
+ // check or the system status check is impaired, the health status of the instance
// is unhealthy. Otherwise, the health status is healthy.
InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
@@ -19677,6 +23690,59 @@ func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *Cr
return s
}
+// Contains the parameters for CreateDefaultVpc.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcRequest
+type CreateDefaultVpcInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+}
+
+// String returns the string representation
+func (s CreateDefaultVpcInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultVpcInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
+ s.DryRun = &v
+ return s
+}
+
+// Contains the output of CreateDefaultVpc.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcResult
+type CreateDefaultVpcOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the VPC.
+ Vpc *Vpc `locationName:"vpc" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateDefaultVpcOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateDefaultVpcOutput) GoString() string {
+ return s.String()
+}
+
+// SetVpc sets the Vpc field's value.
+func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
+ s.Vpc = v
+ return s
+}
+
// Contains the parameters for CreateDhcpOptions.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest
type CreateDhcpOptionsInput struct {
@@ -20002,6 +24068,128 @@ func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlo
return s
}
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageRequest
+type CreateFpgaImageInput struct {
+ _ struct{} `type:"structure"`
+
+ // Unique, case-sensitive identifier that you provide to ensure the idempotency
+ // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
+ ClientToken *string `type:"string"`
+
+ // A description for the AFI.
+ Description *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The location of the encrypted design checkpoint in Amazon S3. The input must
+ // be a tarball.
+ //
+ // InputStorageLocation is a required field
+ InputStorageLocation *StorageLocation `type:"structure" required:"true"`
+
+ // The location in Amazon S3 for the output logs.
+ LogsStorageLocation *StorageLocation `type:"structure"`
+
+ // A name for the AFI.
+ Name *string `type:"string"`
+}
+
+// String returns the string representation
+func (s CreateFpgaImageInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFpgaImageInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateFpgaImageInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
+ if s.InputStorageLocation == nil {
+ invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetClientToken sets the ClientToken field's value.
+func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
+ s.ClientToken = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
+ s.Description = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetInputStorageLocation sets the InputStorageLocation field's value.
+func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
+ s.InputStorageLocation = v
+ return s
+}
+
+// SetLogsStorageLocation sets the LogsStorageLocation field's value.
+func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
+ s.LogsStorageLocation = v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
+ s.Name = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageResult
+type CreateFpgaImageOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The global FPGA image identifier (AGFI ID).
+ FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
+
+ // The FPGA image identifier (AFI ID).
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+}
+
+// String returns the string representation
+func (s CreateFpgaImageOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateFpgaImageOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
+func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
+ s.FpgaImageGlobalId = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
+ s.FpgaImageId = &v
+ return s
+}
+
// Contains the parameters for CreateImage.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageRequest
type CreateImageInput struct {
@@ -20888,6 +25076,115 @@ func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface)
return s
}
+// Contains the parameters for CreateNetworkInterfacePermission.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionRequest
+type CreateNetworkInterfacePermissionInput struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID.
+ AwsAccountId *string `type:"string"`
+
+ // The AWS service. Currently not supported.
+ AwsService *string `type:"string"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // The ID of the network interface.
+ //
+ // NetworkInterfaceId is a required field
+ NetworkInterfaceId *string `type:"string" required:"true"`
+
+ // The type of permission to grant.
+ //
+ // Permission is a required field
+ Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfacePermissionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfacePermissionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *CreateNetworkInterfacePermissionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
+ if s.NetworkInterfaceId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
+ }
+ if s.Permission == nil {
+ invalidParams.Add(request.NewErrParamRequired("Permission"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetAwsAccountId sets the AwsAccountId field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
+ s.AwsAccountId = &v
+ return s
+}
+
+// SetAwsService sets the AwsService field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
+ s.AwsService = &v
+ return s
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
+ s.Permission = &v
+ return s
+}
+
+// Contains the output of CreateNetworkInterfacePermission.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionResult
+type CreateNetworkInterfacePermissionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the permission for the network interface.
+ InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
+}
+
+// String returns the string representation
+func (s CreateNetworkInterfacePermissionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s CreateNetworkInterfacePermissionOutput) GoString() string {
+ return s.String()
+}
+
+// SetInterfacePermission sets the InterfacePermission field's value.
+func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
+ s.InterfacePermission = v
+ return s
+}
+
// Contains the parameters for CreatePlacementGroup.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupRequest
type CreatePlacementGroupInput struct {
@@ -21824,6 +26121,9 @@ type CreateVolumeInput struct {
// The snapshot from which to create the volume.
SnapshotId *string `type:"string"`
+ // The tags to apply to the volume during creation.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
// for Magnetic volumes.
@@ -21897,6 +26197,12 @@ func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
return s
}
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
+ s.TagSpecifications = v
+ return s
+}
+
// SetVolumeType sets the VolumeType field's value.
func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
s.VolumeType = &v
@@ -23343,6 +27649,93 @@ func (s DeleteNetworkInterfaceOutput) GoString() string {
return s.String()
}
+// Contains the parameters for DeleteNetworkInterfacePermission.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionRequest
+type DeleteNetworkInterfacePermissionInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // Specify true to remove the permission even if the network interface is attached
+ // to an instance.
+ Force *bool `type:"boolean"`
+
+ // The ID of the network interface permission.
+ //
+ // NetworkInterfacePermissionId is a required field
+ NetworkInterfacePermissionId *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfacePermissionInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfacePermissionInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
+ if s.NetworkInterfacePermissionId == nil {
+ invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetForce sets the Force field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
+ s.Force = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
+func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
+ s.NetworkInterfacePermissionId = &v
+ return s
+}
+
+// Contains the output for DeleteNetworkInterfacePermission.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionResult
+type DeleteNetworkInterfacePermissionOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Returns true if the request succeeds, otherwise returns an error.
+ Return *bool `locationName:"return" type:"boolean"`
+}
+
+// String returns the string representation
+func (s DeleteNetworkInterfacePermissionOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
+ return s.String()
+}
+
+// SetReturn sets the Return field's value.
+func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
+ s.Return = &v
+ return s
+}
+
// Contains the parameters for DeletePlacementGroup.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupRequest
type DeletePlacementGroupInput struct {
@@ -25258,6 +29651,126 @@ func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *Descr
return s
}
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusRequest
+type DescribeElasticGpusInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more Elastic GPU IDs.
+ ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
+
+ // One or more filters.
+ //
+ // * availability-zone - The Availability Zone in which the Elastic GPU resides.
+ //
+ // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).
+ //
+ // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED).
+ //
+ // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.
+ //
+ // * instance-id - The ID of the instance to which the Elastic GPU is associated.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. This
+ // value can be between 5 and 1000.
+ MaxResults *int64 `type:"integer"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeElasticGpusInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeElasticGpusInput) GoString() string {
+ return s.String()
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetElasticGpuIds sets the ElasticGpuIds field's value.
+func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
+ s.ElasticGpuIds = v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
+ s.NextToken = &v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult
+type DescribeElasticGpusOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about the Elastic GPUs.
+ ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" type:"list"`
+
+ // The total number of items to return. If the total number of items available
+ // is more than the value specified in max-items then a Next-Token will be provided
+ // in the output that you can use to resume pagination.
+ MaxResults *int64 `locationName:"maxResults" type:"integer"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeElasticGpusOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeElasticGpusOutput) GoString() string {
+ return s.String()
+}
+
+// SetElasticGpuSet sets the ElasticGpuSet field's value.
+func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
+ s.ElasticGpuSet = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
+ s.NextToken = &v
+ return s
+}
+
// Contains the parameters for DescribeExportTasks.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest
type DescribeExportTasksInput struct {
@@ -25409,6 +29922,164 @@ func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput
return s
}
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesRequest
+type DescribeFpgaImagesInput struct {
+ _ struct{} `type:"structure"`
+
+ // Checks whether you have the required permissions for the action, without
+ // actually making the request, and provides an error response. If you have
+ // the required permissions, the error response is DryRunOperation. Otherwise,
+ // it is UnauthorizedOperation.
+ DryRun *bool `type:"boolean"`
+
+ // One or more filters.
+ //
+ // * create-time - The creation time of the AFI.
+ //
+ // * fpga-image-id - The FPGA image identifier (AFI ID).
+ //
+ // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
+ //
+ // * name - The name of the AFI.
+ //
+ // * owner-id - The AWS account ID of the AFI owner.
+ //
+ // * product-code - The product code.
+ //
+ // * shell-version - The version of the AWS Shell that was used to create
+ // the bitstream.
+ //
+ // * state - The state of the AFI (pending | failed | available | unavailable).
+ //
+ // * tag:key=value - The key/value combination of a tag assigned to the resource.
+ // Specify the key of the tag in the filter name and the value of the tag
+ // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
+ // for the filter name and X for the filter value.
+ //
+ // * tag-key - The key of a tag assigned to the resource. This filter is
+ // independent of the tag-value filter. For example, if you use both the
+ // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
+ // assigned both the tag key Purpose (regardless of what the tag's value
+ // is), and the tag value X (regardless of what the tag's key is). If you
+ // want to list only resources where Purpose is X, see the tag:key=value
+ // filter.
+ //
+ // * tag-value - The value of a tag assigned to the resource. This filter
+ // is independent of the tag-key filter.
+ //
+ // * update-time - The time of the most recent update.
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // One or more AFI IDs.
+ FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
+
+ // The maximum number of results to return in a single call.
+ MaxResults *int64 `min:"5" type:"integer"`
+
+ // The token to retrieve the next page of results.
+ NextToken *string `min:"1" type:"string"`
+
+ // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
+ // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
+ Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
+}
+
+// String returns the string representation
+func (s DescribeFpgaImagesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImagesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *DescribeFpgaImagesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
+ if s.MaxResults != nil && *s.MaxResults < 5 {
+ invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
+ }
+ if s.NextToken != nil && len(*s.NextToken) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetDryRun sets the DryRun field's value.
+func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
+ s.DryRun = &v
+ return s
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
+ s.Filters = v
+ return s
+}
+
+// SetFpgaImageIds sets the FpgaImageIds field's value.
+func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
+ s.FpgaImageIds = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
+ s.NextToken = &v
+ return s
+}
+
+// SetOwners sets the Owners field's value.
+func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
+ s.Owners = v
+ return s
+}
+
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesResult
+type DescribeFpgaImagesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // Information about one or more FPGA images.
+ FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results. This value is null
+ // when there are no more results to return.
+ NextToken *string `locationName:"nextToken" min:"1" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeFpgaImagesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeFpgaImagesOutput) GoString() string {
+ return s.String()
+}
+
+// SetFpgaImages sets the FpgaImages field's value.
+func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
+ s.FpgaImages = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
+ s.NextToken = &v
+ return s
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsRequest
type DescribeHostReservationOfferingsInput struct {
_ struct{} `type:"structure"`
@@ -26891,18 +31562,6 @@ type DescribeInstancesInput struct {
//
// * architecture - The instance architecture (i386 | x86_64).
//
- // * association.public-ip - The address of the Elastic IP address (IPv4)
- // bound to the network interface.
- //
- // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
- // associated with the network interface.
- //
- // * association.allocation-id - The allocation ID returned when you allocated
- // the Elastic IP address (IPv4) for your network interface.
- //
- // * association.association-id - The association ID returned when the network
- // interface was associated with an IPv4 address.
- //
// * availability-zone - The Availability Zone of the instance.
//
// * block-device-mapping.attach-time - The attach time for an EBS volume
@@ -26988,6 +31647,18 @@ type DescribeInstancesInput struct {
// * network-interface.addresses.association.ip-owner-id - The owner ID of
// the private IPv4 address associated with the network interface.
//
+ // * network-interface.association.public-ip - The address of the Elastic
+ // IP address (IPv4) bound to the network interface.
+ //
+ // * network-interface.association.ip-owner-id - The owner of the Elastic
+ // IP address (IPv4) associated with the network interface.
+ //
+ // * network-interface.association.allocation-id - The allocation ID returned
+ // when you allocated the Elastic IP address (IPv4) for your network interface.
+ //
+ // * network-interface.association.association-id - The association ID returned
+ // when the network interface was associated with an IPv4 address.
+ //
// * network-interface.attachment.attachment-id - The ID of the interface
// attachment.
//
@@ -27729,7 +32400,7 @@ func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNet
type DescribeNetworkInterfaceAttributeInput struct {
_ struct{} `type:"structure"`
- // The attribute of the network interface.
+ // The attribute of the network interface. This parameter is required.
Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
// Checks whether you have the required permissions for the action, without
@@ -27846,6 +32517,107 @@ func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *Attribut
return s
}
+// Contains the parameters for DescribeNetworkInterfacePermissions.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsRequest
+type DescribeNetworkInterfacePermissionsInput struct {
+ _ struct{} `type:"structure"`
+
+ // One or more filters.
+ //
+ // * network-interface-permission.network-interface-permission-id - The ID
+ // of the permission.
+ //
+ // * network-interface-permission.network-interface-id - The ID of the network
+ // interface.
+ //
+ // * network-interface-permission.aws-account-id - The AWS account ID.
+ //
+ // * network-interface-permission.aws-service - The AWS service.
+ //
+ // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
+ // | EIP-ASSOCIATE).
+ Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
+
+ // The maximum number of results to return in a single call. To retrieve the
+ // remaining results, make another call with the returned NextToken value. If
+ // this parameter is not specified, up to 50 results are returned by default.
+ MaxResults *int64 `type:"integer"`
+
+ // One or more network interface permission IDs.
+ NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
+
+ // The token to request the next page of results.
+ NextToken *string `type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacePermissionsInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
+ return s.String()
+}
+
+// SetFilters sets the Filters field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
+ s.Filters = v
+ return s
+}
+
+// SetMaxResults sets the MaxResults field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
+ s.MaxResults = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
+ s.NetworkInterfacePermissionIds = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
+ s.NextToken = &v
+ return s
+}
+
+// Contains the output for DescribeNetworkInterfacePermissions.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsResult
+type DescribeNetworkInterfacePermissionsOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The network interface permissions.
+ NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
+
+ // The token to use to retrieve the next page of results.
+ NextToken *string `locationName:"nextToken" type:"string"`
+}
+
+// String returns the string representation
+func (s DescribeNetworkInterfacePermissionsOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
+ return s.String()
+}
+
+// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
+func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
+ s.NetworkInterfacePermissions = v
+ return s
+}
+
+// SetNextToken sets the NextToken field's value.
+func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
+ s.NextToken = &v
+ return s
+}
+
// Contains the parameters for DescribeNetworkInterfaces.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesRequest
type DescribeNetworkInterfacesInput struct {
@@ -28659,6 +33431,9 @@ type DescribeReservedInstancesOfferingsInput struct {
// with a tenancy of dedicated is applied to instances that run in a VPC on
// single-tenant hardware (i.e., Dedicated Instances).
//
+ // Important: The host value cannot be used with this parameter. Use the default
+ // or dedicated values only.
+ //
// Default: default
InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
@@ -28890,7 +33665,8 @@ type DescribeRouteTablesInput struct {
// * association.subnet-id - The ID of the subnet involved in the association.
//
// * association.main - Indicates whether the route table is the main route
- // table for the VPC (true | false).
+ // table for the VPC (true | false). Route tables that do not have an association
+ // ID are not returned in the response.
//
// * route-table-id - The ID of the route table.
//
@@ -29620,7 +34396,7 @@ type DescribeSnapshotsInput struct {
//
// * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
// | microsoft) of snapshot owners. Not to be confused with the user-configured
- // AWS account alias, which is set from the IAM consolew.
+ // AWS account alias, which is set from the IAM console.
//
// * owner-id - The ID of the AWS account that owns the snapshot.
//
@@ -30886,7 +35662,7 @@ func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
type DescribeVolumeAttributeInput struct {
_ struct{} `type:"structure"`
- // The instance attribute.
+ // The attribute of the volume. This parameter is required.
Attribute *string `type:"string" enum:"VolumeAttributeName"`
// Checks whether you have the required permissions for the action, without
@@ -33807,6 +38583,193 @@ func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *Eg
return s
}
+// Describes the association between an instance and an Elastic GPU.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuAssociation
+type ElasticGpuAssociation struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the association.
+ ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
+
+ // The state of the association between the instance and the Elastic GPU.
+ ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
+
+ // The time the Elastic GPU was associated with the instance.
+ ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
+
+ // The ID of the Elastic GPU.
+ ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
+}
+
+// String returns the string representation
+func (s ElasticGpuAssociation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuAssociation) GoString() string {
+ return s.String()
+}
+
+// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationId = &v
+ return s
+}
+
+// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationState = &v
+ return s
+}
+
+// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
+ s.ElasticGpuAssociationTime = &v
+ return s
+}
+
+// SetElasticGpuId sets the ElasticGpuId field's value.
+func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
+ s.ElasticGpuId = &v
+ return s
+}
+
+// Describes the status of an Elastic GPU.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuHealth
+type ElasticGpuHealth struct {
+ _ struct{} `type:"structure"`
+
+ // The health status.
+ Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
+}
+
+// String returns the string representation
+func (s ElasticGpuHealth) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuHealth) GoString() string {
+ return s.String()
+}
+
+// SetStatus sets the Status field's value.
+func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
+ s.Status = &v
+ return s
+}
+
+// A specification for an Elastic GPU.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuSpecification
+type ElasticGpuSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of Elastic GPU.
+ //
+ // Type is a required field
+ Type *string `type:"string" required:"true"`
+}
+
+// String returns the string representation
+func (s ElasticGpuSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpuSpecification) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *ElasticGpuSpecification) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
+ if s.Type == nil {
+ invalidParams.Add(request.NewErrParamRequired("Type"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetType sets the Type field's value.
+func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
+ s.Type = &v
+ return s
+}
+
+// Describes an Elastic GPU.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpus
+type ElasticGpus struct {
+ _ struct{} `type:"structure"`
+
+ // The Availability Zone in the which the Elastic GPU resides.
+ AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
+
+ // The status of the Elastic GPU.
+ ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
+
+ // The ID of the Elastic GPU.
+ ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
+
+ // The state of the Elastic GPU.
+ ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
+
+ // The type of Elastic GPU.
+ ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
+
+ // The ID of the instance to which the Elastic GPU is attached.
+ InstanceId *string `locationName:"instanceId" type:"string"`
+}
+
+// String returns the string representation
+func (s ElasticGpus) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s ElasticGpus) GoString() string {
+ return s.String()
+}
+
+// SetAvailabilityZone sets the AvailabilityZone field's value.
+func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
+ s.AvailabilityZone = &v
+ return s
+}
+
+// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
+func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
+ s.ElasticGpuHealth = v
+ return s
+}
+
+// SetElasticGpuId sets the ElasticGpuId field's value.
+func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
+ s.ElasticGpuId = &v
+ return s
+}
+
+// SetElasticGpuState sets the ElasticGpuState field's value.
+func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
+ s.ElasticGpuState = &v
+ return s
+}
+
+// SetElasticGpuType sets the ElasticGpuType field's value.
+func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
+ s.ElasticGpuType = &v
+ return s
+}
+
+// SetInstanceId sets the InstanceId field's value.
+func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
+ s.InstanceId = &v
+ return s
+}
+
// Contains the parameters for EnableVgwRoutePropagation.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest
type EnableVgwRoutePropagationInput struct {
@@ -34482,6 +39445,182 @@ func (s *FlowLog) SetTrafficType(v string) *FlowLog {
return s
}
+// Describes an Amazon FPGA image (AFI).
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImage
+type FpgaImage struct {
+ _ struct{} `type:"structure"`
+
+ // The date and time the AFI was created.
+ CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
+
+ // The description of the AFI.
+ Description *string `locationName:"description" type:"string"`
+
+ // The global FPGA image identifier (AGFI ID).
+ FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
+
+ // The FPGA image identifier (AFI ID).
+ FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
+
+ // The name of the AFI.
+ Name *string `locationName:"name" type:"string"`
+
+ // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
+ OwnerAlias *string `locationName:"ownerAlias" type:"string"`
+
+ // The AWS account ID of the AFI owner.
+ OwnerId *string `locationName:"ownerId" type:"string"`
+
+ // Information about the PCI bus.
+ PciId *PciId `locationName:"pciId" type:"structure"`
+
+ // The product codes for the AFI.
+ ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
+
+ // The version of the AWS Shell that was used to create the bitstream.
+ ShellVersion *string `locationName:"shellVersion" type:"string"`
+
+ // Information about the state of the AFI.
+ State *FpgaImageState `locationName:"state" type:"structure"`
+
+ // Any tags assigned to the AFI.
+ Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
+
+ // The time of the most recent update to the AFI.
+ UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
+}
+
+// String returns the string representation
+func (s FpgaImage) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FpgaImage) GoString() string {
+ return s.String()
+}
+
+// SetCreateTime sets the CreateTime field's value.
+func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
+ s.CreateTime = &v
+ return s
+}
+
+// SetDescription sets the Description field's value.
+func (s *FpgaImage) SetDescription(v string) *FpgaImage {
+ s.Description = &v
+ return s
+}
+
+// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
+func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
+ s.FpgaImageGlobalId = &v
+ return s
+}
+
+// SetFpgaImageId sets the FpgaImageId field's value.
+func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
+ s.FpgaImageId = &v
+ return s
+}
+
+// SetName sets the Name field's value.
+func (s *FpgaImage) SetName(v string) *FpgaImage {
+ s.Name = &v
+ return s
+}
+
+// SetOwnerAlias sets the OwnerAlias field's value.
+func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
+ s.OwnerAlias = &v
+ return s
+}
+
+// SetOwnerId sets the OwnerId field's value.
+func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
+ s.OwnerId = &v
+ return s
+}
+
+// SetPciId sets the PciId field's value.
+func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
+ s.PciId = v
+ return s
+}
+
+// SetProductCodes sets the ProductCodes field's value.
+func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
+ s.ProductCodes = v
+ return s
+}
+
+// SetShellVersion sets the ShellVersion field's value.
+func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
+ s.ShellVersion = &v
+ return s
+}
+
+// SetState sets the State field's value.
+func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
+ s.State = v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
+ s.Tags = v
+ return s
+}
+
+// SetUpdateTime sets the UpdateTime field's value.
+func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
+ s.UpdateTime = &v
+ return s
+}
+
+// Describes the state of the bitstream generation process for an Amazon FPGA
+// image (AFI).
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageState
+type FpgaImageState struct {
+ _ struct{} `type:"structure"`
+
+ // The state. The following are the possible values:
+ //
+ // * pending - AFI bitstream generation is in progress.
+ //
+ // * available - The AFI is available for use.
+ //
+ // * failed - AFI bitstream generation failed.
+ //
+ // * unavailable - The AFI is no longer available for use.
+ Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
+
+ // If the state is failed, this is the error message.
+ Message *string `locationName:"message" type:"string"`
+}
+
+// String returns the string representation
+func (s FpgaImageState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s FpgaImageState) GoString() string {
+ return s.String()
+}
+
+// SetCode sets the Code field's value.
+func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
+ s.Code = &v
+ return s
+}
+
+// SetMessage sets the Message field's value.
+func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
+ s.Message = &v
+ return s
+}
+
// Contains the parameters for GetConsoleOutput.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputRequest
type GetConsoleOutputInput struct {
@@ -37272,6 +42411,9 @@ type Instance struct {
// Optimized instance.
EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+ // The Elastic GPU associated with the instance.
+ ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
+
// Specifies whether enhanced networking with ENA is enabled.
EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
@@ -37429,6 +42571,12 @@ func (s *Instance) SetEbsOptimized(v bool) *Instance {
return s
}
+// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
+func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
+ s.ElasticGpuAssociations = v
+ return s
+}
+
// SetEnaSupport sets the EnaSupport field's value.
func (s *Instance) SetEnaSupport(v bool) *Instance {
s.EnaSupport = &v
@@ -39585,7 +44733,7 @@ type ModifyInstanceAttributeInput struct {
BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
// If the value is true, you can't terminate the instance using the Amazon EC2
- // console, CLI, or API; otherwise, you can. You cannot use this paramater for
+ // console, CLI, or API; otherwise, you can. You cannot use this parameter for
// Spot Instances.
DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
@@ -41888,6 +47036,110 @@ func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterface
return s
}
+// Describes a permission for a network interface.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermission
+type NetworkInterfacePermission struct {
+ _ struct{} `type:"structure"`
+
+ // The AWS account ID.
+ AwsAccountId *string `locationName:"awsAccountId" type:"string"`
+
+ // The AWS service.
+ AwsService *string `locationName:"awsService" type:"string"`
+
+ // The ID of the network interface.
+ NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
+
+ // The ID of the network interface permission.
+ NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
+
+ // The type of permission.
+ Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
+
+ // Information about the state of the permission.
+ PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePermission) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePermission) GoString() string {
+ return s.String()
+}
+
+// SetAwsAccountId sets the AwsAccountId field's value.
+func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
+ s.AwsAccountId = &v
+ return s
+}
+
+// SetAwsService sets the AwsService field's value.
+func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
+ s.AwsService = &v
+ return s
+}
+
+// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
+func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
+ s.NetworkInterfaceId = &v
+ return s
+}
+
+// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
+func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
+ s.NetworkInterfacePermissionId = &v
+ return s
+}
+
+// SetPermission sets the Permission field's value.
+func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
+ s.Permission = &v
+ return s
+}
+
+// SetPermissionState sets the PermissionState field's value.
+func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
+ s.PermissionState = v
+ return s
+}
+
+// Describes the state of a network interface permission.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermissionState
+type NetworkInterfacePermissionState struct {
+ _ struct{} `type:"structure"`
+
+ // The state of the permission.
+ State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
+
+ // A status message, if applicable.
+ StatusMessage *string `locationName:"statusMessage" type:"string"`
+}
+
+// String returns the string representation
+func (s NetworkInterfacePermissionState) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s NetworkInterfacePermissionState) GoString() string {
+ return s.String()
+}
+
+// SetState sets the State field's value.
+func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
+ s.State = &v
+ return s
+}
+
+// SetStatusMessage sets the StatusMessage field's value.
+func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
+ s.StatusMessage = &v
+ return s
+}
+
// Describes the private IPv4 address of a network interface.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePrivateIpAddress
type NetworkInterfacePrivateIpAddress struct {
@@ -41973,6 +47225,59 @@ func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
return s
}
+// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
+// bus.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PciId
+type PciId struct {
+ _ struct{} `type:"structure"`
+
+ // The ID of the device.
+ DeviceId *string `type:"string"`
+
+ // The ID of the subsystem.
+ SubsystemId *string `type:"string"`
+
+ // The ID of the vendor for the subsystem.
+ SubsystemVendorId *string `type:"string"`
+
+ // The ID of the vendor.
+ VendorId *string `type:"string"`
+}
+
+// String returns the string representation
+func (s PciId) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s PciId) GoString() string {
+ return s.String()
+}
+
+// SetDeviceId sets the DeviceId field's value.
+func (s *PciId) SetDeviceId(v string) *PciId {
+ s.DeviceId = &v
+ return s
+}
+
+// SetSubsystemId sets the SubsystemId field's value.
+func (s *PciId) SetSubsystemId(v string) *PciId {
+ s.SubsystemId = &v
+ return s
+}
+
+// SetSubsystemVendorId sets the SubsystemVendorId field's value.
+func (s *PciId) SetSubsystemVendorId(v string) *PciId {
+ s.SubsystemVendorId = &v
+ return s
+}
+
+// SetVendorId sets the VendorId field's value.
+func (s *PciId) SetVendorId(v string) *PciId {
+ s.VendorId = &v
+ return s
+}
+
// Describes the VPC peering connection options.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptions
type PeeringConnectionOptions struct {
@@ -42084,6 +47389,9 @@ type Placement struct {
// is not supported for the ImportInstance command.
HostId *string `locationName:"hostId" type:"string"`
+ // Reserved for future use.
+ SpreadDomain *string `locationName:"spreadDomain" type:"string"`
+
// The tenancy of the instance (if the instance is running in a VPC). An instance
// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
// is not supported for the ImportInstance command.
@@ -42124,6 +47432,12 @@ func (s *Placement) SetHostId(v string) *Placement {
return s
}
+// SetSpreadDomain sets the SpreadDomain field's value.
+func (s *Placement) SetSpreadDomain(v string) *Placement {
+ s.SpreadDomain = &v
+ return s
+}
+
// SetTenancy sets the Tenancy field's value.
func (s *Placement) SetTenancy(v string) *Placement {
s.Tenancy = &v
@@ -43245,7 +48559,9 @@ type RegisterImageInput struct {
// the architecture specified in the manifest file.
Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
- // The billing product codes.
+ // The billing product codes. Your account must be authorized to specify billing
+ // product codes. Otherwise, you can use the AWS Marketplace to bill for the
+ // use of an AMI.
BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
// One or more block device mapping entries.
@@ -44501,7 +49817,7 @@ type RequestSpotInstancesInput struct {
// Default: Instances are launched and terminated individually
LaunchGroup *string `locationName:"launchGroup" type:"string"`
- // Describes the launch specification for an instance.
+ // The launch specification.
LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
// The maximum hourly price (bid) for any Spot instance launched to fulfill
@@ -44690,7 +50006,9 @@ type RequestSpotLaunchSpecification struct {
// The name of the key pair.
KeyName *string `locationName:"keyName" type:"string"`
- // Describes the monitoring of an instance.
+ // Indicates whether basic or detailed monitoring is enabled for the instance.
+ //
+ // Default: Disabled
Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
// One or more network interfaces. If you specify a network interface, you must
@@ -44703,8 +50021,12 @@ type RequestSpotLaunchSpecification struct {
// The ID of the RAM disk.
RamdiskId *string `locationName:"ramdiskId" type:"string"`
+ // One or more security group IDs.
SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
+ // One or more security groups. When requesting instances in a VPC, you must
+ // specify the IDs of the security groups. When requesting instances in EC2-Classic,
+ // you can specify the names or the IDs of the security groups.
SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
// The ID of the subnet in which to launch the instance.
@@ -46683,6 +52005,9 @@ type RunInstancesInput struct {
// Default: false
EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
+ // An Elastic GPU to associate with the instance.
+ ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
+
// The IAM instance profile.
IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
@@ -46794,6 +52119,11 @@ type RunInstancesInput struct {
// [EC2-VPC] The ID of the subnet to launch the instance into.
SubnetId *string `type:"string"`
+ // The tags to apply to the resources during launch. You can tag instances and
+ // volumes. The specified tags are applied to all instances or volumes that
+ // are created during launch.
+ TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
+
// The user data to make available to the instance. For more information, see
// Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
// (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
@@ -46825,6 +52155,16 @@ func (s *RunInstancesInput) Validate() error {
if s.MinCount == nil {
invalidParams.Add(request.NewErrParamRequired("MinCount"))
}
+ if s.ElasticGpuSpecification != nil {
+ for i, v := range s.ElasticGpuSpecification {
+ if v == nil {
+ continue
+ }
+ if err := v.Validate(); err != nil {
+ invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
+ }
+ }
+ }
if s.Monitoring != nil {
if err := s.Monitoring.Validate(); err != nil {
invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
@@ -46883,6 +52223,12 @@ func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
return s
}
+// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
+func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
+ s.ElasticGpuSpecification = v
+ return s
+}
+
// SetIamInstanceProfile sets the IamInstanceProfile field's value.
func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
s.IamInstanceProfile = v
@@ -46991,6 +52337,12 @@ func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
return s
}
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
+ s.TagSpecifications = v
+ return s
+}
+
// SetUserData sets the UserData field's value.
func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
s.UserData = &v
@@ -49010,6 +54362,9 @@ type SpotFleetLaunchSpecification struct {
// subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
SubnetId *string `locationName:"subnetId" type:"string"`
+ // The tags to apply during creation.
+ TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
+
// The user data to make available to the instances. If you are using an AWS
// SDK or command line tool, Base64-encoding is performed for you, and you can
// load the text from a file. Otherwise, you must provide Base64-encoded text.
@@ -49145,6 +54500,12 @@ func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpe
return s
}
+// SetTagSpecifications sets the TagSpecifications field's value.
+func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
+ s.TagSpecifications = v
+ return s
+}
+
// SetUserData sets the UserData field's value.
func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
s.UserData = &v
@@ -49454,6 +54815,41 @@ func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetReques
return s
}
+// The tags for a Spot fleet resource.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetTagSpecification
+type SpotFleetTagSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource. Currently, the only resource type that is supported
+ // is instance.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tags.
+ Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s SpotFleetTagSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s SpotFleetTagSpecification) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
+ s.Tags = v
+ return s
+}
+
// Describes a Spot instance request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest
type SpotInstanceRequest struct {
@@ -50244,6 +55640,40 @@ func (s *Storage) SetS3(v *S3Storage) *Storage {
return s
}
+// Describes a storage location in Amazon S3.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StorageLocation
+type StorageLocation struct {
+ _ struct{} `type:"structure"`
+
+ // The name of the S3 bucket.
+ Bucket *string `type:"string"`
+
+ // The key.
+ Key *string `type:"string"`
+}
+
+// String returns the string representation
+func (s StorageLocation) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s StorageLocation) GoString() string {
+ return s.String()
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *StorageLocation) SetBucket(v string) *StorageLocation {
+ s.Bucket = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *StorageLocation) SetKey(v string) *StorageLocation {
+ s.Key = &v
+ return s
+}
+
// Describes a subnet.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Subnet
type Subnet struct {
@@ -50531,6 +55961,41 @@ func (s *TagDescription) SetValue(v string) *TagDescription {
return s
}
+// The tags to apply to a resource when the resource is being created.
+// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification
+type TagSpecification struct {
+ _ struct{} `type:"structure"`
+
+ // The type of resource to tag. Currently, the resource types that support tagging
+ // on creation are instance and volume.
+ ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
+
+ // The tags to apply to the resource.
+ Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
+}
+
+// String returns the string representation
+func (s TagSpecification) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation
+func (s TagSpecification) GoString() string {
+ return s.String()
+}
+
+// SetResourceType sets the ResourceType field's value.
+func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
+ s.ResourceType = &v
+ return s
+}
+
+// SetTags sets the Tags field's value.
+func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
+ s.Tags = v
+ return s
+}
+
// Information about the Convertible Reserved Instance offering.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfiguration
type TargetConfiguration struct {
@@ -52219,15 +57684,15 @@ func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState
type VpcPeeringConnection struct {
_ struct{} `type:"structure"`
- // Information about the accepter VPC. CIDR block information is not returned
- // when creating a VPC peering connection, or when describing a VPC peering
- // connection that's in the initiating-request or pending-acceptance state.
+ // Information about the accepter VPC. CIDR block information is only returned
+ // when describing an active VPC peering connection.
AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
// The time that an unaccepted VPC peering connection will expire.
ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
- // Information about the requester VPC.
+ // Information about the requester VPC. CIDR block information is only returned
+ // when describing an active VPC peering connection.
RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
// The status of the VPC peering connection.
@@ -52939,6 +58404,19 @@ const (
)
const (
+ // ElasticGpuStateAttached is a ElasticGpuState enum value
+ ElasticGpuStateAttached = "ATTACHED"
+)
+
+const (
+ // ElasticGpuStatusOk is a ElasticGpuStatus enum value
+ ElasticGpuStatusOk = "OK"
+
+ // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
+ ElasticGpuStatusImpaired = "IMPAIRED"
+)
+
+const (
// EventCodeInstanceReboot is a EventCode enum value
EventCodeInstanceReboot = "instance-reboot"
@@ -53019,6 +58497,20 @@ const (
)
const (
+ // FpgaImageStateCodePending is a FpgaImageStateCode enum value
+ FpgaImageStateCodePending = "pending"
+
+ // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
+ FpgaImageStateCodeFailed = "failed"
+
+ // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
+ FpgaImageStateCodeAvailable = "available"
+
+ // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
+ FpgaImageStateCodeUnavailable = "unavailable"
+)
+
+const (
// GatewayTypeIpsec1 is a GatewayType enum value
GatewayTypeIpsec1 = "ipsec.1"
)
@@ -53392,6 +58884,15 @@ const (
// InstanceTypeG28xlarge is a InstanceType enum value
InstanceTypeG28xlarge = "g2.8xlarge"
+ // InstanceTypeG34xlarge is a InstanceType enum value
+ InstanceTypeG34xlarge = "g3.4xlarge"
+
+ // InstanceTypeG38xlarge is a InstanceType enum value
+ InstanceTypeG38xlarge = "g3.8xlarge"
+
+ // InstanceTypeG316xlarge is a InstanceType enum value
+ InstanceTypeG316xlarge = "g3.16xlarge"
+
// InstanceTypeCg14xlarge is a InstanceType enum value
InstanceTypeCg14xlarge = "cg1.4xlarge"
@@ -53424,6 +58925,14 @@ const (
)
const (
+ // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
+ InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
+
+ // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
+ InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
+)
+
+const (
// ListingStateAvailable is a ListingState enum value
ListingStateAvailable = "available"
@@ -53505,6 +59014,20 @@ const (
)
const (
+ // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodePending = "pending"
+
+ // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeGranted = "granted"
+
+ // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeRevoking = "revoking"
+
+ // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
+ NetworkInterfacePermissionStateCodeRevoked = "revoked"
+)
+
+const (
// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
NetworkInterfaceStatusAvailable = "available"
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go
new file mode 100644
index 00000000..54716778
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/doc.go
@@ -0,0 +1,31 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package ec2 provides the client and types for making API
+// requests to Amazon Elastic Compute Cloud.
+//
+// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
+// in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your
+// need to invest in hardware up front, so you can develop and deploy applications
+// faster.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15 for more information on this service.
+//
+// See ec2 package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/
+//
+// Using the Client
+//
+// To Amazon Elastic Compute Cloud with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the Amazon Elastic Compute Cloud client EC2 for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ec2/#New
+package ec2
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go
index f90fa6ec..3d61d7e3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/errors.go
@@ -1,3 +1,3 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ec2
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go
index c289b5b0..ba4433d3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ec2
@@ -11,13 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/ec2query"
)
-// Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity
-// in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your
-// need to invest in hardware up front, so you can develop and deploy applications
-// faster.
-// The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
-// Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15
+// EC2 provides the API operation methods for making requests to
+// Amazon Elastic Compute Cloud. See this package's package overview docs
+// for details on the service.
+//
+// EC2 methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type EC2 struct {
*client.Client
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go
index 7917cbda..6914a666 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ec2/waiters.go
@@ -1,1060 +1,1621 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ec2
import (
- "github.com/aws/aws-sdk-go/private/waiter"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
)
// WaitUntilBundleTaskComplete uses the Amazon EC2 API operation
// DescribeBundleTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilBundleTaskComplete(input *DescribeBundleTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeBundleTasks",
- Delay: 15,
+ return c.WaitUntilBundleTaskCompleteWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBundleTaskCompleteWithContext is an extended version of WaitUntilBundleTaskComplete.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilBundleTaskCompleteWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBundleTaskComplete",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "BundleTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "BundleTasks[].State",
Expected: "complete",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "BundleTasks[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "BundleTasks[].State",
Expected: "failed",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeBundleTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeBundleTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilConversionTaskCancelled uses the Amazon EC2 API operation
// DescribeConversionTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilConversionTaskCancelled(input *DescribeConversionTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeConversionTasks",
- Delay: 15,
+ return c.WaitUntilConversionTaskCancelledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskCancelledWithContext is an extended version of WaitUntilConversionTaskCancelled.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilConversionTaskCancelledWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskCancelled",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "ConversionTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
Expected: "cancelled",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilConversionTaskCompleted uses the Amazon EC2 API operation
// DescribeConversionTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilConversionTaskCompleted(input *DescribeConversionTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeConversionTasks",
- Delay: 15,
+ return c.WaitUntilConversionTaskCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskCompletedWithContext is an extended version of WaitUntilConversionTaskCompleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilConversionTaskCompletedWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskCompleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "ConversionTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
Expected: "completed",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "ConversionTasks[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "ConversionTasks[].State",
Expected: "cancelled",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "ConversionTasks[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "ConversionTasks[].State",
Expected: "cancelling",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilConversionTaskDeleted uses the Amazon EC2 API operation
// DescribeConversionTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilConversionTaskDeleted(input *DescribeConversionTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeConversionTasks",
- Delay: 15,
+ return c.WaitUntilConversionTaskDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilConversionTaskDeletedWithContext is an extended version of WaitUntilConversionTaskDeleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilConversionTaskDeletedWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilConversionTaskDeleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "ConversionTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ConversionTasks[].State",
Expected: "deleted",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeConversionTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeConversionTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilCustomerGatewayAvailable uses the Amazon EC2 API operation
// DescribeCustomerGateways to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilCustomerGatewayAvailable(input *DescribeCustomerGatewaysInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeCustomerGateways",
- Delay: 15,
+ return c.WaitUntilCustomerGatewayAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilCustomerGatewayAvailableWithContext is an extended version of WaitUntilCustomerGatewayAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilCustomerGatewayAvailableWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilCustomerGatewayAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "CustomerGateways[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "CustomerGateways[].State",
Expected: "available",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "CustomerGateways[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "CustomerGateways[].State",
Expected: "deleted",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "CustomerGateways[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "CustomerGateways[].State",
Expected: "deleting",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeCustomerGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeCustomerGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilExportTaskCancelled uses the Amazon EC2 API operation
// DescribeExportTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilExportTaskCancelled(input *DescribeExportTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeExportTasks",
- Delay: 15,
+ return c.WaitUntilExportTaskCancelledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilExportTaskCancelledWithContext is an extended version of WaitUntilExportTaskCancelled.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilExportTaskCancelledWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilExportTaskCancelled",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "ExportTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ExportTasks[].State",
Expected: "cancelled",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeExportTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeExportTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilExportTaskCompleted uses the Amazon EC2 API operation
// DescribeExportTasks to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilExportTaskCompleted(input *DescribeExportTasksInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeExportTasks",
- Delay: 15,
+ return c.WaitUntilExportTaskCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilExportTaskCompletedWithContext is an extended version of WaitUntilExportTaskCompleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilExportTaskCompletedWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilExportTaskCompleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "ExportTasks[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "ExportTasks[].State",
Expected: "completed",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeExportTasksInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeExportTasksRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilImageAvailable uses the Amazon EC2 API operation
// DescribeImages to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilImageAvailable(input *DescribeImagesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeImages",
- Delay: 15,
+ return c.WaitUntilImageAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilImageAvailableWithContext is an extended version of WaitUntilImageAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilImageAvailableWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilImageAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Images[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Images[].State",
Expected: "available",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Images[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Images[].State",
Expected: "failed",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilImageExists uses the Amazon EC2 API operation
// DescribeImages to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilImageExists(input *DescribeImagesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeImages",
- Delay: 15,
+ return c.WaitUntilImageExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilImageExistsWithContext is an extended version of WaitUntilImageExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilImageExistsWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilImageExists",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
- Argument: "length(Images[]) > `0`",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(Images[]) > `0`",
Expected: true,
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidAMIID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilInstanceExists uses the Amazon EC2 API operation
// DescribeInstances to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilInstanceExists(input *DescribeInstancesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstances",
- Delay: 5,
+ return c.WaitUntilInstanceExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceExistsWithContext is an extended version of WaitUntilInstanceExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilInstanceExistsWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceExists",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
- Argument: "length(Reservations[]) > `0`",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(Reservations[]) > `0`",
Expected: true,
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidInstanceID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilInstanceRunning uses the Amazon EC2 API operation
// DescribeInstances to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilInstanceRunning(input *DescribeInstancesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstances",
- Delay: 15,
+ return c.WaitUntilInstanceRunningWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceRunningWithContext is an extended version of WaitUntilInstanceRunning.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilInstanceRunningWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceRunning",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "running",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "shutting-down",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "terminated",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "stopping",
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidInstanceID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilInstanceStatusOk uses the Amazon EC2 API operation
// DescribeInstanceStatus to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilInstanceStatusOk(input *DescribeInstanceStatusInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstanceStatus",
- Delay: 15,
+ return c.WaitUntilInstanceStatusOkWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceStatusOkWithContext is an extended version of WaitUntilInstanceStatusOk.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilInstanceStatusOkWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceStatusOk",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "InstanceStatuses[].InstanceStatus.Status",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "InstanceStatuses[].InstanceStatus.Status",
Expected: "ok",
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidInstanceID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilInstanceStopped uses the Amazon EC2 API operation
// DescribeInstances to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilInstanceStopped(input *DescribeInstancesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstances",
- Delay: 15,
+ return c.WaitUntilInstanceStoppedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceStoppedWithContext is an extended version of WaitUntilInstanceStopped.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilInstanceStoppedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceStopped",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "stopped",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "pending",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "terminated",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilInstanceTerminated uses the Amazon EC2 API operation
// DescribeInstances to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstances",
- Delay: 15,
+ return c.WaitUntilInstanceTerminatedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilInstanceTerminated",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "terminated",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "pending",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Reservations[].Instances[].State.Name",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Reservations[].Instances[].State.Name",
Expected: "stopping",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstancesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstancesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilKeyPairExists uses the Amazon EC2 API operation
// DescribeKeyPairs to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilKeyPairExists(input *DescribeKeyPairsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeKeyPairs",
- Delay: 5,
+ return c.WaitUntilKeyPairExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilKeyPairExistsWithContext is an extended version of WaitUntilKeyPairExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilKeyPairExistsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilKeyPairExists",
MaxAttempts: 6,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
- Argument: "length(KeyPairs[].KeyName) > `0`",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(KeyPairs[].KeyName) > `0`",
Expected: true,
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidKeyPair.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeKeyPairsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeKeyPairsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilNatGatewayAvailable uses the Amazon EC2 API operation
// DescribeNatGateways to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilNatGatewayAvailable(input *DescribeNatGatewaysInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeNatGateways",
- Delay: 15,
+ return c.WaitUntilNatGatewayAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilNatGatewayAvailableWithContext is an extended version of WaitUntilNatGatewayAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilNatGatewayAvailableWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilNatGatewayAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "NatGateways[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "NatGateways[].State",
Expected: "available",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "NatGateways[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
Expected: "failed",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "NatGateways[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
Expected: "deleting",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "NatGateways[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "NatGateways[].State",
Expected: "deleted",
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "NatGatewayNotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeNatGatewaysInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNatGatewaysRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilNetworkInterfaceAvailable uses the Amazon EC2 API operation
// DescribeNetworkInterfaces to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilNetworkInterfaceAvailable(input *DescribeNetworkInterfacesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeNetworkInterfaces",
- Delay: 20,
+ return c.WaitUntilNetworkInterfaceAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilNetworkInterfaceAvailableWithContext is an extended version of WaitUntilNetworkInterfaceAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilNetworkInterfaceAvailableWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilNetworkInterfaceAvailable",
MaxAttempts: 10,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(20 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "NetworkInterfaces[].Status",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "NetworkInterfaces[].Status",
Expected: "available",
},
{
- State: "failure",
- Matcher: "error",
- Argument: "",
+ State: request.FailureWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidNetworkInterfaceID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeNetworkInterfacesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilPasswordDataAvailable uses the Amazon EC2 API operation
// GetPasswordData to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilPasswordDataAvailable(input *GetPasswordDataInput) error {
- waiterCfg := waiter.Config{
- Operation: "GetPasswordData",
- Delay: 15,
+ return c.WaitUntilPasswordDataAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilPasswordDataAvailableWithContext is an extended version of WaitUntilPasswordDataAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilPasswordDataAvailableWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilPasswordDataAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "path",
- Argument: "length(PasswordData) > `0`",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathWaiterMatch, Argument: "length(PasswordData) > `0`",
Expected: true,
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *GetPasswordDataInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.GetPasswordDataRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilSnapshotCompleted uses the Amazon EC2 API operation
// DescribeSnapshots to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilSnapshotCompleted(input *DescribeSnapshotsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeSnapshots",
- Delay: 15,
+ return c.WaitUntilSnapshotCompletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSnapshotCompletedWithContext is an extended version of WaitUntilSnapshotCompleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilSnapshotCompletedWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSnapshotCompleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Snapshots[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Snapshots[].State",
Expected: "completed",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSnapshotsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSnapshotsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilSpotInstanceRequestFulfilled uses the Amazon EC2 API operation
// DescribeSpotInstanceRequests to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilSpotInstanceRequestFulfilled(input *DescribeSpotInstanceRequestsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeSpotInstanceRequests",
- Delay: 15,
+ return c.WaitUntilSpotInstanceRequestFulfilledWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSpotInstanceRequestFulfilledWithContext is an extended version of WaitUntilSpotInstanceRequestFulfilled.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilSpotInstanceRequestFulfilledWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSpotInstanceRequestFulfilled",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "SpotInstanceRequests[].Status.Code",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
Expected: "fulfilled",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "SpotInstanceRequests[].Status.Code",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
Expected: "schedule-expired",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "SpotInstanceRequests[].Status.Code",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
Expected: "canceled-before-fulfillment",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "SpotInstanceRequests[].Status.Code",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
Expected: "bad-parameters",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "SpotInstanceRequests[].Status.Code",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "SpotInstanceRequests[].Status.Code",
Expected: "system-error",
},
+ {
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
+ Expected: "InvalidSpotInstanceRequestID.NotFound",
+ },
+ },
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSpotInstanceRequestsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
},
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilSubnetAvailable uses the Amazon EC2 API operation
// DescribeSubnets to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilSubnetAvailable(input *DescribeSubnetsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeSubnets",
- Delay: 15,
+ return c.WaitUntilSubnetAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSubnetAvailableWithContext is an extended version of WaitUntilSubnetAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilSubnetAvailableWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSubnetAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Subnets[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Subnets[].State",
Expected: "available",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeSubnetsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeSubnetsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilSystemStatusOk uses the Amazon EC2 API operation
// DescribeInstanceStatus to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilSystemStatusOk(input *DescribeInstanceStatusInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeInstanceStatus",
- Delay: 15,
+ return c.WaitUntilSystemStatusOkWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilSystemStatusOkWithContext is an extended version of WaitUntilSystemStatusOk.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilSystemStatusOkWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilSystemStatusOk",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "InstanceStatuses[].SystemStatus.Status",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "InstanceStatuses[].SystemStatus.Status",
Expected: "ok",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeInstanceStatusInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeInstanceStatusRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVolumeAvailable uses the Amazon EC2 API operation
// DescribeVolumes to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVolumeAvailable(input *DescribeVolumesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVolumes",
- Delay: 15,
+ return c.WaitUntilVolumeAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeAvailableWithContext is an extended version of WaitUntilVolumeAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVolumeAvailableWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Volumes[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
Expected: "available",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Volumes[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Volumes[].State",
Expected: "deleted",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVolumeDeleted uses the Amazon EC2 API operation
// DescribeVolumes to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVolumeDeleted(input *DescribeVolumesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVolumes",
- Delay: 15,
+ return c.WaitUntilVolumeDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeDeletedWithContext is an extended version of WaitUntilVolumeDeleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVolumeDeletedWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeDeleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Volumes[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
Expected: "deleted",
},
{
- State: "success",
- Matcher: "error",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidVolume.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVolumeInUse uses the Amazon EC2 API operation
// DescribeVolumes to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVolumeInUse(input *DescribeVolumesInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVolumes",
- Delay: 15,
+ return c.WaitUntilVolumeInUseWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVolumeInUseWithContext is an extended version of WaitUntilVolumeInUse.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVolumeInUseWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVolumeInUse",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Volumes[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Volumes[].State",
Expected: "in-use",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "Volumes[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "Volumes[].State",
Expected: "deleted",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVolumesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVolumesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpcAvailable uses the Amazon EC2 API operation
// DescribeVpcs to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpcAvailable(input *DescribeVpcsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpcs",
- Delay: 15,
+ return c.WaitUntilVpcAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcAvailableWithContext is an extended version of WaitUntilVpcAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpcAvailableWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "Vpcs[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "Vpcs[].State",
Expected: "available",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpcExists uses the Amazon EC2 API operation
// DescribeVpcs to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpcExists(input *DescribeVpcsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpcs",
- Delay: 1,
+ return c.WaitUntilVpcExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcExistsWithContext is an extended version of WaitUntilVpcExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpcExistsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcExists",
MaxAttempts: 5,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(1 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 200,
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidVpcID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpcPeeringConnectionDeleted uses the Amazon EC2 API operation
// DescribeVpcPeeringConnections to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpcPeeringConnectionDeleted(input *DescribeVpcPeeringConnectionsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpcPeeringConnections",
- Delay: 15,
+ return c.WaitUntilVpcPeeringConnectionDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcPeeringConnectionDeletedWithContext is an extended version of WaitUntilVpcPeeringConnectionDeleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpcPeeringConnectionDeletedWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcPeeringConnectionDeleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "VpcPeeringConnections[].Status.Code",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpcPeeringConnections[].Status.Code",
Expected: "deleted",
},
{
- State: "success",
- Matcher: "error",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidVpcPeeringConnectionID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcPeeringConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpcPeeringConnectionExists uses the Amazon EC2 API operation
// DescribeVpcPeeringConnections to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpcPeeringConnectionExists(input *DescribeVpcPeeringConnectionsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpcPeeringConnections",
- Delay: 15,
+ return c.WaitUntilVpcPeeringConnectionExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpcPeeringConnectionExistsWithContext is an extended version of WaitUntilVpcPeeringConnectionExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpcPeeringConnectionExistsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpcPeeringConnectionExists",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 200,
},
{
- State: "retry",
- Matcher: "error",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.ErrorWaiterMatch,
Expected: "InvalidVpcPeeringConnectionID.NotFound",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpcPeeringConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpnConnectionAvailable uses the Amazon EC2 API operation
// DescribeVpnConnections to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpnConnectionAvailable(input *DescribeVpnConnectionsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpnConnections",
- Delay: 15,
+ return c.WaitUntilVpnConnectionAvailableWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpnConnectionAvailableWithContext is an extended version of WaitUntilVpnConnectionAvailable.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpnConnectionAvailableWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpnConnectionAvailable",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "VpnConnections[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpnConnections[].State",
Expected: "available",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "VpnConnections[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
Expected: "deleting",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "VpnConnections[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
Expected: "deleted",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpnConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpnConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilVpnConnectionDeleted uses the Amazon EC2 API operation
// DescribeVpnConnections to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *EC2) WaitUntilVpnConnectionDeleted(input *DescribeVpnConnectionsInput) error {
- waiterCfg := waiter.Config{
- Operation: "DescribeVpnConnections",
- Delay: 15,
+ return c.WaitUntilVpnConnectionDeletedWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilVpnConnectionDeletedWithContext is an extended version of WaitUntilVpnConnectionDeleted.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *EC2) WaitUntilVpnConnectionDeletedWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilVpnConnectionDeleted",
MaxAttempts: 40,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(15 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "pathAll",
- Argument: "VpnConnections[].State",
+ State: request.SuccessWaiterState,
+ Matcher: request.PathAllWaiterMatch, Argument: "VpnConnections[].State",
Expected: "deleted",
},
{
- State: "failure",
- Matcher: "pathAny",
- Argument: "VpnConnections[].State",
+ State: request.FailureWaiterState,
+ Matcher: request.PathAnyWaiterMatch, Argument: "VpnConnections[].State",
Expected: "pending",
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *DescribeVpnConnectionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeVpnConnectionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go
index fc46f514..f9136852 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go
@@ -1,11 +1,11 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package ecr provides a client for Amazon EC2 Container Registry.
package ecr
import (
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -14,19 +14,18 @@ const opBatchCheckLayerAvailability = "BatchCheckLayerAvailability"
// BatchCheckLayerAvailabilityRequest generates a "aws/request.Request" representing the
// client's request for the BatchCheckLayerAvailability operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See BatchCheckLayerAvailability for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the BatchCheckLayerAvailability method directly
-// instead.
+// See BatchCheckLayerAvailability for more information on using the BatchCheckLayerAvailability
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the BatchCheckLayerAvailabilityRequest method.
// req, resp := client.BatchCheckLayerAvailabilityRequest(params)
@@ -84,27 +83,41 @@ func (c *ECR) BatchCheckLayerAvailabilityRequest(input *BatchCheckLayerAvailabil
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchCheckLayerAvailability
func (c *ECR) BatchCheckLayerAvailability(input *BatchCheckLayerAvailabilityInput) (*BatchCheckLayerAvailabilityOutput, error) {
req, out := c.BatchCheckLayerAvailabilityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// BatchCheckLayerAvailabilityWithContext is the same as BatchCheckLayerAvailability with the addition of
+// the ability to pass a context and additional request options.
+//
+// See BatchCheckLayerAvailability for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) BatchCheckLayerAvailabilityWithContext(ctx aws.Context, input *BatchCheckLayerAvailabilityInput, opts ...request.Option) (*BatchCheckLayerAvailabilityOutput, error) {
+ req, out := c.BatchCheckLayerAvailabilityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opBatchDeleteImage = "BatchDeleteImage"
// BatchDeleteImageRequest generates a "aws/request.Request" representing the
// client's request for the BatchDeleteImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See BatchDeleteImage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the BatchDeleteImage method directly
-// instead.
+// See BatchDeleteImage for more information on using the BatchDeleteImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the BatchDeleteImageRequest method.
// req, resp := client.BatchDeleteImageRequest(params)
@@ -165,27 +178,41 @@ func (c *ECR) BatchDeleteImageRequest(input *BatchDeleteImageInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchDeleteImage
func (c *ECR) BatchDeleteImage(input *BatchDeleteImageInput) (*BatchDeleteImageOutput, error) {
req, out := c.BatchDeleteImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// BatchDeleteImageWithContext is the same as BatchDeleteImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See BatchDeleteImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) BatchDeleteImageWithContext(ctx aws.Context, input *BatchDeleteImageInput, opts ...request.Option) (*BatchDeleteImageOutput, error) {
+ req, out := c.BatchDeleteImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opBatchGetImage = "BatchGetImage"
// BatchGetImageRequest generates a "aws/request.Request" representing the
// client's request for the BatchGetImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See BatchGetImage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the BatchGetImage method directly
-// instead.
+// See BatchGetImage for more information on using the BatchGetImage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the BatchGetImageRequest method.
// req, resp := client.BatchGetImageRequest(params)
@@ -239,27 +266,41 @@ func (c *ECR) BatchGetImageRequest(input *BatchGetImageInput) (req *request.Requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/BatchGetImage
func (c *ECR) BatchGetImage(input *BatchGetImageInput) (*BatchGetImageOutput, error) {
req, out := c.BatchGetImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// BatchGetImageWithContext is the same as BatchGetImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See BatchGetImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) BatchGetImageWithContext(ctx aws.Context, input *BatchGetImageInput, opts ...request.Option) (*BatchGetImageOutput, error) {
+ req, out := c.BatchGetImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCompleteLayerUpload = "CompleteLayerUpload"
// CompleteLayerUploadRequest generates a "aws/request.Request" representing the
// client's request for the CompleteLayerUpload operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CompleteLayerUpload for usage and error information.
+// See CompleteLayerUpload for more information on using the CompleteLayerUpload
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CompleteLayerUpload method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CompleteLayerUploadRequest method.
// req, resp := client.CompleteLayerUploadRequest(params)
@@ -335,27 +376,41 @@ func (c *ECR) CompleteLayerUploadRequest(input *CompleteLayerUploadInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CompleteLayerUpload
func (c *ECR) CompleteLayerUpload(input *CompleteLayerUploadInput) (*CompleteLayerUploadOutput, error) {
req, out := c.CompleteLayerUploadRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CompleteLayerUploadWithContext is the same as CompleteLayerUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CompleteLayerUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) CompleteLayerUploadWithContext(ctx aws.Context, input *CompleteLayerUploadInput, opts ...request.Option) (*CompleteLayerUploadOutput, error) {
+ req, out := c.CompleteLayerUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateRepository = "CreateRepository"
// CreateRepositoryRequest generates a "aws/request.Request" representing the
// client's request for the CreateRepository operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateRepository for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateRepository method directly
-// instead.
+// See CreateRepository for more information on using the CreateRepository
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateRepositoryRequest method.
// req, resp := client.CreateRepositoryRequest(params)
@@ -413,27 +468,41 @@ func (c *ECR) CreateRepositoryRequest(input *CreateRepositoryInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/CreateRepository
func (c *ECR) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) {
req, out := c.CreateRepositoryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateRepositoryWithContext is the same as CreateRepository with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateRepository for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) CreateRepositoryWithContext(ctx aws.Context, input *CreateRepositoryInput, opts ...request.Option) (*CreateRepositoryOutput, error) {
+ req, out := c.CreateRepositoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteRepository = "DeleteRepository"
// DeleteRepositoryRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRepository operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteRepository for usage and error information.
+// See DeleteRepository for more information on using the DeleteRepository
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteRepository method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteRepositoryRequest method.
// req, resp := client.DeleteRepositoryRequest(params)
@@ -491,27 +560,41 @@ func (c *ECR) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *reques
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepository
func (c *ECR) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) {
req, out := c.DeleteRepositoryRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteRepositoryWithContext is the same as DeleteRepository with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteRepository for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DeleteRepositoryWithContext(ctx aws.Context, input *DeleteRepositoryInput, opts ...request.Option) (*DeleteRepositoryOutput, error) {
+ req, out := c.DeleteRepositoryRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteRepositoryPolicy = "DeleteRepositoryPolicy"
// DeleteRepositoryPolicyRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRepositoryPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteRepositoryPolicy for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteRepositoryPolicy method directly
-// instead.
+// See DeleteRepositoryPolicy for more information on using the DeleteRepositoryPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteRepositoryPolicyRequest method.
// req, resp := client.DeleteRepositoryPolicyRequest(params)
@@ -568,27 +651,41 @@ func (c *ECR) DeleteRepositoryPolicyRequest(input *DeleteRepositoryPolicyInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteRepositoryPolicy
func (c *ECR) DeleteRepositoryPolicy(input *DeleteRepositoryPolicyInput) (*DeleteRepositoryPolicyOutput, error) {
req, out := c.DeleteRepositoryPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteRepositoryPolicyWithContext is the same as DeleteRepositoryPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteRepositoryPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DeleteRepositoryPolicyWithContext(ctx aws.Context, input *DeleteRepositoryPolicyInput, opts ...request.Option) (*DeleteRepositoryPolicyOutput, error) {
+ req, out := c.DeleteRepositoryPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDescribeImages = "DescribeImages"
// DescribeImagesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeImages operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DescribeImages for usage and error information.
+// See DescribeImages for more information on using the DescribeImages
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeImages method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeImagesRequest method.
// req, resp := client.DescribeImagesRequest(params)
@@ -656,8 +753,23 @@ func (c *ECR) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeImages
func (c *ECR) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
req, out := c.DescribeImagesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeImagesWithContext is the same as DescribeImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
+ req, out := c.DescribeImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeImagesPages iterates over the pages of a DescribeImages operation,
@@ -677,31 +789,55 @@ func (c *ECR) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput,
// return pageNum <= 3
// })
//
-func (c *ECR) DescribeImagesPages(input *DescribeImagesInput, fn func(p *DescribeImagesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeImagesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeImagesOutput), lastPage)
- })
+func (c *ECR) DescribeImagesPages(input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool) error {
+ return c.DescribeImagesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeImagesPagesWithContext same as DescribeImagesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DescribeImagesPagesWithContext(ctx aws.Context, input *DescribeImagesInput, fn func(*DescribeImagesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeImagesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opDescribeRepositories = "DescribeRepositories"
// DescribeRepositoriesRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRepositories operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DescribeRepositories for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DescribeRepositories method directly
-// instead.
+// See DescribeRepositories for more information on using the DescribeRepositories
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DescribeRepositoriesRequest method.
// req, resp := client.DescribeRepositoriesRequest(params)
@@ -760,8 +896,23 @@ func (c *ECR) DescribeRepositoriesRequest(input *DescribeRepositoriesInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DescribeRepositories
func (c *ECR) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeRepositoriesOutput, error) {
req, out := c.DescribeRepositoriesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DescribeRepositoriesWithContext is the same as DescribeRepositories with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DescribeRepositories for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DescribeRepositoriesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, opts ...request.Option) (*DescribeRepositoriesOutput, error) {
+ req, out := c.DescribeRepositoriesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// DescribeRepositoriesPages iterates over the pages of a DescribeRepositories operation,
@@ -781,31 +932,55 @@ func (c *ECR) DescribeRepositories(input *DescribeRepositoriesInput) (*DescribeR
// return pageNum <= 3
// })
//
-func (c *ECR) DescribeRepositoriesPages(input *DescribeRepositoriesInput, fn func(p *DescribeRepositoriesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.DescribeRepositoriesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*DescribeRepositoriesOutput), lastPage)
- })
+func (c *ECR) DescribeRepositoriesPages(input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool) error {
+ return c.DescribeRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// DescribeRepositoriesPagesWithContext same as DescribeRepositoriesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) DescribeRepositoriesPagesWithContext(ctx aws.Context, input *DescribeRepositoriesInput, fn func(*DescribeRepositoriesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *DescribeRepositoriesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.DescribeRepositoriesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*DescribeRepositoriesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opGetAuthorizationToken = "GetAuthorizationToken"
// GetAuthorizationTokenRequest generates a "aws/request.Request" representing the
// client's request for the GetAuthorizationToken operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetAuthorizationToken for usage and error information.
+// See GetAuthorizationToken for more information on using the GetAuthorizationToken
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetAuthorizationToken method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetAuthorizationTokenRequest method.
// req, resp := client.GetAuthorizationTokenRequest(params)
@@ -861,27 +1036,41 @@ func (c *ECR) GetAuthorizationTokenRequest(input *GetAuthorizationTokenInput) (r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetAuthorizationToken
func (c *ECR) GetAuthorizationToken(input *GetAuthorizationTokenInput) (*GetAuthorizationTokenOutput, error) {
req, out := c.GetAuthorizationTokenRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetAuthorizationTokenWithContext is the same as GetAuthorizationToken with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetAuthorizationToken for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) GetAuthorizationTokenWithContext(ctx aws.Context, input *GetAuthorizationTokenInput, opts ...request.Option) (*GetAuthorizationTokenOutput, error) {
+ req, out := c.GetAuthorizationTokenRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetDownloadUrlForLayer = "GetDownloadUrlForLayer"
// GetDownloadUrlForLayerRequest generates a "aws/request.Request" representing the
// client's request for the GetDownloadUrlForLayer operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetDownloadUrlForLayer for usage and error information.
+// See GetDownloadUrlForLayer for more information on using the GetDownloadUrlForLayer
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetDownloadUrlForLayer method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetDownloadUrlForLayerRequest method.
// req, resp := client.GetDownloadUrlForLayerRequest(params)
@@ -947,27 +1136,41 @@ func (c *ECR) GetDownloadUrlForLayerRequest(input *GetDownloadUrlForLayerInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetDownloadUrlForLayer
func (c *ECR) GetDownloadUrlForLayer(input *GetDownloadUrlForLayerInput) (*GetDownloadUrlForLayerOutput, error) {
req, out := c.GetDownloadUrlForLayerRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetDownloadUrlForLayerWithContext is the same as GetDownloadUrlForLayer with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetDownloadUrlForLayer for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) GetDownloadUrlForLayerWithContext(ctx aws.Context, input *GetDownloadUrlForLayerInput, opts ...request.Option) (*GetDownloadUrlForLayerOutput, error) {
+ req, out := c.GetDownloadUrlForLayerRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetRepositoryPolicy = "GetRepositoryPolicy"
// GetRepositoryPolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetRepositoryPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetRepositoryPolicy for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetRepositoryPolicy method directly
-// instead.
+// See GetRepositoryPolicy for more information on using the GetRepositoryPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetRepositoryPolicyRequest method.
// req, resp := client.GetRepositoryPolicyRequest(params)
@@ -1024,27 +1227,41 @@ func (c *ECR) GetRepositoryPolicyRequest(input *GetRepositoryPolicyInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetRepositoryPolicy
func (c *ECR) GetRepositoryPolicy(input *GetRepositoryPolicyInput) (*GetRepositoryPolicyOutput, error) {
req, out := c.GetRepositoryPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetRepositoryPolicyWithContext is the same as GetRepositoryPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetRepositoryPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) GetRepositoryPolicyWithContext(ctx aws.Context, input *GetRepositoryPolicyInput, opts ...request.Option) (*GetRepositoryPolicyOutput, error) {
+ req, out := c.GetRepositoryPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opInitiateLayerUpload = "InitiateLayerUpload"
// InitiateLayerUploadRequest generates a "aws/request.Request" representing the
// client's request for the InitiateLayerUpload operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See InitiateLayerUpload for usage and error information.
+// See InitiateLayerUpload for more information on using the InitiateLayerUpload
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the InitiateLayerUpload method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the InitiateLayerUploadRequest method.
// req, resp := client.InitiateLayerUploadRequest(params)
@@ -1101,27 +1318,41 @@ func (c *ECR) InitiateLayerUploadRequest(input *InitiateLayerUploadInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/InitiateLayerUpload
func (c *ECR) InitiateLayerUpload(input *InitiateLayerUploadInput) (*InitiateLayerUploadOutput, error) {
req, out := c.InitiateLayerUploadRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// InitiateLayerUploadWithContext is the same as InitiateLayerUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See InitiateLayerUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) InitiateLayerUploadWithContext(ctx aws.Context, input *InitiateLayerUploadInput, opts ...request.Option) (*InitiateLayerUploadOutput, error) {
+ req, out := c.InitiateLayerUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListImages = "ListImages"
// ListImagesRequest generates a "aws/request.Request" representing the
// client's request for the ListImages operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ListImages for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListImages method directly
-// instead.
+// See ListImages for more information on using the ListImages
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListImagesRequest method.
// req, resp := client.ListImagesRequest(params)
@@ -1186,8 +1417,23 @@ func (c *ECR) ListImagesRequest(input *ListImagesInput) (req *request.Request, o
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/ListImages
func (c *ECR) ListImages(input *ListImagesInput) (*ListImagesOutput, error) {
req, out := c.ListImagesRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListImagesWithContext is the same as ListImages with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListImages for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) ListImagesWithContext(ctx aws.Context, input *ListImagesInput, opts ...request.Option) (*ListImagesOutput, error) {
+ req, out := c.ListImagesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListImagesPages iterates over the pages of a ListImages operation,
@@ -1207,31 +1453,55 @@ func (c *ECR) ListImages(input *ListImagesInput) (*ListImagesOutput, error) {
// return pageNum <= 3
// })
//
-func (c *ECR) ListImagesPages(input *ListImagesInput, fn func(p *ListImagesOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListImagesRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListImagesOutput), lastPage)
- })
+func (c *ECR) ListImagesPages(input *ListImagesInput, fn func(*ListImagesOutput, bool) bool) error {
+ return c.ListImagesPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListImagesPagesWithContext same as ListImagesPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) ListImagesPagesWithContext(ctx aws.Context, input *ListImagesInput, fn func(*ListImagesOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListImagesInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListImagesRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListImagesOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opPutImage = "PutImage"
// PutImageRequest generates a "aws/request.Request" representing the
// client's request for the PutImage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutImage for usage and error information.
+// See PutImage for more information on using the PutImage
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutImage method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutImageRequest method.
// req, resp := client.PutImageRequest(params)
@@ -1302,27 +1572,41 @@ func (c *ECR) PutImageRequest(input *PutImageInput) (req *request.Request, outpu
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutImage
func (c *ECR) PutImage(input *PutImageInput) (*PutImageOutput, error) {
req, out := c.PutImageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutImageWithContext is the same as PutImage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutImage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) PutImageWithContext(ctx aws.Context, input *PutImageInput, opts ...request.Option) (*PutImageOutput, error) {
+ req, out := c.PutImageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opSetRepositoryPolicy = "SetRepositoryPolicy"
// SetRepositoryPolicyRequest generates a "aws/request.Request" representing the
// client's request for the SetRepositoryPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See SetRepositoryPolicy for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the SetRepositoryPolicy method directly
-// instead.
+// See SetRepositoryPolicy for more information on using the SetRepositoryPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the SetRepositoryPolicyRequest method.
// req, resp := client.SetRepositoryPolicyRequest(params)
@@ -1375,27 +1659,41 @@ func (c *ECR) SetRepositoryPolicyRequest(input *SetRepositoryPolicyInput) (req *
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/SetRepositoryPolicy
func (c *ECR) SetRepositoryPolicy(input *SetRepositoryPolicyInput) (*SetRepositoryPolicyOutput, error) {
req, out := c.SetRepositoryPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// SetRepositoryPolicyWithContext is the same as SetRepositoryPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See SetRepositoryPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) SetRepositoryPolicyWithContext(ctx aws.Context, input *SetRepositoryPolicyInput, opts ...request.Option) (*SetRepositoryPolicyOutput, error) {
+ req, out := c.SetRepositoryPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUploadLayerPart = "UploadLayerPart"
// UploadLayerPartRequest generates a "aws/request.Request" representing the
// client's request for the UploadLayerPart operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See UploadLayerPart for usage and error information.
+// See UploadLayerPart for more information on using the UploadLayerPart
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UploadLayerPart method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UploadLayerPartRequest method.
// req, resp := client.UploadLayerPartRequest(params)
@@ -1466,8 +1764,23 @@ func (c *ECR) UploadLayerPartRequest(input *UploadLayerPartInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/UploadLayerPart
func (c *ECR) UploadLayerPart(input *UploadLayerPartInput) (*UploadLayerPartOutput, error) {
req, out := c.UploadLayerPartRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UploadLayerPartWithContext is the same as UploadLayerPart with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UploadLayerPart for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *ECR) UploadLayerPartWithContext(ctx aws.Context, input *UploadLayerPartInput, opts ...request.Option) (*UploadLayerPartOutput, error) {
+ req, out := c.UploadLayerPartRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// An object representing authorization data for an Amazon ECR registry.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go
new file mode 100644
index 00000000..987aa72f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/doc.go
@@ -0,0 +1,33 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package ecr provides the client and types for making API
+// requests to Amazon EC2 Container Registry.
+//
+// Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry
+// service. Customers can use the familiar Docker CLI to push, pull, and manage
+// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon
+// ECR supports private Docker repositories with resource-based permissions
+// using AWS IAM so that specific users or Amazon EC2 instances can access repositories
+// and images. Developers can use the Docker CLI to author and manage images.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21 for more information on this service.
+//
+// See ecr package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ecr/
+//
+// Using the Client
+//
+// To Amazon EC2 Container Registry with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the Amazon EC2 Container Registry client ECR for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/ecr/#New
+package ecr
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go
index c51948bc..4399e6a2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/errors.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ecr
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go
index 2c7904b7..95de12e2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/ecr/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package ecr
@@ -11,15 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
)
-// Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry
-// service. Customers can use the familiar Docker CLI to push, pull, and manage
-// images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon
-// ECR supports private Docker repositories with resource-based permissions
-// using AWS IAM so that specific users or Amazon EC2 instances can access repositories
-// and images. Developers can use the Docker CLI to author and manage images.
-// The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
-// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21
+// ECR provides the API operation methods for making requests to
+// Amazon EC2 Container Registry. See this package's package overview docs
+// for details on the service.
+//
+// ECR methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type ECR struct {
*client.Client
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
index 9b205f3f..e65ef266 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -1,6 +1,5 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package s3 provides a client for Amazon Simple Storage Service.
package s3
import (
@@ -8,6 +7,7 @@ import (
"io"
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
@@ -18,19 +18,18 @@ const opAbortMultipartUpload = "AbortMultipartUpload"
// AbortMultipartUploadRequest generates a "aws/request.Request" representing the
// client's request for the AbortMultipartUpload operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AbortMultipartUpload for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AbortMultipartUpload method directly
-// instead.
+// See AbortMultipartUpload for more information on using the AbortMultipartUpload
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AbortMultipartUploadRequest method.
// req, resp := client.AbortMultipartUploadRequest(params)
@@ -79,27 +78,41 @@ func (c *S3) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbortMultipartUpload
func (c *S3) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
req, out := c.AbortMultipartUploadRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AbortMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput, opts ...request.Option) (*AbortMultipartUploadOutput, error) {
+ req, out := c.AbortMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCompleteMultipartUpload = "CompleteMultipartUpload"
// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the
// client's request for the CompleteMultipartUpload operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CompleteMultipartUpload for usage and error information.
+// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CompleteMultipartUpload method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CompleteMultipartUploadRequest method.
// req, resp := client.CompleteMultipartUploadRequest(params)
@@ -139,27 +152,41 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CompleteMultipartUpload
func (c *S3) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*CompleteMultipartUploadOutput, error) {
req, out := c.CompleteMultipartUploadRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CompleteMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput, opts ...request.Option) (*CompleteMultipartUploadOutput, error) {
+ req, out := c.CompleteMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCopyObject = "CopyObject"
// CopyObjectRequest generates a "aws/request.Request" representing the
// client's request for the CopyObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See CopyObject for usage and error information.
+// See CopyObject for more information on using the CopyObject
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CopyObject method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CopyObjectRequest method.
// req, resp := client.CopyObjectRequest(params)
@@ -205,27 +232,41 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObject
func (c *S3) CopyObject(input *CopyObjectInput) (*CopyObjectOutput, error) {
req, out := c.CopyObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CopyObjectWithContext is the same as CopyObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CopyObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CopyObjectWithContext(ctx aws.Context, input *CopyObjectInput, opts ...request.Option) (*CopyObjectOutput, error) {
+ req, out := c.CopyObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateBucket = "CreateBucket"
// CreateBucketRequest generates a "aws/request.Request" representing the
// client's request for the CreateBucket operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateBucket for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateBucket method directly
-// instead.
+// See CreateBucket for more information on using the CreateBucket
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateBucketRequest method.
// req, resp := client.CreateBucketRequest(params)
@@ -273,27 +314,41 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucket
func (c *S3) CreateBucket(input *CreateBucketInput) (*CreateBucketOutput, error) {
req, out := c.CreateBucketRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateBucketWithContext is the same as CreateBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CreateBucketWithContext(ctx aws.Context, input *CreateBucketInput, opts ...request.Option) (*CreateBucketOutput, error) {
+ req, out := c.CreateBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opCreateMultipartUpload = "CreateMultipartUpload"
// CreateMultipartUploadRequest generates a "aws/request.Request" representing the
// client's request for the CreateMultipartUpload operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See CreateMultipartUpload for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the CreateMultipartUpload method directly
-// instead.
+// See CreateMultipartUpload for more information on using the CreateMultipartUpload
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the CreateMultipartUploadRequest method.
// req, resp := client.CreateMultipartUploadRequest(params)
@@ -339,27 +394,41 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUpload
func (c *S3) CreateMultipartUpload(input *CreateMultipartUploadInput) (*CreateMultipartUploadOutput, error) {
req, out := c.CreateMultipartUploadRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// CreateMultipartUploadWithContext is the same as CreateMultipartUpload with the addition of
+// the ability to pass a context and additional request options.
+//
+// See CreateMultipartUpload for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) CreateMultipartUploadWithContext(ctx aws.Context, input *CreateMultipartUploadInput, opts ...request.Option) (*CreateMultipartUploadOutput, error) {
+ req, out := c.CreateMultipartUploadRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucket = "DeleteBucket"
// DeleteBucketRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucket operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucket for usage and error information.
+// See DeleteBucket for more information on using the DeleteBucket
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucket method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketRequest method.
// req, resp := client.DeleteBucketRequest(params)
@@ -402,27 +471,41 @@ func (c *S3) DeleteBucketRequest(input *DeleteBucketInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucket
func (c *S3) DeleteBucket(input *DeleteBucketInput) (*DeleteBucketOutput, error) {
req, out := c.DeleteBucketRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketWithContext is the same as DeleteBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketWithContext(ctx aws.Context, input *DeleteBucketInput, opts ...request.Option) (*DeleteBucketOutput, error) {
+ req, out := c.DeleteBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketAnalyticsConfiguration = "DeleteBucketAnalyticsConfiguration"
// DeleteBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketAnalyticsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketAnalyticsConfiguration for usage and error information.
+// See DeleteBucketAnalyticsConfiguration for more information on using the DeleteBucketAnalyticsConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketAnalyticsConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketAnalyticsConfigurationRequest method.
// req, resp := client.DeleteBucketAnalyticsConfigurationRequest(params)
@@ -465,27 +548,41 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketAnalyticsConfiguration
func (c *S3) DeleteBucketAnalyticsConfiguration(input *DeleteBucketAnalyticsConfigurationInput) (*DeleteBucketAnalyticsConfigurationOutput, error) {
req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketAnalyticsConfigurationWithContext is the same as DeleteBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *DeleteBucketAnalyticsConfigurationInput, opts ...request.Option) (*DeleteBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.DeleteBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketCors = "DeleteBucketCors"
// DeleteBucketCorsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketCors operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteBucketCors for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketCors method directly
-// instead.
+// See DeleteBucketCors for more information on using the DeleteBucketCors
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketCorsRequest method.
// req, resp := client.DeleteBucketCorsRequest(params)
@@ -527,27 +624,41 @@ func (c *S3) DeleteBucketCorsRequest(input *DeleteBucketCorsInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCors
func (c *S3) DeleteBucketCors(input *DeleteBucketCorsInput) (*DeleteBucketCorsOutput, error) {
req, out := c.DeleteBucketCorsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketCorsWithContext is the same as DeleteBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketCorsWithContext(ctx aws.Context, input *DeleteBucketCorsInput, opts ...request.Option) (*DeleteBucketCorsOutput, error) {
+ req, out := c.DeleteBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketInventoryConfiguration = "DeleteBucketInventoryConfiguration"
// DeleteBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketInventoryConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketInventoryConfiguration for usage and error information.
+// See DeleteBucketInventoryConfiguration for more information on using the DeleteBucketInventoryConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketInventoryConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketInventoryConfigurationRequest method.
// req, resp := client.DeleteBucketInventoryConfigurationRequest(params)
@@ -590,27 +701,41 @@ func (c *S3) DeleteBucketInventoryConfigurationRequest(input *DeleteBucketInvent
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfiguration
func (c *S3) DeleteBucketInventoryConfiguration(input *DeleteBucketInventoryConfigurationInput) (*DeleteBucketInventoryConfigurationOutput, error) {
req, out := c.DeleteBucketInventoryConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketInventoryConfigurationWithContext is the same as DeleteBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketInventoryConfigurationWithContext(ctx aws.Context, input *DeleteBucketInventoryConfigurationInput, opts ...request.Option) (*DeleteBucketInventoryConfigurationOutput, error) {
+ req, out := c.DeleteBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketLifecycle = "DeleteBucketLifecycle"
// DeleteBucketLifecycleRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketLifecycle operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketLifecycle for usage and error information.
+// See DeleteBucketLifecycle for more information on using the DeleteBucketLifecycle
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketLifecycle method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketLifecycleRequest method.
// req, resp := client.DeleteBucketLifecycleRequest(params)
@@ -652,27 +777,41 @@ func (c *S3) DeleteBucketLifecycleRequest(input *DeleteBucketLifecycleInput) (re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycle
func (c *S3) DeleteBucketLifecycle(input *DeleteBucketLifecycleInput) (*DeleteBucketLifecycleOutput, error) {
req, out := c.DeleteBucketLifecycleRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketLifecycleWithContext is the same as DeleteBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketLifecycleWithContext(ctx aws.Context, input *DeleteBucketLifecycleInput, opts ...request.Option) (*DeleteBucketLifecycleOutput, error) {
+ req, out := c.DeleteBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketMetricsConfiguration = "DeleteBucketMetricsConfiguration"
// DeleteBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketMetricsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteBucketMetricsConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketMetricsConfiguration method directly
-// instead.
+// See DeleteBucketMetricsConfiguration for more information on using the DeleteBucketMetricsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketMetricsConfigurationRequest method.
// req, resp := client.DeleteBucketMetricsConfigurationRequest(params)
@@ -715,27 +854,41 @@ func (c *S3) DeleteBucketMetricsConfigurationRequest(input *DeleteBucketMetricsC
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketMetricsConfiguration
func (c *S3) DeleteBucketMetricsConfiguration(input *DeleteBucketMetricsConfigurationInput) (*DeleteBucketMetricsConfigurationOutput, error) {
req, out := c.DeleteBucketMetricsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketMetricsConfigurationWithContext is the same as DeleteBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketMetricsConfigurationWithContext(ctx aws.Context, input *DeleteBucketMetricsConfigurationInput, opts ...request.Option) (*DeleteBucketMetricsConfigurationOutput, error) {
+ req, out := c.DeleteBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketPolicy = "DeleteBucketPolicy"
// DeleteBucketPolicyRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketPolicy for usage and error information.
+// See DeleteBucketPolicy for more information on using the DeleteBucketPolicy
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketPolicy method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketPolicyRequest method.
// req, resp := client.DeleteBucketPolicyRequest(params)
@@ -777,27 +930,41 @@ func (c *S3) DeleteBucketPolicyRequest(input *DeleteBucketPolicyInput) (req *req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicy
func (c *S3) DeleteBucketPolicy(input *DeleteBucketPolicyInput) (*DeleteBucketPolicyOutput, error) {
req, out := c.DeleteBucketPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketPolicyWithContext is the same as DeleteBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketPolicyWithContext(ctx aws.Context, input *DeleteBucketPolicyInput, opts ...request.Option) (*DeleteBucketPolicyOutput, error) {
+ req, out := c.DeleteBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketReplication = "DeleteBucketReplication"
// DeleteBucketReplicationRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketReplication operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketReplication for usage and error information.
+// See DeleteBucketReplication for more information on using the DeleteBucketReplication
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketReplication method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketReplicationRequest method.
// req, resp := client.DeleteBucketReplicationRequest(params)
@@ -839,27 +1006,41 @@ func (c *S3) DeleteBucketReplicationRequest(input *DeleteBucketReplicationInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplication
func (c *S3) DeleteBucketReplication(input *DeleteBucketReplicationInput) (*DeleteBucketReplicationOutput, error) {
req, out := c.DeleteBucketReplicationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketReplicationWithContext is the same as DeleteBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketReplicationWithContext(ctx aws.Context, input *DeleteBucketReplicationInput, opts ...request.Option) (*DeleteBucketReplicationOutput, error) {
+ req, out := c.DeleteBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketTagging = "DeleteBucketTagging"
// DeleteBucketTaggingRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteBucketTagging for usage and error information.
+// See DeleteBucketTagging for more information on using the DeleteBucketTagging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketTagging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketTaggingRequest method.
// req, resp := client.DeleteBucketTaggingRequest(params)
@@ -901,27 +1082,41 @@ func (c *S3) DeleteBucketTaggingRequest(input *DeleteBucketTaggingInput) (req *r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTagging
func (c *S3) DeleteBucketTagging(input *DeleteBucketTaggingInput) (*DeleteBucketTaggingOutput, error) {
req, out := c.DeleteBucketTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketTaggingWithContext is the same as DeleteBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketTaggingWithContext(ctx aws.Context, input *DeleteBucketTaggingInput, opts ...request.Option) (*DeleteBucketTaggingOutput, error) {
+ req, out := c.DeleteBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteBucketWebsite = "DeleteBucketWebsite"
// DeleteBucketWebsiteRequest generates a "aws/request.Request" representing the
// client's request for the DeleteBucketWebsite operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteBucketWebsite for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteBucketWebsite method directly
-// instead.
+// See DeleteBucketWebsite for more information on using the DeleteBucketWebsite
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteBucketWebsiteRequest method.
// req, resp := client.DeleteBucketWebsiteRequest(params)
@@ -963,27 +1158,41 @@ func (c *S3) DeleteBucketWebsiteRequest(input *DeleteBucketWebsiteInput) (req *r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsite
func (c *S3) DeleteBucketWebsite(input *DeleteBucketWebsiteInput) (*DeleteBucketWebsiteOutput, error) {
req, out := c.DeleteBucketWebsiteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteBucketWebsiteWithContext is the same as DeleteBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteBucketWebsiteWithContext(ctx aws.Context, input *DeleteBucketWebsiteInput, opts ...request.Option) (*DeleteBucketWebsiteOutput, error) {
+ req, out := c.DeleteBucketWebsiteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteObject = "DeleteObject"
// DeleteObjectRequest generates a "aws/request.Request" representing the
// client's request for the DeleteObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DeleteObject for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteObject method directly
-// instead.
+// See DeleteObject for more information on using the DeleteObject
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteObjectRequest method.
// req, resp := client.DeleteObjectRequest(params)
@@ -1025,27 +1234,41 @@ func (c *S3) DeleteObjectRequest(input *DeleteObjectInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObject
func (c *S3) DeleteObject(input *DeleteObjectInput) (*DeleteObjectOutput, error) {
req, out := c.DeleteObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteObjectWithContext is the same as DeleteObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteObjectWithContext(ctx aws.Context, input *DeleteObjectInput, opts ...request.Option) (*DeleteObjectOutput, error) {
+ req, out := c.DeleteObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteObjectTagging = "DeleteObjectTagging"
// DeleteObjectTaggingRequest generates a "aws/request.Request" representing the
// client's request for the DeleteObjectTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteObjectTagging for usage and error information.
+// See DeleteObjectTagging for more information on using the DeleteObjectTagging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteObjectTagging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteObjectTaggingRequest method.
// req, resp := client.DeleteObjectTaggingRequest(params)
@@ -1085,27 +1308,41 @@ func (c *S3) DeleteObjectTaggingRequest(input *DeleteObjectTaggingInput) (req *r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectTagging
func (c *S3) DeleteObjectTagging(input *DeleteObjectTaggingInput) (*DeleteObjectTaggingOutput, error) {
req, out := c.DeleteObjectTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteObjectTaggingWithContext is the same as DeleteObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteObjectTaggingWithContext(ctx aws.Context, input *DeleteObjectTaggingInput, opts ...request.Option) (*DeleteObjectTaggingOutput, error) {
+ req, out := c.DeleteObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDeleteObjects = "DeleteObjects"
// DeleteObjectsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteObjects operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See DeleteObjects for usage and error information.
+// See DeleteObjects for more information on using the DeleteObjects
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DeleteObjects method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DeleteObjectsRequest method.
// req, resp := client.DeleteObjectsRequest(params)
@@ -1146,27 +1383,41 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjects
func (c *S3) DeleteObjects(input *DeleteObjectsInput) (*DeleteObjectsOutput, error) {
req, out := c.DeleteObjectsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DeleteObjectsWithContext is the same as DeleteObjects with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DeleteObjects for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) DeleteObjectsWithContext(ctx aws.Context, input *DeleteObjectsInput, opts ...request.Option) (*DeleteObjectsOutput, error) {
+ req, out := c.DeleteObjectsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketAccelerateConfiguration = "GetBucketAccelerateConfiguration"
// GetBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketAccelerateConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketAccelerateConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketAccelerateConfiguration method directly
-// instead.
+// See GetBucketAccelerateConfiguration for more information on using the GetBucketAccelerateConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketAccelerateConfigurationRequest method.
// req, resp := client.GetBucketAccelerateConfigurationRequest(params)
@@ -1206,27 +1457,41 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfiguration
func (c *S3) GetBucketAccelerateConfiguration(input *GetBucketAccelerateConfigurationInput) (*GetBucketAccelerateConfigurationOutput, error) {
req, out := c.GetBucketAccelerateConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketAccelerateConfigurationWithContext is the same as GetBucketAccelerateConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAccelerateConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAccelerateConfigurationWithContext(ctx aws.Context, input *GetBucketAccelerateConfigurationInput, opts ...request.Option) (*GetBucketAccelerateConfigurationOutput, error) {
+ req, out := c.GetBucketAccelerateConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketAcl = "GetBucketAcl"
// GetBucketAclRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketAcl for usage and error information.
+// See GetBucketAcl for more information on using the GetBucketAcl
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketAcl method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketAclRequest method.
// req, resp := client.GetBucketAclRequest(params)
@@ -1266,27 +1531,41 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAcl
func (c *S3) GetBucketAcl(input *GetBucketAclInput) (*GetBucketAclOutput, error) {
req, out := c.GetBucketAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketAclWithContext is the same as GetBucketAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAclWithContext(ctx aws.Context, input *GetBucketAclInput, opts ...request.Option) (*GetBucketAclOutput, error) {
+ req, out := c.GetBucketAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketAnalyticsConfiguration = "GetBucketAnalyticsConfiguration"
// GetBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketAnalyticsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketAnalyticsConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketAnalyticsConfiguration method directly
-// instead.
+// See GetBucketAnalyticsConfiguration for more information on using the GetBucketAnalyticsConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketAnalyticsConfigurationRequest method.
// req, resp := client.GetBucketAnalyticsConfigurationRequest(params)
@@ -1327,27 +1606,41 @@ func (c *S3) GetBucketAnalyticsConfigurationRequest(input *GetBucketAnalyticsCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAnalyticsConfiguration
func (c *S3) GetBucketAnalyticsConfiguration(input *GetBucketAnalyticsConfigurationInput) (*GetBucketAnalyticsConfigurationOutput, error) {
req, out := c.GetBucketAnalyticsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketAnalyticsConfigurationWithContext is the same as GetBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *GetBucketAnalyticsConfigurationInput, opts ...request.Option) (*GetBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.GetBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketCors = "GetBucketCors"
// GetBucketCorsRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketCors operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketCors for usage and error information.
+// See GetBucketCors for more information on using the GetBucketCors
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketCors method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketCorsRequest method.
// req, resp := client.GetBucketCorsRequest(params)
@@ -1387,27 +1680,41 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCors
func (c *S3) GetBucketCors(input *GetBucketCorsInput) (*GetBucketCorsOutput, error) {
req, out := c.GetBucketCorsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketCorsWithContext is the same as GetBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketCorsWithContext(ctx aws.Context, input *GetBucketCorsInput, opts ...request.Option) (*GetBucketCorsOutput, error) {
+ req, out := c.GetBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketInventoryConfiguration = "GetBucketInventoryConfiguration"
// GetBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketInventoryConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketInventoryConfiguration for usage and error information.
+// See GetBucketInventoryConfiguration for more information on using the GetBucketInventoryConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketInventoryConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketInventoryConfigurationRequest method.
// req, resp := client.GetBucketInventoryConfigurationRequest(params)
@@ -1448,27 +1755,41 @@ func (c *S3) GetBucketInventoryConfigurationRequest(input *GetBucketInventoryCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration
func (c *S3) GetBucketInventoryConfiguration(input *GetBucketInventoryConfigurationInput) (*GetBucketInventoryConfigurationOutput, error) {
req, out := c.GetBucketInventoryConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketInventoryConfigurationWithContext is the same as GetBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketInventoryConfigurationWithContext(ctx aws.Context, input *GetBucketInventoryConfigurationInput, opts ...request.Option) (*GetBucketInventoryConfigurationOutput, error) {
+ req, out := c.GetBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketLifecycle = "GetBucketLifecycle"
// GetBucketLifecycleRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketLifecycle operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketLifecycle for usage and error information.
+// See GetBucketLifecycle for more information on using the GetBucketLifecycle
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketLifecycle method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketLifecycleRequest method.
// req, resp := client.GetBucketLifecycleRequest(params)
@@ -1511,27 +1832,41 @@ func (c *S3) GetBucketLifecycleRequest(input *GetBucketLifecycleInput) (req *req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycle
func (c *S3) GetBucketLifecycle(input *GetBucketLifecycleInput) (*GetBucketLifecycleOutput, error) {
req, out := c.GetBucketLifecycleRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketLifecycleWithContext is the same as GetBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLifecycleWithContext(ctx aws.Context, input *GetBucketLifecycleInput, opts ...request.Option) (*GetBucketLifecycleOutput, error) {
+ req, out := c.GetBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketLifecycleConfiguration = "GetBucketLifecycleConfiguration"
// GetBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketLifecycleConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketLifecycleConfiguration for usage and error information.
+// See GetBucketLifecycleConfiguration for more information on using the GetBucketLifecycleConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketLifecycleConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketLifecycleConfigurationRequest method.
// req, resp := client.GetBucketLifecycleConfigurationRequest(params)
@@ -1571,27 +1906,41 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfiguration
func (c *S3) GetBucketLifecycleConfiguration(input *GetBucketLifecycleConfigurationInput) (*GetBucketLifecycleConfigurationOutput, error) {
req, out := c.GetBucketLifecycleConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketLifecycleConfigurationWithContext is the same as GetBucketLifecycleConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLifecycleConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLifecycleConfigurationWithContext(ctx aws.Context, input *GetBucketLifecycleConfigurationInput, opts ...request.Option) (*GetBucketLifecycleConfigurationOutput, error) {
+ req, out := c.GetBucketLifecycleConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketLocation = "GetBucketLocation"
// GetBucketLocationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketLocation operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketLocation for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketLocation method directly
-// instead.
+// See GetBucketLocation for more information on using the GetBucketLocation
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketLocationRequest method.
// req, resp := client.GetBucketLocationRequest(params)
@@ -1631,27 +1980,41 @@ func (c *S3) GetBucketLocationRequest(input *GetBucketLocationInput) (req *reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocation
func (c *S3) GetBucketLocation(input *GetBucketLocationInput) (*GetBucketLocationOutput, error) {
req, out := c.GetBucketLocationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketLocationWithContext is the same as GetBucketLocation with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLocation for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLocationWithContext(ctx aws.Context, input *GetBucketLocationInput, opts ...request.Option) (*GetBucketLocationOutput, error) {
+ req, out := c.GetBucketLocationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketLogging = "GetBucketLogging"
// GetBucketLoggingRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketLogging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketLogging for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketLogging method directly
-// instead.
+// See GetBucketLogging for more information on using the GetBucketLogging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketLoggingRequest method.
// req, resp := client.GetBucketLoggingRequest(params)
@@ -1692,27 +2055,41 @@ func (c *S3) GetBucketLoggingRequest(input *GetBucketLoggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLogging
func (c *S3) GetBucketLogging(input *GetBucketLoggingInput) (*GetBucketLoggingOutput, error) {
req, out := c.GetBucketLoggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketLoggingWithContext is the same as GetBucketLogging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketLogging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketLoggingWithContext(ctx aws.Context, input *GetBucketLoggingInput, opts ...request.Option) (*GetBucketLoggingOutput, error) {
+ req, out := c.GetBucketLoggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketMetricsConfiguration = "GetBucketMetricsConfiguration"
// GetBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketMetricsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketMetricsConfiguration for usage and error information.
+// See GetBucketMetricsConfiguration for more information on using the GetBucketMetricsConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketMetricsConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketMetricsConfigurationRequest method.
// req, resp := client.GetBucketMetricsConfigurationRequest(params)
@@ -1753,27 +2130,41 @@ func (c *S3) GetBucketMetricsConfigurationRequest(input *GetBucketMetricsConfigu
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration
func (c *S3) GetBucketMetricsConfiguration(input *GetBucketMetricsConfigurationInput) (*GetBucketMetricsConfigurationOutput, error) {
req, out := c.GetBucketMetricsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketMetricsConfigurationWithContext is the same as GetBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketMetricsConfigurationWithContext(ctx aws.Context, input *GetBucketMetricsConfigurationInput, opts ...request.Option) (*GetBucketMetricsConfigurationOutput, error) {
+ req, out := c.GetBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketNotification = "GetBucketNotification"
// GetBucketNotificationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketNotification operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketNotification for usage and error information.
+// See GetBucketNotification for more information on using the GetBucketNotification
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketNotification method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketNotificationRequest method.
// req, resp := client.GetBucketNotificationRequest(params)
@@ -1816,27 +2207,41 @@ func (c *S3) GetBucketNotificationRequest(input *GetBucketNotificationConfigurat
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotification
func (c *S3) GetBucketNotification(input *GetBucketNotificationConfigurationRequest) (*NotificationConfigurationDeprecated, error) {
req, out := c.GetBucketNotificationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketNotificationWithContext is the same as GetBucketNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketNotificationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfigurationDeprecated, error) {
+ req, out := c.GetBucketNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketNotificationConfiguration = "GetBucketNotificationConfiguration"
// GetBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketNotificationConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketNotificationConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketNotificationConfiguration method directly
-// instead.
+// See GetBucketNotificationConfiguration for more information on using the GetBucketNotificationConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketNotificationConfigurationRequest method.
// req, resp := client.GetBucketNotificationConfigurationRequest(params)
@@ -1876,27 +2281,41 @@ func (c *S3) GetBucketNotificationConfigurationRequest(input *GetBucketNotificat
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketNotificationConfiguration
func (c *S3) GetBucketNotificationConfiguration(input *GetBucketNotificationConfigurationRequest) (*NotificationConfiguration, error) {
req, out := c.GetBucketNotificationConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketNotificationConfigurationWithContext is the same as GetBucketNotificationConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketNotificationConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketNotificationConfigurationWithContext(ctx aws.Context, input *GetBucketNotificationConfigurationRequest, opts ...request.Option) (*NotificationConfiguration, error) {
+ req, out := c.GetBucketNotificationConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketPolicy = "GetBucketPolicy"
// GetBucketPolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketPolicy for usage and error information.
+// See GetBucketPolicy for more information on using the GetBucketPolicy
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketPolicy method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketPolicyRequest method.
// req, resp := client.GetBucketPolicyRequest(params)
@@ -1936,27 +2355,41 @@ func (c *S3) GetBucketPolicyRequest(input *GetBucketPolicyInput) (req *request.R
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicy
func (c *S3) GetBucketPolicy(input *GetBucketPolicyInput) (*GetBucketPolicyOutput, error) {
req, out := c.GetBucketPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketPolicyWithContext is the same as GetBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketPolicyWithContext(ctx aws.Context, input *GetBucketPolicyInput, opts ...request.Option) (*GetBucketPolicyOutput, error) {
+ req, out := c.GetBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketReplication = "GetBucketReplication"
// GetBucketReplicationRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketReplication operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketReplication for usage and error information.
+// See GetBucketReplication for more information on using the GetBucketReplication
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketReplication method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketReplicationRequest method.
// req, resp := client.GetBucketReplicationRequest(params)
@@ -1996,27 +2429,41 @@ func (c *S3) GetBucketReplicationRequest(input *GetBucketReplicationInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication
func (c *S3) GetBucketReplication(input *GetBucketReplicationInput) (*GetBucketReplicationOutput, error) {
req, out := c.GetBucketReplicationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketReplicationWithContext is the same as GetBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketReplicationWithContext(ctx aws.Context, input *GetBucketReplicationInput, opts ...request.Option) (*GetBucketReplicationOutput, error) {
+ req, out := c.GetBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketRequestPayment = "GetBucketRequestPayment"
// GetBucketRequestPaymentRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketRequestPayment operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketRequestPayment for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketRequestPayment method directly
-// instead.
+// See GetBucketRequestPayment for more information on using the GetBucketRequestPayment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketRequestPaymentRequest method.
// req, resp := client.GetBucketRequestPaymentRequest(params)
@@ -2056,27 +2503,41 @@ func (c *S3) GetBucketRequestPaymentRequest(input *GetBucketRequestPaymentInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPayment
func (c *S3) GetBucketRequestPayment(input *GetBucketRequestPaymentInput) (*GetBucketRequestPaymentOutput, error) {
req, out := c.GetBucketRequestPaymentRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketRequestPaymentWithContext is the same as GetBucketRequestPayment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketRequestPayment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketRequestPaymentWithContext(ctx aws.Context, input *GetBucketRequestPaymentInput, opts ...request.Option) (*GetBucketRequestPaymentOutput, error) {
+ req, out := c.GetBucketRequestPaymentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketTagging = "GetBucketTagging"
// GetBucketTaggingRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetBucketTagging for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketTagging method directly
-// instead.
+// See GetBucketTagging for more information on using the GetBucketTagging
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketTaggingRequest method.
// req, resp := client.GetBucketTaggingRequest(params)
@@ -2116,27 +2577,41 @@ func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTagging
func (c *S3) GetBucketTagging(input *GetBucketTaggingInput) (*GetBucketTaggingOutput, error) {
req, out := c.GetBucketTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketTaggingWithContext is the same as GetBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketTaggingWithContext(ctx aws.Context, input *GetBucketTaggingInput, opts ...request.Option) (*GetBucketTaggingOutput, error) {
+ req, out := c.GetBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketVersioning = "GetBucketVersioning"
// GetBucketVersioningRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketVersioning operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketVersioning for usage and error information.
+// See GetBucketVersioning for more information on using the GetBucketVersioning
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketVersioning method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketVersioningRequest method.
// req, resp := client.GetBucketVersioningRequest(params)
@@ -2176,27 +2651,41 @@ func (c *S3) GetBucketVersioningRequest(input *GetBucketVersioningInput) (req *r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioning
func (c *S3) GetBucketVersioning(input *GetBucketVersioningInput) (*GetBucketVersioningOutput, error) {
req, out := c.GetBucketVersioningRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketVersioningWithContext is the same as GetBucketVersioning with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketVersioning for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketVersioningWithContext(ctx aws.Context, input *GetBucketVersioningInput, opts ...request.Option) (*GetBucketVersioningOutput, error) {
+ req, out := c.GetBucketVersioningRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetBucketWebsite = "GetBucketWebsite"
// GetBucketWebsiteRequest generates a "aws/request.Request" representing the
// client's request for the GetBucketWebsite operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetBucketWebsite for usage and error information.
+// See GetBucketWebsite for more information on using the GetBucketWebsite
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetBucketWebsite method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetBucketWebsiteRequest method.
// req, resp := client.GetBucketWebsiteRequest(params)
@@ -2236,27 +2725,41 @@ func (c *S3) GetBucketWebsiteRequest(input *GetBucketWebsiteInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsite
func (c *S3) GetBucketWebsite(input *GetBucketWebsiteInput) (*GetBucketWebsiteOutput, error) {
req, out := c.GetBucketWebsiteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetBucketWebsiteWithContext is the same as GetBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetBucketWebsiteWithContext(ctx aws.Context, input *GetBucketWebsiteInput, opts ...request.Option) (*GetBucketWebsiteOutput, error) {
+ req, out := c.GetBucketWebsiteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetObject = "GetObject"
// GetObjectRequest generates a "aws/request.Request" representing the
// client's request for the GetObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetObject for usage and error information.
+// See GetObject for more information on using the GetObject
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetObject method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetObjectRequest method.
// req, resp := client.GetObjectRequest(params)
@@ -2301,27 +2804,41 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject
func (c *S3) GetObject(input *GetObjectInput) (*GetObjectOutput, error) {
req, out := c.GetObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetObjectWithContext is the same as GetObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectWithContext(ctx aws.Context, input *GetObjectInput, opts ...request.Option) (*GetObjectOutput, error) {
+ req, out := c.GetObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetObjectAcl = "GetObjectAcl"
// GetObjectAclRequest generates a "aws/request.Request" representing the
// client's request for the GetObjectAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See GetObjectAcl for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetObjectAcl method directly
-// instead.
+// See GetObjectAcl for more information on using the GetObjectAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetObjectAclRequest method.
// req, resp := client.GetObjectAclRequest(params)
@@ -2366,27 +2883,41 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAcl
func (c *S3) GetObjectAcl(input *GetObjectAclInput) (*GetObjectAclOutput, error) {
req, out := c.GetObjectAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetObjectAclWithContext is the same as GetObjectAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput, opts ...request.Option) (*GetObjectAclOutput, error) {
+ req, out := c.GetObjectAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetObjectTagging = "GetObjectTagging"
// GetObjectTaggingRequest generates a "aws/request.Request" representing the
// client's request for the GetObjectTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetObjectTagging for usage and error information.
+// See GetObjectTagging for more information on using the GetObjectTagging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetObjectTagging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetObjectTaggingRequest method.
// req, resp := client.GetObjectTaggingRequest(params)
@@ -2426,27 +2957,41 @@ func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTagging
func (c *S3) GetObjectTagging(input *GetObjectTaggingInput) (*GetObjectTaggingOutput, error) {
req, out := c.GetObjectTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetObjectTaggingWithContext is the same as GetObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectTaggingWithContext(ctx aws.Context, input *GetObjectTaggingInput, opts ...request.Option) (*GetObjectTaggingOutput, error) {
+ req, out := c.GetObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetObjectTorrent = "GetObjectTorrent"
// GetObjectTorrentRequest generates a "aws/request.Request" representing the
// client's request for the GetObjectTorrent operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetObjectTorrent for usage and error information.
+// See GetObjectTorrent for more information on using the GetObjectTorrent
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetObjectTorrent method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetObjectTorrentRequest method.
// req, resp := client.GetObjectTorrentRequest(params)
@@ -2486,27 +3031,41 @@ func (c *S3) GetObjectTorrentRequest(input *GetObjectTorrentInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectTorrent
func (c *S3) GetObjectTorrent(input *GetObjectTorrentInput) (*GetObjectTorrentOutput, error) {
req, out := c.GetObjectTorrentRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetObjectTorrentWithContext is the same as GetObjectTorrent with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectTorrent for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectTorrentWithContext(ctx aws.Context, input *GetObjectTorrentInput, opts ...request.Option) (*GetObjectTorrentOutput, error) {
+ req, out := c.GetObjectTorrentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opHeadBucket = "HeadBucket"
// HeadBucketRequest generates a "aws/request.Request" representing the
// client's request for the HeadBucket operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See HeadBucket for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the HeadBucket method directly
-// instead.
+// See HeadBucket for more information on using the HeadBucket
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the HeadBucketRequest method.
// req, resp := client.HeadBucketRequest(params)
@@ -2554,27 +3113,41 @@ func (c *S3) HeadBucketRequest(input *HeadBucketInput) (req *request.Request, ou
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucket
func (c *S3) HeadBucket(input *HeadBucketInput) (*HeadBucketOutput, error) {
req, out := c.HeadBucketRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// HeadBucketWithContext is the same as HeadBucket with the addition of
+// the ability to pass a context and additional request options.
+//
+// See HeadBucket for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) HeadBucketWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.Option) (*HeadBucketOutput, error) {
+ req, out := c.HeadBucketRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opHeadObject = "HeadObject"
// HeadObjectRequest generates a "aws/request.Request" representing the
// client's request for the HeadObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See HeadObject for usage and error information.
+// See HeadObject for more information on using the HeadObject
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the HeadObject method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the HeadObjectRequest method.
// req, resp := client.HeadObjectRequest(params)
@@ -2607,41 +3180,53 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou
// object itself. This operation is useful if you're only interested in an object's
// metadata. To use HEAD, you must have READ access to the object.
//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
+// for more information on returned errors.
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Simple Storage Service's
// API operation HeadObject for usage and error information.
-//
-// Returned Error Codes:
-// * ErrCodeNoSuchKey "NoSuchKey"
-// The specified key does not exist.
-//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject
func (c *S3) HeadObject(input *HeadObjectInput) (*HeadObjectOutput, error) {
req, out := c.HeadObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// HeadObjectWithContext is the same as HeadObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See HeadObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) HeadObjectWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.Option) (*HeadObjectOutput, error) {
+ req, out := c.HeadObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListBucketAnalyticsConfigurations = "ListBucketAnalyticsConfigurations"
// ListBucketAnalyticsConfigurationsRequest generates a "aws/request.Request" representing the
// client's request for the ListBucketAnalyticsConfigurations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ListBucketAnalyticsConfigurations for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListBucketAnalyticsConfigurations method directly
-// instead.
+// See ListBucketAnalyticsConfigurations for more information on using the ListBucketAnalyticsConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListBucketAnalyticsConfigurationsRequest method.
// req, resp := client.ListBucketAnalyticsConfigurationsRequest(params)
@@ -2681,27 +3266,41 @@ func (c *S3) ListBucketAnalyticsConfigurationsRequest(input *ListBucketAnalytics
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations
func (c *S3) ListBucketAnalyticsConfigurations(input *ListBucketAnalyticsConfigurationsInput) (*ListBucketAnalyticsConfigurationsOutput, error) {
req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListBucketAnalyticsConfigurationsWithContext is the same as ListBucketAnalyticsConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketAnalyticsConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketAnalyticsConfigurationsWithContext(ctx aws.Context, input *ListBucketAnalyticsConfigurationsInput, opts ...request.Option) (*ListBucketAnalyticsConfigurationsOutput, error) {
+ req, out := c.ListBucketAnalyticsConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListBucketInventoryConfigurations = "ListBucketInventoryConfigurations"
// ListBucketInventoryConfigurationsRequest generates a "aws/request.Request" representing the
// client's request for the ListBucketInventoryConfigurations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ListBucketInventoryConfigurations for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListBucketInventoryConfigurations method directly
-// instead.
+// See ListBucketInventoryConfigurations for more information on using the ListBucketInventoryConfigurations
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListBucketInventoryConfigurationsRequest method.
// req, resp := client.ListBucketInventoryConfigurationsRequest(params)
@@ -2741,27 +3340,41 @@ func (c *S3) ListBucketInventoryConfigurationsRequest(input *ListBucketInventory
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketInventoryConfigurations
func (c *S3) ListBucketInventoryConfigurations(input *ListBucketInventoryConfigurationsInput) (*ListBucketInventoryConfigurationsOutput, error) {
req, out := c.ListBucketInventoryConfigurationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListBucketInventoryConfigurationsWithContext is the same as ListBucketInventoryConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketInventoryConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketInventoryConfigurationsWithContext(ctx aws.Context, input *ListBucketInventoryConfigurationsInput, opts ...request.Option) (*ListBucketInventoryConfigurationsOutput, error) {
+ req, out := c.ListBucketInventoryConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListBucketMetricsConfigurations = "ListBucketMetricsConfigurations"
// ListBucketMetricsConfigurationsRequest generates a "aws/request.Request" representing the
// client's request for the ListBucketMetricsConfigurations operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListBucketMetricsConfigurations for usage and error information.
+// See ListBucketMetricsConfigurations for more information on using the ListBucketMetricsConfigurations
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListBucketMetricsConfigurations method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListBucketMetricsConfigurationsRequest method.
// req, resp := client.ListBucketMetricsConfigurationsRequest(params)
@@ -2801,27 +3414,41 @@ func (c *S3) ListBucketMetricsConfigurationsRequest(input *ListBucketMetricsConf
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations
func (c *S3) ListBucketMetricsConfigurations(input *ListBucketMetricsConfigurationsInput) (*ListBucketMetricsConfigurationsOutput, error) {
req, out := c.ListBucketMetricsConfigurationsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListBucketMetricsConfigurationsWithContext is the same as ListBucketMetricsConfigurations with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBucketMetricsConfigurations for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketMetricsConfigurationsWithContext(ctx aws.Context, input *ListBucketMetricsConfigurationsInput, opts ...request.Option) (*ListBucketMetricsConfigurationsOutput, error) {
+ req, out := c.ListBucketMetricsConfigurationsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListBuckets = "ListBuckets"
// ListBucketsRequest generates a "aws/request.Request" representing the
// client's request for the ListBuckets operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListBuckets for usage and error information.
+// See ListBuckets for more information on using the ListBuckets
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListBuckets method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListBucketsRequest method.
// req, resp := client.ListBucketsRequest(params)
@@ -2861,27 +3488,41 @@ func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBuckets
func (c *S3) ListBuckets(input *ListBucketsInput) (*ListBucketsOutput, error) {
req, out := c.ListBucketsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListBucketsWithContext is the same as ListBuckets with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListBuckets for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListBucketsWithContext(ctx aws.Context, input *ListBucketsInput, opts ...request.Option) (*ListBucketsOutput, error) {
+ req, out := c.ListBucketsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opListMultipartUploads = "ListMultipartUploads"
// ListMultipartUploadsRequest generates a "aws/request.Request" representing the
// client's request for the ListMultipartUploads operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListMultipartUploads for usage and error information.
+// See ListMultipartUploads for more information on using the ListMultipartUploads
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListMultipartUploads method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListMultipartUploadsRequest method.
// req, resp := client.ListMultipartUploadsRequest(params)
@@ -2927,8 +3568,23 @@ func (c *S3) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListMultipartUploads
func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
req, out := c.ListMultipartUploadsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListMultipartUploads for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) {
+ req, out := c.ListMultipartUploadsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation,
@@ -2948,31 +3604,55 @@ func (c *S3) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultip
// return pageNum <= 3
// })
//
-func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListMultipartUploadsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListMultipartUploadsOutput), lastPage)
- })
+func (c *S3) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error {
+ return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListMultipartUploadsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListMultipartUploadsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListObjectVersions = "ListObjectVersions"
// ListObjectVersionsRequest generates a "aws/request.Request" representing the
// client's request for the ListObjectVersions operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListObjectVersions for usage and error information.
+// See ListObjectVersions for more information on using the ListObjectVersions
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListObjectVersions method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListObjectVersionsRequest method.
// req, resp := client.ListObjectVersionsRequest(params)
@@ -3018,8 +3698,23 @@ func (c *S3) ListObjectVersionsRequest(input *ListObjectVersionsInput) (req *req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectVersions
func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVersionsOutput, error) {
req, out := c.ListObjectVersionsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListObjectVersionsWithContext is the same as ListObjectVersions with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjectVersions for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectVersionsWithContext(ctx aws.Context, input *ListObjectVersionsInput, opts ...request.Option) (*ListObjectVersionsOutput, error) {
+ req, out := c.ListObjectVersionsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListObjectVersionsPages iterates over the pages of a ListObjectVersions operation,
@@ -3039,31 +3734,55 @@ func (c *S3) ListObjectVersions(input *ListObjectVersionsInput) (*ListObjectVers
// return pageNum <= 3
// })
//
-func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(p *ListObjectVersionsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListObjectVersionsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListObjectVersionsOutput), lastPage)
- })
+func (c *S3) ListObjectVersionsPages(input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool) error {
+ return c.ListObjectVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectVersionsPagesWithContext same as ListObjectVersionsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectVersionsPagesWithContext(ctx aws.Context, input *ListObjectVersionsInput, fn func(*ListObjectVersionsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectVersionsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectVersionsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectVersionsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListObjects = "ListObjects"
// ListObjectsRequest generates a "aws/request.Request" representing the
// client's request for the ListObjects operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See ListObjects for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListObjects method directly
-// instead.
+// See ListObjects for more information on using the ListObjects
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListObjectsRequest method.
// req, resp := client.ListObjectsRequest(params)
@@ -3116,8 +3835,23 @@ func (c *S3) ListObjectsRequest(input *ListObjectsInput) (req *request.Request,
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjects
func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
req, out := c.ListObjectsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListObjectsWithContext is the same as ListObjects with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjects for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsWithContext(ctx aws.Context, input *ListObjectsInput, opts ...request.Option) (*ListObjectsOutput, error) {
+ req, out := c.ListObjectsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListObjectsPages iterates over the pages of a ListObjects operation,
@@ -3137,31 +3871,55 @@ func (c *S3) ListObjects(input *ListObjectsInput) (*ListObjectsOutput, error) {
// return pageNum <= 3
// })
//
-func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(p *ListObjectsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListObjectsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListObjectsOutput), lastPage)
- })
+func (c *S3) ListObjectsPages(input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool) error {
+ return c.ListObjectsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectsPagesWithContext same as ListObjectsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsPagesWithContext(ctx aws.Context, input *ListObjectsInput, fn func(*ListObjectsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListObjectsV2 = "ListObjectsV2"
// ListObjectsV2Request generates a "aws/request.Request" representing the
// client's request for the ListObjectsV2 operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListObjectsV2 for usage and error information.
+// See ListObjectsV2 for more information on using the ListObjectsV2
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListObjectsV2 method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListObjectsV2Request method.
// req, resp := client.ListObjectsV2Request(params)
@@ -3215,8 +3973,23 @@ func (c *S3) ListObjectsV2Request(input *ListObjectsV2Input) (req *request.Reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListObjectsV2
func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, error) {
req, out := c.ListObjectsV2Request(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListObjectsV2WithContext is the same as ListObjectsV2 with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListObjectsV2 for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsV2WithContext(ctx aws.Context, input *ListObjectsV2Input, opts ...request.Option) (*ListObjectsV2Output, error) {
+ req, out := c.ListObjectsV2Request(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListObjectsV2Pages iterates over the pages of a ListObjectsV2 operation,
@@ -3236,31 +4009,55 @@ func (c *S3) ListObjectsV2(input *ListObjectsV2Input) (*ListObjectsV2Output, err
// return pageNum <= 3
// })
//
-func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(p *ListObjectsV2Output, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListObjectsV2Request(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListObjectsV2Output), lastPage)
- })
+func (c *S3) ListObjectsV2Pages(input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool) error {
+ return c.ListObjectsV2PagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListObjectsV2PagesWithContext same as ListObjectsV2Pages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListObjectsV2PagesWithContext(ctx aws.Context, input *ListObjectsV2Input, fn func(*ListObjectsV2Output, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListObjectsV2Input
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListObjectsV2Request(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListObjectsV2Output), !p.HasNextPage())
+ }
+ return p.Err()
}
const opListParts = "ListParts"
// ListPartsRequest generates a "aws/request.Request" representing the
// client's request for the ListParts operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See ListParts for usage and error information.
+// See ListParts for more information on using the ListParts
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the ListParts method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the ListPartsRequest method.
// req, resp := client.ListPartsRequest(params)
@@ -3306,8 +4103,23 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts
func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
req, out := c.ListPartsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// ListPartsWithContext is the same as ListParts with the addition of
+// the ability to pass a context and additional request options.
+//
+// See ListParts for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) {
+ req, out := c.ListPartsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// ListPartsPages iterates over the pages of a ListParts operation,
@@ -3327,31 +4139,55 @@ func (c *S3) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
// return pageNum <= 3
// })
//
-func (c *S3) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListPartsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListPartsOutput), lastPage)
- })
+func (c *S3) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error {
+ return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn)
+}
+
+// ListPartsPagesWithContext same as ListPartsPages except
+// it takes a Context and allows setting request options on the pages.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error {
+ p := request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *ListPartsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.ListPartsRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
+ }
+
+ cont := true
+ for p.Next() && cont {
+ cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage())
+ }
+ return p.Err()
}
const opPutBucketAccelerateConfiguration = "PutBucketAccelerateConfiguration"
// PutBucketAccelerateConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketAccelerateConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketAccelerateConfiguration for usage and error information.
+// See PutBucketAccelerateConfiguration for more information on using the PutBucketAccelerateConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketAccelerateConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketAccelerateConfigurationRequest method.
// req, resp := client.PutBucketAccelerateConfigurationRequest(params)
@@ -3393,27 +4229,41 @@ func (c *S3) PutBucketAccelerateConfigurationRequest(input *PutBucketAccelerateC
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfiguration
func (c *S3) PutBucketAccelerateConfiguration(input *PutBucketAccelerateConfigurationInput) (*PutBucketAccelerateConfigurationOutput, error) {
req, out := c.PutBucketAccelerateConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketAccelerateConfigurationWithContext is the same as PutBucketAccelerateConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAccelerateConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAccelerateConfigurationWithContext(ctx aws.Context, input *PutBucketAccelerateConfigurationInput, opts ...request.Option) (*PutBucketAccelerateConfigurationOutput, error) {
+ req, out := c.PutBucketAccelerateConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketAcl = "PutBucketAcl"
// PutBucketAclRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketAcl for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketAcl method directly
-// instead.
+// See PutBucketAcl for more information on using the PutBucketAcl
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketAclRequest method.
// req, resp := client.PutBucketAclRequest(params)
@@ -3455,27 +4305,41 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAcl
func (c *S3) PutBucketAcl(input *PutBucketAclInput) (*PutBucketAclOutput, error) {
req, out := c.PutBucketAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketAclWithContext is the same as PutBucketAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAclWithContext(ctx aws.Context, input *PutBucketAclInput, opts ...request.Option) (*PutBucketAclOutput, error) {
+ req, out := c.PutBucketAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketAnalyticsConfiguration = "PutBucketAnalyticsConfiguration"
// PutBucketAnalyticsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketAnalyticsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketAnalyticsConfiguration for usage and error information.
+// See PutBucketAnalyticsConfiguration for more information on using the PutBucketAnalyticsConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketAnalyticsConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketAnalyticsConfigurationRequest method.
// req, resp := client.PutBucketAnalyticsConfigurationRequest(params)
@@ -3518,27 +4382,41 @@ func (c *S3) PutBucketAnalyticsConfigurationRequest(input *PutBucketAnalyticsCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAnalyticsConfiguration
func (c *S3) PutBucketAnalyticsConfiguration(input *PutBucketAnalyticsConfigurationInput) (*PutBucketAnalyticsConfigurationOutput, error) {
req, out := c.PutBucketAnalyticsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketAnalyticsConfigurationWithContext is the same as PutBucketAnalyticsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketAnalyticsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketAnalyticsConfigurationWithContext(ctx aws.Context, input *PutBucketAnalyticsConfigurationInput, opts ...request.Option) (*PutBucketAnalyticsConfigurationOutput, error) {
+ req, out := c.PutBucketAnalyticsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketCors = "PutBucketCors"
// PutBucketCorsRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketCors operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketCors for usage and error information.
+// See PutBucketCors for more information on using the PutBucketCors
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketCors method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketCorsRequest method.
// req, resp := client.PutBucketCorsRequest(params)
@@ -3580,27 +4458,41 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketCors
func (c *S3) PutBucketCors(input *PutBucketCorsInput) (*PutBucketCorsOutput, error) {
req, out := c.PutBucketCorsRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketCorsWithContext is the same as PutBucketCors with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketCors for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketCorsWithContext(ctx aws.Context, input *PutBucketCorsInput, opts ...request.Option) (*PutBucketCorsOutput, error) {
+ req, out := c.PutBucketCorsRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketInventoryConfiguration = "PutBucketInventoryConfiguration"
// PutBucketInventoryConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketInventoryConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketInventoryConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketInventoryConfiguration method directly
-// instead.
+// See PutBucketInventoryConfiguration for more information on using the PutBucketInventoryConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketInventoryConfigurationRequest method.
// req, resp := client.PutBucketInventoryConfigurationRequest(params)
@@ -3643,27 +4535,41 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketInventoryConfiguration
func (c *S3) PutBucketInventoryConfiguration(input *PutBucketInventoryConfigurationInput) (*PutBucketInventoryConfigurationOutput, error) {
req, out := c.PutBucketInventoryConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketInventoryConfigurationWithContext is the same as PutBucketInventoryConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketInventoryConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketInventoryConfigurationWithContext(ctx aws.Context, input *PutBucketInventoryConfigurationInput, opts ...request.Option) (*PutBucketInventoryConfigurationOutput, error) {
+ req, out := c.PutBucketInventoryConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketLifecycle = "PutBucketLifecycle"
// PutBucketLifecycleRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketLifecycle operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketLifecycle for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketLifecycle method directly
-// instead.
+// See PutBucketLifecycle for more information on using the PutBucketLifecycle
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketLifecycleRequest method.
// req, resp := client.PutBucketLifecycleRequest(params)
@@ -3708,27 +4614,41 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycle
func (c *S3) PutBucketLifecycle(input *PutBucketLifecycleInput) (*PutBucketLifecycleOutput, error) {
req, out := c.PutBucketLifecycleRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketLifecycleWithContext is the same as PutBucketLifecycle with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLifecycle for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLifecycleWithContext(ctx aws.Context, input *PutBucketLifecycleInput, opts ...request.Option) (*PutBucketLifecycleOutput, error) {
+ req, out := c.PutBucketLifecycleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketLifecycleConfiguration = "PutBucketLifecycleConfiguration"
// PutBucketLifecycleConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketLifecycleConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketLifecycleConfiguration for usage and error information.
+// See PutBucketLifecycleConfiguration for more information on using the PutBucketLifecycleConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketLifecycleConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketLifecycleConfigurationRequest method.
// req, resp := client.PutBucketLifecycleConfigurationRequest(params)
@@ -3771,27 +4691,41 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLifecycleConfiguration
func (c *S3) PutBucketLifecycleConfiguration(input *PutBucketLifecycleConfigurationInput) (*PutBucketLifecycleConfigurationOutput, error) {
req, out := c.PutBucketLifecycleConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketLifecycleConfigurationWithContext is the same as PutBucketLifecycleConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLifecycleConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLifecycleConfigurationWithContext(ctx aws.Context, input *PutBucketLifecycleConfigurationInput, opts ...request.Option) (*PutBucketLifecycleConfigurationOutput, error) {
+ req, out := c.PutBucketLifecycleConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketLogging = "PutBucketLogging"
// PutBucketLoggingRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketLogging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketLogging for usage and error information.
+// See PutBucketLogging for more information on using the PutBucketLogging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketLogging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketLoggingRequest method.
// req, resp := client.PutBucketLoggingRequest(params)
@@ -3835,27 +4769,41 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketLogging
func (c *S3) PutBucketLogging(input *PutBucketLoggingInput) (*PutBucketLoggingOutput, error) {
req, out := c.PutBucketLoggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketLoggingWithContext is the same as PutBucketLogging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketLogging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketLoggingWithContext(ctx aws.Context, input *PutBucketLoggingInput, opts ...request.Option) (*PutBucketLoggingOutput, error) {
+ req, out := c.PutBucketLoggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketMetricsConfiguration = "PutBucketMetricsConfiguration"
// PutBucketMetricsConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketMetricsConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketMetricsConfiguration for usage and error information.
+// See PutBucketMetricsConfiguration for more information on using the PutBucketMetricsConfiguration
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketMetricsConfiguration method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketMetricsConfigurationRequest method.
// req, resp := client.PutBucketMetricsConfigurationRequest(params)
@@ -3898,27 +4846,41 @@ func (c *S3) PutBucketMetricsConfigurationRequest(input *PutBucketMetricsConfigu
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketMetricsConfiguration
func (c *S3) PutBucketMetricsConfiguration(input *PutBucketMetricsConfigurationInput) (*PutBucketMetricsConfigurationOutput, error) {
req, out := c.PutBucketMetricsConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketMetricsConfigurationWithContext is the same as PutBucketMetricsConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketMetricsConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketMetricsConfigurationWithContext(ctx aws.Context, input *PutBucketMetricsConfigurationInput, opts ...request.Option) (*PutBucketMetricsConfigurationOutput, error) {
+ req, out := c.PutBucketMetricsConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketNotification = "PutBucketNotification"
// PutBucketNotificationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketNotification operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketNotification for usage and error information.
+// See PutBucketNotification for more information on using the PutBucketNotification
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketNotification method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketNotificationRequest method.
// req, resp := client.PutBucketNotificationRequest(params)
@@ -3963,27 +4925,41 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotification
func (c *S3) PutBucketNotification(input *PutBucketNotificationInput) (*PutBucketNotificationOutput, error) {
req, out := c.PutBucketNotificationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketNotificationWithContext is the same as PutBucketNotification with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketNotification for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketNotificationWithContext(ctx aws.Context, input *PutBucketNotificationInput, opts ...request.Option) (*PutBucketNotificationOutput, error) {
+ req, out := c.PutBucketNotificationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketNotificationConfiguration = "PutBucketNotificationConfiguration"
// PutBucketNotificationConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketNotificationConfiguration operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketNotificationConfiguration for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketNotificationConfiguration method directly
-// instead.
+// See PutBucketNotificationConfiguration for more information on using the PutBucketNotificationConfiguration
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketNotificationConfigurationRequest method.
// req, resp := client.PutBucketNotificationConfigurationRequest(params)
@@ -4025,27 +5001,41 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketNotificationConfiguration
func (c *S3) PutBucketNotificationConfiguration(input *PutBucketNotificationConfigurationInput) (*PutBucketNotificationConfigurationOutput, error) {
req, out := c.PutBucketNotificationConfigurationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketNotificationConfigurationWithContext is the same as PutBucketNotificationConfiguration with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketNotificationConfiguration for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketNotificationConfigurationWithContext(ctx aws.Context, input *PutBucketNotificationConfigurationInput, opts ...request.Option) (*PutBucketNotificationConfigurationOutput, error) {
+ req, out := c.PutBucketNotificationConfigurationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketPolicy = "PutBucketPolicy"
// PutBucketPolicyRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketPolicy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketPolicy for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketPolicy method directly
-// instead.
+// See PutBucketPolicy for more information on using the PutBucketPolicy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketPolicyRequest method.
// req, resp := client.PutBucketPolicyRequest(params)
@@ -4088,27 +5078,41 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketPolicy
func (c *S3) PutBucketPolicy(input *PutBucketPolicyInput) (*PutBucketPolicyOutput, error) {
req, out := c.PutBucketPolicyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketPolicyWithContext is the same as PutBucketPolicy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketPolicy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketPolicyWithContext(ctx aws.Context, input *PutBucketPolicyInput, opts ...request.Option) (*PutBucketPolicyOutput, error) {
+ req, out := c.PutBucketPolicyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketReplication = "PutBucketReplication"
// PutBucketReplicationRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketReplication operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketReplication for usage and error information.
+// See PutBucketReplication for more information on using the PutBucketReplication
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketReplication method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketReplicationRequest method.
// req, resp := client.PutBucketReplicationRequest(params)
@@ -4151,27 +5155,41 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplication
func (c *S3) PutBucketReplication(input *PutBucketReplicationInput) (*PutBucketReplicationOutput, error) {
req, out := c.PutBucketReplicationRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketReplicationWithContext is the same as PutBucketReplication with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketReplication for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketReplicationWithContext(ctx aws.Context, input *PutBucketReplicationInput, opts ...request.Option) (*PutBucketReplicationOutput, error) {
+ req, out := c.PutBucketReplicationRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketRequestPayment = "PutBucketRequestPayment"
// PutBucketRequestPaymentRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketRequestPayment operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketRequestPayment for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketRequestPayment method directly
-// instead.
+// See PutBucketRequestPayment for more information on using the PutBucketRequestPayment
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketRequestPaymentRequest method.
// req, resp := client.PutBucketRequestPaymentRequest(params)
@@ -4217,27 +5235,41 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketRequestPayment
func (c *S3) PutBucketRequestPayment(input *PutBucketRequestPaymentInput) (*PutBucketRequestPaymentOutput, error) {
req, out := c.PutBucketRequestPaymentRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketRequestPaymentWithContext is the same as PutBucketRequestPayment with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketRequestPayment for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketRequestPaymentWithContext(ctx aws.Context, input *PutBucketRequestPaymentInput, opts ...request.Option) (*PutBucketRequestPaymentOutput, error) {
+ req, out := c.PutBucketRequestPaymentRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketTagging = "PutBucketTagging"
// PutBucketTaggingRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutBucketTagging for usage and error information.
+// See PutBucketTagging for more information on using the PutBucketTagging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketTagging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketTaggingRequest method.
// req, resp := client.PutBucketTaggingRequest(params)
@@ -4279,27 +5311,41 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketTagging
func (c *S3) PutBucketTagging(input *PutBucketTaggingInput) (*PutBucketTaggingOutput, error) {
req, out := c.PutBucketTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketTaggingWithContext is the same as PutBucketTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketTaggingWithContext(ctx aws.Context, input *PutBucketTaggingInput, opts ...request.Option) (*PutBucketTaggingOutput, error) {
+ req, out := c.PutBucketTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketVersioning = "PutBucketVersioning"
// PutBucketVersioningRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketVersioning operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketVersioning for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketVersioning method directly
-// instead.
+// See PutBucketVersioning for more information on using the PutBucketVersioning
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketVersioningRequest method.
// req, resp := client.PutBucketVersioningRequest(params)
@@ -4342,27 +5388,41 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketVersioning
func (c *S3) PutBucketVersioning(input *PutBucketVersioningInput) (*PutBucketVersioningOutput, error) {
req, out := c.PutBucketVersioningRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketVersioningWithContext is the same as PutBucketVersioning with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketVersioning for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketVersioningWithContext(ctx aws.Context, input *PutBucketVersioningInput, opts ...request.Option) (*PutBucketVersioningOutput, error) {
+ req, out := c.PutBucketVersioningRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutBucketWebsite = "PutBucketWebsite"
// PutBucketWebsiteRequest generates a "aws/request.Request" representing the
// client's request for the PutBucketWebsite operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See PutBucketWebsite for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutBucketWebsite method directly
-// instead.
+// See PutBucketWebsite for more information on using the PutBucketWebsite
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutBucketWebsiteRequest method.
// req, resp := client.PutBucketWebsiteRequest(params)
@@ -4404,27 +5464,41 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketWebsite
func (c *S3) PutBucketWebsite(input *PutBucketWebsiteInput) (*PutBucketWebsiteOutput, error) {
req, out := c.PutBucketWebsiteRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutBucketWebsiteWithContext is the same as PutBucketWebsite with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutBucketWebsite for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutBucketWebsiteWithContext(ctx aws.Context, input *PutBucketWebsiteInput, opts ...request.Option) (*PutBucketWebsiteOutput, error) {
+ req, out := c.PutBucketWebsiteRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutObject = "PutObject"
// PutObjectRequest generates a "aws/request.Request" representing the
// client's request for the PutObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutObject for usage and error information.
+// See PutObject for more information on using the PutObject
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutObject method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutObjectRequest method.
// req, resp := client.PutObjectRequest(params)
@@ -4464,27 +5538,41 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObject
func (c *S3) PutObject(input *PutObjectInput) (*PutObjectOutput, error) {
req, out := c.PutObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutObjectWithContext is the same as PutObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutObjectWithContext(ctx aws.Context, input *PutObjectInput, opts ...request.Option) (*PutObjectOutput, error) {
+ req, out := c.PutObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutObjectAcl = "PutObjectAcl"
// PutObjectAclRequest generates a "aws/request.Request" representing the
// client's request for the PutObjectAcl operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutObjectAcl for usage and error information.
+// See PutObjectAcl for more information on using the PutObjectAcl
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutObjectAcl method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutObjectAclRequest method.
// req, resp := client.PutObjectAclRequest(params)
@@ -4530,27 +5618,41 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectAcl
func (c *S3) PutObjectAcl(input *PutObjectAclInput) (*PutObjectAclOutput, error) {
req, out := c.PutObjectAclRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutObjectAclWithContext is the same as PutObjectAcl with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutObjectAcl for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutObjectAclWithContext(ctx aws.Context, input *PutObjectAclInput, opts ...request.Option) (*PutObjectAclOutput, error) {
+ req, out := c.PutObjectAclRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opPutObjectTagging = "PutObjectTagging"
// PutObjectTaggingRequest generates a "aws/request.Request" representing the
// client's request for the PutObjectTagging operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See PutObjectTagging for usage and error information.
+// See PutObjectTagging for more information on using the PutObjectTagging
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the PutObjectTagging method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the PutObjectTaggingRequest method.
// req, resp := client.PutObjectTaggingRequest(params)
@@ -4590,27 +5692,41 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectTagging
func (c *S3) PutObjectTagging(input *PutObjectTaggingInput) (*PutObjectTaggingOutput, error) {
req, out := c.PutObjectTaggingRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// PutObjectTaggingWithContext is the same as PutObjectTagging with the addition of
+// the ability to pass a context and additional request options.
+//
+// See PutObjectTagging for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) PutObjectTaggingWithContext(ctx aws.Context, input *PutObjectTaggingInput, opts ...request.Option) (*PutObjectTaggingOutput, error) {
+ req, out := c.PutObjectTaggingRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opRestoreObject = "RestoreObject"
// RestoreObjectRequest generates a "aws/request.Request" representing the
// client's request for the RestoreObject operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See RestoreObject for usage and error information.
+// See RestoreObject for more information on using the RestoreObject
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the RestoreObject method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the RestoreObjectRequest method.
// req, resp := client.RestoreObjectRequest(params)
@@ -4655,27 +5771,41 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObject
func (c *S3) RestoreObject(input *RestoreObjectInput) (*RestoreObjectOutput, error) {
req, out := c.RestoreObjectRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// RestoreObjectWithContext is the same as RestoreObject with the addition of
+// the ability to pass a context and additional request options.
+//
+// See RestoreObject for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) RestoreObjectWithContext(ctx aws.Context, input *RestoreObjectInput, opts ...request.Option) (*RestoreObjectOutput, error) {
+ req, out := c.RestoreObjectRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUploadPart = "UploadPart"
// UploadPartRequest generates a "aws/request.Request" representing the
// client's request for the UploadPart operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See UploadPart for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UploadPart method directly
-// instead.
+// See UploadPart for more information on using the UploadPart
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UploadPartRequest method.
// req, resp := client.UploadPartRequest(params)
@@ -4721,27 +5851,41 @@ func (c *S3) UploadPartRequest(input *UploadPartInput) (req *request.Request, ou
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPart
func (c *S3) UploadPart(input *UploadPartInput) (*UploadPartOutput, error) {
req, out := c.UploadPartRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UploadPartWithContext is the same as UploadPart with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UploadPart for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) UploadPartWithContext(ctx aws.Context, input *UploadPartInput, opts ...request.Option) (*UploadPartOutput, error) {
+ req, out := c.UploadPartRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opUploadPartCopy = "UploadPartCopy"
// UploadPartCopyRequest generates a "aws/request.Request" representing the
// client's request for the UploadPartCopy operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See UploadPartCopy for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the UploadPartCopy method directly
-// instead.
+// See UploadPartCopy for more information on using the UploadPartCopy
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the UploadPartCopyRequest method.
// req, resp := client.UploadPartCopyRequest(params)
@@ -4781,8 +5925,23 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/UploadPartCopy
func (c *S3) UploadPartCopy(input *UploadPartCopyInput) (*UploadPartCopyOutput, error) {
req, out := c.UploadPartCopyRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// UploadPartCopyWithContext is the same as UploadPartCopy with the addition of
+// the ability to pass a context and additional request options.
+//
+// See UploadPartCopy for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) UploadPartCopyWithContext(ctx aws.Context, input *UploadPartCopyInput, opts ...request.Option) (*UploadPartCopyOutput, error) {
+ req, out := c.UploadPartCopyRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// Specifies the days since the initiation of an Incomplete Multipart Upload
@@ -4870,6 +6029,13 @@ func (s *AbortMultipartUploadInput) SetBucket(v string) *AbortMultipartUploadInp
return s
}
+func (s *AbortMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *AbortMultipartUploadInput) SetKey(v string) *AbortMultipartUploadInput {
s.Key = &v
@@ -5279,6 +6445,13 @@ func (s *AnalyticsS3BucketDestination) SetBucket(v string) *AnalyticsS3BucketDes
return s
}
+func (s *AnalyticsS3BucketDestination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetBucketAccountId sets the BucketAccountId field's value.
func (s *AnalyticsS3BucketDestination) SetBucketAccountId(v string) *AnalyticsS3BucketDestination {
s.BucketAccountId = &v
@@ -5637,7 +6810,7 @@ type CompleteMultipartUploadInput struct {
// Key is a required field
Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
- MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure"`
+ MultipartUpload *CompletedMultipartUpload `locationName:"CompleteMultipartUpload" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Confirms that the requester knows that she or he will be charged for the
// request. Bucket owners need not specify this parameter in their requests.
@@ -5687,6 +6860,13 @@ func (s *CompleteMultipartUploadInput) SetBucket(v string) *CompleteMultipartUpl
return s
}
+func (s *CompleteMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *CompleteMultipartUploadInput) SetKey(v string) *CompleteMultipartUploadInput {
s.Key = &v
@@ -5760,6 +6940,13 @@ func (s *CompleteMultipartUploadOutput) SetBucket(v string) *CompleteMultipartUp
return s
}
+func (s *CompleteMultipartUploadOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetETag sets the ETag field's value.
func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
s.ETag = &v
@@ -6085,6 +7272,13 @@ func (s *CopyObjectInput) SetBucket(v string) *CopyObjectInput {
return s
}
+func (s *CopyObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCacheControl sets the CacheControl field's value.
func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
s.CacheControl = &v
@@ -6157,6 +7351,13 @@ func (s *CopyObjectInput) SetCopySourceSSECustomerKey(v string) *CopyObjectInput
return s
}
+func (s *CopyObjectInput) getCopySourceSSECustomerKey() (v string) {
+ if s.CopySourceSSECustomerKey == nil {
+ return v
+ }
+ return *s.CopySourceSSECustomerKey
+}
+
// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
func (s *CopyObjectInput) SetCopySourceSSECustomerKeyMD5(v string) *CopyObjectInput {
s.CopySourceSSECustomerKeyMD5 = &v
@@ -6229,6 +7430,13 @@ func (s *CopyObjectInput) SetSSECustomerKey(v string) *CopyObjectInput {
return s
}
+func (s *CopyObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *CopyObjectInput) SetSSECustomerKeyMD5(v string) *CopyObjectInput {
s.SSECustomerKeyMD5 = &v
@@ -6471,7 +7679,7 @@ type CreateBucketInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
- CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure"`
+ CreateBucketConfiguration *CreateBucketConfiguration `locationName:"CreateBucketConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Allows grantee the read, write, read ACP, and write ACP permissions on the
// bucket.
@@ -6525,6 +7733,13 @@ func (s *CreateBucketInput) SetBucket(v string) *CreateBucketInput {
return s
}
+func (s *CreateBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCreateBucketConfiguration sets the CreateBucketConfiguration field's value.
func (s *CreateBucketInput) SetCreateBucketConfiguration(v *CreateBucketConfiguration) *CreateBucketInput {
s.CreateBucketConfiguration = v
@@ -6666,6 +7881,9 @@ type CreateMultipartUploadInput struct {
// The type of storage to use for the object. Defaults to 'STANDARD'.
StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
+ // The tag-set for the object. The tag-set must be encoded as URL Query parameters
+ Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
+
// If the bucket is configured as a website, redirects requests for this object
// to another object in the same bucket or to an external URL. Amazon S3 stores
// the value of this header in the object metadata.
@@ -6713,6 +7931,13 @@ func (s *CreateMultipartUploadInput) SetBucket(v string) *CreateMultipartUploadI
return s
}
+func (s *CreateMultipartUploadInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCacheControl sets the CacheControl field's value.
func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartUploadInput {
s.CacheControl = &v
@@ -6803,6 +8028,13 @@ func (s *CreateMultipartUploadInput) SetSSECustomerKey(v string) *CreateMultipar
return s
}
+func (s *CreateMultipartUploadInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *CreateMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CreateMultipartUploadInput {
s.SSECustomerKeyMD5 = &v
@@ -6827,6 +8059,12 @@ func (s *CreateMultipartUploadInput) SetStorageClass(v string) *CreateMultipartU
return s
}
+// SetTagging sets the Tagging field's value.
+func (s *CreateMultipartUploadInput) SetTagging(v string) *CreateMultipartUploadInput {
+ s.Tagging = &v
+ return s
+}
+
// SetWebsiteRedirectLocation sets the WebsiteRedirectLocation field's value.
func (s *CreateMultipartUploadInput) SetWebsiteRedirectLocation(v string) *CreateMultipartUploadInput {
s.WebsiteRedirectLocation = &v
@@ -6904,6 +8142,13 @@ func (s *CreateMultipartUploadOutput) SetBucket(v string) *CreateMultipartUpload
return s
}
+func (s *CreateMultipartUploadOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
s.Key = &v
@@ -7050,6 +8295,13 @@ func (s *DeleteBucketAnalyticsConfigurationInput) SetBucket(v string) *DeleteBuc
return s
}
+func (s *DeleteBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *DeleteBucketAnalyticsConfigurationInput) SetId(v string) *DeleteBucketAnalyticsConfigurationInput {
s.Id = &v
@@ -7108,6 +8360,13 @@ func (s *DeleteBucketCorsInput) SetBucket(v string) *DeleteBucketCorsInput {
return s
}
+func (s *DeleteBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketCorsOutput
type DeleteBucketCorsOutput struct {
_ struct{} `type:"structure"`
@@ -7160,6 +8419,13 @@ func (s *DeleteBucketInput) SetBucket(v string) *DeleteBucketInput {
return s
}
+func (s *DeleteBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketInventoryConfigurationRequest
type DeleteBucketInventoryConfigurationInput struct {
_ struct{} `type:"structure"`
@@ -7207,6 +8473,13 @@ func (s *DeleteBucketInventoryConfigurationInput) SetBucket(v string) *DeleteBuc
return s
}
+func (s *DeleteBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *DeleteBucketInventoryConfigurationInput) SetId(v string) *DeleteBucketInventoryConfigurationInput {
s.Id = &v
@@ -7265,6 +8538,13 @@ func (s *DeleteBucketLifecycleInput) SetBucket(v string) *DeleteBucketLifecycleI
return s
}
+func (s *DeleteBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketLifecycleOutput
type DeleteBucketLifecycleOutput struct {
_ struct{} `type:"structure"`
@@ -7327,6 +8607,13 @@ func (s *DeleteBucketMetricsConfigurationInput) SetBucket(v string) *DeleteBucke
return s
}
+func (s *DeleteBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *DeleteBucketMetricsConfigurationInput) SetId(v string) *DeleteBucketMetricsConfigurationInput {
s.Id = &v
@@ -7400,6 +8687,13 @@ func (s *DeleteBucketPolicyInput) SetBucket(v string) *DeleteBucketPolicyInput {
return s
}
+func (s *DeleteBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketPolicyOutput
type DeleteBucketPolicyOutput struct {
_ struct{} `type:"structure"`
@@ -7452,6 +8746,13 @@ func (s *DeleteBucketReplicationInput) SetBucket(v string) *DeleteBucketReplicat
return s
}
+func (s *DeleteBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationOutput
type DeleteBucketReplicationOutput struct {
_ struct{} `type:"structure"`
@@ -7504,6 +8805,13 @@ func (s *DeleteBucketTaggingInput) SetBucket(v string) *DeleteBucketTaggingInput
return s
}
+func (s *DeleteBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketTaggingOutput
type DeleteBucketTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -7556,6 +8864,13 @@ func (s *DeleteBucketWebsiteInput) SetBucket(v string) *DeleteBucketWebsiteInput
return s
}
+func (s *DeleteBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketWebsiteOutput
type DeleteBucketWebsiteOutput struct {
_ struct{} `type:"structure"`
@@ -7690,6 +9005,13 @@ func (s *DeleteObjectInput) SetBucket(v string) *DeleteObjectInput {
return s
}
+func (s *DeleteObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *DeleteObjectInput) SetKey(v string) *DeleteObjectInput {
s.Key = &v
@@ -7808,6 +9130,13 @@ func (s *DeleteObjectTaggingInput) SetBucket(v string) *DeleteObjectTaggingInput
return s
}
+func (s *DeleteObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *DeleteObjectTaggingInput) SetKey(v string) *DeleteObjectTaggingInput {
s.Key = &v
@@ -7852,7 +9181,7 @@ type DeleteObjectsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// Delete is a required field
- Delete *Delete `locationName:"Delete" type:"structure" required:"true"`
+ Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// The concatenation of the authentication device's serial number, a space,
// and the value that is displayed on your authentication device.
@@ -7902,6 +9231,13 @@ func (s *DeleteObjectsInput) SetBucket(v string) *DeleteObjectsInput {
return s
}
+func (s *DeleteObjectsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetDelete sets the Delete field's value.
func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
s.Delete = v
@@ -8051,6 +9387,13 @@ func (s *Destination) SetBucket(v string) *Destination {
return s
}
+func (s *Destination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetStorageClass sets the StorageClass field's value.
func (s *Destination) SetStorageClass(v string) *Destination {
s.StorageClass = &v
@@ -8221,6 +9564,13 @@ func (s *GetBucketAccelerateConfigurationInput) SetBucket(v string) *GetBucketAc
return s
}
+func (s *GetBucketAccelerateConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAccelerateConfigurationOutput
type GetBucketAccelerateConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -8282,6 +9632,13 @@ func (s *GetBucketAclInput) SetBucket(v string) *GetBucketAclInput {
return s
}
+func (s *GetBucketAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAclOutput
type GetBucketAclOutput struct {
_ struct{} `type:"structure"`
@@ -8361,6 +9718,13 @@ func (s *GetBucketAnalyticsConfigurationInput) SetBucket(v string) *GetBucketAna
return s
}
+func (s *GetBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *GetBucketAnalyticsConfigurationInput) SetId(v string) *GetBucketAnalyticsConfigurationInput {
s.Id = &v
@@ -8428,6 +9792,13 @@ func (s *GetBucketCorsInput) SetBucket(v string) *GetBucketCorsInput {
return s
}
+func (s *GetBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketCorsOutput
type GetBucketCorsOutput struct {
_ struct{} `type:"structure"`
@@ -8498,6 +9869,13 @@ func (s *GetBucketInventoryConfigurationInput) SetBucket(v string) *GetBucketInv
return s
}
+func (s *GetBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *GetBucketInventoryConfigurationInput) SetId(v string) *GetBucketInventoryConfigurationInput {
s.Id = &v
@@ -8565,6 +9943,13 @@ func (s *GetBucketLifecycleConfigurationInput) SetBucket(v string) *GetBucketLif
return s
}
+func (s *GetBucketLifecycleConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleConfigurationOutput
type GetBucketLifecycleConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -8625,6 +10010,13 @@ func (s *GetBucketLifecycleInput) SetBucket(v string) *GetBucketLifecycleInput {
return s
}
+func (s *GetBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLifecycleOutput
type GetBucketLifecycleOutput struct {
_ struct{} `type:"structure"`
@@ -8685,6 +10077,13 @@ func (s *GetBucketLocationInput) SetBucket(v string) *GetBucketLocationInput {
return s
}
+func (s *GetBucketLocationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLocationOutput
type GetBucketLocationOutput struct {
_ struct{} `type:"structure"`
@@ -8745,6 +10144,13 @@ func (s *GetBucketLoggingInput) SetBucket(v string) *GetBucketLoggingInput {
return s
}
+func (s *GetBucketLoggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketLoggingOutput
type GetBucketLoggingOutput struct {
_ struct{} `type:"structure"`
@@ -8815,6 +10221,13 @@ func (s *GetBucketMetricsConfigurationInput) SetBucket(v string) *GetBucketMetri
return s
}
+func (s *GetBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *GetBucketMetricsConfigurationInput) SetId(v string) *GetBucketMetricsConfigurationInput {
s.Id = &v
@@ -8884,6 +10297,13 @@ func (s *GetBucketNotificationConfigurationRequest) SetBucket(v string) *GetBuck
return s
}
+func (s *GetBucketNotificationConfigurationRequest) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyRequest
type GetBucketPolicyInput struct {
_ struct{} `type:"structure"`
@@ -8921,6 +10341,13 @@ func (s *GetBucketPolicyInput) SetBucket(v string) *GetBucketPolicyInput {
return s
}
+func (s *GetBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyOutput
type GetBucketPolicyOutput struct {
_ struct{} `type:"structure" payload:"Policy"`
@@ -8982,6 +10409,13 @@ func (s *GetBucketReplicationInput) SetBucket(v string) *GetBucketReplicationInp
return s
}
+func (s *GetBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationOutput
type GetBucketReplicationOutput struct {
_ struct{} `type:"structure" payload:"ReplicationConfiguration"`
@@ -9044,6 +10478,13 @@ func (s *GetBucketRequestPaymentInput) SetBucket(v string) *GetBucketRequestPaym
return s
}
+func (s *GetBucketRequestPaymentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketRequestPaymentOutput
type GetBucketRequestPaymentOutput struct {
_ struct{} `type:"structure"`
@@ -9105,6 +10546,13 @@ func (s *GetBucketTaggingInput) SetBucket(v string) *GetBucketTaggingInput {
return s
}
+func (s *GetBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketTaggingOutput
type GetBucketTaggingOutput struct {
_ struct{} `type:"structure"`
@@ -9166,6 +10614,13 @@ func (s *GetBucketVersioningInput) SetBucket(v string) *GetBucketVersioningInput
return s
}
+func (s *GetBucketVersioningInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketVersioningOutput
type GetBucketVersioningOutput struct {
_ struct{} `type:"structure"`
@@ -9238,6 +10693,13 @@ func (s *GetBucketWebsiteInput) SetBucket(v string) *GetBucketWebsiteInput {
return s
}
+func (s *GetBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketWebsiteOutput
type GetBucketWebsiteOutput struct {
_ struct{} `type:"structure"`
@@ -9340,6 +10802,13 @@ func (s *GetObjectAclInput) SetBucket(v string) *GetObjectAclInput {
return s
}
+func (s *GetObjectAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *GetObjectAclInput) SetKey(v string) *GetObjectAclInput {
s.Key = &v
@@ -9513,6 +10982,13 @@ func (s *GetObjectInput) SetBucket(v string) *GetObjectInput {
return s
}
+func (s *GetObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetIfMatch sets the IfMatch field's value.
func (s *GetObjectInput) SetIfMatch(v string) *GetObjectInput {
s.IfMatch = &v
@@ -9609,6 +11085,13 @@ func (s *GetObjectInput) SetSSECustomerKey(v string) *GetObjectInput {
return s
}
+func (s *GetObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *GetObjectInput) SetSSECustomerKeyMD5(v string) *GetObjectInput {
s.SSECustomerKeyMD5 = &v
@@ -9953,6 +11436,13 @@ func (s *GetObjectTaggingInput) SetBucket(v string) *GetObjectTaggingInput {
return s
}
+func (s *GetObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *GetObjectTaggingInput) SetKey(v string) *GetObjectTaggingInput {
s.Key = &v
@@ -10049,6 +11539,13 @@ func (s *GetObjectTorrentInput) SetBucket(v string) *GetObjectTorrentInput {
return s
}
+func (s *GetObjectTorrentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *GetObjectTorrentInput) SetKey(v string) *GetObjectTorrentInput {
s.Key = &v
@@ -10137,7 +11634,7 @@ func (s *GlacierJobParameters) SetTier(v string) *GlacierJobParameters {
type Grant struct {
_ struct{} `type:"structure"`
- Grantee *Grantee `type:"structure"`
+ Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
// Specifies the permission given to the grantee.
Permission *string `type:"string" enum:"Permission"`
@@ -10292,6 +11789,13 @@ func (s *HeadBucketInput) SetBucket(v string) *HeadBucketInput {
return s
}
+func (s *HeadBucketInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadBucketOutput
type HeadBucketOutput struct {
_ struct{} `type:"structure"`
@@ -10403,6 +11907,13 @@ func (s *HeadObjectInput) SetBucket(v string) *HeadObjectInput {
return s
}
+func (s *HeadObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetIfMatch sets the IfMatch field's value.
func (s *HeadObjectInput) SetIfMatch(v string) *HeadObjectInput {
s.IfMatch = &v
@@ -10463,6 +11974,13 @@ func (s *HeadObjectInput) SetSSECustomerKey(v string) *HeadObjectInput {
return s
}
+func (s *HeadObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *HeadObjectInput) SetSSECustomerKeyMD5(v string) *HeadObjectInput {
s.SSECustomerKeyMD5 = &v
@@ -11081,6 +12599,13 @@ func (s *InventoryS3BucketDestination) SetBucket(v string) *InventoryS3BucketDes
return s
}
+func (s *InventoryS3BucketDestination) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetFormat sets the Format field's value.
func (s *InventoryS3BucketDestination) SetFormat(v string) *InventoryS3BucketDestination {
s.Format = &v
@@ -11611,6 +13136,13 @@ func (s *ListBucketAnalyticsConfigurationsInput) SetBucket(v string) *ListBucket
return s
}
+func (s *ListBucketAnalyticsConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetContinuationToken sets the ContinuationToken field's value.
func (s *ListBucketAnalyticsConfigurationsInput) SetContinuationToken(v string) *ListBucketAnalyticsConfigurationsInput {
s.ContinuationToken = &v
@@ -11717,6 +13249,13 @@ func (s *ListBucketInventoryConfigurationsInput) SetBucket(v string) *ListBucket
return s
}
+func (s *ListBucketInventoryConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetContinuationToken sets the ContinuationToken field's value.
func (s *ListBucketInventoryConfigurationsInput) SetContinuationToken(v string) *ListBucketInventoryConfigurationsInput {
s.ContinuationToken = &v
@@ -11823,6 +13362,13 @@ func (s *ListBucketMetricsConfigurationsInput) SetBucket(v string) *ListBucketMe
return s
}
+func (s *ListBucketMetricsConfigurationsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetContinuationToken sets the ContinuationToken field's value.
func (s *ListBucketMetricsConfigurationsInput) SetContinuationToken(v string) *ListBucketMetricsConfigurationsInput {
s.ContinuationToken = &v
@@ -11998,6 +13544,13 @@ func (s *ListMultipartUploadsInput) SetBucket(v string) *ListMultipartUploadsInp
return s
}
+func (s *ListMultipartUploadsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetDelimiter sets the Delimiter field's value.
func (s *ListMultipartUploadsInput) SetDelimiter(v string) *ListMultipartUploadsInput {
s.Delimiter = &v
@@ -12095,6 +13648,13 @@ func (s *ListMultipartUploadsOutput) SetBucket(v string) *ListMultipartUploadsOu
return s
}
+func (s *ListMultipartUploadsOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCommonPrefixes sets the CommonPrefixes field's value.
func (s *ListMultipartUploadsOutput) SetCommonPrefixes(v []*CommonPrefix) *ListMultipartUploadsOutput {
s.CommonPrefixes = v
@@ -12222,6 +13782,13 @@ func (s *ListObjectVersionsInput) SetBucket(v string) *ListObjectVersionsInput {
return s
}
+func (s *ListObjectVersionsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetDelimiter sets the Delimiter field's value.
func (s *ListObjectVersionsInput) SetDelimiter(v string) *ListObjectVersionsInput {
s.Delimiter = &v
@@ -12449,6 +14016,13 @@ func (s *ListObjectsInput) SetBucket(v string) *ListObjectsInput {
return s
}
+func (s *ListObjectsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetDelimiter sets the Delimiter field's value.
func (s *ListObjectsInput) SetDelimiter(v string) *ListObjectsInput {
s.Delimiter = &v
@@ -12661,6 +14235,13 @@ func (s *ListObjectsV2Input) SetBucket(v string) *ListObjectsV2Input {
return s
}
+func (s *ListObjectsV2Input) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetContinuationToken sets the ContinuationToken field's value.
func (s *ListObjectsV2Input) SetContinuationToken(v string) *ListObjectsV2Input {
s.ContinuationToken = &v
@@ -12910,6 +14491,13 @@ func (s *ListPartsInput) SetBucket(v string) *ListPartsInput {
return s
}
+func (s *ListPartsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *ListPartsInput) SetKey(v string) *ListPartsInput {
s.Key = &v
@@ -13017,6 +14605,13 @@ func (s *ListPartsOutput) SetBucket(v string) *ListPartsOutput {
return s
}
+func (s *ListPartsOutput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetInitiator sets the Initiator field's value.
func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
s.Initiator = v
@@ -13900,7 +15495,7 @@ type PutBucketAccelerateConfigurationInput struct {
// Specifies the Accelerate Configuration you want to set for the bucket.
//
// AccelerateConfiguration is a required field
- AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true"`
+ AccelerateConfiguration *AccelerateConfiguration `locationName:"AccelerateConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Name of the bucket for which the accelerate configuration is set.
//
@@ -13946,6 +15541,13 @@ func (s *PutBucketAccelerateConfigurationInput) SetBucket(v string) *PutBucketAc
return s
}
+func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAccelerateConfigurationOutput
type PutBucketAccelerateConfigurationOutput struct {
_ struct{} `type:"structure"`
@@ -13968,7 +15570,7 @@ type PutBucketAclInput struct {
// The canned ACL to apply to the bucket.
ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"BucketCannedACL"`
- AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"`
+ AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -14036,6 +15638,13 @@ func (s *PutBucketAclInput) SetBucket(v string) *PutBucketAclInput {
return s
}
+func (s *PutBucketAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetGrantFullControl sets the GrantFullControl field's value.
func (s *PutBucketAclInput) SetGrantFullControl(v string) *PutBucketAclInput {
s.GrantFullControl = &v
@@ -14088,7 +15697,7 @@ type PutBucketAnalyticsConfigurationInput struct {
// The configuration and any analyses for the analytics filter.
//
// AnalyticsConfiguration is a required field
- AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true"`
+ AnalyticsConfiguration *AnalyticsConfiguration `locationName:"AnalyticsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// The name of the bucket to which an analytics configuration is stored.
//
@@ -14147,6 +15756,13 @@ func (s *PutBucketAnalyticsConfigurationInput) SetBucket(v string) *PutBucketAna
return s
}
+func (s *PutBucketAnalyticsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *PutBucketAnalyticsConfigurationInput) SetId(v string) *PutBucketAnalyticsConfigurationInput {
s.Id = &v
@@ -14176,7 +15792,7 @@ type PutBucketCorsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// CORSConfiguration is a required field
- CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true"`
+ CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14216,6 +15832,13 @@ func (s *PutBucketCorsInput) SetBucket(v string) *PutBucketCorsInput {
return s
}
+func (s *PutBucketCorsInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCORSConfiguration sets the CORSConfiguration field's value.
func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBucketCorsInput {
s.CORSConfiguration = v
@@ -14254,7 +15877,7 @@ type PutBucketInventoryConfigurationInput struct {
// Specifies the inventory configuration.
//
// InventoryConfiguration is a required field
- InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true"`
+ InventoryConfiguration *InventoryConfiguration `locationName:"InventoryConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14297,6 +15920,13 @@ func (s *PutBucketInventoryConfigurationInput) SetBucket(v string) *PutBucketInv
return s
}
+func (s *PutBucketInventoryConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *PutBucketInventoryConfigurationInput) SetId(v string) *PutBucketInventoryConfigurationInput {
s.Id = &v
@@ -14331,7 +15961,7 @@ type PutBucketLifecycleConfigurationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
- LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"`
+ LifecycleConfiguration *BucketLifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14368,6 +15998,13 @@ func (s *PutBucketLifecycleConfigurationInput) SetBucket(v string) *PutBucketLif
return s
}
+func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
func (s *PutBucketLifecycleConfigurationInput) SetLifecycleConfiguration(v *BucketLifecycleConfiguration) *PutBucketLifecycleConfigurationInput {
s.LifecycleConfiguration = v
@@ -14396,7 +16033,7 @@ type PutBucketLifecycleInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
- LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure"`
+ LifecycleConfiguration *LifecycleConfiguration `locationName:"LifecycleConfiguration" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14433,6 +16070,13 @@ func (s *PutBucketLifecycleInput) SetBucket(v string) *PutBucketLifecycleInput {
return s
}
+func (s *PutBucketLifecycleInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetLifecycleConfiguration sets the LifecycleConfiguration field's value.
func (s *PutBucketLifecycleInput) SetLifecycleConfiguration(v *LifecycleConfiguration) *PutBucketLifecycleInput {
s.LifecycleConfiguration = v
@@ -14462,7 +16106,7 @@ type PutBucketLoggingInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// BucketLoggingStatus is a required field
- BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true"`
+ BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14502,6 +16146,13 @@ func (s *PutBucketLoggingInput) SetBucket(v string) *PutBucketLoggingInput {
return s
}
+func (s *PutBucketLoggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetBucketLoggingStatus sets the BucketLoggingStatus field's value.
func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *PutBucketLoggingInput {
s.BucketLoggingStatus = v
@@ -14540,7 +16191,7 @@ type PutBucketMetricsConfigurationInput struct {
// Specifies the metrics configuration.
//
// MetricsConfiguration is a required field
- MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true"`
+ MetricsConfiguration *MetricsConfiguration `locationName:"MetricsConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14583,6 +16234,13 @@ func (s *PutBucketMetricsConfigurationInput) SetBucket(v string) *PutBucketMetri
return s
}
+func (s *PutBucketMetricsConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetId sets the Id field's value.
func (s *PutBucketMetricsConfigurationInput) SetId(v string) *PutBucketMetricsConfigurationInput {
s.Id = &v
@@ -14621,7 +16279,7 @@ type PutBucketNotificationConfigurationInput struct {
// this element is empty, notifications are turned off on the bucket.
//
// NotificationConfiguration is a required field
- NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true"`
+ NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14661,6 +16319,13 @@ func (s *PutBucketNotificationConfigurationInput) SetBucket(v string) *PutBucket
return s
}
+func (s *PutBucketNotificationConfigurationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetNotificationConfiguration sets the NotificationConfiguration field's value.
func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v *NotificationConfiguration) *PutBucketNotificationConfigurationInput {
s.NotificationConfiguration = v
@@ -14690,7 +16355,7 @@ type PutBucketNotificationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// NotificationConfiguration is a required field
- NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true"`
+ NotificationConfiguration *NotificationConfigurationDeprecated `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14725,6 +16390,13 @@ func (s *PutBucketNotificationInput) SetBucket(v string) *PutBucketNotificationI
return s
}
+func (s *PutBucketNotificationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetNotificationConfiguration sets the NotificationConfiguration field's value.
func (s *PutBucketNotificationInput) SetNotificationConfiguration(v *NotificationConfigurationDeprecated) *PutBucketNotificationInput {
s.NotificationConfiguration = v
@@ -14791,6 +16463,13 @@ func (s *PutBucketPolicyInput) SetBucket(v string) *PutBucketPolicyInput {
return s
}
+func (s *PutBucketPolicyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetPolicy sets the Policy field's value.
func (s *PutBucketPolicyInput) SetPolicy(v string) *PutBucketPolicyInput {
s.Policy = &v
@@ -14823,7 +16502,7 @@ type PutBucketReplicationInput struct {
// replication configuration size can be up to 2 MB.
//
// ReplicationConfiguration is a required field
- ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true"`
+ ReplicationConfiguration *ReplicationConfiguration `locationName:"ReplicationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14863,6 +16542,13 @@ func (s *PutBucketReplicationInput) SetBucket(v string) *PutBucketReplicationInp
return s
}
+func (s *PutBucketReplicationInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetReplicationConfiguration sets the ReplicationConfiguration field's value.
func (s *PutBucketReplicationInput) SetReplicationConfiguration(v *ReplicationConfiguration) *PutBucketReplicationInput {
s.ReplicationConfiguration = v
@@ -14892,7 +16578,7 @@ type PutBucketRequestPaymentInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// RequestPaymentConfiguration is a required field
- RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true"`
+ RequestPaymentConfiguration *RequestPaymentConfiguration `locationName:"RequestPaymentConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -14932,6 +16618,13 @@ func (s *PutBucketRequestPaymentInput) SetBucket(v string) *PutBucketRequestPaym
return s
}
+func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetRequestPaymentConfiguration sets the RequestPaymentConfiguration field's value.
func (s *PutBucketRequestPaymentInput) SetRequestPaymentConfiguration(v *RequestPaymentConfiguration) *PutBucketRequestPaymentInput {
s.RequestPaymentConfiguration = v
@@ -14961,7 +16654,7 @@ type PutBucketTaggingInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// Tagging is a required field
- Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"`
+ Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -15001,6 +16694,13 @@ func (s *PutBucketTaggingInput) SetBucket(v string) *PutBucketTaggingInput {
return s
}
+func (s *PutBucketTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetTagging sets the Tagging field's value.
func (s *PutBucketTaggingInput) SetTagging(v *Tagging) *PutBucketTaggingInput {
s.Tagging = v
@@ -15034,7 +16734,7 @@ type PutBucketVersioningInput struct {
MFA *string `location:"header" locationName:"x-amz-mfa" type:"string"`
// VersioningConfiguration is a required field
- VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true"`
+ VersioningConfiguration *VersioningConfiguration `locationName:"VersioningConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -15069,6 +16769,13 @@ func (s *PutBucketVersioningInput) SetBucket(v string) *PutBucketVersioningInput
return s
}
+func (s *PutBucketVersioningInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetMFA sets the MFA field's value.
func (s *PutBucketVersioningInput) SetMFA(v string) *PutBucketVersioningInput {
s.MFA = &v
@@ -15104,7 +16811,7 @@ type PutBucketWebsiteInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// WebsiteConfiguration is a required field
- WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true"`
+ WebsiteConfiguration *WebsiteConfiguration `locationName:"WebsiteConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
}
// String returns the string representation
@@ -15144,6 +16851,13 @@ func (s *PutBucketWebsiteInput) SetBucket(v string) *PutBucketWebsiteInput {
return s
}
+func (s *PutBucketWebsiteInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetWebsiteConfiguration sets the WebsiteConfiguration field's value.
func (s *PutBucketWebsiteInput) SetWebsiteConfiguration(v *WebsiteConfiguration) *PutBucketWebsiteInput {
s.WebsiteConfiguration = v
@@ -15172,7 +16886,7 @@ type PutObjectAclInput struct {
// The canned ACL to apply to the object.
ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
- AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure"`
+ AccessControlPolicy *AccessControlPolicy `locationName:"AccessControlPolicy" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
@@ -15258,6 +16972,13 @@ func (s *PutObjectAclInput) SetBucket(v string) *PutObjectAclInput {
return s
}
+func (s *PutObjectAclInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetGrantFullControl sets the GrantFullControl field's value.
func (s *PutObjectAclInput) SetGrantFullControl(v string) *PutObjectAclInput {
s.GrantFullControl = &v
@@ -15480,6 +17201,13 @@ func (s *PutObjectInput) SetBucket(v string) *PutObjectInput {
return s
}
+func (s *PutObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCacheControl sets the CacheControl field's value.
func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
s.CacheControl = &v
@@ -15576,6 +17304,13 @@ func (s *PutObjectInput) SetSSECustomerKey(v string) *PutObjectInput {
return s
}
+func (s *PutObjectInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *PutObjectInput) SetSSECustomerKeyMD5(v string) *PutObjectInput {
s.SSECustomerKeyMD5 = &v
@@ -15718,7 +17453,7 @@ type PutObjectTaggingInput struct {
Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
// Tagging is a required field
- Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true"`
+ Tagging *Tagging `locationName:"Tagging" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
}
@@ -15766,6 +17501,13 @@ func (s *PutObjectTaggingInput) SetBucket(v string) *PutObjectTaggingInput {
return s
}
+func (s *PutObjectTaggingInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *PutObjectTaggingInput) SetKey(v string) *PutObjectTaggingInput {
s.Key = &v
@@ -16252,7 +17994,7 @@ type RestoreObjectInput struct {
// at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure"`
+ RestoreRequest *RestoreRequest `locationName:"RestoreRequest" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
}
@@ -16297,6 +18039,13 @@ func (s *RestoreObjectInput) SetBucket(v string) *RestoreObjectInput {
return s
}
+func (s *RestoreObjectInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetKey sets the Key field's value.
func (s *RestoreObjectInput) SetKey(v string) *RestoreObjectInput {
s.Key = &v
@@ -16772,7 +18521,7 @@ func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
type TargetGrant struct {
_ struct{} `type:"structure"`
- Grantee *Grantee `type:"structure"`
+ Grantee *Grantee `type:"structure" xmlPrefix:"xsi" xmlURI:"http://www.w3.org/2001/XMLSchema-instance"`
// Logging permissions assigned to the Grantee for the bucket.
Permission *string `type:"string" enum:"BucketLogsPermission"`
@@ -17112,6 +18861,13 @@ func (s *UploadPartCopyInput) SetBucket(v string) *UploadPartCopyInput {
return s
}
+func (s *UploadPartCopyInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetCopySource sets the CopySource field's value.
func (s *UploadPartCopyInput) SetCopySource(v string) *UploadPartCopyInput {
s.CopySource = &v
@@ -17160,6 +18916,13 @@ func (s *UploadPartCopyInput) SetCopySourceSSECustomerKey(v string) *UploadPartC
return s
}
+func (s *UploadPartCopyInput) getCopySourceSSECustomerKey() (v string) {
+ if s.CopySourceSSECustomerKey == nil {
+ return v
+ }
+ return *s.CopySourceSSECustomerKey
+}
+
// SetCopySourceSSECustomerKeyMD5 sets the CopySourceSSECustomerKeyMD5 field's value.
func (s *UploadPartCopyInput) SetCopySourceSSECustomerKeyMD5(v string) *UploadPartCopyInput {
s.CopySourceSSECustomerKeyMD5 = &v
@@ -17196,6 +18959,13 @@ func (s *UploadPartCopyInput) SetSSECustomerKey(v string) *UploadPartCopyInput {
return s
}
+func (s *UploadPartCopyInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *UploadPartCopyInput) SetSSECustomerKeyMD5(v string) *UploadPartCopyInput {
s.SSECustomerKeyMD5 = &v
@@ -17395,6 +19165,13 @@ func (s *UploadPartInput) SetBucket(v string) *UploadPartInput {
return s
}
+func (s *UploadPartInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
// SetContentLength sets the ContentLength field's value.
func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
s.ContentLength = &v
@@ -17431,6 +19208,13 @@ func (s *UploadPartInput) SetSSECustomerKey(v string) *UploadPartInput {
return s
}
+func (s *UploadPartInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
func (s *UploadPartInput) SetSSECustomerKeyMD5(v string) *UploadPartInput {
s.SSECustomerKeyMD5 = &v
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go
index c3a2702d..bc68a46a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/bucket_location.go
@@ -12,6 +12,69 @@ import (
var reBucketLocation = regexp.MustCompile(`>([^<>]+)<\/Location`)
+// NormalizeBucketLocation is a utility function which will update the
+// passed in value to always be a region ID. Generally this would be used
+// with GetBucketLocation API operation.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+func NormalizeBucketLocation(loc string) string {
+ switch loc {
+ case "":
+ loc = "us-east-1"
+ case "EU":
+ loc = "eu-west-1"
+ }
+
+ return loc
+}
+
+// NormalizeBucketLocationHandler is a request handler which will update the
+// GetBucketLocation's result LocationConstraint value to always be a region ID.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+//
+// req, result := svc.GetBucketLocationRequest(&s3.GetBucketLocationInput{
+// Bucket: aws.String(bucket),
+// })
+// req.Handlers.Unmarshal.PushBackNamed(NormalizeBucketLocationHandler)
+// err := req.Send()
+var NormalizeBucketLocationHandler = request.NamedHandler{
+ Name: "awssdk.s3.NormalizeBucketLocation",
+ Fn: func(req *request.Request) {
+ if req.Error != nil {
+ return
+ }
+
+ out := req.Data.(*GetBucketLocationOutput)
+ loc := NormalizeBucketLocation(aws.StringValue(out.LocationConstraint))
+ out.LocationConstraint = aws.String(loc)
+ },
+}
+
+// WithNormalizeBucketLocation is a request option which will update the
+// GetBucketLocation's result LocationConstraint value to always be a region ID.
+//
+// Replaces empty string with "us-east-1", and "EU" with "eu-west-1".
+//
+// See http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETlocation.html
+// for more information on the values that can be returned.
+//
+// result, err := svc.GetBucketLocationWithContext(ctx,
+// &s3.GetBucketLocationInput{
+// Bucket: aws.String(bucket),
+// },
+// s3.WithNormalizeBucketLocation,
+// )
+func WithNormalizeBucketLocation(r *request.Request) {
+ r.Handlers.Unmarshal.PushBackNamed(NormalizeBucketLocationHandler)
+}
+
func buildGetBucketLocation(r *request.Request) {
if r.DataFilled() {
out := r.Data.(*GetBucketLocationOutput)
@@ -24,7 +87,7 @@ func buildGetBucketLocation(r *request.Request) {
match := reBucketLocation.FindSubmatch(b)
if len(match) > 1 {
loc := string(match[1])
- out.LocationConstraint = &loc
+ out.LocationConstraint = aws.String(loc)
}
}
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
index 84633472..899d5e8d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
@@ -44,3 +44,21 @@ func defaultInitRequestFn(r *request.Request) {
r.Handlers.Unmarshal.PushFront(copyMultipartStatusOKUnmarhsalError)
}
}
+
+// bucketGetter is an accessor interface to grab the "Bucket" field from
+// an S3 type.
+type bucketGetter interface {
+ getBucket() string
+}
+
+// sseCustomerKeyGetter is an accessor interface to grab the "SSECustomerKey"
+// field from an S3 type.
+type sseCustomerKeyGetter interface {
+ getSSECustomerKey() string
+}
+
+// copySourceSSECustomerKeyGetter is an accessor interface to grab the
+// "CopySourceSSECustomerKey" field from an S3 type.
+type copySourceSSECustomerKeyGetter interface {
+ getCopySourceSSECustomerKey() string
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
new file mode 100644
index 00000000..30068d15
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc.go
@@ -0,0 +1,26 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package s3 provides the client and types for making API
+// requests to Amazon Simple Storage Service.
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01 for more information on this service.
+//
+// See s3 package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/
+//
+// Using the Client
+//
+// To Amazon Simple Storage Service with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the Amazon Simple Storage Service client S3 for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#New
+package s3
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
new file mode 100644
index 00000000..b794a63b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/doc_custom.go
@@ -0,0 +1,109 @@
+// Upload Managers
+//
+// The s3manager package's Uploader provides concurrent upload of content to S3
+// by taking advantage of S3's Multipart APIs. The Uploader also supports both
+// io.Reader for streaming uploads, and will also take advantage of io.ReadSeeker
+// for optimizations if the Body satisfies that type. Once the Uploader instance
+// is created you can call Upload concurrently from multiple goroutines safely.
+//
+// // The session the S3 Uploader will use
+// sess := session.Must(session.NewSession())
+//
+// // Create an uploader with the session and default options
+// uploader := s3manager.NewUploader(sess)
+//
+// f, err := os.Open(filename)
+// if err != nil {
+// return fmt.Errorf("failed to open file %q, %v", filename, err)
+// }
+//
+// // Upload the file to S3.
+// result, err := uploader.Upload(&s3manager.UploadInput{
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myString),
+// Body: f,
+// })
+// if err != nil {
+// return fmt.Errorf("failed to upload file, %v", err)
+// }
+// fmt.Printf("file uploaded to, %s\n", aws.StringValue(result.Location))
+//
+// See the s3manager package's Uploader type documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Uploader
+//
+// Download Manager
+//
+// The s3manager package's Downloader provides concurrently downloading of Objects
+// from S3. The Downloader will write S3 Object content with an io.WriterAt.
+// Once the Downloader instance is created you can call Upload concurrently from
+// multiple goroutines safely.
+//
+// // The session the S3 Downloader will use
+// sess := session.Must(session.NewSession())
+//
+// // Create a downloader with the session and default options
+// downloader := s3manager.NewDownloader(sess)
+//
+// // Create a file to write the S3 Object contents to.
+// f, err := os.Create(filename)
+// if err != nil {
+// return fmt.Errorf("failed to create file %q, %v", filename, err)
+// }
+//
+// // Write the contents of S3 Object to the file
+// n, err := downloader.Download(f, &s3.GetObjectInput{
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myString),
+// })
+// if err != nil {
+// return fmt.Errorf("failed to upload file, %v", err)
+// }
+// fmt.Printf("file downloaded, %d bytes\n", n)
+//
+// See the s3manager package's Downloader type documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#Downloader
+//
+// Get Bucket Region
+//
+// GetBucketRegion will attempt to get the region for a bucket using a region
+// hint to determine which AWS partition to perform the query on. Use this utility
+// to determine the region a bucket is in.
+//
+// sess := session.Must(session.NewSession())
+//
+// bucket := "my-bucket"
+// region, err := s3manager.GetBucketRegion(ctx, sess, bucket, "us-west-2")
+// if err != nil {
+// if aerr, ok := err.(awserr.Error); ok && aerr.Code() == "NotFound" {
+// fmt.Fprintf(os.Stderr, "unable to find bucket %s's region not found\n", bucket)
+// }
+// return err
+// }
+// fmt.Printf("Bucket %s is in %s region\n", bucket, region)
+//
+// See the s3manager package's GetBucketRegion function documentation for more information
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3manager/#GetBucketRegion
+//
+// S3 Crypto Client
+//
+// The s3crypto package provides the tools to upload and download encrypted
+// content from S3. The Encryption and Decryption clients can be used concurrently
+// once the client is created.
+//
+// sess := session.Must(session.NewSession())
+//
+// // Create the decryption client.
+// svc := s3crypto.NewDecryptionClient(sess)
+//
+// // The object will be downloaded from S3 and decrypted locally. By metadata
+// // about the object's encryption will instruct the decryption client how
+// // decrypt the content of the object. By default KMS is used for keys.
+// result, err := svc.GetObject(&s3.GetObjectInput {
+// Bucket: aws.String(myBucket),
+// Key: aws.String(myKey),
+// })
+//
+// See the s3crypto package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/s3/s3crypto/
+//
+package s3
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
index 13ebbdad..931cb17b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/errors.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package s3
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
index ec3ffe44..a7fbc2de 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/host_style_bucket.go
@@ -8,7 +8,6 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -113,15 +112,9 @@ func updateEndpointForAccelerate(r *request.Request) {
// Attempts to retrieve the bucket name from the request input parameters.
// If no bucket is found, or the field is empty "", false will be returned.
func bucketNameFromReqParams(params interface{}) (string, bool) {
- b, _ := awsutil.ValuesAtPath(params, "Bucket")
- if len(b) == 0 {
- return "", false
- }
-
- if bucket, ok := b[0].(*string); ok {
- if bucketStr := aws.StringValue(bucket); bucketStr != "" {
- return bucketStr, true
- }
+ if iface, ok := params.(bucketGetter); ok {
+ b := iface.getBucket()
+ return b, len(b) > 0
}
return "", false
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
index c2f840e3..34e71df0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3iface/interface.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
// Package s3iface provides an interface to enable mocking the Amazon Simple Storage Service service client
// for testing your code.
@@ -9,6 +9,7 @@
package s3iface
import (
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/service/s3"
)
@@ -20,7 +21,7 @@ import (
//
// The best way to use this interface is so the SDK's service client's calls
// can be stubbed out for unit testing your code with the SDK without needing
-// to inject custom request handlers into the the SDK's request pipeline.
+// to inject custom request handlers into the SDK's request pipeline.
//
// // myFunc uses an SDK service client to make a request to
// // Amazon Simple Storage Service.
@@ -59,319 +60,328 @@ import (
// and waiters. Its suggested to use the pattern above for testing, or using
// tooling to generate mocks to satisfy the interfaces.
type S3API interface {
- AbortMultipartUploadRequest(*s3.AbortMultipartUploadInput) (*request.Request, *s3.AbortMultipartUploadOutput)
-
AbortMultipartUpload(*s3.AbortMultipartUploadInput) (*s3.AbortMultipartUploadOutput, error)
-
- CompleteMultipartUploadRequest(*s3.CompleteMultipartUploadInput) (*request.Request, *s3.CompleteMultipartUploadOutput)
+ AbortMultipartUploadWithContext(aws.Context, *s3.AbortMultipartUploadInput, ...request.Option) (*s3.AbortMultipartUploadOutput, error)
+ AbortMultipartUploadRequest(*s3.AbortMultipartUploadInput) (*request.Request, *s3.AbortMultipartUploadOutput)
CompleteMultipartUpload(*s3.CompleteMultipartUploadInput) (*s3.CompleteMultipartUploadOutput, error)
-
- CopyObjectRequest(*s3.CopyObjectInput) (*request.Request, *s3.CopyObjectOutput)
+ CompleteMultipartUploadWithContext(aws.Context, *s3.CompleteMultipartUploadInput, ...request.Option) (*s3.CompleteMultipartUploadOutput, error)
+ CompleteMultipartUploadRequest(*s3.CompleteMultipartUploadInput) (*request.Request, *s3.CompleteMultipartUploadOutput)
CopyObject(*s3.CopyObjectInput) (*s3.CopyObjectOutput, error)
-
- CreateBucketRequest(*s3.CreateBucketInput) (*request.Request, *s3.CreateBucketOutput)
+ CopyObjectWithContext(aws.Context, *s3.CopyObjectInput, ...request.Option) (*s3.CopyObjectOutput, error)
+ CopyObjectRequest(*s3.CopyObjectInput) (*request.Request, *s3.CopyObjectOutput)
CreateBucket(*s3.CreateBucketInput) (*s3.CreateBucketOutput, error)
-
- CreateMultipartUploadRequest(*s3.CreateMultipartUploadInput) (*request.Request, *s3.CreateMultipartUploadOutput)
+ CreateBucketWithContext(aws.Context, *s3.CreateBucketInput, ...request.Option) (*s3.CreateBucketOutput, error)
+ CreateBucketRequest(*s3.CreateBucketInput) (*request.Request, *s3.CreateBucketOutput)
CreateMultipartUpload(*s3.CreateMultipartUploadInput) (*s3.CreateMultipartUploadOutput, error)
-
- DeleteBucketRequest(*s3.DeleteBucketInput) (*request.Request, *s3.DeleteBucketOutput)
+ CreateMultipartUploadWithContext(aws.Context, *s3.CreateMultipartUploadInput, ...request.Option) (*s3.CreateMultipartUploadOutput, error)
+ CreateMultipartUploadRequest(*s3.CreateMultipartUploadInput) (*request.Request, *s3.CreateMultipartUploadOutput)
DeleteBucket(*s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error)
-
- DeleteBucketAnalyticsConfigurationRequest(*s3.DeleteBucketAnalyticsConfigurationInput) (*request.Request, *s3.DeleteBucketAnalyticsConfigurationOutput)
+ DeleteBucketWithContext(aws.Context, *s3.DeleteBucketInput, ...request.Option) (*s3.DeleteBucketOutput, error)
+ DeleteBucketRequest(*s3.DeleteBucketInput) (*request.Request, *s3.DeleteBucketOutput)
DeleteBucketAnalyticsConfiguration(*s3.DeleteBucketAnalyticsConfigurationInput) (*s3.DeleteBucketAnalyticsConfigurationOutput, error)
-
- DeleteBucketCorsRequest(*s3.DeleteBucketCorsInput) (*request.Request, *s3.DeleteBucketCorsOutput)
+ DeleteBucketAnalyticsConfigurationWithContext(aws.Context, *s3.DeleteBucketAnalyticsConfigurationInput, ...request.Option) (*s3.DeleteBucketAnalyticsConfigurationOutput, error)
+ DeleteBucketAnalyticsConfigurationRequest(*s3.DeleteBucketAnalyticsConfigurationInput) (*request.Request, *s3.DeleteBucketAnalyticsConfigurationOutput)
DeleteBucketCors(*s3.DeleteBucketCorsInput) (*s3.DeleteBucketCorsOutput, error)
-
- DeleteBucketInventoryConfigurationRequest(*s3.DeleteBucketInventoryConfigurationInput) (*request.Request, *s3.DeleteBucketInventoryConfigurationOutput)
+ DeleteBucketCorsWithContext(aws.Context, *s3.DeleteBucketCorsInput, ...request.Option) (*s3.DeleteBucketCorsOutput, error)
+ DeleteBucketCorsRequest(*s3.DeleteBucketCorsInput) (*request.Request, *s3.DeleteBucketCorsOutput)
DeleteBucketInventoryConfiguration(*s3.DeleteBucketInventoryConfigurationInput) (*s3.DeleteBucketInventoryConfigurationOutput, error)
-
- DeleteBucketLifecycleRequest(*s3.DeleteBucketLifecycleInput) (*request.Request, *s3.DeleteBucketLifecycleOutput)
+ DeleteBucketInventoryConfigurationWithContext(aws.Context, *s3.DeleteBucketInventoryConfigurationInput, ...request.Option) (*s3.DeleteBucketInventoryConfigurationOutput, error)
+ DeleteBucketInventoryConfigurationRequest(*s3.DeleteBucketInventoryConfigurationInput) (*request.Request, *s3.DeleteBucketInventoryConfigurationOutput)
DeleteBucketLifecycle(*s3.DeleteBucketLifecycleInput) (*s3.DeleteBucketLifecycleOutput, error)
-
- DeleteBucketMetricsConfigurationRequest(*s3.DeleteBucketMetricsConfigurationInput) (*request.Request, *s3.DeleteBucketMetricsConfigurationOutput)
+ DeleteBucketLifecycleWithContext(aws.Context, *s3.DeleteBucketLifecycleInput, ...request.Option) (*s3.DeleteBucketLifecycleOutput, error)
+ DeleteBucketLifecycleRequest(*s3.DeleteBucketLifecycleInput) (*request.Request, *s3.DeleteBucketLifecycleOutput)
DeleteBucketMetricsConfiguration(*s3.DeleteBucketMetricsConfigurationInput) (*s3.DeleteBucketMetricsConfigurationOutput, error)
-
- DeleteBucketPolicyRequest(*s3.DeleteBucketPolicyInput) (*request.Request, *s3.DeleteBucketPolicyOutput)
+ DeleteBucketMetricsConfigurationWithContext(aws.Context, *s3.DeleteBucketMetricsConfigurationInput, ...request.Option) (*s3.DeleteBucketMetricsConfigurationOutput, error)
+ DeleteBucketMetricsConfigurationRequest(*s3.DeleteBucketMetricsConfigurationInput) (*request.Request, *s3.DeleteBucketMetricsConfigurationOutput)
DeleteBucketPolicy(*s3.DeleteBucketPolicyInput) (*s3.DeleteBucketPolicyOutput, error)
-
- DeleteBucketReplicationRequest(*s3.DeleteBucketReplicationInput) (*request.Request, *s3.DeleteBucketReplicationOutput)
+ DeleteBucketPolicyWithContext(aws.Context, *s3.DeleteBucketPolicyInput, ...request.Option) (*s3.DeleteBucketPolicyOutput, error)
+ DeleteBucketPolicyRequest(*s3.DeleteBucketPolicyInput) (*request.Request, *s3.DeleteBucketPolicyOutput)
DeleteBucketReplication(*s3.DeleteBucketReplicationInput) (*s3.DeleteBucketReplicationOutput, error)
-
- DeleteBucketTaggingRequest(*s3.DeleteBucketTaggingInput) (*request.Request, *s3.DeleteBucketTaggingOutput)
+ DeleteBucketReplicationWithContext(aws.Context, *s3.DeleteBucketReplicationInput, ...request.Option) (*s3.DeleteBucketReplicationOutput, error)
+ DeleteBucketReplicationRequest(*s3.DeleteBucketReplicationInput) (*request.Request, *s3.DeleteBucketReplicationOutput)
DeleteBucketTagging(*s3.DeleteBucketTaggingInput) (*s3.DeleteBucketTaggingOutput, error)
-
- DeleteBucketWebsiteRequest(*s3.DeleteBucketWebsiteInput) (*request.Request, *s3.DeleteBucketWebsiteOutput)
+ DeleteBucketTaggingWithContext(aws.Context, *s3.DeleteBucketTaggingInput, ...request.Option) (*s3.DeleteBucketTaggingOutput, error)
+ DeleteBucketTaggingRequest(*s3.DeleteBucketTaggingInput) (*request.Request, *s3.DeleteBucketTaggingOutput)
DeleteBucketWebsite(*s3.DeleteBucketWebsiteInput) (*s3.DeleteBucketWebsiteOutput, error)
-
- DeleteObjectRequest(*s3.DeleteObjectInput) (*request.Request, *s3.DeleteObjectOutput)
+ DeleteBucketWebsiteWithContext(aws.Context, *s3.DeleteBucketWebsiteInput, ...request.Option) (*s3.DeleteBucketWebsiteOutput, error)
+ DeleteBucketWebsiteRequest(*s3.DeleteBucketWebsiteInput) (*request.Request, *s3.DeleteBucketWebsiteOutput)
DeleteObject(*s3.DeleteObjectInput) (*s3.DeleteObjectOutput, error)
-
- DeleteObjectTaggingRequest(*s3.DeleteObjectTaggingInput) (*request.Request, *s3.DeleteObjectTaggingOutput)
+ DeleteObjectWithContext(aws.Context, *s3.DeleteObjectInput, ...request.Option) (*s3.DeleteObjectOutput, error)
+ DeleteObjectRequest(*s3.DeleteObjectInput) (*request.Request, *s3.DeleteObjectOutput)
DeleteObjectTagging(*s3.DeleteObjectTaggingInput) (*s3.DeleteObjectTaggingOutput, error)
-
- DeleteObjectsRequest(*s3.DeleteObjectsInput) (*request.Request, *s3.DeleteObjectsOutput)
+ DeleteObjectTaggingWithContext(aws.Context, *s3.DeleteObjectTaggingInput, ...request.Option) (*s3.DeleteObjectTaggingOutput, error)
+ DeleteObjectTaggingRequest(*s3.DeleteObjectTaggingInput) (*request.Request, *s3.DeleteObjectTaggingOutput)
DeleteObjects(*s3.DeleteObjectsInput) (*s3.DeleteObjectsOutput, error)
-
- GetBucketAccelerateConfigurationRequest(*s3.GetBucketAccelerateConfigurationInput) (*request.Request, *s3.GetBucketAccelerateConfigurationOutput)
+ DeleteObjectsWithContext(aws.Context, *s3.DeleteObjectsInput, ...request.Option) (*s3.DeleteObjectsOutput, error)
+ DeleteObjectsRequest(*s3.DeleteObjectsInput) (*request.Request, *s3.DeleteObjectsOutput)
GetBucketAccelerateConfiguration(*s3.GetBucketAccelerateConfigurationInput) (*s3.GetBucketAccelerateConfigurationOutput, error)
-
- GetBucketAclRequest(*s3.GetBucketAclInput) (*request.Request, *s3.GetBucketAclOutput)
+ GetBucketAccelerateConfigurationWithContext(aws.Context, *s3.GetBucketAccelerateConfigurationInput, ...request.Option) (*s3.GetBucketAccelerateConfigurationOutput, error)
+ GetBucketAccelerateConfigurationRequest(*s3.GetBucketAccelerateConfigurationInput) (*request.Request, *s3.GetBucketAccelerateConfigurationOutput)
GetBucketAcl(*s3.GetBucketAclInput) (*s3.GetBucketAclOutput, error)
-
- GetBucketAnalyticsConfigurationRequest(*s3.GetBucketAnalyticsConfigurationInput) (*request.Request, *s3.GetBucketAnalyticsConfigurationOutput)
+ GetBucketAclWithContext(aws.Context, *s3.GetBucketAclInput, ...request.Option) (*s3.GetBucketAclOutput, error)
+ GetBucketAclRequest(*s3.GetBucketAclInput) (*request.Request, *s3.GetBucketAclOutput)
GetBucketAnalyticsConfiguration(*s3.GetBucketAnalyticsConfigurationInput) (*s3.GetBucketAnalyticsConfigurationOutput, error)
-
- GetBucketCorsRequest(*s3.GetBucketCorsInput) (*request.Request, *s3.GetBucketCorsOutput)
+ GetBucketAnalyticsConfigurationWithContext(aws.Context, *s3.GetBucketAnalyticsConfigurationInput, ...request.Option) (*s3.GetBucketAnalyticsConfigurationOutput, error)
+ GetBucketAnalyticsConfigurationRequest(*s3.GetBucketAnalyticsConfigurationInput) (*request.Request, *s3.GetBucketAnalyticsConfigurationOutput)
GetBucketCors(*s3.GetBucketCorsInput) (*s3.GetBucketCorsOutput, error)
-
- GetBucketInventoryConfigurationRequest(*s3.GetBucketInventoryConfigurationInput) (*request.Request, *s3.GetBucketInventoryConfigurationOutput)
+ GetBucketCorsWithContext(aws.Context, *s3.GetBucketCorsInput, ...request.Option) (*s3.GetBucketCorsOutput, error)
+ GetBucketCorsRequest(*s3.GetBucketCorsInput) (*request.Request, *s3.GetBucketCorsOutput)
GetBucketInventoryConfiguration(*s3.GetBucketInventoryConfigurationInput) (*s3.GetBucketInventoryConfigurationOutput, error)
-
- GetBucketLifecycleRequest(*s3.GetBucketLifecycleInput) (*request.Request, *s3.GetBucketLifecycleOutput)
+ GetBucketInventoryConfigurationWithContext(aws.Context, *s3.GetBucketInventoryConfigurationInput, ...request.Option) (*s3.GetBucketInventoryConfigurationOutput, error)
+ GetBucketInventoryConfigurationRequest(*s3.GetBucketInventoryConfigurationInput) (*request.Request, *s3.GetBucketInventoryConfigurationOutput)
GetBucketLifecycle(*s3.GetBucketLifecycleInput) (*s3.GetBucketLifecycleOutput, error)
-
- GetBucketLifecycleConfigurationRequest(*s3.GetBucketLifecycleConfigurationInput) (*request.Request, *s3.GetBucketLifecycleConfigurationOutput)
+ GetBucketLifecycleWithContext(aws.Context, *s3.GetBucketLifecycleInput, ...request.Option) (*s3.GetBucketLifecycleOutput, error)
+ GetBucketLifecycleRequest(*s3.GetBucketLifecycleInput) (*request.Request, *s3.GetBucketLifecycleOutput)
GetBucketLifecycleConfiguration(*s3.GetBucketLifecycleConfigurationInput) (*s3.GetBucketLifecycleConfigurationOutput, error)
-
- GetBucketLocationRequest(*s3.GetBucketLocationInput) (*request.Request, *s3.GetBucketLocationOutput)
+ GetBucketLifecycleConfigurationWithContext(aws.Context, *s3.GetBucketLifecycleConfigurationInput, ...request.Option) (*s3.GetBucketLifecycleConfigurationOutput, error)
+ GetBucketLifecycleConfigurationRequest(*s3.GetBucketLifecycleConfigurationInput) (*request.Request, *s3.GetBucketLifecycleConfigurationOutput)
GetBucketLocation(*s3.GetBucketLocationInput) (*s3.GetBucketLocationOutput, error)
-
- GetBucketLoggingRequest(*s3.GetBucketLoggingInput) (*request.Request, *s3.GetBucketLoggingOutput)
+ GetBucketLocationWithContext(aws.Context, *s3.GetBucketLocationInput, ...request.Option) (*s3.GetBucketLocationOutput, error)
+ GetBucketLocationRequest(*s3.GetBucketLocationInput) (*request.Request, *s3.GetBucketLocationOutput)
GetBucketLogging(*s3.GetBucketLoggingInput) (*s3.GetBucketLoggingOutput, error)
-
- GetBucketMetricsConfigurationRequest(*s3.GetBucketMetricsConfigurationInput) (*request.Request, *s3.GetBucketMetricsConfigurationOutput)
+ GetBucketLoggingWithContext(aws.Context, *s3.GetBucketLoggingInput, ...request.Option) (*s3.GetBucketLoggingOutput, error)
+ GetBucketLoggingRequest(*s3.GetBucketLoggingInput) (*request.Request, *s3.GetBucketLoggingOutput)
GetBucketMetricsConfiguration(*s3.GetBucketMetricsConfigurationInput) (*s3.GetBucketMetricsConfigurationOutput, error)
-
- GetBucketNotificationRequest(*s3.GetBucketNotificationConfigurationRequest) (*request.Request, *s3.NotificationConfigurationDeprecated)
+ GetBucketMetricsConfigurationWithContext(aws.Context, *s3.GetBucketMetricsConfigurationInput, ...request.Option) (*s3.GetBucketMetricsConfigurationOutput, error)
+ GetBucketMetricsConfigurationRequest(*s3.GetBucketMetricsConfigurationInput) (*request.Request, *s3.GetBucketMetricsConfigurationOutput)
GetBucketNotification(*s3.GetBucketNotificationConfigurationRequest) (*s3.NotificationConfigurationDeprecated, error)
-
- GetBucketNotificationConfigurationRequest(*s3.GetBucketNotificationConfigurationRequest) (*request.Request, *s3.NotificationConfiguration)
+ GetBucketNotificationWithContext(aws.Context, *s3.GetBucketNotificationConfigurationRequest, ...request.Option) (*s3.NotificationConfigurationDeprecated, error)
+ GetBucketNotificationRequest(*s3.GetBucketNotificationConfigurationRequest) (*request.Request, *s3.NotificationConfigurationDeprecated)
GetBucketNotificationConfiguration(*s3.GetBucketNotificationConfigurationRequest) (*s3.NotificationConfiguration, error)
-
- GetBucketPolicyRequest(*s3.GetBucketPolicyInput) (*request.Request, *s3.GetBucketPolicyOutput)
+ GetBucketNotificationConfigurationWithContext(aws.Context, *s3.GetBucketNotificationConfigurationRequest, ...request.Option) (*s3.NotificationConfiguration, error)
+ GetBucketNotificationConfigurationRequest(*s3.GetBucketNotificationConfigurationRequest) (*request.Request, *s3.NotificationConfiguration)
GetBucketPolicy(*s3.GetBucketPolicyInput) (*s3.GetBucketPolicyOutput, error)
-
- GetBucketReplicationRequest(*s3.GetBucketReplicationInput) (*request.Request, *s3.GetBucketReplicationOutput)
+ GetBucketPolicyWithContext(aws.Context, *s3.GetBucketPolicyInput, ...request.Option) (*s3.GetBucketPolicyOutput, error)
+ GetBucketPolicyRequest(*s3.GetBucketPolicyInput) (*request.Request, *s3.GetBucketPolicyOutput)
GetBucketReplication(*s3.GetBucketReplicationInput) (*s3.GetBucketReplicationOutput, error)
-
- GetBucketRequestPaymentRequest(*s3.GetBucketRequestPaymentInput) (*request.Request, *s3.GetBucketRequestPaymentOutput)
+ GetBucketReplicationWithContext(aws.Context, *s3.GetBucketReplicationInput, ...request.Option) (*s3.GetBucketReplicationOutput, error)
+ GetBucketReplicationRequest(*s3.GetBucketReplicationInput) (*request.Request, *s3.GetBucketReplicationOutput)
GetBucketRequestPayment(*s3.GetBucketRequestPaymentInput) (*s3.GetBucketRequestPaymentOutput, error)
-
- GetBucketTaggingRequest(*s3.GetBucketTaggingInput) (*request.Request, *s3.GetBucketTaggingOutput)
+ GetBucketRequestPaymentWithContext(aws.Context, *s3.GetBucketRequestPaymentInput, ...request.Option) (*s3.GetBucketRequestPaymentOutput, error)
+ GetBucketRequestPaymentRequest(*s3.GetBucketRequestPaymentInput) (*request.Request, *s3.GetBucketRequestPaymentOutput)
GetBucketTagging(*s3.GetBucketTaggingInput) (*s3.GetBucketTaggingOutput, error)
-
- GetBucketVersioningRequest(*s3.GetBucketVersioningInput) (*request.Request, *s3.GetBucketVersioningOutput)
+ GetBucketTaggingWithContext(aws.Context, *s3.GetBucketTaggingInput, ...request.Option) (*s3.GetBucketTaggingOutput, error)
+ GetBucketTaggingRequest(*s3.GetBucketTaggingInput) (*request.Request, *s3.GetBucketTaggingOutput)
GetBucketVersioning(*s3.GetBucketVersioningInput) (*s3.GetBucketVersioningOutput, error)
-
- GetBucketWebsiteRequest(*s3.GetBucketWebsiteInput) (*request.Request, *s3.GetBucketWebsiteOutput)
+ GetBucketVersioningWithContext(aws.Context, *s3.GetBucketVersioningInput, ...request.Option) (*s3.GetBucketVersioningOutput, error)
+ GetBucketVersioningRequest(*s3.GetBucketVersioningInput) (*request.Request, *s3.GetBucketVersioningOutput)
GetBucketWebsite(*s3.GetBucketWebsiteInput) (*s3.GetBucketWebsiteOutput, error)
-
- GetObjectRequest(*s3.GetObjectInput) (*request.Request, *s3.GetObjectOutput)
+ GetBucketWebsiteWithContext(aws.Context, *s3.GetBucketWebsiteInput, ...request.Option) (*s3.GetBucketWebsiteOutput, error)
+ GetBucketWebsiteRequest(*s3.GetBucketWebsiteInput) (*request.Request, *s3.GetBucketWebsiteOutput)
GetObject(*s3.GetObjectInput) (*s3.GetObjectOutput, error)
-
- GetObjectAclRequest(*s3.GetObjectAclInput) (*request.Request, *s3.GetObjectAclOutput)
+ GetObjectWithContext(aws.Context, *s3.GetObjectInput, ...request.Option) (*s3.GetObjectOutput, error)
+ GetObjectRequest(*s3.GetObjectInput) (*request.Request, *s3.GetObjectOutput)
GetObjectAcl(*s3.GetObjectAclInput) (*s3.GetObjectAclOutput, error)
-
- GetObjectTaggingRequest(*s3.GetObjectTaggingInput) (*request.Request, *s3.GetObjectTaggingOutput)
+ GetObjectAclWithContext(aws.Context, *s3.GetObjectAclInput, ...request.Option) (*s3.GetObjectAclOutput, error)
+ GetObjectAclRequest(*s3.GetObjectAclInput) (*request.Request, *s3.GetObjectAclOutput)
GetObjectTagging(*s3.GetObjectTaggingInput) (*s3.GetObjectTaggingOutput, error)
-
- GetObjectTorrentRequest(*s3.GetObjectTorrentInput) (*request.Request, *s3.GetObjectTorrentOutput)
+ GetObjectTaggingWithContext(aws.Context, *s3.GetObjectTaggingInput, ...request.Option) (*s3.GetObjectTaggingOutput, error)
+ GetObjectTaggingRequest(*s3.GetObjectTaggingInput) (*request.Request, *s3.GetObjectTaggingOutput)
GetObjectTorrent(*s3.GetObjectTorrentInput) (*s3.GetObjectTorrentOutput, error)
-
- HeadBucketRequest(*s3.HeadBucketInput) (*request.Request, *s3.HeadBucketOutput)
+ GetObjectTorrentWithContext(aws.Context, *s3.GetObjectTorrentInput, ...request.Option) (*s3.GetObjectTorrentOutput, error)
+ GetObjectTorrentRequest(*s3.GetObjectTorrentInput) (*request.Request, *s3.GetObjectTorrentOutput)
HeadBucket(*s3.HeadBucketInput) (*s3.HeadBucketOutput, error)
-
- HeadObjectRequest(*s3.HeadObjectInput) (*request.Request, *s3.HeadObjectOutput)
+ HeadBucketWithContext(aws.Context, *s3.HeadBucketInput, ...request.Option) (*s3.HeadBucketOutput, error)
+ HeadBucketRequest(*s3.HeadBucketInput) (*request.Request, *s3.HeadBucketOutput)
HeadObject(*s3.HeadObjectInput) (*s3.HeadObjectOutput, error)
-
- ListBucketAnalyticsConfigurationsRequest(*s3.ListBucketAnalyticsConfigurationsInput) (*request.Request, *s3.ListBucketAnalyticsConfigurationsOutput)
+ HeadObjectWithContext(aws.Context, *s3.HeadObjectInput, ...request.Option) (*s3.HeadObjectOutput, error)
+ HeadObjectRequest(*s3.HeadObjectInput) (*request.Request, *s3.HeadObjectOutput)
ListBucketAnalyticsConfigurations(*s3.ListBucketAnalyticsConfigurationsInput) (*s3.ListBucketAnalyticsConfigurationsOutput, error)
-
- ListBucketInventoryConfigurationsRequest(*s3.ListBucketInventoryConfigurationsInput) (*request.Request, *s3.ListBucketInventoryConfigurationsOutput)
+ ListBucketAnalyticsConfigurationsWithContext(aws.Context, *s3.ListBucketAnalyticsConfigurationsInput, ...request.Option) (*s3.ListBucketAnalyticsConfigurationsOutput, error)
+ ListBucketAnalyticsConfigurationsRequest(*s3.ListBucketAnalyticsConfigurationsInput) (*request.Request, *s3.ListBucketAnalyticsConfigurationsOutput)
ListBucketInventoryConfigurations(*s3.ListBucketInventoryConfigurationsInput) (*s3.ListBucketInventoryConfigurationsOutput, error)
-
- ListBucketMetricsConfigurationsRequest(*s3.ListBucketMetricsConfigurationsInput) (*request.Request, *s3.ListBucketMetricsConfigurationsOutput)
+ ListBucketInventoryConfigurationsWithContext(aws.Context, *s3.ListBucketInventoryConfigurationsInput, ...request.Option) (*s3.ListBucketInventoryConfigurationsOutput, error)
+ ListBucketInventoryConfigurationsRequest(*s3.ListBucketInventoryConfigurationsInput) (*request.Request, *s3.ListBucketInventoryConfigurationsOutput)
ListBucketMetricsConfigurations(*s3.ListBucketMetricsConfigurationsInput) (*s3.ListBucketMetricsConfigurationsOutput, error)
-
- ListBucketsRequest(*s3.ListBucketsInput) (*request.Request, *s3.ListBucketsOutput)
+ ListBucketMetricsConfigurationsWithContext(aws.Context, *s3.ListBucketMetricsConfigurationsInput, ...request.Option) (*s3.ListBucketMetricsConfigurationsOutput, error)
+ ListBucketMetricsConfigurationsRequest(*s3.ListBucketMetricsConfigurationsInput) (*request.Request, *s3.ListBucketMetricsConfigurationsOutput)
ListBuckets(*s3.ListBucketsInput) (*s3.ListBucketsOutput, error)
-
- ListMultipartUploadsRequest(*s3.ListMultipartUploadsInput) (*request.Request, *s3.ListMultipartUploadsOutput)
+ ListBucketsWithContext(aws.Context, *s3.ListBucketsInput, ...request.Option) (*s3.ListBucketsOutput, error)
+ ListBucketsRequest(*s3.ListBucketsInput) (*request.Request, *s3.ListBucketsOutput)
ListMultipartUploads(*s3.ListMultipartUploadsInput) (*s3.ListMultipartUploadsOutput, error)
+ ListMultipartUploadsWithContext(aws.Context, *s3.ListMultipartUploadsInput, ...request.Option) (*s3.ListMultipartUploadsOutput, error)
+ ListMultipartUploadsRequest(*s3.ListMultipartUploadsInput) (*request.Request, *s3.ListMultipartUploadsOutput)
ListMultipartUploadsPages(*s3.ListMultipartUploadsInput, func(*s3.ListMultipartUploadsOutput, bool) bool) error
-
- ListObjectVersionsRequest(*s3.ListObjectVersionsInput) (*request.Request, *s3.ListObjectVersionsOutput)
+ ListMultipartUploadsPagesWithContext(aws.Context, *s3.ListMultipartUploadsInput, func(*s3.ListMultipartUploadsOutput, bool) bool, ...request.Option) error
ListObjectVersions(*s3.ListObjectVersionsInput) (*s3.ListObjectVersionsOutput, error)
+ ListObjectVersionsWithContext(aws.Context, *s3.ListObjectVersionsInput, ...request.Option) (*s3.ListObjectVersionsOutput, error)
+ ListObjectVersionsRequest(*s3.ListObjectVersionsInput) (*request.Request, *s3.ListObjectVersionsOutput)
ListObjectVersionsPages(*s3.ListObjectVersionsInput, func(*s3.ListObjectVersionsOutput, bool) bool) error
-
- ListObjectsRequest(*s3.ListObjectsInput) (*request.Request, *s3.ListObjectsOutput)
+ ListObjectVersionsPagesWithContext(aws.Context, *s3.ListObjectVersionsInput, func(*s3.ListObjectVersionsOutput, bool) bool, ...request.Option) error
ListObjects(*s3.ListObjectsInput) (*s3.ListObjectsOutput, error)
+ ListObjectsWithContext(aws.Context, *s3.ListObjectsInput, ...request.Option) (*s3.ListObjectsOutput, error)
+ ListObjectsRequest(*s3.ListObjectsInput) (*request.Request, *s3.ListObjectsOutput)
ListObjectsPages(*s3.ListObjectsInput, func(*s3.ListObjectsOutput, bool) bool) error
-
- ListObjectsV2Request(*s3.ListObjectsV2Input) (*request.Request, *s3.ListObjectsV2Output)
+ ListObjectsPagesWithContext(aws.Context, *s3.ListObjectsInput, func(*s3.ListObjectsOutput, bool) bool, ...request.Option) error
ListObjectsV2(*s3.ListObjectsV2Input) (*s3.ListObjectsV2Output, error)
+ ListObjectsV2WithContext(aws.Context, *s3.ListObjectsV2Input, ...request.Option) (*s3.ListObjectsV2Output, error)
+ ListObjectsV2Request(*s3.ListObjectsV2Input) (*request.Request, *s3.ListObjectsV2Output)
ListObjectsV2Pages(*s3.ListObjectsV2Input, func(*s3.ListObjectsV2Output, bool) bool) error
-
- ListPartsRequest(*s3.ListPartsInput) (*request.Request, *s3.ListPartsOutput)
+ ListObjectsV2PagesWithContext(aws.Context, *s3.ListObjectsV2Input, func(*s3.ListObjectsV2Output, bool) bool, ...request.Option) error
ListParts(*s3.ListPartsInput) (*s3.ListPartsOutput, error)
+ ListPartsWithContext(aws.Context, *s3.ListPartsInput, ...request.Option) (*s3.ListPartsOutput, error)
+ ListPartsRequest(*s3.ListPartsInput) (*request.Request, *s3.ListPartsOutput)
ListPartsPages(*s3.ListPartsInput, func(*s3.ListPartsOutput, bool) bool) error
-
- PutBucketAccelerateConfigurationRequest(*s3.PutBucketAccelerateConfigurationInput) (*request.Request, *s3.PutBucketAccelerateConfigurationOutput)
+ ListPartsPagesWithContext(aws.Context, *s3.ListPartsInput, func(*s3.ListPartsOutput, bool) bool, ...request.Option) error
PutBucketAccelerateConfiguration(*s3.PutBucketAccelerateConfigurationInput) (*s3.PutBucketAccelerateConfigurationOutput, error)
-
- PutBucketAclRequest(*s3.PutBucketAclInput) (*request.Request, *s3.PutBucketAclOutput)
+ PutBucketAccelerateConfigurationWithContext(aws.Context, *s3.PutBucketAccelerateConfigurationInput, ...request.Option) (*s3.PutBucketAccelerateConfigurationOutput, error)
+ PutBucketAccelerateConfigurationRequest(*s3.PutBucketAccelerateConfigurationInput) (*request.Request, *s3.PutBucketAccelerateConfigurationOutput)
PutBucketAcl(*s3.PutBucketAclInput) (*s3.PutBucketAclOutput, error)
-
- PutBucketAnalyticsConfigurationRequest(*s3.PutBucketAnalyticsConfigurationInput) (*request.Request, *s3.PutBucketAnalyticsConfigurationOutput)
+ PutBucketAclWithContext(aws.Context, *s3.PutBucketAclInput, ...request.Option) (*s3.PutBucketAclOutput, error)
+ PutBucketAclRequest(*s3.PutBucketAclInput) (*request.Request, *s3.PutBucketAclOutput)
PutBucketAnalyticsConfiguration(*s3.PutBucketAnalyticsConfigurationInput) (*s3.PutBucketAnalyticsConfigurationOutput, error)
-
- PutBucketCorsRequest(*s3.PutBucketCorsInput) (*request.Request, *s3.PutBucketCorsOutput)
+ PutBucketAnalyticsConfigurationWithContext(aws.Context, *s3.PutBucketAnalyticsConfigurationInput, ...request.Option) (*s3.PutBucketAnalyticsConfigurationOutput, error)
+ PutBucketAnalyticsConfigurationRequest(*s3.PutBucketAnalyticsConfigurationInput) (*request.Request, *s3.PutBucketAnalyticsConfigurationOutput)
PutBucketCors(*s3.PutBucketCorsInput) (*s3.PutBucketCorsOutput, error)
-
- PutBucketInventoryConfigurationRequest(*s3.PutBucketInventoryConfigurationInput) (*request.Request, *s3.PutBucketInventoryConfigurationOutput)
+ PutBucketCorsWithContext(aws.Context, *s3.PutBucketCorsInput, ...request.Option) (*s3.PutBucketCorsOutput, error)
+ PutBucketCorsRequest(*s3.PutBucketCorsInput) (*request.Request, *s3.PutBucketCorsOutput)
PutBucketInventoryConfiguration(*s3.PutBucketInventoryConfigurationInput) (*s3.PutBucketInventoryConfigurationOutput, error)
-
- PutBucketLifecycleRequest(*s3.PutBucketLifecycleInput) (*request.Request, *s3.PutBucketLifecycleOutput)
+ PutBucketInventoryConfigurationWithContext(aws.Context, *s3.PutBucketInventoryConfigurationInput, ...request.Option) (*s3.PutBucketInventoryConfigurationOutput, error)
+ PutBucketInventoryConfigurationRequest(*s3.PutBucketInventoryConfigurationInput) (*request.Request, *s3.PutBucketInventoryConfigurationOutput)
PutBucketLifecycle(*s3.PutBucketLifecycleInput) (*s3.PutBucketLifecycleOutput, error)
-
- PutBucketLifecycleConfigurationRequest(*s3.PutBucketLifecycleConfigurationInput) (*request.Request, *s3.PutBucketLifecycleConfigurationOutput)
+ PutBucketLifecycleWithContext(aws.Context, *s3.PutBucketLifecycleInput, ...request.Option) (*s3.PutBucketLifecycleOutput, error)
+ PutBucketLifecycleRequest(*s3.PutBucketLifecycleInput) (*request.Request, *s3.PutBucketLifecycleOutput)
PutBucketLifecycleConfiguration(*s3.PutBucketLifecycleConfigurationInput) (*s3.PutBucketLifecycleConfigurationOutput, error)
-
- PutBucketLoggingRequest(*s3.PutBucketLoggingInput) (*request.Request, *s3.PutBucketLoggingOutput)
+ PutBucketLifecycleConfigurationWithContext(aws.Context, *s3.PutBucketLifecycleConfigurationInput, ...request.Option) (*s3.PutBucketLifecycleConfigurationOutput, error)
+ PutBucketLifecycleConfigurationRequest(*s3.PutBucketLifecycleConfigurationInput) (*request.Request, *s3.PutBucketLifecycleConfigurationOutput)
PutBucketLogging(*s3.PutBucketLoggingInput) (*s3.PutBucketLoggingOutput, error)
-
- PutBucketMetricsConfigurationRequest(*s3.PutBucketMetricsConfigurationInput) (*request.Request, *s3.PutBucketMetricsConfigurationOutput)
+ PutBucketLoggingWithContext(aws.Context, *s3.PutBucketLoggingInput, ...request.Option) (*s3.PutBucketLoggingOutput, error)
+ PutBucketLoggingRequest(*s3.PutBucketLoggingInput) (*request.Request, *s3.PutBucketLoggingOutput)
PutBucketMetricsConfiguration(*s3.PutBucketMetricsConfigurationInput) (*s3.PutBucketMetricsConfigurationOutput, error)
-
- PutBucketNotificationRequest(*s3.PutBucketNotificationInput) (*request.Request, *s3.PutBucketNotificationOutput)
+ PutBucketMetricsConfigurationWithContext(aws.Context, *s3.PutBucketMetricsConfigurationInput, ...request.Option) (*s3.PutBucketMetricsConfigurationOutput, error)
+ PutBucketMetricsConfigurationRequest(*s3.PutBucketMetricsConfigurationInput) (*request.Request, *s3.PutBucketMetricsConfigurationOutput)
PutBucketNotification(*s3.PutBucketNotificationInput) (*s3.PutBucketNotificationOutput, error)
-
- PutBucketNotificationConfigurationRequest(*s3.PutBucketNotificationConfigurationInput) (*request.Request, *s3.PutBucketNotificationConfigurationOutput)
+ PutBucketNotificationWithContext(aws.Context, *s3.PutBucketNotificationInput, ...request.Option) (*s3.PutBucketNotificationOutput, error)
+ PutBucketNotificationRequest(*s3.PutBucketNotificationInput) (*request.Request, *s3.PutBucketNotificationOutput)
PutBucketNotificationConfiguration(*s3.PutBucketNotificationConfigurationInput) (*s3.PutBucketNotificationConfigurationOutput, error)
-
- PutBucketPolicyRequest(*s3.PutBucketPolicyInput) (*request.Request, *s3.PutBucketPolicyOutput)
+ PutBucketNotificationConfigurationWithContext(aws.Context, *s3.PutBucketNotificationConfigurationInput, ...request.Option) (*s3.PutBucketNotificationConfigurationOutput, error)
+ PutBucketNotificationConfigurationRequest(*s3.PutBucketNotificationConfigurationInput) (*request.Request, *s3.PutBucketNotificationConfigurationOutput)
PutBucketPolicy(*s3.PutBucketPolicyInput) (*s3.PutBucketPolicyOutput, error)
-
- PutBucketReplicationRequest(*s3.PutBucketReplicationInput) (*request.Request, *s3.PutBucketReplicationOutput)
+ PutBucketPolicyWithContext(aws.Context, *s3.PutBucketPolicyInput, ...request.Option) (*s3.PutBucketPolicyOutput, error)
+ PutBucketPolicyRequest(*s3.PutBucketPolicyInput) (*request.Request, *s3.PutBucketPolicyOutput)
PutBucketReplication(*s3.PutBucketReplicationInput) (*s3.PutBucketReplicationOutput, error)
-
- PutBucketRequestPaymentRequest(*s3.PutBucketRequestPaymentInput) (*request.Request, *s3.PutBucketRequestPaymentOutput)
+ PutBucketReplicationWithContext(aws.Context, *s3.PutBucketReplicationInput, ...request.Option) (*s3.PutBucketReplicationOutput, error)
+ PutBucketReplicationRequest(*s3.PutBucketReplicationInput) (*request.Request, *s3.PutBucketReplicationOutput)
PutBucketRequestPayment(*s3.PutBucketRequestPaymentInput) (*s3.PutBucketRequestPaymentOutput, error)
-
- PutBucketTaggingRequest(*s3.PutBucketTaggingInput) (*request.Request, *s3.PutBucketTaggingOutput)
+ PutBucketRequestPaymentWithContext(aws.Context, *s3.PutBucketRequestPaymentInput, ...request.Option) (*s3.PutBucketRequestPaymentOutput, error)
+ PutBucketRequestPaymentRequest(*s3.PutBucketRequestPaymentInput) (*request.Request, *s3.PutBucketRequestPaymentOutput)
PutBucketTagging(*s3.PutBucketTaggingInput) (*s3.PutBucketTaggingOutput, error)
-
- PutBucketVersioningRequest(*s3.PutBucketVersioningInput) (*request.Request, *s3.PutBucketVersioningOutput)
+ PutBucketTaggingWithContext(aws.Context, *s3.PutBucketTaggingInput, ...request.Option) (*s3.PutBucketTaggingOutput, error)
+ PutBucketTaggingRequest(*s3.PutBucketTaggingInput) (*request.Request, *s3.PutBucketTaggingOutput)
PutBucketVersioning(*s3.PutBucketVersioningInput) (*s3.PutBucketVersioningOutput, error)
-
- PutBucketWebsiteRequest(*s3.PutBucketWebsiteInput) (*request.Request, *s3.PutBucketWebsiteOutput)
+ PutBucketVersioningWithContext(aws.Context, *s3.PutBucketVersioningInput, ...request.Option) (*s3.PutBucketVersioningOutput, error)
+ PutBucketVersioningRequest(*s3.PutBucketVersioningInput) (*request.Request, *s3.PutBucketVersioningOutput)
PutBucketWebsite(*s3.PutBucketWebsiteInput) (*s3.PutBucketWebsiteOutput, error)
-
- PutObjectRequest(*s3.PutObjectInput) (*request.Request, *s3.PutObjectOutput)
+ PutBucketWebsiteWithContext(aws.Context, *s3.PutBucketWebsiteInput, ...request.Option) (*s3.PutBucketWebsiteOutput, error)
+ PutBucketWebsiteRequest(*s3.PutBucketWebsiteInput) (*request.Request, *s3.PutBucketWebsiteOutput)
PutObject(*s3.PutObjectInput) (*s3.PutObjectOutput, error)
-
- PutObjectAclRequest(*s3.PutObjectAclInput) (*request.Request, *s3.PutObjectAclOutput)
+ PutObjectWithContext(aws.Context, *s3.PutObjectInput, ...request.Option) (*s3.PutObjectOutput, error)
+ PutObjectRequest(*s3.PutObjectInput) (*request.Request, *s3.PutObjectOutput)
PutObjectAcl(*s3.PutObjectAclInput) (*s3.PutObjectAclOutput, error)
-
- PutObjectTaggingRequest(*s3.PutObjectTaggingInput) (*request.Request, *s3.PutObjectTaggingOutput)
+ PutObjectAclWithContext(aws.Context, *s3.PutObjectAclInput, ...request.Option) (*s3.PutObjectAclOutput, error)
+ PutObjectAclRequest(*s3.PutObjectAclInput) (*request.Request, *s3.PutObjectAclOutput)
PutObjectTagging(*s3.PutObjectTaggingInput) (*s3.PutObjectTaggingOutput, error)
-
- RestoreObjectRequest(*s3.RestoreObjectInput) (*request.Request, *s3.RestoreObjectOutput)
+ PutObjectTaggingWithContext(aws.Context, *s3.PutObjectTaggingInput, ...request.Option) (*s3.PutObjectTaggingOutput, error)
+ PutObjectTaggingRequest(*s3.PutObjectTaggingInput) (*request.Request, *s3.PutObjectTaggingOutput)
RestoreObject(*s3.RestoreObjectInput) (*s3.RestoreObjectOutput, error)
-
- UploadPartRequest(*s3.UploadPartInput) (*request.Request, *s3.UploadPartOutput)
+ RestoreObjectWithContext(aws.Context, *s3.RestoreObjectInput, ...request.Option) (*s3.RestoreObjectOutput, error)
+ RestoreObjectRequest(*s3.RestoreObjectInput) (*request.Request, *s3.RestoreObjectOutput)
UploadPart(*s3.UploadPartInput) (*s3.UploadPartOutput, error)
-
- UploadPartCopyRequest(*s3.UploadPartCopyInput) (*request.Request, *s3.UploadPartCopyOutput)
+ UploadPartWithContext(aws.Context, *s3.UploadPartInput, ...request.Option) (*s3.UploadPartOutput, error)
+ UploadPartRequest(*s3.UploadPartInput) (*request.Request, *s3.UploadPartOutput)
UploadPartCopy(*s3.UploadPartCopyInput) (*s3.UploadPartCopyOutput, error)
+ UploadPartCopyWithContext(aws.Context, *s3.UploadPartCopyInput, ...request.Option) (*s3.UploadPartCopyOutput, error)
+ UploadPartCopyRequest(*s3.UploadPartCopyInput) (*request.Request, *s3.UploadPartCopyOutput)
WaitUntilBucketExists(*s3.HeadBucketInput) error
+ WaitUntilBucketExistsWithContext(aws.Context, *s3.HeadBucketInput, ...request.WaiterOption) error
WaitUntilBucketNotExists(*s3.HeadBucketInput) error
+ WaitUntilBucketNotExistsWithContext(aws.Context, *s3.HeadBucketInput, ...request.WaiterOption) error
WaitUntilObjectExists(*s3.HeadObjectInput) error
+ WaitUntilObjectExistsWithContext(aws.Context, *s3.HeadObjectInput, ...request.WaiterOption) error
WaitUntilObjectNotExists(*s3.HeadObjectInput) error
+ WaitUntilObjectNotExistsWithContext(aws.Context, *s3.HeadObjectInput, ...request.WaiterOption) error
}
var _ S3API = (*s3.S3)(nil)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/batch.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/batch.go
new file mode 100644
index 00000000..33931c6a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/batch.go
@@ -0,0 +1,500 @@
+package s3manager
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/service/s3"
+ "github.com/aws/aws-sdk-go/service/s3/s3iface"
+)
+
+const (
+ // DefaultBatchSize is the batch size we initialize when constructing a batch delete client.
+ // This value is used when calling DeleteObjects. This represents how many objects to delete
+ // per DeleteObjects call.
+ DefaultBatchSize = 100
+)
+
+// BatchError will contain the key and bucket of the object that failed to
+// either upload or download.
+type BatchError struct {
+ Errors Errors
+ code string
+ message string
+}
+
+// Errors is a typed alias for a slice of errors to satisfy the error
+// interface.
+type Errors []Error
+
+func (errs Errors) Error() string {
+ buf := bytes.NewBuffer(nil)
+ for i, err := range errs {
+ buf.WriteString(err.Error())
+ if i+1 < len(errs) {
+ buf.WriteString("\n")
+ }
+ }
+ return buf.String()
+}
+
+// Error will contain the original error, bucket, and key of the operation that failed
+// during batch operations.
+type Error struct {
+ OrigErr error
+ Bucket *string
+ Key *string
+}
+
+func newError(err error, bucket, key *string) Error {
+ return Error{
+ err,
+ bucket,
+ key,
+ }
+}
+
+func (err *Error) Error() string {
+ return fmt.Sprintf("failed to upload %q to %q:\n%s", err.Key, err.Bucket, err.OrigErr.Error())
+}
+
+// NewBatchError will return a BatchError that satisfies the awserr.Error interface.
+func NewBatchError(code, message string, err []Error) awserr.Error {
+ return &BatchError{
+ Errors: err,
+ code: code,
+ message: message,
+ }
+}
+
+// Code will return the code associated with the batch error.
+func (err *BatchError) Code() string {
+ return err.code
+}
+
+// Message will return the message associated with the batch error.
+func (err *BatchError) Message() string {
+ return err.message
+}
+
+func (err *BatchError) Error() string {
+ return awserr.SprintError(err.Code(), err.Message(), "", err.Errors)
+}
+
+// OrigErr will return the original error. Which, in this case, will always be nil
+// for batched operations.
+func (err *BatchError) OrigErr() error {
+ return err.Errors
+}
+
+// BatchDeleteIterator is an interface that uses the scanner pattern to
+// iterate through what needs to be deleted.
+type BatchDeleteIterator interface {
+ Next() bool
+ Err() error
+ DeleteObject() BatchDeleteObject
+}
+
+// DeleteListIterator is an alternative iterator for the BatchDelete client. This will
+// iterate through a list of objects and delete the objects.
+//
+// Example:
+// iter := &s3manager.DeleteListIterator{
+// Client: svc,
+// Input: &s3.ListObjectsInput{
+// Bucket: aws.String("bucket"),
+// MaxKeys: aws.Int64(5),
+// },
+// Paginator: request.Pagination{
+// NewRequest: func() (*request.Request, error) {
+// var inCpy *ListObjectsInput
+// if input != nil {
+// tmp := *input
+// inCpy = &tmp
+// }
+// req, _ := c.ListObjectsRequest(inCpy)
+// return req, nil
+// },
+// },
+// }
+//
+// batcher := s3manager.NewBatchDeleteWithClient(svc)
+// if err := batcher.Delete(aws.BackgroundContext(), iter); err != nil {
+// return err
+// }
+type DeleteListIterator struct {
+ Bucket *string
+ Paginator request.Pagination
+ objects []*s3.Object
+}
+
+// NewDeleteListIterator will return a new DeleteListIterator.
+func NewDeleteListIterator(svc s3iface.S3API, input *s3.ListObjectsInput, opts ...func(*DeleteListIterator)) BatchDeleteIterator {
+ iter := &DeleteListIterator{
+ Bucket: input.Bucket,
+ Paginator: request.Pagination{
+ NewRequest: func() (*request.Request, error) {
+ var inCpy *s3.ListObjectsInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := svc.ListObjectsRequest(inCpy)
+ return req, nil
+ },
+ },
+ }
+
+ for _, opt := range opts {
+ opt(iter)
+ }
+ return iter
+}
+
+// Next will use the S3API client to iterate through a list of objects.
+func (iter *DeleteListIterator) Next() bool {
+ if len(iter.objects) > 0 {
+ iter.objects = iter.objects[1:]
+ }
+
+ if len(iter.objects) == 0 && iter.Paginator.Next() {
+ iter.objects = iter.Paginator.Page().(*s3.ListObjectsOutput).Contents
+ }
+
+ return len(iter.objects) > 0
+}
+
+// Err will return the last known error from Next.
+func (iter *DeleteListIterator) Err() error {
+ return iter.Paginator.Err()
+}
+
+// DeleteObject will return the current object to be deleted.
+func (iter *DeleteListIterator) DeleteObject() BatchDeleteObject {
+ return BatchDeleteObject{
+ Object: &s3.DeleteObjectInput{
+ Bucket: iter.Bucket,
+ Key: iter.objects[0].Key,
+ },
+ }
+}
+
+// BatchDelete will use the s3 package's service client to perform a batch
+// delete.
+type BatchDelete struct {
+ Client s3iface.S3API
+ BatchSize int
+}
+
+// NewBatchDeleteWithClient will return a new delete client that can delete a batched amount of
+// objects.
+//
+// Example:
+// batcher := s3manager.NewBatchDeleteWithClient(client, size)
+//
+// objects := []BatchDeleteObject{
+// {
+// Object: &s3.DeleteObjectInput {
+// Key: aws.String("key"),
+// Bucket: aws.String("bucket"),
+// },
+// },
+// }
+//
+// if err := batcher.Delete(&s3manager.DeleteObjectsIterator{
+// Objects: objects,
+// }); err != nil {
+// return err
+// }
+func NewBatchDeleteWithClient(client s3iface.S3API, options ...func(*BatchDelete)) *BatchDelete {
+ svc := &BatchDelete{
+ Client: client,
+ BatchSize: DefaultBatchSize,
+ }
+
+ for _, opt := range options {
+ opt(svc)
+ }
+
+ return svc
+}
+
+// NewBatchDelete will return a new delete client that can delete a batched amount of
+// objects.
+//
+// Example:
+// batcher := s3manager.NewBatchDelete(sess, size)
+//
+// objects := []BatchDeleteObject{
+// {
+// Object: &s3.DeleteObjectInput {
+// Key: aws.String("key"),
+// Bucket: aws.String("bucket"),
+// },
+// },
+// }
+//
+// if err := batcher.Delete(&s3manager.DeleteObjectsIterator{
+// Objects: objects,
+// }); err != nil {
+// return err
+// }
+func NewBatchDelete(c client.ConfigProvider, options ...func(*BatchDelete)) *BatchDelete {
+ client := s3.New(c)
+ return NewBatchDeleteWithClient(client, options...)
+}
+
+// BatchDeleteObject is a wrapper object for calling the batch delete operation.
+type BatchDeleteObject struct {
+ Object *s3.DeleteObjectInput
+ // After will run after each iteration during the batch process. This function will
+ // be executed whether or not the request was successful.
+ After func() error
+}
+
+// DeleteObjectsIterator is an interface that uses the scanner pattern to iterate
+// through a series of objects to be deleted.
+type DeleteObjectsIterator struct {
+ Objects []BatchDeleteObject
+ index int
+ inc bool
+}
+
+// Next will increment the default iterator's index and and ensure that there
+// is another object to iterator to.
+func (iter *DeleteObjectsIterator) Next() bool {
+ if iter.inc {
+ iter.index++
+ } else {
+ iter.inc = true
+ }
+ return iter.index < len(iter.Objects)
+}
+
+// Err will return an error. Since this is just used to satisfy the BatchDeleteIterator interface
+// this will only return nil.
+func (iter *DeleteObjectsIterator) Err() error {
+ return nil
+}
+
+// DeleteObject will return the BatchDeleteObject at the current batched index.
+func (iter *DeleteObjectsIterator) DeleteObject() BatchDeleteObject {
+ object := iter.Objects[iter.index]
+ return object
+}
+
+// Delete will use the iterator to queue up objects that need to be deleted.
+// Once the batch size is met, this will call the deleteBatch function.
+func (d *BatchDelete) Delete(ctx aws.Context, iter BatchDeleteIterator) error {
+ var errs []Error
+ objects := []BatchDeleteObject{}
+ var input *s3.DeleteObjectsInput
+
+ for iter.Next() {
+ o := iter.DeleteObject()
+
+ if input == nil {
+ input = initDeleteObjectsInput(o.Object)
+ }
+
+ parity := hasParity(input, o)
+ if parity {
+ input.Delete.Objects = append(input.Delete.Objects, &s3.ObjectIdentifier{
+ Key: o.Object.Key,
+ VersionId: o.Object.VersionId,
+ })
+ objects = append(objects, o)
+ }
+
+ if len(input.Delete.Objects) == d.BatchSize || !parity {
+ if err := deleteBatch(d, input, objects); err != nil {
+ errs = append(errs, err...)
+ }
+
+ objects = objects[:0]
+ input = nil
+
+ if !parity {
+ objects = append(objects, o)
+ input = initDeleteObjectsInput(o.Object)
+ input.Delete.Objects = append(input.Delete.Objects, &s3.ObjectIdentifier{
+ Key: o.Object.Key,
+ VersionId: o.Object.VersionId,
+ })
+ }
+ }
+ }
+
+ if input != nil && len(input.Delete.Objects) > 0 {
+ if err := deleteBatch(d, input, objects); err != nil {
+ errs = append(errs, err...)
+ }
+ }
+
+ if len(errs) > 0 {
+ return NewBatchError("BatchedDeleteIncomplete", "some objects have failed to be deleted.", errs)
+ }
+ return nil
+}
+
+func initDeleteObjectsInput(o *s3.DeleteObjectInput) *s3.DeleteObjectsInput {
+ return &s3.DeleteObjectsInput{
+ Bucket: o.Bucket,
+ MFA: o.MFA,
+ RequestPayer: o.RequestPayer,
+ Delete: &s3.Delete{},
+ }
+}
+
+// deleteBatch will delete a batch of items in the objects parameters.
+func deleteBatch(d *BatchDelete, input *s3.DeleteObjectsInput, objects []BatchDeleteObject) []Error {
+ errs := []Error{}
+
+ if result, err := d.Client.DeleteObjects(input); err != nil {
+ for i := 0; i < len(input.Delete.Objects); i++ {
+ errs = append(errs, newError(err, input.Bucket, input.Delete.Objects[i].Key))
+ }
+ } else if len(result.Errors) > 0 {
+ for i := 0; i < len(result.Errors); i++ {
+ errs = append(errs, newError(err, input.Bucket, result.Errors[i].Key))
+ }
+ }
+ for _, object := range objects {
+ if object.After == nil {
+ continue
+ }
+ if err := object.After(); err != nil {
+ errs = append(errs, newError(err, object.Object.Bucket, object.Object.Key))
+ }
+ }
+
+ return errs
+}
+
+func hasParity(o1 *s3.DeleteObjectsInput, o2 BatchDeleteObject) bool {
+ if o1.Bucket != nil && o2.Object.Bucket != nil {
+ if *o1.Bucket != *o2.Object.Bucket {
+ return false
+ }
+ } else if o1.Bucket != o2.Object.Bucket {
+ return false
+ }
+
+ if o1.MFA != nil && o2.Object.MFA != nil {
+ if *o1.MFA != *o2.Object.MFA {
+ return false
+ }
+ } else if o1.MFA != o2.Object.MFA {
+ return false
+ }
+
+ if o1.RequestPayer != nil && o2.Object.RequestPayer != nil {
+ if *o1.RequestPayer != *o2.Object.RequestPayer {
+ return false
+ }
+ } else if o1.RequestPayer != o2.Object.RequestPayer {
+ return false
+ }
+
+ return true
+}
+
+// BatchDownloadIterator is an interface that uses the scanner pattern to iterate
+// through a series of objects to be downloaded.
+type BatchDownloadIterator interface {
+ Next() bool
+ Err() error
+ DownloadObject() BatchDownloadObject
+}
+
+// BatchDownloadObject contains all necessary information to run a batch operation once.
+type BatchDownloadObject struct {
+ Object *s3.GetObjectInput
+ Writer io.WriterAt
+ // After will run after each iteration during the batch process. This function will
+ // be executed whether or not the request was successful.
+ After func() error
+}
+
+// DownloadObjectsIterator implements the BatchDownloadIterator interface and allows for batched
+// download of objects.
+type DownloadObjectsIterator struct {
+ Objects []BatchDownloadObject
+ index int
+ inc bool
+}
+
+// Next will increment the default iterator's index and and ensure that there
+// is another object to iterator to.
+func (batcher *DownloadObjectsIterator) Next() bool {
+ if batcher.inc {
+ batcher.index++
+ } else {
+ batcher.inc = true
+ }
+ return batcher.index < len(batcher.Objects)
+}
+
+// DownloadObject will return the BatchDownloadObject at the current batched index.
+func (batcher *DownloadObjectsIterator) DownloadObject() BatchDownloadObject {
+ object := batcher.Objects[batcher.index]
+ return object
+}
+
+// Err will return an error. Since this is just used to satisfy the BatchDeleteIterator interface
+// this will only return nil.
+func (batcher *DownloadObjectsIterator) Err() error {
+ return nil
+}
+
+// BatchUploadIterator is an interface that uses the scanner pattern to
+// iterate through what needs to be uploaded.
+type BatchUploadIterator interface {
+ Next() bool
+ Err() error
+ UploadObject() BatchUploadObject
+}
+
+// UploadObjectsIterator implements the BatchUploadIterator interface and allows for batched
+// upload of objects.
+type UploadObjectsIterator struct {
+ Objects []BatchUploadObject
+ index int
+ inc bool
+}
+
+// Next will increment the default iterator's index and and ensure that there
+// is another object to iterator to.
+func (batcher *UploadObjectsIterator) Next() bool {
+ if batcher.inc {
+ batcher.index++
+ } else {
+ batcher.inc = true
+ }
+ return batcher.index < len(batcher.Objects)
+}
+
+// Err will return an error. Since this is just used to satisfy the BatchUploadIterator interface
+// this will only return nil.
+func (batcher *UploadObjectsIterator) Err() error {
+ return nil
+}
+
+// UploadObject will return the BatchUploadObject at the current batched index.
+func (batcher *UploadObjectsIterator) UploadObject() BatchUploadObject {
+ object := batcher.Objects[batcher.index]
+ return object
+}
+
+// BatchUploadObject contains all necessary information to run a batch operation once.
+type BatchUploadObject struct {
+ Object *UploadInput
+ // After will run after each iteration during the batch process. This function will
+ // be executed whether or not the request was successful.
+ After func() error
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go
new file mode 100644
index 00000000..ce517640
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go
@@ -0,0 +1,83 @@
+package s3manager
+
+import (
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/credentials"
+ "github.com/aws/aws-sdk-go/aws/request"
+ "github.com/aws/aws-sdk-go/service/s3"
+ "github.com/aws/aws-sdk-go/service/s3/s3iface"
+)
+
+// GetBucketRegion will attempt to get the region for a bucket using the
+// regionHint to determine which AWS partition to perform the query on.
+//
+// The request will not be signed, and will not use your AWS credentials.
+//
+// A "NotFound" error code will be returned if the bucket does not exist in
+// the AWS partition the regionHint belongs to.
+//
+// For example to get the region of a bucket which exists in "eu-central-1"
+// you could provide a region hint of "us-west-2".
+//
+// sess := session.Must(session.NewSession())
+//
+// bucket := "my-bucket"
+// region, err := s3manager.GetBucketRegion(ctx, sess, bucket, "us-west-2")
+// if err != nil {
+// if aerr, ok := err.(awserr.Error); ok && aerr.Code() == "NotFound" {
+// fmt.Fprintf(os.Stderr, "unable to find bucket %s's region not found\n", bucket)
+// }
+// return err
+// }
+// fmt.Printf("Bucket %s is in %s region\n", bucket, region)
+//
+func GetBucketRegion(ctx aws.Context, c client.ConfigProvider, bucket, regionHint string, opts ...request.Option) (string, error) {
+ svc := s3.New(c, &aws.Config{
+ Region: aws.String(regionHint),
+ })
+ return GetBucketRegionWithClient(ctx, svc, bucket, opts...)
+}
+
+const bucketRegionHeader = "X-Amz-Bucket-Region"
+
+// GetBucketRegionWithClient is the same as GetBucketRegion with the exception
+// that it takes a S3 service client instead of a Session. The regionHint is
+// derived from the region the S3 service client was created in.
+//
+// See GetBucketRegion for more information.
+func GetBucketRegionWithClient(ctx aws.Context, svc s3iface.S3API, bucket string, opts ...request.Option) (string, error) {
+ req, _ := svc.HeadBucketRequest(&s3.HeadBucketInput{
+ Bucket: aws.String(bucket),
+ })
+ req.Config.S3ForcePathStyle = aws.Bool(true)
+ req.Config.Credentials = credentials.AnonymousCredentials
+ req.SetContext(ctx)
+
+ // Disable HTTP redirects to prevent an invalid 301 from eating the response
+ // because Go's HTTP client will fail, and drop the response if an 301 is
+ // received without a location header. S3 will return a 301 without the
+ // location header for HeadObject API calls.
+ req.DisableFollowRedirects = true
+
+ var bucketRegion string
+ req.Handlers.Send.PushBack(func(r *request.Request) {
+ bucketRegion = r.HTTPResponse.Header.Get(bucketRegionHeader)
+ if len(bucketRegion) == 0 {
+ return
+ }
+ r.HTTPResponse.StatusCode = 200
+ r.HTTPResponse.Status = "OK"
+ r.Error = nil
+ })
+
+ req.ApplyOptions(opts...)
+
+ if err := req.Send(); err != nil {
+ return "", err
+ }
+
+ bucketRegion = s3.NormalizeBucketLocation(bucketRegion)
+
+ return bucketRegion, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/download.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/download.go
index 0841077a..d30f2b6b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/download.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/download.go
@@ -31,15 +31,30 @@ const DefaultDownloadConcurrency = 5
type Downloader struct {
// The buffer size (in bytes) to use when buffering data into chunks and
// sending them as parts to S3. The minimum allowed part size is 5MB, and
- // if this value is set to zero, the DefaultPartSize value will be used.
+ // if this value is set to zero, the DefaultDownloadPartSize value will be used.
+ //
+ // PartSize is ignored if the Range input parameter is provided.
PartSize int64
// The number of goroutines to spin up in parallel when sending parts.
// If this is set to zero, the DefaultDownloadConcurrency value will be used.
+ //
+ // Concurrency is ignored if the Range input parameter is provided.
Concurrency int
// An S3 client to use when performing downloads.
S3 s3iface.S3API
+
+ // List of request options that will be passed down to individual API
+ // operation requests made by the downloader.
+ RequestOptions []request.Option
+}
+
+// WithDownloaderRequestOptions appends to the Downloader's API request options.
+func WithDownloaderRequestOptions(opts ...request.Option) func(*Downloader) {
+ return func(d *Downloader) {
+ d.RequestOptions = append(d.RequestOptions, opts...)
+ }
}
// NewDownloader creates a new Downloader instance to downloads objects from
@@ -119,32 +134,125 @@ type maxRetrier interface {
//
// The w io.WriterAt can be satisfied by an os.File to do multipart concurrent
// downloads, or in memory []byte wrapper using aws.WriteAtBuffer.
+//
+// If the GetObjectInput's Range value is provided that will cause the downloader
+// to perform a single GetObjectInput request for that object's range. This will
+// caused the part size, and concurrency configurations to be ignored.
func (d Downloader) Download(w io.WriterAt, input *s3.GetObjectInput, options ...func(*Downloader)) (n int64, err error) {
- impl := downloader{w: w, in: input, ctx: d}
+ return d.DownloadWithContext(aws.BackgroundContext(), w, input, options...)
+}
+
+// DownloadWithContext downloads an object in S3 and writes the payload into w
+// using concurrent GET requests.
+//
+// DownloadWithContext is the same as Download with the additional support for
+// Context input parameters. The Context must not be nil. A nil Context will
+// cause a panic. Use the Context to add deadlining, timeouts, ect. The
+// DownloadWithContext may create sub-contexts for individual underlying
+// requests.
+//
+// Additional functional options can be provided to configure the individual
+// download. These options are copies of the Downloader instance Download is
+// called from. Modifying the options will not impact the original Downloader
+// instance. Use the WithDownloaderRequestOptions helper function to pass in request
+// options that will be applied to all API operations made with this downloader.
+//
+// The w io.WriterAt can be satisfied by an os.File to do multipart concurrent
+// downloads, or in memory []byte wrapper using aws.WriteAtBuffer.
+//
+// It is safe to call this method concurrently across goroutines.
+//
+// If the GetObjectInput's Range value is provided that will cause the downloader
+// to perform a single GetObjectInput request for that object's range. This will
+// caused the part size, and concurrency configurations to be ignored.
+func (d Downloader) DownloadWithContext(ctx aws.Context, w io.WriterAt, input *s3.GetObjectInput, options ...func(*Downloader)) (n int64, err error) {
+ impl := downloader{w: w, in: input, cfg: d, ctx: ctx}
for _, option := range options {
- option(&impl.ctx)
+ option(&impl.cfg)
}
+ impl.cfg.RequestOptions = append(impl.cfg.RequestOptions, request.WithAppendUserAgent("S3Manager"))
if s, ok := d.S3.(maxRetrier); ok {
impl.partBodyMaxRetries = s.MaxRetries()
}
impl.totalBytes = -1
- if impl.ctx.Concurrency == 0 {
- impl.ctx.Concurrency = DefaultDownloadConcurrency
+ if impl.cfg.Concurrency == 0 {
+ impl.cfg.Concurrency = DefaultDownloadConcurrency
}
- if impl.ctx.PartSize == 0 {
- impl.ctx.PartSize = DefaultDownloadPartSize
+ if impl.cfg.PartSize == 0 {
+ impl.cfg.PartSize = DefaultDownloadPartSize
}
return impl.download()
}
+// DownloadWithIterator will download a batched amount of objects in S3 and writes them
+// to the io.WriterAt specificed in the iterator.
+//
+// Example:
+// svc := s3manager.NewDownloader(session)
+//
+// fooFile, err := os.Open("/tmp/foo.file")
+// if err != nil {
+// return err
+// }
+//
+// barFile, err := os.Open("/tmp/bar.file")
+// if err != nil {
+// return err
+// }
+//
+// objects := []s3manager.BatchDownloadObject {
+// {
+// Input: &s3.GetObjectInput {
+// Bucket: aws.String("bucket"),
+// Key: aws.String("foo"),
+// },
+// Writer: fooFile,
+// },
+// {
+// Input: &s3.GetObjectInput {
+// Bucket: aws.String("bucket"),
+// Key: aws.String("bar"),
+// },
+// Writer: barFile,
+// },
+// }
+//
+// iter := &s3manager.DownloadObjectsIterator{Objects: objects}
+// if err := svc.DownloadWithIterator(aws.BackgroundContext(), iter); err != nil {
+// return err
+// }
+func (d Downloader) DownloadWithIterator(ctx aws.Context, iter BatchDownloadIterator, opts ...func(*Downloader)) error {
+ var errs []Error
+ for iter.Next() {
+ object := iter.DownloadObject()
+ if _, err := d.DownloadWithContext(ctx, object.Writer, object.Object, opts...); err != nil {
+ errs = append(errs, newError(err, object.Object.Bucket, object.Object.Key))
+ }
+
+ if object.After == nil {
+ continue
+ }
+
+ if err := object.After(); err != nil {
+ errs = append(errs, newError(err, object.Object.Bucket, object.Object.Key))
+ }
+ }
+
+ if len(errs) > 0 {
+ return NewBatchError("BatchedDownloadIncomplete", "some objects have failed to download.", errs)
+ }
+ return nil
+}
+
// downloader is the implementation structure used internally by Downloader.
type downloader struct {
- ctx Downloader
+ ctx aws.Context
+ cfg Downloader
in *s3.GetObjectInput
w io.WriterAt
@@ -163,14 +271,22 @@ type downloader struct {
// download performs the implementation of the object download across ranged
// GETs.
func (d *downloader) download() (n int64, err error) {
+ // If range is specified fall back to single download of that range
+ // this enables the functionality of ranged gets with the downloader but
+ // at the cost of no multipart downloads.
+ if rng := aws.StringValue(d.in.Range); len(rng) > 0 {
+ d.downloadRange(rng)
+ return d.written, d.err
+ }
+
// Spin off first worker to check additional header information
d.getChunk()
if total := d.getTotalBytes(); total >= 0 {
// Spin up workers
- ch := make(chan dlchunk, d.ctx.Concurrency)
+ ch := make(chan dlchunk, d.cfg.Concurrency)
- for i := 0; i < d.ctx.Concurrency; i++ {
+ for i := 0; i < d.cfg.Concurrency; i++ {
d.wg.Add(1)
go d.downloadPart(ch)
}
@@ -182,8 +298,8 @@ func (d *downloader) download() (n int64, err error) {
}
// Queue the next range of bytes to read.
- ch <- dlchunk{w: d.w, start: d.pos, size: d.ctx.PartSize}
- d.pos += d.ctx.PartSize
+ ch <- dlchunk{w: d.w, start: d.pos, size: d.cfg.PartSize}
+ d.pos += d.cfg.PartSize
}
// Wait for completion
@@ -219,13 +335,17 @@ func (d *downloader) downloadPart(ch chan dlchunk) {
defer d.wg.Done()
for {
chunk, ok := <-ch
- if !ok || d.getErr() != nil {
+ if !ok {
break
}
+ if d.getErr() != nil {
+ // Drain the channel if there is an error, to prevent deadlocking
+ // of download producer.
+ continue
+ }
if err := d.downloadChunk(chunk); err != nil {
d.setErr(err)
- break
}
}
}
@@ -237,30 +357,46 @@ func (d *downloader) getChunk() {
return
}
- chunk := dlchunk{w: d.w, start: d.pos, size: d.ctx.PartSize}
- d.pos += d.ctx.PartSize
+ chunk := dlchunk{w: d.w, start: d.pos, size: d.cfg.PartSize}
+ d.pos += d.cfg.PartSize
if err := d.downloadChunk(chunk); err != nil {
d.setErr(err)
}
}
-// downloadChunk downloads the chunk froom s3
+// downloadRange downloads an Object given the passed in Byte-Range value.
+// The chunk used down download the range will be configured for that range.
+func (d *downloader) downloadRange(rng string) {
+ if d.getErr() != nil {
+ return
+ }
+
+ chunk := dlchunk{w: d.w, start: d.pos}
+ // Ranges specified will short circuit the multipart download
+ chunk.withRange = rng
+
+ if err := d.downloadChunk(chunk); err != nil {
+ d.setErr(err)
+ }
+
+ // Update the position based on the amount of data received.
+ d.pos = d.written
+}
+
+// downloadChunk downloads the chunk from s3
func (d *downloader) downloadChunk(chunk dlchunk) error {
in := &s3.GetObjectInput{}
awsutil.Copy(in, d.in)
// Get the next byte range of data
- rng := fmt.Sprintf("bytes=%d-%d", chunk.start, chunk.start+chunk.size-1)
- in.Range = &rng
+ in.Range = aws.String(chunk.ByteRange())
var n int64
var err error
for retry := 0; retry <= d.partBodyMaxRetries; retry++ {
- req, resp := d.ctx.S3.GetObjectRequest(in)
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
-
- err = req.Send()
+ var resp *s3.GetObjectOutput
+ resp, err = d.cfg.S3.GetObjectWithContext(d.ctx, in, d.cfg.RequestOptions...)
if err != nil {
return err
}
@@ -273,7 +409,7 @@ func (d *downloader) downloadChunk(chunk dlchunk) error {
}
chunk.cur = 0
- logMessage(d.ctx.S3, aws.LogDebugWithRequestRetries,
+ logMessage(d.cfg.S3, aws.LogDebugWithRequestRetries,
fmt.Sprintf("DEBUG: object part body download interrupted %s, err, %v, retrying attempt %d",
aws.StringValue(in.Key), err, retry))
}
@@ -320,7 +456,7 @@ func (d *downloader) setTotalBytes(resp *s3.GetObjectOutput) {
}
if resp.ContentRange == nil {
- // ContentRange is nil when the full file contents is provied, and
+ // ContentRange is nil when the full file contents is provided, and
// is not chunked. Use ContentLength instead.
if resp.ContentLength != nil {
d.totalBytes = *resp.ContentLength
@@ -379,12 +515,18 @@ type dlchunk struct {
start int64
size int64
cur int64
+
+ // specifies the byte range the chunk should be downloaded with.
+ withRange string
}
// Write wraps io.WriterAt for the dlchunk, writing from the dlchunk's start
// position to its end (or EOF).
+//
+// If a range is specified on the dlchunk the size will be ignored when writing.
+// as the total size may not of be known ahead of time.
func (c *dlchunk) Write(p []byte) (n int, err error) {
- if c.cur >= c.size {
+ if c.cur >= c.size && len(c.withRange) == 0 {
return 0, io.EOF
}
@@ -393,3 +535,13 @@ func (c *dlchunk) Write(p []byte) (n int, err error) {
return
}
+
+// ByteRange returns a HTTP Byte-Range header value that should be used by the
+// client to request the chunk's range.
+func (c *dlchunk) ByteRange() string {
+ if len(c.withRange) != 0 {
+ return c.withRange
+ }
+
+ return fmt.Sprintf("bytes=%d-%d", c.start, c.start+c.size-1)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go
index a2772263..fc1f4720 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload.go
@@ -202,13 +202,20 @@ type UploadOutput struct {
UploadID string
}
+// WithUploaderRequestOptions appends to the Uploader's API request options.
+func WithUploaderRequestOptions(opts ...request.Option) func(*Uploader) {
+ return func(u *Uploader) {
+ u.RequestOptions = append(u.RequestOptions, opts...)
+ }
+}
+
// The Uploader structure that calls Upload(). It is safe to call Upload()
// on this structure for multiple objects and across concurrent goroutines.
// Mutating the Uploader's properties is not safe to be done concurrently.
type Uploader struct {
// The buffer size (in bytes) to use when buffering data into chunks and
// sending them as parts to S3. The minimum allowed part size is 5MB, and
- // if this value is set to zero, the DefaultPartSize value will be used.
+ // if this value is set to zero, the DefaultUploadPartSize value will be used.
PartSize int64
// The number of goroutines to spin up in parallel when sending parts.
@@ -232,6 +239,10 @@ type Uploader struct {
// The client to use when uploading to S3.
S3 s3iface.S3API
+
+ // List of request options that will be passed down to individual API
+ // operation requests made by the uploader.
+ RequestOptions []request.Option
}
// NewUploader creates a new Uploader instance to upload objects to S3. Pass In
@@ -308,6 +319,9 @@ func NewUploaderWithClient(svc s3iface.S3API, options ...func(*Uploader)) *Uploa
// upload. These options are copies of the Uploader instance Upload is called from.
// Modifying the options will not impact the original Uploader instance.
//
+// Use the WithUploaderRequestOptions helper function to pass in request
+// options that will be applied to all API operations made with this uploader.
+//
// It is safe to call this method concurrently across goroutines.
//
// Example:
@@ -327,18 +341,97 @@ func NewUploaderWithClient(svc s3iface.S3API, options ...func(*Uploader)) *Uploa
// u.LeavePartsOnError = true // Don't delete the parts if the upload fails.
// })
func (u Uploader) Upload(input *UploadInput, options ...func(*Uploader)) (*UploadOutput, error) {
- i := uploader{in: input, ctx: u}
+ return u.UploadWithContext(aws.BackgroundContext(), input, options...)
+}
- for _, option := range options {
- option(&i.ctx)
+// UploadWithContext uploads an object to S3, intelligently buffering large
+// files into smaller chunks and sending them in parallel across multiple
+// goroutines. You can configure the buffer size and concurrency through the
+// Uploader's parameters.
+//
+// UploadWithContext is the same as Upload with the additional support for
+// Context input parameters. The Context must not be nil. A nil Context will
+// cause a panic. Use the context to add deadlining, timeouts, ect. The
+// UploadWithContext may create sub-contexts for individual underlying requests.
+//
+// Additional functional options can be provided to configure the individual
+// upload. These options are copies of the Uploader instance Upload is called from.
+// Modifying the options will not impact the original Uploader instance.
+//
+// Use the WithUploaderRequestOptions helper function to pass in request
+// options that will be applied to all API operations made with this uploader.
+//
+// It is safe to call this method concurrently across goroutines.
+func (u Uploader) UploadWithContext(ctx aws.Context, input *UploadInput, opts ...func(*Uploader)) (*UploadOutput, error) {
+ i := uploader{in: input, cfg: u, ctx: ctx}
+
+ for _, opt := range opts {
+ opt(&i.cfg)
}
+ i.cfg.RequestOptions = append(i.cfg.RequestOptions, request.WithAppendUserAgent("S3Manager"))
return i.upload()
}
+// UploadWithIterator will upload a batched amount of objects to S3. This operation uses
+// the iterator pattern to know which object to upload next. Since this is an interface this
+// allows for custom defined functionality.
+//
+// Example:
+// svc:= s3manager.NewUploader(sess)
+//
+// objects := []BatchUploadObject{
+// {
+// Object: &s3manager.UploadInput {
+// Key: aws.String("key"),
+// Bucket: aws.String("bucket"),
+// },
+// },
+// }
+//
+// iter := &s3managee.UploadObjectsIterator{Objects: objects}
+// if err := svc.UploadWithIterator(aws.BackgroundContext(), iter); err != nil {
+// return err
+// }
+func (u Uploader) UploadWithIterator(ctx aws.Context, iter BatchUploadIterator, opts ...func(*Uploader)) error {
+ var errs []Error
+ for iter.Next() {
+ object := iter.UploadObject()
+ if _, err := u.UploadWithContext(ctx, object.Object, opts...); err != nil {
+ s3Err := Error{
+ OrigErr: err,
+ Bucket: object.Object.Bucket,
+ Key: object.Object.Key,
+ }
+
+ errs = append(errs, s3Err)
+ }
+
+ if object.After == nil {
+ continue
+ }
+
+ if err := object.After(); err != nil {
+ s3Err := Error{
+ OrigErr: err,
+ Bucket: object.Object.Bucket,
+ Key: object.Object.Key,
+ }
+
+ errs = append(errs, s3Err)
+ }
+ }
+
+ if len(errs) > 0 {
+ return NewBatchError("BatchedUploadIncomplete", "some objects have failed to upload.", errs)
+ }
+ return nil
+}
+
// internal structure to manage an upload to S3.
type uploader struct {
- ctx Uploader
+ ctx aws.Context
+ cfg Uploader
in *UploadInput
@@ -351,7 +444,7 @@ type uploader struct {
func (u *uploader) upload() (*UploadOutput, error) {
u.init()
- if u.ctx.PartSize < MinUploadPartSize {
+ if u.cfg.PartSize < MinUploadPartSize {
msg := fmt.Sprintf("part size must be at least %d bytes", MinUploadPartSize)
return nil, awserr.New("ConfigError", msg, nil)
}
@@ -370,11 +463,11 @@ func (u *uploader) upload() (*UploadOutput, error) {
// init will initialize all default options.
func (u *uploader) init() {
- if u.ctx.Concurrency == 0 {
- u.ctx.Concurrency = DefaultUploadConcurrency
+ if u.cfg.Concurrency == 0 {
+ u.cfg.Concurrency = DefaultUploadConcurrency
}
- if u.ctx.PartSize == 0 {
- u.ctx.PartSize = DefaultUploadPartSize
+ if u.cfg.PartSize == 0 {
+ u.cfg.PartSize = DefaultUploadPartSize
}
// Try to get the total size for some optimizations
@@ -399,10 +492,10 @@ func (u *uploader) initSize() {
// Try to adjust partSize if it is too small and account for
// integer division truncation.
- if u.totalSize/u.ctx.PartSize >= int64(u.ctx.MaxUploadParts) {
+ if u.totalSize/u.cfg.PartSize >= int64(u.cfg.MaxUploadParts) {
// Add one to the part size to account for remainders
// during the size calculation. e.g odd number of bytes.
- u.ctx.PartSize = (u.totalSize / int64(u.ctx.MaxUploadParts)) + 1
+ u.cfg.PartSize = (u.totalSize / int64(u.cfg.MaxUploadParts)) + 1
}
}
}
@@ -420,11 +513,11 @@ func (u *uploader) nextReader() (io.ReadSeeker, int, error) {
case readerAtSeeker:
var err error
- n := u.ctx.PartSize
+ n := u.cfg.PartSize
if u.totalSize >= 0 {
bytesLeft := u.totalSize - u.readerPos
- if bytesLeft <= u.ctx.PartSize {
+ if bytesLeft <= u.cfg.PartSize {
err = io.EOF
n = bytesLeft
}
@@ -436,7 +529,7 @@ func (u *uploader) nextReader() (io.ReadSeeker, int, error) {
return reader, int(n), err
default:
- part := make([]byte, u.ctx.PartSize)
+ part := make([]byte, u.cfg.PartSize)
n, err := readFillBuf(r, part)
u.readerPos += int64(n)
@@ -462,8 +555,11 @@ func (u *uploader) singlePart(buf io.ReadSeeker) (*UploadOutput, error) {
awsutil.Copy(params, u.in)
params.Body = buf
- req, out := u.ctx.S3.PutObjectRequest(params)
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
+ // Need to use request form because URL generated in request is
+ // used in return.
+ req, out := u.cfg.S3.PutObjectRequest(params)
+ req.SetContext(u.ctx)
+ req.ApplyOptions(u.cfg.RequestOptions...)
if err := req.Send(); err != nil {
return nil, err
}
@@ -506,16 +602,15 @@ func (u *multiuploader) upload(firstBuf io.ReadSeeker) (*UploadOutput, error) {
awsutil.Copy(params, u.in)
// Create the multipart
- req, resp := u.ctx.S3.CreateMultipartUploadRequest(params)
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
- if err := req.Send(); err != nil {
+ resp, err := u.cfg.S3.CreateMultipartUploadWithContext(u.ctx, params, u.cfg.RequestOptions...)
+ if err != nil {
return nil, err
}
u.uploadID = *resp.UploadId
// Create the workers
- ch := make(chan chunk, u.ctx.Concurrency)
- for i := 0; i < u.ctx.Concurrency; i++ {
+ ch := make(chan chunk, u.cfg.Concurrency)
+ for i := 0; i < u.cfg.Concurrency; i++ {
u.wg.Add(1)
go u.readChunk(ch)
}
@@ -525,15 +620,14 @@ func (u *multiuploader) upload(firstBuf io.ReadSeeker) (*UploadOutput, error) {
ch <- chunk{buf: firstBuf, num: num}
// Read and queue the rest of the parts
- var err error
for u.geterr() == nil && err == nil {
num++
// This upload exceeded maximum number of supported parts, error now.
- if num > int64(u.ctx.MaxUploadParts) || num > int64(MaxUploadParts) {
+ if num > int64(u.cfg.MaxUploadParts) || num > int64(MaxUploadParts) {
var msg string
- if num > int64(u.ctx.MaxUploadParts) {
+ if num > int64(u.cfg.MaxUploadParts) {
msg = fmt.Sprintf("exceeded total allowed configured MaxUploadParts (%d). Adjust PartSize to fit in this limit",
- u.ctx.MaxUploadParts)
+ u.cfg.MaxUploadParts)
} else {
msg = fmt.Sprintf("exceeded total allowed S3 limit MaxUploadParts (%d). Adjust PartSize to fit in this limit",
MaxUploadParts)
@@ -607,7 +701,7 @@ func (u *multiuploader) readChunk(ch chan chunk) {
// send performs an UploadPart request and keeps track of the completed
// part information.
func (u *multiuploader) send(c chunk) error {
- req, resp := u.ctx.S3.UploadPartRequest(&s3.UploadPartInput{
+ params := &s3.UploadPartInput{
Bucket: u.in.Bucket,
Key: u.in.Key,
Body: c.buf,
@@ -615,9 +709,9 @@ func (u *multiuploader) send(c chunk) error {
SSECustomerAlgorithm: u.in.SSECustomerAlgorithm,
SSECustomerKey: u.in.SSECustomerKey,
PartNumber: &c.num,
- })
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
- if err := req.Send(); err != nil {
+ }
+ resp, err := u.cfg.S3.UploadPartWithContext(u.ctx, params, u.cfg.RequestOptions...)
+ if err != nil {
return err
}
@@ -649,17 +743,19 @@ func (u *multiuploader) seterr(e error) {
// fail will abort the multipart unless LeavePartsOnError is set to true.
func (u *multiuploader) fail() {
- if u.ctx.LeavePartsOnError {
+ if u.cfg.LeavePartsOnError {
return
}
- req, _ := u.ctx.S3.AbortMultipartUploadRequest(&s3.AbortMultipartUploadInput{
+ params := &s3.AbortMultipartUploadInput{
Bucket: u.in.Bucket,
Key: u.in.Key,
UploadId: &u.uploadID,
- })
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
- req.Send()
+ }
+ _, err := u.cfg.S3.AbortMultipartUploadWithContext(u.ctx, params, u.cfg.RequestOptions...)
+ if err != nil {
+ logMessage(u.cfg.S3, aws.LogDebug, fmt.Sprintf("failed to abort multipart upload, %v", err))
+ }
}
// complete successfully completes a multipart upload and returns the response.
@@ -672,14 +768,14 @@ func (u *multiuploader) complete() *s3.CompleteMultipartUploadOutput {
// Parts must be sorted in PartNumber order.
sort.Sort(u.parts)
- req, resp := u.ctx.S3.CompleteMultipartUploadRequest(&s3.CompleteMultipartUploadInput{
+ params := &s3.CompleteMultipartUploadInput{
Bucket: u.in.Bucket,
Key: u.in.Key,
UploadId: &u.uploadID,
MultipartUpload: &s3.CompletedMultipartUpload{Parts: u.parts},
- })
- req.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("S3Manager"))
- if err := req.Send(); err != nil {
+ }
+ resp, err := u.cfg.S3.CompleteMultipartUploadWithContext(u.ctx, params, u.cfg.RequestOptions...)
+ if err != nil {
u.seterr(err)
u.fail()
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/service.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
index 5e6f2299..614e477d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package s3
@@ -11,10 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/restxml"
)
-// S3 is a client for Amazon S3.
-// The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
-// Please also see https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01
+// S3 provides the API operation methods for making requests to
+// Amazon Simple Storage Service. See this package's package overview docs
+// for details on the service.
+//
+// S3 methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type S3 struct {
*client.Client
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
index 268ea2fb..8010c4fa 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/sse.go
@@ -5,17 +5,27 @@ import (
"encoding/base64"
"github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
var errSSERequiresSSL = awserr.New("ConfigError", "cannot send SSE keys over HTTP.", nil)
func validateSSERequiresSSL(r *request.Request) {
- if r.HTTPRequest.URL.Scheme != "https" {
- p, _ := awsutil.ValuesAtPath(r.Params, "SSECustomerKey||CopySourceSSECustomerKey")
- if len(p) > 0 {
+ if r.HTTPRequest.URL.Scheme == "https" {
+ return
+ }
+
+ if iface, ok := r.Params.(sseCustomerKeyGetter); ok {
+ if len(iface.getSSECustomerKey()) > 0 {
+ r.Error = errSSERequiresSSL
+ return
+ }
+ }
+
+ if iface, ok := r.Params.(copySourceSSECustomerKeyGetter); ok {
+ if len(iface.getCopySourceSSECustomerKey()) > 0 {
r.Error = errSSERequiresSSL
+ return
}
}
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go
index ed91c587..bcca8627 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/unmarshal_error.go
@@ -23,17 +23,22 @@ func unmarshalError(r *request.Request) {
defer r.HTTPResponse.Body.Close()
defer io.Copy(ioutil.Discard, r.HTTPResponse.Body)
+ hostID := r.HTTPResponse.Header.Get("X-Amz-Id-2")
+
// Bucket exists in a different region, and request needs
// to be made to the correct region.
if r.HTTPResponse.StatusCode == http.StatusMovedPermanently {
- r.Error = awserr.NewRequestFailure(
- awserr.New("BucketRegionError",
- fmt.Sprintf("incorrect region, the bucket is not in '%s' region",
- aws.StringValue(r.Config.Region)),
- nil),
- r.HTTPResponse.StatusCode,
- r.RequestID,
- )
+ r.Error = requestFailure{
+ RequestFailure: awserr.NewRequestFailure(
+ awserr.New("BucketRegionError",
+ fmt.Sprintf("incorrect region, the bucket is not in '%s' region",
+ aws.StringValue(r.Config.Region)),
+ nil),
+ r.HTTPResponse.StatusCode,
+ r.RequestID,
+ ),
+ hostID: hostID,
+ }
return
}
@@ -48,6 +53,7 @@ func unmarshalError(r *request.Request) {
} else {
errCode = resp.Code
errMsg = resp.Message
+ err = nil
}
// Fallback to status code converted to message if still no error code
@@ -57,9 +63,41 @@ func unmarshalError(r *request.Request) {
errMsg = statusText
}
- r.Error = awserr.NewRequestFailure(
- awserr.New(errCode, errMsg, nil),
- r.HTTPResponse.StatusCode,
- r.RequestID,
- )
+ r.Error = requestFailure{
+ RequestFailure: awserr.NewRequestFailure(
+ awserr.New(errCode, errMsg, err),
+ r.HTTPResponse.StatusCode,
+ r.RequestID,
+ ),
+ hostID: hostID,
+ }
+}
+
+// A RequestFailure provides access to the S3 Request ID and Host ID values
+// returned from API operation errors. Getting the error as a string will
+// return the formated error with the same information as awserr.RequestFailure,
+// while also adding the HostID value from the response.
+type RequestFailure interface {
+ awserr.RequestFailure
+
+ // Host ID is the S3 Host ID needed for debug, and contacting support
+ HostID() string
+}
+
+type requestFailure struct {
+ awserr.RequestFailure
+
+ hostID string
+}
+
+func (r requestFailure) Error() string {
+ extra := fmt.Sprintf("status code: %d, request id: %s, host id: %s",
+ r.StatusCode(), r.RequestID(), r.hostID)
+ return awserr.SprintError(r.Code(), r.Message(), extra, r.OrigErr())
+}
+func (r requestFailure) String() string {
+ return r.Error()
+}
+func (r requestFailure) HostID() string {
+ return r.hostID
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
index 5e16be4b..2596c694 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/s3/waiters.go
@@ -1,139 +1,214 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package s3
import (
- "github.com/aws/aws-sdk-go/private/waiter"
+ "time"
+
+ "github.com/aws/aws-sdk-go/aws"
+ "github.com/aws/aws-sdk-go/aws/request"
)
// WaitUntilBucketExists uses the Amazon S3 API operation
// HeadBucket to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *S3) WaitUntilBucketExists(input *HeadBucketInput) error {
- waiterCfg := waiter.Config{
- Operation: "HeadBucket",
- Delay: 5,
+ return c.WaitUntilBucketExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBucketExistsWithContext is an extended version of WaitUntilBucketExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) WaitUntilBucketExistsWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBucketExists",
MaxAttempts: 20,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 200,
},
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 301,
},
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 403,
},
{
- State: "retry",
- Matcher: "status",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 404,
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadBucketInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadBucketRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilBucketNotExists uses the Amazon S3 API operation
// HeadBucket to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *S3) WaitUntilBucketNotExists(input *HeadBucketInput) error {
- waiterCfg := waiter.Config{
- Operation: "HeadBucket",
- Delay: 5,
+ return c.WaitUntilBucketNotExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilBucketNotExistsWithContext is an extended version of WaitUntilBucketNotExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) WaitUntilBucketNotExistsWithContext(ctx aws.Context, input *HeadBucketInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilBucketNotExists",
MaxAttempts: 20,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 404,
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadBucketInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadBucketRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilObjectExists uses the Amazon S3 API operation
// HeadObject to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *S3) WaitUntilObjectExists(input *HeadObjectInput) error {
- waiterCfg := waiter.Config{
- Operation: "HeadObject",
- Delay: 5,
+ return c.WaitUntilObjectExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilObjectExistsWithContext is an extended version of WaitUntilObjectExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) WaitUntilObjectExistsWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilObjectExists",
MaxAttempts: 20,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 200,
},
{
- State: "retry",
- Matcher: "status",
- Argument: "",
+ State: request.RetryWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 404,
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadObjectInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadObjectRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
// WaitUntilObjectNotExists uses the Amazon S3 API operation
// HeadObject to wait for a condition to be met before returning.
-// If the condition is not meet within the max attempt window an error will
+// If the condition is not met within the max attempt window, an error will
// be returned.
func (c *S3) WaitUntilObjectNotExists(input *HeadObjectInput) error {
- waiterCfg := waiter.Config{
- Operation: "HeadObject",
- Delay: 5,
+ return c.WaitUntilObjectNotExistsWithContext(aws.BackgroundContext(), input)
+}
+
+// WaitUntilObjectNotExistsWithContext is an extended version of WaitUntilObjectNotExists.
+// With the support for passing in a context and options to configure the
+// Waiter and the underlying request options.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) WaitUntilObjectNotExistsWithContext(ctx aws.Context, input *HeadObjectInput, opts ...request.WaiterOption) error {
+ w := request.Waiter{
+ Name: "WaitUntilObjectNotExists",
MaxAttempts: 20,
- Acceptors: []waiter.WaitAcceptor{
+ Delay: request.ConstantWaiterDelay(5 * time.Second),
+ Acceptors: []request.WaiterAcceptor{
{
- State: "success",
- Matcher: "status",
- Argument: "",
+ State: request.SuccessWaiterState,
+ Matcher: request.StatusWaiterMatch,
Expected: 404,
},
},
+ Logger: c.Config.Logger,
+ NewRequest: func(opts []request.Option) (*request.Request, error) {
+ var inCpy *HeadObjectInput
+ if input != nil {
+ tmp := *input
+ inCpy = &tmp
+ }
+ req, _ := c.HeadObjectRequest(inCpy)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return req, nil
+ },
}
+ w.ApplyOptions(opts...)
- w := waiter.Waiter{
- Client: c,
- Input: input,
- Config: waiterCfg,
- }
- return w.Wait()
+ return w.WaitWithContext(ctx)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
index ad42b4c9..3b8be437 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
@@ -1,11 +1,11 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
-// Package sts provides a client for AWS Security Token Service.
package sts
import (
"time"
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
@@ -14,19 +14,18 @@ const opAssumeRole = "AssumeRole"
// AssumeRoleRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRole operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssumeRole for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRole method directly
-// instead.
+// See AssumeRole for more information on using the AssumeRole
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleRequest method.
// req, resp := client.AssumeRoleRequest(params)
@@ -172,27 +171,41 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole
func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) {
req, out := c.AssumeRoleRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithContext is the same as AssumeRole with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRole for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithContext(ctx aws.Context, input *AssumeRoleInput, opts ...request.Option) (*AssumeRoleOutput, error) {
+ req, out := c.AssumeRoleRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssumeRoleWithSAML = "AssumeRoleWithSAML"
// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRoleWithSAML operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssumeRoleWithSAML for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRoleWithSAML method directly
-// instead.
+// See AssumeRoleWithSAML for more information on using the AssumeRoleWithSAML
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleWithSAMLRequest method.
// req, resp := client.AssumeRoleWithSAMLRequest(params)
@@ -331,27 +344,41 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML
func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) {
req, out := c.AssumeRoleWithSAMLRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithSAMLWithContext is the same as AssumeRoleWithSAML with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRoleWithSAML for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithSAMLWithContext(ctx aws.Context, input *AssumeRoleWithSAMLInput, opts ...request.Option) (*AssumeRoleWithSAMLOutput, error) {
+ req, out := c.AssumeRoleWithSAMLRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity"
// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the
// client's request for the AssumeRoleWithWebIdentity operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See AssumeRoleWithWebIdentity for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the AssumeRoleWithWebIdentity method directly
-// instead.
+// See AssumeRoleWithWebIdentity for more information on using the AssumeRoleWithWebIdentity
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the AssumeRoleWithWebIdentityRequest method.
// req, resp := client.AssumeRoleWithWebIdentityRequest(params)
@@ -519,27 +546,41 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity
func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) {
req, out := c.AssumeRoleWithWebIdentityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// AssumeRoleWithWebIdentityWithContext is the same as AssumeRoleWithWebIdentity with the addition of
+// the ability to pass a context and additional request options.
+//
+// See AssumeRoleWithWebIdentity for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) AssumeRoleWithWebIdentityWithContext(ctx aws.Context, input *AssumeRoleWithWebIdentityInput, opts ...request.Option) (*AssumeRoleWithWebIdentityOutput, error) {
+ req, out := c.AssumeRoleWithWebIdentityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage"
// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the
// client's request for the DecodeAuthorizationMessage operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
//
-// See DecodeAuthorizationMessage for usage and error information.
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the DecodeAuthorizationMessage method directly
-// instead.
+// See DecodeAuthorizationMessage for more information on using the DecodeAuthorizationMessage
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the DecodeAuthorizationMessageRequest method.
// req, resp := client.DecodeAuthorizationMessageRequest(params)
@@ -617,27 +658,41 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage
func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) {
req, out := c.DecodeAuthorizationMessageRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// DecodeAuthorizationMessageWithContext is the same as DecodeAuthorizationMessage with the addition of
+// the ability to pass a context and additional request options.
+//
+// See DecodeAuthorizationMessage for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) DecodeAuthorizationMessageWithContext(ctx aws.Context, input *DecodeAuthorizationMessageInput, opts ...request.Option) (*DecodeAuthorizationMessageOutput, error) {
+ req, out := c.DecodeAuthorizationMessageRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetCallerIdentity = "GetCallerIdentity"
// GetCallerIdentityRequest generates a "aws/request.Request" representing the
// client's request for the GetCallerIdentity operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetCallerIdentity for usage and error information.
+// See GetCallerIdentity for more information on using the GetCallerIdentity
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetCallerIdentity method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetCallerIdentityRequest method.
// req, resp := client.GetCallerIdentityRequest(params)
@@ -678,27 +733,41 @@ func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *requ
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity
func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) {
req, out := c.GetCallerIdentityRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetCallerIdentityWithContext is the same as GetCallerIdentity with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetCallerIdentity for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetCallerIdentityWithContext(ctx aws.Context, input *GetCallerIdentityInput, opts ...request.Option) (*GetCallerIdentityOutput, error) {
+ req, out := c.GetCallerIdentityRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetFederationToken = "GetFederationToken"
// GetFederationTokenRequest generates a "aws/request.Request" representing the
// client's request for the GetFederationToken operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetFederationToken for usage and error information.
+// See GetFederationToken for more information on using the GetFederationToken
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetFederationToken method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetFederationTokenRequest method.
// req, resp := client.GetFederationTokenRequest(params)
@@ -833,27 +902,41 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken
func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
req, out := c.GetFederationTokenRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetFederationTokenWithContext is the same as GetFederationToken with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetFederationToken for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) {
+ req, out := c.GetFederationTokenRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
const opGetSessionToken = "GetSessionToken"
// GetSessionTokenRequest generates a "aws/request.Request" representing the
// client's request for the GetSessionToken operation. The "output" return
-// value can be used to capture response data after the request's "Send" method
-// is called.
+// value will be populated with the request's response once the request complets
+// successfuly.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
//
-// See GetSessionToken for usage and error information.
+// See GetSessionToken for more information on using the GetSessionToken
+// API call, and error handling.
//
-// Creating a request object using this method should be used when you want to inject
-// custom logic into the request's lifecycle using a custom handler, or if you want to
-// access properties on the request object before or after sending the request. If
-// you just want the service response, call the GetSessionToken method directly
-// instead.
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
-// Note: You must call the "Send" method on the returned request object in order
-// to execute the request.
//
// // Example sending a request using the GetSessionTokenRequest method.
// req, resp := client.GetSessionTokenRequest(params)
@@ -947,8 +1030,23 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken
func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) {
req, out := c.GetSessionTokenRequest(input)
- err := req.Send()
- return out, err
+ return out, req.Send()
+}
+
+// GetSessionTokenWithContext is the same as GetSessionToken with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetSessionToken for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionTokenInput, opts ...request.Option) (*GetSessionTokenOutput, error) {
+ req, out := c.GetSessionTokenRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest
@@ -980,7 +1078,7 @@ type AssumeRoleInput struct {
//
// The regex used to validated this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
- // also include underscores or any of the following characters: =,.@:\/-
+ // also include underscores or any of the following characters: =,.@:/-
ExternalId *string `min:"2" type:"string"`
// An IAM policy in JSON format.
@@ -2164,9 +2262,9 @@ type GetSessionTokenInput struct {
// You can find the device for an IAM user by going to the AWS Management Console
// and viewing the user's security credentials.
//
- // The regex used to validate this parameter is a string of characters consisting
+ // The regex used to validated this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
- // also include underscores or any of the following characters: =,.@-
+ // also include underscores or any of the following characters: =,.@:/-
SerialNumber *string `min:"9" type:"string"`
// The value provided by the MFA device, if MFA is required. If any policy requires
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
new file mode 100644
index 00000000..a43fa805
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/doc.go
@@ -0,0 +1,72 @@
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
+
+// Package sts provides the client and types for making API
+// requests to AWS Security Token Service.
+//
+// The AWS Security Token Service (STS) is a web service that enables you to
+// request temporary, limited-privilege credentials for AWS Identity and Access
+// Management (IAM) users or for users that you authenticate (federated users).
+// This guide provides descriptions of the STS API. For more detailed information
+// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
+//
+// As an alternative to using the API, you can use one of the AWS SDKs, which
+// consist of libraries and sample code for various programming languages and
+// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient
+// way to create programmatic access to STS. For example, the SDKs take care
+// of cryptographically signing requests, managing errors, and retrying requests
+// automatically. For information about the AWS SDKs, including how to download
+// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/).
+//
+// For information about setting up signatures and authorization through the
+// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
+// in the AWS General Reference. For general information about the Query API,
+// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
+// in Using IAM. For information about using security tokens with other AWS
+// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
+// in the IAM User Guide.
+//
+// If you're new to AWS and need additional technical information about a specific
+// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
+// (http://aws.amazon.com/documentation/).
+//
+// Endpoints
+//
+// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com
+// that maps to the US East (N. Virginia) region. Additional regions are available
+// and are activated by default. For more information, see Activating and Deactivating
+// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// in the IAM User Guide.
+//
+// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)
+// in the AWS General Reference.
+//
+// Recording API requests
+//
+// STS supports AWS CloudTrail, which is a service that records AWS calls for
+// your AWS account and delivers log files to an Amazon S3 bucket. By using
+// information collected by CloudTrail, you can determine what requests were
+// successfully made to STS, who made the request, when it was made, and so
+// on. To learn more about CloudTrail, including how to turn it on and find
+// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
+//
+// See https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 for more information on this service.
+//
+// See sts package documentation for more information.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/
+//
+// Using the Client
+//
+// To AWS Security Token Service with the SDK use the New function to create
+// a new service client. With that client you can make API requests to the service.
+// These clients are safe to use concurrently.
+//
+// See the SDK's documentation for more information on how to use the SDK.
+// https://docs.aws.amazon.com/sdk-for-go/api/
+//
+// See aws.Config documentation for more information on configuring SDK clients.
+// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config
+//
+// See the AWS Security Token Service client STS for more
+// information on creating client for this service.
+// https://docs.aws.amazon.com/sdk-for-go/api/service/sts/#New
+package sts
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
index dbcd6675..e24884ef 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package sts
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
index 9c4bfb83..1ee5839e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
@@ -1,4 +1,4 @@
-// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
+// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package sts
@@ -11,54 +11,12 @@ import (
"github.com/aws/aws-sdk-go/private/protocol/query"
)
-// The AWS Security Token Service (STS) is a web service that enables you to
-// request temporary, limited-privilege credentials for AWS Identity and Access
-// Management (IAM) users or for users that you authenticate (federated users).
-// This guide provides descriptions of the STS API. For more detailed information
-// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
+// STS provides the API operation methods for making requests to
+// AWS Security Token Service. See this package's package overview docs
+// for details on the service.
//
-// As an alternative to using the API, you can use one of the AWS SDKs, which
-// consist of libraries and sample code for various programming languages and
-// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient
-// way to create programmatic access to STS. For example, the SDKs take care
-// of cryptographically signing requests, managing errors, and retrying requests
-// automatically. For information about the AWS SDKs, including how to download
-// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/).
-//
-// For information about setting up signatures and authorization through the
-// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
-// in the AWS General Reference. For general information about the Query API,
-// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
-// in Using IAM. For information about using security tokens with other AWS
-// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)
-// in the IAM User Guide.
-//
-// If you're new to AWS and need additional technical information about a specific
-// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/
-// (http://aws.amazon.com/documentation/).
-//
-// Endpoints
-//
-// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com
-// that maps to the US East (N. Virginia) region. Additional regions are available
-// and are activated by default. For more information, see Activating and Deactivating
-// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
-// in the IAM User Guide.
-//
-// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region)
-// in the AWS General Reference.
-//
-// Recording API requests
-//
-// STS supports AWS CloudTrail, which is a service that records AWS calls for
-// your AWS account and delivers log files to an Amazon S3 bucket. By using
-// information collected by CloudTrail, you can determine what requests were
-// successfully made to STS, who made the request, when it was made, and so
-// on. To learn more about CloudTrail, including how to turn it on and find
-// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
-// The service client's operations are safe to be used concurrently.
-// It is not safe to mutate any of the client's properties though.
-// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15
+// STS methods are safe to use concurrently. It is not safe to
+// modify mutate any of the struct's properties though.
type STS struct {
*client.Client
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/common/client.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/common/client.go
index d186ebd8..a59789fe 100755
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/common/client.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/common/client.go
@@ -32,6 +32,7 @@ type Client struct {
serviceCode string
regionID Region
businessInfo string
+ userAgent string
}
// NewClient creates a new instance of ECS client
@@ -107,6 +108,11 @@ func (client *Client) SetBusinessInfo(businessInfo string) {
}
}
+// SetUserAgent sets user agent to the request/response message
+func (client *Client) SetUserAgent(userAgent string) {
+ client.userAgent = userAgent
+}
+
// Invoke sends the raw HTTP request for ECS services
func (client *Client) Invoke(action string, args interface{}, response interface{}) error {
@@ -131,6 +137,8 @@ func (client *Client) Invoke(action string, args interface{}, response interface
// TODO move to util and add build val flag
httpReq.Header.Set("X-SDK-Client", `AliyunGO/`+Version+client.businessInfo)
+ httpReq.Header.Set("User-Agent", httpReq.UserAgent()+ " " +client.userAgent)
+
t0 := time.Now()
httpResp, err := client.httpClient.Do(httpReq)
t1 := time.Now()
@@ -200,6 +208,8 @@ func (client *Client) InvokeByFlattenMethod(action string, args interface{}, res
// TODO move to util and add build val flag
httpReq.Header.Set("X-SDK-Client", `AliyunGO/`+Version+client.businessInfo)
+ httpReq.Header.Set("User-Agent", httpReq.UserAgent()+ " " +client.userAgent)
+
t0 := time.Now()
httpResp, err := client.httpClient.Do(httpReq)
t1 := time.Now()
@@ -281,6 +291,8 @@ func (client *Client) InvokeByAnyMethod(method, action, path string, args interf
// TODO move to util and add build val flag
httpReq.Header.Set("X-SDK-Client", `AliyunGO/`+Version+client.businessInfo)
+ httpReq.Header.Set("User-Agent", httpReq.Header.Get("User-Agent")+ " " +client.userAgent)
+
t0 := time.Now()
httpResp, err := client.httpClient.Do(httpReq)
t1 := time.Now()
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/disks.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/disks.go
index f1d1e934..7a67c380 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/disks.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/disks.go
@@ -110,10 +110,7 @@ type DescribeDisksResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/disk&describedisks
func (client *Client) DescribeDisks(args *DescribeDisksArgs) (disks []DiskItemType, pagination *common.PaginationResult, err error) {
- response := DescribeDisksResponse{}
-
- err = client.Invoke("DescribeDisks", args, &response)
-
+ response, err := client.DescribeDisksWithRaw(args)
if err != nil {
return nil, nil, err
}
@@ -121,6 +118,18 @@ func (client *Client) DescribeDisks(args *DescribeDisksArgs) (disks []DiskItemTy
return response.Disks.Disk, &response.PaginationResult, err
}
+func (client *Client) DescribeDisksWithRaw(args *DescribeDisksArgs) (response *DescribeDisksResponse, err error) {
+ response = &DescribeDisksResponse{}
+
+ err = client.Invoke("DescribeDisks", args, response)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return response, err
+}
+
type CreateDiskArgs struct {
RegionId common.Region
ZoneId string
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/forward_entry.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/forward_entry.go
index 2a316e18..ad716a1a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/forward_entry.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/forward_entry.go
@@ -79,17 +79,25 @@ func (client *Client) CreateForwardEntry(args *CreateForwardEntryArgs) (resp *Cr
func (client *Client) DescribeForwardTableEntries(args *DescribeForwardTableEntriesArgs) (forwardTableEntries []ForwardTableEntrySetType,
pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeForwardTableEntriesWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+ return response.ForwardTableEntries.ForwardTableEntry, &response.PaginationResult, nil
+}
+
+func (client *Client) DescribeForwardTableEntriesWithRaw(args *DescribeForwardTableEntriesArgs) (response *DescribeForwardTableEntriesResponse, err error) {
args.Validate()
- response := DescribeForwardTableEntriesResponse{}
+ response = &DescribeForwardTableEntriesResponse{}
- err = client.Invoke("DescribeForwardTableEntries", args, &response)
+ err = client.Invoke("DescribeForwardTableEntries", args, response)
if err != nil {
- return nil, nil, err
+ return nil, err
}
- return response.ForwardTableEntries.ForwardTableEntry, &response.PaginationResult, nil
+ return response, nil
}
func (client *Client) ModifyForwardEntry(args *ModifyForwardEntryArgs) error {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/images.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/images.go
index 0a4e1e2c..54fe86de 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/images.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/images.go
@@ -37,7 +37,7 @@ const (
ImageUsageNone = ImageUsage("none")
)
-// DescribeImagesArgs repsents arguements to describe images
+// DescribeImagesArgs repsents arguments to describe images
type DescribeImagesArgs struct {
RegionId common.Region
ImageId string
@@ -63,12 +63,12 @@ type DescribeImagesResponse struct {
type DiskDeviceMapping struct {
SnapshotId string
//Why Size Field is string-type.
- Size string
- Device string
+ Size string
+ Device string
//For import images
- Format string
- OSSBucket string
- OSSObject string
+ Format string
+ OSSBucket string
+ OSSObject string
}
//
@@ -102,21 +102,28 @@ type ImageType struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/image&describeimages
func (client *Client) DescribeImages(args *DescribeImagesArgs) (images []ImageType, pagination *common.PaginationResult, err error) {
-
- args.Validate()
- response := DescribeImagesResponse{}
- err = client.Invoke("DescribeImages", args, &response)
+ response, err := client.DescribeImagesWithRaw(args)
if err != nil {
return nil, nil, err
}
return response.Images.Image, &response.PaginationResult, nil
}
-// CreateImageArgs repsents arguements to create image
+func (client *Client) DescribeImagesWithRaw(args *DescribeImagesArgs) (response *DescribeImagesResponse, err error) {
+ args.Validate()
+ response = &DescribeImagesResponse{}
+ err = client.Invoke("DescribeImages", args, response)
+ if err != nil {
+ return nil, err
+ }
+ return response, nil
+}
+
+// CreateImageArgs repsents arguments to create image
type CreateImageArgs struct {
RegionId common.Region
SnapshotId string
- InstanceId string
+ InstanceId string
ImageName string
ImageVersion string
Description string
@@ -163,7 +170,7 @@ func (client *Client) DeleteImage(regionId common.Region, imageId string) error
return client.Invoke("DeleteImage", &args, &response)
}
-// ModifyImageSharePermission repsents arguements to share image
+// ModifyImageSharePermission repsents arguments to share image
type ModifyImageSharePermissionArgs struct {
RegionId common.Region
ImageId string
@@ -232,17 +239,16 @@ func (client *Client) CopyImage(args *CopyImageArgs) (string, error) {
return response.ImageId, nil
}
-
-// ImportImageArgs repsents arguements to import image from oss
+// ImportImageArgs repsents arguments to import image from oss
type ImportImageArgs struct {
- RegionId common.Region
- ImageName string
- ImageVersion string
- Description string
- ClientToken string
- Architecture string
- OSType string
- Platform string
+ RegionId common.Region
+ ImageName string
+ ImageVersion string
+ Description string
+ ClientToken string
+ Architecture string
+ OSType string
+ Platform string
DiskDeviceMappings struct {
DiskDeviceMapping []DiskDeviceMapping
}
@@ -259,8 +265,8 @@ func (client *Client) ImportImage(args *ImportImageArgs) (string, error) {
type ImportImageResponse struct {
common.Response
- RegionId common.Region
- ImageId string
+ RegionId common.Region
+ ImageId string
ImportTaskId string
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/instances.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/instances.go
index d127d55a..4eb99953 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/instances.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/instances.go
@@ -15,7 +15,7 @@ type InstanceStatus string
// Constants of InstanceStatus
const (
- Creating = InstanceStatus("Creating") // For backward compatability
+ Creating = InstanceStatus("Creating") // For backward compatibility
Pending = InstanceStatus("Pending")
Running = InstanceStatus("Running")
Starting = InstanceStatus("Starting")
@@ -94,10 +94,7 @@ type DescribeInstanceStatusResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/instance&describeinstancestatus
func (client *Client) DescribeInstanceStatus(args *DescribeInstanceStatusArgs) (instanceStatuses []InstanceStatusItemType, pagination *common.PaginationResult, err error) {
- args.Validate()
- response := DescribeInstanceStatusResponse{}
-
- err = client.Invoke("DescribeInstanceStatus", args, &response)
+ response, err := client.DescribeInstanceStatusWithRaw(args)
if err == nil {
return response.InstanceStatuses.InstanceStatus, &response.PaginationResult, nil
@@ -106,6 +103,18 @@ func (client *Client) DescribeInstanceStatus(args *DescribeInstanceStatusArgs) (
return nil, nil, err
}
+func (client *Client) DescribeInstanceStatusWithRaw(args *DescribeInstanceStatusArgs) (response *DescribeInstanceStatusResponse, err error) {
+ args.Validate()
+ response = &DescribeInstanceStatusResponse{}
+
+ err = client.Invoke("DescribeInstanceStatus", args, response)
+ if err != nil {
+ return nil, err
+ }
+
+ return response, nil
+}
+
type StopInstanceArgs struct {
InstanceId string
ForceStop bool
@@ -254,6 +263,7 @@ type InstanceAttributesType struct {
Tag []TagItemType
}
SpotStrategy SpotStrategyType
+ KeyPairName string
}
type DescribeInstanceAttributeResponse struct {
@@ -408,16 +418,24 @@ type DescribeInstancesResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/instance&describeinstances
func (client *Client) DescribeInstances(args *DescribeInstancesArgs) (instances []InstanceAttributesType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeInstancesWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ return response.Instances.Instance, &response.PaginationResult, nil
+}
+
+func (client *Client) DescribeInstancesWithRaw(args *DescribeInstancesArgs) (response *DescribeInstancesResponse, err error) {
args.Validate()
- response := DescribeInstancesResponse{}
+ response = &DescribeInstancesResponse{}
err = client.Invoke("DescribeInstances", args, &response)
-
- if err == nil {
- return response.Instances.Instance, &response.PaginationResult, nil
+ if err != nil {
+ return nil, err
}
- return nil, nil, err
+ return response, nil
}
type DeleteInstanceArgs struct {
@@ -517,6 +535,7 @@ type CreateInstanceArgs struct {
AutoRenew bool
AutoRenewPeriod int
SpotStrategy SpotStrategyType
+ KeyPairName string
}
type CreateInstanceResponse struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/nat_gateway.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/nat_gateway.go
index dfcb74d3..10e00638 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/nat_gateway.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/nat_gateway.go
@@ -83,17 +83,25 @@ type DescribeNatGatewaysArgs struct {
func (client *Client) DescribeNatGateways(args *DescribeNatGatewaysArgs) (natGateways []NatGatewaySetType,
pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeNatGatewaysWithRaw(args)
+ if err == nil {
+ return response.NatGateways.NatGateway, &response.PaginationResult, nil
+ }
+
+ return nil, nil, err
+}
+func (client *Client) DescribeNatGatewaysWithRaw(args *DescribeNatGatewaysArgs) (response *DescribeNatGatewayResponse, err error) {
args.Validate()
- response := DescribeNatGatewayResponse{}
+ response = &DescribeNatGatewayResponse{}
- err = client.Invoke("DescribeNatGateways", args, &response)
+ err = client.Invoke("DescribeNatGateways", args, response)
if err == nil {
- return response.NatGateways.NatGateway, &response.PaginationResult, nil
+ return response, nil
}
- return nil, nil, err
+ return nil, err
}
type ModifyNatGatewayAttributeArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/networks.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/networks.go
index fecc7af1..100835c3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/networks.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/networks.go
@@ -146,16 +146,25 @@ type DescribeEipAddressesResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/network&describeeipaddresses
func (client *Client) DescribeEipAddresses(args *DescribeEipAddressesArgs) (eipAddresses []EipAddressSetType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeEipAddressesWithRaw(args)
+ if err == nil {
+ return response.EipAddresses.EipAddress, &response.PaginationResult, nil
+ }
+
+ return nil, nil, err
+}
+
+func (client *Client) DescribeEipAddressesWithRaw(args *DescribeEipAddressesArgs) (response *DescribeEipAddressesResponse, err error) {
args.Validate()
- response := DescribeEipAddressesResponse{}
+ response = &DescribeEipAddressesResponse{}
- err = client.Invoke("DescribeEipAddresses", args, &response)
+ err = client.Invoke("DescribeEipAddresses", args, response)
if err == nil {
- return response.EipAddresses.EipAddress, &response.PaginationResult, nil
+ return response, nil
}
- return nil, nil, err
+ return nil, err
}
type ModifyEipAddressAttributeArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/route_tables.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/route_tables.go
index 01f43127..cc85cb12 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/route_tables.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/route_tables.go
@@ -76,16 +76,25 @@ type DescribeRouteTablesResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/routertable&describeroutetables
func (client *Client) DescribeRouteTables(args *DescribeRouteTablesArgs) (routeTables []RouteTableSetType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeRouteTablesWithRaw(args)
+ if err == nil {
+ return response.RouteTables.RouteTable, &response.PaginationResult, nil
+ }
+
+ return nil, nil, err
+}
+
+func (client *Client) DescribeRouteTablesWithRaw(args *DescribeRouteTablesArgs) (response *DescribeRouteTablesResponse, err error) {
args.Validate()
- response := DescribeRouteTablesResponse{}
+ response = &DescribeRouteTablesResponse{}
err = client.Invoke("DescribeRouteTables", args, &response)
if err == nil {
- return response.RouteTables.RouteTable, &response.PaginationResult, nil
+ return response, nil
}
- return nil, nil, err
+ return nil, err
}
type NextHopType string
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/security_groups.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/security_groups.go
index eaec701d..54af3a79 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/security_groups.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/security_groups.go
@@ -108,16 +108,25 @@ type DescribeSecurityGroupsResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/securitygroup&describesecuritygroups
func (client *Client) DescribeSecurityGroups(args *DescribeSecurityGroupsArgs) (securityGroupItems []SecurityGroupItemType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeSecurityGroupsWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ return response.SecurityGroups.SecurityGroup, &response.PaginationResult, nil
+}
+
+func (client *Client) DescribeSecurityGroupsWithRaw(args *DescribeSecurityGroupsArgs) (response *DescribeSecurityGroupsResponse, err error) {
args.Validate()
- response := DescribeSecurityGroupsResponse{}
+ response = &DescribeSecurityGroupsResponse{}
- err = client.Invoke("DescribeSecurityGroups", args, &response)
+ err = client.Invoke("DescribeSecurityGroups", args, response)
if err != nil {
- return nil, nil, err
+ return nil, err
}
- return response.SecurityGroups.SecurityGroup, &response.PaginationResult, nil
+ return response, nil
}
type CreateSecurityGroupArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snapshots.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snapshots.go
index fb6f9c8e..f3c1b09c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snapshots.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snapshots.go
@@ -41,15 +41,24 @@ type DescribeSnapshotsResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/snapshot&describesnapshots
func (client *Client) DescribeSnapshots(args *DescribeSnapshotsArgs) (snapshots []SnapshotType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeSnapshotsWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+ return response.Snapshots.Snapshot, &response.PaginationResult, nil
+
+}
+
+func (client *Client) DescribeSnapshotsWithRaw(args *DescribeSnapshotsArgs) (response *DescribeSnapshotsResponse, err error) {
args.Validate()
- response := DescribeSnapshotsResponse{}
+ response = &DescribeSnapshotsResponse{}
- err = client.Invoke("DescribeSnapshots", args, &response)
+ err = client.Invoke("DescribeSnapshots", args, response)
if err != nil {
- return nil, nil, err
+ return nil, err
}
- return response.Snapshots.Snapshot, &response.PaginationResult, nil
+ return response, nil
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snat_entry.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snat_entry.go
index aa75574c..d9806d76 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snat_entry.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/snat_entry.go
@@ -70,17 +70,25 @@ func (client *Client) CreateSnatEntry(args *CreateSnatEntryArgs) (resp *CreateSn
func (client *Client) DescribeSnatTableEntries(args *DescribeSnatTableEntriesArgs) (snatTableEntries []SnatEntrySetType,
pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeSnatTableEntriesWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+ return response.SnatTableEntries.SnatTableEntry, &response.PaginationResult, nil
+}
+
+func (client *Client) DescribeSnatTableEntriesWithRaw(args *DescribeSnatTableEntriesArgs) ( response *DescribeSnatTableEntriesResponse, err error) {
args.Validate()
- response := DescribeSnatTableEntriesResponse{}
+ response = &DescribeSnatTableEntriesResponse{}
- err = client.Invoke("DescribeSnatTableEntries", args, &response)
+ err = client.Invoke("DescribeSnatTableEntries", args, response)
if err != nil {
- return nil, nil, err
+ return nil, err
}
- return response.SnatTableEntries.SnatTableEntry, &response.PaginationResult, nil
+ return response, nil
}
func (client *Client) ModifySnatEntry(args *ModifySnatEntryArgs) error {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/ssh_key_pair.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/ssh_key_pair.go
index bd742442..76f1a380 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/ssh_key_pair.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/ssh_key_pair.go
@@ -77,10 +77,7 @@ type DescribeKeyPairsResponse struct {
//
// You can read doc at https://help.aliyun.com/document_detail/51773.html?spm=5176.doc51774.6.912.lyE0iX
func (client *Client) DescribeKeyPairs(args *DescribeKeyPairsArgs) (KeyPairs []KeyPairItemType, pagination *common.PaginationResult, err error) {
- response := DescribeKeyPairsResponse{}
-
- err = client.Invoke("DescribeKeyPairs", args, &response)
-
+ response, err := client.DescribeKeyPairsWithRaw(args)
if err != nil {
return nil, nil, err
}
@@ -88,6 +85,18 @@ func (client *Client) DescribeKeyPairs(args *DescribeKeyPairsArgs) (KeyPairs [
return response.KeyPairs.KeyPair, &response.PaginationResult, err
}
+func (client *Client) DescribeKeyPairsWithRaw(args *DescribeKeyPairsArgs) (response *DescribeKeyPairsResponse, err error) {
+ response = &DescribeKeyPairsResponse{}
+
+ err = client.Invoke("DescribeKeyPairs", args, response)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return response, err
+}
+
type AttachKeyPairArgs struct {
RegionId common.Region
KeyPairName string
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/tags.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/tags.go
index 5ffd4931..fb2519a1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/tags.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/tags.go
@@ -76,15 +76,23 @@ type DescribeResourceByTagsResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/tags&describeresourcebytags
func (client *Client) DescribeResourceByTags(args *DescribeResourceByTagsArgs) (resources []ResourceItemType, pagination *common.PaginationResult, err error) {
- args.Validate()
- response := DescribeResourceByTagsResponse{}
- err = client.Invoke("DescribeResourceByTags", args, &response)
+ response, err := client.DescribeResourceByTagsWithRaw(args)
if err != nil {
return nil, nil, err
}
return response.Resources.Resource, &response.PaginationResult, nil
}
+func (client *Client) DescribeResourceByTagsWithRaw(args *DescribeResourceByTagsArgs) (response *DescribeResourceByTagsResponse, err error) {
+ args.Validate()
+ response = &DescribeResourceByTagsResponse{}
+ err = client.Invoke("DescribeResourceByTags", args, response)
+ if err != nil {
+ return nil, err
+ }
+ return response, nil
+}
+
type TagItemType struct {
TagKey string
TagValue string
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vpcs.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vpcs.go
index 80faf21c..d66fe102 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vpcs.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vpcs.go
@@ -95,16 +95,24 @@ type DescribeVpcsResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/vpc&describevpcs
func (client *Client) DescribeVpcs(args *DescribeVpcsArgs) (vpcs []VpcSetType, pagination *common.PaginationResult, err error) {
- args.Validate()
- response := DescribeVpcsResponse{}
+ response, err := client.DescribeVpcsWithRaw(args)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ return response.Vpcs.Vpc, &response.PaginationResult, nil
+}
- err = client.Invoke("DescribeVpcs", args, &response)
+func (client *Client) DescribeVpcsWithRaw(args *DescribeVpcsArgs) (response *DescribeVpcsResponse, err error) {
+ args.Validate()
+ response = &DescribeVpcsResponse{}
- if err == nil {
- return response.Vpcs.Vpc, &response.PaginationResult, nil
+ err = client.Invoke("DescribeVpcs", args, response)
+ if err != nil {
+ return nil, err
}
- return nil, nil, err
+ return response, err
}
type ModifyVpcAttributeArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vrouters.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vrouters.go
index 059a324b..04d43daa 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vrouters.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vrouters.go
@@ -37,16 +37,25 @@ type DescribeVRoutersResponse struct {
//
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/vrouter&describevrouters
func (client *Client) DescribeVRouters(args *DescribeVRoutersArgs) (vrouters []VRouterSetType, pagination *common.PaginationResult, err error) {
+ response, err := client.DescribeVRoutersWithRaw(args)
+ if err == nil {
+ return response.VRouters.VRouter, &response.PaginationResult, nil
+ }
+
+ return nil, nil, err
+}
+
+func (client *Client) DescribeVRoutersWithRaw(args *DescribeVRoutersArgs) (response *DescribeVRoutersResponse, err error) {
args.Validate()
- response := DescribeVRoutersResponse{}
+ response = &DescribeVRoutersResponse{}
- err = client.Invoke("DescribeVRouters", args, &response)
+ err = client.Invoke("DescribeVRouters", args, response)
if err == nil {
- return response.VRouters.VRouter, &response.PaginationResult, nil
+ return response, nil
}
- return nil, nil, err
+ return nil, err
}
type ModifyVRouterAttributeArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vswitches.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vswitches.go
index 8a879ec8..22d5ec8e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vswitches.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/vswitches.go
@@ -53,6 +53,7 @@ func (client *Client) DeleteVSwitch(VSwitchId string) error {
}
type DescribeVSwitchesArgs struct {
+ RegionId common.Region
VpcId string
VSwitchId string
ZoneId string
@@ -94,15 +95,25 @@ type DescribeVSwitchesResponse struct {
// You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/vswitch&describevswitches
func (client *Client) DescribeVSwitches(args *DescribeVSwitchesArgs) (vswitches []VSwitchSetType, pagination *common.PaginationResult, err error) {
args.Validate()
- response := DescribeVSwitchesResponse{}
+ response, err := client.DescribeVSwitchesWithRaw(args)
+ if err == nil {
+ return response.VSwitches.VSwitch, &response.PaginationResult, nil
+ }
+
+ return nil, nil, err
+}
+
+func (client *Client) DescribeVSwitchesWithRaw(args *DescribeVSwitchesArgs) (response *DescribeVSwitchesResponse, err error) {
+ args.Validate()
+ response = &DescribeVSwitchesResponse{}
err = client.Invoke("DescribeVSwitches", args, &response)
if err == nil {
- return response.VSwitches.VSwitch, &response.PaginationResult, nil
+ return response, nil
}
- return nil, nil, err
+ return nil, err
}
type ModifyVSwitchAttributeArgs struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/zones.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/zones.go
index 4818c760..61ecb075 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/zones.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ecs/zones.go
@@ -11,6 +11,34 @@ const (
ResourceTypeIOOptimizedInstance = ResourceType("IoOptimized")
)
+// The sub-item of the type AvailableResourcesType
+type SupportedResourceType string
+
+const (
+ SupportedInstanceType = SupportedResourceType("supportedInstanceType")
+ SupportedInstanceTypeFamily = SupportedResourceType("supportedInstanceTypeFamily")
+ SupportedInstanceGeneration = SupportedResourceType("supportedInstanceGeneration")
+ SupportedSystemDiskCategory = SupportedResourceType("supportedSystemDiskCategory")
+ SupportedDataDiskCategory = SupportedResourceType("supportedDataDiskCategory")
+ SupportedNetworkCategory = SupportedResourceType("supportedNetworkCategory")
+
+)
+//
+// You can read doc at https://help.aliyun.com/document_detail/25670.html?spm=5176.doc25640.2.1.J24zQt
+type ResourcesInfoType struct {
+ ResourcesInfo []AvailableResourcesType
+}
+// Because the sub-item of AvailableResourcesType starts with supported and golang struct cann't refer them, this uses map to parse ResourcesInfo
+type AvailableResourcesType struct {
+ IoOptimized bool
+ NetworkTypes map[SupportedResourceType][]string
+ InstanceGenerations map[SupportedResourceType][]string
+ InstanceTypeFamilies map[SupportedResourceType][]string
+ InstanceTypes map[SupportedResourceType][]string
+ SystemDiskCategories map[SupportedResourceType][]DiskCategory
+ DataDiskCategories map[SupportedResourceType][]DiskCategory
+}
+
type DescribeZonesArgs struct {
RegionId common.Region
}
@@ -36,6 +64,7 @@ type AvailableInstanceTypesType struct {
type ZoneType struct {
ZoneId string
LocalName string
+ AvailableResources ResourcesInfoType
AvailableInstanceTypes AvailableInstanceTypesType
AvailableResourceCreation AvailableResourceCreationType
AvailableDiskCategories AvailableDiskCategoriesType
@@ -50,16 +79,25 @@ type DescribeZonesResponse struct {
// DescribeZones describes zones
func (client *Client) DescribeZones(regionId common.Region) (zones []ZoneType, err error) {
+ response, err := client.DescribeZonesWithRaw(regionId)
+ if err == nil {
+ return response.Zones.Zone, nil
+ }
+
+ return []ZoneType{}, err
+}
+
+func (client *Client) DescribeZonesWithRaw(regionId common.Region) (response *DescribeZonesResponse, err error) {
args := DescribeZonesArgs{
RegionId: regionId,
}
- response := DescribeZonesResponse{}
+ response = &DescribeZonesResponse{}
- err = client.Invoke("DescribeZones", &args, &response)
+ err = client.Invoke("DescribeZones", &args, response)
if err == nil {
- return response.Zones.Zone, nil
+ return response, nil
}
- return []ZoneType{}, err
+ return nil, err
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/api.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/api.go
index 8ad173b7..d8f50296 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/api.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/api.go
@@ -13,11 +13,11 @@ type RamClientInterface interface {
DeleteUser(userQuery UserQueryRequest) (RamCommonResponse, error)
ListUsers(listParams ListUserRequest) (ListUserResponse, error)
- //TODO login ram console
- CreateLoginProfile()
- GetLoginProfile()
- DeleteLoginProfile()
- UpdateLoginProfile()
+ //ram login profile
+ CreateLoginProfile(req ProfileRequest) (ProfileResponse, error)
+ GetLoginProfile(req UserQueryRequest) (ProfileResponse, error)
+ DeleteLoginProfile(req UserQueryRequest) (RamCommonResponse, error)
+ UpdateLoginProfile(req ProfileRequest) (ProfileResponse, error)
//ram ak
CreateAccessKey(userQuery UserQueryRequest) (AccessKeyResponse, error)
@@ -25,23 +25,24 @@ type RamClientInterface interface {
DeleteAccessKey(accessKeyRequest UpdateAccessKeyRequest) (RamCommonResponse, error)
ListAccessKeys(userQuery UserQueryRequest) (AccessKeyListResponse, error)
- //TODO MFA
- CreateVirtualMFADevices()
- ListVirtualMFADevices()
- DeleteVirtualMFADevices()
- BindMFADevice()
- GetUserMFAInfo()
+ //ram mfa
+ CreateVirtualMFADevice(req MFARequest) (MFAResponse, error)
+ ListVirtualMFADevices() (MFAListResponse, error)
+ DeleteVirtualMFADevice(req MFADeleteRequest) (RamCommonResponse, error)
+ BindMFADevice(req MFABindRequest) (RamCommonResponse, error)
+ UnbindMFADevice(req UserQueryRequest) (MFAUserResponse, error)
+ GetUserMFAInfo(req UserQueryRequest) (MFAUserResponse, error)
- //TODO group
- CreateGroup()
- GetGroup()
- UpdateGroup()
- ListGroup()
- DeleteGroup()
- AddUserToGroup()
- RemoveUserFromGroup()
- ListGroupsForUser()
- ListUsersForGroup()
+ //ram group
+ CreateGroup(req GroupRequest) (GroupResponse, error)
+ GetGroup(req GroupQueryRequest) (GroupResponse, error)
+ UpdateGroup(req GroupUpdateRequest) (GroupResponse, error)
+ ListGroup(req GroupListRequest) (GroupListResponse, error)
+ DeleteGroup(req GroupQueryRequest) (RamCommonResponse, error)
+ AddUserToGroup(req UserRelateGroupRequest) (RamCommonResponse, error)
+ RemoveUserFromGroup(req UserRelateGroupRequest) (RamCommonResponse, error)
+ ListGroupsForUser(req UserQueryRequest) (GroupListResponse, error)
+ ListUsersForGroup(req GroupQueryRequest) (ListUserResponse, error)
CreateRole(role RoleRequest) (RoleResponse, error)
GetRole(roleQuery RoleQueryRequest) (RoleResponse, error)
@@ -56,24 +57,28 @@ type RamClientInterface interface {
ListPolicies(policyQuery PolicyQueryRequest) (PolicyQueryResponse, error)
ListPoliciesForUser(userQuery UserQueryRequest) (PolicyListResponse, error)
- //TODO policy
+ //ram policy version
CreatePolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)
GetPolicyVersion(policyReq PolicyRequest) (PolicyVersionResponse, error)
+ GetPolicyVersionNew(policyReq PolicyRequest) (PolicyVersionResponseNew, error)
DeletePolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)
ListPolicyVersions(policyReq PolicyRequest) (PolicyVersionResponse, error)
+ ListPolicyVersionsNew(policyReq PolicyRequest) (PolicyVersionsResponse, error)
AttachPolicyToUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)
DetachPolicyFromUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error)
- ListEnitiesForPolicy()
- SetDefaultPolicyVersion()
- ListPoliciesForGroup()
+ ListEntitiesForPolicy(policyReq PolicyRequest) (PolicyListEntitiesResponse, error)
+ SetDefaultPolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error)
+ ListPoliciesForGroup(groupQuery GroupQueryRequest) (PolicyListResponse, error)
+ AttachPolicyToGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)
+ DetachPolicyFromGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error)
AttachPolicyToRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)
DetachPolicyFromRole(attachPolicyRequest AttachPolicyToRoleRequest) (RamCommonResponse, error)
ListPoliciesForRole(roleQuery RoleQueryRequest) (PolicyListResponse, error)
- //TODO security apis
- SetAccountAlias(accountAlias AccountAlias) (RamCommonResponse, error)
+ //ram security
+ SetAccountAlias(accountAlias AccountAliasRequest) (RamCommonResponse, error)
GetAccountAlias() (AccountAliasResponse, error)
ClearAccountAlias() (RamCommonResponse, error)
SetPasswordPolicy(passwordPolicy PasswordPolicyRequest) (PasswordPolicyResponse, error)
- GetPasswordPolicy(accountAlias AccountAlias) (PasswordPolicyResponse, error)
+ GetPasswordPolicy() (PasswordPolicyResponse, error)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/group.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/group.go
index a64e68fb..6f1224f5 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/group.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/group.go
@@ -1,11 +1,118 @@
package ram
-func (client *RamClient) CreateGroup() {}
-func (client *RamClient) GetGroup() {}
-func (client *RamClient) UpdateGroup() {}
-func (client *RamClient) ListGroup() {}
-func (client *RamClient) DeleteGroup() {}
-func (client *RamClient) AddUserToGroup() {}
-func (client *RamClient) RemoveUserFromGroup() {}
-func (client *RamClient) ListGroupsForUser() {}
-func (client *RamClient) ListUsersForGroup() {}
+type GroupRequest struct {
+ Group
+}
+
+type GroupQueryRequest struct {
+ GroupName string
+}
+
+type GroupUpdateRequest struct {
+ GroupName string
+ NewGroupName string
+ NewComments string
+}
+
+type GroupListRequest struct {
+ Marker string
+ MaxItems int8
+}
+
+type UserRelateGroupRequest struct {
+ UserName string
+ GroupName string
+}
+
+type GroupResponse struct {
+ RamCommonResponse
+ Group Group
+}
+
+type GroupListResponse struct {
+ RamCommonResponse
+ Groups struct {
+ Group []Group
+ }
+}
+
+func (client *RamClient) CreateGroup(req GroupRequest) (GroupResponse, error) {
+ var resp GroupResponse
+ err := client.Invoke("CreateGroup", req, &resp)
+ if err != nil {
+ return GroupResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) GetGroup(req GroupQueryRequest) (GroupResponse, error) {
+ var resp GroupResponse
+ err := client.Invoke("GetGroup", req, &resp)
+ if err != nil {
+ return GroupResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) UpdateGroup(req GroupUpdateRequest) (GroupResponse, error) {
+ var resp GroupResponse
+ err := client.Invoke("UpdateGroup", req, &resp)
+ if err != nil {
+ return GroupResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) ListGroup(req GroupListRequest) (GroupListResponse, error) {
+ var resp GroupListResponse
+ err := client.Invoke("ListGroups", req, &resp)
+ if err != nil {
+ return GroupListResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) DeleteGroup(req GroupQueryRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("DeleteGroup", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) AddUserToGroup(req UserRelateGroupRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("AddUserToGroup", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) RemoveUserFromGroup(req UserRelateGroupRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("RemoveUserFromGroup", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) ListGroupsForUser(req UserQueryRequest) (GroupListResponse, error) {
+ var resp GroupListResponse
+ err := client.Invoke("ListGroupsForUser", req, &resp)
+ if err != nil {
+ return GroupListResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) ListUsersForGroup(req GroupQueryRequest) (ListUserResponse, error) {
+ var resp ListUserResponse
+ err := client.Invoke("ListUsersForGroup", req, &resp)
+ if err != nil {
+ return ListUserResponse{}, err
+ }
+ return resp, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/mfa.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/mfa.go
index 07d6b394..708dfe26 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/mfa.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/mfa.go
@@ -1,11 +1,87 @@
package ram
-func (client *RamClient) CreateVirtualMFADevices() {}
+type MFARequest struct {
+ VirtualMFADeviceName string
+}
-func (client *RamClient) ListVirtualMFADevices() {}
+type MFADeleteRequest struct {
+ MFADevice
+}
-func (client *RamClient) DeleteVirtualMFADevices() {}
+type MFABindRequest struct {
+ SerialNumber string
+ UserName string
+ AuthenticationCode1 string
+ AuthenticationCode2 string
+}
-func (client *RamClient) BindMFADevice() {}
+type MFAResponse struct {
+ RamCommonResponse
+ VirtualMFADevice VirtualMFADevice
+}
-func (client *RamClient) GetUserMFAInfo() {}
+type MFAListResponse struct {
+ RamCommonResponse
+ VirtualMFADevices struct {
+ VirtualMFADevice []VirtualMFADevice
+ }
+}
+
+type MFAUserResponse struct {
+ RamCommonResponse
+ MFADevice MFADevice
+}
+
+func (client *RamClient) CreateVirtualMFADevice(req MFARequest) (MFAResponse, error) {
+ var resp MFAResponse
+ err := client.Invoke("CreateVirtualMFADevice", req, &resp)
+ if err != nil {
+ return MFAResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) ListVirtualMFADevices() (MFAListResponse, error) {
+ var resp MFAListResponse
+ err := client.Invoke("ListVirtualMFADevices", struct{}{}, &resp)
+ if err != nil {
+ return MFAListResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) DeleteVirtualMFADevice(req MFADeleteRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("DeleteVirtualMFADevice", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) BindMFADevice(req MFABindRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("BindMFADevice", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) UnbindMFADevice(req UserQueryRequest) (MFAUserResponse, error) {
+ var resp MFAUserResponse
+ err := client.Invoke("UnbindMFADevice", req, &resp)
+ if err != nil {
+ return MFAUserResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) GetUserMFAInfo(req UserQueryRequest) (MFAUserResponse, error) {
+ var resp MFAUserResponse
+ err := client.Invoke("GetUserMFAInfo", req, &resp)
+ if err != nil {
+ return MFAUserResponse{}, err
+ }
+ return resp, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/policy.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/policy.go
index 2eaed4f4..b0a84b86 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/policy.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/policy.go
@@ -52,6 +52,41 @@ type AttachPolicyToRoleRequest struct {
RoleName string
}
+type PolicyVersionResponseNew struct {
+ RamCommonResponse
+ PolicyVersion struct {
+ IsDefaultVersion bool
+ VersionId string
+ CreateDate string
+ PolicyDocument string
+ }
+}
+
+type AttachPolicyToGroupRequest struct {
+ PolicyRequest
+ GroupName string
+}
+
+type PolicyVersionsResponse struct {
+ RamCommonResponse
+ PolicyVersions struct {
+ PolicyVersion []PolicyVersion
+ }
+}
+
+type PolicyListEntitiesResponse struct {
+ RamCommonResponse
+ Groups struct {
+ Group []Group
+ }
+ Users struct {
+ User []User
+ }
+ Roles struct {
+ Role []Role
+ }
+}
+
func (client *RamClient) CreatePolicy(policyReq PolicyRequest) (PolicyResponse, error) {
var resp PolicyResponse
err := client.Invoke("CreatePolicy", policyReq, &resp)
@@ -106,6 +141,15 @@ func (client *RamClient) GetPolicyVersion(policyReq PolicyRequest) (PolicyVersio
return resp, nil
}
+func (client *RamClient) GetPolicyVersionNew(policyReq PolicyRequest) (PolicyVersionResponseNew, error) {
+ var resp PolicyVersionResponseNew
+ err := client.Invoke("GetPolicyVersion", policyReq, &resp)
+ if err != nil {
+ return PolicyVersionResponseNew{}, err
+ }
+ return resp, nil
+}
+
func (client *RamClient) DeletePolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error) {
var resp RamCommonResponse
err := client.Invoke("DeletePolicyVersion", policyReq, &resp)
@@ -124,8 +168,23 @@ func (client *RamClient) ListPolicyVersions(policyReq PolicyRequest) (PolicyVers
return resp, nil
}
-//TODO
-func (client *RamClient) SetDefaultPolicyVersion() {}
+func (client *RamClient) ListPolicyVersionsNew(policyReq PolicyRequest) (PolicyVersionsResponse, error) {
+ var resp PolicyVersionsResponse
+ err := client.Invoke("ListPolicyVersions", policyReq, &resp)
+ if err != nil {
+ return PolicyVersionsResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) SetDefaultPolicyVersion(policyReq PolicyRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("SetDefaultPolicyVersion", policyReq, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
func (client *RamClient) AttachPolicyToUser(attachPolicyRequest AttachPolicyRequest) (RamCommonResponse, error) {
var resp RamCommonResponse
@@ -145,8 +204,14 @@ func (client *RamClient) DetachPolicyFromUser(attachPolicyRequest AttachPolicyRe
return resp, nil
}
-//TODO
-func (client *RamClient) ListEnitiesForPolicy() {}
+func (client *RamClient) ListEntitiesForPolicy(policyReq PolicyRequest) (PolicyListEntitiesResponse, error) {
+ var resp PolicyListEntitiesResponse
+ err := client.Invoke("ListEntitiesForPolicy", policyReq, &resp)
+ if err != nil {
+ return PolicyListEntitiesResponse{}, err
+ }
+ return resp, nil
+}
func (client *RamClient) ListPoliciesForUser(userQuery UserQueryRequest) (PolicyListResponse, error) {
var resp PolicyListResponse
@@ -190,6 +255,29 @@ func (client *RamClient) ListPoliciesForRole(roleQuery RoleQueryRequest) (Policy
//
//Group related
//
-//TODO
-//
-func (client *RamClient) ListPoliciesForGroup() {}
+func (client *RamClient) AttachPolicyToGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("AttachPolicyToGroup", attachPolicyRequest, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) DetachPolicyFromGroup(attachPolicyRequest AttachPolicyToGroupRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("DetachPolicyFromGroup", attachPolicyRequest, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+
+func (client *RamClient) ListPoliciesForGroup(groupQuery GroupQueryRequest) (PolicyListResponse, error) {
+ var resp PolicyListResponse
+ err := client.Invoke("ListPoliciesForGroup", groupQuery, &resp)
+ if err != nil {
+ return PolicyListResponse{}, err
+ }
+ return resp, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/profile.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/profile.go
index 91dd32e3..fb827619 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/profile.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/profile.go
@@ -7,18 +7,50 @@ package ram
UpdateLoginProfile()
*/
-func (client *RamClient) CreateLoginProfile() {
-
+type ProfileRequest struct {
+ UserName string
+ Password string
+ PasswordResetRequired bool
+ MFABindRequired bool
}
-func (client *RamClient) GetLoginProfile() {
-
+type ProfileResponse struct {
+ RamCommonResponse
+ LoginProfile LoginProfile
}
-func (client *RamClient) DeleteLoginProfile() {
+func (client *RamClient) CreateLoginProfile(req ProfileRequest) (ProfileResponse, error) {
+ var resp ProfileResponse
+ err := client.Invoke("CreateLoginProfile", req, &resp)
+ if err != nil {
+ return ProfileResponse{}, err
+ }
+ return resp, nil
+}
+func (client *RamClient) GetLoginProfile(req UserQueryRequest) (ProfileResponse, error) {
+ var resp ProfileResponse
+ err := client.Invoke("GetLoginProfile", req, &resp)
+ if err != nil {
+ return ProfileResponse{}, err
+ }
+ return resp, nil
}
-func (client *RamClient) UpdateLoginProfile() {
+func (client *RamClient) DeleteLoginProfile(req UserQueryRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("DeleteLoginProfile", req, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
+}
+func (client *RamClient) UpdateLoginProfile(req ProfileRequest) (ProfileResponse, error) {
+ var resp ProfileResponse
+ err := client.Invoke("UpdateLoginProfile", req, &resp)
+ if err != nil {
+ return ProfileResponse{}, err
+ }
+ return resp, nil
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/security.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/security.go
index da5f4a78..5421ba0b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/security.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/security.go
@@ -22,19 +22,51 @@ type PasswordPolicyRequest struct {
PasswordPolicy
}
-func (client *RamClient) SetAccountAlias(accountalias AccountAlias) (RamCommonResponse, error) {
- return RamCommonResponse{}, nil
+type AccountAliasRequest struct {
+ AccountAlias string
+}
+
+func (client *RamClient) SetAccountAlias(accountalias AccountAliasRequest) (RamCommonResponse, error) {
+ var resp RamCommonResponse
+ err := client.Invoke("SetAccountAlias", accountalias, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
}
func (client *RamClient) GetAccountAlias() (AccountAliasResponse, error) {
- return AccountAliasResponse{}, nil
+ var resp AccountAliasResponse
+ err := client.Invoke("GetAccountAlias", struct{}{}, &resp)
+ if err != nil {
+ return AccountAliasResponse{}, err
+ }
+ return resp, nil
}
+
func (client *RamClient) ClearAccountAlias() (RamCommonResponse, error) {
- return RamCommonResponse{}, nil
+ var resp RamCommonResponse
+ err := client.Invoke("ClearAccountAlias", struct{}{}, &resp)
+ if err != nil {
+ return RamCommonResponse{}, err
+ }
+ return resp, nil
}
+
func (client *RamClient) SetPasswordPolicy(passwordPolicy PasswordPolicyRequest) (PasswordPolicyResponse, error) {
- return PasswordPolicyResponse{}, nil
+ var resp PasswordPolicyResponse
+ err := client.Invoke("SetPasswordPolicy", passwordPolicy, &resp)
+ if err != nil {
+ return PasswordPolicyResponse{}, err
+ }
+ return resp, nil
}
-func (client *RamClient) GetPasswordPolicy(accountAlias AccountAlias) (PasswordPolicyResponse, error) {
- return PasswordPolicyResponse{}, nil
+
+func (client *RamClient) GetPasswordPolicy() (PasswordPolicyResponse, error) {
+ var resp PasswordPolicyResponse
+ err := client.Invoke("GetPasswordPolicy", struct{}{}, &resp)
+ if err != nil {
+ return PasswordPolicyResponse{}, err
+ }
+ return resp, nil
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/types.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/types.go
index 0a82b959..c7bb9187 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/types.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/ram/types.go
@@ -39,12 +39,21 @@ type User struct {
}
type LoginProfile struct {
+ UserName string
+ PasswordResetRequired bool
+ MFABindRequired bool
}
type MFADevice struct {
+ SerialNumber string
}
type VirtualMFADevice struct {
+ SerialNumber string
+ Base32StringSeed string
+ QRCodePNG string
+ ActivateDate string
+ User User
}
type AccessKey struct {
@@ -55,6 +64,8 @@ type AccessKey struct {
}
type Group struct {
+ GroupName string
+ Comments string
}
type Role struct {
@@ -77,6 +88,13 @@ type Policy struct {
AttachmentCount int64
}
+type PolicyVersion struct {
+ VersionId string
+ IsDefaultVersion bool
+ CreateDate string
+ PolicyDocument string
+}
+
type PolicyDocument struct {
Statement []PolicyItem
Version string
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/slb/listeners.go b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/slb/listeners.go
index dedc6758..4861abc1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/slb/listeners.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/denverdino/aliyungo/slb/listeners.go
@@ -100,6 +100,7 @@ type HTTPListenerType struct {
HealthCheckTimeout int
HealthCheckInterval int
HealthCheckHttpCode HealthCheckHttpCodeType
+ VServerGroup FlagType
VServerGroupId string
Gzip FlagType
}
@@ -144,6 +145,7 @@ type TCPListenerType struct {
Bandwidth int
Scheduler SchedulerType
PersistenceTimeout int
+ HealthCheck FlagType
HealthCheckType HealthCheckType
HealthCheckDomain string
HealthCheckURI string
@@ -153,6 +155,7 @@ type TCPListenerType struct {
HealthCheckConnectTimeout int
HealthCheckInterval int
HealthCheckHttpCode HealthCheckHttpCodeType
+ VServerGroup FlagType
VServerGroupId string
}
@@ -174,11 +177,13 @@ type UDPListenerType struct {
Bandwidth int
Scheduler SchedulerType
PersistenceTimeout int
+ HealthCheck FlagType
HealthCheckConnectPort int
HealthyThreshold int
UnhealthyThreshold int
HealthCheckConnectTimeout int
HealthCheckInterval int
+ VServerGroup FlagType
VServerGroupId string
}
type CreateLoadBalancerUDPListenerArgs UDPListenerType
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/dylanmei/winrmtest/wsman.go b/vendor/github.com/mitchellh/packer/vendor/github.com/dylanmei/winrmtest/wsman.go
index c6d1c247..35234da4 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/dylanmei/winrmtest/wsman.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/dylanmei/winrmtest/wsman.go
@@ -8,8 +8,7 @@ import (
"strconv"
"strings"
- "github.com/masterzen/winrm/soap"
- "github.com/masterzen/xmlpath"
+ "github.com/antchfx/xquery/xml"
"github.com/satori/go.uuid"
)
@@ -57,7 +56,7 @@ func (w *wsman) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
rw.Header().Add("Content-Type", "application/soap+xml")
defer r.Body.Close()
- env, err := xmlpath.Parse(r.Body)
+ env, err := xmlquery.Parse(r.Body)
if err != nil {
return
@@ -130,41 +129,32 @@ func (w *wsman) ServeHTTP(rw http.ResponseWriter, r *http.Request) {
}
}
-func readAction(env *xmlpath.Node) string {
- xpath, err := xmlpath.CompileWithNamespace(
- "//a:Action", soap.GetAllNamespaces())
-
- if err != nil {
+func readAction(env *xmlquery.Node) string {
+ xpath := xmlquery.FindOne(env, "//a:Action")
+ if xpath == nil {
return ""
}
- action, _ := xpath.String(env)
- return action
+ return xpath.InnerText()
}
-func readCommand(env *xmlpath.Node) string {
- xpath, err := xmlpath.CompileWithNamespace(
- "//rsp:Command", soap.GetAllNamespaces())
-
- if err != nil {
+func readCommand(env *xmlquery.Node) string {
+ xpath := xmlquery.FindOne(env, "//rsp:Command")
+ if xpath == nil {
return ""
}
- command, _ := xpath.String(env)
- if unquoted, err := strconv.Unquote(command); err == nil {
+ if unquoted, err := strconv.Unquote(xpath.InnerText()); err == nil {
return unquoted
}
- return command
+ return xpath.InnerText()
}
-func readCommandIDFromDesiredStream(env *xmlpath.Node) string {
- xpath, err := xmlpath.CompileWithNamespace(
- "//rsp:DesiredStream/@CommandId", soap.GetAllNamespaces())
-
- if err != nil {
+func readCommandIDFromDesiredStream(env *xmlquery.Node) string {
+ xpath := xmlquery.FindOne(env, "//rsp:DesiredStream")
+ if xpath == nil {
return ""
}
- id, _ := xpath.String(env)
- return id
+ return xpath.SelectAttr("CommandId")
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/hashicorp/atlas-go/archive/archive.go b/vendor/github.com/mitchellh/packer/vendor/github.com/hashicorp/atlas-go/archive/archive.go
index 0a025b21..91310ad5 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/hashicorp/atlas-go/archive/archive.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/hashicorp/atlas-go/archive/archive.go
@@ -372,6 +372,8 @@ func copyDirWalkFn(
return filepath.Walk(target, copyDirWalkFn(
tarW, target, subpath, opts, vcsInclude))
}
+ // return now so that we don't try to copy twice
+ return nil
}
return copyConcreteEntry(tarW, subpath, path, info)
@@ -418,7 +420,7 @@ func copyConcreteEntry(
if _, err = io.Copy(tarW, f); err != nil {
return fmt.Errorf(
- "failed copying file to archive: %s", path)
+ "failed copying file to archive: %s, %s", path, err)
}
return nil
@@ -474,35 +476,22 @@ func copyExtras(w *tar.Writer, extra map[string]string) error {
}
func readLinkFull(path string, info os.FileInfo) (string, os.FileInfo, error) {
- // Read the symlink continously until we reach a concrete file.
- target := path
- tries := 0
- for info.Mode()&os.ModeSymlink != 0 {
- var err error
- target, err = os.Readlink(target)
- if err != nil {
- return "", nil, err
- }
- if !filepath.IsAbs(target) {
- target, err = filepath.Abs(target)
- if err != nil {
- return "", nil, err
- }
- }
- info, err = os.Lstat(target)
- if err != nil {
- return "", nil, err
- }
+ target, err := filepath.EvalSymlinks(path)
+ if err != nil {
+ return "", nil, err
+ }
- tries++
- if tries > 100 {
- return "", nil, fmt.Errorf(
- "Symlink for %s is too deep, over 100 levels deep",
- path)
- }
+ target, err = filepath.Abs(target)
+ if err != nil {
+ return "", nil, err
+ }
+
+ fi, err := os.Lstat(target)
+ if err != nil {
+ return "", nil, err
}
- return target, info, nil
+ return target, fi, nil
}
// readCloseRemover is an io.ReadCloser implementation that will remove
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/ntlm.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/ntlm.go
index f2ac707a..6a0ee106 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/ntlm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/ntlm.go
@@ -1,7 +1,7 @@
package winrm
import (
- ntlmssp "github.com/Azure/go-ntlmssp"
+ "github.com/Azure/go-ntlmssp"
"github.com/masterzen/winrm/soap"
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/request.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/request.go
index 8e43449b..37b22653 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/request.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/request.go
@@ -8,8 +8,8 @@ import (
)
func genUUID() string {
- uuid, _ := uuid.NewV4()
- return "uuid:" + uuid.String()
+ id, _ := uuid.NewV4()
+ return "uuid:" + id.String()
}
func defaultHeaders(message *soap.SoapMessage, url string, params *Parameters) *soap.SoapHeader {
@@ -37,10 +37,10 @@ func NewOpenShellRequest(uri string, params *Parameters) *soap.SoapMessage {
AddOption(soap.NewHeaderOption("WINRS_CODEPAGE", "65001")).
Build()
- body := message.CreateBodyElement("Shell", soap.NS_WIN_SHELL)
- input := message.CreateElement(body, "InputStreams", soap.NS_WIN_SHELL)
+ body := message.CreateBodyElement("Shell", soap.DOM_NS_WIN_SHELL)
+ input := message.CreateElement(body, "InputStreams", soap.DOM_NS_WIN_SHELL)
input.SetContent("stdin")
- output := message.CreateElement(body, "OutputStreams", soap.NS_WIN_SHELL)
+ output := message.CreateElement(body, "OutputStreams", soap.DOM_NS_WIN_SHELL)
output.SetContent("stdout stderr")
return message
@@ -77,16 +77,16 @@ func NewExecuteCommandRequest(uri, shellId, command string, arguments []string,
AddOption(soap.NewHeaderOption("WINRS_SKIP_CMD_SHELL", "FALSE")).
Build()
- body := message.CreateBodyElement("CommandLine", soap.NS_WIN_SHELL)
+ body := message.CreateBodyElement("CommandLine", soap.DOM_NS_WIN_SHELL)
// ensure special characters like & don't mangle the request XML
command = "<![CDATA[" + command + "]]>"
- commandElement := message.CreateElement(body, "Command", soap.NS_WIN_SHELL)
+ commandElement := message.CreateElement(body, "Command", soap.DOM_NS_WIN_SHELL)
commandElement.SetContent(command)
for _, arg := range arguments {
arg = "<![CDATA[" + arg + "]]>"
- argumentsElement := message.CreateElement(body, "Arguments", soap.NS_WIN_SHELL)
+ argumentsElement := message.CreateElement(body, "Arguments", soap.DOM_NS_WIN_SHELL)
argumentsElement.SetContent(arg)
}
@@ -104,8 +104,8 @@ func NewGetOutputRequest(uri, shellId, commandId, streams string, params *Parame
ShellId(shellId).
Build()
- receive := message.CreateBodyElement("Receive", soap.NS_WIN_SHELL)
- desiredStreams := message.CreateElement(receive, "DesiredStream", soap.NS_WIN_SHELL)
+ receive := message.CreateBodyElement("Receive", soap.DOM_NS_WIN_SHELL)
+ desiredStreams := message.CreateElement(receive, "DesiredStream", soap.DOM_NS_WIN_SHELL)
desiredStreams.SetAttr("CommandId", commandId)
desiredStreams.SetContent(streams)
@@ -126,8 +126,8 @@ func NewSendInputRequest(uri, shellId, commandId string, input []byte, params *P
content := base64.StdEncoding.EncodeToString(input)
- send := message.CreateBodyElement("Send", soap.NS_WIN_SHELL)
- streams := message.CreateElement(send, "Stream", soap.NS_WIN_SHELL)
+ send := message.CreateBodyElement("Send", soap.DOM_NS_WIN_SHELL)
+ streams := message.CreateElement(send, "Stream", soap.DOM_NS_WIN_SHELL)
streams.SetAttr("Name", "stdin")
streams.SetAttr("CommandId", commandId)
streams.SetContent(content)
@@ -146,9 +146,9 @@ func NewSignalRequest(uri string, shellId string, commandId string, params *Para
ShellId(shellId).
Build()
- signal := message.CreateBodyElement("Signal", soap.NS_WIN_SHELL)
+ signal := message.CreateBodyElement("Signal", soap.DOM_NS_WIN_SHELL)
signal.SetAttr("CommandId", commandId)
- code := message.CreateElement(signal, "Code", soap.NS_WIN_SHELL)
+ code := message.CreateElement(signal, "Code", soap.DOM_NS_WIN_SHELL)
code.SetContent("http://schemas.microsoft.com/wbem/wsman/1/windows/shell/signal/terminate")
return message
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/response.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/response.go
index 52852313..b5ca8cc9 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/response.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/response.go
@@ -7,46 +7,45 @@ import (
"strconv"
"strings"
+ "github.com/ChrisTrenkamp/goxpath"
+ "github.com/ChrisTrenkamp/goxpath/tree"
+ "github.com/ChrisTrenkamp/goxpath/tree/xmltree"
"github.com/masterzen/winrm/soap"
- "github.com/masterzen/xmlpath"
)
-func first(node *xmlpath.Node, xpath string) (string, error) {
- path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces())
+func first(node tree.Node, xpath string) (string, error) {
+ nodes, err := xPath(node, xpath)
if err != nil {
return "", err
}
- content, _ := path.String(node)
- return content, nil
+ if len(nodes) < 1 {
+ return "", err
+ }
+ return nodes[0].ResValue(), nil
}
-func any(node *xmlpath.Node, xpath string) (bool, error) {
- path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces())
+func any(node tree.Node, xpath string) (bool, error) {
+ nodes, err := xPath(node, xpath)
if err != nil {
return false, err
}
-
- return path.Exists(node), nil
-
+ if len(nodes) > 0 {
+ return true, nil
+ }
+ return false, nil
}
-func xpath(node *xmlpath.Node, xpath string) ([]xmlpath.Node, error) {
- path, err := xmlpath.CompileWithNamespace(xpath, soap.GetAllNamespaces())
+func xPath(node tree.Node, xpath string) (tree.NodeSet, error) {
+ xpExec := goxpath.MustParse(xpath)
+ nodes, err := xpExec.ExecNode(node, soap.GetAllXPathNamespaces())
if err != nil {
return nil, err
}
-
- nodes := make([]xmlpath.Node, 0, 1)
- iter := path.Iter(node)
- for iter.Next() {
- nodes = append(nodes, *(iter.Node()))
- }
-
return nodes, nil
}
func ParseOpenShellResponse(response string) (string, error) {
- doc, err := xmlpath.Parse(strings.NewReader(response))
+ doc, err := xmltree.ParseXML(strings.NewReader(response))
if err != nil {
return "", err
}
@@ -54,7 +53,7 @@ func ParseOpenShellResponse(response string) (string, error) {
}
func ParseExecuteCommandResponse(response string) (string, error) {
- doc, err := xmlpath.Parse(strings.NewReader(response))
+ doc, err := xmltree.ParseXML(strings.NewReader(response))
if err != nil {
return "", err
}
@@ -67,16 +66,16 @@ func ParseSlurpOutputErrResponse(response string, stdout, stderr io.Writer) (boo
exitCode int
)
- doc, err := xmlpath.Parse(strings.NewReader(response))
+ doc, err := xmltree.ParseXML(strings.NewReader(response))
- stdouts, _ := xpath(doc, "//rsp:Stream[@Name='stdout']")
+ stdouts, _ := xPath(doc, "//rsp:Stream[@Name='stdout']")
for _, node := range stdouts {
- content, _ := base64.StdEncoding.DecodeString(node.String())
+ content, _ := base64.StdEncoding.DecodeString(node.ResValue())
stdout.Write(content)
}
- stderrs, _ := xpath(doc, "//rsp:Stream[@Name='stderr']")
+ stderrs, _ := xPath(doc, "//rsp:Stream[@Name='stderr']")
for _, node := range stderrs {
- content, _ := base64.StdEncoding.DecodeString(node.String())
+ content, _ := base64.StdEncoding.DecodeString(node.ResValue())
stderr.Write(content)
}
@@ -101,11 +100,11 @@ func ParseSlurpOutputResponse(response string, stream io.Writer, streamType stri
exitCode int
)
- doc, err := xmlpath.Parse(strings.NewReader(response))
+ doc, err := xmltree.ParseXML(strings.NewReader(response))
- nodes, _ := xpath(doc, fmt.Sprintf("//rsp:Stream[@Name='%s']", streamType))
+ nodes, _ := xPath(doc, fmt.Sprintf("//rsp:Stream[@Name='%s']", streamType))
for _, node := range nodes {
- content, _ := base64.StdEncoding.DecodeString(node.String())
+ content, _ := base64.StdEncoding.DecodeString(node.ResValue())
stream.Write(content)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/shell.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/shell.go
index 055fa891..0f33348f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/shell.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/shell.go
@@ -27,10 +27,10 @@ func (s *Shell) Execute(command string, arguments ...string) (*Command, error) {
}
// Close will terminate this shell. No commands can be issued once the shell is closed.
-func (shell *Shell) Close() error {
- request := NewDeleteShellRequest(shell.client.url, shell.id, &shell.client.Parameters)
+func (s *Shell) Close() error {
+ request := NewDeleteShellRequest(s.client.url, s.id, &s.client.Parameters)
defer request.Free()
- _, err := shell.client.sendRequest(request)
+ _, err := s.client.sendRequest(request)
return err
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/header.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/header.go
index 1a2ac088..6aeaebe2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/header.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/header.go
@@ -1,8 +1,9 @@
package soap
import (
- "github.com/masterzen/simplexml/dom"
"strconv"
+
+ "github.com/masterzen/simplexml/dom"
)
type HeaderOption struct {
@@ -99,62 +100,62 @@ func (self *SoapHeader) Options(options []HeaderOption) *SoapHeader {
}
func (self *SoapHeader) Build() *SoapMessage {
- header := self.createElement(self.message.envelope, "Header", NS_SOAP_ENV)
+ header := self.createElement(self.message.envelope, "Header", DOM_NS_SOAP_ENV)
if self.to != "" {
- to := self.createElement(header, "To", NS_ADDRESSING)
+ to := self.createElement(header, "To", DOM_NS_ADDRESSING)
to.SetContent(self.to)
}
if self.replyTo != "" {
- replyTo := self.createElement(header, "ReplyTo", NS_ADDRESSING)
- a := self.createMUElement(replyTo, "Address", NS_ADDRESSING, true)
+ replyTo := self.createElement(header, "ReplyTo", DOM_NS_ADDRESSING)
+ a := self.createMUElement(replyTo, "Address", DOM_NS_ADDRESSING, true)
a.SetContent(self.replyTo)
}
if self.maxEnvelopeSize != "" {
- envelope := self.createMUElement(header, "MaxEnvelopeSize", NS_WSMAN_DMTF, true)
+ envelope := self.createMUElement(header, "MaxEnvelopeSize", DOM_NS_WSMAN_DMTF, true)
envelope.SetContent(self.maxEnvelopeSize)
}
if self.timeout != "" {
- timeout := self.createElement(header, "OperationTimeout", NS_WSMAN_DMTF)
+ timeout := self.createElement(header, "OperationTimeout", DOM_NS_WSMAN_DMTF)
timeout.SetContent(self.timeout)
}
if self.id != "" {
- id := self.createElement(header, "MessageID", NS_ADDRESSING)
+ id := self.createElement(header, "MessageID", DOM_NS_ADDRESSING)
id.SetContent(self.id)
}
if self.locale != "" {
- locale := self.createMUElement(header, "Locale", NS_WSMAN_DMTF, false)
+ locale := self.createMUElement(header, "Locale", DOM_NS_WSMAN_DMTF, false)
locale.SetAttr("xml:lang", self.locale)
- datalocale := self.createMUElement(header, "DataLocale", NS_WSMAN_MSFT, false)
+ datalocale := self.createMUElement(header, "DataLocale", DOM_NS_WSMAN_MSFT, false)
datalocale.SetAttr("xml:lang", self.locale)
}
if self.action != "" {
- action := self.createMUElement(header, "Action", NS_ADDRESSING, true)
+ action := self.createMUElement(header, "Action", DOM_NS_ADDRESSING, true)
action.SetContent(self.action)
}
if self.shellId != "" {
- selectorSet := self.createElement(header, "SelectorSet", NS_WSMAN_DMTF)
- selector := self.createElement(selectorSet, "Selector", NS_WSMAN_DMTF)
+ selectorSet := self.createElement(header, "SelectorSet", DOM_NS_WSMAN_DMTF)
+ selector := self.createElement(selectorSet, "Selector", DOM_NS_WSMAN_DMTF)
selector.SetAttr("Name", "ShellId")
selector.SetContent(self.shellId)
}
if self.resourceURI != "" {
- resource := self.createMUElement(header, "ResourceURI", NS_WSMAN_DMTF, true)
+ resource := self.createMUElement(header, "ResourceURI", DOM_NS_WSMAN_DMTF, true)
resource.SetContent(self.resourceURI)
}
if len(self.options) > 0 {
- set := self.createElement(header, "OptionSet", NS_WSMAN_DMTF)
+ set := self.createElement(header, "OptionSet", DOM_NS_WSMAN_DMTF)
for _, option := range self.options {
- e := self.createElement(set, "Option", NS_WSMAN_DMTF)
+ e := self.createElement(set, "Option", DOM_NS_WSMAN_DMTF)
e.SetAttr("Name", option.key)
e.SetContent(option.value)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/message.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/message.go
index 09c37bd4..1c3b2ecc 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/message.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/message.go
@@ -27,7 +27,7 @@ func NewMessage() (message *SoapMessage) {
e := dom.CreateElement("Envelope")
doc.SetRoot(e)
AddUsualNamespaces(e)
- NS_SOAP_ENV.SetTo(e)
+ DOM_NS_SOAP_ENV.SetTo(e)
message = &SoapMessage{document: doc, envelope: e}
return
@@ -36,7 +36,7 @@ func NewMessage() (message *SoapMessage) {
func (message *SoapMessage) NewBody() (body *dom.Element) {
body = dom.CreateElement("Body")
message.envelope.AddChild(body)
- NS_SOAP_ENV.SetTo(body)
+ DOM_NS_SOAP_ENV.SetTo(body)
return
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/namespaces.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/namespaces.go
index fda49f49..e7f5e22f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/namespaces.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/winrm/soap/namespaces.go
@@ -1,24 +1,59 @@
package soap
import (
+ "github.com/ChrisTrenkamp/goxpath"
"github.com/masterzen/simplexml/dom"
- "github.com/masterzen/xmlpath"
)
+// Namespaces
+const (
+ NS_SOAP_ENV = "http://www.w3.org/2003/05/soap-envelope"
+ NS_ADDRESSING = "http://schemas.xmlsoap.org/ws/2004/08/addressing"
+ NS_CIMBINDING = "http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"
+ NS_ENUM = "http://schemas.xmlsoap.org/ws/2004/09/enumeration"
+ NS_TRANSFER = "http://schemas.xmlsoap.org/ws/2004/09/transfer"
+ NS_WSMAN_DMTF = "http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"
+ NS_WSMAN_MSFT = "http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd"
+ NS_SCHEMA_INST = "http://www.w3.org/2001/XMLSchema-instance"
+ NS_WIN_SHELL = "http://schemas.microsoft.com/wbem/wsman/1/windows/shell"
+ NS_WSMAN_FAULT = "http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"
+)
+
+// Namespace Prefixes
+const (
+ NSP_SOAP_ENV = "env"
+ NSP_ADDRESSING = "a"
+ NSP_CIMBINDING = "b"
+ NSP_ENUM = "n"
+ NSP_TRANSFER = "x"
+ NSP_WSMAN_DMTF = "w"
+ NSP_WSMAN_MSFT = "p"
+ NSP_SCHEMA_INST = "xsi"
+ NSP_WIN_SHELL = "rsp"
+ NSP_WSMAN_FAULT = "f"
+)
+
+// DOM Namespaces
var (
- NS_SOAP_ENV = dom.Namespace{"env", "http://www.w3.org/2003/05/soap-envelope"}
- NS_ADDRESSING = dom.Namespace{"a", "http://schemas.xmlsoap.org/ws/2004/08/addressing"}
- NS_CIMBINDING = dom.Namespace{"b", "http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"}
- NS_ENUM = dom.Namespace{"n", "http://schemas.xmlsoap.org/ws/2004/09/enumeration"}
- NS_TRANSFER = dom.Namespace{"x", "http://schemas.xmlsoap.org/ws/2004/09/transfer"}
- NS_WSMAN_DMTF = dom.Namespace{"w", "http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"}
- NS_WSMAN_MSFT = dom.Namespace{"p", "http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd"}
- NS_SCHEMA_INST = dom.Namespace{"xsi", "http://www.w3.org/2001/XMLSchema-instance"}
- NS_WIN_SHELL = dom.Namespace{"rsp", "http://schemas.microsoft.com/wbem/wsman/1/windows/shell"}
- NS_WSMAN_FAULT = dom.Namespace{"f", "http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"}
+ DOM_NS_SOAP_ENV = dom.Namespace{"env", "http://www.w3.org/2003/05/soap-envelope"}
+ DOM_NS_ADDRESSING = dom.Namespace{"a", "http://schemas.xmlsoap.org/ws/2004/08/addressing"}
+ DOM_NS_CIMBINDING = dom.Namespace{"b", "http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd"}
+ DOM_NS_ENUM = dom.Namespace{"n", "http://schemas.xmlsoap.org/ws/2004/09/enumeration"}
+ DOM_NS_TRANSFER = dom.Namespace{"x", "http://schemas.xmlsoap.org/ws/2004/09/transfer"}
+ DOM_NS_WSMAN_DMTF = dom.Namespace{"w", "http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"}
+ DOM_NS_WSMAN_MSFT = dom.Namespace{"p", "http://schemas.microsoft.com/wbem/wsman/1/wsman.xsd"}
+ DOM_NS_SCHEMA_INST = dom.Namespace{"xsi", "http://www.w3.org/2001/XMLSchema-instance"}
+ DOM_NS_WIN_SHELL = dom.Namespace{"rsp", "http://schemas.microsoft.com/wbem/wsman/1/windows/shell"}
+ DOM_NS_WSMAN_FAULT = dom.Namespace{"f", "http://schemas.microsoft.com/wbem/wsman/1/wsmanfault"}
)
-var MostUsed = [...]dom.Namespace{NS_SOAP_ENV, NS_ADDRESSING, NS_WIN_SHELL, NS_WSMAN_DMTF, NS_WSMAN_MSFT}
+var MostUsed = [...]dom.Namespace{
+ DOM_NS_SOAP_ENV,
+ DOM_NS_ADDRESSING,
+ DOM_NS_WIN_SHELL,
+ DOM_NS_WSMAN_DMTF,
+ DOM_NS_WSMAN_MSFT,
+}
func AddUsualNamespaces(node *dom.Element) {
for _, ns := range MostUsed {
@@ -26,12 +61,21 @@ func AddUsualNamespaces(node *dom.Element) {
}
}
-func GetAllNamespaces() []xmlpath.Namespace {
- var ns = []dom.Namespace{NS_WIN_SHELL, NS_ADDRESSING, NS_WSMAN_DMTF, NS_WSMAN_MSFT, NS_SOAP_ENV}
+func GetAllXPathNamespaces() func(o *goxpath.Opts) {
+ ns := map[string]string{
+ NSP_SOAP_ENV: NS_SOAP_ENV,
+ NSP_ADDRESSING: NS_ADDRESSING,
+ NSP_CIMBINDING: NS_CIMBINDING,
+ NSP_ENUM: NS_ENUM,
+ NSP_TRANSFER: NS_TRANSFER,
+ NSP_WSMAN_DMTF: NS_WSMAN_DMTF,
+ NSP_WSMAN_MSFT: NS_WSMAN_MSFT,
+ NSP_SCHEMA_INST: NS_SCHEMA_INST,
+ NSP_WIN_SHELL: NS_WIN_SHELL,
+ NSP_WSMAN_FAULT: NS_WSMAN_FAULT,
+ }
- var xmlpathNs = make([]xmlpath.Namespace, 0, 4)
- for _, namespace := range ns {
- xmlpathNs = append(xmlpathNs, xmlpath.Namespace{Prefix: namespace.Prefix, Uri: namespace.Uri})
+ return func(o *goxpath.Opts) {
+ o.NS = ns
}
- return xmlpathNs
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/LICENSE
deleted file mode 100644
index 53320c35..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/LICENSE
+++ /dev/null
@@ -1,185 +0,0 @@
-This software is licensed under the LGPLv3, included below.
-
-As a special exception to the GNU Lesser General Public License version 3
-("LGPL3"), the copyright holders of this Library give you permission to
-convey to a third party a Combined Work that links statically or dynamically
-to this Library without providing any Minimal Corresponding Source or
-Minimal Application Code as set out in 4d or providing the installation
-information set out in section 4e, provided that you comply with the other
-provisions of LGPL3 and provided that you meet, for the Application the
-terms and conditions of the license(s) which apply to the Application.
-
-Except as stated in this special exception, the provisions of LGPL3 will
-continue to comply in full to this Library. If you modify this Library, you
-may apply this exception to your version of this Library, but you are not
-obliged to do so. If you do not wish to do so, delete this exception
-statement from your version. This exception does not (and cannot) modify any
-license terms which apply to the Application, with which you must still
-comply.
-
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/doc.go
deleted file mode 100644
index d1acf6c0..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/doc.go
+++ /dev/null
@@ -1,95 +0,0 @@
-// Package xmlpath implements a strict subset of the XPath specification for the Go language.
-//
-// The XPath specification is available at:
-//
-// http://www.w3.org/TR/xpath
-//
-// Path expressions supported by this package are in the following format,
-// with all components being optional:
-//
-// /axis-name::node-test[predicate]/axis-name::node-test[predicate]
-//
-// At the moment, xmlpath is compatible with the XPath specification
-// to the following extent:
-//
-// - All axes are supported ("child", "following-sibling", etc)
-// - All abbreviated forms are supported (".", "//", etc)
-// - All node types except for namespace are supported
-// - Predicates are restricted to [N], [path], and [path=literal] forms
-// - Only a single predicate is supported per path step
-// - Namespaces are experimentally supported
-// - Richer expressions
-//
-// For example, assuming the following document:
-//
-// <library>
-// <!-- Great book. -->
-// <book id="b0836217462" available="true">
-// <isbn>0836217462</isbn>
-// <title lang="en">Being a Dog Is a Full-Time Job</title>
-// <quote>I'd dog paddle the deepest ocean.</quote>
-// <author id="CMS">
-// <?echo "go rocks"?>
-// <name>Charles M Schulz</name>
-// <born>1922-11-26</born>
-// <dead>2000-02-12</dead>
-// </author>
-// <character id="PP">
-// <name>Peppermint Patty</name>
-// <born>1966-08-22</born>
-// <qualification>bold, brash and tomboyish</qualification>
-// </character>
-// <character id="Snoopy">
-// <name>Snoopy</name>
-// <born>1950-10-04</born>
-// <qualification>extroverted beagle</qualification>
-// </character>
-// </book>
-// </library>
-//
-// The following examples are valid path expressions, and the first
-// match has the indicated value:
-//
-// /library/book/isbn => "0836217462"
-// library/*/isbn => "0836217462"
-// /library/book/../book/./isbn => "0836217462"
-// /library/book/character[2]/name => "Snoopy"
-// /library/book/character[born='1950-10-04']/name => "Snoopy"
-// /library/book//node()[@id='PP']/name => "Peppermint Patty"
-// //book[author/@id='CMS']/title => "Being a Dog Is a Full-Time Job"},
-// /library/book/preceding::comment() => " Great book. "
-//
-// To run an expression, compile it, and then apply the compiled path to any
-// number of context nodes, from one or more parsed xml documents:
-//
-// path := xmlpath.MustCompile("/library/book/isbn")
-// root, err := xmlpath.Parse(file)
-// if err != nil {
-// log.Fatal(err)
-// }
-// if value, ok := path.String(root); ok {
-// fmt.Println("Found:", value)
-// }
-//
-// To use xmlpath with namespaces, it is required to give the supported set of namespace
-// when compiling:
-//
-//
-// var namespaces = []xmlpath.Namespace {
-// { "s", "http://www.w3.org/2003/05/soap-envelope" },
-// { "a", "http://schemas.xmlsoap.org/ws/2004/08/addressing" },
-// }
-// path, err := xmlpath.CompileWithNamespace("/s:Header/a:To", namespaces)
-// if err != nil {
-// log.Fatal(err)
-// }
-// root, err := xmlpath.Parse(file)
-// if err != nil {
-// log.Fatal(err)
-// }
-// if value, ok := path.String(root); ok {
-// fmt.Println("Found:", value)
-// }
-//
-
-package xmlpath
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/parser.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/parser.go
deleted file mode 100644
index 88c1523a..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/parser.go
+++ /dev/null
@@ -1,233 +0,0 @@
-package xmlpath
-
-import (
- "encoding/xml"
- "io"
-)
-
-// Node is an item in an xml tree that was compiled to
-// be processed via xml paths. A node may represent:
-//
-// - An element in the xml document (<body>)
-// - An attribute of an element in the xml document (href="...")
-// - A comment in the xml document (<!--...-->)
-// - A processing instruction in the xml document (<?...?>)
-// - Some text within the xml document
-//
-type Node struct {
- kind nodeKind
- name xml.Name
- attr string
- text []byte
-
- nodes []Node
- pos int
- end int
-
- up *Node
- down []*Node
-}
-
-type nodeKind int
-
-const (
- anyNode nodeKind = iota
- startNode
- endNode
- attrNode
- textNode
- commentNode
- procInstNode
-)
-
-// String returns the string value of node.
-//
-// The string value of a node is:
-//
-// - For element nodes, the concatenation of all text nodes within the element.
-// - For text nodes, the text itself.
-// - For attribute nodes, the attribute value.
-// - For comment nodes, the text within the comment delimiters.
-// - For processing instruction nodes, the content of the instruction.
-//
-func (node *Node) String() string {
- if node.kind == attrNode {
- return node.attr
- }
- return string(node.Bytes())
-}
-
-// Bytes returns the string value of node as a byte slice.
-// See Node.String for a description of what the string value of a node is.
-func (node *Node) Bytes() []byte {
- if node.kind == attrNode {
- return []byte(node.attr)
- }
- if node.kind != startNode {
- return node.text
- }
- var text []byte
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- text = append(text, node.nodes[i].text...)
- }
- }
- return text
-}
-
-// equals returns whether the string value of node is equal to s,
-// without allocating memory.
-func (node *Node) equals(s string) bool {
- if node.kind == attrNode {
- return s == node.attr
- }
- if node.kind != startNode {
- if len(s) != len(node.text) {
- return false
- }
- for i := range s {
- if s[i] != node.text[i] {
- return false
- }
- }
- return true
- }
- si := 0
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- for _, c := range node.nodes[i].text {
- if si > len(s) {
- return false
- }
- if s[si] != c {
- return false
- }
- si++
- }
- }
- }
- return si == len(s)
-}
-
-// Parse reads an xml document from r, parses it, and returns its root node.
-func Parse(r io.Reader) (*Node, error) {
- return ParseDecoder(xml.NewDecoder(r))
-}
-
-// ParseHTML reads an HTML-like document from r, parses it, and returns
-// its root node.
-func ParseHTML(r io.Reader) (*Node, error) {
- d := xml.NewDecoder(r)
- d.Strict = false
- d.AutoClose = xml.HTMLAutoClose
- d.Entity = xml.HTMLEntity
- return ParseDecoder(d)
-}
-
-// ParseDecoder parses the xml document being decoded by d and returns
-// its root node.
-func ParseDecoder(d *xml.Decoder) (*Node, error) {
- var nodes []Node
- var text []byte
-
- // The root node.
- nodes = append(nodes, Node{kind: startNode})
-
- for {
- t, err := d.Token()
- if err == io.EOF {
- break
- }
- if err != nil {
- return nil, err
- }
- switch t := t.(type) {
- case xml.EndElement:
- nodes = append(nodes, Node{
- kind: endNode,
- })
- case xml.StartElement:
- nodes = append(nodes, Node{
- kind: startNode,
- name: t.Name,
- })
- for _, attr := range t.Attr {
- nodes = append(nodes, Node{
- kind: attrNode,
- name: attr.Name,
- attr: attr.Value,
- })
- }
- case xml.CharData:
- texti := len(text)
- text = append(text, t...)
- nodes = append(nodes, Node{
- kind: textNode,
- text: text[texti : texti+len(t)],
- })
- case xml.Comment:
- texti := len(text)
- text = append(text, t...)
- nodes = append(nodes, Node{
- kind: commentNode,
- text: text[texti : texti+len(t)],
- })
- case xml.ProcInst:
- texti := len(text)
- text = append(text, t.Inst...)
- nodes = append(nodes, Node{
- kind: procInstNode,
- name: xml.Name{Local: t.Target},
- text: text[texti : texti+len(t.Inst)],
- })
- }
- }
-
- // Close the root node.
- nodes = append(nodes, Node{kind: endNode})
-
- stack := make([]*Node, 0, len(nodes))
- downs := make([]*Node, len(nodes))
- downCount := 0
-
- for pos := range nodes {
-
- switch nodes[pos].kind {
-
- case startNode, attrNode, textNode, commentNode, procInstNode:
- node := &nodes[pos]
- node.nodes = nodes
- node.pos = pos
- if len(stack) > 0 {
- node.up = stack[len(stack)-1]
- }
- if node.kind == startNode {
- stack = append(stack, node)
- } else {
- node.end = pos + 1
- }
-
- case endNode:
- node := stack[len(stack)-1]
- node.end = pos
- stack = stack[:len(stack)-1]
-
- // Compute downs. Doing that here is what enables the
- // use of a slice of a contiguous pre-allocated block.
- node.down = downs[downCount:downCount]
- for i := node.pos + 1; i < node.end; i++ {
- if nodes[i].up == node {
- switch nodes[i].kind {
- case startNode, textNode, commentNode, procInstNode:
- node.down = append(node.down, &nodes[i])
- downCount++
- }
- }
- }
- if len(stack) == 0 {
- return node, nil
- }
- }
- }
- return nil, io.EOF
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/path.go b/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/path.go
deleted file mode 100644
index f35af70a..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/masterzen/xmlpath/path.go
+++ /dev/null
@@ -1,642 +0,0 @@
-package xmlpath
-
-import (
- "fmt"
- "strconv"
- "unicode/utf8"
-)
-
-// Namespace represents a given XML Namespace
-type Namespace struct {
- Prefix string
- Uri string
-}
-
-// Path is a compiled path that can be applied to a context
-// node to obtain a matching node set.
-// A single Path can be applied concurrently to any number
-// of context nodes.
-type Path struct {
- path string
- steps []pathStep
-}
-
-// Iter returns an iterator that goes over the list of nodes
-// that p matches on the given context.
-func (p *Path) Iter(context *Node) *Iter {
- iter := Iter{
- make([]pathStepState, len(p.steps)),
- make([]bool, len(context.nodes)),
- }
- for i := range p.steps {
- iter.state[i].step = &p.steps[i]
- }
- iter.state[0].init(context)
- return &iter
-}
-
-// Exists returns whether any nodes match p on the given context.
-func (p *Path) Exists(context *Node) bool {
- return p.Iter(context).Next()
-}
-
-// String returns the string value of the first node matched
-// by p on the given context.
-//
-// See the documentation of Node.String.
-func (p *Path) String(context *Node) (s string, ok bool) {
- iter := p.Iter(context)
- if iter.Next() {
- return iter.Node().String(), true
- }
- return "", false
-}
-
-// Bytes returns as a byte slice the string value of the first
-// node matched by p on the given context.
-//
-// See the documentation of Node.String.
-func (p *Path) Bytes(node *Node) (b []byte, ok bool) {
- iter := p.Iter(node)
- if iter.Next() {
- return iter.Node().Bytes(), true
- }
- return nil, false
-}
-
-// Iter iterates over node sets.
-type Iter struct {
- state []pathStepState
- seen []bool
-}
-
-// Node returns the current node.
-// Must only be called after Iter.Next returns true.
-func (iter *Iter) Node() *Node {
- state := iter.state[len(iter.state)-1]
- if state.pos == 0 {
- panic("Iter.Node called before Iter.Next")
- }
- if state.node == nil {
- panic("Iter.Node called after Iter.Next false")
- }
- return state.node
-}
-
-// Next iterates to the next node in the set, if any, and
-// returns whether there is a node available.
-func (iter *Iter) Next() bool {
- tip := len(iter.state) - 1
-outer:
- for {
- for !iter.state[tip].next() {
- tip--
- if tip == -1 {
- return false
- }
- }
- for tip < len(iter.state)-1 {
- tip++
- iter.state[tip].init(iter.state[tip-1].node)
- if !iter.state[tip].next() {
- tip--
- continue outer
- }
- }
- if iter.seen[iter.state[tip].node.pos] {
- continue
- }
- iter.seen[iter.state[tip].node.pos] = true
- return true
- }
- panic("unreachable")
-}
-
-type pathStepState struct {
- step *pathStep
- node *Node
- pos int
- idx int
- aux int
-}
-
-func (s *pathStepState) init(node *Node) {
- s.node = node
- s.pos = 0
- s.idx = 0
- s.aux = 0
-}
-
-func (s *pathStepState) next() bool {
- for s._next() {
- s.pos++
- if s.step.pred == nil {
- return true
- }
- if s.step.pred.bval {
- if s.step.pred.path.Exists(s.node) {
- return true
- }
- } else if s.step.pred.path != nil {
- iter := s.step.pred.path.Iter(s.node)
- for iter.Next() {
- if iter.Node().equals(s.step.pred.sval) {
- return true
- }
- }
- } else {
- if s.step.pred.ival == s.pos {
- return true
- }
- }
- }
- return false
-}
-
-func (s *pathStepState) _next() bool {
- if s.node == nil {
- return false
- }
- if s.step.root && s.idx == 0 {
- for s.node.up != nil {
- s.node = s.node.up
- }
- }
-
- switch s.step.axis {
-
- case "self":
- if s.idx == 0 && s.step.match(s.node) {
- s.idx++
- return true
- }
-
- case "parent":
- if s.idx == 0 && s.node.up != nil && s.step.match(s.node.up) {
- s.idx++
- s.node = s.node.up
- return true
- }
-
- case "ancestor", "ancestor-or-self":
- if s.idx == 0 && s.step.axis == "ancestor-or-self" {
- s.idx++
- if s.step.match(s.node) {
- return true
- }
- }
- for s.node.up != nil {
- s.node = s.node.up
- s.idx++
- if s.step.match(s.node) {
- return true
- }
- }
-
- case "child":
- var down []*Node
- if s.idx == 0 {
- down = s.node.down
- } else {
- down = s.node.up.down
- }
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "descendant", "descendant-or-self":
- if s.idx == 0 {
- s.idx = s.node.pos
- s.aux = s.node.end
- if s.step.axis == "descendant" {
- s.idx++
- }
- }
- for s.idx < s.aux {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind == attrNode {
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "following":
- if s.idx == 0 {
- s.idx = s.node.end
- }
- for s.idx < len(s.node.nodes) {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind == attrNode {
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "following-sibling":
- var down []*Node
- if s.node.up != nil {
- down = s.node.up.down
- if s.idx == 0 {
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if node == s.node {
- break
- }
- }
- }
- }
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "preceding":
- if s.idx == 0 {
- s.aux = s.node.pos // Detect ancestors.
- s.idx = s.node.pos - 1
- }
- for s.idx >= 0 {
- node := &s.node.nodes[s.idx]
- s.idx--
- if node.kind == attrNode {
- continue
- }
- if node == s.node.nodes[s.aux].up {
- s.aux = s.node.nodes[s.aux].up.pos
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "preceding-sibling":
- var down []*Node
- if s.node.up != nil {
- down = s.node.up.down
- if s.aux == 0 {
- s.aux = 1
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if node == s.node {
- s.idx--
- break
- }
- }
- }
- }
- for s.idx >= 0 {
- node := down[s.idx]
- s.idx--
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "attribute":
- if s.idx == 0 {
- s.idx = s.node.pos + 1
- s.aux = s.node.end
- }
- for s.idx < s.aux {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind != attrNode {
- break
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- }
-
- s.node = nil
- return false
-}
-
-type pathPredicate struct {
- path *Path
- sval string
- ival int
- bval bool
-}
-
-type pathStep struct {
- root bool
- axis string
- name string
- prefix string
- uri string
- kind nodeKind
- pred *pathPredicate
-}
-
-func (step *pathStep) match(node *Node) bool {
- return node.kind != endNode &&
- (step.kind == anyNode || step.kind == node.kind) &&
- (step.name == "*" || (node.name.Local == step.name && (node.name.Space != "" && node.name.Space == step.uri || node.name.Space == "")))
-}
-
-// MustCompile returns the compiled path, and panics if
-// there are any errors.
-func MustCompile(path string) *Path {
- e, err := Compile(path)
- if err != nil {
- panic(err)
- }
- return e
-}
-
-// Compile returns the compiled path.
-func Compile(path string) (*Path, error) {
- c := pathCompiler{path, 0, []Namespace{} }
- if path == "" {
- return nil, c.errorf("empty path")
- }
- p, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- return p, nil
-}
-
-// Compile the path with the knowledge of the given namespaces
-func CompileWithNamespace(path string, ns []Namespace) (*Path, error) {
- c := pathCompiler{path, 0, ns}
- if path == "" {
- return nil, c.errorf("empty path")
- }
- p, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- return p, nil
-}
-
-type pathCompiler struct {
- path string
- i int
- ns []Namespace
-}
-
-func (c *pathCompiler) errorf(format string, args ...interface{}) error {
- return fmt.Errorf("compiling xml path %q:%d: %s", c.path, c.i, fmt.Sprintf(format, args...))
-}
-
-func (c *pathCompiler) parsePath() (path *Path, err error) {
- var steps []pathStep
- var start = c.i
- for {
- step := pathStep{axis: "child"}
-
- if c.i == 0 && c.skipByte('/') {
- step.root = true
- if len(c.path) == 1 {
- step.name = "*"
- }
- }
- if c.peekByte('/') {
- step.axis = "descendant-or-self"
- step.name = "*"
- } else if c.skipByte('@') {
- mark := c.i
- if !c.skipName() {
- return nil, c.errorf("missing name after @")
- }
- step.axis = "attribute"
- step.name = c.path[mark:c.i]
- step.kind = attrNode
- } else {
- mark := c.i
- if c.skipName() {
- step.name = c.path[mark:c.i]
- }
- if step.name == "" {
- return nil, c.errorf("missing name")
- } else if step.name == "*" {
- step.kind = startNode
- } else if step.name == "." {
- step.axis = "self"
- step.name = "*"
- } else if step.name == ".." {
- step.axis = "parent"
- step.name = "*"
- } else {
- if c.skipByte(':') {
- if !c.skipByte(':') {
- mark = c.i
- if c.skipName() {
- step.prefix = step.name
- step.name = c.path[mark:c.i]
- // check prefix
- found := false
- for _, ns := range c.ns {
- if ns.Prefix == step.prefix {
- step.uri = ns.Uri
- found = true
- break
- }
- }
- if !found {
- return nil, c.errorf("unknown namespace prefix: %s", step.prefix)
- }
- } else {
- return nil, c.errorf("missing name after namespace prefix")
- }
- } else {
- switch step.name {
- case "attribute":
- step.kind = attrNode
- case "self", "child", "parent":
- case "descendant", "descendant-or-self":
- case "ancestor", "ancestor-or-self":
- case "following", "following-sibling":
- case "preceding", "preceding-sibling":
- default:
- return nil, c.errorf("unsupported axis: %q", step.name)
- }
- step.axis = step.name
-
- mark = c.i
- if !c.skipName() {
- return nil, c.errorf("missing name")
- }
- step.name = c.path[mark:c.i]
- }
- }
- if c.skipByte('(') {
- conflict := step.kind != anyNode
- switch step.name {
- case "node":
- // must be anyNode
- case "text":
- step.kind = textNode
- case "comment":
- step.kind = commentNode
- case "processing-instruction":
- step.kind = procInstNode
- default:
- return nil, c.errorf("unsupported expression: %s()", step.name)
- }
- if conflict {
- return nil, c.errorf("%s() cannot succeed on axis %q", step.name, step.axis)
- }
-
- literal, err := c.parseLiteral()
- if err == errNoLiteral {
- step.name = "*"
- } else if err != nil {
- return nil, c.errorf("%v", err)
- } else if step.kind == procInstNode {
- step.name = literal
- } else {
- return nil, c.errorf("%s() has no arguments", step.name)
- }
- if !c.skipByte(')') {
- return nil, c.errorf("missing )")
- }
- } else if step.name == "*" && step.kind == anyNode {
- step.kind = startNode
- }
- }
- }
- if c.skipByte('[') {
- step.pred = &pathPredicate{}
- if ival, ok := c.parseInt(); ok {
- if ival == 0 {
- return nil, c.errorf("positions start at 1")
- }
- step.pred.ival = ival
- } else {
- path, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- if path.path[0] == '-' {
- if _, err = strconv.Atoi(path.path); err == nil {
- return nil, c.errorf("positions must be positive")
- }
- }
- step.pred.path = path
- if c.skipByte('=') {
- sval, err := c.parseLiteral()
- if err != nil {
- return nil, c.errorf("%v", err)
- }
- step.pred.sval = sval
- } else {
- step.pred.bval = true
- }
- }
- if !c.skipByte(']') {
- return nil, c.errorf("expected ']'")
- }
- }
- steps = append(steps, step)
- //fmt.Printf("step: %#v\n", step)
- if !c.skipByte('/') {
- if (start == 0 || start == c.i) && c.i < len(c.path) {
- return nil, c.errorf("unexpected %q", c.path[c.i])
- }
- return &Path{steps: steps, path: c.path[start:c.i]}, nil
- }
- }
- panic("unreachable")
-}
-
-var errNoLiteral = fmt.Errorf("expected a literal string")
-
-func (c *pathCompiler) parseLiteral() (string, error) {
- if c.skipByte('"') {
- mark := c.i
- if !c.skipByteFind('"') {
- return "", fmt.Errorf(`missing '"'`)
- }
- return c.path[mark:c.i-1], nil
- }
- if c.skipByte('\'') {
- mark := c.i
- if !c.skipByteFind('\'') {
- return "", fmt.Errorf(`missing "'"`)
- }
- return c.path[mark:c.i-1], nil
- }
- return "", errNoLiteral
-}
-
-func (c *pathCompiler) parseInt() (v int, ok bool) {
- mark := c.i
- for c.i < len(c.path) && c.path[c.i] >= '0' && c.path[c.i] <= '9' {
- v *= 10
- v += int(c.path[c.i]) - '0'
- c.i++
- }
- if c.i == mark {
- return 0, false
- }
- return v, true
-}
-
-func (c *pathCompiler) skipByte(b byte) bool {
- if c.i < len(c.path) && c.path[c.i] == b {
- c.i++
- return true
- }
- return false
-}
-
-func (c *pathCompiler) skipByteFind(b byte) bool {
- for i := c.i; i < len(c.path); i++ {
- if c.path[i] == b {
- c.i = i+1
- return true
- }
- }
- return false
-}
-
-func (c *pathCompiler) peekByte(b byte) bool {
- return c.i < len(c.path) && c.path[c.i] == b
-}
-
-func (c *pathCompiler) skipName() bool {
- if c.i >= len(c.path) {
- return false
- }
- if c.path[c.i] == '*' {
- c.i++
- return true
- }
- start := c.i
- for c.i < len(c.path) && (c.path[c.i] >= utf8.RuneSelf || isNameByte(c.path[c.i])) {
- c.i++
- }
- return c.i > start
-}
-
-func isNameByte(c byte) bool {
- return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '_' || c == '.' || c == '-'
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go b/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go
index a39d3215..bcf83d48 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/endpoint.go
@@ -11,14 +11,14 @@ import (
"github.com/masterzen/winrm"
)
-func parseEndpoint(addr string, https bool, insecure bool, caCert []byte, timeout time.Duration) (*winrm.Endpoint, error) {
+func parseEndpoint(addr string, https bool, insecure bool, tlsServerName string, caCert []byte, timeout time.Duration) (*winrm.Endpoint, error) {
var host string
var port int
if addr == "" {
return nil, errors.New("Couldn't convert \"\" to an address.")
}
- if !strings.Contains(addr, ":") {
+ if !strings.Contains(addr, ":") || (strings.HasPrefix(addr, "[") && strings.HasSuffix(addr, "]")) {
host = addr
port = 5985
} else {
@@ -26,7 +26,8 @@ func parseEndpoint(addr string, https bool, insecure bool, caCert []byte, timeou
if err != nil {
return nil, fmt.Errorf("Couldn't convert \"%s\" to an address.", addr)
}
- host = shost
+ // Check for IPv6 addresses and reformat appropriately
+ host = IpFormat(shost)
port, err = strconv.Atoi(sport)
if err != nil {
return nil, errors.New("Couldn't convert \"%s\" to a port number.")
@@ -34,11 +35,24 @@ func parseEndpoint(addr string, https bool, insecure bool, caCert []byte, timeou
}
return &winrm.Endpoint{
- Host: host,
- Port: port,
- HTTPS: https,
- Insecure: insecure,
- CACert: caCert,
- Timeout: timeout,
+ Host: host,
+ Port: port,
+ HTTPS: https,
+ Insecure: insecure,
+ TLSServerName: tlsServerName,
+ CACert: caCert,
+ Timeout: timeout,
}, nil
}
+
+// IpFormat formats the IP correctly, so we don't provide IPv6 address in an IPv4 format during node communication.
+// We return the ip parameter as is if it's an IPv4 address or a hostname.
+func IpFormat(ip string) string {
+ ipObj := net.ParseIP(ip)
+ // Return the ip/host as is if it's either a hostname or an IPv4 address.
+ if ipObj == nil || ipObj.To4() != nil {
+ return ip
+ }
+
+ return fmt.Sprintf("[%s]", ip)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go b/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go
index 1a524185..df2c2e3e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/packer-community/winrmcp/winrmcp/winrmcp.go
@@ -20,6 +20,7 @@ type Config struct {
Auth Auth
Https bool
Insecure bool
+ TLSServerName string
CACertBytes []byte
ConnectTimeout time.Duration
OperationTimeout time.Duration
@@ -33,7 +34,7 @@ type Auth struct {
}
func New(addr string, config *Config) (*Winrmcp, error) {
- endpoint, err := parseEndpoint(addr, config.Https, config.Insecure, config.CACertBytes, config.ConnectTimeout)
+ endpoint, err := parseEndpoint(addr, config.Https, config.Insecure, config.TLSServerName, config.CACertBytes, config.ConnectTimeout)
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/README.md
index b41efd67..a36630ae 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/README.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/README.md
@@ -1,342 +1,2270 @@
-# Go SDK
-
-The ProfitBricks Client Library for [Go](https://www.golang.org/) provides you with access to the ProfitBricks REST API. It is designed for developers who are building applications in Go.
-
-This guide will walk you through getting setup with the library and performing various actions against the API.
-
-# Table of Contents
-* [Concepts](#concepts)
-* [Getting Started](#getting-started)
-* [Installation](#installation)
-* [How to: Create Data Center](#how-to-create-data-center)
-* [How to: Delete Data Center](#how-to-delete-data-center)
-* [How to: Create Server](#how-to-create-server)
-* [How to: List Available Images](#how-to-list-available-images)
-* [How to: Create Storage Volume](#how-to-create-storage-volume)
-* [How to: Update Cores and Memory](#how-to-update-cores-and-memory)
-* [How to: Attach or Detach Storage Volume](#how-to-attach-or-detach-storage-volume)
-* [How to: List Servers, Volumes, and Data Centers](#how-to-list-servers-volumes-and-data-centers)
-* [Example](#example)
-* [Return Types](#return-types)
-* [Support](#support)
-
-
-# Concepts
-
-The Go SDK wraps the latest version of the ProfitBricks REST API. All API operations are performed over SSL and authenticated using your ProfitBricks portal credentials. The API can be accessed within an instance running in ProfitBricks or directly over the Internet from any application that can send an HTTPS request and receive an HTTPS response.
-
-# Getting Started
-
-Before you begin you will need to have [signed-up](https://www.profitbricks.com/signup) for a ProfitBricks account. The credentials you setup during sign-up will be used to authenticate against the API.
-
-Install the Go language from: [Go Installation](https://golang.org/doc/install)
-
-The `GOPATH` environment variable specifies the location of your Go workspace. It is likely the only environment variable you'll need to set when developing Go code. This is an example of pointing to a workspace configured underneath your home directory:
-
-```
-mkdir -p ~/go/bin
-export GOPATH=~/go
-export GOBIN=$GOPATH/bin
-export PATH=$PATH:$GOBIN
-```
-
-# Installation
-
-The following go command will download `profitbricks-sdk-go` to your configured `GOPATH`:
-
-```go
-go get "github.com/profitbricks/profitbricks-sdk-go"
-```
-
-The source code of the package will be located at:
-
- $GOBIN\src\profitbricks-sdk-go
-
-Create main package file *example.go*:
-
-```go
-package main
-
-import (
- "fmt"
-)
-
-func main() {
-}
-```
-
-Import GO SDK:
-
-```go
-import(
- "github.com/profitbricks/profitbricks-sdk-go"
-)
-```
-
-Add your credentials for connecting to ProfitBricks:
-
-```go
-profitbricks.SetAuth("username", "password")
-```
-
-Set depth:
-
-```go
-profitbricks.SetDepth("5")
-```
-
-Depth controls the amount of data returned from the REST server ( range 1-5 ). The larger the number the more information is returned from the server. This is especially useful if you are looking for the information in the nested objects.
-
-**Caution**: You will want to ensure you follow security best practices when using credentials within your code or stored in a file.
-
-# How To's
-
-## How To: Create Data Center
-
-ProfitBricks introduces the concept of Data Centers. These are logically separated from one another and allow you to have a self-contained environment for all servers, volumes, networking, snapshots, and so forth. The goal is to give you the same experience as you would have if you were running your own physical data center.
-
-The following code example shows you how to programmatically create a data center:
-
-```go
-dcrequest := profitbricks.Datacenter{
- Properties: profitbricks.DatacenterProperties{
- Name: "example.go3",
- Description: "description",
- Location: "us/lasdev",
- },
- }
-
-datacenter := profitbricks.CreateDatacenter(dcrequest)
-```
-
-## How To: Create Data Center with Multiple Resources
-
-To create a complex Data Center you would do this. As you can see, you can create quite a few of the objects you will need later all in one request.:
-
-```go
-datacenter := model.Datacenter{
- Properties: model.DatacenterProperties{
- Name: "composite test",
- Location:location,
- },
- Entities:model.DatacenterEntities{
- Servers: &model.Servers{
- Items:[]model.Server{
- model.Server{
- Properties: model.ServerProperties{
- Name : "server1",
- Ram: 2048,
- Cores: 1,
- },
- Entities:model.ServerEntities{
- Volumes: &model.AttachedVolumes{
- Items:[]model.Volume{
- model.Volume{
- Properties: model.VolumeProperties{
- Type_:"HDD",
- Size:10,
- Name:"volume1",
- Image:"1f46a4a3-3f47-11e6-91c6-52540005ab80",
- Bus:"VIRTIO",
- ImagePassword:"test1234",
- SshKeys: []string{"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoLVLHON4BSK3D8L4H79aFo..."},
- },
- },
- },
- },
- Nics: &model.Nics{
- Items: []model.Nic{
- model.Nic{
- Properties: model.NicProperties{
- Name : "nic",
- Lan : "1",
- },
- },
- },
- },
- },
- },
- },
- },
- },
- }
-
-dc := CompositeCreateDatacenter(datacenter)
-
-```
-
-
-## How To: Delete Data Center
-
-You will want to exercise a bit of caution here. Removing a data center will destroy all objects contained within that data center -- servers, volumes, snapshots, and so on.
-
-The code to remove a data center is as follows. This example assumes you want to remove previously data center:
-
-```go
-profitbricks.DeleteDatacenter(response.Id)
-```
-
-## How To: Create Server
-
-The server create method has a list of required parameters followed by a hash of optional parameters. The optional parameters are specified within the "options" hash and the variable names match the [REST API](https://devops.profitbricks.com/api/rest/) parameters.
-
-The following example shows you how to create a new server in the data center created above:
-
-```go
-req := profitbricks.Server{
- Properties: profitbricks.ServerProperties{
- Name: "go01",
- Ram: 1024,
- Cores: 2,
- },
-}
-server := CreateServer(datacenter.Id, req)
-```
-
-## How To: List Available Images
-
-A list of disk and ISO images are available from ProfitBricks for immediate use. These can be easily viewed and selected. The following shows you how to get a list of images. This list represents both CDROM images and HDD images.
-
-```go
-images := profitbricks.ListImages()
-```
-
-This will return a [collection](#Collection) object
-
-## How To: Create Storage Volume
-
-ProfitBricks allows for the creation of multiple storage volumes that can be attached and detached as needed. It is useful to attach an image when creating a storage volume. The storage size is in gigabytes.
-
-```go
-volumerequest := profitbricks.Volume{
- Properties: profitbricks.VolumeProperties{
- Size: 1,
- Name: "Volume Test",
- LicenceType: "LINUX",
- Type: "HDD",
- },
-}
-
-storage := CreateVolume(datacenter.Id, volumerequest)
-```
-
-## How To: Update Cores and Memory
-
-ProfitBricks allows users to dynamically update cores, memory, and disk independently of each other. This removes the restriction of needing to upgrade to the next size available size to receive an increase in memory. You can now simply increase the instances memory keeping your costs in-line with your resource needs.
-
-Note: The memory parameter value must be a multiple of 256, e.g. 256, 512, 768, 1024, and so forth.
-
-The following code illustrates how you can update cores and memory:
-
-```go
-serverupdaterequest := profitbricks.ServerProperties{
- Cores: 1,
- Ram: 256,
-}
-
-resp := PatchServer(datacenter.Id, server.Id, serverupdaterequest)
-```
-
-## How To: Attach or Detach Storage Volume
-
-ProfitBricks allows for the creation of multiple storage volumes. You can detach and reattach these on the fly. This allows for various scenarios such as re-attaching a failed OS disk to another server for possible recovery or moving a volume to another location and spinning it up.
-
-The following illustrates how you would attach and detach a volume and CDROM to/from a server:
-
-```go
-profitbricks.AttachVolume(datacenter.Id, server.Id, volume.Id)
-profitbricks.AttachCdrom(datacenter.Id, server.Id, images.Items[0].Id)
-
-profitbricks.DetachVolume(datacenter.Id, server.Id, volume.Id)
-profitbricks.DetachCdrom(datacenter.Id, server.Id, images.Items[0].Id)
-```
-
-## How To: List Servers, Volumes, and Data Centers
-
-Go SDK provides standard functions for retrieving a list of volumes, servers, and datacenters.
-
-The following code illustrates how to pull these three list types:
-
-```go
-volumes := profitbricks.ListVolumes(datacenter.Id)
-
-servers := profitbricks.ListServers(datacenter.Id)
-
-datacenters := profitbricks.ListDatacenters()
-```
-
-## Example
-
-```go
-package main
-
-import (
- "fmt"
- "time"
-
- "github.com/profitbricks/profitbricks-sdk-go"
-)
-
-func main() {
-
- //Sets username and password
- profitbricks.SetAuth("username", "password")
- //Sets depth.
- profitbricks.SetDepth("5")
-
- dcrequest := profitbricks.Datacenter{
- Properties: profitbricks.DatacenterProperties{
- Name: "example.go3",
- Description: "description",
- Location: "us/lasdev",
- },
- }
-
- datacenter := profitbricks.CreateDatacenter(dcrequest)
-
- serverrequest := profitbricks.Server{
- Properties: profitbricks.ServerProperties{
- Name: "go01",
- Ram: 1024,
- Cores: 2,
- },
- }
- server := profitbricks.CreateServer(datacenter.Id, serverrequest)
-
- volumerequest := profitbricks.Volume{
- Properties: profitbricks.VolumeProperties{
- Size: 1,
- Name: "Volume Test",
- LicenceType: "LINUX",
- Type: "HDD",
- },
- }
-
- storage := profitbricks.CreateVolume(datacenter.Id, volumerequest)
-
- serverupdaterequest := profitbricks.ServerProperties{
- Name: "go01renamed",
- Cores: 1,
- Ram: 256,
- }
-
- profitbricks.PatchServer(datacenter.Id, server.Id, serverupdaterequest)
- //It takes a moment for a volume to be provisioned so we wait.
- time.Sleep(60 * time.Second)
-
- profitbricks.AttachVolume(datacenter.Id, server.Id, storage.Id)
-
- volumes := profitbricks.ListVolumes(datacenter.Id)
- fmt.Println(volumes.Items)
- servers := profitbricks.ListServers(datacenter.Id)
- fmt.Println(servers.Items)
- datacenters := profitbricks.ListDatacenters()
- fmt.Println(datacenters.Items)
-
- profitbricks.DeleteServer(datacenter.Id, server.Id)
- profitbricks.DeleteDatacenter(datacenter.Id)
-}
-```
-
-# Support
-You are welcome to contact us with questions or comments at [ProfitBricks DevOps Central](https://devops.profitbricks.com/). Please report any issues via [GitHub's issue tracker](https://github.com/profitbricks/profitbricks-sdk-go/issues). \ No newline at end of file
+# Go SDK
+
+Version: profitbricks-sdk-go **4.0.2**
+
+The ProfitBricks Client Library for [Go](https://www.golang.org/) provides you with access to the ProfitBricks REST API. It is designed for developers who are building applications in Go.
+
+This guide will walk you through getting setup with the library and performing various actions against the API.
+
+## Table of Contents
+
+* [Description](#description)
+* [Getting Started](#getting-started)
+ * [Installation](#installation)
+ * [Authenticating](#authenticating)
+ * [Error Handling](#error-handling)
+* [Reference](#reference)
+ * [Data Centers](#data-centers)
+ * [List Data Centers](#list-data-centers)
+ * [Retrieve a Data Center](#retrieve-a-data-center)
+ * [Create a Data Center](#create-a-data-center)
+ * [Update a Data Center](#update-a-data-center)
+ * [Delete a Data Center](#delete-a-data-center)
+ * [Locations](#locations)
+ * [List Locations](#list-locations)
+ * [Get a Location](#get-a-location)
+ * [Servers](#servers)
+ * [List Servers](#list-servers)
+ * [Retrieve a Server](#retrieve-a-server)
+ * [Create a Server](#create-a-server)
+ * [Update a Server](#update-a-server)
+ * [Delete a Server](#delete-a-server)
+ * [List Attached Volumes](#list-attached-volumes)
+ * [Attach a Volume](#attach-a-volume)
+ * [Retrieve an Attached Volume](#retrieve-an-attached-volume)
+ * [Detach a Volume](#detach-a-volume)
+ * [List Attached CD-ROMs](#list-attached-cd-roms)
+ * [Attach a CD-ROM](#attach-a-cd-rom)
+ * [Retrieve an Attached CD-ROM](#retrieve-an-attached-cd-rom)
+ * [Detach a CD-ROM](#detach-a-cd-rom)
+ * [Reboot a Server](#reboot-a-server)
+ * [Start a Server](#start-a-server)
+ * [Stop a Server](#stop-a-server)
+ * [Images](#images)
+ * [List Images](#list-images)
+ * [Get an Image](#get-an-image)
+ * [Update an Image](#update-an-image)
+ * [Delete an Image](#delete-an-image)
+ * [Volumes](#volumes)
+ * [List Volumes](#list-volumes)
+ * [Get a Volume](#get-a-volume)
+ * [Create a Volume](#create-a-volume)
+ * [Update a Volume](#update-a-volume)
+ * [Delete a Volume](#delete-a-volume)
+ * [Create a Volume Snapshot](#create-a-volume-snapshot)
+ * [Restore a Volume Snapshot](#restore-a-volume-snapshot)
+ * [Snapshots](#snapshots)
+ * [List Snapshots](#list-snapshots)
+ * [Get a Snapshot](#get-a-snapshot)
+ * [Update a Snapshot](#update-a-snapshot)
+ * [Delete a Snapshot](#delete-a-snapshot)
+ * [IP Blocks](#ip-blocks)
+ * [List IP Blocks](#list-ip-blocks)
+ * [Get an IP Block](#get-an-ip-block)
+ * [Create an IP Block](#create-an-ip-block)
+ * [Delete an IP Block](#delete-an-ip-block)
+ * [LANs](#lans)
+ * [List LANs](#list-lans)
+ * [Create a LAN](#create-a-lan)
+ * [Get a LAN](#get-a-lan)
+ * [Update a LAN](#update-a-lan)
+ * [Delete a LAN](#delete-a-lan)
+ * [Network Interfaces (NICs)](#network-interfaces-nics)
+ * [List NICs](#list-nics)
+ * [Get a NIC](#get-a-nic)
+ * [Create a NIC](#create-a-nic)
+ * [Update a NIC](#update-a-nic)
+ * [Delete a NIC](#delete-a-nic)
+ * [Firewall Rules](#firewall-rules)
+ * [List Firewall Rules](#list-firewall-rules)
+ * [Get a Firewall Rule](#get-a-firewall-rule)
+ * [Create a Firewall Rule](#create-a-firewall-rule)
+ * [Update a Firewall Rule](#update-a-firewall-rule)
+ * [Delete a Firewall Rule](#delete-a-firewall-rule)
+ * [Load Balancers](#load-balancers)
+ * [List Load Balancers](#list-load-balancers)
+ * [Get a Load Balancer](#get-a-load-balancer)
+ * [Create a Load Balancer](#create-a-load-balancer)
+ * [Update a Load Balancer](#update-a-load-balancer)
+ * [List Load Balanced NICs](#list-load-balanced-nics)
+ * [Get a Load Balanced NIC](#get-a-load-balanced-nic)
+ * [Associate NIC to a Load Balancer](#associate-nic-to-a-load-balancer)
+ * [Remove a NIC Association](#remove-a-nic-association)
+ * [Requests](#requests)
+ * [List Requests](#list-requests)
+ * [Get a Request](#get-a-request)
+ * [Get a Request Status](#get-a-request-status)
+ * [Contract Resources](#contract-resources)
+ * [Users Management](#users-management)
+ * [List Groups](#list-groups)
+ * [Retrieve a Group](#retrieve-a-group)
+ * [Create a Group](#create-a-group)
+ * [Update a Group](#update-a-group)
+ * [Delete a Group](#delete-a-group)
+ * [List Shares](#list-shares)
+ * [Retrieve a Share](#retrieve-a-share)
+ * [Add a Share](#add-a-share)
+ * [Update a Share](#update-a-share)
+ * [Delete a Share](#delete-a-share)
+ * [List Users in a Group](#list-users-in-a-group)
+ * [Add User to Group](#add-user-to-group)
+ * [Remove User from a Group](#remove-user-from-a-group)
+ * [List Users](#list-users)
+ * [Retrieve a User](#retrieve-a-user)
+ * [Create a User](#create-a-user)
+ * [Update a User](#update-a-user)
+ * [Delete a User](#delete-a-user)
+ * [List Resources](#list-resources)
+ * [List All Resources of a Type](#list-all-resources-of-a-type)
+ * [List a specific Resource Type](#list-a-specific-resource-type)
+* [Example](#example)
+* [Support](#support)
+* [Testing](#testing)
+* [Contributing](#contributing)
+
+
+# Description
+
+The Go SDK wraps the latest version of the ProfitBricks REST API. All API operations are performed over SSL and authenticated using your ProfitBricks portal credentials. The API can be accessed within an instance running in ProfitBricks or directly over the Internet from any application that can send an HTTPS request and receive an HTTPS response.
+
+## Getting Started
+
+Before you begin you will need to have [signed-up](https://www.profitbricks.com/signup) for a ProfitBricks account. The credentials you setup during sign-up will be used to authenticate against the API.
+
+### Installation
+
+Install the Go language from: [Go Installation](https://golang.org/doc/install)
+
+The `GOPATH` environment variable specifies the location of your Go workspace. It is likely the only environment variable you'll need to set when developing Go code. This is an example of pointing to a workspace configured underneath your home directory:
+
+```
+mkdir -p ~/go/bin
+export GOPATH=~/go
+export GOBIN=$GOPATH/bin
+export PATH=$PATH:$GOBIN
+```
+
+
+The following go command will download `profitbricks-sdk-go` to your configured `GOPATH`:
+
+```go
+go get "github.com/profitbricks/profitbricks-sdk-go"
+```
+
+The source code of the package will be located at:
+
+ $GOBIN\src\profitbricks-sdk-go
+
+Create main package file *example.go*:
+
+```go
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+}
+```
+
+Import GO SDK:
+
+```go
+import(
+ "github.com/profitbricks/profitbricks-sdk-go"
+)
+```
+
+
+### Authenticating
+Add your credentials for connecting to ProfitBricks:
+
+```go
+profitbricks.SetAuth("username", "password")
+```
+
+
+
+**Caution**: You will want to ensure you follow security best practices when using credentials within your code or stored in a file.
+
+### Error Handling
+
+The SDK will raise custom exceptions when the Cloud API returns an error. There are four response types:
+
+| HTTP Code | Description |
+|---|---|
+| 401 | The supplied user credentials are invalid. |
+| 404 | The requested resource cannot be found. |
+| 422 | The request body includes invalid JSON. |
+| 429 | The Cloud API rate limit has been exceeded. |
+
+# Concepts
+
+The Go SDK wraps the latest version of the ProfitBricks REST API. All API operations are performed over SSL and authenticated using your ProfitBricks portal credentials. The API can be accessed within an instance running in ProfitBricks or directly over the Internet from any application that can send an HTTPS request and receive an HTTPS response.
+
+# Getting Started
+
+Before you begin you will need to have [signed-up](https://www.profitbricks.com/signup) for a ProfitBricks account. The credentials you setup during sign-up will be used to authenticate against the API.
+
+Install the Go language from: [Go Installation](https://golang.org/doc/install)
+
+The `GOPATH` environment variable specifies the location of your Go workspace. It is likely the only environment variable you'll need to set when developing Go code. This is an example of pointing to a workspace configured underneath your home directory:
+
+```
+mkdir -p ~/go/bin
+export GOPATH=~/go
+export GOBIN=$GOPATH/bin
+export PATH=$PATH:$GOBIN
+```
+
+# Installation
+
+The following go command will download `profitbricks-sdk-go` to your configured `GOPATH`:
+
+```go
+go get "github.com/profitbricks/profitbricks-sdk-go"
+```
+
+The source code of the package will be located at:
+
+ $GOBIN\src\profitbricks-sdk-go
+
+Create main package file *example.go*:
+
+```go
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+}
+```
+
+Import GO SDK:
+
+```go
+import(
+ "github.com/profitbricks/profitbricks-sdk-go"
+)
+```
+
+Add your credentials for connecting to ProfitBricks:
+
+```go
+profitbricks.SetAuth("username", "password")
+```
+
+Set depth:
+
+```go
+profitbricks.SetDepth("5")
+```
+
+Depth controls the amount of data returned from the REST server ( range 1-5 ). The larger the number the more information is returned from the server. This is especially useful if you are looking for the information in the nested objects.
+
+**Caution**: You will want to ensure you follow security best practices when using credentials within your code or stored in a file.
+
+
+## Reference
+
+This section provides details on all the available operations and the arguments they accept. Brief code snippets demonstrating usage are also included.
+
+
+##### Depth
+
+Many of the *List* or *Get* operations will accept an optional *depth* argument. Setting this to a value between 0 and 5 affects the amount of data that is returned. The detail returned varies somewhat depending on the resource being queried, however it generally follows this pattern.
+
+| Depth | Description |
+|:-:|---|
+| 0 | Only direct properties are included. Children are not included. |
+| 1 | Direct properties and children's references are returned. |
+| 2 | Direct properties and children's properties are returned. |
+| 3 | Direct properties, children's properties, and descendant's references are returned. |
+| 4 | Direct properties, children's properties, and descendant's properties are returned. |
+| 5 | Returns all available properties. |
+
+This SDK sets the *Depth=5* by default as that works well in the majority of cases. You may find that setting *Depth* to a lower or higher value could simplify a later operation by reducing or increasing the data available in the response object.
+
+### Data Centers
+
+Virtual Data Centers (VDCs) are the foundation of the ProfitBricks platform. VDCs act as logical containers for all other objects you will be creating, e.g., servers. You can provision as many VDCs as you want. VDCs have their own private network and are logically segmented from each other to create isolation.
+
+#### List Data Centers
+
+This operation will list all currently provisioned VDCs that your account credentials provide access to.
+
+There are no request arguments that need to be supplied.
+
+Call `ListDatacenters`:
+
+ ListDatacenters()
+
+---
+
+#### Retrieve a Data Center
+
+Use this to retrieve details about a specific VDC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| dcid | Yes | string | The ID of the data center. |
+
+Pass the arguments to `GetDatacenter`:
+
+ GetDatacenter(dcid string)
+
+---
+
+#### Create a Data Center
+
+Use this operation to create a new VDC. You can create a "simple" VDC by supplying just the required *Name* and *Location* arguments. This operation also has the capability of provisioning a "complex" VDC by supplying additional arguments for servers, volumes, LANs, and/or load balancers.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenter | **yes** | object | A [Datacenter object](#datacenter-resource-object) describing the VDC being created. |
+
+Build the `Datacenter` resource object:
+
+ var obj = Datacenter{
+ Properties: DatacenterProperties{
+ Name: "GO SDK Test",
+ Description: "GO SDK test datacenter",
+ Location: location,
+ },
+ }
+
+Pass the object to `CreateDatacenter`:
+
+ CreateDatacenter(obj)
+
+##### Datacenter Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | **yes** | string | The name of the VDC. |
+| Location | **yes** | string | The physical ProfitBricks location where the VDC will be created. |
+| Description | no | string | A description for the VDC, e.g. staging, production. |
+| Servers | no | list | A list of one or more [Server objects](#server-resource-object) to be created. |
+| Volumes | no | list | A list of one or more [Volume objects](#volume-resource-object) to be created. |
+| Lans | no | list | A list of one or more [LAN objects](#lan-resource-object) to be created. |
+| Loadbalancers | no | list | A list of one or more [LoadBalancer objects](#load-balancer-resource-object) to be created. |
+
+The following table outlines the locations currently supported:
+
+| Value| Country | City |
+|---|---|---|
+| us/las | United States | Las Vegas |
+| us/ewr | United States | Newark |
+| de/fra | Germany | Frankfurt |
+| de/fkb | Germany | Karlsruhe |
+
+**NOTES**:
+
+* The value for `Name` cannot contain the following characters: (@, /, , |, ‘’, ‘).
+* You cannot change the VDC `Location` once it has been provisioned.
+
+---
+
+#### Update a Data Center
+
+After retrieving a VDC, either by ID or as a create response object, you can change its properties by calling the `update_datacenter` method. Some arguments may not be changed using `update_datacenter`.
+
+The following table describes the available request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| dcid | **yes** | string | The ID of the VDC. |
+| Name | no | string | The new name of the VDC. |
+| Description | no | string | The new description of the VDC. |
+
+Build the `DatacenterProperties` resource object:
+
+ var obj = DatacenterProperties{Name: "new Name",Description: "new desc"}
+
+Pass the arguments to `PatchDatacenter`:
+
+PatchDatacenter(dcid string, obj DatacenterProperties)
+
+---
+
+#### Delete a Data Center
+
+This will remove all objects within the VDC and remove the VDC object itself.
+
+**NOTE**: This is a highly destructive operation which should be used with extreme caution!
+
+The following table describes the available request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| dcid | **yes** | string | The ID of the VDC that you want to delete. |
+
+Pass the argument to `DeleteDatacenter`:
+
+ DeleteDatacenter(dcid)
+
+---
+
+### Locations
+
+Locations are the physical ProfitBricks data centers where you can provision your VDCs.
+
+#### List Locations
+
+The `ListLocations` operation will return the list of currently available locations.
+
+There are no request arguments to supply.
+
+ ListLocations()
+
+---
+
+#### Get a Location
+
+Retrieves the attributes of a specific location.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| locationid | **yes** | string | The ID consisting of country/city. |
+
+Pass the argument to `GetLocation`:
+
+ GetLocation("us/las")
+
+---
+
+#### Get a Regional Location
+
+Retrieves the locations available in a specific region.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| regionid | **yes** | string | The ID consisting of country/city. |
+
+Pass the argument to `GetRegionalLocations`:
+
+ GetRegionalLocations("us")
+
+---
+
+### Servers
+
+#### List Servers
+
+You can retrieve a list of all the servers provisioned inside a specific VDC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| dcid | **yes** | string | The ID of the VDC. |
+
+Pass the arguments to `ListServers`:
+
+ ListServers(dcid)
+
+---
+
+#### Retrieve a Server
+
+Returns information about a specific server such as its configuration, provisioning status, etc.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| dcId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `GetServer`:
+
+ GetServer(dcId, serverId)
+
+---
+
+#### Create a Server
+
+Creates a server within an existing VDC. You can configure additional properties such as specifying a boot volume and connecting the server to a LAN.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| server | **yes** | object | A [Server object](#server-resource-object) describing the server being created. |
+
+Build a [Server](#server-resource-object) object:
+
+ var server = Server{
+ Properties: ServerProperties{
+ Name: "GO SDK Test",
+ Ram: 1024,
+ Cores: 1,
+ AvailabilityZone: "ZONE_1",
+ CpuFamily: "INTEL_XEON",
+ },
+ }
+
+Pass the object and other arguments to `CreateServer`:
+
+ CreateServer(datacenterId, server)
+
+##### Server Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | **yes** | string | The name of the server. |
+| Cores | **yes** | int | The total number of cores for the server. |
+| Ram | **yes** | int | The amount of memory for the server in MB, e.g. 2048. Size must be specified in multiples of 256 MB with a minimum of 256 MB; however, if you set `RamHotPlug` to *true* then you must use a minimum of 1024 MB. |
+| AvailabilityZone | no | string | The availability zone in which the server should exist. |
+| CpuFamily | no | string | Sets the CPU type. "AMD_OPTERON" or "INTEL_XEON". Defaults to "AMD_OPTERON". |
+| BootVolume | no | string | A volume ID that the server will boot from. If not *nil* then `BootCdrom` has to be *nil*. |
+| BootCdrom | no | string | A CD-ROM image ID used for booting. If not *nil* then `BootVolume` has to be *nil*. |
+| Cdroms | no | list | A list of existing volume IDs that you want to connect to the server. |
+| Volumes | no | list | One or more [Volume objects](#volume-resource-object) that you want to create and attach to the server.|
+| Nics | no | list | One or more [NIC objects](#nic-resource-object) that you wish to create at the time the server is provisioned. |
+
+The following table outlines the server availability zones currently supported:
+
+| Availability Zone | Comment |
+|---|---|
+| AUTO | Automatically Selected Zone |
+| ZONE_1 | Fire Zone 1 |
+| ZONE_2 | Fire Zone 2 |
+
+---
+
+#### Update a Server
+
+Perform updates to the attributes of a server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| Name | no | string | The name of the server. |
+| Cores | no | int | The number of cores for the server. |
+| Ram | no | int | The amount of memory in the server. |
+| AvailabilityZone | no | string | The new availability zone for the server. |
+| CpuFamily | no | string | Sets the CPU type. "AMD_OPTERON" or "INTEL_XEON". Defaults to "AMD_OPTERON". |
+| BootVolume | no | string | A volume ID used for booting. If not *nil* then `BootCdrom` has to be *nil*. |
+| BootCdrom | no | string | A CD-ROM image ID used for booting. If not *nil* then `BootVolume` has to be *nil*. |
+
+Build a [ServerProperties](#serverproperties) object:
+
+ var server = ServerProperties{
+ Name: "GO SDK Test RENAME",
+ }
+
+
+Pass the arguments to `update_server`:
+
+ PatchServer(datacenterId, serverId, server)
+
+---
+
+#### Delete a Server
+
+This will remove a server from a VDC. **NOTE**: This will not automatically remove the storage volume(s) attached to a server. A separate operation is required to delete a storage volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server that will be deleted. |
+
+Pass the arguments to `delete_server`:
+
+ DeleteServer(datacenterId, serverId)
+
+---
+
+#### List Attached Volumes
+
+Retrieves a list of volumes attached to the server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `ListAttachedVolumes`:
+
+ ListAttachedVolumes(datacenterId, serverId)
+
+---
+
+#### Attach a Volume
+
+This will attach a pre-existing storage volume to the server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| volumeId | **yes** | string | The ID of a storage volume. |
+
+Pass the arguments to `AttachVolume`:
+
+AttachVolume(datacenterId, serverId, volumeId)
+
+---
+
+#### Retrieve an Attached Volume
+
+This will retrieve the properties of an attached volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| volumeId | **yes** | string | The ID of the attached volume. |
+
+Pass the arguments to `get_attached_volume`:
+
+ GetAttachedVolume(srv_dc_id, srv_srvid, srv_vol)
+
+---
+
+#### Detach a Volume
+
+This will detach the volume from the server. Depending on the volume `hot_unplug` settings, this may result in the server being rebooted. If `disc_virtio_hot_unplug` has been set to *true*, then a reboot should not be required.
+
+This will **NOT** delete the volume from your VDC. You will need to make a separate request to delete a volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| volumeId | **yes** | string | The ID of the attached volume. |
+
+Pass the arguments to `detach_volume`:
+
+ DetachVolume(datacenterId, serverId, volumeId)
+
+---
+
+#### List Attached CD-ROMs
+
+Retrieves a list of CD-ROMs attached to a server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `ListAttachedCdroms`:
+
+ ListAttachedCdroms(srv_dc_id, srv_srvid)
+
+---
+
+#### Attach a CD-ROM
+
+You can attach a CD-ROM to an existing server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| cdromId | **yes** | string | The ID of a CD-ROM. |
+
+Pass the arguments to `attach_cdrom`:
+
+ AttachCdrom(datacenterId, serverId, cdromId)
+
+---
+
+#### Retrieve an Attached CD-ROM
+
+You can retrieve a specific CD-ROM attached to the server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| cdromId | **yes** | string | The ID of the attached CD-ROM. |
+
+Pass the arguments to `GetAttachedCdrom`:
+
+GetAttachedCdrom(datacenterId, serverId, cdromId)
+
+---
+
+#### Detach a CD-ROM
+
+This will detach a CD-ROM from the server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| cdromId | **yes** | string | The ID of the attached CD-ROM. |
+
+Pass the arguments to `DetachCdrom`:
+
+ DetachCdrom(datacenterId, serverId, cdromId)
+
+---
+
+#### Reboot a Server
+
+This will force a hard reboot of the server. Do not use this method if you want to gracefully reboot the machine. This is the equivalent of powering off the machine and turning it back on.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `RebootServer`:
+
+ RebootServer(datacenterId, serverId)
+
+---
+
+#### Start a Server
+
+This will start a server. If a DHCP assigned public IP was deallocated when the server was stopped, then a new IP will be assigned.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `StartServer`:
+
+ StartServer(datacenterId, serverId)
+
+---
+
+#### Stop a Server
+
+This will stop a server. The machine will be forcefully powered off, billing will cease, and the public IP, if one is allocated, will be deallocated.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `StopServer`:
+
+ StopServer(datacenterId, serverId)
+
+---
+
+### Images
+
+#### List Images
+
+Retrieve a list of images.
+
+Just call the `ListImages`:
+
+ ListImages()
+
+---
+
+#### Get an Image
+
+Retrieves the attributes of a specific image.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| imgId | **yes** | string | The ID of the image. |
+
+Pass the arguments to `GetImage`:
+
+ GetImage(imgid)
+
+---
+
+
+### Volumes
+
+#### List Volumes
+
+Retrieve a list of volumes within the VDC. If you want to retrieve a list of volumes attached to a server please see the [List Attached Volumes](#list-attached-volumes) entry in the Server section for details.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+
+Pass the arguments to `ListVolumes`:
+
+ ListVolumes(datacenterId)
+
+---
+
+#### Get a Volume
+
+Retrieves the attributes of a given volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| volumeId | **yes** | string | The ID of the volume. |
+
+Pass the arguments to `GetVolume`:
+
+ GetVolume(datacenterId, volumeId)
+
+---
+
+#### Create a Volume
+
+Creates a volume within the VDC. This will NOT attach the volume to a server. Please see the [Attach a Volume](#attach-a-volume) entry in the Server section for details on how to attach storage volumes.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenter_id | **yes** | string | The ID of the VDC. |
+| volume | **yes** | object | A [Volume object](#volume-resource-object) you wish to create. |
+
+Build the `Volume` resource object:
+
+ var request = Volume{
+ Properties: VolumeProperties{
+ Size: 2,
+ Name: "GO SDK Test",
+ ImageAlias: "ubuntu:latest",
+ Bus: "VIRTIO",
+ SshKeys: []string{"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoLVLHON4BSK3D8L4H79aFo..."},
+ Type: "HDD",
+ ImagePassword: "test1234",
+ AvailabilityZone: "ZONE_3",
+ },
+ }
+
+Pass the object and arguments to `CreateVolume`:
+
+ CreateVolume(dcID, request)
+
+##### Volume Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | no | string | The name of the volume. |
+| Size | **yes** | int | The size of the volume in GB. |
+| Bus | no | string | The bus type of the volume (VIRTIO or IDE). Default: VIRTIO. |
+| Image | **yes** | string | The image or snapshot ID. Can be left empty for a data volume, however you'll need to set the `licence_type`. Default: *null* |
+| Type | **yes** | string | The volume type, HDD or SSD. Default: HDD|
+| LicenceType | **yes** | string | The licence type of the volume. Options: LINUX, WINDOWS, WINDOWS2016, UNKNOWN, OTHER. Default: UNKNOWN |
+| ImagePassword | **yes** | string | A password to set on the volume for the appropriate root or administrative account. This field may only be set in creation requests. When reading, it always returns *null*. The password has to contain 8-50 characters. Only these characters are allowed: [abcdefghjkmnpqrstuvxABCDEFGHJKLMNPQRSTUVX23456789] |
+| ImageAlias | **yes** | string | An alias to a ProfitBricks public image. Use instead of "image".] |
+| SshKeys | **yes** | string | SSH keys to allow access to the volume via SSH. |
+| AvailabilityZone | no | string | The storage availability zone assigned to the volume. Valid values: AUTO, ZONE_1, ZONE_2, or ZONE_3. This only applies to HDD volumes. Leave blank or set to AUTO when provisioning SSD volumes. |
+
+The following table outlines the various licence types you can define:
+
+| Licence Type | Comment |
+|---|---|
+| WINDOWS2016 | Use this for the Microsoft Windows Server 2016 operating system. |
+| WINDOWS | Use this for the Microsoft Windows Server 2008 and 2012 operating systems. |
+| LINUX |Use this for Linux distributions such as CentOS, Ubuntu, Debian, etc. |
+| OTHER | Use this for any volumes that do not match one of the other licence types. |
+| UNKNOWN | This value may be inherited when you've uploaded an image and haven't set the license type. Use one of the options above instead. |
+
+The following table outlines the storage availability zones currently supported:
+
+| Availability Zone | Comment |
+|---|---|
+| AUTO | Automatically Selected Zone |
+| ZONE_1 | Fire Zone 1 |
+| ZONE_2 | Fire Zone 2 |
+| ZONE_3 | Fire Zone 3 |
+
+**Note:** You will need to provide either the `Image` or the `LicenceType` arguments when creating a volume. A `LicenceType` is required, but if `Image` is supplied, it is already set and cannot be changed. Either the `ImagePassword` or `SshKeys` arguments need to be supplied when creating a volume using one of the official ProfitBricks images. Only official ProfitBricks provided images support the `SshKeys` and `ImagePassword` arguments.
+
+---
+
+#### Update a Volume
+
+You can update various attributes of an existing volume; however, some restrictions are in place:
+
+You can increase the size of an existing storage volume. You cannot reduce the size of an existing storage volume. The volume size will be increased without requiring a reboot if the relevant hot plug settings (`disc_virtio_hot_plug`, `disc_virtio_hot_unplug`, etc.) have been set to *true*. The additional capacity is not added automatically added to any partition, therefore you will need to handle that inside the OS afterwards. Once you have increased the volume size you cannot decrease the volume size.
+
+Since an existing volume is being modified, none of the request arguments are specifically required as long as the changes being made satisfy the requirements for creating a volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| volumeId | **yes** | string | The ID of the volume. |
+| Name | no | string | The name of the volume. |
+| Size | no | int | The size of the volume in GB. You may only increase the `size` when updating. |
+| Bus | no | string | The bus type of the volume (VIRTIO or IDE). Default: VIRTIO. |
+| LicenceType | no | string | The licence type of the volume. Options: LINUX, WINDOWS, WINDOWS2016, UNKNOWN, OTHER. You may get an error trying to update `LicenceType` depending on the `Image` that was used to create the volume. For example, you cannot update the `LicenceType` for a volume created from a ProfitBricks supplied OS image. |
+
+**Note**: Trying to change the `Image`, `Type`, or `AvailabilityZone` in an update request will result in an error.
+
+Pass the arguments to `PatchVolume`:
+
+ var obj := VolumeProperties{
+ Name: "GO SDK Test - RENAME",
+ Size: 5,
+ }
+ PatchVolume(datacenterId, volumeId, obj)
+
+---
+
+#### Delete a Volume
+
+Deletes the specified volume. This will result in the volume being removed from your data center. Use this with caution.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| volumeId | **yes** | string | The ID of the volume. |
+
+Pass the arguments to `DeleteVolume`:
+
+ DeleteVolume(datacenterId, volumeId)
+
+---
+
+#### Create a Volume Snapshot
+
+Creates a snapshot of a volume within the VDC. You can use a snapshot to create a new storage volume or to restore a storage volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| volumeId | **yes** | string | The ID of the volume. |
+| Name | no | string | The name of the snapshot. |
+| Description | no | string | The description of the snapshot. |
+
+Pass the arguments to `CreateSnapshot`:
+
+ CreateSnapshot(datacenterId, volumeId, Name,Description)
+
+---
+
+#### Restore a Volume Snapshot
+
+This will restore a snapshot onto a volume. A snapshot is created as just another image that can be used to create new volumes or to restore an existing volume.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| volumeId | **yes** | string | The ID of the volume. |
+| snapshotId | **yes** | string | The ID of the snapshot. |
+
+Pass the arguments to `restore_snapshot`:
+
+ RestoreSnapshot(datacenterId, volumeId, snapshotId)
+
+---
+
+### Snapshots
+
+#### List Snapshots
+
+Call the `ListSnapshots`:
+
+ ListSnapshots()
+
+---
+
+#### Get a Snapshot
+
+Retrieves the attributes of a specific snapshot.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| snapshotId | **yes** | string | The ID of the snapshot. |
+
+Pass the arguments to `GetSnapshot`:
+
+ GetSnapshot(snapshotId)
+
+---
+
+#### Update a Snapshot
+
+Perform updates to attributes of a snapshot.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| snapshotId | **yes** | string | The ID of the snapshot. |
+| Name | no | string | The name of the snapshot. |
+| Description | no | string | The description of the snapshot. |
+| LicenceType | no | string | The snapshot's licence type: LINUX, WINDOWS, WINDOWS2016, or OTHER. |
+| CpuHotPlug | no | bool | This volume is capable of CPU hot plug (no reboot required) |
+| CpuHotUnplug | no | bool | This volume is capable of CPU hot unplug (no reboot required) |
+| RamHotPlug | no | bool | This volume is capable of memory hot plug (no reboot required) |
+| RamHotUnplug | no | bool | This volume is capable of memory hot unplug (no reboot required) |
+| NicHotPlug | no | bool | This volume is capable of NIC hot plug (no reboot required) |
+| NicHotUnplug | no | bool | This volume is capable of NIC hot unplug (no reboot required) |
+| DiscVirtioHotPlug | no | bool | This volume is capable of VirtIO drive hot plug (no reboot required) |
+| DiscVirtioHotUnplug | no | bool | This volume is capable of VirtIO drive hot unplug (no reboot required) |
+| DiscScsiHotPlug | no | bool | This volume is capable of SCSI drive hot plug (no reboot required) |
+| DiscScsiHotUnplug | no | bool | This volume is capable of SCSI drive hot unplug (no reboot required) |
+
+Pass the arguments to `UpdateSnapshot`:
+
+ UpdateSnapshot(snapshotId, SnapshotProperties{Name: newValue})
+
+---
+
+#### Delete a Snapshot
+
+Deletes the specified snapshot.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| snapshotId | **yes** | string | The ID of the snapshot. |
+
+Pass the arguments to `DeleteSnapshot`:
+
+ DeleteSnapshot(snapshotId)
+
+---
+
+### IP Blocks
+
+The IP block operations assist with managing reserved /static public IP addresses.
+
+#### List IP Blocks
+
+Retrieve a list of available IP blocks.
+
+
+ ListIpBlocks()
+
+---
+
+#### Get an IP Block
+
+Retrieves the attributes of a specific IP block.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| ipblock_id | **yes** | string | The ID of the IP block. |
+
+Pass the arguments to `get_ipblock`:
+
+ response = client.get_ipblock('UUID')
+
+---
+
+#### Create an IP Block
+
+Creates an IP block. Creating an IP block is a bit different than some of the other available create operations. IP blocks are not attached to a particular VDC, but rather to a location. Therefore, you must specify a valid `location` along with a `size` argument indicating the number of IP addresses you want to reserve in the IP block. Any resources using an IP address from an IP block must be in the same `location`.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenter_id | **yes** | string | The ID of the VDC. |
+| ipblock | **yes** | object | An [IPBlock object](#ipblock-resource-object) you wish to create. |
+
+To create an IP block, define the `IPBlock` resource object:
+
+ var ipblock = IpBlock{
+ Properties: IpBlockProperties{
+ Name: "GO SDK Test",
+ Size: 2,
+ Location: location,
+ },
+ }
+
+Pass it to `ReserveIpBlock`:
+
+ ReserveIpBlock(ipblock)
+
+##### IPBlock Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Location | **yes** | string | This must be one of the available locations: us/las, us/ewr, de/fra, de/fkb. |
+| Size | **yes** | int | The size of the IP block you want. |
+| Name | no | string | A descriptive name for the IP block |
+
+The following table outlines the locations currently supported:
+
+| Value| Country | City |
+|---|---|---|
+| us/las | United States | Las Vegas |
+| us/ewr | United States | Newark |
+| de/fra | Germany | Frankfurt |
+| de/fkb | Germany | Karlsruhe |
+
+---
+
+#### Delete an IP Block
+
+Deletes the specified IP Block.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| ipblkid | **yes** | string | The ID of the IP block. |
+
+Pass the arguments to `ReleaseIpBlock`:
+
+ ReleaseIpBlock(ipblkid)
+
+---
+
+### LANs
+
+#### List LANs
+
+Retrieve a list of LANs within the VDC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterd | **yes** | string | The ID of the VDC. |
+
+
+Pass the arguments to `ListLans`:
+
+ ListLans(datacenterd)
+
+---
+
+#### Create a LAN
+
+Creates a LAN within a VDC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| lan | **yes** | object | A [LAN object](#lan-resource-object) describing the LAN to create. |
+
+Create the `LAN` resource object:
+
+ var request = CreateLanRequest{
+ Properties: CreateLanProperties{
+ Public: true,
+ Name: "GO SDK Test with failover",
+ },
+ Entities: &LanEntities{
+ Nics: lanNics,
+ },
+ }
+
+Pass the object and arguments to `create_lan`:
+
+ CreateLan(datacenterId, request)
+
+##### LAN Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | no | string | The name of your LAN. |
+| Public | **Yes** | bool | Boolean indicating if the LAN faces the public Internet or not. |
+| Nics | no | list | One or more NIC IDs attached to the LAN. |
+
+---
+
+#### Get a LAN
+
+Retrieves the attributes of a given LAN.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| lanId | **yes** | int | The ID of the LAN. |
+
+Pass the arguments to `GetLan`:
+
+ GetLan(datacenterId, lanId)
+
+---
+
+#### Update a LAN
+
+Perform updates to attributes of a LAN.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| lanId | **yes** | int | The ID of the LAN. |
+| Name | no | string | A descriptive name for the LAN. |
+| Public | no | bool | Boolean indicating if the LAN faces the public Internet or not. |
+| IpFailover | no | array | A list of IP fail-over dicts. |
+
+Pass the arguments to `update_lan`:
+
+ var obj = LanProperties{
+ Properties: LanProperties{
+ Public: true,
+ Name: "GO SDK Test with failover",
+ }
+ PatchLan(datacenterId, lanId, obj)
+
+---
+
+#### Delete a LAN
+
+Deletes the specified LAN.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| lanId | **yes** | string | The ID of the LAN. |
+
+Pass the arguments to `delete_lan`:
+
+ DeleteLan(lan_dcid, lanid)
+---
+
+### Network Interfaces (NICs)
+
+#### List NICs
+
+Retrieve a list of LANs within the VDC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+
+Pass the arguments to `ListNics`:
+
+ ListNics(datacenterId, serverId)
+
+---
+
+#### Get a NIC
+
+Retrieves the attributes of a given NIC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+
+Pass the arguments to `GetNic`:
+
+ GetNic(datacenterId, serverId, nicId)
+
+---
+
+#### Create a NIC
+
+Adds a NIC to the target server.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string| The ID of the server. |
+| nic | **yes** | object | A [NIC object](#nic-resource-object) describing the NIC to be created. |
+
+Create the `NIC` resource object:
+
+ var nic = Nic{
+ Properties: &NicProperties{
+ Lan: 1,
+ Name: "GO SDK Test",
+ Nat: false,
+ Dhcp: true,
+ FirewallActive: true,
+ Ips: []string{"10.0.0.1"},
+ },
+ }
+
+Pass the object and arguments to `create_nic`:
+
+ CreateNic(datacenterId, serverId, nic)
+
+##### NIC Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | no | string | The name of the NIC. |
+| Ips | no | list | IP addresses assigned to the NIC. |
+| Dhcp | no | bool | Set to *false* if you wish to disable DHCP on the NIC. Default: *true*. |
+| Lan | **yes** | int | The LAN ID the NIC will sit on. If the LAN ID does not exist it will be created. |
+| Nat | no | bool | Indicates the private IP address has outbound access to the public internet. |
+| FirewallActive | no | bool | Set this to *true* to enable the ProfitBricks firewall, *false* to disable. |
+| Firewallrules | no | list | A list of [FirewallRule objects](#firewall-rule-resource-object) to be created with the NIC. |
+
+---
+
+#### Update a NIC
+
+You can update -- in full or partially -- various attributes on the NIC; however, some restrictions are in place:
+
+The primary address of a NIC connected to a load balancer can only be changed by changing the IP of the load balancer. You can also add additional reserved, public IPs to the NIC.
+
+The user can specify and assign private IPs manually. Valid IP addresses for private networks are 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string| The ID of the server. |
+| nicId | **yes** | string| The ID of the NIC. |
+| Name | no | string | The name of the NIC. |
+| Ips | no | list | IPs assigned to the NIC represented as a list of strings. |
+| Dhcp | no | bool | Boolean value that indicates if the NIC is using DHCP or not. |
+| Lan | no | int | The LAN ID the NIC sits on. |
+| Nat | no | bool | Indicates the private IP address has outbound access to the public internet. |
+| FirewallActive | no | bool | Set this to *true* to enable the ProfitBricks firewall, *false* to disable. |
+
+Pass the arguments to `update_nic`:
+
+ var obj = NicProperties{Name: "GO SDK Test - RENAME", Lan: 1}
+ PatchNic(nic_dcid, nic_srvid, nicid, obj)
+
+---
+
+#### Delete a NIC
+
+Deletes the specified NIC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string| The ID of the server. |
+| nicId | **yes** | string| The ID of the NIC. |
+
+Pass the arguments to `DeleteNic`:
+
+ DeleteNic(nic_dcid, nic_srvid, nicid)
+
+---
+
+### Firewall Rules
+
+#### List Firewall Rules
+
+Retrieves a list of firewall rules associated with a particular NIC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+
+Pass the arguments to `ListFirewallRules`:
+
+ ListFirewallRules(datacenterId, serverId, nicId)
+
+---
+
+#### Get a Firewall Rule
+
+Retrieves the attributes of a given firewall rule.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+| firewallRuleId | **yes** | string | The ID of the firewall rule. |
+
+Pass the arguments to `get_firewall_rule`:
+
+ GetFirewallRule(datacenterId, serverId, nicId, firewallRuleId)
+
+---
+
+#### Create a Firewall Rule
+
+This will add a firewall rule to the NIC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+| firewallRule | **yes** | object | A [FirewallRule object](#firewall-rule-resource-object) describing the firewall rule to be created. |
+
+Create the `FirewallRule` resource object:
+
+ var firewallRule FirewallRule{
+ Properties: FirewallruleProperties{
+ Name: "SSH",
+ Protocol: "TCP",
+ SourceMac: "01:23:45:67:89:00",
+ PortRangeStart: 22,
+ PortRangeEnd: 22,
+ },
+ }
+
+Pass the object and arguments to `create_firewall_rule`:
+
+ CreateFirewallRule(datacenterId, serverId, nicId, firewallRule)
+
+##### Firewall Rule Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | no | string | The name of the firewall rule. |
+| Protocol | **yes** | string | The protocol for the rule: TCP, UDP, ICMP, ANY. |
+| SourceMac | no | string | Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. A *nil* value allows all source MAC address. |
+| SourceIp | no | string | Only traffic originating from the respective IPv4 address is allowed. A *nil* value allows all source IPs. |
+| TargetIp | no | string | In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. A *nil* value allows all target IPs. |
+| PortRangeStart | no | string | Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave `PortRangeStart` and `PortRangeEnd` value as *nil* to allow all ports. |
+| PortRangeEnd | no | string | Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave `PortRangeStart` and `PortRangeEnd` value as *nil* to allow all ports. |
+| IcmpType | no | string | Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. A *nil* value allows all types. |
+| IcmpCode | no | string | Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. A *nil* value allows all codes. |
+
+---
+
+#### Update a Firewall Rule
+
+Perform updates to an existing firewall rule. You will notice that some arguments, such as `protocol` cannot be updated. If the `protocol` needs to be changed, you can [delete](#delete-a-firewall-rule) the firewall rule and then [create](#create-a-firewall-rule) new one to replace it.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+| firewallRuleId | **yes** | string | The ID of the firewall rule. |
+| Name | no | string | The name of the firewall rule. |
+| SourceMac | no | string | Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. A *nil* value allows all source MAC address. |
+| SourceIp | no | string | Only traffic originating from the respective IPv4 address is allowed. A *nil* value allows all source IPs. |
+| TargetIp | no | string | In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. A *nil* value allows all target IPs. |
+| PortRangeStart | no | string | Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave `PortRangeStart` and `PortRangeEnd` value as *nil* to allow all ports. |
+| PortRangeEnd | no | string | Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave `PortRangeStart` and `PortRangeEnd` value as *nil* to allow all ports. |
+| IcmpType | no | string | Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. A *nil* value allows all types. |
+| IcmpCode | no | string | Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. A *nil* value allows all codes. |
+
+Pass the arguments to `PatchFirewallRule`:
+
+ props := FirewallruleProperties{
+ Name: "SSH - RENAME",
+ }
+ PatchFirewallRule(dcID, srv_srvid, nicid, fwId, props)
+
+---
+
+#### Delete a Firewall Rule
+
+Removes a firewall rule.
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| serverId | **yes** | string | The ID of the server. |
+| nicId | **yes** | string | The ID of the NIC. |
+| firewallRuleId | **yes** | string | The ID of the firewall rule. |
+
+Pass the arguments to `DeleteFirewallRule`:
+
+ DeleteFirewallRule(dcID, srv_srvid, nicid, fwId)
+
+---
+
+### Load Balancers
+
+#### List Load Balancers
+
+Retrieve a list of load balancers within the data center.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+
+
+Pass the arguments to `ListLoadbalancers`:
+
+ ListLoadbalancers(datacenterId)
+
+---
+
+#### Get a Load Balancer
+
+Retrieves the attributes of a given load balancer.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+
+Pass the arguments to `GetLoadbalancer`:
+
+ GetLoadbalancer(datacenterId, loadbalancerId)
+
+---
+
+#### Create a Load Balancer
+
+Creates a load balancer within the VDC. Load balancers can be used for public or private IP traffic.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancer | **yes** | object | A [LoadBalancer object](#load-balancer-resource-object) describing the load balancer to be created. |
+
+Create the `LoadBalancer` resource object:
+
+ var loadbalancer = Loadbalancer{
+ Properties: LoadbalancerProperties{
+ Name: "GO SDK Test",
+ Ip: "10.0.0.1",
+ Dhcp: true,
+ }
+ }
+Pass the object and arguments to `CreateLoadbalancer`:
+
+ CreateLoadbalancer(datacenterId, loadbalancer)
+
+##### Load Balancer Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | **yes** | string | The name of the load balancer. |
+| Ip | no | string | IPv4 address of the load balancer. All attached NICs will inherit this IP. |
+| Dhcp | no | bool | Indicates if the load balancer will reserve an IP using DHCP. |
+| Balancednics | no | list | List of NIC IDs taking part in load-balancing. All balanced NICs inherit the IP of the load balancer. |
+
+---
+
+#### Update a Load Balancer
+
+Perform updates to attributes of a load balancer.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+| Name | no | string | The name of the load balancer. |
+| Ip | no | string | The IP of the load balancer. |
+| Dhcp | no | bool | Indicates if the load balancer will reserve an IP using DHCP. |
+
+Pass the arguments to `PatchLoadbalancer`:
+
+ var obj = LoadbalancerProperties{Name: "GO SDK Test - RENAME"}
+ PatchLoadbalancer(datacenterId, loadbalancerId, obj)
+
+---
+
+#### Delete a Load Balancer
+
+Deletes the specified load balancer.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+
+Pass the arguments to `DeleteLoadbalancer`:
+
+ DeleteLoadbalancer(datacenterId, loadbalancerId)
+
+---
+
+#### List Load Balanced NICs
+
+This will retrieve a list of NICs associated with the load balancer.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+
+Pass the arguments to `ListBalancedNics`:
+
+ ListBalancedNics(datacenterId, loadbalancerId)
+
+---
+
+#### Get a Load Balanced NIC
+
+Retrieves the attributes of a given load balanced NIC.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+| nicId | **yes** | string | The ID of the NIC. |
+
+
+Pass the arguments to `GetBalancedNic`:
+
+ GetBalancedNic(datacenterId, loadbalancerId, nicId)
+
+---
+
+#### Associate NIC to a Load Balancer
+
+This will associate a NIC to a load balancer, enabling the NIC to participate in load-balancing.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+| nicId | **yes** | string | The ID of the NIC. |
+
+Pass the arguments to `add_loadbalanced_nics`:
+
+ AssociateNic(datacenterId, loadbalancerId, nicId)
+
+---
+
+#### Remove a NIC Association
+
+Removes the association of a NIC with a load balancer.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| datacenterId | **yes** | string | The ID of the VDC. |
+| loadbalancerId | **yes** | string | The ID of the load balancer. |
+| nicId | **yes** | string | The ID of the NIC you are removing from the load balancer. |
+
+Pass the arguments to `DeleteBalancedNic`:
+
+ DeleteBalancedNic(datacenterId, loadbalancerId, nicId)
+
+---
+
+### Requests
+
+Each call to the ProfitBricks Cloud API is assigned a request ID. These operations can be used to get information about the requests that have been submitted and their current status.
+
+#### List Requests
+
+
+ ListRequests()
+
+---
+
+#### Get a Request
+
+Retrieves the attributes of a specific request. This operation shares the same `get_request` method used for getting request status, however the response it determined by the boolean value you pass for *status*. To get details about the request itself, you want to pass a *status* of *False*.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| request_id | **yes** | string | The ID of the request. |
+| status | **yes** | bool | Set to *False* to have the request details returned. |
+
+Pass the arguments to `get_request`:
+
+ response = client.get_request(
+ request_id='UUID',
+ status=False)
+
+---
+
+#### Get a Request Status
+
+Retrieves the status of a request. This operation shares the same `get_request` method used for getting the details of a request, however the response it determined by the boolean value you pass for *status*. To get the request status, you want to pass a *status* of *True*.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| path | **yes** | string | The ID of the request. Retrieved from response header location |
+
+
+Pass the arguments to `get_request`:
+
+ GetRequestStatus(path)
+
+---
+
+### Contract Resources
+
+#### List Contract Resources
+
+Returns information about the resource limits for a particular contract and the current resource usage.
+
+```
+GetContractResources()
+```
+
+---
+
+### Users Management
+These operations are designed to allow you to orchestrate users and resources via the Cloud API. Previously this functionality required use of the DCD (Data Center Designer) web application.
+
+#### List Groups
+This retrieves a full list of all groups.
+
+```
+ListGroups()
+```
+
+
+#### Retrieve a Group
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| groupId | Yes | string | The ID of the specific group to retrieve. |
+
+```
+GetGroup(groupid)
+```
+
+#### Create a Group
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+|---|---|---|---|
+| group | Group |See [Group Object](#group-resource-object) | Yes |
+
+Build the `Group` resource object:
+
+ var group = Group{
+ Properties: GroupProperties{
+ Name: "GO SDK Test",
+ CreateDataCenter: &TRUE,
+ CreateSnapshot: &TRUE,
+ ReserveIp: &TRUE,
+ AccessActivityLog: &TRUE,
+ },
+ }
+
+Pass the object to `CreateGroup`:
+
+```
+CreateGroup(group Group)
+```
+
+##### Group Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Name | **yes** | string | A name that was given to the group. |
+| CreateDataCenter | no | bool | The group has permission to create virtual data centers. |
+| CreateSnapshot | no | bool | The group has permission to create snapshots. |
+| ReserveIp | no | bool | The group has permission to reserve IP addresses. |
+| AccessActivityLog | no | bool | The group has permission to access the activity log. |
+
+#### Update a Group
+
+Use this operation to update a group.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| groupId | **yes** | string | The ID of the specific group to retrieve. |
+| group | Group |See [Group Object](#group-resource-object) | Yes |
+
+```
+UpdateGroup(groupId, group Group)
+```
+
+---
+
+#### Delete a Group
+
+This will remove all objects within the data center and remove the data center object itself.
+Use this operation to delete a single group. Resources that are assigned to the group are NOT deleted, but are no longer accessible to the group members unless the member is a Contract Owner, Admin, or Resource Owner.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| groupId | **yes** | string | The ID of the specific group to retrieve. |
+
+```
+DeleteGroup(groupId)
+```
+
+---
+
+#### List Shares
+Retrieves a full list of all the resources that are shared through this group and lists the permissions granted to the group members for each shared resource.
+
+```
+ListShares()
+```
+
+#### Retrieve a Share
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| groupid | **yes** | string | The ID of the specific group to retrieve. |
+| resourceId | **yes** | string | The ID of the specific resource to retrieve. |
+
+```
+GetShare(groupid, resourceId)
+```
+
+---
+
+#### Add a Share
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| groupid | **yes** | string | The ID of the specific group to add a resource too. |
+| resourceId | **yes** | string | The ID of the specific resource to add. |
+| share | **yes** | Share | See [Share Object](#share-resource-object) |
+
+Build the `Share` resource object:
+
+ var share = Share{
+ Properties: ShareProperties{
+ SharePrivilege: true,
+ EditPrivilege: true,
+ },
+ }
+
+Pass the object to `AddShare`:
+
+```
+AddShare(share Share, groupid, resourceId)
+```
+
+##### Share Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| EditPrivilege | no | bool | The group has permission to edit privileges on this resource. |
+| SharePrivilege | no | bool | The group has permission to share this resource. |
+
+---
+
+#### Update a Share
+
+Use this to update the permissions that a group has for a specific resource share.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| groupid | **yes** | string | The ID of the specific group to add a resource too. |
+| resourceId | **yes** | string | The ID of the specific resource to add. |
+| share | **yes** | Share | See [Share Object](#share-resource-object) |
+
+```
+UpdateShare(groupid, resourceId, obj)
+```
+
+
+#### Delete a Share
+
+This will remove all objects within the data center and remove the data center object itself.
+Use this operation to delete a single group. Resources that are assigned to the group are NOT deleted, but are no longer accessible to the group members unless the member is a Contract Owner, Admin, or Resource Owner.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| groupid | **yes** | string | The ID of the specific group containing the resource to delete. |
+| resourceId | **yes** | string | The ID of the specific resource to delete. |
+
+```
+DeleteShare(groupid, resourceId)
+```
+
+---
+
+#### List Users in a Group
+Retrieves a full list of all the users that are members of a particular group.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| groupid | **yes** | string | The ID of the specific group to retrieve a user list for. |
+
+```
+ListGroupUsers(groupid)
+```
+
+---
+
+
+#### Add User to Group
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| groupid | **yes** | string | The ID of the specific group you want to add a user to. |
+| userid | **yes** | string | The ID of the specific user to add to the group. |
+
+
+```
+AddUserToGroup(groupid, userid)
+```
+
+---
+
+#### Remove User from a Group
+
+Use this operation to remove a user from a group.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| groupid | **yes** | string | The ID of the specific group you want to remove a user from. |
+| userid | **yes** | string | The ID of the specific user to remove from the group. |
+
+```
+DeleteUserFromGroup(groupid, userid)
+```
+
+---
+
+#### List Users
+Retrieve a list of all the users that have been created under a contract.
+
+```
+ListUsers()
+```
+
+---
+
+#### Retrieve a User
+Retrieve details about a specific user including what groups and resources the user is associated with.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| userid | **yes** | string | The ID of the specific user to retrieve information about. |
+
+```
+GetUser(userid)
+```
+
+---
+
+#### Create a User
+Creates a new user under a particular contract.
+
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| user | **yes** | User | See [User Object](#user-resource-object) |
+
+Build the `User` resource object:
+
+ var user = User{
+ Properties: &UserProperties{
+ Firstname: "John",
+ Lastname: "Doe",
+ Email: email,
+ Password: "abc123-321CBA",
+ Administrator: false,
+ ForceSecAuth: false,
+ SecAuthActive: false,
+ },
+ }
+
+Pass the object to `CreateUser`:
+
+```
+CreateUser(user User)
+```
+
+##### User Resource Object
+
+| Name | Required | Type | Description |
+|---|:-:|---|---|
+| Firstname | **yes** | bool | The first name of the user. |
+| Lastname | **yes** | bool | The last name of the user. |
+| Email | **yes** | bool | The e-mail address of the user. |
+| Password | **yes** | bool | A password for the user. |
+| Administrator | no | bool | Indicates if the user has administrative rights. |
+| ForceSecAuth | no | bool | Indicates if secure (two-factor) authentication was enabled for the user. |
+| SecAuthActive | no | bool | Indicates if secure (two-factor) authentication is enabled for the user. |
+
+---
+
+#### Update a User
+
+Update details about a specific user including their privileges.
+
+The following table describes the request arguments:
+
+| Name | Required | Type | Description |
+|---|---|---|---|
+| userid | **Yes** | string | The ID of the specific user to update. |
+
+
+```
+user := UserProperties{
+ Firstname: "go sdk ",
+ Lastname: newName,
+ Email: "test@go.com",
+ Password: "abc123-321CBA",
+ Administrator: false,
+ ForceSecAuth: false,
+ SecAuthActive: false,
+ }
+UpdateUser(userid, user)
+```
+
+---
+
+#### Delete a User
+
+Blacklists the user, disabling them. The user is not completely purged, therefore if you anticipate needing to create a user with the same name in the future, we suggest renaming the user before you delete it.
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| userid | **Yes** | string | The ID of the specific user to update. |
+
+```
+DeleteUser(userid)
+```
+
+---
+
+#### List Resources
+Retrieves a list of all resources and optionally their group associations.
+
+*Note*: This API call can take a significant amount of time to return when there are a large number of provisioned resources. You may wish to consult the next section on how to list resources of a particular type.
+
+```
+ListResources()
+```
+
+---
+
+#### List All Resources of a Type
+Lists all shareable resources of a specific type. Optionally include their association with groups, permissions that a group has for the resource, and users that are members of the group. Because you are scoping your request to a specific resource type, this API will likely return faster than querying `/um/resources`.
+
+
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| resourcetype | **Yes** | string | The specific type of resources to retrieve information about. |
+
+The values available for resourcetype are listed in this table:
+
+| Resource Type | Description |
+|---|---|
+| datacenter | A virtual data center. |
+| image | A private image that has been uploaded to ProfitBricks. |
+| snapshot | A snapshot of a storage volume. |
+| ipblock | An IP block that has been reserved. |
+
+```
+ListResourcesByType(resourcetype)
+```
+
+---
+
+#### List a specific Resource Type
+
+
+The following table describes the request arguments:
+
+| Name | Type | Description | Required |
+| --- | --- | --- | --- |
+| resourcetype | **Yes** | string | The specific type of resources to retrieve information about. |
+| resourceId | **Yes** | string | The ID of the specific resource to retrieve information about. |
+
+The values available for resourcetype are listed in this table:
+
+| Resource Type | Description |
+|---|---|
+| datacenter | A virtual data center. |
+| image | A private image that has been uploaded to ProfitBricks. |
+| snapshot | A snapshot of a storage volume. |
+| ipblock | An IP block that has been reserved. |
+
+```
+GetResourceByType(resourcetype, resourceId)
+```
+
+---
+
+## Example
+
+```go
+package main
+
+import (
+ "fmt"
+ "time"
+
+ "github.com/profitbricks/profitbricks-sdk-go"
+)
+
+func main() {
+
+ //Sets username and password
+ profitbricks.SetAuth("username", "password")
+ //Sets depth.
+ profitbricks.SetDepth("5")
+
+ dcrequest := profitbricks.Datacenter{
+ Properties: profitbricks.DatacenterProperties{
+ Name: "example.go3",
+ Description: "description",
+ Location: "us/lasdev",
+ },
+ }
+
+ datacenter := profitbricks.CreateDatacenter(dcrequest)
+
+ serverrequest := profitbricks.Server{
+ Properties: profitbricks.ServerProperties{
+ Name: "go01",
+ Ram: 1024,
+ Cores: 2,
+ },
+ }
+ server := profitbricks.CreateServer(datacenter.Id, serverrequest)
+
+ volumerequest := profitbricks.Volume{
+ Properties: profitbricks.VolumeProperties{
+ Size: 1,
+ Name: "Volume Test",
+ LicenceType: "LINUX",
+ Type: "HDD",
+ },
+ }
+
+ storage := profitbricks.CreateVolume(datacenter.Id, volumerequest)
+
+ serverupdaterequest := profitbricks.ServerProperties{
+ Name: "go01renamed",
+ Cores: 1,
+ Ram: 256,
+ }
+
+ profitbricks.PatchServer(datacenter.Id, server.Id, serverupdaterequest)
+ //It takes a moment for a volume to be provisioned so we wait.
+ time.Sleep(60 * time.Second)
+
+ profitbricks.AttachVolume(datacenter.Id, server.Id, storage.Id)
+
+ volumes := profitbricks.ListVolumes(datacenter.Id)
+ fmt.Println(volumes.Items)
+ servers := profitbricks.ListServers(datacenter.Id)
+ fmt.Println(servers.Items)
+ datacenters := profitbricks.ListDatacenters()
+ fmt.Println(datacenters.Items)
+
+ profitbricks.DeleteServer(datacenter.Id, server.Id)
+ profitbricks.DeleteDatacenter(datacenter.Id)
+}
+```
+
+# Support
+You are welcome to contact us with questions or comments at [ProfitBricks DevOps Central](https://devops.profitbricks.com/). Please report any issues via [GitHub's issue tracker](https://github.com/profitbricks/profitbricks-sdk-go/issues).
+
+## Testing
+
+You can run all test by using the command `go test -timeout=120m` or run a single test by specifying the name of the test file `go test servers_test.go`
+
+## Contributing
+
+1. Fork it ( https://github.com/profitbricks/profitbricks-sdk-go/fork )
+2. Create your feature branch (`git checkout -b my-new-feature`)
+3. Commit your changes (`git commit -am 'Add some feature'`)
+4. Push to the branch (`git push origin my-new-feature`)
+5. Create a new Pull Request
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/config.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/config.go
index 56710895..368a111a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/config.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/config.go
@@ -1,7 +1,7 @@
package profitbricks
-// Endpoint is the base url for REST requests .
-var Endpoint = "https://api.profitbricks.com/rest/v2"
+// Endpoint is the base url for REST requests.
+var Endpoint = "https://api.profitbricks.com/cloudapi/v4"
// Username for authentication .
var Username string
@@ -11,7 +11,9 @@ var Passwd string
// SetEndpoint is used to set the REST Endpoint. Endpoint is declared in config.go
func SetEndpoint(newendpoint string) string {
- Endpoint = newendpoint
+ if newendpoint != "" {
+ Endpoint = newendpoint
+ }
return Endpoint
}
@@ -21,3 +23,7 @@ func SetAuth(u, p string) {
Username = u
Passwd = p
}
+
+func SetUserAgent(userAgent string) {
+ AgentHeader = userAgent
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/contractresources.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/contractresources.go
new file mode 100644
index 00000000..cd4fa2c3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/contractresources.go
@@ -0,0 +1,60 @@
+package profitbricks
+
+import (
+ "encoding/json"
+ "net/http"
+ "strconv"
+)
+
+type ContractResources struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Properties ContractResourcesProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type ContractResourcesProperties struct {
+ PBContractNumber string `json:"PB-Contract-Number,omitempty"`
+ Owner string `json:"owner,omitempty"`
+ Status string `json:"status,omitempty"`
+ ResourceLimits *ResourcesLimits `json:"resourceLimits,omitempty"`
+}
+
+type ResourcesLimits struct {
+ CoresPerServer int32 `json:"coresPerServer,omitempty"`
+ CoresPerContract int32 `json:"coresPerContract,omitempty"`
+ CoresProvisioned int32 `json:"coresProvisioned,omitempty"`
+ RamPerServer int32 `json:"ramPerServer,omitempty"`
+ RamPerContract int32 `json:"ramPerContract,omitempty"`
+ RamProvisioned int32 `json:"ramProvisioned,omitempty"`
+ HddLimitPerVolume int64 `json:"hddLimitPerVolume,omitempty"`
+ HddLimitPerContract int64 `json:"hddLimitPerContract,omitempty"`
+ HddVolumeProvisioned int64 `json:"hddVolumeProvisioned,omitempty"`
+ SsdLimitPerVolume int64 `json:"ssdLimitPerVolume,omitempty"`
+ SsdLimitPerContract int64 `json:"ssdLimitPerContract,omitempty"`
+ SsdVolumeProvisioned int64 `json:"ssdVolumeProvisioned,omitempty"`
+ ReservableIps int32 `json:"reservableIps,omitempty"`
+ ReservedIpsOnContract int32 `json:"reservedIpsOnContract,omitempty"`
+ ReservedIpsInUse int32 `json:"reservedIpsInUse,omitempty"`
+}
+
+func GetContractResources() ContractResources {
+ path := contract_resource_path()
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toContractResources(resp)
+}
+
+func toContractResources(resp Resp) ContractResources {
+ var col ContractResources
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/datacenter.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/datacenter.go
index eb3d9094..1bdf22d6 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/datacenter.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/datacenter.go
@@ -8,18 +8,18 @@ import (
)
type Datacenter struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties DatacenterProperties `json:"properties,omitempty"`
- Entities DatacenterEntities `json:"entities,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties DatacenterProperties `json:"properties,omitempty"`
+ Entities DatacenterEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
-type DatacenterElementMetadata struct {
+type Metadata struct {
CreatedDate time.Time `json:"createdDate,omitempty"`
CreatedBy string `json:"createdBy,omitempty"`
Etag string `json:"etag,omitempty"`
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/firewallrule.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/firewallrule.go
index 11cae62a..1d5ef4ec 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/firewallrule.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/firewallrule.go
@@ -7,26 +7,26 @@ import (
)
type FirewallRule struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties FirewallruleProperties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties FirewallruleProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type FirewallruleProperties struct {
- Name string `json:"name,omitempty"`
- Protocol string `json:"protocol,omitempty"`
- SourceMac string `json:"sourceMac,omitempty"`
- SourceIp string `json:"sourceIp,omitempty"`
- TargetIp string `json:"targetIp,omitempty"`
- IcmpCode int `json:"icmpCode,omitempty"`
- IcmpType int `json:"icmpType,omitempty"`
- PortRangeStart int `json:"portRangeStart,omitempty"`
- PortRangeEnd int `json:"portRangeEnd,omitempty"`
+ Name string `json:"name,omitempty"`
+ Protocol string `json:"protocol,omitempty"`
+ SourceMac *string `json:"sourceMac,omitempty"`
+ SourceIp *string `json:"sourceIp,omitempty"`
+ TargetIp *string `json:"targetIp,omitempty"`
+ IcmpCode *int `json:"icmpCode,omitempty"`
+ IcmpType *int `json:"icmpType,omitempty"`
+ PortRangeStart *int `json:"portRangeStart,omitempty"`
+ PortRangeEnd *int `json:"portRangeEnd,omitempty"`
}
type FirewallRules struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/image.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/image.go
index 95ec9e25..fa2ba214 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/image.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/image.go
@@ -6,14 +6,14 @@ import (
)
type Image struct {
- Id string `json:"id,omitempty"`
- Type string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties ImageProperties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties ImageProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type ImageProperties struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/ipblock.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/ipblock.go
index 1b78262b..e6be130e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/ipblock.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/ipblock.go
@@ -7,17 +7,18 @@ import (
)
type IpBlock struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties IpBlockProperties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties IpBlockProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type IpBlockProperties struct {
+ Name string `json:"name,omitempty"`
Ips []string `json:"ips,omitempty"`
Location string `json:"location,omitempty"`
Size int `json:"size,omitempty"`
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/lan.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/lan.go
index 2b7f85ed..e855d80d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/lan.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/lan.go
@@ -6,27 +6,50 @@ import (
"net/http"
)
-type Lan struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties LanProperties `json:"properties,omitempty"`
- Entities *LanEntities `json:"entities,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+type CreateLanRequest struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties CreateLanProperties `json:"properties,omitempty"`
+ Entities *LanEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
-type LanProperties struct {
+type CreateLanProperties struct {
Name string `json:"name,omitempty"`
Public bool `json:"public,omitempty"`
}
+type Lan struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties LanProperties `json:"properties,omitempty"`
+ Entities *LanEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type LanProperties struct {
+ Name string `json:"name,omitempty"`
+ Public bool `json:"public,omitempty"`
+ IpFailover []IpFailover `json:"ipFailover"`
+}
+
type LanEntities struct {
Nics *LanNics `json:"nics,omitempty"`
}
+type IpFailover struct {
+ NicUuid string `json:"nicUuid,omitempty"`
+ Ip string `json:"ip,omitempty"`
+}
+
type LanNics struct {
Id string `json:"id,omitempty"`
Type_ string `json:"type,omitempty"`
@@ -55,7 +78,7 @@ func ListLans(dcid string) Lans {
// CreateLan creates a lan in the datacenter
// from a jason []byte and returns a Instance struct
-func CreateLan(dcid string, request Lan) Lan {
+func CreateLan(dcid string, request CreateLanRequest) Lan {
obj, _ := json.Marshal(request)
path := lan_col_path(dcid)
url := mk_url(path)
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/loadbalancer.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/loadbalancer.go
index 2a5b3389..8d2f71ba 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/loadbalancer.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/loadbalancer.go
@@ -7,15 +7,15 @@ import (
)
type Loadbalancer struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties LoadbalancerProperties `json:"properties,omitempty"`
- Entities LoadbalancerEntities `json:"entities,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties LoadbalancerProperties `json:"properties,omitempty"`
+ Entities LoadbalancerEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type LoadbalancerProperties struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/location.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/location.go
index 27942946..c62f6e7c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/location.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/location.go
@@ -6,14 +6,14 @@ import (
)
type Location struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties Properties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata Metadata `json:"metadata,omitempty"`
+ Properties LocationProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type Locations struct {
@@ -26,8 +26,10 @@ type Locations struct {
StatusCode int `json:"headers,omitempty"`
}
-type Properties struct {
- Name string `json:"name,omitempty"`
+type LocationProperties struct {
+ Name string `json:"name,omitempty"`
+ Features []string `json:"features,omitempty"`
+ ImageAliases []string `json:"imageAliases,omitempty"`
}
// ListLocations returns location collection data
@@ -38,6 +40,14 @@ func ListLocations() Locations {
return toLocations(do(req))
}
+// GetRegionalLocations returns a list of available locations in a specific region
+func GetRegionalLocations(regid string) Locations {
+ url := mk_url(location_reg_path(regid)) + `?depth=` + Depth
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toLocations(do(req))
+}
+
// GetLocation returns location data
func GetLocation(locid string) Location {
url := mk_url(location_path(locid)) + `?depth=` + Depth
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/nic.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/nic.go
index 74764f56..3c0a0225 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/nic.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/nic.go
@@ -7,24 +7,25 @@ import (
)
type Nic struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties NicProperties `json:"properties,omitempty"`
- Entities *NicEntities `json:"entities,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties *NicProperties `json:"properties,omitempty"`
+ Entities *NicEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type NicProperties struct {
Name string `json:"name,omitempty"`
Mac string `json:"mac,omitempty"`
Ips []string `json:"ips,omitempty"`
- Dhcp bool `json:"dhcp,omitempty"`
+ Dhcp bool `json:"dhcp"`
Lan int `json:"lan,omitempty"`
FirewallActive bool `json:"firewallActive,omitempty"`
+ Nat bool `json:"nat,omitempty"`
}
type NicEntities struct {
@@ -56,8 +57,8 @@ func ListNics(dcid, srvid string) Nics {
// CreateNic creates a nic on a server
// from a jason []byte and returns a Instance struct
-func CreateNic(dcid string, srvid string, request Nic) Nic {
- obj, _ := json.Marshal(request)
+func CreateNic(dcid string, srvid string, nic Nic) Nic {
+ obj, _ := json.Marshal(nic)
path := nic_col_path(dcid, srvid)
url := mk_url(path) + `?depth=` + Depth
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(obj))
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/paths.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/paths.go
index 3b3c7f50..f85f793a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/paths.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/paths.go
@@ -45,19 +45,9 @@ func location_path(locid string) string {
return location_col_path() + slash(locid)
}
-// request_col_path returns the string "/requests"
-func request_col_path() string {
- return slash("requests")
-}
-
-// request_path returns the string "/requests/<requestid>"
-func request_path(requestid string) string {
- return request_col_path() + slash(requestid)
-}
-
-// request_status_path returns the string "/requests<requestid>/status"
-func request_status_path(requestid string) string {
- return request_path(requestid) + slash("status")
+// location_path returns the string "/locations/<regid>"
+func location_reg_path(regid string) string {
+ return location_col_path() + slash(regid)
}
// snapshot_col_path returns the string "/snapshots"
@@ -65,11 +55,6 @@ func snapshot_col_path() string {
return slash("snapshots")
}
-// snapshot_path returns the string "/snapshots/<snapid>"
-func snapshot_path(snapid string) string {
- return snapshot_col_path() + slash(snapid)
-}
-
// lan_col_path returns the string "/datacenters/<dcid>/lans"
func lan_col_path(dcid string) string {
return dc_path(dcid) + slash("lans")
@@ -115,12 +100,6 @@ func volume_path(dcid, volid string) string {
return volume_col_path(dcid) + slash(volid)
}
-// lan_nic_col_path returns the string /datacenters/<dcid>/lans/<lanid>/nics
-func lan_nic_col(dcid, lanid string) string {
- return lan_path(dcid, lanid) + slash("nics")
-
-}
-
// balnic_col_path returns the string "/loadbalancers/<lbalid>/balancednics"
func balnic_col_path(dcid, lbalid string) string {
return lbal_path(dcid, lbalid) + slash("balancednics")
@@ -171,3 +150,67 @@ func fwrule_col_path(dcid, srvid, nicid string) string {
func fwrule_path(dcid, srvid, nicid, fwruleid string) string {
return fwrule_col_path(dcid, srvid, nicid) + slash(fwruleid)
}
+
+// contract_resource_path returns the string "/contracts"
+func contract_resource_path() string {
+ return slash("contracts")
+}
+
+func um() string {
+ return slash("um")
+}
+
+// um_groups returns the string "/groups"
+func um_groups() string {
+ return um() + slash("groups")
+}
+
+// um_group_path returns the string "/groups/groupid"
+func um_group_path(grpid string) string {
+ return um_groups() + slash(grpid)
+}
+
+// um_group_shares returns the string "groups/{groupId}/shares"
+func um_group_shares(grpid string) string {
+ return um() + slash("groups") + slash(grpid) + slash("shares")
+}
+
+// um_group_share_path returns the string "groups/{groupId}/shares/{resourceId}"
+func um_group_share_path(grpid string, resourceid string) string {
+ return um() + slash("groups") + slash(grpid) + slash("shares") + slash(resourceid)
+}
+
+// um_group_users returns the string "/groups/groupid/users"
+func um_group_users(grpid string) string {
+ return um() + slash("groups") + slash(grpid) + slash("users")
+}
+
+// um_group_users_path returns the string "/groups/groupid/users/userid"
+func um_group_users_path(grpid string, usrid string) string {
+ return um() + slash("groups") + slash(grpid) + slash("users") + slash(usrid)
+}
+
+// um_users returns the string "/users"
+func um_users() string {
+ return um() + slash("users")
+}
+
+// um_users returns the string "/users/usrid"
+func um_users_path(usrid string) string {
+ return um() + slash("users") + slash(usrid)
+}
+
+// um_resources returns the string "/resources"
+func um_resources() string {
+ return um() + slash("resources")
+}
+
+// um_resources_type returns the string "/resources/resourceType"
+func um_resources_type(restype string) string {
+ return um() + slash("resources") + slash(restype)
+}
+
+// um_resources_type_path returns the string "resources/{resourceType}/{resourceId}"
+func um_resources_type_path(restype string, resourceid string) string {
+ return um() + slash("resources") + slash(restype) + slash(resourceid)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/req.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/req.go
index b5f21c17..893b23ca 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/req.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/req.go
@@ -9,15 +9,18 @@ import (
)
//FullHeader is the standard header to include with all http requests except is_patch and is_command
-const FullHeader = "application/vnd.profitbricks.resource+json"
+const FullHeader = "application/json"
+
+var AgentHeader = "profitbricks-sdk-go/3.0.1"
//PatchHeader is used with is_patch .
-const PatchHeader = "application/vnd.profitbricks.partial-properties+json"
+const PatchHeader = "application/json"
//CommandHeader is used with is_command
const CommandHeader = "application/x-www-form-urlencoded"
var Depth = "5"
+var Pretty = true
// SetDepth is used to set Depth
func SetDepth(newdepth string) string {
@@ -25,6 +28,12 @@ func SetDepth(newdepth string) string {
return Depth
}
+// SetDepth is used to set Depth
+func SetPretty(pretty bool) bool {
+ Pretty = pretty
+ return Pretty
+}
+
// mk_url either:
// returns the path (if it`s a full url)
// or
@@ -32,7 +41,8 @@ func SetDepth(newdepth string) string {
func mk_url(path string) string {
if strings.HasPrefix(path, "http") {
//REMOVE AFTER TESTING
- path := strings.Replace(path, "https://api.profitbricks.com/rest/v2", Endpoint, 1)
+ //FIXME @jasmin Is this still relevant?
+ path := strings.Replace(path, "https://api.profitbricks.com/cloudapi/v3", Endpoint, 1)
// END REMOVE
return path
}
@@ -48,6 +58,7 @@ func mk_url(path string) string {
func do(req *http.Request) Resp {
client := &http.Client{}
req.SetBasicAuth(Username, Passwd)
+ req.Header.Add("User-Agent", AgentHeader)
resp, err := client.Do(req)
if err != nil {
panic(err)
@@ -67,6 +78,7 @@ func is_delete(path string) Resp {
url := mk_url(path)
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Content-Type", FullHeader)
+ req.Header.Add("User-Agent", AgentHeader)
return do(req)
}
@@ -76,5 +88,6 @@ func is_command(path string, jason string) Resp {
body := json.RawMessage(jason)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(body))
req.Header.Add("Content-Type", CommandHeader)
+ req.Header.Add("User-Agent", AgentHeader)
return do(req)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/request.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/request.go
index 023ae1a4..6ce284d3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/request.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/request.go
@@ -3,6 +3,7 @@ package profitbricks
import (
"encoding/json"
"net/http"
+ "time"
)
type RequestStatus struct {
@@ -26,6 +27,55 @@ type RequestTarget struct {
Status string `json:"status,omitempty"`
}
+type Requests struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []Request `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Request struct {
+ ID string `json:"id"`
+ Type string `json:"type"`
+ Href string `json:"href"`
+ Metadata struct {
+ CreatedDate time.Time `json:"createdDate"`
+ CreatedBy string `json:"createdBy"`
+ Etag string `json:"etag"`
+ RequestStatus struct {
+ ID string `json:"id"`
+ Type string `json:"type"`
+ Href string `json:"href"`
+ } `json:"requestStatus"`
+ } `json:"metadata"`
+ Properties struct {
+ Method string `json:"method"`
+ Headers interface{} `json:"headers"`
+ Body interface{} `json:"body"`
+ URL string `json:"url"`
+ } `json:"properties"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+func ListRequests() Requests {
+ url := mk_url("/requests") + `?depth=` + Depth
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toRequests(do(req))
+}
+
+func GetRequest(req_id string) Request {
+ url := mk_url("/requests/"+req_id) + `?depth=` + Depth
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toRequest(do(req))
+}
+
func GetRequestStatus(path string) RequestStatus {
url := mk_url(path) + `?depth=` + Depth
req, _ := http.NewRequest("GET", url, nil)
@@ -41,3 +91,21 @@ func toRequestStatus(resp Resp) RequestStatus {
server.StatusCode = resp.StatusCode
return server
}
+
+func toRequests(resp Resp) Requests {
+ var server Requests
+ json.Unmarshal(resp.Body, &server)
+ server.Response = string(resp.Body)
+ server.Headers = &resp.Headers
+ server.StatusCode = resp.StatusCode
+ return server
+}
+
+func toRequest(resp Resp) Request {
+ var server Request
+ json.Unmarshal(resp.Body, &server)
+ server.Response = string(resp.Body)
+ server.Headers = &resp.Headers
+ server.StatusCode = resp.StatusCode
+ return server
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/resp.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/resp.go
index 12d68e0d..b0449db3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/resp.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/resp.go
@@ -15,13 +15,6 @@ func MkJson(i interface{}) string {
return string(jason)
}
-// MetaData is a map for metadata returned in a Resp.Body
-type StringMap map[string]string
-
-type StringIfaceMap map[string]interface{}
-
-type StringCollectionMap map[string]Collection
-
// Resp is the struct returned by all Rest request functions
type Resp struct {
Req *http.Request
@@ -37,25 +30,3 @@ func (r *Resp) PrintHeaders() {
}
}
-
-type Id_Type_Href struct {
- Id string `json:"id"`
- Type string `json:"type"`
- Href string `json:"href"`
-}
-
-type MetaData StringIfaceMap
-
-type Instance struct {
- Id_Type_Href
- MetaData StringMap `json:"metaData,omitempty"`
- Properties StringIfaceMap `json:"properties,omitempty"`
- Entities StringCollectionMap `json:"entities,omitempty"`
- Resp Resp `json:"-"`
-}
-
-type Collection struct {
- Id_Type_Href
- Items []Instance `json:"items,omitempty"`
- Resp Resp `json:"-"`
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/server.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/server.go
index 256d5798..d876a0ef 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/server.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/server.go
@@ -3,20 +3,19 @@ package profitbricks
import (
"bytes"
"encoding/json"
- "fmt"
"net/http"
)
type Server struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties ServerProperties `json:"properties,omitempty"`
- Entities *ServerEntities `json:"entities,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties ServerProperties `json:"properties,omitempty"`
+ Entities *ServerEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type ServerProperties struct {
@@ -81,7 +80,6 @@ func GetServer(dcid, srvid string) Server {
path := server_path(dcid, srvid)
url := mk_url(path) + `?depth=` + Depth
req, _ := http.NewRequest("GET", url, nil)
- fmt.Println(path)
req.Header.Add("Content-Type", FullHeader)
return toServer(do(req))
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/snapshot.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/snapshot.go
index a5f54c04..225414be 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/snapshot.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/snapshot.go
@@ -7,14 +7,14 @@ import (
)
type Snapshot struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties SnapshotProperties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata Metadata `json:"metadata,omitempty"`
+ Properties SnapshotProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type SnapshotProperties struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/test_helpers.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/test_helpers.go
index 35df1f92..c3a26137 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/test_helpers.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/test_helpers.go
@@ -2,9 +2,48 @@ package profitbricks
import (
"fmt"
+ "os"
+ "strings"
"time"
)
+func mkVolume(dcID string) string {
+
+ var request = Volume{
+ Properties: VolumeProperties{
+ Size: 2,
+ Name: "Volume Test",
+ Type: "HDD",
+ ImagePassword: "test1234",
+ ImageAlias: "ubuntu:latest",
+ },
+ }
+
+ resp := CreateVolume(dcID, request)
+ waitTillProvisioned(resp.Headers.Get("Location"))
+ return resp.Id
+}
+
+func mkipid(name string) string {
+ var obj = IpBlock{
+ Properties: IpBlockProperties{
+ Name: "GO SDK Test",
+ Size: 1,
+ Location: "us/las",
+ },
+ }
+
+ resp := ReserveIpBlock(obj)
+ return resp.Id
+}
+
+func mksnapshotId(name string, dcId string) string {
+ svolumeId := mkVolume(dcId)
+ resp := CreateSnapshot(dcId, svolumeId, name, "description")
+ waitTillProvisioned(resp.Headers.Get("Location"))
+ return resp.Id
+}
+
func mkdcid(name string) string {
request := Datacenter{
Properties: DatacenterProperties{
@@ -14,11 +53,6 @@ func mkdcid(name string) string {
},
}
dc := CreateDatacenter(request)
- fmt.Println("===========================")
- fmt.Println("Created a DC " + name)
- fmt.Println("Created a DC id " + dc.Id)
- fmt.Println(dc.StatusCode)
- fmt.Println("===========================")
return dc.Id
}
@@ -31,42 +65,82 @@ func mksrvid(srv_dcid string) string {
},
}
srv := CreateServer(srv_dcid, req)
- fmt.Println("===========================")
- fmt.Println("Created a server " + srv.Id)
- fmt.Println(srv.StatusCode)
- fmt.Println("===========================")
-
waitTillProvisioned(srv.Headers.Get("Location"))
return srv.Id
}
func mknic(lbal_dcid, serverid string) string {
var request = Nic{
- Properties: NicProperties{
- Name: "GO SDK Original Nic",
- Lan: 1,
+ Properties: &NicProperties{
+ Lan: 1,
+ Name: "GO SDK Test",
+ Nat: false,
+ Dhcp: true,
+ FirewallActive: true,
+ Ips: []string{"10.0.0.1"},
},
}
resp := CreateNic(lbal_dcid, serverid, request)
- fmt.Println("===========================")
- fmt.Println("created a nic at server " + serverid)
+ waitTillProvisioned(resp.Headers.Get("Location"))
+ return resp.Id
+}
- fmt.Println("created a nic with id " + resp.Id)
- fmt.Println(resp.StatusCode)
- fmt.Println("===========================")
+func mknic_custom(lbal_dcid, serverid string, lanid int, ips []string) string {
+ var request = Nic{
+ Properties: &NicProperties{
+ Lan: lanid,
+ Name: "GO SDK Test",
+ Nat: false,
+ Dhcp: true,
+ FirewallActive: true,
+ Ips: ips,
+ },
+ }
+
+ resp := CreateNic(lbal_dcid, serverid, request)
+ waitTillProvisioned(resp.Headers.Get("Location"))
return resp.Id
}
func waitTillProvisioned(path string) {
- waitCount := 20
- fmt.Println(path)
+ waitCount := 120
for i := 0; i < waitCount; i++ {
request := GetRequestStatus(path)
if request.Metadata.Status == "DONE" {
break
}
- time.Sleep(10 * time.Second)
+ time.Sleep(1 * time.Second)
i++
}
}
+
+func getImageId(location string, imageName string, imageType string) string {
+ if imageName == "" {
+ return ""
+ }
+
+ SetAuth(os.Getenv("PROFITBRICKS_USERNAME"), os.Getenv("PROFITBRICKS_PASSWORD"))
+
+ images := ListImages()
+ if images.StatusCode > 299 {
+ fmt.Printf("Error while fetching the list of images %s", images.Response)
+ }
+
+ if len(images.Items) > 0 {
+ for _, i := range images.Items {
+ imgName := ""
+ if i.Properties.Name != "" {
+ imgName = i.Properties.Name
+ }
+
+ if imageType == "SSD" {
+ imageType = "HDD"
+ }
+ if imgName != "" && strings.Contains(strings.ToLower(imgName), strings.ToLower(imageName)) && i.Properties.ImageType == imageType && i.Properties.Location == location && i.Properties.Public == true {
+ return i.Id
+ }
+ }
+ }
+ return ""
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/usermanagment.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/usermanagment.go
new file mode 100644
index 00000000..fe7ef9b7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/usermanagment.go
@@ -0,0 +1,402 @@
+package profitbricks
+
+import (
+ "bytes"
+ "encoding/json"
+ "net/http"
+ "strconv"
+)
+
+type Groups struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []Group `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Group struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Properties GroupProperties `json:"properties,omitempty"`
+ Entities *GroupEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type GroupProperties struct {
+ Name string `json:"name,omitempty"`
+ CreateDataCenter *bool `json:"createDataCenter,omitempty"`
+ CreateSnapshot *bool `json:"createSnapshot,omitempty"`
+ ReserveIp *bool `json:"reserveIp,omitempty"`
+ AccessActivityLog *bool `json:"accessActivityLog,omitempty"`
+}
+
+type GroupEntities struct {
+ Users Users `json:"users,omitempty"`
+ Resources Resources `json:"resources,omitempty"`
+}
+
+type Users struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []User `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type User struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties *UserProperties `json:"properties,omitempty"`
+ Entities *UserEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type UserProperties struct {
+ Firstname string `json:"firstname,omitempty"`
+ Lastname string `json:"lastname,omitempty"`
+ Email string `json:"email,omitempty"`
+ Password string `json:"password,omitempty"`
+ Administrator bool `json:"administrator,omitempty"`
+ ForceSecAuth bool `json:"forceSecAuth,omitempty"`
+ SecAuthActive bool `json:"secAuthActive,omitempty"`
+}
+
+type UserEntities struct {
+ Groups Groups `json:"groups,omitempty"`
+ Owns Owns `json:"owns,omitempty"`
+}
+
+type Resources struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []Resource `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Resource struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Entities *ResourceEntities `json:"entities,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type ResourceEntities struct {
+ Groups Groups `json:"groups,omitempty"`
+}
+
+type Owns struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []Entity `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Entity struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Shares struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Items []Share `json:"items,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type Share struct {
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Properties ShareProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
+}
+
+type ShareProperties struct {
+ EditPrivilege *bool `json:"editPrivilege,omitempty"`
+ SharePrivilege *bool `json:"sharePrivilege,omitempty"`
+}
+
+//Group fucntions
+func ListGroups() Groups {
+ path := um_groups()
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toGroups(resp)
+}
+
+func GetGroup(groupid string) Group {
+ path := um_group_path(groupid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toGroup(do(req))
+}
+
+func CreateGroup(grp Group) Group {
+ obj, _ := json.Marshal(grp)
+ path := um_groups()
+ url := mk_url(path)
+ req, _ := http.NewRequest("POST", url, bytes.NewBuffer(obj))
+ req.Header.Add("Content-Type", FullHeader)
+
+ return toGroup(do(req))
+}
+
+func UpdateGroup(groupid string, obj Group) Group {
+ jason_patch := []byte(MkJson(obj))
+ path := um_group_path(groupid)
+ url := mk_url(path) + `?depth=` + Depth
+ req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jason_patch))
+ req.Header.Add("Content-Type", PatchHeader)
+ return toGroup(do(req))
+}
+
+func DeleteGroup(groupid string) Resp {
+ path := um_group_path(groupid)
+ return is_delete(path)
+}
+
+func toGroup(resp Resp) Group {
+ var grp Group
+ json.Unmarshal(resp.Body, &grp)
+ grp.Response = string(resp.Body)
+ grp.Headers = &resp.Headers
+ grp.StatusCode = resp.StatusCode
+ return grp
+}
+
+func toGroups(resp Resp) Groups {
+ var col Groups
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
+
+//Shares functions
+func ListShares(grpid string) Shares {
+ path := um_group_shares(grpid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toShares(resp)
+}
+
+func GetShare(groupid string, resourceid string) Share {
+ path := um_group_share_path(groupid, resourceid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toShare(do(req))
+}
+
+func AddShare(share Share, groupid string, resourceid string) Share {
+ obj, _ := json.Marshal(share)
+ path := um_group_share_path(groupid, resourceid)
+ url := mk_url(path)
+ req, _ := http.NewRequest("POST", url, bytes.NewBuffer(obj))
+ req.Header.Add("Content-Type", FullHeader)
+
+ return toShare(do(req))
+}
+
+func UpdateShare(groupid string, resourceid string, obj Share) Share {
+ jason_patch := []byte(MkJson(obj))
+ path := um_group_share_path(groupid, resourceid)
+ url := mk_url(path) + `?depth=` + Depth
+ req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jason_patch))
+ req.Header.Add("Content-Type", PatchHeader)
+ return toShare(do(req))
+}
+
+func DeleteShare(groupid string, resourceid string) Resp {
+ path := um_group_share_path(groupid, resourceid)
+ return is_delete(path)
+}
+
+func toShare(resp Resp) Share {
+ var shr Share
+ json.Unmarshal(resp.Body, &shr)
+ shr.Response = string(resp.Body)
+ shr.Headers = &resp.Headers
+ shr.StatusCode = resp.StatusCode
+ return shr
+}
+
+func toShares(resp Resp) Shares {
+ var col Shares
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
+
+//Users in a group
+func ListGroupUsers(groupid string) Users {
+ path := um_group_users(groupid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toUsers(resp)
+}
+
+func AddUserToGroup(groupid string, userid string) User {
+ var usr User
+ usr.Id = userid
+ obj, _ := json.Marshal(usr)
+ path := um_group_users(groupid)
+ url := mk_url(path)
+ req, _ := http.NewRequest("POST", url, bytes.NewBuffer(obj))
+ req.Header.Add("Content-Type", FullHeader)
+
+ return toUser(do(req))
+}
+
+func DeleteUserFromGroup(groupid string, userid string) Resp {
+ path := um_group_users_path(groupid, userid)
+ return is_delete(path)
+}
+
+func toUser(resp Resp) User {
+ var usr User
+ json.Unmarshal(resp.Body, &usr)
+ usr.Response = string(resp.Body)
+ usr.Headers = &resp.Headers
+ usr.StatusCode = resp.StatusCode
+ return usr
+}
+
+func toUsers(resp Resp) Users {
+ var col Users
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
+
+//Users
+func ListUsers() Users {
+ path := um_users()
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toUsers(resp)
+}
+
+func GetUser(usrid string) User {
+ path := um_users_path(usrid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ return toUser(do(req))
+}
+
+func CreateUser(usr User) User {
+ obj, _ := json.Marshal(usr)
+ path := um_users()
+ url := mk_url(path)
+ req, _ := http.NewRequest("POST", url, bytes.NewBuffer(obj))
+ req.Header.Add("Content-Type", FullHeader)
+
+ return toUser(do(req))
+}
+
+func UpdateUser(userid string, obj User) User {
+ jason_patch := []byte(MkJson(obj))
+ path := um_users_path(userid)
+ url := mk_url(path)
+ req, _ := http.NewRequest("PUT", url, bytes.NewBuffer(jason_patch))
+ req.Header.Add("Content-Type", PatchHeader)
+ return toUser(do(req))
+}
+
+func DeleteUser(groupid string) Resp {
+ path := um_users_path(groupid)
+ return is_delete(path)
+}
+
+//Resources
+func ListResources() Resources {
+ path := um_resources()
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toResources(resp)
+}
+
+func GetResourceByType(resourcetype string, resourceid string) Resource {
+ path := um_resources_type_path(resourcetype, resourceid)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toResource(resp)
+}
+
+func ListResourcesByType(resourcetype string) Resources {
+ path := um_resources_type(resourcetype)
+ url := mk_url(path) + `?depth=` + Depth + `&pretty=` + strconv.FormatBool(Pretty)
+ req, _ := http.NewRequest("GET", url, nil)
+ req.Header.Add("Content-Type", FullHeader)
+ resp := do(req)
+ return toResources(resp)
+}
+
+func toResources(resp Resp) Resources {
+ var col Resources
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
+
+func toResource(resp Resp) Resource {
+ var col Resource
+ json.Unmarshal(resp.Body, &col)
+ col.Response = string(resp.Body)
+ col.Headers = &resp.Headers
+ col.StatusCode = resp.StatusCode
+ return col
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/volume.go b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/volume.go
index 2982448d..ebab8c4e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/volume.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/profitbricks/profitbricks-sdk-go/volume.go
@@ -4,24 +4,27 @@ import (
"bytes"
"encoding/json"
"net/http"
+ "net/url"
)
type Volume struct {
- Id string `json:"id,omitempty"`
- Type_ string `json:"type,omitempty"`
- Href string `json:"href,omitempty"`
- Metadata *DatacenterElementMetadata `json:"metadata,omitempty"`
- Properties VolumeProperties `json:"properties,omitempty"`
- Response string `json:"Response,omitempty"`
- Headers *http.Header `json:"headers,omitempty"`
- StatusCode int `json:"headers,omitempty"`
+ Id string `json:"id,omitempty"`
+ Type_ string `json:"type,omitempty"`
+ Href string `json:"href,omitempty"`
+ Metadata *Metadata `json:"metadata,omitempty"`
+ Properties VolumeProperties `json:"properties,omitempty"`
+ Response string `json:"Response,omitempty"`
+ Headers *http.Header `json:"headers,omitempty"`
+ StatusCode int `json:"headers,omitempty"`
}
type VolumeProperties struct {
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"`
Size int `json:"size,omitempty"`
+ AvailabilityZone string `json:"availabilityZone,omitempty"`
Image string `json:"image,omitempty"`
+ ImageAlias string `json:"imageAlias,omitempty"`
ImagePassword string `json:"imagePassword,omitempty"`
SshKeys []string `json:"sshKeys,omitempty"`
Bus string `json:"bus,omitempty"`
@@ -95,12 +98,14 @@ func DeleteVolume(dcid, volid string) Resp {
return is_delete(path)
}
-func CreateSnapshot(dcid string, volid string, name string) Snapshot {
+func CreateSnapshot(dcid string, volid string, name string, description string) Snapshot {
var path = volume_path(dcid, volid)
path = path + "/create-snapshot"
- url := mk_url(path)
- body := json.RawMessage("name=" + name)
- req, _ := http.NewRequest("POST", url, bytes.NewBuffer(body))
+ req_url := mk_url(path)
+ data := url.Values{}
+ data.Set("name", name)
+ data.Add("description", description)
+ req, _ := http.NewRequest("POST", req_url, bytes.NewBufferString(data.Encode()))
req.Header.Add("Content-Type", CommandHeader)
return toSnapshot(do(req))
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/LICENSE
index 6a1fb910..488357b8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/LICENSE
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/LICENSE
@@ -1,4 +1,4 @@
-Copyright (C) 2013-2015 by Maxim Bublis <b@codemonkey.ru>
+Copyright (C) 2013-2016 by Maxim Bublis <b@codemonkey.ru>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/README.md
index 48d4937f..b6aad1c8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/README.md
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/README.md
@@ -1,6 +1,7 @@
# UUID package for Go language
[![Build Status](https://travis-ci.org/satori/go.uuid.png?branch=master)](https://travis-ci.org/satori/go.uuid)
+[![Coverage Status](https://coveralls.io/repos/github/satori/go.uuid/badge.svg?branch=master)](https://coveralls.io/github/satori/go.uuid)
[![GoDoc](http://godoc.org/github.com/satori/go.uuid?status.png)](http://godoc.org/github.com/satori/go.uuid)
This package provides pure Go implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs.
@@ -22,9 +23,7 @@ Use the `go` command:
## Requirements
-UUID package requires any stable version of Go Programming Language.
-
-It is tested against following versions of Go: 1.0-1.5
+UUID package requires Go >= 1.2.
## Example
@@ -60,7 +59,7 @@ func main() {
## Copyright
-Copyright (C) 2013-2015 by Maxim Bublis <b@codemonkey.ru>.
+Copyright (C) 2013-2016 by Maxim Bublis <b@codemonkey.ru>.
UUID package released under MIT License.
See [LICENSE](https://github.com/satori/go.uuid/blob/master/LICENSE) for details.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/uuid.go b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/uuid.go
index 03841d86..295f3fc2 100644
--- a/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/uuid.go
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/satori/go.uuid/uuid.go
@@ -127,6 +127,13 @@ func unixTimeFunc() uint64 {
// described in RFC 4122.
type UUID [16]byte
+// NullUUID can be used with the standard sql package to represent a
+// UUID value that can be NULL in the database
+type NullUUID struct {
+ UUID UUID
+ Valid bool
+}
+
// The nil UUID is special form of UUID that is specified to have all
// 128 bits set to zero.
var Nil = UUID{}
@@ -227,30 +234,48 @@ func (u UUID) MarshalText() (text []byte, err error) {
// "urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8"
func (u *UUID) UnmarshalText(text []byte) (err error) {
if len(text) < 32 {
- err = fmt.Errorf("uuid: invalid UUID string: %s", text)
+ err = fmt.Errorf("uuid: UUID string too short: %s", text)
return
}
- if bytes.Equal(text[:9], urnPrefix) {
- text = text[9:]
- } else if text[0] == '{' {
- text = text[1:]
+ t := text[:]
+ braced := false
+
+ if bytes.Equal(t[:9], urnPrefix) {
+ t = t[9:]
+ } else if t[0] == '{' {
+ braced = true
+ t = t[1:]
}
b := u[:]
- for _, byteGroup := range byteGroups {
- if text[0] == '-' {
- text = text[1:]
+ for i, byteGroup := range byteGroups {
+ if i > 0 {
+ if t[0] != '-' {
+ err = fmt.Errorf("uuid: invalid string format")
+ return
+ }
+ t = t[1:]
+ }
+
+ if len(t) < byteGroup {
+ err = fmt.Errorf("uuid: UUID string too short: %s", text)
+ return
}
- _, err = hex.Decode(b[:byteGroup/2], text[:byteGroup])
+ if i == 4 && len(t) > byteGroup &&
+ ((braced && t[byteGroup] != '}') || len(t[byteGroup:]) > 1 || !braced) {
+ err = fmt.Errorf("uuid: UUID string too long: %s", text)
+ return
+ }
+ _, err = hex.Decode(b[:byteGroup/2], t[:byteGroup])
if err != nil {
return
}
- text = text[byteGroup:]
+ t = t[byteGroup:]
b = b[byteGroup/2:]
}
@@ -298,6 +323,27 @@ func (u *UUID) Scan(src interface{}) error {
return fmt.Errorf("uuid: cannot convert %T to UUID", src)
}
+// Value implements the driver.Valuer interface.
+func (u NullUUID) Value() (driver.Value, error) {
+ if !u.Valid {
+ return nil, nil
+ }
+ // Delegate to UUID Value function
+ return u.UUID.Value()
+}
+
+// Scan implements the sql.Scanner interface.
+func (u *NullUUID) Scan(src interface{}) error {
+ if src == nil {
+ u.UUID, u.Valid = Nil, false
+ return nil
+ }
+
+ // Delegate to UUID Scan function
+ u.Valid = true
+ return u.UUID.Scan(src)
+}
+
// FromBytes returns UUID converted from raw byte slice input.
// It will return error if the slice isn't 16 bytes long.
func FromBytes(input []byte) (u UUID, err error) {
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CHANGELOG.md b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CHANGELOG.md
new file mode 100644
index 00000000..2dc436bf
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CHANGELOG.md
@@ -0,0 +1,263 @@
+# changelog
+
+### 0.15.0 (2017-06-19)
+
+* WaitOptions.MaxWaitSeconds is now optional
+
+* Support removal of ExtraConfig entries
+
+* GuestPosixFileAttributes OwnerId and GroupId fields are now pointers,
+ rather than omitempty ints to allow chown with root uid:gid
+
+* Updated examples/ using view package
+
+* Add DatastoreFile.TailFunc method
+
+* Export VirtualMachine.FindSnapshot method
+
+* Add AuthorizationManager {Enable,Disable}Methods
+
+* Add PBM client
+
+### 0.14.0 (2017-04-08)
+
+* Add view.ContainerView type and methods
+
+* Add Collector.RetrieveWithFilter method
+
+* Add property.Filter type
+
+* Implement EthernetCardBackingInfo for OpaqueNetwork
+
+* Finder: support changing object root in find mode
+
+* Add VirtualDiskManager.QueryVirtualDiskInfo
+
+* Add performance.Manager APIs
+
+### 0.13.0 (2017-03-02)
+
+* Add DatastoreFileManager API wrapper
+
+* Add HostVsanInternalSystem API wrappers
+
+* Add Container support to view package
+
+* Finder supports Folder recursion without specifying a path
+
+* Add VirtualMachine.QueryConfigTarget method
+
+* Add device option to VirtualMachine.WaitForNetIP
+
+* Remove _Task suffix from vapp methods
+
+### 0.12.1 (2016-12-19)
+
+* Add DiagnosticLog helper
+
+* Add DatastorePath helper
+
+### 0.12.0 (2016-12-01)
+
+* Disable use of service ticket for datastore HTTP access by default
+
+* Attach context to HTTP requests for cancellations
+
+* Update to vim25/6.5 API
+
+### 0.11.4 (2016-11-15)
+
+* Add object.AuthorizationManager methods: RetrieveRolePermissions, RetrieveAllPermissions, AddRole, RemoveRole, UpdateRole
+
+### 0.11.3 (2016-11-08)
+
+* Allow DatastoreFile.Follow reader to drain current body after stopping
+
+### 0.11.2 (2016-11-01)
+
+* Avoid possible NPE in VirtualMachine.Device method
+
+* Add support for OpaqueNetwork type to Finder
+
+* Add HostConfigManager.AccountManager support for ESX 5.5
+
+### 0.11.1 (2016-10-27)
+
+* Add Finder.ResourcePoolListAll method
+
+### 0.11.0 (2016-10-25)
+
+* Add object.DistributedVirtualPortgroup.Reconfigure method
+
+### 0.10.0 (2016-10-20)
+
+* Add option to set soap.Client.UserAgent
+
+* Add service ticket thumbprint validation
+
+* Update use of http.DefaultTransport fields to 1.7
+
+* Set default locale to en_US (override with GOVMOMI_LOCALE env var)
+
+* Add object.HostCertificateInfo (types.HostCertificateManagerCertificateInfo helpers)
+
+* Add object.HostCertificateManager type and HostConfigManager.CertificateManager method
+
+* Add soap.Client SetRootCAs and SetDialTLS methods
+
+### 0.9.0 (2016-09-09)
+
+* Add object.DatastoreFile helpers for streaming and tailing datastore files
+
+* Add object VirtualMachine.Unregister method
+
+* Add object.ListView methods: Add, Remove, Reset
+
+* Update to Go 1.7 - using stdlib's context package
+
+### 0.8.0 (2016-06-30)
+
+* Add session.Manager.AcquireLocalTicket
+
+* Include StoragePod in Finder.FolderList
+
+* Add Finder methods for finding by ManagedObjectReference: Element, ObjectReference
+
+* Add mo.ManagedObjectReference methods: Reference, String, FromString
+
+* Add support using SessionManagerGenericServiceTicket.HostName for Datastore HTTP access
+
+### 0.7.1 (2016-06-03)
+
+* Fix object.ObjectName method
+
+### 0.7.0 (2016-06-02)
+
+* Move InventoryPath field to object.Common
+
+* Add HostDatastoreSystem.CreateLocalDatastore method
+
+* Add DatastoreNamespaceManager methods: CreateDirectory, DeleteDirectory
+
+* Add HostServiceSystem
+
+* Add HostStorageSystem methods: MarkAsSdd, MarkAsNonSdd, MarkAsLocal, MarkAsNonLocal
+
+* Add HostStorageSystem.RescanAllHba method
+
+### 0.6.2 (2016-05-11)
+
+* Get complete file details in Datastore.Stat
+
+* SOAP decoding fixes
+
+* Add VirtualMachine.RemoveAllSnapshot
+
+### 0.6.1 (2016-04-30)
+
+* Fix mo.Entity interface
+
+### 0.6.0 (2016-04-29)
+
+* Add Common.Rename method
+
+* Add mo.Entity interface
+
+* Add OptionManager
+
+* Add Finder.FolderList method
+
+* Add VirtualMachine.WaitForNetIP method
+
+* Add VirtualMachine.RevertToSnapshot method
+
+* Add Datastore.Download method
+
+### 0.5.0 (2016-03-30)
+
+Generated fields using xsd type 'int' change to Go type 'int32'
+
+VirtualDevice.UnitNumber field changed to pointer type
+
+### 0.4.0 (2016-02-26)
+
+* Add method to convert virtual device list to array with virtual device
+ changes that can be used in the VirtualMachineConfigSpec.
+
+* Make datastore cluster traversable in lister
+
+* Add finder.DatastoreCluster methods (also known as storage pods)
+
+* Add Drone CI check
+
+* Add object.Datastore Type and AttachedClusterHosts methods
+
+* Add finder.*OrDefault methods
+
+### 0.3.0 (2016-01-16)
+
+* Add object.VirtualNicManager wrapper
+
+* Add object.HostVsanSystem wrapper
+
+* Add object.HostSystem methods: EnterMaintenanceMode, ExitMaintenanceMode, Disconnect, Reconnect
+
+* Add finder.Folder method
+
+* Add object.Common.Destroy method
+
+* Add object.ComputeResource.Reconfigure method
+
+* Add license.AssignmentManager wrapper
+
+* Add object.HostFirewallSystem wrapper
+
+* Add object.DiagnosticManager wrapper
+
+* Add LoginExtensionByCertificate support
+
+* Add object.ExtensionManager
+
+...
+
+### 0.2.0 (2015-09-15)
+
+* Update to vim25/6.0 API
+
+* Stop returning children from `ManagedObjectList`
+
+ Change the `ManagedObjectList` function in the `find` package to only
+ return the managed objects specified by the path argument and not their
+ children. The original behavior was used by govc's `ls` command and is
+ now available in the newly added function `ManagedObjectListChildren`.
+
+* Add retry functionality to vim25 package
+
+* Change finder functions to no longer take varargs
+
+ The `find` package had functions to return a list of objects, given a
+ variable number of patterns. This makes it impossible to distinguish which
+ patterns produced results and which ones didn't.
+
+ In particular for govc, where multiple arguments can be passed from the
+ command line, it is useful to let the user know which ones produce results
+ and which ones don't.
+
+ To evaluate multiple patterns, the user should call the find functions
+ multiple times (either serially or in parallel).
+
+* Make optional boolean fields pointers (`vim25/types`).
+
+ False is the zero value of a boolean field, which means they are not serialized
+ if the field is marked "omitempty". If the field is a pointer instead, the zero
+ value will be the nil pointer, and both true and false values are serialized.
+
+### 0.1.0 (2015-03-17)
+
+Prior to this version the API of this library was in flux.
+
+Notable changes w.r.t. the state of this library before March 2015 are:
+
+* All functions that may execute a request take a `context.Context` parameter.
+* The `vim25` package contains a minimal client implementation.
+* The property collector and its convenience functions live in the `property` package.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTING.md b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTING.md
new file mode 100644
index 00000000..f6645cbf
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTING.md
@@ -0,0 +1,101 @@
+# Contributing to govmomi
+
+## Getting started
+
+First, fork the repository on GitHub to your personal account.
+
+Note that _GOPATH_ can be any directory, the example below uses _$HOME/govmomi_.
+Change _$USER_ below to your github username if they are not the same.
+
+``` shell
+export GOPATH=$HOME/govmomi
+go get github.com/vmware/govmomi
+cd $GOPATH/src/github.com/vmware/govmomi
+git config push.default nothing # anything to avoid pushing to vmware/govmomi by default
+git remote rename origin vmware
+git remote add $USER git@github.com:$USER/govmomi.git
+git fetch $USER
+```
+
+## Installing from source
+
+Compile the govmomi libraries and install govc using:
+
+``` shell
+go install -v github.com/vmware/govmomi/govc
+```
+
+Note that **govc/build.sh** is only used for building release binaries.
+
+## Contribution flow
+
+This is a rough outline of what a contributor's workflow looks like:
+
+- Create a topic branch from where you want to base your work.
+- Make commits of logical units.
+- Make sure your commit messages are in the proper format (see below).
+- Update CHANGELOG.md and/or govc/CHANGELOG.md when appropriate.
+- Push your changes to a topic branch in your fork of the repository.
+- Submit a pull request to vmware/govmomi.
+
+Example:
+
+``` shell
+git checkout -b my-new-feature vmware/master
+git commit -a
+git push $USER my-new-feature
+```
+
+### Stay in sync with upstream
+
+When your branch gets out of sync with the vmware/master branch, use the following to update:
+
+``` shell
+git checkout my-new-feature
+git fetch -a
+git rebase vmware/master
+git push --force-with-lease $USER my-new-feature
+```
+
+### Updating pull requests
+
+If your PR fails to pass CI or needs changes based on code review, you'll most likely want to squash these changes into
+existing commits.
+
+If your pull request contains a single commit or your changes are related to the most recent commit, you can simply
+amend the commit.
+
+``` shell
+git add .
+git commit --amend
+git push --force-with-lease $USER my-new-feature
+```
+
+If you need to squash changes into an earlier commit, you can use:
+
+``` shell
+git add .
+git commit --fixup <commit>
+git rebase -i --autosquash vmware/master
+git push --force-with-lease $USER my-new-feature
+```
+
+Be sure to add a comment to the PR indicating your new changes are ready to review, as github does not generate a
+notification when you git push.
+
+### Code style
+
+The coding style suggested by the Golang community is used in govmomi. See the
+[style doc](https://github.com/golang/go/wiki/CodeReviewComments) for details.
+
+Try to limit column width to 120 characters for both code and markdown documents such as this one.
+
+### Format of the Commit Message
+
+We follow the conventions on [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/).
+
+Be sure to include any related GitHub issue references in the commit message.
+
+## Reporting Bugs and Creating Issues
+
+When opening a new issue, try to roughly follow the commit message format conventions above.
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTORS b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTORS
new file mode 100644
index 00000000..22630d95
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/CONTRIBUTORS
@@ -0,0 +1,61 @@
+# People who can (and typically have) contributed to this repository.
+#
+# This script is generated by contributors.sh
+#
+
+abrarshivani <abrarshivani@users.noreply.github.com>
+Alvaro Miranda <kikitux@gmail.com>
+amandahla <amanda.andrade@serpro.gov.br>
+Amit Bathla <abathla@.vmware.com>
+Andrew Chin <andrew@andrewtchin.com>
+aniketGslab <aniket.shinde@gslab.com>
+Arran Walker <arran.walker@zopa.com>
+Aryeh Weinreb <aryehweinreb@gmail.com>
+Austin Parker <aparker@apprenda.com>
+Balu Dontu <bdontu@vmware.com>
+bastienbc <bastien.barbe.creuly@gmail.com>
+Bob Killen <killen.bob@gmail.com>
+Brad Fitzpatrick <bradfitz@golang.org>
+Bruce Downs <bruceadowns@gmail.com>
+Cédric Blomart <cblomart@gmail.com>
+Christian Höltje <docwhat@gerf.org>
+Clint Greenwood <cgreenwood@vmware.com>
+Danny Lockard <danny.lockard@banno.com>
+Dave Tucker <dave@dtucker.co.uk>
+Davide Agnello <dagnello@hp.com>
+David Stark <dave@davidstark.name>
+Doug MacEachern <dougm@vmware.com>
+Eloy Coto <eloy.coto@gmail.com>
+Eric Gray <egray@vmware.com>
+Eric Yutao <eric.yutao@gmail.com>
+Fabio Rapposelli <fabio@vmware.com>
+Faiyaz Ahmed <ahmedf@vmware.com>
+forkbomber <forkbomber@users.noreply.github.com>
+Gavin Gray <gavin@infinio.com>
+Gavrie Philipson <gavrie.philipson@elastifile.com>
+George Hicken <ghicken@vmware.com>
+Gerrit Renker <Gerrit.Renker@ctl.io>
+gthombare <gthombare@vmware.com>
+Hasan Mahmood <mahmoodh@vmware.com>
+Henrik Hodne <henrik@travis-ci.com>
+Isaac Rodman <isaac@eyz.us>
+Ivan Porto Carrero <icarrero@vmware.com>
+Jason Kincl <jkincl@gmail.com>
+Jeremy Canady <jcanady@jackhenry.com>
+Louie Jiang <jiangl@vmware.com>
+Marc Carmier <mcarmier@gmail.com>
+Mevan Samaratunga <mevansam@gmail.com>
+Nicolas Lamirault <nicolas.lamirault@gmail.com>
+Pieter Noordhuis <pnoordhuis@vmware.com>
+runner.mei <runner.mei@gmail.com>
+S.Çağlar Onur <conur@vmware.com>
+Sergey Ignatov <sergey.ignatov@jetbrains.com>
+Steve Purcell <steve@sanityinc.com>
+Takaaki Furukawa <takaaki.frkw@gmail.com>
+Ted Zlatanov <tzz@lifelogs.com>
+Thibaut Ackermann <thibaut.ackermann@alcatel-lucent.com>
+Vadim Egorov <vegorov@vmware.com>
+Yang Yang <yangy@vmware.com>
+Yuya Kusakabe <yuya.kusakabe@gmail.com>
+Zach Tucker <ztucker@vmware.com>
+Zee Yang <zeey@vmware.com>
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/LICENSE.txt b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/LICENSE.txt
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/LICENSE.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 [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/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/Makefile b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/Makefile
new file mode 100644
index 00000000..9ffd5751
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/Makefile
@@ -0,0 +1,24 @@
+.PHONY: test
+
+all: check test
+
+check: goimports govet
+
+goimports:
+ @echo checking go imports...
+ @go get golang.org/x/tools/cmd/goimports
+ @! goimports -d . 2>&1 | egrep -v '^$$'
+
+govet:
+ @echo checking go vet...
+ @go tool vet -structtags=false -methods=false $$(find . -mindepth 1 -maxdepth 1 -type d -not -name vendor)
+
+test:
+ go test -v $(TEST_OPTS) ./...
+
+install:
+ go install -v github.com/vmware/govmomi/govc
+ go install -v github.com/vmware/govmomi/vcsim
+
+doc: install
+ ./govc/usage.sh > ./govc/USAGE.md
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/README.md b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/README.md
new file mode 100644
index 00000000..b5978ddb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/README.md
@@ -0,0 +1,78 @@
+[![Build Status](https://travis-ci.org/vmware/govmomi.png?branch=master)](https://travis-ci.org/vmware/govmomi)
+[![Go Report Card](https://goreportcard.com/badge/github.com/vmware/govmomi)](https://goreportcard.com/report/github.com/vmware/govmomi)
+
+# govmomi
+
+A Go library for interacting with VMware vSphere APIs (ESXi and/or vCenter).
+
+For `govc`, a CLI built on top of govmomi, check out the [govc](./govc) directory and [USAGE](./govc/USAGE.md) document.
+
+## Compatibility
+
+This library is built for and tested against ESXi and vCenter 5.5, 6.0 and 6.5.
+
+If you're able to use it against older versions of ESXi and/or vCenter, please
+leave a note and we'll include it in this compatibility list.
+
+## Documentation
+
+The APIs exposed by this library very closely follow the API described in the [VMware vSphere API Reference Documentation][apiref].
+Refer to this document to become familiar with the upstream API.
+
+The code in the `govmomi` package is a wrapper for the code that is generated from the vSphere API description.
+It primarily provides convenience functions for working with the vSphere API.
+See [godoc.org][godoc] for documentation.
+
+[apiref]:http://pubs.vmware.com/vsphere-6-5/index.jsp#com.vmware.wssdk.apiref.doc/right-pane.html
+[godoc]:http://godoc.org/github.com/vmware/govmomi
+[drone]:https://drone.io
+[dronesrc]:https://github.com/drone/drone
+[dronecli]:http://readme.drone.io/devs/cli/
+
+#### Building with CI
+Merges to this repository will trigger builds in both Travis and [Drone][drone].
+
+To build locally with Drone:
+- Ensure that you have Docker 1.6 or higher installed.
+- Install the [Drone command line tools][dronecli].
+- Run `drone exec` from within the root directory of the govmomi repository.
+
+## Discussion
+
+Contributors and users are encouraged to collaborate using GitHub issues and/or
+[Slack](https://vmwarecode.slack.com/messages/govmomi).
+Access to Slack requires a [VMware {code} membership](https://code.vmware.com/join/).
+
+## Status
+
+Changes to the API are subject to [semantic versioning](http://semver.org).
+
+Refer to the [CHANGELOG](CHANGELOG.md) for version to version changes.
+
+## Projects using govmomi
+
+* [Docker Machine](https://github.com/docker/machine/tree/master/drivers/vmwarevsphere)
+
+* [Kubernetes](https://github.com/kubernetes/kubernetes/tree/master/pkg/cloudprovider/providers/vsphere)
+
+* [Terraform](https://github.com/hashicorp/terraform/tree/master/builtin/providers/vsphere)
+
+* [VMware VIC Engine](https://github.com/vmware/vic)
+
+* [Travis CI](https://github.com/travis-ci/jupiter-brain)
+
+* [collectd-vsphere](https://github.com/travis-ci/collectd-vsphere)
+
+* [Gru](https://github.com/dnaeon/gru)
+
+* [Libretto](https://github.com/apcera/libretto/tree/master/virtualmachine/vsphere)
+
+## Related projects
+
+* [rbvmomi](https://github.com/vmware/rbvmomi)
+
+* [pyvmomi](https://github.com/vmware/pyvmomi)
+
+## License
+
+govmomi is available under the [Apache 2 license](LICENSE).
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/client.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/client.go
new file mode 100644
index 00000000..e3dc7976
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/client.go
@@ -0,0 +1,167 @@
+/*
+Copyright (c) 2014-2016 VMware, Inc. All Rights Reserved.
+
+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 package is the root package of the govmomi library.
+
+The library is structured as follows:
+
+Package vim25
+
+The minimal usable functionality is available through the vim25 package.
+It contains subpackages that contain generated types, managed objects, and all
+available methods. The vim25 package is entirely independent of the other
+packages in the govmomi tree -- it has no dependencies on its peers.
+
+The vim25 package itself contains a client structure that is
+passed around throughout the entire library. It abstracts a session and its
+immutable state. See the vim25 package for more information.
+
+Package session
+
+The session package contains an abstraction for the session manager that allows
+a user to login and logout. It also provides access to the current session
+(i.e. to determine if the user is in fact logged in)
+
+Package object
+
+The object package contains wrappers for a selection of managed objects. The
+constructors of these objects all take a *vim25.Client, which they pass along
+to derived objects, if applicable.
+
+Package govc
+
+The govc package contains the govc CLI. The code in this tree is not intended
+to be used as a library. Any functionality that govc contains that _could_ be
+used as a library function but isn't, _should_ live in a root level package.
+
+Other packages
+
+Other packages, such as "event", "guest", or "license", provide wrappers for
+the respective subsystems. They are typically not needed in normal workflows so
+are kept outside the object package.
+*/
+package govmomi
+
+import (
+ "context"
+ "crypto/tls"
+ "net/url"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/session"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Client struct {
+ *vim25.Client
+
+ SessionManager *session.Manager
+}
+
+// NewClient creates a new client from a URL. The client authenticates with the
+// server with username/password before returning if the URL contains user information.
+func NewClient(ctx context.Context, u *url.URL, insecure bool) (*Client, error) {
+ soapClient := soap.NewClient(u, insecure)
+ vimClient, err := vim25.NewClient(ctx, soapClient)
+ if err != nil {
+ return nil, err
+ }
+
+ c := &Client{
+ Client: vimClient,
+ SessionManager: session.NewManager(vimClient),
+ }
+
+ // Only login if the URL contains user information.
+ if u.User != nil {
+ err = c.Login(ctx, u.User)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ return c, nil
+}
+
+// NewClientWithCertificate creates a new client from a URL. The client authenticates with the
+// server with the certificate before returning if the URL contains user information.
+func NewClientWithCertificate(ctx context.Context, u *url.URL, insecure bool, cert tls.Certificate) (*Client, error) {
+ soapClient := soap.NewClient(u, insecure)
+ soapClient.SetCertificate(cert)
+ vimClient, err := vim25.NewClient(ctx, soapClient)
+ if err != nil {
+ return nil, err
+ }
+
+ c := &Client{
+ Client: vimClient,
+ SessionManager: session.NewManager(vimClient),
+ }
+
+ if u.User != nil {
+ err = c.LoginExtensionByCertificate(ctx, u.User.Username(), "")
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ return c, nil
+}
+
+// Login dispatches to the SessionManager.
+func (c *Client) Login(ctx context.Context, u *url.Userinfo) error {
+ return c.SessionManager.Login(ctx, u)
+}
+
+// Login dispatches to the SessionManager.
+func (c *Client) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error {
+ return c.SessionManager.LoginExtensionByCertificate(ctx, key, locale)
+}
+
+// Logout dispatches to the SessionManager.
+func (c *Client) Logout(ctx context.Context) error {
+ // Close any idle connections after logging out.
+ defer c.Client.CloseIdleConnections()
+ return c.SessionManager.Logout(ctx)
+}
+
+// PropertyCollector returns the session's default property collector.
+func (c *Client) PropertyCollector() *property.Collector {
+ return property.DefaultCollector(c.Client)
+}
+
+// RetrieveOne dispatches to the Retrieve function on the default property collector.
+func (c *Client) RetrieveOne(ctx context.Context, obj types.ManagedObjectReference, p []string, dst interface{}) error {
+ return c.PropertyCollector().RetrieveOne(ctx, obj, p, dst)
+}
+
+// Retrieve dispatches to the Retrieve function on the default property collector.
+func (c *Client) Retrieve(ctx context.Context, objs []types.ManagedObjectReference, p []string, dst interface{}) error {
+ return c.PropertyCollector().Retrieve(ctx, objs, p, dst)
+}
+
+// Wait dispatches to property.Wait.
+func (c *Client) Wait(ctx context.Context, obj types.ManagedObjectReference, ps []string, f func([]types.PropertyChange) bool) error {
+ return property.Wait(ctx, c.PropertyCollector(), obj, ps, f)
+}
+
+// IsVC returns true if we are connected to a vCenter
+func (c *Client) IsVC() bool {
+ return c.Client.IsVC()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/doc.go
new file mode 100644
index 00000000..0c8acee0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/doc.go
@@ -0,0 +1,37 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 find implements inventory listing and searching.
+
+The Finder is an alternative to the object.SearchIndex FindByInventoryPath() and FindChild() methods.
+SearchIndex.FindByInventoryPath requires an absolute path, whereas the Finder also supports relative paths
+and patterns via path.Match.
+SearchIndex.FindChild requires a parent to find the child, whereas the Finder also supports an ancestor via
+recursive object traversal.
+
+The various Finder methods accept a "path" argument, which can absolute or relative to the Folder for the object type.
+The Finder supports two modes, "list" and "find". The "list" mode behaves like the "ls" command, only searching within
+the immediate path. The "find" mode behaves like the "find" command, with the search starting at the immediate path but
+also recursing into sub Folders relative to the Datacenter. The default mode is "list" if the given path contains a "/",
+otherwise "find" mode is used.
+
+The exception is to use a "..." wildcard with a path to find all objects recursively underneath any root object.
+For example: VirtualMachineList("/DC1/...")
+
+See also: https://github.com/vmware/govmomi/blob/master/govc/README.md#usage
+*/
+package find
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/error.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/error.go
new file mode 100644
index 00000000..684526da
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/error.go
@@ -0,0 +1,64 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 find
+
+import "fmt"
+
+type NotFoundError struct {
+ kind string
+ path string
+}
+
+func (e *NotFoundError) Error() string {
+ return fmt.Sprintf("%s '%s' not found", e.kind, e.path)
+}
+
+type MultipleFoundError struct {
+ kind string
+ path string
+}
+
+func (e *MultipleFoundError) Error() string {
+ return fmt.Sprintf("path '%s' resolves to multiple %ss", e.path, e.kind)
+}
+
+type DefaultNotFoundError struct {
+ kind string
+}
+
+func (e *DefaultNotFoundError) Error() string {
+ return fmt.Sprintf("no default %s found", e.kind)
+}
+
+type DefaultMultipleFoundError struct {
+ kind string
+}
+
+func (e DefaultMultipleFoundError) Error() string {
+ return fmt.Sprintf("default %s resolves to multiple instances, please specify", e.kind)
+}
+
+func toDefaultError(err error) error {
+ switch e := err.(type) {
+ case *NotFoundError:
+ return &DefaultNotFoundError{e.kind}
+ case *MultipleFoundError:
+ return &DefaultMultipleFoundError{e.kind}
+ default:
+ return err
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/finder.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/finder.go
new file mode 100644
index 00000000..04d0e891
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/finder.go
@@ -0,0 +1,1021 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 find
+
+import (
+ "context"
+ "errors"
+ "path"
+ "strings"
+
+ "github.com/vmware/govmomi/list"
+ "github.com/vmware/govmomi/object"
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Finder struct {
+ client *vim25.Client
+ r recurser
+ dc *object.Datacenter
+ si *object.SearchIndex
+ folders *object.DatacenterFolders
+}
+
+func NewFinder(client *vim25.Client, all bool) *Finder {
+ f := &Finder{
+ client: client,
+ si: object.NewSearchIndex(client),
+ r: recurser{
+ Collector: property.DefaultCollector(client),
+ All: all,
+ },
+ }
+
+ return f
+}
+
+func (f *Finder) SetDatacenter(dc *object.Datacenter) *Finder {
+ f.dc = dc
+ f.folders = nil
+ return f
+}
+
+// findRoot makes it possible to use "find" mode with a different root path.
+// Example: ResourcePoolList("/dc1/host/cluster1/...")
+func (f *Finder) findRoot(ctx context.Context, root *list.Element, parts []string) bool {
+ if len(parts) == 0 {
+ return false
+ }
+
+ ix := len(parts) - 1
+
+ if parts[ix] != "..." {
+ return false
+ }
+
+ if ix == 0 {
+ return true // We already have the Object for root.Path
+ }
+
+ // Lookup the Object for the new root.Path
+ rootPath := path.Join(root.Path, path.Join(parts[:ix]...))
+
+ ref, err := f.si.FindByInventoryPath(ctx, rootPath)
+ if err != nil || ref == nil {
+ // If we get an error or fail to match, fall through to find() with the original root and path
+ return false
+ }
+
+ root.Path = rootPath
+ root.Object = ref
+
+ return true
+}
+
+func (f *Finder) find(ctx context.Context, arg string, s *spec) ([]list.Element, error) {
+ isPath := strings.Contains(arg, "/")
+
+ root := list.Element{
+ Path: "/",
+ Object: object.NewRootFolder(f.client),
+ }
+
+ parts := list.ToParts(arg)
+
+ if len(parts) > 0 {
+ switch parts[0] {
+ case "..": // Not supported; many edge case, little value
+ return nil, errors.New("cannot traverse up a tree")
+ case ".": // Relative to whatever
+ pivot, err := s.Relative(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ mes, err := mo.Ancestors(ctx, f.client, f.client.ServiceContent.PropertyCollector, pivot.Reference())
+ if err != nil {
+ return nil, err
+ }
+
+ for _, me := range mes {
+ // Skip root entity in building inventory path.
+ if me.Parent == nil {
+ continue
+ }
+ root.Path = path.Join(root.Path, me.Name)
+ }
+
+ root.Object = pivot
+ parts = parts[1:]
+ }
+ }
+
+ if s.listMode(isPath) {
+ if f.findRoot(ctx, &root, parts) {
+ parts = []string{"*"}
+ } else {
+ return f.r.List(ctx, s, root, parts)
+ }
+ }
+
+ s.Parents = append(s.Parents, s.Nested...)
+
+ return f.r.Find(ctx, s, root, parts)
+}
+
+func (f *Finder) datacenter() (*object.Datacenter, error) {
+ if f.dc == nil {
+ return nil, errors.New("please specify a datacenter")
+ }
+
+ return f.dc, nil
+}
+
+// datacenterPath returns the absolute path to the Datacenter containing the given ref
+func (f *Finder) datacenterPath(ctx context.Context, ref types.ManagedObjectReference) (string, error) {
+ mes, err := mo.Ancestors(ctx, f.client, f.client.ServiceContent.PropertyCollector, ref)
+ if err != nil {
+ return "", err
+ }
+
+ // Chop leaves under the Datacenter
+ for i := len(mes) - 1; i > 0; i-- {
+ if mes[i].Self.Type == "Datacenter" {
+ break
+ }
+ mes = mes[:i]
+ }
+
+ var p string
+
+ for _, me := range mes {
+ // Skip root entity in building inventory path.
+ if me.Parent == nil {
+ continue
+ }
+
+ p = p + "/" + me.Name
+ }
+
+ return p, nil
+}
+
+func (f *Finder) dcFolders(ctx context.Context) (*object.DatacenterFolders, error) {
+ if f.folders != nil {
+ return f.folders, nil
+ }
+
+ dc, err := f.datacenter()
+ if err != nil {
+ return nil, err
+ }
+
+ folders, err := dc.Folders(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ f.folders = folders
+
+ return f.folders, nil
+}
+
+func (f *Finder) dcReference(_ context.Context) (object.Reference, error) {
+ dc, err := f.datacenter()
+ if err != nil {
+ return nil, err
+ }
+
+ return dc, nil
+}
+
+func (f *Finder) vmFolder(ctx context.Context) (object.Reference, error) {
+ folders, err := f.dcFolders(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ return folders.VmFolder, nil
+}
+
+func (f *Finder) hostFolder(ctx context.Context) (object.Reference, error) {
+ folders, err := f.dcFolders(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ return folders.HostFolder, nil
+}
+
+func (f *Finder) datastoreFolder(ctx context.Context) (object.Reference, error) {
+ folders, err := f.dcFolders(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ return folders.DatastoreFolder, nil
+}
+
+func (f *Finder) networkFolder(ctx context.Context) (object.Reference, error) {
+ folders, err := f.dcFolders(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ return folders.NetworkFolder, nil
+}
+
+func (f *Finder) rootFolder(_ context.Context) (object.Reference, error) {
+ return object.NewRootFolder(f.client), nil
+}
+
+func (f *Finder) managedObjectList(ctx context.Context, path string, tl bool, include []string) ([]list.Element, error) {
+ fn := f.rootFolder
+
+ if f.dc != nil {
+ fn = f.dcReference
+ }
+
+ if len(path) == 0 {
+ path = "."
+ }
+
+ s := &spec{
+ Relative: fn,
+ Parents: []string{"ComputeResource", "ClusterComputeResource", "HostSystem", "VirtualApp", "StoragePod"},
+ Include: include,
+ }
+
+ if tl {
+ s.Contents = true
+ s.ListMode = types.NewBool(true)
+ }
+
+ return f.find(ctx, path, s)
+}
+
+// Element returns an Element for the given ManagedObjectReference
+// This method is only useful for looking up the InventoryPath of a ManagedObjectReference.
+func (f *Finder) Element(ctx context.Context, ref types.ManagedObjectReference) (*list.Element, error) {
+ rl := func(_ context.Context) (object.Reference, error) {
+ return ref, nil
+ }
+
+ s := &spec{
+ Relative: rl,
+ }
+
+ e, err := f.find(ctx, "./", s)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(e) == 0 {
+ return nil, &NotFoundError{ref.Type, ref.Value}
+ }
+
+ if len(e) > 1 {
+ panic("ManagedObjectReference must be unique")
+ }
+
+ return &e[0], nil
+}
+
+// ObjectReference converts the given ManagedObjectReference to a type from the object package via object.NewReference
+// with the object.Common.InventoryPath field set.
+func (f *Finder) ObjectReference(ctx context.Context, ref types.ManagedObjectReference) (object.Reference, error) {
+ e, err := f.Element(ctx, ref)
+ if err != nil {
+ return nil, err
+ }
+
+ r := object.NewReference(f.client, ref)
+
+ type common interface {
+ SetInventoryPath(string)
+ }
+
+ r.(common).SetInventoryPath(e.Path)
+
+ if f.dc != nil {
+ if ds, ok := r.(*object.Datastore); ok {
+ ds.DatacenterPath = f.dc.InventoryPath
+ }
+ }
+
+ return r, nil
+}
+
+func (f *Finder) ManagedObjectList(ctx context.Context, path string, include ...string) ([]list.Element, error) {
+ return f.managedObjectList(ctx, path, false, include)
+}
+
+func (f *Finder) ManagedObjectListChildren(ctx context.Context, path string, include ...string) ([]list.Element, error) {
+ return f.managedObjectList(ctx, path, true, include)
+}
+
+func (f *Finder) DatacenterList(ctx context.Context, path string) ([]*object.Datacenter, error) {
+ s := &spec{
+ Relative: f.rootFolder,
+ Include: []string{"Datacenter"},
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var dcs []*object.Datacenter
+ for _, e := range es {
+ ref := e.Object.Reference()
+ if ref.Type == "Datacenter" {
+ dc := object.NewDatacenter(f.client, ref)
+ dc.InventoryPath = e.Path
+ dcs = append(dcs, dc)
+ }
+ }
+
+ if len(dcs) == 0 {
+ return nil, &NotFoundError{"datacenter", path}
+ }
+
+ return dcs, nil
+}
+
+func (f *Finder) Datacenter(ctx context.Context, path string) (*object.Datacenter, error) {
+ dcs, err := f.DatacenterList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(dcs) > 1 {
+ return nil, &MultipleFoundError{"datacenter", path}
+ }
+
+ return dcs[0], nil
+}
+
+func (f *Finder) DefaultDatacenter(ctx context.Context) (*object.Datacenter, error) {
+ dc, err := f.Datacenter(ctx, "*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return dc, nil
+}
+
+func (f *Finder) DatacenterOrDefault(ctx context.Context, path string) (*object.Datacenter, error) {
+ if path != "" {
+ dc, err := f.Datacenter(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return dc, nil
+ }
+
+ return f.DefaultDatacenter(ctx)
+}
+
+func (f *Finder) DatastoreList(ctx context.Context, path string) ([]*object.Datastore, error) {
+ s := &spec{
+ Relative: f.datastoreFolder,
+ Parents: []string{"StoragePod"},
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var dss []*object.Datastore
+ for _, e := range es {
+ ref := e.Object.Reference()
+ if ref.Type == "Datastore" {
+ ds := object.NewDatastore(f.client, ref)
+ ds.InventoryPath = e.Path
+
+ if f.dc == nil {
+ // In this case SetDatacenter was not called and path is absolute
+ ds.DatacenterPath, err = f.datacenterPath(ctx, ref)
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ ds.DatacenterPath = f.dc.InventoryPath
+ }
+
+ dss = append(dss, ds)
+ }
+ }
+
+ if len(dss) == 0 {
+ return nil, &NotFoundError{"datastore", path}
+ }
+
+ return dss, nil
+}
+
+func (f *Finder) Datastore(ctx context.Context, path string) (*object.Datastore, error) {
+ dss, err := f.DatastoreList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(dss) > 1 {
+ return nil, &MultipleFoundError{"datastore", path}
+ }
+
+ return dss[0], nil
+}
+
+func (f *Finder) DefaultDatastore(ctx context.Context) (*object.Datastore, error) {
+ ds, err := f.Datastore(ctx, "*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return ds, nil
+}
+
+func (f *Finder) DatastoreOrDefault(ctx context.Context, path string) (*object.Datastore, error) {
+ if path != "" {
+ ds, err := f.Datastore(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return ds, nil
+ }
+
+ return f.DefaultDatastore(ctx)
+}
+
+func (f *Finder) DatastoreClusterList(ctx context.Context, path string) ([]*object.StoragePod, error) {
+ s := &spec{
+ Relative: f.datastoreFolder,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var sps []*object.StoragePod
+ for _, e := range es {
+ ref := e.Object.Reference()
+ if ref.Type == "StoragePod" {
+ sp := object.NewStoragePod(f.client, ref)
+ sp.InventoryPath = e.Path
+ sps = append(sps, sp)
+ }
+ }
+
+ if len(sps) == 0 {
+ return nil, &NotFoundError{"datastore cluster", path}
+ }
+
+ return sps, nil
+}
+
+func (f *Finder) DatastoreCluster(ctx context.Context, path string) (*object.StoragePod, error) {
+ sps, err := f.DatastoreClusterList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(sps) > 1 {
+ return nil, &MultipleFoundError{"datastore cluster", path}
+ }
+
+ return sps[0], nil
+}
+
+func (f *Finder) DefaultDatastoreCluster(ctx context.Context) (*object.StoragePod, error) {
+ sp, err := f.DatastoreCluster(ctx, "*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return sp, nil
+}
+
+func (f *Finder) DatastoreClusterOrDefault(ctx context.Context, path string) (*object.StoragePod, error) {
+ if path != "" {
+ sp, err := f.DatastoreCluster(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return sp, nil
+ }
+
+ return f.DefaultDatastoreCluster(ctx)
+}
+
+func (f *Finder) ComputeResourceList(ctx context.Context, path string) ([]*object.ComputeResource, error) {
+ s := &spec{
+ Relative: f.hostFolder,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var crs []*object.ComputeResource
+ for _, e := range es {
+ var cr *object.ComputeResource
+
+ switch o := e.Object.(type) {
+ case mo.ComputeResource, mo.ClusterComputeResource:
+ cr = object.NewComputeResource(f.client, o.Reference())
+ default:
+ continue
+ }
+
+ cr.InventoryPath = e.Path
+ crs = append(crs, cr)
+ }
+
+ if len(crs) == 0 {
+ return nil, &NotFoundError{"compute resource", path}
+ }
+
+ return crs, nil
+}
+
+func (f *Finder) ComputeResource(ctx context.Context, path string) (*object.ComputeResource, error) {
+ crs, err := f.ComputeResourceList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(crs) > 1 {
+ return nil, &MultipleFoundError{"compute resource", path}
+ }
+
+ return crs[0], nil
+}
+
+func (f *Finder) DefaultComputeResource(ctx context.Context) (*object.ComputeResource, error) {
+ cr, err := f.ComputeResource(ctx, "*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return cr, nil
+}
+
+func (f *Finder) ComputeResourceOrDefault(ctx context.Context, path string) (*object.ComputeResource, error) {
+ if path != "" {
+ cr, err := f.ComputeResource(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return cr, nil
+ }
+
+ return f.DefaultComputeResource(ctx)
+}
+
+func (f *Finder) ClusterComputeResourceList(ctx context.Context, path string) ([]*object.ClusterComputeResource, error) {
+ s := &spec{
+ Relative: f.hostFolder,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var ccrs []*object.ClusterComputeResource
+ for _, e := range es {
+ var ccr *object.ClusterComputeResource
+
+ switch o := e.Object.(type) {
+ case mo.ClusterComputeResource:
+ ccr = object.NewClusterComputeResource(f.client, o.Reference())
+ default:
+ continue
+ }
+
+ ccr.InventoryPath = e.Path
+ ccrs = append(ccrs, ccr)
+ }
+
+ if len(ccrs) == 0 {
+ return nil, &NotFoundError{"cluster", path}
+ }
+
+ return ccrs, nil
+}
+
+func (f *Finder) ClusterComputeResource(ctx context.Context, path string) (*object.ClusterComputeResource, error) {
+ ccrs, err := f.ClusterComputeResourceList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(ccrs) > 1 {
+ return nil, &MultipleFoundError{"cluster", path}
+ }
+
+ return ccrs[0], nil
+}
+
+func (f *Finder) HostSystemList(ctx context.Context, path string) ([]*object.HostSystem, error) {
+ s := &spec{
+ Relative: f.hostFolder,
+ Parents: []string{"ComputeResource", "ClusterComputeResource"},
+ Include: []string{"HostSystem"},
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var hss []*object.HostSystem
+ for _, e := range es {
+ var hs *object.HostSystem
+
+ switch o := e.Object.(type) {
+ case mo.HostSystem:
+ hs = object.NewHostSystem(f.client, o.Reference())
+
+ hs.InventoryPath = e.Path
+ hss = append(hss, hs)
+ case mo.ComputeResource, mo.ClusterComputeResource:
+ cr := object.NewComputeResource(f.client, o.Reference())
+
+ cr.InventoryPath = e.Path
+
+ hosts, err := cr.Hosts(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ hss = append(hss, hosts...)
+ }
+ }
+
+ if len(hss) == 0 {
+ return nil, &NotFoundError{"host", path}
+ }
+
+ return hss, nil
+}
+
+func (f *Finder) HostSystem(ctx context.Context, path string) (*object.HostSystem, error) {
+ hss, err := f.HostSystemList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(hss) > 1 {
+ return nil, &MultipleFoundError{"host", path}
+ }
+
+ return hss[0], nil
+}
+
+func (f *Finder) DefaultHostSystem(ctx context.Context) (*object.HostSystem, error) {
+ hs, err := f.HostSystem(ctx, "*/*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return hs, nil
+}
+
+func (f *Finder) HostSystemOrDefault(ctx context.Context, path string) (*object.HostSystem, error) {
+ if path != "" {
+ hs, err := f.HostSystem(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return hs, nil
+ }
+
+ return f.DefaultHostSystem(ctx)
+}
+
+func (f *Finder) NetworkList(ctx context.Context, path string) ([]object.NetworkReference, error) {
+ s := &spec{
+ Relative: f.networkFolder,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var ns []object.NetworkReference
+ for _, e := range es {
+ ref := e.Object.Reference()
+ switch ref.Type {
+ case "Network":
+ r := object.NewNetwork(f.client, ref)
+ r.InventoryPath = e.Path
+ ns = append(ns, r)
+ case "OpaqueNetwork":
+ r := object.NewOpaqueNetwork(f.client, ref)
+ r.InventoryPath = e.Path
+ ns = append(ns, r)
+ case "DistributedVirtualPortgroup":
+ r := object.NewDistributedVirtualPortgroup(f.client, ref)
+ r.InventoryPath = e.Path
+ ns = append(ns, r)
+ case "DistributedVirtualSwitch", "VmwareDistributedVirtualSwitch":
+ r := object.NewDistributedVirtualSwitch(f.client, ref)
+ r.InventoryPath = e.Path
+ ns = append(ns, r)
+ }
+ }
+
+ if len(ns) == 0 {
+ return nil, &NotFoundError{"network", path}
+ }
+
+ return ns, nil
+}
+
+func (f *Finder) Network(ctx context.Context, path string) (object.NetworkReference, error) {
+ networks, err := f.NetworkList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(networks) > 1 {
+ return nil, &MultipleFoundError{"network", path}
+ }
+
+ return networks[0], nil
+}
+
+func (f *Finder) DefaultNetwork(ctx context.Context) (object.NetworkReference, error) {
+ network, err := f.Network(ctx, "*")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return network, nil
+}
+
+func (f *Finder) NetworkOrDefault(ctx context.Context, path string) (object.NetworkReference, error) {
+ if path != "" {
+ network, err := f.Network(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return network, nil
+ }
+
+ return f.DefaultNetwork(ctx)
+}
+
+func (f *Finder) ResourcePoolList(ctx context.Context, path string) ([]*object.ResourcePool, error) {
+ s := &spec{
+ Relative: f.hostFolder,
+ Parents: []string{"ComputeResource", "ClusterComputeResource", "VirtualApp"},
+ Nested: []string{"ResourcePool"},
+ Contents: true,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var rps []*object.ResourcePool
+ for _, e := range es {
+ var rp *object.ResourcePool
+
+ switch o := e.Object.(type) {
+ case mo.ResourcePool:
+ rp = object.NewResourcePool(f.client, o.Reference())
+ rp.InventoryPath = e.Path
+ rps = append(rps, rp)
+ }
+ }
+
+ if len(rps) == 0 {
+ return nil, &NotFoundError{"resource pool", path}
+ }
+
+ return rps, nil
+}
+
+func (f *Finder) ResourcePool(ctx context.Context, path string) (*object.ResourcePool, error) {
+ rps, err := f.ResourcePoolList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(rps) > 1 {
+ return nil, &MultipleFoundError{"resource pool", path}
+ }
+
+ return rps[0], nil
+}
+
+func (f *Finder) DefaultResourcePool(ctx context.Context) (*object.ResourcePool, error) {
+ rp, err := f.ResourcePool(ctx, "*/Resources")
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+
+ return rp, nil
+}
+
+func (f *Finder) ResourcePoolOrDefault(ctx context.Context, path string) (*object.ResourcePool, error) {
+ if path != "" {
+ rp, err := f.ResourcePool(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return rp, nil
+ }
+
+ return f.DefaultResourcePool(ctx)
+}
+
+// ResourcePoolListAll combines ResourcePoolList and VirtualAppList
+// VirtualAppList is only called if ResourcePoolList does not find any pools with the given path.
+func (f *Finder) ResourcePoolListAll(ctx context.Context, path string) ([]*object.ResourcePool, error) {
+ pools, err := f.ResourcePoolList(ctx, path)
+ if err != nil {
+ if _, ok := err.(*NotFoundError); !ok {
+ return nil, err
+ }
+
+ vapps, _ := f.VirtualAppList(ctx, path)
+
+ if len(vapps) == 0 {
+ return nil, err
+ }
+
+ for _, vapp := range vapps {
+ pools = append(pools, vapp.ResourcePool)
+ }
+ }
+
+ return pools, nil
+}
+
+func (f *Finder) DefaultFolder(ctx context.Context) (*object.Folder, error) {
+ ref, err := f.vmFolder(ctx)
+ if err != nil {
+ return nil, toDefaultError(err)
+ }
+ folder := object.NewFolder(f.client, ref.Reference())
+
+ return folder, nil
+}
+
+func (f *Finder) FolderOrDefault(ctx context.Context, path string) (*object.Folder, error) {
+ if path != "" {
+ folder, err := f.Folder(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+ return folder, nil
+ }
+ return f.DefaultFolder(ctx)
+}
+
+func (f *Finder) VirtualMachineList(ctx context.Context, path string) ([]*object.VirtualMachine, error) {
+ s := &spec{
+ Relative: f.vmFolder,
+ Parents: []string{"VirtualApp"},
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var vms []*object.VirtualMachine
+ for _, e := range es {
+ switch o := e.Object.(type) {
+ case mo.VirtualMachine:
+ vm := object.NewVirtualMachine(f.client, o.Reference())
+ vm.InventoryPath = e.Path
+ vms = append(vms, vm)
+ }
+ }
+
+ if len(vms) == 0 {
+ return nil, &NotFoundError{"vm", path}
+ }
+
+ return vms, nil
+}
+
+func (f *Finder) VirtualMachine(ctx context.Context, path string) (*object.VirtualMachine, error) {
+ vms, err := f.VirtualMachineList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(vms) > 1 {
+ return nil, &MultipleFoundError{"vm", path}
+ }
+
+ return vms[0], nil
+}
+
+func (f *Finder) VirtualAppList(ctx context.Context, path string) ([]*object.VirtualApp, error) {
+ s := &spec{
+ Relative: f.vmFolder,
+ }
+
+ es, err := f.find(ctx, path, s)
+ if err != nil {
+ return nil, err
+ }
+
+ var apps []*object.VirtualApp
+ for _, e := range es {
+ switch o := e.Object.(type) {
+ case mo.VirtualApp:
+ app := object.NewVirtualApp(f.client, o.Reference())
+ app.InventoryPath = e.Path
+ apps = append(apps, app)
+ }
+ }
+
+ if len(apps) == 0 {
+ return nil, &NotFoundError{"app", path}
+ }
+
+ return apps, nil
+}
+
+func (f *Finder) VirtualApp(ctx context.Context, path string) (*object.VirtualApp, error) {
+ apps, err := f.VirtualAppList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(apps) > 1 {
+ return nil, &MultipleFoundError{"app", path}
+ }
+
+ return apps[0], nil
+}
+
+func (f *Finder) FolderList(ctx context.Context, path string) ([]*object.Folder, error) {
+ es, err := f.ManagedObjectList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ var folders []*object.Folder
+
+ for _, e := range es {
+ switch o := e.Object.(type) {
+ case mo.Folder, mo.StoragePod:
+ folder := object.NewFolder(f.client, o.Reference())
+ folder.InventoryPath = e.Path
+ folders = append(folders, folder)
+ case *object.Folder:
+ // RootFolder
+ folders = append(folders, o)
+ }
+ }
+
+ if len(folders) == 0 {
+ return nil, &NotFoundError{"folder", path}
+ }
+
+ return folders, nil
+}
+
+func (f *Finder) Folder(ctx context.Context, path string) (*object.Folder, error) {
+ folders, err := f.FolderList(ctx, path)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(folders) > 1 {
+ return nil, &MultipleFoundError{"folder", path}
+ }
+
+ return folders[0], nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/recurser.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/recurser.go
new file mode 100644
index 00000000..80602956
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/find/recurser.go
@@ -0,0 +1,253 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 find
+
+import (
+ "context"
+ "os"
+ "path"
+ "strings"
+
+ "github.com/vmware/govmomi/list"
+ "github.com/vmware/govmomi/object"
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25/mo"
+)
+
+// spec is used to specify per-search configuration, independent of the Finder instance.
+type spec struct {
+ // Relative returns the root object to resolve Relative paths (starts with ".")
+ Relative func(ctx context.Context) (object.Reference, error)
+
+ // ListMode can be used to optionally force "ls" behavior, rather than "find" behavior
+ ListMode *bool
+
+ // Contents configures the Recurser to list the Contents of traversable leaf nodes.
+ // This is typically set to true when used from the ls command, where listing
+ // a folder means listing its Contents. This is typically set to false for
+ // commands that take managed entities that are not folders as input.
+ Contents bool
+
+ // Parents specifies the types which can contain the child types being searched for.
+ // for example, when searching for a HostSystem, parent types can be
+ // "ComputeResource" or "ClusterComputeResource".
+ Parents []string
+
+ // Include specifies which types to be included in the results, used only in "find" mode.
+ Include []string
+
+ // Nested should be set to types that can be Nested, used only in "find" mode.
+ Nested []string
+
+ // ChildType avoids traversing into folders that can't contain the Include types, used only in "find" mode.
+ ChildType []string
+}
+
+func (s *spec) traversable(o mo.Reference) bool {
+ ref := o.Reference()
+
+ switch ref.Type {
+ case "Datacenter":
+ if len(s.Include) == 1 && s.Include[0] == "Datacenter" {
+ // No point in traversing deeper as Datacenters cannot be nested
+ return false
+ }
+ return true
+ case "Folder":
+ if f, ok := o.(mo.Folder); ok {
+ // TODO: Not making use of this yet, but here we can optimize when searching the entire
+ // inventory across Datacenters for specific types, for example: 'govc ls -t VirtualMachine /**'
+ // should not traverse into a Datacenter's host, network or datatore folders.
+ if !s.traversableChildType(f.ChildType) {
+ return false
+ }
+ }
+
+ return true
+ }
+
+ for _, kind := range s.Parents {
+ if kind == ref.Type {
+ return true
+ }
+ }
+
+ return false
+}
+
+func (s *spec) traversableChildType(ctypes []string) bool {
+ if len(s.ChildType) == 0 {
+ return true
+ }
+
+ for _, t := range ctypes {
+ for _, c := range s.ChildType {
+ if t == c {
+ return true
+ }
+ }
+ }
+
+ return false
+}
+
+func (s *spec) wanted(e list.Element) bool {
+ if len(s.Include) == 0 {
+ return true
+ }
+
+ w := e.Object.Reference().Type
+
+ for _, kind := range s.Include {
+ if w == kind {
+ return true
+ }
+ }
+
+ return false
+}
+
+// listMode is a global option to revert to the original Finder behavior,
+// disabling the newer "find" mode.
+var listMode = os.Getenv("GOVMOMI_FINDER_LIST_MODE") == "true"
+
+func (s *spec) listMode(isPath bool) bool {
+ if listMode {
+ return true
+ }
+
+ if s.ListMode != nil {
+ return *s.ListMode
+ }
+
+ return isPath
+}
+
+type recurser struct {
+ Collector *property.Collector
+
+ // All configures the recurses to fetch complete objects for leaf nodes.
+ All bool
+}
+
+func (r recurser) List(ctx context.Context, s *spec, root list.Element, parts []string) ([]list.Element, error) {
+ if len(parts) == 0 {
+ // Include non-traversable leaf elements in result. For example, consider
+ // the pattern "./vm/my-vm-*", where the pattern should match the VMs and
+ // not try to traverse them.
+ //
+ // Include traversable leaf elements in result, if the contents
+ // field is set to false.
+ //
+ if !s.Contents || !s.traversable(root.Object.Reference()) {
+ return []list.Element{root}, nil
+ }
+ }
+
+ k := list.Lister{
+ Collector: r.Collector,
+ Reference: root.Object.Reference(),
+ Prefix: root.Path,
+ }
+
+ if r.All && len(parts) < 2 {
+ k.All = true
+ }
+
+ in, err := k.List(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ // This folder is a leaf as far as the glob goes.
+ if len(parts) == 0 {
+ return in, nil
+ }
+
+ all := parts
+ pattern := parts[0]
+ parts = parts[1:]
+
+ var out []list.Element
+ for _, e := range in {
+ matched, err := path.Match(pattern, path.Base(e.Path))
+ if err != nil {
+ return nil, err
+ }
+
+ if !matched {
+ matched = strings.HasSuffix(e.Path, path.Join(all...))
+ if matched {
+ // name contains a '/'
+ out = append(out, e)
+ }
+
+ continue
+ }
+
+ nres, err := r.List(ctx, s, e, parts)
+ if err != nil {
+ return nil, err
+ }
+
+ out = append(out, nres...)
+ }
+
+ return out, nil
+}
+
+func (r recurser) Find(ctx context.Context, s *spec, root list.Element, parts []string) ([]list.Element, error) {
+ var out []list.Element
+
+ if len(parts) > 0 {
+ pattern := parts[0]
+ matched, err := path.Match(pattern, path.Base(root.Path))
+ if err != nil {
+ return nil, err
+ }
+
+ if matched && s.wanted(root) {
+ out = append(out, root)
+ }
+ }
+
+ if !s.traversable(root.Object) {
+ return out, nil
+ }
+
+ k := list.Lister{
+ Collector: r.Collector,
+ Reference: root.Object.Reference(),
+ Prefix: root.Path,
+ }
+
+ in, err := k.List(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, e := range in {
+ nres, err := r.Find(ctx, s, e, parts)
+ if err != nil {
+ return nil, err
+ }
+
+ out = append(out, nres...)
+ }
+
+ return out, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/lister.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/lister.go
new file mode 100644
index 00000000..2ee32e6b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/lister.go
@@ -0,0 +1,563 @@
+/*
+Copyright (c) 2014-2016 VMware, Inc. All Rights Reserved.
+
+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 list
+
+import (
+ "context"
+ "fmt"
+ "path"
+ "reflect"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Element struct {
+ Path string
+ Object mo.Reference
+}
+
+func (e Element) String() string {
+ return fmt.Sprintf("%s @ %s", e.Object.Reference(), e.Path)
+}
+
+func ToElement(r mo.Reference, prefix string) Element {
+ var name string
+
+ // Comments about types to be expected in folders copied from the
+ // documentation of the Folder managed object:
+ // http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/vim.Folder.html
+ switch m := r.(type) {
+ case mo.Folder:
+ name = m.Name
+ case mo.StoragePod:
+ name = m.Name
+
+ // { "vim.Datacenter" } - Identifies the root folder and its descendant
+ // folders. Data center folders can contain child data center folders and
+ // Datacenter managed objects. Datacenter objects contain virtual machine,
+ // compute resource, network entity, and datastore folders.
+ case mo.Datacenter:
+ name = m.Name
+
+ // { "vim.Virtualmachine", "vim.VirtualApp" } - Identifies a virtual machine
+ // folder. A virtual machine folder may contain child virtual machine
+ // folders. It also can contain VirtualMachine managed objects, templates,
+ // and VirtualApp managed objects.
+ case mo.VirtualMachine:
+ name = m.Name
+ case mo.VirtualApp:
+ name = m.Name
+
+ // { "vim.ComputeResource" } - Identifies a compute resource
+ // folder, which contains child compute resource folders and ComputeResource
+ // hierarchies.
+ case mo.ComputeResource:
+ name = m.Name
+ case mo.ClusterComputeResource:
+ name = m.Name
+ case mo.HostSystem:
+ name = m.Name
+ case mo.ResourcePool:
+ name = m.Name
+
+ // { "vim.Network" } - Identifies a network entity folder.
+ // Network entity folders on a vCenter Server can contain Network,
+ // DistributedVirtualSwitch, and DistributedVirtualPortgroup managed objects.
+ // Network entity folders on an ESXi host can contain only Network objects.
+ case mo.Network:
+ name = m.Name
+ case mo.OpaqueNetwork:
+ name = m.Name
+ case mo.DistributedVirtualSwitch:
+ name = m.Name
+ case mo.DistributedVirtualPortgroup:
+ name = m.Name
+ case mo.VmwareDistributedVirtualSwitch:
+ name = m.Name
+
+ // { "vim.Datastore" } - Identifies a datastore folder. Datastore folders can
+ // contain child datastore folders and Datastore managed objects.
+ case mo.Datastore:
+ name = m.Name
+
+ default:
+ panic("not implemented for type " + reflect.TypeOf(r).String())
+ }
+
+ e := Element{
+ Path: path.Join(prefix, name),
+ Object: r,
+ }
+
+ return e
+}
+
+type Lister struct {
+ Collector *property.Collector
+ Reference types.ManagedObjectReference
+ Prefix string
+ All bool
+}
+
+func (l Lister) retrieveProperties(ctx context.Context, req types.RetrieveProperties, dst *[]interface{}) error {
+ res, err := l.Collector.RetrieveProperties(ctx, req)
+ if err != nil {
+ return err
+ }
+
+ // Instead of using mo.LoadRetrievePropertiesResponse, use a custom loop to
+ // iterate over the results and ignore entries that have properties that
+ // could not be retrieved (a non-empty `missingSet` property). Since the
+ // returned objects are enumerated by vSphere in the first place, any object
+ // that has a non-empty `missingSet` property is indicative of a race
+ // condition in vSphere where the object was enumerated initially, but was
+ // removed before its properties could be collected.
+ for _, p := range res.Returnval {
+ v, err := mo.ObjectContentToType(p)
+ if err != nil {
+ // Ignore fault if it is ManagedObjectNotFound
+ if soap.IsVimFault(err) {
+ switch soap.ToVimFault(err).(type) {
+ case *types.ManagedObjectNotFound:
+ continue
+ }
+ }
+
+ return err
+ }
+
+ *dst = append(*dst, v)
+ }
+
+ return nil
+}
+
+func (l Lister) List(ctx context.Context) ([]Element, error) {
+ switch l.Reference.Type {
+ case "Folder", "StoragePod":
+ return l.ListFolder(ctx)
+ case "Datacenter":
+ return l.ListDatacenter(ctx)
+ case "ComputeResource", "ClusterComputeResource":
+ // Treat ComputeResource and ClusterComputeResource as one and the same.
+ // It doesn't matter from the perspective of the lister.
+ return l.ListComputeResource(ctx)
+ case "ResourcePool":
+ return l.ListResourcePool(ctx)
+ case "HostSystem":
+ return l.ListHostSystem(ctx)
+ case "VirtualApp":
+ return l.ListVirtualApp(ctx)
+ default:
+ return nil, fmt.Errorf("cannot traverse type " + l.Reference.Type)
+ }
+}
+
+func (l Lister) ListFolder(ctx context.Context) ([]Element, error) {
+ spec := types.PropertyFilterSpec{
+ ObjectSet: []types.ObjectSpec{
+ {
+ Obj: l.Reference,
+ SelectSet: []types.BaseSelectionSpec{
+ &types.TraversalSpec{
+ Path: "childEntity",
+ Skip: types.NewBool(false),
+ Type: "Folder",
+ },
+ },
+ Skip: types.NewBool(true),
+ },
+ },
+ }
+
+ // Retrieve all objects that we can deal with
+ childTypes := []string{
+ "Folder",
+ "Datacenter",
+ "VirtualApp",
+ "VirtualMachine",
+ "Network",
+ "ComputeResource",
+ "ClusterComputeResource",
+ "Datastore",
+ "DistributedVirtualSwitch",
+ }
+
+ for _, t := range childTypes {
+ pspec := types.PropertySpec{
+ Type: t,
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name"}
+
+ // Additional basic properties.
+ switch t {
+ case "Folder":
+ pspec.PathSet = append(pspec.PathSet, "childType")
+ case "ComputeResource", "ClusterComputeResource":
+ // The ComputeResource and ClusterComputeResource are dereferenced in
+ // the ResourcePoolFlag. Make sure they always have their resourcePool
+ // field populated.
+ pspec.PathSet = append(pspec.PathSet, "resourcePool")
+ }
+ }
+
+ spec.PropSet = append(spec.PropSet, pspec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{spec},
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
+
+func (l Lister) ListDatacenter(ctx context.Context) ([]Element, error) {
+ ospec := types.ObjectSpec{
+ Obj: l.Reference,
+ Skip: types.NewBool(true),
+ }
+
+ // Include every datastore folder in the select set
+ fields := []string{
+ "vmFolder",
+ "hostFolder",
+ "datastoreFolder",
+ "networkFolder",
+ }
+
+ for _, f := range fields {
+ tspec := types.TraversalSpec{
+ Path: f,
+ Skip: types.NewBool(false),
+ Type: "Datacenter",
+ }
+
+ ospec.SelectSet = append(ospec.SelectSet, &tspec)
+ }
+
+ pspec := types.PropertySpec{
+ Type: "Folder",
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name", "childType"}
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: []types.PropertySpec{pspec},
+ },
+ },
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
+
+func (l Lister) ListComputeResource(ctx context.Context) ([]Element, error) {
+ ospec := types.ObjectSpec{
+ Obj: l.Reference,
+ Skip: types.NewBool(true),
+ }
+
+ fields := []string{
+ "host",
+ "resourcePool",
+ }
+
+ for _, f := range fields {
+ tspec := types.TraversalSpec{
+ Path: f,
+ Skip: types.NewBool(false),
+ Type: "ComputeResource",
+ }
+
+ ospec.SelectSet = append(ospec.SelectSet, &tspec)
+ }
+
+ childTypes := []string{
+ "HostSystem",
+ "ResourcePool",
+ }
+
+ var pspecs []types.PropertySpec
+ for _, t := range childTypes {
+ pspec := types.PropertySpec{
+ Type: t,
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name"}
+ }
+
+ pspecs = append(pspecs, pspec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: pspecs,
+ },
+ },
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
+
+func (l Lister) ListResourcePool(ctx context.Context) ([]Element, error) {
+ ospec := types.ObjectSpec{
+ Obj: l.Reference,
+ Skip: types.NewBool(true),
+ }
+
+ fields := []string{
+ "resourcePool",
+ }
+
+ for _, f := range fields {
+ tspec := types.TraversalSpec{
+ Path: f,
+ Skip: types.NewBool(false),
+ Type: "ResourcePool",
+ }
+
+ ospec.SelectSet = append(ospec.SelectSet, &tspec)
+ }
+
+ childTypes := []string{
+ "ResourcePool",
+ }
+
+ var pspecs []types.PropertySpec
+ for _, t := range childTypes {
+ pspec := types.PropertySpec{
+ Type: t,
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name"}
+ }
+
+ pspecs = append(pspecs, pspec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: pspecs,
+ },
+ },
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
+
+func (l Lister) ListHostSystem(ctx context.Context) ([]Element, error) {
+ ospec := types.ObjectSpec{
+ Obj: l.Reference,
+ Skip: types.NewBool(true),
+ }
+
+ fields := []string{
+ "datastore",
+ "network",
+ "vm",
+ }
+
+ for _, f := range fields {
+ tspec := types.TraversalSpec{
+ Path: f,
+ Skip: types.NewBool(false),
+ Type: "HostSystem",
+ }
+
+ ospec.SelectSet = append(ospec.SelectSet, &tspec)
+ }
+
+ childTypes := []string{
+ "Datastore",
+ "Network",
+ "VirtualMachine",
+ }
+
+ var pspecs []types.PropertySpec
+ for _, t := range childTypes {
+ pspec := types.PropertySpec{
+ Type: t,
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name"}
+ }
+
+ pspecs = append(pspecs, pspec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: pspecs,
+ },
+ },
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
+
+func (l Lister) ListVirtualApp(ctx context.Context) ([]Element, error) {
+ ospec := types.ObjectSpec{
+ Obj: l.Reference,
+ Skip: types.NewBool(true),
+ }
+
+ fields := []string{
+ "resourcePool",
+ "vm",
+ }
+
+ for _, f := range fields {
+ tspec := types.TraversalSpec{
+ Path: f,
+ Skip: types.NewBool(false),
+ Type: "VirtualApp",
+ }
+
+ ospec.SelectSet = append(ospec.SelectSet, &tspec)
+ }
+
+ childTypes := []string{
+ "ResourcePool",
+ "VirtualMachine",
+ }
+
+ var pspecs []types.PropertySpec
+ for _, t := range childTypes {
+ pspec := types.PropertySpec{
+ Type: t,
+ }
+
+ if l.All {
+ pspec.All = types.NewBool(true)
+ } else {
+ pspec.PathSet = []string{"name"}
+ }
+
+ pspecs = append(pspecs, pspec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: pspecs,
+ },
+ },
+ }
+
+ var dst []interface{}
+
+ err := l.retrieveProperties(ctx, req, &dst)
+ if err != nil {
+ return nil, err
+ }
+
+ es := []Element{}
+ for _, v := range dst {
+ es = append(es, ToElement(v.(mo.Reference), l.Prefix))
+ }
+
+ return es, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/path.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/path.go
new file mode 100644
index 00000000..f3a10652
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/list/path.go
@@ -0,0 +1,44 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 list
+
+import (
+ "path"
+ "strings"
+)
+
+func ToParts(p string) []string {
+ p = path.Clean(p)
+ if p == "/" {
+ return []string{}
+ }
+
+ if len(p) > 0 {
+ // Prefix ./ if relative
+ if p[0] != '/' && p[0] != '.' {
+ p = "./" + p
+ }
+ }
+
+ ps := strings.Split(p, "/")
+ if ps[0] == "" {
+ // Start at root
+ ps = ps[1:]
+ }
+
+ return ps
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager.go
new file mode 100644
index 00000000..b703258f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager.go
@@ -0,0 +1,174 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type AuthorizationManager struct {
+ Common
+}
+
+func NewAuthorizationManager(c *vim25.Client) *AuthorizationManager {
+ m := AuthorizationManager{
+ Common: NewCommon(c, *c.ServiceContent.AuthorizationManager),
+ }
+
+ return &m
+}
+
+type AuthorizationRoleList []types.AuthorizationRole
+
+func (l AuthorizationRoleList) ById(id int32) *types.AuthorizationRole {
+ for _, role := range l {
+ if role.RoleId == id {
+ return &role
+ }
+ }
+
+ return nil
+}
+
+func (l AuthorizationRoleList) ByName(name string) *types.AuthorizationRole {
+ for _, role := range l {
+ if role.Name == name {
+ return &role
+ }
+ }
+
+ return nil
+}
+
+func (m AuthorizationManager) RoleList(ctx context.Context) (AuthorizationRoleList, error) {
+ var am mo.AuthorizationManager
+
+ err := m.Properties(ctx, m.Reference(), []string{"roleList"}, &am)
+ if err != nil {
+ return nil, err
+ }
+
+ return AuthorizationRoleList(am.RoleList), nil
+}
+
+func (m AuthorizationManager) RetrieveEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, inherited bool) ([]types.Permission, error) {
+ req := types.RetrieveEntityPermissions{
+ This: m.Reference(),
+ Entity: entity,
+ Inherited: inherited,
+ }
+
+ res, err := methods.RetrieveEntityPermissions(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m AuthorizationManager) RemoveEntityPermission(ctx context.Context, entity types.ManagedObjectReference, user string, isGroup bool) error {
+ req := types.RemoveEntityPermission{
+ This: m.Reference(),
+ Entity: entity,
+ User: user,
+ IsGroup: isGroup,
+ }
+
+ _, err := methods.RemoveEntityPermission(ctx, m.Client(), &req)
+ return err
+}
+
+func (m AuthorizationManager) SetEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, permission []types.Permission) error {
+ req := types.SetEntityPermissions{
+ This: m.Reference(),
+ Entity: entity,
+ Permission: permission,
+ }
+
+ _, err := methods.SetEntityPermissions(ctx, m.Client(), &req)
+ return err
+}
+
+func (m AuthorizationManager) RetrieveRolePermissions(ctx context.Context, id int32) ([]types.Permission, error) {
+ req := types.RetrieveRolePermissions{
+ This: m.Reference(),
+ RoleId: id,
+ }
+
+ res, err := methods.RetrieveRolePermissions(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m AuthorizationManager) RetrieveAllPermissions(ctx context.Context) ([]types.Permission, error) {
+ req := types.RetrieveAllPermissions{
+ This: m.Reference(),
+ }
+
+ res, err := methods.RetrieveAllPermissions(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m AuthorizationManager) AddRole(ctx context.Context, name string, ids []string) (int32, error) {
+ req := types.AddAuthorizationRole{
+ This: m.Reference(),
+ Name: name,
+ PrivIds: ids,
+ }
+
+ res, err := methods.AddAuthorizationRole(ctx, m.Client(), &req)
+ if err != nil {
+ return -1, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m AuthorizationManager) RemoveRole(ctx context.Context, id int32, failIfUsed bool) error {
+ req := types.RemoveAuthorizationRole{
+ This: m.Reference(),
+ RoleId: id,
+ FailIfUsed: failIfUsed,
+ }
+
+ _, err := methods.RemoveAuthorizationRole(ctx, m.Client(), &req)
+ return err
+}
+
+func (m AuthorizationManager) UpdateRole(ctx context.Context, id int32, name string, ids []string) error {
+ req := types.UpdateAuthorizationRole{
+ This: m.Reference(),
+ RoleId: id,
+ NewName: name,
+ PrivIds: ids,
+ }
+
+ _, err := methods.UpdateAuthorizationRole(ctx, m.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go
new file mode 100644
index 00000000..4fa520f5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go
@@ -0,0 +1,86 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DisabledMethodRequest struct {
+ Method string `xml:"method"`
+ Reason string `xml:"reasonId"`
+}
+
+type disableMethodsRequest struct {
+ This types.ManagedObjectReference `xml:"_this"`
+ Entity []types.ManagedObjectReference `xml:"entity"`
+ Method []DisabledMethodRequest `xml:"method"`
+ Source string `xml:"sourceId"`
+ Scope bool `xml:"sessionScope,omitempty"`
+}
+
+type disableMethodsBody struct {
+ Req *disableMethodsRequest `xml:"urn:internalvim25 DisableMethods,omitempty"`
+ Res interface{} `xml:"urn:vim25 DisableMethodsResponse,omitempty"`
+ Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *disableMethodsBody) Fault() *soap.Fault { return b.Err }
+
+func (m AuthorizationManager) DisableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []DisabledMethodRequest, source string) error {
+ var reqBody, resBody disableMethodsBody
+
+ reqBody.Req = &disableMethodsRequest{
+ This: m.Reference(),
+ Entity: entity,
+ Method: method,
+ Source: source,
+ }
+
+ return m.Client().RoundTrip(ctx, &reqBody, &resBody)
+}
+
+type enableMethodsRequest struct {
+ This types.ManagedObjectReference `xml:"_this"`
+ Entity []types.ManagedObjectReference `xml:"entity"`
+ Method []string `xml:"method"`
+ Source string `xml:"sourceId"`
+}
+
+type enableMethodsBody struct {
+ Req *enableMethodsRequest `xml:"urn:internalvim25 EnableMethods,omitempty"`
+ Res interface{} `xml:"urn:vim25 EnableMethodsResponse,omitempty"`
+ Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *enableMethodsBody) Fault() *soap.Fault { return b.Err }
+
+func (m AuthorizationManager) EnableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []string, source string) error {
+ var reqBody, resBody enableMethodsBody
+
+ reqBody.Req = &enableMethodsRequest{
+ This: m.Reference(),
+ Entity: entity,
+ Method: method,
+ Source: source,
+ }
+
+ return m.Client().RoundTrip(ctx, &reqBody, &resBody)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go
new file mode 100644
index 00000000..225f41b6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go
@@ -0,0 +1,86 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type ClusterComputeResource struct {
+ ComputeResource
+}
+
+func NewClusterComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ClusterComputeResource {
+ return &ClusterComputeResource{
+ ComputeResource: *NewComputeResource(c, ref),
+ }
+}
+
+func (c ClusterComputeResource) ReconfigureCluster(ctx context.Context, spec types.ClusterConfigSpec) (*Task, error) {
+ req := types.ReconfigureCluster_Task{
+ This: c.Reference(),
+ Spec: spec,
+ Modify: true,
+ }
+
+ res, err := methods.ReconfigureCluster_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
+
+func (c ClusterComputeResource) AddHost(ctx context.Context, spec types.HostConnectSpec, asConnected bool, license *string, resourcePool *types.ManagedObjectReference) (*Task, error) {
+ req := types.AddHost_Task{
+ This: c.Reference(),
+ Spec: spec,
+ AsConnected: asConnected,
+ }
+
+ if license != nil {
+ req.License = *license
+ }
+
+ if resourcePool != nil {
+ req.ResourcePool = resourcePool
+ }
+
+ res, err := methods.AddHost_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
+
+func (c ClusterComputeResource) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: c.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/common.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/common.go
new file mode 100644
index 00000000..8f0a94ff
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/common.go
@@ -0,0 +1,120 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "path"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+var (
+ ErrNotSupported = errors.New("product/version specific feature not supported by target")
+)
+
+// Common contains the fields and functions common to all objects.
+type Common struct {
+ InventoryPath string
+
+ c *vim25.Client
+ r types.ManagedObjectReference
+}
+
+func (c Common) String() string {
+ ref := fmt.Sprintf("%v", c.Reference())
+
+ if c.InventoryPath == "" {
+ return ref
+ }
+
+ return fmt.Sprintf("%s @ %s", ref, c.InventoryPath)
+}
+
+func NewCommon(c *vim25.Client, r types.ManagedObjectReference) Common {
+ return Common{c: c, r: r}
+}
+
+func (c Common) Reference() types.ManagedObjectReference {
+ return c.r
+}
+
+func (c Common) Client() *vim25.Client {
+ return c.c
+}
+
+// Name returns the base name of the InventoryPath field
+func (c Common) Name() string {
+ if c.InventoryPath == "" {
+ return ""
+ }
+ return path.Base(c.InventoryPath)
+}
+
+func (c *Common) SetInventoryPath(p string) {
+ c.InventoryPath = p
+}
+
+// ObjectName returns the base name of the InventoryPath field if set,
+// otherwise fetches the mo.ManagedEntity.Name field via the property collector.
+func (c Common) ObjectName(ctx context.Context) (string, error) {
+ var o mo.ManagedEntity
+
+ err := c.Properties(ctx, c.Reference(), []string{"name"}, &o)
+ if err != nil {
+ return "", err
+ }
+
+ return o.Name, nil
+}
+
+func (c Common) Properties(ctx context.Context, r types.ManagedObjectReference, ps []string, dst interface{}) error {
+ return property.DefaultCollector(c.c).RetrieveOne(ctx, r, ps, dst)
+}
+
+func (c Common) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: c.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
+
+func (c Common) Rename(ctx context.Context, name string) (*Task, error) {
+ req := types.Rename_Task{
+ This: c.Reference(),
+ NewName: name,
+ }
+
+ res, err := methods.Rename_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/compute_resource.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/compute_resource.go
new file mode 100644
index 00000000..ac1c7301
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/compute_resource.go
@@ -0,0 +1,124 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "path"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type ComputeResource struct {
+ Common
+}
+
+func NewComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ComputeResource {
+ return &ComputeResource{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (c ComputeResource) Hosts(ctx context.Context) ([]*HostSystem, error) {
+ var cr mo.ComputeResource
+
+ err := c.Properties(ctx, c.Reference(), []string{"host"}, &cr)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(cr.Host) == 0 {
+ return nil, nil
+ }
+
+ var hs []mo.HostSystem
+ pc := property.DefaultCollector(c.Client())
+ err = pc.Retrieve(ctx, cr.Host, []string{"name"}, &hs)
+ if err != nil {
+ return nil, err
+ }
+
+ var hosts []*HostSystem
+
+ for _, h := range hs {
+ host := NewHostSystem(c.Client(), h.Reference())
+ host.InventoryPath = path.Join(c.InventoryPath, h.Name)
+ hosts = append(hosts, host)
+ }
+
+ return hosts, nil
+}
+
+func (c ComputeResource) Datastores(ctx context.Context) ([]*Datastore, error) {
+ var cr mo.ComputeResource
+
+ err := c.Properties(ctx, c.Reference(), []string{"datastore"}, &cr)
+ if err != nil {
+ return nil, err
+ }
+
+ var dss []*Datastore
+ for _, ref := range cr.Datastore {
+ ds := NewDatastore(c.c, ref)
+ dss = append(dss, ds)
+ }
+
+ return dss, nil
+}
+
+func (c ComputeResource) ResourcePool(ctx context.Context) (*ResourcePool, error) {
+ var cr mo.ComputeResource
+
+ err := c.Properties(ctx, c.Reference(), []string{"resourcePool"}, &cr)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewResourcePool(c.c, *cr.ResourcePool), nil
+}
+
+func (c ComputeResource) Reconfigure(ctx context.Context, spec types.BaseComputeResourceConfigSpec, modify bool) (*Task, error) {
+ req := types.ReconfigureComputeResource_Task{
+ This: c.Reference(),
+ Spec: spec,
+ Modify: modify,
+ }
+
+ res, err := methods.ReconfigureComputeResource_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
+
+func (c ComputeResource) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: c.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, c.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(c.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go
new file mode 100644
index 00000000..60b78df2
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go
@@ -0,0 +1,135 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+ "strconv"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+var (
+ ErrKeyNameNotFound = errors.New("key name not found")
+)
+
+type CustomFieldsManager struct {
+ Common
+}
+
+// GetCustomFieldsManager wraps NewCustomFieldsManager, returning ErrNotSupported
+// when the client is not connected to a vCenter instance.
+func GetCustomFieldsManager(c *vim25.Client) (*CustomFieldsManager, error) {
+ if c.ServiceContent.CustomFieldsManager == nil {
+ return nil, ErrNotSupported
+ }
+ return NewCustomFieldsManager(c), nil
+}
+
+func NewCustomFieldsManager(c *vim25.Client) *CustomFieldsManager {
+ m := CustomFieldsManager{
+ Common: NewCommon(c, *c.ServiceContent.CustomFieldsManager),
+ }
+
+ return &m
+}
+
+func (m CustomFieldsManager) Add(ctx context.Context, name string, moType string, fieldDefPolicy *types.PrivilegePolicyDef, fieldPolicy *types.PrivilegePolicyDef) (*types.CustomFieldDef, error) {
+ req := types.AddCustomFieldDef{
+ This: m.Reference(),
+ Name: name,
+ MoType: moType,
+ FieldDefPolicy: fieldDefPolicy,
+ FieldPolicy: fieldPolicy,
+ }
+
+ res, err := methods.AddCustomFieldDef(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (m CustomFieldsManager) Remove(ctx context.Context, key int32) error {
+ req := types.RemoveCustomFieldDef{
+ This: m.Reference(),
+ Key: key,
+ }
+
+ _, err := methods.RemoveCustomFieldDef(ctx, m.c, &req)
+ return err
+}
+
+func (m CustomFieldsManager) Rename(ctx context.Context, key int32, name string) error {
+ req := types.RenameCustomFieldDef{
+ This: m.Reference(),
+ Key: key,
+ Name: name,
+ }
+
+ _, err := methods.RenameCustomFieldDef(ctx, m.c, &req)
+ return err
+}
+
+func (m CustomFieldsManager) Set(ctx context.Context, entity types.ManagedObjectReference, key int32, value string) error {
+ req := types.SetField{
+ This: m.Reference(),
+ Entity: entity,
+ Key: key,
+ Value: value,
+ }
+
+ _, err := methods.SetField(ctx, m.c, &req)
+ return err
+}
+
+func (m CustomFieldsManager) Field(ctx context.Context) ([]types.CustomFieldDef, error) {
+ var fm mo.CustomFieldsManager
+
+ err := m.Properties(ctx, m.Reference(), []string{"field"}, &fm)
+ if err != nil {
+ return nil, err
+ }
+
+ return fm.Field, nil
+}
+
+func (m CustomFieldsManager) FindKey(ctx context.Context, key string) (int32, error) {
+ field, err := m.Field(ctx)
+ if err != nil {
+ return -1, err
+ }
+
+ for _, def := range field {
+ if def.Name == key {
+ return def.Key, nil
+ }
+ }
+
+ k, err := strconv.Atoi(key)
+ if err == nil {
+ // assume literal int key
+ return int32(k), nil
+ }
+
+ return -1, ErrKeyNameNotFound
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go
new file mode 100644
index 00000000..cb8b965d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go
@@ -0,0 +1,166 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type CustomizationSpecManager struct {
+ Common
+}
+
+func NewCustomizationSpecManager(c *vim25.Client) *CustomizationSpecManager {
+ cs := CustomizationSpecManager{
+ Common: NewCommon(c, *c.ServiceContent.CustomizationSpecManager),
+ }
+
+ return &cs
+}
+
+func (cs CustomizationSpecManager) DoesCustomizationSpecExist(ctx context.Context, name string) (bool, error) {
+ req := types.DoesCustomizationSpecExist{
+ This: cs.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.DoesCustomizationSpecExist(ctx, cs.c, &req)
+
+ if err != nil {
+ return false, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (cs CustomizationSpecManager) GetCustomizationSpec(ctx context.Context, name string) (*types.CustomizationSpecItem, error) {
+ req := types.GetCustomizationSpec{
+ This: cs.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.GetCustomizationSpec(ctx, cs.c, &req)
+
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (cs CustomizationSpecManager) CreateCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error {
+ req := types.CreateCustomizationSpec{
+ This: cs.Reference(),
+ Item: item,
+ }
+
+ _, err := methods.CreateCustomizationSpec(ctx, cs.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (cs CustomizationSpecManager) OverwriteCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error {
+ req := types.OverwriteCustomizationSpec{
+ This: cs.Reference(),
+ Item: item,
+ }
+
+ _, err := methods.OverwriteCustomizationSpec(ctx, cs.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (cs CustomizationSpecManager) DeleteCustomizationSpec(ctx context.Context, name string) error {
+ req := types.DeleteCustomizationSpec{
+ This: cs.Reference(),
+ Name: name,
+ }
+
+ _, err := methods.DeleteCustomizationSpec(ctx, cs.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (cs CustomizationSpecManager) DuplicateCustomizationSpec(ctx context.Context, name string, newName string) error {
+ req := types.DuplicateCustomizationSpec{
+ This: cs.Reference(),
+ Name: name,
+ NewName: newName,
+ }
+
+ _, err := methods.DuplicateCustomizationSpec(ctx, cs.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (cs CustomizationSpecManager) RenameCustomizationSpec(ctx context.Context, name string, newName string) error {
+ req := types.RenameCustomizationSpec{
+ This: cs.Reference(),
+ Name: name,
+ NewName: newName,
+ }
+
+ _, err := methods.RenameCustomizationSpec(ctx, cs.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (cs CustomizationSpecManager) CustomizationSpecItemToXml(ctx context.Context, item types.CustomizationSpecItem) (string, error) {
+ req := types.CustomizationSpecItemToXml{
+ This: cs.Reference(),
+ Item: item,
+ }
+
+ res, err := methods.CustomizationSpecItemToXml(ctx, cs.c, &req)
+ if err != nil {
+ return "", err
+ }
+
+ return res.Returnval, nil
+}
+
+func (cs CustomizationSpecManager) XmlToCustomizationSpecItem(ctx context.Context, xml string) (*types.CustomizationSpecItem, error) {
+ req := types.XmlToCustomizationSpecItem{
+ This: cs.Reference(),
+ SpecItemXml: xml,
+ }
+
+ res, err := methods.XmlToCustomizationSpecItem(ctx, cs.c, &req)
+ if err != nil {
+ return nil, err
+ }
+ return &res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datacenter.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datacenter.go
new file mode 100644
index 00000000..adddc5ff
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datacenter.go
@@ -0,0 +1,90 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DatacenterFolders struct {
+ VmFolder *Folder
+ HostFolder *Folder
+ DatastoreFolder *Folder
+ NetworkFolder *Folder
+}
+
+type Datacenter struct {
+ Common
+}
+
+func NewDatacenter(c *vim25.Client, ref types.ManagedObjectReference) *Datacenter {
+ return &Datacenter{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (d *Datacenter) Folders(ctx context.Context) (*DatacenterFolders, error) {
+ var md mo.Datacenter
+
+ ps := []string{"name", "vmFolder", "hostFolder", "datastoreFolder", "networkFolder"}
+ err := d.Properties(ctx, d.Reference(), ps, &md)
+ if err != nil {
+ return nil, err
+ }
+
+ df := &DatacenterFolders{
+ VmFolder: NewFolder(d.c, md.VmFolder),
+ HostFolder: NewFolder(d.c, md.HostFolder),
+ DatastoreFolder: NewFolder(d.c, md.DatastoreFolder),
+ NetworkFolder: NewFolder(d.c, md.NetworkFolder),
+ }
+
+ paths := []struct {
+ name string
+ path *string
+ }{
+ {"vm", &df.VmFolder.InventoryPath},
+ {"host", &df.HostFolder.InventoryPath},
+ {"datastore", &df.DatastoreFolder.InventoryPath},
+ {"network", &df.NetworkFolder.InventoryPath},
+ }
+
+ for _, p := range paths {
+ *p.path = fmt.Sprintf("/%s/%s", md.Name, p.name)
+ }
+
+ return df, nil
+}
+
+func (d Datacenter) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: d.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, d.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(d.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore.go
new file mode 100644
index 00000000..fc696cdf
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore.go
@@ -0,0 +1,438 @@
+/*
+Copyright (c) 2015-2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "fmt"
+ "io"
+ "math/rand"
+ "os"
+ "path"
+ "strings"
+
+ "context"
+ "net/http"
+ "net/url"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/session"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// DatastoreNoSuchDirectoryError is returned when a directory could not be found.
+type DatastoreNoSuchDirectoryError struct {
+ verb string
+ subject string
+}
+
+func (e DatastoreNoSuchDirectoryError) Error() string {
+ return fmt.Sprintf("cannot %s '%s': No such directory", e.verb, e.subject)
+}
+
+// DatastoreNoSuchFileError is returned when a file could not be found.
+type DatastoreNoSuchFileError struct {
+ verb string
+ subject string
+}
+
+func (e DatastoreNoSuchFileError) Error() string {
+ return fmt.Sprintf("cannot %s '%s': No such file", e.verb, e.subject)
+}
+
+type Datastore struct {
+ Common
+
+ DatacenterPath string
+}
+
+func NewDatastore(c *vim25.Client, ref types.ManagedObjectReference) *Datastore {
+ return &Datastore{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (d Datastore) Path(path string) string {
+ return (&DatastorePath{
+ Datastore: d.Name(),
+ Path: path,
+ }).String()
+}
+
+// NewURL constructs a url.URL with the given file path for datastore access over HTTP.
+func (d Datastore) NewURL(path string) *url.URL {
+ u := d.c.URL()
+
+ return &url.URL{
+ Scheme: u.Scheme,
+ Host: u.Host,
+ Path: fmt.Sprintf("/folder/%s", path),
+ RawQuery: url.Values{
+ "dcPath": []string{d.DatacenterPath},
+ "dsName": []string{d.Name()},
+ }.Encode(),
+ }
+}
+
+// URL is deprecated, use NewURL instead.
+func (d Datastore) URL(ctx context.Context, dc *Datacenter, path string) (*url.URL, error) {
+ return d.NewURL(path), nil
+}
+
+func (d Datastore) Browser(ctx context.Context) (*HostDatastoreBrowser, error) {
+ var do mo.Datastore
+
+ err := d.Properties(ctx, d.Reference(), []string{"browser"}, &do)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostDatastoreBrowser(d.c, do.Browser), nil
+}
+
+func (d Datastore) useServiceTicket() bool {
+ // If connected to workstation, service ticketing not supported
+ // If connected to ESX, service ticketing not needed
+ if !d.c.IsVC() {
+ return false
+ }
+
+ key := "GOVMOMI_USE_SERVICE_TICKET"
+
+ val := d.c.URL().Query().Get(key)
+ if val == "" {
+ val = os.Getenv(key)
+ }
+
+ if val == "1" || val == "true" {
+ return true
+ }
+
+ return false
+}
+
+func (d Datastore) useServiceTicketHostName(name string) bool {
+ // No need if talking directly to ESX.
+ if !d.c.IsVC() {
+ return false
+ }
+
+ // If version happens to be < 5.1
+ if name == "" {
+ return false
+ }
+
+ // If the HostSystem is using DHCP on a network without dynamic DNS,
+ // HostSystem.Config.Network.DnsConfig.HostName is set to "localhost" by default.
+ // This resolves to "localhost.localdomain" by default via /etc/hosts on ESX.
+ // In that case, we will stick with the HostSystem.Name which is the IP address that
+ // was used to connect the host to VC.
+ if name == "localhost.localdomain" {
+ return false
+ }
+
+ // Still possible to have HostName that don't resolve via DNS,
+ // so we default to false.
+ key := "GOVMOMI_USE_SERVICE_TICKET_HOSTNAME"
+
+ val := d.c.URL().Query().Get(key)
+ if val == "" {
+ val = os.Getenv(key)
+ }
+
+ if val == "1" || val == "true" {
+ return true
+ }
+
+ return false
+}
+
+type datastoreServiceTicketHostKey struct{}
+
+// HostContext returns a Context where the given host will be used for datastore HTTP access
+// via the ServiceTicket method.
+func (d Datastore) HostContext(ctx context.Context, host *HostSystem) context.Context {
+ return context.WithValue(ctx, datastoreServiceTicketHostKey{}, host)
+}
+
+// ServiceTicket obtains a ticket via AcquireGenericServiceTicket and returns it an http.Cookie with the url.URL
+// that can be used along with the ticket cookie to access the given path. An host is chosen at random unless the
+// the given Context was created with a specific host via the HostContext method.
+func (d Datastore) ServiceTicket(ctx context.Context, path string, method string) (*url.URL, *http.Cookie, error) {
+ u := d.NewURL(path)
+
+ host, ok := ctx.Value(datastoreServiceTicketHostKey{}).(*HostSystem)
+
+ if !ok {
+ if !d.useServiceTicket() {
+ return u, nil, nil
+ }
+
+ hosts, err := d.AttachedHosts(ctx)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ if len(hosts) == 0 {
+ // Fallback to letting vCenter choose a host
+ return u, nil, nil
+ }
+
+ // Pick a random attached host
+ host = hosts[rand.Intn(len(hosts))]
+ }
+
+ ips, err := host.ManagementIPs(ctx)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ if len(ips) > 0 {
+ // prefer a ManagementIP
+ u.Host = ips[0].String()
+ } else {
+ // fallback to inventory name
+ u.Host, err = host.ObjectName(ctx)
+ if err != nil {
+ return nil, nil, err
+ }
+ }
+
+ // VC datacenter path will not be valid against ESX
+ q := u.Query()
+ delete(q, "dcPath")
+ u.RawQuery = q.Encode()
+
+ spec := types.SessionManagerHttpServiceRequestSpec{
+ Url: u.String(),
+ // See SessionManagerHttpServiceRequestSpecMethod enum
+ Method: fmt.Sprintf("http%s%s", method[0:1], strings.ToLower(method[1:])),
+ }
+
+ sm := session.NewManager(d.Client())
+
+ ticket, err := sm.AcquireGenericServiceTicket(ctx, &spec)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ cookie := &http.Cookie{
+ Name: "vmware_cgi_ticket",
+ Value: ticket.Id,
+ }
+
+ if d.useServiceTicketHostName(ticket.HostName) {
+ u.Host = ticket.HostName
+ }
+
+ d.Client().SetThumbprint(u.Host, ticket.SslThumbprint)
+
+ return u, cookie, nil
+}
+
+func (d Datastore) uploadTicket(ctx context.Context, path string, param *soap.Upload) (*url.URL, *soap.Upload, error) {
+ p := soap.DefaultUpload
+ if param != nil {
+ p = *param // copy
+ }
+
+ u, ticket, err := d.ServiceTicket(ctx, path, p.Method)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ p.Ticket = ticket
+
+ return u, &p, nil
+}
+
+func (d Datastore) downloadTicket(ctx context.Context, path string, param *soap.Download) (*url.URL, *soap.Download, error) {
+ p := soap.DefaultDownload
+ if param != nil {
+ p = *param // copy
+ }
+
+ u, ticket, err := d.ServiceTicket(ctx, path, p.Method)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ p.Ticket = ticket
+
+ return u, &p, nil
+}
+
+// Upload via soap.Upload with an http service ticket
+func (d Datastore) Upload(ctx context.Context, f io.Reader, path string, param *soap.Upload) error {
+ u, p, err := d.uploadTicket(ctx, path, param)
+ if err != nil {
+ return err
+ }
+ return d.Client().Upload(f, u, p)
+}
+
+// UploadFile via soap.Upload with an http service ticket
+func (d Datastore) UploadFile(ctx context.Context, file string, path string, param *soap.Upload) error {
+ u, p, err := d.uploadTicket(ctx, path, param)
+ if err != nil {
+ return err
+ }
+ return d.Client().UploadFile(file, u, p)
+}
+
+// Download via soap.Download with an http service ticket
+func (d Datastore) Download(ctx context.Context, path string, param *soap.Download) (io.ReadCloser, int64, error) {
+ u, p, err := d.downloadTicket(ctx, path, param)
+ if err != nil {
+ return nil, 0, err
+ }
+ return d.Client().Download(u, p)
+}
+
+// DownloadFile via soap.Download with an http service ticket
+func (d Datastore) DownloadFile(ctx context.Context, path string, file string, param *soap.Download) error {
+ u, p, err := d.downloadTicket(ctx, path, param)
+ if err != nil {
+ return err
+ }
+ return d.Client().DownloadFile(file, u, p)
+}
+
+// AttachedHosts returns hosts that have this Datastore attached, accessible and writable.
+func (d Datastore) AttachedHosts(ctx context.Context) ([]*HostSystem, error) {
+ var ds mo.Datastore
+ var hosts []*HostSystem
+
+ pc := property.DefaultCollector(d.Client())
+ err := pc.RetrieveOne(ctx, d.Reference(), []string{"host"}, &ds)
+ if err != nil {
+ return nil, err
+ }
+
+ mounts := make(map[types.ManagedObjectReference]types.DatastoreHostMount)
+ var refs []types.ManagedObjectReference
+ for _, host := range ds.Host {
+ refs = append(refs, host.Key)
+ mounts[host.Key] = host
+ }
+
+ var hs []mo.HostSystem
+ err = pc.Retrieve(ctx, refs, []string{"runtime.connectionState", "runtime.powerState"}, &hs)
+ if err != nil {
+ return nil, err
+ }
+
+ for _, host := range hs {
+ if host.Runtime.ConnectionState == types.HostSystemConnectionStateConnected &&
+ host.Runtime.PowerState == types.HostSystemPowerStatePoweredOn {
+
+ mount := mounts[host.Reference()]
+ info := mount.MountInfo
+
+ if *info.Mounted && *info.Accessible && info.AccessMode == string(types.HostMountModeReadWrite) {
+ hosts = append(hosts, NewHostSystem(d.Client(), mount.Key))
+ }
+ }
+ }
+
+ return hosts, nil
+}
+
+// AttachedClusterHosts returns hosts that have this Datastore attached, accessible and writable and are members of the given cluster.
+func (d Datastore) AttachedClusterHosts(ctx context.Context, cluster *ComputeResource) ([]*HostSystem, error) {
+ var hosts []*HostSystem
+
+ clusterHosts, err := cluster.Hosts(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ attachedHosts, err := d.AttachedHosts(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ refs := make(map[types.ManagedObjectReference]bool)
+ for _, host := range attachedHosts {
+ refs[host.Reference()] = true
+ }
+
+ for _, host := range clusterHosts {
+ if refs[host.Reference()] {
+ hosts = append(hosts, host)
+ }
+ }
+
+ return hosts, nil
+}
+
+func (d Datastore) Stat(ctx context.Context, file string) (types.BaseFileInfo, error) {
+ b, err := d.Browser(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ spec := types.HostDatastoreBrowserSearchSpec{
+ Details: &types.FileQueryFlags{
+ FileType: true,
+ FileSize: true,
+ Modification: true,
+ FileOwner: types.NewBool(true),
+ },
+ MatchPattern: []string{path.Base(file)},
+ }
+
+ dsPath := d.Path(path.Dir(file))
+ task, err := b.SearchDatastore(ctx, dsPath, &spec)
+ if err != nil {
+ return nil, err
+ }
+
+ info, err := task.WaitForResult(ctx, nil)
+ if err != nil {
+ if info == nil || info.Error != nil {
+ _, ok := info.Error.Fault.(*types.FileNotFound)
+ if ok {
+ // FileNotFound means the base path doesn't exist.
+ return nil, DatastoreNoSuchDirectoryError{"stat", dsPath}
+ }
+ }
+
+ return nil, err
+ }
+
+ res := info.Result.(types.HostDatastoreBrowserSearchResults)
+ if len(res.File) == 0 {
+ // File doesn't exist
+ return nil, DatastoreNoSuchFileError{"stat", d.Path(file)}
+ }
+
+ return res.File[0], nil
+
+}
+
+// Type returns the type of file system volume.
+func (d Datastore) Type(ctx context.Context) (types.HostFileSystemVolumeFileSystemType, error) {
+ var mds mo.Datastore
+
+ if err := d.Properties(ctx, d.Reference(), []string{"summary.type"}, &mds); err != nil {
+ return types.HostFileSystemVolumeFileSystemType(""), err
+ }
+ return types.HostFileSystemVolumeFileSystemType(mds.Summary.Type), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file.go
new file mode 100644
index 00000000..d4813a75
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file.go
@@ -0,0 +1,408 @@
+/*
+Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "bytes"
+ "context"
+ "errors"
+ "fmt"
+ "io"
+ "net/http"
+ "os"
+ "path"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/soap"
+)
+
+// DatastoreFile implements io.Reader, io.Seeker and io.Closer interfaces for datastore file access.
+type DatastoreFile struct {
+ d Datastore
+ ctx context.Context
+ name string
+
+ buf io.Reader
+ body io.ReadCloser
+ length int64
+ offset struct {
+ read, seek int64
+ }
+}
+
+// Open opens the named file relative to the Datastore.
+func (d Datastore) Open(ctx context.Context, name string) (*DatastoreFile, error) {
+ return &DatastoreFile{
+ d: d,
+ name: name,
+ length: -1,
+ ctx: ctx,
+ }, nil
+}
+
+// Read reads up to len(b) bytes from the DatastoreFile.
+func (f *DatastoreFile) Read(b []byte) (int, error) {
+ if f.offset.read != f.offset.seek {
+ // A Seek() call changed the offset, we need to issue a new GET
+ _ = f.Close()
+
+ f.offset.read = f.offset.seek
+ } else if f.buf != nil {
+ // f.buf + f behaves like an io.MultiReader
+ n, err := f.buf.Read(b)
+ if err == io.EOF {
+ f.buf = nil // buffer has been drained
+ }
+ if n > 0 {
+ return n, nil
+ }
+ }
+
+ body, err := f.get()
+ if err != nil {
+ return 0, err
+ }
+
+ n, err := body.Read(b)
+
+ f.offset.read += int64(n)
+ f.offset.seek += int64(n)
+
+ return n, err
+}
+
+// Close closes the DatastoreFile.
+func (f *DatastoreFile) Close() error {
+ var err error
+
+ if f.body != nil {
+ err = f.body.Close()
+ f.body = nil
+ }
+
+ f.buf = nil
+
+ return err
+}
+
+// Seek sets the offset for the next Read on the DatastoreFile.
+func (f *DatastoreFile) Seek(offset int64, whence int) (int64, error) {
+ switch whence {
+ case io.SeekStart:
+ case io.SeekCurrent:
+ offset += f.offset.seek
+ case io.SeekEnd:
+ if f.length < 0 {
+ _, err := f.Stat()
+ if err != nil {
+ return 0, err
+ }
+ }
+ offset += f.length
+ default:
+ return 0, errors.New("Seek: invalid whence")
+ }
+
+ // allow negative SeekStart for initial Range request
+ if offset < 0 {
+ return 0, errors.New("Seek: invalid offset")
+ }
+
+ f.offset.seek = offset
+
+ return offset, nil
+}
+
+type fileStat struct {
+ file *DatastoreFile
+ header http.Header
+}
+
+func (s *fileStat) Name() string {
+ return path.Base(s.file.name)
+}
+
+func (s *fileStat) Size() int64 {
+ return s.file.length
+}
+
+func (s *fileStat) Mode() os.FileMode {
+ return 0
+}
+
+func (s *fileStat) ModTime() time.Time {
+ return time.Now() // no Last-Modified
+}
+
+func (s *fileStat) IsDir() bool {
+ return false
+}
+
+func (s *fileStat) Sys() interface{} {
+ return s.header
+}
+
+func statusError(res *http.Response) error {
+ if res.StatusCode == http.StatusNotFound {
+ return os.ErrNotExist
+ }
+ return errors.New(res.Status)
+}
+
+// Stat returns the os.FileInfo interface describing file.
+func (f *DatastoreFile) Stat() (os.FileInfo, error) {
+ // TODO: consider using Datastore.Stat() instead
+ u, p, err := f.d.downloadTicket(f.ctx, f.name, &soap.Download{Method: "HEAD"})
+ if err != nil {
+ return nil, err
+ }
+
+ res, err := f.d.Client().DownloadRequest(u, p)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.StatusCode != http.StatusOK {
+ return nil, statusError(res)
+ }
+
+ f.length = res.ContentLength
+
+ return &fileStat{f, res.Header}, nil
+}
+
+func (f *DatastoreFile) get() (io.Reader, error) {
+ if f.body != nil {
+ return f.body, nil
+ }
+
+ u, p, err := f.d.downloadTicket(f.ctx, f.name, nil)
+ if err != nil {
+ return nil, err
+ }
+
+ if f.offset.read != 0 {
+ p.Headers = map[string]string{
+ "Range": fmt.Sprintf("bytes=%d-", f.offset.read),
+ }
+ }
+
+ res, err := f.d.Client().DownloadRequest(u, p)
+ if err != nil {
+ return nil, err
+ }
+
+ switch res.StatusCode {
+ case http.StatusOK:
+ f.length = res.ContentLength
+ case http.StatusPartialContent:
+ var start, end int
+ cr := res.Header.Get("Content-Range")
+ _, err = fmt.Sscanf(cr, "bytes %d-%d/%d", &start, &end, &f.length)
+ if err != nil {
+ f.length = -1
+ }
+ case http.StatusRequestedRangeNotSatisfiable:
+ // ok: Read() will return io.EOF
+ default:
+ return nil, statusError(res)
+ }
+
+ if f.length < 0 {
+ _ = res.Body.Close()
+ return nil, errors.New("unable to determine file size")
+ }
+
+ f.body = res.Body
+
+ return f.body, nil
+}
+
+func lastIndexLines(s []byte, line *int, include func(l int, m string) bool) (int64, bool) {
+ i := len(s) - 1
+ done := false
+
+ for i > 0 {
+ o := bytes.LastIndexByte(s[:i], '\n')
+ if o < 0 {
+ break
+ }
+
+ msg := string(s[o+1 : i+1])
+ if !include(*line, msg) {
+ done = true
+ break
+ } else {
+ i = o
+ *line++
+ }
+ }
+
+ return int64(i), done
+}
+
+// Tail seeks to the position of the last N lines of the file.
+func (f *DatastoreFile) Tail(n int) error {
+ return f.TailFunc(n, func(line int, _ string) bool { return n > line })
+}
+
+// TailFunc will seek backwards in the datastore file until it hits a line that does
+// not satisfy the supplied `include` function.
+func (f *DatastoreFile) TailFunc(lines int, include func(line int, message string) bool) error {
+ // Read the file in reverse using bsize chunks
+ const bsize = int64(1024 * 16)
+
+ fsize, err := f.Seek(0, io.SeekEnd)
+ if err != nil {
+ return err
+ }
+
+ if lines == 0 {
+ return nil
+ }
+
+ chunk := int64(-1)
+
+ buf := bytes.NewBuffer(make([]byte, 0, bsize))
+ line := 0
+
+ for {
+ var eof bool
+ var pos int64
+
+ nread := bsize
+
+ offset := chunk * bsize
+ remain := fsize + offset
+
+ if remain < 0 {
+ if pos, err = f.Seek(0, io.SeekStart); err != nil {
+ return err
+ }
+
+ nread = bsize + remain
+ eof = true
+ } else {
+ if pos, err = f.Seek(offset, io.SeekEnd); err != nil {
+ return err
+ }
+ }
+
+ if _, err = io.CopyN(buf, f, nread); err != nil {
+ if err != io.EOF {
+ return err
+ }
+ }
+
+ b := buf.Bytes()
+ idx, done := lastIndexLines(b, &line, include)
+
+ if done {
+ if chunk == -1 {
+ // We found all N lines in the last chunk of the file.
+ // The seek offset is also now at the current end of file.
+ // Save this buffer to avoid another GET request when Read() is called.
+ buf.Next(int(idx + 1))
+ f.buf = buf
+ return nil
+ }
+
+ if _, err = f.Seek(pos+idx+1, io.SeekStart); err != nil {
+ return err
+ }
+
+ break
+ }
+
+ if eof {
+ if remain < 0 {
+ // We found < N lines in the entire file, so seek to the start.
+ _, _ = f.Seek(0, io.SeekStart)
+ }
+ break
+ }
+
+ chunk--
+ buf.Reset()
+ }
+
+ return nil
+}
+
+type followDatastoreFile struct {
+ r *DatastoreFile
+ c chan struct{}
+ i time.Duration
+}
+
+// Read reads up to len(b) bytes from the DatastoreFile being followed.
+// This method will block until data is read, an error other than io.EOF is returned or Close() is called.
+func (f *followDatastoreFile) Read(p []byte) (int, error) {
+ offset := f.r.offset.seek
+ stop := false
+
+ for {
+ n, err := f.r.Read(p)
+ if err != nil && err == io.EOF {
+ _ = f.r.Close() // GET request body has been drained.
+ if stop {
+ return n, err
+ }
+ err = nil
+ }
+
+ if n > 0 {
+ return n, err
+ }
+
+ select {
+ case <-f.c:
+ // Wake up and stop polling once the body has been drained
+ stop = true
+ case <-time.After(f.i):
+ }
+
+ info, serr := f.r.Stat()
+ if serr != nil {
+ // Return EOF rather than 404 if the file goes away
+ if serr == os.ErrNotExist {
+ _ = f.r.Close()
+ return 0, io.EOF
+ }
+ return 0, serr
+ }
+
+ if info.Size() < offset {
+ // assume file has be truncated
+ offset, err = f.r.Seek(0, io.SeekStart)
+ if err != nil {
+ return 0, err
+ }
+ }
+ }
+}
+
+// Close will stop Follow polling and close the underlying DatastoreFile.
+func (f *followDatastoreFile) Close() error {
+ close(f.c)
+ return nil
+}
+
+// Follow returns an io.ReadCloser to stream the file contents as data is appended.
+func (f *DatastoreFile) Follow(interval time.Duration) io.ReadCloser {
+ return &followDatastoreFile{f, make(chan struct{}), interval}
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go
new file mode 100644
index 00000000..7164fbbe
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go
@@ -0,0 +1,145 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "bufio"
+ "bytes"
+ "context"
+ "fmt"
+ "io"
+ "log"
+ "path"
+ "strings"
+
+ "github.com/vmware/govmomi/vim25/soap"
+)
+
+// DatastoreFileManager combines FileManager and VirtualDiskManager to manage files on a Datastore
+type DatastoreFileManager struct {
+ Datacenter *Datacenter
+ Datastore *Datastore
+ FileManager *FileManager
+ VirtualDiskManager *VirtualDiskManager
+
+ Force bool
+}
+
+// NewFileManager creates a new instance of DatastoreFileManager
+func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileManager {
+ c := d.Client()
+
+ m := &DatastoreFileManager{
+ Datacenter: dc,
+ Datastore: &d,
+ FileManager: NewFileManager(c),
+ VirtualDiskManager: NewVirtualDiskManager(c),
+ Force: force,
+ }
+
+ return m
+}
+
+// Delete dispatches to the appropriate Delete method based on file name extension
+func (m *DatastoreFileManager) Delete(ctx context.Context, name string) error {
+ switch path.Ext(name) {
+ case ".vmdk":
+ return m.DeleteVirtualDisk(ctx, name)
+ default:
+ return m.DeleteFile(ctx, name)
+ }
+}
+
+// DeleteFile calls FileManager.DeleteDatastoreFile
+func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) error {
+ p := m.Path(name)
+
+ task, err := m.FileManager.DeleteDatastoreFile(ctx, p.String(), m.Datacenter)
+ if err != nil {
+ return err
+ }
+
+ return task.Wait(ctx)
+}
+
+// DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk
+// Regardless of the Datastore type, DeleteVirtualDisk will fail if 'ddb.deletable=false',
+// so if Force=true this method attempts to set 'ddb.deletable=true' before starting the delete task.
+func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name string) error {
+ p := m.Path(name)
+
+ var merr error
+
+ if m.Force {
+ merr = m.markDiskAsDeletable(ctx, p)
+ }
+
+ task, err := m.VirtualDiskManager.DeleteVirtualDisk(ctx, p.String(), m.Datacenter)
+ if err != nil {
+ log.Printf("markDiskAsDeletable(%s): %s", p, merr)
+ return err
+ }
+
+ return task.Wait(ctx)
+}
+
+// Path converts path name to a DatastorePath
+func (m *DatastoreFileManager) Path(name string) *DatastorePath {
+ var p DatastorePath
+
+ if !p.FromString(name) {
+ p.Path = name
+ p.Datastore = m.Datastore.Name()
+ }
+
+ return &p
+}
+
+func (m *DatastoreFileManager) markDiskAsDeletable(ctx context.Context, path *DatastorePath) error {
+ r, _, err := m.Datastore.Download(ctx, path.Path, &soap.DefaultDownload)
+ if err != nil {
+ return err
+ }
+
+ defer r.Close()
+
+ hasFlag := false
+ buf := new(bytes.Buffer)
+
+ s := bufio.NewScanner(&io.LimitedReader{R: r, N: 2048}) // should be only a few hundred bytes, limit to be sure
+
+ for s.Scan() {
+ line := s.Text()
+ if strings.HasPrefix(line, "ddb.deletable") {
+ hasFlag = true
+ continue
+ }
+
+ fmt.Fprintln(buf, line)
+ }
+
+ if err := s.Err(); err != nil {
+ return err // any error other than EOF
+ }
+
+ if !hasFlag {
+ return nil // already deletable, so leave as-is
+ }
+
+ // rewrite the .vmdk with ddb.deletable flag removed (the default is true)
+ return m.Datastore.Upload(ctx, buf, path.Path, &soap.DefaultUpload)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_path.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_path.go
new file mode 100644
index 00000000..ea152103
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/datastore_path.go
@@ -0,0 +1,65 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "fmt"
+ "strings"
+)
+
+// DatastorePath contains the components of a datastore path.
+type DatastorePath struct {
+ Datastore string
+ Path string
+}
+
+// FromString parses a datastore path.
+// Returns true if the path could be parsed, false otherwise.
+func (p *DatastorePath) FromString(s string) bool {
+ if len(s) == 0 {
+ return false
+ }
+
+ s = strings.TrimSpace(s)
+
+ if !strings.HasPrefix(s, "[") {
+ return false
+ }
+
+ s = s[1:]
+
+ ix := strings.Index(s, "]")
+ if ix < 0 {
+ return false
+ }
+
+ p.Datastore = s[:ix]
+ p.Path = strings.TrimSpace(s[ix+1:])
+
+ return true
+}
+
+// String formats a datastore path.
+func (p *DatastorePath) String() string {
+ s := fmt.Sprintf("[%s]", p.Datastore)
+
+ if p.Path == "" {
+ return s
+ }
+
+ return strings.Join([]string{s, p.Path}, " ")
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_log.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_log.go
new file mode 100644
index 00000000..466d0ee9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_log.go
@@ -0,0 +1,76 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "fmt"
+ "io"
+ "math"
+)
+
+// DiagnosticLog wraps DiagnosticManager.BrowseLog
+type DiagnosticLog struct {
+ m DiagnosticManager
+
+ Key string
+ Host *HostSystem
+
+ Start int32
+}
+
+// Seek to log position starting at the last nlines of the log
+func (l *DiagnosticLog) Seek(ctx context.Context, nlines int32) error {
+ h, err := l.m.BrowseLog(ctx, l.Host, l.Key, math.MaxInt32, 0)
+ if err != nil {
+ return err
+ }
+
+ l.Start = h.LineEnd - nlines
+
+ return nil
+}
+
+// Copy log starting from l.Start to the given io.Writer
+// Returns on error or when end of log is reached.
+func (l *DiagnosticLog) Copy(ctx context.Context, w io.Writer) (int, error) {
+ const max = 500 // VC max == 500, ESX max == 1000
+ written := 0
+
+ for {
+ h, err := l.m.BrowseLog(ctx, l.Host, l.Key, l.Start, max)
+ if err != nil {
+ return 0, err
+ }
+
+ for _, line := range h.LineText {
+ n, err := fmt.Fprintln(w, line)
+ written += n
+ if err != nil {
+ return written, err
+ }
+ }
+
+ l.Start += int32(len(h.LineText))
+
+ if l.Start >= h.LineEnd {
+ break
+ }
+ }
+
+ return written, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go
new file mode 100644
index 00000000..5baf1ad9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go
@@ -0,0 +1,104 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DiagnosticManager struct {
+ Common
+}
+
+func NewDiagnosticManager(c *vim25.Client) *DiagnosticManager {
+ m := DiagnosticManager{
+ Common: NewCommon(c, *c.ServiceContent.DiagnosticManager),
+ }
+
+ return &m
+}
+
+func (m DiagnosticManager) Log(ctx context.Context, host *HostSystem, key string) *DiagnosticLog {
+ return &DiagnosticLog{
+ m: m,
+ Key: key,
+ Host: host,
+ }
+}
+
+func (m DiagnosticManager) BrowseLog(ctx context.Context, host *HostSystem, key string, start, lines int32) (*types.DiagnosticManagerLogHeader, error) {
+ req := types.BrowseDiagnosticLog{
+ This: m.Reference(),
+ Key: key,
+ Start: start,
+ Lines: lines,
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.BrowseDiagnosticLog(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (m DiagnosticManager) GenerateLogBundles(ctx context.Context, includeDefault bool, host []*HostSystem) (*Task, error) {
+ req := types.GenerateLogBundles_Task{
+ This: m.Reference(),
+ IncludeDefault: includeDefault,
+ }
+
+ if host != nil {
+ for _, h := range host {
+ req.Host = append(req.Host, h.Reference())
+ }
+ }
+
+ res, err := methods.GenerateLogBundles_Task(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(m.c, res.Returnval), nil
+}
+
+func (m DiagnosticManager) QueryDescriptions(ctx context.Context, host *HostSystem) ([]types.DiagnosticManagerLogDescriptor, error) {
+ req := types.QueryDescriptions{
+ This: m.Reference(),
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.QueryDescriptions(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go
new file mode 100644
index 00000000..864bb783
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go
@@ -0,0 +1,73 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DistributedVirtualPortgroup struct {
+ Common
+}
+
+func NewDistributedVirtualPortgroup(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualPortgroup {
+ return &DistributedVirtualPortgroup{
+ Common: NewCommon(c, ref),
+ }
+}
+
+// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this DistributedVirtualPortgroup
+func (p DistributedVirtualPortgroup) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) {
+ var dvp mo.DistributedVirtualPortgroup
+ var dvs mo.VmwareDistributedVirtualSwitch // TODO: should be mo.BaseDistributedVirtualSwitch
+
+ if err := p.Properties(ctx, p.Reference(), []string{"key", "config.distributedVirtualSwitch"}, &dvp); err != nil {
+ return nil, err
+ }
+
+ if err := p.Properties(ctx, *dvp.Config.DistributedVirtualSwitch, []string{"uuid"}, &dvs); err != nil {
+ return nil, err
+ }
+
+ backing := &types.VirtualEthernetCardDistributedVirtualPortBackingInfo{
+ Port: types.DistributedVirtualSwitchPortConnection{
+ PortgroupKey: dvp.Key,
+ SwitchUuid: dvs.Uuid,
+ },
+ }
+
+ return backing, nil
+}
+
+func (p DistributedVirtualPortgroup) Reconfigure(ctx context.Context, spec types.DVPortgroupConfigSpec) (*Task, error) {
+ req := types.ReconfigureDVPortgroup_Task{
+ This: p.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.ReconfigureDVPortgroup_Task(ctx, p.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.Client(), res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go
new file mode 100644
index 00000000..29ee52d9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go
@@ -0,0 +1,67 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DistributedVirtualSwitch struct {
+ Common
+}
+
+func NewDistributedVirtualSwitch(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualSwitch {
+ return &DistributedVirtualSwitch{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s DistributedVirtualSwitch) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) {
+ return nil, ErrNotSupported // TODO: just to satisfy NetworkReference interface for the finder
+}
+
+func (s DistributedVirtualSwitch) Reconfigure(ctx context.Context, spec types.BaseDVSConfigSpec) (*Task, error) {
+ req := types.ReconfigureDvs_Task{
+ This: s.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.ReconfigureDvs_Task(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.Client(), res.Returnval), nil
+}
+
+func (s DistributedVirtualSwitch) AddPortgroup(ctx context.Context, spec []types.DVPortgroupConfigSpec) (*Task, error) {
+ req := types.AddDVPortgroup_Task{
+ This: s.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.AddDVPortgroup_Task(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.Client(), res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/extension_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/extension_manager.go
new file mode 100644
index 00000000..94ade017
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/extension_manager.go
@@ -0,0 +1,113 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type ExtensionManager struct {
+ Common
+}
+
+// GetExtensionManager wraps NewExtensionManager, returning ErrNotSupported
+// when the client is not connected to a vCenter instance.
+func GetExtensionManager(c *vim25.Client) (*ExtensionManager, error) {
+ if c.ServiceContent.ExtensionManager == nil {
+ return nil, ErrNotSupported
+ }
+ return NewExtensionManager(c), nil
+}
+
+func NewExtensionManager(c *vim25.Client) *ExtensionManager {
+ o := ExtensionManager{
+ Common: NewCommon(c, *c.ServiceContent.ExtensionManager),
+ }
+
+ return &o
+}
+
+func (m ExtensionManager) List(ctx context.Context) ([]types.Extension, error) {
+ var em mo.ExtensionManager
+
+ err := m.Properties(ctx, m.Reference(), []string{"extensionList"}, &em)
+ if err != nil {
+ return nil, err
+ }
+
+ return em.ExtensionList, nil
+}
+
+func (m ExtensionManager) Find(ctx context.Context, key string) (*types.Extension, error) {
+ req := types.FindExtension{
+ This: m.Reference(),
+ ExtensionKey: key,
+ }
+
+ res, err := methods.FindExtension(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m ExtensionManager) Register(ctx context.Context, extension types.Extension) error {
+ req := types.RegisterExtension{
+ This: m.Reference(),
+ Extension: extension,
+ }
+
+ _, err := methods.RegisterExtension(ctx, m.c, &req)
+ return err
+}
+
+func (m ExtensionManager) SetCertificate(ctx context.Context, key string, certificatePem string) error {
+ req := types.SetExtensionCertificate{
+ This: m.Reference(),
+ ExtensionKey: key,
+ CertificatePem: certificatePem,
+ }
+
+ _, err := methods.SetExtensionCertificate(ctx, m.c, &req)
+ return err
+}
+
+func (m ExtensionManager) Unregister(ctx context.Context, key string) error {
+ req := types.UnregisterExtension{
+ This: m.Reference(),
+ ExtensionKey: key,
+ }
+
+ _, err := methods.UnregisterExtension(ctx, m.c, &req)
+ return err
+}
+
+func (m ExtensionManager) Update(ctx context.Context, extension types.Extension) error {
+ req := types.UpdateExtension{
+ This: m.Reference(),
+ Extension: extension,
+ }
+
+ _, err := methods.UpdateExtension(ctx, m.c, &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/file_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/file_manager.go
new file mode 100644
index 00000000..ba947be2
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/file_manager.go
@@ -0,0 +1,126 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type FileManager struct {
+ Common
+}
+
+func NewFileManager(c *vim25.Client) *FileManager {
+ f := FileManager{
+ Common: NewCommon(c, *c.ServiceContent.FileManager),
+ }
+
+ return &f
+}
+
+func (f FileManager) CopyDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error) {
+ req := types.CopyDatastoreFile_Task{
+ This: f.Reference(),
+ SourceName: sourceName,
+ DestinationName: destinationName,
+ Force: types.NewBool(force),
+ }
+
+ if sourceDatacenter != nil {
+ ref := sourceDatacenter.Reference()
+ req.SourceDatacenter = &ref
+ }
+
+ if destinationDatacenter != nil {
+ ref := destinationDatacenter.Reference()
+ req.DestinationDatacenter = &ref
+ }
+
+ res, err := methods.CopyDatastoreFile_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+// DeleteDatastoreFile deletes the specified file or folder from the datastore.
+func (f FileManager) DeleteDatastoreFile(ctx context.Context, name string, dc *Datacenter) (*Task, error) {
+ req := types.DeleteDatastoreFile_Task{
+ This: f.Reference(),
+ Name: name,
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.DeleteDatastoreFile_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+// MakeDirectory creates a folder using the specified name.
+func (f FileManager) MakeDirectory(ctx context.Context, name string, dc *Datacenter, createParentDirectories bool) error {
+ req := types.MakeDirectory{
+ This: f.Reference(),
+ Name: name,
+ CreateParentDirectories: types.NewBool(createParentDirectories),
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ _, err := methods.MakeDirectory(ctx, f.c, &req)
+ return err
+}
+
+func (f FileManager) MoveDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error) {
+ req := types.MoveDatastoreFile_Task{
+ This: f.Reference(),
+ SourceName: sourceName,
+ DestinationName: destinationName,
+ Force: types.NewBool(force),
+ }
+
+ if sourceDatacenter != nil {
+ ref := sourceDatacenter.Reference()
+ req.SourceDatacenter = &ref
+ }
+
+ if destinationDatacenter != nil {
+ ref := destinationDatacenter.Reference()
+ req.DestinationDatacenter = &ref
+ }
+
+ res, err := methods.MoveDatastoreFile_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/folder.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/folder.go
new file mode 100644
index 00000000..7a69949f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/folder.go
@@ -0,0 +1,227 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Folder struct {
+ Common
+}
+
+func NewFolder(c *vim25.Client, ref types.ManagedObjectReference) *Folder {
+ return &Folder{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func NewRootFolder(c *vim25.Client) *Folder {
+ f := NewFolder(c, c.ServiceContent.RootFolder)
+ f.InventoryPath = "/"
+ return f
+}
+
+func (f Folder) Children(ctx context.Context) ([]Reference, error) {
+ var mf mo.Folder
+
+ err := f.Properties(ctx, f.Reference(), []string{"childEntity"}, &mf)
+ if err != nil {
+ return nil, err
+ }
+
+ var rs []Reference
+ for _, e := range mf.ChildEntity {
+ if r := NewReference(f.c, e); r != nil {
+ rs = append(rs, r)
+ }
+ }
+
+ return rs, nil
+}
+
+func (f Folder) CreateDatacenter(ctx context.Context, datacenter string) (*Datacenter, error) {
+ req := types.CreateDatacenter{
+ This: f.Reference(),
+ Name: datacenter,
+ }
+
+ res, err := methods.CreateDatacenter(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ // Response will be nil if this is an ESX host that does not belong to a vCenter
+ if res == nil {
+ return nil, nil
+ }
+
+ return NewDatacenter(f.c, res.Returnval), nil
+}
+
+func (f Folder) CreateCluster(ctx context.Context, cluster string, spec types.ClusterConfigSpecEx) (*ClusterComputeResource, error) {
+ req := types.CreateClusterEx{
+ This: f.Reference(),
+ Name: cluster,
+ Spec: spec,
+ }
+
+ res, err := methods.CreateClusterEx(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ // Response will be nil if this is an ESX host that does not belong to a vCenter
+ if res == nil {
+ return nil, nil
+ }
+
+ return NewClusterComputeResource(f.c, res.Returnval), nil
+}
+
+func (f Folder) CreateFolder(ctx context.Context, name string) (*Folder, error) {
+ req := types.CreateFolder{
+ This: f.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.CreateFolder(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewFolder(f.c, res.Returnval), err
+}
+
+func (f Folder) CreateStoragePod(ctx context.Context, name string) (*StoragePod, error) {
+ req := types.CreateStoragePod{
+ This: f.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.CreateStoragePod(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewStoragePod(f.c, res.Returnval), err
+}
+
+func (f Folder) AddStandaloneHost(ctx context.Context, spec types.HostConnectSpec, addConnected bool, license *string, compResSpec *types.BaseComputeResourceConfigSpec) (*Task, error) {
+ req := types.AddStandaloneHost_Task{
+ This: f.Reference(),
+ Spec: spec,
+ AddConnected: addConnected,
+ }
+
+ if license != nil {
+ req.License = *license
+ }
+
+ if compResSpec != nil {
+ req.CompResSpec = *compResSpec
+ }
+
+ res, err := methods.AddStandaloneHost_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+func (f Folder) CreateVM(ctx context.Context, config types.VirtualMachineConfigSpec, pool *ResourcePool, host *HostSystem) (*Task, error) {
+ req := types.CreateVM_Task{
+ This: f.Reference(),
+ Config: config,
+ Pool: pool.Reference(),
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.CreateVM_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+func (f Folder) RegisterVM(ctx context.Context, path string, name string, asTemplate bool, pool *ResourcePool, host *HostSystem) (*Task, error) {
+ req := types.RegisterVM_Task{
+ This: f.Reference(),
+ Path: path,
+ AsTemplate: asTemplate,
+ }
+
+ if name != "" {
+ req.Name = name
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ if pool != nil {
+ ref := pool.Reference()
+ req.Pool = &ref
+ }
+
+ res, err := methods.RegisterVM_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+func (f Folder) CreateDVS(ctx context.Context, spec types.DVSCreateSpec) (*Task, error) {
+ req := types.CreateDVS_Task{
+ This: f.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.CreateDVS_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
+
+func (f Folder) MoveInto(ctx context.Context, list []types.ManagedObjectReference) (*Task, error) {
+ req := types.MoveIntoFolder_Task{
+ This: f.Reference(),
+ List: list,
+ }
+
+ res, err := methods.MoveIntoFolder_Task(ctx, f.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(f.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/history_collector.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/history_collector.go
new file mode 100644
index 00000000..afdcab78
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/history_collector.go
@@ -0,0 +1,72 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HistoryCollector struct {
+ Common
+}
+
+func NewHistoryCollector(c *vim25.Client, ref types.ManagedObjectReference) *HistoryCollector {
+ return &HistoryCollector{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (h HistoryCollector) Destroy(ctx context.Context) error {
+ req := types.DestroyCollector{
+ This: h.Reference(),
+ }
+
+ _, err := methods.DestroyCollector(ctx, h.c, &req)
+ return err
+}
+
+func (h HistoryCollector) Reset(ctx context.Context) error {
+ req := types.ResetCollector{
+ This: h.Reference(),
+ }
+
+ _, err := methods.ResetCollector(ctx, h.c, &req)
+ return err
+}
+
+func (h HistoryCollector) Rewind(ctx context.Context) error {
+ req := types.RewindCollector{
+ This: h.Reference(),
+ }
+
+ _, err := methods.RewindCollector(ctx, h.c, &req)
+ return err
+}
+
+func (h HistoryCollector) SetPageSize(ctx context.Context, maxCount int32) error {
+ req := types.SetCollectorPageSize{
+ This: h.Reference(),
+ MaxCount: maxCount,
+ }
+
+ _, err := methods.SetCollectorPageSize(ctx, h.c, &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_account_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_account_manager.go
new file mode 100644
index 00000000..640aff86
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_account_manager.go
@@ -0,0 +1,65 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostAccountManager struct {
+ Common
+}
+
+func NewHostAccountManager(c *vim25.Client, ref types.ManagedObjectReference) *HostAccountManager {
+ return &HostAccountManager{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (m HostAccountManager) Create(ctx context.Context, user *types.HostAccountSpec) error {
+ req := types.CreateUser{
+ This: m.Reference(),
+ User: user,
+ }
+
+ _, err := methods.CreateUser(ctx, m.Client(), &req)
+ return err
+}
+
+func (m HostAccountManager) Update(ctx context.Context, user *types.HostAccountSpec) error {
+ req := types.UpdateUser{
+ This: m.Reference(),
+ User: user,
+ }
+
+ _, err := methods.UpdateUser(ctx, m.Client(), &req)
+ return err
+}
+
+func (m HostAccountManager) Remove(ctx context.Context, userName string) error {
+ req := types.RemoveUser{
+ This: m.Reference(),
+ UserName: userName,
+ }
+
+ _, err := methods.RemoveUser(ctx, m.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_info.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_info.go
new file mode 100644
index 00000000..52c26a9d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_info.go
@@ -0,0 +1,250 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "crypto/sha256"
+ "crypto/tls"
+ "crypto/x509"
+ "crypto/x509/pkix"
+ "encoding/asn1"
+ "fmt"
+ "io"
+ "net/url"
+ "strings"
+ "text/tabwriter"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// HostCertificateInfo provides helpers for types.HostCertificateManagerCertificateInfo
+type HostCertificateInfo struct {
+ types.HostCertificateManagerCertificateInfo
+
+ ThumbprintSHA1 string
+ ThumbprintSHA256 string
+
+ Err error
+ Certificate *x509.Certificate `json:"-"`
+
+ subjectName *pkix.Name
+ issuerName *pkix.Name
+}
+
+// FromCertificate converts x509.Certificate to HostCertificateInfo
+func (info *HostCertificateInfo) FromCertificate(cert *x509.Certificate) *HostCertificateInfo {
+ info.Certificate = cert
+ info.subjectName = &cert.Subject
+ info.issuerName = &cert.Issuer
+
+ info.Issuer = info.fromName(info.issuerName)
+ info.NotBefore = &cert.NotBefore
+ info.NotAfter = &cert.NotAfter
+ info.Subject = info.fromName(info.subjectName)
+
+ info.ThumbprintSHA1 = soap.ThumbprintSHA1(cert)
+
+ // SHA-256 for info purposes only, API fields all use SHA-1
+ sum := sha256.Sum256(cert.Raw)
+ hex := make([]string, len(sum))
+ for i, b := range sum {
+ hex[i] = fmt.Sprintf("%02X", b)
+ }
+ info.ThumbprintSHA256 = strings.Join(hex, ":")
+
+ if info.Status == "" {
+ info.Status = string(types.HostCertificateManagerCertificateInfoCertificateStatusUnknown)
+ }
+
+ return info
+}
+
+// FromURL connects to the given URL.Host via tls.Dial with the given tls.Config and populates the HostCertificateInfo
+// via tls.ConnectionState. If the certificate was verified with the given tls.Config, the Err field will be nil.
+// Otherwise, Err will be set to the x509.UnknownAuthorityError or x509.HostnameError.
+// If tls.Dial returns an error of any other type, that error is returned.
+func (info *HostCertificateInfo) FromURL(u *url.URL, config *tls.Config) error {
+ addr := u.Host
+ if !(strings.LastIndex(addr, ":") > strings.LastIndex(addr, "]")) {
+ addr += ":443"
+ }
+
+ conn, err := tls.Dial("tcp", addr, config)
+ if err != nil {
+ switch err.(type) {
+ case x509.UnknownAuthorityError:
+ case x509.HostnameError:
+ default:
+ return err
+ }
+
+ info.Err = err
+
+ conn, err = tls.Dial("tcp", addr, &tls.Config{InsecureSkipVerify: true})
+ if err != nil {
+ return err
+ }
+ } else {
+ info.Status = string(types.HostCertificateManagerCertificateInfoCertificateStatusGood)
+ }
+
+ state := conn.ConnectionState()
+ _ = conn.Close()
+ info.FromCertificate(state.PeerCertificates[0])
+
+ return nil
+}
+
+var emailAddressOID = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 1}
+
+func (info *HostCertificateInfo) fromName(name *pkix.Name) string {
+ var attrs []string
+
+ oids := map[string]string{
+ emailAddressOID.String(): "emailAddress",
+ }
+
+ for _, attr := range name.Names {
+ if key, ok := oids[attr.Type.String()]; ok {
+ attrs = append(attrs, fmt.Sprintf("%s=%s", key, attr.Value))
+ }
+ }
+
+ attrs = append(attrs, fmt.Sprintf("CN=%s", name.CommonName))
+
+ add := func(key string, vals []string) {
+ for _, val := range vals {
+ attrs = append(attrs, fmt.Sprintf("%s=%s", key, val))
+ }
+ }
+
+ elts := []struct {
+ key string
+ val []string
+ }{
+ {"OU", name.OrganizationalUnit},
+ {"O", name.Organization},
+ {"L", name.Locality},
+ {"ST", name.Province},
+ {"C", name.Country},
+ }
+
+ for _, elt := range elts {
+ add(elt.key, elt.val)
+ }
+
+ return strings.Join(attrs, ",")
+}
+
+func (info *HostCertificateInfo) toName(s string) *pkix.Name {
+ var name pkix.Name
+
+ for _, pair := range strings.Split(s, ",") {
+ attr := strings.SplitN(pair, "=", 2)
+ if len(attr) != 2 {
+ continue
+ }
+
+ v := attr[1]
+
+ switch strings.ToLower(attr[0]) {
+ case "cn":
+ name.CommonName = v
+ case "ou":
+ name.OrganizationalUnit = append(name.OrganizationalUnit, v)
+ case "o":
+ name.Organization = append(name.Organization, v)
+ case "l":
+ name.Locality = append(name.Locality, v)
+ case "st":
+ name.Province = append(name.Province, v)
+ case "c":
+ name.Country = append(name.Country, v)
+ case "emailaddress":
+ name.Names = append(name.Names, pkix.AttributeTypeAndValue{Type: emailAddressOID, Value: v})
+ }
+ }
+
+ return &name
+}
+
+// SubjectName parses Subject into a pkix.Name
+func (info *HostCertificateInfo) SubjectName() *pkix.Name {
+ if info.subjectName != nil {
+ return info.subjectName
+ }
+
+ return info.toName(info.Subject)
+}
+
+// IssuerName parses Issuer into a pkix.Name
+func (info *HostCertificateInfo) IssuerName() *pkix.Name {
+ if info.issuerName != nil {
+ return info.issuerName
+ }
+
+ return info.toName(info.Issuer)
+}
+
+// Write outputs info similar to the Chrome Certificate Viewer.
+func (info *HostCertificateInfo) Write(w io.Writer) error {
+ tw := tabwriter.NewWriter(w, 2, 0, 2, ' ', 0)
+
+ s := func(val string) string {
+ if val != "" {
+ return val
+ }
+ return "<Not Part Of Certificate>"
+ }
+
+ ss := func(val []string) string {
+ return s(strings.Join(val, ","))
+ }
+
+ name := func(n *pkix.Name) {
+ fmt.Fprintf(tw, " Common Name (CN):\t%s\n", s(n.CommonName))
+ fmt.Fprintf(tw, " Organization (O):\t%s\n", ss(n.Organization))
+ fmt.Fprintf(tw, " Organizational Unit (OU):\t%s\n", ss(n.OrganizationalUnit))
+ }
+
+ status := info.Status
+ if info.Err != nil {
+ status = fmt.Sprintf("ERROR %s", info.Err)
+ }
+ fmt.Fprintf(tw, "Certificate Status:\t%s\n", status)
+
+ fmt.Fprintln(tw, "Issued To:\t")
+ name(info.SubjectName())
+
+ fmt.Fprintln(tw, "Issued By:\t")
+ name(info.IssuerName())
+
+ fmt.Fprintln(tw, "Validity Period:\t")
+ fmt.Fprintf(tw, " Issued On:\t%s\n", info.NotBefore)
+ fmt.Fprintf(tw, " Expires On:\t%s\n", info.NotAfter)
+
+ if info.ThumbprintSHA1 != "" {
+ fmt.Fprintln(tw, "Thumbprints:\t")
+ if info.ThumbprintSHA256 != "" {
+ fmt.Fprintf(tw, " SHA-256 Thumbprint:\t%s\n", info.ThumbprintSHA256)
+ }
+ fmt.Fprintf(tw, " SHA-1 Thumbprint:\t%s\n", info.ThumbprintSHA1)
+ }
+
+ return tw.Flush()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go
new file mode 100644
index 00000000..2875a9fc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go
@@ -0,0 +1,162 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// HostCertificateManager provides helper methods around the HostSystem.ConfigManager.CertificateManager
+type HostCertificateManager struct {
+ Common
+ Host *HostSystem
+}
+
+// NewHostCertificateManager creates a new HostCertificateManager helper
+func NewHostCertificateManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostCertificateManager {
+ return &HostCertificateManager{
+ Common: NewCommon(c, ref),
+ Host: NewHostSystem(c, host),
+ }
+}
+
+// CertificateInfo wraps the host CertificateManager certificateInfo property with the HostCertificateInfo helper.
+// The ThumbprintSHA1 field is set to HostSystem.Summary.Config.SslThumbprint if the host system is managed by a vCenter.
+func (m HostCertificateManager) CertificateInfo(ctx context.Context) (*HostCertificateInfo, error) {
+ var hs mo.HostSystem
+ var cm mo.HostCertificateManager
+
+ pc := property.DefaultCollector(m.Client())
+
+ err := pc.RetrieveOne(ctx, m.Reference(), []string{"certificateInfo"}, &cm)
+ if err != nil {
+ return nil, err
+ }
+
+ _ = pc.RetrieveOne(ctx, m.Host.Reference(), []string{"summary.config.sslThumbprint"}, &hs)
+
+ return &HostCertificateInfo{
+ HostCertificateManagerCertificateInfo: cm.CertificateInfo,
+ ThumbprintSHA1: hs.Summary.Config.SslThumbprint,
+ }, nil
+}
+
+// GenerateCertificateSigningRequest requests the host system to generate a certificate-signing request (CSR) for itself.
+// The CSR is then typically provided to a Certificate Authority to sign and issue the SSL certificate for the host system.
+// Use InstallServerCertificate to import this certificate.
+func (m HostCertificateManager) GenerateCertificateSigningRequest(ctx context.Context, useIPAddressAsCommonName bool) (string, error) {
+ req := types.GenerateCertificateSigningRequest{
+ This: m.Reference(),
+ UseIpAddressAsCommonName: useIPAddressAsCommonName,
+ }
+
+ res, err := methods.GenerateCertificateSigningRequest(ctx, m.Client(), &req)
+ if err != nil {
+ return "", err
+ }
+
+ return res.Returnval, nil
+}
+
+// GenerateCertificateSigningRequestByDn requests the host system to generate a certificate-signing request (CSR) for itself.
+// Alternative version similar to GenerateCertificateSigningRequest but takes a Distinguished Name (DN) as a parameter.
+func (m HostCertificateManager) GenerateCertificateSigningRequestByDn(ctx context.Context, distinguishedName string) (string, error) {
+ req := types.GenerateCertificateSigningRequestByDn{
+ This: m.Reference(),
+ DistinguishedName: distinguishedName,
+ }
+
+ res, err := methods.GenerateCertificateSigningRequestByDn(ctx, m.Client(), &req)
+ if err != nil {
+ return "", err
+ }
+
+ return res.Returnval, nil
+}
+
+// InstallServerCertificate imports the given SSL certificate to the host system.
+func (m HostCertificateManager) InstallServerCertificate(ctx context.Context, cert string) error {
+ req := types.InstallServerCertificate{
+ This: m.Reference(),
+ Cert: cert,
+ }
+
+ _, err := methods.InstallServerCertificate(ctx, m.Client(), &req)
+ if err != nil {
+ return err
+ }
+
+ // NotifyAffectedService is internal, not exposing as we don't have a use case other than with InstallServerCertificate
+ // Without this call, hostd needs to be restarted to use the updated certificate
+ // Note: using Refresh as it has the same struct/signature, we just need to use different xml name tags
+ body := struct {
+ Req *types.Refresh `xml:"urn:vim25 NotifyAffectedServices,omitempty"`
+ Res *types.RefreshResponse `xml:"urn:vim25 NotifyAffectedServicesResponse,omitempty"`
+ methods.RefreshBody
+ }{
+ Req: &types.Refresh{This: m.Reference()},
+ }
+
+ return m.Client().RoundTrip(ctx, &body, &body)
+}
+
+// ListCACertificateRevocationLists returns the SSL CRLs of Certificate Authorities that are trusted by the host system.
+func (m HostCertificateManager) ListCACertificateRevocationLists(ctx context.Context) ([]string, error) {
+ req := types.ListCACertificateRevocationLists{
+ This: m.Reference(),
+ }
+
+ res, err := methods.ListCACertificateRevocationLists(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+// ListCACertificates returns the SSL certificates of Certificate Authorities that are trusted by the host system.
+func (m HostCertificateManager) ListCACertificates(ctx context.Context) ([]string, error) {
+ req := types.ListCACertificates{
+ This: m.Reference(),
+ }
+
+ res, err := methods.ListCACertificates(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+// ReplaceCACertificatesAndCRLs replaces the trusted CA certificates and CRL used by the host system.
+// These determine whether the server can verify the identity of an external entity.
+func (m HostCertificateManager) ReplaceCACertificatesAndCRLs(ctx context.Context, caCert []string, caCrl []string) error {
+ req := types.ReplaceCACertificatesAndCRLs{
+ This: m.Reference(),
+ CaCert: caCert,
+ CaCrl: caCrl,
+ }
+
+ _, err := methods.ReplaceCACertificatesAndCRLs(ctx, m.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_config_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_config_manager.go
new file mode 100644
index 00000000..123227ec
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_config_manager.go
@@ -0,0 +1,196 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostConfigManager struct {
+ Common
+}
+
+func NewHostConfigManager(c *vim25.Client, ref types.ManagedObjectReference) *HostConfigManager {
+ return &HostConfigManager{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (m HostConfigManager) DatastoreSystem(ctx context.Context) (*HostDatastoreSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.datastoreSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostDatastoreSystem(m.c, *h.ConfigManager.DatastoreSystem), nil
+}
+
+func (m HostConfigManager) NetworkSystem(ctx context.Context) (*HostNetworkSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.networkSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostNetworkSystem(m.c, *h.ConfigManager.NetworkSystem), nil
+}
+
+func (m HostConfigManager) FirewallSystem(ctx context.Context) (*HostFirewallSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.firewallSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostFirewallSystem(m.c, *h.ConfigManager.FirewallSystem), nil
+}
+
+func (m HostConfigManager) StorageSystem(ctx context.Context) (*HostStorageSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.storageSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostStorageSystem(m.c, *h.ConfigManager.StorageSystem), nil
+}
+
+func (m HostConfigManager) VirtualNicManager(ctx context.Context) (*HostVirtualNicManager, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.virtualNicManager"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostVirtualNicManager(m.c, *h.ConfigManager.VirtualNicManager, m.Reference()), nil
+}
+
+func (m HostConfigManager) VsanSystem(ctx context.Context) (*HostVsanSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.vsanSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ // Added in 5.5
+ if h.ConfigManager.VsanSystem == nil {
+ return nil, ErrNotSupported
+ }
+
+ return NewHostVsanSystem(m.c, *h.ConfigManager.VsanSystem), nil
+}
+
+func (m HostConfigManager) VsanInternalSystem(ctx context.Context) (*HostVsanInternalSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.vsanInternalSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ // Added in 5.5
+ if h.ConfigManager.VsanInternalSystem == nil {
+ return nil, ErrNotSupported
+ }
+
+ return NewHostVsanInternalSystem(m.c, *h.ConfigManager.VsanInternalSystem), nil
+}
+
+func (m HostConfigManager) AccountManager(ctx context.Context) (*HostAccountManager, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.accountManager"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ ref := h.ConfigManager.AccountManager // Added in 6.0
+ if ref == nil {
+ // Versions < 5.5 can use the ServiceContent ref,
+ // but we can only use it when connected directly to ESX.
+ c := m.Client()
+ if !c.IsVC() {
+ ref = c.ServiceContent.AccountManager
+ }
+
+ if ref == nil {
+ return nil, ErrNotSupported
+ }
+ }
+
+ return NewHostAccountManager(m.c, *ref), nil
+}
+
+func (m HostConfigManager) OptionManager(ctx context.Context) (*OptionManager, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.advancedOption"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewOptionManager(m.c, *h.ConfigManager.AdvancedOption), nil
+}
+
+func (m HostConfigManager) ServiceSystem(ctx context.Context) (*HostServiceSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.serviceSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostServiceSystem(m.c, *h.ConfigManager.ServiceSystem), nil
+}
+
+func (m HostConfigManager) CertificateManager(ctx context.Context) (*HostCertificateManager, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.certificateManager"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ // Added in 6.0
+ if h.ConfigManager.CertificateManager == nil {
+ return nil, ErrNotSupported
+ }
+
+ return NewHostCertificateManager(m.c, *h.ConfigManager.CertificateManager, m.Reference()), nil
+}
+
+func (m HostConfigManager) DateTimeSystem(ctx context.Context) (*HostDateTimeSystem, error) {
+ var h mo.HostSystem
+
+ err := m.Properties(ctx, m.Reference(), []string{"configManager.dateTimeSystem"}, &h)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHostDateTimeSystem(m.c, *h.ConfigManager.DateTimeSystem), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go
new file mode 100644
index 00000000..b0c9e08a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go
@@ -0,0 +1,65 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostDatastoreBrowser struct {
+ Common
+}
+
+func NewHostDatastoreBrowser(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreBrowser {
+ return &HostDatastoreBrowser{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (b HostDatastoreBrowser) SearchDatastore(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error) {
+ req := types.SearchDatastore_Task{
+ This: b.Reference(),
+ DatastorePath: datastorePath,
+ SearchSpec: searchSpec,
+ }
+
+ res, err := methods.SearchDatastore_Task(ctx, b.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(b.c, res.Returnval), nil
+}
+
+func (b HostDatastoreBrowser) SearchDatastoreSubFolders(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error) {
+ req := types.SearchDatastoreSubFolders_Task{
+ This: b.Reference(),
+ DatastorePath: datastorePath,
+ SearchSpec: searchSpec,
+ }
+
+ res, err := methods.SearchDatastoreSubFolders_Task(ctx, b.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(b.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_system.go
new file mode 100644
index 00000000..7b738e61
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_datastore_system.go
@@ -0,0 +1,119 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostDatastoreSystem struct {
+ Common
+}
+
+func NewHostDatastoreSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreSystem {
+ return &HostDatastoreSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostDatastoreSystem) CreateLocalDatastore(ctx context.Context, name string, path string) (*Datastore, error) {
+ req := types.CreateLocalDatastore{
+ This: s.Reference(),
+ Name: name,
+ Path: path,
+ }
+
+ res, err := methods.CreateLocalDatastore(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewDatastore(s.Client(), res.Returnval), nil
+}
+
+func (s HostDatastoreSystem) CreateNasDatastore(ctx context.Context, spec types.HostNasVolumeSpec) (*Datastore, error) {
+ req := types.CreateNasDatastore{
+ This: s.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.CreateNasDatastore(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewDatastore(s.Client(), res.Returnval), nil
+}
+
+func (s HostDatastoreSystem) CreateVmfsDatastore(ctx context.Context, spec types.VmfsDatastoreCreateSpec) (*Datastore, error) {
+ req := types.CreateVmfsDatastore{
+ This: s.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.CreateVmfsDatastore(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewDatastore(s.Client(), res.Returnval), nil
+}
+
+func (s HostDatastoreSystem) Remove(ctx context.Context, ds *Datastore) error {
+ req := types.RemoveDatastore{
+ This: s.Reference(),
+ Datastore: ds.Reference(),
+ }
+
+ _, err := methods.RemoveDatastore(ctx, s.Client(), &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (s HostDatastoreSystem) QueryAvailableDisksForVmfs(ctx context.Context) ([]types.HostScsiDisk, error) {
+ req := types.QueryAvailableDisksForVmfs{
+ This: s.Reference(),
+ }
+
+ res, err := methods.QueryAvailableDisksForVmfs(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (s HostDatastoreSystem) QueryVmfsDatastoreCreateOptions(ctx context.Context, devicePath string) ([]types.VmfsDatastoreOption, error) {
+ req := types.QueryVmfsDatastoreCreateOptions{
+ This: s.Reference(),
+ DevicePath: devicePath,
+ }
+
+ res, err := methods.QueryVmfsDatastoreCreateOptions(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_date_time_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_date_time_system.go
new file mode 100644
index 00000000..7c9203d7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_date_time_system.go
@@ -0,0 +1,69 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "time"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostDateTimeSystem struct {
+ Common
+}
+
+func NewHostDateTimeSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDateTimeSystem {
+ return &HostDateTimeSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostDateTimeSystem) UpdateConfig(ctx context.Context, config types.HostDateTimeConfig) error {
+ req := types.UpdateDateTimeConfig{
+ This: s.Reference(),
+ Config: config,
+ }
+
+ _, err := methods.UpdateDateTimeConfig(ctx, s.c, &req)
+ return err
+}
+
+func (s HostDateTimeSystem) Update(ctx context.Context, date time.Time) error {
+ req := types.UpdateDateTime{
+ This: s.Reference(),
+ DateTime: date,
+ }
+
+ _, err := methods.UpdateDateTime(ctx, s.c, &req)
+ return err
+}
+
+func (s HostDateTimeSystem) Query(ctx context.Context) (*time.Time, error) {
+ req := types.QueryDateTime{
+ This: s.Reference(),
+ }
+
+ res, err := methods.QueryDateTime(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_firewall_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_firewall_system.go
new file mode 100644
index 00000000..0b144025
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_firewall_system.go
@@ -0,0 +1,181 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "strings"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostFirewallSystem struct {
+ Common
+}
+
+func NewHostFirewallSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostFirewallSystem {
+ return &HostFirewallSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostFirewallSystem) DisableRuleset(ctx context.Context, id string) error {
+ req := types.DisableRuleset{
+ This: s.Reference(),
+ Id: id,
+ }
+
+ _, err := methods.DisableRuleset(ctx, s.c, &req)
+ return err
+}
+
+func (s HostFirewallSystem) EnableRuleset(ctx context.Context, id string) error {
+ req := types.EnableRuleset{
+ This: s.Reference(),
+ Id: id,
+ }
+
+ _, err := methods.EnableRuleset(ctx, s.c, &req)
+ return err
+}
+
+func (s HostFirewallSystem) Refresh(ctx context.Context) error {
+ req := types.RefreshFirewall{
+ This: s.Reference(),
+ }
+
+ _, err := methods.RefreshFirewall(ctx, s.c, &req)
+ return err
+}
+
+func (s HostFirewallSystem) Info(ctx context.Context) (*types.HostFirewallInfo, error) {
+ var fs mo.HostFirewallSystem
+
+ err := s.Properties(ctx, s.Reference(), []string{"firewallInfo"}, &fs)
+ if err != nil {
+ return nil, err
+ }
+
+ return fs.FirewallInfo, nil
+}
+
+// HostFirewallRulesetList provides helpers for a slice of types.HostFirewallRuleset
+type HostFirewallRulesetList []types.HostFirewallRuleset
+
+// ByRule returns a HostFirewallRulesetList where Direction, PortType and Protocol are equal and Port is within range
+func (l HostFirewallRulesetList) ByRule(rule types.HostFirewallRule) HostFirewallRulesetList {
+ var matches HostFirewallRulesetList
+
+ for _, rs := range l {
+ for _, r := range rs.Rule {
+ if r.PortType != rule.PortType ||
+ r.Protocol != rule.Protocol ||
+ r.Direction != rule.Direction {
+ continue
+ }
+
+ if r.EndPort == 0 && rule.Port == r.Port ||
+ rule.Port >= r.Port && rule.Port <= r.EndPort {
+ matches = append(matches, rs)
+ break
+ }
+ }
+ }
+
+ return matches
+}
+
+// EnabledByRule returns a HostFirewallRulesetList with Match(rule) applied and filtered via Enabled()
+// if enabled param is true, otherwise filtered via Disabled().
+// An error is returned if the resulting list is empty.
+func (l HostFirewallRulesetList) EnabledByRule(rule types.HostFirewallRule, enabled bool) (HostFirewallRulesetList, error) {
+ var matched, skipped HostFirewallRulesetList
+ var matchedKind, skippedKind string
+
+ l = l.ByRule(rule)
+
+ if enabled {
+ matched = l.Enabled()
+ matchedKind = "enabled"
+
+ skipped = l.Disabled()
+ skippedKind = "disabled"
+ } else {
+ matched = l.Disabled()
+ matchedKind = "disabled"
+
+ skipped = l.Enabled()
+ skippedKind = "enabled"
+ }
+
+ if len(matched) == 0 {
+ msg := fmt.Sprintf("%d %s firewall rulesets match %s %s %s %d, %d %s rulesets match",
+ len(matched), matchedKind,
+ rule.Direction, rule.Protocol, rule.PortType, rule.Port,
+ len(skipped), skippedKind)
+
+ if len(skipped) != 0 {
+ msg += fmt.Sprintf(": %s", strings.Join(skipped.Keys(), ", "))
+ }
+
+ return nil, errors.New(msg)
+ }
+
+ return matched, nil
+}
+
+// Enabled returns a HostFirewallRulesetList with enabled rules
+func (l HostFirewallRulesetList) Enabled() HostFirewallRulesetList {
+ var matches HostFirewallRulesetList
+
+ for _, rs := range l {
+ if rs.Enabled {
+ matches = append(matches, rs)
+ }
+ }
+
+ return matches
+}
+
+// Disabled returns a HostFirewallRulesetList with disabled rules
+func (l HostFirewallRulesetList) Disabled() HostFirewallRulesetList {
+ var matches HostFirewallRulesetList
+
+ for _, rs := range l {
+ if !rs.Enabled {
+ matches = append(matches, rs)
+ }
+ }
+
+ return matches
+}
+
+// Keys returns the HostFirewallRuleset.Key for each ruleset in the list
+func (l HostFirewallRulesetList) Keys() []string {
+ var keys []string
+
+ for _, rs := range l {
+ keys = append(keys, rs.Key)
+ }
+
+ return keys
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_network_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_network_system.go
new file mode 100644
index 00000000..c21e1ec3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_network_system.go
@@ -0,0 +1,358 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostNetworkSystem struct {
+ Common
+}
+
+func NewHostNetworkSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostNetworkSystem {
+ return &HostNetworkSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+// AddPortGroup wraps methods.AddPortGroup
+func (o HostNetworkSystem) AddPortGroup(ctx context.Context, portgrp types.HostPortGroupSpec) error {
+ req := types.AddPortGroup{
+ This: o.Reference(),
+ Portgrp: portgrp,
+ }
+
+ _, err := methods.AddPortGroup(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// AddServiceConsoleVirtualNic wraps methods.AddServiceConsoleVirtualNic
+func (o HostNetworkSystem) AddServiceConsoleVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error) {
+ req := types.AddServiceConsoleVirtualNic{
+ This: o.Reference(),
+ Portgroup: portgroup,
+ Nic: nic,
+ }
+
+ res, err := methods.AddServiceConsoleVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return "", err
+ }
+
+ return res.Returnval, nil
+}
+
+// AddVirtualNic wraps methods.AddVirtualNic
+func (o HostNetworkSystem) AddVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error) {
+ req := types.AddVirtualNic{
+ This: o.Reference(),
+ Portgroup: portgroup,
+ Nic: nic,
+ }
+
+ res, err := methods.AddVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return "", err
+ }
+
+ return res.Returnval, nil
+}
+
+// AddVirtualSwitch wraps methods.AddVirtualSwitch
+func (o HostNetworkSystem) AddVirtualSwitch(ctx context.Context, vswitchName string, spec *types.HostVirtualSwitchSpec) error {
+ req := types.AddVirtualSwitch{
+ This: o.Reference(),
+ VswitchName: vswitchName,
+ Spec: spec,
+ }
+
+ _, err := methods.AddVirtualSwitch(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// QueryNetworkHint wraps methods.QueryNetworkHint
+func (o HostNetworkSystem) QueryNetworkHint(ctx context.Context, device []string) error {
+ req := types.QueryNetworkHint{
+ This: o.Reference(),
+ Device: device,
+ }
+
+ _, err := methods.QueryNetworkHint(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RefreshNetworkSystem wraps methods.RefreshNetworkSystem
+func (o HostNetworkSystem) RefreshNetworkSystem(ctx context.Context) error {
+ req := types.RefreshNetworkSystem{
+ This: o.Reference(),
+ }
+
+ _, err := methods.RefreshNetworkSystem(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RemovePortGroup wraps methods.RemovePortGroup
+func (o HostNetworkSystem) RemovePortGroup(ctx context.Context, pgName string) error {
+ req := types.RemovePortGroup{
+ This: o.Reference(),
+ PgName: pgName,
+ }
+
+ _, err := methods.RemovePortGroup(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RemoveServiceConsoleVirtualNic wraps methods.RemoveServiceConsoleVirtualNic
+func (o HostNetworkSystem) RemoveServiceConsoleVirtualNic(ctx context.Context, device string) error {
+ req := types.RemoveServiceConsoleVirtualNic{
+ This: o.Reference(),
+ Device: device,
+ }
+
+ _, err := methods.RemoveServiceConsoleVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RemoveVirtualNic wraps methods.RemoveVirtualNic
+func (o HostNetworkSystem) RemoveVirtualNic(ctx context.Context, device string) error {
+ req := types.RemoveVirtualNic{
+ This: o.Reference(),
+ Device: device,
+ }
+
+ _, err := methods.RemoveVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RemoveVirtualSwitch wraps methods.RemoveVirtualSwitch
+func (o HostNetworkSystem) RemoveVirtualSwitch(ctx context.Context, vswitchName string) error {
+ req := types.RemoveVirtualSwitch{
+ This: o.Reference(),
+ VswitchName: vswitchName,
+ }
+
+ _, err := methods.RemoveVirtualSwitch(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// RestartServiceConsoleVirtualNic wraps methods.RestartServiceConsoleVirtualNic
+func (o HostNetworkSystem) RestartServiceConsoleVirtualNic(ctx context.Context, device string) error {
+ req := types.RestartServiceConsoleVirtualNic{
+ This: o.Reference(),
+ Device: device,
+ }
+
+ _, err := methods.RestartServiceConsoleVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateConsoleIpRouteConfig wraps methods.UpdateConsoleIpRouteConfig
+func (o HostNetworkSystem) UpdateConsoleIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error {
+ req := types.UpdateConsoleIpRouteConfig{
+ This: o.Reference(),
+ Config: config,
+ }
+
+ _, err := methods.UpdateConsoleIpRouteConfig(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateDnsConfig wraps methods.UpdateDnsConfig
+func (o HostNetworkSystem) UpdateDnsConfig(ctx context.Context, config types.BaseHostDnsConfig) error {
+ req := types.UpdateDnsConfig{
+ This: o.Reference(),
+ Config: config,
+ }
+
+ _, err := methods.UpdateDnsConfig(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateIpRouteConfig wraps methods.UpdateIpRouteConfig
+func (o HostNetworkSystem) UpdateIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error {
+ req := types.UpdateIpRouteConfig{
+ This: o.Reference(),
+ Config: config,
+ }
+
+ _, err := methods.UpdateIpRouteConfig(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateIpRouteTableConfig wraps methods.UpdateIpRouteTableConfig
+func (o HostNetworkSystem) UpdateIpRouteTableConfig(ctx context.Context, config types.HostIpRouteTableConfig) error {
+ req := types.UpdateIpRouteTableConfig{
+ This: o.Reference(),
+ Config: config,
+ }
+
+ _, err := methods.UpdateIpRouteTableConfig(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateNetworkConfig wraps methods.UpdateNetworkConfig
+func (o HostNetworkSystem) UpdateNetworkConfig(ctx context.Context, config types.HostNetworkConfig, changeMode string) (*types.HostNetworkConfigResult, error) {
+ req := types.UpdateNetworkConfig{
+ This: o.Reference(),
+ Config: config,
+ ChangeMode: changeMode,
+ }
+
+ res, err := methods.UpdateNetworkConfig(ctx, o.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+// UpdatePhysicalNicLinkSpeed wraps methods.UpdatePhysicalNicLinkSpeed
+func (o HostNetworkSystem) UpdatePhysicalNicLinkSpeed(ctx context.Context, device string, linkSpeed *types.PhysicalNicLinkInfo) error {
+ req := types.UpdatePhysicalNicLinkSpeed{
+ This: o.Reference(),
+ Device: device,
+ LinkSpeed: linkSpeed,
+ }
+
+ _, err := methods.UpdatePhysicalNicLinkSpeed(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdatePortGroup wraps methods.UpdatePortGroup
+func (o HostNetworkSystem) UpdatePortGroup(ctx context.Context, pgName string, portgrp types.HostPortGroupSpec) error {
+ req := types.UpdatePortGroup{
+ This: o.Reference(),
+ PgName: pgName,
+ Portgrp: portgrp,
+ }
+
+ _, err := methods.UpdatePortGroup(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateServiceConsoleVirtualNic wraps methods.UpdateServiceConsoleVirtualNic
+func (o HostNetworkSystem) UpdateServiceConsoleVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error {
+ req := types.UpdateServiceConsoleVirtualNic{
+ This: o.Reference(),
+ Device: device,
+ Nic: nic,
+ }
+
+ _, err := methods.UpdateServiceConsoleVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateVirtualNic wraps methods.UpdateVirtualNic
+func (o HostNetworkSystem) UpdateVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error {
+ req := types.UpdateVirtualNic{
+ This: o.Reference(),
+ Device: device,
+ Nic: nic,
+ }
+
+ _, err := methods.UpdateVirtualNic(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// UpdateVirtualSwitch wraps methods.UpdateVirtualSwitch
+func (o HostNetworkSystem) UpdateVirtualSwitch(ctx context.Context, vswitchName string, spec types.HostVirtualSwitchSpec) error {
+ req := types.UpdateVirtualSwitch{
+ This: o.Reference(),
+ VswitchName: vswitchName,
+ Spec: spec,
+ }
+
+ _, err := methods.UpdateVirtualSwitch(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_service_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_service_system.go
new file mode 100644
index 00000000..a66b32c1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_service_system.go
@@ -0,0 +1,88 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostServiceSystem struct {
+ Common
+}
+
+func NewHostServiceSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostServiceSystem {
+ return &HostServiceSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostServiceSystem) Service(ctx context.Context) ([]types.HostService, error) {
+ var ss mo.HostServiceSystem
+
+ err := s.Properties(ctx, s.Reference(), []string{"serviceInfo.service"}, &ss)
+ if err != nil {
+ return nil, err
+ }
+
+ return ss.ServiceInfo.Service, nil
+}
+
+func (s HostServiceSystem) Start(ctx context.Context, id string) error {
+ req := types.StartService{
+ This: s.Reference(),
+ Id: id,
+ }
+
+ _, err := methods.StartService(ctx, s.Client(), &req)
+ return err
+}
+
+func (s HostServiceSystem) Stop(ctx context.Context, id string) error {
+ req := types.StopService{
+ This: s.Reference(),
+ Id: id,
+ }
+
+ _, err := methods.StopService(ctx, s.Client(), &req)
+ return err
+}
+
+func (s HostServiceSystem) Restart(ctx context.Context, id string) error {
+ req := types.RestartService{
+ This: s.Reference(),
+ Id: id,
+ }
+
+ _, err := methods.RestartService(ctx, s.Client(), &req)
+ return err
+}
+
+func (s HostServiceSystem) UpdatePolicy(ctx context.Context, id string, policy string) error {
+ req := types.UpdateServicePolicy{
+ This: s.Reference(),
+ Id: id,
+ Policy: policy,
+ }
+
+ _, err := methods.UpdateServicePolicy(ctx, s.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_storage_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_storage_system.go
new file mode 100644
index 00000000..2a433ff2
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_storage_system.go
@@ -0,0 +1,145 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostStorageSystem struct {
+ Common
+}
+
+func NewHostStorageSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostStorageSystem {
+ return &HostStorageSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostStorageSystem) RetrieveDiskPartitionInfo(ctx context.Context, devicePath string) (*types.HostDiskPartitionInfo, error) {
+ req := types.RetrieveDiskPartitionInfo{
+ This: s.Reference(),
+ DevicePath: []string{devicePath},
+ }
+
+ res, err := methods.RetrieveDiskPartitionInfo(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil || len(res.Returnval) == 0 {
+ return nil, errors.New("no partition info")
+ }
+
+ return &res.Returnval[0], nil
+}
+
+func (s HostStorageSystem) ComputeDiskPartitionInfo(ctx context.Context, devicePath string, layout types.HostDiskPartitionLayout) (*types.HostDiskPartitionInfo, error) {
+ req := types.ComputeDiskPartitionInfo{
+ This: s.Reference(),
+ DevicePath: devicePath,
+ Layout: layout,
+ }
+
+ res, err := methods.ComputeDiskPartitionInfo(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (s HostStorageSystem) UpdateDiskPartitionInfo(ctx context.Context, devicePath string, spec types.HostDiskPartitionSpec) error {
+ req := types.UpdateDiskPartitions{
+ This: s.Reference(),
+ DevicePath: devicePath,
+ Spec: spec,
+ }
+
+ _, err := methods.UpdateDiskPartitions(ctx, s.c, &req)
+ return err
+}
+
+func (s HostStorageSystem) RescanAllHba(ctx context.Context) error {
+ req := types.RescanAllHba{
+ This: s.Reference(),
+ }
+
+ _, err := methods.RescanAllHba(ctx, s.c, &req)
+ return err
+}
+
+func (s HostStorageSystem) MarkAsSsd(ctx context.Context, uuid string) (*Task, error) {
+ req := types.MarkAsSsd_Task{
+ This: s.Reference(),
+ ScsiDiskUuid: uuid,
+ }
+
+ res, err := methods.MarkAsSsd_Task(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.c, res.Returnval), nil
+}
+
+func (s HostStorageSystem) MarkAsNonSsd(ctx context.Context, uuid string) (*Task, error) {
+ req := types.MarkAsNonSsd_Task{
+ This: s.Reference(),
+ ScsiDiskUuid: uuid,
+ }
+
+ res, err := methods.MarkAsNonSsd_Task(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.c, res.Returnval), nil
+}
+
+func (s HostStorageSystem) MarkAsLocal(ctx context.Context, uuid string) (*Task, error) {
+ req := types.MarkAsLocal_Task{
+ This: s.Reference(),
+ ScsiDiskUuid: uuid,
+ }
+
+ res, err := methods.MarkAsLocal_Task(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.c, res.Returnval), nil
+}
+
+func (s HostStorageSystem) MarkAsNonLocal(ctx context.Context, uuid string) (*Task, error) {
+ req := types.MarkAsNonLocal_Task{
+ This: s.Reference(),
+ ScsiDiskUuid: uuid,
+ }
+
+ res, err := methods.MarkAsNonLocal_Task(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_system.go
new file mode 100644
index 00000000..a350edfd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_system.go
@@ -0,0 +1,153 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "fmt"
+ "net"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostSystem struct {
+ Common
+}
+
+func NewHostSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostSystem {
+ return &HostSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (h HostSystem) ConfigManager() *HostConfigManager {
+ return NewHostConfigManager(h.c, h.Reference())
+}
+
+func (h HostSystem) ResourcePool(ctx context.Context) (*ResourcePool, error) {
+ var mh mo.HostSystem
+
+ err := h.Properties(ctx, h.Reference(), []string{"parent"}, &mh)
+ if err != nil {
+ return nil, err
+ }
+
+ var mcr *mo.ComputeResource
+ var parent interface{}
+
+ switch mh.Parent.Type {
+ case "ComputeResource":
+ mcr = new(mo.ComputeResource)
+ parent = mcr
+ case "ClusterComputeResource":
+ mcc := new(mo.ClusterComputeResource)
+ mcr = &mcc.ComputeResource
+ parent = mcc
+ default:
+ return nil, fmt.Errorf("unknown host parent type: %s", mh.Parent.Type)
+ }
+
+ err = h.Properties(ctx, *mh.Parent, []string{"resourcePool"}, parent)
+ if err != nil {
+ return nil, err
+ }
+
+ pool := NewResourcePool(h.c, *mcr.ResourcePool)
+ return pool, nil
+}
+
+func (h HostSystem) ManagementIPs(ctx context.Context) ([]net.IP, error) {
+ var mh mo.HostSystem
+
+ err := h.Properties(ctx, h.Reference(), []string{"config.virtualNicManagerInfo.netConfig"}, &mh)
+ if err != nil {
+ return nil, err
+ }
+
+ var ips []net.IP
+ for _, nc := range mh.Config.VirtualNicManagerInfo.NetConfig {
+ if nc.NicType == "management" && len(nc.CandidateVnic) > 0 {
+ ip := net.ParseIP(nc.CandidateVnic[0].Spec.Ip.IpAddress)
+ if ip != nil {
+ ips = append(ips, ip)
+ }
+ }
+ }
+
+ return ips, nil
+}
+
+func (h HostSystem) Disconnect(ctx context.Context) (*Task, error) {
+ req := types.DisconnectHost_Task{
+ This: h.Reference(),
+ }
+
+ res, err := methods.DisconnectHost_Task(ctx, h.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(h.c, res.Returnval), nil
+}
+
+func (h HostSystem) Reconnect(ctx context.Context, cnxSpec *types.HostConnectSpec, reconnectSpec *types.HostSystemReconnectSpec) (*Task, error) {
+ req := types.ReconnectHost_Task{
+ This: h.Reference(),
+ CnxSpec: cnxSpec,
+ ReconnectSpec: reconnectSpec,
+ }
+
+ res, err := methods.ReconnectHost_Task(ctx, h.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(h.c, res.Returnval), nil
+}
+
+func (h HostSystem) EnterMaintenanceMode(ctx context.Context, timeout int32, evacuate bool, spec *types.HostMaintenanceSpec) (*Task, error) {
+ req := types.EnterMaintenanceMode_Task{
+ This: h.Reference(),
+ Timeout: timeout,
+ EvacuatePoweredOffVms: types.NewBool(evacuate),
+ MaintenanceSpec: spec,
+ }
+
+ res, err := methods.EnterMaintenanceMode_Task(ctx, h.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(h.c, res.Returnval), nil
+}
+
+func (h HostSystem) ExitMaintenanceMode(ctx context.Context, timeout int32) (*Task, error) {
+ req := types.ExitMaintenanceMode_Task{
+ This: h.Reference(),
+ Timeout: timeout,
+ }
+
+ res, err := methods.ExitMaintenanceMode_Task(ctx, h.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(h.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go
new file mode 100644
index 00000000..01e7e9cd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go
@@ -0,0 +1,93 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostVirtualNicManager struct {
+ Common
+ Host *HostSystem
+}
+
+func NewHostVirtualNicManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostVirtualNicManager {
+ return &HostVirtualNicManager{
+ Common: NewCommon(c, ref),
+ Host: NewHostSystem(c, host),
+ }
+}
+
+func (m HostVirtualNicManager) Info(ctx context.Context) (*types.HostVirtualNicManagerInfo, error) {
+ var vnm mo.HostVirtualNicManager
+
+ err := m.Properties(ctx, m.Reference(), []string{"info"}, &vnm)
+ if err != nil {
+ return nil, err
+ }
+
+ return &vnm.Info, nil
+}
+
+func (m HostVirtualNicManager) DeselectVnic(ctx context.Context, nicType string, device string) error {
+ if nicType == string(types.HostVirtualNicManagerNicTypeVsan) {
+ // Avoid fault.NotSupported:
+ // "Error deselecting device '$device': VSAN interfaces must be deselected using vim.host.VsanSystem"
+ s, err := m.Host.ConfigManager().VsanSystem(ctx)
+ if err != nil {
+ return err
+ }
+
+ return s.updateVnic(ctx, device, false)
+ }
+
+ req := types.DeselectVnicForNicType{
+ This: m.Reference(),
+ NicType: nicType,
+ Device: device,
+ }
+
+ _, err := methods.DeselectVnicForNicType(ctx, m.Client(), &req)
+ return err
+}
+
+func (m HostVirtualNicManager) SelectVnic(ctx context.Context, nicType string, device string) error {
+ if nicType == string(types.HostVirtualNicManagerNicTypeVsan) {
+ // Avoid fault.NotSupported:
+ // "Error selecting device '$device': VSAN interfaces must be selected using vim.host.VsanSystem"
+ s, err := m.Host.ConfigManager().VsanSystem(ctx)
+ if err != nil {
+ return err
+ }
+
+ return s.updateVnic(ctx, device, true)
+ }
+
+ req := types.SelectVnicForNicType{
+ This: m.Reference(),
+ NicType: nicType,
+ Device: device,
+ }
+
+ _, err := methods.SelectVnicForNicType(ctx, m.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go
new file mode 100644
index 00000000..65e4587f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go
@@ -0,0 +1,117 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "encoding/json"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostVsanInternalSystem struct {
+ Common
+}
+
+func NewHostVsanInternalSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanInternalSystem {
+ m := HostVsanInternalSystem{
+ Common: NewCommon(c, ref),
+ }
+
+ return &m
+}
+
+// QueryVsanObjectUuidsByFilter returns vSAN DOM object uuids by filter.
+func (m HostVsanInternalSystem) QueryVsanObjectUuidsByFilter(ctx context.Context, uuids []string, limit int32, version int32) ([]string, error) {
+ req := types.QueryVsanObjectUuidsByFilter{
+ This: m.Reference(),
+ Uuids: uuids,
+ Limit: limit,
+ Version: version,
+ }
+
+ res, err := methods.QueryVsanObjectUuidsByFilter(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+type VsanObjExtAttrs struct {
+ Type string `json:"Object type"`
+ Class string `json:"Object class"`
+ Size string `json:"Object size"`
+ Path string `json:"Object path"`
+ Name string `json:"User friendly name"`
+}
+
+func (a *VsanObjExtAttrs) DatastorePath(dir string) string {
+ l := len(dir)
+ path := a.Path
+
+ if len(path) >= l {
+ path = a.Path[l:]
+ }
+
+ if path != "" {
+ return path
+ }
+
+ return a.Name // vmnamespace
+}
+
+// GetVsanObjExtAttrs is internal and intended for troubleshooting/debugging situations in the field.
+// WARNING: This API can be slow because we do IOs (reads) to all the objects.
+func (m HostVsanInternalSystem) GetVsanObjExtAttrs(ctx context.Context, uuids []string) (map[string]VsanObjExtAttrs, error) {
+ req := types.GetVsanObjExtAttrs{
+ This: m.Reference(),
+ Uuids: uuids,
+ }
+
+ res, err := methods.GetVsanObjExtAttrs(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ var attrs map[string]VsanObjExtAttrs
+
+ err = json.Unmarshal([]byte(res.Returnval), &attrs)
+
+ return attrs, err
+}
+
+// DeleteVsanObjects is internal and intended for troubleshooting/debugging only.
+// WARNING: This API can be slow because we do IOs to all the objects.
+// DOM won't allow access to objects which have lost quorum. Such objects can be deleted with the optional "force" flag.
+// These objects may however re-appear with quorum if the absent components come back (network partition gets resolved, etc.)
+func (m HostVsanInternalSystem) DeleteVsanObjects(ctx context.Context, uuids []string, force *bool) ([]types.HostVsanInternalSystemDeleteVsanObjectsResult, error) {
+ req := types.DeleteVsanObjects{
+ This: m.Reference(),
+ Uuids: uuids,
+ Force: force,
+ }
+
+ res, err := methods.DeleteVsanObjects(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_system.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_system.go
new file mode 100644
index 00000000..5ab234d5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/host_vsan_system.go
@@ -0,0 +1,88 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HostVsanSystem struct {
+ Common
+}
+
+func NewHostVsanSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanSystem {
+ return &HostVsanSystem{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (s HostVsanSystem) Update(ctx context.Context, config types.VsanHostConfigInfo) (*Task, error) {
+ req := types.UpdateVsan_Task{
+ This: s.Reference(),
+ Config: config,
+ }
+
+ res, err := methods.UpdateVsan_Task(ctx, s.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(s.Client(), res.Returnval), nil
+}
+
+// updateVnic in support of the HostVirtualNicManager.{SelectVnic,DeselectVnic} methods
+func (s HostVsanSystem) updateVnic(ctx context.Context, device string, enable bool) error {
+ var vsan mo.HostVsanSystem
+
+ err := s.Properties(ctx, s.Reference(), []string{"config.networkInfo.port"}, &vsan)
+ if err != nil {
+ return err
+ }
+
+ info := vsan.Config
+
+ var port []types.VsanHostConfigInfoNetworkInfoPortConfig
+
+ for _, p := range info.NetworkInfo.Port {
+ if p.Device == device {
+ continue
+ }
+
+ port = append(port, p)
+ }
+
+ if enable {
+ port = append(port, types.VsanHostConfigInfoNetworkInfoPortConfig{
+ Device: device,
+ })
+ }
+
+ info.NetworkInfo.Port = port
+
+ task, err := s.Update(ctx, info)
+ if err != nil {
+ return err
+ }
+
+ _, err = task.WaitForResult(ctx, nil)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/http_nfc_lease.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/http_nfc_lease.go
new file mode 100644
index 00000000..3ca53558
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/http_nfc_lease.go
@@ -0,0 +1,143 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+ "fmt"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type HttpNfcLease struct {
+ Common
+}
+
+func NewHttpNfcLease(c *vim25.Client, ref types.ManagedObjectReference) *HttpNfcLease {
+ return &HttpNfcLease{
+ Common: NewCommon(c, ref),
+ }
+}
+
+// HttpNfcLeaseAbort wraps methods.HttpNfcLeaseAbort
+func (o HttpNfcLease) HttpNfcLeaseAbort(ctx context.Context, fault *types.LocalizedMethodFault) error {
+ req := types.HttpNfcLeaseAbort{
+ This: o.Reference(),
+ Fault: fault,
+ }
+
+ _, err := methods.HttpNfcLeaseAbort(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// HttpNfcLeaseComplete wraps methods.HttpNfcLeaseComplete
+func (o HttpNfcLease) HttpNfcLeaseComplete(ctx context.Context) error {
+ req := types.HttpNfcLeaseComplete{
+ This: o.Reference(),
+ }
+
+ _, err := methods.HttpNfcLeaseComplete(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// HttpNfcLeaseGetManifest wraps methods.HttpNfcLeaseGetManifest
+func (o HttpNfcLease) HttpNfcLeaseGetManifest(ctx context.Context) error {
+ req := types.HttpNfcLeaseGetManifest{
+ This: o.Reference(),
+ }
+
+ _, err := methods.HttpNfcLeaseGetManifest(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// HttpNfcLeaseProgress wraps methods.HttpNfcLeaseProgress
+func (o HttpNfcLease) HttpNfcLeaseProgress(ctx context.Context, percent int32) error {
+ req := types.HttpNfcLeaseProgress{
+ This: o.Reference(),
+ Percent: percent,
+ }
+
+ _, err := methods.HttpNfcLeaseProgress(ctx, o.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (o HttpNfcLease) Wait(ctx context.Context) (*types.HttpNfcLeaseInfo, error) {
+ var lease mo.HttpNfcLease
+
+ pc := property.DefaultCollector(o.c)
+ err := property.Wait(ctx, pc, o.Reference(), []string{"state", "info", "error"}, func(pc []types.PropertyChange) bool {
+ done := false
+
+ for _, c := range pc {
+ if c.Val == nil {
+ continue
+ }
+
+ switch c.Name {
+ case "error":
+ val := c.Val.(types.LocalizedMethodFault)
+ lease.Error = &val
+ done = true
+ case "info":
+ val := c.Val.(types.HttpNfcLeaseInfo)
+ lease.Info = &val
+ case "state":
+ lease.State = c.Val.(types.HttpNfcLeaseState)
+ if lease.State != types.HttpNfcLeaseStateInitializing {
+ done = true
+ }
+ }
+ }
+
+ return done
+ })
+
+ if err != nil {
+ return nil, err
+ }
+
+ if lease.State == types.HttpNfcLeaseStateReady {
+ return lease.Info, nil
+ }
+
+ if lease.Error != nil {
+ return nil, errors.New(lease.Error.LocalizedMessage)
+ }
+
+ return nil, fmt.Errorf("unexpected nfc lease state: %s", lease.State)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/namespace_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/namespace_manager.go
new file mode 100644
index 00000000..f463b368
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/namespace_manager.go
@@ -0,0 +1,76 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type DatastoreNamespaceManager struct {
+ Common
+}
+
+func NewDatastoreNamespaceManager(c *vim25.Client) *DatastoreNamespaceManager {
+ n := DatastoreNamespaceManager{
+ Common: NewCommon(c, *c.ServiceContent.DatastoreNamespaceManager),
+ }
+
+ return &n
+}
+
+// CreateDirectory creates a top-level directory on the given vsan datastore, using
+// the given user display name hint and opaque storage policy.
+func (nm DatastoreNamespaceManager) CreateDirectory(ctx context.Context, ds *Datastore, displayName string, policy string) (string, error) {
+
+ req := &types.CreateDirectory{
+ This: nm.Reference(),
+ Datastore: ds.Reference(),
+ DisplayName: displayName,
+ Policy: policy,
+ }
+
+ resp, err := methods.CreateDirectory(ctx, nm.c, req)
+ if err != nil {
+ return "", err
+ }
+
+ return resp.Returnval, nil
+}
+
+// DeleteDirectory deletes the given top-level directory from a vsan datastore.
+func (nm DatastoreNamespaceManager) DeleteDirectory(ctx context.Context, dc *Datacenter, datastorePath string) error {
+
+ req := &types.DeleteDirectory{
+ This: nm.Reference(),
+ DatastorePath: datastorePath,
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ if _, err := methods.DeleteDirectory(ctx, nm.c, req); err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network.go
new file mode 100644
index 00000000..d1dc7ce0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network.go
@@ -0,0 +1,56 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Network struct {
+ Common
+}
+
+func NewNetwork(c *vim25.Client, ref types.ManagedObjectReference) *Network {
+ return &Network{
+ Common: NewCommon(c, ref),
+ }
+}
+
+// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network
+func (n Network) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) {
+ var e mo.Network
+
+ // Use Network.Name rather than Common.Name as the latter does not return the complete name if it contains a '/'
+ // We can't use Common.ObjectName here either as we need the ManagedEntity.Name field is not set since mo.Network
+ // has its own Name field.
+ err := n.Properties(ctx, n.Reference(), []string{"name"}, &e)
+ if err != nil {
+ return nil, err
+ }
+
+ backing := &types.VirtualEthernetCardNetworkBackingInfo{
+ VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{
+ DeviceName: e.Name,
+ },
+ }
+
+ return backing, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network_reference.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network_reference.go
new file mode 100644
index 00000000..7716bdb3
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/network_reference.go
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// The NetworkReference interface is implemented by managed objects
+// which can be used as the backing for a VirtualEthernetCard.
+type NetworkReference interface {
+ Reference
+
+ EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/opaque_network.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/opaque_network.go
new file mode 100644
index 00000000..47ce4cef
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/opaque_network.go
@@ -0,0 +1,57 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type OpaqueNetwork struct {
+ Common
+}
+
+func NewOpaqueNetwork(c *vim25.Client, ref types.ManagedObjectReference) *OpaqueNetwork {
+ return &OpaqueNetwork{
+ Common: NewCommon(c, ref),
+ }
+}
+
+// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network
+func (n OpaqueNetwork) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) {
+ var net mo.OpaqueNetwork
+
+ if err := n.Properties(ctx, n.Reference(), []string{"summary"}, &net); err != nil {
+ return nil, err
+ }
+
+ summary, ok := net.Summary.(*types.OpaqueNetworkSummary)
+ if !ok {
+ return nil, fmt.Errorf("%s unsupported network type: %T", n, net.Summary)
+ }
+
+ backing := &types.VirtualEthernetCardOpaqueNetworkBackingInfo{
+ OpaqueNetworkId: summary.OpaqueNetworkId,
+ OpaqueNetworkType: summary.OpaqueNetworkType,
+ }
+
+ return backing, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/option_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/option_manager.go
new file mode 100644
index 00000000..7f93273a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/option_manager.go
@@ -0,0 +1,59 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type OptionManager struct {
+ Common
+}
+
+func NewOptionManager(c *vim25.Client, ref types.ManagedObjectReference) *OptionManager {
+ return &OptionManager{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (m OptionManager) Query(ctx context.Context, name string) ([]types.BaseOptionValue, error) {
+ req := types.QueryOptions{
+ This: m.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.QueryOptions(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (m OptionManager) Update(ctx context.Context, value []types.BaseOptionValue) error {
+ req := types.UpdateOptions{
+ This: m.Reference(),
+ ChangedValue: value,
+ }
+
+ _, err := methods.UpdateOptions(ctx, m.Client(), &req)
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/ovf_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/ovf_manager.go
new file mode 100644
index 00000000..7fedf689
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/ovf_manager.go
@@ -0,0 +1,104 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type OvfManager struct {
+ Common
+}
+
+func NewOvfManager(c *vim25.Client) *OvfManager {
+ o := OvfManager{
+ Common: NewCommon(c, *c.ServiceContent.OvfManager),
+ }
+
+ return &o
+}
+
+// CreateDescriptor wraps methods.CreateDescriptor
+func (o OvfManager) CreateDescriptor(ctx context.Context, obj Reference, cdp types.OvfCreateDescriptorParams) (*types.OvfCreateDescriptorResult, error) {
+ req := types.CreateDescriptor{
+ This: o.Reference(),
+ Obj: obj.Reference(),
+ Cdp: cdp,
+ }
+
+ res, err := methods.CreateDescriptor(ctx, o.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+// CreateImportSpec wraps methods.CreateImportSpec
+func (o OvfManager) CreateImportSpec(ctx context.Context, ovfDescriptor string, resourcePool Reference, datastore Reference, cisp types.OvfCreateImportSpecParams) (*types.OvfCreateImportSpecResult, error) {
+ req := types.CreateImportSpec{
+ This: o.Reference(),
+ OvfDescriptor: ovfDescriptor,
+ ResourcePool: resourcePool.Reference(),
+ Datastore: datastore.Reference(),
+ Cisp: cisp,
+ }
+
+ res, err := methods.CreateImportSpec(ctx, o.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+// ParseDescriptor wraps methods.ParseDescriptor
+func (o OvfManager) ParseDescriptor(ctx context.Context, ovfDescriptor string, pdp types.OvfParseDescriptorParams) (*types.OvfParseDescriptorResult, error) {
+ req := types.ParseDescriptor{
+ This: o.Reference(),
+ OvfDescriptor: ovfDescriptor,
+ Pdp: pdp,
+ }
+
+ res, err := methods.ParseDescriptor(ctx, o.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+// ValidateHost wraps methods.ValidateHost
+func (o OvfManager) ValidateHost(ctx context.Context, ovfDescriptor string, host Reference, vhp types.OvfValidateHostParams) (*types.OvfValidateHostResult, error) {
+ req := types.ValidateHost{
+ This: o.Reference(),
+ OvfDescriptor: ovfDescriptor,
+ Host: host.Reference(),
+ Vhp: vhp,
+ }
+
+ res, err := methods.ValidateHost(ctx, o.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/resource_pool.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/resource_pool.go
new file mode 100644
index 00000000..791fd382
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/resource_pool.go
@@ -0,0 +1,137 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type ResourcePool struct {
+ Common
+}
+
+func NewResourcePool(c *vim25.Client, ref types.ManagedObjectReference) *ResourcePool {
+ return &ResourcePool{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (p ResourcePool) ImportVApp(ctx context.Context, spec types.BaseImportSpec, folder *Folder, host *HostSystem) (*HttpNfcLease, error) {
+ req := types.ImportVApp{
+ This: p.Reference(),
+ Spec: spec,
+ }
+
+ if folder != nil {
+ ref := folder.Reference()
+ req.Folder = &ref
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.ImportVApp(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewHttpNfcLease(p.c, res.Returnval), nil
+}
+
+func (p ResourcePool) Create(ctx context.Context, name string, spec types.ResourceConfigSpec) (*ResourcePool, error) {
+ req := types.CreateResourcePool{
+ This: p.Reference(),
+ Name: name,
+ Spec: spec,
+ }
+
+ res, err := methods.CreateResourcePool(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewResourcePool(p.c, res.Returnval), nil
+}
+
+func (p ResourcePool) CreateVApp(ctx context.Context, name string, resSpec types.ResourceConfigSpec, configSpec types.VAppConfigSpec, folder *Folder) (*VirtualApp, error) {
+ req := types.CreateVApp{
+ This: p.Reference(),
+ Name: name,
+ ResSpec: resSpec,
+ ConfigSpec: configSpec,
+ }
+
+ if folder != nil {
+ ref := folder.Reference()
+ req.VmFolder = &ref
+ }
+
+ res, err := methods.CreateVApp(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewVirtualApp(p.c, res.Returnval), nil
+}
+
+func (p ResourcePool) UpdateConfig(ctx context.Context, name string, config *types.ResourceConfigSpec) error {
+ req := types.UpdateConfig{
+ This: p.Reference(),
+ Name: name,
+ Config: config,
+ }
+
+ if config != nil && config.Entity == nil {
+ ref := p.Reference()
+
+ // Create copy of config so changes won't leak back to the caller
+ newConfig := *config
+ newConfig.Entity = &ref
+ req.Config = &newConfig
+ }
+
+ _, err := methods.UpdateConfig(ctx, p.c, &req)
+ return err
+}
+
+func (p ResourcePool) DestroyChildren(ctx context.Context) error {
+ req := types.DestroyChildren{
+ This: p.Reference(),
+ }
+
+ _, err := methods.DestroyChildren(ctx, p.c, &req)
+ return err
+}
+
+func (p ResourcePool) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: p.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/search_index.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/search_index.go
new file mode 100644
index 00000000..4b0a525d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/search_index.go
@@ -0,0 +1,163 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type SearchIndex struct {
+ Common
+}
+
+func NewSearchIndex(c *vim25.Client) *SearchIndex {
+ s := SearchIndex{
+ Common: NewCommon(c, *c.ServiceContent.SearchIndex),
+ }
+
+ return &s
+}
+
+// FindByDatastorePath finds a virtual machine by its location on a datastore.
+func (s SearchIndex) FindByDatastorePath(ctx context.Context, dc *Datacenter, path string) (Reference, error) {
+ req := types.FindByDatastorePath{
+ This: s.Reference(),
+ Datacenter: dc.Reference(),
+ Path: path,
+ }
+
+ res, err := methods.FindByDatastorePath(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
+
+// FindByDnsName finds a virtual machine or host by DNS name.
+func (s SearchIndex) FindByDnsName(ctx context.Context, dc *Datacenter, dnsName string, vmSearch bool) (Reference, error) {
+ req := types.FindByDnsName{
+ This: s.Reference(),
+ DnsName: dnsName,
+ VmSearch: vmSearch,
+ }
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.FindByDnsName(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
+
+// FindByInventoryPath finds a managed entity based on its location in the inventory.
+func (s SearchIndex) FindByInventoryPath(ctx context.Context, path string) (Reference, error) {
+ req := types.FindByInventoryPath{
+ This: s.Reference(),
+ InventoryPath: path,
+ }
+
+ res, err := methods.FindByInventoryPath(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
+
+// FindByIp finds a virtual machine or host by IP address.
+func (s SearchIndex) FindByIp(ctx context.Context, dc *Datacenter, ip string, vmSearch bool) (Reference, error) {
+ req := types.FindByIp{
+ This: s.Reference(),
+ Ip: ip,
+ VmSearch: vmSearch,
+ }
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.FindByIp(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
+
+// FindByUuid finds a virtual machine or host by UUID.
+func (s SearchIndex) FindByUuid(ctx context.Context, dc *Datacenter, uuid string, vmSearch bool, instanceUuid *bool) (Reference, error) {
+ req := types.FindByUuid{
+ This: s.Reference(),
+ Uuid: uuid,
+ VmSearch: vmSearch,
+ InstanceUuid: instanceUuid,
+ }
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.FindByUuid(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
+
+// FindChild finds a particular child based on a managed entity name.
+func (s SearchIndex) FindChild(ctx context.Context, entity Reference, name string) (Reference, error) {
+ req := types.FindChild{
+ This: s.Reference(),
+ Entity: entity.Reference(),
+ Name: name,
+ }
+
+ res, err := methods.FindChild(ctx, s.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ if res.Returnval == nil {
+ return nil, nil
+ }
+ return NewReference(s.c, *res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_pod.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_pod.go
new file mode 100644
index 00000000..188b91a0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_pod.go
@@ -0,0 +1,34 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type StoragePod struct {
+ *Folder
+}
+
+func NewStoragePod(c *vim25.Client, ref types.ManagedObjectReference) *StoragePod {
+ return &StoragePod{
+ Folder: &Folder{
+ Common: NewCommon(c, ref),
+ },
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go
new file mode 100644
index 00000000..579bcd4d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go
@@ -0,0 +1,179 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type StorageResourceManager struct {
+ Common
+}
+
+func NewStorageResourceManager(c *vim25.Client) *StorageResourceManager {
+ sr := StorageResourceManager{
+ Common: NewCommon(c, *c.ServiceContent.StorageResourceManager),
+ }
+
+ return &sr
+}
+
+func (sr StorageResourceManager) ApplyStorageDrsRecommendation(ctx context.Context, key []string) (*Task, error) {
+ req := types.ApplyStorageDrsRecommendation_Task{
+ This: sr.Reference(),
+ Key: key,
+ }
+
+ res, err := methods.ApplyStorageDrsRecommendation_Task(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(sr.c, res.Returnval), nil
+}
+
+func (sr StorageResourceManager) ApplyStorageDrsRecommendationToPod(ctx context.Context, pod *StoragePod, key string) (*Task, error) {
+ req := types.ApplyStorageDrsRecommendationToPod_Task{
+ This: sr.Reference(),
+ Key: key,
+ }
+
+ if pod != nil {
+ req.Pod = pod.Reference()
+ }
+
+ res, err := methods.ApplyStorageDrsRecommendationToPod_Task(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(sr.c, res.Returnval), nil
+}
+
+func (sr StorageResourceManager) CancelStorageDrsRecommendation(ctx context.Context, key []string) error {
+ req := types.CancelStorageDrsRecommendation{
+ This: sr.Reference(),
+ Key: key,
+ }
+
+ _, err := methods.CancelStorageDrsRecommendation(ctx, sr.c, &req)
+
+ return err
+}
+
+func (sr StorageResourceManager) ConfigureDatastoreIORM(ctx context.Context, datastore *Datastore, spec types.StorageIORMConfigSpec, key string) (*Task, error) {
+ req := types.ConfigureDatastoreIORM_Task{
+ This: sr.Reference(),
+ Spec: spec,
+ }
+
+ if datastore != nil {
+ req.Datastore = datastore.Reference()
+ }
+
+ res, err := methods.ConfigureDatastoreIORM_Task(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(sr.c, res.Returnval), nil
+}
+
+func (sr StorageResourceManager) ConfigureStorageDrsForPod(ctx context.Context, pod *StoragePod, spec types.StorageDrsConfigSpec, modify bool) (*Task, error) {
+ req := types.ConfigureStorageDrsForPod_Task{
+ This: sr.Reference(),
+ Spec: spec,
+ Modify: modify,
+ }
+
+ if pod != nil {
+ req.Pod = pod.Reference()
+ }
+
+ res, err := methods.ConfigureStorageDrsForPod_Task(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(sr.c, res.Returnval), nil
+}
+
+func (sr StorageResourceManager) QueryDatastorePerformanceSummary(ctx context.Context, datastore *Datastore) ([]types.StoragePerformanceSummary, error) {
+ req := types.QueryDatastorePerformanceSummary{
+ This: sr.Reference(),
+ }
+
+ if datastore != nil {
+ req.Datastore = datastore.Reference()
+ }
+
+ res, err := methods.QueryDatastorePerformanceSummary(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (sr StorageResourceManager) QueryIORMConfigOption(ctx context.Context, host *HostSystem) (*types.StorageIORMConfigOption, error) {
+ req := types.QueryIORMConfigOption{
+ This: sr.Reference(),
+ }
+
+ if host != nil {
+ req.Host = host.Reference()
+ }
+
+ res, err := methods.QueryIORMConfigOption(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (sr StorageResourceManager) RecommendDatastores(ctx context.Context, storageSpec types.StoragePlacementSpec) (*types.StoragePlacementResult, error) {
+ req := types.RecommendDatastores{
+ This: sr.Reference(),
+ StorageSpec: storageSpec,
+ }
+
+ res, err := methods.RecommendDatastores(ctx, sr.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (sr StorageResourceManager) RefreshStorageDrsRecommendation(ctx context.Context, pod *StoragePod) error {
+ req := types.RefreshStorageDrsRecommendation{
+ This: sr.Reference(),
+ }
+
+ if pod != nil {
+ req.Pod = pod.Reference()
+ }
+
+ _, err := methods.RefreshStorageDrsRecommendation(ctx, sr.c, &req)
+
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/task.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/task.go
new file mode 100644
index 00000000..8572b436
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/task.go
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/task"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/progress"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Task is a convenience wrapper around task.Task that keeps a reference to
+// the client that was used to create it. This allows users to call the Wait()
+// function with only a context parameter, instead of a context parameter, a
+// soap.RoundTripper, and reference to the root property collector.
+type Task struct {
+ Common
+}
+
+func NewTask(c *vim25.Client, ref types.ManagedObjectReference) *Task {
+ t := Task{
+ Common: NewCommon(c, ref),
+ }
+
+ return &t
+}
+
+func (t *Task) Wait(ctx context.Context) error {
+ _, err := t.WaitForResult(ctx, nil)
+ return err
+}
+
+func (t *Task) WaitForResult(ctx context.Context, s progress.Sinker) (*types.TaskInfo, error) {
+ p := property.DefaultCollector(t.c)
+ return task.Wait(ctx, t.Reference(), p, s)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/types.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/types.go
new file mode 100644
index 00000000..aefb611f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/types.go
@@ -0,0 +1,65 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Reference interface {
+ Reference() types.ManagedObjectReference
+}
+
+func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference {
+ switch e.Type {
+ case "Folder":
+ return NewFolder(c, e)
+ case "StoragePod":
+ return &StoragePod{
+ NewFolder(c, e),
+ }
+ case "Datacenter":
+ return NewDatacenter(c, e)
+ case "VirtualMachine":
+ return NewVirtualMachine(c, e)
+ case "VirtualApp":
+ return &VirtualApp{
+ NewResourcePool(c, e),
+ }
+ case "ComputeResource":
+ return NewComputeResource(c, e)
+ case "ClusterComputeResource":
+ return NewClusterComputeResource(c, e)
+ case "HostSystem":
+ return NewHostSystem(c, e)
+ case "Network", "OpaqueNetwork":
+ return NewNetwork(c, e)
+ case "ResourcePool":
+ return NewResourcePool(c, e)
+ case "DistributedVirtualSwitch":
+ return NewDistributedVirtualSwitch(c, e)
+ case "VmwareDistributedVirtualSwitch":
+ return &VmwareDistributedVirtualSwitch{*NewDistributedVirtualSwitch(c, e)}
+ case "DistributedVirtualPortgroup":
+ return NewDistributedVirtualPortgroup(c, e)
+ case "Datastore":
+ return NewDatastore(c, e)
+ default:
+ panic("Unknown managed entity: " + e.Type)
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_app.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_app.go
new file mode 100644
index 00000000..4811178f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_app.go
@@ -0,0 +1,105 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type VirtualApp struct {
+ *ResourcePool
+}
+
+func NewVirtualApp(c *vim25.Client, ref types.ManagedObjectReference) *VirtualApp {
+ return &VirtualApp{
+ ResourcePool: NewResourcePool(c, ref),
+ }
+}
+
+func (p VirtualApp) CreateChildVM(ctx context.Context, config types.VirtualMachineConfigSpec, host *HostSystem) (*Task, error) {
+ req := types.CreateChildVM_Task{
+ This: p.Reference(),
+ Config: config,
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.CreateChildVM_Task(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.c, res.Returnval), nil
+}
+
+func (p VirtualApp) UpdateConfig(ctx context.Context, spec types.VAppConfigSpec) error {
+ req := types.UpdateVAppConfig{
+ This: p.Reference(),
+ Spec: spec,
+ }
+
+ _, err := methods.UpdateVAppConfig(ctx, p.c, &req)
+ return err
+}
+
+func (p VirtualApp) PowerOn(ctx context.Context) (*Task, error) {
+ req := types.PowerOnVApp_Task{
+ This: p.Reference(),
+ }
+
+ res, err := methods.PowerOnVApp_Task(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.c, res.Returnval), nil
+}
+
+func (p VirtualApp) PowerOff(ctx context.Context, force bool) (*Task, error) {
+ req := types.PowerOffVApp_Task{
+ This: p.Reference(),
+ Force: force,
+ }
+
+ res, err := methods.PowerOffVApp_Task(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.c, res.Returnval), nil
+
+}
+
+func (p VirtualApp) Suspend(ctx context.Context) (*Task, error) {
+ req := types.SuspendVApp_Task{
+ This: p.Reference(),
+ }
+
+ res, err := methods.SuspendVApp_Task(ctx, p.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(p.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_device_list.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_device_list.go
new file mode 100644
index 00000000..24821aa6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_device_list.go
@@ -0,0 +1,922 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "errors"
+ "fmt"
+ "path/filepath"
+ "reflect"
+ "regexp"
+ "sort"
+ "strings"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Type values for use in BootOrder
+const (
+ DeviceTypeCdrom = "cdrom"
+ DeviceTypeDisk = "disk"
+ DeviceTypeEthernet = "ethernet"
+ DeviceTypeFloppy = "floppy"
+)
+
+// VirtualDeviceList provides helper methods for working with a list of virtual devices.
+type VirtualDeviceList []types.BaseVirtualDevice
+
+// SCSIControllerTypes are used for adding a new SCSI controller to a VM.
+func SCSIControllerTypes() VirtualDeviceList {
+ // Return a mutable list of SCSI controller types, initialized with defaults.
+ return VirtualDeviceList([]types.BaseVirtualDevice{
+ &types.VirtualLsiLogicController{},
+ &types.VirtualBusLogicController{},
+ &types.ParaVirtualSCSIController{},
+ &types.VirtualLsiLogicSASController{},
+ }).Select(func(device types.BaseVirtualDevice) bool {
+ c := device.(types.BaseVirtualSCSIController).GetVirtualSCSIController()
+ c.SharedBus = types.VirtualSCSISharingNoSharing
+ c.BusNumber = -1
+ return true
+ })
+}
+
+// EthernetCardTypes are used for adding a new ethernet card to a VM.
+func EthernetCardTypes() VirtualDeviceList {
+ return VirtualDeviceList([]types.BaseVirtualDevice{
+ &types.VirtualE1000{},
+ &types.VirtualE1000e{},
+ &types.VirtualVmxnet3{},
+ }).Select(func(device types.BaseVirtualDevice) bool {
+ c := device.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard()
+ c.GetVirtualDevice().Key = -1
+ return true
+ })
+}
+
+// Select returns a new list containing all elements of the list for which the given func returns true.
+func (l VirtualDeviceList) Select(f func(device types.BaseVirtualDevice) bool) VirtualDeviceList {
+ var found VirtualDeviceList
+
+ for _, device := range l {
+ if f(device) {
+ found = append(found, device)
+ }
+ }
+
+ return found
+}
+
+// SelectByType returns a new list with devices that are equal to or extend the given type.
+func (l VirtualDeviceList) SelectByType(deviceType types.BaseVirtualDevice) VirtualDeviceList {
+ dtype := reflect.TypeOf(deviceType)
+ if dtype == nil {
+ return nil
+ }
+ dname := dtype.Elem().Name()
+
+ return l.Select(func(device types.BaseVirtualDevice) bool {
+ t := reflect.TypeOf(device)
+
+ if t == dtype {
+ return true
+ }
+
+ _, ok := t.Elem().FieldByName(dname)
+
+ return ok
+ })
+}
+
+// SelectByBackingInfo returns a new list with devices matching the given backing info.
+// If the value of backing is nil, any device with a backing of the same type will be returned.
+func (l VirtualDeviceList) SelectByBackingInfo(backing types.BaseVirtualDeviceBackingInfo) VirtualDeviceList {
+ t := reflect.TypeOf(backing)
+
+ return l.Select(func(device types.BaseVirtualDevice) bool {
+ db := device.GetVirtualDevice().Backing
+ if db == nil {
+ return false
+ }
+
+ if reflect.TypeOf(db) != t {
+ return false
+ }
+
+ if reflect.ValueOf(backing).IsNil() {
+ // selecting by backing type
+ return true
+ }
+
+ switch a := db.(type) {
+ case *types.VirtualEthernetCardNetworkBackingInfo:
+ b := backing.(*types.VirtualEthernetCardNetworkBackingInfo)
+ return a.DeviceName == b.DeviceName
+ case *types.VirtualEthernetCardDistributedVirtualPortBackingInfo:
+ b := backing.(*types.VirtualEthernetCardDistributedVirtualPortBackingInfo)
+ return a.Port.SwitchUuid == b.Port.SwitchUuid &&
+ a.Port.PortgroupKey == b.Port.PortgroupKey
+ case *types.VirtualDiskFlatVer2BackingInfo:
+ b := backing.(*types.VirtualDiskFlatVer2BackingInfo)
+ if a.Parent != nil && b.Parent != nil {
+ return a.Parent.FileName == b.Parent.FileName
+ }
+ return a.FileName == b.FileName
+ case *types.VirtualSerialPortURIBackingInfo:
+ b := backing.(*types.VirtualSerialPortURIBackingInfo)
+ return a.ServiceURI == b.ServiceURI
+ case types.BaseVirtualDeviceFileBackingInfo:
+ b := backing.(types.BaseVirtualDeviceFileBackingInfo)
+ return a.GetVirtualDeviceFileBackingInfo().FileName == b.GetVirtualDeviceFileBackingInfo().FileName
+ default:
+ return false
+ }
+ })
+}
+
+// Find returns the device matching the given name.
+func (l VirtualDeviceList) Find(name string) types.BaseVirtualDevice {
+ for _, device := range l {
+ if l.Name(device) == name {
+ return device
+ }
+ }
+ return nil
+}
+
+// FindByKey returns the device matching the given key.
+func (l VirtualDeviceList) FindByKey(key int32) types.BaseVirtualDevice {
+ for _, device := range l {
+ if device.GetVirtualDevice().Key == key {
+ return device
+ }
+ }
+ return nil
+}
+
+// FindIDEController will find the named IDE controller if given, otherwise will pick an available controller.
+// An error is returned if the named controller is not found or not an IDE controller. Or, if name is not
+// given and no available controller can be found.
+func (l VirtualDeviceList) FindIDEController(name string) (*types.VirtualIDEController, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(*types.VirtualIDEController); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not an IDE controller", name)
+ }
+
+ c := l.PickController((*types.VirtualIDEController)(nil))
+ if c == nil {
+ return nil, errors.New("no available IDE controller")
+ }
+
+ return c.(*types.VirtualIDEController), nil
+}
+
+// CreateIDEController creates a new IDE controller.
+func (l VirtualDeviceList) CreateIDEController() (types.BaseVirtualDevice, error) {
+ ide := &types.VirtualIDEController{}
+ ide.Key = l.NewKey()
+ return ide, nil
+}
+
+// FindSCSIController will find the named SCSI controller if given, otherwise will pick an available controller.
+// An error is returned if the named controller is not found or not an SCSI controller. Or, if name is not
+// given and no available controller can be found.
+func (l VirtualDeviceList) FindSCSIController(name string) (*types.VirtualSCSIController, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(types.BaseVirtualSCSIController); ok {
+ return c.GetVirtualSCSIController(), nil
+ }
+ return nil, fmt.Errorf("%s is not an SCSI controller", name)
+ }
+
+ c := l.PickController((*types.VirtualSCSIController)(nil))
+ if c == nil {
+ return nil, errors.New("no available SCSI controller")
+ }
+
+ return c.(types.BaseVirtualSCSIController).GetVirtualSCSIController(), nil
+}
+
+// CreateSCSIController creates a new SCSI controller of type name if given, otherwise defaults to lsilogic.
+func (l VirtualDeviceList) CreateSCSIController(name string) (types.BaseVirtualDevice, error) {
+ ctypes := SCSIControllerTypes()
+
+ if name == "scsi" || name == "" {
+ name = ctypes.Type(ctypes[0])
+ }
+
+ found := ctypes.Select(func(device types.BaseVirtualDevice) bool {
+ return l.Type(device) == name
+ })
+
+ if len(found) == 0 {
+ return nil, fmt.Errorf("unknown SCSI controller type '%s'", name)
+ }
+
+ c, ok := found[0].(types.BaseVirtualSCSIController)
+ if !ok {
+ return nil, fmt.Errorf("invalid SCSI controller type '%s'", name)
+ }
+
+ scsi := c.GetVirtualSCSIController()
+ scsi.BusNumber = l.newSCSIBusNumber()
+ scsi.Key = l.NewKey()
+ scsi.ScsiCtlrUnitNumber = 7
+ return c.(types.BaseVirtualDevice), nil
+}
+
+var scsiBusNumbers = []int{0, 1, 2, 3}
+
+// newSCSIBusNumber returns the bus number to use for adding a new SCSI bus device.
+// -1 is returned if there are no bus numbers available.
+func (l VirtualDeviceList) newSCSIBusNumber() int32 {
+ var used []int
+
+ for _, d := range l.SelectByType((*types.VirtualSCSIController)(nil)) {
+ num := d.(types.BaseVirtualSCSIController).GetVirtualSCSIController().BusNumber
+ if num >= 0 {
+ used = append(used, int(num))
+ } // else caller is creating a new vm using SCSIControllerTypes
+ }
+
+ sort.Ints(used)
+
+ for i, n := range scsiBusNumbers {
+ if i == len(used) || n != used[i] {
+ return int32(n)
+ }
+ }
+
+ return -1
+}
+
+// FindNVMEController will find the named NVME controller if given, otherwise will pick an available controller.
+// An error is returned if the named controller is not found or not an NVME controller. Or, if name is not
+// given and no available controller can be found.
+func (l VirtualDeviceList) FindNVMEController(name string) (*types.VirtualNVMEController, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(*types.VirtualNVMEController); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not an NVME controller", name)
+ }
+
+ c := l.PickController((*types.VirtualNVMEController)(nil))
+ if c == nil {
+ return nil, errors.New("no available NVME controller")
+ }
+
+ return c.(*types.VirtualNVMEController), nil
+}
+
+// CreateNVMEController creates a new NVMWE controller.
+func (l VirtualDeviceList) CreateNVMEController() (types.BaseVirtualDevice, error) {
+ nvme := &types.VirtualNVMEController{}
+ nvme.BusNumber = l.newNVMEBusNumber()
+ nvme.Key = l.NewKey()
+
+ return nvme, nil
+}
+
+var nvmeBusNumbers = []int{0, 1, 2, 3}
+
+// newNVMEBusNumber returns the bus number to use for adding a new NVME bus device.
+// -1 is returned if there are no bus numbers available.
+func (l VirtualDeviceList) newNVMEBusNumber() int32 {
+ var used []int
+
+ for _, d := range l.SelectByType((*types.VirtualNVMEController)(nil)) {
+ num := d.(types.BaseVirtualController).GetVirtualController().BusNumber
+ if num >= 0 {
+ used = append(used, int(num))
+ } // else caller is creating a new vm using NVMEControllerTypes
+ }
+
+ sort.Ints(used)
+
+ for i, n := range nvmeBusNumbers {
+ if i == len(used) || n != used[i] {
+ return int32(n)
+ }
+ }
+
+ return -1
+}
+
+// FindDiskController will find an existing ide or scsi disk controller.
+func (l VirtualDeviceList) FindDiskController(name string) (types.BaseVirtualController, error) {
+ switch {
+ case name == "ide":
+ return l.FindIDEController("")
+ case name == "scsi" || name == "":
+ return l.FindSCSIController("")
+ case name == "nvme":
+ return l.FindNVMEController("")
+ default:
+ if c, ok := l.Find(name).(types.BaseVirtualController); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not a valid controller", name)
+ }
+}
+
+// PickController returns a controller of the given type(s).
+// If no controllers are found or have no available slots, then nil is returned.
+func (l VirtualDeviceList) PickController(kind types.BaseVirtualController) types.BaseVirtualController {
+ l = l.SelectByType(kind.(types.BaseVirtualDevice)).Select(func(device types.BaseVirtualDevice) bool {
+ num := len(device.(types.BaseVirtualController).GetVirtualController().Device)
+
+ switch device.(type) {
+ case types.BaseVirtualSCSIController:
+ return num < 15
+ case *types.VirtualIDEController:
+ return num < 2
+ case *types.VirtualNVMEController:
+ return num < 8
+ default:
+ return true
+ }
+ })
+
+ if len(l) == 0 {
+ return nil
+ }
+
+ return l[0].(types.BaseVirtualController)
+}
+
+// newUnitNumber returns the unit number to use for attaching a new device to the given controller.
+func (l VirtualDeviceList) newUnitNumber(c types.BaseVirtualController) int32 {
+ units := make([]bool, 30)
+
+ switch sc := c.(type) {
+ case types.BaseVirtualSCSIController:
+ // The SCSI controller sits on its own bus
+ units[sc.GetVirtualSCSIController().ScsiCtlrUnitNumber] = true
+ }
+
+ key := c.GetVirtualController().Key
+
+ for _, device := range l {
+ d := device.GetVirtualDevice()
+
+ if d.ControllerKey == key && d.UnitNumber != nil {
+ units[int(*d.UnitNumber)] = true
+ }
+ }
+
+ for unit, used := range units {
+ if !used {
+ return int32(unit)
+ }
+ }
+
+ return -1
+}
+
+// NewKey returns the key to use for adding a new device to the device list.
+// The device list we're working with here may not be complete (e.g. when
+// we're only adding new devices), so any positive keys could conflict with device keys
+// that are already in use. To avoid this type of conflict, we can use negative keys
+// here, which will be resolved to positive keys by vSphere as the reconfiguration is done.
+func (l VirtualDeviceList) NewKey() int32 {
+ var key int32 = -200
+
+ for _, device := range l {
+ d := device.GetVirtualDevice()
+ if d.Key < key {
+ key = d.Key
+ }
+ }
+
+ return key - 1
+}
+
+// AssignController assigns a device to a controller.
+func (l VirtualDeviceList) AssignController(device types.BaseVirtualDevice, c types.BaseVirtualController) {
+ d := device.GetVirtualDevice()
+ d.ControllerKey = c.GetVirtualController().Key
+ d.UnitNumber = new(int32)
+ *d.UnitNumber = l.newUnitNumber(c)
+ if d.Key == 0 {
+ d.Key = -1
+ }
+}
+
+// CreateDisk creates a new VirtualDisk device which can be added to a VM.
+func (l VirtualDeviceList) CreateDisk(c types.BaseVirtualController, ds types.ManagedObjectReference, name string) *types.VirtualDisk {
+ // If name is not specified, one will be chosen for you.
+ // But if when given, make sure it ends in .vmdk, otherwise it will be treated as a directory.
+ if len(name) > 0 && filepath.Ext(name) != ".vmdk" {
+ name += ".vmdk"
+ }
+
+ device := &types.VirtualDisk{
+ VirtualDevice: types.VirtualDevice{
+ Backing: &types.VirtualDiskFlatVer2BackingInfo{
+ DiskMode: string(types.VirtualDiskModePersistent),
+ ThinProvisioned: types.NewBool(true),
+ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{
+ FileName: name,
+ Datastore: &ds,
+ },
+ },
+ },
+ }
+
+ l.AssignController(device, c)
+ return device
+}
+
+// ChildDisk creates a new VirtualDisk device, linked to the given parent disk, which can be added to a VM.
+func (l VirtualDeviceList) ChildDisk(parent *types.VirtualDisk) *types.VirtualDisk {
+ disk := *parent
+ backing := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo)
+ p := new(DatastorePath)
+ p.FromString(backing.FileName)
+ p.Path = ""
+
+ // Use specified disk as parent backing to a new disk.
+ disk.Backing = &types.VirtualDiskFlatVer2BackingInfo{
+ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{
+ FileName: p.String(),
+ Datastore: backing.Datastore,
+ },
+ Parent: backing,
+ DiskMode: backing.DiskMode,
+ ThinProvisioned: backing.ThinProvisioned,
+ }
+
+ return &disk
+}
+
+func (l VirtualDeviceList) connectivity(device types.BaseVirtualDevice, v bool) error {
+ c := device.GetVirtualDevice().Connectable
+ if c == nil {
+ return fmt.Errorf("%s is not connectable", l.Name(device))
+ }
+
+ c.Connected = v
+ c.StartConnected = v
+
+ return nil
+}
+
+// Connect changes the device to connected, returns an error if the device is not connectable.
+func (l VirtualDeviceList) Connect(device types.BaseVirtualDevice) error {
+ return l.connectivity(device, true)
+}
+
+// Disconnect changes the device to disconnected, returns an error if the device is not connectable.
+func (l VirtualDeviceList) Disconnect(device types.BaseVirtualDevice) error {
+ return l.connectivity(device, false)
+}
+
+// FindCdrom finds a cdrom device with the given name, defaulting to the first cdrom device if any.
+func (l VirtualDeviceList) FindCdrom(name string) (*types.VirtualCdrom, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(*types.VirtualCdrom); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not a cdrom device", name)
+ }
+
+ c := l.SelectByType((*types.VirtualCdrom)(nil))
+ if len(c) == 0 {
+ return nil, errors.New("no cdrom device found")
+ }
+
+ return c[0].(*types.VirtualCdrom), nil
+}
+
+// CreateCdrom creates a new VirtualCdrom device which can be added to a VM.
+func (l VirtualDeviceList) CreateCdrom(c *types.VirtualIDEController) (*types.VirtualCdrom, error) {
+ device := &types.VirtualCdrom{}
+
+ l.AssignController(device, c)
+
+ l.setDefaultCdromBacking(device)
+
+ device.Connectable = &types.VirtualDeviceConnectInfo{
+ AllowGuestControl: true,
+ Connected: true,
+ StartConnected: true,
+ }
+
+ return device, nil
+}
+
+// InsertIso changes the cdrom device backing to use the given iso file.
+func (l VirtualDeviceList) InsertIso(device *types.VirtualCdrom, iso string) *types.VirtualCdrom {
+ device.Backing = &types.VirtualCdromIsoBackingInfo{
+ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{
+ FileName: iso,
+ },
+ }
+
+ return device
+}
+
+// EjectIso removes the iso file based backing and replaces with the default cdrom backing.
+func (l VirtualDeviceList) EjectIso(device *types.VirtualCdrom) *types.VirtualCdrom {
+ l.setDefaultCdromBacking(device)
+ return device
+}
+
+func (l VirtualDeviceList) setDefaultCdromBacking(device *types.VirtualCdrom) {
+ device.Backing = &types.VirtualCdromAtapiBackingInfo{
+ VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{
+ DeviceName: fmt.Sprintf("%s-%d-%d", DeviceTypeCdrom, device.ControllerKey, device.UnitNumber),
+ UseAutoDetect: types.NewBool(false),
+ },
+ }
+}
+
+// FindFloppy finds a floppy device with the given name, defaulting to the first floppy device if any.
+func (l VirtualDeviceList) FindFloppy(name string) (*types.VirtualFloppy, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(*types.VirtualFloppy); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not a floppy device", name)
+ }
+
+ c := l.SelectByType((*types.VirtualFloppy)(nil))
+ if len(c) == 0 {
+ return nil, errors.New("no floppy device found")
+ }
+
+ return c[0].(*types.VirtualFloppy), nil
+}
+
+// CreateFloppy creates a new VirtualFloppy device which can be added to a VM.
+func (l VirtualDeviceList) CreateFloppy() (*types.VirtualFloppy, error) {
+ device := &types.VirtualFloppy{}
+
+ c := l.PickController((*types.VirtualSIOController)(nil))
+ if c == nil {
+ return nil, errors.New("no available SIO controller")
+ }
+
+ l.AssignController(device, c)
+
+ l.setDefaultFloppyBacking(device)
+
+ device.Connectable = &types.VirtualDeviceConnectInfo{
+ AllowGuestControl: true,
+ Connected: true,
+ StartConnected: true,
+ }
+
+ return device, nil
+}
+
+// InsertImg changes the floppy device backing to use the given img file.
+func (l VirtualDeviceList) InsertImg(device *types.VirtualFloppy, img string) *types.VirtualFloppy {
+ device.Backing = &types.VirtualFloppyImageBackingInfo{
+ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{
+ FileName: img,
+ },
+ }
+
+ return device
+}
+
+// EjectImg removes the img file based backing and replaces with the default floppy backing.
+func (l VirtualDeviceList) EjectImg(device *types.VirtualFloppy) *types.VirtualFloppy {
+ l.setDefaultFloppyBacking(device)
+ return device
+}
+
+func (l VirtualDeviceList) setDefaultFloppyBacking(device *types.VirtualFloppy) {
+ device.Backing = &types.VirtualFloppyDeviceBackingInfo{
+ VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{
+ DeviceName: fmt.Sprintf("%s-%d", DeviceTypeFloppy, device.UnitNumber),
+ UseAutoDetect: types.NewBool(false),
+ },
+ }
+}
+
+// FindSerialPort finds a serial port device with the given name, defaulting to the first serial port device if any.
+func (l VirtualDeviceList) FindSerialPort(name string) (*types.VirtualSerialPort, error) {
+ if name != "" {
+ d := l.Find(name)
+ if d == nil {
+ return nil, fmt.Errorf("device '%s' not found", name)
+ }
+ if c, ok := d.(*types.VirtualSerialPort); ok {
+ return c, nil
+ }
+ return nil, fmt.Errorf("%s is not a serial port device", name)
+ }
+
+ c := l.SelectByType((*types.VirtualSerialPort)(nil))
+ if len(c) == 0 {
+ return nil, errors.New("no serial port device found")
+ }
+
+ return c[0].(*types.VirtualSerialPort), nil
+}
+
+// CreateSerialPort creates a new VirtualSerialPort device which can be added to a VM.
+func (l VirtualDeviceList) CreateSerialPort() (*types.VirtualSerialPort, error) {
+ device := &types.VirtualSerialPort{
+ YieldOnPoll: true,
+ }
+
+ c := l.PickController((*types.VirtualSIOController)(nil))
+ if c == nil {
+ return nil, errors.New("no available SIO controller")
+ }
+
+ l.AssignController(device, c)
+
+ l.setDefaultSerialPortBacking(device)
+
+ return device, nil
+}
+
+// ConnectSerialPort connects a serial port to a server or client uri.
+func (l VirtualDeviceList) ConnectSerialPort(device *types.VirtualSerialPort, uri string, client bool, proxyuri string) *types.VirtualSerialPort {
+ if strings.HasPrefix(uri, "[") {
+ device.Backing = &types.VirtualSerialPortFileBackingInfo{
+ VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{
+ FileName: uri,
+ },
+ }
+
+ return device
+ }
+
+ direction := types.VirtualDeviceURIBackingOptionDirectionServer
+ if client {
+ direction = types.VirtualDeviceURIBackingOptionDirectionClient
+ }
+
+ device.Backing = &types.VirtualSerialPortURIBackingInfo{
+ VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{
+ Direction: string(direction),
+ ServiceURI: uri,
+ ProxyURI: proxyuri,
+ },
+ }
+
+ return device
+}
+
+// DisconnectSerialPort disconnects the serial port backing.
+func (l VirtualDeviceList) DisconnectSerialPort(device *types.VirtualSerialPort) *types.VirtualSerialPort {
+ l.setDefaultSerialPortBacking(device)
+ return device
+}
+
+func (l VirtualDeviceList) setDefaultSerialPortBacking(device *types.VirtualSerialPort) {
+ device.Backing = &types.VirtualSerialPortURIBackingInfo{
+ VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{
+ Direction: "client",
+ ServiceURI: "localhost:0",
+ },
+ }
+}
+
+// CreateEthernetCard creates a new VirtualEthernetCard of the given name name and initialized with the given backing.
+func (l VirtualDeviceList) CreateEthernetCard(name string, backing types.BaseVirtualDeviceBackingInfo) (types.BaseVirtualDevice, error) {
+ ctypes := EthernetCardTypes()
+
+ if name == "" {
+ name = ctypes.deviceName(ctypes[0])
+ }
+
+ found := ctypes.Select(func(device types.BaseVirtualDevice) bool {
+ return l.deviceName(device) == name
+ })
+
+ if len(found) == 0 {
+ return nil, fmt.Errorf("unknown ethernet card type '%s'", name)
+ }
+
+ c, ok := found[0].(types.BaseVirtualEthernetCard)
+ if !ok {
+ return nil, fmt.Errorf("invalid ethernet card type '%s'", name)
+ }
+
+ c.GetVirtualEthernetCard().Backing = backing
+
+ return c.(types.BaseVirtualDevice), nil
+}
+
+// PrimaryMacAddress returns the MacAddress field of the primary VirtualEthernetCard
+func (l VirtualDeviceList) PrimaryMacAddress() string {
+ eth0 := l.Find("ethernet-0")
+
+ if eth0 == nil {
+ return ""
+ }
+
+ return eth0.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard().MacAddress
+}
+
+// convert a BaseVirtualDevice to a BaseVirtualMachineBootOptionsBootableDevice
+var bootableDevices = map[string]func(device types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice{
+ DeviceTypeCdrom: func(types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice {
+ return &types.VirtualMachineBootOptionsBootableCdromDevice{}
+ },
+ DeviceTypeDisk: func(d types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice {
+ return &types.VirtualMachineBootOptionsBootableDiskDevice{
+ DeviceKey: d.GetVirtualDevice().Key,
+ }
+ },
+ DeviceTypeEthernet: func(d types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice {
+ return &types.VirtualMachineBootOptionsBootableEthernetDevice{
+ DeviceKey: d.GetVirtualDevice().Key,
+ }
+ },
+ DeviceTypeFloppy: func(types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice {
+ return &types.VirtualMachineBootOptionsBootableFloppyDevice{}
+ },
+}
+
+// BootOrder returns a list of devices which can be used to set boot order via VirtualMachine.SetBootOptions.
+// The order can any of "ethernet", "cdrom", "floppy" or "disk" or by specific device name.
+func (l VirtualDeviceList) BootOrder(order []string) []types.BaseVirtualMachineBootOptionsBootableDevice {
+ var devices []types.BaseVirtualMachineBootOptionsBootableDevice
+
+ for _, name := range order {
+ if kind, ok := bootableDevices[name]; ok {
+ for _, device := range l {
+ if l.Type(device) == name {
+ devices = append(devices, kind(device))
+ }
+
+ }
+ continue
+ }
+
+ if d := l.Find(name); d != nil {
+ if kind, ok := bootableDevices[l.Type(d)]; ok {
+ devices = append(devices, kind(d))
+ }
+ }
+ }
+
+ return devices
+}
+
+// SelectBootOrder returns an ordered list of devices matching the given bootable device order
+func (l VirtualDeviceList) SelectBootOrder(order []types.BaseVirtualMachineBootOptionsBootableDevice) VirtualDeviceList {
+ var devices VirtualDeviceList
+
+ for _, bd := range order {
+ for _, device := range l {
+ if kind, ok := bootableDevices[l.Type(device)]; ok {
+ if reflect.DeepEqual(kind(device), bd) {
+ devices = append(devices, device)
+ }
+ }
+ }
+ }
+
+ return devices
+}
+
+// TypeName returns the vmodl type name of the device
+func (l VirtualDeviceList) TypeName(device types.BaseVirtualDevice) string {
+ dtype := reflect.TypeOf(device)
+ if dtype == nil {
+ return ""
+ }
+ return dtype.Elem().Name()
+}
+
+var deviceNameRegexp = regexp.MustCompile(`(?:Virtual)?(?:Machine)?(\w+?)(?:Card|Device|Controller)?$`)
+
+func (l VirtualDeviceList) deviceName(device types.BaseVirtualDevice) string {
+ name := "device"
+ typeName := l.TypeName(device)
+
+ m := deviceNameRegexp.FindStringSubmatch(typeName)
+ if len(m) == 2 {
+ name = strings.ToLower(m[1])
+ }
+
+ return name
+}
+
+// Type returns a human-readable name for the given device
+func (l VirtualDeviceList) Type(device types.BaseVirtualDevice) string {
+ switch device.(type) {
+ case types.BaseVirtualEthernetCard:
+ return DeviceTypeEthernet
+ case *types.ParaVirtualSCSIController:
+ return "pvscsi"
+ case *types.VirtualLsiLogicSASController:
+ return "lsilogic-sas"
+ case *types.VirtualNVMEController:
+ return "nvme"
+ default:
+ return l.deviceName(device)
+ }
+}
+
+// Name returns a stable, human-readable name for the given device
+func (l VirtualDeviceList) Name(device types.BaseVirtualDevice) string {
+ var key string
+ var UnitNumber int32
+ d := device.GetVirtualDevice()
+ if d.UnitNumber != nil {
+ UnitNumber = *d.UnitNumber
+ }
+
+ dtype := l.Type(device)
+ switch dtype {
+ case DeviceTypeEthernet:
+ key = fmt.Sprintf("%d", UnitNumber-7)
+ case DeviceTypeDisk:
+ key = fmt.Sprintf("%d-%d", d.ControllerKey, UnitNumber)
+ default:
+ key = fmt.Sprintf("%d", d.Key)
+ }
+
+ return fmt.Sprintf("%s-%s", dtype, key)
+}
+
+// ConfigSpec creates a virtual machine configuration spec for
+// the specified operation, for the list of devices in the device list.
+func (l VirtualDeviceList) ConfigSpec(op types.VirtualDeviceConfigSpecOperation) ([]types.BaseVirtualDeviceConfigSpec, error) {
+ var fop types.VirtualDeviceConfigSpecFileOperation
+ switch op {
+ case types.VirtualDeviceConfigSpecOperationAdd:
+ fop = types.VirtualDeviceConfigSpecFileOperationCreate
+ case types.VirtualDeviceConfigSpecOperationEdit:
+ fop = types.VirtualDeviceConfigSpecFileOperationReplace
+ case types.VirtualDeviceConfigSpecOperationRemove:
+ fop = types.VirtualDeviceConfigSpecFileOperationDestroy
+ default:
+ panic("unknown op")
+ }
+
+ var res []types.BaseVirtualDeviceConfigSpec
+ for _, device := range l {
+ config := &types.VirtualDeviceConfigSpec{
+ Device: device,
+ Operation: op,
+ }
+
+ if disk, ok := device.(*types.VirtualDisk); ok {
+ config.FileOperation = fop
+
+ // Special case to attach an existing disk
+ if op == types.VirtualDeviceConfigSpecOperationAdd && disk.CapacityInKB == 0 {
+ childDisk := false
+ if b, ok := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok {
+ childDisk = b.Parent != nil
+ }
+
+ if !childDisk {
+ // Existing disk, clear file operation
+ config.FileOperation = ""
+ }
+ }
+ }
+
+ res = append(res, config)
+ }
+
+ return res, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go
new file mode 100644
index 00000000..b26e2f71
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go
@@ -0,0 +1,170 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type VirtualDiskManager struct {
+ Common
+}
+
+func NewVirtualDiskManager(c *vim25.Client) *VirtualDiskManager {
+ m := VirtualDiskManager{
+ Common: NewCommon(c, *c.ServiceContent.VirtualDiskManager),
+ }
+
+ return &m
+}
+
+// CopyVirtualDisk copies a virtual disk, performing conversions as specified in the spec.
+func (m VirtualDiskManager) CopyVirtualDisk(
+ ctx context.Context,
+ sourceName string, sourceDatacenter *Datacenter,
+ destName string, destDatacenter *Datacenter,
+ destSpec *types.VirtualDiskSpec, force bool) (*Task, error) {
+
+ req := types.CopyVirtualDisk_Task{
+ This: m.Reference(),
+ SourceName: sourceName,
+ DestName: destName,
+ DestSpec: destSpec,
+ Force: types.NewBool(force),
+ }
+
+ if sourceDatacenter != nil {
+ ref := sourceDatacenter.Reference()
+ req.SourceDatacenter = &ref
+ }
+
+ if destDatacenter != nil {
+ ref := destDatacenter.Reference()
+ req.DestDatacenter = &ref
+ }
+
+ res, err := methods.CopyVirtualDisk_Task(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(m.c, res.Returnval), nil
+}
+
+// CreateVirtualDisk creates a new virtual disk.
+func (m VirtualDiskManager) CreateVirtualDisk(
+ ctx context.Context,
+ name string, datacenter *Datacenter,
+ spec types.BaseVirtualDiskSpec) (*Task, error) {
+
+ req := types.CreateVirtualDisk_Task{
+ This: m.Reference(),
+ Name: name,
+ Spec: spec,
+ }
+
+ if datacenter != nil {
+ ref := datacenter.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.CreateVirtualDisk_Task(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(m.c, res.Returnval), nil
+}
+
+// MoveVirtualDisk moves a virtual disk.
+func (m VirtualDiskManager) MoveVirtualDisk(
+ ctx context.Context,
+ sourceName string, sourceDatacenter *Datacenter,
+ destName string, destDatacenter *Datacenter,
+ force bool) (*Task, error) {
+ req := types.MoveVirtualDisk_Task{
+ This: m.Reference(),
+ SourceName: sourceName,
+ DestName: destName,
+ Force: types.NewBool(force),
+ }
+
+ if sourceDatacenter != nil {
+ ref := sourceDatacenter.Reference()
+ req.SourceDatacenter = &ref
+ }
+
+ if destDatacenter != nil {
+ ref := destDatacenter.Reference()
+ req.DestDatacenter = &ref
+ }
+
+ res, err := methods.MoveVirtualDisk_Task(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(m.c, res.Returnval), nil
+}
+
+// DeleteVirtualDisk deletes a virtual disk.
+func (m VirtualDiskManager) DeleteVirtualDisk(ctx context.Context, name string, dc *Datacenter) (*Task, error) {
+ req := types.DeleteVirtualDisk_Task{
+ This: m.Reference(),
+ Name: name,
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.DeleteVirtualDisk_Task(ctx, m.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(m.c, res.Returnval), nil
+}
+
+// Queries virtual disk uuid
+func (m VirtualDiskManager) QueryVirtualDiskUuid(ctx context.Context, name string, dc *Datacenter) (string, error) {
+ req := types.QueryVirtualDiskUuid{
+ This: m.Reference(),
+ Name: name,
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := methods.QueryVirtualDiskUuid(ctx, m.c, &req)
+ if err != nil {
+ return "", err
+ }
+
+ if res == nil {
+ return "", nil
+ }
+
+ return res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go
new file mode 100644
index 00000000..642cd62f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go
@@ -0,0 +1,97 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "reflect"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+func init() {
+ types.Add("ArrayOfVirtualDiskInfo", reflect.TypeOf((*arrayOfVirtualDiskInfo)(nil)).Elem())
+
+ types.Add("VirtualDiskInfo", reflect.TypeOf((*VirtualDiskInfo)(nil)).Elem())
+}
+
+type arrayOfVirtualDiskInfo struct {
+ VirtualDiskInfo []VirtualDiskInfo `xml:"VirtualDiskInfo,omitempty"`
+}
+
+type queryVirtualDiskInfoTaskRequest struct {
+ This types.ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *types.ManagedObjectReference `xml:"datacenter,omitempty"`
+ IncludeParents bool `xml:"includeParents"`
+}
+
+type queryVirtualDiskInfoTaskResponse struct {
+ Returnval types.ManagedObjectReference `xml:"returnval"`
+}
+
+type queryVirtualDiskInfoTaskBody struct {
+ Req *queryVirtualDiskInfoTaskRequest `xml:"urn:internalvim25 QueryVirtualDiskInfo_Task,omitempty"`
+ Res *queryVirtualDiskInfoTaskResponse `xml:"urn:vim25 QueryVirtualDiskInfo_TaskResponse,omitempty"`
+ Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *queryVirtualDiskInfoTaskBody) Fault() *soap.Fault { return b.Err }
+
+func queryVirtualDiskInfoTask(ctx context.Context, r soap.RoundTripper, req *queryVirtualDiskInfoTaskRequest) (*queryVirtualDiskInfoTaskResponse, error) {
+ var reqBody, resBody queryVirtualDiskInfoTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type VirtualDiskInfo struct {
+ Name string `xml:"unit>name"`
+ DiskType string `xml:"diskType"`
+ Parent string `xml:"parent,omitempty"`
+}
+
+func (m VirtualDiskManager) QueryVirtualDiskInfo(ctx context.Context, name string, dc *Datacenter, includeParents bool) ([]VirtualDiskInfo, error) {
+ req := queryVirtualDiskInfoTaskRequest{
+ This: m.Reference(),
+ Name: name,
+ IncludeParents: includeParents,
+ }
+
+ if dc != nil {
+ ref := dc.Reference()
+ req.Datacenter = &ref
+ }
+
+ res, err := queryVirtualDiskInfoTask(ctx, m.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ info, err := NewTask(m.Client(), res.Returnval).WaitForResult(ctx, nil)
+ if err != nil {
+ return nil, err
+ }
+
+ return info.Result.(arrayOfVirtualDiskInfo).VirtualDiskInfo, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_machine.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_machine.go
new file mode 100644
index 00000000..02c4e237
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/virtual_machine.go
@@ -0,0 +1,759 @@
+/*
+Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved.
+
+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 object
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "net"
+ "path"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+const (
+ PropRuntimePowerState = "summary.runtime.powerState"
+)
+
+type VirtualMachine struct {
+ Common
+}
+
+func NewVirtualMachine(c *vim25.Client, ref types.ManagedObjectReference) *VirtualMachine {
+ return &VirtualMachine{
+ Common: NewCommon(c, ref),
+ }
+}
+
+func (v VirtualMachine) PowerState(ctx context.Context) (types.VirtualMachinePowerState, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{PropRuntimePowerState}, &o)
+ if err != nil {
+ return "", err
+ }
+
+ return o.Summary.Runtime.PowerState, nil
+}
+
+func (v VirtualMachine) PowerOn(ctx context.Context) (*Task, error) {
+ req := types.PowerOnVM_Task{
+ This: v.Reference(),
+ }
+
+ res, err := methods.PowerOnVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) PowerOff(ctx context.Context) (*Task, error) {
+ req := types.PowerOffVM_Task{
+ This: v.Reference(),
+ }
+
+ res, err := methods.PowerOffVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Reset(ctx context.Context) (*Task, error) {
+ req := types.ResetVM_Task{
+ This: v.Reference(),
+ }
+
+ res, err := methods.ResetVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Suspend(ctx context.Context) (*Task, error) {
+ req := types.SuspendVM_Task{
+ This: v.Reference(),
+ }
+
+ res, err := methods.SuspendVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) ShutdownGuest(ctx context.Context) error {
+ req := types.ShutdownGuest{
+ This: v.Reference(),
+ }
+
+ _, err := methods.ShutdownGuest(ctx, v.c, &req)
+ return err
+}
+
+func (v VirtualMachine) RebootGuest(ctx context.Context) error {
+ req := types.RebootGuest{
+ This: v.Reference(),
+ }
+
+ _, err := methods.RebootGuest(ctx, v.c, &req)
+ return err
+}
+
+func (v VirtualMachine) Destroy(ctx context.Context) (*Task, error) {
+ req := types.Destroy_Task{
+ This: v.Reference(),
+ }
+
+ res, err := methods.Destroy_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Clone(ctx context.Context, folder *Folder, name string, config types.VirtualMachineCloneSpec) (*Task, error) {
+ req := types.CloneVM_Task{
+ This: v.Reference(),
+ Folder: folder.Reference(),
+ Name: name,
+ Spec: config,
+ }
+
+ res, err := methods.CloneVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Customize(ctx context.Context, spec types.CustomizationSpec) (*Task, error) {
+ req := types.CustomizeVM_Task{
+ This: v.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.CustomizeVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Relocate(ctx context.Context, config types.VirtualMachineRelocateSpec, priority types.VirtualMachineMovePriority) (*Task, error) {
+ req := types.RelocateVM_Task{
+ This: v.Reference(),
+ Spec: config,
+ Priority: priority,
+ }
+
+ res, err := methods.RelocateVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Reconfigure(ctx context.Context, config types.VirtualMachineConfigSpec) (*Task, error) {
+ req := types.ReconfigVM_Task{
+ This: v.Reference(),
+ Spec: config,
+ }
+
+ res, err := methods.ReconfigVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) WaitForIP(ctx context.Context) (string, error) {
+ var ip string
+
+ p := property.DefaultCollector(v.c)
+ err := property.Wait(ctx, p, v.Reference(), []string{"guest.ipAddress"}, func(pc []types.PropertyChange) bool {
+ for _, c := range pc {
+ if c.Name != "guest.ipAddress" {
+ continue
+ }
+ if c.Op != types.PropertyChangeOpAssign {
+ continue
+ }
+ if c.Val == nil {
+ continue
+ }
+
+ ip = c.Val.(string)
+ return true
+ }
+
+ return false
+ })
+
+ if err != nil {
+ return "", err
+ }
+
+ return ip, nil
+}
+
+// WaitForNetIP waits for the VM guest.net property to report an IP address for all VM NICs.
+// Only consider IPv4 addresses if the v4 param is true.
+// By default, wait for all NICs to get an IP address, unless 1 or more device is given.
+// A device can be specified by the MAC address or the device name, e.g. "ethernet-0".
+// Returns a map with MAC address as the key and IP address list as the value.
+func (v VirtualMachine) WaitForNetIP(ctx context.Context, v4 bool, device ...string) (map[string][]string, error) {
+ macs := make(map[string][]string)
+ eths := make(map[string]string)
+
+ p := property.DefaultCollector(v.c)
+
+ // Wait for all NICs to have a MacAddress, which may not be generated yet.
+ err := property.Wait(ctx, p, v.Reference(), []string{"config.hardware.device"}, func(pc []types.PropertyChange) bool {
+ for _, c := range pc {
+ if c.Op != types.PropertyChangeOpAssign {
+ continue
+ }
+
+ devices := VirtualDeviceList(c.Val.(types.ArrayOfVirtualDevice).VirtualDevice)
+ for _, d := range devices {
+ if nic, ok := d.(types.BaseVirtualEthernetCard); ok {
+ mac := nic.GetVirtualEthernetCard().MacAddress
+ if mac == "" {
+ return false
+ }
+ macs[mac] = nil
+ eths[devices.Name(d)] = mac
+ }
+ }
+ }
+
+ return true
+ })
+
+ if len(device) != 0 {
+ // Only wait for specific NIC(s)
+ macs = make(map[string][]string)
+ for _, mac := range device {
+ if eth, ok := eths[mac]; ok {
+ mac = eth // device name, e.g. "ethernet-0"
+ }
+ macs[mac] = nil
+ }
+ }
+
+ err = property.Wait(ctx, p, v.Reference(), []string{"guest.net"}, func(pc []types.PropertyChange) bool {
+ for _, c := range pc {
+ if c.Op != types.PropertyChangeOpAssign {
+ continue
+ }
+
+ nics := c.Val.(types.ArrayOfGuestNicInfo).GuestNicInfo
+ for _, nic := range nics {
+ mac := nic.MacAddress
+ if mac == "" || nic.IpConfig == nil {
+ continue
+ }
+
+ for _, ip := range nic.IpConfig.IpAddress {
+ if _, ok := macs[mac]; !ok {
+ continue // Ignore any that don't correspond to a VM device
+ }
+ if v4 && net.ParseIP(ip.IpAddress).To4() == nil {
+ continue // Ignore non IPv4 address
+ }
+ macs[mac] = append(macs[mac], ip.IpAddress)
+ }
+ }
+ }
+
+ for _, ips := range macs {
+ if len(ips) == 0 {
+ return false
+ }
+ }
+
+ return true
+ })
+
+ if err != nil {
+ return nil, err
+ }
+
+ return macs, nil
+}
+
+// Device returns the VirtualMachine's config.hardware.device property.
+func (v VirtualMachine) Device(ctx context.Context) (VirtualDeviceList, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"config.hardware.device", "summary.runtime.connectionState"}, &o)
+ if err != nil {
+ return nil, err
+ }
+
+ // Quoting the SDK doc:
+ // The virtual machine configuration is not guaranteed to be available.
+ // For example, the configuration information would be unavailable if the server
+ // is unable to access the virtual machine files on disk, and is often also unavailable
+ // during the initial phases of virtual machine creation.
+ if o.Config == nil {
+ return nil, fmt.Errorf("%s Config is not available, connectionState=%s",
+ v.Reference(), o.Summary.Runtime.ConnectionState)
+ }
+
+ return VirtualDeviceList(o.Config.Hardware.Device), nil
+}
+
+func (v VirtualMachine) HostSystem(ctx context.Context) (*HostSystem, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"summary.runtime.host"}, &o)
+ if err != nil {
+ return nil, err
+ }
+
+ host := o.Summary.Runtime.Host
+ if host == nil {
+ return nil, errors.New("VM doesn't have a HostSystem")
+ }
+
+ return NewHostSystem(v.c, *host), nil
+}
+
+func (v VirtualMachine) ResourcePool(ctx context.Context) (*ResourcePool, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"resourcePool"}, &o)
+ if err != nil {
+ return nil, err
+ }
+
+ rp := o.ResourcePool
+ if rp == nil {
+ return nil, errors.New("VM doesn't have a resourcePool")
+ }
+
+ return NewResourcePool(v.c, *rp), nil
+}
+
+func (v VirtualMachine) configureDevice(ctx context.Context, op types.VirtualDeviceConfigSpecOperation, fop types.VirtualDeviceConfigSpecFileOperation, devices ...types.BaseVirtualDevice) error {
+ spec := types.VirtualMachineConfigSpec{}
+
+ for _, device := range devices {
+ config := &types.VirtualDeviceConfigSpec{
+ Device: device,
+ Operation: op,
+ }
+
+ if disk, ok := device.(*types.VirtualDisk); ok {
+ config.FileOperation = fop
+
+ // Special case to attach an existing disk
+ if op == types.VirtualDeviceConfigSpecOperationAdd && disk.CapacityInKB == 0 {
+ childDisk := false
+ if b, ok := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok {
+ childDisk = b.Parent != nil
+ }
+
+ if !childDisk {
+ config.FileOperation = "" // existing disk
+ }
+ }
+ }
+
+ spec.DeviceChange = append(spec.DeviceChange, config)
+ }
+
+ task, err := v.Reconfigure(ctx, spec)
+ if err != nil {
+ return err
+ }
+
+ return task.Wait(ctx)
+}
+
+// AddDevice adds the given devices to the VirtualMachine
+func (v VirtualMachine) AddDevice(ctx context.Context, device ...types.BaseVirtualDevice) error {
+ return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationAdd, types.VirtualDeviceConfigSpecFileOperationCreate, device...)
+}
+
+// EditDevice edits the given (existing) devices on the VirtualMachine
+func (v VirtualMachine) EditDevice(ctx context.Context, device ...types.BaseVirtualDevice) error {
+ return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationEdit, types.VirtualDeviceConfigSpecFileOperationReplace, device...)
+}
+
+// RemoveDevice removes the given devices on the VirtualMachine
+func (v VirtualMachine) RemoveDevice(ctx context.Context, keepFiles bool, device ...types.BaseVirtualDevice) error {
+ fop := types.VirtualDeviceConfigSpecFileOperationDestroy
+ if keepFiles {
+ fop = ""
+ }
+ return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationRemove, fop, device...)
+}
+
+// BootOptions returns the VirtualMachine's config.bootOptions property.
+func (v VirtualMachine) BootOptions(ctx context.Context) (*types.VirtualMachineBootOptions, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"config.bootOptions"}, &o)
+ if err != nil {
+ return nil, err
+ }
+
+ return o.Config.BootOptions, nil
+}
+
+// SetBootOptions reconfigures the VirtualMachine with the given options.
+func (v VirtualMachine) SetBootOptions(ctx context.Context, options *types.VirtualMachineBootOptions) error {
+ spec := types.VirtualMachineConfigSpec{}
+
+ spec.BootOptions = options
+
+ task, err := v.Reconfigure(ctx, spec)
+ if err != nil {
+ return err
+ }
+
+ return task.Wait(ctx)
+}
+
+// Answer answers a pending question.
+func (v VirtualMachine) Answer(ctx context.Context, id, answer string) error {
+ req := types.AnswerVM{
+ This: v.Reference(),
+ QuestionId: id,
+ AnswerChoice: answer,
+ }
+
+ _, err := methods.AnswerVM(ctx, v.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// CreateSnapshot creates a new snapshot of a virtual machine.
+func (v VirtualMachine) CreateSnapshot(ctx context.Context, name string, description string, memory bool, quiesce bool) (*Task, error) {
+ req := types.CreateSnapshot_Task{
+ This: v.Reference(),
+ Name: name,
+ Description: description,
+ Memory: memory,
+ Quiesce: quiesce,
+ }
+
+ res, err := methods.CreateSnapshot_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+// RemoveAllSnapshot removes all snapshots of a virtual machine
+func (v VirtualMachine) RemoveAllSnapshot(ctx context.Context, consolidate *bool) (*Task, error) {
+ req := types.RemoveAllSnapshots_Task{
+ This: v.Reference(),
+ Consolidate: consolidate,
+ }
+
+ res, err := methods.RemoveAllSnapshots_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+type snapshotMap map[string][]Reference
+
+func (m snapshotMap) add(parent string, tree []types.VirtualMachineSnapshotTree) {
+ for i, st := range tree {
+ sname := st.Name
+ names := []string{sname, st.Snapshot.Value}
+
+ if parent != "" {
+ sname = path.Join(parent, sname)
+ // Add full path as an option to resolve duplicate names
+ names = append(names, sname)
+ }
+
+ for _, name := range names {
+ m[name] = append(m[name], &tree[i].Snapshot)
+ }
+
+ m.add(sname, st.ChildSnapshotList)
+ }
+}
+
+// FindSnapshot supports snapshot lookup by name, where name can be:
+// 1) snapshot ManagedObjectReference.Value (unique)
+// 2) snapshot name (may not be unique)
+// 3) snapshot tree path (may not be unique)
+func (v VirtualMachine) FindSnapshot(ctx context.Context, name string) (Reference, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"snapshot"}, &o)
+ if err != nil {
+ return nil, err
+ }
+
+ if o.Snapshot == nil || len(o.Snapshot.RootSnapshotList) == 0 {
+ return nil, errors.New("No snapshots for this VM")
+ }
+
+ m := make(snapshotMap)
+ m.add("", o.Snapshot.RootSnapshotList)
+
+ s := m[name]
+ switch len(s) {
+ case 0:
+ return nil, fmt.Errorf("snapshot %q not found", name)
+ case 1:
+ return s[0], nil
+ default:
+ return nil, fmt.Errorf("%q resolves to %d snapshots", name, len(s))
+ }
+}
+
+// RemoveSnapshot removes a named snapshot
+func (v VirtualMachine) RemoveSnapshot(ctx context.Context, name string, removeChildren bool, consolidate *bool) (*Task, error) {
+ snapshot, err := v.FindSnapshot(ctx, name)
+ if err != nil {
+ return nil, err
+ }
+
+ req := types.RemoveSnapshot_Task{
+ This: snapshot.Reference(),
+ RemoveChildren: removeChildren,
+ Consolidate: consolidate,
+ }
+
+ res, err := methods.RemoveSnapshot_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+// RevertToCurrentSnapshot reverts to the current snapshot
+func (v VirtualMachine) RevertToCurrentSnapshot(ctx context.Context, suppressPowerOn bool) (*Task, error) {
+ req := types.RevertToCurrentSnapshot_Task{
+ This: v.Reference(),
+ SuppressPowerOn: types.NewBool(suppressPowerOn),
+ }
+
+ res, err := methods.RevertToCurrentSnapshot_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+// RevertToSnapshot reverts to a named snapshot
+func (v VirtualMachine) RevertToSnapshot(ctx context.Context, name string, suppressPowerOn bool) (*Task, error) {
+ snapshot, err := v.FindSnapshot(ctx, name)
+ if err != nil {
+ return nil, err
+ }
+
+ req := types.RevertToSnapshot_Task{
+ This: snapshot.Reference(),
+ SuppressPowerOn: types.NewBool(suppressPowerOn),
+ }
+
+ res, err := methods.RevertToSnapshot_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+// IsToolsRunning returns true if VMware Tools is currently running in the guest OS, and false otherwise.
+func (v VirtualMachine) IsToolsRunning(ctx context.Context) (bool, error) {
+ var o mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"guest.toolsRunningStatus"}, &o)
+ if err != nil {
+ return false, err
+ }
+
+ return o.Guest.ToolsRunningStatus == string(types.VirtualMachineToolsRunningStatusGuestToolsRunning), nil
+}
+
+// Wait for the VirtualMachine to change to the desired power state.
+func (v VirtualMachine) WaitForPowerState(ctx context.Context, state types.VirtualMachinePowerState) error {
+ p := property.DefaultCollector(v.c)
+ err := property.Wait(ctx, p, v.Reference(), []string{PropRuntimePowerState}, func(pc []types.PropertyChange) bool {
+ for _, c := range pc {
+ if c.Name != PropRuntimePowerState {
+ continue
+ }
+ if c.Val == nil {
+ continue
+ }
+
+ ps := c.Val.(types.VirtualMachinePowerState)
+ if ps == state {
+ return true
+ }
+ }
+ return false
+ })
+
+ return err
+}
+
+func (v VirtualMachine) MarkAsTemplate(ctx context.Context) error {
+ req := types.MarkAsTemplate{
+ This: v.Reference(),
+ }
+
+ _, err := methods.MarkAsTemplate(ctx, v.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (v VirtualMachine) MarkAsVirtualMachine(ctx context.Context, pool ResourcePool, host *HostSystem) error {
+ req := types.MarkAsVirtualMachine{
+ This: v.Reference(),
+ Pool: pool.Reference(),
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ _, err := methods.MarkAsVirtualMachine(ctx, v.c, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (v VirtualMachine) Migrate(ctx context.Context, pool *ResourcePool, host *HostSystem, priority types.VirtualMachineMovePriority, state types.VirtualMachinePowerState) (*Task, error) {
+ req := types.MigrateVM_Task{
+ This: v.Reference(),
+ Priority: priority,
+ State: state,
+ }
+
+ if pool != nil {
+ ref := pool.Reference()
+ req.Pool = &ref
+ }
+
+ if host != nil {
+ ref := host.Reference()
+ req.Host = &ref
+ }
+
+ res, err := methods.MigrateVM_Task(ctx, v.c, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
+
+func (v VirtualMachine) Unregister(ctx context.Context) error {
+ req := types.UnregisterVM{
+ This: v.Reference(),
+ }
+
+ _, err := methods.UnregisterVM(ctx, v.Client(), &req)
+ return err
+}
+
+// QueryEnvironmentBrowser is a helper to get the environmentBrowser property.
+func (v VirtualMachine) QueryConfigTarget(ctx context.Context) (*types.ConfigTarget, error) {
+ var vm mo.VirtualMachine
+
+ err := v.Properties(ctx, v.Reference(), []string{"environmentBrowser"}, &vm)
+ if err != nil {
+ return nil, err
+ }
+
+ req := types.QueryConfigTarget{
+ This: vm.EnvironmentBrowser,
+ }
+
+ res, err := methods.QueryConfigTarget(ctx, v.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (v VirtualMachine) MountToolsInstaller(ctx context.Context) error {
+ req := types.MountToolsInstaller{
+ This: v.Reference(),
+ }
+
+ _, err := methods.MountToolsInstaller(ctx, v.Client(), &req)
+ return err
+}
+
+func (v VirtualMachine) UnmountToolsInstaller(ctx context.Context) error {
+ req := types.UnmountToolsInstaller{
+ This: v.Reference(),
+ }
+
+ _, err := methods.UnmountToolsInstaller(ctx, v.Client(), &req)
+ return err
+}
+
+func (v VirtualMachine) UpgradeTools(ctx context.Context, options string) (*Task, error) {
+ req := types.UpgradeTools_Task{
+ This: v.Reference(),
+ InstallerOptions: options,
+ }
+
+ res, err := methods.UpgradeTools_Task(ctx, v.Client(), &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return NewTask(v.c, res.Returnval), nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go
new file mode 100644
index 00000000..f6caf987
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go
@@ -0,0 +1,21 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 object
+
+type VmwareDistributedVirtualSwitch struct {
+ DistributedVirtualSwitch
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/collector.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/collector.go
new file mode 100644
index 00000000..04a9e773
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/collector.go
@@ -0,0 +1,201 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 property
+
+import (
+ "context"
+ "errors"
+
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Collector models the PropertyCollector managed object.
+//
+// For more information, see:
+// http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvmodl.query.PropertyCollector.html
+//
+type Collector struct {
+ roundTripper soap.RoundTripper
+ reference types.ManagedObjectReference
+}
+
+// DefaultCollector returns the session's default property collector.
+func DefaultCollector(c *vim25.Client) *Collector {
+ p := Collector{
+ roundTripper: c,
+ reference: c.ServiceContent.PropertyCollector,
+ }
+
+ return &p
+}
+
+func (p Collector) Reference() types.ManagedObjectReference {
+ return p.reference
+}
+
+// Create creates a new session-specific Collector that can be used to
+// retrieve property updates independent of any other Collector.
+func (p *Collector) Create(ctx context.Context) (*Collector, error) {
+ req := types.CreatePropertyCollector{
+ This: p.Reference(),
+ }
+
+ res, err := methods.CreatePropertyCollector(ctx, p.roundTripper, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ newp := Collector{
+ roundTripper: p.roundTripper,
+ reference: res.Returnval,
+ }
+
+ return &newp, nil
+}
+
+// Destroy destroys this Collector.
+func (p *Collector) Destroy(ctx context.Context) error {
+ req := types.DestroyPropertyCollector{
+ This: p.Reference(),
+ }
+
+ _, err := methods.DestroyPropertyCollector(ctx, p.roundTripper, &req)
+ if err != nil {
+ return err
+ }
+
+ p.reference = types.ManagedObjectReference{}
+ return nil
+}
+
+func (p *Collector) CreateFilter(ctx context.Context, req types.CreateFilter) error {
+ req.This = p.Reference()
+
+ _, err := methods.CreateFilter(ctx, p.roundTripper, &req)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (p *Collector) WaitForUpdates(ctx context.Context, v string) (*types.UpdateSet, error) {
+ req := types.WaitForUpdatesEx{
+ This: p.Reference(),
+ Version: v,
+ }
+
+ res, err := methods.WaitForUpdatesEx(ctx, p.roundTripper, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return res.Returnval, nil
+}
+
+func (p *Collector) RetrieveProperties(ctx context.Context, req types.RetrieveProperties) (*types.RetrievePropertiesResponse, error) {
+ req.This = p.Reference()
+ return methods.RetrieveProperties(ctx, p.roundTripper, &req)
+}
+
+// Retrieve loads properties for a slice of managed objects. The dst argument
+// must be a pointer to a []interface{}, which is populated with the instances
+// of the specified managed objects, with the relevant properties filled in. If
+// the properties slice is nil, all properties are loaded.
+func (p *Collector) Retrieve(ctx context.Context, objs []types.ManagedObjectReference, ps []string, dst interface{}) error {
+ var propSpec *types.PropertySpec
+ var objectSet []types.ObjectSpec
+
+ for _, obj := range objs {
+ // Ensure that all object reference types are the same
+ if propSpec == nil {
+ propSpec = &types.PropertySpec{
+ Type: obj.Type,
+ }
+
+ if ps == nil {
+ propSpec.All = types.NewBool(true)
+ } else {
+ propSpec.PathSet = ps
+ }
+ } else {
+ if obj.Type != propSpec.Type {
+ return errors.New("object references must have the same type")
+ }
+ }
+
+ objectSpec := types.ObjectSpec{
+ Obj: obj,
+ Skip: types.NewBool(false),
+ }
+
+ objectSet = append(objectSet, objectSpec)
+ }
+
+ req := types.RetrieveProperties{
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: objectSet,
+ PropSet: []types.PropertySpec{*propSpec},
+ },
+ },
+ }
+
+ res, err := p.RetrieveProperties(ctx, req)
+ if err != nil {
+ return err
+ }
+
+ if d, ok := dst.(*[]types.ObjectContent); ok {
+ *d = res.Returnval
+ return nil
+ }
+
+ return mo.LoadRetrievePropertiesResponse(res, dst)
+}
+
+// RetrieveWithFilter populates dst as Retrieve does, but only for entities matching the given filter.
+func (p *Collector) RetrieveWithFilter(ctx context.Context, objs []types.ManagedObjectReference, ps []string, dst interface{}, filter Filter) error {
+ if len(filter) == 0 {
+ return p.Retrieve(ctx, objs, ps, dst)
+ }
+
+ var content []types.ObjectContent
+
+ err := p.Retrieve(ctx, objs, filter.Keys(), &content)
+ if err != nil {
+ return err
+ }
+
+ objs = filter.MatchObjectContent(content)
+
+ if len(objs) == 0 {
+ return nil
+ }
+
+ return p.Retrieve(ctx, objs, ps, dst)
+}
+
+// RetrieveOne calls Retrieve with a single managed object reference.
+func (p *Collector) RetrieveOne(ctx context.Context, obj types.ManagedObjectReference, ps []string, dst interface{}) error {
+ var objs = []types.ManagedObjectReference{obj}
+ return p.Retrieve(ctx, objs, ps, dst)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/filter.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/filter.go
new file mode 100644
index 00000000..8284b0c7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/filter.go
@@ -0,0 +1,139 @@
+/*
+Copyright (c) 2017 VMware, Inc. All Rights Reserved.
+
+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 property
+
+import (
+ "fmt"
+ "path"
+ "reflect"
+ "strconv"
+ "strings"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Filter provides methods for matching against types.DynamicProperty
+type Filter map[string]types.AnyType
+
+// Keys returns the Filter map keys as a []string
+func (f Filter) Keys() []string {
+ keys := make([]string, 0, len(f))
+
+ for key := range f {
+ keys = append(keys, key)
+ }
+
+ return keys
+}
+
+// MatchProperty returns true if a Filter entry matches the given prop.
+func (f Filter) MatchProperty(prop types.DynamicProperty) bool {
+ match, ok := f[prop.Name]
+ if !ok {
+ return false
+ }
+
+ if match == prop.Val {
+ return true
+ }
+
+ ptype := reflect.TypeOf(prop.Val)
+
+ if strings.HasPrefix(ptype.Name(), "ArrayOf") {
+ pval := reflect.ValueOf(prop.Val).Field(0)
+
+ for i := 0; i < pval.Len(); i++ {
+ prop.Val = pval.Index(i).Interface()
+
+ if f.MatchProperty(prop) {
+ return true
+ }
+ }
+
+ return false
+ }
+
+ if reflect.TypeOf(match) != ptype {
+ s, ok := match.(string)
+ if !ok {
+ return false
+ }
+
+ // convert if we can
+ switch prop.Val.(type) {
+ case bool:
+ match, _ = strconv.ParseBool(s)
+ case int16:
+ x, _ := strconv.ParseInt(s, 10, 16)
+ match = int16(x)
+ case int32:
+ x, _ := strconv.ParseInt(s, 10, 32)
+ match = int32(x)
+ case int64:
+ match, _ = strconv.ParseInt(s, 10, 64)
+ case float32:
+ x, _ := strconv.ParseFloat(s, 32)
+ match = float32(x)
+ case float64:
+ match, _ = strconv.ParseFloat(s, 64)
+ case fmt.Stringer:
+ prop.Val = prop.Val.(fmt.Stringer).String()
+ default:
+ if ptype.Kind() != reflect.String {
+ return false
+ }
+ // An enum type we can convert to a string type
+ prop.Val = reflect.ValueOf(prop.Val).String()
+ }
+ }
+
+ switch pval := prop.Val.(type) {
+ case string:
+ s := match.(string)
+ if s == "*" {
+ return true // TODO: path.Match fails if s contains a '/'
+ }
+ m, _ := path.Match(s, pval)
+ return m
+ default:
+ return reflect.DeepEqual(match, pval)
+ }
+}
+
+// MatchPropertyList returns true if all given props match the Filter.
+func (f Filter) MatchPropertyList(props []types.DynamicProperty) bool {
+ for _, p := range props {
+ if !f.MatchProperty(p) {
+ return false
+ }
+ }
+
+ return true
+}
+
+// MatchObjectContent returns a list of ObjectContent.Obj where the ObjectContent.PropSet matches the Filter.
+func (f Filter) MatchObjectContent(objects []types.ObjectContent) []types.ManagedObjectReference {
+ var refs []types.ManagedObjectReference
+
+ for _, o := range objects {
+ if f.MatchPropertyList(o.PropSet) {
+ refs = append(refs, o.Obj)
+ }
+ }
+
+ return refs
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/wait.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/wait.go
new file mode 100644
index 00000000..689477bf
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/property/wait.go
@@ -0,0 +1,153 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 property
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Wait waits for any of the specified properties of the specified managed
+// object to change. It calls the specified function for every update it
+// receives. If this function returns false, it continues waiting for
+// subsequent updates. If this function returns true, it stops waiting and
+// returns.
+//
+// To only receive updates for the specified managed object, the function
+// creates a new property collector and calls CreateFilter. A new property
+// collector is required because filters can only be added, not removed.
+//
+// The newly created collector is destroyed before this function returns (both
+// in case of success or error).
+//
+func Wait(ctx context.Context, c *Collector, obj types.ManagedObjectReference, ps []string, f func([]types.PropertyChange) bool) error {
+ p, err := c.Create(ctx)
+ if err != nil {
+ return err
+ }
+
+ // Attempt to destroy the collector using the background context, as the
+ // specified context may have timed out or have been cancelled.
+ defer p.Destroy(context.Background())
+
+ req := types.CreateFilter{
+ Spec: types.PropertyFilterSpec{
+ ObjectSet: []types.ObjectSpec{
+ {
+ Obj: obj,
+ },
+ },
+ PropSet: []types.PropertySpec{
+ {
+ PathSet: ps,
+ Type: obj.Type,
+ },
+ },
+ },
+ }
+
+ if len(ps) == 0 {
+ req.Spec.PropSet[0].All = types.NewBool(true)
+ }
+
+ err = p.CreateFilter(ctx, req)
+ if err != nil {
+ return err
+ }
+ return waitLoop(ctx, p, func(_ types.ManagedObjectReference, pc []types.PropertyChange) bool {
+ return f(pc)
+ })
+}
+
+// WaitForView waits for any of the specified properties of the managed
+// objects in the View to change. It calls the specified function for every update it
+// receives. If this function returns false, it continues waiting for
+// subsequent updates. If this function returns true, it stops waiting and
+// returns.
+//
+// To only receive updates for the View's specified managed objects, the function
+// creates a new property collector and calls CreateFilter. A new property
+// collector is required because filters can only be added, not removed.
+//
+// The newly created collector is destroyed before this function returns (both
+// in case of success or error).
+//
+// The code assumes that all objects in the View are the same type
+func WaitForView(ctx context.Context, c *Collector, view types.ManagedObjectReference, obj types.ManagedObjectReference, ps []string, f func(types.ManagedObjectReference, []types.PropertyChange) bool) error {
+ p, err := c.Create(ctx)
+ if err != nil {
+ return err
+ }
+
+ // Attempt to destroy the collector using the background context, as the
+ // specified context may have timed out or have been cancelled.
+ defer p.Destroy(context.Background())
+
+ req := types.CreateFilter{
+ Spec: types.PropertyFilterSpec{
+ ObjectSet: []types.ObjectSpec{
+ {
+ Obj: view,
+ SelectSet: []types.BaseSelectionSpec{
+ &types.TraversalSpec{
+ SelectionSpec: types.SelectionSpec{
+ Name: "traverseEntities",
+ },
+ Path: "view",
+ Type: view.Type}},
+ },
+ },
+ PropSet: []types.PropertySpec{
+ {
+ Type: obj.Type,
+ PathSet: ps,
+ },
+ },
+ }}
+
+ err = p.CreateFilter(ctx, req)
+ if err != nil {
+ return err
+ }
+ return waitLoop(ctx, p, f)
+}
+
+func waitLoop(ctx context.Context, c *Collector, f func(types.ManagedObjectReference, []types.PropertyChange) bool) error {
+ for version := ""; ; {
+ res, err := c.WaitForUpdates(ctx, version)
+ if err != nil {
+ return err
+ }
+
+ // Retry if the result came back empty
+ if res == nil {
+ continue
+ }
+
+ version = res.Version
+
+ for _, fs := range res.FilterSet {
+ for _, os := range fs.ObjectSet {
+ if f(os.Obj, os.ChangeSet) {
+ return nil
+ }
+ }
+ }
+ }
+
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/keep_alive.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/keep_alive.go
new file mode 100644
index 00000000..a9d4c141
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/keep_alive.go
@@ -0,0 +1,127 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 session
+
+import (
+ "context"
+ "sync"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/soap"
+)
+
+type keepAlive struct {
+ sync.Mutex
+
+ roundTripper soap.RoundTripper
+ idleTime time.Duration
+ notifyRequest chan struct{}
+ notifyStop chan struct{}
+ notifyWaitGroup sync.WaitGroup
+
+ // keepAlive executes a request in the background with the purpose of
+ // keeping the session active. The response for this request is discarded.
+ keepAlive func(soap.RoundTripper) error
+}
+
+func defaultKeepAlive(roundTripper soap.RoundTripper) error {
+ _, _ = methods.GetCurrentTime(context.Background(), roundTripper)
+ return nil
+}
+
+// KeepAlive wraps the specified soap.RoundTripper and executes a meaningless
+// API request in the background after the RoundTripper has been idle for the
+// specified amount of idle time. The keep alive process only starts once a
+// user logs in and runs until the user logs out again.
+func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper {
+ return KeepAliveHandler(roundTripper, idleTime, defaultKeepAlive)
+}
+
+// KeepAliveHandler works as KeepAlive() does, but the handler param can decide how to handle errors.
+// For example, if connectivity to ESX/VC is down long enough for a session to expire, a handler can choose to
+// Login() on a types.NotAuthenticated error. If handler returns non-nil, the keep alive go routine will be stopped.
+func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, handler func(soap.RoundTripper) error) soap.RoundTripper {
+ k := &keepAlive{
+ roundTripper: roundTripper,
+ idleTime: idleTime,
+ notifyRequest: make(chan struct{}),
+ }
+
+ k.keepAlive = handler
+
+ return k
+}
+
+func (k *keepAlive) start() {
+ k.Lock()
+ defer k.Unlock()
+
+ if k.notifyStop != nil {
+ return
+ }
+
+ // This channel must be closed to terminate idle timer.
+ k.notifyStop = make(chan struct{})
+ k.notifyWaitGroup.Add(1)
+
+ go func() {
+ defer k.notifyWaitGroup.Done()
+
+ for t := time.NewTimer(k.idleTime); ; {
+ select {
+ case <-k.notifyStop:
+ return
+ case <-k.notifyRequest:
+ t.Reset(k.idleTime)
+ case <-t.C:
+ if err := k.keepAlive(k.roundTripper); err != nil {
+ k.stop()
+ }
+ t = time.NewTimer(k.idleTime)
+ }
+ }
+ }()
+}
+
+func (k *keepAlive) stop() {
+ k.Lock()
+ defer k.Unlock()
+
+ if k.notifyStop != nil {
+ close(k.notifyStop)
+ k.notifyWaitGroup.Wait()
+ k.notifyStop = nil
+ }
+}
+
+func (k *keepAlive) RoundTrip(ctx context.Context, req, res soap.HasFault) error {
+ err := k.roundTripper.RoundTrip(ctx, req, res)
+ if err != nil {
+ return err
+ }
+
+ // Start ticker on login, stop ticker on logout.
+ switch req.(type) {
+ case *methods.LoginBody, *methods.LoginExtensionByCertificateBody:
+ k.start()
+ case *methods.LogoutBody:
+ k.stop()
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/manager.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/manager.go
new file mode 100644
index 00000000..b4591c1c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/session/manager.go
@@ -0,0 +1,201 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 session
+
+import (
+ "context"
+ "net/url"
+ "os"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25"
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/mo"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Locale defaults to "en_US" and can be overridden via this var or the GOVMOMI_LOCALE env var.
+// A value of "_" uses the server locale setting.
+var Locale = os.Getenv("GOVMOMI_LOCALE")
+
+func init() {
+ if Locale == "_" {
+ Locale = ""
+ } else if Locale == "" {
+ Locale = "en_US"
+ }
+}
+
+type Manager struct {
+ client *vim25.Client
+ userSession *types.UserSession
+}
+
+func NewManager(client *vim25.Client) *Manager {
+ m := Manager{
+ client: client,
+ }
+
+ return &m
+}
+
+func (sm Manager) Reference() types.ManagedObjectReference {
+ return *sm.client.ServiceContent.SessionManager
+}
+
+func (sm *Manager) SetLocale(ctx context.Context, locale string) error {
+ req := types.SetLocale{
+ This: sm.Reference(),
+ Locale: locale,
+ }
+
+ _, err := methods.SetLocale(ctx, sm.client, &req)
+ return err
+}
+
+func (sm *Manager) Login(ctx context.Context, u *url.Userinfo) error {
+ req := types.Login{
+ This: sm.Reference(),
+ Locale: Locale,
+ }
+
+ if u != nil {
+ req.UserName = u.Username()
+ if pw, ok := u.Password(); ok {
+ req.Password = pw
+ }
+ }
+
+ login, err := methods.Login(ctx, sm.client, &req)
+ if err != nil {
+ return err
+ }
+
+ sm.userSession = &login.Returnval
+ return nil
+}
+
+func (sm *Manager) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error {
+ req := types.LoginExtensionByCertificate{
+ This: sm.Reference(),
+ ExtensionKey: key,
+ Locale: locale,
+ }
+
+ login, err := methods.LoginExtensionByCertificate(ctx, sm.client, &req)
+ if err != nil {
+ return err
+ }
+
+ sm.userSession = &login.Returnval
+ return nil
+}
+
+func (sm *Manager) Logout(ctx context.Context) error {
+ req := types.Logout{
+ This: sm.Reference(),
+ }
+
+ _, err := methods.Logout(ctx, sm.client, &req)
+ if err != nil {
+ return err
+ }
+
+ sm.userSession = nil
+ return nil
+}
+
+// UserSession retrieves and returns the SessionManager's CurrentSession field.
+// Nil is returned if the session is not authenticated.
+func (sm *Manager) UserSession(ctx context.Context) (*types.UserSession, error) {
+ var mgr mo.SessionManager
+
+ pc := property.DefaultCollector(sm.client)
+ err := pc.RetrieveOne(ctx, sm.Reference(), []string{"currentSession"}, &mgr)
+ if err != nil {
+ // It's OK if we can't retrieve properties because we're not authenticated
+ if f, ok := err.(types.HasFault); ok {
+ switch f.Fault().(type) {
+ case *types.NotAuthenticated:
+ return nil, nil
+ }
+ }
+
+ return nil, err
+ }
+
+ return mgr.CurrentSession, nil
+}
+
+func (sm *Manager) TerminateSession(ctx context.Context, sessionId []string) error {
+ req := types.TerminateSession{
+ This: sm.Reference(),
+ SessionId: sessionId,
+ }
+
+ _, err := methods.TerminateSession(ctx, sm.client, &req)
+ return err
+}
+
+// SessionIsActive checks whether the session that was created at login is
+// still valid. This function only works against vCenter.
+func (sm *Manager) SessionIsActive(ctx context.Context) (bool, error) {
+ if sm.userSession == nil {
+ return false, nil
+ }
+
+ req := types.SessionIsActive{
+ This: sm.Reference(),
+ SessionID: sm.userSession.Key,
+ UserName: sm.userSession.UserName,
+ }
+
+ active, err := methods.SessionIsActive(ctx, sm.client, &req)
+ if err != nil {
+ return false, err
+ }
+
+ return active.Returnval, err
+}
+
+func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error) {
+ req := types.AcquireGenericServiceTicket{
+ This: sm.Reference(),
+ Spec: spec,
+ }
+
+ res, err := methods.AcquireGenericServiceTicket(ctx, sm.client, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
+
+func (sm *Manager) AcquireLocalTicket(ctx context.Context, userName string) (*types.SessionManagerLocalTicket, error) {
+ req := types.AcquireLocalTicket{
+ This: sm.Reference(),
+ UserName: userName,
+ }
+
+ res, err := methods.AcquireLocalTicket(ctx, sm.client, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/error.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/error.go
new file mode 100644
index 00000000..5f6b8503
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/error.go
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 task
+
+import "github.com/vmware/govmomi/vim25/types"
+
+type Error struct {
+ *types.LocalizedMethodFault
+}
+
+// Error returns the task's localized fault message.
+func (e Error) Error() string {
+ return e.LocalizedMethodFault.LocalizedMessage
+}
+
+func (e Error) Fault() types.BaseMethodFault {
+ return e.LocalizedMethodFault.Fault
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/wait.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/wait.go
new file mode 100644
index 00000000..19fee538
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/task/wait.go
@@ -0,0 +1,132 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 task
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/property"
+ "github.com/vmware/govmomi/vim25/progress"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type taskProgress struct {
+ info *types.TaskInfo
+}
+
+func (t taskProgress) Percentage() float32 {
+ return float32(t.info.Progress)
+}
+
+func (t taskProgress) Detail() string {
+ return ""
+}
+
+func (t taskProgress) Error() error {
+ if t.info.Error != nil {
+ return Error{t.info.Error}
+ }
+
+ return nil
+}
+
+type taskCallback struct {
+ ch chan<- progress.Report
+ info *types.TaskInfo
+ err error
+}
+
+func (t *taskCallback) fn(pc []types.PropertyChange) bool {
+ for _, c := range pc {
+ if c.Name != "info" {
+ continue
+ }
+
+ if c.Op != types.PropertyChangeOpAssign {
+ continue
+ }
+
+ if c.Val == nil {
+ continue
+ }
+
+ ti := c.Val.(types.TaskInfo)
+ t.info = &ti
+ }
+
+ // t.info could be nil if pc can't satify the rules above
+ if t.info == nil {
+ return false
+ }
+
+ pr := taskProgress{t.info}
+
+ // Store copy of error, so Wait() can return it as well.
+ t.err = pr.Error()
+
+ switch t.info.State {
+ case types.TaskInfoStateQueued, types.TaskInfoStateRunning:
+ if t.ch != nil {
+ // Don't care if this is dropped
+ select {
+ case t.ch <- pr:
+ default:
+ }
+ }
+ return false
+ case types.TaskInfoStateSuccess, types.TaskInfoStateError:
+ if t.ch != nil {
+ // Last one must always be delivered
+ t.ch <- pr
+ }
+ return true
+ default:
+ panic("unknown state: " + t.info.State)
+ }
+}
+
+// Wait waits for a task to finish with either success or failure. It does so
+// by waiting for the "info" property of task managed object to change. The
+// function returns when it finds the task in the "success" or "error" state.
+// In the former case, the return value is nil. In the latter case the return
+// value is an instance of this package's Error struct.
+//
+// Any error returned while waiting for property changes causes the function to
+// return immediately and propagate the error.
+//
+// If the progress.Sinker argument is specified, any progress updates for the
+// task are sent here. The completion percentage is passed through directly.
+// The detail for the progress update is set to an empty string. If the task
+// finishes in the error state, the error instance is passed through as well.
+// Note that this error is the same error that is returned by this function.
+//
+func Wait(ctx context.Context, ref types.ManagedObjectReference, pc *property.Collector, s progress.Sinker) (*types.TaskInfo, error) {
+ cb := &taskCallback{}
+
+ // Include progress sink if specified
+ if s != nil {
+ cb.ch = s.Sink()
+ defer close(cb.ch)
+ }
+
+ err := property.Wait(ctx, pc, ref, []string{"info"}, cb.fn)
+ if err != nil {
+ return nil, err
+ }
+
+ return cb.info, cb.err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/client.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/client.go
new file mode 100644
index 00000000..1289f33e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/client.go
@@ -0,0 +1,123 @@
+/*
+Copyright (c) 2015-2016 VMware, Inc. All Rights Reserved.
+
+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 vim25
+
+import (
+ "context"
+ "encoding/json"
+
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Client is a tiny wrapper around the vim25/soap Client that stores session
+// specific state (i.e. state that only needs to be retrieved once after the
+// client has been created). This means the client can be reused after
+// serialization without performing additional requests for initialization.
+type Client struct {
+ *soap.Client
+
+ ServiceContent types.ServiceContent
+
+ // RoundTripper is a separate field such that the client's implementation of
+ // the RoundTripper interface can be wrapped by separate implementations for
+ // extra functionality (for example, reauthentication on session timeout).
+ RoundTripper soap.RoundTripper
+}
+
+// NewClient creates and returns a new client wirh the ServiceContent field
+// filled in.
+func NewClient(ctx context.Context, rt soap.RoundTripper) (*Client, error) {
+ serviceContent, err := methods.GetServiceContent(ctx, rt)
+ if err != nil {
+ return nil, err
+ }
+
+ c := Client{
+ ServiceContent: serviceContent,
+ RoundTripper: rt,
+ }
+
+ // Set client if it happens to be a soap.Client
+ if sc, ok := rt.(*soap.Client); ok {
+ c.Client = sc
+ }
+
+ return &c, nil
+}
+
+// RoundTrip dispatches to the RoundTripper field.
+func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error {
+ return c.RoundTripper.RoundTrip(ctx, req, res)
+}
+
+type marshaledClient struct {
+ SoapClient *soap.Client
+ ServiceContent types.ServiceContent
+}
+
+func (c *Client) MarshalJSON() ([]byte, error) {
+ m := marshaledClient{
+ SoapClient: c.Client,
+ ServiceContent: c.ServiceContent,
+ }
+
+ return json.Marshal(m)
+}
+
+func (c *Client) UnmarshalJSON(b []byte) error {
+ var m marshaledClient
+
+ err := json.Unmarshal(b, &m)
+ if err != nil {
+ return err
+ }
+
+ *c = Client{
+ Client: m.SoapClient,
+ ServiceContent: m.ServiceContent,
+ RoundTripper: m.SoapClient,
+ }
+
+ return nil
+}
+
+// Valid returns whether or not the client is valid and ready for use.
+// This should be called after unmarshalling the client.
+func (c *Client) Valid() bool {
+ if c == nil {
+ return false
+ }
+
+ if c.Client == nil {
+ return false
+ }
+
+ // Use arbitrary pointer field in the service content.
+ // Doesn't matter which one, as long as it is populated by default.
+ if c.ServiceContent.SessionManager == nil {
+ return false
+ }
+
+ return true
+}
+
+// IsVC returns true if we are connected to a vCenter
+func (c *Client) IsVC() bool {
+ return c.ServiceContent.About.ApiType == "VirtualCenter"
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/debug/debug.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/debug/debug.go
new file mode 100644
index 00000000..22d54717
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/debug/debug.go
@@ -0,0 +1,81 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 debug
+
+import (
+ "io"
+ "os"
+ "path"
+)
+
+// Provider specified the interface types must implement to be used as a
+// debugging sink. Having multiple such sink implementations allows it to be
+// changed externally (for example when running tests).
+type Provider interface {
+ NewFile(s string) io.WriteCloser
+ Flush()
+}
+
+var currentProvider Provider = nil
+
+func SetProvider(p Provider) {
+ if currentProvider != nil {
+ currentProvider.Flush()
+ }
+ currentProvider = p
+}
+
+// Enabled returns whether debugging is enabled or not.
+func Enabled() bool {
+ return currentProvider != nil
+}
+
+// NewFile dispatches to the current provider's NewFile function.
+func NewFile(s string) io.WriteCloser {
+ return currentProvider.NewFile(s)
+}
+
+// Flush dispatches to the current provider's Flush function.
+func Flush() {
+ currentProvider.Flush()
+}
+
+// FileProvider implements a debugging provider that creates a real file for
+// every call to NewFile. It maintains a list of all files that it creates,
+// such that it can close them when its Flush function is called.
+type FileProvider struct {
+ Path string
+
+ files []*os.File
+}
+
+func (fp *FileProvider) NewFile(p string) io.WriteCloser {
+ f, err := os.Create(path.Join(fp.Path, p))
+ if err != nil {
+ panic(err)
+ }
+
+ fp.files = append(fp.files, f)
+
+ return f
+}
+
+func (fp *FileProvider) Flush() {
+ for _, f := range fp.files {
+ f.Close()
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/doc.go
new file mode 100644
index 00000000..acb2c9f6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/doc.go
@@ -0,0 +1,29 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 vim25 provides a minimal client implementation to use with other
+packages in the vim25 tree. The code in this package intentionally does not
+take any dependendies outside the vim25 tree.
+
+The client implementation in this package embeds the soap.Client structure.
+Additionally, it stores the value of the session's ServiceContent object. This
+object stores references to a variety of subsystems, such as the root property
+collector, the session manager, and the search index. The client is fully
+functional after serialization and deserialization, without the need for
+additional requests for initialization.
+*/
+package vim25
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/internal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/internal.go
new file mode 100644
index 00000000..a79adf3a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/internal.go
@@ -0,0 +1,124 @@
+/*
+Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved.
+
+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 methods
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type RetrieveDynamicTypeManagerBody struct {
+ Req *types.RetrieveDynamicTypeManager `xml:"urn:vim25 RetrieveDynamicTypeManager"`
+ Res *types.RetrieveDynamicTypeManagerResponse `xml:"urn:vim25 RetrieveDynamicTypeManagerResponse"`
+ Fault_ *soap.Fault
+}
+
+func (b *RetrieveDynamicTypeManagerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveDynamicTypeManager(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDynamicTypeManager) (*types.RetrieveDynamicTypeManagerResponse, error) {
+ var reqBody, resBody RetrieveDynamicTypeManagerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveManagedMethodExecuterBody struct {
+ Req *types.RetrieveManagedMethodExecuter `xml:"urn:vim25 RetrieveManagedMethodExecuter"`
+ Res *types.RetrieveManagedMethodExecuterResponse `xml:"urn:vim25 RetrieveManagedMethodExecuterResponse"`
+ Fault_ *soap.Fault
+}
+
+func (b *RetrieveManagedMethodExecuterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveManagedMethodExecuter(ctx context.Context, r soap.RoundTripper, req *types.RetrieveManagedMethodExecuter) (*types.RetrieveManagedMethodExecuterResponse, error) {
+ var reqBody, resBody RetrieveManagedMethodExecuterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DynamicTypeMgrQueryMoInstancesBody struct {
+ Req *types.DynamicTypeMgrQueryMoInstances `xml:"urn:vim25 DynamicTypeMgrQueryMoInstances"`
+ Res *types.DynamicTypeMgrQueryMoInstancesResponse `xml:"urn:vim25 DynamicTypeMgrQueryMoInstancesResponse"`
+ Fault_ *soap.Fault
+}
+
+func (b *DynamicTypeMgrQueryMoInstancesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DynamicTypeMgrQueryMoInstances(ctx context.Context, r soap.RoundTripper, req *types.DynamicTypeMgrQueryMoInstances) (*types.DynamicTypeMgrQueryMoInstancesResponse, error) {
+ var reqBody, resBody DynamicTypeMgrQueryMoInstancesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DynamicTypeMgrQueryTypeInfoBody struct {
+ Req *types.DynamicTypeMgrQueryTypeInfo `xml:"urn:vim25 DynamicTypeMgrQueryTypeInfo"`
+ Res *types.DynamicTypeMgrQueryTypeInfoResponse `xml:"urn:vim25 DynamicTypeMgrQueryTypeInfoResponse"`
+ Fault_ *soap.Fault
+}
+
+func (b *DynamicTypeMgrQueryTypeInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DynamicTypeMgrQueryTypeInfo(ctx context.Context, r soap.RoundTripper, req *types.DynamicTypeMgrQueryTypeInfo) (*types.DynamicTypeMgrQueryTypeInfoResponse, error) {
+ var reqBody, resBody DynamicTypeMgrQueryTypeInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExecuteSoapBody struct {
+ Req *types.ExecuteSoap `xml:"urn:vim25 ExecuteSoap"`
+ Res *types.ExecuteSoapResponse `xml:"urn:vim25 ExecuteSoapResponse"`
+ Fault_ *soap.Fault
+}
+
+func (b *ExecuteSoapBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExecuteSoap(ctx context.Context, r soap.RoundTripper, req *types.ExecuteSoap) (*types.ExecuteSoapResponse, error) {
+ var reqBody, resBody ExecuteSoapBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/methods.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/methods.go
new file mode 100644
index 00000000..0895a81c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/methods.go
@@ -0,0 +1,16144 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 methods
+
+import (
+ "context"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type AbdicateDomOwnershipBody struct {
+ Req *types.AbdicateDomOwnership `xml:"urn:vim25 AbdicateDomOwnership,omitempty"`
+ Res *types.AbdicateDomOwnershipResponse `xml:"urn:vim25 AbdicateDomOwnershipResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AbdicateDomOwnershipBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AbdicateDomOwnership(ctx context.Context, r soap.RoundTripper, req *types.AbdicateDomOwnership) (*types.AbdicateDomOwnershipResponse, error) {
+ var reqBody, resBody AbdicateDomOwnershipBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcknowledgeAlarmBody struct {
+ Req *types.AcknowledgeAlarm `xml:"urn:vim25 AcknowledgeAlarm,omitempty"`
+ Res *types.AcknowledgeAlarmResponse `xml:"urn:vim25 AcknowledgeAlarmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcknowledgeAlarmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcknowledgeAlarm(ctx context.Context, r soap.RoundTripper, req *types.AcknowledgeAlarm) (*types.AcknowledgeAlarmResponse, error) {
+ var reqBody, resBody AcknowledgeAlarmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireCimServicesTicketBody struct {
+ Req *types.AcquireCimServicesTicket `xml:"urn:vim25 AcquireCimServicesTicket,omitempty"`
+ Res *types.AcquireCimServicesTicketResponse `xml:"urn:vim25 AcquireCimServicesTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireCimServicesTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireCimServicesTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireCimServicesTicket) (*types.AcquireCimServicesTicketResponse, error) {
+ var reqBody, resBody AcquireCimServicesTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireCloneTicketBody struct {
+ Req *types.AcquireCloneTicket `xml:"urn:vim25 AcquireCloneTicket,omitempty"`
+ Res *types.AcquireCloneTicketResponse `xml:"urn:vim25 AcquireCloneTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireCloneTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireCloneTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireCloneTicket) (*types.AcquireCloneTicketResponse, error) {
+ var reqBody, resBody AcquireCloneTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireCredentialsInGuestBody struct {
+ Req *types.AcquireCredentialsInGuest `xml:"urn:vim25 AcquireCredentialsInGuest,omitempty"`
+ Res *types.AcquireCredentialsInGuestResponse `xml:"urn:vim25 AcquireCredentialsInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.AcquireCredentialsInGuest) (*types.AcquireCredentialsInGuestResponse, error) {
+ var reqBody, resBody AcquireCredentialsInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireGenericServiceTicketBody struct {
+ Req *types.AcquireGenericServiceTicket `xml:"urn:vim25 AcquireGenericServiceTicket,omitempty"`
+ Res *types.AcquireGenericServiceTicketResponse `xml:"urn:vim25 AcquireGenericServiceTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireGenericServiceTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireGenericServiceTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireGenericServiceTicket) (*types.AcquireGenericServiceTicketResponse, error) {
+ var reqBody, resBody AcquireGenericServiceTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireLocalTicketBody struct {
+ Req *types.AcquireLocalTicket `xml:"urn:vim25 AcquireLocalTicket,omitempty"`
+ Res *types.AcquireLocalTicketResponse `xml:"urn:vim25 AcquireLocalTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireLocalTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireLocalTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireLocalTicket) (*types.AcquireLocalTicketResponse, error) {
+ var reqBody, resBody AcquireLocalTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireMksTicketBody struct {
+ Req *types.AcquireMksTicket `xml:"urn:vim25 AcquireMksTicket,omitempty"`
+ Res *types.AcquireMksTicketResponse `xml:"urn:vim25 AcquireMksTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireMksTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireMksTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireMksTicket) (*types.AcquireMksTicketResponse, error) {
+ var reqBody, resBody AcquireMksTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AcquireTicketBody struct {
+ Req *types.AcquireTicket `xml:"urn:vim25 AcquireTicket,omitempty"`
+ Res *types.AcquireTicketResponse `xml:"urn:vim25 AcquireTicketResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AcquireTicketBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AcquireTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireTicket) (*types.AcquireTicketResponse, error) {
+ var reqBody, resBody AcquireTicketBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddAuthorizationRoleBody struct {
+ Req *types.AddAuthorizationRole `xml:"urn:vim25 AddAuthorizationRole,omitempty"`
+ Res *types.AddAuthorizationRoleResponse `xml:"urn:vim25 AddAuthorizationRoleResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.AddAuthorizationRole) (*types.AddAuthorizationRoleResponse, error) {
+ var reqBody, resBody AddAuthorizationRoleBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddCustomFieldDefBody struct {
+ Req *types.AddCustomFieldDef `xml:"urn:vim25 AddCustomFieldDef,omitempty"`
+ Res *types.AddCustomFieldDefResponse `xml:"urn:vim25 AddCustomFieldDefResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.AddCustomFieldDef) (*types.AddCustomFieldDefResponse, error) {
+ var reqBody, resBody AddCustomFieldDefBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddDVPortgroup_TaskBody struct {
+ Req *types.AddDVPortgroup_Task `xml:"urn:vim25 AddDVPortgroup_Task,omitempty"`
+ Res *types.AddDVPortgroup_TaskResponse `xml:"urn:vim25 AddDVPortgroup_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.AddDVPortgroup_Task) (*types.AddDVPortgroup_TaskResponse, error) {
+ var reqBody, resBody AddDVPortgroup_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddDisks_TaskBody struct {
+ Req *types.AddDisks_Task `xml:"urn:vim25 AddDisks_Task,omitempty"`
+ Res *types.AddDisks_TaskResponse `xml:"urn:vim25 AddDisks_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.AddDisks_Task) (*types.AddDisks_TaskResponse, error) {
+ var reqBody, resBody AddDisks_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddFilterBody struct {
+ Req *types.AddFilter `xml:"urn:vim25 AddFilter,omitempty"`
+ Res *types.AddFilterResponse `xml:"urn:vim25 AddFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddFilter(ctx context.Context, r soap.RoundTripper, req *types.AddFilter) (*types.AddFilterResponse, error) {
+ var reqBody, resBody AddFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddFilterEntitiesBody struct {
+ Req *types.AddFilterEntities `xml:"urn:vim25 AddFilterEntities,omitempty"`
+ Res *types.AddFilterEntitiesResponse `xml:"urn:vim25 AddFilterEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.AddFilterEntities) (*types.AddFilterEntitiesResponse, error) {
+ var reqBody, resBody AddFilterEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddGuestAliasBody struct {
+ Req *types.AddGuestAlias `xml:"urn:vim25 AddGuestAlias,omitempty"`
+ Res *types.AddGuestAliasResponse `xml:"urn:vim25 AddGuestAliasResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddGuestAliasBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddGuestAlias(ctx context.Context, r soap.RoundTripper, req *types.AddGuestAlias) (*types.AddGuestAliasResponse, error) {
+ var reqBody, resBody AddGuestAliasBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddHost_TaskBody struct {
+ Req *types.AddHost_Task `xml:"urn:vim25 AddHost_Task,omitempty"`
+ Res *types.AddHost_TaskResponse `xml:"urn:vim25 AddHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddHost_Task(ctx context.Context, r soap.RoundTripper, req *types.AddHost_Task) (*types.AddHost_TaskResponse, error) {
+ var reqBody, resBody AddHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddInternetScsiSendTargetsBody struct {
+ Req *types.AddInternetScsiSendTargets `xml:"urn:vim25 AddInternetScsiSendTargets,omitempty"`
+ Res *types.AddInternetScsiSendTargetsResponse `xml:"urn:vim25 AddInternetScsiSendTargetsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddInternetScsiSendTargetsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddInternetScsiSendTargets(ctx context.Context, r soap.RoundTripper, req *types.AddInternetScsiSendTargets) (*types.AddInternetScsiSendTargetsResponse, error) {
+ var reqBody, resBody AddInternetScsiSendTargetsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddInternetScsiStaticTargetsBody struct {
+ Req *types.AddInternetScsiStaticTargets `xml:"urn:vim25 AddInternetScsiStaticTargets,omitempty"`
+ Res *types.AddInternetScsiStaticTargetsResponse `xml:"urn:vim25 AddInternetScsiStaticTargetsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddInternetScsiStaticTargetsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddInternetScsiStaticTargets(ctx context.Context, r soap.RoundTripper, req *types.AddInternetScsiStaticTargets) (*types.AddInternetScsiStaticTargetsResponse, error) {
+ var reqBody, resBody AddInternetScsiStaticTargetsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddKeyBody struct {
+ Req *types.AddKey `xml:"urn:vim25 AddKey,omitempty"`
+ Res *types.AddKeyResponse `xml:"urn:vim25 AddKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddKey(ctx context.Context, r soap.RoundTripper, req *types.AddKey) (*types.AddKeyResponse, error) {
+ var reqBody, resBody AddKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddKeysBody struct {
+ Req *types.AddKeys `xml:"urn:vim25 AddKeys,omitempty"`
+ Res *types.AddKeysResponse `xml:"urn:vim25 AddKeysResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddKeysBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddKeys(ctx context.Context, r soap.RoundTripper, req *types.AddKeys) (*types.AddKeysResponse, error) {
+ var reqBody, resBody AddKeysBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddLicenseBody struct {
+ Req *types.AddLicense `xml:"urn:vim25 AddLicense,omitempty"`
+ Res *types.AddLicenseResponse `xml:"urn:vim25 AddLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddLicense(ctx context.Context, r soap.RoundTripper, req *types.AddLicense) (*types.AddLicenseResponse, error) {
+ var reqBody, resBody AddLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddMonitoredEntitiesBody struct {
+ Req *types.AddMonitoredEntities `xml:"urn:vim25 AddMonitoredEntities,omitempty"`
+ Res *types.AddMonitoredEntitiesResponse `xml:"urn:vim25 AddMonitoredEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.AddMonitoredEntities) (*types.AddMonitoredEntitiesResponse, error) {
+ var reqBody, resBody AddMonitoredEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddNetworkResourcePoolBody struct {
+ Req *types.AddNetworkResourcePool `xml:"urn:vim25 AddNetworkResourcePool,omitempty"`
+ Res *types.AddNetworkResourcePoolResponse `xml:"urn:vim25 AddNetworkResourcePoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.AddNetworkResourcePool) (*types.AddNetworkResourcePoolResponse, error) {
+ var reqBody, resBody AddNetworkResourcePoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddPortGroupBody struct {
+ Req *types.AddPortGroup `xml:"urn:vim25 AddPortGroup,omitempty"`
+ Res *types.AddPortGroupResponse `xml:"urn:vim25 AddPortGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddPortGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddPortGroup(ctx context.Context, r soap.RoundTripper, req *types.AddPortGroup) (*types.AddPortGroupResponse, error) {
+ var reqBody, resBody AddPortGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddServiceConsoleVirtualNicBody struct {
+ Req *types.AddServiceConsoleVirtualNic `xml:"urn:vim25 AddServiceConsoleVirtualNic,omitempty"`
+ Res *types.AddServiceConsoleVirtualNicResponse `xml:"urn:vim25 AddServiceConsoleVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.AddServiceConsoleVirtualNic) (*types.AddServiceConsoleVirtualNicResponse, error) {
+ var reqBody, resBody AddServiceConsoleVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddStandaloneHost_TaskBody struct {
+ Req *types.AddStandaloneHost_Task `xml:"urn:vim25 AddStandaloneHost_Task,omitempty"`
+ Res *types.AddStandaloneHost_TaskResponse `xml:"urn:vim25 AddStandaloneHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddStandaloneHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddStandaloneHost_Task(ctx context.Context, r soap.RoundTripper, req *types.AddStandaloneHost_Task) (*types.AddStandaloneHost_TaskResponse, error) {
+ var reqBody, resBody AddStandaloneHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddVirtualNicBody struct {
+ Req *types.AddVirtualNic `xml:"urn:vim25 AddVirtualNic,omitempty"`
+ Res *types.AddVirtualNicResponse `xml:"urn:vim25 AddVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.AddVirtualNic) (*types.AddVirtualNicResponse, error) {
+ var reqBody, resBody AddVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AddVirtualSwitchBody struct {
+ Req *types.AddVirtualSwitch `xml:"urn:vim25 AddVirtualSwitch,omitempty"`
+ Res *types.AddVirtualSwitchResponse `xml:"urn:vim25 AddVirtualSwitchResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AddVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AddVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.AddVirtualSwitch) (*types.AddVirtualSwitchResponse, error) {
+ var reqBody, resBody AddVirtualSwitchBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AllocateIpv4AddressBody struct {
+ Req *types.AllocateIpv4Address `xml:"urn:vim25 AllocateIpv4Address,omitempty"`
+ Res *types.AllocateIpv4AddressResponse `xml:"urn:vim25 AllocateIpv4AddressResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AllocateIpv4AddressBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AllocateIpv4Address(ctx context.Context, r soap.RoundTripper, req *types.AllocateIpv4Address) (*types.AllocateIpv4AddressResponse, error) {
+ var reqBody, resBody AllocateIpv4AddressBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AllocateIpv6AddressBody struct {
+ Req *types.AllocateIpv6Address `xml:"urn:vim25 AllocateIpv6Address,omitempty"`
+ Res *types.AllocateIpv6AddressResponse `xml:"urn:vim25 AllocateIpv6AddressResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AllocateIpv6AddressBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AllocateIpv6Address(ctx context.Context, r soap.RoundTripper, req *types.AllocateIpv6Address) (*types.AllocateIpv6AddressResponse, error) {
+ var reqBody, resBody AllocateIpv6AddressBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AnswerVMBody struct {
+ Req *types.AnswerVM `xml:"urn:vim25 AnswerVM,omitempty"`
+ Res *types.AnswerVMResponse `xml:"urn:vim25 AnswerVMResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AnswerVMBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AnswerVM(ctx context.Context, r soap.RoundTripper, req *types.AnswerVM) (*types.AnswerVMResponse, error) {
+ var reqBody, resBody AnswerVMBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ApplyEntitiesConfig_TaskBody struct {
+ Req *types.ApplyEntitiesConfig_Task `xml:"urn:vim25 ApplyEntitiesConfig_Task,omitempty"`
+ Res *types.ApplyEntitiesConfig_TaskResponse `xml:"urn:vim25 ApplyEntitiesConfig_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ApplyEntitiesConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ApplyEntitiesConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyEntitiesConfig_Task) (*types.ApplyEntitiesConfig_TaskResponse, error) {
+ var reqBody, resBody ApplyEntitiesConfig_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ApplyHostConfig_TaskBody struct {
+ Req *types.ApplyHostConfig_Task `xml:"urn:vim25 ApplyHostConfig_Task,omitempty"`
+ Res *types.ApplyHostConfig_TaskResponse `xml:"urn:vim25 ApplyHostConfig_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ApplyHostConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ApplyHostConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyHostConfig_Task) (*types.ApplyHostConfig_TaskResponse, error) {
+ var reqBody, resBody ApplyHostConfig_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ApplyRecommendationBody struct {
+ Req *types.ApplyRecommendation `xml:"urn:vim25 ApplyRecommendation,omitempty"`
+ Res *types.ApplyRecommendationResponse `xml:"urn:vim25 ApplyRecommendationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ApplyRecommendationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ApplyRecommendation(ctx context.Context, r soap.RoundTripper, req *types.ApplyRecommendation) (*types.ApplyRecommendationResponse, error) {
+ var reqBody, resBody ApplyRecommendationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ApplyStorageDrsRecommendationToPod_TaskBody struct {
+ Req *types.ApplyStorageDrsRecommendationToPod_Task `xml:"urn:vim25 ApplyStorageDrsRecommendationToPod_Task,omitempty"`
+ Res *types.ApplyStorageDrsRecommendationToPod_TaskResponse `xml:"urn:vim25 ApplyStorageDrsRecommendationToPod_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ApplyStorageDrsRecommendationToPod_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ApplyStorageDrsRecommendationToPod_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyStorageDrsRecommendationToPod_Task) (*types.ApplyStorageDrsRecommendationToPod_TaskResponse, error) {
+ var reqBody, resBody ApplyStorageDrsRecommendationToPod_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ApplyStorageDrsRecommendation_TaskBody struct {
+ Req *types.ApplyStorageDrsRecommendation_Task `xml:"urn:vim25 ApplyStorageDrsRecommendation_Task,omitempty"`
+ Res *types.ApplyStorageDrsRecommendation_TaskResponse `xml:"urn:vim25 ApplyStorageDrsRecommendation_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ApplyStorageDrsRecommendation_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ApplyStorageDrsRecommendation_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyStorageDrsRecommendation_Task) (*types.ApplyStorageDrsRecommendation_TaskResponse, error) {
+ var reqBody, resBody ApplyStorageDrsRecommendation_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AreAlarmActionsEnabledBody struct {
+ Req *types.AreAlarmActionsEnabled `xml:"urn:vim25 AreAlarmActionsEnabled,omitempty"`
+ Res *types.AreAlarmActionsEnabledResponse `xml:"urn:vim25 AreAlarmActionsEnabledResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AreAlarmActionsEnabledBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AreAlarmActionsEnabled(ctx context.Context, r soap.RoundTripper, req *types.AreAlarmActionsEnabled) (*types.AreAlarmActionsEnabledResponse, error) {
+ var reqBody, resBody AreAlarmActionsEnabledBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AssignUserToGroupBody struct {
+ Req *types.AssignUserToGroup `xml:"urn:vim25 AssignUserToGroup,omitempty"`
+ Res *types.AssignUserToGroupResponse `xml:"urn:vim25 AssignUserToGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AssignUserToGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AssignUserToGroup(ctx context.Context, r soap.RoundTripper, req *types.AssignUserToGroup) (*types.AssignUserToGroupResponse, error) {
+ var reqBody, resBody AssignUserToGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AssociateProfileBody struct {
+ Req *types.AssociateProfile `xml:"urn:vim25 AssociateProfile,omitempty"`
+ Res *types.AssociateProfileResponse `xml:"urn:vim25 AssociateProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AssociateProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AssociateProfile(ctx context.Context, r soap.RoundTripper, req *types.AssociateProfile) (*types.AssociateProfileResponse, error) {
+ var reqBody, resBody AssociateProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AttachDisk_TaskBody struct {
+ Req *types.AttachDisk_Task `xml:"urn:vim25 AttachDisk_Task,omitempty"`
+ Res *types.AttachDisk_TaskResponse `xml:"urn:vim25 AttachDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AttachDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AttachDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.AttachDisk_Task) (*types.AttachDisk_TaskResponse, error) {
+ var reqBody, resBody AttachDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AttachScsiLunBody struct {
+ Req *types.AttachScsiLun `xml:"urn:vim25 AttachScsiLun,omitempty"`
+ Res *types.AttachScsiLunResponse `xml:"urn:vim25 AttachScsiLunResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AttachScsiLunBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AttachScsiLun(ctx context.Context, r soap.RoundTripper, req *types.AttachScsiLun) (*types.AttachScsiLunResponse, error) {
+ var reqBody, resBody AttachScsiLunBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AttachScsiLunEx_TaskBody struct {
+ Req *types.AttachScsiLunEx_Task `xml:"urn:vim25 AttachScsiLunEx_Task,omitempty"`
+ Res *types.AttachScsiLunEx_TaskResponse `xml:"urn:vim25 AttachScsiLunEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AttachScsiLunEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AttachScsiLunEx_Task(ctx context.Context, r soap.RoundTripper, req *types.AttachScsiLunEx_Task) (*types.AttachScsiLunEx_TaskResponse, error) {
+ var reqBody, resBody AttachScsiLunEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AttachTagToVStorageObjectBody struct {
+ Req *types.AttachTagToVStorageObject `xml:"urn:vim25 AttachTagToVStorageObject,omitempty"`
+ Res *types.AttachTagToVStorageObjectResponse `xml:"urn:vim25 AttachTagToVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AttachTagToVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AttachTagToVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.AttachTagToVStorageObject) (*types.AttachTagToVStorageObjectResponse, error) {
+ var reqBody, resBody AttachTagToVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AttachVmfsExtentBody struct {
+ Req *types.AttachVmfsExtent `xml:"urn:vim25 AttachVmfsExtent,omitempty"`
+ Res *types.AttachVmfsExtentResponse `xml:"urn:vim25 AttachVmfsExtentResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AttachVmfsExtentBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AttachVmfsExtent(ctx context.Context, r soap.RoundTripper, req *types.AttachVmfsExtent) (*types.AttachVmfsExtentResponse, error) {
+ var reqBody, resBody AttachVmfsExtentBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AutoStartPowerOffBody struct {
+ Req *types.AutoStartPowerOff `xml:"urn:vim25 AutoStartPowerOff,omitempty"`
+ Res *types.AutoStartPowerOffResponse `xml:"urn:vim25 AutoStartPowerOffResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AutoStartPowerOffBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AutoStartPowerOff(ctx context.Context, r soap.RoundTripper, req *types.AutoStartPowerOff) (*types.AutoStartPowerOffResponse, error) {
+ var reqBody, resBody AutoStartPowerOffBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type AutoStartPowerOnBody struct {
+ Req *types.AutoStartPowerOn `xml:"urn:vim25 AutoStartPowerOn,omitempty"`
+ Res *types.AutoStartPowerOnResponse `xml:"urn:vim25 AutoStartPowerOnResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *AutoStartPowerOnBody) Fault() *soap.Fault { return b.Fault_ }
+
+func AutoStartPowerOn(ctx context.Context, r soap.RoundTripper, req *types.AutoStartPowerOn) (*types.AutoStartPowerOnResponse, error) {
+ var reqBody, resBody AutoStartPowerOnBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type BackupFirmwareConfigurationBody struct {
+ Req *types.BackupFirmwareConfiguration `xml:"urn:vim25 BackupFirmwareConfiguration,omitempty"`
+ Res *types.BackupFirmwareConfigurationResponse `xml:"urn:vim25 BackupFirmwareConfigurationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *BackupFirmwareConfigurationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func BackupFirmwareConfiguration(ctx context.Context, r soap.RoundTripper, req *types.BackupFirmwareConfiguration) (*types.BackupFirmwareConfigurationResponse, error) {
+ var reqBody, resBody BackupFirmwareConfigurationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type BindVnicBody struct {
+ Req *types.BindVnic `xml:"urn:vim25 BindVnic,omitempty"`
+ Res *types.BindVnicResponse `xml:"urn:vim25 BindVnicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *BindVnicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func BindVnic(ctx context.Context, r soap.RoundTripper, req *types.BindVnic) (*types.BindVnicResponse, error) {
+ var reqBody, resBody BindVnicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type BrowseDiagnosticLogBody struct {
+ Req *types.BrowseDiagnosticLog `xml:"urn:vim25 BrowseDiagnosticLog,omitempty"`
+ Res *types.BrowseDiagnosticLogResponse `xml:"urn:vim25 BrowseDiagnosticLogResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *BrowseDiagnosticLogBody) Fault() *soap.Fault { return b.Fault_ }
+
+func BrowseDiagnosticLog(ctx context.Context, r soap.RoundTripper, req *types.BrowseDiagnosticLog) (*types.BrowseDiagnosticLogResponse, error) {
+ var reqBody, resBody BrowseDiagnosticLogBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CanProvisionObjectsBody struct {
+ Req *types.CanProvisionObjects `xml:"urn:vim25 CanProvisionObjects,omitempty"`
+ Res *types.CanProvisionObjectsResponse `xml:"urn:vim25 CanProvisionObjectsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CanProvisionObjectsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CanProvisionObjects(ctx context.Context, r soap.RoundTripper, req *types.CanProvisionObjects) (*types.CanProvisionObjectsResponse, error) {
+ var reqBody, resBody CanProvisionObjectsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CancelRecommendationBody struct {
+ Req *types.CancelRecommendation `xml:"urn:vim25 CancelRecommendation,omitempty"`
+ Res *types.CancelRecommendationResponse `xml:"urn:vim25 CancelRecommendationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CancelRecommendationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CancelRecommendation(ctx context.Context, r soap.RoundTripper, req *types.CancelRecommendation) (*types.CancelRecommendationResponse, error) {
+ var reqBody, resBody CancelRecommendationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CancelRetrievePropertiesExBody struct {
+ Req *types.CancelRetrievePropertiesEx `xml:"urn:vim25 CancelRetrievePropertiesEx,omitempty"`
+ Res *types.CancelRetrievePropertiesExResponse `xml:"urn:vim25 CancelRetrievePropertiesExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CancelRetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CancelRetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.CancelRetrievePropertiesEx) (*types.CancelRetrievePropertiesExResponse, error) {
+ var reqBody, resBody CancelRetrievePropertiesExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CancelStorageDrsRecommendationBody struct {
+ Req *types.CancelStorageDrsRecommendation `xml:"urn:vim25 CancelStorageDrsRecommendation,omitempty"`
+ Res *types.CancelStorageDrsRecommendationResponse `xml:"urn:vim25 CancelStorageDrsRecommendationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CancelStorageDrsRecommendationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CancelStorageDrsRecommendation(ctx context.Context, r soap.RoundTripper, req *types.CancelStorageDrsRecommendation) (*types.CancelStorageDrsRecommendationResponse, error) {
+ var reqBody, resBody CancelStorageDrsRecommendationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CancelTaskBody struct {
+ Req *types.CancelTask `xml:"urn:vim25 CancelTask,omitempty"`
+ Res *types.CancelTaskResponse `xml:"urn:vim25 CancelTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CancelTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CancelTask(ctx context.Context, r soap.RoundTripper, req *types.CancelTask) (*types.CancelTaskResponse, error) {
+ var reqBody, resBody CancelTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CancelWaitForUpdatesBody struct {
+ Req *types.CancelWaitForUpdates `xml:"urn:vim25 CancelWaitForUpdates,omitempty"`
+ Res *types.CancelWaitForUpdatesResponse `xml:"urn:vim25 CancelWaitForUpdatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CancelWaitForUpdatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CancelWaitForUpdates(ctx context.Context, r soap.RoundTripper, req *types.CancelWaitForUpdates) (*types.CancelWaitForUpdatesResponse, error) {
+ var reqBody, resBody CancelWaitForUpdatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CertMgrRefreshCACertificatesAndCRLs_TaskBody struct {
+ Req *types.CertMgrRefreshCACertificatesAndCRLs_Task `xml:"urn:vim25 CertMgrRefreshCACertificatesAndCRLs_Task,omitempty"`
+ Res *types.CertMgrRefreshCACertificatesAndCRLs_TaskResponse `xml:"urn:vim25 CertMgrRefreshCACertificatesAndCRLs_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CertMgrRefreshCACertificatesAndCRLs_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CertMgrRefreshCACertificatesAndCRLs_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRefreshCACertificatesAndCRLs_Task) (*types.CertMgrRefreshCACertificatesAndCRLs_TaskResponse, error) {
+ var reqBody, resBody CertMgrRefreshCACertificatesAndCRLs_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CertMgrRefreshCertificates_TaskBody struct {
+ Req *types.CertMgrRefreshCertificates_Task `xml:"urn:vim25 CertMgrRefreshCertificates_Task,omitempty"`
+ Res *types.CertMgrRefreshCertificates_TaskResponse `xml:"urn:vim25 CertMgrRefreshCertificates_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CertMgrRefreshCertificates_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CertMgrRefreshCertificates_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRefreshCertificates_Task) (*types.CertMgrRefreshCertificates_TaskResponse, error) {
+ var reqBody, resBody CertMgrRefreshCertificates_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CertMgrRevokeCertificates_TaskBody struct {
+ Req *types.CertMgrRevokeCertificates_Task `xml:"urn:vim25 CertMgrRevokeCertificates_Task,omitempty"`
+ Res *types.CertMgrRevokeCertificates_TaskResponse `xml:"urn:vim25 CertMgrRevokeCertificates_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CertMgrRevokeCertificates_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CertMgrRevokeCertificates_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRevokeCertificates_Task) (*types.CertMgrRevokeCertificates_TaskResponse, error) {
+ var reqBody, resBody CertMgrRevokeCertificates_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ChangeAccessModeBody struct {
+ Req *types.ChangeAccessMode `xml:"urn:vim25 ChangeAccessMode,omitempty"`
+ Res *types.ChangeAccessModeResponse `xml:"urn:vim25 ChangeAccessModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ChangeAccessModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ChangeAccessMode(ctx context.Context, r soap.RoundTripper, req *types.ChangeAccessMode) (*types.ChangeAccessModeResponse, error) {
+ var reqBody, resBody ChangeAccessModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ChangeFileAttributesInGuestBody struct {
+ Req *types.ChangeFileAttributesInGuest `xml:"urn:vim25 ChangeFileAttributesInGuest,omitempty"`
+ Res *types.ChangeFileAttributesInGuestResponse `xml:"urn:vim25 ChangeFileAttributesInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ChangeFileAttributesInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ChangeFileAttributesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ChangeFileAttributesInGuest) (*types.ChangeFileAttributesInGuestResponse, error) {
+ var reqBody, resBody ChangeFileAttributesInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ChangeLockdownModeBody struct {
+ Req *types.ChangeLockdownMode `xml:"urn:vim25 ChangeLockdownMode,omitempty"`
+ Res *types.ChangeLockdownModeResponse `xml:"urn:vim25 ChangeLockdownModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ChangeLockdownModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ChangeLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.ChangeLockdownMode) (*types.ChangeLockdownModeResponse, error) {
+ var reqBody, resBody ChangeLockdownModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ChangeNFSUserPasswordBody struct {
+ Req *types.ChangeNFSUserPassword `xml:"urn:vim25 ChangeNFSUserPassword,omitempty"`
+ Res *types.ChangeNFSUserPasswordResponse `xml:"urn:vim25 ChangeNFSUserPasswordResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ChangeNFSUserPasswordBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ChangeNFSUserPassword(ctx context.Context, r soap.RoundTripper, req *types.ChangeNFSUserPassword) (*types.ChangeNFSUserPasswordResponse, error) {
+ var reqBody, resBody ChangeNFSUserPasswordBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ChangeOwnerBody struct {
+ Req *types.ChangeOwner `xml:"urn:vim25 ChangeOwner,omitempty"`
+ Res *types.ChangeOwnerResponse `xml:"urn:vim25 ChangeOwnerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ChangeOwnerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ChangeOwner(ctx context.Context, r soap.RoundTripper, req *types.ChangeOwner) (*types.ChangeOwnerResponse, error) {
+ var reqBody, resBody ChangeOwnerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckAddHostEvc_TaskBody struct {
+ Req *types.CheckAddHostEvc_Task `xml:"urn:vim25 CheckAddHostEvc_Task,omitempty"`
+ Res *types.CheckAddHostEvc_TaskResponse `xml:"urn:vim25 CheckAddHostEvc_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckAddHostEvc_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckAddHostEvc_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckAddHostEvc_Task) (*types.CheckAddHostEvc_TaskResponse, error) {
+ var reqBody, resBody CheckAddHostEvc_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckAnswerFileStatus_TaskBody struct {
+ Req *types.CheckAnswerFileStatus_Task `xml:"urn:vim25 CheckAnswerFileStatus_Task,omitempty"`
+ Res *types.CheckAnswerFileStatus_TaskResponse `xml:"urn:vim25 CheckAnswerFileStatus_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckAnswerFileStatus_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckAnswerFileStatus_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckAnswerFileStatus_Task) (*types.CheckAnswerFileStatus_TaskResponse, error) {
+ var reqBody, resBody CheckAnswerFileStatus_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckCompatibility_TaskBody struct {
+ Req *types.CheckCompatibility_Task `xml:"urn:vim25 CheckCompatibility_Task,omitempty"`
+ Res *types.CheckCompatibility_TaskResponse `xml:"urn:vim25 CheckCompatibility_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckCompatibility_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckCompatibility_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckCompatibility_Task) (*types.CheckCompatibility_TaskResponse, error) {
+ var reqBody, resBody CheckCompatibility_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckCompliance_TaskBody struct {
+ Req *types.CheckCompliance_Task `xml:"urn:vim25 CheckCompliance_Task,omitempty"`
+ Res *types.CheckCompliance_TaskResponse `xml:"urn:vim25 CheckCompliance_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckCompliance_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckCompliance_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckCompliance_Task) (*types.CheckCompliance_TaskResponse, error) {
+ var reqBody, resBody CheckCompliance_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckConfigureEvcMode_TaskBody struct {
+ Req *types.CheckConfigureEvcMode_Task `xml:"urn:vim25 CheckConfigureEvcMode_Task,omitempty"`
+ Res *types.CheckConfigureEvcMode_TaskResponse `xml:"urn:vim25 CheckConfigureEvcMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckConfigureEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckConfigureEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckConfigureEvcMode_Task) (*types.CheckConfigureEvcMode_TaskResponse, error) {
+ var reqBody, resBody CheckConfigureEvcMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckCustomizationResourcesBody struct {
+ Req *types.CheckCustomizationResources `xml:"urn:vim25 CheckCustomizationResources,omitempty"`
+ Res *types.CheckCustomizationResourcesResponse `xml:"urn:vim25 CheckCustomizationResourcesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckCustomizationResourcesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckCustomizationResources(ctx context.Context, r soap.RoundTripper, req *types.CheckCustomizationResources) (*types.CheckCustomizationResourcesResponse, error) {
+ var reqBody, resBody CheckCustomizationResourcesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckCustomizationSpecBody struct {
+ Req *types.CheckCustomizationSpec `xml:"urn:vim25 CheckCustomizationSpec,omitempty"`
+ Res *types.CheckCustomizationSpecResponse `xml:"urn:vim25 CheckCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.CheckCustomizationSpec) (*types.CheckCustomizationSpecResponse, error) {
+ var reqBody, resBody CheckCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckForUpdatesBody struct {
+ Req *types.CheckForUpdates `xml:"urn:vim25 CheckForUpdates,omitempty"`
+ Res *types.CheckForUpdatesResponse `xml:"urn:vim25 CheckForUpdatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckForUpdatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckForUpdates(ctx context.Context, r soap.RoundTripper, req *types.CheckForUpdates) (*types.CheckForUpdatesResponse, error) {
+ var reqBody, resBody CheckForUpdatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckHostPatch_TaskBody struct {
+ Req *types.CheckHostPatch_Task `xml:"urn:vim25 CheckHostPatch_Task,omitempty"`
+ Res *types.CheckHostPatch_TaskResponse `xml:"urn:vim25 CheckHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckHostPatch_Task) (*types.CheckHostPatch_TaskResponse, error) {
+ var reqBody, resBody CheckHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckLicenseFeatureBody struct {
+ Req *types.CheckLicenseFeature `xml:"urn:vim25 CheckLicenseFeature,omitempty"`
+ Res *types.CheckLicenseFeatureResponse `xml:"urn:vim25 CheckLicenseFeatureResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckLicenseFeatureBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckLicenseFeature(ctx context.Context, r soap.RoundTripper, req *types.CheckLicenseFeature) (*types.CheckLicenseFeatureResponse, error) {
+ var reqBody, resBody CheckLicenseFeatureBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckMigrate_TaskBody struct {
+ Req *types.CheckMigrate_Task `xml:"urn:vim25 CheckMigrate_Task,omitempty"`
+ Res *types.CheckMigrate_TaskResponse `xml:"urn:vim25 CheckMigrate_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckMigrate_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckMigrate_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckMigrate_Task) (*types.CheckMigrate_TaskResponse, error) {
+ var reqBody, resBody CheckMigrate_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckProfileCompliance_TaskBody struct {
+ Req *types.CheckProfileCompliance_Task `xml:"urn:vim25 CheckProfileCompliance_Task,omitempty"`
+ Res *types.CheckProfileCompliance_TaskResponse `xml:"urn:vim25 CheckProfileCompliance_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckProfileCompliance_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckProfileCompliance_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckProfileCompliance_Task) (*types.CheckProfileCompliance_TaskResponse, error) {
+ var reqBody, resBody CheckProfileCompliance_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CheckRelocate_TaskBody struct {
+ Req *types.CheckRelocate_Task `xml:"urn:vim25 CheckRelocate_Task,omitempty"`
+ Res *types.CheckRelocate_TaskResponse `xml:"urn:vim25 CheckRelocate_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CheckRelocate_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CheckRelocate_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckRelocate_Task) (*types.CheckRelocate_TaskResponse, error) {
+ var reqBody, resBody CheckRelocate_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ClearComplianceStatusBody struct {
+ Req *types.ClearComplianceStatus `xml:"urn:vim25 ClearComplianceStatus,omitempty"`
+ Res *types.ClearComplianceStatusResponse `xml:"urn:vim25 ClearComplianceStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ClearComplianceStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ClearComplianceStatus(ctx context.Context, r soap.RoundTripper, req *types.ClearComplianceStatus) (*types.ClearComplianceStatusResponse, error) {
+ var reqBody, resBody ClearComplianceStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ClearNFSUserBody struct {
+ Req *types.ClearNFSUser `xml:"urn:vim25 ClearNFSUser,omitempty"`
+ Res *types.ClearNFSUserResponse `xml:"urn:vim25 ClearNFSUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ClearNFSUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ClearNFSUser(ctx context.Context, r soap.RoundTripper, req *types.ClearNFSUser) (*types.ClearNFSUserResponse, error) {
+ var reqBody, resBody ClearNFSUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ClearSystemEventLogBody struct {
+ Req *types.ClearSystemEventLog `xml:"urn:vim25 ClearSystemEventLog,omitempty"`
+ Res *types.ClearSystemEventLogResponse `xml:"urn:vim25 ClearSystemEventLogResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ClearSystemEventLogBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ClearSystemEventLog(ctx context.Context, r soap.RoundTripper, req *types.ClearSystemEventLog) (*types.ClearSystemEventLogResponse, error) {
+ var reqBody, resBody ClearSystemEventLogBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CloneSessionBody struct {
+ Req *types.CloneSession `xml:"urn:vim25 CloneSession,omitempty"`
+ Res *types.CloneSessionResponse `xml:"urn:vim25 CloneSessionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CloneSessionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CloneSession(ctx context.Context, r soap.RoundTripper, req *types.CloneSession) (*types.CloneSessionResponse, error) {
+ var reqBody, resBody CloneSessionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CloneVApp_TaskBody struct {
+ Req *types.CloneVApp_Task `xml:"urn:vim25 CloneVApp_Task,omitempty"`
+ Res *types.CloneVApp_TaskResponse `xml:"urn:vim25 CloneVApp_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CloneVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CloneVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVApp_Task) (*types.CloneVApp_TaskResponse, error) {
+ var reqBody, resBody CloneVApp_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CloneVM_TaskBody struct {
+ Req *types.CloneVM_Task `xml:"urn:vim25 CloneVM_Task,omitempty"`
+ Res *types.CloneVM_TaskResponse `xml:"urn:vim25 CloneVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CloneVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CloneVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVM_Task) (*types.CloneVM_TaskResponse, error) {
+ var reqBody, resBody CloneVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CloneVStorageObject_TaskBody struct {
+ Req *types.CloneVStorageObject_Task `xml:"urn:vim25 CloneVStorageObject_Task,omitempty"`
+ Res *types.CloneVStorageObject_TaskResponse `xml:"urn:vim25 CloneVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CloneVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CloneVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVStorageObject_Task) (*types.CloneVStorageObject_TaskResponse, error) {
+ var reqBody, resBody CloneVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CloseInventoryViewFolderBody struct {
+ Req *types.CloseInventoryViewFolder `xml:"urn:vim25 CloseInventoryViewFolder,omitempty"`
+ Res *types.CloseInventoryViewFolderResponse `xml:"urn:vim25 CloseInventoryViewFolderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CloseInventoryViewFolderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CloseInventoryViewFolder(ctx context.Context, r soap.RoundTripper, req *types.CloseInventoryViewFolder) (*types.CloseInventoryViewFolderResponse, error) {
+ var reqBody, resBody CloseInventoryViewFolderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ClusterEnterMaintenanceModeBody struct {
+ Req *types.ClusterEnterMaintenanceMode `xml:"urn:vim25 ClusterEnterMaintenanceMode,omitempty"`
+ Res *types.ClusterEnterMaintenanceModeResponse `xml:"urn:vim25 ClusterEnterMaintenanceModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ClusterEnterMaintenanceModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ClusterEnterMaintenanceMode(ctx context.Context, r soap.RoundTripper, req *types.ClusterEnterMaintenanceMode) (*types.ClusterEnterMaintenanceModeResponse, error) {
+ var reqBody, resBody ClusterEnterMaintenanceModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ComputeDiskPartitionInfoBody struct {
+ Req *types.ComputeDiskPartitionInfo `xml:"urn:vim25 ComputeDiskPartitionInfo,omitempty"`
+ Res *types.ComputeDiskPartitionInfoResponse `xml:"urn:vim25 ComputeDiskPartitionInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ComputeDiskPartitionInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ComputeDiskPartitionInfo(ctx context.Context, r soap.RoundTripper, req *types.ComputeDiskPartitionInfo) (*types.ComputeDiskPartitionInfoResponse, error) {
+ var reqBody, resBody ComputeDiskPartitionInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ComputeDiskPartitionInfoForResizeBody struct {
+ Req *types.ComputeDiskPartitionInfoForResize `xml:"urn:vim25 ComputeDiskPartitionInfoForResize,omitempty"`
+ Res *types.ComputeDiskPartitionInfoForResizeResponse `xml:"urn:vim25 ComputeDiskPartitionInfoForResizeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ComputeDiskPartitionInfoForResizeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ComputeDiskPartitionInfoForResize(ctx context.Context, r soap.RoundTripper, req *types.ComputeDiskPartitionInfoForResize) (*types.ComputeDiskPartitionInfoForResizeResponse, error) {
+ var reqBody, resBody ComputeDiskPartitionInfoForResizeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureCryptoKeyBody struct {
+ Req *types.ConfigureCryptoKey `xml:"urn:vim25 ConfigureCryptoKey,omitempty"`
+ Res *types.ConfigureCryptoKeyResponse `xml:"urn:vim25 ConfigureCryptoKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureCryptoKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureCryptoKey(ctx context.Context, r soap.RoundTripper, req *types.ConfigureCryptoKey) (*types.ConfigureCryptoKeyResponse, error) {
+ var reqBody, resBody ConfigureCryptoKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureDatastoreIORM_TaskBody struct {
+ Req *types.ConfigureDatastoreIORM_Task `xml:"urn:vim25 ConfigureDatastoreIORM_Task,omitempty"`
+ Res *types.ConfigureDatastoreIORM_TaskResponse `xml:"urn:vim25 ConfigureDatastoreIORM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureDatastoreIORM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureDatastoreIORM_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureDatastoreIORM_Task) (*types.ConfigureDatastoreIORM_TaskResponse, error) {
+ var reqBody, resBody ConfigureDatastoreIORM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureDatastorePrincipalBody struct {
+ Req *types.ConfigureDatastorePrincipal `xml:"urn:vim25 ConfigureDatastorePrincipal,omitempty"`
+ Res *types.ConfigureDatastorePrincipalResponse `xml:"urn:vim25 ConfigureDatastorePrincipalResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureDatastorePrincipalBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureDatastorePrincipal(ctx context.Context, r soap.RoundTripper, req *types.ConfigureDatastorePrincipal) (*types.ConfigureDatastorePrincipalResponse, error) {
+ var reqBody, resBody ConfigureDatastorePrincipalBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureEvcMode_TaskBody struct {
+ Req *types.ConfigureEvcMode_Task `xml:"urn:vim25 ConfigureEvcMode_Task,omitempty"`
+ Res *types.ConfigureEvcMode_TaskResponse `xml:"urn:vim25 ConfigureEvcMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureEvcMode_Task) (*types.ConfigureEvcMode_TaskResponse, error) {
+ var reqBody, resBody ConfigureEvcMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureHostCache_TaskBody struct {
+ Req *types.ConfigureHostCache_Task `xml:"urn:vim25 ConfigureHostCache_Task,omitempty"`
+ Res *types.ConfigureHostCache_TaskResponse `xml:"urn:vim25 ConfigureHostCache_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureHostCache_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureHostCache_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureHostCache_Task) (*types.ConfigureHostCache_TaskResponse, error) {
+ var reqBody, resBody ConfigureHostCache_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureLicenseSourceBody struct {
+ Req *types.ConfigureLicenseSource `xml:"urn:vim25 ConfigureLicenseSource,omitempty"`
+ Res *types.ConfigureLicenseSourceResponse `xml:"urn:vim25 ConfigureLicenseSourceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureLicenseSourceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureLicenseSource(ctx context.Context, r soap.RoundTripper, req *types.ConfigureLicenseSource) (*types.ConfigureLicenseSourceResponse, error) {
+ var reqBody, resBody ConfigureLicenseSourceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigurePowerPolicyBody struct {
+ Req *types.ConfigurePowerPolicy `xml:"urn:vim25 ConfigurePowerPolicy,omitempty"`
+ Res *types.ConfigurePowerPolicyResponse `xml:"urn:vim25 ConfigurePowerPolicyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigurePowerPolicyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigurePowerPolicy(ctx context.Context, r soap.RoundTripper, req *types.ConfigurePowerPolicy) (*types.ConfigurePowerPolicyResponse, error) {
+ var reqBody, resBody ConfigurePowerPolicyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureStorageDrsForPod_TaskBody struct {
+ Req *types.ConfigureStorageDrsForPod_Task `xml:"urn:vim25 ConfigureStorageDrsForPod_Task,omitempty"`
+ Res *types.ConfigureStorageDrsForPod_TaskResponse `xml:"urn:vim25 ConfigureStorageDrsForPod_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureStorageDrsForPod_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureStorageDrsForPod_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureStorageDrsForPod_Task) (*types.ConfigureStorageDrsForPod_TaskResponse, error) {
+ var reqBody, resBody ConfigureStorageDrsForPod_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConfigureVFlashResourceEx_TaskBody struct {
+ Req *types.ConfigureVFlashResourceEx_Task `xml:"urn:vim25 ConfigureVFlashResourceEx_Task,omitempty"`
+ Res *types.ConfigureVFlashResourceEx_TaskResponse `xml:"urn:vim25 ConfigureVFlashResourceEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConfigureVFlashResourceEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConfigureVFlashResourceEx_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureVFlashResourceEx_Task) (*types.ConfigureVFlashResourceEx_TaskResponse, error) {
+ var reqBody, resBody ConfigureVFlashResourceEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConsolidateVMDisks_TaskBody struct {
+ Req *types.ConsolidateVMDisks_Task `xml:"urn:vim25 ConsolidateVMDisks_Task,omitempty"`
+ Res *types.ConsolidateVMDisks_TaskResponse `xml:"urn:vim25 ConsolidateVMDisks_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConsolidateVMDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConsolidateVMDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.ConsolidateVMDisks_Task) (*types.ConsolidateVMDisks_TaskResponse, error) {
+ var reqBody, resBody ConsolidateVMDisks_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ContinueRetrievePropertiesExBody struct {
+ Req *types.ContinueRetrievePropertiesEx `xml:"urn:vim25 ContinueRetrievePropertiesEx,omitempty"`
+ Res *types.ContinueRetrievePropertiesExResponse `xml:"urn:vim25 ContinueRetrievePropertiesExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ContinueRetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ContinueRetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.ContinueRetrievePropertiesEx) (*types.ContinueRetrievePropertiesExResponse, error) {
+ var reqBody, resBody ContinueRetrievePropertiesExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ConvertNamespacePathToUuidPathBody struct {
+ Req *types.ConvertNamespacePathToUuidPath `xml:"urn:vim25 ConvertNamespacePathToUuidPath,omitempty"`
+ Res *types.ConvertNamespacePathToUuidPathResponse `xml:"urn:vim25 ConvertNamespacePathToUuidPathResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ConvertNamespacePathToUuidPathBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ConvertNamespacePathToUuidPath(ctx context.Context, r soap.RoundTripper, req *types.ConvertNamespacePathToUuidPath) (*types.ConvertNamespacePathToUuidPathResponse, error) {
+ var reqBody, resBody ConvertNamespacePathToUuidPathBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CopyDatastoreFile_TaskBody struct {
+ Req *types.CopyDatastoreFile_Task `xml:"urn:vim25 CopyDatastoreFile_Task,omitempty"`
+ Res *types.CopyDatastoreFile_TaskResponse `xml:"urn:vim25 CopyDatastoreFile_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CopyDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CopyDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.CopyDatastoreFile_Task) (*types.CopyDatastoreFile_TaskResponse, error) {
+ var reqBody, resBody CopyDatastoreFile_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CopyVirtualDisk_TaskBody struct {
+ Req *types.CopyVirtualDisk_Task `xml:"urn:vim25 CopyVirtualDisk_Task,omitempty"`
+ Res *types.CopyVirtualDisk_TaskResponse `xml:"urn:vim25 CopyVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CopyVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CopyVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CopyVirtualDisk_Task) (*types.CopyVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody CopyVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateAlarmBody struct {
+ Req *types.CreateAlarm `xml:"urn:vim25 CreateAlarm,omitempty"`
+ Res *types.CreateAlarmResponse `xml:"urn:vim25 CreateAlarmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateAlarmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateAlarm(ctx context.Context, r soap.RoundTripper, req *types.CreateAlarm) (*types.CreateAlarmResponse, error) {
+ var reqBody, resBody CreateAlarmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateChildVM_TaskBody struct {
+ Req *types.CreateChildVM_Task `xml:"urn:vim25 CreateChildVM_Task,omitempty"`
+ Res *types.CreateChildVM_TaskResponse `xml:"urn:vim25 CreateChildVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateChildVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateChildVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateChildVM_Task) (*types.CreateChildVM_TaskResponse, error) {
+ var reqBody, resBody CreateChildVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateClusterBody struct {
+ Req *types.CreateCluster `xml:"urn:vim25 CreateCluster,omitempty"`
+ Res *types.CreateClusterResponse `xml:"urn:vim25 CreateClusterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateClusterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateCluster(ctx context.Context, r soap.RoundTripper, req *types.CreateCluster) (*types.CreateClusterResponse, error) {
+ var reqBody, resBody CreateClusterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateClusterExBody struct {
+ Req *types.CreateClusterEx `xml:"urn:vim25 CreateClusterEx,omitempty"`
+ Res *types.CreateClusterExResponse `xml:"urn:vim25 CreateClusterExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateClusterExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateClusterEx(ctx context.Context, r soap.RoundTripper, req *types.CreateClusterEx) (*types.CreateClusterExResponse, error) {
+ var reqBody, resBody CreateClusterExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateCollectorForEventsBody struct {
+ Req *types.CreateCollectorForEvents `xml:"urn:vim25 CreateCollectorForEvents,omitempty"`
+ Res *types.CreateCollectorForEventsResponse `xml:"urn:vim25 CreateCollectorForEventsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateCollectorForEventsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateCollectorForEvents(ctx context.Context, r soap.RoundTripper, req *types.CreateCollectorForEvents) (*types.CreateCollectorForEventsResponse, error) {
+ var reqBody, resBody CreateCollectorForEventsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateCollectorForTasksBody struct {
+ Req *types.CreateCollectorForTasks `xml:"urn:vim25 CreateCollectorForTasks,omitempty"`
+ Res *types.CreateCollectorForTasksResponse `xml:"urn:vim25 CreateCollectorForTasksResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateCollectorForTasksBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateCollectorForTasks(ctx context.Context, r soap.RoundTripper, req *types.CreateCollectorForTasks) (*types.CreateCollectorForTasksResponse, error) {
+ var reqBody, resBody CreateCollectorForTasksBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateContainerViewBody struct {
+ Req *types.CreateContainerView `xml:"urn:vim25 CreateContainerView,omitempty"`
+ Res *types.CreateContainerViewResponse `xml:"urn:vim25 CreateContainerViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateContainerViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateContainerView(ctx context.Context, r soap.RoundTripper, req *types.CreateContainerView) (*types.CreateContainerViewResponse, error) {
+ var reqBody, resBody CreateContainerViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateCustomizationSpecBody struct {
+ Req *types.CreateCustomizationSpec `xml:"urn:vim25 CreateCustomizationSpec,omitempty"`
+ Res *types.CreateCustomizationSpecResponse `xml:"urn:vim25 CreateCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.CreateCustomizationSpec) (*types.CreateCustomizationSpecResponse, error) {
+ var reqBody, resBody CreateCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDVPortgroup_TaskBody struct {
+ Req *types.CreateDVPortgroup_Task `xml:"urn:vim25 CreateDVPortgroup_Task,omitempty"`
+ Res *types.CreateDVPortgroup_TaskResponse `xml:"urn:vim25 CreateDVPortgroup_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDVPortgroup_Task) (*types.CreateDVPortgroup_TaskResponse, error) {
+ var reqBody, resBody CreateDVPortgroup_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDVS_TaskBody struct {
+ Req *types.CreateDVS_Task `xml:"urn:vim25 CreateDVS_Task,omitempty"`
+ Res *types.CreateDVS_TaskResponse `xml:"urn:vim25 CreateDVS_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDVS_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDVS_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDVS_Task) (*types.CreateDVS_TaskResponse, error) {
+ var reqBody, resBody CreateDVS_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDatacenterBody struct {
+ Req *types.CreateDatacenter `xml:"urn:vim25 CreateDatacenter,omitempty"`
+ Res *types.CreateDatacenterResponse `xml:"urn:vim25 CreateDatacenterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDatacenterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDatacenter(ctx context.Context, r soap.RoundTripper, req *types.CreateDatacenter) (*types.CreateDatacenterResponse, error) {
+ var reqBody, resBody CreateDatacenterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDefaultProfileBody struct {
+ Req *types.CreateDefaultProfile `xml:"urn:vim25 CreateDefaultProfile,omitempty"`
+ Res *types.CreateDefaultProfileResponse `xml:"urn:vim25 CreateDefaultProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDefaultProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDefaultProfile(ctx context.Context, r soap.RoundTripper, req *types.CreateDefaultProfile) (*types.CreateDefaultProfileResponse, error) {
+ var reqBody, resBody CreateDefaultProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDescriptorBody struct {
+ Req *types.CreateDescriptor `xml:"urn:vim25 CreateDescriptor,omitempty"`
+ Res *types.CreateDescriptorResponse `xml:"urn:vim25 CreateDescriptorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDescriptorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDescriptor(ctx context.Context, r soap.RoundTripper, req *types.CreateDescriptor) (*types.CreateDescriptorResponse, error) {
+ var reqBody, resBody CreateDescriptorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDiagnosticPartitionBody struct {
+ Req *types.CreateDiagnosticPartition `xml:"urn:vim25 CreateDiagnosticPartition,omitempty"`
+ Res *types.CreateDiagnosticPartitionResponse `xml:"urn:vim25 CreateDiagnosticPartitionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDiagnosticPartitionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDiagnosticPartition(ctx context.Context, r soap.RoundTripper, req *types.CreateDiagnosticPartition) (*types.CreateDiagnosticPartitionResponse, error) {
+ var reqBody, resBody CreateDiagnosticPartitionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDirectoryBody struct {
+ Req *types.CreateDirectory `xml:"urn:vim25 CreateDirectory,omitempty"`
+ Res *types.CreateDirectoryResponse `xml:"urn:vim25 CreateDirectoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDirectoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDirectory(ctx context.Context, r soap.RoundTripper, req *types.CreateDirectory) (*types.CreateDirectoryResponse, error) {
+ var reqBody, resBody CreateDirectoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateDisk_TaskBody struct {
+ Req *types.CreateDisk_Task `xml:"urn:vim25 CreateDisk_Task,omitempty"`
+ Res *types.CreateDisk_TaskResponse `xml:"urn:vim25 CreateDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDisk_Task) (*types.CreateDisk_TaskResponse, error) {
+ var reqBody, resBody CreateDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateFilterBody struct {
+ Req *types.CreateFilter `xml:"urn:vim25 CreateFilter,omitempty"`
+ Res *types.CreateFilterResponse `xml:"urn:vim25 CreateFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateFilter(ctx context.Context, r soap.RoundTripper, req *types.CreateFilter) (*types.CreateFilterResponse, error) {
+ var reqBody, resBody CreateFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateFolderBody struct {
+ Req *types.CreateFolder `xml:"urn:vim25 CreateFolder,omitempty"`
+ Res *types.CreateFolderResponse `xml:"urn:vim25 CreateFolderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateFolderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateFolder(ctx context.Context, r soap.RoundTripper, req *types.CreateFolder) (*types.CreateFolderResponse, error) {
+ var reqBody, resBody CreateFolderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateGroupBody struct {
+ Req *types.CreateGroup `xml:"urn:vim25 CreateGroup,omitempty"`
+ Res *types.CreateGroupResponse `xml:"urn:vim25 CreateGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateGroup(ctx context.Context, r soap.RoundTripper, req *types.CreateGroup) (*types.CreateGroupResponse, error) {
+ var reqBody, resBody CreateGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateImportSpecBody struct {
+ Req *types.CreateImportSpec `xml:"urn:vim25 CreateImportSpec,omitempty"`
+ Res *types.CreateImportSpecResponse `xml:"urn:vim25 CreateImportSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateImportSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateImportSpec(ctx context.Context, r soap.RoundTripper, req *types.CreateImportSpec) (*types.CreateImportSpecResponse, error) {
+ var reqBody, resBody CreateImportSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateInventoryViewBody struct {
+ Req *types.CreateInventoryView `xml:"urn:vim25 CreateInventoryView,omitempty"`
+ Res *types.CreateInventoryViewResponse `xml:"urn:vim25 CreateInventoryViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateInventoryViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateInventoryView(ctx context.Context, r soap.RoundTripper, req *types.CreateInventoryView) (*types.CreateInventoryViewResponse, error) {
+ var reqBody, resBody CreateInventoryViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateIpPoolBody struct {
+ Req *types.CreateIpPool `xml:"urn:vim25 CreateIpPool,omitempty"`
+ Res *types.CreateIpPoolResponse `xml:"urn:vim25 CreateIpPoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateIpPoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateIpPool(ctx context.Context, r soap.RoundTripper, req *types.CreateIpPool) (*types.CreateIpPoolResponse, error) {
+ var reqBody, resBody CreateIpPoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateListViewBody struct {
+ Req *types.CreateListView `xml:"urn:vim25 CreateListView,omitempty"`
+ Res *types.CreateListViewResponse `xml:"urn:vim25 CreateListViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateListViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateListView(ctx context.Context, r soap.RoundTripper, req *types.CreateListView) (*types.CreateListViewResponse, error) {
+ var reqBody, resBody CreateListViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateListViewFromViewBody struct {
+ Req *types.CreateListViewFromView `xml:"urn:vim25 CreateListViewFromView,omitempty"`
+ Res *types.CreateListViewFromViewResponse `xml:"urn:vim25 CreateListViewFromViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateListViewFromViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateListViewFromView(ctx context.Context, r soap.RoundTripper, req *types.CreateListViewFromView) (*types.CreateListViewFromViewResponse, error) {
+ var reqBody, resBody CreateListViewFromViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateLocalDatastoreBody struct {
+ Req *types.CreateLocalDatastore `xml:"urn:vim25 CreateLocalDatastore,omitempty"`
+ Res *types.CreateLocalDatastoreResponse `xml:"urn:vim25 CreateLocalDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateLocalDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateLocalDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateLocalDatastore) (*types.CreateLocalDatastoreResponse, error) {
+ var reqBody, resBody CreateLocalDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateNasDatastoreBody struct {
+ Req *types.CreateNasDatastore `xml:"urn:vim25 CreateNasDatastore,omitempty"`
+ Res *types.CreateNasDatastoreResponse `xml:"urn:vim25 CreateNasDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateNasDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateNasDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateNasDatastore) (*types.CreateNasDatastoreResponse, error) {
+ var reqBody, resBody CreateNasDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateObjectScheduledTaskBody struct {
+ Req *types.CreateObjectScheduledTask `xml:"urn:vim25 CreateObjectScheduledTask,omitempty"`
+ Res *types.CreateObjectScheduledTaskResponse `xml:"urn:vim25 CreateObjectScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateObjectScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateObjectScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.CreateObjectScheduledTask) (*types.CreateObjectScheduledTaskResponse, error) {
+ var reqBody, resBody CreateObjectScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreatePerfIntervalBody struct {
+ Req *types.CreatePerfInterval `xml:"urn:vim25 CreatePerfInterval,omitempty"`
+ Res *types.CreatePerfIntervalResponse `xml:"urn:vim25 CreatePerfIntervalResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreatePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreatePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.CreatePerfInterval) (*types.CreatePerfIntervalResponse, error) {
+ var reqBody, resBody CreatePerfIntervalBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateProfileBody struct {
+ Req *types.CreateProfile `xml:"urn:vim25 CreateProfile,omitempty"`
+ Res *types.CreateProfileResponse `xml:"urn:vim25 CreateProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateProfile(ctx context.Context, r soap.RoundTripper, req *types.CreateProfile) (*types.CreateProfileResponse, error) {
+ var reqBody, resBody CreateProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreatePropertyCollectorBody struct {
+ Req *types.CreatePropertyCollector `xml:"urn:vim25 CreatePropertyCollector,omitempty"`
+ Res *types.CreatePropertyCollectorResponse `xml:"urn:vim25 CreatePropertyCollectorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreatePropertyCollectorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreatePropertyCollector(ctx context.Context, r soap.RoundTripper, req *types.CreatePropertyCollector) (*types.CreatePropertyCollectorResponse, error) {
+ var reqBody, resBody CreatePropertyCollectorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateRegistryKeyInGuestBody struct {
+ Req *types.CreateRegistryKeyInGuest `xml:"urn:vim25 CreateRegistryKeyInGuest,omitempty"`
+ Res *types.CreateRegistryKeyInGuestResponse `xml:"urn:vim25 CreateRegistryKeyInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateRegistryKeyInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateRegistryKeyInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateRegistryKeyInGuest) (*types.CreateRegistryKeyInGuestResponse, error) {
+ var reqBody, resBody CreateRegistryKeyInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateResourcePoolBody struct {
+ Req *types.CreateResourcePool `xml:"urn:vim25 CreateResourcePool,omitempty"`
+ Res *types.CreateResourcePoolResponse `xml:"urn:vim25 CreateResourcePoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateResourcePoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateResourcePool(ctx context.Context, r soap.RoundTripper, req *types.CreateResourcePool) (*types.CreateResourcePoolResponse, error) {
+ var reqBody, resBody CreateResourcePoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateScheduledTaskBody struct {
+ Req *types.CreateScheduledTask `xml:"urn:vim25 CreateScheduledTask,omitempty"`
+ Res *types.CreateScheduledTaskResponse `xml:"urn:vim25 CreateScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.CreateScheduledTask) (*types.CreateScheduledTaskResponse, error) {
+ var reqBody, resBody CreateScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateScreenshot_TaskBody struct {
+ Req *types.CreateScreenshot_Task `xml:"urn:vim25 CreateScreenshot_Task,omitempty"`
+ Res *types.CreateScreenshot_TaskResponse `xml:"urn:vim25 CreateScreenshot_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateScreenshot_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateScreenshot_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateScreenshot_Task) (*types.CreateScreenshot_TaskResponse, error) {
+ var reqBody, resBody CreateScreenshot_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateSecondaryVMEx_TaskBody struct {
+ Req *types.CreateSecondaryVMEx_Task `xml:"urn:vim25 CreateSecondaryVMEx_Task,omitempty"`
+ Res *types.CreateSecondaryVMEx_TaskResponse `xml:"urn:vim25 CreateSecondaryVMEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateSecondaryVMEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateSecondaryVMEx_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSecondaryVMEx_Task) (*types.CreateSecondaryVMEx_TaskResponse, error) {
+ var reqBody, resBody CreateSecondaryVMEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateSecondaryVM_TaskBody struct {
+ Req *types.CreateSecondaryVM_Task `xml:"urn:vim25 CreateSecondaryVM_Task,omitempty"`
+ Res *types.CreateSecondaryVM_TaskResponse `xml:"urn:vim25 CreateSecondaryVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSecondaryVM_Task) (*types.CreateSecondaryVM_TaskResponse, error) {
+ var reqBody, resBody CreateSecondaryVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateSnapshotEx_TaskBody struct {
+ Req *types.CreateSnapshotEx_Task `xml:"urn:vim25 CreateSnapshotEx_Task,omitempty"`
+ Res *types.CreateSnapshotEx_TaskResponse `xml:"urn:vim25 CreateSnapshotEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateSnapshotEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateSnapshotEx_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSnapshotEx_Task) (*types.CreateSnapshotEx_TaskResponse, error) {
+ var reqBody, resBody CreateSnapshotEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateSnapshot_TaskBody struct {
+ Req *types.CreateSnapshot_Task `xml:"urn:vim25 CreateSnapshot_Task,omitempty"`
+ Res *types.CreateSnapshot_TaskResponse `xml:"urn:vim25 CreateSnapshot_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSnapshot_Task) (*types.CreateSnapshot_TaskResponse, error) {
+ var reqBody, resBody CreateSnapshot_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateStoragePodBody struct {
+ Req *types.CreateStoragePod `xml:"urn:vim25 CreateStoragePod,omitempty"`
+ Res *types.CreateStoragePodResponse `xml:"urn:vim25 CreateStoragePodResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateStoragePodBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateStoragePod(ctx context.Context, r soap.RoundTripper, req *types.CreateStoragePod) (*types.CreateStoragePodResponse, error) {
+ var reqBody, resBody CreateStoragePodBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateTaskBody struct {
+ Req *types.CreateTask `xml:"urn:vim25 CreateTask,omitempty"`
+ Res *types.CreateTaskResponse `xml:"urn:vim25 CreateTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateTask(ctx context.Context, r soap.RoundTripper, req *types.CreateTask) (*types.CreateTaskResponse, error) {
+ var reqBody, resBody CreateTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateTemporaryDirectoryInGuestBody struct {
+ Req *types.CreateTemporaryDirectoryInGuest `xml:"urn:vim25 CreateTemporaryDirectoryInGuest,omitempty"`
+ Res *types.CreateTemporaryDirectoryInGuestResponse `xml:"urn:vim25 CreateTemporaryDirectoryInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateTemporaryDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateTemporaryDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateTemporaryDirectoryInGuest) (*types.CreateTemporaryDirectoryInGuestResponse, error) {
+ var reqBody, resBody CreateTemporaryDirectoryInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateTemporaryFileInGuestBody struct {
+ Req *types.CreateTemporaryFileInGuest `xml:"urn:vim25 CreateTemporaryFileInGuest,omitempty"`
+ Res *types.CreateTemporaryFileInGuestResponse `xml:"urn:vim25 CreateTemporaryFileInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateTemporaryFileInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateTemporaryFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateTemporaryFileInGuest) (*types.CreateTemporaryFileInGuestResponse, error) {
+ var reqBody, resBody CreateTemporaryFileInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateUserBody struct {
+ Req *types.CreateUser `xml:"urn:vim25 CreateUser,omitempty"`
+ Res *types.CreateUserResponse `xml:"urn:vim25 CreateUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateUser(ctx context.Context, r soap.RoundTripper, req *types.CreateUser) (*types.CreateUserResponse, error) {
+ var reqBody, resBody CreateUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateVAppBody struct {
+ Req *types.CreateVApp `xml:"urn:vim25 CreateVApp,omitempty"`
+ Res *types.CreateVAppResponse `xml:"urn:vim25 CreateVAppResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateVAppBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateVApp(ctx context.Context, r soap.RoundTripper, req *types.CreateVApp) (*types.CreateVAppResponse, error) {
+ var reqBody, resBody CreateVAppBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateVM_TaskBody struct {
+ Req *types.CreateVM_Task `xml:"urn:vim25 CreateVM_Task,omitempty"`
+ Res *types.CreateVM_TaskResponse `xml:"urn:vim25 CreateVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateVM_Task) (*types.CreateVM_TaskResponse, error) {
+ var reqBody, resBody CreateVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateVirtualDisk_TaskBody struct {
+ Req *types.CreateVirtualDisk_Task `xml:"urn:vim25 CreateVirtualDisk_Task,omitempty"`
+ Res *types.CreateVirtualDisk_TaskResponse `xml:"urn:vim25 CreateVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateVirtualDisk_Task) (*types.CreateVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody CreateVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateVmfsDatastoreBody struct {
+ Req *types.CreateVmfsDatastore `xml:"urn:vim25 CreateVmfsDatastore,omitempty"`
+ Res *types.CreateVmfsDatastoreResponse `xml:"urn:vim25 CreateVmfsDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateVmfsDatastore) (*types.CreateVmfsDatastoreResponse, error) {
+ var reqBody, resBody CreateVmfsDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CreateVvolDatastoreBody struct {
+ Req *types.CreateVvolDatastore `xml:"urn:vim25 CreateVvolDatastore,omitempty"`
+ Res *types.CreateVvolDatastoreResponse `xml:"urn:vim25 CreateVvolDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CreateVvolDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CreateVvolDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateVvolDatastore) (*types.CreateVvolDatastoreResponse, error) {
+ var reqBody, resBody CreateVvolDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CurrentTimeBody struct {
+ Req *types.CurrentTime `xml:"urn:vim25 CurrentTime,omitempty"`
+ Res *types.CurrentTimeResponse `xml:"urn:vim25 CurrentTimeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CurrentTimeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CurrentTime(ctx context.Context, r soap.RoundTripper, req *types.CurrentTime) (*types.CurrentTimeResponse, error) {
+ var reqBody, resBody CurrentTimeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CustomizationSpecItemToXmlBody struct {
+ Req *types.CustomizationSpecItemToXml `xml:"urn:vim25 CustomizationSpecItemToXml,omitempty"`
+ Res *types.CustomizationSpecItemToXmlResponse `xml:"urn:vim25 CustomizationSpecItemToXmlResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CustomizationSpecItemToXmlBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CustomizationSpecItemToXml(ctx context.Context, r soap.RoundTripper, req *types.CustomizationSpecItemToXml) (*types.CustomizationSpecItemToXmlResponse, error) {
+ var reqBody, resBody CustomizationSpecItemToXmlBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type CustomizeVM_TaskBody struct {
+ Req *types.CustomizeVM_Task `xml:"urn:vim25 CustomizeVM_Task,omitempty"`
+ Res *types.CustomizeVM_TaskResponse `xml:"urn:vim25 CustomizeVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *CustomizeVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func CustomizeVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CustomizeVM_Task) (*types.CustomizeVM_TaskResponse, error) {
+ var reqBody, resBody CustomizeVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DVPortgroupRollback_TaskBody struct {
+ Req *types.DVPortgroupRollback_Task `xml:"urn:vim25 DVPortgroupRollback_Task,omitempty"`
+ Res *types.DVPortgroupRollback_TaskResponse `xml:"urn:vim25 DVPortgroupRollback_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DVPortgroupRollback_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DVPortgroupRollback_Task(ctx context.Context, r soap.RoundTripper, req *types.DVPortgroupRollback_Task) (*types.DVPortgroupRollback_TaskResponse, error) {
+ var reqBody, resBody DVPortgroupRollback_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DVSManagerExportEntity_TaskBody struct {
+ Req *types.DVSManagerExportEntity_Task `xml:"urn:vim25 DVSManagerExportEntity_Task,omitempty"`
+ Res *types.DVSManagerExportEntity_TaskResponse `xml:"urn:vim25 DVSManagerExportEntity_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DVSManagerExportEntity_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DVSManagerExportEntity_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerExportEntity_Task) (*types.DVSManagerExportEntity_TaskResponse, error) {
+ var reqBody, resBody DVSManagerExportEntity_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DVSManagerImportEntity_TaskBody struct {
+ Req *types.DVSManagerImportEntity_Task `xml:"urn:vim25 DVSManagerImportEntity_Task,omitempty"`
+ Res *types.DVSManagerImportEntity_TaskResponse `xml:"urn:vim25 DVSManagerImportEntity_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DVSManagerImportEntity_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DVSManagerImportEntity_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerImportEntity_Task) (*types.DVSManagerImportEntity_TaskResponse, error) {
+ var reqBody, resBody DVSManagerImportEntity_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DVSManagerLookupDvPortGroupBody struct {
+ Req *types.DVSManagerLookupDvPortGroup `xml:"urn:vim25 DVSManagerLookupDvPortGroup,omitempty"`
+ Res *types.DVSManagerLookupDvPortGroupResponse `xml:"urn:vim25 DVSManagerLookupDvPortGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DVSManagerLookupDvPortGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DVSManagerLookupDvPortGroup(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerLookupDvPortGroup) (*types.DVSManagerLookupDvPortGroupResponse, error) {
+ var reqBody, resBody DVSManagerLookupDvPortGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DVSRollback_TaskBody struct {
+ Req *types.DVSRollback_Task `xml:"urn:vim25 DVSRollback_Task,omitempty"`
+ Res *types.DVSRollback_TaskResponse `xml:"urn:vim25 DVSRollback_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DVSRollback_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DVSRollback_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSRollback_Task) (*types.DVSRollback_TaskResponse, error) {
+ var reqBody, resBody DVSRollback_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DatastoreEnterMaintenanceModeBody struct {
+ Req *types.DatastoreEnterMaintenanceMode `xml:"urn:vim25 DatastoreEnterMaintenanceMode,omitempty"`
+ Res *types.DatastoreEnterMaintenanceModeResponse `xml:"urn:vim25 DatastoreEnterMaintenanceModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DatastoreEnterMaintenanceModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DatastoreEnterMaintenanceMode(ctx context.Context, r soap.RoundTripper, req *types.DatastoreEnterMaintenanceMode) (*types.DatastoreEnterMaintenanceModeResponse, error) {
+ var reqBody, resBody DatastoreEnterMaintenanceModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DatastoreExitMaintenanceMode_TaskBody struct {
+ Req *types.DatastoreExitMaintenanceMode_Task `xml:"urn:vim25 DatastoreExitMaintenanceMode_Task,omitempty"`
+ Res *types.DatastoreExitMaintenanceMode_TaskResponse `xml:"urn:vim25 DatastoreExitMaintenanceMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DatastoreExitMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DatastoreExitMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.DatastoreExitMaintenanceMode_Task) (*types.DatastoreExitMaintenanceMode_TaskResponse, error) {
+ var reqBody, resBody DatastoreExitMaintenanceMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DecodeLicenseBody struct {
+ Req *types.DecodeLicense `xml:"urn:vim25 DecodeLicense,omitempty"`
+ Res *types.DecodeLicenseResponse `xml:"urn:vim25 DecodeLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DecodeLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DecodeLicense(ctx context.Context, r soap.RoundTripper, req *types.DecodeLicense) (*types.DecodeLicenseResponse, error) {
+ var reqBody, resBody DecodeLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DefragmentAllDisksBody struct {
+ Req *types.DefragmentAllDisks `xml:"urn:vim25 DefragmentAllDisks,omitempty"`
+ Res *types.DefragmentAllDisksResponse `xml:"urn:vim25 DefragmentAllDisksResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DefragmentAllDisksBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DefragmentAllDisks(ctx context.Context, r soap.RoundTripper, req *types.DefragmentAllDisks) (*types.DefragmentAllDisksResponse, error) {
+ var reqBody, resBody DefragmentAllDisksBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DefragmentVirtualDisk_TaskBody struct {
+ Req *types.DefragmentVirtualDisk_Task `xml:"urn:vim25 DefragmentVirtualDisk_Task,omitempty"`
+ Res *types.DefragmentVirtualDisk_TaskResponse `xml:"urn:vim25 DefragmentVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DefragmentVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DefragmentVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DefragmentVirtualDisk_Task) (*types.DefragmentVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody DefragmentVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteCustomizationSpecBody struct {
+ Req *types.DeleteCustomizationSpec `xml:"urn:vim25 DeleteCustomizationSpec,omitempty"`
+ Res *types.DeleteCustomizationSpecResponse `xml:"urn:vim25 DeleteCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.DeleteCustomizationSpec) (*types.DeleteCustomizationSpecResponse, error) {
+ var reqBody, resBody DeleteCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteDatastoreFile_TaskBody struct {
+ Req *types.DeleteDatastoreFile_Task `xml:"urn:vim25 DeleteDatastoreFile_Task,omitempty"`
+ Res *types.DeleteDatastoreFile_TaskResponse `xml:"urn:vim25 DeleteDatastoreFile_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteDatastoreFile_Task) (*types.DeleteDatastoreFile_TaskResponse, error) {
+ var reqBody, resBody DeleteDatastoreFile_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteDirectoryBody struct {
+ Req *types.DeleteDirectory `xml:"urn:vim25 DeleteDirectory,omitempty"`
+ Res *types.DeleteDirectoryResponse `xml:"urn:vim25 DeleteDirectoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteDirectoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteDirectory(ctx context.Context, r soap.RoundTripper, req *types.DeleteDirectory) (*types.DeleteDirectoryResponse, error) {
+ var reqBody, resBody DeleteDirectoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteDirectoryInGuestBody struct {
+ Req *types.DeleteDirectoryInGuest `xml:"urn:vim25 DeleteDirectoryInGuest,omitempty"`
+ Res *types.DeleteDirectoryInGuestResponse `xml:"urn:vim25 DeleteDirectoryInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteDirectoryInGuest) (*types.DeleteDirectoryInGuestResponse, error) {
+ var reqBody, resBody DeleteDirectoryInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteFileBody struct {
+ Req *types.DeleteFile `xml:"urn:vim25 DeleteFile,omitempty"`
+ Res *types.DeleteFileResponse `xml:"urn:vim25 DeleteFileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteFileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteFile(ctx context.Context, r soap.RoundTripper, req *types.DeleteFile) (*types.DeleteFileResponse, error) {
+ var reqBody, resBody DeleteFileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteFileInGuestBody struct {
+ Req *types.DeleteFileInGuest `xml:"urn:vim25 DeleteFileInGuest,omitempty"`
+ Res *types.DeleteFileInGuestResponse `xml:"urn:vim25 DeleteFileInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteFileInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteFileInGuest) (*types.DeleteFileInGuestResponse, error) {
+ var reqBody, resBody DeleteFileInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteHostSpecificationBody struct {
+ Req *types.DeleteHostSpecification `xml:"urn:vim25 DeleteHostSpecification,omitempty"`
+ Res *types.DeleteHostSpecificationResponse `xml:"urn:vim25 DeleteHostSpecificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.DeleteHostSpecification) (*types.DeleteHostSpecificationResponse, error) {
+ var reqBody, resBody DeleteHostSpecificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteHostSubSpecificationBody struct {
+ Req *types.DeleteHostSubSpecification `xml:"urn:vim25 DeleteHostSubSpecification,omitempty"`
+ Res *types.DeleteHostSubSpecificationResponse `xml:"urn:vim25 DeleteHostSubSpecificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteHostSubSpecificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteHostSubSpecification(ctx context.Context, r soap.RoundTripper, req *types.DeleteHostSubSpecification) (*types.DeleteHostSubSpecificationResponse, error) {
+ var reqBody, resBody DeleteHostSubSpecificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteRegistryKeyInGuestBody struct {
+ Req *types.DeleteRegistryKeyInGuest `xml:"urn:vim25 DeleteRegistryKeyInGuest,omitempty"`
+ Res *types.DeleteRegistryKeyInGuestResponse `xml:"urn:vim25 DeleteRegistryKeyInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteRegistryKeyInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteRegistryKeyInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteRegistryKeyInGuest) (*types.DeleteRegistryKeyInGuestResponse, error) {
+ var reqBody, resBody DeleteRegistryKeyInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteRegistryValueInGuestBody struct {
+ Req *types.DeleteRegistryValueInGuest `xml:"urn:vim25 DeleteRegistryValueInGuest,omitempty"`
+ Res *types.DeleteRegistryValueInGuestResponse `xml:"urn:vim25 DeleteRegistryValueInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteRegistryValueInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteRegistryValueInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteRegistryValueInGuest) (*types.DeleteRegistryValueInGuestResponse, error) {
+ var reqBody, resBody DeleteRegistryValueInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteScsiLunStateBody struct {
+ Req *types.DeleteScsiLunState `xml:"urn:vim25 DeleteScsiLunState,omitempty"`
+ Res *types.DeleteScsiLunStateResponse `xml:"urn:vim25 DeleteScsiLunStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteScsiLunStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteScsiLunState(ctx context.Context, r soap.RoundTripper, req *types.DeleteScsiLunState) (*types.DeleteScsiLunStateResponse, error) {
+ var reqBody, resBody DeleteScsiLunStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteVStorageObject_TaskBody struct {
+ Req *types.DeleteVStorageObject_Task `xml:"urn:vim25 DeleteVStorageObject_Task,omitempty"`
+ Res *types.DeleteVStorageObject_TaskResponse `xml:"urn:vim25 DeleteVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteVStorageObject_Task) (*types.DeleteVStorageObject_TaskResponse, error) {
+ var reqBody, resBody DeleteVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteVffsVolumeStateBody struct {
+ Req *types.DeleteVffsVolumeState `xml:"urn:vim25 DeleteVffsVolumeState,omitempty"`
+ Res *types.DeleteVffsVolumeStateResponse `xml:"urn:vim25 DeleteVffsVolumeStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteVffsVolumeStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteVffsVolumeState(ctx context.Context, r soap.RoundTripper, req *types.DeleteVffsVolumeState) (*types.DeleteVffsVolumeStateResponse, error) {
+ var reqBody, resBody DeleteVffsVolumeStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteVirtualDisk_TaskBody struct {
+ Req *types.DeleteVirtualDisk_Task `xml:"urn:vim25 DeleteVirtualDisk_Task,omitempty"`
+ Res *types.DeleteVirtualDisk_TaskResponse `xml:"urn:vim25 DeleteVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteVirtualDisk_Task) (*types.DeleteVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody DeleteVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteVmfsVolumeStateBody struct {
+ Req *types.DeleteVmfsVolumeState `xml:"urn:vim25 DeleteVmfsVolumeState,omitempty"`
+ Res *types.DeleteVmfsVolumeStateResponse `xml:"urn:vim25 DeleteVmfsVolumeStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteVmfsVolumeStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteVmfsVolumeState(ctx context.Context, r soap.RoundTripper, req *types.DeleteVmfsVolumeState) (*types.DeleteVmfsVolumeStateResponse, error) {
+ var reqBody, resBody DeleteVmfsVolumeStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeleteVsanObjectsBody struct {
+ Req *types.DeleteVsanObjects `xml:"urn:vim25 DeleteVsanObjects,omitempty"`
+ Res *types.DeleteVsanObjectsResponse `xml:"urn:vim25 DeleteVsanObjectsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeleteVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeleteVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.DeleteVsanObjects) (*types.DeleteVsanObjectsResponse, error) {
+ var reqBody, resBody DeleteVsanObjectsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeselectVnicBody struct {
+ Req *types.DeselectVnic `xml:"urn:vim25 DeselectVnic,omitempty"`
+ Res *types.DeselectVnicResponse `xml:"urn:vim25 DeselectVnicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeselectVnicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeselectVnic(ctx context.Context, r soap.RoundTripper, req *types.DeselectVnic) (*types.DeselectVnicResponse, error) {
+ var reqBody, resBody DeselectVnicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DeselectVnicForNicTypeBody struct {
+ Req *types.DeselectVnicForNicType `xml:"urn:vim25 DeselectVnicForNicType,omitempty"`
+ Res *types.DeselectVnicForNicTypeResponse `xml:"urn:vim25 DeselectVnicForNicTypeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DeselectVnicForNicTypeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DeselectVnicForNicType(ctx context.Context, r soap.RoundTripper, req *types.DeselectVnicForNicType) (*types.DeselectVnicForNicTypeResponse, error) {
+ var reqBody, resBody DeselectVnicForNicTypeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyChildrenBody struct {
+ Req *types.DestroyChildren `xml:"urn:vim25 DestroyChildren,omitempty"`
+ Res *types.DestroyChildrenResponse `xml:"urn:vim25 DestroyChildrenResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyChildrenBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyChildren(ctx context.Context, r soap.RoundTripper, req *types.DestroyChildren) (*types.DestroyChildrenResponse, error) {
+ var reqBody, resBody DestroyChildrenBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyCollectorBody struct {
+ Req *types.DestroyCollector `xml:"urn:vim25 DestroyCollector,omitempty"`
+ Res *types.DestroyCollectorResponse `xml:"urn:vim25 DestroyCollectorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyCollectorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyCollector(ctx context.Context, r soap.RoundTripper, req *types.DestroyCollector) (*types.DestroyCollectorResponse, error) {
+ var reqBody, resBody DestroyCollectorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyDatastoreBody struct {
+ Req *types.DestroyDatastore `xml:"urn:vim25 DestroyDatastore,omitempty"`
+ Res *types.DestroyDatastoreResponse `xml:"urn:vim25 DestroyDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyDatastore(ctx context.Context, r soap.RoundTripper, req *types.DestroyDatastore) (*types.DestroyDatastoreResponse, error) {
+ var reqBody, resBody DestroyDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyIpPoolBody struct {
+ Req *types.DestroyIpPool `xml:"urn:vim25 DestroyIpPool,omitempty"`
+ Res *types.DestroyIpPoolResponse `xml:"urn:vim25 DestroyIpPoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyIpPoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyIpPool(ctx context.Context, r soap.RoundTripper, req *types.DestroyIpPool) (*types.DestroyIpPoolResponse, error) {
+ var reqBody, resBody DestroyIpPoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyNetworkBody struct {
+ Req *types.DestroyNetwork `xml:"urn:vim25 DestroyNetwork,omitempty"`
+ Res *types.DestroyNetworkResponse `xml:"urn:vim25 DestroyNetworkResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyNetworkBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyNetwork(ctx context.Context, r soap.RoundTripper, req *types.DestroyNetwork) (*types.DestroyNetworkResponse, error) {
+ var reqBody, resBody DestroyNetworkBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyProfileBody struct {
+ Req *types.DestroyProfile `xml:"urn:vim25 DestroyProfile,omitempty"`
+ Res *types.DestroyProfileResponse `xml:"urn:vim25 DestroyProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyProfile(ctx context.Context, r soap.RoundTripper, req *types.DestroyProfile) (*types.DestroyProfileResponse, error) {
+ var reqBody, resBody DestroyProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyPropertyCollectorBody struct {
+ Req *types.DestroyPropertyCollector `xml:"urn:vim25 DestroyPropertyCollector,omitempty"`
+ Res *types.DestroyPropertyCollectorResponse `xml:"urn:vim25 DestroyPropertyCollectorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyPropertyCollectorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyPropertyCollector(ctx context.Context, r soap.RoundTripper, req *types.DestroyPropertyCollector) (*types.DestroyPropertyCollectorResponse, error) {
+ var reqBody, resBody DestroyPropertyCollectorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyPropertyFilterBody struct {
+ Req *types.DestroyPropertyFilter `xml:"urn:vim25 DestroyPropertyFilter,omitempty"`
+ Res *types.DestroyPropertyFilterResponse `xml:"urn:vim25 DestroyPropertyFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyPropertyFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyPropertyFilter(ctx context.Context, r soap.RoundTripper, req *types.DestroyPropertyFilter) (*types.DestroyPropertyFilterResponse, error) {
+ var reqBody, resBody DestroyPropertyFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyVffsBody struct {
+ Req *types.DestroyVffs `xml:"urn:vim25 DestroyVffs,omitempty"`
+ Res *types.DestroyVffsResponse `xml:"urn:vim25 DestroyVffsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyVffsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyVffs(ctx context.Context, r soap.RoundTripper, req *types.DestroyVffs) (*types.DestroyVffsResponse, error) {
+ var reqBody, resBody DestroyVffsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DestroyViewBody struct {
+ Req *types.DestroyView `xml:"urn:vim25 DestroyView,omitempty"`
+ Res *types.DestroyViewResponse `xml:"urn:vim25 DestroyViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DestroyViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DestroyView(ctx context.Context, r soap.RoundTripper, req *types.DestroyView) (*types.DestroyViewResponse, error) {
+ var reqBody, resBody DestroyViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type Destroy_TaskBody struct {
+ Req *types.Destroy_Task `xml:"urn:vim25 Destroy_Task,omitempty"`
+ Res *types.Destroy_TaskResponse `xml:"urn:vim25 Destroy_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *Destroy_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Destroy_Task(ctx context.Context, r soap.RoundTripper, req *types.Destroy_Task) (*types.Destroy_TaskResponse, error) {
+ var reqBody, resBody Destroy_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DetachDisk_TaskBody struct {
+ Req *types.DetachDisk_Task `xml:"urn:vim25 DetachDisk_Task,omitempty"`
+ Res *types.DetachDisk_TaskResponse `xml:"urn:vim25 DetachDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DetachDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DetachDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DetachDisk_Task) (*types.DetachDisk_TaskResponse, error) {
+ var reqBody, resBody DetachDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DetachScsiLunBody struct {
+ Req *types.DetachScsiLun `xml:"urn:vim25 DetachScsiLun,omitempty"`
+ Res *types.DetachScsiLunResponse `xml:"urn:vim25 DetachScsiLunResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DetachScsiLunBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DetachScsiLun(ctx context.Context, r soap.RoundTripper, req *types.DetachScsiLun) (*types.DetachScsiLunResponse, error) {
+ var reqBody, resBody DetachScsiLunBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DetachScsiLunEx_TaskBody struct {
+ Req *types.DetachScsiLunEx_Task `xml:"urn:vim25 DetachScsiLunEx_Task,omitempty"`
+ Res *types.DetachScsiLunEx_TaskResponse `xml:"urn:vim25 DetachScsiLunEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DetachScsiLunEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DetachScsiLunEx_Task(ctx context.Context, r soap.RoundTripper, req *types.DetachScsiLunEx_Task) (*types.DetachScsiLunEx_TaskResponse, error) {
+ var reqBody, resBody DetachScsiLunEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DetachTagFromVStorageObjectBody struct {
+ Req *types.DetachTagFromVStorageObject `xml:"urn:vim25 DetachTagFromVStorageObject,omitempty"`
+ Res *types.DetachTagFromVStorageObjectResponse `xml:"urn:vim25 DetachTagFromVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DetachTagFromVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DetachTagFromVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.DetachTagFromVStorageObject) (*types.DetachTagFromVStorageObjectResponse, error) {
+ var reqBody, resBody DetachTagFromVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableEvcMode_TaskBody struct {
+ Req *types.DisableEvcMode_Task `xml:"urn:vim25 DisableEvcMode_Task,omitempty"`
+ Res *types.DisableEvcMode_TaskResponse `xml:"urn:vim25 DisableEvcMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.DisableEvcMode_Task) (*types.DisableEvcMode_TaskResponse, error) {
+ var reqBody, resBody DisableEvcMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableFeatureBody struct {
+ Req *types.DisableFeature `xml:"urn:vim25 DisableFeature,omitempty"`
+ Res *types.DisableFeatureResponse `xml:"urn:vim25 DisableFeatureResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableFeatureBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableFeature(ctx context.Context, r soap.RoundTripper, req *types.DisableFeature) (*types.DisableFeatureResponse, error) {
+ var reqBody, resBody DisableFeatureBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableHyperThreadingBody struct {
+ Req *types.DisableHyperThreading `xml:"urn:vim25 DisableHyperThreading,omitempty"`
+ Res *types.DisableHyperThreadingResponse `xml:"urn:vim25 DisableHyperThreadingResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableHyperThreadingBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableHyperThreading(ctx context.Context, r soap.RoundTripper, req *types.DisableHyperThreading) (*types.DisableHyperThreadingResponse, error) {
+ var reqBody, resBody DisableHyperThreadingBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableMultipathPathBody struct {
+ Req *types.DisableMultipathPath `xml:"urn:vim25 DisableMultipathPath,omitempty"`
+ Res *types.DisableMultipathPathResponse `xml:"urn:vim25 DisableMultipathPathResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableMultipathPathBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableMultipathPath(ctx context.Context, r soap.RoundTripper, req *types.DisableMultipathPath) (*types.DisableMultipathPathResponse, error) {
+ var reqBody, resBody DisableMultipathPathBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableRulesetBody struct {
+ Req *types.DisableRuleset `xml:"urn:vim25 DisableRuleset,omitempty"`
+ Res *types.DisableRulesetResponse `xml:"urn:vim25 DisableRulesetResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableRulesetBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableRuleset(ctx context.Context, r soap.RoundTripper, req *types.DisableRuleset) (*types.DisableRulesetResponse, error) {
+ var reqBody, resBody DisableRulesetBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableSecondaryVM_TaskBody struct {
+ Req *types.DisableSecondaryVM_Task `xml:"urn:vim25 DisableSecondaryVM_Task,omitempty"`
+ Res *types.DisableSecondaryVM_TaskResponse `xml:"urn:vim25 DisableSecondaryVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.DisableSecondaryVM_Task) (*types.DisableSecondaryVM_TaskResponse, error) {
+ var reqBody, resBody DisableSecondaryVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisableSmartCardAuthenticationBody struct {
+ Req *types.DisableSmartCardAuthentication `xml:"urn:vim25 DisableSmartCardAuthentication,omitempty"`
+ Res *types.DisableSmartCardAuthenticationResponse `xml:"urn:vim25 DisableSmartCardAuthenticationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisableSmartCardAuthenticationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisableSmartCardAuthentication(ctx context.Context, r soap.RoundTripper, req *types.DisableSmartCardAuthentication) (*types.DisableSmartCardAuthenticationResponse, error) {
+ var reqBody, resBody DisableSmartCardAuthenticationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DisconnectHost_TaskBody struct {
+ Req *types.DisconnectHost_Task `xml:"urn:vim25 DisconnectHost_Task,omitempty"`
+ Res *types.DisconnectHost_TaskResponse `xml:"urn:vim25 DisconnectHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DisconnectHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DisconnectHost_Task(ctx context.Context, r soap.RoundTripper, req *types.DisconnectHost_Task) (*types.DisconnectHost_TaskResponse, error) {
+ var reqBody, resBody DisconnectHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DiscoverFcoeHbasBody struct {
+ Req *types.DiscoverFcoeHbas `xml:"urn:vim25 DiscoverFcoeHbas,omitempty"`
+ Res *types.DiscoverFcoeHbasResponse `xml:"urn:vim25 DiscoverFcoeHbasResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DiscoverFcoeHbasBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DiscoverFcoeHbas(ctx context.Context, r soap.RoundTripper, req *types.DiscoverFcoeHbas) (*types.DiscoverFcoeHbasResponse, error) {
+ var reqBody, resBody DiscoverFcoeHbasBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DissociateProfileBody struct {
+ Req *types.DissociateProfile `xml:"urn:vim25 DissociateProfile,omitempty"`
+ Res *types.DissociateProfileResponse `xml:"urn:vim25 DissociateProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DissociateProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DissociateProfile(ctx context.Context, r soap.RoundTripper, req *types.DissociateProfile) (*types.DissociateProfileResponse, error) {
+ var reqBody, resBody DissociateProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DoesCustomizationSpecExistBody struct {
+ Req *types.DoesCustomizationSpecExist `xml:"urn:vim25 DoesCustomizationSpecExist,omitempty"`
+ Res *types.DoesCustomizationSpecExistResponse `xml:"urn:vim25 DoesCustomizationSpecExistResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DoesCustomizationSpecExistBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DoesCustomizationSpecExist(ctx context.Context, r soap.RoundTripper, req *types.DoesCustomizationSpecExist) (*types.DoesCustomizationSpecExistResponse, error) {
+ var reqBody, resBody DoesCustomizationSpecExistBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DuplicateCustomizationSpecBody struct {
+ Req *types.DuplicateCustomizationSpec `xml:"urn:vim25 DuplicateCustomizationSpec,omitempty"`
+ Res *types.DuplicateCustomizationSpecResponse `xml:"urn:vim25 DuplicateCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DuplicateCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DuplicateCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.DuplicateCustomizationSpec) (*types.DuplicateCustomizationSpecResponse, error) {
+ var reqBody, resBody DuplicateCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type DvsReconfigureVmVnicNetworkResourcePool_TaskBody struct {
+ Req *types.DvsReconfigureVmVnicNetworkResourcePool_Task `xml:"urn:vim25 DvsReconfigureVmVnicNetworkResourcePool_Task,omitempty"`
+ Res *types.DvsReconfigureVmVnicNetworkResourcePool_TaskResponse `xml:"urn:vim25 DvsReconfigureVmVnicNetworkResourcePool_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *DvsReconfigureVmVnicNetworkResourcePool_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func DvsReconfigureVmVnicNetworkResourcePool_Task(ctx context.Context, r soap.RoundTripper, req *types.DvsReconfigureVmVnicNetworkResourcePool_Task) (*types.DvsReconfigureVmVnicNetworkResourcePool_TaskResponse, error) {
+ var reqBody, resBody DvsReconfigureVmVnicNetworkResourcePool_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EagerZeroVirtualDisk_TaskBody struct {
+ Req *types.EagerZeroVirtualDisk_Task `xml:"urn:vim25 EagerZeroVirtualDisk_Task,omitempty"`
+ Res *types.EagerZeroVirtualDisk_TaskResponse `xml:"urn:vim25 EagerZeroVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EagerZeroVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EagerZeroVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.EagerZeroVirtualDisk_Task) (*types.EagerZeroVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody EagerZeroVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableAlarmActionsBody struct {
+ Req *types.EnableAlarmActions `xml:"urn:vim25 EnableAlarmActions,omitempty"`
+ Res *types.EnableAlarmActionsResponse `xml:"urn:vim25 EnableAlarmActionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableAlarmActionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableAlarmActions(ctx context.Context, r soap.RoundTripper, req *types.EnableAlarmActions) (*types.EnableAlarmActionsResponse, error) {
+ var reqBody, resBody EnableAlarmActionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableCryptoBody struct {
+ Req *types.EnableCrypto `xml:"urn:vim25 EnableCrypto,omitempty"`
+ Res *types.EnableCryptoResponse `xml:"urn:vim25 EnableCryptoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableCryptoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableCrypto(ctx context.Context, r soap.RoundTripper, req *types.EnableCrypto) (*types.EnableCryptoResponse, error) {
+ var reqBody, resBody EnableCryptoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableFeatureBody struct {
+ Req *types.EnableFeature `xml:"urn:vim25 EnableFeature,omitempty"`
+ Res *types.EnableFeatureResponse `xml:"urn:vim25 EnableFeatureResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableFeatureBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableFeature(ctx context.Context, r soap.RoundTripper, req *types.EnableFeature) (*types.EnableFeatureResponse, error) {
+ var reqBody, resBody EnableFeatureBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableHyperThreadingBody struct {
+ Req *types.EnableHyperThreading `xml:"urn:vim25 EnableHyperThreading,omitempty"`
+ Res *types.EnableHyperThreadingResponse `xml:"urn:vim25 EnableHyperThreadingResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableHyperThreadingBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableHyperThreading(ctx context.Context, r soap.RoundTripper, req *types.EnableHyperThreading) (*types.EnableHyperThreadingResponse, error) {
+ var reqBody, resBody EnableHyperThreadingBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableMultipathPathBody struct {
+ Req *types.EnableMultipathPath `xml:"urn:vim25 EnableMultipathPath,omitempty"`
+ Res *types.EnableMultipathPathResponse `xml:"urn:vim25 EnableMultipathPathResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableMultipathPathBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableMultipathPath(ctx context.Context, r soap.RoundTripper, req *types.EnableMultipathPath) (*types.EnableMultipathPathResponse, error) {
+ var reqBody, resBody EnableMultipathPathBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableNetworkResourceManagementBody struct {
+ Req *types.EnableNetworkResourceManagement `xml:"urn:vim25 EnableNetworkResourceManagement,omitempty"`
+ Res *types.EnableNetworkResourceManagementResponse `xml:"urn:vim25 EnableNetworkResourceManagementResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableNetworkResourceManagementBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableNetworkResourceManagement(ctx context.Context, r soap.RoundTripper, req *types.EnableNetworkResourceManagement) (*types.EnableNetworkResourceManagementResponse, error) {
+ var reqBody, resBody EnableNetworkResourceManagementBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableRulesetBody struct {
+ Req *types.EnableRuleset `xml:"urn:vim25 EnableRuleset,omitempty"`
+ Res *types.EnableRulesetResponse `xml:"urn:vim25 EnableRulesetResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableRulesetBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableRuleset(ctx context.Context, r soap.RoundTripper, req *types.EnableRuleset) (*types.EnableRulesetResponse, error) {
+ var reqBody, resBody EnableRulesetBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableSecondaryVM_TaskBody struct {
+ Req *types.EnableSecondaryVM_Task `xml:"urn:vim25 EnableSecondaryVM_Task,omitempty"`
+ Res *types.EnableSecondaryVM_TaskResponse `xml:"urn:vim25 EnableSecondaryVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.EnableSecondaryVM_Task) (*types.EnableSecondaryVM_TaskResponse, error) {
+ var reqBody, resBody EnableSecondaryVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnableSmartCardAuthenticationBody struct {
+ Req *types.EnableSmartCardAuthentication `xml:"urn:vim25 EnableSmartCardAuthentication,omitempty"`
+ Res *types.EnableSmartCardAuthenticationResponse `xml:"urn:vim25 EnableSmartCardAuthenticationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnableSmartCardAuthenticationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnableSmartCardAuthentication(ctx context.Context, r soap.RoundTripper, req *types.EnableSmartCardAuthentication) (*types.EnableSmartCardAuthenticationResponse, error) {
+ var reqBody, resBody EnableSmartCardAuthenticationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnterLockdownModeBody struct {
+ Req *types.EnterLockdownMode `xml:"urn:vim25 EnterLockdownMode,omitempty"`
+ Res *types.EnterLockdownModeResponse `xml:"urn:vim25 EnterLockdownModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnterLockdownModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnterLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.EnterLockdownMode) (*types.EnterLockdownModeResponse, error) {
+ var reqBody, resBody EnterLockdownModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EnterMaintenanceMode_TaskBody struct {
+ Req *types.EnterMaintenanceMode_Task `xml:"urn:vim25 EnterMaintenanceMode_Task,omitempty"`
+ Res *types.EnterMaintenanceMode_TaskResponse `xml:"urn:vim25 EnterMaintenanceMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EnterMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EnterMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.EnterMaintenanceMode_Task) (*types.EnterMaintenanceMode_TaskResponse, error) {
+ var reqBody, resBody EnterMaintenanceMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EstimateDatabaseSizeBody struct {
+ Req *types.EstimateDatabaseSize `xml:"urn:vim25 EstimateDatabaseSize,omitempty"`
+ Res *types.EstimateDatabaseSizeResponse `xml:"urn:vim25 EstimateDatabaseSizeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EstimateDatabaseSizeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EstimateDatabaseSize(ctx context.Context, r soap.RoundTripper, req *types.EstimateDatabaseSize) (*types.EstimateDatabaseSizeResponse, error) {
+ var reqBody, resBody EstimateDatabaseSizeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EstimateStorageForConsolidateSnapshots_TaskBody struct {
+ Req *types.EstimateStorageForConsolidateSnapshots_Task `xml:"urn:vim25 EstimateStorageForConsolidateSnapshots_Task,omitempty"`
+ Res *types.EstimateStorageForConsolidateSnapshots_TaskResponse `xml:"urn:vim25 EstimateStorageForConsolidateSnapshots_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EstimateStorageForConsolidateSnapshots_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EstimateStorageForConsolidateSnapshots_Task(ctx context.Context, r soap.RoundTripper, req *types.EstimateStorageForConsolidateSnapshots_Task) (*types.EstimateStorageForConsolidateSnapshots_TaskResponse, error) {
+ var reqBody, resBody EstimateStorageForConsolidateSnapshots_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EsxAgentHostManagerUpdateConfigBody struct {
+ Req *types.EsxAgentHostManagerUpdateConfig `xml:"urn:vim25 EsxAgentHostManagerUpdateConfig,omitempty"`
+ Res *types.EsxAgentHostManagerUpdateConfigResponse `xml:"urn:vim25 EsxAgentHostManagerUpdateConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EsxAgentHostManagerUpdateConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EsxAgentHostManagerUpdateConfig(ctx context.Context, r soap.RoundTripper, req *types.EsxAgentHostManagerUpdateConfig) (*types.EsxAgentHostManagerUpdateConfigResponse, error) {
+ var reqBody, resBody EsxAgentHostManagerUpdateConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EvacuateVsanNode_TaskBody struct {
+ Req *types.EvacuateVsanNode_Task `xml:"urn:vim25 EvacuateVsanNode_Task,omitempty"`
+ Res *types.EvacuateVsanNode_TaskResponse `xml:"urn:vim25 EvacuateVsanNode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EvacuateVsanNode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EvacuateVsanNode_Task(ctx context.Context, r soap.RoundTripper, req *types.EvacuateVsanNode_Task) (*types.EvacuateVsanNode_TaskResponse, error) {
+ var reqBody, resBody EvacuateVsanNode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type EvcManagerBody struct {
+ Req *types.EvcManager `xml:"urn:vim25 EvcManager,omitempty"`
+ Res *types.EvcManagerResponse `xml:"urn:vim25 EvcManagerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *EvcManagerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func EvcManager(ctx context.Context, r soap.RoundTripper, req *types.EvcManager) (*types.EvcManagerResponse, error) {
+ var reqBody, resBody EvcManagerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExecuteHostProfileBody struct {
+ Req *types.ExecuteHostProfile `xml:"urn:vim25 ExecuteHostProfile,omitempty"`
+ Res *types.ExecuteHostProfileResponse `xml:"urn:vim25 ExecuteHostProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExecuteHostProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExecuteHostProfile(ctx context.Context, r soap.RoundTripper, req *types.ExecuteHostProfile) (*types.ExecuteHostProfileResponse, error) {
+ var reqBody, resBody ExecuteHostProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExecuteSimpleCommandBody struct {
+ Req *types.ExecuteSimpleCommand `xml:"urn:vim25 ExecuteSimpleCommand,omitempty"`
+ Res *types.ExecuteSimpleCommandResponse `xml:"urn:vim25 ExecuteSimpleCommandResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExecuteSimpleCommandBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExecuteSimpleCommand(ctx context.Context, r soap.RoundTripper, req *types.ExecuteSimpleCommand) (*types.ExecuteSimpleCommandResponse, error) {
+ var reqBody, resBody ExecuteSimpleCommandBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExitLockdownModeBody struct {
+ Req *types.ExitLockdownMode `xml:"urn:vim25 ExitLockdownMode,omitempty"`
+ Res *types.ExitLockdownModeResponse `xml:"urn:vim25 ExitLockdownModeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExitLockdownModeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExitLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.ExitLockdownMode) (*types.ExitLockdownModeResponse, error) {
+ var reqBody, resBody ExitLockdownModeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExitMaintenanceMode_TaskBody struct {
+ Req *types.ExitMaintenanceMode_Task `xml:"urn:vim25 ExitMaintenanceMode_Task,omitempty"`
+ Res *types.ExitMaintenanceMode_TaskResponse `xml:"urn:vim25 ExitMaintenanceMode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExitMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExitMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.ExitMaintenanceMode_Task) (*types.ExitMaintenanceMode_TaskResponse, error) {
+ var reqBody, resBody ExitMaintenanceMode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExpandVmfsDatastoreBody struct {
+ Req *types.ExpandVmfsDatastore `xml:"urn:vim25 ExpandVmfsDatastore,omitempty"`
+ Res *types.ExpandVmfsDatastoreResponse `xml:"urn:vim25 ExpandVmfsDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExpandVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExpandVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.ExpandVmfsDatastore) (*types.ExpandVmfsDatastoreResponse, error) {
+ var reqBody, resBody ExpandVmfsDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExpandVmfsExtentBody struct {
+ Req *types.ExpandVmfsExtent `xml:"urn:vim25 ExpandVmfsExtent,omitempty"`
+ Res *types.ExpandVmfsExtentResponse `xml:"urn:vim25 ExpandVmfsExtentResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExpandVmfsExtentBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExpandVmfsExtent(ctx context.Context, r soap.RoundTripper, req *types.ExpandVmfsExtent) (*types.ExpandVmfsExtentResponse, error) {
+ var reqBody, resBody ExpandVmfsExtentBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExportAnswerFile_TaskBody struct {
+ Req *types.ExportAnswerFile_Task `xml:"urn:vim25 ExportAnswerFile_Task,omitempty"`
+ Res *types.ExportAnswerFile_TaskResponse `xml:"urn:vim25 ExportAnswerFile_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExportAnswerFile_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExportAnswerFile_Task(ctx context.Context, r soap.RoundTripper, req *types.ExportAnswerFile_Task) (*types.ExportAnswerFile_TaskResponse, error) {
+ var reqBody, resBody ExportAnswerFile_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExportProfileBody struct {
+ Req *types.ExportProfile `xml:"urn:vim25 ExportProfile,omitempty"`
+ Res *types.ExportProfileResponse `xml:"urn:vim25 ExportProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExportProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExportProfile(ctx context.Context, r soap.RoundTripper, req *types.ExportProfile) (*types.ExportProfileResponse, error) {
+ var reqBody, resBody ExportProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExportSnapshotBody struct {
+ Req *types.ExportSnapshot `xml:"urn:vim25 ExportSnapshot,omitempty"`
+ Res *types.ExportSnapshotResponse `xml:"urn:vim25 ExportSnapshotResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExportSnapshotBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExportSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ExportSnapshot) (*types.ExportSnapshotResponse, error) {
+ var reqBody, resBody ExportSnapshotBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExportVAppBody struct {
+ Req *types.ExportVApp `xml:"urn:vim25 ExportVApp,omitempty"`
+ Res *types.ExportVAppResponse `xml:"urn:vim25 ExportVAppResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExportVAppBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExportVApp(ctx context.Context, r soap.RoundTripper, req *types.ExportVApp) (*types.ExportVAppResponse, error) {
+ var reqBody, resBody ExportVAppBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExportVmBody struct {
+ Req *types.ExportVm `xml:"urn:vim25 ExportVm,omitempty"`
+ Res *types.ExportVmResponse `xml:"urn:vim25 ExportVmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExportVmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExportVm(ctx context.Context, r soap.RoundTripper, req *types.ExportVm) (*types.ExportVmResponse, error) {
+ var reqBody, resBody ExportVmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExtendDisk_TaskBody struct {
+ Req *types.ExtendDisk_Task `xml:"urn:vim25 ExtendDisk_Task,omitempty"`
+ Res *types.ExtendDisk_TaskResponse `xml:"urn:vim25 ExtendDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExtendDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExtendDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ExtendDisk_Task) (*types.ExtendDisk_TaskResponse, error) {
+ var reqBody, resBody ExtendDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExtendVffsBody struct {
+ Req *types.ExtendVffs `xml:"urn:vim25 ExtendVffs,omitempty"`
+ Res *types.ExtendVffsResponse `xml:"urn:vim25 ExtendVffsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExtendVffsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExtendVffs(ctx context.Context, r soap.RoundTripper, req *types.ExtendVffs) (*types.ExtendVffsResponse, error) {
+ var reqBody, resBody ExtendVffsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExtendVirtualDisk_TaskBody struct {
+ Req *types.ExtendVirtualDisk_Task `xml:"urn:vim25 ExtendVirtualDisk_Task,omitempty"`
+ Res *types.ExtendVirtualDisk_TaskResponse `xml:"urn:vim25 ExtendVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExtendVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExtendVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ExtendVirtualDisk_Task) (*types.ExtendVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody ExtendVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExtendVmfsDatastoreBody struct {
+ Req *types.ExtendVmfsDatastore `xml:"urn:vim25 ExtendVmfsDatastore,omitempty"`
+ Res *types.ExtendVmfsDatastoreResponse `xml:"urn:vim25 ExtendVmfsDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExtendVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExtendVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.ExtendVmfsDatastore) (*types.ExtendVmfsDatastoreResponse, error) {
+ var reqBody, resBody ExtendVmfsDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ExtractOvfEnvironmentBody struct {
+ Req *types.ExtractOvfEnvironment `xml:"urn:vim25 ExtractOvfEnvironment,omitempty"`
+ Res *types.ExtractOvfEnvironmentResponse `xml:"urn:vim25 ExtractOvfEnvironmentResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ExtractOvfEnvironmentBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ExtractOvfEnvironment(ctx context.Context, r soap.RoundTripper, req *types.ExtractOvfEnvironment) (*types.ExtractOvfEnvironmentResponse, error) {
+ var reqBody, resBody ExtractOvfEnvironmentBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FetchDVPortKeysBody struct {
+ Req *types.FetchDVPortKeys `xml:"urn:vim25 FetchDVPortKeys,omitempty"`
+ Res *types.FetchDVPortKeysResponse `xml:"urn:vim25 FetchDVPortKeysResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FetchDVPortKeysBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FetchDVPortKeys(ctx context.Context, r soap.RoundTripper, req *types.FetchDVPortKeys) (*types.FetchDVPortKeysResponse, error) {
+ var reqBody, resBody FetchDVPortKeysBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FetchDVPortsBody struct {
+ Req *types.FetchDVPorts `xml:"urn:vim25 FetchDVPorts,omitempty"`
+ Res *types.FetchDVPortsResponse `xml:"urn:vim25 FetchDVPortsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FetchDVPortsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FetchDVPorts(ctx context.Context, r soap.RoundTripper, req *types.FetchDVPorts) (*types.FetchDVPortsResponse, error) {
+ var reqBody, resBody FetchDVPortsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FetchSystemEventLogBody struct {
+ Req *types.FetchSystemEventLog `xml:"urn:vim25 FetchSystemEventLog,omitempty"`
+ Res *types.FetchSystemEventLogResponse `xml:"urn:vim25 FetchSystemEventLogResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FetchSystemEventLogBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FetchSystemEventLog(ctx context.Context, r soap.RoundTripper, req *types.FetchSystemEventLog) (*types.FetchSystemEventLogResponse, error) {
+ var reqBody, resBody FetchSystemEventLogBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FetchUserPrivilegeOnEntitiesBody struct {
+ Req *types.FetchUserPrivilegeOnEntities `xml:"urn:vim25 FetchUserPrivilegeOnEntities,omitempty"`
+ Res *types.FetchUserPrivilegeOnEntitiesResponse `xml:"urn:vim25 FetchUserPrivilegeOnEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FetchUserPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FetchUserPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.FetchUserPrivilegeOnEntities) (*types.FetchUserPrivilegeOnEntitiesResponse, error) {
+ var reqBody, resBody FetchUserPrivilegeOnEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindAllByDnsNameBody struct {
+ Req *types.FindAllByDnsName `xml:"urn:vim25 FindAllByDnsName,omitempty"`
+ Res *types.FindAllByDnsNameResponse `xml:"urn:vim25 FindAllByDnsNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindAllByDnsNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindAllByDnsName(ctx context.Context, r soap.RoundTripper, req *types.FindAllByDnsName) (*types.FindAllByDnsNameResponse, error) {
+ var reqBody, resBody FindAllByDnsNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindAllByIpBody struct {
+ Req *types.FindAllByIp `xml:"urn:vim25 FindAllByIp,omitempty"`
+ Res *types.FindAllByIpResponse `xml:"urn:vim25 FindAllByIpResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindAllByIpBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindAllByIp(ctx context.Context, r soap.RoundTripper, req *types.FindAllByIp) (*types.FindAllByIpResponse, error) {
+ var reqBody, resBody FindAllByIpBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindAllByUuidBody struct {
+ Req *types.FindAllByUuid `xml:"urn:vim25 FindAllByUuid,omitempty"`
+ Res *types.FindAllByUuidResponse `xml:"urn:vim25 FindAllByUuidResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindAllByUuidBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindAllByUuid(ctx context.Context, r soap.RoundTripper, req *types.FindAllByUuid) (*types.FindAllByUuidResponse, error) {
+ var reqBody, resBody FindAllByUuidBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindAssociatedProfileBody struct {
+ Req *types.FindAssociatedProfile `xml:"urn:vim25 FindAssociatedProfile,omitempty"`
+ Res *types.FindAssociatedProfileResponse `xml:"urn:vim25 FindAssociatedProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindAssociatedProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindAssociatedProfile(ctx context.Context, r soap.RoundTripper, req *types.FindAssociatedProfile) (*types.FindAssociatedProfileResponse, error) {
+ var reqBody, resBody FindAssociatedProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindByDatastorePathBody struct {
+ Req *types.FindByDatastorePath `xml:"urn:vim25 FindByDatastorePath,omitempty"`
+ Res *types.FindByDatastorePathResponse `xml:"urn:vim25 FindByDatastorePathResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindByDatastorePathBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindByDatastorePath(ctx context.Context, r soap.RoundTripper, req *types.FindByDatastorePath) (*types.FindByDatastorePathResponse, error) {
+ var reqBody, resBody FindByDatastorePathBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindByDnsNameBody struct {
+ Req *types.FindByDnsName `xml:"urn:vim25 FindByDnsName,omitempty"`
+ Res *types.FindByDnsNameResponse `xml:"urn:vim25 FindByDnsNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindByDnsNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindByDnsName(ctx context.Context, r soap.RoundTripper, req *types.FindByDnsName) (*types.FindByDnsNameResponse, error) {
+ var reqBody, resBody FindByDnsNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindByInventoryPathBody struct {
+ Req *types.FindByInventoryPath `xml:"urn:vim25 FindByInventoryPath,omitempty"`
+ Res *types.FindByInventoryPathResponse `xml:"urn:vim25 FindByInventoryPathResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindByInventoryPathBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindByInventoryPath(ctx context.Context, r soap.RoundTripper, req *types.FindByInventoryPath) (*types.FindByInventoryPathResponse, error) {
+ var reqBody, resBody FindByInventoryPathBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindByIpBody struct {
+ Req *types.FindByIp `xml:"urn:vim25 FindByIp,omitempty"`
+ Res *types.FindByIpResponse `xml:"urn:vim25 FindByIpResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindByIpBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindByIp(ctx context.Context, r soap.RoundTripper, req *types.FindByIp) (*types.FindByIpResponse, error) {
+ var reqBody, resBody FindByIpBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindByUuidBody struct {
+ Req *types.FindByUuid `xml:"urn:vim25 FindByUuid,omitempty"`
+ Res *types.FindByUuidResponse `xml:"urn:vim25 FindByUuidResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindByUuidBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindByUuid(ctx context.Context, r soap.RoundTripper, req *types.FindByUuid) (*types.FindByUuidResponse, error) {
+ var reqBody, resBody FindByUuidBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindChildBody struct {
+ Req *types.FindChild `xml:"urn:vim25 FindChild,omitempty"`
+ Res *types.FindChildResponse `xml:"urn:vim25 FindChildResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindChildBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindChild(ctx context.Context, r soap.RoundTripper, req *types.FindChild) (*types.FindChildResponse, error) {
+ var reqBody, resBody FindChildBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindExtensionBody struct {
+ Req *types.FindExtension `xml:"urn:vim25 FindExtension,omitempty"`
+ Res *types.FindExtensionResponse `xml:"urn:vim25 FindExtensionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindExtensionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindExtension(ctx context.Context, r soap.RoundTripper, req *types.FindExtension) (*types.FindExtensionResponse, error) {
+ var reqBody, resBody FindExtensionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FindRulesForVmBody struct {
+ Req *types.FindRulesForVm `xml:"urn:vim25 FindRulesForVm,omitempty"`
+ Res *types.FindRulesForVmResponse `xml:"urn:vim25 FindRulesForVmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FindRulesForVmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FindRulesForVm(ctx context.Context, r soap.RoundTripper, req *types.FindRulesForVm) (*types.FindRulesForVmResponse, error) {
+ var reqBody, resBody FindRulesForVmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FormatVffsBody struct {
+ Req *types.FormatVffs `xml:"urn:vim25 FormatVffs,omitempty"`
+ Res *types.FormatVffsResponse `xml:"urn:vim25 FormatVffsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FormatVffsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FormatVffs(ctx context.Context, r soap.RoundTripper, req *types.FormatVffs) (*types.FormatVffsResponse, error) {
+ var reqBody, resBody FormatVffsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type FormatVmfsBody struct {
+ Req *types.FormatVmfs `xml:"urn:vim25 FormatVmfs,omitempty"`
+ Res *types.FormatVmfsResponse `xml:"urn:vim25 FormatVmfsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *FormatVmfsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func FormatVmfs(ctx context.Context, r soap.RoundTripper, req *types.FormatVmfs) (*types.FormatVmfsResponse, error) {
+ var reqBody, resBody FormatVmfsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateCertificateSigningRequestBody struct {
+ Req *types.GenerateCertificateSigningRequest `xml:"urn:vim25 GenerateCertificateSigningRequest,omitempty"`
+ Res *types.GenerateCertificateSigningRequestResponse `xml:"urn:vim25 GenerateCertificateSigningRequestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateCertificateSigningRequestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateCertificateSigningRequest(ctx context.Context, r soap.RoundTripper, req *types.GenerateCertificateSigningRequest) (*types.GenerateCertificateSigningRequestResponse, error) {
+ var reqBody, resBody GenerateCertificateSigningRequestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateCertificateSigningRequestByDnBody struct {
+ Req *types.GenerateCertificateSigningRequestByDn `xml:"urn:vim25 GenerateCertificateSigningRequestByDn,omitempty"`
+ Res *types.GenerateCertificateSigningRequestByDnResponse `xml:"urn:vim25 GenerateCertificateSigningRequestByDnResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateCertificateSigningRequestByDnBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateCertificateSigningRequestByDn(ctx context.Context, r soap.RoundTripper, req *types.GenerateCertificateSigningRequestByDn) (*types.GenerateCertificateSigningRequestByDnResponse, error) {
+ var reqBody, resBody GenerateCertificateSigningRequestByDnBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateClientCsrBody struct {
+ Req *types.GenerateClientCsr `xml:"urn:vim25 GenerateClientCsr,omitempty"`
+ Res *types.GenerateClientCsrResponse `xml:"urn:vim25 GenerateClientCsrResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateClientCsrBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateClientCsr(ctx context.Context, r soap.RoundTripper, req *types.GenerateClientCsr) (*types.GenerateClientCsrResponse, error) {
+ var reqBody, resBody GenerateClientCsrBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateConfigTaskListBody struct {
+ Req *types.GenerateConfigTaskList `xml:"urn:vim25 GenerateConfigTaskList,omitempty"`
+ Res *types.GenerateConfigTaskListResponse `xml:"urn:vim25 GenerateConfigTaskListResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateConfigTaskListBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateConfigTaskList(ctx context.Context, r soap.RoundTripper, req *types.GenerateConfigTaskList) (*types.GenerateConfigTaskListResponse, error) {
+ var reqBody, resBody GenerateConfigTaskListBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateHostConfigTaskSpec_TaskBody struct {
+ Req *types.GenerateHostConfigTaskSpec_Task `xml:"urn:vim25 GenerateHostConfigTaskSpec_Task,omitempty"`
+ Res *types.GenerateHostConfigTaskSpec_TaskResponse `xml:"urn:vim25 GenerateHostConfigTaskSpec_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateHostConfigTaskSpec_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateHostConfigTaskSpec_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateHostConfigTaskSpec_Task) (*types.GenerateHostConfigTaskSpec_TaskResponse, error) {
+ var reqBody, resBody GenerateHostConfigTaskSpec_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateHostProfileTaskList_TaskBody struct {
+ Req *types.GenerateHostProfileTaskList_Task `xml:"urn:vim25 GenerateHostProfileTaskList_Task,omitempty"`
+ Res *types.GenerateHostProfileTaskList_TaskResponse `xml:"urn:vim25 GenerateHostProfileTaskList_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateHostProfileTaskList_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateHostProfileTaskList_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateHostProfileTaskList_Task) (*types.GenerateHostProfileTaskList_TaskResponse, error) {
+ var reqBody, resBody GenerateHostProfileTaskList_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateKeyBody struct {
+ Req *types.GenerateKey `xml:"urn:vim25 GenerateKey,omitempty"`
+ Res *types.GenerateKeyResponse `xml:"urn:vim25 GenerateKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateKey(ctx context.Context, r soap.RoundTripper, req *types.GenerateKey) (*types.GenerateKeyResponse, error) {
+ var reqBody, resBody GenerateKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateLogBundles_TaskBody struct {
+ Req *types.GenerateLogBundles_Task `xml:"urn:vim25 GenerateLogBundles_Task,omitempty"`
+ Res *types.GenerateLogBundles_TaskResponse `xml:"urn:vim25 GenerateLogBundles_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateLogBundles_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateLogBundles_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateLogBundles_Task) (*types.GenerateLogBundles_TaskResponse, error) {
+ var reqBody, resBody GenerateLogBundles_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GenerateSelfSignedClientCertBody struct {
+ Req *types.GenerateSelfSignedClientCert `xml:"urn:vim25 GenerateSelfSignedClientCert,omitempty"`
+ Res *types.GenerateSelfSignedClientCertResponse `xml:"urn:vim25 GenerateSelfSignedClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GenerateSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GenerateSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.GenerateSelfSignedClientCert) (*types.GenerateSelfSignedClientCertResponse, error) {
+ var reqBody, resBody GenerateSelfSignedClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetAlarmBody struct {
+ Req *types.GetAlarm `xml:"urn:vim25 GetAlarm,omitempty"`
+ Res *types.GetAlarmResponse `xml:"urn:vim25 GetAlarmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetAlarmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetAlarm(ctx context.Context, r soap.RoundTripper, req *types.GetAlarm) (*types.GetAlarmResponse, error) {
+ var reqBody, resBody GetAlarmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetAlarmStateBody struct {
+ Req *types.GetAlarmState `xml:"urn:vim25 GetAlarmState,omitempty"`
+ Res *types.GetAlarmStateResponse `xml:"urn:vim25 GetAlarmStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetAlarmStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetAlarmState(ctx context.Context, r soap.RoundTripper, req *types.GetAlarmState) (*types.GetAlarmStateResponse, error) {
+ var reqBody, resBody GetAlarmStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetCustomizationSpecBody struct {
+ Req *types.GetCustomizationSpec `xml:"urn:vim25 GetCustomizationSpec,omitempty"`
+ Res *types.GetCustomizationSpecResponse `xml:"urn:vim25 GetCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.GetCustomizationSpec) (*types.GetCustomizationSpecResponse, error) {
+ var reqBody, resBody GetCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetPublicKeyBody struct {
+ Req *types.GetPublicKey `xml:"urn:vim25 GetPublicKey,omitempty"`
+ Res *types.GetPublicKeyResponse `xml:"urn:vim25 GetPublicKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetPublicKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetPublicKey(ctx context.Context, r soap.RoundTripper, req *types.GetPublicKey) (*types.GetPublicKeyResponse, error) {
+ var reqBody, resBody GetPublicKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetResourceUsageBody struct {
+ Req *types.GetResourceUsage `xml:"urn:vim25 GetResourceUsage,omitempty"`
+ Res *types.GetResourceUsageResponse `xml:"urn:vim25 GetResourceUsageResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetResourceUsageBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetResourceUsage(ctx context.Context, r soap.RoundTripper, req *types.GetResourceUsage) (*types.GetResourceUsageResponse, error) {
+ var reqBody, resBody GetResourceUsageBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetVchaClusterHealthBody struct {
+ Req *types.GetVchaClusterHealth `xml:"urn:vim25 GetVchaClusterHealth,omitempty"`
+ Res *types.GetVchaClusterHealthResponse `xml:"urn:vim25 GetVchaClusterHealthResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetVchaClusterHealthBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetVchaClusterHealth(ctx context.Context, r soap.RoundTripper, req *types.GetVchaClusterHealth) (*types.GetVchaClusterHealthResponse, error) {
+ var reqBody, resBody GetVchaClusterHealthBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type GetVsanObjExtAttrsBody struct {
+ Req *types.GetVsanObjExtAttrs `xml:"urn:vim25 GetVsanObjExtAttrs,omitempty"`
+ Res *types.GetVsanObjExtAttrsResponse `xml:"urn:vim25 GetVsanObjExtAttrsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *GetVsanObjExtAttrsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func GetVsanObjExtAttrs(ctx context.Context, r soap.RoundTripper, req *types.GetVsanObjExtAttrs) (*types.GetVsanObjExtAttrsResponse, error) {
+ var reqBody, resBody GetVsanObjExtAttrsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HasMonitoredEntityBody struct {
+ Req *types.HasMonitoredEntity `xml:"urn:vim25 HasMonitoredEntity,omitempty"`
+ Res *types.HasMonitoredEntityResponse `xml:"urn:vim25 HasMonitoredEntityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HasMonitoredEntityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HasMonitoredEntity(ctx context.Context, r soap.RoundTripper, req *types.HasMonitoredEntity) (*types.HasMonitoredEntityResponse, error) {
+ var reqBody, resBody HasMonitoredEntityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HasPrivilegeOnEntitiesBody struct {
+ Req *types.HasPrivilegeOnEntities `xml:"urn:vim25 HasPrivilegeOnEntities,omitempty"`
+ Res *types.HasPrivilegeOnEntitiesResponse `xml:"urn:vim25 HasPrivilegeOnEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HasPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HasPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.HasPrivilegeOnEntities) (*types.HasPrivilegeOnEntitiesResponse, error) {
+ var reqBody, resBody HasPrivilegeOnEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HasPrivilegeOnEntityBody struct {
+ Req *types.HasPrivilegeOnEntity `xml:"urn:vim25 HasPrivilegeOnEntity,omitempty"`
+ Res *types.HasPrivilegeOnEntityResponse `xml:"urn:vim25 HasPrivilegeOnEntityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HasPrivilegeOnEntityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HasPrivilegeOnEntity(ctx context.Context, r soap.RoundTripper, req *types.HasPrivilegeOnEntity) (*types.HasPrivilegeOnEntityResponse, error) {
+ var reqBody, resBody HasPrivilegeOnEntityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HasProviderBody struct {
+ Req *types.HasProvider `xml:"urn:vim25 HasProvider,omitempty"`
+ Res *types.HasProviderResponse `xml:"urn:vim25 HasProviderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HasProviderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HasProvider(ctx context.Context, r soap.RoundTripper, req *types.HasProvider) (*types.HasProviderResponse, error) {
+ var reqBody, resBody HasProviderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HasUserPrivilegeOnEntitiesBody struct {
+ Req *types.HasUserPrivilegeOnEntities `xml:"urn:vim25 HasUserPrivilegeOnEntities,omitempty"`
+ Res *types.HasUserPrivilegeOnEntitiesResponse `xml:"urn:vim25 HasUserPrivilegeOnEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HasUserPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HasUserPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.HasUserPrivilegeOnEntities) (*types.HasUserPrivilegeOnEntitiesResponse, error) {
+ var reqBody, resBody HasUserPrivilegeOnEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostCloneVStorageObject_TaskBody struct {
+ Req *types.HostCloneVStorageObject_Task `xml:"urn:vim25 HostCloneVStorageObject_Task,omitempty"`
+ Res *types.HostCloneVStorageObject_TaskResponse `xml:"urn:vim25 HostCloneVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostCloneVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostCloneVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostCloneVStorageObject_Task) (*types.HostCloneVStorageObject_TaskResponse, error) {
+ var reqBody, resBody HostCloneVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostConfigVFlashCacheBody struct {
+ Req *types.HostConfigVFlashCache `xml:"urn:vim25 HostConfigVFlashCache,omitempty"`
+ Res *types.HostConfigVFlashCacheResponse `xml:"urn:vim25 HostConfigVFlashCacheResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostConfigVFlashCacheBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostConfigVFlashCache(ctx context.Context, r soap.RoundTripper, req *types.HostConfigVFlashCache) (*types.HostConfigVFlashCacheResponse, error) {
+ var reqBody, resBody HostConfigVFlashCacheBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostConfigureVFlashResourceBody struct {
+ Req *types.HostConfigureVFlashResource `xml:"urn:vim25 HostConfigureVFlashResource,omitempty"`
+ Res *types.HostConfigureVFlashResourceResponse `xml:"urn:vim25 HostConfigureVFlashResourceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostConfigureVFlashResourceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostConfigureVFlashResource(ctx context.Context, r soap.RoundTripper, req *types.HostConfigureVFlashResource) (*types.HostConfigureVFlashResourceResponse, error) {
+ var reqBody, resBody HostConfigureVFlashResourceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostCreateDisk_TaskBody struct {
+ Req *types.HostCreateDisk_Task `xml:"urn:vim25 HostCreateDisk_Task,omitempty"`
+ Res *types.HostCreateDisk_TaskResponse `xml:"urn:vim25 HostCreateDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostCreateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostCreateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostCreateDisk_Task) (*types.HostCreateDisk_TaskResponse, error) {
+ var reqBody, resBody HostCreateDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostDeleteVStorageObject_TaskBody struct {
+ Req *types.HostDeleteVStorageObject_Task `xml:"urn:vim25 HostDeleteVStorageObject_Task,omitempty"`
+ Res *types.HostDeleteVStorageObject_TaskResponse `xml:"urn:vim25 HostDeleteVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostDeleteVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostDeleteVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostDeleteVStorageObject_Task) (*types.HostDeleteVStorageObject_TaskResponse, error) {
+ var reqBody, resBody HostDeleteVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostExtendDisk_TaskBody struct {
+ Req *types.HostExtendDisk_Task `xml:"urn:vim25 HostExtendDisk_Task,omitempty"`
+ Res *types.HostExtendDisk_TaskResponse `xml:"urn:vim25 HostExtendDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostExtendDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostExtendDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostExtendDisk_Task) (*types.HostExtendDisk_TaskResponse, error) {
+ var reqBody, resBody HostExtendDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostGetVFlashModuleDefaultConfigBody struct {
+ Req *types.HostGetVFlashModuleDefaultConfig `xml:"urn:vim25 HostGetVFlashModuleDefaultConfig,omitempty"`
+ Res *types.HostGetVFlashModuleDefaultConfigResponse `xml:"urn:vim25 HostGetVFlashModuleDefaultConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostGetVFlashModuleDefaultConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostGetVFlashModuleDefaultConfig(ctx context.Context, r soap.RoundTripper, req *types.HostGetVFlashModuleDefaultConfig) (*types.HostGetVFlashModuleDefaultConfigResponse, error) {
+ var reqBody, resBody HostGetVFlashModuleDefaultConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostImageConfigGetAcceptanceBody struct {
+ Req *types.HostImageConfigGetAcceptance `xml:"urn:vim25 HostImageConfigGetAcceptance,omitempty"`
+ Res *types.HostImageConfigGetAcceptanceResponse `xml:"urn:vim25 HostImageConfigGetAcceptanceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostImageConfigGetAcceptanceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostImageConfigGetAcceptance(ctx context.Context, r soap.RoundTripper, req *types.HostImageConfigGetAcceptance) (*types.HostImageConfigGetAcceptanceResponse, error) {
+ var reqBody, resBody HostImageConfigGetAcceptanceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostImageConfigGetProfileBody struct {
+ Req *types.HostImageConfigGetProfile `xml:"urn:vim25 HostImageConfigGetProfile,omitempty"`
+ Res *types.HostImageConfigGetProfileResponse `xml:"urn:vim25 HostImageConfigGetProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostImageConfigGetProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostImageConfigGetProfile(ctx context.Context, r soap.RoundTripper, req *types.HostImageConfigGetProfile) (*types.HostImageConfigGetProfileResponse, error) {
+ var reqBody, resBody HostImageConfigGetProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostInflateDisk_TaskBody struct {
+ Req *types.HostInflateDisk_Task `xml:"urn:vim25 HostInflateDisk_Task,omitempty"`
+ Res *types.HostInflateDisk_TaskResponse `xml:"urn:vim25 HostInflateDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostInflateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostInflateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostInflateDisk_Task) (*types.HostInflateDisk_TaskResponse, error) {
+ var reqBody, resBody HostInflateDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostListVStorageObjectBody struct {
+ Req *types.HostListVStorageObject `xml:"urn:vim25 HostListVStorageObject,omitempty"`
+ Res *types.HostListVStorageObjectResponse `xml:"urn:vim25 HostListVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostListVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostListVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostListVStorageObject) (*types.HostListVStorageObjectResponse, error) {
+ var reqBody, resBody HostListVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostReconcileDatastoreInventory_TaskBody struct {
+ Req *types.HostReconcileDatastoreInventory_Task `xml:"urn:vim25 HostReconcileDatastoreInventory_Task,omitempty"`
+ Res *types.HostReconcileDatastoreInventory_TaskResponse `xml:"urn:vim25 HostReconcileDatastoreInventory_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostReconcileDatastoreInventory_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostReconcileDatastoreInventory_Task(ctx context.Context, r soap.RoundTripper, req *types.HostReconcileDatastoreInventory_Task) (*types.HostReconcileDatastoreInventory_TaskResponse, error) {
+ var reqBody, resBody HostReconcileDatastoreInventory_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRegisterDiskBody struct {
+ Req *types.HostRegisterDisk `xml:"urn:vim25 HostRegisterDisk,omitempty"`
+ Res *types.HostRegisterDiskResponse `xml:"urn:vim25 HostRegisterDiskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRegisterDiskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRegisterDisk(ctx context.Context, r soap.RoundTripper, req *types.HostRegisterDisk) (*types.HostRegisterDiskResponse, error) {
+ var reqBody, resBody HostRegisterDiskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRelocateVStorageObject_TaskBody struct {
+ Req *types.HostRelocateVStorageObject_Task `xml:"urn:vim25 HostRelocateVStorageObject_Task,omitempty"`
+ Res *types.HostRelocateVStorageObject_TaskResponse `xml:"urn:vim25 HostRelocateVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRelocateVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRelocateVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostRelocateVStorageObject_Task) (*types.HostRelocateVStorageObject_TaskResponse, error) {
+ var reqBody, resBody HostRelocateVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRemoveVFlashResourceBody struct {
+ Req *types.HostRemoveVFlashResource `xml:"urn:vim25 HostRemoveVFlashResource,omitempty"`
+ Res *types.HostRemoveVFlashResourceResponse `xml:"urn:vim25 HostRemoveVFlashResourceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRemoveVFlashResourceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRemoveVFlashResource(ctx context.Context, r soap.RoundTripper, req *types.HostRemoveVFlashResource) (*types.HostRemoveVFlashResourceResponse, error) {
+ var reqBody, resBody HostRemoveVFlashResourceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRenameVStorageObjectBody struct {
+ Req *types.HostRenameVStorageObject `xml:"urn:vim25 HostRenameVStorageObject,omitempty"`
+ Res *types.HostRenameVStorageObjectResponse `xml:"urn:vim25 HostRenameVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRenameVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRenameVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostRenameVStorageObject) (*types.HostRenameVStorageObjectResponse, error) {
+ var reqBody, resBody HostRenameVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRetrieveVStorageObjectBody struct {
+ Req *types.HostRetrieveVStorageObject `xml:"urn:vim25 HostRetrieveVStorageObject,omitempty"`
+ Res *types.HostRetrieveVStorageObjectResponse `xml:"urn:vim25 HostRetrieveVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRetrieveVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRetrieveVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObject) (*types.HostRetrieveVStorageObjectResponse, error) {
+ var reqBody, resBody HostRetrieveVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostRetrieveVStorageObjectStateBody struct {
+ Req *types.HostRetrieveVStorageObjectState `xml:"urn:vim25 HostRetrieveVStorageObjectState,omitempty"`
+ Res *types.HostRetrieveVStorageObjectStateResponse `xml:"urn:vim25 HostRetrieveVStorageObjectStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostRetrieveVStorageObjectStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostRetrieveVStorageObjectState(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObjectState) (*types.HostRetrieveVStorageObjectStateResponse, error) {
+ var reqBody, resBody HostRetrieveVStorageObjectStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostScheduleReconcileDatastoreInventoryBody struct {
+ Req *types.HostScheduleReconcileDatastoreInventory `xml:"urn:vim25 HostScheduleReconcileDatastoreInventory,omitempty"`
+ Res *types.HostScheduleReconcileDatastoreInventoryResponse `xml:"urn:vim25 HostScheduleReconcileDatastoreInventoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostScheduleReconcileDatastoreInventoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostScheduleReconcileDatastoreInventory(ctx context.Context, r soap.RoundTripper, req *types.HostScheduleReconcileDatastoreInventory) (*types.HostScheduleReconcileDatastoreInventoryResponse, error) {
+ var reqBody, resBody HostScheduleReconcileDatastoreInventoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HostSpecGetUpdatedHostsBody struct {
+ Req *types.HostSpecGetUpdatedHosts `xml:"urn:vim25 HostSpecGetUpdatedHosts,omitempty"`
+ Res *types.HostSpecGetUpdatedHostsResponse `xml:"urn:vim25 HostSpecGetUpdatedHostsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HostSpecGetUpdatedHostsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HostSpecGetUpdatedHosts(ctx context.Context, r soap.RoundTripper, req *types.HostSpecGetUpdatedHosts) (*types.HostSpecGetUpdatedHostsResponse, error) {
+ var reqBody, resBody HostSpecGetUpdatedHostsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HttpNfcLeaseAbortBody struct {
+ Req *types.HttpNfcLeaseAbort `xml:"urn:vim25 HttpNfcLeaseAbort,omitempty"`
+ Res *types.HttpNfcLeaseAbortResponse `xml:"urn:vim25 HttpNfcLeaseAbortResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HttpNfcLeaseAbortBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HttpNfcLeaseAbort(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseAbort) (*types.HttpNfcLeaseAbortResponse, error) {
+ var reqBody, resBody HttpNfcLeaseAbortBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HttpNfcLeaseCompleteBody struct {
+ Req *types.HttpNfcLeaseComplete `xml:"urn:vim25 HttpNfcLeaseComplete,omitempty"`
+ Res *types.HttpNfcLeaseCompleteResponse `xml:"urn:vim25 HttpNfcLeaseCompleteResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HttpNfcLeaseCompleteBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HttpNfcLeaseComplete(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseComplete) (*types.HttpNfcLeaseCompleteResponse, error) {
+ var reqBody, resBody HttpNfcLeaseCompleteBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HttpNfcLeaseGetManifestBody struct {
+ Req *types.HttpNfcLeaseGetManifest `xml:"urn:vim25 HttpNfcLeaseGetManifest,omitempty"`
+ Res *types.HttpNfcLeaseGetManifestResponse `xml:"urn:vim25 HttpNfcLeaseGetManifestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HttpNfcLeaseGetManifestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HttpNfcLeaseGetManifest(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseGetManifest) (*types.HttpNfcLeaseGetManifestResponse, error) {
+ var reqBody, resBody HttpNfcLeaseGetManifestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type HttpNfcLeaseProgressBody struct {
+ Req *types.HttpNfcLeaseProgress `xml:"urn:vim25 HttpNfcLeaseProgress,omitempty"`
+ Res *types.HttpNfcLeaseProgressResponse `xml:"urn:vim25 HttpNfcLeaseProgressResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *HttpNfcLeaseProgressBody) Fault() *soap.Fault { return b.Fault_ }
+
+func HttpNfcLeaseProgress(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseProgress) (*types.HttpNfcLeaseProgressResponse, error) {
+ var reqBody, resBody HttpNfcLeaseProgressBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ImpersonateUserBody struct {
+ Req *types.ImpersonateUser `xml:"urn:vim25 ImpersonateUser,omitempty"`
+ Res *types.ImpersonateUserResponse `xml:"urn:vim25 ImpersonateUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ImpersonateUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ImpersonateUser(ctx context.Context, r soap.RoundTripper, req *types.ImpersonateUser) (*types.ImpersonateUserResponse, error) {
+ var reqBody, resBody ImpersonateUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ImportCertificateForCAM_TaskBody struct {
+ Req *types.ImportCertificateForCAM_Task `xml:"urn:vim25 ImportCertificateForCAM_Task,omitempty"`
+ Res *types.ImportCertificateForCAM_TaskResponse `xml:"urn:vim25 ImportCertificateForCAM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ImportCertificateForCAM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ImportCertificateForCAM_Task(ctx context.Context, r soap.RoundTripper, req *types.ImportCertificateForCAM_Task) (*types.ImportCertificateForCAM_TaskResponse, error) {
+ var reqBody, resBody ImportCertificateForCAM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ImportUnmanagedSnapshotBody struct {
+ Req *types.ImportUnmanagedSnapshot `xml:"urn:vim25 ImportUnmanagedSnapshot,omitempty"`
+ Res *types.ImportUnmanagedSnapshotResponse `xml:"urn:vim25 ImportUnmanagedSnapshotResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ImportUnmanagedSnapshotBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ImportUnmanagedSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ImportUnmanagedSnapshot) (*types.ImportUnmanagedSnapshotResponse, error) {
+ var reqBody, resBody ImportUnmanagedSnapshotBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ImportVAppBody struct {
+ Req *types.ImportVApp `xml:"urn:vim25 ImportVApp,omitempty"`
+ Res *types.ImportVAppResponse `xml:"urn:vim25 ImportVAppResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ImportVAppBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ImportVApp(ctx context.Context, r soap.RoundTripper, req *types.ImportVApp) (*types.ImportVAppResponse, error) {
+ var reqBody, resBody ImportVAppBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InflateDisk_TaskBody struct {
+ Req *types.InflateDisk_Task `xml:"urn:vim25 InflateDisk_Task,omitempty"`
+ Res *types.InflateDisk_TaskResponse `xml:"urn:vim25 InflateDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InflateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InflateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.InflateDisk_Task) (*types.InflateDisk_TaskResponse, error) {
+ var reqBody, resBody InflateDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InflateVirtualDisk_TaskBody struct {
+ Req *types.InflateVirtualDisk_Task `xml:"urn:vim25 InflateVirtualDisk_Task,omitempty"`
+ Res *types.InflateVirtualDisk_TaskResponse `xml:"urn:vim25 InflateVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InflateVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InflateVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.InflateVirtualDisk_Task) (*types.InflateVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody InflateVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InitializeDisks_TaskBody struct {
+ Req *types.InitializeDisks_Task `xml:"urn:vim25 InitializeDisks_Task,omitempty"`
+ Res *types.InitializeDisks_TaskResponse `xml:"urn:vim25 InitializeDisks_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InitializeDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InitializeDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.InitializeDisks_Task) (*types.InitializeDisks_TaskResponse, error) {
+ var reqBody, resBody InitializeDisks_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InitiateFileTransferFromGuestBody struct {
+ Req *types.InitiateFileTransferFromGuest `xml:"urn:vim25 InitiateFileTransferFromGuest,omitempty"`
+ Res *types.InitiateFileTransferFromGuestResponse `xml:"urn:vim25 InitiateFileTransferFromGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InitiateFileTransferFromGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InitiateFileTransferFromGuest(ctx context.Context, r soap.RoundTripper, req *types.InitiateFileTransferFromGuest) (*types.InitiateFileTransferFromGuestResponse, error) {
+ var reqBody, resBody InitiateFileTransferFromGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InitiateFileTransferToGuestBody struct {
+ Req *types.InitiateFileTransferToGuest `xml:"urn:vim25 InitiateFileTransferToGuest,omitempty"`
+ Res *types.InitiateFileTransferToGuestResponse `xml:"urn:vim25 InitiateFileTransferToGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InitiateFileTransferToGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InitiateFileTransferToGuest(ctx context.Context, r soap.RoundTripper, req *types.InitiateFileTransferToGuest) (*types.InitiateFileTransferToGuestResponse, error) {
+ var reqBody, resBody InitiateFileTransferToGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InstallHostPatchV2_TaskBody struct {
+ Req *types.InstallHostPatchV2_Task `xml:"urn:vim25 InstallHostPatchV2_Task,omitempty"`
+ Res *types.InstallHostPatchV2_TaskResponse `xml:"urn:vim25 InstallHostPatchV2_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InstallHostPatchV2_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InstallHostPatchV2_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallHostPatchV2_Task) (*types.InstallHostPatchV2_TaskResponse, error) {
+ var reqBody, resBody InstallHostPatchV2_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InstallHostPatch_TaskBody struct {
+ Req *types.InstallHostPatch_Task `xml:"urn:vim25 InstallHostPatch_Task,omitempty"`
+ Res *types.InstallHostPatch_TaskResponse `xml:"urn:vim25 InstallHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InstallHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InstallHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallHostPatch_Task) (*types.InstallHostPatch_TaskResponse, error) {
+ var reqBody, resBody InstallHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InstallIoFilter_TaskBody struct {
+ Req *types.InstallIoFilter_Task `xml:"urn:vim25 InstallIoFilter_Task,omitempty"`
+ Res *types.InstallIoFilter_TaskResponse `xml:"urn:vim25 InstallIoFilter_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InstallIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InstallIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallIoFilter_Task) (*types.InstallIoFilter_TaskResponse, error) {
+ var reqBody, resBody InstallIoFilter_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InstallServerCertificateBody struct {
+ Req *types.InstallServerCertificate `xml:"urn:vim25 InstallServerCertificate,omitempty"`
+ Res *types.InstallServerCertificateResponse `xml:"urn:vim25 InstallServerCertificateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InstallServerCertificateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InstallServerCertificate(ctx context.Context, r soap.RoundTripper, req *types.InstallServerCertificate) (*types.InstallServerCertificateResponse, error) {
+ var reqBody, resBody InstallServerCertificateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type InstallSmartCardTrustAnchorBody struct {
+ Req *types.InstallSmartCardTrustAnchor `xml:"urn:vim25 InstallSmartCardTrustAnchor,omitempty"`
+ Res *types.InstallSmartCardTrustAnchorResponse `xml:"urn:vim25 InstallSmartCardTrustAnchorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *InstallSmartCardTrustAnchorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func InstallSmartCardTrustAnchor(ctx context.Context, r soap.RoundTripper, req *types.InstallSmartCardTrustAnchor) (*types.InstallSmartCardTrustAnchorResponse, error) {
+ var reqBody, resBody InstallSmartCardTrustAnchorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type IsSharedGraphicsActiveBody struct {
+ Req *types.IsSharedGraphicsActive `xml:"urn:vim25 IsSharedGraphicsActive,omitempty"`
+ Res *types.IsSharedGraphicsActiveResponse `xml:"urn:vim25 IsSharedGraphicsActiveResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *IsSharedGraphicsActiveBody) Fault() *soap.Fault { return b.Fault_ }
+
+func IsSharedGraphicsActive(ctx context.Context, r soap.RoundTripper, req *types.IsSharedGraphicsActive) (*types.IsSharedGraphicsActiveResponse, error) {
+ var reqBody, resBody IsSharedGraphicsActiveBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type JoinDomainWithCAM_TaskBody struct {
+ Req *types.JoinDomainWithCAM_Task `xml:"urn:vim25 JoinDomainWithCAM_Task,omitempty"`
+ Res *types.JoinDomainWithCAM_TaskResponse `xml:"urn:vim25 JoinDomainWithCAM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *JoinDomainWithCAM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func JoinDomainWithCAM_Task(ctx context.Context, r soap.RoundTripper, req *types.JoinDomainWithCAM_Task) (*types.JoinDomainWithCAM_TaskResponse, error) {
+ var reqBody, resBody JoinDomainWithCAM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type JoinDomain_TaskBody struct {
+ Req *types.JoinDomain_Task `xml:"urn:vim25 JoinDomain_Task,omitempty"`
+ Res *types.JoinDomain_TaskResponse `xml:"urn:vim25 JoinDomain_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *JoinDomain_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func JoinDomain_Task(ctx context.Context, r soap.RoundTripper, req *types.JoinDomain_Task) (*types.JoinDomain_TaskResponse, error) {
+ var reqBody, resBody JoinDomain_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LeaveCurrentDomain_TaskBody struct {
+ Req *types.LeaveCurrentDomain_Task `xml:"urn:vim25 LeaveCurrentDomain_Task,omitempty"`
+ Res *types.LeaveCurrentDomain_TaskResponse `xml:"urn:vim25 LeaveCurrentDomain_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LeaveCurrentDomain_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LeaveCurrentDomain_Task(ctx context.Context, r soap.RoundTripper, req *types.LeaveCurrentDomain_Task) (*types.LeaveCurrentDomain_TaskResponse, error) {
+ var reqBody, resBody LeaveCurrentDomain_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListCACertificateRevocationListsBody struct {
+ Req *types.ListCACertificateRevocationLists `xml:"urn:vim25 ListCACertificateRevocationLists,omitempty"`
+ Res *types.ListCACertificateRevocationListsResponse `xml:"urn:vim25 ListCACertificateRevocationListsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListCACertificateRevocationListsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListCACertificateRevocationLists(ctx context.Context, r soap.RoundTripper, req *types.ListCACertificateRevocationLists) (*types.ListCACertificateRevocationListsResponse, error) {
+ var reqBody, resBody ListCACertificateRevocationListsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListCACertificatesBody struct {
+ Req *types.ListCACertificates `xml:"urn:vim25 ListCACertificates,omitempty"`
+ Res *types.ListCACertificatesResponse `xml:"urn:vim25 ListCACertificatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListCACertificatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListCACertificates(ctx context.Context, r soap.RoundTripper, req *types.ListCACertificates) (*types.ListCACertificatesResponse, error) {
+ var reqBody, resBody ListCACertificatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListFilesInGuestBody struct {
+ Req *types.ListFilesInGuest `xml:"urn:vim25 ListFilesInGuest,omitempty"`
+ Res *types.ListFilesInGuestResponse `xml:"urn:vim25 ListFilesInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListFilesInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListFilesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListFilesInGuest) (*types.ListFilesInGuestResponse, error) {
+ var reqBody, resBody ListFilesInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListGuestAliasesBody struct {
+ Req *types.ListGuestAliases `xml:"urn:vim25 ListGuestAliases,omitempty"`
+ Res *types.ListGuestAliasesResponse `xml:"urn:vim25 ListGuestAliasesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListGuestAliasesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListGuestAliases(ctx context.Context, r soap.RoundTripper, req *types.ListGuestAliases) (*types.ListGuestAliasesResponse, error) {
+ var reqBody, resBody ListGuestAliasesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListGuestMappedAliasesBody struct {
+ Req *types.ListGuestMappedAliases `xml:"urn:vim25 ListGuestMappedAliases,omitempty"`
+ Res *types.ListGuestMappedAliasesResponse `xml:"urn:vim25 ListGuestMappedAliasesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListGuestMappedAliasesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListGuestMappedAliases(ctx context.Context, r soap.RoundTripper, req *types.ListGuestMappedAliases) (*types.ListGuestMappedAliasesResponse, error) {
+ var reqBody, resBody ListGuestMappedAliasesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListKeysBody struct {
+ Req *types.ListKeys `xml:"urn:vim25 ListKeys,omitempty"`
+ Res *types.ListKeysResponse `xml:"urn:vim25 ListKeysResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListKeysBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListKeys(ctx context.Context, r soap.RoundTripper, req *types.ListKeys) (*types.ListKeysResponse, error) {
+ var reqBody, resBody ListKeysBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListKmipServersBody struct {
+ Req *types.ListKmipServers `xml:"urn:vim25 ListKmipServers,omitempty"`
+ Res *types.ListKmipServersResponse `xml:"urn:vim25 ListKmipServersResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListKmipServersBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListKmipServers(ctx context.Context, r soap.RoundTripper, req *types.ListKmipServers) (*types.ListKmipServersResponse, error) {
+ var reqBody, resBody ListKmipServersBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListProcessesInGuestBody struct {
+ Req *types.ListProcessesInGuest `xml:"urn:vim25 ListProcessesInGuest,omitempty"`
+ Res *types.ListProcessesInGuestResponse `xml:"urn:vim25 ListProcessesInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListProcessesInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListProcessesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListProcessesInGuest) (*types.ListProcessesInGuestResponse, error) {
+ var reqBody, resBody ListProcessesInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListRegistryKeysInGuestBody struct {
+ Req *types.ListRegistryKeysInGuest `xml:"urn:vim25 ListRegistryKeysInGuest,omitempty"`
+ Res *types.ListRegistryKeysInGuestResponse `xml:"urn:vim25 ListRegistryKeysInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListRegistryKeysInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListRegistryKeysInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListRegistryKeysInGuest) (*types.ListRegistryKeysInGuestResponse, error) {
+ var reqBody, resBody ListRegistryKeysInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListRegistryValuesInGuestBody struct {
+ Req *types.ListRegistryValuesInGuest `xml:"urn:vim25 ListRegistryValuesInGuest,omitempty"`
+ Res *types.ListRegistryValuesInGuestResponse `xml:"urn:vim25 ListRegistryValuesInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListRegistryValuesInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListRegistryValuesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListRegistryValuesInGuest) (*types.ListRegistryValuesInGuestResponse, error) {
+ var reqBody, resBody ListRegistryValuesInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListSmartCardTrustAnchorsBody struct {
+ Req *types.ListSmartCardTrustAnchors `xml:"urn:vim25 ListSmartCardTrustAnchors,omitempty"`
+ Res *types.ListSmartCardTrustAnchorsResponse `xml:"urn:vim25 ListSmartCardTrustAnchorsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListSmartCardTrustAnchorsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListSmartCardTrustAnchors(ctx context.Context, r soap.RoundTripper, req *types.ListSmartCardTrustAnchors) (*types.ListSmartCardTrustAnchorsResponse, error) {
+ var reqBody, resBody ListSmartCardTrustAnchorsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListTagsAttachedToVStorageObjectBody struct {
+ Req *types.ListTagsAttachedToVStorageObject `xml:"urn:vim25 ListTagsAttachedToVStorageObject,omitempty"`
+ Res *types.ListTagsAttachedToVStorageObjectResponse `xml:"urn:vim25 ListTagsAttachedToVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListTagsAttachedToVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListTagsAttachedToVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.ListTagsAttachedToVStorageObject) (*types.ListTagsAttachedToVStorageObjectResponse, error) {
+ var reqBody, resBody ListTagsAttachedToVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListVStorageObjectBody struct {
+ Req *types.ListVStorageObject `xml:"urn:vim25 ListVStorageObject,omitempty"`
+ Res *types.ListVStorageObjectResponse `xml:"urn:vim25 ListVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.ListVStorageObject) (*types.ListVStorageObjectResponse, error) {
+ var reqBody, resBody ListVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ListVStorageObjectsAttachedToTagBody struct {
+ Req *types.ListVStorageObjectsAttachedToTag `xml:"urn:vim25 ListVStorageObjectsAttachedToTag,omitempty"`
+ Res *types.ListVStorageObjectsAttachedToTagResponse `xml:"urn:vim25 ListVStorageObjectsAttachedToTagResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ListVStorageObjectsAttachedToTagBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ListVStorageObjectsAttachedToTag(ctx context.Context, r soap.RoundTripper, req *types.ListVStorageObjectsAttachedToTag) (*types.ListVStorageObjectsAttachedToTagResponse, error) {
+ var reqBody, resBody ListVStorageObjectsAttachedToTagBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LogUserEventBody struct {
+ Req *types.LogUserEvent `xml:"urn:vim25 LogUserEvent,omitempty"`
+ Res *types.LogUserEventResponse `xml:"urn:vim25 LogUserEventResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LogUserEventBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LogUserEvent(ctx context.Context, r soap.RoundTripper, req *types.LogUserEvent) (*types.LogUserEventResponse, error) {
+ var reqBody, resBody LogUserEventBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LoginBody struct {
+ Req *types.Login `xml:"urn:vim25 Login,omitempty"`
+ Res *types.LoginResponse `xml:"urn:vim25 LoginResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LoginBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Login(ctx context.Context, r soap.RoundTripper, req *types.Login) (*types.LoginResponse, error) {
+ var reqBody, resBody LoginBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LoginBySSPIBody struct {
+ Req *types.LoginBySSPI `xml:"urn:vim25 LoginBySSPI,omitempty"`
+ Res *types.LoginBySSPIResponse `xml:"urn:vim25 LoginBySSPIResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LoginBySSPIBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LoginBySSPI(ctx context.Context, r soap.RoundTripper, req *types.LoginBySSPI) (*types.LoginBySSPIResponse, error) {
+ var reqBody, resBody LoginBySSPIBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LoginByTokenBody struct {
+ Req *types.LoginByToken `xml:"urn:vim25 LoginByToken,omitempty"`
+ Res *types.LoginByTokenResponse `xml:"urn:vim25 LoginByTokenResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LoginByTokenBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LoginByToken(ctx context.Context, r soap.RoundTripper, req *types.LoginByToken) (*types.LoginByTokenResponse, error) {
+ var reqBody, resBody LoginByTokenBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LoginExtensionByCertificateBody struct {
+ Req *types.LoginExtensionByCertificate `xml:"urn:vim25 LoginExtensionByCertificate,omitempty"`
+ Res *types.LoginExtensionByCertificateResponse `xml:"urn:vim25 LoginExtensionByCertificateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LoginExtensionByCertificateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LoginExtensionByCertificate(ctx context.Context, r soap.RoundTripper, req *types.LoginExtensionByCertificate) (*types.LoginExtensionByCertificateResponse, error) {
+ var reqBody, resBody LoginExtensionByCertificateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LoginExtensionBySubjectNameBody struct {
+ Req *types.LoginExtensionBySubjectName `xml:"urn:vim25 LoginExtensionBySubjectName,omitempty"`
+ Res *types.LoginExtensionBySubjectNameResponse `xml:"urn:vim25 LoginExtensionBySubjectNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LoginExtensionBySubjectNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LoginExtensionBySubjectName(ctx context.Context, r soap.RoundTripper, req *types.LoginExtensionBySubjectName) (*types.LoginExtensionBySubjectNameResponse, error) {
+ var reqBody, resBody LoginExtensionBySubjectNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LogoutBody struct {
+ Req *types.Logout `xml:"urn:vim25 Logout,omitempty"`
+ Res *types.LogoutResponse `xml:"urn:vim25 LogoutResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LogoutBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Logout(ctx context.Context, r soap.RoundTripper, req *types.Logout) (*types.LogoutResponse, error) {
+ var reqBody, resBody LogoutBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LookupDvPortGroupBody struct {
+ Req *types.LookupDvPortGroup `xml:"urn:vim25 LookupDvPortGroup,omitempty"`
+ Res *types.LookupDvPortGroupResponse `xml:"urn:vim25 LookupDvPortGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LookupDvPortGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LookupDvPortGroup(ctx context.Context, r soap.RoundTripper, req *types.LookupDvPortGroup) (*types.LookupDvPortGroupResponse, error) {
+ var reqBody, resBody LookupDvPortGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type LookupVmOverheadMemoryBody struct {
+ Req *types.LookupVmOverheadMemory `xml:"urn:vim25 LookupVmOverheadMemory,omitempty"`
+ Res *types.LookupVmOverheadMemoryResponse `xml:"urn:vim25 LookupVmOverheadMemoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *LookupVmOverheadMemoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func LookupVmOverheadMemory(ctx context.Context, r soap.RoundTripper, req *types.LookupVmOverheadMemory) (*types.LookupVmOverheadMemoryResponse, error) {
+ var reqBody, resBody LookupVmOverheadMemoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MakeDirectoryBody struct {
+ Req *types.MakeDirectory `xml:"urn:vim25 MakeDirectory,omitempty"`
+ Res *types.MakeDirectoryResponse `xml:"urn:vim25 MakeDirectoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MakeDirectoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MakeDirectory(ctx context.Context, r soap.RoundTripper, req *types.MakeDirectory) (*types.MakeDirectoryResponse, error) {
+ var reqBody, resBody MakeDirectoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MakeDirectoryInGuestBody struct {
+ Req *types.MakeDirectoryInGuest `xml:"urn:vim25 MakeDirectoryInGuest,omitempty"`
+ Res *types.MakeDirectoryInGuestResponse `xml:"urn:vim25 MakeDirectoryInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MakeDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MakeDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.MakeDirectoryInGuest) (*types.MakeDirectoryInGuestResponse, error) {
+ var reqBody, resBody MakeDirectoryInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MakePrimaryVM_TaskBody struct {
+ Req *types.MakePrimaryVM_Task `xml:"urn:vim25 MakePrimaryVM_Task,omitempty"`
+ Res *types.MakePrimaryVM_TaskResponse `xml:"urn:vim25 MakePrimaryVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MakePrimaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MakePrimaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.MakePrimaryVM_Task) (*types.MakePrimaryVM_TaskResponse, error) {
+ var reqBody, resBody MakePrimaryVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsLocal_TaskBody struct {
+ Req *types.MarkAsLocal_Task `xml:"urn:vim25 MarkAsLocal_Task,omitempty"`
+ Res *types.MarkAsLocal_TaskResponse `xml:"urn:vim25 MarkAsLocal_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsLocal_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsLocal_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsLocal_Task) (*types.MarkAsLocal_TaskResponse, error) {
+ var reqBody, resBody MarkAsLocal_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsNonLocal_TaskBody struct {
+ Req *types.MarkAsNonLocal_Task `xml:"urn:vim25 MarkAsNonLocal_Task,omitempty"`
+ Res *types.MarkAsNonLocal_TaskResponse `xml:"urn:vim25 MarkAsNonLocal_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsNonLocal_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsNonLocal_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsNonLocal_Task) (*types.MarkAsNonLocal_TaskResponse, error) {
+ var reqBody, resBody MarkAsNonLocal_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsNonSsd_TaskBody struct {
+ Req *types.MarkAsNonSsd_Task `xml:"urn:vim25 MarkAsNonSsd_Task,omitempty"`
+ Res *types.MarkAsNonSsd_TaskResponse `xml:"urn:vim25 MarkAsNonSsd_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsNonSsd_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsNonSsd_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsNonSsd_Task) (*types.MarkAsNonSsd_TaskResponse, error) {
+ var reqBody, resBody MarkAsNonSsd_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsSsd_TaskBody struct {
+ Req *types.MarkAsSsd_Task `xml:"urn:vim25 MarkAsSsd_Task,omitempty"`
+ Res *types.MarkAsSsd_TaskResponse `xml:"urn:vim25 MarkAsSsd_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsSsd_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsSsd_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsSsd_Task) (*types.MarkAsSsd_TaskResponse, error) {
+ var reqBody, resBody MarkAsSsd_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsTemplateBody struct {
+ Req *types.MarkAsTemplate `xml:"urn:vim25 MarkAsTemplate,omitempty"`
+ Res *types.MarkAsTemplateResponse `xml:"urn:vim25 MarkAsTemplateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsTemplateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsTemplate(ctx context.Context, r soap.RoundTripper, req *types.MarkAsTemplate) (*types.MarkAsTemplateResponse, error) {
+ var reqBody, resBody MarkAsTemplateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkAsVirtualMachineBody struct {
+ Req *types.MarkAsVirtualMachine `xml:"urn:vim25 MarkAsVirtualMachine,omitempty"`
+ Res *types.MarkAsVirtualMachineResponse `xml:"urn:vim25 MarkAsVirtualMachineResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkAsVirtualMachineBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkAsVirtualMachine(ctx context.Context, r soap.RoundTripper, req *types.MarkAsVirtualMachine) (*types.MarkAsVirtualMachineResponse, error) {
+ var reqBody, resBody MarkAsVirtualMachineBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkDefaultBody struct {
+ Req *types.MarkDefault `xml:"urn:vim25 MarkDefault,omitempty"`
+ Res *types.MarkDefaultResponse `xml:"urn:vim25 MarkDefaultResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkDefaultBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkDefault(ctx context.Context, r soap.RoundTripper, req *types.MarkDefault) (*types.MarkDefaultResponse, error) {
+ var reqBody, resBody MarkDefaultBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MarkForRemovalBody struct {
+ Req *types.MarkForRemoval `xml:"urn:vim25 MarkForRemoval,omitempty"`
+ Res *types.MarkForRemovalResponse `xml:"urn:vim25 MarkForRemovalResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MarkForRemovalBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MarkForRemoval(ctx context.Context, r soap.RoundTripper, req *types.MarkForRemoval) (*types.MarkForRemovalResponse, error) {
+ var reqBody, resBody MarkForRemovalBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MergeDvs_TaskBody struct {
+ Req *types.MergeDvs_Task `xml:"urn:vim25 MergeDvs_Task,omitempty"`
+ Res *types.MergeDvs_TaskResponse `xml:"urn:vim25 MergeDvs_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MergeDvs_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MergeDvs_Task(ctx context.Context, r soap.RoundTripper, req *types.MergeDvs_Task) (*types.MergeDvs_TaskResponse, error) {
+ var reqBody, resBody MergeDvs_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MergePermissionsBody struct {
+ Req *types.MergePermissions `xml:"urn:vim25 MergePermissions,omitempty"`
+ Res *types.MergePermissionsResponse `xml:"urn:vim25 MergePermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MergePermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MergePermissions(ctx context.Context, r soap.RoundTripper, req *types.MergePermissions) (*types.MergePermissionsResponse, error) {
+ var reqBody, resBody MergePermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MigrateVM_TaskBody struct {
+ Req *types.MigrateVM_Task `xml:"urn:vim25 MigrateVM_Task,omitempty"`
+ Res *types.MigrateVM_TaskResponse `xml:"urn:vim25 MigrateVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MigrateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MigrateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.MigrateVM_Task) (*types.MigrateVM_TaskResponse, error) {
+ var reqBody, resBody MigrateVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ModifyListViewBody struct {
+ Req *types.ModifyListView `xml:"urn:vim25 ModifyListView,omitempty"`
+ Res *types.ModifyListViewResponse `xml:"urn:vim25 ModifyListViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ModifyListViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ModifyListView(ctx context.Context, r soap.RoundTripper, req *types.ModifyListView) (*types.ModifyListViewResponse, error) {
+ var reqBody, resBody ModifyListViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MountToolsInstallerBody struct {
+ Req *types.MountToolsInstaller `xml:"urn:vim25 MountToolsInstaller,omitempty"`
+ Res *types.MountToolsInstallerResponse `xml:"urn:vim25 MountToolsInstallerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MountToolsInstallerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MountToolsInstaller(ctx context.Context, r soap.RoundTripper, req *types.MountToolsInstaller) (*types.MountToolsInstallerResponse, error) {
+ var reqBody, resBody MountToolsInstallerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MountVffsVolumeBody struct {
+ Req *types.MountVffsVolume `xml:"urn:vim25 MountVffsVolume,omitempty"`
+ Res *types.MountVffsVolumeResponse `xml:"urn:vim25 MountVffsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MountVffsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MountVffsVolume(ctx context.Context, r soap.RoundTripper, req *types.MountVffsVolume) (*types.MountVffsVolumeResponse, error) {
+ var reqBody, resBody MountVffsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MountVmfsVolumeBody struct {
+ Req *types.MountVmfsVolume `xml:"urn:vim25 MountVmfsVolume,omitempty"`
+ Res *types.MountVmfsVolumeResponse `xml:"urn:vim25 MountVmfsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MountVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MountVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.MountVmfsVolume) (*types.MountVmfsVolumeResponse, error) {
+ var reqBody, resBody MountVmfsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MountVmfsVolumeEx_TaskBody struct {
+ Req *types.MountVmfsVolumeEx_Task `xml:"urn:vim25 MountVmfsVolumeEx_Task,omitempty"`
+ Res *types.MountVmfsVolumeEx_TaskResponse `xml:"urn:vim25 MountVmfsVolumeEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MountVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MountVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.MountVmfsVolumeEx_Task) (*types.MountVmfsVolumeEx_TaskResponse, error) {
+ var reqBody, resBody MountVmfsVolumeEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveDVPort_TaskBody struct {
+ Req *types.MoveDVPort_Task `xml:"urn:vim25 MoveDVPort_Task,omitempty"`
+ Res *types.MoveDVPort_TaskResponse `xml:"urn:vim25 MoveDVPort_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveDVPort_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveDVPort_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveDVPort_Task) (*types.MoveDVPort_TaskResponse, error) {
+ var reqBody, resBody MoveDVPort_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveDatastoreFile_TaskBody struct {
+ Req *types.MoveDatastoreFile_Task `xml:"urn:vim25 MoveDatastoreFile_Task,omitempty"`
+ Res *types.MoveDatastoreFile_TaskResponse `xml:"urn:vim25 MoveDatastoreFile_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveDatastoreFile_Task) (*types.MoveDatastoreFile_TaskResponse, error) {
+ var reqBody, resBody MoveDatastoreFile_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveDirectoryInGuestBody struct {
+ Req *types.MoveDirectoryInGuest `xml:"urn:vim25 MoveDirectoryInGuest,omitempty"`
+ Res *types.MoveDirectoryInGuestResponse `xml:"urn:vim25 MoveDirectoryInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.MoveDirectoryInGuest) (*types.MoveDirectoryInGuestResponse, error) {
+ var reqBody, resBody MoveDirectoryInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveFileInGuestBody struct {
+ Req *types.MoveFileInGuest `xml:"urn:vim25 MoveFileInGuest,omitempty"`
+ Res *types.MoveFileInGuestResponse `xml:"urn:vim25 MoveFileInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveFileInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.MoveFileInGuest) (*types.MoveFileInGuestResponse, error) {
+ var reqBody, resBody MoveFileInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveHostInto_TaskBody struct {
+ Req *types.MoveHostInto_Task `xml:"urn:vim25 MoveHostInto_Task,omitempty"`
+ Res *types.MoveHostInto_TaskResponse `xml:"urn:vim25 MoveHostInto_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveHostInto_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveHostInto_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveHostInto_Task) (*types.MoveHostInto_TaskResponse, error) {
+ var reqBody, resBody MoveHostInto_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveIntoFolder_TaskBody struct {
+ Req *types.MoveIntoFolder_Task `xml:"urn:vim25 MoveIntoFolder_Task,omitempty"`
+ Res *types.MoveIntoFolder_TaskResponse `xml:"urn:vim25 MoveIntoFolder_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveIntoFolder_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveIntoFolder_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveIntoFolder_Task) (*types.MoveIntoFolder_TaskResponse, error) {
+ var reqBody, resBody MoveIntoFolder_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveIntoResourcePoolBody struct {
+ Req *types.MoveIntoResourcePool `xml:"urn:vim25 MoveIntoResourcePool,omitempty"`
+ Res *types.MoveIntoResourcePoolResponse `xml:"urn:vim25 MoveIntoResourcePoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveIntoResourcePoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveIntoResourcePool(ctx context.Context, r soap.RoundTripper, req *types.MoveIntoResourcePool) (*types.MoveIntoResourcePoolResponse, error) {
+ var reqBody, resBody MoveIntoResourcePoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveInto_TaskBody struct {
+ Req *types.MoveInto_Task `xml:"urn:vim25 MoveInto_Task,omitempty"`
+ Res *types.MoveInto_TaskResponse `xml:"urn:vim25 MoveInto_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveInto_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveInto_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveInto_Task) (*types.MoveInto_TaskResponse, error) {
+ var reqBody, resBody MoveInto_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type MoveVirtualDisk_TaskBody struct {
+ Req *types.MoveVirtualDisk_Task `xml:"urn:vim25 MoveVirtualDisk_Task,omitempty"`
+ Res *types.MoveVirtualDisk_TaskResponse `xml:"urn:vim25 MoveVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *MoveVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func MoveVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveVirtualDisk_Task) (*types.MoveVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody MoveVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type OpenInventoryViewFolderBody struct {
+ Req *types.OpenInventoryViewFolder `xml:"urn:vim25 OpenInventoryViewFolder,omitempty"`
+ Res *types.OpenInventoryViewFolderResponse `xml:"urn:vim25 OpenInventoryViewFolderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *OpenInventoryViewFolderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func OpenInventoryViewFolder(ctx context.Context, r soap.RoundTripper, req *types.OpenInventoryViewFolder) (*types.OpenInventoryViewFolderResponse, error) {
+ var reqBody, resBody OpenInventoryViewFolderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type OverwriteCustomizationSpecBody struct {
+ Req *types.OverwriteCustomizationSpec `xml:"urn:vim25 OverwriteCustomizationSpec,omitempty"`
+ Res *types.OverwriteCustomizationSpecResponse `xml:"urn:vim25 OverwriteCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *OverwriteCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func OverwriteCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.OverwriteCustomizationSpec) (*types.OverwriteCustomizationSpecResponse, error) {
+ var reqBody, resBody OverwriteCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ParseDescriptorBody struct {
+ Req *types.ParseDescriptor `xml:"urn:vim25 ParseDescriptor,omitempty"`
+ Res *types.ParseDescriptorResponse `xml:"urn:vim25 ParseDescriptorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ParseDescriptorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ParseDescriptor(ctx context.Context, r soap.RoundTripper, req *types.ParseDescriptor) (*types.ParseDescriptorResponse, error) {
+ var reqBody, resBody ParseDescriptorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PerformDvsProductSpecOperation_TaskBody struct {
+ Req *types.PerformDvsProductSpecOperation_Task `xml:"urn:vim25 PerformDvsProductSpecOperation_Task,omitempty"`
+ Res *types.PerformDvsProductSpecOperation_TaskResponse `xml:"urn:vim25 PerformDvsProductSpecOperation_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PerformDvsProductSpecOperation_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PerformDvsProductSpecOperation_Task(ctx context.Context, r soap.RoundTripper, req *types.PerformDvsProductSpecOperation_Task) (*types.PerformDvsProductSpecOperation_TaskResponse, error) {
+ var reqBody, resBody PerformDvsProductSpecOperation_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PerformVsanUpgradePreflightCheckBody struct {
+ Req *types.PerformVsanUpgradePreflightCheck `xml:"urn:vim25 PerformVsanUpgradePreflightCheck,omitempty"`
+ Res *types.PerformVsanUpgradePreflightCheckResponse `xml:"urn:vim25 PerformVsanUpgradePreflightCheckResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PerformVsanUpgradePreflightCheckBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PerformVsanUpgradePreflightCheck(ctx context.Context, r soap.RoundTripper, req *types.PerformVsanUpgradePreflightCheck) (*types.PerformVsanUpgradePreflightCheckResponse, error) {
+ var reqBody, resBody PerformVsanUpgradePreflightCheckBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PerformVsanUpgrade_TaskBody struct {
+ Req *types.PerformVsanUpgrade_Task `xml:"urn:vim25 PerformVsanUpgrade_Task,omitempty"`
+ Res *types.PerformVsanUpgrade_TaskResponse `xml:"urn:vim25 PerformVsanUpgrade_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PerformVsanUpgrade_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PerformVsanUpgrade_Task(ctx context.Context, r soap.RoundTripper, req *types.PerformVsanUpgrade_Task) (*types.PerformVsanUpgrade_TaskResponse, error) {
+ var reqBody, resBody PerformVsanUpgrade_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PlaceVmBody struct {
+ Req *types.PlaceVm `xml:"urn:vim25 PlaceVm,omitempty"`
+ Res *types.PlaceVmResponse `xml:"urn:vim25 PlaceVmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PlaceVmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PlaceVm(ctx context.Context, r soap.RoundTripper, req *types.PlaceVm) (*types.PlaceVmResponse, error) {
+ var reqBody, resBody PlaceVmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PostEventBody struct {
+ Req *types.PostEvent `xml:"urn:vim25 PostEvent,omitempty"`
+ Res *types.PostEventResponse `xml:"urn:vim25 PostEventResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PostEventBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PostEvent(ctx context.Context, r soap.RoundTripper, req *types.PostEvent) (*types.PostEventResponse, error) {
+ var reqBody, resBody PostEventBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PostHealthUpdatesBody struct {
+ Req *types.PostHealthUpdates `xml:"urn:vim25 PostHealthUpdates,omitempty"`
+ Res *types.PostHealthUpdatesResponse `xml:"urn:vim25 PostHealthUpdatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PostHealthUpdatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PostHealthUpdates(ctx context.Context, r soap.RoundTripper, req *types.PostHealthUpdates) (*types.PostHealthUpdatesResponse, error) {
+ var reqBody, resBody PostHealthUpdatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerDownHostToStandBy_TaskBody struct {
+ Req *types.PowerDownHostToStandBy_Task `xml:"urn:vim25 PowerDownHostToStandBy_Task,omitempty"`
+ Res *types.PowerDownHostToStandBy_TaskResponse `xml:"urn:vim25 PowerDownHostToStandBy_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerDownHostToStandBy_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerDownHostToStandBy_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerDownHostToStandBy_Task) (*types.PowerDownHostToStandBy_TaskResponse, error) {
+ var reqBody, resBody PowerDownHostToStandBy_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerOffVApp_TaskBody struct {
+ Req *types.PowerOffVApp_Task `xml:"urn:vim25 PowerOffVApp_Task,omitempty"`
+ Res *types.PowerOffVApp_TaskResponse `xml:"urn:vim25 PowerOffVApp_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerOffVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerOffVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOffVApp_Task) (*types.PowerOffVApp_TaskResponse, error) {
+ var reqBody, resBody PowerOffVApp_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerOffVM_TaskBody struct {
+ Req *types.PowerOffVM_Task `xml:"urn:vim25 PowerOffVM_Task,omitempty"`
+ Res *types.PowerOffVM_TaskResponse `xml:"urn:vim25 PowerOffVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerOffVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerOffVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOffVM_Task) (*types.PowerOffVM_TaskResponse, error) {
+ var reqBody, resBody PowerOffVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerOnMultiVM_TaskBody struct {
+ Req *types.PowerOnMultiVM_Task `xml:"urn:vim25 PowerOnMultiVM_Task,omitempty"`
+ Res *types.PowerOnMultiVM_TaskResponse `xml:"urn:vim25 PowerOnMultiVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerOnMultiVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerOnMultiVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnMultiVM_Task) (*types.PowerOnMultiVM_TaskResponse, error) {
+ var reqBody, resBody PowerOnMultiVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerOnVApp_TaskBody struct {
+ Req *types.PowerOnVApp_Task `xml:"urn:vim25 PowerOnVApp_Task,omitempty"`
+ Res *types.PowerOnVApp_TaskResponse `xml:"urn:vim25 PowerOnVApp_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerOnVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerOnVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnVApp_Task) (*types.PowerOnVApp_TaskResponse, error) {
+ var reqBody, resBody PowerOnVApp_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerOnVM_TaskBody struct {
+ Req *types.PowerOnVM_Task `xml:"urn:vim25 PowerOnVM_Task,omitempty"`
+ Res *types.PowerOnVM_TaskResponse `xml:"urn:vim25 PowerOnVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerOnVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerOnVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnVM_Task) (*types.PowerOnVM_TaskResponse, error) {
+ var reqBody, resBody PowerOnVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PowerUpHostFromStandBy_TaskBody struct {
+ Req *types.PowerUpHostFromStandBy_Task `xml:"urn:vim25 PowerUpHostFromStandBy_Task,omitempty"`
+ Res *types.PowerUpHostFromStandBy_TaskResponse `xml:"urn:vim25 PowerUpHostFromStandBy_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PowerUpHostFromStandBy_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PowerUpHostFromStandBy_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerUpHostFromStandBy_Task) (*types.PowerUpHostFromStandBy_TaskResponse, error) {
+ var reqBody, resBody PowerUpHostFromStandBy_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PrepareCryptoBody struct {
+ Req *types.PrepareCrypto `xml:"urn:vim25 PrepareCrypto,omitempty"`
+ Res *types.PrepareCryptoResponse `xml:"urn:vim25 PrepareCryptoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PrepareCryptoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PrepareCrypto(ctx context.Context, r soap.RoundTripper, req *types.PrepareCrypto) (*types.PrepareCryptoResponse, error) {
+ var reqBody, resBody PrepareCryptoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PromoteDisks_TaskBody struct {
+ Req *types.PromoteDisks_Task `xml:"urn:vim25 PromoteDisks_Task,omitempty"`
+ Res *types.PromoteDisks_TaskResponse `xml:"urn:vim25 PromoteDisks_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PromoteDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PromoteDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.PromoteDisks_Task) (*types.PromoteDisks_TaskResponse, error) {
+ var reqBody, resBody PromoteDisks_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type PutUsbScanCodesBody struct {
+ Req *types.PutUsbScanCodes `xml:"urn:vim25 PutUsbScanCodes,omitempty"`
+ Res *types.PutUsbScanCodesResponse `xml:"urn:vim25 PutUsbScanCodesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *PutUsbScanCodesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func PutUsbScanCodes(ctx context.Context, r soap.RoundTripper, req *types.PutUsbScanCodes) (*types.PutUsbScanCodesResponse, error) {
+ var reqBody, resBody PutUsbScanCodesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAnswerFileStatusBody struct {
+ Req *types.QueryAnswerFileStatus `xml:"urn:vim25 QueryAnswerFileStatus,omitempty"`
+ Res *types.QueryAnswerFileStatusResponse `xml:"urn:vim25 QueryAnswerFileStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAnswerFileStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAnswerFileStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryAnswerFileStatus) (*types.QueryAnswerFileStatusResponse, error) {
+ var reqBody, resBody QueryAnswerFileStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAssignedLicensesBody struct {
+ Req *types.QueryAssignedLicenses `xml:"urn:vim25 QueryAssignedLicenses,omitempty"`
+ Res *types.QueryAssignedLicensesResponse `xml:"urn:vim25 QueryAssignedLicensesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAssignedLicensesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAssignedLicenses(ctx context.Context, r soap.RoundTripper, req *types.QueryAssignedLicenses) (*types.QueryAssignedLicensesResponse, error) {
+ var reqBody, resBody QueryAssignedLicensesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailableDisksForVmfsBody struct {
+ Req *types.QueryAvailableDisksForVmfs `xml:"urn:vim25 QueryAvailableDisksForVmfs,omitempty"`
+ Res *types.QueryAvailableDisksForVmfsResponse `xml:"urn:vim25 QueryAvailableDisksForVmfsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailableDisksForVmfsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailableDisksForVmfs(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableDisksForVmfs) (*types.QueryAvailableDisksForVmfsResponse, error) {
+ var reqBody, resBody QueryAvailableDisksForVmfsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailableDvsSpecBody struct {
+ Req *types.QueryAvailableDvsSpec `xml:"urn:vim25 QueryAvailableDvsSpec,omitempty"`
+ Res *types.QueryAvailableDvsSpecResponse `xml:"urn:vim25 QueryAvailableDvsSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailableDvsSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailableDvsSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableDvsSpec) (*types.QueryAvailableDvsSpecResponse, error) {
+ var reqBody, resBody QueryAvailableDvsSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailablePartitionBody struct {
+ Req *types.QueryAvailablePartition `xml:"urn:vim25 QueryAvailablePartition,omitempty"`
+ Res *types.QueryAvailablePartitionResponse `xml:"urn:vim25 QueryAvailablePartitionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailablePartitionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailablePartition(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailablePartition) (*types.QueryAvailablePartitionResponse, error) {
+ var reqBody, resBody QueryAvailablePartitionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailablePerfMetricBody struct {
+ Req *types.QueryAvailablePerfMetric `xml:"urn:vim25 QueryAvailablePerfMetric,omitempty"`
+ Res *types.QueryAvailablePerfMetricResponse `xml:"urn:vim25 QueryAvailablePerfMetricResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailablePerfMetricBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailablePerfMetric(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailablePerfMetric) (*types.QueryAvailablePerfMetricResponse, error) {
+ var reqBody, resBody QueryAvailablePerfMetricBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailableSsdsBody struct {
+ Req *types.QueryAvailableSsds `xml:"urn:vim25 QueryAvailableSsds,omitempty"`
+ Res *types.QueryAvailableSsdsResponse `xml:"urn:vim25 QueryAvailableSsdsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailableSsdsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailableSsds(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableSsds) (*types.QueryAvailableSsdsResponse, error) {
+ var reqBody, resBody QueryAvailableSsdsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryAvailableTimeZonesBody struct {
+ Req *types.QueryAvailableTimeZones `xml:"urn:vim25 QueryAvailableTimeZones,omitempty"`
+ Res *types.QueryAvailableTimeZonesResponse `xml:"urn:vim25 QueryAvailableTimeZonesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryAvailableTimeZonesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryAvailableTimeZones(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableTimeZones) (*types.QueryAvailableTimeZonesResponse, error) {
+ var reqBody, resBody QueryAvailableTimeZonesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryBootDevicesBody struct {
+ Req *types.QueryBootDevices `xml:"urn:vim25 QueryBootDevices,omitempty"`
+ Res *types.QueryBootDevicesResponse `xml:"urn:vim25 QueryBootDevicesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryBootDevicesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryBootDevices(ctx context.Context, r soap.RoundTripper, req *types.QueryBootDevices) (*types.QueryBootDevicesResponse, error) {
+ var reqBody, resBody QueryBootDevicesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryBoundVnicsBody struct {
+ Req *types.QueryBoundVnics `xml:"urn:vim25 QueryBoundVnics,omitempty"`
+ Res *types.QueryBoundVnicsResponse `xml:"urn:vim25 QueryBoundVnicsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryBoundVnicsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryBoundVnics(ctx context.Context, r soap.RoundTripper, req *types.QueryBoundVnics) (*types.QueryBoundVnicsResponse, error) {
+ var reqBody, resBody QueryBoundVnicsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryCandidateNicsBody struct {
+ Req *types.QueryCandidateNics `xml:"urn:vim25 QueryCandidateNics,omitempty"`
+ Res *types.QueryCandidateNicsResponse `xml:"urn:vim25 QueryCandidateNicsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryCandidateNicsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryCandidateNics(ctx context.Context, r soap.RoundTripper, req *types.QueryCandidateNics) (*types.QueryCandidateNicsResponse, error) {
+ var reqBody, resBody QueryCandidateNicsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryChangedDiskAreasBody struct {
+ Req *types.QueryChangedDiskAreas `xml:"urn:vim25 QueryChangedDiskAreas,omitempty"`
+ Res *types.QueryChangedDiskAreasResponse `xml:"urn:vim25 QueryChangedDiskAreasResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryChangedDiskAreasBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryChangedDiskAreas(ctx context.Context, r soap.RoundTripper, req *types.QueryChangedDiskAreas) (*types.QueryChangedDiskAreasResponse, error) {
+ var reqBody, resBody QueryChangedDiskAreasBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryCmmdsBody struct {
+ Req *types.QueryCmmds `xml:"urn:vim25 QueryCmmds,omitempty"`
+ Res *types.QueryCmmdsResponse `xml:"urn:vim25 QueryCmmdsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryCmmdsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryCmmds(ctx context.Context, r soap.RoundTripper, req *types.QueryCmmds) (*types.QueryCmmdsResponse, error) {
+ var reqBody, resBody QueryCmmdsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryCompatibleHostForExistingDvsBody struct {
+ Req *types.QueryCompatibleHostForExistingDvs `xml:"urn:vim25 QueryCompatibleHostForExistingDvs,omitempty"`
+ Res *types.QueryCompatibleHostForExistingDvsResponse `xml:"urn:vim25 QueryCompatibleHostForExistingDvsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryCompatibleHostForExistingDvsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryCompatibleHostForExistingDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryCompatibleHostForExistingDvs) (*types.QueryCompatibleHostForExistingDvsResponse, error) {
+ var reqBody, resBody QueryCompatibleHostForExistingDvsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryCompatibleHostForNewDvsBody struct {
+ Req *types.QueryCompatibleHostForNewDvs `xml:"urn:vim25 QueryCompatibleHostForNewDvs,omitempty"`
+ Res *types.QueryCompatibleHostForNewDvsResponse `xml:"urn:vim25 QueryCompatibleHostForNewDvsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryCompatibleHostForNewDvsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryCompatibleHostForNewDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryCompatibleHostForNewDvs) (*types.QueryCompatibleHostForNewDvsResponse, error) {
+ var reqBody, resBody QueryCompatibleHostForNewDvsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryComplianceStatusBody struct {
+ Req *types.QueryComplianceStatus `xml:"urn:vim25 QueryComplianceStatus,omitempty"`
+ Res *types.QueryComplianceStatusResponse `xml:"urn:vim25 QueryComplianceStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryComplianceStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryComplianceStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryComplianceStatus) (*types.QueryComplianceStatusResponse, error) {
+ var reqBody, resBody QueryComplianceStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConfigOptionBody struct {
+ Req *types.QueryConfigOption `xml:"urn:vim25 QueryConfigOption,omitempty"`
+ Res *types.QueryConfigOptionResponse `xml:"urn:vim25 QueryConfigOptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConfigOptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOption) (*types.QueryConfigOptionResponse, error) {
+ var reqBody, resBody QueryConfigOptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConfigOptionDescriptorBody struct {
+ Req *types.QueryConfigOptionDescriptor `xml:"urn:vim25 QueryConfigOptionDescriptor,omitempty"`
+ Res *types.QueryConfigOptionDescriptorResponse `xml:"urn:vim25 QueryConfigOptionDescriptorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConfigOptionDescriptorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConfigOptionDescriptor(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOptionDescriptor) (*types.QueryConfigOptionDescriptorResponse, error) {
+ var reqBody, resBody QueryConfigOptionDescriptorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConfigOptionExBody struct {
+ Req *types.QueryConfigOptionEx `xml:"urn:vim25 QueryConfigOptionEx,omitempty"`
+ Res *types.QueryConfigOptionExResponse `xml:"urn:vim25 QueryConfigOptionExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConfigOptionExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConfigOptionEx(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOptionEx) (*types.QueryConfigOptionExResponse, error) {
+ var reqBody, resBody QueryConfigOptionExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConfigTargetBody struct {
+ Req *types.QueryConfigTarget `xml:"urn:vim25 QueryConfigTarget,omitempty"`
+ Res *types.QueryConfigTargetResponse `xml:"urn:vim25 QueryConfigTargetResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConfigTargetBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConfigTarget(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigTarget) (*types.QueryConfigTargetResponse, error) {
+ var reqBody, resBody QueryConfigTargetBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConfiguredModuleOptionStringBody struct {
+ Req *types.QueryConfiguredModuleOptionString `xml:"urn:vim25 QueryConfiguredModuleOptionString,omitempty"`
+ Res *types.QueryConfiguredModuleOptionStringResponse `xml:"urn:vim25 QueryConfiguredModuleOptionStringResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConfiguredModuleOptionStringBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConfiguredModuleOptionString(ctx context.Context, r soap.RoundTripper, req *types.QueryConfiguredModuleOptionString) (*types.QueryConfiguredModuleOptionStringResponse, error) {
+ var reqBody, resBody QueryConfiguredModuleOptionStringBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConnectionInfoBody struct {
+ Req *types.QueryConnectionInfo `xml:"urn:vim25 QueryConnectionInfo,omitempty"`
+ Res *types.QueryConnectionInfoResponse `xml:"urn:vim25 QueryConnectionInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConnectionInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConnectionInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryConnectionInfo) (*types.QueryConnectionInfoResponse, error) {
+ var reqBody, resBody QueryConnectionInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryConnectionInfoViaSpecBody struct {
+ Req *types.QueryConnectionInfoViaSpec `xml:"urn:vim25 QueryConnectionInfoViaSpec,omitempty"`
+ Res *types.QueryConnectionInfoViaSpecResponse `xml:"urn:vim25 QueryConnectionInfoViaSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryConnectionInfoViaSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryConnectionInfoViaSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryConnectionInfoViaSpec) (*types.QueryConnectionInfoViaSpecResponse, error) {
+ var reqBody, resBody QueryConnectionInfoViaSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDatastorePerformanceSummaryBody struct {
+ Req *types.QueryDatastorePerformanceSummary `xml:"urn:vim25 QueryDatastorePerformanceSummary,omitempty"`
+ Res *types.QueryDatastorePerformanceSummaryResponse `xml:"urn:vim25 QueryDatastorePerformanceSummaryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDatastorePerformanceSummaryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDatastorePerformanceSummary(ctx context.Context, r soap.RoundTripper, req *types.QueryDatastorePerformanceSummary) (*types.QueryDatastorePerformanceSummaryResponse, error) {
+ var reqBody, resBody QueryDatastorePerformanceSummaryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDateTimeBody struct {
+ Req *types.QueryDateTime `xml:"urn:vim25 QueryDateTime,omitempty"`
+ Res *types.QueryDateTimeResponse `xml:"urn:vim25 QueryDateTimeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDateTimeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDateTime(ctx context.Context, r soap.RoundTripper, req *types.QueryDateTime) (*types.QueryDateTimeResponse, error) {
+ var reqBody, resBody QueryDateTimeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDescriptionsBody struct {
+ Req *types.QueryDescriptions `xml:"urn:vim25 QueryDescriptions,omitempty"`
+ Res *types.QueryDescriptionsResponse `xml:"urn:vim25 QueryDescriptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDescriptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDescriptions(ctx context.Context, r soap.RoundTripper, req *types.QueryDescriptions) (*types.QueryDescriptionsResponse, error) {
+ var reqBody, resBody QueryDescriptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDisksForVsanBody struct {
+ Req *types.QueryDisksForVsan `xml:"urn:vim25 QueryDisksForVsan,omitempty"`
+ Res *types.QueryDisksForVsanResponse `xml:"urn:vim25 QueryDisksForVsanResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDisksForVsanBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDisksForVsan(ctx context.Context, r soap.RoundTripper, req *types.QueryDisksForVsan) (*types.QueryDisksForVsanResponse, error) {
+ var reqBody, resBody QueryDisksForVsanBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDisksUsingFilterBody struct {
+ Req *types.QueryDisksUsingFilter `xml:"urn:vim25 QueryDisksUsingFilter,omitempty"`
+ Res *types.QueryDisksUsingFilterResponse `xml:"urn:vim25 QueryDisksUsingFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDisksUsingFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDisksUsingFilter(ctx context.Context, r soap.RoundTripper, req *types.QueryDisksUsingFilter) (*types.QueryDisksUsingFilterResponse, error) {
+ var reqBody, resBody QueryDisksUsingFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDvsByUuidBody struct {
+ Req *types.QueryDvsByUuid `xml:"urn:vim25 QueryDvsByUuid,omitempty"`
+ Res *types.QueryDvsByUuidResponse `xml:"urn:vim25 QueryDvsByUuidResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDvsByUuidBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDvsByUuid(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsByUuid) (*types.QueryDvsByUuidResponse, error) {
+ var reqBody, resBody QueryDvsByUuidBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDvsCheckCompatibilityBody struct {
+ Req *types.QueryDvsCheckCompatibility `xml:"urn:vim25 QueryDvsCheckCompatibility,omitempty"`
+ Res *types.QueryDvsCheckCompatibilityResponse `xml:"urn:vim25 QueryDvsCheckCompatibilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDvsCheckCompatibilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDvsCheckCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsCheckCompatibility) (*types.QueryDvsCheckCompatibilityResponse, error) {
+ var reqBody, resBody QueryDvsCheckCompatibilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDvsCompatibleHostSpecBody struct {
+ Req *types.QueryDvsCompatibleHostSpec `xml:"urn:vim25 QueryDvsCompatibleHostSpec,omitempty"`
+ Res *types.QueryDvsCompatibleHostSpecResponse `xml:"urn:vim25 QueryDvsCompatibleHostSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDvsCompatibleHostSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDvsCompatibleHostSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsCompatibleHostSpec) (*types.QueryDvsCompatibleHostSpecResponse, error) {
+ var reqBody, resBody QueryDvsCompatibleHostSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDvsConfigTargetBody struct {
+ Req *types.QueryDvsConfigTarget `xml:"urn:vim25 QueryDvsConfigTarget,omitempty"`
+ Res *types.QueryDvsConfigTargetResponse `xml:"urn:vim25 QueryDvsConfigTargetResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDvsConfigTargetBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDvsConfigTarget(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsConfigTarget) (*types.QueryDvsConfigTargetResponse, error) {
+ var reqBody, resBody QueryDvsConfigTargetBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryDvsFeatureCapabilityBody struct {
+ Req *types.QueryDvsFeatureCapability `xml:"urn:vim25 QueryDvsFeatureCapability,omitempty"`
+ Res *types.QueryDvsFeatureCapabilityResponse `xml:"urn:vim25 QueryDvsFeatureCapabilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryDvsFeatureCapabilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryDvsFeatureCapability(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsFeatureCapability) (*types.QueryDvsFeatureCapabilityResponse, error) {
+ var reqBody, resBody QueryDvsFeatureCapabilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryEventsBody struct {
+ Req *types.QueryEvents `xml:"urn:vim25 QueryEvents,omitempty"`
+ Res *types.QueryEventsResponse `xml:"urn:vim25 QueryEventsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryEventsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryEvents(ctx context.Context, r soap.RoundTripper, req *types.QueryEvents) (*types.QueryEventsResponse, error) {
+ var reqBody, resBody QueryEventsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryExpressionMetadataBody struct {
+ Req *types.QueryExpressionMetadata `xml:"urn:vim25 QueryExpressionMetadata,omitempty"`
+ Res *types.QueryExpressionMetadataResponse `xml:"urn:vim25 QueryExpressionMetadataResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryExpressionMetadataBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryExpressionMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryExpressionMetadata) (*types.QueryExpressionMetadataResponse, error) {
+ var reqBody, resBody QueryExpressionMetadataBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryExtensionIpAllocationUsageBody struct {
+ Req *types.QueryExtensionIpAllocationUsage `xml:"urn:vim25 QueryExtensionIpAllocationUsage,omitempty"`
+ Res *types.QueryExtensionIpAllocationUsageResponse `xml:"urn:vim25 QueryExtensionIpAllocationUsageResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryExtensionIpAllocationUsageBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryExtensionIpAllocationUsage(ctx context.Context, r soap.RoundTripper, req *types.QueryExtensionIpAllocationUsage) (*types.QueryExtensionIpAllocationUsageResponse, error) {
+ var reqBody, resBody QueryExtensionIpAllocationUsageBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFaultToleranceCompatibilityBody struct {
+ Req *types.QueryFaultToleranceCompatibility `xml:"urn:vim25 QueryFaultToleranceCompatibility,omitempty"`
+ Res *types.QueryFaultToleranceCompatibilityResponse `xml:"urn:vim25 QueryFaultToleranceCompatibilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFaultToleranceCompatibilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFaultToleranceCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryFaultToleranceCompatibility) (*types.QueryFaultToleranceCompatibilityResponse, error) {
+ var reqBody, resBody QueryFaultToleranceCompatibilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFaultToleranceCompatibilityExBody struct {
+ Req *types.QueryFaultToleranceCompatibilityEx `xml:"urn:vim25 QueryFaultToleranceCompatibilityEx,omitempty"`
+ Res *types.QueryFaultToleranceCompatibilityExResponse `xml:"urn:vim25 QueryFaultToleranceCompatibilityExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFaultToleranceCompatibilityExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFaultToleranceCompatibilityEx(ctx context.Context, r soap.RoundTripper, req *types.QueryFaultToleranceCompatibilityEx) (*types.QueryFaultToleranceCompatibilityExResponse, error) {
+ var reqBody, resBody QueryFaultToleranceCompatibilityExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFilterEntitiesBody struct {
+ Req *types.QueryFilterEntities `xml:"urn:vim25 QueryFilterEntities,omitempty"`
+ Res *types.QueryFilterEntitiesResponse `xml:"urn:vim25 QueryFilterEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterEntities) (*types.QueryFilterEntitiesResponse, error) {
+ var reqBody, resBody QueryFilterEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFilterInfoIdsBody struct {
+ Req *types.QueryFilterInfoIds `xml:"urn:vim25 QueryFilterInfoIds,omitempty"`
+ Res *types.QueryFilterInfoIdsResponse `xml:"urn:vim25 QueryFilterInfoIdsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFilterInfoIdsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFilterInfoIds(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterInfoIds) (*types.QueryFilterInfoIdsResponse, error) {
+ var reqBody, resBody QueryFilterInfoIdsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFilterListBody struct {
+ Req *types.QueryFilterList `xml:"urn:vim25 QueryFilterList,omitempty"`
+ Res *types.QueryFilterListResponse `xml:"urn:vim25 QueryFilterListResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFilterListBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFilterList(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterList) (*types.QueryFilterListResponse, error) {
+ var reqBody, resBody QueryFilterListBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFilterNameBody struct {
+ Req *types.QueryFilterName `xml:"urn:vim25 QueryFilterName,omitempty"`
+ Res *types.QueryFilterNameResponse `xml:"urn:vim25 QueryFilterNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFilterNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFilterName(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterName) (*types.QueryFilterNameResponse, error) {
+ var reqBody, resBody QueryFilterNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryFirmwareConfigUploadURLBody struct {
+ Req *types.QueryFirmwareConfigUploadURL `xml:"urn:vim25 QueryFirmwareConfigUploadURL,omitempty"`
+ Res *types.QueryFirmwareConfigUploadURLResponse `xml:"urn:vim25 QueryFirmwareConfigUploadURLResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryFirmwareConfigUploadURLBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryFirmwareConfigUploadURL(ctx context.Context, r soap.RoundTripper, req *types.QueryFirmwareConfigUploadURL) (*types.QueryFirmwareConfigUploadURLResponse, error) {
+ var reqBody, resBody QueryFirmwareConfigUploadURLBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHealthUpdateInfosBody struct {
+ Req *types.QueryHealthUpdateInfos `xml:"urn:vim25 QueryHealthUpdateInfos,omitempty"`
+ Res *types.QueryHealthUpdateInfosResponse `xml:"urn:vim25 QueryHealthUpdateInfosResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHealthUpdateInfosBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHealthUpdateInfos(ctx context.Context, r soap.RoundTripper, req *types.QueryHealthUpdateInfos) (*types.QueryHealthUpdateInfosResponse, error) {
+ var reqBody, resBody QueryHealthUpdateInfosBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHealthUpdatesBody struct {
+ Req *types.QueryHealthUpdates `xml:"urn:vim25 QueryHealthUpdates,omitempty"`
+ Res *types.QueryHealthUpdatesResponse `xml:"urn:vim25 QueryHealthUpdatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHealthUpdatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHealthUpdates(ctx context.Context, r soap.RoundTripper, req *types.QueryHealthUpdates) (*types.QueryHealthUpdatesResponse, error) {
+ var reqBody, resBody QueryHealthUpdatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHostConnectionInfoBody struct {
+ Req *types.QueryHostConnectionInfo `xml:"urn:vim25 QueryHostConnectionInfo,omitempty"`
+ Res *types.QueryHostConnectionInfoResponse `xml:"urn:vim25 QueryHostConnectionInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHostConnectionInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHostConnectionInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryHostConnectionInfo) (*types.QueryHostConnectionInfoResponse, error) {
+ var reqBody, resBody QueryHostConnectionInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHostPatch_TaskBody struct {
+ Req *types.QueryHostPatch_Task `xml:"urn:vim25 QueryHostPatch_Task,omitempty"`
+ Res *types.QueryHostPatch_TaskResponse `xml:"urn:vim25 QueryHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.QueryHostPatch_Task) (*types.QueryHostPatch_TaskResponse, error) {
+ var reqBody, resBody QueryHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHostProfileMetadataBody struct {
+ Req *types.QueryHostProfileMetadata `xml:"urn:vim25 QueryHostProfileMetadata,omitempty"`
+ Res *types.QueryHostProfileMetadataResponse `xml:"urn:vim25 QueryHostProfileMetadataResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHostProfileMetadataBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHostProfileMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryHostProfileMetadata) (*types.QueryHostProfileMetadataResponse, error) {
+ var reqBody, resBody QueryHostProfileMetadataBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryHostStatusBody struct {
+ Req *types.QueryHostStatus `xml:"urn:vim25 QueryHostStatus,omitempty"`
+ Res *types.QueryHostStatusResponse `xml:"urn:vim25 QueryHostStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryHostStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryHostStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryHostStatus) (*types.QueryHostStatusResponse, error) {
+ var reqBody, resBody QueryHostStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryIORMConfigOptionBody struct {
+ Req *types.QueryIORMConfigOption `xml:"urn:vim25 QueryIORMConfigOption,omitempty"`
+ Res *types.QueryIORMConfigOptionResponse `xml:"urn:vim25 QueryIORMConfigOptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryIORMConfigOptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryIORMConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryIORMConfigOption) (*types.QueryIORMConfigOptionResponse, error) {
+ var reqBody, resBody QueryIORMConfigOptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryIPAllocationsBody struct {
+ Req *types.QueryIPAllocations `xml:"urn:vim25 QueryIPAllocations,omitempty"`
+ Res *types.QueryIPAllocationsResponse `xml:"urn:vim25 QueryIPAllocationsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryIPAllocationsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryIPAllocations(ctx context.Context, r soap.RoundTripper, req *types.QueryIPAllocations) (*types.QueryIPAllocationsResponse, error) {
+ var reqBody, resBody QueryIPAllocationsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryIoFilterInfoBody struct {
+ Req *types.QueryIoFilterInfo `xml:"urn:vim25 QueryIoFilterInfo,omitempty"`
+ Res *types.QueryIoFilterInfoResponse `xml:"urn:vim25 QueryIoFilterInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryIoFilterInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryIoFilterInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryIoFilterInfo) (*types.QueryIoFilterInfoResponse, error) {
+ var reqBody, resBody QueryIoFilterInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryIoFilterIssuesBody struct {
+ Req *types.QueryIoFilterIssues `xml:"urn:vim25 QueryIoFilterIssues,omitempty"`
+ Res *types.QueryIoFilterIssuesResponse `xml:"urn:vim25 QueryIoFilterIssuesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryIoFilterIssuesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryIoFilterIssues(ctx context.Context, r soap.RoundTripper, req *types.QueryIoFilterIssues) (*types.QueryIoFilterIssuesResponse, error) {
+ var reqBody, resBody QueryIoFilterIssuesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryIpPoolsBody struct {
+ Req *types.QueryIpPools `xml:"urn:vim25 QueryIpPools,omitempty"`
+ Res *types.QueryIpPoolsResponse `xml:"urn:vim25 QueryIpPoolsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryIpPoolsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryIpPools(ctx context.Context, r soap.RoundTripper, req *types.QueryIpPools) (*types.QueryIpPoolsResponse, error) {
+ var reqBody, resBody QueryIpPoolsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryLicenseSourceAvailabilityBody struct {
+ Req *types.QueryLicenseSourceAvailability `xml:"urn:vim25 QueryLicenseSourceAvailability,omitempty"`
+ Res *types.QueryLicenseSourceAvailabilityResponse `xml:"urn:vim25 QueryLicenseSourceAvailabilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryLicenseSourceAvailabilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryLicenseSourceAvailability(ctx context.Context, r soap.RoundTripper, req *types.QueryLicenseSourceAvailability) (*types.QueryLicenseSourceAvailabilityResponse, error) {
+ var reqBody, resBody QueryLicenseSourceAvailabilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryLicenseUsageBody struct {
+ Req *types.QueryLicenseUsage `xml:"urn:vim25 QueryLicenseUsage,omitempty"`
+ Res *types.QueryLicenseUsageResponse `xml:"urn:vim25 QueryLicenseUsageResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryLicenseUsageBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryLicenseUsage(ctx context.Context, r soap.RoundTripper, req *types.QueryLicenseUsage) (*types.QueryLicenseUsageResponse, error) {
+ var reqBody, resBody QueryLicenseUsageBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryLockdownExceptionsBody struct {
+ Req *types.QueryLockdownExceptions `xml:"urn:vim25 QueryLockdownExceptions,omitempty"`
+ Res *types.QueryLockdownExceptionsResponse `xml:"urn:vim25 QueryLockdownExceptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryLockdownExceptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryLockdownExceptions(ctx context.Context, r soap.RoundTripper, req *types.QueryLockdownExceptions) (*types.QueryLockdownExceptionsResponse, error) {
+ var reqBody, resBody QueryLockdownExceptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryManagedByBody struct {
+ Req *types.QueryManagedBy `xml:"urn:vim25 QueryManagedBy,omitempty"`
+ Res *types.QueryManagedByResponse `xml:"urn:vim25 QueryManagedByResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryManagedByBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryManagedBy(ctx context.Context, r soap.RoundTripper, req *types.QueryManagedBy) (*types.QueryManagedByResponse, error) {
+ var reqBody, resBody QueryManagedByBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryMemoryOverheadBody struct {
+ Req *types.QueryMemoryOverhead `xml:"urn:vim25 QueryMemoryOverhead,omitempty"`
+ Res *types.QueryMemoryOverheadResponse `xml:"urn:vim25 QueryMemoryOverheadResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryMemoryOverheadBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryMemoryOverhead(ctx context.Context, r soap.RoundTripper, req *types.QueryMemoryOverhead) (*types.QueryMemoryOverheadResponse, error) {
+ var reqBody, resBody QueryMemoryOverheadBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryMemoryOverheadExBody struct {
+ Req *types.QueryMemoryOverheadEx `xml:"urn:vim25 QueryMemoryOverheadEx,omitempty"`
+ Res *types.QueryMemoryOverheadExResponse `xml:"urn:vim25 QueryMemoryOverheadExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryMemoryOverheadExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryMemoryOverheadEx(ctx context.Context, r soap.RoundTripper, req *types.QueryMemoryOverheadEx) (*types.QueryMemoryOverheadExResponse, error) {
+ var reqBody, resBody QueryMemoryOverheadExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryMigrationDependenciesBody struct {
+ Req *types.QueryMigrationDependencies `xml:"urn:vim25 QueryMigrationDependencies,omitempty"`
+ Res *types.QueryMigrationDependenciesResponse `xml:"urn:vim25 QueryMigrationDependenciesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryMigrationDependenciesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryMigrationDependencies(ctx context.Context, r soap.RoundTripper, req *types.QueryMigrationDependencies) (*types.QueryMigrationDependenciesResponse, error) {
+ var reqBody, resBody QueryMigrationDependenciesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryModulesBody struct {
+ Req *types.QueryModules `xml:"urn:vim25 QueryModules,omitempty"`
+ Res *types.QueryModulesResponse `xml:"urn:vim25 QueryModulesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryModulesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryModules(ctx context.Context, r soap.RoundTripper, req *types.QueryModules) (*types.QueryModulesResponse, error) {
+ var reqBody, resBody QueryModulesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryMonitoredEntitiesBody struct {
+ Req *types.QueryMonitoredEntities `xml:"urn:vim25 QueryMonitoredEntities,omitempty"`
+ Res *types.QueryMonitoredEntitiesResponse `xml:"urn:vim25 QueryMonitoredEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.QueryMonitoredEntities) (*types.QueryMonitoredEntitiesResponse, error) {
+ var reqBody, resBody QueryMonitoredEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryNFSUserBody struct {
+ Req *types.QueryNFSUser `xml:"urn:vim25 QueryNFSUser,omitempty"`
+ Res *types.QueryNFSUserResponse `xml:"urn:vim25 QueryNFSUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryNFSUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryNFSUser(ctx context.Context, r soap.RoundTripper, req *types.QueryNFSUser) (*types.QueryNFSUserResponse, error) {
+ var reqBody, resBody QueryNFSUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryNetConfigBody struct {
+ Req *types.QueryNetConfig `xml:"urn:vim25 QueryNetConfig,omitempty"`
+ Res *types.QueryNetConfigResponse `xml:"urn:vim25 QueryNetConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryNetConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryNetConfig(ctx context.Context, r soap.RoundTripper, req *types.QueryNetConfig) (*types.QueryNetConfigResponse, error) {
+ var reqBody, resBody QueryNetConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryNetworkHintBody struct {
+ Req *types.QueryNetworkHint `xml:"urn:vim25 QueryNetworkHint,omitempty"`
+ Res *types.QueryNetworkHintResponse `xml:"urn:vim25 QueryNetworkHintResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryNetworkHintBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryNetworkHint(ctx context.Context, r soap.RoundTripper, req *types.QueryNetworkHint) (*types.QueryNetworkHintResponse, error) {
+ var reqBody, resBody QueryNetworkHintBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryObjectsOnPhysicalVsanDiskBody struct {
+ Req *types.QueryObjectsOnPhysicalVsanDisk `xml:"urn:vim25 QueryObjectsOnPhysicalVsanDisk,omitempty"`
+ Res *types.QueryObjectsOnPhysicalVsanDiskResponse `xml:"urn:vim25 QueryObjectsOnPhysicalVsanDiskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryObjectsOnPhysicalVsanDiskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryObjectsOnPhysicalVsanDisk(ctx context.Context, r soap.RoundTripper, req *types.QueryObjectsOnPhysicalVsanDisk) (*types.QueryObjectsOnPhysicalVsanDiskResponse, error) {
+ var reqBody, resBody QueryObjectsOnPhysicalVsanDiskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryOptionsBody struct {
+ Req *types.QueryOptions `xml:"urn:vim25 QueryOptions,omitempty"`
+ Res *types.QueryOptionsResponse `xml:"urn:vim25 QueryOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryOptions) (*types.QueryOptionsResponse, error) {
+ var reqBody, resBody QueryOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPartitionCreateDescBody struct {
+ Req *types.QueryPartitionCreateDesc `xml:"urn:vim25 QueryPartitionCreateDesc,omitempty"`
+ Res *types.QueryPartitionCreateDescResponse `xml:"urn:vim25 QueryPartitionCreateDescResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPartitionCreateDescBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPartitionCreateDesc(ctx context.Context, r soap.RoundTripper, req *types.QueryPartitionCreateDesc) (*types.QueryPartitionCreateDescResponse, error) {
+ var reqBody, resBody QueryPartitionCreateDescBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPartitionCreateOptionsBody struct {
+ Req *types.QueryPartitionCreateOptions `xml:"urn:vim25 QueryPartitionCreateOptions,omitempty"`
+ Res *types.QueryPartitionCreateOptionsResponse `xml:"urn:vim25 QueryPartitionCreateOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPartitionCreateOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPartitionCreateOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryPartitionCreateOptions) (*types.QueryPartitionCreateOptionsResponse, error) {
+ var reqBody, resBody QueryPartitionCreateOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPathSelectionPolicyOptionsBody struct {
+ Req *types.QueryPathSelectionPolicyOptions `xml:"urn:vim25 QueryPathSelectionPolicyOptions,omitempty"`
+ Res *types.QueryPathSelectionPolicyOptionsResponse `xml:"urn:vim25 QueryPathSelectionPolicyOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPathSelectionPolicyOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPathSelectionPolicyOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryPathSelectionPolicyOptions) (*types.QueryPathSelectionPolicyOptionsResponse, error) {
+ var reqBody, resBody QueryPathSelectionPolicyOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPerfBody struct {
+ Req *types.QueryPerf `xml:"urn:vim25 QueryPerf,omitempty"`
+ Res *types.QueryPerfResponse `xml:"urn:vim25 QueryPerfResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPerfBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPerf(ctx context.Context, r soap.RoundTripper, req *types.QueryPerf) (*types.QueryPerfResponse, error) {
+ var reqBody, resBody QueryPerfBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPerfCompositeBody struct {
+ Req *types.QueryPerfComposite `xml:"urn:vim25 QueryPerfComposite,omitempty"`
+ Res *types.QueryPerfCompositeResponse `xml:"urn:vim25 QueryPerfCompositeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPerfCompositeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPerfComposite(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfComposite) (*types.QueryPerfCompositeResponse, error) {
+ var reqBody, resBody QueryPerfCompositeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPerfCounterBody struct {
+ Req *types.QueryPerfCounter `xml:"urn:vim25 QueryPerfCounter,omitempty"`
+ Res *types.QueryPerfCounterResponse `xml:"urn:vim25 QueryPerfCounterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPerfCounterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPerfCounter(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfCounter) (*types.QueryPerfCounterResponse, error) {
+ var reqBody, resBody QueryPerfCounterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPerfCounterByLevelBody struct {
+ Req *types.QueryPerfCounterByLevel `xml:"urn:vim25 QueryPerfCounterByLevel,omitempty"`
+ Res *types.QueryPerfCounterByLevelResponse `xml:"urn:vim25 QueryPerfCounterByLevelResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPerfCounterByLevelBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPerfCounterByLevel(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfCounterByLevel) (*types.QueryPerfCounterByLevelResponse, error) {
+ var reqBody, resBody QueryPerfCounterByLevelBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPerfProviderSummaryBody struct {
+ Req *types.QueryPerfProviderSummary `xml:"urn:vim25 QueryPerfProviderSummary,omitempty"`
+ Res *types.QueryPerfProviderSummaryResponse `xml:"urn:vim25 QueryPerfProviderSummaryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPerfProviderSummaryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPerfProviderSummary(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfProviderSummary) (*types.QueryPerfProviderSummaryResponse, error) {
+ var reqBody, resBody QueryPerfProviderSummaryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPhysicalVsanDisksBody struct {
+ Req *types.QueryPhysicalVsanDisks `xml:"urn:vim25 QueryPhysicalVsanDisks,omitempty"`
+ Res *types.QueryPhysicalVsanDisksResponse `xml:"urn:vim25 QueryPhysicalVsanDisksResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPhysicalVsanDisksBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPhysicalVsanDisks(ctx context.Context, r soap.RoundTripper, req *types.QueryPhysicalVsanDisks) (*types.QueryPhysicalVsanDisksResponse, error) {
+ var reqBody, resBody QueryPhysicalVsanDisksBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPnicStatusBody struct {
+ Req *types.QueryPnicStatus `xml:"urn:vim25 QueryPnicStatus,omitempty"`
+ Res *types.QueryPnicStatusResponse `xml:"urn:vim25 QueryPnicStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPnicStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPnicStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryPnicStatus) (*types.QueryPnicStatusResponse, error) {
+ var reqBody, resBody QueryPnicStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryPolicyMetadataBody struct {
+ Req *types.QueryPolicyMetadata `xml:"urn:vim25 QueryPolicyMetadata,omitempty"`
+ Res *types.QueryPolicyMetadataResponse `xml:"urn:vim25 QueryPolicyMetadataResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryPolicyMetadataBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryPolicyMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryPolicyMetadata) (*types.QueryPolicyMetadataResponse, error) {
+ var reqBody, resBody QueryPolicyMetadataBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryProfileStructureBody struct {
+ Req *types.QueryProfileStructure `xml:"urn:vim25 QueryProfileStructure,omitempty"`
+ Res *types.QueryProfileStructureResponse `xml:"urn:vim25 QueryProfileStructureResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryProfileStructureBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryProfileStructure(ctx context.Context, r soap.RoundTripper, req *types.QueryProfileStructure) (*types.QueryProfileStructureResponse, error) {
+ var reqBody, resBody QueryProfileStructureBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryProviderListBody struct {
+ Req *types.QueryProviderList `xml:"urn:vim25 QueryProviderList,omitempty"`
+ Res *types.QueryProviderListResponse `xml:"urn:vim25 QueryProviderListResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryProviderListBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryProviderList(ctx context.Context, r soap.RoundTripper, req *types.QueryProviderList) (*types.QueryProviderListResponse, error) {
+ var reqBody, resBody QueryProviderListBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryProviderNameBody struct {
+ Req *types.QueryProviderName `xml:"urn:vim25 QueryProviderName,omitempty"`
+ Res *types.QueryProviderNameResponse `xml:"urn:vim25 QueryProviderNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryProviderNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryProviderName(ctx context.Context, r soap.RoundTripper, req *types.QueryProviderName) (*types.QueryProviderNameResponse, error) {
+ var reqBody, resBody QueryProviderNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryResourceConfigOptionBody struct {
+ Req *types.QueryResourceConfigOption `xml:"urn:vim25 QueryResourceConfigOption,omitempty"`
+ Res *types.QueryResourceConfigOptionResponse `xml:"urn:vim25 QueryResourceConfigOptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryResourceConfigOptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryResourceConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryResourceConfigOption) (*types.QueryResourceConfigOptionResponse, error) {
+ var reqBody, resBody QueryResourceConfigOptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryServiceListBody struct {
+ Req *types.QueryServiceList `xml:"urn:vim25 QueryServiceList,omitempty"`
+ Res *types.QueryServiceListResponse `xml:"urn:vim25 QueryServiceListResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryServiceListBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryServiceList(ctx context.Context, r soap.RoundTripper, req *types.QueryServiceList) (*types.QueryServiceListResponse, error) {
+ var reqBody, resBody QueryServiceListBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryStorageArrayTypePolicyOptionsBody struct {
+ Req *types.QueryStorageArrayTypePolicyOptions `xml:"urn:vim25 QueryStorageArrayTypePolicyOptions,omitempty"`
+ Res *types.QueryStorageArrayTypePolicyOptionsResponse `xml:"urn:vim25 QueryStorageArrayTypePolicyOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryStorageArrayTypePolicyOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryStorageArrayTypePolicyOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryStorageArrayTypePolicyOptions) (*types.QueryStorageArrayTypePolicyOptionsResponse, error) {
+ var reqBody, resBody QueryStorageArrayTypePolicyOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QuerySupportedFeaturesBody struct {
+ Req *types.QuerySupportedFeatures `xml:"urn:vim25 QuerySupportedFeatures,omitempty"`
+ Res *types.QuerySupportedFeaturesResponse `xml:"urn:vim25 QuerySupportedFeaturesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QuerySupportedFeaturesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QuerySupportedFeatures(ctx context.Context, r soap.RoundTripper, req *types.QuerySupportedFeatures) (*types.QuerySupportedFeaturesResponse, error) {
+ var reqBody, resBody QuerySupportedFeaturesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QuerySyncingVsanObjectsBody struct {
+ Req *types.QuerySyncingVsanObjects `xml:"urn:vim25 QuerySyncingVsanObjects,omitempty"`
+ Res *types.QuerySyncingVsanObjectsResponse `xml:"urn:vim25 QuerySyncingVsanObjectsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QuerySyncingVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QuerySyncingVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.QuerySyncingVsanObjects) (*types.QuerySyncingVsanObjectsResponse, error) {
+ var reqBody, resBody QuerySyncingVsanObjectsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QuerySystemUsersBody struct {
+ Req *types.QuerySystemUsers `xml:"urn:vim25 QuerySystemUsers,omitempty"`
+ Res *types.QuerySystemUsersResponse `xml:"urn:vim25 QuerySystemUsersResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QuerySystemUsersBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QuerySystemUsers(ctx context.Context, r soap.RoundTripper, req *types.QuerySystemUsers) (*types.QuerySystemUsersResponse, error) {
+ var reqBody, resBody QuerySystemUsersBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryTargetCapabilitiesBody struct {
+ Req *types.QueryTargetCapabilities `xml:"urn:vim25 QueryTargetCapabilities,omitempty"`
+ Res *types.QueryTargetCapabilitiesResponse `xml:"urn:vim25 QueryTargetCapabilitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryTargetCapabilitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryTargetCapabilities(ctx context.Context, r soap.RoundTripper, req *types.QueryTargetCapabilities) (*types.QueryTargetCapabilitiesResponse, error) {
+ var reqBody, resBody QueryTargetCapabilitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryTpmAttestationReportBody struct {
+ Req *types.QueryTpmAttestationReport `xml:"urn:vim25 QueryTpmAttestationReport,omitempty"`
+ Res *types.QueryTpmAttestationReportResponse `xml:"urn:vim25 QueryTpmAttestationReportResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryTpmAttestationReportBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryTpmAttestationReport(ctx context.Context, r soap.RoundTripper, req *types.QueryTpmAttestationReport) (*types.QueryTpmAttestationReportResponse, error) {
+ var reqBody, resBody QueryTpmAttestationReportBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryUnmonitoredHostsBody struct {
+ Req *types.QueryUnmonitoredHosts `xml:"urn:vim25 QueryUnmonitoredHosts,omitempty"`
+ Res *types.QueryUnmonitoredHostsResponse `xml:"urn:vim25 QueryUnmonitoredHostsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryUnmonitoredHostsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryUnmonitoredHosts(ctx context.Context, r soap.RoundTripper, req *types.QueryUnmonitoredHosts) (*types.QueryUnmonitoredHostsResponse, error) {
+ var reqBody, resBody QueryUnmonitoredHostsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryUnownedFilesBody struct {
+ Req *types.QueryUnownedFiles `xml:"urn:vim25 QueryUnownedFiles,omitempty"`
+ Res *types.QueryUnownedFilesResponse `xml:"urn:vim25 QueryUnownedFilesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryUnownedFilesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryUnownedFiles(ctx context.Context, r soap.RoundTripper, req *types.QueryUnownedFiles) (*types.QueryUnownedFilesResponse, error) {
+ var reqBody, resBody QueryUnownedFilesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryUnresolvedVmfsVolumeBody struct {
+ Req *types.QueryUnresolvedVmfsVolume `xml:"urn:vim25 QueryUnresolvedVmfsVolume,omitempty"`
+ Res *types.QueryUnresolvedVmfsVolumeResponse `xml:"urn:vim25 QueryUnresolvedVmfsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryUnresolvedVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryUnresolvedVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.QueryUnresolvedVmfsVolume) (*types.QueryUnresolvedVmfsVolumeResponse, error) {
+ var reqBody, resBody QueryUnresolvedVmfsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryUnresolvedVmfsVolumesBody struct {
+ Req *types.QueryUnresolvedVmfsVolumes `xml:"urn:vim25 QueryUnresolvedVmfsVolumes,omitempty"`
+ Res *types.QueryUnresolvedVmfsVolumesResponse `xml:"urn:vim25 QueryUnresolvedVmfsVolumesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryUnresolvedVmfsVolumesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryUnresolvedVmfsVolumes(ctx context.Context, r soap.RoundTripper, req *types.QueryUnresolvedVmfsVolumes) (*types.QueryUnresolvedVmfsVolumesResponse, error) {
+ var reqBody, resBody QueryUnresolvedVmfsVolumesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryUsedVlanIdInDvsBody struct {
+ Req *types.QueryUsedVlanIdInDvs `xml:"urn:vim25 QueryUsedVlanIdInDvs,omitempty"`
+ Res *types.QueryUsedVlanIdInDvsResponse `xml:"urn:vim25 QueryUsedVlanIdInDvsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryUsedVlanIdInDvsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryUsedVlanIdInDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryUsedVlanIdInDvs) (*types.QueryUsedVlanIdInDvsResponse, error) {
+ var reqBody, resBody QueryUsedVlanIdInDvsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVMotionCompatibilityBody struct {
+ Req *types.QueryVMotionCompatibility `xml:"urn:vim25 QueryVMotionCompatibility,omitempty"`
+ Res *types.QueryVMotionCompatibilityResponse `xml:"urn:vim25 QueryVMotionCompatibilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVMotionCompatibilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVMotionCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryVMotionCompatibility) (*types.QueryVMotionCompatibilityResponse, error) {
+ var reqBody, resBody QueryVMotionCompatibilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVMotionCompatibilityEx_TaskBody struct {
+ Req *types.QueryVMotionCompatibilityEx_Task `xml:"urn:vim25 QueryVMotionCompatibilityEx_Task,omitempty"`
+ Res *types.QueryVMotionCompatibilityEx_TaskResponse `xml:"urn:vim25 QueryVMotionCompatibilityEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVMotionCompatibilityEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVMotionCompatibilityEx_Task(ctx context.Context, r soap.RoundTripper, req *types.QueryVMotionCompatibilityEx_Task) (*types.QueryVMotionCompatibilityEx_TaskResponse, error) {
+ var reqBody, resBody QueryVMotionCompatibilityEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVirtualDiskFragmentationBody struct {
+ Req *types.QueryVirtualDiskFragmentation `xml:"urn:vim25 QueryVirtualDiskFragmentation,omitempty"`
+ Res *types.QueryVirtualDiskFragmentationResponse `xml:"urn:vim25 QueryVirtualDiskFragmentationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVirtualDiskFragmentationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVirtualDiskFragmentation(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskFragmentation) (*types.QueryVirtualDiskFragmentationResponse, error) {
+ var reqBody, resBody QueryVirtualDiskFragmentationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVirtualDiskGeometryBody struct {
+ Req *types.QueryVirtualDiskGeometry `xml:"urn:vim25 QueryVirtualDiskGeometry,omitempty"`
+ Res *types.QueryVirtualDiskGeometryResponse `xml:"urn:vim25 QueryVirtualDiskGeometryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVirtualDiskGeometryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVirtualDiskGeometry(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskGeometry) (*types.QueryVirtualDiskGeometryResponse, error) {
+ var reqBody, resBody QueryVirtualDiskGeometryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVirtualDiskUuidBody struct {
+ Req *types.QueryVirtualDiskUuid `xml:"urn:vim25 QueryVirtualDiskUuid,omitempty"`
+ Res *types.QueryVirtualDiskUuidResponse `xml:"urn:vim25 QueryVirtualDiskUuidResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVirtualDiskUuidBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVirtualDiskUuid(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskUuid) (*types.QueryVirtualDiskUuidResponse, error) {
+ var reqBody, resBody QueryVirtualDiskUuidBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVmfsConfigOptionBody struct {
+ Req *types.QueryVmfsConfigOption `xml:"urn:vim25 QueryVmfsConfigOption,omitempty"`
+ Res *types.QueryVmfsConfigOptionResponse `xml:"urn:vim25 QueryVmfsConfigOptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVmfsConfigOptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVmfsConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsConfigOption) (*types.QueryVmfsConfigOptionResponse, error) {
+ var reqBody, resBody QueryVmfsConfigOptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVmfsDatastoreCreateOptionsBody struct {
+ Req *types.QueryVmfsDatastoreCreateOptions `xml:"urn:vim25 QueryVmfsDatastoreCreateOptions,omitempty"`
+ Res *types.QueryVmfsDatastoreCreateOptionsResponse `xml:"urn:vim25 QueryVmfsDatastoreCreateOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVmfsDatastoreCreateOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVmfsDatastoreCreateOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreCreateOptions) (*types.QueryVmfsDatastoreCreateOptionsResponse, error) {
+ var reqBody, resBody QueryVmfsDatastoreCreateOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVmfsDatastoreExpandOptionsBody struct {
+ Req *types.QueryVmfsDatastoreExpandOptions `xml:"urn:vim25 QueryVmfsDatastoreExpandOptions,omitempty"`
+ Res *types.QueryVmfsDatastoreExpandOptionsResponse `xml:"urn:vim25 QueryVmfsDatastoreExpandOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVmfsDatastoreExpandOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVmfsDatastoreExpandOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreExpandOptions) (*types.QueryVmfsDatastoreExpandOptionsResponse, error) {
+ var reqBody, resBody QueryVmfsDatastoreExpandOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVmfsDatastoreExtendOptionsBody struct {
+ Req *types.QueryVmfsDatastoreExtendOptions `xml:"urn:vim25 QueryVmfsDatastoreExtendOptions,omitempty"`
+ Res *types.QueryVmfsDatastoreExtendOptionsResponse `xml:"urn:vim25 QueryVmfsDatastoreExtendOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVmfsDatastoreExtendOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVmfsDatastoreExtendOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreExtendOptions) (*types.QueryVmfsDatastoreExtendOptionsResponse, error) {
+ var reqBody, resBody QueryVmfsDatastoreExtendOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVnicStatusBody struct {
+ Req *types.QueryVnicStatus `xml:"urn:vim25 QueryVnicStatus,omitempty"`
+ Res *types.QueryVnicStatusResponse `xml:"urn:vim25 QueryVnicStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVnicStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVnicStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryVnicStatus) (*types.QueryVnicStatusResponse, error) {
+ var reqBody, resBody QueryVnicStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVsanObjectUuidsByFilterBody struct {
+ Req *types.QueryVsanObjectUuidsByFilter `xml:"urn:vim25 QueryVsanObjectUuidsByFilter,omitempty"`
+ Res *types.QueryVsanObjectUuidsByFilterResponse `xml:"urn:vim25 QueryVsanObjectUuidsByFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVsanObjectUuidsByFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVsanObjectUuidsByFilter(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanObjectUuidsByFilter) (*types.QueryVsanObjectUuidsByFilterResponse, error) {
+ var reqBody, resBody QueryVsanObjectUuidsByFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVsanObjectsBody struct {
+ Req *types.QueryVsanObjects `xml:"urn:vim25 QueryVsanObjects,omitempty"`
+ Res *types.QueryVsanObjectsResponse `xml:"urn:vim25 QueryVsanObjectsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanObjects) (*types.QueryVsanObjectsResponse, error) {
+ var reqBody, resBody QueryVsanObjectsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVsanStatisticsBody struct {
+ Req *types.QueryVsanStatistics `xml:"urn:vim25 QueryVsanStatistics,omitempty"`
+ Res *types.QueryVsanStatisticsResponse `xml:"urn:vim25 QueryVsanStatisticsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVsanStatisticsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVsanStatistics(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanStatistics) (*types.QueryVsanStatisticsResponse, error) {
+ var reqBody, resBody QueryVsanStatisticsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type QueryVsanUpgradeStatusBody struct {
+ Req *types.QueryVsanUpgradeStatus `xml:"urn:vim25 QueryVsanUpgradeStatus,omitempty"`
+ Res *types.QueryVsanUpgradeStatusResponse `xml:"urn:vim25 QueryVsanUpgradeStatusResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *QueryVsanUpgradeStatusBody) Fault() *soap.Fault { return b.Fault_ }
+
+func QueryVsanUpgradeStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanUpgradeStatus) (*types.QueryVsanUpgradeStatusResponse, error) {
+ var reqBody, resBody QueryVsanUpgradeStatusBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReadEnvironmentVariableInGuestBody struct {
+ Req *types.ReadEnvironmentVariableInGuest `xml:"urn:vim25 ReadEnvironmentVariableInGuest,omitempty"`
+ Res *types.ReadEnvironmentVariableInGuestResponse `xml:"urn:vim25 ReadEnvironmentVariableInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReadEnvironmentVariableInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReadEnvironmentVariableInGuest(ctx context.Context, r soap.RoundTripper, req *types.ReadEnvironmentVariableInGuest) (*types.ReadEnvironmentVariableInGuestResponse, error) {
+ var reqBody, resBody ReadEnvironmentVariableInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReadNextEventsBody struct {
+ Req *types.ReadNextEvents `xml:"urn:vim25 ReadNextEvents,omitempty"`
+ Res *types.ReadNextEventsResponse `xml:"urn:vim25 ReadNextEventsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReadNextEventsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReadNextEvents(ctx context.Context, r soap.RoundTripper, req *types.ReadNextEvents) (*types.ReadNextEventsResponse, error) {
+ var reqBody, resBody ReadNextEventsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReadNextTasksBody struct {
+ Req *types.ReadNextTasks `xml:"urn:vim25 ReadNextTasks,omitempty"`
+ Res *types.ReadNextTasksResponse `xml:"urn:vim25 ReadNextTasksResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReadNextTasksBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReadNextTasks(ctx context.Context, r soap.RoundTripper, req *types.ReadNextTasks) (*types.ReadNextTasksResponse, error) {
+ var reqBody, resBody ReadNextTasksBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReadPreviousEventsBody struct {
+ Req *types.ReadPreviousEvents `xml:"urn:vim25 ReadPreviousEvents,omitempty"`
+ Res *types.ReadPreviousEventsResponse `xml:"urn:vim25 ReadPreviousEventsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReadPreviousEventsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReadPreviousEvents(ctx context.Context, r soap.RoundTripper, req *types.ReadPreviousEvents) (*types.ReadPreviousEventsResponse, error) {
+ var reqBody, resBody ReadPreviousEventsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReadPreviousTasksBody struct {
+ Req *types.ReadPreviousTasks `xml:"urn:vim25 ReadPreviousTasks,omitempty"`
+ Res *types.ReadPreviousTasksResponse `xml:"urn:vim25 ReadPreviousTasksResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReadPreviousTasksBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReadPreviousTasks(ctx context.Context, r soap.RoundTripper, req *types.ReadPreviousTasks) (*types.ReadPreviousTasksResponse, error) {
+ var reqBody, resBody ReadPreviousTasksBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RebootGuestBody struct {
+ Req *types.RebootGuest `xml:"urn:vim25 RebootGuest,omitempty"`
+ Res *types.RebootGuestResponse `xml:"urn:vim25 RebootGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RebootGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RebootGuest(ctx context.Context, r soap.RoundTripper, req *types.RebootGuest) (*types.RebootGuestResponse, error) {
+ var reqBody, resBody RebootGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RebootHost_TaskBody struct {
+ Req *types.RebootHost_Task `xml:"urn:vim25 RebootHost_Task,omitempty"`
+ Res *types.RebootHost_TaskResponse `xml:"urn:vim25 RebootHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RebootHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RebootHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RebootHost_Task) (*types.RebootHost_TaskResponse, error) {
+ var reqBody, resBody RebootHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RecommendDatastoresBody struct {
+ Req *types.RecommendDatastores `xml:"urn:vim25 RecommendDatastores,omitempty"`
+ Res *types.RecommendDatastoresResponse `xml:"urn:vim25 RecommendDatastoresResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RecommendDatastoresBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RecommendDatastores(ctx context.Context, r soap.RoundTripper, req *types.RecommendDatastores) (*types.RecommendDatastoresResponse, error) {
+ var reqBody, resBody RecommendDatastoresBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RecommendHostsForVmBody struct {
+ Req *types.RecommendHostsForVm `xml:"urn:vim25 RecommendHostsForVm,omitempty"`
+ Res *types.RecommendHostsForVmResponse `xml:"urn:vim25 RecommendHostsForVmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RecommendHostsForVmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RecommendHostsForVm(ctx context.Context, r soap.RoundTripper, req *types.RecommendHostsForVm) (*types.RecommendHostsForVmResponse, error) {
+ var reqBody, resBody RecommendHostsForVmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RecommissionVsanNode_TaskBody struct {
+ Req *types.RecommissionVsanNode_Task `xml:"urn:vim25 RecommissionVsanNode_Task,omitempty"`
+ Res *types.RecommissionVsanNode_TaskResponse `xml:"urn:vim25 RecommissionVsanNode_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RecommissionVsanNode_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RecommissionVsanNode_Task(ctx context.Context, r soap.RoundTripper, req *types.RecommissionVsanNode_Task) (*types.RecommissionVsanNode_TaskResponse, error) {
+ var reqBody, resBody RecommissionVsanNode_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconcileDatastoreInventory_TaskBody struct {
+ Req *types.ReconcileDatastoreInventory_Task `xml:"urn:vim25 ReconcileDatastoreInventory_Task,omitempty"`
+ Res *types.ReconcileDatastoreInventory_TaskResponse `xml:"urn:vim25 ReconcileDatastoreInventory_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconcileDatastoreInventory_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconcileDatastoreInventory_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconcileDatastoreInventory_Task) (*types.ReconcileDatastoreInventory_TaskResponse, error) {
+ var reqBody, resBody ReconcileDatastoreInventory_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigVM_TaskBody struct {
+ Req *types.ReconfigVM_Task `xml:"urn:vim25 ReconfigVM_Task,omitempty"`
+ Res *types.ReconfigVM_TaskResponse `xml:"urn:vim25 ReconfigVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigVM_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigVM_Task) (*types.ReconfigVM_TaskResponse, error) {
+ var reqBody, resBody ReconfigVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigurationSatisfiableBody struct {
+ Req *types.ReconfigurationSatisfiable `xml:"urn:vim25 ReconfigurationSatisfiable,omitempty"`
+ Res *types.ReconfigurationSatisfiableResponse `xml:"urn:vim25 ReconfigurationSatisfiableResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigurationSatisfiableBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigurationSatisfiable(ctx context.Context, r soap.RoundTripper, req *types.ReconfigurationSatisfiable) (*types.ReconfigurationSatisfiableResponse, error) {
+ var reqBody, resBody ReconfigurationSatisfiableBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureAlarmBody struct {
+ Req *types.ReconfigureAlarm `xml:"urn:vim25 ReconfigureAlarm,omitempty"`
+ Res *types.ReconfigureAlarmResponse `xml:"urn:vim25 ReconfigureAlarmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureAlarmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureAlarm(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureAlarm) (*types.ReconfigureAlarmResponse, error) {
+ var reqBody, resBody ReconfigureAlarmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureAutostartBody struct {
+ Req *types.ReconfigureAutostart `xml:"urn:vim25 ReconfigureAutostart,omitempty"`
+ Res *types.ReconfigureAutostartResponse `xml:"urn:vim25 ReconfigureAutostartResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureAutostartBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureAutostart(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureAutostart) (*types.ReconfigureAutostartResponse, error) {
+ var reqBody, resBody ReconfigureAutostartBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureCluster_TaskBody struct {
+ Req *types.ReconfigureCluster_Task `xml:"urn:vim25 ReconfigureCluster_Task,omitempty"`
+ Res *types.ReconfigureCluster_TaskResponse `xml:"urn:vim25 ReconfigureCluster_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureCluster_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureCluster_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureCluster_Task) (*types.ReconfigureCluster_TaskResponse, error) {
+ var reqBody, resBody ReconfigureCluster_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureComputeResource_TaskBody struct {
+ Req *types.ReconfigureComputeResource_Task `xml:"urn:vim25 ReconfigureComputeResource_Task,omitempty"`
+ Res *types.ReconfigureComputeResource_TaskResponse `xml:"urn:vim25 ReconfigureComputeResource_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureComputeResource_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureComputeResource_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureComputeResource_Task) (*types.ReconfigureComputeResource_TaskResponse, error) {
+ var reqBody, resBody ReconfigureComputeResource_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureDVPort_TaskBody struct {
+ Req *types.ReconfigureDVPort_Task `xml:"urn:vim25 ReconfigureDVPort_Task,omitempty"`
+ Res *types.ReconfigureDVPort_TaskResponse `xml:"urn:vim25 ReconfigureDVPort_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureDVPort_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureDVPort_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDVPort_Task) (*types.ReconfigureDVPort_TaskResponse, error) {
+ var reqBody, resBody ReconfigureDVPort_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureDVPortgroup_TaskBody struct {
+ Req *types.ReconfigureDVPortgroup_Task `xml:"urn:vim25 ReconfigureDVPortgroup_Task,omitempty"`
+ Res *types.ReconfigureDVPortgroup_TaskResponse `xml:"urn:vim25 ReconfigureDVPortgroup_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDVPortgroup_Task) (*types.ReconfigureDVPortgroup_TaskResponse, error) {
+ var reqBody, resBody ReconfigureDVPortgroup_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureDatacenter_TaskBody struct {
+ Req *types.ReconfigureDatacenter_Task `xml:"urn:vim25 ReconfigureDatacenter_Task,omitempty"`
+ Res *types.ReconfigureDatacenter_TaskResponse `xml:"urn:vim25 ReconfigureDatacenter_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureDatacenter_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureDatacenter_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDatacenter_Task) (*types.ReconfigureDatacenter_TaskResponse, error) {
+ var reqBody, resBody ReconfigureDatacenter_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureDomObjectBody struct {
+ Req *types.ReconfigureDomObject `xml:"urn:vim25 ReconfigureDomObject,omitempty"`
+ Res *types.ReconfigureDomObjectResponse `xml:"urn:vim25 ReconfigureDomObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureDomObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureDomObject(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDomObject) (*types.ReconfigureDomObjectResponse, error) {
+ var reqBody, resBody ReconfigureDomObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureDvs_TaskBody struct {
+ Req *types.ReconfigureDvs_Task `xml:"urn:vim25 ReconfigureDvs_Task,omitempty"`
+ Res *types.ReconfigureDvs_TaskResponse `xml:"urn:vim25 ReconfigureDvs_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureDvs_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureDvs_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDvs_Task) (*types.ReconfigureDvs_TaskResponse, error) {
+ var reqBody, resBody ReconfigureDvs_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureHostForDAS_TaskBody struct {
+ Req *types.ReconfigureHostForDAS_Task `xml:"urn:vim25 ReconfigureHostForDAS_Task,omitempty"`
+ Res *types.ReconfigureHostForDAS_TaskResponse `xml:"urn:vim25 ReconfigureHostForDAS_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureHostForDAS_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureHostForDAS_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureHostForDAS_Task) (*types.ReconfigureHostForDAS_TaskResponse, error) {
+ var reqBody, resBody ReconfigureHostForDAS_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureScheduledTaskBody struct {
+ Req *types.ReconfigureScheduledTask `xml:"urn:vim25 ReconfigureScheduledTask,omitempty"`
+ Res *types.ReconfigureScheduledTaskResponse `xml:"urn:vim25 ReconfigureScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureScheduledTask) (*types.ReconfigureScheduledTaskResponse, error) {
+ var reqBody, resBody ReconfigureScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureServiceConsoleReservationBody struct {
+ Req *types.ReconfigureServiceConsoleReservation `xml:"urn:vim25 ReconfigureServiceConsoleReservation,omitempty"`
+ Res *types.ReconfigureServiceConsoleReservationResponse `xml:"urn:vim25 ReconfigureServiceConsoleReservationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureServiceConsoleReservationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureServiceConsoleReservation(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureServiceConsoleReservation) (*types.ReconfigureServiceConsoleReservationResponse, error) {
+ var reqBody, resBody ReconfigureServiceConsoleReservationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureSnmpAgentBody struct {
+ Req *types.ReconfigureSnmpAgent `xml:"urn:vim25 ReconfigureSnmpAgent,omitempty"`
+ Res *types.ReconfigureSnmpAgentResponse `xml:"urn:vim25 ReconfigureSnmpAgentResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureSnmpAgentBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureSnmpAgent(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureSnmpAgent) (*types.ReconfigureSnmpAgentResponse, error) {
+ var reqBody, resBody ReconfigureSnmpAgentBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconfigureVirtualMachineReservationBody struct {
+ Req *types.ReconfigureVirtualMachineReservation `xml:"urn:vim25 ReconfigureVirtualMachineReservation,omitempty"`
+ Res *types.ReconfigureVirtualMachineReservationResponse `xml:"urn:vim25 ReconfigureVirtualMachineReservationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconfigureVirtualMachineReservationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconfigureVirtualMachineReservation(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureVirtualMachineReservation) (*types.ReconfigureVirtualMachineReservationResponse, error) {
+ var reqBody, resBody ReconfigureVirtualMachineReservationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReconnectHost_TaskBody struct {
+ Req *types.ReconnectHost_Task `xml:"urn:vim25 ReconnectHost_Task,omitempty"`
+ Res *types.ReconnectHost_TaskResponse `xml:"urn:vim25 ReconnectHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReconnectHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReconnectHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconnectHost_Task) (*types.ReconnectHost_TaskResponse, error) {
+ var reqBody, resBody ReconnectHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RectifyDvsHost_TaskBody struct {
+ Req *types.RectifyDvsHost_Task `xml:"urn:vim25 RectifyDvsHost_Task,omitempty"`
+ Res *types.RectifyDvsHost_TaskResponse `xml:"urn:vim25 RectifyDvsHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RectifyDvsHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RectifyDvsHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RectifyDvsHost_Task) (*types.RectifyDvsHost_TaskResponse, error) {
+ var reqBody, resBody RectifyDvsHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RectifyDvsOnHost_TaskBody struct {
+ Req *types.RectifyDvsOnHost_Task `xml:"urn:vim25 RectifyDvsOnHost_Task,omitempty"`
+ Res *types.RectifyDvsOnHost_TaskResponse `xml:"urn:vim25 RectifyDvsOnHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RectifyDvsOnHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RectifyDvsOnHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RectifyDvsOnHost_Task) (*types.RectifyDvsOnHost_TaskResponse, error) {
+ var reqBody, resBody RectifyDvsOnHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshBody struct {
+ Req *types.Refresh `xml:"urn:vim25 Refresh,omitempty"`
+ Res *types.RefreshResponse `xml:"urn:vim25 RefreshResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Refresh(ctx context.Context, r soap.RoundTripper, req *types.Refresh) (*types.RefreshResponse, error) {
+ var reqBody, resBody RefreshBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshDVPortStateBody struct {
+ Req *types.RefreshDVPortState `xml:"urn:vim25 RefreshDVPortState,omitempty"`
+ Res *types.RefreshDVPortStateResponse `xml:"urn:vim25 RefreshDVPortStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshDVPortStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshDVPortState(ctx context.Context, r soap.RoundTripper, req *types.RefreshDVPortState) (*types.RefreshDVPortStateResponse, error) {
+ var reqBody, resBody RefreshDVPortStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshDatastoreBody struct {
+ Req *types.RefreshDatastore `xml:"urn:vim25 RefreshDatastore,omitempty"`
+ Res *types.RefreshDatastoreResponse `xml:"urn:vim25 RefreshDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshDatastore(ctx context.Context, r soap.RoundTripper, req *types.RefreshDatastore) (*types.RefreshDatastoreResponse, error) {
+ var reqBody, resBody RefreshDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshDatastoreStorageInfoBody struct {
+ Req *types.RefreshDatastoreStorageInfo `xml:"urn:vim25 RefreshDatastoreStorageInfo,omitempty"`
+ Res *types.RefreshDatastoreStorageInfoResponse `xml:"urn:vim25 RefreshDatastoreStorageInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshDatastoreStorageInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshDatastoreStorageInfo(ctx context.Context, r soap.RoundTripper, req *types.RefreshDatastoreStorageInfo) (*types.RefreshDatastoreStorageInfoResponse, error) {
+ var reqBody, resBody RefreshDatastoreStorageInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshDateTimeSystemBody struct {
+ Req *types.RefreshDateTimeSystem `xml:"urn:vim25 RefreshDateTimeSystem,omitempty"`
+ Res *types.RefreshDateTimeSystemResponse `xml:"urn:vim25 RefreshDateTimeSystemResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshDateTimeSystemBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshDateTimeSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshDateTimeSystem) (*types.RefreshDateTimeSystemResponse, error) {
+ var reqBody, resBody RefreshDateTimeSystemBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshFirewallBody struct {
+ Req *types.RefreshFirewall `xml:"urn:vim25 RefreshFirewall,omitempty"`
+ Res *types.RefreshFirewallResponse `xml:"urn:vim25 RefreshFirewallResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshFirewallBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshFirewall(ctx context.Context, r soap.RoundTripper, req *types.RefreshFirewall) (*types.RefreshFirewallResponse, error) {
+ var reqBody, resBody RefreshFirewallBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshGraphicsManagerBody struct {
+ Req *types.RefreshGraphicsManager `xml:"urn:vim25 RefreshGraphicsManager,omitempty"`
+ Res *types.RefreshGraphicsManagerResponse `xml:"urn:vim25 RefreshGraphicsManagerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshGraphicsManagerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshGraphicsManager(ctx context.Context, r soap.RoundTripper, req *types.RefreshGraphicsManager) (*types.RefreshGraphicsManagerResponse, error) {
+ var reqBody, resBody RefreshGraphicsManagerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshHealthStatusSystemBody struct {
+ Req *types.RefreshHealthStatusSystem `xml:"urn:vim25 RefreshHealthStatusSystem,omitempty"`
+ Res *types.RefreshHealthStatusSystemResponse `xml:"urn:vim25 RefreshHealthStatusSystemResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshHealthStatusSystemBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshHealthStatusSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshHealthStatusSystem) (*types.RefreshHealthStatusSystemResponse, error) {
+ var reqBody, resBody RefreshHealthStatusSystemBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshNetworkSystemBody struct {
+ Req *types.RefreshNetworkSystem `xml:"urn:vim25 RefreshNetworkSystem,omitempty"`
+ Res *types.RefreshNetworkSystemResponse `xml:"urn:vim25 RefreshNetworkSystemResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshNetworkSystemBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshNetworkSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshNetworkSystem) (*types.RefreshNetworkSystemResponse, error) {
+ var reqBody, resBody RefreshNetworkSystemBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshRecommendationBody struct {
+ Req *types.RefreshRecommendation `xml:"urn:vim25 RefreshRecommendation,omitempty"`
+ Res *types.RefreshRecommendationResponse `xml:"urn:vim25 RefreshRecommendationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshRecommendationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshRecommendation(ctx context.Context, r soap.RoundTripper, req *types.RefreshRecommendation) (*types.RefreshRecommendationResponse, error) {
+ var reqBody, resBody RefreshRecommendationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshRuntimeBody struct {
+ Req *types.RefreshRuntime `xml:"urn:vim25 RefreshRuntime,omitempty"`
+ Res *types.RefreshRuntimeResponse `xml:"urn:vim25 RefreshRuntimeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshRuntimeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshRuntime(ctx context.Context, r soap.RoundTripper, req *types.RefreshRuntime) (*types.RefreshRuntimeResponse, error) {
+ var reqBody, resBody RefreshRuntimeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshServicesBody struct {
+ Req *types.RefreshServices `xml:"urn:vim25 RefreshServices,omitempty"`
+ Res *types.RefreshServicesResponse `xml:"urn:vim25 RefreshServicesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshServicesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshServices(ctx context.Context, r soap.RoundTripper, req *types.RefreshServices) (*types.RefreshServicesResponse, error) {
+ var reqBody, resBody RefreshServicesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshStorageDrsRecommendationBody struct {
+ Req *types.RefreshStorageDrsRecommendation `xml:"urn:vim25 RefreshStorageDrsRecommendation,omitempty"`
+ Res *types.RefreshStorageDrsRecommendationResponse `xml:"urn:vim25 RefreshStorageDrsRecommendationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshStorageDrsRecommendationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshStorageDrsRecommendation(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageDrsRecommendation) (*types.RefreshStorageDrsRecommendationResponse, error) {
+ var reqBody, resBody RefreshStorageDrsRecommendationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshStorageInfoBody struct {
+ Req *types.RefreshStorageInfo `xml:"urn:vim25 RefreshStorageInfo,omitempty"`
+ Res *types.RefreshStorageInfoResponse `xml:"urn:vim25 RefreshStorageInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshStorageInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshStorageInfo(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageInfo) (*types.RefreshStorageInfoResponse, error) {
+ var reqBody, resBody RefreshStorageInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RefreshStorageSystemBody struct {
+ Req *types.RefreshStorageSystem `xml:"urn:vim25 RefreshStorageSystem,omitempty"`
+ Res *types.RefreshStorageSystemResponse `xml:"urn:vim25 RefreshStorageSystemResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RefreshStorageSystemBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RefreshStorageSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageSystem) (*types.RefreshStorageSystemResponse, error) {
+ var reqBody, resBody RefreshStorageSystemBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterChildVM_TaskBody struct {
+ Req *types.RegisterChildVM_Task `xml:"urn:vim25 RegisterChildVM_Task,omitempty"`
+ Res *types.RegisterChildVM_TaskResponse `xml:"urn:vim25 RegisterChildVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterChildVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterChildVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RegisterChildVM_Task) (*types.RegisterChildVM_TaskResponse, error) {
+ var reqBody, resBody RegisterChildVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterDiskBody struct {
+ Req *types.RegisterDisk `xml:"urn:vim25 RegisterDisk,omitempty"`
+ Res *types.RegisterDiskResponse `xml:"urn:vim25 RegisterDiskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterDiskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterDisk(ctx context.Context, r soap.RoundTripper, req *types.RegisterDisk) (*types.RegisterDiskResponse, error) {
+ var reqBody, resBody RegisterDiskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterExtensionBody struct {
+ Req *types.RegisterExtension `xml:"urn:vim25 RegisterExtension,omitempty"`
+ Res *types.RegisterExtensionResponse `xml:"urn:vim25 RegisterExtensionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterExtensionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterExtension(ctx context.Context, r soap.RoundTripper, req *types.RegisterExtension) (*types.RegisterExtensionResponse, error) {
+ var reqBody, resBody RegisterExtensionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterHealthUpdateProviderBody struct {
+ Req *types.RegisterHealthUpdateProvider `xml:"urn:vim25 RegisterHealthUpdateProvider,omitempty"`
+ Res *types.RegisterHealthUpdateProviderResponse `xml:"urn:vim25 RegisterHealthUpdateProviderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterHealthUpdateProviderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterHealthUpdateProvider(ctx context.Context, r soap.RoundTripper, req *types.RegisterHealthUpdateProvider) (*types.RegisterHealthUpdateProviderResponse, error) {
+ var reqBody, resBody RegisterHealthUpdateProviderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterKmipServerBody struct {
+ Req *types.RegisterKmipServer `xml:"urn:vim25 RegisterKmipServer,omitempty"`
+ Res *types.RegisterKmipServerResponse `xml:"urn:vim25 RegisterKmipServerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterKmipServerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterKmipServer(ctx context.Context, r soap.RoundTripper, req *types.RegisterKmipServer) (*types.RegisterKmipServerResponse, error) {
+ var reqBody, resBody RegisterKmipServerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RegisterVM_TaskBody struct {
+ Req *types.RegisterVM_Task `xml:"urn:vim25 RegisterVM_Task,omitempty"`
+ Res *types.RegisterVM_TaskResponse `xml:"urn:vim25 RegisterVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RegisterVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RegisterVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RegisterVM_Task) (*types.RegisterVM_TaskResponse, error) {
+ var reqBody, resBody RegisterVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReleaseCredentialsInGuestBody struct {
+ Req *types.ReleaseCredentialsInGuest `xml:"urn:vim25 ReleaseCredentialsInGuest,omitempty"`
+ Res *types.ReleaseCredentialsInGuestResponse `xml:"urn:vim25 ReleaseCredentialsInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReleaseCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReleaseCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.ReleaseCredentialsInGuest) (*types.ReleaseCredentialsInGuestResponse, error) {
+ var reqBody, resBody ReleaseCredentialsInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReleaseIpAllocationBody struct {
+ Req *types.ReleaseIpAllocation `xml:"urn:vim25 ReleaseIpAllocation,omitempty"`
+ Res *types.ReleaseIpAllocationResponse `xml:"urn:vim25 ReleaseIpAllocationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReleaseIpAllocationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReleaseIpAllocation(ctx context.Context, r soap.RoundTripper, req *types.ReleaseIpAllocation) (*types.ReleaseIpAllocationResponse, error) {
+ var reqBody, resBody ReleaseIpAllocationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReleaseManagedSnapshotBody struct {
+ Req *types.ReleaseManagedSnapshot `xml:"urn:vim25 ReleaseManagedSnapshot,omitempty"`
+ Res *types.ReleaseManagedSnapshotResponse `xml:"urn:vim25 ReleaseManagedSnapshotResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReleaseManagedSnapshotBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReleaseManagedSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ReleaseManagedSnapshot) (*types.ReleaseManagedSnapshotResponse, error) {
+ var reqBody, resBody ReleaseManagedSnapshotBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReloadBody struct {
+ Req *types.Reload `xml:"urn:vim25 Reload,omitempty"`
+ Res *types.ReloadResponse `xml:"urn:vim25 ReloadResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReloadBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Reload(ctx context.Context, r soap.RoundTripper, req *types.Reload) (*types.ReloadResponse, error) {
+ var reqBody, resBody ReloadBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RelocateVM_TaskBody struct {
+ Req *types.RelocateVM_Task `xml:"urn:vim25 RelocateVM_Task,omitempty"`
+ Res *types.RelocateVM_TaskResponse `xml:"urn:vim25 RelocateVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RelocateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RelocateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RelocateVM_Task) (*types.RelocateVM_TaskResponse, error) {
+ var reqBody, resBody RelocateVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RelocateVStorageObject_TaskBody struct {
+ Req *types.RelocateVStorageObject_Task `xml:"urn:vim25 RelocateVStorageObject_Task,omitempty"`
+ Res *types.RelocateVStorageObject_TaskResponse `xml:"urn:vim25 RelocateVStorageObject_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RelocateVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RelocateVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.RelocateVStorageObject_Task) (*types.RelocateVStorageObject_TaskResponse, error) {
+ var reqBody, resBody RelocateVStorageObject_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveAlarmBody struct {
+ Req *types.RemoveAlarm `xml:"urn:vim25 RemoveAlarm,omitempty"`
+ Res *types.RemoveAlarmResponse `xml:"urn:vim25 RemoveAlarmResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveAlarmBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveAlarm(ctx context.Context, r soap.RoundTripper, req *types.RemoveAlarm) (*types.RemoveAlarmResponse, error) {
+ var reqBody, resBody RemoveAlarmBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveAllSnapshots_TaskBody struct {
+ Req *types.RemoveAllSnapshots_Task `xml:"urn:vim25 RemoveAllSnapshots_Task,omitempty"`
+ Res *types.RemoveAllSnapshots_TaskResponse `xml:"urn:vim25 RemoveAllSnapshots_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveAllSnapshots_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveAllSnapshots_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveAllSnapshots_Task) (*types.RemoveAllSnapshots_TaskResponse, error) {
+ var reqBody, resBody RemoveAllSnapshots_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveAssignedLicenseBody struct {
+ Req *types.RemoveAssignedLicense `xml:"urn:vim25 RemoveAssignedLicense,omitempty"`
+ Res *types.RemoveAssignedLicenseResponse `xml:"urn:vim25 RemoveAssignedLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveAssignedLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveAssignedLicense(ctx context.Context, r soap.RoundTripper, req *types.RemoveAssignedLicense) (*types.RemoveAssignedLicenseResponse, error) {
+ var reqBody, resBody RemoveAssignedLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveAuthorizationRoleBody struct {
+ Req *types.RemoveAuthorizationRole `xml:"urn:vim25 RemoveAuthorizationRole,omitempty"`
+ Res *types.RemoveAuthorizationRoleResponse `xml:"urn:vim25 RemoveAuthorizationRoleResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.RemoveAuthorizationRole) (*types.RemoveAuthorizationRoleResponse, error) {
+ var reqBody, resBody RemoveAuthorizationRoleBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveCustomFieldDefBody struct {
+ Req *types.RemoveCustomFieldDef `xml:"urn:vim25 RemoveCustomFieldDef,omitempty"`
+ Res *types.RemoveCustomFieldDefResponse `xml:"urn:vim25 RemoveCustomFieldDefResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.RemoveCustomFieldDef) (*types.RemoveCustomFieldDefResponse, error) {
+ var reqBody, resBody RemoveCustomFieldDefBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveDatastoreBody struct {
+ Req *types.RemoveDatastore `xml:"urn:vim25 RemoveDatastore,omitempty"`
+ Res *types.RemoveDatastoreResponse `xml:"urn:vim25 RemoveDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveDatastore(ctx context.Context, r soap.RoundTripper, req *types.RemoveDatastore) (*types.RemoveDatastoreResponse, error) {
+ var reqBody, resBody RemoveDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveDatastoreEx_TaskBody struct {
+ Req *types.RemoveDatastoreEx_Task `xml:"urn:vim25 RemoveDatastoreEx_Task,omitempty"`
+ Res *types.RemoveDatastoreEx_TaskResponse `xml:"urn:vim25 RemoveDatastoreEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveDatastoreEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveDatastoreEx_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDatastoreEx_Task) (*types.RemoveDatastoreEx_TaskResponse, error) {
+ var reqBody, resBody RemoveDatastoreEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveDiskMapping_TaskBody struct {
+ Req *types.RemoveDiskMapping_Task `xml:"urn:vim25 RemoveDiskMapping_Task,omitempty"`
+ Res *types.RemoveDiskMapping_TaskResponse `xml:"urn:vim25 RemoveDiskMapping_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveDiskMapping_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveDiskMapping_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDiskMapping_Task) (*types.RemoveDiskMapping_TaskResponse, error) {
+ var reqBody, resBody RemoveDiskMapping_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveDisk_TaskBody struct {
+ Req *types.RemoveDisk_Task `xml:"urn:vim25 RemoveDisk_Task,omitempty"`
+ Res *types.RemoveDisk_TaskResponse `xml:"urn:vim25 RemoveDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDisk_Task) (*types.RemoveDisk_TaskResponse, error) {
+ var reqBody, resBody RemoveDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveEntityPermissionBody struct {
+ Req *types.RemoveEntityPermission `xml:"urn:vim25 RemoveEntityPermission,omitempty"`
+ Res *types.RemoveEntityPermissionResponse `xml:"urn:vim25 RemoveEntityPermissionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveEntityPermissionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveEntityPermission(ctx context.Context, r soap.RoundTripper, req *types.RemoveEntityPermission) (*types.RemoveEntityPermissionResponse, error) {
+ var reqBody, resBody RemoveEntityPermissionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveFilterBody struct {
+ Req *types.RemoveFilter `xml:"urn:vim25 RemoveFilter,omitempty"`
+ Res *types.RemoveFilterResponse `xml:"urn:vim25 RemoveFilterResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveFilterBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveFilter(ctx context.Context, r soap.RoundTripper, req *types.RemoveFilter) (*types.RemoveFilterResponse, error) {
+ var reqBody, resBody RemoveFilterBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveFilterEntitiesBody struct {
+ Req *types.RemoveFilterEntities `xml:"urn:vim25 RemoveFilterEntities,omitempty"`
+ Res *types.RemoveFilterEntitiesResponse `xml:"urn:vim25 RemoveFilterEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.RemoveFilterEntities) (*types.RemoveFilterEntitiesResponse, error) {
+ var reqBody, resBody RemoveFilterEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveGroupBody struct {
+ Req *types.RemoveGroup `xml:"urn:vim25 RemoveGroup,omitempty"`
+ Res *types.RemoveGroupResponse `xml:"urn:vim25 RemoveGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveGroup(ctx context.Context, r soap.RoundTripper, req *types.RemoveGroup) (*types.RemoveGroupResponse, error) {
+ var reqBody, resBody RemoveGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveGuestAliasBody struct {
+ Req *types.RemoveGuestAlias `xml:"urn:vim25 RemoveGuestAlias,omitempty"`
+ Res *types.RemoveGuestAliasResponse `xml:"urn:vim25 RemoveGuestAliasResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveGuestAliasBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveGuestAlias(ctx context.Context, r soap.RoundTripper, req *types.RemoveGuestAlias) (*types.RemoveGuestAliasResponse, error) {
+ var reqBody, resBody RemoveGuestAliasBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveGuestAliasByCertBody struct {
+ Req *types.RemoveGuestAliasByCert `xml:"urn:vim25 RemoveGuestAliasByCert,omitempty"`
+ Res *types.RemoveGuestAliasByCertResponse `xml:"urn:vim25 RemoveGuestAliasByCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveGuestAliasByCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveGuestAliasByCert(ctx context.Context, r soap.RoundTripper, req *types.RemoveGuestAliasByCert) (*types.RemoveGuestAliasByCertResponse, error) {
+ var reqBody, resBody RemoveGuestAliasByCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveInternetScsiSendTargetsBody struct {
+ Req *types.RemoveInternetScsiSendTargets `xml:"urn:vim25 RemoveInternetScsiSendTargets,omitempty"`
+ Res *types.RemoveInternetScsiSendTargetsResponse `xml:"urn:vim25 RemoveInternetScsiSendTargetsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveInternetScsiSendTargetsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveInternetScsiSendTargets(ctx context.Context, r soap.RoundTripper, req *types.RemoveInternetScsiSendTargets) (*types.RemoveInternetScsiSendTargetsResponse, error) {
+ var reqBody, resBody RemoveInternetScsiSendTargetsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveInternetScsiStaticTargetsBody struct {
+ Req *types.RemoveInternetScsiStaticTargets `xml:"urn:vim25 RemoveInternetScsiStaticTargets,omitempty"`
+ Res *types.RemoveInternetScsiStaticTargetsResponse `xml:"urn:vim25 RemoveInternetScsiStaticTargetsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveInternetScsiStaticTargetsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveInternetScsiStaticTargets(ctx context.Context, r soap.RoundTripper, req *types.RemoveInternetScsiStaticTargets) (*types.RemoveInternetScsiStaticTargetsResponse, error) {
+ var reqBody, resBody RemoveInternetScsiStaticTargetsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveKeyBody struct {
+ Req *types.RemoveKey `xml:"urn:vim25 RemoveKey,omitempty"`
+ Res *types.RemoveKeyResponse `xml:"urn:vim25 RemoveKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveKey(ctx context.Context, r soap.RoundTripper, req *types.RemoveKey) (*types.RemoveKeyResponse, error) {
+ var reqBody, resBody RemoveKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveKeysBody struct {
+ Req *types.RemoveKeys `xml:"urn:vim25 RemoveKeys,omitempty"`
+ Res *types.RemoveKeysResponse `xml:"urn:vim25 RemoveKeysResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveKeysBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveKeys(ctx context.Context, r soap.RoundTripper, req *types.RemoveKeys) (*types.RemoveKeysResponse, error) {
+ var reqBody, resBody RemoveKeysBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveKmipServerBody struct {
+ Req *types.RemoveKmipServer `xml:"urn:vim25 RemoveKmipServer,omitempty"`
+ Res *types.RemoveKmipServerResponse `xml:"urn:vim25 RemoveKmipServerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveKmipServerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveKmipServer(ctx context.Context, r soap.RoundTripper, req *types.RemoveKmipServer) (*types.RemoveKmipServerResponse, error) {
+ var reqBody, resBody RemoveKmipServerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveLicenseBody struct {
+ Req *types.RemoveLicense `xml:"urn:vim25 RemoveLicense,omitempty"`
+ Res *types.RemoveLicenseResponse `xml:"urn:vim25 RemoveLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveLicense(ctx context.Context, r soap.RoundTripper, req *types.RemoveLicense) (*types.RemoveLicenseResponse, error) {
+ var reqBody, resBody RemoveLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveLicenseLabelBody struct {
+ Req *types.RemoveLicenseLabel `xml:"urn:vim25 RemoveLicenseLabel,omitempty"`
+ Res *types.RemoveLicenseLabelResponse `xml:"urn:vim25 RemoveLicenseLabelResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveLicenseLabelBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveLicenseLabel(ctx context.Context, r soap.RoundTripper, req *types.RemoveLicenseLabel) (*types.RemoveLicenseLabelResponse, error) {
+ var reqBody, resBody RemoveLicenseLabelBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveMonitoredEntitiesBody struct {
+ Req *types.RemoveMonitoredEntities `xml:"urn:vim25 RemoveMonitoredEntities,omitempty"`
+ Res *types.RemoveMonitoredEntitiesResponse `xml:"urn:vim25 RemoveMonitoredEntitiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.RemoveMonitoredEntities) (*types.RemoveMonitoredEntitiesResponse, error) {
+ var reqBody, resBody RemoveMonitoredEntitiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveNetworkResourcePoolBody struct {
+ Req *types.RemoveNetworkResourcePool `xml:"urn:vim25 RemoveNetworkResourcePool,omitempty"`
+ Res *types.RemoveNetworkResourcePoolResponse `xml:"urn:vim25 RemoveNetworkResourcePoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.RemoveNetworkResourcePool) (*types.RemoveNetworkResourcePoolResponse, error) {
+ var reqBody, resBody RemoveNetworkResourcePoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemovePerfIntervalBody struct {
+ Req *types.RemovePerfInterval `xml:"urn:vim25 RemovePerfInterval,omitempty"`
+ Res *types.RemovePerfIntervalResponse `xml:"urn:vim25 RemovePerfIntervalResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemovePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemovePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.RemovePerfInterval) (*types.RemovePerfIntervalResponse, error) {
+ var reqBody, resBody RemovePerfIntervalBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemovePortGroupBody struct {
+ Req *types.RemovePortGroup `xml:"urn:vim25 RemovePortGroup,omitempty"`
+ Res *types.RemovePortGroupResponse `xml:"urn:vim25 RemovePortGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemovePortGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemovePortGroup(ctx context.Context, r soap.RoundTripper, req *types.RemovePortGroup) (*types.RemovePortGroupResponse, error) {
+ var reqBody, resBody RemovePortGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveScheduledTaskBody struct {
+ Req *types.RemoveScheduledTask `xml:"urn:vim25 RemoveScheduledTask,omitempty"`
+ Res *types.RemoveScheduledTaskResponse `xml:"urn:vim25 RemoveScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RemoveScheduledTask) (*types.RemoveScheduledTaskResponse, error) {
+ var reqBody, resBody RemoveScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveServiceConsoleVirtualNicBody struct {
+ Req *types.RemoveServiceConsoleVirtualNic `xml:"urn:vim25 RemoveServiceConsoleVirtualNic,omitempty"`
+ Res *types.RemoveServiceConsoleVirtualNicResponse `xml:"urn:vim25 RemoveServiceConsoleVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RemoveServiceConsoleVirtualNic) (*types.RemoveServiceConsoleVirtualNicResponse, error) {
+ var reqBody, resBody RemoveServiceConsoleVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveSmartCardTrustAnchorBody struct {
+ Req *types.RemoveSmartCardTrustAnchor `xml:"urn:vim25 RemoveSmartCardTrustAnchor,omitempty"`
+ Res *types.RemoveSmartCardTrustAnchorResponse `xml:"urn:vim25 RemoveSmartCardTrustAnchorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveSmartCardTrustAnchorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveSmartCardTrustAnchor(ctx context.Context, r soap.RoundTripper, req *types.RemoveSmartCardTrustAnchor) (*types.RemoveSmartCardTrustAnchorResponse, error) {
+ var reqBody, resBody RemoveSmartCardTrustAnchorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveSmartCardTrustAnchorByFingerprintBody struct {
+ Req *types.RemoveSmartCardTrustAnchorByFingerprint `xml:"urn:vim25 RemoveSmartCardTrustAnchorByFingerprint,omitempty"`
+ Res *types.RemoveSmartCardTrustAnchorByFingerprintResponse `xml:"urn:vim25 RemoveSmartCardTrustAnchorByFingerprintResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveSmartCardTrustAnchorByFingerprintBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveSmartCardTrustAnchorByFingerprint(ctx context.Context, r soap.RoundTripper, req *types.RemoveSmartCardTrustAnchorByFingerprint) (*types.RemoveSmartCardTrustAnchorByFingerprintResponse, error) {
+ var reqBody, resBody RemoveSmartCardTrustAnchorByFingerprintBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveSnapshot_TaskBody struct {
+ Req *types.RemoveSnapshot_Task `xml:"urn:vim25 RemoveSnapshot_Task,omitempty"`
+ Res *types.RemoveSnapshot_TaskResponse `xml:"urn:vim25 RemoveSnapshot_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveSnapshot_Task) (*types.RemoveSnapshot_TaskResponse, error) {
+ var reqBody, resBody RemoveSnapshot_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveUserBody struct {
+ Req *types.RemoveUser `xml:"urn:vim25 RemoveUser,omitempty"`
+ Res *types.RemoveUserResponse `xml:"urn:vim25 RemoveUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveUser(ctx context.Context, r soap.RoundTripper, req *types.RemoveUser) (*types.RemoveUserResponse, error) {
+ var reqBody, resBody RemoveUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveVirtualNicBody struct {
+ Req *types.RemoveVirtualNic `xml:"urn:vim25 RemoveVirtualNic,omitempty"`
+ Res *types.RemoveVirtualNicResponse `xml:"urn:vim25 RemoveVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RemoveVirtualNic) (*types.RemoveVirtualNicResponse, error) {
+ var reqBody, resBody RemoveVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RemoveVirtualSwitchBody struct {
+ Req *types.RemoveVirtualSwitch `xml:"urn:vim25 RemoveVirtualSwitch,omitempty"`
+ Res *types.RemoveVirtualSwitchResponse `xml:"urn:vim25 RemoveVirtualSwitchResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RemoveVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RemoveVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.RemoveVirtualSwitch) (*types.RemoveVirtualSwitchResponse, error) {
+ var reqBody, resBody RemoveVirtualSwitchBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RenameCustomFieldDefBody struct {
+ Req *types.RenameCustomFieldDef `xml:"urn:vim25 RenameCustomFieldDef,omitempty"`
+ Res *types.RenameCustomFieldDefResponse `xml:"urn:vim25 RenameCustomFieldDefResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RenameCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RenameCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.RenameCustomFieldDef) (*types.RenameCustomFieldDefResponse, error) {
+ var reqBody, resBody RenameCustomFieldDefBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RenameCustomizationSpecBody struct {
+ Req *types.RenameCustomizationSpec `xml:"urn:vim25 RenameCustomizationSpec,omitempty"`
+ Res *types.RenameCustomizationSpecResponse `xml:"urn:vim25 RenameCustomizationSpecResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RenameCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RenameCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.RenameCustomizationSpec) (*types.RenameCustomizationSpecResponse, error) {
+ var reqBody, resBody RenameCustomizationSpecBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RenameDatastoreBody struct {
+ Req *types.RenameDatastore `xml:"urn:vim25 RenameDatastore,omitempty"`
+ Res *types.RenameDatastoreResponse `xml:"urn:vim25 RenameDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RenameDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RenameDatastore(ctx context.Context, r soap.RoundTripper, req *types.RenameDatastore) (*types.RenameDatastoreResponse, error) {
+ var reqBody, resBody RenameDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RenameSnapshotBody struct {
+ Req *types.RenameSnapshot `xml:"urn:vim25 RenameSnapshot,omitempty"`
+ Res *types.RenameSnapshotResponse `xml:"urn:vim25 RenameSnapshotResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RenameSnapshotBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RenameSnapshot(ctx context.Context, r soap.RoundTripper, req *types.RenameSnapshot) (*types.RenameSnapshotResponse, error) {
+ var reqBody, resBody RenameSnapshotBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RenameVStorageObjectBody struct {
+ Req *types.RenameVStorageObject `xml:"urn:vim25 RenameVStorageObject,omitempty"`
+ Res *types.RenameVStorageObjectResponse `xml:"urn:vim25 RenameVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RenameVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RenameVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.RenameVStorageObject) (*types.RenameVStorageObjectResponse, error) {
+ var reqBody, resBody RenameVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type Rename_TaskBody struct {
+ Req *types.Rename_Task `xml:"urn:vim25 Rename_Task,omitempty"`
+ Res *types.Rename_TaskResponse `xml:"urn:vim25 Rename_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *Rename_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func Rename_Task(ctx context.Context, r soap.RoundTripper, req *types.Rename_Task) (*types.Rename_TaskResponse, error) {
+ var reqBody, resBody Rename_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReplaceCACertificatesAndCRLsBody struct {
+ Req *types.ReplaceCACertificatesAndCRLs `xml:"urn:vim25 ReplaceCACertificatesAndCRLs,omitempty"`
+ Res *types.ReplaceCACertificatesAndCRLsResponse `xml:"urn:vim25 ReplaceCACertificatesAndCRLsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReplaceCACertificatesAndCRLsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReplaceCACertificatesAndCRLs(ctx context.Context, r soap.RoundTripper, req *types.ReplaceCACertificatesAndCRLs) (*types.ReplaceCACertificatesAndCRLsResponse, error) {
+ var reqBody, resBody ReplaceCACertificatesAndCRLsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ReplaceSmartCardTrustAnchorsBody struct {
+ Req *types.ReplaceSmartCardTrustAnchors `xml:"urn:vim25 ReplaceSmartCardTrustAnchors,omitempty"`
+ Res *types.ReplaceSmartCardTrustAnchorsResponse `xml:"urn:vim25 ReplaceSmartCardTrustAnchorsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ReplaceSmartCardTrustAnchorsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ReplaceSmartCardTrustAnchors(ctx context.Context, r soap.RoundTripper, req *types.ReplaceSmartCardTrustAnchors) (*types.ReplaceSmartCardTrustAnchorsResponse, error) {
+ var reqBody, resBody ReplaceSmartCardTrustAnchorsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RescanAllHbaBody struct {
+ Req *types.RescanAllHba `xml:"urn:vim25 RescanAllHba,omitempty"`
+ Res *types.RescanAllHbaResponse `xml:"urn:vim25 RescanAllHbaResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RescanAllHbaBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RescanAllHba(ctx context.Context, r soap.RoundTripper, req *types.RescanAllHba) (*types.RescanAllHbaResponse, error) {
+ var reqBody, resBody RescanAllHbaBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RescanHbaBody struct {
+ Req *types.RescanHba `xml:"urn:vim25 RescanHba,omitempty"`
+ Res *types.RescanHbaResponse `xml:"urn:vim25 RescanHbaResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RescanHbaBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RescanHba(ctx context.Context, r soap.RoundTripper, req *types.RescanHba) (*types.RescanHbaResponse, error) {
+ var reqBody, resBody RescanHbaBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RescanVffsBody struct {
+ Req *types.RescanVffs `xml:"urn:vim25 RescanVffs,omitempty"`
+ Res *types.RescanVffsResponse `xml:"urn:vim25 RescanVffsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RescanVffsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RescanVffs(ctx context.Context, r soap.RoundTripper, req *types.RescanVffs) (*types.RescanVffsResponse, error) {
+ var reqBody, resBody RescanVffsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RescanVmfsBody struct {
+ Req *types.RescanVmfs `xml:"urn:vim25 RescanVmfs,omitempty"`
+ Res *types.RescanVmfsResponse `xml:"urn:vim25 RescanVmfsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RescanVmfsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RescanVmfs(ctx context.Context, r soap.RoundTripper, req *types.RescanVmfs) (*types.RescanVmfsResponse, error) {
+ var reqBody, resBody RescanVmfsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetCollectorBody struct {
+ Req *types.ResetCollector `xml:"urn:vim25 ResetCollector,omitempty"`
+ Res *types.ResetCollectorResponse `xml:"urn:vim25 ResetCollectorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetCollectorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetCollector(ctx context.Context, r soap.RoundTripper, req *types.ResetCollector) (*types.ResetCollectorResponse, error) {
+ var reqBody, resBody ResetCollectorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetCounterLevelMappingBody struct {
+ Req *types.ResetCounterLevelMapping `xml:"urn:vim25 ResetCounterLevelMapping,omitempty"`
+ Res *types.ResetCounterLevelMappingResponse `xml:"urn:vim25 ResetCounterLevelMappingResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetCounterLevelMappingBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetCounterLevelMapping(ctx context.Context, r soap.RoundTripper, req *types.ResetCounterLevelMapping) (*types.ResetCounterLevelMappingResponse, error) {
+ var reqBody, resBody ResetCounterLevelMappingBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetEntityPermissionsBody struct {
+ Req *types.ResetEntityPermissions `xml:"urn:vim25 ResetEntityPermissions,omitempty"`
+ Res *types.ResetEntityPermissionsResponse `xml:"urn:vim25 ResetEntityPermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.ResetEntityPermissions) (*types.ResetEntityPermissionsResponse, error) {
+ var reqBody, resBody ResetEntityPermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetFirmwareToFactoryDefaultsBody struct {
+ Req *types.ResetFirmwareToFactoryDefaults `xml:"urn:vim25 ResetFirmwareToFactoryDefaults,omitempty"`
+ Res *types.ResetFirmwareToFactoryDefaultsResponse `xml:"urn:vim25 ResetFirmwareToFactoryDefaultsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetFirmwareToFactoryDefaultsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetFirmwareToFactoryDefaults(ctx context.Context, r soap.RoundTripper, req *types.ResetFirmwareToFactoryDefaults) (*types.ResetFirmwareToFactoryDefaultsResponse, error) {
+ var reqBody, resBody ResetFirmwareToFactoryDefaultsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetGuestInformationBody struct {
+ Req *types.ResetGuestInformation `xml:"urn:vim25 ResetGuestInformation,omitempty"`
+ Res *types.ResetGuestInformationResponse `xml:"urn:vim25 ResetGuestInformationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetGuestInformationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetGuestInformation(ctx context.Context, r soap.RoundTripper, req *types.ResetGuestInformation) (*types.ResetGuestInformationResponse, error) {
+ var reqBody, resBody ResetGuestInformationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetListViewBody struct {
+ Req *types.ResetListView `xml:"urn:vim25 ResetListView,omitempty"`
+ Res *types.ResetListViewResponse `xml:"urn:vim25 ResetListViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetListViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetListView(ctx context.Context, r soap.RoundTripper, req *types.ResetListView) (*types.ResetListViewResponse, error) {
+ var reqBody, resBody ResetListViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetListViewFromViewBody struct {
+ Req *types.ResetListViewFromView `xml:"urn:vim25 ResetListViewFromView,omitempty"`
+ Res *types.ResetListViewFromViewResponse `xml:"urn:vim25 ResetListViewFromViewResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetListViewFromViewBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetListViewFromView(ctx context.Context, r soap.RoundTripper, req *types.ResetListViewFromView) (*types.ResetListViewFromViewResponse, error) {
+ var reqBody, resBody ResetListViewFromViewBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetSystemHealthInfoBody struct {
+ Req *types.ResetSystemHealthInfo `xml:"urn:vim25 ResetSystemHealthInfo,omitempty"`
+ Res *types.ResetSystemHealthInfoResponse `xml:"urn:vim25 ResetSystemHealthInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetSystemHealthInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetSystemHealthInfo(ctx context.Context, r soap.RoundTripper, req *types.ResetSystemHealthInfo) (*types.ResetSystemHealthInfoResponse, error) {
+ var reqBody, resBody ResetSystemHealthInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResetVM_TaskBody struct {
+ Req *types.ResetVM_Task `xml:"urn:vim25 ResetVM_Task,omitempty"`
+ Res *types.ResetVM_TaskResponse `xml:"urn:vim25 ResetVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResetVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResetVM_Task(ctx context.Context, r soap.RoundTripper, req *types.ResetVM_Task) (*types.ResetVM_TaskResponse, error) {
+ var reqBody, resBody ResetVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResignatureUnresolvedVmfsVolume_TaskBody struct {
+ Req *types.ResignatureUnresolvedVmfsVolume_Task `xml:"urn:vim25 ResignatureUnresolvedVmfsVolume_Task,omitempty"`
+ Res *types.ResignatureUnresolvedVmfsVolume_TaskResponse `xml:"urn:vim25 ResignatureUnresolvedVmfsVolume_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResignatureUnresolvedVmfsVolume_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResignatureUnresolvedVmfsVolume_Task(ctx context.Context, r soap.RoundTripper, req *types.ResignatureUnresolvedVmfsVolume_Task) (*types.ResignatureUnresolvedVmfsVolume_TaskResponse, error) {
+ var reqBody, resBody ResignatureUnresolvedVmfsVolume_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResolveInstallationErrorsOnCluster_TaskBody struct {
+ Req *types.ResolveInstallationErrorsOnCluster_Task `xml:"urn:vim25 ResolveInstallationErrorsOnCluster_Task,omitempty"`
+ Res *types.ResolveInstallationErrorsOnCluster_TaskResponse `xml:"urn:vim25 ResolveInstallationErrorsOnCluster_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResolveInstallationErrorsOnCluster_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResolveInstallationErrorsOnCluster_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveInstallationErrorsOnCluster_Task) (*types.ResolveInstallationErrorsOnCluster_TaskResponse, error) {
+ var reqBody, resBody ResolveInstallationErrorsOnCluster_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResolveInstallationErrorsOnHost_TaskBody struct {
+ Req *types.ResolveInstallationErrorsOnHost_Task `xml:"urn:vim25 ResolveInstallationErrorsOnHost_Task,omitempty"`
+ Res *types.ResolveInstallationErrorsOnHost_TaskResponse `xml:"urn:vim25 ResolveInstallationErrorsOnHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResolveInstallationErrorsOnHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResolveInstallationErrorsOnHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveInstallationErrorsOnHost_Task) (*types.ResolveInstallationErrorsOnHost_TaskResponse, error) {
+ var reqBody, resBody ResolveInstallationErrorsOnHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesBody struct {
+ Req *types.ResolveMultipleUnresolvedVmfsVolumes `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumes,omitempty"`
+ Res *types.ResolveMultipleUnresolvedVmfsVolumesResponse `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResolveMultipleUnresolvedVmfsVolumesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResolveMultipleUnresolvedVmfsVolumes(ctx context.Context, r soap.RoundTripper, req *types.ResolveMultipleUnresolvedVmfsVolumes) (*types.ResolveMultipleUnresolvedVmfsVolumesResponse, error) {
+ var reqBody, resBody ResolveMultipleUnresolvedVmfsVolumesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody struct {
+ Req *types.ResolveMultipleUnresolvedVmfsVolumesEx_Task `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumesEx_Task,omitempty"`
+ Res *types.ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ResolveMultipleUnresolvedVmfsVolumesEx_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveMultipleUnresolvedVmfsVolumesEx_Task) (*types.ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse, error) {
+ var reqBody, resBody ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RestartServiceBody struct {
+ Req *types.RestartService `xml:"urn:vim25 RestartService,omitempty"`
+ Res *types.RestartServiceResponse `xml:"urn:vim25 RestartServiceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RestartServiceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RestartService(ctx context.Context, r soap.RoundTripper, req *types.RestartService) (*types.RestartServiceResponse, error) {
+ var reqBody, resBody RestartServiceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RestartServiceConsoleVirtualNicBody struct {
+ Req *types.RestartServiceConsoleVirtualNic `xml:"urn:vim25 RestartServiceConsoleVirtualNic,omitempty"`
+ Res *types.RestartServiceConsoleVirtualNicResponse `xml:"urn:vim25 RestartServiceConsoleVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RestartServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RestartServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RestartServiceConsoleVirtualNic) (*types.RestartServiceConsoleVirtualNicResponse, error) {
+ var reqBody, resBody RestartServiceConsoleVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RestoreFirmwareConfigurationBody struct {
+ Req *types.RestoreFirmwareConfiguration `xml:"urn:vim25 RestoreFirmwareConfiguration,omitempty"`
+ Res *types.RestoreFirmwareConfigurationResponse `xml:"urn:vim25 RestoreFirmwareConfigurationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RestoreFirmwareConfigurationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RestoreFirmwareConfiguration(ctx context.Context, r soap.RoundTripper, req *types.RestoreFirmwareConfiguration) (*types.RestoreFirmwareConfigurationResponse, error) {
+ var reqBody, resBody RestoreFirmwareConfigurationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveAllPermissionsBody struct {
+ Req *types.RetrieveAllPermissions `xml:"urn:vim25 RetrieveAllPermissions,omitempty"`
+ Res *types.RetrieveAllPermissionsResponse `xml:"urn:vim25 RetrieveAllPermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveAllPermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveAllPermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAllPermissions) (*types.RetrieveAllPermissionsResponse, error) {
+ var reqBody, resBody RetrieveAllPermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveAnswerFileBody struct {
+ Req *types.RetrieveAnswerFile `xml:"urn:vim25 RetrieveAnswerFile,omitempty"`
+ Res *types.RetrieveAnswerFileResponse `xml:"urn:vim25 RetrieveAnswerFileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveAnswerFileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveAnswerFile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAnswerFile) (*types.RetrieveAnswerFileResponse, error) {
+ var reqBody, resBody RetrieveAnswerFileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveAnswerFileForProfileBody struct {
+ Req *types.RetrieveAnswerFileForProfile `xml:"urn:vim25 RetrieveAnswerFileForProfile,omitempty"`
+ Res *types.RetrieveAnswerFileForProfileResponse `xml:"urn:vim25 RetrieveAnswerFileForProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveAnswerFileForProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveAnswerFileForProfile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAnswerFileForProfile) (*types.RetrieveAnswerFileForProfileResponse, error) {
+ var reqBody, resBody RetrieveAnswerFileForProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveArgumentDescriptionBody struct {
+ Req *types.RetrieveArgumentDescription `xml:"urn:vim25 RetrieveArgumentDescription,omitempty"`
+ Res *types.RetrieveArgumentDescriptionResponse `xml:"urn:vim25 RetrieveArgumentDescriptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveArgumentDescriptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveArgumentDescription(ctx context.Context, r soap.RoundTripper, req *types.RetrieveArgumentDescription) (*types.RetrieveArgumentDescriptionResponse, error) {
+ var reqBody, resBody RetrieveArgumentDescriptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveClientCertBody struct {
+ Req *types.RetrieveClientCert `xml:"urn:vim25 RetrieveClientCert,omitempty"`
+ Res *types.RetrieveClientCertResponse `xml:"urn:vim25 RetrieveClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveClientCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveClientCert) (*types.RetrieveClientCertResponse, error) {
+ var reqBody, resBody RetrieveClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveClientCsrBody struct {
+ Req *types.RetrieveClientCsr `xml:"urn:vim25 RetrieveClientCsr,omitempty"`
+ Res *types.RetrieveClientCsrResponse `xml:"urn:vim25 RetrieveClientCsrResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveClientCsrBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveClientCsr(ctx context.Context, r soap.RoundTripper, req *types.RetrieveClientCsr) (*types.RetrieveClientCsrResponse, error) {
+ var reqBody, resBody RetrieveClientCsrBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveDasAdvancedRuntimeInfoBody struct {
+ Req *types.RetrieveDasAdvancedRuntimeInfo `xml:"urn:vim25 RetrieveDasAdvancedRuntimeInfo,omitempty"`
+ Res *types.RetrieveDasAdvancedRuntimeInfoResponse `xml:"urn:vim25 RetrieveDasAdvancedRuntimeInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveDasAdvancedRuntimeInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveDasAdvancedRuntimeInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDasAdvancedRuntimeInfo) (*types.RetrieveDasAdvancedRuntimeInfoResponse, error) {
+ var reqBody, resBody RetrieveDasAdvancedRuntimeInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveDescriptionBody struct {
+ Req *types.RetrieveDescription `xml:"urn:vim25 RetrieveDescription,omitempty"`
+ Res *types.RetrieveDescriptionResponse `xml:"urn:vim25 RetrieveDescriptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveDescriptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveDescription(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDescription) (*types.RetrieveDescriptionResponse, error) {
+ var reqBody, resBody RetrieveDescriptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveDiskPartitionInfoBody struct {
+ Req *types.RetrieveDiskPartitionInfo `xml:"urn:vim25 RetrieveDiskPartitionInfo,omitempty"`
+ Res *types.RetrieveDiskPartitionInfoResponse `xml:"urn:vim25 RetrieveDiskPartitionInfoResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveDiskPartitionInfoBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveDiskPartitionInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDiskPartitionInfo) (*types.RetrieveDiskPartitionInfoResponse, error) {
+ var reqBody, resBody RetrieveDiskPartitionInfoBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveEntityPermissionsBody struct {
+ Req *types.RetrieveEntityPermissions `xml:"urn:vim25 RetrieveEntityPermissions,omitempty"`
+ Res *types.RetrieveEntityPermissionsResponse `xml:"urn:vim25 RetrieveEntityPermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveEntityPermissions) (*types.RetrieveEntityPermissionsResponse, error) {
+ var reqBody, resBody RetrieveEntityPermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveEntityScheduledTaskBody struct {
+ Req *types.RetrieveEntityScheduledTask `xml:"urn:vim25 RetrieveEntityScheduledTask,omitempty"`
+ Res *types.RetrieveEntityScheduledTaskResponse `xml:"urn:vim25 RetrieveEntityScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveEntityScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveEntityScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RetrieveEntityScheduledTask) (*types.RetrieveEntityScheduledTaskResponse, error) {
+ var reqBody, resBody RetrieveEntityScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveHardwareUptimeBody struct {
+ Req *types.RetrieveHardwareUptime `xml:"urn:vim25 RetrieveHardwareUptime,omitempty"`
+ Res *types.RetrieveHardwareUptimeResponse `xml:"urn:vim25 RetrieveHardwareUptimeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveHardwareUptimeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveHardwareUptime(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHardwareUptime) (*types.RetrieveHardwareUptimeResponse, error) {
+ var reqBody, resBody RetrieveHardwareUptimeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveHostAccessControlEntriesBody struct {
+ Req *types.RetrieveHostAccessControlEntries `xml:"urn:vim25 RetrieveHostAccessControlEntries,omitempty"`
+ Res *types.RetrieveHostAccessControlEntriesResponse `xml:"urn:vim25 RetrieveHostAccessControlEntriesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveHostAccessControlEntriesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveHostAccessControlEntries(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostAccessControlEntries) (*types.RetrieveHostAccessControlEntriesResponse, error) {
+ var reqBody, resBody RetrieveHostAccessControlEntriesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveHostCustomizationsBody struct {
+ Req *types.RetrieveHostCustomizations `xml:"urn:vim25 RetrieveHostCustomizations,omitempty"`
+ Res *types.RetrieveHostCustomizationsResponse `xml:"urn:vim25 RetrieveHostCustomizationsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveHostCustomizationsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveHostCustomizations(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostCustomizations) (*types.RetrieveHostCustomizationsResponse, error) {
+ var reqBody, resBody RetrieveHostCustomizationsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveHostCustomizationsForProfileBody struct {
+ Req *types.RetrieveHostCustomizationsForProfile `xml:"urn:vim25 RetrieveHostCustomizationsForProfile,omitempty"`
+ Res *types.RetrieveHostCustomizationsForProfileResponse `xml:"urn:vim25 RetrieveHostCustomizationsForProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveHostCustomizationsForProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveHostCustomizationsForProfile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostCustomizationsForProfile) (*types.RetrieveHostCustomizationsForProfileResponse, error) {
+ var reqBody, resBody RetrieveHostCustomizationsForProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveHostSpecificationBody struct {
+ Req *types.RetrieveHostSpecification `xml:"urn:vim25 RetrieveHostSpecification,omitempty"`
+ Res *types.RetrieveHostSpecificationResponse `xml:"urn:vim25 RetrieveHostSpecificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostSpecification) (*types.RetrieveHostSpecificationResponse, error) {
+ var reqBody, resBody RetrieveHostSpecificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveKmipServerCertBody struct {
+ Req *types.RetrieveKmipServerCert `xml:"urn:vim25 RetrieveKmipServerCert,omitempty"`
+ Res *types.RetrieveKmipServerCertResponse `xml:"urn:vim25 RetrieveKmipServerCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveKmipServerCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveKmipServerCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveKmipServerCert) (*types.RetrieveKmipServerCertResponse, error) {
+ var reqBody, resBody RetrieveKmipServerCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveKmipServersStatus_TaskBody struct {
+ Req *types.RetrieveKmipServersStatus_Task `xml:"urn:vim25 RetrieveKmipServersStatus_Task,omitempty"`
+ Res *types.RetrieveKmipServersStatus_TaskResponse `xml:"urn:vim25 RetrieveKmipServersStatus_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveKmipServersStatus_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveKmipServersStatus_Task(ctx context.Context, r soap.RoundTripper, req *types.RetrieveKmipServersStatus_Task) (*types.RetrieveKmipServersStatus_TaskResponse, error) {
+ var reqBody, resBody RetrieveKmipServersStatus_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveObjectScheduledTaskBody struct {
+ Req *types.RetrieveObjectScheduledTask `xml:"urn:vim25 RetrieveObjectScheduledTask,omitempty"`
+ Res *types.RetrieveObjectScheduledTaskResponse `xml:"urn:vim25 RetrieveObjectScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveObjectScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveObjectScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RetrieveObjectScheduledTask) (*types.RetrieveObjectScheduledTaskResponse, error) {
+ var reqBody, resBody RetrieveObjectScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveProductComponentsBody struct {
+ Req *types.RetrieveProductComponents `xml:"urn:vim25 RetrieveProductComponents,omitempty"`
+ Res *types.RetrieveProductComponentsResponse `xml:"urn:vim25 RetrieveProductComponentsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveProductComponentsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveProductComponents(ctx context.Context, r soap.RoundTripper, req *types.RetrieveProductComponents) (*types.RetrieveProductComponentsResponse, error) {
+ var reqBody, resBody RetrieveProductComponentsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrievePropertiesBody struct {
+ Req *types.RetrieveProperties `xml:"urn:vim25 RetrieveProperties,omitempty"`
+ Res *types.RetrievePropertiesResponse `xml:"urn:vim25 RetrievePropertiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrievePropertiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveProperties(ctx context.Context, r soap.RoundTripper, req *types.RetrieveProperties) (*types.RetrievePropertiesResponse, error) {
+ var reqBody, resBody RetrievePropertiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrievePropertiesExBody struct {
+ Req *types.RetrievePropertiesEx `xml:"urn:vim25 RetrievePropertiesEx,omitempty"`
+ Res *types.RetrievePropertiesExResponse `xml:"urn:vim25 RetrievePropertiesExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.RetrievePropertiesEx) (*types.RetrievePropertiesExResponse, error) {
+ var reqBody, resBody RetrievePropertiesExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveRolePermissionsBody struct {
+ Req *types.RetrieveRolePermissions `xml:"urn:vim25 RetrieveRolePermissions,omitempty"`
+ Res *types.RetrieveRolePermissionsResponse `xml:"urn:vim25 RetrieveRolePermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveRolePermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveRolePermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveRolePermissions) (*types.RetrieveRolePermissionsResponse, error) {
+ var reqBody, resBody RetrieveRolePermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveSelfSignedClientCertBody struct {
+ Req *types.RetrieveSelfSignedClientCert `xml:"urn:vim25 RetrieveSelfSignedClientCert,omitempty"`
+ Res *types.RetrieveSelfSignedClientCertResponse `xml:"urn:vim25 RetrieveSelfSignedClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveSelfSignedClientCert) (*types.RetrieveSelfSignedClientCertResponse, error) {
+ var reqBody, resBody RetrieveSelfSignedClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveServiceContentBody struct {
+ Req *types.RetrieveServiceContent `xml:"urn:vim25 RetrieveServiceContent,omitempty"`
+ Res *types.RetrieveServiceContentResponse `xml:"urn:vim25 RetrieveServiceContentResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveServiceContentBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveServiceContent(ctx context.Context, r soap.RoundTripper, req *types.RetrieveServiceContent) (*types.RetrieveServiceContentResponse, error) {
+ var reqBody, resBody RetrieveServiceContentBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveUserGroupsBody struct {
+ Req *types.RetrieveUserGroups `xml:"urn:vim25 RetrieveUserGroups,omitempty"`
+ Res *types.RetrieveUserGroupsResponse `xml:"urn:vim25 RetrieveUserGroupsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveUserGroupsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveUserGroups(ctx context.Context, r soap.RoundTripper, req *types.RetrieveUserGroups) (*types.RetrieveUserGroupsResponse, error) {
+ var reqBody, resBody RetrieveUserGroupsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveVStorageObjectBody struct {
+ Req *types.RetrieveVStorageObject `xml:"urn:vim25 RetrieveVStorageObject,omitempty"`
+ Res *types.RetrieveVStorageObjectResponse `xml:"urn:vim25 RetrieveVStorageObjectResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageObject) (*types.RetrieveVStorageObjectResponse, error) {
+ var reqBody, resBody RetrieveVStorageObjectBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RetrieveVStorageObjectStateBody struct {
+ Req *types.RetrieveVStorageObjectState `xml:"urn:vim25 RetrieveVStorageObjectState,omitempty"`
+ Res *types.RetrieveVStorageObjectStateResponse `xml:"urn:vim25 RetrieveVStorageObjectStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RetrieveVStorageObjectStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RetrieveVStorageObjectState(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageObjectState) (*types.RetrieveVStorageObjectStateResponse, error) {
+ var reqBody, resBody RetrieveVStorageObjectStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RevertToCurrentSnapshot_TaskBody struct {
+ Req *types.RevertToCurrentSnapshot_Task `xml:"urn:vim25 RevertToCurrentSnapshot_Task,omitempty"`
+ Res *types.RevertToCurrentSnapshot_TaskResponse `xml:"urn:vim25 RevertToCurrentSnapshot_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RevertToCurrentSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RevertToCurrentSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RevertToCurrentSnapshot_Task) (*types.RevertToCurrentSnapshot_TaskResponse, error) {
+ var reqBody, resBody RevertToCurrentSnapshot_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RevertToSnapshot_TaskBody struct {
+ Req *types.RevertToSnapshot_Task `xml:"urn:vim25 RevertToSnapshot_Task,omitempty"`
+ Res *types.RevertToSnapshot_TaskResponse `xml:"urn:vim25 RevertToSnapshot_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RevertToSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RevertToSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RevertToSnapshot_Task) (*types.RevertToSnapshot_TaskResponse, error) {
+ var reqBody, resBody RevertToSnapshot_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RewindCollectorBody struct {
+ Req *types.RewindCollector `xml:"urn:vim25 RewindCollector,omitempty"`
+ Res *types.RewindCollectorResponse `xml:"urn:vim25 RewindCollectorResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RewindCollectorBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RewindCollector(ctx context.Context, r soap.RoundTripper, req *types.RewindCollector) (*types.RewindCollectorResponse, error) {
+ var reqBody, resBody RewindCollectorBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RunScheduledTaskBody struct {
+ Req *types.RunScheduledTask `xml:"urn:vim25 RunScheduledTask,omitempty"`
+ Res *types.RunScheduledTaskResponse `xml:"urn:vim25 RunScheduledTaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RunScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RunScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RunScheduledTask) (*types.RunScheduledTaskResponse, error) {
+ var reqBody, resBody RunScheduledTaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type RunVsanPhysicalDiskDiagnosticsBody struct {
+ Req *types.RunVsanPhysicalDiskDiagnostics `xml:"urn:vim25 RunVsanPhysicalDiskDiagnostics,omitempty"`
+ Res *types.RunVsanPhysicalDiskDiagnosticsResponse `xml:"urn:vim25 RunVsanPhysicalDiskDiagnosticsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *RunVsanPhysicalDiskDiagnosticsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func RunVsanPhysicalDiskDiagnostics(ctx context.Context, r soap.RoundTripper, req *types.RunVsanPhysicalDiskDiagnostics) (*types.RunVsanPhysicalDiskDiagnosticsResponse, error) {
+ var reqBody, resBody RunVsanPhysicalDiskDiagnosticsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ScanHostPatchV2_TaskBody struct {
+ Req *types.ScanHostPatchV2_Task `xml:"urn:vim25 ScanHostPatchV2_Task,omitempty"`
+ Res *types.ScanHostPatchV2_TaskResponse `xml:"urn:vim25 ScanHostPatchV2_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ScanHostPatchV2_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ScanHostPatchV2_Task(ctx context.Context, r soap.RoundTripper, req *types.ScanHostPatchV2_Task) (*types.ScanHostPatchV2_TaskResponse, error) {
+ var reqBody, resBody ScanHostPatchV2_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ScanHostPatch_TaskBody struct {
+ Req *types.ScanHostPatch_Task `xml:"urn:vim25 ScanHostPatch_Task,omitempty"`
+ Res *types.ScanHostPatch_TaskResponse `xml:"urn:vim25 ScanHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ScanHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ScanHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.ScanHostPatch_Task) (*types.ScanHostPatch_TaskResponse, error) {
+ var reqBody, resBody ScanHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ScheduleReconcileDatastoreInventoryBody struct {
+ Req *types.ScheduleReconcileDatastoreInventory `xml:"urn:vim25 ScheduleReconcileDatastoreInventory,omitempty"`
+ Res *types.ScheduleReconcileDatastoreInventoryResponse `xml:"urn:vim25 ScheduleReconcileDatastoreInventoryResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ScheduleReconcileDatastoreInventoryBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ScheduleReconcileDatastoreInventory(ctx context.Context, r soap.RoundTripper, req *types.ScheduleReconcileDatastoreInventory) (*types.ScheduleReconcileDatastoreInventoryResponse, error) {
+ var reqBody, resBody ScheduleReconcileDatastoreInventoryBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SearchDatastoreSubFolders_TaskBody struct {
+ Req *types.SearchDatastoreSubFolders_Task `xml:"urn:vim25 SearchDatastoreSubFolders_Task,omitempty"`
+ Res *types.SearchDatastoreSubFolders_TaskResponse `xml:"urn:vim25 SearchDatastoreSubFolders_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SearchDatastoreSubFolders_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SearchDatastoreSubFolders_Task(ctx context.Context, r soap.RoundTripper, req *types.SearchDatastoreSubFolders_Task) (*types.SearchDatastoreSubFolders_TaskResponse, error) {
+ var reqBody, resBody SearchDatastoreSubFolders_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SearchDatastore_TaskBody struct {
+ Req *types.SearchDatastore_Task `xml:"urn:vim25 SearchDatastore_Task,omitempty"`
+ Res *types.SearchDatastore_TaskResponse `xml:"urn:vim25 SearchDatastore_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SearchDatastore_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SearchDatastore_Task(ctx context.Context, r soap.RoundTripper, req *types.SearchDatastore_Task) (*types.SearchDatastore_TaskResponse, error) {
+ var reqBody, resBody SearchDatastore_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SelectActivePartitionBody struct {
+ Req *types.SelectActivePartition `xml:"urn:vim25 SelectActivePartition,omitempty"`
+ Res *types.SelectActivePartitionResponse `xml:"urn:vim25 SelectActivePartitionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SelectActivePartitionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SelectActivePartition(ctx context.Context, r soap.RoundTripper, req *types.SelectActivePartition) (*types.SelectActivePartitionResponse, error) {
+ var reqBody, resBody SelectActivePartitionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SelectVnicBody struct {
+ Req *types.SelectVnic `xml:"urn:vim25 SelectVnic,omitempty"`
+ Res *types.SelectVnicResponse `xml:"urn:vim25 SelectVnicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SelectVnicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SelectVnic(ctx context.Context, r soap.RoundTripper, req *types.SelectVnic) (*types.SelectVnicResponse, error) {
+ var reqBody, resBody SelectVnicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SelectVnicForNicTypeBody struct {
+ Req *types.SelectVnicForNicType `xml:"urn:vim25 SelectVnicForNicType,omitempty"`
+ Res *types.SelectVnicForNicTypeResponse `xml:"urn:vim25 SelectVnicForNicTypeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SelectVnicForNicTypeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SelectVnicForNicType(ctx context.Context, r soap.RoundTripper, req *types.SelectVnicForNicType) (*types.SelectVnicForNicTypeResponse, error) {
+ var reqBody, resBody SelectVnicForNicTypeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SendNMIBody struct {
+ Req *types.SendNMI `xml:"urn:vim25 SendNMI,omitempty"`
+ Res *types.SendNMIResponse `xml:"urn:vim25 SendNMIResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SendNMIBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SendNMI(ctx context.Context, r soap.RoundTripper, req *types.SendNMI) (*types.SendNMIResponse, error) {
+ var reqBody, resBody SendNMIBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SendTestNotificationBody struct {
+ Req *types.SendTestNotification `xml:"urn:vim25 SendTestNotification,omitempty"`
+ Res *types.SendTestNotificationResponse `xml:"urn:vim25 SendTestNotificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SendTestNotificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SendTestNotification(ctx context.Context, r soap.RoundTripper, req *types.SendTestNotification) (*types.SendTestNotificationResponse, error) {
+ var reqBody, resBody SendTestNotificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SessionIsActiveBody struct {
+ Req *types.SessionIsActive `xml:"urn:vim25 SessionIsActive,omitempty"`
+ Res *types.SessionIsActiveResponse `xml:"urn:vim25 SessionIsActiveResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SessionIsActiveBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SessionIsActive(ctx context.Context, r soap.RoundTripper, req *types.SessionIsActive) (*types.SessionIsActiveResponse, error) {
+ var reqBody, resBody SessionIsActiveBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetCollectorPageSizeBody struct {
+ Req *types.SetCollectorPageSize `xml:"urn:vim25 SetCollectorPageSize,omitempty"`
+ Res *types.SetCollectorPageSizeResponse `xml:"urn:vim25 SetCollectorPageSizeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetCollectorPageSizeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetCollectorPageSize(ctx context.Context, r soap.RoundTripper, req *types.SetCollectorPageSize) (*types.SetCollectorPageSizeResponse, error) {
+ var reqBody, resBody SetCollectorPageSizeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetDisplayTopologyBody struct {
+ Req *types.SetDisplayTopology `xml:"urn:vim25 SetDisplayTopology,omitempty"`
+ Res *types.SetDisplayTopologyResponse `xml:"urn:vim25 SetDisplayTopologyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetDisplayTopologyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetDisplayTopology(ctx context.Context, r soap.RoundTripper, req *types.SetDisplayTopology) (*types.SetDisplayTopologyResponse, error) {
+ var reqBody, resBody SetDisplayTopologyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetEntityPermissionsBody struct {
+ Req *types.SetEntityPermissions `xml:"urn:vim25 SetEntityPermissions,omitempty"`
+ Res *types.SetEntityPermissionsResponse `xml:"urn:vim25 SetEntityPermissionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.SetEntityPermissions) (*types.SetEntityPermissionsResponse, error) {
+ var reqBody, resBody SetEntityPermissionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetExtensionCertificateBody struct {
+ Req *types.SetExtensionCertificate `xml:"urn:vim25 SetExtensionCertificate,omitempty"`
+ Res *types.SetExtensionCertificateResponse `xml:"urn:vim25 SetExtensionCertificateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetExtensionCertificateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetExtensionCertificate(ctx context.Context, r soap.RoundTripper, req *types.SetExtensionCertificate) (*types.SetExtensionCertificateResponse, error) {
+ var reqBody, resBody SetExtensionCertificateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetFieldBody struct {
+ Req *types.SetField `xml:"urn:vim25 SetField,omitempty"`
+ Res *types.SetFieldResponse `xml:"urn:vim25 SetFieldResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetFieldBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetField(ctx context.Context, r soap.RoundTripper, req *types.SetField) (*types.SetFieldResponse, error) {
+ var reqBody, resBody SetFieldBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetLicenseEditionBody struct {
+ Req *types.SetLicenseEdition `xml:"urn:vim25 SetLicenseEdition,omitempty"`
+ Res *types.SetLicenseEditionResponse `xml:"urn:vim25 SetLicenseEditionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetLicenseEditionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetLicenseEdition(ctx context.Context, r soap.RoundTripper, req *types.SetLicenseEdition) (*types.SetLicenseEditionResponse, error) {
+ var reqBody, resBody SetLicenseEditionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetLocaleBody struct {
+ Req *types.SetLocale `xml:"urn:vim25 SetLocale,omitempty"`
+ Res *types.SetLocaleResponse `xml:"urn:vim25 SetLocaleResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetLocaleBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetLocale(ctx context.Context, r soap.RoundTripper, req *types.SetLocale) (*types.SetLocaleResponse, error) {
+ var reqBody, resBody SetLocaleBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetMultipathLunPolicyBody struct {
+ Req *types.SetMultipathLunPolicy `xml:"urn:vim25 SetMultipathLunPolicy,omitempty"`
+ Res *types.SetMultipathLunPolicyResponse `xml:"urn:vim25 SetMultipathLunPolicyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetMultipathLunPolicyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetMultipathLunPolicy(ctx context.Context, r soap.RoundTripper, req *types.SetMultipathLunPolicy) (*types.SetMultipathLunPolicyResponse, error) {
+ var reqBody, resBody SetMultipathLunPolicyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetNFSUserBody struct {
+ Req *types.SetNFSUser `xml:"urn:vim25 SetNFSUser,omitempty"`
+ Res *types.SetNFSUserResponse `xml:"urn:vim25 SetNFSUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetNFSUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetNFSUser(ctx context.Context, r soap.RoundTripper, req *types.SetNFSUser) (*types.SetNFSUserResponse, error) {
+ var reqBody, resBody SetNFSUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetPublicKeyBody struct {
+ Req *types.SetPublicKey `xml:"urn:vim25 SetPublicKey,omitempty"`
+ Res *types.SetPublicKeyResponse `xml:"urn:vim25 SetPublicKeyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetPublicKeyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetPublicKey(ctx context.Context, r soap.RoundTripper, req *types.SetPublicKey) (*types.SetPublicKeyResponse, error) {
+ var reqBody, resBody SetPublicKeyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetRegistryValueInGuestBody struct {
+ Req *types.SetRegistryValueInGuest `xml:"urn:vim25 SetRegistryValueInGuest,omitempty"`
+ Res *types.SetRegistryValueInGuestResponse `xml:"urn:vim25 SetRegistryValueInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetRegistryValueInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetRegistryValueInGuest(ctx context.Context, r soap.RoundTripper, req *types.SetRegistryValueInGuest) (*types.SetRegistryValueInGuestResponse, error) {
+ var reqBody, resBody SetRegistryValueInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetScreenResolutionBody struct {
+ Req *types.SetScreenResolution `xml:"urn:vim25 SetScreenResolution,omitempty"`
+ Res *types.SetScreenResolutionResponse `xml:"urn:vim25 SetScreenResolutionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetScreenResolutionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetScreenResolution(ctx context.Context, r soap.RoundTripper, req *types.SetScreenResolution) (*types.SetScreenResolutionResponse, error) {
+ var reqBody, resBody SetScreenResolutionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetTaskDescriptionBody struct {
+ Req *types.SetTaskDescription `xml:"urn:vim25 SetTaskDescription,omitempty"`
+ Res *types.SetTaskDescriptionResponse `xml:"urn:vim25 SetTaskDescriptionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetTaskDescriptionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetTaskDescription(ctx context.Context, r soap.RoundTripper, req *types.SetTaskDescription) (*types.SetTaskDescriptionResponse, error) {
+ var reqBody, resBody SetTaskDescriptionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetTaskStateBody struct {
+ Req *types.SetTaskState `xml:"urn:vim25 SetTaskState,omitempty"`
+ Res *types.SetTaskStateResponse `xml:"urn:vim25 SetTaskStateResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetTaskStateBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetTaskState(ctx context.Context, r soap.RoundTripper, req *types.SetTaskState) (*types.SetTaskStateResponse, error) {
+ var reqBody, resBody SetTaskStateBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SetVirtualDiskUuidBody struct {
+ Req *types.SetVirtualDiskUuid `xml:"urn:vim25 SetVirtualDiskUuid,omitempty"`
+ Res *types.SetVirtualDiskUuidResponse `xml:"urn:vim25 SetVirtualDiskUuidResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SetVirtualDiskUuidBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SetVirtualDiskUuid(ctx context.Context, r soap.RoundTripper, req *types.SetVirtualDiskUuid) (*types.SetVirtualDiskUuidResponse, error) {
+ var reqBody, resBody SetVirtualDiskUuidBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ShrinkVirtualDisk_TaskBody struct {
+ Req *types.ShrinkVirtualDisk_Task `xml:"urn:vim25 ShrinkVirtualDisk_Task,omitempty"`
+ Res *types.ShrinkVirtualDisk_TaskResponse `xml:"urn:vim25 ShrinkVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ShrinkVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ShrinkVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ShrinkVirtualDisk_Task) (*types.ShrinkVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody ShrinkVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ShutdownGuestBody struct {
+ Req *types.ShutdownGuest `xml:"urn:vim25 ShutdownGuest,omitempty"`
+ Res *types.ShutdownGuestResponse `xml:"urn:vim25 ShutdownGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ShutdownGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ShutdownGuest(ctx context.Context, r soap.RoundTripper, req *types.ShutdownGuest) (*types.ShutdownGuestResponse, error) {
+ var reqBody, resBody ShutdownGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ShutdownHost_TaskBody struct {
+ Req *types.ShutdownHost_Task `xml:"urn:vim25 ShutdownHost_Task,omitempty"`
+ Res *types.ShutdownHost_TaskResponse `xml:"urn:vim25 ShutdownHost_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ShutdownHost_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ShutdownHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ShutdownHost_Task) (*types.ShutdownHost_TaskResponse, error) {
+ var reqBody, resBody ShutdownHost_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StageHostPatch_TaskBody struct {
+ Req *types.StageHostPatch_Task `xml:"urn:vim25 StageHostPatch_Task,omitempty"`
+ Res *types.StageHostPatch_TaskResponse `xml:"urn:vim25 StageHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StageHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StageHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.StageHostPatch_Task) (*types.StageHostPatch_TaskResponse, error) {
+ var reqBody, resBody StageHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StampAllRulesWithUuid_TaskBody struct {
+ Req *types.StampAllRulesWithUuid_Task `xml:"urn:vim25 StampAllRulesWithUuid_Task,omitempty"`
+ Res *types.StampAllRulesWithUuid_TaskResponse `xml:"urn:vim25 StampAllRulesWithUuid_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StampAllRulesWithUuid_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StampAllRulesWithUuid_Task(ctx context.Context, r soap.RoundTripper, req *types.StampAllRulesWithUuid_Task) (*types.StampAllRulesWithUuid_TaskResponse, error) {
+ var reqBody, resBody StampAllRulesWithUuid_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StandbyGuestBody struct {
+ Req *types.StandbyGuest `xml:"urn:vim25 StandbyGuest,omitempty"`
+ Res *types.StandbyGuestResponse `xml:"urn:vim25 StandbyGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StandbyGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StandbyGuest(ctx context.Context, r soap.RoundTripper, req *types.StandbyGuest) (*types.StandbyGuestResponse, error) {
+ var reqBody, resBody StandbyGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StartProgramInGuestBody struct {
+ Req *types.StartProgramInGuest `xml:"urn:vim25 StartProgramInGuest,omitempty"`
+ Res *types.StartProgramInGuestResponse `xml:"urn:vim25 StartProgramInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StartProgramInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StartProgramInGuest(ctx context.Context, r soap.RoundTripper, req *types.StartProgramInGuest) (*types.StartProgramInGuestResponse, error) {
+ var reqBody, resBody StartProgramInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StartRecording_TaskBody struct {
+ Req *types.StartRecording_Task `xml:"urn:vim25 StartRecording_Task,omitempty"`
+ Res *types.StartRecording_TaskResponse `xml:"urn:vim25 StartRecording_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StartRecording_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StartRecording_Task(ctx context.Context, r soap.RoundTripper, req *types.StartRecording_Task) (*types.StartRecording_TaskResponse, error) {
+ var reqBody, resBody StartRecording_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StartReplaying_TaskBody struct {
+ Req *types.StartReplaying_Task `xml:"urn:vim25 StartReplaying_Task,omitempty"`
+ Res *types.StartReplaying_TaskResponse `xml:"urn:vim25 StartReplaying_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StartReplaying_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StartReplaying_Task(ctx context.Context, r soap.RoundTripper, req *types.StartReplaying_Task) (*types.StartReplaying_TaskResponse, error) {
+ var reqBody, resBody StartReplaying_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StartServiceBody struct {
+ Req *types.StartService `xml:"urn:vim25 StartService,omitempty"`
+ Res *types.StartServiceResponse `xml:"urn:vim25 StartServiceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StartServiceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StartService(ctx context.Context, r soap.RoundTripper, req *types.StartService) (*types.StartServiceResponse, error) {
+ var reqBody, resBody StartServiceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StopRecording_TaskBody struct {
+ Req *types.StopRecording_Task `xml:"urn:vim25 StopRecording_Task,omitempty"`
+ Res *types.StopRecording_TaskResponse `xml:"urn:vim25 StopRecording_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StopRecording_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StopRecording_Task(ctx context.Context, r soap.RoundTripper, req *types.StopRecording_Task) (*types.StopRecording_TaskResponse, error) {
+ var reqBody, resBody StopRecording_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StopReplaying_TaskBody struct {
+ Req *types.StopReplaying_Task `xml:"urn:vim25 StopReplaying_Task,omitempty"`
+ Res *types.StopReplaying_TaskResponse `xml:"urn:vim25 StopReplaying_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StopReplaying_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StopReplaying_Task(ctx context.Context, r soap.RoundTripper, req *types.StopReplaying_Task) (*types.StopReplaying_TaskResponse, error) {
+ var reqBody, resBody StopReplaying_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type StopServiceBody struct {
+ Req *types.StopService `xml:"urn:vim25 StopService,omitempty"`
+ Res *types.StopServiceResponse `xml:"urn:vim25 StopServiceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *StopServiceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func StopService(ctx context.Context, r soap.RoundTripper, req *types.StopService) (*types.StopServiceResponse, error) {
+ var reqBody, resBody StopServiceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SuspendVApp_TaskBody struct {
+ Req *types.SuspendVApp_Task `xml:"urn:vim25 SuspendVApp_Task,omitempty"`
+ Res *types.SuspendVApp_TaskResponse `xml:"urn:vim25 SuspendVApp_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SuspendVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SuspendVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.SuspendVApp_Task) (*types.SuspendVApp_TaskResponse, error) {
+ var reqBody, resBody SuspendVApp_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type SuspendVM_TaskBody struct {
+ Req *types.SuspendVM_Task `xml:"urn:vim25 SuspendVM_Task,omitempty"`
+ Res *types.SuspendVM_TaskResponse `xml:"urn:vim25 SuspendVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *SuspendVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func SuspendVM_Task(ctx context.Context, r soap.RoundTripper, req *types.SuspendVM_Task) (*types.SuspendVM_TaskResponse, error) {
+ var reqBody, resBody SuspendVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TerminateFaultTolerantVM_TaskBody struct {
+ Req *types.TerminateFaultTolerantVM_Task `xml:"urn:vim25 TerminateFaultTolerantVM_Task,omitempty"`
+ Res *types.TerminateFaultTolerantVM_TaskResponse `xml:"urn:vim25 TerminateFaultTolerantVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TerminateFaultTolerantVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TerminateFaultTolerantVM_Task(ctx context.Context, r soap.RoundTripper, req *types.TerminateFaultTolerantVM_Task) (*types.TerminateFaultTolerantVM_TaskResponse, error) {
+ var reqBody, resBody TerminateFaultTolerantVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TerminateProcessInGuestBody struct {
+ Req *types.TerminateProcessInGuest `xml:"urn:vim25 TerminateProcessInGuest,omitempty"`
+ Res *types.TerminateProcessInGuestResponse `xml:"urn:vim25 TerminateProcessInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TerminateProcessInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TerminateProcessInGuest(ctx context.Context, r soap.RoundTripper, req *types.TerminateProcessInGuest) (*types.TerminateProcessInGuestResponse, error) {
+ var reqBody, resBody TerminateProcessInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TerminateSessionBody struct {
+ Req *types.TerminateSession `xml:"urn:vim25 TerminateSession,omitempty"`
+ Res *types.TerminateSessionResponse `xml:"urn:vim25 TerminateSessionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TerminateSessionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TerminateSession(ctx context.Context, r soap.RoundTripper, req *types.TerminateSession) (*types.TerminateSessionResponse, error) {
+ var reqBody, resBody TerminateSessionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TerminateVMBody struct {
+ Req *types.TerminateVM `xml:"urn:vim25 TerminateVM,omitempty"`
+ Res *types.TerminateVMResponse `xml:"urn:vim25 TerminateVMResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TerminateVMBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TerminateVM(ctx context.Context, r soap.RoundTripper, req *types.TerminateVM) (*types.TerminateVMResponse, error) {
+ var reqBody, resBody TerminateVMBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TurnDiskLocatorLedOff_TaskBody struct {
+ Req *types.TurnDiskLocatorLedOff_Task `xml:"urn:vim25 TurnDiskLocatorLedOff_Task,omitempty"`
+ Res *types.TurnDiskLocatorLedOff_TaskResponse `xml:"urn:vim25 TurnDiskLocatorLedOff_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TurnDiskLocatorLedOff_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TurnDiskLocatorLedOff_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnDiskLocatorLedOff_Task) (*types.TurnDiskLocatorLedOff_TaskResponse, error) {
+ var reqBody, resBody TurnDiskLocatorLedOff_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TurnDiskLocatorLedOn_TaskBody struct {
+ Req *types.TurnDiskLocatorLedOn_Task `xml:"urn:vim25 TurnDiskLocatorLedOn_Task,omitempty"`
+ Res *types.TurnDiskLocatorLedOn_TaskResponse `xml:"urn:vim25 TurnDiskLocatorLedOn_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TurnDiskLocatorLedOn_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TurnDiskLocatorLedOn_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnDiskLocatorLedOn_Task) (*types.TurnDiskLocatorLedOn_TaskResponse, error) {
+ var reqBody, resBody TurnDiskLocatorLedOn_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type TurnOffFaultToleranceForVM_TaskBody struct {
+ Req *types.TurnOffFaultToleranceForVM_Task `xml:"urn:vim25 TurnOffFaultToleranceForVM_Task,omitempty"`
+ Res *types.TurnOffFaultToleranceForVM_TaskResponse `xml:"urn:vim25 TurnOffFaultToleranceForVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *TurnOffFaultToleranceForVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func TurnOffFaultToleranceForVM_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnOffFaultToleranceForVM_Task) (*types.TurnOffFaultToleranceForVM_TaskResponse, error) {
+ var reqBody, resBody TurnOffFaultToleranceForVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnassignUserFromGroupBody struct {
+ Req *types.UnassignUserFromGroup `xml:"urn:vim25 UnassignUserFromGroup,omitempty"`
+ Res *types.UnassignUserFromGroupResponse `xml:"urn:vim25 UnassignUserFromGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnassignUserFromGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnassignUserFromGroup(ctx context.Context, r soap.RoundTripper, req *types.UnassignUserFromGroup) (*types.UnassignUserFromGroupResponse, error) {
+ var reqBody, resBody UnassignUserFromGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnbindVnicBody struct {
+ Req *types.UnbindVnic `xml:"urn:vim25 UnbindVnic,omitempty"`
+ Res *types.UnbindVnicResponse `xml:"urn:vim25 UnbindVnicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnbindVnicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnbindVnic(ctx context.Context, r soap.RoundTripper, req *types.UnbindVnic) (*types.UnbindVnicResponse, error) {
+ var reqBody, resBody UnbindVnicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UninstallHostPatch_TaskBody struct {
+ Req *types.UninstallHostPatch_Task `xml:"urn:vim25 UninstallHostPatch_Task,omitempty"`
+ Res *types.UninstallHostPatch_TaskResponse `xml:"urn:vim25 UninstallHostPatch_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UninstallHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UninstallHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.UninstallHostPatch_Task) (*types.UninstallHostPatch_TaskResponse, error) {
+ var reqBody, resBody UninstallHostPatch_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UninstallIoFilter_TaskBody struct {
+ Req *types.UninstallIoFilter_Task `xml:"urn:vim25 UninstallIoFilter_Task,omitempty"`
+ Res *types.UninstallIoFilter_TaskResponse `xml:"urn:vim25 UninstallIoFilter_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UninstallIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UninstallIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.UninstallIoFilter_Task) (*types.UninstallIoFilter_TaskResponse, error) {
+ var reqBody, resBody UninstallIoFilter_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UninstallServiceBody struct {
+ Req *types.UninstallService `xml:"urn:vim25 UninstallService,omitempty"`
+ Res *types.UninstallServiceResponse `xml:"urn:vim25 UninstallServiceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UninstallServiceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UninstallService(ctx context.Context, r soap.RoundTripper, req *types.UninstallService) (*types.UninstallServiceResponse, error) {
+ var reqBody, resBody UninstallServiceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmapVmfsVolumeEx_TaskBody struct {
+ Req *types.UnmapVmfsVolumeEx_Task `xml:"urn:vim25 UnmapVmfsVolumeEx_Task,omitempty"`
+ Res *types.UnmapVmfsVolumeEx_TaskResponse `xml:"urn:vim25 UnmapVmfsVolumeEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmapVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmapVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmapVmfsVolumeEx_Task) (*types.UnmapVmfsVolumeEx_TaskResponse, error) {
+ var reqBody, resBody UnmapVmfsVolumeEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountDiskMapping_TaskBody struct {
+ Req *types.UnmountDiskMapping_Task `xml:"urn:vim25 UnmountDiskMapping_Task,omitempty"`
+ Res *types.UnmountDiskMapping_TaskResponse `xml:"urn:vim25 UnmountDiskMapping_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountDiskMapping_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountDiskMapping_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmountDiskMapping_Task) (*types.UnmountDiskMapping_TaskResponse, error) {
+ var reqBody, resBody UnmountDiskMapping_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountForceMountedVmfsVolumeBody struct {
+ Req *types.UnmountForceMountedVmfsVolume `xml:"urn:vim25 UnmountForceMountedVmfsVolume,omitempty"`
+ Res *types.UnmountForceMountedVmfsVolumeResponse `xml:"urn:vim25 UnmountForceMountedVmfsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountForceMountedVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountForceMountedVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountForceMountedVmfsVolume) (*types.UnmountForceMountedVmfsVolumeResponse, error) {
+ var reqBody, resBody UnmountForceMountedVmfsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountToolsInstallerBody struct {
+ Req *types.UnmountToolsInstaller `xml:"urn:vim25 UnmountToolsInstaller,omitempty"`
+ Res *types.UnmountToolsInstallerResponse `xml:"urn:vim25 UnmountToolsInstallerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountToolsInstallerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountToolsInstaller(ctx context.Context, r soap.RoundTripper, req *types.UnmountToolsInstaller) (*types.UnmountToolsInstallerResponse, error) {
+ var reqBody, resBody UnmountToolsInstallerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountVffsVolumeBody struct {
+ Req *types.UnmountVffsVolume `xml:"urn:vim25 UnmountVffsVolume,omitempty"`
+ Res *types.UnmountVffsVolumeResponse `xml:"urn:vim25 UnmountVffsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountVffsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountVffsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountVffsVolume) (*types.UnmountVffsVolumeResponse, error) {
+ var reqBody, resBody UnmountVffsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountVmfsVolumeBody struct {
+ Req *types.UnmountVmfsVolume `xml:"urn:vim25 UnmountVmfsVolume,omitempty"`
+ Res *types.UnmountVmfsVolumeResponse `xml:"urn:vim25 UnmountVmfsVolumeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountVmfsVolume) (*types.UnmountVmfsVolumeResponse, error) {
+ var reqBody, resBody UnmountVmfsVolumeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnmountVmfsVolumeEx_TaskBody struct {
+ Req *types.UnmountVmfsVolumeEx_Task `xml:"urn:vim25 UnmountVmfsVolumeEx_Task,omitempty"`
+ Res *types.UnmountVmfsVolumeEx_TaskResponse `xml:"urn:vim25 UnmountVmfsVolumeEx_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnmountVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnmountVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmountVmfsVolumeEx_Task) (*types.UnmountVmfsVolumeEx_TaskResponse, error) {
+ var reqBody, resBody UnmountVmfsVolumeEx_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnregisterAndDestroy_TaskBody struct {
+ Req *types.UnregisterAndDestroy_Task `xml:"urn:vim25 UnregisterAndDestroy_Task,omitempty"`
+ Res *types.UnregisterAndDestroy_TaskResponse `xml:"urn:vim25 UnregisterAndDestroy_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnregisterAndDestroy_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnregisterAndDestroy_Task(ctx context.Context, r soap.RoundTripper, req *types.UnregisterAndDestroy_Task) (*types.UnregisterAndDestroy_TaskResponse, error) {
+ var reqBody, resBody UnregisterAndDestroy_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnregisterExtensionBody struct {
+ Req *types.UnregisterExtension `xml:"urn:vim25 UnregisterExtension,omitempty"`
+ Res *types.UnregisterExtensionResponse `xml:"urn:vim25 UnregisterExtensionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnregisterExtensionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnregisterExtension(ctx context.Context, r soap.RoundTripper, req *types.UnregisterExtension) (*types.UnregisterExtensionResponse, error) {
+ var reqBody, resBody UnregisterExtensionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnregisterHealthUpdateProviderBody struct {
+ Req *types.UnregisterHealthUpdateProvider `xml:"urn:vim25 UnregisterHealthUpdateProvider,omitempty"`
+ Res *types.UnregisterHealthUpdateProviderResponse `xml:"urn:vim25 UnregisterHealthUpdateProviderResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnregisterHealthUpdateProviderBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnregisterHealthUpdateProvider(ctx context.Context, r soap.RoundTripper, req *types.UnregisterHealthUpdateProvider) (*types.UnregisterHealthUpdateProviderResponse, error) {
+ var reqBody, resBody UnregisterHealthUpdateProviderBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UnregisterVMBody struct {
+ Req *types.UnregisterVM `xml:"urn:vim25 UnregisterVM,omitempty"`
+ Res *types.UnregisterVMResponse `xml:"urn:vim25 UnregisterVMResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UnregisterVMBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UnregisterVM(ctx context.Context, r soap.RoundTripper, req *types.UnregisterVM) (*types.UnregisterVMResponse, error) {
+ var reqBody, resBody UnregisterVMBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateAnswerFile_TaskBody struct {
+ Req *types.UpdateAnswerFile_Task `xml:"urn:vim25 UpdateAnswerFile_Task,omitempty"`
+ Res *types.UpdateAnswerFile_TaskResponse `xml:"urn:vim25 UpdateAnswerFile_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateAnswerFile_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateAnswerFile_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateAnswerFile_Task) (*types.UpdateAnswerFile_TaskResponse, error) {
+ var reqBody, resBody UpdateAnswerFile_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateAssignedLicenseBody struct {
+ Req *types.UpdateAssignedLicense `xml:"urn:vim25 UpdateAssignedLicense,omitempty"`
+ Res *types.UpdateAssignedLicenseResponse `xml:"urn:vim25 UpdateAssignedLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateAssignedLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateAssignedLicense(ctx context.Context, r soap.RoundTripper, req *types.UpdateAssignedLicense) (*types.UpdateAssignedLicenseResponse, error) {
+ var reqBody, resBody UpdateAssignedLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateAuthorizationRoleBody struct {
+ Req *types.UpdateAuthorizationRole `xml:"urn:vim25 UpdateAuthorizationRole,omitempty"`
+ Res *types.UpdateAuthorizationRoleResponse `xml:"urn:vim25 UpdateAuthorizationRoleResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.UpdateAuthorizationRole) (*types.UpdateAuthorizationRoleResponse, error) {
+ var reqBody, resBody UpdateAuthorizationRoleBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateBootDeviceBody struct {
+ Req *types.UpdateBootDevice `xml:"urn:vim25 UpdateBootDevice,omitempty"`
+ Res *types.UpdateBootDeviceResponse `xml:"urn:vim25 UpdateBootDeviceResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateBootDeviceBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateBootDevice(ctx context.Context, r soap.RoundTripper, req *types.UpdateBootDevice) (*types.UpdateBootDeviceResponse, error) {
+ var reqBody, resBody UpdateBootDeviceBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateChildResourceConfigurationBody struct {
+ Req *types.UpdateChildResourceConfiguration `xml:"urn:vim25 UpdateChildResourceConfiguration,omitempty"`
+ Res *types.UpdateChildResourceConfigurationResponse `xml:"urn:vim25 UpdateChildResourceConfigurationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateChildResourceConfigurationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateChildResourceConfiguration(ctx context.Context, r soap.RoundTripper, req *types.UpdateChildResourceConfiguration) (*types.UpdateChildResourceConfigurationResponse, error) {
+ var reqBody, resBody UpdateChildResourceConfigurationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateClusterProfileBody struct {
+ Req *types.UpdateClusterProfile `xml:"urn:vim25 UpdateClusterProfile,omitempty"`
+ Res *types.UpdateClusterProfileResponse `xml:"urn:vim25 UpdateClusterProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateClusterProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateClusterProfile(ctx context.Context, r soap.RoundTripper, req *types.UpdateClusterProfile) (*types.UpdateClusterProfileResponse, error) {
+ var reqBody, resBody UpdateClusterProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateConfigBody struct {
+ Req *types.UpdateConfig `xml:"urn:vim25 UpdateConfig,omitempty"`
+ Res *types.UpdateConfigResponse `xml:"urn:vim25 UpdateConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateConfig) (*types.UpdateConfigResponse, error) {
+ var reqBody, resBody UpdateConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateConsoleIpRouteConfigBody struct {
+ Req *types.UpdateConsoleIpRouteConfig `xml:"urn:vim25 UpdateConsoleIpRouteConfig,omitempty"`
+ Res *types.UpdateConsoleIpRouteConfigResponse `xml:"urn:vim25 UpdateConsoleIpRouteConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateConsoleIpRouteConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateConsoleIpRouteConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateConsoleIpRouteConfig) (*types.UpdateConsoleIpRouteConfigResponse, error) {
+ var reqBody, resBody UpdateConsoleIpRouteConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateCounterLevelMappingBody struct {
+ Req *types.UpdateCounterLevelMapping `xml:"urn:vim25 UpdateCounterLevelMapping,omitempty"`
+ Res *types.UpdateCounterLevelMappingResponse `xml:"urn:vim25 UpdateCounterLevelMappingResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateCounterLevelMappingBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateCounterLevelMapping(ctx context.Context, r soap.RoundTripper, req *types.UpdateCounterLevelMapping) (*types.UpdateCounterLevelMappingResponse, error) {
+ var reqBody, resBody UpdateCounterLevelMappingBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDVSHealthCheckConfig_TaskBody struct {
+ Req *types.UpdateDVSHealthCheckConfig_Task `xml:"urn:vim25 UpdateDVSHealthCheckConfig_Task,omitempty"`
+ Res *types.UpdateDVSHealthCheckConfig_TaskResponse `xml:"urn:vim25 UpdateDVSHealthCheckConfig_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDVSHealthCheckConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDVSHealthCheckConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateDVSHealthCheckConfig_Task) (*types.UpdateDVSHealthCheckConfig_TaskResponse, error) {
+ var reqBody, resBody UpdateDVSHealthCheckConfig_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDVSLacpGroupConfig_TaskBody struct {
+ Req *types.UpdateDVSLacpGroupConfig_Task `xml:"urn:vim25 UpdateDVSLacpGroupConfig_Task,omitempty"`
+ Res *types.UpdateDVSLacpGroupConfig_TaskResponse `xml:"urn:vim25 UpdateDVSLacpGroupConfig_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDVSLacpGroupConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDVSLacpGroupConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateDVSLacpGroupConfig_Task) (*types.UpdateDVSLacpGroupConfig_TaskResponse, error) {
+ var reqBody, resBody UpdateDVSLacpGroupConfig_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDateTimeBody struct {
+ Req *types.UpdateDateTime `xml:"urn:vim25 UpdateDateTime,omitempty"`
+ Res *types.UpdateDateTimeResponse `xml:"urn:vim25 UpdateDateTimeResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDateTimeBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDateTime(ctx context.Context, r soap.RoundTripper, req *types.UpdateDateTime) (*types.UpdateDateTimeResponse, error) {
+ var reqBody, resBody UpdateDateTimeBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDateTimeConfigBody struct {
+ Req *types.UpdateDateTimeConfig `xml:"urn:vim25 UpdateDateTimeConfig,omitempty"`
+ Res *types.UpdateDateTimeConfigResponse `xml:"urn:vim25 UpdateDateTimeConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDateTimeConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDateTimeConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateDateTimeConfig) (*types.UpdateDateTimeConfigResponse, error) {
+ var reqBody, resBody UpdateDateTimeConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDefaultPolicyBody struct {
+ Req *types.UpdateDefaultPolicy `xml:"urn:vim25 UpdateDefaultPolicy,omitempty"`
+ Res *types.UpdateDefaultPolicyResponse `xml:"urn:vim25 UpdateDefaultPolicyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDefaultPolicyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDefaultPolicy(ctx context.Context, r soap.RoundTripper, req *types.UpdateDefaultPolicy) (*types.UpdateDefaultPolicyResponse, error) {
+ var reqBody, resBody UpdateDefaultPolicyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDiskPartitionsBody struct {
+ Req *types.UpdateDiskPartitions `xml:"urn:vim25 UpdateDiskPartitions,omitempty"`
+ Res *types.UpdateDiskPartitionsResponse `xml:"urn:vim25 UpdateDiskPartitionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDiskPartitionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDiskPartitions(ctx context.Context, r soap.RoundTripper, req *types.UpdateDiskPartitions) (*types.UpdateDiskPartitionsResponse, error) {
+ var reqBody, resBody UpdateDiskPartitionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDnsConfigBody struct {
+ Req *types.UpdateDnsConfig `xml:"urn:vim25 UpdateDnsConfig,omitempty"`
+ Res *types.UpdateDnsConfigResponse `xml:"urn:vim25 UpdateDnsConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDnsConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDnsConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateDnsConfig) (*types.UpdateDnsConfigResponse, error) {
+ var reqBody, resBody UpdateDnsConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateDvsCapabilityBody struct {
+ Req *types.UpdateDvsCapability `xml:"urn:vim25 UpdateDvsCapability,omitempty"`
+ Res *types.UpdateDvsCapabilityResponse `xml:"urn:vim25 UpdateDvsCapabilityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateDvsCapabilityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateDvsCapability(ctx context.Context, r soap.RoundTripper, req *types.UpdateDvsCapability) (*types.UpdateDvsCapabilityResponse, error) {
+ var reqBody, resBody UpdateDvsCapabilityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateExtensionBody struct {
+ Req *types.UpdateExtension `xml:"urn:vim25 UpdateExtension,omitempty"`
+ Res *types.UpdateExtensionResponse `xml:"urn:vim25 UpdateExtensionResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateExtensionBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateExtension(ctx context.Context, r soap.RoundTripper, req *types.UpdateExtension) (*types.UpdateExtensionResponse, error) {
+ var reqBody, resBody UpdateExtensionBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateFlagsBody struct {
+ Req *types.UpdateFlags `xml:"urn:vim25 UpdateFlags,omitempty"`
+ Res *types.UpdateFlagsResponse `xml:"urn:vim25 UpdateFlagsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateFlagsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateFlags(ctx context.Context, r soap.RoundTripper, req *types.UpdateFlags) (*types.UpdateFlagsResponse, error) {
+ var reqBody, resBody UpdateFlagsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateGraphicsConfigBody struct {
+ Req *types.UpdateGraphicsConfig `xml:"urn:vim25 UpdateGraphicsConfig,omitempty"`
+ Res *types.UpdateGraphicsConfigResponse `xml:"urn:vim25 UpdateGraphicsConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateGraphicsConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateGraphicsConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateGraphicsConfig) (*types.UpdateGraphicsConfigResponse, error) {
+ var reqBody, resBody UpdateGraphicsConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateHostCustomizations_TaskBody struct {
+ Req *types.UpdateHostCustomizations_Task `xml:"urn:vim25 UpdateHostCustomizations_Task,omitempty"`
+ Res *types.UpdateHostCustomizations_TaskResponse `xml:"urn:vim25 UpdateHostCustomizations_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateHostCustomizations_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateHostCustomizations_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostCustomizations_Task) (*types.UpdateHostCustomizations_TaskResponse, error) {
+ var reqBody, resBody UpdateHostCustomizations_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateHostImageAcceptanceLevelBody struct {
+ Req *types.UpdateHostImageAcceptanceLevel `xml:"urn:vim25 UpdateHostImageAcceptanceLevel,omitempty"`
+ Res *types.UpdateHostImageAcceptanceLevelResponse `xml:"urn:vim25 UpdateHostImageAcceptanceLevelResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateHostImageAcceptanceLevelBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateHostImageAcceptanceLevel(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostImageAcceptanceLevel) (*types.UpdateHostImageAcceptanceLevelResponse, error) {
+ var reqBody, resBody UpdateHostImageAcceptanceLevelBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateHostProfileBody struct {
+ Req *types.UpdateHostProfile `xml:"urn:vim25 UpdateHostProfile,omitempty"`
+ Res *types.UpdateHostProfileResponse `xml:"urn:vim25 UpdateHostProfileResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateHostProfileBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateHostProfile(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostProfile) (*types.UpdateHostProfileResponse, error) {
+ var reqBody, resBody UpdateHostProfileBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateHostSpecificationBody struct {
+ Req *types.UpdateHostSpecification `xml:"urn:vim25 UpdateHostSpecification,omitempty"`
+ Res *types.UpdateHostSpecificationResponse `xml:"urn:vim25 UpdateHostSpecificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostSpecification) (*types.UpdateHostSpecificationResponse, error) {
+ var reqBody, resBody UpdateHostSpecificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateHostSubSpecificationBody struct {
+ Req *types.UpdateHostSubSpecification `xml:"urn:vim25 UpdateHostSubSpecification,omitempty"`
+ Res *types.UpdateHostSubSpecificationResponse `xml:"urn:vim25 UpdateHostSubSpecificationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateHostSubSpecificationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateHostSubSpecification(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostSubSpecification) (*types.UpdateHostSubSpecificationResponse, error) {
+ var reqBody, resBody UpdateHostSubSpecificationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiAdvancedOptionsBody struct {
+ Req *types.UpdateInternetScsiAdvancedOptions `xml:"urn:vim25 UpdateInternetScsiAdvancedOptions,omitempty"`
+ Res *types.UpdateInternetScsiAdvancedOptionsResponse `xml:"urn:vim25 UpdateInternetScsiAdvancedOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiAdvancedOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiAdvancedOptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAdvancedOptions) (*types.UpdateInternetScsiAdvancedOptionsResponse, error) {
+ var reqBody, resBody UpdateInternetScsiAdvancedOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiAliasBody struct {
+ Req *types.UpdateInternetScsiAlias `xml:"urn:vim25 UpdateInternetScsiAlias,omitempty"`
+ Res *types.UpdateInternetScsiAliasResponse `xml:"urn:vim25 UpdateInternetScsiAliasResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiAliasBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiAlias(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAlias) (*types.UpdateInternetScsiAliasResponse, error) {
+ var reqBody, resBody UpdateInternetScsiAliasBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiAuthenticationPropertiesBody struct {
+ Req *types.UpdateInternetScsiAuthenticationProperties `xml:"urn:vim25 UpdateInternetScsiAuthenticationProperties,omitempty"`
+ Res *types.UpdateInternetScsiAuthenticationPropertiesResponse `xml:"urn:vim25 UpdateInternetScsiAuthenticationPropertiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiAuthenticationPropertiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiAuthenticationProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAuthenticationProperties) (*types.UpdateInternetScsiAuthenticationPropertiesResponse, error) {
+ var reqBody, resBody UpdateInternetScsiAuthenticationPropertiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiDigestPropertiesBody struct {
+ Req *types.UpdateInternetScsiDigestProperties `xml:"urn:vim25 UpdateInternetScsiDigestProperties,omitempty"`
+ Res *types.UpdateInternetScsiDigestPropertiesResponse `xml:"urn:vim25 UpdateInternetScsiDigestPropertiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiDigestPropertiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiDigestProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiDigestProperties) (*types.UpdateInternetScsiDigestPropertiesResponse, error) {
+ var reqBody, resBody UpdateInternetScsiDigestPropertiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiDiscoveryPropertiesBody struct {
+ Req *types.UpdateInternetScsiDiscoveryProperties `xml:"urn:vim25 UpdateInternetScsiDiscoveryProperties,omitempty"`
+ Res *types.UpdateInternetScsiDiscoveryPropertiesResponse `xml:"urn:vim25 UpdateInternetScsiDiscoveryPropertiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiDiscoveryPropertiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiDiscoveryProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiDiscoveryProperties) (*types.UpdateInternetScsiDiscoveryPropertiesResponse, error) {
+ var reqBody, resBody UpdateInternetScsiDiscoveryPropertiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiIPPropertiesBody struct {
+ Req *types.UpdateInternetScsiIPProperties `xml:"urn:vim25 UpdateInternetScsiIPProperties,omitempty"`
+ Res *types.UpdateInternetScsiIPPropertiesResponse `xml:"urn:vim25 UpdateInternetScsiIPPropertiesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiIPPropertiesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiIPProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiIPProperties) (*types.UpdateInternetScsiIPPropertiesResponse, error) {
+ var reqBody, resBody UpdateInternetScsiIPPropertiesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateInternetScsiNameBody struct {
+ Req *types.UpdateInternetScsiName `xml:"urn:vim25 UpdateInternetScsiName,omitempty"`
+ Res *types.UpdateInternetScsiNameResponse `xml:"urn:vim25 UpdateInternetScsiNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateInternetScsiNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateInternetScsiName(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiName) (*types.UpdateInternetScsiNameResponse, error) {
+ var reqBody, resBody UpdateInternetScsiNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateIpConfigBody struct {
+ Req *types.UpdateIpConfig `xml:"urn:vim25 UpdateIpConfig,omitempty"`
+ Res *types.UpdateIpConfigResponse `xml:"urn:vim25 UpdateIpConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateIpConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateIpConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpConfig) (*types.UpdateIpConfigResponse, error) {
+ var reqBody, resBody UpdateIpConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateIpPoolBody struct {
+ Req *types.UpdateIpPool `xml:"urn:vim25 UpdateIpPool,omitempty"`
+ Res *types.UpdateIpPoolResponse `xml:"urn:vim25 UpdateIpPoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateIpPoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateIpPool(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpPool) (*types.UpdateIpPoolResponse, error) {
+ var reqBody, resBody UpdateIpPoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateIpRouteConfigBody struct {
+ Req *types.UpdateIpRouteConfig `xml:"urn:vim25 UpdateIpRouteConfig,omitempty"`
+ Res *types.UpdateIpRouteConfigResponse `xml:"urn:vim25 UpdateIpRouteConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateIpRouteConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateIpRouteConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpRouteConfig) (*types.UpdateIpRouteConfigResponse, error) {
+ var reqBody, resBody UpdateIpRouteConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateIpRouteTableConfigBody struct {
+ Req *types.UpdateIpRouteTableConfig `xml:"urn:vim25 UpdateIpRouteTableConfig,omitempty"`
+ Res *types.UpdateIpRouteTableConfigResponse `xml:"urn:vim25 UpdateIpRouteTableConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateIpRouteTableConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateIpRouteTableConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpRouteTableConfig) (*types.UpdateIpRouteTableConfigResponse, error) {
+ var reqBody, resBody UpdateIpRouteTableConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateIpmiBody struct {
+ Req *types.UpdateIpmi `xml:"urn:vim25 UpdateIpmi,omitempty"`
+ Res *types.UpdateIpmiResponse `xml:"urn:vim25 UpdateIpmiResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateIpmiBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateIpmi(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpmi) (*types.UpdateIpmiResponse, error) {
+ var reqBody, resBody UpdateIpmiBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateKmipServerBody struct {
+ Req *types.UpdateKmipServer `xml:"urn:vim25 UpdateKmipServer,omitempty"`
+ Res *types.UpdateKmipServerResponse `xml:"urn:vim25 UpdateKmipServerResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateKmipServerBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateKmipServer(ctx context.Context, r soap.RoundTripper, req *types.UpdateKmipServer) (*types.UpdateKmipServerResponse, error) {
+ var reqBody, resBody UpdateKmipServerBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateKmsSignedCsrClientCertBody struct {
+ Req *types.UpdateKmsSignedCsrClientCert `xml:"urn:vim25 UpdateKmsSignedCsrClientCert,omitempty"`
+ Res *types.UpdateKmsSignedCsrClientCertResponse `xml:"urn:vim25 UpdateKmsSignedCsrClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateKmsSignedCsrClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateKmsSignedCsrClientCert(ctx context.Context, r soap.RoundTripper, req *types.UpdateKmsSignedCsrClientCert) (*types.UpdateKmsSignedCsrClientCertResponse, error) {
+ var reqBody, resBody UpdateKmsSignedCsrClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateLicenseBody struct {
+ Req *types.UpdateLicense `xml:"urn:vim25 UpdateLicense,omitempty"`
+ Res *types.UpdateLicenseResponse `xml:"urn:vim25 UpdateLicenseResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateLicenseBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateLicense(ctx context.Context, r soap.RoundTripper, req *types.UpdateLicense) (*types.UpdateLicenseResponse, error) {
+ var reqBody, resBody UpdateLicenseBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateLicenseLabelBody struct {
+ Req *types.UpdateLicenseLabel `xml:"urn:vim25 UpdateLicenseLabel,omitempty"`
+ Res *types.UpdateLicenseLabelResponse `xml:"urn:vim25 UpdateLicenseLabelResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateLicenseLabelBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateLicenseLabel(ctx context.Context, r soap.RoundTripper, req *types.UpdateLicenseLabel) (*types.UpdateLicenseLabelResponse, error) {
+ var reqBody, resBody UpdateLicenseLabelBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateLinkedChildrenBody struct {
+ Req *types.UpdateLinkedChildren `xml:"urn:vim25 UpdateLinkedChildren,omitempty"`
+ Res *types.UpdateLinkedChildrenResponse `xml:"urn:vim25 UpdateLinkedChildrenResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateLinkedChildrenBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateLinkedChildren(ctx context.Context, r soap.RoundTripper, req *types.UpdateLinkedChildren) (*types.UpdateLinkedChildrenResponse, error) {
+ var reqBody, resBody UpdateLinkedChildrenBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateLocalSwapDatastoreBody struct {
+ Req *types.UpdateLocalSwapDatastore `xml:"urn:vim25 UpdateLocalSwapDatastore,omitempty"`
+ Res *types.UpdateLocalSwapDatastoreResponse `xml:"urn:vim25 UpdateLocalSwapDatastoreResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateLocalSwapDatastoreBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateLocalSwapDatastore(ctx context.Context, r soap.RoundTripper, req *types.UpdateLocalSwapDatastore) (*types.UpdateLocalSwapDatastoreResponse, error) {
+ var reqBody, resBody UpdateLocalSwapDatastoreBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateLockdownExceptionsBody struct {
+ Req *types.UpdateLockdownExceptions `xml:"urn:vim25 UpdateLockdownExceptions,omitempty"`
+ Res *types.UpdateLockdownExceptionsResponse `xml:"urn:vim25 UpdateLockdownExceptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateLockdownExceptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateLockdownExceptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateLockdownExceptions) (*types.UpdateLockdownExceptionsResponse, error) {
+ var reqBody, resBody UpdateLockdownExceptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateModuleOptionStringBody struct {
+ Req *types.UpdateModuleOptionString `xml:"urn:vim25 UpdateModuleOptionString,omitempty"`
+ Res *types.UpdateModuleOptionStringResponse `xml:"urn:vim25 UpdateModuleOptionStringResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateModuleOptionStringBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateModuleOptionString(ctx context.Context, r soap.RoundTripper, req *types.UpdateModuleOptionString) (*types.UpdateModuleOptionStringResponse, error) {
+ var reqBody, resBody UpdateModuleOptionStringBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateNetworkConfigBody struct {
+ Req *types.UpdateNetworkConfig `xml:"urn:vim25 UpdateNetworkConfig,omitempty"`
+ Res *types.UpdateNetworkConfigResponse `xml:"urn:vim25 UpdateNetworkConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateNetworkConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateNetworkConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateNetworkConfig) (*types.UpdateNetworkConfigResponse, error) {
+ var reqBody, resBody UpdateNetworkConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateNetworkResourcePoolBody struct {
+ Req *types.UpdateNetworkResourcePool `xml:"urn:vim25 UpdateNetworkResourcePool,omitempty"`
+ Res *types.UpdateNetworkResourcePoolResponse `xml:"urn:vim25 UpdateNetworkResourcePoolResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.UpdateNetworkResourcePool) (*types.UpdateNetworkResourcePoolResponse, error) {
+ var reqBody, resBody UpdateNetworkResourcePoolBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateOptionsBody struct {
+ Req *types.UpdateOptions `xml:"urn:vim25 UpdateOptions,omitempty"`
+ Res *types.UpdateOptionsResponse `xml:"urn:vim25 UpdateOptionsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateOptionsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateOptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateOptions) (*types.UpdateOptionsResponse, error) {
+ var reqBody, resBody UpdateOptionsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdatePassthruConfigBody struct {
+ Req *types.UpdatePassthruConfig `xml:"urn:vim25 UpdatePassthruConfig,omitempty"`
+ Res *types.UpdatePassthruConfigResponse `xml:"urn:vim25 UpdatePassthruConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdatePassthruConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdatePassthruConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdatePassthruConfig) (*types.UpdatePassthruConfigResponse, error) {
+ var reqBody, resBody UpdatePassthruConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdatePerfIntervalBody struct {
+ Req *types.UpdatePerfInterval `xml:"urn:vim25 UpdatePerfInterval,omitempty"`
+ Res *types.UpdatePerfIntervalResponse `xml:"urn:vim25 UpdatePerfIntervalResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdatePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdatePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.UpdatePerfInterval) (*types.UpdatePerfIntervalResponse, error) {
+ var reqBody, resBody UpdatePerfIntervalBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdatePhysicalNicLinkSpeedBody struct {
+ Req *types.UpdatePhysicalNicLinkSpeed `xml:"urn:vim25 UpdatePhysicalNicLinkSpeed,omitempty"`
+ Res *types.UpdatePhysicalNicLinkSpeedResponse `xml:"urn:vim25 UpdatePhysicalNicLinkSpeedResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdatePhysicalNicLinkSpeedBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdatePhysicalNicLinkSpeed(ctx context.Context, r soap.RoundTripper, req *types.UpdatePhysicalNicLinkSpeed) (*types.UpdatePhysicalNicLinkSpeedResponse, error) {
+ var reqBody, resBody UpdatePhysicalNicLinkSpeedBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdatePortGroupBody struct {
+ Req *types.UpdatePortGroup `xml:"urn:vim25 UpdatePortGroup,omitempty"`
+ Res *types.UpdatePortGroupResponse `xml:"urn:vim25 UpdatePortGroupResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdatePortGroupBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdatePortGroup(ctx context.Context, r soap.RoundTripper, req *types.UpdatePortGroup) (*types.UpdatePortGroupResponse, error) {
+ var reqBody, resBody UpdatePortGroupBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateProgressBody struct {
+ Req *types.UpdateProgress `xml:"urn:vim25 UpdateProgress,omitempty"`
+ Res *types.UpdateProgressResponse `xml:"urn:vim25 UpdateProgressResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateProgressBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateProgress(ctx context.Context, r soap.RoundTripper, req *types.UpdateProgress) (*types.UpdateProgressResponse, error) {
+ var reqBody, resBody UpdateProgressBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateReferenceHostBody struct {
+ Req *types.UpdateReferenceHost `xml:"urn:vim25 UpdateReferenceHost,omitempty"`
+ Res *types.UpdateReferenceHostResponse `xml:"urn:vim25 UpdateReferenceHostResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateReferenceHostBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateReferenceHost(ctx context.Context, r soap.RoundTripper, req *types.UpdateReferenceHost) (*types.UpdateReferenceHostResponse, error) {
+ var reqBody, resBody UpdateReferenceHostBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateRulesetBody struct {
+ Req *types.UpdateRuleset `xml:"urn:vim25 UpdateRuleset,omitempty"`
+ Res *types.UpdateRulesetResponse `xml:"urn:vim25 UpdateRulesetResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateRulesetBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateRuleset(ctx context.Context, r soap.RoundTripper, req *types.UpdateRuleset) (*types.UpdateRulesetResponse, error) {
+ var reqBody, resBody UpdateRulesetBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateScsiLunDisplayNameBody struct {
+ Req *types.UpdateScsiLunDisplayName `xml:"urn:vim25 UpdateScsiLunDisplayName,omitempty"`
+ Res *types.UpdateScsiLunDisplayNameResponse `xml:"urn:vim25 UpdateScsiLunDisplayNameResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateScsiLunDisplayNameBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateScsiLunDisplayName(ctx context.Context, r soap.RoundTripper, req *types.UpdateScsiLunDisplayName) (*types.UpdateScsiLunDisplayNameResponse, error) {
+ var reqBody, resBody UpdateScsiLunDisplayNameBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateSelfSignedClientCertBody struct {
+ Req *types.UpdateSelfSignedClientCert `xml:"urn:vim25 UpdateSelfSignedClientCert,omitempty"`
+ Res *types.UpdateSelfSignedClientCertResponse `xml:"urn:vim25 UpdateSelfSignedClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.UpdateSelfSignedClientCert) (*types.UpdateSelfSignedClientCertResponse, error) {
+ var reqBody, resBody UpdateSelfSignedClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateServiceConsoleVirtualNicBody struct {
+ Req *types.UpdateServiceConsoleVirtualNic `xml:"urn:vim25 UpdateServiceConsoleVirtualNic,omitempty"`
+ Res *types.UpdateServiceConsoleVirtualNicResponse `xml:"urn:vim25 UpdateServiceConsoleVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.UpdateServiceConsoleVirtualNic) (*types.UpdateServiceConsoleVirtualNicResponse, error) {
+ var reqBody, resBody UpdateServiceConsoleVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateServiceMessageBody struct {
+ Req *types.UpdateServiceMessage `xml:"urn:vim25 UpdateServiceMessage,omitempty"`
+ Res *types.UpdateServiceMessageResponse `xml:"urn:vim25 UpdateServiceMessageResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateServiceMessageBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateServiceMessage(ctx context.Context, r soap.RoundTripper, req *types.UpdateServiceMessage) (*types.UpdateServiceMessageResponse, error) {
+ var reqBody, resBody UpdateServiceMessageBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateServicePolicyBody struct {
+ Req *types.UpdateServicePolicy `xml:"urn:vim25 UpdateServicePolicy,omitempty"`
+ Res *types.UpdateServicePolicyResponse `xml:"urn:vim25 UpdateServicePolicyResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateServicePolicyBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateServicePolicy(ctx context.Context, r soap.RoundTripper, req *types.UpdateServicePolicy) (*types.UpdateServicePolicyResponse, error) {
+ var reqBody, resBody UpdateServicePolicyBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateSoftwareInternetScsiEnabledBody struct {
+ Req *types.UpdateSoftwareInternetScsiEnabled `xml:"urn:vim25 UpdateSoftwareInternetScsiEnabled,omitempty"`
+ Res *types.UpdateSoftwareInternetScsiEnabledResponse `xml:"urn:vim25 UpdateSoftwareInternetScsiEnabledResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateSoftwareInternetScsiEnabledBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateSoftwareInternetScsiEnabled(ctx context.Context, r soap.RoundTripper, req *types.UpdateSoftwareInternetScsiEnabled) (*types.UpdateSoftwareInternetScsiEnabledResponse, error) {
+ var reqBody, resBody UpdateSoftwareInternetScsiEnabledBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateSystemResourcesBody struct {
+ Req *types.UpdateSystemResources `xml:"urn:vim25 UpdateSystemResources,omitempty"`
+ Res *types.UpdateSystemResourcesResponse `xml:"urn:vim25 UpdateSystemResourcesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateSystemResourcesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateSystemResources(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemResources) (*types.UpdateSystemResourcesResponse, error) {
+ var reqBody, resBody UpdateSystemResourcesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateSystemSwapConfigurationBody struct {
+ Req *types.UpdateSystemSwapConfiguration `xml:"urn:vim25 UpdateSystemSwapConfiguration,omitempty"`
+ Res *types.UpdateSystemSwapConfigurationResponse `xml:"urn:vim25 UpdateSystemSwapConfigurationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateSystemSwapConfigurationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateSystemSwapConfiguration(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemSwapConfiguration) (*types.UpdateSystemSwapConfigurationResponse, error) {
+ var reqBody, resBody UpdateSystemSwapConfigurationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateSystemUsersBody struct {
+ Req *types.UpdateSystemUsers `xml:"urn:vim25 UpdateSystemUsers,omitempty"`
+ Res *types.UpdateSystemUsersResponse `xml:"urn:vim25 UpdateSystemUsersResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateSystemUsersBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateSystemUsers(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemUsers) (*types.UpdateSystemUsersResponse, error) {
+ var reqBody, resBody UpdateSystemUsersBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateUserBody struct {
+ Req *types.UpdateUser `xml:"urn:vim25 UpdateUser,omitempty"`
+ Res *types.UpdateUserResponse `xml:"urn:vim25 UpdateUserResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateUserBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateUser(ctx context.Context, r soap.RoundTripper, req *types.UpdateUser) (*types.UpdateUserResponse, error) {
+ var reqBody, resBody UpdateUserBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVAppConfigBody struct {
+ Req *types.UpdateVAppConfig `xml:"urn:vim25 UpdateVAppConfig,omitempty"`
+ Res *types.UpdateVAppConfigResponse `xml:"urn:vim25 UpdateVAppConfigResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVAppConfigBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVAppConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateVAppConfig) (*types.UpdateVAppConfigResponse, error) {
+ var reqBody, resBody UpdateVAppConfigBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVVolVirtualMachineFiles_TaskBody struct {
+ Req *types.UpdateVVolVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_Task,omitempty"`
+ Res *types.UpdateVVolVirtualMachineFiles_TaskResponse `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVVolVirtualMachineFiles_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVVolVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVVolVirtualMachineFiles_Task) (*types.UpdateVVolVirtualMachineFiles_TaskResponse, error) {
+ var reqBody, resBody UpdateVVolVirtualMachineFiles_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVirtualMachineFiles_TaskBody struct {
+ Req *types.UpdateVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVirtualMachineFiles_Task,omitempty"`
+ Res *types.UpdateVirtualMachineFiles_TaskResponse `xml:"urn:vim25 UpdateVirtualMachineFiles_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVirtualMachineFiles_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualMachineFiles_Task) (*types.UpdateVirtualMachineFiles_TaskResponse, error) {
+ var reqBody, resBody UpdateVirtualMachineFiles_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVirtualNicBody struct {
+ Req *types.UpdateVirtualNic `xml:"urn:vim25 UpdateVirtualNic,omitempty"`
+ Res *types.UpdateVirtualNicResponse `xml:"urn:vim25 UpdateVirtualNicResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVirtualNicBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualNic) (*types.UpdateVirtualNicResponse, error) {
+ var reqBody, resBody UpdateVirtualNicBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVirtualSwitchBody struct {
+ Req *types.UpdateVirtualSwitch `xml:"urn:vim25 UpdateVirtualSwitch,omitempty"`
+ Res *types.UpdateVirtualSwitchResponse `xml:"urn:vim25 UpdateVirtualSwitchResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualSwitch) (*types.UpdateVirtualSwitchResponse, error) {
+ var reqBody, resBody UpdateVirtualSwitchBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVmfsUnmapPriorityBody struct {
+ Req *types.UpdateVmfsUnmapPriority `xml:"urn:vim25 UpdateVmfsUnmapPriority,omitempty"`
+ Res *types.UpdateVmfsUnmapPriorityResponse `xml:"urn:vim25 UpdateVmfsUnmapPriorityResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVmfsUnmapPriorityBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVmfsUnmapPriority(ctx context.Context, r soap.RoundTripper, req *types.UpdateVmfsUnmapPriority) (*types.UpdateVmfsUnmapPriorityResponse, error) {
+ var reqBody, resBody UpdateVmfsUnmapPriorityBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpdateVsan_TaskBody struct {
+ Req *types.UpdateVsan_Task `xml:"urn:vim25 UpdateVsan_Task,omitempty"`
+ Res *types.UpdateVsan_TaskResponse `xml:"urn:vim25 UpdateVsan_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpdateVsan_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpdateVsan_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVsan_Task) (*types.UpdateVsan_TaskResponse, error) {
+ var reqBody, resBody UpdateVsan_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeIoFilter_TaskBody struct {
+ Req *types.UpgradeIoFilter_Task `xml:"urn:vim25 UpgradeIoFilter_Task,omitempty"`
+ Res *types.UpgradeIoFilter_TaskResponse `xml:"urn:vim25 UpgradeIoFilter_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeIoFilter_Task) (*types.UpgradeIoFilter_TaskResponse, error) {
+ var reqBody, resBody UpgradeIoFilter_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeTools_TaskBody struct {
+ Req *types.UpgradeTools_Task `xml:"urn:vim25 UpgradeTools_Task,omitempty"`
+ Res *types.UpgradeTools_TaskResponse `xml:"urn:vim25 UpgradeTools_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeTools_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeTools_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeTools_Task) (*types.UpgradeTools_TaskResponse, error) {
+ var reqBody, resBody UpgradeTools_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeVM_TaskBody struct {
+ Req *types.UpgradeVM_Task `xml:"urn:vim25 UpgradeVM_Task,omitempty"`
+ Res *types.UpgradeVM_TaskResponse `xml:"urn:vim25 UpgradeVM_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeVM_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeVM_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVM_Task) (*types.UpgradeVM_TaskResponse, error) {
+ var reqBody, resBody UpgradeVM_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeVmLayoutBody struct {
+ Req *types.UpgradeVmLayout `xml:"urn:vim25 UpgradeVmLayout,omitempty"`
+ Res *types.UpgradeVmLayoutResponse `xml:"urn:vim25 UpgradeVmLayoutResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeVmLayoutBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeVmLayout(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVmLayout) (*types.UpgradeVmLayoutResponse, error) {
+ var reqBody, resBody UpgradeVmLayoutBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeVmfsBody struct {
+ Req *types.UpgradeVmfs `xml:"urn:vim25 UpgradeVmfs,omitempty"`
+ Res *types.UpgradeVmfsResponse `xml:"urn:vim25 UpgradeVmfsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeVmfsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeVmfs(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVmfs) (*types.UpgradeVmfsResponse, error) {
+ var reqBody, resBody UpgradeVmfsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UpgradeVsanObjectsBody struct {
+ Req *types.UpgradeVsanObjects `xml:"urn:vim25 UpgradeVsanObjects,omitempty"`
+ Res *types.UpgradeVsanObjectsResponse `xml:"urn:vim25 UpgradeVsanObjectsResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UpgradeVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UpgradeVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVsanObjects) (*types.UpgradeVsanObjectsResponse, error) {
+ var reqBody, resBody UpgradeVsanObjectsBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UploadClientCertBody struct {
+ Req *types.UploadClientCert `xml:"urn:vim25 UploadClientCert,omitempty"`
+ Res *types.UploadClientCertResponse `xml:"urn:vim25 UploadClientCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UploadClientCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UploadClientCert(ctx context.Context, r soap.RoundTripper, req *types.UploadClientCert) (*types.UploadClientCertResponse, error) {
+ var reqBody, resBody UploadClientCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type UploadKmipServerCertBody struct {
+ Req *types.UploadKmipServerCert `xml:"urn:vim25 UploadKmipServerCert,omitempty"`
+ Res *types.UploadKmipServerCertResponse `xml:"urn:vim25 UploadKmipServerCertResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *UploadKmipServerCertBody) Fault() *soap.Fault { return b.Fault_ }
+
+func UploadKmipServerCert(ctx context.Context, r soap.RoundTripper, req *types.UploadKmipServerCert) (*types.UploadKmipServerCertResponse, error) {
+ var reqBody, resBody UploadKmipServerCertBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ValidateCredentialsInGuestBody struct {
+ Req *types.ValidateCredentialsInGuest `xml:"urn:vim25 ValidateCredentialsInGuest,omitempty"`
+ Res *types.ValidateCredentialsInGuestResponse `xml:"urn:vim25 ValidateCredentialsInGuestResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ValidateCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ValidateCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.ValidateCredentialsInGuest) (*types.ValidateCredentialsInGuestResponse, error) {
+ var reqBody, resBody ValidateCredentialsInGuestBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ValidateHostBody struct {
+ Req *types.ValidateHost `xml:"urn:vim25 ValidateHost,omitempty"`
+ Res *types.ValidateHostResponse `xml:"urn:vim25 ValidateHostResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ValidateHostBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ValidateHost(ctx context.Context, r soap.RoundTripper, req *types.ValidateHost) (*types.ValidateHostResponse, error) {
+ var reqBody, resBody ValidateHostBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ValidateMigrationBody struct {
+ Req *types.ValidateMigration `xml:"urn:vim25 ValidateMigration,omitempty"`
+ Res *types.ValidateMigrationResponse `xml:"urn:vim25 ValidateMigrationResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ValidateMigrationBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ValidateMigration(ctx context.Context, r soap.RoundTripper, req *types.ValidateMigration) (*types.ValidateMigrationResponse, error) {
+ var reqBody, resBody ValidateMigrationBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type WaitForUpdatesBody struct {
+ Req *types.WaitForUpdates `xml:"urn:vim25 WaitForUpdates,omitempty"`
+ Res *types.WaitForUpdatesResponse `xml:"urn:vim25 WaitForUpdatesResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *WaitForUpdatesBody) Fault() *soap.Fault { return b.Fault_ }
+
+func WaitForUpdates(ctx context.Context, r soap.RoundTripper, req *types.WaitForUpdates) (*types.WaitForUpdatesResponse, error) {
+ var reqBody, resBody WaitForUpdatesBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type WaitForUpdatesExBody struct {
+ Req *types.WaitForUpdatesEx `xml:"urn:vim25 WaitForUpdatesEx,omitempty"`
+ Res *types.WaitForUpdatesExResponse `xml:"urn:vim25 WaitForUpdatesExResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *WaitForUpdatesExBody) Fault() *soap.Fault { return b.Fault_ }
+
+func WaitForUpdatesEx(ctx context.Context, r soap.RoundTripper, req *types.WaitForUpdatesEx) (*types.WaitForUpdatesExResponse, error) {
+ var reqBody, resBody WaitForUpdatesExBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type XmlToCustomizationSpecItemBody struct {
+ Req *types.XmlToCustomizationSpecItem `xml:"urn:vim25 XmlToCustomizationSpecItem,omitempty"`
+ Res *types.XmlToCustomizationSpecItemResponse `xml:"urn:vim25 XmlToCustomizationSpecItemResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *XmlToCustomizationSpecItemBody) Fault() *soap.Fault { return b.Fault_ }
+
+func XmlToCustomizationSpecItem(ctx context.Context, r soap.RoundTripper, req *types.XmlToCustomizationSpecItem) (*types.XmlToCustomizationSpecItemResponse, error) {
+ var reqBody, resBody XmlToCustomizationSpecItemBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
+
+type ZeroFillVirtualDisk_TaskBody struct {
+ Req *types.ZeroFillVirtualDisk_Task `xml:"urn:vim25 ZeroFillVirtualDisk_Task,omitempty"`
+ Res *types.ZeroFillVirtualDisk_TaskResponse `xml:"urn:vim25 ZeroFillVirtualDisk_TaskResponse,omitempty"`
+ Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"`
+}
+
+func (b *ZeroFillVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ }
+
+func ZeroFillVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ZeroFillVirtualDisk_Task) (*types.ZeroFillVirtualDisk_TaskResponse, error) {
+ var reqBody, resBody ZeroFillVirtualDisk_TaskBody
+
+ reqBody.Req = req
+
+ if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil {
+ return nil, err
+ }
+
+ return resBody.Res, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go
new file mode 100644
index 00000000..634fbfbd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go
@@ -0,0 +1,56 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 methods
+
+import (
+ "context"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+var ServiceInstance = types.ManagedObjectReference{
+ Type: "ServiceInstance",
+ Value: "ServiceInstance",
+}
+
+func GetServiceContent(ctx context.Context, r soap.RoundTripper) (types.ServiceContent, error) {
+ req := types.RetrieveServiceContent{
+ This: ServiceInstance,
+ }
+
+ res, err := RetrieveServiceContent(ctx, r, &req)
+ if err != nil {
+ return types.ServiceContent{}, err
+ }
+
+ return res.Returnval, nil
+}
+
+func GetCurrentTime(ctx context.Context, r soap.RoundTripper) (*time.Time, error) {
+ req := types.CurrentTime{
+ This: ServiceInstance,
+ }
+
+ res, err := CurrentTime(ctx, r, &req)
+ if err != nil {
+ return nil, err
+ }
+
+ return &res.Returnval, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go
new file mode 100644
index 00000000..d3da5b18
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go
@@ -0,0 +1,137 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+// Ancestors returns the entire ancestry tree of a specified managed object.
+// The return value includes the root node and the specified object itself.
+func Ancestors(ctx context.Context, rt soap.RoundTripper, pc, obj types.ManagedObjectReference) ([]ManagedEntity, error) {
+ ospec := types.ObjectSpec{
+ Obj: obj,
+ SelectSet: []types.BaseSelectionSpec{
+ &types.TraversalSpec{
+ SelectionSpec: types.SelectionSpec{Name: "traverseParent"},
+ Type: "ManagedEntity",
+ Path: "parent",
+ Skip: types.NewBool(false),
+ SelectSet: []types.BaseSelectionSpec{
+ &types.SelectionSpec{Name: "traverseParent"},
+ },
+ },
+ &types.TraversalSpec{
+ SelectionSpec: types.SelectionSpec{},
+ Type: "VirtualMachine",
+ Path: "parentVApp",
+ Skip: types.NewBool(false),
+ SelectSet: []types.BaseSelectionSpec{
+ &types.SelectionSpec{Name: "traverseParent"},
+ },
+ },
+ },
+ Skip: types.NewBool(false),
+ }
+
+ pspec := []types.PropertySpec{
+ {
+ Type: "ManagedEntity",
+ PathSet: []string{"name", "parent"},
+ },
+ {
+ Type: "VirtualMachine",
+ PathSet: []string{"parentVApp"},
+ },
+ }
+
+ req := types.RetrieveProperties{
+ This: pc,
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{ospec},
+ PropSet: pspec,
+ },
+ },
+ }
+
+ var ifaces []interface{}
+ err := RetrievePropertiesForRequest(ctx, rt, req, &ifaces)
+ if err != nil {
+ return nil, err
+ }
+
+ var out []ManagedEntity
+
+ // Build ancestry tree by iteratively finding a new child.
+ for len(out) < len(ifaces) {
+ var find types.ManagedObjectReference
+
+ if len(out) > 0 {
+ find = out[len(out)-1].Self
+ }
+
+ // Find entity we're looking for given the last entity in the current tree.
+ for _, iface := range ifaces {
+ me := iface.(IsManagedEntity).GetManagedEntity()
+
+ if me.Name == "" {
+ // The types below have their own 'Name' field, so ManagedEntity.Name (me.Name) is empty.
+ // We only hit this case when the 'obj' param is one of these types.
+ // In most cases, 'obj' is a Folder so Name isn't collected in this call.
+ switch x := iface.(type) {
+ case Network:
+ me.Name = x.Name
+ case DistributedVirtualSwitch:
+ me.Name = x.Name
+ case DistributedVirtualPortgroup:
+ me.Name = x.Name
+ case OpaqueNetwork:
+ me.Name = x.Name
+ default:
+ // ManagedEntity always has a Name, if we hit this point we missed a case above.
+ panic(fmt.Sprintf("%#v Name is empty", me.Reference()))
+ }
+ }
+
+ if me.Parent == nil {
+ // Special case for VirtualMachine within VirtualApp,
+ // unlikely to hit this other than via Finder.Element()
+ switch x := iface.(type) {
+ case VirtualMachine:
+ me.Parent = x.ParentVApp
+ }
+ }
+
+ if me.Parent == nil {
+ out = append(out, me)
+ break
+ }
+
+ if *me.Parent == find {
+ out = append(out, me)
+ break
+ }
+ }
+ }
+
+ return out, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/entity.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/entity.go
new file mode 100644
index 00000000..193e6f71
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/entity.go
@@ -0,0 +1,24 @@
+/*
+Copyright (c) 2016 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+// Entity is the interface that is implemented by all managed objects
+// that extend ManagedEntity.
+type Entity interface {
+ Reference
+ Entity() *ManagedEntity
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/extra.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/extra.go
new file mode 100644
index 00000000..254ef359
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/extra.go
@@ -0,0 +1,61 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+type IsManagedEntity interface {
+ GetManagedEntity() ManagedEntity
+}
+
+func (m ComputeResource) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m Datacenter) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m Datastore) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m DistributedVirtualSwitch) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m DistributedVirtualPortgroup) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m Folder) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m HostSystem) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m Network) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m ResourcePool) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
+
+func (m VirtualMachine) GetManagedEntity() ManagedEntity {
+ return m.ManagedEntity
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/mo.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/mo.go
new file mode 100644
index 00000000..ede6e44d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/mo.go
@@ -0,0 +1,1757 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import (
+ "reflect"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type Alarm struct {
+ ExtensibleManagedObject
+
+ Info types.AlarmInfo `mo:"info"`
+}
+
+func init() {
+ t["Alarm"] = reflect.TypeOf((*Alarm)(nil)).Elem()
+}
+
+type AlarmManager struct {
+ Self types.ManagedObjectReference
+
+ DefaultExpression []types.BaseAlarmExpression `mo:"defaultExpression"`
+ Description types.AlarmDescription `mo:"description"`
+}
+
+func (m AlarmManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["AlarmManager"] = reflect.TypeOf((*AlarmManager)(nil)).Elem()
+}
+
+type AuthorizationManager struct {
+ Self types.ManagedObjectReference
+
+ PrivilegeList []types.AuthorizationPrivilege `mo:"privilegeList"`
+ RoleList []types.AuthorizationRole `mo:"roleList"`
+ Description types.AuthorizationDescription `mo:"description"`
+}
+
+func (m AuthorizationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["AuthorizationManager"] = reflect.TypeOf((*AuthorizationManager)(nil)).Elem()
+}
+
+type CertificateManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m CertificateManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["CertificateManager"] = reflect.TypeOf((*CertificateManager)(nil)).Elem()
+}
+
+type ClusterComputeResource struct {
+ ComputeResource
+
+ Configuration types.ClusterConfigInfo `mo:"configuration"`
+ Recommendation []types.ClusterRecommendation `mo:"recommendation"`
+ DrsRecommendation []types.ClusterDrsRecommendation `mo:"drsRecommendation"`
+ MigrationHistory []types.ClusterDrsMigration `mo:"migrationHistory"`
+ ActionHistory []types.ClusterActionHistory `mo:"actionHistory"`
+ DrsFault []types.ClusterDrsFaults `mo:"drsFault"`
+}
+
+func init() {
+ t["ClusterComputeResource"] = reflect.TypeOf((*ClusterComputeResource)(nil)).Elem()
+}
+
+type ClusterEVCManager struct {
+ ExtensibleManagedObject
+
+ ManagedCluster types.ManagedObjectReference `mo:"managedCluster"`
+ EvcState types.ClusterEVCManagerEVCState `mo:"evcState"`
+}
+
+func init() {
+ t["ClusterEVCManager"] = reflect.TypeOf((*ClusterEVCManager)(nil)).Elem()
+}
+
+type ClusterProfile struct {
+ Profile
+}
+
+func init() {
+ t["ClusterProfile"] = reflect.TypeOf((*ClusterProfile)(nil)).Elem()
+}
+
+type ClusterProfileManager struct {
+ ProfileManager
+}
+
+func init() {
+ t["ClusterProfileManager"] = reflect.TypeOf((*ClusterProfileManager)(nil)).Elem()
+}
+
+type ComputeResource struct {
+ ManagedEntity
+
+ ResourcePool *types.ManagedObjectReference `mo:"resourcePool"`
+ Host []types.ManagedObjectReference `mo:"host"`
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Network []types.ManagedObjectReference `mo:"network"`
+ Summary types.BaseComputeResourceSummary `mo:"summary"`
+ EnvironmentBrowser *types.ManagedObjectReference `mo:"environmentBrowser"`
+ ConfigurationEx types.BaseComputeResourceConfigInfo `mo:"configurationEx"`
+}
+
+func (m *ComputeResource) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["ComputeResource"] = reflect.TypeOf((*ComputeResource)(nil)).Elem()
+}
+
+type ContainerView struct {
+ ManagedObjectView
+
+ Container types.ManagedObjectReference `mo:"container"`
+ Type []string `mo:"type"`
+ Recursive bool `mo:"recursive"`
+}
+
+func init() {
+ t["ContainerView"] = reflect.TypeOf((*ContainerView)(nil)).Elem()
+}
+
+type CryptoManager struct {
+ Self types.ManagedObjectReference
+
+ Enabled bool `mo:"enabled"`
+}
+
+func (m CryptoManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["CryptoManager"] = reflect.TypeOf((*CryptoManager)(nil)).Elem()
+}
+
+type CryptoManagerKmip struct {
+ CryptoManager
+
+ KmipServers []types.KmipClusterInfo `mo:"kmipServers"`
+}
+
+func init() {
+ t["CryptoManagerKmip"] = reflect.TypeOf((*CryptoManagerKmip)(nil)).Elem()
+}
+
+type CustomFieldsManager struct {
+ Self types.ManagedObjectReference
+
+ Field []types.CustomFieldDef `mo:"field"`
+}
+
+func (m CustomFieldsManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["CustomFieldsManager"] = reflect.TypeOf((*CustomFieldsManager)(nil)).Elem()
+}
+
+type CustomizationSpecManager struct {
+ Self types.ManagedObjectReference
+
+ Info []types.CustomizationSpecInfo `mo:"info"`
+ EncryptionKey []byte `mo:"encryptionKey"`
+}
+
+func (m CustomizationSpecManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["CustomizationSpecManager"] = reflect.TypeOf((*CustomizationSpecManager)(nil)).Elem()
+}
+
+type Datacenter struct {
+ ManagedEntity
+
+ VmFolder types.ManagedObjectReference `mo:"vmFolder"`
+ HostFolder types.ManagedObjectReference `mo:"hostFolder"`
+ DatastoreFolder types.ManagedObjectReference `mo:"datastoreFolder"`
+ NetworkFolder types.ManagedObjectReference `mo:"networkFolder"`
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Network []types.ManagedObjectReference `mo:"network"`
+ Configuration types.DatacenterConfigInfo `mo:"configuration"`
+}
+
+func (m *Datacenter) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["Datacenter"] = reflect.TypeOf((*Datacenter)(nil)).Elem()
+}
+
+type Datastore struct {
+ ManagedEntity
+
+ Info types.BaseDatastoreInfo `mo:"info"`
+ Summary types.DatastoreSummary `mo:"summary"`
+ Host []types.DatastoreHostMount `mo:"host"`
+ Vm []types.ManagedObjectReference `mo:"vm"`
+ Browser types.ManagedObjectReference `mo:"browser"`
+ Capability types.DatastoreCapability `mo:"capability"`
+ IormConfiguration *types.StorageIORMInfo `mo:"iormConfiguration"`
+}
+
+func (m *Datastore) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["Datastore"] = reflect.TypeOf((*Datastore)(nil)).Elem()
+}
+
+type DatastoreNamespaceManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m DatastoreNamespaceManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["DatastoreNamespaceManager"] = reflect.TypeOf((*DatastoreNamespaceManager)(nil)).Elem()
+}
+
+type DiagnosticManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m DiagnosticManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["DiagnosticManager"] = reflect.TypeOf((*DiagnosticManager)(nil)).Elem()
+}
+
+type DistributedVirtualPortgroup struct {
+ Network
+
+ Key string `mo:"key"`
+ Config types.DVPortgroupConfigInfo `mo:"config"`
+ PortKeys []string `mo:"portKeys"`
+}
+
+func init() {
+ t["DistributedVirtualPortgroup"] = reflect.TypeOf((*DistributedVirtualPortgroup)(nil)).Elem()
+}
+
+type DistributedVirtualSwitch struct {
+ ManagedEntity
+
+ Uuid string `mo:"uuid"`
+ Capability types.DVSCapability `mo:"capability"`
+ Summary types.DVSSummary `mo:"summary"`
+ Config types.BaseDVSConfigInfo `mo:"config"`
+ NetworkResourcePool []types.DVSNetworkResourcePool `mo:"networkResourcePool"`
+ Portgroup []types.ManagedObjectReference `mo:"portgroup"`
+ Runtime *types.DVSRuntimeInfo `mo:"runtime"`
+}
+
+func (m *DistributedVirtualSwitch) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["DistributedVirtualSwitch"] = reflect.TypeOf((*DistributedVirtualSwitch)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m DistributedVirtualSwitchManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["DistributedVirtualSwitchManager"] = reflect.TypeOf((*DistributedVirtualSwitchManager)(nil)).Elem()
+}
+
+type EnvironmentBrowser struct {
+ Self types.ManagedObjectReference
+
+ DatastoreBrowser *types.ManagedObjectReference `mo:"datastoreBrowser"`
+}
+
+func (m EnvironmentBrowser) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["EnvironmentBrowser"] = reflect.TypeOf((*EnvironmentBrowser)(nil)).Elem()
+}
+
+type EventHistoryCollector struct {
+ HistoryCollector
+
+ LatestPage []types.BaseEvent `mo:"latestPage"`
+}
+
+func init() {
+ t["EventHistoryCollector"] = reflect.TypeOf((*EventHistoryCollector)(nil)).Elem()
+}
+
+type EventManager struct {
+ Self types.ManagedObjectReference
+
+ Description types.EventDescription `mo:"description"`
+ LatestEvent types.BaseEvent `mo:"latestEvent"`
+ MaxCollector int32 `mo:"maxCollector"`
+}
+
+func (m EventManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["EventManager"] = reflect.TypeOf((*EventManager)(nil)).Elem()
+}
+
+type ExtensibleManagedObject struct {
+ Self types.ManagedObjectReference
+
+ Value []types.BaseCustomFieldValue `mo:"value"`
+ AvailableField []types.CustomFieldDef `mo:"availableField"`
+}
+
+func (m ExtensibleManagedObject) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ExtensibleManagedObject"] = reflect.TypeOf((*ExtensibleManagedObject)(nil)).Elem()
+}
+
+type ExtensionManager struct {
+ Self types.ManagedObjectReference
+
+ ExtensionList []types.Extension `mo:"extensionList"`
+}
+
+func (m ExtensionManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ExtensionManager"] = reflect.TypeOf((*ExtensionManager)(nil)).Elem()
+}
+
+type FailoverClusterConfigurator struct {
+ Self types.ManagedObjectReference
+
+ DisabledConfigureMethod []string `mo:"disabledConfigureMethod"`
+}
+
+func (m FailoverClusterConfigurator) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["FailoverClusterConfigurator"] = reflect.TypeOf((*FailoverClusterConfigurator)(nil)).Elem()
+}
+
+type FailoverClusterManager struct {
+ Self types.ManagedObjectReference
+
+ DisabledClusterMethod []string `mo:"disabledClusterMethod"`
+}
+
+func (m FailoverClusterManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["FailoverClusterManager"] = reflect.TypeOf((*FailoverClusterManager)(nil)).Elem()
+}
+
+type FileManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m FileManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["FileManager"] = reflect.TypeOf((*FileManager)(nil)).Elem()
+}
+
+type Folder struct {
+ ManagedEntity
+
+ ChildType []string `mo:"childType"`
+ ChildEntity []types.ManagedObjectReference `mo:"childEntity"`
+}
+
+func (m *Folder) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["Folder"] = reflect.TypeOf((*Folder)(nil)).Elem()
+}
+
+type GuestAliasManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m GuestAliasManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestAliasManager"] = reflect.TypeOf((*GuestAliasManager)(nil)).Elem()
+}
+
+type GuestAuthManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m GuestAuthManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestAuthManager"] = reflect.TypeOf((*GuestAuthManager)(nil)).Elem()
+}
+
+type GuestFileManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m GuestFileManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestFileManager"] = reflect.TypeOf((*GuestFileManager)(nil)).Elem()
+}
+
+type GuestOperationsManager struct {
+ Self types.ManagedObjectReference
+
+ AuthManager *types.ManagedObjectReference `mo:"authManager"`
+ FileManager *types.ManagedObjectReference `mo:"fileManager"`
+ ProcessManager *types.ManagedObjectReference `mo:"processManager"`
+ GuestWindowsRegistryManager *types.ManagedObjectReference `mo:"guestWindowsRegistryManager"`
+ AliasManager *types.ManagedObjectReference `mo:"aliasManager"`
+}
+
+func (m GuestOperationsManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestOperationsManager"] = reflect.TypeOf((*GuestOperationsManager)(nil)).Elem()
+}
+
+type GuestProcessManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m GuestProcessManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestProcessManager"] = reflect.TypeOf((*GuestProcessManager)(nil)).Elem()
+}
+
+type GuestWindowsRegistryManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m GuestWindowsRegistryManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["GuestWindowsRegistryManager"] = reflect.TypeOf((*GuestWindowsRegistryManager)(nil)).Elem()
+}
+
+type HealthUpdateManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HealthUpdateManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HealthUpdateManager"] = reflect.TypeOf((*HealthUpdateManager)(nil)).Elem()
+}
+
+type HistoryCollector struct {
+ Self types.ManagedObjectReference
+
+ Filter types.AnyType `mo:"filter"`
+}
+
+func (m HistoryCollector) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HistoryCollector"] = reflect.TypeOf((*HistoryCollector)(nil)).Elem()
+}
+
+type HostAccessManager struct {
+ Self types.ManagedObjectReference
+
+ LockdownMode types.HostLockdownMode `mo:"lockdownMode"`
+}
+
+func (m HostAccessManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostAccessManager"] = reflect.TypeOf((*HostAccessManager)(nil)).Elem()
+}
+
+type HostActiveDirectoryAuthentication struct {
+ HostDirectoryStore
+}
+
+func init() {
+ t["HostActiveDirectoryAuthentication"] = reflect.TypeOf((*HostActiveDirectoryAuthentication)(nil)).Elem()
+}
+
+type HostAuthenticationManager struct {
+ Self types.ManagedObjectReference
+
+ Info types.HostAuthenticationManagerInfo `mo:"info"`
+ SupportedStore []types.ManagedObjectReference `mo:"supportedStore"`
+}
+
+func (m HostAuthenticationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostAuthenticationManager"] = reflect.TypeOf((*HostAuthenticationManager)(nil)).Elem()
+}
+
+type HostAuthenticationStore struct {
+ Self types.ManagedObjectReference
+
+ Info types.BaseHostAuthenticationStoreInfo `mo:"info"`
+}
+
+func (m HostAuthenticationStore) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostAuthenticationStore"] = reflect.TypeOf((*HostAuthenticationStore)(nil)).Elem()
+}
+
+type HostAutoStartManager struct {
+ Self types.ManagedObjectReference
+
+ Config types.HostAutoStartManagerConfig `mo:"config"`
+}
+
+func (m HostAutoStartManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostAutoStartManager"] = reflect.TypeOf((*HostAutoStartManager)(nil)).Elem()
+}
+
+type HostBootDeviceSystem struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostBootDeviceSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostBootDeviceSystem"] = reflect.TypeOf((*HostBootDeviceSystem)(nil)).Elem()
+}
+
+type HostCacheConfigurationManager struct {
+ Self types.ManagedObjectReference
+
+ CacheConfigurationInfo []types.HostCacheConfigurationInfo `mo:"cacheConfigurationInfo"`
+}
+
+func (m HostCacheConfigurationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostCacheConfigurationManager"] = reflect.TypeOf((*HostCacheConfigurationManager)(nil)).Elem()
+}
+
+type HostCertificateManager struct {
+ Self types.ManagedObjectReference
+
+ CertificateInfo types.HostCertificateManagerCertificateInfo `mo:"certificateInfo"`
+}
+
+func (m HostCertificateManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostCertificateManager"] = reflect.TypeOf((*HostCertificateManager)(nil)).Elem()
+}
+
+type HostCpuSchedulerSystem struct {
+ ExtensibleManagedObject
+
+ HyperthreadInfo *types.HostHyperThreadScheduleInfo `mo:"hyperthreadInfo"`
+}
+
+func init() {
+ t["HostCpuSchedulerSystem"] = reflect.TypeOf((*HostCpuSchedulerSystem)(nil)).Elem()
+}
+
+type HostDatastoreBrowser struct {
+ Self types.ManagedObjectReference
+
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ SupportedType []types.BaseFileQuery `mo:"supportedType"`
+}
+
+func (m HostDatastoreBrowser) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostDatastoreBrowser"] = reflect.TypeOf((*HostDatastoreBrowser)(nil)).Elem()
+}
+
+type HostDatastoreSystem struct {
+ Self types.ManagedObjectReference
+
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Capabilities types.HostDatastoreSystemCapabilities `mo:"capabilities"`
+}
+
+func (m HostDatastoreSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostDatastoreSystem"] = reflect.TypeOf((*HostDatastoreSystem)(nil)).Elem()
+}
+
+type HostDateTimeSystem struct {
+ Self types.ManagedObjectReference
+
+ DateTimeInfo types.HostDateTimeInfo `mo:"dateTimeInfo"`
+}
+
+func (m HostDateTimeSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostDateTimeSystem"] = reflect.TypeOf((*HostDateTimeSystem)(nil)).Elem()
+}
+
+type HostDiagnosticSystem struct {
+ Self types.ManagedObjectReference
+
+ ActivePartition *types.HostDiagnosticPartition `mo:"activePartition"`
+}
+
+func (m HostDiagnosticSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostDiagnosticSystem"] = reflect.TypeOf((*HostDiagnosticSystem)(nil)).Elem()
+}
+
+type HostDirectoryStore struct {
+ HostAuthenticationStore
+}
+
+func init() {
+ t["HostDirectoryStore"] = reflect.TypeOf((*HostDirectoryStore)(nil)).Elem()
+}
+
+type HostEsxAgentHostManager struct {
+ Self types.ManagedObjectReference
+
+ ConfigInfo types.HostEsxAgentHostManagerConfigInfo `mo:"configInfo"`
+}
+
+func (m HostEsxAgentHostManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostEsxAgentHostManager"] = reflect.TypeOf((*HostEsxAgentHostManager)(nil)).Elem()
+}
+
+type HostFirewallSystem struct {
+ ExtensibleManagedObject
+
+ FirewallInfo *types.HostFirewallInfo `mo:"firewallInfo"`
+}
+
+func init() {
+ t["HostFirewallSystem"] = reflect.TypeOf((*HostFirewallSystem)(nil)).Elem()
+}
+
+type HostFirmwareSystem struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostFirmwareSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostFirmwareSystem"] = reflect.TypeOf((*HostFirmwareSystem)(nil)).Elem()
+}
+
+type HostGraphicsManager struct {
+ ExtensibleManagedObject
+
+ GraphicsInfo []types.HostGraphicsInfo `mo:"graphicsInfo"`
+ GraphicsConfig *types.HostGraphicsConfig `mo:"graphicsConfig"`
+ SharedPassthruGpuTypes []string `mo:"sharedPassthruGpuTypes"`
+}
+
+func init() {
+ t["HostGraphicsManager"] = reflect.TypeOf((*HostGraphicsManager)(nil)).Elem()
+}
+
+type HostHealthStatusSystem struct {
+ Self types.ManagedObjectReference
+
+ Runtime types.HealthSystemRuntime `mo:"runtime"`
+}
+
+func (m HostHealthStatusSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostHealthStatusSystem"] = reflect.TypeOf((*HostHealthStatusSystem)(nil)).Elem()
+}
+
+type HostImageConfigManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostImageConfigManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostImageConfigManager"] = reflect.TypeOf((*HostImageConfigManager)(nil)).Elem()
+}
+
+type HostKernelModuleSystem struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostKernelModuleSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostKernelModuleSystem"] = reflect.TypeOf((*HostKernelModuleSystem)(nil)).Elem()
+}
+
+type HostLocalAccountManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostLocalAccountManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostLocalAccountManager"] = reflect.TypeOf((*HostLocalAccountManager)(nil)).Elem()
+}
+
+type HostLocalAuthentication struct {
+ HostAuthenticationStore
+}
+
+func init() {
+ t["HostLocalAuthentication"] = reflect.TypeOf((*HostLocalAuthentication)(nil)).Elem()
+}
+
+type HostMemorySystem struct {
+ ExtensibleManagedObject
+
+ ConsoleReservationInfo *types.ServiceConsoleReservationInfo `mo:"consoleReservationInfo"`
+ VirtualMachineReservationInfo *types.VirtualMachineMemoryReservationInfo `mo:"virtualMachineReservationInfo"`
+}
+
+func init() {
+ t["HostMemorySystem"] = reflect.TypeOf((*HostMemorySystem)(nil)).Elem()
+}
+
+type HostNetworkSystem struct {
+ ExtensibleManagedObject
+
+ Capabilities *types.HostNetCapabilities `mo:"capabilities"`
+ NetworkInfo *types.HostNetworkInfo `mo:"networkInfo"`
+ OffloadCapabilities *types.HostNetOffloadCapabilities `mo:"offloadCapabilities"`
+ NetworkConfig *types.HostNetworkConfig `mo:"networkConfig"`
+ DnsConfig types.BaseHostDnsConfig `mo:"dnsConfig"`
+ IpRouteConfig types.BaseHostIpRouteConfig `mo:"ipRouteConfig"`
+ ConsoleIpRouteConfig types.BaseHostIpRouteConfig `mo:"consoleIpRouteConfig"`
+}
+
+func init() {
+ t["HostNetworkSystem"] = reflect.TypeOf((*HostNetworkSystem)(nil)).Elem()
+}
+
+type HostPatchManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostPatchManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostPatchManager"] = reflect.TypeOf((*HostPatchManager)(nil)).Elem()
+}
+
+type HostPciPassthruSystem struct {
+ ExtensibleManagedObject
+
+ PciPassthruInfo []types.BaseHostPciPassthruInfo `mo:"pciPassthruInfo"`
+ SriovDevicePoolInfo []types.BaseHostSriovDevicePoolInfo `mo:"sriovDevicePoolInfo"`
+}
+
+func init() {
+ t["HostPciPassthruSystem"] = reflect.TypeOf((*HostPciPassthruSystem)(nil)).Elem()
+}
+
+type HostPowerSystem struct {
+ Self types.ManagedObjectReference
+
+ Capability types.PowerSystemCapability `mo:"capability"`
+ Info types.PowerSystemInfo `mo:"info"`
+}
+
+func (m HostPowerSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostPowerSystem"] = reflect.TypeOf((*HostPowerSystem)(nil)).Elem()
+}
+
+type HostProfile struct {
+ Profile
+
+ ReferenceHost *types.ManagedObjectReference `mo:"referenceHost"`
+}
+
+func init() {
+ t["HostProfile"] = reflect.TypeOf((*HostProfile)(nil)).Elem()
+}
+
+type HostProfileManager struct {
+ ProfileManager
+}
+
+func init() {
+ t["HostProfileManager"] = reflect.TypeOf((*HostProfileManager)(nil)).Elem()
+}
+
+type HostServiceSystem struct {
+ ExtensibleManagedObject
+
+ ServiceInfo types.HostServiceInfo `mo:"serviceInfo"`
+}
+
+func init() {
+ t["HostServiceSystem"] = reflect.TypeOf((*HostServiceSystem)(nil)).Elem()
+}
+
+type HostSnmpSystem struct {
+ Self types.ManagedObjectReference
+
+ Configuration types.HostSnmpConfigSpec `mo:"configuration"`
+ Limits types.HostSnmpSystemAgentLimits `mo:"limits"`
+}
+
+func (m HostSnmpSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostSnmpSystem"] = reflect.TypeOf((*HostSnmpSystem)(nil)).Elem()
+}
+
+type HostSpecificationManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostSpecificationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostSpecificationManager"] = reflect.TypeOf((*HostSpecificationManager)(nil)).Elem()
+}
+
+type HostStorageSystem struct {
+ ExtensibleManagedObject
+
+ StorageDeviceInfo *types.HostStorageDeviceInfo `mo:"storageDeviceInfo"`
+ FileSystemVolumeInfo types.HostFileSystemVolumeInfo `mo:"fileSystemVolumeInfo"`
+ SystemFile []string `mo:"systemFile"`
+ MultipathStateInfo *types.HostMultipathStateInfo `mo:"multipathStateInfo"`
+}
+
+func init() {
+ t["HostStorageSystem"] = reflect.TypeOf((*HostStorageSystem)(nil)).Elem()
+}
+
+type HostSystem struct {
+ ManagedEntity
+
+ Runtime types.HostRuntimeInfo `mo:"runtime"`
+ Summary types.HostListSummary `mo:"summary"`
+ Hardware *types.HostHardwareInfo `mo:"hardware"`
+ Capability *types.HostCapability `mo:"capability"`
+ LicensableResource types.HostLicensableResourceInfo `mo:"licensableResource"`
+ ConfigManager types.HostConfigManager `mo:"configManager"`
+ Config *types.HostConfigInfo `mo:"config"`
+ Vm []types.ManagedObjectReference `mo:"vm"`
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Network []types.ManagedObjectReference `mo:"network"`
+ DatastoreBrowser types.ManagedObjectReference `mo:"datastoreBrowser"`
+ SystemResources *types.HostSystemResourceInfo `mo:"systemResources"`
+}
+
+func (m *HostSystem) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["HostSystem"] = reflect.TypeOf((*HostSystem)(nil)).Elem()
+}
+
+type HostVFlashManager struct {
+ Self types.ManagedObjectReference
+
+ VFlashConfigInfo *types.HostVFlashManagerVFlashConfigInfo `mo:"vFlashConfigInfo"`
+}
+
+func (m HostVFlashManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostVFlashManager"] = reflect.TypeOf((*HostVFlashManager)(nil)).Elem()
+}
+
+type HostVMotionSystem struct {
+ ExtensibleManagedObject
+
+ NetConfig *types.HostVMotionNetConfig `mo:"netConfig"`
+ IpConfig *types.HostIpConfig `mo:"ipConfig"`
+}
+
+func init() {
+ t["HostVMotionSystem"] = reflect.TypeOf((*HostVMotionSystem)(nil)).Elem()
+}
+
+type HostVStorageObjectManager struct {
+ VStorageObjectManagerBase
+}
+
+func init() {
+ t["HostVStorageObjectManager"] = reflect.TypeOf((*HostVStorageObjectManager)(nil)).Elem()
+}
+
+type HostVirtualNicManager struct {
+ ExtensibleManagedObject
+
+ Info types.HostVirtualNicManagerInfo `mo:"info"`
+}
+
+func init() {
+ t["HostVirtualNicManager"] = reflect.TypeOf((*HostVirtualNicManager)(nil)).Elem()
+}
+
+type HostVsanInternalSystem struct {
+ Self types.ManagedObjectReference
+}
+
+func (m HostVsanInternalSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostVsanInternalSystem"] = reflect.TypeOf((*HostVsanInternalSystem)(nil)).Elem()
+}
+
+type HostVsanSystem struct {
+ Self types.ManagedObjectReference
+
+ Config types.VsanHostConfigInfo `mo:"config"`
+}
+
+func (m HostVsanSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HostVsanSystem"] = reflect.TypeOf((*HostVsanSystem)(nil)).Elem()
+}
+
+type HttpNfcLease struct {
+ Self types.ManagedObjectReference
+
+ InitializeProgress int32 `mo:"initializeProgress"`
+ Info *types.HttpNfcLeaseInfo `mo:"info"`
+ State types.HttpNfcLeaseState `mo:"state"`
+ Error *types.LocalizedMethodFault `mo:"error"`
+}
+
+func (m HttpNfcLease) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["HttpNfcLease"] = reflect.TypeOf((*HttpNfcLease)(nil)).Elem()
+}
+
+type InventoryView struct {
+ ManagedObjectView
+}
+
+func init() {
+ t["InventoryView"] = reflect.TypeOf((*InventoryView)(nil)).Elem()
+}
+
+type IoFilterManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m IoFilterManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["IoFilterManager"] = reflect.TypeOf((*IoFilterManager)(nil)).Elem()
+}
+
+type IpPoolManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m IpPoolManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["IpPoolManager"] = reflect.TypeOf((*IpPoolManager)(nil)).Elem()
+}
+
+type IscsiManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m IscsiManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["IscsiManager"] = reflect.TypeOf((*IscsiManager)(nil)).Elem()
+}
+
+type LicenseAssignmentManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m LicenseAssignmentManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["LicenseAssignmentManager"] = reflect.TypeOf((*LicenseAssignmentManager)(nil)).Elem()
+}
+
+type LicenseManager struct {
+ Self types.ManagedObjectReference
+
+ Source types.BaseLicenseSource `mo:"source"`
+ SourceAvailable bool `mo:"sourceAvailable"`
+ Diagnostics *types.LicenseDiagnostics `mo:"diagnostics"`
+ FeatureInfo []types.LicenseFeatureInfo `mo:"featureInfo"`
+ LicensedEdition string `mo:"licensedEdition"`
+ Licenses []types.LicenseManagerLicenseInfo `mo:"licenses"`
+ LicenseAssignmentManager *types.ManagedObjectReference `mo:"licenseAssignmentManager"`
+ Evaluation types.LicenseManagerEvaluationInfo `mo:"evaluation"`
+}
+
+func (m LicenseManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["LicenseManager"] = reflect.TypeOf((*LicenseManager)(nil)).Elem()
+}
+
+type ListView struct {
+ ManagedObjectView
+}
+
+func init() {
+ t["ListView"] = reflect.TypeOf((*ListView)(nil)).Elem()
+}
+
+type LocalizationManager struct {
+ Self types.ManagedObjectReference
+
+ Catalog []types.LocalizationManagerMessageCatalog `mo:"catalog"`
+}
+
+func (m LocalizationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["LocalizationManager"] = reflect.TypeOf((*LocalizationManager)(nil)).Elem()
+}
+
+type ManagedEntity struct {
+ ExtensibleManagedObject
+
+ Parent *types.ManagedObjectReference `mo:"parent"`
+ CustomValue []types.BaseCustomFieldValue `mo:"customValue"`
+ OverallStatus types.ManagedEntityStatus `mo:"overallStatus"`
+ ConfigStatus types.ManagedEntityStatus `mo:"configStatus"`
+ ConfigIssue []types.BaseEvent `mo:"configIssue"`
+ EffectiveRole []int32 `mo:"effectiveRole"`
+ Permission []types.Permission `mo:"permission"`
+ Name string `mo:"name"`
+ DisabledMethod []string `mo:"disabledMethod"`
+ RecentTask []types.ManagedObjectReference `mo:"recentTask"`
+ DeclaredAlarmState []types.AlarmState `mo:"declaredAlarmState"`
+ TriggeredAlarmState []types.AlarmState `mo:"triggeredAlarmState"`
+ AlarmActionsEnabled *bool `mo:"alarmActionsEnabled"`
+ Tag []types.Tag `mo:"tag"`
+}
+
+func init() {
+ t["ManagedEntity"] = reflect.TypeOf((*ManagedEntity)(nil)).Elem()
+}
+
+type ManagedObjectView struct {
+ Self types.ManagedObjectReference
+
+ View []types.ManagedObjectReference `mo:"view"`
+}
+
+func (m ManagedObjectView) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ManagedObjectView"] = reflect.TypeOf((*ManagedObjectView)(nil)).Elem()
+}
+
+type MessageBusProxy struct {
+ Self types.ManagedObjectReference
+}
+
+func (m MessageBusProxy) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["MessageBusProxy"] = reflect.TypeOf((*MessageBusProxy)(nil)).Elem()
+}
+
+type Network struct {
+ ManagedEntity
+
+ Name string `mo:"name"`
+ Summary types.BaseNetworkSummary `mo:"summary"`
+ Host []types.ManagedObjectReference `mo:"host"`
+ Vm []types.ManagedObjectReference `mo:"vm"`
+}
+
+func (m *Network) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["Network"] = reflect.TypeOf((*Network)(nil)).Elem()
+}
+
+type OpaqueNetwork struct {
+ Network
+
+ Capability *types.OpaqueNetworkCapability `mo:"capability"`
+ ExtraConfig []types.BaseOptionValue `mo:"extraConfig"`
+}
+
+func init() {
+ t["OpaqueNetwork"] = reflect.TypeOf((*OpaqueNetwork)(nil)).Elem()
+}
+
+type OptionManager struct {
+ Self types.ManagedObjectReference
+
+ SupportedOption []types.OptionDef `mo:"supportedOption"`
+ Setting []types.BaseOptionValue `mo:"setting"`
+}
+
+func (m OptionManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["OptionManager"] = reflect.TypeOf((*OptionManager)(nil)).Elem()
+}
+
+type OverheadMemoryManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m OverheadMemoryManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["OverheadMemoryManager"] = reflect.TypeOf((*OverheadMemoryManager)(nil)).Elem()
+}
+
+type OvfManager struct {
+ Self types.ManagedObjectReference
+
+ OvfImportOption []types.OvfOptionInfo `mo:"ovfImportOption"`
+ OvfExportOption []types.OvfOptionInfo `mo:"ovfExportOption"`
+}
+
+func (m OvfManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["OvfManager"] = reflect.TypeOf((*OvfManager)(nil)).Elem()
+}
+
+type PerformanceManager struct {
+ Self types.ManagedObjectReference
+
+ Description types.PerformanceDescription `mo:"description"`
+ HistoricalInterval []types.PerfInterval `mo:"historicalInterval"`
+ PerfCounter []types.PerfCounterInfo `mo:"perfCounter"`
+}
+
+func (m PerformanceManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["PerformanceManager"] = reflect.TypeOf((*PerformanceManager)(nil)).Elem()
+}
+
+type Profile struct {
+ Self types.ManagedObjectReference
+
+ Config types.BaseProfileConfigInfo `mo:"config"`
+ Description *types.ProfileDescription `mo:"description"`
+ Name string `mo:"name"`
+ CreatedTime time.Time `mo:"createdTime"`
+ ModifiedTime time.Time `mo:"modifiedTime"`
+ Entity []types.ManagedObjectReference `mo:"entity"`
+ ComplianceStatus string `mo:"complianceStatus"`
+}
+
+func (m Profile) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["Profile"] = reflect.TypeOf((*Profile)(nil)).Elem()
+}
+
+type ProfileComplianceManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m ProfileComplianceManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ProfileComplianceManager"] = reflect.TypeOf((*ProfileComplianceManager)(nil)).Elem()
+}
+
+type ProfileManager struct {
+ Self types.ManagedObjectReference
+
+ Profile []types.ManagedObjectReference `mo:"profile"`
+}
+
+func (m ProfileManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ProfileManager"] = reflect.TypeOf((*ProfileManager)(nil)).Elem()
+}
+
+type PropertyCollector struct {
+ Self types.ManagedObjectReference
+
+ Filter []types.ManagedObjectReference `mo:"filter"`
+}
+
+func (m PropertyCollector) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["PropertyCollector"] = reflect.TypeOf((*PropertyCollector)(nil)).Elem()
+}
+
+type PropertyFilter struct {
+ Self types.ManagedObjectReference
+
+ Spec types.PropertyFilterSpec `mo:"spec"`
+ PartialUpdates bool `mo:"partialUpdates"`
+}
+
+func (m PropertyFilter) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["PropertyFilter"] = reflect.TypeOf((*PropertyFilter)(nil)).Elem()
+}
+
+type ResourcePlanningManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m ResourcePlanningManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ResourcePlanningManager"] = reflect.TypeOf((*ResourcePlanningManager)(nil)).Elem()
+}
+
+type ResourcePool struct {
+ ManagedEntity
+
+ Summary types.BaseResourcePoolSummary `mo:"summary"`
+ Runtime types.ResourcePoolRuntimeInfo `mo:"runtime"`
+ Owner types.ManagedObjectReference `mo:"owner"`
+ ResourcePool []types.ManagedObjectReference `mo:"resourcePool"`
+ Vm []types.ManagedObjectReference `mo:"vm"`
+ Config types.ResourceConfigSpec `mo:"config"`
+ ChildConfiguration []types.ResourceConfigSpec `mo:"childConfiguration"`
+}
+
+func (m *ResourcePool) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["ResourcePool"] = reflect.TypeOf((*ResourcePool)(nil)).Elem()
+}
+
+type ScheduledTask struct {
+ ExtensibleManagedObject
+
+ Info types.ScheduledTaskInfo `mo:"info"`
+}
+
+func init() {
+ t["ScheduledTask"] = reflect.TypeOf((*ScheduledTask)(nil)).Elem()
+}
+
+type ScheduledTaskManager struct {
+ Self types.ManagedObjectReference
+
+ ScheduledTask []types.ManagedObjectReference `mo:"scheduledTask"`
+ Description types.ScheduledTaskDescription `mo:"description"`
+}
+
+func (m ScheduledTaskManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ScheduledTaskManager"] = reflect.TypeOf((*ScheduledTaskManager)(nil)).Elem()
+}
+
+type SearchIndex struct {
+ Self types.ManagedObjectReference
+}
+
+func (m SearchIndex) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["SearchIndex"] = reflect.TypeOf((*SearchIndex)(nil)).Elem()
+}
+
+type ServiceInstance struct {
+ Self types.ManagedObjectReference
+
+ ServerClock time.Time `mo:"serverClock"`
+ Capability types.Capability `mo:"capability"`
+ Content types.ServiceContent `mo:"content"`
+}
+
+func (m ServiceInstance) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ServiceInstance"] = reflect.TypeOf((*ServiceInstance)(nil)).Elem()
+}
+
+type ServiceManager struct {
+ Self types.ManagedObjectReference
+
+ Service []types.ServiceManagerServiceInfo `mo:"service"`
+}
+
+func (m ServiceManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ServiceManager"] = reflect.TypeOf((*ServiceManager)(nil)).Elem()
+}
+
+type SessionManager struct {
+ Self types.ManagedObjectReference
+
+ SessionList []types.UserSession `mo:"sessionList"`
+ CurrentSession *types.UserSession `mo:"currentSession"`
+ Message *string `mo:"message"`
+ MessageLocaleList []string `mo:"messageLocaleList"`
+ SupportedLocaleList []string `mo:"supportedLocaleList"`
+ DefaultLocale string `mo:"defaultLocale"`
+}
+
+func (m SessionManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["SessionManager"] = reflect.TypeOf((*SessionManager)(nil)).Elem()
+}
+
+type SimpleCommand struct {
+ Self types.ManagedObjectReference
+
+ EncodingType types.SimpleCommandEncoding `mo:"encodingType"`
+ Entity types.ServiceManagerServiceInfo `mo:"entity"`
+}
+
+func (m SimpleCommand) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["SimpleCommand"] = reflect.TypeOf((*SimpleCommand)(nil)).Elem()
+}
+
+type StoragePod struct {
+ Folder
+
+ Summary *types.StoragePodSummary `mo:"summary"`
+ PodStorageDrsEntry *types.PodStorageDrsEntry `mo:"podStorageDrsEntry"`
+}
+
+func init() {
+ t["StoragePod"] = reflect.TypeOf((*StoragePod)(nil)).Elem()
+}
+
+type StorageResourceManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m StorageResourceManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["StorageResourceManager"] = reflect.TypeOf((*StorageResourceManager)(nil)).Elem()
+}
+
+type Task struct {
+ ExtensibleManagedObject
+
+ Info types.TaskInfo `mo:"info"`
+}
+
+func init() {
+ t["Task"] = reflect.TypeOf((*Task)(nil)).Elem()
+}
+
+type TaskHistoryCollector struct {
+ HistoryCollector
+
+ LatestPage []types.TaskInfo `mo:"latestPage"`
+}
+
+func init() {
+ t["TaskHistoryCollector"] = reflect.TypeOf((*TaskHistoryCollector)(nil)).Elem()
+}
+
+type TaskManager struct {
+ Self types.ManagedObjectReference
+
+ RecentTask []types.ManagedObjectReference `mo:"recentTask"`
+ Description types.TaskDescription `mo:"description"`
+ MaxCollector int32 `mo:"maxCollector"`
+}
+
+func (m TaskManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["TaskManager"] = reflect.TypeOf((*TaskManager)(nil)).Elem()
+}
+
+type UserDirectory struct {
+ Self types.ManagedObjectReference
+
+ DomainList []string `mo:"domainList"`
+}
+
+func (m UserDirectory) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["UserDirectory"] = reflect.TypeOf((*UserDirectory)(nil)).Elem()
+}
+
+type VStorageObjectManagerBase struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VStorageObjectManagerBase) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VStorageObjectManagerBase"] = reflect.TypeOf((*VStorageObjectManagerBase)(nil)).Elem()
+}
+
+type VcenterVStorageObjectManager struct {
+ VStorageObjectManagerBase
+}
+
+func init() {
+ t["VcenterVStorageObjectManager"] = reflect.TypeOf((*VcenterVStorageObjectManager)(nil)).Elem()
+}
+
+type View struct {
+ Self types.ManagedObjectReference
+}
+
+func (m View) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["View"] = reflect.TypeOf((*View)(nil)).Elem()
+}
+
+type ViewManager struct {
+ Self types.ManagedObjectReference
+
+ ViewList []types.ManagedObjectReference `mo:"viewList"`
+}
+
+func (m ViewManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["ViewManager"] = reflect.TypeOf((*ViewManager)(nil)).Elem()
+}
+
+type VirtualApp struct {
+ ResourcePool
+
+ ParentFolder *types.ManagedObjectReference `mo:"parentFolder"`
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Network []types.ManagedObjectReference `mo:"network"`
+ VAppConfig *types.VAppConfigInfo `mo:"vAppConfig"`
+ ParentVApp *types.ManagedObjectReference `mo:"parentVApp"`
+ ChildLink []types.VirtualAppLinkInfo `mo:"childLink"`
+}
+
+func init() {
+ t["VirtualApp"] = reflect.TypeOf((*VirtualApp)(nil)).Elem()
+}
+
+type VirtualDiskManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VirtualDiskManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VirtualDiskManager"] = reflect.TypeOf((*VirtualDiskManager)(nil)).Elem()
+}
+
+type VirtualMachine struct {
+ ManagedEntity
+
+ Capability types.VirtualMachineCapability `mo:"capability"`
+ Config *types.VirtualMachineConfigInfo `mo:"config"`
+ Layout *types.VirtualMachineFileLayout `mo:"layout"`
+ LayoutEx *types.VirtualMachineFileLayoutEx `mo:"layoutEx"`
+ Storage *types.VirtualMachineStorageInfo `mo:"storage"`
+ EnvironmentBrowser types.ManagedObjectReference `mo:"environmentBrowser"`
+ ResourcePool *types.ManagedObjectReference `mo:"resourcePool"`
+ ParentVApp *types.ManagedObjectReference `mo:"parentVApp"`
+ ResourceConfig *types.ResourceConfigSpec `mo:"resourceConfig"`
+ Runtime types.VirtualMachineRuntimeInfo `mo:"runtime"`
+ Guest *types.GuestInfo `mo:"guest"`
+ Summary types.VirtualMachineSummary `mo:"summary"`
+ Datastore []types.ManagedObjectReference `mo:"datastore"`
+ Network []types.ManagedObjectReference `mo:"network"`
+ Snapshot *types.VirtualMachineSnapshotInfo `mo:"snapshot"`
+ RootSnapshot []types.ManagedObjectReference `mo:"rootSnapshot"`
+ GuestHeartbeatStatus types.ManagedEntityStatus `mo:"guestHeartbeatStatus"`
+}
+
+func (m *VirtualMachine) Entity() *ManagedEntity {
+ return &m.ManagedEntity
+}
+
+func init() {
+ t["VirtualMachine"] = reflect.TypeOf((*VirtualMachine)(nil)).Elem()
+}
+
+type VirtualMachineCompatibilityChecker struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VirtualMachineCompatibilityChecker) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VirtualMachineCompatibilityChecker"] = reflect.TypeOf((*VirtualMachineCompatibilityChecker)(nil)).Elem()
+}
+
+type VirtualMachineProvisioningChecker struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VirtualMachineProvisioningChecker) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VirtualMachineProvisioningChecker"] = reflect.TypeOf((*VirtualMachineProvisioningChecker)(nil)).Elem()
+}
+
+type VirtualMachineSnapshot struct {
+ ExtensibleManagedObject
+
+ Config types.VirtualMachineConfigInfo `mo:"config"`
+ ChildSnapshot []types.ManagedObjectReference `mo:"childSnapshot"`
+ Vm types.ManagedObjectReference `mo:"vm"`
+}
+
+func init() {
+ t["VirtualMachineSnapshot"] = reflect.TypeOf((*VirtualMachineSnapshot)(nil)).Elem()
+}
+
+type VirtualizationManager struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VirtualizationManager) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VirtualizationManager"] = reflect.TypeOf((*VirtualizationManager)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitch struct {
+ DistributedVirtualSwitch
+}
+
+func init() {
+ t["VmwareDistributedVirtualSwitch"] = reflect.TypeOf((*VmwareDistributedVirtualSwitch)(nil)).Elem()
+}
+
+type VsanUpgradeSystem struct {
+ Self types.ManagedObjectReference
+}
+
+func (m VsanUpgradeSystem) Reference() types.ManagedObjectReference {
+ return m.Self
+}
+
+func init() {
+ t["VsanUpgradeSystem"] = reflect.TypeOf((*VsanUpgradeSystem)(nil)).Elem()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/reference.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/reference.go
new file mode 100644
index 00000000..465edbe8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/reference.go
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import "github.com/vmware/govmomi/vim25/types"
+
+// Reference is the interface that is implemented by all the managed objects
+// defined in this package. It specifies that these managed objects have a
+// function that returns the managed object reference to themselves.
+type Reference interface {
+ Reference() types.ManagedObjectReference
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/registry.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/registry.go
new file mode 100644
index 00000000..deacf508
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/registry.go
@@ -0,0 +1,21 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import "reflect"
+
+var t = map[string]reflect.Type{}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go
new file mode 100644
index 00000000..e7ffc32c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go
@@ -0,0 +1,174 @@
+/*
+Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import (
+ "context"
+ "reflect"
+
+ "github.com/vmware/govmomi/vim25/methods"
+ "github.com/vmware/govmomi/vim25/soap"
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+func ignoreMissingProperty(ref types.ManagedObjectReference, p types.MissingProperty) bool {
+ switch ref.Type {
+ case "VirtualMachine":
+ switch p.Path {
+ case "environmentBrowser":
+ // See https://github.com/vmware/govmomi/pull/242
+ return true
+ case "alarmActionsEnabled":
+ // Seen with vApp child VM
+ return true
+ }
+ }
+
+ return false
+}
+
+// ObjectContentToType loads an ObjectContent value into the value it
+// represents. If the ObjectContent value has a non-empty 'MissingSet' field,
+// it returns the first fault it finds there as error. If the 'MissingSet'
+// field is empty, it returns a pointer to a reflect.Value. It handles contain
+// nested properties, such as 'guest.ipAddress' or 'config.hardware'.
+func ObjectContentToType(o types.ObjectContent) (interface{}, error) {
+ // Expect no properties in the missing set
+ for _, p := range o.MissingSet {
+ if ignoreMissingProperty(o.Obj, p) {
+ continue
+ }
+
+ return nil, soap.WrapVimFault(p.Fault.Fault)
+ }
+
+ ti := typeInfoForType(o.Obj.Type)
+ v, err := ti.LoadFromObjectContent(o)
+ if err != nil {
+ return nil, err
+ }
+
+ return v.Elem().Interface(), nil
+}
+
+// LoadRetrievePropertiesResponse converts the response of a call to
+// RetrieveProperties to one or more managed objects.
+func LoadRetrievePropertiesResponse(res *types.RetrievePropertiesResponse, dst interface{}) error {
+ rt := reflect.TypeOf(dst)
+ if rt == nil || rt.Kind() != reflect.Ptr {
+ panic("need pointer")
+ }
+
+ rv := reflect.ValueOf(dst).Elem()
+ if !rv.CanSet() {
+ panic("cannot set dst")
+ }
+
+ isSlice := false
+ switch rt.Elem().Kind() {
+ case reflect.Struct:
+ case reflect.Slice:
+ isSlice = true
+ default:
+ panic("unexpected type")
+ }
+
+ if isSlice {
+ for _, p := range res.Returnval {
+ v, err := ObjectContentToType(p)
+ if err != nil {
+ return err
+ }
+
+ vt := reflect.TypeOf(v)
+
+ if !rv.Type().AssignableTo(vt) {
+ // For example: dst is []ManagedEntity, res is []HostSystem
+ if field, ok := vt.FieldByName(rt.Elem().Elem().Name()); ok && field.Anonymous {
+ rv.Set(reflect.Append(rv, reflect.ValueOf(v).FieldByIndex(field.Index)))
+ continue
+ }
+ }
+
+ rv.Set(reflect.Append(rv, reflect.ValueOf(v)))
+ }
+ } else {
+ switch len(res.Returnval) {
+ case 0:
+ case 1:
+ v, err := ObjectContentToType(res.Returnval[0])
+ if err != nil {
+ return err
+ }
+
+ vt := reflect.TypeOf(v)
+
+ if !rv.Type().AssignableTo(vt) {
+ // For example: dst is ComputeResource, res is ClusterComputeResource
+ if field, ok := vt.FieldByName(rt.Elem().Name()); ok && field.Anonymous {
+ rv.Set(reflect.ValueOf(v).FieldByIndex(field.Index))
+ return nil
+ }
+ }
+
+ rv.Set(reflect.ValueOf(v))
+ default:
+ // If dst is not a slice, expect to receive 0 or 1 results
+ panic("more than 1 result")
+ }
+ }
+
+ return nil
+}
+
+// RetrievePropertiesForRequest calls the RetrieveProperties method with the
+// specified request and decodes the response struct into the value pointed to
+// by dst.
+func RetrievePropertiesForRequest(ctx context.Context, r soap.RoundTripper, req types.RetrieveProperties, dst interface{}) error {
+ res, err := methods.RetrieveProperties(ctx, r, &req)
+ if err != nil {
+ return err
+ }
+
+ return LoadRetrievePropertiesResponse(res, dst)
+}
+
+// RetrieveProperties retrieves the properties of the managed object specified
+// as obj and decodes the response struct into the value pointed to by dst.
+func RetrieveProperties(ctx context.Context, r soap.RoundTripper, pc, obj types.ManagedObjectReference, dst interface{}) error {
+ req := types.RetrieveProperties{
+ This: pc,
+ SpecSet: []types.PropertyFilterSpec{
+ {
+ ObjectSet: []types.ObjectSpec{
+ {
+ Obj: obj,
+ Skip: types.NewBool(false),
+ },
+ },
+ PropSet: []types.PropertySpec{
+ {
+ All: types.NewBool(true),
+ Type: obj.Type,
+ },
+ },
+ },
+ },
+ }
+
+ return RetrievePropertiesForRequest(ctx, r, req, dst)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go
new file mode 100644
index 00000000..0c9e5b03
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go
@@ -0,0 +1,247 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 mo
+
+import (
+ "fmt"
+ "reflect"
+ "regexp"
+ "strings"
+ "sync"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type typeInfo struct {
+ typ reflect.Type
+
+ // Field indices of "Self" field.
+ self []int
+
+ // Map property names to field indices.
+ props map[string][]int
+}
+
+var typeInfoLock sync.RWMutex
+var typeInfoMap = make(map[string]*typeInfo)
+
+func typeInfoForType(tname string) *typeInfo {
+ typeInfoLock.RLock()
+ ti, ok := typeInfoMap[tname]
+ typeInfoLock.RUnlock()
+
+ if ok {
+ return ti
+ }
+
+ // Create new typeInfo for type.
+ if typ, ok := t[tname]; !ok {
+ panic("unknown type: " + tname)
+ } else {
+ // Multiple routines may race to set it, but the result is the same.
+ typeInfoLock.Lock()
+ ti = newTypeInfo(typ)
+ typeInfoMap[tname] = ti
+ typeInfoLock.Unlock()
+ }
+
+ return ti
+}
+
+func newTypeInfo(typ reflect.Type) *typeInfo {
+ t := typeInfo{
+ typ: typ,
+ props: make(map[string][]int),
+ }
+
+ t.build(typ, "", []int{})
+
+ return &t
+}
+
+var managedObjectRefType = reflect.TypeOf((*types.ManagedObjectReference)(nil)).Elem()
+
+func buildName(fn string, f reflect.StructField) string {
+ if fn != "" {
+ fn += "."
+ }
+
+ motag := f.Tag.Get("mo")
+ if motag != "" {
+ return fn + motag
+ }
+
+ xmltag := f.Tag.Get("xml")
+ if xmltag != "" {
+ tokens := strings.Split(xmltag, ",")
+ if tokens[0] != "" {
+ return fn + tokens[0]
+ }
+ }
+
+ return ""
+}
+
+func (t *typeInfo) build(typ reflect.Type, fn string, fi []int) {
+ if typ.Kind() == reflect.Ptr {
+ typ = typ.Elem()
+ }
+
+ if typ.Kind() != reflect.Struct {
+ panic("need struct")
+ }
+
+ for i := 0; i < typ.NumField(); i++ {
+ f := typ.Field(i)
+ ftyp := f.Type
+
+ // Copy field indices so they can be passed along.
+ fic := make([]int, len(fi)+1)
+ copy(fic, fi)
+ fic[len(fi)] = i
+
+ // Recurse into embedded field.
+ if f.Anonymous {
+ t.build(ftyp, fn, fic)
+ continue
+ }
+
+ // Top level type has a "Self" field.
+ if f.Name == "Self" && ftyp == managedObjectRefType {
+ t.self = fic
+ continue
+ }
+
+ fnc := buildName(fn, f)
+ if fnc == "" {
+ continue
+ }
+
+ t.props[fnc] = fic
+
+ // Dereference pointer.
+ if ftyp.Kind() == reflect.Ptr {
+ ftyp = ftyp.Elem()
+ }
+
+ // Slices are not addressable by `foo.bar.qux`.
+ if ftyp.Kind() == reflect.Slice {
+ continue
+ }
+
+ // Skip the managed reference type.
+ if ftyp == managedObjectRefType {
+ continue
+ }
+
+ // Recurse into structs.
+ if ftyp.Kind() == reflect.Struct {
+ t.build(ftyp, fnc, fic)
+ }
+ }
+}
+
+// assignValue assignes a value 'pv' to the struct pointed to by 'val', given a
+// slice of field indices. It recurses into the struct until it finds the field
+// specified by the indices. It creates new values for pointer types where
+// needed.
+func assignValue(val reflect.Value, fi []int, pv reflect.Value) {
+ // Create new value if necessary.
+ if val.Kind() == reflect.Ptr {
+ if val.IsNil() {
+ val.Set(reflect.New(val.Type().Elem()))
+ }
+
+ val = val.Elem()
+ }
+
+ rv := val.Field(fi[0])
+ fi = fi[1:]
+ if len(fi) == 0 {
+ rt := rv.Type()
+ pt := pv.Type()
+
+ // If type is a pointer, create new instance of type.
+ if rt.Kind() == reflect.Ptr {
+ rv.Set(reflect.New(rt.Elem()))
+ rv = rv.Elem()
+ rt = rv.Type()
+ }
+
+ // If type is an interface, check if pv implements it.
+ if rt.Kind() == reflect.Interface && !pt.Implements(rt) {
+ // Check if pointer to pv implements it.
+ if reflect.PtrTo(pt).Implements(rt) {
+ npv := reflect.New(pt)
+ npv.Elem().Set(pv)
+ pv = npv
+ pt = pv.Type()
+ } else {
+ panic(fmt.Sprintf("type %s doesn't implement %s", pt.Name(), rt.Name()))
+ }
+ }
+
+ if pt.AssignableTo(rt) {
+ rv.Set(pv)
+ } else if rt.ConvertibleTo(pt) {
+ rv.Set(pv.Convert(rt))
+ } else {
+ panic(fmt.Sprintf("cannot assign %s (%s) to %s (%s)", rt.Name(), rt.Kind(), pt.Name(), pt.Kind()))
+ }
+
+ return
+ }
+
+ assignValue(rv, fi, pv)
+}
+
+var arrayOfRegexp = regexp.MustCompile("ArrayOf(.*)$")
+
+func anyTypeToValue(t interface{}) reflect.Value {
+ rt := reflect.TypeOf(t)
+ rv := reflect.ValueOf(t)
+
+ // Dereference if ArrayOfXYZ type
+ m := arrayOfRegexp.FindStringSubmatch(rt.Name())
+ if len(m) > 0 {
+ // ArrayOfXYZ type has single field named XYZ
+ rv = rv.FieldByName(m[1])
+ if !rv.IsValid() {
+ panic(fmt.Sprintf("expected %s type to have field %s", m[0], m[1]))
+ }
+ }
+
+ return rv
+}
+
+// LoadObjectFromContent loads properties from the 'PropSet' field in the
+// specified ObjectContent value into the value it represents, which is
+// returned as a reflect.Value.
+func (t *typeInfo) LoadFromObjectContent(o types.ObjectContent) (reflect.Value, error) {
+ v := reflect.New(t.typ)
+ assignValue(v, t.self, reflect.ValueOf(o.Obj))
+
+ for _, p := range o.PropSet {
+ rv, ok := t.props[p.Name]
+ if !ok {
+ continue
+ }
+ assignValue(v, rv, anyTypeToValue(p.Val))
+ }
+
+ return v, nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go
new file mode 100644
index 00000000..24cb3d59
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go
@@ -0,0 +1,73 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+import "sync"
+
+type Aggregator struct {
+ downstream Sinker
+ upstream chan (<-chan Report)
+
+ done chan struct{}
+ w sync.WaitGroup
+}
+
+func NewAggregator(s Sinker) *Aggregator {
+ a := &Aggregator{
+ downstream: s,
+ upstream: make(chan (<-chan Report)),
+
+ done: make(chan struct{}),
+ }
+
+ a.w.Add(1)
+ go a.loop()
+
+ return a
+}
+
+func (a *Aggregator) loop() {
+ defer a.w.Done()
+
+ dch := a.downstream.Sink()
+ defer close(dch)
+
+ for {
+ select {
+ case uch := <-a.upstream:
+ // Drain upstream channel
+ for e := range uch {
+ dch <- e
+ }
+ case <-a.done:
+ return
+ }
+ }
+}
+
+func (a *Aggregator) Sink() chan<- Report {
+ ch := make(chan Report)
+ a.upstream <- ch
+ return ch
+}
+
+// Done marks the aggregator as done. No more calls to Sink() may be made and
+// the downstream progress report channel will be closed when Done() returns.
+func (a *Aggregator) Done() {
+ close(a.done)
+ a.w.Wait()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/doc.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/doc.go
new file mode 100644
index 00000000..a0458dd5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/doc.go
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+/*
+The progress package contains functionality to deal with progress reporting.
+The functionality is built to serve progress reporting for infrastructure
+operations when talking the vSphere API, but is generic enough to be used
+elsewhere.
+
+At the core of this progress reporting API lies the Sinker interface. This
+interface is implemented by any object that can act as a sink for progress
+reports. Callers of the Sink() function receives a send-only channel for
+progress reports. They are responsible for closing the channel when done.
+This semantic makes it easy to keep track of multiple progress report channels;
+they are only created when Sink() is called and assumed closed when any
+function that receives a Sinker parameter returns.
+*/
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go
new file mode 100644
index 00000000..4f842ad9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go
@@ -0,0 +1,54 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+import "fmt"
+
+type prefixedReport struct {
+ Report
+ prefix string
+}
+
+func (r prefixedReport) Detail() string {
+ if d := r.Report.Detail(); d != "" {
+ return fmt.Sprintf("%s: %s", r.prefix, d)
+ }
+
+ return r.prefix
+}
+
+func prefixLoop(upstream <-chan Report, downstream chan<- Report, prefix string) {
+ defer close(downstream)
+
+ for r := range upstream {
+ downstream <- prefixedReport{
+ Report: r,
+ prefix: prefix,
+ }
+ }
+}
+
+func Prefix(s Sinker, prefix string) Sinker {
+ fn := func() chan<- Report {
+ upstream := make(chan Report)
+ downstream := s.Sink()
+ go prefixLoop(upstream, downstream, prefix)
+ return upstream
+ }
+
+ return SinkFunc(fn)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/reader.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/reader.go
new file mode 100644
index 00000000..a981cb4e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/reader.go
@@ -0,0 +1,177 @@
+/*
+Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+import (
+ "container/list"
+ "fmt"
+ "io"
+ "sync/atomic"
+ "time"
+)
+
+type readerReport struct {
+ t time.Time
+
+ pos int64
+ size int64
+ bps *uint64
+
+ err error
+}
+
+func (r readerReport) Percentage() float32 {
+ return 100.0 * float32(r.pos) / float32(r.size)
+}
+
+func (r readerReport) Detail() string {
+ const (
+ KiB = 1024
+ MiB = 1024 * KiB
+ GiB = 1024 * MiB
+ )
+
+ // Use the reader's bps field, so this report returns an up-to-date number.
+ //
+ // For example: if there hasn't been progress for the last 5 seconds, the
+ // most recent report should return "0B/s".
+ //
+ bps := atomic.LoadUint64(r.bps)
+
+ switch {
+ case bps >= GiB:
+ return fmt.Sprintf("%.1fGiB/s", float32(bps)/float32(GiB))
+ case bps >= MiB:
+ return fmt.Sprintf("%.1fMiB/s", float32(bps)/float32(MiB))
+ case bps >= KiB:
+ return fmt.Sprintf("%.1fKiB/s", float32(bps)/float32(KiB))
+ default:
+ return fmt.Sprintf("%dB/s", bps)
+ }
+}
+
+func (p readerReport) Error() error {
+ return p.err
+}
+
+// reader wraps an io.Reader and sends a progress report over a channel for
+// every read it handles.
+type reader struct {
+ r io.Reader
+
+ pos int64
+ size int64
+
+ bps uint64
+
+ ch chan<- Report
+}
+
+func NewReader(s Sinker, r io.Reader, size int64) *reader {
+ pr := reader{
+ r: r,
+
+ size: size,
+ }
+
+ // Reports must be sent downstream and to the bps computation loop.
+ pr.ch = Tee(s, newBpsLoop(&pr.bps)).Sink()
+
+ return &pr
+}
+
+// Read calls the Read function on the underlying io.Reader. Additionally,
+// every read causes a progress report to be sent to the progress reader's
+// underlying channel.
+func (r *reader) Read(b []byte) (int, error) {
+ n, err := r.r.Read(b)
+ if err != nil {
+ return n, err
+ }
+
+ r.pos += int64(n)
+ q := readerReport{
+ t: time.Now(),
+ pos: r.pos,
+ size: r.size,
+ bps: &r.bps,
+ }
+
+ r.ch <- q
+
+ return n, err
+}
+
+// Done marks the progress reader as done, optionally including an error in the
+// progress report. After sending it, the underlying channel is closed.
+func (r *reader) Done(err error) {
+ q := readerReport{
+ t: time.Now(),
+ pos: r.pos,
+ size: r.size,
+ bps: &r.bps,
+ err: err,
+ }
+
+ r.ch <- q
+ close(r.ch)
+}
+
+// newBpsLoop returns a sink that monitors and stores throughput.
+func newBpsLoop(dst *uint64) SinkFunc {
+ fn := func() chan<- Report {
+ sink := make(chan Report)
+ go bpsLoop(sink, dst)
+ return sink
+ }
+
+ return fn
+}
+
+func bpsLoop(ch <-chan Report, dst *uint64) {
+ l := list.New()
+
+ for {
+ var tch <-chan time.Time
+
+ // Setup timer for front of list to become stale.
+ if e := l.Front(); e != nil {
+ dt := time.Second - time.Now().Sub(e.Value.(readerReport).t)
+ tch = time.After(dt)
+ }
+
+ select {
+ case q, ok := <-ch:
+ if !ok {
+ return
+ }
+
+ l.PushBack(q)
+ case <-tch:
+ l.Remove(l.Front())
+ }
+
+ // Compute new bps
+ if l.Len() == 0 {
+ atomic.StoreUint64(dst, 0)
+ } else {
+ f := l.Front().Value.(readerReport)
+ b := l.Back().Value.(readerReport)
+ atomic.StoreUint64(dst, uint64(b.pos-f.pos))
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/report.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/report.go
new file mode 100644
index 00000000..bf80263f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/report.go
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+// Report defines the interface for types that can deliver progress reports.
+// Examples include uploads/downloads in the http client and the task info
+// field in the task managed object.
+type Report interface {
+ Percentage() float32
+ Detail() string
+ Error() error
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/scale.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/scale.go
new file mode 100644
index 00000000..98808392
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/scale.go
@@ -0,0 +1,76 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+type scaledReport struct {
+ Report
+ n int
+ i int
+}
+
+func (r scaledReport) Percentage() float32 {
+ b := 100 * float32(r.i) / float32(r.n)
+ return b + (r.Report.Percentage() / float32(r.n))
+}
+
+type scaleOne struct {
+ s Sinker
+ n int
+ i int
+}
+
+func (s scaleOne) Sink() chan<- Report {
+ upstream := make(chan Report)
+ downstream := s.s.Sink()
+ go s.loop(upstream, downstream)
+ return upstream
+}
+
+func (s scaleOne) loop(upstream <-chan Report, downstream chan<- Report) {
+ defer close(downstream)
+
+ for r := range upstream {
+ downstream <- scaledReport{
+ Report: r,
+ n: s.n,
+ i: s.i,
+ }
+ }
+}
+
+type scaleMany struct {
+ s Sinker
+ n int
+ i int
+}
+
+func Scale(s Sinker, n int) Sinker {
+ return &scaleMany{
+ s: s,
+ n: n,
+ }
+}
+
+func (s *scaleMany) Sink() chan<- Report {
+ if s.i == s.n {
+ s.n++
+ }
+
+ ch := scaleOne{s: s.s, n: s.n, i: s.i}.Sink()
+ s.i++
+ return ch
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go
new file mode 100644
index 00000000..0bd35a47
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go
@@ -0,0 +1,33 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+// Sinker defines what is expected of a type that can act as a sink for
+// progress reports. The semantics are as follows. If you call Sink(), you are
+// responsible for closing the returned channel. Closing this channel means
+// that the related task is done, or resulted in error.
+type Sinker interface {
+ Sink() chan<- Report
+}
+
+// SinkFunc defines a function that returns a progress report channel.
+type SinkFunc func() chan<- Report
+
+// Sink makes the SinkFunc implement the Sinker interface.
+func (fn SinkFunc) Sink() chan<- Report {
+ return fn()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/tee.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/tee.go
new file mode 100644
index 00000000..ab460784
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/progress/tee.go
@@ -0,0 +1,41 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 progress
+
+// Tee works like Unix tee; it forwards all progress reports it receives to the
+// specified sinks
+func Tee(s1, s2 Sinker) Sinker {
+ fn := func() chan<- Report {
+ d1 := s1.Sink()
+ d2 := s2.Sink()
+ u := make(chan Report)
+ go tee(u, d1, d2)
+ return u
+ }
+
+ return SinkFunc(fn)
+}
+
+func tee(u <-chan Report, d1, d2 chan<- Report) {
+ defer close(d1)
+ defer close(d2)
+
+ for r := range u {
+ d1 <- r
+ d2 <- r
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/retry.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/retry.go
new file mode 100644
index 00000000..b8807eef
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/retry.go
@@ -0,0 +1,105 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 vim25
+
+import (
+ "context"
+ "net"
+ "net/url"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/soap"
+)
+
+type RetryFunc func(err error) (retry bool, delay time.Duration)
+
+// TemporaryNetworkError returns a RetryFunc that retries up to a maximum of n
+// times, only if the error returned by the RoundTrip function is a temporary
+// network error (for example: a connect timeout).
+func TemporaryNetworkError(n int) RetryFunc {
+ return func(err error) (retry bool, delay time.Duration) {
+ var nerr net.Error
+ var ok bool
+
+ // Never retry if this is not a network error.
+ switch rerr := err.(type) {
+ case *url.Error:
+ if nerr, ok = rerr.Err.(net.Error); !ok {
+ return false, 0
+ }
+ case net.Error:
+ nerr = rerr
+ default:
+ return false, 0
+ }
+
+ if !nerr.Temporary() {
+ return false, 0
+ }
+
+ // Don't retry if we're out of tries.
+ if n--; n <= 0 {
+ return false, 0
+ }
+
+ return true, 0
+ }
+}
+
+type retry struct {
+ roundTripper soap.RoundTripper
+
+ // fn is a custom function that is called when an error occurs.
+ // It returns whether or not to retry, and if so, how long to
+ // delay before retrying.
+ fn RetryFunc
+}
+
+// Retry wraps the specified soap.RoundTripper and invokes the
+// specified RetryFunc. The RetryFunc returns whether or not to
+// retry the call, and if so, how long to wait before retrying. If
+// the result of this function is to not retry, the original error
+// is returned from the RoundTrip function.
+func Retry(roundTripper soap.RoundTripper, fn RetryFunc) soap.RoundTripper {
+ r := &retry{
+ roundTripper: roundTripper,
+ fn: fn,
+ }
+
+ return r
+}
+
+func (r *retry) RoundTrip(ctx context.Context, req, res soap.HasFault) error {
+ var err error
+
+ for {
+ err = r.roundTripper.RoundTrip(ctx, req, res)
+ if err == nil {
+ break
+ }
+
+ // Invoke retry function to see if another attempt should be made.
+ if retry, delay := r.fn(err); retry {
+ time.Sleep(delay)
+ continue
+ }
+
+ break
+ }
+
+ return err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/client.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/client.go
new file mode 100644
index 00000000..52092969
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/client.go
@@ -0,0 +1,741 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 soap
+
+import (
+ "bufio"
+ "bytes"
+ "context"
+ "crypto/sha1"
+ "crypto/tls"
+ "crypto/x509"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "net"
+ "net/http"
+ "net/http/cookiejar"
+ "net/url"
+ "os"
+ "path/filepath"
+ "regexp"
+ "strings"
+ "sync"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/progress"
+ "github.com/vmware/govmomi/vim25/types"
+ "github.com/vmware/govmomi/vim25/xml"
+)
+
+type HasFault interface {
+ Fault() *Fault
+}
+
+type RoundTripper interface {
+ RoundTrip(ctx context.Context, req, res HasFault) error
+}
+
+const (
+ DefaultVimNamespace = "urn:vim25"
+ DefaultVimVersion = "6.5"
+ DefaultMinVimVersion = "5.5"
+)
+
+type header struct {
+ Cookie string `xml:"vcSessionCookie,omitempty"`
+}
+
+type Client struct {
+ http.Client
+
+ u *url.URL
+ k bool // Named after curl's -k flag
+ d *debugContainer
+ t *http.Transport
+ p *url.URL
+
+ hostsMu sync.Mutex
+ hosts map[string]string
+
+ Namespace string // Vim namespace
+ Version string // Vim version
+ UserAgent string
+
+ header *header
+}
+
+var schemeMatch = regexp.MustCompile(`^\w+://`)
+
+// ParseURL is wrapper around url.Parse, where Scheme defaults to "https" and Path defaults to "/sdk"
+func ParseURL(s string) (*url.URL, error) {
+ var err error
+ var u *url.URL
+
+ if s != "" {
+ // Default the scheme to https
+ if !schemeMatch.MatchString(s) {
+ s = "https://" + s
+ }
+
+ u, err = url.Parse(s)
+ if err != nil {
+ return nil, err
+ }
+
+ // Default the path to /sdk
+ if u.Path == "" {
+ u.Path = "/sdk"
+ }
+
+ if u.User == nil {
+ u.User = url.UserPassword("", "")
+ }
+ }
+
+ return u, nil
+}
+
+func NewClient(u *url.URL, insecure bool) *Client {
+ c := Client{
+ u: u,
+ k: insecure,
+ d: newDebug(),
+ }
+
+ // Initialize http.RoundTripper on client, so we can customize it below
+ if t, ok := http.DefaultTransport.(*http.Transport); ok {
+ c.t = &http.Transport{
+ Proxy: t.Proxy,
+ DialContext: t.DialContext,
+ MaxIdleConns: t.MaxIdleConns,
+ IdleConnTimeout: t.IdleConnTimeout,
+ TLSHandshakeTimeout: t.TLSHandshakeTimeout,
+ ExpectContinueTimeout: t.ExpectContinueTimeout,
+ }
+ } else {
+ c.t = new(http.Transport)
+ }
+
+ c.hosts = make(map[string]string)
+ c.t.TLSClientConfig = &tls.Config{InsecureSkipVerify: c.k}
+ // Don't bother setting DialTLS if InsecureSkipVerify=true
+ if !c.k {
+ c.t.DialTLS = c.dialTLS
+ }
+
+ c.Client.Transport = c.t
+ c.Client.Jar, _ = cookiejar.New(nil)
+
+ // Remove user information from a copy of the URL
+ c.u = c.URL()
+ c.u.User = nil
+
+ c.Namespace = DefaultVimNamespace
+ c.Version = DefaultVimVersion
+
+ return &c
+}
+
+// NewServiceClient creates a NewClient with the given URL.Path and namespace.
+func (c *Client) NewServiceClient(path string, namespace string) *Client {
+ u := c.URL()
+ u.Path = path
+
+ client := NewClient(u, c.k)
+
+ client.Namespace = namespace
+
+ // Copy the cookies
+ client.Client.Jar.SetCookies(u, c.Client.Jar.Cookies(u))
+
+ // Set SOAP Header cookie
+ for _, cookie := range client.Jar.Cookies(u) {
+ if cookie.Name == "vmware_soap_session" {
+ client.header = &header{
+ Cookie: cookie.Value,
+ }
+
+ break
+ }
+ }
+
+ return client
+}
+
+// SetRootCAs defines the set of root certificate authorities
+// that clients use when verifying server certificates.
+// By default TLS uses the host's root CA set.
+//
+// See: http.Client.Transport.TLSClientConfig.RootCAs
+func (c *Client) SetRootCAs(file string) error {
+ pool := x509.NewCertPool()
+
+ for _, name := range filepath.SplitList(file) {
+ pem, err := ioutil.ReadFile(name)
+ if err != nil {
+ return err
+ }
+
+ pool.AppendCertsFromPEM(pem)
+ }
+
+ c.t.TLSClientConfig.RootCAs = pool
+
+ return nil
+}
+
+// Add default https port if missing
+func hostAddr(addr string) string {
+ _, port := splitHostPort(addr)
+ if port == "" {
+ return addr + ":443"
+ }
+ return addr
+}
+
+// SetThumbprint sets the known certificate thumbprint for the given host.
+// A custom DialTLS function is used to support thumbprint based verification.
+// We first try tls.Dial with the default tls.Config, only falling back to thumbprint verification
+// if it fails with an x509.UnknownAuthorityError or x509.HostnameError
+//
+// See: http.Client.Transport.DialTLS
+func (c *Client) SetThumbprint(host string, thumbprint string) {
+ host = hostAddr(host)
+
+ c.hostsMu.Lock()
+ if thumbprint == "" {
+ delete(c.hosts, host)
+ } else {
+ c.hosts[host] = thumbprint
+ }
+ c.hostsMu.Unlock()
+}
+
+// Thumbprint returns the certificate thumbprint for the given host if known to this client.
+func (c *Client) Thumbprint(host string) string {
+ host = hostAddr(host)
+ c.hostsMu.Lock()
+ defer c.hostsMu.Unlock()
+ return c.hosts[host]
+}
+
+// LoadThumbprints from file with the give name.
+// If name is empty or name does not exist this function will return nil.
+func (c *Client) LoadThumbprints(file string) error {
+ if file == "" {
+ return nil
+ }
+
+ for _, name := range filepath.SplitList(file) {
+ err := c.loadThumbprints(name)
+ if err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (c *Client) loadThumbprints(name string) error {
+ f, err := os.Open(name)
+ if err != nil {
+ if os.IsNotExist(err) {
+ return nil
+ }
+ return err
+ }
+
+ scanner := bufio.NewScanner(f)
+
+ for scanner.Scan() {
+ e := strings.SplitN(scanner.Text(), " ", 2)
+ if len(e) != 2 {
+ continue
+ }
+
+ c.SetThumbprint(e[0], e[1])
+ }
+
+ _ = f.Close()
+
+ return scanner.Err()
+}
+
+// ThumbprintSHA1 returns the thumbprint of the given cert in the same format used by the SDK and Client.SetThumbprint.
+//
+// See: SSLVerifyFault.Thumbprint, SessionManagerGenericServiceTicket.Thumbprint, HostConnectSpec.SslThumbprint
+func ThumbprintSHA1(cert *x509.Certificate) string {
+ sum := sha1.Sum(cert.Raw)
+ hex := make([]string, len(sum))
+ for i, b := range sum {
+ hex[i] = fmt.Sprintf("%02X", b)
+ }
+ return strings.Join(hex, ":")
+}
+
+func (c *Client) dialTLS(network string, addr string) (net.Conn, error) {
+ // Would be nice if there was a tls.Config.Verify func,
+ // see tls.clientHandshakeState.doFullHandshake
+
+ conn, err := tls.Dial(network, addr, c.t.TLSClientConfig)
+
+ if err == nil {
+ return conn, nil
+ }
+
+ switch err.(type) {
+ case x509.UnknownAuthorityError:
+ case x509.HostnameError:
+ default:
+ return nil, err
+ }
+
+ thumbprint := c.Thumbprint(addr)
+ if thumbprint == "" {
+ return nil, err
+ }
+
+ config := &tls.Config{InsecureSkipVerify: true}
+ conn, err = tls.Dial(network, addr, config)
+ if err != nil {
+ return nil, err
+ }
+
+ cert := conn.ConnectionState().PeerCertificates[0]
+ peer := ThumbprintSHA1(cert)
+ if thumbprint != peer {
+ _ = conn.Close()
+
+ return nil, fmt.Errorf("Host %q thumbprint does not match %q", addr, thumbprint)
+ }
+
+ return conn, nil
+}
+
+// splitHostPort is similar to net.SplitHostPort,
+// but rather than return error if there isn't a ':port',
+// return an empty string for the port.
+func splitHostPort(host string) (string, string) {
+ ix := strings.LastIndex(host, ":")
+
+ if ix <= strings.LastIndex(host, "]") {
+ return host, ""
+ }
+
+ name := host[:ix]
+ port := host[ix+1:]
+
+ return name, port
+}
+
+const sdkTunnel = "sdkTunnel:8089"
+
+func (c *Client) SetCertificate(cert tls.Certificate) {
+ t := c.Client.Transport.(*http.Transport)
+
+ // Extension certificate
+ t.TLSClientConfig.Certificates = []tls.Certificate{cert}
+
+ // Proxy to vCenter host on port 80
+ host, _ := splitHostPort(c.u.Host)
+
+ // Should be no reason to change the default port other than testing
+ key := "GOVMOMI_TUNNEL_PROXY_PORT"
+
+ port := c.URL().Query().Get(key)
+ if port == "" {
+ port = os.Getenv(key)
+ }
+
+ if port != "" {
+ host += ":" + port
+ }
+
+ c.p = &url.URL{
+ Scheme: "http",
+ Host: host,
+ }
+ t.Proxy = func(r *http.Request) (*url.URL, error) {
+ // Only sdk requests should be proxied
+ if r.URL.Path == "/sdk" {
+ return c.p, nil
+ }
+ return http.ProxyFromEnvironment(r)
+ }
+
+ // Rewrite url Host to use the sdk tunnel, required for a certificate request.
+ c.u.Host = sdkTunnel
+}
+
+func (c *Client) URL() *url.URL {
+ urlCopy := *c.u
+ return &urlCopy
+}
+
+type marshaledClient struct {
+ Cookies []*http.Cookie
+ URL *url.URL
+ Insecure bool
+}
+
+func (c *Client) MarshalJSON() ([]byte, error) {
+ m := marshaledClient{
+ Cookies: c.Jar.Cookies(c.u),
+ URL: c.u,
+ Insecure: c.k,
+ }
+
+ return json.Marshal(m)
+}
+
+func (c *Client) UnmarshalJSON(b []byte) error {
+ var m marshaledClient
+
+ err := json.Unmarshal(b, &m)
+ if err != nil {
+ return err
+ }
+
+ *c = *NewClient(m.URL, m.Insecure)
+ c.Jar.SetCookies(m.URL, m.Cookies)
+
+ return nil
+}
+
+func (c *Client) do(ctx context.Context, req *http.Request) (*http.Response, error) {
+ if nil == ctx || nil == ctx.Done() { // ctx.Done() is for ctx
+ return c.Client.Do(req)
+ }
+
+ return c.Client.Do(req.WithContext(ctx))
+}
+
+func (c *Client) RoundTrip(ctx context.Context, reqBody, resBody HasFault) error {
+ var err error
+
+ reqEnv := Envelope{Body: reqBody}
+ resEnv := Envelope{Body: resBody}
+
+ reqEnv.Header = c.header
+
+ // Create debugging context for this round trip
+ d := c.d.newRoundTrip()
+ if d.enabled() {
+ defer d.done()
+ }
+
+ b, err := xml.Marshal(reqEnv)
+ if err != nil {
+ panic(err)
+ }
+
+ rawReqBody := io.MultiReader(strings.NewReader(xml.Header), bytes.NewReader(b))
+ req, err := http.NewRequest("POST", c.u.String(), rawReqBody)
+ if err != nil {
+ panic(err)
+ }
+
+ req.Header.Set(`Content-Type`, `text/xml; charset="utf-8"`)
+ soapAction := fmt.Sprintf("%s/%s", c.Namespace, c.Version)
+ req.Header.Set(`SOAPAction`, soapAction)
+ if c.UserAgent != "" {
+ req.Header.Set(`User-Agent`, c.UserAgent)
+ }
+
+ if d.enabled() {
+ d.debugRequest(req)
+ }
+
+ tstart := time.Now()
+ res, err := c.do(ctx, req)
+ tstop := time.Now()
+
+ if d.enabled() {
+ d.logf("%6dms (%T)", tstop.Sub(tstart)/time.Millisecond, resBody)
+ }
+
+ if err != nil {
+ return err
+ }
+
+ if d.enabled() {
+ d.debugResponse(res)
+ }
+
+ // Close response regardless of what happens next
+ defer res.Body.Close()
+
+ switch res.StatusCode {
+ case http.StatusOK:
+ // OK
+ case http.StatusInternalServerError:
+ // Error, but typically includes a body explaining the error
+ default:
+ return errors.New(res.Status)
+ }
+
+ dec := xml.NewDecoder(res.Body)
+ dec.TypeFunc = types.TypeFunc()
+ err = dec.Decode(&resEnv)
+ if err != nil {
+ return err
+ }
+
+ if f := resBody.Fault(); f != nil {
+ return WrapSoapFault(f)
+ }
+
+ return err
+}
+
+func (c *Client) CloseIdleConnections() {
+ c.t.CloseIdleConnections()
+}
+
+// ParseURL wraps url.Parse to rewrite the URL.Host field
+// In the case of VM guest uploads or NFC lease URLs, a Host
+// field with a value of "*" is rewritten to the Client's URL.Host.
+func (c *Client) ParseURL(urlStr string) (*url.URL, error) {
+ u, err := url.Parse(urlStr)
+ if err != nil {
+ return nil, err
+ }
+
+ host, _ := splitHostPort(u.Host)
+ if host == "*" {
+ // Also use Client's port, to support port forwarding
+ u.Host = c.URL().Host
+ }
+
+ return u, nil
+}
+
+type Upload struct {
+ Type string
+ Method string
+ ContentLength int64
+ Headers map[string]string
+ Ticket *http.Cookie
+ Progress progress.Sinker
+}
+
+var DefaultUpload = Upload{
+ Type: "application/octet-stream",
+ Method: "PUT",
+}
+
+// Upload PUTs the local file to the given URL
+func (c *Client) Upload(f io.Reader, u *url.URL, param *Upload) error {
+ var err error
+
+ if param.Progress != nil {
+ pr := progress.NewReader(param.Progress, f, param.ContentLength)
+ f = pr
+
+ // Mark progress reader as done when returning from this function.
+ defer func() {
+ pr.Done(err)
+ }()
+ }
+
+ req, err := http.NewRequest(param.Method, u.String(), f)
+ if err != nil {
+ return err
+ }
+
+ req.ContentLength = param.ContentLength
+ req.Header.Set("Content-Type", param.Type)
+
+ for k, v := range param.Headers {
+ req.Header.Add(k, v)
+ }
+
+ if param.Ticket != nil {
+ req.AddCookie(param.Ticket)
+ }
+
+ res, err := c.Client.Do(req)
+ if err != nil {
+ return err
+ }
+
+ switch res.StatusCode {
+ case http.StatusOK:
+ case http.StatusCreated:
+ default:
+ err = errors.New(res.Status)
+ }
+
+ return err
+}
+
+// UploadFile PUTs the local file to the given URL
+func (c *Client) UploadFile(file string, u *url.URL, param *Upload) error {
+ if param == nil {
+ p := DefaultUpload // Copy since we set ContentLength
+ param = &p
+ }
+
+ s, err := os.Stat(file)
+ if err != nil {
+ return err
+ }
+
+ f, err := os.Open(file)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+
+ param.ContentLength = s.Size()
+
+ return c.Upload(f, u, param)
+}
+
+type Download struct {
+ Method string
+ Headers map[string]string
+ Ticket *http.Cookie
+ Progress progress.Sinker
+}
+
+var DefaultDownload = Download{
+ Method: "GET",
+}
+
+// DownloadRequest wraps http.Client.Do, returning the http.Response without checking its StatusCode
+func (c *Client) DownloadRequest(u *url.URL, param *Download) (*http.Response, error) {
+ req, err := http.NewRequest(param.Method, u.String(), nil)
+ if err != nil {
+ return nil, err
+ }
+
+ for k, v := range param.Headers {
+ req.Header.Add(k, v)
+ }
+
+ if param.Ticket != nil {
+ req.AddCookie(param.Ticket)
+ }
+
+ return c.Client.Do(req)
+}
+
+// directoryReader wraps an io.ReadCloser to support streaming download
+// of a guest directory, stops reading once it sees the stream trailer.
+// This is only useful when guest tools is the Go toolbox.
+// The trailer is required since TransferFromGuest requires a Content-Length,
+// which toolbox doesn't know ahead of time as the gzip'd tarball never touches the disk.
+// We opted to wrap this here for now rather than guest.FileManager so
+// DownloadFile can be also be used as-is to handle this use case.
+type directoryReader struct {
+ io.ReadCloser
+}
+
+var (
+ gzipHeader = []byte{0x1f, 0x8b, 0x08} // rfc1952 {ID1, ID2, CM}
+ gzipHeaderLen = len(gzipHeader)
+)
+
+func (r *directoryReader) Read(buf []byte) (int, error) {
+ nr, err := r.ReadCloser.Read(buf)
+
+ // Stop reading if the last N bytes are the gzipTrailer
+ if nr >= gzipHeaderLen {
+ if bytes.Equal(buf[nr-gzipHeaderLen:nr], gzipHeader) {
+ nr -= gzipHeaderLen
+ err = io.EOF
+ }
+ }
+
+ return nr, err
+}
+
+// Download GETs the remote file from the given URL
+func (c *Client) Download(u *url.URL, param *Download) (io.ReadCloser, int64, error) {
+ res, err := c.DownloadRequest(u, param)
+ if err != nil {
+ return nil, 0, err
+ }
+
+ switch res.StatusCode {
+ case http.StatusOK:
+ default:
+ err = errors.New(res.Status)
+ }
+
+ if err != nil {
+ return nil, 0, err
+ }
+
+ r := res.Body
+
+ if strings.HasSuffix(u.Path, "/") {
+ r = &directoryReader{ReadCloser: r}
+ }
+
+ return r, res.ContentLength, nil
+}
+
+// DownloadFile GETs the given URL to a local file
+func (c *Client) DownloadFile(file string, u *url.URL, param *Download) error {
+ var err error
+ if param == nil {
+ param = &DefaultDownload
+ }
+
+ rc, contentLength, err := c.Download(u, param)
+ if err != nil {
+ return err
+ }
+ defer rc.Close()
+
+ var r io.Reader = rc
+
+ fh, err := os.Create(file)
+ if err != nil {
+ return err
+ }
+ defer fh.Close()
+
+ if param.Progress != nil {
+ pr := progress.NewReader(param.Progress, r, contentLength)
+ r = pr
+
+ // Mark progress reader as done when returning from this function.
+ defer func() {
+ pr.Done(err)
+ }()
+ }
+
+ _, err = io.Copy(fh, r)
+ if err != nil {
+ return err
+ }
+
+ // Assign error before returning so that it gets picked up by the deferred
+ // function marking the progress reader as done.
+ err = fh.Close()
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/debug.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/debug.go
new file mode 100644
index 00000000..63518abc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/debug.go
@@ -0,0 +1,149 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 soap
+
+import (
+ "fmt"
+ "io"
+ "net/http"
+ "net/http/httputil"
+ "sync/atomic"
+ "time"
+
+ "github.com/vmware/govmomi/vim25/debug"
+)
+
+// teeReader wraps io.TeeReader and patches through the Close() function.
+type teeReader struct {
+ io.Reader
+ io.Closer
+}
+
+func newTeeReader(rc io.ReadCloser, w io.Writer) io.ReadCloser {
+ return teeReader{
+ Reader: io.TeeReader(rc, w),
+ Closer: rc,
+ }
+}
+
+// debugRoundTrip contains state and logic needed to debug a single round trip.
+type debugRoundTrip struct {
+ cn uint64 // Client number
+ rn uint64 // Request number
+ log io.WriteCloser // Request log
+ cs []io.Closer // Files that need closing when done
+}
+
+func (d *debugRoundTrip) logf(format string, a ...interface{}) {
+ now := time.Now().Format("2006-01-02T15-04-05.000000000")
+ fmt.Fprintf(d.log, "%s - %04d: ", now, d.rn)
+ fmt.Fprintf(d.log, format, a...)
+ fmt.Fprintf(d.log, "\n")
+}
+
+func (d *debugRoundTrip) enabled() bool {
+ return d != nil
+}
+
+func (d *debugRoundTrip) done() {
+ for _, c := range d.cs {
+ c.Close()
+ }
+}
+
+func (d *debugRoundTrip) newFile(suffix string) io.WriteCloser {
+ return debug.NewFile(fmt.Sprintf("%d-%04d.%s", d.cn, d.rn, suffix))
+}
+
+func (d *debugRoundTrip) debugRequest(req *http.Request) {
+ if d == nil {
+ return
+ }
+
+ var wc io.WriteCloser
+
+ // Capture headers
+ wc = d.newFile("req.headers")
+ b, _ := httputil.DumpRequest(req, false)
+ wc.Write(b)
+ wc.Close()
+
+ // Capture body
+ wc = d.newFile("req.xml")
+ req.Body = newTeeReader(req.Body, wc)
+
+ // Delay closing until marked done
+ d.cs = append(d.cs, wc)
+}
+
+func (d *debugRoundTrip) debugResponse(res *http.Response) {
+ if d == nil {
+ return
+ }
+
+ var wc io.WriteCloser
+
+ // Capture headers
+ wc = d.newFile("res.headers")
+ b, _ := httputil.DumpResponse(res, false)
+ wc.Write(b)
+ wc.Close()
+
+ // Capture body
+ wc = d.newFile("res.xml")
+ res.Body = newTeeReader(res.Body, wc)
+
+ // Delay closing until marked done
+ d.cs = append(d.cs, wc)
+}
+
+var cn uint64 // Client counter
+
+// debugContainer wraps the debugging state for a single client.
+type debugContainer struct {
+ cn uint64 // Client number
+ rn uint64 // Request counter
+ log io.WriteCloser // Request log
+}
+
+func newDebug() *debugContainer {
+ d := debugContainer{
+ cn: atomic.AddUint64(&cn, 1),
+ rn: 0,
+ }
+
+ if !debug.Enabled() {
+ return nil
+ }
+
+ d.log = debug.NewFile(fmt.Sprintf("%d-client.log", d.cn))
+ return &d
+}
+
+func (d *debugContainer) newRoundTrip() *debugRoundTrip {
+ if d == nil {
+ return nil
+ }
+
+ drt := debugRoundTrip{
+ cn: d.cn,
+ rn: atomic.AddUint64(&d.rn, 1),
+ log: d.log,
+ }
+
+ return &drt
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/error.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/error.go
new file mode 100644
index 00000000..d8920852
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/error.go
@@ -0,0 +1,115 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 soap
+
+import (
+ "fmt"
+ "reflect"
+
+ "github.com/vmware/govmomi/vim25/types"
+)
+
+type regularError struct {
+ err error
+}
+
+func (r regularError) Error() string {
+ return r.err.Error()
+}
+
+type soapFaultError struct {
+ fault *Fault
+}
+
+func (s soapFaultError) Error() string {
+ msg := s.fault.String
+
+ if msg == "" {
+ msg = reflect.TypeOf(s.fault.Detail.Fault).Name()
+ }
+
+ return fmt.Sprintf("%s: %s", s.fault.Code, msg)
+}
+
+type vimFaultError struct {
+ fault types.BaseMethodFault
+}
+
+func (v vimFaultError) Error() string {
+ typ := reflect.TypeOf(v.fault)
+ for typ.Kind() == reflect.Ptr {
+ typ = typ.Elem()
+ }
+
+ return typ.Name()
+}
+
+func (v vimFaultError) Fault() types.BaseMethodFault {
+ return v.fault
+}
+
+func Wrap(err error) error {
+ switch err.(type) {
+ case regularError:
+ return err
+ case soapFaultError:
+ return err
+ case vimFaultError:
+ return err
+ }
+
+ return WrapRegularError(err)
+}
+
+func WrapRegularError(err error) error {
+ return regularError{err}
+}
+
+func IsRegularError(err error) bool {
+ _, ok := err.(regularError)
+ return ok
+}
+
+func ToRegularError(err error) error {
+ return err.(regularError).err
+}
+
+func WrapSoapFault(f *Fault) error {
+ return soapFaultError{f}
+}
+
+func IsSoapFault(err error) bool {
+ _, ok := err.(soapFaultError)
+ return ok
+}
+
+func ToSoapFault(err error) *Fault {
+ return err.(soapFaultError).fault
+}
+
+func WrapVimFault(v types.BaseMethodFault) error {
+ return vimFaultError{v}
+}
+
+func IsVimFault(err error) bool {
+ _, ok := err.(vimFaultError)
+ return ok
+}
+
+func ToVimFault(err error) types.BaseMethodFault {
+ return err.(vimFaultError).fault
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/soap.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/soap.go
new file mode 100644
index 00000000..a8baa012
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/soap/soap.go
@@ -0,0 +1,41 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 soap
+
+import (
+ "github.com/vmware/govmomi/vim25/types"
+ "github.com/vmware/govmomi/vim25/xml"
+)
+
+type Envelope struct {
+ XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"`
+ Header interface{} `xml:",omitempty"`
+ Body interface{}
+}
+
+type Fault struct {
+ XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault"`
+ Code string `xml:"faultcode"`
+ String string `xml:"faultstring"`
+ Detail struct {
+ Fault types.AnyType `xml:",any,typeattr"`
+ } `xml:"detail"`
+}
+
+func (f *Fault) VimFault() types.AnyType {
+ return f.Detail.Fault
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/base.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/base.go
new file mode 100644
index 00000000..3bb12b74
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/base.go
@@ -0,0 +1,19 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 types
+
+type AnyType interface{}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/enum.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/enum.go
new file mode 100644
index 00000000..02f7f3cb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/enum.go
@@ -0,0 +1,4466 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import "reflect"
+
+type ActionParameter string
+
+const (
+ ActionParameterTargetName = ActionParameter("targetName")
+ ActionParameterAlarmName = ActionParameter("alarmName")
+ ActionParameterOldStatus = ActionParameter("oldStatus")
+ ActionParameterNewStatus = ActionParameter("newStatus")
+ ActionParameterTriggeringSummary = ActionParameter("triggeringSummary")
+ ActionParameterDeclaringSummary = ActionParameter("declaringSummary")
+ ActionParameterEventDescription = ActionParameter("eventDescription")
+ ActionParameterTarget = ActionParameter("target")
+ ActionParameterAlarm = ActionParameter("alarm")
+)
+
+func init() {
+ t["ActionParameter"] = reflect.TypeOf((*ActionParameter)(nil)).Elem()
+}
+
+type ActionType string
+
+const (
+ ActionTypeMigrationV1 = ActionType("MigrationV1")
+ ActionTypeVmPowerV1 = ActionType("VmPowerV1")
+ ActionTypeHostPowerV1 = ActionType("HostPowerV1")
+ ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1")
+ ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1")
+ ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1")
+ ActionTypePlacementV1 = ActionType("PlacementV1")
+ ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1")
+)
+
+func init() {
+ t["ActionType"] = reflect.TypeOf((*ActionType)(nil)).Elem()
+}
+
+type AffinityType string
+
+const (
+ AffinityTypeMemory = AffinityType("memory")
+ AffinityTypeCpu = AffinityType("cpu")
+)
+
+func init() {
+ t["AffinityType"] = reflect.TypeOf((*AffinityType)(nil)).Elem()
+}
+
+type AgentInstallFailedReason string
+
+const (
+ AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice")
+ AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed")
+ AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning")
+ AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable")
+ AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout")
+ AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed")
+ AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed")
+ AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout")
+ AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError")
+)
+
+func init() {
+ t["AgentInstallFailedReason"] = reflect.TypeOf((*AgentInstallFailedReason)(nil)).Elem()
+}
+
+type ArrayUpdateOperation string
+
+const (
+ ArrayUpdateOperationAdd = ArrayUpdateOperation("add")
+ ArrayUpdateOperationRemove = ArrayUpdateOperation("remove")
+ ArrayUpdateOperationEdit = ArrayUpdateOperation("edit")
+)
+
+func init() {
+ t["ArrayUpdateOperation"] = reflect.TypeOf((*ArrayUpdateOperation)(nil)).Elem()
+}
+
+type AutoStartAction string
+
+const (
+ AutoStartActionNone = AutoStartAction("none")
+ AutoStartActionSystemDefault = AutoStartAction("systemDefault")
+ AutoStartActionPowerOn = AutoStartAction("powerOn")
+ AutoStartActionPowerOff = AutoStartAction("powerOff")
+ AutoStartActionGuestShutdown = AutoStartAction("guestShutdown")
+ AutoStartActionSuspend = AutoStartAction("suspend")
+)
+
+func init() {
+ t["AutoStartAction"] = reflect.TypeOf((*AutoStartAction)(nil)).Elem()
+}
+
+type AutoStartWaitHeartbeatSetting string
+
+const (
+ AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes")
+ AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no")
+ AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault")
+)
+
+func init() {
+ t["AutoStartWaitHeartbeatSetting"] = reflect.TypeOf((*AutoStartWaitHeartbeatSetting)(nil)).Elem()
+}
+
+type BaseConfigInfoDiskFileBackingInfoProvisioningType string
+
+const (
+ BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin")
+ BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick")
+ BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick")
+)
+
+func init() {
+ t["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfoProvisioningType)(nil)).Elem()
+}
+
+type BatchResultResult string
+
+const (
+ BatchResultResultSuccess = BatchResultResult("success")
+ BatchResultResultFail = BatchResultResult("fail")
+)
+
+func init() {
+ t["BatchResultResult"] = reflect.TypeOf((*BatchResultResult)(nil)).Elem()
+}
+
+type CannotEnableVmcpForClusterReason string
+
+const (
+ CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled")
+ CannotEnableVmcpForClusterReasonIncompatibleHostVersion = CannotEnableVmcpForClusterReason("IncompatibleHostVersion")
+)
+
+func init() {
+ t["CannotEnableVmcpForClusterReason"] = reflect.TypeOf((*CannotEnableVmcpForClusterReason)(nil)).Elem()
+}
+
+type CannotMoveFaultToleranceVmMoveType string
+
+const (
+ CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool")
+ CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster")
+)
+
+func init() {
+ t["CannotMoveFaultToleranceVmMoveType"] = reflect.TypeOf((*CannotMoveFaultToleranceVmMoveType)(nil)).Elem()
+}
+
+type CannotPowerOffVmInClusterOperation string
+
+const (
+ CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend")
+ CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff")
+ CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown")
+ CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend")
+)
+
+func init() {
+ t["CannotPowerOffVmInClusterOperation"] = reflect.TypeOf((*CannotPowerOffVmInClusterOperation)(nil)).Elem()
+}
+
+type CannotUseNetworkReason string
+
+const (
+ CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported")
+ CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies")
+ CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor")
+ CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType")
+)
+
+func init() {
+ t["CannotUseNetworkReason"] = reflect.TypeOf((*CannotUseNetworkReason)(nil)).Elem()
+}
+
+type CheckTestType string
+
+const (
+ CheckTestTypeSourceTests = CheckTestType("sourceTests")
+ CheckTestTypeHostTests = CheckTestType("hostTests")
+ CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests")
+ CheckTestTypeDatastoreTests = CheckTestType("datastoreTests")
+ CheckTestTypeNetworkTests = CheckTestType("networkTests")
+)
+
+func init() {
+ t["CheckTestType"] = reflect.TypeOf((*CheckTestType)(nil)).Elem()
+}
+
+type ClusterDasAamNodeStateDasState string
+
+const (
+ ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized")
+ ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized")
+ ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring")
+ ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring")
+ ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running")
+ ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error")
+ ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown")
+ ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed")
+)
+
+func init() {
+ t["ClusterDasAamNodeStateDasState"] = reflect.TypeOf((*ClusterDasAamNodeStateDasState)(nil)).Elem()
+}
+
+type ClusterDasConfigInfoHBDatastoreCandidate string
+
+const (
+ ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs")
+ ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs")
+ ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference")
+)
+
+func init() {
+ t["ClusterDasConfigInfoHBDatastoreCandidate"] = reflect.TypeOf((*ClusterDasConfigInfoHBDatastoreCandidate)(nil)).Elem()
+}
+
+type ClusterDasConfigInfoServiceState string
+
+const (
+ ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled")
+ ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled")
+)
+
+func init() {
+ t["ClusterDasConfigInfoServiceState"] = reflect.TypeOf((*ClusterDasConfigInfoServiceState)(nil)).Elem()
+}
+
+type ClusterDasConfigInfoVmMonitoringState string
+
+const (
+ ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled")
+ ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly")
+ ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring")
+)
+
+func init() {
+ t["ClusterDasConfigInfoVmMonitoringState"] = reflect.TypeOf((*ClusterDasConfigInfoVmMonitoringState)(nil)).Elem()
+}
+
+type ClusterDasFdmAvailabilityState string
+
+const (
+ ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized")
+ ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election")
+ ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master")
+ ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster")
+ ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster")
+ ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated")
+ ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown")
+ ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError")
+ ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError")
+ ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable")
+)
+
+func init() {
+ t["ClusterDasFdmAvailabilityState"] = reflect.TypeOf((*ClusterDasFdmAvailabilityState)(nil)).Elem()
+}
+
+type ClusterDasVmSettingsIsolationResponse string
+
+const (
+ ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none")
+ ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff")
+ ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown")
+ ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse")
+)
+
+func init() {
+ t["ClusterDasVmSettingsIsolationResponse"] = reflect.TypeOf((*ClusterDasVmSettingsIsolationResponse)(nil)).Elem()
+}
+
+type ClusterDasVmSettingsRestartPriority string
+
+const (
+ ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled")
+ ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest")
+ ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low")
+ ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium")
+ ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high")
+ ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest")
+ ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority")
+)
+
+func init() {
+ t["ClusterDasVmSettingsRestartPriority"] = reflect.TypeOf((*ClusterDasVmSettingsRestartPriority)(nil)).Elem()
+}
+
+type ClusterHostInfraUpdateHaModeActionOperationType string
+
+const (
+ ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine")
+ ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine")
+ ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance")
+)
+
+func init() {
+ t["ClusterHostInfraUpdateHaModeActionOperationType"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeActionOperationType)(nil)).Elem()
+}
+
+type ClusterInfraUpdateHaConfigInfoBehaviorType string
+
+const (
+ ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual")
+ ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated")
+)
+
+func init() {
+ t["ClusterInfraUpdateHaConfigInfoBehaviorType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoBehaviorType)(nil)).Elem()
+}
+
+type ClusterInfraUpdateHaConfigInfoRemediationType string
+
+const (
+ ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode")
+ ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode")
+)
+
+func init() {
+ t["ClusterInfraUpdateHaConfigInfoRemediationType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoRemediationType)(nil)).Elem()
+}
+
+type ClusterPowerOnVmOption string
+
+const (
+ ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel")
+ ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources")
+)
+
+func init() {
+ t["ClusterPowerOnVmOption"] = reflect.TypeOf((*ClusterPowerOnVmOption)(nil)).Elem()
+}
+
+type ClusterProfileServiceType string
+
+const (
+ ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS")
+ ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA")
+ ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM")
+ ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT")
+)
+
+func init() {
+ t["ClusterProfileServiceType"] = reflect.TypeOf((*ClusterProfileServiceType)(nil)).Elem()
+}
+
+type ClusterVmComponentProtectionSettingsStorageVmReaction string
+
+const (
+ ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled")
+ ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning")
+ ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative")
+ ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive")
+ ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault")
+)
+
+func init() {
+ t["ClusterVmComponentProtectionSettingsStorageVmReaction"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsStorageVmReaction)(nil)).Elem()
+}
+
+type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string
+
+const (
+ ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none")
+ ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset")
+ ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault")
+)
+
+func init() {
+ t["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared)(nil)).Elem()
+}
+
+type ClusterVmReadinessReadyCondition string
+
+const (
+ ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none")
+ ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn")
+ ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen")
+ ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen")
+ ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault")
+)
+
+func init() {
+ t["ClusterVmReadinessReadyCondition"] = reflect.TypeOf((*ClusterVmReadinessReadyCondition)(nil)).Elem()
+}
+
+type ComplianceResultStatus string
+
+const (
+ ComplianceResultStatusCompliant = ComplianceResultStatus("compliant")
+ ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant")
+ ComplianceResultStatusUnknown = ComplianceResultStatus("unknown")
+)
+
+func init() {
+ t["ComplianceResultStatus"] = reflect.TypeOf((*ComplianceResultStatus)(nil)).Elem()
+}
+
+type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string
+
+const (
+ ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed")
+ ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed")
+ ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown")
+)
+
+func init() {
+ t["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState)(nil)).Elem()
+}
+
+type ConfigSpecOperation string
+
+const (
+ ConfigSpecOperationAdd = ConfigSpecOperation("add")
+ ConfigSpecOperationEdit = ConfigSpecOperation("edit")
+ ConfigSpecOperationRemove = ConfigSpecOperation("remove")
+)
+
+func init() {
+ t["ConfigSpecOperation"] = reflect.TypeOf((*ConfigSpecOperation)(nil)).Elem()
+}
+
+type CustomizationLicenseDataMode string
+
+const (
+ CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer")
+ CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat")
+)
+
+func init() {
+ t["CustomizationLicenseDataMode"] = reflect.TypeOf((*CustomizationLicenseDataMode)(nil)).Elem()
+}
+
+type CustomizationNetBIOSMode string
+
+const (
+ CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp")
+ CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS")
+ CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS")
+)
+
+func init() {
+ t["CustomizationNetBIOSMode"] = reflect.TypeOf((*CustomizationNetBIOSMode)(nil)).Elem()
+}
+
+type CustomizationSysprepRebootOption string
+
+const (
+ CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot")
+ CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot")
+ CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown")
+)
+
+func init() {
+ t["CustomizationSysprepRebootOption"] = reflect.TypeOf((*CustomizationSysprepRebootOption)(nil)).Elem()
+}
+
+type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string
+
+const (
+ DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs")
+ DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics")
+ DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable")
+ DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort")
+)
+
+func init() {
+ t["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonNetwork)(nil)).Elem()
+}
+
+type DVPortStatusVmDirectPathGen2InactiveReasonOther string
+
+const (
+ DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost")
+ DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee")
+)
+
+func init() {
+ t["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
+}
+
+type DasConfigFaultDasConfigFaultReason string
+
+const (
+ DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration")
+ DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration")
+ DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges")
+ DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable")
+ DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other")
+ DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured")
+ DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed")
+ DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost")
+ DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration")
+)
+
+func init() {
+ t["DasConfigFaultDasConfigFaultReason"] = reflect.TypeOf((*DasConfigFaultDasConfigFaultReason)(nil)).Elem()
+}
+
+type DasVmPriority string
+
+const (
+ DasVmPriorityDisabled = DasVmPriority("disabled")
+ DasVmPriorityLow = DasVmPriority("low")
+ DasVmPriorityMedium = DasVmPriority("medium")
+ DasVmPriorityHigh = DasVmPriority("high")
+)
+
+func init() {
+ t["DasVmPriority"] = reflect.TypeOf((*DasVmPriority)(nil)).Elem()
+}
+
+type DatastoreAccessible string
+
+const (
+ DatastoreAccessibleTrue = DatastoreAccessible("True")
+ DatastoreAccessibleFalse = DatastoreAccessible("False")
+)
+
+func init() {
+ t["DatastoreAccessible"] = reflect.TypeOf((*DatastoreAccessible)(nil)).Elem()
+}
+
+type DatastoreSummaryMaintenanceModeState string
+
+const (
+ DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal")
+ DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance")
+ DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance")
+)
+
+func init() {
+ t["DatastoreSummaryMaintenanceModeState"] = reflect.TypeOf((*DatastoreSummaryMaintenanceModeState)(nil)).Elem()
+}
+
+type DayOfWeek string
+
+const (
+ DayOfWeekSunday = DayOfWeek("sunday")
+ DayOfWeekMonday = DayOfWeek("monday")
+ DayOfWeekTuesday = DayOfWeek("tuesday")
+ DayOfWeekWednesday = DayOfWeek("wednesday")
+ DayOfWeekThursday = DayOfWeek("thursday")
+ DayOfWeekFriday = DayOfWeek("friday")
+ DayOfWeekSaturday = DayOfWeek("saturday")
+)
+
+func init() {
+ t["DayOfWeek"] = reflect.TypeOf((*DayOfWeek)(nil)).Elem()
+}
+
+type DeviceNotSupportedReason string
+
+const (
+ DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host")
+ DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest")
+)
+
+func init() {
+ t["DeviceNotSupportedReason"] = reflect.TypeOf((*DeviceNotSupportedReason)(nil)).Elem()
+}
+
+type DiagnosticManagerLogCreator string
+
+const (
+ DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd")
+ DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa")
+ DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd")
+ DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd")
+ DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install")
+ DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient")
+ DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog")
+)
+
+func init() {
+ t["DiagnosticManagerLogCreator"] = reflect.TypeOf((*DiagnosticManagerLogCreator)(nil)).Elem()
+}
+
+type DiagnosticManagerLogFormat string
+
+const (
+ DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain")
+)
+
+func init() {
+ t["DiagnosticManagerLogFormat"] = reflect.TypeOf((*DiagnosticManagerLogFormat)(nil)).Elem()
+}
+
+type DiagnosticPartitionStorageType string
+
+const (
+ DiagnosticPartitionStorageTypeDirectAttached = DiagnosticPartitionStorageType("directAttached")
+ DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached")
+)
+
+func init() {
+ t["DiagnosticPartitionStorageType"] = reflect.TypeOf((*DiagnosticPartitionStorageType)(nil)).Elem()
+}
+
+type DiagnosticPartitionType string
+
+const (
+ DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost")
+ DiagnosticPartitionTypeMultiHost = DiagnosticPartitionType("multiHost")
+)
+
+func init() {
+ t["DiagnosticPartitionType"] = reflect.TypeOf((*DiagnosticPartitionType)(nil)).Elem()
+}
+
+type DisallowedChangeByServiceDisallowedChange string
+
+const (
+ DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk")
+)
+
+func init() {
+ t["DisallowedChangeByServiceDisallowedChange"] = reflect.TypeOf((*DisallowedChangeByServiceDisallowedChange)(nil)).Elem()
+}
+
+type DistributedVirtualPortgroupMetaTagName string
+
+const (
+ DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName")
+ DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName")
+ DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex")
+)
+
+func init() {
+ t["DistributedVirtualPortgroupMetaTagName"] = reflect.TypeOf((*DistributedVirtualPortgroupMetaTagName)(nil)).Elem()
+}
+
+type DistributedVirtualPortgroupPortgroupType string
+
+const (
+ DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding")
+ DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding")
+ DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral")
+)
+
+func init() {
+ t["DistributedVirtualPortgroupPortgroupType"] = reflect.TypeOf((*DistributedVirtualPortgroupPortgroupType)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostInfrastructureTrafficClass string
+
+const (
+ DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan")
+ DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp")
+)
+
+func init() {
+ t["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = reflect.TypeOf((*DistributedVirtualSwitchHostInfrastructureTrafficClass)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberHostComponentState string
+
+const (
+ DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up")
+ DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending")
+ DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync")
+ DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning")
+ DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected")
+ DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down")
+)
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberHostComponentState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostComponentState)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchNetworkResourceControlVersion string
+
+const (
+ DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2")
+ DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3")
+)
+
+func init() {
+ t["DistributedVirtualSwitchNetworkResourceControlVersion"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkResourceControlVersion)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchNicTeamingPolicyMode string
+
+const (
+ DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip")
+ DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac")
+ DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid")
+ DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit")
+ DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased")
+)
+
+func init() {
+ t["DistributedVirtualSwitchNicTeamingPolicyMode"] = reflect.TypeOf((*DistributedVirtualSwitchNicTeamingPolicyMode)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchPortConnecteeConnecteeType string
+
+const (
+ DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic")
+ DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic")
+ DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic")
+ DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic")
+)
+
+func init() {
+ t["DistributedVirtualSwitchPortConnecteeConnecteeType"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnecteeConnecteeType)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchProductSpecOperationType string
+
+const (
+ DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall")
+ DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade")
+ DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade")
+ DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade")
+ DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo")
+)
+
+func init() {
+ t["DistributedVirtualSwitchProductSpecOperationType"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpecOperationType)(nil)).Elem()
+}
+
+type DpmBehavior string
+
+const (
+ DpmBehaviorManual = DpmBehavior("manual")
+ DpmBehaviorAutomated = DpmBehavior("automated")
+)
+
+func init() {
+ t["DpmBehavior"] = reflect.TypeOf((*DpmBehavior)(nil)).Elem()
+}
+
+type DrsBehavior string
+
+const (
+ DrsBehaviorManual = DrsBehavior("manual")
+ DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated")
+ DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated")
+)
+
+func init() {
+ t["DrsBehavior"] = reflect.TypeOf((*DrsBehavior)(nil)).Elem()
+}
+
+type DrsInjectorWorkloadCorrelationState string
+
+const (
+ DrsInjectorWorkloadCorrelationStateCorrelated = DrsInjectorWorkloadCorrelationState("Correlated")
+ DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated")
+)
+
+func init() {
+ t["DrsInjectorWorkloadCorrelationState"] = reflect.TypeOf((*DrsInjectorWorkloadCorrelationState)(nil)).Elem()
+}
+
+type DrsRecommendationReasonCode string
+
+const (
+ DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg")
+ DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg")
+ DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin")
+ DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin")
+ DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint")
+)
+
+func init() {
+ t["DrsRecommendationReasonCode"] = reflect.TypeOf((*DrsRecommendationReasonCode)(nil)).Elem()
+}
+
+type DvsEventPortBlockState string
+
+const (
+ DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset")
+ DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked")
+ DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked")
+ DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown")
+)
+
+func init() {
+ t["DvsEventPortBlockState"] = reflect.TypeOf((*DvsEventPortBlockState)(nil)).Elem()
+}
+
+type DvsFilterOnFailure string
+
+const (
+ DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen")
+ DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed")
+)
+
+func init() {
+ t["DvsFilterOnFailure"] = reflect.TypeOf((*DvsFilterOnFailure)(nil)).Elem()
+}
+
+type DvsNetworkRuleDirectionType string
+
+const (
+ DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets")
+ DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets")
+ DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both")
+)
+
+func init() {
+ t["DvsNetworkRuleDirectionType"] = reflect.TypeOf((*DvsNetworkRuleDirectionType)(nil)).Elem()
+}
+
+type EntityImportType string
+
+const (
+ EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier")
+ EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier")
+ EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified")
+)
+
+func init() {
+ t["EntityImportType"] = reflect.TypeOf((*EntityImportType)(nil)).Elem()
+}
+
+type EntityType string
+
+const (
+ EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch")
+ EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup")
+)
+
+func init() {
+ t["EntityType"] = reflect.TypeOf((*EntityType)(nil)).Elem()
+}
+
+type EventAlarmExpressionComparisonOperator string
+
+const (
+ EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals")
+ EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo")
+ EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith")
+ EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith")
+ EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith")
+ EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith")
+)
+
+func init() {
+ t["EventAlarmExpressionComparisonOperator"] = reflect.TypeOf((*EventAlarmExpressionComparisonOperator)(nil)).Elem()
+}
+
+type EventCategory string
+
+const (
+ EventCategoryInfo = EventCategory("info")
+ EventCategoryWarning = EventCategory("warning")
+ EventCategoryError = EventCategory("error")
+ EventCategoryUser = EventCategory("user")
+)
+
+func init() {
+ t["EventCategory"] = reflect.TypeOf((*EventCategory)(nil)).Elem()
+}
+
+type EventEventSeverity string
+
+const (
+ EventEventSeverityError = EventEventSeverity("error")
+ EventEventSeverityWarning = EventEventSeverity("warning")
+ EventEventSeverityInfo = EventEventSeverity("info")
+ EventEventSeverityUser = EventEventSeverity("user")
+)
+
+func init() {
+ t["EventEventSeverity"] = reflect.TypeOf((*EventEventSeverity)(nil)).Elem()
+}
+
+type EventFilterSpecRecursionOption string
+
+const (
+ EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self")
+ EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children")
+ EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all")
+)
+
+func init() {
+ t["EventFilterSpecRecursionOption"] = reflect.TypeOf((*EventFilterSpecRecursionOption)(nil)).Elem()
+}
+
+type FibreChannelPortType string
+
+const (
+ FibreChannelPortTypeFabric = FibreChannelPortType("fabric")
+ FibreChannelPortTypeLoop = FibreChannelPortType("loop")
+ FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint")
+ FibreChannelPortTypeUnknown = FibreChannelPortType("unknown")
+)
+
+func init() {
+ t["FibreChannelPortType"] = reflect.TypeOf((*FibreChannelPortType)(nil)).Elem()
+}
+
+type FileSystemMountInfoVStorageSupportStatus string
+
+const (
+ FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported")
+ FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported")
+ FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown")
+)
+
+func init() {
+ t["FileSystemMountInfoVStorageSupportStatus"] = reflect.TypeOf((*FileSystemMountInfoVStorageSupportStatus)(nil)).Elem()
+}
+
+type FtIssuesOnHostHostSelectionType string
+
+const (
+ FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user")
+ FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc")
+ FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs")
+)
+
+func init() {
+ t["FtIssuesOnHostHostSelectionType"] = reflect.TypeOf((*FtIssuesOnHostHostSelectionType)(nil)).Elem()
+}
+
+type GuestFileType string
+
+const (
+ GuestFileTypeFile = GuestFileType("file")
+ GuestFileTypeDirectory = GuestFileType("directory")
+ GuestFileTypeSymlink = GuestFileType("symlink")
+)
+
+func init() {
+ t["GuestFileType"] = reflect.TypeOf((*GuestFileType)(nil)).Elem()
+}
+
+type GuestInfoAppStateType string
+
+const (
+ GuestInfoAppStateTypeNone = GuestInfoAppStateType("none")
+ GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk")
+ GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset")
+)
+
+func init() {
+ t["GuestInfoAppStateType"] = reflect.TypeOf((*GuestInfoAppStateType)(nil)).Elem()
+}
+
+type GuestOsDescriptorFirmwareType string
+
+const (
+ GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios")
+ GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi")
+)
+
+func init() {
+ t["GuestOsDescriptorFirmwareType"] = reflect.TypeOf((*GuestOsDescriptorFirmwareType)(nil)).Elem()
+}
+
+type GuestOsDescriptorSupportLevel string
+
+const (
+ GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental")
+ GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy")
+ GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated")
+ GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported")
+ GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported")
+ GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated")
+ GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview")
+)
+
+func init() {
+ t["GuestOsDescriptorSupportLevel"] = reflect.TypeOf((*GuestOsDescriptorSupportLevel)(nil)).Elem()
+}
+
+type GuestRegKeyWowSpec string
+
+const (
+ GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative")
+ GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32")
+ GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64")
+)
+
+func init() {
+ t["GuestRegKeyWowSpec"] = reflect.TypeOf((*GuestRegKeyWowSpec)(nil)).Elem()
+}
+
+type HealthUpdateInfoComponentType string
+
+const (
+ HealthUpdateInfoComponentTypeMemory = HealthUpdateInfoComponentType("Memory")
+ HealthUpdateInfoComponentTypePower = HealthUpdateInfoComponentType("Power")
+ HealthUpdateInfoComponentTypeFan = HealthUpdateInfoComponentType("Fan")
+ HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network")
+ HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage")
+)
+
+func init() {
+ t["HealthUpdateInfoComponentType"] = reflect.TypeOf((*HealthUpdateInfoComponentType)(nil)).Elem()
+}
+
+type HostAccessMode string
+
+const (
+ HostAccessModeAccessNone = HostAccessMode("accessNone")
+ HostAccessModeAccessAdmin = HostAccessMode("accessAdmin")
+ HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess")
+ HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly")
+ HostAccessModeAccessOther = HostAccessMode("accessOther")
+)
+
+func init() {
+ t["HostAccessMode"] = reflect.TypeOf((*HostAccessMode)(nil)).Elem()
+}
+
+type HostActiveDirectoryAuthenticationCertificateDigest string
+
+const (
+ HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1")
+)
+
+func init() {
+ t["HostActiveDirectoryAuthenticationCertificateDigest"] = reflect.TypeOf((*HostActiveDirectoryAuthenticationCertificateDigest)(nil)).Elem()
+}
+
+type HostActiveDirectoryInfoDomainMembershipStatus string
+
+const (
+ HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown")
+ HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok")
+ HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers")
+ HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken")
+ HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken")
+ HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust")
+ HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem")
+)
+
+func init() {
+ t["HostActiveDirectoryInfoDomainMembershipStatus"] = reflect.TypeOf((*HostActiveDirectoryInfoDomainMembershipStatus)(nil)).Elem()
+}
+
+type HostCapabilityFtUnsupportedReason string
+
+const (
+ HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed")
+ HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic")
+ HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic")
+ HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed")
+ HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue")
+ HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct")
+ HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported")
+ HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported")
+ HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled")
+)
+
+func init() {
+ t["HostCapabilityFtUnsupportedReason"] = reflect.TypeOf((*HostCapabilityFtUnsupportedReason)(nil)).Elem()
+}
+
+type HostCapabilityVmDirectPathGen2UnsupportedReason string
+
+const (
+ HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct")
+ HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware")
+ HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled")
+)
+
+func init() {
+ t["HostCapabilityVmDirectPathGen2UnsupportedReason"] = reflect.TypeOf((*HostCapabilityVmDirectPathGen2UnsupportedReason)(nil)).Elem()
+}
+
+type HostCertificateManagerCertificateInfoCertificateStatus string
+
+const (
+ HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown")
+ HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired")
+ HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring")
+ HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly")
+ HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent")
+ HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good")
+)
+
+func init() {
+ t["HostCertificateManagerCertificateInfoCertificateStatus"] = reflect.TypeOf((*HostCertificateManagerCertificateInfoCertificateStatus)(nil)).Elem()
+}
+
+type HostConfigChangeMode string
+
+const (
+ HostConfigChangeModeModify = HostConfigChangeMode("modify")
+ HostConfigChangeModeReplace = HostConfigChangeMode("replace")
+)
+
+func init() {
+ t["HostConfigChangeMode"] = reflect.TypeOf((*HostConfigChangeMode)(nil)).Elem()
+}
+
+type HostConfigChangeOperation string
+
+const (
+ HostConfigChangeOperationAdd = HostConfigChangeOperation("add")
+ HostConfigChangeOperationRemove = HostConfigChangeOperation("remove")
+ HostConfigChangeOperationEdit = HostConfigChangeOperation("edit")
+ HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore")
+)
+
+func init() {
+ t["HostConfigChangeOperation"] = reflect.TypeOf((*HostConfigChangeOperation)(nil)).Elem()
+}
+
+type HostCpuPackageVendor string
+
+const (
+ HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown")
+ HostCpuPackageVendorIntel = HostCpuPackageVendor("intel")
+ HostCpuPackageVendorAmd = HostCpuPackageVendor("amd")
+)
+
+func init() {
+ t["HostCpuPackageVendor"] = reflect.TypeOf((*HostCpuPackageVendor)(nil)).Elem()
+}
+
+type HostCpuPowerManagementInfoPolicyType string
+
+const (
+ HostCpuPowerManagementInfoPolicyTypeOff = HostCpuPowerManagementInfoPolicyType("off")
+ HostCpuPowerManagementInfoPolicyTypeStaticPolicy = HostCpuPowerManagementInfoPolicyType("staticPolicy")
+ HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy")
+)
+
+func init() {
+ t["HostCpuPowerManagementInfoPolicyType"] = reflect.TypeOf((*HostCpuPowerManagementInfoPolicyType)(nil)).Elem()
+}
+
+type HostCryptoState string
+
+const (
+ HostCryptoStateIncapable = HostCryptoState("incapable")
+ HostCryptoStatePrepared = HostCryptoState("prepared")
+ HostCryptoStateSafe = HostCryptoState("safe")
+)
+
+func init() {
+ t["HostCryptoState"] = reflect.TypeOf((*HostCryptoState)(nil)).Elem()
+}
+
+type HostDasErrorEventHostDasErrorReason string
+
+const (
+ HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed")
+ HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout")
+ HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed")
+ HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed")
+ HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed")
+ HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown")
+ HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable")
+ HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other")
+)
+
+func init() {
+ t["HostDasErrorEventHostDasErrorReason"] = reflect.TypeOf((*HostDasErrorEventHostDasErrorReason)(nil)).Elem()
+}
+
+type HostDigestInfoDigestMethodType string
+
+const (
+ HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1")
+ HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5")
+)
+
+func init() {
+ t["HostDigestInfoDigestMethodType"] = reflect.TypeOf((*HostDigestInfoDigestMethodType)(nil)).Elem()
+}
+
+type HostDisconnectedEventReasonCode string
+
+const (
+ HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed")
+ HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired")
+ HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade")
+ HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest")
+ HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses")
+ HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate")
+ HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure")
+ HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown")
+ HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded")
+)
+
+func init() {
+ t["HostDisconnectedEventReasonCode"] = reflect.TypeOf((*HostDisconnectedEventReasonCode)(nil)).Elem()
+}
+
+type HostDiskPartitionInfoPartitionFormat string
+
+const (
+ HostDiskPartitionInfoPartitionFormatGpt = HostDiskPartitionInfoPartitionFormat("gpt")
+ HostDiskPartitionInfoPartitionFormatMbr = HostDiskPartitionInfoPartitionFormat("mbr")
+ HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown")
+)
+
+func init() {
+ t["HostDiskPartitionInfoPartitionFormat"] = reflect.TypeOf((*HostDiskPartitionInfoPartitionFormat)(nil)).Elem()
+}
+
+type HostDiskPartitionInfoType string
+
+const (
+ HostDiskPartitionInfoTypeNone = HostDiskPartitionInfoType("none")
+ HostDiskPartitionInfoTypeVmfs = HostDiskPartitionInfoType("vmfs")
+ HostDiskPartitionInfoTypeLinuxNative = HostDiskPartitionInfoType("linuxNative")
+ HostDiskPartitionInfoTypeLinuxSwap = HostDiskPartitionInfoType("linuxSwap")
+ HostDiskPartitionInfoTypeExtended = HostDiskPartitionInfoType("extended")
+ HostDiskPartitionInfoTypeNtfs = HostDiskPartitionInfoType("ntfs")
+ HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic")
+ HostDiskPartitionInfoTypeVffs = HostDiskPartitionInfoType("vffs")
+)
+
+func init() {
+ t["HostDiskPartitionInfoType"] = reflect.TypeOf((*HostDiskPartitionInfoType)(nil)).Elem()
+}
+
+type HostFeatureVersionKey string
+
+const (
+ HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance")
+)
+
+func init() {
+ t["HostFeatureVersionKey"] = reflect.TypeOf((*HostFeatureVersionKey)(nil)).Elem()
+}
+
+type HostFileSystemVolumeFileSystemType string
+
+const (
+ HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS")
+ HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS")
+ HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41")
+ HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS")
+ HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan")
+ HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS")
+ HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL")
+ HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER")
+)
+
+func init() {
+ t["HostFileSystemVolumeFileSystemType"] = reflect.TypeOf((*HostFileSystemVolumeFileSystemType)(nil)).Elem()
+}
+
+type HostFirewallRuleDirection string
+
+const (
+ HostFirewallRuleDirectionInbound = HostFirewallRuleDirection("inbound")
+ HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound")
+)
+
+func init() {
+ t["HostFirewallRuleDirection"] = reflect.TypeOf((*HostFirewallRuleDirection)(nil)).Elem()
+}
+
+type HostFirewallRulePortType string
+
+const (
+ HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src")
+ HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst")
+)
+
+func init() {
+ t["HostFirewallRulePortType"] = reflect.TypeOf((*HostFirewallRulePortType)(nil)).Elem()
+}
+
+type HostFirewallRuleProtocol string
+
+const (
+ HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp")
+ HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp")
+)
+
+func init() {
+ t["HostFirewallRuleProtocol"] = reflect.TypeOf((*HostFirewallRuleProtocol)(nil)).Elem()
+}
+
+type HostGraphicsConfigGraphicsType string
+
+const (
+ HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared")
+ HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect")
+)
+
+func init() {
+ t["HostGraphicsConfigGraphicsType"] = reflect.TypeOf((*HostGraphicsConfigGraphicsType)(nil)).Elem()
+}
+
+type HostGraphicsConfigSharedPassthruAssignmentPolicy string
+
+const (
+ HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance")
+ HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation")
+)
+
+func init() {
+ t["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = reflect.TypeOf((*HostGraphicsConfigSharedPassthruAssignmentPolicy)(nil)).Elem()
+}
+
+type HostGraphicsInfoGraphicsType string
+
+const (
+ HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic")
+ HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared")
+ HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct")
+ HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect")
+)
+
+func init() {
+ t["HostGraphicsInfoGraphicsType"] = reflect.TypeOf((*HostGraphicsInfoGraphicsType)(nil)).Elem()
+}
+
+type HostHardwareElementStatus string
+
+const (
+ HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown")
+ HostHardwareElementStatusGreen = HostHardwareElementStatus("Green")
+ HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow")
+ HostHardwareElementStatusRed = HostHardwareElementStatus("Red")
+)
+
+func init() {
+ t["HostHardwareElementStatus"] = reflect.TypeOf((*HostHardwareElementStatus)(nil)).Elem()
+}
+
+type HostHasComponentFailureHostComponentType string
+
+const (
+ HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore")
+)
+
+func init() {
+ t["HostHasComponentFailureHostComponentType"] = reflect.TypeOf((*HostHasComponentFailureHostComponentType)(nil)).Elem()
+}
+
+type HostImageAcceptanceLevel string
+
+const (
+ HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified")
+ HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted")
+ HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner")
+ HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community")
+)
+
+func init() {
+ t["HostImageAcceptanceLevel"] = reflect.TypeOf((*HostImageAcceptanceLevel)(nil)).Elem()
+}
+
+type HostIncompatibleForFaultToleranceReason string
+
+const (
+ HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product")
+ HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor")
+)
+
+func init() {
+ t["HostIncompatibleForFaultToleranceReason"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceReason)(nil)).Elem()
+}
+
+type HostIncompatibleForRecordReplayReason string
+
+const (
+ HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product")
+ HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor")
+)
+
+func init() {
+ t["HostIncompatibleForRecordReplayReason"] = reflect.TypeOf((*HostIncompatibleForRecordReplayReason)(nil)).Elem()
+}
+
+type HostInternetScsiHbaChapAuthenticationType string
+
+const (
+ HostInternetScsiHbaChapAuthenticationTypeChapProhibited = HostInternetScsiHbaChapAuthenticationType("chapProhibited")
+ HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged")
+ HostInternetScsiHbaChapAuthenticationTypeChapPreferred = HostInternetScsiHbaChapAuthenticationType("chapPreferred")
+ HostInternetScsiHbaChapAuthenticationTypeChapRequired = HostInternetScsiHbaChapAuthenticationType("chapRequired")
+)
+
+func init() {
+ t["HostInternetScsiHbaChapAuthenticationType"] = reflect.TypeOf((*HostInternetScsiHbaChapAuthenticationType)(nil)).Elem()
+}
+
+type HostInternetScsiHbaDigestType string
+
+const (
+ HostInternetScsiHbaDigestTypeDigestProhibited = HostInternetScsiHbaDigestType("digestProhibited")
+ HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged")
+ HostInternetScsiHbaDigestTypeDigestPreferred = HostInternetScsiHbaDigestType("digestPreferred")
+ HostInternetScsiHbaDigestTypeDigestRequired = HostInternetScsiHbaDigestType("digestRequired")
+)
+
+func init() {
+ t["HostInternetScsiHbaDigestType"] = reflect.TypeOf((*HostInternetScsiHbaDigestType)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string
+
+const (
+ HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP")
+ HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured")
+ HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static")
+ HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other")
+)
+
+func init() {
+ t["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string
+
+const (
+ HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add")
+ HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove")
+)
+
+func init() {
+ t["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation)(nil)).Elem()
+}
+
+type HostInternetScsiHbaNetworkBindingSupportType string
+
+const (
+ HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported")
+ HostInternetScsiHbaNetworkBindingSupportTypeOptional = HostInternetScsiHbaNetworkBindingSupportType("optional")
+ HostInternetScsiHbaNetworkBindingSupportTypeRequired = HostInternetScsiHbaNetworkBindingSupportType("required")
+)
+
+func init() {
+ t["HostInternetScsiHbaNetworkBindingSupportType"] = reflect.TypeOf((*HostInternetScsiHbaNetworkBindingSupportType)(nil)).Elem()
+}
+
+type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string
+
+const (
+ HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod")
+ HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod")
+ HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod")
+ HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod")
+ HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod")
+)
+
+func init() {
+ t["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = reflect.TypeOf((*HostInternetScsiHbaStaticTargetTargetDiscoveryMethod)(nil)).Elem()
+}
+
+type HostIpConfigIpV6AddressConfigType string
+
+const (
+ HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other")
+ HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual")
+ HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp")
+ HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer")
+ HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random")
+)
+
+func init() {
+ t["HostIpConfigIpV6AddressConfigType"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfigType)(nil)).Elem()
+}
+
+type HostIpConfigIpV6AddressStatus string
+
+const (
+ HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred")
+ HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated")
+ HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid")
+ HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible")
+ HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown")
+ HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative")
+ HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate")
+)
+
+func init() {
+ t["HostIpConfigIpV6AddressStatus"] = reflect.TypeOf((*HostIpConfigIpV6AddressStatus)(nil)).Elem()
+}
+
+type HostLicensableResourceKey string
+
+const (
+ HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages")
+ HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores")
+ HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize")
+ HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms")
+ HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted")
+ HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting")
+)
+
+func init() {
+ t["HostLicensableResourceKey"] = reflect.TypeOf((*HostLicensableResourceKey)(nil)).Elem()
+}
+
+type HostLockdownMode string
+
+const (
+ HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled")
+ HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal")
+ HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict")
+)
+
+func init() {
+ t["HostLockdownMode"] = reflect.TypeOf((*HostLockdownMode)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerFileType string
+
+const (
+ HostLowLevelProvisioningManagerFileTypeFile = HostLowLevelProvisioningManagerFileType("File")
+ HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk")
+ HostLowLevelProvisioningManagerFileTypeDirectory = HostLowLevelProvisioningManagerFileType("Directory")
+)
+
+func init() {
+ t["HostLowLevelProvisioningManagerFileType"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileType)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerReloadTarget string
+
+const (
+ HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig")
+ HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig")
+)
+
+func init() {
+ t["HostLowLevelProvisioningManagerReloadTarget"] = reflect.TypeOf((*HostLowLevelProvisioningManagerReloadTarget)(nil)).Elem()
+}
+
+type HostMountInfoInaccessibleReason string
+
+const (
+ HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start")
+ HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout")
+ HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss")
+)
+
+func init() {
+ t["HostMountInfoInaccessibleReason"] = reflect.TypeOf((*HostMountInfoInaccessibleReason)(nil)).Elem()
+}
+
+type HostMountMode string
+
+const (
+ HostMountModeReadWrite = HostMountMode("readWrite")
+ HostMountModeReadOnly = HostMountMode("readOnly")
+)
+
+func init() {
+ t["HostMountMode"] = reflect.TypeOf((*HostMountMode)(nil)).Elem()
+}
+
+type HostNasVolumeSecurityType string
+
+const (
+ HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS")
+ HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5")
+ HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I")
+)
+
+func init() {
+ t["HostNasVolumeSecurityType"] = reflect.TypeOf((*HostNasVolumeSecurityType)(nil)).Elem()
+}
+
+type HostNetStackInstanceCongestionControlAlgorithmType string
+
+const (
+ HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno")
+ HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic")
+)
+
+func init() {
+ t["HostNetStackInstanceCongestionControlAlgorithmType"] = reflect.TypeOf((*HostNetStackInstanceCongestionControlAlgorithmType)(nil)).Elem()
+}
+
+type HostNetStackInstanceSystemStackKey string
+
+const (
+ HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack")
+ HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion")
+ HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning")
+)
+
+func init() {
+ t["HostNetStackInstanceSystemStackKey"] = reflect.TypeOf((*HostNetStackInstanceSystemStackKey)(nil)).Elem()
+}
+
+type HostNumericSensorHealthState string
+
+const (
+ HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown")
+ HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green")
+ HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow")
+ HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red")
+)
+
+func init() {
+ t["HostNumericSensorHealthState"] = reflect.TypeOf((*HostNumericSensorHealthState)(nil)).Elem()
+}
+
+type HostNumericSensorType string
+
+const (
+ HostNumericSensorTypeFan = HostNumericSensorType("fan")
+ HostNumericSensorTypePower = HostNumericSensorType("power")
+ HostNumericSensorTypeTemperature = HostNumericSensorType("temperature")
+ HostNumericSensorTypeVoltage = HostNumericSensorType("voltage")
+ HostNumericSensorTypeOther = HostNumericSensorType("other")
+ HostNumericSensorTypeProcessor = HostNumericSensorType("processor")
+ HostNumericSensorTypeMemory = HostNumericSensorType("memory")
+ HostNumericSensorTypeStorage = HostNumericSensorType("storage")
+ HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard")
+ HostNumericSensorTypeBattery = HostNumericSensorType("battery")
+ HostNumericSensorTypeBios = HostNumericSensorType("bios")
+ HostNumericSensorTypeCable = HostNumericSensorType("cable")
+ HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog")
+)
+
+func init() {
+ t["HostNumericSensorType"] = reflect.TypeOf((*HostNumericSensorType)(nil)).Elem()
+}
+
+type HostOpaqueSwitchOpaqueSwitchState string
+
+const (
+ HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up")
+ HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning")
+ HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down")
+)
+
+func init() {
+ t["HostOpaqueSwitchOpaqueSwitchState"] = reflect.TypeOf((*HostOpaqueSwitchOpaqueSwitchState)(nil)).Elem()
+}
+
+type HostPatchManagerInstallState string
+
+const (
+ HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted")
+ HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive")
+)
+
+func init() {
+ t["HostPatchManagerInstallState"] = reflect.TypeOf((*HostPatchManagerInstallState)(nil)).Elem()
+}
+
+type HostPatchManagerIntegrityStatus string
+
+const (
+ HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated")
+ HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound")
+ HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked")
+ HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired")
+ HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch")
+ HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures")
+ HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError")
+)
+
+func init() {
+ t["HostPatchManagerIntegrityStatus"] = reflect.TypeOf((*HostPatchManagerIntegrityStatus)(nil)).Elem()
+}
+
+type HostPatchManagerReason string
+
+const (
+ HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted")
+ HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch")
+ HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib")
+ HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch")
+ HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch")
+ HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib")
+)
+
+func init() {
+ t["HostPatchManagerReason"] = reflect.TypeOf((*HostPatchManagerReason)(nil)).Elem()
+}
+
+type HostPowerOperationType string
+
+const (
+ HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn")
+ HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff")
+)
+
+func init() {
+ t["HostPowerOperationType"] = reflect.TypeOf((*HostPowerOperationType)(nil)).Elem()
+}
+
+type HostProfileManagerAnswerFileStatus string
+
+const (
+ HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid")
+ HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid")
+ HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown")
+)
+
+func init() {
+ t["HostProfileManagerAnswerFileStatus"] = reflect.TypeOf((*HostProfileManagerAnswerFileStatus)(nil)).Elem()
+}
+
+type HostProfileManagerTaskListRequirement string
+
+const (
+ HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired")
+ HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired")
+)
+
+func init() {
+ t["HostProfileManagerTaskListRequirement"] = reflect.TypeOf((*HostProfileManagerTaskListRequirement)(nil)).Elem()
+}
+
+type HostProtocolEndpointPEType string
+
+const (
+ HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block")
+ HostProtocolEndpointPETypeNas = HostProtocolEndpointPEType("nas")
+)
+
+func init() {
+ t["HostProtocolEndpointPEType"] = reflect.TypeOf((*HostProtocolEndpointPEType)(nil)).Elem()
+}
+
+type HostProtocolEndpointProtocolEndpointType string
+
+const (
+ HostProtocolEndpointProtocolEndpointTypeScsi = HostProtocolEndpointProtocolEndpointType("scsi")
+ HostProtocolEndpointProtocolEndpointTypeNfs = HostProtocolEndpointProtocolEndpointType("nfs")
+ HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x")
+)
+
+func init() {
+ t["HostProtocolEndpointProtocolEndpointType"] = reflect.TypeOf((*HostProtocolEndpointProtocolEndpointType)(nil)).Elem()
+}
+
+type HostReplayUnsupportedReason string
+
+const (
+ HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct")
+ HostReplayUnsupportedReasonIncompatibleCpu = HostReplayUnsupportedReason("incompatibleCpu")
+ HostReplayUnsupportedReasonHvDisabled = HostReplayUnsupportedReason("hvDisabled")
+ HostReplayUnsupportedReasonCpuidLimitSet = HostReplayUnsupportedReason("cpuidLimitSet")
+ HostReplayUnsupportedReasonOldBIOS = HostReplayUnsupportedReason("oldBIOS")
+ HostReplayUnsupportedReasonUnknown = HostReplayUnsupportedReason("unknown")
+)
+
+func init() {
+ t["HostReplayUnsupportedReason"] = reflect.TypeOf((*HostReplayUnsupportedReason)(nil)).Elem()
+}
+
+type HostRuntimeInfoNetStackInstanceRuntimeInfoState string
+
+const (
+ HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive")
+ HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active")
+ HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating")
+ HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating")
+)
+
+func init() {
+ t["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfoState)(nil)).Elem()
+}
+
+type HostServicePolicy string
+
+const (
+ HostServicePolicyOn = HostServicePolicy("on")
+ HostServicePolicyAutomatic = HostServicePolicy("automatic")
+ HostServicePolicyOff = HostServicePolicy("off")
+)
+
+func init() {
+ t["HostServicePolicy"] = reflect.TypeOf((*HostServicePolicy)(nil)).Elem()
+}
+
+type HostSnmpAgentCapability string
+
+const (
+ HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE")
+ HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS")
+ HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION")
+)
+
+func init() {
+ t["HostSnmpAgentCapability"] = reflect.TypeOf((*HostSnmpAgentCapability)(nil)).Elem()
+}
+
+type HostStandbyMode string
+
+const (
+ HostStandbyModeEntering = HostStandbyMode("entering")
+ HostStandbyModeExiting = HostStandbyMode("exiting")
+ HostStandbyModeIn = HostStandbyMode("in")
+ HostStandbyModeNone = HostStandbyMode("none")
+)
+
+func init() {
+ t["HostStandbyMode"] = reflect.TypeOf((*HostStandbyMode)(nil)).Elem()
+}
+
+type HostSystemConnectionState string
+
+const (
+ HostSystemConnectionStateConnected = HostSystemConnectionState("connected")
+ HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding")
+ HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected")
+)
+
+func init() {
+ t["HostSystemConnectionState"] = reflect.TypeOf((*HostSystemConnectionState)(nil)).Elem()
+}
+
+type HostSystemIdentificationInfoIdentifier string
+
+const (
+ HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag")
+ HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag")
+ HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString")
+)
+
+func init() {
+ t["HostSystemIdentificationInfoIdentifier"] = reflect.TypeOf((*HostSystemIdentificationInfoIdentifier)(nil)).Elem()
+}
+
+type HostSystemPowerState string
+
+const (
+ HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn")
+ HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff")
+ HostSystemPowerStateStandBy = HostSystemPowerState("standBy")
+ HostSystemPowerStateUnknown = HostSystemPowerState("unknown")
+)
+
+func init() {
+ t["HostSystemPowerState"] = reflect.TypeOf((*HostSystemPowerState)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsExtentUnresolvedReason string
+
+const (
+ HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch")
+ HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict")
+)
+
+func init() {
+ t["HostUnresolvedVmfsExtentUnresolvedReason"] = reflect.TypeOf((*HostUnresolvedVmfsExtentUnresolvedReason)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string
+
+const (
+ HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature")
+ HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount")
+)
+
+func init() {
+ t["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpecVmfsUuidResolution)(nil)).Elem()
+}
+
+type HostVirtualNicManagerNicType string
+
+const (
+ HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion")
+ HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging")
+ HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication")
+ HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC")
+ HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management")
+ HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan")
+ HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning")
+ HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness")
+)
+
+func init() {
+ t["HostVirtualNicManagerNicType"] = reflect.TypeOf((*HostVirtualNicManagerNicType)(nil)).Elem()
+}
+
+type HostVmciAccessManagerMode string
+
+const (
+ HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant")
+ HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace")
+ HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke")
+)
+
+func init() {
+ t["HostVmciAccessManagerMode"] = reflect.TypeOf((*HostVmciAccessManagerMode)(nil)).Elem()
+}
+
+type HostVmfsVolumeUnmapPriority string
+
+const (
+ HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none")
+ HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low")
+)
+
+func init() {
+ t["HostVmfsVolumeUnmapPriority"] = reflect.TypeOf((*HostVmfsVolumeUnmapPriority)(nil)).Elem()
+}
+
+type HttpNfcLeaseState string
+
+const (
+ HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing")
+ HttpNfcLeaseStateReady = HttpNfcLeaseState("ready")
+ HttpNfcLeaseStateDone = HttpNfcLeaseState("done")
+ HttpNfcLeaseStateError = HttpNfcLeaseState("error")
+)
+
+func init() {
+ t["HttpNfcLeaseState"] = reflect.TypeOf((*HttpNfcLeaseState)(nil)).Elem()
+}
+
+type IncompatibleHostForVmReplicationIncompatibleReason string
+
+const (
+ IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo")
+ IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression")
+)
+
+func init() {
+ t["IncompatibleHostForVmReplicationIncompatibleReason"] = reflect.TypeOf((*IncompatibleHostForVmReplicationIncompatibleReason)(nil)).Elem()
+}
+
+type InternetScsiSnsDiscoveryMethod string
+
+const (
+ InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic")
+ InternetScsiSnsDiscoveryMethodIsnsDhcp = InternetScsiSnsDiscoveryMethod("isnsDhcp")
+ InternetScsiSnsDiscoveryMethodIsnsSlp = InternetScsiSnsDiscoveryMethod("isnsSlp")
+)
+
+func init() {
+ t["InternetScsiSnsDiscoveryMethod"] = reflect.TypeOf((*InternetScsiSnsDiscoveryMethod)(nil)).Elem()
+}
+
+type InvalidDasConfigArgumentEntryForInvalidArgument string
+
+const (
+ InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl")
+ InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs")
+ InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig")
+)
+
+func init() {
+ t["InvalidDasConfigArgumentEntryForInvalidArgument"] = reflect.TypeOf((*InvalidDasConfigArgumentEntryForInvalidArgument)(nil)).Elem()
+}
+
+type InvalidProfileReferenceHostReason string
+
+const (
+ InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion")
+ InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost")
+)
+
+func init() {
+ t["InvalidProfileReferenceHostReason"] = reflect.TypeOf((*InvalidProfileReferenceHostReason)(nil)).Elem()
+}
+
+type IoFilterOperation string
+
+const (
+ IoFilterOperationInstall = IoFilterOperation("install")
+ IoFilterOperationUninstall = IoFilterOperation("uninstall")
+ IoFilterOperationUpgrade = IoFilterOperation("upgrade")
+)
+
+func init() {
+ t["IoFilterOperation"] = reflect.TypeOf((*IoFilterOperation)(nil)).Elem()
+}
+
+type IoFilterType string
+
+const (
+ IoFilterTypeCache = IoFilterType("cache")
+ IoFilterTypeReplication = IoFilterType("replication")
+ IoFilterTypeEncryption = IoFilterType("encryption")
+ IoFilterTypeCompression = IoFilterType("compression")
+ IoFilterTypeInspection = IoFilterType("inspection")
+ IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl")
+ IoFilterTypeDataProvider = IoFilterType("dataProvider")
+)
+
+func init() {
+ t["IoFilterType"] = reflect.TypeOf((*IoFilterType)(nil)).Elem()
+}
+
+type IscsiPortInfoPathStatus string
+
+const (
+ IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed")
+ IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active")
+ IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy")
+ IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive")
+)
+
+func init() {
+ t["IscsiPortInfoPathStatus"] = reflect.TypeOf((*IscsiPortInfoPathStatus)(nil)).Elem()
+}
+
+type LatencySensitivitySensitivityLevel string
+
+const (
+ LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low")
+ LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal")
+ LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium")
+ LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high")
+ LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom")
+)
+
+func init() {
+ t["LatencySensitivitySensitivityLevel"] = reflect.TypeOf((*LatencySensitivitySensitivityLevel)(nil)).Elem()
+}
+
+type LicenseAssignmentFailedReason string
+
+const (
+ LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch")
+ LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed")
+ LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter")
+ LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer")
+)
+
+func init() {
+ t["LicenseAssignmentFailedReason"] = reflect.TypeOf((*LicenseAssignmentFailedReason)(nil)).Elem()
+}
+
+type LicenseFeatureInfoSourceRestriction string
+
+const (
+ LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted")
+ LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served")
+ LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file")
+)
+
+func init() {
+ t["LicenseFeatureInfoSourceRestriction"] = reflect.TypeOf((*LicenseFeatureInfoSourceRestriction)(nil)).Elem()
+}
+
+type LicenseFeatureInfoState string
+
+const (
+ LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled")
+ LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled")
+ LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional")
+)
+
+func init() {
+ t["LicenseFeatureInfoState"] = reflect.TypeOf((*LicenseFeatureInfoState)(nil)).Elem()
+}
+
+type LicenseFeatureInfoUnit string
+
+const (
+ LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host")
+ LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore")
+ LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage")
+ LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server")
+ LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm")
+)
+
+func init() {
+ t["LicenseFeatureInfoUnit"] = reflect.TypeOf((*LicenseFeatureInfoUnit)(nil)).Elem()
+}
+
+type LicenseManagerLicenseKey string
+
+const (
+ LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull")
+ LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn")
+ LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress")
+ LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san")
+ LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi")
+ LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas")
+ LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp")
+ LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup")
+ LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc")
+ LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress")
+ LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost")
+ LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost")
+ LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost")
+ LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower")
+ LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion")
+ LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs")
+ LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das")
+)
+
+func init() {
+ t["LicenseManagerLicenseKey"] = reflect.TypeOf((*LicenseManagerLicenseKey)(nil)).Elem()
+}
+
+type LicenseManagerState string
+
+const (
+ LicenseManagerStateInitializing = LicenseManagerState("initializing")
+ LicenseManagerStateNormal = LicenseManagerState("normal")
+ LicenseManagerStateMarginal = LicenseManagerState("marginal")
+ LicenseManagerStateFault = LicenseManagerState("fault")
+)
+
+func init() {
+ t["LicenseManagerState"] = reflect.TypeOf((*LicenseManagerState)(nil)).Elem()
+}
+
+type LicenseReservationInfoState string
+
+const (
+ LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed")
+ LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense")
+ LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse")
+ LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed")
+)
+
+func init() {
+ t["LicenseReservationInfoState"] = reflect.TypeOf((*LicenseReservationInfoState)(nil)).Elem()
+}
+
+type LinkDiscoveryProtocolConfigOperationType string
+
+const (
+ LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none")
+ LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen")
+ LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise")
+ LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both")
+)
+
+func init() {
+ t["LinkDiscoveryProtocolConfigOperationType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigOperationType)(nil)).Elem()
+}
+
+type LinkDiscoveryProtocolConfigProtocolType string
+
+const (
+ LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp")
+ LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp")
+)
+
+func init() {
+ t["LinkDiscoveryProtocolConfigProtocolType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigProtocolType)(nil)).Elem()
+}
+
+type ManagedEntityStatus string
+
+const (
+ ManagedEntityStatusGray = ManagedEntityStatus("gray")
+ ManagedEntityStatusGreen = ManagedEntityStatus("green")
+ ManagedEntityStatusYellow = ManagedEntityStatus("yellow")
+ ManagedEntityStatusRed = ManagedEntityStatus("red")
+)
+
+func init() {
+ t["ManagedEntityStatus"] = reflect.TypeOf((*ManagedEntityStatus)(nil)).Elem()
+}
+
+type MetricAlarmOperator string
+
+const (
+ MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove")
+ MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow")
+)
+
+func init() {
+ t["MetricAlarmOperator"] = reflect.TypeOf((*MetricAlarmOperator)(nil)).Elem()
+}
+
+type MultipathState string
+
+const (
+ MultipathStateStandby = MultipathState("standby")
+ MultipathStateActive = MultipathState("active")
+ MultipathStateDisabled = MultipathState("disabled")
+ MultipathStateDead = MultipathState("dead")
+ MultipathStateUnknown = MultipathState("unknown")
+)
+
+func init() {
+ t["MultipathState"] = reflect.TypeOf((*MultipathState)(nil)).Elem()
+}
+
+type NetBIOSConfigInfoMode string
+
+const (
+ NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown")
+ NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled")
+ NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled")
+ NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP")
+)
+
+func init() {
+ t["NetBIOSConfigInfoMode"] = reflect.TypeOf((*NetBIOSConfigInfoMode)(nil)).Elem()
+}
+
+type NetIpConfigInfoIpAddressOrigin string
+
+const (
+ NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other")
+ NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual")
+ NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp")
+ NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer")
+ NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random")
+)
+
+func init() {
+ t["NetIpConfigInfoIpAddressOrigin"] = reflect.TypeOf((*NetIpConfigInfoIpAddressOrigin)(nil)).Elem()
+}
+
+type NetIpConfigInfoIpAddressStatus string
+
+const (
+ NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred")
+ NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated")
+ NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid")
+ NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible")
+ NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown")
+ NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative")
+ NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate")
+)
+
+func init() {
+ t["NetIpConfigInfoIpAddressStatus"] = reflect.TypeOf((*NetIpConfigInfoIpAddressStatus)(nil)).Elem()
+}
+
+type NetIpStackInfoEntryType string
+
+const (
+ NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other")
+ NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid")
+ NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic")
+ NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual")
+)
+
+func init() {
+ t["NetIpStackInfoEntryType"] = reflect.TypeOf((*NetIpStackInfoEntryType)(nil)).Elem()
+}
+
+type NetIpStackInfoPreference string
+
+const (
+ NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved")
+ NetIpStackInfoPreferenceLow = NetIpStackInfoPreference("low")
+ NetIpStackInfoPreferenceMedium = NetIpStackInfoPreference("medium")
+ NetIpStackInfoPreferenceHigh = NetIpStackInfoPreference("high")
+)
+
+func init() {
+ t["NetIpStackInfoPreference"] = reflect.TypeOf((*NetIpStackInfoPreference)(nil)).Elem()
+}
+
+type NotSupportedDeviceForFTDeviceType string
+
+const (
+ NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3")
+ NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController")
+)
+
+func init() {
+ t["NotSupportedDeviceForFTDeviceType"] = reflect.TypeOf((*NotSupportedDeviceForFTDeviceType)(nil)).Elem()
+}
+
+type NumVirtualCpusIncompatibleReason string
+
+const (
+ NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay")
+ NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance")
+)
+
+func init() {
+ t["NumVirtualCpusIncompatibleReason"] = reflect.TypeOf((*NumVirtualCpusIncompatibleReason)(nil)).Elem()
+}
+
+type ObjectUpdateKind string
+
+const (
+ ObjectUpdateKindModify = ObjectUpdateKind("modify")
+ ObjectUpdateKindEnter = ObjectUpdateKind("enter")
+ ObjectUpdateKindLeave = ObjectUpdateKind("leave")
+)
+
+func init() {
+ t["ObjectUpdateKind"] = reflect.TypeOf((*ObjectUpdateKind)(nil)).Elem()
+}
+
+type OvfConsumerOstNodeType string
+
+const (
+ OvfConsumerOstNodeTypeEnvelope = OvfConsumerOstNodeType("envelope")
+ OvfConsumerOstNodeTypeVirtualSystem = OvfConsumerOstNodeType("virtualSystem")
+ OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection")
+)
+
+func init() {
+ t["OvfConsumerOstNodeType"] = reflect.TypeOf((*OvfConsumerOstNodeType)(nil)).Elem()
+}
+
+type OvfCreateImportSpecParamsDiskProvisioningType string
+
+const (
+ OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse")
+ OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat")
+ OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse")
+ OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat")
+ OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin")
+ OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick")
+ OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse")
+ OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick")
+ OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse")
+ OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat")
+)
+
+func init() {
+ t["OvfCreateImportSpecParamsDiskProvisioningType"] = reflect.TypeOf((*OvfCreateImportSpecParamsDiskProvisioningType)(nil)).Elem()
+}
+
+type PerfFormat string
+
+const (
+ PerfFormatNormal = PerfFormat("normal")
+ PerfFormatCsv = PerfFormat("csv")
+)
+
+func init() {
+ t["PerfFormat"] = reflect.TypeOf((*PerfFormat)(nil)).Elem()
+}
+
+type PerfStatsType string
+
+const (
+ PerfStatsTypeAbsolute = PerfStatsType("absolute")
+ PerfStatsTypeDelta = PerfStatsType("delta")
+ PerfStatsTypeRate = PerfStatsType("rate")
+)
+
+func init() {
+ t["PerfStatsType"] = reflect.TypeOf((*PerfStatsType)(nil)).Elem()
+}
+
+type PerfSummaryType string
+
+const (
+ PerfSummaryTypeAverage = PerfSummaryType("average")
+ PerfSummaryTypeMaximum = PerfSummaryType("maximum")
+ PerfSummaryTypeMinimum = PerfSummaryType("minimum")
+ PerfSummaryTypeLatest = PerfSummaryType("latest")
+ PerfSummaryTypeSummation = PerfSummaryType("summation")
+ PerfSummaryTypeNone = PerfSummaryType("none")
+)
+
+func init() {
+ t["PerfSummaryType"] = reflect.TypeOf((*PerfSummaryType)(nil)).Elem()
+}
+
+type PerformanceManagerUnit string
+
+const (
+ PerformanceManagerUnitPercent = PerformanceManagerUnit("percent")
+ PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes")
+ PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes")
+ PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz")
+ PerformanceManagerUnitNumber = PerformanceManagerUnit("number")
+ PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond")
+ PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond")
+ PerformanceManagerUnitSecond = PerformanceManagerUnit("second")
+ PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond")
+ PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond")
+ PerformanceManagerUnitWatt = PerformanceManagerUnit("watt")
+ PerformanceManagerUnitJoule = PerformanceManagerUnit("joule")
+ PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes")
+)
+
+func init() {
+ t["PerformanceManagerUnit"] = reflect.TypeOf((*PerformanceManagerUnit)(nil)).Elem()
+}
+
+type PhysicalNicResourcePoolSchedulerDisallowedReason string
+
+const (
+ PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut")
+ PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported")
+)
+
+func init() {
+ t["PhysicalNicResourcePoolSchedulerDisallowedReason"] = reflect.TypeOf((*PhysicalNicResourcePoolSchedulerDisallowedReason)(nil)).Elem()
+}
+
+type PhysicalNicVmDirectPathGen2SupportedMode string
+
+const (
+ PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt")
+)
+
+func init() {
+ t["PhysicalNicVmDirectPathGen2SupportedMode"] = reflect.TypeOf((*PhysicalNicVmDirectPathGen2SupportedMode)(nil)).Elem()
+}
+
+type PlacementAffinityRuleRuleScope string
+
+const (
+ PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster")
+ PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host")
+ PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod")
+ PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore")
+)
+
+func init() {
+ t["PlacementAffinityRuleRuleScope"] = reflect.TypeOf((*PlacementAffinityRuleRuleScope)(nil)).Elem()
+}
+
+type PlacementAffinityRuleRuleType string
+
+const (
+ PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity")
+ PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity")
+ PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity")
+ PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity")
+)
+
+func init() {
+ t["PlacementAffinityRuleRuleType"] = reflect.TypeOf((*PlacementAffinityRuleRuleType)(nil)).Elem()
+}
+
+type PlacementSpecPlacementType string
+
+const (
+ PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create")
+ PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure")
+ PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate")
+ PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone")
+)
+
+func init() {
+ t["PlacementSpecPlacementType"] = reflect.TypeOf((*PlacementSpecPlacementType)(nil)).Elem()
+}
+
+type PortGroupConnecteeType string
+
+const (
+ PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine")
+ PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement")
+ PortGroupConnecteeTypeHost = PortGroupConnecteeType("host")
+ PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown")
+)
+
+func init() {
+ t["PortGroupConnecteeType"] = reflect.TypeOf((*PortGroupConnecteeType)(nil)).Elem()
+}
+
+type ProfileExecuteResultStatus string
+
+const (
+ ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success")
+ ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput")
+ ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error")
+)
+
+func init() {
+ t["ProfileExecuteResultStatus"] = reflect.TypeOf((*ProfileExecuteResultStatus)(nil)).Elem()
+}
+
+type ProfileNumericComparator string
+
+const (
+ ProfileNumericComparatorLessThan = ProfileNumericComparator("lessThan")
+ ProfileNumericComparatorLessThanEqual = ProfileNumericComparator("lessThanEqual")
+ ProfileNumericComparatorEqual = ProfileNumericComparator("equal")
+ ProfileNumericComparatorNotEqual = ProfileNumericComparator("notEqual")
+ ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual")
+ ProfileNumericComparatorGreaterThan = ProfileNumericComparator("greaterThan")
+)
+
+func init() {
+ t["ProfileNumericComparator"] = reflect.TypeOf((*ProfileNumericComparator)(nil)).Elem()
+}
+
+type PropertyChangeOp string
+
+const (
+ PropertyChangeOpAdd = PropertyChangeOp("add")
+ PropertyChangeOpRemove = PropertyChangeOp("remove")
+ PropertyChangeOpAssign = PropertyChangeOp("assign")
+ PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove")
+)
+
+func init() {
+ t["PropertyChangeOp"] = reflect.TypeOf((*PropertyChangeOp)(nil)).Elem()
+}
+
+type QuarantineModeFaultFaultType string
+
+const (
+ QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost")
+ QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed")
+ QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact")
+)
+
+func init() {
+ t["QuarantineModeFaultFaultType"] = reflect.TypeOf((*QuarantineModeFaultFaultType)(nil)).Elem()
+}
+
+type QuiesceMode string
+
+const (
+ QuiesceModeApplication = QuiesceMode("application")
+ QuiesceModeFilesystem = QuiesceMode("filesystem")
+ QuiesceModeNone = QuiesceMode("none")
+)
+
+func init() {
+ t["QuiesceMode"] = reflect.TypeOf((*QuiesceMode)(nil)).Elem()
+}
+
+type RecommendationReasonCode string
+
+const (
+ RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg")
+ RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg")
+ RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin")
+ RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin")
+ RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint")
+ RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby")
+ RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu")
+ RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem")
+ RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm")
+ RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving")
+ RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity")
+ RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource")
+ RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity")
+ RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity")
+ RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity")
+ RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage")
+ RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad")
+ RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation")
+ RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint")
+ RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin")
+ RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin")
+ RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage")
+ RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement")
+ RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal")
+ RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement")
+ RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation")
+ RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation")
+ RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation")
+ RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint")
+ RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints")
+)
+
+func init() {
+ t["RecommendationReasonCode"] = reflect.TypeOf((*RecommendationReasonCode)(nil)).Elem()
+}
+
+type RecommendationType string
+
+const (
+ RecommendationTypeV1 = RecommendationType("V1")
+)
+
+func init() {
+ t["RecommendationType"] = reflect.TypeOf((*RecommendationType)(nil)).Elem()
+}
+
+type ReplicationDiskConfigFaultReasonForFault string
+
+const (
+ ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound")
+ ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported")
+ ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey")
+ ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId")
+ ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId")
+ ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath")
+ ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed")
+)
+
+func init() {
+ t["ReplicationDiskConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultReasonForFault)(nil)).Elem()
+}
+
+type ReplicationVmConfigFaultReasonForFault string
+
+const (
+ ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion")
+ ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId")
+ ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber")
+ ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue")
+ ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress")
+ ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort")
+ ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions")
+ ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber")
+ ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed")
+ ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration")
+ ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled")
+ ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration")
+ ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled")
+ ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed")
+ ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm")
+)
+
+func init() {
+ t["ReplicationVmConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmConfigFaultReasonForFault)(nil)).Elem()
+}
+
+type ReplicationVmFaultReasonForFault string
+
+const (
+ ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured")
+ ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff")
+ ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended")
+ ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn")
+ ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating")
+ ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState")
+ ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId")
+ ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError")
+)
+
+func init() {
+ t["ReplicationVmFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmFaultReasonForFault)(nil)).Elem()
+}
+
+type ReplicationVmInProgressFaultActivity string
+
+const (
+ ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync")
+ ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta")
+)
+
+func init() {
+ t["ReplicationVmInProgressFaultActivity"] = reflect.TypeOf((*ReplicationVmInProgressFaultActivity)(nil)).Elem()
+}
+
+type ReplicationVmState string
+
+const (
+ ReplicationVmStateNone = ReplicationVmState("none")
+ ReplicationVmStatePaused = ReplicationVmState("paused")
+ ReplicationVmStateSyncing = ReplicationVmState("syncing")
+ ReplicationVmStateIdle = ReplicationVmState("idle")
+ ReplicationVmStateActive = ReplicationVmState("active")
+ ReplicationVmStateError = ReplicationVmState("error")
+)
+
+func init() {
+ t["ReplicationVmState"] = reflect.TypeOf((*ReplicationVmState)(nil)).Elem()
+}
+
+type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string
+
+const (
+ ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never")
+ ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff")
+ ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always")
+)
+
+func init() {
+ t["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradePolicy)(nil)).Elem()
+}
+
+type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string
+
+const (
+ ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none")
+ ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending")
+ ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success")
+ ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed")
+)
+
+func init() {
+ t["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradeStatus)(nil)).Elem()
+}
+
+type ScsiDiskType string
+
+const (
+ ScsiDiskTypeNative512 = ScsiDiskType("native512")
+ ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512")
+ ScsiDiskTypeNative4k = ScsiDiskType("native4k")
+ ScsiDiskTypeUnknown = ScsiDiskType("unknown")
+)
+
+func init() {
+ t["ScsiDiskType"] = reflect.TypeOf((*ScsiDiskType)(nil)).Elem()
+}
+
+type ScsiLunDescriptorQuality string
+
+const (
+ ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality")
+ ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality")
+ ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality")
+ ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality")
+)
+
+func init() {
+ t["ScsiLunDescriptorQuality"] = reflect.TypeOf((*ScsiLunDescriptorQuality)(nil)).Elem()
+}
+
+type ScsiLunState string
+
+const (
+ ScsiLunStateUnknownState = ScsiLunState("unknownState")
+ ScsiLunStateOk = ScsiLunState("ok")
+ ScsiLunStateError = ScsiLunState("error")
+ ScsiLunStateOff = ScsiLunState("off")
+ ScsiLunStateQuiesced = ScsiLunState("quiesced")
+ ScsiLunStateDegraded = ScsiLunState("degraded")
+ ScsiLunStateLostCommunication = ScsiLunState("lostCommunication")
+ ScsiLunStateTimeout = ScsiLunState("timeout")
+)
+
+func init() {
+ t["ScsiLunState"] = reflect.TypeOf((*ScsiLunState)(nil)).Elem()
+}
+
+type ScsiLunType string
+
+const (
+ ScsiLunTypeDisk = ScsiLunType("disk")
+ ScsiLunTypeTape = ScsiLunType("tape")
+ ScsiLunTypePrinter = ScsiLunType("printer")
+ ScsiLunTypeProcessor = ScsiLunType("processor")
+ ScsiLunTypeWorm = ScsiLunType("worm")
+ ScsiLunTypeCdrom = ScsiLunType("cdrom")
+ ScsiLunTypeScanner = ScsiLunType("scanner")
+ ScsiLunTypeOpticalDevice = ScsiLunType("opticalDevice")
+ ScsiLunTypeMediaChanger = ScsiLunType("mediaChanger")
+ ScsiLunTypeCommunications = ScsiLunType("communications")
+ ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController")
+ ScsiLunTypeEnclosure = ScsiLunType("enclosure")
+ ScsiLunTypeUnknown = ScsiLunType("unknown")
+)
+
+func init() {
+ t["ScsiLunType"] = reflect.TypeOf((*ScsiLunType)(nil)).Elem()
+}
+
+type ScsiLunVStorageSupportStatus string
+
+const (
+ ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported")
+ ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported")
+ ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown")
+)
+
+func init() {
+ t["ScsiLunVStorageSupportStatus"] = reflect.TypeOf((*ScsiLunVStorageSupportStatus)(nil)).Elem()
+}
+
+type SessionManagerHttpServiceRequestSpecMethod string
+
+const (
+ SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions")
+ SessionManagerHttpServiceRequestSpecMethodHttpGet = SessionManagerHttpServiceRequestSpecMethod("httpGet")
+ SessionManagerHttpServiceRequestSpecMethodHttpHead = SessionManagerHttpServiceRequestSpecMethod("httpHead")
+ SessionManagerHttpServiceRequestSpecMethodHttpPost = SessionManagerHttpServiceRequestSpecMethod("httpPost")
+ SessionManagerHttpServiceRequestSpecMethodHttpPut = SessionManagerHttpServiceRequestSpecMethod("httpPut")
+ SessionManagerHttpServiceRequestSpecMethodHttpDelete = SessionManagerHttpServiceRequestSpecMethod("httpDelete")
+ SessionManagerHttpServiceRequestSpecMethodHttpTrace = SessionManagerHttpServiceRequestSpecMethod("httpTrace")
+ SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect")
+)
+
+func init() {
+ t["SessionManagerHttpServiceRequestSpecMethod"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpecMethod)(nil)).Elem()
+}
+
+type SharesLevel string
+
+const (
+ SharesLevelLow = SharesLevel("low")
+ SharesLevelNormal = SharesLevel("normal")
+ SharesLevelHigh = SharesLevel("high")
+ SharesLevelCustom = SharesLevel("custom")
+)
+
+func init() {
+ t["SharesLevel"] = reflect.TypeOf((*SharesLevel)(nil)).Elem()
+}
+
+type SimpleCommandEncoding string
+
+const (
+ SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV")
+ SimpleCommandEncodingHEX = SimpleCommandEncoding("HEX")
+ SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING")
+)
+
+func init() {
+ t["SimpleCommandEncoding"] = reflect.TypeOf((*SimpleCommandEncoding)(nil)).Elem()
+}
+
+type SlpDiscoveryMethod string
+
+const (
+ SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp")
+ SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast")
+ SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast")
+ SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual")
+)
+
+func init() {
+ t["SlpDiscoveryMethod"] = reflect.TypeOf((*SlpDiscoveryMethod)(nil)).Elem()
+}
+
+type SoftwarePackageConstraint string
+
+const (
+ SoftwarePackageConstraintEquals = SoftwarePackageConstraint("equals")
+ SoftwarePackageConstraintLessThan = SoftwarePackageConstraint("lessThan")
+ SoftwarePackageConstraintLessThanEqual = SoftwarePackageConstraint("lessThanEqual")
+ SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual")
+ SoftwarePackageConstraintGreaterThan = SoftwarePackageConstraint("greaterThan")
+)
+
+func init() {
+ t["SoftwarePackageConstraint"] = reflect.TypeOf((*SoftwarePackageConstraint)(nil)).Elem()
+}
+
+type SoftwarePackageVibType string
+
+const (
+ SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank")
+ SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools")
+ SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta")
+)
+
+func init() {
+ t["SoftwarePackageVibType"] = reflect.TypeOf((*SoftwarePackageVibType)(nil)).Elem()
+}
+
+type StateAlarmOperator string
+
+const (
+ StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual")
+ StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal")
+)
+
+func init() {
+ t["StateAlarmOperator"] = reflect.TypeOf((*StateAlarmOperator)(nil)).Elem()
+}
+
+type StorageDrsPodConfigInfoBehavior string
+
+const (
+ StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual")
+ StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated")
+)
+
+func init() {
+ t["StorageDrsPodConfigInfoBehavior"] = reflect.TypeOf((*StorageDrsPodConfigInfoBehavior)(nil)).Elem()
+}
+
+type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string
+
+const (
+ StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization")
+ StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace")
+)
+
+func init() {
+ t["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode)(nil)).Elem()
+}
+
+type StorageIORMThresholdMode string
+
+const (
+ StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic")
+ StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual")
+)
+
+func init() {
+ t["StorageIORMThresholdMode"] = reflect.TypeOf((*StorageIORMThresholdMode)(nil)).Elem()
+}
+
+type StoragePlacementSpecPlacementType string
+
+const (
+ StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create")
+ StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure")
+ StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate")
+ StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone")
+)
+
+func init() {
+ t["StoragePlacementSpecPlacementType"] = reflect.TypeOf((*StoragePlacementSpecPlacementType)(nil)).Elem()
+}
+
+type TaskFilterSpecRecursionOption string
+
+const (
+ TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self")
+ TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children")
+ TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all")
+)
+
+func init() {
+ t["TaskFilterSpecRecursionOption"] = reflect.TypeOf((*TaskFilterSpecRecursionOption)(nil)).Elem()
+}
+
+type TaskFilterSpecTimeOption string
+
+const (
+ TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime")
+ TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime")
+ TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime")
+)
+
+func init() {
+ t["TaskFilterSpecTimeOption"] = reflect.TypeOf((*TaskFilterSpecTimeOption)(nil)).Elem()
+}
+
+type TaskInfoState string
+
+const (
+ TaskInfoStateQueued = TaskInfoState("queued")
+ TaskInfoStateRunning = TaskInfoState("running")
+ TaskInfoStateSuccess = TaskInfoState("success")
+ TaskInfoStateError = TaskInfoState("error")
+)
+
+func init() {
+ t["TaskInfoState"] = reflect.TypeOf((*TaskInfoState)(nil)).Elem()
+}
+
+type ThirdPartyLicenseAssignmentFailedReason string
+
+const (
+ ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed")
+ ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled")
+)
+
+func init() {
+ t["ThirdPartyLicenseAssignmentFailedReason"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedReason)(nil)).Elem()
+}
+
+type UpgradePolicy string
+
+const (
+ UpgradePolicyManual = UpgradePolicy("manual")
+ UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle")
+)
+
+func init() {
+ t["UpgradePolicy"] = reflect.TypeOf((*UpgradePolicy)(nil)).Elem()
+}
+
+type VAppAutoStartAction string
+
+const (
+ VAppAutoStartActionNone = VAppAutoStartAction("none")
+ VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn")
+ VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff")
+ VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown")
+ VAppAutoStartActionSuspend = VAppAutoStartAction("suspend")
+)
+
+func init() {
+ t["VAppAutoStartAction"] = reflect.TypeOf((*VAppAutoStartAction)(nil)).Elem()
+}
+
+type VAppCloneSpecProvisioningType string
+
+const (
+ VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource")
+ VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin")
+ VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick")
+)
+
+func init() {
+ t["VAppCloneSpecProvisioningType"] = reflect.TypeOf((*VAppCloneSpecProvisioningType)(nil)).Elem()
+}
+
+type VAppIPAssignmentInfoAllocationSchemes string
+
+const (
+ VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp")
+ VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv")
+)
+
+func init() {
+ t["VAppIPAssignmentInfoAllocationSchemes"] = reflect.TypeOf((*VAppIPAssignmentInfoAllocationSchemes)(nil)).Elem()
+}
+
+type VAppIPAssignmentInfoIpAllocationPolicy string
+
+const (
+ VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy")
+ VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy")
+ VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy")
+ VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy")
+)
+
+func init() {
+ t["VAppIPAssignmentInfoIpAllocationPolicy"] = reflect.TypeOf((*VAppIPAssignmentInfoIpAllocationPolicy)(nil)).Elem()
+}
+
+type VAppIPAssignmentInfoProtocols string
+
+const (
+ VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4")
+ VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6")
+)
+
+func init() {
+ t["VAppIPAssignmentInfoProtocols"] = reflect.TypeOf((*VAppIPAssignmentInfoProtocols)(nil)).Elem()
+}
+
+type VFlashModuleNotSupportedReason string
+
+const (
+ VFlashModuleNotSupportedReasonCacheModeNotSupported = VFlashModuleNotSupportedReason("CacheModeNotSupported")
+ VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported")
+ VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported")
+ VFlashModuleNotSupportedReasonCacheReservationNotSupported = VFlashModuleNotSupportedReason("CacheReservationNotSupported")
+ VFlashModuleNotSupportedReasonDiskSizeNotSupported = VFlashModuleNotSupportedReason("DiskSizeNotSupported")
+)
+
+func init() {
+ t["VFlashModuleNotSupportedReason"] = reflect.TypeOf((*VFlashModuleNotSupportedReason)(nil)).Elem()
+}
+
+type VMotionCompatibilityType string
+
+const (
+ VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu")
+ VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software")
+)
+
+func init() {
+ t["VMotionCompatibilityType"] = reflect.TypeOf((*VMotionCompatibilityType)(nil)).Elem()
+}
+
+type VMwareDVSTeamingMatchStatus string
+
+const (
+ VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch")
+ VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch")
+ VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch")
+ VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch")
+)
+
+func init() {
+ t["VMwareDVSTeamingMatchStatus"] = reflect.TypeOf((*VMwareDVSTeamingMatchStatus)(nil)).Elem()
+}
+
+type VMwareDVSVspanSessionEncapType string
+
+const (
+ VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre")
+ VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2")
+ VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3")
+)
+
+func init() {
+ t["VMwareDVSVspanSessionEncapType"] = reflect.TypeOf((*VMwareDVSVspanSessionEncapType)(nil)).Elem()
+}
+
+type VMwareDVSVspanSessionType string
+
+const (
+ VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror")
+ VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror")
+ VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource")
+ VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest")
+ VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource")
+)
+
+func init() {
+ t["VMwareDVSVspanSessionType"] = reflect.TypeOf((*VMwareDVSVspanSessionType)(nil)).Elem()
+}
+
+type VMwareDvsLacpApiVersion string
+
+const (
+ VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag")
+ VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag")
+)
+
+func init() {
+ t["VMwareDvsLacpApiVersion"] = reflect.TypeOf((*VMwareDvsLacpApiVersion)(nil)).Elem()
+}
+
+type VMwareDvsLacpLoadBalanceAlgorithm string
+
+const (
+ VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac")
+ VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac")
+ VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort")
+ VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan")
+ VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp")
+ VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan")
+ VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId")
+)
+
+func init() {
+ t["VMwareDvsLacpLoadBalanceAlgorithm"] = reflect.TypeOf((*VMwareDvsLacpLoadBalanceAlgorithm)(nil)).Elem()
+}
+
+type VMwareDvsMulticastFilteringMode string
+
+const (
+ VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering")
+ VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping")
+)
+
+func init() {
+ t["VMwareDvsMulticastFilteringMode"] = reflect.TypeOf((*VMwareDvsMulticastFilteringMode)(nil)).Elem()
+}
+
+type VMwareUplinkLacpMode string
+
+const (
+ VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active")
+ VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive")
+)
+
+func init() {
+ t["VMwareUplinkLacpMode"] = reflect.TypeOf((*VMwareUplinkLacpMode)(nil)).Elem()
+}
+
+type VStorageObjectConsumptionType string
+
+const (
+ VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk")
+)
+
+func init() {
+ t["VStorageObjectConsumptionType"] = reflect.TypeOf((*VStorageObjectConsumptionType)(nil)).Elem()
+}
+
+type ValidateMigrationTestType string
+
+const (
+ ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests")
+ ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests")
+ ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests")
+ ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests")
+)
+
+func init() {
+ t["ValidateMigrationTestType"] = reflect.TypeOf((*ValidateMigrationTestType)(nil)).Elem()
+}
+
+type VchaClusterMode string
+
+const (
+ VchaClusterModeEnabled = VchaClusterMode("enabled")
+ VchaClusterModeDisabled = VchaClusterMode("disabled")
+ VchaClusterModeMaintenance = VchaClusterMode("maintenance")
+)
+
+func init() {
+ t["VchaClusterMode"] = reflect.TypeOf((*VchaClusterMode)(nil)).Elem()
+}
+
+type VchaClusterState string
+
+const (
+ VchaClusterStateHealthy = VchaClusterState("healthy")
+ VchaClusterStateDegraded = VchaClusterState("degraded")
+ VchaClusterStateIsolated = VchaClusterState("isolated")
+)
+
+func init() {
+ t["VchaClusterState"] = reflect.TypeOf((*VchaClusterState)(nil)).Elem()
+}
+
+type VchaNodeRole string
+
+const (
+ VchaNodeRoleActive = VchaNodeRole("active")
+ VchaNodeRolePassive = VchaNodeRole("passive")
+ VchaNodeRoleWitness = VchaNodeRole("witness")
+)
+
+func init() {
+ t["VchaNodeRole"] = reflect.TypeOf((*VchaNodeRole)(nil)).Elem()
+}
+
+type VchaNodeState string
+
+const (
+ VchaNodeStateUp = VchaNodeState("up")
+ VchaNodeStateDown = VchaNodeState("down")
+)
+
+func init() {
+ t["VchaNodeState"] = reflect.TypeOf((*VchaNodeState)(nil)).Elem()
+}
+
+type VchaState string
+
+const (
+ VchaStateConfigured = VchaState("configured")
+ VchaStateNotConfigured = VchaState("notConfigured")
+ VchaStateInvalid = VchaState("invalid")
+ VchaStatePrepared = VchaState("prepared")
+)
+
+func init() {
+ t["VchaState"] = reflect.TypeOf((*VchaState)(nil)).Elem()
+}
+
+type VirtualAppVAppState string
+
+const (
+ VirtualAppVAppStateStarted = VirtualAppVAppState("started")
+ VirtualAppVAppStateStopped = VirtualAppVAppState("stopped")
+ VirtualAppVAppStateStarting = VirtualAppVAppState("starting")
+ VirtualAppVAppStateStopping = VirtualAppVAppState("stopping")
+)
+
+func init() {
+ t["VirtualAppVAppState"] = reflect.TypeOf((*VirtualAppVAppState)(nil)).Elem()
+}
+
+type VirtualDeviceConfigSpecFileOperation string
+
+const (
+ VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create")
+ VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy")
+ VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace")
+)
+
+func init() {
+ t["VirtualDeviceConfigSpecFileOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecFileOperation)(nil)).Elem()
+}
+
+type VirtualDeviceConfigSpecOperation string
+
+const (
+ VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add")
+ VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove")
+ VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit")
+)
+
+func init() {
+ t["VirtualDeviceConfigSpecOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecOperation)(nil)).Elem()
+}
+
+type VirtualDeviceConnectInfoStatus string
+
+const (
+ VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok")
+ VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError")
+ VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError")
+ VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried")
+)
+
+func init() {
+ t["VirtualDeviceConnectInfoStatus"] = reflect.TypeOf((*VirtualDeviceConnectInfoStatus)(nil)).Elem()
+}
+
+type VirtualDeviceFileExtension string
+
+const (
+ VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso")
+ VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp")
+ VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk")
+ VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk")
+ VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm")
+)
+
+func init() {
+ t["VirtualDeviceFileExtension"] = reflect.TypeOf((*VirtualDeviceFileExtension)(nil)).Elem()
+}
+
+type VirtualDeviceURIBackingOptionDirection string
+
+const (
+ VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server")
+ VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client")
+)
+
+func init() {
+ t["VirtualDeviceURIBackingOptionDirection"] = reflect.TypeOf((*VirtualDeviceURIBackingOptionDirection)(nil)).Elem()
+}
+
+type VirtualDiskAdapterType string
+
+const (
+ VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide")
+ VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic")
+ VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic")
+)
+
+func init() {
+ t["VirtualDiskAdapterType"] = reflect.TypeOf((*VirtualDiskAdapterType)(nil)).Elem()
+}
+
+type VirtualDiskCompatibilityMode string
+
+const (
+ VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode")
+ VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode")
+)
+
+func init() {
+ t["VirtualDiskCompatibilityMode"] = reflect.TypeOf((*VirtualDiskCompatibilityMode)(nil)).Elem()
+}
+
+type VirtualDiskDeltaDiskFormat string
+
+const (
+ VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat")
+ VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat")
+ VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat")
+)
+
+func init() {
+ t["VirtualDiskDeltaDiskFormat"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormat)(nil)).Elem()
+}
+
+type VirtualDiskDeltaDiskFormatVariant string
+
+const (
+ VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant")
+ VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant")
+)
+
+func init() {
+ t["VirtualDiskDeltaDiskFormatVariant"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatVariant)(nil)).Elem()
+}
+
+type VirtualDiskMode string
+
+const (
+ VirtualDiskModePersistent = VirtualDiskMode("persistent")
+ VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent")
+ VirtualDiskModeUndoable = VirtualDiskMode("undoable")
+ VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent")
+ VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent")
+ VirtualDiskModeAppend = VirtualDiskMode("append")
+)
+
+func init() {
+ t["VirtualDiskMode"] = reflect.TypeOf((*VirtualDiskMode)(nil)).Elem()
+}
+
+type VirtualDiskSharing string
+
+const (
+ VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone")
+ VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter")
+)
+
+func init() {
+ t["VirtualDiskSharing"] = reflect.TypeOf((*VirtualDiskSharing)(nil)).Elem()
+}
+
+type VirtualDiskType string
+
+const (
+ VirtualDiskTypePreallocated = VirtualDiskType("preallocated")
+ VirtualDiskTypeThin = VirtualDiskType("thin")
+ VirtualDiskTypeSeSparse = VirtualDiskType("seSparse")
+ VirtualDiskTypeRdm = VirtualDiskType("rdm")
+ VirtualDiskTypeRdmp = VirtualDiskType("rdmp")
+ VirtualDiskTypeRaw = VirtualDiskType("raw")
+ VirtualDiskTypeDelta = VirtualDiskType("delta")
+ VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb")
+ VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb")
+ VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick")
+ VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic")
+ VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic")
+ VirtualDiskTypeThick = VirtualDiskType("thick")
+)
+
+func init() {
+ t["VirtualDiskType"] = reflect.TypeOf((*VirtualDiskType)(nil)).Elem()
+}
+
+type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string
+
+const (
+ VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong")
+ VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak")
+)
+
+func init() {
+ t["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheConsistencyType)(nil)).Elem()
+}
+
+type VirtualDiskVFlashCacheConfigInfoCacheMode string
+
+const (
+ VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru")
+ VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back")
+)
+
+func init() {
+ t["VirtualDiskVFlashCacheConfigInfoCacheMode"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheMode)(nil)).Elem()
+}
+
+type VirtualEthernetCardLegacyNetworkDeviceName string
+
+const (
+ VirtualEthernetCardLegacyNetworkDeviceNameBridged = VirtualEthernetCardLegacyNetworkDeviceName("bridged")
+ VirtualEthernetCardLegacyNetworkDeviceNameNat = VirtualEthernetCardLegacyNetworkDeviceName("nat")
+ VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly")
+)
+
+func init() {
+ t["VirtualEthernetCardLegacyNetworkDeviceName"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkDeviceName)(nil)).Elem()
+}
+
+type VirtualEthernetCardMacType string
+
+const (
+ VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual")
+ VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated")
+ VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned")
+)
+
+func init() {
+ t["VirtualEthernetCardMacType"] = reflect.TypeOf((*VirtualEthernetCardMacType)(nil)).Elem()
+}
+
+type VirtualMachineAppHeartbeatStatusType string
+
+const (
+ VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray")
+ VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen")
+ VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed")
+)
+
+func init() {
+ t["VirtualMachineAppHeartbeatStatusType"] = reflect.TypeOf((*VirtualMachineAppHeartbeatStatusType)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsNetworkBootProtocolType string
+
+const (
+ VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4")
+ VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6")
+)
+
+func init() {
+ t["VirtualMachineBootOptionsNetworkBootProtocolType"] = reflect.TypeOf((*VirtualMachineBootOptionsNetworkBootProtocolType)(nil)).Elem()
+}
+
+type VirtualMachineConfigInfoNpivWwnType string
+
+const (
+ VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc")
+ VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host")
+ VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external")
+)
+
+func init() {
+ t["VirtualMachineConfigInfoNpivWwnType"] = reflect.TypeOf((*VirtualMachineConfigInfoNpivWwnType)(nil)).Elem()
+}
+
+type VirtualMachineConfigInfoSwapPlacementType string
+
+const (
+ VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit")
+ VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory")
+ VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal")
+)
+
+func init() {
+ t["VirtualMachineConfigInfoSwapPlacementType"] = reflect.TypeOf((*VirtualMachineConfigInfoSwapPlacementType)(nil)).Elem()
+}
+
+type VirtualMachineConfigSpecEncryptedVMotionModes string
+
+const (
+ VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled")
+ VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic")
+ VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required")
+)
+
+func init() {
+ t["VirtualMachineConfigSpecEncryptedVMotionModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedVMotionModes)(nil)).Elem()
+}
+
+type VirtualMachineConfigSpecNpivWwnOp string
+
+const (
+ VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate")
+ VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set")
+ VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove")
+ VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend")
+)
+
+func init() {
+ t["VirtualMachineConfigSpecNpivWwnOp"] = reflect.TypeOf((*VirtualMachineConfigSpecNpivWwnOp)(nil)).Elem()
+}
+
+type VirtualMachineConnectionState string
+
+const (
+ VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected")
+ VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected")
+ VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned")
+ VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible")
+ VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid")
+)
+
+func init() {
+ t["VirtualMachineConnectionState"] = reflect.TypeOf((*VirtualMachineConnectionState)(nil)).Elem()
+}
+
+type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string
+
+const (
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork")
+)
+
+func init() {
+ t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
+}
+
+type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string
+
+const (
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector")
+ VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive")
+)
+
+func init() {
+ t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm)(nil)).Elem()
+}
+
+type VirtualMachineFaultToleranceState string
+
+const (
+ VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured")
+ VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled")
+ VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled")
+ VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary")
+ VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting")
+ VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running")
+)
+
+func init() {
+ t["VirtualMachineFaultToleranceState"] = reflect.TypeOf((*VirtualMachineFaultToleranceState)(nil)).Elem()
+}
+
+type VirtualMachineFaultToleranceType string
+
+const (
+ VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset")
+ VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay")
+ VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing")
+)
+
+func init() {
+ t["VirtualMachineFaultToleranceType"] = reflect.TypeOf((*VirtualMachineFaultToleranceType)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutExFileType string
+
+const (
+ VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config")
+ VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig")
+ VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor")
+ VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent")
+ VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor")
+ VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent")
+ VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState")
+ VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log")
+ VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat")
+ VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData")
+ VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram")
+ VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData")
+ VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory")
+ VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList")
+ VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList")
+ VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend")
+ VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory")
+ VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap")
+ VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap")
+ VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core")
+ VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot")
+ VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata")
+ VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization")
+)
+
+func init() {
+ t["VirtualMachineFileLayoutExFileType"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileType)(nil)).Elem()
+}
+
+type VirtualMachineFlagInfoMonitorType string
+
+const (
+ VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release")
+ VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug")
+ VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats")
+)
+
+func init() {
+ t["VirtualMachineFlagInfoMonitorType"] = reflect.TypeOf((*VirtualMachineFlagInfoMonitorType)(nil)).Elem()
+}
+
+type VirtualMachineFlagInfoVirtualExecUsage string
+
+const (
+ VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto")
+ VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn")
+ VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff")
+)
+
+func init() {
+ t["VirtualMachineFlagInfoVirtualExecUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualExecUsage)(nil)).Elem()
+}
+
+type VirtualMachineFlagInfoVirtualMmuUsage string
+
+const (
+ VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic")
+ VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on")
+ VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off")
+)
+
+func init() {
+ t["VirtualMachineFlagInfoVirtualMmuUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualMmuUsage)(nil)).Elem()
+}
+
+type VirtualMachineForkConfigInfoChildType string
+
+const (
+ VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none")
+ VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent")
+ VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent")
+)
+
+func init() {
+ t["VirtualMachineForkConfigInfoChildType"] = reflect.TypeOf((*VirtualMachineForkConfigInfoChildType)(nil)).Elem()
+}
+
+type VirtualMachineGuestOsFamily string
+
+const (
+ VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest")
+ VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest")
+ VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest")
+ VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest")
+ VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily")
+ VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily")
+)
+
+func init() {
+ t["VirtualMachineGuestOsFamily"] = reflect.TypeOf((*VirtualMachineGuestOsFamily)(nil)).Elem()
+}
+
+type VirtualMachineGuestOsIdentifier string
+
+const (
+ VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest")
+ VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest")
+ VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest")
+ VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest")
+ VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest")
+ VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest")
+ VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest")
+ VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest")
+ VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest")
+ VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest")
+ VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest")
+ VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest")
+ VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest")
+ VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest")
+ VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest")
+ VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest")
+ VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest")
+ VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest")
+ VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest")
+ VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest")
+ VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest")
+ VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest")
+ VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest")
+ VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest")
+ VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest")
+ VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest")
+ VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest")
+ VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest")
+ VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest")
+ VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest")
+ VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest")
+ VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest")
+ VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest")
+ VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest")
+ VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest")
+ VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest")
+ VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest")
+ VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest")
+ VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest")
+ VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest")
+ VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest")
+ VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest")
+ VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest")
+ VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest")
+ VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest")
+ VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest")
+ VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest")
+ VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest")
+ VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest")
+ VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest")
+ VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest")
+ VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest")
+ VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest")
+ VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest")
+ VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest")
+ VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest")
+ VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest")
+ VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest")
+ VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest")
+ VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest")
+ VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest")
+ VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest")
+ VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest")
+ VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest")
+ VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest")
+ VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest")
+ VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest")
+ VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest")
+ VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest")
+ VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest")
+ VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest")
+ VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest")
+ VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest")
+ VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest")
+ VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest")
+ VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest")
+ VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest")
+ VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest")
+ VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest")
+ VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest")
+ VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest")
+ VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest")
+ VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest")
+ VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest")
+ VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest")
+ VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest")
+ VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest")
+ VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest")
+ VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest")
+ VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest")
+ VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest")
+ VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest")
+ VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest")
+ VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest")
+ VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest")
+ VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest")
+ VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest")
+ VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest")
+ VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest")
+ VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest")
+ VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest")
+ VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest")
+ VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest")
+ VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest")
+ VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest")
+ VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest")
+ VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest")
+ VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest")
+ VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest")
+ VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest")
+ VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest")
+ VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest")
+ VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest")
+ VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest")
+ VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest")
+ VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest")
+ VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest")
+ VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest")
+ VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest")
+ VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest")
+ VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest")
+ VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest")
+ VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest")
+ VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest")
+ VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest")
+ VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest")
+ VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest")
+ VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest")
+ VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest")
+ VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest")
+ VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest")
+ VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest")
+ VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest")
+ VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest")
+ VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest")
+ VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest")
+ VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest")
+ VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest")
+ VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest")
+ VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest")
+ VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest")
+ VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest")
+ VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64")
+)
+
+func init() {
+ t["VirtualMachineGuestOsIdentifier"] = reflect.TypeOf((*VirtualMachineGuestOsIdentifier)(nil)).Elem()
+}
+
+type VirtualMachineGuestState string
+
+const (
+ VirtualMachineGuestStateRunning = VirtualMachineGuestState("running")
+ VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown")
+ VirtualMachineGuestStateResetting = VirtualMachineGuestState("resetting")
+ VirtualMachineGuestStateStandby = VirtualMachineGuestState("standby")
+ VirtualMachineGuestStateNotRunning = VirtualMachineGuestState("notRunning")
+ VirtualMachineGuestStateUnknown = VirtualMachineGuestState("unknown")
+)
+
+func init() {
+ t["VirtualMachineGuestState"] = reflect.TypeOf((*VirtualMachineGuestState)(nil)).Elem()
+}
+
+type VirtualMachineHtSharing string
+
+const (
+ VirtualMachineHtSharingAny = VirtualMachineHtSharing("any")
+ VirtualMachineHtSharingNone = VirtualMachineHtSharing("none")
+ VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal")
+)
+
+func init() {
+ t["VirtualMachineHtSharing"] = reflect.TypeOf((*VirtualMachineHtSharing)(nil)).Elem()
+}
+
+type VirtualMachineMemoryAllocationPolicy string
+
+const (
+ VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone")
+ VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome")
+ VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost")
+)
+
+func init() {
+ t["VirtualMachineMemoryAllocationPolicy"] = reflect.TypeOf((*VirtualMachineMemoryAllocationPolicy)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadataOp string
+
+const (
+ VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update")
+ VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove")
+)
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadataOp"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOp)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadataOwnerOwner string
+
+const (
+ VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA")
+)
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwnerOwner)(nil)).Elem()
+}
+
+type VirtualMachineMovePriority string
+
+const (
+ VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority")
+ VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority")
+ VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority")
+)
+
+func init() {
+ t["VirtualMachineMovePriority"] = reflect.TypeOf((*VirtualMachineMovePriority)(nil)).Elem()
+}
+
+type VirtualMachineNeedSecondaryReason string
+
+const (
+ VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing")
+ VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence")
+ VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection")
+ VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure")
+ VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction")
+ VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError")
+ VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other")
+)
+
+func init() {
+ t["VirtualMachineNeedSecondaryReason"] = reflect.TypeOf((*VirtualMachineNeedSecondaryReason)(nil)).Elem()
+}
+
+type VirtualMachinePowerOffBehavior string
+
+const (
+ VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff")
+ VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert")
+ VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt")
+ VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take")
+)
+
+func init() {
+ t["VirtualMachinePowerOffBehavior"] = reflect.TypeOf((*VirtualMachinePowerOffBehavior)(nil)).Elem()
+}
+
+type VirtualMachinePowerOpType string
+
+const (
+ VirtualMachinePowerOpTypeSoft = VirtualMachinePowerOpType("soft")
+ VirtualMachinePowerOpTypeHard = VirtualMachinePowerOpType("hard")
+ VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset")
+)
+
+func init() {
+ t["VirtualMachinePowerOpType"] = reflect.TypeOf((*VirtualMachinePowerOpType)(nil)).Elem()
+}
+
+type VirtualMachinePowerState string
+
+const (
+ VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff")
+ VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn")
+ VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended")
+)
+
+func init() {
+ t["VirtualMachinePowerState"] = reflect.TypeOf((*VirtualMachinePowerState)(nil)).Elem()
+}
+
+type VirtualMachineRecordReplayState string
+
+const (
+ VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording")
+ VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying")
+ VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive")
+)
+
+func init() {
+ t["VirtualMachineRecordReplayState"] = reflect.TypeOf((*VirtualMachineRecordReplayState)(nil)).Elem()
+}
+
+type VirtualMachineRelocateDiskMoveOptions string
+
+const (
+ VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing")
+ VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing")
+ VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking")
+ VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking")
+ VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate")
+)
+
+func init() {
+ t["VirtualMachineRelocateDiskMoveOptions"] = reflect.TypeOf((*VirtualMachineRelocateDiskMoveOptions)(nil)).Elem()
+}
+
+type VirtualMachineRelocateTransformation string
+
+const (
+ VirtualMachineRelocateTransformationFlat = VirtualMachineRelocateTransformation("flat")
+ VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse")
+)
+
+func init() {
+ t["VirtualMachineRelocateTransformation"] = reflect.TypeOf((*VirtualMachineRelocateTransformation)(nil)).Elem()
+}
+
+type VirtualMachineScsiPassthroughType string
+
+const (
+ VirtualMachineScsiPassthroughTypeDisk = VirtualMachineScsiPassthroughType("disk")
+ VirtualMachineScsiPassthroughTypeTape = VirtualMachineScsiPassthroughType("tape")
+ VirtualMachineScsiPassthroughTypePrinter = VirtualMachineScsiPassthroughType("printer")
+ VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor")
+ VirtualMachineScsiPassthroughTypeWorm = VirtualMachineScsiPassthroughType("worm")
+ VirtualMachineScsiPassthroughTypeCdrom = VirtualMachineScsiPassthroughType("cdrom")
+ VirtualMachineScsiPassthroughTypeScanner = VirtualMachineScsiPassthroughType("scanner")
+ VirtualMachineScsiPassthroughTypeOptical = VirtualMachineScsiPassthroughType("optical")
+ VirtualMachineScsiPassthroughTypeMedia = VirtualMachineScsiPassthroughType("media")
+ VirtualMachineScsiPassthroughTypeCom = VirtualMachineScsiPassthroughType("com")
+ VirtualMachineScsiPassthroughTypeRaid = VirtualMachineScsiPassthroughType("raid")
+ VirtualMachineScsiPassthroughTypeUnknown = VirtualMachineScsiPassthroughType("unknown")
+)
+
+func init() {
+ t["VirtualMachineScsiPassthroughType"] = reflect.TypeOf((*VirtualMachineScsiPassthroughType)(nil)).Elem()
+}
+
+type VirtualMachineStandbyActionType string
+
+const (
+ VirtualMachineStandbyActionTypeCheckpoint = VirtualMachineStandbyActionType("checkpoint")
+ VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend")
+)
+
+func init() {
+ t["VirtualMachineStandbyActionType"] = reflect.TypeOf((*VirtualMachineStandbyActionType)(nil)).Elem()
+}
+
+type VirtualMachineTargetInfoConfigurationTag string
+
+const (
+ VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant")
+ VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide")
+)
+
+func init() {
+ t["VirtualMachineTargetInfoConfigurationTag"] = reflect.TypeOf((*VirtualMachineTargetInfoConfigurationTag)(nil)).Elem()
+}
+
+type VirtualMachineTicketType string
+
+const (
+ VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks")
+ VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device")
+ VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl")
+ VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks")
+)
+
+func init() {
+ t["VirtualMachineTicketType"] = reflect.TypeOf((*VirtualMachineTicketType)(nil)).Elem()
+}
+
+type VirtualMachineToolsInstallType string
+
+const (
+ VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown")
+ VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI")
+ VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar")
+ VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP")
+ VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools")
+)
+
+func init() {
+ t["VirtualMachineToolsInstallType"] = reflect.TypeOf((*VirtualMachineToolsInstallType)(nil)).Elem()
+}
+
+type VirtualMachineToolsRunningStatus string
+
+const (
+ VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning")
+ VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning")
+ VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts")
+)
+
+func init() {
+ t["VirtualMachineToolsRunningStatus"] = reflect.TypeOf((*VirtualMachineToolsRunningStatus)(nil)).Elem()
+}
+
+type VirtualMachineToolsStatus string
+
+const (
+ VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled")
+ VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning")
+ VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld")
+ VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk")
+)
+
+func init() {
+ t["VirtualMachineToolsStatus"] = reflect.TypeOf((*VirtualMachineToolsStatus)(nil)).Elem()
+}
+
+type VirtualMachineToolsVersionStatus string
+
+const (
+ VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled")
+ VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade")
+ VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent")
+ VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged")
+ VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld")
+ VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld")
+ VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew")
+ VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew")
+ VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted")
+)
+
+func init() {
+ t["VirtualMachineToolsVersionStatus"] = reflect.TypeOf((*VirtualMachineToolsVersionStatus)(nil)).Elem()
+}
+
+type VirtualMachineUsbInfoFamily string
+
+const (
+ VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio")
+ VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid")
+ VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable")
+ VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical")
+ VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication")
+ VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging")
+ VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer")
+ VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage")
+ VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub")
+ VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card")
+ VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security")
+ VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video")
+ VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless")
+ VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth")
+ VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb")
+ VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda")
+ VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific")
+ VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other")
+ VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily")
+)
+
+func init() {
+ t["VirtualMachineUsbInfoFamily"] = reflect.TypeOf((*VirtualMachineUsbInfoFamily)(nil)).Elem()
+}
+
+type VirtualMachineUsbInfoSpeed string
+
+const (
+ VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low")
+ VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full")
+ VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high")
+ VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed")
+ VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed")
+)
+
+func init() {
+ t["VirtualMachineUsbInfoSpeed"] = reflect.TypeOf((*VirtualMachineUsbInfoSpeed)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceAction string
+
+const (
+ VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow")
+ VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny")
+)
+
+func init() {
+ t["VirtualMachineVMCIDeviceAction"] = reflect.TypeOf((*VirtualMachineVMCIDeviceAction)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceDirection string
+
+const (
+ VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest")
+ VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host")
+ VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection")
+)
+
+func init() {
+ t["VirtualMachineVMCIDeviceDirection"] = reflect.TypeOf((*VirtualMachineVMCIDeviceDirection)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceProtocol string
+
+const (
+ VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor")
+ VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell")
+ VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair")
+ VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram")
+ VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream")
+ VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol")
+)
+
+func init() {
+ t["VirtualMachineVMCIDeviceProtocol"] = reflect.TypeOf((*VirtualMachineVMCIDeviceProtocol)(nil)).Elem()
+}
+
+type VirtualMachineVideoCardUse3dRenderer string
+
+const (
+ VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic")
+ VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software")
+ VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware")
+)
+
+func init() {
+ t["VirtualMachineVideoCardUse3dRenderer"] = reflect.TypeOf((*VirtualMachineVideoCardUse3dRenderer)(nil)).Elem()
+}
+
+type VirtualMachineWindowsQuiesceSpecVssBackupContext string
+
+const (
+ VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto")
+ VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup")
+ VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup")
+)
+
+func init() {
+ t["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpecVssBackupContext)(nil)).Elem()
+}
+
+type VirtualPointingDeviceHostChoice string
+
+const (
+ VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect")
+ VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer")
+ VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2")
+ VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman")
+ VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial")
+ VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems")
+ VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial")
+ VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2")
+)
+
+func init() {
+ t["VirtualPointingDeviceHostChoice"] = reflect.TypeOf((*VirtualPointingDeviceHostChoice)(nil)).Elem()
+}
+
+type VirtualSCSISharing string
+
+const (
+ VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing")
+ VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing")
+ VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing")
+)
+
+func init() {
+ t["VirtualSCSISharing"] = reflect.TypeOf((*VirtualSCSISharing)(nil)).Elem()
+}
+
+type VirtualSerialPortEndPoint string
+
+const (
+ VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client")
+ VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server")
+)
+
+func init() {
+ t["VirtualSerialPortEndPoint"] = reflect.TypeOf((*VirtualSerialPortEndPoint)(nil)).Elem()
+}
+
+type VmDasBeingResetEventReasonCode string
+
+const (
+ VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure")
+ VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure")
+ VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest")
+ VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared")
+)
+
+func init() {
+ t["VmDasBeingResetEventReasonCode"] = reflect.TypeOf((*VmDasBeingResetEventReasonCode)(nil)).Elem()
+}
+
+type VmFailedStartingSecondaryEventFailureReason string
+
+const (
+ VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost")
+ VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed")
+ VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed")
+ VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed")
+)
+
+func init() {
+ t["VmFailedStartingSecondaryEventFailureReason"] = reflect.TypeOf((*VmFailedStartingSecondaryEventFailureReason)(nil)).Elem()
+}
+
+type VmFaultToleranceConfigIssueReasonForIssue string
+
+const (
+ VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled")
+ VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary")
+ VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported")
+ VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported")
+ VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm")
+ VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU")
+ VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive")
+ VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware")
+ VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct")
+ VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic")
+ VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic")
+ VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk")
+ VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet")
+ VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots")
+ VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig")
+ VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm")
+ VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk")
+ VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm")
+ VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled")
+ VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk")
+ VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth")
+ VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration")
+ VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration")
+ VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct")
+ VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported")
+ VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported")
+ VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled")
+ VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware")
+)
+
+func init() {
+ t["VmFaultToleranceConfigIssueReasonForIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssueReasonForIssue)(nil)).Elem()
+}
+
+type VmFaultToleranceInvalidFileBackingDeviceType string
+
+const (
+ VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy")
+ VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom")
+ VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort")
+ VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort")
+ VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk")
+)
+
+func init() {
+ t["VmFaultToleranceInvalidFileBackingDeviceType"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingDeviceType)(nil)).Elem()
+}
+
+type VmShutdownOnIsolationEventOperation string
+
+const (
+ VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown")
+ VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff")
+)
+
+func init() {
+ t["VmShutdownOnIsolationEventOperation"] = reflect.TypeOf((*VmShutdownOnIsolationEventOperation)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitchPvlanPortType string
+
+const (
+ VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous")
+ VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated")
+ VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community")
+)
+
+func init() {
+ t["VmwareDistributedVirtualSwitchPvlanPortType"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanPortType)(nil)).Elem()
+}
+
+type VsanDiskIssueType string
+
+const (
+ VsanDiskIssueTypeNonExist = VsanDiskIssueType("nonExist")
+ VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch")
+ VsanDiskIssueTypeUnknown = VsanDiskIssueType("unknown")
+)
+
+func init() {
+ t["VsanDiskIssueType"] = reflect.TypeOf((*VsanDiskIssueType)(nil)).Elem()
+}
+
+type VsanHostDecommissionModeObjectAction string
+
+const (
+ VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction")
+ VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility")
+ VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData")
+)
+
+func init() {
+ t["VsanHostDecommissionModeObjectAction"] = reflect.TypeOf((*VsanHostDecommissionModeObjectAction)(nil)).Elem()
+}
+
+type VsanHostDiskResultState string
+
+const (
+ VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse")
+ VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible")
+ VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible")
+)
+
+func init() {
+ t["VsanHostDiskResultState"] = reflect.TypeOf((*VsanHostDiskResultState)(nil)).Elem()
+}
+
+type VsanHostHealthState string
+
+const (
+ VsanHostHealthStateUnknown = VsanHostHealthState("unknown")
+ VsanHostHealthStateHealthy = VsanHostHealthState("healthy")
+ VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy")
+)
+
+func init() {
+ t["VsanHostHealthState"] = reflect.TypeOf((*VsanHostHealthState)(nil)).Elem()
+}
+
+type VsanHostNodeState string
+
+const (
+ VsanHostNodeStateError = VsanHostNodeState("error")
+ VsanHostNodeStateDisabled = VsanHostNodeState("disabled")
+ VsanHostNodeStateAgent = VsanHostNodeState("agent")
+ VsanHostNodeStateMaster = VsanHostNodeState("master")
+ VsanHostNodeStateBackup = VsanHostNodeState("backup")
+ VsanHostNodeStateStarting = VsanHostNodeState("starting")
+ VsanHostNodeStateStopping = VsanHostNodeState("stopping")
+ VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode")
+ VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode")
+ VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning")
+)
+
+func init() {
+ t["VsanHostNodeState"] = reflect.TypeOf((*VsanHostNodeState)(nil)).Elem()
+}
+
+type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string
+
+const (
+ VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add")
+ VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove")
+)
+
+func init() {
+ t["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOpType)(nil)).Elem()
+}
+
+type WeekOfMonth string
+
+const (
+ WeekOfMonthFirst = WeekOfMonth("first")
+ WeekOfMonthSecond = WeekOfMonth("second")
+ WeekOfMonthThird = WeekOfMonth("third")
+ WeekOfMonthFourth = WeekOfMonth("fourth")
+ WeekOfMonthLast = WeekOfMonth("last")
+)
+
+func init() {
+ t["WeekOfMonth"] = reflect.TypeOf((*WeekOfMonth)(nil)).Elem()
+}
+
+type WillLoseHAProtectionResolution string
+
+const (
+ WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion")
+ WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate")
+)
+
+func init() {
+ t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(nil)).Elem()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/fault.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/fault.go
new file mode 100644
index 00000000..c2503fa5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/fault.go
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 types
+
+type HasFault interface {
+ Fault() BaseMethodFault
+}
+
+func IsFileNotFound(err error) bool {
+ if f, ok := err.(HasFault); ok {
+ switch f.Fault().(type) {
+ case *FileNotFound:
+ return true
+ }
+ }
+
+ return false
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/helpers.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/helpers.go
new file mode 100644
index 00000000..2364ed42
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/helpers.go
@@ -0,0 +1,52 @@
+/*
+Copyright (c) 2015 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import "strings"
+
+func NewBool(v bool) *bool {
+ return &v
+}
+
+func NewReference(r ManagedObjectReference) *ManagedObjectReference {
+ return &r
+}
+
+func (r ManagedObjectReference) Reference() ManagedObjectReference {
+ return r
+}
+
+func (r ManagedObjectReference) String() string {
+ return strings.Join([]string{r.Type, r.Value}, ":")
+}
+
+func (r *ManagedObjectReference) FromString(o string) bool {
+ s := strings.SplitN(o, ":", 2)
+
+ if len(s) < 2 {
+ return false
+ }
+
+ r.Type = s[0]
+ r.Value = s[1]
+
+ return true
+}
+
+func (c *PerfCounterInfo) Name() string {
+ return c.GroupInfo.GetElementDescription().Key + "." + c.NameInfo.GetElementDescription().Key + "." + string(c.RollupType)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/if.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/if.go
new file mode 100644
index 00000000..dbf594cf
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/if.go
@@ -0,0 +1,3459 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import "reflect"
+
+func (b *Action) GetAction() *Action { return b }
+
+type BaseAction interface {
+ GetAction() *Action
+}
+
+func init() {
+ t["BaseAction"] = reflect.TypeOf((*Action)(nil)).Elem()
+}
+
+func (b *ActiveDirectoryFault) GetActiveDirectoryFault() *ActiveDirectoryFault { return b }
+
+type BaseActiveDirectoryFault interface {
+ GetActiveDirectoryFault() *ActiveDirectoryFault
+}
+
+func init() {
+ t["BaseActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem()
+}
+
+func (b *AlarmAction) GetAlarmAction() *AlarmAction { return b }
+
+type BaseAlarmAction interface {
+ GetAlarmAction() *AlarmAction
+}
+
+func init() {
+ t["BaseAlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem()
+}
+
+func (b *AlarmEvent) GetAlarmEvent() *AlarmEvent { return b }
+
+type BaseAlarmEvent interface {
+ GetAlarmEvent() *AlarmEvent
+}
+
+func init() {
+ t["BaseAlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem()
+}
+
+func (b *AlarmExpression) GetAlarmExpression() *AlarmExpression { return b }
+
+type BaseAlarmExpression interface {
+ GetAlarmExpression() *AlarmExpression
+}
+
+func init() {
+ t["BaseAlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem()
+}
+
+func (b *AlarmSpec) GetAlarmSpec() *AlarmSpec { return b }
+
+type BaseAlarmSpec interface {
+ GetAlarmSpec() *AlarmSpec
+}
+
+func init() {
+ t["BaseAlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem()
+}
+
+func (b *AnswerFileCreateSpec) GetAnswerFileCreateSpec() *AnswerFileCreateSpec { return b }
+
+type BaseAnswerFileCreateSpec interface {
+ GetAnswerFileCreateSpec() *AnswerFileCreateSpec
+}
+
+func init() {
+ t["BaseAnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem()
+}
+
+func (b *ApplyProfile) GetApplyProfile() *ApplyProfile { return b }
+
+type BaseApplyProfile interface {
+ GetApplyProfile() *ApplyProfile
+}
+
+func init() {
+ t["BaseApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem()
+}
+
+func (b *ArrayUpdateSpec) GetArrayUpdateSpec() *ArrayUpdateSpec { return b }
+
+type BaseArrayUpdateSpec interface {
+ GetArrayUpdateSpec() *ArrayUpdateSpec
+}
+
+func init() {
+ t["BaseArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem()
+}
+
+func (b *AuthorizationEvent) GetAuthorizationEvent() *AuthorizationEvent { return b }
+
+type BaseAuthorizationEvent interface {
+ GetAuthorizationEvent() *AuthorizationEvent
+}
+
+func init() {
+ t["BaseAuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem()
+}
+
+func (b *BaseConfigInfo) GetBaseConfigInfo() *BaseConfigInfo { return b }
+
+type BaseBaseConfigInfo interface {
+ GetBaseConfigInfo() *BaseConfigInfo
+}
+
+func init() {
+ t["BaseBaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem()
+}
+
+func (b *BaseConfigInfoBackingInfo) GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo {
+ return b
+}
+
+type BaseBaseConfigInfoBackingInfo interface {
+ GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo
+}
+
+func init() {
+ t["BaseBaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem()
+}
+
+func (b *BaseConfigInfoFileBackingInfo) GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo {
+ return b
+}
+
+type BaseBaseConfigInfoFileBackingInfo interface {
+ GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo
+}
+
+func init() {
+ t["BaseBaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem()
+}
+
+func (b *CannotAccessNetwork) GetCannotAccessNetwork() *CannotAccessNetwork { return b }
+
+type BaseCannotAccessNetwork interface {
+ GetCannotAccessNetwork() *CannotAccessNetwork
+}
+
+func init() {
+ t["BaseCannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem()
+}
+
+func (b *CannotAccessVmComponent) GetCannotAccessVmComponent() *CannotAccessVmComponent { return b }
+
+type BaseCannotAccessVmComponent interface {
+ GetCannotAccessVmComponent() *CannotAccessVmComponent
+}
+
+func init() {
+ t["BaseCannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem()
+}
+
+func (b *CannotAccessVmDevice) GetCannotAccessVmDevice() *CannotAccessVmDevice { return b }
+
+type BaseCannotAccessVmDevice interface {
+ GetCannotAccessVmDevice() *CannotAccessVmDevice
+}
+
+func init() {
+ t["BaseCannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem()
+}
+
+func (b *CannotAccessVmDisk) GetCannotAccessVmDisk() *CannotAccessVmDisk { return b }
+
+type BaseCannotAccessVmDisk interface {
+ GetCannotAccessVmDisk() *CannotAccessVmDisk
+}
+
+func init() {
+ t["BaseCannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem()
+}
+
+func (b *CannotMoveVsanEnabledHost) GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost {
+ return b
+}
+
+type BaseCannotMoveVsanEnabledHost interface {
+ GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost
+}
+
+func init() {
+ t["BaseCannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem()
+}
+
+func (b *ClusterAction) GetClusterAction() *ClusterAction { return b }
+
+type BaseClusterAction interface {
+ GetClusterAction() *ClusterAction
+}
+
+func init() {
+ t["BaseClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem()
+}
+
+func (b *ClusterDasAdmissionControlInfo) GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo {
+ return b
+}
+
+type BaseClusterDasAdmissionControlInfo interface {
+ GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo
+}
+
+func init() {
+ t["BaseClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem()
+}
+
+func (b *ClusterDasAdmissionControlPolicy) GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy {
+ return b
+}
+
+type BaseClusterDasAdmissionControlPolicy interface {
+ GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy
+}
+
+func init() {
+ t["BaseClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem()
+}
+
+func (b *ClusterDasAdvancedRuntimeInfo) GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo {
+ return b
+}
+
+type BaseClusterDasAdvancedRuntimeInfo interface {
+ GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo
+}
+
+func init() {
+ t["BaseClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem()
+}
+
+func (b *ClusterDasData) GetClusterDasData() *ClusterDasData { return b }
+
+type BaseClusterDasData interface {
+ GetClusterDasData() *ClusterDasData
+}
+
+func init() {
+ t["BaseClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem()
+}
+
+func (b *ClusterDasHostInfo) GetClusterDasHostInfo() *ClusterDasHostInfo { return b }
+
+type BaseClusterDasHostInfo interface {
+ GetClusterDasHostInfo() *ClusterDasHostInfo
+}
+
+func init() {
+ t["BaseClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem()
+}
+
+func (b *ClusterDrsFaultsFaultsByVm) GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm {
+ return b
+}
+
+type BaseClusterDrsFaultsFaultsByVm interface {
+ GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm
+}
+
+func init() {
+ t["BaseClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem()
+}
+
+func (b *ClusterEvent) GetClusterEvent() *ClusterEvent { return b }
+
+type BaseClusterEvent interface {
+ GetClusterEvent() *ClusterEvent
+}
+
+func init() {
+ t["BaseClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem()
+}
+
+func (b *ClusterGroupInfo) GetClusterGroupInfo() *ClusterGroupInfo { return b }
+
+type BaseClusterGroupInfo interface {
+ GetClusterGroupInfo() *ClusterGroupInfo
+}
+
+func init() {
+ t["BaseClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem()
+}
+
+func (b *ClusterOvercommittedEvent) GetClusterOvercommittedEvent() *ClusterOvercommittedEvent {
+ return b
+}
+
+type BaseClusterOvercommittedEvent interface {
+ GetClusterOvercommittedEvent() *ClusterOvercommittedEvent
+}
+
+func init() {
+ t["BaseClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem()
+}
+
+func (b *ClusterProfileConfigSpec) GetClusterProfileConfigSpec() *ClusterProfileConfigSpec { return b }
+
+type BaseClusterProfileConfigSpec interface {
+ GetClusterProfileConfigSpec() *ClusterProfileConfigSpec
+}
+
+func init() {
+ t["BaseClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem()
+}
+
+func (b *ClusterProfileCreateSpec) GetClusterProfileCreateSpec() *ClusterProfileCreateSpec { return b }
+
+type BaseClusterProfileCreateSpec interface {
+ GetClusterProfileCreateSpec() *ClusterProfileCreateSpec
+}
+
+func init() {
+ t["BaseClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem()
+}
+
+func (b *ClusterRuleInfo) GetClusterRuleInfo() *ClusterRuleInfo { return b }
+
+type BaseClusterRuleInfo interface {
+ GetClusterRuleInfo() *ClusterRuleInfo
+}
+
+func init() {
+ t["BaseClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem()
+}
+
+func (b *ClusterSlotPolicy) GetClusterSlotPolicy() *ClusterSlotPolicy { return b }
+
+type BaseClusterSlotPolicy interface {
+ GetClusterSlotPolicy() *ClusterSlotPolicy
+}
+
+func init() {
+ t["BaseClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem()
+}
+
+func (b *ClusterStatusChangedEvent) GetClusterStatusChangedEvent() *ClusterStatusChangedEvent {
+ return b
+}
+
+type BaseClusterStatusChangedEvent interface {
+ GetClusterStatusChangedEvent() *ClusterStatusChangedEvent
+}
+
+func init() {
+ t["BaseClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem()
+}
+
+func (b *ComputeResourceConfigInfo) GetComputeResourceConfigInfo() *ComputeResourceConfigInfo {
+ return b
+}
+
+type BaseComputeResourceConfigInfo interface {
+ GetComputeResourceConfigInfo() *ComputeResourceConfigInfo
+}
+
+func init() {
+ t["BaseComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem()
+}
+
+func (b *ComputeResourceConfigSpec) GetComputeResourceConfigSpec() *ComputeResourceConfigSpec {
+ return b
+}
+
+type BaseComputeResourceConfigSpec interface {
+ GetComputeResourceConfigSpec() *ComputeResourceConfigSpec
+}
+
+func init() {
+ t["BaseComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem()
+}
+
+func (b *ComputeResourceSummary) GetComputeResourceSummary() *ComputeResourceSummary { return b }
+
+type BaseComputeResourceSummary interface {
+ GetComputeResourceSummary() *ComputeResourceSummary
+}
+
+func init() {
+ t["BaseComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem()
+}
+
+func (b *CpuIncompatible) GetCpuIncompatible() *CpuIncompatible { return b }
+
+type BaseCpuIncompatible interface {
+ GetCpuIncompatible() *CpuIncompatible
+}
+
+func init() {
+ t["BaseCpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem()
+}
+
+func (b *CryptoSpec) GetCryptoSpec() *CryptoSpec { return b }
+
+type BaseCryptoSpec interface {
+ GetCryptoSpec() *CryptoSpec
+}
+
+func init() {
+ t["BaseCryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem()
+}
+
+func (b *CryptoSpecNoOp) GetCryptoSpecNoOp() *CryptoSpecNoOp { return b }
+
+type BaseCryptoSpecNoOp interface {
+ GetCryptoSpecNoOp() *CryptoSpecNoOp
+}
+
+func init() {
+ t["BaseCryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem()
+}
+
+func (b *CustomFieldDefEvent) GetCustomFieldDefEvent() *CustomFieldDefEvent { return b }
+
+type BaseCustomFieldDefEvent interface {
+ GetCustomFieldDefEvent() *CustomFieldDefEvent
+}
+
+func init() {
+ t["BaseCustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem()
+}
+
+func (b *CustomFieldEvent) GetCustomFieldEvent() *CustomFieldEvent { return b }
+
+type BaseCustomFieldEvent interface {
+ GetCustomFieldEvent() *CustomFieldEvent
+}
+
+func init() {
+ t["BaseCustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem()
+}
+
+func (b *CustomFieldValue) GetCustomFieldValue() *CustomFieldValue { return b }
+
+type BaseCustomFieldValue interface {
+ GetCustomFieldValue() *CustomFieldValue
+}
+
+func init() {
+ t["BaseCustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem()
+}
+
+func (b *CustomizationEvent) GetCustomizationEvent() *CustomizationEvent { return b }
+
+type BaseCustomizationEvent interface {
+ GetCustomizationEvent() *CustomizationEvent
+}
+
+func init() {
+ t["BaseCustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem()
+}
+
+func (b *CustomizationFailed) GetCustomizationFailed() *CustomizationFailed { return b }
+
+type BaseCustomizationFailed interface {
+ GetCustomizationFailed() *CustomizationFailed
+}
+
+func init() {
+ t["BaseCustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem()
+}
+
+func (b *CustomizationFault) GetCustomizationFault() *CustomizationFault { return b }
+
+type BaseCustomizationFault interface {
+ GetCustomizationFault() *CustomizationFault
+}
+
+func init() {
+ t["BaseCustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem()
+}
+
+func (b *CustomizationIdentitySettings) GetCustomizationIdentitySettings() *CustomizationIdentitySettings {
+ return b
+}
+
+type BaseCustomizationIdentitySettings interface {
+ GetCustomizationIdentitySettings() *CustomizationIdentitySettings
+}
+
+func init() {
+ t["BaseCustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem()
+}
+
+func (b *CustomizationIpGenerator) GetCustomizationIpGenerator() *CustomizationIpGenerator { return b }
+
+type BaseCustomizationIpGenerator interface {
+ GetCustomizationIpGenerator() *CustomizationIpGenerator
+}
+
+func init() {
+ t["BaseCustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem()
+}
+
+func (b *CustomizationIpV6Generator) GetCustomizationIpV6Generator() *CustomizationIpV6Generator {
+ return b
+}
+
+type BaseCustomizationIpV6Generator interface {
+ GetCustomizationIpV6Generator() *CustomizationIpV6Generator
+}
+
+func init() {
+ t["BaseCustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem()
+}
+
+func (b *CustomizationName) GetCustomizationName() *CustomizationName { return b }
+
+type BaseCustomizationName interface {
+ GetCustomizationName() *CustomizationName
+}
+
+func init() {
+ t["BaseCustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem()
+}
+
+func (b *CustomizationOptions) GetCustomizationOptions() *CustomizationOptions { return b }
+
+type BaseCustomizationOptions interface {
+ GetCustomizationOptions() *CustomizationOptions
+}
+
+func init() {
+ t["BaseCustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem()
+}
+
+func (b *DVPortSetting) GetDVPortSetting() *DVPortSetting { return b }
+
+type BaseDVPortSetting interface {
+ GetDVPortSetting() *DVPortSetting
+}
+
+func init() {
+ t["BaseDVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem()
+}
+
+func (b *DVPortgroupEvent) GetDVPortgroupEvent() *DVPortgroupEvent { return b }
+
+type BaseDVPortgroupEvent interface {
+ GetDVPortgroupEvent() *DVPortgroupEvent
+}
+
+func init() {
+ t["BaseDVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem()
+}
+
+func (b *DVPortgroupPolicy) GetDVPortgroupPolicy() *DVPortgroupPolicy { return b }
+
+type BaseDVPortgroupPolicy interface {
+ GetDVPortgroupPolicy() *DVPortgroupPolicy
+}
+
+func init() {
+ t["BaseDVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem()
+}
+
+func (b *DVSConfigInfo) GetDVSConfigInfo() *DVSConfigInfo { return b }
+
+type BaseDVSConfigInfo interface {
+ GetDVSConfigInfo() *DVSConfigInfo
+}
+
+func init() {
+ t["BaseDVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem()
+}
+
+func (b *DVSConfigSpec) GetDVSConfigSpec() *DVSConfigSpec { return b }
+
+type BaseDVSConfigSpec interface {
+ GetDVSConfigSpec() *DVSConfigSpec
+}
+
+func init() {
+ t["BaseDVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem()
+}
+
+func (b *DVSFeatureCapability) GetDVSFeatureCapability() *DVSFeatureCapability { return b }
+
+type BaseDVSFeatureCapability interface {
+ GetDVSFeatureCapability() *DVSFeatureCapability
+}
+
+func init() {
+ t["BaseDVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem()
+}
+
+func (b *DVSHealthCheckCapability) GetDVSHealthCheckCapability() *DVSHealthCheckCapability { return b }
+
+type BaseDVSHealthCheckCapability interface {
+ GetDVSHealthCheckCapability() *DVSHealthCheckCapability
+}
+
+func init() {
+ t["BaseDVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem()
+}
+
+func (b *DVSHealthCheckConfig) GetDVSHealthCheckConfig() *DVSHealthCheckConfig { return b }
+
+type BaseDVSHealthCheckConfig interface {
+ GetDVSHealthCheckConfig() *DVSHealthCheckConfig
+}
+
+func init() {
+ t["BaseDVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem()
+}
+
+func (b *DVSUplinkPortPolicy) GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy { return b }
+
+type BaseDVSUplinkPortPolicy interface {
+ GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy
+}
+
+func init() {
+ t["BaseDVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem()
+}
+
+func (b *DailyTaskScheduler) GetDailyTaskScheduler() *DailyTaskScheduler { return b }
+
+type BaseDailyTaskScheduler interface {
+ GetDailyTaskScheduler() *DailyTaskScheduler
+}
+
+func init() {
+ t["BaseDailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem()
+}
+
+func (b *DatacenterEvent) GetDatacenterEvent() *DatacenterEvent { return b }
+
+type BaseDatacenterEvent interface {
+ GetDatacenterEvent() *DatacenterEvent
+}
+
+func init() {
+ t["BaseDatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem()
+}
+
+func (b *DatastoreEvent) GetDatastoreEvent() *DatastoreEvent { return b }
+
+type BaseDatastoreEvent interface {
+ GetDatastoreEvent() *DatastoreEvent
+}
+
+func init() {
+ t["BaseDatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem()
+}
+
+func (b *DatastoreFileEvent) GetDatastoreFileEvent() *DatastoreFileEvent { return b }
+
+type BaseDatastoreFileEvent interface {
+ GetDatastoreFileEvent() *DatastoreFileEvent
+}
+
+func init() {
+ t["BaseDatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem()
+}
+
+func (b *DatastoreInfo) GetDatastoreInfo() *DatastoreInfo { return b }
+
+type BaseDatastoreInfo interface {
+ GetDatastoreInfo() *DatastoreInfo
+}
+
+func init() {
+ t["BaseDatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem()
+}
+
+func (b *DatastoreNotWritableOnHost) GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost {
+ return b
+}
+
+type BaseDatastoreNotWritableOnHost interface {
+ GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost
+}
+
+func init() {
+ t["BaseDatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem()
+}
+
+func (b *Description) GetDescription() *Description { return b }
+
+type BaseDescription interface {
+ GetDescription() *Description
+}
+
+func init() {
+ t["BaseDescription"] = reflect.TypeOf((*Description)(nil)).Elem()
+}
+
+func (b *DeviceBackingNotSupported) GetDeviceBackingNotSupported() *DeviceBackingNotSupported {
+ return b
+}
+
+type BaseDeviceBackingNotSupported interface {
+ GetDeviceBackingNotSupported() *DeviceBackingNotSupported
+}
+
+func init() {
+ t["BaseDeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem()
+}
+
+func (b *DeviceNotSupported) GetDeviceNotSupported() *DeviceNotSupported { return b }
+
+type BaseDeviceNotSupported interface {
+ GetDeviceNotSupported() *DeviceNotSupported
+}
+
+func init() {
+ t["BaseDeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem()
+}
+
+func (b *DiskNotSupported) GetDiskNotSupported() *DiskNotSupported { return b }
+
+type BaseDiskNotSupported interface {
+ GetDiskNotSupported() *DiskNotSupported
+}
+
+func init() {
+ t["BaseDiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem()
+}
+
+func (b *DistributedVirtualSwitchHostMemberBacking) GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking {
+ return b
+}
+
+type BaseDistributedVirtualSwitchHostMemberBacking interface {
+ GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking
+}
+
+func init() {
+ t["BaseDistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem()
+}
+
+func (b *DistributedVirtualSwitchManagerHostDvsFilterSpec) GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec {
+ return b
+}
+
+type BaseDistributedVirtualSwitchManagerHostDvsFilterSpec interface {
+ GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec
+}
+
+func init() {
+ t["BaseDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
+}
+
+func (b *DvsEvent) GetDvsEvent() *DvsEvent { return b }
+
+type BaseDvsEvent interface {
+ GetDvsEvent() *DvsEvent
+}
+
+func init() {
+ t["BaseDvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem()
+}
+
+func (b *DvsFault) GetDvsFault() *DvsFault { return b }
+
+type BaseDvsFault interface {
+ GetDvsFault() *DvsFault
+}
+
+func init() {
+ t["BaseDvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem()
+}
+
+func (b *DvsFilterConfig) GetDvsFilterConfig() *DvsFilterConfig { return b }
+
+type BaseDvsFilterConfig interface {
+ GetDvsFilterConfig() *DvsFilterConfig
+}
+
+func init() {
+ t["BaseDvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem()
+}
+
+func (b *DvsHealthStatusChangeEvent) GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent {
+ return b
+}
+
+type BaseDvsHealthStatusChangeEvent interface {
+ GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["BaseDvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem()
+}
+
+func (b *DvsIpPort) GetDvsIpPort() *DvsIpPort { return b }
+
+type BaseDvsIpPort interface {
+ GetDvsIpPort() *DvsIpPort
+}
+
+func init() {
+ t["BaseDvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem()
+}
+
+func (b *DvsNetworkRuleAction) GetDvsNetworkRuleAction() *DvsNetworkRuleAction { return b }
+
+type BaseDvsNetworkRuleAction interface {
+ GetDvsNetworkRuleAction() *DvsNetworkRuleAction
+}
+
+func init() {
+ t["BaseDvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem()
+}
+
+func (b *DvsNetworkRuleQualifier) GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier { return b }
+
+type BaseDvsNetworkRuleQualifier interface {
+ GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier
+}
+
+func init() {
+ t["BaseDvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem()
+}
+
+func (b *DvsTrafficFilterConfig) GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig { return b }
+
+type BaseDvsTrafficFilterConfig interface {
+ GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig
+}
+
+func init() {
+ t["BaseDvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem()
+}
+
+func (b *DvsVNicProfile) GetDvsVNicProfile() *DvsVNicProfile { return b }
+
+type BaseDvsVNicProfile interface {
+ GetDvsVNicProfile() *DvsVNicProfile
+}
+
+func init() {
+ t["BaseDvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem()
+}
+
+func (b *DynamicData) GetDynamicData() *DynamicData { return b }
+
+type BaseDynamicData interface {
+ GetDynamicData() *DynamicData
+}
+
+func init() {
+ t["BaseDynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem()
+}
+
+func (b *EVCAdmissionFailed) GetEVCAdmissionFailed() *EVCAdmissionFailed { return b }
+
+type BaseEVCAdmissionFailed interface {
+ GetEVCAdmissionFailed() *EVCAdmissionFailed
+}
+
+func init() {
+ t["BaseEVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem()
+}
+
+func (b *EVCConfigFault) GetEVCConfigFault() *EVCConfigFault { return b }
+
+type BaseEVCConfigFault interface {
+ GetEVCConfigFault() *EVCConfigFault
+}
+
+func init() {
+ t["BaseEVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem()
+}
+
+func (b *ElementDescription) GetElementDescription() *ElementDescription { return b }
+
+type BaseElementDescription interface {
+ GetElementDescription() *ElementDescription
+}
+
+func init() {
+ t["BaseElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem()
+}
+
+func (b *EnteredStandbyModeEvent) GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent { return b }
+
+type BaseEnteredStandbyModeEvent interface {
+ GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent
+}
+
+func init() {
+ t["BaseEnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem()
+}
+
+func (b *EnteringStandbyModeEvent) GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent { return b }
+
+type BaseEnteringStandbyModeEvent interface {
+ GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent
+}
+
+func init() {
+ t["BaseEnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem()
+}
+
+func (b *EntityEventArgument) GetEntityEventArgument() *EntityEventArgument { return b }
+
+type BaseEntityEventArgument interface {
+ GetEntityEventArgument() *EntityEventArgument
+}
+
+func init() {
+ t["BaseEntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem()
+}
+
+func (b *Event) GetEvent() *Event { return b }
+
+type BaseEvent interface {
+ GetEvent() *Event
+}
+
+func init() {
+ t["BaseEvent"] = reflect.TypeOf((*Event)(nil)).Elem()
+}
+
+func (b *EventArgument) GetEventArgument() *EventArgument { return b }
+
+type BaseEventArgument interface {
+ GetEventArgument() *EventArgument
+}
+
+func init() {
+ t["BaseEventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem()
+}
+
+func (b *ExitStandbyModeFailedEvent) GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent {
+ return b
+}
+
+type BaseExitStandbyModeFailedEvent interface {
+ GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent
+}
+
+func init() {
+ t["BaseExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem()
+}
+
+func (b *ExitedStandbyModeEvent) GetExitedStandbyModeEvent() *ExitedStandbyModeEvent { return b }
+
+type BaseExitedStandbyModeEvent interface {
+ GetExitedStandbyModeEvent() *ExitedStandbyModeEvent
+}
+
+func init() {
+ t["BaseExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem()
+}
+
+func (b *ExitingStandbyModeEvent) GetExitingStandbyModeEvent() *ExitingStandbyModeEvent { return b }
+
+type BaseExitingStandbyModeEvent interface {
+ GetExitingStandbyModeEvent() *ExitingStandbyModeEvent
+}
+
+func init() {
+ t["BaseExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem()
+}
+
+func (b *ExpiredFeatureLicense) GetExpiredFeatureLicense() *ExpiredFeatureLicense { return b }
+
+type BaseExpiredFeatureLicense interface {
+ GetExpiredFeatureLicense() *ExpiredFeatureLicense
+}
+
+func init() {
+ t["BaseExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem()
+}
+
+func (b *FaultToleranceConfigInfo) GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo { return b }
+
+type BaseFaultToleranceConfigInfo interface {
+ GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo
+}
+
+func init() {
+ t["BaseFaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem()
+}
+
+func (b *FcoeFault) GetFcoeFault() *FcoeFault { return b }
+
+type BaseFcoeFault interface {
+ GetFcoeFault() *FcoeFault
+}
+
+func init() {
+ t["BaseFcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem()
+}
+
+func (b *FileBackedVirtualDiskSpec) GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec {
+ return b
+}
+
+type BaseFileBackedVirtualDiskSpec interface {
+ GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec
+}
+
+func init() {
+ t["BaseFileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem()
+}
+
+func (b *FileFault) GetFileFault() *FileFault { return b }
+
+type BaseFileFault interface {
+ GetFileFault() *FileFault
+}
+
+func init() {
+ t["BaseFileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem()
+}
+
+func (b *FileInfo) GetFileInfo() *FileInfo { return b }
+
+type BaseFileInfo interface {
+ GetFileInfo() *FileInfo
+}
+
+func init() {
+ t["BaseFileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem()
+}
+
+func (b *FileQuery) GetFileQuery() *FileQuery { return b }
+
+type BaseFileQuery interface {
+ GetFileQuery() *FileQuery
+}
+
+func init() {
+ t["BaseFileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem()
+}
+
+func (b *GatewayConnectFault) GetGatewayConnectFault() *GatewayConnectFault { return b }
+
+type BaseGatewayConnectFault interface {
+ GetGatewayConnectFault() *GatewayConnectFault
+}
+
+func init() {
+ t["BaseGatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem()
+}
+
+func (b *GatewayToHostConnectFault) GetGatewayToHostConnectFault() *GatewayToHostConnectFault {
+ return b
+}
+
+type BaseGatewayToHostConnectFault interface {
+ GetGatewayToHostConnectFault() *GatewayToHostConnectFault
+}
+
+func init() {
+ t["BaseGatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem()
+}
+
+func (b *GeneralEvent) GetGeneralEvent() *GeneralEvent { return b }
+
+type BaseGeneralEvent interface {
+ GetGeneralEvent() *GeneralEvent
+}
+
+func init() {
+ t["BaseGeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem()
+}
+
+func (b *GuestAuthSubject) GetGuestAuthSubject() *GuestAuthSubject { return b }
+
+type BaseGuestAuthSubject interface {
+ GetGuestAuthSubject() *GuestAuthSubject
+}
+
+func init() {
+ t["BaseGuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem()
+}
+
+func (b *GuestAuthentication) GetGuestAuthentication() *GuestAuthentication { return b }
+
+type BaseGuestAuthentication interface {
+ GetGuestAuthentication() *GuestAuthentication
+}
+
+func init() {
+ t["BaseGuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem()
+}
+
+func (b *GuestFileAttributes) GetGuestFileAttributes() *GuestFileAttributes { return b }
+
+type BaseGuestFileAttributes interface {
+ GetGuestFileAttributes() *GuestFileAttributes
+}
+
+func init() {
+ t["BaseGuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem()
+}
+
+func (b *GuestOperationsFault) GetGuestOperationsFault() *GuestOperationsFault { return b }
+
+type BaseGuestOperationsFault interface {
+ GetGuestOperationsFault() *GuestOperationsFault
+}
+
+func init() {
+ t["BaseGuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem()
+}
+
+func (b *GuestProgramSpec) GetGuestProgramSpec() *GuestProgramSpec { return b }
+
+type BaseGuestProgramSpec interface {
+ GetGuestProgramSpec() *GuestProgramSpec
+}
+
+func init() {
+ t["BaseGuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem()
+}
+
+func (b *GuestRegValueDataSpec) GetGuestRegValueDataSpec() *GuestRegValueDataSpec { return b }
+
+type BaseGuestRegValueDataSpec interface {
+ GetGuestRegValueDataSpec() *GuestRegValueDataSpec
+}
+
+func init() {
+ t["BaseGuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem()
+}
+
+func (b *GuestRegistryFault) GetGuestRegistryFault() *GuestRegistryFault { return b }
+
+type BaseGuestRegistryFault interface {
+ GetGuestRegistryFault() *GuestRegistryFault
+}
+
+func init() {
+ t["BaseGuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem()
+}
+
+func (b *GuestRegistryKeyFault) GetGuestRegistryKeyFault() *GuestRegistryKeyFault { return b }
+
+type BaseGuestRegistryKeyFault interface {
+ GetGuestRegistryKeyFault() *GuestRegistryKeyFault
+}
+
+func init() {
+ t["BaseGuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem()
+}
+
+func (b *GuestRegistryValueFault) GetGuestRegistryValueFault() *GuestRegistryValueFault { return b }
+
+type BaseGuestRegistryValueFault interface {
+ GetGuestRegistryValueFault() *GuestRegistryValueFault
+}
+
+func init() {
+ t["BaseGuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem()
+}
+
+func (b *HostAccountSpec) GetHostAccountSpec() *HostAccountSpec { return b }
+
+type BaseHostAccountSpec interface {
+ GetHostAccountSpec() *HostAccountSpec
+}
+
+func init() {
+ t["BaseHostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem()
+}
+
+func (b *HostAuthenticationStoreInfo) GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo {
+ return b
+}
+
+type BaseHostAuthenticationStoreInfo interface {
+ GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo
+}
+
+func init() {
+ t["BaseHostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem()
+}
+
+func (b *HostCommunication) GetHostCommunication() *HostCommunication { return b }
+
+type BaseHostCommunication interface {
+ GetHostCommunication() *HostCommunication
+}
+
+func init() {
+ t["BaseHostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem()
+}
+
+func (b *HostConfigFault) GetHostConfigFault() *HostConfigFault { return b }
+
+type BaseHostConfigFault interface {
+ GetHostConfigFault() *HostConfigFault
+}
+
+func init() {
+ t["BaseHostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem()
+}
+
+func (b *HostConnectFault) GetHostConnectFault() *HostConnectFault { return b }
+
+type BaseHostConnectFault interface {
+ GetHostConnectFault() *HostConnectFault
+}
+
+func init() {
+ t["BaseHostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem()
+}
+
+func (b *HostConnectInfoNetworkInfo) GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo {
+ return b
+}
+
+type BaseHostConnectInfoNetworkInfo interface {
+ GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo
+}
+
+func init() {
+ t["BaseHostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem()
+}
+
+func (b *HostDasEvent) GetHostDasEvent() *HostDasEvent { return b }
+
+type BaseHostDasEvent interface {
+ GetHostDasEvent() *HostDasEvent
+}
+
+func init() {
+ t["BaseHostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem()
+}
+
+func (b *HostDatastoreConnectInfo) GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo { return b }
+
+type BaseHostDatastoreConnectInfo interface {
+ GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo
+}
+
+func init() {
+ t["BaseHostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem()
+}
+
+func (b *HostDevice) GetHostDevice() *HostDevice { return b }
+
+type BaseHostDevice interface {
+ GetHostDevice() *HostDevice
+}
+
+func init() {
+ t["BaseHostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem()
+}
+
+func (b *HostDigestInfo) GetHostDigestInfo() *HostDigestInfo { return b }
+
+type BaseHostDigestInfo interface {
+ GetHostDigestInfo() *HostDigestInfo
+}
+
+func init() {
+ t["BaseHostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem()
+}
+
+func (b *HostDirectoryStoreInfo) GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo { return b }
+
+type BaseHostDirectoryStoreInfo interface {
+ GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo
+}
+
+func init() {
+ t["BaseHostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem()
+}
+
+func (b *HostDnsConfig) GetHostDnsConfig() *HostDnsConfig { return b }
+
+type BaseHostDnsConfig interface {
+ GetHostDnsConfig() *HostDnsConfig
+}
+
+func init() {
+ t["BaseHostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem()
+}
+
+func (b *HostEvent) GetHostEvent() *HostEvent { return b }
+
+type BaseHostEvent interface {
+ GetHostEvent() *HostEvent
+}
+
+func init() {
+ t["BaseHostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem()
+}
+
+func (b *HostFibreChannelHba) GetHostFibreChannelHba() *HostFibreChannelHba { return b }
+
+type BaseHostFibreChannelHba interface {
+ GetHostFibreChannelHba() *HostFibreChannelHba
+}
+
+func init() {
+ t["BaseHostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem()
+}
+
+func (b *HostFibreChannelTargetTransport) GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport {
+ return b
+}
+
+type BaseHostFibreChannelTargetTransport interface {
+ GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport
+}
+
+func init() {
+ t["BaseHostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem()
+}
+
+func (b *HostFileSystemVolume) GetHostFileSystemVolume() *HostFileSystemVolume { return b }
+
+type BaseHostFileSystemVolume interface {
+ GetHostFileSystemVolume() *HostFileSystemVolume
+}
+
+func init() {
+ t["BaseHostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem()
+}
+
+func (b *HostHardwareElementInfo) GetHostHardwareElementInfo() *HostHardwareElementInfo { return b }
+
+type BaseHostHardwareElementInfo interface {
+ GetHostHardwareElementInfo() *HostHardwareElementInfo
+}
+
+func init() {
+ t["BaseHostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem()
+}
+
+func (b *HostHostBusAdapter) GetHostHostBusAdapter() *HostHostBusAdapter { return b }
+
+type BaseHostHostBusAdapter interface {
+ GetHostHostBusAdapter() *HostHostBusAdapter
+}
+
+func init() {
+ t["BaseHostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem()
+}
+
+func (b *HostIpRouteConfig) GetHostIpRouteConfig() *HostIpRouteConfig { return b }
+
+type BaseHostIpRouteConfig interface {
+ GetHostIpRouteConfig() *HostIpRouteConfig
+}
+
+func init() {
+ t["BaseHostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem()
+}
+
+func (b *HostMemberHealthCheckResult) GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult {
+ return b
+}
+
+type BaseHostMemberHealthCheckResult interface {
+ GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult
+}
+
+func init() {
+ t["BaseHostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem()
+}
+
+func (b *HostMemberUplinkHealthCheckResult) GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult {
+ return b
+}
+
+type BaseHostMemberUplinkHealthCheckResult interface {
+ GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult
+}
+
+func init() {
+ t["BaseHostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem()
+}
+
+func (b *HostMultipathInfoLogicalUnitPolicy) GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy {
+ return b
+}
+
+type BaseHostMultipathInfoLogicalUnitPolicy interface {
+ GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy
+}
+
+func init() {
+ t["BaseHostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem()
+}
+
+func (b *HostPciPassthruConfig) GetHostPciPassthruConfig() *HostPciPassthruConfig { return b }
+
+type BaseHostPciPassthruConfig interface {
+ GetHostPciPassthruConfig() *HostPciPassthruConfig
+}
+
+func init() {
+ t["BaseHostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem()
+}
+
+func (b *HostPciPassthruInfo) GetHostPciPassthruInfo() *HostPciPassthruInfo { return b }
+
+type BaseHostPciPassthruInfo interface {
+ GetHostPciPassthruInfo() *HostPciPassthruInfo
+}
+
+func init() {
+ t["BaseHostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem()
+}
+
+func (b *HostPowerOpFailed) GetHostPowerOpFailed() *HostPowerOpFailed { return b }
+
+type BaseHostPowerOpFailed interface {
+ GetHostPowerOpFailed() *HostPowerOpFailed
+}
+
+func init() {
+ t["BaseHostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem()
+}
+
+func (b *HostProfileConfigSpec) GetHostProfileConfigSpec() *HostProfileConfigSpec { return b }
+
+type BaseHostProfileConfigSpec interface {
+ GetHostProfileConfigSpec() *HostProfileConfigSpec
+}
+
+func init() {
+ t["BaseHostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem()
+}
+
+func (b *HostProfilesEntityCustomizations) GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations {
+ return b
+}
+
+type BaseHostProfilesEntityCustomizations interface {
+ GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations
+}
+
+func init() {
+ t["BaseHostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem()
+}
+
+func (b *HostSriovDevicePoolInfo) GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo { return b }
+
+type BaseHostSriovDevicePoolInfo interface {
+ GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo
+}
+
+func init() {
+ t["BaseHostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem()
+}
+
+func (b *HostSystemSwapConfigurationSystemSwapOption) GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption {
+ return b
+}
+
+type BaseHostSystemSwapConfigurationSystemSwapOption interface {
+ GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption
+}
+
+func init() {
+ t["BaseHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
+}
+
+func (b *HostTargetTransport) GetHostTargetTransport() *HostTargetTransport { return b }
+
+type BaseHostTargetTransport interface {
+ GetHostTargetTransport() *HostTargetTransport
+}
+
+func init() {
+ t["BaseHostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem()
+}
+
+func (b *HostTpmEventDetails) GetHostTpmEventDetails() *HostTpmEventDetails { return b }
+
+type BaseHostTpmEventDetails interface {
+ GetHostTpmEventDetails() *HostTpmEventDetails
+}
+
+func init() {
+ t["BaseHostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem()
+}
+
+func (b *HostVirtualSwitchBridge) GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge { return b }
+
+type BaseHostVirtualSwitchBridge interface {
+ GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge
+}
+
+func init() {
+ t["BaseHostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem()
+}
+
+func (b *HourlyTaskScheduler) GetHourlyTaskScheduler() *HourlyTaskScheduler { return b }
+
+type BaseHourlyTaskScheduler interface {
+ GetHourlyTaskScheduler() *HourlyTaskScheduler
+}
+
+func init() {
+ t["BaseHourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem()
+}
+
+func (b *ImportSpec) GetImportSpec() *ImportSpec { return b }
+
+type BaseImportSpec interface {
+ GetImportSpec() *ImportSpec
+}
+
+func init() {
+ t["BaseImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem()
+}
+
+func (b *InaccessibleDatastore) GetInaccessibleDatastore() *InaccessibleDatastore { return b }
+
+type BaseInaccessibleDatastore interface {
+ GetInaccessibleDatastore() *InaccessibleDatastore
+}
+
+func init() {
+ t["BaseInaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem()
+}
+
+func (b *InheritablePolicy) GetInheritablePolicy() *InheritablePolicy { return b }
+
+type BaseInheritablePolicy interface {
+ GetInheritablePolicy() *InheritablePolicy
+}
+
+func init() {
+ t["BaseInheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem()
+}
+
+func (b *InsufficientHostCapacityFault) GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault {
+ return b
+}
+
+type BaseInsufficientHostCapacityFault interface {
+ GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault
+}
+
+func init() {
+ t["BaseInsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem()
+}
+
+func (b *InsufficientResourcesFault) GetInsufficientResourcesFault() *InsufficientResourcesFault {
+ return b
+}
+
+type BaseInsufficientResourcesFault interface {
+ GetInsufficientResourcesFault() *InsufficientResourcesFault
+}
+
+func init() {
+ t["BaseInsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem()
+}
+
+func (b *InsufficientStandbyResource) GetInsufficientStandbyResource() *InsufficientStandbyResource {
+ return b
+}
+
+type BaseInsufficientStandbyResource interface {
+ GetInsufficientStandbyResource() *InsufficientStandbyResource
+}
+
+func init() {
+ t["BaseInsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem()
+}
+
+func (b *InvalidArgument) GetInvalidArgument() *InvalidArgument { return b }
+
+type BaseInvalidArgument interface {
+ GetInvalidArgument() *InvalidArgument
+}
+
+func init() {
+ t["BaseInvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem()
+}
+
+func (b *InvalidCAMServer) GetInvalidCAMServer() *InvalidCAMServer { return b }
+
+type BaseInvalidCAMServer interface {
+ GetInvalidCAMServer() *InvalidCAMServer
+}
+
+func init() {
+ t["BaseInvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem()
+}
+
+func (b *InvalidDatastore) GetInvalidDatastore() *InvalidDatastore { return b }
+
+type BaseInvalidDatastore interface {
+ GetInvalidDatastore() *InvalidDatastore
+}
+
+func init() {
+ t["BaseInvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem()
+}
+
+func (b *InvalidDeviceSpec) GetInvalidDeviceSpec() *InvalidDeviceSpec { return b }
+
+type BaseInvalidDeviceSpec interface {
+ GetInvalidDeviceSpec() *InvalidDeviceSpec
+}
+
+func init() {
+ t["BaseInvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem()
+}
+
+func (b *InvalidFolder) GetInvalidFolder() *InvalidFolder { return b }
+
+type BaseInvalidFolder interface {
+ GetInvalidFolder() *InvalidFolder
+}
+
+func init() {
+ t["BaseInvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem()
+}
+
+func (b *InvalidFormat) GetInvalidFormat() *InvalidFormat { return b }
+
+type BaseInvalidFormat interface {
+ GetInvalidFormat() *InvalidFormat
+}
+
+func init() {
+ t["BaseInvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem()
+}
+
+func (b *InvalidHostState) GetInvalidHostState() *InvalidHostState { return b }
+
+type BaseInvalidHostState interface {
+ GetInvalidHostState() *InvalidHostState
+}
+
+func init() {
+ t["BaseInvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem()
+}
+
+func (b *InvalidLogin) GetInvalidLogin() *InvalidLogin { return b }
+
+type BaseInvalidLogin interface {
+ GetInvalidLogin() *InvalidLogin
+}
+
+func init() {
+ t["BaseInvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem()
+}
+
+func (b *InvalidPropertyValue) GetInvalidPropertyValue() *InvalidPropertyValue { return b }
+
+type BaseInvalidPropertyValue interface {
+ GetInvalidPropertyValue() *InvalidPropertyValue
+}
+
+func init() {
+ t["BaseInvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem()
+}
+
+func (b *InvalidRequest) GetInvalidRequest() *InvalidRequest { return b }
+
+type BaseInvalidRequest interface {
+ GetInvalidRequest() *InvalidRequest
+}
+
+func init() {
+ t["BaseInvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem()
+}
+
+func (b *InvalidState) GetInvalidState() *InvalidState { return b }
+
+type BaseInvalidState interface {
+ GetInvalidState() *InvalidState
+}
+
+func init() {
+ t["BaseInvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem()
+}
+
+func (b *InvalidVmConfig) GetInvalidVmConfig() *InvalidVmConfig { return b }
+
+type BaseInvalidVmConfig interface {
+ GetInvalidVmConfig() *InvalidVmConfig
+}
+
+func init() {
+ t["BaseInvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem()
+}
+
+func (b *IoFilterInfo) GetIoFilterInfo() *IoFilterInfo { return b }
+
+type BaseIoFilterInfo interface {
+ GetIoFilterInfo() *IoFilterInfo
+}
+
+func init() {
+ t["BaseIoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem()
+}
+
+func (b *IpAddress) GetIpAddress() *IpAddress { return b }
+
+type BaseIpAddress interface {
+ GetIpAddress() *IpAddress
+}
+
+func init() {
+ t["BaseIpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem()
+}
+
+func (b *IscsiFault) GetIscsiFault() *IscsiFault { return b }
+
+type BaseIscsiFault interface {
+ GetIscsiFault() *IscsiFault
+}
+
+func init() {
+ t["BaseIscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem()
+}
+
+func (b *LicenseEvent) GetLicenseEvent() *LicenseEvent { return b }
+
+type BaseLicenseEvent interface {
+ GetLicenseEvent() *LicenseEvent
+}
+
+func init() {
+ t["BaseLicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem()
+}
+
+func (b *LicenseSource) GetLicenseSource() *LicenseSource { return b }
+
+type BaseLicenseSource interface {
+ GetLicenseSource() *LicenseSource
+}
+
+func init() {
+ t["BaseLicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem()
+}
+
+func (b *MacAddress) GetMacAddress() *MacAddress { return b }
+
+type BaseMacAddress interface {
+ GetMacAddress() *MacAddress
+}
+
+func init() {
+ t["BaseMacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem()
+}
+
+func (b *MethodFault) GetMethodFault() *MethodFault { return b }
+
+type BaseMethodFault interface {
+ GetMethodFault() *MethodFault
+}
+
+func init() {
+ t["BaseMethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem()
+}
+
+func (b *MigrationEvent) GetMigrationEvent() *MigrationEvent { return b }
+
+type BaseMigrationEvent interface {
+ GetMigrationEvent() *MigrationEvent
+}
+
+func init() {
+ t["BaseMigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem()
+}
+
+func (b *MigrationFault) GetMigrationFault() *MigrationFault { return b }
+
+type BaseMigrationFault interface {
+ GetMigrationFault() *MigrationFault
+}
+
+func init() {
+ t["BaseMigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem()
+}
+
+func (b *MigrationFeatureNotSupported) GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported {
+ return b
+}
+
+type BaseMigrationFeatureNotSupported interface {
+ GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported
+}
+
+func init() {
+ t["BaseMigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem()
+}
+
+func (b *MonthlyTaskScheduler) GetMonthlyTaskScheduler() *MonthlyTaskScheduler { return b }
+
+type BaseMonthlyTaskScheduler interface {
+ GetMonthlyTaskScheduler() *MonthlyTaskScheduler
+}
+
+func init() {
+ t["BaseMonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem()
+}
+
+func (b *NasConfigFault) GetNasConfigFault() *NasConfigFault { return b }
+
+type BaseNasConfigFault interface {
+ GetNasConfigFault() *NasConfigFault
+}
+
+func init() {
+ t["BaseNasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem()
+}
+
+func (b *NegatableExpression) GetNegatableExpression() *NegatableExpression { return b }
+
+type BaseNegatableExpression interface {
+ GetNegatableExpression() *NegatableExpression
+}
+
+func init() {
+ t["BaseNegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem()
+}
+
+func (b *NetBIOSConfigInfo) GetNetBIOSConfigInfo() *NetBIOSConfigInfo { return b }
+
+type BaseNetBIOSConfigInfo interface {
+ GetNetBIOSConfigInfo() *NetBIOSConfigInfo
+}
+
+func init() {
+ t["BaseNetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem()
+}
+
+func (b *NetworkSummary) GetNetworkSummary() *NetworkSummary { return b }
+
+type BaseNetworkSummary interface {
+ GetNetworkSummary() *NetworkSummary
+}
+
+func init() {
+ t["BaseNetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem()
+}
+
+func (b *NoCompatibleHost) GetNoCompatibleHost() *NoCompatibleHost { return b }
+
+type BaseNoCompatibleHost interface {
+ GetNoCompatibleHost() *NoCompatibleHost
+}
+
+func init() {
+ t["BaseNoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem()
+}
+
+func (b *NoPermission) GetNoPermission() *NoPermission { return b }
+
+type BaseNoPermission interface {
+ GetNoPermission() *NoPermission
+}
+
+func init() {
+ t["BaseNoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem()
+}
+
+func (b *NodeDeploymentSpec) GetNodeDeploymentSpec() *NodeDeploymentSpec { return b }
+
+type BaseNodeDeploymentSpec interface {
+ GetNodeDeploymentSpec() *NodeDeploymentSpec
+}
+
+func init() {
+ t["BaseNodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem()
+}
+
+func (b *NodeNetworkSpec) GetNodeNetworkSpec() *NodeNetworkSpec { return b }
+
+type BaseNodeNetworkSpec interface {
+ GetNodeNetworkSpec() *NodeNetworkSpec
+}
+
+func init() {
+ t["BaseNodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem()
+}
+
+func (b *NotEnoughCpus) GetNotEnoughCpus() *NotEnoughCpus { return b }
+
+type BaseNotEnoughCpus interface {
+ GetNotEnoughCpus() *NotEnoughCpus
+}
+
+func init() {
+ t["BaseNotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem()
+}
+
+func (b *NotEnoughLicenses) GetNotEnoughLicenses() *NotEnoughLicenses { return b }
+
+type BaseNotEnoughLicenses interface {
+ GetNotEnoughLicenses() *NotEnoughLicenses
+}
+
+func init() {
+ t["BaseNotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem()
+}
+
+func (b *NotSupported) GetNotSupported() *NotSupported { return b }
+
+type BaseNotSupported interface {
+ GetNotSupported() *NotSupported
+}
+
+func init() {
+ t["BaseNotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem()
+}
+
+func (b *NotSupportedHost) GetNotSupportedHost() *NotSupportedHost { return b }
+
+type BaseNotSupportedHost interface {
+ GetNotSupportedHost() *NotSupportedHost
+}
+
+func init() {
+ t["BaseNotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem()
+}
+
+func (b *NotSupportedHostInCluster) GetNotSupportedHostInCluster() *NotSupportedHostInCluster {
+ return b
+}
+
+type BaseNotSupportedHostInCluster interface {
+ GetNotSupportedHostInCluster() *NotSupportedHostInCluster
+}
+
+func init() {
+ t["BaseNotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem()
+}
+
+func (b *OptionType) GetOptionType() *OptionType { return b }
+
+type BaseOptionType interface {
+ GetOptionType() *OptionType
+}
+
+func init() {
+ t["BaseOptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem()
+}
+
+func (b *OptionValue) GetOptionValue() *OptionValue { return b }
+
+type BaseOptionValue interface {
+ GetOptionValue() *OptionValue
+}
+
+func init() {
+ t["BaseOptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem()
+}
+
+func (b *OvfAttribute) GetOvfAttribute() *OvfAttribute { return b }
+
+type BaseOvfAttribute interface {
+ GetOvfAttribute() *OvfAttribute
+}
+
+func init() {
+ t["BaseOvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem()
+}
+
+func (b *OvfConnectedDevice) GetOvfConnectedDevice() *OvfConnectedDevice { return b }
+
+type BaseOvfConnectedDevice interface {
+ GetOvfConnectedDevice() *OvfConnectedDevice
+}
+
+func init() {
+ t["BaseOvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem()
+}
+
+func (b *OvfConstraint) GetOvfConstraint() *OvfConstraint { return b }
+
+type BaseOvfConstraint interface {
+ GetOvfConstraint() *OvfConstraint
+}
+
+func init() {
+ t["BaseOvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem()
+}
+
+func (b *OvfConsumerCallbackFault) GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault { return b }
+
+type BaseOvfConsumerCallbackFault interface {
+ GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault
+}
+
+func init() {
+ t["BaseOvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem()
+}
+
+func (b *OvfElement) GetOvfElement() *OvfElement { return b }
+
+type BaseOvfElement interface {
+ GetOvfElement() *OvfElement
+}
+
+func init() {
+ t["BaseOvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem()
+}
+
+func (b *OvfExport) GetOvfExport() *OvfExport { return b }
+
+type BaseOvfExport interface {
+ GetOvfExport() *OvfExport
+}
+
+func init() {
+ t["BaseOvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem()
+}
+
+func (b *OvfFault) GetOvfFault() *OvfFault { return b }
+
+type BaseOvfFault interface {
+ GetOvfFault() *OvfFault
+}
+
+func init() {
+ t["BaseOvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem()
+}
+
+func (b *OvfHardwareExport) GetOvfHardwareExport() *OvfHardwareExport { return b }
+
+type BaseOvfHardwareExport interface {
+ GetOvfHardwareExport() *OvfHardwareExport
+}
+
+func init() {
+ t["BaseOvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem()
+}
+
+func (b *OvfImport) GetOvfImport() *OvfImport { return b }
+
+type BaseOvfImport interface {
+ GetOvfImport() *OvfImport
+}
+
+func init() {
+ t["BaseOvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem()
+}
+
+func (b *OvfInvalidPackage) GetOvfInvalidPackage() *OvfInvalidPackage { return b }
+
+type BaseOvfInvalidPackage interface {
+ GetOvfInvalidPackage() *OvfInvalidPackage
+}
+
+func init() {
+ t["BaseOvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem()
+}
+
+func (b *OvfInvalidValue) GetOvfInvalidValue() *OvfInvalidValue { return b }
+
+type BaseOvfInvalidValue interface {
+ GetOvfInvalidValue() *OvfInvalidValue
+}
+
+func init() {
+ t["BaseOvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem()
+}
+
+func (b *OvfManagerCommonParams) GetOvfManagerCommonParams() *OvfManagerCommonParams { return b }
+
+type BaseOvfManagerCommonParams interface {
+ GetOvfManagerCommonParams() *OvfManagerCommonParams
+}
+
+func init() {
+ t["BaseOvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem()
+}
+
+func (b *OvfMissingElement) GetOvfMissingElement() *OvfMissingElement { return b }
+
+type BaseOvfMissingElement interface {
+ GetOvfMissingElement() *OvfMissingElement
+}
+
+func init() {
+ t["BaseOvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem()
+}
+
+func (b *OvfProperty) GetOvfProperty() *OvfProperty { return b }
+
+type BaseOvfProperty interface {
+ GetOvfProperty() *OvfProperty
+}
+
+func init() {
+ t["BaseOvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem()
+}
+
+func (b *OvfSystemFault) GetOvfSystemFault() *OvfSystemFault { return b }
+
+type BaseOvfSystemFault interface {
+ GetOvfSystemFault() *OvfSystemFault
+}
+
+func init() {
+ t["BaseOvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem()
+}
+
+func (b *OvfUnsupportedAttribute) GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute { return b }
+
+type BaseOvfUnsupportedAttribute interface {
+ GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute
+}
+
+func init() {
+ t["BaseOvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem()
+}
+
+func (b *OvfUnsupportedElement) GetOvfUnsupportedElement() *OvfUnsupportedElement { return b }
+
+type BaseOvfUnsupportedElement interface {
+ GetOvfUnsupportedElement() *OvfUnsupportedElement
+}
+
+func init() {
+ t["BaseOvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem()
+}
+
+func (b *OvfUnsupportedPackage) GetOvfUnsupportedPackage() *OvfUnsupportedPackage { return b }
+
+type BaseOvfUnsupportedPackage interface {
+ GetOvfUnsupportedPackage() *OvfUnsupportedPackage
+}
+
+func init() {
+ t["BaseOvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem()
+}
+
+func (b *PatchMetadataInvalid) GetPatchMetadataInvalid() *PatchMetadataInvalid { return b }
+
+type BasePatchMetadataInvalid interface {
+ GetPatchMetadataInvalid() *PatchMetadataInvalid
+}
+
+func init() {
+ t["BasePatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem()
+}
+
+func (b *PatchNotApplicable) GetPatchNotApplicable() *PatchNotApplicable { return b }
+
+type BasePatchNotApplicable interface {
+ GetPatchNotApplicable() *PatchNotApplicable
+}
+
+func init() {
+ t["BasePatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem()
+}
+
+func (b *PerfEntityMetricBase) GetPerfEntityMetricBase() *PerfEntityMetricBase { return b }
+
+type BasePerfEntityMetricBase interface {
+ GetPerfEntityMetricBase() *PerfEntityMetricBase
+}
+
+func init() {
+ t["BasePerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem()
+}
+
+func (b *PerfMetricSeries) GetPerfMetricSeries() *PerfMetricSeries { return b }
+
+type BasePerfMetricSeries interface {
+ GetPerfMetricSeries() *PerfMetricSeries
+}
+
+func init() {
+ t["BasePerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem()
+}
+
+func (b *PermissionEvent) GetPermissionEvent() *PermissionEvent { return b }
+
+type BasePermissionEvent interface {
+ GetPermissionEvent() *PermissionEvent
+}
+
+func init() {
+ t["BasePermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem()
+}
+
+func (b *PhysicalNicHint) GetPhysicalNicHint() *PhysicalNicHint { return b }
+
+type BasePhysicalNicHint interface {
+ GetPhysicalNicHint() *PhysicalNicHint
+}
+
+func init() {
+ t["BasePhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem()
+}
+
+func (b *PlatformConfigFault) GetPlatformConfigFault() *PlatformConfigFault { return b }
+
+type BasePlatformConfigFault interface {
+ GetPlatformConfigFault() *PlatformConfigFault
+}
+
+func init() {
+ t["BasePlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem()
+}
+
+func (b *PolicyOption) GetPolicyOption() *PolicyOption { return b }
+
+type BasePolicyOption interface {
+ GetPolicyOption() *PolicyOption
+}
+
+func init() {
+ t["BasePolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem()
+}
+
+func (b *PortGroupProfile) GetPortGroupProfile() *PortGroupProfile { return b }
+
+type BasePortGroupProfile interface {
+ GetPortGroupProfile() *PortGroupProfile
+}
+
+func init() {
+ t["BasePortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem()
+}
+
+func (b *ProfileConfigInfo) GetProfileConfigInfo() *ProfileConfigInfo { return b }
+
+type BaseProfileConfigInfo interface {
+ GetProfileConfigInfo() *ProfileConfigInfo
+}
+
+func init() {
+ t["BaseProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem()
+}
+
+func (b *ProfileCreateSpec) GetProfileCreateSpec() *ProfileCreateSpec { return b }
+
+type BaseProfileCreateSpec interface {
+ GetProfileCreateSpec() *ProfileCreateSpec
+}
+
+func init() {
+ t["BaseProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem()
+}
+
+func (b *ProfileEvent) GetProfileEvent() *ProfileEvent { return b }
+
+type BaseProfileEvent interface {
+ GetProfileEvent() *ProfileEvent
+}
+
+func init() {
+ t["BaseProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem()
+}
+
+func (b *ProfileExecuteResult) GetProfileExecuteResult() *ProfileExecuteResult { return b }
+
+type BaseProfileExecuteResult interface {
+ GetProfileExecuteResult() *ProfileExecuteResult
+}
+
+func init() {
+ t["BaseProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem()
+}
+
+func (b *ProfileExpression) GetProfileExpression() *ProfileExpression { return b }
+
+type BaseProfileExpression interface {
+ GetProfileExpression() *ProfileExpression
+}
+
+func init() {
+ t["BaseProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem()
+}
+
+func (b *ProfilePolicyOptionMetadata) GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata {
+ return b
+}
+
+type BaseProfilePolicyOptionMetadata interface {
+ GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata
+}
+
+func init() {
+ t["BaseProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem()
+}
+
+func (b *ProfileSerializedCreateSpec) GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec {
+ return b
+}
+
+type BaseProfileSerializedCreateSpec interface {
+ GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec
+}
+
+func init() {
+ t["BaseProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem()
+}
+
+func (b *RDMNotSupported) GetRDMNotSupported() *RDMNotSupported { return b }
+
+type BaseRDMNotSupported interface {
+ GetRDMNotSupported() *RDMNotSupported
+}
+
+func init() {
+ t["BaseRDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem()
+}
+
+func (b *RecurrentTaskScheduler) GetRecurrentTaskScheduler() *RecurrentTaskScheduler { return b }
+
+type BaseRecurrentTaskScheduler interface {
+ GetRecurrentTaskScheduler() *RecurrentTaskScheduler
+}
+
+func init() {
+ t["BaseRecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem()
+}
+
+func (b *ReplicationConfigFault) GetReplicationConfigFault() *ReplicationConfigFault { return b }
+
+type BaseReplicationConfigFault interface {
+ GetReplicationConfigFault() *ReplicationConfigFault
+}
+
+func init() {
+ t["BaseReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem()
+}
+
+func (b *ReplicationFault) GetReplicationFault() *ReplicationFault { return b }
+
+type BaseReplicationFault interface {
+ GetReplicationFault() *ReplicationFault
+}
+
+func init() {
+ t["BaseReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem()
+}
+
+func (b *ReplicationVmFault) GetReplicationVmFault() *ReplicationVmFault { return b }
+
+type BaseReplicationVmFault interface {
+ GetReplicationVmFault() *ReplicationVmFault
+}
+
+func init() {
+ t["BaseReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem()
+}
+
+func (b *ResourceAllocationInfo) GetResourceAllocationInfo() *ResourceAllocationInfo { return b }
+
+type BaseResourceAllocationInfo interface {
+ GetResourceAllocationInfo() *ResourceAllocationInfo
+}
+
+func init() {
+ t["BaseResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem()
+}
+
+func (b *ResourceInUse) GetResourceInUse() *ResourceInUse { return b }
+
+type BaseResourceInUse interface {
+ GetResourceInUse() *ResourceInUse
+}
+
+func init() {
+ t["BaseResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem()
+}
+
+func (b *ResourcePoolEvent) GetResourcePoolEvent() *ResourcePoolEvent { return b }
+
+type BaseResourcePoolEvent interface {
+ GetResourcePoolEvent() *ResourcePoolEvent
+}
+
+func init() {
+ t["BaseResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem()
+}
+
+func (b *ResourcePoolSummary) GetResourcePoolSummary() *ResourcePoolSummary { return b }
+
+type BaseResourcePoolSummary interface {
+ GetResourcePoolSummary() *ResourcePoolSummary
+}
+
+func init() {
+ t["BaseResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem()
+}
+
+func (b *RoleEvent) GetRoleEvent() *RoleEvent { return b }
+
+type BaseRoleEvent interface {
+ GetRoleEvent() *RoleEvent
+}
+
+func init() {
+ t["BaseRoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem()
+}
+
+func (b *RuntimeFault) GetRuntimeFault() *RuntimeFault { return b }
+
+type BaseRuntimeFault interface {
+ GetRuntimeFault() *RuntimeFault
+}
+
+func init() {
+ t["BaseRuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem()
+}
+
+func (b *ScheduledTaskEvent) GetScheduledTaskEvent() *ScheduledTaskEvent { return b }
+
+type BaseScheduledTaskEvent interface {
+ GetScheduledTaskEvent() *ScheduledTaskEvent
+}
+
+func init() {
+ t["BaseScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem()
+}
+
+func (b *ScheduledTaskSpec) GetScheduledTaskSpec() *ScheduledTaskSpec { return b }
+
+type BaseScheduledTaskSpec interface {
+ GetScheduledTaskSpec() *ScheduledTaskSpec
+}
+
+func init() {
+ t["BaseScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem()
+}
+
+func (b *ScsiLun) GetScsiLun() *ScsiLun { return b }
+
+type BaseScsiLun interface {
+ GetScsiLun() *ScsiLun
+}
+
+func init() {
+ t["BaseScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem()
+}
+
+func (b *SecurityError) GetSecurityError() *SecurityError { return b }
+
+type BaseSecurityError interface {
+ GetSecurityError() *SecurityError
+}
+
+func init() {
+ t["BaseSecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem()
+}
+
+func (b *SelectionSet) GetSelectionSet() *SelectionSet { return b }
+
+type BaseSelectionSet interface {
+ GetSelectionSet() *SelectionSet
+}
+
+func init() {
+ t["BaseSelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem()
+}
+
+func (b *SelectionSpec) GetSelectionSpec() *SelectionSpec { return b }
+
+type BaseSelectionSpec interface {
+ GetSelectionSpec() *SelectionSpec
+}
+
+func init() {
+ t["BaseSelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem()
+}
+
+func (b *ServiceLocatorCredential) GetServiceLocatorCredential() *ServiceLocatorCredential { return b }
+
+type BaseServiceLocatorCredential interface {
+ GetServiceLocatorCredential() *ServiceLocatorCredential
+}
+
+func init() {
+ t["BaseServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem()
+}
+
+func (b *SessionEvent) GetSessionEvent() *SessionEvent { return b }
+
+type BaseSessionEvent interface {
+ GetSessionEvent() *SessionEvent
+}
+
+func init() {
+ t["BaseSessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem()
+}
+
+func (b *SessionManagerServiceRequestSpec) GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec {
+ return b
+}
+
+type BaseSessionManagerServiceRequestSpec interface {
+ GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec
+}
+
+func init() {
+ t["BaseSessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem()
+}
+
+func (b *SnapshotCopyNotSupported) GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported { return b }
+
+type BaseSnapshotCopyNotSupported interface {
+ GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported
+}
+
+func init() {
+ t["BaseSnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem()
+}
+
+func (b *SnapshotFault) GetSnapshotFault() *SnapshotFault { return b }
+
+type BaseSnapshotFault interface {
+ GetSnapshotFault() *SnapshotFault
+}
+
+func init() {
+ t["BaseSnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem()
+}
+
+func (b *TaskEvent) GetTaskEvent() *TaskEvent { return b }
+
+type BaseTaskEvent interface {
+ GetTaskEvent() *TaskEvent
+}
+
+func init() {
+ t["BaseTaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem()
+}
+
+func (b *TaskInProgress) GetTaskInProgress() *TaskInProgress { return b }
+
+type BaseTaskInProgress interface {
+ GetTaskInProgress() *TaskInProgress
+}
+
+func init() {
+ t["BaseTaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem()
+}
+
+func (b *TaskReason) GetTaskReason() *TaskReason { return b }
+
+type BaseTaskReason interface {
+ GetTaskReason() *TaskReason
+}
+
+func init() {
+ t["BaseTaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem()
+}
+
+func (b *TaskScheduler) GetTaskScheduler() *TaskScheduler { return b }
+
+type BaseTaskScheduler interface {
+ GetTaskScheduler() *TaskScheduler
+}
+
+func init() {
+ t["BaseTaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem()
+}
+
+func (b *TemplateUpgradeEvent) GetTemplateUpgradeEvent() *TemplateUpgradeEvent { return b }
+
+type BaseTemplateUpgradeEvent interface {
+ GetTemplateUpgradeEvent() *TemplateUpgradeEvent
+}
+
+func init() {
+ t["BaseTemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem()
+}
+
+func (b *Timedout) GetTimedout() *Timedout { return b }
+
+type BaseTimedout interface {
+ GetTimedout() *Timedout
+}
+
+func init() {
+ t["BaseTimedout"] = reflect.TypeOf((*Timedout)(nil)).Elem()
+}
+
+func (b *TypeDescription) GetTypeDescription() *TypeDescription { return b }
+
+type BaseTypeDescription interface {
+ GetTypeDescription() *TypeDescription
+}
+
+func init() {
+ t["BaseTypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem()
+}
+
+func (b *UnsupportedDatastore) GetUnsupportedDatastore() *UnsupportedDatastore { return b }
+
+type BaseUnsupportedDatastore interface {
+ GetUnsupportedDatastore() *UnsupportedDatastore
+}
+
+func init() {
+ t["BaseUnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem()
+}
+
+func (b *UpgradeEvent) GetUpgradeEvent() *UpgradeEvent { return b }
+
+type BaseUpgradeEvent interface {
+ GetUpgradeEvent() *UpgradeEvent
+}
+
+func init() {
+ t["BaseUpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem()
+}
+
+func (b *UserSearchResult) GetUserSearchResult() *UserSearchResult { return b }
+
+type BaseUserSearchResult interface {
+ GetUserSearchResult() *UserSearchResult
+}
+
+func init() {
+ t["BaseUserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem()
+}
+
+func (b *VAppConfigFault) GetVAppConfigFault() *VAppConfigFault { return b }
+
+type BaseVAppConfigFault interface {
+ GetVAppConfigFault() *VAppConfigFault
+}
+
+func init() {
+ t["BaseVAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem()
+}
+
+func (b *VAppPropertyFault) GetVAppPropertyFault() *VAppPropertyFault { return b }
+
+type BaseVAppPropertyFault interface {
+ GetVAppPropertyFault() *VAppPropertyFault
+}
+
+func init() {
+ t["BaseVAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem()
+}
+
+func (b *VMotionInterfaceIssue) GetVMotionInterfaceIssue() *VMotionInterfaceIssue { return b }
+
+type BaseVMotionInterfaceIssue interface {
+ GetVMotionInterfaceIssue() *VMotionInterfaceIssue
+}
+
+func init() {
+ t["BaseVMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem()
+}
+
+func (b *VMwareDVSHealthCheckConfig) GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig {
+ return b
+}
+
+type BaseVMwareDVSHealthCheckConfig interface {
+ GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig
+}
+
+func init() {
+ t["BaseVMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem()
+}
+
+func (b *VimFault) GetVimFault() *VimFault { return b }
+
+type BaseVimFault interface {
+ GetVimFault() *VimFault
+}
+
+func init() {
+ t["BaseVimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem()
+}
+
+func (b *VirtualController) GetVirtualController() *VirtualController { return b }
+
+type BaseVirtualController interface {
+ GetVirtualController() *VirtualController
+}
+
+func init() {
+ t["BaseVirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem()
+}
+
+func (b *VirtualControllerOption) GetVirtualControllerOption() *VirtualControllerOption { return b }
+
+type BaseVirtualControllerOption interface {
+ GetVirtualControllerOption() *VirtualControllerOption
+}
+
+func init() {
+ t["BaseVirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem()
+}
+
+func (b *VirtualDevice) GetVirtualDevice() *VirtualDevice { return b }
+
+type BaseVirtualDevice interface {
+ GetVirtualDevice() *VirtualDevice
+}
+
+func init() {
+ t["BaseVirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem()
+}
+
+func (b *VirtualDeviceBackingInfo) GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo { return b }
+
+type BaseVirtualDeviceBackingInfo interface {
+ GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceBackingOption) GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption {
+ return b
+}
+
+type BaseVirtualDeviceBackingOption interface {
+ GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption
+}
+
+func init() {
+ t["BaseVirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDeviceBusSlotInfo) GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo { return b }
+
+type BaseVirtualDeviceBusSlotInfo interface {
+ GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceConfigSpec) GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec { return b }
+
+type BaseVirtualDeviceConfigSpec interface {
+ GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec
+}
+
+func init() {
+ t["BaseVirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem()
+}
+
+func (b *VirtualDeviceDeviceBackingInfo) GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo {
+ return b
+}
+
+type BaseVirtualDeviceDeviceBackingInfo interface {
+ GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceDeviceBackingOption) GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption {
+ return b
+}
+
+type BaseVirtualDeviceDeviceBackingOption interface {
+ GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["BaseVirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDeviceFileBackingInfo) GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo {
+ return b
+}
+
+type BaseVirtualDeviceFileBackingInfo interface {
+ GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceFileBackingOption) GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption {
+ return b
+}
+
+type BaseVirtualDeviceFileBackingOption interface {
+ GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption
+}
+
+func init() {
+ t["BaseVirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDeviceOption) GetVirtualDeviceOption() *VirtualDeviceOption { return b }
+
+type BaseVirtualDeviceOption interface {
+ GetVirtualDeviceOption() *VirtualDeviceOption
+}
+
+func init() {
+ t["BaseVirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem()
+}
+
+func (b *VirtualDevicePciBusSlotInfo) GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo {
+ return b
+}
+
+type BaseVirtualDevicePciBusSlotInfo interface {
+ GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo
+}
+
+func init() {
+ t["BaseVirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem()
+}
+
+func (b *VirtualDevicePipeBackingInfo) GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo {
+ return b
+}
+
+type BaseVirtualDevicePipeBackingInfo interface {
+ GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDevicePipeBackingOption) GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption {
+ return b
+}
+
+type BaseVirtualDevicePipeBackingOption interface {
+ GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption
+}
+
+func init() {
+ t["BaseVirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDeviceRemoteDeviceBackingInfo) GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo {
+ return b
+}
+
+type BaseVirtualDeviceRemoteDeviceBackingInfo interface {
+ GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceRemoteDeviceBackingOption) GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption {
+ return b
+}
+
+type BaseVirtualDeviceRemoteDeviceBackingOption interface {
+ GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption
+}
+
+func init() {
+ t["BaseVirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDeviceURIBackingInfo) GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo {
+ return b
+}
+
+type BaseVirtualDeviceURIBackingInfo interface {
+ GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo
+}
+
+func init() {
+ t["BaseVirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDeviceURIBackingOption) GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption {
+ return b
+}
+
+type BaseVirtualDeviceURIBackingOption interface {
+ GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption
+}
+
+func init() {
+ t["BaseVirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDiskRawDiskVer2BackingInfo) GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo {
+ return b
+}
+
+type BaseVirtualDiskRawDiskVer2BackingInfo interface {
+ GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo
+}
+
+func init() {
+ t["BaseVirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualDiskRawDiskVer2BackingOption) GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption {
+ return b
+}
+
+type BaseVirtualDiskRawDiskVer2BackingOption interface {
+ GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption
+}
+
+func init() {
+ t["BaseVirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem()
+}
+
+func (b *VirtualDiskSpec) GetVirtualDiskSpec() *VirtualDiskSpec { return b }
+
+type BaseVirtualDiskSpec interface {
+ GetVirtualDiskSpec() *VirtualDiskSpec
+}
+
+func init() {
+ t["BaseVirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem()
+}
+
+func (b *VirtualEthernetCard) GetVirtualEthernetCard() *VirtualEthernetCard { return b }
+
+type BaseVirtualEthernetCard interface {
+ GetVirtualEthernetCard() *VirtualEthernetCard
+}
+
+func init() {
+ t["BaseVirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem()
+}
+
+func (b *VirtualEthernetCardOption) GetVirtualEthernetCardOption() *VirtualEthernetCardOption {
+ return b
+}
+
+type BaseVirtualEthernetCardOption interface {
+ GetVirtualEthernetCardOption() *VirtualEthernetCardOption
+}
+
+func init() {
+ t["BaseVirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem()
+}
+
+func (b *VirtualHardwareCompatibilityIssue) GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue {
+ return b
+}
+
+type BaseVirtualHardwareCompatibilityIssue interface {
+ GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue
+}
+
+func init() {
+ t["BaseVirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem()
+}
+
+func (b *VirtualMachineBootOptionsBootableDevice) GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice {
+ return b
+}
+
+type BaseVirtualMachineBootOptionsBootableDevice interface {
+ GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice
+}
+
+func init() {
+ t["BaseVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem()
+}
+
+func (b *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState) GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState {
+ return b
+}
+
+type BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState interface {
+ GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
+}
+
+func init() {
+ t["BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem()
+}
+
+func (b *VirtualMachineDiskDeviceInfo) GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo {
+ return b
+}
+
+type BaseVirtualMachineDiskDeviceInfo interface {
+ GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo
+}
+
+func init() {
+ t["BaseVirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem()
+}
+
+func (b *VirtualMachineGuestQuiesceSpec) GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec {
+ return b
+}
+
+type BaseVirtualMachineGuestQuiesceSpec interface {
+ GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec
+}
+
+func init() {
+ t["BaseVirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem()
+}
+
+func (b *VirtualMachinePciPassthroughInfo) GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo {
+ return b
+}
+
+type BaseVirtualMachinePciPassthroughInfo interface {
+ GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo
+}
+
+func init() {
+ t["BaseVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem()
+}
+
+func (b *VirtualMachineProfileSpec) GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec {
+ return b
+}
+
+type BaseVirtualMachineProfileSpec interface {
+ GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec
+}
+
+func init() {
+ t["BaseVirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem()
+}
+
+func (b *VirtualMachineSriovDevicePoolInfo) GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo {
+ return b
+}
+
+type BaseVirtualMachineSriovDevicePoolInfo interface {
+ GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo
+}
+
+func init() {
+ t["BaseVirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem()
+}
+
+func (b *VirtualMachineTargetInfo) GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo { return b }
+
+type BaseVirtualMachineTargetInfo interface {
+ GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo
+}
+
+func init() {
+ t["BaseVirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem()
+}
+
+func (b *VirtualPCIPassthroughPluginBackingInfo) GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo {
+ return b
+}
+
+type BaseVirtualPCIPassthroughPluginBackingInfo interface {
+ GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo
+}
+
+func init() {
+ t["BaseVirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem()
+}
+
+func (b *VirtualPCIPassthroughPluginBackingOption) GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption {
+ return b
+}
+
+type BaseVirtualPCIPassthroughPluginBackingOption interface {
+ GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption
+}
+
+func init() {
+ t["BaseVirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem()
+}
+
+func (b *VirtualSATAController) GetVirtualSATAController() *VirtualSATAController { return b }
+
+type BaseVirtualSATAController interface {
+ GetVirtualSATAController() *VirtualSATAController
+}
+
+func init() {
+ t["BaseVirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem()
+}
+
+func (b *VirtualSATAControllerOption) GetVirtualSATAControllerOption() *VirtualSATAControllerOption {
+ return b
+}
+
+type BaseVirtualSATAControllerOption interface {
+ GetVirtualSATAControllerOption() *VirtualSATAControllerOption
+}
+
+func init() {
+ t["BaseVirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem()
+}
+
+func (b *VirtualSCSIController) GetVirtualSCSIController() *VirtualSCSIController { return b }
+
+type BaseVirtualSCSIController interface {
+ GetVirtualSCSIController() *VirtualSCSIController
+}
+
+func init() {
+ t["BaseVirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem()
+}
+
+func (b *VirtualSCSIControllerOption) GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption {
+ return b
+}
+
+type BaseVirtualSCSIControllerOption interface {
+ GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption
+}
+
+func init() {
+ t["BaseVirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem()
+}
+
+func (b *VirtualSoundCard) GetVirtualSoundCard() *VirtualSoundCard { return b }
+
+type BaseVirtualSoundCard interface {
+ GetVirtualSoundCard() *VirtualSoundCard
+}
+
+func init() {
+ t["BaseVirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem()
+}
+
+func (b *VirtualSoundCardOption) GetVirtualSoundCardOption() *VirtualSoundCardOption { return b }
+
+type BaseVirtualSoundCardOption interface {
+ GetVirtualSoundCardOption() *VirtualSoundCardOption
+}
+
+func init() {
+ t["BaseVirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem()
+}
+
+func (b *VirtualVmxnet) GetVirtualVmxnet() *VirtualVmxnet { return b }
+
+type BaseVirtualVmxnet interface {
+ GetVirtualVmxnet() *VirtualVmxnet
+}
+
+func init() {
+ t["BaseVirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem()
+}
+
+func (b *VirtualVmxnet3) GetVirtualVmxnet3() *VirtualVmxnet3 { return b }
+
+type BaseVirtualVmxnet3 interface {
+ GetVirtualVmxnet3() *VirtualVmxnet3
+}
+
+func init() {
+ t["BaseVirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem()
+}
+
+func (b *VirtualVmxnet3Option) GetVirtualVmxnet3Option() *VirtualVmxnet3Option { return b }
+
+type BaseVirtualVmxnet3Option interface {
+ GetVirtualVmxnet3Option() *VirtualVmxnet3Option
+}
+
+func init() {
+ t["BaseVirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem()
+}
+
+func (b *VirtualVmxnetOption) GetVirtualVmxnetOption() *VirtualVmxnetOption { return b }
+
+type BaseVirtualVmxnetOption interface {
+ GetVirtualVmxnetOption() *VirtualVmxnetOption
+}
+
+func init() {
+ t["BaseVirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem()
+}
+
+func (b *VmCloneEvent) GetVmCloneEvent() *VmCloneEvent { return b }
+
+type BaseVmCloneEvent interface {
+ GetVmCloneEvent() *VmCloneEvent
+}
+
+func init() {
+ t["BaseVmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem()
+}
+
+func (b *VmConfigFault) GetVmConfigFault() *VmConfigFault { return b }
+
+type BaseVmConfigFault interface {
+ GetVmConfigFault() *VmConfigFault
+}
+
+func init() {
+ t["BaseVmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem()
+}
+
+func (b *VmConfigFileInfo) GetVmConfigFileInfo() *VmConfigFileInfo { return b }
+
+type BaseVmConfigFileInfo interface {
+ GetVmConfigFileInfo() *VmConfigFileInfo
+}
+
+func init() {
+ t["BaseVmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem()
+}
+
+func (b *VmConfigFileQuery) GetVmConfigFileQuery() *VmConfigFileQuery { return b }
+
+type BaseVmConfigFileQuery interface {
+ GetVmConfigFileQuery() *VmConfigFileQuery
+}
+
+func init() {
+ t["BaseVmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem()
+}
+
+func (b *VmConfigInfo) GetVmConfigInfo() *VmConfigInfo { return b }
+
+type BaseVmConfigInfo interface {
+ GetVmConfigInfo() *VmConfigInfo
+}
+
+func init() {
+ t["BaseVmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem()
+}
+
+func (b *VmConfigSpec) GetVmConfigSpec() *VmConfigSpec { return b }
+
+type BaseVmConfigSpec interface {
+ GetVmConfigSpec() *VmConfigSpec
+}
+
+func init() {
+ t["BaseVmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem()
+}
+
+func (b *VmDasBeingResetEvent) GetVmDasBeingResetEvent() *VmDasBeingResetEvent { return b }
+
+type BaseVmDasBeingResetEvent interface {
+ GetVmDasBeingResetEvent() *VmDasBeingResetEvent
+}
+
+func init() {
+ t["BaseVmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem()
+}
+
+func (b *VmEvent) GetVmEvent() *VmEvent { return b }
+
+type BaseVmEvent interface {
+ GetVmEvent() *VmEvent
+}
+
+func init() {
+ t["BaseVmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem()
+}
+
+func (b *VmFaultToleranceIssue) GetVmFaultToleranceIssue() *VmFaultToleranceIssue { return b }
+
+type BaseVmFaultToleranceIssue interface {
+ GetVmFaultToleranceIssue() *VmFaultToleranceIssue
+}
+
+func init() {
+ t["BaseVmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem()
+}
+
+func (b *VmMigratedEvent) GetVmMigratedEvent() *VmMigratedEvent { return b }
+
+type BaseVmMigratedEvent interface {
+ GetVmMigratedEvent() *VmMigratedEvent
+}
+
+func init() {
+ t["BaseVmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem()
+}
+
+func (b *VmPoweredOffEvent) GetVmPoweredOffEvent() *VmPoweredOffEvent { return b }
+
+type BaseVmPoweredOffEvent interface {
+ GetVmPoweredOffEvent() *VmPoweredOffEvent
+}
+
+func init() {
+ t["BaseVmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem()
+}
+
+func (b *VmPoweredOnEvent) GetVmPoweredOnEvent() *VmPoweredOnEvent { return b }
+
+type BaseVmPoweredOnEvent interface {
+ GetVmPoweredOnEvent() *VmPoweredOnEvent
+}
+
+func init() {
+ t["BaseVmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem()
+}
+
+func (b *VmRelocateSpecEvent) GetVmRelocateSpecEvent() *VmRelocateSpecEvent { return b }
+
+type BaseVmRelocateSpecEvent interface {
+ GetVmRelocateSpecEvent() *VmRelocateSpecEvent
+}
+
+func init() {
+ t["BaseVmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem()
+}
+
+func (b *VmStartingEvent) GetVmStartingEvent() *VmStartingEvent { return b }
+
+type BaseVmStartingEvent interface {
+ GetVmStartingEvent() *VmStartingEvent
+}
+
+func init() {
+ t["BaseVmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem()
+}
+
+func (b *VmToolsUpgradeFault) GetVmToolsUpgradeFault() *VmToolsUpgradeFault { return b }
+
+type BaseVmToolsUpgradeFault interface {
+ GetVmToolsUpgradeFault() *VmToolsUpgradeFault
+}
+
+func init() {
+ t["BaseVmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem()
+}
+
+func (b *VmfsDatastoreBaseOption) GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption { return b }
+
+type BaseVmfsDatastoreBaseOption interface {
+ GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption
+}
+
+func init() {
+ t["BaseVmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem()
+}
+
+func (b *VmfsDatastoreSingleExtentOption) GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption {
+ return b
+}
+
+type BaseVmfsDatastoreSingleExtentOption interface {
+ GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption
+}
+
+func init() {
+ t["BaseVmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem()
+}
+
+func (b *VmfsDatastoreSpec) GetVmfsDatastoreSpec() *VmfsDatastoreSpec { return b }
+
+type BaseVmfsDatastoreSpec interface {
+ GetVmfsDatastoreSpec() *VmfsDatastoreSpec
+}
+
+func init() {
+ t["BaseVmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem()
+}
+
+func (b *VmfsMountFault) GetVmfsMountFault() *VmfsMountFault { return b }
+
+type BaseVmfsMountFault interface {
+ GetVmfsMountFault() *VmfsMountFault
+}
+
+func init() {
+ t["BaseVmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem()
+}
+
+func (b *VmwareDistributedVirtualSwitchVlanSpec) GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec {
+ return b
+}
+
+type BaseVmwareDistributedVirtualSwitchVlanSpec interface {
+ GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec
+}
+
+func init() {
+ t["BaseVmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem()
+}
+
+func (b *VsanDiskFault) GetVsanDiskFault() *VsanDiskFault { return b }
+
+type BaseVsanDiskFault interface {
+ GetVsanDiskFault() *VsanDiskFault
+}
+
+func init() {
+ t["BaseVsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem()
+}
+
+func (b *VsanFault) GetVsanFault() *VsanFault { return b }
+
+type BaseVsanFault interface {
+ GetVsanFault() *VsanFault
+}
+
+func init() {
+ t["BaseVsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem()
+}
+
+func (b *VsanUpgradeSystemPreflightCheckIssue) GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue {
+ return b
+}
+
+type BaseVsanUpgradeSystemPreflightCheckIssue interface {
+ GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue
+}
+
+func init() {
+ t["BaseVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
+}
+
+func (b *VsanUpgradeSystemUpgradeHistoryItem) GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem {
+ return b
+}
+
+type BaseVsanUpgradeSystemUpgradeHistoryItem interface {
+ GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem
+}
+
+func init() {
+ t["BaseVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
+}
+
+func (b *VslmCreateSpecBackingSpec) GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec {
+ return b
+}
+
+type BaseVslmCreateSpecBackingSpec interface {
+ GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec
+}
+
+func init() {
+ t["BaseVslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem()
+}
+
+func (b *VslmMigrateSpec) GetVslmMigrateSpec() *VslmMigrateSpec { return b }
+
+type BaseVslmMigrateSpec interface {
+ GetVslmMigrateSpec() *VslmMigrateSpec
+}
+
+func init() {
+ t["BaseVslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem()
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/internal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/internal.go
new file mode 100644
index 00000000..0c269349
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/internal.go
@@ -0,0 +1,266 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import "reflect"
+
+type DynamicTypeMgrQueryMoInstances struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterSpec BaseDynamicTypeMgrFilterSpec `xml:"filterSpec,omitempty,typeattr"`
+}
+
+type DynamicTypeMgrQueryMoInstancesResponse struct {
+ Returnval []DynamicTypeMgrMoInstance `xml:"urn:vim25 returnval"`
+}
+
+type DynamicTypeEnumTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ WsdlName string `xml:"wsdlName"`
+ Version string `xml:"version"`
+ Value []string `xml:"value,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeEnumTypeInfo"] = reflect.TypeOf((*DynamicTypeEnumTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrAllTypeInfo struct {
+ DynamicData
+
+ ManagedTypeInfo []DynamicTypeMgrManagedTypeInfo `xml:"managedTypeInfo,omitempty"`
+ EnumTypeInfo []DynamicTypeEnumTypeInfo `xml:"enumTypeInfo,omitempty"`
+ DataTypeInfo []DynamicTypeMgrDataTypeInfo `xml:"dataTypeInfo,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrAllTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrAllTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrAnnotation struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Parameter []string `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrAnnotation"] = reflect.TypeOf((*DynamicTypeMgrAnnotation)(nil)).Elem()
+}
+
+type DynamicTypeMgrDataTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ WsdlName string `xml:"wsdlName"`
+ Version string `xml:"version"`
+ Base []string `xml:"base,omitempty"`
+ Property []DynamicTypeMgrPropertyTypeInfo `xml:"property,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrDataTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrDataTypeInfo)(nil)).Elem()
+}
+
+func (b *DynamicTypeMgrFilterSpec) GetDynamicTypeMgrFilterSpec() *DynamicTypeMgrFilterSpec { return b }
+
+type BaseDynamicTypeMgrFilterSpec interface {
+ GetDynamicTypeMgrFilterSpec() *DynamicTypeMgrFilterSpec
+}
+
+type DynamicTypeMgrFilterSpec struct {
+ DynamicData
+}
+
+func init() {
+ t["DynamicTypeMgrFilterSpec"] = reflect.TypeOf((*DynamicTypeMgrFilterSpec)(nil)).Elem()
+}
+
+type DynamicTypeMgrManagedTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ WsdlName string `xml:"wsdlName"`
+ Version string `xml:"version"`
+ Base []string `xml:"base,omitempty"`
+ Property []DynamicTypeMgrPropertyTypeInfo `xml:"property,omitempty"`
+ Method []DynamicTypeMgrMethodTypeInfo `xml:"method,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrManagedTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrManagedTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrMethodTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ WsdlName string `xml:"wsdlName"`
+ Version string `xml:"version"`
+ ParamTypeInfo []DynamicTypeMgrParamTypeInfo `xml:"paramTypeInfo,omitempty"`
+ ReturnTypeInfo *DynamicTypeMgrParamTypeInfo `xml:"returnTypeInfo,omitempty"`
+ Fault []string `xml:"fault,omitempty"`
+ PrivId string `xml:"privId,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrMethodTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrMethodTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrMoFilterSpec struct {
+ DynamicTypeMgrFilterSpec
+
+ Id string `xml:"id,omitempty"`
+ TypeSubstr string `xml:"typeSubstr,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrMoFilterSpec"] = reflect.TypeOf((*DynamicTypeMgrMoFilterSpec)(nil)).Elem()
+}
+
+type DynamicTypeMgrMoInstance struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ MoType string `xml:"moType"`
+}
+
+func init() {
+ t["DynamicTypeMgrMoInstance"] = reflect.TypeOf((*DynamicTypeMgrMoInstance)(nil)).Elem()
+}
+
+type DynamicTypeMgrParamTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Version string `xml:"version"`
+ Type string `xml:"type"`
+ PrivId string `xml:"privId,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrParamTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrParamTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrPropertyTypeInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Version string `xml:"version"`
+ Type string `xml:"type"`
+ PrivId string `xml:"privId,omitempty"`
+ MsgIdFormat string `xml:"msgIdFormat,omitempty"`
+ Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"`
+}
+
+type DynamicTypeMgrQueryTypeInfo struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterSpec BaseDynamicTypeMgrFilterSpec `xml:"filterSpec,omitempty,typeattr"`
+}
+
+type DynamicTypeMgrQueryTypeInfoResponse struct {
+ Returnval DynamicTypeMgrAllTypeInfo `xml:"urn:vim25 returnval"`
+}
+
+func init() {
+ t["DynamicTypeMgrPropertyTypeInfo"] = reflect.TypeOf((*DynamicTypeMgrPropertyTypeInfo)(nil)).Elem()
+}
+
+type DynamicTypeMgrTypeFilterSpec struct {
+ DynamicTypeMgrFilterSpec
+
+ TypeSubstr string `xml:"typeSubstr,omitempty"`
+}
+
+func init() {
+ t["DynamicTypeMgrTypeFilterSpec"] = reflect.TypeOf((*DynamicTypeMgrTypeFilterSpec)(nil)).Elem()
+}
+
+type ReflectManagedMethodExecuterSoapArgument struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Val string `xml:"val"`
+}
+
+func init() {
+ t["ReflectManagedMethodExecuterSoapArgument"] = reflect.TypeOf((*ReflectManagedMethodExecuterSoapArgument)(nil)).Elem()
+}
+
+type ReflectManagedMethodExecuterSoapFault struct {
+ DynamicData
+
+ FaultMsg string `xml:"faultMsg"`
+ FaultDetail string `xml:"faultDetail,omitempty"`
+}
+
+func init() {
+ t["ReflectManagedMethodExecuterSoapFault"] = reflect.TypeOf((*ReflectManagedMethodExecuterSoapFault)(nil)).Elem()
+}
+
+type ReflectManagedMethodExecuterSoapResult struct {
+ DynamicData
+
+ Response string `xml:"response,omitempty"`
+ Fault *ReflectManagedMethodExecuterSoapFault `xml:"fault,omitempty"`
+}
+
+type RetrieveDynamicTypeManager struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+type RetrieveDynamicTypeManagerResponse struct {
+ Returnval *InternalDynamicTypeManager `xml:"urn:vim25 returnval"`
+}
+
+type RetrieveManagedMethodExecuter struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveManagedMethodExecuter"] = reflect.TypeOf((*RetrieveManagedMethodExecuter)(nil)).Elem()
+}
+
+type RetrieveManagedMethodExecuterResponse struct {
+ Returnval *ReflectManagedMethodExecuter `xml:"urn:vim25 returnval"`
+}
+
+type InternalDynamicTypeManager struct {
+ ManagedObjectReference
+}
+
+type ReflectManagedMethodExecuter struct {
+ ManagedObjectReference
+}
+
+type ExecuteSoap struct {
+ This ManagedObjectReference `xml:"_this"`
+ Moid string `xml:"moid"`
+ Version string `xml:"version"`
+ Method string `xml:"method"`
+ Argument []ReflectManagedMethodExecuterSoapArgument `xml:"argument,omitempty"`
+}
+
+type ExecuteSoapResponse struct {
+ Returnval *ReflectManagedMethodExecuterSoapResult `xml:"urn:vim25 returnval"`
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/registry.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/registry.go
new file mode 100644
index 00000000..ff7c302d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/registry.go
@@ -0,0 +1,43 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import (
+ "reflect"
+ "strings"
+)
+
+var t = map[string]reflect.Type{}
+
+func Add(name string, kind reflect.Type) {
+ t[name] = kind
+}
+
+type Func func(string) (reflect.Type, bool)
+
+func TypeFunc() Func {
+ return func(name string) (reflect.Type, bool) {
+ typ, ok := t[name]
+ if !ok {
+ // The /sdk endpoint does not prefix types with the namespace,
+ // but extension endpoints, such as /pbm/sdk do.
+ name = strings.TrimPrefix(name, "vim25:")
+ typ, ok = t[name]
+ }
+ return typ, ok
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/types.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/types.go
new file mode 100644
index 00000000..cb703582
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/types/types.go
@@ -0,0 +1,53334 @@
+/*
+Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved.
+
+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 types
+
+import (
+ "net/url"
+ "reflect"
+ "time"
+)
+
+type AbdicateDomOwnership AbdicateDomOwnershipRequestType
+
+func init() {
+ t["AbdicateDomOwnership"] = reflect.TypeOf((*AbdicateDomOwnership)(nil)).Elem()
+}
+
+type AbdicateDomOwnershipRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids"`
+}
+
+func init() {
+ t["AbdicateDomOwnershipRequestType"] = reflect.TypeOf((*AbdicateDomOwnershipRequestType)(nil)).Elem()
+}
+
+type AbdicateDomOwnershipResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type AboutInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ FullName string `xml:"fullName"`
+ Vendor string `xml:"vendor"`
+ Version string `xml:"version"`
+ Build string `xml:"build"`
+ LocaleVersion string `xml:"localeVersion,omitempty"`
+ LocaleBuild string `xml:"localeBuild,omitempty"`
+ OsType string `xml:"osType"`
+ ProductLineId string `xml:"productLineId"`
+ ApiType string `xml:"apiType"`
+ ApiVersion string `xml:"apiVersion"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ LicenseProductName string `xml:"licenseProductName,omitempty"`
+ LicenseProductVersion string `xml:"licenseProductVersion,omitempty"`
+}
+
+func init() {
+ t["AboutInfo"] = reflect.TypeOf((*AboutInfo)(nil)).Elem()
+}
+
+type AccountCreatedEvent struct {
+ HostEvent
+
+ Spec BaseHostAccountSpec `xml:"spec,typeattr"`
+ Group bool `xml:"group"`
+}
+
+func init() {
+ t["AccountCreatedEvent"] = reflect.TypeOf((*AccountCreatedEvent)(nil)).Elem()
+}
+
+type AccountRemovedEvent struct {
+ HostEvent
+
+ Account string `xml:"account"`
+ Group bool `xml:"group"`
+}
+
+func init() {
+ t["AccountRemovedEvent"] = reflect.TypeOf((*AccountRemovedEvent)(nil)).Elem()
+}
+
+type AccountUpdatedEvent struct {
+ HostEvent
+
+ Spec BaseHostAccountSpec `xml:"spec,typeattr"`
+ Group bool `xml:"group"`
+ PrevDescription string `xml:"prevDescription,omitempty"`
+}
+
+func init() {
+ t["AccountUpdatedEvent"] = reflect.TypeOf((*AccountUpdatedEvent)(nil)).Elem()
+}
+
+type AcknowledgeAlarm AcknowledgeAlarmRequestType
+
+func init() {
+ t["AcknowledgeAlarm"] = reflect.TypeOf((*AcknowledgeAlarm)(nil)).Elem()
+}
+
+type AcknowledgeAlarmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Alarm ManagedObjectReference `xml:"alarm"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["AcknowledgeAlarmRequestType"] = reflect.TypeOf((*AcknowledgeAlarmRequestType)(nil)).Elem()
+}
+
+type AcknowledgeAlarmResponse struct {
+}
+
+type AcquireCimServicesTicket AcquireCimServicesTicketRequestType
+
+func init() {
+ t["AcquireCimServicesTicket"] = reflect.TypeOf((*AcquireCimServicesTicket)(nil)).Elem()
+}
+
+type AcquireCimServicesTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["AcquireCimServicesTicketRequestType"] = reflect.TypeOf((*AcquireCimServicesTicketRequestType)(nil)).Elem()
+}
+
+type AcquireCimServicesTicketResponse struct {
+ Returnval HostServiceTicket `xml:"returnval"`
+}
+
+type AcquireCloneTicket AcquireCloneTicketRequestType
+
+func init() {
+ t["AcquireCloneTicket"] = reflect.TypeOf((*AcquireCloneTicket)(nil)).Elem()
+}
+
+type AcquireCloneTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["AcquireCloneTicketRequestType"] = reflect.TypeOf((*AcquireCloneTicketRequestType)(nil)).Elem()
+}
+
+type AcquireCloneTicketResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AcquireCredentialsInGuest AcquireCredentialsInGuestRequestType
+
+func init() {
+ t["AcquireCredentialsInGuest"] = reflect.TypeOf((*AcquireCredentialsInGuest)(nil)).Elem()
+}
+
+type AcquireCredentialsInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ RequestedAuth BaseGuestAuthentication `xml:"requestedAuth,typeattr"`
+ SessionID int64 `xml:"sessionID,omitempty"`
+}
+
+func init() {
+ t["AcquireCredentialsInGuestRequestType"] = reflect.TypeOf((*AcquireCredentialsInGuestRequestType)(nil)).Elem()
+}
+
+type AcquireCredentialsInGuestResponse struct {
+ Returnval BaseGuestAuthentication `xml:"returnval,typeattr"`
+}
+
+type AcquireGenericServiceTicket AcquireGenericServiceTicketRequestType
+
+func init() {
+ t["AcquireGenericServiceTicket"] = reflect.TypeOf((*AcquireGenericServiceTicket)(nil)).Elem()
+}
+
+type AcquireGenericServiceTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseSessionManagerServiceRequestSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["AcquireGenericServiceTicketRequestType"] = reflect.TypeOf((*AcquireGenericServiceTicketRequestType)(nil)).Elem()
+}
+
+type AcquireGenericServiceTicketResponse struct {
+ Returnval SessionManagerGenericServiceTicket `xml:"returnval"`
+}
+
+type AcquireLocalTicket AcquireLocalTicketRequestType
+
+func init() {
+ t["AcquireLocalTicket"] = reflect.TypeOf((*AcquireLocalTicket)(nil)).Elem()
+}
+
+type AcquireLocalTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["AcquireLocalTicketRequestType"] = reflect.TypeOf((*AcquireLocalTicketRequestType)(nil)).Elem()
+}
+
+type AcquireLocalTicketResponse struct {
+ Returnval SessionManagerLocalTicket `xml:"returnval"`
+}
+
+type AcquireMksTicket AcquireMksTicketRequestType
+
+func init() {
+ t["AcquireMksTicket"] = reflect.TypeOf((*AcquireMksTicket)(nil)).Elem()
+}
+
+type AcquireMksTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["AcquireMksTicketRequestType"] = reflect.TypeOf((*AcquireMksTicketRequestType)(nil)).Elem()
+}
+
+type AcquireMksTicketResponse struct {
+ Returnval VirtualMachineMksTicket `xml:"returnval"`
+}
+
+type AcquireTicket AcquireTicketRequestType
+
+func init() {
+ t["AcquireTicket"] = reflect.TypeOf((*AcquireTicket)(nil)).Elem()
+}
+
+type AcquireTicketRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ TicketType string `xml:"ticketType"`
+}
+
+func init() {
+ t["AcquireTicketRequestType"] = reflect.TypeOf((*AcquireTicketRequestType)(nil)).Elem()
+}
+
+type AcquireTicketResponse struct {
+ Returnval VirtualMachineTicket `xml:"returnval"`
+}
+
+type Action struct {
+ DynamicData
+}
+
+func init() {
+ t["Action"] = reflect.TypeOf((*Action)(nil)).Elem()
+}
+
+type ActiveDirectoryFault struct {
+ VimFault
+
+ ErrorCode int32 `xml:"errorCode,omitempty"`
+}
+
+func init() {
+ t["ActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem()
+}
+
+type ActiveDirectoryFaultFault BaseActiveDirectoryFault
+
+func init() {
+ t["ActiveDirectoryFaultFault"] = reflect.TypeOf((*ActiveDirectoryFaultFault)(nil)).Elem()
+}
+
+type ActiveDirectoryProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["ActiveDirectoryProfile"] = reflect.TypeOf((*ActiveDirectoryProfile)(nil)).Elem()
+}
+
+type ActiveVMsBlockingEVC struct {
+ EVCConfigFault
+
+ EvcMode string `xml:"evcMode,omitempty"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+ HostName []string `xml:"hostName,omitempty"`
+}
+
+func init() {
+ t["ActiveVMsBlockingEVC"] = reflect.TypeOf((*ActiveVMsBlockingEVC)(nil)).Elem()
+}
+
+type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC
+
+func init() {
+ t["ActiveVMsBlockingEVCFault"] = reflect.TypeOf((*ActiveVMsBlockingEVCFault)(nil)).Elem()
+}
+
+type AddAuthorizationRole AddAuthorizationRoleRequestType
+
+func init() {
+ t["AddAuthorizationRole"] = reflect.TypeOf((*AddAuthorizationRole)(nil)).Elem()
+}
+
+type AddAuthorizationRoleRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ PrivIds []string `xml:"privIds,omitempty"`
+}
+
+func init() {
+ t["AddAuthorizationRoleRequestType"] = reflect.TypeOf((*AddAuthorizationRoleRequestType)(nil)).Elem()
+}
+
+type AddAuthorizationRoleResponse struct {
+ Returnval int32 `xml:"returnval"`
+}
+
+type AddCustomFieldDef AddCustomFieldDefRequestType
+
+func init() {
+ t["AddCustomFieldDef"] = reflect.TypeOf((*AddCustomFieldDef)(nil)).Elem()
+}
+
+type AddCustomFieldDefRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ MoType string `xml:"moType,omitempty"`
+ FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty"`
+ FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty"`
+}
+
+func init() {
+ t["AddCustomFieldDefRequestType"] = reflect.TypeOf((*AddCustomFieldDefRequestType)(nil)).Elem()
+}
+
+type AddCustomFieldDefResponse struct {
+ Returnval CustomFieldDef `xml:"returnval"`
+}
+
+type AddDVPortgroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec []DVPortgroupConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["AddDVPortgroupRequestType"] = reflect.TypeOf((*AddDVPortgroupRequestType)(nil)).Elem()
+}
+
+type AddDVPortgroup_Task AddDVPortgroupRequestType
+
+func init() {
+ t["AddDVPortgroup_Task"] = reflect.TypeOf((*AddDVPortgroup_Task)(nil)).Elem()
+}
+
+type AddDVPortgroup_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AddDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Disk []HostScsiDisk `xml:"disk"`
+}
+
+func init() {
+ t["AddDisksRequestType"] = reflect.TypeOf((*AddDisksRequestType)(nil)).Elem()
+}
+
+type AddDisks_Task AddDisksRequestType
+
+func init() {
+ t["AddDisks_Task"] = reflect.TypeOf((*AddDisks_Task)(nil)).Elem()
+}
+
+type AddDisks_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AddFilter AddFilterRequestType
+
+func init() {
+ t["AddFilter"] = reflect.TypeOf((*AddFilter)(nil)).Elem()
+}
+
+type AddFilterEntities AddFilterEntitiesRequestType
+
+func init() {
+ t["AddFilterEntities"] = reflect.TypeOf((*AddFilterEntities)(nil)).Elem()
+}
+
+type AddFilterEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ Entities []ManagedObjectReference `xml:"entities,omitempty"`
+}
+
+func init() {
+ t["AddFilterEntitiesRequestType"] = reflect.TypeOf((*AddFilterEntitiesRequestType)(nil)).Elem()
+}
+
+type AddFilterEntitiesResponse struct {
+}
+
+type AddFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ FilterName string `xml:"filterName"`
+ InfoIds []string `xml:"infoIds,omitempty"`
+}
+
+func init() {
+ t["AddFilterRequestType"] = reflect.TypeOf((*AddFilterRequestType)(nil)).Elem()
+}
+
+type AddFilterResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AddGuestAlias AddGuestAliasRequestType
+
+func init() {
+ t["AddGuestAlias"] = reflect.TypeOf((*AddGuestAlias)(nil)).Elem()
+}
+
+type AddGuestAliasRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Username string `xml:"username"`
+ MapCert bool `xml:"mapCert"`
+ Base64Cert string `xml:"base64Cert"`
+ AliasInfo GuestAuthAliasInfo `xml:"aliasInfo"`
+}
+
+func init() {
+ t["AddGuestAliasRequestType"] = reflect.TypeOf((*AddGuestAliasRequestType)(nil)).Elem()
+}
+
+type AddGuestAliasResponse struct {
+}
+
+type AddHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostConnectSpec `xml:"spec"`
+ AsConnected bool `xml:"asConnected"`
+ ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"`
+ License string `xml:"license,omitempty"`
+}
+
+func init() {
+ t["AddHostRequestType"] = reflect.TypeOf((*AddHostRequestType)(nil)).Elem()
+}
+
+type AddHost_Task AddHostRequestType
+
+func init() {
+ t["AddHost_Task"] = reflect.TypeOf((*AddHost_Task)(nil)).Elem()
+}
+
+type AddHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AddInternetScsiSendTargets AddInternetScsiSendTargetsRequestType
+
+func init() {
+ t["AddInternetScsiSendTargets"] = reflect.TypeOf((*AddInternetScsiSendTargets)(nil)).Elem()
+}
+
+type AddInternetScsiSendTargetsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ Targets []HostInternetScsiHbaSendTarget `xml:"targets"`
+}
+
+func init() {
+ t["AddInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiSendTargetsRequestType)(nil)).Elem()
+}
+
+type AddInternetScsiSendTargetsResponse struct {
+}
+
+type AddInternetScsiStaticTargets AddInternetScsiStaticTargetsRequestType
+
+func init() {
+ t["AddInternetScsiStaticTargets"] = reflect.TypeOf((*AddInternetScsiStaticTargets)(nil)).Elem()
+}
+
+type AddInternetScsiStaticTargetsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ Targets []HostInternetScsiHbaStaticTarget `xml:"targets"`
+}
+
+func init() {
+ t["AddInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiStaticTargetsRequestType)(nil)).Elem()
+}
+
+type AddInternetScsiStaticTargetsResponse struct {
+}
+
+type AddKey AddKeyRequestType
+
+func init() {
+ t["AddKey"] = reflect.TypeOf((*AddKey)(nil)).Elem()
+}
+
+type AddKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key CryptoKeyPlain `xml:"key"`
+}
+
+func init() {
+ t["AddKeyRequestType"] = reflect.TypeOf((*AddKeyRequestType)(nil)).Elem()
+}
+
+type AddKeyResponse struct {
+}
+
+type AddKeys AddKeysRequestType
+
+func init() {
+ t["AddKeys"] = reflect.TypeOf((*AddKeys)(nil)).Elem()
+}
+
+type AddKeysRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Keys []CryptoKeyPlain `xml:"keys,omitempty"`
+}
+
+func init() {
+ t["AddKeysRequestType"] = reflect.TypeOf((*AddKeysRequestType)(nil)).Elem()
+}
+
+type AddKeysResponse struct {
+ Returnval []CryptoKeyResult `xml:"returnval,omitempty"`
+}
+
+type AddLicense AddLicenseRequestType
+
+func init() {
+ t["AddLicense"] = reflect.TypeOf((*AddLicense)(nil)).Elem()
+}
+
+type AddLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+ Labels []KeyValue `xml:"labels,omitempty"`
+}
+
+func init() {
+ t["AddLicenseRequestType"] = reflect.TypeOf((*AddLicenseRequestType)(nil)).Elem()
+}
+
+type AddLicenseResponse struct {
+ Returnval LicenseManagerLicenseInfo `xml:"returnval"`
+}
+
+type AddMonitoredEntities AddMonitoredEntitiesRequestType
+
+func init() {
+ t["AddMonitoredEntities"] = reflect.TypeOf((*AddMonitoredEntities)(nil)).Elem()
+}
+
+type AddMonitoredEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ Entities []ManagedObjectReference `xml:"entities,omitempty"`
+}
+
+func init() {
+ t["AddMonitoredEntitiesRequestType"] = reflect.TypeOf((*AddMonitoredEntitiesRequestType)(nil)).Elem()
+}
+
+type AddMonitoredEntitiesResponse struct {
+}
+
+type AddNetworkResourcePool AddNetworkResourcePoolRequestType
+
+func init() {
+ t["AddNetworkResourcePool"] = reflect.TypeOf((*AddNetworkResourcePool)(nil)).Elem()
+}
+
+type AddNetworkResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec"`
+}
+
+func init() {
+ t["AddNetworkResourcePoolRequestType"] = reflect.TypeOf((*AddNetworkResourcePoolRequestType)(nil)).Elem()
+}
+
+type AddNetworkResourcePoolResponse struct {
+}
+
+type AddPortGroup AddPortGroupRequestType
+
+func init() {
+ t["AddPortGroup"] = reflect.TypeOf((*AddPortGroup)(nil)).Elem()
+}
+
+type AddPortGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Portgrp HostPortGroupSpec `xml:"portgrp"`
+}
+
+func init() {
+ t["AddPortGroupRequestType"] = reflect.TypeOf((*AddPortGroupRequestType)(nil)).Elem()
+}
+
+type AddPortGroupResponse struct {
+}
+
+type AddServiceConsoleVirtualNic AddServiceConsoleVirtualNicRequestType
+
+func init() {
+ t["AddServiceConsoleVirtualNic"] = reflect.TypeOf((*AddServiceConsoleVirtualNic)(nil)).Elem()
+}
+
+type AddServiceConsoleVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Portgroup string `xml:"portgroup"`
+ Nic HostVirtualNicSpec `xml:"nic"`
+}
+
+func init() {
+ t["AddServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*AddServiceConsoleVirtualNicRequestType)(nil)).Elem()
+}
+
+type AddServiceConsoleVirtualNicResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AddStandaloneHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostConnectSpec `xml:"spec"`
+ CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr"`
+ AddConnected bool `xml:"addConnected"`
+ License string `xml:"license,omitempty"`
+}
+
+func init() {
+ t["AddStandaloneHostRequestType"] = reflect.TypeOf((*AddStandaloneHostRequestType)(nil)).Elem()
+}
+
+type AddStandaloneHost_Task AddStandaloneHostRequestType
+
+func init() {
+ t["AddStandaloneHost_Task"] = reflect.TypeOf((*AddStandaloneHost_Task)(nil)).Elem()
+}
+
+type AddStandaloneHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AddVirtualNic AddVirtualNicRequestType
+
+func init() {
+ t["AddVirtualNic"] = reflect.TypeOf((*AddVirtualNic)(nil)).Elem()
+}
+
+type AddVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Portgroup string `xml:"portgroup"`
+ Nic HostVirtualNicSpec `xml:"nic"`
+}
+
+func init() {
+ t["AddVirtualNicRequestType"] = reflect.TypeOf((*AddVirtualNicRequestType)(nil)).Elem()
+}
+
+type AddVirtualNicResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AddVirtualSwitch AddVirtualSwitchRequestType
+
+func init() {
+ t["AddVirtualSwitch"] = reflect.TypeOf((*AddVirtualSwitch)(nil)).Elem()
+}
+
+type AddVirtualSwitchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VswitchName string `xml:"vswitchName"`
+ Spec *HostVirtualSwitchSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["AddVirtualSwitchRequestType"] = reflect.TypeOf((*AddVirtualSwitchRequestType)(nil)).Elem()
+}
+
+type AddVirtualSwitchResponse struct {
+}
+
+type AdminDisabled struct {
+ HostConfigFault
+}
+
+func init() {
+ t["AdminDisabled"] = reflect.TypeOf((*AdminDisabled)(nil)).Elem()
+}
+
+type AdminDisabledFault AdminDisabled
+
+func init() {
+ t["AdminDisabledFault"] = reflect.TypeOf((*AdminDisabledFault)(nil)).Elem()
+}
+
+type AdminNotDisabled struct {
+ HostConfigFault
+}
+
+func init() {
+ t["AdminNotDisabled"] = reflect.TypeOf((*AdminNotDisabled)(nil)).Elem()
+}
+
+type AdminNotDisabledFault AdminNotDisabled
+
+func init() {
+ t["AdminNotDisabledFault"] = reflect.TypeOf((*AdminNotDisabledFault)(nil)).Elem()
+}
+
+type AdminPasswordNotChangedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["AdminPasswordNotChangedEvent"] = reflect.TypeOf((*AdminPasswordNotChangedEvent)(nil)).Elem()
+}
+
+type AffinityConfigured struct {
+ MigrationFault
+
+ ConfiguredAffinity []string `xml:"configuredAffinity"`
+}
+
+func init() {
+ t["AffinityConfigured"] = reflect.TypeOf((*AffinityConfigured)(nil)).Elem()
+}
+
+type AffinityConfiguredFault AffinityConfigured
+
+func init() {
+ t["AffinityConfiguredFault"] = reflect.TypeOf((*AffinityConfiguredFault)(nil)).Elem()
+}
+
+type AfterStartupTaskScheduler struct {
+ TaskScheduler
+
+ Minute int32 `xml:"minute"`
+}
+
+func init() {
+ t["AfterStartupTaskScheduler"] = reflect.TypeOf((*AfterStartupTaskScheduler)(nil)).Elem()
+}
+
+type AgentInstallFailed struct {
+ HostConnectFault
+
+ Reason string `xml:"reason,omitempty"`
+ StatusCode int32 `xml:"statusCode,omitempty"`
+ InstallerOutput string `xml:"installerOutput,omitempty"`
+}
+
+func init() {
+ t["AgentInstallFailed"] = reflect.TypeOf((*AgentInstallFailed)(nil)).Elem()
+}
+
+type AgentInstallFailedFault AgentInstallFailed
+
+func init() {
+ t["AgentInstallFailedFault"] = reflect.TypeOf((*AgentInstallFailedFault)(nil)).Elem()
+}
+
+type AlarmAcknowledgedEvent struct {
+ AlarmEvent
+
+ Source ManagedEntityEventArgument `xml:"source"`
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["AlarmAcknowledgedEvent"] = reflect.TypeOf((*AlarmAcknowledgedEvent)(nil)).Elem()
+}
+
+type AlarmAction struct {
+ DynamicData
+}
+
+func init() {
+ t["AlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem()
+}
+
+type AlarmActionTriggeredEvent struct {
+ AlarmEvent
+
+ Source ManagedEntityEventArgument `xml:"source"`
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["AlarmActionTriggeredEvent"] = reflect.TypeOf((*AlarmActionTriggeredEvent)(nil)).Elem()
+}
+
+type AlarmClearedEvent struct {
+ AlarmEvent
+
+ Source ManagedEntityEventArgument `xml:"source"`
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ From string `xml:"from"`
+}
+
+func init() {
+ t["AlarmClearedEvent"] = reflect.TypeOf((*AlarmClearedEvent)(nil)).Elem()
+}
+
+type AlarmCreatedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["AlarmCreatedEvent"] = reflect.TypeOf((*AlarmCreatedEvent)(nil)).Elem()
+}
+
+type AlarmDescription struct {
+ DynamicData
+
+ Expr []BaseTypeDescription `xml:"expr,typeattr"`
+ StateOperator []BaseElementDescription `xml:"stateOperator,typeattr"`
+ MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr"`
+ HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr"`
+ VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr"`
+ DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr"`
+ HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr"`
+ VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr"`
+ EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr"`
+ Action []BaseTypeDescription `xml:"action,typeattr"`
+}
+
+func init() {
+ t["AlarmDescription"] = reflect.TypeOf((*AlarmDescription)(nil)).Elem()
+}
+
+type AlarmEmailCompletedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ To string `xml:"to"`
+}
+
+func init() {
+ t["AlarmEmailCompletedEvent"] = reflect.TypeOf((*AlarmEmailCompletedEvent)(nil)).Elem()
+}
+
+type AlarmEmailFailedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ To string `xml:"to"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["AlarmEmailFailedEvent"] = reflect.TypeOf((*AlarmEmailFailedEvent)(nil)).Elem()
+}
+
+type AlarmEvent struct {
+ Event
+
+ Alarm AlarmEventArgument `xml:"alarm"`
+}
+
+func init() {
+ t["AlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem()
+}
+
+type AlarmEventArgument struct {
+ EntityEventArgument
+
+ Alarm ManagedObjectReference `xml:"alarm"`
+}
+
+func init() {
+ t["AlarmEventArgument"] = reflect.TypeOf((*AlarmEventArgument)(nil)).Elem()
+}
+
+type AlarmExpression struct {
+ DynamicData
+}
+
+func init() {
+ t["AlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem()
+}
+
+type AlarmInfo struct {
+ AlarmSpec
+
+ Key string `xml:"key"`
+ Alarm ManagedObjectReference `xml:"alarm"`
+ Entity ManagedObjectReference `xml:"entity"`
+ LastModifiedTime time.Time `xml:"lastModifiedTime"`
+ LastModifiedUser string `xml:"lastModifiedUser"`
+ CreationEventId int32 `xml:"creationEventId"`
+}
+
+func init() {
+ t["AlarmInfo"] = reflect.TypeOf((*AlarmInfo)(nil)).Elem()
+}
+
+type AlarmReconfiguredEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["AlarmReconfiguredEvent"] = reflect.TypeOf((*AlarmReconfiguredEvent)(nil)).Elem()
+}
+
+type AlarmRemovedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["AlarmRemovedEvent"] = reflect.TypeOf((*AlarmRemovedEvent)(nil)).Elem()
+}
+
+type AlarmScriptCompleteEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ Script string `xml:"script"`
+}
+
+func init() {
+ t["AlarmScriptCompleteEvent"] = reflect.TypeOf((*AlarmScriptCompleteEvent)(nil)).Elem()
+}
+
+type AlarmScriptFailedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ Script string `xml:"script"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["AlarmScriptFailedEvent"] = reflect.TypeOf((*AlarmScriptFailedEvent)(nil)).Elem()
+}
+
+type AlarmSetting struct {
+ DynamicData
+
+ ToleranceRange int32 `xml:"toleranceRange"`
+ ReportingFrequency int32 `xml:"reportingFrequency"`
+}
+
+func init() {
+ t["AlarmSetting"] = reflect.TypeOf((*AlarmSetting)(nil)).Elem()
+}
+
+type AlarmSnmpCompletedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["AlarmSnmpCompletedEvent"] = reflect.TypeOf((*AlarmSnmpCompletedEvent)(nil)).Elem()
+}
+
+type AlarmSnmpFailedEvent struct {
+ AlarmEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["AlarmSnmpFailedEvent"] = reflect.TypeOf((*AlarmSnmpFailedEvent)(nil)).Elem()
+}
+
+type AlarmSpec struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ SystemName string `xml:"systemName,omitempty"`
+ Description string `xml:"description"`
+ Enabled bool `xml:"enabled"`
+ Expression BaseAlarmExpression `xml:"expression,typeattr"`
+ Action BaseAlarmAction `xml:"action,omitempty,typeattr"`
+ ActionFrequency int32 `xml:"actionFrequency,omitempty"`
+ Setting *AlarmSetting `xml:"setting,omitempty"`
+}
+
+func init() {
+ t["AlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem()
+}
+
+type AlarmState struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Alarm ManagedObjectReference `xml:"alarm"`
+ OverallStatus ManagedEntityStatus `xml:"overallStatus"`
+ Time time.Time `xml:"time"`
+ Acknowledged *bool `xml:"acknowledged"`
+ AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty"`
+ AcknowledgedTime *time.Time `xml:"acknowledgedTime"`
+ EventKey int32 `xml:"eventKey,omitempty"`
+}
+
+func init() {
+ t["AlarmState"] = reflect.TypeOf((*AlarmState)(nil)).Elem()
+}
+
+type AlarmStatusChangedEvent struct {
+ AlarmEvent
+
+ Source ManagedEntityEventArgument `xml:"source"`
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ From string `xml:"from"`
+ To string `xml:"to"`
+}
+
+func init() {
+ t["AlarmStatusChangedEvent"] = reflect.TypeOf((*AlarmStatusChangedEvent)(nil)).Elem()
+}
+
+type AlarmTriggeringAction struct {
+ AlarmAction
+
+ Action BaseAction `xml:"action,typeattr"`
+ TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty"`
+ Green2yellow bool `xml:"green2yellow"`
+ Yellow2red bool `xml:"yellow2red"`
+ Red2yellow bool `xml:"red2yellow"`
+ Yellow2green bool `xml:"yellow2green"`
+}
+
+func init() {
+ t["AlarmTriggeringAction"] = reflect.TypeOf((*AlarmTriggeringAction)(nil)).Elem()
+}
+
+type AlarmTriggeringActionTransitionSpec struct {
+ DynamicData
+
+ StartState ManagedEntityStatus `xml:"startState"`
+ FinalState ManagedEntityStatus `xml:"finalState"`
+ Repeats bool `xml:"repeats"`
+}
+
+func init() {
+ t["AlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*AlarmTriggeringActionTransitionSpec)(nil)).Elem()
+}
+
+type AllVirtualMachinesLicensedEvent struct {
+ LicenseEvent
+}
+
+func init() {
+ t["AllVirtualMachinesLicensedEvent"] = reflect.TypeOf((*AllVirtualMachinesLicensedEvent)(nil)).Elem()
+}
+
+type AllocateIpv4Address AllocateIpv4AddressRequestType
+
+func init() {
+ t["AllocateIpv4Address"] = reflect.TypeOf((*AllocateIpv4Address)(nil)).Elem()
+}
+
+type AllocateIpv4AddressRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ PoolId int32 `xml:"poolId"`
+ AllocationId string `xml:"allocationId"`
+}
+
+func init() {
+ t["AllocateIpv4AddressRequestType"] = reflect.TypeOf((*AllocateIpv4AddressRequestType)(nil)).Elem()
+}
+
+type AllocateIpv4AddressResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AllocateIpv6Address AllocateIpv6AddressRequestType
+
+func init() {
+ t["AllocateIpv6Address"] = reflect.TypeOf((*AllocateIpv6Address)(nil)).Elem()
+}
+
+type AllocateIpv6AddressRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ PoolId int32 `xml:"poolId"`
+ AllocationId string `xml:"allocationId"`
+}
+
+func init() {
+ t["AllocateIpv6AddressRequestType"] = reflect.TypeOf((*AllocateIpv6AddressRequestType)(nil)).Elem()
+}
+
+type AllocateIpv6AddressResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type AlreadyAuthenticatedSessionEvent struct {
+ SessionEvent
+}
+
+func init() {
+ t["AlreadyAuthenticatedSessionEvent"] = reflect.TypeOf((*AlreadyAuthenticatedSessionEvent)(nil)).Elem()
+}
+
+type AlreadyBeingManaged struct {
+ HostConnectFault
+
+ IpAddress string `xml:"ipAddress"`
+}
+
+func init() {
+ t["AlreadyBeingManaged"] = reflect.TypeOf((*AlreadyBeingManaged)(nil)).Elem()
+}
+
+type AlreadyBeingManagedFault AlreadyBeingManaged
+
+func init() {
+ t["AlreadyBeingManagedFault"] = reflect.TypeOf((*AlreadyBeingManagedFault)(nil)).Elem()
+}
+
+type AlreadyConnected struct {
+ HostConnectFault
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["AlreadyConnected"] = reflect.TypeOf((*AlreadyConnected)(nil)).Elem()
+}
+
+type AlreadyConnectedFault AlreadyConnected
+
+func init() {
+ t["AlreadyConnectedFault"] = reflect.TypeOf((*AlreadyConnectedFault)(nil)).Elem()
+}
+
+type AlreadyExists struct {
+ VimFault
+
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["AlreadyExists"] = reflect.TypeOf((*AlreadyExists)(nil)).Elem()
+}
+
+type AlreadyExistsFault AlreadyExists
+
+func init() {
+ t["AlreadyExistsFault"] = reflect.TypeOf((*AlreadyExistsFault)(nil)).Elem()
+}
+
+type AlreadyUpgraded struct {
+ VimFault
+}
+
+func init() {
+ t["AlreadyUpgraded"] = reflect.TypeOf((*AlreadyUpgraded)(nil)).Elem()
+}
+
+type AlreadyUpgradedFault AlreadyUpgraded
+
+func init() {
+ t["AlreadyUpgradedFault"] = reflect.TypeOf((*AlreadyUpgradedFault)(nil)).Elem()
+}
+
+type AndAlarmExpression struct {
+ AlarmExpression
+
+ Expression []BaseAlarmExpression `xml:"expression,typeattr"`
+}
+
+func init() {
+ t["AndAlarmExpression"] = reflect.TypeOf((*AndAlarmExpression)(nil)).Elem()
+}
+
+type AnswerFile struct {
+ DynamicData
+
+ UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"`
+ CreatedTime time.Time `xml:"createdTime"`
+ ModifiedTime time.Time `xml:"modifiedTime"`
+}
+
+func init() {
+ t["AnswerFile"] = reflect.TypeOf((*AnswerFile)(nil)).Elem()
+}
+
+type AnswerFileCreateSpec struct {
+ DynamicData
+
+ Validating *bool `xml:"validating"`
+}
+
+func init() {
+ t["AnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem()
+}
+
+type AnswerFileOptionsCreateSpec struct {
+ AnswerFileCreateSpec
+
+ UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"`
+}
+
+func init() {
+ t["AnswerFileOptionsCreateSpec"] = reflect.TypeOf((*AnswerFileOptionsCreateSpec)(nil)).Elem()
+}
+
+type AnswerFileSerializedCreateSpec struct {
+ AnswerFileCreateSpec
+
+ AnswerFileConfigString string `xml:"answerFileConfigString"`
+}
+
+func init() {
+ t["AnswerFileSerializedCreateSpec"] = reflect.TypeOf((*AnswerFileSerializedCreateSpec)(nil)).Elem()
+}
+
+type AnswerFileStatusError struct {
+ DynamicData
+
+ UserInputPath ProfilePropertyPath `xml:"userInputPath"`
+ ErrMsg LocalizableMessage `xml:"errMsg"`
+}
+
+func init() {
+ t["AnswerFileStatusError"] = reflect.TypeOf((*AnswerFileStatusError)(nil)).Elem()
+}
+
+type AnswerFileStatusResult struct {
+ DynamicData
+
+ CheckedTime time.Time `xml:"checkedTime"`
+ Host ManagedObjectReference `xml:"host"`
+ Status string `xml:"status"`
+ Error []AnswerFileStatusError `xml:"error,omitempty"`
+}
+
+func init() {
+ t["AnswerFileStatusResult"] = reflect.TypeOf((*AnswerFileStatusResult)(nil)).Elem()
+}
+
+type AnswerFileUpdateFailed struct {
+ VimFault
+
+ Failure []AnswerFileUpdateFailure `xml:"failure"`
+}
+
+func init() {
+ t["AnswerFileUpdateFailed"] = reflect.TypeOf((*AnswerFileUpdateFailed)(nil)).Elem()
+}
+
+type AnswerFileUpdateFailedFault AnswerFileUpdateFailed
+
+func init() {
+ t["AnswerFileUpdateFailedFault"] = reflect.TypeOf((*AnswerFileUpdateFailedFault)(nil)).Elem()
+}
+
+type AnswerFileUpdateFailure struct {
+ DynamicData
+
+ UserInputPath ProfilePropertyPath `xml:"userInputPath"`
+ ErrMsg LocalizableMessage `xml:"errMsg"`
+}
+
+func init() {
+ t["AnswerFileUpdateFailure"] = reflect.TypeOf((*AnswerFileUpdateFailure)(nil)).Elem()
+}
+
+type AnswerVM AnswerVMRequestType
+
+func init() {
+ t["AnswerVM"] = reflect.TypeOf((*AnswerVM)(nil)).Elem()
+}
+
+type AnswerVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ QuestionId string `xml:"questionId"`
+ AnswerChoice string `xml:"answerChoice"`
+}
+
+func init() {
+ t["AnswerVMRequestType"] = reflect.TypeOf((*AnswerVMRequestType)(nil)).Elem()
+}
+
+type AnswerVMResponse struct {
+}
+
+type ApplicationQuiesceFault struct {
+ SnapshotFault
+}
+
+func init() {
+ t["ApplicationQuiesceFault"] = reflect.TypeOf((*ApplicationQuiesceFault)(nil)).Elem()
+}
+
+type ApplicationQuiesceFaultFault ApplicationQuiesceFault
+
+func init() {
+ t["ApplicationQuiesceFaultFault"] = reflect.TypeOf((*ApplicationQuiesceFaultFault)(nil)).Elem()
+}
+
+type ApplyEntitiesConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty"`
+}
+
+func init() {
+ t["ApplyEntitiesConfigRequestType"] = reflect.TypeOf((*ApplyEntitiesConfigRequestType)(nil)).Elem()
+}
+
+type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType
+
+func init() {
+ t["ApplyEntitiesConfig_Task"] = reflect.TypeOf((*ApplyEntitiesConfig_Task)(nil)).Elem()
+}
+
+type ApplyEntitiesConfig_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ApplyHostConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ ConfigSpec HostConfigSpec `xml:"configSpec"`
+ UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"`
+}
+
+func init() {
+ t["ApplyHostConfigRequestType"] = reflect.TypeOf((*ApplyHostConfigRequestType)(nil)).Elem()
+}
+
+type ApplyHostConfig_Task ApplyHostConfigRequestType
+
+func init() {
+ t["ApplyHostConfig_Task"] = reflect.TypeOf((*ApplyHostConfig_Task)(nil)).Elem()
+}
+
+type ApplyHostConfig_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ApplyHostProfileConfigurationSpec struct {
+ ProfileExecuteResult
+
+ Host ManagedObjectReference `xml:"host"`
+ TaskListRequirement []string `xml:"taskListRequirement,omitempty"`
+ TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty"`
+ RebootStateless *bool `xml:"rebootStateless"`
+ RebootHost *bool `xml:"rebootHost"`
+ FaultData *LocalizedMethodFault `xml:"faultData,omitempty"`
+}
+
+func init() {
+ t["ApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ApplyHostProfileConfigurationSpec)(nil)).Elem()
+}
+
+type ApplyProfile struct {
+ DynamicData
+
+ Enabled bool `xml:"enabled"`
+ Policy []ProfilePolicy `xml:"policy,omitempty"`
+ ProfileTypeName string `xml:"profileTypeName,omitempty"`
+ ProfileVersion string `xml:"profileVersion,omitempty"`
+ Property []ProfileApplyProfileProperty `xml:"property,omitempty"`
+ Favorite *bool `xml:"favorite"`
+ ToBeMerged *bool `xml:"toBeMerged"`
+ ToReplaceWith *bool `xml:"toReplaceWith"`
+ ToBeDeleted *bool `xml:"toBeDeleted"`
+ CopyEnableStatus *bool `xml:"copyEnableStatus"`
+}
+
+func init() {
+ t["ApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem()
+}
+
+type ApplyRecommendation ApplyRecommendationRequestType
+
+func init() {
+ t["ApplyRecommendation"] = reflect.TypeOf((*ApplyRecommendation)(nil)).Elem()
+}
+
+type ApplyRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["ApplyRecommendationRequestType"] = reflect.TypeOf((*ApplyRecommendationRequestType)(nil)).Elem()
+}
+
+type ApplyRecommendationResponse struct {
+}
+
+type ApplyStorageDrsRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key []string `xml:"key"`
+}
+
+func init() {
+ t["ApplyStorageDrsRecommendationRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationRequestType)(nil)).Elem()
+}
+
+type ApplyStorageDrsRecommendationToPodRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pod ManagedObjectReference `xml:"pod"`
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["ApplyStorageDrsRecommendationToPodRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPodRequestType)(nil)).Elem()
+}
+
+type ApplyStorageDrsRecommendationToPod_Task ApplyStorageDrsRecommendationToPodRequestType
+
+func init() {
+ t["ApplyStorageDrsRecommendationToPod_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPod_Task)(nil)).Elem()
+}
+
+type ApplyStorageDrsRecommendationToPod_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ApplyStorageDrsRecommendation_Task ApplyStorageDrsRecommendationRequestType
+
+func init() {
+ t["ApplyStorageDrsRecommendation_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendation_Task)(nil)).Elem()
+}
+
+type ApplyStorageDrsRecommendation_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ApplyStorageRecommendationResult struct {
+ DynamicData
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["ApplyStorageRecommendationResult"] = reflect.TypeOf((*ApplyStorageRecommendationResult)(nil)).Elem()
+}
+
+type AreAlarmActionsEnabled AreAlarmActionsEnabledRequestType
+
+func init() {
+ t["AreAlarmActionsEnabled"] = reflect.TypeOf((*AreAlarmActionsEnabled)(nil)).Elem()
+}
+
+type AreAlarmActionsEnabledRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["AreAlarmActionsEnabledRequestType"] = reflect.TypeOf((*AreAlarmActionsEnabledRequestType)(nil)).Elem()
+}
+
+type AreAlarmActionsEnabledResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type ArrayOfAlarmAction struct {
+ AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfAlarmAction"] = reflect.TypeOf((*ArrayOfAlarmAction)(nil)).Elem()
+}
+
+type ArrayOfAlarmExpression struct {
+ AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfAlarmExpression"] = reflect.TypeOf((*ArrayOfAlarmExpression)(nil)).Elem()
+}
+
+type ArrayOfAlarmState struct {
+ AlarmState []AlarmState `xml:"AlarmState,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAlarmState"] = reflect.TypeOf((*ArrayOfAlarmState)(nil)).Elem()
+}
+
+type ArrayOfAlarmTriggeringActionTransitionSpec struct {
+ AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*ArrayOfAlarmTriggeringActionTransitionSpec)(nil)).Elem()
+}
+
+type ArrayOfAnswerFileStatusError struct {
+ AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAnswerFileStatusError"] = reflect.TypeOf((*ArrayOfAnswerFileStatusError)(nil)).Elem()
+}
+
+type ArrayOfAnswerFileStatusResult struct {
+ AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAnswerFileStatusResult"] = reflect.TypeOf((*ArrayOfAnswerFileStatusResult)(nil)).Elem()
+}
+
+type ArrayOfAnswerFileUpdateFailure struct {
+ AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAnswerFileUpdateFailure"] = reflect.TypeOf((*ArrayOfAnswerFileUpdateFailure)(nil)).Elem()
+}
+
+type ArrayOfAnyType struct {
+ AnyType []AnyType `xml:"anyType,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfAnyType"] = reflect.TypeOf((*ArrayOfAnyType)(nil)).Elem()
+}
+
+type ArrayOfAnyURI struct {
+ AnyURI []url.URL `xml:"anyURI,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAnyURI"] = reflect.TypeOf((*ArrayOfAnyURI)(nil)).Elem()
+}
+
+type ArrayOfApplyHostProfileConfigurationSpec struct {
+ ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationSpec)(nil)).Elem()
+}
+
+type ArrayOfApplyProfile struct {
+ ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfApplyProfile"] = reflect.TypeOf((*ArrayOfApplyProfile)(nil)).Elem()
+}
+
+type ArrayOfAuthorizationPrivilege struct {
+ AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAuthorizationPrivilege"] = reflect.TypeOf((*ArrayOfAuthorizationPrivilege)(nil)).Elem()
+}
+
+type ArrayOfAuthorizationRole struct {
+ AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAuthorizationRole"] = reflect.TypeOf((*ArrayOfAuthorizationRole)(nil)).Elem()
+}
+
+type ArrayOfAutoStartPowerInfo struct {
+ AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfAutoStartPowerInfo"] = reflect.TypeOf((*ArrayOfAutoStartPowerInfo)(nil)).Elem()
+}
+
+type ArrayOfBoolean struct {
+ Boolean []bool `xml:"boolean,omitempty"`
+}
+
+func init() {
+ t["ArrayOfBoolean"] = reflect.TypeOf((*ArrayOfBoolean)(nil)).Elem()
+}
+
+type ArrayOfByte struct {
+ Byte []byte `xml:"byte,omitempty"`
+}
+
+func init() {
+ t["ArrayOfByte"] = reflect.TypeOf((*ArrayOfByte)(nil)).Elem()
+}
+
+type ArrayOfChangesInfoEventArgument struct {
+ ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfChangesInfoEventArgument"] = reflect.TypeOf((*ArrayOfChangesInfoEventArgument)(nil)).Elem()
+}
+
+type ArrayOfCheckResult struct {
+ CheckResult []CheckResult `xml:"CheckResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCheckResult"] = reflect.TypeOf((*ArrayOfCheckResult)(nil)).Elem()
+}
+
+type ArrayOfClusterAction struct {
+ ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfClusterAction"] = reflect.TypeOf((*ArrayOfClusterAction)(nil)).Elem()
+}
+
+type ArrayOfClusterActionHistory struct {
+ ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterActionHistory"] = reflect.TypeOf((*ArrayOfClusterActionHistory)(nil)).Elem()
+}
+
+type ArrayOfClusterAttemptedVmInfo struct {
+ ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterAttemptedVmInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterDasAamNodeState struct {
+ ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDasAamNodeState"] = reflect.TypeOf((*ArrayOfClusterDasAamNodeState)(nil)).Elem()
+}
+
+type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
+ ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
+}
+
+type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
+ ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
+}
+
+type ArrayOfClusterDasVmConfigInfo struct {
+ ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDasVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterDasVmConfigSpec struct {
+ ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDasVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfClusterDpmHostConfigInfo struct {
+ ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDpmHostConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterDpmHostConfigSpec struct {
+ ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDpmHostConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsFaults struct {
+ ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsFaults"] = reflect.TypeOf((*ArrayOfClusterDrsFaults)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsFaultsFaultsByVm struct {
+ ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ArrayOfClusterDrsFaultsFaultsByVm)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsMigration struct {
+ ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsMigration"] = reflect.TypeOf((*ArrayOfClusterDrsMigration)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsRecommendation struct {
+ ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsRecommendation"] = reflect.TypeOf((*ArrayOfClusterDrsRecommendation)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsVmConfigInfo struct {
+ ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterDrsVmConfigSpec struct {
+ ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfClusterEVCManagerCheckResult struct {
+ ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterEVCManagerCheckResult"] = reflect.TypeOf((*ArrayOfClusterEVCManagerCheckResult)(nil)).Elem()
+}
+
+type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct {
+ ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
+}
+
+type ArrayOfClusterGroupInfo struct {
+ ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfClusterGroupInfo"] = reflect.TypeOf((*ArrayOfClusterGroupInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterGroupSpec struct {
+ ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterGroupSpec"] = reflect.TypeOf((*ArrayOfClusterGroupSpec)(nil)).Elem()
+}
+
+type ArrayOfClusterHostRecommendation struct {
+ ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterHostRecommendation"] = reflect.TypeOf((*ArrayOfClusterHostRecommendation)(nil)).Elem()
+}
+
+type ArrayOfClusterIoFilterInfo struct {
+ ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterIoFilterInfo"] = reflect.TypeOf((*ArrayOfClusterIoFilterInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterNotAttemptedVmInfo struct {
+ ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterNotAttemptedVmInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterRecommendation struct {
+ ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterRecommendation"] = reflect.TypeOf((*ArrayOfClusterRecommendation)(nil)).Elem()
+}
+
+type ArrayOfClusterRuleInfo struct {
+ ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfClusterRuleInfo"] = reflect.TypeOf((*ArrayOfClusterRuleInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterRuleSpec struct {
+ ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterRuleSpec"] = reflect.TypeOf((*ArrayOfClusterRuleSpec)(nil)).Elem()
+}
+
+type ArrayOfClusterVmOrchestrationInfo struct {
+ ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterVmOrchestrationInfo"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationInfo)(nil)).Elem()
+}
+
+type ArrayOfClusterVmOrchestrationSpec struct {
+ ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfClusterVmOrchestrationSpec"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationSpec)(nil)).Elem()
+}
+
+type ArrayOfComplianceFailure struct {
+ ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty"`
+}
+
+func init() {
+ t["ArrayOfComplianceFailure"] = reflect.TypeOf((*ArrayOfComplianceFailure)(nil)).Elem()
+}
+
+type ArrayOfComplianceFailureComplianceFailureValues struct {
+ ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty"`
+}
+
+func init() {
+ t["ArrayOfComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ArrayOfComplianceFailureComplianceFailureValues)(nil)).Elem()
+}
+
+type ArrayOfComplianceLocator struct {
+ ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty"`
+}
+
+func init() {
+ t["ArrayOfComplianceLocator"] = reflect.TypeOf((*ArrayOfComplianceLocator)(nil)).Elem()
+}
+
+type ArrayOfComplianceResult struct {
+ ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfComplianceResult"] = reflect.TypeOf((*ArrayOfComplianceResult)(nil)).Elem()
+}
+
+type ArrayOfComputeResourceHostSPBMLicenseInfo struct {
+ ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ArrayOfComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
+}
+
+type ArrayOfConflictingConfigurationConfig struct {
+ ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfConflictingConfigurationConfig"] = reflect.TypeOf((*ArrayOfConflictingConfigurationConfig)(nil)).Elem()
+}
+
+type ArrayOfCryptoKeyId struct {
+ CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCryptoKeyId"] = reflect.TypeOf((*ArrayOfCryptoKeyId)(nil)).Elem()
+}
+
+type ArrayOfCryptoKeyPlain struct {
+ CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCryptoKeyPlain"] = reflect.TypeOf((*ArrayOfCryptoKeyPlain)(nil)).Elem()
+}
+
+type ArrayOfCryptoKeyResult struct {
+ CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCryptoKeyResult"] = reflect.TypeOf((*ArrayOfCryptoKeyResult)(nil)).Elem()
+}
+
+type ArrayOfCryptoManagerKmipClusterStatus struct {
+ CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCryptoManagerKmipClusterStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipClusterStatus)(nil)).Elem()
+}
+
+type ArrayOfCryptoManagerKmipServerStatus struct {
+ CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCryptoManagerKmipServerStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipServerStatus)(nil)).Elem()
+}
+
+type ArrayOfCustomFieldDef struct {
+ CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCustomFieldDef"] = reflect.TypeOf((*ArrayOfCustomFieldDef)(nil)).Elem()
+}
+
+type ArrayOfCustomFieldValue struct {
+ CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfCustomFieldValue"] = reflect.TypeOf((*ArrayOfCustomFieldValue)(nil)).Elem()
+}
+
+type ArrayOfCustomizationAdapterMapping struct {
+ CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCustomizationAdapterMapping"] = reflect.TypeOf((*ArrayOfCustomizationAdapterMapping)(nil)).Elem()
+}
+
+type ArrayOfCustomizationIpV6Generator struct {
+ CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfCustomizationIpV6Generator"] = reflect.TypeOf((*ArrayOfCustomizationIpV6Generator)(nil)).Elem()
+}
+
+type ArrayOfCustomizationSpecInfo struct {
+ CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfCustomizationSpecInfo"] = reflect.TypeOf((*ArrayOfCustomizationSpecInfo)(nil)).Elem()
+}
+
+type ArrayOfDVPortConfigSpec struct {
+ DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDVPortConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfDVPortgroupConfigSpec struct {
+ DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDVPortgroupConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortgroupConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfDVSHealthCheckConfig struct {
+ DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfDVSHealthCheckConfig"] = reflect.TypeOf((*ArrayOfDVSHealthCheckConfig)(nil)).Elem()
+}
+
+type ArrayOfDVSNetworkResourcePool struct {
+ DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDVSNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePool)(nil)).Elem()
+}
+
+type ArrayOfDVSNetworkResourcePoolConfigSpec struct {
+ DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePoolConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfDVSVmVnicNetworkResourcePool struct {
+ DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSVmVnicNetworkResourcePool)(nil)).Elem()
+}
+
+type ArrayOfDasHeartbeatDatastoreInfo struct {
+ DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDasHeartbeatDatastoreInfo"] = reflect.TypeOf((*ArrayOfDasHeartbeatDatastoreInfo)(nil)).Elem()
+}
+
+type ArrayOfDatacenterMismatchArgument struct {
+ DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDatacenterMismatchArgument"] = reflect.TypeOf((*ArrayOfDatacenterMismatchArgument)(nil)).Elem()
+}
+
+type ArrayOfDatastoreHostMount struct {
+ DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDatastoreHostMount"] = reflect.TypeOf((*ArrayOfDatastoreHostMount)(nil)).Elem()
+}
+
+type ArrayOfDatastoreMountPathDatastorePair struct {
+ DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDatastoreMountPathDatastorePair"] = reflect.TypeOf((*ArrayOfDatastoreMountPathDatastorePair)(nil)).Elem()
+}
+
+type ArrayOfDatastoreVVolContainerFailoverPair struct {
+ DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*ArrayOfDatastoreVVolContainerFailoverPair)(nil)).Elem()
+}
+
+type ArrayOfDiagnosticManagerBundleInfo struct {
+ DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDiagnosticManagerBundleInfo"] = reflect.TypeOf((*ArrayOfDiagnosticManagerBundleInfo)(nil)).Elem()
+}
+
+type ArrayOfDiagnosticManagerLogDescriptor struct {
+ DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDiagnosticManagerLogDescriptor"] = reflect.TypeOf((*ArrayOfDiagnosticManagerLogDescriptor)(nil)).Elem()
+}
+
+type ArrayOfDiskChangeExtent struct {
+ DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDiskChangeExtent"] = reflect.TypeOf((*ArrayOfDiskChangeExtent)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualPort struct {
+ DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualPort"] = reflect.TypeOf((*ArrayOfDistributedVirtualPort)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualPortgroupInfo struct {
+ DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualPortgroupInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupInfo)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchHostMember struct {
+ DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchHostMember"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMember)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct {
+ DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct {
+ DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchHostProductSpec struct {
+ DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostProductSpec)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchInfo struct {
+ DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchInfo)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct {
+ DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct {
+ DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct {
+ DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
+}
+
+type ArrayOfDistributedVirtualSwitchProductSpec struct {
+ DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchProductSpec)(nil)).Elem()
+}
+
+type ArrayOfDouble struct {
+ Double []float64 `xml:"double,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDouble"] = reflect.TypeOf((*ArrayOfDouble)(nil)).Elem()
+}
+
+type ArrayOfDvsApplyOperationFaultFaultOnObject struct {
+ DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*ArrayOfDvsApplyOperationFaultFaultOnObject)(nil)).Elem()
+}
+
+type ArrayOfDvsFilterConfig struct {
+ DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfDvsFilterConfig"] = reflect.TypeOf((*ArrayOfDvsFilterConfig)(nil)).Elem()
+}
+
+type ArrayOfDvsHostInfrastructureTrafficResource struct {
+ DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*ArrayOfDvsHostInfrastructureTrafficResource)(nil)).Elem()
+}
+
+type ArrayOfDvsHostVNicProfile struct {
+ DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsHostVNicProfile"] = reflect.TypeOf((*ArrayOfDvsHostVNicProfile)(nil)).Elem()
+}
+
+type ArrayOfDvsNetworkRuleQualifier struct {
+ DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfDvsNetworkRuleQualifier"] = reflect.TypeOf((*ArrayOfDvsNetworkRuleQualifier)(nil)).Elem()
+}
+
+type ArrayOfDvsOperationBulkFaultFaultOnHost struct {
+ DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*ArrayOfDvsOperationBulkFaultFaultOnHost)(nil)).Elem()
+}
+
+type ArrayOfDvsOutOfSyncHostArgument struct {
+ DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsOutOfSyncHostArgument"] = reflect.TypeOf((*ArrayOfDvsOutOfSyncHostArgument)(nil)).Elem()
+}
+
+type ArrayOfDvsProfile struct {
+ DvsProfile []DvsProfile `xml:"DvsProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsProfile"] = reflect.TypeOf((*ArrayOfDvsProfile)(nil)).Elem()
+}
+
+type ArrayOfDvsServiceConsoleVNicProfile struct {
+ DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsServiceConsoleVNicProfile"] = reflect.TypeOf((*ArrayOfDvsServiceConsoleVNicProfile)(nil)).Elem()
+}
+
+type ArrayOfDvsTrafficRule struct {
+ DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsTrafficRule"] = reflect.TypeOf((*ArrayOfDvsTrafficRule)(nil)).Elem()
+}
+
+type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct {
+ DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
+}
+
+type ArrayOfDvsVmVnicResourcePoolConfigSpec struct {
+ DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfDvsVnicAllocatedResource struct {
+ DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDvsVnicAllocatedResource"] = reflect.TypeOf((*ArrayOfDvsVnicAllocatedResource)(nil)).Elem()
+}
+
+type ArrayOfDynamicProperty struct {
+ DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty"`
+}
+
+func init() {
+ t["ArrayOfDynamicProperty"] = reflect.TypeOf((*ArrayOfDynamicProperty)(nil)).Elem()
+}
+
+type ArrayOfEVCMode struct {
+ EVCMode []EVCMode `xml:"EVCMode,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEVCMode"] = reflect.TypeOf((*ArrayOfEVCMode)(nil)).Elem()
+}
+
+type ArrayOfElementDescription struct {
+ ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfElementDescription"] = reflect.TypeOf((*ArrayOfElementDescription)(nil)).Elem()
+}
+
+type ArrayOfEntityBackupConfig struct {
+ EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEntityBackupConfig"] = reflect.TypeOf((*ArrayOfEntityBackupConfig)(nil)).Elem()
+}
+
+type ArrayOfEntityPrivilege struct {
+ EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEntityPrivilege"] = reflect.TypeOf((*ArrayOfEntityPrivilege)(nil)).Elem()
+}
+
+type ArrayOfEnumDescription struct {
+ EnumDescription []EnumDescription `xml:"EnumDescription,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEnumDescription"] = reflect.TypeOf((*ArrayOfEnumDescription)(nil)).Elem()
+}
+
+type ArrayOfEvent struct {
+ Event []BaseEvent `xml:"Event,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfEvent"] = reflect.TypeOf((*ArrayOfEvent)(nil)).Elem()
+}
+
+type ArrayOfEventAlarmExpressionComparison struct {
+ EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEventAlarmExpressionComparison"] = reflect.TypeOf((*ArrayOfEventAlarmExpressionComparison)(nil)).Elem()
+}
+
+type ArrayOfEventArgDesc struct {
+ EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEventArgDesc"] = reflect.TypeOf((*ArrayOfEventArgDesc)(nil)).Elem()
+}
+
+type ArrayOfEventDescriptionEventDetail struct {
+ EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty"`
+}
+
+func init() {
+ t["ArrayOfEventDescriptionEventDetail"] = reflect.TypeOf((*ArrayOfEventDescriptionEventDetail)(nil)).Elem()
+}
+
+type ArrayOfExtManagedEntityInfo struct {
+ ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtManagedEntityInfo"] = reflect.TypeOf((*ArrayOfExtManagedEntityInfo)(nil)).Elem()
+}
+
+type ArrayOfExtSolutionManagerInfoTabInfo struct {
+ ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ArrayOfExtSolutionManagerInfoTabInfo)(nil)).Elem()
+}
+
+type ArrayOfExtendedEventPair struct {
+ ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtendedEventPair"] = reflect.TypeOf((*ArrayOfExtendedEventPair)(nil)).Elem()
+}
+
+type ArrayOfExtension struct {
+ Extension []Extension `xml:"Extension,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtension"] = reflect.TypeOf((*ArrayOfExtension)(nil)).Elem()
+}
+
+type ArrayOfExtensionClientInfo struct {
+ ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionClientInfo"] = reflect.TypeOf((*ArrayOfExtensionClientInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionEventTypeInfo struct {
+ ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionEventTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionEventTypeInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionFaultTypeInfo struct {
+ ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionFaultTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionFaultTypeInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionManagerIpAllocationUsage struct {
+ ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ArrayOfExtensionManagerIpAllocationUsage)(nil)).Elem()
+}
+
+type ArrayOfExtensionPrivilegeInfo struct {
+ ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionPrivilegeInfo"] = reflect.TypeOf((*ArrayOfExtensionPrivilegeInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionResourceInfo struct {
+ ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionResourceInfo"] = reflect.TypeOf((*ArrayOfExtensionResourceInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionServerInfo struct {
+ ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionServerInfo"] = reflect.TypeOf((*ArrayOfExtensionServerInfo)(nil)).Elem()
+}
+
+type ArrayOfExtensionTaskTypeInfo struct {
+ ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfExtensionTaskTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionTaskTypeInfo)(nil)).Elem()
+}
+
+type ArrayOfFaultToleranceDiskSpec struct {
+ FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfFaultToleranceDiskSpec"] = reflect.TypeOf((*ArrayOfFaultToleranceDiskSpec)(nil)).Elem()
+}
+
+type ArrayOfFcoeConfigVlanRange struct {
+ FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty"`
+}
+
+func init() {
+ t["ArrayOfFcoeConfigVlanRange"] = reflect.TypeOf((*ArrayOfFcoeConfigVlanRange)(nil)).Elem()
+}
+
+type ArrayOfFileInfo struct {
+ FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfFileInfo"] = reflect.TypeOf((*ArrayOfFileInfo)(nil)).Elem()
+}
+
+type ArrayOfFileQuery struct {
+ FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfFileQuery"] = reflect.TypeOf((*ArrayOfFileQuery)(nil)).Elem()
+}
+
+type ArrayOfFirewallProfileRulesetProfile struct {
+ FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfFirewallProfileRulesetProfile"] = reflect.TypeOf((*ArrayOfFirewallProfileRulesetProfile)(nil)).Elem()
+}
+
+type ArrayOfGuestAliases struct {
+ GuestAliases []GuestAliases `xml:"GuestAliases,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestAliases"] = reflect.TypeOf((*ArrayOfGuestAliases)(nil)).Elem()
+}
+
+type ArrayOfGuestAuthAliasInfo struct {
+ GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestAuthAliasInfo"] = reflect.TypeOf((*ArrayOfGuestAuthAliasInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestAuthSubject struct {
+ GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfGuestAuthSubject"] = reflect.TypeOf((*ArrayOfGuestAuthSubject)(nil)).Elem()
+}
+
+type ArrayOfGuestDiskInfo struct {
+ GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestDiskInfo"] = reflect.TypeOf((*ArrayOfGuestDiskInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestFileInfo struct {
+ GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestFileInfo"] = reflect.TypeOf((*ArrayOfGuestFileInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestInfoNamespaceGenerationInfo struct {
+ GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*ArrayOfGuestInfoNamespaceGenerationInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestMappedAliases struct {
+ GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestMappedAliases"] = reflect.TypeOf((*ArrayOfGuestMappedAliases)(nil)).Elem()
+}
+
+type ArrayOfGuestNicInfo struct {
+ GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestNicInfo"] = reflect.TypeOf((*ArrayOfGuestNicInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestOsDescriptor struct {
+ GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestOsDescriptor"] = reflect.TypeOf((*ArrayOfGuestOsDescriptor)(nil)).Elem()
+}
+
+type ArrayOfGuestProcessInfo struct {
+ GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestProcessInfo"] = reflect.TypeOf((*ArrayOfGuestProcessInfo)(nil)).Elem()
+}
+
+type ArrayOfGuestRegKeyRecordSpec struct {
+ GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestRegKeyRecordSpec"] = reflect.TypeOf((*ArrayOfGuestRegKeyRecordSpec)(nil)).Elem()
+}
+
+type ArrayOfGuestRegValueSpec struct {
+ GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestRegValueSpec"] = reflect.TypeOf((*ArrayOfGuestRegValueSpec)(nil)).Elem()
+}
+
+type ArrayOfGuestStackInfo struct {
+ GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfGuestStackInfo"] = reflect.TypeOf((*ArrayOfGuestStackInfo)(nil)).Elem()
+}
+
+type ArrayOfHbrManagerVmReplicationCapability struct {
+ HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHbrManagerVmReplicationCapability"] = reflect.TypeOf((*ArrayOfHbrManagerVmReplicationCapability)(nil)).Elem()
+}
+
+type ArrayOfHealthUpdate struct {
+ HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHealthUpdate"] = reflect.TypeOf((*ArrayOfHealthUpdate)(nil)).Elem()
+}
+
+type ArrayOfHealthUpdateInfo struct {
+ HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHealthUpdateInfo"] = reflect.TypeOf((*ArrayOfHealthUpdateInfo)(nil)).Elem()
+}
+
+type ArrayOfHostAccessControlEntry struct {
+ HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostAccessControlEntry"] = reflect.TypeOf((*ArrayOfHostAccessControlEntry)(nil)).Elem()
+}
+
+type ArrayOfHostAccountSpec struct {
+ HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostAccountSpec"] = reflect.TypeOf((*ArrayOfHostAccountSpec)(nil)).Elem()
+}
+
+type ArrayOfHostActiveDirectory struct {
+ HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostActiveDirectory"] = reflect.TypeOf((*ArrayOfHostActiveDirectory)(nil)).Elem()
+}
+
+type ArrayOfHostAuthenticationStoreInfo struct {
+ HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostAuthenticationStoreInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationStoreInfo)(nil)).Elem()
+}
+
+type ArrayOfHostBootDevice struct {
+ HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostBootDevice"] = reflect.TypeOf((*ArrayOfHostBootDevice)(nil)).Elem()
+}
+
+type ArrayOfHostCacheConfigurationInfo struct {
+ HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostCacheConfigurationInfo"] = reflect.TypeOf((*ArrayOfHostCacheConfigurationInfo)(nil)).Elem()
+}
+
+type ArrayOfHostConnectInfoNetworkInfo struct {
+ HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostConnectInfoNetworkInfo"] = reflect.TypeOf((*ArrayOfHostConnectInfoNetworkInfo)(nil)).Elem()
+}
+
+type ArrayOfHostCpuIdInfo struct {
+ HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostCpuIdInfo"] = reflect.TypeOf((*ArrayOfHostCpuIdInfo)(nil)).Elem()
+}
+
+type ArrayOfHostCpuPackage struct {
+ HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostCpuPackage"] = reflect.TypeOf((*ArrayOfHostCpuPackage)(nil)).Elem()
+}
+
+type ArrayOfHostDatastoreBrowserSearchResults struct {
+ HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDatastoreBrowserSearchResults"] = reflect.TypeOf((*ArrayOfHostDatastoreBrowserSearchResults)(nil)).Elem()
+}
+
+type ArrayOfHostDatastoreConnectInfo struct {
+ HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostDatastoreConnectInfo"] = reflect.TypeOf((*ArrayOfHostDatastoreConnectInfo)(nil)).Elem()
+}
+
+type ArrayOfHostDatastoreSystemDatastoreResult struct {
+ HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*ArrayOfHostDatastoreSystemDatastoreResult)(nil)).Elem()
+}
+
+type ArrayOfHostDateTimeSystemTimeZone struct {
+ HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDateTimeSystemTimeZone"] = reflect.TypeOf((*ArrayOfHostDateTimeSystemTimeZone)(nil)).Elem()
+}
+
+type ArrayOfHostDhcpService struct {
+ HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDhcpService"] = reflect.TypeOf((*ArrayOfHostDhcpService)(nil)).Elem()
+}
+
+type ArrayOfHostDhcpServiceConfig struct {
+ HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDhcpServiceConfig"] = reflect.TypeOf((*ArrayOfHostDhcpServiceConfig)(nil)).Elem()
+}
+
+type ArrayOfHostDiagnosticPartition struct {
+ HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiagnosticPartition"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartition)(nil)).Elem()
+}
+
+type ArrayOfHostDiagnosticPartitionCreateOption struct {
+ HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartitionCreateOption)(nil)).Elem()
+}
+
+type ArrayOfHostDiskConfigurationResult struct {
+ HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiskConfigurationResult"] = reflect.TypeOf((*ArrayOfHostDiskConfigurationResult)(nil)).Elem()
+}
+
+type ArrayOfHostDiskMappingPartitionOption struct {
+ HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiskMappingPartitionOption"] = reflect.TypeOf((*ArrayOfHostDiskMappingPartitionOption)(nil)).Elem()
+}
+
+type ArrayOfHostDiskPartitionAttributes struct {
+ HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiskPartitionAttributes"] = reflect.TypeOf((*ArrayOfHostDiskPartitionAttributes)(nil)).Elem()
+}
+
+type ArrayOfHostDiskPartitionBlockRange struct {
+ HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiskPartitionBlockRange"] = reflect.TypeOf((*ArrayOfHostDiskPartitionBlockRange)(nil)).Elem()
+}
+
+type ArrayOfHostDiskPartitionInfo struct {
+ HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostDiskPartitionInfo"] = reflect.TypeOf((*ArrayOfHostDiskPartitionInfo)(nil)).Elem()
+}
+
+type ArrayOfHostEventArgument struct {
+ HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostEventArgument"] = reflect.TypeOf((*ArrayOfHostEventArgument)(nil)).Elem()
+}
+
+type ArrayOfHostFeatureCapability struct {
+ HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFeatureCapability"] = reflect.TypeOf((*ArrayOfHostFeatureCapability)(nil)).Elem()
+}
+
+type ArrayOfHostFeatureMask struct {
+ HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFeatureMask"] = reflect.TypeOf((*ArrayOfHostFeatureMask)(nil)).Elem()
+}
+
+type ArrayOfHostFeatureVersionInfo struct {
+ HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFeatureVersionInfo"] = reflect.TypeOf((*ArrayOfHostFeatureVersionInfo)(nil)).Elem()
+}
+
+type ArrayOfHostFileSystemMountInfo struct {
+ HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFileSystemMountInfo"] = reflect.TypeOf((*ArrayOfHostFileSystemMountInfo)(nil)).Elem()
+}
+
+type ArrayOfHostFirewallConfigRuleSetConfig struct {
+ HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*ArrayOfHostFirewallConfigRuleSetConfig)(nil)).Elem()
+}
+
+type ArrayOfHostFirewallRule struct {
+ HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFirewallRule"] = reflect.TypeOf((*ArrayOfHostFirewallRule)(nil)).Elem()
+}
+
+type ArrayOfHostFirewallRuleset struct {
+ HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFirewallRuleset"] = reflect.TypeOf((*ArrayOfHostFirewallRuleset)(nil)).Elem()
+}
+
+type ArrayOfHostFirewallRulesetIpNetwork struct {
+ HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostFirewallRulesetIpNetwork"] = reflect.TypeOf((*ArrayOfHostFirewallRulesetIpNetwork)(nil)).Elem()
+}
+
+type ArrayOfHostGraphicsConfigDeviceType struct {
+ HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostGraphicsConfigDeviceType"] = reflect.TypeOf((*ArrayOfHostGraphicsConfigDeviceType)(nil)).Elem()
+}
+
+type ArrayOfHostGraphicsInfo struct {
+ HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostGraphicsInfo"] = reflect.TypeOf((*ArrayOfHostGraphicsInfo)(nil)).Elem()
+}
+
+type ArrayOfHostHardwareElementInfo struct {
+ HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostHardwareElementInfo"] = reflect.TypeOf((*ArrayOfHostHardwareElementInfo)(nil)).Elem()
+}
+
+type ArrayOfHostHostBusAdapter struct {
+ HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostHostBusAdapter"] = reflect.TypeOf((*ArrayOfHostHostBusAdapter)(nil)).Elem()
+}
+
+type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct {
+ HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
+}
+
+type ArrayOfHostInternetScsiHbaParamValue struct {
+ HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostInternetScsiHbaParamValue"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaParamValue)(nil)).Elem()
+}
+
+type ArrayOfHostInternetScsiHbaSendTarget struct {
+ HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostInternetScsiHbaSendTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaSendTarget)(nil)).Elem()
+}
+
+type ArrayOfHostInternetScsiHbaStaticTarget struct {
+ HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaStaticTarget)(nil)).Elem()
+}
+
+type ArrayOfHostIoFilterInfo struct {
+ HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostIoFilterInfo"] = reflect.TypeOf((*ArrayOfHostIoFilterInfo)(nil)).Elem()
+}
+
+type ArrayOfHostIpConfigIpV6Address struct {
+ HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostIpConfigIpV6Address"] = reflect.TypeOf((*ArrayOfHostIpConfigIpV6Address)(nil)).Elem()
+}
+
+type ArrayOfHostIpRouteEntry struct {
+ HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostIpRouteEntry"] = reflect.TypeOf((*ArrayOfHostIpRouteEntry)(nil)).Elem()
+}
+
+type ArrayOfHostIpRouteOp struct {
+ HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostIpRouteOp"] = reflect.TypeOf((*ArrayOfHostIpRouteOp)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct {
+ HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct {
+ HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct {
+ HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct {
+ HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct {
+ HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
+}
+
+type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
+ HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
+}
+
+type ArrayOfHostMemberHealthCheckResult struct {
+ HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostMemberHealthCheckResult"] = reflect.TypeOf((*ArrayOfHostMemberHealthCheckResult)(nil)).Elem()
+}
+
+type ArrayOfHostMemberRuntimeInfo struct {
+ HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostMemberRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostMemberRuntimeInfo)(nil)).Elem()
+}
+
+type ArrayOfHostMultipathInfoLogicalUnit struct {
+ HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostMultipathInfoLogicalUnit"] = reflect.TypeOf((*ArrayOfHostMultipathInfoLogicalUnit)(nil)).Elem()
+}
+
+type ArrayOfHostMultipathInfoPath struct {
+ HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostMultipathInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathInfoPath)(nil)).Elem()
+}
+
+type ArrayOfHostMultipathStateInfoPath struct {
+ HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostMultipathStateInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathStateInfoPath)(nil)).Elem()
+}
+
+type ArrayOfHostNasVolumeConfig struct {
+ HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNasVolumeConfig"] = reflect.TypeOf((*ArrayOfHostNasVolumeConfig)(nil)).Elem()
+}
+
+type ArrayOfHostNatService struct {
+ HostNatService []HostNatService `xml:"HostNatService,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNatService"] = reflect.TypeOf((*ArrayOfHostNatService)(nil)).Elem()
+}
+
+type ArrayOfHostNatServiceConfig struct {
+ HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNatServiceConfig"] = reflect.TypeOf((*ArrayOfHostNatServiceConfig)(nil)).Elem()
+}
+
+type ArrayOfHostNatServicePortForwardSpec struct {
+ HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNatServicePortForwardSpec"] = reflect.TypeOf((*ArrayOfHostNatServicePortForwardSpec)(nil)).Elem()
+}
+
+type ArrayOfHostNetStackInstance struct {
+ HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNetStackInstance"] = reflect.TypeOf((*ArrayOfHostNetStackInstance)(nil)).Elem()
+}
+
+type ArrayOfHostNetworkConfigNetStackSpec struct {
+ HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNetworkConfigNetStackSpec"] = reflect.TypeOf((*ArrayOfHostNetworkConfigNetStackSpec)(nil)).Elem()
+}
+
+type ArrayOfHostNumaNode struct {
+ HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNumaNode"] = reflect.TypeOf((*ArrayOfHostNumaNode)(nil)).Elem()
+}
+
+type ArrayOfHostNumericSensorInfo struct {
+ HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostNumericSensorInfo"] = reflect.TypeOf((*ArrayOfHostNumericSensorInfo)(nil)).Elem()
+}
+
+type ArrayOfHostOpaqueNetworkInfo struct {
+ HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostOpaqueNetworkInfo"] = reflect.TypeOf((*ArrayOfHostOpaqueNetworkInfo)(nil)).Elem()
+}
+
+type ArrayOfHostOpaqueSwitch struct {
+ HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostOpaqueSwitch"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitch)(nil)).Elem()
+}
+
+type ArrayOfHostOpaqueSwitchPhysicalNicZone struct {
+ HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
+}
+
+type ArrayOfHostPatchManagerStatus struct {
+ HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPatchManagerStatus"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatus)(nil)).Elem()
+}
+
+type ArrayOfHostPatchManagerStatusPrerequisitePatch struct {
+ HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
+}
+
+type ArrayOfHostPathSelectionPolicyOption struct {
+ HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPathSelectionPolicyOption"] = reflect.TypeOf((*ArrayOfHostPathSelectionPolicyOption)(nil)).Elem()
+}
+
+type ArrayOfHostPciDevice struct {
+ HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPciDevice"] = reflect.TypeOf((*ArrayOfHostPciDevice)(nil)).Elem()
+}
+
+type ArrayOfHostPciPassthruConfig struct {
+ HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostPciPassthruConfig"] = reflect.TypeOf((*ArrayOfHostPciPassthruConfig)(nil)).Elem()
+}
+
+type ArrayOfHostPciPassthruInfo struct {
+ HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostPciPassthruInfo"] = reflect.TypeOf((*ArrayOfHostPciPassthruInfo)(nil)).Elem()
+}
+
+type ArrayOfHostPlacedVirtualNicIdentifier struct {
+ HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*ArrayOfHostPlacedVirtualNicIdentifier)(nil)).Elem()
+}
+
+type ArrayOfHostPlugStoreTopologyAdapter struct {
+ HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlugStoreTopologyAdapter"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyAdapter)(nil)).Elem()
+}
+
+type ArrayOfHostPlugStoreTopologyDevice struct {
+ HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlugStoreTopologyDevice"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyDevice)(nil)).Elem()
+}
+
+type ArrayOfHostPlugStoreTopologyPath struct {
+ HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlugStoreTopologyPath"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPath)(nil)).Elem()
+}
+
+type ArrayOfHostPlugStoreTopologyPlugin struct {
+ HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlugStoreTopologyPlugin"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPlugin)(nil)).Elem()
+}
+
+type ArrayOfHostPlugStoreTopologyTarget struct {
+ HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPlugStoreTopologyTarget"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyTarget)(nil)).Elem()
+}
+
+type ArrayOfHostPnicNetworkResourceInfo struct {
+ HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPnicNetworkResourceInfo"] = reflect.TypeOf((*ArrayOfHostPnicNetworkResourceInfo)(nil)).Elem()
+}
+
+type ArrayOfHostPortGroup struct {
+ HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPortGroup"] = reflect.TypeOf((*ArrayOfHostPortGroup)(nil)).Elem()
+}
+
+type ArrayOfHostPortGroupConfig struct {
+ HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPortGroupConfig"] = reflect.TypeOf((*ArrayOfHostPortGroupConfig)(nil)).Elem()
+}
+
+type ArrayOfHostPortGroupPort struct {
+ HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPortGroupPort"] = reflect.TypeOf((*ArrayOfHostPortGroupPort)(nil)).Elem()
+}
+
+type ArrayOfHostPortGroupProfile struct {
+ HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPortGroupProfile"] = reflect.TypeOf((*ArrayOfHostPortGroupProfile)(nil)).Elem()
+}
+
+type ArrayOfHostPowerPolicy struct {
+ HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostPowerPolicy"] = reflect.TypeOf((*ArrayOfHostPowerPolicy)(nil)).Elem()
+}
+
+type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct {
+ HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
+}
+
+type ArrayOfHostProfileManagerHostToConfigSpecMap struct {
+ HostProfileManagerHostToConfigSpecMap []HostProfileManagerHostToConfigSpecMap `xml:"HostProfileManagerHostToConfigSpecMap,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*ArrayOfHostProfileManagerHostToConfigSpecMap)(nil)).Elem()
+}
+
+type ArrayOfHostProfilesEntityCustomizations struct {
+ HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostProfilesEntityCustomizations"] = reflect.TypeOf((*ArrayOfHostProfilesEntityCustomizations)(nil)).Elem()
+}
+
+type ArrayOfHostProtocolEndpoint struct {
+ HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProtocolEndpoint"] = reflect.TypeOf((*ArrayOfHostProtocolEndpoint)(nil)).Elem()
+}
+
+type ArrayOfHostProxySwitch struct {
+ HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProxySwitch"] = reflect.TypeOf((*ArrayOfHostProxySwitch)(nil)).Elem()
+}
+
+type ArrayOfHostProxySwitchConfig struct {
+ HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProxySwitchConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchConfig)(nil)).Elem()
+}
+
+type ArrayOfHostProxySwitchHostLagConfig struct {
+ HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostProxySwitchHostLagConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchHostLagConfig)(nil)).Elem()
+}
+
+type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct {
+ HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
+}
+
+type ArrayOfHostScsiDisk struct {
+ HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostScsiDisk"] = reflect.TypeOf((*ArrayOfHostScsiDisk)(nil)).Elem()
+}
+
+type ArrayOfHostScsiDiskPartition struct {
+ HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostScsiDiskPartition"] = reflect.TypeOf((*ArrayOfHostScsiDiskPartition)(nil)).Elem()
+}
+
+type ArrayOfHostScsiTopologyInterface struct {
+ HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostScsiTopologyInterface"] = reflect.TypeOf((*ArrayOfHostScsiTopologyInterface)(nil)).Elem()
+}
+
+type ArrayOfHostScsiTopologyLun struct {
+ HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostScsiTopologyLun"] = reflect.TypeOf((*ArrayOfHostScsiTopologyLun)(nil)).Elem()
+}
+
+type ArrayOfHostScsiTopologyTarget struct {
+ HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostScsiTopologyTarget"] = reflect.TypeOf((*ArrayOfHostScsiTopologyTarget)(nil)).Elem()
+}
+
+type ArrayOfHostService struct {
+ HostService []HostService `xml:"HostService,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostService"] = reflect.TypeOf((*ArrayOfHostService)(nil)).Elem()
+}
+
+type ArrayOfHostServiceConfig struct {
+ HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostServiceConfig"] = reflect.TypeOf((*ArrayOfHostServiceConfig)(nil)).Elem()
+}
+
+type ArrayOfHostSnmpDestination struct {
+ HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostSnmpDestination"] = reflect.TypeOf((*ArrayOfHostSnmpDestination)(nil)).Elem()
+}
+
+type ArrayOfHostSriovDevicePoolInfo struct {
+ HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostSriovDevicePoolInfo"] = reflect.TypeOf((*ArrayOfHostSriovDevicePoolInfo)(nil)).Elem()
+}
+
+type ArrayOfHostSslThumbprintInfo struct {
+ HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostSslThumbprintInfo"] = reflect.TypeOf((*ArrayOfHostSslThumbprintInfo)(nil)).Elem()
+}
+
+type ArrayOfHostStorageArrayTypePolicyOption struct {
+ HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageArrayTypePolicyOption"] = reflect.TypeOf((*ArrayOfHostStorageArrayTypePolicyOption)(nil)).Elem()
+}
+
+type ArrayOfHostStorageElementInfo struct {
+ HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageElementInfo"] = reflect.TypeOf((*ArrayOfHostStorageElementInfo)(nil)).Elem()
+}
+
+type ArrayOfHostStorageOperationalInfo struct {
+ HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageOperationalInfo"] = reflect.TypeOf((*ArrayOfHostStorageOperationalInfo)(nil)).Elem()
+}
+
+type ArrayOfHostStorageSystemDiskLocatorLedResult struct {
+ HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemDiskLocatorLedResult)(nil)).Elem()
+}
+
+type ArrayOfHostStorageSystemScsiLunResult struct {
+ HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageSystemScsiLunResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemScsiLunResult)(nil)).Elem()
+}
+
+type ArrayOfHostStorageSystemVmfsVolumeResult struct {
+ HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemVmfsVolumeResult)(nil)).Elem()
+}
+
+type ArrayOfHostSubSpecification struct {
+ HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostSubSpecification"] = reflect.TypeOf((*ArrayOfHostSubSpecification)(nil)).Elem()
+}
+
+type ArrayOfHostSystemIdentificationInfo struct {
+ HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostSystemIdentificationInfo"] = reflect.TypeOf((*ArrayOfHostSystemIdentificationInfo)(nil)).Elem()
+}
+
+type ArrayOfHostSystemResourceInfo struct {
+ HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostSystemResourceInfo"] = reflect.TypeOf((*ArrayOfHostSystemResourceInfo)(nil)).Elem()
+}
+
+type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct {
+ HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*ArrayOfHostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
+}
+
+type ArrayOfHostTpmDigestInfo struct {
+ HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostTpmDigestInfo"] = reflect.TypeOf((*ArrayOfHostTpmDigestInfo)(nil)).Elem()
+}
+
+type ArrayOfHostTpmEventLogEntry struct {
+ HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostTpmEventLogEntry"] = reflect.TypeOf((*ArrayOfHostTpmEventLogEntry)(nil)).Elem()
+}
+
+type ArrayOfHostUnresolvedVmfsExtent struct {
+ HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostUnresolvedVmfsExtent"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsExtent)(nil)).Elem()
+}
+
+type ArrayOfHostUnresolvedVmfsResolutionResult struct {
+ HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionResult)(nil)).Elem()
+}
+
+type ArrayOfHostUnresolvedVmfsResolutionSpec struct {
+ HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionSpec)(nil)).Elem()
+}
+
+type ArrayOfHostUnresolvedVmfsVolume struct {
+ HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostUnresolvedVmfsVolume"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsVolume)(nil)).Elem()
+}
+
+type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
+ HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
+}
+
+type ArrayOfHostVMotionCompatibility struct {
+ HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVMotionCompatibility"] = reflect.TypeOf((*ArrayOfHostVMotionCompatibility)(nil)).Elem()
+}
+
+type ArrayOfHostVirtualNic struct {
+ HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVirtualNic"] = reflect.TypeOf((*ArrayOfHostVirtualNic)(nil)).Elem()
+}
+
+type ArrayOfHostVirtualNicConfig struct {
+ HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVirtualNicConfig"] = reflect.TypeOf((*ArrayOfHostVirtualNicConfig)(nil)).Elem()
+}
+
+type ArrayOfHostVirtualNicManagerNicTypeSelection struct {
+ HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*ArrayOfHostVirtualNicManagerNicTypeSelection)(nil)).Elem()
+}
+
+type ArrayOfHostVirtualSwitch struct {
+ HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVirtualSwitch"] = reflect.TypeOf((*ArrayOfHostVirtualSwitch)(nil)).Elem()
+}
+
+type ArrayOfHostVirtualSwitchConfig struct {
+ HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVirtualSwitchConfig"] = reflect.TypeOf((*ArrayOfHostVirtualSwitchConfig)(nil)).Elem()
+}
+
+type ArrayOfHostVmciAccessManagerAccessSpec struct {
+ HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*ArrayOfHostVmciAccessManagerAccessSpec)(nil)).Elem()
+}
+
+type ArrayOfHostVmfsRescanResult struct {
+ HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVmfsRescanResult"] = reflect.TypeOf((*ArrayOfHostVmfsRescanResult)(nil)).Elem()
+}
+
+type ArrayOfHostVsanInternalSystemCmmdsQuery struct {
+ HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemCmmdsQuery)(nil)).Elem()
+}
+
+type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct {
+ HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
+}
+
+type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct {
+ HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
+}
+
+type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
+ HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
+}
+
+type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct {
+ HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
+}
+
+type ArrayOfHttpNfcLeaseDeviceUrl struct {
+ HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDeviceUrl)(nil)).Elem()
+}
+
+type ArrayOfHttpNfcLeaseHostInfo struct {
+ HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHttpNfcLeaseHostInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseHostInfo)(nil)).Elem()
+}
+
+type ArrayOfHttpNfcLeaseManifestEntry struct {
+ HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(nil)).Elem()
+}
+
+type ArrayOfID struct {
+ ID []ID `xml:"ID,omitempty"`
+}
+
+func init() {
+ t["ArrayOfID"] = reflect.TypeOf((*ArrayOfID)(nil)).Elem()
+}
+
+type ArrayOfImportOperationBulkFaultFaultOnImport struct {
+ ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty"`
+}
+
+func init() {
+ t["ArrayOfImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ArrayOfImportOperationBulkFaultFaultOnImport)(nil)).Elem()
+}
+
+type ArrayOfImportSpec struct {
+ ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfImportSpec"] = reflect.TypeOf((*ArrayOfImportSpec)(nil)).Elem()
+}
+
+type ArrayOfInt struct {
+ Int []int32 `xml:"int,omitempty"`
+}
+
+func init() {
+ t["ArrayOfInt"] = reflect.TypeOf((*ArrayOfInt)(nil)).Elem()
+}
+
+type ArrayOfIoFilterHostIssue struct {
+ IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIoFilterHostIssue"] = reflect.TypeOf((*ArrayOfIoFilterHostIssue)(nil)).Elem()
+}
+
+type ArrayOfIpPool struct {
+ IpPool []IpPool `xml:"IpPool,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIpPool"] = reflect.TypeOf((*ArrayOfIpPool)(nil)).Elem()
+}
+
+type ArrayOfIpPoolAssociation struct {
+ IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIpPoolAssociation"] = reflect.TypeOf((*ArrayOfIpPoolAssociation)(nil)).Elem()
+}
+
+type ArrayOfIpPoolManagerIpAllocation struct {
+ IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIpPoolManagerIpAllocation"] = reflect.TypeOf((*ArrayOfIpPoolManagerIpAllocation)(nil)).Elem()
+}
+
+type ArrayOfIscsiDependencyEntity struct {
+ IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIscsiDependencyEntity"] = reflect.TypeOf((*ArrayOfIscsiDependencyEntity)(nil)).Elem()
+}
+
+type ArrayOfIscsiPortInfo struct {
+ IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfIscsiPortInfo"] = reflect.TypeOf((*ArrayOfIscsiPortInfo)(nil)).Elem()
+}
+
+type ArrayOfKernelModuleInfo struct {
+ KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfKernelModuleInfo"] = reflect.TypeOf((*ArrayOfKernelModuleInfo)(nil)).Elem()
+}
+
+type ArrayOfKeyAnyValue struct {
+ KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty"`
+}
+
+func init() {
+ t["ArrayOfKeyAnyValue"] = reflect.TypeOf((*ArrayOfKeyAnyValue)(nil)).Elem()
+}
+
+type ArrayOfKeyValue struct {
+ KeyValue []KeyValue `xml:"KeyValue,omitempty"`
+}
+
+func init() {
+ t["ArrayOfKeyValue"] = reflect.TypeOf((*ArrayOfKeyValue)(nil)).Elem()
+}
+
+type ArrayOfKmipClusterInfo struct {
+ KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfKmipClusterInfo"] = reflect.TypeOf((*ArrayOfKmipClusterInfo)(nil)).Elem()
+}
+
+type ArrayOfKmipServerInfo struct {
+ KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfKmipServerInfo"] = reflect.TypeOf((*ArrayOfKmipServerInfo)(nil)).Elem()
+}
+
+type ArrayOfLicenseAssignmentManagerLicenseAssignment struct {
+ LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*ArrayOfLicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
+}
+
+type ArrayOfLicenseAvailabilityInfo struct {
+ LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLicenseAvailabilityInfo"] = reflect.TypeOf((*ArrayOfLicenseAvailabilityInfo)(nil)).Elem()
+}
+
+type ArrayOfLicenseFeatureInfo struct {
+ LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLicenseFeatureInfo"] = reflect.TypeOf((*ArrayOfLicenseFeatureInfo)(nil)).Elem()
+}
+
+type ArrayOfLicenseManagerLicenseInfo struct {
+ LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLicenseManagerLicenseInfo"] = reflect.TypeOf((*ArrayOfLicenseManagerLicenseInfo)(nil)).Elem()
+}
+
+type ArrayOfLicenseReservationInfo struct {
+ LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLicenseReservationInfo"] = reflect.TypeOf((*ArrayOfLicenseReservationInfo)(nil)).Elem()
+}
+
+type ArrayOfLocalizableMessage struct {
+ LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLocalizableMessage"] = reflect.TypeOf((*ArrayOfLocalizableMessage)(nil)).Elem()
+}
+
+type ArrayOfLocalizationManagerMessageCatalog struct {
+ LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLocalizationManagerMessageCatalog"] = reflect.TypeOf((*ArrayOfLocalizationManagerMessageCatalog)(nil)).Elem()
+}
+
+type ArrayOfLong struct {
+ Long []int64 `xml:"long,omitempty"`
+}
+
+func init() {
+ t["ArrayOfLong"] = reflect.TypeOf((*ArrayOfLong)(nil)).Elem()
+}
+
+type ArrayOfManagedObjectReference struct {
+ ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty"`
+}
+
+func init() {
+ t["ArrayOfManagedObjectReference"] = reflect.TypeOf((*ArrayOfManagedObjectReference)(nil)).Elem()
+}
+
+type ArrayOfMethodActionArgument struct {
+ MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfMethodActionArgument"] = reflect.TypeOf((*ArrayOfMethodActionArgument)(nil)).Elem()
+}
+
+type ArrayOfMethodFault struct {
+ MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfMethodFault"] = reflect.TypeOf((*ArrayOfMethodFault)(nil)).Elem()
+}
+
+type ArrayOfMissingObject struct {
+ MissingObject []MissingObject `xml:"MissingObject,omitempty"`
+}
+
+func init() {
+ t["ArrayOfMissingObject"] = reflect.TypeOf((*ArrayOfMissingObject)(nil)).Elem()
+}
+
+type ArrayOfMissingProperty struct {
+ MissingProperty []MissingProperty `xml:"MissingProperty,omitempty"`
+}
+
+func init() {
+ t["ArrayOfMissingProperty"] = reflect.TypeOf((*ArrayOfMissingProperty)(nil)).Elem()
+}
+
+type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct {
+ MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty"`
+}
+
+func init() {
+ t["ArrayOfMultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*ArrayOfMultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
+}
+
+type ArrayOfNasStorageProfile struct {
+ NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNasStorageProfile"] = reflect.TypeOf((*ArrayOfNasStorageProfile)(nil)).Elem()
+}
+
+type ArrayOfNetIpConfigInfoIpAddress struct {
+ NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpConfigInfoIpAddress"] = reflect.TypeOf((*ArrayOfNetIpConfigInfoIpAddress)(nil)).Elem()
+}
+
+type ArrayOfNetIpConfigSpecIpAddressSpec struct {
+ NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*ArrayOfNetIpConfigSpecIpAddressSpec)(nil)).Elem()
+}
+
+type ArrayOfNetIpRouteConfigInfoIpRoute struct {
+ NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigInfoIpRoute)(nil)).Elem()
+}
+
+type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct {
+ NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
+}
+
+type ArrayOfNetIpStackInfoDefaultRouter struct {
+ NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpStackInfoDefaultRouter"] = reflect.TypeOf((*ArrayOfNetIpStackInfoDefaultRouter)(nil)).Elem()
+}
+
+type ArrayOfNetIpStackInfoNetToMedia struct {
+ NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetIpStackInfoNetToMedia"] = reflect.TypeOf((*ArrayOfNetIpStackInfoNetToMedia)(nil)).Elem()
+}
+
+type ArrayOfNetStackInstanceProfile struct {
+ NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(nil)).Elem()
+}
+
+type ArrayOfNumericRange struct {
+ NumericRange []NumericRange `xml:"NumericRange,omitempty"`
+}
+
+func init() {
+ t["ArrayOfNumericRange"] = reflect.TypeOf((*ArrayOfNumericRange)(nil)).Elem()
+}
+
+type ArrayOfObjectContent struct {
+ ObjectContent []ObjectContent `xml:"ObjectContent,omitempty"`
+}
+
+func init() {
+ t["ArrayOfObjectContent"] = reflect.TypeOf((*ArrayOfObjectContent)(nil)).Elem()
+}
+
+type ArrayOfObjectSpec struct {
+ ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfObjectSpec"] = reflect.TypeOf((*ArrayOfObjectSpec)(nil)).Elem()
+}
+
+type ArrayOfObjectUpdate struct {
+ ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty"`
+}
+
+func init() {
+ t["ArrayOfObjectUpdate"] = reflect.TypeOf((*ArrayOfObjectUpdate)(nil)).Elem()
+}
+
+type ArrayOfOpaqueNetworkTargetInfo struct {
+ OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOpaqueNetworkTargetInfo"] = reflect.TypeOf((*ArrayOfOpaqueNetworkTargetInfo)(nil)).Elem()
+}
+
+type ArrayOfOptionDef struct {
+ OptionDef []OptionDef `xml:"OptionDef,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOptionDef"] = reflect.TypeOf((*ArrayOfOptionDef)(nil)).Elem()
+}
+
+type ArrayOfOptionProfile struct {
+ OptionProfile []OptionProfile `xml:"OptionProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOptionProfile"] = reflect.TypeOf((*ArrayOfOptionProfile)(nil)).Elem()
+}
+
+type ArrayOfOptionValue struct {
+ OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfOptionValue"] = reflect.TypeOf((*ArrayOfOptionValue)(nil)).Elem()
+}
+
+type ArrayOfOvfConsumerOstNode struct {
+ OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfConsumerOstNode"] = reflect.TypeOf((*ArrayOfOvfConsumerOstNode)(nil)).Elem()
+}
+
+type ArrayOfOvfConsumerOvfSection struct {
+ OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfConsumerOvfSection"] = reflect.TypeOf((*ArrayOfOvfConsumerOvfSection)(nil)).Elem()
+}
+
+type ArrayOfOvfDeploymentOption struct {
+ OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfDeploymentOption"] = reflect.TypeOf((*ArrayOfOvfDeploymentOption)(nil)).Elem()
+}
+
+type ArrayOfOvfFile struct {
+ OvfFile []OvfFile `xml:"OvfFile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfFile"] = reflect.TypeOf((*ArrayOfOvfFile)(nil)).Elem()
+}
+
+type ArrayOfOvfFileItem struct {
+ OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfFileItem"] = reflect.TypeOf((*ArrayOfOvfFileItem)(nil)).Elem()
+}
+
+type ArrayOfOvfNetworkInfo struct {
+ OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfNetworkInfo"] = reflect.TypeOf((*ArrayOfOvfNetworkInfo)(nil)).Elem()
+}
+
+type ArrayOfOvfNetworkMapping struct {
+ OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfNetworkMapping"] = reflect.TypeOf((*ArrayOfOvfNetworkMapping)(nil)).Elem()
+}
+
+type ArrayOfOvfOptionInfo struct {
+ OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfOptionInfo"] = reflect.TypeOf((*ArrayOfOvfOptionInfo)(nil)).Elem()
+}
+
+type ArrayOfOvfResourceMap struct {
+ OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty"`
+}
+
+func init() {
+ t["ArrayOfOvfResourceMap"] = reflect.TypeOf((*ArrayOfOvfResourceMap)(nil)).Elem()
+}
+
+type ArrayOfPerfCounterInfo struct {
+ PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfCounterInfo"] = reflect.TypeOf((*ArrayOfPerfCounterInfo)(nil)).Elem()
+}
+
+type ArrayOfPerfEntityMetricBase struct {
+ PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfPerfEntityMetricBase"] = reflect.TypeOf((*ArrayOfPerfEntityMetricBase)(nil)).Elem()
+}
+
+type ArrayOfPerfInterval struct {
+ PerfInterval []PerfInterval `xml:"PerfInterval,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfInterval"] = reflect.TypeOf((*ArrayOfPerfInterval)(nil)).Elem()
+}
+
+type ArrayOfPerfMetricId struct {
+ PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfMetricId"] = reflect.TypeOf((*ArrayOfPerfMetricId)(nil)).Elem()
+}
+
+type ArrayOfPerfMetricSeries struct {
+ PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfPerfMetricSeries"] = reflect.TypeOf((*ArrayOfPerfMetricSeries)(nil)).Elem()
+}
+
+type ArrayOfPerfMetricSeriesCSV struct {
+ PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfMetricSeriesCSV"] = reflect.TypeOf((*ArrayOfPerfMetricSeriesCSV)(nil)).Elem()
+}
+
+type ArrayOfPerfQuerySpec struct {
+ PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfQuerySpec"] = reflect.TypeOf((*ArrayOfPerfQuerySpec)(nil)).Elem()
+}
+
+type ArrayOfPerfSampleInfo struct {
+ PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerfSampleInfo"] = reflect.TypeOf((*ArrayOfPerfSampleInfo)(nil)).Elem()
+}
+
+type ArrayOfPerformanceManagerCounterLevelMapping struct {
+ PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*ArrayOfPerformanceManagerCounterLevelMapping)(nil)).Elem()
+}
+
+type ArrayOfPermission struct {
+ Permission []Permission `xml:"Permission,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPermission"] = reflect.TypeOf((*ArrayOfPermission)(nil)).Elem()
+}
+
+type ArrayOfPermissionProfile struct {
+ PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPermissionProfile"] = reflect.TypeOf((*ArrayOfPermissionProfile)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNic struct {
+ PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNic"] = reflect.TypeOf((*ArrayOfPhysicalNic)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicConfig struct {
+ PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicConfig"] = reflect.TypeOf((*ArrayOfPhysicalNicConfig)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicHintInfo struct {
+ PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicHintInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicHintInfo)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicIpHint struct {
+ PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicIpHint"] = reflect.TypeOf((*ArrayOfPhysicalNicIpHint)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicLinkInfo struct {
+ PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicLinkInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicLinkInfo)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicNameHint struct {
+ PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicNameHint"] = reflect.TypeOf((*ArrayOfPhysicalNicNameHint)(nil)).Elem()
+}
+
+type ArrayOfPhysicalNicProfile struct {
+ PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPhysicalNicProfile"] = reflect.TypeOf((*ArrayOfPhysicalNicProfile)(nil)).Elem()
+}
+
+type ArrayOfPlacementAffinityRule struct {
+ PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPlacementAffinityRule"] = reflect.TypeOf((*ArrayOfPlacementAffinityRule)(nil)).Elem()
+}
+
+type ArrayOfPlacementSpec struct {
+ PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPlacementSpec"] = reflect.TypeOf((*ArrayOfPlacementSpec)(nil)).Elem()
+}
+
+type ArrayOfPnicUplinkProfile struct {
+ PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPnicUplinkProfile"] = reflect.TypeOf((*ArrayOfPnicUplinkProfile)(nil)).Elem()
+}
+
+type ArrayOfPodDiskLocator struct {
+ PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPodDiskLocator"] = reflect.TypeOf((*ArrayOfPodDiskLocator)(nil)).Elem()
+}
+
+type ArrayOfPolicyOption struct {
+ PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfPolicyOption"] = reflect.TypeOf((*ArrayOfPolicyOption)(nil)).Elem()
+}
+
+type ArrayOfPrivilegeAvailability struct {
+ PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPrivilegeAvailability"] = reflect.TypeOf((*ArrayOfPrivilegeAvailability)(nil)).Elem()
+}
+
+type ArrayOfProductComponentInfo struct {
+ ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProductComponentInfo"] = reflect.TypeOf((*ArrayOfProductComponentInfo)(nil)).Elem()
+}
+
+type ArrayOfProfileApplyProfileProperty struct {
+ ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileApplyProfileProperty"] = reflect.TypeOf((*ArrayOfProfileApplyProfileProperty)(nil)).Elem()
+}
+
+type ArrayOfProfileDeferredPolicyOptionParameter struct {
+ ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ArrayOfProfileDeferredPolicyOptionParameter)(nil)).Elem()
+}
+
+type ArrayOfProfileDescriptionSection struct {
+ ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileDescriptionSection"] = reflect.TypeOf((*ArrayOfProfileDescriptionSection)(nil)).Elem()
+}
+
+type ArrayOfProfileExecuteError struct {
+ ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileExecuteError"] = reflect.TypeOf((*ArrayOfProfileExecuteError)(nil)).Elem()
+}
+
+type ArrayOfProfileExpression struct {
+ ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfProfileExpression"] = reflect.TypeOf((*ArrayOfProfileExpression)(nil)).Elem()
+}
+
+type ArrayOfProfileExpressionMetadata struct {
+ ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileExpressionMetadata"] = reflect.TypeOf((*ArrayOfProfileExpressionMetadata)(nil)).Elem()
+}
+
+type ArrayOfProfileMetadata struct {
+ ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileMetadata"] = reflect.TypeOf((*ArrayOfProfileMetadata)(nil)).Elem()
+}
+
+type ArrayOfProfileMetadataProfileSortSpec struct {
+ ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileSortSpec)(nil)).Elem()
+}
+
+type ArrayOfProfileParameterMetadata struct {
+ ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileParameterMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadata)(nil)).Elem()
+}
+
+type ArrayOfProfilePolicy struct {
+ ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfilePolicy"] = reflect.TypeOf((*ArrayOfProfilePolicy)(nil)).Elem()
+}
+
+type ArrayOfProfilePolicyMetadata struct {
+ ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfilePolicyMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyMetadata)(nil)).Elem()
+}
+
+type ArrayOfProfilePolicyOptionMetadata struct {
+ ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfProfilePolicyOptionMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyOptionMetadata)(nil)).Elem()
+}
+
+type ArrayOfProfileProfileStructureProperty struct {
+ ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileProfileStructureProperty"] = reflect.TypeOf((*ArrayOfProfileProfileStructureProperty)(nil)).Elem()
+}
+
+type ArrayOfProfilePropertyPath struct {
+ ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfilePropertyPath"] = reflect.TypeOf((*ArrayOfProfilePropertyPath)(nil)).Elem()
+}
+
+type ArrayOfProfileUpdateFailedUpdateFailure struct {
+ ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty"`
+}
+
+func init() {
+ t["ArrayOfProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ArrayOfProfileUpdateFailedUpdateFailure)(nil)).Elem()
+}
+
+type ArrayOfPropertyChange struct {
+ PropertyChange []PropertyChange `xml:"PropertyChange,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPropertyChange"] = reflect.TypeOf((*ArrayOfPropertyChange)(nil)).Elem()
+}
+
+type ArrayOfPropertyFilterSpec struct {
+ PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPropertyFilterSpec"] = reflect.TypeOf((*ArrayOfPropertyFilterSpec)(nil)).Elem()
+}
+
+type ArrayOfPropertyFilterUpdate struct {
+ PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPropertyFilterUpdate"] = reflect.TypeOf((*ArrayOfPropertyFilterUpdate)(nil)).Elem()
+}
+
+type ArrayOfPropertySpec struct {
+ PropertySpec []PropertySpec `xml:"PropertySpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfPropertySpec"] = reflect.TypeOf((*ArrayOfPropertySpec)(nil)).Elem()
+}
+
+type ArrayOfRelation struct {
+ Relation []Relation `xml:"Relation,omitempty"`
+}
+
+func init() {
+ t["ArrayOfRelation"] = reflect.TypeOf((*ArrayOfRelation)(nil)).Elem()
+}
+
+type ArrayOfReplicationInfoDiskSettings struct {
+ ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty"`
+}
+
+func init() {
+ t["ArrayOfReplicationInfoDiskSettings"] = reflect.TypeOf((*ArrayOfReplicationInfoDiskSettings)(nil)).Elem()
+}
+
+type ArrayOfResourceConfigSpec struct {
+ ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfResourceConfigSpec"] = reflect.TypeOf((*ArrayOfResourceConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfScheduledTaskDetail struct {
+ ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty"`
+}
+
+func init() {
+ t["ArrayOfScheduledTaskDetail"] = reflect.TypeOf((*ArrayOfScheduledTaskDetail)(nil)).Elem()
+}
+
+type ArrayOfScsiLun struct {
+ ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfScsiLun"] = reflect.TypeOf((*ArrayOfScsiLun)(nil)).Elem()
+}
+
+type ArrayOfScsiLunDescriptor struct {
+ ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty"`
+}
+
+func init() {
+ t["ArrayOfScsiLunDescriptor"] = reflect.TypeOf((*ArrayOfScsiLunDescriptor)(nil)).Elem()
+}
+
+type ArrayOfScsiLunDurableName struct {
+ ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty"`
+}
+
+func init() {
+ t["ArrayOfScsiLunDurableName"] = reflect.TypeOf((*ArrayOfScsiLunDurableName)(nil)).Elem()
+}
+
+type ArrayOfSelectionSet struct {
+ SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfSelectionSet"] = reflect.TypeOf((*ArrayOfSelectionSet)(nil)).Elem()
+}
+
+type ArrayOfSelectionSpec struct {
+ SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfSelectionSpec"] = reflect.TypeOf((*ArrayOfSelectionSpec)(nil)).Elem()
+}
+
+type ArrayOfServiceConsolePortGroupProfile struct {
+ ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfServiceConsolePortGroupProfile"] = reflect.TypeOf((*ArrayOfServiceConsolePortGroupProfile)(nil)).Elem()
+}
+
+type ArrayOfServiceLocator struct {
+ ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty"`
+}
+
+func init() {
+ t["ArrayOfServiceLocator"] = reflect.TypeOf((*ArrayOfServiceLocator)(nil)).Elem()
+}
+
+type ArrayOfServiceManagerServiceInfo struct {
+ ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfServiceManagerServiceInfo"] = reflect.TypeOf((*ArrayOfServiceManagerServiceInfo)(nil)).Elem()
+}
+
+type ArrayOfServiceProfile struct {
+ ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfServiceProfile"] = reflect.TypeOf((*ArrayOfServiceProfile)(nil)).Elem()
+}
+
+type ArrayOfShort struct {
+ Short []int16 `xml:"short,omitempty"`
+}
+
+func init() {
+ t["ArrayOfShort"] = reflect.TypeOf((*ArrayOfShort)(nil)).Elem()
+}
+
+type ArrayOfSoftwarePackage struct {
+ SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty"`
+}
+
+func init() {
+ t["ArrayOfSoftwarePackage"] = reflect.TypeOf((*ArrayOfSoftwarePackage)(nil)).Elem()
+}
+
+type ArrayOfStaticRouteProfile struct {
+ StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStaticRouteProfile"] = reflect.TypeOf((*ArrayOfStaticRouteProfile)(nil)).Elem()
+}
+
+type ArrayOfStorageDrsOptionSpec struct {
+ StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStorageDrsOptionSpec"] = reflect.TypeOf((*ArrayOfStorageDrsOptionSpec)(nil)).Elem()
+}
+
+type ArrayOfStorageDrsPlacementRankVmSpec struct {
+ StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*ArrayOfStorageDrsPlacementRankVmSpec)(nil)).Elem()
+}
+
+type ArrayOfStorageDrsVmConfigInfo struct {
+ StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStorageDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfStorageDrsVmConfigSpec struct {
+ StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStorageDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfStoragePerformanceSummary struct {
+ StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStoragePerformanceSummary"] = reflect.TypeOf((*ArrayOfStoragePerformanceSummary)(nil)).Elem()
+}
+
+type ArrayOfStorageRequirement struct {
+ StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStorageRequirement"] = reflect.TypeOf((*ArrayOfStorageRequirement)(nil)).Elem()
+}
+
+type ArrayOfString struct {
+ String []string `xml:"string,omitempty"`
+}
+
+func init() {
+ t["ArrayOfString"] = reflect.TypeOf((*ArrayOfString)(nil)).Elem()
+}
+
+type ArrayOfStructuredCustomizations struct {
+ StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty"`
+}
+
+func init() {
+ t["ArrayOfStructuredCustomizations"] = reflect.TypeOf((*ArrayOfStructuredCustomizations)(nil)).Elem()
+}
+
+type ArrayOfSystemEventInfo struct {
+ SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfSystemEventInfo"] = reflect.TypeOf((*ArrayOfSystemEventInfo)(nil)).Elem()
+}
+
+type ArrayOfTag struct {
+ Tag []Tag `xml:"Tag,omitempty"`
+}
+
+func init() {
+ t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem()
+}
+
+type ArrayOfTaskInfo struct {
+ TaskInfo []TaskInfo `xml:"TaskInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfTaskInfo"] = reflect.TypeOf((*ArrayOfTaskInfo)(nil)).Elem()
+}
+
+type ArrayOfTaskInfoState struct {
+ TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty"`
+}
+
+func init() {
+ t["ArrayOfTaskInfoState"] = reflect.TypeOf((*ArrayOfTaskInfoState)(nil)).Elem()
+}
+
+type ArrayOfTypeDescription struct {
+ TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfTypeDescription"] = reflect.TypeOf((*ArrayOfTypeDescription)(nil)).Elem()
+}
+
+type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct {
+ UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
+}
+
+type ArrayOfUsbScanCodeSpecKeyEvent struct {
+ UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*ArrayOfUsbScanCodeSpecKeyEvent)(nil)).Elem()
+}
+
+type ArrayOfUserGroupProfile struct {
+ UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUserGroupProfile"] = reflect.TypeOf((*ArrayOfUserGroupProfile)(nil)).Elem()
+}
+
+type ArrayOfUserPrivilegeResult struct {
+ UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUserPrivilegeResult"] = reflect.TypeOf((*ArrayOfUserPrivilegeResult)(nil)).Elem()
+}
+
+type ArrayOfUserProfile struct {
+ UserProfile []UserProfile `xml:"UserProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUserProfile"] = reflect.TypeOf((*ArrayOfUserProfile)(nil)).Elem()
+}
+
+type ArrayOfUserSearchResult struct {
+ UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfUserSearchResult"] = reflect.TypeOf((*ArrayOfUserSearchResult)(nil)).Elem()
+}
+
+type ArrayOfUserSession struct {
+ UserSession []UserSession `xml:"UserSession,omitempty"`
+}
+
+func init() {
+ t["ArrayOfUserSession"] = reflect.TypeOf((*ArrayOfUserSession)(nil)).Elem()
+}
+
+type ArrayOfVASAStorageArray struct {
+ VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVASAStorageArray"] = reflect.TypeOf((*ArrayOfVASAStorageArray)(nil)).Elem()
+}
+
+type ArrayOfVAppCloneSpecNetworkMappingPair struct {
+ VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*ArrayOfVAppCloneSpecNetworkMappingPair)(nil)).Elem()
+}
+
+type ArrayOfVAppCloneSpecResourceMap struct {
+ VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppCloneSpecResourceMap"] = reflect.TypeOf((*ArrayOfVAppCloneSpecResourceMap)(nil)).Elem()
+}
+
+type ArrayOfVAppEntityConfigInfo struct {
+ VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppEntityConfigInfo"] = reflect.TypeOf((*ArrayOfVAppEntityConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfVAppOvfSectionInfo struct {
+ VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppOvfSectionInfo"] = reflect.TypeOf((*ArrayOfVAppOvfSectionInfo)(nil)).Elem()
+}
+
+type ArrayOfVAppOvfSectionSpec struct {
+ VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppOvfSectionSpec"] = reflect.TypeOf((*ArrayOfVAppOvfSectionSpec)(nil)).Elem()
+}
+
+type ArrayOfVAppProductInfo struct {
+ VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppProductInfo"] = reflect.TypeOf((*ArrayOfVAppProductInfo)(nil)).Elem()
+}
+
+type ArrayOfVAppProductSpec struct {
+ VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppProductSpec"] = reflect.TypeOf((*ArrayOfVAppProductSpec)(nil)).Elem()
+}
+
+type ArrayOfVAppPropertyInfo struct {
+ VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppPropertyInfo"] = reflect.TypeOf((*ArrayOfVAppPropertyInfo)(nil)).Elem()
+}
+
+type ArrayOfVAppPropertySpec struct {
+ VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVAppPropertySpec"] = reflect.TypeOf((*ArrayOfVAppPropertySpec)(nil)).Elem()
+}
+
+type ArrayOfVMwareDVSPvlanConfigSpec struct {
+ VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfVMwareDVSPvlanMapEntry struct {
+ VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareDVSPvlanMapEntry"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanMapEntry)(nil)).Elem()
+}
+
+type ArrayOfVMwareDVSVspanConfigSpec struct {
+ VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareDVSVspanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSVspanConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfVMwareDvsLacpGroupConfig struct {
+ VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareDvsLacpGroupConfig"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupConfig)(nil)).Elem()
+}
+
+type ArrayOfVMwareDvsLacpGroupSpec struct {
+ VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareDvsLacpGroupSpec"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupSpec)(nil)).Elem()
+}
+
+type ArrayOfVMwareVspanSession struct {
+ VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVMwareVspanSession"] = reflect.TypeOf((*ArrayOfVMwareVspanSession)(nil)).Elem()
+}
+
+type ArrayOfVVolHostPE struct {
+ VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVVolHostPE"] = reflect.TypeOf((*ArrayOfVVolHostPE)(nil)).Elem()
+}
+
+type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
+ VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
+}
+
+type ArrayOfVchaNodeRuntimeInfo struct {
+ VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVchaNodeRuntimeInfo"] = reflect.TypeOf((*ArrayOfVchaNodeRuntimeInfo)(nil)).Elem()
+}
+
+type ArrayOfVimVasaProviderInfo struct {
+ VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVimVasaProviderInfo"] = reflect.TypeOf((*ArrayOfVimVasaProviderInfo)(nil)).Elem()
+}
+
+type ArrayOfVimVasaProviderStatePerArray struct {
+ VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVimVasaProviderStatePerArray"] = reflect.TypeOf((*ArrayOfVimVasaProviderStatePerArray)(nil)).Elem()
+}
+
+type ArrayOfVirtualAppLinkInfo struct {
+ VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualAppLinkInfo"] = reflect.TypeOf((*ArrayOfVirtualAppLinkInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualDevice struct {
+ VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualDevice"] = reflect.TypeOf((*ArrayOfVirtualDevice)(nil)).Elem()
+}
+
+type ArrayOfVirtualDeviceBackingOption struct {
+ VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualDeviceBackingOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceBackingOption)(nil)).Elem()
+}
+
+type ArrayOfVirtualDeviceConfigSpec struct {
+ VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualDeviceConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualDeviceConfigSpec)(nil)).Elem()
+}
+
+type ArrayOfVirtualDeviceOption struct {
+ VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualDeviceOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceOption)(nil)).Elem()
+}
+
+type ArrayOfVirtualDisk struct {
+ VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualDisk"] = reflect.TypeOf((*ArrayOfVirtualDisk)(nil)).Elem()
+}
+
+type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct {
+ VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*ArrayOfVirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
+}
+
+type ArrayOfVirtualDiskId struct {
+ VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualDiskId"] = reflect.TypeOf((*ArrayOfVirtualDiskId)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineBootOptionsBootableDevice struct {
+ VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*ArrayOfVirtualMachineBootOptionsBootableDevice)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineCdromInfo struct {
+ VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineCdromInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineCdromInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct {
+ VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineConfigOptionDescriptor struct {
+ VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigOptionDescriptor)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineCpuIdInfoSpec struct {
+ VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineCpuIdInfoSpec)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineDatastoreInfo struct {
+ VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineDatastoreInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineDatastoreVolumeOption struct {
+ VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreVolumeOption)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineDeviceRuntimeInfo struct {
+ VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDeviceRuntimeInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineDisplayTopology struct {
+ VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineDisplayTopology"] = reflect.TypeOf((*ArrayOfVirtualMachineDisplayTopology)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFeatureRequirement struct {
+ VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFeatureRequirement"] = reflect.TypeOf((*ArrayOfVirtualMachineFeatureRequirement)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutDiskLayout struct {
+ VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutDiskLayout)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutExDiskLayout struct {
+ VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutExDiskUnit struct {
+ VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutExFileInfo struct {
+ VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExFileInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct {
+ VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct {
+ VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineFloppyInfo struct {
+ VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineFloppyInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFloppyInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineIdeDiskDeviceInfo struct {
+ VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct {
+ VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct {
+ VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineMessage struct {
+ VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineMessage"] = reflect.TypeOf((*ArrayOfVirtualMachineMessage)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct {
+ VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct {
+ VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineNetworkInfo struct {
+ VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineNetworkInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineNetworkInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineParallelInfo struct {
+ VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineParallelInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineParallelInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachinePciPassthroughInfo struct {
+ VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciPassthroughInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct {
+ VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineProfileSpec struct {
+ VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineProfileSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileSpec)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineRelocateSpecDiskLocator struct {
+ VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*ArrayOfVirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineScsiDiskDeviceInfo struct {
+ VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineScsiPassthroughInfo struct {
+ VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiPassthroughInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineSerialInfo struct {
+ VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineSerialInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSerialInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineSnapshotTree struct {
+ VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineSnapshotTree"] = reflect.TypeOf((*ArrayOfVirtualMachineSnapshotTree)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineSoundInfo struct {
+ VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineSoundInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSoundInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineSriovInfo struct {
+ VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineSriovInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSriovInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineSummary struct {
+ VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineSummary"] = reflect.TypeOf((*ArrayOfVirtualMachineSummary)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineUsageOnDatastore struct {
+ VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineUsageOnDatastore"] = reflect.TypeOf((*ArrayOfVirtualMachineUsageOnDatastore)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineUsbInfo struct {
+ VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineUsbInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineUsbInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineVFlashModuleInfo struct {
+ VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVFlashModuleInfo)(nil)).Elem()
+}
+
+type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct {
+ VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
+}
+
+type ArrayOfVirtualNicManagerNetConfig struct {
+ VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualNicManagerNetConfig"] = reflect.TypeOf((*ArrayOfVirtualNicManagerNetConfig)(nil)).Elem()
+}
+
+type ArrayOfVirtualSCSISharing struct {
+ VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualSCSISharing"] = reflect.TypeOf((*ArrayOfVirtualSCSISharing)(nil)).Elem()
+}
+
+type ArrayOfVirtualSwitchProfile struct {
+ VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVirtualSwitchProfile"] = reflect.TypeOf((*ArrayOfVirtualSwitchProfile)(nil)).Elem()
+}
+
+type ArrayOfVmEventArgument struct {
+ VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVmEventArgument"] = reflect.TypeOf((*ArrayOfVmEventArgument)(nil)).Elem()
+}
+
+type ArrayOfVmPodConfigForPlacement struct {
+ VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVmPodConfigForPlacement"] = reflect.TypeOf((*ArrayOfVmPodConfigForPlacement)(nil)).Elem()
+}
+
+type ArrayOfVmPortGroupProfile struct {
+ VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVmPortGroupProfile"] = reflect.TypeOf((*ArrayOfVmPortGroupProfile)(nil)).Elem()
+}
+
+type ArrayOfVmfsConfigOption struct {
+ VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVmfsConfigOption"] = reflect.TypeOf((*ArrayOfVmfsConfigOption)(nil)).Elem()
+}
+
+type ArrayOfVmfsDatastoreOption struct {
+ VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVmfsDatastoreOption"] = reflect.TypeOf((*ArrayOfVmfsDatastoreOption)(nil)).Elem()
+}
+
+type ArrayOfVnicPortArgument struct {
+ VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVnicPortArgument"] = reflect.TypeOf((*ArrayOfVnicPortArgument)(nil)).Elem()
+}
+
+type ArrayOfVsanHostConfigInfo struct {
+ VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostConfigInfo"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfo)(nil)).Elem()
+}
+
+type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct {
+ VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
+}
+
+type ArrayOfVsanHostDiskMapInfo struct {
+ VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostDiskMapInfo"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapInfo)(nil)).Elem()
+}
+
+type ArrayOfVsanHostDiskMapResult struct {
+ VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostDiskMapResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapResult)(nil)).Elem()
+}
+
+type ArrayOfVsanHostDiskMapping struct {
+ VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostDiskMapping"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapping)(nil)).Elem()
+}
+
+type ArrayOfVsanHostDiskResult struct {
+ VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostDiskResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskResult)(nil)).Elem()
+}
+
+type ArrayOfVsanHostMembershipInfo struct {
+ VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostMembershipInfo"] = reflect.TypeOf((*ArrayOfVsanHostMembershipInfo)(nil)).Elem()
+}
+
+type ArrayOfVsanHostRuntimeInfoDiskIssue struct {
+ VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*ArrayOfVsanHostRuntimeInfoDiskIssue)(nil)).Elem()
+}
+
+type ArrayOfVsanNewPolicyBatch struct {
+ VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanNewPolicyBatch"] = reflect.TypeOf((*ArrayOfVsanNewPolicyBatch)(nil)).Elem()
+}
+
+type ArrayOfVsanPolicyChangeBatch struct {
+ VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanPolicyChangeBatch"] = reflect.TypeOf((*ArrayOfVsanPolicyChangeBatch)(nil)).Elem()
+}
+
+type ArrayOfVsanPolicySatisfiability struct {
+ VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanPolicySatisfiability"] = reflect.TypeOf((*ArrayOfVsanPolicySatisfiability)(nil)).Elem()
+}
+
+type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct {
+ VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
+}
+
+type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
+}
+
+type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct {
+ VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayOfVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
+}
+
+type ArrayOfVslmTagEntry struct {
+ VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty"`
+}
+
+func init() {
+ t["ArrayOfVslmTagEntry"] = reflect.TypeOf((*ArrayOfVslmTagEntry)(nil)).Elem()
+}
+
+type ArrayUpdateSpec struct {
+ DynamicData
+
+ Operation ArrayUpdateOperation `xml:"operation"`
+ RemoveKey AnyType `xml:"removeKey,omitempty,typeattr"`
+}
+
+func init() {
+ t["ArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem()
+}
+
+type AssignUserToGroup AssignUserToGroupRequestType
+
+func init() {
+ t["AssignUserToGroup"] = reflect.TypeOf((*AssignUserToGroup)(nil)).Elem()
+}
+
+type AssignUserToGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ User string `xml:"user"`
+ Group string `xml:"group"`
+}
+
+func init() {
+ t["AssignUserToGroupRequestType"] = reflect.TypeOf((*AssignUserToGroupRequestType)(nil)).Elem()
+}
+
+type AssignUserToGroupResponse struct {
+}
+
+type AssociateProfile AssociateProfileRequestType
+
+func init() {
+ t["AssociateProfile"] = reflect.TypeOf((*AssociateProfile)(nil)).Elem()
+}
+
+type AssociateProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["AssociateProfileRequestType"] = reflect.TypeOf((*AssociateProfileRequestType)(nil)).Elem()
+}
+
+type AssociateProfileResponse struct {
+}
+
+type AttachDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DiskId ID `xml:"diskId"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ ControllerKey int32 `xml:"controllerKey,omitempty"`
+ UnitNumber *int32 `xml:"unitNumber"`
+}
+
+func init() {
+ t["AttachDiskRequestType"] = reflect.TypeOf((*AttachDiskRequestType)(nil)).Elem()
+}
+
+type AttachDisk_Task AttachDiskRequestType
+
+func init() {
+ t["AttachDisk_Task"] = reflect.TypeOf((*AttachDisk_Task)(nil)).Elem()
+}
+
+type AttachDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AttachScsiLun AttachScsiLunRequestType
+
+func init() {
+ t["AttachScsiLun"] = reflect.TypeOf((*AttachScsiLun)(nil)).Elem()
+}
+
+type AttachScsiLunExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunUuid []string `xml:"lunUuid"`
+}
+
+func init() {
+ t["AttachScsiLunExRequestType"] = reflect.TypeOf((*AttachScsiLunExRequestType)(nil)).Elem()
+}
+
+type AttachScsiLunEx_Task AttachScsiLunExRequestType
+
+func init() {
+ t["AttachScsiLunEx_Task"] = reflect.TypeOf((*AttachScsiLunEx_Task)(nil)).Elem()
+}
+
+type AttachScsiLunEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type AttachScsiLunRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunUuid string `xml:"lunUuid"`
+}
+
+func init() {
+ t["AttachScsiLunRequestType"] = reflect.TypeOf((*AttachScsiLunRequestType)(nil)).Elem()
+}
+
+type AttachScsiLunResponse struct {
+}
+
+type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType
+
+func init() {
+ t["AttachTagToVStorageObject"] = reflect.TypeOf((*AttachTagToVStorageObject)(nil)).Elem()
+}
+
+type AttachTagToVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Category string `xml:"category"`
+ Tag string `xml:"tag"`
+}
+
+func init() {
+ t["AttachTagToVStorageObjectRequestType"] = reflect.TypeOf((*AttachTagToVStorageObjectRequestType)(nil)).Elem()
+}
+
+type AttachTagToVStorageObjectResponse struct {
+}
+
+type AttachVmfsExtent AttachVmfsExtentRequestType
+
+func init() {
+ t["AttachVmfsExtent"] = reflect.TypeOf((*AttachVmfsExtent)(nil)).Elem()
+}
+
+type AttachVmfsExtentRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsPath string `xml:"vmfsPath"`
+ Extent HostScsiDiskPartition `xml:"extent"`
+}
+
+func init() {
+ t["AttachVmfsExtentRequestType"] = reflect.TypeOf((*AttachVmfsExtentRequestType)(nil)).Elem()
+}
+
+type AttachVmfsExtentResponse struct {
+}
+
+type AuthMinimumAdminPermission struct {
+ VimFault
+}
+
+func init() {
+ t["AuthMinimumAdminPermission"] = reflect.TypeOf((*AuthMinimumAdminPermission)(nil)).Elem()
+}
+
+type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission
+
+func init() {
+ t["AuthMinimumAdminPermissionFault"] = reflect.TypeOf((*AuthMinimumAdminPermissionFault)(nil)).Elem()
+}
+
+type AuthenticationProfile struct {
+ ApplyProfile
+
+ ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty"`
+}
+
+func init() {
+ t["AuthenticationProfile"] = reflect.TypeOf((*AuthenticationProfile)(nil)).Elem()
+}
+
+type AuthorizationDescription struct {
+ DynamicData
+
+ Privilege []BaseElementDescription `xml:"privilege,typeattr"`
+ PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr"`
+}
+
+func init() {
+ t["AuthorizationDescription"] = reflect.TypeOf((*AuthorizationDescription)(nil)).Elem()
+}
+
+type AuthorizationEvent struct {
+ Event
+}
+
+func init() {
+ t["AuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem()
+}
+
+type AuthorizationPrivilege struct {
+ DynamicData
+
+ PrivId string `xml:"privId"`
+ OnParent bool `xml:"onParent"`
+ Name string `xml:"name"`
+ PrivGroupName string `xml:"privGroupName"`
+}
+
+func init() {
+ t["AuthorizationPrivilege"] = reflect.TypeOf((*AuthorizationPrivilege)(nil)).Elem()
+}
+
+type AuthorizationRole struct {
+ DynamicData
+
+ RoleId int32 `xml:"roleId"`
+ System bool `xml:"system"`
+ Name string `xml:"name"`
+ Info BaseDescription `xml:"info,typeattr"`
+ Privilege []string `xml:"privilege,omitempty"`
+}
+
+func init() {
+ t["AuthorizationRole"] = reflect.TypeOf((*AuthorizationRole)(nil)).Elem()
+}
+
+type AutoStartDefaults struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ StartDelay int32 `xml:"startDelay,omitempty"`
+ StopDelay int32 `xml:"stopDelay,omitempty"`
+ WaitForHeartbeat *bool `xml:"waitForHeartbeat"`
+ StopAction string `xml:"stopAction,omitempty"`
+}
+
+func init() {
+ t["AutoStartDefaults"] = reflect.TypeOf((*AutoStartDefaults)(nil)).Elem()
+}
+
+type AutoStartPowerInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ StartOrder int32 `xml:"startOrder"`
+ StartDelay int32 `xml:"startDelay"`
+ WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat"`
+ StartAction string `xml:"startAction"`
+ StopDelay int32 `xml:"stopDelay"`
+ StopAction string `xml:"stopAction"`
+}
+
+func init() {
+ t["AutoStartPowerInfo"] = reflect.TypeOf((*AutoStartPowerInfo)(nil)).Elem()
+}
+
+type AutoStartPowerOff AutoStartPowerOffRequestType
+
+func init() {
+ t["AutoStartPowerOff"] = reflect.TypeOf((*AutoStartPowerOff)(nil)).Elem()
+}
+
+type AutoStartPowerOffRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["AutoStartPowerOffRequestType"] = reflect.TypeOf((*AutoStartPowerOffRequestType)(nil)).Elem()
+}
+
+type AutoStartPowerOffResponse struct {
+}
+
+type AutoStartPowerOn AutoStartPowerOnRequestType
+
+func init() {
+ t["AutoStartPowerOn"] = reflect.TypeOf((*AutoStartPowerOn)(nil)).Elem()
+}
+
+type AutoStartPowerOnRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["AutoStartPowerOnRequestType"] = reflect.TypeOf((*AutoStartPowerOnRequestType)(nil)).Elem()
+}
+
+type AutoStartPowerOnResponse struct {
+}
+
+type BackupBlobReadFailure struct {
+ DvsFault
+
+ EntityName string `xml:"entityName"`
+ EntityType string `xml:"entityType"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["BackupBlobReadFailure"] = reflect.TypeOf((*BackupBlobReadFailure)(nil)).Elem()
+}
+
+type BackupBlobReadFailureFault BackupBlobReadFailure
+
+func init() {
+ t["BackupBlobReadFailureFault"] = reflect.TypeOf((*BackupBlobReadFailureFault)(nil)).Elem()
+}
+
+type BackupBlobWriteFailure struct {
+ DvsFault
+
+ EntityName string `xml:"entityName"`
+ EntityType string `xml:"entityType"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["BackupBlobWriteFailure"] = reflect.TypeOf((*BackupBlobWriteFailure)(nil)).Elem()
+}
+
+type BackupBlobWriteFailureFault BackupBlobWriteFailure
+
+func init() {
+ t["BackupBlobWriteFailureFault"] = reflect.TypeOf((*BackupBlobWriteFailureFault)(nil)).Elem()
+}
+
+type BackupFirmwareConfiguration BackupFirmwareConfigurationRequestType
+
+func init() {
+ t["BackupFirmwareConfiguration"] = reflect.TypeOf((*BackupFirmwareConfiguration)(nil)).Elem()
+}
+
+type BackupFirmwareConfigurationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["BackupFirmwareConfigurationRequestType"] = reflect.TypeOf((*BackupFirmwareConfigurationRequestType)(nil)).Elem()
+}
+
+type BackupFirmwareConfigurationResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type BadUsernameSessionEvent struct {
+ SessionEvent
+
+ IpAddress string `xml:"ipAddress"`
+}
+
+func init() {
+ t["BadUsernameSessionEvent"] = reflect.TypeOf((*BadUsernameSessionEvent)(nil)).Elem()
+}
+
+type BaseConfigInfo struct {
+ DynamicData
+
+ Id ID `xml:"id"`
+ Name string `xml:"name"`
+ CreateTime time.Time `xml:"createTime"`
+ Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr"`
+}
+
+func init() {
+ t["BaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem()
+}
+
+type BaseConfigInfoBackingInfo struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["BaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem()
+}
+
+type BaseConfigInfoDiskFileBackingInfo struct {
+ BaseConfigInfoFileBackingInfo
+
+ ProvisioningType string `xml:"provisioningType"`
+}
+
+func init() {
+ t["BaseConfigInfoDiskFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfo)(nil)).Elem()
+}
+
+type BaseConfigInfoFileBackingInfo struct {
+ BaseConfigInfoBackingInfo
+
+ FilePath string `xml:"filePath"`
+ BackingObjectId string `xml:"backingObjectId,omitempty"`
+ Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr"`
+ DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty"`
+}
+
+func init() {
+ t["BaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem()
+}
+
+type BaseConfigInfoRawDiskMappingBackingInfo struct {
+ BaseConfigInfoFileBackingInfo
+
+ LunUuid string `xml:"lunUuid"`
+ CompatibilityMode string `xml:"compatibilityMode"`
+}
+
+func init() {
+ t["BaseConfigInfoRawDiskMappingBackingInfo"] = reflect.TypeOf((*BaseConfigInfoRawDiskMappingBackingInfo)(nil)).Elem()
+}
+
+type BatchResult struct {
+ DynamicData
+
+ Result string `xml:"result"`
+ HostKey string `xml:"hostKey"`
+ Ds *ManagedObjectReference `xml:"ds,omitempty"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["BatchResult"] = reflect.TypeOf((*BatchResult)(nil)).Elem()
+}
+
+type BindVnic BindVnicRequestType
+
+func init() {
+ t["BindVnic"] = reflect.TypeOf((*BindVnic)(nil)).Elem()
+}
+
+type BindVnicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaName string `xml:"iScsiHbaName"`
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["BindVnicRequestType"] = reflect.TypeOf((*BindVnicRequestType)(nil)).Elem()
+}
+
+type BindVnicResponse struct {
+}
+
+type BlockedByFirewall struct {
+ HostConfigFault
+}
+
+func init() {
+ t["BlockedByFirewall"] = reflect.TypeOf((*BlockedByFirewall)(nil)).Elem()
+}
+
+type BlockedByFirewallFault BlockedByFirewall
+
+func init() {
+ t["BlockedByFirewallFault"] = reflect.TypeOf((*BlockedByFirewallFault)(nil)).Elem()
+}
+
+type BoolOption struct {
+ OptionType
+
+ Supported bool `xml:"supported"`
+ DefaultValue bool `xml:"defaultValue"`
+}
+
+func init() {
+ t["BoolOption"] = reflect.TypeOf((*BoolOption)(nil)).Elem()
+}
+
+type BoolPolicy struct {
+ InheritablePolicy
+
+ Value *bool `xml:"value"`
+}
+
+func init() {
+ t["BoolPolicy"] = reflect.TypeOf((*BoolPolicy)(nil)).Elem()
+}
+
+type BrowseDiagnosticLog BrowseDiagnosticLogRequestType
+
+func init() {
+ t["BrowseDiagnosticLog"] = reflect.TypeOf((*BrowseDiagnosticLog)(nil)).Elem()
+}
+
+type BrowseDiagnosticLogRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Key string `xml:"key"`
+ Start int32 `xml:"start,omitempty"`
+ Lines int32 `xml:"lines,omitempty"`
+}
+
+func init() {
+ t["BrowseDiagnosticLogRequestType"] = reflect.TypeOf((*BrowseDiagnosticLogRequestType)(nil)).Elem()
+}
+
+type BrowseDiagnosticLogResponse struct {
+ Returnval DiagnosticManagerLogHeader `xml:"returnval"`
+}
+
+type CAMServerRefusedConnection struct {
+ InvalidCAMServer
+}
+
+func init() {
+ t["CAMServerRefusedConnection"] = reflect.TypeOf((*CAMServerRefusedConnection)(nil)).Elem()
+}
+
+type CAMServerRefusedConnectionFault CAMServerRefusedConnection
+
+func init() {
+ t["CAMServerRefusedConnectionFault"] = reflect.TypeOf((*CAMServerRefusedConnectionFault)(nil)).Elem()
+}
+
+type CanProvisionObjects CanProvisionObjectsRequestType
+
+func init() {
+ t["CanProvisionObjects"] = reflect.TypeOf((*CanProvisionObjects)(nil)).Elem()
+}
+
+type CanProvisionObjectsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Npbs []VsanNewPolicyBatch `xml:"npbs"`
+ IgnoreSatisfiability *bool `xml:"ignoreSatisfiability"`
+}
+
+func init() {
+ t["CanProvisionObjectsRequestType"] = reflect.TypeOf((*CanProvisionObjectsRequestType)(nil)).Elem()
+}
+
+type CanProvisionObjectsResponse struct {
+ Returnval []VsanPolicySatisfiability `xml:"returnval"`
+}
+
+type CancelRecommendation CancelRecommendationRequestType
+
+func init() {
+ t["CancelRecommendation"] = reflect.TypeOf((*CancelRecommendation)(nil)).Elem()
+}
+
+type CancelRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["CancelRecommendationRequestType"] = reflect.TypeOf((*CancelRecommendationRequestType)(nil)).Elem()
+}
+
+type CancelRecommendationResponse struct {
+}
+
+type CancelRetrievePropertiesEx CancelRetrievePropertiesExRequestType
+
+func init() {
+ t["CancelRetrievePropertiesEx"] = reflect.TypeOf((*CancelRetrievePropertiesEx)(nil)).Elem()
+}
+
+type CancelRetrievePropertiesExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Token string `xml:"token"`
+}
+
+func init() {
+ t["CancelRetrievePropertiesExRequestType"] = reflect.TypeOf((*CancelRetrievePropertiesExRequestType)(nil)).Elem()
+}
+
+type CancelRetrievePropertiesExResponse struct {
+}
+
+type CancelStorageDrsRecommendation CancelStorageDrsRecommendationRequestType
+
+func init() {
+ t["CancelStorageDrsRecommendation"] = reflect.TypeOf((*CancelStorageDrsRecommendation)(nil)).Elem()
+}
+
+type CancelStorageDrsRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key []string `xml:"key"`
+}
+
+func init() {
+ t["CancelStorageDrsRecommendationRequestType"] = reflect.TypeOf((*CancelStorageDrsRecommendationRequestType)(nil)).Elem()
+}
+
+type CancelStorageDrsRecommendationResponse struct {
+}
+
+type CancelTask CancelTaskRequestType
+
+func init() {
+ t["CancelTask"] = reflect.TypeOf((*CancelTask)(nil)).Elem()
+}
+
+type CancelTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CancelTaskRequestType"] = reflect.TypeOf((*CancelTaskRequestType)(nil)).Elem()
+}
+
+type CancelTaskResponse struct {
+}
+
+type CancelWaitForUpdates CancelWaitForUpdatesRequestType
+
+func init() {
+ t["CancelWaitForUpdates"] = reflect.TypeOf((*CancelWaitForUpdates)(nil)).Elem()
+}
+
+type CancelWaitForUpdatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CancelWaitForUpdatesRequestType"] = reflect.TypeOf((*CancelWaitForUpdatesRequestType)(nil)).Elem()
+}
+
+type CancelWaitForUpdatesResponse struct {
+}
+
+type CanceledHostOperationEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["CanceledHostOperationEvent"] = reflect.TypeOf((*CanceledHostOperationEvent)(nil)).Elem()
+}
+
+type CannotAccessFile struct {
+ FileFault
+}
+
+func init() {
+ t["CannotAccessFile"] = reflect.TypeOf((*CannotAccessFile)(nil)).Elem()
+}
+
+type CannotAccessFileFault CannotAccessFile
+
+func init() {
+ t["CannotAccessFileFault"] = reflect.TypeOf((*CannotAccessFileFault)(nil)).Elem()
+}
+
+type CannotAccessLocalSource struct {
+ VimFault
+}
+
+func init() {
+ t["CannotAccessLocalSource"] = reflect.TypeOf((*CannotAccessLocalSource)(nil)).Elem()
+}
+
+type CannotAccessLocalSourceFault CannotAccessLocalSource
+
+func init() {
+ t["CannotAccessLocalSourceFault"] = reflect.TypeOf((*CannotAccessLocalSourceFault)(nil)).Elem()
+}
+
+type CannotAccessNetwork struct {
+ CannotAccessVmDevice
+
+ Network *ManagedObjectReference `xml:"network,omitempty"`
+}
+
+func init() {
+ t["CannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem()
+}
+
+type CannotAccessNetworkFault BaseCannotAccessNetwork
+
+func init() {
+ t["CannotAccessNetworkFault"] = reflect.TypeOf((*CannotAccessNetworkFault)(nil)).Elem()
+}
+
+type CannotAccessVmComponent struct {
+ VmConfigFault
+}
+
+func init() {
+ t["CannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem()
+}
+
+type CannotAccessVmComponentFault BaseCannotAccessVmComponent
+
+func init() {
+ t["CannotAccessVmComponentFault"] = reflect.TypeOf((*CannotAccessVmComponentFault)(nil)).Elem()
+}
+
+type CannotAccessVmConfig struct {
+ CannotAccessVmComponent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["CannotAccessVmConfig"] = reflect.TypeOf((*CannotAccessVmConfig)(nil)).Elem()
+}
+
+type CannotAccessVmConfigFault CannotAccessVmConfig
+
+func init() {
+ t["CannotAccessVmConfigFault"] = reflect.TypeOf((*CannotAccessVmConfigFault)(nil)).Elem()
+}
+
+type CannotAccessVmDevice struct {
+ CannotAccessVmComponent
+
+ Device string `xml:"device"`
+ Backing string `xml:"backing"`
+ Connected bool `xml:"connected"`
+}
+
+func init() {
+ t["CannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem()
+}
+
+type CannotAccessVmDeviceFault BaseCannotAccessVmDevice
+
+func init() {
+ t["CannotAccessVmDeviceFault"] = reflect.TypeOf((*CannotAccessVmDeviceFault)(nil)).Elem()
+}
+
+type CannotAccessVmDisk struct {
+ CannotAccessVmDevice
+
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["CannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem()
+}
+
+type CannotAccessVmDiskFault BaseCannotAccessVmDisk
+
+func init() {
+ t["CannotAccessVmDiskFault"] = reflect.TypeOf((*CannotAccessVmDiskFault)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmAsStandalone struct {
+ HostConnectFault
+}
+
+func init() {
+ t["CannotAddHostWithFTVmAsStandalone"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandalone)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone
+
+func init() {
+ t["CannotAddHostWithFTVmAsStandaloneFault"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandaloneFault)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmToDifferentCluster struct {
+ HostConnectFault
+}
+
+func init() {
+ t["CannotAddHostWithFTVmToDifferentCluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentCluster)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster
+
+func init() {
+ t["CannotAddHostWithFTVmToDifferentClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentClusterFault)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmToNonHACluster struct {
+ HostConnectFault
+}
+
+func init() {
+ t["CannotAddHostWithFTVmToNonHACluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHACluster)(nil)).Elem()
+}
+
+type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster
+
+func init() {
+ t["CannotAddHostWithFTVmToNonHAClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHAClusterFault)(nil)).Elem()
+}
+
+type CannotChangeDrsBehaviorForFtSecondary struct {
+ VmFaultToleranceIssue
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["CannotChangeDrsBehaviorForFtSecondary"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondary)(nil)).Elem()
+}
+
+type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary
+
+func init() {
+ t["CannotChangeDrsBehaviorForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondaryFault)(nil)).Elem()
+}
+
+type CannotChangeHaSettingsForFtSecondary struct {
+ VmFaultToleranceIssue
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["CannotChangeHaSettingsForFtSecondary"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondary)(nil)).Elem()
+}
+
+type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary
+
+func init() {
+ t["CannotChangeHaSettingsForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondaryFault)(nil)).Elem()
+}
+
+type CannotChangeVsanClusterUuid struct {
+ VsanFault
+}
+
+func init() {
+ t["CannotChangeVsanClusterUuid"] = reflect.TypeOf((*CannotChangeVsanClusterUuid)(nil)).Elem()
+}
+
+type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid
+
+func init() {
+ t["CannotChangeVsanClusterUuidFault"] = reflect.TypeOf((*CannotChangeVsanClusterUuidFault)(nil)).Elem()
+}
+
+type CannotChangeVsanNodeUuid struct {
+ VsanFault
+}
+
+func init() {
+ t["CannotChangeVsanNodeUuid"] = reflect.TypeOf((*CannotChangeVsanNodeUuid)(nil)).Elem()
+}
+
+type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid
+
+func init() {
+ t["CannotChangeVsanNodeUuidFault"] = reflect.TypeOf((*CannotChangeVsanNodeUuidFault)(nil)).Elem()
+}
+
+type CannotComputeFTCompatibleHosts struct {
+ VmFaultToleranceIssue
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["CannotComputeFTCompatibleHosts"] = reflect.TypeOf((*CannotComputeFTCompatibleHosts)(nil)).Elem()
+}
+
+type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts
+
+func init() {
+ t["CannotComputeFTCompatibleHostsFault"] = reflect.TypeOf((*CannotComputeFTCompatibleHostsFault)(nil)).Elem()
+}
+
+type CannotCreateFile struct {
+ FileFault
+}
+
+func init() {
+ t["CannotCreateFile"] = reflect.TypeOf((*CannotCreateFile)(nil)).Elem()
+}
+
+type CannotCreateFileFault CannotCreateFile
+
+func init() {
+ t["CannotCreateFileFault"] = reflect.TypeOf((*CannotCreateFileFault)(nil)).Elem()
+}
+
+type CannotDecryptPasswords struct {
+ CustomizationFault
+}
+
+func init() {
+ t["CannotDecryptPasswords"] = reflect.TypeOf((*CannotDecryptPasswords)(nil)).Elem()
+}
+
+type CannotDecryptPasswordsFault CannotDecryptPasswords
+
+func init() {
+ t["CannotDecryptPasswordsFault"] = reflect.TypeOf((*CannotDecryptPasswordsFault)(nil)).Elem()
+}
+
+type CannotDeleteFile struct {
+ FileFault
+}
+
+func init() {
+ t["CannotDeleteFile"] = reflect.TypeOf((*CannotDeleteFile)(nil)).Elem()
+}
+
+type CannotDeleteFileFault CannotDeleteFile
+
+func init() {
+ t["CannotDeleteFileFault"] = reflect.TypeOf((*CannotDeleteFileFault)(nil)).Elem()
+}
+
+type CannotDisableDrsOnClustersWithVApps struct {
+ RuntimeFault
+}
+
+func init() {
+ t["CannotDisableDrsOnClustersWithVApps"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVApps)(nil)).Elem()
+}
+
+type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps
+
+func init() {
+ t["CannotDisableDrsOnClustersWithVAppsFault"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVAppsFault)(nil)).Elem()
+}
+
+type CannotDisableSnapshot struct {
+ VmConfigFault
+}
+
+func init() {
+ t["CannotDisableSnapshot"] = reflect.TypeOf((*CannotDisableSnapshot)(nil)).Elem()
+}
+
+type CannotDisableSnapshotFault CannotDisableSnapshot
+
+func init() {
+ t["CannotDisableSnapshotFault"] = reflect.TypeOf((*CannotDisableSnapshotFault)(nil)).Elem()
+}
+
+type CannotDisconnectHostWithFaultToleranceVm struct {
+ VimFault
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["CannotDisconnectHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVm)(nil)).Elem()
+}
+
+type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm
+
+func init() {
+ t["CannotDisconnectHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVmFault)(nil)).Elem()
+}
+
+type CannotEnableVmcpForCluster struct {
+ VimFault
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ HostName string `xml:"hostName,omitempty"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["CannotEnableVmcpForCluster"] = reflect.TypeOf((*CannotEnableVmcpForCluster)(nil)).Elem()
+}
+
+type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster
+
+func init() {
+ t["CannotEnableVmcpForClusterFault"] = reflect.TypeOf((*CannotEnableVmcpForClusterFault)(nil)).Elem()
+}
+
+type CannotModifyConfigCpuRequirements struct {
+ MigrationFault
+}
+
+func init() {
+ t["CannotModifyConfigCpuRequirements"] = reflect.TypeOf((*CannotModifyConfigCpuRequirements)(nil)).Elem()
+}
+
+type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements
+
+func init() {
+ t["CannotModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*CannotModifyConfigCpuRequirementsFault)(nil)).Elem()
+}
+
+type CannotMoveFaultToleranceVm struct {
+ VimFault
+
+ MoveType string `xml:"moveType"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["CannotMoveFaultToleranceVm"] = reflect.TypeOf((*CannotMoveFaultToleranceVm)(nil)).Elem()
+}
+
+type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm
+
+func init() {
+ t["CannotMoveFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveFaultToleranceVmFault)(nil)).Elem()
+}
+
+type CannotMoveHostWithFaultToleranceVm struct {
+ VimFault
+}
+
+func init() {
+ t["CannotMoveHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVm)(nil)).Elem()
+}
+
+type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm
+
+func init() {
+ t["CannotMoveHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVmFault)(nil)).Elem()
+}
+
+type CannotMoveVmWithDeltaDisk struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["CannotMoveVmWithDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithDeltaDisk)(nil)).Elem()
+}
+
+type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk
+
+func init() {
+ t["CannotMoveVmWithDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithDeltaDiskFault)(nil)).Elem()
+}
+
+type CannotMoveVmWithNativeDeltaDisk struct {
+ MigrationFault
+}
+
+func init() {
+ t["CannotMoveVmWithNativeDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDisk)(nil)).Elem()
+}
+
+type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk
+
+func init() {
+ t["CannotMoveVmWithNativeDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDiskFault)(nil)).Elem()
+}
+
+type CannotMoveVsanEnabledHost struct {
+ VsanFault
+}
+
+func init() {
+ t["CannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem()
+}
+
+type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost
+
+func init() {
+ t["CannotMoveVsanEnabledHostFault"] = reflect.TypeOf((*CannotMoveVsanEnabledHostFault)(nil)).Elem()
+}
+
+type CannotPlaceWithoutPrerequisiteMoves struct {
+ VimFault
+}
+
+func init() {
+ t["CannotPlaceWithoutPrerequisiteMoves"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMoves)(nil)).Elem()
+}
+
+type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves
+
+func init() {
+ t["CannotPlaceWithoutPrerequisiteMovesFault"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMovesFault)(nil)).Elem()
+}
+
+type CannotPowerOffVmInCluster struct {
+ InvalidState
+
+ Operation string `xml:"operation"`
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["CannotPowerOffVmInCluster"] = reflect.TypeOf((*CannotPowerOffVmInCluster)(nil)).Elem()
+}
+
+type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster
+
+func init() {
+ t["CannotPowerOffVmInClusterFault"] = reflect.TypeOf((*CannotPowerOffVmInClusterFault)(nil)).Elem()
+}
+
+type CannotReconfigureVsanWhenHaEnabled struct {
+ VsanFault
+}
+
+func init() {
+ t["CannotReconfigureVsanWhenHaEnabled"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabled)(nil)).Elem()
+}
+
+type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled
+
+func init() {
+ t["CannotReconfigureVsanWhenHaEnabledFault"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabledFault)(nil)).Elem()
+}
+
+type CannotUseNetwork struct {
+ VmConfigFault
+
+ Device string `xml:"device"`
+ Backing string `xml:"backing"`
+ Connected bool `xml:"connected"`
+ Reason string `xml:"reason"`
+ Network *ManagedObjectReference `xml:"network,omitempty"`
+}
+
+func init() {
+ t["CannotUseNetwork"] = reflect.TypeOf((*CannotUseNetwork)(nil)).Elem()
+}
+
+type CannotUseNetworkFault CannotUseNetwork
+
+func init() {
+ t["CannotUseNetworkFault"] = reflect.TypeOf((*CannotUseNetworkFault)(nil)).Elem()
+}
+
+type Capability struct {
+ DynamicData
+
+ ProvisioningSupported bool `xml:"provisioningSupported"`
+ MultiHostSupported bool `xml:"multiHostSupported"`
+ UserShellAccessSupported bool `xml:"userShellAccessSupported"`
+ SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty"`
+ NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported"`
+}
+
+func init() {
+ t["Capability"] = reflect.TypeOf((*Capability)(nil)).Elem()
+}
+
+type CertMgrRefreshCACertificatesAndCRLsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["CertMgrRefreshCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLsRequestType)(nil)).Elem()
+}
+
+type CertMgrRefreshCACertificatesAndCRLs_Task CertMgrRefreshCACertificatesAndCRLsRequestType
+
+func init() {
+ t["CertMgrRefreshCACertificatesAndCRLs_Task"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLs_Task)(nil)).Elem()
+}
+
+type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CertMgrRefreshCertificatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["CertMgrRefreshCertificatesRequestType"] = reflect.TypeOf((*CertMgrRefreshCertificatesRequestType)(nil)).Elem()
+}
+
+type CertMgrRefreshCertificates_Task CertMgrRefreshCertificatesRequestType
+
+func init() {
+ t["CertMgrRefreshCertificates_Task"] = reflect.TypeOf((*CertMgrRefreshCertificates_Task)(nil)).Elem()
+}
+
+type CertMgrRefreshCertificates_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CertMgrRevokeCertificatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["CertMgrRevokeCertificatesRequestType"] = reflect.TypeOf((*CertMgrRevokeCertificatesRequestType)(nil)).Elem()
+}
+
+type CertMgrRevokeCertificates_Task CertMgrRevokeCertificatesRequestType
+
+func init() {
+ t["CertMgrRevokeCertificates_Task"] = reflect.TypeOf((*CertMgrRevokeCertificates_Task)(nil)).Elem()
+}
+
+type CertMgrRevokeCertificates_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ChangeAccessMode ChangeAccessModeRequestType
+
+func init() {
+ t["ChangeAccessMode"] = reflect.TypeOf((*ChangeAccessMode)(nil)).Elem()
+}
+
+type ChangeAccessModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Principal string `xml:"principal"`
+ IsGroup bool `xml:"isGroup"`
+ AccessMode HostAccessMode `xml:"accessMode"`
+}
+
+func init() {
+ t["ChangeAccessModeRequestType"] = reflect.TypeOf((*ChangeAccessModeRequestType)(nil)).Elem()
+}
+
+type ChangeAccessModeResponse struct {
+}
+
+type ChangeFileAttributesInGuest ChangeFileAttributesInGuestRequestType
+
+func init() {
+ t["ChangeFileAttributesInGuest"] = reflect.TypeOf((*ChangeFileAttributesInGuest)(nil)).Elem()
+}
+
+type ChangeFileAttributesInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ GuestFilePath string `xml:"guestFilePath"`
+ FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr"`
+}
+
+func init() {
+ t["ChangeFileAttributesInGuestRequestType"] = reflect.TypeOf((*ChangeFileAttributesInGuestRequestType)(nil)).Elem()
+}
+
+type ChangeFileAttributesInGuestResponse struct {
+}
+
+type ChangeLockdownMode ChangeLockdownModeRequestType
+
+func init() {
+ t["ChangeLockdownMode"] = reflect.TypeOf((*ChangeLockdownMode)(nil)).Elem()
+}
+
+type ChangeLockdownModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Mode HostLockdownMode `xml:"mode"`
+}
+
+func init() {
+ t["ChangeLockdownModeRequestType"] = reflect.TypeOf((*ChangeLockdownModeRequestType)(nil)).Elem()
+}
+
+type ChangeLockdownModeResponse struct {
+}
+
+type ChangeNFSUserPassword ChangeNFSUserPasswordRequestType
+
+func init() {
+ t["ChangeNFSUserPassword"] = reflect.TypeOf((*ChangeNFSUserPassword)(nil)).Elem()
+}
+
+type ChangeNFSUserPasswordRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Password string `xml:"password"`
+}
+
+func init() {
+ t["ChangeNFSUserPasswordRequestType"] = reflect.TypeOf((*ChangeNFSUserPasswordRequestType)(nil)).Elem()
+}
+
+type ChangeNFSUserPasswordResponse struct {
+}
+
+type ChangeOwner ChangeOwnerRequestType
+
+func init() {
+ t["ChangeOwner"] = reflect.TypeOf((*ChangeOwner)(nil)).Elem()
+}
+
+type ChangeOwnerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Owner string `xml:"owner"`
+}
+
+func init() {
+ t["ChangeOwnerRequestType"] = reflect.TypeOf((*ChangeOwnerRequestType)(nil)).Elem()
+}
+
+type ChangeOwnerResponse struct {
+}
+
+type ChangesInfoEventArgument struct {
+ DynamicData
+
+ Modified string `xml:"modified,omitempty"`
+ Added string `xml:"added,omitempty"`
+ Deleted string `xml:"deleted,omitempty"`
+}
+
+func init() {
+ t["ChangesInfoEventArgument"] = reflect.TypeOf((*ChangesInfoEventArgument)(nil)).Elem()
+}
+
+type CheckAddHostEvcRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CnxSpec HostConnectSpec `xml:"cnxSpec"`
+}
+
+func init() {
+ t["CheckAddHostEvcRequestType"] = reflect.TypeOf((*CheckAddHostEvcRequestType)(nil)).Elem()
+}
+
+type CheckAddHostEvc_Task CheckAddHostEvcRequestType
+
+func init() {
+ t["CheckAddHostEvc_Task"] = reflect.TypeOf((*CheckAddHostEvc_Task)(nil)).Elem()
+}
+
+type CheckAddHostEvc_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckAnswerFileStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["CheckAnswerFileStatusRequestType"] = reflect.TypeOf((*CheckAnswerFileStatusRequestType)(nil)).Elem()
+}
+
+type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType
+
+func init() {
+ t["CheckAnswerFileStatus_Task"] = reflect.TypeOf((*CheckAnswerFileStatus_Task)(nil)).Elem()
+}
+
+type CheckAnswerFileStatus_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckCompatibilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ TestType []string `xml:"testType,omitempty"`
+}
+
+func init() {
+ t["CheckCompatibilityRequestType"] = reflect.TypeOf((*CheckCompatibilityRequestType)(nil)).Elem()
+}
+
+type CheckCompatibility_Task CheckCompatibilityRequestType
+
+func init() {
+ t["CheckCompatibility_Task"] = reflect.TypeOf((*CheckCompatibility_Task)(nil)).Elem()
+}
+
+type CheckCompatibility_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckComplianceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Profile []ManagedObjectReference `xml:"profile,omitempty"`
+ Entity []ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["CheckComplianceRequestType"] = reflect.TypeOf((*CheckComplianceRequestType)(nil)).Elem()
+}
+
+type CheckCompliance_Task CheckComplianceRequestType
+
+func init() {
+ t["CheckCompliance_Task"] = reflect.TypeOf((*CheckCompliance_Task)(nil)).Elem()
+}
+
+type CheckCompliance_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckConfigureEvcModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EvcModeKey string `xml:"evcModeKey"`
+}
+
+func init() {
+ t["CheckConfigureEvcModeRequestType"] = reflect.TypeOf((*CheckConfigureEvcModeRequestType)(nil)).Elem()
+}
+
+type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType
+
+func init() {
+ t["CheckConfigureEvcMode_Task"] = reflect.TypeOf((*CheckConfigureEvcMode_Task)(nil)).Elem()
+}
+
+type CheckConfigureEvcMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckCustomizationResources CheckCustomizationResourcesRequestType
+
+func init() {
+ t["CheckCustomizationResources"] = reflect.TypeOf((*CheckCustomizationResources)(nil)).Elem()
+}
+
+type CheckCustomizationResourcesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ GuestOs string `xml:"guestOs"`
+}
+
+func init() {
+ t["CheckCustomizationResourcesRequestType"] = reflect.TypeOf((*CheckCustomizationResourcesRequestType)(nil)).Elem()
+}
+
+type CheckCustomizationResourcesResponse struct {
+}
+
+type CheckCustomizationSpec CheckCustomizationSpecRequestType
+
+func init() {
+ t["CheckCustomizationSpec"] = reflect.TypeOf((*CheckCustomizationSpec)(nil)).Elem()
+}
+
+type CheckCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec CustomizationSpec `xml:"spec"`
+}
+
+func init() {
+ t["CheckCustomizationSpecRequestType"] = reflect.TypeOf((*CheckCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type CheckCustomizationSpecResponse struct {
+}
+
+type CheckForUpdates CheckForUpdatesRequestType
+
+func init() {
+ t["CheckForUpdates"] = reflect.TypeOf((*CheckForUpdates)(nil)).Elem()
+}
+
+type CheckForUpdatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["CheckForUpdatesRequestType"] = reflect.TypeOf((*CheckForUpdatesRequestType)(nil)).Elem()
+}
+
+type CheckForUpdatesResponse struct {
+ Returnval *UpdateSet `xml:"returnval,omitempty"`
+}
+
+type CheckHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MetaUrls []string `xml:"metaUrls,omitempty"`
+ BundleUrls []string `xml:"bundleUrls,omitempty"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["CheckHostPatchRequestType"] = reflect.TypeOf((*CheckHostPatchRequestType)(nil)).Elem()
+}
+
+type CheckHostPatch_Task CheckHostPatchRequestType
+
+func init() {
+ t["CheckHostPatch_Task"] = reflect.TypeOf((*CheckHostPatch_Task)(nil)).Elem()
+}
+
+type CheckHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckLicenseFeature CheckLicenseFeatureRequestType
+
+func init() {
+ t["CheckLicenseFeature"] = reflect.TypeOf((*CheckLicenseFeature)(nil)).Elem()
+}
+
+type CheckLicenseFeatureRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ FeatureKey string `xml:"featureKey"`
+}
+
+func init() {
+ t["CheckLicenseFeatureRequestType"] = reflect.TypeOf((*CheckLicenseFeatureRequestType)(nil)).Elem()
+}
+
+type CheckLicenseFeatureResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type CheckMigrateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ State VirtualMachinePowerState `xml:"state,omitempty"`
+ TestType []string `xml:"testType,omitempty"`
+}
+
+func init() {
+ t["CheckMigrateRequestType"] = reflect.TypeOf((*CheckMigrateRequestType)(nil)).Elem()
+}
+
+type CheckMigrate_Task CheckMigrateRequestType
+
+func init() {
+ t["CheckMigrate_Task"] = reflect.TypeOf((*CheckMigrate_Task)(nil)).Elem()
+}
+
+type CheckMigrate_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckProfileComplianceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["CheckProfileComplianceRequestType"] = reflect.TypeOf((*CheckProfileComplianceRequestType)(nil)).Elem()
+}
+
+type CheckProfileCompliance_Task CheckProfileComplianceRequestType
+
+func init() {
+ t["CheckProfileCompliance_Task"] = reflect.TypeOf((*CheckProfileCompliance_Task)(nil)).Elem()
+}
+
+type CheckProfileCompliance_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckRelocateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Spec VirtualMachineRelocateSpec `xml:"spec"`
+ TestType []string `xml:"testType,omitempty"`
+}
+
+func init() {
+ t["CheckRelocateRequestType"] = reflect.TypeOf((*CheckRelocateRequestType)(nil)).Elem()
+}
+
+type CheckRelocate_Task CheckRelocateRequestType
+
+func init() {
+ t["CheckRelocate_Task"] = reflect.TypeOf((*CheckRelocate_Task)(nil)).Elem()
+}
+
+type CheckRelocate_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CheckResult struct {
+ DynamicData
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Warning []LocalizedMethodFault `xml:"warning,omitempty"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["CheckResult"] = reflect.TypeOf((*CheckResult)(nil)).Elem()
+}
+
+type ChoiceOption struct {
+ OptionType
+
+ ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr"`
+ DefaultIndex int32 `xml:"defaultIndex,omitempty"`
+}
+
+func init() {
+ t["ChoiceOption"] = reflect.TypeOf((*ChoiceOption)(nil)).Elem()
+}
+
+type ClearComplianceStatus ClearComplianceStatusRequestType
+
+func init() {
+ t["ClearComplianceStatus"] = reflect.TypeOf((*ClearComplianceStatus)(nil)).Elem()
+}
+
+type ClearComplianceStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Profile []ManagedObjectReference `xml:"profile,omitempty"`
+ Entity []ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["ClearComplianceStatusRequestType"] = reflect.TypeOf((*ClearComplianceStatusRequestType)(nil)).Elem()
+}
+
+type ClearComplianceStatusResponse struct {
+}
+
+type ClearNFSUser ClearNFSUserRequestType
+
+func init() {
+ t["ClearNFSUser"] = reflect.TypeOf((*ClearNFSUser)(nil)).Elem()
+}
+
+type ClearNFSUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ClearNFSUserRequestType"] = reflect.TypeOf((*ClearNFSUserRequestType)(nil)).Elem()
+}
+
+type ClearNFSUserResponse struct {
+}
+
+type ClearSystemEventLog ClearSystemEventLogRequestType
+
+func init() {
+ t["ClearSystemEventLog"] = reflect.TypeOf((*ClearSystemEventLog)(nil)).Elem()
+}
+
+type ClearSystemEventLogRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ClearSystemEventLogRequestType"] = reflect.TypeOf((*ClearSystemEventLogRequestType)(nil)).Elem()
+}
+
+type ClearSystemEventLogResponse struct {
+}
+
+type ClockSkew struct {
+ HostConfigFault
+}
+
+func init() {
+ t["ClockSkew"] = reflect.TypeOf((*ClockSkew)(nil)).Elem()
+}
+
+type ClockSkewFault ClockSkew
+
+func init() {
+ t["ClockSkewFault"] = reflect.TypeOf((*ClockSkewFault)(nil)).Elem()
+}
+
+type CloneFromSnapshotNotSupported struct {
+ MigrationFault
+}
+
+func init() {
+ t["CloneFromSnapshotNotSupported"] = reflect.TypeOf((*CloneFromSnapshotNotSupported)(nil)).Elem()
+}
+
+type CloneFromSnapshotNotSupportedFault CloneFromSnapshotNotSupported
+
+func init() {
+ t["CloneFromSnapshotNotSupportedFault"] = reflect.TypeOf((*CloneFromSnapshotNotSupportedFault)(nil)).Elem()
+}
+
+type CloneSession CloneSessionRequestType
+
+func init() {
+ t["CloneSession"] = reflect.TypeOf((*CloneSession)(nil)).Elem()
+}
+
+type CloneSessionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CloneTicket string `xml:"cloneTicket"`
+}
+
+func init() {
+ t["CloneSessionRequestType"] = reflect.TypeOf((*CloneSessionRequestType)(nil)).Elem()
+}
+
+type CloneSessionResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type CloneVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Target ManagedObjectReference `xml:"target"`
+ Spec VAppCloneSpec `xml:"spec"`
+}
+
+func init() {
+ t["CloneVAppRequestType"] = reflect.TypeOf((*CloneVAppRequestType)(nil)).Elem()
+}
+
+type CloneVApp_Task CloneVAppRequestType
+
+func init() {
+ t["CloneVApp_Task"] = reflect.TypeOf((*CloneVApp_Task)(nil)).Elem()
+}
+
+type CloneVApp_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CloneVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Folder ManagedObjectReference `xml:"folder"`
+ Name string `xml:"name"`
+ Spec VirtualMachineCloneSpec `xml:"spec"`
+}
+
+func init() {
+ t["CloneVMRequestType"] = reflect.TypeOf((*CloneVMRequestType)(nil)).Elem()
+}
+
+type CloneVM_Task CloneVMRequestType
+
+func init() {
+ t["CloneVM_Task"] = reflect.TypeOf((*CloneVM_Task)(nil)).Elem()
+}
+
+type CloneVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CloneVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VslmCloneSpec `xml:"spec"`
+}
+
+func init() {
+ t["CloneVStorageObjectRequestType"] = reflect.TypeOf((*CloneVStorageObjectRequestType)(nil)).Elem()
+}
+
+type CloneVStorageObject_Task CloneVStorageObjectRequestType
+
+func init() {
+ t["CloneVStorageObject_Task"] = reflect.TypeOf((*CloneVStorageObject_Task)(nil)).Elem()
+}
+
+type CloneVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CloseInventoryViewFolder CloseInventoryViewFolderRequestType
+
+func init() {
+ t["CloseInventoryViewFolder"] = reflect.TypeOf((*CloseInventoryViewFolder)(nil)).Elem()
+}
+
+type CloseInventoryViewFolderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["CloseInventoryViewFolderRequestType"] = reflect.TypeOf((*CloseInventoryViewFolderRequestType)(nil)).Elem()
+}
+
+type CloseInventoryViewFolderResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type ClusterAction struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ Target *ManagedObjectReference `xml:"target,omitempty"`
+}
+
+func init() {
+ t["ClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem()
+}
+
+type ClusterActionHistory struct {
+ DynamicData
+
+ Action BaseClusterAction `xml:"action,typeattr"`
+ Time time.Time `xml:"time"`
+}
+
+func init() {
+ t["ClusterActionHistory"] = reflect.TypeOf((*ClusterActionHistory)(nil)).Elem()
+}
+
+type ClusterAffinityRuleSpec struct {
+ ClusterRuleInfo
+
+ Vm []ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["ClusterAffinityRuleSpec"] = reflect.TypeOf((*ClusterAffinityRuleSpec)(nil)).Elem()
+}
+
+type ClusterAntiAffinityRuleSpec struct {
+ ClusterRuleInfo
+
+ Vm []ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["ClusterAntiAffinityRuleSpec"] = reflect.TypeOf((*ClusterAntiAffinityRuleSpec)(nil)).Elem()
+}
+
+type ClusterAttemptedVmInfo struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ Task *ManagedObjectReference `xml:"task,omitempty"`
+}
+
+func init() {
+ t["ClusterAttemptedVmInfo"] = reflect.TypeOf((*ClusterAttemptedVmInfo)(nil)).Elem()
+}
+
+type ClusterComplianceCheckedEvent struct {
+ ClusterEvent
+
+ Profile ProfileEventArgument `xml:"profile"`
+}
+
+func init() {
+ t["ClusterComplianceCheckedEvent"] = reflect.TypeOf((*ClusterComplianceCheckedEvent)(nil)).Elem()
+}
+
+type ClusterComputeResourceSummary struct {
+ ComputeResourceSummary
+
+ CurrentFailoverLevel int32 `xml:"currentFailoverLevel"`
+ AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr"`
+ NumVmotions int32 `xml:"numVmotions"`
+ TargetBalance int32 `xml:"targetBalance,omitempty"`
+ CurrentBalance int32 `xml:"currentBalance,omitempty"`
+ UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty"`
+ CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"`
+ DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterComputeResourceSummary"] = reflect.TypeOf((*ClusterComputeResourceSummary)(nil)).Elem()
+}
+
+type ClusterConfigInfo struct {
+ DynamicData
+
+ DasConfig ClusterDasConfigInfo `xml:"dasConfig"`
+ DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty"`
+ DrsConfig ClusterDrsConfigInfo `xml:"drsConfig"`
+ DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty"`
+ Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterConfigInfo"] = reflect.TypeOf((*ClusterConfigInfo)(nil)).Elem()
+}
+
+type ClusterConfigInfoEx struct {
+ ComputeResourceConfigInfo
+
+ DasConfig ClusterDasConfigInfo `xml:"dasConfig"`
+ DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty"`
+ DrsConfig ClusterDrsConfigInfo `xml:"drsConfig"`
+ DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty"`
+ Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"`
+ Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty"`
+ VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty"`
+ DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty"`
+ DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty"`
+ VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty"`
+ VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty"`
+ Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr"`
+ InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty"`
+ ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty"`
+}
+
+func init() {
+ t["ClusterConfigInfoEx"] = reflect.TypeOf((*ClusterConfigInfoEx)(nil)).Elem()
+}
+
+type ClusterConfigSpec struct {
+ DynamicData
+
+ DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty"`
+ DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty"`
+ DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty"`
+ DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty"`
+ RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty"`
+}
+
+func init() {
+ t["ClusterConfigSpec"] = reflect.TypeOf((*ClusterConfigSpec)(nil)).Elem()
+}
+
+type ClusterConfigSpecEx struct {
+ ComputeResourceConfigSpec
+
+ DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty"`
+ DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty"`
+ DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty"`
+ DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty"`
+ RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty"`
+ Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty"`
+ VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty"`
+ DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty"`
+ DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty"`
+ VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty"`
+ VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty"`
+ GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty"`
+ InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty"`
+ ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty"`
+}
+
+func init() {
+ t["ClusterConfigSpecEx"] = reflect.TypeOf((*ClusterConfigSpecEx)(nil)).Elem()
+}
+
+type ClusterCreatedEvent struct {
+ ClusterEvent
+
+ Parent FolderEventArgument `xml:"parent"`
+}
+
+func init() {
+ t["ClusterCreatedEvent"] = reflect.TypeOf((*ClusterCreatedEvent)(nil)).Elem()
+}
+
+type ClusterDasAamHostInfo struct {
+ ClusterDasHostInfo
+
+ HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty"`
+ PrimaryHosts []string `xml:"primaryHosts,omitempty"`
+}
+
+func init() {
+ t["ClusterDasAamHostInfo"] = reflect.TypeOf((*ClusterDasAamHostInfo)(nil)).Elem()
+}
+
+type ClusterDasAamNodeState struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Name string `xml:"name"`
+ ConfigState string `xml:"configState"`
+ RuntimeState string `xml:"runtimeState"`
+}
+
+func init() {
+ t["ClusterDasAamNodeState"] = reflect.TypeOf((*ClusterDasAamNodeState)(nil)).Elem()
+}
+
+type ClusterDasAdmissionControlInfo struct {
+ DynamicData
+}
+
+func init() {
+ t["ClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem()
+}
+
+type ClusterDasAdmissionControlPolicy struct {
+ DynamicData
+
+ ResourceReductionToToleratePercent int32 `xml:"resourceReductionToToleratePercent,omitempty"`
+}
+
+func init() {
+ t["ClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem()
+}
+
+type ClusterDasAdvancedRuntimeInfo struct {
+ DynamicData
+
+ DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr"`
+ VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty"`
+ HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty"`
+}
+
+func init() {
+ t["ClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem()
+}
+
+type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct {
+ DynamicData
+
+ StorageAPDSupported bool `xml:"storageAPDSupported"`
+ StoragePDLSupported bool `xml:"storagePDLSupported"`
+}
+
+func init() {
+ t["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo)(nil)).Elem()
+}
+
+type ClusterDasConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ VmMonitoring string `xml:"vmMonitoring,omitempty"`
+ HostMonitoring string `xml:"hostMonitoring,omitempty"`
+ VmComponentProtecting string `xml:"vmComponentProtecting,omitempty"`
+ FailoverLevel int32 `xml:"failoverLevel,omitempty"`
+ AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr"`
+ AdmissionControlEnabled *bool `xml:"admissionControlEnabled"`
+ DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+ HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty"`
+ HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty"`
+}
+
+func init() {
+ t["ClusterDasConfigInfo"] = reflect.TypeOf((*ClusterDasConfigInfo)(nil)).Elem()
+}
+
+type ClusterDasData struct {
+ DynamicData
+}
+
+func init() {
+ t["ClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem()
+}
+
+type ClusterDasDataSummary struct {
+ ClusterDasData
+
+ HostListVersion int64 `xml:"hostListVersion"`
+ ClusterConfigVersion int64 `xml:"clusterConfigVersion"`
+ CompatListVersion int64 `xml:"compatListVersion"`
+}
+
+func init() {
+ t["ClusterDasDataSummary"] = reflect.TypeOf((*ClusterDasDataSummary)(nil)).Elem()
+}
+
+type ClusterDasFailoverLevelAdvancedRuntimeInfo struct {
+ ClusterDasAdvancedRuntimeInfo
+
+ SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo"`
+ TotalSlots int32 `xml:"totalSlots"`
+ UsedSlots int32 `xml:"usedSlots"`
+ UnreservedSlots int32 `xml:"unreservedSlots"`
+ TotalVms int32 `xml:"totalVms"`
+ TotalHosts int32 `xml:"totalHosts"`
+ TotalGoodHosts int32 `xml:"totalGoodHosts"`
+ HostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty"`
+ VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty"`
+}
+
+func init() {
+ t["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfo)(nil)).Elem()
+}
+
+type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Slots int32 `xml:"slots"`
+}
+
+func init() {
+ t["ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
+}
+
+type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct {
+ DynamicData
+
+ NumVcpus int32 `xml:"numVcpus"`
+ CpuMHz int32 `xml:"cpuMHz"`
+ MemoryMB int32 `xml:"memoryMB"`
+}
+
+func init() {
+ t["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo)(nil)).Elem()
+}
+
+type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ Slots int32 `xml:"slots"`
+}
+
+func init() {
+ t["ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
+}
+
+type ClusterDasFdmHostState struct {
+ DynamicData
+
+ State string `xml:"state"`
+ StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty"`
+}
+
+func init() {
+ t["ClusterDasFdmHostState"] = reflect.TypeOf((*ClusterDasFdmHostState)(nil)).Elem()
+}
+
+type ClusterDasHostInfo struct {
+ DynamicData
+}
+
+func init() {
+ t["ClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem()
+}
+
+type ClusterDasHostRecommendation struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ DrsRating int32 `xml:"drsRating,omitempty"`
+}
+
+func init() {
+ t["ClusterDasHostRecommendation"] = reflect.TypeOf((*ClusterDasHostRecommendation)(nil)).Elem()
+}
+
+type ClusterDasVmConfigInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ RestartPriority DasVmPriority `xml:"restartPriority,omitempty"`
+ PowerOffOnIsolation *bool `xml:"powerOffOnIsolation"`
+ DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty"`
+}
+
+func init() {
+ t["ClusterDasVmConfigInfo"] = reflect.TypeOf((*ClusterDasVmConfigInfo)(nil)).Elem()
+}
+
+type ClusterDasVmConfigSpec struct {
+ ArrayUpdateSpec
+
+ Info *ClusterDasVmConfigInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["ClusterDasVmConfigSpec"] = reflect.TypeOf((*ClusterDasVmConfigSpec)(nil)).Elem()
+}
+
+type ClusterDasVmSettings struct {
+ DynamicData
+
+ RestartPriority string `xml:"restartPriority,omitempty"`
+ RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty"`
+ IsolationResponse string `xml:"isolationResponse,omitempty"`
+ VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty"`
+ VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty"`
+}
+
+func init() {
+ t["ClusterDasVmSettings"] = reflect.TypeOf((*ClusterDasVmSettings)(nil)).Elem()
+}
+
+type ClusterDependencyRuleInfo struct {
+ ClusterRuleInfo
+
+ VmGroup string `xml:"vmGroup"`
+ DependsOnVmGroup string `xml:"dependsOnVmGroup"`
+}
+
+func init() {
+ t["ClusterDependencyRuleInfo"] = reflect.TypeOf((*ClusterDependencyRuleInfo)(nil)).Elem()
+}
+
+type ClusterDestroyedEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["ClusterDestroyedEvent"] = reflect.TypeOf((*ClusterDestroyedEvent)(nil)).Elem()
+}
+
+type ClusterDpmConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty"`
+ HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterDpmConfigInfo"] = reflect.TypeOf((*ClusterDpmConfigInfo)(nil)).Elem()
+}
+
+type ClusterDpmHostConfigInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ Enabled *bool `xml:"enabled"`
+ Behavior DpmBehavior `xml:"behavior,omitempty"`
+}
+
+func init() {
+ t["ClusterDpmHostConfigInfo"] = reflect.TypeOf((*ClusterDpmHostConfigInfo)(nil)).Elem()
+}
+
+type ClusterDpmHostConfigSpec struct {
+ ArrayUpdateSpec
+
+ Info *ClusterDpmHostConfigInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["ClusterDpmHostConfigSpec"] = reflect.TypeOf((*ClusterDpmHostConfigSpec)(nil)).Elem()
+}
+
+type ClusterDrsConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides"`
+ DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty"`
+ VmotionRate int32 `xml:"vmotionRate,omitempty"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterDrsConfigInfo"] = reflect.TypeOf((*ClusterDrsConfigInfo)(nil)).Elem()
+}
+
+type ClusterDrsFaults struct {
+ DynamicData
+
+ Reason string `xml:"reason"`
+ FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr"`
+}
+
+func init() {
+ t["ClusterDrsFaults"] = reflect.TypeOf((*ClusterDrsFaults)(nil)).Elem()
+}
+
+type ClusterDrsFaultsFaultsByVirtualDisk struct {
+ ClusterDrsFaultsFaultsByVm
+
+ Disk *VirtualDiskId `xml:"disk,omitempty"`
+}
+
+func init() {
+ t["ClusterDrsFaultsFaultsByVirtualDisk"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVirtualDisk)(nil)).Elem()
+}
+
+type ClusterDrsFaultsFaultsByVm struct {
+ DynamicData
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Fault []LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["ClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem()
+}
+
+type ClusterDrsMigration struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Time time.Time `xml:"time"`
+ Vm ManagedObjectReference `xml:"vm"`
+ CpuLoad int32 `xml:"cpuLoad,omitempty"`
+ MemoryLoad int64 `xml:"memoryLoad,omitempty"`
+ Source ManagedObjectReference `xml:"source"`
+ SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty"`
+ SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty"`
+ Destination ManagedObjectReference `xml:"destination"`
+ DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty"`
+ DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty"`
+}
+
+func init() {
+ t["ClusterDrsMigration"] = reflect.TypeOf((*ClusterDrsMigration)(nil)).Elem()
+}
+
+type ClusterDrsRecommendation struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Rating int32 `xml:"rating"`
+ Reason string `xml:"reason"`
+ ReasonText string `xml:"reasonText"`
+ MigrationList []ClusterDrsMigration `xml:"migrationList"`
+}
+
+func init() {
+ t["ClusterDrsRecommendation"] = reflect.TypeOf((*ClusterDrsRecommendation)(nil)).Elem()
+}
+
+type ClusterDrsVmConfigInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ Enabled *bool `xml:"enabled"`
+ Behavior DrsBehavior `xml:"behavior,omitempty"`
+}
+
+func init() {
+ t["ClusterDrsVmConfigInfo"] = reflect.TypeOf((*ClusterDrsVmConfigInfo)(nil)).Elem()
+}
+
+type ClusterDrsVmConfigSpec struct {
+ ArrayUpdateSpec
+
+ Info *ClusterDrsVmConfigInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["ClusterDrsVmConfigSpec"] = reflect.TypeOf((*ClusterDrsVmConfigSpec)(nil)).Elem()
+}
+
+type ClusterEVCManagerCheckResult struct {
+ DynamicData
+
+ EvcModeKey string `xml:"evcModeKey"`
+ Error LocalizedMethodFault `xml:"error"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["ClusterEVCManagerCheckResult"] = reflect.TypeOf((*ClusterEVCManagerCheckResult)(nil)).Elem()
+}
+
+type ClusterEVCManagerEVCState struct {
+ DynamicData
+
+ SupportedEVCMode []EVCMode `xml:"supportedEVCMode"`
+ CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"`
+ GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty"`
+ FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"`
+ FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"`
+ FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"`
+}
+
+func init() {
+ t["ClusterEVCManagerEVCState"] = reflect.TypeOf((*ClusterEVCManagerEVCState)(nil)).Elem()
+}
+
+type ClusterEnterMaintenanceMode ClusterEnterMaintenanceModeRequestType
+
+func init() {
+ t["ClusterEnterMaintenanceMode"] = reflect.TypeOf((*ClusterEnterMaintenanceMode)(nil)).Elem()
+}
+
+type ClusterEnterMaintenanceModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterEnterMaintenanceModeRequestType"] = reflect.TypeOf((*ClusterEnterMaintenanceModeRequestType)(nil)).Elem()
+}
+
+type ClusterEnterMaintenanceModeResponse struct {
+ Returnval ClusterEnterMaintenanceResult `xml:"returnval"`
+}
+
+type ClusterEnterMaintenanceResult struct {
+ DynamicData
+
+ Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"`
+ Fault *ClusterDrsFaults `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["ClusterEnterMaintenanceResult"] = reflect.TypeOf((*ClusterEnterMaintenanceResult)(nil)).Elem()
+}
+
+type ClusterEvent struct {
+ Event
+}
+
+func init() {
+ t["ClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem()
+}
+
+type ClusterFailoverHostAdmissionControlInfo struct {
+ ClusterDasAdmissionControlInfo
+
+ HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty"`
+}
+
+func init() {
+ t["ClusterFailoverHostAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfo)(nil)).Elem()
+}
+
+type ClusterFailoverHostAdmissionControlInfoHostStatus struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Status ManagedEntityStatus `xml:"status"`
+}
+
+func init() {
+ t["ClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
+}
+
+type ClusterFailoverHostAdmissionControlPolicy struct {
+ ClusterDasAdmissionControlPolicy
+
+ FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty"`
+ FailoverLevel int32 `xml:"failoverLevel,omitempty"`
+}
+
+func init() {
+ t["ClusterFailoverHostAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlPolicy)(nil)).Elem()
+}
+
+type ClusterFailoverLevelAdmissionControlInfo struct {
+ ClusterDasAdmissionControlInfo
+
+ CurrentFailoverLevel int32 `xml:"currentFailoverLevel"`
+}
+
+func init() {
+ t["ClusterFailoverLevelAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlInfo)(nil)).Elem()
+}
+
+type ClusterFailoverLevelAdmissionControlPolicy struct {
+ ClusterDasAdmissionControlPolicy
+
+ FailoverLevel int32 `xml:"failoverLevel"`
+ SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterFailoverLevelAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlPolicy)(nil)).Elem()
+}
+
+type ClusterFailoverResourcesAdmissionControlInfo struct {
+ ClusterDasAdmissionControlInfo
+
+ CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent"`
+ CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent"`
+}
+
+func init() {
+ t["ClusterFailoverResourcesAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlInfo)(nil)).Elem()
+}
+
+type ClusterFailoverResourcesAdmissionControlPolicy struct {
+ ClusterDasAdmissionControlPolicy
+
+ CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent"`
+ MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent"`
+ FailoverLevel int32 `xml:"failoverLevel,omitempty"`
+ AutoComputePercentages *bool `xml:"autoComputePercentages"`
+}
+
+func init() {
+ t["ClusterFailoverResourcesAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlPolicy)(nil)).Elem()
+}
+
+type ClusterFixedSizeSlotPolicy struct {
+ ClusterSlotPolicy
+
+ Cpu int32 `xml:"cpu"`
+ Memory int32 `xml:"memory"`
+}
+
+func init() {
+ t["ClusterFixedSizeSlotPolicy"] = reflect.TypeOf((*ClusterFixedSizeSlotPolicy)(nil)).Elem()
+}
+
+type ClusterGroupInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ UserCreated *bool `xml:"userCreated"`
+ UniqueID string `xml:"uniqueID,omitempty"`
+}
+
+func init() {
+ t["ClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem()
+}
+
+type ClusterGroupSpec struct {
+ ArrayUpdateSpec
+
+ Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterGroupSpec"] = reflect.TypeOf((*ClusterGroupSpec)(nil)).Elem()
+}
+
+type ClusterHostGroup struct {
+ ClusterGroupInfo
+
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["ClusterHostGroup"] = reflect.TypeOf((*ClusterHostGroup)(nil)).Elem()
+}
+
+type ClusterHostInfraUpdateHaModeAction struct {
+ ClusterAction
+
+ OperationType string `xml:"operationType"`
+}
+
+func init() {
+ t["ClusterHostInfraUpdateHaModeAction"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeAction)(nil)).Elem()
+}
+
+type ClusterHostPowerAction struct {
+ ClusterAction
+
+ OperationType HostPowerOperationType `xml:"operationType"`
+ PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty"`
+ CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty"`
+ MemCapacityMB int32 `xml:"memCapacityMB,omitempty"`
+}
+
+func init() {
+ t["ClusterHostPowerAction"] = reflect.TypeOf((*ClusterHostPowerAction)(nil)).Elem()
+}
+
+type ClusterHostRecommendation struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Rating int32 `xml:"rating"`
+}
+
+func init() {
+ t["ClusterHostRecommendation"] = reflect.TypeOf((*ClusterHostRecommendation)(nil)).Elem()
+}
+
+type ClusterInfraUpdateHaConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ Behavior string `xml:"behavior,omitempty"`
+ ModerateRemediation string `xml:"moderateRemediation,omitempty"`
+ SevereRemediation string `xml:"severeRemediation,omitempty"`
+ Providers []string `xml:"providers,omitempty"`
+}
+
+func init() {
+ t["ClusterInfraUpdateHaConfigInfo"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfo)(nil)).Elem()
+}
+
+type ClusterInitialPlacementAction struct {
+ ClusterAction
+
+ TargetHost ManagedObjectReference `xml:"targetHost"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+}
+
+func init() {
+ t["ClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterInitialPlacementAction)(nil)).Elem()
+}
+
+type ClusterIoFilterInfo struct {
+ IoFilterInfo
+
+ OpType string `xml:"opType"`
+ VibUrl string `xml:"vibUrl,omitempty"`
+}
+
+func init() {
+ t["ClusterIoFilterInfo"] = reflect.TypeOf((*ClusterIoFilterInfo)(nil)).Elem()
+}
+
+type ClusterMigrationAction struct {
+ ClusterAction
+
+ DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty"`
+}
+
+func init() {
+ t["ClusterMigrationAction"] = reflect.TypeOf((*ClusterMigrationAction)(nil)).Elem()
+}
+
+type ClusterNetworkConfigSpec struct {
+ DynamicData
+
+ NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup"`
+ IpSettings CustomizationIPSettings `xml:"ipSettings"`
+}
+
+func init() {
+ t["ClusterNetworkConfigSpec"] = reflect.TypeOf((*ClusterNetworkConfigSpec)(nil)).Elem()
+}
+
+type ClusterNotAttemptedVmInfo struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["ClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ClusterNotAttemptedVmInfo)(nil)).Elem()
+}
+
+type ClusterOrchestrationInfo struct {
+ DynamicData
+
+ DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty"`
+}
+
+func init() {
+ t["ClusterOrchestrationInfo"] = reflect.TypeOf((*ClusterOrchestrationInfo)(nil)).Elem()
+}
+
+type ClusterOvercommittedEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["ClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem()
+}
+
+type ClusterPowerOnVmResult struct {
+ DynamicData
+
+ Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty"`
+ NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty"`
+ Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"`
+}
+
+func init() {
+ t["ClusterPowerOnVmResult"] = reflect.TypeOf((*ClusterPowerOnVmResult)(nil)).Elem()
+}
+
+type ClusterProactiveDrsConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+}
+
+func init() {
+ t["ClusterProactiveDrsConfigInfo"] = reflect.TypeOf((*ClusterProactiveDrsConfigInfo)(nil)).Elem()
+}
+
+type ClusterProfileCompleteConfigSpec struct {
+ ClusterProfileConfigSpec
+
+ ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty"`
+}
+
+func init() {
+ t["ClusterProfileCompleteConfigSpec"] = reflect.TypeOf((*ClusterProfileCompleteConfigSpec)(nil)).Elem()
+}
+
+type ClusterProfileConfigInfo struct {
+ ProfileConfigInfo
+
+ ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty"`
+}
+
+func init() {
+ t["ClusterProfileConfigInfo"] = reflect.TypeOf((*ClusterProfileConfigInfo)(nil)).Elem()
+}
+
+type ClusterProfileConfigServiceCreateSpec struct {
+ ClusterProfileConfigSpec
+
+ ServiceType []string `xml:"serviceType,omitempty"`
+}
+
+func init() {
+ t["ClusterProfileConfigServiceCreateSpec"] = reflect.TypeOf((*ClusterProfileConfigServiceCreateSpec)(nil)).Elem()
+}
+
+type ClusterProfileConfigSpec struct {
+ ClusterProfileCreateSpec
+}
+
+func init() {
+ t["ClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem()
+}
+
+type ClusterProfileCreateSpec struct {
+ ProfileCreateSpec
+}
+
+func init() {
+ t["ClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem()
+}
+
+type ClusterRecommendation struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Type string `xml:"type"`
+ Time time.Time `xml:"time"`
+ Rating int32 `xml:"rating"`
+ Reason string `xml:"reason"`
+ ReasonText string `xml:"reasonText"`
+ WarningText string `xml:"warningText,omitempty"`
+ WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty"`
+ Prerequisite []string `xml:"prerequisite,omitempty"`
+ Action []BaseClusterAction `xml:"action,omitempty,typeattr"`
+ Target *ManagedObjectReference `xml:"target,omitempty"`
+}
+
+func init() {
+ t["ClusterRecommendation"] = reflect.TypeOf((*ClusterRecommendation)(nil)).Elem()
+}
+
+type ClusterReconfiguredEvent struct {
+ ClusterEvent
+
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["ClusterReconfiguredEvent"] = reflect.TypeOf((*ClusterReconfiguredEvent)(nil)).Elem()
+}
+
+type ClusterResourceUsageSummary struct {
+ DynamicData
+
+ CpuUsedMHz int32 `xml:"cpuUsedMHz"`
+ CpuCapacityMHz int32 `xml:"cpuCapacityMHz"`
+ MemUsedMB int32 `xml:"memUsedMB"`
+ MemCapacityMB int32 `xml:"memCapacityMB"`
+ StorageUsedMB int64 `xml:"storageUsedMB"`
+ StorageCapacityMB int64 `xml:"storageCapacityMB"`
+}
+
+func init() {
+ t["ClusterResourceUsageSummary"] = reflect.TypeOf((*ClusterResourceUsageSummary)(nil)).Elem()
+}
+
+type ClusterRuleInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key,omitempty"`
+ Status ManagedEntityStatus `xml:"status,omitempty"`
+ Enabled *bool `xml:"enabled"`
+ Name string `xml:"name,omitempty"`
+ Mandatory *bool `xml:"mandatory"`
+ UserCreated *bool `xml:"userCreated"`
+ InCompliance *bool `xml:"inCompliance"`
+ RuleUuid string `xml:"ruleUuid,omitempty"`
+}
+
+func init() {
+ t["ClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem()
+}
+
+type ClusterRuleSpec struct {
+ ArrayUpdateSpec
+
+ Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr"`
+}
+
+func init() {
+ t["ClusterRuleSpec"] = reflect.TypeOf((*ClusterRuleSpec)(nil)).Elem()
+}
+
+type ClusterSlotPolicy struct {
+ DynamicData
+}
+
+func init() {
+ t["ClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem()
+}
+
+type ClusterStatusChangedEvent struct {
+ ClusterEvent
+
+ OldStatus string `xml:"oldStatus"`
+ NewStatus string `xml:"newStatus"`
+}
+
+func init() {
+ t["ClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem()
+}
+
+type ClusterUsageSummary struct {
+ DynamicData
+
+ TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz"`
+ TotalMemCapacityMB int32 `xml:"totalMemCapacityMB"`
+ CpuReservationMhz int32 `xml:"cpuReservationMhz"`
+ MemReservationMB int32 `xml:"memReservationMB"`
+ PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty"`
+ PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty"`
+ CpuDemandMhz int32 `xml:"cpuDemandMhz"`
+ MemDemandMB int32 `xml:"memDemandMB"`
+ StatsGenNumber int64 `xml:"statsGenNumber"`
+ CpuEntitledMhz int32 `xml:"cpuEntitledMhz"`
+ MemEntitledMB int32 `xml:"memEntitledMB"`
+ PoweredOffVmCount int32 `xml:"poweredOffVmCount"`
+ TotalVmCount int32 `xml:"totalVmCount"`
+}
+
+func init() {
+ t["ClusterUsageSummary"] = reflect.TypeOf((*ClusterUsageSummary)(nil)).Elem()
+}
+
+type ClusterVmComponentProtectionSettings struct {
+ DynamicData
+
+ VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty"`
+ EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts"`
+ VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty"`
+ VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty"`
+ VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty"`
+}
+
+func init() {
+ t["ClusterVmComponentProtectionSettings"] = reflect.TypeOf((*ClusterVmComponentProtectionSettings)(nil)).Elem()
+}
+
+type ClusterVmGroup struct {
+ ClusterGroupInfo
+
+ Vm []ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["ClusterVmGroup"] = reflect.TypeOf((*ClusterVmGroup)(nil)).Elem()
+}
+
+type ClusterVmHostRuleInfo struct {
+ ClusterRuleInfo
+
+ VmGroupName string `xml:"vmGroupName,omitempty"`
+ AffineHostGroupName string `xml:"affineHostGroupName,omitempty"`
+ AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty"`
+}
+
+func init() {
+ t["ClusterVmHostRuleInfo"] = reflect.TypeOf((*ClusterVmHostRuleInfo)(nil)).Elem()
+}
+
+type ClusterVmOrchestrationInfo struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmReadiness ClusterVmReadiness `xml:"vmReadiness"`
+}
+
+func init() {
+ t["ClusterVmOrchestrationInfo"] = reflect.TypeOf((*ClusterVmOrchestrationInfo)(nil)).Elem()
+}
+
+type ClusterVmOrchestrationSpec struct {
+ ArrayUpdateSpec
+
+ Info *ClusterVmOrchestrationInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["ClusterVmOrchestrationSpec"] = reflect.TypeOf((*ClusterVmOrchestrationSpec)(nil)).Elem()
+}
+
+type ClusterVmReadiness struct {
+ DynamicData
+
+ ReadyCondition string `xml:"readyCondition,omitempty"`
+ PostReadyDelay int32 `xml:"postReadyDelay,omitempty"`
+}
+
+func init() {
+ t["ClusterVmReadiness"] = reflect.TypeOf((*ClusterVmReadiness)(nil)).Elem()
+}
+
+type ClusterVmToolsMonitoringSettings struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ VmMonitoring string `xml:"vmMonitoring,omitempty"`
+ ClusterSettings *bool `xml:"clusterSettings"`
+ FailureInterval int32 `xml:"failureInterval,omitempty"`
+ MinUpTime int32 `xml:"minUpTime,omitempty"`
+ MaxFailures int32 `xml:"maxFailures,omitempty"`
+ MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty"`
+}
+
+func init() {
+ t["ClusterVmToolsMonitoringSettings"] = reflect.TypeOf((*ClusterVmToolsMonitoringSettings)(nil)).Elem()
+}
+
+type CollectorAddressUnset struct {
+ DvsFault
+}
+
+func init() {
+ t["CollectorAddressUnset"] = reflect.TypeOf((*CollectorAddressUnset)(nil)).Elem()
+}
+
+type CollectorAddressUnsetFault CollectorAddressUnset
+
+func init() {
+ t["CollectorAddressUnsetFault"] = reflect.TypeOf((*CollectorAddressUnsetFault)(nil)).Elem()
+}
+
+type ComplianceFailure struct {
+ DynamicData
+
+ FailureType string `xml:"failureType"`
+ Message LocalizableMessage `xml:"message"`
+ ExpressionName string `xml:"expressionName,omitempty"`
+ FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty"`
+}
+
+func init() {
+ t["ComplianceFailure"] = reflect.TypeOf((*ComplianceFailure)(nil)).Elem()
+}
+
+type ComplianceFailureComplianceFailureValues struct {
+ DynamicData
+
+ ComparisonIdentifier string `xml:"comparisonIdentifier"`
+ ProfileInstance string `xml:"profileInstance,omitempty"`
+ HostValue AnyType `xml:"hostValue,omitempty,typeattr"`
+ ProfileValue AnyType `xml:"profileValue,omitempty,typeattr"`
+}
+
+func init() {
+ t["ComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ComplianceFailureComplianceFailureValues)(nil)).Elem()
+}
+
+type ComplianceLocator struct {
+ DynamicData
+
+ ExpressionName string `xml:"expressionName"`
+ ApplyPath ProfilePropertyPath `xml:"applyPath"`
+}
+
+func init() {
+ t["ComplianceLocator"] = reflect.TypeOf((*ComplianceLocator)(nil)).Elem()
+}
+
+type ComplianceProfile struct {
+ DynamicData
+
+ Expression []BaseProfileExpression `xml:"expression,typeattr"`
+ RootExpression string `xml:"rootExpression"`
+}
+
+func init() {
+ t["ComplianceProfile"] = reflect.TypeOf((*ComplianceProfile)(nil)).Elem()
+}
+
+type ComplianceResult struct {
+ DynamicData
+
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+ ComplianceStatus string `xml:"complianceStatus"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ CheckTime *time.Time `xml:"checkTime"`
+ Failure []ComplianceFailure `xml:"failure,omitempty"`
+}
+
+func init() {
+ t["ComplianceResult"] = reflect.TypeOf((*ComplianceResult)(nil)).Elem()
+}
+
+type CompositePolicyOption struct {
+ PolicyOption
+
+ Option []BasePolicyOption `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["CompositePolicyOption"] = reflect.TypeOf((*CompositePolicyOption)(nil)).Elem()
+}
+
+type ComputeDiskPartitionInfo ComputeDiskPartitionInfoRequestType
+
+func init() {
+ t["ComputeDiskPartitionInfo"] = reflect.TypeOf((*ComputeDiskPartitionInfo)(nil)).Elem()
+}
+
+type ComputeDiskPartitionInfoForResize ComputeDiskPartitionInfoForResizeRequestType
+
+func init() {
+ t["ComputeDiskPartitionInfoForResize"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResize)(nil)).Elem()
+}
+
+type ComputeDiskPartitionInfoForResizeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Partition HostScsiDiskPartition `xml:"partition"`
+ BlockRange HostDiskPartitionBlockRange `xml:"blockRange"`
+ PartitionFormat string `xml:"partitionFormat,omitempty"`
+}
+
+func init() {
+ t["ComputeDiskPartitionInfoForResizeRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResizeRequestType)(nil)).Elem()
+}
+
+type ComputeDiskPartitionInfoForResizeResponse struct {
+ Returnval HostDiskPartitionInfo `xml:"returnval"`
+}
+
+type ComputeDiskPartitionInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DevicePath string `xml:"devicePath"`
+ Layout HostDiskPartitionLayout `xml:"layout"`
+ PartitionFormat string `xml:"partitionFormat,omitempty"`
+}
+
+func init() {
+ t["ComputeDiskPartitionInfoRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoRequestType)(nil)).Elem()
+}
+
+type ComputeDiskPartitionInfoResponse struct {
+ Returnval HostDiskPartitionInfo `xml:"returnval"`
+}
+
+type ComputeResourceConfigInfo struct {
+ DynamicData
+
+ VmSwapPlacement string `xml:"vmSwapPlacement"`
+ SpbmEnabled *bool `xml:"spbmEnabled"`
+ DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"`
+}
+
+func init() {
+ t["ComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem()
+}
+
+type ComputeResourceConfigSpec struct {
+ DynamicData
+
+ VmSwapPlacement string `xml:"vmSwapPlacement,omitempty"`
+ SpbmEnabled *bool `xml:"spbmEnabled"`
+ DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"`
+}
+
+func init() {
+ t["ComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem()
+}
+
+type ComputeResourceEventArgument struct {
+ EntityEventArgument
+
+ ComputeResource ManagedObjectReference `xml:"computeResource"`
+}
+
+func init() {
+ t["ComputeResourceEventArgument"] = reflect.TypeOf((*ComputeResourceEventArgument)(nil)).Elem()
+}
+
+type ComputeResourceHostSPBMLicenseInfo struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState"`
+}
+
+func init() {
+ t["ComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
+}
+
+type ComputeResourceSummary struct {
+ DynamicData
+
+ TotalCpu int32 `xml:"totalCpu"`
+ TotalMemory int64 `xml:"totalMemory"`
+ NumCpuCores int16 `xml:"numCpuCores"`
+ NumCpuThreads int16 `xml:"numCpuThreads"`
+ EffectiveCpu int32 `xml:"effectiveCpu"`
+ EffectiveMemory int64 `xml:"effectiveMemory"`
+ NumHosts int32 `xml:"numHosts"`
+ NumEffectiveHosts int32 `xml:"numEffectiveHosts"`
+ OverallStatus ManagedEntityStatus `xml:"overallStatus"`
+}
+
+func init() {
+ t["ComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem()
+}
+
+type ConcurrentAccess struct {
+ VimFault
+}
+
+func init() {
+ t["ConcurrentAccess"] = reflect.TypeOf((*ConcurrentAccess)(nil)).Elem()
+}
+
+type ConcurrentAccessFault ConcurrentAccess
+
+func init() {
+ t["ConcurrentAccessFault"] = reflect.TypeOf((*ConcurrentAccessFault)(nil)).Elem()
+}
+
+type ConfigTarget struct {
+ DynamicData
+
+ NumCpus int32 `xml:"numCpus"`
+ NumCpuCores int32 `xml:"numCpuCores"`
+ NumNumaNodes int32 `xml:"numNumaNodes"`
+ SmcPresent *bool `xml:"smcPresent"`
+ Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty"`
+ Network []VirtualMachineNetworkInfo `xml:"network,omitempty"`
+ OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty"`
+ DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty"`
+ DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty"`
+ CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty"`
+ Serial []VirtualMachineSerialInfo `xml:"serial,omitempty"`
+ Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty"`
+ Sound []VirtualMachineSoundInfo `xml:"sound,omitempty"`
+ Usb []VirtualMachineUsbInfo `xml:"usb,omitempty"`
+ Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty"`
+ LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty"`
+ ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty"`
+ ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty"`
+ IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty"`
+ MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf"`
+ ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty"`
+ AutoVmotion *bool `xml:"autoVmotion"`
+ PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr"`
+ Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty"`
+ VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty"`
+ SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty"`
+}
+
+func init() {
+ t["ConfigTarget"] = reflect.TypeOf((*ConfigTarget)(nil)).Elem()
+}
+
+type ConfigureCryptoKey ConfigureCryptoKeyRequestType
+
+func init() {
+ t["ConfigureCryptoKey"] = reflect.TypeOf((*ConfigureCryptoKey)(nil)).Elem()
+}
+
+type ConfigureCryptoKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["ConfigureCryptoKeyRequestType"] = reflect.TypeOf((*ConfigureCryptoKeyRequestType)(nil)).Elem()
+}
+
+type ConfigureCryptoKeyResponse struct {
+}
+
+type ConfigureDatastoreIORMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec StorageIORMConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["ConfigureDatastoreIORMRequestType"] = reflect.TypeOf((*ConfigureDatastoreIORMRequestType)(nil)).Elem()
+}
+
+type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType
+
+func init() {
+ t["ConfigureDatastoreIORM_Task"] = reflect.TypeOf((*ConfigureDatastoreIORM_Task)(nil)).Elem()
+}
+
+type ConfigureDatastoreIORM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ConfigureDatastorePrincipal ConfigureDatastorePrincipalRequestType
+
+func init() {
+ t["ConfigureDatastorePrincipal"] = reflect.TypeOf((*ConfigureDatastorePrincipal)(nil)).Elem()
+}
+
+type ConfigureDatastorePrincipalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UserName string `xml:"userName"`
+ Password string `xml:"password,omitempty"`
+}
+
+func init() {
+ t["ConfigureDatastorePrincipalRequestType"] = reflect.TypeOf((*ConfigureDatastorePrincipalRequestType)(nil)).Elem()
+}
+
+type ConfigureDatastorePrincipalResponse struct {
+}
+
+type ConfigureEvcModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EvcModeKey string `xml:"evcModeKey"`
+}
+
+func init() {
+ t["ConfigureEvcModeRequestType"] = reflect.TypeOf((*ConfigureEvcModeRequestType)(nil)).Elem()
+}
+
+type ConfigureEvcMode_Task ConfigureEvcModeRequestType
+
+func init() {
+ t["ConfigureEvcMode_Task"] = reflect.TypeOf((*ConfigureEvcMode_Task)(nil)).Elem()
+}
+
+type ConfigureEvcMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ConfigureHostCacheRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostCacheConfigurationSpec `xml:"spec"`
+}
+
+func init() {
+ t["ConfigureHostCacheRequestType"] = reflect.TypeOf((*ConfigureHostCacheRequestType)(nil)).Elem()
+}
+
+type ConfigureHostCache_Task ConfigureHostCacheRequestType
+
+func init() {
+ t["ConfigureHostCache_Task"] = reflect.TypeOf((*ConfigureHostCache_Task)(nil)).Elem()
+}
+
+type ConfigureHostCache_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ConfigureLicenseSource ConfigureLicenseSourceRequestType
+
+func init() {
+ t["ConfigureLicenseSource"] = reflect.TypeOf((*ConfigureLicenseSource)(nil)).Elem()
+}
+
+type ConfigureLicenseSourceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr"`
+}
+
+func init() {
+ t["ConfigureLicenseSourceRequestType"] = reflect.TypeOf((*ConfigureLicenseSourceRequestType)(nil)).Elem()
+}
+
+type ConfigureLicenseSourceResponse struct {
+}
+
+type ConfigurePowerPolicy ConfigurePowerPolicyRequestType
+
+func init() {
+ t["ConfigurePowerPolicy"] = reflect.TypeOf((*ConfigurePowerPolicy)(nil)).Elem()
+}
+
+type ConfigurePowerPolicyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key int32 `xml:"key"`
+}
+
+func init() {
+ t["ConfigurePowerPolicyRequestType"] = reflect.TypeOf((*ConfigurePowerPolicyRequestType)(nil)).Elem()
+}
+
+type ConfigurePowerPolicyResponse struct {
+}
+
+type ConfigureStorageDrsForPodRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pod ManagedObjectReference `xml:"pod"`
+ Spec StorageDrsConfigSpec `xml:"spec"`
+ Modify bool `xml:"modify"`
+}
+
+func init() {
+ t["ConfigureStorageDrsForPodRequestType"] = reflect.TypeOf((*ConfigureStorageDrsForPodRequestType)(nil)).Elem()
+}
+
+type ConfigureStorageDrsForPod_Task ConfigureStorageDrsForPodRequestType
+
+func init() {
+ t["ConfigureStorageDrsForPod_Task"] = reflect.TypeOf((*ConfigureStorageDrsForPod_Task)(nil)).Elem()
+}
+
+type ConfigureStorageDrsForPod_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ConfigureVFlashResourceExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DevicePath []string `xml:"devicePath,omitempty"`
+}
+
+func init() {
+ t["ConfigureVFlashResourceExRequestType"] = reflect.TypeOf((*ConfigureVFlashResourceExRequestType)(nil)).Elem()
+}
+
+type ConfigureVFlashResourceEx_Task ConfigureVFlashResourceExRequestType
+
+func init() {
+ t["ConfigureVFlashResourceEx_Task"] = reflect.TypeOf((*ConfigureVFlashResourceEx_Task)(nil)).Elem()
+}
+
+type ConfigureVFlashResourceEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ConflictingConfiguration struct {
+ DvsFault
+
+ ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict"`
+}
+
+func init() {
+ t["ConflictingConfiguration"] = reflect.TypeOf((*ConflictingConfiguration)(nil)).Elem()
+}
+
+type ConflictingConfigurationConfig struct {
+ DynamicData
+
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ PropertyPath string `xml:"propertyPath"`
+}
+
+func init() {
+ t["ConflictingConfigurationConfig"] = reflect.TypeOf((*ConflictingConfigurationConfig)(nil)).Elem()
+}
+
+type ConflictingConfigurationFault ConflictingConfiguration
+
+func init() {
+ t["ConflictingConfigurationFault"] = reflect.TypeOf((*ConflictingConfigurationFault)(nil)).Elem()
+}
+
+type ConflictingDatastoreFound struct {
+ RuntimeFault
+
+ Name string `xml:"name"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["ConflictingDatastoreFound"] = reflect.TypeOf((*ConflictingDatastoreFound)(nil)).Elem()
+}
+
+type ConflictingDatastoreFoundFault ConflictingDatastoreFound
+
+func init() {
+ t["ConflictingDatastoreFoundFault"] = reflect.TypeOf((*ConflictingDatastoreFoundFault)(nil)).Elem()
+}
+
+type ConnectedIso struct {
+ OvfExport
+
+ Cdrom VirtualCdrom `xml:"cdrom"`
+ Filename string `xml:"filename"`
+}
+
+func init() {
+ t["ConnectedIso"] = reflect.TypeOf((*ConnectedIso)(nil)).Elem()
+}
+
+type ConnectedIsoFault ConnectedIso
+
+func init() {
+ t["ConnectedIsoFault"] = reflect.TypeOf((*ConnectedIsoFault)(nil)).Elem()
+}
+
+type ConsolidateVMDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ConsolidateVMDisksRequestType"] = reflect.TypeOf((*ConsolidateVMDisksRequestType)(nil)).Elem()
+}
+
+type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType
+
+func init() {
+ t["ConsolidateVMDisks_Task"] = reflect.TypeOf((*ConsolidateVMDisks_Task)(nil)).Elem()
+}
+
+type ConsolidateVMDisks_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ContinueRetrievePropertiesEx ContinueRetrievePropertiesExRequestType
+
+func init() {
+ t["ContinueRetrievePropertiesEx"] = reflect.TypeOf((*ContinueRetrievePropertiesEx)(nil)).Elem()
+}
+
+type ContinueRetrievePropertiesExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Token string `xml:"token"`
+}
+
+func init() {
+ t["ContinueRetrievePropertiesExRequestType"] = reflect.TypeOf((*ContinueRetrievePropertiesExRequestType)(nil)).Elem()
+}
+
+type ContinueRetrievePropertiesExResponse struct {
+ Returnval RetrieveResult `xml:"returnval"`
+}
+
+type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType
+
+func init() {
+ t["ConvertNamespacePathToUuidPath"] = reflect.TypeOf((*ConvertNamespacePathToUuidPath)(nil)).Elem()
+}
+
+type ConvertNamespacePathToUuidPathRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ NamespaceUrl string `xml:"namespaceUrl"`
+}
+
+func init() {
+ t["ConvertNamespacePathToUuidPathRequestType"] = reflect.TypeOf((*ConvertNamespacePathToUuidPathRequestType)(nil)).Elem()
+}
+
+type ConvertNamespacePathToUuidPathResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type CopyDatastoreFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SourceName string `xml:"sourceName"`
+ SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"`
+ DestinationName string `xml:"destinationName"`
+ DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty"`
+ Force *bool `xml:"force"`
+}
+
+func init() {
+ t["CopyDatastoreFileRequestType"] = reflect.TypeOf((*CopyDatastoreFileRequestType)(nil)).Elem()
+}
+
+type CopyDatastoreFile_Task CopyDatastoreFileRequestType
+
+func init() {
+ t["CopyDatastoreFile_Task"] = reflect.TypeOf((*CopyDatastoreFile_Task)(nil)).Elem()
+}
+
+type CopyDatastoreFile_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CopyVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SourceName string `xml:"sourceName"`
+ SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"`
+ DestName string `xml:"destName"`
+ DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty"`
+ DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr"`
+ Force *bool `xml:"force"`
+}
+
+func init() {
+ t["CopyVirtualDiskRequestType"] = reflect.TypeOf((*CopyVirtualDiskRequestType)(nil)).Elem()
+}
+
+type CopyVirtualDisk_Task CopyVirtualDiskRequestType
+
+func init() {
+ t["CopyVirtualDisk_Task"] = reflect.TypeOf((*CopyVirtualDisk_Task)(nil)).Elem()
+}
+
+type CopyVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CpuCompatibilityUnknown struct {
+ CpuIncompatible
+}
+
+func init() {
+ t["CpuCompatibilityUnknown"] = reflect.TypeOf((*CpuCompatibilityUnknown)(nil)).Elem()
+}
+
+type CpuCompatibilityUnknownFault CpuCompatibilityUnknown
+
+func init() {
+ t["CpuCompatibilityUnknownFault"] = reflect.TypeOf((*CpuCompatibilityUnknownFault)(nil)).Elem()
+}
+
+type CpuHotPlugNotSupported struct {
+ VmConfigFault
+}
+
+func init() {
+ t["CpuHotPlugNotSupported"] = reflect.TypeOf((*CpuHotPlugNotSupported)(nil)).Elem()
+}
+
+type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported
+
+func init() {
+ t["CpuHotPlugNotSupportedFault"] = reflect.TypeOf((*CpuHotPlugNotSupportedFault)(nil)).Elem()
+}
+
+type CpuIncompatible struct {
+ VirtualHardwareCompatibilityIssue
+
+ Level int32 `xml:"level"`
+ RegisterName string `xml:"registerName"`
+ RegisterBits string `xml:"registerBits,omitempty"`
+ DesiredBits string `xml:"desiredBits,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["CpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem()
+}
+
+type CpuIncompatible1ECX struct {
+ CpuIncompatible
+
+ Sse3 bool `xml:"sse3"`
+ Pclmulqdq *bool `xml:"pclmulqdq"`
+ Ssse3 bool `xml:"ssse3"`
+ Sse41 bool `xml:"sse41"`
+ Sse42 bool `xml:"sse42"`
+ Aes *bool `xml:"aes"`
+ Other bool `xml:"other"`
+ OtherOnly bool `xml:"otherOnly"`
+}
+
+func init() {
+ t["CpuIncompatible1ECX"] = reflect.TypeOf((*CpuIncompatible1ECX)(nil)).Elem()
+}
+
+type CpuIncompatible1ECXFault CpuIncompatible1ECX
+
+func init() {
+ t["CpuIncompatible1ECXFault"] = reflect.TypeOf((*CpuIncompatible1ECXFault)(nil)).Elem()
+}
+
+type CpuIncompatible81EDX struct {
+ CpuIncompatible
+
+ Nx bool `xml:"nx"`
+ Ffxsr bool `xml:"ffxsr"`
+ Rdtscp bool `xml:"rdtscp"`
+ Lm bool `xml:"lm"`
+ Other bool `xml:"other"`
+ OtherOnly bool `xml:"otherOnly"`
+}
+
+func init() {
+ t["CpuIncompatible81EDX"] = reflect.TypeOf((*CpuIncompatible81EDX)(nil)).Elem()
+}
+
+type CpuIncompatible81EDXFault CpuIncompatible81EDX
+
+func init() {
+ t["CpuIncompatible81EDXFault"] = reflect.TypeOf((*CpuIncompatible81EDXFault)(nil)).Elem()
+}
+
+type CpuIncompatibleFault BaseCpuIncompatible
+
+func init() {
+ t["CpuIncompatibleFault"] = reflect.TypeOf((*CpuIncompatibleFault)(nil)).Elem()
+}
+
+type CreateAlarm CreateAlarmRequestType
+
+func init() {
+ t["CreateAlarm"] = reflect.TypeOf((*CreateAlarm)(nil)).Elem()
+}
+
+type CreateAlarmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Spec BaseAlarmSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["CreateAlarmRequestType"] = reflect.TypeOf((*CreateAlarmRequestType)(nil)).Elem()
+}
+
+type CreateAlarmResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateChildVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config VirtualMachineConfigSpec `xml:"config"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["CreateChildVMRequestType"] = reflect.TypeOf((*CreateChildVMRequestType)(nil)).Elem()
+}
+
+type CreateChildVM_Task CreateChildVMRequestType
+
+func init() {
+ t["CreateChildVM_Task"] = reflect.TypeOf((*CreateChildVM_Task)(nil)).Elem()
+}
+
+type CreateChildVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateCluster CreateClusterRequestType
+
+func init() {
+ t["CreateCluster"] = reflect.TypeOf((*CreateCluster)(nil)).Elem()
+}
+
+type CreateClusterEx CreateClusterExRequestType
+
+func init() {
+ t["CreateClusterEx"] = reflect.TypeOf((*CreateClusterEx)(nil)).Elem()
+}
+
+type CreateClusterExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Spec ClusterConfigSpecEx `xml:"spec"`
+}
+
+func init() {
+ t["CreateClusterExRequestType"] = reflect.TypeOf((*CreateClusterExRequestType)(nil)).Elem()
+}
+
+type CreateClusterExResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateClusterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Spec ClusterConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateClusterRequestType"] = reflect.TypeOf((*CreateClusterRequestType)(nil)).Elem()
+}
+
+type CreateClusterResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateCollectorForEvents CreateCollectorForEventsRequestType
+
+func init() {
+ t["CreateCollectorForEvents"] = reflect.TypeOf((*CreateCollectorForEvents)(nil)).Elem()
+}
+
+type CreateCollectorForEventsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Filter EventFilterSpec `xml:"filter"`
+}
+
+func init() {
+ t["CreateCollectorForEventsRequestType"] = reflect.TypeOf((*CreateCollectorForEventsRequestType)(nil)).Elem()
+}
+
+type CreateCollectorForEventsResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateCollectorForTasks CreateCollectorForTasksRequestType
+
+func init() {
+ t["CreateCollectorForTasks"] = reflect.TypeOf((*CreateCollectorForTasks)(nil)).Elem()
+}
+
+type CreateCollectorForTasksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Filter TaskFilterSpec `xml:"filter"`
+}
+
+func init() {
+ t["CreateCollectorForTasksRequestType"] = reflect.TypeOf((*CreateCollectorForTasksRequestType)(nil)).Elem()
+}
+
+type CreateCollectorForTasksResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateContainerView CreateContainerViewRequestType
+
+func init() {
+ t["CreateContainerView"] = reflect.TypeOf((*CreateContainerView)(nil)).Elem()
+}
+
+type CreateContainerViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Container ManagedObjectReference `xml:"container"`
+ Type []string `xml:"type,omitempty"`
+ Recursive bool `xml:"recursive"`
+}
+
+func init() {
+ t["CreateContainerViewRequestType"] = reflect.TypeOf((*CreateContainerViewRequestType)(nil)).Elem()
+}
+
+type CreateContainerViewResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateCustomizationSpec CreateCustomizationSpecRequestType
+
+func init() {
+ t["CreateCustomizationSpec"] = reflect.TypeOf((*CreateCustomizationSpec)(nil)).Elem()
+}
+
+type CreateCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Item CustomizationSpecItem `xml:"item"`
+}
+
+func init() {
+ t["CreateCustomizationSpecRequestType"] = reflect.TypeOf((*CreateCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type CreateCustomizationSpecResponse struct {
+}
+
+type CreateDVPortgroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec DVPortgroupConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateDVPortgroupRequestType"] = reflect.TypeOf((*CreateDVPortgroupRequestType)(nil)).Elem()
+}
+
+type CreateDVPortgroup_Task CreateDVPortgroupRequestType
+
+func init() {
+ t["CreateDVPortgroup_Task"] = reflect.TypeOf((*CreateDVPortgroup_Task)(nil)).Elem()
+}
+
+type CreateDVPortgroup_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateDVSRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec DVSCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateDVSRequestType"] = reflect.TypeOf((*CreateDVSRequestType)(nil)).Elem()
+}
+
+type CreateDVS_Task CreateDVSRequestType
+
+func init() {
+ t["CreateDVS_Task"] = reflect.TypeOf((*CreateDVS_Task)(nil)).Elem()
+}
+
+type CreateDVS_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateDatacenter CreateDatacenterRequestType
+
+func init() {
+ t["CreateDatacenter"] = reflect.TypeOf((*CreateDatacenter)(nil)).Elem()
+}
+
+type CreateDatacenterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["CreateDatacenterRequestType"] = reflect.TypeOf((*CreateDatacenterRequestType)(nil)).Elem()
+}
+
+type CreateDatacenterResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateDefaultProfile CreateDefaultProfileRequestType
+
+func init() {
+ t["CreateDefaultProfile"] = reflect.TypeOf((*CreateDefaultProfile)(nil)).Elem()
+}
+
+type CreateDefaultProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProfileType string `xml:"profileType"`
+ ProfileTypeName string `xml:"profileTypeName,omitempty"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+}
+
+func init() {
+ t["CreateDefaultProfileRequestType"] = reflect.TypeOf((*CreateDefaultProfileRequestType)(nil)).Elem()
+}
+
+type CreateDefaultProfileResponse struct {
+ Returnval BaseApplyProfile `xml:"returnval,typeattr"`
+}
+
+type CreateDescriptor CreateDescriptorRequestType
+
+func init() {
+ t["CreateDescriptor"] = reflect.TypeOf((*CreateDescriptor)(nil)).Elem()
+}
+
+type CreateDescriptorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj ManagedObjectReference `xml:"obj"`
+ Cdp OvfCreateDescriptorParams `xml:"cdp"`
+}
+
+func init() {
+ t["CreateDescriptorRequestType"] = reflect.TypeOf((*CreateDescriptorRequestType)(nil)).Elem()
+}
+
+type CreateDescriptorResponse struct {
+ Returnval OvfCreateDescriptorResult `xml:"returnval"`
+}
+
+type CreateDiagnosticPartition CreateDiagnosticPartitionRequestType
+
+func init() {
+ t["CreateDiagnosticPartition"] = reflect.TypeOf((*CreateDiagnosticPartition)(nil)).Elem()
+}
+
+type CreateDiagnosticPartitionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostDiagnosticPartitionCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateDiagnosticPartitionRequestType"] = reflect.TypeOf((*CreateDiagnosticPartitionRequestType)(nil)).Elem()
+}
+
+type CreateDiagnosticPartitionResponse struct {
+}
+
+type CreateDirectory CreateDirectoryRequestType
+
+func init() {
+ t["CreateDirectory"] = reflect.TypeOf((*CreateDirectory)(nil)).Elem()
+}
+
+type CreateDirectoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DisplayName string `xml:"displayName,omitempty"`
+ Policy string `xml:"policy,omitempty"`
+}
+
+func init() {
+ t["CreateDirectoryRequestType"] = reflect.TypeOf((*CreateDirectoryRequestType)(nil)).Elem()
+}
+
+type CreateDirectoryResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type CreateDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VslmCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateDiskRequestType"] = reflect.TypeOf((*CreateDiskRequestType)(nil)).Elem()
+}
+
+type CreateDisk_Task CreateDiskRequestType
+
+func init() {
+ t["CreateDisk_Task"] = reflect.TypeOf((*CreateDisk_Task)(nil)).Elem()
+}
+
+type CreateDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateFilter CreateFilterRequestType
+
+func init() {
+ t["CreateFilter"] = reflect.TypeOf((*CreateFilter)(nil)).Elem()
+}
+
+type CreateFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec PropertyFilterSpec `xml:"spec"`
+ PartialUpdates bool `xml:"partialUpdates"`
+}
+
+func init() {
+ t["CreateFilterRequestType"] = reflect.TypeOf((*CreateFilterRequestType)(nil)).Elem()
+}
+
+type CreateFilterResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateFolder CreateFolderRequestType
+
+func init() {
+ t["CreateFolder"] = reflect.TypeOf((*CreateFolder)(nil)).Elem()
+}
+
+type CreateFolderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["CreateFolderRequestType"] = reflect.TypeOf((*CreateFolderRequestType)(nil)).Elem()
+}
+
+type CreateFolderResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateGroup CreateGroupRequestType
+
+func init() {
+ t["CreateGroup"] = reflect.TypeOf((*CreateGroup)(nil)).Elem()
+}
+
+type CreateGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Group BaseHostAccountSpec `xml:"group,typeattr"`
+}
+
+func init() {
+ t["CreateGroupRequestType"] = reflect.TypeOf((*CreateGroupRequestType)(nil)).Elem()
+}
+
+type CreateGroupResponse struct {
+}
+
+type CreateImportSpec CreateImportSpecRequestType
+
+func init() {
+ t["CreateImportSpec"] = reflect.TypeOf((*CreateImportSpec)(nil)).Elem()
+}
+
+type CreateImportSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ OvfDescriptor string `xml:"ovfDescriptor"`
+ ResourcePool ManagedObjectReference `xml:"resourcePool"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Cisp OvfCreateImportSpecParams `xml:"cisp"`
+}
+
+func init() {
+ t["CreateImportSpecRequestType"] = reflect.TypeOf((*CreateImportSpecRequestType)(nil)).Elem()
+}
+
+type CreateImportSpecResponse struct {
+ Returnval OvfCreateImportSpecResult `xml:"returnval"`
+}
+
+type CreateInventoryView CreateInventoryViewRequestType
+
+func init() {
+ t["CreateInventoryView"] = reflect.TypeOf((*CreateInventoryView)(nil)).Elem()
+}
+
+type CreateInventoryViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CreateInventoryViewRequestType"] = reflect.TypeOf((*CreateInventoryViewRequestType)(nil)).Elem()
+}
+
+type CreateInventoryViewResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateIpPool CreateIpPoolRequestType
+
+func init() {
+ t["CreateIpPool"] = reflect.TypeOf((*CreateIpPool)(nil)).Elem()
+}
+
+type CreateIpPoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ Pool IpPool `xml:"pool"`
+}
+
+func init() {
+ t["CreateIpPoolRequestType"] = reflect.TypeOf((*CreateIpPoolRequestType)(nil)).Elem()
+}
+
+type CreateIpPoolResponse struct {
+ Returnval int32 `xml:"returnval"`
+}
+
+type CreateListView CreateListViewRequestType
+
+func init() {
+ t["CreateListView"] = reflect.TypeOf((*CreateListView)(nil)).Elem()
+}
+
+type CreateListViewFromView CreateListViewFromViewRequestType
+
+func init() {
+ t["CreateListViewFromView"] = reflect.TypeOf((*CreateListViewFromView)(nil)).Elem()
+}
+
+type CreateListViewFromViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ View ManagedObjectReference `xml:"view"`
+}
+
+func init() {
+ t["CreateListViewFromViewRequestType"] = reflect.TypeOf((*CreateListViewFromViewRequestType)(nil)).Elem()
+}
+
+type CreateListViewFromViewResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateListViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj []ManagedObjectReference `xml:"obj,omitempty"`
+}
+
+func init() {
+ t["CreateListViewRequestType"] = reflect.TypeOf((*CreateListViewRequestType)(nil)).Elem()
+}
+
+type CreateListViewResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateLocalDatastore CreateLocalDatastoreRequestType
+
+func init() {
+ t["CreateLocalDatastore"] = reflect.TypeOf((*CreateLocalDatastore)(nil)).Elem()
+}
+
+type CreateLocalDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Path string `xml:"path"`
+}
+
+func init() {
+ t["CreateLocalDatastoreRequestType"] = reflect.TypeOf((*CreateLocalDatastoreRequestType)(nil)).Elem()
+}
+
+type CreateLocalDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateNasDatastore CreateNasDatastoreRequestType
+
+func init() {
+ t["CreateNasDatastore"] = reflect.TypeOf((*CreateNasDatastore)(nil)).Elem()
+}
+
+type CreateNasDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostNasVolumeSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateNasDatastoreRequestType"] = reflect.TypeOf((*CreateNasDatastoreRequestType)(nil)).Elem()
+}
+
+type CreateNasDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateObjectScheduledTask CreateObjectScheduledTaskRequestType
+
+func init() {
+ t["CreateObjectScheduledTask"] = reflect.TypeOf((*CreateObjectScheduledTask)(nil)).Elem()
+}
+
+type CreateObjectScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj ManagedObjectReference `xml:"obj"`
+ Spec BaseScheduledTaskSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["CreateObjectScheduledTaskRequestType"] = reflect.TypeOf((*CreateObjectScheduledTaskRequestType)(nil)).Elem()
+}
+
+type CreateObjectScheduledTaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreatePerfInterval CreatePerfIntervalRequestType
+
+func init() {
+ t["CreatePerfInterval"] = reflect.TypeOf((*CreatePerfInterval)(nil)).Elem()
+}
+
+type CreatePerfIntervalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IntervalId PerfInterval `xml:"intervalId"`
+}
+
+func init() {
+ t["CreatePerfIntervalRequestType"] = reflect.TypeOf((*CreatePerfIntervalRequestType)(nil)).Elem()
+}
+
+type CreatePerfIntervalResponse struct {
+}
+
+type CreateProfile CreateProfileRequestType
+
+func init() {
+ t["CreateProfile"] = reflect.TypeOf((*CreateProfile)(nil)).Elem()
+}
+
+type CreateProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr"`
+}
+
+func init() {
+ t["CreateProfileRequestType"] = reflect.TypeOf((*CreateProfileRequestType)(nil)).Elem()
+}
+
+type CreateProfileResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreatePropertyCollector CreatePropertyCollectorRequestType
+
+func init() {
+ t["CreatePropertyCollector"] = reflect.TypeOf((*CreatePropertyCollector)(nil)).Elem()
+}
+
+type CreatePropertyCollectorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CreatePropertyCollectorRequestType"] = reflect.TypeOf((*CreatePropertyCollectorRequestType)(nil)).Elem()
+}
+
+type CreatePropertyCollectorResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateRegistryKeyInGuest CreateRegistryKeyInGuestRequestType
+
+func init() {
+ t["CreateRegistryKeyInGuest"] = reflect.TypeOf((*CreateRegistryKeyInGuest)(nil)).Elem()
+}
+
+type CreateRegistryKeyInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ IsVolatile bool `xml:"isVolatile"`
+ ClassType string `xml:"classType,omitempty"`
+}
+
+func init() {
+ t["CreateRegistryKeyInGuestRequestType"] = reflect.TypeOf((*CreateRegistryKeyInGuestRequestType)(nil)).Elem()
+}
+
+type CreateRegistryKeyInGuestResponse struct {
+}
+
+type CreateResourcePool CreateResourcePoolRequestType
+
+func init() {
+ t["CreateResourcePool"] = reflect.TypeOf((*CreateResourcePool)(nil)).Elem()
+}
+
+type CreateResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Spec ResourceConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateResourcePoolRequestType"] = reflect.TypeOf((*CreateResourcePoolRequestType)(nil)).Elem()
+}
+
+type CreateResourcePoolResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateScheduledTask CreateScheduledTaskRequestType
+
+func init() {
+ t["CreateScheduledTask"] = reflect.TypeOf((*CreateScheduledTask)(nil)).Elem()
+}
+
+type CreateScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Spec BaseScheduledTaskSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["CreateScheduledTaskRequestType"] = reflect.TypeOf((*CreateScheduledTaskRequestType)(nil)).Elem()
+}
+
+type CreateScheduledTaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateScreenshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CreateScreenshotRequestType"] = reflect.TypeOf((*CreateScreenshotRequestType)(nil)).Elem()
+}
+
+type CreateScreenshot_Task CreateScreenshotRequestType
+
+func init() {
+ t["CreateScreenshot_Task"] = reflect.TypeOf((*CreateScreenshot_Task)(nil)).Elem()
+}
+
+type CreateScreenshot_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateSecondaryVMExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Spec *FaultToleranceConfigSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["CreateSecondaryVMExRequestType"] = reflect.TypeOf((*CreateSecondaryVMExRequestType)(nil)).Elem()
+}
+
+type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType
+
+func init() {
+ t["CreateSecondaryVMEx_Task"] = reflect.TypeOf((*CreateSecondaryVMEx_Task)(nil)).Elem()
+}
+
+type CreateSecondaryVMEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateSecondaryVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["CreateSecondaryVMRequestType"] = reflect.TypeOf((*CreateSecondaryVMRequestType)(nil)).Elem()
+}
+
+type CreateSecondaryVM_Task CreateSecondaryVMRequestType
+
+func init() {
+ t["CreateSecondaryVM_Task"] = reflect.TypeOf((*CreateSecondaryVM_Task)(nil)).Elem()
+}
+
+type CreateSecondaryVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateSnapshotExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Description string `xml:"description,omitempty"`
+ Memory bool `xml:"memory"`
+ QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["CreateSnapshotExRequestType"] = reflect.TypeOf((*CreateSnapshotExRequestType)(nil)).Elem()
+}
+
+type CreateSnapshotEx_Task CreateSnapshotExRequestType
+
+func init() {
+ t["CreateSnapshotEx_Task"] = reflect.TypeOf((*CreateSnapshotEx_Task)(nil)).Elem()
+}
+
+type CreateSnapshotEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Description string `xml:"description,omitempty"`
+ Memory bool `xml:"memory"`
+ Quiesce bool `xml:"quiesce"`
+}
+
+func init() {
+ t["CreateSnapshotRequestType"] = reflect.TypeOf((*CreateSnapshotRequestType)(nil)).Elem()
+}
+
+type CreateSnapshot_Task CreateSnapshotRequestType
+
+func init() {
+ t["CreateSnapshot_Task"] = reflect.TypeOf((*CreateSnapshot_Task)(nil)).Elem()
+}
+
+type CreateSnapshot_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateStoragePod CreateStoragePodRequestType
+
+func init() {
+ t["CreateStoragePod"] = reflect.TypeOf((*CreateStoragePod)(nil)).Elem()
+}
+
+type CreateStoragePodRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["CreateStoragePodRequestType"] = reflect.TypeOf((*CreateStoragePodRequestType)(nil)).Elem()
+}
+
+type CreateStoragePodResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateTask CreateTaskRequestType
+
+func init() {
+ t["CreateTask"] = reflect.TypeOf((*CreateTask)(nil)).Elem()
+}
+
+type CreateTaskAction struct {
+ Action
+
+ TaskTypeId string `xml:"taskTypeId"`
+ Cancelable bool `xml:"cancelable"`
+}
+
+func init() {
+ t["CreateTaskAction"] = reflect.TypeOf((*CreateTaskAction)(nil)).Elem()
+}
+
+type CreateTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj ManagedObjectReference `xml:"obj"`
+ TaskTypeId string `xml:"taskTypeId"`
+ InitiatedBy string `xml:"initiatedBy,omitempty"`
+ Cancelable bool `xml:"cancelable"`
+ ParentTaskKey string `xml:"parentTaskKey,omitempty"`
+ ActivationId string `xml:"activationId,omitempty"`
+}
+
+func init() {
+ t["CreateTaskRequestType"] = reflect.TypeOf((*CreateTaskRequestType)(nil)).Elem()
+}
+
+type CreateTaskResponse struct {
+ Returnval TaskInfo `xml:"returnval"`
+}
+
+type CreateTemporaryDirectoryInGuest CreateTemporaryDirectoryInGuestRequestType
+
+func init() {
+ t["CreateTemporaryDirectoryInGuest"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuest)(nil)).Elem()
+}
+
+type CreateTemporaryDirectoryInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Prefix string `xml:"prefix"`
+ Suffix string `xml:"suffix"`
+ DirectoryPath string `xml:"directoryPath,omitempty"`
+}
+
+func init() {
+ t["CreateTemporaryDirectoryInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuestRequestType)(nil)).Elem()
+}
+
+type CreateTemporaryDirectoryInGuestResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type CreateTemporaryFileInGuest CreateTemporaryFileInGuestRequestType
+
+func init() {
+ t["CreateTemporaryFileInGuest"] = reflect.TypeOf((*CreateTemporaryFileInGuest)(nil)).Elem()
+}
+
+type CreateTemporaryFileInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Prefix string `xml:"prefix"`
+ Suffix string `xml:"suffix"`
+ DirectoryPath string `xml:"directoryPath,omitempty"`
+}
+
+func init() {
+ t["CreateTemporaryFileInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryFileInGuestRequestType)(nil)).Elem()
+}
+
+type CreateTemporaryFileInGuestResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type CreateUser CreateUserRequestType
+
+func init() {
+ t["CreateUser"] = reflect.TypeOf((*CreateUser)(nil)).Elem()
+}
+
+type CreateUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ User BaseHostAccountSpec `xml:"user,typeattr"`
+}
+
+func init() {
+ t["CreateUserRequestType"] = reflect.TypeOf((*CreateUserRequestType)(nil)).Elem()
+}
+
+type CreateUserResponse struct {
+}
+
+type CreateVApp CreateVAppRequestType
+
+func init() {
+ t["CreateVApp"] = reflect.TypeOf((*CreateVApp)(nil)).Elem()
+}
+
+type CreateVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ ResSpec ResourceConfigSpec `xml:"resSpec"`
+ ConfigSpec VAppConfigSpec `xml:"configSpec"`
+ VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"`
+}
+
+func init() {
+ t["CreateVAppRequestType"] = reflect.TypeOf((*CreateVAppRequestType)(nil)).Elem()
+}
+
+type CreateVAppResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config VirtualMachineConfigSpec `xml:"config"`
+ Pool ManagedObjectReference `xml:"pool"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["CreateVMRequestType"] = reflect.TypeOf((*CreateVMRequestType)(nil)).Elem()
+}
+
+type CreateVM_Task CreateVMRequestType
+
+func init() {
+ t["CreateVM_Task"] = reflect.TypeOf((*CreateVM_Task)(nil)).Elem()
+}
+
+type CreateVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Spec BaseVirtualDiskSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["CreateVirtualDiskRequestType"] = reflect.TypeOf((*CreateVirtualDiskRequestType)(nil)).Elem()
+}
+
+type CreateVirtualDisk_Task CreateVirtualDiskRequestType
+
+func init() {
+ t["CreateVirtualDisk_Task"] = reflect.TypeOf((*CreateVirtualDisk_Task)(nil)).Elem()
+}
+
+type CreateVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateVmfsDatastore CreateVmfsDatastoreRequestType
+
+func init() {
+ t["CreateVmfsDatastore"] = reflect.TypeOf((*CreateVmfsDatastore)(nil)).Elem()
+}
+
+type CreateVmfsDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VmfsDatastoreCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateVmfsDatastoreRequestType"] = reflect.TypeOf((*CreateVmfsDatastoreRequestType)(nil)).Elem()
+}
+
+type CreateVmfsDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CreateVvolDatastore CreateVvolDatastoreRequestType
+
+func init() {
+ t["CreateVvolDatastore"] = reflect.TypeOf((*CreateVvolDatastore)(nil)).Elem()
+}
+
+type CreateVvolDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec"`
+}
+
+func init() {
+ t["CreateVvolDatastoreRequestType"] = reflect.TypeOf((*CreateVvolDatastoreRequestType)(nil)).Elem()
+}
+
+type CreateVvolDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type CryptoKeyId struct {
+ DynamicData
+
+ KeyId string `xml:"keyId"`
+ ProviderId *KeyProviderId `xml:"providerId,omitempty"`
+}
+
+func init() {
+ t["CryptoKeyId"] = reflect.TypeOf((*CryptoKeyId)(nil)).Elem()
+}
+
+type CryptoKeyPlain struct {
+ DynamicData
+
+ KeyId CryptoKeyId `xml:"keyId"`
+ Algorithm string `xml:"algorithm"`
+ KeyData string `xml:"keyData"`
+}
+
+func init() {
+ t["CryptoKeyPlain"] = reflect.TypeOf((*CryptoKeyPlain)(nil)).Elem()
+}
+
+type CryptoKeyResult struct {
+ DynamicData
+
+ KeyId CryptoKeyId `xml:"keyId"`
+ Success bool `xml:"success"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem()
+}
+
+type CryptoManagerKmipCertificateInfo struct {
+ DynamicData
+
+ Subject string `xml:"subject"`
+ Issuer string `xml:"issuer"`
+ SerialNumber string `xml:"serialNumber"`
+ NotBefore time.Time `xml:"notBefore"`
+ NotAfter time.Time `xml:"notAfter"`
+ Fingerprint string `xml:"fingerprint"`
+ CheckTime time.Time `xml:"checkTime"`
+ SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty"`
+ SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty"`
+}
+
+func init() {
+ t["CryptoManagerKmipCertificateInfo"] = reflect.TypeOf((*CryptoManagerKmipCertificateInfo)(nil)).Elem()
+}
+
+type CryptoManagerKmipClusterStatus struct {
+ DynamicData
+
+ ClusterId KeyProviderId `xml:"clusterId"`
+ Servers []CryptoManagerKmipServerStatus `xml:"servers"`
+ ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty"`
+}
+
+func init() {
+ t["CryptoManagerKmipClusterStatus"] = reflect.TypeOf((*CryptoManagerKmipClusterStatus)(nil)).Elem()
+}
+
+type CryptoManagerKmipServerCertInfo struct {
+ DynamicData
+
+ Certificate string `xml:"certificate"`
+ CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty"`
+ ClientTrustServer *bool `xml:"clientTrustServer"`
+}
+
+func init() {
+ t["CryptoManagerKmipServerCertInfo"] = reflect.TypeOf((*CryptoManagerKmipServerCertInfo)(nil)).Elem()
+}
+
+type CryptoManagerKmipServerStatus struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Status ManagedEntityStatus `xml:"status"`
+ ConnectionStatus string `xml:"connectionStatus"`
+ CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty"`
+ ClientTrustServer *bool `xml:"clientTrustServer"`
+ ServerTrustClient *bool `xml:"serverTrustClient"`
+}
+
+func init() {
+ t["CryptoManagerKmipServerStatus"] = reflect.TypeOf((*CryptoManagerKmipServerStatus)(nil)).Elem()
+}
+
+type CryptoSpec struct {
+ DynamicData
+}
+
+func init() {
+ t["CryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem()
+}
+
+type CryptoSpecDecrypt struct {
+ CryptoSpec
+}
+
+func init() {
+ t["CryptoSpecDecrypt"] = reflect.TypeOf((*CryptoSpecDecrypt)(nil)).Elem()
+}
+
+type CryptoSpecDeepRecrypt struct {
+ CryptoSpec
+
+ NewKeyId CryptoKeyId `xml:"newKeyId"`
+}
+
+func init() {
+ t["CryptoSpecDeepRecrypt"] = reflect.TypeOf((*CryptoSpecDeepRecrypt)(nil)).Elem()
+}
+
+type CryptoSpecEncrypt struct {
+ CryptoSpec
+
+ CryptoKeyId CryptoKeyId `xml:"cryptoKeyId"`
+}
+
+func init() {
+ t["CryptoSpecEncrypt"] = reflect.TypeOf((*CryptoSpecEncrypt)(nil)).Elem()
+}
+
+type CryptoSpecNoOp struct {
+ CryptoSpec
+}
+
+func init() {
+ t["CryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem()
+}
+
+type CryptoSpecRegister struct {
+ CryptoSpecNoOp
+
+ CryptoKeyId CryptoKeyId `xml:"cryptoKeyId"`
+}
+
+func init() {
+ t["CryptoSpecRegister"] = reflect.TypeOf((*CryptoSpecRegister)(nil)).Elem()
+}
+
+type CryptoSpecShallowRecrypt struct {
+ CryptoSpec
+
+ NewKeyId CryptoKeyId `xml:"newKeyId"`
+}
+
+func init() {
+ t["CryptoSpecShallowRecrypt"] = reflect.TypeOf((*CryptoSpecShallowRecrypt)(nil)).Elem()
+}
+
+type CurrentTime CurrentTimeRequestType
+
+func init() {
+ t["CurrentTime"] = reflect.TypeOf((*CurrentTime)(nil)).Elem()
+}
+
+type CurrentTimeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["CurrentTimeRequestType"] = reflect.TypeOf((*CurrentTimeRequestType)(nil)).Elem()
+}
+
+type CurrentTimeResponse struct {
+ Returnval time.Time `xml:"returnval"`
+}
+
+type CustomFieldDef struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ Name string `xml:"name"`
+ Type string `xml:"type"`
+ ManagedObjectType string `xml:"managedObjectType,omitempty"`
+ FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty"`
+ FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty"`
+}
+
+func init() {
+ t["CustomFieldDef"] = reflect.TypeOf((*CustomFieldDef)(nil)).Elem()
+}
+
+type CustomFieldDefAddedEvent struct {
+ CustomFieldDefEvent
+}
+
+func init() {
+ t["CustomFieldDefAddedEvent"] = reflect.TypeOf((*CustomFieldDefAddedEvent)(nil)).Elem()
+}
+
+type CustomFieldDefEvent struct {
+ CustomFieldEvent
+
+ FieldKey int32 `xml:"fieldKey"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["CustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem()
+}
+
+type CustomFieldDefRemovedEvent struct {
+ CustomFieldDefEvent
+}
+
+func init() {
+ t["CustomFieldDefRemovedEvent"] = reflect.TypeOf((*CustomFieldDefRemovedEvent)(nil)).Elem()
+}
+
+type CustomFieldDefRenamedEvent struct {
+ CustomFieldDefEvent
+
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["CustomFieldDefRenamedEvent"] = reflect.TypeOf((*CustomFieldDefRenamedEvent)(nil)).Elem()
+}
+
+type CustomFieldEvent struct {
+ Event
+}
+
+func init() {
+ t["CustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem()
+}
+
+type CustomFieldStringValue struct {
+ CustomFieldValue
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["CustomFieldStringValue"] = reflect.TypeOf((*CustomFieldStringValue)(nil)).Elem()
+}
+
+type CustomFieldValue struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+}
+
+func init() {
+ t["CustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem()
+}
+
+type CustomFieldValueChangedEvent struct {
+ CustomFieldEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ FieldKey int32 `xml:"fieldKey"`
+ Name string `xml:"name"`
+ Value string `xml:"value"`
+ PrevState string `xml:"prevState,omitempty"`
+}
+
+func init() {
+ t["CustomFieldValueChangedEvent"] = reflect.TypeOf((*CustomFieldValueChangedEvent)(nil)).Elem()
+}
+
+type CustomizationAdapterMapping struct {
+ DynamicData
+
+ MacAddress string `xml:"macAddress,omitempty"`
+ Adapter CustomizationIPSettings `xml:"adapter"`
+}
+
+func init() {
+ t["CustomizationAdapterMapping"] = reflect.TypeOf((*CustomizationAdapterMapping)(nil)).Elem()
+}
+
+type CustomizationAutoIpV6Generator struct {
+ CustomizationIpV6Generator
+}
+
+func init() {
+ t["CustomizationAutoIpV6Generator"] = reflect.TypeOf((*CustomizationAutoIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationCustomIpGenerator struct {
+ CustomizationIpGenerator
+
+ Argument string `xml:"argument,omitempty"`
+}
+
+func init() {
+ t["CustomizationCustomIpGenerator"] = reflect.TypeOf((*CustomizationCustomIpGenerator)(nil)).Elem()
+}
+
+type CustomizationCustomIpV6Generator struct {
+ CustomizationIpV6Generator
+
+ Argument string `xml:"argument,omitempty"`
+}
+
+func init() {
+ t["CustomizationCustomIpV6Generator"] = reflect.TypeOf((*CustomizationCustomIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationCustomName struct {
+ CustomizationName
+
+ Argument string `xml:"argument,omitempty"`
+}
+
+func init() {
+ t["CustomizationCustomName"] = reflect.TypeOf((*CustomizationCustomName)(nil)).Elem()
+}
+
+type CustomizationDhcpIpGenerator struct {
+ CustomizationIpGenerator
+}
+
+func init() {
+ t["CustomizationDhcpIpGenerator"] = reflect.TypeOf((*CustomizationDhcpIpGenerator)(nil)).Elem()
+}
+
+type CustomizationDhcpIpV6Generator struct {
+ CustomizationIpV6Generator
+}
+
+func init() {
+ t["CustomizationDhcpIpV6Generator"] = reflect.TypeOf((*CustomizationDhcpIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationEvent struct {
+ VmEvent
+
+ LogLocation string `xml:"logLocation,omitempty"`
+}
+
+func init() {
+ t["CustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem()
+}
+
+type CustomizationFailed struct {
+ CustomizationEvent
+}
+
+func init() {
+ t["CustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem()
+}
+
+type CustomizationFault struct {
+ VimFault
+}
+
+func init() {
+ t["CustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem()
+}
+
+type CustomizationFaultFault BaseCustomizationFault
+
+func init() {
+ t["CustomizationFaultFault"] = reflect.TypeOf((*CustomizationFaultFault)(nil)).Elem()
+}
+
+type CustomizationFixedIp struct {
+ CustomizationIpGenerator
+
+ IpAddress string `xml:"ipAddress"`
+}
+
+func init() {
+ t["CustomizationFixedIp"] = reflect.TypeOf((*CustomizationFixedIp)(nil)).Elem()
+}
+
+type CustomizationFixedIpV6 struct {
+ CustomizationIpV6Generator
+
+ IpAddress string `xml:"ipAddress"`
+ SubnetMask int32 `xml:"subnetMask"`
+}
+
+func init() {
+ t["CustomizationFixedIpV6"] = reflect.TypeOf((*CustomizationFixedIpV6)(nil)).Elem()
+}
+
+type CustomizationFixedName struct {
+ CustomizationName
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["CustomizationFixedName"] = reflect.TypeOf((*CustomizationFixedName)(nil)).Elem()
+}
+
+type CustomizationGlobalIPSettings struct {
+ DynamicData
+
+ DnsSuffixList []string `xml:"dnsSuffixList,omitempty"`
+ DnsServerList []string `xml:"dnsServerList,omitempty"`
+}
+
+func init() {
+ t["CustomizationGlobalIPSettings"] = reflect.TypeOf((*CustomizationGlobalIPSettings)(nil)).Elem()
+}
+
+type CustomizationGuiRunOnce struct {
+ DynamicData
+
+ CommandList []string `xml:"commandList"`
+}
+
+func init() {
+ t["CustomizationGuiRunOnce"] = reflect.TypeOf((*CustomizationGuiRunOnce)(nil)).Elem()
+}
+
+type CustomizationGuiUnattended struct {
+ DynamicData
+
+ Password *CustomizationPassword `xml:"password,omitempty"`
+ TimeZone int32 `xml:"timeZone"`
+ AutoLogon bool `xml:"autoLogon"`
+ AutoLogonCount int32 `xml:"autoLogonCount"`
+}
+
+func init() {
+ t["CustomizationGuiUnattended"] = reflect.TypeOf((*CustomizationGuiUnattended)(nil)).Elem()
+}
+
+type CustomizationIPSettings struct {
+ DynamicData
+
+ Ip BaseCustomizationIpGenerator `xml:"ip,typeattr"`
+ SubnetMask string `xml:"subnetMask,omitempty"`
+ Gateway []string `xml:"gateway,omitempty"`
+ IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty"`
+ DnsServerList []string `xml:"dnsServerList,omitempty"`
+ DnsDomain string `xml:"dnsDomain,omitempty"`
+ PrimaryWINS string `xml:"primaryWINS,omitempty"`
+ SecondaryWINS string `xml:"secondaryWINS,omitempty"`
+ NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty"`
+}
+
+func init() {
+ t["CustomizationIPSettings"] = reflect.TypeOf((*CustomizationIPSettings)(nil)).Elem()
+}
+
+type CustomizationIPSettingsIpV6AddressSpec struct {
+ DynamicData
+
+ Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr"`
+ Gateway []string `xml:"gateway,omitempty"`
+}
+
+func init() {
+ t["CustomizationIPSettingsIpV6AddressSpec"] = reflect.TypeOf((*CustomizationIPSettingsIpV6AddressSpec)(nil)).Elem()
+}
+
+type CustomizationIdentification struct {
+ DynamicData
+
+ JoinWorkgroup string `xml:"joinWorkgroup,omitempty"`
+ JoinDomain string `xml:"joinDomain,omitempty"`
+ DomainAdmin string `xml:"domainAdmin,omitempty"`
+ DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty"`
+}
+
+func init() {
+ t["CustomizationIdentification"] = reflect.TypeOf((*CustomizationIdentification)(nil)).Elem()
+}
+
+type CustomizationIdentitySettings struct {
+ DynamicData
+}
+
+func init() {
+ t["CustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem()
+}
+
+type CustomizationIpGenerator struct {
+ DynamicData
+}
+
+func init() {
+ t["CustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem()
+}
+
+type CustomizationIpV6Generator struct {
+ DynamicData
+}
+
+func init() {
+ t["CustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationLicenseFilePrintData struct {
+ DynamicData
+
+ AutoMode CustomizationLicenseDataMode `xml:"autoMode"`
+ AutoUsers int32 `xml:"autoUsers,omitempty"`
+}
+
+func init() {
+ t["CustomizationLicenseFilePrintData"] = reflect.TypeOf((*CustomizationLicenseFilePrintData)(nil)).Elem()
+}
+
+type CustomizationLinuxIdentityFailed struct {
+ CustomizationFailed
+}
+
+func init() {
+ t["CustomizationLinuxIdentityFailed"] = reflect.TypeOf((*CustomizationLinuxIdentityFailed)(nil)).Elem()
+}
+
+type CustomizationLinuxOptions struct {
+ CustomizationOptions
+}
+
+func init() {
+ t["CustomizationLinuxOptions"] = reflect.TypeOf((*CustomizationLinuxOptions)(nil)).Elem()
+}
+
+type CustomizationLinuxPrep struct {
+ CustomizationIdentitySettings
+
+ HostName BaseCustomizationName `xml:"hostName,typeattr"`
+ Domain string `xml:"domain"`
+ TimeZone string `xml:"timeZone,omitempty"`
+ HwClockUTC *bool `xml:"hwClockUTC"`
+}
+
+func init() {
+ t["CustomizationLinuxPrep"] = reflect.TypeOf((*CustomizationLinuxPrep)(nil)).Elem()
+}
+
+type CustomizationName struct {
+ DynamicData
+}
+
+func init() {
+ t["CustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem()
+}
+
+type CustomizationNetworkSetupFailed struct {
+ CustomizationFailed
+}
+
+func init() {
+ t["CustomizationNetworkSetupFailed"] = reflect.TypeOf((*CustomizationNetworkSetupFailed)(nil)).Elem()
+}
+
+type CustomizationOptions struct {
+ DynamicData
+}
+
+func init() {
+ t["CustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem()
+}
+
+type CustomizationPassword struct {
+ DynamicData
+
+ Value string `xml:"value"`
+ PlainText bool `xml:"plainText"`
+}
+
+func init() {
+ t["CustomizationPassword"] = reflect.TypeOf((*CustomizationPassword)(nil)).Elem()
+}
+
+type CustomizationPending struct {
+ CustomizationFault
+}
+
+func init() {
+ t["CustomizationPending"] = reflect.TypeOf((*CustomizationPending)(nil)).Elem()
+}
+
+type CustomizationPendingFault CustomizationPending
+
+func init() {
+ t["CustomizationPendingFault"] = reflect.TypeOf((*CustomizationPendingFault)(nil)).Elem()
+}
+
+type CustomizationPrefixName struct {
+ CustomizationName
+
+ Base string `xml:"base"`
+}
+
+func init() {
+ t["CustomizationPrefixName"] = reflect.TypeOf((*CustomizationPrefixName)(nil)).Elem()
+}
+
+type CustomizationSpec struct {
+ DynamicData
+
+ Options BaseCustomizationOptions `xml:"options,omitempty,typeattr"`
+ Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr"`
+ GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings"`
+ NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty"`
+ EncryptionKey []byte `xml:"encryptionKey,omitempty"`
+}
+
+func init() {
+ t["CustomizationSpec"] = reflect.TypeOf((*CustomizationSpec)(nil)).Elem()
+}
+
+type CustomizationSpecInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Description string `xml:"description"`
+ Type string `xml:"type"`
+ ChangeVersion string `xml:"changeVersion,omitempty"`
+ LastUpdateTime *time.Time `xml:"lastUpdateTime"`
+}
+
+func init() {
+ t["CustomizationSpecInfo"] = reflect.TypeOf((*CustomizationSpecInfo)(nil)).Elem()
+}
+
+type CustomizationSpecItem struct {
+ DynamicData
+
+ Info CustomizationSpecInfo `xml:"info"`
+ Spec CustomizationSpec `xml:"spec"`
+}
+
+func init() {
+ t["CustomizationSpecItem"] = reflect.TypeOf((*CustomizationSpecItem)(nil)).Elem()
+}
+
+type CustomizationSpecItemToXml CustomizationSpecItemToXmlRequestType
+
+func init() {
+ t["CustomizationSpecItemToXml"] = reflect.TypeOf((*CustomizationSpecItemToXml)(nil)).Elem()
+}
+
+type CustomizationSpecItemToXmlRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Item CustomizationSpecItem `xml:"item"`
+}
+
+func init() {
+ t["CustomizationSpecItemToXmlRequestType"] = reflect.TypeOf((*CustomizationSpecItemToXmlRequestType)(nil)).Elem()
+}
+
+type CustomizationSpecItemToXmlResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type CustomizationStartedEvent struct {
+ CustomizationEvent
+}
+
+func init() {
+ t["CustomizationStartedEvent"] = reflect.TypeOf((*CustomizationStartedEvent)(nil)).Elem()
+}
+
+type CustomizationStatelessIpV6Generator struct {
+ CustomizationIpV6Generator
+}
+
+func init() {
+ t["CustomizationStatelessIpV6Generator"] = reflect.TypeOf((*CustomizationStatelessIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationSucceeded struct {
+ CustomizationEvent
+}
+
+func init() {
+ t["CustomizationSucceeded"] = reflect.TypeOf((*CustomizationSucceeded)(nil)).Elem()
+}
+
+type CustomizationSysprep struct {
+ CustomizationIdentitySettings
+
+ GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended"`
+ UserData CustomizationUserData `xml:"userData"`
+ GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty"`
+ Identification CustomizationIdentification `xml:"identification"`
+ LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty"`
+}
+
+func init() {
+ t["CustomizationSysprep"] = reflect.TypeOf((*CustomizationSysprep)(nil)).Elem()
+}
+
+type CustomizationSysprepFailed struct {
+ CustomizationFailed
+
+ SysprepVersion string `xml:"sysprepVersion"`
+ SystemVersion string `xml:"systemVersion"`
+}
+
+func init() {
+ t["CustomizationSysprepFailed"] = reflect.TypeOf((*CustomizationSysprepFailed)(nil)).Elem()
+}
+
+type CustomizationSysprepText struct {
+ CustomizationIdentitySettings
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["CustomizationSysprepText"] = reflect.TypeOf((*CustomizationSysprepText)(nil)).Elem()
+}
+
+type CustomizationUnknownFailure struct {
+ CustomizationFailed
+}
+
+func init() {
+ t["CustomizationUnknownFailure"] = reflect.TypeOf((*CustomizationUnknownFailure)(nil)).Elem()
+}
+
+type CustomizationUnknownIpGenerator struct {
+ CustomizationIpGenerator
+}
+
+func init() {
+ t["CustomizationUnknownIpGenerator"] = reflect.TypeOf((*CustomizationUnknownIpGenerator)(nil)).Elem()
+}
+
+type CustomizationUnknownIpV6Generator struct {
+ CustomizationIpV6Generator
+}
+
+func init() {
+ t["CustomizationUnknownIpV6Generator"] = reflect.TypeOf((*CustomizationUnknownIpV6Generator)(nil)).Elem()
+}
+
+type CustomizationUnknownName struct {
+ CustomizationName
+}
+
+func init() {
+ t["CustomizationUnknownName"] = reflect.TypeOf((*CustomizationUnknownName)(nil)).Elem()
+}
+
+type CustomizationUserData struct {
+ DynamicData
+
+ FullName string `xml:"fullName"`
+ OrgName string `xml:"orgName"`
+ ComputerName BaseCustomizationName `xml:"computerName,typeattr"`
+ ProductId string `xml:"productId"`
+}
+
+func init() {
+ t["CustomizationUserData"] = reflect.TypeOf((*CustomizationUserData)(nil)).Elem()
+}
+
+type CustomizationVirtualMachineName struct {
+ CustomizationName
+}
+
+func init() {
+ t["CustomizationVirtualMachineName"] = reflect.TypeOf((*CustomizationVirtualMachineName)(nil)).Elem()
+}
+
+type CustomizationWinOptions struct {
+ CustomizationOptions
+
+ ChangeSID bool `xml:"changeSID"`
+ DeleteAccounts bool `xml:"deleteAccounts"`
+ Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty"`
+}
+
+func init() {
+ t["CustomizationWinOptions"] = reflect.TypeOf((*CustomizationWinOptions)(nil)).Elem()
+}
+
+type CustomizeVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec CustomizationSpec `xml:"spec"`
+}
+
+func init() {
+ t["CustomizeVMRequestType"] = reflect.TypeOf((*CustomizeVMRequestType)(nil)).Elem()
+}
+
+type CustomizeVM_Task CustomizeVMRequestType
+
+func init() {
+ t["CustomizeVM_Task"] = reflect.TypeOf((*CustomizeVM_Task)(nil)).Elem()
+}
+
+type CustomizeVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DVPortConfigInfo struct {
+ DynamicData
+
+ Name string `xml:"name,omitempty"`
+ Scope []ManagedObjectReference `xml:"scope,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr"`
+ ConfigVersion string `xml:"configVersion"`
+}
+
+func init() {
+ t["DVPortConfigInfo"] = reflect.TypeOf((*DVPortConfigInfo)(nil)).Elem()
+}
+
+type DVPortConfigSpec struct {
+ DynamicData
+
+ Operation string `xml:"operation"`
+ Key string `xml:"key,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Scope []ManagedObjectReference `xml:"scope,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr"`
+ ConfigVersion string `xml:"configVersion,omitempty"`
+}
+
+func init() {
+ t["DVPortConfigSpec"] = reflect.TypeOf((*DVPortConfigSpec)(nil)).Elem()
+}
+
+type DVPortNotSupported struct {
+ DeviceBackingNotSupported
+}
+
+func init() {
+ t["DVPortNotSupported"] = reflect.TypeOf((*DVPortNotSupported)(nil)).Elem()
+}
+
+type DVPortNotSupportedFault DVPortNotSupported
+
+func init() {
+ t["DVPortNotSupportedFault"] = reflect.TypeOf((*DVPortNotSupportedFault)(nil)).Elem()
+}
+
+type DVPortSetting struct {
+ DynamicData
+
+ Blocked *BoolPolicy `xml:"blocked,omitempty"`
+ VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty"`
+ InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty"`
+ OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty"`
+ VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty"`
+ NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty"`
+ FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty"`
+}
+
+func init() {
+ t["DVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem()
+}
+
+type DVPortState struct {
+ DynamicData
+
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+ Stats DistributedVirtualSwitchPortStatistics `xml:"stats"`
+ VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty"`
+}
+
+func init() {
+ t["DVPortState"] = reflect.TypeOf((*DVPortState)(nil)).Elem()
+}
+
+type DVPortStatus struct {
+ DynamicData
+
+ LinkUp bool `xml:"linkUp"`
+ Blocked bool `xml:"blocked"`
+ VlanIds []NumericRange `xml:"vlanIds,omitempty"`
+ TrunkingMode *bool `xml:"trunkingMode"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ LinkPeer string `xml:"linkPeer,omitempty"`
+ MacAddress string `xml:"macAddress,omitempty"`
+ StatusDetail string `xml:"statusDetail,omitempty"`
+ VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active"`
+ VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty"`
+ VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"`
+ VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
+}
+
+func init() {
+ t["DVPortStatus"] = reflect.TypeOf((*DVPortStatus)(nil)).Elem()
+}
+
+type DVPortgroupConfigInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ NumPorts int32 `xml:"numPorts"`
+ DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"`
+ DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"`
+ Description string `xml:"description,omitempty"`
+ Type string `xml:"type"`
+ Policy BaseDVPortgroupPolicy `xml:"policy,typeattr"`
+ PortNameFormat string `xml:"portNameFormat,omitempty"`
+ Scope []ManagedObjectReference `xml:"scope,omitempty"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+ ConfigVersion string `xml:"configVersion,omitempty"`
+ AutoExpand *bool `xml:"autoExpand"`
+ VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty"`
+ Uplink *bool `xml:"uplink"`
+}
+
+func init() {
+ t["DVPortgroupConfigInfo"] = reflect.TypeOf((*DVPortgroupConfigInfo)(nil)).Elem()
+}
+
+type DVPortgroupConfigSpec struct {
+ DynamicData
+
+ ConfigVersion string `xml:"configVersion,omitempty"`
+ Name string `xml:"name,omitempty"`
+ NumPorts int32 `xml:"numPorts,omitempty"`
+ PortNameFormat string `xml:"portNameFormat,omitempty"`
+ DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"`
+ Description string `xml:"description,omitempty"`
+ Type string `xml:"type,omitempty"`
+ Scope []ManagedObjectReference `xml:"scope,omitempty"`
+ Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+ AutoExpand *bool `xml:"autoExpand"`
+ VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty"`
+}
+
+func init() {
+ t["DVPortgroupConfigSpec"] = reflect.TypeOf((*DVPortgroupConfigSpec)(nil)).Elem()
+}
+
+type DVPortgroupCreatedEvent struct {
+ DVPortgroupEvent
+}
+
+func init() {
+ t["DVPortgroupCreatedEvent"] = reflect.TypeOf((*DVPortgroupCreatedEvent)(nil)).Elem()
+}
+
+type DVPortgroupDestroyedEvent struct {
+ DVPortgroupEvent
+}
+
+func init() {
+ t["DVPortgroupDestroyedEvent"] = reflect.TypeOf((*DVPortgroupDestroyedEvent)(nil)).Elem()
+}
+
+type DVPortgroupEvent struct {
+ Event
+}
+
+func init() {
+ t["DVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem()
+}
+
+type DVPortgroupPolicy struct {
+ DynamicData
+
+ BlockOverrideAllowed bool `xml:"blockOverrideAllowed"`
+ ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed"`
+ VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed"`
+ LivePortMovingAllowed bool `xml:"livePortMovingAllowed"`
+ PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect"`
+ NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed"`
+ TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed"`
+}
+
+func init() {
+ t["DVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem()
+}
+
+type DVPortgroupReconfiguredEvent struct {
+ DVPortgroupEvent
+
+ ConfigSpec DVPortgroupConfigSpec `xml:"configSpec"`
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["DVPortgroupReconfiguredEvent"] = reflect.TypeOf((*DVPortgroupReconfiguredEvent)(nil)).Elem()
+}
+
+type DVPortgroupRenamedEvent struct {
+ DVPortgroupEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DVPortgroupRenamedEvent"] = reflect.TypeOf((*DVPortgroupRenamedEvent)(nil)).Elem()
+}
+
+type DVPortgroupRollbackRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty"`
+}
+
+func init() {
+ t["DVPortgroupRollbackRequestType"] = reflect.TypeOf((*DVPortgroupRollbackRequestType)(nil)).Elem()
+}
+
+type DVPortgroupRollback_Task DVPortgroupRollbackRequestType
+
+func init() {
+ t["DVPortgroupRollback_Task"] = reflect.TypeOf((*DVPortgroupRollback_Task)(nil)).Elem()
+}
+
+type DVPortgroupRollback_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DVPortgroupSelection struct {
+ SelectionSet
+
+ DvsUuid string `xml:"dvsUuid"`
+ PortgroupKey []string `xml:"portgroupKey"`
+}
+
+func init() {
+ t["DVPortgroupSelection"] = reflect.TypeOf((*DVPortgroupSelection)(nil)).Elem()
+}
+
+type DVSBackupRestoreCapability struct {
+ DynamicData
+
+ BackupRestoreSupported bool `xml:"backupRestoreSupported"`
+}
+
+func init() {
+ t["DVSBackupRestoreCapability"] = reflect.TypeOf((*DVSBackupRestoreCapability)(nil)).Elem()
+}
+
+type DVSCapability struct {
+ DynamicData
+
+ DvsOperationSupported *bool `xml:"dvsOperationSupported"`
+ DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported"`
+ DvPortOperationSupported *bool `xml:"dvPortOperationSupported"`
+ CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty"`
+ FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr"`
+}
+
+func init() {
+ t["DVSCapability"] = reflect.TypeOf((*DVSCapability)(nil)).Elem()
+}
+
+type DVSConfigInfo struct {
+ DynamicData
+
+ Uuid string `xml:"uuid"`
+ Name string `xml:"name"`
+ NumStandalonePorts int32 `xml:"numStandalonePorts"`
+ NumPorts int32 `xml:"numPorts"`
+ MaxPorts int32 `xml:"maxPorts"`
+ UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr"`
+ UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty"`
+ DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr"`
+ Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty"`
+ ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"`
+ TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty"`
+ ExtensionKey string `xml:"extensionKey,omitempty"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+ Policy *DVSPolicy `xml:"policy,omitempty"`
+ Description string `xml:"description,omitempty"`
+ ConfigVersion string `xml:"configVersion"`
+ Contact DVSContactInfo `xml:"contact"`
+ SwitchIpAddress string `xml:"switchIpAddress,omitempty"`
+ CreateTime time.Time `xml:"createTime"`
+ NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled"`
+ DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty"`
+ HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr"`
+ InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty"`
+ NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"`
+ VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty"`
+ PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty"`
+}
+
+func init() {
+ t["DVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem()
+}
+
+type DVSConfigSpec struct {
+ DynamicData
+
+ ConfigVersion string `xml:"configVersion,omitempty"`
+ Name string `xml:"name,omitempty"`
+ NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty"`
+ MaxPorts int32 `xml:"maxPorts,omitempty"`
+ UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr"`
+ UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty"`
+ DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"`
+ Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty"`
+ ExtensionKey string `xml:"extensionKey,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Policy *DVSPolicy `xml:"policy,omitempty"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+ Contact *DVSContactInfo `xml:"contact,omitempty"`
+ SwitchIpAddress string `xml:"switchIpAddress,omitempty"`
+ DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty"`
+ InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty"`
+ NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"`
+}
+
+func init() {
+ t["DVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem()
+}
+
+type DVSContactInfo struct {
+ DynamicData
+
+ Name string `xml:"name,omitempty"`
+ Contact string `xml:"contact,omitempty"`
+}
+
+func init() {
+ t["DVSContactInfo"] = reflect.TypeOf((*DVSContactInfo)(nil)).Elem()
+}
+
+type DVSCreateSpec struct {
+ DynamicData
+
+ ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr"`
+ ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"`
+ Capability *DVSCapability `xml:"capability,omitempty"`
+}
+
+func init() {
+ t["DVSCreateSpec"] = reflect.TypeOf((*DVSCreateSpec)(nil)).Elem()
+}
+
+type DVSFailureCriteria struct {
+ InheritablePolicy
+
+ CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty"`
+ Speed *IntPolicy `xml:"speed,omitempty"`
+ CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty"`
+ FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty"`
+ CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty"`
+ Percentage *IntPolicy `xml:"percentage,omitempty"`
+ CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty"`
+}
+
+func init() {
+ t["DVSFailureCriteria"] = reflect.TypeOf((*DVSFailureCriteria)(nil)).Elem()
+}
+
+type DVSFeatureCapability struct {
+ DynamicData
+
+ NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported"`
+ VmDirectPathGen2Supported bool `xml:"vmDirectPathGen2Supported"`
+ NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty"`
+ NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty"`
+ NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty"`
+ HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr"`
+ RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty"`
+ BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty"`
+ NetworkFilterSupported *bool `xml:"networkFilterSupported"`
+}
+
+func init() {
+ t["DVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem()
+}
+
+type DVSHealthCheckCapability struct {
+ DynamicData
+}
+
+func init() {
+ t["DVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem()
+}
+
+type DVSHealthCheckConfig struct {
+ DynamicData
+
+ Enable *bool `xml:"enable"`
+ Interval int32 `xml:"interval,omitempty"`
+}
+
+func init() {
+ t["DVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem()
+}
+
+type DVSHostLocalPortInfo struct {
+ DynamicData
+
+ SwitchUuid string `xml:"switchUuid"`
+ PortKey string `xml:"portKey"`
+ Setting BaseDVPortSetting `xml:"setting,typeattr"`
+ Vnic string `xml:"vnic"`
+}
+
+func init() {
+ t["DVSHostLocalPortInfo"] = reflect.TypeOf((*DVSHostLocalPortInfo)(nil)).Elem()
+}
+
+type DVSManagerDvsConfigTarget struct {
+ DynamicData
+
+ DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty"`
+ DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty"`
+}
+
+func init() {
+ t["DVSManagerDvsConfigTarget"] = reflect.TypeOf((*DVSManagerDvsConfigTarget)(nil)).Elem()
+}
+
+type DVSManagerExportEntityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr"`
+}
+
+func init() {
+ t["DVSManagerExportEntityRequestType"] = reflect.TypeOf((*DVSManagerExportEntityRequestType)(nil)).Elem()
+}
+
+type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType
+
+func init() {
+ t["DVSManagerExportEntity_Task"] = reflect.TypeOf((*DVSManagerExportEntity_Task)(nil)).Elem()
+}
+
+type DVSManagerExportEntity_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DVSManagerImportEntityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EntityBackup []EntityBackupConfig `xml:"entityBackup"`
+ ImportType string `xml:"importType"`
+}
+
+func init() {
+ t["DVSManagerImportEntityRequestType"] = reflect.TypeOf((*DVSManagerImportEntityRequestType)(nil)).Elem()
+}
+
+type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType
+
+func init() {
+ t["DVSManagerImportEntity_Task"] = reflect.TypeOf((*DVSManagerImportEntity_Task)(nil)).Elem()
+}
+
+type DVSManagerImportEntity_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DVSManagerLookupDvPortGroup DVSManagerLookupDvPortGroupRequestType
+
+func init() {
+ t["DVSManagerLookupDvPortGroup"] = reflect.TypeOf((*DVSManagerLookupDvPortGroup)(nil)).Elem()
+}
+
+type DVSManagerLookupDvPortGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SwitchUuid string `xml:"switchUuid"`
+ PortgroupKey string `xml:"portgroupKey"`
+}
+
+func init() {
+ t["DVSManagerLookupDvPortGroupRequestType"] = reflect.TypeOf((*DVSManagerLookupDvPortGroupRequestType)(nil)).Elem()
+}
+
+type DVSManagerLookupDvPortGroupResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type DVSNameArrayUplinkPortPolicy struct {
+ DVSUplinkPortPolicy
+
+ UplinkPortName []string `xml:"uplinkPortName"`
+}
+
+func init() {
+ t["DVSNameArrayUplinkPortPolicy"] = reflect.TypeOf((*DVSNameArrayUplinkPortPolicy)(nil)).Elem()
+}
+
+type DVSNetworkResourceManagementCapability struct {
+ DynamicData
+
+ NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported"`
+ NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue"`
+ QosSupported bool `xml:"qosSupported"`
+ UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported"`
+ NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported"`
+}
+
+func init() {
+ t["DVSNetworkResourceManagementCapability"] = reflect.TypeOf((*DVSNetworkResourceManagementCapability)(nil)).Elem()
+}
+
+type DVSNetworkResourcePool struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+ ConfigVersion string `xml:"configVersion"`
+ AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo"`
+}
+
+func init() {
+ t["DVSNetworkResourcePool"] = reflect.TypeOf((*DVSNetworkResourcePool)(nil)).Elem()
+}
+
+type DVSNetworkResourcePoolAllocationInfo struct {
+ DynamicData
+
+ Limit int64 `xml:"limit,omitempty"`
+ Shares *SharesInfo `xml:"shares,omitempty"`
+ PriorityTag int32 `xml:"priorityTag,omitempty"`
+}
+
+func init() {
+ t["DVSNetworkResourcePoolAllocationInfo"] = reflect.TypeOf((*DVSNetworkResourcePoolAllocationInfo)(nil)).Elem()
+}
+
+type DVSNetworkResourcePoolConfigSpec struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ ConfigVersion string `xml:"configVersion,omitempty"`
+ AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["DVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*DVSNetworkResourcePoolConfigSpec)(nil)).Elem()
+}
+
+type DVSPolicy struct {
+ DynamicData
+
+ AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed"`
+ AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed"`
+ PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed"`
+}
+
+func init() {
+ t["DVSPolicy"] = reflect.TypeOf((*DVSPolicy)(nil)).Elem()
+}
+
+type DVSRollbackCapability struct {
+ DynamicData
+
+ RollbackSupported bool `xml:"rollbackSupported"`
+}
+
+func init() {
+ t["DVSRollbackCapability"] = reflect.TypeOf((*DVSRollbackCapability)(nil)).Elem()
+}
+
+type DVSRollbackRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty"`
+}
+
+func init() {
+ t["DVSRollbackRequestType"] = reflect.TypeOf((*DVSRollbackRequestType)(nil)).Elem()
+}
+
+type DVSRollback_Task DVSRollbackRequestType
+
+func init() {
+ t["DVSRollback_Task"] = reflect.TypeOf((*DVSRollback_Task)(nil)).Elem()
+}
+
+type DVSRollback_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DVSRuntimeInfo struct {
+ DynamicData
+
+ HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty"`
+ ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty"`
+}
+
+func init() {
+ t["DVSRuntimeInfo"] = reflect.TypeOf((*DVSRuntimeInfo)(nil)).Elem()
+}
+
+type DVSSecurityPolicy struct {
+ InheritablePolicy
+
+ AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty"`
+ MacChanges *BoolPolicy `xml:"macChanges,omitempty"`
+ ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty"`
+}
+
+func init() {
+ t["DVSSecurityPolicy"] = reflect.TypeOf((*DVSSecurityPolicy)(nil)).Elem()
+}
+
+type DVSSelection struct {
+ SelectionSet
+
+ DvsUuid string `xml:"dvsUuid"`
+}
+
+func init() {
+ t["DVSSelection"] = reflect.TypeOf((*DVSSelection)(nil)).Elem()
+}
+
+type DVSSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Uuid string `xml:"uuid"`
+ NumPorts int32 `xml:"numPorts"`
+ ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"`
+ HostMember []ManagedObjectReference `xml:"hostMember,omitempty"`
+ Vm []ManagedObjectReference `xml:"vm,omitempty"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+ PortgroupName []string `xml:"portgroupName,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Contact *DVSContactInfo `xml:"contact,omitempty"`
+ NumHosts int32 `xml:"numHosts,omitempty"`
+}
+
+func init() {
+ t["DVSSummary"] = reflect.TypeOf((*DVSSummary)(nil)).Elem()
+}
+
+type DVSTrafficShapingPolicy struct {
+ InheritablePolicy
+
+ Enabled *BoolPolicy `xml:"enabled,omitempty"`
+ AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty"`
+ PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty"`
+ BurstSize *LongPolicy `xml:"burstSize,omitempty"`
+}
+
+func init() {
+ t["DVSTrafficShapingPolicy"] = reflect.TypeOf((*DVSTrafficShapingPolicy)(nil)).Elem()
+}
+
+type DVSUplinkPortPolicy struct {
+ DynamicData
+}
+
+func init() {
+ t["DVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem()
+}
+
+type DVSVendorSpecificConfig struct {
+ InheritablePolicy
+
+ KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty"`
+}
+
+func init() {
+ t["DVSVendorSpecificConfig"] = reflect.TypeOf((*DVSVendorSpecificConfig)(nil)).Elem()
+}
+
+type DVSVmVnicNetworkResourcePool struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+ ConfigVersion string `xml:"configVersion"`
+ AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty"`
+}
+
+func init() {
+ t["DVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*DVSVmVnicNetworkResourcePool)(nil)).Elem()
+}
+
+type DailyTaskScheduler struct {
+ HourlyTaskScheduler
+
+ Hour int32 `xml:"hour"`
+}
+
+func init() {
+ t["DailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem()
+}
+
+type DasAdmissionControlDisabledEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasAdmissionControlDisabledEvent"] = reflect.TypeOf((*DasAdmissionControlDisabledEvent)(nil)).Elem()
+}
+
+type DasAdmissionControlEnabledEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasAdmissionControlEnabledEvent"] = reflect.TypeOf((*DasAdmissionControlEnabledEvent)(nil)).Elem()
+}
+
+type DasAgentFoundEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasAgentFoundEvent"] = reflect.TypeOf((*DasAgentFoundEvent)(nil)).Elem()
+}
+
+type DasAgentUnavailableEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasAgentUnavailableEvent"] = reflect.TypeOf((*DasAgentUnavailableEvent)(nil)).Elem()
+}
+
+type DasClusterIsolatedEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasClusterIsolatedEvent"] = reflect.TypeOf((*DasClusterIsolatedEvent)(nil)).Elem()
+}
+
+type DasConfigFault struct {
+ VimFault
+
+ Reason string `xml:"reason,omitempty"`
+ Output string `xml:"output,omitempty"`
+ Event []BaseEvent `xml:"event,omitempty,typeattr"`
+}
+
+func init() {
+ t["DasConfigFault"] = reflect.TypeOf((*DasConfigFault)(nil)).Elem()
+}
+
+type DasConfigFaultFault DasConfigFault
+
+func init() {
+ t["DasConfigFaultFault"] = reflect.TypeOf((*DasConfigFaultFault)(nil)).Elem()
+}
+
+type DasDisabledEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasDisabledEvent"] = reflect.TypeOf((*DasDisabledEvent)(nil)).Elem()
+}
+
+type DasEnabledEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DasEnabledEvent"] = reflect.TypeOf((*DasEnabledEvent)(nil)).Elem()
+}
+
+type DasHeartbeatDatastoreInfo struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["DasHeartbeatDatastoreInfo"] = reflect.TypeOf((*DasHeartbeatDatastoreInfo)(nil)).Elem()
+}
+
+type DasHostFailedEvent struct {
+ ClusterEvent
+
+ FailedHost HostEventArgument `xml:"failedHost"`
+}
+
+func init() {
+ t["DasHostFailedEvent"] = reflect.TypeOf((*DasHostFailedEvent)(nil)).Elem()
+}
+
+type DasHostIsolatedEvent struct {
+ ClusterEvent
+
+ IsolatedHost HostEventArgument `xml:"isolatedHost"`
+}
+
+func init() {
+ t["DasHostIsolatedEvent"] = reflect.TypeOf((*DasHostIsolatedEvent)(nil)).Elem()
+}
+
+type DatabaseError struct {
+ RuntimeFault
+}
+
+func init() {
+ t["DatabaseError"] = reflect.TypeOf((*DatabaseError)(nil)).Elem()
+}
+
+type DatabaseErrorFault DatabaseError
+
+func init() {
+ t["DatabaseErrorFault"] = reflect.TypeOf((*DatabaseErrorFault)(nil)).Elem()
+}
+
+type DatabaseSizeEstimate struct {
+ DynamicData
+
+ Size int64 `xml:"size"`
+}
+
+func init() {
+ t["DatabaseSizeEstimate"] = reflect.TypeOf((*DatabaseSizeEstimate)(nil)).Elem()
+}
+
+type DatabaseSizeParam struct {
+ DynamicData
+
+ InventoryDesc InventoryDescription `xml:"inventoryDesc"`
+ PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty"`
+}
+
+func init() {
+ t["DatabaseSizeParam"] = reflect.TypeOf((*DatabaseSizeParam)(nil)).Elem()
+}
+
+type DatacenterConfigInfo struct {
+ DynamicData
+
+ DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"`
+}
+
+func init() {
+ t["DatacenterConfigInfo"] = reflect.TypeOf((*DatacenterConfigInfo)(nil)).Elem()
+}
+
+type DatacenterConfigSpec struct {
+ DynamicData
+
+ DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"`
+}
+
+func init() {
+ t["DatacenterConfigSpec"] = reflect.TypeOf((*DatacenterConfigSpec)(nil)).Elem()
+}
+
+type DatacenterCreatedEvent struct {
+ DatacenterEvent
+
+ Parent FolderEventArgument `xml:"parent"`
+}
+
+func init() {
+ t["DatacenterCreatedEvent"] = reflect.TypeOf((*DatacenterCreatedEvent)(nil)).Elem()
+}
+
+type DatacenterEvent struct {
+ Event
+}
+
+func init() {
+ t["DatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem()
+}
+
+type DatacenterEventArgument struct {
+ EntityEventArgument
+
+ Datacenter ManagedObjectReference `xml:"datacenter"`
+}
+
+func init() {
+ t["DatacenterEventArgument"] = reflect.TypeOf((*DatacenterEventArgument)(nil)).Elem()
+}
+
+type DatacenterMismatch struct {
+ MigrationFault
+
+ InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument"`
+ ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter"`
+}
+
+func init() {
+ t["DatacenterMismatch"] = reflect.TypeOf((*DatacenterMismatch)(nil)).Elem()
+}
+
+type DatacenterMismatchArgument struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty"`
+}
+
+func init() {
+ t["DatacenterMismatchArgument"] = reflect.TypeOf((*DatacenterMismatchArgument)(nil)).Elem()
+}
+
+type DatacenterMismatchFault DatacenterMismatch
+
+func init() {
+ t["DatacenterMismatchFault"] = reflect.TypeOf((*DatacenterMismatchFault)(nil)).Elem()
+}
+
+type DatacenterRenamedEvent struct {
+ DatacenterEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DatacenterRenamedEvent"] = reflect.TypeOf((*DatacenterRenamedEvent)(nil)).Elem()
+}
+
+type DatastoreCapability struct {
+ DynamicData
+
+ DirectoryHierarchySupported bool `xml:"directoryHierarchySupported"`
+ RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported"`
+ PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported"`
+ StorageIORMSupported *bool `xml:"storageIORMSupported"`
+ NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported"`
+ TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported"`
+ SeSparseSupported *bool `xml:"seSparseSupported"`
+ VmfsSparseSupported *bool `xml:"vmfsSparseSupported"`
+ VsanSparseSupported *bool `xml:"vsanSparseSupported"`
+ UpitSupported *bool `xml:"upitSupported"`
+}
+
+func init() {
+ t["DatastoreCapability"] = reflect.TypeOf((*DatastoreCapability)(nil)).Elem()
+}
+
+type DatastoreCapacityIncreasedEvent struct {
+ DatastoreEvent
+
+ OldCapacity int64 `xml:"oldCapacity"`
+ NewCapacity int64 `xml:"newCapacity"`
+}
+
+func init() {
+ t["DatastoreCapacityIncreasedEvent"] = reflect.TypeOf((*DatastoreCapacityIncreasedEvent)(nil)).Elem()
+}
+
+type DatastoreDestroyedEvent struct {
+ DatastoreEvent
+}
+
+func init() {
+ t["DatastoreDestroyedEvent"] = reflect.TypeOf((*DatastoreDestroyedEvent)(nil)).Elem()
+}
+
+type DatastoreDiscoveredEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+}
+
+func init() {
+ t["DatastoreDiscoveredEvent"] = reflect.TypeOf((*DatastoreDiscoveredEvent)(nil)).Elem()
+}
+
+type DatastoreDuplicatedEvent struct {
+ DatastoreEvent
+}
+
+func init() {
+ t["DatastoreDuplicatedEvent"] = reflect.TypeOf((*DatastoreDuplicatedEvent)(nil)).Elem()
+}
+
+type DatastoreEnterMaintenanceMode DatastoreEnterMaintenanceModeRequestType
+
+func init() {
+ t["DatastoreEnterMaintenanceMode"] = reflect.TypeOf((*DatastoreEnterMaintenanceMode)(nil)).Elem()
+}
+
+type DatastoreEnterMaintenanceModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DatastoreEnterMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreEnterMaintenanceModeRequestType)(nil)).Elem()
+}
+
+type DatastoreEnterMaintenanceModeResponse struct {
+ Returnval StoragePlacementResult `xml:"returnval"`
+}
+
+type DatastoreEvent struct {
+ Event
+
+ Datastore *DatastoreEventArgument `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["DatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem()
+}
+
+type DatastoreEventArgument struct {
+ EntityEventArgument
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["DatastoreEventArgument"] = reflect.TypeOf((*DatastoreEventArgument)(nil)).Elem()
+}
+
+type DatastoreExitMaintenanceModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DatastoreExitMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreExitMaintenanceModeRequestType)(nil)).Elem()
+}
+
+type DatastoreExitMaintenanceMode_Task DatastoreExitMaintenanceModeRequestType
+
+func init() {
+ t["DatastoreExitMaintenanceMode_Task"] = reflect.TypeOf((*DatastoreExitMaintenanceMode_Task)(nil)).Elem()
+}
+
+type DatastoreExitMaintenanceMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DatastoreFileCopiedEvent struct {
+ DatastoreFileEvent
+
+ SourceDatastore DatastoreEventArgument `xml:"sourceDatastore"`
+ SourceFile string `xml:"sourceFile"`
+}
+
+func init() {
+ t["DatastoreFileCopiedEvent"] = reflect.TypeOf((*DatastoreFileCopiedEvent)(nil)).Elem()
+}
+
+type DatastoreFileDeletedEvent struct {
+ DatastoreFileEvent
+}
+
+func init() {
+ t["DatastoreFileDeletedEvent"] = reflect.TypeOf((*DatastoreFileDeletedEvent)(nil)).Elem()
+}
+
+type DatastoreFileEvent struct {
+ DatastoreEvent
+
+ TargetFile string `xml:"targetFile"`
+ SourceOfOperation string `xml:"sourceOfOperation,omitempty"`
+ Succeeded *bool `xml:"succeeded"`
+}
+
+func init() {
+ t["DatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem()
+}
+
+type DatastoreFileMovedEvent struct {
+ DatastoreFileEvent
+
+ SourceDatastore DatastoreEventArgument `xml:"sourceDatastore"`
+ SourceFile string `xml:"sourceFile"`
+}
+
+func init() {
+ t["DatastoreFileMovedEvent"] = reflect.TypeOf((*DatastoreFileMovedEvent)(nil)).Elem()
+}
+
+type DatastoreHostMount struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ MountInfo HostMountInfo `xml:"mountInfo"`
+}
+
+func init() {
+ t["DatastoreHostMount"] = reflect.TypeOf((*DatastoreHostMount)(nil)).Elem()
+}
+
+type DatastoreIORMReconfiguredEvent struct {
+ DatastoreEvent
+}
+
+func init() {
+ t["DatastoreIORMReconfiguredEvent"] = reflect.TypeOf((*DatastoreIORMReconfiguredEvent)(nil)).Elem()
+}
+
+type DatastoreInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Url string `xml:"url"`
+ FreeSpace int64 `xml:"freeSpace"`
+ MaxFileSize int64 `xml:"maxFileSize"`
+ MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty"`
+ MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty"`
+ Timestamp *time.Time `xml:"timestamp"`
+ ContainerId string `xml:"containerId,omitempty"`
+}
+
+func init() {
+ t["DatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem()
+}
+
+type DatastoreMountPathDatastorePair struct {
+ DynamicData
+
+ OldMountPath string `xml:"oldMountPath"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["DatastoreMountPathDatastorePair"] = reflect.TypeOf((*DatastoreMountPathDatastorePair)(nil)).Elem()
+}
+
+type DatastoreNotWritableOnHost struct {
+ InvalidDatastore
+
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["DatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem()
+}
+
+type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost
+
+func init() {
+ t["DatastoreNotWritableOnHostFault"] = reflect.TypeOf((*DatastoreNotWritableOnHostFault)(nil)).Elem()
+}
+
+type DatastoreOption struct {
+ DynamicData
+
+ UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty"`
+}
+
+func init() {
+ t["DatastoreOption"] = reflect.TypeOf((*DatastoreOption)(nil)).Elem()
+}
+
+type DatastorePrincipalConfigured struct {
+ HostEvent
+
+ DatastorePrincipal string `xml:"datastorePrincipal"`
+}
+
+func init() {
+ t["DatastorePrincipalConfigured"] = reflect.TypeOf((*DatastorePrincipalConfigured)(nil)).Elem()
+}
+
+type DatastoreRemovedOnHostEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+}
+
+func init() {
+ t["DatastoreRemovedOnHostEvent"] = reflect.TypeOf((*DatastoreRemovedOnHostEvent)(nil)).Elem()
+}
+
+type DatastoreRenamedEvent struct {
+ DatastoreEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DatastoreRenamedEvent"] = reflect.TypeOf((*DatastoreRenamedEvent)(nil)).Elem()
+}
+
+type DatastoreRenamedOnHostEvent struct {
+ HostEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DatastoreRenamedOnHostEvent"] = reflect.TypeOf((*DatastoreRenamedOnHostEvent)(nil)).Elem()
+}
+
+type DatastoreSummary struct {
+ DynamicData
+
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ Name string `xml:"name"`
+ Url string `xml:"url"`
+ Capacity int64 `xml:"capacity"`
+ FreeSpace int64 `xml:"freeSpace"`
+ Uncommitted int64 `xml:"uncommitted,omitempty"`
+ Accessible bool `xml:"accessible"`
+ MultipleHostAccess *bool `xml:"multipleHostAccess"`
+ Type string `xml:"type"`
+ MaintenanceMode string `xml:"maintenanceMode,omitempty"`
+}
+
+func init() {
+ t["DatastoreSummary"] = reflect.TypeOf((*DatastoreSummary)(nil)).Elem()
+}
+
+type DatastoreVVolContainerFailoverPair struct {
+ DynamicData
+
+ SrcContainer string `xml:"srcContainer,omitempty"`
+ TgtContainer string `xml:"tgtContainer"`
+ VvolMapping []KeyValue `xml:"vvolMapping,omitempty"`
+}
+
+func init() {
+ t["DatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*DatastoreVVolContainerFailoverPair)(nil)).Elem()
+}
+
+type DateTimeProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["DateTimeProfile"] = reflect.TypeOf((*DateTimeProfile)(nil)).Elem()
+}
+
+type DecodeLicense DecodeLicenseRequestType
+
+func init() {
+ t["DecodeLicense"] = reflect.TypeOf((*DecodeLicense)(nil)).Elem()
+}
+
+type DecodeLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+}
+
+func init() {
+ t["DecodeLicenseRequestType"] = reflect.TypeOf((*DecodeLicenseRequestType)(nil)).Elem()
+}
+
+type DecodeLicenseResponse struct {
+ Returnval LicenseManagerLicenseInfo `xml:"returnval"`
+}
+
+type DefragmentAllDisks DefragmentAllDisksRequestType
+
+func init() {
+ t["DefragmentAllDisks"] = reflect.TypeOf((*DefragmentAllDisks)(nil)).Elem()
+}
+
+type DefragmentAllDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DefragmentAllDisksRequestType"] = reflect.TypeOf((*DefragmentAllDisksRequestType)(nil)).Elem()
+}
+
+type DefragmentAllDisksResponse struct {
+}
+
+type DefragmentVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["DefragmentVirtualDiskRequestType"] = reflect.TypeOf((*DefragmentVirtualDiskRequestType)(nil)).Elem()
+}
+
+type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType
+
+func init() {
+ t["DefragmentVirtualDisk_Task"] = reflect.TypeOf((*DefragmentVirtualDisk_Task)(nil)).Elem()
+}
+
+type DefragmentVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DeleteCustomizationSpec DeleteCustomizationSpecRequestType
+
+func init() {
+ t["DeleteCustomizationSpec"] = reflect.TypeOf((*DeleteCustomizationSpec)(nil)).Elem()
+}
+
+type DeleteCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["DeleteCustomizationSpecRequestType"] = reflect.TypeOf((*DeleteCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type DeleteCustomizationSpecResponse struct {
+}
+
+type DeleteDatastoreFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["DeleteDatastoreFileRequestType"] = reflect.TypeOf((*DeleteDatastoreFileRequestType)(nil)).Elem()
+}
+
+type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType
+
+func init() {
+ t["DeleteDatastoreFile_Task"] = reflect.TypeOf((*DeleteDatastoreFile_Task)(nil)).Elem()
+}
+
+type DeleteDatastoreFile_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DeleteDirectory DeleteDirectoryRequestType
+
+func init() {
+ t["DeleteDirectory"] = reflect.TypeOf((*DeleteDirectory)(nil)).Elem()
+}
+
+type DeleteDirectoryInGuest DeleteDirectoryInGuestRequestType
+
+func init() {
+ t["DeleteDirectoryInGuest"] = reflect.TypeOf((*DeleteDirectoryInGuest)(nil)).Elem()
+}
+
+type DeleteDirectoryInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ DirectoryPath string `xml:"directoryPath"`
+ Recursive bool `xml:"recursive"`
+}
+
+func init() {
+ t["DeleteDirectoryInGuestRequestType"] = reflect.TypeOf((*DeleteDirectoryInGuestRequestType)(nil)).Elem()
+}
+
+type DeleteDirectoryInGuestResponse struct {
+}
+
+type DeleteDirectoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ DatastorePath string `xml:"datastorePath"`
+}
+
+func init() {
+ t["DeleteDirectoryRequestType"] = reflect.TypeOf((*DeleteDirectoryRequestType)(nil)).Elem()
+}
+
+type DeleteDirectoryResponse struct {
+}
+
+type DeleteFile DeleteFileRequestType
+
+func init() {
+ t["DeleteFile"] = reflect.TypeOf((*DeleteFile)(nil)).Elem()
+}
+
+type DeleteFileInGuest DeleteFileInGuestRequestType
+
+func init() {
+ t["DeleteFileInGuest"] = reflect.TypeOf((*DeleteFileInGuest)(nil)).Elem()
+}
+
+type DeleteFileInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ FilePath string `xml:"filePath"`
+}
+
+func init() {
+ t["DeleteFileInGuestRequestType"] = reflect.TypeOf((*DeleteFileInGuestRequestType)(nil)).Elem()
+}
+
+type DeleteFileInGuestResponse struct {
+}
+
+type DeleteFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DatastorePath string `xml:"datastorePath"`
+}
+
+func init() {
+ t["DeleteFileRequestType"] = reflect.TypeOf((*DeleteFileRequestType)(nil)).Elem()
+}
+
+type DeleteFileResponse struct {
+}
+
+type DeleteHostSpecification DeleteHostSpecificationRequestType
+
+func init() {
+ t["DeleteHostSpecification"] = reflect.TypeOf((*DeleteHostSpecification)(nil)).Elem()
+}
+
+type DeleteHostSpecificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["DeleteHostSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSpecificationRequestType)(nil)).Elem()
+}
+
+type DeleteHostSpecificationResponse struct {
+}
+
+type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType
+
+func init() {
+ t["DeleteHostSubSpecification"] = reflect.TypeOf((*DeleteHostSubSpecification)(nil)).Elem()
+}
+
+type DeleteHostSubSpecificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ SubSpecName string `xml:"subSpecName"`
+}
+
+func init() {
+ t["DeleteHostSubSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSubSpecificationRequestType)(nil)).Elem()
+}
+
+type DeleteHostSubSpecificationResponse struct {
+}
+
+type DeleteRegistryKeyInGuest DeleteRegistryKeyInGuestRequestType
+
+func init() {
+ t["DeleteRegistryKeyInGuest"] = reflect.TypeOf((*DeleteRegistryKeyInGuest)(nil)).Elem()
+}
+
+type DeleteRegistryKeyInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ Recursive bool `xml:"recursive"`
+}
+
+func init() {
+ t["DeleteRegistryKeyInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryKeyInGuestRequestType)(nil)).Elem()
+}
+
+type DeleteRegistryKeyInGuestResponse struct {
+}
+
+type DeleteRegistryValueInGuest DeleteRegistryValueInGuestRequestType
+
+func init() {
+ t["DeleteRegistryValueInGuest"] = reflect.TypeOf((*DeleteRegistryValueInGuest)(nil)).Elem()
+}
+
+type DeleteRegistryValueInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ ValueName GuestRegValueNameSpec `xml:"valueName"`
+}
+
+func init() {
+ t["DeleteRegistryValueInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryValueInGuestRequestType)(nil)).Elem()
+}
+
+type DeleteRegistryValueInGuestResponse struct {
+}
+
+type DeleteScsiLunState DeleteScsiLunStateRequestType
+
+func init() {
+ t["DeleteScsiLunState"] = reflect.TypeOf((*DeleteScsiLunState)(nil)).Elem()
+}
+
+type DeleteScsiLunStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunCanonicalName string `xml:"lunCanonicalName"`
+}
+
+func init() {
+ t["DeleteScsiLunStateRequestType"] = reflect.TypeOf((*DeleteScsiLunStateRequestType)(nil)).Elem()
+}
+
+type DeleteScsiLunStateResponse struct {
+}
+
+type DeleteVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["DeleteVStorageObjectRequestType"] = reflect.TypeOf((*DeleteVStorageObjectRequestType)(nil)).Elem()
+}
+
+type DeleteVStorageObject_Task DeleteVStorageObjectRequestType
+
+func init() {
+ t["DeleteVStorageObject_Task"] = reflect.TypeOf((*DeleteVStorageObject_Task)(nil)).Elem()
+}
+
+type DeleteVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DeleteVffsVolumeState DeleteVffsVolumeStateRequestType
+
+func init() {
+ t["DeleteVffsVolumeState"] = reflect.TypeOf((*DeleteVffsVolumeState)(nil)).Elem()
+}
+
+type DeleteVffsVolumeStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsUuid string `xml:"vffsUuid"`
+}
+
+func init() {
+ t["DeleteVffsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVffsVolumeStateRequestType)(nil)).Elem()
+}
+
+type DeleteVffsVolumeStateResponse struct {
+}
+
+type DeleteVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["DeleteVirtualDiskRequestType"] = reflect.TypeOf((*DeleteVirtualDiskRequestType)(nil)).Elem()
+}
+
+type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType
+
+func init() {
+ t["DeleteVirtualDisk_Task"] = reflect.TypeOf((*DeleteVirtualDisk_Task)(nil)).Elem()
+}
+
+type DeleteVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DeleteVmfsVolumeState DeleteVmfsVolumeStateRequestType
+
+func init() {
+ t["DeleteVmfsVolumeState"] = reflect.TypeOf((*DeleteVmfsVolumeState)(nil)).Elem()
+}
+
+type DeleteVmfsVolumeStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["DeleteVmfsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVmfsVolumeStateRequestType)(nil)).Elem()
+}
+
+type DeleteVmfsVolumeStateResponse struct {
+}
+
+type DeleteVsanObjects DeleteVsanObjectsRequestType
+
+func init() {
+ t["DeleteVsanObjects"] = reflect.TypeOf((*DeleteVsanObjects)(nil)).Elem()
+}
+
+type DeleteVsanObjectsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids"`
+ Force *bool `xml:"force"`
+}
+
+func init() {
+ t["DeleteVsanObjectsRequestType"] = reflect.TypeOf((*DeleteVsanObjectsRequestType)(nil)).Elem()
+}
+
+type DeleteVsanObjectsResponse struct {
+ Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval"`
+}
+
+type DeltaDiskFormatNotSupported struct {
+ VmConfigFault
+
+ Datastore []ManagedObjectReference `xml:"datastore,omitempty"`
+ DeltaDiskFormat string `xml:"deltaDiskFormat"`
+}
+
+func init() {
+ t["DeltaDiskFormatNotSupported"] = reflect.TypeOf((*DeltaDiskFormatNotSupported)(nil)).Elem()
+}
+
+type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported
+
+func init() {
+ t["DeltaDiskFormatNotSupportedFault"] = reflect.TypeOf((*DeltaDiskFormatNotSupportedFault)(nil)).Elem()
+}
+
+type Description struct {
+ DynamicData
+
+ Label string `xml:"label"`
+ Summary string `xml:"summary"`
+}
+
+func init() {
+ t["Description"] = reflect.TypeOf((*Description)(nil)).Elem()
+}
+
+type DeselectVnic DeselectVnicRequestType
+
+func init() {
+ t["DeselectVnic"] = reflect.TypeOf((*DeselectVnic)(nil)).Elem()
+}
+
+type DeselectVnicForNicType DeselectVnicForNicTypeRequestType
+
+func init() {
+ t["DeselectVnicForNicType"] = reflect.TypeOf((*DeselectVnicForNicType)(nil)).Elem()
+}
+
+type DeselectVnicForNicTypeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NicType string `xml:"nicType"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["DeselectVnicForNicTypeRequestType"] = reflect.TypeOf((*DeselectVnicForNicTypeRequestType)(nil)).Elem()
+}
+
+type DeselectVnicForNicTypeResponse struct {
+}
+
+type DeselectVnicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DeselectVnicRequestType"] = reflect.TypeOf((*DeselectVnicRequestType)(nil)).Elem()
+}
+
+type DeselectVnicResponse struct {
+}
+
+type DestinationSwitchFull struct {
+ CannotAccessNetwork
+}
+
+func init() {
+ t["DestinationSwitchFull"] = reflect.TypeOf((*DestinationSwitchFull)(nil)).Elem()
+}
+
+type DestinationSwitchFullFault DestinationSwitchFull
+
+func init() {
+ t["DestinationSwitchFullFault"] = reflect.TypeOf((*DestinationSwitchFullFault)(nil)).Elem()
+}
+
+type DestinationVsanDisabled struct {
+ CannotMoveVsanEnabledHost
+
+ DestinationCluster string `xml:"destinationCluster"`
+}
+
+func init() {
+ t["DestinationVsanDisabled"] = reflect.TypeOf((*DestinationVsanDisabled)(nil)).Elem()
+}
+
+type DestinationVsanDisabledFault DestinationVsanDisabled
+
+func init() {
+ t["DestinationVsanDisabledFault"] = reflect.TypeOf((*DestinationVsanDisabledFault)(nil)).Elem()
+}
+
+type DestroyChildren DestroyChildrenRequestType
+
+func init() {
+ t["DestroyChildren"] = reflect.TypeOf((*DestroyChildren)(nil)).Elem()
+}
+
+type DestroyChildrenRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyChildrenRequestType"] = reflect.TypeOf((*DestroyChildrenRequestType)(nil)).Elem()
+}
+
+type DestroyChildrenResponse struct {
+}
+
+type DestroyCollector DestroyCollectorRequestType
+
+func init() {
+ t["DestroyCollector"] = reflect.TypeOf((*DestroyCollector)(nil)).Elem()
+}
+
+type DestroyCollectorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyCollectorRequestType"] = reflect.TypeOf((*DestroyCollectorRequestType)(nil)).Elem()
+}
+
+type DestroyCollectorResponse struct {
+}
+
+type DestroyDatastore DestroyDatastoreRequestType
+
+func init() {
+ t["DestroyDatastore"] = reflect.TypeOf((*DestroyDatastore)(nil)).Elem()
+}
+
+type DestroyDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyDatastoreRequestType"] = reflect.TypeOf((*DestroyDatastoreRequestType)(nil)).Elem()
+}
+
+type DestroyDatastoreResponse struct {
+}
+
+type DestroyIpPool DestroyIpPoolRequestType
+
+func init() {
+ t["DestroyIpPool"] = reflect.TypeOf((*DestroyIpPool)(nil)).Elem()
+}
+
+type DestroyIpPoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ Id int32 `xml:"id"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["DestroyIpPoolRequestType"] = reflect.TypeOf((*DestroyIpPoolRequestType)(nil)).Elem()
+}
+
+type DestroyIpPoolResponse struct {
+}
+
+type DestroyNetwork DestroyNetworkRequestType
+
+func init() {
+ t["DestroyNetwork"] = reflect.TypeOf((*DestroyNetwork)(nil)).Elem()
+}
+
+type DestroyNetworkRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyNetworkRequestType"] = reflect.TypeOf((*DestroyNetworkRequestType)(nil)).Elem()
+}
+
+type DestroyNetworkResponse struct {
+}
+
+type DestroyProfile DestroyProfileRequestType
+
+func init() {
+ t["DestroyProfile"] = reflect.TypeOf((*DestroyProfile)(nil)).Elem()
+}
+
+type DestroyProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyProfileRequestType"] = reflect.TypeOf((*DestroyProfileRequestType)(nil)).Elem()
+}
+
+type DestroyProfileResponse struct {
+}
+
+type DestroyPropertyCollector DestroyPropertyCollectorRequestType
+
+func init() {
+ t["DestroyPropertyCollector"] = reflect.TypeOf((*DestroyPropertyCollector)(nil)).Elem()
+}
+
+type DestroyPropertyCollectorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyPropertyCollectorRequestType"] = reflect.TypeOf((*DestroyPropertyCollectorRequestType)(nil)).Elem()
+}
+
+type DestroyPropertyCollectorResponse struct {
+}
+
+type DestroyPropertyFilter DestroyPropertyFilterRequestType
+
+func init() {
+ t["DestroyPropertyFilter"] = reflect.TypeOf((*DestroyPropertyFilter)(nil)).Elem()
+}
+
+type DestroyPropertyFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyPropertyFilterRequestType"] = reflect.TypeOf((*DestroyPropertyFilterRequestType)(nil)).Elem()
+}
+
+type DestroyPropertyFilterResponse struct {
+}
+
+type DestroyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyRequestType"] = reflect.TypeOf((*DestroyRequestType)(nil)).Elem()
+}
+
+type DestroyVffs DestroyVffsRequestType
+
+func init() {
+ t["DestroyVffs"] = reflect.TypeOf((*DestroyVffs)(nil)).Elem()
+}
+
+type DestroyVffsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsPath string `xml:"vffsPath"`
+}
+
+func init() {
+ t["DestroyVffsRequestType"] = reflect.TypeOf((*DestroyVffsRequestType)(nil)).Elem()
+}
+
+type DestroyVffsResponse struct {
+}
+
+type DestroyView DestroyViewRequestType
+
+func init() {
+ t["DestroyView"] = reflect.TypeOf((*DestroyView)(nil)).Elem()
+}
+
+type DestroyViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DestroyViewRequestType"] = reflect.TypeOf((*DestroyViewRequestType)(nil)).Elem()
+}
+
+type DestroyViewResponse struct {
+}
+
+type Destroy_Task DestroyRequestType
+
+func init() {
+ t["Destroy_Task"] = reflect.TypeOf((*Destroy_Task)(nil)).Elem()
+}
+
+type Destroy_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DetachDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DiskId ID `xml:"diskId"`
+}
+
+func init() {
+ t["DetachDiskRequestType"] = reflect.TypeOf((*DetachDiskRequestType)(nil)).Elem()
+}
+
+type DetachDisk_Task DetachDiskRequestType
+
+func init() {
+ t["DetachDisk_Task"] = reflect.TypeOf((*DetachDisk_Task)(nil)).Elem()
+}
+
+type DetachDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DetachScsiLun DetachScsiLunRequestType
+
+func init() {
+ t["DetachScsiLun"] = reflect.TypeOf((*DetachScsiLun)(nil)).Elem()
+}
+
+type DetachScsiLunExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunUuid []string `xml:"lunUuid"`
+}
+
+func init() {
+ t["DetachScsiLunExRequestType"] = reflect.TypeOf((*DetachScsiLunExRequestType)(nil)).Elem()
+}
+
+type DetachScsiLunEx_Task DetachScsiLunExRequestType
+
+func init() {
+ t["DetachScsiLunEx_Task"] = reflect.TypeOf((*DetachScsiLunEx_Task)(nil)).Elem()
+}
+
+type DetachScsiLunEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DetachScsiLunRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunUuid string `xml:"lunUuid"`
+}
+
+func init() {
+ t["DetachScsiLunRequestType"] = reflect.TypeOf((*DetachScsiLunRequestType)(nil)).Elem()
+}
+
+type DetachScsiLunResponse struct {
+}
+
+type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType
+
+func init() {
+ t["DetachTagFromVStorageObject"] = reflect.TypeOf((*DetachTagFromVStorageObject)(nil)).Elem()
+}
+
+type DetachTagFromVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Category string `xml:"category"`
+ Tag string `xml:"tag"`
+}
+
+func init() {
+ t["DetachTagFromVStorageObjectRequestType"] = reflect.TypeOf((*DetachTagFromVStorageObjectRequestType)(nil)).Elem()
+}
+
+type DetachTagFromVStorageObjectResponse struct {
+}
+
+type DeviceBackedVirtualDiskSpec struct {
+ VirtualDiskSpec
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["DeviceBackedVirtualDiskSpec"] = reflect.TypeOf((*DeviceBackedVirtualDiskSpec)(nil)).Elem()
+}
+
+type DeviceBackingNotSupported struct {
+ DeviceNotSupported
+
+ Backing string `xml:"backing"`
+}
+
+func init() {
+ t["DeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem()
+}
+
+type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported
+
+func init() {
+ t["DeviceBackingNotSupportedFault"] = reflect.TypeOf((*DeviceBackingNotSupportedFault)(nil)).Elem()
+}
+
+type DeviceControllerNotSupported struct {
+ DeviceNotSupported
+
+ Controller string `xml:"controller"`
+}
+
+func init() {
+ t["DeviceControllerNotSupported"] = reflect.TypeOf((*DeviceControllerNotSupported)(nil)).Elem()
+}
+
+type DeviceControllerNotSupportedFault DeviceControllerNotSupported
+
+func init() {
+ t["DeviceControllerNotSupportedFault"] = reflect.TypeOf((*DeviceControllerNotSupportedFault)(nil)).Elem()
+}
+
+type DeviceGroupId struct {
+ DynamicData
+
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["DeviceGroupId"] = reflect.TypeOf((*DeviceGroupId)(nil)).Elem()
+}
+
+type DeviceHotPlugNotSupported struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["DeviceHotPlugNotSupported"] = reflect.TypeOf((*DeviceHotPlugNotSupported)(nil)).Elem()
+}
+
+type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported
+
+func init() {
+ t["DeviceHotPlugNotSupportedFault"] = reflect.TypeOf((*DeviceHotPlugNotSupportedFault)(nil)).Elem()
+}
+
+type DeviceNotFound struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["DeviceNotFound"] = reflect.TypeOf((*DeviceNotFound)(nil)).Elem()
+}
+
+type DeviceNotFoundFault DeviceNotFound
+
+func init() {
+ t["DeviceNotFoundFault"] = reflect.TypeOf((*DeviceNotFoundFault)(nil)).Elem()
+}
+
+type DeviceNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ Device string `xml:"device"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["DeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem()
+}
+
+type DeviceNotSupportedFault BaseDeviceNotSupported
+
+func init() {
+ t["DeviceNotSupportedFault"] = reflect.TypeOf((*DeviceNotSupportedFault)(nil)).Elem()
+}
+
+type DeviceUnsupportedForVmPlatform struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["DeviceUnsupportedForVmPlatform"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatform)(nil)).Elem()
+}
+
+type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform
+
+func init() {
+ t["DeviceUnsupportedForVmPlatformFault"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatformFault)(nil)).Elem()
+}
+
+type DeviceUnsupportedForVmVersion struct {
+ InvalidDeviceSpec
+
+ CurrentVersion string `xml:"currentVersion"`
+ ExpectedVersion string `xml:"expectedVersion"`
+}
+
+func init() {
+ t["DeviceUnsupportedForVmVersion"] = reflect.TypeOf((*DeviceUnsupportedForVmVersion)(nil)).Elem()
+}
+
+type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion
+
+func init() {
+ t["DeviceUnsupportedForVmVersionFault"] = reflect.TypeOf((*DeviceUnsupportedForVmVersionFault)(nil)).Elem()
+}
+
+type DiagnosticManagerBundleInfo struct {
+ DynamicData
+
+ System *ManagedObjectReference `xml:"system,omitempty"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["DiagnosticManagerBundleInfo"] = reflect.TypeOf((*DiagnosticManagerBundleInfo)(nil)).Elem()
+}
+
+type DiagnosticManagerLogDescriptor struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ FileName string `xml:"fileName"`
+ Creator string `xml:"creator"`
+ Format string `xml:"format"`
+ MimeType string `xml:"mimeType"`
+ Info BaseDescription `xml:"info,typeattr"`
+}
+
+func init() {
+ t["DiagnosticManagerLogDescriptor"] = reflect.TypeOf((*DiagnosticManagerLogDescriptor)(nil)).Elem()
+}
+
+type DiagnosticManagerLogHeader struct {
+ DynamicData
+
+ LineStart int32 `xml:"lineStart"`
+ LineEnd int32 `xml:"lineEnd"`
+ LineText []string `xml:"lineText,omitempty"`
+}
+
+func init() {
+ t["DiagnosticManagerLogHeader"] = reflect.TypeOf((*DiagnosticManagerLogHeader)(nil)).Elem()
+}
+
+type DigestNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["DigestNotSupported"] = reflect.TypeOf((*DigestNotSupported)(nil)).Elem()
+}
+
+type DigestNotSupportedFault DigestNotSupported
+
+func init() {
+ t["DigestNotSupportedFault"] = reflect.TypeOf((*DigestNotSupportedFault)(nil)).Elem()
+}
+
+type DirectoryNotEmpty struct {
+ FileFault
+}
+
+func init() {
+ t["DirectoryNotEmpty"] = reflect.TypeOf((*DirectoryNotEmpty)(nil)).Elem()
+}
+
+type DirectoryNotEmptyFault DirectoryNotEmpty
+
+func init() {
+ t["DirectoryNotEmptyFault"] = reflect.TypeOf((*DirectoryNotEmptyFault)(nil)).Elem()
+}
+
+type DisableAdminNotSupported struct {
+ HostConfigFault
+}
+
+func init() {
+ t["DisableAdminNotSupported"] = reflect.TypeOf((*DisableAdminNotSupported)(nil)).Elem()
+}
+
+type DisableAdminNotSupportedFault DisableAdminNotSupported
+
+func init() {
+ t["DisableAdminNotSupportedFault"] = reflect.TypeOf((*DisableAdminNotSupportedFault)(nil)).Elem()
+}
+
+type DisableEvcModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DisableEvcModeRequestType"] = reflect.TypeOf((*DisableEvcModeRequestType)(nil)).Elem()
+}
+
+type DisableEvcMode_Task DisableEvcModeRequestType
+
+func init() {
+ t["DisableEvcMode_Task"] = reflect.TypeOf((*DisableEvcMode_Task)(nil)).Elem()
+}
+
+type DisableEvcMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DisableFeature DisableFeatureRequestType
+
+func init() {
+ t["DisableFeature"] = reflect.TypeOf((*DisableFeature)(nil)).Elem()
+}
+
+type DisableFeatureRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ FeatureKey string `xml:"featureKey"`
+}
+
+func init() {
+ t["DisableFeatureRequestType"] = reflect.TypeOf((*DisableFeatureRequestType)(nil)).Elem()
+}
+
+type DisableFeatureResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type DisableHyperThreading DisableHyperThreadingRequestType
+
+func init() {
+ t["DisableHyperThreading"] = reflect.TypeOf((*DisableHyperThreading)(nil)).Elem()
+}
+
+type DisableHyperThreadingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DisableHyperThreadingRequestType"] = reflect.TypeOf((*DisableHyperThreadingRequestType)(nil)).Elem()
+}
+
+type DisableHyperThreadingResponse struct {
+}
+
+type DisableMultipathPath DisableMultipathPathRequestType
+
+func init() {
+ t["DisableMultipathPath"] = reflect.TypeOf((*DisableMultipathPath)(nil)).Elem()
+}
+
+type DisableMultipathPathRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PathName string `xml:"pathName"`
+}
+
+func init() {
+ t["DisableMultipathPathRequestType"] = reflect.TypeOf((*DisableMultipathPathRequestType)(nil)).Elem()
+}
+
+type DisableMultipathPathResponse struct {
+}
+
+type DisableRuleset DisableRulesetRequestType
+
+func init() {
+ t["DisableRuleset"] = reflect.TypeOf((*DisableRuleset)(nil)).Elem()
+}
+
+type DisableRulesetRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["DisableRulesetRequestType"] = reflect.TypeOf((*DisableRulesetRequestType)(nil)).Elem()
+}
+
+type DisableRulesetResponse struct {
+}
+
+type DisableSecondaryVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["DisableSecondaryVMRequestType"] = reflect.TypeOf((*DisableSecondaryVMRequestType)(nil)).Elem()
+}
+
+type DisableSecondaryVM_Task DisableSecondaryVMRequestType
+
+func init() {
+ t["DisableSecondaryVM_Task"] = reflect.TypeOf((*DisableSecondaryVM_Task)(nil)).Elem()
+}
+
+type DisableSecondaryVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DisableSmartCardAuthentication DisableSmartCardAuthenticationRequestType
+
+func init() {
+ t["DisableSmartCardAuthentication"] = reflect.TypeOf((*DisableSmartCardAuthentication)(nil)).Elem()
+}
+
+type DisableSmartCardAuthenticationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DisableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*DisableSmartCardAuthenticationRequestType)(nil)).Elem()
+}
+
+type DisableSmartCardAuthenticationResponse struct {
+}
+
+type DisallowedChangeByService struct {
+ RuntimeFault
+
+ ServiceName string `xml:"serviceName"`
+ DisallowedChange string `xml:"disallowedChange,omitempty"`
+}
+
+func init() {
+ t["DisallowedChangeByService"] = reflect.TypeOf((*DisallowedChangeByService)(nil)).Elem()
+}
+
+type DisallowedChangeByServiceFault DisallowedChangeByService
+
+func init() {
+ t["DisallowedChangeByServiceFault"] = reflect.TypeOf((*DisallowedChangeByServiceFault)(nil)).Elem()
+}
+
+type DisallowedDiskModeChange struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["DisallowedDiskModeChange"] = reflect.TypeOf((*DisallowedDiskModeChange)(nil)).Elem()
+}
+
+type DisallowedDiskModeChangeFault DisallowedDiskModeChange
+
+func init() {
+ t["DisallowedDiskModeChangeFault"] = reflect.TypeOf((*DisallowedDiskModeChangeFault)(nil)).Elem()
+}
+
+type DisallowedMigrationDeviceAttached struct {
+ MigrationFault
+
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["DisallowedMigrationDeviceAttached"] = reflect.TypeOf((*DisallowedMigrationDeviceAttached)(nil)).Elem()
+}
+
+type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached
+
+func init() {
+ t["DisallowedMigrationDeviceAttachedFault"] = reflect.TypeOf((*DisallowedMigrationDeviceAttachedFault)(nil)).Elem()
+}
+
+type DisallowedOperationOnFailoverHost struct {
+ RuntimeFault
+
+ Host ManagedObjectReference `xml:"host"`
+ Hostname string `xml:"hostname"`
+}
+
+func init() {
+ t["DisallowedOperationOnFailoverHost"] = reflect.TypeOf((*DisallowedOperationOnFailoverHost)(nil)).Elem()
+}
+
+type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost
+
+func init() {
+ t["DisallowedOperationOnFailoverHostFault"] = reflect.TypeOf((*DisallowedOperationOnFailoverHostFault)(nil)).Elem()
+}
+
+type DisconnectHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["DisconnectHostRequestType"] = reflect.TypeOf((*DisconnectHostRequestType)(nil)).Elem()
+}
+
+type DisconnectHost_Task DisconnectHostRequestType
+
+func init() {
+ t["DisconnectHost_Task"] = reflect.TypeOf((*DisconnectHost_Task)(nil)).Elem()
+}
+
+type DisconnectHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DisconnectedHostsBlockingEVC struct {
+ EVCConfigFault
+}
+
+func init() {
+ t["DisconnectedHostsBlockingEVC"] = reflect.TypeOf((*DisconnectedHostsBlockingEVC)(nil)).Elem()
+}
+
+type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC
+
+func init() {
+ t["DisconnectedHostsBlockingEVCFault"] = reflect.TypeOf((*DisconnectedHostsBlockingEVCFault)(nil)).Elem()
+}
+
+type DiscoverFcoeHbas DiscoverFcoeHbasRequestType
+
+func init() {
+ t["DiscoverFcoeHbas"] = reflect.TypeOf((*DiscoverFcoeHbas)(nil)).Elem()
+}
+
+type DiscoverFcoeHbasRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec"`
+}
+
+func init() {
+ t["DiscoverFcoeHbasRequestType"] = reflect.TypeOf((*DiscoverFcoeHbasRequestType)(nil)).Elem()
+}
+
+type DiscoverFcoeHbasResponse struct {
+}
+
+type DiskChangeExtent struct {
+ DynamicData
+
+ Start int64 `xml:"start"`
+ Length int64 `xml:"length"`
+}
+
+func init() {
+ t["DiskChangeExtent"] = reflect.TypeOf((*DiskChangeExtent)(nil)).Elem()
+}
+
+type DiskChangeInfo struct {
+ DynamicData
+
+ StartOffset int64 `xml:"startOffset"`
+ Length int64 `xml:"length"`
+ ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty"`
+}
+
+func init() {
+ t["DiskChangeInfo"] = reflect.TypeOf((*DiskChangeInfo)(nil)).Elem()
+}
+
+type DiskHasPartitions struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DiskHasPartitions"] = reflect.TypeOf((*DiskHasPartitions)(nil)).Elem()
+}
+
+type DiskHasPartitionsFault DiskHasPartitions
+
+func init() {
+ t["DiskHasPartitionsFault"] = reflect.TypeOf((*DiskHasPartitionsFault)(nil)).Elem()
+}
+
+type DiskIsLastRemainingNonSSD struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DiskIsLastRemainingNonSSD"] = reflect.TypeOf((*DiskIsLastRemainingNonSSD)(nil)).Elem()
+}
+
+type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD
+
+func init() {
+ t["DiskIsLastRemainingNonSSDFault"] = reflect.TypeOf((*DiskIsLastRemainingNonSSDFault)(nil)).Elem()
+}
+
+type DiskIsNonLocal struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DiskIsNonLocal"] = reflect.TypeOf((*DiskIsNonLocal)(nil)).Elem()
+}
+
+type DiskIsNonLocalFault DiskIsNonLocal
+
+func init() {
+ t["DiskIsNonLocalFault"] = reflect.TypeOf((*DiskIsNonLocalFault)(nil)).Elem()
+}
+
+type DiskIsUSB struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DiskIsUSB"] = reflect.TypeOf((*DiskIsUSB)(nil)).Elem()
+}
+
+type DiskIsUSBFault DiskIsUSB
+
+func init() {
+ t["DiskIsUSBFault"] = reflect.TypeOf((*DiskIsUSBFault)(nil)).Elem()
+}
+
+type DiskMoveTypeNotSupported struct {
+ MigrationFault
+}
+
+func init() {
+ t["DiskMoveTypeNotSupported"] = reflect.TypeOf((*DiskMoveTypeNotSupported)(nil)).Elem()
+}
+
+type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported
+
+func init() {
+ t["DiskMoveTypeNotSupportedFault"] = reflect.TypeOf((*DiskMoveTypeNotSupportedFault)(nil)).Elem()
+}
+
+type DiskNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ Disk int32 `xml:"disk"`
+}
+
+func init() {
+ t["DiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem()
+}
+
+type DiskNotSupportedFault BaseDiskNotSupported
+
+func init() {
+ t["DiskNotSupportedFault"] = reflect.TypeOf((*DiskNotSupportedFault)(nil)).Elem()
+}
+
+type DiskTooSmall struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DiskTooSmall"] = reflect.TypeOf((*DiskTooSmall)(nil)).Elem()
+}
+
+type DiskTooSmallFault DiskTooSmall
+
+func init() {
+ t["DiskTooSmallFault"] = reflect.TypeOf((*DiskTooSmallFault)(nil)).Elem()
+}
+
+type DissociateProfile DissociateProfileRequestType
+
+func init() {
+ t["DissociateProfile"] = reflect.TypeOf((*DissociateProfile)(nil)).Elem()
+}
+
+type DissociateProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["DissociateProfileRequestType"] = reflect.TypeOf((*DissociateProfileRequestType)(nil)).Elem()
+}
+
+type DissociateProfileResponse struct {
+}
+
+type DistributedVirtualPort struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Config DVPortConfigInfo `xml:"config"`
+ DvsUuid string `xml:"dvsUuid"`
+ PortgroupKey string `xml:"portgroupKey,omitempty"`
+ ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty"`
+ Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"`
+ Conflict bool `xml:"conflict"`
+ ConflictPortKey string `xml:"conflictPortKey,omitempty"`
+ State *DVPortState `xml:"state,omitempty"`
+ ConnectionCookie int32 `xml:"connectionCookie,omitempty"`
+ LastStatusChange time.Time `xml:"lastStatusChange"`
+ HostLocalPort *bool `xml:"hostLocalPort"`
+}
+
+func init() {
+ t["DistributedVirtualPort"] = reflect.TypeOf((*DistributedVirtualPort)(nil)).Elem()
+}
+
+type DistributedVirtualPortgroupInfo struct {
+ DynamicData
+
+ SwitchName string `xml:"switchName"`
+ SwitchUuid string `xml:"switchUuid"`
+ PortgroupName string `xml:"portgroupName"`
+ PortgroupKey string `xml:"portgroupKey"`
+ PortgroupType string `xml:"portgroupType"`
+ UplinkPortgroup bool `xml:"uplinkPortgroup"`
+ Portgroup ManagedObjectReference `xml:"portgroup"`
+ NetworkReservationSupported *bool `xml:"networkReservationSupported"`
+}
+
+func init() {
+ t["DistributedVirtualPortgroupInfo"] = reflect.TypeOf((*DistributedVirtualPortgroupInfo)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMember struct {
+ DynamicData
+
+ RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty"`
+ Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config"`
+ ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"`
+ UplinkPortKey []string `xml:"uplinkPortKey,omitempty"`
+ Status string `xml:"status"`
+ StatusDetail string `xml:"statusDetail,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMember"] = reflect.TypeOf((*DistributedVirtualSwitchHostMember)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberBacking struct {
+ DynamicData
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberConfigInfo struct {
+ DynamicData
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+ Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberConfigInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigInfo)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberConfigSpec struct {
+ DynamicData
+
+ Operation string `xml:"operation"`
+ Host ManagedObjectReference `xml:"host"`
+ Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr"`
+ MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty"`
+ VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberPnicBacking struct {
+ DistributedVirtualSwitchHostMemberBacking
+
+ PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberPnicBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicBacking)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberPnicSpec struct {
+ DynamicData
+
+ PnicDevice string `xml:"pnicDevice"`
+ UplinkPortKey string `xml:"uplinkPortKey,omitempty"`
+ UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty"`
+ ConnectionCookie int32 `xml:"connectionCookie,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostMemberRuntimeState struct {
+ DynamicData
+
+ CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostMemberRuntimeState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberRuntimeState)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchHostProductSpec struct {
+ DynamicData
+
+ ProductLineId string `xml:"productLineId,omitempty"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostProductSpec)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchInfo struct {
+ DynamicData
+
+ SwitchName string `xml:"switchName"`
+ SwitchUuid string `xml:"switchUuid"`
+ DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch"`
+ NetworkReservationSupported *bool `xml:"networkReservationSupported"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchInfo"] = reflect.TypeOf((*DistributedVirtualSwitchInfo)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchKeyedOpaqueBlob struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ OpaqueData string `xml:"opaqueData"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*DistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerCompatibilityResult struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerDvsProductSpec struct {
+ DynamicData
+
+ NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty"`
+ DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerDvsProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerDvsProductSpec)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerHostArrayFilter struct {
+ DistributedVirtualSwitchManagerHostDvsFilterSpec
+
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerHostArrayFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostArrayFilter)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerHostContainer struct {
+ DynamicData
+
+ Container ManagedObjectReference `xml:"container"`
+ Recursive bool `xml:"recursive"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerHostContainer"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainer)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerHostContainerFilter struct {
+ DistributedVirtualSwitchManagerHostDvsFilterSpec
+
+ HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerHostContainerFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainerFilter)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerHostDvsFilterSpec struct {
+ DynamicData
+
+ Inclusive bool `xml:"inclusive"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct {
+ DistributedVirtualSwitchManagerHostDvsFilterSpec
+
+ DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsMembershipFilter)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchManagerImportResult struct {
+ DynamicData
+
+ DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"`
+ DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty"`
+ ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchManagerImportResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerImportResult)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchPortConnectee struct {
+ DynamicData
+
+ ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty"`
+ NicKey string `xml:"nicKey,omitempty"`
+ Type string `xml:"type,omitempty"`
+ AddressHint string `xml:"addressHint,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchPortConnectee"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnectee)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchPortConnection struct {
+ DynamicData
+
+ SwitchUuid string `xml:"switchUuid"`
+ PortgroupKey string `xml:"portgroupKey,omitempty"`
+ PortKey string `xml:"portKey,omitempty"`
+ ConnectionCookie int32 `xml:"connectionCookie,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchPortConnection"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnection)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchPortCriteria struct {
+ DynamicData
+
+ Connected *bool `xml:"connected"`
+ Active *bool `xml:"active"`
+ UplinkPort *bool `xml:"uplinkPort"`
+ Scope *ManagedObjectReference `xml:"scope,omitempty"`
+ PortgroupKey []string `xml:"portgroupKey,omitempty"`
+ Inside *bool `xml:"inside"`
+ PortKey []string `xml:"portKey,omitempty"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchPortCriteria"] = reflect.TypeOf((*DistributedVirtualSwitchPortCriteria)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchPortStatistics struct {
+ DynamicData
+
+ PacketsInMulticast int64 `xml:"packetsInMulticast"`
+ PacketsOutMulticast int64 `xml:"packetsOutMulticast"`
+ BytesInMulticast int64 `xml:"bytesInMulticast"`
+ BytesOutMulticast int64 `xml:"bytesOutMulticast"`
+ PacketsInUnicast int64 `xml:"packetsInUnicast"`
+ PacketsOutUnicast int64 `xml:"packetsOutUnicast"`
+ BytesInUnicast int64 `xml:"bytesInUnicast"`
+ BytesOutUnicast int64 `xml:"bytesOutUnicast"`
+ PacketsInBroadcast int64 `xml:"packetsInBroadcast"`
+ PacketsOutBroadcast int64 `xml:"packetsOutBroadcast"`
+ BytesInBroadcast int64 `xml:"bytesInBroadcast"`
+ BytesOutBroadcast int64 `xml:"bytesOutBroadcast"`
+ PacketsInDropped int64 `xml:"packetsInDropped"`
+ PacketsOutDropped int64 `xml:"packetsOutDropped"`
+ PacketsInException int64 `xml:"packetsInException"`
+ PacketsOutException int64 `xml:"packetsOutException"`
+ BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty"`
+ BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchPortStatistics"] = reflect.TypeOf((*DistributedVirtualSwitchPortStatistics)(nil)).Elem()
+}
+
+type DistributedVirtualSwitchProductSpec struct {
+ DynamicData
+
+ Name string `xml:"name,omitempty"`
+ Vendor string `xml:"vendor,omitempty"`
+ Version string `xml:"version,omitempty"`
+ Build string `xml:"build,omitempty"`
+ ForwardingClass string `xml:"forwardingClass,omitempty"`
+ BundleId string `xml:"bundleId,omitempty"`
+ BundleUrl string `xml:"bundleUrl,omitempty"`
+}
+
+func init() {
+ t["DistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpec)(nil)).Elem()
+}
+
+type DoesCustomizationSpecExist DoesCustomizationSpecExistRequestType
+
+func init() {
+ t["DoesCustomizationSpecExist"] = reflect.TypeOf((*DoesCustomizationSpecExist)(nil)).Elem()
+}
+
+type DoesCustomizationSpecExistRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["DoesCustomizationSpecExistRequestType"] = reflect.TypeOf((*DoesCustomizationSpecExistRequestType)(nil)).Elem()
+}
+
+type DoesCustomizationSpecExistResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type DomainNotFound struct {
+ ActiveDirectoryFault
+
+ DomainName string `xml:"domainName"`
+}
+
+func init() {
+ t["DomainNotFound"] = reflect.TypeOf((*DomainNotFound)(nil)).Elem()
+}
+
+type DomainNotFoundFault DomainNotFound
+
+func init() {
+ t["DomainNotFoundFault"] = reflect.TypeOf((*DomainNotFoundFault)(nil)).Elem()
+}
+
+type DrsDisabledEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DrsDisabledEvent"] = reflect.TypeOf((*DrsDisabledEvent)(nil)).Elem()
+}
+
+type DrsDisabledOnVm struct {
+ VimFault
+}
+
+func init() {
+ t["DrsDisabledOnVm"] = reflect.TypeOf((*DrsDisabledOnVm)(nil)).Elem()
+}
+
+type DrsDisabledOnVmFault DrsDisabledOnVm
+
+func init() {
+ t["DrsDisabledOnVmFault"] = reflect.TypeOf((*DrsDisabledOnVmFault)(nil)).Elem()
+}
+
+type DrsEnabledEvent struct {
+ ClusterEvent
+
+ Behavior string `xml:"behavior"`
+}
+
+func init() {
+ t["DrsEnabledEvent"] = reflect.TypeOf((*DrsEnabledEvent)(nil)).Elem()
+}
+
+type DrsEnteredStandbyModeEvent struct {
+ EnteredStandbyModeEvent
+}
+
+func init() {
+ t["DrsEnteredStandbyModeEvent"] = reflect.TypeOf((*DrsEnteredStandbyModeEvent)(nil)).Elem()
+}
+
+type DrsEnteringStandbyModeEvent struct {
+ EnteringStandbyModeEvent
+}
+
+func init() {
+ t["DrsEnteringStandbyModeEvent"] = reflect.TypeOf((*DrsEnteringStandbyModeEvent)(nil)).Elem()
+}
+
+type DrsExitStandbyModeFailedEvent struct {
+ ExitStandbyModeFailedEvent
+}
+
+func init() {
+ t["DrsExitStandbyModeFailedEvent"] = reflect.TypeOf((*DrsExitStandbyModeFailedEvent)(nil)).Elem()
+}
+
+type DrsExitedStandbyModeEvent struct {
+ ExitedStandbyModeEvent
+}
+
+func init() {
+ t["DrsExitedStandbyModeEvent"] = reflect.TypeOf((*DrsExitedStandbyModeEvent)(nil)).Elem()
+}
+
+type DrsExitingStandbyModeEvent struct {
+ ExitingStandbyModeEvent
+}
+
+func init() {
+ t["DrsExitingStandbyModeEvent"] = reflect.TypeOf((*DrsExitingStandbyModeEvent)(nil)).Elem()
+}
+
+type DrsInvocationFailedEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DrsInvocationFailedEvent"] = reflect.TypeOf((*DrsInvocationFailedEvent)(nil)).Elem()
+}
+
+type DrsRecoveredFromFailureEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["DrsRecoveredFromFailureEvent"] = reflect.TypeOf((*DrsRecoveredFromFailureEvent)(nil)).Elem()
+}
+
+type DrsResourceConfigureFailedEvent struct {
+ HostEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["DrsResourceConfigureFailedEvent"] = reflect.TypeOf((*DrsResourceConfigureFailedEvent)(nil)).Elem()
+}
+
+type DrsResourceConfigureSyncedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["DrsResourceConfigureSyncedEvent"] = reflect.TypeOf((*DrsResourceConfigureSyncedEvent)(nil)).Elem()
+}
+
+type DrsRuleComplianceEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["DrsRuleComplianceEvent"] = reflect.TypeOf((*DrsRuleComplianceEvent)(nil)).Elem()
+}
+
+type DrsRuleViolationEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["DrsRuleViolationEvent"] = reflect.TypeOf((*DrsRuleViolationEvent)(nil)).Elem()
+}
+
+type DrsSoftRuleViolationEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["DrsSoftRuleViolationEvent"] = reflect.TypeOf((*DrsSoftRuleViolationEvent)(nil)).Elem()
+}
+
+type DrsVmMigratedEvent struct {
+ VmMigratedEvent
+}
+
+func init() {
+ t["DrsVmMigratedEvent"] = reflect.TypeOf((*DrsVmMigratedEvent)(nil)).Elem()
+}
+
+type DrsVmPoweredOnEvent struct {
+ VmPoweredOnEvent
+}
+
+func init() {
+ t["DrsVmPoweredOnEvent"] = reflect.TypeOf((*DrsVmPoweredOnEvent)(nil)).Elem()
+}
+
+type DrsVmotionIncompatibleFault struct {
+ VirtualHardwareCompatibilityIssue
+
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["DrsVmotionIncompatibleFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFault)(nil)).Elem()
+}
+
+type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault
+
+func init() {
+ t["DrsVmotionIncompatibleFaultFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFaultFault)(nil)).Elem()
+}
+
+type DuplicateCustomizationSpec DuplicateCustomizationSpecRequestType
+
+func init() {
+ t["DuplicateCustomizationSpec"] = reflect.TypeOf((*DuplicateCustomizationSpec)(nil)).Elem()
+}
+
+type DuplicateCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DuplicateCustomizationSpecRequestType"] = reflect.TypeOf((*DuplicateCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type DuplicateCustomizationSpecResponse struct {
+}
+
+type DuplicateDisks struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["DuplicateDisks"] = reflect.TypeOf((*DuplicateDisks)(nil)).Elem()
+}
+
+type DuplicateDisksFault DuplicateDisks
+
+func init() {
+ t["DuplicateDisksFault"] = reflect.TypeOf((*DuplicateDisksFault)(nil)).Elem()
+}
+
+type DuplicateIpDetectedEvent struct {
+ HostEvent
+
+ DuplicateIP string `xml:"duplicateIP"`
+ MacAddress string `xml:"macAddress"`
+}
+
+func init() {
+ t["DuplicateIpDetectedEvent"] = reflect.TypeOf((*DuplicateIpDetectedEvent)(nil)).Elem()
+}
+
+type DuplicateName struct {
+ VimFault
+
+ Name string `xml:"name"`
+ Object ManagedObjectReference `xml:"object"`
+}
+
+func init() {
+ t["DuplicateName"] = reflect.TypeOf((*DuplicateName)(nil)).Elem()
+}
+
+type DuplicateNameFault DuplicateName
+
+func init() {
+ t["DuplicateNameFault"] = reflect.TypeOf((*DuplicateNameFault)(nil)).Elem()
+}
+
+type DuplicateVsanNetworkInterface struct {
+ VsanFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["DuplicateVsanNetworkInterface"] = reflect.TypeOf((*DuplicateVsanNetworkInterface)(nil)).Elem()
+}
+
+type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface
+
+func init() {
+ t["DuplicateVsanNetworkInterfaceFault"] = reflect.TypeOf((*DuplicateVsanNetworkInterfaceFault)(nil)).Elem()
+}
+
+type DvpgImportEvent struct {
+ DVPortgroupEvent
+
+ ImportType string `xml:"importType"`
+}
+
+func init() {
+ t["DvpgImportEvent"] = reflect.TypeOf((*DvpgImportEvent)(nil)).Elem()
+}
+
+type DvpgRestoreEvent struct {
+ DVPortgroupEvent
+}
+
+func init() {
+ t["DvpgRestoreEvent"] = reflect.TypeOf((*DvpgRestoreEvent)(nil)).Elem()
+}
+
+type DvsAcceptNetworkRuleAction struct {
+ DvsNetworkRuleAction
+}
+
+func init() {
+ t["DvsAcceptNetworkRuleAction"] = reflect.TypeOf((*DvsAcceptNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsApplyOperationFault struct {
+ DvsFault
+
+ ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault"`
+}
+
+func init() {
+ t["DvsApplyOperationFault"] = reflect.TypeOf((*DvsApplyOperationFault)(nil)).Elem()
+}
+
+type DvsApplyOperationFaultFault DvsApplyOperationFault
+
+func init() {
+ t["DvsApplyOperationFaultFault"] = reflect.TypeOf((*DvsApplyOperationFaultFault)(nil)).Elem()
+}
+
+type DvsApplyOperationFaultFaultOnObject struct {
+ DynamicData
+
+ ObjectId string `xml:"objectId"`
+ Type string `xml:"type"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["DvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*DvsApplyOperationFaultFaultOnObject)(nil)).Elem()
+}
+
+type DvsCopyNetworkRuleAction struct {
+ DvsNetworkRuleAction
+}
+
+func init() {
+ t["DvsCopyNetworkRuleAction"] = reflect.TypeOf((*DvsCopyNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsCreatedEvent struct {
+ DvsEvent
+
+ Parent FolderEventArgument `xml:"parent"`
+}
+
+func init() {
+ t["DvsCreatedEvent"] = reflect.TypeOf((*DvsCreatedEvent)(nil)).Elem()
+}
+
+type DvsDestroyedEvent struct {
+ DvsEvent
+}
+
+func init() {
+ t["DvsDestroyedEvent"] = reflect.TypeOf((*DvsDestroyedEvent)(nil)).Elem()
+}
+
+type DvsDropNetworkRuleAction struct {
+ DvsNetworkRuleAction
+}
+
+func init() {
+ t["DvsDropNetworkRuleAction"] = reflect.TypeOf((*DvsDropNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsEvent struct {
+ Event
+}
+
+func init() {
+ t["DvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem()
+}
+
+type DvsEventArgument struct {
+ EntityEventArgument
+
+ Dvs ManagedObjectReference `xml:"dvs"`
+}
+
+func init() {
+ t["DvsEventArgument"] = reflect.TypeOf((*DvsEventArgument)(nil)).Elem()
+}
+
+type DvsFault struct {
+ VimFault
+}
+
+func init() {
+ t["DvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem()
+}
+
+type DvsFaultFault BaseDvsFault
+
+func init() {
+ t["DvsFaultFault"] = reflect.TypeOf((*DvsFaultFault)(nil)).Elem()
+}
+
+type DvsFilterConfig struct {
+ InheritablePolicy
+
+ Key string `xml:"key,omitempty"`
+ AgentName string `xml:"agentName,omitempty"`
+ SlotNumber string `xml:"slotNumber,omitempty"`
+ Parameters *DvsFilterParameter `xml:"parameters,omitempty"`
+ OnFailure string `xml:"onFailure,omitempty"`
+}
+
+func init() {
+ t["DvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem()
+}
+
+type DvsFilterConfigSpec struct {
+ DvsFilterConfig
+
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["DvsFilterConfigSpec"] = reflect.TypeOf((*DvsFilterConfigSpec)(nil)).Elem()
+}
+
+type DvsFilterParameter struct {
+ DynamicData
+
+ Parameters []string `xml:"parameters,omitempty"`
+}
+
+func init() {
+ t["DvsFilterParameter"] = reflect.TypeOf((*DvsFilterParameter)(nil)).Elem()
+}
+
+type DvsFilterPolicy struct {
+ InheritablePolicy
+
+ FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["DvsFilterPolicy"] = reflect.TypeOf((*DvsFilterPolicy)(nil)).Elem()
+}
+
+type DvsGreEncapNetworkRuleAction struct {
+ DvsNetworkRuleAction
+
+ EncapsulationIp SingleIp `xml:"encapsulationIp"`
+}
+
+func init() {
+ t["DvsGreEncapNetworkRuleAction"] = reflect.TypeOf((*DvsGreEncapNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsHealthStatusChangeEvent struct {
+ HostEvent
+
+ SwitchUuid string `xml:"switchUuid"`
+ HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr"`
+}
+
+func init() {
+ t["DvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem()
+}
+
+type DvsHostBackInSyncEvent struct {
+ DvsEvent
+
+ HostBackInSync HostEventArgument `xml:"hostBackInSync"`
+}
+
+func init() {
+ t["DvsHostBackInSyncEvent"] = reflect.TypeOf((*DvsHostBackInSyncEvent)(nil)).Elem()
+}
+
+type DvsHostInfrastructureTrafficResource struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Description string `xml:"description,omitempty"`
+ AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo"`
+}
+
+func init() {
+ t["DvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResource)(nil)).Elem()
+}
+
+type DvsHostInfrastructureTrafficResourceAllocation struct {
+ DynamicData
+
+ Limit int64 `xml:"limit,omitempty"`
+ Shares *SharesInfo `xml:"shares,omitempty"`
+ Reservation int64 `xml:"reservation,omitempty"`
+}
+
+func init() {
+ t["DvsHostInfrastructureTrafficResourceAllocation"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResourceAllocation)(nil)).Elem()
+}
+
+type DvsHostJoinedEvent struct {
+ DvsEvent
+
+ HostJoined HostEventArgument `xml:"hostJoined"`
+}
+
+func init() {
+ t["DvsHostJoinedEvent"] = reflect.TypeOf((*DvsHostJoinedEvent)(nil)).Elem()
+}
+
+type DvsHostLeftEvent struct {
+ DvsEvent
+
+ HostLeft HostEventArgument `xml:"hostLeft"`
+}
+
+func init() {
+ t["DvsHostLeftEvent"] = reflect.TypeOf((*DvsHostLeftEvent)(nil)).Elem()
+}
+
+type DvsHostStatusUpdated struct {
+ DvsEvent
+
+ HostMember HostEventArgument `xml:"hostMember"`
+ OldStatus string `xml:"oldStatus,omitempty"`
+ NewStatus string `xml:"newStatus,omitempty"`
+ OldStatusDetail string `xml:"oldStatusDetail,omitempty"`
+ NewStatusDetail string `xml:"newStatusDetail,omitempty"`
+}
+
+func init() {
+ t["DvsHostStatusUpdated"] = reflect.TypeOf((*DvsHostStatusUpdated)(nil)).Elem()
+}
+
+type DvsHostVNicProfile struct {
+ DvsVNicProfile
+}
+
+func init() {
+ t["DvsHostVNicProfile"] = reflect.TypeOf((*DvsHostVNicProfile)(nil)).Elem()
+}
+
+type DvsHostWentOutOfSyncEvent struct {
+ DvsEvent
+
+ HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync"`
+}
+
+func init() {
+ t["DvsHostWentOutOfSyncEvent"] = reflect.TypeOf((*DvsHostWentOutOfSyncEvent)(nil)).Elem()
+}
+
+type DvsImportEvent struct {
+ DvsEvent
+
+ ImportType string `xml:"importType"`
+}
+
+func init() {
+ t["DvsImportEvent"] = reflect.TypeOf((*DvsImportEvent)(nil)).Elem()
+}
+
+type DvsIpNetworkRuleQualifier struct {
+ DvsNetworkRuleQualifier
+
+ SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr"`
+ DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr"`
+ Protocol *IntExpression `xml:"protocol,omitempty"`
+ SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr"`
+ DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr"`
+ TcpFlags *IntExpression `xml:"tcpFlags,omitempty"`
+}
+
+func init() {
+ t["DvsIpNetworkRuleQualifier"] = reflect.TypeOf((*DvsIpNetworkRuleQualifier)(nil)).Elem()
+}
+
+type DvsIpPort struct {
+ NegatableExpression
+}
+
+func init() {
+ t["DvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem()
+}
+
+type DvsIpPortRange struct {
+ DvsIpPort
+
+ StartPortNumber int32 `xml:"startPortNumber"`
+ EndPortNumber int32 `xml:"endPortNumber"`
+}
+
+func init() {
+ t["DvsIpPortRange"] = reflect.TypeOf((*DvsIpPortRange)(nil)).Elem()
+}
+
+type DvsLogNetworkRuleAction struct {
+ DvsNetworkRuleAction
+}
+
+func init() {
+ t["DvsLogNetworkRuleAction"] = reflect.TypeOf((*DvsLogNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsMacNetworkRuleQualifier struct {
+ DvsNetworkRuleQualifier
+
+ SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr"`
+ DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr"`
+ Protocol *IntExpression `xml:"protocol,omitempty"`
+ VlanId *IntExpression `xml:"vlanId,omitempty"`
+}
+
+func init() {
+ t["DvsMacNetworkRuleQualifier"] = reflect.TypeOf((*DvsMacNetworkRuleQualifier)(nil)).Elem()
+}
+
+type DvsMacRewriteNetworkRuleAction struct {
+ DvsNetworkRuleAction
+
+ RewriteMac string `xml:"rewriteMac"`
+}
+
+func init() {
+ t["DvsMacRewriteNetworkRuleAction"] = reflect.TypeOf((*DvsMacRewriteNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsMergedEvent struct {
+ DvsEvent
+
+ SourceDvs DvsEventArgument `xml:"sourceDvs"`
+ DestinationDvs DvsEventArgument `xml:"destinationDvs"`
+}
+
+func init() {
+ t["DvsMergedEvent"] = reflect.TypeOf((*DvsMergedEvent)(nil)).Elem()
+}
+
+type DvsNetworkRuleAction struct {
+ DynamicData
+}
+
+func init() {
+ t["DvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsNetworkRuleQualifier struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+}
+
+func init() {
+ t["DvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem()
+}
+
+type DvsNotAuthorized struct {
+ DvsFault
+
+ SessionExtensionKey string `xml:"sessionExtensionKey,omitempty"`
+ DvsExtensionKey string `xml:"dvsExtensionKey,omitempty"`
+}
+
+func init() {
+ t["DvsNotAuthorized"] = reflect.TypeOf((*DvsNotAuthorized)(nil)).Elem()
+}
+
+type DvsNotAuthorizedFault DvsNotAuthorized
+
+func init() {
+ t["DvsNotAuthorizedFault"] = reflect.TypeOf((*DvsNotAuthorizedFault)(nil)).Elem()
+}
+
+type DvsOperationBulkFault struct {
+ DvsFault
+
+ HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault"`
+}
+
+func init() {
+ t["DvsOperationBulkFault"] = reflect.TypeOf((*DvsOperationBulkFault)(nil)).Elem()
+}
+
+type DvsOperationBulkFaultFault DvsOperationBulkFault
+
+func init() {
+ t["DvsOperationBulkFaultFault"] = reflect.TypeOf((*DvsOperationBulkFaultFault)(nil)).Elem()
+}
+
+type DvsOperationBulkFaultFaultOnHost struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["DvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*DvsOperationBulkFaultFaultOnHost)(nil)).Elem()
+}
+
+type DvsOutOfSyncHostArgument struct {
+ DynamicData
+
+ OutOfSyncHost HostEventArgument `xml:"outOfSyncHost"`
+ ConfigParamters []string `xml:"configParamters"`
+}
+
+func init() {
+ t["DvsOutOfSyncHostArgument"] = reflect.TypeOf((*DvsOutOfSyncHostArgument)(nil)).Elem()
+}
+
+type DvsPortBlockedEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ StatusDetail string `xml:"statusDetail,omitempty"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+ PrevBlockState string `xml:"prevBlockState,omitempty"`
+}
+
+func init() {
+ t["DvsPortBlockedEvent"] = reflect.TypeOf((*DvsPortBlockedEvent)(nil)).Elem()
+}
+
+type DvsPortConnectedEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"`
+}
+
+func init() {
+ t["DvsPortConnectedEvent"] = reflect.TypeOf((*DvsPortConnectedEvent)(nil)).Elem()
+}
+
+type DvsPortCreatedEvent struct {
+ DvsEvent
+
+ PortKey []string `xml:"portKey"`
+}
+
+func init() {
+ t["DvsPortCreatedEvent"] = reflect.TypeOf((*DvsPortCreatedEvent)(nil)).Elem()
+}
+
+type DvsPortDeletedEvent struct {
+ DvsEvent
+
+ PortKey []string `xml:"portKey"`
+}
+
+func init() {
+ t["DvsPortDeletedEvent"] = reflect.TypeOf((*DvsPortDeletedEvent)(nil)).Elem()
+}
+
+type DvsPortDisconnectedEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"`
+}
+
+func init() {
+ t["DvsPortDisconnectedEvent"] = reflect.TypeOf((*DvsPortDisconnectedEvent)(nil)).Elem()
+}
+
+type DvsPortEnteredPassthruEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+}
+
+func init() {
+ t["DvsPortEnteredPassthruEvent"] = reflect.TypeOf((*DvsPortEnteredPassthruEvent)(nil)).Elem()
+}
+
+type DvsPortExitedPassthruEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+}
+
+func init() {
+ t["DvsPortExitedPassthruEvent"] = reflect.TypeOf((*DvsPortExitedPassthruEvent)(nil)).Elem()
+}
+
+type DvsPortJoinPortgroupEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ PortgroupKey string `xml:"portgroupKey"`
+ PortgroupName string `xml:"portgroupName"`
+}
+
+func init() {
+ t["DvsPortJoinPortgroupEvent"] = reflect.TypeOf((*DvsPortJoinPortgroupEvent)(nil)).Elem()
+}
+
+type DvsPortLeavePortgroupEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ PortgroupKey string `xml:"portgroupKey"`
+ PortgroupName string `xml:"portgroupName"`
+}
+
+func init() {
+ t["DvsPortLeavePortgroupEvent"] = reflect.TypeOf((*DvsPortLeavePortgroupEvent)(nil)).Elem()
+}
+
+type DvsPortLinkDownEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+}
+
+func init() {
+ t["DvsPortLinkDownEvent"] = reflect.TypeOf((*DvsPortLinkDownEvent)(nil)).Elem()
+}
+
+type DvsPortLinkUpEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+}
+
+func init() {
+ t["DvsPortLinkUpEvent"] = reflect.TypeOf((*DvsPortLinkUpEvent)(nil)).Elem()
+}
+
+type DvsPortReconfiguredEvent struct {
+ DvsEvent
+
+ PortKey []string `xml:"portKey"`
+ ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["DvsPortReconfiguredEvent"] = reflect.TypeOf((*DvsPortReconfiguredEvent)(nil)).Elem()
+}
+
+type DvsPortRuntimeChangeEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo DVPortStatus `xml:"runtimeInfo"`
+}
+
+func init() {
+ t["DvsPortRuntimeChangeEvent"] = reflect.TypeOf((*DvsPortRuntimeChangeEvent)(nil)).Elem()
+}
+
+type DvsPortUnblockedEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+ RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"`
+ PrevBlockState string `xml:"prevBlockState,omitempty"`
+}
+
+func init() {
+ t["DvsPortUnblockedEvent"] = reflect.TypeOf((*DvsPortUnblockedEvent)(nil)).Elem()
+}
+
+type DvsPortVendorSpecificStateChangeEvent struct {
+ DvsEvent
+
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["DvsPortVendorSpecificStateChangeEvent"] = reflect.TypeOf((*DvsPortVendorSpecificStateChangeEvent)(nil)).Elem()
+}
+
+type DvsProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ Uplink []PnicUplinkProfile `xml:"uplink,omitempty"`
+}
+
+func init() {
+ t["DvsProfile"] = reflect.TypeOf((*DvsProfile)(nil)).Elem()
+}
+
+type DvsPuntNetworkRuleAction struct {
+ DvsNetworkRuleAction
+}
+
+func init() {
+ t["DvsPuntNetworkRuleAction"] = reflect.TypeOf((*DvsPuntNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsRateLimitNetworkRuleAction struct {
+ DvsNetworkRuleAction
+
+ PacketsPerSecond int32 `xml:"packetsPerSecond"`
+}
+
+func init() {
+ t["DvsRateLimitNetworkRuleAction"] = reflect.TypeOf((*DvsRateLimitNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec"`
+}
+
+func init() {
+ t["DvsReconfigureVmVnicNetworkResourcePoolRequestType"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePoolRequestType)(nil)).Elem()
+}
+
+type DvsReconfigureVmVnicNetworkResourcePool_Task DvsReconfigureVmVnicNetworkResourcePoolRequestType
+
+func init() {
+ t["DvsReconfigureVmVnicNetworkResourcePool_Task"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePool_Task)(nil)).Elem()
+}
+
+type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type DvsReconfiguredEvent struct {
+ DvsEvent
+
+ ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr"`
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["DvsReconfiguredEvent"] = reflect.TypeOf((*DvsReconfiguredEvent)(nil)).Elem()
+}
+
+type DvsRenamedEvent struct {
+ DvsEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["DvsRenamedEvent"] = reflect.TypeOf((*DvsRenamedEvent)(nil)).Elem()
+}
+
+type DvsResourceRuntimeInfo struct {
+ DynamicData
+
+ Capacity int32 `xml:"capacity,omitempty"`
+ Usage int32 `xml:"usage,omitempty"`
+ Available int32 `xml:"available,omitempty"`
+ AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty"`
+ VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty"`
+}
+
+func init() {
+ t["DvsResourceRuntimeInfo"] = reflect.TypeOf((*DvsResourceRuntimeInfo)(nil)).Elem()
+}
+
+type DvsRestoreEvent struct {
+ DvsEvent
+}
+
+func init() {
+ t["DvsRestoreEvent"] = reflect.TypeOf((*DvsRestoreEvent)(nil)).Elem()
+}
+
+type DvsScopeViolated struct {
+ DvsFault
+
+ Scope []ManagedObjectReference `xml:"scope"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["DvsScopeViolated"] = reflect.TypeOf((*DvsScopeViolated)(nil)).Elem()
+}
+
+type DvsScopeViolatedFault DvsScopeViolated
+
+func init() {
+ t["DvsScopeViolatedFault"] = reflect.TypeOf((*DvsScopeViolatedFault)(nil)).Elem()
+}
+
+type DvsServiceConsoleVNicProfile struct {
+ DvsVNicProfile
+}
+
+func init() {
+ t["DvsServiceConsoleVNicProfile"] = reflect.TypeOf((*DvsServiceConsoleVNicProfile)(nil)).Elem()
+}
+
+type DvsSingleIpPort struct {
+ DvsIpPort
+
+ PortNumber int32 `xml:"portNumber"`
+}
+
+func init() {
+ t["DvsSingleIpPort"] = reflect.TypeOf((*DvsSingleIpPort)(nil)).Elem()
+}
+
+type DvsSystemTrafficNetworkRuleQualifier struct {
+ DvsNetworkRuleQualifier
+
+ TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty"`
+}
+
+func init() {
+ t["DvsSystemTrafficNetworkRuleQualifier"] = reflect.TypeOf((*DvsSystemTrafficNetworkRuleQualifier)(nil)).Elem()
+}
+
+type DvsTrafficFilterConfig struct {
+ DvsFilterConfig
+
+ TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty"`
+}
+
+func init() {
+ t["DvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem()
+}
+
+type DvsTrafficFilterConfigSpec struct {
+ DvsTrafficFilterConfig
+
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["DvsTrafficFilterConfigSpec"] = reflect.TypeOf((*DvsTrafficFilterConfigSpec)(nil)).Elem()
+}
+
+type DvsTrafficRule struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Sequence int32 `xml:"sequence,omitempty"`
+ Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr"`
+ Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr"`
+ Direction string `xml:"direction,omitempty"`
+}
+
+func init() {
+ t["DvsTrafficRule"] = reflect.TypeOf((*DvsTrafficRule)(nil)).Elem()
+}
+
+type DvsTrafficRuleset struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Enabled *bool `xml:"enabled"`
+ Precedence int32 `xml:"precedence,omitempty"`
+ Rules []DvsTrafficRule `xml:"rules,omitempty"`
+}
+
+func init() {
+ t["DvsTrafficRuleset"] = reflect.TypeOf((*DvsTrafficRuleset)(nil)).Elem()
+}
+
+type DvsUpdateTagNetworkRuleAction struct {
+ DvsNetworkRuleAction
+
+ QosTag int32 `xml:"qosTag,omitempty"`
+ DscpTag int32 `xml:"dscpTag,omitempty"`
+}
+
+func init() {
+ t["DvsUpdateTagNetworkRuleAction"] = reflect.TypeOf((*DvsUpdateTagNetworkRuleAction)(nil)).Elem()
+}
+
+type DvsUpgradeAvailableEvent struct {
+ DvsEvent
+
+ ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"`
+}
+
+func init() {
+ t["DvsUpgradeAvailableEvent"] = reflect.TypeOf((*DvsUpgradeAvailableEvent)(nil)).Elem()
+}
+
+type DvsUpgradeInProgressEvent struct {
+ DvsEvent
+
+ ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"`
+}
+
+func init() {
+ t["DvsUpgradeInProgressEvent"] = reflect.TypeOf((*DvsUpgradeInProgressEvent)(nil)).Elem()
+}
+
+type DvsUpgradeRejectedEvent struct {
+ DvsEvent
+
+ ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"`
+}
+
+func init() {
+ t["DvsUpgradeRejectedEvent"] = reflect.TypeOf((*DvsUpgradeRejectedEvent)(nil)).Elem()
+}
+
+type DvsUpgradedEvent struct {
+ DvsEvent
+
+ ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"`
+}
+
+func init() {
+ t["DvsUpgradedEvent"] = reflect.TypeOf((*DvsUpgradedEvent)(nil)).Elem()
+}
+
+type DvsVNicProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+ IpConfig IpAddressProfile `xml:"ipConfig"`
+}
+
+func init() {
+ t["DvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem()
+}
+
+type DvsVmVnicNetworkResourcePoolRuntimeInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name,omitempty"`
+ Capacity int32 `xml:"capacity,omitempty"`
+ Usage int32 `xml:"usage,omitempty"`
+ Available int32 `xml:"available,omitempty"`
+ Status string `xml:"status"`
+ AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty"`
+}
+
+func init() {
+ t["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*DvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
+}
+
+type DvsVmVnicResourceAllocation struct {
+ DynamicData
+
+ ReservationQuota int64 `xml:"reservationQuota,omitempty"`
+}
+
+func init() {
+ t["DvsVmVnicResourceAllocation"] = reflect.TypeOf((*DvsVmVnicResourceAllocation)(nil)).Elem()
+}
+
+type DvsVmVnicResourcePoolConfigSpec struct {
+ DynamicData
+
+ Operation string `xml:"operation"`
+ Key string `xml:"key,omitempty"`
+ ConfigVersion string `xml:"configVersion,omitempty"`
+ AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["DvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*DvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
+}
+
+type DvsVnicAllocatedResource struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VnicKey string `xml:"vnicKey"`
+ Reservation int64 `xml:"reservation,omitempty"`
+}
+
+func init() {
+ t["DvsVnicAllocatedResource"] = reflect.TypeOf((*DvsVnicAllocatedResource)(nil)).Elem()
+}
+
+type DynamicArray struct {
+ Val []AnyType `xml:"val,typeattr"`
+}
+
+func init() {
+ t["DynamicArray"] = reflect.TypeOf((*DynamicArray)(nil)).Elem()
+}
+
+type DynamicData struct {
+}
+
+func init() {
+ t["DynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem()
+}
+
+type DynamicProperty struct {
+ Name string `xml:"name"`
+ Val AnyType `xml:"val,typeattr"`
+}
+
+func init() {
+ t["DynamicProperty"] = reflect.TypeOf((*DynamicProperty)(nil)).Elem()
+}
+
+type EVCAdmissionFailed struct {
+ NotSupportedHostInCluster
+
+ Faults []LocalizedMethodFault `xml:"faults,omitempty"`
+}
+
+func init() {
+ t["EVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUFeaturesForMode struct {
+ EVCAdmissionFailed
+
+ CurrentEVCModeKey string `xml:"currentEVCModeKey"`
+}
+
+func init() {
+ t["EVCAdmissionFailedCPUFeaturesForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForMode)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode
+
+func init() {
+ t["EVCAdmissionFailedCPUFeaturesForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForModeFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUModel struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedCPUModel"] = reflect.TypeOf((*EVCAdmissionFailedCPUModel)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel
+
+func init() {
+ t["EVCAdmissionFailedCPUModelFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUModelForMode struct {
+ EVCAdmissionFailed
+
+ CurrentEVCModeKey string `xml:"currentEVCModeKey"`
+}
+
+func init() {
+ t["EVCAdmissionFailedCPUModelForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForMode)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode
+
+func init() {
+ t["EVCAdmissionFailedCPUModelForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForModeFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUVendor struct {
+ EVCAdmissionFailed
+
+ ClusterCPUVendor string `xml:"clusterCPUVendor"`
+ HostCPUVendor string `xml:"hostCPUVendor"`
+}
+
+func init() {
+ t["EVCAdmissionFailedCPUVendor"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendor)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor
+
+func init() {
+ t["EVCAdmissionFailedCPUVendorFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUVendorUnknown struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedCPUVendorUnknown"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknown)(nil)).Elem()
+}
+
+type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown
+
+func init() {
+ t["EVCAdmissionFailedCPUVendorUnknownFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknownFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedFault BaseEVCAdmissionFailed
+
+func init() {
+ t["EVCAdmissionFailedFault"] = reflect.TypeOf((*EVCAdmissionFailedFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostDisconnected struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedHostDisconnected"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnected)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected
+
+func init() {
+ t["EVCAdmissionFailedHostDisconnectedFault"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnectedFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostSoftware struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedHostSoftware"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftware)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware
+
+func init() {
+ t["EVCAdmissionFailedHostSoftwareFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostSoftwareForMode struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedHostSoftwareForMode"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForMode)(nil)).Elem()
+}
+
+type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode
+
+func init() {
+ t["EVCAdmissionFailedHostSoftwareForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForModeFault)(nil)).Elem()
+}
+
+type EVCAdmissionFailedVmActive struct {
+ EVCAdmissionFailed
+}
+
+func init() {
+ t["EVCAdmissionFailedVmActive"] = reflect.TypeOf((*EVCAdmissionFailedVmActive)(nil)).Elem()
+}
+
+type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive
+
+func init() {
+ t["EVCAdmissionFailedVmActiveFault"] = reflect.TypeOf((*EVCAdmissionFailedVmActiveFault)(nil)).Elem()
+}
+
+type EVCConfigFault struct {
+ VimFault
+
+ Faults []LocalizedMethodFault `xml:"faults,omitempty"`
+}
+
+func init() {
+ t["EVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem()
+}
+
+type EVCConfigFaultFault BaseEVCConfigFault
+
+func init() {
+ t["EVCConfigFaultFault"] = reflect.TypeOf((*EVCConfigFaultFault)(nil)).Elem()
+}
+
+type EVCMode struct {
+ ElementDescription
+
+ GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty"`
+ FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"`
+ FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"`
+ FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"`
+ Vendor string `xml:"vendor"`
+ Track []string `xml:"track,omitempty"`
+ VendorTier int32 `xml:"vendorTier"`
+}
+
+func init() {
+ t["EVCMode"] = reflect.TypeOf((*EVCMode)(nil)).Elem()
+}
+
+type EVCModeIllegalByVendor struct {
+ EVCConfigFault
+
+ ClusterCPUVendor string `xml:"clusterCPUVendor"`
+ ModeCPUVendor string `xml:"modeCPUVendor"`
+}
+
+func init() {
+ t["EVCModeIllegalByVendor"] = reflect.TypeOf((*EVCModeIllegalByVendor)(nil)).Elem()
+}
+
+type EVCModeIllegalByVendorFault EVCModeIllegalByVendor
+
+func init() {
+ t["EVCModeIllegalByVendorFault"] = reflect.TypeOf((*EVCModeIllegalByVendorFault)(nil)).Elem()
+}
+
+type EVCModeUnsupportedByHosts struct {
+ EVCConfigFault
+
+ EvcMode string `xml:"evcMode,omitempty"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+ HostName []string `xml:"hostName,omitempty"`
+}
+
+func init() {
+ t["EVCModeUnsupportedByHosts"] = reflect.TypeOf((*EVCModeUnsupportedByHosts)(nil)).Elem()
+}
+
+type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts
+
+func init() {
+ t["EVCModeUnsupportedByHostsFault"] = reflect.TypeOf((*EVCModeUnsupportedByHostsFault)(nil)).Elem()
+}
+
+type EVCUnsupportedByHostHardware struct {
+ EVCConfigFault
+
+ Host []ManagedObjectReference `xml:"host"`
+ HostName []string `xml:"hostName"`
+}
+
+func init() {
+ t["EVCUnsupportedByHostHardware"] = reflect.TypeOf((*EVCUnsupportedByHostHardware)(nil)).Elem()
+}
+
+type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware
+
+func init() {
+ t["EVCUnsupportedByHostHardwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostHardwareFault)(nil)).Elem()
+}
+
+type EVCUnsupportedByHostSoftware struct {
+ EVCConfigFault
+
+ Host []ManagedObjectReference `xml:"host"`
+ HostName []string `xml:"hostName"`
+}
+
+func init() {
+ t["EVCUnsupportedByHostSoftware"] = reflect.TypeOf((*EVCUnsupportedByHostSoftware)(nil)).Elem()
+}
+
+type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware
+
+func init() {
+ t["EVCUnsupportedByHostSoftwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostSoftwareFault)(nil)).Elem()
+}
+
+type EagerZeroVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["EagerZeroVirtualDiskRequestType"] = reflect.TypeOf((*EagerZeroVirtualDiskRequestType)(nil)).Elem()
+}
+
+type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType
+
+func init() {
+ t["EagerZeroVirtualDisk_Task"] = reflect.TypeOf((*EagerZeroVirtualDisk_Task)(nil)).Elem()
+}
+
+type EagerZeroVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type EightHostLimitViolated struct {
+ VmConfigFault
+}
+
+func init() {
+ t["EightHostLimitViolated"] = reflect.TypeOf((*EightHostLimitViolated)(nil)).Elem()
+}
+
+type EightHostLimitViolatedFault EightHostLimitViolated
+
+func init() {
+ t["EightHostLimitViolatedFault"] = reflect.TypeOf((*EightHostLimitViolatedFault)(nil)).Elem()
+}
+
+type ElementDescription struct {
+ Description
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["ElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem()
+}
+
+type EnableAlarmActions EnableAlarmActionsRequestType
+
+func init() {
+ t["EnableAlarmActions"] = reflect.TypeOf((*EnableAlarmActions)(nil)).Elem()
+}
+
+type EnableAlarmActionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["EnableAlarmActionsRequestType"] = reflect.TypeOf((*EnableAlarmActionsRequestType)(nil)).Elem()
+}
+
+type EnableAlarmActionsResponse struct {
+}
+
+type EnableCrypto EnableCryptoRequestType
+
+func init() {
+ t["EnableCrypto"] = reflect.TypeOf((*EnableCrypto)(nil)).Elem()
+}
+
+type EnableCryptoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ KeyPlain CryptoKeyPlain `xml:"keyPlain"`
+}
+
+func init() {
+ t["EnableCryptoRequestType"] = reflect.TypeOf((*EnableCryptoRequestType)(nil)).Elem()
+}
+
+type EnableCryptoResponse struct {
+}
+
+type EnableFeature EnableFeatureRequestType
+
+func init() {
+ t["EnableFeature"] = reflect.TypeOf((*EnableFeature)(nil)).Elem()
+}
+
+type EnableFeatureRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ FeatureKey string `xml:"featureKey"`
+}
+
+func init() {
+ t["EnableFeatureRequestType"] = reflect.TypeOf((*EnableFeatureRequestType)(nil)).Elem()
+}
+
+type EnableFeatureResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type EnableHyperThreading EnableHyperThreadingRequestType
+
+func init() {
+ t["EnableHyperThreading"] = reflect.TypeOf((*EnableHyperThreading)(nil)).Elem()
+}
+
+type EnableHyperThreadingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["EnableHyperThreadingRequestType"] = reflect.TypeOf((*EnableHyperThreadingRequestType)(nil)).Elem()
+}
+
+type EnableHyperThreadingResponse struct {
+}
+
+type EnableMultipathPath EnableMultipathPathRequestType
+
+func init() {
+ t["EnableMultipathPath"] = reflect.TypeOf((*EnableMultipathPath)(nil)).Elem()
+}
+
+type EnableMultipathPathRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PathName string `xml:"pathName"`
+}
+
+func init() {
+ t["EnableMultipathPathRequestType"] = reflect.TypeOf((*EnableMultipathPathRequestType)(nil)).Elem()
+}
+
+type EnableMultipathPathResponse struct {
+}
+
+type EnableNetworkResourceManagement EnableNetworkResourceManagementRequestType
+
+func init() {
+ t["EnableNetworkResourceManagement"] = reflect.TypeOf((*EnableNetworkResourceManagement)(nil)).Elem()
+}
+
+type EnableNetworkResourceManagementRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Enable bool `xml:"enable"`
+}
+
+func init() {
+ t["EnableNetworkResourceManagementRequestType"] = reflect.TypeOf((*EnableNetworkResourceManagementRequestType)(nil)).Elem()
+}
+
+type EnableNetworkResourceManagementResponse struct {
+}
+
+type EnableRuleset EnableRulesetRequestType
+
+func init() {
+ t["EnableRuleset"] = reflect.TypeOf((*EnableRuleset)(nil)).Elem()
+}
+
+type EnableRulesetRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["EnableRulesetRequestType"] = reflect.TypeOf((*EnableRulesetRequestType)(nil)).Elem()
+}
+
+type EnableRulesetResponse struct {
+}
+
+type EnableSecondaryVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["EnableSecondaryVMRequestType"] = reflect.TypeOf((*EnableSecondaryVMRequestType)(nil)).Elem()
+}
+
+type EnableSecondaryVM_Task EnableSecondaryVMRequestType
+
+func init() {
+ t["EnableSecondaryVM_Task"] = reflect.TypeOf((*EnableSecondaryVM_Task)(nil)).Elem()
+}
+
+type EnableSecondaryVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type EnableSmartCardAuthentication EnableSmartCardAuthenticationRequestType
+
+func init() {
+ t["EnableSmartCardAuthentication"] = reflect.TypeOf((*EnableSmartCardAuthentication)(nil)).Elem()
+}
+
+type EnableSmartCardAuthenticationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["EnableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*EnableSmartCardAuthenticationRequestType)(nil)).Elem()
+}
+
+type EnableSmartCardAuthenticationResponse struct {
+}
+
+type EnterLockdownMode EnterLockdownModeRequestType
+
+func init() {
+ t["EnterLockdownMode"] = reflect.TypeOf((*EnterLockdownMode)(nil)).Elem()
+}
+
+type EnterLockdownModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["EnterLockdownModeRequestType"] = reflect.TypeOf((*EnterLockdownModeRequestType)(nil)).Elem()
+}
+
+type EnterLockdownModeResponse struct {
+}
+
+type EnterMaintenanceModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Timeout int32 `xml:"timeout"`
+ EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms"`
+ MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"`
+}
+
+func init() {
+ t["EnterMaintenanceModeRequestType"] = reflect.TypeOf((*EnterMaintenanceModeRequestType)(nil)).Elem()
+}
+
+type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType
+
+func init() {
+ t["EnterMaintenanceMode_Task"] = reflect.TypeOf((*EnterMaintenanceMode_Task)(nil)).Elem()
+}
+
+type EnterMaintenanceMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type EnteredMaintenanceModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["EnteredMaintenanceModeEvent"] = reflect.TypeOf((*EnteredMaintenanceModeEvent)(nil)).Elem()
+}
+
+type EnteredStandbyModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["EnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem()
+}
+
+type EnteringMaintenanceModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["EnteringMaintenanceModeEvent"] = reflect.TypeOf((*EnteringMaintenanceModeEvent)(nil)).Elem()
+}
+
+type EnteringStandbyModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["EnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem()
+}
+
+type EntityBackup struct {
+ DynamicData
+}
+
+func init() {
+ t["EntityBackup"] = reflect.TypeOf((*EntityBackup)(nil)).Elem()
+}
+
+type EntityBackupConfig struct {
+ DynamicData
+
+ EntityType string `xml:"entityType"`
+ ConfigBlob []byte `xml:"configBlob"`
+ Key string `xml:"key,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Container *ManagedObjectReference `xml:"container,omitempty"`
+ ConfigVersion string `xml:"configVersion,omitempty"`
+}
+
+func init() {
+ t["EntityBackupConfig"] = reflect.TypeOf((*EntityBackupConfig)(nil)).Elem()
+}
+
+type EntityEventArgument struct {
+ EventArgument
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["EntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem()
+}
+
+type EntityPrivilege struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ PrivAvailability []PrivilegeAvailability `xml:"privAvailability"`
+}
+
+func init() {
+ t["EntityPrivilege"] = reflect.TypeOf((*EntityPrivilege)(nil)).Elem()
+}
+
+type EnumDescription struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Tags []BaseElementDescription `xml:"tags,typeattr"`
+}
+
+func init() {
+ t["EnumDescription"] = reflect.TypeOf((*EnumDescription)(nil)).Elem()
+}
+
+type EnvironmentBrowserConfigOptionQuerySpec struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ GuestId []string `xml:"guestId,omitempty"`
+}
+
+func init() {
+ t["EnvironmentBrowserConfigOptionQuerySpec"] = reflect.TypeOf((*EnvironmentBrowserConfigOptionQuerySpec)(nil)).Elem()
+}
+
+type ErrorUpgradeEvent struct {
+ UpgradeEvent
+}
+
+func init() {
+ t["ErrorUpgradeEvent"] = reflect.TypeOf((*ErrorUpgradeEvent)(nil)).Elem()
+}
+
+type EstimateDatabaseSize EstimateDatabaseSizeRequestType
+
+func init() {
+ t["EstimateDatabaseSize"] = reflect.TypeOf((*EstimateDatabaseSize)(nil)).Elem()
+}
+
+type EstimateDatabaseSizeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DbSizeParam DatabaseSizeParam `xml:"dbSizeParam"`
+}
+
+func init() {
+ t["EstimateDatabaseSizeRequestType"] = reflect.TypeOf((*EstimateDatabaseSizeRequestType)(nil)).Elem()
+}
+
+type EstimateDatabaseSizeResponse struct {
+ Returnval DatabaseSizeEstimate `xml:"returnval"`
+}
+
+type EstimateStorageForConsolidateSnapshotsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["EstimateStorageForConsolidateSnapshotsRequestType"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshotsRequestType)(nil)).Elem()
+}
+
+type EstimateStorageForConsolidateSnapshots_Task EstimateStorageForConsolidateSnapshotsRequestType
+
+func init() {
+ t["EstimateStorageForConsolidateSnapshots_Task"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshots_Task)(nil)).Elem()
+}
+
+type EstimateStorageForConsolidateSnapshots_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type EsxAgentHostManagerUpdateConfig EsxAgentHostManagerUpdateConfigRequestType
+
+func init() {
+ t["EsxAgentHostManagerUpdateConfig"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfig)(nil)).Elem()
+}
+
+type EsxAgentHostManagerUpdateConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo"`
+}
+
+func init() {
+ t["EsxAgentHostManagerUpdateConfigRequestType"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfigRequestType)(nil)).Elem()
+}
+
+type EsxAgentHostManagerUpdateConfigResponse struct {
+}
+
+type EvacuateVsanNodeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec"`
+ Timeout int32 `xml:"timeout"`
+}
+
+func init() {
+ t["EvacuateVsanNodeRequestType"] = reflect.TypeOf((*EvacuateVsanNodeRequestType)(nil)).Elem()
+}
+
+type EvacuateVsanNode_Task EvacuateVsanNodeRequestType
+
+func init() {
+ t["EvacuateVsanNode_Task"] = reflect.TypeOf((*EvacuateVsanNode_Task)(nil)).Elem()
+}
+
+type EvacuateVsanNode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type EvaluationLicenseSource struct {
+ LicenseSource
+
+ RemainingHours int64 `xml:"remainingHours,omitempty"`
+}
+
+func init() {
+ t["EvaluationLicenseSource"] = reflect.TypeOf((*EvaluationLicenseSource)(nil)).Elem()
+}
+
+type EvcManager EvcManagerRequestType
+
+func init() {
+ t["EvcManager"] = reflect.TypeOf((*EvcManager)(nil)).Elem()
+}
+
+type EvcManagerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["EvcManagerRequestType"] = reflect.TypeOf((*EvcManagerRequestType)(nil)).Elem()
+}
+
+type EvcManagerResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type Event struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ ChainId int32 `xml:"chainId"`
+ CreatedTime time.Time `xml:"createdTime"`
+ UserName string `xml:"userName"`
+ Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty"`
+ ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty"`
+ Host *HostEventArgument `xml:"host,omitempty"`
+ Vm *VmEventArgument `xml:"vm,omitempty"`
+ Ds *DatastoreEventArgument `xml:"ds,omitempty"`
+ Net *NetworkEventArgument `xml:"net,omitempty"`
+ Dvs *DvsEventArgument `xml:"dvs,omitempty"`
+ FullFormattedMessage string `xml:"fullFormattedMessage,omitempty"`
+ ChangeTag string `xml:"changeTag,omitempty"`
+}
+
+func init() {
+ t["Event"] = reflect.TypeOf((*Event)(nil)).Elem()
+}
+
+type EventAlarmExpression struct {
+ AlarmExpression
+
+ Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty"`
+ EventType string `xml:"eventType"`
+ EventTypeId string `xml:"eventTypeId,omitempty"`
+ ObjectType string `xml:"objectType,omitempty"`
+ Status ManagedEntityStatus `xml:"status,omitempty"`
+}
+
+func init() {
+ t["EventAlarmExpression"] = reflect.TypeOf((*EventAlarmExpression)(nil)).Elem()
+}
+
+type EventAlarmExpressionComparison struct {
+ DynamicData
+
+ AttributeName string `xml:"attributeName"`
+ Operator string `xml:"operator"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["EventAlarmExpressionComparison"] = reflect.TypeOf((*EventAlarmExpressionComparison)(nil)).Elem()
+}
+
+type EventArgDesc struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Type string `xml:"type"`
+ Description BaseElementDescription `xml:"description,omitempty,typeattr"`
+}
+
+func init() {
+ t["EventArgDesc"] = reflect.TypeOf((*EventArgDesc)(nil)).Elem()
+}
+
+type EventArgument struct {
+ DynamicData
+}
+
+func init() {
+ t["EventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem()
+}
+
+type EventDescription struct {
+ DynamicData
+
+ Category []BaseElementDescription `xml:"category,typeattr"`
+ EventInfo []EventDescriptionEventDetail `xml:"eventInfo"`
+ EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty"`
+}
+
+func init() {
+ t["EventDescription"] = reflect.TypeOf((*EventDescription)(nil)).Elem()
+}
+
+type EventDescriptionEventDetail struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Description string `xml:"description,omitempty"`
+ Category string `xml:"category"`
+ FormatOnDatacenter string `xml:"formatOnDatacenter"`
+ FormatOnComputeResource string `xml:"formatOnComputeResource"`
+ FormatOnHost string `xml:"formatOnHost"`
+ FormatOnVm string `xml:"formatOnVm"`
+ FullFormat string `xml:"fullFormat"`
+ LongDescription string `xml:"longDescription,omitempty"`
+}
+
+func init() {
+ t["EventDescriptionEventDetail"] = reflect.TypeOf((*EventDescriptionEventDetail)(nil)).Elem()
+}
+
+type EventEx struct {
+ Event
+
+ EventTypeId string `xml:"eventTypeId"`
+ Severity string `xml:"severity,omitempty"`
+ Message string `xml:"message,omitempty"`
+ Arguments []KeyAnyValue `xml:"arguments,omitempty"`
+ ObjectId string `xml:"objectId,omitempty"`
+ ObjectType string `xml:"objectType,omitempty"`
+ ObjectName string `xml:"objectName,omitempty"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["EventEx"] = reflect.TypeOf((*EventEx)(nil)).Elem()
+}
+
+type EventFilterSpec struct {
+ DynamicData
+
+ Entity *EventFilterSpecByEntity `xml:"entity,omitempty"`
+ Time *EventFilterSpecByTime `xml:"time,omitempty"`
+ UserName *EventFilterSpecByUsername `xml:"userName,omitempty"`
+ EventChainId int32 `xml:"eventChainId,omitempty"`
+ Alarm *ManagedObjectReference `xml:"alarm,omitempty"`
+ ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty"`
+ DisableFullMessage *bool `xml:"disableFullMessage"`
+ Category []string `xml:"category,omitempty"`
+ Type []string `xml:"type,omitempty"`
+ Tag []string `xml:"tag,omitempty"`
+ EventTypeId []string `xml:"eventTypeId,omitempty"`
+ MaxCount int32 `xml:"maxCount,omitempty"`
+}
+
+func init() {
+ t["EventFilterSpec"] = reflect.TypeOf((*EventFilterSpec)(nil)).Elem()
+}
+
+type EventFilterSpecByEntity struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ Recursion EventFilterSpecRecursionOption `xml:"recursion"`
+}
+
+func init() {
+ t["EventFilterSpecByEntity"] = reflect.TypeOf((*EventFilterSpecByEntity)(nil)).Elem()
+}
+
+type EventFilterSpecByTime struct {
+ DynamicData
+
+ BeginTime *time.Time `xml:"beginTime"`
+ EndTime *time.Time `xml:"endTime"`
+}
+
+func init() {
+ t["EventFilterSpecByTime"] = reflect.TypeOf((*EventFilterSpecByTime)(nil)).Elem()
+}
+
+type EventFilterSpecByUsername struct {
+ DynamicData
+
+ SystemUser bool `xml:"systemUser"`
+ UserList []string `xml:"userList,omitempty"`
+}
+
+func init() {
+ t["EventFilterSpecByUsername"] = reflect.TypeOf((*EventFilterSpecByUsername)(nil)).Elem()
+}
+
+type ExecuteHostProfile ExecuteHostProfileRequestType
+
+func init() {
+ t["ExecuteHostProfile"] = reflect.TypeOf((*ExecuteHostProfile)(nil)).Elem()
+}
+
+type ExecuteHostProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty"`
+}
+
+func init() {
+ t["ExecuteHostProfileRequestType"] = reflect.TypeOf((*ExecuteHostProfileRequestType)(nil)).Elem()
+}
+
+type ExecuteHostProfileResponse struct {
+ Returnval BaseProfileExecuteResult `xml:"returnval,typeattr"`
+}
+
+type ExecuteSimpleCommand ExecuteSimpleCommandRequestType
+
+func init() {
+ t["ExecuteSimpleCommand"] = reflect.TypeOf((*ExecuteSimpleCommand)(nil)).Elem()
+}
+
+type ExecuteSimpleCommandRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Arguments []string `xml:"arguments,omitempty"`
+}
+
+func init() {
+ t["ExecuteSimpleCommandRequestType"] = reflect.TypeOf((*ExecuteSimpleCommandRequestType)(nil)).Elem()
+}
+
+type ExecuteSimpleCommandResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type ExitLockdownMode ExitLockdownModeRequestType
+
+func init() {
+ t["ExitLockdownMode"] = reflect.TypeOf((*ExitLockdownMode)(nil)).Elem()
+}
+
+type ExitLockdownModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExitLockdownModeRequestType"] = reflect.TypeOf((*ExitLockdownModeRequestType)(nil)).Elem()
+}
+
+type ExitLockdownModeResponse struct {
+}
+
+type ExitMaintenanceModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["ExitMaintenanceModeEvent"] = reflect.TypeOf((*ExitMaintenanceModeEvent)(nil)).Elem()
+}
+
+type ExitMaintenanceModeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Timeout int32 `xml:"timeout"`
+}
+
+func init() {
+ t["ExitMaintenanceModeRequestType"] = reflect.TypeOf((*ExitMaintenanceModeRequestType)(nil)).Elem()
+}
+
+type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType
+
+func init() {
+ t["ExitMaintenanceMode_Task"] = reflect.TypeOf((*ExitMaintenanceMode_Task)(nil)).Elem()
+}
+
+type ExitMaintenanceMode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExitStandbyModeFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["ExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem()
+}
+
+type ExitedStandbyModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["ExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem()
+}
+
+type ExitingStandbyModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["ExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem()
+}
+
+type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType
+
+func init() {
+ t["ExpandVmfsDatastore"] = reflect.TypeOf((*ExpandVmfsDatastore)(nil)).Elem()
+}
+
+type ExpandVmfsDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VmfsDatastoreExpandSpec `xml:"spec"`
+}
+
+func init() {
+ t["ExpandVmfsDatastoreRequestType"] = reflect.TypeOf((*ExpandVmfsDatastoreRequestType)(nil)).Elem()
+}
+
+type ExpandVmfsDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExpandVmfsExtent ExpandVmfsExtentRequestType
+
+func init() {
+ t["ExpandVmfsExtent"] = reflect.TypeOf((*ExpandVmfsExtent)(nil)).Elem()
+}
+
+type ExpandVmfsExtentRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsPath string `xml:"vmfsPath"`
+ Extent HostScsiDiskPartition `xml:"extent"`
+}
+
+func init() {
+ t["ExpandVmfsExtentRequestType"] = reflect.TypeOf((*ExpandVmfsExtentRequestType)(nil)).Elem()
+}
+
+type ExpandVmfsExtentResponse struct {
+}
+
+type ExpiredAddonLicense struct {
+ ExpiredFeatureLicense
+}
+
+func init() {
+ t["ExpiredAddonLicense"] = reflect.TypeOf((*ExpiredAddonLicense)(nil)).Elem()
+}
+
+type ExpiredAddonLicenseFault ExpiredAddonLicense
+
+func init() {
+ t["ExpiredAddonLicenseFault"] = reflect.TypeOf((*ExpiredAddonLicenseFault)(nil)).Elem()
+}
+
+type ExpiredEditionLicense struct {
+ ExpiredFeatureLicense
+}
+
+func init() {
+ t["ExpiredEditionLicense"] = reflect.TypeOf((*ExpiredEditionLicense)(nil)).Elem()
+}
+
+type ExpiredEditionLicenseFault ExpiredEditionLicense
+
+func init() {
+ t["ExpiredEditionLicenseFault"] = reflect.TypeOf((*ExpiredEditionLicenseFault)(nil)).Elem()
+}
+
+type ExpiredFeatureLicense struct {
+ NotEnoughLicenses
+
+ Feature string `xml:"feature"`
+ Count int32 `xml:"count"`
+ ExpirationDate time.Time `xml:"expirationDate"`
+}
+
+func init() {
+ t["ExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem()
+}
+
+type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense
+
+func init() {
+ t["ExpiredFeatureLicenseFault"] = reflect.TypeOf((*ExpiredFeatureLicenseFault)(nil)).Elem()
+}
+
+type ExportAnswerFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["ExportAnswerFileRequestType"] = reflect.TypeOf((*ExportAnswerFileRequestType)(nil)).Elem()
+}
+
+type ExportAnswerFile_Task ExportAnswerFileRequestType
+
+func init() {
+ t["ExportAnswerFile_Task"] = reflect.TypeOf((*ExportAnswerFile_Task)(nil)).Elem()
+}
+
+type ExportAnswerFile_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExportProfile ExportProfileRequestType
+
+func init() {
+ t["ExportProfile"] = reflect.TypeOf((*ExportProfile)(nil)).Elem()
+}
+
+type ExportProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExportProfileRequestType"] = reflect.TypeOf((*ExportProfileRequestType)(nil)).Elem()
+}
+
+type ExportProfileResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type ExportSnapshot ExportSnapshotRequestType
+
+func init() {
+ t["ExportSnapshot"] = reflect.TypeOf((*ExportSnapshot)(nil)).Elem()
+}
+
+type ExportSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExportSnapshotRequestType"] = reflect.TypeOf((*ExportSnapshotRequestType)(nil)).Elem()
+}
+
+type ExportSnapshotResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExportVApp ExportVAppRequestType
+
+func init() {
+ t["ExportVApp"] = reflect.TypeOf((*ExportVApp)(nil)).Elem()
+}
+
+type ExportVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExportVAppRequestType"] = reflect.TypeOf((*ExportVAppRequestType)(nil)).Elem()
+}
+
+type ExportVAppResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExportVm ExportVmRequestType
+
+func init() {
+ t["ExportVm"] = reflect.TypeOf((*ExportVm)(nil)).Elem()
+}
+
+type ExportVmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExportVmRequestType"] = reflect.TypeOf((*ExportVmRequestType)(nil)).Elem()
+}
+
+type ExportVmResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExtExtendedProductInfo struct {
+ DynamicData
+
+ CompanyUrl string `xml:"companyUrl,omitempty"`
+ ProductUrl string `xml:"productUrl,omitempty"`
+ ManagementUrl string `xml:"managementUrl,omitempty"`
+ Self *ManagedObjectReference `xml:"self,omitempty"`
+}
+
+func init() {
+ t["ExtExtendedProductInfo"] = reflect.TypeOf((*ExtExtendedProductInfo)(nil)).Elem()
+}
+
+type ExtManagedEntityInfo struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ SmallIconUrl string `xml:"smallIconUrl,omitempty"`
+ IconUrl string `xml:"iconUrl,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["ExtManagedEntityInfo"] = reflect.TypeOf((*ExtManagedEntityInfo)(nil)).Elem()
+}
+
+type ExtSolutionManagerInfo struct {
+ DynamicData
+
+ Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty"`
+ SmallIconUrl string `xml:"smallIconUrl,omitempty"`
+}
+
+func init() {
+ t["ExtSolutionManagerInfo"] = reflect.TypeOf((*ExtSolutionManagerInfo)(nil)).Elem()
+}
+
+type ExtSolutionManagerInfoTabInfo struct {
+ DynamicData
+
+ Label string `xml:"label"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["ExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ExtSolutionManagerInfoTabInfo)(nil)).Elem()
+}
+
+type ExtendDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ NewCapacityInMB int64 `xml:"newCapacityInMB"`
+}
+
+func init() {
+ t["ExtendDiskRequestType"] = reflect.TypeOf((*ExtendDiskRequestType)(nil)).Elem()
+}
+
+type ExtendDisk_Task ExtendDiskRequestType
+
+func init() {
+ t["ExtendDisk_Task"] = reflect.TypeOf((*ExtendDisk_Task)(nil)).Elem()
+}
+
+type ExtendDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExtendVffs ExtendVffsRequestType
+
+func init() {
+ t["ExtendVffs"] = reflect.TypeOf((*ExtendVffs)(nil)).Elem()
+}
+
+type ExtendVffsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsPath string `xml:"vffsPath"`
+ DevicePath string `xml:"devicePath"`
+ Spec *HostDiskPartitionSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["ExtendVffsRequestType"] = reflect.TypeOf((*ExtendVffsRequestType)(nil)).Elem()
+}
+
+type ExtendVffsResponse struct {
+}
+
+type ExtendVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ NewCapacityKb int64 `xml:"newCapacityKb"`
+ EagerZero *bool `xml:"eagerZero"`
+}
+
+func init() {
+ t["ExtendVirtualDiskRequestType"] = reflect.TypeOf((*ExtendVirtualDiskRequestType)(nil)).Elem()
+}
+
+type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType
+
+func init() {
+ t["ExtendVirtualDisk_Task"] = reflect.TypeOf((*ExtendVirtualDisk_Task)(nil)).Elem()
+}
+
+type ExtendVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType
+
+func init() {
+ t["ExtendVmfsDatastore"] = reflect.TypeOf((*ExtendVmfsDatastore)(nil)).Elem()
+}
+
+type ExtendVmfsDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VmfsDatastoreExtendSpec `xml:"spec"`
+}
+
+func init() {
+ t["ExtendVmfsDatastoreRequestType"] = reflect.TypeOf((*ExtendVmfsDatastoreRequestType)(nil)).Elem()
+}
+
+type ExtendVmfsDatastoreResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ExtendedDescription struct {
+ Description
+
+ MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix"`
+ MessageArg []KeyAnyValue `xml:"messageArg,omitempty"`
+}
+
+func init() {
+ t["ExtendedDescription"] = reflect.TypeOf((*ExtendedDescription)(nil)).Elem()
+}
+
+type ExtendedElementDescription struct {
+ ElementDescription
+
+ MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix"`
+ MessageArg []KeyAnyValue `xml:"messageArg,omitempty"`
+}
+
+func init() {
+ t["ExtendedElementDescription"] = reflect.TypeOf((*ExtendedElementDescription)(nil)).Elem()
+}
+
+type ExtendedEvent struct {
+ GeneralEvent
+
+ EventTypeId string `xml:"eventTypeId"`
+ ManagedObject ManagedObjectReference `xml:"managedObject"`
+ Data []ExtendedEventPair `xml:"data,omitempty"`
+}
+
+func init() {
+ t["ExtendedEvent"] = reflect.TypeOf((*ExtendedEvent)(nil)).Elem()
+}
+
+type ExtendedEventPair struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["ExtendedEventPair"] = reflect.TypeOf((*ExtendedEventPair)(nil)).Elem()
+}
+
+type ExtendedFault struct {
+ VimFault
+
+ FaultTypeId string `xml:"faultTypeId"`
+ Data []KeyValue `xml:"data,omitempty"`
+}
+
+func init() {
+ t["ExtendedFault"] = reflect.TypeOf((*ExtendedFault)(nil)).Elem()
+}
+
+type ExtendedFaultFault ExtendedFault
+
+func init() {
+ t["ExtendedFaultFault"] = reflect.TypeOf((*ExtendedFaultFault)(nil)).Elem()
+}
+
+type Extension struct {
+ DynamicData
+
+ Description BaseDescription `xml:"description,typeattr"`
+ Key string `xml:"key"`
+ Company string `xml:"company,omitempty"`
+ Type string `xml:"type,omitempty"`
+ Version string `xml:"version"`
+ SubjectName string `xml:"subjectName,omitempty"`
+ Server []ExtensionServerInfo `xml:"server,omitempty"`
+ Client []ExtensionClientInfo `xml:"client,omitempty"`
+ TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty"`
+ EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty"`
+ FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty"`
+ PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty"`
+ ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty"`
+ LastHeartbeatTime time.Time `xml:"lastHeartbeatTime"`
+ HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty"`
+ OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty"`
+ ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty"`
+ ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty"`
+ ShownInSolutionManager *bool `xml:"shownInSolutionManager"`
+ SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty"`
+}
+
+func init() {
+ t["Extension"] = reflect.TypeOf((*Extension)(nil)).Elem()
+}
+
+type ExtensionClientInfo struct {
+ DynamicData
+
+ Version string `xml:"version"`
+ Description BaseDescription `xml:"description,typeattr"`
+ Company string `xml:"company"`
+ Type string `xml:"type"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["ExtensionClientInfo"] = reflect.TypeOf((*ExtensionClientInfo)(nil)).Elem()
+}
+
+type ExtensionEventTypeInfo struct {
+ DynamicData
+
+ EventID string `xml:"eventID"`
+ EventTypeSchema string `xml:"eventTypeSchema,omitempty"`
+}
+
+func init() {
+ t["ExtensionEventTypeInfo"] = reflect.TypeOf((*ExtensionEventTypeInfo)(nil)).Elem()
+}
+
+type ExtensionFaultTypeInfo struct {
+ DynamicData
+
+ FaultID string `xml:"faultID"`
+}
+
+func init() {
+ t["ExtensionFaultTypeInfo"] = reflect.TypeOf((*ExtensionFaultTypeInfo)(nil)).Elem()
+}
+
+type ExtensionHealthInfo struct {
+ DynamicData
+
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["ExtensionHealthInfo"] = reflect.TypeOf((*ExtensionHealthInfo)(nil)).Elem()
+}
+
+type ExtensionManagerIpAllocationUsage struct {
+ DynamicData
+
+ ExtensionKey string `xml:"extensionKey"`
+ NumAddresses int32 `xml:"numAddresses"`
+}
+
+func init() {
+ t["ExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ExtensionManagerIpAllocationUsage)(nil)).Elem()
+}
+
+type ExtensionOvfConsumerInfo struct {
+ DynamicData
+
+ CallbackUrl string `xml:"callbackUrl"`
+ SectionType []string `xml:"sectionType"`
+}
+
+func init() {
+ t["ExtensionOvfConsumerInfo"] = reflect.TypeOf((*ExtensionOvfConsumerInfo)(nil)).Elem()
+}
+
+type ExtensionPrivilegeInfo struct {
+ DynamicData
+
+ PrivID string `xml:"privID"`
+ PrivGroupName string `xml:"privGroupName"`
+}
+
+func init() {
+ t["ExtensionPrivilegeInfo"] = reflect.TypeOf((*ExtensionPrivilegeInfo)(nil)).Elem()
+}
+
+type ExtensionResourceInfo struct {
+ DynamicData
+
+ Locale string `xml:"locale"`
+ Module string `xml:"module"`
+ Data []KeyValue `xml:"data"`
+}
+
+func init() {
+ t["ExtensionResourceInfo"] = reflect.TypeOf((*ExtensionResourceInfo)(nil)).Elem()
+}
+
+type ExtensionServerInfo struct {
+ DynamicData
+
+ Url string `xml:"url"`
+ Description BaseDescription `xml:"description,typeattr"`
+ Company string `xml:"company"`
+ Type string `xml:"type"`
+ AdminEmail []string `xml:"adminEmail"`
+ ServerThumbprint string `xml:"serverThumbprint,omitempty"`
+}
+
+func init() {
+ t["ExtensionServerInfo"] = reflect.TypeOf((*ExtensionServerInfo)(nil)).Elem()
+}
+
+type ExtensionTaskTypeInfo struct {
+ DynamicData
+
+ TaskID string `xml:"taskID"`
+}
+
+func init() {
+ t["ExtensionTaskTypeInfo"] = reflect.TypeOf((*ExtensionTaskTypeInfo)(nil)).Elem()
+}
+
+type ExtractOvfEnvironment ExtractOvfEnvironmentRequestType
+
+func init() {
+ t["ExtractOvfEnvironment"] = reflect.TypeOf((*ExtractOvfEnvironment)(nil)).Elem()
+}
+
+type ExtractOvfEnvironmentRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ExtractOvfEnvironmentRequestType"] = reflect.TypeOf((*ExtractOvfEnvironmentRequestType)(nil)).Elem()
+}
+
+type ExtractOvfEnvironmentResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type FailToEnableSPBM struct {
+ NotEnoughLicenses
+
+ Cs ManagedObjectReference `xml:"cs"`
+ CsName string `xml:"csName"`
+ HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates"`
+}
+
+func init() {
+ t["FailToEnableSPBM"] = reflect.TypeOf((*FailToEnableSPBM)(nil)).Elem()
+}
+
+type FailToEnableSPBMFault FailToEnableSPBM
+
+func init() {
+ t["FailToEnableSPBMFault"] = reflect.TypeOf((*FailToEnableSPBMFault)(nil)).Elem()
+}
+
+type FailToLockFaultToleranceVMs struct {
+ RuntimeFault
+
+ VmName string `xml:"vmName"`
+ Vm ManagedObjectReference `xml:"vm"`
+ AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm"`
+}
+
+func init() {
+ t["FailToLockFaultToleranceVMs"] = reflect.TypeOf((*FailToLockFaultToleranceVMs)(nil)).Elem()
+}
+
+type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs
+
+func init() {
+ t["FailToLockFaultToleranceVMsFault"] = reflect.TypeOf((*FailToLockFaultToleranceVMsFault)(nil)).Elem()
+}
+
+type FailoverLevelRestored struct {
+ ClusterEvent
+}
+
+func init() {
+ t["FailoverLevelRestored"] = reflect.TypeOf((*FailoverLevelRestored)(nil)).Elem()
+}
+
+type FailoverNodeInfo struct {
+ DynamicData
+
+ ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings"`
+ FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty"`
+ BiosUuid string `xml:"biosUuid,omitempty"`
+}
+
+func init() {
+ t["FailoverNodeInfo"] = reflect.TypeOf((*FailoverNodeInfo)(nil)).Elem()
+}
+
+type FaultDomainId struct {
+ DynamicData
+
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["FaultDomainId"] = reflect.TypeOf((*FaultDomainId)(nil)).Elem()
+}
+
+type FaultToleranceAntiAffinityViolated struct {
+ MigrationFault
+
+ HostName string `xml:"hostName"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["FaultToleranceAntiAffinityViolated"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolated)(nil)).Elem()
+}
+
+type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated
+
+func init() {
+ t["FaultToleranceAntiAffinityViolatedFault"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolatedFault)(nil)).Elem()
+}
+
+type FaultToleranceCannotEditMem struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["FaultToleranceCannotEditMem"] = reflect.TypeOf((*FaultToleranceCannotEditMem)(nil)).Elem()
+}
+
+type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem
+
+func init() {
+ t["FaultToleranceCannotEditMemFault"] = reflect.TypeOf((*FaultToleranceCannotEditMemFault)(nil)).Elem()
+}
+
+type FaultToleranceConfigInfo struct {
+ DynamicData
+
+ Role int32 `xml:"role"`
+ InstanceUuids []string `xml:"instanceUuids"`
+ ConfigPaths []string `xml:"configPaths"`
+ Orphaned *bool `xml:"orphaned"`
+}
+
+func init() {
+ t["FaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem()
+}
+
+type FaultToleranceConfigSpec struct {
+ DynamicData
+
+ MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty"`
+ SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty"`
+}
+
+func init() {
+ t["FaultToleranceConfigSpec"] = reflect.TypeOf((*FaultToleranceConfigSpec)(nil)).Elem()
+}
+
+type FaultToleranceCpuIncompatible struct {
+ CpuIncompatible
+
+ Model bool `xml:"model"`
+ Family bool `xml:"family"`
+ Stepping bool `xml:"stepping"`
+}
+
+func init() {
+ t["FaultToleranceCpuIncompatible"] = reflect.TypeOf((*FaultToleranceCpuIncompatible)(nil)).Elem()
+}
+
+type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible
+
+func init() {
+ t["FaultToleranceCpuIncompatibleFault"] = reflect.TypeOf((*FaultToleranceCpuIncompatibleFault)(nil)).Elem()
+}
+
+type FaultToleranceDiskSpec struct {
+ DynamicData
+
+ Disk BaseVirtualDevice `xml:"disk,typeattr"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["FaultToleranceDiskSpec"] = reflect.TypeOf((*FaultToleranceDiskSpec)(nil)).Elem()
+}
+
+type FaultToleranceMetaSpec struct {
+ DynamicData
+
+ MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore"`
+}
+
+func init() {
+ t["FaultToleranceMetaSpec"] = reflect.TypeOf((*FaultToleranceMetaSpec)(nil)).Elem()
+}
+
+type FaultToleranceNeedsThickDisk struct {
+ MigrationFault
+
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["FaultToleranceNeedsThickDisk"] = reflect.TypeOf((*FaultToleranceNeedsThickDisk)(nil)).Elem()
+}
+
+type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk
+
+func init() {
+ t["FaultToleranceNeedsThickDiskFault"] = reflect.TypeOf((*FaultToleranceNeedsThickDiskFault)(nil)).Elem()
+}
+
+type FaultToleranceNotLicensed struct {
+ VmFaultToleranceIssue
+
+ HostName string `xml:"hostName,omitempty"`
+}
+
+func init() {
+ t["FaultToleranceNotLicensed"] = reflect.TypeOf((*FaultToleranceNotLicensed)(nil)).Elem()
+}
+
+type FaultToleranceNotLicensedFault FaultToleranceNotLicensed
+
+func init() {
+ t["FaultToleranceNotLicensedFault"] = reflect.TypeOf((*FaultToleranceNotLicensedFault)(nil)).Elem()
+}
+
+type FaultToleranceNotSameBuild struct {
+ MigrationFault
+
+ Build string `xml:"build"`
+}
+
+func init() {
+ t["FaultToleranceNotSameBuild"] = reflect.TypeOf((*FaultToleranceNotSameBuild)(nil)).Elem()
+}
+
+type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild
+
+func init() {
+ t["FaultToleranceNotSameBuildFault"] = reflect.TypeOf((*FaultToleranceNotSameBuildFault)(nil)).Elem()
+}
+
+type FaultTolerancePrimaryConfigInfo struct {
+ FaultToleranceConfigInfo
+
+ Secondaries []ManagedObjectReference `xml:"secondaries"`
+}
+
+func init() {
+ t["FaultTolerancePrimaryConfigInfo"] = reflect.TypeOf((*FaultTolerancePrimaryConfigInfo)(nil)).Elem()
+}
+
+type FaultTolerancePrimaryPowerOnNotAttempted struct {
+ VmFaultToleranceIssue
+
+ SecondaryVm ManagedObjectReference `xml:"secondaryVm"`
+ PrimaryVm ManagedObjectReference `xml:"primaryVm"`
+}
+
+func init() {
+ t["FaultTolerancePrimaryPowerOnNotAttempted"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttempted)(nil)).Elem()
+}
+
+type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted
+
+func init() {
+ t["FaultTolerancePrimaryPowerOnNotAttemptedFault"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttemptedFault)(nil)).Elem()
+}
+
+type FaultToleranceSecondaryConfigInfo struct {
+ FaultToleranceConfigInfo
+
+ PrimaryVM ManagedObjectReference `xml:"primaryVM"`
+}
+
+func init() {
+ t["FaultToleranceSecondaryConfigInfo"] = reflect.TypeOf((*FaultToleranceSecondaryConfigInfo)(nil)).Elem()
+}
+
+type FaultToleranceSecondaryOpResult struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ PowerOnAttempted bool `xml:"powerOnAttempted"`
+ PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty"`
+}
+
+func init() {
+ t["FaultToleranceSecondaryOpResult"] = reflect.TypeOf((*FaultToleranceSecondaryOpResult)(nil)).Elem()
+}
+
+type FaultToleranceVMConfigSpec struct {
+ DynamicData
+
+ VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty"`
+ Disks []FaultToleranceDiskSpec `xml:"disks,omitempty"`
+}
+
+func init() {
+ t["FaultToleranceVMConfigSpec"] = reflect.TypeOf((*FaultToleranceVMConfigSpec)(nil)).Elem()
+}
+
+type FaultToleranceVmNotDasProtected struct {
+ VimFault
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["FaultToleranceVmNotDasProtected"] = reflect.TypeOf((*FaultToleranceVmNotDasProtected)(nil)).Elem()
+}
+
+type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected
+
+func init() {
+ t["FaultToleranceVmNotDasProtectedFault"] = reflect.TypeOf((*FaultToleranceVmNotDasProtectedFault)(nil)).Elem()
+}
+
+type FcoeConfig struct {
+ DynamicData
+
+ PriorityClass int32 `xml:"priorityClass"`
+ SourceMac string `xml:"sourceMac"`
+ VlanRange []FcoeConfigVlanRange `xml:"vlanRange"`
+ Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities"`
+ FcoeActive bool `xml:"fcoeActive"`
+}
+
+func init() {
+ t["FcoeConfig"] = reflect.TypeOf((*FcoeConfig)(nil)).Elem()
+}
+
+type FcoeConfigFcoeCapabilities struct {
+ DynamicData
+
+ PriorityClass bool `xml:"priorityClass"`
+ SourceMacAddress bool `xml:"sourceMacAddress"`
+ VlanRange bool `xml:"vlanRange"`
+}
+
+func init() {
+ t["FcoeConfigFcoeCapabilities"] = reflect.TypeOf((*FcoeConfigFcoeCapabilities)(nil)).Elem()
+}
+
+type FcoeConfigFcoeSpecification struct {
+ DynamicData
+
+ UnderlyingPnic string `xml:"underlyingPnic"`
+ PriorityClass int32 `xml:"priorityClass,omitempty"`
+ SourceMac string `xml:"sourceMac,omitempty"`
+ VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty"`
+}
+
+func init() {
+ t["FcoeConfigFcoeSpecification"] = reflect.TypeOf((*FcoeConfigFcoeSpecification)(nil)).Elem()
+}
+
+type FcoeConfigVlanRange struct {
+ DynamicData
+
+ VlanLow int32 `xml:"vlanLow"`
+ VlanHigh int32 `xml:"vlanHigh"`
+}
+
+func init() {
+ t["FcoeConfigVlanRange"] = reflect.TypeOf((*FcoeConfigVlanRange)(nil)).Elem()
+}
+
+type FcoeFault struct {
+ VimFault
+}
+
+func init() {
+ t["FcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem()
+}
+
+type FcoeFaultFault BaseFcoeFault
+
+func init() {
+ t["FcoeFaultFault"] = reflect.TypeOf((*FcoeFaultFault)(nil)).Elem()
+}
+
+type FcoeFaultPnicHasNoPortSet struct {
+ FcoeFault
+
+ NicDevice string `xml:"nicDevice"`
+}
+
+func init() {
+ t["FcoeFaultPnicHasNoPortSet"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSet)(nil)).Elem()
+}
+
+type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet
+
+func init() {
+ t["FcoeFaultPnicHasNoPortSetFault"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSetFault)(nil)).Elem()
+}
+
+type FeatureRequirementsNotMet struct {
+ VirtualHardwareCompatibilityIssue
+
+ FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"`
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["FeatureRequirementsNotMet"] = reflect.TypeOf((*FeatureRequirementsNotMet)(nil)).Elem()
+}
+
+type FeatureRequirementsNotMetFault FeatureRequirementsNotMet
+
+func init() {
+ t["FeatureRequirementsNotMetFault"] = reflect.TypeOf((*FeatureRequirementsNotMetFault)(nil)).Elem()
+}
+
+type FetchDVPortKeys FetchDVPortKeysRequestType
+
+func init() {
+ t["FetchDVPortKeys"] = reflect.TypeOf((*FetchDVPortKeys)(nil)).Elem()
+}
+
+type FetchDVPortKeysRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty"`
+}
+
+func init() {
+ t["FetchDVPortKeysRequestType"] = reflect.TypeOf((*FetchDVPortKeysRequestType)(nil)).Elem()
+}
+
+type FetchDVPortKeysResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type FetchDVPorts FetchDVPortsRequestType
+
+func init() {
+ t["FetchDVPorts"] = reflect.TypeOf((*FetchDVPorts)(nil)).Elem()
+}
+
+type FetchDVPortsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty"`
+}
+
+func init() {
+ t["FetchDVPortsRequestType"] = reflect.TypeOf((*FetchDVPortsRequestType)(nil)).Elem()
+}
+
+type FetchDVPortsResponse struct {
+ Returnval []DistributedVirtualPort `xml:"returnval,omitempty"`
+}
+
+type FetchSystemEventLog FetchSystemEventLogRequestType
+
+func init() {
+ t["FetchSystemEventLog"] = reflect.TypeOf((*FetchSystemEventLog)(nil)).Elem()
+}
+
+type FetchSystemEventLogRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["FetchSystemEventLogRequestType"] = reflect.TypeOf((*FetchSystemEventLogRequestType)(nil)).Elem()
+}
+
+type FetchSystemEventLogResponse struct {
+ Returnval []SystemEventInfo `xml:"returnval,omitempty"`
+}
+
+type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType
+
+func init() {
+ t["FetchUserPrivilegeOnEntities"] = reflect.TypeOf((*FetchUserPrivilegeOnEntities)(nil)).Elem()
+}
+
+type FetchUserPrivilegeOnEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entities []ManagedObjectReference `xml:"entities"`
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["FetchUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*FetchUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
+}
+
+type FetchUserPrivilegeOnEntitiesResponse struct {
+ Returnval []UserPrivilegeResult `xml:"returnval,omitempty"`
+}
+
+type FileAlreadyExists struct {
+ FileFault
+}
+
+func init() {
+ t["FileAlreadyExists"] = reflect.TypeOf((*FileAlreadyExists)(nil)).Elem()
+}
+
+type FileAlreadyExistsFault FileAlreadyExists
+
+func init() {
+ t["FileAlreadyExistsFault"] = reflect.TypeOf((*FileAlreadyExistsFault)(nil)).Elem()
+}
+
+type FileBackedPortNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["FileBackedPortNotSupported"] = reflect.TypeOf((*FileBackedPortNotSupported)(nil)).Elem()
+}
+
+type FileBackedPortNotSupportedFault FileBackedPortNotSupported
+
+func init() {
+ t["FileBackedPortNotSupportedFault"] = reflect.TypeOf((*FileBackedPortNotSupportedFault)(nil)).Elem()
+}
+
+type FileBackedVirtualDiskSpec struct {
+ VirtualDiskSpec
+
+ CapacityKb int64 `xml:"capacityKb"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+ Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"`
+}
+
+func init() {
+ t["FileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem()
+}
+
+type FileFault struct {
+ VimFault
+
+ File string `xml:"file"`
+}
+
+func init() {
+ t["FileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem()
+}
+
+type FileFaultFault BaseFileFault
+
+func init() {
+ t["FileFaultFault"] = reflect.TypeOf((*FileFaultFault)(nil)).Elem()
+}
+
+type FileInfo struct {
+ DynamicData
+
+ Path string `xml:"path"`
+ FriendlyName string `xml:"friendlyName,omitempty"`
+ FileSize int64 `xml:"fileSize,omitempty"`
+ Modification *time.Time `xml:"modification"`
+ Owner string `xml:"owner,omitempty"`
+}
+
+func init() {
+ t["FileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem()
+}
+
+type FileLocked struct {
+ FileFault
+}
+
+func init() {
+ t["FileLocked"] = reflect.TypeOf((*FileLocked)(nil)).Elem()
+}
+
+type FileLockedFault FileLocked
+
+func init() {
+ t["FileLockedFault"] = reflect.TypeOf((*FileLockedFault)(nil)).Elem()
+}
+
+type FileNameTooLong struct {
+ FileFault
+}
+
+func init() {
+ t["FileNameTooLong"] = reflect.TypeOf((*FileNameTooLong)(nil)).Elem()
+}
+
+type FileNameTooLongFault FileNameTooLong
+
+func init() {
+ t["FileNameTooLongFault"] = reflect.TypeOf((*FileNameTooLongFault)(nil)).Elem()
+}
+
+type FileNotFound struct {
+ FileFault
+}
+
+func init() {
+ t["FileNotFound"] = reflect.TypeOf((*FileNotFound)(nil)).Elem()
+}
+
+type FileNotFoundFault FileNotFound
+
+func init() {
+ t["FileNotFoundFault"] = reflect.TypeOf((*FileNotFoundFault)(nil)).Elem()
+}
+
+type FileNotWritable struct {
+ FileFault
+}
+
+func init() {
+ t["FileNotWritable"] = reflect.TypeOf((*FileNotWritable)(nil)).Elem()
+}
+
+type FileNotWritableFault FileNotWritable
+
+func init() {
+ t["FileNotWritableFault"] = reflect.TypeOf((*FileNotWritableFault)(nil)).Elem()
+}
+
+type FileQuery struct {
+ DynamicData
+}
+
+func init() {
+ t["FileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem()
+}
+
+type FileQueryFlags struct {
+ DynamicData
+
+ FileType bool `xml:"fileType"`
+ FileSize bool `xml:"fileSize"`
+ Modification bool `xml:"modification"`
+ FileOwner *bool `xml:"fileOwner"`
+}
+
+func init() {
+ t["FileQueryFlags"] = reflect.TypeOf((*FileQueryFlags)(nil)).Elem()
+}
+
+type FileTooLarge struct {
+ FileFault
+
+ Datastore string `xml:"datastore"`
+ FileSize int64 `xml:"fileSize"`
+ MaxFileSize int64 `xml:"maxFileSize,omitempty"`
+}
+
+func init() {
+ t["FileTooLarge"] = reflect.TypeOf((*FileTooLarge)(nil)).Elem()
+}
+
+type FileTooLargeFault FileTooLarge
+
+func init() {
+ t["FileTooLargeFault"] = reflect.TypeOf((*FileTooLargeFault)(nil)).Elem()
+}
+
+type FileTransferInformation struct {
+ DynamicData
+
+ Attributes BaseGuestFileAttributes `xml:"attributes,typeattr"`
+ Size int64 `xml:"size"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["FileTransferInformation"] = reflect.TypeOf((*FileTransferInformation)(nil)).Elem()
+}
+
+type FilesystemQuiesceFault struct {
+ SnapshotFault
+}
+
+func init() {
+ t["FilesystemQuiesceFault"] = reflect.TypeOf((*FilesystemQuiesceFault)(nil)).Elem()
+}
+
+type FilesystemQuiesceFaultFault FilesystemQuiesceFault
+
+func init() {
+ t["FilesystemQuiesceFaultFault"] = reflect.TypeOf((*FilesystemQuiesceFaultFault)(nil)).Elem()
+}
+
+type FilterInUse struct {
+ ResourceInUse
+
+ Disk []VirtualDiskId `xml:"disk,omitempty"`
+}
+
+func init() {
+ t["FilterInUse"] = reflect.TypeOf((*FilterInUse)(nil)).Elem()
+}
+
+type FilterInUseFault FilterInUse
+
+func init() {
+ t["FilterInUseFault"] = reflect.TypeOf((*FilterInUseFault)(nil)).Elem()
+}
+
+type FindAllByDnsName FindAllByDnsNameRequestType
+
+func init() {
+ t["FindAllByDnsName"] = reflect.TypeOf((*FindAllByDnsName)(nil)).Elem()
+}
+
+type FindAllByDnsNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ DnsName string `xml:"dnsName"`
+ VmSearch bool `xml:"vmSearch"`
+}
+
+func init() {
+ t["FindAllByDnsNameRequestType"] = reflect.TypeOf((*FindAllByDnsNameRequestType)(nil)).Elem()
+}
+
+type FindAllByDnsNameResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval"`
+}
+
+type FindAllByIp FindAllByIpRequestType
+
+func init() {
+ t["FindAllByIp"] = reflect.TypeOf((*FindAllByIp)(nil)).Elem()
+}
+
+type FindAllByIpRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Ip string `xml:"ip"`
+ VmSearch bool `xml:"vmSearch"`
+}
+
+func init() {
+ t["FindAllByIpRequestType"] = reflect.TypeOf((*FindAllByIpRequestType)(nil)).Elem()
+}
+
+type FindAllByIpResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval"`
+}
+
+type FindAllByUuid FindAllByUuidRequestType
+
+func init() {
+ t["FindAllByUuid"] = reflect.TypeOf((*FindAllByUuid)(nil)).Elem()
+}
+
+type FindAllByUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Uuid string `xml:"uuid"`
+ VmSearch bool `xml:"vmSearch"`
+ InstanceUuid *bool `xml:"instanceUuid"`
+}
+
+func init() {
+ t["FindAllByUuidRequestType"] = reflect.TypeOf((*FindAllByUuidRequestType)(nil)).Elem()
+}
+
+type FindAllByUuidResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval"`
+}
+
+type FindAssociatedProfile FindAssociatedProfileRequestType
+
+func init() {
+ t["FindAssociatedProfile"] = reflect.TypeOf((*FindAssociatedProfile)(nil)).Elem()
+}
+
+type FindAssociatedProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["FindAssociatedProfileRequestType"] = reflect.TypeOf((*FindAssociatedProfileRequestType)(nil)).Elem()
+}
+
+type FindAssociatedProfileResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindByDatastorePath FindByDatastorePathRequestType
+
+func init() {
+ t["FindByDatastorePath"] = reflect.TypeOf((*FindByDatastorePath)(nil)).Elem()
+}
+
+type FindByDatastorePathRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter ManagedObjectReference `xml:"datacenter"`
+ Path string `xml:"path"`
+}
+
+func init() {
+ t["FindByDatastorePathRequestType"] = reflect.TypeOf((*FindByDatastorePathRequestType)(nil)).Elem()
+}
+
+type FindByDatastorePathResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindByDnsName FindByDnsNameRequestType
+
+func init() {
+ t["FindByDnsName"] = reflect.TypeOf((*FindByDnsName)(nil)).Elem()
+}
+
+type FindByDnsNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ DnsName string `xml:"dnsName"`
+ VmSearch bool `xml:"vmSearch"`
+}
+
+func init() {
+ t["FindByDnsNameRequestType"] = reflect.TypeOf((*FindByDnsNameRequestType)(nil)).Elem()
+}
+
+type FindByDnsNameResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindByInventoryPath FindByInventoryPathRequestType
+
+func init() {
+ t["FindByInventoryPath"] = reflect.TypeOf((*FindByInventoryPath)(nil)).Elem()
+}
+
+type FindByInventoryPathRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ InventoryPath string `xml:"inventoryPath"`
+}
+
+func init() {
+ t["FindByInventoryPathRequestType"] = reflect.TypeOf((*FindByInventoryPathRequestType)(nil)).Elem()
+}
+
+type FindByInventoryPathResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindByIp FindByIpRequestType
+
+func init() {
+ t["FindByIp"] = reflect.TypeOf((*FindByIp)(nil)).Elem()
+}
+
+type FindByIpRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Ip string `xml:"ip"`
+ VmSearch bool `xml:"vmSearch"`
+}
+
+func init() {
+ t["FindByIpRequestType"] = reflect.TypeOf((*FindByIpRequestType)(nil)).Elem()
+}
+
+type FindByIpResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindByUuid FindByUuidRequestType
+
+func init() {
+ t["FindByUuid"] = reflect.TypeOf((*FindByUuid)(nil)).Elem()
+}
+
+type FindByUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Uuid string `xml:"uuid"`
+ VmSearch bool `xml:"vmSearch"`
+ InstanceUuid *bool `xml:"instanceUuid"`
+}
+
+func init() {
+ t["FindByUuidRequestType"] = reflect.TypeOf((*FindByUuidRequestType)(nil)).Elem()
+}
+
+type FindByUuidResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindChild FindChildRequestType
+
+func init() {
+ t["FindChild"] = reflect.TypeOf((*FindChild)(nil)).Elem()
+}
+
+type FindChildRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["FindChildRequestType"] = reflect.TypeOf((*FindChildRequestType)(nil)).Elem()
+}
+
+type FindChildResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type FindExtension FindExtensionRequestType
+
+func init() {
+ t["FindExtension"] = reflect.TypeOf((*FindExtension)(nil)).Elem()
+}
+
+type FindExtensionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+}
+
+func init() {
+ t["FindExtensionRequestType"] = reflect.TypeOf((*FindExtensionRequestType)(nil)).Elem()
+}
+
+type FindExtensionResponse struct {
+ Returnval *Extension `xml:"returnval,omitempty"`
+}
+
+type FindRulesForVm FindRulesForVmRequestType
+
+func init() {
+ t["FindRulesForVm"] = reflect.TypeOf((*FindRulesForVm)(nil)).Elem()
+}
+
+type FindRulesForVmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["FindRulesForVmRequestType"] = reflect.TypeOf((*FindRulesForVmRequestType)(nil)).Elem()
+}
+
+type FindRulesForVmResponse struct {
+ Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr"`
+}
+
+type FirewallProfile struct {
+ ApplyProfile
+
+ Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty"`
+}
+
+func init() {
+ t["FirewallProfile"] = reflect.TypeOf((*FirewallProfile)(nil)).Elem()
+}
+
+type FirewallProfileRulesetProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["FirewallProfileRulesetProfile"] = reflect.TypeOf((*FirewallProfileRulesetProfile)(nil)).Elem()
+}
+
+type FloatOption struct {
+ OptionType
+
+ Min float32 `xml:"min"`
+ Max float32 `xml:"max"`
+ DefaultValue float32 `xml:"defaultValue"`
+}
+
+func init() {
+ t["FloatOption"] = reflect.TypeOf((*FloatOption)(nil)).Elem()
+}
+
+type FloppyImageFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["FloppyImageFileInfo"] = reflect.TypeOf((*FloppyImageFileInfo)(nil)).Elem()
+}
+
+type FloppyImageFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["FloppyImageFileQuery"] = reflect.TypeOf((*FloppyImageFileQuery)(nil)).Elem()
+}
+
+type FolderEventArgument struct {
+ EntityEventArgument
+
+ Folder ManagedObjectReference `xml:"folder"`
+}
+
+func init() {
+ t["FolderEventArgument"] = reflect.TypeOf((*FolderEventArgument)(nil)).Elem()
+}
+
+type FolderFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["FolderFileInfo"] = reflect.TypeOf((*FolderFileInfo)(nil)).Elem()
+}
+
+type FolderFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["FolderFileQuery"] = reflect.TypeOf((*FolderFileQuery)(nil)).Elem()
+}
+
+type FormatVffs FormatVffsRequestType
+
+func init() {
+ t["FormatVffs"] = reflect.TypeOf((*FormatVffs)(nil)).Elem()
+}
+
+type FormatVffsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CreateSpec HostVffsSpec `xml:"createSpec"`
+}
+
+func init() {
+ t["FormatVffsRequestType"] = reflect.TypeOf((*FormatVffsRequestType)(nil)).Elem()
+}
+
+type FormatVffsResponse struct {
+ Returnval HostVffsVolume `xml:"returnval"`
+}
+
+type FormatVmfs FormatVmfsRequestType
+
+func init() {
+ t["FormatVmfs"] = reflect.TypeOf((*FormatVmfs)(nil)).Elem()
+}
+
+type FormatVmfsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CreateSpec HostVmfsSpec `xml:"createSpec"`
+}
+
+func init() {
+ t["FormatVmfsRequestType"] = reflect.TypeOf((*FormatVmfsRequestType)(nil)).Elem()
+}
+
+type FormatVmfsResponse struct {
+ Returnval HostVmfsVolume `xml:"returnval"`
+}
+
+type FtIssuesOnHost struct {
+ VmFaultToleranceIssue
+
+ Host ManagedObjectReference `xml:"host"`
+ HostName string `xml:"hostName"`
+ Errors []LocalizedMethodFault `xml:"errors,omitempty"`
+}
+
+func init() {
+ t["FtIssuesOnHost"] = reflect.TypeOf((*FtIssuesOnHost)(nil)).Elem()
+}
+
+type FtIssuesOnHostFault FtIssuesOnHost
+
+func init() {
+ t["FtIssuesOnHostFault"] = reflect.TypeOf((*FtIssuesOnHostFault)(nil)).Elem()
+}
+
+type FullStorageVMotionNotSupported struct {
+ MigrationFeatureNotSupported
+}
+
+func init() {
+ t["FullStorageVMotionNotSupported"] = reflect.TypeOf((*FullStorageVMotionNotSupported)(nil)).Elem()
+}
+
+type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported
+
+func init() {
+ t["FullStorageVMotionNotSupportedFault"] = reflect.TypeOf((*FullStorageVMotionNotSupportedFault)(nil)).Elem()
+}
+
+type GatewayConnectFault struct {
+ HostConnectFault
+
+ GatewayType string `xml:"gatewayType"`
+ GatewayId string `xml:"gatewayId"`
+ GatewayInfo string `xml:"gatewayInfo"`
+ Details *LocalizableMessage `xml:"details,omitempty"`
+}
+
+func init() {
+ t["GatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem()
+}
+
+type GatewayConnectFaultFault BaseGatewayConnectFault
+
+func init() {
+ t["GatewayConnectFaultFault"] = reflect.TypeOf((*GatewayConnectFaultFault)(nil)).Elem()
+}
+
+type GatewayHostNotReachable struct {
+ GatewayToHostConnectFault
+}
+
+func init() {
+ t["GatewayHostNotReachable"] = reflect.TypeOf((*GatewayHostNotReachable)(nil)).Elem()
+}
+
+type GatewayHostNotReachableFault GatewayHostNotReachable
+
+func init() {
+ t["GatewayHostNotReachableFault"] = reflect.TypeOf((*GatewayHostNotReachableFault)(nil)).Elem()
+}
+
+type GatewayNotFound struct {
+ GatewayConnectFault
+}
+
+func init() {
+ t["GatewayNotFound"] = reflect.TypeOf((*GatewayNotFound)(nil)).Elem()
+}
+
+type GatewayNotFoundFault GatewayNotFound
+
+func init() {
+ t["GatewayNotFoundFault"] = reflect.TypeOf((*GatewayNotFoundFault)(nil)).Elem()
+}
+
+type GatewayNotReachable struct {
+ GatewayConnectFault
+}
+
+func init() {
+ t["GatewayNotReachable"] = reflect.TypeOf((*GatewayNotReachable)(nil)).Elem()
+}
+
+type GatewayNotReachableFault GatewayNotReachable
+
+func init() {
+ t["GatewayNotReachableFault"] = reflect.TypeOf((*GatewayNotReachableFault)(nil)).Elem()
+}
+
+type GatewayOperationRefused struct {
+ GatewayConnectFault
+}
+
+func init() {
+ t["GatewayOperationRefused"] = reflect.TypeOf((*GatewayOperationRefused)(nil)).Elem()
+}
+
+type GatewayOperationRefusedFault GatewayOperationRefused
+
+func init() {
+ t["GatewayOperationRefusedFault"] = reflect.TypeOf((*GatewayOperationRefusedFault)(nil)).Elem()
+}
+
+type GatewayToHostAuthFault struct {
+ GatewayToHostConnectFault
+
+ InvalidProperties []string `xml:"invalidProperties"`
+ MissingProperties []string `xml:"missingProperties"`
+}
+
+func init() {
+ t["GatewayToHostAuthFault"] = reflect.TypeOf((*GatewayToHostAuthFault)(nil)).Elem()
+}
+
+type GatewayToHostAuthFaultFault GatewayToHostAuthFault
+
+func init() {
+ t["GatewayToHostAuthFaultFault"] = reflect.TypeOf((*GatewayToHostAuthFaultFault)(nil)).Elem()
+}
+
+type GatewayToHostConnectFault struct {
+ GatewayConnectFault
+
+ Hostname string `xml:"hostname"`
+ Port int32 `xml:"port,omitempty"`
+}
+
+func init() {
+ t["GatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem()
+}
+
+type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault
+
+func init() {
+ t["GatewayToHostConnectFaultFault"] = reflect.TypeOf((*GatewayToHostConnectFaultFault)(nil)).Elem()
+}
+
+type GatewayToHostTrustVerifyFault struct {
+ GatewayToHostConnectFault
+
+ VerificationToken string `xml:"verificationToken"`
+ PropertiesToVerify []KeyValue `xml:"propertiesToVerify"`
+}
+
+func init() {
+ t["GatewayToHostTrustVerifyFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFault)(nil)).Elem()
+}
+
+type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault
+
+func init() {
+ t["GatewayToHostTrustVerifyFaultFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFaultFault)(nil)).Elem()
+}
+
+type GeneralEvent struct {
+ Event
+
+ Message string `xml:"message"`
+}
+
+func init() {
+ t["GeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem()
+}
+
+type GeneralHostErrorEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralHostErrorEvent"] = reflect.TypeOf((*GeneralHostErrorEvent)(nil)).Elem()
+}
+
+type GeneralHostInfoEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralHostInfoEvent"] = reflect.TypeOf((*GeneralHostInfoEvent)(nil)).Elem()
+}
+
+type GeneralHostWarningEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralHostWarningEvent"] = reflect.TypeOf((*GeneralHostWarningEvent)(nil)).Elem()
+}
+
+type GeneralUserEvent struct {
+ GeneralEvent
+
+ Entity *ManagedEntityEventArgument `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["GeneralUserEvent"] = reflect.TypeOf((*GeneralUserEvent)(nil)).Elem()
+}
+
+type GeneralVmErrorEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralVmErrorEvent"] = reflect.TypeOf((*GeneralVmErrorEvent)(nil)).Elem()
+}
+
+type GeneralVmInfoEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralVmInfoEvent"] = reflect.TypeOf((*GeneralVmInfoEvent)(nil)).Elem()
+}
+
+type GeneralVmWarningEvent struct {
+ GeneralEvent
+}
+
+func init() {
+ t["GeneralVmWarningEvent"] = reflect.TypeOf((*GeneralVmWarningEvent)(nil)).Elem()
+}
+
+type GenerateCertificateSigningRequest GenerateCertificateSigningRequestRequestType
+
+func init() {
+ t["GenerateCertificateSigningRequest"] = reflect.TypeOf((*GenerateCertificateSigningRequest)(nil)).Elem()
+}
+
+type GenerateCertificateSigningRequestByDn GenerateCertificateSigningRequestByDnRequestType
+
+func init() {
+ t["GenerateCertificateSigningRequestByDn"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDn)(nil)).Elem()
+}
+
+type GenerateCertificateSigningRequestByDnRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DistinguishedName string `xml:"distinguishedName"`
+}
+
+func init() {
+ t["GenerateCertificateSigningRequestByDnRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDnRequestType)(nil)).Elem()
+}
+
+type GenerateCertificateSigningRequestByDnResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GenerateCertificateSigningRequestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName"`
+}
+
+func init() {
+ t["GenerateCertificateSigningRequestRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestRequestType)(nil)).Elem()
+}
+
+type GenerateCertificateSigningRequestResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GenerateClientCsr GenerateClientCsrRequestType
+
+func init() {
+ t["GenerateClientCsr"] = reflect.TypeOf((*GenerateClientCsr)(nil)).Elem()
+}
+
+type GenerateClientCsrRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+}
+
+func init() {
+ t["GenerateClientCsrRequestType"] = reflect.TypeOf((*GenerateClientCsrRequestType)(nil)).Elem()
+}
+
+type GenerateClientCsrResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GenerateConfigTaskList GenerateConfigTaskListRequestType
+
+func init() {
+ t["GenerateConfigTaskList"] = reflect.TypeOf((*GenerateConfigTaskList)(nil)).Elem()
+}
+
+type GenerateConfigTaskListRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigSpec HostConfigSpec `xml:"configSpec"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["GenerateConfigTaskListRequestType"] = reflect.TypeOf((*GenerateConfigTaskListRequestType)(nil)).Elem()
+}
+
+type GenerateConfigTaskListResponse struct {
+ Returnval HostProfileManagerConfigTaskList `xml:"returnval"`
+}
+
+type GenerateHostConfigTaskSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty"`
+}
+
+func init() {
+ t["GenerateHostConfigTaskSpecRequestType"] = reflect.TypeOf((*GenerateHostConfigTaskSpecRequestType)(nil)).Elem()
+}
+
+type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType
+
+func init() {
+ t["GenerateHostConfigTaskSpec_Task"] = reflect.TypeOf((*GenerateHostConfigTaskSpec_Task)(nil)).Elem()
+}
+
+type GenerateHostConfigTaskSpec_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type GenerateHostProfileTaskListRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigSpec HostConfigSpec `xml:"configSpec"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["GenerateHostProfileTaskListRequestType"] = reflect.TypeOf((*GenerateHostProfileTaskListRequestType)(nil)).Elem()
+}
+
+type GenerateHostProfileTaskList_Task GenerateHostProfileTaskListRequestType
+
+func init() {
+ t["GenerateHostProfileTaskList_Task"] = reflect.TypeOf((*GenerateHostProfileTaskList_Task)(nil)).Elem()
+}
+
+type GenerateHostProfileTaskList_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type GenerateKey GenerateKeyRequestType
+
+func init() {
+ t["GenerateKey"] = reflect.TypeOf((*GenerateKey)(nil)).Elem()
+}
+
+type GenerateKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ KeyProvider *KeyProviderId `xml:"keyProvider,omitempty"`
+}
+
+func init() {
+ t["GenerateKeyRequestType"] = reflect.TypeOf((*GenerateKeyRequestType)(nil)).Elem()
+}
+
+type GenerateKeyResponse struct {
+ Returnval CryptoKeyResult `xml:"returnval"`
+}
+
+type GenerateLogBundlesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IncludeDefault bool `xml:"includeDefault"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["GenerateLogBundlesRequestType"] = reflect.TypeOf((*GenerateLogBundlesRequestType)(nil)).Elem()
+}
+
+type GenerateLogBundles_Task GenerateLogBundlesRequestType
+
+func init() {
+ t["GenerateLogBundles_Task"] = reflect.TypeOf((*GenerateLogBundles_Task)(nil)).Elem()
+}
+
+type GenerateLogBundles_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType
+
+func init() {
+ t["GenerateSelfSignedClientCert"] = reflect.TypeOf((*GenerateSelfSignedClientCert)(nil)).Elem()
+}
+
+type GenerateSelfSignedClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+}
+
+func init() {
+ t["GenerateSelfSignedClientCertRequestType"] = reflect.TypeOf((*GenerateSelfSignedClientCertRequestType)(nil)).Elem()
+}
+
+type GenerateSelfSignedClientCertResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GenericDrsFault struct {
+ VimFault
+
+ HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty"`
+}
+
+func init() {
+ t["GenericDrsFault"] = reflect.TypeOf((*GenericDrsFault)(nil)).Elem()
+}
+
+type GenericDrsFaultFault GenericDrsFault
+
+func init() {
+ t["GenericDrsFaultFault"] = reflect.TypeOf((*GenericDrsFaultFault)(nil)).Elem()
+}
+
+type GenericVmConfigFault struct {
+ VmConfigFault
+
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["GenericVmConfigFault"] = reflect.TypeOf((*GenericVmConfigFault)(nil)).Elem()
+}
+
+type GenericVmConfigFaultFault GenericVmConfigFault
+
+func init() {
+ t["GenericVmConfigFaultFault"] = reflect.TypeOf((*GenericVmConfigFaultFault)(nil)).Elem()
+}
+
+type GetAlarm GetAlarmRequestType
+
+func init() {
+ t["GetAlarm"] = reflect.TypeOf((*GetAlarm)(nil)).Elem()
+}
+
+type GetAlarmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["GetAlarmRequestType"] = reflect.TypeOf((*GetAlarmRequestType)(nil)).Elem()
+}
+
+type GetAlarmResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type GetAlarmState GetAlarmStateRequestType
+
+func init() {
+ t["GetAlarmState"] = reflect.TypeOf((*GetAlarmState)(nil)).Elem()
+}
+
+type GetAlarmStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["GetAlarmStateRequestType"] = reflect.TypeOf((*GetAlarmStateRequestType)(nil)).Elem()
+}
+
+type GetAlarmStateResponse struct {
+ Returnval []AlarmState `xml:"returnval,omitempty"`
+}
+
+type GetCustomizationSpec GetCustomizationSpecRequestType
+
+func init() {
+ t["GetCustomizationSpec"] = reflect.TypeOf((*GetCustomizationSpec)(nil)).Elem()
+}
+
+type GetCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["GetCustomizationSpecRequestType"] = reflect.TypeOf((*GetCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type GetCustomizationSpecResponse struct {
+ Returnval CustomizationSpecItem `xml:"returnval"`
+}
+
+type GetPublicKey GetPublicKeyRequestType
+
+func init() {
+ t["GetPublicKey"] = reflect.TypeOf((*GetPublicKey)(nil)).Elem()
+}
+
+type GetPublicKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["GetPublicKeyRequestType"] = reflect.TypeOf((*GetPublicKeyRequestType)(nil)).Elem()
+}
+
+type GetPublicKeyResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GetResourceUsage GetResourceUsageRequestType
+
+func init() {
+ t["GetResourceUsage"] = reflect.TypeOf((*GetResourceUsage)(nil)).Elem()
+}
+
+type GetResourceUsageRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["GetResourceUsageRequestType"] = reflect.TypeOf((*GetResourceUsageRequestType)(nil)).Elem()
+}
+
+type GetResourceUsageResponse struct {
+ Returnval ClusterResourceUsageSummary `xml:"returnval"`
+}
+
+type GetVchaClusterHealth GetVchaClusterHealthRequestType
+
+func init() {
+ t["GetVchaClusterHealth"] = reflect.TypeOf((*GetVchaClusterHealth)(nil)).Elem()
+}
+
+type GetVchaClusterHealthRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["GetVchaClusterHealthRequestType"] = reflect.TypeOf((*GetVchaClusterHealthRequestType)(nil)).Elem()
+}
+
+type GetVchaClusterHealthResponse struct {
+ Returnval VchaClusterHealth `xml:"returnval"`
+}
+
+type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType
+
+func init() {
+ t["GetVsanObjExtAttrs"] = reflect.TypeOf((*GetVsanObjExtAttrs)(nil)).Elem()
+}
+
+type GetVsanObjExtAttrsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids"`
+}
+
+func init() {
+ t["GetVsanObjExtAttrsRequestType"] = reflect.TypeOf((*GetVsanObjExtAttrsRequestType)(nil)).Elem()
+}
+
+type GetVsanObjExtAttrsResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type GhostDvsProxySwitchDetectedEvent struct {
+ HostEvent
+
+ SwitchUuid []string `xml:"switchUuid"`
+}
+
+func init() {
+ t["GhostDvsProxySwitchDetectedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchDetectedEvent)(nil)).Elem()
+}
+
+type GhostDvsProxySwitchRemovedEvent struct {
+ HostEvent
+
+ SwitchUuid []string `xml:"switchUuid"`
+}
+
+func init() {
+ t["GhostDvsProxySwitchRemovedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchRemovedEvent)(nil)).Elem()
+}
+
+type GlobalMessageChangedEvent struct {
+ SessionEvent
+
+ Message string `xml:"message"`
+ PrevMessage string `xml:"prevMessage,omitempty"`
+}
+
+func init() {
+ t["GlobalMessageChangedEvent"] = reflect.TypeOf((*GlobalMessageChangedEvent)(nil)).Elem()
+}
+
+type GroupAlarmAction struct {
+ AlarmAction
+
+ Action []BaseAlarmAction `xml:"action,typeattr"`
+}
+
+func init() {
+ t["GroupAlarmAction"] = reflect.TypeOf((*GroupAlarmAction)(nil)).Elem()
+}
+
+type GuestAliases struct {
+ DynamicData
+
+ Base64Cert string `xml:"base64Cert"`
+ Aliases []GuestAuthAliasInfo `xml:"aliases"`
+}
+
+func init() {
+ t["GuestAliases"] = reflect.TypeOf((*GuestAliases)(nil)).Elem()
+}
+
+type GuestAuthAliasInfo struct {
+ DynamicData
+
+ Subject BaseGuestAuthSubject `xml:"subject,typeattr"`
+ Comment string `xml:"comment"`
+}
+
+func init() {
+ t["GuestAuthAliasInfo"] = reflect.TypeOf((*GuestAuthAliasInfo)(nil)).Elem()
+}
+
+type GuestAuthAnySubject struct {
+ GuestAuthSubject
+}
+
+func init() {
+ t["GuestAuthAnySubject"] = reflect.TypeOf((*GuestAuthAnySubject)(nil)).Elem()
+}
+
+type GuestAuthNamedSubject struct {
+ GuestAuthSubject
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["GuestAuthNamedSubject"] = reflect.TypeOf((*GuestAuthNamedSubject)(nil)).Elem()
+}
+
+type GuestAuthSubject struct {
+ DynamicData
+}
+
+func init() {
+ t["GuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem()
+}
+
+type GuestAuthentication struct {
+ DynamicData
+
+ InteractiveSession bool `xml:"interactiveSession"`
+}
+
+func init() {
+ t["GuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem()
+}
+
+type GuestAuthenticationChallenge struct {
+ GuestOperationsFault
+
+ ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr"`
+ SessionID int64 `xml:"sessionID"`
+}
+
+func init() {
+ t["GuestAuthenticationChallenge"] = reflect.TypeOf((*GuestAuthenticationChallenge)(nil)).Elem()
+}
+
+type GuestAuthenticationChallengeFault GuestAuthenticationChallenge
+
+func init() {
+ t["GuestAuthenticationChallengeFault"] = reflect.TypeOf((*GuestAuthenticationChallengeFault)(nil)).Elem()
+}
+
+type GuestComponentsOutOfDate struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["GuestComponentsOutOfDate"] = reflect.TypeOf((*GuestComponentsOutOfDate)(nil)).Elem()
+}
+
+type GuestComponentsOutOfDateFault GuestComponentsOutOfDate
+
+func init() {
+ t["GuestComponentsOutOfDateFault"] = reflect.TypeOf((*GuestComponentsOutOfDateFault)(nil)).Elem()
+}
+
+type GuestDiskInfo struct {
+ DynamicData
+
+ DiskPath string `xml:"diskPath,omitempty"`
+ Capacity int64 `xml:"capacity,omitempty"`
+ FreeSpace int64 `xml:"freeSpace,omitempty"`
+}
+
+func init() {
+ t["GuestDiskInfo"] = reflect.TypeOf((*GuestDiskInfo)(nil)).Elem()
+}
+
+type GuestFileAttributes struct {
+ DynamicData
+
+ ModificationTime *time.Time `xml:"modificationTime"`
+ AccessTime *time.Time `xml:"accessTime"`
+ SymlinkTarget string `xml:"symlinkTarget,omitempty"`
+}
+
+func init() {
+ t["GuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem()
+}
+
+type GuestFileInfo struct {
+ DynamicData
+
+ Path string `xml:"path"`
+ Type string `xml:"type"`
+ Size int64 `xml:"size"`
+ Attributes BaseGuestFileAttributes `xml:"attributes,typeattr"`
+}
+
+func init() {
+ t["GuestFileInfo"] = reflect.TypeOf((*GuestFileInfo)(nil)).Elem()
+}
+
+type GuestInfo struct {
+ DynamicData
+
+ ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty"`
+ ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty"`
+ ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty"`
+ ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty"`
+ ToolsVersion string `xml:"toolsVersion,omitempty"`
+ ToolsInstallType string `xml:"toolsInstallType,omitempty"`
+ GuestId string `xml:"guestId,omitempty"`
+ GuestFamily string `xml:"guestFamily,omitempty"`
+ GuestFullName string `xml:"guestFullName,omitempty"`
+ HostName string `xml:"hostName,omitempty"`
+ IpAddress string `xml:"ipAddress,omitempty"`
+ Net []GuestNicInfo `xml:"net,omitempty"`
+ IpStack []GuestStackInfo `xml:"ipStack,omitempty"`
+ Disk []GuestDiskInfo `xml:"disk,omitempty"`
+ Screen *GuestScreenInfo `xml:"screen,omitempty"`
+ GuestState string `xml:"guestState"`
+ AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty"`
+ GuestKernelCrashed *bool `xml:"guestKernelCrashed"`
+ AppState string `xml:"appState,omitempty"`
+ GuestOperationsReady *bool `xml:"guestOperationsReady"`
+ InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady"`
+ GuestStateChangeSupported *bool `xml:"guestStateChangeSupported"`
+ GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty"`
+}
+
+func init() {
+ t["GuestInfo"] = reflect.TypeOf((*GuestInfo)(nil)).Elem()
+}
+
+type GuestInfoNamespaceGenerationInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ GenerationNo int32 `xml:"generationNo"`
+}
+
+func init() {
+ t["GuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*GuestInfoNamespaceGenerationInfo)(nil)).Elem()
+}
+
+type GuestListFileInfo struct {
+ DynamicData
+
+ Files []GuestFileInfo `xml:"files,omitempty"`
+ Remaining int32 `xml:"remaining"`
+}
+
+func init() {
+ t["GuestListFileInfo"] = reflect.TypeOf((*GuestListFileInfo)(nil)).Elem()
+}
+
+type GuestMappedAliases struct {
+ DynamicData
+
+ Base64Cert string `xml:"base64Cert"`
+ Username string `xml:"username"`
+ Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr"`
+}
+
+func init() {
+ t["GuestMappedAliases"] = reflect.TypeOf((*GuestMappedAliases)(nil)).Elem()
+}
+
+type GuestMultipleMappings struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["GuestMultipleMappings"] = reflect.TypeOf((*GuestMultipleMappings)(nil)).Elem()
+}
+
+type GuestMultipleMappingsFault GuestMultipleMappings
+
+func init() {
+ t["GuestMultipleMappingsFault"] = reflect.TypeOf((*GuestMultipleMappingsFault)(nil)).Elem()
+}
+
+type GuestNicInfo struct {
+ DynamicData
+
+ Network string `xml:"network,omitempty"`
+ IpAddress []string `xml:"ipAddress,omitempty"`
+ MacAddress string `xml:"macAddress,omitempty"`
+ Connected bool `xml:"connected"`
+ DeviceConfigId int32 `xml:"deviceConfigId"`
+ DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty"`
+ IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty"`
+ NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["GuestNicInfo"] = reflect.TypeOf((*GuestNicInfo)(nil)).Elem()
+}
+
+type GuestOperationsFault struct {
+ VimFault
+}
+
+func init() {
+ t["GuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem()
+}
+
+type GuestOperationsFaultFault BaseGuestOperationsFault
+
+func init() {
+ t["GuestOperationsFaultFault"] = reflect.TypeOf((*GuestOperationsFaultFault)(nil)).Elem()
+}
+
+type GuestOperationsUnavailable struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["GuestOperationsUnavailable"] = reflect.TypeOf((*GuestOperationsUnavailable)(nil)).Elem()
+}
+
+type GuestOperationsUnavailableFault GuestOperationsUnavailable
+
+func init() {
+ t["GuestOperationsUnavailableFault"] = reflect.TypeOf((*GuestOperationsUnavailableFault)(nil)).Elem()
+}
+
+type GuestOsDescriptor struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Family string `xml:"family"`
+ FullName string `xml:"fullName"`
+ SupportedMaxCPUs int32 `xml:"supportedMaxCPUs"`
+ NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty"`
+ NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty"`
+ SupportedMinMemMB int32 `xml:"supportedMinMemMB"`
+ SupportedMaxMemMB int32 `xml:"supportedMaxMemMB"`
+ RecommendedMemMB int32 `xml:"recommendedMemMB"`
+ RecommendedColorDepth int32 `xml:"recommendedColorDepth"`
+ SupportedDiskControllerList []string `xml:"supportedDiskControllerList"`
+ RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty"`
+ RecommendedDiskController string `xml:"recommendedDiskController"`
+ SupportedNumDisks int32 `xml:"supportedNumDisks"`
+ RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB"`
+ RecommendedCdromController string `xml:"recommendedCdromController,omitempty"`
+ SupportedEthernetCard []string `xml:"supportedEthernetCard"`
+ RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty"`
+ SupportsSlaveDisk *bool `xml:"supportsSlaveDisk"`
+ CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty"`
+ SmcRequired *bool `xml:"smcRequired"`
+ SupportsWakeOnLan bool `xml:"supportsWakeOnLan"`
+ SupportsVMI *bool `xml:"supportsVMI"`
+ SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd"`
+ SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd"`
+ SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove"`
+ SupportedFirmware []string `xml:"supportedFirmware,omitempty"`
+ RecommendedFirmware string `xml:"recommendedFirmware,omitempty"`
+ SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty"`
+ RecommendedUSBController string `xml:"recommendedUSBController,omitempty"`
+ Supports3D *bool `xml:"supports3D"`
+ Recommended3D *bool `xml:"recommended3D"`
+ SmcRecommended *bool `xml:"smcRecommended"`
+ Ich7mRecommended *bool `xml:"ich7mRecommended"`
+ UsbRecommended *bool `xml:"usbRecommended"`
+ SupportLevel string `xml:"supportLevel,omitempty"`
+ SupportedForCreate *bool `xml:"supportedForCreate"`
+ VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty"`
+ NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty"`
+ WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty"`
+ SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot"`
+ DiskUuidEnabled *bool `xml:"diskUuidEnabled"`
+ SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI"`
+ SupportsSecureBoot *bool `xml:"supportsSecureBoot"`
+ DefaultSecureBoot *bool `xml:"defaultSecureBoot"`
+}
+
+func init() {
+ t["GuestOsDescriptor"] = reflect.TypeOf((*GuestOsDescriptor)(nil)).Elem()
+}
+
+type GuestPermissionDenied struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["GuestPermissionDenied"] = reflect.TypeOf((*GuestPermissionDenied)(nil)).Elem()
+}
+
+type GuestPermissionDeniedFault GuestPermissionDenied
+
+func init() {
+ t["GuestPermissionDeniedFault"] = reflect.TypeOf((*GuestPermissionDeniedFault)(nil)).Elem()
+}
+
+type GuestPosixFileAttributes struct {
+ GuestFileAttributes
+
+ OwnerId *int32 `xml:"ownerId"`
+ GroupId *int32 `xml:"groupId"`
+ Permissions int64 `xml:"permissions,omitempty"`
+}
+
+func init() {
+ t["GuestPosixFileAttributes"] = reflect.TypeOf((*GuestPosixFileAttributes)(nil)).Elem()
+}
+
+type GuestProcessInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Pid int64 `xml:"pid"`
+ Owner string `xml:"owner"`
+ CmdLine string `xml:"cmdLine"`
+ StartTime time.Time `xml:"startTime"`
+ EndTime *time.Time `xml:"endTime"`
+ ExitCode int32 `xml:"exitCode,omitempty"`
+}
+
+func init() {
+ t["GuestProcessInfo"] = reflect.TypeOf((*GuestProcessInfo)(nil)).Elem()
+}
+
+type GuestProcessNotFound struct {
+ GuestOperationsFault
+
+ Pid int64 `xml:"pid"`
+}
+
+func init() {
+ t["GuestProcessNotFound"] = reflect.TypeOf((*GuestProcessNotFound)(nil)).Elem()
+}
+
+type GuestProcessNotFoundFault GuestProcessNotFound
+
+func init() {
+ t["GuestProcessNotFoundFault"] = reflect.TypeOf((*GuestProcessNotFoundFault)(nil)).Elem()
+}
+
+type GuestProgramSpec struct {
+ DynamicData
+
+ ProgramPath string `xml:"programPath"`
+ Arguments string `xml:"arguments"`
+ WorkingDirectory string `xml:"workingDirectory,omitempty"`
+ EnvVariables []string `xml:"envVariables,omitempty"`
+}
+
+func init() {
+ t["GuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem()
+}
+
+type GuestRegKeyNameSpec struct {
+ DynamicData
+
+ RegistryPath string `xml:"registryPath"`
+ WowBitness string `xml:"wowBitness"`
+}
+
+func init() {
+ t["GuestRegKeyNameSpec"] = reflect.TypeOf((*GuestRegKeyNameSpec)(nil)).Elem()
+}
+
+type GuestRegKeyRecordSpec struct {
+ DynamicData
+
+ Key GuestRegKeySpec `xml:"key"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["GuestRegKeyRecordSpec"] = reflect.TypeOf((*GuestRegKeyRecordSpec)(nil)).Elem()
+}
+
+type GuestRegKeySpec struct {
+ DynamicData
+
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ ClassType string `xml:"classType"`
+ LastWritten time.Time `xml:"lastWritten"`
+}
+
+func init() {
+ t["GuestRegKeySpec"] = reflect.TypeOf((*GuestRegKeySpec)(nil)).Elem()
+}
+
+type GuestRegValueBinarySpec struct {
+ GuestRegValueDataSpec
+
+ Value []byte `xml:"value,omitempty"`
+}
+
+func init() {
+ t["GuestRegValueBinarySpec"] = reflect.TypeOf((*GuestRegValueBinarySpec)(nil)).Elem()
+}
+
+type GuestRegValueDataSpec struct {
+ DynamicData
+}
+
+func init() {
+ t["GuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem()
+}
+
+type GuestRegValueDwordSpec struct {
+ GuestRegValueDataSpec
+
+ Value int32 `xml:"value"`
+}
+
+func init() {
+ t["GuestRegValueDwordSpec"] = reflect.TypeOf((*GuestRegValueDwordSpec)(nil)).Elem()
+}
+
+type GuestRegValueExpandStringSpec struct {
+ GuestRegValueDataSpec
+
+ Value string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["GuestRegValueExpandStringSpec"] = reflect.TypeOf((*GuestRegValueExpandStringSpec)(nil)).Elem()
+}
+
+type GuestRegValueMultiStringSpec struct {
+ GuestRegValueDataSpec
+
+ Value []string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["GuestRegValueMultiStringSpec"] = reflect.TypeOf((*GuestRegValueMultiStringSpec)(nil)).Elem()
+}
+
+type GuestRegValueNameSpec struct {
+ DynamicData
+
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["GuestRegValueNameSpec"] = reflect.TypeOf((*GuestRegValueNameSpec)(nil)).Elem()
+}
+
+type GuestRegValueQwordSpec struct {
+ GuestRegValueDataSpec
+
+ Value int64 `xml:"value"`
+}
+
+func init() {
+ t["GuestRegValueQwordSpec"] = reflect.TypeOf((*GuestRegValueQwordSpec)(nil)).Elem()
+}
+
+type GuestRegValueSpec struct {
+ DynamicData
+
+ Name GuestRegValueNameSpec `xml:"name"`
+ Data BaseGuestRegValueDataSpec `xml:"data,typeattr"`
+}
+
+func init() {
+ t["GuestRegValueSpec"] = reflect.TypeOf((*GuestRegValueSpec)(nil)).Elem()
+}
+
+type GuestRegValueStringSpec struct {
+ GuestRegValueDataSpec
+
+ Value string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["GuestRegValueStringSpec"] = reflect.TypeOf((*GuestRegValueStringSpec)(nil)).Elem()
+}
+
+type GuestRegistryFault struct {
+ GuestOperationsFault
+
+ WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode"`
+}
+
+func init() {
+ t["GuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem()
+}
+
+type GuestRegistryFaultFault BaseGuestRegistryFault
+
+func init() {
+ t["GuestRegistryFaultFault"] = reflect.TypeOf((*GuestRegistryFaultFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyAlreadyExists struct {
+ GuestRegistryKeyFault
+}
+
+func init() {
+ t["GuestRegistryKeyAlreadyExists"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExists)(nil)).Elem()
+}
+
+type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists
+
+func init() {
+ t["GuestRegistryKeyAlreadyExistsFault"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExistsFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyFault struct {
+ GuestRegistryFault
+
+ KeyName string `xml:"keyName"`
+}
+
+func init() {
+ t["GuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault
+
+func init() {
+ t["GuestRegistryKeyFaultFault"] = reflect.TypeOf((*GuestRegistryKeyFaultFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyHasSubkeys struct {
+ GuestRegistryKeyFault
+}
+
+func init() {
+ t["GuestRegistryKeyHasSubkeys"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeys)(nil)).Elem()
+}
+
+type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys
+
+func init() {
+ t["GuestRegistryKeyHasSubkeysFault"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeysFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyInvalid struct {
+ GuestRegistryKeyFault
+}
+
+func init() {
+ t["GuestRegistryKeyInvalid"] = reflect.TypeOf((*GuestRegistryKeyInvalid)(nil)).Elem()
+}
+
+type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid
+
+func init() {
+ t["GuestRegistryKeyInvalidFault"] = reflect.TypeOf((*GuestRegistryKeyInvalidFault)(nil)).Elem()
+}
+
+type GuestRegistryKeyParentVolatile struct {
+ GuestRegistryKeyFault
+}
+
+func init() {
+ t["GuestRegistryKeyParentVolatile"] = reflect.TypeOf((*GuestRegistryKeyParentVolatile)(nil)).Elem()
+}
+
+type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile
+
+func init() {
+ t["GuestRegistryKeyParentVolatileFault"] = reflect.TypeOf((*GuestRegistryKeyParentVolatileFault)(nil)).Elem()
+}
+
+type GuestRegistryValueFault struct {
+ GuestRegistryFault
+
+ KeyName string `xml:"keyName"`
+ ValueName string `xml:"valueName"`
+}
+
+func init() {
+ t["GuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem()
+}
+
+type GuestRegistryValueFaultFault BaseGuestRegistryValueFault
+
+func init() {
+ t["GuestRegistryValueFaultFault"] = reflect.TypeOf((*GuestRegistryValueFaultFault)(nil)).Elem()
+}
+
+type GuestRegistryValueNotFound struct {
+ GuestRegistryValueFault
+}
+
+func init() {
+ t["GuestRegistryValueNotFound"] = reflect.TypeOf((*GuestRegistryValueNotFound)(nil)).Elem()
+}
+
+type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound
+
+func init() {
+ t["GuestRegistryValueNotFoundFault"] = reflect.TypeOf((*GuestRegistryValueNotFoundFault)(nil)).Elem()
+}
+
+type GuestScreenInfo struct {
+ DynamicData
+
+ Width int32 `xml:"width"`
+ Height int32 `xml:"height"`
+}
+
+func init() {
+ t["GuestScreenInfo"] = reflect.TypeOf((*GuestScreenInfo)(nil)).Elem()
+}
+
+type GuestStackInfo struct {
+ DynamicData
+
+ DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty"`
+ IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty"`
+ IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty"`
+ DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty"`
+}
+
+func init() {
+ t["GuestStackInfo"] = reflect.TypeOf((*GuestStackInfo)(nil)).Elem()
+}
+
+type GuestWindowsFileAttributes struct {
+ GuestFileAttributes
+
+ Hidden *bool `xml:"hidden"`
+ ReadOnly *bool `xml:"readOnly"`
+ CreateTime *time.Time `xml:"createTime"`
+}
+
+func init() {
+ t["GuestWindowsFileAttributes"] = reflect.TypeOf((*GuestWindowsFileAttributes)(nil)).Elem()
+}
+
+type GuestWindowsProgramSpec struct {
+ GuestProgramSpec
+
+ StartMinimized bool `xml:"startMinimized"`
+}
+
+func init() {
+ t["GuestWindowsProgramSpec"] = reflect.TypeOf((*GuestWindowsProgramSpec)(nil)).Elem()
+}
+
+type HAErrorsAtDest struct {
+ MigrationFault
+}
+
+func init() {
+ t["HAErrorsAtDest"] = reflect.TypeOf((*HAErrorsAtDest)(nil)).Elem()
+}
+
+type HAErrorsAtDestFault HAErrorsAtDest
+
+func init() {
+ t["HAErrorsAtDestFault"] = reflect.TypeOf((*HAErrorsAtDestFault)(nil)).Elem()
+}
+
+type HasMonitoredEntity HasMonitoredEntityRequestType
+
+func init() {
+ t["HasMonitoredEntity"] = reflect.TypeOf((*HasMonitoredEntity)(nil)).Elem()
+}
+
+type HasMonitoredEntityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["HasMonitoredEntityRequestType"] = reflect.TypeOf((*HasMonitoredEntityRequestType)(nil)).Elem()
+}
+
+type HasMonitoredEntityResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type HasPrivilegeOnEntities HasPrivilegeOnEntitiesRequestType
+
+func init() {
+ t["HasPrivilegeOnEntities"] = reflect.TypeOf((*HasPrivilegeOnEntities)(nil)).Elem()
+}
+
+type HasPrivilegeOnEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity"`
+ SessionId string `xml:"sessionId"`
+ PrivId []string `xml:"privId,omitempty"`
+}
+
+func init() {
+ t["HasPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntitiesRequestType)(nil)).Elem()
+}
+
+type HasPrivilegeOnEntitiesResponse struct {
+ Returnval []EntityPrivilege `xml:"returnval,omitempty"`
+}
+
+type HasPrivilegeOnEntity HasPrivilegeOnEntityRequestType
+
+func init() {
+ t["HasPrivilegeOnEntity"] = reflect.TypeOf((*HasPrivilegeOnEntity)(nil)).Elem()
+}
+
+type HasPrivilegeOnEntityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ SessionId string `xml:"sessionId"`
+ PrivId []string `xml:"privId,omitempty"`
+}
+
+func init() {
+ t["HasPrivilegeOnEntityRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntityRequestType)(nil)).Elem()
+}
+
+type HasPrivilegeOnEntityResponse struct {
+ Returnval []bool `xml:"returnval,omitempty"`
+}
+
+type HasProvider HasProviderRequestType
+
+func init() {
+ t["HasProvider"] = reflect.TypeOf((*HasProvider)(nil)).Elem()
+}
+
+type HasProviderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["HasProviderRequestType"] = reflect.TypeOf((*HasProviderRequestType)(nil)).Elem()
+}
+
+type HasProviderResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType
+
+func init() {
+ t["HasUserPrivilegeOnEntities"] = reflect.TypeOf((*HasUserPrivilegeOnEntities)(nil)).Elem()
+}
+
+type HasUserPrivilegeOnEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entities []ManagedObjectReference `xml:"entities"`
+ UserName string `xml:"userName"`
+ PrivId []string `xml:"privId,omitempty"`
+}
+
+func init() {
+ t["HasUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
+}
+
+type HasUserPrivilegeOnEntitiesResponse struct {
+ Returnval []EntityPrivilege `xml:"returnval,omitempty"`
+}
+
+type HbrDiskMigrationAction struct {
+ ClusterAction
+
+ CollectionId string `xml:"collectionId"`
+ CollectionName string `xml:"collectionName"`
+ DiskIds []string `xml:"diskIds"`
+ Source ManagedObjectReference `xml:"source"`
+ Destination ManagedObjectReference `xml:"destination"`
+ SizeTransferred int64 `xml:"sizeTransferred"`
+ SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty"`
+ SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty"`
+ SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty"`
+ SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty"`
+ IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty"`
+ IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty"`
+}
+
+func init() {
+ t["HbrDiskMigrationAction"] = reflect.TypeOf((*HbrDiskMigrationAction)(nil)).Elem()
+}
+
+type HbrManagerReplicationVmInfo struct {
+ DynamicData
+
+ State string `xml:"state"`
+ ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty"`
+ ImageId string `xml:"imageId,omitempty"`
+ LastError *LocalizedMethodFault `xml:"lastError,omitempty"`
+}
+
+func init() {
+ t["HbrManagerReplicationVmInfo"] = reflect.TypeOf((*HbrManagerReplicationVmInfo)(nil)).Elem()
+}
+
+type HbrManagerVmReplicationCapability struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ SupportedQuiesceMode string `xml:"supportedQuiesceMode"`
+ CompressionSupported bool `xml:"compressionSupported"`
+ MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity"`
+ MinRpo int64 `xml:"minRpo,omitempty"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HbrManagerVmReplicationCapability"] = reflect.TypeOf((*HbrManagerVmReplicationCapability)(nil)).Elem()
+}
+
+type HealthStatusChangedEvent struct {
+ Event
+
+ ComponentId string `xml:"componentId"`
+ OldStatus string `xml:"oldStatus"`
+ NewStatus string `xml:"newStatus"`
+ ComponentName string `xml:"componentName"`
+ ServiceId string `xml:"serviceId,omitempty"`
+}
+
+func init() {
+ t["HealthStatusChangedEvent"] = reflect.TypeOf((*HealthStatusChangedEvent)(nil)).Elem()
+}
+
+type HealthSystemRuntime struct {
+ DynamicData
+
+ SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty"`
+ HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty"`
+}
+
+func init() {
+ t["HealthSystemRuntime"] = reflect.TypeOf((*HealthSystemRuntime)(nil)).Elem()
+}
+
+type HealthUpdate struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ HealthUpdateInfoId string `xml:"healthUpdateInfoId"`
+ Id string `xml:"id"`
+ Status ManagedEntityStatus `xml:"status"`
+ Remediation string `xml:"remediation"`
+}
+
+func init() {
+ t["HealthUpdate"] = reflect.TypeOf((*HealthUpdate)(nil)).Elem()
+}
+
+type HealthUpdateInfo struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ ComponentType string `xml:"componentType"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["HealthUpdateInfo"] = reflect.TypeOf((*HealthUpdateInfo)(nil)).Elem()
+}
+
+type HeterogenousHostsBlockingEVC struct {
+ EVCConfigFault
+}
+
+func init() {
+ t["HeterogenousHostsBlockingEVC"] = reflect.TypeOf((*HeterogenousHostsBlockingEVC)(nil)).Elem()
+}
+
+type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC
+
+func init() {
+ t["HeterogenousHostsBlockingEVCFault"] = reflect.TypeOf((*HeterogenousHostsBlockingEVCFault)(nil)).Elem()
+}
+
+type HostAccessControlEntry struct {
+ DynamicData
+
+ Principal string `xml:"principal"`
+ Group bool `xml:"group"`
+ AccessMode HostAccessMode `xml:"accessMode"`
+}
+
+func init() {
+ t["HostAccessControlEntry"] = reflect.TypeOf((*HostAccessControlEntry)(nil)).Elem()
+}
+
+type HostAccessRestrictedToManagementServer struct {
+ NotSupported
+
+ ManagementServer string `xml:"managementServer"`
+}
+
+func init() {
+ t["HostAccessRestrictedToManagementServer"] = reflect.TypeOf((*HostAccessRestrictedToManagementServer)(nil)).Elem()
+}
+
+type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer
+
+func init() {
+ t["HostAccessRestrictedToManagementServerFault"] = reflect.TypeOf((*HostAccessRestrictedToManagementServerFault)(nil)).Elem()
+}
+
+type HostAccountSpec struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Password string `xml:"password,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["HostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem()
+}
+
+type HostActiveDirectory struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation"`
+ Spec *HostActiveDirectorySpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostActiveDirectory"] = reflect.TypeOf((*HostActiveDirectory)(nil)).Elem()
+}
+
+type HostActiveDirectoryInfo struct {
+ HostDirectoryStoreInfo
+
+ JoinedDomain string `xml:"joinedDomain,omitempty"`
+ TrustedDomain []string `xml:"trustedDomain,omitempty"`
+ DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty"`
+ SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled"`
+}
+
+func init() {
+ t["HostActiveDirectoryInfo"] = reflect.TypeOf((*HostActiveDirectoryInfo)(nil)).Elem()
+}
+
+type HostActiveDirectorySpec struct {
+ DynamicData
+
+ DomainName string `xml:"domainName,omitempty"`
+ UserName string `xml:"userName,omitempty"`
+ Password string `xml:"password,omitempty"`
+ CamServer string `xml:"camServer,omitempty"`
+ Thumbprint string `xml:"thumbprint,omitempty"`
+ SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled"`
+ SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty"`
+}
+
+func init() {
+ t["HostActiveDirectorySpec"] = reflect.TypeOf((*HostActiveDirectorySpec)(nil)).Elem()
+}
+
+type HostAddFailedEvent struct {
+ HostEvent
+
+ Hostname string `xml:"hostname"`
+}
+
+func init() {
+ t["HostAddFailedEvent"] = reflect.TypeOf((*HostAddFailedEvent)(nil)).Elem()
+}
+
+type HostAddedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostAddedEvent"] = reflect.TypeOf((*HostAddedEvent)(nil)).Elem()
+}
+
+type HostAdminDisableEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostAdminDisableEvent"] = reflect.TypeOf((*HostAdminDisableEvent)(nil)).Elem()
+}
+
+type HostAdminEnableEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostAdminEnableEvent"] = reflect.TypeOf((*HostAdminEnableEvent)(nil)).Elem()
+}
+
+type HostApplyProfile struct {
+ ApplyProfile
+
+ Memory *HostMemoryProfile `xml:"memory,omitempty"`
+ Storage *StorageProfile `xml:"storage,omitempty"`
+ Network *NetworkProfile `xml:"network,omitempty"`
+ Datetime *DateTimeProfile `xml:"datetime,omitempty"`
+ Firewall *FirewallProfile `xml:"firewall,omitempty"`
+ Security *SecurityProfile `xml:"security,omitempty"`
+ Service []ServiceProfile `xml:"service,omitempty"`
+ Option []OptionProfile `xml:"option,omitempty"`
+ UserAccount []UserProfile `xml:"userAccount,omitempty"`
+ UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty"`
+ Authentication *AuthenticationProfile `xml:"authentication,omitempty"`
+}
+
+func init() {
+ t["HostApplyProfile"] = reflect.TypeOf((*HostApplyProfile)(nil)).Elem()
+}
+
+type HostAuthenticationManagerInfo struct {
+ DynamicData
+
+ AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr"`
+}
+
+func init() {
+ t["HostAuthenticationManagerInfo"] = reflect.TypeOf((*HostAuthenticationManagerInfo)(nil)).Elem()
+}
+
+type HostAuthenticationStoreInfo struct {
+ DynamicData
+
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["HostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem()
+}
+
+type HostAutoStartManagerConfig struct {
+ DynamicData
+
+ Defaults *AutoStartDefaults `xml:"defaults,omitempty"`
+ PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty"`
+}
+
+func init() {
+ t["HostAutoStartManagerConfig"] = reflect.TypeOf((*HostAutoStartManagerConfig)(nil)).Elem()
+}
+
+type HostBIOSInfo struct {
+ DynamicData
+
+ BiosVersion string `xml:"biosVersion,omitempty"`
+ ReleaseDate *time.Time `xml:"releaseDate"`
+ Vendor string `xml:"vendor,omitempty"`
+ MajorRelease int32 `xml:"majorRelease,omitempty"`
+ MinorRelease int32 `xml:"minorRelease,omitempty"`
+ FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty"`
+ FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty"`
+}
+
+func init() {
+ t["HostBIOSInfo"] = reflect.TypeOf((*HostBIOSInfo)(nil)).Elem()
+}
+
+type HostBlockAdapterTargetTransport struct {
+ HostTargetTransport
+}
+
+func init() {
+ t["HostBlockAdapterTargetTransport"] = reflect.TypeOf((*HostBlockAdapterTargetTransport)(nil)).Elem()
+}
+
+type HostBlockHba struct {
+ HostHostBusAdapter
+}
+
+func init() {
+ t["HostBlockHba"] = reflect.TypeOf((*HostBlockHba)(nil)).Elem()
+}
+
+type HostBootDevice struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["HostBootDevice"] = reflect.TypeOf((*HostBootDevice)(nil)).Elem()
+}
+
+type HostBootDeviceInfo struct {
+ DynamicData
+
+ BootDevices []HostBootDevice `xml:"bootDevices,omitempty"`
+ CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty"`
+}
+
+func init() {
+ t["HostBootDeviceInfo"] = reflect.TypeOf((*HostBootDeviceInfo)(nil)).Elem()
+}
+
+type HostCacheConfigurationInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ SwapSize int64 `xml:"swapSize"`
+}
+
+func init() {
+ t["HostCacheConfigurationInfo"] = reflect.TypeOf((*HostCacheConfigurationInfo)(nil)).Elem()
+}
+
+type HostCacheConfigurationSpec struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ SwapSize int64 `xml:"swapSize"`
+}
+
+func init() {
+ t["HostCacheConfigurationSpec"] = reflect.TypeOf((*HostCacheConfigurationSpec)(nil)).Elem()
+}
+
+type HostCapability struct {
+ DynamicData
+
+ RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported"`
+ CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported"`
+ RebootSupported bool `xml:"rebootSupported"`
+ ShutdownSupported bool `xml:"shutdownSupported"`
+ VmotionSupported bool `xml:"vmotionSupported"`
+ StandbySupported bool `xml:"standbySupported"`
+ IpmiSupported *bool `xml:"ipmiSupported"`
+ MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty"`
+ MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty"`
+ MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty"`
+ MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty"`
+ DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported"`
+ SanSupported bool `xml:"sanSupported"`
+ NfsSupported bool `xml:"nfsSupported"`
+ IscsiSupported bool `xml:"iscsiSupported"`
+ VlanTaggingSupported bool `xml:"vlanTaggingSupported"`
+ NicTeamingSupported bool `xml:"nicTeamingSupported"`
+ HighGuestMemSupported bool `xml:"highGuestMemSupported"`
+ MaintenanceModeSupported bool `xml:"maintenanceModeSupported"`
+ SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported"`
+ RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported"`
+ PerVmSwapFiles bool `xml:"perVmSwapFiles"`
+ LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported"`
+ UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported"`
+ BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported"`
+ PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported"`
+ ScreenshotSupported bool `xml:"screenshotSupported"`
+ ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported"`
+ StorageVMotionSupported *bool `xml:"storageVMotionSupported"`
+ VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported"`
+ VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported"`
+ MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty"`
+ HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported"`
+ VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported"`
+ RecordReplaySupported *bool `xml:"recordReplaySupported"`
+ FtSupported *bool `xml:"ftSupported"`
+ ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty"`
+ ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty"`
+ SmpFtSupported *bool `xml:"smpFtSupported"`
+ FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty"`
+ SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty"`
+ MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty"`
+ LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported"`
+ CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported"`
+ DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported"`
+ PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported"`
+ TpmSupported *bool `xml:"tpmSupported"`
+ SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty"`
+ VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported"`
+ StorageIORMSupported *bool `xml:"storageIORMSupported"`
+ VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"`
+ VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty"`
+ VmDirectPathGen2UnsupportedReasonExtended string `xml:"vmDirectPathGen2UnsupportedReasonExtended,omitempty"`
+ SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty"`
+ VStorageCapable *bool `xml:"vStorageCapable"`
+ SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported"`
+ FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported"`
+ ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported"`
+ MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty"`
+ MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty"`
+ VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable"`
+ EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported"`
+ NestedHVSupported *bool `xml:"nestedHVSupported"`
+ VPMCSupported *bool `xml:"vPMCSupported"`
+ InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported"`
+ ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported"`
+ FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported"`
+ LatencySensitivitySupported *bool `xml:"latencySensitivitySupported"`
+ StoragePolicySupported *bool `xml:"storagePolicySupported"`
+ Accel3dSupported *bool `xml:"accel3dSupported"`
+ ReliableMemoryAware *bool `xml:"reliableMemoryAware"`
+ MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported"`
+ MessageBusProxySupported *bool `xml:"messageBusProxySupported"`
+ VsanSupported *bool `xml:"vsanSupported"`
+ VFlashSupported *bool `xml:"vFlashSupported"`
+ HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported"`
+ ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported"`
+ Nfs41Supported *bool `xml:"nfs41Supported"`
+ Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported"`
+ TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported"`
+ VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported"`
+ MarkAsSsdSupported *bool `xml:"markAsSsdSupported"`
+ MarkAsLocalSupported *bool `xml:"markAsLocalSupported"`
+ SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported"`
+ CryptoSupported *bool `xml:"cryptoSupported"`
+ OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported"`
+ GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported"`
+ UpitSupported *bool `xml:"upitSupported"`
+ CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported"`
+ EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported"`
+ EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported"`
+ EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported"`
+ EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported"`
+ EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported"`
+ EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported"`
+ EncryptionRDMSupported *bool `xml:"encryptionRDMSupported"`
+ EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported"`
+ EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported"`
+ EncryptionHBRSupported *bool `xml:"encryptionHBRSupported"`
+}
+
+func init() {
+ t["HostCapability"] = reflect.TypeOf((*HostCapability)(nil)).Elem()
+}
+
+type HostCertificateManagerCertificateInfo struct {
+ DynamicData
+
+ Issuer string `xml:"issuer,omitempty"`
+ NotBefore *time.Time `xml:"notBefore"`
+ NotAfter *time.Time `xml:"notAfter"`
+ Subject string `xml:"subject,omitempty"`
+ Status string `xml:"status"`
+}
+
+func init() {
+ t["HostCertificateManagerCertificateInfo"] = reflect.TypeOf((*HostCertificateManagerCertificateInfo)(nil)).Elem()
+}
+
+type HostCloneVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VslmCloneSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostCloneVStorageObjectRequestType"] = reflect.TypeOf((*HostCloneVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType
+
+func init() {
+ t["HostCloneVStorageObject_Task"] = reflect.TypeOf((*HostCloneVStorageObject_Task)(nil)).Elem()
+}
+
+type HostCloneVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostCnxFailedAccountFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedAccountFailedEvent"] = reflect.TypeOf((*HostCnxFailedAccountFailedEvent)(nil)).Elem()
+}
+
+type HostCnxFailedAlreadyManagedEvent struct {
+ HostEvent
+
+ ServerName string `xml:"serverName"`
+}
+
+func init() {
+ t["HostCnxFailedAlreadyManagedEvent"] = reflect.TypeOf((*HostCnxFailedAlreadyManagedEvent)(nil)).Elem()
+}
+
+type HostCnxFailedBadCcagentEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedBadCcagentEvent"] = reflect.TypeOf((*HostCnxFailedBadCcagentEvent)(nil)).Elem()
+}
+
+type HostCnxFailedBadUsernameEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedBadUsernameEvent"] = reflect.TypeOf((*HostCnxFailedBadUsernameEvent)(nil)).Elem()
+}
+
+type HostCnxFailedBadVersionEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedBadVersionEvent"] = reflect.TypeOf((*HostCnxFailedBadVersionEvent)(nil)).Elem()
+}
+
+type HostCnxFailedCcagentUpgradeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedCcagentUpgradeEvent"] = reflect.TypeOf((*HostCnxFailedCcagentUpgradeEvent)(nil)).Elem()
+}
+
+type HostCnxFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedEvent"] = reflect.TypeOf((*HostCnxFailedEvent)(nil)).Elem()
+}
+
+type HostCnxFailedNetworkErrorEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedNetworkErrorEvent"] = reflect.TypeOf((*HostCnxFailedNetworkErrorEvent)(nil)).Elem()
+}
+
+type HostCnxFailedNoAccessEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedNoAccessEvent"] = reflect.TypeOf((*HostCnxFailedNoAccessEvent)(nil)).Elem()
+}
+
+type HostCnxFailedNoConnectionEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedNoConnectionEvent"] = reflect.TypeOf((*HostCnxFailedNoConnectionEvent)(nil)).Elem()
+}
+
+type HostCnxFailedNoLicenseEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedNoLicenseEvent"] = reflect.TypeOf((*HostCnxFailedNoLicenseEvent)(nil)).Elem()
+}
+
+type HostCnxFailedNotFoundEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedNotFoundEvent"] = reflect.TypeOf((*HostCnxFailedNotFoundEvent)(nil)).Elem()
+}
+
+type HostCnxFailedTimeoutEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCnxFailedTimeoutEvent"] = reflect.TypeOf((*HostCnxFailedTimeoutEvent)(nil)).Elem()
+}
+
+type HostCommunication struct {
+ RuntimeFault
+}
+
+func init() {
+ t["HostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem()
+}
+
+type HostCommunicationFault BaseHostCommunication
+
+func init() {
+ t["HostCommunicationFault"] = reflect.TypeOf((*HostCommunicationFault)(nil)).Elem()
+}
+
+type HostComplianceCheckedEvent struct {
+ HostEvent
+
+ Profile ProfileEventArgument `xml:"profile"`
+}
+
+func init() {
+ t["HostComplianceCheckedEvent"] = reflect.TypeOf((*HostComplianceCheckedEvent)(nil)).Elem()
+}
+
+type HostCompliantEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostCompliantEvent"] = reflect.TypeOf((*HostCompliantEvent)(nil)).Elem()
+}
+
+type HostConfigAppliedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostConfigAppliedEvent"] = reflect.TypeOf((*HostConfigAppliedEvent)(nil)).Elem()
+}
+
+type HostConfigChange struct {
+ DynamicData
+}
+
+func init() {
+ t["HostConfigChange"] = reflect.TypeOf((*HostConfigChange)(nil)).Elem()
+}
+
+type HostConfigFailed struct {
+ HostConfigFault
+
+ Failure []LocalizedMethodFault `xml:"failure"`
+}
+
+func init() {
+ t["HostConfigFailed"] = reflect.TypeOf((*HostConfigFailed)(nil)).Elem()
+}
+
+type HostConfigFailedFault HostConfigFailed
+
+func init() {
+ t["HostConfigFailedFault"] = reflect.TypeOf((*HostConfigFailedFault)(nil)).Elem()
+}
+
+type HostConfigFault struct {
+ VimFault
+}
+
+func init() {
+ t["HostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem()
+}
+
+type HostConfigFaultFault BaseHostConfigFault
+
+func init() {
+ t["HostConfigFaultFault"] = reflect.TypeOf((*HostConfigFaultFault)(nil)).Elem()
+}
+
+type HostConfigInfo struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Product AboutInfo `xml:"product"`
+ DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty"`
+ HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty"`
+ ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty"`
+ VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty"`
+ StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty"`
+ MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty"`
+ FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty"`
+ SystemFile []string `xml:"systemFile,omitempty"`
+ Network *HostNetworkInfo `xml:"network,omitempty"`
+ Vmotion *HostVMotionInfo `xml:"vmotion,omitempty"`
+ VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty"`
+ Capabilities *HostNetCapabilities `xml:"capabilities,omitempty"`
+ DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty"`
+ OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty"`
+ Service *HostServiceInfo `xml:"service,omitempty"`
+ Firewall *HostFirewallInfo `xml:"firewall,omitempty"`
+ AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty"`
+ ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+ OptionDef []OptionDef `xml:"optionDef,omitempty"`
+ DatastorePrincipal string `xml:"datastorePrincipal,omitempty"`
+ LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty"`
+ SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty"`
+ SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty"`
+ DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty"`
+ Flags *HostFlagInfo `xml:"flags,omitempty"`
+ AdminDisabled *bool `xml:"adminDisabled"`
+ LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty"`
+ Ipmi *HostIpmiInfo `xml:"ipmi,omitempty"`
+ SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty"`
+ SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty"`
+ Certificate []byte `xml:"certificate,omitempty"`
+ PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr"`
+ AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty"`
+ FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty"`
+ PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty"`
+ PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty"`
+ CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty"`
+ WakeOnLanCapable *bool `xml:"wakeOnLanCapable"`
+ FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"`
+ MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty"`
+ VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty"`
+ VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty"`
+ DomainList []string `xml:"domainList,omitempty"`
+ ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty"`
+ HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty"`
+ GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty"`
+ SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty"`
+ GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty"`
+ IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty"`
+ SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostConfigInfo"] = reflect.TypeOf((*HostConfigInfo)(nil)).Elem()
+}
+
+type HostConfigManager struct {
+ DynamicData
+
+ CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty"`
+ DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty"`
+ MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty"`
+ StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty"`
+ NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty"`
+ VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty"`
+ VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty"`
+ ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty"`
+ FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty"`
+ AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty"`
+ DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty"`
+ AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty"`
+ SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty"`
+ DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty"`
+ PatchManager *ManagedObjectReference `xml:"patchManager,omitempty"`
+ ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty"`
+ BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty"`
+ FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty"`
+ HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty"`
+ PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty"`
+ LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty"`
+ KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty"`
+ AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty"`
+ PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty"`
+ CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty"`
+ EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty"`
+ IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty"`
+ VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty"`
+ VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty"`
+ MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty"`
+ UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty"`
+ AccountManager *ManagedObjectReference `xml:"accountManager,omitempty"`
+ HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty"`
+ GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty"`
+ VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty"`
+ CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty"`
+ CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty"`
+}
+
+func init() {
+ t["HostConfigManager"] = reflect.TypeOf((*HostConfigManager)(nil)).Elem()
+}
+
+type HostConfigSpec struct {
+ DynamicData
+
+ NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty"`
+ Network *HostNetworkConfig `xml:"network,omitempty"`
+ NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty"`
+ Service []HostServiceConfig `xml:"service,omitempty"`
+ Firewall *HostFirewallConfig `xml:"firewall,omitempty"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+ DatastorePrincipal string `xml:"datastorePrincipal,omitempty"`
+ DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty"`
+ Datetime *HostDateTimeConfig `xml:"datetime,omitempty"`
+ StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty"`
+ License *HostLicenseSpec `xml:"license,omitempty"`
+ Security *HostSecuritySpec `xml:"security,omitempty"`
+ UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr"`
+ UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr"`
+ Memory *HostMemorySpec `xml:"memory,omitempty"`
+ ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty"`
+ GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty"`
+ GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty"`
+}
+
+func init() {
+ t["HostConfigSpec"] = reflect.TypeOf((*HostConfigSpec)(nil)).Elem()
+}
+
+type HostConfigSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Port int32 `xml:"port"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+ Product *AboutInfo `xml:"product,omitempty"`
+ VmotionEnabled bool `xml:"vmotionEnabled"`
+ FaultToleranceEnabled *bool `xml:"faultToleranceEnabled"`
+ FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty"`
+ AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty"`
+ AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty"`
+}
+
+func init() {
+ t["HostConfigSummary"] = reflect.TypeOf((*HostConfigSummary)(nil)).Elem()
+}
+
+type HostConfigVFlashCache HostConfigVFlashCacheRequestType
+
+func init() {
+ t["HostConfigVFlashCache"] = reflect.TypeOf((*HostConfigVFlashCache)(nil)).Elem()
+}
+
+type HostConfigVFlashCacheRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostConfigVFlashCacheRequestType"] = reflect.TypeOf((*HostConfigVFlashCacheRequestType)(nil)).Elem()
+}
+
+type HostConfigVFlashCacheResponse struct {
+}
+
+type HostConfigureVFlashResource HostConfigureVFlashResourceRequestType
+
+func init() {
+ t["HostConfigureVFlashResource"] = reflect.TypeOf((*HostConfigureVFlashResource)(nil)).Elem()
+}
+
+type HostConfigureVFlashResourceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostConfigureVFlashResourceRequestType"] = reflect.TypeOf((*HostConfigureVFlashResourceRequestType)(nil)).Elem()
+}
+
+type HostConfigureVFlashResourceResponse struct {
+}
+
+type HostConnectFault struct {
+ VimFault
+}
+
+func init() {
+ t["HostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem()
+}
+
+type HostConnectFaultFault BaseHostConnectFault
+
+func init() {
+ t["HostConnectFaultFault"] = reflect.TypeOf((*HostConnectFaultFault)(nil)).Elem()
+}
+
+type HostConnectInfo struct {
+ DynamicData
+
+ ServerIp string `xml:"serverIp,omitempty"`
+ InDasCluster *bool `xml:"inDasCluster"`
+ Host HostListSummary `xml:"host"`
+ Vm []VirtualMachineSummary `xml:"vm,omitempty"`
+ VimAccountNameRequired *bool `xml:"vimAccountNameRequired"`
+ ClusterSupported *bool `xml:"clusterSupported"`
+ Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr"`
+ Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr"`
+ License *HostLicenseConnectInfo `xml:"license,omitempty"`
+ Capability *HostCapability `xml:"capability,omitempty"`
+}
+
+func init() {
+ t["HostConnectInfo"] = reflect.TypeOf((*HostConnectInfo)(nil)).Elem()
+}
+
+type HostConnectInfoNetworkInfo struct {
+ DynamicData
+
+ Summary BaseNetworkSummary `xml:"summary,typeattr"`
+}
+
+func init() {
+ t["HostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem()
+}
+
+type HostConnectSpec struct {
+ DynamicData
+
+ HostName string `xml:"hostName,omitempty"`
+ Port int32 `xml:"port,omitempty"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+ UserName string `xml:"userName,omitempty"`
+ Password string `xml:"password,omitempty"`
+ VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"`
+ Force bool `xml:"force"`
+ VimAccountName string `xml:"vimAccountName,omitempty"`
+ VimAccountPassword string `xml:"vimAccountPassword,omitempty"`
+ ManagementIp string `xml:"managementIp,omitempty"`
+ LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty"`
+ HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty"`
+}
+
+func init() {
+ t["HostConnectSpec"] = reflect.TypeOf((*HostConnectSpec)(nil)).Elem()
+}
+
+type HostConnectedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostConnectedEvent"] = reflect.TypeOf((*HostConnectedEvent)(nil)).Elem()
+}
+
+type HostConnectionLostEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostConnectionLostEvent"] = reflect.TypeOf((*HostConnectionLostEvent)(nil)).Elem()
+}
+
+type HostCpuIdInfo struct {
+ DynamicData
+
+ Level int32 `xml:"level"`
+ Vendor string `xml:"vendor,omitempty"`
+ Eax string `xml:"eax,omitempty"`
+ Ebx string `xml:"ebx,omitempty"`
+ Ecx string `xml:"ecx,omitempty"`
+ Edx string `xml:"edx,omitempty"`
+}
+
+func init() {
+ t["HostCpuIdInfo"] = reflect.TypeOf((*HostCpuIdInfo)(nil)).Elem()
+}
+
+type HostCpuInfo struct {
+ DynamicData
+
+ NumCpuPackages int16 `xml:"numCpuPackages"`
+ NumCpuCores int16 `xml:"numCpuCores"`
+ NumCpuThreads int16 `xml:"numCpuThreads"`
+ Hz int64 `xml:"hz"`
+}
+
+func init() {
+ t["HostCpuInfo"] = reflect.TypeOf((*HostCpuInfo)(nil)).Elem()
+}
+
+type HostCpuPackage struct {
+ DynamicData
+
+ Index int16 `xml:"index"`
+ Vendor string `xml:"vendor"`
+ Hz int64 `xml:"hz"`
+ BusHz int64 `xml:"busHz"`
+ Description string `xml:"description"`
+ ThreadId []int16 `xml:"threadId"`
+ CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty"`
+}
+
+func init() {
+ t["HostCpuPackage"] = reflect.TypeOf((*HostCpuPackage)(nil)).Elem()
+}
+
+type HostCpuPowerManagementInfo struct {
+ DynamicData
+
+ CurrentPolicy string `xml:"currentPolicy,omitempty"`
+ HardwareSupport string `xml:"hardwareSupport,omitempty"`
+}
+
+func init() {
+ t["HostCpuPowerManagementInfo"] = reflect.TypeOf((*HostCpuPowerManagementInfo)(nil)).Elem()
+}
+
+type HostCreateDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VslmCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostCreateDiskRequestType"] = reflect.TypeOf((*HostCreateDiskRequestType)(nil)).Elem()
+}
+
+type HostCreateDisk_Task HostCreateDiskRequestType
+
+func init() {
+ t["HostCreateDisk_Task"] = reflect.TypeOf((*HostCreateDisk_Task)(nil)).Elem()
+}
+
+type HostCreateDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostDasDisabledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasDisabledEvent"] = reflect.TypeOf((*HostDasDisabledEvent)(nil)).Elem()
+}
+
+type HostDasDisablingEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasDisablingEvent"] = reflect.TypeOf((*HostDasDisablingEvent)(nil)).Elem()
+}
+
+type HostDasEnabledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasEnabledEvent"] = reflect.TypeOf((*HostDasEnabledEvent)(nil)).Elem()
+}
+
+type HostDasEnablingEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasEnablingEvent"] = reflect.TypeOf((*HostDasEnablingEvent)(nil)).Elem()
+}
+
+type HostDasErrorEvent struct {
+ HostEvent
+
+ Message string `xml:"message,omitempty"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["HostDasErrorEvent"] = reflect.TypeOf((*HostDasErrorEvent)(nil)).Elem()
+}
+
+type HostDasEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem()
+}
+
+type HostDasOkEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostDasOkEvent"] = reflect.TypeOf((*HostDasOkEvent)(nil)).Elem()
+}
+
+type HostDatastoreBrowserSearchResults struct {
+ DynamicData
+
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ FolderPath string `xml:"folderPath,omitempty"`
+ File []BaseFileInfo `xml:"file,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostDatastoreBrowserSearchResults"] = reflect.TypeOf((*HostDatastoreBrowserSearchResults)(nil)).Elem()
+}
+
+type HostDatastoreBrowserSearchSpec struct {
+ DynamicData
+
+ Query []BaseFileQuery `xml:"query,omitempty,typeattr"`
+ Details *FileQueryFlags `xml:"details,omitempty"`
+ SearchCaseInsensitive *bool `xml:"searchCaseInsensitive"`
+ MatchPattern []string `xml:"matchPattern,omitempty"`
+ SortFoldersFirst *bool `xml:"sortFoldersFirst"`
+}
+
+func init() {
+ t["HostDatastoreBrowserSearchSpec"] = reflect.TypeOf((*HostDatastoreBrowserSearchSpec)(nil)).Elem()
+}
+
+type HostDatastoreConnectInfo struct {
+ DynamicData
+
+ Summary DatastoreSummary `xml:"summary"`
+}
+
+func init() {
+ t["HostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem()
+}
+
+type HostDatastoreExistsConnectInfo struct {
+ HostDatastoreConnectInfo
+
+ NewDatastoreName string `xml:"newDatastoreName"`
+}
+
+func init() {
+ t["HostDatastoreExistsConnectInfo"] = reflect.TypeOf((*HostDatastoreExistsConnectInfo)(nil)).Elem()
+}
+
+type HostDatastoreNameConflictConnectInfo struct {
+ HostDatastoreConnectInfo
+
+ NewDatastoreName string `xml:"newDatastoreName"`
+}
+
+func init() {
+ t["HostDatastoreNameConflictConnectInfo"] = reflect.TypeOf((*HostDatastoreNameConflictConnectInfo)(nil)).Elem()
+}
+
+type HostDatastoreSystemCapabilities struct {
+ DynamicData
+
+ NfsMountCreationRequired bool `xml:"nfsMountCreationRequired"`
+ NfsMountCreationSupported bool `xml:"nfsMountCreationSupported"`
+ LocalDatastoreSupported bool `xml:"localDatastoreSupported"`
+ VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported"`
+}
+
+func init() {
+ t["HostDatastoreSystemCapabilities"] = reflect.TypeOf((*HostDatastoreSystemCapabilities)(nil)).Elem()
+}
+
+type HostDatastoreSystemDatastoreResult struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*HostDatastoreSystemDatastoreResult)(nil)).Elem()
+}
+
+type HostDatastoreSystemVvolDatastoreSpec struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ ScId string `xml:"scId"`
+}
+
+func init() {
+ t["HostDatastoreSystemVvolDatastoreSpec"] = reflect.TypeOf((*HostDatastoreSystemVvolDatastoreSpec)(nil)).Elem()
+}
+
+type HostDateTimeConfig struct {
+ DynamicData
+
+ TimeZone string `xml:"timeZone,omitempty"`
+ NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty"`
+}
+
+func init() {
+ t["HostDateTimeConfig"] = reflect.TypeOf((*HostDateTimeConfig)(nil)).Elem()
+}
+
+type HostDateTimeInfo struct {
+ DynamicData
+
+ TimeZone HostDateTimeSystemTimeZone `xml:"timeZone"`
+ NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty"`
+}
+
+func init() {
+ t["HostDateTimeInfo"] = reflect.TypeOf((*HostDateTimeInfo)(nil)).Elem()
+}
+
+type HostDateTimeSystemTimeZone struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ Description string `xml:"description"`
+ GmtOffset int32 `xml:"gmtOffset"`
+}
+
+func init() {
+ t["HostDateTimeSystemTimeZone"] = reflect.TypeOf((*HostDateTimeSystemTimeZone)(nil)).Elem()
+}
+
+type HostDeleteVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostDeleteVStorageObjectRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType
+
+func init() {
+ t["HostDeleteVStorageObject_Task"] = reflect.TypeOf((*HostDeleteVStorageObject_Task)(nil)).Elem()
+}
+
+type HostDeleteVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostDeploymentInfo struct {
+ DynamicData
+
+ BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache"`
+}
+
+func init() {
+ t["HostDeploymentInfo"] = reflect.TypeOf((*HostDeploymentInfo)(nil)).Elem()
+}
+
+type HostDevice struct {
+ DynamicData
+
+ DeviceName string `xml:"deviceName"`
+ DeviceType string `xml:"deviceType"`
+}
+
+func init() {
+ t["HostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem()
+}
+
+type HostDhcpService struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Spec HostDhcpServiceSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostDhcpService"] = reflect.TypeOf((*HostDhcpService)(nil)).Elem()
+}
+
+type HostDhcpServiceConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Key string `xml:"key"`
+ Spec HostDhcpServiceSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostDhcpServiceConfig"] = reflect.TypeOf((*HostDhcpServiceConfig)(nil)).Elem()
+}
+
+type HostDhcpServiceSpec struct {
+ DynamicData
+
+ VirtualSwitch string `xml:"virtualSwitch"`
+ DefaultLeaseDuration int32 `xml:"defaultLeaseDuration"`
+ LeaseBeginIp string `xml:"leaseBeginIp"`
+ LeaseEndIp string `xml:"leaseEndIp"`
+ MaxLeaseDuration int32 `xml:"maxLeaseDuration"`
+ UnlimitedLease bool `xml:"unlimitedLease"`
+ IpSubnetAddr string `xml:"ipSubnetAddr"`
+ IpSubnetMask string `xml:"ipSubnetMask"`
+}
+
+func init() {
+ t["HostDhcpServiceSpec"] = reflect.TypeOf((*HostDhcpServiceSpec)(nil)).Elem()
+}
+
+type HostDiagnosticPartition struct {
+ DynamicData
+
+ StorageType string `xml:"storageType"`
+ DiagnosticType string `xml:"diagnosticType"`
+ Slots int32 `xml:"slots"`
+ Id HostScsiDiskPartition `xml:"id"`
+}
+
+func init() {
+ t["HostDiagnosticPartition"] = reflect.TypeOf((*HostDiagnosticPartition)(nil)).Elem()
+}
+
+type HostDiagnosticPartitionCreateDescription struct {
+ DynamicData
+
+ Layout HostDiskPartitionLayout `xml:"layout"`
+ DiskUuid string `xml:"diskUuid"`
+ Spec HostDiagnosticPartitionCreateSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostDiagnosticPartitionCreateDescription"] = reflect.TypeOf((*HostDiagnosticPartitionCreateDescription)(nil)).Elem()
+}
+
+type HostDiagnosticPartitionCreateOption struct {
+ DynamicData
+
+ StorageType string `xml:"storageType"`
+ DiagnosticType string `xml:"diagnosticType"`
+ Disk HostScsiDisk `xml:"disk"`
+}
+
+func init() {
+ t["HostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*HostDiagnosticPartitionCreateOption)(nil)).Elem()
+}
+
+type HostDiagnosticPartitionCreateSpec struct {
+ DynamicData
+
+ StorageType string `xml:"storageType"`
+ DiagnosticType string `xml:"diagnosticType"`
+ Id HostScsiDiskPartition `xml:"id"`
+ Partition HostDiskPartitionSpec `xml:"partition"`
+ Active *bool `xml:"active"`
+}
+
+func init() {
+ t["HostDiagnosticPartitionCreateSpec"] = reflect.TypeOf((*HostDiagnosticPartitionCreateSpec)(nil)).Elem()
+}
+
+type HostDigestInfo struct {
+ DynamicData
+
+ DigestMethod string `xml:"digestMethod"`
+ DigestValue []byte `xml:"digestValue"`
+ ObjectName string `xml:"objectName,omitempty"`
+}
+
+func init() {
+ t["HostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem()
+}
+
+type HostDirectoryStoreInfo struct {
+ HostAuthenticationStoreInfo
+}
+
+func init() {
+ t["HostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem()
+}
+
+type HostDisconnectedEvent struct {
+ HostEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["HostDisconnectedEvent"] = reflect.TypeOf((*HostDisconnectedEvent)(nil)).Elem()
+}
+
+type HostDiskConfigurationResult struct {
+ DynamicData
+
+ DevicePath string `xml:"devicePath,omitempty"`
+ Success *bool `xml:"success"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostDiskConfigurationResult"] = reflect.TypeOf((*HostDiskConfigurationResult)(nil)).Elem()
+}
+
+type HostDiskDimensions struct {
+ DynamicData
+}
+
+func init() {
+ t["HostDiskDimensions"] = reflect.TypeOf((*HostDiskDimensions)(nil)).Elem()
+}
+
+type HostDiskDimensionsChs struct {
+ DynamicData
+
+ Cylinder int64 `xml:"cylinder"`
+ Head int32 `xml:"head"`
+ Sector int32 `xml:"sector"`
+}
+
+func init() {
+ t["HostDiskDimensionsChs"] = reflect.TypeOf((*HostDiskDimensionsChs)(nil)).Elem()
+}
+
+type HostDiskDimensionsLba struct {
+ DynamicData
+
+ BlockSize int32 `xml:"blockSize"`
+ Block int64 `xml:"block"`
+}
+
+func init() {
+ t["HostDiskDimensionsLba"] = reflect.TypeOf((*HostDiskDimensionsLba)(nil)).Elem()
+}
+
+type HostDiskMappingInfo struct {
+ DynamicData
+
+ PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty"`
+ Name string `xml:"name"`
+ Exclusive *bool `xml:"exclusive"`
+}
+
+func init() {
+ t["HostDiskMappingInfo"] = reflect.TypeOf((*HostDiskMappingInfo)(nil)).Elem()
+}
+
+type HostDiskMappingOption struct {
+ DynamicData
+
+ PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["HostDiskMappingOption"] = reflect.TypeOf((*HostDiskMappingOption)(nil)).Elem()
+}
+
+type HostDiskMappingPartitionInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ FileSystem string `xml:"fileSystem"`
+ CapacityInKb int64 `xml:"capacityInKb"`
+}
+
+func init() {
+ t["HostDiskMappingPartitionInfo"] = reflect.TypeOf((*HostDiskMappingPartitionInfo)(nil)).Elem()
+}
+
+type HostDiskMappingPartitionOption struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ FileSystem string `xml:"fileSystem"`
+ CapacityInKb int64 `xml:"capacityInKb"`
+}
+
+func init() {
+ t["HostDiskMappingPartitionOption"] = reflect.TypeOf((*HostDiskMappingPartitionOption)(nil)).Elem()
+}
+
+type HostDiskPartitionAttributes struct {
+ DynamicData
+
+ Partition int32 `xml:"partition"`
+ StartSector int64 `xml:"startSector"`
+ EndSector int64 `xml:"endSector"`
+ Type string `xml:"type"`
+ Guid string `xml:"guid,omitempty"`
+ Logical bool `xml:"logical"`
+ Attributes byte `xml:"attributes"`
+ PartitionAlignment int64 `xml:"partitionAlignment,omitempty"`
+}
+
+func init() {
+ t["HostDiskPartitionAttributes"] = reflect.TypeOf((*HostDiskPartitionAttributes)(nil)).Elem()
+}
+
+type HostDiskPartitionBlockRange struct {
+ DynamicData
+
+ Partition int32 `xml:"partition,omitempty"`
+ Type string `xml:"type"`
+ Start HostDiskDimensionsLba `xml:"start"`
+ End HostDiskDimensionsLba `xml:"end"`
+}
+
+func init() {
+ t["HostDiskPartitionBlockRange"] = reflect.TypeOf((*HostDiskPartitionBlockRange)(nil)).Elem()
+}
+
+type HostDiskPartitionInfo struct {
+ DynamicData
+
+ DeviceName string `xml:"deviceName"`
+ Spec HostDiskPartitionSpec `xml:"spec"`
+ Layout HostDiskPartitionLayout `xml:"layout"`
+}
+
+func init() {
+ t["HostDiskPartitionInfo"] = reflect.TypeOf((*HostDiskPartitionInfo)(nil)).Elem()
+}
+
+type HostDiskPartitionLayout struct {
+ DynamicData
+
+ Total *HostDiskDimensionsLba `xml:"total,omitempty"`
+ Partition []HostDiskPartitionBlockRange `xml:"partition"`
+}
+
+func init() {
+ t["HostDiskPartitionLayout"] = reflect.TypeOf((*HostDiskPartitionLayout)(nil)).Elem()
+}
+
+type HostDiskPartitionSpec struct {
+ DynamicData
+
+ PartitionFormat string `xml:"partitionFormat,omitempty"`
+ Chs *HostDiskDimensionsChs `xml:"chs,omitempty"`
+ TotalSectors int64 `xml:"totalSectors,omitempty"`
+ Partition []HostDiskPartitionAttributes `xml:"partition,omitempty"`
+}
+
+func init() {
+ t["HostDiskPartitionSpec"] = reflect.TypeOf((*HostDiskPartitionSpec)(nil)).Elem()
+}
+
+type HostDnsConfig struct {
+ DynamicData
+
+ Dhcp bool `xml:"dhcp"`
+ VirtualNicDevice string `xml:"virtualNicDevice,omitempty"`
+ HostName string `xml:"hostName"`
+ DomainName string `xml:"domainName"`
+ Address []string `xml:"address,omitempty"`
+ SearchDomain []string `xml:"searchDomain,omitempty"`
+}
+
+func init() {
+ t["HostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem()
+}
+
+type HostDnsConfigSpec struct {
+ HostDnsConfig
+
+ VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty"`
+}
+
+func init() {
+ t["HostDnsConfigSpec"] = reflect.TypeOf((*HostDnsConfigSpec)(nil)).Elem()
+}
+
+type HostEnableAdminFailedEvent struct {
+ HostEvent
+
+ Permissions []Permission `xml:"permissions"`
+}
+
+func init() {
+ t["HostEnableAdminFailedEvent"] = reflect.TypeOf((*HostEnableAdminFailedEvent)(nil)).Elem()
+}
+
+type HostEsxAgentHostManagerConfigInfo struct {
+ DynamicData
+
+ AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty"`
+ AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty"`
+}
+
+func init() {
+ t["HostEsxAgentHostManagerConfigInfo"] = reflect.TypeOf((*HostEsxAgentHostManagerConfigInfo)(nil)).Elem()
+}
+
+type HostEvent struct {
+ Event
+}
+
+func init() {
+ t["HostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem()
+}
+
+type HostEventArgument struct {
+ EntityEventArgument
+
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["HostEventArgument"] = reflect.TypeOf((*HostEventArgument)(nil)).Elem()
+}
+
+type HostExtendDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ NewCapacityInMB int64 `xml:"newCapacityInMB"`
+}
+
+func init() {
+ t["HostExtendDiskRequestType"] = reflect.TypeOf((*HostExtendDiskRequestType)(nil)).Elem()
+}
+
+type HostExtendDisk_Task HostExtendDiskRequestType
+
+func init() {
+ t["HostExtendDisk_Task"] = reflect.TypeOf((*HostExtendDisk_Task)(nil)).Elem()
+}
+
+type HostExtendDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostExtraNetworksEvent struct {
+ HostDasEvent
+
+ Ips string `xml:"ips,omitempty"`
+}
+
+func init() {
+ t["HostExtraNetworksEvent"] = reflect.TypeOf((*HostExtraNetworksEvent)(nil)).Elem()
+}
+
+type HostFaultToleranceManagerComponentHealthInfo struct {
+ DynamicData
+
+ IsStorageHealthy bool `xml:"isStorageHealthy"`
+ IsNetworkHealthy bool `xml:"isNetworkHealthy"`
+}
+
+func init() {
+ t["HostFaultToleranceManagerComponentHealthInfo"] = reflect.TypeOf((*HostFaultToleranceManagerComponentHealthInfo)(nil)).Elem()
+}
+
+type HostFeatureCapability struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ FeatureName string `xml:"featureName"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["HostFeatureCapability"] = reflect.TypeOf((*HostFeatureCapability)(nil)).Elem()
+}
+
+type HostFeatureMask struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ FeatureName string `xml:"featureName"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["HostFeatureMask"] = reflect.TypeOf((*HostFeatureMask)(nil)).Elem()
+}
+
+type HostFeatureVersionInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["HostFeatureVersionInfo"] = reflect.TypeOf((*HostFeatureVersionInfo)(nil)).Elem()
+}
+
+type HostFibreChannelHba struct {
+ HostHostBusAdapter
+
+ PortWorldWideName int64 `xml:"portWorldWideName"`
+ NodeWorldWideName int64 `xml:"nodeWorldWideName"`
+ PortType FibreChannelPortType `xml:"portType"`
+ Speed int64 `xml:"speed"`
+}
+
+func init() {
+ t["HostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem()
+}
+
+type HostFibreChannelOverEthernetHba struct {
+ HostFibreChannelHba
+
+ UnderlyingNic string `xml:"underlyingNic"`
+ LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo"`
+ IsSoftwareFcoe bool `xml:"isSoftwareFcoe"`
+ MarkedForRemoval bool `xml:"markedForRemoval"`
+}
+
+func init() {
+ t["HostFibreChannelOverEthernetHba"] = reflect.TypeOf((*HostFibreChannelOverEthernetHba)(nil)).Elem()
+}
+
+type HostFibreChannelOverEthernetHbaLinkInfo struct {
+ DynamicData
+
+ VnportMac string `xml:"vnportMac"`
+ FcfMac string `xml:"fcfMac"`
+ VlanId int32 `xml:"vlanId"`
+}
+
+func init() {
+ t["HostFibreChannelOverEthernetHbaLinkInfo"] = reflect.TypeOf((*HostFibreChannelOverEthernetHbaLinkInfo)(nil)).Elem()
+}
+
+type HostFibreChannelOverEthernetTargetTransport struct {
+ HostFibreChannelTargetTransport
+
+ VnportMac string `xml:"vnportMac"`
+ FcfMac string `xml:"fcfMac"`
+ VlanId int32 `xml:"vlanId"`
+}
+
+func init() {
+ t["HostFibreChannelOverEthernetTargetTransport"] = reflect.TypeOf((*HostFibreChannelOverEthernetTargetTransport)(nil)).Elem()
+}
+
+type HostFibreChannelTargetTransport struct {
+ HostTargetTransport
+
+ PortWorldWideName int64 `xml:"portWorldWideName"`
+ NodeWorldWideName int64 `xml:"nodeWorldWideName"`
+}
+
+func init() {
+ t["HostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem()
+}
+
+type HostFileAccess struct {
+ DynamicData
+
+ Who string `xml:"who"`
+ What string `xml:"what"`
+}
+
+func init() {
+ t["HostFileAccess"] = reflect.TypeOf((*HostFileAccess)(nil)).Elem()
+}
+
+type HostFileSystemMountInfo struct {
+ DynamicData
+
+ MountInfo HostMountInfo `xml:"mountInfo"`
+ Volume BaseHostFileSystemVolume `xml:"volume,typeattr"`
+ VStorageSupport string `xml:"vStorageSupport,omitempty"`
+}
+
+func init() {
+ t["HostFileSystemMountInfo"] = reflect.TypeOf((*HostFileSystemMountInfo)(nil)).Elem()
+}
+
+type HostFileSystemVolume struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ Name string `xml:"name"`
+ Capacity int64 `xml:"capacity"`
+}
+
+func init() {
+ t["HostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem()
+}
+
+type HostFileSystemVolumeInfo struct {
+ DynamicData
+
+ VolumeTypeList []string `xml:"volumeTypeList,omitempty"`
+ MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty"`
+}
+
+func init() {
+ t["HostFileSystemVolumeInfo"] = reflect.TypeOf((*HostFileSystemVolumeInfo)(nil)).Elem()
+}
+
+type HostFirewallConfig struct {
+ DynamicData
+
+ Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty"`
+ DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy"`
+}
+
+func init() {
+ t["HostFirewallConfig"] = reflect.TypeOf((*HostFirewallConfig)(nil)).Elem()
+}
+
+type HostFirewallConfigRuleSetConfig struct {
+ DynamicData
+
+ RulesetId string `xml:"rulesetId"`
+ Enabled bool `xml:"enabled"`
+ AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty"`
+}
+
+func init() {
+ t["HostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*HostFirewallConfigRuleSetConfig)(nil)).Elem()
+}
+
+type HostFirewallDefaultPolicy struct {
+ DynamicData
+
+ IncomingBlocked *bool `xml:"incomingBlocked"`
+ OutgoingBlocked *bool `xml:"outgoingBlocked"`
+}
+
+func init() {
+ t["HostFirewallDefaultPolicy"] = reflect.TypeOf((*HostFirewallDefaultPolicy)(nil)).Elem()
+}
+
+type HostFirewallInfo struct {
+ DynamicData
+
+ DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy"`
+ Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty"`
+}
+
+func init() {
+ t["HostFirewallInfo"] = reflect.TypeOf((*HostFirewallInfo)(nil)).Elem()
+}
+
+type HostFirewallRule struct {
+ DynamicData
+
+ Port int32 `xml:"port"`
+ EndPort int32 `xml:"endPort,omitempty"`
+ Direction HostFirewallRuleDirection `xml:"direction"`
+ PortType HostFirewallRulePortType `xml:"portType,omitempty"`
+ Protocol string `xml:"protocol"`
+}
+
+func init() {
+ t["HostFirewallRule"] = reflect.TypeOf((*HostFirewallRule)(nil)).Elem()
+}
+
+type HostFirewallRuleset struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Label string `xml:"label"`
+ Required bool `xml:"required"`
+ Rule []HostFirewallRule `xml:"rule"`
+ Service string `xml:"service,omitempty"`
+ Enabled bool `xml:"enabled"`
+ AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty"`
+}
+
+func init() {
+ t["HostFirewallRuleset"] = reflect.TypeOf((*HostFirewallRuleset)(nil)).Elem()
+}
+
+type HostFirewallRulesetIpList struct {
+ DynamicData
+
+ IpAddress []string `xml:"ipAddress,omitempty"`
+ IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty"`
+ AllIp bool `xml:"allIp"`
+}
+
+func init() {
+ t["HostFirewallRulesetIpList"] = reflect.TypeOf((*HostFirewallRulesetIpList)(nil)).Elem()
+}
+
+type HostFirewallRulesetIpNetwork struct {
+ DynamicData
+
+ Network string `xml:"network"`
+ PrefixLength int32 `xml:"prefixLength"`
+}
+
+func init() {
+ t["HostFirewallRulesetIpNetwork"] = reflect.TypeOf((*HostFirewallRulesetIpNetwork)(nil)).Elem()
+}
+
+type HostFirewallRulesetRulesetSpec struct {
+ DynamicData
+
+ AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts"`
+}
+
+func init() {
+ t["HostFirewallRulesetRulesetSpec"] = reflect.TypeOf((*HostFirewallRulesetRulesetSpec)(nil)).Elem()
+}
+
+type HostFlagInfo struct {
+ DynamicData
+
+ BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled"`
+}
+
+func init() {
+ t["HostFlagInfo"] = reflect.TypeOf((*HostFlagInfo)(nil)).Elem()
+}
+
+type HostForceMountedInfo struct {
+ DynamicData
+
+ Persist bool `xml:"persist"`
+ Mounted bool `xml:"mounted"`
+}
+
+func init() {
+ t["HostForceMountedInfo"] = reflect.TypeOf((*HostForceMountedInfo)(nil)).Elem()
+}
+
+type HostGatewaySpec struct {
+ DynamicData
+
+ GatewayType string `xml:"gatewayType"`
+ GatewayId string `xml:"gatewayId,omitempty"`
+ TrustVerificationToken string `xml:"trustVerificationToken,omitempty"`
+ HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty"`
+}
+
+func init() {
+ t["HostGatewaySpec"] = reflect.TypeOf((*HostGatewaySpec)(nil)).Elem()
+}
+
+type HostGetShortNameFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostGetShortNameFailedEvent"] = reflect.TypeOf((*HostGetShortNameFailedEvent)(nil)).Elem()
+}
+
+type HostGetVFlashModuleDefaultConfig HostGetVFlashModuleDefaultConfigRequestType
+
+func init() {
+ t["HostGetVFlashModuleDefaultConfig"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfig)(nil)).Elem()
+}
+
+type HostGetVFlashModuleDefaultConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VFlashModule string `xml:"vFlashModule"`
+}
+
+func init() {
+ t["HostGetVFlashModuleDefaultConfigRequestType"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfigRequestType)(nil)).Elem()
+}
+
+type HostGetVFlashModuleDefaultConfigResponse struct {
+ Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval"`
+}
+
+type HostGraphicsConfig struct {
+ DynamicData
+
+ HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType"`
+ SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy"`
+ DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty"`
+}
+
+func init() {
+ t["HostGraphicsConfig"] = reflect.TypeOf((*HostGraphicsConfig)(nil)).Elem()
+}
+
+type HostGraphicsConfigDeviceType struct {
+ DynamicData
+
+ DeviceId string `xml:"deviceId"`
+ GraphicsType string `xml:"graphicsType"`
+}
+
+func init() {
+ t["HostGraphicsConfigDeviceType"] = reflect.TypeOf((*HostGraphicsConfigDeviceType)(nil)).Elem()
+}
+
+type HostGraphicsInfo struct {
+ DynamicData
+
+ DeviceName string `xml:"deviceName"`
+ VendorName string `xml:"vendorName"`
+ PciId string `xml:"pciId"`
+ GraphicsType string `xml:"graphicsType"`
+ MemorySizeInKB int64 `xml:"memorySizeInKB"`
+ Vm []ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["HostGraphicsInfo"] = reflect.TypeOf((*HostGraphicsInfo)(nil)).Elem()
+}
+
+type HostHardwareElementInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Status BaseElementDescription `xml:"status,typeattr"`
+}
+
+func init() {
+ t["HostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem()
+}
+
+type HostHardwareInfo struct {
+ DynamicData
+
+ SystemInfo HostSystemInfo `xml:"systemInfo"`
+ CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty"`
+ CpuInfo HostCpuInfo `xml:"cpuInfo"`
+ CpuPkg []HostCpuPackage `xml:"cpuPkg"`
+ MemorySize int64 `xml:"memorySize"`
+ NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty"`
+ SmcPresent *bool `xml:"smcPresent"`
+ PciDevice []HostPciDevice `xml:"pciDevice,omitempty"`
+ CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty"`
+ BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty"`
+ ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty"`
+}
+
+func init() {
+ t["HostHardwareInfo"] = reflect.TypeOf((*HostHardwareInfo)(nil)).Elem()
+}
+
+type HostHardwareStatusInfo struct {
+ DynamicData
+
+ MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr"`
+ CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr"`
+ StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty"`
+}
+
+func init() {
+ t["HostHardwareStatusInfo"] = reflect.TypeOf((*HostHardwareStatusInfo)(nil)).Elem()
+}
+
+type HostHardwareSummary struct {
+ DynamicData
+
+ Vendor string `xml:"vendor"`
+ Model string `xml:"model"`
+ Uuid string `xml:"uuid"`
+ OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty"`
+ MemorySize int64 `xml:"memorySize"`
+ CpuModel string `xml:"cpuModel"`
+ CpuMhz int32 `xml:"cpuMhz"`
+ NumCpuPkgs int16 `xml:"numCpuPkgs"`
+ NumCpuCores int16 `xml:"numCpuCores"`
+ NumCpuThreads int16 `xml:"numCpuThreads"`
+ NumNics int32 `xml:"numNics"`
+ NumHBAs int32 `xml:"numHBAs"`
+}
+
+func init() {
+ t["HostHardwareSummary"] = reflect.TypeOf((*HostHardwareSummary)(nil)).Elem()
+}
+
+type HostHasComponentFailure struct {
+ VimFault
+
+ HostName string `xml:"hostName"`
+ ComponentType string `xml:"componentType"`
+ ComponentName string `xml:"componentName"`
+}
+
+func init() {
+ t["HostHasComponentFailure"] = reflect.TypeOf((*HostHasComponentFailure)(nil)).Elem()
+}
+
+type HostHasComponentFailureFault HostHasComponentFailure
+
+func init() {
+ t["HostHasComponentFailureFault"] = reflect.TypeOf((*HostHasComponentFailureFault)(nil)).Elem()
+}
+
+type HostHostBusAdapter struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Device string `xml:"device"`
+ Bus int32 `xml:"bus"`
+ Status string `xml:"status"`
+ Model string `xml:"model"`
+ Driver string `xml:"driver,omitempty"`
+ Pci string `xml:"pci,omitempty"`
+}
+
+func init() {
+ t["HostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem()
+}
+
+type HostHyperThreadScheduleInfo struct {
+ DynamicData
+
+ Available bool `xml:"available"`
+ Active bool `xml:"active"`
+ Config bool `xml:"config"`
+}
+
+func init() {
+ t["HostHyperThreadScheduleInfo"] = reflect.TypeOf((*HostHyperThreadScheduleInfo)(nil)).Elem()
+}
+
+type HostImageConfigGetAcceptance HostImageConfigGetAcceptanceRequestType
+
+func init() {
+ t["HostImageConfigGetAcceptance"] = reflect.TypeOf((*HostImageConfigGetAcceptance)(nil)).Elem()
+}
+
+type HostImageConfigGetAcceptanceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["HostImageConfigGetAcceptanceRequestType"] = reflect.TypeOf((*HostImageConfigGetAcceptanceRequestType)(nil)).Elem()
+}
+
+type HostImageConfigGetAcceptanceResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type HostImageConfigGetProfile HostImageConfigGetProfileRequestType
+
+func init() {
+ t["HostImageConfigGetProfile"] = reflect.TypeOf((*HostImageConfigGetProfile)(nil)).Elem()
+}
+
+type HostImageConfigGetProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["HostImageConfigGetProfileRequestType"] = reflect.TypeOf((*HostImageConfigGetProfileRequestType)(nil)).Elem()
+}
+
+type HostImageConfigGetProfileResponse struct {
+ Returnval HostImageProfileSummary `xml:"returnval"`
+}
+
+type HostImageProfileSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Vendor string `xml:"vendor"`
+}
+
+func init() {
+ t["HostImageProfileSummary"] = reflect.TypeOf((*HostImageProfileSummary)(nil)).Elem()
+}
+
+type HostInAuditModeEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostInAuditModeEvent"] = reflect.TypeOf((*HostInAuditModeEvent)(nil)).Elem()
+}
+
+type HostInDomain struct {
+ HostConfigFault
+}
+
+func init() {
+ t["HostInDomain"] = reflect.TypeOf((*HostInDomain)(nil)).Elem()
+}
+
+type HostInDomainFault HostInDomain
+
+func init() {
+ t["HostInDomainFault"] = reflect.TypeOf((*HostInDomainFault)(nil)).Elem()
+}
+
+type HostIncompatibleForFaultTolerance struct {
+ VmFaultToleranceIssue
+
+ HostName string `xml:"hostName,omitempty"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["HostIncompatibleForFaultTolerance"] = reflect.TypeOf((*HostIncompatibleForFaultTolerance)(nil)).Elem()
+}
+
+type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance
+
+func init() {
+ t["HostIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceFault)(nil)).Elem()
+}
+
+type HostIncompatibleForRecordReplay struct {
+ VimFault
+
+ HostName string `xml:"hostName,omitempty"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["HostIncompatibleForRecordReplay"] = reflect.TypeOf((*HostIncompatibleForRecordReplay)(nil)).Elem()
+}
+
+type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay
+
+func init() {
+ t["HostIncompatibleForRecordReplayFault"] = reflect.TypeOf((*HostIncompatibleForRecordReplayFault)(nil)).Elem()
+}
+
+type HostInflateDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostInflateDiskRequestType"] = reflect.TypeOf((*HostInflateDiskRequestType)(nil)).Elem()
+}
+
+type HostInflateDisk_Task HostInflateDiskRequestType
+
+func init() {
+ t["HostInflateDisk_Task"] = reflect.TypeOf((*HostInflateDisk_Task)(nil)).Elem()
+}
+
+type HostInflateDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostInternetScsiHba struct {
+ HostHostBusAdapter
+
+ IsSoftwareBased bool `xml:"isSoftwareBased"`
+ CanBeDisabled *bool `xml:"canBeDisabled"`
+ NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty"`
+ DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities"`
+ DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties"`
+ AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities"`
+ AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties"`
+ DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty"`
+ DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"`
+ IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities"`
+ IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties"`
+ SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"`
+ AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"`
+ IScsiName string `xml:"iScsiName"`
+ IScsiAlias string `xml:"iScsiAlias,omitempty"`
+ ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty"`
+ ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty"`
+ MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty"`
+ CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHba"] = reflect.TypeOf((*HostInternetScsiHba)(nil)).Elem()
+}
+
+type HostInternetScsiHbaAuthenticationCapabilities struct {
+ DynamicData
+
+ ChapAuthSettable bool `xml:"chapAuthSettable"`
+ Krb5AuthSettable bool `xml:"krb5AuthSettable"`
+ SrpAuthSettable bool `xml:"srpAuthSettable"`
+ SpkmAuthSettable bool `xml:"spkmAuthSettable"`
+ MutualChapSettable *bool `xml:"mutualChapSettable"`
+ TargetChapSettable *bool `xml:"targetChapSettable"`
+ TargetMutualChapSettable *bool `xml:"targetMutualChapSettable"`
+}
+
+func init() {
+ t["HostInternetScsiHbaAuthenticationCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationCapabilities)(nil)).Elem()
+}
+
+type HostInternetScsiHbaAuthenticationProperties struct {
+ DynamicData
+
+ ChapAuthEnabled bool `xml:"chapAuthEnabled"`
+ ChapName string `xml:"chapName,omitempty"`
+ ChapSecret string `xml:"chapSecret,omitempty"`
+ ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty"`
+ ChapInherited *bool `xml:"chapInherited"`
+ MutualChapName string `xml:"mutualChapName,omitempty"`
+ MutualChapSecret string `xml:"mutualChapSecret,omitempty"`
+ MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty"`
+ MutualChapInherited *bool `xml:"mutualChapInherited"`
+}
+
+func init() {
+ t["HostInternetScsiHbaAuthenticationProperties"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationProperties)(nil)).Elem()
+}
+
+type HostInternetScsiHbaDigestCapabilities struct {
+ DynamicData
+
+ HeaderDigestSettable *bool `xml:"headerDigestSettable"`
+ DataDigestSettable *bool `xml:"dataDigestSettable"`
+ TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable"`
+ TargetDataDigestSettable *bool `xml:"targetDataDigestSettable"`
+}
+
+func init() {
+ t["HostInternetScsiHbaDigestCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDigestCapabilities)(nil)).Elem()
+}
+
+type HostInternetScsiHbaDigestProperties struct {
+ DynamicData
+
+ HeaderDigestType string `xml:"headerDigestType,omitempty"`
+ HeaderDigestInherited *bool `xml:"headerDigestInherited"`
+ DataDigestType string `xml:"dataDigestType,omitempty"`
+ DataDigestInherited *bool `xml:"dataDigestInherited"`
+}
+
+func init() {
+ t["HostInternetScsiHbaDigestProperties"] = reflect.TypeOf((*HostInternetScsiHbaDigestProperties)(nil)).Elem()
+}
+
+type HostInternetScsiHbaDiscoveryCapabilities struct {
+ DynamicData
+
+ ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable"`
+ SlpDiscoverySettable bool `xml:"slpDiscoverySettable"`
+ StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable"`
+ SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable"`
+}
+
+func init() {
+ t["HostInternetScsiHbaDiscoveryCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryCapabilities)(nil)).Elem()
+}
+
+type HostInternetScsiHbaDiscoveryProperties struct {
+ DynamicData
+
+ ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled"`
+ ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty"`
+ ISnsHost string `xml:"iSnsHost,omitempty"`
+ SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled"`
+ SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty"`
+ SlpHost string `xml:"slpHost,omitempty"`
+ StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled"`
+ SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled"`
+}
+
+func init() {
+ t["HostInternetScsiHbaDiscoveryProperties"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryProperties)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIPCapabilities struct {
+ DynamicData
+
+ AddressSettable bool `xml:"addressSettable"`
+ IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable"`
+ SubnetMaskSettable bool `xml:"subnetMaskSettable"`
+ DefaultGatewaySettable bool `xml:"defaultGatewaySettable"`
+ PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable"`
+ AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable"`
+ Ipv6Supported *bool `xml:"ipv6Supported"`
+ ArpRedirectSettable *bool `xml:"arpRedirectSettable"`
+ MtuSettable *bool `xml:"mtuSettable"`
+ HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress"`
+ NameAliasSettable *bool `xml:"nameAliasSettable"`
+ Ipv4EnableSettable *bool `xml:"ipv4EnableSettable"`
+ Ipv6EnableSettable *bool `xml:"ipv6EnableSettable"`
+ Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable"`
+ Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty"`
+ Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable"`
+ Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable"`
+ Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable"`
+ Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable"`
+ Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaIPCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaIPCapabilities)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIPProperties struct {
+ DynamicData
+
+ Mac string `xml:"mac,omitempty"`
+ Address string `xml:"address,omitempty"`
+ DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled"`
+ SubnetMask string `xml:"subnetMask,omitempty"`
+ DefaultGateway string `xml:"defaultGateway,omitempty"`
+ PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty"`
+ AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty"`
+ Ipv6Address string `xml:"ipv6Address,omitempty"`
+ Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty"`
+ Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty"`
+ ArpRedirectEnabled *bool `xml:"arpRedirectEnabled"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ JumboFramesEnabled *bool `xml:"jumboFramesEnabled"`
+ Ipv4Enabled *bool `xml:"ipv4Enabled"`
+ Ipv6Enabled *bool `xml:"ipv6Enabled"`
+ Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaIPProperties"] = reflect.TypeOf((*HostInternetScsiHbaIPProperties)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIPv6Properties struct {
+ DynamicData
+
+ IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty"`
+ Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled"`
+ Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled"`
+ Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled"`
+ Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaIPv6Properties"] = reflect.TypeOf((*HostInternetScsiHbaIPv6Properties)(nil)).Elem()
+}
+
+type HostInternetScsiHbaIscsiIpv6Address struct {
+ DynamicData
+
+ Address string `xml:"address"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Origin string `xml:"origin"`
+ Operation string `xml:"operation,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
+}
+
+type HostInternetScsiHbaParamValue struct {
+ OptionValue
+
+ IsInherited *bool `xml:"isInherited"`
+}
+
+func init() {
+ t["HostInternetScsiHbaParamValue"] = reflect.TypeOf((*HostInternetScsiHbaParamValue)(nil)).Elem()
+}
+
+type HostInternetScsiHbaSendTarget struct {
+ DynamicData
+
+ Address string `xml:"address"`
+ Port int32 `xml:"port,omitempty"`
+ AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty"`
+ DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"`
+ SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"`
+ AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"`
+ Parent string `xml:"parent,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaSendTarget"] = reflect.TypeOf((*HostInternetScsiHbaSendTarget)(nil)).Elem()
+}
+
+type HostInternetScsiHbaStaticTarget struct {
+ DynamicData
+
+ Address string `xml:"address"`
+ Port int32 `xml:"port,omitempty"`
+ IScsiName string `xml:"iScsiName"`
+ DiscoveryMethod string `xml:"discoveryMethod,omitempty"`
+ AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty"`
+ DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"`
+ SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"`
+ AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"`
+ Parent string `xml:"parent,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*HostInternetScsiHbaStaticTarget)(nil)).Elem()
+}
+
+type HostInternetScsiHbaTargetSet struct {
+ DynamicData
+
+ StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty"`
+ SendTargets []HostInternetScsiHbaSendTarget `xml:"sendTargets,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiHbaTargetSet"] = reflect.TypeOf((*HostInternetScsiHbaTargetSet)(nil)).Elem()
+}
+
+type HostInternetScsiTargetTransport struct {
+ HostTargetTransport
+
+ IScsiName string `xml:"iScsiName"`
+ IScsiAlias string `xml:"iScsiAlias"`
+ Address []string `xml:"address,omitempty"`
+}
+
+func init() {
+ t["HostInternetScsiTargetTransport"] = reflect.TypeOf((*HostInternetScsiTargetTransport)(nil)).Elem()
+}
+
+type HostInventoryFull struct {
+ NotEnoughLicenses
+
+ Capacity int32 `xml:"capacity"`
+}
+
+func init() {
+ t["HostInventoryFull"] = reflect.TypeOf((*HostInventoryFull)(nil)).Elem()
+}
+
+type HostInventoryFullEvent struct {
+ LicenseEvent
+
+ Capacity int32 `xml:"capacity"`
+}
+
+func init() {
+ t["HostInventoryFullEvent"] = reflect.TypeOf((*HostInventoryFullEvent)(nil)).Elem()
+}
+
+type HostInventoryFullFault HostInventoryFull
+
+func init() {
+ t["HostInventoryFullFault"] = reflect.TypeOf((*HostInventoryFullFault)(nil)).Elem()
+}
+
+type HostInventoryUnreadableEvent struct {
+ Event
+}
+
+func init() {
+ t["HostInventoryUnreadableEvent"] = reflect.TypeOf((*HostInventoryUnreadableEvent)(nil)).Elem()
+}
+
+type HostIoFilterInfo struct {
+ IoFilterInfo
+
+ Available bool `xml:"available"`
+}
+
+func init() {
+ t["HostIoFilterInfo"] = reflect.TypeOf((*HostIoFilterInfo)(nil)).Elem()
+}
+
+type HostIpChangedEvent struct {
+ HostEvent
+
+ OldIP string `xml:"oldIP"`
+ NewIP string `xml:"newIP"`
+}
+
+func init() {
+ t["HostIpChangedEvent"] = reflect.TypeOf((*HostIpChangedEvent)(nil)).Elem()
+}
+
+type HostIpConfig struct {
+ DynamicData
+
+ Dhcp bool `xml:"dhcp"`
+ IpAddress string `xml:"ipAddress,omitempty"`
+ SubnetMask string `xml:"subnetMask,omitempty"`
+ IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty"`
+}
+
+func init() {
+ t["HostIpConfig"] = reflect.TypeOf((*HostIpConfig)(nil)).Elem()
+}
+
+type HostIpConfigIpV6Address struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Origin string `xml:"origin,omitempty"`
+ DadState string `xml:"dadState,omitempty"`
+ Lifetime *time.Time `xml:"lifetime"`
+ Operation string `xml:"operation,omitempty"`
+}
+
+func init() {
+ t["HostIpConfigIpV6Address"] = reflect.TypeOf((*HostIpConfigIpV6Address)(nil)).Elem()
+}
+
+type HostIpConfigIpV6AddressConfiguration struct {
+ DynamicData
+
+ IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty"`
+ AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"`
+ DhcpV6Enabled *bool `xml:"dhcpV6Enabled"`
+}
+
+func init() {
+ t["HostIpConfigIpV6AddressConfiguration"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfiguration)(nil)).Elem()
+}
+
+type HostIpInconsistentEvent struct {
+ HostEvent
+
+ IpAddress string `xml:"ipAddress"`
+ IpAddress2 string `xml:"ipAddress2"`
+}
+
+func init() {
+ t["HostIpInconsistentEvent"] = reflect.TypeOf((*HostIpInconsistentEvent)(nil)).Elem()
+}
+
+type HostIpRouteConfig struct {
+ DynamicData
+
+ DefaultGateway string `xml:"defaultGateway,omitempty"`
+ GatewayDevice string `xml:"gatewayDevice,omitempty"`
+ IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty"`
+ IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty"`
+}
+
+func init() {
+ t["HostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem()
+}
+
+type HostIpRouteConfigSpec struct {
+ HostIpRouteConfig
+
+ GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty"`
+ IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty"`
+}
+
+func init() {
+ t["HostIpRouteConfigSpec"] = reflect.TypeOf((*HostIpRouteConfigSpec)(nil)).Elem()
+}
+
+type HostIpRouteEntry struct {
+ DynamicData
+
+ Network string `xml:"network"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Gateway string `xml:"gateway"`
+ DeviceName string `xml:"deviceName,omitempty"`
+}
+
+func init() {
+ t["HostIpRouteEntry"] = reflect.TypeOf((*HostIpRouteEntry)(nil)).Elem()
+}
+
+type HostIpRouteOp struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation"`
+ Route HostIpRouteEntry `xml:"route"`
+}
+
+func init() {
+ t["HostIpRouteOp"] = reflect.TypeOf((*HostIpRouteOp)(nil)).Elem()
+}
+
+type HostIpRouteTableConfig struct {
+ DynamicData
+
+ IpRoute []HostIpRouteOp `xml:"ipRoute,omitempty"`
+ Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty"`
+}
+
+func init() {
+ t["HostIpRouteTableConfig"] = reflect.TypeOf((*HostIpRouteTableConfig)(nil)).Elem()
+}
+
+type HostIpRouteTableInfo struct {
+ DynamicData
+
+ IpRoute []HostIpRouteEntry `xml:"ipRoute,omitempty"`
+ Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty"`
+}
+
+func init() {
+ t["HostIpRouteTableInfo"] = reflect.TypeOf((*HostIpRouteTableInfo)(nil)).Elem()
+}
+
+type HostIpToShortNameFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostIpToShortNameFailedEvent"] = reflect.TypeOf((*HostIpToShortNameFailedEvent)(nil)).Elem()
+}
+
+type HostIpmiInfo struct {
+ DynamicData
+
+ BmcIpAddress string `xml:"bmcIpAddress,omitempty"`
+ BmcMacAddress string `xml:"bmcMacAddress,omitempty"`
+ Login string `xml:"login,omitempty"`
+ Password string `xml:"password,omitempty"`
+}
+
+func init() {
+ t["HostIpmiInfo"] = reflect.TypeOf((*HostIpmiInfo)(nil)).Elem()
+}
+
+type HostIsolationIpPingFailedEvent struct {
+ HostDasEvent
+
+ IsolationIp string `xml:"isolationIp"`
+}
+
+func init() {
+ t["HostIsolationIpPingFailedEvent"] = reflect.TypeOf((*HostIsolationIpPingFailedEvent)(nil)).Elem()
+}
+
+type HostLicensableResourceInfo struct {
+ DynamicData
+
+ Resource []KeyAnyValue `xml:"resource"`
+}
+
+func init() {
+ t["HostLicensableResourceInfo"] = reflect.TypeOf((*HostLicensableResourceInfo)(nil)).Elem()
+}
+
+type HostLicenseConnectInfo struct {
+ DynamicData
+
+ License LicenseManagerLicenseInfo `xml:"license"`
+ Evaluation LicenseManagerEvaluationInfo `xml:"evaluation"`
+ Resource *HostLicensableResourceInfo `xml:"resource,omitempty"`
+}
+
+func init() {
+ t["HostLicenseConnectInfo"] = reflect.TypeOf((*HostLicenseConnectInfo)(nil)).Elem()
+}
+
+type HostLicenseExpiredEvent struct {
+ LicenseEvent
+}
+
+func init() {
+ t["HostLicenseExpiredEvent"] = reflect.TypeOf((*HostLicenseExpiredEvent)(nil)).Elem()
+}
+
+type HostLicenseSpec struct {
+ DynamicData
+
+ Source BaseLicenseSource `xml:"source,omitempty,typeattr"`
+ EditionKey string `xml:"editionKey,omitempty"`
+ DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty"`
+ EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty"`
+}
+
+func init() {
+ t["HostLicenseSpec"] = reflect.TypeOf((*HostLicenseSpec)(nil)).Elem()
+}
+
+type HostListSummary struct {
+ DynamicData
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Hardware *HostHardwareSummary `xml:"hardware,omitempty"`
+ Runtime *HostRuntimeInfo `xml:"runtime,omitempty"`
+ Config HostConfigSummary `xml:"config"`
+ QuickStats HostListSummaryQuickStats `xml:"quickStats"`
+ OverallStatus ManagedEntityStatus `xml:"overallStatus"`
+ RebootRequired bool `xml:"rebootRequired"`
+ CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr"`
+ ManagementServerIp string `xml:"managementServerIp,omitempty"`
+ MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty"`
+ CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"`
+ Gateway *HostListSummaryGatewaySummary `xml:"gateway,omitempty"`
+}
+
+func init() {
+ t["HostListSummary"] = reflect.TypeOf((*HostListSummary)(nil)).Elem()
+}
+
+type HostListSummaryGatewaySummary struct {
+ DynamicData
+
+ GatewayType string `xml:"gatewayType"`
+ GatewayId string `xml:"gatewayId"`
+}
+
+func init() {
+ t["HostListSummaryGatewaySummary"] = reflect.TypeOf((*HostListSummaryGatewaySummary)(nil)).Elem()
+}
+
+type HostListSummaryQuickStats struct {
+ DynamicData
+
+ OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty"`
+ OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty"`
+ DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty"`
+ DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty"`
+ Uptime int32 `xml:"uptime,omitempty"`
+}
+
+func init() {
+ t["HostListSummaryQuickStats"] = reflect.TypeOf((*HostListSummaryQuickStats)(nil)).Elem()
+}
+
+type HostListVStorageObject HostListVStorageObjectRequestType
+
+func init() {
+ t["HostListVStorageObject"] = reflect.TypeOf((*HostListVStorageObject)(nil)).Elem()
+}
+
+type HostListVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostListVStorageObjectRequestType"] = reflect.TypeOf((*HostListVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostListVStorageObjectResponse struct {
+ Returnval []ID `xml:"returnval,omitempty"`
+}
+
+type HostLocalAuthenticationInfo struct {
+ HostAuthenticationStoreInfo
+}
+
+func init() {
+ t["HostLocalAuthenticationInfo"] = reflect.TypeOf((*HostLocalAuthenticationInfo)(nil)).Elem()
+}
+
+type HostLocalFileSystemVolume struct {
+ HostFileSystemVolume
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["HostLocalFileSystemVolume"] = reflect.TypeOf((*HostLocalFileSystemVolume)(nil)).Elem()
+}
+
+type HostLocalFileSystemVolumeSpec struct {
+ DynamicData
+
+ Device string `xml:"device"`
+ LocalPath string `xml:"localPath"`
+}
+
+func init() {
+ t["HostLocalFileSystemVolumeSpec"] = reflect.TypeOf((*HostLocalFileSystemVolumeSpec)(nil)).Elem()
+}
+
+type HostLocalPortCreatedEvent struct {
+ DvsEvent
+
+ HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort"`
+}
+
+func init() {
+ t["HostLocalPortCreatedEvent"] = reflect.TypeOf((*HostLocalPortCreatedEvent)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerDiskLayoutSpec struct {
+ DynamicData
+
+ ControllerType string `xml:"controllerType"`
+ BusNumber int32 `xml:"busNumber"`
+ UnitNumber *int32 `xml:"unitNumber"`
+ SrcFilename string `xml:"srcFilename"`
+ DstFilename string `xml:"dstFilename"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerFileDeleteResult struct {
+ DynamicData
+
+ FileName string `xml:"fileName"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerFileDeleteSpec struct {
+ DynamicData
+
+ FileName string `xml:"fileName"`
+ FileType string `xml:"fileType"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerFileReserveResult struct {
+ DynamicData
+
+ BaseName string `xml:"baseName"`
+ ParentDir string `xml:"parentDir"`
+ ReservedName string `xml:"reservedName"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerFileReserveSpec struct {
+ DynamicData
+
+ BaseName string `xml:"baseName"`
+ ParentDir string `xml:"parentDir"`
+ FileType string `xml:"fileType"`
+ StorageProfile string `xml:"storageProfile"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
+ DynamicData
+
+ Id int32 `xml:"id"`
+ SrcFilename string `xml:"srcFilename"`
+ DstFilename string `xml:"dstFilename"`
+ Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerVmMigrationStatus struct {
+ DynamicData
+
+ MigrationId int64 `xml:"migrationId"`
+ Type string `xml:"type"`
+ Source bool `xml:"source"`
+ ConsideredSuccessful bool `xml:"consideredSuccessful"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerVmMigrationStatus"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmMigrationStatus)(nil)).Elem()
+}
+
+type HostLowLevelProvisioningManagerVmRecoveryInfo struct {
+ DynamicData
+
+ Version string `xml:"version"`
+ BiosUUID string `xml:"biosUUID"`
+ InstanceUUID string `xml:"instanceUUID"`
+ FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostLowLevelProvisioningManagerVmRecoveryInfo"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmRecoveryInfo)(nil)).Elem()
+}
+
+type HostMaintenanceSpec struct {
+ DynamicData
+
+ VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty"`
+}
+
+func init() {
+ t["HostMaintenanceSpec"] = reflect.TypeOf((*HostMaintenanceSpec)(nil)).Elem()
+}
+
+type HostMemberHealthCheckResult struct {
+ DynamicData
+
+ Summary string `xml:"summary,omitempty"`
+}
+
+func init() {
+ t["HostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem()
+}
+
+type HostMemberRuntimeInfo struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Status string `xml:"status,omitempty"`
+ StatusDetail string `xml:"statusDetail,omitempty"`
+ HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostMemberRuntimeInfo"] = reflect.TypeOf((*HostMemberRuntimeInfo)(nil)).Elem()
+}
+
+type HostMemberUplinkHealthCheckResult struct {
+ HostMemberHealthCheckResult
+
+ UplinkPortKey string `xml:"uplinkPortKey"`
+}
+
+func init() {
+ t["HostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem()
+}
+
+type HostMemoryProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["HostMemoryProfile"] = reflect.TypeOf((*HostMemoryProfile)(nil)).Elem()
+}
+
+type HostMemorySpec struct {
+ DynamicData
+
+ ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty"`
+}
+
+func init() {
+ t["HostMemorySpec"] = reflect.TypeOf((*HostMemorySpec)(nil)).Elem()
+}
+
+type HostMissingNetworksEvent struct {
+ HostDasEvent
+
+ Ips string `xml:"ips,omitempty"`
+}
+
+func init() {
+ t["HostMissingNetworksEvent"] = reflect.TypeOf((*HostMissingNetworksEvent)(nil)).Elem()
+}
+
+type HostMonitoringStateChangedEvent struct {
+ ClusterEvent
+
+ State string `xml:"state"`
+ PrevState string `xml:"prevState,omitempty"`
+}
+
+func init() {
+ t["HostMonitoringStateChangedEvent"] = reflect.TypeOf((*HostMonitoringStateChangedEvent)(nil)).Elem()
+}
+
+type HostMountInfo struct {
+ DynamicData
+
+ Path string `xml:"path,omitempty"`
+ AccessMode string `xml:"accessMode"`
+ Mounted *bool `xml:"mounted"`
+ Accessible *bool `xml:"accessible"`
+ InaccessibleReason string `xml:"inaccessibleReason,omitempty"`
+}
+
+func init() {
+ t["HostMountInfo"] = reflect.TypeOf((*HostMountInfo)(nil)).Elem()
+}
+
+type HostMultipathInfo struct {
+ DynamicData
+
+ Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty"`
+}
+
+func init() {
+ t["HostMultipathInfo"] = reflect.TypeOf((*HostMultipathInfo)(nil)).Elem()
+}
+
+type HostMultipathInfoFixedLogicalUnitPolicy struct {
+ HostMultipathInfoLogicalUnitPolicy
+
+ Prefer string `xml:"prefer"`
+}
+
+func init() {
+ t["HostMultipathInfoFixedLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoFixedLogicalUnitPolicy)(nil)).Elem()
+}
+
+type HostMultipathInfoLogicalUnit struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Id string `xml:"id"`
+ Lun string `xml:"lun"`
+ Path []HostMultipathInfoPath `xml:"path"`
+ Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr"`
+ StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty"`
+}
+
+func init() {
+ t["HostMultipathInfoLogicalUnit"] = reflect.TypeOf((*HostMultipathInfoLogicalUnit)(nil)).Elem()
+}
+
+type HostMultipathInfoLogicalUnitPolicy struct {
+ DynamicData
+
+ Policy string `xml:"policy"`
+}
+
+func init() {
+ t["HostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem()
+}
+
+type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct {
+ DynamicData
+
+ Policy string `xml:"policy"`
+}
+
+func init() {
+ t["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitStorageArrayTypePolicy)(nil)).Elem()
+}
+
+type HostMultipathInfoPath struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ PathState string `xml:"pathState"`
+ State string `xml:"state,omitempty"`
+ IsWorkingPath *bool `xml:"isWorkingPath"`
+ Adapter string `xml:"adapter"`
+ Lun string `xml:"lun"`
+ Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostMultipathInfoPath"] = reflect.TypeOf((*HostMultipathInfoPath)(nil)).Elem()
+}
+
+type HostMultipathStateInfo struct {
+ DynamicData
+
+ Path []HostMultipathStateInfoPath `xml:"path,omitempty"`
+}
+
+func init() {
+ t["HostMultipathStateInfo"] = reflect.TypeOf((*HostMultipathStateInfo)(nil)).Elem()
+}
+
+type HostMultipathStateInfoPath struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ PathState string `xml:"pathState"`
+}
+
+func init() {
+ t["HostMultipathStateInfoPath"] = reflect.TypeOf((*HostMultipathStateInfoPath)(nil)).Elem()
+}
+
+type HostNasVolume struct {
+ HostFileSystemVolume
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+ UserName string `xml:"userName,omitempty"`
+ RemoteHostNames []string `xml:"remoteHostNames,omitempty"`
+ SecurityType string `xml:"securityType,omitempty"`
+ ProtocolEndpoint *bool `xml:"protocolEndpoint"`
+}
+
+func init() {
+ t["HostNasVolume"] = reflect.TypeOf((*HostNasVolume)(nil)).Elem()
+}
+
+type HostNasVolumeConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Spec *HostNasVolumeSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostNasVolumeConfig"] = reflect.TypeOf((*HostNasVolumeConfig)(nil)).Elem()
+}
+
+type HostNasVolumeSpec struct {
+ DynamicData
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+ LocalPath string `xml:"localPath"`
+ AccessMode string `xml:"accessMode"`
+ Type string `xml:"type,omitempty"`
+ UserName string `xml:"userName,omitempty"`
+ Password string `xml:"password,omitempty"`
+ RemoteHostNames []string `xml:"remoteHostNames,omitempty"`
+ SecurityType string `xml:"securityType,omitempty"`
+}
+
+func init() {
+ t["HostNasVolumeSpec"] = reflect.TypeOf((*HostNasVolumeSpec)(nil)).Elem()
+}
+
+type HostNasVolumeUserInfo struct {
+ DynamicData
+
+ User string `xml:"user"`
+}
+
+func init() {
+ t["HostNasVolumeUserInfo"] = reflect.TypeOf((*HostNasVolumeUserInfo)(nil)).Elem()
+}
+
+type HostNatService struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Spec HostNatServiceSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostNatService"] = reflect.TypeOf((*HostNatService)(nil)).Elem()
+}
+
+type HostNatServiceConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Key string `xml:"key"`
+ Spec HostNatServiceSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostNatServiceConfig"] = reflect.TypeOf((*HostNatServiceConfig)(nil)).Elem()
+}
+
+type HostNatServiceNameServiceSpec struct {
+ DynamicData
+
+ DnsAutoDetect bool `xml:"dnsAutoDetect"`
+ DnsPolicy string `xml:"dnsPolicy"`
+ DnsRetries int32 `xml:"dnsRetries"`
+ DnsTimeout int32 `xml:"dnsTimeout"`
+ DnsNameServer []string `xml:"dnsNameServer,omitempty"`
+ NbdsTimeout int32 `xml:"nbdsTimeout"`
+ NbnsRetries int32 `xml:"nbnsRetries"`
+ NbnsTimeout int32 `xml:"nbnsTimeout"`
+}
+
+func init() {
+ t["HostNatServiceNameServiceSpec"] = reflect.TypeOf((*HostNatServiceNameServiceSpec)(nil)).Elem()
+}
+
+type HostNatServicePortForwardSpec struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ Name string `xml:"name"`
+ HostPort int32 `xml:"hostPort"`
+ GuestPort int32 `xml:"guestPort"`
+ GuestIpAddress string `xml:"guestIpAddress"`
+}
+
+func init() {
+ t["HostNatServicePortForwardSpec"] = reflect.TypeOf((*HostNatServicePortForwardSpec)(nil)).Elem()
+}
+
+type HostNatServiceSpec struct {
+ DynamicData
+
+ VirtualSwitch string `xml:"virtualSwitch"`
+ ActiveFtp bool `xml:"activeFtp"`
+ AllowAnyOui bool `xml:"allowAnyOui"`
+ ConfigPort bool `xml:"configPort"`
+ IpGatewayAddress string `xml:"ipGatewayAddress"`
+ UdpTimeout int32 `xml:"udpTimeout"`
+ PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty"`
+ NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty"`
+}
+
+func init() {
+ t["HostNatServiceSpec"] = reflect.TypeOf((*HostNatServiceSpec)(nil)).Elem()
+}
+
+type HostNetCapabilities struct {
+ DynamicData
+
+ CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed"`
+ SupportsNicTeaming bool `xml:"supportsNicTeaming"`
+ NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty"`
+ SupportsVlan bool `xml:"supportsVlan"`
+ UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic"`
+ SupportsNetworkHints bool `xml:"supportsNetworkHints"`
+ MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty"`
+ VswitchConfigSupported bool `xml:"vswitchConfigSupported"`
+ VnicConfigSupported bool `xml:"vnicConfigSupported"`
+ IpRouteConfigSupported bool `xml:"ipRouteConfigSupported"`
+ DnsConfigSupported bool `xml:"dnsConfigSupported"`
+ DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported"`
+ IpV6Supported *bool `xml:"ipV6Supported"`
+}
+
+func init() {
+ t["HostNetCapabilities"] = reflect.TypeOf((*HostNetCapabilities)(nil)).Elem()
+}
+
+type HostNetOffloadCapabilities struct {
+ DynamicData
+
+ CsumOffload *bool `xml:"csumOffload"`
+ TcpSegmentation *bool `xml:"tcpSegmentation"`
+ ZeroCopyXmit *bool `xml:"zeroCopyXmit"`
+}
+
+func init() {
+ t["HostNetOffloadCapabilities"] = reflect.TypeOf((*HostNetOffloadCapabilities)(nil)).Elem()
+}
+
+type HostNetStackInstance struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Name string `xml:"name,omitempty"`
+ DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"`
+ IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"`
+ RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty"`
+ CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty"`
+ IpV6Enabled *bool `xml:"ipV6Enabled"`
+ RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty"`
+}
+
+func init() {
+ t["HostNetStackInstance"] = reflect.TypeOf((*HostNetStackInstance)(nil)).Elem()
+}
+
+type HostNetworkConfig struct {
+ DynamicData
+
+ Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty"`
+ ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty"`
+ Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty"`
+ Pnic []PhysicalNicConfig `xml:"pnic,omitempty"`
+ Vnic []HostVirtualNicConfig `xml:"vnic,omitempty"`
+ ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty"`
+ DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"`
+ IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"`
+ ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr"`
+ RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty"`
+ Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty"`
+ Nat []HostNatServiceConfig `xml:"nat,omitempty"`
+ IpV6Enabled *bool `xml:"ipV6Enabled"`
+ NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty"`
+}
+
+func init() {
+ t["HostNetworkConfig"] = reflect.TypeOf((*HostNetworkConfig)(nil)).Elem()
+}
+
+type HostNetworkConfigNetStackSpec struct {
+ DynamicData
+
+ NetStackInstance HostNetStackInstance `xml:"netStackInstance"`
+ Operation string `xml:"operation,omitempty"`
+}
+
+func init() {
+ t["HostNetworkConfigNetStackSpec"] = reflect.TypeOf((*HostNetworkConfigNetStackSpec)(nil)).Elem()
+}
+
+type HostNetworkConfigResult struct {
+ DynamicData
+
+ VnicDevice []string `xml:"vnicDevice,omitempty"`
+ ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty"`
+}
+
+func init() {
+ t["HostNetworkConfigResult"] = reflect.TypeOf((*HostNetworkConfigResult)(nil)).Elem()
+}
+
+type HostNetworkInfo struct {
+ DynamicData
+
+ Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty"`
+ ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty"`
+ Portgroup []HostPortGroup `xml:"portgroup,omitempty"`
+ Pnic []PhysicalNic `xml:"pnic,omitempty"`
+ Vnic []HostVirtualNic `xml:"vnic,omitempty"`
+ ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty"`
+ DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"`
+ IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"`
+ ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr"`
+ RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty"`
+ Dhcp []HostDhcpService `xml:"dhcp,omitempty"`
+ Nat []HostNatService `xml:"nat,omitempty"`
+ IpV6Enabled *bool `xml:"ipV6Enabled"`
+ AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled"`
+ NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty"`
+ OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty"`
+ OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty"`
+}
+
+func init() {
+ t["HostNetworkInfo"] = reflect.TypeOf((*HostNetworkInfo)(nil)).Elem()
+}
+
+type HostNetworkPolicy struct {
+ DynamicData
+
+ Security *HostNetworkSecurityPolicy `xml:"security,omitempty"`
+ NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty"`
+ OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty"`
+ ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty"`
+}
+
+func init() {
+ t["HostNetworkPolicy"] = reflect.TypeOf((*HostNetworkPolicy)(nil)).Elem()
+}
+
+type HostNetworkResourceRuntime struct {
+ DynamicData
+
+ PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo"`
+}
+
+func init() {
+ t["HostNetworkResourceRuntime"] = reflect.TypeOf((*HostNetworkResourceRuntime)(nil)).Elem()
+}
+
+type HostNetworkSecurityPolicy struct {
+ DynamicData
+
+ AllowPromiscuous *bool `xml:"allowPromiscuous"`
+ MacChanges *bool `xml:"macChanges"`
+ ForgedTransmits *bool `xml:"forgedTransmits"`
+}
+
+func init() {
+ t["HostNetworkSecurityPolicy"] = reflect.TypeOf((*HostNetworkSecurityPolicy)(nil)).Elem()
+}
+
+type HostNetworkTrafficShapingPolicy struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ AverageBandwidth int64 `xml:"averageBandwidth,omitempty"`
+ PeakBandwidth int64 `xml:"peakBandwidth,omitempty"`
+ BurstSize int64 `xml:"burstSize,omitempty"`
+}
+
+func init() {
+ t["HostNetworkTrafficShapingPolicy"] = reflect.TypeOf((*HostNetworkTrafficShapingPolicy)(nil)).Elem()
+}
+
+type HostNewNetworkConnectInfo struct {
+ HostConnectInfoNetworkInfo
+}
+
+func init() {
+ t["HostNewNetworkConnectInfo"] = reflect.TypeOf((*HostNewNetworkConnectInfo)(nil)).Elem()
+}
+
+type HostNicFailureCriteria struct {
+ DynamicData
+
+ CheckSpeed string `xml:"checkSpeed,omitempty"`
+ Speed int32 `xml:"speed,omitempty"`
+ CheckDuplex *bool `xml:"checkDuplex"`
+ FullDuplex *bool `xml:"fullDuplex"`
+ CheckErrorPercent *bool `xml:"checkErrorPercent"`
+ Percentage int32 `xml:"percentage,omitempty"`
+ CheckBeacon *bool `xml:"checkBeacon"`
+}
+
+func init() {
+ t["HostNicFailureCriteria"] = reflect.TypeOf((*HostNicFailureCriteria)(nil)).Elem()
+}
+
+type HostNicOrderPolicy struct {
+ DynamicData
+
+ ActiveNic []string `xml:"activeNic,omitempty"`
+ StandbyNic []string `xml:"standbyNic,omitempty"`
+}
+
+func init() {
+ t["HostNicOrderPolicy"] = reflect.TypeOf((*HostNicOrderPolicy)(nil)).Elem()
+}
+
+type HostNicTeamingPolicy struct {
+ DynamicData
+
+ Policy string `xml:"policy,omitempty"`
+ ReversePolicy *bool `xml:"reversePolicy"`
+ NotifySwitches *bool `xml:"notifySwitches"`
+ RollingOrder *bool `xml:"rollingOrder"`
+ FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty"`
+ NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty"`
+}
+
+func init() {
+ t["HostNicTeamingPolicy"] = reflect.TypeOf((*HostNicTeamingPolicy)(nil)).Elem()
+}
+
+type HostNoAvailableNetworksEvent struct {
+ HostDasEvent
+
+ Ips string `xml:"ips,omitempty"`
+}
+
+func init() {
+ t["HostNoAvailableNetworksEvent"] = reflect.TypeOf((*HostNoAvailableNetworksEvent)(nil)).Elem()
+}
+
+type HostNoHAEnabledPortGroupsEvent struct {
+ HostDasEvent
+}
+
+func init() {
+ t["HostNoHAEnabledPortGroupsEvent"] = reflect.TypeOf((*HostNoHAEnabledPortGroupsEvent)(nil)).Elem()
+}
+
+type HostNoRedundantManagementNetworkEvent struct {
+ HostDasEvent
+}
+
+func init() {
+ t["HostNoRedundantManagementNetworkEvent"] = reflect.TypeOf((*HostNoRedundantManagementNetworkEvent)(nil)).Elem()
+}
+
+type HostNonCompliantEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostNonCompliantEvent"] = reflect.TypeOf((*HostNonCompliantEvent)(nil)).Elem()
+}
+
+type HostNotConnected struct {
+ HostCommunication
+}
+
+func init() {
+ t["HostNotConnected"] = reflect.TypeOf((*HostNotConnected)(nil)).Elem()
+}
+
+type HostNotConnectedFault HostNotConnected
+
+func init() {
+ t["HostNotConnectedFault"] = reflect.TypeOf((*HostNotConnectedFault)(nil)).Elem()
+}
+
+type HostNotInClusterEvent struct {
+ HostDasEvent
+}
+
+func init() {
+ t["HostNotInClusterEvent"] = reflect.TypeOf((*HostNotInClusterEvent)(nil)).Elem()
+}
+
+type HostNotReachable struct {
+ HostCommunication
+}
+
+func init() {
+ t["HostNotReachable"] = reflect.TypeOf((*HostNotReachable)(nil)).Elem()
+}
+
+type HostNotReachableFault HostNotReachable
+
+func init() {
+ t["HostNotReachableFault"] = reflect.TypeOf((*HostNotReachableFault)(nil)).Elem()
+}
+
+type HostNtpConfig struct {
+ DynamicData
+
+ Server []string `xml:"server,omitempty"`
+ ConfigFile []string `xml:"configFile,omitempty"`
+}
+
+func init() {
+ t["HostNtpConfig"] = reflect.TypeOf((*HostNtpConfig)(nil)).Elem()
+}
+
+type HostNumaInfo struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ NumNodes int32 `xml:"numNodes"`
+ NumaNode []HostNumaNode `xml:"numaNode,omitempty"`
+}
+
+func init() {
+ t["HostNumaInfo"] = reflect.TypeOf((*HostNumaInfo)(nil)).Elem()
+}
+
+type HostNumaNode struct {
+ DynamicData
+
+ TypeId byte `xml:"typeId"`
+ CpuID []int16 `xml:"cpuID"`
+ MemoryRangeBegin int64 `xml:"memoryRangeBegin"`
+ MemoryRangeLength int64 `xml:"memoryRangeLength"`
+}
+
+func init() {
+ t["HostNumaNode"] = reflect.TypeOf((*HostNumaNode)(nil)).Elem()
+}
+
+type HostNumericSensorInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr"`
+ CurrentReading int64 `xml:"currentReading"`
+ UnitModifier int32 `xml:"unitModifier"`
+ BaseUnits string `xml:"baseUnits"`
+ RateUnits string `xml:"rateUnits,omitempty"`
+ SensorType string `xml:"sensorType"`
+ Id string `xml:"id,omitempty"`
+ TimeStamp string `xml:"timeStamp,omitempty"`
+}
+
+func init() {
+ t["HostNumericSensorInfo"] = reflect.TypeOf((*HostNumericSensorInfo)(nil)).Elem()
+}
+
+type HostOpaqueNetworkInfo struct {
+ DynamicData
+
+ OpaqueNetworkId string `xml:"opaqueNetworkId"`
+ OpaqueNetworkName string `xml:"opaqueNetworkName"`
+ OpaqueNetworkType string `xml:"opaqueNetworkType"`
+ PnicZone []string `xml:"pnicZone,omitempty"`
+ Capability *OpaqueNetworkCapability `xml:"capability,omitempty"`
+ ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostOpaqueNetworkInfo"] = reflect.TypeOf((*HostOpaqueNetworkInfo)(nil)).Elem()
+}
+
+type HostOpaqueSwitch struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name,omitempty"`
+ Pnic []string `xml:"pnic,omitempty"`
+ PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty"`
+ Status string `xml:"status,omitempty"`
+ Vtep []HostVirtualNic `xml:"vtep,omitempty"`
+ ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostOpaqueSwitch"] = reflect.TypeOf((*HostOpaqueSwitch)(nil)).Elem()
+}
+
+type HostOpaqueSwitchPhysicalNicZone struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ PnicDevice []string `xml:"pnicDevice,omitempty"`
+}
+
+func init() {
+ t["HostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*HostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
+}
+
+type HostOvercommittedEvent struct {
+ ClusterOvercommittedEvent
+}
+
+func init() {
+ t["HostOvercommittedEvent"] = reflect.TypeOf((*HostOvercommittedEvent)(nil)).Elem()
+}
+
+type HostParallelScsiHba struct {
+ HostHostBusAdapter
+}
+
+func init() {
+ t["HostParallelScsiHba"] = reflect.TypeOf((*HostParallelScsiHba)(nil)).Elem()
+}
+
+type HostParallelScsiTargetTransport struct {
+ HostTargetTransport
+}
+
+func init() {
+ t["HostParallelScsiTargetTransport"] = reflect.TypeOf((*HostParallelScsiTargetTransport)(nil)).Elem()
+}
+
+type HostPatchManagerLocator struct {
+ DynamicData
+
+ Url string `xml:"url"`
+ Proxy string `xml:"proxy,omitempty"`
+}
+
+func init() {
+ t["HostPatchManagerLocator"] = reflect.TypeOf((*HostPatchManagerLocator)(nil)).Elem()
+}
+
+type HostPatchManagerPatchManagerOperationSpec struct {
+ DynamicData
+
+ Proxy string `xml:"proxy,omitempty"`
+ Port int32 `xml:"port,omitempty"`
+ UserName string `xml:"userName,omitempty"`
+ Password string `xml:"password,omitempty"`
+ CmdOption string `xml:"cmdOption,omitempty"`
+}
+
+func init() {
+ t["HostPatchManagerPatchManagerOperationSpec"] = reflect.TypeOf((*HostPatchManagerPatchManagerOperationSpec)(nil)).Elem()
+}
+
+type HostPatchManagerResult struct {
+ DynamicData
+
+ Version string `xml:"version"`
+ Status []HostPatchManagerStatus `xml:"status,omitempty"`
+ XmlResult string `xml:"xmlResult,omitempty"`
+}
+
+func init() {
+ t["HostPatchManagerResult"] = reflect.TypeOf((*HostPatchManagerResult)(nil)).Elem()
+}
+
+type HostPatchManagerStatus struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Applicable bool `xml:"applicable"`
+ Reason []string `xml:"reason,omitempty"`
+ Integrity string `xml:"integrity,omitempty"`
+ Installed bool `xml:"installed"`
+ InstallState []string `xml:"installState,omitempty"`
+ PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty"`
+ RestartRequired bool `xml:"restartRequired"`
+ ReconnectRequired bool `xml:"reconnectRequired"`
+ VmOffRequired bool `xml:"vmOffRequired"`
+ SupersededPatchIds []string `xml:"supersededPatchIds,omitempty"`
+}
+
+func init() {
+ t["HostPatchManagerStatus"] = reflect.TypeOf((*HostPatchManagerStatus)(nil)).Elem()
+}
+
+type HostPatchManagerStatusPrerequisitePatch struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ InstallState []string `xml:"installState,omitempty"`
+}
+
+func init() {
+ t["HostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*HostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
+}
+
+type HostPathSelectionPolicyOption struct {
+ DynamicData
+
+ Policy BaseElementDescription `xml:"policy,typeattr"`
+}
+
+func init() {
+ t["HostPathSelectionPolicyOption"] = reflect.TypeOf((*HostPathSelectionPolicyOption)(nil)).Elem()
+}
+
+type HostPciDevice struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ ClassId int16 `xml:"classId"`
+ Bus byte `xml:"bus"`
+ Slot byte `xml:"slot"`
+ Function byte `xml:"function"`
+ VendorId int16 `xml:"vendorId"`
+ SubVendorId int16 `xml:"subVendorId"`
+ VendorName string `xml:"vendorName"`
+ DeviceId int16 `xml:"deviceId"`
+ SubDeviceId int16 `xml:"subDeviceId"`
+ ParentBridge string `xml:"parentBridge,omitempty"`
+ DeviceName string `xml:"deviceName"`
+}
+
+func init() {
+ t["HostPciDevice"] = reflect.TypeOf((*HostPciDevice)(nil)).Elem()
+}
+
+type HostPciPassthruConfig struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ PassthruEnabled bool `xml:"passthruEnabled"`
+}
+
+func init() {
+ t["HostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem()
+}
+
+type HostPciPassthruInfo struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ DependentDevice string `xml:"dependentDevice"`
+ PassthruEnabled bool `xml:"passthruEnabled"`
+ PassthruCapable bool `xml:"passthruCapable"`
+ PassthruActive bool `xml:"passthruActive"`
+}
+
+func init() {
+ t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem()
+}
+
+type HostPlacedVirtualNicIdentifier struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VnicKey string `xml:"vnicKey"`
+ Reservation int32 `xml:"reservation,omitempty"`
+}
+
+func init() {
+ t["HostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*HostPlacedVirtualNicIdentifier)(nil)).Elem()
+}
+
+type HostPlugStoreTopology struct {
+ DynamicData
+
+ Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty"`
+ Path []HostPlugStoreTopologyPath `xml:"path,omitempty"`
+ Target []HostPlugStoreTopologyTarget `xml:"target,omitempty"`
+ Device []HostPlugStoreTopologyDevice `xml:"device,omitempty"`
+ Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty"`
+}
+
+func init() {
+ t["HostPlugStoreTopology"] = reflect.TypeOf((*HostPlugStoreTopology)(nil)).Elem()
+}
+
+type HostPlugStoreTopologyAdapter struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Adapter string `xml:"adapter"`
+ Path []string `xml:"path,omitempty"`
+}
+
+func init() {
+ t["HostPlugStoreTopologyAdapter"] = reflect.TypeOf((*HostPlugStoreTopologyAdapter)(nil)).Elem()
+}
+
+type HostPlugStoreTopologyDevice struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Lun string `xml:"lun"`
+ Path []string `xml:"path,omitempty"`
+}
+
+func init() {
+ t["HostPlugStoreTopologyDevice"] = reflect.TypeOf((*HostPlugStoreTopologyDevice)(nil)).Elem()
+}
+
+type HostPlugStoreTopologyPath struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ ChannelNumber int32 `xml:"channelNumber,omitempty"`
+ TargetNumber int32 `xml:"targetNumber,omitempty"`
+ LunNumber int32 `xml:"lunNumber,omitempty"`
+ Adapter string `xml:"adapter,omitempty"`
+ Target string `xml:"target,omitempty"`
+ Device string `xml:"device,omitempty"`
+}
+
+func init() {
+ t["HostPlugStoreTopologyPath"] = reflect.TypeOf((*HostPlugStoreTopologyPath)(nil)).Elem()
+}
+
+type HostPlugStoreTopologyPlugin struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ Device []string `xml:"device,omitempty"`
+ ClaimedPath []string `xml:"claimedPath,omitempty"`
+}
+
+func init() {
+ t["HostPlugStoreTopologyPlugin"] = reflect.TypeOf((*HostPlugStoreTopologyPlugin)(nil)).Elem()
+}
+
+type HostPlugStoreTopologyTarget struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostPlugStoreTopologyTarget"] = reflect.TypeOf((*HostPlugStoreTopologyTarget)(nil)).Elem()
+}
+
+type HostPnicNetworkResourceInfo struct {
+ DynamicData
+
+ PnicDevice string `xml:"pnicDevice"`
+ AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty"`
+ UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty"`
+ PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty"`
+}
+
+func init() {
+ t["HostPnicNetworkResourceInfo"] = reflect.TypeOf((*HostPnicNetworkResourceInfo)(nil)).Elem()
+}
+
+type HostPortGroup struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Port []HostPortGroupPort `xml:"port,omitempty"`
+ Vswitch string `xml:"vswitch,omitempty"`
+ ComputedPolicy HostNetworkPolicy `xml:"computedPolicy"`
+ Spec HostPortGroupSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostPortGroup"] = reflect.TypeOf((*HostPortGroup)(nil)).Elem()
+}
+
+type HostPortGroupConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Spec *HostPortGroupSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostPortGroupConfig"] = reflect.TypeOf((*HostPortGroupConfig)(nil)).Elem()
+}
+
+type HostPortGroupPort struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Mac []string `xml:"mac,omitempty"`
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["HostPortGroupPort"] = reflect.TypeOf((*HostPortGroupPort)(nil)).Elem()
+}
+
+type HostPortGroupProfile struct {
+ PortGroupProfile
+
+ IpConfig IpAddressProfile `xml:"ipConfig"`
+}
+
+func init() {
+ t["HostPortGroupProfile"] = reflect.TypeOf((*HostPortGroupProfile)(nil)).Elem()
+}
+
+type HostPortGroupSpec struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ VlanId int32 `xml:"vlanId"`
+ VswitchName string `xml:"vswitchName"`
+ Policy HostNetworkPolicy `xml:"policy"`
+}
+
+func init() {
+ t["HostPortGroupSpec"] = reflect.TypeOf((*HostPortGroupSpec)(nil)).Elem()
+}
+
+type HostPosixAccountSpec struct {
+ HostAccountSpec
+
+ PosixId int32 `xml:"posixId,omitempty"`
+ ShellAccess *bool `xml:"shellAccess"`
+}
+
+func init() {
+ t["HostPosixAccountSpec"] = reflect.TypeOf((*HostPosixAccountSpec)(nil)).Elem()
+}
+
+type HostPowerOpFailed struct {
+ VimFault
+}
+
+func init() {
+ t["HostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem()
+}
+
+type HostPowerOpFailedFault BaseHostPowerOpFailed
+
+func init() {
+ t["HostPowerOpFailedFault"] = reflect.TypeOf((*HostPowerOpFailedFault)(nil)).Elem()
+}
+
+type HostPowerPolicy struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ Name string `xml:"name"`
+ ShortName string `xml:"shortName"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["HostPowerPolicy"] = reflect.TypeOf((*HostPowerPolicy)(nil)).Elem()
+}
+
+type HostPrimaryAgentNotShortNameEvent struct {
+ HostDasEvent
+
+ PrimaryAgent string `xml:"primaryAgent"`
+}
+
+func init() {
+ t["HostPrimaryAgentNotShortNameEvent"] = reflect.TypeOf((*HostPrimaryAgentNotShortNameEvent)(nil)).Elem()
+}
+
+type HostProfileAppliedEvent struct {
+ HostEvent
+
+ Profile ProfileEventArgument `xml:"profile"`
+}
+
+func init() {
+ t["HostProfileAppliedEvent"] = reflect.TypeOf((*HostProfileAppliedEvent)(nil)).Elem()
+}
+
+type HostProfileCompleteConfigSpec struct {
+ HostProfileConfigSpec
+
+ ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty"`
+ CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty"`
+ DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged"`
+ DisabledExpressionList []string `xml:"disabledExpressionList,omitempty"`
+ ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty"`
+ Validating *bool `xml:"validating"`
+ HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty"`
+}
+
+func init() {
+ t["HostProfileCompleteConfigSpec"] = reflect.TypeOf((*HostProfileCompleteConfigSpec)(nil)).Elem()
+}
+
+type HostProfileConfigInfo struct {
+ ProfileConfigInfo
+
+ ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty"`
+ DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty"`
+ DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty"`
+ CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty"`
+ DisabledExpressionList []string `xml:"disabledExpressionList,omitempty"`
+ Description *ProfileDescription `xml:"description,omitempty"`
+}
+
+func init() {
+ t["HostProfileConfigInfo"] = reflect.TypeOf((*HostProfileConfigInfo)(nil)).Elem()
+}
+
+type HostProfileConfigSpec struct {
+ ProfileCreateSpec
+}
+
+func init() {
+ t["HostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem()
+}
+
+type HostProfileHostBasedConfigSpec struct {
+ HostProfileConfigSpec
+
+ Host ManagedObjectReference `xml:"host"`
+ UseHostProfileEngine *bool `xml:"useHostProfileEngine"`
+}
+
+func init() {
+ t["HostProfileHostBasedConfigSpec"] = reflect.TypeOf((*HostProfileHostBasedConfigSpec)(nil)).Elem()
+}
+
+type HostProfileManagerCompositionValidationResultResultElement struct {
+ DynamicData
+
+ Target ManagedObjectReference `xml:"target"`
+ Status string `xml:"status"`
+ Errors []LocalizableMessage `xml:"errors,omitempty"`
+ SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty"`
+ TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty"`
+ ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty"`
+ ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty"`
+ ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty"`
+ ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty"`
+ ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty"`
+}
+
+func init() {
+ t["HostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
+}
+
+type HostProfileManagerConfigTaskList struct {
+ DynamicData
+
+ ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty"`
+ TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty"`
+ TaskListRequirement []string `xml:"taskListRequirement,omitempty"`
+}
+
+func init() {
+ t["HostProfileManagerConfigTaskList"] = reflect.TypeOf((*HostProfileManagerConfigTaskList)(nil)).Elem()
+}
+
+type HostProfileManagerHostToConfigSpecMap struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr"`
+}
+
+func init() {
+ t["HostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*HostProfileManagerHostToConfigSpecMap)(nil)).Elem()
+}
+
+type HostProfileSerializedHostProfileSpec struct {
+ ProfileSerializedCreateSpec
+
+ ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty"`
+ Validating *bool `xml:"validating"`
+}
+
+func init() {
+ t["HostProfileSerializedHostProfileSpec"] = reflect.TypeOf((*HostProfileSerializedHostProfileSpec)(nil)).Elem()
+}
+
+type HostProfilesEntityCustomizations struct {
+ DynamicData
+}
+
+func init() {
+ t["HostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem()
+}
+
+type HostProtocolEndpoint struct {
+ DynamicData
+
+ PeType string `xml:"peType"`
+ Type string `xml:"type,omitempty"`
+ Uuid string `xml:"uuid"`
+ HostKey []ManagedObjectReference `xml:"hostKey,omitempty"`
+ StorageArray string `xml:"storageArray,omitempty"`
+ NfsServer string `xml:"nfsServer,omitempty"`
+ NfsDir string `xml:"nfsDir,omitempty"`
+ NfsServerScope string `xml:"nfsServerScope,omitempty"`
+ NfsServerMajor string `xml:"nfsServerMajor,omitempty"`
+ NfsServerAuthType string `xml:"nfsServerAuthType,omitempty"`
+ NfsServerUser string `xml:"nfsServerUser,omitempty"`
+ DeviceId string `xml:"deviceId,omitempty"`
+}
+
+func init() {
+ t["HostProtocolEndpoint"] = reflect.TypeOf((*HostProtocolEndpoint)(nil)).Elem()
+}
+
+type HostProxySwitch struct {
+ DynamicData
+
+ DvsUuid string `xml:"dvsUuid"`
+ DvsName string `xml:"dvsName"`
+ Key string `xml:"key"`
+ NumPorts int32 `xml:"numPorts"`
+ ConfigNumPorts int32 `xml:"configNumPorts,omitempty"`
+ NumPortsAvailable int32 `xml:"numPortsAvailable"`
+ UplinkPort []KeyValue `xml:"uplinkPort,omitempty"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ Pnic []string `xml:"pnic,omitempty"`
+ Spec HostProxySwitchSpec `xml:"spec"`
+ HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty"`
+ NetworkReservationSupported *bool `xml:"networkReservationSupported"`
+}
+
+func init() {
+ t["HostProxySwitch"] = reflect.TypeOf((*HostProxySwitch)(nil)).Elem()
+}
+
+type HostProxySwitchConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Uuid string `xml:"uuid"`
+ Spec *HostProxySwitchSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostProxySwitchConfig"] = reflect.TypeOf((*HostProxySwitchConfig)(nil)).Elem()
+}
+
+type HostProxySwitchHostLagConfig struct {
+ DynamicData
+
+ LagKey string `xml:"lagKey"`
+ LagName string `xml:"lagName,omitempty"`
+ UplinkPort []KeyValue `xml:"uplinkPort,omitempty"`
+}
+
+func init() {
+ t["HostProxySwitchHostLagConfig"] = reflect.TypeOf((*HostProxySwitchHostLagConfig)(nil)).Elem()
+}
+
+type HostProxySwitchSpec struct {
+ DynamicData
+
+ Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostProxySwitchSpec"] = reflect.TypeOf((*HostProxySwitchSpec)(nil)).Elem()
+}
+
+type HostReconcileDatastoreInventoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostReconcileDatastoreInventoryRequestType)(nil)).Elem()
+}
+
+type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType
+
+func init() {
+ t["HostReconcileDatastoreInventory_Task"] = reflect.TypeOf((*HostReconcileDatastoreInventory_Task)(nil)).Elem()
+}
+
+type HostReconcileDatastoreInventory_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostReconnectionFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostReconnectionFailedEvent"] = reflect.TypeOf((*HostReconnectionFailedEvent)(nil)).Elem()
+}
+
+type HostRegisterDisk HostRegisterDiskRequestType
+
+func init() {
+ t["HostRegisterDisk"] = reflect.TypeOf((*HostRegisterDisk)(nil)).Elem()
+}
+
+type HostRegisterDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Path string `xml:"path"`
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["HostRegisterDiskRequestType"] = reflect.TypeOf((*HostRegisterDiskRequestType)(nil)).Elem()
+}
+
+type HostRegisterDiskResponse struct {
+ Returnval VStorageObject `xml:"returnval"`
+}
+
+type HostReliableMemoryInfo struct {
+ DynamicData
+
+ MemorySize int64 `xml:"memorySize"`
+}
+
+func init() {
+ t["HostReliableMemoryInfo"] = reflect.TypeOf((*HostReliableMemoryInfo)(nil)).Elem()
+}
+
+type HostRelocateVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VslmRelocateSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostRelocateVStorageObjectRequestType"] = reflect.TypeOf((*HostRelocateVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType
+
+func init() {
+ t["HostRelocateVStorageObject_Task"] = reflect.TypeOf((*HostRelocateVStorageObject_Task)(nil)).Elem()
+}
+
+type HostRelocateVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type HostRemoveVFlashResource HostRemoveVFlashResourceRequestType
+
+func init() {
+ t["HostRemoveVFlashResource"] = reflect.TypeOf((*HostRemoveVFlashResource)(nil)).Elem()
+}
+
+type HostRemoveVFlashResourceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["HostRemoveVFlashResourceRequestType"] = reflect.TypeOf((*HostRemoveVFlashResourceRequestType)(nil)).Elem()
+}
+
+type HostRemoveVFlashResourceResponse struct {
+}
+
+type HostRemovedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostRemovedEvent"] = reflect.TypeOf((*HostRemovedEvent)(nil)).Elem()
+}
+
+type HostRenameVStorageObject HostRenameVStorageObjectRequestType
+
+func init() {
+ t["HostRenameVStorageObject"] = reflect.TypeOf((*HostRenameVStorageObject)(nil)).Elem()
+}
+
+type HostRenameVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["HostRenameVStorageObjectRequestType"] = reflect.TypeOf((*HostRenameVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostRenameVStorageObjectResponse struct {
+}
+
+type HostResignatureRescanResult struct {
+ DynamicData
+
+ Rescan []HostVmfsRescanResult `xml:"rescan,omitempty"`
+ Result ManagedObjectReference `xml:"result"`
+}
+
+func init() {
+ t["HostResignatureRescanResult"] = reflect.TypeOf((*HostResignatureRescanResult)(nil)).Elem()
+}
+
+type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType
+
+func init() {
+ t["HostRetrieveVStorageObject"] = reflect.TypeOf((*HostRetrieveVStorageObject)(nil)).Elem()
+}
+
+type HostRetrieveVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostRetrieveVStorageObjectRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectRequestType)(nil)).Elem()
+}
+
+type HostRetrieveVStorageObjectResponse struct {
+ Returnval VStorageObject `xml:"returnval"`
+}
+
+type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType
+
+func init() {
+ t["HostRetrieveVStorageObjectState"] = reflect.TypeOf((*HostRetrieveVStorageObjectState)(nil)).Elem()
+}
+
+type HostRetrieveVStorageObjectStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostRetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectStateRequestType)(nil)).Elem()
+}
+
+type HostRetrieveVStorageObjectStateResponse struct {
+ Returnval VStorageObjectStateInfo `xml:"returnval"`
+}
+
+type HostRuntimeInfo struct {
+ DynamicData
+
+ ConnectionState HostSystemConnectionState `xml:"connectionState"`
+ PowerState HostSystemPowerState `xml:"powerState"`
+ StandbyMode string `xml:"standbyMode,omitempty"`
+ InMaintenanceMode bool `xml:"inMaintenanceMode"`
+ InQuarantineMode *bool `xml:"inQuarantineMode"`
+ BootTime *time.Time `xml:"bootTime"`
+ HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty"`
+ DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty"`
+ TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty"`
+ VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty"`
+ NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty"`
+ VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty"`
+ HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty"`
+ CryptoState string `xml:"cryptoState,omitempty"`
+ CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty"`
+}
+
+func init() {
+ t["HostRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfo)(nil)).Elem()
+}
+
+type HostRuntimeInfoNetStackInstanceRuntimeInfo struct {
+ DynamicData
+
+ NetStackInstanceKey string `xml:"netStackInstanceKey"`
+ State string `xml:"state,omitempty"`
+ VmknicKeys []string `xml:"vmknicKeys,omitempty"`
+ MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty"`
+ CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled"`
+}
+
+func init() {
+ t["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
+}
+
+type HostRuntimeInfoNetworkRuntimeInfo struct {
+ DynamicData
+
+ NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty"`
+ NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty"`
+}
+
+func init() {
+ t["HostRuntimeInfoNetworkRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetworkRuntimeInfo)(nil)).Elem()
+}
+
+type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType
+
+func init() {
+ t["HostScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventory)(nil)).Elem()
+}
+
+type HostScheduleReconcileDatastoreInventoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["HostScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
+}
+
+type HostScheduleReconcileDatastoreInventoryResponse struct {
+}
+
+type HostScsiDisk struct {
+ ScsiLun
+
+ Capacity HostDiskDimensionsLba `xml:"capacity"`
+ DevicePath string `xml:"devicePath"`
+ Ssd *bool `xml:"ssd"`
+ LocalDisk *bool `xml:"localDisk"`
+ PhysicalLocation []string `xml:"physicalLocation,omitempty"`
+ EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled"`
+ VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty"`
+ ScsiDiskType string `xml:"scsiDiskType,omitempty"`
+}
+
+func init() {
+ t["HostScsiDisk"] = reflect.TypeOf((*HostScsiDisk)(nil)).Elem()
+}
+
+type HostScsiDiskPartition struct {
+ DynamicData
+
+ DiskName string `xml:"diskName"`
+ Partition int32 `xml:"partition"`
+}
+
+func init() {
+ t["HostScsiDiskPartition"] = reflect.TypeOf((*HostScsiDiskPartition)(nil)).Elem()
+}
+
+type HostScsiTopology struct {
+ DynamicData
+
+ Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty"`
+}
+
+func init() {
+ t["HostScsiTopology"] = reflect.TypeOf((*HostScsiTopology)(nil)).Elem()
+}
+
+type HostScsiTopologyInterface struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Adapter string `xml:"adapter"`
+ Target []HostScsiTopologyTarget `xml:"target,omitempty"`
+}
+
+func init() {
+ t["HostScsiTopologyInterface"] = reflect.TypeOf((*HostScsiTopologyInterface)(nil)).Elem()
+}
+
+type HostScsiTopologyLun struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Lun int32 `xml:"lun"`
+ ScsiLun string `xml:"scsiLun"`
+}
+
+func init() {
+ t["HostScsiTopologyLun"] = reflect.TypeOf((*HostScsiTopologyLun)(nil)).Elem()
+}
+
+type HostScsiTopologyTarget struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Target int32 `xml:"target"`
+ Lun []HostScsiTopologyLun `xml:"lun,omitempty"`
+ Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostScsiTopologyTarget"] = reflect.TypeOf((*HostScsiTopologyTarget)(nil)).Elem()
+}
+
+type HostSecuritySpec struct {
+ DynamicData
+
+ AdminPassword string `xml:"adminPassword,omitempty"`
+ RemovePermission []Permission `xml:"removePermission,omitempty"`
+ AddPermission []Permission `xml:"addPermission,omitempty"`
+}
+
+func init() {
+ t["HostSecuritySpec"] = reflect.TypeOf((*HostSecuritySpec)(nil)).Elem()
+}
+
+type HostSerialAttachedHba struct {
+ HostHostBusAdapter
+
+ NodeWorldWideName string `xml:"nodeWorldWideName"`
+}
+
+func init() {
+ t["HostSerialAttachedHba"] = reflect.TypeOf((*HostSerialAttachedHba)(nil)).Elem()
+}
+
+type HostSerialAttachedTargetTransport struct {
+ HostTargetTransport
+}
+
+func init() {
+ t["HostSerialAttachedTargetTransport"] = reflect.TypeOf((*HostSerialAttachedTargetTransport)(nil)).Elem()
+}
+
+type HostService struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Label string `xml:"label"`
+ Required bool `xml:"required"`
+ Uninstallable bool `xml:"uninstallable"`
+ Running bool `xml:"running"`
+ Ruleset []string `xml:"ruleset,omitempty"`
+ Policy string `xml:"policy"`
+ SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty"`
+}
+
+func init() {
+ t["HostService"] = reflect.TypeOf((*HostService)(nil)).Elem()
+}
+
+type HostServiceConfig struct {
+ DynamicData
+
+ ServiceId string `xml:"serviceId"`
+ StartupPolicy string `xml:"startupPolicy"`
+}
+
+func init() {
+ t["HostServiceConfig"] = reflect.TypeOf((*HostServiceConfig)(nil)).Elem()
+}
+
+type HostServiceInfo struct {
+ DynamicData
+
+ Service []HostService `xml:"service,omitempty"`
+}
+
+func init() {
+ t["HostServiceInfo"] = reflect.TypeOf((*HostServiceInfo)(nil)).Elem()
+}
+
+type HostServiceSourcePackage struct {
+ DynamicData
+
+ SourcePackageName string `xml:"sourcePackageName"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["HostServiceSourcePackage"] = reflect.TypeOf((*HostServiceSourcePackage)(nil)).Elem()
+}
+
+type HostServiceTicket struct {
+ DynamicData
+
+ Host string `xml:"host,omitempty"`
+ Port int32 `xml:"port,omitempty"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+ Service string `xml:"service"`
+ ServiceVersion string `xml:"serviceVersion"`
+ SessionId string `xml:"sessionId"`
+}
+
+func init() {
+ t["HostServiceTicket"] = reflect.TypeOf((*HostServiceTicket)(nil)).Elem()
+}
+
+type HostShortNameInconsistentEvent struct {
+ HostDasEvent
+
+ ShortName string `xml:"shortName"`
+ ShortName2 string `xml:"shortName2"`
+}
+
+func init() {
+ t["HostShortNameInconsistentEvent"] = reflect.TypeOf((*HostShortNameInconsistentEvent)(nil)).Elem()
+}
+
+type HostShortNameToIpFailedEvent struct {
+ HostEvent
+
+ ShortName string `xml:"shortName"`
+}
+
+func init() {
+ t["HostShortNameToIpFailedEvent"] = reflect.TypeOf((*HostShortNameToIpFailedEvent)(nil)).Elem()
+}
+
+type HostShutdownEvent struct {
+ HostEvent
+
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["HostShutdownEvent"] = reflect.TypeOf((*HostShutdownEvent)(nil)).Elem()
+}
+
+type HostSnmpConfigSpec struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ Port int32 `xml:"port,omitempty"`
+ ReadOnlyCommunities []string `xml:"readOnlyCommunities,omitempty"`
+ TrapTargets []HostSnmpDestination `xml:"trapTargets,omitempty"`
+ Option []KeyValue `xml:"option,omitempty"`
+}
+
+func init() {
+ t["HostSnmpConfigSpec"] = reflect.TypeOf((*HostSnmpConfigSpec)(nil)).Elem()
+}
+
+type HostSnmpDestination struct {
+ DynamicData
+
+ HostName string `xml:"hostName"`
+ Port int32 `xml:"port"`
+ Community string `xml:"community"`
+}
+
+func init() {
+ t["HostSnmpDestination"] = reflect.TypeOf((*HostSnmpDestination)(nil)).Elem()
+}
+
+type HostSnmpSystemAgentLimits struct {
+ DynamicData
+
+ MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities"`
+ MaxTrapDestinations int32 `xml:"maxTrapDestinations"`
+ MaxCommunityLength int32 `xml:"maxCommunityLength"`
+ MaxBufferSize int32 `xml:"maxBufferSize"`
+ Capability HostSnmpAgentCapability `xml:"capability,omitempty"`
+}
+
+func init() {
+ t["HostSnmpSystemAgentLimits"] = reflect.TypeOf((*HostSnmpSystemAgentLimits)(nil)).Elem()
+}
+
+type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType
+
+func init() {
+ t["HostSpecGetUpdatedHosts"] = reflect.TypeOf((*HostSpecGetUpdatedHosts)(nil)).Elem()
+}
+
+type HostSpecGetUpdatedHostsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ StartChangeID string `xml:"startChangeID,omitempty"`
+ EndChangeID string `xml:"endChangeID,omitempty"`
+}
+
+func init() {
+ t["HostSpecGetUpdatedHostsRequestType"] = reflect.TypeOf((*HostSpecGetUpdatedHostsRequestType)(nil)).Elem()
+}
+
+type HostSpecGetUpdatedHostsResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type HostSpecification struct {
+ DynamicData
+
+ CreatedTime time.Time `xml:"createdTime"`
+ LastModified *time.Time `xml:"lastModified"`
+ Host ManagedObjectReference `xml:"host"`
+ SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty"`
+ ChangeID string `xml:"changeID,omitempty"`
+}
+
+func init() {
+ t["HostSpecification"] = reflect.TypeOf((*HostSpecification)(nil)).Elem()
+}
+
+type HostSpecificationOperationFailed struct {
+ VimFault
+
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["HostSpecificationOperationFailed"] = reflect.TypeOf((*HostSpecificationOperationFailed)(nil)).Elem()
+}
+
+type HostSpecificationOperationFailedFault HostSpecificationOperationFailed
+
+func init() {
+ t["HostSpecificationOperationFailedFault"] = reflect.TypeOf((*HostSpecificationOperationFailedFault)(nil)).Elem()
+}
+
+type HostSriovConfig struct {
+ HostPciPassthruConfig
+
+ SriovEnabled bool `xml:"sriovEnabled"`
+ NumVirtualFunction int32 `xml:"numVirtualFunction"`
+}
+
+func init() {
+ t["HostSriovConfig"] = reflect.TypeOf((*HostSriovConfig)(nil)).Elem()
+}
+
+type HostSriovDevicePoolInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["HostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem()
+}
+
+type HostSriovInfo struct {
+ HostPciPassthruInfo
+
+ SriovEnabled bool `xml:"sriovEnabled"`
+ SriovCapable bool `xml:"sriovCapable"`
+ SriovActive bool `xml:"sriovActive"`
+ NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested"`
+ NumVirtualFunction int32 `xml:"numVirtualFunction"`
+ MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported"`
+}
+
+func init() {
+ t["HostSriovInfo"] = reflect.TypeOf((*HostSriovInfo)(nil)).Elem()
+}
+
+type HostSriovNetworkDevicePoolInfo struct {
+ HostSriovDevicePoolInfo
+
+ SwitchKey string `xml:"switchKey,omitempty"`
+ SwitchUuid string `xml:"switchUuid,omitempty"`
+ Pnic []PhysicalNic `xml:"pnic,omitempty"`
+}
+
+func init() {
+ t["HostSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*HostSriovNetworkDevicePoolInfo)(nil)).Elem()
+}
+
+type HostSslThumbprintInfo struct {
+ DynamicData
+
+ Principal string `xml:"principal"`
+ OwnerTag string `xml:"ownerTag,omitempty"`
+ SslThumbprints []string `xml:"sslThumbprints,omitempty"`
+}
+
+func init() {
+ t["HostSslThumbprintInfo"] = reflect.TypeOf((*HostSslThumbprintInfo)(nil)).Elem()
+}
+
+type HostStatusChangedEvent struct {
+ ClusterStatusChangedEvent
+}
+
+func init() {
+ t["HostStatusChangedEvent"] = reflect.TypeOf((*HostStatusChangedEvent)(nil)).Elem()
+}
+
+type HostStorageArrayTypePolicyOption struct {
+ DynamicData
+
+ Policy BaseElementDescription `xml:"policy,typeattr"`
+}
+
+func init() {
+ t["HostStorageArrayTypePolicyOption"] = reflect.TypeOf((*HostStorageArrayTypePolicyOption)(nil)).Elem()
+}
+
+type HostStorageDeviceInfo struct {
+ DynamicData
+
+ HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr"`
+ ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr"`
+ ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty"`
+ MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty"`
+ PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty"`
+ SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled"`
+}
+
+func init() {
+ t["HostStorageDeviceInfo"] = reflect.TypeOf((*HostStorageDeviceInfo)(nil)).Elem()
+}
+
+type HostStorageElementInfo struct {
+ HostHardwareElementInfo
+
+ OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty"`
+}
+
+func init() {
+ t["HostStorageElementInfo"] = reflect.TypeOf((*HostStorageElementInfo)(nil)).Elem()
+}
+
+type HostStorageOperationalInfo struct {
+ DynamicData
+
+ Property string `xml:"property"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["HostStorageOperationalInfo"] = reflect.TypeOf((*HostStorageOperationalInfo)(nil)).Elem()
+}
+
+type HostStorageSystemDiskLocatorLedResult struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["HostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*HostStorageSystemDiskLocatorLedResult)(nil)).Elem()
+}
+
+type HostStorageSystemScsiLunResult struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostStorageSystemScsiLunResult"] = reflect.TypeOf((*HostStorageSystemScsiLunResult)(nil)).Elem()
+}
+
+type HostStorageSystemVmfsVolumeResult struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*HostStorageSystemVmfsVolumeResult)(nil)).Elem()
+}
+
+type HostSubSpecification struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ CreatedTime time.Time `xml:"createdTime"`
+ Data []byte `xml:"data,omitempty"`
+}
+
+func init() {
+ t["HostSubSpecification"] = reflect.TypeOf((*HostSubSpecification)(nil)).Elem()
+}
+
+type HostSyncFailedEvent struct {
+ HostEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["HostSyncFailedEvent"] = reflect.TypeOf((*HostSyncFailedEvent)(nil)).Elem()
+}
+
+type HostSystemHealthInfo struct {
+ DynamicData
+
+ NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty"`
+}
+
+func init() {
+ t["HostSystemHealthInfo"] = reflect.TypeOf((*HostSystemHealthInfo)(nil)).Elem()
+}
+
+type HostSystemIdentificationInfo struct {
+ DynamicData
+
+ IdentifierValue string `xml:"identifierValue"`
+ IdentifierType BaseElementDescription `xml:"identifierType,typeattr"`
+}
+
+func init() {
+ t["HostSystemIdentificationInfo"] = reflect.TypeOf((*HostSystemIdentificationInfo)(nil)).Elem()
+}
+
+type HostSystemInfo struct {
+ DynamicData
+
+ Vendor string `xml:"vendor"`
+ Model string `xml:"model"`
+ Uuid string `xml:"uuid"`
+ OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty"`
+}
+
+func init() {
+ t["HostSystemInfo"] = reflect.TypeOf((*HostSystemInfo)(nil)).Elem()
+}
+
+type HostSystemReconnectSpec struct {
+ DynamicData
+
+ SyncState *bool `xml:"syncState"`
+}
+
+func init() {
+ t["HostSystemReconnectSpec"] = reflect.TypeOf((*HostSystemReconnectSpec)(nil)).Elem()
+}
+
+type HostSystemResourceInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Config *ResourceConfigSpec `xml:"config,omitempty"`
+ Child []HostSystemResourceInfo `xml:"child,omitempty"`
+}
+
+func init() {
+ t["HostSystemResourceInfo"] = reflect.TypeOf((*HostSystemResourceInfo)(nil)).Elem()
+}
+
+type HostSystemSwapConfiguration struct {
+ DynamicData
+
+ Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostSystemSwapConfiguration"] = reflect.TypeOf((*HostSystemSwapConfiguration)(nil)).Elem()
+}
+
+type HostSystemSwapConfigurationDatastoreOption struct {
+ HostSystemSwapConfigurationSystemSwapOption
+
+ Datastore string `xml:"datastore"`
+}
+
+func init() {
+ t["HostSystemSwapConfigurationDatastoreOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDatastoreOption)(nil)).Elem()
+}
+
+type HostSystemSwapConfigurationDisabledOption struct {
+ HostSystemSwapConfigurationSystemSwapOption
+}
+
+func init() {
+ t["HostSystemSwapConfigurationDisabledOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDisabledOption)(nil)).Elem()
+}
+
+type HostSystemSwapConfigurationHostCacheOption struct {
+ HostSystemSwapConfigurationSystemSwapOption
+}
+
+func init() {
+ t["HostSystemSwapConfigurationHostCacheOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostCacheOption)(nil)).Elem()
+}
+
+type HostSystemSwapConfigurationHostLocalSwapOption struct {
+ HostSystemSwapConfigurationSystemSwapOption
+}
+
+func init() {
+ t["HostSystemSwapConfigurationHostLocalSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostLocalSwapOption)(nil)).Elem()
+}
+
+type HostSystemSwapConfigurationSystemSwapOption struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+}
+
+func init() {
+ t["HostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
+}
+
+type HostTargetTransport struct {
+ DynamicData
+}
+
+func init() {
+ t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem()
+}
+
+type HostTpmAttestationReport struct {
+ DynamicData
+
+ TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues"`
+ TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents"`
+ TpmLogReliable bool `xml:"tpmLogReliable"`
+}
+
+func init() {
+ t["HostTpmAttestationReport"] = reflect.TypeOf((*HostTpmAttestationReport)(nil)).Elem()
+}
+
+type HostTpmBootSecurityOptionEventDetails struct {
+ HostTpmEventDetails
+
+ BootSecurityOption string `xml:"bootSecurityOption"`
+}
+
+func init() {
+ t["HostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem()
+}
+
+type HostTpmCommandEventDetails struct {
+ HostTpmEventDetails
+
+ CommandLine string `xml:"commandLine"`
+}
+
+func init() {
+ t["HostTpmCommandEventDetails"] = reflect.TypeOf((*HostTpmCommandEventDetails)(nil)).Elem()
+}
+
+type HostTpmDigestInfo struct {
+ HostDigestInfo
+
+ PcrNumber int32 `xml:"pcrNumber"`
+}
+
+func init() {
+ t["HostTpmDigestInfo"] = reflect.TypeOf((*HostTpmDigestInfo)(nil)).Elem()
+}
+
+type HostTpmEventDetails struct {
+ DynamicData
+
+ DataHash []byte `xml:"dataHash"`
+}
+
+func init() {
+ t["HostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem()
+}
+
+type HostTpmEventLogEntry struct {
+ DynamicData
+
+ PcrIndex int32 `xml:"pcrIndex"`
+ EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr"`
+}
+
+func init() {
+ t["HostTpmEventLogEntry"] = reflect.TypeOf((*HostTpmEventLogEntry)(nil)).Elem()
+}
+
+type HostTpmOptionEventDetails struct {
+ HostTpmEventDetails
+
+ OptionsFileName string `xml:"optionsFileName"`
+ BootOptions []byte `xml:"bootOptions,omitempty"`
+}
+
+func init() {
+ t["HostTpmOptionEventDetails"] = reflect.TypeOf((*HostTpmOptionEventDetails)(nil)).Elem()
+}
+
+type HostTpmSoftwareComponentEventDetails struct {
+ HostTpmEventDetails
+
+ ComponentName string `xml:"componentName"`
+ VibName string `xml:"vibName"`
+ VibVersion string `xml:"vibVersion"`
+ VibVendor string `xml:"vibVendor"`
+}
+
+func init() {
+ t["HostTpmSoftwareComponentEventDetails"] = reflect.TypeOf((*HostTpmSoftwareComponentEventDetails)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsExtent struct {
+ DynamicData
+
+ Device HostScsiDiskPartition `xml:"device"`
+ DevicePath string `xml:"devicePath"`
+ VmfsUuid string `xml:"vmfsUuid"`
+ IsHeadExtent bool `xml:"isHeadExtent"`
+ Ordinal int32 `xml:"ordinal"`
+ StartBlock int32 `xml:"startBlock"`
+ EndBlock int32 `xml:"endBlock"`
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsExtent"] = reflect.TypeOf((*HostUnresolvedVmfsExtent)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsResignatureSpec struct {
+ DynamicData
+
+ ExtentDevicePath []string `xml:"extentDevicePath"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsResignatureSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResignatureSpec)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsResolutionResult struct {
+ DynamicData
+
+ Spec HostUnresolvedVmfsResolutionSpec `xml:"spec"`
+ Vmfs *HostVmfsVolume `xml:"vmfs,omitempty"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionResult)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsResolutionSpec struct {
+ DynamicData
+
+ ExtentDevicePath []string `xml:"extentDevicePath"`
+ UuidResolution string `xml:"uuidResolution"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpec)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsVolume struct {
+ DynamicData
+
+ Extent []HostUnresolvedVmfsExtent `xml:"extent"`
+ VmfsLabel string `xml:"vmfsLabel"`
+ VmfsUuid string `xml:"vmfsUuid"`
+ TotalBlocks int32 `xml:"totalBlocks"`
+ ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsVolume"] = reflect.TypeOf((*HostUnresolvedVmfsVolume)(nil)).Elem()
+}
+
+type HostUnresolvedVmfsVolumeResolveStatus struct {
+ DynamicData
+
+ Resolvable bool `xml:"resolvable"`
+ IncompleteExtents *bool `xml:"incompleteExtents"`
+ MultipleCopies *bool `xml:"multipleCopies"`
+}
+
+func init() {
+ t["HostUnresolvedVmfsVolumeResolveStatus"] = reflect.TypeOf((*HostUnresolvedVmfsVolumeResolveStatus)(nil)).Elem()
+}
+
+type HostUpgradeFailedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostUpgradeFailedEvent"] = reflect.TypeOf((*HostUpgradeFailedEvent)(nil)).Elem()
+}
+
+type HostUserWorldSwapNotEnabledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["HostUserWorldSwapNotEnabledEvent"] = reflect.TypeOf((*HostUserWorldSwapNotEnabledEvent)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashCacheConfigInfo struct {
+ DynamicData
+
+ VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty"`
+ DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty"`
+ SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashCacheConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfo)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
+ DynamicData
+
+ VFlashModule string `xml:"vFlashModule"`
+ VFlashModuleVersion string `xml:"vFlashModuleVersion"`
+ MinSupportedModuleVersion string `xml:"minSupportedModuleVersion"`
+ CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType"`
+ CacheMode ChoiceOption `xml:"cacheMode"`
+ BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption"`
+ ReservationInMBOption LongOption `xml:"reservationInMBOption"`
+ MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashCacheConfigSpec struct {
+ DynamicData
+
+ DefaultVFlashModule string `xml:"defaultVFlashModule"`
+ SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashCacheConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigSpec)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashConfigInfo struct {
+ DynamicData
+
+ VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty"`
+ VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashConfigInfo)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashResourceConfigInfo struct {
+ DynamicData
+
+ Vffs *HostVffsVolume `xml:"vffs,omitempty"`
+ Capacity int64 `xml:"capacity"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashResourceConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigInfo)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashResourceConfigSpec struct {
+ DynamicData
+
+ VffsUuid string `xml:"vffsUuid"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashResourceConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigSpec)(nil)).Elem()
+}
+
+type HostVFlashManagerVFlashResourceRunTimeInfo struct {
+ DynamicData
+
+ Usage int64 `xml:"usage"`
+ Capacity int64 `xml:"capacity"`
+ Accessible bool `xml:"accessible"`
+ CapacityForVmCache int64 `xml:"capacityForVmCache"`
+ FreeForVmCache int64 `xml:"freeForVmCache"`
+}
+
+func init() {
+ t["HostVFlashManagerVFlashResourceRunTimeInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceRunTimeInfo)(nil)).Elem()
+}
+
+type HostVFlashResourceConfigurationResult struct {
+ DynamicData
+
+ DevicePath []string `xml:"devicePath,omitempty"`
+ Vffs *HostVffsVolume `xml:"vffs,omitempty"`
+ DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty"`
+}
+
+func init() {
+ t["HostVFlashResourceConfigurationResult"] = reflect.TypeOf((*HostVFlashResourceConfigurationResult)(nil)).Elem()
+}
+
+type HostVMotionCompatibility struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Compatibility []string `xml:"compatibility,omitempty"`
+}
+
+func init() {
+ t["HostVMotionCompatibility"] = reflect.TypeOf((*HostVMotionCompatibility)(nil)).Elem()
+}
+
+type HostVMotionConfig struct {
+ DynamicData
+
+ VmotionNicKey string `xml:"vmotionNicKey,omitempty"`
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["HostVMotionConfig"] = reflect.TypeOf((*HostVMotionConfig)(nil)).Elem()
+}
+
+type HostVMotionInfo struct {
+ DynamicData
+
+ NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty"`
+ IpConfig *HostIpConfig `xml:"ipConfig,omitempty"`
+}
+
+func init() {
+ t["HostVMotionInfo"] = reflect.TypeOf((*HostVMotionInfo)(nil)).Elem()
+}
+
+type HostVMotionNetConfig struct {
+ DynamicData
+
+ CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty"`
+ SelectedVnic string `xml:"selectedVnic,omitempty"`
+}
+
+func init() {
+ t["HostVMotionNetConfig"] = reflect.TypeOf((*HostVMotionNetConfig)(nil)).Elem()
+}
+
+type HostVfatVolume struct {
+ HostFileSystemVolume
+}
+
+func init() {
+ t["HostVfatVolume"] = reflect.TypeOf((*HostVfatVolume)(nil)).Elem()
+}
+
+type HostVffsSpec struct {
+ DynamicData
+
+ DevicePath string `xml:"devicePath"`
+ Partition *HostDiskPartitionSpec `xml:"partition,omitempty"`
+ MajorVersion int32 `xml:"majorVersion"`
+ VolumeName string `xml:"volumeName"`
+}
+
+func init() {
+ t["HostVffsSpec"] = reflect.TypeOf((*HostVffsSpec)(nil)).Elem()
+}
+
+type HostVffsVolume struct {
+ HostFileSystemVolume
+
+ MajorVersion int32 `xml:"majorVersion"`
+ Version string `xml:"version"`
+ Uuid string `xml:"uuid"`
+ Extent []HostScsiDiskPartition `xml:"extent"`
+}
+
+func init() {
+ t["HostVffsVolume"] = reflect.TypeOf((*HostVffsVolume)(nil)).Elem()
+}
+
+type HostVirtualNic struct {
+ DynamicData
+
+ Device string `xml:"device"`
+ Key string `xml:"key"`
+ Portgroup string `xml:"portgroup"`
+ Spec HostVirtualNicSpec `xml:"spec"`
+ Port string `xml:"port,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNic"] = reflect.TypeOf((*HostVirtualNic)(nil)).Elem()
+}
+
+type HostVirtualNicConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Device string `xml:"device,omitempty"`
+ Portgroup string `xml:"portgroup"`
+ Spec *HostVirtualNicSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNicConfig"] = reflect.TypeOf((*HostVirtualNicConfig)(nil)).Elem()
+}
+
+type HostVirtualNicConnection struct {
+ DynamicData
+
+ Portgroup string `xml:"portgroup,omitempty"`
+ DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNicConnection"] = reflect.TypeOf((*HostVirtualNicConnection)(nil)).Elem()
+}
+
+type HostVirtualNicIpRouteSpec struct {
+ DynamicData
+
+ IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"`
+}
+
+func init() {
+ t["HostVirtualNicIpRouteSpec"] = reflect.TypeOf((*HostVirtualNicIpRouteSpec)(nil)).Elem()
+}
+
+type HostVirtualNicManagerInfo struct {
+ DynamicData
+
+ NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNicManagerInfo"] = reflect.TypeOf((*HostVirtualNicManagerInfo)(nil)).Elem()
+}
+
+type HostVirtualNicManagerNicTypeSelection struct {
+ DynamicData
+
+ Vnic HostVirtualNicConnection `xml:"vnic"`
+ NicType []string `xml:"nicType,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*HostVirtualNicManagerNicTypeSelection)(nil)).Elem()
+}
+
+type HostVirtualNicOpaqueNetworkSpec struct {
+ DynamicData
+
+ OpaqueNetworkId string `xml:"opaqueNetworkId"`
+ OpaqueNetworkType string `xml:"opaqueNetworkType"`
+}
+
+func init() {
+ t["HostVirtualNicOpaqueNetworkSpec"] = reflect.TypeOf((*HostVirtualNicOpaqueNetworkSpec)(nil)).Elem()
+}
+
+type HostVirtualNicSpec struct {
+ DynamicData
+
+ Ip *HostIpConfig `xml:"ip,omitempty"`
+ Mac string `xml:"mac,omitempty"`
+ DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty"`
+ Portgroup string `xml:"portgroup,omitempty"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ TsoEnabled *bool `xml:"tsoEnabled"`
+ NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty"`
+ OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty"`
+ ExternalId string `xml:"externalId,omitempty"`
+ PinnedPnic string `xml:"pinnedPnic,omitempty"`
+ IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty"`
+}
+
+func init() {
+ t["HostVirtualNicSpec"] = reflect.TypeOf((*HostVirtualNicSpec)(nil)).Elem()
+}
+
+type HostVirtualSwitch struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Key string `xml:"key"`
+ NumPorts int32 `xml:"numPorts"`
+ NumPortsAvailable int32 `xml:"numPortsAvailable"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ Portgroup []string `xml:"portgroup,omitempty"`
+ Pnic []string `xml:"pnic,omitempty"`
+ Spec HostVirtualSwitchSpec `xml:"spec"`
+}
+
+func init() {
+ t["HostVirtualSwitch"] = reflect.TypeOf((*HostVirtualSwitch)(nil)).Elem()
+}
+
+type HostVirtualSwitchAutoBridge struct {
+ HostVirtualSwitchBridge
+
+ ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty"`
+}
+
+func init() {
+ t["HostVirtualSwitchAutoBridge"] = reflect.TypeOf((*HostVirtualSwitchAutoBridge)(nil)).Elem()
+}
+
+type HostVirtualSwitchBeaconConfig struct {
+ DynamicData
+
+ Interval int32 `xml:"interval"`
+}
+
+func init() {
+ t["HostVirtualSwitchBeaconConfig"] = reflect.TypeOf((*HostVirtualSwitchBeaconConfig)(nil)).Elem()
+}
+
+type HostVirtualSwitchBondBridge struct {
+ HostVirtualSwitchBridge
+
+ NicDevice []string `xml:"nicDevice"`
+ Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty"`
+ LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"`
+}
+
+func init() {
+ t["HostVirtualSwitchBondBridge"] = reflect.TypeOf((*HostVirtualSwitchBondBridge)(nil)).Elem()
+}
+
+type HostVirtualSwitchBridge struct {
+ DynamicData
+}
+
+func init() {
+ t["HostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem()
+}
+
+type HostVirtualSwitchConfig struct {
+ DynamicData
+
+ ChangeOperation string `xml:"changeOperation,omitempty"`
+ Name string `xml:"name"`
+ Spec *HostVirtualSwitchSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["HostVirtualSwitchConfig"] = reflect.TypeOf((*HostVirtualSwitchConfig)(nil)).Elem()
+}
+
+type HostVirtualSwitchSimpleBridge struct {
+ HostVirtualSwitchBridge
+
+ NicDevice string `xml:"nicDevice"`
+}
+
+func init() {
+ t["HostVirtualSwitchSimpleBridge"] = reflect.TypeOf((*HostVirtualSwitchSimpleBridge)(nil)).Elem()
+}
+
+type HostVirtualSwitchSpec struct {
+ DynamicData
+
+ NumPorts int32 `xml:"numPorts"`
+ Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr"`
+ Policy *HostNetworkPolicy `xml:"policy,omitempty"`
+ Mtu int32 `xml:"mtu,omitempty"`
+}
+
+func init() {
+ t["HostVirtualSwitchSpec"] = reflect.TypeOf((*HostVirtualSwitchSpec)(nil)).Elem()
+}
+
+type HostVmciAccessManagerAccessSpec struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ Services []string `xml:"services,omitempty"`
+ Mode string `xml:"mode"`
+}
+
+func init() {
+ t["HostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*HostVmciAccessManagerAccessSpec)(nil)).Elem()
+}
+
+type HostVmfsRescanResult struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HostVmfsRescanResult"] = reflect.TypeOf((*HostVmfsRescanResult)(nil)).Elem()
+}
+
+type HostVmfsSpec struct {
+ DynamicData
+
+ Extent HostScsiDiskPartition `xml:"extent"`
+ BlockSizeMb int32 `xml:"blockSizeMb,omitempty"`
+ MajorVersion int32 `xml:"majorVersion"`
+ VolumeName string `xml:"volumeName"`
+ BlockSize int32 `xml:"blockSize,omitempty"`
+ UnmapGranularity int32 `xml:"unmapGranularity,omitempty"`
+ UnmapPriority string `xml:"unmapPriority,omitempty"`
+}
+
+func init() {
+ t["HostVmfsSpec"] = reflect.TypeOf((*HostVmfsSpec)(nil)).Elem()
+}
+
+type HostVmfsVolume struct {
+ HostFileSystemVolume
+
+ BlockSizeMb int32 `xml:"blockSizeMb"`
+ BlockSize int32 `xml:"blockSize,omitempty"`
+ UnmapGranularity int32 `xml:"unmapGranularity,omitempty"`
+ UnmapPriority string `xml:"unmapPriority,omitempty"`
+ MaxBlocks int32 `xml:"maxBlocks"`
+ MajorVersion int32 `xml:"majorVersion"`
+ Version string `xml:"version"`
+ Uuid string `xml:"uuid"`
+ Extent []HostScsiDiskPartition `xml:"extent"`
+ VmfsUpgradable bool `xml:"vmfsUpgradable"`
+ ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty"`
+ Ssd *bool `xml:"ssd"`
+ Local *bool `xml:"local"`
+ ScsiDiskType string `xml:"scsiDiskType,omitempty"`
+}
+
+func init() {
+ t["HostVmfsVolume"] = reflect.TypeOf((*HostVmfsVolume)(nil)).Elem()
+}
+
+type HostVnicConnectedToCustomizedDVPortEvent struct {
+ HostEvent
+
+ Vnic VnicPortArgument `xml:"vnic"`
+ PrevPortKey string `xml:"prevPortKey,omitempty"`
+}
+
+func init() {
+ t["HostVnicConnectedToCustomizedDVPortEvent"] = reflect.TypeOf((*HostVnicConnectedToCustomizedDVPortEvent)(nil)).Elem()
+}
+
+type HostVsanInternalSystemCmmdsQuery struct {
+ DynamicData
+
+ Type string `xml:"type,omitempty"`
+ Uuid string `xml:"uuid,omitempty"`
+ Owner string `xml:"owner,omitempty"`
+}
+
+func init() {
+ t["HostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*HostVsanInternalSystemCmmdsQuery)(nil)).Elem()
+}
+
+type HostVsanInternalSystemDeleteVsanObjectsResult struct {
+ DynamicData
+
+ Uuid string `xml:"uuid"`
+ Success bool `xml:"success"`
+ FailureReason []LocalizableMessage `xml:"failureReason,omitempty"`
+}
+
+func init() {
+ t["HostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*HostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
+}
+
+type HostVsanInternalSystemVsanObjectOperationResult struct {
+ DynamicData
+
+ Uuid string `xml:"uuid"`
+ FailureReason []LocalizableMessage `xml:"failureReason,omitempty"`
+}
+
+func init() {
+ t["HostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
+}
+
+type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
+ DynamicData
+
+ DiskUuid string `xml:"diskUuid"`
+ Success bool `xml:"success"`
+ FailureReason string `xml:"failureReason,omitempty"`
+}
+
+func init() {
+ t["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
+}
+
+type HostVvolVolume struct {
+ HostFileSystemVolume
+
+ ScId string `xml:"scId"`
+ HostPE []VVolHostPE `xml:"hostPE,omitempty"`
+ VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"`
+ StorageArray []VASAStorageArray `xml:"storageArray,omitempty"`
+}
+
+func init() {
+ t["HostVvolVolume"] = reflect.TypeOf((*HostVvolVolume)(nil)).Elem()
+}
+
+type HostVvolVolumeSpecification struct {
+ DynamicData
+
+ MaxSizeInMB int64 `xml:"maxSizeInMB"`
+ VolumeName string `xml:"volumeName"`
+ VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"`
+ StorageArray []VASAStorageArray `xml:"storageArray,omitempty"`
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["HostVvolVolumeSpecification"] = reflect.TypeOf((*HostVvolVolumeSpecification)(nil)).Elem()
+}
+
+type HostWwnChangedEvent struct {
+ HostEvent
+
+ OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty"`
+ OldPortWwns []int64 `xml:"oldPortWwns,omitempty"`
+ NewNodeWwns []int64 `xml:"newNodeWwns,omitempty"`
+ NewPortWwns []int64 `xml:"newPortWwns,omitempty"`
+}
+
+func init() {
+ t["HostWwnChangedEvent"] = reflect.TypeOf((*HostWwnChangedEvent)(nil)).Elem()
+}
+
+type HostWwnConflictEvent struct {
+ HostEvent
+
+ ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty"`
+ ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty"`
+ Wwn int64 `xml:"wwn"`
+}
+
+func init() {
+ t["HostWwnConflictEvent"] = reflect.TypeOf((*HostWwnConflictEvent)(nil)).Elem()
+}
+
+type HotSnapshotMoveNotSupported struct {
+ SnapshotCopyNotSupported
+}
+
+func init() {
+ t["HotSnapshotMoveNotSupported"] = reflect.TypeOf((*HotSnapshotMoveNotSupported)(nil)).Elem()
+}
+
+type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported
+
+func init() {
+ t["HotSnapshotMoveNotSupportedFault"] = reflect.TypeOf((*HotSnapshotMoveNotSupportedFault)(nil)).Elem()
+}
+
+type HourlyTaskScheduler struct {
+ RecurrentTaskScheduler
+
+ Minute int32 `xml:"minute"`
+}
+
+func init() {
+ t["HourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem()
+}
+
+type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType
+
+func init() {
+ t["HttpNfcLeaseAbort"] = reflect.TypeOf((*HttpNfcLeaseAbort)(nil)).Elem()
+}
+
+type HttpNfcLeaseAbortRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["HttpNfcLeaseAbortRequestType"] = reflect.TypeOf((*HttpNfcLeaseAbortRequestType)(nil)).Elem()
+}
+
+type HttpNfcLeaseAbortResponse struct {
+}
+
+type HttpNfcLeaseComplete HttpNfcLeaseCompleteRequestType
+
+func init() {
+ t["HttpNfcLeaseComplete"] = reflect.TypeOf((*HttpNfcLeaseComplete)(nil)).Elem()
+}
+
+type HttpNfcLeaseCompleteRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["HttpNfcLeaseCompleteRequestType"] = reflect.TypeOf((*HttpNfcLeaseCompleteRequestType)(nil)).Elem()
+}
+
+type HttpNfcLeaseCompleteResponse struct {
+}
+
+type HttpNfcLeaseDatastoreLeaseInfo struct {
+ DynamicData
+
+ DatastoreKey string `xml:"datastoreKey"`
+ Hosts []HttpNfcLeaseHostInfo `xml:"hosts"`
+}
+
+func init() {
+ t["HttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
+}
+
+type HttpNfcLeaseDeviceUrl struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ ImportKey string `xml:"importKey"`
+ Url string `xml:"url"`
+ SslThumbprint string `xml:"sslThumbprint"`
+ Disk *bool `xml:"disk"`
+ TargetId string `xml:"targetId,omitempty"`
+ DatastoreKey string `xml:"datastoreKey,omitempty"`
+ FileSize int64 `xml:"fileSize,omitempty"`
+}
+
+func init() {
+ t["HttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*HttpNfcLeaseDeviceUrl)(nil)).Elem()
+}
+
+type HttpNfcLeaseGetManifest HttpNfcLeaseGetManifestRequestType
+
+func init() {
+ t["HttpNfcLeaseGetManifest"] = reflect.TypeOf((*HttpNfcLeaseGetManifest)(nil)).Elem()
+}
+
+type HttpNfcLeaseGetManifestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["HttpNfcLeaseGetManifestRequestType"] = reflect.TypeOf((*HttpNfcLeaseGetManifestRequestType)(nil)).Elem()
+}
+
+type HttpNfcLeaseGetManifestResponse struct {
+ Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty"`
+}
+
+type HttpNfcLeaseHostInfo struct {
+ DynamicData
+
+ Url string `xml:"url"`
+ SslThumbprint string `xml:"sslThumbprint"`
+}
+
+func init() {
+ t["HttpNfcLeaseHostInfo"] = reflect.TypeOf((*HttpNfcLeaseHostInfo)(nil)).Elem()
+}
+
+type HttpNfcLeaseInfo struct {
+ DynamicData
+
+ Lease ManagedObjectReference `xml:"lease"`
+ Entity ManagedObjectReference `xml:"entity"`
+ DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty"`
+ TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB"`
+ LeaseTimeout int32 `xml:"leaseTimeout"`
+ HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty"`
+}
+
+func init() {
+ t["HttpNfcLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseInfo)(nil)).Elem()
+}
+
+type HttpNfcLeaseManifestEntry struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Sha1 string `xml:"sha1"`
+ Size int64 `xml:"size"`
+ Disk bool `xml:"disk"`
+ Capacity int64 `xml:"capacity,omitempty"`
+ PopulatedSize int64 `xml:"populatedSize,omitempty"`
+}
+
+func init() {
+ t["HttpNfcLeaseManifestEntry"] = reflect.TypeOf((*HttpNfcLeaseManifestEntry)(nil)).Elem()
+}
+
+type HttpNfcLeaseProgress HttpNfcLeaseProgressRequestType
+
+func init() {
+ t["HttpNfcLeaseProgress"] = reflect.TypeOf((*HttpNfcLeaseProgress)(nil)).Elem()
+}
+
+type HttpNfcLeaseProgressRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Percent int32 `xml:"percent"`
+}
+
+func init() {
+ t["HttpNfcLeaseProgressRequestType"] = reflect.TypeOf((*HttpNfcLeaseProgressRequestType)(nil)).Elem()
+}
+
+type HttpNfcLeaseProgressResponse struct {
+}
+
+type ID struct {
+ DynamicData
+
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["ID"] = reflect.TypeOf((*ID)(nil)).Elem()
+}
+
+type IDEDiskNotSupported struct {
+ DiskNotSupported
+}
+
+func init() {
+ t["IDEDiskNotSupported"] = reflect.TypeOf((*IDEDiskNotSupported)(nil)).Elem()
+}
+
+type IDEDiskNotSupportedFault IDEDiskNotSupported
+
+func init() {
+ t["IDEDiskNotSupportedFault"] = reflect.TypeOf((*IDEDiskNotSupportedFault)(nil)).Elem()
+}
+
+type IORMNotSupportedHostOnDatastore struct {
+ VimFault
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DatastoreName string `xml:"datastoreName"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["IORMNotSupportedHostOnDatastore"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastore)(nil)).Elem()
+}
+
+type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore
+
+func init() {
+ t["IORMNotSupportedHostOnDatastoreFault"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastoreFault)(nil)).Elem()
+}
+
+type IScsiBootFailureEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["IScsiBootFailureEvent"] = reflect.TypeOf((*IScsiBootFailureEvent)(nil)).Elem()
+}
+
+type ImpersonateUser ImpersonateUserRequestType
+
+func init() {
+ t["ImpersonateUser"] = reflect.TypeOf((*ImpersonateUser)(nil)).Elem()
+}
+
+type ImpersonateUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UserName string `xml:"userName"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["ImpersonateUserRequestType"] = reflect.TypeOf((*ImpersonateUserRequestType)(nil)).Elem()
+}
+
+type ImpersonateUserResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type ImportCertificateForCAMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CertPath string `xml:"certPath"`
+ CamServer string `xml:"camServer"`
+}
+
+func init() {
+ t["ImportCertificateForCAMRequestType"] = reflect.TypeOf((*ImportCertificateForCAMRequestType)(nil)).Elem()
+}
+
+type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType
+
+func init() {
+ t["ImportCertificateForCAM_Task"] = reflect.TypeOf((*ImportCertificateForCAM_Task)(nil)).Elem()
+}
+
+type ImportCertificateForCAM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ImportHostAddFailure struct {
+ DvsFault
+
+ HostIp []string `xml:"hostIp"`
+}
+
+func init() {
+ t["ImportHostAddFailure"] = reflect.TypeOf((*ImportHostAddFailure)(nil)).Elem()
+}
+
+type ImportHostAddFailureFault ImportHostAddFailure
+
+func init() {
+ t["ImportHostAddFailureFault"] = reflect.TypeOf((*ImportHostAddFailureFault)(nil)).Elem()
+}
+
+type ImportOperationBulkFault struct {
+ DvsFault
+
+ ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults"`
+}
+
+func init() {
+ t["ImportOperationBulkFault"] = reflect.TypeOf((*ImportOperationBulkFault)(nil)).Elem()
+}
+
+type ImportOperationBulkFaultFault ImportOperationBulkFault
+
+func init() {
+ t["ImportOperationBulkFaultFault"] = reflect.TypeOf((*ImportOperationBulkFaultFault)(nil)).Elem()
+}
+
+type ImportOperationBulkFaultFaultOnImport struct {
+ DynamicData
+
+ EntityType string `xml:"entityType,omitempty"`
+ Key string `xml:"key,omitempty"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["ImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ImportOperationBulkFaultFaultOnImport)(nil)).Elem()
+}
+
+type ImportSpec struct {
+ DynamicData
+
+ EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty"`
+ InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty"`
+}
+
+func init() {
+ t["ImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem()
+}
+
+type ImportUnmanagedSnapshot ImportUnmanagedSnapshotRequestType
+
+func init() {
+ t["ImportUnmanagedSnapshot"] = reflect.TypeOf((*ImportUnmanagedSnapshot)(nil)).Elem()
+}
+
+type ImportUnmanagedSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vdisk string `xml:"vdisk"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ VvolId string `xml:"vvolId"`
+}
+
+func init() {
+ t["ImportUnmanagedSnapshotRequestType"] = reflect.TypeOf((*ImportUnmanagedSnapshotRequestType)(nil)).Elem()
+}
+
+type ImportUnmanagedSnapshotResponse struct {
+}
+
+type ImportVApp ImportVAppRequestType
+
+func init() {
+ t["ImportVApp"] = reflect.TypeOf((*ImportVApp)(nil)).Elem()
+}
+
+type ImportVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseImportSpec `xml:"spec,typeattr"`
+ Folder *ManagedObjectReference `xml:"folder,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["ImportVAppRequestType"] = reflect.TypeOf((*ImportVAppRequestType)(nil)).Elem()
+}
+
+type ImportVAppResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InUseFeatureManipulationDisallowed struct {
+ NotEnoughLicenses
+}
+
+func init() {
+ t["InUseFeatureManipulationDisallowed"] = reflect.TypeOf((*InUseFeatureManipulationDisallowed)(nil)).Elem()
+}
+
+type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed
+
+func init() {
+ t["InUseFeatureManipulationDisallowedFault"] = reflect.TypeOf((*InUseFeatureManipulationDisallowedFault)(nil)).Elem()
+}
+
+type InaccessibleDatastore struct {
+ InvalidDatastore
+
+ Detail string `xml:"detail,omitempty"`
+}
+
+func init() {
+ t["InaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem()
+}
+
+type InaccessibleDatastoreFault BaseInaccessibleDatastore
+
+func init() {
+ t["InaccessibleDatastoreFault"] = reflect.TypeOf((*InaccessibleDatastoreFault)(nil)).Elem()
+}
+
+type InaccessibleFTMetadataDatastore struct {
+ InaccessibleDatastore
+}
+
+func init() {
+ t["InaccessibleFTMetadataDatastore"] = reflect.TypeOf((*InaccessibleFTMetadataDatastore)(nil)).Elem()
+}
+
+type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore
+
+func init() {
+ t["InaccessibleFTMetadataDatastoreFault"] = reflect.TypeOf((*InaccessibleFTMetadataDatastoreFault)(nil)).Elem()
+}
+
+type InaccessibleVFlashSource struct {
+ VimFault
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["InaccessibleVFlashSource"] = reflect.TypeOf((*InaccessibleVFlashSource)(nil)).Elem()
+}
+
+type InaccessibleVFlashSourceFault InaccessibleVFlashSource
+
+func init() {
+ t["InaccessibleVFlashSourceFault"] = reflect.TypeOf((*InaccessibleVFlashSourceFault)(nil)).Elem()
+}
+
+type IncompatibleDefaultDevice struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["IncompatibleDefaultDevice"] = reflect.TypeOf((*IncompatibleDefaultDevice)(nil)).Elem()
+}
+
+type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice
+
+func init() {
+ t["IncompatibleDefaultDeviceFault"] = reflect.TypeOf((*IncompatibleDefaultDeviceFault)(nil)).Elem()
+}
+
+type IncompatibleHostForFtSecondary struct {
+ VmFaultToleranceIssue
+
+ Host ManagedObjectReference `xml:"host"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["IncompatibleHostForFtSecondary"] = reflect.TypeOf((*IncompatibleHostForFtSecondary)(nil)).Elem()
+}
+
+type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary
+
+func init() {
+ t["IncompatibleHostForFtSecondaryFault"] = reflect.TypeOf((*IncompatibleHostForFtSecondaryFault)(nil)).Elem()
+}
+
+type IncompatibleHostForVmReplication struct {
+ ReplicationFault
+
+ VmName string `xml:"vmName"`
+ HostName string `xml:"hostName"`
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["IncompatibleHostForVmReplication"] = reflect.TypeOf((*IncompatibleHostForVmReplication)(nil)).Elem()
+}
+
+type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication
+
+func init() {
+ t["IncompatibleHostForVmReplicationFault"] = reflect.TypeOf((*IncompatibleHostForVmReplicationFault)(nil)).Elem()
+}
+
+type IncompatibleSetting struct {
+ InvalidArgument
+
+ ConflictingProperty string `xml:"conflictingProperty"`
+}
+
+func init() {
+ t["IncompatibleSetting"] = reflect.TypeOf((*IncompatibleSetting)(nil)).Elem()
+}
+
+type IncompatibleSettingFault IncompatibleSetting
+
+func init() {
+ t["IncompatibleSettingFault"] = reflect.TypeOf((*IncompatibleSettingFault)(nil)).Elem()
+}
+
+type IncorrectFileType struct {
+ FileFault
+}
+
+func init() {
+ t["IncorrectFileType"] = reflect.TypeOf((*IncorrectFileType)(nil)).Elem()
+}
+
+type IncorrectFileTypeFault IncorrectFileType
+
+func init() {
+ t["IncorrectFileTypeFault"] = reflect.TypeOf((*IncorrectFileTypeFault)(nil)).Elem()
+}
+
+type IncorrectHostInformation struct {
+ NotEnoughLicenses
+}
+
+func init() {
+ t["IncorrectHostInformation"] = reflect.TypeOf((*IncorrectHostInformation)(nil)).Elem()
+}
+
+type IncorrectHostInformationEvent struct {
+ LicenseEvent
+}
+
+func init() {
+ t["IncorrectHostInformationEvent"] = reflect.TypeOf((*IncorrectHostInformationEvent)(nil)).Elem()
+}
+
+type IncorrectHostInformationFault IncorrectHostInformation
+
+func init() {
+ t["IncorrectHostInformationFault"] = reflect.TypeOf((*IncorrectHostInformationFault)(nil)).Elem()
+}
+
+type IndependentDiskVMotionNotSupported struct {
+ MigrationFeatureNotSupported
+}
+
+func init() {
+ t["IndependentDiskVMotionNotSupported"] = reflect.TypeOf((*IndependentDiskVMotionNotSupported)(nil)).Elem()
+}
+
+type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported
+
+func init() {
+ t["IndependentDiskVMotionNotSupportedFault"] = reflect.TypeOf((*IndependentDiskVMotionNotSupportedFault)(nil)).Elem()
+}
+
+type InflateDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["InflateDiskRequestType"] = reflect.TypeOf((*InflateDiskRequestType)(nil)).Elem()
+}
+
+type InflateDisk_Task InflateDiskRequestType
+
+func init() {
+ t["InflateDisk_Task"] = reflect.TypeOf((*InflateDisk_Task)(nil)).Elem()
+}
+
+type InflateDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InflateVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["InflateVirtualDiskRequestType"] = reflect.TypeOf((*InflateVirtualDiskRequestType)(nil)).Elem()
+}
+
+type InflateVirtualDisk_Task InflateVirtualDiskRequestType
+
+func init() {
+ t["InflateVirtualDisk_Task"] = reflect.TypeOf((*InflateVirtualDisk_Task)(nil)).Elem()
+}
+
+type InflateVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InfoUpgradeEvent struct {
+ UpgradeEvent
+}
+
+func init() {
+ t["InfoUpgradeEvent"] = reflect.TypeOf((*InfoUpgradeEvent)(nil)).Elem()
+}
+
+type InheritablePolicy struct {
+ DynamicData
+
+ Inherited bool `xml:"inherited"`
+}
+
+func init() {
+ t["InheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem()
+}
+
+type InitializeDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Mapping []VsanHostDiskMapping `xml:"mapping"`
+}
+
+func init() {
+ t["InitializeDisksRequestType"] = reflect.TypeOf((*InitializeDisksRequestType)(nil)).Elem()
+}
+
+type InitializeDisks_Task InitializeDisksRequestType
+
+func init() {
+ t["InitializeDisks_Task"] = reflect.TypeOf((*InitializeDisks_Task)(nil)).Elem()
+}
+
+type InitializeDisks_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InitiateFileTransferFromGuest InitiateFileTransferFromGuestRequestType
+
+func init() {
+ t["InitiateFileTransferFromGuest"] = reflect.TypeOf((*InitiateFileTransferFromGuest)(nil)).Elem()
+}
+
+type InitiateFileTransferFromGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ GuestFilePath string `xml:"guestFilePath"`
+}
+
+func init() {
+ t["InitiateFileTransferFromGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferFromGuestRequestType)(nil)).Elem()
+}
+
+type InitiateFileTransferFromGuestResponse struct {
+ Returnval FileTransferInformation `xml:"returnval"`
+}
+
+type InitiateFileTransferToGuest InitiateFileTransferToGuestRequestType
+
+func init() {
+ t["InitiateFileTransferToGuest"] = reflect.TypeOf((*InitiateFileTransferToGuest)(nil)).Elem()
+}
+
+type InitiateFileTransferToGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ GuestFilePath string `xml:"guestFilePath"`
+ FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr"`
+ FileSize int64 `xml:"fileSize"`
+ Overwrite bool `xml:"overwrite"`
+}
+
+func init() {
+ t["InitiateFileTransferToGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferToGuestRequestType)(nil)).Elem()
+}
+
+type InitiateFileTransferToGuestResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type InstallHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Repository HostPatchManagerLocator `xml:"repository"`
+ UpdateID string `xml:"updateID"`
+ Force *bool `xml:"force"`
+}
+
+func init() {
+ t["InstallHostPatchRequestType"] = reflect.TypeOf((*InstallHostPatchRequestType)(nil)).Elem()
+}
+
+type InstallHostPatchV2RequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MetaUrls []string `xml:"metaUrls,omitempty"`
+ BundleUrls []string `xml:"bundleUrls,omitempty"`
+ VibUrls []string `xml:"vibUrls,omitempty"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["InstallHostPatchV2RequestType"] = reflect.TypeOf((*InstallHostPatchV2RequestType)(nil)).Elem()
+}
+
+type InstallHostPatchV2_Task InstallHostPatchV2RequestType
+
+func init() {
+ t["InstallHostPatchV2_Task"] = reflect.TypeOf((*InstallHostPatchV2_Task)(nil)).Elem()
+}
+
+type InstallHostPatchV2_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InstallHostPatch_Task InstallHostPatchRequestType
+
+func init() {
+ t["InstallHostPatch_Task"] = reflect.TypeOf((*InstallHostPatch_Task)(nil)).Elem()
+}
+
+type InstallHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InstallIoFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VibUrl string `xml:"vibUrl"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+}
+
+func init() {
+ t["InstallIoFilterRequestType"] = reflect.TypeOf((*InstallIoFilterRequestType)(nil)).Elem()
+}
+
+type InstallIoFilter_Task InstallIoFilterRequestType
+
+func init() {
+ t["InstallIoFilter_Task"] = reflect.TypeOf((*InstallIoFilter_Task)(nil)).Elem()
+}
+
+type InstallIoFilter_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type InstallServerCertificate InstallServerCertificateRequestType
+
+func init() {
+ t["InstallServerCertificate"] = reflect.TypeOf((*InstallServerCertificate)(nil)).Elem()
+}
+
+type InstallServerCertificateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cert string `xml:"cert"`
+}
+
+func init() {
+ t["InstallServerCertificateRequestType"] = reflect.TypeOf((*InstallServerCertificateRequestType)(nil)).Elem()
+}
+
+type InstallServerCertificateResponse struct {
+}
+
+type InstallSmartCardTrustAnchor InstallSmartCardTrustAnchorRequestType
+
+func init() {
+ t["InstallSmartCardTrustAnchor"] = reflect.TypeOf((*InstallSmartCardTrustAnchor)(nil)).Elem()
+}
+
+type InstallSmartCardTrustAnchorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cert string `xml:"cert"`
+}
+
+func init() {
+ t["InstallSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*InstallSmartCardTrustAnchorRequestType)(nil)).Elem()
+}
+
+type InstallSmartCardTrustAnchorResponse struct {
+}
+
+type InsufficientAgentVmsDeployed struct {
+ InsufficientResourcesFault
+
+ HostName string `xml:"hostName"`
+ RequiredNumAgentVms int32 `xml:"requiredNumAgentVms"`
+ CurrentNumAgentVms int32 `xml:"currentNumAgentVms"`
+}
+
+func init() {
+ t["InsufficientAgentVmsDeployed"] = reflect.TypeOf((*InsufficientAgentVmsDeployed)(nil)).Elem()
+}
+
+type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed
+
+func init() {
+ t["InsufficientAgentVmsDeployedFault"] = reflect.TypeOf((*InsufficientAgentVmsDeployedFault)(nil)).Elem()
+}
+
+type InsufficientCpuResourcesFault struct {
+ InsufficientResourcesFault
+
+ Unreserved int64 `xml:"unreserved"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientCpuResourcesFault"] = reflect.TypeOf((*InsufficientCpuResourcesFault)(nil)).Elem()
+}
+
+type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault
+
+func init() {
+ t["InsufficientCpuResourcesFaultFault"] = reflect.TypeOf((*InsufficientCpuResourcesFaultFault)(nil)).Elem()
+}
+
+type InsufficientDisks struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["InsufficientDisks"] = reflect.TypeOf((*InsufficientDisks)(nil)).Elem()
+}
+
+type InsufficientDisksFault InsufficientDisks
+
+func init() {
+ t["InsufficientDisksFault"] = reflect.TypeOf((*InsufficientDisksFault)(nil)).Elem()
+}
+
+type InsufficientFailoverResourcesEvent struct {
+ ClusterEvent
+}
+
+func init() {
+ t["InsufficientFailoverResourcesEvent"] = reflect.TypeOf((*InsufficientFailoverResourcesEvent)(nil)).Elem()
+}
+
+type InsufficientFailoverResourcesFault struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InsufficientFailoverResourcesFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFault)(nil)).Elem()
+}
+
+type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault
+
+func init() {
+ t["InsufficientFailoverResourcesFaultFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFaultFault)(nil)).Elem()
+}
+
+type InsufficientGraphicsResourcesFault struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InsufficientGraphicsResourcesFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFault)(nil)).Elem()
+}
+
+type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault
+
+func init() {
+ t["InsufficientGraphicsResourcesFaultFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFaultFault)(nil)).Elem()
+}
+
+type InsufficientHostCapacityFault struct {
+ InsufficientResourcesFault
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["InsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem()
+}
+
+type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault
+
+func init() {
+ t["InsufficientHostCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCapacityFaultFault)(nil)).Elem()
+}
+
+type InsufficientHostCpuCapacityFault struct {
+ InsufficientHostCapacityFault
+
+ Unreserved int64 `xml:"unreserved"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientHostCpuCapacityFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFault)(nil)).Elem()
+}
+
+type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault
+
+func init() {
+ t["InsufficientHostCpuCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFaultFault)(nil)).Elem()
+}
+
+type InsufficientHostMemoryCapacityFault struct {
+ InsufficientHostCapacityFault
+
+ Unreserved int64 `xml:"unreserved"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientHostMemoryCapacityFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFault)(nil)).Elem()
+}
+
+type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault
+
+func init() {
+ t["InsufficientHostMemoryCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFaultFault)(nil)).Elem()
+}
+
+type InsufficientMemoryResourcesFault struct {
+ InsufficientResourcesFault
+
+ Unreserved int64 `xml:"unreserved"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientMemoryResourcesFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFault)(nil)).Elem()
+}
+
+type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault
+
+func init() {
+ t["InsufficientMemoryResourcesFaultFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFaultFault)(nil)).Elem()
+}
+
+type InsufficientNetworkCapacity struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InsufficientNetworkCapacity"] = reflect.TypeOf((*InsufficientNetworkCapacity)(nil)).Elem()
+}
+
+type InsufficientNetworkCapacityFault InsufficientNetworkCapacity
+
+func init() {
+ t["InsufficientNetworkCapacityFault"] = reflect.TypeOf((*InsufficientNetworkCapacityFault)(nil)).Elem()
+}
+
+type InsufficientNetworkResourcePoolCapacity struct {
+ InsufficientResourcesFault
+
+ DvsName string `xml:"dvsName"`
+ DvsUuid string `xml:"dvsUuid"`
+ ResourcePoolKey string `xml:"resourcePoolKey"`
+ Available int64 `xml:"available"`
+ Requested int64 `xml:"requested"`
+ Device []string `xml:"device"`
+}
+
+func init() {
+ t["InsufficientNetworkResourcePoolCapacity"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacity)(nil)).Elem()
+}
+
+type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity
+
+func init() {
+ t["InsufficientNetworkResourcePoolCapacityFault"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacityFault)(nil)).Elem()
+}
+
+type InsufficientPerCpuCapacity struct {
+ InsufficientHostCapacityFault
+}
+
+func init() {
+ t["InsufficientPerCpuCapacity"] = reflect.TypeOf((*InsufficientPerCpuCapacity)(nil)).Elem()
+}
+
+type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity
+
+func init() {
+ t["InsufficientPerCpuCapacityFault"] = reflect.TypeOf((*InsufficientPerCpuCapacityFault)(nil)).Elem()
+}
+
+type InsufficientResourcesFault struct {
+ VimFault
+}
+
+func init() {
+ t["InsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem()
+}
+
+type InsufficientResourcesFaultFault BaseInsufficientResourcesFault
+
+func init() {
+ t["InsufficientResourcesFaultFault"] = reflect.TypeOf((*InsufficientResourcesFaultFault)(nil)).Elem()
+}
+
+type InsufficientStandbyCpuResource struct {
+ InsufficientStandbyResource
+
+ Available int64 `xml:"available"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientStandbyCpuResource"] = reflect.TypeOf((*InsufficientStandbyCpuResource)(nil)).Elem()
+}
+
+type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource
+
+func init() {
+ t["InsufficientStandbyCpuResourceFault"] = reflect.TypeOf((*InsufficientStandbyCpuResourceFault)(nil)).Elem()
+}
+
+type InsufficientStandbyMemoryResource struct {
+ InsufficientStandbyResource
+
+ Available int64 `xml:"available"`
+ Requested int64 `xml:"requested"`
+}
+
+func init() {
+ t["InsufficientStandbyMemoryResource"] = reflect.TypeOf((*InsufficientStandbyMemoryResource)(nil)).Elem()
+}
+
+type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource
+
+func init() {
+ t["InsufficientStandbyMemoryResourceFault"] = reflect.TypeOf((*InsufficientStandbyMemoryResourceFault)(nil)).Elem()
+}
+
+type InsufficientStandbyResource struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem()
+}
+
+type InsufficientStandbyResourceFault BaseInsufficientStandbyResource
+
+func init() {
+ t["InsufficientStandbyResourceFault"] = reflect.TypeOf((*InsufficientStandbyResourceFault)(nil)).Elem()
+}
+
+type InsufficientStorageIops struct {
+ VimFault
+
+ UnreservedIops int64 `xml:"unreservedIops"`
+ RequestedIops int64 `xml:"requestedIops"`
+ DatastoreName string `xml:"datastoreName"`
+}
+
+func init() {
+ t["InsufficientStorageIops"] = reflect.TypeOf((*InsufficientStorageIops)(nil)).Elem()
+}
+
+type InsufficientStorageIopsFault InsufficientStorageIops
+
+func init() {
+ t["InsufficientStorageIopsFault"] = reflect.TypeOf((*InsufficientStorageIopsFault)(nil)).Elem()
+}
+
+type InsufficientStorageSpace struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InsufficientStorageSpace"] = reflect.TypeOf((*InsufficientStorageSpace)(nil)).Elem()
+}
+
+type InsufficientStorageSpaceFault InsufficientStorageSpace
+
+func init() {
+ t["InsufficientStorageSpaceFault"] = reflect.TypeOf((*InsufficientStorageSpaceFault)(nil)).Elem()
+}
+
+type InsufficientVFlashResourcesFault struct {
+ InsufficientResourcesFault
+
+ FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty"`
+ FreeSpace int64 `xml:"freeSpace"`
+ RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty"`
+ RequestedSpace int64 `xml:"requestedSpace"`
+}
+
+func init() {
+ t["InsufficientVFlashResourcesFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFault)(nil)).Elem()
+}
+
+type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault
+
+func init() {
+ t["InsufficientVFlashResourcesFaultFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFaultFault)(nil)).Elem()
+}
+
+type IntExpression struct {
+ NegatableExpression
+
+ Value int32 `xml:"value,omitempty"`
+}
+
+func init() {
+ t["IntExpression"] = reflect.TypeOf((*IntExpression)(nil)).Elem()
+}
+
+type IntOption struct {
+ OptionType
+
+ Min int32 `xml:"min"`
+ Max int32 `xml:"max"`
+ DefaultValue int32 `xml:"defaultValue"`
+}
+
+func init() {
+ t["IntOption"] = reflect.TypeOf((*IntOption)(nil)).Elem()
+}
+
+type IntPolicy struct {
+ InheritablePolicy
+
+ Value int32 `xml:"value,omitempty"`
+}
+
+func init() {
+ t["IntPolicy"] = reflect.TypeOf((*IntPolicy)(nil)).Elem()
+}
+
+type InvalidAffinitySettingFault struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidAffinitySettingFault"] = reflect.TypeOf((*InvalidAffinitySettingFault)(nil)).Elem()
+}
+
+type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault
+
+func init() {
+ t["InvalidAffinitySettingFaultFault"] = reflect.TypeOf((*InvalidAffinitySettingFaultFault)(nil)).Elem()
+}
+
+type InvalidArgument struct {
+ RuntimeFault
+
+ InvalidProperty string `xml:"invalidProperty,omitempty"`
+}
+
+func init() {
+ t["InvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem()
+}
+
+type InvalidArgumentFault BaseInvalidArgument
+
+func init() {
+ t["InvalidArgumentFault"] = reflect.TypeOf((*InvalidArgumentFault)(nil)).Elem()
+}
+
+type InvalidBmcRole struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidBmcRole"] = reflect.TypeOf((*InvalidBmcRole)(nil)).Elem()
+}
+
+type InvalidBmcRoleFault InvalidBmcRole
+
+func init() {
+ t["InvalidBmcRoleFault"] = reflect.TypeOf((*InvalidBmcRoleFault)(nil)).Elem()
+}
+
+type InvalidBundle struct {
+ PlatformConfigFault
+}
+
+func init() {
+ t["InvalidBundle"] = reflect.TypeOf((*InvalidBundle)(nil)).Elem()
+}
+
+type InvalidBundleFault InvalidBundle
+
+func init() {
+ t["InvalidBundleFault"] = reflect.TypeOf((*InvalidBundleFault)(nil)).Elem()
+}
+
+type InvalidCAMCertificate struct {
+ InvalidCAMServer
+}
+
+func init() {
+ t["InvalidCAMCertificate"] = reflect.TypeOf((*InvalidCAMCertificate)(nil)).Elem()
+}
+
+type InvalidCAMCertificateFault InvalidCAMCertificate
+
+func init() {
+ t["InvalidCAMCertificateFault"] = reflect.TypeOf((*InvalidCAMCertificateFault)(nil)).Elem()
+}
+
+type InvalidCAMServer struct {
+ ActiveDirectoryFault
+
+ CamServer string `xml:"camServer"`
+}
+
+func init() {
+ t["InvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem()
+}
+
+type InvalidCAMServerFault BaseInvalidCAMServer
+
+func init() {
+ t["InvalidCAMServerFault"] = reflect.TypeOf((*InvalidCAMServerFault)(nil)).Elem()
+}
+
+type InvalidClientCertificate struct {
+ InvalidLogin
+}
+
+func init() {
+ t["InvalidClientCertificate"] = reflect.TypeOf((*InvalidClientCertificate)(nil)).Elem()
+}
+
+type InvalidClientCertificateFault InvalidClientCertificate
+
+func init() {
+ t["InvalidClientCertificateFault"] = reflect.TypeOf((*InvalidClientCertificateFault)(nil)).Elem()
+}
+
+type InvalidCollectorVersion struct {
+ MethodFault
+}
+
+func init() {
+ t["InvalidCollectorVersion"] = reflect.TypeOf((*InvalidCollectorVersion)(nil)).Elem()
+}
+
+type InvalidCollectorVersionFault InvalidCollectorVersion
+
+func init() {
+ t["InvalidCollectorVersionFault"] = reflect.TypeOf((*InvalidCollectorVersionFault)(nil)).Elem()
+}
+
+type InvalidController struct {
+ InvalidDeviceSpec
+
+ ControllerKey int32 `xml:"controllerKey"`
+}
+
+func init() {
+ t["InvalidController"] = reflect.TypeOf((*InvalidController)(nil)).Elem()
+}
+
+type InvalidControllerFault InvalidController
+
+func init() {
+ t["InvalidControllerFault"] = reflect.TypeOf((*InvalidControllerFault)(nil)).Elem()
+}
+
+type InvalidDasConfigArgument struct {
+ InvalidArgument
+
+ Entry string `xml:"entry,omitempty"`
+ ClusterName string `xml:"clusterName,omitempty"`
+}
+
+func init() {
+ t["InvalidDasConfigArgument"] = reflect.TypeOf((*InvalidDasConfigArgument)(nil)).Elem()
+}
+
+type InvalidDasConfigArgumentFault InvalidDasConfigArgument
+
+func init() {
+ t["InvalidDasConfigArgumentFault"] = reflect.TypeOf((*InvalidDasConfigArgumentFault)(nil)).Elem()
+}
+
+type InvalidDasRestartPriorityForFtVm struct {
+ InvalidArgument
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["InvalidDasRestartPriorityForFtVm"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVm)(nil)).Elem()
+}
+
+type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm
+
+func init() {
+ t["InvalidDasRestartPriorityForFtVmFault"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVmFault)(nil)).Elem()
+}
+
+type InvalidDatastore struct {
+ VimFault
+
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["InvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem()
+}
+
+type InvalidDatastoreFault BaseInvalidDatastore
+
+func init() {
+ t["InvalidDatastoreFault"] = reflect.TypeOf((*InvalidDatastoreFault)(nil)).Elem()
+}
+
+type InvalidDatastorePath struct {
+ InvalidDatastore
+
+ DatastorePath string `xml:"datastorePath"`
+}
+
+func init() {
+ t["InvalidDatastorePath"] = reflect.TypeOf((*InvalidDatastorePath)(nil)).Elem()
+}
+
+type InvalidDatastorePathFault InvalidDatastorePath
+
+func init() {
+ t["InvalidDatastorePathFault"] = reflect.TypeOf((*InvalidDatastorePathFault)(nil)).Elem()
+}
+
+type InvalidDatastoreState struct {
+ InvalidState
+
+ DatastoreName string `xml:"datastoreName,omitempty"`
+}
+
+func init() {
+ t["InvalidDatastoreState"] = reflect.TypeOf((*InvalidDatastoreState)(nil)).Elem()
+}
+
+type InvalidDatastoreStateFault InvalidDatastoreState
+
+func init() {
+ t["InvalidDatastoreStateFault"] = reflect.TypeOf((*InvalidDatastoreStateFault)(nil)).Elem()
+}
+
+type InvalidDeviceBacking struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["InvalidDeviceBacking"] = reflect.TypeOf((*InvalidDeviceBacking)(nil)).Elem()
+}
+
+type InvalidDeviceBackingFault InvalidDeviceBacking
+
+func init() {
+ t["InvalidDeviceBackingFault"] = reflect.TypeOf((*InvalidDeviceBackingFault)(nil)).Elem()
+}
+
+type InvalidDeviceOperation struct {
+ InvalidDeviceSpec
+
+ BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty"`
+ BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty"`
+}
+
+func init() {
+ t["InvalidDeviceOperation"] = reflect.TypeOf((*InvalidDeviceOperation)(nil)).Elem()
+}
+
+type InvalidDeviceOperationFault InvalidDeviceOperation
+
+func init() {
+ t["InvalidDeviceOperationFault"] = reflect.TypeOf((*InvalidDeviceOperationFault)(nil)).Elem()
+}
+
+type InvalidDeviceSpec struct {
+ InvalidVmConfig
+
+ DeviceIndex int32 `xml:"deviceIndex"`
+}
+
+func init() {
+ t["InvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem()
+}
+
+type InvalidDeviceSpecFault BaseInvalidDeviceSpec
+
+func init() {
+ t["InvalidDeviceSpecFault"] = reflect.TypeOf((*InvalidDeviceSpecFault)(nil)).Elem()
+}
+
+type InvalidDiskFormat struct {
+ InvalidFormat
+}
+
+func init() {
+ t["InvalidDiskFormat"] = reflect.TypeOf((*InvalidDiskFormat)(nil)).Elem()
+}
+
+type InvalidDiskFormatFault InvalidDiskFormat
+
+func init() {
+ t["InvalidDiskFormatFault"] = reflect.TypeOf((*InvalidDiskFormatFault)(nil)).Elem()
+}
+
+type InvalidDrsBehaviorForFtVm struct {
+ InvalidArgument
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["InvalidDrsBehaviorForFtVm"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVm)(nil)).Elem()
+}
+
+type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm
+
+func init() {
+ t["InvalidDrsBehaviorForFtVmFault"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVmFault)(nil)).Elem()
+}
+
+type InvalidEditionEvent struct {
+ LicenseEvent
+
+ Feature string `xml:"feature"`
+}
+
+func init() {
+ t["InvalidEditionEvent"] = reflect.TypeOf((*InvalidEditionEvent)(nil)).Elem()
+}
+
+type InvalidEditionLicense struct {
+ NotEnoughLicenses
+
+ Feature string `xml:"feature"`
+}
+
+func init() {
+ t["InvalidEditionLicense"] = reflect.TypeOf((*InvalidEditionLicense)(nil)).Elem()
+}
+
+type InvalidEditionLicenseFault InvalidEditionLicense
+
+func init() {
+ t["InvalidEditionLicenseFault"] = reflect.TypeOf((*InvalidEditionLicenseFault)(nil)).Elem()
+}
+
+type InvalidEvent struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidEvent"] = reflect.TypeOf((*InvalidEvent)(nil)).Elem()
+}
+
+type InvalidEventFault InvalidEvent
+
+func init() {
+ t["InvalidEventFault"] = reflect.TypeOf((*InvalidEventFault)(nil)).Elem()
+}
+
+type InvalidFolder struct {
+ VimFault
+
+ Target ManagedObjectReference `xml:"target"`
+}
+
+func init() {
+ t["InvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem()
+}
+
+type InvalidFolderFault BaseInvalidFolder
+
+func init() {
+ t["InvalidFolderFault"] = reflect.TypeOf((*InvalidFolderFault)(nil)).Elem()
+}
+
+type InvalidFormat struct {
+ VmConfigFault
+}
+
+func init() {
+ t["InvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem()
+}
+
+type InvalidFormatFault BaseInvalidFormat
+
+func init() {
+ t["InvalidFormatFault"] = reflect.TypeOf((*InvalidFormatFault)(nil)).Elem()
+}
+
+type InvalidGuestLogin struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["InvalidGuestLogin"] = reflect.TypeOf((*InvalidGuestLogin)(nil)).Elem()
+}
+
+type InvalidGuestLoginFault InvalidGuestLogin
+
+func init() {
+ t["InvalidGuestLoginFault"] = reflect.TypeOf((*InvalidGuestLoginFault)(nil)).Elem()
+}
+
+type InvalidHostConnectionState struct {
+ InvalidHostState
+}
+
+func init() {
+ t["InvalidHostConnectionState"] = reflect.TypeOf((*InvalidHostConnectionState)(nil)).Elem()
+}
+
+type InvalidHostConnectionStateFault InvalidHostConnectionState
+
+func init() {
+ t["InvalidHostConnectionStateFault"] = reflect.TypeOf((*InvalidHostConnectionStateFault)(nil)).Elem()
+}
+
+type InvalidHostName struct {
+ HostConfigFault
+}
+
+func init() {
+ t["InvalidHostName"] = reflect.TypeOf((*InvalidHostName)(nil)).Elem()
+}
+
+type InvalidHostNameFault InvalidHostName
+
+func init() {
+ t["InvalidHostNameFault"] = reflect.TypeOf((*InvalidHostNameFault)(nil)).Elem()
+}
+
+type InvalidHostState struct {
+ InvalidState
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["InvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem()
+}
+
+type InvalidHostStateFault BaseInvalidHostState
+
+func init() {
+ t["InvalidHostStateFault"] = reflect.TypeOf((*InvalidHostStateFault)(nil)).Elem()
+}
+
+type InvalidIndexArgument struct {
+ InvalidArgument
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["InvalidIndexArgument"] = reflect.TypeOf((*InvalidIndexArgument)(nil)).Elem()
+}
+
+type InvalidIndexArgumentFault InvalidIndexArgument
+
+func init() {
+ t["InvalidIndexArgumentFault"] = reflect.TypeOf((*InvalidIndexArgumentFault)(nil)).Elem()
+}
+
+type InvalidIpfixConfig struct {
+ DvsFault
+
+ Property string `xml:"property,omitempty"`
+}
+
+func init() {
+ t["InvalidIpfixConfig"] = reflect.TypeOf((*InvalidIpfixConfig)(nil)).Elem()
+}
+
+type InvalidIpfixConfigFault InvalidIpfixConfig
+
+func init() {
+ t["InvalidIpfixConfigFault"] = reflect.TypeOf((*InvalidIpfixConfigFault)(nil)).Elem()
+}
+
+type InvalidIpmiLoginInfo struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidIpmiLoginInfo"] = reflect.TypeOf((*InvalidIpmiLoginInfo)(nil)).Elem()
+}
+
+type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo
+
+func init() {
+ t["InvalidIpmiLoginInfoFault"] = reflect.TypeOf((*InvalidIpmiLoginInfoFault)(nil)).Elem()
+}
+
+type InvalidIpmiMacAddress struct {
+ VimFault
+
+ UserProvidedMacAddress string `xml:"userProvidedMacAddress"`
+ ObservedMacAddress string `xml:"observedMacAddress"`
+}
+
+func init() {
+ t["InvalidIpmiMacAddress"] = reflect.TypeOf((*InvalidIpmiMacAddress)(nil)).Elem()
+}
+
+type InvalidIpmiMacAddressFault InvalidIpmiMacAddress
+
+func init() {
+ t["InvalidIpmiMacAddressFault"] = reflect.TypeOf((*InvalidIpmiMacAddressFault)(nil)).Elem()
+}
+
+type InvalidLicense struct {
+ VimFault
+
+ LicenseContent string `xml:"licenseContent"`
+}
+
+func init() {
+ t["InvalidLicense"] = reflect.TypeOf((*InvalidLicense)(nil)).Elem()
+}
+
+type InvalidLicenseFault InvalidLicense
+
+func init() {
+ t["InvalidLicenseFault"] = reflect.TypeOf((*InvalidLicenseFault)(nil)).Elem()
+}
+
+type InvalidLocale struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidLocale"] = reflect.TypeOf((*InvalidLocale)(nil)).Elem()
+}
+
+type InvalidLocaleFault InvalidLocale
+
+func init() {
+ t["InvalidLocaleFault"] = reflect.TypeOf((*InvalidLocaleFault)(nil)).Elem()
+}
+
+type InvalidLogin struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem()
+}
+
+type InvalidLoginFault BaseInvalidLogin
+
+func init() {
+ t["InvalidLoginFault"] = reflect.TypeOf((*InvalidLoginFault)(nil)).Elem()
+}
+
+type InvalidName struct {
+ VimFault
+
+ Name string `xml:"name"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["InvalidName"] = reflect.TypeOf((*InvalidName)(nil)).Elem()
+}
+
+type InvalidNameFault InvalidName
+
+func init() {
+ t["InvalidNameFault"] = reflect.TypeOf((*InvalidNameFault)(nil)).Elem()
+}
+
+type InvalidNasCredentials struct {
+ NasConfigFault
+
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["InvalidNasCredentials"] = reflect.TypeOf((*InvalidNasCredentials)(nil)).Elem()
+}
+
+type InvalidNasCredentialsFault InvalidNasCredentials
+
+func init() {
+ t["InvalidNasCredentialsFault"] = reflect.TypeOf((*InvalidNasCredentialsFault)(nil)).Elem()
+}
+
+type InvalidNetworkInType struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["InvalidNetworkInType"] = reflect.TypeOf((*InvalidNetworkInType)(nil)).Elem()
+}
+
+type InvalidNetworkInTypeFault InvalidNetworkInType
+
+func init() {
+ t["InvalidNetworkInTypeFault"] = reflect.TypeOf((*InvalidNetworkInTypeFault)(nil)).Elem()
+}
+
+type InvalidNetworkResource struct {
+ NasConfigFault
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+}
+
+func init() {
+ t["InvalidNetworkResource"] = reflect.TypeOf((*InvalidNetworkResource)(nil)).Elem()
+}
+
+type InvalidNetworkResourceFault InvalidNetworkResource
+
+func init() {
+ t["InvalidNetworkResourceFault"] = reflect.TypeOf((*InvalidNetworkResourceFault)(nil)).Elem()
+}
+
+type InvalidOperationOnSecondaryVm struct {
+ VmFaultToleranceIssue
+
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+}
+
+func init() {
+ t["InvalidOperationOnSecondaryVm"] = reflect.TypeOf((*InvalidOperationOnSecondaryVm)(nil)).Elem()
+}
+
+type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm
+
+func init() {
+ t["InvalidOperationOnSecondaryVmFault"] = reflect.TypeOf((*InvalidOperationOnSecondaryVmFault)(nil)).Elem()
+}
+
+type InvalidPowerState struct {
+ InvalidState
+
+ RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty"`
+ ExistingState VirtualMachinePowerState `xml:"existingState"`
+}
+
+func init() {
+ t["InvalidPowerState"] = reflect.TypeOf((*InvalidPowerState)(nil)).Elem()
+}
+
+type InvalidPowerStateFault InvalidPowerState
+
+func init() {
+ t["InvalidPowerStateFault"] = reflect.TypeOf((*InvalidPowerStateFault)(nil)).Elem()
+}
+
+type InvalidPrivilege struct {
+ VimFault
+
+ Privilege string `xml:"privilege"`
+}
+
+func init() {
+ t["InvalidPrivilege"] = reflect.TypeOf((*InvalidPrivilege)(nil)).Elem()
+}
+
+type InvalidPrivilegeFault InvalidPrivilege
+
+func init() {
+ t["InvalidPrivilegeFault"] = reflect.TypeOf((*InvalidPrivilegeFault)(nil)).Elem()
+}
+
+type InvalidProfileReferenceHost struct {
+ RuntimeFault
+
+ Reason string `xml:"reason,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+ ProfileName string `xml:"profileName,omitempty"`
+}
+
+func init() {
+ t["InvalidProfileReferenceHost"] = reflect.TypeOf((*InvalidProfileReferenceHost)(nil)).Elem()
+}
+
+type InvalidProfileReferenceHostFault InvalidProfileReferenceHost
+
+func init() {
+ t["InvalidProfileReferenceHostFault"] = reflect.TypeOf((*InvalidProfileReferenceHostFault)(nil)).Elem()
+}
+
+type InvalidProperty struct {
+ MethodFault
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["InvalidProperty"] = reflect.TypeOf((*InvalidProperty)(nil)).Elem()
+}
+
+type InvalidPropertyFault InvalidProperty
+
+func init() {
+ t["InvalidPropertyFault"] = reflect.TypeOf((*InvalidPropertyFault)(nil)).Elem()
+}
+
+type InvalidPropertyType struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["InvalidPropertyType"] = reflect.TypeOf((*InvalidPropertyType)(nil)).Elem()
+}
+
+type InvalidPropertyTypeFault InvalidPropertyType
+
+func init() {
+ t["InvalidPropertyTypeFault"] = reflect.TypeOf((*InvalidPropertyTypeFault)(nil)).Elem()
+}
+
+type InvalidPropertyValue struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["InvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem()
+}
+
+type InvalidPropertyValueFault BaseInvalidPropertyValue
+
+func init() {
+ t["InvalidPropertyValueFault"] = reflect.TypeOf((*InvalidPropertyValueFault)(nil)).Elem()
+}
+
+type InvalidRequest struct {
+ RuntimeFault
+}
+
+func init() {
+ t["InvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem()
+}
+
+type InvalidRequestFault BaseInvalidRequest
+
+func init() {
+ t["InvalidRequestFault"] = reflect.TypeOf((*InvalidRequestFault)(nil)).Elem()
+}
+
+type InvalidResourcePoolStructureFault struct {
+ InsufficientResourcesFault
+}
+
+func init() {
+ t["InvalidResourcePoolStructureFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFault)(nil)).Elem()
+}
+
+type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault
+
+func init() {
+ t["InvalidResourcePoolStructureFaultFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFaultFault)(nil)).Elem()
+}
+
+type InvalidSnapshotFormat struct {
+ InvalidFormat
+}
+
+func init() {
+ t["InvalidSnapshotFormat"] = reflect.TypeOf((*InvalidSnapshotFormat)(nil)).Elem()
+}
+
+type InvalidSnapshotFormatFault InvalidSnapshotFormat
+
+func init() {
+ t["InvalidSnapshotFormatFault"] = reflect.TypeOf((*InvalidSnapshotFormatFault)(nil)).Elem()
+}
+
+type InvalidState struct {
+ VimFault
+}
+
+func init() {
+ t["InvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem()
+}
+
+type InvalidStateFault BaseInvalidState
+
+func init() {
+ t["InvalidStateFault"] = reflect.TypeOf((*InvalidStateFault)(nil)).Elem()
+}
+
+type InvalidType struct {
+ InvalidRequest
+
+ Argument string `xml:"argument,omitempty"`
+}
+
+func init() {
+ t["InvalidType"] = reflect.TypeOf((*InvalidType)(nil)).Elem()
+}
+
+type InvalidTypeFault InvalidType
+
+func init() {
+ t["InvalidTypeFault"] = reflect.TypeOf((*InvalidTypeFault)(nil)).Elem()
+}
+
+type InvalidVmConfig struct {
+ VmConfigFault
+
+ Property string `xml:"property,omitempty"`
+}
+
+func init() {
+ t["InvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem()
+}
+
+type InvalidVmConfigFault BaseInvalidVmConfig
+
+func init() {
+ t["InvalidVmConfigFault"] = reflect.TypeOf((*InvalidVmConfigFault)(nil)).Elem()
+}
+
+type InvalidVmState struct {
+ InvalidState
+
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["InvalidVmState"] = reflect.TypeOf((*InvalidVmState)(nil)).Elem()
+}
+
+type InvalidVmStateFault InvalidVmState
+
+func init() {
+ t["InvalidVmStateFault"] = reflect.TypeOf((*InvalidVmStateFault)(nil)).Elem()
+}
+
+type InventoryDescription struct {
+ DynamicData
+
+ NumHosts int32 `xml:"numHosts"`
+ NumVirtualMachines int32 `xml:"numVirtualMachines"`
+ NumResourcePools int32 `xml:"numResourcePools,omitempty"`
+ NumClusters int32 `xml:"numClusters,omitempty"`
+ NumCpuDev int32 `xml:"numCpuDev,omitempty"`
+ NumNetDev int32 `xml:"numNetDev,omitempty"`
+ NumDiskDev int32 `xml:"numDiskDev,omitempty"`
+ NumvCpuDev int32 `xml:"numvCpuDev,omitempty"`
+ NumvNetDev int32 `xml:"numvNetDev,omitempty"`
+ NumvDiskDev int32 `xml:"numvDiskDev,omitempty"`
+}
+
+func init() {
+ t["InventoryDescription"] = reflect.TypeOf((*InventoryDescription)(nil)).Elem()
+}
+
+type InventoryHasStandardAloneHosts struct {
+ NotEnoughLicenses
+
+ Hosts []string `xml:"hosts"`
+}
+
+func init() {
+ t["InventoryHasStandardAloneHosts"] = reflect.TypeOf((*InventoryHasStandardAloneHosts)(nil)).Elem()
+}
+
+type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts
+
+func init() {
+ t["InventoryHasStandardAloneHostsFault"] = reflect.TypeOf((*InventoryHasStandardAloneHostsFault)(nil)).Elem()
+}
+
+type IoFilterHostIssue struct {
+ DynamicData
+
+ Host ManagedObjectReference `xml:"host"`
+ Issue []LocalizedMethodFault `xml:"issue"`
+}
+
+func init() {
+ t["IoFilterHostIssue"] = reflect.TypeOf((*IoFilterHostIssue)(nil)).Elem()
+}
+
+type IoFilterInfo struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Name string `xml:"name"`
+ Vendor string `xml:"vendor"`
+ Version string `xml:"version"`
+ Type string `xml:"type,omitempty"`
+ Summary string `xml:"summary,omitempty"`
+ ReleaseDate string `xml:"releaseDate,omitempty"`
+}
+
+func init() {
+ t["IoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem()
+}
+
+type IoFilterQueryIssueResult struct {
+ DynamicData
+
+ OpType string `xml:"opType"`
+ HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty"`
+}
+
+func init() {
+ t["IoFilterQueryIssueResult"] = reflect.TypeOf((*IoFilterQueryIssueResult)(nil)).Elem()
+}
+
+type IpAddress struct {
+ NegatableExpression
+}
+
+func init() {
+ t["IpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem()
+}
+
+type IpAddressProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["IpAddressProfile"] = reflect.TypeOf((*IpAddressProfile)(nil)).Elem()
+}
+
+type IpHostnameGeneratorError struct {
+ CustomizationFault
+}
+
+func init() {
+ t["IpHostnameGeneratorError"] = reflect.TypeOf((*IpHostnameGeneratorError)(nil)).Elem()
+}
+
+type IpHostnameGeneratorErrorFault IpHostnameGeneratorError
+
+func init() {
+ t["IpHostnameGeneratorErrorFault"] = reflect.TypeOf((*IpHostnameGeneratorErrorFault)(nil)).Elem()
+}
+
+type IpPool struct {
+ DynamicData
+
+ Id int32 `xml:"id,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty"`
+ Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty"`
+ DnsDomain string `xml:"dnsDomain,omitempty"`
+ DnsSearchPath string `xml:"dnsSearchPath,omitempty"`
+ HostPrefix string `xml:"hostPrefix,omitempty"`
+ HttpProxy string `xml:"httpProxy,omitempty"`
+ NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty"`
+ AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty"`
+ AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty"`
+ AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty"`
+ AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty"`
+}
+
+func init() {
+ t["IpPool"] = reflect.TypeOf((*IpPool)(nil)).Elem()
+}
+
+type IpPoolAssociation struct {
+ DynamicData
+
+ Network *ManagedObjectReference `xml:"network,omitempty"`
+ NetworkName string `xml:"networkName"`
+}
+
+func init() {
+ t["IpPoolAssociation"] = reflect.TypeOf((*IpPoolAssociation)(nil)).Elem()
+}
+
+type IpPoolIpPoolConfigInfo struct {
+ DynamicData
+
+ SubnetAddress string `xml:"subnetAddress,omitempty"`
+ Netmask string `xml:"netmask,omitempty"`
+ Gateway string `xml:"gateway,omitempty"`
+ Range string `xml:"range,omitempty"`
+ Dns []string `xml:"dns,omitempty"`
+ DhcpServerAvailable *bool `xml:"dhcpServerAvailable"`
+ IpPoolEnabled *bool `xml:"ipPoolEnabled"`
+}
+
+func init() {
+ t["IpPoolIpPoolConfigInfo"] = reflect.TypeOf((*IpPoolIpPoolConfigInfo)(nil)).Elem()
+}
+
+type IpPoolManagerIpAllocation struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ AllocationId string `xml:"allocationId"`
+}
+
+func init() {
+ t["IpPoolManagerIpAllocation"] = reflect.TypeOf((*IpPoolManagerIpAllocation)(nil)).Elem()
+}
+
+type IpRange struct {
+ IpAddress
+
+ AddressPrefix string `xml:"addressPrefix"`
+ PrefixLength int32 `xml:"prefixLength,omitempty"`
+}
+
+func init() {
+ t["IpRange"] = reflect.TypeOf((*IpRange)(nil)).Elem()
+}
+
+type IpRouteProfile struct {
+ ApplyProfile
+
+ StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty"`
+}
+
+func init() {
+ t["IpRouteProfile"] = reflect.TypeOf((*IpRouteProfile)(nil)).Elem()
+}
+
+type IsSharedGraphicsActive IsSharedGraphicsActiveRequestType
+
+func init() {
+ t["IsSharedGraphicsActive"] = reflect.TypeOf((*IsSharedGraphicsActive)(nil)).Elem()
+}
+
+type IsSharedGraphicsActiveRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["IsSharedGraphicsActiveRequestType"] = reflect.TypeOf((*IsSharedGraphicsActiveRequestType)(nil)).Elem()
+}
+
+type IsSharedGraphicsActiveResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type IscsiDependencyEntity struct {
+ DynamicData
+
+ PnicDevice string `xml:"pnicDevice"`
+ VnicDevice string `xml:"vnicDevice"`
+ VmhbaName string `xml:"vmhbaName"`
+}
+
+func init() {
+ t["IscsiDependencyEntity"] = reflect.TypeOf((*IscsiDependencyEntity)(nil)).Elem()
+}
+
+type IscsiFault struct {
+ VimFault
+}
+
+func init() {
+ t["IscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem()
+}
+
+type IscsiFaultFault BaseIscsiFault
+
+func init() {
+ t["IscsiFaultFault"] = reflect.TypeOf((*IscsiFaultFault)(nil)).Elem()
+}
+
+type IscsiFaultInvalidVnic struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultInvalidVnic"] = reflect.TypeOf((*IscsiFaultInvalidVnic)(nil)).Elem()
+}
+
+type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic
+
+func init() {
+ t["IscsiFaultInvalidVnicFault"] = reflect.TypeOf((*IscsiFaultInvalidVnicFault)(nil)).Elem()
+}
+
+type IscsiFaultPnicInUse struct {
+ IscsiFault
+
+ PnicDevice string `xml:"pnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultPnicInUse"] = reflect.TypeOf((*IscsiFaultPnicInUse)(nil)).Elem()
+}
+
+type IscsiFaultPnicInUseFault IscsiFaultPnicInUse
+
+func init() {
+ t["IscsiFaultPnicInUseFault"] = reflect.TypeOf((*IscsiFaultPnicInUseFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicAlreadyBound struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicAlreadyBound"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBound)(nil)).Elem()
+}
+
+type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound
+
+func init() {
+ t["IscsiFaultVnicAlreadyBoundFault"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBoundFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasActivePaths struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicHasActivePaths"] = reflect.TypeOf((*IscsiFaultVnicHasActivePaths)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths
+
+func init() {
+ t["IscsiFaultVnicHasActivePathsFault"] = reflect.TypeOf((*IscsiFaultVnicHasActivePathsFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasMultipleUplinks struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicHasMultipleUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinks)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks
+
+func init() {
+ t["IscsiFaultVnicHasMultipleUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinksFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasNoUplinks struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicHasNoUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinks)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks
+
+func init() {
+ t["IscsiFaultVnicHasNoUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinksFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasWrongUplink struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicHasWrongUplink"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplink)(nil)).Elem()
+}
+
+type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink
+
+func init() {
+ t["IscsiFaultVnicHasWrongUplinkFault"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplinkFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicInUse struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicInUse"] = reflect.TypeOf((*IscsiFaultVnicInUse)(nil)).Elem()
+}
+
+type IscsiFaultVnicInUseFault IscsiFaultVnicInUse
+
+func init() {
+ t["IscsiFaultVnicInUseFault"] = reflect.TypeOf((*IscsiFaultVnicInUseFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicIsLastPath struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicIsLastPath"] = reflect.TypeOf((*IscsiFaultVnicIsLastPath)(nil)).Elem()
+}
+
+type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath
+
+func init() {
+ t["IscsiFaultVnicIsLastPathFault"] = reflect.TypeOf((*IscsiFaultVnicIsLastPathFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicNotBound struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicNotBound"] = reflect.TypeOf((*IscsiFaultVnicNotBound)(nil)).Elem()
+}
+
+type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound
+
+func init() {
+ t["IscsiFaultVnicNotBoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotBoundFault)(nil)).Elem()
+}
+
+type IscsiFaultVnicNotFound struct {
+ IscsiFault
+
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["IscsiFaultVnicNotFound"] = reflect.TypeOf((*IscsiFaultVnicNotFound)(nil)).Elem()
+}
+
+type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound
+
+func init() {
+ t["IscsiFaultVnicNotFoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotFoundFault)(nil)).Elem()
+}
+
+type IscsiMigrationDependency struct {
+ DynamicData
+
+ MigrationAllowed bool `xml:"migrationAllowed"`
+ DisallowReason *IscsiStatus `xml:"disallowReason,omitempty"`
+ Dependency []IscsiDependencyEntity `xml:"dependency,omitempty"`
+}
+
+func init() {
+ t["IscsiMigrationDependency"] = reflect.TypeOf((*IscsiMigrationDependency)(nil)).Elem()
+}
+
+type IscsiPortInfo struct {
+ DynamicData
+
+ VnicDevice string `xml:"vnicDevice,omitempty"`
+ Vnic *HostVirtualNic `xml:"vnic,omitempty"`
+ PnicDevice string `xml:"pnicDevice,omitempty"`
+ Pnic *PhysicalNic `xml:"pnic,omitempty"`
+ SwitchName string `xml:"switchName,omitempty"`
+ SwitchUuid string `xml:"switchUuid,omitempty"`
+ PortgroupName string `xml:"portgroupName,omitempty"`
+ PortgroupKey string `xml:"portgroupKey,omitempty"`
+ PortKey string `xml:"portKey,omitempty"`
+ OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty"`
+ OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty"`
+ OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty"`
+ ExternalId string `xml:"externalId,omitempty"`
+ ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty"`
+ PathStatus string `xml:"pathStatus,omitempty"`
+}
+
+func init() {
+ t["IscsiPortInfo"] = reflect.TypeOf((*IscsiPortInfo)(nil)).Elem()
+}
+
+type IscsiStatus struct {
+ DynamicData
+
+ Reason []LocalizedMethodFault `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["IscsiStatus"] = reflect.TypeOf((*IscsiStatus)(nil)).Elem()
+}
+
+type IsoImageFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["IsoImageFileInfo"] = reflect.TypeOf((*IsoImageFileInfo)(nil)).Elem()
+}
+
+type IsoImageFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["IsoImageFileQuery"] = reflect.TypeOf((*IsoImageFileQuery)(nil)).Elem()
+}
+
+type JoinDomainRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DomainName string `xml:"domainName"`
+ UserName string `xml:"userName"`
+ Password string `xml:"password"`
+}
+
+func init() {
+ t["JoinDomainRequestType"] = reflect.TypeOf((*JoinDomainRequestType)(nil)).Elem()
+}
+
+type JoinDomainWithCAMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DomainName string `xml:"domainName"`
+ CamServer string `xml:"camServer"`
+}
+
+func init() {
+ t["JoinDomainWithCAMRequestType"] = reflect.TypeOf((*JoinDomainWithCAMRequestType)(nil)).Elem()
+}
+
+type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType
+
+func init() {
+ t["JoinDomainWithCAM_Task"] = reflect.TypeOf((*JoinDomainWithCAM_Task)(nil)).Elem()
+}
+
+type JoinDomainWithCAM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type JoinDomain_Task JoinDomainRequestType
+
+func init() {
+ t["JoinDomain_Task"] = reflect.TypeOf((*JoinDomain_Task)(nil)).Elem()
+}
+
+type JoinDomain_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type KernelModuleInfo struct {
+ DynamicData
+
+ Id int32 `xml:"id"`
+ Name string `xml:"name"`
+ Version string `xml:"version"`
+ Filename string `xml:"filename"`
+ OptionString string `xml:"optionString"`
+ Loaded bool `xml:"loaded"`
+ Enabled bool `xml:"enabled"`
+ UseCount int32 `xml:"useCount"`
+ ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection"`
+ WritableSection KernelModuleSectionInfo `xml:"writableSection"`
+ TextSection KernelModuleSectionInfo `xml:"textSection"`
+ DataSection KernelModuleSectionInfo `xml:"dataSection"`
+ BssSection KernelModuleSectionInfo `xml:"bssSection"`
+}
+
+func init() {
+ t["KernelModuleInfo"] = reflect.TypeOf((*KernelModuleInfo)(nil)).Elem()
+}
+
+type KernelModuleSectionInfo struct {
+ DynamicData
+
+ Address int64 `xml:"address"`
+ Length int32 `xml:"length,omitempty"`
+}
+
+func init() {
+ t["KernelModuleSectionInfo"] = reflect.TypeOf((*KernelModuleSectionInfo)(nil)).Elem()
+}
+
+type KeyAnyValue struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Value AnyType `xml:"value,typeattr"`
+}
+
+func init() {
+ t["KeyAnyValue"] = reflect.TypeOf((*KeyAnyValue)(nil)).Elem()
+}
+
+type KeyProviderId struct {
+ DynamicData
+
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["KeyProviderId"] = reflect.TypeOf((*KeyProviderId)(nil)).Elem()
+}
+
+type KeyValue struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["KeyValue"] = reflect.TypeOf((*KeyValue)(nil)).Elem()
+}
+
+type KmipClusterInfo struct {
+ DynamicData
+
+ ClusterId KeyProviderId `xml:"clusterId"`
+ Servers []KmipServerInfo `xml:"servers,omitempty"`
+ UseAsDefault bool `xml:"useAsDefault"`
+}
+
+func init() {
+ t["KmipClusterInfo"] = reflect.TypeOf((*KmipClusterInfo)(nil)).Elem()
+}
+
+type KmipServerInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Address string `xml:"address"`
+ Port int32 `xml:"port"`
+ ProxyAddress string `xml:"proxyAddress,omitempty"`
+ ProxyPort int32 `xml:"proxyPort,omitempty"`
+ Reconnect int32 `xml:"reconnect,omitempty"`
+ Protocol string `xml:"protocol,omitempty"`
+ Nbio int32 `xml:"nbio,omitempty"`
+ Timeout int32 `xml:"timeout,omitempty"`
+ UserName string `xml:"userName,omitempty"`
+}
+
+func init() {
+ t["KmipServerInfo"] = reflect.TypeOf((*KmipServerInfo)(nil)).Elem()
+}
+
+type KmipServerSpec struct {
+ DynamicData
+
+ ClusterId KeyProviderId `xml:"clusterId"`
+ Info KmipServerInfo `xml:"info"`
+ Password string `xml:"password,omitempty"`
+}
+
+func init() {
+ t["KmipServerSpec"] = reflect.TypeOf((*KmipServerSpec)(nil)).Elem()
+}
+
+type KmipServerStatus struct {
+ DynamicData
+
+ ClusterId KeyProviderId `xml:"clusterId"`
+ Name string `xml:"name"`
+ Status ManagedEntityStatus `xml:"status"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["KmipServerStatus"] = reflect.TypeOf((*KmipServerStatus)(nil)).Elem()
+}
+
+type LargeRDMConversionNotSupported struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["LargeRDMConversionNotSupported"] = reflect.TypeOf((*LargeRDMConversionNotSupported)(nil)).Elem()
+}
+
+type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported
+
+func init() {
+ t["LargeRDMConversionNotSupportedFault"] = reflect.TypeOf((*LargeRDMConversionNotSupportedFault)(nil)).Elem()
+}
+
+type LargeRDMNotSupportedOnDatastore struct {
+ VmConfigFault
+
+ Device string `xml:"device"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DatastoreName string `xml:"datastoreName"`
+}
+
+func init() {
+ t["LargeRDMNotSupportedOnDatastore"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastore)(nil)).Elem()
+}
+
+type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore
+
+func init() {
+ t["LargeRDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastoreFault)(nil)).Elem()
+}
+
+type LatencySensitivity struct {
+ DynamicData
+
+ Level LatencySensitivitySensitivityLevel `xml:"level"`
+ Sensitivity int32 `xml:"sensitivity,omitempty"`
+}
+
+func init() {
+ t["LatencySensitivity"] = reflect.TypeOf((*LatencySensitivity)(nil)).Elem()
+}
+
+type LeaveCurrentDomainRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["LeaveCurrentDomainRequestType"] = reflect.TypeOf((*LeaveCurrentDomainRequestType)(nil)).Elem()
+}
+
+type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType
+
+func init() {
+ t["LeaveCurrentDomain_Task"] = reflect.TypeOf((*LeaveCurrentDomain_Task)(nil)).Elem()
+}
+
+type LeaveCurrentDomain_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type LegacyNetworkInterfaceInUse struct {
+ CannotAccessNetwork
+}
+
+func init() {
+ t["LegacyNetworkInterfaceInUse"] = reflect.TypeOf((*LegacyNetworkInterfaceInUse)(nil)).Elem()
+}
+
+type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse
+
+func init() {
+ t["LegacyNetworkInterfaceInUseFault"] = reflect.TypeOf((*LegacyNetworkInterfaceInUseFault)(nil)).Elem()
+}
+
+type LicenseAssignmentFailed struct {
+ RuntimeFault
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["LicenseAssignmentFailed"] = reflect.TypeOf((*LicenseAssignmentFailed)(nil)).Elem()
+}
+
+type LicenseAssignmentFailedFault LicenseAssignmentFailed
+
+func init() {
+ t["LicenseAssignmentFailedFault"] = reflect.TypeOf((*LicenseAssignmentFailedFault)(nil)).Elem()
+}
+
+type LicenseAssignmentManagerLicenseAssignment struct {
+ DynamicData
+
+ EntityId string `xml:"entityId"`
+ Scope string `xml:"scope,omitempty"`
+ EntityDisplayName string `xml:"entityDisplayName,omitempty"`
+ AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense"`
+ Properties []KeyAnyValue `xml:"properties,omitempty"`
+}
+
+func init() {
+ t["LicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*LicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
+}
+
+type LicenseAvailabilityInfo struct {
+ DynamicData
+
+ Feature LicenseFeatureInfo `xml:"feature"`
+ Total int32 `xml:"total"`
+ Available int32 `xml:"available"`
+}
+
+func init() {
+ t["LicenseAvailabilityInfo"] = reflect.TypeOf((*LicenseAvailabilityInfo)(nil)).Elem()
+}
+
+type LicenseDiagnostics struct {
+ DynamicData
+
+ SourceLastChanged time.Time `xml:"sourceLastChanged"`
+ SourceLost string `xml:"sourceLost"`
+ SourceLatency float32 `xml:"sourceLatency"`
+ LicenseRequests string `xml:"licenseRequests"`
+ LicenseRequestFailures string `xml:"licenseRequestFailures"`
+ LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns"`
+ OpState LicenseManagerState `xml:"opState"`
+ LastStatusUpdate time.Time `xml:"lastStatusUpdate"`
+ OpFailureMessage string `xml:"opFailureMessage"`
+}
+
+func init() {
+ t["LicenseDiagnostics"] = reflect.TypeOf((*LicenseDiagnostics)(nil)).Elem()
+}
+
+type LicenseDowngradeDisallowed struct {
+ NotEnoughLicenses
+
+ Edition string `xml:"edition"`
+ EntityId string `xml:"entityId"`
+ Features []KeyAnyValue `xml:"features"`
+}
+
+func init() {
+ t["LicenseDowngradeDisallowed"] = reflect.TypeOf((*LicenseDowngradeDisallowed)(nil)).Elem()
+}
+
+type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed
+
+func init() {
+ t["LicenseDowngradeDisallowedFault"] = reflect.TypeOf((*LicenseDowngradeDisallowedFault)(nil)).Elem()
+}
+
+type LicenseEntityNotFound struct {
+ VimFault
+
+ EntityId string `xml:"entityId"`
+}
+
+func init() {
+ t["LicenseEntityNotFound"] = reflect.TypeOf((*LicenseEntityNotFound)(nil)).Elem()
+}
+
+type LicenseEntityNotFoundFault LicenseEntityNotFound
+
+func init() {
+ t["LicenseEntityNotFoundFault"] = reflect.TypeOf((*LicenseEntityNotFoundFault)(nil)).Elem()
+}
+
+type LicenseEvent struct {
+ Event
+}
+
+func init() {
+ t["LicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem()
+}
+
+type LicenseExpired struct {
+ NotEnoughLicenses
+
+ LicenseKey string `xml:"licenseKey"`
+}
+
+func init() {
+ t["LicenseExpired"] = reflect.TypeOf((*LicenseExpired)(nil)).Elem()
+}
+
+type LicenseExpiredEvent struct {
+ Event
+
+ Feature LicenseFeatureInfo `xml:"feature"`
+}
+
+func init() {
+ t["LicenseExpiredEvent"] = reflect.TypeOf((*LicenseExpiredEvent)(nil)).Elem()
+}
+
+type LicenseExpiredFault LicenseExpired
+
+func init() {
+ t["LicenseExpiredFault"] = reflect.TypeOf((*LicenseExpiredFault)(nil)).Elem()
+}
+
+type LicenseFeatureInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ FeatureName string `xml:"featureName"`
+ FeatureDescription string `xml:"featureDescription,omitempty"`
+ State LicenseFeatureInfoState `xml:"state,omitempty"`
+ CostUnit string `xml:"costUnit"`
+ SourceRestriction string `xml:"sourceRestriction,omitempty"`
+ DependentKey []string `xml:"dependentKey,omitempty"`
+ Edition *bool `xml:"edition"`
+ ExpiresOn *time.Time `xml:"expiresOn"`
+}
+
+func init() {
+ t["LicenseFeatureInfo"] = reflect.TypeOf((*LicenseFeatureInfo)(nil)).Elem()
+}
+
+type LicenseKeyEntityMismatch struct {
+ NotEnoughLicenses
+}
+
+func init() {
+ t["LicenseKeyEntityMismatch"] = reflect.TypeOf((*LicenseKeyEntityMismatch)(nil)).Elem()
+}
+
+type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch
+
+func init() {
+ t["LicenseKeyEntityMismatchFault"] = reflect.TypeOf((*LicenseKeyEntityMismatchFault)(nil)).Elem()
+}
+
+type LicenseManagerEvaluationInfo struct {
+ DynamicData
+
+ Properties []KeyAnyValue `xml:"properties"`
+}
+
+func init() {
+ t["LicenseManagerEvaluationInfo"] = reflect.TypeOf((*LicenseManagerEvaluationInfo)(nil)).Elem()
+}
+
+type LicenseManagerLicenseInfo struct {
+ DynamicData
+
+ LicenseKey string `xml:"licenseKey"`
+ EditionKey string `xml:"editionKey"`
+ Name string `xml:"name"`
+ Total int32 `xml:"total"`
+ Used int32 `xml:"used,omitempty"`
+ CostUnit string `xml:"costUnit"`
+ Properties []KeyAnyValue `xml:"properties,omitempty"`
+ Labels []KeyValue `xml:"labels,omitempty"`
+}
+
+func init() {
+ t["LicenseManagerLicenseInfo"] = reflect.TypeOf((*LicenseManagerLicenseInfo)(nil)).Elem()
+}
+
+type LicenseNonComplianceEvent struct {
+ LicenseEvent
+
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["LicenseNonComplianceEvent"] = reflect.TypeOf((*LicenseNonComplianceEvent)(nil)).Elem()
+}
+
+type LicenseReservationInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ State LicenseReservationInfoState `xml:"state"`
+ Required int32 `xml:"required"`
+}
+
+func init() {
+ t["LicenseReservationInfo"] = reflect.TypeOf((*LicenseReservationInfo)(nil)).Elem()
+}
+
+type LicenseRestricted struct {
+ NotEnoughLicenses
+}
+
+func init() {
+ t["LicenseRestricted"] = reflect.TypeOf((*LicenseRestricted)(nil)).Elem()
+}
+
+type LicenseRestrictedEvent struct {
+ LicenseEvent
+}
+
+func init() {
+ t["LicenseRestrictedEvent"] = reflect.TypeOf((*LicenseRestrictedEvent)(nil)).Elem()
+}
+
+type LicenseRestrictedFault LicenseRestricted
+
+func init() {
+ t["LicenseRestrictedFault"] = reflect.TypeOf((*LicenseRestrictedFault)(nil)).Elem()
+}
+
+type LicenseServerAvailableEvent struct {
+ LicenseEvent
+
+ LicenseServer string `xml:"licenseServer"`
+}
+
+func init() {
+ t["LicenseServerAvailableEvent"] = reflect.TypeOf((*LicenseServerAvailableEvent)(nil)).Elem()
+}
+
+type LicenseServerSource struct {
+ LicenseSource
+
+ LicenseServer string `xml:"licenseServer"`
+}
+
+func init() {
+ t["LicenseServerSource"] = reflect.TypeOf((*LicenseServerSource)(nil)).Elem()
+}
+
+type LicenseServerUnavailable struct {
+ VimFault
+
+ LicenseServer string `xml:"licenseServer"`
+}
+
+func init() {
+ t["LicenseServerUnavailable"] = reflect.TypeOf((*LicenseServerUnavailable)(nil)).Elem()
+}
+
+type LicenseServerUnavailableEvent struct {
+ LicenseEvent
+
+ LicenseServer string `xml:"licenseServer"`
+}
+
+func init() {
+ t["LicenseServerUnavailableEvent"] = reflect.TypeOf((*LicenseServerUnavailableEvent)(nil)).Elem()
+}
+
+type LicenseServerUnavailableFault LicenseServerUnavailable
+
+func init() {
+ t["LicenseServerUnavailableFault"] = reflect.TypeOf((*LicenseServerUnavailableFault)(nil)).Elem()
+}
+
+type LicenseSource struct {
+ DynamicData
+}
+
+func init() {
+ t["LicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem()
+}
+
+type LicenseSourceUnavailable struct {
+ NotEnoughLicenses
+
+ LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr"`
+}
+
+func init() {
+ t["LicenseSourceUnavailable"] = reflect.TypeOf((*LicenseSourceUnavailable)(nil)).Elem()
+}
+
+type LicenseSourceUnavailableFault LicenseSourceUnavailable
+
+func init() {
+ t["LicenseSourceUnavailableFault"] = reflect.TypeOf((*LicenseSourceUnavailableFault)(nil)).Elem()
+}
+
+type LicenseUsageInfo struct {
+ DynamicData
+
+ Source BaseLicenseSource `xml:"source,typeattr"`
+ SourceAvailable bool `xml:"sourceAvailable"`
+ ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty"`
+ FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty"`
+}
+
+func init() {
+ t["LicenseUsageInfo"] = reflect.TypeOf((*LicenseUsageInfo)(nil)).Elem()
+}
+
+type LimitExceeded struct {
+ VimFault
+
+ Property string `xml:"property,omitempty"`
+ Limit int32 `xml:"limit,omitempty"`
+}
+
+func init() {
+ t["LimitExceeded"] = reflect.TypeOf((*LimitExceeded)(nil)).Elem()
+}
+
+type LimitExceededFault LimitExceeded
+
+func init() {
+ t["LimitExceededFault"] = reflect.TypeOf((*LimitExceededFault)(nil)).Elem()
+}
+
+type LinkDiscoveryProtocolConfig struct {
+ DynamicData
+
+ Protocol string `xml:"protocol"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["LinkDiscoveryProtocolConfig"] = reflect.TypeOf((*LinkDiscoveryProtocolConfig)(nil)).Elem()
+}
+
+type LinkLayerDiscoveryProtocolInfo struct {
+ DynamicData
+
+ ChassisId string `xml:"chassisId"`
+ PortId string `xml:"portId"`
+ TimeToLive int32 `xml:"timeToLive"`
+ Parameter []KeyAnyValue `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["LinkLayerDiscoveryProtocolInfo"] = reflect.TypeOf((*LinkLayerDiscoveryProtocolInfo)(nil)).Elem()
+}
+
+type LinkProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["LinkProfile"] = reflect.TypeOf((*LinkProfile)(nil)).Elem()
+}
+
+type LinuxVolumeNotClean struct {
+ CustomizationFault
+}
+
+func init() {
+ t["LinuxVolumeNotClean"] = reflect.TypeOf((*LinuxVolumeNotClean)(nil)).Elem()
+}
+
+type LinuxVolumeNotCleanFault LinuxVolumeNotClean
+
+func init() {
+ t["LinuxVolumeNotCleanFault"] = reflect.TypeOf((*LinuxVolumeNotCleanFault)(nil)).Elem()
+}
+
+type ListCACertificateRevocationLists ListCACertificateRevocationListsRequestType
+
+func init() {
+ t["ListCACertificateRevocationLists"] = reflect.TypeOf((*ListCACertificateRevocationLists)(nil)).Elem()
+}
+
+type ListCACertificateRevocationListsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ListCACertificateRevocationListsRequestType"] = reflect.TypeOf((*ListCACertificateRevocationListsRequestType)(nil)).Elem()
+}
+
+type ListCACertificateRevocationListsResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type ListCACertificates ListCACertificatesRequestType
+
+func init() {
+ t["ListCACertificates"] = reflect.TypeOf((*ListCACertificates)(nil)).Elem()
+}
+
+type ListCACertificatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ListCACertificatesRequestType"] = reflect.TypeOf((*ListCACertificatesRequestType)(nil)).Elem()
+}
+
+type ListCACertificatesResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type ListFilesInGuest ListFilesInGuestRequestType
+
+func init() {
+ t["ListFilesInGuest"] = reflect.TypeOf((*ListFilesInGuest)(nil)).Elem()
+}
+
+type ListFilesInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ FilePath string `xml:"filePath"`
+ Index int32 `xml:"index,omitempty"`
+ MaxResults int32 `xml:"maxResults,omitempty"`
+ MatchPattern string `xml:"matchPattern,omitempty"`
+}
+
+func init() {
+ t["ListFilesInGuestRequestType"] = reflect.TypeOf((*ListFilesInGuestRequestType)(nil)).Elem()
+}
+
+type ListFilesInGuestResponse struct {
+ Returnval GuestListFileInfo `xml:"returnval"`
+}
+
+type ListGuestAliases ListGuestAliasesRequestType
+
+func init() {
+ t["ListGuestAliases"] = reflect.TypeOf((*ListGuestAliases)(nil)).Elem()
+}
+
+type ListGuestAliasesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Username string `xml:"username"`
+}
+
+func init() {
+ t["ListGuestAliasesRequestType"] = reflect.TypeOf((*ListGuestAliasesRequestType)(nil)).Elem()
+}
+
+type ListGuestAliasesResponse struct {
+ Returnval []GuestAliases `xml:"returnval,omitempty"`
+}
+
+type ListGuestMappedAliases ListGuestMappedAliasesRequestType
+
+func init() {
+ t["ListGuestMappedAliases"] = reflect.TypeOf((*ListGuestMappedAliases)(nil)).Elem()
+}
+
+type ListGuestMappedAliasesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+}
+
+func init() {
+ t["ListGuestMappedAliasesRequestType"] = reflect.TypeOf((*ListGuestMappedAliasesRequestType)(nil)).Elem()
+}
+
+type ListGuestMappedAliasesResponse struct {
+ Returnval []GuestMappedAliases `xml:"returnval,omitempty"`
+}
+
+type ListKeys ListKeysRequestType
+
+func init() {
+ t["ListKeys"] = reflect.TypeOf((*ListKeys)(nil)).Elem()
+}
+
+type ListKeysRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Limit int32 `xml:"limit,omitempty"`
+}
+
+func init() {
+ t["ListKeysRequestType"] = reflect.TypeOf((*ListKeysRequestType)(nil)).Elem()
+}
+
+type ListKeysResponse struct {
+ Returnval []CryptoKeyId `xml:"returnval,omitempty"`
+}
+
+type ListKmipServers ListKmipServersRequestType
+
+func init() {
+ t["ListKmipServers"] = reflect.TypeOf((*ListKmipServers)(nil)).Elem()
+}
+
+type ListKmipServersRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Limit int32 `xml:"limit,omitempty"`
+}
+
+func init() {
+ t["ListKmipServersRequestType"] = reflect.TypeOf((*ListKmipServersRequestType)(nil)).Elem()
+}
+
+type ListKmipServersResponse struct {
+ Returnval []KmipClusterInfo `xml:"returnval,omitempty"`
+}
+
+type ListProcessesInGuest ListProcessesInGuestRequestType
+
+func init() {
+ t["ListProcessesInGuest"] = reflect.TypeOf((*ListProcessesInGuest)(nil)).Elem()
+}
+
+type ListProcessesInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Pids []int64 `xml:"pids,omitempty"`
+}
+
+func init() {
+ t["ListProcessesInGuestRequestType"] = reflect.TypeOf((*ListProcessesInGuestRequestType)(nil)).Elem()
+}
+
+type ListProcessesInGuestResponse struct {
+ Returnval []GuestProcessInfo `xml:"returnval,omitempty"`
+}
+
+type ListRegistryKeysInGuest ListRegistryKeysInGuestRequestType
+
+func init() {
+ t["ListRegistryKeysInGuest"] = reflect.TypeOf((*ListRegistryKeysInGuest)(nil)).Elem()
+}
+
+type ListRegistryKeysInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ Recursive bool `xml:"recursive"`
+ MatchPattern string `xml:"matchPattern,omitempty"`
+}
+
+func init() {
+ t["ListRegistryKeysInGuestRequestType"] = reflect.TypeOf((*ListRegistryKeysInGuestRequestType)(nil)).Elem()
+}
+
+type ListRegistryKeysInGuestResponse struct {
+ Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty"`
+}
+
+type ListRegistryValuesInGuest ListRegistryValuesInGuestRequestType
+
+func init() {
+ t["ListRegistryValuesInGuest"] = reflect.TypeOf((*ListRegistryValuesInGuest)(nil)).Elem()
+}
+
+type ListRegistryValuesInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ KeyName GuestRegKeyNameSpec `xml:"keyName"`
+ ExpandStrings bool `xml:"expandStrings"`
+ MatchPattern string `xml:"matchPattern,omitempty"`
+}
+
+func init() {
+ t["ListRegistryValuesInGuestRequestType"] = reflect.TypeOf((*ListRegistryValuesInGuestRequestType)(nil)).Elem()
+}
+
+type ListRegistryValuesInGuestResponse struct {
+ Returnval []GuestRegValueSpec `xml:"returnval,omitempty"`
+}
+
+type ListSmartCardTrustAnchors ListSmartCardTrustAnchorsRequestType
+
+func init() {
+ t["ListSmartCardTrustAnchors"] = reflect.TypeOf((*ListSmartCardTrustAnchors)(nil)).Elem()
+}
+
+type ListSmartCardTrustAnchorsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ListSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ListSmartCardTrustAnchorsRequestType)(nil)).Elem()
+}
+
+type ListSmartCardTrustAnchorsResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType
+
+func init() {
+ t["ListTagsAttachedToVStorageObject"] = reflect.TypeOf((*ListTagsAttachedToVStorageObject)(nil)).Elem()
+}
+
+type ListTagsAttachedToVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+}
+
+func init() {
+ t["ListTagsAttachedToVStorageObjectRequestType"] = reflect.TypeOf((*ListTagsAttachedToVStorageObjectRequestType)(nil)).Elem()
+}
+
+type ListTagsAttachedToVStorageObjectResponse struct {
+ Returnval []VslmTagEntry `xml:"returnval,omitempty"`
+}
+
+type ListVStorageObject ListVStorageObjectRequestType
+
+func init() {
+ t["ListVStorageObject"] = reflect.TypeOf((*ListVStorageObject)(nil)).Elem()
+}
+
+type ListVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["ListVStorageObjectRequestType"] = reflect.TypeOf((*ListVStorageObjectRequestType)(nil)).Elem()
+}
+
+type ListVStorageObjectResponse struct {
+ Returnval []ID `xml:"returnval,omitempty"`
+}
+
+type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType
+
+func init() {
+ t["ListVStorageObjectsAttachedToTag"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTag)(nil)).Elem()
+}
+
+type ListVStorageObjectsAttachedToTagRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Category string `xml:"category"`
+ Tag string `xml:"tag"`
+}
+
+func init() {
+ t["ListVStorageObjectsAttachedToTagRequestType"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTagRequestType)(nil)).Elem()
+}
+
+type ListVStorageObjectsAttachedToTagResponse struct {
+ Returnval []ID `xml:"returnval,omitempty"`
+}
+
+type LocalDatastoreCreatedEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+ DatastoreUrl string `xml:"datastoreUrl,omitempty"`
+}
+
+func init() {
+ t["LocalDatastoreCreatedEvent"] = reflect.TypeOf((*LocalDatastoreCreatedEvent)(nil)).Elem()
+}
+
+type LocalDatastoreInfo struct {
+ DatastoreInfo
+
+ Path string `xml:"path,omitempty"`
+}
+
+func init() {
+ t["LocalDatastoreInfo"] = reflect.TypeOf((*LocalDatastoreInfo)(nil)).Elem()
+}
+
+type LocalLicenseSource struct {
+ LicenseSource
+
+ LicenseKeys string `xml:"licenseKeys"`
+}
+
+func init() {
+ t["LocalLicenseSource"] = reflect.TypeOf((*LocalLicenseSource)(nil)).Elem()
+}
+
+type LocalTSMEnabledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["LocalTSMEnabledEvent"] = reflect.TypeOf((*LocalTSMEnabledEvent)(nil)).Elem()
+}
+
+type LocalizableMessage struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Arg []KeyAnyValue `xml:"arg,omitempty"`
+ Message string `xml:"message,omitempty"`
+}
+
+func init() {
+ t["LocalizableMessage"] = reflect.TypeOf((*LocalizableMessage)(nil)).Elem()
+}
+
+type LocalizationManagerMessageCatalog struct {
+ DynamicData
+
+ ModuleName string `xml:"moduleName"`
+ CatalogName string `xml:"catalogName"`
+ Locale string `xml:"locale"`
+ CatalogUri string `xml:"catalogUri"`
+ LastModified *time.Time `xml:"lastModified"`
+ Md5sum string `xml:"md5sum,omitempty"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["LocalizationManagerMessageCatalog"] = reflect.TypeOf((*LocalizationManagerMessageCatalog)(nil)).Elem()
+}
+
+type LocalizedMethodFault struct {
+ DynamicData
+
+ Fault BaseMethodFault `xml:"fault,typeattr"`
+ LocalizedMessage string `xml:"localizedMessage,omitempty"`
+}
+
+func init() {
+ t["LocalizedMethodFault"] = reflect.TypeOf((*LocalizedMethodFault)(nil)).Elem()
+}
+
+type LockerMisconfiguredEvent struct {
+ Event
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+}
+
+func init() {
+ t["LockerMisconfiguredEvent"] = reflect.TypeOf((*LockerMisconfiguredEvent)(nil)).Elem()
+}
+
+type LockerReconfiguredEvent struct {
+ Event
+
+ OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty"`
+ NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty"`
+}
+
+func init() {
+ t["LockerReconfiguredEvent"] = reflect.TypeOf((*LockerReconfiguredEvent)(nil)).Elem()
+}
+
+type LogBundlingFailed struct {
+ VimFault
+}
+
+func init() {
+ t["LogBundlingFailed"] = reflect.TypeOf((*LogBundlingFailed)(nil)).Elem()
+}
+
+type LogBundlingFailedFault LogBundlingFailed
+
+func init() {
+ t["LogBundlingFailedFault"] = reflect.TypeOf((*LogBundlingFailedFault)(nil)).Elem()
+}
+
+type LogUserEvent LogUserEventRequestType
+
+func init() {
+ t["LogUserEvent"] = reflect.TypeOf((*LogUserEvent)(nil)).Elem()
+}
+
+type LogUserEventRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Msg string `xml:"msg"`
+}
+
+func init() {
+ t["LogUserEventRequestType"] = reflect.TypeOf((*LogUserEventRequestType)(nil)).Elem()
+}
+
+type LogUserEventResponse struct {
+}
+
+type Login LoginRequestType
+
+func init() {
+ t["Login"] = reflect.TypeOf((*Login)(nil)).Elem()
+}
+
+type LoginBySSPI LoginBySSPIRequestType
+
+func init() {
+ t["LoginBySSPI"] = reflect.TypeOf((*LoginBySSPI)(nil)).Elem()
+}
+
+type LoginBySSPIRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Base64Token string `xml:"base64Token"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["LoginBySSPIRequestType"] = reflect.TypeOf((*LoginBySSPIRequestType)(nil)).Elem()
+}
+
+type LoginBySSPIResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type LoginByToken LoginByTokenRequestType
+
+func init() {
+ t["LoginByToken"] = reflect.TypeOf((*LoginByToken)(nil)).Elem()
+}
+
+type LoginByTokenRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["LoginByTokenRequestType"] = reflect.TypeOf((*LoginByTokenRequestType)(nil)).Elem()
+}
+
+type LoginByTokenResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type LoginExtensionByCertificate LoginExtensionByCertificateRequestType
+
+func init() {
+ t["LoginExtensionByCertificate"] = reflect.TypeOf((*LoginExtensionByCertificate)(nil)).Elem()
+}
+
+type LoginExtensionByCertificateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["LoginExtensionByCertificateRequestType"] = reflect.TypeOf((*LoginExtensionByCertificateRequestType)(nil)).Elem()
+}
+
+type LoginExtensionByCertificateResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type LoginExtensionBySubjectName LoginExtensionBySubjectNameRequestType
+
+func init() {
+ t["LoginExtensionBySubjectName"] = reflect.TypeOf((*LoginExtensionBySubjectName)(nil)).Elem()
+}
+
+type LoginExtensionBySubjectNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["LoginExtensionBySubjectNameRequestType"] = reflect.TypeOf((*LoginExtensionBySubjectNameRequestType)(nil)).Elem()
+}
+
+type LoginExtensionBySubjectNameResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type LoginRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UserName string `xml:"userName"`
+ Password string `xml:"password"`
+ Locale string `xml:"locale,omitempty"`
+}
+
+func init() {
+ t["LoginRequestType"] = reflect.TypeOf((*LoginRequestType)(nil)).Elem()
+}
+
+type LoginResponse struct {
+ Returnval UserSession `xml:"returnval"`
+}
+
+type Logout LogoutRequestType
+
+func init() {
+ t["Logout"] = reflect.TypeOf((*Logout)(nil)).Elem()
+}
+
+type LogoutRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["LogoutRequestType"] = reflect.TypeOf((*LogoutRequestType)(nil)).Elem()
+}
+
+type LogoutResponse struct {
+}
+
+type LongOption struct {
+ OptionType
+
+ Min int64 `xml:"min"`
+ Max int64 `xml:"max"`
+ DefaultValue int64 `xml:"defaultValue"`
+}
+
+func init() {
+ t["LongOption"] = reflect.TypeOf((*LongOption)(nil)).Elem()
+}
+
+type LongPolicy struct {
+ InheritablePolicy
+
+ Value int64 `xml:"value,omitempty"`
+}
+
+func init() {
+ t["LongPolicy"] = reflect.TypeOf((*LongPolicy)(nil)).Elem()
+}
+
+type LookupDvPortGroup LookupDvPortGroupRequestType
+
+func init() {
+ t["LookupDvPortGroup"] = reflect.TypeOf((*LookupDvPortGroup)(nil)).Elem()
+}
+
+type LookupDvPortGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PortgroupKey string `xml:"portgroupKey"`
+}
+
+func init() {
+ t["LookupDvPortGroupRequestType"] = reflect.TypeOf((*LookupDvPortGroupRequestType)(nil)).Elem()
+}
+
+type LookupDvPortGroupResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type LookupVmOverheadMemory LookupVmOverheadMemoryRequestType
+
+func init() {
+ t["LookupVmOverheadMemory"] = reflect.TypeOf((*LookupVmOverheadMemory)(nil)).Elem()
+}
+
+type LookupVmOverheadMemoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["LookupVmOverheadMemoryRequestType"] = reflect.TypeOf((*LookupVmOverheadMemoryRequestType)(nil)).Elem()
+}
+
+type LookupVmOverheadMemoryResponse struct {
+ Returnval int64 `xml:"returnval"`
+}
+
+type MacAddress struct {
+ NegatableExpression
+}
+
+func init() {
+ t["MacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem()
+}
+
+type MacRange struct {
+ MacAddress
+
+ Address string `xml:"address"`
+ Mask string `xml:"mask"`
+}
+
+func init() {
+ t["MacRange"] = reflect.TypeOf((*MacRange)(nil)).Elem()
+}
+
+type MaintenanceModeFileMove struct {
+ MigrationFault
+}
+
+func init() {
+ t["MaintenanceModeFileMove"] = reflect.TypeOf((*MaintenanceModeFileMove)(nil)).Elem()
+}
+
+type MaintenanceModeFileMoveFault MaintenanceModeFileMove
+
+func init() {
+ t["MaintenanceModeFileMoveFault"] = reflect.TypeOf((*MaintenanceModeFileMoveFault)(nil)).Elem()
+}
+
+type MakeDirectory MakeDirectoryRequestType
+
+func init() {
+ t["MakeDirectory"] = reflect.TypeOf((*MakeDirectory)(nil)).Elem()
+}
+
+type MakeDirectoryInGuest MakeDirectoryInGuestRequestType
+
+func init() {
+ t["MakeDirectoryInGuest"] = reflect.TypeOf((*MakeDirectoryInGuest)(nil)).Elem()
+}
+
+type MakeDirectoryInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ DirectoryPath string `xml:"directoryPath"`
+ CreateParentDirectories bool `xml:"createParentDirectories"`
+}
+
+func init() {
+ t["MakeDirectoryInGuestRequestType"] = reflect.TypeOf((*MakeDirectoryInGuestRequestType)(nil)).Elem()
+}
+
+type MakeDirectoryInGuestResponse struct {
+}
+
+type MakeDirectoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ CreateParentDirectories *bool `xml:"createParentDirectories"`
+}
+
+func init() {
+ t["MakeDirectoryRequestType"] = reflect.TypeOf((*MakeDirectoryRequestType)(nil)).Elem()
+}
+
+type MakeDirectoryResponse struct {
+}
+
+type MakePrimaryVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["MakePrimaryVMRequestType"] = reflect.TypeOf((*MakePrimaryVMRequestType)(nil)).Elem()
+}
+
+type MakePrimaryVM_Task MakePrimaryVMRequestType
+
+func init() {
+ t["MakePrimaryVM_Task"] = reflect.TypeOf((*MakePrimaryVM_Task)(nil)).Elem()
+}
+
+type MakePrimaryVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ManagedByInfo struct {
+ DynamicData
+
+ ExtensionKey string `xml:"extensionKey"`
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["ManagedByInfo"] = reflect.TypeOf((*ManagedByInfo)(nil)).Elem()
+}
+
+type ManagedEntityEventArgument struct {
+ EntityEventArgument
+
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["ManagedEntityEventArgument"] = reflect.TypeOf((*ManagedEntityEventArgument)(nil)).Elem()
+}
+
+type ManagedObjectNotFound struct {
+ RuntimeFault
+
+ Obj ManagedObjectReference `xml:"obj"`
+}
+
+func init() {
+ t["ManagedObjectNotFound"] = reflect.TypeOf((*ManagedObjectNotFound)(nil)).Elem()
+}
+
+type ManagedObjectNotFoundFault ManagedObjectNotFound
+
+func init() {
+ t["ManagedObjectNotFoundFault"] = reflect.TypeOf((*ManagedObjectNotFoundFault)(nil)).Elem()
+}
+
+type ManagedObjectReference struct {
+ Type string `xml:"type,attr"`
+ Value string `xml:",chardata"`
+}
+
+func init() {
+ t["ManagedObjectReference"] = reflect.TypeOf((*ManagedObjectReference)(nil)).Elem()
+}
+
+type MarkAsLocalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuid string `xml:"scsiDiskUuid"`
+}
+
+func init() {
+ t["MarkAsLocalRequestType"] = reflect.TypeOf((*MarkAsLocalRequestType)(nil)).Elem()
+}
+
+type MarkAsLocal_Task MarkAsLocalRequestType
+
+func init() {
+ t["MarkAsLocal_Task"] = reflect.TypeOf((*MarkAsLocal_Task)(nil)).Elem()
+}
+
+type MarkAsLocal_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MarkAsNonLocalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuid string `xml:"scsiDiskUuid"`
+}
+
+func init() {
+ t["MarkAsNonLocalRequestType"] = reflect.TypeOf((*MarkAsNonLocalRequestType)(nil)).Elem()
+}
+
+type MarkAsNonLocal_Task MarkAsNonLocalRequestType
+
+func init() {
+ t["MarkAsNonLocal_Task"] = reflect.TypeOf((*MarkAsNonLocal_Task)(nil)).Elem()
+}
+
+type MarkAsNonLocal_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MarkAsNonSsdRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuid string `xml:"scsiDiskUuid"`
+}
+
+func init() {
+ t["MarkAsNonSsdRequestType"] = reflect.TypeOf((*MarkAsNonSsdRequestType)(nil)).Elem()
+}
+
+type MarkAsNonSsd_Task MarkAsNonSsdRequestType
+
+func init() {
+ t["MarkAsNonSsd_Task"] = reflect.TypeOf((*MarkAsNonSsd_Task)(nil)).Elem()
+}
+
+type MarkAsNonSsd_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MarkAsSsdRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuid string `xml:"scsiDiskUuid"`
+}
+
+func init() {
+ t["MarkAsSsdRequestType"] = reflect.TypeOf((*MarkAsSsdRequestType)(nil)).Elem()
+}
+
+type MarkAsSsd_Task MarkAsSsdRequestType
+
+func init() {
+ t["MarkAsSsd_Task"] = reflect.TypeOf((*MarkAsSsd_Task)(nil)).Elem()
+}
+
+type MarkAsSsd_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MarkAsTemplate MarkAsTemplateRequestType
+
+func init() {
+ t["MarkAsTemplate"] = reflect.TypeOf((*MarkAsTemplate)(nil)).Elem()
+}
+
+type MarkAsTemplateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["MarkAsTemplateRequestType"] = reflect.TypeOf((*MarkAsTemplateRequestType)(nil)).Elem()
+}
+
+type MarkAsTemplateResponse struct {
+}
+
+type MarkAsVirtualMachine MarkAsVirtualMachineRequestType
+
+func init() {
+ t["MarkAsVirtualMachine"] = reflect.TypeOf((*MarkAsVirtualMachine)(nil)).Elem()
+}
+
+type MarkAsVirtualMachineRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pool ManagedObjectReference `xml:"pool"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["MarkAsVirtualMachineRequestType"] = reflect.TypeOf((*MarkAsVirtualMachineRequestType)(nil)).Elem()
+}
+
+type MarkAsVirtualMachineResponse struct {
+}
+
+type MarkDefault MarkDefaultRequestType
+
+func init() {
+ t["MarkDefault"] = reflect.TypeOf((*MarkDefault)(nil)).Elem()
+}
+
+type MarkDefaultRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ClusterId KeyProviderId `xml:"clusterId"`
+}
+
+func init() {
+ t["MarkDefaultRequestType"] = reflect.TypeOf((*MarkDefaultRequestType)(nil)).Elem()
+}
+
+type MarkDefaultResponse struct {
+}
+
+type MarkForRemoval MarkForRemovalRequestType
+
+func init() {
+ t["MarkForRemoval"] = reflect.TypeOf((*MarkForRemoval)(nil)).Elem()
+}
+
+type MarkForRemovalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HbaName string `xml:"hbaName"`
+ Remove bool `xml:"remove"`
+}
+
+func init() {
+ t["MarkForRemovalRequestType"] = reflect.TypeOf((*MarkForRemovalRequestType)(nil)).Elem()
+}
+
+type MarkForRemovalResponse struct {
+}
+
+type MemoryFileFormatNotSupportedByDatastore struct {
+ UnsupportedDatastore
+
+ DatastoreName string `xml:"datastoreName"`
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["MemoryFileFormatNotSupportedByDatastore"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastore)(nil)).Elem()
+}
+
+type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore
+
+func init() {
+ t["MemoryFileFormatNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastoreFault)(nil)).Elem()
+}
+
+type MemoryHotPlugNotSupported struct {
+ VmConfigFault
+}
+
+func init() {
+ t["MemoryHotPlugNotSupported"] = reflect.TypeOf((*MemoryHotPlugNotSupported)(nil)).Elem()
+}
+
+type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported
+
+func init() {
+ t["MemoryHotPlugNotSupportedFault"] = reflect.TypeOf((*MemoryHotPlugNotSupportedFault)(nil)).Elem()
+}
+
+type MemorySizeNotRecommended struct {
+ VirtualHardwareCompatibilityIssue
+
+ MemorySizeMB int32 `xml:"memorySizeMB"`
+ MinMemorySizeMB int32 `xml:"minMemorySizeMB"`
+ MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"`
+}
+
+func init() {
+ t["MemorySizeNotRecommended"] = reflect.TypeOf((*MemorySizeNotRecommended)(nil)).Elem()
+}
+
+type MemorySizeNotRecommendedFault MemorySizeNotRecommended
+
+func init() {
+ t["MemorySizeNotRecommendedFault"] = reflect.TypeOf((*MemorySizeNotRecommendedFault)(nil)).Elem()
+}
+
+type MemorySizeNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ MemorySizeMB int32 `xml:"memorySizeMB"`
+ MinMemorySizeMB int32 `xml:"minMemorySizeMB"`
+ MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"`
+}
+
+func init() {
+ t["MemorySizeNotSupported"] = reflect.TypeOf((*MemorySizeNotSupported)(nil)).Elem()
+}
+
+type MemorySizeNotSupportedByDatastore struct {
+ VirtualHardwareCompatibilityIssue
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ MemorySizeMB int32 `xml:"memorySizeMB"`
+ MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"`
+}
+
+func init() {
+ t["MemorySizeNotSupportedByDatastore"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastore)(nil)).Elem()
+}
+
+type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore
+
+func init() {
+ t["MemorySizeNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastoreFault)(nil)).Elem()
+}
+
+type MemorySizeNotSupportedFault MemorySizeNotSupported
+
+func init() {
+ t["MemorySizeNotSupportedFault"] = reflect.TypeOf((*MemorySizeNotSupportedFault)(nil)).Elem()
+}
+
+type MemorySnapshotOnIndependentDisk struct {
+ SnapshotFault
+}
+
+func init() {
+ t["MemorySnapshotOnIndependentDisk"] = reflect.TypeOf((*MemorySnapshotOnIndependentDisk)(nil)).Elem()
+}
+
+type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk
+
+func init() {
+ t["MemorySnapshotOnIndependentDiskFault"] = reflect.TypeOf((*MemorySnapshotOnIndependentDiskFault)(nil)).Elem()
+}
+
+type MergeDvsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dvs ManagedObjectReference `xml:"dvs"`
+}
+
+func init() {
+ t["MergeDvsRequestType"] = reflect.TypeOf((*MergeDvsRequestType)(nil)).Elem()
+}
+
+type MergeDvs_Task MergeDvsRequestType
+
+func init() {
+ t["MergeDvs_Task"] = reflect.TypeOf((*MergeDvs_Task)(nil)).Elem()
+}
+
+type MergeDvs_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MergePermissions MergePermissionsRequestType
+
+func init() {
+ t["MergePermissions"] = reflect.TypeOf((*MergePermissions)(nil)).Elem()
+}
+
+type MergePermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SrcRoleId int32 `xml:"srcRoleId"`
+ DstRoleId int32 `xml:"dstRoleId"`
+}
+
+func init() {
+ t["MergePermissionsRequestType"] = reflect.TypeOf((*MergePermissionsRequestType)(nil)).Elem()
+}
+
+type MergePermissionsResponse struct {
+}
+
+type MethodAction struct {
+ Action
+
+ Name string `xml:"name"`
+ Argument []MethodActionArgument `xml:"argument,omitempty"`
+}
+
+func init() {
+ t["MethodAction"] = reflect.TypeOf((*MethodAction)(nil)).Elem()
+}
+
+type MethodActionArgument struct {
+ DynamicData
+
+ Value AnyType `xml:"value,typeattr"`
+}
+
+func init() {
+ t["MethodActionArgument"] = reflect.TypeOf((*MethodActionArgument)(nil)).Elem()
+}
+
+type MethodAlreadyDisabledFault struct {
+ RuntimeFault
+
+ SourceId string `xml:"sourceId"`
+}
+
+func init() {
+ t["MethodAlreadyDisabledFault"] = reflect.TypeOf((*MethodAlreadyDisabledFault)(nil)).Elem()
+}
+
+type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault
+
+func init() {
+ t["MethodAlreadyDisabledFaultFault"] = reflect.TypeOf((*MethodAlreadyDisabledFaultFault)(nil)).Elem()
+}
+
+type MethodDescription struct {
+ Description
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["MethodDescription"] = reflect.TypeOf((*MethodDescription)(nil)).Elem()
+}
+
+type MethodDisabled struct {
+ RuntimeFault
+
+ Source string `xml:"source,omitempty"`
+}
+
+func init() {
+ t["MethodDisabled"] = reflect.TypeOf((*MethodDisabled)(nil)).Elem()
+}
+
+type MethodDisabledFault MethodDisabled
+
+func init() {
+ t["MethodDisabledFault"] = reflect.TypeOf((*MethodDisabledFault)(nil)).Elem()
+}
+
+type MethodFault struct {
+ FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty"`
+ FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty"`
+}
+
+func init() {
+ t["MethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem()
+}
+
+type MethodFaultFault BaseMethodFault
+
+func init() {
+ t["MethodFaultFault"] = reflect.TypeOf((*MethodFaultFault)(nil)).Elem()
+}
+
+type MethodNotFound struct {
+ InvalidRequest
+
+ Receiver ManagedObjectReference `xml:"receiver"`
+ Method string `xml:"method"`
+}
+
+func init() {
+ t["MethodNotFound"] = reflect.TypeOf((*MethodNotFound)(nil)).Elem()
+}
+
+type MethodNotFoundFault MethodNotFound
+
+func init() {
+ t["MethodNotFoundFault"] = reflect.TypeOf((*MethodNotFoundFault)(nil)).Elem()
+}
+
+type MetricAlarmExpression struct {
+ AlarmExpression
+
+ Operator MetricAlarmOperator `xml:"operator"`
+ Type string `xml:"type"`
+ Metric PerfMetricId `xml:"metric"`
+ Yellow int32 `xml:"yellow,omitempty"`
+ YellowInterval int32 `xml:"yellowInterval,omitempty"`
+ Red int32 `xml:"red,omitempty"`
+ RedInterval int32 `xml:"redInterval,omitempty"`
+}
+
+func init() {
+ t["MetricAlarmExpression"] = reflect.TypeOf((*MetricAlarmExpression)(nil)).Elem()
+}
+
+type MigrateVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Priority VirtualMachineMovePriority `xml:"priority"`
+ State VirtualMachinePowerState `xml:"state,omitempty"`
+}
+
+func init() {
+ t["MigrateVMRequestType"] = reflect.TypeOf((*MigrateVMRequestType)(nil)).Elem()
+}
+
+type MigrateVM_Task MigrateVMRequestType
+
+func init() {
+ t["MigrateVM_Task"] = reflect.TypeOf((*MigrateVM_Task)(nil)).Elem()
+}
+
+type MigrateVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MigrationDisabled struct {
+ MigrationFault
+}
+
+func init() {
+ t["MigrationDisabled"] = reflect.TypeOf((*MigrationDisabled)(nil)).Elem()
+}
+
+type MigrationDisabledFault MigrationDisabled
+
+func init() {
+ t["MigrationDisabledFault"] = reflect.TypeOf((*MigrationDisabledFault)(nil)).Elem()
+}
+
+type MigrationErrorEvent struct {
+ MigrationEvent
+}
+
+func init() {
+ t["MigrationErrorEvent"] = reflect.TypeOf((*MigrationErrorEvent)(nil)).Elem()
+}
+
+type MigrationEvent struct {
+ VmEvent
+
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["MigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem()
+}
+
+type MigrationFault struct {
+ VimFault
+}
+
+func init() {
+ t["MigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem()
+}
+
+type MigrationFaultFault BaseMigrationFault
+
+func init() {
+ t["MigrationFaultFault"] = reflect.TypeOf((*MigrationFaultFault)(nil)).Elem()
+}
+
+type MigrationFeatureNotSupported struct {
+ MigrationFault
+
+ AtSourceHost bool `xml:"atSourceHost"`
+ FailedHostName string `xml:"failedHostName"`
+ FailedHost ManagedObjectReference `xml:"failedHost"`
+}
+
+func init() {
+ t["MigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem()
+}
+
+type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported
+
+func init() {
+ t["MigrationFeatureNotSupportedFault"] = reflect.TypeOf((*MigrationFeatureNotSupportedFault)(nil)).Elem()
+}
+
+type MigrationHostErrorEvent struct {
+ MigrationEvent
+
+ DstHost HostEventArgument `xml:"dstHost"`
+}
+
+func init() {
+ t["MigrationHostErrorEvent"] = reflect.TypeOf((*MigrationHostErrorEvent)(nil)).Elem()
+}
+
+type MigrationHostWarningEvent struct {
+ MigrationEvent
+
+ DstHost HostEventArgument `xml:"dstHost"`
+}
+
+func init() {
+ t["MigrationHostWarningEvent"] = reflect.TypeOf((*MigrationHostWarningEvent)(nil)).Elem()
+}
+
+type MigrationNotReady struct {
+ MigrationFault
+
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["MigrationNotReady"] = reflect.TypeOf((*MigrationNotReady)(nil)).Elem()
+}
+
+type MigrationNotReadyFault MigrationNotReady
+
+func init() {
+ t["MigrationNotReadyFault"] = reflect.TypeOf((*MigrationNotReadyFault)(nil)).Elem()
+}
+
+type MigrationResourceErrorEvent struct {
+ MigrationEvent
+
+ DstPool ResourcePoolEventArgument `xml:"dstPool"`
+ DstHost HostEventArgument `xml:"dstHost"`
+}
+
+func init() {
+ t["MigrationResourceErrorEvent"] = reflect.TypeOf((*MigrationResourceErrorEvent)(nil)).Elem()
+}
+
+type MigrationResourceWarningEvent struct {
+ MigrationEvent
+
+ DstPool ResourcePoolEventArgument `xml:"dstPool"`
+ DstHost HostEventArgument `xml:"dstHost"`
+}
+
+func init() {
+ t["MigrationResourceWarningEvent"] = reflect.TypeOf((*MigrationResourceWarningEvent)(nil)).Elem()
+}
+
+type MigrationWarningEvent struct {
+ MigrationEvent
+}
+
+func init() {
+ t["MigrationWarningEvent"] = reflect.TypeOf((*MigrationWarningEvent)(nil)).Elem()
+}
+
+type MismatchedBundle struct {
+ VimFault
+
+ BundleUuid string `xml:"bundleUuid"`
+ HostUuid string `xml:"hostUuid"`
+ BundleBuildNumber int32 `xml:"bundleBuildNumber"`
+ HostBuildNumber int32 `xml:"hostBuildNumber"`
+}
+
+func init() {
+ t["MismatchedBundle"] = reflect.TypeOf((*MismatchedBundle)(nil)).Elem()
+}
+
+type MismatchedBundleFault MismatchedBundle
+
+func init() {
+ t["MismatchedBundleFault"] = reflect.TypeOf((*MismatchedBundleFault)(nil)).Elem()
+}
+
+type MismatchedNetworkPolicies struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+ Backing string `xml:"backing"`
+ Connected bool `xml:"connected"`
+}
+
+func init() {
+ t["MismatchedNetworkPolicies"] = reflect.TypeOf((*MismatchedNetworkPolicies)(nil)).Elem()
+}
+
+type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies
+
+func init() {
+ t["MismatchedNetworkPoliciesFault"] = reflect.TypeOf((*MismatchedNetworkPoliciesFault)(nil)).Elem()
+}
+
+type MismatchedVMotionNetworkNames struct {
+ MigrationFault
+
+ SourceNetwork string `xml:"sourceNetwork"`
+ DestNetwork string `xml:"destNetwork"`
+}
+
+func init() {
+ t["MismatchedVMotionNetworkNames"] = reflect.TypeOf((*MismatchedVMotionNetworkNames)(nil)).Elem()
+}
+
+type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames
+
+func init() {
+ t["MismatchedVMotionNetworkNamesFault"] = reflect.TypeOf((*MismatchedVMotionNetworkNamesFault)(nil)).Elem()
+}
+
+type MissingBmcSupport struct {
+ VimFault
+}
+
+func init() {
+ t["MissingBmcSupport"] = reflect.TypeOf((*MissingBmcSupport)(nil)).Elem()
+}
+
+type MissingBmcSupportFault MissingBmcSupport
+
+func init() {
+ t["MissingBmcSupportFault"] = reflect.TypeOf((*MissingBmcSupportFault)(nil)).Elem()
+}
+
+type MissingController struct {
+ InvalidDeviceSpec
+}
+
+func init() {
+ t["MissingController"] = reflect.TypeOf((*MissingController)(nil)).Elem()
+}
+
+type MissingControllerFault MissingController
+
+func init() {
+ t["MissingControllerFault"] = reflect.TypeOf((*MissingControllerFault)(nil)).Elem()
+}
+
+type MissingIpPool struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["MissingIpPool"] = reflect.TypeOf((*MissingIpPool)(nil)).Elem()
+}
+
+type MissingIpPoolFault MissingIpPool
+
+func init() {
+ t["MissingIpPoolFault"] = reflect.TypeOf((*MissingIpPoolFault)(nil)).Elem()
+}
+
+type MissingLinuxCustResources struct {
+ CustomizationFault
+}
+
+func init() {
+ t["MissingLinuxCustResources"] = reflect.TypeOf((*MissingLinuxCustResources)(nil)).Elem()
+}
+
+type MissingLinuxCustResourcesFault MissingLinuxCustResources
+
+func init() {
+ t["MissingLinuxCustResourcesFault"] = reflect.TypeOf((*MissingLinuxCustResourcesFault)(nil)).Elem()
+}
+
+type MissingNetworkIpConfig struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["MissingNetworkIpConfig"] = reflect.TypeOf((*MissingNetworkIpConfig)(nil)).Elem()
+}
+
+type MissingNetworkIpConfigFault MissingNetworkIpConfig
+
+func init() {
+ t["MissingNetworkIpConfigFault"] = reflect.TypeOf((*MissingNetworkIpConfigFault)(nil)).Elem()
+}
+
+type MissingObject struct {
+ DynamicData
+
+ Obj ManagedObjectReference `xml:"obj"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["MissingObject"] = reflect.TypeOf((*MissingObject)(nil)).Elem()
+}
+
+type MissingPowerOffConfiguration struct {
+ VAppConfigFault
+}
+
+func init() {
+ t["MissingPowerOffConfiguration"] = reflect.TypeOf((*MissingPowerOffConfiguration)(nil)).Elem()
+}
+
+type MissingPowerOffConfigurationFault MissingPowerOffConfiguration
+
+func init() {
+ t["MissingPowerOffConfigurationFault"] = reflect.TypeOf((*MissingPowerOffConfigurationFault)(nil)).Elem()
+}
+
+type MissingPowerOnConfiguration struct {
+ VAppConfigFault
+}
+
+func init() {
+ t["MissingPowerOnConfiguration"] = reflect.TypeOf((*MissingPowerOnConfiguration)(nil)).Elem()
+}
+
+type MissingPowerOnConfigurationFault MissingPowerOnConfiguration
+
+func init() {
+ t["MissingPowerOnConfigurationFault"] = reflect.TypeOf((*MissingPowerOnConfigurationFault)(nil)).Elem()
+}
+
+type MissingProperty struct {
+ DynamicData
+
+ Path string `xml:"path"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["MissingProperty"] = reflect.TypeOf((*MissingProperty)(nil)).Elem()
+}
+
+type MissingWindowsCustResources struct {
+ CustomizationFault
+}
+
+func init() {
+ t["MissingWindowsCustResources"] = reflect.TypeOf((*MissingWindowsCustResources)(nil)).Elem()
+}
+
+type MissingWindowsCustResourcesFault MissingWindowsCustResources
+
+func init() {
+ t["MissingWindowsCustResourcesFault"] = reflect.TypeOf((*MissingWindowsCustResourcesFault)(nil)).Elem()
+}
+
+type MksConnectionLimitReached struct {
+ InvalidState
+
+ ConnectionLimit int32 `xml:"connectionLimit"`
+}
+
+func init() {
+ t["MksConnectionLimitReached"] = reflect.TypeOf((*MksConnectionLimitReached)(nil)).Elem()
+}
+
+type MksConnectionLimitReachedFault MksConnectionLimitReached
+
+func init() {
+ t["MksConnectionLimitReachedFault"] = reflect.TypeOf((*MksConnectionLimitReachedFault)(nil)).Elem()
+}
+
+type ModeInfo struct {
+ DynamicData
+
+ Browse string `xml:"browse,omitempty"`
+ Read string `xml:"read"`
+ Modify string `xml:"modify"`
+ Use string `xml:"use"`
+ Admin string `xml:"admin,omitempty"`
+ Full string `xml:"full"`
+}
+
+func init() {
+ t["ModeInfo"] = reflect.TypeOf((*ModeInfo)(nil)).Elem()
+}
+
+type ModifyListView ModifyListViewRequestType
+
+func init() {
+ t["ModifyListView"] = reflect.TypeOf((*ModifyListView)(nil)).Elem()
+}
+
+type ModifyListViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Add []ManagedObjectReference `xml:"add,omitempty"`
+ Remove []ManagedObjectReference `xml:"remove,omitempty"`
+}
+
+func init() {
+ t["ModifyListViewRequestType"] = reflect.TypeOf((*ModifyListViewRequestType)(nil)).Elem()
+}
+
+type ModifyListViewResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type MonthlyByDayTaskScheduler struct {
+ MonthlyTaskScheduler
+
+ Day int32 `xml:"day"`
+}
+
+func init() {
+ t["MonthlyByDayTaskScheduler"] = reflect.TypeOf((*MonthlyByDayTaskScheduler)(nil)).Elem()
+}
+
+type MonthlyByWeekdayTaskScheduler struct {
+ MonthlyTaskScheduler
+
+ Offset WeekOfMonth `xml:"offset"`
+ Weekday DayOfWeek `xml:"weekday"`
+}
+
+func init() {
+ t["MonthlyByWeekdayTaskScheduler"] = reflect.TypeOf((*MonthlyByWeekdayTaskScheduler)(nil)).Elem()
+}
+
+type MonthlyTaskScheduler struct {
+ DailyTaskScheduler
+}
+
+func init() {
+ t["MonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem()
+}
+
+type MountError struct {
+ CustomizationFault
+
+ Vm ManagedObjectReference `xml:"vm"`
+ DiskIndex int32 `xml:"diskIndex"`
+}
+
+func init() {
+ t["MountError"] = reflect.TypeOf((*MountError)(nil)).Elem()
+}
+
+type MountErrorFault MountError
+
+func init() {
+ t["MountErrorFault"] = reflect.TypeOf((*MountErrorFault)(nil)).Elem()
+}
+
+type MountToolsInstaller MountToolsInstallerRequestType
+
+func init() {
+ t["MountToolsInstaller"] = reflect.TypeOf((*MountToolsInstaller)(nil)).Elem()
+}
+
+type MountToolsInstallerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["MountToolsInstallerRequestType"] = reflect.TypeOf((*MountToolsInstallerRequestType)(nil)).Elem()
+}
+
+type MountToolsInstallerResponse struct {
+}
+
+type MountVffsVolume MountVffsVolumeRequestType
+
+func init() {
+ t["MountVffsVolume"] = reflect.TypeOf((*MountVffsVolume)(nil)).Elem()
+}
+
+type MountVffsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsUuid string `xml:"vffsUuid"`
+}
+
+func init() {
+ t["MountVffsVolumeRequestType"] = reflect.TypeOf((*MountVffsVolumeRequestType)(nil)).Elem()
+}
+
+type MountVffsVolumeResponse struct {
+}
+
+type MountVmfsVolume MountVmfsVolumeRequestType
+
+func init() {
+ t["MountVmfsVolume"] = reflect.TypeOf((*MountVmfsVolume)(nil)).Elem()
+}
+
+type MountVmfsVolumeExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid []string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["MountVmfsVolumeExRequestType"] = reflect.TypeOf((*MountVmfsVolumeExRequestType)(nil)).Elem()
+}
+
+type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType
+
+func init() {
+ t["MountVmfsVolumeEx_Task"] = reflect.TypeOf((*MountVmfsVolumeEx_Task)(nil)).Elem()
+}
+
+type MountVmfsVolumeEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MountVmfsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["MountVmfsVolumeRequestType"] = reflect.TypeOf((*MountVmfsVolumeRequestType)(nil)).Elem()
+}
+
+type MountVmfsVolumeResponse struct {
+}
+
+type MoveDVPortRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PortKey []string `xml:"portKey"`
+ DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty"`
+}
+
+func init() {
+ t["MoveDVPortRequestType"] = reflect.TypeOf((*MoveDVPortRequestType)(nil)).Elem()
+}
+
+type MoveDVPort_Task MoveDVPortRequestType
+
+func init() {
+ t["MoveDVPort_Task"] = reflect.TypeOf((*MoveDVPort_Task)(nil)).Elem()
+}
+
+type MoveDVPort_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MoveDatastoreFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SourceName string `xml:"sourceName"`
+ SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"`
+ DestinationName string `xml:"destinationName"`
+ DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty"`
+ Force *bool `xml:"force"`
+}
+
+func init() {
+ t["MoveDatastoreFileRequestType"] = reflect.TypeOf((*MoveDatastoreFileRequestType)(nil)).Elem()
+}
+
+type MoveDatastoreFile_Task MoveDatastoreFileRequestType
+
+func init() {
+ t["MoveDatastoreFile_Task"] = reflect.TypeOf((*MoveDatastoreFile_Task)(nil)).Elem()
+}
+
+type MoveDatastoreFile_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MoveDirectoryInGuest MoveDirectoryInGuestRequestType
+
+func init() {
+ t["MoveDirectoryInGuest"] = reflect.TypeOf((*MoveDirectoryInGuest)(nil)).Elem()
+}
+
+type MoveDirectoryInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ SrcDirectoryPath string `xml:"srcDirectoryPath"`
+ DstDirectoryPath string `xml:"dstDirectoryPath"`
+}
+
+func init() {
+ t["MoveDirectoryInGuestRequestType"] = reflect.TypeOf((*MoveDirectoryInGuestRequestType)(nil)).Elem()
+}
+
+type MoveDirectoryInGuestResponse struct {
+}
+
+type MoveFileInGuest MoveFileInGuestRequestType
+
+func init() {
+ t["MoveFileInGuest"] = reflect.TypeOf((*MoveFileInGuest)(nil)).Elem()
+}
+
+type MoveFileInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ SrcFilePath string `xml:"srcFilePath"`
+ DstFilePath string `xml:"dstFilePath"`
+ Overwrite bool `xml:"overwrite"`
+}
+
+func init() {
+ t["MoveFileInGuestRequestType"] = reflect.TypeOf((*MoveFileInGuestRequestType)(nil)).Elem()
+}
+
+type MoveFileInGuestResponse struct {
+}
+
+type MoveHostIntoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"`
+}
+
+func init() {
+ t["MoveHostIntoRequestType"] = reflect.TypeOf((*MoveHostIntoRequestType)(nil)).Elem()
+}
+
+type MoveHostInto_Task MoveHostIntoRequestType
+
+func init() {
+ t["MoveHostInto_Task"] = reflect.TypeOf((*MoveHostInto_Task)(nil)).Elem()
+}
+
+type MoveHostInto_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MoveIntoFolderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ List []ManagedObjectReference `xml:"list"`
+}
+
+func init() {
+ t["MoveIntoFolderRequestType"] = reflect.TypeOf((*MoveIntoFolderRequestType)(nil)).Elem()
+}
+
+type MoveIntoFolder_Task MoveIntoFolderRequestType
+
+func init() {
+ t["MoveIntoFolder_Task"] = reflect.TypeOf((*MoveIntoFolder_Task)(nil)).Elem()
+}
+
+type MoveIntoFolder_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MoveIntoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["MoveIntoRequestType"] = reflect.TypeOf((*MoveIntoRequestType)(nil)).Elem()
+}
+
+type MoveIntoResourcePool MoveIntoResourcePoolRequestType
+
+func init() {
+ t["MoveIntoResourcePool"] = reflect.TypeOf((*MoveIntoResourcePool)(nil)).Elem()
+}
+
+type MoveIntoResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ List []ManagedObjectReference `xml:"list"`
+}
+
+func init() {
+ t["MoveIntoResourcePoolRequestType"] = reflect.TypeOf((*MoveIntoResourcePoolRequestType)(nil)).Elem()
+}
+
+type MoveIntoResourcePoolResponse struct {
+}
+
+type MoveInto_Task MoveIntoRequestType
+
+func init() {
+ t["MoveInto_Task"] = reflect.TypeOf((*MoveInto_Task)(nil)).Elem()
+}
+
+type MoveInto_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MoveVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SourceName string `xml:"sourceName"`
+ SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"`
+ DestName string `xml:"destName"`
+ DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty"`
+ Force *bool `xml:"force"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+}
+
+func init() {
+ t["MoveVirtualDiskRequestType"] = reflect.TypeOf((*MoveVirtualDiskRequestType)(nil)).Elem()
+}
+
+type MoveVirtualDisk_Task MoveVirtualDiskRequestType
+
+func init() {
+ t["MoveVirtualDisk_Task"] = reflect.TypeOf((*MoveVirtualDisk_Task)(nil)).Elem()
+}
+
+type MoveVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type MtuMatchEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["MtuMatchEvent"] = reflect.TypeOf((*MtuMatchEvent)(nil)).Elem()
+}
+
+type MtuMismatchEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["MtuMismatchEvent"] = reflect.TypeOf((*MtuMismatchEvent)(nil)).Elem()
+}
+
+type MultiWriterNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["MultiWriterNotSupported"] = reflect.TypeOf((*MultiWriterNotSupported)(nil)).Elem()
+}
+
+type MultiWriterNotSupportedFault MultiWriterNotSupported
+
+func init() {
+ t["MultiWriterNotSupportedFault"] = reflect.TypeOf((*MultiWriterNotSupportedFault)(nil)).Elem()
+}
+
+type MultipleCertificatesVerifyFault struct {
+ HostConnectFault
+
+ ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData"`
+}
+
+func init() {
+ t["MultipleCertificatesVerifyFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFault)(nil)).Elem()
+}
+
+type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault
+
+func init() {
+ t["MultipleCertificatesVerifyFaultFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultFault)(nil)).Elem()
+}
+
+type MultipleCertificatesVerifyFaultThumbprintData struct {
+ DynamicData
+
+ Port int32 `xml:"port"`
+ Thumbprint string `xml:"thumbprint"`
+}
+
+func init() {
+ t["MultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
+}
+
+type MultipleSnapshotsNotSupported struct {
+ SnapshotFault
+}
+
+func init() {
+ t["MultipleSnapshotsNotSupported"] = reflect.TypeOf((*MultipleSnapshotsNotSupported)(nil)).Elem()
+}
+
+type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported
+
+func init() {
+ t["MultipleSnapshotsNotSupportedFault"] = reflect.TypeOf((*MultipleSnapshotsNotSupportedFault)(nil)).Elem()
+}
+
+type NASDatastoreCreatedEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+ DatastoreUrl string `xml:"datastoreUrl,omitempty"`
+}
+
+func init() {
+ t["NASDatastoreCreatedEvent"] = reflect.TypeOf((*NASDatastoreCreatedEvent)(nil)).Elem()
+}
+
+type NamePasswordAuthentication struct {
+ GuestAuthentication
+
+ Username string `xml:"username"`
+ Password string `xml:"password"`
+}
+
+func init() {
+ t["NamePasswordAuthentication"] = reflect.TypeOf((*NamePasswordAuthentication)(nil)).Elem()
+}
+
+type NamespaceFull struct {
+ VimFault
+
+ Name string `xml:"name"`
+ CurrentMaxSize int64 `xml:"currentMaxSize"`
+ RequiredSize int64 `xml:"requiredSize,omitempty"`
+}
+
+func init() {
+ t["NamespaceFull"] = reflect.TypeOf((*NamespaceFull)(nil)).Elem()
+}
+
+type NamespaceFullFault NamespaceFull
+
+func init() {
+ t["NamespaceFullFault"] = reflect.TypeOf((*NamespaceFullFault)(nil)).Elem()
+}
+
+type NamespaceLimitReached struct {
+ VimFault
+
+ Limit int32 `xml:"limit,omitempty"`
+}
+
+func init() {
+ t["NamespaceLimitReached"] = reflect.TypeOf((*NamespaceLimitReached)(nil)).Elem()
+}
+
+type NamespaceLimitReachedFault NamespaceLimitReached
+
+func init() {
+ t["NamespaceLimitReachedFault"] = reflect.TypeOf((*NamespaceLimitReachedFault)(nil)).Elem()
+}
+
+type NamespaceWriteProtected struct {
+ VimFault
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["NamespaceWriteProtected"] = reflect.TypeOf((*NamespaceWriteProtected)(nil)).Elem()
+}
+
+type NamespaceWriteProtectedFault NamespaceWriteProtected
+
+func init() {
+ t["NamespaceWriteProtectedFault"] = reflect.TypeOf((*NamespaceWriteProtectedFault)(nil)).Elem()
+}
+
+type NasConfigFault struct {
+ HostConfigFault
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["NasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem()
+}
+
+type NasConfigFaultFault BaseNasConfigFault
+
+func init() {
+ t["NasConfigFaultFault"] = reflect.TypeOf((*NasConfigFaultFault)(nil)).Elem()
+}
+
+type NasConnectionLimitReached struct {
+ NasConfigFault
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+}
+
+func init() {
+ t["NasConnectionLimitReached"] = reflect.TypeOf((*NasConnectionLimitReached)(nil)).Elem()
+}
+
+type NasConnectionLimitReachedFault NasConnectionLimitReached
+
+func init() {
+ t["NasConnectionLimitReachedFault"] = reflect.TypeOf((*NasConnectionLimitReachedFault)(nil)).Elem()
+}
+
+type NasDatastoreInfo struct {
+ DatastoreInfo
+
+ Nas *HostNasVolume `xml:"nas,omitempty"`
+}
+
+func init() {
+ t["NasDatastoreInfo"] = reflect.TypeOf((*NasDatastoreInfo)(nil)).Elem()
+}
+
+type NasSessionCredentialConflict struct {
+ NasConfigFault
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["NasSessionCredentialConflict"] = reflect.TypeOf((*NasSessionCredentialConflict)(nil)).Elem()
+}
+
+type NasSessionCredentialConflictFault NasSessionCredentialConflict
+
+func init() {
+ t["NasSessionCredentialConflictFault"] = reflect.TypeOf((*NasSessionCredentialConflictFault)(nil)).Elem()
+}
+
+type NasStorageProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["NasStorageProfile"] = reflect.TypeOf((*NasStorageProfile)(nil)).Elem()
+}
+
+type NasVolumeNotMounted struct {
+ NasConfigFault
+
+ RemoteHost string `xml:"remoteHost"`
+ RemotePath string `xml:"remotePath"`
+}
+
+func init() {
+ t["NasVolumeNotMounted"] = reflect.TypeOf((*NasVolumeNotMounted)(nil)).Elem()
+}
+
+type NasVolumeNotMountedFault NasVolumeNotMounted
+
+func init() {
+ t["NasVolumeNotMountedFault"] = reflect.TypeOf((*NasVolumeNotMountedFault)(nil)).Elem()
+}
+
+type NegatableExpression struct {
+ DynamicData
+
+ Negate *bool `xml:"negate"`
+}
+
+func init() {
+ t["NegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem()
+}
+
+type NetBIOSConfigInfo struct {
+ DynamicData
+
+ Mode string `xml:"mode"`
+}
+
+func init() {
+ t["NetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem()
+}
+
+type NetDhcpConfigInfo struct {
+ DynamicData
+
+ Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty"`
+ Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty"`
+}
+
+func init() {
+ t["NetDhcpConfigInfo"] = reflect.TypeOf((*NetDhcpConfigInfo)(nil)).Elem()
+}
+
+type NetDhcpConfigInfoDhcpOptions struct {
+ DynamicData
+
+ Enable bool `xml:"enable"`
+ Config []KeyValue `xml:"config,omitempty"`
+}
+
+func init() {
+ t["NetDhcpConfigInfoDhcpOptions"] = reflect.TypeOf((*NetDhcpConfigInfoDhcpOptions)(nil)).Elem()
+}
+
+type NetDhcpConfigSpec struct {
+ DynamicData
+
+ Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty"`
+ Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty"`
+}
+
+func init() {
+ t["NetDhcpConfigSpec"] = reflect.TypeOf((*NetDhcpConfigSpec)(nil)).Elem()
+}
+
+type NetDhcpConfigSpecDhcpOptionsSpec struct {
+ DynamicData
+
+ Enable *bool `xml:"enable"`
+ Config []KeyValue `xml:"config"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["NetDhcpConfigSpecDhcpOptionsSpec"] = reflect.TypeOf((*NetDhcpConfigSpecDhcpOptionsSpec)(nil)).Elem()
+}
+
+type NetDnsConfigInfo struct {
+ DynamicData
+
+ Dhcp bool `xml:"dhcp"`
+ HostName string `xml:"hostName"`
+ DomainName string `xml:"domainName"`
+ IpAddress []string `xml:"ipAddress,omitempty"`
+ SearchDomain []string `xml:"searchDomain,omitempty"`
+}
+
+func init() {
+ t["NetDnsConfigInfo"] = reflect.TypeOf((*NetDnsConfigInfo)(nil)).Elem()
+}
+
+type NetDnsConfigSpec struct {
+ DynamicData
+
+ Dhcp *bool `xml:"dhcp"`
+ HostName string `xml:"hostName,omitempty"`
+ DomainName string `xml:"domainName,omitempty"`
+ IpAddress []string `xml:"ipAddress,omitempty"`
+ SearchDomain []string `xml:"searchDomain,omitempty"`
+}
+
+func init() {
+ t["NetDnsConfigSpec"] = reflect.TypeOf((*NetDnsConfigSpec)(nil)).Elem()
+}
+
+type NetIpConfigInfo struct {
+ DynamicData
+
+ IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty"`
+ Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty"`
+ AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"`
+}
+
+func init() {
+ t["NetIpConfigInfo"] = reflect.TypeOf((*NetIpConfigInfo)(nil)).Elem()
+}
+
+type NetIpConfigInfoIpAddress struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Origin string `xml:"origin,omitempty"`
+ State string `xml:"state,omitempty"`
+ Lifetime *time.Time `xml:"lifetime"`
+}
+
+func init() {
+ t["NetIpConfigInfoIpAddress"] = reflect.TypeOf((*NetIpConfigInfoIpAddress)(nil)).Elem()
+}
+
+type NetIpConfigSpec struct {
+ DynamicData
+
+ IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty"`
+ Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty"`
+ AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"`
+}
+
+func init() {
+ t["NetIpConfigSpec"] = reflect.TypeOf((*NetIpConfigSpec)(nil)).Elem()
+}
+
+type NetIpConfigSpecIpAddressSpec struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["NetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*NetIpConfigSpecIpAddressSpec)(nil)).Elem()
+}
+
+type NetIpRouteConfigInfo struct {
+ DynamicData
+
+ IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty"`
+}
+
+func init() {
+ t["NetIpRouteConfigInfo"] = reflect.TypeOf((*NetIpRouteConfigInfo)(nil)).Elem()
+}
+
+type NetIpRouteConfigInfoGateway struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress,omitempty"`
+ Device string `xml:"device,omitempty"`
+}
+
+func init() {
+ t["NetIpRouteConfigInfoGateway"] = reflect.TypeOf((*NetIpRouteConfigInfoGateway)(nil)).Elem()
+}
+
+type NetIpRouteConfigInfoIpRoute struct {
+ DynamicData
+
+ Network string `xml:"network"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Gateway NetIpRouteConfigInfoGateway `xml:"gateway"`
+}
+
+func init() {
+ t["NetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*NetIpRouteConfigInfoIpRoute)(nil)).Elem()
+}
+
+type NetIpRouteConfigSpec struct {
+ DynamicData
+
+ IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty"`
+}
+
+func init() {
+ t["NetIpRouteConfigSpec"] = reflect.TypeOf((*NetIpRouteConfigSpec)(nil)).Elem()
+}
+
+type NetIpRouteConfigSpecGatewaySpec struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress,omitempty"`
+ Device string `xml:"device,omitempty"`
+}
+
+func init() {
+ t["NetIpRouteConfigSpecGatewaySpec"] = reflect.TypeOf((*NetIpRouteConfigSpecGatewaySpec)(nil)).Elem()
+}
+
+type NetIpRouteConfigSpecIpRouteSpec struct {
+ DynamicData
+
+ Network string `xml:"network"`
+ PrefixLength int32 `xml:"prefixLength"`
+ Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["NetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*NetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
+}
+
+type NetIpStackInfo struct {
+ DynamicData
+
+ Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty"`
+ DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty"`
+}
+
+func init() {
+ t["NetIpStackInfo"] = reflect.TypeOf((*NetIpStackInfo)(nil)).Elem()
+}
+
+type NetIpStackInfoDefaultRouter struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ Device string `xml:"device"`
+ Lifetime time.Time `xml:"lifetime"`
+ Preference string `xml:"preference"`
+}
+
+func init() {
+ t["NetIpStackInfoDefaultRouter"] = reflect.TypeOf((*NetIpStackInfoDefaultRouter)(nil)).Elem()
+}
+
+type NetIpStackInfoNetToMedia struct {
+ DynamicData
+
+ IpAddress string `xml:"ipAddress"`
+ PhysicalAddress string `xml:"physicalAddress"`
+ Device string `xml:"device"`
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["NetIpStackInfoNetToMedia"] = reflect.TypeOf((*NetIpStackInfoNetToMedia)(nil)).Elem()
+}
+
+type NetStackInstanceProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+ DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig"`
+ IpRouteConfig IpRouteProfile `xml:"ipRouteConfig"`
+}
+
+func init() {
+ t["NetStackInstanceProfile"] = reflect.TypeOf((*NetStackInstanceProfile)(nil)).Elem()
+}
+
+type NetworkCopyFault struct {
+ FileFault
+}
+
+func init() {
+ t["NetworkCopyFault"] = reflect.TypeOf((*NetworkCopyFault)(nil)).Elem()
+}
+
+type NetworkCopyFaultFault NetworkCopyFault
+
+func init() {
+ t["NetworkCopyFaultFault"] = reflect.TypeOf((*NetworkCopyFaultFault)(nil)).Elem()
+}
+
+type NetworkDisruptedAndConfigRolledBack struct {
+ VimFault
+
+ Host string `xml:"host"`
+}
+
+func init() {
+ t["NetworkDisruptedAndConfigRolledBack"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBack)(nil)).Elem()
+}
+
+type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack
+
+func init() {
+ t["NetworkDisruptedAndConfigRolledBackFault"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBackFault)(nil)).Elem()
+}
+
+type NetworkEventArgument struct {
+ EntityEventArgument
+
+ Network ManagedObjectReference `xml:"network"`
+}
+
+func init() {
+ t["NetworkEventArgument"] = reflect.TypeOf((*NetworkEventArgument)(nil)).Elem()
+}
+
+type NetworkInaccessible struct {
+ NasConfigFault
+}
+
+func init() {
+ t["NetworkInaccessible"] = reflect.TypeOf((*NetworkInaccessible)(nil)).Elem()
+}
+
+type NetworkInaccessibleFault NetworkInaccessible
+
+func init() {
+ t["NetworkInaccessibleFault"] = reflect.TypeOf((*NetworkInaccessibleFault)(nil)).Elem()
+}
+
+type NetworkPolicyProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["NetworkPolicyProfile"] = reflect.TypeOf((*NetworkPolicyProfile)(nil)).Elem()
+}
+
+type NetworkProfile struct {
+ ApplyProfile
+
+ Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty"`
+ VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty"`
+ HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty"`
+ ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty"`
+ DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty"`
+ IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty"`
+ ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty"`
+ Pnic []PhysicalNicProfile `xml:"pnic,omitempty"`
+ Dvswitch []DvsProfile `xml:"dvswitch,omitempty"`
+ DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty"`
+ DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty"`
+ NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty"`
+}
+
+func init() {
+ t["NetworkProfile"] = reflect.TypeOf((*NetworkProfile)(nil)).Elem()
+}
+
+type NetworkProfileDnsConfigProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["NetworkProfileDnsConfigProfile"] = reflect.TypeOf((*NetworkProfileDnsConfigProfile)(nil)).Elem()
+}
+
+type NetworkRollbackEvent struct {
+ Event
+
+ MethodName string `xml:"methodName"`
+ TransactionId string `xml:"transactionId"`
+}
+
+func init() {
+ t["NetworkRollbackEvent"] = reflect.TypeOf((*NetworkRollbackEvent)(nil)).Elem()
+}
+
+type NetworkSummary struct {
+ DynamicData
+
+ Network *ManagedObjectReference `xml:"network,omitempty"`
+ Name string `xml:"name"`
+ Accessible bool `xml:"accessible"`
+ IpPoolName string `xml:"ipPoolName,omitempty"`
+ IpPoolId int32 `xml:"ipPoolId,omitempty"`
+}
+
+func init() {
+ t["NetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem()
+}
+
+type NetworksMayNotBeTheSame struct {
+ MigrationFault
+
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["NetworksMayNotBeTheSame"] = reflect.TypeOf((*NetworksMayNotBeTheSame)(nil)).Elem()
+}
+
+type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame
+
+func init() {
+ t["NetworksMayNotBeTheSameFault"] = reflect.TypeOf((*NetworksMayNotBeTheSameFault)(nil)).Elem()
+}
+
+type NicSettingMismatch struct {
+ CustomizationFault
+
+ NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec"`
+ NumberOfNicsInVM int32 `xml:"numberOfNicsInVM"`
+}
+
+func init() {
+ t["NicSettingMismatch"] = reflect.TypeOf((*NicSettingMismatch)(nil)).Elem()
+}
+
+type NicSettingMismatchFault NicSettingMismatch
+
+func init() {
+ t["NicSettingMismatchFault"] = reflect.TypeOf((*NicSettingMismatchFault)(nil)).Elem()
+}
+
+type NoAccessUserEvent struct {
+ SessionEvent
+
+ IpAddress string `xml:"ipAddress"`
+}
+
+func init() {
+ t["NoAccessUserEvent"] = reflect.TypeOf((*NoAccessUserEvent)(nil)).Elem()
+}
+
+type NoActiveHostInCluster struct {
+ InvalidState
+
+ ComputeResource ManagedObjectReference `xml:"computeResource"`
+}
+
+func init() {
+ t["NoActiveHostInCluster"] = reflect.TypeOf((*NoActiveHostInCluster)(nil)).Elem()
+}
+
+type NoActiveHostInClusterFault NoActiveHostInCluster
+
+func init() {
+ t["NoActiveHostInClusterFault"] = reflect.TypeOf((*NoActiveHostInClusterFault)(nil)).Elem()
+}
+
+type NoAvailableIp struct {
+ VAppPropertyFault
+
+ Network ManagedObjectReference `xml:"network"`
+}
+
+func init() {
+ t["NoAvailableIp"] = reflect.TypeOf((*NoAvailableIp)(nil)).Elem()
+}
+
+type NoAvailableIpFault NoAvailableIp
+
+func init() {
+ t["NoAvailableIpFault"] = reflect.TypeOf((*NoAvailableIpFault)(nil)).Elem()
+}
+
+type NoClientCertificate struct {
+ VimFault
+}
+
+func init() {
+ t["NoClientCertificate"] = reflect.TypeOf((*NoClientCertificate)(nil)).Elem()
+}
+
+type NoClientCertificateFault NoClientCertificate
+
+func init() {
+ t["NoClientCertificateFault"] = reflect.TypeOf((*NoClientCertificateFault)(nil)).Elem()
+}
+
+type NoCompatibleDatastore struct {
+ VimFault
+}
+
+func init() {
+ t["NoCompatibleDatastore"] = reflect.TypeOf((*NoCompatibleDatastore)(nil)).Elem()
+}
+
+type NoCompatibleDatastoreFault NoCompatibleDatastore
+
+func init() {
+ t["NoCompatibleDatastoreFault"] = reflect.TypeOf((*NoCompatibleDatastoreFault)(nil)).Elem()
+}
+
+type NoCompatibleHardAffinityHost struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["NoCompatibleHardAffinityHost"] = reflect.TypeOf((*NoCompatibleHardAffinityHost)(nil)).Elem()
+}
+
+type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost
+
+func init() {
+ t["NoCompatibleHardAffinityHostFault"] = reflect.TypeOf((*NoCompatibleHardAffinityHostFault)(nil)).Elem()
+}
+
+type NoCompatibleHost struct {
+ VimFault
+
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["NoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem()
+}
+
+type NoCompatibleHostFault BaseNoCompatibleHost
+
+func init() {
+ t["NoCompatibleHostFault"] = reflect.TypeOf((*NoCompatibleHostFault)(nil)).Elem()
+}
+
+type NoCompatibleHostWithAccessToDevice struct {
+ NoCompatibleHost
+}
+
+func init() {
+ t["NoCompatibleHostWithAccessToDevice"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDevice)(nil)).Elem()
+}
+
+type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice
+
+func init() {
+ t["NoCompatibleHostWithAccessToDeviceFault"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDeviceFault)(nil)).Elem()
+}
+
+type NoCompatibleSoftAffinityHost struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["NoCompatibleSoftAffinityHost"] = reflect.TypeOf((*NoCompatibleSoftAffinityHost)(nil)).Elem()
+}
+
+type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost
+
+func init() {
+ t["NoCompatibleSoftAffinityHostFault"] = reflect.TypeOf((*NoCompatibleSoftAffinityHostFault)(nil)).Elem()
+}
+
+type NoConnectedDatastore struct {
+ VimFault
+}
+
+func init() {
+ t["NoConnectedDatastore"] = reflect.TypeOf((*NoConnectedDatastore)(nil)).Elem()
+}
+
+type NoConnectedDatastoreFault NoConnectedDatastore
+
+func init() {
+ t["NoConnectedDatastoreFault"] = reflect.TypeOf((*NoConnectedDatastoreFault)(nil)).Elem()
+}
+
+type NoDatastoresConfiguredEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["NoDatastoresConfiguredEvent"] = reflect.TypeOf((*NoDatastoresConfiguredEvent)(nil)).Elem()
+}
+
+type NoDiskFound struct {
+ VimFault
+}
+
+func init() {
+ t["NoDiskFound"] = reflect.TypeOf((*NoDiskFound)(nil)).Elem()
+}
+
+type NoDiskFoundFault NoDiskFound
+
+func init() {
+ t["NoDiskFoundFault"] = reflect.TypeOf((*NoDiskFoundFault)(nil)).Elem()
+}
+
+type NoDiskSpace struct {
+ FileFault
+
+ Datastore string `xml:"datastore"`
+}
+
+func init() {
+ t["NoDiskSpace"] = reflect.TypeOf((*NoDiskSpace)(nil)).Elem()
+}
+
+type NoDiskSpaceFault NoDiskSpace
+
+func init() {
+ t["NoDiskSpaceFault"] = reflect.TypeOf((*NoDiskSpaceFault)(nil)).Elem()
+}
+
+type NoDisksToCustomize struct {
+ CustomizationFault
+}
+
+func init() {
+ t["NoDisksToCustomize"] = reflect.TypeOf((*NoDisksToCustomize)(nil)).Elem()
+}
+
+type NoDisksToCustomizeFault NoDisksToCustomize
+
+func init() {
+ t["NoDisksToCustomizeFault"] = reflect.TypeOf((*NoDisksToCustomizeFault)(nil)).Elem()
+}
+
+type NoGateway struct {
+ HostConfigFault
+}
+
+func init() {
+ t["NoGateway"] = reflect.TypeOf((*NoGateway)(nil)).Elem()
+}
+
+type NoGatewayFault NoGateway
+
+func init() {
+ t["NoGatewayFault"] = reflect.TypeOf((*NoGatewayFault)(nil)).Elem()
+}
+
+type NoGuestHeartbeat struct {
+ MigrationFault
+}
+
+func init() {
+ t["NoGuestHeartbeat"] = reflect.TypeOf((*NoGuestHeartbeat)(nil)).Elem()
+}
+
+type NoGuestHeartbeatFault NoGuestHeartbeat
+
+func init() {
+ t["NoGuestHeartbeatFault"] = reflect.TypeOf((*NoGuestHeartbeatFault)(nil)).Elem()
+}
+
+type NoHost struct {
+ HostConnectFault
+
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["NoHost"] = reflect.TypeOf((*NoHost)(nil)).Elem()
+}
+
+type NoHostFault NoHost
+
+func init() {
+ t["NoHostFault"] = reflect.TypeOf((*NoHostFault)(nil)).Elem()
+}
+
+type NoHostSuitableForFtSecondary struct {
+ VmFaultToleranceIssue
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["NoHostSuitableForFtSecondary"] = reflect.TypeOf((*NoHostSuitableForFtSecondary)(nil)).Elem()
+}
+
+type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary
+
+func init() {
+ t["NoHostSuitableForFtSecondaryFault"] = reflect.TypeOf((*NoHostSuitableForFtSecondaryFault)(nil)).Elem()
+}
+
+type NoLicenseEvent struct {
+ LicenseEvent
+
+ Feature LicenseFeatureInfo `xml:"feature"`
+}
+
+func init() {
+ t["NoLicenseEvent"] = reflect.TypeOf((*NoLicenseEvent)(nil)).Elem()
+}
+
+type NoLicenseServerConfigured struct {
+ NotEnoughLicenses
+}
+
+func init() {
+ t["NoLicenseServerConfigured"] = reflect.TypeOf((*NoLicenseServerConfigured)(nil)).Elem()
+}
+
+type NoLicenseServerConfiguredFault NoLicenseServerConfigured
+
+func init() {
+ t["NoLicenseServerConfiguredFault"] = reflect.TypeOf((*NoLicenseServerConfiguredFault)(nil)).Elem()
+}
+
+type NoMaintenanceModeDrsRecommendationForVM struct {
+ VmEvent
+}
+
+func init() {
+ t["NoMaintenanceModeDrsRecommendationForVM"] = reflect.TypeOf((*NoMaintenanceModeDrsRecommendationForVM)(nil)).Elem()
+}
+
+type NoPeerHostFound struct {
+ HostPowerOpFailed
+}
+
+func init() {
+ t["NoPeerHostFound"] = reflect.TypeOf((*NoPeerHostFound)(nil)).Elem()
+}
+
+type NoPeerHostFoundFault NoPeerHostFound
+
+func init() {
+ t["NoPeerHostFoundFault"] = reflect.TypeOf((*NoPeerHostFoundFault)(nil)).Elem()
+}
+
+type NoPermission struct {
+ SecurityError
+
+ Object ManagedObjectReference `xml:"object"`
+ PrivilegeId string `xml:"privilegeId"`
+}
+
+func init() {
+ t["NoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem()
+}
+
+type NoPermissionFault BaseNoPermission
+
+func init() {
+ t["NoPermissionFault"] = reflect.TypeOf((*NoPermissionFault)(nil)).Elem()
+}
+
+type NoPermissionOnAD struct {
+ ActiveDirectoryFault
+}
+
+func init() {
+ t["NoPermissionOnAD"] = reflect.TypeOf((*NoPermissionOnAD)(nil)).Elem()
+}
+
+type NoPermissionOnADFault NoPermissionOnAD
+
+func init() {
+ t["NoPermissionOnADFault"] = reflect.TypeOf((*NoPermissionOnADFault)(nil)).Elem()
+}
+
+type NoPermissionOnHost struct {
+ HostConnectFault
+}
+
+func init() {
+ t["NoPermissionOnHost"] = reflect.TypeOf((*NoPermissionOnHost)(nil)).Elem()
+}
+
+type NoPermissionOnHostFault NoPermissionOnHost
+
+func init() {
+ t["NoPermissionOnHostFault"] = reflect.TypeOf((*NoPermissionOnHostFault)(nil)).Elem()
+}
+
+type NoPermissionOnNasVolume struct {
+ NasConfigFault
+
+ UserName string `xml:"userName,omitempty"`
+}
+
+func init() {
+ t["NoPermissionOnNasVolume"] = reflect.TypeOf((*NoPermissionOnNasVolume)(nil)).Elem()
+}
+
+type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume
+
+func init() {
+ t["NoPermissionOnNasVolumeFault"] = reflect.TypeOf((*NoPermissionOnNasVolumeFault)(nil)).Elem()
+}
+
+type NoSubjectName struct {
+ VimFault
+}
+
+func init() {
+ t["NoSubjectName"] = reflect.TypeOf((*NoSubjectName)(nil)).Elem()
+}
+
+type NoSubjectNameFault NoSubjectName
+
+func init() {
+ t["NoSubjectNameFault"] = reflect.TypeOf((*NoSubjectNameFault)(nil)).Elem()
+}
+
+type NoVcManagedIpConfigured struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["NoVcManagedIpConfigured"] = reflect.TypeOf((*NoVcManagedIpConfigured)(nil)).Elem()
+}
+
+type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured
+
+func init() {
+ t["NoVcManagedIpConfiguredFault"] = reflect.TypeOf((*NoVcManagedIpConfiguredFault)(nil)).Elem()
+}
+
+type NoVirtualNic struct {
+ HostConfigFault
+}
+
+func init() {
+ t["NoVirtualNic"] = reflect.TypeOf((*NoVirtualNic)(nil)).Elem()
+}
+
+type NoVirtualNicFault NoVirtualNic
+
+func init() {
+ t["NoVirtualNicFault"] = reflect.TypeOf((*NoVirtualNicFault)(nil)).Elem()
+}
+
+type NoVmInVApp struct {
+ VAppConfigFault
+}
+
+func init() {
+ t["NoVmInVApp"] = reflect.TypeOf((*NoVmInVApp)(nil)).Elem()
+}
+
+type NoVmInVAppFault NoVmInVApp
+
+func init() {
+ t["NoVmInVAppFault"] = reflect.TypeOf((*NoVmInVAppFault)(nil)).Elem()
+}
+
+type NodeDeploymentSpec struct {
+ DynamicData
+
+ EsxHost *ManagedObjectReference `xml:"esxHost,omitempty"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty"`
+ ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty"`
+ Folder ManagedObjectReference `xml:"folder"`
+ ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"`
+ ManagementVc *ServiceLocator `xml:"managementVc,omitempty"`
+ NodeName string `xml:"nodeName"`
+ IpSettings CustomizationIPSettings `xml:"ipSettings"`
+}
+
+func init() {
+ t["NodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem()
+}
+
+type NodeNetworkSpec struct {
+ DynamicData
+
+ IpSettings CustomizationIPSettings `xml:"ipSettings"`
+}
+
+func init() {
+ t["NodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem()
+}
+
+type NonADUserRequired struct {
+ ActiveDirectoryFault
+}
+
+func init() {
+ t["NonADUserRequired"] = reflect.TypeOf((*NonADUserRequired)(nil)).Elem()
+}
+
+type NonADUserRequiredFault NonADUserRequired
+
+func init() {
+ t["NonADUserRequiredFault"] = reflect.TypeOf((*NonADUserRequiredFault)(nil)).Elem()
+}
+
+type NonHomeRDMVMotionNotSupported struct {
+ MigrationFeatureNotSupported
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["NonHomeRDMVMotionNotSupported"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupported)(nil)).Elem()
+}
+
+type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported
+
+func init() {
+ t["NonHomeRDMVMotionNotSupportedFault"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupportedFault)(nil)).Elem()
+}
+
+type NonPersistentDisksNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["NonPersistentDisksNotSupported"] = reflect.TypeOf((*NonPersistentDisksNotSupported)(nil)).Elem()
+}
+
+type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported
+
+func init() {
+ t["NonPersistentDisksNotSupportedFault"] = reflect.TypeOf((*NonPersistentDisksNotSupportedFault)(nil)).Elem()
+}
+
+type NonVIWorkloadDetectedOnDatastoreEvent struct {
+ DatastoreEvent
+}
+
+func init() {
+ t["NonVIWorkloadDetectedOnDatastoreEvent"] = reflect.TypeOf((*NonVIWorkloadDetectedOnDatastoreEvent)(nil)).Elem()
+}
+
+type NonVmwareOuiMacNotSupportedHost struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["NonVmwareOuiMacNotSupportedHost"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHost)(nil)).Elem()
+}
+
+type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost
+
+func init() {
+ t["NonVmwareOuiMacNotSupportedHostFault"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHostFault)(nil)).Elem()
+}
+
+type NotADirectory struct {
+ FileFault
+}
+
+func init() {
+ t["NotADirectory"] = reflect.TypeOf((*NotADirectory)(nil)).Elem()
+}
+
+type NotADirectoryFault NotADirectory
+
+func init() {
+ t["NotADirectoryFault"] = reflect.TypeOf((*NotADirectoryFault)(nil)).Elem()
+}
+
+type NotAFile struct {
+ FileFault
+}
+
+func init() {
+ t["NotAFile"] = reflect.TypeOf((*NotAFile)(nil)).Elem()
+}
+
+type NotAFileFault NotAFile
+
+func init() {
+ t["NotAFileFault"] = reflect.TypeOf((*NotAFileFault)(nil)).Elem()
+}
+
+type NotAuthenticated struct {
+ NoPermission
+}
+
+func init() {
+ t["NotAuthenticated"] = reflect.TypeOf((*NotAuthenticated)(nil)).Elem()
+}
+
+type NotAuthenticatedFault NotAuthenticated
+
+func init() {
+ t["NotAuthenticatedFault"] = reflect.TypeOf((*NotAuthenticatedFault)(nil)).Elem()
+}
+
+type NotEnoughCpus struct {
+ VirtualHardwareCompatibilityIssue
+
+ NumCpuDest int32 `xml:"numCpuDest"`
+ NumCpuVm int32 `xml:"numCpuVm"`
+}
+
+func init() {
+ t["NotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem()
+}
+
+type NotEnoughCpusFault BaseNotEnoughCpus
+
+func init() {
+ t["NotEnoughCpusFault"] = reflect.TypeOf((*NotEnoughCpusFault)(nil)).Elem()
+}
+
+type NotEnoughLicenses struct {
+ RuntimeFault
+}
+
+func init() {
+ t["NotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem()
+}
+
+type NotEnoughLicensesFault BaseNotEnoughLicenses
+
+func init() {
+ t["NotEnoughLicensesFault"] = reflect.TypeOf((*NotEnoughLicensesFault)(nil)).Elem()
+}
+
+type NotEnoughLogicalCpus struct {
+ NotEnoughCpus
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["NotEnoughLogicalCpus"] = reflect.TypeOf((*NotEnoughLogicalCpus)(nil)).Elem()
+}
+
+type NotEnoughLogicalCpusFault NotEnoughLogicalCpus
+
+func init() {
+ t["NotEnoughLogicalCpusFault"] = reflect.TypeOf((*NotEnoughLogicalCpusFault)(nil)).Elem()
+}
+
+type NotEnoughResourcesToStartVmEvent struct {
+ VmEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["NotEnoughResourcesToStartVmEvent"] = reflect.TypeOf((*NotEnoughResourcesToStartVmEvent)(nil)).Elem()
+}
+
+type NotFound struct {
+ VimFault
+}
+
+func init() {
+ t["NotFound"] = reflect.TypeOf((*NotFound)(nil)).Elem()
+}
+
+type NotFoundFault NotFound
+
+func init() {
+ t["NotFoundFault"] = reflect.TypeOf((*NotFoundFault)(nil)).Elem()
+}
+
+type NotImplemented struct {
+ RuntimeFault
+}
+
+func init() {
+ t["NotImplemented"] = reflect.TypeOf((*NotImplemented)(nil)).Elem()
+}
+
+type NotImplementedFault NotImplemented
+
+func init() {
+ t["NotImplementedFault"] = reflect.TypeOf((*NotImplementedFault)(nil)).Elem()
+}
+
+type NotSupported struct {
+ RuntimeFault
+}
+
+func init() {
+ t["NotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem()
+}
+
+type NotSupportedDeviceForFT struct {
+ VmFaultToleranceIssue
+
+ Host ManagedObjectReference `xml:"host"`
+ HostName string `xml:"hostName,omitempty"`
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName,omitempty"`
+ DeviceType string `xml:"deviceType"`
+ DeviceLabel string `xml:"deviceLabel,omitempty"`
+}
+
+func init() {
+ t["NotSupportedDeviceForFT"] = reflect.TypeOf((*NotSupportedDeviceForFT)(nil)).Elem()
+}
+
+type NotSupportedDeviceForFTFault NotSupportedDeviceForFT
+
+func init() {
+ t["NotSupportedDeviceForFTFault"] = reflect.TypeOf((*NotSupportedDeviceForFTFault)(nil)).Elem()
+}
+
+type NotSupportedFault BaseNotSupported
+
+func init() {
+ t["NotSupportedFault"] = reflect.TypeOf((*NotSupportedFault)(nil)).Elem()
+}
+
+type NotSupportedHost struct {
+ HostConnectFault
+
+ ProductName string `xml:"productName,omitempty"`
+ ProductVersion string `xml:"productVersion,omitempty"`
+}
+
+func init() {
+ t["NotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem()
+}
+
+type NotSupportedHostFault BaseNotSupportedHost
+
+func init() {
+ t["NotSupportedHostFault"] = reflect.TypeOf((*NotSupportedHostFault)(nil)).Elem()
+}
+
+type NotSupportedHostForChecksum struct {
+ VimFault
+}
+
+func init() {
+ t["NotSupportedHostForChecksum"] = reflect.TypeOf((*NotSupportedHostForChecksum)(nil)).Elem()
+}
+
+type NotSupportedHostForChecksumFault NotSupportedHostForChecksum
+
+func init() {
+ t["NotSupportedHostForChecksumFault"] = reflect.TypeOf((*NotSupportedHostForChecksumFault)(nil)).Elem()
+}
+
+type NotSupportedHostForVFlash struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["NotSupportedHostForVFlash"] = reflect.TypeOf((*NotSupportedHostForVFlash)(nil)).Elem()
+}
+
+type NotSupportedHostForVFlashFault NotSupportedHostForVFlash
+
+func init() {
+ t["NotSupportedHostForVFlashFault"] = reflect.TypeOf((*NotSupportedHostForVFlashFault)(nil)).Elem()
+}
+
+type NotSupportedHostForVmcp struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["NotSupportedHostForVmcp"] = reflect.TypeOf((*NotSupportedHostForVmcp)(nil)).Elem()
+}
+
+type NotSupportedHostForVmcpFault NotSupportedHostForVmcp
+
+func init() {
+ t["NotSupportedHostForVmcpFault"] = reflect.TypeOf((*NotSupportedHostForVmcpFault)(nil)).Elem()
+}
+
+type NotSupportedHostForVmemFile struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["NotSupportedHostForVmemFile"] = reflect.TypeOf((*NotSupportedHostForVmemFile)(nil)).Elem()
+}
+
+type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile
+
+func init() {
+ t["NotSupportedHostForVmemFileFault"] = reflect.TypeOf((*NotSupportedHostForVmemFileFault)(nil)).Elem()
+}
+
+type NotSupportedHostForVsan struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["NotSupportedHostForVsan"] = reflect.TypeOf((*NotSupportedHostForVsan)(nil)).Elem()
+}
+
+type NotSupportedHostForVsanFault NotSupportedHostForVsan
+
+func init() {
+ t["NotSupportedHostForVsanFault"] = reflect.TypeOf((*NotSupportedHostForVsanFault)(nil)).Elem()
+}
+
+type NotSupportedHostInCluster struct {
+ NotSupportedHost
+}
+
+func init() {
+ t["NotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem()
+}
+
+type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster
+
+func init() {
+ t["NotSupportedHostInClusterFault"] = reflect.TypeOf((*NotSupportedHostInClusterFault)(nil)).Elem()
+}
+
+type NotSupportedHostInDvs struct {
+ NotSupportedHost
+
+ SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec"`
+}
+
+func init() {
+ t["NotSupportedHostInDvs"] = reflect.TypeOf((*NotSupportedHostInDvs)(nil)).Elem()
+}
+
+type NotSupportedHostInDvsFault NotSupportedHostInDvs
+
+func init() {
+ t["NotSupportedHostInDvsFault"] = reflect.TypeOf((*NotSupportedHostInDvsFault)(nil)).Elem()
+}
+
+type NotSupportedHostInHACluster struct {
+ NotSupportedHost
+
+ HostName string `xml:"hostName"`
+ Build string `xml:"build"`
+}
+
+func init() {
+ t["NotSupportedHostInHACluster"] = reflect.TypeOf((*NotSupportedHostInHACluster)(nil)).Elem()
+}
+
+type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster
+
+func init() {
+ t["NotSupportedHostInHAClusterFault"] = reflect.TypeOf((*NotSupportedHostInHAClusterFault)(nil)).Elem()
+}
+
+type NotUserConfigurableProperty struct {
+ VAppPropertyFault
+}
+
+func init() {
+ t["NotUserConfigurableProperty"] = reflect.TypeOf((*NotUserConfigurableProperty)(nil)).Elem()
+}
+
+type NotUserConfigurablePropertyFault NotUserConfigurableProperty
+
+func init() {
+ t["NotUserConfigurablePropertyFault"] = reflect.TypeOf((*NotUserConfigurablePropertyFault)(nil)).Elem()
+}
+
+type NumPortsProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["NumPortsProfile"] = reflect.TypeOf((*NumPortsProfile)(nil)).Elem()
+}
+
+type NumVirtualCoresPerSocketNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest"`
+ NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm"`
+}
+
+func init() {
+ t["NumVirtualCoresPerSocketNotSupported"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupported)(nil)).Elem()
+}
+
+type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported
+
+func init() {
+ t["NumVirtualCoresPerSocketNotSupportedFault"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupportedFault)(nil)).Elem()
+}
+
+type NumVirtualCpusExceedsLimit struct {
+ InsufficientResourcesFault
+
+ MaxSupportedVcpus int32 `xml:"maxSupportedVcpus"`
+}
+
+func init() {
+ t["NumVirtualCpusExceedsLimit"] = reflect.TypeOf((*NumVirtualCpusExceedsLimit)(nil)).Elem()
+}
+
+type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit
+
+func init() {
+ t["NumVirtualCpusExceedsLimitFault"] = reflect.TypeOf((*NumVirtualCpusExceedsLimitFault)(nil)).Elem()
+}
+
+type NumVirtualCpusIncompatible struct {
+ VmConfigFault
+
+ Reason string `xml:"reason"`
+ NumCpu int32 `xml:"numCpu"`
+}
+
+func init() {
+ t["NumVirtualCpusIncompatible"] = reflect.TypeOf((*NumVirtualCpusIncompatible)(nil)).Elem()
+}
+
+type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible
+
+func init() {
+ t["NumVirtualCpusIncompatibleFault"] = reflect.TypeOf((*NumVirtualCpusIncompatibleFault)(nil)).Elem()
+}
+
+type NumVirtualCpusNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest"`
+ NumCpuVm int32 `xml:"numCpuVm"`
+}
+
+func init() {
+ t["NumVirtualCpusNotSupported"] = reflect.TypeOf((*NumVirtualCpusNotSupported)(nil)).Elem()
+}
+
+type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported
+
+func init() {
+ t["NumVirtualCpusNotSupportedFault"] = reflect.TypeOf((*NumVirtualCpusNotSupportedFault)(nil)).Elem()
+}
+
+type NumericRange struct {
+ DynamicData
+
+ Start int32 `xml:"start"`
+ End int32 `xml:"end"`
+}
+
+func init() {
+ t["NumericRange"] = reflect.TypeOf((*NumericRange)(nil)).Elem()
+}
+
+type ObjectContent struct {
+ DynamicData
+
+ Obj ManagedObjectReference `xml:"obj"`
+ PropSet []DynamicProperty `xml:"propSet,omitempty"`
+ MissingSet []MissingProperty `xml:"missingSet,omitempty"`
+}
+
+func init() {
+ t["ObjectContent"] = reflect.TypeOf((*ObjectContent)(nil)).Elem()
+}
+
+type ObjectSpec struct {
+ DynamicData
+
+ Obj ManagedObjectReference `xml:"obj"`
+ Skip *bool `xml:"skip"`
+ SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr"`
+}
+
+func init() {
+ t["ObjectSpec"] = reflect.TypeOf((*ObjectSpec)(nil)).Elem()
+}
+
+type ObjectUpdate struct {
+ DynamicData
+
+ Kind ObjectUpdateKind `xml:"kind"`
+ Obj ManagedObjectReference `xml:"obj"`
+ ChangeSet []PropertyChange `xml:"changeSet,omitempty"`
+ MissingSet []MissingProperty `xml:"missingSet,omitempty"`
+}
+
+func init() {
+ t["ObjectUpdate"] = reflect.TypeOf((*ObjectUpdate)(nil)).Elem()
+}
+
+type OnceTaskScheduler struct {
+ TaskScheduler
+
+ RunAt *time.Time `xml:"runAt"`
+}
+
+func init() {
+ t["OnceTaskScheduler"] = reflect.TypeOf((*OnceTaskScheduler)(nil)).Elem()
+}
+
+type OpaqueNetworkCapability struct {
+ DynamicData
+
+ NetworkReservationSupported bool `xml:"networkReservationSupported"`
+}
+
+func init() {
+ t["OpaqueNetworkCapability"] = reflect.TypeOf((*OpaqueNetworkCapability)(nil)).Elem()
+}
+
+type OpaqueNetworkSummary struct {
+ NetworkSummary
+
+ OpaqueNetworkId string `xml:"opaqueNetworkId"`
+ OpaqueNetworkType string `xml:"opaqueNetworkType"`
+}
+
+func init() {
+ t["OpaqueNetworkSummary"] = reflect.TypeOf((*OpaqueNetworkSummary)(nil)).Elem()
+}
+
+type OpaqueNetworkTargetInfo struct {
+ VirtualMachineTargetInfo
+
+ Network OpaqueNetworkSummary `xml:"network"`
+ NetworkReservationSupported *bool `xml:"networkReservationSupported"`
+}
+
+func init() {
+ t["OpaqueNetworkTargetInfo"] = reflect.TypeOf((*OpaqueNetworkTargetInfo)(nil)).Elem()
+}
+
+type OpenInventoryViewFolder OpenInventoryViewFolderRequestType
+
+func init() {
+ t["OpenInventoryViewFolder"] = reflect.TypeOf((*OpenInventoryViewFolder)(nil)).Elem()
+}
+
+type OpenInventoryViewFolderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity []ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["OpenInventoryViewFolderRequestType"] = reflect.TypeOf((*OpenInventoryViewFolderRequestType)(nil)).Elem()
+}
+
+type OpenInventoryViewFolderResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type OperationDisabledByGuest struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["OperationDisabledByGuest"] = reflect.TypeOf((*OperationDisabledByGuest)(nil)).Elem()
+}
+
+type OperationDisabledByGuestFault OperationDisabledByGuest
+
+func init() {
+ t["OperationDisabledByGuestFault"] = reflect.TypeOf((*OperationDisabledByGuestFault)(nil)).Elem()
+}
+
+type OperationDisallowedOnHost struct {
+ RuntimeFault
+}
+
+func init() {
+ t["OperationDisallowedOnHost"] = reflect.TypeOf((*OperationDisallowedOnHost)(nil)).Elem()
+}
+
+type OperationDisallowedOnHostFault OperationDisallowedOnHost
+
+func init() {
+ t["OperationDisallowedOnHostFault"] = reflect.TypeOf((*OperationDisallowedOnHostFault)(nil)).Elem()
+}
+
+type OperationNotSupportedByGuest struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["OperationNotSupportedByGuest"] = reflect.TypeOf((*OperationNotSupportedByGuest)(nil)).Elem()
+}
+
+type OperationNotSupportedByGuestFault OperationNotSupportedByGuest
+
+func init() {
+ t["OperationNotSupportedByGuestFault"] = reflect.TypeOf((*OperationNotSupportedByGuestFault)(nil)).Elem()
+}
+
+type OptionDef struct {
+ ElementDescription
+
+ OptionType BaseOptionType `xml:"optionType,typeattr"`
+}
+
+func init() {
+ t["OptionDef"] = reflect.TypeOf((*OptionDef)(nil)).Elem()
+}
+
+type OptionProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["OptionProfile"] = reflect.TypeOf((*OptionProfile)(nil)).Elem()
+}
+
+type OptionType struct {
+ DynamicData
+
+ ValueIsReadonly *bool `xml:"valueIsReadonly"`
+}
+
+func init() {
+ t["OptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem()
+}
+
+type OptionValue struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Value AnyType `xml:"value,typeattr"`
+}
+
+func init() {
+ t["OptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem()
+}
+
+type OrAlarmExpression struct {
+ AlarmExpression
+
+ Expression []BaseAlarmExpression `xml:"expression,typeattr"`
+}
+
+func init() {
+ t["OrAlarmExpression"] = reflect.TypeOf((*OrAlarmExpression)(nil)).Elem()
+}
+
+type OutOfBounds struct {
+ VimFault
+
+ ArgumentName string `xml:"argumentName"`
+}
+
+func init() {
+ t["OutOfBounds"] = reflect.TypeOf((*OutOfBounds)(nil)).Elem()
+}
+
+type OutOfBoundsFault OutOfBounds
+
+func init() {
+ t["OutOfBoundsFault"] = reflect.TypeOf((*OutOfBoundsFault)(nil)).Elem()
+}
+
+type OutOfSyncDvsHost struct {
+ DvsEvent
+
+ HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync"`
+}
+
+func init() {
+ t["OutOfSyncDvsHost"] = reflect.TypeOf((*OutOfSyncDvsHost)(nil)).Elem()
+}
+
+type OverwriteCustomizationSpec OverwriteCustomizationSpecRequestType
+
+func init() {
+ t["OverwriteCustomizationSpec"] = reflect.TypeOf((*OverwriteCustomizationSpec)(nil)).Elem()
+}
+
+type OverwriteCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Item CustomizationSpecItem `xml:"item"`
+}
+
+func init() {
+ t["OverwriteCustomizationSpecRequestType"] = reflect.TypeOf((*OverwriteCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type OverwriteCustomizationSpecResponse struct {
+}
+
+type OvfAttribute struct {
+ OvfInvalidPackage
+
+ ElementName string `xml:"elementName"`
+ AttributeName string `xml:"attributeName"`
+}
+
+func init() {
+ t["OvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem()
+}
+
+type OvfAttributeFault BaseOvfAttribute
+
+func init() {
+ t["OvfAttributeFault"] = reflect.TypeOf((*OvfAttributeFault)(nil)).Elem()
+}
+
+type OvfConnectedDevice struct {
+ OvfHardwareExport
+}
+
+func init() {
+ t["OvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem()
+}
+
+type OvfConnectedDeviceFault BaseOvfConnectedDevice
+
+func init() {
+ t["OvfConnectedDeviceFault"] = reflect.TypeOf((*OvfConnectedDeviceFault)(nil)).Elem()
+}
+
+type OvfConnectedDeviceFloppy struct {
+ OvfConnectedDevice
+
+ Filename string `xml:"filename"`
+}
+
+func init() {
+ t["OvfConnectedDeviceFloppy"] = reflect.TypeOf((*OvfConnectedDeviceFloppy)(nil)).Elem()
+}
+
+type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy
+
+func init() {
+ t["OvfConnectedDeviceFloppyFault"] = reflect.TypeOf((*OvfConnectedDeviceFloppyFault)(nil)).Elem()
+}
+
+type OvfConnectedDeviceIso struct {
+ OvfConnectedDevice
+
+ Filename string `xml:"filename"`
+}
+
+func init() {
+ t["OvfConnectedDeviceIso"] = reflect.TypeOf((*OvfConnectedDeviceIso)(nil)).Elem()
+}
+
+type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso
+
+func init() {
+ t["OvfConnectedDeviceIsoFault"] = reflect.TypeOf((*OvfConnectedDeviceIsoFault)(nil)).Elem()
+}
+
+type OvfConstraint struct {
+ OvfInvalidPackage
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["OvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem()
+}
+
+type OvfConstraintFault BaseOvfConstraint
+
+func init() {
+ t["OvfConstraintFault"] = reflect.TypeOf((*OvfConstraintFault)(nil)).Elem()
+}
+
+type OvfConsumerCallbackFault struct {
+ OvfFault
+
+ ExtensionKey string `xml:"extensionKey"`
+ ExtensionName string `xml:"extensionName"`
+}
+
+func init() {
+ t["OvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem()
+}
+
+type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault
+
+func init() {
+ t["OvfConsumerCallbackFaultFault"] = reflect.TypeOf((*OvfConsumerCallbackFaultFault)(nil)).Elem()
+}
+
+type OvfConsumerCommunicationError struct {
+ OvfConsumerCallbackFault
+
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfConsumerCommunicationError"] = reflect.TypeOf((*OvfConsumerCommunicationError)(nil)).Elem()
+}
+
+type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError
+
+func init() {
+ t["OvfConsumerCommunicationErrorFault"] = reflect.TypeOf((*OvfConsumerCommunicationErrorFault)(nil)).Elem()
+}
+
+type OvfConsumerFault struct {
+ OvfConsumerCallbackFault
+
+ ErrorKey string `xml:"errorKey"`
+ Message string `xml:"message"`
+ Params []KeyValue `xml:"params,omitempty"`
+}
+
+func init() {
+ t["OvfConsumerFault"] = reflect.TypeOf((*OvfConsumerFault)(nil)).Elem()
+}
+
+type OvfConsumerFaultFault OvfConsumerFault
+
+func init() {
+ t["OvfConsumerFaultFault"] = reflect.TypeOf((*OvfConsumerFaultFault)(nil)).Elem()
+}
+
+type OvfConsumerInvalidSection struct {
+ OvfConsumerCallbackFault
+
+ LineNumber int32 `xml:"lineNumber"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfConsumerInvalidSection"] = reflect.TypeOf((*OvfConsumerInvalidSection)(nil)).Elem()
+}
+
+type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection
+
+func init() {
+ t["OvfConsumerInvalidSectionFault"] = reflect.TypeOf((*OvfConsumerInvalidSectionFault)(nil)).Elem()
+}
+
+type OvfConsumerOstNode struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Type string `xml:"type"`
+ Section []OvfConsumerOvfSection `xml:"section,omitempty"`
+ Child []OvfConsumerOstNode `xml:"child,omitempty"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["OvfConsumerOstNode"] = reflect.TypeOf((*OvfConsumerOstNode)(nil)).Elem()
+}
+
+type OvfConsumerOvfSection struct {
+ DynamicData
+
+ LineNumber int32 `xml:"lineNumber"`
+ Xml string `xml:"xml"`
+}
+
+func init() {
+ t["OvfConsumerOvfSection"] = reflect.TypeOf((*OvfConsumerOvfSection)(nil)).Elem()
+}
+
+type OvfConsumerPowerOnFault struct {
+ InvalidState
+
+ ExtensionKey string `xml:"extensionKey"`
+ ExtensionName string `xml:"extensionName"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfConsumerPowerOnFault"] = reflect.TypeOf((*OvfConsumerPowerOnFault)(nil)).Elem()
+}
+
+type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault
+
+func init() {
+ t["OvfConsumerPowerOnFaultFault"] = reflect.TypeOf((*OvfConsumerPowerOnFaultFault)(nil)).Elem()
+}
+
+type OvfConsumerUndeclaredSection struct {
+ OvfConsumerCallbackFault
+
+ QualifiedSectionType string `xml:"qualifiedSectionType"`
+}
+
+func init() {
+ t["OvfConsumerUndeclaredSection"] = reflect.TypeOf((*OvfConsumerUndeclaredSection)(nil)).Elem()
+}
+
+type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection
+
+func init() {
+ t["OvfConsumerUndeclaredSectionFault"] = reflect.TypeOf((*OvfConsumerUndeclaredSectionFault)(nil)).Elem()
+}
+
+type OvfConsumerUndefinedPrefix struct {
+ OvfConsumerCallbackFault
+
+ Prefix string `xml:"prefix"`
+}
+
+func init() {
+ t["OvfConsumerUndefinedPrefix"] = reflect.TypeOf((*OvfConsumerUndefinedPrefix)(nil)).Elem()
+}
+
+type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix
+
+func init() {
+ t["OvfConsumerUndefinedPrefixFault"] = reflect.TypeOf((*OvfConsumerUndefinedPrefixFault)(nil)).Elem()
+}
+
+type OvfConsumerValidationFault struct {
+ VmConfigFault
+
+ ExtensionKey string `xml:"extensionKey"`
+ ExtensionName string `xml:"extensionName"`
+ Message string `xml:"message"`
+}
+
+func init() {
+ t["OvfConsumerValidationFault"] = reflect.TypeOf((*OvfConsumerValidationFault)(nil)).Elem()
+}
+
+type OvfConsumerValidationFaultFault OvfConsumerValidationFault
+
+func init() {
+ t["OvfConsumerValidationFaultFault"] = reflect.TypeOf((*OvfConsumerValidationFaultFault)(nil)).Elem()
+}
+
+type OvfCpuCompatibility struct {
+ OvfImport
+
+ RegisterName string `xml:"registerName"`
+ Level int32 `xml:"level"`
+ RegisterValue string `xml:"registerValue"`
+ DesiredRegisterValue string `xml:"desiredRegisterValue"`
+}
+
+func init() {
+ t["OvfCpuCompatibility"] = reflect.TypeOf((*OvfCpuCompatibility)(nil)).Elem()
+}
+
+type OvfCpuCompatibilityCheckNotSupported struct {
+ OvfImport
+}
+
+func init() {
+ t["OvfCpuCompatibilityCheckNotSupported"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupported)(nil)).Elem()
+}
+
+type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported
+
+func init() {
+ t["OvfCpuCompatibilityCheckNotSupportedFault"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupportedFault)(nil)).Elem()
+}
+
+type OvfCpuCompatibilityFault OvfCpuCompatibility
+
+func init() {
+ t["OvfCpuCompatibilityFault"] = reflect.TypeOf((*OvfCpuCompatibilityFault)(nil)).Elem()
+}
+
+type OvfCreateDescriptorParams struct {
+ DynamicData
+
+ OvfFiles []OvfFile `xml:"ovfFiles,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+ IncludeImageFiles *bool `xml:"includeImageFiles"`
+ ExportOption []string `xml:"exportOption,omitempty"`
+ Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"`
+}
+
+func init() {
+ t["OvfCreateDescriptorParams"] = reflect.TypeOf((*OvfCreateDescriptorParams)(nil)).Elem()
+}
+
+type OvfCreateDescriptorResult struct {
+ DynamicData
+
+ OvfDescriptor string `xml:"ovfDescriptor"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+ Warning []LocalizedMethodFault `xml:"warning,omitempty"`
+ IncludeImageFiles *bool `xml:"includeImageFiles"`
+}
+
+func init() {
+ t["OvfCreateDescriptorResult"] = reflect.TypeOf((*OvfCreateDescriptorResult)(nil)).Elem()
+}
+
+type OvfCreateImportSpecParams struct {
+ OvfManagerCommonParams
+
+ EntityName string `xml:"entityName"`
+ HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty"`
+ NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty"`
+ IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty"`
+ IpProtocol string `xml:"ipProtocol,omitempty"`
+ PropertyMapping []KeyValue `xml:"propertyMapping,omitempty"`
+ ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty"`
+ DiskProvisioning string `xml:"diskProvisioning,omitempty"`
+ InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty"`
+}
+
+func init() {
+ t["OvfCreateImportSpecParams"] = reflect.TypeOf((*OvfCreateImportSpecParams)(nil)).Elem()
+}
+
+type OvfCreateImportSpecResult struct {
+ DynamicData
+
+ ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr"`
+ FileItem []OvfFileItem `xml:"fileItem,omitempty"`
+ Warning []LocalizedMethodFault `xml:"warning,omitempty"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["OvfCreateImportSpecResult"] = reflect.TypeOf((*OvfCreateImportSpecResult)(nil)).Elem()
+}
+
+type OvfDeploymentOption struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Label string `xml:"label"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfDeploymentOption"] = reflect.TypeOf((*OvfDeploymentOption)(nil)).Elem()
+}
+
+type OvfDiskMappingNotFound struct {
+ OvfSystemFault
+
+ DiskName string `xml:"diskName"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["OvfDiskMappingNotFound"] = reflect.TypeOf((*OvfDiskMappingNotFound)(nil)).Elem()
+}
+
+type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound
+
+func init() {
+ t["OvfDiskMappingNotFoundFault"] = reflect.TypeOf((*OvfDiskMappingNotFoundFault)(nil)).Elem()
+}
+
+type OvfDiskOrderConstraint struct {
+ OvfConstraint
+}
+
+func init() {
+ t["OvfDiskOrderConstraint"] = reflect.TypeOf((*OvfDiskOrderConstraint)(nil)).Elem()
+}
+
+type OvfDiskOrderConstraintFault OvfDiskOrderConstraint
+
+func init() {
+ t["OvfDiskOrderConstraintFault"] = reflect.TypeOf((*OvfDiskOrderConstraintFault)(nil)).Elem()
+}
+
+type OvfDuplicateElement struct {
+ OvfElement
+}
+
+func init() {
+ t["OvfDuplicateElement"] = reflect.TypeOf((*OvfDuplicateElement)(nil)).Elem()
+}
+
+type OvfDuplicateElementFault OvfDuplicateElement
+
+func init() {
+ t["OvfDuplicateElementFault"] = reflect.TypeOf((*OvfDuplicateElementFault)(nil)).Elem()
+}
+
+type OvfDuplicatedElementBoundary struct {
+ OvfElement
+
+ Boundary string `xml:"boundary"`
+}
+
+func init() {
+ t["OvfDuplicatedElementBoundary"] = reflect.TypeOf((*OvfDuplicatedElementBoundary)(nil)).Elem()
+}
+
+type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary
+
+func init() {
+ t["OvfDuplicatedElementBoundaryFault"] = reflect.TypeOf((*OvfDuplicatedElementBoundaryFault)(nil)).Elem()
+}
+
+type OvfDuplicatedPropertyIdExport struct {
+ OvfExport
+
+ Fqid string `xml:"fqid"`
+}
+
+func init() {
+ t["OvfDuplicatedPropertyIdExport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExport)(nil)).Elem()
+}
+
+type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport
+
+func init() {
+ t["OvfDuplicatedPropertyIdExportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExportFault)(nil)).Elem()
+}
+
+type OvfDuplicatedPropertyIdImport struct {
+ OvfExport
+}
+
+func init() {
+ t["OvfDuplicatedPropertyIdImport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImport)(nil)).Elem()
+}
+
+type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport
+
+func init() {
+ t["OvfDuplicatedPropertyIdImportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImportFault)(nil)).Elem()
+}
+
+type OvfElement struct {
+ OvfInvalidPackage
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["OvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem()
+}
+
+type OvfElementFault BaseOvfElement
+
+func init() {
+ t["OvfElementFault"] = reflect.TypeOf((*OvfElementFault)(nil)).Elem()
+}
+
+type OvfElementInvalidValue struct {
+ OvfElement
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfElementInvalidValue"] = reflect.TypeOf((*OvfElementInvalidValue)(nil)).Elem()
+}
+
+type OvfElementInvalidValueFault OvfElementInvalidValue
+
+func init() {
+ t["OvfElementInvalidValueFault"] = reflect.TypeOf((*OvfElementInvalidValueFault)(nil)).Elem()
+}
+
+type OvfExport struct {
+ OvfFault
+}
+
+func init() {
+ t["OvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem()
+}
+
+type OvfExportFailed struct {
+ OvfExport
+}
+
+func init() {
+ t["OvfExportFailed"] = reflect.TypeOf((*OvfExportFailed)(nil)).Elem()
+}
+
+type OvfExportFailedFault OvfExportFailed
+
+func init() {
+ t["OvfExportFailedFault"] = reflect.TypeOf((*OvfExportFailedFault)(nil)).Elem()
+}
+
+type OvfExportFault BaseOvfExport
+
+func init() {
+ t["OvfExportFault"] = reflect.TypeOf((*OvfExportFault)(nil)).Elem()
+}
+
+type OvfFault struct {
+ VimFault
+}
+
+func init() {
+ t["OvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem()
+}
+
+type OvfFaultFault BaseOvfFault
+
+func init() {
+ t["OvfFaultFault"] = reflect.TypeOf((*OvfFaultFault)(nil)).Elem()
+}
+
+type OvfFile struct {
+ DynamicData
+
+ DeviceId string `xml:"deviceId"`
+ Path string `xml:"path"`
+ CompressionMethod string `xml:"compressionMethod,omitempty"`
+ ChunkSize int64 `xml:"chunkSize,omitempty"`
+ Size int64 `xml:"size"`
+ Capacity int64 `xml:"capacity,omitempty"`
+ PopulatedSize int64 `xml:"populatedSize,omitempty"`
+}
+
+func init() {
+ t["OvfFile"] = reflect.TypeOf((*OvfFile)(nil)).Elem()
+}
+
+type OvfFileItem struct {
+ DynamicData
+
+ DeviceId string `xml:"deviceId"`
+ Path string `xml:"path"`
+ CompressionMethod string `xml:"compressionMethod,omitempty"`
+ ChunkSize int64 `xml:"chunkSize,omitempty"`
+ Size int64 `xml:"size,omitempty"`
+ CimType int32 `xml:"cimType"`
+ Create bool `xml:"create"`
+}
+
+func init() {
+ t["OvfFileItem"] = reflect.TypeOf((*OvfFileItem)(nil)).Elem()
+}
+
+type OvfHardwareCheck struct {
+ OvfImport
+}
+
+func init() {
+ t["OvfHardwareCheck"] = reflect.TypeOf((*OvfHardwareCheck)(nil)).Elem()
+}
+
+type OvfHardwareCheckFault OvfHardwareCheck
+
+func init() {
+ t["OvfHardwareCheckFault"] = reflect.TypeOf((*OvfHardwareCheckFault)(nil)).Elem()
+}
+
+type OvfHardwareExport struct {
+ OvfExport
+
+ Device BaseVirtualDevice `xml:"device,omitempty,typeattr"`
+ VmPath string `xml:"vmPath"`
+}
+
+func init() {
+ t["OvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem()
+}
+
+type OvfHardwareExportFault BaseOvfHardwareExport
+
+func init() {
+ t["OvfHardwareExportFault"] = reflect.TypeOf((*OvfHardwareExportFault)(nil)).Elem()
+}
+
+type OvfHostResourceConstraint struct {
+ OvfConstraint
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfHostResourceConstraint"] = reflect.TypeOf((*OvfHostResourceConstraint)(nil)).Elem()
+}
+
+type OvfHostResourceConstraintFault OvfHostResourceConstraint
+
+func init() {
+ t["OvfHostResourceConstraintFault"] = reflect.TypeOf((*OvfHostResourceConstraintFault)(nil)).Elem()
+}
+
+type OvfHostValueNotParsed struct {
+ OvfSystemFault
+
+ Property string `xml:"property"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfHostValueNotParsed"] = reflect.TypeOf((*OvfHostValueNotParsed)(nil)).Elem()
+}
+
+type OvfHostValueNotParsedFault OvfHostValueNotParsed
+
+func init() {
+ t["OvfHostValueNotParsedFault"] = reflect.TypeOf((*OvfHostValueNotParsedFault)(nil)).Elem()
+}
+
+type OvfImport struct {
+ OvfFault
+}
+
+func init() {
+ t["OvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem()
+}
+
+type OvfImportFailed struct {
+ OvfImport
+}
+
+func init() {
+ t["OvfImportFailed"] = reflect.TypeOf((*OvfImportFailed)(nil)).Elem()
+}
+
+type OvfImportFailedFault OvfImportFailed
+
+func init() {
+ t["OvfImportFailedFault"] = reflect.TypeOf((*OvfImportFailedFault)(nil)).Elem()
+}
+
+type OvfImportFault BaseOvfImport
+
+func init() {
+ t["OvfImportFault"] = reflect.TypeOf((*OvfImportFault)(nil)).Elem()
+}
+
+type OvfInternalError struct {
+ OvfSystemFault
+}
+
+func init() {
+ t["OvfInternalError"] = reflect.TypeOf((*OvfInternalError)(nil)).Elem()
+}
+
+type OvfInternalErrorFault OvfInternalError
+
+func init() {
+ t["OvfInternalErrorFault"] = reflect.TypeOf((*OvfInternalErrorFault)(nil)).Elem()
+}
+
+type OvfInvalidPackage struct {
+ OvfFault
+
+ LineNumber int32 `xml:"lineNumber"`
+}
+
+func init() {
+ t["OvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem()
+}
+
+type OvfInvalidPackageFault BaseOvfInvalidPackage
+
+func init() {
+ t["OvfInvalidPackageFault"] = reflect.TypeOf((*OvfInvalidPackageFault)(nil)).Elem()
+}
+
+type OvfInvalidValue struct {
+ OvfAttribute
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem()
+}
+
+type OvfInvalidValueConfiguration struct {
+ OvfInvalidValue
+}
+
+func init() {
+ t["OvfInvalidValueConfiguration"] = reflect.TypeOf((*OvfInvalidValueConfiguration)(nil)).Elem()
+}
+
+type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration
+
+func init() {
+ t["OvfInvalidValueConfigurationFault"] = reflect.TypeOf((*OvfInvalidValueConfigurationFault)(nil)).Elem()
+}
+
+type OvfInvalidValueEmpty struct {
+ OvfInvalidValue
+}
+
+func init() {
+ t["OvfInvalidValueEmpty"] = reflect.TypeOf((*OvfInvalidValueEmpty)(nil)).Elem()
+}
+
+type OvfInvalidValueEmptyFault OvfInvalidValueEmpty
+
+func init() {
+ t["OvfInvalidValueEmptyFault"] = reflect.TypeOf((*OvfInvalidValueEmptyFault)(nil)).Elem()
+}
+
+type OvfInvalidValueFault BaseOvfInvalidValue
+
+func init() {
+ t["OvfInvalidValueFault"] = reflect.TypeOf((*OvfInvalidValueFault)(nil)).Elem()
+}
+
+type OvfInvalidValueFormatMalformed struct {
+ OvfInvalidValue
+}
+
+func init() {
+ t["OvfInvalidValueFormatMalformed"] = reflect.TypeOf((*OvfInvalidValueFormatMalformed)(nil)).Elem()
+}
+
+type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed
+
+func init() {
+ t["OvfInvalidValueFormatMalformedFault"] = reflect.TypeOf((*OvfInvalidValueFormatMalformedFault)(nil)).Elem()
+}
+
+type OvfInvalidValueReference struct {
+ OvfInvalidValue
+}
+
+func init() {
+ t["OvfInvalidValueReference"] = reflect.TypeOf((*OvfInvalidValueReference)(nil)).Elem()
+}
+
+type OvfInvalidValueReferenceFault OvfInvalidValueReference
+
+func init() {
+ t["OvfInvalidValueReferenceFault"] = reflect.TypeOf((*OvfInvalidValueReferenceFault)(nil)).Elem()
+}
+
+type OvfInvalidVmName struct {
+ OvfUnsupportedPackage
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["OvfInvalidVmName"] = reflect.TypeOf((*OvfInvalidVmName)(nil)).Elem()
+}
+
+type OvfInvalidVmNameFault OvfInvalidVmName
+
+func init() {
+ t["OvfInvalidVmNameFault"] = reflect.TypeOf((*OvfInvalidVmNameFault)(nil)).Elem()
+}
+
+type OvfManagerCommonParams struct {
+ DynamicData
+
+ Locale string `xml:"locale"`
+ DeploymentOption string `xml:"deploymentOption"`
+ MsgBundle []KeyValue `xml:"msgBundle,omitempty"`
+ ImportOption []string `xml:"importOption,omitempty"`
+}
+
+func init() {
+ t["OvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem()
+}
+
+type OvfMappedOsId struct {
+ OvfImport
+
+ OvfId int32 `xml:"ovfId"`
+ OvfDescription string `xml:"ovfDescription"`
+ TargetDescription string `xml:"targetDescription"`
+}
+
+func init() {
+ t["OvfMappedOsId"] = reflect.TypeOf((*OvfMappedOsId)(nil)).Elem()
+}
+
+type OvfMappedOsIdFault OvfMappedOsId
+
+func init() {
+ t["OvfMappedOsIdFault"] = reflect.TypeOf((*OvfMappedOsIdFault)(nil)).Elem()
+}
+
+type OvfMissingAttribute struct {
+ OvfAttribute
+}
+
+func init() {
+ t["OvfMissingAttribute"] = reflect.TypeOf((*OvfMissingAttribute)(nil)).Elem()
+}
+
+type OvfMissingAttributeFault OvfMissingAttribute
+
+func init() {
+ t["OvfMissingAttributeFault"] = reflect.TypeOf((*OvfMissingAttributeFault)(nil)).Elem()
+}
+
+type OvfMissingElement struct {
+ OvfElement
+}
+
+func init() {
+ t["OvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem()
+}
+
+type OvfMissingElementFault BaseOvfMissingElement
+
+func init() {
+ t["OvfMissingElementFault"] = reflect.TypeOf((*OvfMissingElementFault)(nil)).Elem()
+}
+
+type OvfMissingElementNormalBoundary struct {
+ OvfMissingElement
+
+ Boundary string `xml:"boundary"`
+}
+
+func init() {
+ t["OvfMissingElementNormalBoundary"] = reflect.TypeOf((*OvfMissingElementNormalBoundary)(nil)).Elem()
+}
+
+type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary
+
+func init() {
+ t["OvfMissingElementNormalBoundaryFault"] = reflect.TypeOf((*OvfMissingElementNormalBoundaryFault)(nil)).Elem()
+}
+
+type OvfMissingHardware struct {
+ OvfImport
+
+ Name string `xml:"name"`
+ ResourceType int32 `xml:"resourceType"`
+}
+
+func init() {
+ t["OvfMissingHardware"] = reflect.TypeOf((*OvfMissingHardware)(nil)).Elem()
+}
+
+type OvfMissingHardwareFault OvfMissingHardware
+
+func init() {
+ t["OvfMissingHardwareFault"] = reflect.TypeOf((*OvfMissingHardwareFault)(nil)).Elem()
+}
+
+type OvfNetworkInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfNetworkInfo"] = reflect.TypeOf((*OvfNetworkInfo)(nil)).Elem()
+}
+
+type OvfNetworkMapping struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Network ManagedObjectReference `xml:"network"`
+}
+
+func init() {
+ t["OvfNetworkMapping"] = reflect.TypeOf((*OvfNetworkMapping)(nil)).Elem()
+}
+
+type OvfNetworkMappingNotSupported struct {
+ OvfImport
+}
+
+func init() {
+ t["OvfNetworkMappingNotSupported"] = reflect.TypeOf((*OvfNetworkMappingNotSupported)(nil)).Elem()
+}
+
+type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported
+
+func init() {
+ t["OvfNetworkMappingNotSupportedFault"] = reflect.TypeOf((*OvfNetworkMappingNotSupportedFault)(nil)).Elem()
+}
+
+type OvfNoHostNic struct {
+ OvfUnsupportedPackage
+}
+
+func init() {
+ t["OvfNoHostNic"] = reflect.TypeOf((*OvfNoHostNic)(nil)).Elem()
+}
+
+type OvfNoHostNicFault OvfNoHostNic
+
+func init() {
+ t["OvfNoHostNicFault"] = reflect.TypeOf((*OvfNoHostNicFault)(nil)).Elem()
+}
+
+type OvfNoSpaceOnController struct {
+ OvfUnsupportedElement
+
+ Parent string `xml:"parent"`
+}
+
+func init() {
+ t["OvfNoSpaceOnController"] = reflect.TypeOf((*OvfNoSpaceOnController)(nil)).Elem()
+}
+
+type OvfNoSpaceOnControllerFault OvfNoSpaceOnController
+
+func init() {
+ t["OvfNoSpaceOnControllerFault"] = reflect.TypeOf((*OvfNoSpaceOnControllerFault)(nil)).Elem()
+}
+
+type OvfNoSupportedHardwareFamily struct {
+ OvfUnsupportedPackage
+
+ Version string `xml:"version"`
+}
+
+func init() {
+ t["OvfNoSupportedHardwareFamily"] = reflect.TypeOf((*OvfNoSupportedHardwareFamily)(nil)).Elem()
+}
+
+type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily
+
+func init() {
+ t["OvfNoSupportedHardwareFamilyFault"] = reflect.TypeOf((*OvfNoSupportedHardwareFamilyFault)(nil)).Elem()
+}
+
+type OvfOptionInfo struct {
+ DynamicData
+
+ Option string `xml:"option"`
+ Description LocalizableMessage `xml:"description"`
+}
+
+func init() {
+ t["OvfOptionInfo"] = reflect.TypeOf((*OvfOptionInfo)(nil)).Elem()
+}
+
+type OvfParseDescriptorParams struct {
+ OvfManagerCommonParams
+}
+
+func init() {
+ t["OvfParseDescriptorParams"] = reflect.TypeOf((*OvfParseDescriptorParams)(nil)).Elem()
+}
+
+type OvfParseDescriptorResult struct {
+ DynamicData
+
+ Eula []string `xml:"eula,omitempty"`
+ Network []OvfNetworkInfo `xml:"network,omitempty"`
+ IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty"`
+ IpProtocols []string `xml:"ipProtocols,omitempty"`
+ Property []VAppPropertyInfo `xml:"property,omitempty"`
+ ProductInfo *VAppProductInfo `xml:"productInfo,omitempty"`
+ Annotation string `xml:"annotation"`
+ ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty"`
+ ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty"`
+ ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty"`
+ DefaultEntityName string `xml:"defaultEntityName"`
+ VirtualApp bool `xml:"virtualApp"`
+ DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty"`
+ DefaultDeploymentOption string `xml:"defaultDeploymentOption"`
+ EntityName []KeyValue `xml:"entityName,omitempty"`
+ AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+ Warning []LocalizedMethodFault `xml:"warning,omitempty"`
+}
+
+func init() {
+ t["OvfParseDescriptorResult"] = reflect.TypeOf((*OvfParseDescriptorResult)(nil)).Elem()
+}
+
+type OvfProperty struct {
+ OvfInvalidPackage
+
+ Type string `xml:"type"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem()
+}
+
+type OvfPropertyExport struct {
+ OvfExport
+
+ Type string `xml:"type"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfPropertyExport"] = reflect.TypeOf((*OvfPropertyExport)(nil)).Elem()
+}
+
+type OvfPropertyExportFault OvfPropertyExport
+
+func init() {
+ t["OvfPropertyExportFault"] = reflect.TypeOf((*OvfPropertyExportFault)(nil)).Elem()
+}
+
+type OvfPropertyFault BaseOvfProperty
+
+func init() {
+ t["OvfPropertyFault"] = reflect.TypeOf((*OvfPropertyFault)(nil)).Elem()
+}
+
+type OvfPropertyNetwork struct {
+ OvfProperty
+}
+
+func init() {
+ t["OvfPropertyNetwork"] = reflect.TypeOf((*OvfPropertyNetwork)(nil)).Elem()
+}
+
+type OvfPropertyNetworkExport struct {
+ OvfExport
+
+ Network string `xml:"network"`
+}
+
+func init() {
+ t["OvfPropertyNetworkExport"] = reflect.TypeOf((*OvfPropertyNetworkExport)(nil)).Elem()
+}
+
+type OvfPropertyNetworkExportFault OvfPropertyNetworkExport
+
+func init() {
+ t["OvfPropertyNetworkExportFault"] = reflect.TypeOf((*OvfPropertyNetworkExportFault)(nil)).Elem()
+}
+
+type OvfPropertyNetworkFault OvfPropertyNetwork
+
+func init() {
+ t["OvfPropertyNetworkFault"] = reflect.TypeOf((*OvfPropertyNetworkFault)(nil)).Elem()
+}
+
+type OvfPropertyQualifier struct {
+ OvfProperty
+
+ Qualifier string `xml:"qualifier"`
+}
+
+func init() {
+ t["OvfPropertyQualifier"] = reflect.TypeOf((*OvfPropertyQualifier)(nil)).Elem()
+}
+
+type OvfPropertyQualifierDuplicate struct {
+ OvfProperty
+
+ Qualifier string `xml:"qualifier"`
+}
+
+func init() {
+ t["OvfPropertyQualifierDuplicate"] = reflect.TypeOf((*OvfPropertyQualifierDuplicate)(nil)).Elem()
+}
+
+type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate
+
+func init() {
+ t["OvfPropertyQualifierDuplicateFault"] = reflect.TypeOf((*OvfPropertyQualifierDuplicateFault)(nil)).Elem()
+}
+
+type OvfPropertyQualifierFault OvfPropertyQualifier
+
+func init() {
+ t["OvfPropertyQualifierFault"] = reflect.TypeOf((*OvfPropertyQualifierFault)(nil)).Elem()
+}
+
+type OvfPropertyQualifierIgnored struct {
+ OvfProperty
+
+ Qualifier string `xml:"qualifier"`
+}
+
+func init() {
+ t["OvfPropertyQualifierIgnored"] = reflect.TypeOf((*OvfPropertyQualifierIgnored)(nil)).Elem()
+}
+
+type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored
+
+func init() {
+ t["OvfPropertyQualifierIgnoredFault"] = reflect.TypeOf((*OvfPropertyQualifierIgnoredFault)(nil)).Elem()
+}
+
+type OvfPropertyType struct {
+ OvfProperty
+}
+
+func init() {
+ t["OvfPropertyType"] = reflect.TypeOf((*OvfPropertyType)(nil)).Elem()
+}
+
+type OvfPropertyTypeFault OvfPropertyType
+
+func init() {
+ t["OvfPropertyTypeFault"] = reflect.TypeOf((*OvfPropertyTypeFault)(nil)).Elem()
+}
+
+type OvfPropertyValue struct {
+ OvfProperty
+}
+
+func init() {
+ t["OvfPropertyValue"] = reflect.TypeOf((*OvfPropertyValue)(nil)).Elem()
+}
+
+type OvfPropertyValueFault OvfPropertyValue
+
+func init() {
+ t["OvfPropertyValueFault"] = reflect.TypeOf((*OvfPropertyValueFault)(nil)).Elem()
+}
+
+type OvfResourceMap struct {
+ DynamicData
+
+ Source string `xml:"source"`
+ Parent *ManagedObjectReference `xml:"parent,omitempty"`
+ ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["OvfResourceMap"] = reflect.TypeOf((*OvfResourceMap)(nil)).Elem()
+}
+
+type OvfSystemFault struct {
+ OvfFault
+}
+
+func init() {
+ t["OvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem()
+}
+
+type OvfSystemFaultFault BaseOvfSystemFault
+
+func init() {
+ t["OvfSystemFaultFault"] = reflect.TypeOf((*OvfSystemFaultFault)(nil)).Elem()
+}
+
+type OvfToXmlUnsupportedElement struct {
+ OvfSystemFault
+
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["OvfToXmlUnsupportedElement"] = reflect.TypeOf((*OvfToXmlUnsupportedElement)(nil)).Elem()
+}
+
+type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement
+
+func init() {
+ t["OvfToXmlUnsupportedElementFault"] = reflect.TypeOf((*OvfToXmlUnsupportedElementFault)(nil)).Elem()
+}
+
+type OvfUnableToExportDisk struct {
+ OvfHardwareExport
+
+ DiskName string `xml:"diskName"`
+}
+
+func init() {
+ t["OvfUnableToExportDisk"] = reflect.TypeOf((*OvfUnableToExportDisk)(nil)).Elem()
+}
+
+type OvfUnableToExportDiskFault OvfUnableToExportDisk
+
+func init() {
+ t["OvfUnableToExportDiskFault"] = reflect.TypeOf((*OvfUnableToExportDiskFault)(nil)).Elem()
+}
+
+type OvfUnexpectedElement struct {
+ OvfElement
+}
+
+func init() {
+ t["OvfUnexpectedElement"] = reflect.TypeOf((*OvfUnexpectedElement)(nil)).Elem()
+}
+
+type OvfUnexpectedElementFault OvfUnexpectedElement
+
+func init() {
+ t["OvfUnexpectedElementFault"] = reflect.TypeOf((*OvfUnexpectedElementFault)(nil)).Elem()
+}
+
+type OvfUnknownDevice struct {
+ OvfSystemFault
+
+ Device BaseVirtualDevice `xml:"device,omitempty,typeattr"`
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["OvfUnknownDevice"] = reflect.TypeOf((*OvfUnknownDevice)(nil)).Elem()
+}
+
+type OvfUnknownDeviceBacking struct {
+ OvfHardwareExport
+
+ Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr"`
+}
+
+func init() {
+ t["OvfUnknownDeviceBacking"] = reflect.TypeOf((*OvfUnknownDeviceBacking)(nil)).Elem()
+}
+
+type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking
+
+func init() {
+ t["OvfUnknownDeviceBackingFault"] = reflect.TypeOf((*OvfUnknownDeviceBackingFault)(nil)).Elem()
+}
+
+type OvfUnknownDeviceFault OvfUnknownDevice
+
+func init() {
+ t["OvfUnknownDeviceFault"] = reflect.TypeOf((*OvfUnknownDeviceFault)(nil)).Elem()
+}
+
+type OvfUnknownEntity struct {
+ OvfSystemFault
+
+ LineNumber int32 `xml:"lineNumber"`
+}
+
+func init() {
+ t["OvfUnknownEntity"] = reflect.TypeOf((*OvfUnknownEntity)(nil)).Elem()
+}
+
+type OvfUnknownEntityFault OvfUnknownEntity
+
+func init() {
+ t["OvfUnknownEntityFault"] = reflect.TypeOf((*OvfUnknownEntityFault)(nil)).Elem()
+}
+
+type OvfUnsupportedAttribute struct {
+ OvfUnsupportedPackage
+
+ ElementName string `xml:"elementName"`
+ AttributeName string `xml:"attributeName"`
+}
+
+func init() {
+ t["OvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem()
+}
+
+type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute
+
+func init() {
+ t["OvfUnsupportedAttributeFault"] = reflect.TypeOf((*OvfUnsupportedAttributeFault)(nil)).Elem()
+}
+
+type OvfUnsupportedAttributeValue struct {
+ OvfUnsupportedAttribute
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfUnsupportedAttributeValue"] = reflect.TypeOf((*OvfUnsupportedAttributeValue)(nil)).Elem()
+}
+
+type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue
+
+func init() {
+ t["OvfUnsupportedAttributeValueFault"] = reflect.TypeOf((*OvfUnsupportedAttributeValueFault)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceBackingInfo struct {
+ OvfSystemFault
+
+ ElementName string `xml:"elementName,omitempty"`
+ InstanceId string `xml:"instanceId,omitempty"`
+ DeviceName string `xml:"deviceName"`
+ BackingName string `xml:"backingName,omitempty"`
+}
+
+func init() {
+ t["OvfUnsupportedDeviceBackingInfo"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfo)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo
+
+func init() {
+ t["OvfUnsupportedDeviceBackingInfoFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfoFault)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceBackingOption struct {
+ OvfSystemFault
+
+ ElementName string `xml:"elementName,omitempty"`
+ InstanceId string `xml:"instanceId,omitempty"`
+ DeviceName string `xml:"deviceName"`
+ BackingName string `xml:"backingName,omitempty"`
+}
+
+func init() {
+ t["OvfUnsupportedDeviceBackingOption"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOption)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption
+
+func init() {
+ t["OvfUnsupportedDeviceBackingOptionFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOptionFault)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceExport struct {
+ OvfHardwareExport
+}
+
+func init() {
+ t["OvfUnsupportedDeviceExport"] = reflect.TypeOf((*OvfUnsupportedDeviceExport)(nil)).Elem()
+}
+
+type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport
+
+func init() {
+ t["OvfUnsupportedDeviceExportFault"] = reflect.TypeOf((*OvfUnsupportedDeviceExportFault)(nil)).Elem()
+}
+
+type OvfUnsupportedDiskProvisioning struct {
+ OvfImport
+
+ DiskProvisioning string `xml:"diskProvisioning"`
+ SupportedDiskProvisioning string `xml:"supportedDiskProvisioning"`
+}
+
+func init() {
+ t["OvfUnsupportedDiskProvisioning"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioning)(nil)).Elem()
+}
+
+type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning
+
+func init() {
+ t["OvfUnsupportedDiskProvisioningFault"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioningFault)(nil)).Elem()
+}
+
+type OvfUnsupportedElement struct {
+ OvfUnsupportedPackage
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["OvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem()
+}
+
+type OvfUnsupportedElementFault BaseOvfUnsupportedElement
+
+func init() {
+ t["OvfUnsupportedElementFault"] = reflect.TypeOf((*OvfUnsupportedElementFault)(nil)).Elem()
+}
+
+type OvfUnsupportedElementValue struct {
+ OvfUnsupportedElement
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["OvfUnsupportedElementValue"] = reflect.TypeOf((*OvfUnsupportedElementValue)(nil)).Elem()
+}
+
+type OvfUnsupportedElementValueFault OvfUnsupportedElementValue
+
+func init() {
+ t["OvfUnsupportedElementValueFault"] = reflect.TypeOf((*OvfUnsupportedElementValueFault)(nil)).Elem()
+}
+
+type OvfUnsupportedPackage struct {
+ OvfFault
+
+ LineNumber int32 `xml:"lineNumber,omitempty"`
+}
+
+func init() {
+ t["OvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem()
+}
+
+type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage
+
+func init() {
+ t["OvfUnsupportedPackageFault"] = reflect.TypeOf((*OvfUnsupportedPackageFault)(nil)).Elem()
+}
+
+type OvfUnsupportedSection struct {
+ OvfUnsupportedElement
+
+ Info string `xml:"info"`
+}
+
+func init() {
+ t["OvfUnsupportedSection"] = reflect.TypeOf((*OvfUnsupportedSection)(nil)).Elem()
+}
+
+type OvfUnsupportedSectionFault OvfUnsupportedSection
+
+func init() {
+ t["OvfUnsupportedSectionFault"] = reflect.TypeOf((*OvfUnsupportedSectionFault)(nil)).Elem()
+}
+
+type OvfUnsupportedSubType struct {
+ OvfUnsupportedPackage
+
+ ElementName string `xml:"elementName"`
+ InstanceId string `xml:"instanceId"`
+ DeviceType int32 `xml:"deviceType"`
+ DeviceSubType string `xml:"deviceSubType"`
+}
+
+func init() {
+ t["OvfUnsupportedSubType"] = reflect.TypeOf((*OvfUnsupportedSubType)(nil)).Elem()
+}
+
+type OvfUnsupportedSubTypeFault OvfUnsupportedSubType
+
+func init() {
+ t["OvfUnsupportedSubTypeFault"] = reflect.TypeOf((*OvfUnsupportedSubTypeFault)(nil)).Elem()
+}
+
+type OvfUnsupportedType struct {
+ OvfUnsupportedPackage
+
+ Name string `xml:"name"`
+ InstanceId string `xml:"instanceId"`
+ DeviceType int32 `xml:"deviceType"`
+}
+
+func init() {
+ t["OvfUnsupportedType"] = reflect.TypeOf((*OvfUnsupportedType)(nil)).Elem()
+}
+
+type OvfUnsupportedTypeFault OvfUnsupportedType
+
+func init() {
+ t["OvfUnsupportedTypeFault"] = reflect.TypeOf((*OvfUnsupportedTypeFault)(nil)).Elem()
+}
+
+type OvfValidateHostParams struct {
+ OvfManagerCommonParams
+}
+
+func init() {
+ t["OvfValidateHostParams"] = reflect.TypeOf((*OvfValidateHostParams)(nil)).Elem()
+}
+
+type OvfValidateHostResult struct {
+ DynamicData
+
+ DownloadSize int64 `xml:"downloadSize,omitempty"`
+ FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty"`
+ SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty"`
+ Error []LocalizedMethodFault `xml:"error,omitempty"`
+ Warning []LocalizedMethodFault `xml:"warning,omitempty"`
+ SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty"`
+}
+
+func init() {
+ t["OvfValidateHostResult"] = reflect.TypeOf((*OvfValidateHostResult)(nil)).Elem()
+}
+
+type OvfWrongElement struct {
+ OvfElement
+}
+
+func init() {
+ t["OvfWrongElement"] = reflect.TypeOf((*OvfWrongElement)(nil)).Elem()
+}
+
+type OvfWrongElementFault OvfWrongElement
+
+func init() {
+ t["OvfWrongElementFault"] = reflect.TypeOf((*OvfWrongElementFault)(nil)).Elem()
+}
+
+type OvfWrongNamespace struct {
+ OvfInvalidPackage
+
+ NamespaceName string `xml:"namespaceName"`
+}
+
+func init() {
+ t["OvfWrongNamespace"] = reflect.TypeOf((*OvfWrongNamespace)(nil)).Elem()
+}
+
+type OvfWrongNamespaceFault OvfWrongNamespace
+
+func init() {
+ t["OvfWrongNamespaceFault"] = reflect.TypeOf((*OvfWrongNamespaceFault)(nil)).Elem()
+}
+
+type OvfXmlFormat struct {
+ OvfInvalidPackage
+
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["OvfXmlFormat"] = reflect.TypeOf((*OvfXmlFormat)(nil)).Elem()
+}
+
+type OvfXmlFormatFault OvfXmlFormat
+
+func init() {
+ t["OvfXmlFormatFault"] = reflect.TypeOf((*OvfXmlFormatFault)(nil)).Elem()
+}
+
+type ParaVirtualSCSIController struct {
+ VirtualSCSIController
+}
+
+func init() {
+ t["ParaVirtualSCSIController"] = reflect.TypeOf((*ParaVirtualSCSIController)(nil)).Elem()
+}
+
+type ParaVirtualSCSIControllerOption struct {
+ VirtualSCSIControllerOption
+}
+
+func init() {
+ t["ParaVirtualSCSIControllerOption"] = reflect.TypeOf((*ParaVirtualSCSIControllerOption)(nil)).Elem()
+}
+
+type ParseDescriptor ParseDescriptorRequestType
+
+func init() {
+ t["ParseDescriptor"] = reflect.TypeOf((*ParseDescriptor)(nil)).Elem()
+}
+
+type ParseDescriptorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ OvfDescriptor string `xml:"ovfDescriptor"`
+ Pdp OvfParseDescriptorParams `xml:"pdp"`
+}
+
+func init() {
+ t["ParseDescriptorRequestType"] = reflect.TypeOf((*ParseDescriptorRequestType)(nil)).Elem()
+}
+
+type ParseDescriptorResponse struct {
+ Returnval OvfParseDescriptorResult `xml:"returnval"`
+}
+
+type PassiveNodeDeploymentSpec struct {
+ NodeDeploymentSpec
+
+ FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty"`
+}
+
+func init() {
+ t["PassiveNodeDeploymentSpec"] = reflect.TypeOf((*PassiveNodeDeploymentSpec)(nil)).Elem()
+}
+
+type PassiveNodeNetworkSpec struct {
+ NodeNetworkSpec
+
+ FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty"`
+}
+
+func init() {
+ t["PassiveNodeNetworkSpec"] = reflect.TypeOf((*PassiveNodeNetworkSpec)(nil)).Elem()
+}
+
+type PasswordField struct {
+ DynamicData
+
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["PasswordField"] = reflect.TypeOf((*PasswordField)(nil)).Elem()
+}
+
+type PatchAlreadyInstalled struct {
+ PatchNotApplicable
+}
+
+func init() {
+ t["PatchAlreadyInstalled"] = reflect.TypeOf((*PatchAlreadyInstalled)(nil)).Elem()
+}
+
+type PatchAlreadyInstalledFault PatchAlreadyInstalled
+
+func init() {
+ t["PatchAlreadyInstalledFault"] = reflect.TypeOf((*PatchAlreadyInstalledFault)(nil)).Elem()
+}
+
+type PatchBinariesNotFound struct {
+ VimFault
+
+ PatchID string `xml:"patchID"`
+ Binary []string `xml:"binary,omitempty"`
+}
+
+func init() {
+ t["PatchBinariesNotFound"] = reflect.TypeOf((*PatchBinariesNotFound)(nil)).Elem()
+}
+
+type PatchBinariesNotFoundFault PatchBinariesNotFound
+
+func init() {
+ t["PatchBinariesNotFoundFault"] = reflect.TypeOf((*PatchBinariesNotFoundFault)(nil)).Elem()
+}
+
+type PatchInstallFailed struct {
+ PlatformConfigFault
+
+ RolledBack bool `xml:"rolledBack"`
+}
+
+func init() {
+ t["PatchInstallFailed"] = reflect.TypeOf((*PatchInstallFailed)(nil)).Elem()
+}
+
+type PatchInstallFailedFault PatchInstallFailed
+
+func init() {
+ t["PatchInstallFailedFault"] = reflect.TypeOf((*PatchInstallFailedFault)(nil)).Elem()
+}
+
+type PatchIntegrityError struct {
+ PlatformConfigFault
+}
+
+func init() {
+ t["PatchIntegrityError"] = reflect.TypeOf((*PatchIntegrityError)(nil)).Elem()
+}
+
+type PatchIntegrityErrorFault PatchIntegrityError
+
+func init() {
+ t["PatchIntegrityErrorFault"] = reflect.TypeOf((*PatchIntegrityErrorFault)(nil)).Elem()
+}
+
+type PatchMetadataCorrupted struct {
+ PatchMetadataInvalid
+}
+
+func init() {
+ t["PatchMetadataCorrupted"] = reflect.TypeOf((*PatchMetadataCorrupted)(nil)).Elem()
+}
+
+type PatchMetadataCorruptedFault PatchMetadataCorrupted
+
+func init() {
+ t["PatchMetadataCorruptedFault"] = reflect.TypeOf((*PatchMetadataCorruptedFault)(nil)).Elem()
+}
+
+type PatchMetadataInvalid struct {
+ VimFault
+
+ PatchID string `xml:"patchID"`
+ MetaData []string `xml:"metaData,omitempty"`
+}
+
+func init() {
+ t["PatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem()
+}
+
+type PatchMetadataInvalidFault BasePatchMetadataInvalid
+
+func init() {
+ t["PatchMetadataInvalidFault"] = reflect.TypeOf((*PatchMetadataInvalidFault)(nil)).Elem()
+}
+
+type PatchMetadataNotFound struct {
+ PatchMetadataInvalid
+}
+
+func init() {
+ t["PatchMetadataNotFound"] = reflect.TypeOf((*PatchMetadataNotFound)(nil)).Elem()
+}
+
+type PatchMetadataNotFoundFault PatchMetadataNotFound
+
+func init() {
+ t["PatchMetadataNotFoundFault"] = reflect.TypeOf((*PatchMetadataNotFoundFault)(nil)).Elem()
+}
+
+type PatchMissingDependencies struct {
+ PatchNotApplicable
+
+ PrerequisitePatch []string `xml:"prerequisitePatch,omitempty"`
+ PrerequisiteLib []string `xml:"prerequisiteLib,omitempty"`
+}
+
+func init() {
+ t["PatchMissingDependencies"] = reflect.TypeOf((*PatchMissingDependencies)(nil)).Elem()
+}
+
+type PatchMissingDependenciesFault PatchMissingDependencies
+
+func init() {
+ t["PatchMissingDependenciesFault"] = reflect.TypeOf((*PatchMissingDependenciesFault)(nil)).Elem()
+}
+
+type PatchNotApplicable struct {
+ VimFault
+
+ PatchID string `xml:"patchID"`
+}
+
+func init() {
+ t["PatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem()
+}
+
+type PatchNotApplicableFault BasePatchNotApplicable
+
+func init() {
+ t["PatchNotApplicableFault"] = reflect.TypeOf((*PatchNotApplicableFault)(nil)).Elem()
+}
+
+type PatchSuperseded struct {
+ PatchNotApplicable
+
+ Supersede []string `xml:"supersede,omitempty"`
+}
+
+func init() {
+ t["PatchSuperseded"] = reflect.TypeOf((*PatchSuperseded)(nil)).Elem()
+}
+
+type PatchSupersededFault PatchSuperseded
+
+func init() {
+ t["PatchSupersededFault"] = reflect.TypeOf((*PatchSupersededFault)(nil)).Elem()
+}
+
+type PerfCompositeMetric struct {
+ DynamicData
+
+ Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr"`
+ ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr"`
+}
+
+func init() {
+ t["PerfCompositeMetric"] = reflect.TypeOf((*PerfCompositeMetric)(nil)).Elem()
+}
+
+type PerfCounterInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ NameInfo BaseElementDescription `xml:"nameInfo,typeattr"`
+ GroupInfo BaseElementDescription `xml:"groupInfo,typeattr"`
+ UnitInfo BaseElementDescription `xml:"unitInfo,typeattr"`
+ RollupType PerfSummaryType `xml:"rollupType"`
+ StatsType PerfStatsType `xml:"statsType"`
+ Level int32 `xml:"level,omitempty"`
+ PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty"`
+ AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty"`
+}
+
+func init() {
+ t["PerfCounterInfo"] = reflect.TypeOf((*PerfCounterInfo)(nil)).Elem()
+}
+
+type PerfEntityMetric struct {
+ PerfEntityMetricBase
+
+ SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty"`
+ Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr"`
+}
+
+func init() {
+ t["PerfEntityMetric"] = reflect.TypeOf((*PerfEntityMetric)(nil)).Elem()
+}
+
+type PerfEntityMetricBase struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["PerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem()
+}
+
+type PerfEntityMetricCSV struct {
+ PerfEntityMetricBase
+
+ SampleInfoCSV string `xml:"sampleInfoCSV"`
+ Value []PerfMetricSeriesCSV `xml:"value,omitempty"`
+}
+
+func init() {
+ t["PerfEntityMetricCSV"] = reflect.TypeOf((*PerfEntityMetricCSV)(nil)).Elem()
+}
+
+type PerfInterval struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ SamplingPeriod int32 `xml:"samplingPeriod"`
+ Name string `xml:"name"`
+ Length int32 `xml:"length"`
+ Level int32 `xml:"level,omitempty"`
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["PerfInterval"] = reflect.TypeOf((*PerfInterval)(nil)).Elem()
+}
+
+type PerfMetricId struct {
+ DynamicData
+
+ CounterId int32 `xml:"counterId"`
+ Instance string `xml:"instance"`
+}
+
+func init() {
+ t["PerfMetricId"] = reflect.TypeOf((*PerfMetricId)(nil)).Elem()
+}
+
+type PerfMetricIntSeries struct {
+ PerfMetricSeries
+
+ Value []int64 `xml:"value,omitempty"`
+}
+
+func init() {
+ t["PerfMetricIntSeries"] = reflect.TypeOf((*PerfMetricIntSeries)(nil)).Elem()
+}
+
+type PerfMetricSeries struct {
+ DynamicData
+
+ Id PerfMetricId `xml:"id"`
+}
+
+func init() {
+ t["PerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem()
+}
+
+type PerfMetricSeriesCSV struct {
+ PerfMetricSeries
+
+ Value string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["PerfMetricSeriesCSV"] = reflect.TypeOf((*PerfMetricSeriesCSV)(nil)).Elem()
+}
+
+type PerfProviderSummary struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ CurrentSupported bool `xml:"currentSupported"`
+ SummarySupported bool `xml:"summarySupported"`
+ RefreshRate int32 `xml:"refreshRate,omitempty"`
+}
+
+func init() {
+ t["PerfProviderSummary"] = reflect.TypeOf((*PerfProviderSummary)(nil)).Elem()
+}
+
+type PerfQuerySpec struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ StartTime *time.Time `xml:"startTime"`
+ EndTime *time.Time `xml:"endTime"`
+ MaxSample int32 `xml:"maxSample,omitempty"`
+ MetricId []PerfMetricId `xml:"metricId,omitempty"`
+ IntervalId int32 `xml:"intervalId,omitempty"`
+ Format string `xml:"format,omitempty"`
+}
+
+func init() {
+ t["PerfQuerySpec"] = reflect.TypeOf((*PerfQuerySpec)(nil)).Elem()
+}
+
+type PerfSampleInfo struct {
+ DynamicData
+
+ Timestamp time.Time `xml:"timestamp"`
+ Interval int32 `xml:"interval"`
+}
+
+func init() {
+ t["PerfSampleInfo"] = reflect.TypeOf((*PerfSampleInfo)(nil)).Elem()
+}
+
+type PerformDvsProductSpecOperationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Operation string `xml:"operation"`
+ ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty"`
+}
+
+func init() {
+ t["PerformDvsProductSpecOperationRequestType"] = reflect.TypeOf((*PerformDvsProductSpecOperationRequestType)(nil)).Elem()
+}
+
+type PerformDvsProductSpecOperation_Task PerformDvsProductSpecOperationRequestType
+
+func init() {
+ t["PerformDvsProductSpecOperation_Task"] = reflect.TypeOf((*PerformDvsProductSpecOperation_Task)(nil)).Elem()
+}
+
+type PerformDvsProductSpecOperation_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PerformVsanUpgradePreflightCheck PerformVsanUpgradePreflightCheckRequestType
+
+func init() {
+ t["PerformVsanUpgradePreflightCheck"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheck)(nil)).Elem()
+}
+
+type PerformVsanUpgradePreflightCheckRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster ManagedObjectReference `xml:"cluster"`
+ DowngradeFormat *bool `xml:"downgradeFormat"`
+}
+
+func init() {
+ t["PerformVsanUpgradePreflightCheckRequestType"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheckRequestType)(nil)).Elem()
+}
+
+type PerformVsanUpgradePreflightCheckResponse struct {
+ Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval"`
+}
+
+type PerformVsanUpgradeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster ManagedObjectReference `xml:"cluster"`
+ PerformObjectUpgrade *bool `xml:"performObjectUpgrade"`
+ DowngradeFormat *bool `xml:"downgradeFormat"`
+ AllowReducedRedundancy *bool `xml:"allowReducedRedundancy"`
+ ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty"`
+}
+
+func init() {
+ t["PerformVsanUpgradeRequestType"] = reflect.TypeOf((*PerformVsanUpgradeRequestType)(nil)).Elem()
+}
+
+type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType
+
+func init() {
+ t["PerformVsanUpgrade_Task"] = reflect.TypeOf((*PerformVsanUpgrade_Task)(nil)).Elem()
+}
+
+type PerformVsanUpgrade_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PerformanceDescription struct {
+ DynamicData
+
+ CounterType []BaseElementDescription `xml:"counterType,typeattr"`
+ StatsType []BaseElementDescription `xml:"statsType,typeattr"`
+}
+
+func init() {
+ t["PerformanceDescription"] = reflect.TypeOf((*PerformanceDescription)(nil)).Elem()
+}
+
+type PerformanceManagerCounterLevelMapping struct {
+ DynamicData
+
+ CounterId int32 `xml:"counterId"`
+ AggregateLevel int32 `xml:"aggregateLevel,omitempty"`
+ PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty"`
+}
+
+func init() {
+ t["PerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*PerformanceManagerCounterLevelMapping)(nil)).Elem()
+}
+
+type PerformanceStatisticsDescription struct {
+ DynamicData
+
+ Intervals []PerfInterval `xml:"intervals,omitempty"`
+}
+
+func init() {
+ t["PerformanceStatisticsDescription"] = reflect.TypeOf((*PerformanceStatisticsDescription)(nil)).Elem()
+}
+
+type Permission struct {
+ DynamicData
+
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ Principal string `xml:"principal"`
+ Group bool `xml:"group"`
+ RoleId int32 `xml:"roleId"`
+ Propagate bool `xml:"propagate"`
+}
+
+func init() {
+ t["Permission"] = reflect.TypeOf((*Permission)(nil)).Elem()
+}
+
+type PermissionAddedEvent struct {
+ PermissionEvent
+
+ Role RoleEventArgument `xml:"role"`
+ Propagate bool `xml:"propagate"`
+}
+
+func init() {
+ t["PermissionAddedEvent"] = reflect.TypeOf((*PermissionAddedEvent)(nil)).Elem()
+}
+
+type PermissionEvent struct {
+ AuthorizationEvent
+
+ Entity ManagedEntityEventArgument `xml:"entity"`
+ Principal string `xml:"principal"`
+ Group bool `xml:"group"`
+}
+
+func init() {
+ t["PermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem()
+}
+
+type PermissionProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["PermissionProfile"] = reflect.TypeOf((*PermissionProfile)(nil)).Elem()
+}
+
+type PermissionRemovedEvent struct {
+ PermissionEvent
+}
+
+func init() {
+ t["PermissionRemovedEvent"] = reflect.TypeOf((*PermissionRemovedEvent)(nil)).Elem()
+}
+
+type PermissionUpdatedEvent struct {
+ PermissionEvent
+
+ Role RoleEventArgument `xml:"role"`
+ Propagate bool `xml:"propagate"`
+ PrevRole *RoleEventArgument `xml:"prevRole,omitempty"`
+ PrevPropagate *bool `xml:"prevPropagate"`
+}
+
+func init() {
+ t["PermissionUpdatedEvent"] = reflect.TypeOf((*PermissionUpdatedEvent)(nil)).Elem()
+}
+
+type PhysCompatRDMNotSupported struct {
+ RDMNotSupported
+}
+
+func init() {
+ t["PhysCompatRDMNotSupported"] = reflect.TypeOf((*PhysCompatRDMNotSupported)(nil)).Elem()
+}
+
+type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported
+
+func init() {
+ t["PhysCompatRDMNotSupportedFault"] = reflect.TypeOf((*PhysCompatRDMNotSupportedFault)(nil)).Elem()
+}
+
+type PhysicalNic struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Device string `xml:"device"`
+ Pci string `xml:"pci"`
+ Driver string `xml:"driver,omitempty"`
+ LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"`
+ ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty"`
+ Spec PhysicalNicSpec `xml:"spec"`
+ WakeOnLanSupported bool `xml:"wakeOnLanSupported"`
+ Mac string `xml:"mac"`
+ FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty"`
+ VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"`
+ VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty"`
+ ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed"`
+ ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty"`
+ AutoNegotiateSupported *bool `xml:"autoNegotiateSupported"`
+}
+
+func init() {
+ t["PhysicalNic"] = reflect.TypeOf((*PhysicalNic)(nil)).Elem()
+}
+
+type PhysicalNicCdpDeviceCapability struct {
+ DynamicData
+
+ Router bool `xml:"router"`
+ TransparentBridge bool `xml:"transparentBridge"`
+ SourceRouteBridge bool `xml:"sourceRouteBridge"`
+ NetworkSwitch bool `xml:"networkSwitch"`
+ Host bool `xml:"host"`
+ IgmpEnabled bool `xml:"igmpEnabled"`
+ Repeater bool `xml:"repeater"`
+}
+
+func init() {
+ t["PhysicalNicCdpDeviceCapability"] = reflect.TypeOf((*PhysicalNicCdpDeviceCapability)(nil)).Elem()
+}
+
+type PhysicalNicCdpInfo struct {
+ DynamicData
+
+ CdpVersion int32 `xml:"cdpVersion,omitempty"`
+ Timeout int32 `xml:"timeout,omitempty"`
+ Ttl int32 `xml:"ttl,omitempty"`
+ Samples int32 `xml:"samples,omitempty"`
+ DevId string `xml:"devId,omitempty"`
+ Address string `xml:"address,omitempty"`
+ PortId string `xml:"portId,omitempty"`
+ DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty"`
+ SoftwareVersion string `xml:"softwareVersion,omitempty"`
+ HardwarePlatform string `xml:"hardwarePlatform,omitempty"`
+ IpPrefix string `xml:"ipPrefix,omitempty"`
+ IpPrefixLen int32 `xml:"ipPrefixLen,omitempty"`
+ Vlan int32 `xml:"vlan,omitempty"`
+ FullDuplex *bool `xml:"fullDuplex"`
+ Mtu int32 `xml:"mtu,omitempty"`
+ SystemName string `xml:"systemName,omitempty"`
+ SystemOID string `xml:"systemOID,omitempty"`
+ MgmtAddr string `xml:"mgmtAddr,omitempty"`
+ Location string `xml:"location,omitempty"`
+}
+
+func init() {
+ t["PhysicalNicCdpInfo"] = reflect.TypeOf((*PhysicalNicCdpInfo)(nil)).Elem()
+}
+
+type PhysicalNicConfig struct {
+ DynamicData
+
+ Device string `xml:"device"`
+ Spec PhysicalNicSpec `xml:"spec"`
+}
+
+func init() {
+ t["PhysicalNicConfig"] = reflect.TypeOf((*PhysicalNicConfig)(nil)).Elem()
+}
+
+type PhysicalNicHint struct {
+ DynamicData
+
+ VlanId int32 `xml:"vlanId,omitempty"`
+}
+
+func init() {
+ t["PhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem()
+}
+
+type PhysicalNicHintInfo struct {
+ DynamicData
+
+ Device string `xml:"device"`
+ Subnet []PhysicalNicIpHint `xml:"subnet,omitempty"`
+ Network []PhysicalNicNameHint `xml:"network,omitempty"`
+ ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty"`
+ LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty"`
+}
+
+func init() {
+ t["PhysicalNicHintInfo"] = reflect.TypeOf((*PhysicalNicHintInfo)(nil)).Elem()
+}
+
+type PhysicalNicIpHint struct {
+ PhysicalNicHint
+
+ IpSubnet string `xml:"ipSubnet"`
+}
+
+func init() {
+ t["PhysicalNicIpHint"] = reflect.TypeOf((*PhysicalNicIpHint)(nil)).Elem()
+}
+
+type PhysicalNicLinkInfo struct {
+ DynamicData
+
+ SpeedMb int32 `xml:"speedMb"`
+ Duplex bool `xml:"duplex"`
+}
+
+func init() {
+ t["PhysicalNicLinkInfo"] = reflect.TypeOf((*PhysicalNicLinkInfo)(nil)).Elem()
+}
+
+type PhysicalNicNameHint struct {
+ PhysicalNicHint
+
+ Network string `xml:"network"`
+}
+
+func init() {
+ t["PhysicalNicNameHint"] = reflect.TypeOf((*PhysicalNicNameHint)(nil)).Elem()
+}
+
+type PhysicalNicProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["PhysicalNicProfile"] = reflect.TypeOf((*PhysicalNicProfile)(nil)).Elem()
+}
+
+type PhysicalNicSpec struct {
+ DynamicData
+
+ Ip *HostIpConfig `xml:"ip,omitempty"`
+ LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"`
+}
+
+func init() {
+ t["PhysicalNicSpec"] = reflect.TypeOf((*PhysicalNicSpec)(nil)).Elem()
+}
+
+type PlaceVm PlaceVmRequestType
+
+func init() {
+ t["PlaceVm"] = reflect.TypeOf((*PlaceVm)(nil)).Elem()
+}
+
+type PlaceVmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PlacementSpec PlacementSpec `xml:"placementSpec"`
+}
+
+func init() {
+ t["PlaceVmRequestType"] = reflect.TypeOf((*PlaceVmRequestType)(nil)).Elem()
+}
+
+type PlaceVmResponse struct {
+ Returnval PlacementResult `xml:"returnval"`
+}
+
+type PlacementAction struct {
+ ClusterAction
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ TargetHost *ManagedObjectReference `xml:"targetHost,omitempty"`
+ RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"`
+}
+
+func init() {
+ t["PlacementAction"] = reflect.TypeOf((*PlacementAction)(nil)).Elem()
+}
+
+type PlacementAffinityRule struct {
+ DynamicData
+
+ RuleType string `xml:"ruleType"`
+ RuleScope string `xml:"ruleScope"`
+ Vms []ManagedObjectReference `xml:"vms,omitempty"`
+ Keys []string `xml:"keys,omitempty"`
+}
+
+func init() {
+ t["PlacementAffinityRule"] = reflect.TypeOf((*PlacementAffinityRule)(nil)).Elem()
+}
+
+type PlacementRankResult struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Candidate ManagedObjectReference `xml:"candidate"`
+ ReservedSpaceMB int64 `xml:"reservedSpaceMB"`
+ UsedSpaceMB int64 `xml:"usedSpaceMB"`
+ TotalSpaceMB int64 `xml:"totalSpaceMB"`
+ Utilization float64 `xml:"utilization"`
+ Faults []LocalizedMethodFault `xml:"faults,omitempty"`
+}
+
+func init() {
+ t["PlacementRankResult"] = reflect.TypeOf((*PlacementRankResult)(nil)).Elem()
+}
+
+type PlacementRankSpec struct {
+ DynamicData
+
+ Specs []PlacementSpec `xml:"specs"`
+ Clusters []ManagedObjectReference `xml:"clusters"`
+ Rules []PlacementAffinityRule `xml:"rules,omitempty"`
+ PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty"`
+}
+
+func init() {
+ t["PlacementRankSpec"] = reflect.TypeOf((*PlacementRankSpec)(nil)).Elem()
+}
+
+type PlacementResult struct {
+ DynamicData
+
+ Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"`
+ DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty"`
+}
+
+func init() {
+ t["PlacementResult"] = reflect.TypeOf((*PlacementResult)(nil)).Elem()
+}
+
+type PlacementSpec struct {
+ DynamicData
+
+ Priority VirtualMachineMovePriority `xml:"priority,omitempty"`
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"`
+ RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"`
+ Hosts []ManagedObjectReference `xml:"hosts,omitempty"`
+ Datastores []ManagedObjectReference `xml:"datastores,omitempty"`
+ StoragePods []ManagedObjectReference `xml:"storagePods,omitempty"`
+ DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves"`
+ Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr"`
+ Key string `xml:"key,omitempty"`
+ PlacementType string `xml:"placementType,omitempty"`
+ CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty"`
+ CloneName string `xml:"cloneName,omitempty"`
+}
+
+func init() {
+ t["PlacementSpec"] = reflect.TypeOf((*PlacementSpec)(nil)).Elem()
+}
+
+type PlatformConfigFault struct {
+ HostConfigFault
+
+ Text string `xml:"text"`
+}
+
+func init() {
+ t["PlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem()
+}
+
+type PlatformConfigFaultFault BasePlatformConfigFault
+
+func init() {
+ t["PlatformConfigFaultFault"] = reflect.TypeOf((*PlatformConfigFaultFault)(nil)).Elem()
+}
+
+type PnicUplinkProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["PnicUplinkProfile"] = reflect.TypeOf((*PnicUplinkProfile)(nil)).Elem()
+}
+
+type PodDiskLocator struct {
+ DynamicData
+
+ DiskId int32 `xml:"diskId"`
+ DiskMoveType string `xml:"diskMoveType,omitempty"`
+ DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+}
+
+func init() {
+ t["PodDiskLocator"] = reflect.TypeOf((*PodDiskLocator)(nil)).Elem()
+}
+
+type PodStorageDrsEntry struct {
+ DynamicData
+
+ StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig"`
+ Recommendation []ClusterRecommendation `xml:"recommendation,omitempty"`
+ DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty"`
+ ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty"`
+}
+
+func init() {
+ t["PodStorageDrsEntry"] = reflect.TypeOf((*PodStorageDrsEntry)(nil)).Elem()
+}
+
+type PolicyOption struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Parameter []KeyAnyValue `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["PolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem()
+}
+
+type PortGroupProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ Vlan VlanProfile `xml:"vlan"`
+ Vswitch VirtualSwitchSelectionProfile `xml:"vswitch"`
+ NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy"`
+}
+
+func init() {
+ t["PortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem()
+}
+
+type PosixUserSearchResult struct {
+ UserSearchResult
+
+ Id int32 `xml:"id"`
+ ShellAccess *bool `xml:"shellAccess"`
+}
+
+func init() {
+ t["PosixUserSearchResult"] = reflect.TypeOf((*PosixUserSearchResult)(nil)).Elem()
+}
+
+type PostEvent PostEventRequestType
+
+func init() {
+ t["PostEvent"] = reflect.TypeOf((*PostEvent)(nil)).Elem()
+}
+
+type PostEventRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EventToPost BaseEvent `xml:"eventToPost,typeattr"`
+ TaskInfo *TaskInfo `xml:"taskInfo,omitempty"`
+}
+
+func init() {
+ t["PostEventRequestType"] = reflect.TypeOf((*PostEventRequestType)(nil)).Elem()
+}
+
+type PostEventResponse struct {
+}
+
+type PostHealthUpdates PostHealthUpdatesRequestType
+
+func init() {
+ t["PostHealthUpdates"] = reflect.TypeOf((*PostHealthUpdates)(nil)).Elem()
+}
+
+type PostHealthUpdatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ Updates []HealthUpdate `xml:"updates,omitempty"`
+}
+
+func init() {
+ t["PostHealthUpdatesRequestType"] = reflect.TypeOf((*PostHealthUpdatesRequestType)(nil)).Elem()
+}
+
+type PostHealthUpdatesResponse struct {
+}
+
+type PowerDownHostToStandByRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ TimeoutSec int32 `xml:"timeoutSec"`
+ EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms"`
+}
+
+func init() {
+ t["PowerDownHostToStandByRequestType"] = reflect.TypeOf((*PowerDownHostToStandByRequestType)(nil)).Elem()
+}
+
+type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType
+
+func init() {
+ t["PowerDownHostToStandBy_Task"] = reflect.TypeOf((*PowerDownHostToStandBy_Task)(nil)).Elem()
+}
+
+type PowerDownHostToStandBy_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerOffVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["PowerOffVAppRequestType"] = reflect.TypeOf((*PowerOffVAppRequestType)(nil)).Elem()
+}
+
+type PowerOffVApp_Task PowerOffVAppRequestType
+
+func init() {
+ t["PowerOffVApp_Task"] = reflect.TypeOf((*PowerOffVApp_Task)(nil)).Elem()
+}
+
+type PowerOffVApp_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerOffVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["PowerOffVMRequestType"] = reflect.TypeOf((*PowerOffVMRequestType)(nil)).Elem()
+}
+
+type PowerOffVM_Task PowerOffVMRequestType
+
+func init() {
+ t["PowerOffVM_Task"] = reflect.TypeOf((*PowerOffVM_Task)(nil)).Elem()
+}
+
+type PowerOffVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerOnFtSecondaryFailed struct {
+ VmFaultToleranceIssue
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+ HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy"`
+ HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty"`
+ RootCause LocalizedMethodFault `xml:"rootCause"`
+}
+
+func init() {
+ t["PowerOnFtSecondaryFailed"] = reflect.TypeOf((*PowerOnFtSecondaryFailed)(nil)).Elem()
+}
+
+type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed
+
+func init() {
+ t["PowerOnFtSecondaryFailedFault"] = reflect.TypeOf((*PowerOnFtSecondaryFailedFault)(nil)).Elem()
+}
+
+type PowerOnFtSecondaryTimedout struct {
+ Timedout
+
+ Vm ManagedObjectReference `xml:"vm"`
+ VmName string `xml:"vmName"`
+ Timeout int32 `xml:"timeout"`
+}
+
+func init() {
+ t["PowerOnFtSecondaryTimedout"] = reflect.TypeOf((*PowerOnFtSecondaryTimedout)(nil)).Elem()
+}
+
+type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout
+
+func init() {
+ t["PowerOnFtSecondaryTimedoutFault"] = reflect.TypeOf((*PowerOnFtSecondaryTimedoutFault)(nil)).Elem()
+}
+
+type PowerOnMultiVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm []ManagedObjectReference `xml:"vm"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["PowerOnMultiVMRequestType"] = reflect.TypeOf((*PowerOnMultiVMRequestType)(nil)).Elem()
+}
+
+type PowerOnMultiVM_Task PowerOnMultiVMRequestType
+
+func init() {
+ t["PowerOnMultiVM_Task"] = reflect.TypeOf((*PowerOnMultiVM_Task)(nil)).Elem()
+}
+
+type PowerOnMultiVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerOnVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["PowerOnVAppRequestType"] = reflect.TypeOf((*PowerOnVAppRequestType)(nil)).Elem()
+}
+
+type PowerOnVApp_Task PowerOnVAppRequestType
+
+func init() {
+ t["PowerOnVApp_Task"] = reflect.TypeOf((*PowerOnVApp_Task)(nil)).Elem()
+}
+
+type PowerOnVApp_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerOnVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["PowerOnVMRequestType"] = reflect.TypeOf((*PowerOnVMRequestType)(nil)).Elem()
+}
+
+type PowerOnVM_Task PowerOnVMRequestType
+
+func init() {
+ t["PowerOnVM_Task"] = reflect.TypeOf((*PowerOnVM_Task)(nil)).Elem()
+}
+
+type PowerOnVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PowerSystemCapability struct {
+ DynamicData
+
+ AvailablePolicy []HostPowerPolicy `xml:"availablePolicy"`
+}
+
+func init() {
+ t["PowerSystemCapability"] = reflect.TypeOf((*PowerSystemCapability)(nil)).Elem()
+}
+
+type PowerSystemInfo struct {
+ DynamicData
+
+ CurrentPolicy HostPowerPolicy `xml:"currentPolicy"`
+}
+
+func init() {
+ t["PowerSystemInfo"] = reflect.TypeOf((*PowerSystemInfo)(nil)).Elem()
+}
+
+type PowerUpHostFromStandByRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ TimeoutSec int32 `xml:"timeoutSec"`
+}
+
+func init() {
+ t["PowerUpHostFromStandByRequestType"] = reflect.TypeOf((*PowerUpHostFromStandByRequestType)(nil)).Elem()
+}
+
+type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType
+
+func init() {
+ t["PowerUpHostFromStandBy_Task"] = reflect.TypeOf((*PowerUpHostFromStandBy_Task)(nil)).Elem()
+}
+
+type PowerUpHostFromStandBy_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PrepareCrypto PrepareCryptoRequestType
+
+func init() {
+ t["PrepareCrypto"] = reflect.TypeOf((*PrepareCrypto)(nil)).Elem()
+}
+
+type PrepareCryptoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["PrepareCryptoRequestType"] = reflect.TypeOf((*PrepareCryptoRequestType)(nil)).Elem()
+}
+
+type PrepareCryptoResponse struct {
+}
+
+type PrivilegeAvailability struct {
+ DynamicData
+
+ PrivId string `xml:"privId"`
+ IsGranted bool `xml:"isGranted"`
+}
+
+func init() {
+ t["PrivilegeAvailability"] = reflect.TypeOf((*PrivilegeAvailability)(nil)).Elem()
+}
+
+type PrivilegePolicyDef struct {
+ DynamicData
+
+ CreatePrivilege string `xml:"createPrivilege"`
+ ReadPrivilege string `xml:"readPrivilege"`
+ UpdatePrivilege string `xml:"updatePrivilege"`
+ DeletePrivilege string `xml:"deletePrivilege"`
+}
+
+func init() {
+ t["PrivilegePolicyDef"] = reflect.TypeOf((*PrivilegePolicyDef)(nil)).Elem()
+}
+
+type ProductComponentInfo struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Name string `xml:"name"`
+ Version string `xml:"version"`
+ Release int32 `xml:"release"`
+}
+
+func init() {
+ t["ProductComponentInfo"] = reflect.TypeOf((*ProductComponentInfo)(nil)).Elem()
+}
+
+type ProfileApplyProfileElement struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["ProfileApplyProfileElement"] = reflect.TypeOf((*ProfileApplyProfileElement)(nil)).Elem()
+}
+
+type ProfileApplyProfileProperty struct {
+ DynamicData
+
+ PropertyName string `xml:"propertyName"`
+ Array bool `xml:"array"`
+ Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr"`
+}
+
+func init() {
+ t["ProfileApplyProfileProperty"] = reflect.TypeOf((*ProfileApplyProfileProperty)(nil)).Elem()
+}
+
+type ProfileAssociatedEvent struct {
+ ProfileEvent
+}
+
+func init() {
+ t["ProfileAssociatedEvent"] = reflect.TypeOf((*ProfileAssociatedEvent)(nil)).Elem()
+}
+
+type ProfileChangedEvent struct {
+ ProfileEvent
+}
+
+func init() {
+ t["ProfileChangedEvent"] = reflect.TypeOf((*ProfileChangedEvent)(nil)).Elem()
+}
+
+type ProfileCompositeExpression struct {
+ ProfileExpression
+
+ Operator string `xml:"operator"`
+ ExpressionName []string `xml:"expressionName"`
+}
+
+func init() {
+ t["ProfileCompositeExpression"] = reflect.TypeOf((*ProfileCompositeExpression)(nil)).Elem()
+}
+
+type ProfileCompositePolicyOptionMetadata struct {
+ ProfilePolicyOptionMetadata
+
+ Option []string `xml:"option"`
+}
+
+func init() {
+ t["ProfileCompositePolicyOptionMetadata"] = reflect.TypeOf((*ProfileCompositePolicyOptionMetadata)(nil)).Elem()
+}
+
+type ProfileConfigInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Annotation string `xml:"annotation,omitempty"`
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["ProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem()
+}
+
+type ProfileCreateSpec struct {
+ DynamicData
+
+ Name string `xml:"name,omitempty"`
+ Annotation string `xml:"annotation,omitempty"`
+ Enabled *bool `xml:"enabled"`
+}
+
+func init() {
+ t["ProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem()
+}
+
+type ProfileCreatedEvent struct {
+ ProfileEvent
+}
+
+func init() {
+ t["ProfileCreatedEvent"] = reflect.TypeOf((*ProfileCreatedEvent)(nil)).Elem()
+}
+
+type ProfileDeferredPolicyOptionParameter struct {
+ DynamicData
+
+ InputPath ProfilePropertyPath `xml:"inputPath"`
+ Parameter []KeyAnyValue `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["ProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ProfileDeferredPolicyOptionParameter)(nil)).Elem()
+}
+
+type ProfileDescription struct {
+ DynamicData
+
+ Section []ProfileDescriptionSection `xml:"section"`
+}
+
+func init() {
+ t["ProfileDescription"] = reflect.TypeOf((*ProfileDescription)(nil)).Elem()
+}
+
+type ProfileDescriptionSection struct {
+ DynamicData
+
+ Description ExtendedElementDescription `xml:"description"`
+ Message []LocalizableMessage `xml:"message,omitempty"`
+}
+
+func init() {
+ t["ProfileDescriptionSection"] = reflect.TypeOf((*ProfileDescriptionSection)(nil)).Elem()
+}
+
+type ProfileDissociatedEvent struct {
+ ProfileEvent
+}
+
+func init() {
+ t["ProfileDissociatedEvent"] = reflect.TypeOf((*ProfileDissociatedEvent)(nil)).Elem()
+}
+
+type ProfileEvent struct {
+ Event
+
+ Profile ProfileEventArgument `xml:"profile"`
+}
+
+func init() {
+ t["ProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem()
+}
+
+type ProfileEventArgument struct {
+ EventArgument
+
+ Profile ManagedObjectReference `xml:"profile"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["ProfileEventArgument"] = reflect.TypeOf((*ProfileEventArgument)(nil)).Elem()
+}
+
+type ProfileExecuteError struct {
+ DynamicData
+
+ Path *ProfilePropertyPath `xml:"path,omitempty"`
+ Message LocalizableMessage `xml:"message"`
+}
+
+func init() {
+ t["ProfileExecuteError"] = reflect.TypeOf((*ProfileExecuteError)(nil)).Elem()
+}
+
+type ProfileExecuteResult struct {
+ DynamicData
+
+ Status string `xml:"status"`
+ ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty"`
+ InapplicablePath []string `xml:"inapplicablePath,omitempty"`
+ RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty"`
+ Error []ProfileExecuteError `xml:"error,omitempty"`
+}
+
+func init() {
+ t["ProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem()
+}
+
+type ProfileExpression struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ DisplayName string `xml:"displayName"`
+ Negated bool `xml:"negated"`
+}
+
+func init() {
+ t["ProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem()
+}
+
+type ProfileExpressionMetadata struct {
+ DynamicData
+
+ ExpressionId ExtendedElementDescription `xml:"expressionId"`
+ Parameter []ProfileParameterMetadata `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["ProfileExpressionMetadata"] = reflect.TypeOf((*ProfileExpressionMetadata)(nil)).Elem()
+}
+
+type ProfileMetadata struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ ProfileTypeName string `xml:"profileTypeName,omitempty"`
+ Description *ExtendedDescription `xml:"description,omitempty"`
+ SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty"`
+ ProfileCategory string `xml:"profileCategory,omitempty"`
+ ProfileComponent string `xml:"profileComponent,omitempty"`
+}
+
+func init() {
+ t["ProfileMetadata"] = reflect.TypeOf((*ProfileMetadata)(nil)).Elem()
+}
+
+type ProfileMetadataProfileSortSpec struct {
+ DynamicData
+
+ PolicyId string `xml:"policyId"`
+ Parameter string `xml:"parameter"`
+}
+
+func init() {
+ t["ProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ProfileMetadataProfileSortSpec)(nil)).Elem()
+}
+
+type ProfileParameterMetadata struct {
+ DynamicData
+
+ Id ExtendedElementDescription `xml:"id"`
+ Type string `xml:"type"`
+ Optional bool `xml:"optional"`
+ DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr"`
+ Hidden *bool `xml:"hidden"`
+ SecuritySensitive *bool `xml:"securitySensitive"`
+ ReadOnly *bool `xml:"readOnly"`
+}
+
+func init() {
+ t["ProfileParameterMetadata"] = reflect.TypeOf((*ProfileParameterMetadata)(nil)).Elem()
+}
+
+type ProfilePolicy struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ PolicyOption BasePolicyOption `xml:"policyOption,typeattr"`
+}
+
+func init() {
+ t["ProfilePolicy"] = reflect.TypeOf((*ProfilePolicy)(nil)).Elem()
+}
+
+type ProfilePolicyMetadata struct {
+ DynamicData
+
+ Id ExtendedElementDescription `xml:"id"`
+ PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr"`
+}
+
+func init() {
+ t["ProfilePolicyMetadata"] = reflect.TypeOf((*ProfilePolicyMetadata)(nil)).Elem()
+}
+
+type ProfilePolicyOptionMetadata struct {
+ DynamicData
+
+ Id ExtendedElementDescription `xml:"id"`
+ Parameter []ProfileParameterMetadata `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["ProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem()
+}
+
+type ProfileProfileStructure struct {
+ DynamicData
+
+ ProfileTypeName string `xml:"profileTypeName"`
+ Child []ProfileProfileStructureProperty `xml:"child,omitempty"`
+}
+
+func init() {
+ t["ProfileProfileStructure"] = reflect.TypeOf((*ProfileProfileStructure)(nil)).Elem()
+}
+
+type ProfileProfileStructureProperty struct {
+ DynamicData
+
+ PropertyName string `xml:"propertyName"`
+ Array bool `xml:"array"`
+ Element ProfileProfileStructure `xml:"element"`
+}
+
+func init() {
+ t["ProfileProfileStructureProperty"] = reflect.TypeOf((*ProfileProfileStructureProperty)(nil)).Elem()
+}
+
+type ProfilePropertyPath struct {
+ DynamicData
+
+ ProfilePath string `xml:"profilePath"`
+ PolicyId string `xml:"policyId,omitempty"`
+ ParameterId string `xml:"parameterId,omitempty"`
+}
+
+func init() {
+ t["ProfilePropertyPath"] = reflect.TypeOf((*ProfilePropertyPath)(nil)).Elem()
+}
+
+type ProfileReferenceHostChangedEvent struct {
+ ProfileEvent
+
+ ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty"`
+ ReferenceHostName string `xml:"referenceHostName,omitempty"`
+ PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty"`
+}
+
+func init() {
+ t["ProfileReferenceHostChangedEvent"] = reflect.TypeOf((*ProfileReferenceHostChangedEvent)(nil)).Elem()
+}
+
+type ProfileRemovedEvent struct {
+ ProfileEvent
+}
+
+func init() {
+ t["ProfileRemovedEvent"] = reflect.TypeOf((*ProfileRemovedEvent)(nil)).Elem()
+}
+
+type ProfileSerializedCreateSpec struct {
+ ProfileCreateSpec
+
+ ProfileConfigString string `xml:"profileConfigString"`
+}
+
+func init() {
+ t["ProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem()
+}
+
+type ProfileSimpleExpression struct {
+ ProfileExpression
+
+ ExpressionType string `xml:"expressionType"`
+ Parameter []KeyAnyValue `xml:"parameter,omitempty"`
+}
+
+func init() {
+ t["ProfileSimpleExpression"] = reflect.TypeOf((*ProfileSimpleExpression)(nil)).Elem()
+}
+
+type ProfileUpdateFailed struct {
+ VimFault
+
+ Failure []ProfileUpdateFailedUpdateFailure `xml:"failure"`
+}
+
+func init() {
+ t["ProfileUpdateFailed"] = reflect.TypeOf((*ProfileUpdateFailed)(nil)).Elem()
+}
+
+type ProfileUpdateFailedFault ProfileUpdateFailed
+
+func init() {
+ t["ProfileUpdateFailedFault"] = reflect.TypeOf((*ProfileUpdateFailedFault)(nil)).Elem()
+}
+
+type ProfileUpdateFailedUpdateFailure struct {
+ DynamicData
+
+ ProfilePath ProfilePropertyPath `xml:"profilePath"`
+ ErrMsg LocalizableMessage `xml:"errMsg"`
+}
+
+func init() {
+ t["ProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ProfileUpdateFailedUpdateFailure)(nil)).Elem()
+}
+
+type PromoteDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Unlink bool `xml:"unlink"`
+ Disks []VirtualDisk `xml:"disks,omitempty"`
+}
+
+func init() {
+ t["PromoteDisksRequestType"] = reflect.TypeOf((*PromoteDisksRequestType)(nil)).Elem()
+}
+
+type PromoteDisks_Task PromoteDisksRequestType
+
+func init() {
+ t["PromoteDisks_Task"] = reflect.TypeOf((*PromoteDisks_Task)(nil)).Elem()
+}
+
+type PromoteDisks_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type PropertyChange struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Op PropertyChangeOp `xml:"op"`
+ Val AnyType `xml:"val,omitempty,typeattr"`
+}
+
+func init() {
+ t["PropertyChange"] = reflect.TypeOf((*PropertyChange)(nil)).Elem()
+}
+
+type PropertyFilterSpec struct {
+ DynamicData
+
+ PropSet []PropertySpec `xml:"propSet"`
+ ObjectSet []ObjectSpec `xml:"objectSet"`
+ ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults"`
+}
+
+func init() {
+ t["PropertyFilterSpec"] = reflect.TypeOf((*PropertyFilterSpec)(nil)).Elem()
+}
+
+type PropertyFilterUpdate struct {
+ DynamicData
+
+ Filter ManagedObjectReference `xml:"filter"`
+ ObjectSet []ObjectUpdate `xml:"objectSet,omitempty"`
+ MissingSet []MissingObject `xml:"missingSet,omitempty"`
+}
+
+func init() {
+ t["PropertyFilterUpdate"] = reflect.TypeOf((*PropertyFilterUpdate)(nil)).Elem()
+}
+
+type PropertySpec struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ All *bool `xml:"all"`
+ PathSet []string `xml:"pathSet,omitempty"`
+}
+
+func init() {
+ t["PropertySpec"] = reflect.TypeOf((*PropertySpec)(nil)).Elem()
+}
+
+type PutUsbScanCodes PutUsbScanCodesRequestType
+
+func init() {
+ t["PutUsbScanCodes"] = reflect.TypeOf((*PutUsbScanCodes)(nil)).Elem()
+}
+
+type PutUsbScanCodesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec UsbScanCodeSpec `xml:"spec"`
+}
+
+func init() {
+ t["PutUsbScanCodesRequestType"] = reflect.TypeOf((*PutUsbScanCodesRequestType)(nil)).Elem()
+}
+
+type PutUsbScanCodesResponse struct {
+ Returnval int32 `xml:"returnval"`
+}
+
+type QuarantineModeFault struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+ FaultType string `xml:"faultType"`
+}
+
+func init() {
+ t["QuarantineModeFault"] = reflect.TypeOf((*QuarantineModeFault)(nil)).Elem()
+}
+
+type QuarantineModeFaultFault QuarantineModeFault
+
+func init() {
+ t["QuarantineModeFaultFault"] = reflect.TypeOf((*QuarantineModeFaultFault)(nil)).Elem()
+}
+
+type QueryAnswerFileStatus QueryAnswerFileStatusRequestType
+
+func init() {
+ t["QueryAnswerFileStatus"] = reflect.TypeOf((*QueryAnswerFileStatus)(nil)).Elem()
+}
+
+type QueryAnswerFileStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["QueryAnswerFileStatusRequestType"] = reflect.TypeOf((*QueryAnswerFileStatusRequestType)(nil)).Elem()
+}
+
+type QueryAnswerFileStatusResponse struct {
+ Returnval []AnswerFileStatusResult `xml:"returnval,omitempty"`
+}
+
+type QueryAssignedLicenses QueryAssignedLicensesRequestType
+
+func init() {
+ t["QueryAssignedLicenses"] = reflect.TypeOf((*QueryAssignedLicenses)(nil)).Elem()
+}
+
+type QueryAssignedLicensesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EntityId string `xml:"entityId,omitempty"`
+}
+
+func init() {
+ t["QueryAssignedLicensesRequestType"] = reflect.TypeOf((*QueryAssignedLicensesRequestType)(nil)).Elem()
+}
+
+type QueryAssignedLicensesResponse struct {
+ Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval"`
+}
+
+type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType
+
+func init() {
+ t["QueryAvailableDisksForVmfs"] = reflect.TypeOf((*QueryAvailableDisksForVmfs)(nil)).Elem()
+}
+
+type QueryAvailableDisksForVmfsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["QueryAvailableDisksForVmfsRequestType"] = reflect.TypeOf((*QueryAvailableDisksForVmfsRequestType)(nil)).Elem()
+}
+
+type QueryAvailableDisksForVmfsResponse struct {
+ Returnval []HostScsiDisk `xml:"returnval,omitempty"`
+}
+
+type QueryAvailableDvsSpec QueryAvailableDvsSpecRequestType
+
+func init() {
+ t["QueryAvailableDvsSpec"] = reflect.TypeOf((*QueryAvailableDvsSpec)(nil)).Elem()
+}
+
+type QueryAvailableDvsSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Recommended *bool `xml:"recommended"`
+}
+
+func init() {
+ t["QueryAvailableDvsSpecRequestType"] = reflect.TypeOf((*QueryAvailableDvsSpecRequestType)(nil)).Elem()
+}
+
+type QueryAvailableDvsSpecResponse struct {
+ Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty"`
+}
+
+type QueryAvailablePartition QueryAvailablePartitionRequestType
+
+func init() {
+ t["QueryAvailablePartition"] = reflect.TypeOf((*QueryAvailablePartition)(nil)).Elem()
+}
+
+type QueryAvailablePartitionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryAvailablePartitionRequestType"] = reflect.TypeOf((*QueryAvailablePartitionRequestType)(nil)).Elem()
+}
+
+type QueryAvailablePartitionResponse struct {
+ Returnval []HostDiagnosticPartition `xml:"returnval,omitempty"`
+}
+
+type QueryAvailablePerfMetric QueryAvailablePerfMetricRequestType
+
+func init() {
+ t["QueryAvailablePerfMetric"] = reflect.TypeOf((*QueryAvailablePerfMetric)(nil)).Elem()
+}
+
+type QueryAvailablePerfMetricRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ BeginTime *time.Time `xml:"beginTime"`
+ EndTime *time.Time `xml:"endTime"`
+ IntervalId int32 `xml:"intervalId,omitempty"`
+}
+
+func init() {
+ t["QueryAvailablePerfMetricRequestType"] = reflect.TypeOf((*QueryAvailablePerfMetricRequestType)(nil)).Elem()
+}
+
+type QueryAvailablePerfMetricResponse struct {
+ Returnval []PerfMetricId `xml:"returnval,omitempty"`
+}
+
+type QueryAvailableSsds QueryAvailableSsdsRequestType
+
+func init() {
+ t["QueryAvailableSsds"] = reflect.TypeOf((*QueryAvailableSsds)(nil)).Elem()
+}
+
+type QueryAvailableSsdsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsPath string `xml:"vffsPath,omitempty"`
+}
+
+func init() {
+ t["QueryAvailableSsdsRequestType"] = reflect.TypeOf((*QueryAvailableSsdsRequestType)(nil)).Elem()
+}
+
+type QueryAvailableSsdsResponse struct {
+ Returnval []HostScsiDisk `xml:"returnval,omitempty"`
+}
+
+type QueryAvailableTimeZones QueryAvailableTimeZonesRequestType
+
+func init() {
+ t["QueryAvailableTimeZones"] = reflect.TypeOf((*QueryAvailableTimeZones)(nil)).Elem()
+}
+
+type QueryAvailableTimeZonesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryAvailableTimeZonesRequestType"] = reflect.TypeOf((*QueryAvailableTimeZonesRequestType)(nil)).Elem()
+}
+
+type QueryAvailableTimeZonesResponse struct {
+ Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty"`
+}
+
+type QueryBootDevices QueryBootDevicesRequestType
+
+func init() {
+ t["QueryBootDevices"] = reflect.TypeOf((*QueryBootDevices)(nil)).Elem()
+}
+
+type QueryBootDevicesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryBootDevicesRequestType"] = reflect.TypeOf((*QueryBootDevicesRequestType)(nil)).Elem()
+}
+
+type QueryBootDevicesResponse struct {
+ Returnval *HostBootDeviceInfo `xml:"returnval,omitempty"`
+}
+
+type QueryBoundVnics QueryBoundVnicsRequestType
+
+func init() {
+ t["QueryBoundVnics"] = reflect.TypeOf((*QueryBoundVnics)(nil)).Elem()
+}
+
+type QueryBoundVnicsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaName string `xml:"iScsiHbaName"`
+}
+
+func init() {
+ t["QueryBoundVnicsRequestType"] = reflect.TypeOf((*QueryBoundVnicsRequestType)(nil)).Elem()
+}
+
+type QueryBoundVnicsResponse struct {
+ Returnval []IscsiPortInfo `xml:"returnval,omitempty"`
+}
+
+type QueryCandidateNics QueryCandidateNicsRequestType
+
+func init() {
+ t["QueryCandidateNics"] = reflect.TypeOf((*QueryCandidateNics)(nil)).Elem()
+}
+
+type QueryCandidateNicsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaName string `xml:"iScsiHbaName"`
+}
+
+func init() {
+ t["QueryCandidateNicsRequestType"] = reflect.TypeOf((*QueryCandidateNicsRequestType)(nil)).Elem()
+}
+
+type QueryCandidateNicsResponse struct {
+ Returnval []IscsiPortInfo `xml:"returnval,omitempty"`
+}
+
+type QueryChangedDiskAreas QueryChangedDiskAreasRequestType
+
+func init() {
+ t["QueryChangedDiskAreas"] = reflect.TypeOf((*QueryChangedDiskAreas)(nil)).Elem()
+}
+
+type QueryChangedDiskAreasRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"`
+ DeviceKey int32 `xml:"deviceKey"`
+ StartOffset int64 `xml:"startOffset"`
+ ChangeId string `xml:"changeId"`
+}
+
+func init() {
+ t["QueryChangedDiskAreasRequestType"] = reflect.TypeOf((*QueryChangedDiskAreasRequestType)(nil)).Elem()
+}
+
+type QueryChangedDiskAreasResponse struct {
+ Returnval DiskChangeInfo `xml:"returnval"`
+}
+
+type QueryCmmds QueryCmmdsRequestType
+
+func init() {
+ t["QueryCmmds"] = reflect.TypeOf((*QueryCmmds)(nil)).Elem()
+}
+
+type QueryCmmdsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries"`
+}
+
+func init() {
+ t["QueryCmmdsRequestType"] = reflect.TypeOf((*QueryCmmdsRequestType)(nil)).Elem()
+}
+
+type QueryCmmdsResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryCompatibleHostForExistingDvs QueryCompatibleHostForExistingDvsRequestType
+
+func init() {
+ t["QueryCompatibleHostForExistingDvs"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvs)(nil)).Elem()
+}
+
+type QueryCompatibleHostForExistingDvsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Container ManagedObjectReference `xml:"container"`
+ Recursive bool `xml:"recursive"`
+ Dvs ManagedObjectReference `xml:"dvs"`
+}
+
+func init() {
+ t["QueryCompatibleHostForExistingDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvsRequestType)(nil)).Elem()
+}
+
+type QueryCompatibleHostForExistingDvsResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryCompatibleHostForNewDvs QueryCompatibleHostForNewDvsRequestType
+
+func init() {
+ t["QueryCompatibleHostForNewDvs"] = reflect.TypeOf((*QueryCompatibleHostForNewDvs)(nil)).Elem()
+}
+
+type QueryCompatibleHostForNewDvsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Container ManagedObjectReference `xml:"container"`
+ Recursive bool `xml:"recursive"`
+ SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"`
+}
+
+func init() {
+ t["QueryCompatibleHostForNewDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForNewDvsRequestType)(nil)).Elem()
+}
+
+type QueryCompatibleHostForNewDvsResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryComplianceStatus QueryComplianceStatusRequestType
+
+func init() {
+ t["QueryComplianceStatus"] = reflect.TypeOf((*QueryComplianceStatus)(nil)).Elem()
+}
+
+type QueryComplianceStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Profile []ManagedObjectReference `xml:"profile,omitempty"`
+ Entity []ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["QueryComplianceStatusRequestType"] = reflect.TypeOf((*QueryComplianceStatusRequestType)(nil)).Elem()
+}
+
+type QueryComplianceStatusResponse struct {
+ Returnval []ComplianceResult `xml:"returnval,omitempty"`
+}
+
+type QueryConfigOption QueryConfigOptionRequestType
+
+func init() {
+ t["QueryConfigOption"] = reflect.TypeOf((*QueryConfigOption)(nil)).Elem()
+}
+
+type QueryConfigOptionDescriptor QueryConfigOptionDescriptorRequestType
+
+func init() {
+ t["QueryConfigOptionDescriptor"] = reflect.TypeOf((*QueryConfigOptionDescriptor)(nil)).Elem()
+}
+
+type QueryConfigOptionDescriptorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryConfigOptionDescriptorRequestType)(nil)).Elem()
+}
+
+type QueryConfigOptionDescriptorResponse struct {
+ Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty"`
+}
+
+type QueryConfigOptionEx QueryConfigOptionExRequestType
+
+func init() {
+ t["QueryConfigOptionEx"] = reflect.TypeOf((*QueryConfigOptionEx)(nil)).Elem()
+}
+
+type QueryConfigOptionExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["QueryConfigOptionExRequestType"] = reflect.TypeOf((*QueryConfigOptionExRequestType)(nil)).Elem()
+}
+
+type QueryConfigOptionExResponse struct {
+ Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty"`
+}
+
+type QueryConfigOptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key string `xml:"key,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryConfigOptionRequestType"] = reflect.TypeOf((*QueryConfigOptionRequestType)(nil)).Elem()
+}
+
+type QueryConfigOptionResponse struct {
+ Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty"`
+}
+
+type QueryConfigTarget QueryConfigTargetRequestType
+
+func init() {
+ t["QueryConfigTarget"] = reflect.TypeOf((*QueryConfigTarget)(nil)).Elem()
+}
+
+type QueryConfigTargetRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryConfigTargetRequestType"] = reflect.TypeOf((*QueryConfigTargetRequestType)(nil)).Elem()
+}
+
+type QueryConfigTargetResponse struct {
+ Returnval *ConfigTarget `xml:"returnval,omitempty"`
+}
+
+type QueryConfiguredModuleOptionString QueryConfiguredModuleOptionStringRequestType
+
+func init() {
+ t["QueryConfiguredModuleOptionString"] = reflect.TypeOf((*QueryConfiguredModuleOptionString)(nil)).Elem()
+}
+
+type QueryConfiguredModuleOptionStringRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["QueryConfiguredModuleOptionStringRequestType"] = reflect.TypeOf((*QueryConfiguredModuleOptionStringRequestType)(nil)).Elem()
+}
+
+type QueryConfiguredModuleOptionStringResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryConnectionInfo QueryConnectionInfoRequestType
+
+func init() {
+ t["QueryConnectionInfo"] = reflect.TypeOf((*QueryConnectionInfo)(nil)).Elem()
+}
+
+type QueryConnectionInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Hostname string `xml:"hostname"`
+ Port int32 `xml:"port"`
+ Username string `xml:"username"`
+ Password string `xml:"password"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+}
+
+func init() {
+ t["QueryConnectionInfoRequestType"] = reflect.TypeOf((*QueryConnectionInfoRequestType)(nil)).Elem()
+}
+
+type QueryConnectionInfoResponse struct {
+ Returnval HostConnectInfo `xml:"returnval"`
+}
+
+type QueryConnectionInfoViaSpec QueryConnectionInfoViaSpecRequestType
+
+func init() {
+ t["QueryConnectionInfoViaSpec"] = reflect.TypeOf((*QueryConnectionInfoViaSpec)(nil)).Elem()
+}
+
+type QueryConnectionInfoViaSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostConnectSpec `xml:"spec"`
+}
+
+func init() {
+ t["QueryConnectionInfoViaSpecRequestType"] = reflect.TypeOf((*QueryConnectionInfoViaSpecRequestType)(nil)).Elem()
+}
+
+type QueryConnectionInfoViaSpecResponse struct {
+ Returnval HostConnectInfo `xml:"returnval"`
+}
+
+type QueryDatastorePerformanceSummary QueryDatastorePerformanceSummaryRequestType
+
+func init() {
+ t["QueryDatastorePerformanceSummary"] = reflect.TypeOf((*QueryDatastorePerformanceSummary)(nil)).Elem()
+}
+
+type QueryDatastorePerformanceSummaryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["QueryDatastorePerformanceSummaryRequestType"] = reflect.TypeOf((*QueryDatastorePerformanceSummaryRequestType)(nil)).Elem()
+}
+
+type QueryDatastorePerformanceSummaryResponse struct {
+ Returnval []StoragePerformanceSummary `xml:"returnval,omitempty"`
+}
+
+type QueryDateTime QueryDateTimeRequestType
+
+func init() {
+ t["QueryDateTime"] = reflect.TypeOf((*QueryDateTime)(nil)).Elem()
+}
+
+type QueryDateTimeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryDateTimeRequestType"] = reflect.TypeOf((*QueryDateTimeRequestType)(nil)).Elem()
+}
+
+type QueryDateTimeResponse struct {
+ Returnval time.Time `xml:"returnval"`
+}
+
+type QueryDescriptions QueryDescriptionsRequestType
+
+func init() {
+ t["QueryDescriptions"] = reflect.TypeOf((*QueryDescriptions)(nil)).Elem()
+}
+
+type QueryDescriptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryDescriptionsRequestType"] = reflect.TypeOf((*QueryDescriptionsRequestType)(nil)).Elem()
+}
+
+type QueryDescriptionsResponse struct {
+ Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty"`
+}
+
+type QueryDisksForVsan QueryDisksForVsanRequestType
+
+func init() {
+ t["QueryDisksForVsan"] = reflect.TypeOf((*QueryDisksForVsan)(nil)).Elem()
+}
+
+type QueryDisksForVsanRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CanonicalName []string `xml:"canonicalName,omitempty"`
+}
+
+func init() {
+ t["QueryDisksForVsanRequestType"] = reflect.TypeOf((*QueryDisksForVsanRequestType)(nil)).Elem()
+}
+
+type QueryDisksForVsanResponse struct {
+ Returnval []VsanHostDiskResult `xml:"returnval,omitempty"`
+}
+
+type QueryDisksUsingFilter QueryDisksUsingFilterRequestType
+
+func init() {
+ t["QueryDisksUsingFilter"] = reflect.TypeOf((*QueryDisksUsingFilter)(nil)).Elem()
+}
+
+type QueryDisksUsingFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+}
+
+func init() {
+ t["QueryDisksUsingFilterRequestType"] = reflect.TypeOf((*QueryDisksUsingFilterRequestType)(nil)).Elem()
+}
+
+type QueryDisksUsingFilterResponse struct {
+ Returnval []VirtualDiskId `xml:"returnval"`
+}
+
+type QueryDvsByUuid QueryDvsByUuidRequestType
+
+func init() {
+ t["QueryDvsByUuid"] = reflect.TypeOf((*QueryDvsByUuid)(nil)).Elem()
+}
+
+type QueryDvsByUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["QueryDvsByUuidRequestType"] = reflect.TypeOf((*QueryDvsByUuidRequestType)(nil)).Elem()
+}
+
+type QueryDvsByUuidResponse struct {
+ Returnval *ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryDvsCheckCompatibility QueryDvsCheckCompatibilityRequestType
+
+func init() {
+ t["QueryDvsCheckCompatibility"] = reflect.TypeOf((*QueryDvsCheckCompatibility)(nil)).Elem()
+}
+
+type QueryDvsCheckCompatibilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer"`
+ DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty"`
+ HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr"`
+}
+
+func init() {
+ t["QueryDvsCheckCompatibilityRequestType"] = reflect.TypeOf((*QueryDvsCheckCompatibilityRequestType)(nil)).Elem()
+}
+
+type QueryDvsCheckCompatibilityResponse struct {
+ Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty"`
+}
+
+type QueryDvsCompatibleHostSpec QueryDvsCompatibleHostSpecRequestType
+
+func init() {
+ t["QueryDvsCompatibleHostSpec"] = reflect.TypeOf((*QueryDvsCompatibleHostSpec)(nil)).Elem()
+}
+
+type QueryDvsCompatibleHostSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"`
+}
+
+func init() {
+ t["QueryDvsCompatibleHostSpecRequestType"] = reflect.TypeOf((*QueryDvsCompatibleHostSpecRequestType)(nil)).Elem()
+}
+
+type QueryDvsCompatibleHostSpecResponse struct {
+ Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty"`
+}
+
+type QueryDvsConfigTarget QueryDvsConfigTargetRequestType
+
+func init() {
+ t["QueryDvsConfigTarget"] = reflect.TypeOf((*QueryDvsConfigTarget)(nil)).Elem()
+}
+
+type QueryDvsConfigTargetRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Dvs *ManagedObjectReference `xml:"dvs,omitempty"`
+}
+
+func init() {
+ t["QueryDvsConfigTargetRequestType"] = reflect.TypeOf((*QueryDvsConfigTargetRequestType)(nil)).Elem()
+}
+
+type QueryDvsConfigTargetResponse struct {
+ Returnval DVSManagerDvsConfigTarget `xml:"returnval"`
+}
+
+type QueryDvsFeatureCapability QueryDvsFeatureCapabilityRequestType
+
+func init() {
+ t["QueryDvsFeatureCapability"] = reflect.TypeOf((*QueryDvsFeatureCapability)(nil)).Elem()
+}
+
+type QueryDvsFeatureCapabilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"`
+}
+
+func init() {
+ t["QueryDvsFeatureCapabilityRequestType"] = reflect.TypeOf((*QueryDvsFeatureCapabilityRequestType)(nil)).Elem()
+}
+
+type QueryDvsFeatureCapabilityResponse struct {
+ Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr"`
+}
+
+type QueryEvents QueryEventsRequestType
+
+func init() {
+ t["QueryEvents"] = reflect.TypeOf((*QueryEvents)(nil)).Elem()
+}
+
+type QueryEventsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Filter EventFilterSpec `xml:"filter"`
+}
+
+func init() {
+ t["QueryEventsRequestType"] = reflect.TypeOf((*QueryEventsRequestType)(nil)).Elem()
+}
+
+type QueryEventsResponse struct {
+ Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"`
+}
+
+type QueryExpressionMetadata QueryExpressionMetadataRequestType
+
+func init() {
+ t["QueryExpressionMetadata"] = reflect.TypeOf((*QueryExpressionMetadata)(nil)).Elem()
+}
+
+type QueryExpressionMetadataRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExpressionName []string `xml:"expressionName,omitempty"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+}
+
+func init() {
+ t["QueryExpressionMetadataRequestType"] = reflect.TypeOf((*QueryExpressionMetadataRequestType)(nil)).Elem()
+}
+
+type QueryExpressionMetadataResponse struct {
+ Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty"`
+}
+
+type QueryExtensionIpAllocationUsage QueryExtensionIpAllocationUsageRequestType
+
+func init() {
+ t["QueryExtensionIpAllocationUsage"] = reflect.TypeOf((*QueryExtensionIpAllocationUsage)(nil)).Elem()
+}
+
+type QueryExtensionIpAllocationUsageRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKeys []string `xml:"extensionKeys,omitempty"`
+}
+
+func init() {
+ t["QueryExtensionIpAllocationUsageRequestType"] = reflect.TypeOf((*QueryExtensionIpAllocationUsageRequestType)(nil)).Elem()
+}
+
+type QueryExtensionIpAllocationUsageResponse struct {
+ Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty"`
+}
+
+type QueryFaultToleranceCompatibility QueryFaultToleranceCompatibilityRequestType
+
+func init() {
+ t["QueryFaultToleranceCompatibility"] = reflect.TypeOf((*QueryFaultToleranceCompatibility)(nil)).Elem()
+}
+
+type QueryFaultToleranceCompatibilityEx QueryFaultToleranceCompatibilityExRequestType
+
+func init() {
+ t["QueryFaultToleranceCompatibilityEx"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityEx)(nil)).Elem()
+}
+
+type QueryFaultToleranceCompatibilityExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ForLegacyFt *bool `xml:"forLegacyFt"`
+}
+
+func init() {
+ t["QueryFaultToleranceCompatibilityExRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityExRequestType)(nil)).Elem()
+}
+
+type QueryFaultToleranceCompatibilityExResponse struct {
+ Returnval []LocalizedMethodFault `xml:"returnval,omitempty"`
+}
+
+type QueryFaultToleranceCompatibilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryFaultToleranceCompatibilityRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityRequestType)(nil)).Elem()
+}
+
+type QueryFaultToleranceCompatibilityResponse struct {
+ Returnval []LocalizedMethodFault `xml:"returnval,omitempty"`
+}
+
+type QueryFilterEntities QueryFilterEntitiesRequestType
+
+func init() {
+ t["QueryFilterEntities"] = reflect.TypeOf((*QueryFilterEntities)(nil)).Elem()
+}
+
+type QueryFilterEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+}
+
+func init() {
+ t["QueryFilterEntitiesRequestType"] = reflect.TypeOf((*QueryFilterEntitiesRequestType)(nil)).Elem()
+}
+
+type QueryFilterEntitiesResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryFilterInfoIds QueryFilterInfoIdsRequestType
+
+func init() {
+ t["QueryFilterInfoIds"] = reflect.TypeOf((*QueryFilterInfoIds)(nil)).Elem()
+}
+
+type QueryFilterInfoIdsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+}
+
+func init() {
+ t["QueryFilterInfoIdsRequestType"] = reflect.TypeOf((*QueryFilterInfoIdsRequestType)(nil)).Elem()
+}
+
+type QueryFilterInfoIdsResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryFilterList QueryFilterListRequestType
+
+func init() {
+ t["QueryFilterList"] = reflect.TypeOf((*QueryFilterList)(nil)).Elem()
+}
+
+type QueryFilterListRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+}
+
+func init() {
+ t["QueryFilterListRequestType"] = reflect.TypeOf((*QueryFilterListRequestType)(nil)).Elem()
+}
+
+type QueryFilterListResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryFilterName QueryFilterNameRequestType
+
+func init() {
+ t["QueryFilterName"] = reflect.TypeOf((*QueryFilterName)(nil)).Elem()
+}
+
+type QueryFilterNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+}
+
+func init() {
+ t["QueryFilterNameRequestType"] = reflect.TypeOf((*QueryFilterNameRequestType)(nil)).Elem()
+}
+
+type QueryFilterNameResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryFirmwareConfigUploadURL QueryFirmwareConfigUploadURLRequestType
+
+func init() {
+ t["QueryFirmwareConfigUploadURL"] = reflect.TypeOf((*QueryFirmwareConfigUploadURL)(nil)).Elem()
+}
+
+type QueryFirmwareConfigUploadURLRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryFirmwareConfigUploadURLRequestType"] = reflect.TypeOf((*QueryFirmwareConfigUploadURLRequestType)(nil)).Elem()
+}
+
+type QueryFirmwareConfigUploadURLResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType
+
+func init() {
+ t["QueryHealthUpdateInfos"] = reflect.TypeOf((*QueryHealthUpdateInfos)(nil)).Elem()
+}
+
+type QueryHealthUpdateInfosRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+}
+
+func init() {
+ t["QueryHealthUpdateInfosRequestType"] = reflect.TypeOf((*QueryHealthUpdateInfosRequestType)(nil)).Elem()
+}
+
+type QueryHealthUpdateInfosResponse struct {
+ Returnval []HealthUpdateInfo `xml:"returnval,omitempty"`
+}
+
+type QueryHealthUpdates QueryHealthUpdatesRequestType
+
+func init() {
+ t["QueryHealthUpdates"] = reflect.TypeOf((*QueryHealthUpdates)(nil)).Elem()
+}
+
+type QueryHealthUpdatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+}
+
+func init() {
+ t["QueryHealthUpdatesRequestType"] = reflect.TypeOf((*QueryHealthUpdatesRequestType)(nil)).Elem()
+}
+
+type QueryHealthUpdatesResponse struct {
+ Returnval []HealthUpdate `xml:"returnval,omitempty"`
+}
+
+type QueryHostConnectionInfo QueryHostConnectionInfoRequestType
+
+func init() {
+ t["QueryHostConnectionInfo"] = reflect.TypeOf((*QueryHostConnectionInfo)(nil)).Elem()
+}
+
+type QueryHostConnectionInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryHostConnectionInfoRequestType"] = reflect.TypeOf((*QueryHostConnectionInfoRequestType)(nil)).Elem()
+}
+
+type QueryHostConnectionInfoResponse struct {
+ Returnval HostConnectInfo `xml:"returnval"`
+}
+
+type QueryHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["QueryHostPatchRequestType"] = reflect.TypeOf((*QueryHostPatchRequestType)(nil)).Elem()
+}
+
+type QueryHostPatch_Task QueryHostPatchRequestType
+
+func init() {
+ t["QueryHostPatch_Task"] = reflect.TypeOf((*QueryHostPatch_Task)(nil)).Elem()
+}
+
+type QueryHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type QueryHostProfileMetadata QueryHostProfileMetadataRequestType
+
+func init() {
+ t["QueryHostProfileMetadata"] = reflect.TypeOf((*QueryHostProfileMetadata)(nil)).Elem()
+}
+
+type QueryHostProfileMetadataRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProfileName []string `xml:"profileName,omitempty"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+}
+
+func init() {
+ t["QueryHostProfileMetadataRequestType"] = reflect.TypeOf((*QueryHostProfileMetadataRequestType)(nil)).Elem()
+}
+
+type QueryHostProfileMetadataResponse struct {
+ Returnval []ProfileMetadata `xml:"returnval,omitempty"`
+}
+
+type QueryHostStatus QueryHostStatusRequestType
+
+func init() {
+ t["QueryHostStatus"] = reflect.TypeOf((*QueryHostStatus)(nil)).Elem()
+}
+
+type QueryHostStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryHostStatusRequestType"] = reflect.TypeOf((*QueryHostStatusRequestType)(nil)).Elem()
+}
+
+type QueryHostStatusResponse struct {
+ Returnval VsanHostClusterStatus `xml:"returnval"`
+}
+
+type QueryIORMConfigOption QueryIORMConfigOptionRequestType
+
+func init() {
+ t["QueryIORMConfigOption"] = reflect.TypeOf((*QueryIORMConfigOption)(nil)).Elem()
+}
+
+type QueryIORMConfigOptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["QueryIORMConfigOptionRequestType"] = reflect.TypeOf((*QueryIORMConfigOptionRequestType)(nil)).Elem()
+}
+
+type QueryIORMConfigOptionResponse struct {
+ Returnval StorageIORMConfigOption `xml:"returnval"`
+}
+
+type QueryIPAllocations QueryIPAllocationsRequestType
+
+func init() {
+ t["QueryIPAllocations"] = reflect.TypeOf((*QueryIPAllocations)(nil)).Elem()
+}
+
+type QueryIPAllocationsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ PoolId int32 `xml:"poolId"`
+ ExtensionKey string `xml:"extensionKey"`
+}
+
+func init() {
+ t["QueryIPAllocationsRequestType"] = reflect.TypeOf((*QueryIPAllocationsRequestType)(nil)).Elem()
+}
+
+type QueryIPAllocationsResponse struct {
+ Returnval []IpPoolManagerIpAllocation `xml:"returnval"`
+}
+
+type QueryIoFilterInfo QueryIoFilterInfoRequestType
+
+func init() {
+ t["QueryIoFilterInfo"] = reflect.TypeOf((*QueryIoFilterInfo)(nil)).Elem()
+}
+
+type QueryIoFilterInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+}
+
+func init() {
+ t["QueryIoFilterInfoRequestType"] = reflect.TypeOf((*QueryIoFilterInfoRequestType)(nil)).Elem()
+}
+
+type QueryIoFilterInfoResponse struct {
+ Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty"`
+}
+
+type QueryIoFilterIssues QueryIoFilterIssuesRequestType
+
+func init() {
+ t["QueryIoFilterIssues"] = reflect.TypeOf((*QueryIoFilterIssues)(nil)).Elem()
+}
+
+type QueryIoFilterIssuesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+}
+
+func init() {
+ t["QueryIoFilterIssuesRequestType"] = reflect.TypeOf((*QueryIoFilterIssuesRequestType)(nil)).Elem()
+}
+
+type QueryIoFilterIssuesResponse struct {
+ Returnval IoFilterQueryIssueResult `xml:"returnval"`
+}
+
+type QueryIpPools QueryIpPoolsRequestType
+
+func init() {
+ t["QueryIpPools"] = reflect.TypeOf((*QueryIpPools)(nil)).Elem()
+}
+
+type QueryIpPoolsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+}
+
+func init() {
+ t["QueryIpPoolsRequestType"] = reflect.TypeOf((*QueryIpPoolsRequestType)(nil)).Elem()
+}
+
+type QueryIpPoolsResponse struct {
+ Returnval []IpPool `xml:"returnval,omitempty"`
+}
+
+type QueryLicenseSourceAvailability QueryLicenseSourceAvailabilityRequestType
+
+func init() {
+ t["QueryLicenseSourceAvailability"] = reflect.TypeOf((*QueryLicenseSourceAvailability)(nil)).Elem()
+}
+
+type QueryLicenseSourceAvailabilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryLicenseSourceAvailabilityRequestType"] = reflect.TypeOf((*QueryLicenseSourceAvailabilityRequestType)(nil)).Elem()
+}
+
+type QueryLicenseSourceAvailabilityResponse struct {
+ Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty"`
+}
+
+type QueryLicenseUsage QueryLicenseUsageRequestType
+
+func init() {
+ t["QueryLicenseUsage"] = reflect.TypeOf((*QueryLicenseUsage)(nil)).Elem()
+}
+
+type QueryLicenseUsageRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryLicenseUsageRequestType"] = reflect.TypeOf((*QueryLicenseUsageRequestType)(nil)).Elem()
+}
+
+type QueryLicenseUsageResponse struct {
+ Returnval LicenseUsageInfo `xml:"returnval"`
+}
+
+type QueryLockdownExceptions QueryLockdownExceptionsRequestType
+
+func init() {
+ t["QueryLockdownExceptions"] = reflect.TypeOf((*QueryLockdownExceptions)(nil)).Elem()
+}
+
+type QueryLockdownExceptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryLockdownExceptionsRequestType"] = reflect.TypeOf((*QueryLockdownExceptionsRequestType)(nil)).Elem()
+}
+
+type QueryLockdownExceptionsResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryManagedBy QueryManagedByRequestType
+
+func init() {
+ t["QueryManagedBy"] = reflect.TypeOf((*QueryManagedBy)(nil)).Elem()
+}
+
+type QueryManagedByRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+}
+
+func init() {
+ t["QueryManagedByRequestType"] = reflect.TypeOf((*QueryManagedByRequestType)(nil)).Elem()
+}
+
+type QueryManagedByResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryMemoryOverhead QueryMemoryOverheadRequestType
+
+func init() {
+ t["QueryMemoryOverhead"] = reflect.TypeOf((*QueryMemoryOverhead)(nil)).Elem()
+}
+
+type QueryMemoryOverheadEx QueryMemoryOverheadExRequestType
+
+func init() {
+ t["QueryMemoryOverheadEx"] = reflect.TypeOf((*QueryMemoryOverheadEx)(nil)).Elem()
+}
+
+type QueryMemoryOverheadExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo"`
+}
+
+func init() {
+ t["QueryMemoryOverheadExRequestType"] = reflect.TypeOf((*QueryMemoryOverheadExRequestType)(nil)).Elem()
+}
+
+type QueryMemoryOverheadExResponse struct {
+ Returnval int64 `xml:"returnval"`
+}
+
+type QueryMemoryOverheadRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MemorySize int64 `xml:"memorySize"`
+ VideoRamSize int32 `xml:"videoRamSize,omitempty"`
+ NumVcpus int32 `xml:"numVcpus"`
+}
+
+func init() {
+ t["QueryMemoryOverheadRequestType"] = reflect.TypeOf((*QueryMemoryOverheadRequestType)(nil)).Elem()
+}
+
+type QueryMemoryOverheadResponse struct {
+ Returnval int64 `xml:"returnval"`
+}
+
+type QueryMigrationDependencies QueryMigrationDependenciesRequestType
+
+func init() {
+ t["QueryMigrationDependencies"] = reflect.TypeOf((*QueryMigrationDependencies)(nil)).Elem()
+}
+
+type QueryMigrationDependenciesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PnicDevice []string `xml:"pnicDevice"`
+}
+
+func init() {
+ t["QueryMigrationDependenciesRequestType"] = reflect.TypeOf((*QueryMigrationDependenciesRequestType)(nil)).Elem()
+}
+
+type QueryMigrationDependenciesResponse struct {
+ Returnval IscsiMigrationDependency `xml:"returnval"`
+}
+
+type QueryModules QueryModulesRequestType
+
+func init() {
+ t["QueryModules"] = reflect.TypeOf((*QueryModules)(nil)).Elem()
+}
+
+type QueryModulesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryModulesRequestType"] = reflect.TypeOf((*QueryModulesRequestType)(nil)).Elem()
+}
+
+type QueryModulesResponse struct {
+ Returnval []KernelModuleInfo `xml:"returnval,omitempty"`
+}
+
+type QueryMonitoredEntities QueryMonitoredEntitiesRequestType
+
+func init() {
+ t["QueryMonitoredEntities"] = reflect.TypeOf((*QueryMonitoredEntities)(nil)).Elem()
+}
+
+type QueryMonitoredEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+}
+
+func init() {
+ t["QueryMonitoredEntitiesRequestType"] = reflect.TypeOf((*QueryMonitoredEntitiesRequestType)(nil)).Elem()
+}
+
+type QueryMonitoredEntitiesResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryNFSUser QueryNFSUserRequestType
+
+func init() {
+ t["QueryNFSUser"] = reflect.TypeOf((*QueryNFSUser)(nil)).Elem()
+}
+
+type QueryNFSUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryNFSUserRequestType"] = reflect.TypeOf((*QueryNFSUserRequestType)(nil)).Elem()
+}
+
+type QueryNFSUserResponse struct {
+ Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty"`
+}
+
+type QueryNetConfig QueryNetConfigRequestType
+
+func init() {
+ t["QueryNetConfig"] = reflect.TypeOf((*QueryNetConfig)(nil)).Elem()
+}
+
+type QueryNetConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NicType string `xml:"nicType"`
+}
+
+func init() {
+ t["QueryNetConfigRequestType"] = reflect.TypeOf((*QueryNetConfigRequestType)(nil)).Elem()
+}
+
+type QueryNetConfigResponse struct {
+ Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty"`
+}
+
+type QueryNetworkHint QueryNetworkHintRequestType
+
+func init() {
+ t["QueryNetworkHint"] = reflect.TypeOf((*QueryNetworkHint)(nil)).Elem()
+}
+
+type QueryNetworkHintRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device []string `xml:"device,omitempty"`
+}
+
+func init() {
+ t["QueryNetworkHintRequestType"] = reflect.TypeOf((*QueryNetworkHintRequestType)(nil)).Elem()
+}
+
+type QueryNetworkHintResponse struct {
+ Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty"`
+}
+
+type QueryObjectsOnPhysicalVsanDisk QueryObjectsOnPhysicalVsanDiskRequestType
+
+func init() {
+ t["QueryObjectsOnPhysicalVsanDisk"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDisk)(nil)).Elem()
+}
+
+type QueryObjectsOnPhysicalVsanDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Disks []string `xml:"disks"`
+}
+
+func init() {
+ t["QueryObjectsOnPhysicalVsanDiskRequestType"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDiskRequestType)(nil)).Elem()
+}
+
+type QueryObjectsOnPhysicalVsanDiskResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryOptions QueryOptionsRequestType
+
+func init() {
+ t["QueryOptions"] = reflect.TypeOf((*QueryOptions)(nil)).Elem()
+}
+
+type QueryOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["QueryOptionsRequestType"] = reflect.TypeOf((*QueryOptionsRequestType)(nil)).Elem()
+}
+
+type QueryOptionsResponse struct {
+ Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr"`
+}
+
+type QueryPartitionCreateDesc QueryPartitionCreateDescRequestType
+
+func init() {
+ t["QueryPartitionCreateDesc"] = reflect.TypeOf((*QueryPartitionCreateDesc)(nil)).Elem()
+}
+
+type QueryPartitionCreateDescRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DiskUuid string `xml:"diskUuid"`
+ DiagnosticType string `xml:"diagnosticType"`
+}
+
+func init() {
+ t["QueryPartitionCreateDescRequestType"] = reflect.TypeOf((*QueryPartitionCreateDescRequestType)(nil)).Elem()
+}
+
+type QueryPartitionCreateDescResponse struct {
+ Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval"`
+}
+
+type QueryPartitionCreateOptions QueryPartitionCreateOptionsRequestType
+
+func init() {
+ t["QueryPartitionCreateOptions"] = reflect.TypeOf((*QueryPartitionCreateOptions)(nil)).Elem()
+}
+
+type QueryPartitionCreateOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ StorageType string `xml:"storageType"`
+ DiagnosticType string `xml:"diagnosticType"`
+}
+
+func init() {
+ t["QueryPartitionCreateOptionsRequestType"] = reflect.TypeOf((*QueryPartitionCreateOptionsRequestType)(nil)).Elem()
+}
+
+type QueryPartitionCreateOptionsResponse struct {
+ Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty"`
+}
+
+type QueryPathSelectionPolicyOptions QueryPathSelectionPolicyOptionsRequestType
+
+func init() {
+ t["QueryPathSelectionPolicyOptions"] = reflect.TypeOf((*QueryPathSelectionPolicyOptions)(nil)).Elem()
+}
+
+type QueryPathSelectionPolicyOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryPathSelectionPolicyOptionsRequestType"] = reflect.TypeOf((*QueryPathSelectionPolicyOptionsRequestType)(nil)).Elem()
+}
+
+type QueryPathSelectionPolicyOptionsResponse struct {
+ Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty"`
+}
+
+type QueryPerf QueryPerfRequestType
+
+func init() {
+ t["QueryPerf"] = reflect.TypeOf((*QueryPerf)(nil)).Elem()
+}
+
+type QueryPerfComposite QueryPerfCompositeRequestType
+
+func init() {
+ t["QueryPerfComposite"] = reflect.TypeOf((*QueryPerfComposite)(nil)).Elem()
+}
+
+type QueryPerfCompositeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ QuerySpec PerfQuerySpec `xml:"querySpec"`
+}
+
+func init() {
+ t["QueryPerfCompositeRequestType"] = reflect.TypeOf((*QueryPerfCompositeRequestType)(nil)).Elem()
+}
+
+type QueryPerfCompositeResponse struct {
+ Returnval PerfCompositeMetric `xml:"returnval"`
+}
+
+type QueryPerfCounter QueryPerfCounterRequestType
+
+func init() {
+ t["QueryPerfCounter"] = reflect.TypeOf((*QueryPerfCounter)(nil)).Elem()
+}
+
+type QueryPerfCounterByLevel QueryPerfCounterByLevelRequestType
+
+func init() {
+ t["QueryPerfCounterByLevel"] = reflect.TypeOf((*QueryPerfCounterByLevel)(nil)).Elem()
+}
+
+type QueryPerfCounterByLevelRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Level int32 `xml:"level"`
+}
+
+func init() {
+ t["QueryPerfCounterByLevelRequestType"] = reflect.TypeOf((*QueryPerfCounterByLevelRequestType)(nil)).Elem()
+}
+
+type QueryPerfCounterByLevelResponse struct {
+ Returnval []PerfCounterInfo `xml:"returnval"`
+}
+
+type QueryPerfCounterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CounterId []int32 `xml:"counterId"`
+}
+
+func init() {
+ t["QueryPerfCounterRequestType"] = reflect.TypeOf((*QueryPerfCounterRequestType)(nil)).Elem()
+}
+
+type QueryPerfCounterResponse struct {
+ Returnval []PerfCounterInfo `xml:"returnval,omitempty"`
+}
+
+type QueryPerfProviderSummary QueryPerfProviderSummaryRequestType
+
+func init() {
+ t["QueryPerfProviderSummary"] = reflect.TypeOf((*QueryPerfProviderSummary)(nil)).Elem()
+}
+
+type QueryPerfProviderSummaryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["QueryPerfProviderSummaryRequestType"] = reflect.TypeOf((*QueryPerfProviderSummaryRequestType)(nil)).Elem()
+}
+
+type QueryPerfProviderSummaryResponse struct {
+ Returnval PerfProviderSummary `xml:"returnval"`
+}
+
+type QueryPerfRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ QuerySpec []PerfQuerySpec `xml:"querySpec"`
+}
+
+func init() {
+ t["QueryPerfRequestType"] = reflect.TypeOf((*QueryPerfRequestType)(nil)).Elem()
+}
+
+type QueryPerfResponse struct {
+ Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr"`
+}
+
+type QueryPhysicalVsanDisks QueryPhysicalVsanDisksRequestType
+
+func init() {
+ t["QueryPhysicalVsanDisks"] = reflect.TypeOf((*QueryPhysicalVsanDisks)(nil)).Elem()
+}
+
+type QueryPhysicalVsanDisksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Props []string `xml:"props,omitempty"`
+}
+
+func init() {
+ t["QueryPhysicalVsanDisksRequestType"] = reflect.TypeOf((*QueryPhysicalVsanDisksRequestType)(nil)).Elem()
+}
+
+type QueryPhysicalVsanDisksResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryPnicStatus QueryPnicStatusRequestType
+
+func init() {
+ t["QueryPnicStatus"] = reflect.TypeOf((*QueryPnicStatus)(nil)).Elem()
+}
+
+type QueryPnicStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PnicDevice string `xml:"pnicDevice"`
+}
+
+func init() {
+ t["QueryPnicStatusRequestType"] = reflect.TypeOf((*QueryPnicStatusRequestType)(nil)).Elem()
+}
+
+type QueryPnicStatusResponse struct {
+ Returnval IscsiStatus `xml:"returnval"`
+}
+
+type QueryPolicyMetadata QueryPolicyMetadataRequestType
+
+func init() {
+ t["QueryPolicyMetadata"] = reflect.TypeOf((*QueryPolicyMetadata)(nil)).Elem()
+}
+
+type QueryPolicyMetadataRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PolicyName []string `xml:"policyName,omitempty"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+}
+
+func init() {
+ t["QueryPolicyMetadataRequestType"] = reflect.TypeOf((*QueryPolicyMetadataRequestType)(nil)).Elem()
+}
+
+type QueryPolicyMetadataResponse struct {
+ Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty"`
+}
+
+type QueryProfileStructure QueryProfileStructureRequestType
+
+func init() {
+ t["QueryProfileStructure"] = reflect.TypeOf((*QueryProfileStructure)(nil)).Elem()
+}
+
+type QueryProfileStructureRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Profile *ManagedObjectReference `xml:"profile,omitempty"`
+}
+
+func init() {
+ t["QueryProfileStructureRequestType"] = reflect.TypeOf((*QueryProfileStructureRequestType)(nil)).Elem()
+}
+
+type QueryProfileStructureResponse struct {
+ Returnval ProfileProfileStructure `xml:"returnval"`
+}
+
+type QueryProviderList QueryProviderListRequestType
+
+func init() {
+ t["QueryProviderList"] = reflect.TypeOf((*QueryProviderList)(nil)).Elem()
+}
+
+type QueryProviderListRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryProviderListRequestType"] = reflect.TypeOf((*QueryProviderListRequestType)(nil)).Elem()
+}
+
+type QueryProviderListResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryProviderName QueryProviderNameRequestType
+
+func init() {
+ t["QueryProviderName"] = reflect.TypeOf((*QueryProviderName)(nil)).Elem()
+}
+
+type QueryProviderNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["QueryProviderNameRequestType"] = reflect.TypeOf((*QueryProviderNameRequestType)(nil)).Elem()
+}
+
+type QueryProviderNameResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryResourceConfigOption QueryResourceConfigOptionRequestType
+
+func init() {
+ t["QueryResourceConfigOption"] = reflect.TypeOf((*QueryResourceConfigOption)(nil)).Elem()
+}
+
+type QueryResourceConfigOptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryResourceConfigOptionRequestType"] = reflect.TypeOf((*QueryResourceConfigOptionRequestType)(nil)).Elem()
+}
+
+type QueryResourceConfigOptionResponse struct {
+ Returnval ResourceConfigOption `xml:"returnval"`
+}
+
+type QueryServiceList QueryServiceListRequestType
+
+func init() {
+ t["QueryServiceList"] = reflect.TypeOf((*QueryServiceList)(nil)).Elem()
+}
+
+type QueryServiceListRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ServiceName string `xml:"serviceName,omitempty"`
+ Location []string `xml:"location,omitempty"`
+}
+
+func init() {
+ t["QueryServiceListRequestType"] = reflect.TypeOf((*QueryServiceListRequestType)(nil)).Elem()
+}
+
+type QueryServiceListResponse struct {
+ Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty"`
+}
+
+type QueryStorageArrayTypePolicyOptions QueryStorageArrayTypePolicyOptionsRequestType
+
+func init() {
+ t["QueryStorageArrayTypePolicyOptions"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptions)(nil)).Elem()
+}
+
+type QueryStorageArrayTypePolicyOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryStorageArrayTypePolicyOptionsRequestType"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptionsRequestType)(nil)).Elem()
+}
+
+type QueryStorageArrayTypePolicyOptionsResponse struct {
+ Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty"`
+}
+
+type QuerySupportedFeatures QuerySupportedFeaturesRequestType
+
+func init() {
+ t["QuerySupportedFeatures"] = reflect.TypeOf((*QuerySupportedFeatures)(nil)).Elem()
+}
+
+type QuerySupportedFeaturesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QuerySupportedFeaturesRequestType"] = reflect.TypeOf((*QuerySupportedFeaturesRequestType)(nil)).Elem()
+}
+
+type QuerySupportedFeaturesResponse struct {
+ Returnval []LicenseFeatureInfo `xml:"returnval,omitempty"`
+}
+
+type QuerySyncingVsanObjects QuerySyncingVsanObjectsRequestType
+
+func init() {
+ t["QuerySyncingVsanObjects"] = reflect.TypeOf((*QuerySyncingVsanObjects)(nil)).Elem()
+}
+
+type QuerySyncingVsanObjectsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids,omitempty"`
+}
+
+func init() {
+ t["QuerySyncingVsanObjectsRequestType"] = reflect.TypeOf((*QuerySyncingVsanObjectsRequestType)(nil)).Elem()
+}
+
+type QuerySyncingVsanObjectsResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QuerySystemUsers QuerySystemUsersRequestType
+
+func init() {
+ t["QuerySystemUsers"] = reflect.TypeOf((*QuerySystemUsers)(nil)).Elem()
+}
+
+type QuerySystemUsersRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QuerySystemUsersRequestType"] = reflect.TypeOf((*QuerySystemUsersRequestType)(nil)).Elem()
+}
+
+type QuerySystemUsersResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryTargetCapabilities QueryTargetCapabilitiesRequestType
+
+func init() {
+ t["QueryTargetCapabilities"] = reflect.TypeOf((*QueryTargetCapabilities)(nil)).Elem()
+}
+
+type QueryTargetCapabilitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["QueryTargetCapabilitiesRequestType"] = reflect.TypeOf((*QueryTargetCapabilitiesRequestType)(nil)).Elem()
+}
+
+type QueryTargetCapabilitiesResponse struct {
+ Returnval *HostCapability `xml:"returnval,omitempty"`
+}
+
+type QueryTpmAttestationReport QueryTpmAttestationReportRequestType
+
+func init() {
+ t["QueryTpmAttestationReport"] = reflect.TypeOf((*QueryTpmAttestationReport)(nil)).Elem()
+}
+
+type QueryTpmAttestationReportRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryTpmAttestationReportRequestType"] = reflect.TypeOf((*QueryTpmAttestationReportRequestType)(nil)).Elem()
+}
+
+type QueryTpmAttestationReportResponse struct {
+ Returnval *HostTpmAttestationReport `xml:"returnval,omitempty"`
+}
+
+type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType
+
+func init() {
+ t["QueryUnmonitoredHosts"] = reflect.TypeOf((*QueryUnmonitoredHosts)(nil)).Elem()
+}
+
+type QueryUnmonitoredHostsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ Cluster ManagedObjectReference `xml:"cluster"`
+}
+
+func init() {
+ t["QueryUnmonitoredHostsRequestType"] = reflect.TypeOf((*QueryUnmonitoredHostsRequestType)(nil)).Elem()
+}
+
+type QueryUnmonitoredHostsResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type QueryUnownedFiles QueryUnownedFilesRequestType
+
+func init() {
+ t["QueryUnownedFiles"] = reflect.TypeOf((*QueryUnownedFiles)(nil)).Elem()
+}
+
+type QueryUnownedFilesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryUnownedFilesRequestType"] = reflect.TypeOf((*QueryUnownedFilesRequestType)(nil)).Elem()
+}
+
+type QueryUnownedFilesResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryUnresolvedVmfsVolume QueryUnresolvedVmfsVolumeRequestType
+
+func init() {
+ t["QueryUnresolvedVmfsVolume"] = reflect.TypeOf((*QueryUnresolvedVmfsVolume)(nil)).Elem()
+}
+
+type QueryUnresolvedVmfsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumeRequestType)(nil)).Elem()
+}
+
+type QueryUnresolvedVmfsVolumeResponse struct {
+ Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty"`
+}
+
+type QueryUnresolvedVmfsVolumes QueryUnresolvedVmfsVolumesRequestType
+
+func init() {
+ t["QueryUnresolvedVmfsVolumes"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumes)(nil)).Elem()
+}
+
+type QueryUnresolvedVmfsVolumesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumesRequestType)(nil)).Elem()
+}
+
+type QueryUnresolvedVmfsVolumesResponse struct {
+ Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty"`
+}
+
+type QueryUsedVlanIdInDvs QueryUsedVlanIdInDvsRequestType
+
+func init() {
+ t["QueryUsedVlanIdInDvs"] = reflect.TypeOf((*QueryUsedVlanIdInDvs)(nil)).Elem()
+}
+
+type QueryUsedVlanIdInDvsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryUsedVlanIdInDvsRequestType"] = reflect.TypeOf((*QueryUsedVlanIdInDvsRequestType)(nil)).Elem()
+}
+
+type QueryUsedVlanIdInDvsResponse struct {
+ Returnval []int32 `xml:"returnval,omitempty"`
+}
+
+type QueryVMotionCompatibility QueryVMotionCompatibilityRequestType
+
+func init() {
+ t["QueryVMotionCompatibility"] = reflect.TypeOf((*QueryVMotionCompatibility)(nil)).Elem()
+}
+
+type QueryVMotionCompatibilityExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm []ManagedObjectReference `xml:"vm"`
+ Host []ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["QueryVMotionCompatibilityExRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityExRequestType)(nil)).Elem()
+}
+
+type QueryVMotionCompatibilityEx_Task QueryVMotionCompatibilityExRequestType
+
+func init() {
+ t["QueryVMotionCompatibilityEx_Task"] = reflect.TypeOf((*QueryVMotionCompatibilityEx_Task)(nil)).Elem()
+}
+
+type QueryVMotionCompatibilityEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type QueryVMotionCompatibilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Host []ManagedObjectReference `xml:"host"`
+ Compatibility []string `xml:"compatibility,omitempty"`
+}
+
+func init() {
+ t["QueryVMotionCompatibilityRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityRequestType)(nil)).Elem()
+}
+
+type QueryVMotionCompatibilityResponse struct {
+ Returnval []HostVMotionCompatibility `xml:"returnval,omitempty"`
+}
+
+type QueryVirtualDiskFragmentation QueryVirtualDiskFragmentationRequestType
+
+func init() {
+ t["QueryVirtualDiskFragmentation"] = reflect.TypeOf((*QueryVirtualDiskFragmentation)(nil)).Elem()
+}
+
+type QueryVirtualDiskFragmentationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["QueryVirtualDiskFragmentationRequestType"] = reflect.TypeOf((*QueryVirtualDiskFragmentationRequestType)(nil)).Elem()
+}
+
+type QueryVirtualDiskFragmentationResponse struct {
+ Returnval int32 `xml:"returnval"`
+}
+
+type QueryVirtualDiskGeometry QueryVirtualDiskGeometryRequestType
+
+func init() {
+ t["QueryVirtualDiskGeometry"] = reflect.TypeOf((*QueryVirtualDiskGeometry)(nil)).Elem()
+}
+
+type QueryVirtualDiskGeometryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["QueryVirtualDiskGeometryRequestType"] = reflect.TypeOf((*QueryVirtualDiskGeometryRequestType)(nil)).Elem()
+}
+
+type QueryVirtualDiskGeometryResponse struct {
+ Returnval HostDiskDimensionsChs `xml:"returnval"`
+}
+
+type QueryVirtualDiskUuid QueryVirtualDiskUuidRequestType
+
+func init() {
+ t["QueryVirtualDiskUuid"] = reflect.TypeOf((*QueryVirtualDiskUuid)(nil)).Elem()
+}
+
+type QueryVirtualDiskUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["QueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidRequestType)(nil)).Elem()
+}
+
+type QueryVirtualDiskUuidResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType
+
+func init() {
+ t["QueryVmfsConfigOption"] = reflect.TypeOf((*QueryVmfsConfigOption)(nil)).Elem()
+}
+
+type QueryVmfsConfigOptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["QueryVmfsConfigOptionRequestType"] = reflect.TypeOf((*QueryVmfsConfigOptionRequestType)(nil)).Elem()
+}
+
+type QueryVmfsConfigOptionResponse struct {
+ Returnval []VmfsConfigOption `xml:"returnval,omitempty"`
+}
+
+type QueryVmfsDatastoreCreateOptions QueryVmfsDatastoreCreateOptionsRequestType
+
+func init() {
+ t["QueryVmfsDatastoreCreateOptions"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptions)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreCreateOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DevicePath string `xml:"devicePath"`
+ VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty"`
+}
+
+func init() {
+ t["QueryVmfsDatastoreCreateOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptionsRequestType)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreCreateOptionsResponse struct {
+ Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"`
+}
+
+type QueryVmfsDatastoreExpandOptions QueryVmfsDatastoreExpandOptionsRequestType
+
+func init() {
+ t["QueryVmfsDatastoreExpandOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptions)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreExpandOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["QueryVmfsDatastoreExpandOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptionsRequestType)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreExpandOptionsResponse struct {
+ Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"`
+}
+
+type QueryVmfsDatastoreExtendOptions QueryVmfsDatastoreExtendOptionsRequestType
+
+func init() {
+ t["QueryVmfsDatastoreExtendOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptions)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreExtendOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DevicePath string `xml:"devicePath"`
+ SuppressExpandCandidates *bool `xml:"suppressExpandCandidates"`
+}
+
+func init() {
+ t["QueryVmfsDatastoreExtendOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptionsRequestType)(nil)).Elem()
+}
+
+type QueryVmfsDatastoreExtendOptionsResponse struct {
+ Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"`
+}
+
+type QueryVnicStatus QueryVnicStatusRequestType
+
+func init() {
+ t["QueryVnicStatus"] = reflect.TypeOf((*QueryVnicStatus)(nil)).Elem()
+}
+
+type QueryVnicStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VnicDevice string `xml:"vnicDevice"`
+}
+
+func init() {
+ t["QueryVnicStatusRequestType"] = reflect.TypeOf((*QueryVnicStatusRequestType)(nil)).Elem()
+}
+
+type QueryVnicStatusResponse struct {
+ Returnval IscsiStatus `xml:"returnval"`
+}
+
+type QueryVsanObjectUuidsByFilter QueryVsanObjectUuidsByFilterRequestType
+
+func init() {
+ t["QueryVsanObjectUuidsByFilter"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilter)(nil)).Elem()
+}
+
+type QueryVsanObjectUuidsByFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids,omitempty"`
+ Limit int32 `xml:"limit,omitempty"`
+ Version int32 `xml:"version,omitempty"`
+}
+
+func init() {
+ t["QueryVsanObjectUuidsByFilterRequestType"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilterRequestType)(nil)).Elem()
+}
+
+type QueryVsanObjectUuidsByFilterResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type QueryVsanObjects QueryVsanObjectsRequestType
+
+func init() {
+ t["QueryVsanObjects"] = reflect.TypeOf((*QueryVsanObjects)(nil)).Elem()
+}
+
+type QueryVsanObjectsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids,omitempty"`
+}
+
+func init() {
+ t["QueryVsanObjectsRequestType"] = reflect.TypeOf((*QueryVsanObjectsRequestType)(nil)).Elem()
+}
+
+type QueryVsanObjectsResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryVsanStatistics QueryVsanStatisticsRequestType
+
+func init() {
+ t["QueryVsanStatistics"] = reflect.TypeOf((*QueryVsanStatistics)(nil)).Elem()
+}
+
+type QueryVsanStatisticsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Labels []string `xml:"labels"`
+}
+
+func init() {
+ t["QueryVsanStatisticsRequestType"] = reflect.TypeOf((*QueryVsanStatisticsRequestType)(nil)).Elem()
+}
+
+type QueryVsanStatisticsResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type QueryVsanUpgradeStatus QueryVsanUpgradeStatusRequestType
+
+func init() {
+ t["QueryVsanUpgradeStatus"] = reflect.TypeOf((*QueryVsanUpgradeStatus)(nil)).Elem()
+}
+
+type QueryVsanUpgradeStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster ManagedObjectReference `xml:"cluster"`
+}
+
+func init() {
+ t["QueryVsanUpgradeStatusRequestType"] = reflect.TypeOf((*QueryVsanUpgradeStatusRequestType)(nil)).Elem()
+}
+
+type QueryVsanUpgradeStatusResponse struct {
+ Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval"`
+}
+
+type QuestionPending struct {
+ InvalidState
+
+ Text string `xml:"text"`
+}
+
+func init() {
+ t["QuestionPending"] = reflect.TypeOf((*QuestionPending)(nil)).Elem()
+}
+
+type QuestionPendingFault QuestionPending
+
+func init() {
+ t["QuestionPendingFault"] = reflect.TypeOf((*QuestionPendingFault)(nil)).Elem()
+}
+
+type QuiesceDatastoreIOForHAFailed struct {
+ ResourceInUse
+
+ Host ManagedObjectReference `xml:"host"`
+ HostName string `xml:"hostName"`
+ Ds ManagedObjectReference `xml:"ds"`
+ DsName string `xml:"dsName"`
+}
+
+func init() {
+ t["QuiesceDatastoreIOForHAFailed"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailed)(nil)).Elem()
+}
+
+type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed
+
+func init() {
+ t["QuiesceDatastoreIOForHAFailedFault"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailedFault)(nil)).Elem()
+}
+
+type RDMConversionNotSupported struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["RDMConversionNotSupported"] = reflect.TypeOf((*RDMConversionNotSupported)(nil)).Elem()
+}
+
+type RDMConversionNotSupportedFault RDMConversionNotSupported
+
+func init() {
+ t["RDMConversionNotSupportedFault"] = reflect.TypeOf((*RDMConversionNotSupportedFault)(nil)).Elem()
+}
+
+type RDMNotPreserved struct {
+ MigrationFault
+
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["RDMNotPreserved"] = reflect.TypeOf((*RDMNotPreserved)(nil)).Elem()
+}
+
+type RDMNotPreservedFault RDMNotPreserved
+
+func init() {
+ t["RDMNotPreservedFault"] = reflect.TypeOf((*RDMNotPreservedFault)(nil)).Elem()
+}
+
+type RDMNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["RDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem()
+}
+
+type RDMNotSupportedFault BaseRDMNotSupported
+
+func init() {
+ t["RDMNotSupportedFault"] = reflect.TypeOf((*RDMNotSupportedFault)(nil)).Elem()
+}
+
+type RDMNotSupportedOnDatastore struct {
+ VmConfigFault
+
+ Device string `xml:"device"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DatastoreName string `xml:"datastoreName"`
+}
+
+func init() {
+ t["RDMNotSupportedOnDatastore"] = reflect.TypeOf((*RDMNotSupportedOnDatastore)(nil)).Elem()
+}
+
+type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore
+
+func init() {
+ t["RDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*RDMNotSupportedOnDatastoreFault)(nil)).Elem()
+}
+
+type RDMPointsToInaccessibleDisk struct {
+ CannotAccessVmDisk
+}
+
+func init() {
+ t["RDMPointsToInaccessibleDisk"] = reflect.TypeOf((*RDMPointsToInaccessibleDisk)(nil)).Elem()
+}
+
+type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk
+
+func init() {
+ t["RDMPointsToInaccessibleDiskFault"] = reflect.TypeOf((*RDMPointsToInaccessibleDiskFault)(nil)).Elem()
+}
+
+type RawDiskNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["RawDiskNotSupported"] = reflect.TypeOf((*RawDiskNotSupported)(nil)).Elem()
+}
+
+type RawDiskNotSupportedFault RawDiskNotSupported
+
+func init() {
+ t["RawDiskNotSupportedFault"] = reflect.TypeOf((*RawDiskNotSupportedFault)(nil)).Elem()
+}
+
+type ReadEnvironmentVariableInGuest ReadEnvironmentVariableInGuestRequestType
+
+func init() {
+ t["ReadEnvironmentVariableInGuest"] = reflect.TypeOf((*ReadEnvironmentVariableInGuest)(nil)).Elem()
+}
+
+type ReadEnvironmentVariableInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Names []string `xml:"names,omitempty"`
+}
+
+func init() {
+ t["ReadEnvironmentVariableInGuestRequestType"] = reflect.TypeOf((*ReadEnvironmentVariableInGuestRequestType)(nil)).Elem()
+}
+
+type ReadEnvironmentVariableInGuestResponse struct {
+ Returnval []string `xml:"returnval,omitempty"`
+}
+
+type ReadHostResourcePoolTreeFailed struct {
+ HostConnectFault
+}
+
+func init() {
+ t["ReadHostResourcePoolTreeFailed"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailed)(nil)).Elem()
+}
+
+type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed
+
+func init() {
+ t["ReadHostResourcePoolTreeFailedFault"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailedFault)(nil)).Elem()
+}
+
+type ReadNextEvents ReadNextEventsRequestType
+
+func init() {
+ t["ReadNextEvents"] = reflect.TypeOf((*ReadNextEvents)(nil)).Elem()
+}
+
+type ReadNextEventsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaxCount int32 `xml:"maxCount"`
+}
+
+func init() {
+ t["ReadNextEventsRequestType"] = reflect.TypeOf((*ReadNextEventsRequestType)(nil)).Elem()
+}
+
+type ReadNextEventsResponse struct {
+ Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"`
+}
+
+type ReadNextTasks ReadNextTasksRequestType
+
+func init() {
+ t["ReadNextTasks"] = reflect.TypeOf((*ReadNextTasks)(nil)).Elem()
+}
+
+type ReadNextTasksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaxCount int32 `xml:"maxCount"`
+}
+
+func init() {
+ t["ReadNextTasksRequestType"] = reflect.TypeOf((*ReadNextTasksRequestType)(nil)).Elem()
+}
+
+type ReadNextTasksResponse struct {
+ Returnval []TaskInfo `xml:"returnval,omitempty"`
+}
+
+type ReadOnlyDisksWithLegacyDestination struct {
+ MigrationFault
+
+ RoDiskCount int32 `xml:"roDiskCount"`
+ TimeoutDanger bool `xml:"timeoutDanger"`
+}
+
+func init() {
+ t["ReadOnlyDisksWithLegacyDestination"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestination)(nil)).Elem()
+}
+
+type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination
+
+func init() {
+ t["ReadOnlyDisksWithLegacyDestinationFault"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestinationFault)(nil)).Elem()
+}
+
+type ReadPreviousEvents ReadPreviousEventsRequestType
+
+func init() {
+ t["ReadPreviousEvents"] = reflect.TypeOf((*ReadPreviousEvents)(nil)).Elem()
+}
+
+type ReadPreviousEventsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaxCount int32 `xml:"maxCount"`
+}
+
+func init() {
+ t["ReadPreviousEventsRequestType"] = reflect.TypeOf((*ReadPreviousEventsRequestType)(nil)).Elem()
+}
+
+type ReadPreviousEventsResponse struct {
+ Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"`
+}
+
+type ReadPreviousTasks ReadPreviousTasksRequestType
+
+func init() {
+ t["ReadPreviousTasks"] = reflect.TypeOf((*ReadPreviousTasks)(nil)).Elem()
+}
+
+type ReadPreviousTasksRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaxCount int32 `xml:"maxCount"`
+}
+
+func init() {
+ t["ReadPreviousTasksRequestType"] = reflect.TypeOf((*ReadPreviousTasksRequestType)(nil)).Elem()
+}
+
+type ReadPreviousTasksResponse struct {
+ Returnval []TaskInfo `xml:"returnval,omitempty"`
+}
+
+type RebootGuest RebootGuestRequestType
+
+func init() {
+ t["RebootGuest"] = reflect.TypeOf((*RebootGuest)(nil)).Elem()
+}
+
+type RebootGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RebootGuestRequestType"] = reflect.TypeOf((*RebootGuestRequestType)(nil)).Elem()
+}
+
+type RebootGuestResponse struct {
+}
+
+type RebootHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["RebootHostRequestType"] = reflect.TypeOf((*RebootHostRequestType)(nil)).Elem()
+}
+
+type RebootHost_Task RebootHostRequestType
+
+func init() {
+ t["RebootHost_Task"] = reflect.TypeOf((*RebootHost_Task)(nil)).Elem()
+}
+
+type RebootHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RebootRequired struct {
+ VimFault
+
+ Patch string `xml:"patch,omitempty"`
+}
+
+func init() {
+ t["RebootRequired"] = reflect.TypeOf((*RebootRequired)(nil)).Elem()
+}
+
+type RebootRequiredFault RebootRequired
+
+func init() {
+ t["RebootRequiredFault"] = reflect.TypeOf((*RebootRequiredFault)(nil)).Elem()
+}
+
+type RecommendDatastores RecommendDatastoresRequestType
+
+func init() {
+ t["RecommendDatastores"] = reflect.TypeOf((*RecommendDatastores)(nil)).Elem()
+}
+
+type RecommendDatastoresRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ StorageSpec StoragePlacementSpec `xml:"storageSpec"`
+}
+
+func init() {
+ t["RecommendDatastoresRequestType"] = reflect.TypeOf((*RecommendDatastoresRequestType)(nil)).Elem()
+}
+
+type RecommendDatastoresResponse struct {
+ Returnval StoragePlacementResult `xml:"returnval"`
+}
+
+type RecommendHostsForVm RecommendHostsForVmRequestType
+
+func init() {
+ t["RecommendHostsForVm"] = reflect.TypeOf((*RecommendHostsForVm)(nil)).Elem()
+}
+
+type RecommendHostsForVmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+}
+
+func init() {
+ t["RecommendHostsForVmRequestType"] = reflect.TypeOf((*RecommendHostsForVmRequestType)(nil)).Elem()
+}
+
+type RecommendHostsForVmResponse struct {
+ Returnval []ClusterHostRecommendation `xml:"returnval,omitempty"`
+}
+
+type RecommissionVsanNodeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RecommissionVsanNodeRequestType"] = reflect.TypeOf((*RecommissionVsanNodeRequestType)(nil)).Elem()
+}
+
+type RecommissionVsanNode_Task RecommissionVsanNodeRequestType
+
+func init() {
+ t["RecommissionVsanNode_Task"] = reflect.TypeOf((*RecommissionVsanNode_Task)(nil)).Elem()
+}
+
+type RecommissionVsanNode_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconcileDatastoreInventoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["ReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryRequestType)(nil)).Elem()
+}
+
+type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType
+
+func init() {
+ t["ReconcileDatastoreInventory_Task"] = reflect.TypeOf((*ReconcileDatastoreInventory_Task)(nil)).Elem()
+}
+
+type ReconcileDatastoreInventory_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VirtualMachineConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["ReconfigVMRequestType"] = reflect.TypeOf((*ReconfigVMRequestType)(nil)).Elem()
+}
+
+type ReconfigVM_Task ReconfigVMRequestType
+
+func init() {
+ t["ReconfigVM_Task"] = reflect.TypeOf((*ReconfigVM_Task)(nil)).Elem()
+}
+
+type ReconfigVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigurationSatisfiable ReconfigurationSatisfiableRequestType
+
+func init() {
+ t["ReconfigurationSatisfiable"] = reflect.TypeOf((*ReconfigurationSatisfiable)(nil)).Elem()
+}
+
+type ReconfigurationSatisfiableRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pcbs []VsanPolicyChangeBatch `xml:"pcbs"`
+ IgnoreSatisfiability *bool `xml:"ignoreSatisfiability"`
+}
+
+func init() {
+ t["ReconfigurationSatisfiableRequestType"] = reflect.TypeOf((*ReconfigurationSatisfiableRequestType)(nil)).Elem()
+}
+
+type ReconfigurationSatisfiableResponse struct {
+ Returnval []VsanPolicySatisfiability `xml:"returnval"`
+}
+
+type ReconfigureAlarm ReconfigureAlarmRequestType
+
+func init() {
+ t["ReconfigureAlarm"] = reflect.TypeOf((*ReconfigureAlarm)(nil)).Elem()
+}
+
+type ReconfigureAlarmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseAlarmSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["ReconfigureAlarmRequestType"] = reflect.TypeOf((*ReconfigureAlarmRequestType)(nil)).Elem()
+}
+
+type ReconfigureAlarmResponse struct {
+}
+
+type ReconfigureAutostart ReconfigureAutostartRequestType
+
+func init() {
+ t["ReconfigureAutostart"] = reflect.TypeOf((*ReconfigureAutostart)(nil)).Elem()
+}
+
+type ReconfigureAutostartRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostAutoStartManagerConfig `xml:"spec"`
+}
+
+func init() {
+ t["ReconfigureAutostartRequestType"] = reflect.TypeOf((*ReconfigureAutostartRequestType)(nil)).Elem()
+}
+
+type ReconfigureAutostartResponse struct {
+}
+
+type ReconfigureClusterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec ClusterConfigSpec `xml:"spec"`
+ Modify bool `xml:"modify"`
+}
+
+func init() {
+ t["ReconfigureClusterRequestType"] = reflect.TypeOf((*ReconfigureClusterRequestType)(nil)).Elem()
+}
+
+type ReconfigureCluster_Task ReconfigureClusterRequestType
+
+func init() {
+ t["ReconfigureCluster_Task"] = reflect.TypeOf((*ReconfigureCluster_Task)(nil)).Elem()
+}
+
+type ReconfigureCluster_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureComputeResourceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr"`
+ Modify bool `xml:"modify"`
+}
+
+func init() {
+ t["ReconfigureComputeResourceRequestType"] = reflect.TypeOf((*ReconfigureComputeResourceRequestType)(nil)).Elem()
+}
+
+type ReconfigureComputeResource_Task ReconfigureComputeResourceRequestType
+
+func init() {
+ t["ReconfigureComputeResource_Task"] = reflect.TypeOf((*ReconfigureComputeResource_Task)(nil)).Elem()
+}
+
+type ReconfigureComputeResource_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureDVPortRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Port []DVPortConfigSpec `xml:"port"`
+}
+
+func init() {
+ t["ReconfigureDVPortRequestType"] = reflect.TypeOf((*ReconfigureDVPortRequestType)(nil)).Elem()
+}
+
+type ReconfigureDVPort_Task ReconfigureDVPortRequestType
+
+func init() {
+ t["ReconfigureDVPort_Task"] = reflect.TypeOf((*ReconfigureDVPort_Task)(nil)).Elem()
+}
+
+type ReconfigureDVPort_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureDVPortgroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec DVPortgroupConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["ReconfigureDVPortgroupRequestType"] = reflect.TypeOf((*ReconfigureDVPortgroupRequestType)(nil)).Elem()
+}
+
+type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType
+
+func init() {
+ t["ReconfigureDVPortgroup_Task"] = reflect.TypeOf((*ReconfigureDVPortgroup_Task)(nil)).Elem()
+}
+
+type ReconfigureDVPortgroup_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureDatacenterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec DatacenterConfigSpec `xml:"spec"`
+ Modify bool `xml:"modify"`
+}
+
+func init() {
+ t["ReconfigureDatacenterRequestType"] = reflect.TypeOf((*ReconfigureDatacenterRequestType)(nil)).Elem()
+}
+
+type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType
+
+func init() {
+ t["ReconfigureDatacenter_Task"] = reflect.TypeOf((*ReconfigureDatacenter_Task)(nil)).Elem()
+}
+
+type ReconfigureDatacenter_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureDomObject ReconfigureDomObjectRequestType
+
+func init() {
+ t["ReconfigureDomObject"] = reflect.TypeOf((*ReconfigureDomObject)(nil)).Elem()
+}
+
+type ReconfigureDomObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuid string `xml:"uuid"`
+ Policy string `xml:"policy"`
+}
+
+func init() {
+ t["ReconfigureDomObjectRequestType"] = reflect.TypeOf((*ReconfigureDomObjectRequestType)(nil)).Elem()
+}
+
+type ReconfigureDomObjectResponse struct {
+}
+
+type ReconfigureDvsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseDVSConfigSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["ReconfigureDvsRequestType"] = reflect.TypeOf((*ReconfigureDvsRequestType)(nil)).Elem()
+}
+
+type ReconfigureDvs_Task ReconfigureDvsRequestType
+
+func init() {
+ t["ReconfigureDvs_Task"] = reflect.TypeOf((*ReconfigureDvs_Task)(nil)).Elem()
+}
+
+type ReconfigureDvs_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureHostForDASRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ReconfigureHostForDASRequestType"] = reflect.TypeOf((*ReconfigureHostForDASRequestType)(nil)).Elem()
+}
+
+type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType
+
+func init() {
+ t["ReconfigureHostForDAS_Task"] = reflect.TypeOf((*ReconfigureHostForDAS_Task)(nil)).Elem()
+}
+
+type ReconfigureHostForDAS_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReconfigureScheduledTask ReconfigureScheduledTaskRequestType
+
+func init() {
+ t["ReconfigureScheduledTask"] = reflect.TypeOf((*ReconfigureScheduledTask)(nil)).Elem()
+}
+
+type ReconfigureScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec BaseScheduledTaskSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["ReconfigureScheduledTaskRequestType"] = reflect.TypeOf((*ReconfigureScheduledTaskRequestType)(nil)).Elem()
+}
+
+type ReconfigureScheduledTaskResponse struct {
+}
+
+type ReconfigureServiceConsoleReservation ReconfigureServiceConsoleReservationRequestType
+
+func init() {
+ t["ReconfigureServiceConsoleReservation"] = reflect.TypeOf((*ReconfigureServiceConsoleReservation)(nil)).Elem()
+}
+
+type ReconfigureServiceConsoleReservationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CfgBytes int64 `xml:"cfgBytes"`
+}
+
+func init() {
+ t["ReconfigureServiceConsoleReservationRequestType"] = reflect.TypeOf((*ReconfigureServiceConsoleReservationRequestType)(nil)).Elem()
+}
+
+type ReconfigureServiceConsoleReservationResponse struct {
+}
+
+type ReconfigureSnmpAgent ReconfigureSnmpAgentRequestType
+
+func init() {
+ t["ReconfigureSnmpAgent"] = reflect.TypeOf((*ReconfigureSnmpAgent)(nil)).Elem()
+}
+
+type ReconfigureSnmpAgentRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec HostSnmpConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["ReconfigureSnmpAgentRequestType"] = reflect.TypeOf((*ReconfigureSnmpAgentRequestType)(nil)).Elem()
+}
+
+type ReconfigureSnmpAgentResponse struct {
+}
+
+type ReconfigureVirtualMachineReservation ReconfigureVirtualMachineReservationRequestType
+
+func init() {
+ t["ReconfigureVirtualMachineReservation"] = reflect.TypeOf((*ReconfigureVirtualMachineReservation)(nil)).Elem()
+}
+
+type ReconfigureVirtualMachineReservationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VirtualMachineMemoryReservationSpec `xml:"spec"`
+}
+
+func init() {
+ t["ReconfigureVirtualMachineReservationRequestType"] = reflect.TypeOf((*ReconfigureVirtualMachineReservationRequestType)(nil)).Elem()
+}
+
+type ReconfigureVirtualMachineReservationResponse struct {
+}
+
+type ReconnectHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty"`
+ ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty"`
+}
+
+func init() {
+ t["ReconnectHostRequestType"] = reflect.TypeOf((*ReconnectHostRequestType)(nil)).Elem()
+}
+
+type ReconnectHost_Task ReconnectHostRequestType
+
+func init() {
+ t["ReconnectHost_Task"] = reflect.TypeOf((*ReconnectHost_Task)(nil)).Elem()
+}
+
+type ReconnectHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RecordReplayDisabled struct {
+ VimFault
+}
+
+func init() {
+ t["RecordReplayDisabled"] = reflect.TypeOf((*RecordReplayDisabled)(nil)).Elem()
+}
+
+type RecordReplayDisabledFault RecordReplayDisabled
+
+func init() {
+ t["RecordReplayDisabledFault"] = reflect.TypeOf((*RecordReplayDisabledFault)(nil)).Elem()
+}
+
+type RecoveryEvent struct {
+ DvsEvent
+
+ HostName string `xml:"hostName"`
+ PortKey string `xml:"portKey"`
+ DvsUuid string `xml:"dvsUuid,omitempty"`
+ Vnic string `xml:"vnic,omitempty"`
+}
+
+func init() {
+ t["RecoveryEvent"] = reflect.TypeOf((*RecoveryEvent)(nil)).Elem()
+}
+
+type RectifyDvsHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Hosts []ManagedObjectReference `xml:"hosts,omitempty"`
+}
+
+func init() {
+ t["RectifyDvsHostRequestType"] = reflect.TypeOf((*RectifyDvsHostRequestType)(nil)).Elem()
+}
+
+type RectifyDvsHost_Task RectifyDvsHostRequestType
+
+func init() {
+ t["RectifyDvsHost_Task"] = reflect.TypeOf((*RectifyDvsHost_Task)(nil)).Elem()
+}
+
+type RectifyDvsHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RectifyDvsOnHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["RectifyDvsOnHostRequestType"] = reflect.TypeOf((*RectifyDvsOnHostRequestType)(nil)).Elem()
+}
+
+type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType
+
+func init() {
+ t["RectifyDvsOnHost_Task"] = reflect.TypeOf((*RectifyDvsOnHost_Task)(nil)).Elem()
+}
+
+type RectifyDvsOnHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RecurrentTaskScheduler struct {
+ TaskScheduler
+
+ Interval int32 `xml:"interval"`
+}
+
+func init() {
+ t["RecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem()
+}
+
+type Refresh RefreshRequestType
+
+func init() {
+ t["Refresh"] = reflect.TypeOf((*Refresh)(nil)).Elem()
+}
+
+type RefreshDVPortState RefreshDVPortStateRequestType
+
+func init() {
+ t["RefreshDVPortState"] = reflect.TypeOf((*RefreshDVPortState)(nil)).Elem()
+}
+
+type RefreshDVPortStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PortKeys []string `xml:"portKeys,omitempty"`
+}
+
+func init() {
+ t["RefreshDVPortStateRequestType"] = reflect.TypeOf((*RefreshDVPortStateRequestType)(nil)).Elem()
+}
+
+type RefreshDVPortStateResponse struct {
+}
+
+type RefreshDatastore RefreshDatastoreRequestType
+
+func init() {
+ t["RefreshDatastore"] = reflect.TypeOf((*RefreshDatastore)(nil)).Elem()
+}
+
+type RefreshDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshDatastoreRequestType"] = reflect.TypeOf((*RefreshDatastoreRequestType)(nil)).Elem()
+}
+
+type RefreshDatastoreResponse struct {
+}
+
+type RefreshDatastoreStorageInfo RefreshDatastoreStorageInfoRequestType
+
+func init() {
+ t["RefreshDatastoreStorageInfo"] = reflect.TypeOf((*RefreshDatastoreStorageInfo)(nil)).Elem()
+}
+
+type RefreshDatastoreStorageInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshDatastoreStorageInfoRequestType"] = reflect.TypeOf((*RefreshDatastoreStorageInfoRequestType)(nil)).Elem()
+}
+
+type RefreshDatastoreStorageInfoResponse struct {
+}
+
+type RefreshDateTimeSystem RefreshDateTimeSystemRequestType
+
+func init() {
+ t["RefreshDateTimeSystem"] = reflect.TypeOf((*RefreshDateTimeSystem)(nil)).Elem()
+}
+
+type RefreshDateTimeSystemRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshDateTimeSystemRequestType"] = reflect.TypeOf((*RefreshDateTimeSystemRequestType)(nil)).Elem()
+}
+
+type RefreshDateTimeSystemResponse struct {
+}
+
+type RefreshFirewall RefreshFirewallRequestType
+
+func init() {
+ t["RefreshFirewall"] = reflect.TypeOf((*RefreshFirewall)(nil)).Elem()
+}
+
+type RefreshFirewallRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshFirewallRequestType"] = reflect.TypeOf((*RefreshFirewallRequestType)(nil)).Elem()
+}
+
+type RefreshFirewallResponse struct {
+}
+
+type RefreshGraphicsManager RefreshGraphicsManagerRequestType
+
+func init() {
+ t["RefreshGraphicsManager"] = reflect.TypeOf((*RefreshGraphicsManager)(nil)).Elem()
+}
+
+type RefreshGraphicsManagerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshGraphicsManagerRequestType"] = reflect.TypeOf((*RefreshGraphicsManagerRequestType)(nil)).Elem()
+}
+
+type RefreshGraphicsManagerResponse struct {
+}
+
+type RefreshHealthStatusSystem RefreshHealthStatusSystemRequestType
+
+func init() {
+ t["RefreshHealthStatusSystem"] = reflect.TypeOf((*RefreshHealthStatusSystem)(nil)).Elem()
+}
+
+type RefreshHealthStatusSystemRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshHealthStatusSystemRequestType"] = reflect.TypeOf((*RefreshHealthStatusSystemRequestType)(nil)).Elem()
+}
+
+type RefreshHealthStatusSystemResponse struct {
+}
+
+type RefreshNetworkSystem RefreshNetworkSystemRequestType
+
+func init() {
+ t["RefreshNetworkSystem"] = reflect.TypeOf((*RefreshNetworkSystem)(nil)).Elem()
+}
+
+type RefreshNetworkSystemRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshNetworkSystemRequestType"] = reflect.TypeOf((*RefreshNetworkSystemRequestType)(nil)).Elem()
+}
+
+type RefreshNetworkSystemResponse struct {
+}
+
+type RefreshRecommendation RefreshRecommendationRequestType
+
+func init() {
+ t["RefreshRecommendation"] = reflect.TypeOf((*RefreshRecommendation)(nil)).Elem()
+}
+
+type RefreshRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshRecommendationRequestType"] = reflect.TypeOf((*RefreshRecommendationRequestType)(nil)).Elem()
+}
+
+type RefreshRecommendationResponse struct {
+}
+
+type RefreshRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshRequestType"] = reflect.TypeOf((*RefreshRequestType)(nil)).Elem()
+}
+
+type RefreshResponse struct {
+}
+
+type RefreshRuntime RefreshRuntimeRequestType
+
+func init() {
+ t["RefreshRuntime"] = reflect.TypeOf((*RefreshRuntime)(nil)).Elem()
+}
+
+type RefreshRuntimeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshRuntimeRequestType"] = reflect.TypeOf((*RefreshRuntimeRequestType)(nil)).Elem()
+}
+
+type RefreshRuntimeResponse struct {
+}
+
+type RefreshServices RefreshServicesRequestType
+
+func init() {
+ t["RefreshServices"] = reflect.TypeOf((*RefreshServices)(nil)).Elem()
+}
+
+type RefreshServicesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshServicesRequestType"] = reflect.TypeOf((*RefreshServicesRequestType)(nil)).Elem()
+}
+
+type RefreshServicesResponse struct {
+}
+
+type RefreshStorageDrsRecommendation RefreshStorageDrsRecommendationRequestType
+
+func init() {
+ t["RefreshStorageDrsRecommendation"] = reflect.TypeOf((*RefreshStorageDrsRecommendation)(nil)).Elem()
+}
+
+type RefreshStorageDrsRecommendationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Pod ManagedObjectReference `xml:"pod"`
+}
+
+func init() {
+ t["RefreshStorageDrsRecommendationRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationRequestType)(nil)).Elem()
+}
+
+type RefreshStorageDrsRecommendationResponse struct {
+}
+
+type RefreshStorageInfo RefreshStorageInfoRequestType
+
+func init() {
+ t["RefreshStorageInfo"] = reflect.TypeOf((*RefreshStorageInfo)(nil)).Elem()
+}
+
+type RefreshStorageInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshStorageInfoRequestType"] = reflect.TypeOf((*RefreshStorageInfoRequestType)(nil)).Elem()
+}
+
+type RefreshStorageInfoResponse struct {
+}
+
+type RefreshStorageSystem RefreshStorageSystemRequestType
+
+func init() {
+ t["RefreshStorageSystem"] = reflect.TypeOf((*RefreshStorageSystem)(nil)).Elem()
+}
+
+type RefreshStorageSystemRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RefreshStorageSystemRequestType"] = reflect.TypeOf((*RefreshStorageSystemRequestType)(nil)).Elem()
+}
+
+type RefreshStorageSystemResponse struct {
+}
+
+type RegisterChildVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Path string `xml:"path"`
+ Name string `xml:"name,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["RegisterChildVMRequestType"] = reflect.TypeOf((*RegisterChildVMRequestType)(nil)).Elem()
+}
+
+type RegisterChildVM_Task RegisterChildVMRequestType
+
+func init() {
+ t["RegisterChildVM_Task"] = reflect.TypeOf((*RegisterChildVM_Task)(nil)).Elem()
+}
+
+type RegisterChildVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RegisterDisk RegisterDiskRequestType
+
+func init() {
+ t["RegisterDisk"] = reflect.TypeOf((*RegisterDisk)(nil)).Elem()
+}
+
+type RegisterDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Path string `xml:"path"`
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["RegisterDiskRequestType"] = reflect.TypeOf((*RegisterDiskRequestType)(nil)).Elem()
+}
+
+type RegisterDiskResponse struct {
+ Returnval VStorageObject `xml:"returnval"`
+}
+
+type RegisterExtension RegisterExtensionRequestType
+
+func init() {
+ t["RegisterExtension"] = reflect.TypeOf((*RegisterExtension)(nil)).Elem()
+}
+
+type RegisterExtensionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Extension Extension `xml:"extension"`
+}
+
+func init() {
+ t["RegisterExtensionRequestType"] = reflect.TypeOf((*RegisterExtensionRequestType)(nil)).Elem()
+}
+
+type RegisterExtensionResponse struct {
+}
+
+type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType
+
+func init() {
+ t["RegisterHealthUpdateProvider"] = reflect.TypeOf((*RegisterHealthUpdateProvider)(nil)).Elem()
+}
+
+type RegisterHealthUpdateProviderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty"`
+}
+
+func init() {
+ t["RegisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*RegisterHealthUpdateProviderRequestType)(nil)).Elem()
+}
+
+type RegisterHealthUpdateProviderResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type RegisterKmipServer RegisterKmipServerRequestType
+
+func init() {
+ t["RegisterKmipServer"] = reflect.TypeOf((*RegisterKmipServer)(nil)).Elem()
+}
+
+type RegisterKmipServerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Server KmipServerSpec `xml:"server"`
+}
+
+func init() {
+ t["RegisterKmipServerRequestType"] = reflect.TypeOf((*RegisterKmipServerRequestType)(nil)).Elem()
+}
+
+type RegisterKmipServerResponse struct {
+}
+
+type RegisterVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Path string `xml:"path"`
+ Name string `xml:"name,omitempty"`
+ AsTemplate bool `xml:"asTemplate"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["RegisterVMRequestType"] = reflect.TypeOf((*RegisterVMRequestType)(nil)).Elem()
+}
+
+type RegisterVM_Task RegisterVMRequestType
+
+func init() {
+ t["RegisterVM_Task"] = reflect.TypeOf((*RegisterVM_Task)(nil)).Elem()
+}
+
+type RegisterVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type Relation struct {
+ DynamicData
+
+ Constraint string `xml:"constraint,omitempty"`
+ Name string `xml:"name"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["Relation"] = reflect.TypeOf((*Relation)(nil)).Elem()
+}
+
+type ReleaseCredentialsInGuest ReleaseCredentialsInGuestRequestType
+
+func init() {
+ t["ReleaseCredentialsInGuest"] = reflect.TypeOf((*ReleaseCredentialsInGuest)(nil)).Elem()
+}
+
+type ReleaseCredentialsInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+}
+
+func init() {
+ t["ReleaseCredentialsInGuestRequestType"] = reflect.TypeOf((*ReleaseCredentialsInGuestRequestType)(nil)).Elem()
+}
+
+type ReleaseCredentialsInGuestResponse struct {
+}
+
+type ReleaseIpAllocation ReleaseIpAllocationRequestType
+
+func init() {
+ t["ReleaseIpAllocation"] = reflect.TypeOf((*ReleaseIpAllocation)(nil)).Elem()
+}
+
+type ReleaseIpAllocationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ PoolId int32 `xml:"poolId"`
+ AllocationId string `xml:"allocationId"`
+}
+
+func init() {
+ t["ReleaseIpAllocationRequestType"] = reflect.TypeOf((*ReleaseIpAllocationRequestType)(nil)).Elem()
+}
+
+type ReleaseIpAllocationResponse struct {
+}
+
+type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType
+
+func init() {
+ t["ReleaseManagedSnapshot"] = reflect.TypeOf((*ReleaseManagedSnapshot)(nil)).Elem()
+}
+
+type ReleaseManagedSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vdisk string `xml:"vdisk"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["ReleaseManagedSnapshotRequestType"] = reflect.TypeOf((*ReleaseManagedSnapshotRequestType)(nil)).Elem()
+}
+
+type ReleaseManagedSnapshotResponse struct {
+}
+
+type Reload ReloadRequestType
+
+func init() {
+ t["Reload"] = reflect.TypeOf((*Reload)(nil)).Elem()
+}
+
+type ReloadRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ReloadRequestType"] = reflect.TypeOf((*ReloadRequestType)(nil)).Elem()
+}
+
+type ReloadResponse struct {
+}
+
+type RelocateVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VirtualMachineRelocateSpec `xml:"spec"`
+ Priority VirtualMachineMovePriority `xml:"priority,omitempty"`
+}
+
+func init() {
+ t["RelocateVMRequestType"] = reflect.TypeOf((*RelocateVMRequestType)(nil)).Elem()
+}
+
+type RelocateVM_Task RelocateVMRequestType
+
+func init() {
+ t["RelocateVM_Task"] = reflect.TypeOf((*RelocateVM_Task)(nil)).Elem()
+}
+
+type RelocateVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RelocateVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Spec VslmRelocateSpec `xml:"spec"`
+}
+
+func init() {
+ t["RelocateVStorageObjectRequestType"] = reflect.TypeOf((*RelocateVStorageObjectRequestType)(nil)).Elem()
+}
+
+type RelocateVStorageObject_Task RelocateVStorageObjectRequestType
+
+func init() {
+ t["RelocateVStorageObject_Task"] = reflect.TypeOf((*RelocateVStorageObject_Task)(nil)).Elem()
+}
+
+type RelocateVStorageObject_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoteDeviceNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["RemoteDeviceNotSupported"] = reflect.TypeOf((*RemoteDeviceNotSupported)(nil)).Elem()
+}
+
+type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported
+
+func init() {
+ t["RemoteDeviceNotSupportedFault"] = reflect.TypeOf((*RemoteDeviceNotSupportedFault)(nil)).Elem()
+}
+
+type RemoteTSMEnabledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["RemoteTSMEnabledEvent"] = reflect.TypeOf((*RemoteTSMEnabledEvent)(nil)).Elem()
+}
+
+type RemoveAlarm RemoveAlarmRequestType
+
+func init() {
+ t["RemoveAlarm"] = reflect.TypeOf((*RemoveAlarm)(nil)).Elem()
+}
+
+type RemoveAlarmRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RemoveAlarmRequestType"] = reflect.TypeOf((*RemoveAlarmRequestType)(nil)).Elem()
+}
+
+type RemoveAlarmResponse struct {
+}
+
+type RemoveAllSnapshotsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Consolidate *bool `xml:"consolidate"`
+}
+
+func init() {
+ t["RemoveAllSnapshotsRequestType"] = reflect.TypeOf((*RemoveAllSnapshotsRequestType)(nil)).Elem()
+}
+
+type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType
+
+func init() {
+ t["RemoveAllSnapshots_Task"] = reflect.TypeOf((*RemoveAllSnapshots_Task)(nil)).Elem()
+}
+
+type RemoveAllSnapshots_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoveAssignedLicense RemoveAssignedLicenseRequestType
+
+func init() {
+ t["RemoveAssignedLicense"] = reflect.TypeOf((*RemoveAssignedLicense)(nil)).Elem()
+}
+
+type RemoveAssignedLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EntityId string `xml:"entityId"`
+}
+
+func init() {
+ t["RemoveAssignedLicenseRequestType"] = reflect.TypeOf((*RemoveAssignedLicenseRequestType)(nil)).Elem()
+}
+
+type RemoveAssignedLicenseResponse struct {
+}
+
+type RemoveAuthorizationRole RemoveAuthorizationRoleRequestType
+
+func init() {
+ t["RemoveAuthorizationRole"] = reflect.TypeOf((*RemoveAuthorizationRole)(nil)).Elem()
+}
+
+type RemoveAuthorizationRoleRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ RoleId int32 `xml:"roleId"`
+ FailIfUsed bool `xml:"failIfUsed"`
+}
+
+func init() {
+ t["RemoveAuthorizationRoleRequestType"] = reflect.TypeOf((*RemoveAuthorizationRoleRequestType)(nil)).Elem()
+}
+
+type RemoveAuthorizationRoleResponse struct {
+}
+
+type RemoveCustomFieldDef RemoveCustomFieldDefRequestType
+
+func init() {
+ t["RemoveCustomFieldDef"] = reflect.TypeOf((*RemoveCustomFieldDef)(nil)).Elem()
+}
+
+type RemoveCustomFieldDefRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key int32 `xml:"key"`
+}
+
+func init() {
+ t["RemoveCustomFieldDefRequestType"] = reflect.TypeOf((*RemoveCustomFieldDefRequestType)(nil)).Elem()
+}
+
+type RemoveCustomFieldDefResponse struct {
+}
+
+type RemoveDatastore RemoveDatastoreRequestType
+
+func init() {
+ t["RemoveDatastore"] = reflect.TypeOf((*RemoveDatastore)(nil)).Elem()
+}
+
+type RemoveDatastoreExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore []ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["RemoveDatastoreExRequestType"] = reflect.TypeOf((*RemoveDatastoreExRequestType)(nil)).Elem()
+}
+
+type RemoveDatastoreEx_Task RemoveDatastoreExRequestType
+
+func init() {
+ t["RemoveDatastoreEx_Task"] = reflect.TypeOf((*RemoveDatastoreEx_Task)(nil)).Elem()
+}
+
+type RemoveDatastoreEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoveDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["RemoveDatastoreRequestType"] = reflect.TypeOf((*RemoveDatastoreRequestType)(nil)).Elem()
+}
+
+type RemoveDatastoreResponse struct {
+}
+
+type RemoveDiskMappingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Mapping []VsanHostDiskMapping `xml:"mapping"`
+ MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"`
+ Timeout int32 `xml:"timeout,omitempty"`
+}
+
+func init() {
+ t["RemoveDiskMappingRequestType"] = reflect.TypeOf((*RemoveDiskMappingRequestType)(nil)).Elem()
+}
+
+type RemoveDiskMapping_Task RemoveDiskMappingRequestType
+
+func init() {
+ t["RemoveDiskMapping_Task"] = reflect.TypeOf((*RemoveDiskMapping_Task)(nil)).Elem()
+}
+
+type RemoveDiskMapping_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoveDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Disk []HostScsiDisk `xml:"disk"`
+ MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"`
+ Timeout int32 `xml:"timeout,omitempty"`
+}
+
+func init() {
+ t["RemoveDiskRequestType"] = reflect.TypeOf((*RemoveDiskRequestType)(nil)).Elem()
+}
+
+type RemoveDisk_Task RemoveDiskRequestType
+
+func init() {
+ t["RemoveDisk_Task"] = reflect.TypeOf((*RemoveDisk_Task)(nil)).Elem()
+}
+
+type RemoveDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoveEntityPermission RemoveEntityPermissionRequestType
+
+func init() {
+ t["RemoveEntityPermission"] = reflect.TypeOf((*RemoveEntityPermission)(nil)).Elem()
+}
+
+type RemoveEntityPermissionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ User string `xml:"user"`
+ IsGroup bool `xml:"isGroup"`
+}
+
+func init() {
+ t["RemoveEntityPermissionRequestType"] = reflect.TypeOf((*RemoveEntityPermissionRequestType)(nil)).Elem()
+}
+
+type RemoveEntityPermissionResponse struct {
+}
+
+type RemoveFailed struct {
+ VimFault
+}
+
+func init() {
+ t["RemoveFailed"] = reflect.TypeOf((*RemoveFailed)(nil)).Elem()
+}
+
+type RemoveFailedFault RemoveFailed
+
+func init() {
+ t["RemoveFailedFault"] = reflect.TypeOf((*RemoveFailedFault)(nil)).Elem()
+}
+
+type RemoveFilter RemoveFilterRequestType
+
+func init() {
+ t["RemoveFilter"] = reflect.TypeOf((*RemoveFilter)(nil)).Elem()
+}
+
+type RemoveFilterEntities RemoveFilterEntitiesRequestType
+
+func init() {
+ t["RemoveFilterEntities"] = reflect.TypeOf((*RemoveFilterEntities)(nil)).Elem()
+}
+
+type RemoveFilterEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ Entities []ManagedObjectReference `xml:"entities,omitempty"`
+}
+
+func init() {
+ t["RemoveFilterEntitiesRequestType"] = reflect.TypeOf((*RemoveFilterEntitiesRequestType)(nil)).Elem()
+}
+
+type RemoveFilterEntitiesResponse struct {
+}
+
+type RemoveFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+}
+
+func init() {
+ t["RemoveFilterRequestType"] = reflect.TypeOf((*RemoveFilterRequestType)(nil)).Elem()
+}
+
+type RemoveFilterResponse struct {
+}
+
+type RemoveGroup RemoveGroupRequestType
+
+func init() {
+ t["RemoveGroup"] = reflect.TypeOf((*RemoveGroup)(nil)).Elem()
+}
+
+type RemoveGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ GroupName string `xml:"groupName"`
+}
+
+func init() {
+ t["RemoveGroupRequestType"] = reflect.TypeOf((*RemoveGroupRequestType)(nil)).Elem()
+}
+
+type RemoveGroupResponse struct {
+}
+
+type RemoveGuestAlias RemoveGuestAliasRequestType
+
+func init() {
+ t["RemoveGuestAlias"] = reflect.TypeOf((*RemoveGuestAlias)(nil)).Elem()
+}
+
+type RemoveGuestAliasByCert RemoveGuestAliasByCertRequestType
+
+func init() {
+ t["RemoveGuestAliasByCert"] = reflect.TypeOf((*RemoveGuestAliasByCert)(nil)).Elem()
+}
+
+type RemoveGuestAliasByCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Username string `xml:"username"`
+ Base64Cert string `xml:"base64Cert"`
+}
+
+func init() {
+ t["RemoveGuestAliasByCertRequestType"] = reflect.TypeOf((*RemoveGuestAliasByCertRequestType)(nil)).Elem()
+}
+
+type RemoveGuestAliasByCertResponse struct {
+}
+
+type RemoveGuestAliasRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Username string `xml:"username"`
+ Base64Cert string `xml:"base64Cert"`
+ Subject BaseGuestAuthSubject `xml:"subject,typeattr"`
+}
+
+func init() {
+ t["RemoveGuestAliasRequestType"] = reflect.TypeOf((*RemoveGuestAliasRequestType)(nil)).Elem()
+}
+
+type RemoveGuestAliasResponse struct {
+}
+
+type RemoveInternetScsiSendTargets RemoveInternetScsiSendTargetsRequestType
+
+func init() {
+ t["RemoveInternetScsiSendTargets"] = reflect.TypeOf((*RemoveInternetScsiSendTargets)(nil)).Elem()
+}
+
+type RemoveInternetScsiSendTargetsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ Targets []HostInternetScsiHbaSendTarget `xml:"targets"`
+}
+
+func init() {
+ t["RemoveInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiSendTargetsRequestType)(nil)).Elem()
+}
+
+type RemoveInternetScsiSendTargetsResponse struct {
+}
+
+type RemoveInternetScsiStaticTargets RemoveInternetScsiStaticTargetsRequestType
+
+func init() {
+ t["RemoveInternetScsiStaticTargets"] = reflect.TypeOf((*RemoveInternetScsiStaticTargets)(nil)).Elem()
+}
+
+type RemoveInternetScsiStaticTargetsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ Targets []HostInternetScsiHbaStaticTarget `xml:"targets"`
+}
+
+func init() {
+ t["RemoveInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiStaticTargetsRequestType)(nil)).Elem()
+}
+
+type RemoveInternetScsiStaticTargetsResponse struct {
+}
+
+type RemoveKey RemoveKeyRequestType
+
+func init() {
+ t["RemoveKey"] = reflect.TypeOf((*RemoveKey)(nil)).Elem()
+}
+
+type RemoveKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key CryptoKeyId `xml:"key"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["RemoveKeyRequestType"] = reflect.TypeOf((*RemoveKeyRequestType)(nil)).Elem()
+}
+
+type RemoveKeyResponse struct {
+}
+
+type RemoveKeys RemoveKeysRequestType
+
+func init() {
+ t["RemoveKeys"] = reflect.TypeOf((*RemoveKeys)(nil)).Elem()
+}
+
+type RemoveKeysRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Keys []CryptoKeyId `xml:"keys,omitempty"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["RemoveKeysRequestType"] = reflect.TypeOf((*RemoveKeysRequestType)(nil)).Elem()
+}
+
+type RemoveKeysResponse struct {
+ Returnval []CryptoKeyResult `xml:"returnval,omitempty"`
+}
+
+type RemoveKmipServer RemoveKmipServerRequestType
+
+func init() {
+ t["RemoveKmipServer"] = reflect.TypeOf((*RemoveKmipServer)(nil)).Elem()
+}
+
+type RemoveKmipServerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ClusterId KeyProviderId `xml:"clusterId"`
+ ServerName string `xml:"serverName"`
+}
+
+func init() {
+ t["RemoveKmipServerRequestType"] = reflect.TypeOf((*RemoveKmipServerRequestType)(nil)).Elem()
+}
+
+type RemoveKmipServerResponse struct {
+}
+
+type RemoveLicense RemoveLicenseRequestType
+
+func init() {
+ t["RemoveLicense"] = reflect.TypeOf((*RemoveLicense)(nil)).Elem()
+}
+
+type RemoveLicenseLabel RemoveLicenseLabelRequestType
+
+func init() {
+ t["RemoveLicenseLabel"] = reflect.TypeOf((*RemoveLicenseLabel)(nil)).Elem()
+}
+
+type RemoveLicenseLabelRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+ LabelKey string `xml:"labelKey"`
+}
+
+func init() {
+ t["RemoveLicenseLabelRequestType"] = reflect.TypeOf((*RemoveLicenseLabelRequestType)(nil)).Elem()
+}
+
+type RemoveLicenseLabelResponse struct {
+}
+
+type RemoveLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+}
+
+func init() {
+ t["RemoveLicenseRequestType"] = reflect.TypeOf((*RemoveLicenseRequestType)(nil)).Elem()
+}
+
+type RemoveLicenseResponse struct {
+}
+
+type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType
+
+func init() {
+ t["RemoveMonitoredEntities"] = reflect.TypeOf((*RemoveMonitoredEntities)(nil)).Elem()
+}
+
+type RemoveMonitoredEntitiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+ Entities []ManagedObjectReference `xml:"entities,omitempty"`
+}
+
+func init() {
+ t["RemoveMonitoredEntitiesRequestType"] = reflect.TypeOf((*RemoveMonitoredEntitiesRequestType)(nil)).Elem()
+}
+
+type RemoveMonitoredEntitiesResponse struct {
+}
+
+type RemoveNetworkResourcePool RemoveNetworkResourcePoolRequestType
+
+func init() {
+ t["RemoveNetworkResourcePool"] = reflect.TypeOf((*RemoveNetworkResourcePool)(nil)).Elem()
+}
+
+type RemoveNetworkResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key []string `xml:"key"`
+}
+
+func init() {
+ t["RemoveNetworkResourcePoolRequestType"] = reflect.TypeOf((*RemoveNetworkResourcePoolRequestType)(nil)).Elem()
+}
+
+type RemoveNetworkResourcePoolResponse struct {
+}
+
+type RemovePerfInterval RemovePerfIntervalRequestType
+
+func init() {
+ t["RemovePerfInterval"] = reflect.TypeOf((*RemovePerfInterval)(nil)).Elem()
+}
+
+type RemovePerfIntervalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SamplePeriod int32 `xml:"samplePeriod"`
+}
+
+func init() {
+ t["RemovePerfIntervalRequestType"] = reflect.TypeOf((*RemovePerfIntervalRequestType)(nil)).Elem()
+}
+
+type RemovePerfIntervalResponse struct {
+}
+
+type RemovePortGroup RemovePortGroupRequestType
+
+func init() {
+ t["RemovePortGroup"] = reflect.TypeOf((*RemovePortGroup)(nil)).Elem()
+}
+
+type RemovePortGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PgName string `xml:"pgName"`
+}
+
+func init() {
+ t["RemovePortGroupRequestType"] = reflect.TypeOf((*RemovePortGroupRequestType)(nil)).Elem()
+}
+
+type RemovePortGroupResponse struct {
+}
+
+type RemoveScheduledTask RemoveScheduledTaskRequestType
+
+func init() {
+ t["RemoveScheduledTask"] = reflect.TypeOf((*RemoveScheduledTask)(nil)).Elem()
+}
+
+type RemoveScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RemoveScheduledTaskRequestType"] = reflect.TypeOf((*RemoveScheduledTaskRequestType)(nil)).Elem()
+}
+
+type RemoveScheduledTaskResponse struct {
+}
+
+type RemoveServiceConsoleVirtualNic RemoveServiceConsoleVirtualNicRequestType
+
+func init() {
+ t["RemoveServiceConsoleVirtualNic"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNic)(nil)).Elem()
+}
+
+type RemoveServiceConsoleVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["RemoveServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNicRequestType)(nil)).Elem()
+}
+
+type RemoveServiceConsoleVirtualNicResponse struct {
+}
+
+type RemoveSmartCardTrustAnchor RemoveSmartCardTrustAnchorRequestType
+
+func init() {
+ t["RemoveSmartCardTrustAnchor"] = reflect.TypeOf((*RemoveSmartCardTrustAnchor)(nil)).Elem()
+}
+
+type RemoveSmartCardTrustAnchorByFingerprint RemoveSmartCardTrustAnchorByFingerprintRequestType
+
+func init() {
+ t["RemoveSmartCardTrustAnchorByFingerprint"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprint)(nil)).Elem()
+}
+
+type RemoveSmartCardTrustAnchorByFingerprintRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Fingerprint string `xml:"fingerprint"`
+ Digest string `xml:"digest"`
+}
+
+func init() {
+ t["RemoveSmartCardTrustAnchorByFingerprintRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprintRequestType)(nil)).Elem()
+}
+
+type RemoveSmartCardTrustAnchorByFingerprintResponse struct {
+}
+
+type RemoveSmartCardTrustAnchorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Issuer string `xml:"issuer"`
+ Serial string `xml:"serial"`
+}
+
+func init() {
+ t["RemoveSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorRequestType)(nil)).Elem()
+}
+
+type RemoveSmartCardTrustAnchorResponse struct {
+}
+
+type RemoveSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ RemoveChildren bool `xml:"removeChildren"`
+ Consolidate *bool `xml:"consolidate"`
+}
+
+func init() {
+ t["RemoveSnapshotRequestType"] = reflect.TypeOf((*RemoveSnapshotRequestType)(nil)).Elem()
+}
+
+type RemoveSnapshot_Task RemoveSnapshotRequestType
+
+func init() {
+ t["RemoveSnapshot_Task"] = reflect.TypeOf((*RemoveSnapshot_Task)(nil)).Elem()
+}
+
+type RemoveSnapshot_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RemoveUser RemoveUserRequestType
+
+func init() {
+ t["RemoveUser"] = reflect.TypeOf((*RemoveUser)(nil)).Elem()
+}
+
+type RemoveUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["RemoveUserRequestType"] = reflect.TypeOf((*RemoveUserRequestType)(nil)).Elem()
+}
+
+type RemoveUserResponse struct {
+}
+
+type RemoveVirtualNic RemoveVirtualNicRequestType
+
+func init() {
+ t["RemoveVirtualNic"] = reflect.TypeOf((*RemoveVirtualNic)(nil)).Elem()
+}
+
+type RemoveVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["RemoveVirtualNicRequestType"] = reflect.TypeOf((*RemoveVirtualNicRequestType)(nil)).Elem()
+}
+
+type RemoveVirtualNicResponse struct {
+}
+
+type RemoveVirtualSwitch RemoveVirtualSwitchRequestType
+
+func init() {
+ t["RemoveVirtualSwitch"] = reflect.TypeOf((*RemoveVirtualSwitch)(nil)).Elem()
+}
+
+type RemoveVirtualSwitchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VswitchName string `xml:"vswitchName"`
+}
+
+func init() {
+ t["RemoveVirtualSwitchRequestType"] = reflect.TypeOf((*RemoveVirtualSwitchRequestType)(nil)).Elem()
+}
+
+type RemoveVirtualSwitchResponse struct {
+}
+
+type RenameCustomFieldDef RenameCustomFieldDefRequestType
+
+func init() {
+ t["RenameCustomFieldDef"] = reflect.TypeOf((*RenameCustomFieldDef)(nil)).Elem()
+}
+
+type RenameCustomFieldDefRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key int32 `xml:"key"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["RenameCustomFieldDefRequestType"] = reflect.TypeOf((*RenameCustomFieldDefRequestType)(nil)).Elem()
+}
+
+type RenameCustomFieldDefResponse struct {
+}
+
+type RenameCustomizationSpec RenameCustomizationSpecRequestType
+
+func init() {
+ t["RenameCustomizationSpec"] = reflect.TypeOf((*RenameCustomizationSpec)(nil)).Elem()
+}
+
+type RenameCustomizationSpecRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["RenameCustomizationSpecRequestType"] = reflect.TypeOf((*RenameCustomizationSpecRequestType)(nil)).Elem()
+}
+
+type RenameCustomizationSpecResponse struct {
+}
+
+type RenameDatastore RenameDatastoreRequestType
+
+func init() {
+ t["RenameDatastore"] = reflect.TypeOf((*RenameDatastore)(nil)).Elem()
+}
+
+type RenameDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["RenameDatastoreRequestType"] = reflect.TypeOf((*RenameDatastoreRequestType)(nil)).Elem()
+}
+
+type RenameDatastoreResponse struct {
+}
+
+type RenameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["RenameRequestType"] = reflect.TypeOf((*RenameRequestType)(nil)).Elem()
+}
+
+type RenameSnapshot RenameSnapshotRequestType
+
+func init() {
+ t["RenameSnapshot"] = reflect.TypeOf((*RenameSnapshot)(nil)).Elem()
+}
+
+type RenameSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["RenameSnapshotRequestType"] = reflect.TypeOf((*RenameSnapshotRequestType)(nil)).Elem()
+}
+
+type RenameSnapshotResponse struct {
+}
+
+type RenameVStorageObject RenameVStorageObjectRequestType
+
+func init() {
+ t["RenameVStorageObject"] = reflect.TypeOf((*RenameVStorageObject)(nil)).Elem()
+}
+
+type RenameVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["RenameVStorageObjectRequestType"] = reflect.TypeOf((*RenameVStorageObjectRequestType)(nil)).Elem()
+}
+
+type RenameVStorageObjectResponse struct {
+}
+
+type Rename_Task RenameRequestType
+
+func init() {
+ t["Rename_Task"] = reflect.TypeOf((*Rename_Task)(nil)).Elem()
+}
+
+type Rename_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ReplaceCACertificatesAndCRLs ReplaceCACertificatesAndCRLsRequestType
+
+func init() {
+ t["ReplaceCACertificatesAndCRLs"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLs)(nil)).Elem()
+}
+
+type ReplaceCACertificatesAndCRLsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CaCert []string `xml:"caCert"`
+ CaCrl []string `xml:"caCrl,omitempty"`
+}
+
+func init() {
+ t["ReplaceCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLsRequestType)(nil)).Elem()
+}
+
+type ReplaceCACertificatesAndCRLsResponse struct {
+}
+
+type ReplaceSmartCardTrustAnchors ReplaceSmartCardTrustAnchorsRequestType
+
+func init() {
+ t["ReplaceSmartCardTrustAnchors"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchors)(nil)).Elem()
+}
+
+type ReplaceSmartCardTrustAnchorsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Certs []string `xml:"certs,omitempty"`
+}
+
+func init() {
+ t["ReplaceSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchorsRequestType)(nil)).Elem()
+}
+
+type ReplaceSmartCardTrustAnchorsResponse struct {
+}
+
+type ReplicationConfigFault struct {
+ ReplicationFault
+}
+
+func init() {
+ t["ReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem()
+}
+
+type ReplicationConfigFaultFault BaseReplicationConfigFault
+
+func init() {
+ t["ReplicationConfigFaultFault"] = reflect.TypeOf((*ReplicationConfigFaultFault)(nil)).Elem()
+}
+
+type ReplicationConfigSpec struct {
+ DynamicData
+
+ Generation int64 `xml:"generation"`
+ VmReplicationId string `xml:"vmReplicationId"`
+ Destination string `xml:"destination"`
+ Port int32 `xml:"port"`
+ Rpo int64 `xml:"rpo"`
+ QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled"`
+ Paused bool `xml:"paused"`
+ OppUpdatesEnabled bool `xml:"oppUpdatesEnabled"`
+ NetCompressionEnabled *bool `xml:"netCompressionEnabled"`
+ Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty"`
+}
+
+func init() {
+ t["ReplicationConfigSpec"] = reflect.TypeOf((*ReplicationConfigSpec)(nil)).Elem()
+}
+
+type ReplicationDiskConfigFault struct {
+ ReplicationConfigFault
+
+ Reason string `xml:"reason,omitempty"`
+ VmRef *ManagedObjectReference `xml:"vmRef,omitempty"`
+ Key int32 `xml:"key,omitempty"`
+}
+
+func init() {
+ t["ReplicationDiskConfigFault"] = reflect.TypeOf((*ReplicationDiskConfigFault)(nil)).Elem()
+}
+
+type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault
+
+func init() {
+ t["ReplicationDiskConfigFaultFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultFault)(nil)).Elem()
+}
+
+type ReplicationFault struct {
+ VimFault
+}
+
+func init() {
+ t["ReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem()
+}
+
+type ReplicationFaultFault BaseReplicationFault
+
+func init() {
+ t["ReplicationFaultFault"] = reflect.TypeOf((*ReplicationFaultFault)(nil)).Elem()
+}
+
+type ReplicationGroupId struct {
+ DynamicData
+
+ FaultDomainId FaultDomainId `xml:"faultDomainId"`
+ DeviceGroupId DeviceGroupId `xml:"deviceGroupId"`
+}
+
+func init() {
+ t["ReplicationGroupId"] = reflect.TypeOf((*ReplicationGroupId)(nil)).Elem()
+}
+
+type ReplicationIncompatibleWithFT struct {
+ ReplicationFault
+}
+
+func init() {
+ t["ReplicationIncompatibleWithFT"] = reflect.TypeOf((*ReplicationIncompatibleWithFT)(nil)).Elem()
+}
+
+type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT
+
+func init() {
+ t["ReplicationIncompatibleWithFTFault"] = reflect.TypeOf((*ReplicationIncompatibleWithFTFault)(nil)).Elem()
+}
+
+type ReplicationInfoDiskSettings struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ DiskReplicationId string `xml:"diskReplicationId"`
+}
+
+func init() {
+ t["ReplicationInfoDiskSettings"] = reflect.TypeOf((*ReplicationInfoDiskSettings)(nil)).Elem()
+}
+
+type ReplicationInvalidOptions struct {
+ ReplicationFault
+
+ Options string `xml:"options"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["ReplicationInvalidOptions"] = reflect.TypeOf((*ReplicationInvalidOptions)(nil)).Elem()
+}
+
+type ReplicationInvalidOptionsFault ReplicationInvalidOptions
+
+func init() {
+ t["ReplicationInvalidOptionsFault"] = reflect.TypeOf((*ReplicationInvalidOptionsFault)(nil)).Elem()
+}
+
+type ReplicationNotSupportedOnHost struct {
+ ReplicationFault
+}
+
+func init() {
+ t["ReplicationNotSupportedOnHost"] = reflect.TypeOf((*ReplicationNotSupportedOnHost)(nil)).Elem()
+}
+
+type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost
+
+func init() {
+ t["ReplicationNotSupportedOnHostFault"] = reflect.TypeOf((*ReplicationNotSupportedOnHostFault)(nil)).Elem()
+}
+
+type ReplicationSpec struct {
+ DynamicData
+
+ ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId"`
+}
+
+func init() {
+ t["ReplicationSpec"] = reflect.TypeOf((*ReplicationSpec)(nil)).Elem()
+}
+
+type ReplicationVmConfigFault struct {
+ ReplicationConfigFault
+
+ Reason string `xml:"reason,omitempty"`
+ VmRef *ManagedObjectReference `xml:"vmRef,omitempty"`
+}
+
+func init() {
+ t["ReplicationVmConfigFault"] = reflect.TypeOf((*ReplicationVmConfigFault)(nil)).Elem()
+}
+
+type ReplicationVmConfigFaultFault ReplicationVmConfigFault
+
+func init() {
+ t["ReplicationVmConfigFaultFault"] = reflect.TypeOf((*ReplicationVmConfigFaultFault)(nil)).Elem()
+}
+
+type ReplicationVmFault struct {
+ ReplicationFault
+
+ Reason string `xml:"reason,omitempty"`
+ State string `xml:"state,omitempty"`
+ InstanceId string `xml:"instanceId,omitempty"`
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["ReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem()
+}
+
+type ReplicationVmFaultFault BaseReplicationVmFault
+
+func init() {
+ t["ReplicationVmFaultFault"] = reflect.TypeOf((*ReplicationVmFaultFault)(nil)).Elem()
+}
+
+type ReplicationVmInProgressFault struct {
+ ReplicationVmFault
+
+ RequestedActivity string `xml:"requestedActivity"`
+ InProgressActivity string `xml:"inProgressActivity"`
+}
+
+func init() {
+ t["ReplicationVmInProgressFault"] = reflect.TypeOf((*ReplicationVmInProgressFault)(nil)).Elem()
+}
+
+type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault
+
+func init() {
+ t["ReplicationVmInProgressFaultFault"] = reflect.TypeOf((*ReplicationVmInProgressFaultFault)(nil)).Elem()
+}
+
+type ReplicationVmProgressInfo struct {
+ DynamicData
+
+ Progress int32 `xml:"progress"`
+ BytesTransferred int64 `xml:"bytesTransferred"`
+ BytesToTransfer int64 `xml:"bytesToTransfer"`
+ ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty"`
+ ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty"`
+}
+
+func init() {
+ t["ReplicationVmProgressInfo"] = reflect.TypeOf((*ReplicationVmProgressInfo)(nil)).Elem()
+}
+
+type RequestCanceled struct {
+ RuntimeFault
+}
+
+func init() {
+ t["RequestCanceled"] = reflect.TypeOf((*RequestCanceled)(nil)).Elem()
+}
+
+type RequestCanceledFault RequestCanceled
+
+func init() {
+ t["RequestCanceledFault"] = reflect.TypeOf((*RequestCanceledFault)(nil)).Elem()
+}
+
+type RescanAllHba RescanAllHbaRequestType
+
+func init() {
+ t["RescanAllHba"] = reflect.TypeOf((*RescanAllHba)(nil)).Elem()
+}
+
+type RescanAllHbaRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RescanAllHbaRequestType"] = reflect.TypeOf((*RescanAllHbaRequestType)(nil)).Elem()
+}
+
+type RescanAllHbaResponse struct {
+}
+
+type RescanHba RescanHbaRequestType
+
+func init() {
+ t["RescanHba"] = reflect.TypeOf((*RescanHba)(nil)).Elem()
+}
+
+type RescanHbaRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HbaDevice string `xml:"hbaDevice"`
+}
+
+func init() {
+ t["RescanHbaRequestType"] = reflect.TypeOf((*RescanHbaRequestType)(nil)).Elem()
+}
+
+type RescanHbaResponse struct {
+}
+
+type RescanVffs RescanVffsRequestType
+
+func init() {
+ t["RescanVffs"] = reflect.TypeOf((*RescanVffs)(nil)).Elem()
+}
+
+type RescanVffsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RescanVffsRequestType"] = reflect.TypeOf((*RescanVffsRequestType)(nil)).Elem()
+}
+
+type RescanVffsResponse struct {
+}
+
+type RescanVmfs RescanVmfsRequestType
+
+func init() {
+ t["RescanVmfs"] = reflect.TypeOf((*RescanVmfs)(nil)).Elem()
+}
+
+type RescanVmfsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RescanVmfsRequestType"] = reflect.TypeOf((*RescanVmfsRequestType)(nil)).Elem()
+}
+
+type RescanVmfsResponse struct {
+}
+
+type ResetCollector ResetCollectorRequestType
+
+func init() {
+ t["ResetCollector"] = reflect.TypeOf((*ResetCollector)(nil)).Elem()
+}
+
+type ResetCollectorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ResetCollectorRequestType"] = reflect.TypeOf((*ResetCollectorRequestType)(nil)).Elem()
+}
+
+type ResetCollectorResponse struct {
+}
+
+type ResetCounterLevelMapping ResetCounterLevelMappingRequestType
+
+func init() {
+ t["ResetCounterLevelMapping"] = reflect.TypeOf((*ResetCounterLevelMapping)(nil)).Elem()
+}
+
+type ResetCounterLevelMappingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Counters []int32 `xml:"counters"`
+}
+
+func init() {
+ t["ResetCounterLevelMappingRequestType"] = reflect.TypeOf((*ResetCounterLevelMappingRequestType)(nil)).Elem()
+}
+
+type ResetCounterLevelMappingResponse struct {
+}
+
+type ResetEntityPermissions ResetEntityPermissionsRequestType
+
+func init() {
+ t["ResetEntityPermissions"] = reflect.TypeOf((*ResetEntityPermissions)(nil)).Elem()
+}
+
+type ResetEntityPermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Permission []Permission `xml:"permission,omitempty"`
+}
+
+func init() {
+ t["ResetEntityPermissionsRequestType"] = reflect.TypeOf((*ResetEntityPermissionsRequestType)(nil)).Elem()
+}
+
+type ResetEntityPermissionsResponse struct {
+}
+
+type ResetFirmwareToFactoryDefaults ResetFirmwareToFactoryDefaultsRequestType
+
+func init() {
+ t["ResetFirmwareToFactoryDefaults"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaults)(nil)).Elem()
+}
+
+type ResetFirmwareToFactoryDefaultsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ResetFirmwareToFactoryDefaultsRequestType"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaultsRequestType)(nil)).Elem()
+}
+
+type ResetFirmwareToFactoryDefaultsResponse struct {
+}
+
+type ResetGuestInformation ResetGuestInformationRequestType
+
+func init() {
+ t["ResetGuestInformation"] = reflect.TypeOf((*ResetGuestInformation)(nil)).Elem()
+}
+
+type ResetGuestInformationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ResetGuestInformationRequestType"] = reflect.TypeOf((*ResetGuestInformationRequestType)(nil)).Elem()
+}
+
+type ResetGuestInformationResponse struct {
+}
+
+type ResetListView ResetListViewRequestType
+
+func init() {
+ t["ResetListView"] = reflect.TypeOf((*ResetListView)(nil)).Elem()
+}
+
+type ResetListViewFromView ResetListViewFromViewRequestType
+
+func init() {
+ t["ResetListViewFromView"] = reflect.TypeOf((*ResetListViewFromView)(nil)).Elem()
+}
+
+type ResetListViewFromViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ View ManagedObjectReference `xml:"view"`
+}
+
+func init() {
+ t["ResetListViewFromViewRequestType"] = reflect.TypeOf((*ResetListViewFromViewRequestType)(nil)).Elem()
+}
+
+type ResetListViewFromViewResponse struct {
+}
+
+type ResetListViewRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj []ManagedObjectReference `xml:"obj,omitempty"`
+}
+
+func init() {
+ t["ResetListViewRequestType"] = reflect.TypeOf((*ResetListViewRequestType)(nil)).Elem()
+}
+
+type ResetListViewResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type ResetSystemHealthInfo ResetSystemHealthInfoRequestType
+
+func init() {
+ t["ResetSystemHealthInfo"] = reflect.TypeOf((*ResetSystemHealthInfo)(nil)).Elem()
+}
+
+type ResetSystemHealthInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ResetSystemHealthInfoRequestType"] = reflect.TypeOf((*ResetSystemHealthInfoRequestType)(nil)).Elem()
+}
+
+type ResetSystemHealthInfoResponse struct {
+}
+
+type ResetVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ResetVMRequestType"] = reflect.TypeOf((*ResetVMRequestType)(nil)).Elem()
+}
+
+type ResetVM_Task ResetVMRequestType
+
+func init() {
+ t["ResetVM_Task"] = reflect.TypeOf((*ResetVM_Task)(nil)).Elem()
+}
+
+type ResetVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ResignatureUnresolvedVmfsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec"`
+}
+
+func init() {
+ t["ResignatureUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolumeRequestType)(nil)).Elem()
+}
+
+type ResignatureUnresolvedVmfsVolume_Task ResignatureUnresolvedVmfsVolumeRequestType
+
+func init() {
+ t["ResignatureUnresolvedVmfsVolume_Task"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolume_Task)(nil)).Elem()
+}
+
+type ResignatureUnresolvedVmfsVolume_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ResolveInstallationErrorsOnClusterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ Cluster ManagedObjectReference `xml:"cluster"`
+}
+
+func init() {
+ t["ResolveInstallationErrorsOnClusterRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnClusterRequestType)(nil)).Elem()
+}
+
+type ResolveInstallationErrorsOnCluster_Task ResolveInstallationErrorsOnClusterRequestType
+
+func init() {
+ t["ResolveInstallationErrorsOnCluster_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnCluster_Task)(nil)).Elem()
+}
+
+type ResolveInstallationErrorsOnCluster_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ResolveInstallationErrorsOnHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["ResolveInstallationErrorsOnHostRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnHostRequestType)(nil)).Elem()
+}
+
+type ResolveInstallationErrorsOnHost_Task ResolveInstallationErrorsOnHostRequestType
+
+func init() {
+ t["ResolveInstallationErrorsOnHost_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnHost_Task)(nil)).Elem()
+}
+
+type ResolveInstallationErrorsOnHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ResolveMultipleUnresolvedVmfsVolumes ResolveMultipleUnresolvedVmfsVolumesRequestType
+
+func init() {
+ t["ResolveMultipleUnresolvedVmfsVolumes"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumes)(nil)).Elem()
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec"`
+}
+
+func init() {
+ t["ResolveMultipleUnresolvedVmfsVolumesExRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesExRequestType)(nil)).Elem()
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesEx_Task ResolveMultipleUnresolvedVmfsVolumesExRequestType
+
+func init() {
+ t["ResolveMultipleUnresolvedVmfsVolumesEx_Task"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesEx_Task)(nil)).Elem()
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec"`
+}
+
+func init() {
+ t["ResolveMultipleUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesRequestType)(nil)).Elem()
+}
+
+type ResolveMultipleUnresolvedVmfsVolumesResponse struct {
+ Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty"`
+}
+
+type ResourceAllocationInfo struct {
+ DynamicData
+
+ Reservation int64 `xml:"reservation,omitempty"`
+ ExpandableReservation *bool `xml:"expandableReservation"`
+ Limit int64 `xml:"limit,omitempty"`
+ Shares *SharesInfo `xml:"shares,omitempty"`
+ OverheadLimit int64 `xml:"overheadLimit,omitempty"`
+}
+
+func init() {
+ t["ResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem()
+}
+
+type ResourceAllocationOption struct {
+ DynamicData
+
+ SharesOption SharesOption `xml:"sharesOption"`
+}
+
+func init() {
+ t["ResourceAllocationOption"] = reflect.TypeOf((*ResourceAllocationOption)(nil)).Elem()
+}
+
+type ResourceConfigOption struct {
+ DynamicData
+
+ CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption"`
+ MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption"`
+}
+
+func init() {
+ t["ResourceConfigOption"] = reflect.TypeOf((*ResourceConfigOption)(nil)).Elem()
+}
+
+type ResourceConfigSpec struct {
+ DynamicData
+
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ ChangeVersion string `xml:"changeVersion,omitempty"`
+ LastModified *time.Time `xml:"lastModified"`
+ CpuAllocation BaseResourceAllocationInfo `xml:"cpuAllocation,typeattr"`
+ MemoryAllocation BaseResourceAllocationInfo `xml:"memoryAllocation,typeattr"`
+}
+
+func init() {
+ t["ResourceConfigSpec"] = reflect.TypeOf((*ResourceConfigSpec)(nil)).Elem()
+}
+
+type ResourceInUse struct {
+ VimFault
+
+ Type string `xml:"type,omitempty"`
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["ResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem()
+}
+
+type ResourceInUseFault BaseResourceInUse
+
+func init() {
+ t["ResourceInUseFault"] = reflect.TypeOf((*ResourceInUseFault)(nil)).Elem()
+}
+
+type ResourceNotAvailable struct {
+ VimFault
+
+ ContainerType string `xml:"containerType,omitempty"`
+ ContainerName string `xml:"containerName,omitempty"`
+ Type string `xml:"type,omitempty"`
+}
+
+func init() {
+ t["ResourceNotAvailable"] = reflect.TypeOf((*ResourceNotAvailable)(nil)).Elem()
+}
+
+type ResourceNotAvailableFault ResourceNotAvailable
+
+func init() {
+ t["ResourceNotAvailableFault"] = reflect.TypeOf((*ResourceNotAvailableFault)(nil)).Elem()
+}
+
+type ResourcePoolCreatedEvent struct {
+ ResourcePoolEvent
+
+ Parent ResourcePoolEventArgument `xml:"parent"`
+}
+
+func init() {
+ t["ResourcePoolCreatedEvent"] = reflect.TypeOf((*ResourcePoolCreatedEvent)(nil)).Elem()
+}
+
+type ResourcePoolDestroyedEvent struct {
+ ResourcePoolEvent
+}
+
+func init() {
+ t["ResourcePoolDestroyedEvent"] = reflect.TypeOf((*ResourcePoolDestroyedEvent)(nil)).Elem()
+}
+
+type ResourcePoolEvent struct {
+ Event
+
+ ResourcePool ResourcePoolEventArgument `xml:"resourcePool"`
+}
+
+func init() {
+ t["ResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem()
+}
+
+type ResourcePoolEventArgument struct {
+ EntityEventArgument
+
+ ResourcePool ManagedObjectReference `xml:"resourcePool"`
+}
+
+func init() {
+ t["ResourcePoolEventArgument"] = reflect.TypeOf((*ResourcePoolEventArgument)(nil)).Elem()
+}
+
+type ResourcePoolMovedEvent struct {
+ ResourcePoolEvent
+
+ OldParent ResourcePoolEventArgument `xml:"oldParent"`
+ NewParent ResourcePoolEventArgument `xml:"newParent"`
+}
+
+func init() {
+ t["ResourcePoolMovedEvent"] = reflect.TypeOf((*ResourcePoolMovedEvent)(nil)).Elem()
+}
+
+type ResourcePoolQuickStats struct {
+ DynamicData
+
+ OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty"`
+ OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty"`
+ GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty"`
+ HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty"`
+ DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty"`
+ DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty"`
+ StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty"`
+ StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty"`
+ PrivateMemory int64 `xml:"privateMemory,omitempty"`
+ SharedMemory int64 `xml:"sharedMemory,omitempty"`
+ SwappedMemory int64 `xml:"swappedMemory,omitempty"`
+ BalloonedMemory int64 `xml:"balloonedMemory,omitempty"`
+ OverheadMemory int64 `xml:"overheadMemory,omitempty"`
+ ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty"`
+ CompressedMemory int64 `xml:"compressedMemory,omitempty"`
+}
+
+func init() {
+ t["ResourcePoolQuickStats"] = reflect.TypeOf((*ResourcePoolQuickStats)(nil)).Elem()
+}
+
+type ResourcePoolReconfiguredEvent struct {
+ ResourcePoolEvent
+
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["ResourcePoolReconfiguredEvent"] = reflect.TypeOf((*ResourcePoolReconfiguredEvent)(nil)).Elem()
+}
+
+type ResourcePoolResourceUsage struct {
+ DynamicData
+
+ ReservationUsed int64 `xml:"reservationUsed"`
+ ReservationUsedForVm int64 `xml:"reservationUsedForVm"`
+ UnreservedForPool int64 `xml:"unreservedForPool"`
+ UnreservedForVm int64 `xml:"unreservedForVm"`
+ OverallUsage int64 `xml:"overallUsage"`
+ MaxUsage int64 `xml:"maxUsage"`
+}
+
+func init() {
+ t["ResourcePoolResourceUsage"] = reflect.TypeOf((*ResourcePoolResourceUsage)(nil)).Elem()
+}
+
+type ResourcePoolRuntimeInfo struct {
+ DynamicData
+
+ Memory ResourcePoolResourceUsage `xml:"memory"`
+ Cpu ResourcePoolResourceUsage `xml:"cpu"`
+ OverallStatus ManagedEntityStatus `xml:"overallStatus"`
+}
+
+func init() {
+ t["ResourcePoolRuntimeInfo"] = reflect.TypeOf((*ResourcePoolRuntimeInfo)(nil)).Elem()
+}
+
+type ResourcePoolSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Config ResourceConfigSpec `xml:"config"`
+ Runtime ResourcePoolRuntimeInfo `xml:"runtime"`
+ QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty"`
+ ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty"`
+}
+
+func init() {
+ t["ResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem()
+}
+
+type ResourceViolatedEvent struct {
+ ResourcePoolEvent
+}
+
+func init() {
+ t["ResourceViolatedEvent"] = reflect.TypeOf((*ResourceViolatedEvent)(nil)).Elem()
+}
+
+type RestartService RestartServiceRequestType
+
+func init() {
+ t["RestartService"] = reflect.TypeOf((*RestartService)(nil)).Elem()
+}
+
+type RestartServiceConsoleVirtualNic RestartServiceConsoleVirtualNicRequestType
+
+func init() {
+ t["RestartServiceConsoleVirtualNic"] = reflect.TypeOf((*RestartServiceConsoleVirtualNic)(nil)).Elem()
+}
+
+type RestartServiceConsoleVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["RestartServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RestartServiceConsoleVirtualNicRequestType)(nil)).Elem()
+}
+
+type RestartServiceConsoleVirtualNicResponse struct {
+}
+
+type RestartServiceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["RestartServiceRequestType"] = reflect.TypeOf((*RestartServiceRequestType)(nil)).Elem()
+}
+
+type RestartServiceResponse struct {
+}
+
+type RestoreFirmwareConfiguration RestoreFirmwareConfigurationRequestType
+
+func init() {
+ t["RestoreFirmwareConfiguration"] = reflect.TypeOf((*RestoreFirmwareConfiguration)(nil)).Elem()
+}
+
+type RestoreFirmwareConfigurationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["RestoreFirmwareConfigurationRequestType"] = reflect.TypeOf((*RestoreFirmwareConfigurationRequestType)(nil)).Elem()
+}
+
+type RestoreFirmwareConfigurationResponse struct {
+}
+
+type RestrictedByAdministrator struct {
+ RuntimeFault
+
+ Details string `xml:"details"`
+}
+
+func init() {
+ t["RestrictedByAdministrator"] = reflect.TypeOf((*RestrictedByAdministrator)(nil)).Elem()
+}
+
+type RestrictedByAdministratorFault RestrictedByAdministrator
+
+func init() {
+ t["RestrictedByAdministratorFault"] = reflect.TypeOf((*RestrictedByAdministratorFault)(nil)).Elem()
+}
+
+type RestrictedVersion struct {
+ SecurityError
+}
+
+func init() {
+ t["RestrictedVersion"] = reflect.TypeOf((*RestrictedVersion)(nil)).Elem()
+}
+
+type RestrictedVersionFault RestrictedVersion
+
+func init() {
+ t["RestrictedVersionFault"] = reflect.TypeOf((*RestrictedVersionFault)(nil)).Elem()
+}
+
+type RetrieveAllPermissions RetrieveAllPermissionsRequestType
+
+func init() {
+ t["RetrieveAllPermissions"] = reflect.TypeOf((*RetrieveAllPermissions)(nil)).Elem()
+}
+
+type RetrieveAllPermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveAllPermissionsRequestType"] = reflect.TypeOf((*RetrieveAllPermissionsRequestType)(nil)).Elem()
+}
+
+type RetrieveAllPermissionsResponse struct {
+ Returnval []Permission `xml:"returnval,omitempty"`
+}
+
+type RetrieveAnswerFile RetrieveAnswerFileRequestType
+
+func init() {
+ t["RetrieveAnswerFile"] = reflect.TypeOf((*RetrieveAnswerFile)(nil)).Elem()
+}
+
+type RetrieveAnswerFileForProfile RetrieveAnswerFileForProfileRequestType
+
+func init() {
+ t["RetrieveAnswerFileForProfile"] = reflect.TypeOf((*RetrieveAnswerFileForProfile)(nil)).Elem()
+}
+
+type RetrieveAnswerFileForProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ ApplyProfile HostApplyProfile `xml:"applyProfile"`
+}
+
+func init() {
+ t["RetrieveAnswerFileForProfileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileForProfileRequestType)(nil)).Elem()
+}
+
+type RetrieveAnswerFileForProfileResponse struct {
+ Returnval *AnswerFile `xml:"returnval,omitempty"`
+}
+
+type RetrieveAnswerFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["RetrieveAnswerFileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileRequestType)(nil)).Elem()
+}
+
+type RetrieveAnswerFileResponse struct {
+ Returnval *AnswerFile `xml:"returnval,omitempty"`
+}
+
+type RetrieveArgumentDescription RetrieveArgumentDescriptionRequestType
+
+func init() {
+ t["RetrieveArgumentDescription"] = reflect.TypeOf((*RetrieveArgumentDescription)(nil)).Elem()
+}
+
+type RetrieveArgumentDescriptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ EventTypeId string `xml:"eventTypeId"`
+}
+
+func init() {
+ t["RetrieveArgumentDescriptionRequestType"] = reflect.TypeOf((*RetrieveArgumentDescriptionRequestType)(nil)).Elem()
+}
+
+type RetrieveArgumentDescriptionResponse struct {
+ Returnval []EventArgDesc `xml:"returnval,omitempty"`
+}
+
+type RetrieveClientCert RetrieveClientCertRequestType
+
+func init() {
+ t["RetrieveClientCert"] = reflect.TypeOf((*RetrieveClientCert)(nil)).Elem()
+}
+
+type RetrieveClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+}
+
+func init() {
+ t["RetrieveClientCertRequestType"] = reflect.TypeOf((*RetrieveClientCertRequestType)(nil)).Elem()
+}
+
+type RetrieveClientCertResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type RetrieveClientCsr RetrieveClientCsrRequestType
+
+func init() {
+ t["RetrieveClientCsr"] = reflect.TypeOf((*RetrieveClientCsr)(nil)).Elem()
+}
+
+type RetrieveClientCsrRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+}
+
+func init() {
+ t["RetrieveClientCsrRequestType"] = reflect.TypeOf((*RetrieveClientCsrRequestType)(nil)).Elem()
+}
+
+type RetrieveClientCsrResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type RetrieveDasAdvancedRuntimeInfo RetrieveDasAdvancedRuntimeInfoRequestType
+
+func init() {
+ t["RetrieveDasAdvancedRuntimeInfo"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfo)(nil)).Elem()
+}
+
+type RetrieveDasAdvancedRuntimeInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveDasAdvancedRuntimeInfoRequestType"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfoRequestType)(nil)).Elem()
+}
+
+type RetrieveDasAdvancedRuntimeInfoResponse struct {
+ Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr"`
+}
+
+type RetrieveDescription RetrieveDescriptionRequestType
+
+func init() {
+ t["RetrieveDescription"] = reflect.TypeOf((*RetrieveDescription)(nil)).Elem()
+}
+
+type RetrieveDescriptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveDescriptionRequestType"] = reflect.TypeOf((*RetrieveDescriptionRequestType)(nil)).Elem()
+}
+
+type RetrieveDescriptionResponse struct {
+ Returnval *ProfileDescription `xml:"returnval,omitempty"`
+}
+
+type RetrieveDiskPartitionInfo RetrieveDiskPartitionInfoRequestType
+
+func init() {
+ t["RetrieveDiskPartitionInfo"] = reflect.TypeOf((*RetrieveDiskPartitionInfo)(nil)).Elem()
+}
+
+type RetrieveDiskPartitionInfoRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DevicePath []string `xml:"devicePath"`
+}
+
+func init() {
+ t["RetrieveDiskPartitionInfoRequestType"] = reflect.TypeOf((*RetrieveDiskPartitionInfoRequestType)(nil)).Elem()
+}
+
+type RetrieveDiskPartitionInfoResponse struct {
+ Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty"`
+}
+
+type RetrieveEntityPermissions RetrieveEntityPermissionsRequestType
+
+func init() {
+ t["RetrieveEntityPermissions"] = reflect.TypeOf((*RetrieveEntityPermissions)(nil)).Elem()
+}
+
+type RetrieveEntityPermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Inherited bool `xml:"inherited"`
+}
+
+func init() {
+ t["RetrieveEntityPermissionsRequestType"] = reflect.TypeOf((*RetrieveEntityPermissionsRequestType)(nil)).Elem()
+}
+
+type RetrieveEntityPermissionsResponse struct {
+ Returnval []Permission `xml:"returnval,omitempty"`
+}
+
+type RetrieveEntityScheduledTask RetrieveEntityScheduledTaskRequestType
+
+func init() {
+ t["RetrieveEntityScheduledTask"] = reflect.TypeOf((*RetrieveEntityScheduledTask)(nil)).Elem()
+}
+
+type RetrieveEntityScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["RetrieveEntityScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveEntityScheduledTaskRequestType)(nil)).Elem()
+}
+
+type RetrieveEntityScheduledTaskResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type RetrieveHardwareUptime RetrieveHardwareUptimeRequestType
+
+func init() {
+ t["RetrieveHardwareUptime"] = reflect.TypeOf((*RetrieveHardwareUptime)(nil)).Elem()
+}
+
+type RetrieveHardwareUptimeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveHardwareUptimeRequestType"] = reflect.TypeOf((*RetrieveHardwareUptimeRequestType)(nil)).Elem()
+}
+
+type RetrieveHardwareUptimeResponse struct {
+ Returnval int64 `xml:"returnval"`
+}
+
+type RetrieveHostAccessControlEntries RetrieveHostAccessControlEntriesRequestType
+
+func init() {
+ t["RetrieveHostAccessControlEntries"] = reflect.TypeOf((*RetrieveHostAccessControlEntries)(nil)).Elem()
+}
+
+type RetrieveHostAccessControlEntriesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveHostAccessControlEntriesRequestType"] = reflect.TypeOf((*RetrieveHostAccessControlEntriesRequestType)(nil)).Elem()
+}
+
+type RetrieveHostAccessControlEntriesResponse struct {
+ Returnval []HostAccessControlEntry `xml:"returnval,omitempty"`
+}
+
+type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType
+
+func init() {
+ t["RetrieveHostCustomizations"] = reflect.TypeOf((*RetrieveHostCustomizations)(nil)).Elem()
+}
+
+type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType
+
+func init() {
+ t["RetrieveHostCustomizationsForProfile"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfile)(nil)).Elem()
+}
+
+type RetrieveHostCustomizationsForProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Hosts []ManagedObjectReference `xml:"hosts,omitempty"`
+ ApplyProfile HostApplyProfile `xml:"applyProfile"`
+}
+
+func init() {
+ t["RetrieveHostCustomizationsForProfileRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfileRequestType)(nil)).Elem()
+}
+
+type RetrieveHostCustomizationsForProfileResponse struct {
+ Returnval []StructuredCustomizations `xml:"returnval,omitempty"`
+}
+
+type RetrieveHostCustomizationsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Hosts []ManagedObjectReference `xml:"hosts,omitempty"`
+}
+
+func init() {
+ t["RetrieveHostCustomizationsRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsRequestType)(nil)).Elem()
+}
+
+type RetrieveHostCustomizationsResponse struct {
+ Returnval []StructuredCustomizations `xml:"returnval,omitempty"`
+}
+
+type RetrieveHostSpecification RetrieveHostSpecificationRequestType
+
+func init() {
+ t["RetrieveHostSpecification"] = reflect.TypeOf((*RetrieveHostSpecification)(nil)).Elem()
+}
+
+type RetrieveHostSpecificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ FromHost bool `xml:"fromHost"`
+}
+
+func init() {
+ t["RetrieveHostSpecificationRequestType"] = reflect.TypeOf((*RetrieveHostSpecificationRequestType)(nil)).Elem()
+}
+
+type RetrieveHostSpecificationResponse struct {
+ Returnval HostSpecification `xml:"returnval"`
+}
+
+type RetrieveKmipServerCert RetrieveKmipServerCertRequestType
+
+func init() {
+ t["RetrieveKmipServerCert"] = reflect.TypeOf((*RetrieveKmipServerCert)(nil)).Elem()
+}
+
+type RetrieveKmipServerCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ KeyProvider KeyProviderId `xml:"keyProvider"`
+ Server KmipServerInfo `xml:"server"`
+}
+
+func init() {
+ t["RetrieveKmipServerCertRequestType"] = reflect.TypeOf((*RetrieveKmipServerCertRequestType)(nil)).Elem()
+}
+
+type RetrieveKmipServerCertResponse struct {
+ Returnval CryptoManagerKmipServerCertInfo `xml:"returnval"`
+}
+
+type RetrieveKmipServersStatusRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Clusters []KmipClusterInfo `xml:"clusters,omitempty"`
+}
+
+func init() {
+ t["RetrieveKmipServersStatusRequestType"] = reflect.TypeOf((*RetrieveKmipServersStatusRequestType)(nil)).Elem()
+}
+
+type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType
+
+func init() {
+ t["RetrieveKmipServersStatus_Task"] = reflect.TypeOf((*RetrieveKmipServersStatus_Task)(nil)).Elem()
+}
+
+type RetrieveKmipServersStatus_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RetrieveObjectScheduledTask RetrieveObjectScheduledTaskRequestType
+
+func init() {
+ t["RetrieveObjectScheduledTask"] = reflect.TypeOf((*RetrieveObjectScheduledTask)(nil)).Elem()
+}
+
+type RetrieveObjectScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Obj *ManagedObjectReference `xml:"obj,omitempty"`
+}
+
+func init() {
+ t["RetrieveObjectScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveObjectScheduledTaskRequestType)(nil)).Elem()
+}
+
+type RetrieveObjectScheduledTaskResponse struct {
+ Returnval []ManagedObjectReference `xml:"returnval,omitempty"`
+}
+
+type RetrieveOptions struct {
+ DynamicData
+
+ MaxObjects int32 `xml:"maxObjects,omitempty"`
+}
+
+func init() {
+ t["RetrieveOptions"] = reflect.TypeOf((*RetrieveOptions)(nil)).Elem()
+}
+
+type RetrieveProductComponents RetrieveProductComponentsRequestType
+
+func init() {
+ t["RetrieveProductComponents"] = reflect.TypeOf((*RetrieveProductComponents)(nil)).Elem()
+}
+
+type RetrieveProductComponentsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveProductComponentsRequestType"] = reflect.TypeOf((*RetrieveProductComponentsRequestType)(nil)).Elem()
+}
+
+type RetrieveProductComponentsResponse struct {
+ Returnval []ProductComponentInfo `xml:"returnval,omitempty"`
+}
+
+type RetrieveProperties RetrievePropertiesRequestType
+
+func init() {
+ t["RetrieveProperties"] = reflect.TypeOf((*RetrieveProperties)(nil)).Elem()
+}
+
+type RetrievePropertiesEx RetrievePropertiesExRequestType
+
+func init() {
+ t["RetrievePropertiesEx"] = reflect.TypeOf((*RetrievePropertiesEx)(nil)).Elem()
+}
+
+type RetrievePropertiesExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SpecSet []PropertyFilterSpec `xml:"specSet"`
+ Options RetrieveOptions `xml:"options"`
+}
+
+func init() {
+ t["RetrievePropertiesExRequestType"] = reflect.TypeOf((*RetrievePropertiesExRequestType)(nil)).Elem()
+}
+
+type RetrievePropertiesExResponse struct {
+ Returnval *RetrieveResult `xml:"returnval,omitempty"`
+}
+
+type RetrievePropertiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SpecSet []PropertyFilterSpec `xml:"specSet"`
+}
+
+func init() {
+ t["RetrievePropertiesRequestType"] = reflect.TypeOf((*RetrievePropertiesRequestType)(nil)).Elem()
+}
+
+type RetrievePropertiesResponse struct {
+ Returnval []ObjectContent `xml:"returnval,omitempty"`
+}
+
+type RetrieveResult struct {
+ DynamicData
+
+ Token string `xml:"token,omitempty"`
+ Objects []ObjectContent `xml:"objects"`
+}
+
+func init() {
+ t["RetrieveResult"] = reflect.TypeOf((*RetrieveResult)(nil)).Elem()
+}
+
+type RetrieveRolePermissions RetrieveRolePermissionsRequestType
+
+func init() {
+ t["RetrieveRolePermissions"] = reflect.TypeOf((*RetrieveRolePermissions)(nil)).Elem()
+}
+
+type RetrieveRolePermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ RoleId int32 `xml:"roleId"`
+}
+
+func init() {
+ t["RetrieveRolePermissionsRequestType"] = reflect.TypeOf((*RetrieveRolePermissionsRequestType)(nil)).Elem()
+}
+
+type RetrieveRolePermissionsResponse struct {
+ Returnval []Permission `xml:"returnval,omitempty"`
+}
+
+type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType
+
+func init() {
+ t["RetrieveSelfSignedClientCert"] = reflect.TypeOf((*RetrieveSelfSignedClientCert)(nil)).Elem()
+}
+
+type RetrieveSelfSignedClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+}
+
+func init() {
+ t["RetrieveSelfSignedClientCertRequestType"] = reflect.TypeOf((*RetrieveSelfSignedClientCertRequestType)(nil)).Elem()
+}
+
+type RetrieveSelfSignedClientCertResponse struct {
+ Returnval string `xml:"returnval"`
+}
+
+type RetrieveServiceContent RetrieveServiceContentRequestType
+
+func init() {
+ t["RetrieveServiceContent"] = reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem()
+}
+
+type RetrieveServiceContentRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RetrieveServiceContentRequestType"] = reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem()
+}
+
+type RetrieveServiceContentResponse struct {
+ Returnval ServiceContent `xml:"returnval"`
+}
+
+type RetrieveUserGroups RetrieveUserGroupsRequestType
+
+func init() {
+ t["RetrieveUserGroups"] = reflect.TypeOf((*RetrieveUserGroups)(nil)).Elem()
+}
+
+type RetrieveUserGroupsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Domain string `xml:"domain,omitempty"`
+ SearchStr string `xml:"searchStr"`
+ BelongsToGroup string `xml:"belongsToGroup,omitempty"`
+ BelongsToUser string `xml:"belongsToUser,omitempty"`
+ ExactMatch bool `xml:"exactMatch"`
+ FindUsers bool `xml:"findUsers"`
+ FindGroups bool `xml:"findGroups"`
+}
+
+func init() {
+ t["RetrieveUserGroupsRequestType"] = reflect.TypeOf((*RetrieveUserGroupsRequestType)(nil)).Elem()
+}
+
+type RetrieveUserGroupsResponse struct {
+ Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr"`
+}
+
+type RetrieveVStorageObject RetrieveVStorageObjectRequestType
+
+func init() {
+ t["RetrieveVStorageObject"] = reflect.TypeOf((*RetrieveVStorageObject)(nil)).Elem()
+}
+
+type RetrieveVStorageObjectRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["RetrieveVStorageObjectRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectRequestType)(nil)).Elem()
+}
+
+type RetrieveVStorageObjectResponse struct {
+ Returnval VStorageObject `xml:"returnval"`
+}
+
+type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType
+
+func init() {
+ t["RetrieveVStorageObjectState"] = reflect.TypeOf((*RetrieveVStorageObjectState)(nil)).Elem()
+}
+
+type RetrieveVStorageObjectStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id ID `xml:"id"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["RetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectStateRequestType)(nil)).Elem()
+}
+
+type RetrieveVStorageObjectStateResponse struct {
+ Returnval VStorageObjectStateInfo `xml:"returnval"`
+}
+
+type RevertToCurrentSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ SuppressPowerOn *bool `xml:"suppressPowerOn"`
+}
+
+func init() {
+ t["RevertToCurrentSnapshotRequestType"] = reflect.TypeOf((*RevertToCurrentSnapshotRequestType)(nil)).Elem()
+}
+
+type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType
+
+func init() {
+ t["RevertToCurrentSnapshot_Task"] = reflect.TypeOf((*RevertToCurrentSnapshot_Task)(nil)).Elem()
+}
+
+type RevertToCurrentSnapshot_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RevertToSnapshotRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ SuppressPowerOn *bool `xml:"suppressPowerOn"`
+}
+
+func init() {
+ t["RevertToSnapshotRequestType"] = reflect.TypeOf((*RevertToSnapshotRequestType)(nil)).Elem()
+}
+
+type RevertToSnapshot_Task RevertToSnapshotRequestType
+
+func init() {
+ t["RevertToSnapshot_Task"] = reflect.TypeOf((*RevertToSnapshot_Task)(nil)).Elem()
+}
+
+type RevertToSnapshot_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type RewindCollector RewindCollectorRequestType
+
+func init() {
+ t["RewindCollector"] = reflect.TypeOf((*RewindCollector)(nil)).Elem()
+}
+
+type RewindCollectorRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RewindCollectorRequestType"] = reflect.TypeOf((*RewindCollectorRequestType)(nil)).Elem()
+}
+
+type RewindCollectorResponse struct {
+}
+
+type RoleAddedEvent struct {
+ RoleEvent
+
+ PrivilegeList []string `xml:"privilegeList,omitempty"`
+}
+
+func init() {
+ t["RoleAddedEvent"] = reflect.TypeOf((*RoleAddedEvent)(nil)).Elem()
+}
+
+type RoleEvent struct {
+ AuthorizationEvent
+
+ Role RoleEventArgument `xml:"role"`
+}
+
+func init() {
+ t["RoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem()
+}
+
+type RoleEventArgument struct {
+ EventArgument
+
+ RoleId int32 `xml:"roleId"`
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["RoleEventArgument"] = reflect.TypeOf((*RoleEventArgument)(nil)).Elem()
+}
+
+type RoleRemovedEvent struct {
+ RoleEvent
+}
+
+func init() {
+ t["RoleRemovedEvent"] = reflect.TypeOf((*RoleRemovedEvent)(nil)).Elem()
+}
+
+type RoleUpdatedEvent struct {
+ RoleEvent
+
+ PrivilegeList []string `xml:"privilegeList,omitempty"`
+ PrevRoleName string `xml:"prevRoleName,omitempty"`
+ PrivilegesAdded []string `xml:"privilegesAdded,omitempty"`
+ PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty"`
+}
+
+func init() {
+ t["RoleUpdatedEvent"] = reflect.TypeOf((*RoleUpdatedEvent)(nil)).Elem()
+}
+
+type RollbackEvent struct {
+ DvsEvent
+
+ HostName string `xml:"hostName"`
+ MethodName string `xml:"methodName,omitempty"`
+}
+
+func init() {
+ t["RollbackEvent"] = reflect.TypeOf((*RollbackEvent)(nil)).Elem()
+}
+
+type RollbackFailure struct {
+ DvsFault
+
+ EntityName string `xml:"entityName"`
+ EntityType string `xml:"entityType"`
+}
+
+func init() {
+ t["RollbackFailure"] = reflect.TypeOf((*RollbackFailure)(nil)).Elem()
+}
+
+type RollbackFailureFault RollbackFailure
+
+func init() {
+ t["RollbackFailureFault"] = reflect.TypeOf((*RollbackFailureFault)(nil)).Elem()
+}
+
+type RuleViolation struct {
+ VmConfigFault
+
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"`
+}
+
+func init() {
+ t["RuleViolation"] = reflect.TypeOf((*RuleViolation)(nil)).Elem()
+}
+
+type RuleViolationFault RuleViolation
+
+func init() {
+ t["RuleViolationFault"] = reflect.TypeOf((*RuleViolationFault)(nil)).Elem()
+}
+
+type RunScheduledTask RunScheduledTaskRequestType
+
+func init() {
+ t["RunScheduledTask"] = reflect.TypeOf((*RunScheduledTask)(nil)).Elem()
+}
+
+type RunScheduledTaskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["RunScheduledTaskRequestType"] = reflect.TypeOf((*RunScheduledTaskRequestType)(nil)).Elem()
+}
+
+type RunScheduledTaskResponse struct {
+}
+
+type RunScriptAction struct {
+ Action
+
+ Script string `xml:"script"`
+}
+
+func init() {
+ t["RunScriptAction"] = reflect.TypeOf((*RunScriptAction)(nil)).Elem()
+}
+
+type RunVsanPhysicalDiskDiagnostics RunVsanPhysicalDiskDiagnosticsRequestType
+
+func init() {
+ t["RunVsanPhysicalDiskDiagnostics"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnostics)(nil)).Elem()
+}
+
+type RunVsanPhysicalDiskDiagnosticsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Disks []string `xml:"disks,omitempty"`
+}
+
+func init() {
+ t["RunVsanPhysicalDiskDiagnosticsRequestType"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnosticsRequestType)(nil)).Elem()
+}
+
+type RunVsanPhysicalDiskDiagnosticsResponse struct {
+ Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval"`
+}
+
+type RuntimeFault struct {
+ MethodFault
+}
+
+func init() {
+ t["RuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem()
+}
+
+type RuntimeFaultFault BaseRuntimeFault
+
+func init() {
+ t["RuntimeFaultFault"] = reflect.TypeOf((*RuntimeFaultFault)(nil)).Elem()
+}
+
+type SAMLTokenAuthentication struct {
+ GuestAuthentication
+
+ Token string `xml:"token"`
+ Username string `xml:"username,omitempty"`
+}
+
+func init() {
+ t["SAMLTokenAuthentication"] = reflect.TypeOf((*SAMLTokenAuthentication)(nil)).Elem()
+}
+
+type SSLDisabledFault struct {
+ HostConnectFault
+}
+
+func init() {
+ t["SSLDisabledFault"] = reflect.TypeOf((*SSLDisabledFault)(nil)).Elem()
+}
+
+type SSLDisabledFaultFault SSLDisabledFault
+
+func init() {
+ t["SSLDisabledFaultFault"] = reflect.TypeOf((*SSLDisabledFaultFault)(nil)).Elem()
+}
+
+type SSLVerifyFault struct {
+ HostConnectFault
+
+ SelfSigned bool `xml:"selfSigned"`
+ Thumbprint string `xml:"thumbprint"`
+}
+
+func init() {
+ t["SSLVerifyFault"] = reflect.TypeOf((*SSLVerifyFault)(nil)).Elem()
+}
+
+type SSLVerifyFaultFault SSLVerifyFault
+
+func init() {
+ t["SSLVerifyFaultFault"] = reflect.TypeOf((*SSLVerifyFaultFault)(nil)).Elem()
+}
+
+type SSPIAuthentication struct {
+ GuestAuthentication
+
+ SspiToken string `xml:"sspiToken"`
+}
+
+func init() {
+ t["SSPIAuthentication"] = reflect.TypeOf((*SSPIAuthentication)(nil)).Elem()
+}
+
+type SSPIChallenge struct {
+ VimFault
+
+ Base64Token string `xml:"base64Token"`
+}
+
+func init() {
+ t["SSPIChallenge"] = reflect.TypeOf((*SSPIChallenge)(nil)).Elem()
+}
+
+type SSPIChallengeFault SSPIChallenge
+
+func init() {
+ t["SSPIChallengeFault"] = reflect.TypeOf((*SSPIChallengeFault)(nil)).Elem()
+}
+
+type ScanHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Repository HostPatchManagerLocator `xml:"repository"`
+ UpdateID []string `xml:"updateID,omitempty"`
+}
+
+func init() {
+ t["ScanHostPatchRequestType"] = reflect.TypeOf((*ScanHostPatchRequestType)(nil)).Elem()
+}
+
+type ScanHostPatchV2RequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MetaUrls []string `xml:"metaUrls,omitempty"`
+ BundleUrls []string `xml:"bundleUrls,omitempty"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["ScanHostPatchV2RequestType"] = reflect.TypeOf((*ScanHostPatchV2RequestType)(nil)).Elem()
+}
+
+type ScanHostPatchV2_Task ScanHostPatchV2RequestType
+
+func init() {
+ t["ScanHostPatchV2_Task"] = reflect.TypeOf((*ScanHostPatchV2_Task)(nil)).Elem()
+}
+
+type ScanHostPatchV2_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ScanHostPatch_Task ScanHostPatchRequestType
+
+func init() {
+ t["ScanHostPatch_Task"] = reflect.TypeOf((*ScanHostPatch_Task)(nil)).Elem()
+}
+
+type ScanHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType
+
+func init() {
+ t["ScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventory)(nil)).Elem()
+}
+
+type ScheduleReconcileDatastoreInventoryRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["ScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
+}
+
+type ScheduleReconcileDatastoreInventoryResponse struct {
+}
+
+type ScheduledHardwareUpgradeInfo struct {
+ DynamicData
+
+ UpgradePolicy string `xml:"upgradePolicy,omitempty"`
+ VersionKey string `xml:"versionKey,omitempty"`
+ ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["ScheduledHardwareUpgradeInfo"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfo)(nil)).Elem()
+}
+
+type ScheduledTaskCompletedEvent struct {
+ ScheduledTaskEvent
+}
+
+func init() {
+ t["ScheduledTaskCompletedEvent"] = reflect.TypeOf((*ScheduledTaskCompletedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskCreatedEvent struct {
+ ScheduledTaskEvent
+}
+
+func init() {
+ t["ScheduledTaskCreatedEvent"] = reflect.TypeOf((*ScheduledTaskCreatedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskDescription struct {
+ DynamicData
+
+ Action []BaseTypeDescription `xml:"action,typeattr"`
+ SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo"`
+ State []BaseElementDescription `xml:"state,typeattr"`
+ DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr"`
+ WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr"`
+}
+
+func init() {
+ t["ScheduledTaskDescription"] = reflect.TypeOf((*ScheduledTaskDescription)(nil)).Elem()
+}
+
+type ScheduledTaskDetail struct {
+ TypeDescription
+
+ Frequency string `xml:"frequency"`
+}
+
+func init() {
+ t["ScheduledTaskDetail"] = reflect.TypeOf((*ScheduledTaskDetail)(nil)).Elem()
+}
+
+type ScheduledTaskEmailCompletedEvent struct {
+ ScheduledTaskEvent
+
+ To string `xml:"to"`
+}
+
+func init() {
+ t["ScheduledTaskEmailCompletedEvent"] = reflect.TypeOf((*ScheduledTaskEmailCompletedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskEmailFailedEvent struct {
+ ScheduledTaskEvent
+
+ To string `xml:"to"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["ScheduledTaskEmailFailedEvent"] = reflect.TypeOf((*ScheduledTaskEmailFailedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskEvent struct {
+ Event
+
+ ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask"`
+ Entity ManagedEntityEventArgument `xml:"entity"`
+}
+
+func init() {
+ t["ScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem()
+}
+
+type ScheduledTaskEventArgument struct {
+ EntityEventArgument
+
+ ScheduledTask ManagedObjectReference `xml:"scheduledTask"`
+}
+
+func init() {
+ t["ScheduledTaskEventArgument"] = reflect.TypeOf((*ScheduledTaskEventArgument)(nil)).Elem()
+}
+
+type ScheduledTaskFailedEvent struct {
+ ScheduledTaskEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["ScheduledTaskFailedEvent"] = reflect.TypeOf((*ScheduledTaskFailedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskInfo struct {
+ ScheduledTaskSpec
+
+ ScheduledTask ManagedObjectReference `xml:"scheduledTask"`
+ Entity ManagedObjectReference `xml:"entity"`
+ LastModifiedTime time.Time `xml:"lastModifiedTime"`
+ LastModifiedUser string `xml:"lastModifiedUser"`
+ NextRunTime *time.Time `xml:"nextRunTime"`
+ PrevRunTime *time.Time `xml:"prevRunTime"`
+ State TaskInfoState `xml:"state"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+ Result AnyType `xml:"result,omitempty,typeattr"`
+ Progress int32 `xml:"progress,omitempty"`
+ ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty"`
+ TaskObject *ManagedObjectReference `xml:"taskObject,omitempty"`
+}
+
+func init() {
+ t["ScheduledTaskInfo"] = reflect.TypeOf((*ScheduledTaskInfo)(nil)).Elem()
+}
+
+type ScheduledTaskReconfiguredEvent struct {
+ ScheduledTaskEvent
+
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["ScheduledTaskReconfiguredEvent"] = reflect.TypeOf((*ScheduledTaskReconfiguredEvent)(nil)).Elem()
+}
+
+type ScheduledTaskRemovedEvent struct {
+ ScheduledTaskEvent
+}
+
+func init() {
+ t["ScheduledTaskRemovedEvent"] = reflect.TypeOf((*ScheduledTaskRemovedEvent)(nil)).Elem()
+}
+
+type ScheduledTaskSpec struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Description string `xml:"description"`
+ Enabled bool `xml:"enabled"`
+ Scheduler BaseTaskScheduler `xml:"scheduler,typeattr"`
+ Action BaseAction `xml:"action,typeattr"`
+ Notification string `xml:"notification,omitempty"`
+}
+
+func init() {
+ t["ScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem()
+}
+
+type ScheduledTaskStartedEvent struct {
+ ScheduledTaskEvent
+}
+
+func init() {
+ t["ScheduledTaskStartedEvent"] = reflect.TypeOf((*ScheduledTaskStartedEvent)(nil)).Elem()
+}
+
+type ScsiLun struct {
+ HostDevice
+
+ Key string `xml:"key,omitempty"`
+ Uuid string `xml:"uuid"`
+ Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty"`
+ CanonicalName string `xml:"canonicalName,omitempty"`
+ DisplayName string `xml:"displayName,omitempty"`
+ LunType string `xml:"lunType"`
+ Vendor string `xml:"vendor,omitempty"`
+ Model string `xml:"model,omitempty"`
+ Revision string `xml:"revision,omitempty"`
+ ScsiLevel int32 `xml:"scsiLevel,omitempty"`
+ SerialNumber string `xml:"serialNumber,omitempty"`
+ DurableName *ScsiLunDurableName `xml:"durableName,omitempty"`
+ AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty"`
+ StandardInquiry []byte `xml:"standardInquiry,omitempty"`
+ QueueDepth int32 `xml:"queueDepth,omitempty"`
+ OperationalState []string `xml:"operationalState"`
+ Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty"`
+ VStorageSupport string `xml:"vStorageSupport,omitempty"`
+ ProtocolEndpoint *bool `xml:"protocolEndpoint"`
+}
+
+func init() {
+ t["ScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem()
+}
+
+type ScsiLunCapabilities struct {
+ DynamicData
+
+ UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported"`
+}
+
+func init() {
+ t["ScsiLunCapabilities"] = reflect.TypeOf((*ScsiLunCapabilities)(nil)).Elem()
+}
+
+type ScsiLunDescriptor struct {
+ DynamicData
+
+ Quality string `xml:"quality"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["ScsiLunDescriptor"] = reflect.TypeOf((*ScsiLunDescriptor)(nil)).Elem()
+}
+
+type ScsiLunDurableName struct {
+ DynamicData
+
+ Namespace string `xml:"namespace"`
+ NamespaceId byte `xml:"namespaceId"`
+ Data []byte `xml:"data,omitempty"`
+}
+
+func init() {
+ t["ScsiLunDurableName"] = reflect.TypeOf((*ScsiLunDurableName)(nil)).Elem()
+}
+
+type SeSparseVirtualDiskSpec struct {
+ FileBackedVirtualDiskSpec
+
+ GrainSizeKb int32 `xml:"grainSizeKb,omitempty"`
+}
+
+func init() {
+ t["SeSparseVirtualDiskSpec"] = reflect.TypeOf((*SeSparseVirtualDiskSpec)(nil)).Elem()
+}
+
+type SearchDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DatastorePath string `xml:"datastorePath"`
+ SearchSpec *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty"`
+}
+
+func init() {
+ t["SearchDatastoreRequestType"] = reflect.TypeOf((*SearchDatastoreRequestType)(nil)).Elem()
+}
+
+type SearchDatastoreSubFoldersRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DatastorePath string `xml:"datastorePath"`
+ SearchSpec *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty"`
+}
+
+func init() {
+ t["SearchDatastoreSubFoldersRequestType"] = reflect.TypeOf((*SearchDatastoreSubFoldersRequestType)(nil)).Elem()
+}
+
+type SearchDatastoreSubFolders_Task SearchDatastoreSubFoldersRequestType
+
+func init() {
+ t["SearchDatastoreSubFolders_Task"] = reflect.TypeOf((*SearchDatastoreSubFolders_Task)(nil)).Elem()
+}
+
+type SearchDatastoreSubFolders_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type SearchDatastore_Task SearchDatastoreRequestType
+
+func init() {
+ t["SearchDatastore_Task"] = reflect.TypeOf((*SearchDatastore_Task)(nil)).Elem()
+}
+
+type SearchDatastore_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type SecondaryVmAlreadyDisabled struct {
+ VmFaultToleranceIssue
+
+ InstanceUuid string `xml:"instanceUuid"`
+}
+
+func init() {
+ t["SecondaryVmAlreadyDisabled"] = reflect.TypeOf((*SecondaryVmAlreadyDisabled)(nil)).Elem()
+}
+
+type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled
+
+func init() {
+ t["SecondaryVmAlreadyDisabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyDisabledFault)(nil)).Elem()
+}
+
+type SecondaryVmAlreadyEnabled struct {
+ VmFaultToleranceIssue
+
+ InstanceUuid string `xml:"instanceUuid"`
+}
+
+func init() {
+ t["SecondaryVmAlreadyEnabled"] = reflect.TypeOf((*SecondaryVmAlreadyEnabled)(nil)).Elem()
+}
+
+type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled
+
+func init() {
+ t["SecondaryVmAlreadyEnabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyEnabledFault)(nil)).Elem()
+}
+
+type SecondaryVmAlreadyRegistered struct {
+ VmFaultToleranceIssue
+
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+}
+
+func init() {
+ t["SecondaryVmAlreadyRegistered"] = reflect.TypeOf((*SecondaryVmAlreadyRegistered)(nil)).Elem()
+}
+
+type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered
+
+func init() {
+ t["SecondaryVmAlreadyRegisteredFault"] = reflect.TypeOf((*SecondaryVmAlreadyRegisteredFault)(nil)).Elem()
+}
+
+type SecondaryVmNotRegistered struct {
+ VmFaultToleranceIssue
+
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+}
+
+func init() {
+ t["SecondaryVmNotRegistered"] = reflect.TypeOf((*SecondaryVmNotRegistered)(nil)).Elem()
+}
+
+type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered
+
+func init() {
+ t["SecondaryVmNotRegisteredFault"] = reflect.TypeOf((*SecondaryVmNotRegisteredFault)(nil)).Elem()
+}
+
+type SecurityError struct {
+ RuntimeFault
+}
+
+func init() {
+ t["SecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem()
+}
+
+type SecurityErrorFault BaseSecurityError
+
+func init() {
+ t["SecurityErrorFault"] = reflect.TypeOf((*SecurityErrorFault)(nil)).Elem()
+}
+
+type SecurityProfile struct {
+ ApplyProfile
+
+ Permission []PermissionProfile `xml:"permission,omitempty"`
+}
+
+func init() {
+ t["SecurityProfile"] = reflect.TypeOf((*SecurityProfile)(nil)).Elem()
+}
+
+type SelectActivePartition SelectActivePartitionRequestType
+
+func init() {
+ t["SelectActivePartition"] = reflect.TypeOf((*SelectActivePartition)(nil)).Elem()
+}
+
+type SelectActivePartitionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Partition *HostScsiDiskPartition `xml:"partition,omitempty"`
+}
+
+func init() {
+ t["SelectActivePartitionRequestType"] = reflect.TypeOf((*SelectActivePartitionRequestType)(nil)).Elem()
+}
+
+type SelectActivePartitionResponse struct {
+}
+
+type SelectVnic SelectVnicRequestType
+
+func init() {
+ t["SelectVnic"] = reflect.TypeOf((*SelectVnic)(nil)).Elem()
+}
+
+type SelectVnicForNicType SelectVnicForNicTypeRequestType
+
+func init() {
+ t["SelectVnicForNicType"] = reflect.TypeOf((*SelectVnicForNicType)(nil)).Elem()
+}
+
+type SelectVnicForNicTypeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NicType string `xml:"nicType"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["SelectVnicForNicTypeRequestType"] = reflect.TypeOf((*SelectVnicForNicTypeRequestType)(nil)).Elem()
+}
+
+type SelectVnicForNicTypeResponse struct {
+}
+
+type SelectVnicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["SelectVnicRequestType"] = reflect.TypeOf((*SelectVnicRequestType)(nil)).Elem()
+}
+
+type SelectVnicResponse struct {
+}
+
+type SelectionSet struct {
+ DynamicData
+}
+
+func init() {
+ t["SelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem()
+}
+
+type SelectionSpec struct {
+ DynamicData
+
+ Name string `xml:"name,omitempty"`
+}
+
+func init() {
+ t["SelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem()
+}
+
+type SendEmailAction struct {
+ Action
+
+ ToList string `xml:"toList"`
+ CcList string `xml:"ccList"`
+ Subject string `xml:"subject"`
+ Body string `xml:"body"`
+}
+
+func init() {
+ t["SendEmailAction"] = reflect.TypeOf((*SendEmailAction)(nil)).Elem()
+}
+
+type SendNMI SendNMIRequestType
+
+func init() {
+ t["SendNMI"] = reflect.TypeOf((*SendNMI)(nil)).Elem()
+}
+
+type SendNMIRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["SendNMIRequestType"] = reflect.TypeOf((*SendNMIRequestType)(nil)).Elem()
+}
+
+type SendNMIResponse struct {
+}
+
+type SendSNMPAction struct {
+ Action
+}
+
+func init() {
+ t["SendSNMPAction"] = reflect.TypeOf((*SendSNMPAction)(nil)).Elem()
+}
+
+type SendTestNotification SendTestNotificationRequestType
+
+func init() {
+ t["SendTestNotification"] = reflect.TypeOf((*SendTestNotification)(nil)).Elem()
+}
+
+type SendTestNotificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["SendTestNotificationRequestType"] = reflect.TypeOf((*SendTestNotificationRequestType)(nil)).Elem()
+}
+
+type SendTestNotificationResponse struct {
+}
+
+type ServerLicenseExpiredEvent struct {
+ LicenseEvent
+
+ Product string `xml:"product"`
+}
+
+func init() {
+ t["ServerLicenseExpiredEvent"] = reflect.TypeOf((*ServerLicenseExpiredEvent)(nil)).Elem()
+}
+
+type ServerStartedSessionEvent struct {
+ SessionEvent
+}
+
+func init() {
+ t["ServerStartedSessionEvent"] = reflect.TypeOf((*ServerStartedSessionEvent)(nil)).Elem()
+}
+
+type ServiceConsolePortGroupProfile struct {
+ PortGroupProfile
+
+ IpConfig IpAddressProfile `xml:"ipConfig"`
+}
+
+func init() {
+ t["ServiceConsolePortGroupProfile"] = reflect.TypeOf((*ServiceConsolePortGroupProfile)(nil)).Elem()
+}
+
+type ServiceConsoleReservationInfo struct {
+ DynamicData
+
+ ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg"`
+ ServiceConsoleReserved int64 `xml:"serviceConsoleReserved"`
+ Unreserved int64 `xml:"unreserved"`
+}
+
+func init() {
+ t["ServiceConsoleReservationInfo"] = reflect.TypeOf((*ServiceConsoleReservationInfo)(nil)).Elem()
+}
+
+type ServiceContent struct {
+ DynamicData
+
+ RootFolder ManagedObjectReference `xml:"rootFolder"`
+ PropertyCollector ManagedObjectReference `xml:"propertyCollector"`
+ ViewManager *ManagedObjectReference `xml:"viewManager,omitempty"`
+ About AboutInfo `xml:"about"`
+ Setting *ManagedObjectReference `xml:"setting,omitempty"`
+ UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty"`
+ SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty"`
+ AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty"`
+ ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty"`
+ PerfManager *ManagedObjectReference `xml:"perfManager,omitempty"`
+ ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty"`
+ AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty"`
+ EventManager *ManagedObjectReference `xml:"eventManager,omitempty"`
+ TaskManager *ManagedObjectReference `xml:"taskManager,omitempty"`
+ ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty"`
+ CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty"`
+ CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty"`
+ AccountManager *ManagedObjectReference `xml:"accountManager,omitempty"`
+ DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty"`
+ LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty"`
+ SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty"`
+ FileManager *ManagedObjectReference `xml:"fileManager,omitempty"`
+ DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty"`
+ VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty"`
+ VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty"`
+ SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty"`
+ VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty"`
+ VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty"`
+ OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty"`
+ IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty"`
+ DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty"`
+ HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty"`
+ ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty"`
+ ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty"`
+ LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty"`
+ StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty"`
+ GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty"`
+ OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty"`
+ CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty"`
+ IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty"`
+ VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty"`
+ HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty"`
+ CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty"`
+ HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty"`
+ FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty"`
+ FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty"`
+}
+
+func init() {
+ t["ServiceContent"] = reflect.TypeOf((*ServiceContent)(nil)).Elem()
+}
+
+type ServiceLocator struct {
+ DynamicData
+
+ InstanceUuid string `xml:"instanceUuid"`
+ Url string `xml:"url"`
+ Credential BaseServiceLocatorCredential `xml:"credential,typeattr"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+}
+
+func init() {
+ t["ServiceLocator"] = reflect.TypeOf((*ServiceLocator)(nil)).Elem()
+}
+
+type ServiceLocatorCredential struct {
+ DynamicData
+}
+
+func init() {
+ t["ServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem()
+}
+
+type ServiceLocatorNamePassword struct {
+ ServiceLocatorCredential
+
+ Username string `xml:"username"`
+ Password string `xml:"password"`
+}
+
+func init() {
+ t["ServiceLocatorNamePassword"] = reflect.TypeOf((*ServiceLocatorNamePassword)(nil)).Elem()
+}
+
+type ServiceLocatorSAMLCredential struct {
+ ServiceLocatorCredential
+
+ Token string `xml:"token,omitempty"`
+}
+
+func init() {
+ t["ServiceLocatorSAMLCredential"] = reflect.TypeOf((*ServiceLocatorSAMLCredential)(nil)).Elem()
+}
+
+type ServiceManagerServiceInfo struct {
+ DynamicData
+
+ ServiceName string `xml:"serviceName"`
+ Location []string `xml:"location,omitempty"`
+ Service ManagedObjectReference `xml:"service"`
+ Description string `xml:"description"`
+}
+
+func init() {
+ t["ServiceManagerServiceInfo"] = reflect.TypeOf((*ServiceManagerServiceInfo)(nil)).Elem()
+}
+
+type ServiceProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["ServiceProfile"] = reflect.TypeOf((*ServiceProfile)(nil)).Elem()
+}
+
+type SessionEvent struct {
+ Event
+}
+
+func init() {
+ t["SessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem()
+}
+
+type SessionIsActive SessionIsActiveRequestType
+
+func init() {
+ t["SessionIsActive"] = reflect.TypeOf((*SessionIsActive)(nil)).Elem()
+}
+
+type SessionIsActiveRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SessionID string `xml:"sessionID"`
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["SessionIsActiveRequestType"] = reflect.TypeOf((*SessionIsActiveRequestType)(nil)).Elem()
+}
+
+type SessionIsActiveResponse struct {
+ Returnval bool `xml:"returnval"`
+}
+
+type SessionManagerGenericServiceTicket struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ HostName string `xml:"hostName,omitempty"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+}
+
+func init() {
+ t["SessionManagerGenericServiceTicket"] = reflect.TypeOf((*SessionManagerGenericServiceTicket)(nil)).Elem()
+}
+
+type SessionManagerHttpServiceRequestSpec struct {
+ SessionManagerServiceRequestSpec
+
+ Method string `xml:"method,omitempty"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["SessionManagerHttpServiceRequestSpec"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpec)(nil)).Elem()
+}
+
+type SessionManagerLocalTicket struct {
+ DynamicData
+
+ UserName string `xml:"userName"`
+ PasswordFilePath string `xml:"passwordFilePath"`
+}
+
+func init() {
+ t["SessionManagerLocalTicket"] = reflect.TypeOf((*SessionManagerLocalTicket)(nil)).Elem()
+}
+
+type SessionManagerServiceRequestSpec struct {
+ DynamicData
+}
+
+func init() {
+ t["SessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem()
+}
+
+type SessionManagerVmomiServiceRequestSpec struct {
+ SessionManagerServiceRequestSpec
+
+ Method string `xml:"method"`
+}
+
+func init() {
+ t["SessionManagerVmomiServiceRequestSpec"] = reflect.TypeOf((*SessionManagerVmomiServiceRequestSpec)(nil)).Elem()
+}
+
+type SessionTerminatedEvent struct {
+ SessionEvent
+
+ SessionId string `xml:"sessionId"`
+ TerminatedUsername string `xml:"terminatedUsername"`
+}
+
+func init() {
+ t["SessionTerminatedEvent"] = reflect.TypeOf((*SessionTerminatedEvent)(nil)).Elem()
+}
+
+type SetCollectorPageSize SetCollectorPageSizeRequestType
+
+func init() {
+ t["SetCollectorPageSize"] = reflect.TypeOf((*SetCollectorPageSize)(nil)).Elem()
+}
+
+type SetCollectorPageSizeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MaxCount int32 `xml:"maxCount"`
+}
+
+func init() {
+ t["SetCollectorPageSizeRequestType"] = reflect.TypeOf((*SetCollectorPageSizeRequestType)(nil)).Elem()
+}
+
+type SetCollectorPageSizeResponse struct {
+}
+
+type SetDisplayTopology SetDisplayTopologyRequestType
+
+func init() {
+ t["SetDisplayTopology"] = reflect.TypeOf((*SetDisplayTopology)(nil)).Elem()
+}
+
+type SetDisplayTopologyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Displays []VirtualMachineDisplayTopology `xml:"displays"`
+}
+
+func init() {
+ t["SetDisplayTopologyRequestType"] = reflect.TypeOf((*SetDisplayTopologyRequestType)(nil)).Elem()
+}
+
+type SetDisplayTopologyResponse struct {
+}
+
+type SetEntityPermissions SetEntityPermissionsRequestType
+
+func init() {
+ t["SetEntityPermissions"] = reflect.TypeOf((*SetEntityPermissions)(nil)).Elem()
+}
+
+type SetEntityPermissionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Permission []Permission `xml:"permission,omitempty"`
+}
+
+func init() {
+ t["SetEntityPermissionsRequestType"] = reflect.TypeOf((*SetEntityPermissionsRequestType)(nil)).Elem()
+}
+
+type SetEntityPermissionsResponse struct {
+}
+
+type SetExtensionCertificate SetExtensionCertificateRequestType
+
+func init() {
+ t["SetExtensionCertificate"] = reflect.TypeOf((*SetExtensionCertificate)(nil)).Elem()
+}
+
+type SetExtensionCertificateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+ CertificatePem string `xml:"certificatePem,omitempty"`
+}
+
+func init() {
+ t["SetExtensionCertificateRequestType"] = reflect.TypeOf((*SetExtensionCertificateRequestType)(nil)).Elem()
+}
+
+type SetExtensionCertificateResponse struct {
+}
+
+type SetField SetFieldRequestType
+
+func init() {
+ t["SetField"] = reflect.TypeOf((*SetField)(nil)).Elem()
+}
+
+type SetFieldRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity ManagedObjectReference `xml:"entity"`
+ Key int32 `xml:"key"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["SetFieldRequestType"] = reflect.TypeOf((*SetFieldRequestType)(nil)).Elem()
+}
+
+type SetFieldResponse struct {
+}
+
+type SetLicenseEdition SetLicenseEditionRequestType
+
+func init() {
+ t["SetLicenseEdition"] = reflect.TypeOf((*SetLicenseEdition)(nil)).Elem()
+}
+
+type SetLicenseEditionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ FeatureKey string `xml:"featureKey,omitempty"`
+}
+
+func init() {
+ t["SetLicenseEditionRequestType"] = reflect.TypeOf((*SetLicenseEditionRequestType)(nil)).Elem()
+}
+
+type SetLicenseEditionResponse struct {
+}
+
+type SetLocale SetLocaleRequestType
+
+func init() {
+ t["SetLocale"] = reflect.TypeOf((*SetLocale)(nil)).Elem()
+}
+
+type SetLocaleRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Locale string `xml:"locale"`
+}
+
+func init() {
+ t["SetLocaleRequestType"] = reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem()
+}
+
+type SetLocaleResponse struct {
+}
+
+type SetMultipathLunPolicy SetMultipathLunPolicyRequestType
+
+func init() {
+ t["SetMultipathLunPolicy"] = reflect.TypeOf((*SetMultipathLunPolicy)(nil)).Elem()
+}
+
+type SetMultipathLunPolicyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunId string `xml:"lunId"`
+ Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr"`
+}
+
+func init() {
+ t["SetMultipathLunPolicyRequestType"] = reflect.TypeOf((*SetMultipathLunPolicyRequestType)(nil)).Elem()
+}
+
+type SetMultipathLunPolicyResponse struct {
+}
+
+type SetNFSUser SetNFSUserRequestType
+
+func init() {
+ t["SetNFSUser"] = reflect.TypeOf((*SetNFSUser)(nil)).Elem()
+}
+
+type SetNFSUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ User string `xml:"user"`
+ Password string `xml:"password"`
+}
+
+func init() {
+ t["SetNFSUserRequestType"] = reflect.TypeOf((*SetNFSUserRequestType)(nil)).Elem()
+}
+
+type SetNFSUserResponse struct {
+}
+
+type SetPublicKey SetPublicKeyRequestType
+
+func init() {
+ t["SetPublicKey"] = reflect.TypeOf((*SetPublicKey)(nil)).Elem()
+}
+
+type SetPublicKeyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+ PublicKey string `xml:"publicKey"`
+}
+
+func init() {
+ t["SetPublicKeyRequestType"] = reflect.TypeOf((*SetPublicKeyRequestType)(nil)).Elem()
+}
+
+type SetPublicKeyResponse struct {
+}
+
+type SetRegistryValueInGuest SetRegistryValueInGuestRequestType
+
+func init() {
+ t["SetRegistryValueInGuest"] = reflect.TypeOf((*SetRegistryValueInGuest)(nil)).Elem()
+}
+
+type SetRegistryValueInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Value GuestRegValueSpec `xml:"value"`
+}
+
+func init() {
+ t["SetRegistryValueInGuestRequestType"] = reflect.TypeOf((*SetRegistryValueInGuestRequestType)(nil)).Elem()
+}
+
+type SetRegistryValueInGuestResponse struct {
+}
+
+type SetScreenResolution SetScreenResolutionRequestType
+
+func init() {
+ t["SetScreenResolution"] = reflect.TypeOf((*SetScreenResolution)(nil)).Elem()
+}
+
+type SetScreenResolutionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Width int32 `xml:"width"`
+ Height int32 `xml:"height"`
+}
+
+func init() {
+ t["SetScreenResolutionRequestType"] = reflect.TypeOf((*SetScreenResolutionRequestType)(nil)).Elem()
+}
+
+type SetScreenResolutionResponse struct {
+}
+
+type SetTaskDescription SetTaskDescriptionRequestType
+
+func init() {
+ t["SetTaskDescription"] = reflect.TypeOf((*SetTaskDescription)(nil)).Elem()
+}
+
+type SetTaskDescriptionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Description LocalizableMessage `xml:"description"`
+}
+
+func init() {
+ t["SetTaskDescriptionRequestType"] = reflect.TypeOf((*SetTaskDescriptionRequestType)(nil)).Elem()
+}
+
+type SetTaskDescriptionResponse struct {
+}
+
+type SetTaskState SetTaskStateRequestType
+
+func init() {
+ t["SetTaskState"] = reflect.TypeOf((*SetTaskState)(nil)).Elem()
+}
+
+type SetTaskStateRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ State TaskInfoState `xml:"state"`
+ Result AnyType `xml:"result,omitempty,typeattr"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["SetTaskStateRequestType"] = reflect.TypeOf((*SetTaskStateRequestType)(nil)).Elem()
+}
+
+type SetTaskStateResponse struct {
+}
+
+type SetVirtualDiskUuid SetVirtualDiskUuidRequestType
+
+func init() {
+ t["SetVirtualDiskUuid"] = reflect.TypeOf((*SetVirtualDiskUuid)(nil)).Elem()
+}
+
+type SetVirtualDiskUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["SetVirtualDiskUuidRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidRequestType)(nil)).Elem()
+}
+
+type SetVirtualDiskUuidResponse struct {
+}
+
+type SharedBusControllerNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["SharedBusControllerNotSupported"] = reflect.TypeOf((*SharedBusControllerNotSupported)(nil)).Elem()
+}
+
+type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported
+
+func init() {
+ t["SharedBusControllerNotSupportedFault"] = reflect.TypeOf((*SharedBusControllerNotSupportedFault)(nil)).Elem()
+}
+
+type SharesInfo struct {
+ DynamicData
+
+ Shares int32 `xml:"shares"`
+ Level SharesLevel `xml:"level"`
+}
+
+func init() {
+ t["SharesInfo"] = reflect.TypeOf((*SharesInfo)(nil)).Elem()
+}
+
+type SharesOption struct {
+ DynamicData
+
+ SharesOption IntOption `xml:"sharesOption"`
+ DefaultLevel SharesLevel `xml:"defaultLevel"`
+}
+
+func init() {
+ t["SharesOption"] = reflect.TypeOf((*SharesOption)(nil)).Elem()
+}
+
+type ShrinkDiskFault struct {
+ VimFault
+
+ DiskId int32 `xml:"diskId,omitempty"`
+}
+
+func init() {
+ t["ShrinkDiskFault"] = reflect.TypeOf((*ShrinkDiskFault)(nil)).Elem()
+}
+
+type ShrinkDiskFaultFault ShrinkDiskFault
+
+func init() {
+ t["ShrinkDiskFaultFault"] = reflect.TypeOf((*ShrinkDiskFaultFault)(nil)).Elem()
+}
+
+type ShrinkVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+ Copy *bool `xml:"copy"`
+}
+
+func init() {
+ t["ShrinkVirtualDiskRequestType"] = reflect.TypeOf((*ShrinkVirtualDiskRequestType)(nil)).Elem()
+}
+
+type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType
+
+func init() {
+ t["ShrinkVirtualDisk_Task"] = reflect.TypeOf((*ShrinkVirtualDisk_Task)(nil)).Elem()
+}
+
+type ShrinkVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type ShutdownGuest ShutdownGuestRequestType
+
+func init() {
+ t["ShutdownGuest"] = reflect.TypeOf((*ShutdownGuest)(nil)).Elem()
+}
+
+type ShutdownGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["ShutdownGuestRequestType"] = reflect.TypeOf((*ShutdownGuestRequestType)(nil)).Elem()
+}
+
+type ShutdownGuestResponse struct {
+}
+
+type ShutdownHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["ShutdownHostRequestType"] = reflect.TypeOf((*ShutdownHostRequestType)(nil)).Elem()
+}
+
+type ShutdownHost_Task ShutdownHostRequestType
+
+func init() {
+ t["ShutdownHost_Task"] = reflect.TypeOf((*ShutdownHost_Task)(nil)).Elem()
+}
+
+type ShutdownHost_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type SingleIp struct {
+ IpAddress
+
+ Address string `xml:"address"`
+}
+
+func init() {
+ t["SingleIp"] = reflect.TypeOf((*SingleIp)(nil)).Elem()
+}
+
+type SingleMac struct {
+ MacAddress
+
+ Address string `xml:"address"`
+}
+
+func init() {
+ t["SingleMac"] = reflect.TypeOf((*SingleMac)(nil)).Elem()
+}
+
+type SnapshotCloneNotSupported struct {
+ SnapshotCopyNotSupported
+}
+
+func init() {
+ t["SnapshotCloneNotSupported"] = reflect.TypeOf((*SnapshotCloneNotSupported)(nil)).Elem()
+}
+
+type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported
+
+func init() {
+ t["SnapshotCloneNotSupportedFault"] = reflect.TypeOf((*SnapshotCloneNotSupportedFault)(nil)).Elem()
+}
+
+type SnapshotCopyNotSupported struct {
+ MigrationFault
+}
+
+func init() {
+ t["SnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem()
+}
+
+type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported
+
+func init() {
+ t["SnapshotCopyNotSupportedFault"] = reflect.TypeOf((*SnapshotCopyNotSupportedFault)(nil)).Elem()
+}
+
+type SnapshotDisabled struct {
+ SnapshotFault
+}
+
+func init() {
+ t["SnapshotDisabled"] = reflect.TypeOf((*SnapshotDisabled)(nil)).Elem()
+}
+
+type SnapshotDisabledFault SnapshotDisabled
+
+func init() {
+ t["SnapshotDisabledFault"] = reflect.TypeOf((*SnapshotDisabledFault)(nil)).Elem()
+}
+
+type SnapshotFault struct {
+ VimFault
+}
+
+func init() {
+ t["SnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem()
+}
+
+type SnapshotFaultFault BaseSnapshotFault
+
+func init() {
+ t["SnapshotFaultFault"] = reflect.TypeOf((*SnapshotFaultFault)(nil)).Elem()
+}
+
+type SnapshotIncompatibleDeviceInVm struct {
+ SnapshotFault
+
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["SnapshotIncompatibleDeviceInVm"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVm)(nil)).Elem()
+}
+
+type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm
+
+func init() {
+ t["SnapshotIncompatibleDeviceInVmFault"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVmFault)(nil)).Elem()
+}
+
+type SnapshotLocked struct {
+ SnapshotFault
+}
+
+func init() {
+ t["SnapshotLocked"] = reflect.TypeOf((*SnapshotLocked)(nil)).Elem()
+}
+
+type SnapshotLockedFault SnapshotLocked
+
+func init() {
+ t["SnapshotLockedFault"] = reflect.TypeOf((*SnapshotLockedFault)(nil)).Elem()
+}
+
+type SnapshotMoveFromNonHomeNotSupported struct {
+ SnapshotCopyNotSupported
+}
+
+func init() {
+ t["SnapshotMoveFromNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupported)(nil)).Elem()
+}
+
+type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported
+
+func init() {
+ t["SnapshotMoveFromNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupportedFault)(nil)).Elem()
+}
+
+type SnapshotMoveNotSupported struct {
+ SnapshotCopyNotSupported
+}
+
+func init() {
+ t["SnapshotMoveNotSupported"] = reflect.TypeOf((*SnapshotMoveNotSupported)(nil)).Elem()
+}
+
+type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported
+
+func init() {
+ t["SnapshotMoveNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveNotSupportedFault)(nil)).Elem()
+}
+
+type SnapshotMoveToNonHomeNotSupported struct {
+ SnapshotCopyNotSupported
+}
+
+func init() {
+ t["SnapshotMoveToNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupported)(nil)).Elem()
+}
+
+type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported
+
+func init() {
+ t["SnapshotMoveToNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupportedFault)(nil)).Elem()
+}
+
+type SnapshotNoChange struct {
+ SnapshotFault
+}
+
+func init() {
+ t["SnapshotNoChange"] = reflect.TypeOf((*SnapshotNoChange)(nil)).Elem()
+}
+
+type SnapshotNoChangeFault SnapshotNoChange
+
+func init() {
+ t["SnapshotNoChangeFault"] = reflect.TypeOf((*SnapshotNoChangeFault)(nil)).Elem()
+}
+
+type SnapshotRevertIssue struct {
+ MigrationFault
+
+ SnapshotName string `xml:"snapshotName,omitempty"`
+ Event []BaseEvent `xml:"event,omitempty,typeattr"`
+ Errors bool `xml:"errors"`
+}
+
+func init() {
+ t["SnapshotRevertIssue"] = reflect.TypeOf((*SnapshotRevertIssue)(nil)).Elem()
+}
+
+type SnapshotRevertIssueFault SnapshotRevertIssue
+
+func init() {
+ t["SnapshotRevertIssueFault"] = reflect.TypeOf((*SnapshotRevertIssueFault)(nil)).Elem()
+}
+
+type SoftRuleVioCorrectionDisallowed struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["SoftRuleVioCorrectionDisallowed"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowed)(nil)).Elem()
+}
+
+type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed
+
+func init() {
+ t["SoftRuleVioCorrectionDisallowedFault"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowedFault)(nil)).Elem()
+}
+
+type SoftRuleVioCorrectionImpact struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+}
+
+func init() {
+ t["SoftRuleVioCorrectionImpact"] = reflect.TypeOf((*SoftRuleVioCorrectionImpact)(nil)).Elem()
+}
+
+type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact
+
+func init() {
+ t["SoftRuleVioCorrectionImpactFault"] = reflect.TypeOf((*SoftRuleVioCorrectionImpactFault)(nil)).Elem()
+}
+
+type SoftwarePackage struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Version string `xml:"version"`
+ Type string `xml:"type"`
+ Vendor string `xml:"vendor"`
+ AcceptanceLevel string `xml:"acceptanceLevel"`
+ Summary string `xml:"summary"`
+ Description string `xml:"description"`
+ ReferenceURL []string `xml:"referenceURL,omitempty"`
+ CreationDate *time.Time `xml:"creationDate"`
+ Depends []Relation `xml:"depends,omitempty"`
+ Conflicts []Relation `xml:"conflicts,omitempty"`
+ Replaces []Relation `xml:"replaces,omitempty"`
+ Provides []string `xml:"provides,omitempty"`
+ MaintenanceModeRequired *bool `xml:"maintenanceModeRequired"`
+ HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty"`
+ Capability SoftwarePackageCapability `xml:"capability"`
+ Tag []string `xml:"tag,omitempty"`
+ Payload []string `xml:"payload,omitempty"`
+}
+
+func init() {
+ t["SoftwarePackage"] = reflect.TypeOf((*SoftwarePackage)(nil)).Elem()
+}
+
+type SoftwarePackageCapability struct {
+ DynamicData
+
+ LiveInstallAllowed *bool `xml:"liveInstallAllowed"`
+ LiveRemoveAllowed *bool `xml:"liveRemoveAllowed"`
+ StatelessReady *bool `xml:"statelessReady"`
+ Overlay *bool `xml:"overlay"`
+}
+
+func init() {
+ t["SoftwarePackageCapability"] = reflect.TypeOf((*SoftwarePackageCapability)(nil)).Elem()
+}
+
+type SourceNodeSpec struct {
+ DynamicData
+
+ ManagementVc ServiceLocator `xml:"managementVc"`
+ ActiveVc ManagedObjectReference `xml:"activeVc"`
+}
+
+func init() {
+ t["SourceNodeSpec"] = reflect.TypeOf((*SourceNodeSpec)(nil)).Elem()
+}
+
+type SsdDiskNotAvailable struct {
+ VimFault
+
+ DevicePath string `xml:"devicePath"`
+}
+
+func init() {
+ t["SsdDiskNotAvailable"] = reflect.TypeOf((*SsdDiskNotAvailable)(nil)).Elem()
+}
+
+type SsdDiskNotAvailableFault SsdDiskNotAvailable
+
+func init() {
+ t["SsdDiskNotAvailableFault"] = reflect.TypeOf((*SsdDiskNotAvailableFault)(nil)).Elem()
+}
+
+type StageHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MetaUrls []string `xml:"metaUrls,omitempty"`
+ BundleUrls []string `xml:"bundleUrls,omitempty"`
+ VibUrls []string `xml:"vibUrls,omitempty"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["StageHostPatchRequestType"] = reflect.TypeOf((*StageHostPatchRequestType)(nil)).Elem()
+}
+
+type StageHostPatch_Task StageHostPatchRequestType
+
+func init() {
+ t["StageHostPatch_Task"] = reflect.TypeOf((*StageHostPatch_Task)(nil)).Elem()
+}
+
+type StageHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StampAllRulesWithUuidRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["StampAllRulesWithUuidRequestType"] = reflect.TypeOf((*StampAllRulesWithUuidRequestType)(nil)).Elem()
+}
+
+type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType
+
+func init() {
+ t["StampAllRulesWithUuid_Task"] = reflect.TypeOf((*StampAllRulesWithUuid_Task)(nil)).Elem()
+}
+
+type StampAllRulesWithUuid_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StandbyGuest StandbyGuestRequestType
+
+func init() {
+ t["StandbyGuest"] = reflect.TypeOf((*StandbyGuest)(nil)).Elem()
+}
+
+type StandbyGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["StandbyGuestRequestType"] = reflect.TypeOf((*StandbyGuestRequestType)(nil)).Elem()
+}
+
+type StandbyGuestResponse struct {
+}
+
+type StartProgramInGuest StartProgramInGuestRequestType
+
+func init() {
+ t["StartProgramInGuest"] = reflect.TypeOf((*StartProgramInGuest)(nil)).Elem()
+}
+
+type StartProgramInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Spec BaseGuestProgramSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["StartProgramInGuestRequestType"] = reflect.TypeOf((*StartProgramInGuestRequestType)(nil)).Elem()
+}
+
+type StartProgramInGuestResponse struct {
+ Returnval int64 `xml:"returnval"`
+}
+
+type StartRecordingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["StartRecordingRequestType"] = reflect.TypeOf((*StartRecordingRequestType)(nil)).Elem()
+}
+
+type StartRecording_Task StartRecordingRequestType
+
+func init() {
+ t["StartRecording_Task"] = reflect.TypeOf((*StartRecording_Task)(nil)).Elem()
+}
+
+type StartRecording_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StartReplayingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot"`
+}
+
+func init() {
+ t["StartReplayingRequestType"] = reflect.TypeOf((*StartReplayingRequestType)(nil)).Elem()
+}
+
+type StartReplaying_Task StartReplayingRequestType
+
+func init() {
+ t["StartReplaying_Task"] = reflect.TypeOf((*StartReplaying_Task)(nil)).Elem()
+}
+
+type StartReplaying_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StartService StartServiceRequestType
+
+func init() {
+ t["StartService"] = reflect.TypeOf((*StartService)(nil)).Elem()
+}
+
+type StartServiceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["StartServiceRequestType"] = reflect.TypeOf((*StartServiceRequestType)(nil)).Elem()
+}
+
+type StartServiceResponse struct {
+}
+
+type StateAlarmExpression struct {
+ AlarmExpression
+
+ Operator StateAlarmOperator `xml:"operator"`
+ Type string `xml:"type"`
+ StatePath string `xml:"statePath"`
+ Yellow string `xml:"yellow,omitempty"`
+ Red string `xml:"red,omitempty"`
+}
+
+func init() {
+ t["StateAlarmExpression"] = reflect.TypeOf((*StateAlarmExpression)(nil)).Elem()
+}
+
+type StaticRouteProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key,omitempty"`
+}
+
+func init() {
+ t["StaticRouteProfile"] = reflect.TypeOf((*StaticRouteProfile)(nil)).Elem()
+}
+
+type StopRecordingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["StopRecordingRequestType"] = reflect.TypeOf((*StopRecordingRequestType)(nil)).Elem()
+}
+
+type StopRecording_Task StopRecordingRequestType
+
+func init() {
+ t["StopRecording_Task"] = reflect.TypeOf((*StopRecording_Task)(nil)).Elem()
+}
+
+type StopRecording_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StopReplayingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["StopReplayingRequestType"] = reflect.TypeOf((*StopReplayingRequestType)(nil)).Elem()
+}
+
+type StopReplaying_Task StopReplayingRequestType
+
+func init() {
+ t["StopReplaying_Task"] = reflect.TypeOf((*StopReplaying_Task)(nil)).Elem()
+}
+
+type StopReplaying_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type StopService StopServiceRequestType
+
+func init() {
+ t["StopService"] = reflect.TypeOf((*StopService)(nil)).Elem()
+}
+
+type StopServiceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["StopServiceRequestType"] = reflect.TypeOf((*StopServiceRequestType)(nil)).Elem()
+}
+
+type StopServiceResponse struct {
+}
+
+type StorageDrsAutomationConfig struct {
+ DynamicData
+
+ SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty"`
+ IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty"`
+ RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty"`
+ PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty"`
+ VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty"`
+}
+
+func init() {
+ t["StorageDrsAutomationConfig"] = reflect.TypeOf((*StorageDrsAutomationConfig)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveDiskInMultiWriterMode struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveDiskInMultiWriterMode"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterMode)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode
+
+func init() {
+ t["StorageDrsCannotMoveDiskInMultiWriterModeFault"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterModeFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveFTVm struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveFTVm"] = reflect.TypeOf((*StorageDrsCannotMoveFTVm)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm
+
+func init() {
+ t["StorageDrsCannotMoveFTVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveFTVmFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveIndependentDisk struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveIndependentDisk"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDisk)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk
+
+func init() {
+ t["StorageDrsCannotMoveIndependentDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDiskFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveManuallyPlacedSwapFile struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveManuallyPlacedSwapFile"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFile)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile
+
+func init() {
+ t["StorageDrsCannotMoveManuallyPlacedSwapFileFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFileFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveManuallyPlacedVm struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveManuallyPlacedVm"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVm)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm
+
+func init() {
+ t["StorageDrsCannotMoveManuallyPlacedVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVmFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveSharedDisk struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveSharedDisk"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDisk)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk
+
+func init() {
+ t["StorageDrsCannotMoveSharedDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDiskFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveTemplate struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveTemplate"] = reflect.TypeOf((*StorageDrsCannotMoveTemplate)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate
+
+func init() {
+ t["StorageDrsCannotMoveTemplateFault"] = reflect.TypeOf((*StorageDrsCannotMoveTemplateFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmInUserFolder struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveVmInUserFolder"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolder)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder
+
+func init() {
+ t["StorageDrsCannotMoveVmInUserFolderFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolderFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmWithMountedCDROM struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveVmWithMountedCDROM"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROM)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM
+
+func init() {
+ t["StorageDrsCannotMoveVmWithMountedCDROMFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROMFault)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmWithNoFilesInLayout struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsCannotMoveVmWithNoFilesInLayout"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayout)(nil)).Elem()
+}
+
+type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout
+
+func init() {
+ t["StorageDrsCannotMoveVmWithNoFilesInLayoutFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayoutFault)(nil)).Elem()
+}
+
+type StorageDrsConfigInfo struct {
+ DynamicData
+
+ PodConfig StorageDrsPodConfigInfo `xml:"podConfig"`
+ VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty"`
+}
+
+func init() {
+ t["StorageDrsConfigInfo"] = reflect.TypeOf((*StorageDrsConfigInfo)(nil)).Elem()
+}
+
+type StorageDrsConfigSpec struct {
+ DynamicData
+
+ PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty"`
+ VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty"`
+}
+
+func init() {
+ t["StorageDrsConfigSpec"] = reflect.TypeOf((*StorageDrsConfigSpec)(nil)).Elem()
+}
+
+type StorageDrsDatacentersCannotShareDatastore struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsDatacentersCannotShareDatastore"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastore)(nil)).Elem()
+}
+
+type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore
+
+func init() {
+ t["StorageDrsDatacentersCannotShareDatastoreFault"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastoreFault)(nil)).Elem()
+}
+
+type StorageDrsDisabledOnVm struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsDisabledOnVm"] = reflect.TypeOf((*StorageDrsDisabledOnVm)(nil)).Elem()
+}
+
+type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm
+
+func init() {
+ t["StorageDrsDisabledOnVmFault"] = reflect.TypeOf((*StorageDrsDisabledOnVmFault)(nil)).Elem()
+}
+
+type StorageDrsHbrDiskNotMovable struct {
+ VimFault
+
+ NonMovableDiskIds string `xml:"nonMovableDiskIds"`
+}
+
+func init() {
+ t["StorageDrsHbrDiskNotMovable"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovable)(nil)).Elem()
+}
+
+type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable
+
+func init() {
+ t["StorageDrsHbrDiskNotMovableFault"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovableFault)(nil)).Elem()
+}
+
+type StorageDrsHmsMoveInProgress struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsHmsMoveInProgress"] = reflect.TypeOf((*StorageDrsHmsMoveInProgress)(nil)).Elem()
+}
+
+type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress
+
+func init() {
+ t["StorageDrsHmsMoveInProgressFault"] = reflect.TypeOf((*StorageDrsHmsMoveInProgressFault)(nil)).Elem()
+}
+
+type StorageDrsHmsUnreachable struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsHmsUnreachable"] = reflect.TypeOf((*StorageDrsHmsUnreachable)(nil)).Elem()
+}
+
+type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable
+
+func init() {
+ t["StorageDrsHmsUnreachableFault"] = reflect.TypeOf((*StorageDrsHmsUnreachableFault)(nil)).Elem()
+}
+
+type StorageDrsIoLoadBalanceConfig struct {
+ DynamicData
+
+ ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty"`
+ ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"`
+ ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty"`
+ IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty"`
+ IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty"`
+}
+
+func init() {
+ t["StorageDrsIoLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsIoLoadBalanceConfig)(nil)).Elem()
+}
+
+type StorageDrsIolbDisabledInternally struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsIolbDisabledInternally"] = reflect.TypeOf((*StorageDrsIolbDisabledInternally)(nil)).Elem()
+}
+
+type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally
+
+func init() {
+ t["StorageDrsIolbDisabledInternallyFault"] = reflect.TypeOf((*StorageDrsIolbDisabledInternallyFault)(nil)).Elem()
+}
+
+type StorageDrsOptionSpec struct {
+ ArrayUpdateSpec
+
+ Option BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["StorageDrsOptionSpec"] = reflect.TypeOf((*StorageDrsOptionSpec)(nil)).Elem()
+}
+
+type StorageDrsPlacementRankVmSpec struct {
+ DynamicData
+
+ VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec"`
+ VmClusters []ManagedObjectReference `xml:"vmClusters"`
+}
+
+func init() {
+ t["StorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*StorageDrsPlacementRankVmSpec)(nil)).Elem()
+}
+
+type StorageDrsPodConfigInfo struct {
+ DynamicData
+
+ Enabled bool `xml:"enabled"`
+ IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled"`
+ DefaultVmBehavior string `xml:"defaultVmBehavior"`
+ LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty"`
+ DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity"`
+ SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty"`
+ IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty"`
+ AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty"`
+ Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"`
+ Option []BaseOptionValue `xml:"option,omitempty,typeattr"`
+}
+
+func init() {
+ t["StorageDrsPodConfigInfo"] = reflect.TypeOf((*StorageDrsPodConfigInfo)(nil)).Elem()
+}
+
+type StorageDrsPodConfigSpec struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled"`
+ DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty"`
+ LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty"`
+ DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity"`
+ SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty"`
+ IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty"`
+ AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty"`
+ Rule []ClusterRuleSpec `xml:"rule,omitempty"`
+ Option []StorageDrsOptionSpec `xml:"option,omitempty"`
+}
+
+func init() {
+ t["StorageDrsPodConfigSpec"] = reflect.TypeOf((*StorageDrsPodConfigSpec)(nil)).Elem()
+}
+
+type StorageDrsPodSelectionSpec struct {
+ DynamicData
+
+ InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty"`
+ StoragePod *ManagedObjectReference `xml:"storagePod,omitempty"`
+}
+
+func init() {
+ t["StorageDrsPodSelectionSpec"] = reflect.TypeOf((*StorageDrsPodSelectionSpec)(nil)).Elem()
+}
+
+type StorageDrsRelocateDisabled struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsRelocateDisabled"] = reflect.TypeOf((*StorageDrsRelocateDisabled)(nil)).Elem()
+}
+
+type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled
+
+func init() {
+ t["StorageDrsRelocateDisabledFault"] = reflect.TypeOf((*StorageDrsRelocateDisabledFault)(nil)).Elem()
+}
+
+type StorageDrsSpaceLoadBalanceConfig struct {
+ DynamicData
+
+ SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty"`
+ SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty"`
+ FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty"`
+ MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty"`
+}
+
+func init() {
+ t["StorageDrsSpaceLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfig)(nil)).Elem()
+}
+
+type StorageDrsStaleHmsCollection struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsStaleHmsCollection"] = reflect.TypeOf((*StorageDrsStaleHmsCollection)(nil)).Elem()
+}
+
+type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection
+
+func init() {
+ t["StorageDrsStaleHmsCollectionFault"] = reflect.TypeOf((*StorageDrsStaleHmsCollectionFault)(nil)).Elem()
+}
+
+type StorageDrsUnableToMoveFiles struct {
+ VimFault
+}
+
+func init() {
+ t["StorageDrsUnableToMoveFiles"] = reflect.TypeOf((*StorageDrsUnableToMoveFiles)(nil)).Elem()
+}
+
+type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles
+
+func init() {
+ t["StorageDrsUnableToMoveFilesFault"] = reflect.TypeOf((*StorageDrsUnableToMoveFilesFault)(nil)).Elem()
+}
+
+type StorageDrsVmConfigInfo struct {
+ DynamicData
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Enabled *bool `xml:"enabled"`
+ Behavior string `xml:"behavior,omitempty"`
+ IntraVmAffinity *bool `xml:"intraVmAffinity"`
+ IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty"`
+}
+
+func init() {
+ t["StorageDrsVmConfigInfo"] = reflect.TypeOf((*StorageDrsVmConfigInfo)(nil)).Elem()
+}
+
+type StorageDrsVmConfigSpec struct {
+ ArrayUpdateSpec
+
+ Info *StorageDrsVmConfigInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["StorageDrsVmConfigSpec"] = reflect.TypeOf((*StorageDrsVmConfigSpec)(nil)).Elem()
+}
+
+type StorageIOAllocationInfo struct {
+ DynamicData
+
+ Limit int64 `xml:"limit,omitempty"`
+ Shares *SharesInfo `xml:"shares,omitempty"`
+ Reservation int32 `xml:"reservation,omitempty"`
+}
+
+func init() {
+ t["StorageIOAllocationInfo"] = reflect.TypeOf((*StorageIOAllocationInfo)(nil)).Elem()
+}
+
+type StorageIOAllocationOption struct {
+ DynamicData
+
+ LimitOption LongOption `xml:"limitOption"`
+ SharesOption SharesOption `xml:"sharesOption"`
+}
+
+func init() {
+ t["StorageIOAllocationOption"] = reflect.TypeOf((*StorageIOAllocationOption)(nil)).Elem()
+}
+
+type StorageIORMConfigOption struct {
+ DynamicData
+
+ EnabledOption BoolOption `xml:"enabledOption"`
+ CongestionThresholdOption IntOption `xml:"congestionThresholdOption"`
+ StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty"`
+ ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty"`
+}
+
+func init() {
+ t["StorageIORMConfigOption"] = reflect.TypeOf((*StorageIORMConfigOption)(nil)).Elem()
+}
+
+type StorageIORMConfigSpec struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty"`
+ CongestionThreshold int32 `xml:"congestionThreshold,omitempty"`
+ PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty"`
+ StatsCollectionEnabled *bool `xml:"statsCollectionEnabled"`
+ ReservationEnabled *bool `xml:"reservationEnabled"`
+ StatsAggregationDisabled *bool `xml:"statsAggregationDisabled"`
+ ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"`
+}
+
+func init() {
+ t["StorageIORMConfigSpec"] = reflect.TypeOf((*StorageIORMConfigSpec)(nil)).Elem()
+}
+
+type StorageIORMInfo struct {
+ DynamicData
+
+ Enabled bool `xml:"enabled"`
+ CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty"`
+ CongestionThreshold int32 `xml:"congestionThreshold"`
+ PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty"`
+ StatsCollectionEnabled *bool `xml:"statsCollectionEnabled"`
+ ReservationEnabled *bool `xml:"reservationEnabled"`
+ StatsAggregationDisabled *bool `xml:"statsAggregationDisabled"`
+ ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"`
+}
+
+func init() {
+ t["StorageIORMInfo"] = reflect.TypeOf((*StorageIORMInfo)(nil)).Elem()
+}
+
+type StorageMigrationAction struct {
+ ClusterAction
+
+ Vm ManagedObjectReference `xml:"vm"`
+ RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec"`
+ Source ManagedObjectReference `xml:"source"`
+ Destination ManagedObjectReference `xml:"destination"`
+ SizeTransferred int64 `xml:"sizeTransferred"`
+ SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty"`
+ SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty"`
+ SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty"`
+ SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty"`
+ IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty"`
+ IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty"`
+}
+
+func init() {
+ t["StorageMigrationAction"] = reflect.TypeOf((*StorageMigrationAction)(nil)).Elem()
+}
+
+type StoragePerformanceSummary struct {
+ DynamicData
+
+ Interval int32 `xml:"interval"`
+ Percentile []int32 `xml:"percentile"`
+ DatastoreReadLatency []float64 `xml:"datastoreReadLatency"`
+ DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency"`
+ DatastoreVmLatency []float64 `xml:"datastoreVmLatency"`
+ DatastoreReadIops []float64 `xml:"datastoreReadIops"`
+ DatastoreWriteIops []float64 `xml:"datastoreWriteIops"`
+ SiocActivityDuration int32 `xml:"siocActivityDuration"`
+}
+
+func init() {
+ t["StoragePerformanceSummary"] = reflect.TypeOf((*StoragePerformanceSummary)(nil)).Elem()
+}
+
+type StoragePlacementAction struct {
+ ClusterAction
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec"`
+ Destination ManagedObjectReference `xml:"destination"`
+ SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty"`
+ SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty"`
+ SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty"`
+ SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty"`
+ IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty"`
+}
+
+func init() {
+ t["StoragePlacementAction"] = reflect.TypeOf((*StoragePlacementAction)(nil)).Elem()
+}
+
+type StoragePlacementResult struct {
+ DynamicData
+
+ Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"`
+ DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty"`
+ Task *ManagedObjectReference `xml:"task,omitempty"`
+}
+
+func init() {
+ t["StoragePlacementResult"] = reflect.TypeOf((*StoragePlacementResult)(nil)).Elem()
+}
+
+type StoragePlacementSpec struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ Priority VirtualMachineMovePriority `xml:"priority,omitempty"`
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec"`
+ CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty"`
+ CloneName string `xml:"cloneName,omitempty"`
+ ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"`
+ RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"`
+ ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Folder *ManagedObjectReference `xml:"folder,omitempty"`
+ DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves"`
+ ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty"`
+}
+
+func init() {
+ t["StoragePlacementSpec"] = reflect.TypeOf((*StoragePlacementSpec)(nil)).Elem()
+}
+
+type StoragePodSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Capacity int64 `xml:"capacity"`
+ FreeSpace int64 `xml:"freeSpace"`
+}
+
+func init() {
+ t["StoragePodSummary"] = reflect.TypeOf((*StoragePodSummary)(nil)).Elem()
+}
+
+type StorageProfile struct {
+ ApplyProfile
+
+ NasStorage []NasStorageProfile `xml:"nasStorage,omitempty"`
+}
+
+func init() {
+ t["StorageProfile"] = reflect.TypeOf((*StorageProfile)(nil)).Elem()
+}
+
+type StorageRequirement struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb"`
+}
+
+func init() {
+ t["StorageRequirement"] = reflect.TypeOf((*StorageRequirement)(nil)).Elem()
+}
+
+type StorageResourceManagerStorageProfileStatistics struct {
+ DynamicData
+
+ ProfileId string `xml:"profileId"`
+ TotalSpaceMB int64 `xml:"totalSpaceMB"`
+ UsedSpaceMB int64 `xml:"usedSpaceMB"`
+}
+
+func init() {
+ t["StorageResourceManagerStorageProfileStatistics"] = reflect.TypeOf((*StorageResourceManagerStorageProfileStatistics)(nil)).Elem()
+}
+
+type StorageVMotionNotSupported struct {
+ MigrationFeatureNotSupported
+}
+
+func init() {
+ t["StorageVMotionNotSupported"] = reflect.TypeOf((*StorageVMotionNotSupported)(nil)).Elem()
+}
+
+type StorageVMotionNotSupportedFault StorageVMotionNotSupported
+
+func init() {
+ t["StorageVMotionNotSupportedFault"] = reflect.TypeOf((*StorageVMotionNotSupportedFault)(nil)).Elem()
+}
+
+type StorageVmotionIncompatible struct {
+ VirtualHardwareCompatibilityIssue
+
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["StorageVmotionIncompatible"] = reflect.TypeOf((*StorageVmotionIncompatible)(nil)).Elem()
+}
+
+type StorageVmotionIncompatibleFault StorageVmotionIncompatible
+
+func init() {
+ t["StorageVmotionIncompatibleFault"] = reflect.TypeOf((*StorageVmotionIncompatibleFault)(nil)).Elem()
+}
+
+type StringExpression struct {
+ NegatableExpression
+
+ Value string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["StringExpression"] = reflect.TypeOf((*StringExpression)(nil)).Elem()
+}
+
+type StringOption struct {
+ OptionType
+
+ DefaultValue string `xml:"defaultValue"`
+ ValidCharacters string `xml:"validCharacters,omitempty"`
+}
+
+func init() {
+ t["StringOption"] = reflect.TypeOf((*StringOption)(nil)).Elem()
+}
+
+type StringPolicy struct {
+ InheritablePolicy
+
+ Value string `xml:"value,omitempty"`
+}
+
+func init() {
+ t["StringPolicy"] = reflect.TypeOf((*StringPolicy)(nil)).Elem()
+}
+
+type StructuredCustomizations struct {
+ HostProfilesEntityCustomizations
+
+ Entity ManagedObjectReference `xml:"entity"`
+ Customizations *AnswerFile `xml:"customizations,omitempty"`
+}
+
+func init() {
+ t["StructuredCustomizations"] = reflect.TypeOf((*StructuredCustomizations)(nil)).Elem()
+}
+
+type SuspendVAppRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["SuspendVAppRequestType"] = reflect.TypeOf((*SuspendVAppRequestType)(nil)).Elem()
+}
+
+type SuspendVApp_Task SuspendVAppRequestType
+
+func init() {
+ t["SuspendVApp_Task"] = reflect.TypeOf((*SuspendVApp_Task)(nil)).Elem()
+}
+
+type SuspendVApp_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type SuspendVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["SuspendVMRequestType"] = reflect.TypeOf((*SuspendVMRequestType)(nil)).Elem()
+}
+
+type SuspendVM_Task SuspendVMRequestType
+
+func init() {
+ t["SuspendVM_Task"] = reflect.TypeOf((*SuspendVM_Task)(nil)).Elem()
+}
+
+type SuspendVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type SuspendedRelocateNotSupported struct {
+ MigrationFault
+}
+
+func init() {
+ t["SuspendedRelocateNotSupported"] = reflect.TypeOf((*SuspendedRelocateNotSupported)(nil)).Elem()
+}
+
+type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported
+
+func init() {
+ t["SuspendedRelocateNotSupportedFault"] = reflect.TypeOf((*SuspendedRelocateNotSupportedFault)(nil)).Elem()
+}
+
+type SwapDatastoreNotWritableOnHost struct {
+ DatastoreNotWritableOnHost
+}
+
+func init() {
+ t["SwapDatastoreNotWritableOnHost"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHost)(nil)).Elem()
+}
+
+type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost
+
+func init() {
+ t["SwapDatastoreNotWritableOnHostFault"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHostFault)(nil)).Elem()
+}
+
+type SwapDatastoreUnset struct {
+ VimFault
+}
+
+func init() {
+ t["SwapDatastoreUnset"] = reflect.TypeOf((*SwapDatastoreUnset)(nil)).Elem()
+}
+
+type SwapDatastoreUnsetFault SwapDatastoreUnset
+
+func init() {
+ t["SwapDatastoreUnsetFault"] = reflect.TypeOf((*SwapDatastoreUnsetFault)(nil)).Elem()
+}
+
+type SwapPlacementOverrideNotSupported struct {
+ InvalidVmConfig
+}
+
+func init() {
+ t["SwapPlacementOverrideNotSupported"] = reflect.TypeOf((*SwapPlacementOverrideNotSupported)(nil)).Elem()
+}
+
+type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported
+
+func init() {
+ t["SwapPlacementOverrideNotSupportedFault"] = reflect.TypeOf((*SwapPlacementOverrideNotSupportedFault)(nil)).Elem()
+}
+
+type SwitchIpUnset struct {
+ DvsFault
+}
+
+func init() {
+ t["SwitchIpUnset"] = reflect.TypeOf((*SwitchIpUnset)(nil)).Elem()
+}
+
+type SwitchIpUnsetFault SwitchIpUnset
+
+func init() {
+ t["SwitchIpUnsetFault"] = reflect.TypeOf((*SwitchIpUnsetFault)(nil)).Elem()
+}
+
+type SwitchNotInUpgradeMode struct {
+ DvsFault
+}
+
+func init() {
+ t["SwitchNotInUpgradeMode"] = reflect.TypeOf((*SwitchNotInUpgradeMode)(nil)).Elem()
+}
+
+type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode
+
+func init() {
+ t["SwitchNotInUpgradeModeFault"] = reflect.TypeOf((*SwitchNotInUpgradeModeFault)(nil)).Elem()
+}
+
+type SystemError struct {
+ RuntimeFault
+
+ Reason string `xml:"reason"`
+}
+
+func init() {
+ t["SystemError"] = reflect.TypeOf((*SystemError)(nil)).Elem()
+}
+
+type SystemErrorFault SystemError
+
+func init() {
+ t["SystemErrorFault"] = reflect.TypeOf((*SystemErrorFault)(nil)).Elem()
+}
+
+type SystemEventInfo struct {
+ DynamicData
+
+ RecordId int64 `xml:"recordId"`
+ When string `xml:"when"`
+ SelType int64 `xml:"selType"`
+ Message string `xml:"message"`
+ SensorNumber int64 `xml:"sensorNumber"`
+}
+
+func init() {
+ t["SystemEventInfo"] = reflect.TypeOf((*SystemEventInfo)(nil)).Elem()
+}
+
+type Tag struct {
+ DynamicData
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem()
+}
+
+type TaskDescription struct {
+ DynamicData
+
+ MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr"`
+ State []BaseElementDescription `xml:"state,typeattr"`
+ Reason []BaseTypeDescription `xml:"reason,typeattr"`
+}
+
+func init() {
+ t["TaskDescription"] = reflect.TypeOf((*TaskDescription)(nil)).Elem()
+}
+
+type TaskEvent struct {
+ Event
+
+ Info TaskInfo `xml:"info"`
+}
+
+func init() {
+ t["TaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem()
+}
+
+type TaskFilterSpec struct {
+ DynamicData
+
+ Entity *TaskFilterSpecByEntity `xml:"entity,omitempty"`
+ Time *TaskFilterSpecByTime `xml:"time,omitempty"`
+ UserName *TaskFilterSpecByUsername `xml:"userName,omitempty"`
+ ActivationId []string `xml:"activationId,omitempty"`
+ State []TaskInfoState `xml:"state,omitempty"`
+ Alarm *ManagedObjectReference `xml:"alarm,omitempty"`
+ ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty"`
+ EventChainId []int32 `xml:"eventChainId,omitempty"`
+ Tag []string `xml:"tag,omitempty"`
+ ParentTaskKey []string `xml:"parentTaskKey,omitempty"`
+ RootTaskKey []string `xml:"rootTaskKey,omitempty"`
+}
+
+func init() {
+ t["TaskFilterSpec"] = reflect.TypeOf((*TaskFilterSpec)(nil)).Elem()
+}
+
+type TaskFilterSpecByEntity struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ Recursion TaskFilterSpecRecursionOption `xml:"recursion"`
+}
+
+func init() {
+ t["TaskFilterSpecByEntity"] = reflect.TypeOf((*TaskFilterSpecByEntity)(nil)).Elem()
+}
+
+type TaskFilterSpecByTime struct {
+ DynamicData
+
+ TimeType TaskFilterSpecTimeOption `xml:"timeType"`
+ BeginTime *time.Time `xml:"beginTime"`
+ EndTime *time.Time `xml:"endTime"`
+}
+
+func init() {
+ t["TaskFilterSpecByTime"] = reflect.TypeOf((*TaskFilterSpecByTime)(nil)).Elem()
+}
+
+type TaskFilterSpecByUsername struct {
+ DynamicData
+
+ SystemUser bool `xml:"systemUser"`
+ UserList []string `xml:"userList,omitempty"`
+}
+
+func init() {
+ t["TaskFilterSpecByUsername"] = reflect.TypeOf((*TaskFilterSpecByUsername)(nil)).Elem()
+}
+
+type TaskInProgress struct {
+ VimFault
+
+ Task ManagedObjectReference `xml:"task"`
+}
+
+func init() {
+ t["TaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem()
+}
+
+type TaskInProgressFault BaseTaskInProgress
+
+func init() {
+ t["TaskInProgressFault"] = reflect.TypeOf((*TaskInProgressFault)(nil)).Elem()
+}
+
+type TaskInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Task ManagedObjectReference `xml:"task"`
+ Description *LocalizableMessage `xml:"description,omitempty"`
+ Name string `xml:"name,omitempty"`
+ DescriptionId string `xml:"descriptionId"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ EntityName string `xml:"entityName,omitempty"`
+ Locked []ManagedObjectReference `xml:"locked,omitempty"`
+ State TaskInfoState `xml:"state"`
+ Cancelled bool `xml:"cancelled"`
+ Cancelable bool `xml:"cancelable"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+ Result AnyType `xml:"result,omitempty,typeattr"`
+ Progress int32 `xml:"progress,omitempty"`
+ Reason BaseTaskReason `xml:"reason,typeattr"`
+ QueueTime time.Time `xml:"queueTime"`
+ StartTime *time.Time `xml:"startTime"`
+ CompleteTime *time.Time `xml:"completeTime"`
+ EventChainId int32 `xml:"eventChainId"`
+ ChangeTag string `xml:"changeTag,omitempty"`
+ ParentTaskKey string `xml:"parentTaskKey,omitempty"`
+ RootTaskKey string `xml:"rootTaskKey,omitempty"`
+ ActivationId string `xml:"activationId,omitempty"`
+}
+
+func init() {
+ t["TaskInfo"] = reflect.TypeOf((*TaskInfo)(nil)).Elem()
+}
+
+type TaskReason struct {
+ DynamicData
+}
+
+func init() {
+ t["TaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem()
+}
+
+type TaskReasonAlarm struct {
+ TaskReason
+
+ AlarmName string `xml:"alarmName"`
+ Alarm ManagedObjectReference `xml:"alarm"`
+ EntityName string `xml:"entityName"`
+ Entity ManagedObjectReference `xml:"entity"`
+}
+
+func init() {
+ t["TaskReasonAlarm"] = reflect.TypeOf((*TaskReasonAlarm)(nil)).Elem()
+}
+
+type TaskReasonSchedule struct {
+ TaskReason
+
+ Name string `xml:"name"`
+ ScheduledTask ManagedObjectReference `xml:"scheduledTask"`
+}
+
+func init() {
+ t["TaskReasonSchedule"] = reflect.TypeOf((*TaskReasonSchedule)(nil)).Elem()
+}
+
+type TaskReasonSystem struct {
+ TaskReason
+}
+
+func init() {
+ t["TaskReasonSystem"] = reflect.TypeOf((*TaskReasonSystem)(nil)).Elem()
+}
+
+type TaskReasonUser struct {
+ TaskReason
+
+ UserName string `xml:"userName"`
+}
+
+func init() {
+ t["TaskReasonUser"] = reflect.TypeOf((*TaskReasonUser)(nil)).Elem()
+}
+
+type TaskScheduler struct {
+ DynamicData
+
+ ActiveTime *time.Time `xml:"activeTime"`
+ ExpireTime *time.Time `xml:"expireTime"`
+}
+
+func init() {
+ t["TaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem()
+}
+
+type TaskTimeoutEvent struct {
+ TaskEvent
+}
+
+func init() {
+ t["TaskTimeoutEvent"] = reflect.TypeOf((*TaskTimeoutEvent)(nil)).Elem()
+}
+
+type TeamingMatchEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["TeamingMatchEvent"] = reflect.TypeOf((*TeamingMatchEvent)(nil)).Elem()
+}
+
+type TeamingMisMatchEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["TeamingMisMatchEvent"] = reflect.TypeOf((*TeamingMisMatchEvent)(nil)).Elem()
+}
+
+type TemplateBeingUpgradedEvent struct {
+ TemplateUpgradeEvent
+}
+
+func init() {
+ t["TemplateBeingUpgradedEvent"] = reflect.TypeOf((*TemplateBeingUpgradedEvent)(nil)).Elem()
+}
+
+type TemplateConfigFileInfo struct {
+ VmConfigFileInfo
+}
+
+func init() {
+ t["TemplateConfigFileInfo"] = reflect.TypeOf((*TemplateConfigFileInfo)(nil)).Elem()
+}
+
+type TemplateConfigFileQuery struct {
+ VmConfigFileQuery
+}
+
+func init() {
+ t["TemplateConfigFileQuery"] = reflect.TypeOf((*TemplateConfigFileQuery)(nil)).Elem()
+}
+
+type TemplateUpgradeEvent struct {
+ Event
+
+ LegacyTemplate string `xml:"legacyTemplate"`
+}
+
+func init() {
+ t["TemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem()
+}
+
+type TemplateUpgradeFailedEvent struct {
+ TemplateUpgradeEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["TemplateUpgradeFailedEvent"] = reflect.TypeOf((*TemplateUpgradeFailedEvent)(nil)).Elem()
+}
+
+type TemplateUpgradedEvent struct {
+ TemplateUpgradeEvent
+}
+
+func init() {
+ t["TemplateUpgradedEvent"] = reflect.TypeOf((*TemplateUpgradedEvent)(nil)).Elem()
+}
+
+type TerminateFaultTolerantVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["TerminateFaultTolerantVMRequestType"] = reflect.TypeOf((*TerminateFaultTolerantVMRequestType)(nil)).Elem()
+}
+
+type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType
+
+func init() {
+ t["TerminateFaultTolerantVM_Task"] = reflect.TypeOf((*TerminateFaultTolerantVM_Task)(nil)).Elem()
+}
+
+type TerminateFaultTolerantVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type TerminateProcessInGuest TerminateProcessInGuestRequestType
+
+func init() {
+ t["TerminateProcessInGuest"] = reflect.TypeOf((*TerminateProcessInGuest)(nil)).Elem()
+}
+
+type TerminateProcessInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+ Pid int64 `xml:"pid"`
+}
+
+func init() {
+ t["TerminateProcessInGuestRequestType"] = reflect.TypeOf((*TerminateProcessInGuestRequestType)(nil)).Elem()
+}
+
+type TerminateProcessInGuestResponse struct {
+}
+
+type TerminateSession TerminateSessionRequestType
+
+func init() {
+ t["TerminateSession"] = reflect.TypeOf((*TerminateSession)(nil)).Elem()
+}
+
+type TerminateSessionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SessionId []string `xml:"sessionId"`
+}
+
+func init() {
+ t["TerminateSessionRequestType"] = reflect.TypeOf((*TerminateSessionRequestType)(nil)).Elem()
+}
+
+type TerminateSessionResponse struct {
+}
+
+type TerminateVM TerminateVMRequestType
+
+func init() {
+ t["TerminateVM"] = reflect.TypeOf((*TerminateVM)(nil)).Elem()
+}
+
+type TerminateVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["TerminateVMRequestType"] = reflect.TypeOf((*TerminateVMRequestType)(nil)).Elem()
+}
+
+type TerminateVMResponse struct {
+}
+
+type ThirdPartyLicenseAssignmentFailed struct {
+ RuntimeFault
+
+ Host ManagedObjectReference `xml:"host"`
+ Module string `xml:"module"`
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["ThirdPartyLicenseAssignmentFailed"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailed)(nil)).Elem()
+}
+
+type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed
+
+func init() {
+ t["ThirdPartyLicenseAssignmentFailedFault"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedFault)(nil)).Elem()
+}
+
+type TicketedSessionAuthentication struct {
+ GuestAuthentication
+
+ Ticket string `xml:"ticket"`
+}
+
+func init() {
+ t["TicketedSessionAuthentication"] = reflect.TypeOf((*TicketedSessionAuthentication)(nil)).Elem()
+}
+
+type TimedOutHostOperationEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["TimedOutHostOperationEvent"] = reflect.TypeOf((*TimedOutHostOperationEvent)(nil)).Elem()
+}
+
+type Timedout struct {
+ VimFault
+}
+
+func init() {
+ t["Timedout"] = reflect.TypeOf((*Timedout)(nil)).Elem()
+}
+
+type TimedoutFault BaseTimedout
+
+func init() {
+ t["TimedoutFault"] = reflect.TypeOf((*TimedoutFault)(nil)).Elem()
+}
+
+type TooManyConcurrentNativeClones struct {
+ FileFault
+}
+
+func init() {
+ t["TooManyConcurrentNativeClones"] = reflect.TypeOf((*TooManyConcurrentNativeClones)(nil)).Elem()
+}
+
+type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones
+
+func init() {
+ t["TooManyConcurrentNativeClonesFault"] = reflect.TypeOf((*TooManyConcurrentNativeClonesFault)(nil)).Elem()
+}
+
+type TooManyConsecutiveOverrides struct {
+ VimFault
+}
+
+func init() {
+ t["TooManyConsecutiveOverrides"] = reflect.TypeOf((*TooManyConsecutiveOverrides)(nil)).Elem()
+}
+
+type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides
+
+func init() {
+ t["TooManyConsecutiveOverridesFault"] = reflect.TypeOf((*TooManyConsecutiveOverridesFault)(nil)).Elem()
+}
+
+type TooManyDevices struct {
+ InvalidVmConfig
+}
+
+func init() {
+ t["TooManyDevices"] = reflect.TypeOf((*TooManyDevices)(nil)).Elem()
+}
+
+type TooManyDevicesFault TooManyDevices
+
+func init() {
+ t["TooManyDevicesFault"] = reflect.TypeOf((*TooManyDevicesFault)(nil)).Elem()
+}
+
+type TooManyDisksOnLegacyHost struct {
+ MigrationFault
+
+ DiskCount int32 `xml:"diskCount"`
+ TimeoutDanger bool `xml:"timeoutDanger"`
+}
+
+func init() {
+ t["TooManyDisksOnLegacyHost"] = reflect.TypeOf((*TooManyDisksOnLegacyHost)(nil)).Elem()
+}
+
+type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost
+
+func init() {
+ t["TooManyDisksOnLegacyHostFault"] = reflect.TypeOf((*TooManyDisksOnLegacyHostFault)(nil)).Elem()
+}
+
+type TooManyGuestLogons struct {
+ GuestOperationsFault
+}
+
+func init() {
+ t["TooManyGuestLogons"] = reflect.TypeOf((*TooManyGuestLogons)(nil)).Elem()
+}
+
+type TooManyGuestLogonsFault TooManyGuestLogons
+
+func init() {
+ t["TooManyGuestLogonsFault"] = reflect.TypeOf((*TooManyGuestLogonsFault)(nil)).Elem()
+}
+
+type TooManyHosts struct {
+ HostConnectFault
+}
+
+func init() {
+ t["TooManyHosts"] = reflect.TypeOf((*TooManyHosts)(nil)).Elem()
+}
+
+type TooManyHostsFault TooManyHosts
+
+func init() {
+ t["TooManyHostsFault"] = reflect.TypeOf((*TooManyHostsFault)(nil)).Elem()
+}
+
+type TooManyNativeCloneLevels struct {
+ FileFault
+}
+
+func init() {
+ t["TooManyNativeCloneLevels"] = reflect.TypeOf((*TooManyNativeCloneLevels)(nil)).Elem()
+}
+
+type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels
+
+func init() {
+ t["TooManyNativeCloneLevelsFault"] = reflect.TypeOf((*TooManyNativeCloneLevelsFault)(nil)).Elem()
+}
+
+type TooManyNativeClonesOnFile struct {
+ FileFault
+}
+
+func init() {
+ t["TooManyNativeClonesOnFile"] = reflect.TypeOf((*TooManyNativeClonesOnFile)(nil)).Elem()
+}
+
+type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile
+
+func init() {
+ t["TooManyNativeClonesOnFileFault"] = reflect.TypeOf((*TooManyNativeClonesOnFileFault)(nil)).Elem()
+}
+
+type TooManySnapshotLevels struct {
+ SnapshotFault
+}
+
+func init() {
+ t["TooManySnapshotLevels"] = reflect.TypeOf((*TooManySnapshotLevels)(nil)).Elem()
+}
+
+type TooManySnapshotLevelsFault TooManySnapshotLevels
+
+func init() {
+ t["TooManySnapshotLevelsFault"] = reflect.TypeOf((*TooManySnapshotLevelsFault)(nil)).Elem()
+}
+
+type ToolsAlreadyUpgraded struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsAlreadyUpgraded"] = reflect.TypeOf((*ToolsAlreadyUpgraded)(nil)).Elem()
+}
+
+type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded
+
+func init() {
+ t["ToolsAlreadyUpgradedFault"] = reflect.TypeOf((*ToolsAlreadyUpgradedFault)(nil)).Elem()
+}
+
+type ToolsAutoUpgradeNotSupported struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsAutoUpgradeNotSupported"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupported)(nil)).Elem()
+}
+
+type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported
+
+func init() {
+ t["ToolsAutoUpgradeNotSupportedFault"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupportedFault)(nil)).Elem()
+}
+
+type ToolsConfigInfo struct {
+ DynamicData
+
+ ToolsVersion int32 `xml:"toolsVersion,omitempty"`
+ ToolsInstallType string `xml:"toolsInstallType,omitempty"`
+ AfterPowerOn *bool `xml:"afterPowerOn"`
+ AfterResume *bool `xml:"afterResume"`
+ BeforeGuestStandby *bool `xml:"beforeGuestStandby"`
+ BeforeGuestShutdown *bool `xml:"beforeGuestShutdown"`
+ BeforeGuestReboot *bool `xml:"beforeGuestReboot"`
+ ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty"`
+ PendingCustomization string `xml:"pendingCustomization,omitempty"`
+ CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty"`
+ SyncTimeWithHost *bool `xml:"syncTimeWithHost"`
+ LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty"`
+}
+
+func init() {
+ t["ToolsConfigInfo"] = reflect.TypeOf((*ToolsConfigInfo)(nil)).Elem()
+}
+
+type ToolsConfigInfoToolsLastInstallInfo struct {
+ DynamicData
+
+ Counter int32 `xml:"counter"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["ToolsConfigInfoToolsLastInstallInfo"] = reflect.TypeOf((*ToolsConfigInfoToolsLastInstallInfo)(nil)).Elem()
+}
+
+type ToolsImageCopyFailed struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsImageCopyFailed"] = reflect.TypeOf((*ToolsImageCopyFailed)(nil)).Elem()
+}
+
+type ToolsImageCopyFailedFault ToolsImageCopyFailed
+
+func init() {
+ t["ToolsImageCopyFailedFault"] = reflect.TypeOf((*ToolsImageCopyFailedFault)(nil)).Elem()
+}
+
+type ToolsImageNotAvailable struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsImageNotAvailable"] = reflect.TypeOf((*ToolsImageNotAvailable)(nil)).Elem()
+}
+
+type ToolsImageNotAvailableFault ToolsImageNotAvailable
+
+func init() {
+ t["ToolsImageNotAvailableFault"] = reflect.TypeOf((*ToolsImageNotAvailableFault)(nil)).Elem()
+}
+
+type ToolsImageSignatureCheckFailed struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsImageSignatureCheckFailed"] = reflect.TypeOf((*ToolsImageSignatureCheckFailed)(nil)).Elem()
+}
+
+type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed
+
+func init() {
+ t["ToolsImageSignatureCheckFailedFault"] = reflect.TypeOf((*ToolsImageSignatureCheckFailedFault)(nil)).Elem()
+}
+
+type ToolsInstallationInProgress struct {
+ MigrationFault
+}
+
+func init() {
+ t["ToolsInstallationInProgress"] = reflect.TypeOf((*ToolsInstallationInProgress)(nil)).Elem()
+}
+
+type ToolsInstallationInProgressFault ToolsInstallationInProgress
+
+func init() {
+ t["ToolsInstallationInProgressFault"] = reflect.TypeOf((*ToolsInstallationInProgressFault)(nil)).Elem()
+}
+
+type ToolsUnavailable struct {
+ VimFault
+}
+
+func init() {
+ t["ToolsUnavailable"] = reflect.TypeOf((*ToolsUnavailable)(nil)).Elem()
+}
+
+type ToolsUnavailableFault ToolsUnavailable
+
+func init() {
+ t["ToolsUnavailableFault"] = reflect.TypeOf((*ToolsUnavailableFault)(nil)).Elem()
+}
+
+type ToolsUpgradeCancelled struct {
+ VmToolsUpgradeFault
+}
+
+func init() {
+ t["ToolsUpgradeCancelled"] = reflect.TypeOf((*ToolsUpgradeCancelled)(nil)).Elem()
+}
+
+type ToolsUpgradeCancelledFault ToolsUpgradeCancelled
+
+func init() {
+ t["ToolsUpgradeCancelledFault"] = reflect.TypeOf((*ToolsUpgradeCancelledFault)(nil)).Elem()
+}
+
+type TraversalSpec struct {
+ SelectionSpec
+
+ Type string `xml:"type"`
+ Path string `xml:"path"`
+ Skip *bool `xml:"skip"`
+ SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr"`
+}
+
+func init() {
+ t["TraversalSpec"] = reflect.TypeOf((*TraversalSpec)(nil)).Elem()
+}
+
+type TurnDiskLocatorLedOffRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuids []string `xml:"scsiDiskUuids"`
+}
+
+func init() {
+ t["TurnDiskLocatorLedOffRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOffRequestType)(nil)).Elem()
+}
+
+type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType
+
+func init() {
+ t["TurnDiskLocatorLedOff_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOff_Task)(nil)).Elem()
+}
+
+type TurnDiskLocatorLedOff_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type TurnDiskLocatorLedOnRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ScsiDiskUuids []string `xml:"scsiDiskUuids"`
+}
+
+func init() {
+ t["TurnDiskLocatorLedOnRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOnRequestType)(nil)).Elem()
+}
+
+type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType
+
+func init() {
+ t["TurnDiskLocatorLedOn_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOn_Task)(nil)).Elem()
+}
+
+type TurnDiskLocatorLedOn_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type TurnOffFaultToleranceForVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["TurnOffFaultToleranceForVMRequestType"] = reflect.TypeOf((*TurnOffFaultToleranceForVMRequestType)(nil)).Elem()
+}
+
+type TurnOffFaultToleranceForVM_Task TurnOffFaultToleranceForVMRequestType
+
+func init() {
+ t["TurnOffFaultToleranceForVM_Task"] = reflect.TypeOf((*TurnOffFaultToleranceForVM_Task)(nil)).Elem()
+}
+
+type TurnOffFaultToleranceForVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type TypeDescription struct {
+ Description
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["TypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem()
+}
+
+type UnSupportedDatastoreForVFlash struct {
+ UnsupportedDatastore
+
+ DatastoreName string `xml:"datastoreName"`
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["UnSupportedDatastoreForVFlash"] = reflect.TypeOf((*UnSupportedDatastoreForVFlash)(nil)).Elem()
+}
+
+type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash
+
+func init() {
+ t["UnSupportedDatastoreForVFlashFault"] = reflect.TypeOf((*UnSupportedDatastoreForVFlashFault)(nil)).Elem()
+}
+
+type UnassignUserFromGroup UnassignUserFromGroupRequestType
+
+func init() {
+ t["UnassignUserFromGroup"] = reflect.TypeOf((*UnassignUserFromGroup)(nil)).Elem()
+}
+
+type UnassignUserFromGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ User string `xml:"user"`
+ Group string `xml:"group"`
+}
+
+func init() {
+ t["UnassignUserFromGroupRequestType"] = reflect.TypeOf((*UnassignUserFromGroupRequestType)(nil)).Elem()
+}
+
+type UnassignUserFromGroupResponse struct {
+}
+
+type UnbindVnic UnbindVnicRequestType
+
+func init() {
+ t["UnbindVnic"] = reflect.TypeOf((*UnbindVnic)(nil)).Elem()
+}
+
+type UnbindVnicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaName string `xml:"iScsiHbaName"`
+ VnicDevice string `xml:"vnicDevice"`
+ Force bool `xml:"force"`
+}
+
+func init() {
+ t["UnbindVnicRequestType"] = reflect.TypeOf((*UnbindVnicRequestType)(nil)).Elem()
+}
+
+type UnbindVnicResponse struct {
+}
+
+type UncommittedUndoableDisk struct {
+ MigrationFault
+}
+
+func init() {
+ t["UncommittedUndoableDisk"] = reflect.TypeOf((*UncommittedUndoableDisk)(nil)).Elem()
+}
+
+type UncommittedUndoableDiskFault UncommittedUndoableDisk
+
+func init() {
+ t["UncommittedUndoableDiskFault"] = reflect.TypeOf((*UncommittedUndoableDiskFault)(nil)).Elem()
+}
+
+type UnconfiguredPropertyValue struct {
+ InvalidPropertyValue
+}
+
+func init() {
+ t["UnconfiguredPropertyValue"] = reflect.TypeOf((*UnconfiguredPropertyValue)(nil)).Elem()
+}
+
+type UnconfiguredPropertyValueFault UnconfiguredPropertyValue
+
+func init() {
+ t["UnconfiguredPropertyValueFault"] = reflect.TypeOf((*UnconfiguredPropertyValueFault)(nil)).Elem()
+}
+
+type UncustomizableGuest struct {
+ CustomizationFault
+
+ UncustomizableGuestOS string `xml:"uncustomizableGuestOS"`
+}
+
+func init() {
+ t["UncustomizableGuest"] = reflect.TypeOf((*UncustomizableGuest)(nil)).Elem()
+}
+
+type UncustomizableGuestFault UncustomizableGuest
+
+func init() {
+ t["UncustomizableGuestFault"] = reflect.TypeOf((*UncustomizableGuestFault)(nil)).Elem()
+}
+
+type UnexpectedCustomizationFault struct {
+ CustomizationFault
+}
+
+func init() {
+ t["UnexpectedCustomizationFault"] = reflect.TypeOf((*UnexpectedCustomizationFault)(nil)).Elem()
+}
+
+type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault
+
+func init() {
+ t["UnexpectedCustomizationFaultFault"] = reflect.TypeOf((*UnexpectedCustomizationFaultFault)(nil)).Elem()
+}
+
+type UnexpectedFault struct {
+ RuntimeFault
+
+ FaultName string `xml:"faultName"`
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["UnexpectedFault"] = reflect.TypeOf((*UnexpectedFault)(nil)).Elem()
+}
+
+type UnexpectedFaultFault UnexpectedFault
+
+func init() {
+ t["UnexpectedFaultFault"] = reflect.TypeOf((*UnexpectedFaultFault)(nil)).Elem()
+}
+
+type UninstallHostPatchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ BulletinIds []string `xml:"bulletinIds,omitempty"`
+ Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"`
+}
+
+func init() {
+ t["UninstallHostPatchRequestType"] = reflect.TypeOf((*UninstallHostPatchRequestType)(nil)).Elem()
+}
+
+type UninstallHostPatch_Task UninstallHostPatchRequestType
+
+func init() {
+ t["UninstallHostPatch_Task"] = reflect.TypeOf((*UninstallHostPatch_Task)(nil)).Elem()
+}
+
+type UninstallHostPatch_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UninstallIoFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+}
+
+func init() {
+ t["UninstallIoFilterRequestType"] = reflect.TypeOf((*UninstallIoFilterRequestType)(nil)).Elem()
+}
+
+type UninstallIoFilter_Task UninstallIoFilterRequestType
+
+func init() {
+ t["UninstallIoFilter_Task"] = reflect.TypeOf((*UninstallIoFilter_Task)(nil)).Elem()
+}
+
+type UninstallIoFilter_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UninstallService UninstallServiceRequestType
+
+func init() {
+ t["UninstallService"] = reflect.TypeOf((*UninstallService)(nil)).Elem()
+}
+
+type UninstallServiceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+}
+
+func init() {
+ t["UninstallServiceRequestType"] = reflect.TypeOf((*UninstallServiceRequestType)(nil)).Elem()
+}
+
+type UninstallServiceResponse struct {
+}
+
+type UnlicensedVirtualMachinesEvent struct {
+ LicenseEvent
+
+ Unlicensed int32 `xml:"unlicensed"`
+ Available int32 `xml:"available"`
+}
+
+func init() {
+ t["UnlicensedVirtualMachinesEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesEvent)(nil)).Elem()
+}
+
+type UnlicensedVirtualMachinesFoundEvent struct {
+ LicenseEvent
+
+ Available int32 `xml:"available"`
+}
+
+func init() {
+ t["UnlicensedVirtualMachinesFoundEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesFoundEvent)(nil)).Elem()
+}
+
+type UnmapVmfsVolumeExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid []string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["UnmapVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmapVmfsVolumeExRequestType)(nil)).Elem()
+}
+
+type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType
+
+func init() {
+ t["UnmapVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmapVmfsVolumeEx_Task)(nil)).Elem()
+}
+
+type UnmapVmfsVolumeEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UnmountDiskMappingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Mapping []VsanHostDiskMapping `xml:"mapping"`
+}
+
+func init() {
+ t["UnmountDiskMappingRequestType"] = reflect.TypeOf((*UnmountDiskMappingRequestType)(nil)).Elem()
+}
+
+type UnmountDiskMapping_Task UnmountDiskMappingRequestType
+
+func init() {
+ t["UnmountDiskMapping_Task"] = reflect.TypeOf((*UnmountDiskMapping_Task)(nil)).Elem()
+}
+
+type UnmountDiskMapping_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UnmountForceMountedVmfsVolume UnmountForceMountedVmfsVolumeRequestType
+
+func init() {
+ t["UnmountForceMountedVmfsVolume"] = reflect.TypeOf((*UnmountForceMountedVmfsVolume)(nil)).Elem()
+}
+
+type UnmountForceMountedVmfsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["UnmountForceMountedVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountForceMountedVmfsVolumeRequestType)(nil)).Elem()
+}
+
+type UnmountForceMountedVmfsVolumeResponse struct {
+}
+
+type UnmountToolsInstaller UnmountToolsInstallerRequestType
+
+func init() {
+ t["UnmountToolsInstaller"] = reflect.TypeOf((*UnmountToolsInstaller)(nil)).Elem()
+}
+
+type UnmountToolsInstallerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["UnmountToolsInstallerRequestType"] = reflect.TypeOf((*UnmountToolsInstallerRequestType)(nil)).Elem()
+}
+
+type UnmountToolsInstallerResponse struct {
+}
+
+type UnmountVffsVolume UnmountVffsVolumeRequestType
+
+func init() {
+ t["UnmountVffsVolume"] = reflect.TypeOf((*UnmountVffsVolume)(nil)).Elem()
+}
+
+type UnmountVffsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VffsUuid string `xml:"vffsUuid"`
+}
+
+func init() {
+ t["UnmountVffsVolumeRequestType"] = reflect.TypeOf((*UnmountVffsVolumeRequestType)(nil)).Elem()
+}
+
+type UnmountVffsVolumeResponse struct {
+}
+
+type UnmountVmfsVolume UnmountVmfsVolumeRequestType
+
+func init() {
+ t["UnmountVmfsVolume"] = reflect.TypeOf((*UnmountVmfsVolume)(nil)).Elem()
+}
+
+type UnmountVmfsVolumeExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid []string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["UnmountVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeExRequestType)(nil)).Elem()
+}
+
+type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType
+
+func init() {
+ t["UnmountVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmountVmfsVolumeEx_Task)(nil)).Elem()
+}
+
+type UnmountVmfsVolumeEx_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UnmountVmfsVolumeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid string `xml:"vmfsUuid"`
+}
+
+func init() {
+ t["UnmountVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeRequestType)(nil)).Elem()
+}
+
+type UnmountVmfsVolumeResponse struct {
+}
+
+type UnrecognizedHost struct {
+ VimFault
+
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["UnrecognizedHost"] = reflect.TypeOf((*UnrecognizedHost)(nil)).Elem()
+}
+
+type UnrecognizedHostFault UnrecognizedHost
+
+func init() {
+ t["UnrecognizedHostFault"] = reflect.TypeOf((*UnrecognizedHostFault)(nil)).Elem()
+}
+
+type UnregisterAndDestroyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["UnregisterAndDestroyRequestType"] = reflect.TypeOf((*UnregisterAndDestroyRequestType)(nil)).Elem()
+}
+
+type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType
+
+func init() {
+ t["UnregisterAndDestroy_Task"] = reflect.TypeOf((*UnregisterAndDestroy_Task)(nil)).Elem()
+}
+
+type UnregisterAndDestroy_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UnregisterExtension UnregisterExtensionRequestType
+
+func init() {
+ t["UnregisterExtension"] = reflect.TypeOf((*UnregisterExtension)(nil)).Elem()
+}
+
+type UnregisterExtensionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ExtensionKey string `xml:"extensionKey"`
+}
+
+func init() {
+ t["UnregisterExtensionRequestType"] = reflect.TypeOf((*UnregisterExtensionRequestType)(nil)).Elem()
+}
+
+type UnregisterExtensionResponse struct {
+}
+
+type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType
+
+func init() {
+ t["UnregisterHealthUpdateProvider"] = reflect.TypeOf((*UnregisterHealthUpdateProvider)(nil)).Elem()
+}
+
+type UnregisterHealthUpdateProviderRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ProviderId string `xml:"providerId"`
+}
+
+func init() {
+ t["UnregisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*UnregisterHealthUpdateProviderRequestType)(nil)).Elem()
+}
+
+type UnregisterHealthUpdateProviderResponse struct {
+}
+
+type UnregisterVM UnregisterVMRequestType
+
+func init() {
+ t["UnregisterVM"] = reflect.TypeOf((*UnregisterVM)(nil)).Elem()
+}
+
+type UnregisterVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["UnregisterVMRequestType"] = reflect.TypeOf((*UnregisterVMRequestType)(nil)).Elem()
+}
+
+type UnregisterVMResponse struct {
+}
+
+type UnsharedSwapVMotionNotSupported struct {
+ MigrationFeatureNotSupported
+}
+
+func init() {
+ t["UnsharedSwapVMotionNotSupported"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupported)(nil)).Elem()
+}
+
+type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported
+
+func init() {
+ t["UnsharedSwapVMotionNotSupportedFault"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupportedFault)(nil)).Elem()
+}
+
+type UnsupportedDatastore struct {
+ VmConfigFault
+
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["UnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem()
+}
+
+type UnsupportedDatastoreFault BaseUnsupportedDatastore
+
+func init() {
+ t["UnsupportedDatastoreFault"] = reflect.TypeOf((*UnsupportedDatastoreFault)(nil)).Elem()
+}
+
+type UnsupportedGuest struct {
+ InvalidVmConfig
+
+ UnsupportedGuestOS string `xml:"unsupportedGuestOS"`
+}
+
+func init() {
+ t["UnsupportedGuest"] = reflect.TypeOf((*UnsupportedGuest)(nil)).Elem()
+}
+
+type UnsupportedGuestFault UnsupportedGuest
+
+func init() {
+ t["UnsupportedGuestFault"] = reflect.TypeOf((*UnsupportedGuestFault)(nil)).Elem()
+}
+
+type UnsupportedVimApiVersion struct {
+ VimFault
+
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["UnsupportedVimApiVersion"] = reflect.TypeOf((*UnsupportedVimApiVersion)(nil)).Elem()
+}
+
+type UnsupportedVimApiVersionFault UnsupportedVimApiVersion
+
+func init() {
+ t["UnsupportedVimApiVersionFault"] = reflect.TypeOf((*UnsupportedVimApiVersionFault)(nil)).Elem()
+}
+
+type UnsupportedVmxLocation struct {
+ VmConfigFault
+}
+
+func init() {
+ t["UnsupportedVmxLocation"] = reflect.TypeOf((*UnsupportedVmxLocation)(nil)).Elem()
+}
+
+type UnsupportedVmxLocationFault UnsupportedVmxLocation
+
+func init() {
+ t["UnsupportedVmxLocationFault"] = reflect.TypeOf((*UnsupportedVmxLocationFault)(nil)).Elem()
+}
+
+type UnusedVirtualDiskBlocksNotScrubbed struct {
+ DeviceBackingNotSupported
+}
+
+func init() {
+ t["UnusedVirtualDiskBlocksNotScrubbed"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbed)(nil)).Elem()
+}
+
+type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed
+
+func init() {
+ t["UnusedVirtualDiskBlocksNotScrubbedFault"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbedFault)(nil)).Elem()
+}
+
+type UpdateAnswerFileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr"`
+}
+
+func init() {
+ t["UpdateAnswerFileRequestType"] = reflect.TypeOf((*UpdateAnswerFileRequestType)(nil)).Elem()
+}
+
+type UpdateAnswerFile_Task UpdateAnswerFileRequestType
+
+func init() {
+ t["UpdateAnswerFile_Task"] = reflect.TypeOf((*UpdateAnswerFile_Task)(nil)).Elem()
+}
+
+type UpdateAnswerFile_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateAssignedLicense UpdateAssignedLicenseRequestType
+
+func init() {
+ t["UpdateAssignedLicense"] = reflect.TypeOf((*UpdateAssignedLicense)(nil)).Elem()
+}
+
+type UpdateAssignedLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Entity string `xml:"entity"`
+ LicenseKey string `xml:"licenseKey"`
+ EntityDisplayName string `xml:"entityDisplayName,omitempty"`
+}
+
+func init() {
+ t["UpdateAssignedLicenseRequestType"] = reflect.TypeOf((*UpdateAssignedLicenseRequestType)(nil)).Elem()
+}
+
+type UpdateAssignedLicenseResponse struct {
+ Returnval LicenseManagerLicenseInfo `xml:"returnval"`
+}
+
+type UpdateAuthorizationRole UpdateAuthorizationRoleRequestType
+
+func init() {
+ t["UpdateAuthorizationRole"] = reflect.TypeOf((*UpdateAuthorizationRole)(nil)).Elem()
+}
+
+type UpdateAuthorizationRoleRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ RoleId int32 `xml:"roleId"`
+ NewName string `xml:"newName"`
+ PrivIds []string `xml:"privIds,omitempty"`
+}
+
+func init() {
+ t["UpdateAuthorizationRoleRequestType"] = reflect.TypeOf((*UpdateAuthorizationRoleRequestType)(nil)).Elem()
+}
+
+type UpdateAuthorizationRoleResponse struct {
+}
+
+type UpdateBootDevice UpdateBootDeviceRequestType
+
+func init() {
+ t["UpdateBootDevice"] = reflect.TypeOf((*UpdateBootDevice)(nil)).Elem()
+}
+
+type UpdateBootDeviceRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["UpdateBootDeviceRequestType"] = reflect.TypeOf((*UpdateBootDeviceRequestType)(nil)).Elem()
+}
+
+type UpdateBootDeviceResponse struct {
+}
+
+type UpdateChildResourceConfiguration UpdateChildResourceConfigurationRequestType
+
+func init() {
+ t["UpdateChildResourceConfiguration"] = reflect.TypeOf((*UpdateChildResourceConfiguration)(nil)).Elem()
+}
+
+type UpdateChildResourceConfigurationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec []ResourceConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["UpdateChildResourceConfigurationRequestType"] = reflect.TypeOf((*UpdateChildResourceConfigurationRequestType)(nil)).Elem()
+}
+
+type UpdateChildResourceConfigurationResponse struct {
+}
+
+type UpdateClusterProfile UpdateClusterProfileRequestType
+
+func init() {
+ t["UpdateClusterProfile"] = reflect.TypeOf((*UpdateClusterProfile)(nil)).Elem()
+}
+
+type UpdateClusterProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config BaseClusterProfileConfigSpec `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdateClusterProfileRequestType"] = reflect.TypeOf((*UpdateClusterProfileRequestType)(nil)).Elem()
+}
+
+type UpdateClusterProfileResponse struct {
+}
+
+type UpdateConfig UpdateConfigRequestType
+
+func init() {
+ t["UpdateConfig"] = reflect.TypeOf((*UpdateConfig)(nil)).Elem()
+}
+
+type UpdateConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name,omitempty"`
+ Config *ResourceConfigSpec `xml:"config,omitempty"`
+}
+
+func init() {
+ t["UpdateConfigRequestType"] = reflect.TypeOf((*UpdateConfigRequestType)(nil)).Elem()
+}
+
+type UpdateConfigResponse struct {
+}
+
+type UpdateConsoleIpRouteConfig UpdateConsoleIpRouteConfigRequestType
+
+func init() {
+ t["UpdateConsoleIpRouteConfig"] = reflect.TypeOf((*UpdateConsoleIpRouteConfig)(nil)).Elem()
+}
+
+type UpdateConsoleIpRouteConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config BaseHostIpRouteConfig `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdateConsoleIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateConsoleIpRouteConfigRequestType)(nil)).Elem()
+}
+
+type UpdateConsoleIpRouteConfigResponse struct {
+}
+
+type UpdateCounterLevelMapping UpdateCounterLevelMappingRequestType
+
+func init() {
+ t["UpdateCounterLevelMapping"] = reflect.TypeOf((*UpdateCounterLevelMapping)(nil)).Elem()
+}
+
+type UpdateCounterLevelMappingRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap"`
+}
+
+func init() {
+ t["UpdateCounterLevelMappingRequestType"] = reflect.TypeOf((*UpdateCounterLevelMappingRequestType)(nil)).Elem()
+}
+
+type UpdateCounterLevelMappingResponse struct {
+}
+
+type UpdateDVSHealthCheckConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr"`
+}
+
+func init() {
+ t["UpdateDVSHealthCheckConfigRequestType"] = reflect.TypeOf((*UpdateDVSHealthCheckConfigRequestType)(nil)).Elem()
+}
+
+type UpdateDVSHealthCheckConfig_Task UpdateDVSHealthCheckConfigRequestType
+
+func init() {
+ t["UpdateDVSHealthCheckConfig_Task"] = reflect.TypeOf((*UpdateDVSHealthCheckConfig_Task)(nil)).Elem()
+}
+
+type UpdateDVSHealthCheckConfig_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateDVSLacpGroupConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec"`
+}
+
+func init() {
+ t["UpdateDVSLacpGroupConfigRequestType"] = reflect.TypeOf((*UpdateDVSLacpGroupConfigRequestType)(nil)).Elem()
+}
+
+type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType
+
+func init() {
+ t["UpdateDVSLacpGroupConfig_Task"] = reflect.TypeOf((*UpdateDVSLacpGroupConfig_Task)(nil)).Elem()
+}
+
+type UpdateDVSLacpGroupConfig_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateDateTime UpdateDateTimeRequestType
+
+func init() {
+ t["UpdateDateTime"] = reflect.TypeOf((*UpdateDateTime)(nil)).Elem()
+}
+
+type UpdateDateTimeConfig UpdateDateTimeConfigRequestType
+
+func init() {
+ t["UpdateDateTimeConfig"] = reflect.TypeOf((*UpdateDateTimeConfig)(nil)).Elem()
+}
+
+type UpdateDateTimeConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config HostDateTimeConfig `xml:"config"`
+}
+
+func init() {
+ t["UpdateDateTimeConfigRequestType"] = reflect.TypeOf((*UpdateDateTimeConfigRequestType)(nil)).Elem()
+}
+
+type UpdateDateTimeConfigResponse struct {
+}
+
+type UpdateDateTimeRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DateTime time.Time `xml:"dateTime"`
+}
+
+func init() {
+ t["UpdateDateTimeRequestType"] = reflect.TypeOf((*UpdateDateTimeRequestType)(nil)).Elem()
+}
+
+type UpdateDateTimeResponse struct {
+}
+
+type UpdateDefaultPolicy UpdateDefaultPolicyRequestType
+
+func init() {
+ t["UpdateDefaultPolicy"] = reflect.TypeOf((*UpdateDefaultPolicy)(nil)).Elem()
+}
+
+type UpdateDefaultPolicyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy"`
+}
+
+func init() {
+ t["UpdateDefaultPolicyRequestType"] = reflect.TypeOf((*UpdateDefaultPolicyRequestType)(nil)).Elem()
+}
+
+type UpdateDefaultPolicyResponse struct {
+}
+
+type UpdateDiskPartitions UpdateDiskPartitionsRequestType
+
+func init() {
+ t["UpdateDiskPartitions"] = reflect.TypeOf((*UpdateDiskPartitions)(nil)).Elem()
+}
+
+type UpdateDiskPartitionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ DevicePath string `xml:"devicePath"`
+ Spec HostDiskPartitionSpec `xml:"spec"`
+}
+
+func init() {
+ t["UpdateDiskPartitionsRequestType"] = reflect.TypeOf((*UpdateDiskPartitionsRequestType)(nil)).Elem()
+}
+
+type UpdateDiskPartitionsResponse struct {
+}
+
+type UpdateDnsConfig UpdateDnsConfigRequestType
+
+func init() {
+ t["UpdateDnsConfig"] = reflect.TypeOf((*UpdateDnsConfig)(nil)).Elem()
+}
+
+type UpdateDnsConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config BaseHostDnsConfig `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdateDnsConfigRequestType"] = reflect.TypeOf((*UpdateDnsConfigRequestType)(nil)).Elem()
+}
+
+type UpdateDnsConfigResponse struct {
+}
+
+type UpdateDvsCapability UpdateDvsCapabilityRequestType
+
+func init() {
+ t["UpdateDvsCapability"] = reflect.TypeOf((*UpdateDvsCapability)(nil)).Elem()
+}
+
+type UpdateDvsCapabilityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Capability DVSCapability `xml:"capability"`
+}
+
+func init() {
+ t["UpdateDvsCapabilityRequestType"] = reflect.TypeOf((*UpdateDvsCapabilityRequestType)(nil)).Elem()
+}
+
+type UpdateDvsCapabilityResponse struct {
+}
+
+type UpdateExtension UpdateExtensionRequestType
+
+func init() {
+ t["UpdateExtension"] = reflect.TypeOf((*UpdateExtension)(nil)).Elem()
+}
+
+type UpdateExtensionRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Extension Extension `xml:"extension"`
+}
+
+func init() {
+ t["UpdateExtensionRequestType"] = reflect.TypeOf((*UpdateExtensionRequestType)(nil)).Elem()
+}
+
+type UpdateExtensionResponse struct {
+}
+
+type UpdateFlags UpdateFlagsRequestType
+
+func init() {
+ t["UpdateFlags"] = reflect.TypeOf((*UpdateFlags)(nil)).Elem()
+}
+
+type UpdateFlagsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FlagInfo HostFlagInfo `xml:"flagInfo"`
+}
+
+func init() {
+ t["UpdateFlagsRequestType"] = reflect.TypeOf((*UpdateFlagsRequestType)(nil)).Elem()
+}
+
+type UpdateFlagsResponse struct {
+}
+
+type UpdateGraphicsConfig UpdateGraphicsConfigRequestType
+
+func init() {
+ t["UpdateGraphicsConfig"] = reflect.TypeOf((*UpdateGraphicsConfig)(nil)).Elem()
+}
+
+type UpdateGraphicsConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config HostGraphicsConfig `xml:"config"`
+}
+
+func init() {
+ t["UpdateGraphicsConfigRequestType"] = reflect.TypeOf((*UpdateGraphicsConfigRequestType)(nil)).Elem()
+}
+
+type UpdateGraphicsConfigResponse struct {
+}
+
+type UpdateHostCustomizationsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ HostToConfigSpecMap []HostProfileManagerHostToConfigSpecMap `xml:"hostToConfigSpecMap,omitempty"`
+}
+
+func init() {
+ t["UpdateHostCustomizationsRequestType"] = reflect.TypeOf((*UpdateHostCustomizationsRequestType)(nil)).Elem()
+}
+
+type UpdateHostCustomizations_Task UpdateHostCustomizationsRequestType
+
+func init() {
+ t["UpdateHostCustomizations_Task"] = reflect.TypeOf((*UpdateHostCustomizations_Task)(nil)).Elem()
+}
+
+type UpdateHostCustomizations_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateHostImageAcceptanceLevel UpdateHostImageAcceptanceLevelRequestType
+
+func init() {
+ t["UpdateHostImageAcceptanceLevel"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevel)(nil)).Elem()
+}
+
+type UpdateHostImageAcceptanceLevelRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ NewAcceptanceLevel string `xml:"newAcceptanceLevel"`
+}
+
+func init() {
+ t["UpdateHostImageAcceptanceLevelRequestType"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevelRequestType)(nil)).Elem()
+}
+
+type UpdateHostImageAcceptanceLevelResponse struct {
+}
+
+type UpdateHostProfile UpdateHostProfileRequestType
+
+func init() {
+ t["UpdateHostProfile"] = reflect.TypeOf((*UpdateHostProfile)(nil)).Elem()
+}
+
+type UpdateHostProfileRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config BaseHostProfileConfigSpec `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdateHostProfileRequestType"] = reflect.TypeOf((*UpdateHostProfileRequestType)(nil)).Elem()
+}
+
+type UpdateHostProfileResponse struct {
+}
+
+type UpdateHostSpecification UpdateHostSpecificationRequestType
+
+func init() {
+ t["UpdateHostSpecification"] = reflect.TypeOf((*UpdateHostSpecification)(nil)).Elem()
+}
+
+type UpdateHostSpecificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ HostSpec HostSpecification `xml:"hostSpec"`
+}
+
+func init() {
+ t["UpdateHostSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSpecificationRequestType)(nil)).Elem()
+}
+
+type UpdateHostSpecificationResponse struct {
+}
+
+type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType
+
+func init() {
+ t["UpdateHostSubSpecification"] = reflect.TypeOf((*UpdateHostSubSpecification)(nil)).Elem()
+}
+
+type UpdateHostSubSpecificationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host ManagedObjectReference `xml:"host"`
+ HostSubSpec HostSubSpecification `xml:"hostSubSpec"`
+}
+
+func init() {
+ t["UpdateHostSubSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSubSpecificationRequestType)(nil)).Elem()
+}
+
+type UpdateHostSubSpecificationResponse struct {
+}
+
+type UpdateInternetScsiAdvancedOptions UpdateInternetScsiAdvancedOptionsRequestType
+
+func init() {
+ t["UpdateInternetScsiAdvancedOptions"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptions)(nil)).Elem()
+}
+
+type UpdateInternetScsiAdvancedOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"`
+ Options []HostInternetScsiHbaParamValue `xml:"options"`
+}
+
+func init() {
+ t["UpdateInternetScsiAdvancedOptionsRequestType"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptionsRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiAdvancedOptionsResponse struct {
+}
+
+type UpdateInternetScsiAlias UpdateInternetScsiAliasRequestType
+
+func init() {
+ t["UpdateInternetScsiAlias"] = reflect.TypeOf((*UpdateInternetScsiAlias)(nil)).Elem()
+}
+
+type UpdateInternetScsiAliasRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ IScsiAlias string `xml:"iScsiAlias"`
+}
+
+func init() {
+ t["UpdateInternetScsiAliasRequestType"] = reflect.TypeOf((*UpdateInternetScsiAliasRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiAliasResponse struct {
+}
+
+type UpdateInternetScsiAuthenticationProperties UpdateInternetScsiAuthenticationPropertiesRequestType
+
+func init() {
+ t["UpdateInternetScsiAuthenticationProperties"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationProperties)(nil)).Elem()
+}
+
+type UpdateInternetScsiAuthenticationPropertiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties"`
+ TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"`
+}
+
+func init() {
+ t["UpdateInternetScsiAuthenticationPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationPropertiesRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiAuthenticationPropertiesResponse struct {
+}
+
+type UpdateInternetScsiDigestProperties UpdateInternetScsiDigestPropertiesRequestType
+
+func init() {
+ t["UpdateInternetScsiDigestProperties"] = reflect.TypeOf((*UpdateInternetScsiDigestProperties)(nil)).Elem()
+}
+
+type UpdateInternetScsiDigestPropertiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"`
+ DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties"`
+}
+
+func init() {
+ t["UpdateInternetScsiDigestPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDigestPropertiesRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiDigestPropertiesResponse struct {
+}
+
+type UpdateInternetScsiDiscoveryProperties UpdateInternetScsiDiscoveryPropertiesRequestType
+
+func init() {
+ t["UpdateInternetScsiDiscoveryProperties"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryProperties)(nil)).Elem()
+}
+
+type UpdateInternetScsiDiscoveryPropertiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties"`
+}
+
+func init() {
+ t["UpdateInternetScsiDiscoveryPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryPropertiesRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiDiscoveryPropertiesResponse struct {
+}
+
+type UpdateInternetScsiIPProperties UpdateInternetScsiIPPropertiesRequestType
+
+func init() {
+ t["UpdateInternetScsiIPProperties"] = reflect.TypeOf((*UpdateInternetScsiIPProperties)(nil)).Elem()
+}
+
+type UpdateInternetScsiIPPropertiesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties"`
+}
+
+func init() {
+ t["UpdateInternetScsiIPPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiIPPropertiesRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiIPPropertiesResponse struct {
+}
+
+type UpdateInternetScsiName UpdateInternetScsiNameRequestType
+
+func init() {
+ t["UpdateInternetScsiName"] = reflect.TypeOf((*UpdateInternetScsiName)(nil)).Elem()
+}
+
+type UpdateInternetScsiNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IScsiHbaDevice string `xml:"iScsiHbaDevice"`
+ IScsiName string `xml:"iScsiName"`
+}
+
+func init() {
+ t["UpdateInternetScsiNameRequestType"] = reflect.TypeOf((*UpdateInternetScsiNameRequestType)(nil)).Elem()
+}
+
+type UpdateInternetScsiNameResponse struct {
+}
+
+type UpdateIpConfig UpdateIpConfigRequestType
+
+func init() {
+ t["UpdateIpConfig"] = reflect.TypeOf((*UpdateIpConfig)(nil)).Elem()
+}
+
+type UpdateIpConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IpConfig HostIpConfig `xml:"ipConfig"`
+}
+
+func init() {
+ t["UpdateIpConfigRequestType"] = reflect.TypeOf((*UpdateIpConfigRequestType)(nil)).Elem()
+}
+
+type UpdateIpConfigResponse struct {
+}
+
+type UpdateIpPool UpdateIpPoolRequestType
+
+func init() {
+ t["UpdateIpPool"] = reflect.TypeOf((*UpdateIpPool)(nil)).Elem()
+}
+
+type UpdateIpPoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Dc ManagedObjectReference `xml:"dc"`
+ Pool IpPool `xml:"pool"`
+}
+
+func init() {
+ t["UpdateIpPoolRequestType"] = reflect.TypeOf((*UpdateIpPoolRequestType)(nil)).Elem()
+}
+
+type UpdateIpPoolResponse struct {
+}
+
+type UpdateIpRouteConfig UpdateIpRouteConfigRequestType
+
+func init() {
+ t["UpdateIpRouteConfig"] = reflect.TypeOf((*UpdateIpRouteConfig)(nil)).Elem()
+}
+
+type UpdateIpRouteConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config BaseHostIpRouteConfig `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdateIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteConfigRequestType)(nil)).Elem()
+}
+
+type UpdateIpRouteConfigResponse struct {
+}
+
+type UpdateIpRouteTableConfig UpdateIpRouteTableConfigRequestType
+
+func init() {
+ t["UpdateIpRouteTableConfig"] = reflect.TypeOf((*UpdateIpRouteTableConfig)(nil)).Elem()
+}
+
+type UpdateIpRouteTableConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config HostIpRouteTableConfig `xml:"config"`
+}
+
+func init() {
+ t["UpdateIpRouteTableConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteTableConfigRequestType)(nil)).Elem()
+}
+
+type UpdateIpRouteTableConfigResponse struct {
+}
+
+type UpdateIpmi UpdateIpmiRequestType
+
+func init() {
+ t["UpdateIpmi"] = reflect.TypeOf((*UpdateIpmi)(nil)).Elem()
+}
+
+type UpdateIpmiRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ IpmiInfo HostIpmiInfo `xml:"ipmiInfo"`
+}
+
+func init() {
+ t["UpdateIpmiRequestType"] = reflect.TypeOf((*UpdateIpmiRequestType)(nil)).Elem()
+}
+
+type UpdateIpmiResponse struct {
+}
+
+type UpdateKmipServer UpdateKmipServerRequestType
+
+func init() {
+ t["UpdateKmipServer"] = reflect.TypeOf((*UpdateKmipServer)(nil)).Elem()
+}
+
+type UpdateKmipServerRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Server KmipServerSpec `xml:"server"`
+}
+
+func init() {
+ t["UpdateKmipServerRequestType"] = reflect.TypeOf((*UpdateKmipServerRequestType)(nil)).Elem()
+}
+
+type UpdateKmipServerResponse struct {
+}
+
+type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType
+
+func init() {
+ t["UpdateKmsSignedCsrClientCert"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCert)(nil)).Elem()
+}
+
+type UpdateKmsSignedCsrClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+ Certificate string `xml:"certificate"`
+}
+
+func init() {
+ t["UpdateKmsSignedCsrClientCertRequestType"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCertRequestType)(nil)).Elem()
+}
+
+type UpdateKmsSignedCsrClientCertResponse struct {
+}
+
+type UpdateLicense UpdateLicenseRequestType
+
+func init() {
+ t["UpdateLicense"] = reflect.TypeOf((*UpdateLicense)(nil)).Elem()
+}
+
+type UpdateLicenseLabel UpdateLicenseLabelRequestType
+
+func init() {
+ t["UpdateLicenseLabel"] = reflect.TypeOf((*UpdateLicenseLabel)(nil)).Elem()
+}
+
+type UpdateLicenseLabelRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+ LabelKey string `xml:"labelKey"`
+ LabelValue string `xml:"labelValue"`
+}
+
+func init() {
+ t["UpdateLicenseLabelRequestType"] = reflect.TypeOf((*UpdateLicenseLabelRequestType)(nil)).Elem()
+}
+
+type UpdateLicenseLabelResponse struct {
+}
+
+type UpdateLicenseRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LicenseKey string `xml:"licenseKey"`
+ Labels []KeyValue `xml:"labels,omitempty"`
+}
+
+func init() {
+ t["UpdateLicenseRequestType"] = reflect.TypeOf((*UpdateLicenseRequestType)(nil)).Elem()
+}
+
+type UpdateLicenseResponse struct {
+ Returnval LicenseManagerLicenseInfo `xml:"returnval"`
+}
+
+type UpdateLinkedChildren UpdateLinkedChildrenRequestType
+
+func init() {
+ t["UpdateLinkedChildren"] = reflect.TypeOf((*UpdateLinkedChildren)(nil)).Elem()
+}
+
+type UpdateLinkedChildrenRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty"`
+ RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty"`
+}
+
+func init() {
+ t["UpdateLinkedChildrenRequestType"] = reflect.TypeOf((*UpdateLinkedChildrenRequestType)(nil)).Elem()
+}
+
+type UpdateLinkedChildrenResponse struct {
+}
+
+type UpdateLocalSwapDatastore UpdateLocalSwapDatastoreRequestType
+
+func init() {
+ t["UpdateLocalSwapDatastore"] = reflect.TypeOf((*UpdateLocalSwapDatastore)(nil)).Elem()
+}
+
+type UpdateLocalSwapDatastoreRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+}
+
+func init() {
+ t["UpdateLocalSwapDatastoreRequestType"] = reflect.TypeOf((*UpdateLocalSwapDatastoreRequestType)(nil)).Elem()
+}
+
+type UpdateLocalSwapDatastoreResponse struct {
+}
+
+type UpdateLockdownExceptions UpdateLockdownExceptionsRequestType
+
+func init() {
+ t["UpdateLockdownExceptions"] = reflect.TypeOf((*UpdateLockdownExceptions)(nil)).Elem()
+}
+
+type UpdateLockdownExceptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Users []string `xml:"users,omitempty"`
+}
+
+func init() {
+ t["UpdateLockdownExceptionsRequestType"] = reflect.TypeOf((*UpdateLockdownExceptionsRequestType)(nil)).Elem()
+}
+
+type UpdateLockdownExceptionsResponse struct {
+}
+
+type UpdateModuleOptionString UpdateModuleOptionStringRequestType
+
+func init() {
+ t["UpdateModuleOptionString"] = reflect.TypeOf((*UpdateModuleOptionString)(nil)).Elem()
+}
+
+type UpdateModuleOptionStringRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Options string `xml:"options"`
+}
+
+func init() {
+ t["UpdateModuleOptionStringRequestType"] = reflect.TypeOf((*UpdateModuleOptionStringRequestType)(nil)).Elem()
+}
+
+type UpdateModuleOptionStringResponse struct {
+}
+
+type UpdateNetworkConfig UpdateNetworkConfigRequestType
+
+func init() {
+ t["UpdateNetworkConfig"] = reflect.TypeOf((*UpdateNetworkConfig)(nil)).Elem()
+}
+
+type UpdateNetworkConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config HostNetworkConfig `xml:"config"`
+ ChangeMode string `xml:"changeMode"`
+}
+
+func init() {
+ t["UpdateNetworkConfigRequestType"] = reflect.TypeOf((*UpdateNetworkConfigRequestType)(nil)).Elem()
+}
+
+type UpdateNetworkConfigResponse struct {
+ Returnval HostNetworkConfigResult `xml:"returnval"`
+}
+
+type UpdateNetworkResourcePool UpdateNetworkResourcePoolRequestType
+
+func init() {
+ t["UpdateNetworkResourcePool"] = reflect.TypeOf((*UpdateNetworkResourcePool)(nil)).Elem()
+}
+
+type UpdateNetworkResourcePoolRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec"`
+}
+
+func init() {
+ t["UpdateNetworkResourcePoolRequestType"] = reflect.TypeOf((*UpdateNetworkResourcePoolRequestType)(nil)).Elem()
+}
+
+type UpdateNetworkResourcePoolResponse struct {
+}
+
+type UpdateOptions UpdateOptionsRequestType
+
+func init() {
+ t["UpdateOptions"] = reflect.TypeOf((*UpdateOptions)(nil)).Elem()
+}
+
+type UpdateOptionsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ChangedValue []BaseOptionValue `xml:"changedValue,typeattr"`
+}
+
+func init() {
+ t["UpdateOptionsRequestType"] = reflect.TypeOf((*UpdateOptionsRequestType)(nil)).Elem()
+}
+
+type UpdateOptionsResponse struct {
+}
+
+type UpdatePassthruConfig UpdatePassthruConfigRequestType
+
+func init() {
+ t["UpdatePassthruConfig"] = reflect.TypeOf((*UpdatePassthruConfig)(nil)).Elem()
+}
+
+type UpdatePassthruConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config []BaseHostPciPassthruConfig `xml:"config,typeattr"`
+}
+
+func init() {
+ t["UpdatePassthruConfigRequestType"] = reflect.TypeOf((*UpdatePassthruConfigRequestType)(nil)).Elem()
+}
+
+type UpdatePassthruConfigResponse struct {
+}
+
+type UpdatePerfInterval UpdatePerfIntervalRequestType
+
+func init() {
+ t["UpdatePerfInterval"] = reflect.TypeOf((*UpdatePerfInterval)(nil)).Elem()
+}
+
+type UpdatePerfIntervalRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Interval PerfInterval `xml:"interval"`
+}
+
+func init() {
+ t["UpdatePerfIntervalRequestType"] = reflect.TypeOf((*UpdatePerfIntervalRequestType)(nil)).Elem()
+}
+
+type UpdatePerfIntervalResponse struct {
+}
+
+type UpdatePhysicalNicLinkSpeed UpdatePhysicalNicLinkSpeedRequestType
+
+func init() {
+ t["UpdatePhysicalNicLinkSpeed"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeed)(nil)).Elem()
+}
+
+type UpdatePhysicalNicLinkSpeedRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+ LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"`
+}
+
+func init() {
+ t["UpdatePhysicalNicLinkSpeedRequestType"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeedRequestType)(nil)).Elem()
+}
+
+type UpdatePhysicalNicLinkSpeedResponse struct {
+}
+
+type UpdatePortGroup UpdatePortGroupRequestType
+
+func init() {
+ t["UpdatePortGroup"] = reflect.TypeOf((*UpdatePortGroup)(nil)).Elem()
+}
+
+type UpdatePortGroupRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PgName string `xml:"pgName"`
+ Portgrp HostPortGroupSpec `xml:"portgrp"`
+}
+
+func init() {
+ t["UpdatePortGroupRequestType"] = reflect.TypeOf((*UpdatePortGroupRequestType)(nil)).Elem()
+}
+
+type UpdatePortGroupResponse struct {
+}
+
+type UpdateProgress UpdateProgressRequestType
+
+func init() {
+ t["UpdateProgress"] = reflect.TypeOf((*UpdateProgress)(nil)).Elem()
+}
+
+type UpdateProgressRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ PercentDone int32 `xml:"percentDone"`
+}
+
+func init() {
+ t["UpdateProgressRequestType"] = reflect.TypeOf((*UpdateProgressRequestType)(nil)).Elem()
+}
+
+type UpdateProgressResponse struct {
+}
+
+type UpdateReferenceHost UpdateReferenceHostRequestType
+
+func init() {
+ t["UpdateReferenceHost"] = reflect.TypeOf((*UpdateReferenceHost)(nil)).Elem()
+}
+
+type UpdateReferenceHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["UpdateReferenceHostRequestType"] = reflect.TypeOf((*UpdateReferenceHostRequestType)(nil)).Elem()
+}
+
+type UpdateReferenceHostResponse struct {
+}
+
+type UpdateRuleset UpdateRulesetRequestType
+
+func init() {
+ t["UpdateRuleset"] = reflect.TypeOf((*UpdateRuleset)(nil)).Elem()
+}
+
+type UpdateRulesetRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+ Spec HostFirewallRulesetRulesetSpec `xml:"spec"`
+}
+
+func init() {
+ t["UpdateRulesetRequestType"] = reflect.TypeOf((*UpdateRulesetRequestType)(nil)).Elem()
+}
+
+type UpdateRulesetResponse struct {
+}
+
+type UpdateScsiLunDisplayName UpdateScsiLunDisplayNameRequestType
+
+func init() {
+ t["UpdateScsiLunDisplayName"] = reflect.TypeOf((*UpdateScsiLunDisplayName)(nil)).Elem()
+}
+
+type UpdateScsiLunDisplayNameRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ LunUuid string `xml:"lunUuid"`
+ DisplayName string `xml:"displayName"`
+}
+
+func init() {
+ t["UpdateScsiLunDisplayNameRequestType"] = reflect.TypeOf((*UpdateScsiLunDisplayNameRequestType)(nil)).Elem()
+}
+
+type UpdateScsiLunDisplayNameResponse struct {
+}
+
+type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType
+
+func init() {
+ t["UpdateSelfSignedClientCert"] = reflect.TypeOf((*UpdateSelfSignedClientCert)(nil)).Elem()
+}
+
+type UpdateSelfSignedClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+ Certificate string `xml:"certificate"`
+}
+
+func init() {
+ t["UpdateSelfSignedClientCertRequestType"] = reflect.TypeOf((*UpdateSelfSignedClientCertRequestType)(nil)).Elem()
+}
+
+type UpdateSelfSignedClientCertResponse struct {
+}
+
+type UpdateServiceConsoleVirtualNic UpdateServiceConsoleVirtualNicRequestType
+
+func init() {
+ t["UpdateServiceConsoleVirtualNic"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNic)(nil)).Elem()
+}
+
+type UpdateServiceConsoleVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+ Nic HostVirtualNicSpec `xml:"nic"`
+}
+
+func init() {
+ t["UpdateServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNicRequestType)(nil)).Elem()
+}
+
+type UpdateServiceConsoleVirtualNicResponse struct {
+}
+
+type UpdateServiceMessage UpdateServiceMessageRequestType
+
+func init() {
+ t["UpdateServiceMessage"] = reflect.TypeOf((*UpdateServiceMessage)(nil)).Elem()
+}
+
+type UpdateServiceMessageRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Message string `xml:"message"`
+}
+
+func init() {
+ t["UpdateServiceMessageRequestType"] = reflect.TypeOf((*UpdateServiceMessageRequestType)(nil)).Elem()
+}
+
+type UpdateServiceMessageResponse struct {
+}
+
+type UpdateServicePolicy UpdateServicePolicyRequestType
+
+func init() {
+ t["UpdateServicePolicy"] = reflect.TypeOf((*UpdateServicePolicy)(nil)).Elem()
+}
+
+type UpdateServicePolicyRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Id string `xml:"id"`
+ Policy string `xml:"policy"`
+}
+
+func init() {
+ t["UpdateServicePolicyRequestType"] = reflect.TypeOf((*UpdateServicePolicyRequestType)(nil)).Elem()
+}
+
+type UpdateServicePolicyResponse struct {
+}
+
+type UpdateSet struct {
+ DynamicData
+
+ Version string `xml:"version"`
+ FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty"`
+ Truncated *bool `xml:"truncated"`
+}
+
+func init() {
+ t["UpdateSet"] = reflect.TypeOf((*UpdateSet)(nil)).Elem()
+}
+
+type UpdateSoftwareInternetScsiEnabled UpdateSoftwareInternetScsiEnabledRequestType
+
+func init() {
+ t["UpdateSoftwareInternetScsiEnabled"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabled)(nil)).Elem()
+}
+
+type UpdateSoftwareInternetScsiEnabledRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Enabled bool `xml:"enabled"`
+}
+
+func init() {
+ t["UpdateSoftwareInternetScsiEnabledRequestType"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabledRequestType)(nil)).Elem()
+}
+
+type UpdateSoftwareInternetScsiEnabledResponse struct {
+}
+
+type UpdateSystemResources UpdateSystemResourcesRequestType
+
+func init() {
+ t["UpdateSystemResources"] = reflect.TypeOf((*UpdateSystemResources)(nil)).Elem()
+}
+
+type UpdateSystemResourcesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ ResourceInfo HostSystemResourceInfo `xml:"resourceInfo"`
+}
+
+func init() {
+ t["UpdateSystemResourcesRequestType"] = reflect.TypeOf((*UpdateSystemResourcesRequestType)(nil)).Elem()
+}
+
+type UpdateSystemResourcesResponse struct {
+}
+
+type UpdateSystemSwapConfiguration UpdateSystemSwapConfigurationRequestType
+
+func init() {
+ t["UpdateSystemSwapConfiguration"] = reflect.TypeOf((*UpdateSystemSwapConfiguration)(nil)).Elem()
+}
+
+type UpdateSystemSwapConfigurationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig"`
+}
+
+func init() {
+ t["UpdateSystemSwapConfigurationRequestType"] = reflect.TypeOf((*UpdateSystemSwapConfigurationRequestType)(nil)).Elem()
+}
+
+type UpdateSystemSwapConfigurationResponse struct {
+}
+
+type UpdateSystemUsers UpdateSystemUsersRequestType
+
+func init() {
+ t["UpdateSystemUsers"] = reflect.TypeOf((*UpdateSystemUsers)(nil)).Elem()
+}
+
+type UpdateSystemUsersRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Users []string `xml:"users,omitempty"`
+}
+
+func init() {
+ t["UpdateSystemUsersRequestType"] = reflect.TypeOf((*UpdateSystemUsersRequestType)(nil)).Elem()
+}
+
+type UpdateSystemUsersResponse struct {
+}
+
+type UpdateUser UpdateUserRequestType
+
+func init() {
+ t["UpdateUser"] = reflect.TypeOf((*UpdateUser)(nil)).Elem()
+}
+
+type UpdateUserRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ User BaseHostAccountSpec `xml:"user,typeattr"`
+}
+
+func init() {
+ t["UpdateUserRequestType"] = reflect.TypeOf((*UpdateUserRequestType)(nil)).Elem()
+}
+
+type UpdateUserResponse struct {
+}
+
+type UpdateVAppConfig UpdateVAppConfigRequestType
+
+func init() {
+ t["UpdateVAppConfig"] = reflect.TypeOf((*UpdateVAppConfig)(nil)).Elem()
+}
+
+type UpdateVAppConfigRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Spec VAppConfigSpec `xml:"spec"`
+}
+
+func init() {
+ t["UpdateVAppConfigRequestType"] = reflect.TypeOf((*UpdateVAppConfigRequestType)(nil)).Elem()
+}
+
+type UpdateVAppConfigResponse struct {
+}
+
+type UpdateVVolVirtualMachineFilesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty"`
+}
+
+func init() {
+ t["UpdateVVolVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVVolVirtualMachineFilesRequestType)(nil)).Elem()
+}
+
+type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType
+
+func init() {
+ t["UpdateVVolVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVVolVirtualMachineFiles_Task)(nil)).Elem()
+}
+
+type UpdateVVolVirtualMachineFiles_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateVirtualMachineFilesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping"`
+}
+
+func init() {
+ t["UpdateVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVirtualMachineFilesRequestType)(nil)).Elem()
+}
+
+type UpdateVirtualMachineFilesResult struct {
+ DynamicData
+
+ FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty"`
+}
+
+func init() {
+ t["UpdateVirtualMachineFilesResult"] = reflect.TypeOf((*UpdateVirtualMachineFilesResult)(nil)).Elem()
+}
+
+type UpdateVirtualMachineFilesResultFailedVmFileInfo struct {
+ DynamicData
+
+ VmFile string `xml:"vmFile"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["UpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*UpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
+}
+
+type UpdateVirtualMachineFiles_Task UpdateVirtualMachineFilesRequestType
+
+func init() {
+ t["UpdateVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVirtualMachineFiles_Task)(nil)).Elem()
+}
+
+type UpdateVirtualMachineFiles_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdateVirtualNic UpdateVirtualNicRequestType
+
+func init() {
+ t["UpdateVirtualNic"] = reflect.TypeOf((*UpdateVirtualNic)(nil)).Elem()
+}
+
+type UpdateVirtualNicRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Device string `xml:"device"`
+ Nic HostVirtualNicSpec `xml:"nic"`
+}
+
+func init() {
+ t["UpdateVirtualNicRequestType"] = reflect.TypeOf((*UpdateVirtualNicRequestType)(nil)).Elem()
+}
+
+type UpdateVirtualNicResponse struct {
+}
+
+type UpdateVirtualSwitch UpdateVirtualSwitchRequestType
+
+func init() {
+ t["UpdateVirtualSwitch"] = reflect.TypeOf((*UpdateVirtualSwitch)(nil)).Elem()
+}
+
+type UpdateVirtualSwitchRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VswitchName string `xml:"vswitchName"`
+ Spec HostVirtualSwitchSpec `xml:"spec"`
+}
+
+func init() {
+ t["UpdateVirtualSwitchRequestType"] = reflect.TypeOf((*UpdateVirtualSwitchRequestType)(nil)).Elem()
+}
+
+type UpdateVirtualSwitchResponse struct {
+}
+
+type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType
+
+func init() {
+ t["UpdateVmfsUnmapPriority"] = reflect.TypeOf((*UpdateVmfsUnmapPriority)(nil)).Elem()
+}
+
+type UpdateVmfsUnmapPriorityRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsUuid string `xml:"vmfsUuid"`
+ UnmapPriority string `xml:"unmapPriority"`
+}
+
+func init() {
+ t["UpdateVmfsUnmapPriorityRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapPriorityRequestType)(nil)).Elem()
+}
+
+type UpdateVmfsUnmapPriorityResponse struct {
+}
+
+type UpdateVsanRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Config VsanHostConfigInfo `xml:"config"`
+}
+
+func init() {
+ t["UpdateVsanRequestType"] = reflect.TypeOf((*UpdateVsanRequestType)(nil)).Elem()
+}
+
+type UpdateVsan_Task UpdateVsanRequestType
+
+func init() {
+ t["UpdateVsan_Task"] = reflect.TypeOf((*UpdateVsan_Task)(nil)).Elem()
+}
+
+type UpdateVsan_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpdatedAgentBeingRestartedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["UpdatedAgentBeingRestartedEvent"] = reflect.TypeOf((*UpdatedAgentBeingRestartedEvent)(nil)).Elem()
+}
+
+type UpgradeEvent struct {
+ Event
+
+ Message string `xml:"message"`
+}
+
+func init() {
+ t["UpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem()
+}
+
+type UpgradeIoFilterRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ FilterId string `xml:"filterId"`
+ CompRes ManagedObjectReference `xml:"compRes"`
+ VibUrl string `xml:"vibUrl"`
+}
+
+func init() {
+ t["UpgradeIoFilterRequestType"] = reflect.TypeOf((*UpgradeIoFilterRequestType)(nil)).Elem()
+}
+
+type UpgradeIoFilter_Task UpgradeIoFilterRequestType
+
+func init() {
+ t["UpgradeIoFilter_Task"] = reflect.TypeOf((*UpgradeIoFilter_Task)(nil)).Elem()
+}
+
+type UpgradeIoFilter_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpgradeToolsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ InstallerOptions string `xml:"installerOptions,omitempty"`
+}
+
+func init() {
+ t["UpgradeToolsRequestType"] = reflect.TypeOf((*UpgradeToolsRequestType)(nil)).Elem()
+}
+
+type UpgradeTools_Task UpgradeToolsRequestType
+
+func init() {
+ t["UpgradeTools_Task"] = reflect.TypeOf((*UpgradeTools_Task)(nil)).Elem()
+}
+
+type UpgradeTools_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpgradeVMRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["UpgradeVMRequestType"] = reflect.TypeOf((*UpgradeVMRequestType)(nil)).Elem()
+}
+
+type UpgradeVM_Task UpgradeVMRequestType
+
+func init() {
+ t["UpgradeVM_Task"] = reflect.TypeOf((*UpgradeVM_Task)(nil)).Elem()
+}
+
+type UpgradeVM_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
+
+type UpgradeVmLayout UpgradeVmLayoutRequestType
+
+func init() {
+ t["UpgradeVmLayout"] = reflect.TypeOf((*UpgradeVmLayout)(nil)).Elem()
+}
+
+type UpgradeVmLayoutRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+}
+
+func init() {
+ t["UpgradeVmLayoutRequestType"] = reflect.TypeOf((*UpgradeVmLayoutRequestType)(nil)).Elem()
+}
+
+type UpgradeVmLayoutResponse struct {
+}
+
+type UpgradeVmfs UpgradeVmfsRequestType
+
+func init() {
+ t["UpgradeVmfs"] = reflect.TypeOf((*UpgradeVmfs)(nil)).Elem()
+}
+
+type UpgradeVmfsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ VmfsPath string `xml:"vmfsPath"`
+}
+
+func init() {
+ t["UpgradeVmfsRequestType"] = reflect.TypeOf((*UpgradeVmfsRequestType)(nil)).Elem()
+}
+
+type UpgradeVmfsResponse struct {
+}
+
+type UpgradeVsanObjects UpgradeVsanObjectsRequestType
+
+func init() {
+ t["UpgradeVsanObjects"] = reflect.TypeOf((*UpgradeVsanObjects)(nil)).Elem()
+}
+
+type UpgradeVsanObjectsRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Uuids []string `xml:"uuids"`
+ NewVersion int32 `xml:"newVersion"`
+}
+
+func init() {
+ t["UpgradeVsanObjectsRequestType"] = reflect.TypeOf((*UpgradeVsanObjectsRequestType)(nil)).Elem()
+}
+
+type UpgradeVsanObjectsResponse struct {
+ Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty"`
+}
+
+type UplinkPortMtuNotSupportEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["UplinkPortMtuNotSupportEvent"] = reflect.TypeOf((*UplinkPortMtuNotSupportEvent)(nil)).Elem()
+}
+
+type UplinkPortMtuSupportEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["UplinkPortMtuSupportEvent"] = reflect.TypeOf((*UplinkPortMtuSupportEvent)(nil)).Elem()
+}
+
+type UplinkPortVlanTrunkedEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["UplinkPortVlanTrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanTrunkedEvent)(nil)).Elem()
+}
+
+type UplinkPortVlanUntrunkedEvent struct {
+ DvsHealthStatusChangeEvent
+}
+
+func init() {
+ t["UplinkPortVlanUntrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanUntrunkedEvent)(nil)).Elem()
+}
+
+type UploadClientCert UploadClientCertRequestType
+
+func init() {
+ t["UploadClientCert"] = reflect.TypeOf((*UploadClientCert)(nil)).Elem()
+}
+
+type UploadClientCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+ Certificate string `xml:"certificate"`
+ PrivateKey string `xml:"privateKey"`
+}
+
+func init() {
+ t["UploadClientCertRequestType"] = reflect.TypeOf((*UploadClientCertRequestType)(nil)).Elem()
+}
+
+type UploadClientCertResponse struct {
+}
+
+type UploadKmipServerCert UploadKmipServerCertRequestType
+
+func init() {
+ t["UploadKmipServerCert"] = reflect.TypeOf((*UploadKmipServerCert)(nil)).Elem()
+}
+
+type UploadKmipServerCertRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Cluster KeyProviderId `xml:"cluster"`
+ Certificate string `xml:"certificate"`
+}
+
+func init() {
+ t["UploadKmipServerCertRequestType"] = reflect.TypeOf((*UploadKmipServerCertRequestType)(nil)).Elem()
+}
+
+type UploadKmipServerCertResponse struct {
+}
+
+type UsbScanCodeSpec struct {
+ DynamicData
+
+ KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents"`
+}
+
+func init() {
+ t["UsbScanCodeSpec"] = reflect.TypeOf((*UsbScanCodeSpec)(nil)).Elem()
+}
+
+type UsbScanCodeSpecKeyEvent struct {
+ DynamicData
+
+ UsbHidCode int32 `xml:"usbHidCode"`
+ Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty"`
+}
+
+func init() {
+ t["UsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*UsbScanCodeSpecKeyEvent)(nil)).Elem()
+}
+
+type UsbScanCodeSpecModifierType struct {
+ DynamicData
+
+ LeftControl *bool `xml:"leftControl"`
+ LeftShift *bool `xml:"leftShift"`
+ LeftAlt *bool `xml:"leftAlt"`
+ LeftGui *bool `xml:"leftGui"`
+ RightControl *bool `xml:"rightControl"`
+ RightShift *bool `xml:"rightShift"`
+ RightAlt *bool `xml:"rightAlt"`
+ RightGui *bool `xml:"rightGui"`
+}
+
+func init() {
+ t["UsbScanCodeSpecModifierType"] = reflect.TypeOf((*UsbScanCodeSpecModifierType)(nil)).Elem()
+}
+
+type UserAssignedToGroup struct {
+ HostEvent
+
+ UserLogin string `xml:"userLogin"`
+ Group string `xml:"group"`
+}
+
+func init() {
+ t["UserAssignedToGroup"] = reflect.TypeOf((*UserAssignedToGroup)(nil)).Elem()
+}
+
+type UserGroupProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["UserGroupProfile"] = reflect.TypeOf((*UserGroupProfile)(nil)).Elem()
+}
+
+type UserInputRequiredParameterMetadata struct {
+ ProfilePolicyOptionMetadata
+
+ UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty"`
+}
+
+func init() {
+ t["UserInputRequiredParameterMetadata"] = reflect.TypeOf((*UserInputRequiredParameterMetadata)(nil)).Elem()
+}
+
+type UserLoginSessionEvent struct {
+ SessionEvent
+
+ IpAddress string `xml:"ipAddress"`
+ UserAgent string `xml:"userAgent,omitempty"`
+ Locale string `xml:"locale"`
+ SessionId string `xml:"sessionId"`
+}
+
+func init() {
+ t["UserLoginSessionEvent"] = reflect.TypeOf((*UserLoginSessionEvent)(nil)).Elem()
+}
+
+type UserLogoutSessionEvent struct {
+ SessionEvent
+
+ IpAddress string `xml:"ipAddress,omitempty"`
+ UserAgent string `xml:"userAgent,omitempty"`
+ CallCount int64 `xml:"callCount,omitempty"`
+ SessionId string `xml:"sessionId,omitempty"`
+ LoginTime *time.Time `xml:"loginTime"`
+}
+
+func init() {
+ t["UserLogoutSessionEvent"] = reflect.TypeOf((*UserLogoutSessionEvent)(nil)).Elem()
+}
+
+type UserNotFound struct {
+ VimFault
+
+ Principal string `xml:"principal"`
+ Unresolved bool `xml:"unresolved"`
+}
+
+func init() {
+ t["UserNotFound"] = reflect.TypeOf((*UserNotFound)(nil)).Elem()
+}
+
+type UserNotFoundFault UserNotFound
+
+func init() {
+ t["UserNotFoundFault"] = reflect.TypeOf((*UserNotFoundFault)(nil)).Elem()
+}
+
+type UserPasswordChanged struct {
+ HostEvent
+
+ UserLogin string `xml:"userLogin"`
+}
+
+func init() {
+ t["UserPasswordChanged"] = reflect.TypeOf((*UserPasswordChanged)(nil)).Elem()
+}
+
+type UserPrivilegeResult struct {
+ DynamicData
+
+ Entity ManagedObjectReference `xml:"entity"`
+ Privileges []string `xml:"privileges,omitempty"`
+}
+
+func init() {
+ t["UserPrivilegeResult"] = reflect.TypeOf((*UserPrivilegeResult)(nil)).Elem()
+}
+
+type UserProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["UserProfile"] = reflect.TypeOf((*UserProfile)(nil)).Elem()
+}
+
+type UserSearchResult struct {
+ DynamicData
+
+ Principal string `xml:"principal"`
+ FullName string `xml:"fullName,omitempty"`
+ Group bool `xml:"group"`
+}
+
+func init() {
+ t["UserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem()
+}
+
+type UserSession struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ UserName string `xml:"userName"`
+ FullName string `xml:"fullName"`
+ LoginTime time.Time `xml:"loginTime"`
+ LastActiveTime time.Time `xml:"lastActiveTime"`
+ Locale string `xml:"locale"`
+ MessageLocale string `xml:"messageLocale"`
+ ExtensionSession *bool `xml:"extensionSession"`
+ IpAddress string `xml:"ipAddress,omitempty"`
+ UserAgent string `xml:"userAgent,omitempty"`
+ CallCount int64 `xml:"callCount,omitempty"`
+}
+
+func init() {
+ t["UserSession"] = reflect.TypeOf((*UserSession)(nil)).Elem()
+}
+
+type UserUnassignedFromGroup struct {
+ HostEvent
+
+ UserLogin string `xml:"userLogin"`
+ Group string `xml:"group"`
+}
+
+func init() {
+ t["UserUnassignedFromGroup"] = reflect.TypeOf((*UserUnassignedFromGroup)(nil)).Elem()
+}
+
+type UserUpgradeEvent struct {
+ UpgradeEvent
+}
+
+func init() {
+ t["UserUpgradeEvent"] = reflect.TypeOf((*UserUpgradeEvent)(nil)).Elem()
+}
+
+type VASAStorageArray struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Uuid string `xml:"uuid"`
+ VendorId string `xml:"vendorId"`
+ ModelId string `xml:"modelId"`
+}
+
+func init() {
+ t["VASAStorageArray"] = reflect.TypeOf((*VASAStorageArray)(nil)).Elem()
+}
+
+type VAppCloneSpec struct {
+ DynamicData
+
+ Location ManagedObjectReference `xml:"location"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"`
+ VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"`
+ NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty"`
+ Property []KeyValue `xml:"property,omitempty"`
+ ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty"`
+ Provisioning string `xml:"provisioning,omitempty"`
+}
+
+func init() {
+ t["VAppCloneSpec"] = reflect.TypeOf((*VAppCloneSpec)(nil)).Elem()
+}
+
+type VAppCloneSpecNetworkMappingPair struct {
+ DynamicData
+
+ Source ManagedObjectReference `xml:"source"`
+ Destination ManagedObjectReference `xml:"destination"`
+}
+
+func init() {
+ t["VAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*VAppCloneSpecNetworkMappingPair)(nil)).Elem()
+}
+
+type VAppCloneSpecResourceMap struct {
+ DynamicData
+
+ Source ManagedObjectReference `xml:"source"`
+ Parent *ManagedObjectReference `xml:"parent,omitempty"`
+ ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"`
+ Location *ManagedObjectReference `xml:"location,omitempty"`
+}
+
+func init() {
+ t["VAppCloneSpecResourceMap"] = reflect.TypeOf((*VAppCloneSpecResourceMap)(nil)).Elem()
+}
+
+type VAppConfigFault struct {
+ VimFault
+}
+
+func init() {
+ t["VAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem()
+}
+
+type VAppConfigFaultFault BaseVAppConfigFault
+
+func init() {
+ t["VAppConfigFaultFault"] = reflect.TypeOf((*VAppConfigFaultFault)(nil)).Elem()
+}
+
+type VAppConfigInfo struct {
+ VmConfigInfo
+
+ EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty"`
+ Annotation string `xml:"annotation"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"`
+}
+
+func init() {
+ t["VAppConfigInfo"] = reflect.TypeOf((*VAppConfigInfo)(nil)).Elem()
+}
+
+type VAppConfigSpec struct {
+ VmConfigSpec
+
+ EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty"`
+ Annotation string `xml:"annotation,omitempty"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"`
+}
+
+func init() {
+ t["VAppConfigSpec"] = reflect.TypeOf((*VAppConfigSpec)(nil)).Elem()
+}
+
+type VAppEntityConfigInfo struct {
+ DynamicData
+
+ Key *ManagedObjectReference `xml:"key,omitempty"`
+ Tag string `xml:"tag,omitempty"`
+ StartOrder int32 `xml:"startOrder,omitempty"`
+ StartDelay int32 `xml:"startDelay,omitempty"`
+ WaitingForGuest *bool `xml:"waitingForGuest"`
+ StartAction string `xml:"startAction,omitempty"`
+ StopDelay int32 `xml:"stopDelay,omitempty"`
+ StopAction string `xml:"stopAction,omitempty"`
+ DestroyWithParent *bool `xml:"destroyWithParent"`
+}
+
+func init() {
+ t["VAppEntityConfigInfo"] = reflect.TypeOf((*VAppEntityConfigInfo)(nil)).Elem()
+}
+
+type VAppIPAssignmentInfo struct {
+ DynamicData
+
+ SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty"`
+ IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty"`
+ SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty"`
+ IpProtocol string `xml:"ipProtocol,omitempty"`
+}
+
+func init() {
+ t["VAppIPAssignmentInfo"] = reflect.TypeOf((*VAppIPAssignmentInfo)(nil)).Elem()
+}
+
+type VAppNotRunning struct {
+ VmConfigFault
+}
+
+func init() {
+ t["VAppNotRunning"] = reflect.TypeOf((*VAppNotRunning)(nil)).Elem()
+}
+
+type VAppNotRunningFault VAppNotRunning
+
+func init() {
+ t["VAppNotRunningFault"] = reflect.TypeOf((*VAppNotRunningFault)(nil)).Elem()
+}
+
+type VAppOperationInProgress struct {
+ RuntimeFault
+}
+
+func init() {
+ t["VAppOperationInProgress"] = reflect.TypeOf((*VAppOperationInProgress)(nil)).Elem()
+}
+
+type VAppOperationInProgressFault VAppOperationInProgress
+
+func init() {
+ t["VAppOperationInProgressFault"] = reflect.TypeOf((*VAppOperationInProgressFault)(nil)).Elem()
+}
+
+type VAppOvfSectionInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key,omitempty"`
+ Namespace string `xml:"namespace,omitempty"`
+ Type string `xml:"type,omitempty"`
+ AtEnvelopeLevel *bool `xml:"atEnvelopeLevel"`
+ Contents string `xml:"contents,omitempty"`
+}
+
+func init() {
+ t["VAppOvfSectionInfo"] = reflect.TypeOf((*VAppOvfSectionInfo)(nil)).Elem()
+}
+
+type VAppOvfSectionSpec struct {
+ ArrayUpdateSpec
+
+ Info *VAppOvfSectionInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["VAppOvfSectionSpec"] = reflect.TypeOf((*VAppOvfSectionSpec)(nil)).Elem()
+}
+
+type VAppProductInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ ClassId string `xml:"classId,omitempty"`
+ InstanceId string `xml:"instanceId,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Vendor string `xml:"vendor,omitempty"`
+ Version string `xml:"version,omitempty"`
+ FullVersion string `xml:"fullVersion,omitempty"`
+ VendorUrl string `xml:"vendorUrl,omitempty"`
+ ProductUrl string `xml:"productUrl,omitempty"`
+ AppUrl string `xml:"appUrl,omitempty"`
+}
+
+func init() {
+ t["VAppProductInfo"] = reflect.TypeOf((*VAppProductInfo)(nil)).Elem()
+}
+
+type VAppProductSpec struct {
+ ArrayUpdateSpec
+
+ Info *VAppProductInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["VAppProductSpec"] = reflect.TypeOf((*VAppProductSpec)(nil)).Elem()
+}
+
+type VAppPropertyFault struct {
+ VmConfigFault
+
+ Id string `xml:"id"`
+ Category string `xml:"category"`
+ Label string `xml:"label"`
+ Type string `xml:"type"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["VAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem()
+}
+
+type VAppPropertyFaultFault BaseVAppPropertyFault
+
+func init() {
+ t["VAppPropertyFaultFault"] = reflect.TypeOf((*VAppPropertyFaultFault)(nil)).Elem()
+}
+
+type VAppPropertyInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ ClassId string `xml:"classId,omitempty"`
+ InstanceId string `xml:"instanceId,omitempty"`
+ Id string `xml:"id,omitempty"`
+ Category string `xml:"category,omitempty"`
+ Label string `xml:"label,omitempty"`
+ Type string `xml:"type,omitempty"`
+ TypeReference string `xml:"typeReference,omitempty"`
+ UserConfigurable *bool `xml:"userConfigurable"`
+ DefaultValue string `xml:"defaultValue,omitempty"`
+ Value string `xml:"value,omitempty"`
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["VAppPropertyInfo"] = reflect.TypeOf((*VAppPropertyInfo)(nil)).Elem()
+}
+
+type VAppPropertySpec struct {
+ ArrayUpdateSpec
+
+ Info *VAppPropertyInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["VAppPropertySpec"] = reflect.TypeOf((*VAppPropertySpec)(nil)).Elem()
+}
+
+type VAppTaskInProgress struct {
+ TaskInProgress
+}
+
+func init() {
+ t["VAppTaskInProgress"] = reflect.TypeOf((*VAppTaskInProgress)(nil)).Elem()
+}
+
+type VAppTaskInProgressFault VAppTaskInProgress
+
+func init() {
+ t["VAppTaskInProgressFault"] = reflect.TypeOf((*VAppTaskInProgressFault)(nil)).Elem()
+}
+
+type VFlashCacheHotConfigNotSupported struct {
+ VmConfigFault
+}
+
+func init() {
+ t["VFlashCacheHotConfigNotSupported"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupported)(nil)).Elem()
+}
+
+type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported
+
+func init() {
+ t["VFlashCacheHotConfigNotSupportedFault"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupportedFault)(nil)).Elem()
+}
+
+type VFlashModuleNotSupported struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+ ModuleName string `xml:"moduleName"`
+ Reason string `xml:"reason"`
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["VFlashModuleNotSupported"] = reflect.TypeOf((*VFlashModuleNotSupported)(nil)).Elem()
+}
+
+type VFlashModuleNotSupportedFault VFlashModuleNotSupported
+
+func init() {
+ t["VFlashModuleNotSupportedFault"] = reflect.TypeOf((*VFlashModuleNotSupportedFault)(nil)).Elem()
+}
+
+type VFlashModuleVersionIncompatible struct {
+ VimFault
+
+ ModuleName string `xml:"moduleName"`
+ VmRequestModuleVersion string `xml:"vmRequestModuleVersion"`
+ HostMinSupportedVerson string `xml:"hostMinSupportedVerson"`
+ HostModuleVersion string `xml:"hostModuleVersion"`
+}
+
+func init() {
+ t["VFlashModuleVersionIncompatible"] = reflect.TypeOf((*VFlashModuleVersionIncompatible)(nil)).Elem()
+}
+
+type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible
+
+func init() {
+ t["VFlashModuleVersionIncompatibleFault"] = reflect.TypeOf((*VFlashModuleVersionIncompatibleFault)(nil)).Elem()
+}
+
+type VMFSDatastoreCreatedEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+ DatastoreUrl string `xml:"datastoreUrl,omitempty"`
+}
+
+func init() {
+ t["VMFSDatastoreCreatedEvent"] = reflect.TypeOf((*VMFSDatastoreCreatedEvent)(nil)).Elem()
+}
+
+type VMFSDatastoreExpandedEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+}
+
+func init() {
+ t["VMFSDatastoreExpandedEvent"] = reflect.TypeOf((*VMFSDatastoreExpandedEvent)(nil)).Elem()
+}
+
+type VMFSDatastoreExtendedEvent struct {
+ HostEvent
+
+ Datastore DatastoreEventArgument `xml:"datastore"`
+}
+
+func init() {
+ t["VMFSDatastoreExtendedEvent"] = reflect.TypeOf((*VMFSDatastoreExtendedEvent)(nil)).Elem()
+}
+
+type VMINotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["VMINotSupported"] = reflect.TypeOf((*VMINotSupported)(nil)).Elem()
+}
+
+type VMINotSupportedFault VMINotSupported
+
+func init() {
+ t["VMINotSupportedFault"] = reflect.TypeOf((*VMINotSupportedFault)(nil)).Elem()
+}
+
+type VMOnConflictDVPort struct {
+ CannotAccessNetwork
+}
+
+func init() {
+ t["VMOnConflictDVPort"] = reflect.TypeOf((*VMOnConflictDVPort)(nil)).Elem()
+}
+
+type VMOnConflictDVPortFault VMOnConflictDVPort
+
+func init() {
+ t["VMOnConflictDVPortFault"] = reflect.TypeOf((*VMOnConflictDVPortFault)(nil)).Elem()
+}
+
+type VMOnVirtualIntranet struct {
+ CannotAccessNetwork
+}
+
+func init() {
+ t["VMOnVirtualIntranet"] = reflect.TypeOf((*VMOnVirtualIntranet)(nil)).Elem()
+}
+
+type VMOnVirtualIntranetFault VMOnVirtualIntranet
+
+func init() {
+ t["VMOnVirtualIntranetFault"] = reflect.TypeOf((*VMOnVirtualIntranetFault)(nil)).Elem()
+}
+
+type VMotionAcrossNetworkNotSupported struct {
+ MigrationFeatureNotSupported
+}
+
+func init() {
+ t["VMotionAcrossNetworkNotSupported"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupported)(nil)).Elem()
+}
+
+type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported
+
+func init() {
+ t["VMotionAcrossNetworkNotSupportedFault"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupportedFault)(nil)).Elem()
+}
+
+type VMotionInterfaceIssue struct {
+ MigrationFault
+
+ AtSourceHost bool `xml:"atSourceHost"`
+ FailedHost string `xml:"failedHost"`
+ FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty"`
+}
+
+func init() {
+ t["VMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem()
+}
+
+type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue
+
+func init() {
+ t["VMotionInterfaceIssueFault"] = reflect.TypeOf((*VMotionInterfaceIssueFault)(nil)).Elem()
+}
+
+type VMotionLicenseExpiredEvent struct {
+ LicenseEvent
+}
+
+func init() {
+ t["VMotionLicenseExpiredEvent"] = reflect.TypeOf((*VMotionLicenseExpiredEvent)(nil)).Elem()
+}
+
+type VMotionLinkCapacityLow struct {
+ VMotionInterfaceIssue
+
+ Network string `xml:"network"`
+}
+
+func init() {
+ t["VMotionLinkCapacityLow"] = reflect.TypeOf((*VMotionLinkCapacityLow)(nil)).Elem()
+}
+
+type VMotionLinkCapacityLowFault VMotionLinkCapacityLow
+
+func init() {
+ t["VMotionLinkCapacityLowFault"] = reflect.TypeOf((*VMotionLinkCapacityLowFault)(nil)).Elem()
+}
+
+type VMotionLinkDown struct {
+ VMotionInterfaceIssue
+
+ Network string `xml:"network"`
+}
+
+func init() {
+ t["VMotionLinkDown"] = reflect.TypeOf((*VMotionLinkDown)(nil)).Elem()
+}
+
+type VMotionLinkDownFault VMotionLinkDown
+
+func init() {
+ t["VMotionLinkDownFault"] = reflect.TypeOf((*VMotionLinkDownFault)(nil)).Elem()
+}
+
+type VMotionNotConfigured struct {
+ VMotionInterfaceIssue
+}
+
+func init() {
+ t["VMotionNotConfigured"] = reflect.TypeOf((*VMotionNotConfigured)(nil)).Elem()
+}
+
+type VMotionNotConfiguredFault VMotionNotConfigured
+
+func init() {
+ t["VMotionNotConfiguredFault"] = reflect.TypeOf((*VMotionNotConfiguredFault)(nil)).Elem()
+}
+
+type VMotionNotLicensed struct {
+ VMotionInterfaceIssue
+}
+
+func init() {
+ t["VMotionNotLicensed"] = reflect.TypeOf((*VMotionNotLicensed)(nil)).Elem()
+}
+
+type VMotionNotLicensedFault VMotionNotLicensed
+
+func init() {
+ t["VMotionNotLicensedFault"] = reflect.TypeOf((*VMotionNotLicensedFault)(nil)).Elem()
+}
+
+type VMotionNotSupported struct {
+ VMotionInterfaceIssue
+}
+
+func init() {
+ t["VMotionNotSupported"] = reflect.TypeOf((*VMotionNotSupported)(nil)).Elem()
+}
+
+type VMotionNotSupportedFault VMotionNotSupported
+
+func init() {
+ t["VMotionNotSupportedFault"] = reflect.TypeOf((*VMotionNotSupportedFault)(nil)).Elem()
+}
+
+type VMotionProtocolIncompatible struct {
+ MigrationFault
+}
+
+func init() {
+ t["VMotionProtocolIncompatible"] = reflect.TypeOf((*VMotionProtocolIncompatible)(nil)).Elem()
+}
+
+type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible
+
+func init() {
+ t["VMotionProtocolIncompatibleFault"] = reflect.TypeOf((*VMotionProtocolIncompatibleFault)(nil)).Elem()
+}
+
+type VMwareDVSConfigInfo struct {
+ DVSConfigInfo
+
+ VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty"`
+ PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty"`
+ MaxMtu int32 `xml:"maxMtu"`
+ LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"`
+ IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty"`
+ LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty"`
+ LacpApiVersion string `xml:"lacpApiVersion,omitempty"`
+ MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSConfigInfo"] = reflect.TypeOf((*VMwareDVSConfigInfo)(nil)).Elem()
+}
+
+type VMwareDVSConfigSpec struct {
+ DVSConfigSpec
+
+ PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty"`
+ VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty"`
+ MaxMtu int32 `xml:"maxMtu,omitempty"`
+ LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"`
+ IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty"`
+ LacpApiVersion string `xml:"lacpApiVersion,omitempty"`
+ MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSConfigSpec"] = reflect.TypeOf((*VMwareDVSConfigSpec)(nil)).Elem()
+}
+
+type VMwareDVSFeatureCapability struct {
+ DVSFeatureCapability
+
+ VspanSupported *bool `xml:"vspanSupported"`
+ LldpSupported *bool `xml:"lldpSupported"`
+ IpfixSupported *bool `xml:"ipfixSupported"`
+ IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty"`
+ MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported"`
+ VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty"`
+ LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSFeatureCapability"] = reflect.TypeOf((*VMwareDVSFeatureCapability)(nil)).Elem()
+}
+
+type VMwareDVSHealthCheckCapability struct {
+ DVSHealthCheckCapability
+
+ VlanMtuSupported bool `xml:"vlanMtuSupported"`
+ TeamingSupported bool `xml:"teamingSupported"`
+}
+
+func init() {
+ t["VMwareDVSHealthCheckCapability"] = reflect.TypeOf((*VMwareDVSHealthCheckCapability)(nil)).Elem()
+}
+
+type VMwareDVSHealthCheckConfig struct {
+ DVSHealthCheckConfig
+}
+
+func init() {
+ t["VMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem()
+}
+
+type VMwareDVSMtuHealthCheckResult struct {
+ HostMemberUplinkHealthCheckResult
+
+ MtuMismatch bool `xml:"mtuMismatch"`
+ VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty"`
+ VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSMtuHealthCheckResult"] = reflect.TypeOf((*VMwareDVSMtuHealthCheckResult)(nil)).Elem()
+}
+
+type VMwareDVSPortSetting struct {
+ DVPortSetting
+
+ Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr"`
+ QosTag *IntPolicy `xml:"qosTag,omitempty"`
+ UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty"`
+ SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty"`
+ IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty"`
+ TxUplink *BoolPolicy `xml:"txUplink,omitempty"`
+ LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSPortSetting"] = reflect.TypeOf((*VMwareDVSPortSetting)(nil)).Elem()
+}
+
+type VMwareDVSPortgroupPolicy struct {
+ DVPortgroupPolicy
+
+ VlanOverrideAllowed bool `xml:"vlanOverrideAllowed"`
+ UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed"`
+ SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed"`
+ IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed"`
+}
+
+func init() {
+ t["VMwareDVSPortgroupPolicy"] = reflect.TypeOf((*VMwareDVSPortgroupPolicy)(nil)).Elem()
+}
+
+type VMwareDVSPvlanConfigSpec struct {
+ DynamicData
+
+ PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["VMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*VMwareDVSPvlanConfigSpec)(nil)).Elem()
+}
+
+type VMwareDVSPvlanMapEntry struct {
+ DynamicData
+
+ PrimaryVlanId int32 `xml:"primaryVlanId"`
+ SecondaryVlanId int32 `xml:"secondaryVlanId"`
+ PvlanType string `xml:"pvlanType"`
+}
+
+func init() {
+ t["VMwareDVSPvlanMapEntry"] = reflect.TypeOf((*VMwareDVSPvlanMapEntry)(nil)).Elem()
+}
+
+type VMwareDVSTeamingHealthCheckConfig struct {
+ VMwareDVSHealthCheckConfig
+}
+
+func init() {
+ t["VMwareDVSTeamingHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckConfig)(nil)).Elem()
+}
+
+type VMwareDVSTeamingHealthCheckResult struct {
+ HostMemberHealthCheckResult
+
+ TeamingStatus string `xml:"teamingStatus"`
+}
+
+func init() {
+ t["VMwareDVSTeamingHealthCheckResult"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckResult)(nil)).Elem()
+}
+
+type VMwareDVSVlanHealthCheckResult struct {
+ HostMemberUplinkHealthCheckResult
+
+ TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty"`
+ UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty"`
+}
+
+func init() {
+ t["VMwareDVSVlanHealthCheckResult"] = reflect.TypeOf((*VMwareDVSVlanHealthCheckResult)(nil)).Elem()
+}
+
+type VMwareDVSVlanMtuHealthCheckConfig struct {
+ VMwareDVSHealthCheckConfig
+}
+
+func init() {
+ t["VMwareDVSVlanMtuHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSVlanMtuHealthCheckConfig)(nil)).Elem()
+}
+
+type VMwareDVSVspanCapability struct {
+ DynamicData
+
+ MixedDestSupported bool `xml:"mixedDestSupported"`
+ DvportSupported bool `xml:"dvportSupported"`
+ RemoteSourceSupported bool `xml:"remoteSourceSupported"`
+ RemoteDestSupported bool `xml:"remoteDestSupported"`
+ EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported"`
+ ErspanProtocolSupported *bool `xml:"erspanProtocolSupported"`
+}
+
+func init() {
+ t["VMwareDVSVspanCapability"] = reflect.TypeOf((*VMwareDVSVspanCapability)(nil)).Elem()
+}
+
+type VMwareDVSVspanConfigSpec struct {
+ DynamicData
+
+ VspanSession VMwareVspanSession `xml:"vspanSession"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["VMwareDVSVspanConfigSpec"] = reflect.TypeOf((*VMwareDVSVspanConfigSpec)(nil)).Elem()
+}
+
+type VMwareDvsIpfixCapability struct {
+ DynamicData
+
+ IpfixSupported *bool `xml:"ipfixSupported"`
+ Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported"`
+ ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported"`
+}
+
+func init() {
+ t["VMwareDvsIpfixCapability"] = reflect.TypeOf((*VMwareDvsIpfixCapability)(nil)).Elem()
+}
+
+type VMwareDvsLacpCapability struct {
+ DynamicData
+
+ LacpSupported *bool `xml:"lacpSupported"`
+ MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported"`
+}
+
+func init() {
+ t["VMwareDvsLacpCapability"] = reflect.TypeOf((*VMwareDvsLacpCapability)(nil)).Elem()
+}
+
+type VMwareDvsLacpGroupConfig struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Mode string `xml:"mode,omitempty"`
+ UplinkNum int32 `xml:"uplinkNum,omitempty"`
+ LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty"`
+ Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty"`
+ Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty"`
+ UplinkName []string `xml:"uplinkName,omitempty"`
+ UplinkPortKey []string `xml:"uplinkPortKey,omitempty"`
+}
+
+func init() {
+ t["VMwareDvsLacpGroupConfig"] = reflect.TypeOf((*VMwareDvsLacpGroupConfig)(nil)).Elem()
+}
+
+type VMwareDvsLacpGroupSpec struct {
+ DynamicData
+
+ LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig"`
+ Operation string `xml:"operation"`
+}
+
+func init() {
+ t["VMwareDvsLacpGroupSpec"] = reflect.TypeOf((*VMwareDvsLacpGroupSpec)(nil)).Elem()
+}
+
+type VMwareDvsLagIpfixConfig struct {
+ DynamicData
+
+ IpfixEnabled *bool `xml:"ipfixEnabled"`
+}
+
+func init() {
+ t["VMwareDvsLagIpfixConfig"] = reflect.TypeOf((*VMwareDvsLagIpfixConfig)(nil)).Elem()
+}
+
+type VMwareDvsLagVlanConfig struct {
+ DynamicData
+
+ VlanId []NumericRange `xml:"vlanId,omitempty"`
+}
+
+func init() {
+ t["VMwareDvsLagVlanConfig"] = reflect.TypeOf((*VMwareDvsLagVlanConfig)(nil)).Elem()
+}
+
+type VMwareIpfixConfig struct {
+ DynamicData
+
+ CollectorIpAddress string `xml:"collectorIpAddress,omitempty"`
+ CollectorPort int32 `xml:"collectorPort,omitempty"`
+ ObservationDomainId int64 `xml:"observationDomainId,omitempty"`
+ ActiveFlowTimeout int32 `xml:"activeFlowTimeout"`
+ IdleFlowTimeout int32 `xml:"idleFlowTimeout"`
+ SamplingRate int32 `xml:"samplingRate"`
+ InternalFlowsOnly bool `xml:"internalFlowsOnly"`
+}
+
+func init() {
+ t["VMwareIpfixConfig"] = reflect.TypeOf((*VMwareIpfixConfig)(nil)).Elem()
+}
+
+type VMwareUplinkLacpPolicy struct {
+ InheritablePolicy
+
+ Enable *BoolPolicy `xml:"enable,omitempty"`
+ Mode *StringPolicy `xml:"mode,omitempty"`
+}
+
+func init() {
+ t["VMwareUplinkLacpPolicy"] = reflect.TypeOf((*VMwareUplinkLacpPolicy)(nil)).Elem()
+}
+
+type VMwareUplinkPortOrderPolicy struct {
+ InheritablePolicy
+
+ ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty"`
+ StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty"`
+}
+
+func init() {
+ t["VMwareUplinkPortOrderPolicy"] = reflect.TypeOf((*VMwareUplinkPortOrderPolicy)(nil)).Elem()
+}
+
+type VMwareVspanPort struct {
+ DynamicData
+
+ PortKey []string `xml:"portKey,omitempty"`
+ UplinkPortName []string `xml:"uplinkPortName,omitempty"`
+ WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty"`
+ Vlans []int32 `xml:"vlans,omitempty"`
+ IpAddress []string `xml:"ipAddress,omitempty"`
+}
+
+func init() {
+ t["VMwareVspanPort"] = reflect.TypeOf((*VMwareVspanPort)(nil)).Elem()
+}
+
+type VMwareVspanSession struct {
+ DynamicData
+
+ Key string `xml:"key,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Description string `xml:"description,omitempty"`
+ Enabled bool `xml:"enabled"`
+ SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty"`
+ SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty"`
+ DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty"`
+ EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty"`
+ StripOriginalVlan bool `xml:"stripOriginalVlan"`
+ MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty"`
+ NormalTrafficAllowed bool `xml:"normalTrafficAllowed"`
+ SessionType string `xml:"sessionType,omitempty"`
+ SamplingRate int32 `xml:"samplingRate,omitempty"`
+ EncapType string `xml:"encapType,omitempty"`
+ ErspanId int32 `xml:"erspanId,omitempty"`
+ ErspanCOS int32 `xml:"erspanCOS,omitempty"`
+ ErspanGraNanosec *bool `xml:"erspanGraNanosec"`
+}
+
+func init() {
+ t["VMwareVspanSession"] = reflect.TypeOf((*VMwareVspanSession)(nil)).Elem()
+}
+
+type VRPEditSpec struct {
+ DynamicData
+
+ VrpId string `xml:"vrpId"`
+ Description string `xml:"description,omitempty"`
+ CpuAllocation *VrpResourceAllocationInfo `xml:"cpuAllocation,omitempty"`
+ MemoryAllocation *VrpResourceAllocationInfo `xml:"memoryAllocation,omitempty"`
+ AddedHubs []ManagedObjectReference `xml:"addedHubs,omitempty"`
+ RemovedHubs []ManagedObjectReference `xml:"removedHubs,omitempty"`
+ ChangeVersion int64 `xml:"changeVersion,omitempty"`
+}
+
+func init() {
+ t["VRPEditSpec"] = reflect.TypeOf((*VRPEditSpec)(nil)).Elem()
+}
+
+type VStorageObject struct {
+ DynamicData
+
+ Config VStorageObjectConfigInfo `xml:"config"`
+}
+
+func init() {
+ t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem()
+}
+
+type VStorageObjectConfigInfo struct {
+ BaseConfigInfo
+
+ CapacityInMB int64 `xml:"capacityInMB"`
+ ConsumptionType []string `xml:"consumptionType,omitempty"`
+ ConsumerId []ID `xml:"consumerId,omitempty"`
+}
+
+func init() {
+ t["VStorageObjectConfigInfo"] = reflect.TypeOf((*VStorageObjectConfigInfo)(nil)).Elem()
+}
+
+type VStorageObjectStateInfo struct {
+ DynamicData
+
+ Tentative *bool `xml:"tentative"`
+}
+
+func init() {
+ t["VStorageObjectStateInfo"] = reflect.TypeOf((*VStorageObjectStateInfo)(nil)).Elem()
+}
+
+type VVolHostPE struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint"`
+}
+
+func init() {
+ t["VVolHostPE"] = reflect.TypeOf((*VVolHostPE)(nil)).Elem()
+}
+
+type VVolVmConfigFileUpdateResult struct {
+ DynamicData
+
+ SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty"`
+ FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty"`
+}
+
+func init() {
+ t["VVolVmConfigFileUpdateResult"] = reflect.TypeOf((*VVolVmConfigFileUpdateResult)(nil)).Elem()
+}
+
+type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
+ DynamicData
+
+ TargetConfigVVolId string `xml:"targetConfigVVolId"`
+ Fault LocalizedMethodFault `xml:"fault"`
+}
+
+func init() {
+ t["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*VVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
+}
+
+type ValidateCredentialsInGuest ValidateCredentialsInGuestRequestType
+
+func init() {
+ t["ValidateCredentialsInGuest"] = reflect.TypeOf((*ValidateCredentialsInGuest)(nil)).Elem()
+}
+
+type ValidateCredentialsInGuestRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Auth BaseGuestAuthentication `xml:"auth,typeattr"`
+}
+
+func init() {
+ t["ValidateCredentialsInGuestRequestType"] = reflect.TypeOf((*ValidateCredentialsInGuestRequestType)(nil)).Elem()
+}
+
+type ValidateCredentialsInGuestResponse struct {
+}
+
+type ValidateHost ValidateHostRequestType
+
+func init() {
+ t["ValidateHost"] = reflect.TypeOf((*ValidateHost)(nil)).Elem()
+}
+
+type ValidateHostRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ OvfDescriptor string `xml:"ovfDescriptor"`
+ Host ManagedObjectReference `xml:"host"`
+ Vhp OvfValidateHostParams `xml:"vhp"`
+}
+
+func init() {
+ t["ValidateHostRequestType"] = reflect.TypeOf((*ValidateHostRequestType)(nil)).Elem()
+}
+
+type ValidateHostResponse struct {
+ Returnval OvfValidateHostResult `xml:"returnval"`
+}
+
+type ValidateMigration ValidateMigrationRequestType
+
+func init() {
+ t["ValidateMigration"] = reflect.TypeOf((*ValidateMigration)(nil)).Elem()
+}
+
+type ValidateMigrationRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Vm []ManagedObjectReference `xml:"vm"`
+ State VirtualMachinePowerState `xml:"state,omitempty"`
+ TestType []string `xml:"testType,omitempty"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+}
+
+func init() {
+ t["ValidateMigrationRequestType"] = reflect.TypeOf((*ValidateMigrationRequestType)(nil)).Elem()
+}
+
+type ValidateMigrationResponse struct {
+ Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"`
+}
+
+type VasaProviderContainerSpec struct {
+ DynamicData
+
+ VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"`
+ ScId string `xml:"scId"`
+ Deleted bool `xml:"deleted"`
+}
+
+func init() {
+ t["VasaProviderContainerSpec"] = reflect.TypeOf((*VasaProviderContainerSpec)(nil)).Elem()
+}
+
+type VcAgentUninstallFailedEvent struct {
+ HostEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VcAgentUninstallFailedEvent"] = reflect.TypeOf((*VcAgentUninstallFailedEvent)(nil)).Elem()
+}
+
+type VcAgentUninstalledEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["VcAgentUninstalledEvent"] = reflect.TypeOf((*VcAgentUninstalledEvent)(nil)).Elem()
+}
+
+type VcAgentUpgradeFailedEvent struct {
+ HostEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VcAgentUpgradeFailedEvent"] = reflect.TypeOf((*VcAgentUpgradeFailedEvent)(nil)).Elem()
+}
+
+type VcAgentUpgradedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["VcAgentUpgradedEvent"] = reflect.TypeOf((*VcAgentUpgradedEvent)(nil)).Elem()
+}
+
+type VchaClusterConfigInfo struct {
+ DynamicData
+
+ FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty"`
+ FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty"`
+ WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty"`
+ State string `xml:"state"`
+}
+
+func init() {
+ t["VchaClusterConfigInfo"] = reflect.TypeOf((*VchaClusterConfigInfo)(nil)).Elem()
+}
+
+type VchaClusterConfigSpec struct {
+ DynamicData
+
+ PassiveIp string `xml:"passiveIp"`
+ WitnessIp string `xml:"witnessIp"`
+}
+
+func init() {
+ t["VchaClusterConfigSpec"] = reflect.TypeOf((*VchaClusterConfigSpec)(nil)).Elem()
+}
+
+type VchaClusterDeploymentSpec struct {
+ DynamicData
+
+ PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec"`
+ WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr"`
+ ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec"`
+ ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty"`
+}
+
+func init() {
+ t["VchaClusterDeploymentSpec"] = reflect.TypeOf((*VchaClusterDeploymentSpec)(nil)).Elem()
+}
+
+type VchaClusterHealth struct {
+ DynamicData
+
+ RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo"`
+ HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty"`
+ AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty"`
+}
+
+func init() {
+ t["VchaClusterHealth"] = reflect.TypeOf((*VchaClusterHealth)(nil)).Elem()
+}
+
+type VchaClusterNetworkSpec struct {
+ DynamicData
+
+ WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr"`
+ PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec"`
+}
+
+func init() {
+ t["VchaClusterNetworkSpec"] = reflect.TypeOf((*VchaClusterNetworkSpec)(nil)).Elem()
+}
+
+type VchaClusterRuntimeInfo struct {
+ DynamicData
+
+ ClusterState string `xml:"clusterState"`
+ NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty"`
+ ClusterMode string `xml:"clusterMode"`
+}
+
+func init() {
+ t["VchaClusterRuntimeInfo"] = reflect.TypeOf((*VchaClusterRuntimeInfo)(nil)).Elem()
+}
+
+type VchaNodeRuntimeInfo struct {
+ DynamicData
+
+ NodeState string `xml:"nodeState"`
+ NodeRole string `xml:"nodeRole"`
+ NodeIp string `xml:"nodeIp"`
+}
+
+func init() {
+ t["VchaNodeRuntimeInfo"] = reflect.TypeOf((*VchaNodeRuntimeInfo)(nil)).Elem()
+}
+
+type VimAccountPasswordChangedEvent struct {
+ HostEvent
+}
+
+func init() {
+ t["VimAccountPasswordChangedEvent"] = reflect.TypeOf((*VimAccountPasswordChangedEvent)(nil)).Elem()
+}
+
+type VimFault struct {
+ MethodFault
+}
+
+func init() {
+ t["VimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem()
+}
+
+type VimFaultFault BaseVimFault
+
+func init() {
+ t["VimFaultFault"] = reflect.TypeOf((*VimFaultFault)(nil)).Elem()
+}
+
+type VimVasaProvider struct {
+ DynamicData
+
+ Url string `xml:"url"`
+ Name string `xml:"name,omitempty"`
+ SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty"`
+}
+
+func init() {
+ t["VimVasaProvider"] = reflect.TypeOf((*VimVasaProvider)(nil)).Elem()
+}
+
+type VimVasaProviderInfo struct {
+ DynamicData
+
+ Provider VimVasaProvider `xml:"provider"`
+ ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty"`
+}
+
+func init() {
+ t["VimVasaProviderInfo"] = reflect.TypeOf((*VimVasaProviderInfo)(nil)).Elem()
+}
+
+type VimVasaProviderStatePerArray struct {
+ DynamicData
+
+ Priority int32 `xml:"priority"`
+ ArrayId string `xml:"arrayId"`
+ Active bool `xml:"active"`
+}
+
+func init() {
+ t["VimVasaProviderStatePerArray"] = reflect.TypeOf((*VimVasaProviderStatePerArray)(nil)).Elem()
+}
+
+type VirtualAHCIController struct {
+ VirtualSATAController
+}
+
+func init() {
+ t["VirtualAHCIController"] = reflect.TypeOf((*VirtualAHCIController)(nil)).Elem()
+}
+
+type VirtualAHCIControllerOption struct {
+ VirtualSATAControllerOption
+}
+
+func init() {
+ t["VirtualAHCIControllerOption"] = reflect.TypeOf((*VirtualAHCIControllerOption)(nil)).Elem()
+}
+
+type VirtualAppImportSpec struct {
+ ImportSpec
+
+ Name string `xml:"name"`
+ VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec"`
+ ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec"`
+ Child []BaseImportSpec `xml:"child,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualAppImportSpec"] = reflect.TypeOf((*VirtualAppImportSpec)(nil)).Elem()
+}
+
+type VirtualAppLinkInfo struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ DestroyWithParent *bool `xml:"destroyWithParent"`
+}
+
+func init() {
+ t["VirtualAppLinkInfo"] = reflect.TypeOf((*VirtualAppLinkInfo)(nil)).Elem()
+}
+
+type VirtualAppSummary struct {
+ ResourcePoolSummary
+
+ Product *VAppProductInfo `xml:"product,omitempty"`
+ VAppState VirtualAppVAppState `xml:"vAppState,omitempty"`
+ Suspended *bool `xml:"suspended"`
+ InstallBootRequired *bool `xml:"installBootRequired"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+}
+
+func init() {
+ t["VirtualAppSummary"] = reflect.TypeOf((*VirtualAppSummary)(nil)).Elem()
+}
+
+type VirtualBusLogicController struct {
+ VirtualSCSIController
+}
+
+func init() {
+ t["VirtualBusLogicController"] = reflect.TypeOf((*VirtualBusLogicController)(nil)).Elem()
+}
+
+type VirtualBusLogicControllerOption struct {
+ VirtualSCSIControllerOption
+}
+
+func init() {
+ t["VirtualBusLogicControllerOption"] = reflect.TypeOf((*VirtualBusLogicControllerOption)(nil)).Elem()
+}
+
+type VirtualCdrom struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualCdrom"] = reflect.TypeOf((*VirtualCdrom)(nil)).Elem()
+}
+
+type VirtualCdromAtapiBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualCdromAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromAtapiBackingInfo)(nil)).Elem()
+}
+
+type VirtualCdromAtapiBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualCdromAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromAtapiBackingOption)(nil)).Elem()
+}
+
+type VirtualCdromIsoBackingInfo struct {
+ VirtualDeviceFileBackingInfo
+}
+
+func init() {
+ t["VirtualCdromIsoBackingInfo"] = reflect.TypeOf((*VirtualCdromIsoBackingInfo)(nil)).Elem()
+}
+
+type VirtualCdromIsoBackingOption struct {
+ VirtualDeviceFileBackingOption
+}
+
+func init() {
+ t["VirtualCdromIsoBackingOption"] = reflect.TypeOf((*VirtualCdromIsoBackingOption)(nil)).Elem()
+}
+
+type VirtualCdromOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualCdromOption"] = reflect.TypeOf((*VirtualCdromOption)(nil)).Elem()
+}
+
+type VirtualCdromPassthroughBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ Exclusive bool `xml:"exclusive"`
+}
+
+func init() {
+ t["VirtualCdromPassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromPassthroughBackingInfo)(nil)).Elem()
+}
+
+type VirtualCdromPassthroughBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+
+ Exclusive BoolOption `xml:"exclusive"`
+}
+
+func init() {
+ t["VirtualCdromPassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromPassthroughBackingOption)(nil)).Elem()
+}
+
+type VirtualCdromRemoteAtapiBackingInfo struct {
+ VirtualDeviceRemoteDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualCdromRemoteAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingInfo)(nil)).Elem()
+}
+
+type VirtualCdromRemoteAtapiBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualCdromRemoteAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingOption)(nil)).Elem()
+}
+
+type VirtualCdromRemotePassthroughBackingInfo struct {
+ VirtualDeviceRemoteDeviceBackingInfo
+
+ Exclusive bool `xml:"exclusive"`
+}
+
+func init() {
+ t["VirtualCdromRemotePassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingInfo)(nil)).Elem()
+}
+
+type VirtualCdromRemotePassthroughBackingOption struct {
+ VirtualDeviceRemoteDeviceBackingOption
+
+ Exclusive BoolOption `xml:"exclusive"`
+}
+
+func init() {
+ t["VirtualCdromRemotePassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingOption)(nil)).Elem()
+}
+
+type VirtualController struct {
+ VirtualDevice
+
+ BusNumber int32 `xml:"busNumber"`
+ Device []int32 `xml:"device,omitempty"`
+}
+
+func init() {
+ t["VirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem()
+}
+
+type VirtualControllerOption struct {
+ VirtualDeviceOption
+
+ Devices IntOption `xml:"devices"`
+ SupportedDevice []string `xml:"supportedDevice,omitempty"`
+}
+
+func init() {
+ t["VirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem()
+}
+
+type VirtualDevice struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr"`
+ Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr"`
+ Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty"`
+ SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr"`
+ ControllerKey int32 `xml:"controllerKey,omitempty"`
+ UnitNumber *int32 `xml:"unitNumber"`
+}
+
+func init() {
+ t["VirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem()
+}
+
+type VirtualDeviceBackingInfo struct {
+ DynamicData
+}
+
+func init() {
+ t["VirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualDeviceBackingOption struct {
+ DynamicData
+
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["VirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualDeviceBusSlotInfo struct {
+ DynamicData
+}
+
+func init() {
+ t["VirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem()
+}
+
+type VirtualDeviceBusSlotOption struct {
+ DynamicData
+
+ Type string `xml:"type"`
+}
+
+func init() {
+ t["VirtualDeviceBusSlotOption"] = reflect.TypeOf((*VirtualDeviceBusSlotOption)(nil)).Elem()
+}
+
+type VirtualDeviceConfigSpec struct {
+ DynamicData
+
+ Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty"`
+ FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty"`
+ Device BaseVirtualDevice `xml:"device,typeattr"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+ Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty"`
+}
+
+func init() {
+ t["VirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem()
+}
+
+type VirtualDeviceConfigSpecBackingSpec struct {
+ DynamicData
+
+ Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty"`
+ Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualDeviceConfigSpecBackingSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpecBackingSpec)(nil)).Elem()
+}
+
+type VirtualDeviceConnectInfo struct {
+ DynamicData
+
+ StartConnected bool `xml:"startConnected"`
+ AllowGuestControl bool `xml:"allowGuestControl"`
+ Connected bool `xml:"connected"`
+ Status string `xml:"status,omitempty"`
+}
+
+func init() {
+ t["VirtualDeviceConnectInfo"] = reflect.TypeOf((*VirtualDeviceConnectInfo)(nil)).Elem()
+}
+
+type VirtualDeviceConnectOption struct {
+ DynamicData
+
+ StartConnected BoolOption `xml:"startConnected"`
+ AllowGuestControl BoolOption `xml:"allowGuestControl"`
+}
+
+func init() {
+ t["VirtualDeviceConnectOption"] = reflect.TypeOf((*VirtualDeviceConnectOption)(nil)).Elem()
+}
+
+type VirtualDeviceDeviceBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ DeviceName string `xml:"deviceName"`
+ UseAutoDetect *bool `xml:"useAutoDetect"`
+}
+
+func init() {
+ t["VirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualDeviceDeviceBackingOption struct {
+ VirtualDeviceBackingOption
+
+ AutoDetectAvailable BoolOption `xml:"autoDetectAvailable"`
+}
+
+func init() {
+ t["VirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualDeviceFileBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ FileName string `xml:"fileName"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ BackingObjectId string `xml:"backingObjectId,omitempty"`
+}
+
+func init() {
+ t["VirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem()
+}
+
+type VirtualDeviceFileBackingOption struct {
+ VirtualDeviceBackingOption
+
+ FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty"`
+}
+
+func init() {
+ t["VirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem()
+}
+
+type VirtualDeviceOption struct {
+ DynamicData
+
+ Type string `xml:"type"`
+ ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty"`
+ BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty"`
+ ControllerType string `xml:"controllerType,omitempty"`
+ AutoAssignController *BoolOption `xml:"autoAssignController,omitempty"`
+ BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr"`
+ DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty"`
+ LicensingLimit []string `xml:"licensingLimit,omitempty"`
+ Deprecated bool `xml:"deprecated"`
+ PlugAndPlay bool `xml:"plugAndPlay"`
+ HotRemoveSupported *bool `xml:"hotRemoveSupported"`
+}
+
+func init() {
+ t["VirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem()
+}
+
+type VirtualDevicePciBusSlotInfo struct {
+ VirtualDeviceBusSlotInfo
+
+ PciSlotNumber int32 `xml:"pciSlotNumber"`
+}
+
+func init() {
+ t["VirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem()
+}
+
+type VirtualDevicePipeBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ PipeName string `xml:"pipeName"`
+}
+
+func init() {
+ t["VirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem()
+}
+
+type VirtualDevicePipeBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem()
+}
+
+type VirtualDeviceRemoteDeviceBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ DeviceName string `xml:"deviceName"`
+ UseAutoDetect *bool `xml:"useAutoDetect"`
+}
+
+func init() {
+ t["VirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualDeviceRemoteDeviceBackingOption struct {
+ VirtualDeviceBackingOption
+
+ AutoDetectAvailable BoolOption `xml:"autoDetectAvailable"`
+}
+
+func init() {
+ t["VirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualDeviceURIBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ ServiceURI string `xml:"serviceURI"`
+ Direction string `xml:"direction"`
+ ProxyURI string `xml:"proxyURI,omitempty"`
+}
+
+func init() {
+ t["VirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem()
+}
+
+type VirtualDeviceURIBackingOption struct {
+ VirtualDeviceBackingOption
+
+ Directions ChoiceOption `xml:"directions"`
+}
+
+func init() {
+ t["VirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem()
+}
+
+type VirtualDisk struct {
+ VirtualDevice
+
+ CapacityInKB int64 `xml:"capacityInKB"`
+ CapacityInBytes int64 `xml:"capacityInBytes,omitempty"`
+ Shares *SharesInfo `xml:"shares,omitempty"`
+ StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty"`
+ DiskObjectId string `xml:"diskObjectId,omitempty"`
+ VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty"`
+ Iofilter []string `xml:"iofilter,omitempty"`
+ VDiskId *ID `xml:"vDiskId,omitempty"`
+}
+
+func init() {
+ t["VirtualDisk"] = reflect.TypeOf((*VirtualDisk)(nil)).Elem()
+}
+
+type VirtualDiskAntiAffinityRuleSpec struct {
+ ClusterRuleInfo
+
+ DiskId []int32 `xml:"diskId"`
+}
+
+func init() {
+ t["VirtualDiskAntiAffinityRuleSpec"] = reflect.TypeOf((*VirtualDiskAntiAffinityRuleSpec)(nil)).Elem()
+}
+
+type VirtualDiskBlocksNotFullyProvisioned struct {
+ DeviceBackingNotSupported
+}
+
+func init() {
+ t["VirtualDiskBlocksNotFullyProvisioned"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisioned)(nil)).Elem()
+}
+
+type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned
+
+func init() {
+ t["VirtualDiskBlocksNotFullyProvisionedFault"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisionedFault)(nil)).Elem()
+}
+
+type VirtualDiskConfigSpec struct {
+ VirtualDeviceConfigSpec
+
+ DiskMoveType string `xml:"diskMoveType,omitempty"`
+ MigrateCache *bool `xml:"migrateCache"`
+}
+
+func init() {
+ t["VirtualDiskConfigSpec"] = reflect.TypeOf((*VirtualDiskConfigSpec)(nil)).Elem()
+}
+
+type VirtualDiskDeltaDiskFormatsSupported struct {
+ DynamicData
+
+ DatastoreType string `xml:"datastoreType"`
+ DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat"`
+}
+
+func init() {
+ t["VirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
+}
+
+type VirtualDiskFlatVer1BackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ DiskMode string `xml:"diskMode"`
+ Split *bool `xml:"split"`
+ WriteThrough *bool `xml:"writeThrough"`
+ ContentId string `xml:"contentId,omitempty"`
+ Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskFlatVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskFlatVer1BackingOption struct {
+ VirtualDeviceFileBackingOption
+
+ DiskMode ChoiceOption `xml:"diskMode"`
+ Split BoolOption `xml:"split"`
+ WriteThrough BoolOption `xml:"writeThrough"`
+ Growable bool `xml:"growable"`
+}
+
+func init() {
+ t["VirtualDiskFlatVer1BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskFlatVer2BackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ DiskMode string `xml:"diskMode"`
+ Split *bool `xml:"split"`
+ WriteThrough *bool `xml:"writeThrough"`
+ ThinProvisioned *bool `xml:"thinProvisioned"`
+ EagerlyScrub *bool `xml:"eagerlyScrub"`
+ Uuid string `xml:"uuid,omitempty"`
+ ContentId string `xml:"contentId,omitempty"`
+ ChangeId string `xml:"changeId,omitempty"`
+ Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty"`
+ DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty"`
+ DigestEnabled *bool `xml:"digestEnabled"`
+ DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty"`
+ DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty"`
+ Sharing string `xml:"sharing,omitempty"`
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskFlatVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskFlatVer2BackingOption struct {
+ VirtualDeviceFileBackingOption
+
+ DiskMode ChoiceOption `xml:"diskMode"`
+ Split BoolOption `xml:"split"`
+ WriteThrough BoolOption `xml:"writeThrough"`
+ Growable bool `xml:"growable"`
+ HotGrowable bool `xml:"hotGrowable"`
+ Uuid bool `xml:"uuid"`
+ ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty"`
+ EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty"`
+ DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty"`
+ DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskFlatVer2BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskId struct {
+ DynamicData
+
+ Vm ManagedObjectReference `xml:"vm"`
+ DiskId int32 `xml:"diskId"`
+}
+
+func init() {
+ t["VirtualDiskId"] = reflect.TypeOf((*VirtualDiskId)(nil)).Elem()
+}
+
+type VirtualDiskModeNotSupported struct {
+ DeviceNotSupported
+
+ Mode string `xml:"mode"`
+}
+
+func init() {
+ t["VirtualDiskModeNotSupported"] = reflect.TypeOf((*VirtualDiskModeNotSupported)(nil)).Elem()
+}
+
+type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported
+
+func init() {
+ t["VirtualDiskModeNotSupportedFault"] = reflect.TypeOf((*VirtualDiskModeNotSupportedFault)(nil)).Elem()
+}
+
+type VirtualDiskOption struct {
+ VirtualDeviceOption
+
+ CapacityInKB LongOption `xml:"capacityInKB"`
+ IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty"`
+ VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskOption"] = reflect.TypeOf((*VirtualDiskOption)(nil)).Elem()
+}
+
+type VirtualDiskOptionVFlashCacheConfigOption struct {
+ DynamicData
+
+ CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType"`
+ CacheMode ChoiceOption `xml:"cacheMode"`
+ ReservationInMB LongOption `xml:"reservationInMB"`
+ BlockSizeInKB LongOption `xml:"blockSizeInKB"`
+}
+
+func init() {
+ t["VirtualDiskOptionVFlashCacheConfigOption"] = reflect.TypeOf((*VirtualDiskOptionVFlashCacheConfigOption)(nil)).Elem()
+}
+
+type VirtualDiskPartitionedRawDiskVer2BackingInfo struct {
+ VirtualDiskRawDiskVer2BackingInfo
+
+ Partition []int32 `xml:"partition"`
+}
+
+func init() {
+ t["VirtualDiskPartitionedRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskPartitionedRawDiskVer2BackingOption struct {
+ VirtualDiskRawDiskVer2BackingOption
+}
+
+func init() {
+ t["VirtualDiskPartitionedRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskRawDiskMappingVer1BackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ LunUuid string `xml:"lunUuid,omitempty"`
+ DeviceName string `xml:"deviceName,omitempty"`
+ CompatibilityMode string `xml:"compatibilityMode,omitempty"`
+ DiskMode string `xml:"diskMode,omitempty"`
+ Uuid string `xml:"uuid,omitempty"`
+ ContentId string `xml:"contentId,omitempty"`
+ ChangeId string `xml:"changeId,omitempty"`
+ Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty"`
+ Sharing string `xml:"sharing,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskRawDiskMappingVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskRawDiskMappingVer1BackingOption struct {
+ VirtualDeviceDeviceBackingOption
+
+ DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty"`
+ CompatibilityMode ChoiceOption `xml:"compatibilityMode"`
+ DiskMode ChoiceOption `xml:"diskMode"`
+ Uuid bool `xml:"uuid"`
+}
+
+func init() {
+ t["VirtualDiskRawDiskMappingVer1BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskRawDiskVer2BackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ DescriptorFileName string `xml:"descriptorFileName"`
+ Uuid string `xml:"uuid,omitempty"`
+ ChangeId string `xml:"changeId,omitempty"`
+ Sharing string `xml:"sharing,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskRawDiskVer2BackingOption struct {
+ VirtualDeviceDeviceBackingOption
+
+ DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions"`
+ Uuid bool `xml:"uuid"`
+}
+
+func init() {
+ t["VirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskSeSparseBackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ DiskMode string `xml:"diskMode"`
+ WriteThrough *bool `xml:"writeThrough"`
+ Uuid string `xml:"uuid,omitempty"`
+ ContentId string `xml:"contentId,omitempty"`
+ ChangeId string `xml:"changeId,omitempty"`
+ Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty"`
+ DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty"`
+ DigestEnabled *bool `xml:"digestEnabled"`
+ GrainSize int32 `xml:"grainSize,omitempty"`
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskSeSparseBackingInfo"] = reflect.TypeOf((*VirtualDiskSeSparseBackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskSeSparseBackingOption struct {
+ VirtualDeviceFileBackingOption
+
+ DiskMode ChoiceOption `xml:"diskMode"`
+ WriteThrough BoolOption `xml:"writeThrough"`
+ Growable bool `xml:"growable"`
+ HotGrowable bool `xml:"hotGrowable"`
+ Uuid bool `xml:"uuid"`
+ DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported"`
+}
+
+func init() {
+ t["VirtualDiskSeSparseBackingOption"] = reflect.TypeOf((*VirtualDiskSeSparseBackingOption)(nil)).Elem()
+}
+
+type VirtualDiskSparseVer1BackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ DiskMode string `xml:"diskMode"`
+ Split *bool `xml:"split"`
+ WriteThrough *bool `xml:"writeThrough"`
+ SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty"`
+ ContentId string `xml:"contentId,omitempty"`
+ Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskSparseVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskSparseVer1BackingOption struct {
+ VirtualDeviceFileBackingOption
+
+ DiskModes ChoiceOption `xml:"diskModes"`
+ Split BoolOption `xml:"split"`
+ WriteThrough BoolOption `xml:"writeThrough"`
+ Growable bool `xml:"growable"`
+}
+
+func init() {
+ t["VirtualDiskSparseVer1BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskSparseVer2BackingInfo struct {
+ VirtualDeviceFileBackingInfo
+
+ DiskMode string `xml:"diskMode"`
+ Split *bool `xml:"split"`
+ WriteThrough *bool `xml:"writeThrough"`
+ SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty"`
+ Uuid string `xml:"uuid,omitempty"`
+ ContentId string `xml:"contentId,omitempty"`
+ ChangeId string `xml:"changeId,omitempty"`
+ Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty"`
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskSparseVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingInfo)(nil)).Elem()
+}
+
+type VirtualDiskSparseVer2BackingOption struct {
+ VirtualDeviceFileBackingOption
+
+ DiskMode ChoiceOption `xml:"diskMode"`
+ Split BoolOption `xml:"split"`
+ WriteThrough BoolOption `xml:"writeThrough"`
+ Growable bool `xml:"growable"`
+ HotGrowable bool `xml:"hotGrowable"`
+ Uuid bool `xml:"uuid"`
+}
+
+func init() {
+ t["VirtualDiskSparseVer2BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingOption)(nil)).Elem()
+}
+
+type VirtualDiskSpec struct {
+ DynamicData
+
+ DiskType string `xml:"diskType"`
+ AdapterType string `xml:"adapterType"`
+}
+
+func init() {
+ t["VirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem()
+}
+
+type VirtualDiskVFlashCacheConfigInfo struct {
+ DynamicData
+
+ VFlashModule string `xml:"vFlashModule,omitempty"`
+ ReservationInMB int64 `xml:"reservationInMB,omitempty"`
+ CacheConsistencyType string `xml:"cacheConsistencyType,omitempty"`
+ CacheMode string `xml:"cacheMode,omitempty"`
+ BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty"`
+}
+
+func init() {
+ t["VirtualDiskVFlashCacheConfigInfo"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfo)(nil)).Elem()
+}
+
+type VirtualE1000 struct {
+ VirtualEthernetCard
+}
+
+func init() {
+ t["VirtualE1000"] = reflect.TypeOf((*VirtualE1000)(nil)).Elem()
+}
+
+type VirtualE1000Option struct {
+ VirtualEthernetCardOption
+}
+
+func init() {
+ t["VirtualE1000Option"] = reflect.TypeOf((*VirtualE1000Option)(nil)).Elem()
+}
+
+type VirtualE1000e struct {
+ VirtualEthernetCard
+}
+
+func init() {
+ t["VirtualE1000e"] = reflect.TypeOf((*VirtualE1000e)(nil)).Elem()
+}
+
+type VirtualE1000eOption struct {
+ VirtualEthernetCardOption
+}
+
+func init() {
+ t["VirtualE1000eOption"] = reflect.TypeOf((*VirtualE1000eOption)(nil)).Elem()
+}
+
+type VirtualEnsoniq1371 struct {
+ VirtualSoundCard
+}
+
+func init() {
+ t["VirtualEnsoniq1371"] = reflect.TypeOf((*VirtualEnsoniq1371)(nil)).Elem()
+}
+
+type VirtualEnsoniq1371Option struct {
+ VirtualSoundCardOption
+}
+
+func init() {
+ t["VirtualEnsoniq1371Option"] = reflect.TypeOf((*VirtualEnsoniq1371Option)(nil)).Elem()
+}
+
+type VirtualEthernetCard struct {
+ VirtualDevice
+
+ AddressType string `xml:"addressType,omitempty"`
+ MacAddress string `xml:"macAddress,omitempty"`
+ WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled"`
+ ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty"`
+ ExternalId string `xml:"externalId,omitempty"`
+ UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled"`
+}
+
+func init() {
+ t["VirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem()
+}
+
+type VirtualEthernetCardDVPortBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualEthernetCardDVPortBackingOption"] = reflect.TypeOf((*VirtualEthernetCardDVPortBackingOption)(nil)).Elem()
+}
+
+type VirtualEthernetCardDistributedVirtualPortBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ Port DistributedVirtualSwitchPortConnection `xml:"port"`
+}
+
+func init() {
+ t["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardDistributedVirtualPortBackingInfo)(nil)).Elem()
+}
+
+type VirtualEthernetCardLegacyNetworkBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualEthernetCardLegacyNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingInfo)(nil)).Elem()
+}
+
+type VirtualEthernetCardLegacyNetworkBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualEthernetCardLegacyNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingOption)(nil)).Elem()
+}
+
+type VirtualEthernetCardNetworkBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ Network *ManagedObjectReference `xml:"network,omitempty"`
+ InPassthroughMode *bool `xml:"inPassthroughMode"`
+}
+
+func init() {
+ t["VirtualEthernetCardNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingInfo)(nil)).Elem()
+}
+
+type VirtualEthernetCardNetworkBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualEthernetCardNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingOption)(nil)).Elem()
+}
+
+type VirtualEthernetCardNotSupported struct {
+ DeviceNotSupported
+}
+
+func init() {
+ t["VirtualEthernetCardNotSupported"] = reflect.TypeOf((*VirtualEthernetCardNotSupported)(nil)).Elem()
+}
+
+type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported
+
+func init() {
+ t["VirtualEthernetCardNotSupportedFault"] = reflect.TypeOf((*VirtualEthernetCardNotSupportedFault)(nil)).Elem()
+}
+
+type VirtualEthernetCardOpaqueNetworkBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ OpaqueNetworkId string `xml:"opaqueNetworkId"`
+ OpaqueNetworkType string `xml:"opaqueNetworkType"`
+}
+
+func init() {
+ t["VirtualEthernetCardOpaqueNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingInfo)(nil)).Elem()
+}
+
+type VirtualEthernetCardOpaqueNetworkBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualEthernetCardOpaqueNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingOption)(nil)).Elem()
+}
+
+type VirtualEthernetCardOption struct {
+ VirtualDeviceOption
+
+ SupportedOUI ChoiceOption `xml:"supportedOUI"`
+ MacType ChoiceOption `xml:"macType"`
+ WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled"`
+ VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"`
+ UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty"`
+}
+
+func init() {
+ t["VirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem()
+}
+
+type VirtualEthernetCardResourceAllocation struct {
+ DynamicData
+
+ Reservation int64 `xml:"reservation,omitempty"`
+ Share SharesInfo `xml:"share"`
+ Limit int64 `xml:"limit,omitempty"`
+}
+
+func init() {
+ t["VirtualEthernetCardResourceAllocation"] = reflect.TypeOf((*VirtualEthernetCardResourceAllocation)(nil)).Elem()
+}
+
+type VirtualFloppy struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualFloppy"] = reflect.TypeOf((*VirtualFloppy)(nil)).Elem()
+}
+
+type VirtualFloppyDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualFloppyDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualFloppyDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualFloppyDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualFloppyImageBackingInfo struct {
+ VirtualDeviceFileBackingInfo
+}
+
+func init() {
+ t["VirtualFloppyImageBackingInfo"] = reflect.TypeOf((*VirtualFloppyImageBackingInfo)(nil)).Elem()
+}
+
+type VirtualFloppyImageBackingOption struct {
+ VirtualDeviceFileBackingOption
+}
+
+func init() {
+ t["VirtualFloppyImageBackingOption"] = reflect.TypeOf((*VirtualFloppyImageBackingOption)(nil)).Elem()
+}
+
+type VirtualFloppyOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualFloppyOption"] = reflect.TypeOf((*VirtualFloppyOption)(nil)).Elem()
+}
+
+type VirtualFloppyRemoteDeviceBackingInfo struct {
+ VirtualDeviceRemoteDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualFloppyRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualFloppyRemoteDeviceBackingOption struct {
+ VirtualDeviceRemoteDeviceBackingOption
+}
+
+func init() {
+ t["VirtualFloppyRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualHardware struct {
+ DynamicData
+
+ NumCPU int32 `xml:"numCPU"`
+ NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty"`
+ MemoryMB int32 `xml:"memoryMB"`
+ VirtualICH7MPresent *bool `xml:"virtualICH7MPresent"`
+ VirtualSMCPresent *bool `xml:"virtualSMCPresent"`
+ Device []BaseVirtualDevice `xml:"device,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualHardware"] = reflect.TypeOf((*VirtualHardware)(nil)).Elem()
+}
+
+type VirtualHardwareCompatibilityIssue struct {
+ VmConfigFault
+}
+
+func init() {
+ t["VirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem()
+}
+
+type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue
+
+func init() {
+ t["VirtualHardwareCompatibilityIssueFault"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssueFault)(nil)).Elem()
+}
+
+type VirtualHardwareOption struct {
+ DynamicData
+
+ HwVersion int32 `xml:"hwVersion"`
+ VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr"`
+ DeviceListReadonly bool `xml:"deviceListReadonly"`
+ NumCPU []int32 `xml:"numCPU"`
+ NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty"`
+ NumCpuReadonly bool `xml:"numCpuReadonly"`
+ MemoryMB LongOption `xml:"memoryMB"`
+ NumPCIControllers IntOption `xml:"numPCIControllers"`
+ NumIDEControllers IntOption `xml:"numIDEControllers"`
+ NumUSBControllers IntOption `xml:"numUSBControllers"`
+ NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty"`
+ NumSIOControllers IntOption `xml:"numSIOControllers"`
+ NumPS2Controllers IntOption `xml:"numPS2Controllers"`
+ LicensingLimit []string `xml:"licensingLimit,omitempty"`
+ NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty"`
+ NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty"`
+ ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty"`
+}
+
+func init() {
+ t["VirtualHardwareOption"] = reflect.TypeOf((*VirtualHardwareOption)(nil)).Elem()
+}
+
+type VirtualHardwareVersionNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+
+ HostName string `xml:"hostName"`
+ Host ManagedObjectReference `xml:"host"`
+}
+
+func init() {
+ t["VirtualHardwareVersionNotSupported"] = reflect.TypeOf((*VirtualHardwareVersionNotSupported)(nil)).Elem()
+}
+
+type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported
+
+func init() {
+ t["VirtualHardwareVersionNotSupportedFault"] = reflect.TypeOf((*VirtualHardwareVersionNotSupportedFault)(nil)).Elem()
+}
+
+type VirtualHdAudioCard struct {
+ VirtualSoundCard
+}
+
+func init() {
+ t["VirtualHdAudioCard"] = reflect.TypeOf((*VirtualHdAudioCard)(nil)).Elem()
+}
+
+type VirtualHdAudioCardOption struct {
+ VirtualSoundCardOption
+}
+
+func init() {
+ t["VirtualHdAudioCardOption"] = reflect.TypeOf((*VirtualHdAudioCardOption)(nil)).Elem()
+}
+
+type VirtualIDEController struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualIDEController"] = reflect.TypeOf((*VirtualIDEController)(nil)).Elem()
+}
+
+type VirtualIDEControllerOption struct {
+ VirtualControllerOption
+
+ NumIDEDisks IntOption `xml:"numIDEDisks"`
+ NumIDECdroms IntOption `xml:"numIDECdroms"`
+}
+
+func init() {
+ t["VirtualIDEControllerOption"] = reflect.TypeOf((*VirtualIDEControllerOption)(nil)).Elem()
+}
+
+type VirtualKeyboard struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualKeyboard"] = reflect.TypeOf((*VirtualKeyboard)(nil)).Elem()
+}
+
+type VirtualKeyboardOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualKeyboardOption"] = reflect.TypeOf((*VirtualKeyboardOption)(nil)).Elem()
+}
+
+type VirtualLsiLogicController struct {
+ VirtualSCSIController
+}
+
+func init() {
+ t["VirtualLsiLogicController"] = reflect.TypeOf((*VirtualLsiLogicController)(nil)).Elem()
+}
+
+type VirtualLsiLogicControllerOption struct {
+ VirtualSCSIControllerOption
+}
+
+func init() {
+ t["VirtualLsiLogicControllerOption"] = reflect.TypeOf((*VirtualLsiLogicControllerOption)(nil)).Elem()
+}
+
+type VirtualLsiLogicSASController struct {
+ VirtualSCSIController
+}
+
+func init() {
+ t["VirtualLsiLogicSASController"] = reflect.TypeOf((*VirtualLsiLogicSASController)(nil)).Elem()
+}
+
+type VirtualLsiLogicSASControllerOption struct {
+ VirtualSCSIControllerOption
+}
+
+func init() {
+ t["VirtualLsiLogicSASControllerOption"] = reflect.TypeOf((*VirtualLsiLogicSASControllerOption)(nil)).Elem()
+}
+
+type VirtualMachineAffinityInfo struct {
+ DynamicData
+
+ AffinitySet []int32 `xml:"affinitySet,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineAffinityInfo"] = reflect.TypeOf((*VirtualMachineAffinityInfo)(nil)).Elem()
+}
+
+type VirtualMachineBootOptions struct {
+ DynamicData
+
+ BootDelay int64 `xml:"bootDelay,omitempty"`
+ EnterBIOSSetup *bool `xml:"enterBIOSSetup"`
+ EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled"`
+ BootRetryEnabled *bool `xml:"bootRetryEnabled"`
+ BootRetryDelay int64 `xml:"bootRetryDelay,omitempty"`
+ BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr"`
+ NetworkBootProtocol string `xml:"networkBootProtocol,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineBootOptions"] = reflect.TypeOf((*VirtualMachineBootOptions)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsBootableCdromDevice struct {
+ VirtualMachineBootOptionsBootableDevice
+}
+
+func init() {
+ t["VirtualMachineBootOptionsBootableCdromDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableCdromDevice)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsBootableDevice struct {
+ DynamicData
+}
+
+func init() {
+ t["VirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsBootableDiskDevice struct {
+ VirtualMachineBootOptionsBootableDevice
+
+ DeviceKey int32 `xml:"deviceKey"`
+}
+
+func init() {
+ t["VirtualMachineBootOptionsBootableDiskDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDiskDevice)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsBootableEthernetDevice struct {
+ VirtualMachineBootOptionsBootableDevice
+
+ DeviceKey int32 `xml:"deviceKey"`
+}
+
+func init() {
+ t["VirtualMachineBootOptionsBootableEthernetDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableEthernetDevice)(nil)).Elem()
+}
+
+type VirtualMachineBootOptionsBootableFloppyDevice struct {
+ VirtualMachineBootOptionsBootableDevice
+}
+
+func init() {
+ t["VirtualMachineBootOptionsBootableFloppyDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableFloppyDevice)(nil)).Elem()
+}
+
+type VirtualMachineCapability struct {
+ DynamicData
+
+ SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported"`
+ MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported"`
+ SnapshotConfigSupported bool `xml:"snapshotConfigSupported"`
+ PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported"`
+ MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported"`
+ RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported"`
+ QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported"`
+ DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported"`
+ LockSnapshotsSupported bool `xml:"lockSnapshotsSupported"`
+ ConsolePreferencesSupported bool `xml:"consolePreferencesSupported"`
+ CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported"`
+ S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported"`
+ SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported"`
+ ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported"`
+ VmNpivWwnSupported bool `xml:"vmNpivWwnSupported"`
+ NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported"`
+ VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported"`
+ VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported"`
+ SwapPlacementSupported bool `xml:"swapPlacementSupported"`
+ ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported"`
+ VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported"`
+ DiskSharesSupported bool `xml:"diskSharesSupported"`
+ BootOptionsSupported bool `xml:"bootOptionsSupported"`
+ BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported"`
+ SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported"`
+ SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported"`
+ RecordReplaySupported *bool `xml:"recordReplaySupported"`
+ ChangeTrackingSupported *bool `xml:"changeTrackingSupported"`
+ MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported"`
+ HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported"`
+ GuestAutoLockSupported *bool `xml:"guestAutoLockSupported"`
+ MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported"`
+ FeatureRequirementSupported *bool `xml:"featureRequirementSupported"`
+ PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported"`
+ SeSparseDiskSupported *bool `xml:"seSparseDiskSupported"`
+ NestedHVSupported *bool `xml:"nestedHVSupported"`
+ VPMCSupported *bool `xml:"vPMCSupported"`
+ SecureBootSupported *bool `xml:"secureBootSupported"`
+}
+
+func init() {
+ t["VirtualMachineCapability"] = reflect.TypeOf((*VirtualMachineCapability)(nil)).Elem()
+}
+
+type VirtualMachineCdromInfo struct {
+ VirtualMachineTargetInfo
+
+ Description string `xml:"description,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineCdromInfo"] = reflect.TypeOf((*VirtualMachineCdromInfo)(nil)).Elem()
+}
+
+type VirtualMachineCloneSpec struct {
+ DynamicData
+
+ Location VirtualMachineRelocateSpec `xml:"location"`
+ Template bool `xml:"template"`
+ Config *VirtualMachineConfigSpec `xml:"config,omitempty"`
+ Customization *CustomizationSpec `xml:"customization,omitempty"`
+ PowerOn bool `xml:"powerOn"`
+ Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"`
+ Memory *bool `xml:"memory"`
+}
+
+func init() {
+ t["VirtualMachineCloneSpec"] = reflect.TypeOf((*VirtualMachineCloneSpec)(nil)).Elem()
+}
+
+type VirtualMachineConfigInfo struct {
+ DynamicData
+
+ ChangeVersion string `xml:"changeVersion"`
+ Modified time.Time `xml:"modified"`
+ Name string `xml:"name"`
+ GuestFullName string `xml:"guestFullName"`
+ Version string `xml:"version"`
+ Uuid string `xml:"uuid"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty"`
+ NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty"`
+ NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty"`
+ NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty"`
+ NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty"`
+ NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled"`
+ NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks"`
+ LocationId string `xml:"locationId,omitempty"`
+ Template bool `xml:"template"`
+ GuestId string `xml:"guestId"`
+ AlternateGuestName string `xml:"alternateGuestName"`
+ Annotation string `xml:"annotation,omitempty"`
+ Files VirtualMachineFileInfo `xml:"files"`
+ Tools *ToolsConfigInfo `xml:"tools,omitempty"`
+ Flags VirtualMachineFlagInfo `xml:"flags"`
+ ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty"`
+ DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps"`
+ Hardware VirtualHardware `xml:"hardware"`
+ CpuAllocation BaseResourceAllocationInfo `xml:"cpuAllocation,omitempty,typeattr"`
+ MemoryAllocation BaseResourceAllocationInfo `xml:"memoryAllocation,omitempty,typeattr"`
+ LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty"`
+ MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled"`
+ CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled"`
+ CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled"`
+ HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty"`
+ HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty"`
+ CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty"`
+ MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty"`
+ NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty"`
+ ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"`
+ CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty"`
+ DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty"`
+ SwapPlacement string `xml:"swapPlacement,omitempty"`
+ BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty"`
+ FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"`
+ RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty"`
+ VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr"`
+ VAssertsEnabled *bool `xml:"vAssertsEnabled"`
+ ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled"`
+ Firmware string `xml:"firmware,omitempty"`
+ MaxMksConnections int32 `xml:"maxMksConnections,omitempty"`
+ GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled"`
+ ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"`
+ MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax"`
+ InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty"`
+ NestedHVEnabled *bool `xml:"nestedHVEnabled"`
+ VPMCEnabled *bool `xml:"vPMCEnabled"`
+ ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty"`
+ ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty"`
+ VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty"`
+ VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty"`
+ MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled"`
+ VmStorageObjectId string `xml:"vmStorageObjectId,omitempty"`
+ SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty"`
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+ GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty"`
+ MigrateEncryption string `xml:"migrateEncryption,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineConfigInfo"] = reflect.TypeOf((*VirtualMachineConfigInfo)(nil)).Elem()
+}
+
+type VirtualMachineConfigInfoDatastoreUrlPair struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Url string `xml:"url"`
+}
+
+func init() {
+ t["VirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*VirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
+}
+
+type VirtualMachineConfigInfoOverheadInfo struct {
+ DynamicData
+
+ InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty"`
+ InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineConfigInfoOverheadInfo"] = reflect.TypeOf((*VirtualMachineConfigInfoOverheadInfo)(nil)).Elem()
+}
+
+type VirtualMachineConfigOption struct {
+ DynamicData
+
+ Version string `xml:"version"`
+ Description string `xml:"description"`
+ GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor"`
+ GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex"`
+ HardwareOptions VirtualHardwareOption `xml:"hardwareOptions"`
+ Capabilities VirtualMachineCapability `xml:"capabilities"`
+ Datastore DatastoreOption `xml:"datastore"`
+ DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr"`
+ SupportedMonitorType []string `xml:"supportedMonitorType"`
+ SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty"`
+ SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineConfigOption"] = reflect.TypeOf((*VirtualMachineConfigOption)(nil)).Elem()
+}
+
+type VirtualMachineConfigOptionDescriptor struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ Description string `xml:"description,omitempty"`
+ Host []ManagedObjectReference `xml:"host,omitempty"`
+ CreateSupported *bool `xml:"createSupported"`
+ DefaultConfigOption *bool `xml:"defaultConfigOption"`
+ RunSupported *bool `xml:"runSupported"`
+ UpgradeSupported *bool `xml:"upgradeSupported"`
+}
+
+func init() {
+ t["VirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*VirtualMachineConfigOptionDescriptor)(nil)).Elem()
+}
+
+type VirtualMachineConfigSpec struct {
+ DynamicData
+
+ ChangeVersion string `xml:"changeVersion,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Version string `xml:"version,omitempty"`
+ Uuid string `xml:"uuid,omitempty"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty"`
+ NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty"`
+ NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty"`
+ NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty"`
+ NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty"`
+ NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled"`
+ NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks"`
+ NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty"`
+ LocationId string `xml:"locationId,omitempty"`
+ GuestId string `xml:"guestId,omitempty"`
+ AlternateGuestName string `xml:"alternateGuestName,omitempty"`
+ Annotation string `xml:"annotation,omitempty"`
+ Files *VirtualMachineFileInfo `xml:"files,omitempty"`
+ Tools *ToolsConfigInfo `xml:"tools,omitempty"`
+ Flags *VirtualMachineFlagInfo `xml:"flags,omitempty"`
+ ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty"`
+ PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty"`
+ NumCPUs int32 `xml:"numCPUs,omitempty"`
+ NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty"`
+ MemoryMB int64 `xml:"memoryMB,omitempty"`
+ MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled"`
+ CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled"`
+ CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled"`
+ VirtualICH7MPresent *bool `xml:"virtualICH7MPresent"`
+ VirtualSMCPresent *bool `xml:"virtualSMCPresent"`
+ DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr"`
+ CpuAllocation BaseResourceAllocationInfo `xml:"cpuAllocation,omitempty,typeattr"`
+ MemoryAllocation BaseResourceAllocationInfo `xml:"memoryAllocation,omitempty,typeattr"`
+ LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty"`
+ CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty"`
+ MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty"`
+ NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty"`
+ CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty"`
+ ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"`
+ SwapPlacement string `xml:"swapPlacement,omitempty"`
+ BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty"`
+ VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr"`
+ FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"`
+ RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty"`
+ VAppConfigRemoved *bool `xml:"vAppConfigRemoved"`
+ VAssertsEnabled *bool `xml:"vAssertsEnabled"`
+ ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled"`
+ Firmware string `xml:"firmware,omitempty"`
+ MaxMksConnections int32 `xml:"maxMksConnections,omitempty"`
+ GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled"`
+ ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"`
+ MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax"`
+ NestedHVEnabled *bool `xml:"nestedHVEnabled"`
+ VPMCEnabled *bool `xml:"vPMCEnabled"`
+ ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty"`
+ VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr"`
+ MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled"`
+ Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"`
+ MigrateEncryption string `xml:"migrateEncryption,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineConfigSpec"] = reflect.TypeOf((*VirtualMachineConfigSpec)(nil)).Elem()
+}
+
+type VirtualMachineConfigSummary struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ Template bool `xml:"template"`
+ VmPathName string `xml:"vmPathName"`
+ MemorySizeMB int32 `xml:"memorySizeMB,omitempty"`
+ CpuReservation int32 `xml:"cpuReservation,omitempty"`
+ MemoryReservation int32 `xml:"memoryReservation,omitempty"`
+ NumCpu int32 `xml:"numCpu,omitempty"`
+ NumEthernetCards int32 `xml:"numEthernetCards,omitempty"`
+ NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty"`
+ Uuid string `xml:"uuid,omitempty"`
+ InstanceUuid string `xml:"instanceUuid,omitempty"`
+ GuestId string `xml:"guestId,omitempty"`
+ GuestFullName string `xml:"guestFullName,omitempty"`
+ Annotation string `xml:"annotation,omitempty"`
+ Product *VAppProductInfo `xml:"product,omitempty"`
+ InstallBootRequired *bool `xml:"installBootRequired"`
+ FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"`
+ ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineConfigSummary"] = reflect.TypeOf((*VirtualMachineConfigSummary)(nil)).Elem()
+}
+
+type VirtualMachineConsolePreferences struct {
+ DynamicData
+
+ PowerOnWhenOpened *bool `xml:"powerOnWhenOpened"`
+ EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn"`
+ CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend"`
+}
+
+func init() {
+ t["VirtualMachineConsolePreferences"] = reflect.TypeOf((*VirtualMachineConsolePreferences)(nil)).Elem()
+}
+
+type VirtualMachineCpuIdInfoSpec struct {
+ ArrayUpdateSpec
+
+ Info *HostCpuIdInfo `xml:"info,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*VirtualMachineCpuIdInfoSpec)(nil)).Elem()
+}
+
+type VirtualMachineDatastoreInfo struct {
+ VirtualMachineTargetInfo
+
+ Datastore DatastoreSummary `xml:"datastore"`
+ Capability DatastoreCapability `xml:"capability"`
+ MaxFileSize int64 `xml:"maxFileSize"`
+ MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty"`
+ MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty"`
+ MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty"`
+ Mode string `xml:"mode"`
+ VStorageSupport string `xml:"vStorageSupport,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDatastoreInfo"] = reflect.TypeOf((*VirtualMachineDatastoreInfo)(nil)).Elem()
+}
+
+type VirtualMachineDatastoreVolumeOption struct {
+ DynamicData
+
+ FileSystemType string `xml:"fileSystemType"`
+ MajorVersion int32 `xml:"majorVersion,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*VirtualMachineDatastoreVolumeOption)(nil)).Elem()
+}
+
+type VirtualMachineDefaultPowerOpInfo struct {
+ DynamicData
+
+ PowerOffType string `xml:"powerOffType,omitempty"`
+ SuspendType string `xml:"suspendType,omitempty"`
+ ResetType string `xml:"resetType,omitempty"`
+ DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty"`
+ DefaultSuspendType string `xml:"defaultSuspendType,omitempty"`
+ DefaultResetType string `xml:"defaultResetType,omitempty"`
+ StandbyAction string `xml:"standbyAction,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDefaultPowerOpInfo"] = reflect.TypeOf((*VirtualMachineDefaultPowerOpInfo)(nil)).Elem()
+}
+
+type VirtualMachineDefaultProfileSpec struct {
+ VirtualMachineProfileSpec
+}
+
+func init() {
+ t["VirtualMachineDefaultProfileSpec"] = reflect.TypeOf((*VirtualMachineDefaultProfileSpec)(nil)).Elem()
+}
+
+type VirtualMachineDefinedProfileSpec struct {
+ VirtualMachineProfileSpec
+
+ ProfileId string `xml:"profileId"`
+ ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty"`
+ ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDefinedProfileSpec"] = reflect.TypeOf((*VirtualMachineDefinedProfileSpec)(nil)).Elem()
+}
+
+type VirtualMachineDeviceRuntimeInfo struct {
+ DynamicData
+
+ RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr"`
+ Key int32 `xml:"key"`
+}
+
+func init() {
+ t["VirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfo)(nil)).Elem()
+}
+
+type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct {
+ DynamicData
+}
+
+func init() {
+ t["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem()
+}
+
+type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct {
+ VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
+
+ VmDirectPathGen2Active bool `xml:"vmDirectPathGen2Active"`
+ VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty"`
+ VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"`
+ VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
+ ReservationStatus string `xml:"reservationStatus,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState)(nil)).Elem()
+}
+
+type VirtualMachineDiskDeviceInfo struct {
+ VirtualMachineTargetInfo
+
+ Capacity int64 `xml:"capacity,omitempty"`
+ Vm []ManagedObjectReference `xml:"vm,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem()
+}
+
+type VirtualMachineDisplayTopology struct {
+ DynamicData
+
+ X int32 `xml:"x"`
+ Y int32 `xml:"y"`
+ Width int32 `xml:"width"`
+ Height int32 `xml:"height"`
+}
+
+func init() {
+ t["VirtualMachineDisplayTopology"] = reflect.TypeOf((*VirtualMachineDisplayTopology)(nil)).Elem()
+}
+
+type VirtualMachineEmptyProfileSpec struct {
+ VirtualMachineProfileSpec
+}
+
+func init() {
+ t["VirtualMachineEmptyProfileSpec"] = reflect.TypeOf((*VirtualMachineEmptyProfileSpec)(nil)).Elem()
+}
+
+type VirtualMachineFeatureRequirement struct {
+ DynamicData
+
+ Key string `xml:"key"`
+ FeatureName string `xml:"featureName"`
+ Value string `xml:"value"`
+}
+
+func init() {
+ t["VirtualMachineFeatureRequirement"] = reflect.TypeOf((*VirtualMachineFeatureRequirement)(nil)).Elem()
+}
+
+type VirtualMachineFileInfo struct {
+ DynamicData
+
+ VmPathName string `xml:"vmPathName,omitempty"`
+ SnapshotDirectory string `xml:"snapshotDirectory,omitempty"`
+ SuspendDirectory string `xml:"suspendDirectory,omitempty"`
+ LogDirectory string `xml:"logDirectory,omitempty"`
+ FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineFileInfo"] = reflect.TypeOf((*VirtualMachineFileInfo)(nil)).Elem()
+}
+
+type VirtualMachineFileLayout struct {
+ DynamicData
+
+ ConfigFile []string `xml:"configFile,omitempty"`
+ LogFile []string `xml:"logFile,omitempty"`
+ Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty"`
+ Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty"`
+ SwapFile string `xml:"swapFile,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineFileLayout"] = reflect.TypeOf((*VirtualMachineFileLayout)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutDiskLayout struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ DiskFile []string `xml:"diskFile"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutDiskLayout)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutEx struct {
+ DynamicData
+
+ File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty"`
+ Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty"`
+ Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty"`
+ Timestamp time.Time `xml:"timestamp"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutEx"] = reflect.TypeOf((*VirtualMachineFileLayoutEx)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutExDiskLayout struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutExDiskUnit struct {
+ DynamicData
+
+ FileKey []int32 `xml:"fileKey"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutExFileInfo struct {
+ DynamicData
+
+ Key int32 `xml:"key"`
+ Name string `xml:"name"`
+ Type string `xml:"type"`
+ Size int64 `xml:"size"`
+ UniqueSize int64 `xml:"uniqueSize,omitempty"`
+ BackingObjectId string `xml:"backingObjectId,omitempty"`
+ Accessible *bool `xml:"accessible"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileInfo)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutExSnapshotLayout struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ DataKey int32 `xml:"dataKey"`
+ MemoryKey int32 `xml:"memoryKey,omitempty"`
+ Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
+}
+
+type VirtualMachineFileLayoutSnapshotLayout struct {
+ DynamicData
+
+ Key ManagedObjectReference `xml:"key"`
+ SnapshotFile []string `xml:"snapshotFile"`
+}
+
+func init() {
+ t["VirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
+}
+
+type VirtualMachineFlagInfo struct {
+ DynamicData
+
+ DisableAcceleration *bool `xml:"disableAcceleration"`
+ EnableLogging *bool `xml:"enableLogging"`
+ UseToe *bool `xml:"useToe"`
+ RunWithDebugInfo *bool `xml:"runWithDebugInfo"`
+ MonitorType string `xml:"monitorType,omitempty"`
+ HtSharing string `xml:"htSharing,omitempty"`
+ SnapshotDisabled *bool `xml:"snapshotDisabled"`
+ SnapshotLocked *bool `xml:"snapshotLocked"`
+ DiskUuidEnabled *bool `xml:"diskUuidEnabled"`
+ VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty"`
+ VirtualExecUsage string `xml:"virtualExecUsage,omitempty"`
+ SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty"`
+ RecordReplayEnabled *bool `xml:"recordReplayEnabled"`
+ FaultToleranceType string `xml:"faultToleranceType,omitempty"`
+ CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled"`
+}
+
+func init() {
+ t["VirtualMachineFlagInfo"] = reflect.TypeOf((*VirtualMachineFlagInfo)(nil)).Elem()
+}
+
+type VirtualMachineFloppyInfo struct {
+ VirtualMachineTargetInfo
+}
+
+func init() {
+ t["VirtualMachineFloppyInfo"] = reflect.TypeOf((*VirtualMachineFloppyInfo)(nil)).Elem()
+}
+
+type VirtualMachineForkConfigInfo struct {
+ DynamicData
+
+ ParentEnabled *bool `xml:"parentEnabled"`
+ ChildForkGroupId string `xml:"childForkGroupId,omitempty"`
+ ParentForkGroupId string `xml:"parentForkGroupId,omitempty"`
+ ChildType string `xml:"childType,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineForkConfigInfo"] = reflect.TypeOf((*VirtualMachineForkConfigInfo)(nil)).Elem()
+}
+
+type VirtualMachineGuestIntegrityInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+}
+
+func init() {
+ t["VirtualMachineGuestIntegrityInfo"] = reflect.TypeOf((*VirtualMachineGuestIntegrityInfo)(nil)).Elem()
+}
+
+type VirtualMachineGuestQuiesceSpec struct {
+ DynamicData
+
+ Timeout int32 `xml:"timeout,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem()
+}
+
+type VirtualMachineGuestSummary struct {
+ DynamicData
+
+ GuestId string `xml:"guestId,omitempty"`
+ GuestFullName string `xml:"guestFullName,omitempty"`
+ ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty"`
+ ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty"`
+ ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty"`
+ ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty"`
+ HostName string `xml:"hostName,omitempty"`
+ IpAddress string `xml:"ipAddress,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineGuestSummary"] = reflect.TypeOf((*VirtualMachineGuestSummary)(nil)).Elem()
+}
+
+type VirtualMachineIdeDiskDeviceInfo struct {
+ VirtualMachineDiskDeviceInfo
+
+ PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
+}
+
+type VirtualMachineIdeDiskDevicePartitionInfo struct {
+ DynamicData
+
+ Id int32 `xml:"id"`
+ Capacity int32 `xml:"capacity"`
+}
+
+func init() {
+ t["VirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
+}
+
+type VirtualMachineImportSpec struct {
+ ImportSpec
+
+ ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"`
+ ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(nil)).Elem()
+}
+
+type VirtualMachineLegacyNetworkSwitchInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["VirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*VirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
+}
+
+type VirtualMachineMemoryReservationInfo struct {
+ DynamicData
+
+ VirtualMachineMin int64 `xml:"virtualMachineMin"`
+ VirtualMachineMax int64 `xml:"virtualMachineMax"`
+ VirtualMachineReserved int64 `xml:"virtualMachineReserved"`
+ AllocationPolicy string `xml:"allocationPolicy"`
+}
+
+func init() {
+ t["VirtualMachineMemoryReservationInfo"] = reflect.TypeOf((*VirtualMachineMemoryReservationInfo)(nil)).Elem()
+}
+
+type VirtualMachineMemoryReservationSpec struct {
+ DynamicData
+
+ VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty"`
+ AllocationPolicy string `xml:"allocationPolicy,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineMemoryReservationSpec"] = reflect.TypeOf((*VirtualMachineMemoryReservationSpec)(nil)).Elem()
+}
+
+type VirtualMachineMessage struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Argument []AnyType `xml:"argument,omitempty,typeattr"`
+ Text string `xml:"text,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineMessage"] = reflect.TypeOf((*VirtualMachineMessage)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadata struct {
+ DynamicData
+
+ VmId string `xml:"vmId"`
+ Metadata string `xml:"metadata,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadata"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadata)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadataInput struct {
+ DynamicData
+
+ Operation string `xml:"operation"`
+ VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata"`
+}
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadataOwner struct {
+ DynamicData
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadataOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwner)(nil)).Elem()
+}
+
+type VirtualMachineMetadataManagerVmMetadataResult struct {
+ DynamicData
+
+ VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
+}
+
+type VirtualMachineMksTicket struct {
+ DynamicData
+
+ Ticket string `xml:"ticket"`
+ CfgFile string `xml:"cfgFile"`
+ Host string `xml:"host,omitempty"`
+ Port int32 `xml:"port,omitempty"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineMksTicket"] = reflect.TypeOf((*VirtualMachineMksTicket)(nil)).Elem()
+}
+
+type VirtualMachineNetworkInfo struct {
+ VirtualMachineTargetInfo
+
+ Network BaseNetworkSummary `xml:"network,typeattr"`
+ Vswitch string `xml:"vswitch,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineNetworkInfo"] = reflect.TypeOf((*VirtualMachineNetworkInfo)(nil)).Elem()
+}
+
+type VirtualMachineNetworkShaperInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ PeakBps int64 `xml:"peakBps,omitempty"`
+ AverageBps int64 `xml:"averageBps,omitempty"`
+ BurstSize int64 `xml:"burstSize,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineNetworkShaperInfo"] = reflect.TypeOf((*VirtualMachineNetworkShaperInfo)(nil)).Elem()
+}
+
+type VirtualMachineParallelInfo struct {
+ VirtualMachineTargetInfo
+}
+
+func init() {
+ t["VirtualMachineParallelInfo"] = reflect.TypeOf((*VirtualMachineParallelInfo)(nil)).Elem()
+}
+
+type VirtualMachinePciPassthroughInfo struct {
+ VirtualMachineTargetInfo
+
+ PciDevice HostPciDevice `xml:"pciDevice"`
+ SystemId string `xml:"systemId"`
+}
+
+func init() {
+ t["VirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem()
+}
+
+type VirtualMachinePciSharedGpuPassthroughInfo struct {
+ VirtualMachineTargetInfo
+
+ Vgpu string `xml:"vgpu"`
+}
+
+func init() {
+ t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
+}
+
+type VirtualMachineProfileRawData struct {
+ DynamicData
+
+ ExtensionKey string `xml:"extensionKey"`
+ ObjectData string `xml:"objectData,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineProfileRawData"] = reflect.TypeOf((*VirtualMachineProfileRawData)(nil)).Elem()
+}
+
+type VirtualMachineProfileSpec struct {
+ DynamicData
+}
+
+func init() {
+ t["VirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem()
+}
+
+type VirtualMachineQuestionInfo struct {
+ DynamicData
+
+ Id string `xml:"id"`
+ Text string `xml:"text"`
+ Choice ChoiceOption `xml:"choice"`
+ Message []VirtualMachineMessage `xml:"message,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineQuestionInfo"] = reflect.TypeOf((*VirtualMachineQuestionInfo)(nil)).Elem()
+}
+
+type VirtualMachineQuickStats struct {
+ DynamicData
+
+ OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty"`
+ OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty"`
+ GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty"`
+ HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty"`
+ GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus"`
+ DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty"`
+ DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty"`
+ StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty"`
+ StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty"`
+ PrivateMemory int32 `xml:"privateMemory,omitempty"`
+ SharedMemory int32 `xml:"sharedMemory,omitempty"`
+ SwappedMemory int32 `xml:"swappedMemory,omitempty"`
+ BalloonedMemory int32 `xml:"balloonedMemory,omitempty"`
+ ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty"`
+ FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty"`
+ FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty"`
+ FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty"`
+ CompressedMemory int64 `xml:"compressedMemory,omitempty"`
+ UptimeSeconds int32 `xml:"uptimeSeconds,omitempty"`
+ SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineQuickStats"] = reflect.TypeOf((*VirtualMachineQuickStats)(nil)).Elem()
+}
+
+type VirtualMachineRelocateSpec struct {
+ DynamicData
+
+ Service *ServiceLocator `xml:"service,omitempty"`
+ Folder *ManagedObjectReference `xml:"folder,omitempty"`
+ Datastore *ManagedObjectReference `xml:"datastore,omitempty"`
+ DiskMoveType string `xml:"diskMoveType,omitempty"`
+ Pool *ManagedObjectReference `xml:"pool,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty"`
+ Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty"`
+ DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualMachineRelocateSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpec)(nil)).Elem()
+}
+
+type VirtualMachineRelocateSpecDiskLocator struct {
+ DynamicData
+
+ DiskId int32 `xml:"diskId"`
+ Datastore ManagedObjectReference `xml:"datastore"`
+ DiskMoveType string `xml:"diskMoveType,omitempty"`
+ DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr"`
+ Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
+}
+
+type VirtualMachineRuntimeInfo struct {
+ DynamicData
+
+ Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ ConnectionState VirtualMachineConnectionState `xml:"connectionState"`
+ PowerState VirtualMachinePowerState `xml:"powerState"`
+ FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty"`
+ DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty"`
+ ToolsInstallerMounted bool `xml:"toolsInstallerMounted"`
+ SuspendTime *time.Time `xml:"suspendTime"`
+ BootTime *time.Time `xml:"bootTime"`
+ SuspendInterval int64 `xml:"suspendInterval,omitempty"`
+ Question *VirtualMachineQuestionInfo `xml:"question,omitempty"`
+ MemoryOverhead int64 `xml:"memoryOverhead,omitempty"`
+ MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty"`
+ MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty"`
+ NumMksConnections int32 `xml:"numMksConnections"`
+ RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty"`
+ CleanPowerOff *bool `xml:"cleanPowerOff"`
+ NeedSecondaryReason string `xml:"needSecondaryReason,omitempty"`
+ OnlineStandby *bool `xml:"onlineStandby"`
+ MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty"`
+ ConsolidationNeeded *bool `xml:"consolidationNeeded"`
+ OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty"`
+ FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"`
+ FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"`
+ VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty"`
+ Paused *bool `xml:"paused"`
+ SnapshotInBackground *bool `xml:"snapshotInBackground"`
+ QuiescedForkParent *bool `xml:"quiescedForkParent"`
+}
+
+func init() {
+ t["VirtualMachineRuntimeInfo"] = reflect.TypeOf((*VirtualMachineRuntimeInfo)(nil)).Elem()
+}
+
+type VirtualMachineRuntimeInfoDasProtectionState struct {
+ DynamicData
+
+ DasProtected bool `xml:"dasProtected"`
+}
+
+func init() {
+ t["VirtualMachineRuntimeInfoDasProtectionState"] = reflect.TypeOf((*VirtualMachineRuntimeInfoDasProtectionState)(nil)).Elem()
+}
+
+type VirtualMachineScsiDiskDeviceInfo struct {
+ VirtualMachineDiskDeviceInfo
+
+ Disk *HostScsiDisk `xml:"disk,omitempty"`
+ TransportHint string `xml:"transportHint,omitempty"`
+ LunNumber int32 `xml:"lunNumber,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
+}
+
+type VirtualMachineScsiPassthroughInfo struct {
+ VirtualMachineTargetInfo
+
+ ScsiClass string `xml:"scsiClass"`
+ Vendor string `xml:"vendor"`
+ PhysicalUnitNumber int32 `xml:"physicalUnitNumber"`
+}
+
+func init() {
+ t["VirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*VirtualMachineScsiPassthroughInfo)(nil)).Elem()
+}
+
+type VirtualMachineSerialInfo struct {
+ VirtualMachineTargetInfo
+}
+
+func init() {
+ t["VirtualMachineSerialInfo"] = reflect.TypeOf((*VirtualMachineSerialInfo)(nil)).Elem()
+}
+
+type VirtualMachineSnapshotInfo struct {
+ DynamicData
+
+ CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty"`
+ RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList"`
+}
+
+func init() {
+ t["VirtualMachineSnapshotInfo"] = reflect.TypeOf((*VirtualMachineSnapshotInfo)(nil)).Elem()
+}
+
+type VirtualMachineSnapshotTree struct {
+ DynamicData
+
+ Snapshot ManagedObjectReference `xml:"snapshot"`
+ Vm ManagedObjectReference `xml:"vm"`
+ Name string `xml:"name"`
+ Description string `xml:"description"`
+ Id int32 `xml:"id,omitempty"`
+ CreateTime time.Time `xml:"createTime"`
+ State VirtualMachinePowerState `xml:"state"`
+ Quiesced bool `xml:"quiesced"`
+ BackupManifest string `xml:"backupManifest,omitempty"`
+ ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty"`
+ ReplaySupported *bool `xml:"replaySupported"`
+}
+
+func init() {
+ t["VirtualMachineSnapshotTree"] = reflect.TypeOf((*VirtualMachineSnapshotTree)(nil)).Elem()
+}
+
+type VirtualMachineSoundInfo struct {
+ VirtualMachineTargetInfo
+}
+
+func init() {
+ t["VirtualMachineSoundInfo"] = reflect.TypeOf((*VirtualMachineSoundInfo)(nil)).Elem()
+}
+
+type VirtualMachineSriovDevicePoolInfo struct {
+ DynamicData
+
+ Key string `xml:"key"`
+}
+
+func init() {
+ t["VirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem()
+}
+
+type VirtualMachineSriovInfo struct {
+ VirtualMachinePciPassthroughInfo
+
+ VirtualFunction bool `xml:"virtualFunction"`
+ Pnic string `xml:"pnic,omitempty"`
+ DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualMachineSriovInfo"] = reflect.TypeOf((*VirtualMachineSriovInfo)(nil)).Elem()
+}
+
+type VirtualMachineSriovNetworkDevicePoolInfo struct {
+ VirtualMachineSriovDevicePoolInfo
+
+ SwitchKey string `xml:"switchKey,omitempty"`
+ SwitchUuid string `xml:"switchUuid,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovNetworkDevicePoolInfo)(nil)).Elem()
+}
+
+type VirtualMachineStorageInfo struct {
+ DynamicData
+
+ PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty"`
+ Timestamp time.Time `xml:"timestamp"`
+}
+
+func init() {
+ t["VirtualMachineStorageInfo"] = reflect.TypeOf((*VirtualMachineStorageInfo)(nil)).Elem()
+}
+
+type VirtualMachineStorageSummary struct {
+ DynamicData
+
+ Committed int64 `xml:"committed"`
+ Uncommitted int64 `xml:"uncommitted"`
+ Unshared int64 `xml:"unshared"`
+ Timestamp time.Time `xml:"timestamp"`
+}
+
+func init() {
+ t["VirtualMachineStorageSummary"] = reflect.TypeOf((*VirtualMachineStorageSummary)(nil)).Elem()
+}
+
+type VirtualMachineSummary struct {
+ DynamicData
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Runtime VirtualMachineRuntimeInfo `xml:"runtime"`
+ Guest *VirtualMachineGuestSummary `xml:"guest,omitempty"`
+ Config VirtualMachineConfigSummary `xml:"config"`
+ Storage *VirtualMachineStorageSummary `xml:"storage,omitempty"`
+ QuickStats VirtualMachineQuickStats `xml:"quickStats"`
+ OverallStatus ManagedEntityStatus `xml:"overallStatus"`
+ CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr"`
+}
+
+func init() {
+ t["VirtualMachineSummary"] = reflect.TypeOf((*VirtualMachineSummary)(nil)).Elem()
+}
+
+type VirtualMachineTargetInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ ConfigurationTag []string `xml:"configurationTag,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem()
+}
+
+type VirtualMachineTicket struct {
+ DynamicData
+
+ Ticket string `xml:"ticket"`
+ CfgFile string `xml:"cfgFile"`
+ Host string `xml:"host,omitempty"`
+ Port int32 `xml:"port,omitempty"`
+ SslThumbprint string `xml:"sslThumbprint,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineTicket"] = reflect.TypeOf((*VirtualMachineTicket)(nil)).Elem()
+}
+
+type VirtualMachineUsageOnDatastore struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+ Committed int64 `xml:"committed"`
+ Uncommitted int64 `xml:"uncommitted"`
+ Unshared int64 `xml:"unshared"`
+}
+
+func init() {
+ t["VirtualMachineUsageOnDatastore"] = reflect.TypeOf((*VirtualMachineUsageOnDatastore)(nil)).Elem()
+}
+
+type VirtualMachineUsbInfo struct {
+ VirtualMachineTargetInfo
+
+ Description string `xml:"description"`
+ Vendor int32 `xml:"vendor"`
+ Product int32 `xml:"product"`
+ PhysicalPath string `xml:"physicalPath"`
+ Family []string `xml:"family,omitempty"`
+ Speed []string `xml:"speed,omitempty"`
+ Summary *VirtualMachineSummary `xml:"summary,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineUsbInfo"] = reflect.TypeOf((*VirtualMachineUsbInfo)(nil)).Elem()
+}
+
+type VirtualMachineVFlashModuleInfo struct {
+ VirtualMachineTargetInfo
+
+ VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule"`
+}
+
+func init() {
+ t["VirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*VirtualMachineVFlashModuleInfo)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDevice struct {
+ VirtualDevice
+
+ Id int64 `xml:"id,omitempty"`
+ AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication"`
+ FilterEnable *bool `xml:"filterEnable"`
+ FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineVMCIDevice"] = reflect.TypeOf((*VirtualMachineVMCIDevice)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceFilterInfo struct {
+ DynamicData
+
+ Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineVMCIDeviceFilterInfo"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterInfo)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceFilterSpec struct {
+ DynamicData
+
+ Rank int64 `xml:"rank"`
+ Action string `xml:"action"`
+ Protocol string `xml:"protocol"`
+ Direction string `xml:"direction"`
+ LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty"`
+ UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceOption struct {
+ VirtualDeviceOption
+
+ AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication"`
+ FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty"`
+ FilterSupported *BoolOption `xml:"filterSupported,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineVMCIDeviceOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOption)(nil)).Elem()
+}
+
+type VirtualMachineVMCIDeviceOptionFilterSpecOption struct {
+ DynamicData
+
+ Action ChoiceOption `xml:"action"`
+ Protocol ChoiceOption `xml:"protocol"`
+ Direction ChoiceOption `xml:"direction"`
+ LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary"`
+ UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary"`
+}
+
+func init() {
+ t["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOptionFilterSpecOption)(nil)).Elem()
+}
+
+type VirtualMachineVMIROM struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualMachineVMIROM"] = reflect.TypeOf((*VirtualMachineVMIROM)(nil)).Elem()
+}
+
+type VirtualMachineVideoCard struct {
+ VirtualDevice
+
+ VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty"`
+ NumDisplays int32 `xml:"numDisplays,omitempty"`
+ UseAutoDetect *bool `xml:"useAutoDetect"`
+ Enable3DSupport *bool `xml:"enable3DSupport"`
+ Use3dRenderer string `xml:"use3dRenderer,omitempty"`
+ GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineVideoCard"] = reflect.TypeOf((*VirtualMachineVideoCard)(nil)).Elem()
+}
+
+type VirtualMachineWindowsQuiesceSpec struct {
+ VirtualMachineGuestQuiesceSpec
+
+ VssBackupType int32 `xml:"vssBackupType,omitempty"`
+ VssBootableSystemState *bool `xml:"vssBootableSystemState"`
+ VssPartialFileSupport *bool `xml:"vssPartialFileSupport"`
+ VssBackupContext string `xml:"vssBackupContext,omitempty"`
+}
+
+func init() {
+ t["VirtualMachineWindowsQuiesceSpec"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpec)(nil)).Elem()
+}
+
+type VirtualMachineWipeResult struct {
+ DynamicData
+
+ DiskId int32 `xml:"diskId"`
+ ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace"`
+}
+
+func init() {
+ t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem()
+}
+
+type VirtualNVMEController struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualNVMEController"] = reflect.TypeOf((*VirtualNVMEController)(nil)).Elem()
+}
+
+type VirtualNVMEControllerOption struct {
+ VirtualControllerOption
+
+ NumNVMEDisks IntOption `xml:"numNVMEDisks"`
+}
+
+func init() {
+ t["VirtualNVMEControllerOption"] = reflect.TypeOf((*VirtualNVMEControllerOption)(nil)).Elem()
+}
+
+type VirtualNicManagerNetConfig struct {
+ DynamicData
+
+ NicType string `xml:"nicType"`
+ MultiSelectAllowed bool `xml:"multiSelectAllowed"`
+ CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty"`
+ SelectedVnic []string `xml:"selectedVnic,omitempty"`
+}
+
+func init() {
+ t["VirtualNicManagerNetConfig"] = reflect.TypeOf((*VirtualNicManagerNetConfig)(nil)).Elem()
+}
+
+type VirtualPCIController struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualPCIController"] = reflect.TypeOf((*VirtualPCIController)(nil)).Elem()
+}
+
+type VirtualPCIControllerOption struct {
+ VirtualControllerOption
+
+ NumSCSIControllers IntOption `xml:"numSCSIControllers"`
+ NumEthernetCards IntOption `xml:"numEthernetCards"`
+ NumVideoCards IntOption `xml:"numVideoCards"`
+ NumSoundCards IntOption `xml:"numSoundCards"`
+ NumVmiRoms IntOption `xml:"numVmiRoms"`
+ NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty"`
+ NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty"`
+ NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty"`
+ NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty"`
+ NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty"`
+ NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty"`
+ NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty"`
+}
+
+func init() {
+ t["VirtualPCIControllerOption"] = reflect.TypeOf((*VirtualPCIControllerOption)(nil)).Elem()
+}
+
+type VirtualPCIPassthrough struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualPCIPassthrough"] = reflect.TypeOf((*VirtualPCIPassthrough)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ Id string `xml:"id"`
+ DeviceId string `xml:"deviceId"`
+ SystemId string `xml:"systemId"`
+ VendorId int16 `xml:"vendorId"`
+}
+
+func init() {
+ t["VirtualPCIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualPCIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualPCIPassthroughOption"] = reflect.TypeOf((*VirtualPCIPassthroughOption)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughPluginBackingInfo struct {
+ VirtualDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughPluginBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughVmiopBackingInfo struct {
+ VirtualPCIPassthroughPluginBackingInfo
+
+ Vgpu string `xml:"vgpu,omitempty"`
+}
+
+func init() {
+ t["VirtualPCIPassthroughVmiopBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingInfo)(nil)).Elem()
+}
+
+type VirtualPCIPassthroughVmiopBackingOption struct {
+ VirtualPCIPassthroughPluginBackingOption
+
+ Vgpu StringOption `xml:"vgpu"`
+ MaxInstances int32 `xml:"maxInstances"`
+}
+
+func init() {
+ t["VirtualPCIPassthroughVmiopBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingOption)(nil)).Elem()
+}
+
+type VirtualPCNet32 struct {
+ VirtualEthernetCard
+}
+
+func init() {
+ t["VirtualPCNet32"] = reflect.TypeOf((*VirtualPCNet32)(nil)).Elem()
+}
+
+type VirtualPCNet32Option struct {
+ VirtualEthernetCardOption
+
+ SupportsMorphing bool `xml:"supportsMorphing"`
+}
+
+func init() {
+ t["VirtualPCNet32Option"] = reflect.TypeOf((*VirtualPCNet32Option)(nil)).Elem()
+}
+
+type VirtualPS2Controller struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualPS2Controller"] = reflect.TypeOf((*VirtualPS2Controller)(nil)).Elem()
+}
+
+type VirtualPS2ControllerOption struct {
+ VirtualControllerOption
+
+ NumKeyboards IntOption `xml:"numKeyboards"`
+ NumPointingDevices IntOption `xml:"numPointingDevices"`
+}
+
+func init() {
+ t["VirtualPS2ControllerOption"] = reflect.TypeOf((*VirtualPS2ControllerOption)(nil)).Elem()
+}
+
+type VirtualParallelPort struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualParallelPort"] = reflect.TypeOf((*VirtualParallelPort)(nil)).Elem()
+}
+
+type VirtualParallelPortDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualParallelPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualParallelPortDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualParallelPortDeviceBackingOption"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualParallelPortFileBackingInfo struct {
+ VirtualDeviceFileBackingInfo
+}
+
+func init() {
+ t["VirtualParallelPortFileBackingInfo"] = reflect.TypeOf((*VirtualParallelPortFileBackingInfo)(nil)).Elem()
+}
+
+type VirtualParallelPortFileBackingOption struct {
+ VirtualDeviceFileBackingOption
+}
+
+func init() {
+ t["VirtualParallelPortFileBackingOption"] = reflect.TypeOf((*VirtualParallelPortFileBackingOption)(nil)).Elem()
+}
+
+type VirtualParallelPortOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualParallelPortOption"] = reflect.TypeOf((*VirtualParallelPortOption)(nil)).Elem()
+}
+
+type VirtualPointingDevice struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualPointingDevice"] = reflect.TypeOf((*VirtualPointingDevice)(nil)).Elem()
+}
+
+type VirtualPointingDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+
+ HostPointingDevice ChoiceOption `xml:"hostPointingDevice"`
+}
+
+func init() {
+ t["VirtualPointingDeviceBackingOption"] = reflect.TypeOf((*VirtualPointingDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualPointingDeviceDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ HostPointingDevice string `xml:"hostPointingDevice"`
+}
+
+func init() {
+ t["VirtualPointingDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualPointingDeviceDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualPointingDeviceOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem()
+}
+
+type VirtualResourcePoolSpec struct {
+ DynamicData
+
+ VrpId string `xml:"vrpId,omitempty"`
+ VrpName string `xml:"vrpName,omitempty"`
+ Description string `xml:"description,omitempty"`
+ CpuAllocation VrpResourceAllocationInfo `xml:"cpuAllocation"`
+ MemoryAllocation VrpResourceAllocationInfo `xml:"memoryAllocation"`
+ RpList []ManagedObjectReference `xml:"rpList,omitempty"`
+ HubList []ManagedObjectReference `xml:"hubList,omitempty"`
+ RootVRP *bool `xml:"rootVRP"`
+ StaticVRP *bool `xml:"staticVRP"`
+ ChangeVersion int64 `xml:"changeVersion,omitempty"`
+}
+
+func init() {
+ t["VirtualResourcePoolSpec"] = reflect.TypeOf((*VirtualResourcePoolSpec)(nil)).Elem()
+}
+
+type VirtualResourcePoolUsage struct {
+ DynamicData
+
+ VrpId string `xml:"vrpId"`
+ CpuReservationMhz int64 `xml:"cpuReservationMhz"`
+ MemReservationMB int64 `xml:"memReservationMB"`
+ CpuReservationUsedMhz int64 `xml:"cpuReservationUsedMhz"`
+ MemReservationUsedMB int64 `xml:"memReservationUsedMB"`
+}
+
+func init() {
+ t["VirtualResourcePoolUsage"] = reflect.TypeOf((*VirtualResourcePoolUsage)(nil)).Elem()
+}
+
+type VirtualSATAController struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem()
+}
+
+type VirtualSATAControllerOption struct {
+ VirtualControllerOption
+
+ NumSATADisks IntOption `xml:"numSATADisks"`
+ NumSATACdroms IntOption `xml:"numSATACdroms"`
+}
+
+func init() {
+ t["VirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem()
+}
+
+type VirtualSCSIController struct {
+ VirtualController
+
+ HotAddRemove *bool `xml:"hotAddRemove"`
+ SharedBus VirtualSCSISharing `xml:"sharedBus"`
+ ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty"`
+}
+
+func init() {
+ t["VirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem()
+}
+
+type VirtualSCSIControllerOption struct {
+ VirtualControllerOption
+
+ NumSCSIDisks IntOption `xml:"numSCSIDisks"`
+ NumSCSICdroms IntOption `xml:"numSCSICdroms"`
+ NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough"`
+ Sharing []VirtualSCSISharing `xml:"sharing"`
+ DefaultSharedIndex int32 `xml:"defaultSharedIndex"`
+ HotAddRemove BoolOption `xml:"hotAddRemove"`
+ ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber"`
+}
+
+func init() {
+ t["VirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem()
+}
+
+type VirtualSCSIPassthrough struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualSCSIPassthrough"] = reflect.TypeOf((*VirtualSCSIPassthrough)(nil)).Elem()
+}
+
+type VirtualSCSIPassthroughDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualSCSIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualSCSIPassthroughDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualSCSIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualSCSIPassthroughOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualSCSIPassthroughOption"] = reflect.TypeOf((*VirtualSCSIPassthroughOption)(nil)).Elem()
+}
+
+type VirtualSIOController struct {
+ VirtualController
+}
+
+func init() {
+ t["VirtualSIOController"] = reflect.TypeOf((*VirtualSIOController)(nil)).Elem()
+}
+
+type VirtualSIOControllerOption struct {
+ VirtualControllerOption
+
+ NumFloppyDrives IntOption `xml:"numFloppyDrives"`
+ NumSerialPorts IntOption `xml:"numSerialPorts"`
+ NumParallelPorts IntOption `xml:"numParallelPorts"`
+}
+
+func init() {
+ t["VirtualSIOControllerOption"] = reflect.TypeOf((*VirtualSIOControllerOption)(nil)).Elem()
+}
+
+type VirtualSerialPort struct {
+ VirtualDevice
+
+ YieldOnPoll bool `xml:"yieldOnPoll"`
+}
+
+func init() {
+ t["VirtualSerialPort"] = reflect.TypeOf((*VirtualSerialPort)(nil)).Elem()
+}
+
+type VirtualSerialPortDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualSerialPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualSerialPortDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualSerialPortDeviceBackingOption"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualSerialPortFileBackingInfo struct {
+ VirtualDeviceFileBackingInfo
+}
+
+func init() {
+ t["VirtualSerialPortFileBackingInfo"] = reflect.TypeOf((*VirtualSerialPortFileBackingInfo)(nil)).Elem()
+}
+
+type VirtualSerialPortFileBackingOption struct {
+ VirtualDeviceFileBackingOption
+}
+
+func init() {
+ t["VirtualSerialPortFileBackingOption"] = reflect.TypeOf((*VirtualSerialPortFileBackingOption)(nil)).Elem()
+}
+
+type VirtualSerialPortOption struct {
+ VirtualDeviceOption
+
+ YieldOnPoll BoolOption `xml:"yieldOnPoll"`
+}
+
+func init() {
+ t["VirtualSerialPortOption"] = reflect.TypeOf((*VirtualSerialPortOption)(nil)).Elem()
+}
+
+type VirtualSerialPortPipeBackingInfo struct {
+ VirtualDevicePipeBackingInfo
+
+ Endpoint string `xml:"endpoint"`
+ NoRxLoss *bool `xml:"noRxLoss"`
+}
+
+func init() {
+ t["VirtualSerialPortPipeBackingInfo"] = reflect.TypeOf((*VirtualSerialPortPipeBackingInfo)(nil)).Elem()
+}
+
+type VirtualSerialPortPipeBackingOption struct {
+ VirtualDevicePipeBackingOption
+
+ Endpoint ChoiceOption `xml:"endpoint"`
+ NoRxLoss BoolOption `xml:"noRxLoss"`
+}
+
+func init() {
+ t["VirtualSerialPortPipeBackingOption"] = reflect.TypeOf((*VirtualSerialPortPipeBackingOption)(nil)).Elem()
+}
+
+type VirtualSerialPortThinPrintBackingInfo struct {
+ VirtualDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualSerialPortThinPrintBackingInfo"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingInfo)(nil)).Elem()
+}
+
+type VirtualSerialPortThinPrintBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualSerialPortThinPrintBackingOption"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingOption)(nil)).Elem()
+}
+
+type VirtualSerialPortURIBackingInfo struct {
+ VirtualDeviceURIBackingInfo
+}
+
+func init() {
+ t["VirtualSerialPortURIBackingInfo"] = reflect.TypeOf((*VirtualSerialPortURIBackingInfo)(nil)).Elem()
+}
+
+type VirtualSerialPortURIBackingOption struct {
+ VirtualDeviceURIBackingOption
+}
+
+func init() {
+ t["VirtualSerialPortURIBackingOption"] = reflect.TypeOf((*VirtualSerialPortURIBackingOption)(nil)).Elem()
+}
+
+type VirtualSoundBlaster16 struct {
+ VirtualSoundCard
+}
+
+func init() {
+ t["VirtualSoundBlaster16"] = reflect.TypeOf((*VirtualSoundBlaster16)(nil)).Elem()
+}
+
+type VirtualSoundBlaster16Option struct {
+ VirtualSoundCardOption
+}
+
+func init() {
+ t["VirtualSoundBlaster16Option"] = reflect.TypeOf((*VirtualSoundBlaster16Option)(nil)).Elem()
+}
+
+type VirtualSoundCard struct {
+ VirtualDevice
+}
+
+func init() {
+ t["VirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem()
+}
+
+type VirtualSoundCardDeviceBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualSoundCardDeviceBackingInfo"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingInfo)(nil)).Elem()
+}
+
+type VirtualSoundCardDeviceBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualSoundCardDeviceBackingOption"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingOption)(nil)).Elem()
+}
+
+type VirtualSoundCardOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem()
+}
+
+type VirtualSriovEthernetCard struct {
+ VirtualEthernetCard
+
+ AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange"`
+ SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty"`
+}
+
+func init() {
+ t["VirtualSriovEthernetCard"] = reflect.TypeOf((*VirtualSriovEthernetCard)(nil)).Elem()
+}
+
+type VirtualSriovEthernetCardOption struct {
+ VirtualEthernetCardOption
+}
+
+func init() {
+ t["VirtualSriovEthernetCardOption"] = reflect.TypeOf((*VirtualSriovEthernetCardOption)(nil)).Elem()
+}
+
+type VirtualSriovEthernetCardSriovBackingInfo struct {
+ VirtualDeviceBackingInfo
+
+ PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty"`
+ VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty"`
+ VirtualFunctionIndex int32 `xml:"virtualFunctionIndex,omitempty"`
+}
+
+func init() {
+ t["VirtualSriovEthernetCardSriovBackingInfo"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingInfo)(nil)).Elem()
+}
+
+type VirtualSriovEthernetCardSriovBackingOption struct {
+ VirtualDeviceBackingOption
+}
+
+func init() {
+ t["VirtualSriovEthernetCardSriovBackingOption"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingOption)(nil)).Elem()
+}
+
+type VirtualSwitchProfile struct {
+ ApplyProfile
+
+ Key string `xml:"key"`
+ Name string `xml:"name"`
+ Link LinkProfile `xml:"link"`
+ NumPorts NumPortsProfile `xml:"numPorts"`
+ NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy"`
+}
+
+func init() {
+ t["VirtualSwitchProfile"] = reflect.TypeOf((*VirtualSwitchProfile)(nil)).Elem()
+}
+
+type VirtualSwitchSelectionProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["VirtualSwitchSelectionProfile"] = reflect.TypeOf((*VirtualSwitchSelectionProfile)(nil)).Elem()
+}
+
+type VirtualUSB struct {
+ VirtualDevice
+
+ Connected bool `xml:"connected"`
+ Vendor int32 `xml:"vendor,omitempty"`
+ Product int32 `xml:"product,omitempty"`
+ Family []string `xml:"family,omitempty"`
+ Speed []string `xml:"speed,omitempty"`
+}
+
+func init() {
+ t["VirtualUSB"] = reflect.TypeOf((*VirtualUSB)(nil)).Elem()
+}
+
+type VirtualUSBController struct {
+ VirtualController
+
+ AutoConnectDevices *bool `xml:"autoConnectDevices"`
+ EhciEnabled *bool `xml:"ehciEnabled"`
+}
+
+func init() {
+ t["VirtualUSBController"] = reflect.TypeOf((*VirtualUSBController)(nil)).Elem()
+}
+
+type VirtualUSBControllerOption struct {
+ VirtualControllerOption
+
+ AutoConnectDevices BoolOption `xml:"autoConnectDevices"`
+ EhciSupported BoolOption `xml:"ehciSupported"`
+ SupportedSpeeds []string `xml:"supportedSpeeds,omitempty"`
+}
+
+func init() {
+ t["VirtualUSBControllerOption"] = reflect.TypeOf((*VirtualUSBControllerOption)(nil)).Elem()
+}
+
+type VirtualUSBControllerPciBusSlotInfo struct {
+ VirtualDevicePciBusSlotInfo
+
+ EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty"`
+}
+
+func init() {
+ t["VirtualUSBControllerPciBusSlotInfo"] = reflect.TypeOf((*VirtualUSBControllerPciBusSlotInfo)(nil)).Elem()
+}
+
+type VirtualUSBOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualUSBOption"] = reflect.TypeOf((*VirtualUSBOption)(nil)).Elem()
+}
+
+type VirtualUSBRemoteClientBackingInfo struct {
+ VirtualDeviceRemoteDeviceBackingInfo
+
+ Hostname string `xml:"hostname"`
+}
+
+func init() {
+ t["VirtualUSBRemoteClientBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingInfo)(nil)).Elem()
+}
+
+type VirtualUSBRemoteClientBackingOption struct {
+ VirtualDeviceRemoteDeviceBackingOption
+}
+
+func init() {
+ t["VirtualUSBRemoteClientBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingOption)(nil)).Elem()
+}
+
+type VirtualUSBRemoteHostBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+
+ Hostname string `xml:"hostname"`
+}
+
+func init() {
+ t["VirtualUSBRemoteHostBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingInfo)(nil)).Elem()
+}
+
+type VirtualUSBRemoteHostBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualUSBRemoteHostBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingOption)(nil)).Elem()
+}
+
+type VirtualUSBUSBBackingInfo struct {
+ VirtualDeviceDeviceBackingInfo
+}
+
+func init() {
+ t["VirtualUSBUSBBackingInfo"] = reflect.TypeOf((*VirtualUSBUSBBackingInfo)(nil)).Elem()
+}
+
+type VirtualUSBUSBBackingOption struct {
+ VirtualDeviceDeviceBackingOption
+}
+
+func init() {
+ t["VirtualUSBUSBBackingOption"] = reflect.TypeOf((*VirtualUSBUSBBackingOption)(nil)).Elem()
+}
+
+type VirtualUSBXHCIController struct {
+ VirtualController
+
+ AutoConnectDevices *bool `xml:"autoConnectDevices"`
+}
+
+func init() {
+ t["VirtualUSBXHCIController"] = reflect.TypeOf((*VirtualUSBXHCIController)(nil)).Elem()
+}
+
+type VirtualUSBXHCIControllerOption struct {
+ VirtualControllerOption
+
+ AutoConnectDevices BoolOption `xml:"autoConnectDevices"`
+ SupportedSpeeds []string `xml:"supportedSpeeds"`
+}
+
+func init() {
+ t["VirtualUSBXHCIControllerOption"] = reflect.TypeOf((*VirtualUSBXHCIControllerOption)(nil)).Elem()
+}
+
+type VirtualVMIROMOption struct {
+ VirtualDeviceOption
+}
+
+func init() {
+ t["VirtualVMIROMOption"] = reflect.TypeOf((*VirtualVMIROMOption)(nil)).Elem()
+}
+
+type VirtualVideoCardOption struct {
+ VirtualDeviceOption
+
+ VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty"`
+ NumDisplays *IntOption `xml:"numDisplays,omitempty"`
+ UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty"`
+ Support3D *BoolOption `xml:"support3D,omitempty"`
+ Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty"`
+ GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty"`
+ GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty"`
+}
+
+func init() {
+ t["VirtualVideoCardOption"] = reflect.TypeOf((*VirtualVideoCardOption)(nil)).Elem()
+}
+
+type VirtualVmxnet struct {
+ VirtualEthernetCard
+}
+
+func init() {
+ t["VirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem()
+}
+
+type VirtualVmxnet2 struct {
+ VirtualVmxnet
+}
+
+func init() {
+ t["VirtualVmxnet2"] = reflect.TypeOf((*VirtualVmxnet2)(nil)).Elem()
+}
+
+type VirtualVmxnet2Option struct {
+ VirtualVmxnetOption
+}
+
+func init() {
+ t["VirtualVmxnet2Option"] = reflect.TypeOf((*VirtualVmxnet2Option)(nil)).Elem()
+}
+
+type VirtualVmxnet3 struct {
+ VirtualVmxnet
+}
+
+func init() {
+ t["VirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem()
+}
+
+type VirtualVmxnet3Option struct {
+ VirtualVmxnetOption
+}
+
+func init() {
+ t["VirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem()
+}
+
+type VirtualVmxnet3Vrdma struct {
+ VirtualVmxnet3
+}
+
+func init() {
+ t["VirtualVmxnet3Vrdma"] = reflect.TypeOf((*VirtualVmxnet3Vrdma)(nil)).Elem()
+}
+
+type VirtualVmxnet3VrdmaOption struct {
+ VirtualVmxnet3Option
+}
+
+func init() {
+ t["VirtualVmxnet3VrdmaOption"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOption)(nil)).Elem()
+}
+
+type VirtualVmxnetOption struct {
+ VirtualEthernetCardOption
+}
+
+func init() {
+ t["VirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem()
+}
+
+type VlanProfile struct {
+ ApplyProfile
+}
+
+func init() {
+ t["VlanProfile"] = reflect.TypeOf((*VlanProfile)(nil)).Elem()
+}
+
+type VmAcquiredMksTicketEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmAcquiredMksTicketEvent"] = reflect.TypeOf((*VmAcquiredMksTicketEvent)(nil)).Elem()
+}
+
+type VmAcquiredTicketEvent struct {
+ VmEvent
+
+ TicketType string `xml:"ticketType"`
+}
+
+func init() {
+ t["VmAcquiredTicketEvent"] = reflect.TypeOf((*VmAcquiredTicketEvent)(nil)).Elem()
+}
+
+type VmAlreadyExistsInDatacenter struct {
+ InvalidFolder
+
+ Host ManagedObjectReference `xml:"host"`
+ Hostname string `xml:"hostname"`
+ Vm []ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["VmAlreadyExistsInDatacenter"] = reflect.TypeOf((*VmAlreadyExistsInDatacenter)(nil)).Elem()
+}
+
+type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter
+
+func init() {
+ t["VmAlreadyExistsInDatacenterFault"] = reflect.TypeOf((*VmAlreadyExistsInDatacenterFault)(nil)).Elem()
+}
+
+type VmAutoRenameEvent struct {
+ VmEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["VmAutoRenameEvent"] = reflect.TypeOf((*VmAutoRenameEvent)(nil)).Elem()
+}
+
+type VmBeingClonedEvent struct {
+ VmCloneEvent
+
+ DestFolder FolderEventArgument `xml:"destFolder"`
+ DestName string `xml:"destName"`
+ DestHost HostEventArgument `xml:"destHost"`
+}
+
+func init() {
+ t["VmBeingClonedEvent"] = reflect.TypeOf((*VmBeingClonedEvent)(nil)).Elem()
+}
+
+type VmBeingClonedNoFolderEvent struct {
+ VmCloneEvent
+
+ DestName string `xml:"destName"`
+ DestHost HostEventArgument `xml:"destHost"`
+}
+
+func init() {
+ t["VmBeingClonedNoFolderEvent"] = reflect.TypeOf((*VmBeingClonedNoFolderEvent)(nil)).Elem()
+}
+
+type VmBeingCreatedEvent struct {
+ VmEvent
+
+ ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"`
+}
+
+func init() {
+ t["VmBeingCreatedEvent"] = reflect.TypeOf((*VmBeingCreatedEvent)(nil)).Elem()
+}
+
+type VmBeingDeployedEvent struct {
+ VmEvent
+
+ SrcTemplate VmEventArgument `xml:"srcTemplate"`
+}
+
+func init() {
+ t["VmBeingDeployedEvent"] = reflect.TypeOf((*VmBeingDeployedEvent)(nil)).Elem()
+}
+
+type VmBeingHotMigratedEvent struct {
+ VmEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+ DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"`
+ DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"`
+}
+
+func init() {
+ t["VmBeingHotMigratedEvent"] = reflect.TypeOf((*VmBeingHotMigratedEvent)(nil)).Elem()
+}
+
+type VmBeingMigratedEvent struct {
+ VmEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+ DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"`
+ DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"`
+}
+
+func init() {
+ t["VmBeingMigratedEvent"] = reflect.TypeOf((*VmBeingMigratedEvent)(nil)).Elem()
+}
+
+type VmBeingRelocatedEvent struct {
+ VmRelocateSpecEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+ DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"`
+ DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"`
+}
+
+func init() {
+ t["VmBeingRelocatedEvent"] = reflect.TypeOf((*VmBeingRelocatedEvent)(nil)).Elem()
+}
+
+type VmCloneEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem()
+}
+
+type VmCloneFailedEvent struct {
+ VmCloneEvent
+
+ DestFolder FolderEventArgument `xml:"destFolder"`
+ DestName string `xml:"destName"`
+ DestHost HostEventArgument `xml:"destHost"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmCloneFailedEvent"] = reflect.TypeOf((*VmCloneFailedEvent)(nil)).Elem()
+}
+
+type VmClonedEvent struct {
+ VmCloneEvent
+
+ SourceVm VmEventArgument `xml:"sourceVm"`
+}
+
+func init() {
+ t["VmClonedEvent"] = reflect.TypeOf((*VmClonedEvent)(nil)).Elem()
+}
+
+type VmConfigFault struct {
+ VimFault
+}
+
+func init() {
+ t["VmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem()
+}
+
+type VmConfigFaultFault BaseVmConfigFault
+
+func init() {
+ t["VmConfigFaultFault"] = reflect.TypeOf((*VmConfigFaultFault)(nil)).Elem()
+}
+
+type VmConfigFileEncryptionInfo struct {
+ DynamicData
+
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["VmConfigFileEncryptionInfo"] = reflect.TypeOf((*VmConfigFileEncryptionInfo)(nil)).Elem()
+}
+
+type VmConfigFileInfo struct {
+ FileInfo
+
+ ConfigVersion int32 `xml:"configVersion,omitempty"`
+ Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty"`
+}
+
+func init() {
+ t["VmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem()
+}
+
+type VmConfigFileQuery struct {
+ FileQuery
+
+ Filter *VmConfigFileQueryFilter `xml:"filter,omitempty"`
+ Details *VmConfigFileQueryFlags `xml:"details,omitempty"`
+}
+
+func init() {
+ t["VmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem()
+}
+
+type VmConfigFileQueryFilter struct {
+ DynamicData
+
+ MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty"`
+ Encrypted *bool `xml:"encrypted"`
+}
+
+func init() {
+ t["VmConfigFileQueryFilter"] = reflect.TypeOf((*VmConfigFileQueryFilter)(nil)).Elem()
+}
+
+type VmConfigFileQueryFlags struct {
+ DynamicData
+
+ ConfigVersion bool `xml:"configVersion"`
+ Encryption *bool `xml:"encryption"`
+}
+
+func init() {
+ t["VmConfigFileQueryFlags"] = reflect.TypeOf((*VmConfigFileQueryFlags)(nil)).Elem()
+}
+
+type VmConfigIncompatibleForFaultTolerance struct {
+ VmConfigFault
+
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["VmConfigIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmConfigIncompatibleForFaultTolerance)(nil)).Elem()
+}
+
+type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance
+
+func init() {
+ t["VmConfigIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmConfigIncompatibleForFaultToleranceFault)(nil)).Elem()
+}
+
+type VmConfigIncompatibleForRecordReplay struct {
+ VmConfigFault
+
+ Fault *LocalizedMethodFault `xml:"fault,omitempty"`
+}
+
+func init() {
+ t["VmConfigIncompatibleForRecordReplay"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplay)(nil)).Elem()
+}
+
+type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay
+
+func init() {
+ t["VmConfigIncompatibleForRecordReplayFault"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplayFault)(nil)).Elem()
+}
+
+type VmConfigInfo struct {
+ DynamicData
+
+ Product []VAppProductInfo `xml:"product,omitempty"`
+ Property []VAppPropertyInfo `xml:"property,omitempty"`
+ IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment"`
+ Eula []string `xml:"eula,omitempty"`
+ OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty"`
+ OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty"`
+ InstallBootRequired bool `xml:"installBootRequired"`
+ InstallBootStopDelay int32 `xml:"installBootStopDelay"`
+}
+
+func init() {
+ t["VmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem()
+}
+
+type VmConfigMissingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmConfigMissingEvent"] = reflect.TypeOf((*VmConfigMissingEvent)(nil)).Elem()
+}
+
+type VmConfigSpec struct {
+ DynamicData
+
+ Product []VAppProductSpec `xml:"product,omitempty"`
+ Property []VAppPropertySpec `xml:"property,omitempty"`
+ IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty"`
+ Eula []string `xml:"eula,omitempty"`
+ OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty"`
+ OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty"`
+ InstallBootRequired *bool `xml:"installBootRequired"`
+ InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty"`
+}
+
+func init() {
+ t["VmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem()
+}
+
+type VmConnectedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmConnectedEvent"] = reflect.TypeOf((*VmConnectedEvent)(nil)).Elem()
+}
+
+type VmCreatedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmCreatedEvent"] = reflect.TypeOf((*VmCreatedEvent)(nil)).Elem()
+}
+
+type VmDasBeingResetEvent struct {
+ VmEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem()
+}
+
+type VmDasBeingResetWithScreenshotEvent struct {
+ VmDasBeingResetEvent
+
+ ScreenshotFilePath string `xml:"screenshotFilePath"`
+}
+
+func init() {
+ t["VmDasBeingResetWithScreenshotEvent"] = reflect.TypeOf((*VmDasBeingResetWithScreenshotEvent)(nil)).Elem()
+}
+
+type VmDasResetFailedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDasResetFailedEvent"] = reflect.TypeOf((*VmDasResetFailedEvent)(nil)).Elem()
+}
+
+type VmDasUpdateErrorEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDasUpdateErrorEvent"] = reflect.TypeOf((*VmDasUpdateErrorEvent)(nil)).Elem()
+}
+
+type VmDasUpdateOkEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDasUpdateOkEvent"] = reflect.TypeOf((*VmDasUpdateOkEvent)(nil)).Elem()
+}
+
+type VmDateRolledBackEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDateRolledBackEvent"] = reflect.TypeOf((*VmDateRolledBackEvent)(nil)).Elem()
+}
+
+type VmDeployFailedEvent struct {
+ VmEvent
+
+ DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmDeployFailedEvent"] = reflect.TypeOf((*VmDeployFailedEvent)(nil)).Elem()
+}
+
+type VmDeployedEvent struct {
+ VmEvent
+
+ SrcTemplate VmEventArgument `xml:"srcTemplate"`
+}
+
+func init() {
+ t["VmDeployedEvent"] = reflect.TypeOf((*VmDeployedEvent)(nil)).Elem()
+}
+
+type VmDisconnectedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDisconnectedEvent"] = reflect.TypeOf((*VmDisconnectedEvent)(nil)).Elem()
+}
+
+type VmDiscoveredEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmDiscoveredEvent"] = reflect.TypeOf((*VmDiscoveredEvent)(nil)).Elem()
+}
+
+type VmDiskFailedEvent struct {
+ VmEvent
+
+ Disk string `xml:"disk"`
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmDiskFailedEvent"] = reflect.TypeOf((*VmDiskFailedEvent)(nil)).Elem()
+}
+
+type VmDiskFileEncryptionInfo struct {
+ DynamicData
+
+ KeyId *CryptoKeyId `xml:"keyId,omitempty"`
+}
+
+func init() {
+ t["VmDiskFileEncryptionInfo"] = reflect.TypeOf((*VmDiskFileEncryptionInfo)(nil)).Elem()
+}
+
+type VmDiskFileInfo struct {
+ FileInfo
+
+ DiskType string `xml:"diskType,omitempty"`
+ CapacityKb int64 `xml:"capacityKb,omitempty"`
+ HardwareVersion int32 `xml:"hardwareVersion,omitempty"`
+ ControllerType string `xml:"controllerType,omitempty"`
+ DiskExtents []string `xml:"diskExtents,omitempty"`
+ Thin *bool `xml:"thin"`
+ Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty"`
+}
+
+func init() {
+ t["VmDiskFileInfo"] = reflect.TypeOf((*VmDiskFileInfo)(nil)).Elem()
+}
+
+type VmDiskFileQuery struct {
+ FileQuery
+
+ Filter *VmDiskFileQueryFilter `xml:"filter,omitempty"`
+ Details *VmDiskFileQueryFlags `xml:"details,omitempty"`
+}
+
+func init() {
+ t["VmDiskFileQuery"] = reflect.TypeOf((*VmDiskFileQuery)(nil)).Elem()
+}
+
+type VmDiskFileQueryFilter struct {
+ DynamicData
+
+ DiskType []string `xml:"diskType,omitempty"`
+ MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty"`
+ ControllerType []string `xml:"controllerType,omitempty"`
+ Thin *bool `xml:"thin"`
+ Encrypted *bool `xml:"encrypted"`
+}
+
+func init() {
+ t["VmDiskFileQueryFilter"] = reflect.TypeOf((*VmDiskFileQueryFilter)(nil)).Elem()
+}
+
+type VmDiskFileQueryFlags struct {
+ DynamicData
+
+ DiskType bool `xml:"diskType"`
+ CapacityKb bool `xml:"capacityKb"`
+ HardwareVersion bool `xml:"hardwareVersion"`
+ ControllerType *bool `xml:"controllerType"`
+ DiskExtents *bool `xml:"diskExtents"`
+ Thin *bool `xml:"thin"`
+ Encryption *bool `xml:"encryption"`
+}
+
+func init() {
+ t["VmDiskFileQueryFlags"] = reflect.TypeOf((*VmDiskFileQueryFlags)(nil)).Elem()
+}
+
+type VmEmigratingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmEmigratingEvent"] = reflect.TypeOf((*VmEmigratingEvent)(nil)).Elem()
+}
+
+type VmEndRecordingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmEndRecordingEvent"] = reflect.TypeOf((*VmEndRecordingEvent)(nil)).Elem()
+}
+
+type VmEndReplayingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmEndReplayingEvent"] = reflect.TypeOf((*VmEndReplayingEvent)(nil)).Elem()
+}
+
+type VmEvent struct {
+ Event
+
+ Template bool `xml:"template"`
+}
+
+func init() {
+ t["VmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem()
+}
+
+type VmEventArgument struct {
+ EntityEventArgument
+
+ Vm ManagedObjectReference `xml:"vm"`
+}
+
+func init() {
+ t["VmEventArgument"] = reflect.TypeOf((*VmEventArgument)(nil)).Elem()
+}
+
+type VmFailedMigrateEvent struct {
+ VmEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+ Reason LocalizedMethodFault `xml:"reason"`
+ DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"`
+ DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"`
+}
+
+func init() {
+ t["VmFailedMigrateEvent"] = reflect.TypeOf((*VmFailedMigrateEvent)(nil)).Elem()
+}
+
+type VmFailedRelayoutEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedRelayoutEvent"] = reflect.TypeOf((*VmFailedRelayoutEvent)(nil)).Elem()
+}
+
+type VmFailedRelayoutOnVmfs2DatastoreEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmFailedRelayoutOnVmfs2DatastoreEvent"] = reflect.TypeOf((*VmFailedRelayoutOnVmfs2DatastoreEvent)(nil)).Elem()
+}
+
+type VmFailedStartingSecondaryEvent struct {
+ VmEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmFailedStartingSecondaryEvent"] = reflect.TypeOf((*VmFailedStartingSecondaryEvent)(nil)).Elem()
+}
+
+type VmFailedToPowerOffEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToPowerOffEvent"] = reflect.TypeOf((*VmFailedToPowerOffEvent)(nil)).Elem()
+}
+
+type VmFailedToPowerOnEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToPowerOnEvent"] = reflect.TypeOf((*VmFailedToPowerOnEvent)(nil)).Elem()
+}
+
+type VmFailedToRebootGuestEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToRebootGuestEvent"] = reflect.TypeOf((*VmFailedToRebootGuestEvent)(nil)).Elem()
+}
+
+type VmFailedToResetEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToResetEvent"] = reflect.TypeOf((*VmFailedToResetEvent)(nil)).Elem()
+}
+
+type VmFailedToShutdownGuestEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToShutdownGuestEvent"] = reflect.TypeOf((*VmFailedToShutdownGuestEvent)(nil)).Elem()
+}
+
+type VmFailedToStandbyGuestEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToStandbyGuestEvent"] = reflect.TypeOf((*VmFailedToStandbyGuestEvent)(nil)).Elem()
+}
+
+type VmFailedToSuspendEvent struct {
+ VmEvent
+
+ Reason LocalizedMethodFault `xml:"reason"`
+}
+
+func init() {
+ t["VmFailedToSuspendEvent"] = reflect.TypeOf((*VmFailedToSuspendEvent)(nil)).Elem()
+}
+
+type VmFailedUpdatingSecondaryConfig struct {
+ VmEvent
+}
+
+func init() {
+ t["VmFailedUpdatingSecondaryConfig"] = reflect.TypeOf((*VmFailedUpdatingSecondaryConfig)(nil)).Elem()
+}
+
+type VmFailoverFailed struct {
+ VmEvent
+
+ Reason *LocalizedMethodFault `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmFailoverFailed"] = reflect.TypeOf((*VmFailoverFailed)(nil)).Elem()
+}
+
+type VmFaultToleranceConfigIssue struct {
+ VmFaultToleranceIssue
+
+ Reason string `xml:"reason,omitempty"`
+ EntityName string `xml:"entityName,omitempty"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+}
+
+func init() {
+ t["VmFaultToleranceConfigIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssue)(nil)).Elem()
+}
+
+type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue
+
+func init() {
+ t["VmFaultToleranceConfigIssueFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueFault)(nil)).Elem()
+}
+
+type VmFaultToleranceConfigIssueWrapper struct {
+ VmFaultToleranceIssue
+
+ EntityName string `xml:"entityName,omitempty"`
+ Entity *ManagedObjectReference `xml:"entity,omitempty"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["VmFaultToleranceConfigIssueWrapper"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapper)(nil)).Elem()
+}
+
+type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper
+
+func init() {
+ t["VmFaultToleranceConfigIssueWrapperFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapperFault)(nil)).Elem()
+}
+
+type VmFaultToleranceInvalidFileBacking struct {
+ VmFaultToleranceIssue
+
+ BackingType string `xml:"backingType,omitempty"`
+ BackingFilename string `xml:"backingFilename,omitempty"`
+}
+
+func init() {
+ t["VmFaultToleranceInvalidFileBacking"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBacking)(nil)).Elem()
+}
+
+type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking
+
+func init() {
+ t["VmFaultToleranceInvalidFileBackingFault"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingFault)(nil)).Elem()
+}
+
+type VmFaultToleranceIssue struct {
+ VimFault
+}
+
+func init() {
+ t["VmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem()
+}
+
+type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue
+
+func init() {
+ t["VmFaultToleranceIssueFault"] = reflect.TypeOf((*VmFaultToleranceIssueFault)(nil)).Elem()
+}
+
+type VmFaultToleranceOpIssuesList struct {
+ VmFaultToleranceIssue
+
+ Errors []LocalizedMethodFault `xml:"errors,omitempty"`
+ Warnings []LocalizedMethodFault `xml:"warnings,omitempty"`
+}
+
+func init() {
+ t["VmFaultToleranceOpIssuesList"] = reflect.TypeOf((*VmFaultToleranceOpIssuesList)(nil)).Elem()
+}
+
+type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList
+
+func init() {
+ t["VmFaultToleranceOpIssuesListFault"] = reflect.TypeOf((*VmFaultToleranceOpIssuesListFault)(nil)).Elem()
+}
+
+type VmFaultToleranceStateChangedEvent struct {
+ VmEvent
+
+ OldState VirtualMachineFaultToleranceState `xml:"oldState"`
+ NewState VirtualMachineFaultToleranceState `xml:"newState"`
+}
+
+func init() {
+ t["VmFaultToleranceStateChangedEvent"] = reflect.TypeOf((*VmFaultToleranceStateChangedEvent)(nil)).Elem()
+}
+
+type VmFaultToleranceTooManyFtVcpusOnHost struct {
+ InsufficientResourcesFault
+
+ HostName string `xml:"hostName,omitempty"`
+ MaxNumFtVcpus int32 `xml:"maxNumFtVcpus"`
+}
+
+func init() {
+ t["VmFaultToleranceTooManyFtVcpusOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHost)(nil)).Elem()
+}
+
+type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost
+
+func init() {
+ t["VmFaultToleranceTooManyFtVcpusOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHostFault)(nil)).Elem()
+}
+
+type VmFaultToleranceTooManyVMsOnHost struct {
+ InsufficientResourcesFault
+
+ HostName string `xml:"hostName,omitempty"`
+ MaxNumFtVms int32 `xml:"maxNumFtVms"`
+}
+
+func init() {
+ t["VmFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHost)(nil)).Elem()
+}
+
+type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost
+
+func init() {
+ t["VmFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
+}
+
+type VmFaultToleranceTurnedOffEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmFaultToleranceTurnedOffEvent"] = reflect.TypeOf((*VmFaultToleranceTurnedOffEvent)(nil)).Elem()
+}
+
+type VmFaultToleranceVmTerminatedEvent struct {
+ VmEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmFaultToleranceVmTerminatedEvent"] = reflect.TypeOf((*VmFaultToleranceVmTerminatedEvent)(nil)).Elem()
+}
+
+type VmGuestOSCrashedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmGuestOSCrashedEvent"] = reflect.TypeOf((*VmGuestOSCrashedEvent)(nil)).Elem()
+}
+
+type VmGuestRebootEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmGuestRebootEvent"] = reflect.TypeOf((*VmGuestRebootEvent)(nil)).Elem()
+}
+
+type VmGuestShutdownEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmGuestShutdownEvent"] = reflect.TypeOf((*VmGuestShutdownEvent)(nil)).Elem()
+}
+
+type VmGuestStandbyEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmGuestStandbyEvent"] = reflect.TypeOf((*VmGuestStandbyEvent)(nil)).Elem()
+}
+
+type VmHealthMonitoringStateChangedEvent struct {
+ ClusterEvent
+
+ State string `xml:"state"`
+ PrevState string `xml:"prevState,omitempty"`
+}
+
+func init() {
+ t["VmHealthMonitoringStateChangedEvent"] = reflect.TypeOf((*VmHealthMonitoringStateChangedEvent)(nil)).Elem()
+}
+
+type VmHostAffinityRuleViolation struct {
+ VmConfigFault
+
+ VmName string `xml:"vmName"`
+ HostName string `xml:"hostName"`
+}
+
+func init() {
+ t["VmHostAffinityRuleViolation"] = reflect.TypeOf((*VmHostAffinityRuleViolation)(nil)).Elem()
+}
+
+type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation
+
+func init() {
+ t["VmHostAffinityRuleViolationFault"] = reflect.TypeOf((*VmHostAffinityRuleViolationFault)(nil)).Elem()
+}
+
+type VmInstanceUuidAssignedEvent struct {
+ VmEvent
+
+ InstanceUuid string `xml:"instanceUuid"`
+}
+
+func init() {
+ t["VmInstanceUuidAssignedEvent"] = reflect.TypeOf((*VmInstanceUuidAssignedEvent)(nil)).Elem()
+}
+
+type VmInstanceUuidChangedEvent struct {
+ VmEvent
+
+ OldInstanceUuid string `xml:"oldInstanceUuid"`
+ NewInstanceUuid string `xml:"newInstanceUuid"`
+}
+
+func init() {
+ t["VmInstanceUuidChangedEvent"] = reflect.TypeOf((*VmInstanceUuidChangedEvent)(nil)).Elem()
+}
+
+type VmInstanceUuidConflictEvent struct {
+ VmEvent
+
+ ConflictedVm VmEventArgument `xml:"conflictedVm"`
+ InstanceUuid string `xml:"instanceUuid"`
+}
+
+func init() {
+ t["VmInstanceUuidConflictEvent"] = reflect.TypeOf((*VmInstanceUuidConflictEvent)(nil)).Elem()
+}
+
+type VmLimitLicense struct {
+ NotEnoughLicenses
+
+ Limit int32 `xml:"limit"`
+}
+
+func init() {
+ t["VmLimitLicense"] = reflect.TypeOf((*VmLimitLicense)(nil)).Elem()
+}
+
+type VmLimitLicenseFault VmLimitLicense
+
+func init() {
+ t["VmLimitLicenseFault"] = reflect.TypeOf((*VmLimitLicenseFault)(nil)).Elem()
+}
+
+type VmLogFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["VmLogFileInfo"] = reflect.TypeOf((*VmLogFileInfo)(nil)).Elem()
+}
+
+type VmLogFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["VmLogFileQuery"] = reflect.TypeOf((*VmLogFileQuery)(nil)).Elem()
+}
+
+type VmMacAssignedEvent struct {
+ VmEvent
+
+ Adapter string `xml:"adapter"`
+ Mac string `xml:"mac"`
+}
+
+func init() {
+ t["VmMacAssignedEvent"] = reflect.TypeOf((*VmMacAssignedEvent)(nil)).Elem()
+}
+
+type VmMacChangedEvent struct {
+ VmEvent
+
+ Adapter string `xml:"adapter"`
+ OldMac string `xml:"oldMac"`
+ NewMac string `xml:"newMac"`
+}
+
+func init() {
+ t["VmMacChangedEvent"] = reflect.TypeOf((*VmMacChangedEvent)(nil)).Elem()
+}
+
+type VmMacConflictEvent struct {
+ VmEvent
+
+ ConflictedVm VmEventArgument `xml:"conflictedVm"`
+ Mac string `xml:"mac"`
+}
+
+func init() {
+ t["VmMacConflictEvent"] = reflect.TypeOf((*VmMacConflictEvent)(nil)).Elem()
+}
+
+type VmMaxFTRestartCountReached struct {
+ VmEvent
+}
+
+func init() {
+ t["VmMaxFTRestartCountReached"] = reflect.TypeOf((*VmMaxFTRestartCountReached)(nil)).Elem()
+}
+
+type VmMaxRestartCountReached struct {
+ VmEvent
+}
+
+func init() {
+ t["VmMaxRestartCountReached"] = reflect.TypeOf((*VmMaxRestartCountReached)(nil)).Elem()
+}
+
+type VmMessageErrorEvent struct {
+ VmEvent
+
+ Message string `xml:"message"`
+ MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"`
+}
+
+func init() {
+ t["VmMessageErrorEvent"] = reflect.TypeOf((*VmMessageErrorEvent)(nil)).Elem()
+}
+
+type VmMessageEvent struct {
+ VmEvent
+
+ Message string `xml:"message"`
+ MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"`
+}
+
+func init() {
+ t["VmMessageEvent"] = reflect.TypeOf((*VmMessageEvent)(nil)).Elem()
+}
+
+type VmMessageWarningEvent struct {
+ VmEvent
+
+ Message string `xml:"message"`
+ MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"`
+}
+
+func init() {
+ t["VmMessageWarningEvent"] = reflect.TypeOf((*VmMessageWarningEvent)(nil)).Elem()
+}
+
+type VmMetadataManagerFault struct {
+ VimFault
+}
+
+func init() {
+ t["VmMetadataManagerFault"] = reflect.TypeOf((*VmMetadataManagerFault)(nil)).Elem()
+}
+
+type VmMetadataManagerFaultFault VmMetadataManagerFault
+
+func init() {
+ t["VmMetadataManagerFaultFault"] = reflect.TypeOf((*VmMetadataManagerFaultFault)(nil)).Elem()
+}
+
+type VmMigratedEvent struct {
+ VmEvent
+
+ SourceHost HostEventArgument `xml:"sourceHost"`
+ SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty"`
+ SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty"`
+}
+
+func init() {
+ t["VmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem()
+}
+
+type VmMonitorIncompatibleForFaultTolerance struct {
+ VimFault
+}
+
+func init() {
+ t["VmMonitorIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultTolerance)(nil)).Elem()
+}
+
+type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance
+
+func init() {
+ t["VmMonitorIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultToleranceFault)(nil)).Elem()
+}
+
+type VmNoCompatibleHostForSecondaryEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmNoCompatibleHostForSecondaryEvent"] = reflect.TypeOf((*VmNoCompatibleHostForSecondaryEvent)(nil)).Elem()
+}
+
+type VmNoNetworkAccessEvent struct {
+ VmEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+}
+
+func init() {
+ t["VmNoNetworkAccessEvent"] = reflect.TypeOf((*VmNoNetworkAccessEvent)(nil)).Elem()
+}
+
+type VmNvramFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["VmNvramFileInfo"] = reflect.TypeOf((*VmNvramFileInfo)(nil)).Elem()
+}
+
+type VmNvramFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["VmNvramFileQuery"] = reflect.TypeOf((*VmNvramFileQuery)(nil)).Elem()
+}
+
+type VmOrphanedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmOrphanedEvent"] = reflect.TypeOf((*VmOrphanedEvent)(nil)).Elem()
+}
+
+type VmPodConfigForPlacement struct {
+ DynamicData
+
+ StoragePod ManagedObjectReference `xml:"storagePod"`
+ Disk []PodDiskLocator `xml:"disk,omitempty"`
+ VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty"`
+ InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr"`
+}
+
+func init() {
+ t["VmPodConfigForPlacement"] = reflect.TypeOf((*VmPodConfigForPlacement)(nil)).Elem()
+}
+
+type VmPortGroupProfile struct {
+ PortGroupProfile
+}
+
+func init() {
+ t["VmPortGroupProfile"] = reflect.TypeOf((*VmPortGroupProfile)(nil)).Elem()
+}
+
+type VmPowerOffOnIsolationEvent struct {
+ VmPoweredOffEvent
+
+ IsolatedHost HostEventArgument `xml:"isolatedHost"`
+}
+
+func init() {
+ t["VmPowerOffOnIsolationEvent"] = reflect.TypeOf((*VmPowerOffOnIsolationEvent)(nil)).Elem()
+}
+
+type VmPowerOnDisabled struct {
+ InvalidState
+}
+
+func init() {
+ t["VmPowerOnDisabled"] = reflect.TypeOf((*VmPowerOnDisabled)(nil)).Elem()
+}
+
+type VmPowerOnDisabledFault VmPowerOnDisabled
+
+func init() {
+ t["VmPowerOnDisabledFault"] = reflect.TypeOf((*VmPowerOnDisabledFault)(nil)).Elem()
+}
+
+type VmPoweredOffEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem()
+}
+
+type VmPoweredOnEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem()
+}
+
+type VmPoweringOnWithCustomizedDVPortEvent struct {
+ VmEvent
+
+ Vnic []VnicPortArgument `xml:"vnic"`
+}
+
+func init() {
+ t["VmPoweringOnWithCustomizedDVPortEvent"] = reflect.TypeOf((*VmPoweringOnWithCustomizedDVPortEvent)(nil)).Elem()
+}
+
+type VmPrimaryFailoverEvent struct {
+ VmEvent
+
+ Reason string `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmPrimaryFailoverEvent"] = reflect.TypeOf((*VmPrimaryFailoverEvent)(nil)).Elem()
+}
+
+type VmReconfiguredEvent struct {
+ VmEvent
+
+ ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"`
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["VmReconfiguredEvent"] = reflect.TypeOf((*VmReconfiguredEvent)(nil)).Elem()
+}
+
+type VmRegisteredEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRegisteredEvent"] = reflect.TypeOf((*VmRegisteredEvent)(nil)).Elem()
+}
+
+type VmRelayoutSuccessfulEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRelayoutSuccessfulEvent"] = reflect.TypeOf((*VmRelayoutSuccessfulEvent)(nil)).Elem()
+}
+
+type VmRelayoutUpToDateEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRelayoutUpToDateEvent"] = reflect.TypeOf((*VmRelayoutUpToDateEvent)(nil)).Elem()
+}
+
+type VmReloadFromPathEvent struct {
+ VmEvent
+
+ ConfigPath string `xml:"configPath"`
+}
+
+func init() {
+ t["VmReloadFromPathEvent"] = reflect.TypeOf((*VmReloadFromPathEvent)(nil)).Elem()
+}
+
+type VmReloadFromPathFailedEvent struct {
+ VmEvent
+
+ ConfigPath string `xml:"configPath"`
+}
+
+func init() {
+ t["VmReloadFromPathFailedEvent"] = reflect.TypeOf((*VmReloadFromPathFailedEvent)(nil)).Elem()
+}
+
+type VmRelocateFailedEvent struct {
+ VmRelocateSpecEvent
+
+ DestHost HostEventArgument `xml:"destHost"`
+ Reason LocalizedMethodFault `xml:"reason"`
+ DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"`
+ DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"`
+}
+
+func init() {
+ t["VmRelocateFailedEvent"] = reflect.TypeOf((*VmRelocateFailedEvent)(nil)).Elem()
+}
+
+type VmRelocateSpecEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem()
+}
+
+type VmRelocatedEvent struct {
+ VmRelocateSpecEvent
+
+ SourceHost HostEventArgument `xml:"sourceHost"`
+ SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty"`
+ SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty"`
+}
+
+func init() {
+ t["VmRelocatedEvent"] = reflect.TypeOf((*VmRelocatedEvent)(nil)).Elem()
+}
+
+type VmRemoteConsoleConnectedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRemoteConsoleConnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleConnectedEvent)(nil)).Elem()
+}
+
+type VmRemoteConsoleDisconnectedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRemoteConsoleDisconnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleDisconnectedEvent)(nil)).Elem()
+}
+
+type VmRemovedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRemovedEvent"] = reflect.TypeOf((*VmRemovedEvent)(nil)).Elem()
+}
+
+type VmRenamedEvent struct {
+ VmEvent
+
+ OldName string `xml:"oldName"`
+ NewName string `xml:"newName"`
+}
+
+func init() {
+ t["VmRenamedEvent"] = reflect.TypeOf((*VmRenamedEvent)(nil)).Elem()
+}
+
+type VmRequirementsExceedCurrentEVCModeEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmRequirementsExceedCurrentEVCModeEvent"] = reflect.TypeOf((*VmRequirementsExceedCurrentEVCModeEvent)(nil)).Elem()
+}
+
+type VmResettingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmResettingEvent"] = reflect.TypeOf((*VmResettingEvent)(nil)).Elem()
+}
+
+type VmResourcePoolMovedEvent struct {
+ VmEvent
+
+ OldParent ResourcePoolEventArgument `xml:"oldParent"`
+ NewParent ResourcePoolEventArgument `xml:"newParent"`
+}
+
+func init() {
+ t["VmResourcePoolMovedEvent"] = reflect.TypeOf((*VmResourcePoolMovedEvent)(nil)).Elem()
+}
+
+type VmResourceReallocatedEvent struct {
+ VmEvent
+
+ ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"`
+}
+
+func init() {
+ t["VmResourceReallocatedEvent"] = reflect.TypeOf((*VmResourceReallocatedEvent)(nil)).Elem()
+}
+
+type VmRestartedOnAlternateHostEvent struct {
+ VmPoweredOnEvent
+
+ SourceHost HostEventArgument `xml:"sourceHost"`
+}
+
+func init() {
+ t["VmRestartedOnAlternateHostEvent"] = reflect.TypeOf((*VmRestartedOnAlternateHostEvent)(nil)).Elem()
+}
+
+type VmResumingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmResumingEvent"] = reflect.TypeOf((*VmResumingEvent)(nil)).Elem()
+}
+
+type VmSecondaryAddedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSecondaryAddedEvent"] = reflect.TypeOf((*VmSecondaryAddedEvent)(nil)).Elem()
+}
+
+type VmSecondaryDisabledBySystemEvent struct {
+ VmEvent
+
+ Reason *LocalizedMethodFault `xml:"reason,omitempty"`
+}
+
+func init() {
+ t["VmSecondaryDisabledBySystemEvent"] = reflect.TypeOf((*VmSecondaryDisabledBySystemEvent)(nil)).Elem()
+}
+
+type VmSecondaryDisabledEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSecondaryDisabledEvent"] = reflect.TypeOf((*VmSecondaryDisabledEvent)(nil)).Elem()
+}
+
+type VmSecondaryEnabledEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSecondaryEnabledEvent"] = reflect.TypeOf((*VmSecondaryEnabledEvent)(nil)).Elem()
+}
+
+type VmSecondaryStartedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSecondaryStartedEvent"] = reflect.TypeOf((*VmSecondaryStartedEvent)(nil)).Elem()
+}
+
+type VmShutdownOnIsolationEvent struct {
+ VmPoweredOffEvent
+
+ IsolatedHost HostEventArgument `xml:"isolatedHost"`
+ ShutdownResult string `xml:"shutdownResult,omitempty"`
+}
+
+func init() {
+ t["VmShutdownOnIsolationEvent"] = reflect.TypeOf((*VmShutdownOnIsolationEvent)(nil)).Elem()
+}
+
+type VmSmpFaultToleranceTooManyVMsOnHost struct {
+ InsufficientResourcesFault
+
+ HostName string `xml:"hostName,omitempty"`
+ MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms"`
+}
+
+func init() {
+ t["VmSmpFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHost)(nil)).Elem()
+}
+
+type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost
+
+func init() {
+ t["VmSmpFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
+}
+
+type VmSnapshotFileInfo struct {
+ FileInfo
+}
+
+func init() {
+ t["VmSnapshotFileInfo"] = reflect.TypeOf((*VmSnapshotFileInfo)(nil)).Elem()
+}
+
+type VmSnapshotFileQuery struct {
+ FileQuery
+}
+
+func init() {
+ t["VmSnapshotFileQuery"] = reflect.TypeOf((*VmSnapshotFileQuery)(nil)).Elem()
+}
+
+type VmStartRecordingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmStartRecordingEvent"] = reflect.TypeOf((*VmStartRecordingEvent)(nil)).Elem()
+}
+
+type VmStartReplayingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmStartReplayingEvent"] = reflect.TypeOf((*VmStartReplayingEvent)(nil)).Elem()
+}
+
+type VmStartingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem()
+}
+
+type VmStartingSecondaryEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmStartingSecondaryEvent"] = reflect.TypeOf((*VmStartingSecondaryEvent)(nil)).Elem()
+}
+
+type VmStaticMacConflictEvent struct {
+ VmEvent
+
+ ConflictedVm VmEventArgument `xml:"conflictedVm"`
+ Mac string `xml:"mac"`
+}
+
+func init() {
+ t["VmStaticMacConflictEvent"] = reflect.TypeOf((*VmStaticMacConflictEvent)(nil)).Elem()
+}
+
+type VmStoppingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmStoppingEvent"] = reflect.TypeOf((*VmStoppingEvent)(nil)).Elem()
+}
+
+type VmSuspendedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSuspendedEvent"] = reflect.TypeOf((*VmSuspendedEvent)(nil)).Elem()
+}
+
+type VmSuspendingEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmSuspendingEvent"] = reflect.TypeOf((*VmSuspendingEvent)(nil)).Elem()
+}
+
+type VmTimedoutStartingSecondaryEvent struct {
+ VmEvent
+
+ Timeout int64 `xml:"timeout,omitempty"`
+}
+
+func init() {
+ t["VmTimedoutStartingSecondaryEvent"] = reflect.TypeOf((*VmTimedoutStartingSecondaryEvent)(nil)).Elem()
+}
+
+type VmToolsUpgradeFault struct {
+ VimFault
+}
+
+func init() {
+ t["VmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem()
+}
+
+type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault
+
+func init() {
+ t["VmToolsUpgradeFaultFault"] = reflect.TypeOf((*VmToolsUpgradeFaultFault)(nil)).Elem()
+}
+
+type VmUnsupportedStartingEvent struct {
+ VmStartingEvent
+
+ GuestId string `xml:"guestId"`
+}
+
+func init() {
+ t["VmUnsupportedStartingEvent"] = reflect.TypeOf((*VmUnsupportedStartingEvent)(nil)).Elem()
+}
+
+type VmUpgradeCompleteEvent struct {
+ VmEvent
+
+ Version string `xml:"version"`
+}
+
+func init() {
+ t["VmUpgradeCompleteEvent"] = reflect.TypeOf((*VmUpgradeCompleteEvent)(nil)).Elem()
+}
+
+type VmUpgradeFailedEvent struct {
+ VmEvent
+}
+
+func init() {
+ t["VmUpgradeFailedEvent"] = reflect.TypeOf((*VmUpgradeFailedEvent)(nil)).Elem()
+}
+
+type VmUpgradingEvent struct {
+ VmEvent
+
+ Version string `xml:"version"`
+}
+
+func init() {
+ t["VmUpgradingEvent"] = reflect.TypeOf((*VmUpgradingEvent)(nil)).Elem()
+}
+
+type VmUuidAssignedEvent struct {
+ VmEvent
+
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["VmUuidAssignedEvent"] = reflect.TypeOf((*VmUuidAssignedEvent)(nil)).Elem()
+}
+
+type VmUuidChangedEvent struct {
+ VmEvent
+
+ OldUuid string `xml:"oldUuid"`
+ NewUuid string `xml:"newUuid"`
+}
+
+func init() {
+ t["VmUuidChangedEvent"] = reflect.TypeOf((*VmUuidChangedEvent)(nil)).Elem()
+}
+
+type VmUuidConflictEvent struct {
+ VmEvent
+
+ ConflictedVm VmEventArgument `xml:"conflictedVm"`
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["VmUuidConflictEvent"] = reflect.TypeOf((*VmUuidConflictEvent)(nil)).Elem()
+}
+
+type VmValidateMaxDevice struct {
+ VimFault
+
+ Device string `xml:"device"`
+ Max int32 `xml:"max"`
+ Count int32 `xml:"count"`
+}
+
+func init() {
+ t["VmValidateMaxDevice"] = reflect.TypeOf((*VmValidateMaxDevice)(nil)).Elem()
+}
+
+type VmValidateMaxDeviceFault VmValidateMaxDevice
+
+func init() {
+ t["VmValidateMaxDeviceFault"] = reflect.TypeOf((*VmValidateMaxDeviceFault)(nil)).Elem()
+}
+
+type VmVnicPoolReservationViolationClearEvent struct {
+ DvsEvent
+
+ VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey"`
+ VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty"`
+}
+
+func init() {
+ t["VmVnicPoolReservationViolationClearEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationClearEvent)(nil)).Elem()
+}
+
+type VmVnicPoolReservationViolationRaiseEvent struct {
+ DvsEvent
+
+ VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey"`
+ VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty"`
+}
+
+func init() {
+ t["VmVnicPoolReservationViolationRaiseEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationRaiseEvent)(nil)).Elem()
+}
+
+type VmWwnAssignedEvent struct {
+ VmEvent
+
+ NodeWwns []int64 `xml:"nodeWwns"`
+ PortWwns []int64 `xml:"portWwns"`
+}
+
+func init() {
+ t["VmWwnAssignedEvent"] = reflect.TypeOf((*VmWwnAssignedEvent)(nil)).Elem()
+}
+
+type VmWwnChangedEvent struct {
+ VmEvent
+
+ OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty"`
+ OldPortWwns []int64 `xml:"oldPortWwns,omitempty"`
+ NewNodeWwns []int64 `xml:"newNodeWwns,omitempty"`
+ NewPortWwns []int64 `xml:"newPortWwns,omitempty"`
+}
+
+func init() {
+ t["VmWwnChangedEvent"] = reflect.TypeOf((*VmWwnChangedEvent)(nil)).Elem()
+}
+
+type VmWwnConflict struct {
+ InvalidVmConfig
+
+ Vm *ManagedObjectReference `xml:"vm,omitempty"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Name string `xml:"name,omitempty"`
+ Wwn int64 `xml:"wwn,omitempty"`
+}
+
+func init() {
+ t["VmWwnConflict"] = reflect.TypeOf((*VmWwnConflict)(nil)).Elem()
+}
+
+type VmWwnConflictEvent struct {
+ VmEvent
+
+ ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty"`
+ ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty"`
+ Wwn int64 `xml:"wwn"`
+}
+
+func init() {
+ t["VmWwnConflictEvent"] = reflect.TypeOf((*VmWwnConflictEvent)(nil)).Elem()
+}
+
+type VmWwnConflictFault VmWwnConflict
+
+func init() {
+ t["VmWwnConflictFault"] = reflect.TypeOf((*VmWwnConflictFault)(nil)).Elem()
+}
+
+type VmfsAlreadyMounted struct {
+ VmfsMountFault
+}
+
+func init() {
+ t["VmfsAlreadyMounted"] = reflect.TypeOf((*VmfsAlreadyMounted)(nil)).Elem()
+}
+
+type VmfsAlreadyMountedFault VmfsAlreadyMounted
+
+func init() {
+ t["VmfsAlreadyMountedFault"] = reflect.TypeOf((*VmfsAlreadyMountedFault)(nil)).Elem()
+}
+
+type VmfsAmbiguousMount struct {
+ VmfsMountFault
+}
+
+func init() {
+ t["VmfsAmbiguousMount"] = reflect.TypeOf((*VmfsAmbiguousMount)(nil)).Elem()
+}
+
+type VmfsAmbiguousMountFault VmfsAmbiguousMount
+
+func init() {
+ t["VmfsAmbiguousMountFault"] = reflect.TypeOf((*VmfsAmbiguousMountFault)(nil)).Elem()
+}
+
+type VmfsConfigOption struct {
+ DynamicData
+
+ BlockSizeOption int32 `xml:"blockSizeOption"`
+ UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty"`
+}
+
+func init() {
+ t["VmfsConfigOption"] = reflect.TypeOf((*VmfsConfigOption)(nil)).Elem()
+}
+
+type VmfsDatastoreAllExtentOption struct {
+ VmfsDatastoreSingleExtentOption
+}
+
+func init() {
+ t["VmfsDatastoreAllExtentOption"] = reflect.TypeOf((*VmfsDatastoreAllExtentOption)(nil)).Elem()
+}
+
+type VmfsDatastoreBaseOption struct {
+ DynamicData
+
+ Layout HostDiskPartitionLayout `xml:"layout"`
+ PartitionFormatChange *bool `xml:"partitionFormatChange"`
+}
+
+func init() {
+ t["VmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem()
+}
+
+type VmfsDatastoreCreateSpec struct {
+ VmfsDatastoreSpec
+
+ Partition HostDiskPartitionSpec `xml:"partition"`
+ Vmfs HostVmfsSpec `xml:"vmfs"`
+ Extent []HostScsiDiskPartition `xml:"extent,omitempty"`
+}
+
+func init() {
+ t["VmfsDatastoreCreateSpec"] = reflect.TypeOf((*VmfsDatastoreCreateSpec)(nil)).Elem()
+}
+
+type VmfsDatastoreExpandSpec struct {
+ VmfsDatastoreSpec
+
+ Partition HostDiskPartitionSpec `xml:"partition"`
+ Extent HostScsiDiskPartition `xml:"extent"`
+}
+
+func init() {
+ t["VmfsDatastoreExpandSpec"] = reflect.TypeOf((*VmfsDatastoreExpandSpec)(nil)).Elem()
+}
+
+type VmfsDatastoreExtendSpec struct {
+ VmfsDatastoreSpec
+
+ Partition HostDiskPartitionSpec `xml:"partition"`
+ Extent []HostScsiDiskPartition `xml:"extent"`
+}
+
+func init() {
+ t["VmfsDatastoreExtendSpec"] = reflect.TypeOf((*VmfsDatastoreExtendSpec)(nil)).Elem()
+}
+
+type VmfsDatastoreInfo struct {
+ DatastoreInfo
+
+ MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty"`
+ MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty"`
+ Vmfs *HostVmfsVolume `xml:"vmfs,omitempty"`
+}
+
+func init() {
+ t["VmfsDatastoreInfo"] = reflect.TypeOf((*VmfsDatastoreInfo)(nil)).Elem()
+}
+
+type VmfsDatastoreMultipleExtentOption struct {
+ VmfsDatastoreBaseOption
+
+ VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent"`
+}
+
+func init() {
+ t["VmfsDatastoreMultipleExtentOption"] = reflect.TypeOf((*VmfsDatastoreMultipleExtentOption)(nil)).Elem()
+}
+
+type VmfsDatastoreOption struct {
+ DynamicData
+
+ Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr"`
+ Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr"`
+}
+
+func init() {
+ t["VmfsDatastoreOption"] = reflect.TypeOf((*VmfsDatastoreOption)(nil)).Elem()
+}
+
+type VmfsDatastoreSingleExtentOption struct {
+ VmfsDatastoreBaseOption
+
+ VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent"`
+}
+
+func init() {
+ t["VmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem()
+}
+
+type VmfsDatastoreSpec struct {
+ DynamicData
+
+ DiskUuid string `xml:"diskUuid"`
+}
+
+func init() {
+ t["VmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem()
+}
+
+type VmfsMountFault struct {
+ HostConfigFault
+
+ Uuid string `xml:"uuid"`
+}
+
+func init() {
+ t["VmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem()
+}
+
+type VmfsMountFaultFault BaseVmfsMountFault
+
+func init() {
+ t["VmfsMountFaultFault"] = reflect.TypeOf((*VmfsMountFaultFault)(nil)).Elem()
+}
+
+type VmotionInterfaceNotEnabled struct {
+ HostPowerOpFailed
+}
+
+func init() {
+ t["VmotionInterfaceNotEnabled"] = reflect.TypeOf((*VmotionInterfaceNotEnabled)(nil)).Elem()
+}
+
+type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled
+
+func init() {
+ t["VmotionInterfaceNotEnabledFault"] = reflect.TypeOf((*VmotionInterfaceNotEnabledFault)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitchPvlanSpec struct {
+ VmwareDistributedVirtualSwitchVlanSpec
+
+ PvlanId int32 `xml:"pvlanId"`
+}
+
+func init() {
+ t["VmwareDistributedVirtualSwitchPvlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanSpec)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitchTrunkVlanSpec struct {
+ VmwareDistributedVirtualSwitchVlanSpec
+
+ VlanId []NumericRange `xml:"vlanId"`
+}
+
+func init() {
+ t["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchTrunkVlanSpec)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitchVlanIdSpec struct {
+ VmwareDistributedVirtualSwitchVlanSpec
+
+ VlanId int32 `xml:"vlanId"`
+}
+
+func init() {
+ t["VmwareDistributedVirtualSwitchVlanIdSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanIdSpec)(nil)).Elem()
+}
+
+type VmwareDistributedVirtualSwitchVlanSpec struct {
+ InheritablePolicy
+}
+
+func init() {
+ t["VmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem()
+}
+
+type VmwareUplinkPortTeamingPolicy struct {
+ InheritablePolicy
+
+ Policy *StringPolicy `xml:"policy,omitempty"`
+ ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty"`
+ NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty"`
+ RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty"`
+ FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty"`
+ UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty"`
+}
+
+func init() {
+ t["VmwareUplinkPortTeamingPolicy"] = reflect.TypeOf((*VmwareUplinkPortTeamingPolicy)(nil)).Elem()
+}
+
+type VnicPortArgument struct {
+ DynamicData
+
+ Vnic string `xml:"vnic"`
+ Port DistributedVirtualSwitchPortConnection `xml:"port"`
+}
+
+func init() {
+ t["VnicPortArgument"] = reflect.TypeOf((*VnicPortArgument)(nil)).Elem()
+}
+
+type VolumeEditorError struct {
+ CustomizationFault
+}
+
+func init() {
+ t["VolumeEditorError"] = reflect.TypeOf((*VolumeEditorError)(nil)).Elem()
+}
+
+type VolumeEditorErrorFault VolumeEditorError
+
+func init() {
+ t["VolumeEditorErrorFault"] = reflect.TypeOf((*VolumeEditorErrorFault)(nil)).Elem()
+}
+
+type VramLimitLicense struct {
+ NotEnoughLicenses
+
+ Limit int32 `xml:"limit"`
+}
+
+func init() {
+ t["VramLimitLicense"] = reflect.TypeOf((*VramLimitLicense)(nil)).Elem()
+}
+
+type VramLimitLicenseFault VramLimitLicense
+
+func init() {
+ t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem()
+}
+
+type VrpResourceAllocationInfo struct {
+ ResourceAllocationInfo
+
+ ReservationLimit int64 `xml:"reservationLimit,omitempty"`
+}
+
+func init() {
+ t["VrpResourceAllocationInfo"] = reflect.TypeOf((*VrpResourceAllocationInfo)(nil)).Elem()
+}
+
+type VsanClusterConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty"`
+}
+
+func init() {
+ t["VsanClusterConfigInfo"] = reflect.TypeOf((*VsanClusterConfigInfo)(nil)).Elem()
+}
+
+type VsanClusterConfigInfoHostDefaultInfo struct {
+ DynamicData
+
+ Uuid string `xml:"uuid,omitempty"`
+ AutoClaimStorage *bool `xml:"autoClaimStorage"`
+ ChecksumEnabled *bool `xml:"checksumEnabled"`
+}
+
+func init() {
+ t["VsanClusterConfigInfoHostDefaultInfo"] = reflect.TypeOf((*VsanClusterConfigInfoHostDefaultInfo)(nil)).Elem()
+}
+
+type VsanClusterUuidMismatch struct {
+ CannotMoveVsanEnabledHost
+
+ HostClusterUuid string `xml:"hostClusterUuid"`
+ DestinationClusterUuid string `xml:"destinationClusterUuid"`
+}
+
+func init() {
+ t["VsanClusterUuidMismatch"] = reflect.TypeOf((*VsanClusterUuidMismatch)(nil)).Elem()
+}
+
+type VsanClusterUuidMismatchFault VsanClusterUuidMismatch
+
+func init() {
+ t["VsanClusterUuidMismatchFault"] = reflect.TypeOf((*VsanClusterUuidMismatchFault)(nil)).Elem()
+}
+
+type VsanDiskFault struct {
+ VsanFault
+
+ Device string `xml:"device,omitempty"`
+}
+
+func init() {
+ t["VsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem()
+}
+
+type VsanDiskFaultFault BaseVsanDiskFault
+
+func init() {
+ t["VsanDiskFaultFault"] = reflect.TypeOf((*VsanDiskFaultFault)(nil)).Elem()
+}
+
+type VsanFault struct {
+ VimFault
+}
+
+func init() {
+ t["VsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem()
+}
+
+type VsanFaultFault BaseVsanFault
+
+func init() {
+ t["VsanFaultFault"] = reflect.TypeOf((*VsanFaultFault)(nil)).Elem()
+}
+
+type VsanHostClusterStatus struct {
+ DynamicData
+
+ Uuid string `xml:"uuid,omitempty"`
+ NodeUuid string `xml:"nodeUuid,omitempty"`
+ Health string `xml:"health"`
+ NodeState VsanHostClusterStatusState `xml:"nodeState"`
+ MemberUuid []string `xml:"memberUuid,omitempty"`
+}
+
+func init() {
+ t["VsanHostClusterStatus"] = reflect.TypeOf((*VsanHostClusterStatus)(nil)).Elem()
+}
+
+type VsanHostClusterStatusState struct {
+ DynamicData
+
+ State string `xml:"state"`
+ Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty"`
+}
+
+func init() {
+ t["VsanHostClusterStatusState"] = reflect.TypeOf((*VsanHostClusterStatusState)(nil)).Elem()
+}
+
+type VsanHostClusterStatusStateCompletionEstimate struct {
+ DynamicData
+
+ CompleteTime *time.Time `xml:"completeTime"`
+ PercentComplete int32 `xml:"percentComplete,omitempty"`
+}
+
+func init() {
+ t["VsanHostClusterStatusStateCompletionEstimate"] = reflect.TypeOf((*VsanHostClusterStatusStateCompletionEstimate)(nil)).Elem()
+}
+
+type VsanHostConfigInfo struct {
+ DynamicData
+
+ Enabled *bool `xml:"enabled"`
+ HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty"`
+ ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty"`
+ StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty"`
+ NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty"`
+ FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty"`
+}
+
+func init() {
+ t["VsanHostConfigInfo"] = reflect.TypeOf((*VsanHostConfigInfo)(nil)).Elem()
+}
+
+type VsanHostConfigInfoClusterInfo struct {
+ DynamicData
+
+ Uuid string `xml:"uuid,omitempty"`
+ NodeUuid string `xml:"nodeUuid,omitempty"`
+}
+
+func init() {
+ t["VsanHostConfigInfoClusterInfo"] = reflect.TypeOf((*VsanHostConfigInfoClusterInfo)(nil)).Elem()
+}
+
+type VsanHostConfigInfoNetworkInfo struct {
+ DynamicData
+
+ Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty"`
+}
+
+func init() {
+ t["VsanHostConfigInfoNetworkInfo"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfo)(nil)).Elem()
+}
+
+type VsanHostConfigInfoNetworkInfoPortConfig struct {
+ DynamicData
+
+ IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty"`
+ Device string `xml:"device"`
+}
+
+func init() {
+ t["VsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
+}
+
+type VsanHostConfigInfoStorageInfo struct {
+ DynamicData
+
+ AutoClaimStorage *bool `xml:"autoClaimStorage"`
+ DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty"`
+ DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty"`
+ ChecksumEnabled *bool `xml:"checksumEnabled"`
+}
+
+func init() {
+ t["VsanHostConfigInfoStorageInfo"] = reflect.TypeOf((*VsanHostConfigInfoStorageInfo)(nil)).Elem()
+}
+
+type VsanHostDecommissionMode struct {
+ DynamicData
+
+ ObjectAction string `xml:"objectAction"`
+}
+
+func init() {
+ t["VsanHostDecommissionMode"] = reflect.TypeOf((*VsanHostDecommissionMode)(nil)).Elem()
+}
+
+type VsanHostDiskMapInfo struct {
+ DynamicData
+
+ Mapping VsanHostDiskMapping `xml:"mapping"`
+ Mounted bool `xml:"mounted"`
+}
+
+func init() {
+ t["VsanHostDiskMapInfo"] = reflect.TypeOf((*VsanHostDiskMapInfo)(nil)).Elem()
+}
+
+type VsanHostDiskMapResult struct {
+ DynamicData
+
+ Mapping VsanHostDiskMapping `xml:"mapping"`
+ DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+}
+
+func init() {
+ t["VsanHostDiskMapResult"] = reflect.TypeOf((*VsanHostDiskMapResult)(nil)).Elem()
+}
+
+type VsanHostDiskMapping struct {
+ DynamicData
+
+ Ssd HostScsiDisk `xml:"ssd"`
+ NonSsd []HostScsiDisk `xml:"nonSsd"`
+}
+
+func init() {
+ t["VsanHostDiskMapping"] = reflect.TypeOf((*VsanHostDiskMapping)(nil)).Elem()
+}
+
+type VsanHostDiskResult struct {
+ DynamicData
+
+ Disk HostScsiDisk `xml:"disk"`
+ State string `xml:"state"`
+ VsanUuid string `xml:"vsanUuid,omitempty"`
+ Error *LocalizedMethodFault `xml:"error,omitempty"`
+ Degraded *bool `xml:"degraded"`
+}
+
+func init() {
+ t["VsanHostDiskResult"] = reflect.TypeOf((*VsanHostDiskResult)(nil)).Elem()
+}
+
+type VsanHostFaultDomainInfo struct {
+ DynamicData
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["VsanHostFaultDomainInfo"] = reflect.TypeOf((*VsanHostFaultDomainInfo)(nil)).Elem()
+}
+
+type VsanHostIpConfig struct {
+ DynamicData
+
+ UpstreamIpAddress string `xml:"upstreamIpAddress"`
+ DownstreamIpAddress string `xml:"downstreamIpAddress"`
+}
+
+func init() {
+ t["VsanHostIpConfig"] = reflect.TypeOf((*VsanHostIpConfig)(nil)).Elem()
+}
+
+type VsanHostMembershipInfo struct {
+ DynamicData
+
+ NodeUuid string `xml:"nodeUuid"`
+ Hostname string `xml:"hostname"`
+}
+
+func init() {
+ t["VsanHostMembershipInfo"] = reflect.TypeOf((*VsanHostMembershipInfo)(nil)).Elem()
+}
+
+type VsanHostRuntimeInfo struct {
+ DynamicData
+
+ MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty"`
+ DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty"`
+ AccessGenNo int32 `xml:"accessGenNo,omitempty"`
+}
+
+func init() {
+ t["VsanHostRuntimeInfo"] = reflect.TypeOf((*VsanHostRuntimeInfo)(nil)).Elem()
+}
+
+type VsanHostRuntimeInfoDiskIssue struct {
+ DynamicData
+
+ DiskId string `xml:"diskId"`
+ Issue string `xml:"issue"`
+}
+
+func init() {
+ t["VsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*VsanHostRuntimeInfoDiskIssue)(nil)).Elem()
+}
+
+type VsanHostVsanDiskInfo struct {
+ DynamicData
+
+ VsanUuid string `xml:"vsanUuid"`
+ FormatVersion int32 `xml:"formatVersion"`
+}
+
+func init() {
+ t["VsanHostVsanDiskInfo"] = reflect.TypeOf((*VsanHostVsanDiskInfo)(nil)).Elem()
+}
+
+type VsanIncompatibleDiskMapping struct {
+ VsanDiskFault
+}
+
+func init() {
+ t["VsanIncompatibleDiskMapping"] = reflect.TypeOf((*VsanIncompatibleDiskMapping)(nil)).Elem()
+}
+
+type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping
+
+func init() {
+ t["VsanIncompatibleDiskMappingFault"] = reflect.TypeOf((*VsanIncompatibleDiskMappingFault)(nil)).Elem()
+}
+
+type VsanNewPolicyBatch struct {
+ DynamicData
+
+ Size []int64 `xml:"size,omitempty"`
+ Policy string `xml:"policy,omitempty"`
+}
+
+func init() {
+ t["VsanNewPolicyBatch"] = reflect.TypeOf((*VsanNewPolicyBatch)(nil)).Elem()
+}
+
+type VsanPolicyChangeBatch struct {
+ DynamicData
+
+ Uuid []string `xml:"uuid,omitempty"`
+ Policy string `xml:"policy,omitempty"`
+}
+
+func init() {
+ t["VsanPolicyChangeBatch"] = reflect.TypeOf((*VsanPolicyChangeBatch)(nil)).Elem()
+}
+
+type VsanPolicyCost struct {
+ DynamicData
+
+ ChangeDataSize int64 `xml:"changeDataSize,omitempty"`
+ CurrentDataSize int64 `xml:"currentDataSize,omitempty"`
+ TempDataSize int64 `xml:"tempDataSize,omitempty"`
+ CopyDataSize int64 `xml:"copyDataSize,omitempty"`
+ ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty"`
+ CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty"`
+ CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty"`
+ DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty"`
+}
+
+func init() {
+ t["VsanPolicyCost"] = reflect.TypeOf((*VsanPolicyCost)(nil)).Elem()
+}
+
+type VsanPolicySatisfiability struct {
+ DynamicData
+
+ Uuid string `xml:"uuid,omitempty"`
+ IsSatisfiable bool `xml:"isSatisfiable"`
+ Reason *LocalizableMessage `xml:"reason,omitempty"`
+ Cost *VsanPolicyCost `xml:"cost,omitempty"`
+}
+
+func init() {
+ t["VsanPolicySatisfiability"] = reflect.TypeOf((*VsanPolicySatisfiability)(nil)).Elem()
+}
+
+type VsanUpgradeSystemAPIBrokenIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemAPIBrokenIssue"] = reflect.TypeOf((*VsanUpgradeSystemAPIBrokenIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = reflect.TypeOf((*VsanUpgradeSystemAutoClaimEnabledOnHostsIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemHostsDisconnectedIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemHostsDisconnectedIssue"] = reflect.TypeOf((*VsanUpgradeSystemHostsDisconnectedIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemMissingHostsInClusterIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemMissingHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemMissingHostsInClusterIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemNetworkPartitionInfo struct {
+ DynamicData
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
+}
+
+type VsanUpgradeSystemNetworkPartitionIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions"`
+}
+
+func init() {
+ t["VsanUpgradeSystemNetworkPartitionIssue"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible"`
+}
+
+func init() {
+ t["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = reflect.TypeOf((*VsanUpgradeSystemNotEnoughFreeCapacityIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemPreflightCheckIssue struct {
+ DynamicData
+
+ Msg string `xml:"msg"`
+}
+
+func init() {
+ t["VsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemPreflightCheckResult struct {
+ DynamicData
+
+ Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr"`
+ DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty"`
+}
+
+func init() {
+ t["VsanUpgradeSystemPreflightCheckResult"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckResult)(nil)).Elem()
+}
+
+type VsanUpgradeSystemRogueHostsInClusterIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Uuids []string `xml:"uuids"`
+}
+
+func init() {
+ t["VsanUpgradeSystemRogueHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemRogueHostsInClusterIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct {
+ VsanUpgradeSystemUpgradeHistoryItem
+
+ Operation string `xml:"operation"`
+ DiskMapping VsanHostDiskMapping `xml:"diskMapping"`
+}
+
+func init() {
+ t["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOp)(nil)).Elem()
+}
+
+type VsanUpgradeSystemUpgradeHistoryItem struct {
+ DynamicData
+
+ Timestamp time.Time `xml:"timestamp"`
+ Host *ManagedObjectReference `xml:"host,omitempty"`
+ Message string `xml:"message"`
+ Task *ManagedObjectReference `xml:"task,omitempty"`
+}
+
+func init() {
+ t["VsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
+}
+
+type VsanUpgradeSystemUpgradeHistoryPreflightFail struct {
+ VsanUpgradeSystemUpgradeHistoryItem
+
+ PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult"`
+}
+
+func init() {
+ t["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryPreflightFail)(nil)).Elem()
+}
+
+type VsanUpgradeSystemUpgradeStatus struct {
+ DynamicData
+
+ InProgress bool `xml:"inProgress"`
+ History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr"`
+ Aborted *bool `xml:"aborted"`
+ Completed *bool `xml:"completed"`
+ Progress int32 `xml:"progress,omitempty"`
+}
+
+func init() {
+ t["VsanUpgradeSystemUpgradeStatus"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeStatus)(nil)).Elem()
+}
+
+type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Uuids []string `xml:"uuids"`
+}
+
+func init() {
+ t["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = reflect.TypeOf((*VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue)(nil)).Elem()
+}
+
+type VsanUpgradeSystemWrongEsxVersionIssue struct {
+ VsanUpgradeSystemPreflightCheckIssue
+
+ Hosts []ManagedObjectReference `xml:"hosts"`
+}
+
+func init() {
+ t["VsanUpgradeSystemWrongEsxVersionIssue"] = reflect.TypeOf((*VsanUpgradeSystemWrongEsxVersionIssue)(nil)).Elem()
+}
+
+type VslmCloneSpec struct {
+ VslmMigrateSpec
+
+ Name string `xml:"name"`
+}
+
+func init() {
+ t["VslmCloneSpec"] = reflect.TypeOf((*VslmCloneSpec)(nil)).Elem()
+}
+
+type VslmCreateSpec struct {
+ DynamicData
+
+ Name string `xml:"name"`
+ BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"`
+ CapacityInMB int64 `xml:"capacityInMB"`
+}
+
+func init() {
+ t["VslmCreateSpec"] = reflect.TypeOf((*VslmCreateSpec)(nil)).Elem()
+}
+
+type VslmCreateSpecBackingSpec struct {
+ DynamicData
+
+ Datastore ManagedObjectReference `xml:"datastore"`
+}
+
+func init() {
+ t["VslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem()
+}
+
+type VslmCreateSpecDiskFileBackingSpec struct {
+ VslmCreateSpecBackingSpec
+
+ ProvisioningType string `xml:"provisioningType,omitempty"`
+}
+
+func init() {
+ t["VslmCreateSpecDiskFileBackingSpec"] = reflect.TypeOf((*VslmCreateSpecDiskFileBackingSpec)(nil)).Elem()
+}
+
+type VslmCreateSpecRawDiskMappingBackingSpec struct {
+ VslmCreateSpecBackingSpec
+
+ LunUuid string `xml:"lunUuid"`
+ CompatibilityMode string `xml:"compatibilityMode"`
+}
+
+func init() {
+ t["VslmCreateSpecRawDiskMappingBackingSpec"] = reflect.TypeOf((*VslmCreateSpecRawDiskMappingBackingSpec)(nil)).Elem()
+}
+
+type VslmMigrateSpec struct {
+ DynamicData
+
+ BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"`
+ Consolidate *bool `xml:"consolidate"`
+}
+
+func init() {
+ t["VslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem()
+}
+
+type VslmRelocateSpec struct {
+ VslmMigrateSpec
+}
+
+func init() {
+ t["VslmRelocateSpec"] = reflect.TypeOf((*VslmRelocateSpec)(nil)).Elem()
+}
+
+type VslmTagEntry struct {
+ DynamicData
+
+ TagName string `xml:"tagName"`
+ ParentCategoryName string `xml:"parentCategoryName"`
+}
+
+func init() {
+ t["VslmTagEntry"] = reflect.TypeOf((*VslmTagEntry)(nil)).Elem()
+}
+
+type VspanDestPortConflict struct {
+ DvsFault
+
+ VspanSessionKey1 string `xml:"vspanSessionKey1"`
+ VspanSessionKey2 string `xml:"vspanSessionKey2"`
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanDestPortConflict"] = reflect.TypeOf((*VspanDestPortConflict)(nil)).Elem()
+}
+
+type VspanDestPortConflictFault VspanDestPortConflict
+
+func init() {
+ t["VspanDestPortConflictFault"] = reflect.TypeOf((*VspanDestPortConflictFault)(nil)).Elem()
+}
+
+type VspanPortConflict struct {
+ DvsFault
+
+ VspanSessionKey1 string `xml:"vspanSessionKey1"`
+ VspanSessionKey2 string `xml:"vspanSessionKey2"`
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanPortConflict"] = reflect.TypeOf((*VspanPortConflict)(nil)).Elem()
+}
+
+type VspanPortConflictFault VspanPortConflict
+
+func init() {
+ t["VspanPortConflictFault"] = reflect.TypeOf((*VspanPortConflictFault)(nil)).Elem()
+}
+
+type VspanPortMoveFault struct {
+ DvsFault
+
+ SrcPortgroupName string `xml:"srcPortgroupName"`
+ DestPortgroupName string `xml:"destPortgroupName"`
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanPortMoveFault"] = reflect.TypeOf((*VspanPortMoveFault)(nil)).Elem()
+}
+
+type VspanPortMoveFaultFault VspanPortMoveFault
+
+func init() {
+ t["VspanPortMoveFaultFault"] = reflect.TypeOf((*VspanPortMoveFaultFault)(nil)).Elem()
+}
+
+type VspanPortPromiscChangeFault struct {
+ DvsFault
+
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanPortPromiscChangeFault"] = reflect.TypeOf((*VspanPortPromiscChangeFault)(nil)).Elem()
+}
+
+type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault
+
+func init() {
+ t["VspanPortPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortPromiscChangeFaultFault)(nil)).Elem()
+}
+
+type VspanPortgroupPromiscChangeFault struct {
+ DvsFault
+
+ PortgroupName string `xml:"portgroupName"`
+}
+
+func init() {
+ t["VspanPortgroupPromiscChangeFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFault)(nil)).Elem()
+}
+
+type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault
+
+func init() {
+ t["VspanPortgroupPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFaultFault)(nil)).Elem()
+}
+
+type VspanPortgroupTypeChangeFault struct {
+ DvsFault
+
+ PortgroupName string `xml:"portgroupName"`
+}
+
+func init() {
+ t["VspanPortgroupTypeChangeFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFault)(nil)).Elem()
+}
+
+type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault
+
+func init() {
+ t["VspanPortgroupTypeChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFaultFault)(nil)).Elem()
+}
+
+type VspanPromiscuousPortNotSupported struct {
+ DvsFault
+
+ VspanSessionKey string `xml:"vspanSessionKey"`
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanPromiscuousPortNotSupported"] = reflect.TypeOf((*VspanPromiscuousPortNotSupported)(nil)).Elem()
+}
+
+type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported
+
+func init() {
+ t["VspanPromiscuousPortNotSupportedFault"] = reflect.TypeOf((*VspanPromiscuousPortNotSupportedFault)(nil)).Elem()
+}
+
+type VspanSameSessionPortConflict struct {
+ DvsFault
+
+ VspanSessionKey string `xml:"vspanSessionKey"`
+ PortKey string `xml:"portKey"`
+}
+
+func init() {
+ t["VspanSameSessionPortConflict"] = reflect.TypeOf((*VspanSameSessionPortConflict)(nil)).Elem()
+}
+
+type VspanSameSessionPortConflictFault VspanSameSessionPortConflict
+
+func init() {
+ t["VspanSameSessionPortConflictFault"] = reflect.TypeOf((*VspanSameSessionPortConflictFault)(nil)).Elem()
+}
+
+type VvolDatastoreInfo struct {
+ DatastoreInfo
+
+ VvolDS *HostVvolVolume `xml:"vvolDS,omitempty"`
+}
+
+func init() {
+ t["VvolDatastoreInfo"] = reflect.TypeOf((*VvolDatastoreInfo)(nil)).Elem()
+}
+
+type WaitForUpdates WaitForUpdatesRequestType
+
+func init() {
+ t["WaitForUpdates"] = reflect.TypeOf((*WaitForUpdates)(nil)).Elem()
+}
+
+type WaitForUpdatesEx WaitForUpdatesExRequestType
+
+func init() {
+ t["WaitForUpdatesEx"] = reflect.TypeOf((*WaitForUpdatesEx)(nil)).Elem()
+}
+
+type WaitForUpdatesExRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Version string `xml:"version,omitempty"`
+ Options *WaitOptions `xml:"options,omitempty"`
+}
+
+func init() {
+ t["WaitForUpdatesExRequestType"] = reflect.TypeOf((*WaitForUpdatesExRequestType)(nil)).Elem()
+}
+
+type WaitForUpdatesExResponse struct {
+ Returnval *UpdateSet `xml:"returnval,omitempty"`
+}
+
+type WaitForUpdatesRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Version string `xml:"version,omitempty"`
+}
+
+func init() {
+ t["WaitForUpdatesRequestType"] = reflect.TypeOf((*WaitForUpdatesRequestType)(nil)).Elem()
+}
+
+type WaitForUpdatesResponse struct {
+ Returnval UpdateSet `xml:"returnval"`
+}
+
+type WaitOptions struct {
+ DynamicData
+
+ MaxWaitSeconds *int32 `xml:"maxWaitSeconds"`
+ MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty"`
+}
+
+func init() {
+ t["WaitOptions"] = reflect.TypeOf((*WaitOptions)(nil)).Elem()
+}
+
+type WakeOnLanNotSupported struct {
+ VirtualHardwareCompatibilityIssue
+}
+
+func init() {
+ t["WakeOnLanNotSupported"] = reflect.TypeOf((*WakeOnLanNotSupported)(nil)).Elem()
+}
+
+type WakeOnLanNotSupportedByVmotionNIC struct {
+ HostPowerOpFailed
+}
+
+func init() {
+ t["WakeOnLanNotSupportedByVmotionNIC"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNIC)(nil)).Elem()
+}
+
+type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC
+
+func init() {
+ t["WakeOnLanNotSupportedByVmotionNICFault"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNICFault)(nil)).Elem()
+}
+
+type WakeOnLanNotSupportedFault WakeOnLanNotSupported
+
+func init() {
+ t["WakeOnLanNotSupportedFault"] = reflect.TypeOf((*WakeOnLanNotSupportedFault)(nil)).Elem()
+}
+
+type WarningUpgradeEvent struct {
+ UpgradeEvent
+}
+
+func init() {
+ t["WarningUpgradeEvent"] = reflect.TypeOf((*WarningUpgradeEvent)(nil)).Elem()
+}
+
+type WeeklyTaskScheduler struct {
+ DailyTaskScheduler
+
+ Sunday bool `xml:"sunday"`
+ Monday bool `xml:"monday"`
+ Tuesday bool `xml:"tuesday"`
+ Wednesday bool `xml:"wednesday"`
+ Thursday bool `xml:"thursday"`
+ Friday bool `xml:"friday"`
+ Saturday bool `xml:"saturday"`
+}
+
+func init() {
+ t["WeeklyTaskScheduler"] = reflect.TypeOf((*WeeklyTaskScheduler)(nil)).Elem()
+}
+
+type WillLoseHAProtection struct {
+ MigrationFault
+
+ Resolution string `xml:"resolution"`
+}
+
+func init() {
+ t["WillLoseHAProtection"] = reflect.TypeOf((*WillLoseHAProtection)(nil)).Elem()
+}
+
+type WillLoseHAProtectionFault WillLoseHAProtection
+
+func init() {
+ t["WillLoseHAProtectionFault"] = reflect.TypeOf((*WillLoseHAProtectionFault)(nil)).Elem()
+}
+
+type WillModifyConfigCpuRequirements struct {
+ MigrationFault
+}
+
+func init() {
+ t["WillModifyConfigCpuRequirements"] = reflect.TypeOf((*WillModifyConfigCpuRequirements)(nil)).Elem()
+}
+
+type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements
+
+func init() {
+ t["WillModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*WillModifyConfigCpuRequirementsFault)(nil)).Elem()
+}
+
+type WillResetSnapshotDirectory struct {
+ MigrationFault
+}
+
+func init() {
+ t["WillResetSnapshotDirectory"] = reflect.TypeOf((*WillResetSnapshotDirectory)(nil)).Elem()
+}
+
+type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory
+
+func init() {
+ t["WillResetSnapshotDirectoryFault"] = reflect.TypeOf((*WillResetSnapshotDirectoryFault)(nil)).Elem()
+}
+
+type WinNetBIOSConfigInfo struct {
+ NetBIOSConfigInfo
+
+ PrimaryWINS string `xml:"primaryWINS"`
+ SecondaryWINS string `xml:"secondaryWINS,omitempty"`
+}
+
+func init() {
+ t["WinNetBIOSConfigInfo"] = reflect.TypeOf((*WinNetBIOSConfigInfo)(nil)).Elem()
+}
+
+type WipeDiskFault struct {
+ VimFault
+}
+
+func init() {
+ t["WipeDiskFault"] = reflect.TypeOf((*WipeDiskFault)(nil)).Elem()
+}
+
+type WipeDiskFaultFault WipeDiskFault
+
+func init() {
+ t["WipeDiskFaultFault"] = reflect.TypeOf((*WipeDiskFaultFault)(nil)).Elem()
+}
+
+type WitnessNodeInfo struct {
+ DynamicData
+
+ IpSettings CustomizationIPSettings `xml:"ipSettings"`
+ BiosUuid string `xml:"biosUuid,omitempty"`
+}
+
+func init() {
+ t["WitnessNodeInfo"] = reflect.TypeOf((*WitnessNodeInfo)(nil)).Elem()
+}
+
+type XmlToCustomizationSpecItem XmlToCustomizationSpecItemRequestType
+
+func init() {
+ t["XmlToCustomizationSpecItem"] = reflect.TypeOf((*XmlToCustomizationSpecItem)(nil)).Elem()
+}
+
+type XmlToCustomizationSpecItemRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ SpecItemXml string `xml:"specItemXml"`
+}
+
+func init() {
+ t["XmlToCustomizationSpecItemRequestType"] = reflect.TypeOf((*XmlToCustomizationSpecItemRequestType)(nil)).Elem()
+}
+
+type XmlToCustomizationSpecItemResponse struct {
+ Returnval CustomizationSpecItem `xml:"returnval"`
+}
+
+type ZeroFillVirtualDiskRequestType struct {
+ This ManagedObjectReference `xml:"_this"`
+ Name string `xml:"name"`
+ Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"`
+}
+
+func init() {
+ t["ZeroFillVirtualDiskRequestType"] = reflect.TypeOf((*ZeroFillVirtualDiskRequestType)(nil)).Elem()
+}
+
+type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType
+
+func init() {
+ t["ZeroFillVirtualDisk_Task"] = reflect.TypeOf((*ZeroFillVirtualDisk_Task)(nil)).Elem()
+}
+
+type ZeroFillVirtualDisk_TaskResponse struct {
+ Returnval ManagedObjectReference `xml:"returnval"`
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE
new file mode 100644
index 00000000..74487567
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/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/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/extras.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/extras.go
new file mode 100644
index 00000000..9a15b7c8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/extras.go
@@ -0,0 +1,99 @@
+/*
+Copyright (c) 2014 VMware, Inc. All Rights Reserved.
+
+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 xml
+
+import (
+ "reflect"
+ "time"
+)
+
+var xmlSchemaInstance = Name{Space: "http://www.w3.org/2001/XMLSchema-instance", Local: "type"}
+
+var xsiType = Name{Space: "xsi", Local: "type"}
+
+var stringToTypeMap = map[string]reflect.Type{
+ "xsd:boolean": reflect.TypeOf((*bool)(nil)).Elem(),
+ "xsd:byte": reflect.TypeOf((*int8)(nil)).Elem(),
+ "xsd:short": reflect.TypeOf((*int16)(nil)).Elem(),
+ "xsd:int": reflect.TypeOf((*int32)(nil)).Elem(),
+ "xsd:long": reflect.TypeOf((*int64)(nil)).Elem(),
+ "xsd:unsignedByte": reflect.TypeOf((*uint8)(nil)).Elem(),
+ "xsd:unsignedShort": reflect.TypeOf((*uint16)(nil)).Elem(),
+ "xsd:unsignedInt": reflect.TypeOf((*uint32)(nil)).Elem(),
+ "xsd:unsignedLong": reflect.TypeOf((*uint64)(nil)).Elem(),
+ "xsd:float": reflect.TypeOf((*float32)(nil)).Elem(),
+ "xsd:double": reflect.TypeOf((*float64)(nil)).Elem(),
+ "xsd:string": reflect.TypeOf((*string)(nil)).Elem(),
+ "xsd:dateTime": reflect.TypeOf((*time.Time)(nil)).Elem(),
+ "xsd:base64Binary": reflect.TypeOf((*[]byte)(nil)).Elem(),
+}
+
+// Return a reflect.Type for the specified type. Nil if unknown.
+func stringToType(s string) reflect.Type {
+ return stringToTypeMap[s]
+}
+
+// Return a string for the specified reflect.Type. Panic if unknown.
+func typeToString(typ reflect.Type) string {
+ switch typ.Kind() {
+ case reflect.Bool:
+ return "xsd:boolean"
+ case reflect.Int8:
+ return "xsd:byte"
+ case reflect.Int16:
+ return "xsd:short"
+ case reflect.Int32:
+ return "xsd:int"
+ case reflect.Int, reflect.Int64:
+ return "xsd:long"
+ case reflect.Uint8:
+ return "xsd:unsignedByte"
+ case reflect.Uint16:
+ return "xsd:unsignedShort"
+ case reflect.Uint32:
+ return "xsd:unsignedInt"
+ case reflect.Uint, reflect.Uint64:
+ return "xsd:unsignedLong"
+ case reflect.Float32:
+ return "xsd:float"
+ case reflect.Float64:
+ return "xsd:double"
+ case reflect.String:
+ name := typ.Name()
+ if name == "string" {
+ return "xsd:string"
+ }
+ return name
+ case reflect.Struct:
+ if typ == stringToTypeMap["xsd:dateTime"] {
+ return "xsd:dateTime"
+ }
+
+ // Expect any other struct to be handled...
+ return typ.Name()
+ case reflect.Slice:
+ if typ.Elem().Kind() == reflect.Uint8 {
+ return "xsd:base64Binary"
+ }
+ case reflect.Array:
+ if typ.Elem().Kind() == reflect.Uint8 {
+ return "xsd:base64Binary"
+ }
+ }
+
+ panic("don't know what to do for type: " + typ.String())
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go
new file mode 100644
index 00000000..39bbac1d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go
@@ -0,0 +1,949 @@
+// 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 xml
+
+import (
+ "bufio"
+ "bytes"
+ "encoding"
+ "fmt"
+ "io"
+ "reflect"
+ "strconv"
+ "strings"
+)
+
+const (
+ // A generic XML header suitable for use with the output of Marshal.
+ // This is not automatically added to any output of this package,
+ // it is provided as a convenience.
+ Header = `<?xml version="1.0" encoding="UTF-8"?>` + "\n"
+)
+
+// Marshal returns the XML encoding of v.
+//
+// Marshal handles an array or slice by marshalling each of the elements.
+// Marshal handles a pointer by marshalling the value it points at or, if the
+// pointer is nil, by writing nothing. Marshal handles an interface value by
+// marshalling the value it contains or, if the interface value is nil, by
+// writing nothing. Marshal handles all other data by writing one or more XML
+// elements containing the data.
+//
+// The name for the XML elements is taken from, in order of preference:
+// - the tag on the XMLName field, if the data is a struct
+// - the value of the XMLName field of type xml.Name
+// - the tag of the struct field used to obtain the data
+// - the name of the struct field used to obtain the data
+// - the name of the marshalled type
+//
+// The XML element for a struct contains marshalled elements for each of the
+// exported fields of the struct, with these exceptions:
+// - the XMLName field, described above, is omitted.
+// - a field with tag "-" is omitted.
+// - a field with tag "name,attr" becomes an attribute with
+// the given name in the XML element.
+// - a field with tag ",attr" becomes an attribute with the
+// field name in the XML element.
+// - a field with tag ",chardata" is written as character data,
+// not as an XML element.
+// - a field with tag ",innerxml" is written verbatim, not subject
+// to the usual marshalling procedure.
+// - a field with tag ",comment" is written as an XML comment, not
+// subject to the usual marshalling procedure. It must not contain
+// the "--" string within it.
+// - a field with a tag including the "omitempty" option is omitted
+// if the field value is empty. The empty values are false, 0, any
+// nil pointer or interface value, and any array, slice, map, or
+// string of length zero.
+// - an anonymous struct field is handled as if the fields of its
+// value were part of the outer struct.
+//
+// If a field uses a tag "a>b>c", then the element c will be nested inside
+// parent elements a and b. Fields that appear next to each other that name
+// the same parent will be enclosed in one XML element.
+//
+// See MarshalIndent for an example.
+//
+// Marshal will return an error if asked to marshal a channel, function, or map.
+func Marshal(v interface{}) ([]byte, error) {
+ var b bytes.Buffer
+ if err := NewEncoder(&b).Encode(v); err != nil {
+ return nil, err
+ }
+ return b.Bytes(), nil
+}
+
+// Marshaler is the interface implemented by objects that can marshal
+// themselves into valid XML elements.
+//
+// MarshalXML encodes the receiver as zero or more XML elements.
+// By convention, arrays or slices are typically encoded as a sequence
+// of elements, one per entry.
+// Using start as the element tag is not required, but doing so
+// will enable Unmarshal to match the XML elements to the correct
+// struct field.
+// One common implementation strategy is to construct a separate
+// value with a layout corresponding to the desired XML and then
+// to encode it using e.EncodeElement.
+// Another common strategy is to use repeated calls to e.EncodeToken
+// to generate the XML output one token at a time.
+// The sequence of encoded tokens must make up zero or more valid
+// XML elements.
+type Marshaler interface {
+ MarshalXML(e *Encoder, start StartElement) error
+}
+
+// MarshalerAttr is the interface implemented by objects that can marshal
+// themselves into valid XML attributes.
+//
+// MarshalXMLAttr returns an XML attribute with the encoded value of the receiver.
+// Using name as the attribute name is not required, but doing so
+// will enable Unmarshal to match the attribute to the correct
+// struct field.
+// If MarshalXMLAttr returns the zero attribute Attr{}, no attribute
+// will be generated in the output.
+// MarshalXMLAttr is used only for struct fields with the
+// "attr" option in the field tag.
+type MarshalerAttr interface {
+ MarshalXMLAttr(name Name) (Attr, error)
+}
+
+// MarshalIndent works like Marshal, but each XML element begins on a new
+// indented line that starts with prefix and is followed by one or more
+// copies of indent according to the nesting depth.
+func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) {
+ var b bytes.Buffer
+ enc := NewEncoder(&b)
+ enc.Indent(prefix, indent)
+ if err := enc.Encode(v); err != nil {
+ return nil, err
+ }
+ return b.Bytes(), nil
+}
+
+// An Encoder writes XML data to an output stream.
+type Encoder struct {
+ p printer
+}
+
+// NewEncoder returns a new encoder that writes to w.
+func NewEncoder(w io.Writer) *Encoder {
+ e := &Encoder{printer{Writer: bufio.NewWriter(w)}}
+ e.p.encoder = e
+ return e
+}
+
+// Indent sets the encoder to generate XML in which each element
+// begins on a new indented line that starts with prefix and is followed by
+// one or more copies of indent according to the nesting depth.
+func (enc *Encoder) Indent(prefix, indent string) {
+ enc.p.prefix = prefix
+ enc.p.indent = indent
+}
+
+// Encode writes the XML encoding of v to the stream.
+//
+// See the documentation for Marshal for details about the conversion
+// of Go values to XML.
+//
+// Encode calls Flush before returning.
+func (enc *Encoder) Encode(v interface{}) error {
+ err := enc.p.marshalValue(reflect.ValueOf(v), nil, nil)
+ if err != nil {
+ return err
+ }
+ return enc.p.Flush()
+}
+
+// EncodeElement writes the XML encoding of v to the stream,
+// using start as the outermost tag in the encoding.
+//
+// See the documentation for Marshal for details about the conversion
+// of Go values to XML.
+//
+// EncodeElement calls Flush before returning.
+func (enc *Encoder) EncodeElement(v interface{}, start StartElement) error {
+ err := enc.p.marshalValue(reflect.ValueOf(v), nil, &start)
+ if err != nil {
+ return err
+ }
+ return enc.p.Flush()
+}
+
+var (
+ endComment = []byte("-->")
+ endProcInst = []byte("?>")
+ endDirective = []byte(">")
+)
+
+// EncodeToken writes the given XML token to the stream.
+// It returns an error if StartElement and EndElement tokens are not properly matched.
+//
+// EncodeToken does not call Flush, because usually it is part of a larger operation
+// such as Encode or EncodeElement (or a custom Marshaler's MarshalXML invoked
+// during those), and those will call Flush when finished.
+// Callers that create an Encoder and then invoke EncodeToken directly, without
+// using Encode or EncodeElement, need to call Flush when finished to ensure
+// that the XML is written to the underlying writer.
+//
+// EncodeToken allows writing a ProcInst with Target set to "xml" only as the first token
+// in the stream.
+func (enc *Encoder) EncodeToken(t Token) error {
+ p := &enc.p
+ switch t := t.(type) {
+ case StartElement:
+ if err := p.writeStart(&t); err != nil {
+ return err
+ }
+ case EndElement:
+ if err := p.writeEnd(t.Name); err != nil {
+ return err
+ }
+ case CharData:
+ EscapeText(p, t)
+ case Comment:
+ if bytes.Contains(t, endComment) {
+ return fmt.Errorf("xml: EncodeToken of Comment containing --> marker")
+ }
+ p.WriteString("<!--")
+ p.Write(t)
+ p.WriteString("-->")
+ return p.cachedWriteError()
+ case ProcInst:
+ // First token to be encoded which is also a ProcInst with target of xml
+ // is the xml declaration. The only ProcInst where target of xml is allowed.
+ if t.Target == "xml" && p.Buffered() != 0 {
+ return fmt.Errorf("xml: EncodeToken of ProcInst xml target only valid for xml declaration, first token encoded")
+ }
+ if !isNameString(t.Target) {
+ return fmt.Errorf("xml: EncodeToken of ProcInst with invalid Target")
+ }
+ if bytes.Contains(t.Inst, endProcInst) {
+ return fmt.Errorf("xml: EncodeToken of ProcInst containing ?> marker")
+ }
+ p.WriteString("<?")
+ p.WriteString(t.Target)
+ if len(t.Inst) > 0 {
+ p.WriteByte(' ')
+ p.Write(t.Inst)
+ }
+ p.WriteString("?>")
+ case Directive:
+ if bytes.Contains(t, endDirective) {
+ return fmt.Errorf("xml: EncodeToken of Directive containing > marker")
+ }
+ p.WriteString("<!")
+ p.Write(t)
+ p.WriteString(">")
+ }
+ return p.cachedWriteError()
+}
+
+// Flush flushes any buffered XML to the underlying writer.
+// See the EncodeToken documentation for details about when it is necessary.
+func (enc *Encoder) Flush() error {
+ return enc.p.Flush()
+}
+
+type printer struct {
+ *bufio.Writer
+ encoder *Encoder
+ seq int
+ indent string
+ prefix string
+ depth int
+ indentedIn bool
+ putNewline bool
+ attrNS map[string]string // map prefix -> name space
+ attrPrefix map[string]string // map name space -> prefix
+ prefixes []string
+ tags []Name
+}
+
+// createAttrPrefix finds the name space prefix attribute to use for the given name space,
+// defining a new prefix if necessary. It returns the prefix.
+func (p *printer) createAttrPrefix(url string) string {
+ if prefix := p.attrPrefix[url]; prefix != "" {
+ return prefix
+ }
+
+ // The "http://www.w3.org/XML/1998/namespace" name space is predefined as "xml"
+ // and must be referred to that way.
+ // (The "http://www.w3.org/2000/xmlns/" name space is also predefined as "xmlns",
+ // but users should not be trying to use that one directly - that's our job.)
+ if url == xmlURL {
+ return "xml"
+ }
+
+ // Need to define a new name space.
+ if p.attrPrefix == nil {
+ p.attrPrefix = make(map[string]string)
+ p.attrNS = make(map[string]string)
+ }
+
+ // Pick a name. We try to use the final element of the path
+ // but fall back to _.
+ prefix := strings.TrimRight(url, "/")
+ if i := strings.LastIndex(prefix, "/"); i >= 0 {
+ prefix = prefix[i+1:]
+ }
+ if prefix == "" || !isName([]byte(prefix)) || strings.Contains(prefix, ":") {
+ prefix = "_"
+ }
+ if strings.HasPrefix(prefix, "xml") {
+ // xmlanything is reserved.
+ prefix = "_" + prefix
+ }
+ if p.attrNS[prefix] != "" {
+ // Name is taken. Find a better one.
+ for p.seq++; ; p.seq++ {
+ if id := prefix + "_" + strconv.Itoa(p.seq); p.attrNS[id] == "" {
+ prefix = id
+ break
+ }
+ }
+ }
+
+ p.attrPrefix[url] = prefix
+ p.attrNS[prefix] = url
+
+ p.WriteString(`xmlns:`)
+ p.WriteString(prefix)
+ p.WriteString(`="`)
+ EscapeText(p, []byte(url))
+ p.WriteString(`" `)
+
+ p.prefixes = append(p.prefixes, prefix)
+
+ return prefix
+}
+
+// deleteAttrPrefix removes an attribute name space prefix.
+func (p *printer) deleteAttrPrefix(prefix string) {
+ delete(p.attrPrefix, p.attrNS[prefix])
+ delete(p.attrNS, prefix)
+}
+
+func (p *printer) markPrefix() {
+ p.prefixes = append(p.prefixes, "")
+}
+
+func (p *printer) popPrefix() {
+ for len(p.prefixes) > 0 {
+ prefix := p.prefixes[len(p.prefixes)-1]
+ p.prefixes = p.prefixes[:len(p.prefixes)-1]
+ if prefix == "" {
+ break
+ }
+ p.deleteAttrPrefix(prefix)
+ }
+}
+
+var (
+ marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem()
+ marshalerAttrType = reflect.TypeOf((*MarshalerAttr)(nil)).Elem()
+ textMarshalerType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem()
+)
+
+// marshalValue writes one or more XML elements representing val.
+// If val was obtained from a struct field, finfo must have its details.
+func (p *printer) marshalValue(val reflect.Value, finfo *fieldInfo, startTemplate *StartElement) error {
+ if startTemplate != nil && startTemplate.Name.Local == "" {
+ return fmt.Errorf("xml: EncodeElement of StartElement with missing name")
+ }
+
+ if !val.IsValid() {
+ return nil
+ }
+ if finfo != nil && finfo.flags&fOmitEmpty != 0 && isEmptyValue(val) {
+ return nil
+ }
+
+ // Drill into interfaces and pointers.
+ // This can turn into an infinite loop given a cyclic chain,
+ // but it matches the Go 1 behavior.
+ for val.Kind() == reflect.Interface || val.Kind() == reflect.Ptr {
+ if val.IsNil() {
+ return nil
+ }
+ val = val.Elem()
+ }
+
+ kind := val.Kind()
+ typ := val.Type()
+
+ // Check for marshaler.
+ if val.CanInterface() && typ.Implements(marshalerType) {
+ return p.marshalInterface(val.Interface().(Marshaler), defaultStart(typ, finfo, startTemplate))
+ }
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(marshalerType) {
+ return p.marshalInterface(pv.Interface().(Marshaler), defaultStart(pv.Type(), finfo, startTemplate))
+ }
+ }
+
+ // Check for text marshaler.
+ if val.CanInterface() && typ.Implements(textMarshalerType) {
+ return p.marshalTextInterface(val.Interface().(encoding.TextMarshaler), defaultStart(typ, finfo, startTemplate))
+ }
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
+ return p.marshalTextInterface(pv.Interface().(encoding.TextMarshaler), defaultStart(pv.Type(), finfo, startTemplate))
+ }
+ }
+
+ // Slices and arrays iterate over the elements. They do not have an enclosing tag.
+ if (kind == reflect.Slice || kind == reflect.Array) && typ.Elem().Kind() != reflect.Uint8 {
+ for i, n := 0, val.Len(); i < n; i++ {
+ if err := p.marshalValue(val.Index(i), finfo, startTemplate); err != nil {
+ return err
+ }
+ }
+ return nil
+ }
+
+ tinfo, err := getTypeInfo(typ)
+ if err != nil {
+ return err
+ }
+
+ // Create start element.
+ // Precedence for the XML element name is:
+ // 0. startTemplate
+ // 1. XMLName field in underlying struct;
+ // 2. field name/tag in the struct field; and
+ // 3. type name
+ var start StartElement
+
+ if startTemplate != nil {
+ start.Name = startTemplate.Name
+ start.Attr = append(start.Attr, startTemplate.Attr...)
+ } else if tinfo.xmlname != nil {
+ xmlname := tinfo.xmlname
+ if xmlname.name != "" {
+ start.Name.Space, start.Name.Local = xmlname.xmlns, xmlname.name
+ } else if v, ok := xmlname.value(val).Interface().(Name); ok && v.Local != "" {
+ start.Name = v
+ }
+ }
+ if start.Name.Local == "" && finfo != nil {
+ start.Name.Space, start.Name.Local = finfo.xmlns, finfo.name
+ }
+ if start.Name.Local == "" {
+ name := typ.Name()
+ if name == "" {
+ return &UnsupportedTypeError{typ}
+ }
+ start.Name.Local = name
+ }
+
+ // Add type attribute if necessary
+ if finfo != nil && finfo.flags&fTypeAttr != 0 {
+ start.Attr = append(start.Attr, Attr{xmlSchemaInstance, typeToString(typ)})
+ }
+
+ // Attributes
+ for i := range tinfo.fields {
+ finfo := &tinfo.fields[i]
+ if finfo.flags&fAttr == 0 {
+ continue
+ }
+ fv := finfo.value(val)
+ name := Name{Space: finfo.xmlns, Local: finfo.name}
+
+ if finfo.flags&fOmitEmpty != 0 && isEmptyValue(fv) {
+ continue
+ }
+
+ if fv.Kind() == reflect.Interface && fv.IsNil() {
+ continue
+ }
+
+ if fv.CanInterface() && fv.Type().Implements(marshalerAttrType) {
+ attr, err := fv.Interface().(MarshalerAttr).MarshalXMLAttr(name)
+ if err != nil {
+ return err
+ }
+ if attr.Name.Local != "" {
+ start.Attr = append(start.Attr, attr)
+ }
+ continue
+ }
+
+ if fv.CanAddr() {
+ pv := fv.Addr()
+ if pv.CanInterface() && pv.Type().Implements(marshalerAttrType) {
+ attr, err := pv.Interface().(MarshalerAttr).MarshalXMLAttr(name)
+ if err != nil {
+ return err
+ }
+ if attr.Name.Local != "" {
+ start.Attr = append(start.Attr, attr)
+ }
+ continue
+ }
+ }
+
+ if fv.CanInterface() && fv.Type().Implements(textMarshalerType) {
+ text, err := fv.Interface().(encoding.TextMarshaler).MarshalText()
+ if err != nil {
+ return err
+ }
+ start.Attr = append(start.Attr, Attr{name, string(text)})
+ continue
+ }
+
+ if fv.CanAddr() {
+ pv := fv.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
+ text, err := pv.Interface().(encoding.TextMarshaler).MarshalText()
+ if err != nil {
+ return err
+ }
+ start.Attr = append(start.Attr, Attr{name, string(text)})
+ continue
+ }
+ }
+
+ // Dereference or skip nil pointer, interface values.
+ switch fv.Kind() {
+ case reflect.Ptr, reflect.Interface:
+ if fv.IsNil() {
+ continue
+ }
+ fv = fv.Elem()
+ }
+
+ s, b, err := p.marshalSimple(fv.Type(), fv)
+ if err != nil {
+ return err
+ }
+ if b != nil {
+ s = string(b)
+ }
+ start.Attr = append(start.Attr, Attr{name, s})
+ }
+
+ if err := p.writeStart(&start); err != nil {
+ return err
+ }
+
+ if val.Kind() == reflect.Struct {
+ err = p.marshalStruct(tinfo, val)
+ } else {
+ s, b, err1 := p.marshalSimple(typ, val)
+ if err1 != nil {
+ err = err1
+ } else if b != nil {
+ EscapeText(p, b)
+ } else {
+ p.EscapeString(s)
+ }
+ }
+ if err != nil {
+ return err
+ }
+
+ if err := p.writeEnd(start.Name); err != nil {
+ return err
+ }
+
+ return p.cachedWriteError()
+}
+
+// defaultStart returns the default start element to use,
+// given the reflect type, field info, and start template.
+func defaultStart(typ reflect.Type, finfo *fieldInfo, startTemplate *StartElement) StartElement {
+ var start StartElement
+ // Precedence for the XML element name is as above,
+ // except that we do not look inside structs for the first field.
+ if startTemplate != nil {
+ start.Name = startTemplate.Name
+ start.Attr = append(start.Attr, startTemplate.Attr...)
+ } else if finfo != nil && finfo.name != "" {
+ start.Name.Local = finfo.name
+ start.Name.Space = finfo.xmlns
+ } else if typ.Name() != "" {
+ start.Name.Local = typ.Name()
+ } else {
+ // Must be a pointer to a named type,
+ // since it has the Marshaler methods.
+ start.Name.Local = typ.Elem().Name()
+ }
+
+ // Add type attribute if necessary
+ if finfo != nil && finfo.flags&fTypeAttr != 0 {
+ start.Attr = append(start.Attr, Attr{xmlSchemaInstance, typeToString(typ)})
+ }
+
+ return start
+}
+
+// marshalInterface marshals a Marshaler interface value.
+func (p *printer) marshalInterface(val Marshaler, start StartElement) error {
+ // Push a marker onto the tag stack so that MarshalXML
+ // cannot close the XML tags that it did not open.
+ p.tags = append(p.tags, Name{})
+ n := len(p.tags)
+
+ err := val.MarshalXML(p.encoder, start)
+ if err != nil {
+ return err
+ }
+
+ // Make sure MarshalXML closed all its tags. p.tags[n-1] is the mark.
+ if len(p.tags) > n {
+ return fmt.Errorf("xml: %s.MarshalXML wrote invalid XML: <%s> not closed", receiverType(val), p.tags[len(p.tags)-1].Local)
+ }
+ p.tags = p.tags[:n-1]
+ return nil
+}
+
+// marshalTextInterface marshals a TextMarshaler interface value.
+func (p *printer) marshalTextInterface(val encoding.TextMarshaler, start StartElement) error {
+ if err := p.writeStart(&start); err != nil {
+ return err
+ }
+ text, err := val.MarshalText()
+ if err != nil {
+ return err
+ }
+ EscapeText(p, text)
+ return p.writeEnd(start.Name)
+}
+
+// writeStart writes the given start element.
+func (p *printer) writeStart(start *StartElement) error {
+ if start.Name.Local == "" {
+ return fmt.Errorf("xml: start tag with no name")
+ }
+
+ p.tags = append(p.tags, start.Name)
+ p.markPrefix()
+
+ p.writeIndent(1)
+ p.WriteByte('<')
+ p.WriteString(start.Name.Local)
+
+ if start.Name.Space != "" {
+ p.WriteString(` xmlns="`)
+ p.EscapeString(start.Name.Space)
+ p.WriteByte('"')
+ }
+
+ // Attributes
+ for _, attr := range start.Attr {
+ name := attr.Name
+ if name.Local == "" {
+ continue
+ }
+ p.WriteByte(' ')
+ if name.Space != "" {
+ p.WriteString(p.createAttrPrefix(name.Space))
+ p.WriteByte(':')
+ }
+ p.WriteString(name.Local)
+ p.WriteString(`="`)
+ p.EscapeString(attr.Value)
+ p.WriteByte('"')
+ }
+ p.WriteByte('>')
+ return nil
+}
+
+func (p *printer) writeEnd(name Name) error {
+ if name.Local == "" {
+ return fmt.Errorf("xml: end tag with no name")
+ }
+ if len(p.tags) == 0 || p.tags[len(p.tags)-1].Local == "" {
+ return fmt.Errorf("xml: end tag </%s> without start tag", name.Local)
+ }
+ if top := p.tags[len(p.tags)-1]; top != name {
+ if top.Local != name.Local {
+ return fmt.Errorf("xml: end tag </%s> does not match start tag <%s>", name.Local, top.Local)
+ }
+ return fmt.Errorf("xml: end tag </%s> in namespace %s does not match start tag <%s> in namespace %s", name.Local, name.Space, top.Local, top.Space)
+ }
+ p.tags = p.tags[:len(p.tags)-1]
+
+ p.writeIndent(-1)
+ p.WriteByte('<')
+ p.WriteByte('/')
+ p.WriteString(name.Local)
+ p.WriteByte('>')
+ p.popPrefix()
+ return nil
+}
+
+func (p *printer) marshalSimple(typ reflect.Type, val reflect.Value) (string, []byte, error) {
+ switch val.Kind() {
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ return strconv.FormatInt(val.Int(), 10), nil, nil
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ return strconv.FormatUint(val.Uint(), 10), nil, nil
+ case reflect.Float32, reflect.Float64:
+ return strconv.FormatFloat(val.Float(), 'g', -1, val.Type().Bits()), nil, nil
+ case reflect.String:
+ return val.String(), nil, nil
+ case reflect.Bool:
+ return strconv.FormatBool(val.Bool()), nil, nil
+ case reflect.Array:
+ if typ.Elem().Kind() != reflect.Uint8 {
+ break
+ }
+ // [...]byte
+ var bytes []byte
+ if val.CanAddr() {
+ bytes = val.Slice(0, val.Len()).Bytes()
+ } else {
+ bytes = make([]byte, val.Len())
+ reflect.Copy(reflect.ValueOf(bytes), val)
+ }
+ return "", bytes, nil
+ case reflect.Slice:
+ if typ.Elem().Kind() != reflect.Uint8 {
+ break
+ }
+ // []byte
+ return "", val.Bytes(), nil
+ }
+ return "", nil, &UnsupportedTypeError{typ}
+}
+
+var ddBytes = []byte("--")
+
+func (p *printer) marshalStruct(tinfo *typeInfo, val reflect.Value) error {
+ s := parentStack{p: p}
+ for i := range tinfo.fields {
+ finfo := &tinfo.fields[i]
+ if finfo.flags&fAttr != 0 {
+ continue
+ }
+ vf := finfo.value(val)
+
+ // Dereference or skip nil pointer, interface values.
+ switch vf.Kind() {
+ case reflect.Ptr, reflect.Interface:
+ if !vf.IsNil() {
+ vf = vf.Elem()
+ }
+ }
+
+ switch finfo.flags & fMode {
+ case fCharData:
+ if vf.CanInterface() && vf.Type().Implements(textMarshalerType) {
+ data, err := vf.Interface().(encoding.TextMarshaler).MarshalText()
+ if err != nil {
+ return err
+ }
+ Escape(p, data)
+ continue
+ }
+ if vf.CanAddr() {
+ pv := vf.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textMarshalerType) {
+ data, err := pv.Interface().(encoding.TextMarshaler).MarshalText()
+ if err != nil {
+ return err
+ }
+ Escape(p, data)
+ continue
+ }
+ }
+ var scratch [64]byte
+ switch vf.Kind() {
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ Escape(p, strconv.AppendInt(scratch[:0], vf.Int(), 10))
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ Escape(p, strconv.AppendUint(scratch[:0], vf.Uint(), 10))
+ case reflect.Float32, reflect.Float64:
+ Escape(p, strconv.AppendFloat(scratch[:0], vf.Float(), 'g', -1, vf.Type().Bits()))
+ case reflect.Bool:
+ Escape(p, strconv.AppendBool(scratch[:0], vf.Bool()))
+ case reflect.String:
+ if err := EscapeText(p, []byte(vf.String())); err != nil {
+ return err
+ }
+ case reflect.Slice:
+ if elem, ok := vf.Interface().([]byte); ok {
+ if err := EscapeText(p, elem); err != nil {
+ return err
+ }
+ }
+ }
+ continue
+
+ case fComment:
+ k := vf.Kind()
+ if !(k == reflect.String || k == reflect.Slice && vf.Type().Elem().Kind() == reflect.Uint8) {
+ return fmt.Errorf("xml: bad type for comment field of %s", val.Type())
+ }
+ if vf.Len() == 0 {
+ continue
+ }
+ p.writeIndent(0)
+ p.WriteString("<!--")
+ dashDash := false
+ dashLast := false
+ switch k {
+ case reflect.String:
+ s := vf.String()
+ dashDash = strings.Index(s, "--") >= 0
+ dashLast = s[len(s)-1] == '-'
+ if !dashDash {
+ p.WriteString(s)
+ }
+ case reflect.Slice:
+ b := vf.Bytes()
+ dashDash = bytes.Index(b, ddBytes) >= 0
+ dashLast = b[len(b)-1] == '-'
+ if !dashDash {
+ p.Write(b)
+ }
+ default:
+ panic("can't happen")
+ }
+ if dashDash {
+ return fmt.Errorf(`xml: comments must not contain "--"`)
+ }
+ if dashLast {
+ // "--->" is invalid grammar. Make it "- -->"
+ p.WriteByte(' ')
+ }
+ p.WriteString("-->")
+ continue
+
+ case fInnerXml:
+ iface := vf.Interface()
+ switch raw := iface.(type) {
+ case []byte:
+ p.Write(raw)
+ continue
+ case string:
+ p.WriteString(raw)
+ continue
+ }
+
+ case fElement, fElement | fAny:
+ if err := s.trim(finfo.parents); err != nil {
+ return err
+ }
+ if len(finfo.parents) > len(s.stack) {
+ if vf.Kind() != reflect.Ptr && vf.Kind() != reflect.Interface || !vf.IsNil() {
+ if err := s.push(finfo.parents[len(s.stack):]); err != nil {
+ return err
+ }
+ }
+ }
+ }
+ if err := p.marshalValue(vf, finfo, nil); err != nil {
+ return err
+ }
+ }
+ s.trim(nil)
+ return p.cachedWriteError()
+}
+
+// return the bufio Writer's cached write error
+func (p *printer) cachedWriteError() error {
+ _, err := p.Write(nil)
+ return err
+}
+
+func (p *printer) writeIndent(depthDelta int) {
+ if len(p.prefix) == 0 && len(p.indent) == 0 {
+ return
+ }
+ if depthDelta < 0 {
+ p.depth--
+ if p.indentedIn {
+ p.indentedIn = false
+ return
+ }
+ p.indentedIn = false
+ }
+ if p.putNewline {
+ p.WriteByte('\n')
+ } else {
+ p.putNewline = true
+ }
+ if len(p.prefix) > 0 {
+ p.WriteString(p.prefix)
+ }
+ if len(p.indent) > 0 {
+ for i := 0; i < p.depth; i++ {
+ p.WriteString(p.indent)
+ }
+ }
+ if depthDelta > 0 {
+ p.depth++
+ p.indentedIn = true
+ }
+}
+
+type parentStack struct {
+ p *printer
+ stack []string
+}
+
+// trim updates the XML context to match the longest common prefix of the stack
+// and the given parents. A closing tag will be written for every parent
+// popped. Passing a zero slice or nil will close all the elements.
+func (s *parentStack) trim(parents []string) error {
+ split := 0
+ for ; split < len(parents) && split < len(s.stack); split++ {
+ if parents[split] != s.stack[split] {
+ break
+ }
+ }
+ for i := len(s.stack) - 1; i >= split; i-- {
+ if err := s.p.writeEnd(Name{Local: s.stack[i]}); err != nil {
+ return err
+ }
+ }
+ s.stack = parents[:split]
+ return nil
+}
+
+// push adds parent elements to the stack and writes open tags.
+func (s *parentStack) push(parents []string) error {
+ for i := 0; i < len(parents); i++ {
+ if err := s.p.writeStart(&StartElement{Name: Name{Local: parents[i]}}); err != nil {
+ return err
+ }
+ }
+ s.stack = append(s.stack, parents...)
+ return nil
+}
+
+// A MarshalXMLError is returned when Marshal encounters a type
+// that cannot be converted into XML.
+type UnsupportedTypeError struct {
+ Type reflect.Type
+}
+
+func (e *UnsupportedTypeError) Error() string {
+ return "xml: unsupported type: " + e.Type.String()
+}
+
+func isEmptyValue(v reflect.Value) bool {
+ switch v.Kind() {
+ case reflect.Array, reflect.Map, reflect.Slice, 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.Ptr:
+ return v.IsNil()
+ }
+ return false
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/read.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/read.go
new file mode 100644
index 00000000..fe35fce6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/read.go
@@ -0,0 +1,781 @@
+// 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 xml
+
+import (
+ "bytes"
+ "encoding"
+ "errors"
+ "fmt"
+ "reflect"
+ "strconv"
+ "strings"
+)
+
+// BUG(rsc): Mapping between XML elements and data structures is inherently flawed:
+// an XML element is an order-dependent collection of anonymous
+// values, while a data structure is an order-independent collection
+// of named values.
+// See package json for a textual representation more suitable
+// to data structures.
+
+// Unmarshal parses the XML-encoded data and stores the result in
+// the value pointed to by v, which must be an arbitrary struct,
+// slice, or string. Well-formed data that does not fit into v is
+// discarded.
+//
+// Because Unmarshal uses the reflect package, it can only assign
+// to exported (upper case) fields. Unmarshal uses a case-sensitive
+// comparison to match XML element names to tag values and struct
+// field names.
+//
+// Unmarshal maps an XML element to a struct using the following rules.
+// In the rules, the tag of a field refers to the value associated with the
+// key 'xml' in the struct field's tag (see the example above).
+//
+// * If the struct has a field of type []byte or string with tag
+// ",innerxml", Unmarshal accumulates the raw XML nested inside the
+// element in that field. The rest of the rules still apply.
+//
+// * If the struct has a field named XMLName of type xml.Name,
+// Unmarshal records the element name in that field.
+//
+// * If the XMLName field has an associated tag of the form
+// "name" or "namespace-URL name", the XML element must have
+// the given name (and, optionally, name space) or else Unmarshal
+// returns an error.
+//
+// * If the XML element has an attribute whose name matches a
+// struct field name with an associated tag containing ",attr" or
+// the explicit name in a struct field tag of the form "name,attr",
+// Unmarshal records the attribute value in that field.
+//
+// * If the XML element contains character data, that data is
+// accumulated in the first struct field that has tag ",chardata".
+// The struct field may have type []byte or string.
+// If there is no such field, the character data is discarded.
+//
+// * If the XML element contains comments, they are accumulated in
+// the first struct field that has tag ",comment". The struct
+// field may have type []byte or string. If there is no such
+// field, the comments are discarded.
+//
+// * If the XML element contains a sub-element whose name matches
+// the prefix of a tag formatted as "a" or "a>b>c", unmarshal
+// will descend into the XML structure looking for elements with the
+// given names, and will map the innermost elements to that struct
+// field. A tag starting with ">" is equivalent to one starting
+// with the field name followed by ">".
+//
+// * If the XML element contains a sub-element whose name matches
+// a struct field's XMLName tag and the struct field has no
+// explicit name tag as per the previous rule, unmarshal maps
+// the sub-element to that struct field.
+//
+// * If the XML element contains a sub-element whose name matches a
+// field without any mode flags (",attr", ",chardata", etc), Unmarshal
+// maps the sub-element to that struct field.
+//
+// * If the XML element contains a sub-element that hasn't matched any
+// of the above rules and the struct has a field with tag ",any",
+// unmarshal maps the sub-element to that struct field.
+//
+// * An anonymous struct field is handled as if the fields of its
+// value were part of the outer struct.
+//
+// * A struct field with tag "-" is never unmarshalled into.
+//
+// Unmarshal maps an XML element to a string or []byte by saving the
+// concatenation of that element's character data in the string or
+// []byte. The saved []byte is never nil.
+//
+// Unmarshal maps an attribute value to a string or []byte by saving
+// the value in the string or slice.
+//
+// Unmarshal maps an XML element to a slice by extending the length of
+// the slice and mapping the element to the newly created value.
+//
+// Unmarshal maps an XML element or attribute value to a bool by
+// setting it to the boolean value represented by the string.
+//
+// Unmarshal maps an XML element or attribute value to an integer or
+// floating-point field by setting the field to the result of
+// interpreting the string value in decimal. There is no check for
+// overflow.
+//
+// Unmarshal maps an XML element to an xml.Name by recording the
+// element name.
+//
+// Unmarshal maps an XML element to a pointer by setting the pointer
+// to a freshly allocated value and then mapping the element to that value.
+//
+func Unmarshal(data []byte, v interface{}) error {
+ return NewDecoder(bytes.NewReader(data)).Decode(v)
+}
+
+// Decode works like xml.Unmarshal, except it reads the decoder
+// stream to find the start element.
+func (d *Decoder) Decode(v interface{}) error {
+ return d.DecodeElement(v, nil)
+}
+
+// DecodeElement works like xml.Unmarshal except that it takes
+// a pointer to the start XML element to decode into v.
+// It is useful when a client reads some raw XML tokens itself
+// but also wants to defer to Unmarshal for some elements.
+func (d *Decoder) DecodeElement(v interface{}, start *StartElement) error {
+ val := reflect.ValueOf(v)
+ if val.Kind() != reflect.Ptr {
+ return errors.New("non-pointer passed to Unmarshal")
+ }
+ return d.unmarshal(val.Elem(), start)
+}
+
+// An UnmarshalError represents an error in the unmarshalling process.
+type UnmarshalError string
+
+func (e UnmarshalError) Error() string { return string(e) }
+
+// Unmarshaler is the interface implemented by objects that can unmarshal
+// an XML element description of themselves.
+//
+// UnmarshalXML decodes a single XML element
+// beginning with the given start element.
+// If it returns an error, the outer call to Unmarshal stops and
+// returns that error.
+// UnmarshalXML must consume exactly one XML element.
+// One common implementation strategy is to unmarshal into
+// a separate value with a layout matching the expected XML
+// using d.DecodeElement, and then to copy the data from
+// that value into the receiver.
+// Another common strategy is to use d.Token to process the
+// XML object one token at a time.
+// UnmarshalXML may not use d.RawToken.
+type Unmarshaler interface {
+ UnmarshalXML(d *Decoder, start StartElement) error
+}
+
+// UnmarshalerAttr is the interface implemented by objects that can unmarshal
+// an XML attribute description of themselves.
+//
+// UnmarshalXMLAttr decodes a single XML attribute.
+// If it returns an error, the outer call to Unmarshal stops and
+// returns that error.
+// UnmarshalXMLAttr is used only for struct fields with the
+// "attr" option in the field tag.
+type UnmarshalerAttr interface {
+ UnmarshalXMLAttr(attr Attr) error
+}
+
+// receiverType returns the receiver type to use in an expression like "%s.MethodName".
+func receiverType(val interface{}) string {
+ t := reflect.TypeOf(val)
+ if t.Name() != "" {
+ return t.String()
+ }
+ return "(" + t.String() + ")"
+}
+
+// unmarshalInterface unmarshals a single XML element into val.
+// start is the opening tag of the element.
+func (p *Decoder) unmarshalInterface(val Unmarshaler, start *StartElement) error {
+ // Record that decoder must stop at end tag corresponding to start.
+ p.pushEOF()
+
+ p.unmarshalDepth++
+ err := val.UnmarshalXML(p, *start)
+ p.unmarshalDepth--
+ if err != nil {
+ p.popEOF()
+ return err
+ }
+
+ if !p.popEOF() {
+ return fmt.Errorf("xml: %s.UnmarshalXML did not consume entire <%s> element", receiverType(val), start.Name.Local)
+ }
+
+ return nil
+}
+
+// unmarshalTextInterface unmarshals a single XML element into val.
+// The chardata contained in the element (but not its children)
+// is passed to the text unmarshaler.
+func (p *Decoder) unmarshalTextInterface(val encoding.TextUnmarshaler, start *StartElement) error {
+ var buf []byte
+ depth := 1
+ for depth > 0 {
+ t, err := p.Token()
+ if err != nil {
+ return err
+ }
+ switch t := t.(type) {
+ case CharData:
+ if depth == 1 {
+ buf = append(buf, t...)
+ }
+ case StartElement:
+ depth++
+ case EndElement:
+ depth--
+ }
+ }
+ return val.UnmarshalText(buf)
+}
+
+// unmarshalAttr unmarshals a single XML attribute into val.
+func (p *Decoder) unmarshalAttr(val reflect.Value, attr Attr) error {
+ if val.Kind() == reflect.Ptr {
+ if val.IsNil() {
+ val.Set(reflect.New(val.Type().Elem()))
+ }
+ val = val.Elem()
+ }
+
+ if val.CanInterface() && val.Type().Implements(unmarshalerAttrType) {
+ // This is an unmarshaler with a non-pointer receiver,
+ // so it's likely to be incorrect, but we do what we're told.
+ return val.Interface().(UnmarshalerAttr).UnmarshalXMLAttr(attr)
+ }
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(unmarshalerAttrType) {
+ return pv.Interface().(UnmarshalerAttr).UnmarshalXMLAttr(attr)
+ }
+ }
+
+ // Not an UnmarshalerAttr; try encoding.TextUnmarshaler.
+ if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
+ // This is an unmarshaler with a non-pointer receiver,
+ // so it's likely to be incorrect, but we do what we're told.
+ return val.Interface().(encoding.TextUnmarshaler).UnmarshalText([]byte(attr.Value))
+ }
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
+ return pv.Interface().(encoding.TextUnmarshaler).UnmarshalText([]byte(attr.Value))
+ }
+ }
+
+ copyValue(val, []byte(attr.Value))
+ return nil
+}
+
+var (
+ unmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem()
+ unmarshalerAttrType = reflect.TypeOf((*UnmarshalerAttr)(nil)).Elem()
+ textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem()
+)
+
+// Find reflect.Type for an element's type attribute.
+func (p *Decoder) typeForElement(val reflect.Value, start *StartElement) reflect.Type {
+ t := ""
+ for i, a := range start.Attr {
+ if a.Name == xmlSchemaInstance || a.Name == xsiType {
+ t = a.Value
+ // HACK: ensure xsi:type is last in the list to avoid using that value for
+ // a "type" attribute, such as ManagedObjectReference.Type for example.
+ // Note that xsi:type is already the last attribute in VC/ESX responses.
+ // This is only an issue with govmomi simulator generated responses.
+ // Proper fix will require finding a few needles in this xml package haystack.
+ // Note: govmomi uses xmlSchemaInstance, other clients (e.g. rbvmomi) use xsiType.
+ // They are the same thing to XML parsers, but not to this hack here.
+ x := len(start.Attr) - 1
+ if i != x {
+ start.Attr[i] = start.Attr[x]
+ start.Attr[x] = a
+ }
+ break
+ }
+ }
+
+ if t == "" {
+ // No type attribute; fall back to looking up type by interface name.
+ t = val.Type().Name()
+ }
+
+ // Maybe the type is a basic xsd:* type.
+ typ := stringToType(t)
+ if typ != nil {
+ return typ
+ }
+
+ // Maybe the type is a custom type.
+ if p.TypeFunc != nil {
+ if typ, ok := p.TypeFunc(t); ok {
+ return typ
+ }
+ }
+
+ return nil
+}
+
+// Unmarshal a single XML element into val.
+func (p *Decoder) unmarshal(val reflect.Value, start *StartElement) error {
+ // Find start element if we need it.
+ if start == nil {
+ for {
+ tok, err := p.Token()
+ if err != nil {
+ return err
+ }
+ if t, ok := tok.(StartElement); ok {
+ start = &t
+ break
+ }
+ }
+ }
+
+ // Try to figure out type for empty interface values.
+ if val.Kind() == reflect.Interface && val.IsNil() {
+ typ := p.typeForElement(val, start)
+ if typ != nil {
+ pval := reflect.New(typ).Elem()
+ err := p.unmarshal(pval, start)
+ if err != nil {
+ return err
+ }
+
+ for i := 0; i < 2; i++ {
+ if typ.Implements(val.Type()) {
+ val.Set(pval)
+ return nil
+ }
+
+ typ = reflect.PtrTo(typ)
+ pval = pval.Addr()
+ }
+
+ val.Set(pval)
+ return nil
+ }
+ }
+
+ // Load value from interface, but only if the result will be
+ // usefully addressable.
+ if val.Kind() == reflect.Interface && !val.IsNil() {
+ e := val.Elem()
+ if e.Kind() == reflect.Ptr && !e.IsNil() {
+ val = e
+ }
+ }
+
+ if val.Kind() == reflect.Ptr {
+ if val.IsNil() {
+ val.Set(reflect.New(val.Type().Elem()))
+ }
+ val = val.Elem()
+ }
+
+ if val.CanInterface() && val.Type().Implements(unmarshalerType) {
+ // This is an unmarshaler with a non-pointer receiver,
+ // so it's likely to be incorrect, but we do what we're told.
+ return p.unmarshalInterface(val.Interface().(Unmarshaler), start)
+ }
+
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(unmarshalerType) {
+ return p.unmarshalInterface(pv.Interface().(Unmarshaler), start)
+ }
+ }
+
+ if val.CanInterface() && val.Type().Implements(textUnmarshalerType) {
+ return p.unmarshalTextInterface(val.Interface().(encoding.TextUnmarshaler), start)
+ }
+
+ if val.CanAddr() {
+ pv := val.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
+ return p.unmarshalTextInterface(pv.Interface().(encoding.TextUnmarshaler), start)
+ }
+ }
+
+ var (
+ data []byte
+ saveData reflect.Value
+ comment []byte
+ saveComment reflect.Value
+ saveXML reflect.Value
+ saveXMLIndex int
+ saveXMLData []byte
+ saveAny reflect.Value
+ sv reflect.Value
+ tinfo *typeInfo
+ err error
+ )
+
+ switch v := val; v.Kind() {
+ default:
+ return errors.New("unknown type " + v.Type().String())
+
+ case reflect.Interface:
+ // TODO: For now, simply ignore the field. In the near
+ // future we may choose to unmarshal the start
+ // element on it, if not nil.
+ return p.Skip()
+
+ case reflect.Slice:
+ typ := v.Type()
+ if typ.Elem().Kind() == reflect.Uint8 {
+ // []byte
+ saveData = v
+ break
+ }
+
+ // Slice of element values.
+ // Grow slice.
+ n := v.Len()
+ if n >= v.Cap() {
+ ncap := 2 * n
+ if ncap < 4 {
+ ncap = 4
+ }
+ new := reflect.MakeSlice(typ, n, ncap)
+ reflect.Copy(new, v)
+ v.Set(new)
+ }
+ v.SetLen(n + 1)
+
+ // Recur to read element into slice.
+ if err := p.unmarshal(v.Index(n), start); err != nil {
+ v.SetLen(n)
+ return err
+ }
+ return nil
+
+ case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.String:
+ saveData = v
+
+ case reflect.Struct:
+ typ := v.Type()
+ if typ == nameType {
+ v.Set(reflect.ValueOf(start.Name))
+ break
+ }
+
+ sv = v
+ tinfo, err = getTypeInfo(typ)
+ if err != nil {
+ return err
+ }
+
+ // Validate and assign element name.
+ if tinfo.xmlname != nil {
+ finfo := tinfo.xmlname
+ if finfo.name != "" && finfo.name != start.Name.Local {
+ return UnmarshalError("expected element type <" + finfo.name + "> but have <" + start.Name.Local + ">")
+ }
+ if finfo.xmlns != "" && finfo.xmlns != start.Name.Space {
+ e := "expected element <" + finfo.name + "> in name space " + finfo.xmlns + " but have "
+ if start.Name.Space == "" {
+ e += "no name space"
+ } else {
+ e += start.Name.Space
+ }
+ return UnmarshalError(e)
+ }
+ fv := finfo.value(sv)
+ if _, ok := fv.Interface().(Name); ok {
+ fv.Set(reflect.ValueOf(start.Name))
+ }
+ }
+
+ // Assign attributes.
+ // Also, determine whether we need to save character data or comments.
+ for i := range tinfo.fields {
+ finfo := &tinfo.fields[i]
+ switch finfo.flags & fMode {
+ case fAttr:
+ strv := finfo.value(sv)
+ // Look for attribute.
+ for _, a := range start.Attr {
+ if a.Name.Local == finfo.name && (finfo.xmlns == "" || finfo.xmlns == a.Name.Space) {
+ if err := p.unmarshalAttr(strv, a); err != nil {
+ return err
+ }
+ break
+ }
+ }
+
+ case fCharData:
+ if !saveData.IsValid() {
+ saveData = finfo.value(sv)
+ }
+
+ case fComment:
+ if !saveComment.IsValid() {
+ saveComment = finfo.value(sv)
+ }
+
+ case fAny, fAny | fElement:
+ if !saveAny.IsValid() {
+ saveAny = finfo.value(sv)
+ }
+
+ case fInnerXml:
+ if !saveXML.IsValid() {
+ saveXML = finfo.value(sv)
+ if p.saved == nil {
+ saveXMLIndex = 0
+ p.saved = new(bytes.Buffer)
+ } else {
+ saveXMLIndex = p.savedOffset()
+ }
+ }
+ }
+ }
+ }
+
+ // Find end element.
+ // Process sub-elements along the way.
+Loop:
+ for {
+ var savedOffset int
+ if saveXML.IsValid() {
+ savedOffset = p.savedOffset()
+ }
+ tok, err := p.Token()
+ if err != nil {
+ return err
+ }
+ switch t := tok.(type) {
+ case StartElement:
+ consumed := false
+ if sv.IsValid() {
+ consumed, err = p.unmarshalPath(tinfo, sv, nil, &t)
+ if err != nil {
+ return err
+ }
+ if !consumed && saveAny.IsValid() {
+ consumed = true
+ if err := p.unmarshal(saveAny, &t); err != nil {
+ return err
+ }
+ }
+ }
+ if !consumed {
+ if err := p.Skip(); err != nil {
+ return err
+ }
+ }
+
+ case EndElement:
+ if saveXML.IsValid() {
+ saveXMLData = p.saved.Bytes()[saveXMLIndex:savedOffset]
+ if saveXMLIndex == 0 {
+ p.saved = nil
+ }
+ }
+ break Loop
+
+ case CharData:
+ if saveData.IsValid() {
+ data = append(data, t...)
+ }
+
+ case Comment:
+ if saveComment.IsValid() {
+ comment = append(comment, t...)
+ }
+ }
+ }
+
+ if saveData.IsValid() && saveData.CanInterface() && saveData.Type().Implements(textUnmarshalerType) {
+ if err := saveData.Interface().(encoding.TextUnmarshaler).UnmarshalText(data); err != nil {
+ return err
+ }
+ saveData = reflect.Value{}
+ }
+
+ if saveData.IsValid() && saveData.CanAddr() {
+ pv := saveData.Addr()
+ if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) {
+ if err := pv.Interface().(encoding.TextUnmarshaler).UnmarshalText(data); err != nil {
+ return err
+ }
+ saveData = reflect.Value{}
+ }
+ }
+
+ if err := copyValue(saveData, data); err != nil {
+ return err
+ }
+
+ switch t := saveComment; t.Kind() {
+ case reflect.String:
+ t.SetString(string(comment))
+ case reflect.Slice:
+ t.Set(reflect.ValueOf(comment))
+ }
+
+ switch t := saveXML; t.Kind() {
+ case reflect.String:
+ t.SetString(string(saveXMLData))
+ case reflect.Slice:
+ t.Set(reflect.ValueOf(saveXMLData))
+ }
+
+ return nil
+}
+
+func copyValue(dst reflect.Value, src []byte) (err error) {
+ dst0 := dst
+
+ if dst.Kind() == reflect.Ptr {
+ if dst.IsNil() {
+ dst.Set(reflect.New(dst.Type().Elem()))
+ }
+ dst = dst.Elem()
+ }
+
+ // Save accumulated data.
+ switch dst.Kind() {
+ case reflect.Invalid:
+ // Probably a comment.
+ default:
+ return errors.New("cannot unmarshal into " + dst0.Type().String())
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
+ itmp, err := strconv.ParseInt(string(src), 10, dst.Type().Bits())
+ if err != nil {
+ return err
+ }
+ dst.SetInt(itmp)
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
+ var utmp uint64
+ if len(src) > 0 && src[0] == '-' {
+ // Negative value for unsigned field.
+ // Assume it was serialized following two's complement.
+ itmp, err := strconv.ParseInt(string(src), 10, dst.Type().Bits())
+ if err != nil {
+ return err
+ }
+ // Reinterpret value based on type width.
+ switch dst.Type().Bits() {
+ case 8:
+ utmp = uint64(uint8(itmp))
+ case 16:
+ utmp = uint64(uint16(itmp))
+ case 32:
+ utmp = uint64(uint32(itmp))
+ case 64:
+ utmp = uint64(uint64(itmp))
+ }
+ } else {
+ utmp, err = strconv.ParseUint(string(src), 10, dst.Type().Bits())
+ if err != nil {
+ return err
+ }
+ }
+ dst.SetUint(utmp)
+ case reflect.Float32, reflect.Float64:
+ ftmp, err := strconv.ParseFloat(string(src), dst.Type().Bits())
+ if err != nil {
+ return err
+ }
+ dst.SetFloat(ftmp)
+ case reflect.Bool:
+ value, err := strconv.ParseBool(strings.TrimSpace(string(src)))
+ if err != nil {
+ return err
+ }
+ dst.SetBool(value)
+ case reflect.String:
+ dst.SetString(string(src))
+ case reflect.Slice:
+ if len(src) == 0 {
+ // non-nil to flag presence
+ src = []byte{}
+ }
+ dst.SetBytes(src)
+ }
+ return nil
+}
+
+// unmarshalPath walks down an XML structure looking for wanted
+// paths, and calls unmarshal on them.
+// The consumed result tells whether XML elements have been consumed
+// from the Decoder until start's matching end element, or if it's
+// still untouched because start is uninteresting for sv's fields.
+func (p *Decoder) unmarshalPath(tinfo *typeInfo, sv reflect.Value, parents []string, start *StartElement) (consumed bool, err error) {
+ recurse := false
+Loop:
+ for i := range tinfo.fields {
+ finfo := &tinfo.fields[i]
+ if finfo.flags&fElement == 0 || len(finfo.parents) < len(parents) || finfo.xmlns != "" && finfo.xmlns != start.Name.Space {
+ continue
+ }
+ for j := range parents {
+ if parents[j] != finfo.parents[j] {
+ continue Loop
+ }
+ }
+ if len(finfo.parents) == len(parents) && finfo.name == start.Name.Local {
+ // It's a perfect match, unmarshal the field.
+ return true, p.unmarshal(finfo.value(sv), start)
+ }
+ if len(finfo.parents) > len(parents) && finfo.parents[len(parents)] == start.Name.Local {
+ // It's a prefix for the field. Break and recurse
+ // since it's not ok for one field path to be itself
+ // the prefix for another field path.
+ recurse = true
+
+ // We can reuse the same slice as long as we
+ // don't try to append to it.
+ parents = finfo.parents[:len(parents)+1]
+ break
+ }
+ }
+ if !recurse {
+ // We have no business with this element.
+ return false, nil
+ }
+ // The element is not a perfect match for any field, but one
+ // or more fields have the path to this element as a parent
+ // prefix. Recurse and attempt to match these.
+ for {
+ var tok Token
+ tok, err = p.Token()
+ if err != nil {
+ return true, err
+ }
+ switch t := tok.(type) {
+ case StartElement:
+ consumed2, err := p.unmarshalPath(tinfo, sv, parents, &t)
+ if err != nil {
+ return true, err
+ }
+ if !consumed2 {
+ if err := p.Skip(); err != nil {
+ return true, err
+ }
+ }
+ case EndElement:
+ return true, nil
+ }
+ }
+}
+
+// Skip reads tokens until it has consumed the end element
+// matching the most recent start element already consumed.
+// It recurs if it encounters a start element, so it can be used to
+// skip nested structures.
+// It returns nil if it finds an end element matching the start
+// element; otherwise it returns an error describing the problem.
+func (d *Decoder) Skip() error {
+ for {
+ tok, err := d.Token()
+ if err != nil {
+ return err
+ }
+ switch tok.(type) {
+ case StartElement:
+ if err := d.Skip(); err != nil {
+ return err
+ }
+ case EndElement:
+ return nil
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go
new file mode 100644
index 00000000..086e83b6
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go
@@ -0,0 +1,366 @@
+// 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 xml
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+ "sync"
+)
+
+// typeInfo holds details for the xml representation of a type.
+type typeInfo struct {
+ xmlname *fieldInfo
+ fields []fieldInfo
+}
+
+// fieldInfo holds details for the xml representation of a single field.
+type fieldInfo struct {
+ idx []int
+ name string
+ xmlns string
+ flags fieldFlags
+ parents []string
+}
+
+type fieldFlags int
+
+const (
+ fElement fieldFlags = 1 << iota
+ fAttr
+ fCharData
+ fInnerXml
+ fComment
+ fAny
+
+ fOmitEmpty
+ fTypeAttr
+
+ fMode = fElement | fAttr | fCharData | fInnerXml | fComment | fAny
+)
+
+var tinfoMap = make(map[reflect.Type]*typeInfo)
+var tinfoLock sync.RWMutex
+
+var nameType = reflect.TypeOf(Name{})
+
+// getTypeInfo returns the typeInfo structure with details necessary
+// for marshalling and unmarshalling typ.
+func getTypeInfo(typ reflect.Type) (*typeInfo, error) {
+ tinfoLock.RLock()
+ tinfo, ok := tinfoMap[typ]
+ tinfoLock.RUnlock()
+ if ok {
+ return tinfo, nil
+ }
+ tinfo = &typeInfo{}
+ if typ.Kind() == reflect.Struct && typ != nameType {
+ n := typ.NumField()
+ for i := 0; i < n; i++ {
+ f := typ.Field(i)
+ if f.PkgPath != "" || f.Tag.Get("xml") == "-" {
+ continue // Private field
+ }
+
+ // For embedded structs, embed its fields.
+ if f.Anonymous {
+ t := f.Type
+ if t.Kind() == reflect.Ptr {
+ t = t.Elem()
+ }
+ if t.Kind() == reflect.Struct {
+ inner, err := getTypeInfo(t)
+ if err != nil {
+ return nil, err
+ }
+ if tinfo.xmlname == nil {
+ tinfo.xmlname = inner.xmlname
+ }
+ for _, finfo := range inner.fields {
+ finfo.idx = append([]int{i}, finfo.idx...)
+ if err := addFieldInfo(typ, tinfo, &finfo); err != nil {
+ return nil, err
+ }
+ }
+ continue
+ }
+ }
+
+ finfo, err := structFieldInfo(typ, &f)
+ if err != nil {
+ return nil, err
+ }
+
+ if f.Name == "XMLName" {
+ tinfo.xmlname = finfo
+ continue
+ }
+
+ // Add the field if it doesn't conflict with other fields.
+ if err := addFieldInfo(typ, tinfo, finfo); err != nil {
+ return nil, err
+ }
+ }
+ }
+ tinfoLock.Lock()
+ tinfoMap[typ] = tinfo
+ tinfoLock.Unlock()
+ return tinfo, nil
+}
+
+// structFieldInfo builds and returns a fieldInfo for f.
+func structFieldInfo(typ reflect.Type, f *reflect.StructField) (*fieldInfo, error) {
+ finfo := &fieldInfo{idx: f.Index}
+
+ // Split the tag from the xml namespace if necessary.
+ tag := f.Tag.Get("xml")
+ if i := strings.Index(tag, " "); i >= 0 {
+ finfo.xmlns, tag = tag[:i], tag[i+1:]
+ }
+
+ // Parse flags.
+ tokens := strings.Split(tag, ",")
+ if len(tokens) == 1 {
+ finfo.flags = fElement
+ } else {
+ tag = tokens[0]
+ for _, flag := range tokens[1:] {
+ switch flag {
+ case "attr":
+ finfo.flags |= fAttr
+ case "chardata":
+ finfo.flags |= fCharData
+ case "innerxml":
+ finfo.flags |= fInnerXml
+ case "comment":
+ finfo.flags |= fComment
+ case "any":
+ finfo.flags |= fAny
+ case "omitempty":
+ finfo.flags |= fOmitEmpty
+ case "typeattr":
+ finfo.flags |= fTypeAttr
+ }
+ }
+
+ // Validate the flags used.
+ valid := true
+ switch mode := finfo.flags & fMode; mode {
+ case 0:
+ finfo.flags |= fElement
+ case fAttr, fCharData, fInnerXml, fComment, fAny:
+ if f.Name == "XMLName" || tag != "" && mode != fAttr {
+ valid = false
+ }
+ default:
+ // This will also catch multiple modes in a single field.
+ valid = false
+ }
+ if finfo.flags&fMode == fAny {
+ finfo.flags |= fElement
+ }
+ if finfo.flags&fOmitEmpty != 0 && finfo.flags&(fElement|fAttr) == 0 {
+ valid = false
+ }
+ if !valid {
+ return nil, fmt.Errorf("xml: invalid tag in field %s of type %s: %q",
+ f.Name, typ, f.Tag.Get("xml"))
+ }
+ }
+
+ // Use of xmlns without a name is not allowed.
+ if finfo.xmlns != "" && tag == "" {
+ return nil, fmt.Errorf("xml: namespace without name in field %s of type %s: %q",
+ f.Name, typ, f.Tag.Get("xml"))
+ }
+
+ if f.Name == "XMLName" {
+ // The XMLName field records the XML element name. Don't
+ // process it as usual because its name should default to
+ // empty rather than to the field name.
+ finfo.name = tag
+ return finfo, nil
+ }
+
+ if tag == "" {
+ // If the name part of the tag is completely empty, get
+ // default from XMLName of underlying struct if feasible,
+ // or field name otherwise.
+ if xmlname := lookupXMLName(f.Type); xmlname != nil {
+ finfo.xmlns, finfo.name = xmlname.xmlns, xmlname.name
+ } else {
+ finfo.name = f.Name
+ }
+ return finfo, nil
+ }
+
+ // Prepare field name and parents.
+ parents := strings.Split(tag, ">")
+ if parents[0] == "" {
+ parents[0] = f.Name
+ }
+ if parents[len(parents)-1] == "" {
+ return nil, fmt.Errorf("xml: trailing '>' in field %s of type %s", f.Name, typ)
+ }
+ finfo.name = parents[len(parents)-1]
+ if len(parents) > 1 {
+ if (finfo.flags & fElement) == 0 {
+ return nil, fmt.Errorf("xml: %s chain not valid with %s flag", tag, strings.Join(tokens[1:], ","))
+ }
+ finfo.parents = parents[:len(parents)-1]
+ }
+
+ // If the field type has an XMLName field, the names must match
+ // so that the behavior of both marshalling and unmarshalling
+ // is straightforward and unambiguous.
+ if finfo.flags&fElement != 0 {
+ ftyp := f.Type
+ xmlname := lookupXMLName(ftyp)
+ if xmlname != nil && xmlname.name != finfo.name {
+ return nil, fmt.Errorf("xml: name %q in tag of %s.%s conflicts with name %q in %s.XMLName",
+ finfo.name, typ, f.Name, xmlname.name, ftyp)
+ }
+ }
+ return finfo, nil
+}
+
+// lookupXMLName returns the fieldInfo for typ's XMLName field
+// in case it exists and has a valid xml field tag, otherwise
+// it returns nil.
+func lookupXMLName(typ reflect.Type) (xmlname *fieldInfo) {
+ for typ.Kind() == reflect.Ptr {
+ typ = typ.Elem()
+ }
+ if typ.Kind() != reflect.Struct {
+ return nil
+ }
+ for i, n := 0, typ.NumField(); i < n; i++ {
+ f := typ.Field(i)
+ if f.Name != "XMLName" {
+ continue
+ }
+ finfo, err := structFieldInfo(typ, &f)
+ if finfo.name != "" && err == nil {
+ return finfo
+ }
+ // Also consider errors as a non-existent field tag
+ // and let getTypeInfo itself report the error.
+ break
+ }
+ return nil
+}
+
+func min(a, b int) int {
+ if a <= b {
+ return a
+ }
+ return b
+}
+
+// addFieldInfo adds finfo to tinfo.fields if there are no
+// conflicts, or if conflicts arise from previous fields that were
+// obtained from deeper embedded structures than finfo. In the latter
+// case, the conflicting entries are dropped.
+// A conflict occurs when the path (parent + name) to a field is
+// itself a prefix of another path, or when two paths match exactly.
+// It is okay for field paths to share a common, shorter prefix.
+func addFieldInfo(typ reflect.Type, tinfo *typeInfo, newf *fieldInfo) error {
+ var conflicts []int
+Loop:
+ // First, figure all conflicts. Most working code will have none.
+ for i := range tinfo.fields {
+ oldf := &tinfo.fields[i]
+ if oldf.flags&fMode != newf.flags&fMode {
+ continue
+ }
+ if oldf.xmlns != "" && newf.xmlns != "" && oldf.xmlns != newf.xmlns {
+ continue
+ }
+ minl := min(len(newf.parents), len(oldf.parents))
+ for p := 0; p < minl; p++ {
+ if oldf.parents[p] != newf.parents[p] {
+ continue Loop
+ }
+ }
+ if len(oldf.parents) > len(newf.parents) {
+ if oldf.parents[len(newf.parents)] == newf.name {
+ conflicts = append(conflicts, i)
+ }
+ } else if len(oldf.parents) < len(newf.parents) {
+ if newf.parents[len(oldf.parents)] == oldf.name {
+ conflicts = append(conflicts, i)
+ }
+ } else {
+ if newf.name == oldf.name {
+ conflicts = append(conflicts, i)
+ }
+ }
+ }
+ // Without conflicts, add the new field and return.
+ if conflicts == nil {
+ tinfo.fields = append(tinfo.fields, *newf)
+ return nil
+ }
+
+ // If any conflict is shallower, ignore the new field.
+ // This matches the Go field resolution on embedding.
+ for _, i := range conflicts {
+ if len(tinfo.fields[i].idx) < len(newf.idx) {
+ return nil
+ }
+ }
+
+ // Otherwise, if any of them is at the same depth level, it's an error.
+ for _, i := range conflicts {
+ oldf := &tinfo.fields[i]
+ if len(oldf.idx) == len(newf.idx) {
+ f1 := typ.FieldByIndex(oldf.idx)
+ f2 := typ.FieldByIndex(newf.idx)
+ return &TagPathError{typ, f1.Name, f1.Tag.Get("xml"), f2.Name, f2.Tag.Get("xml")}
+ }
+ }
+
+ // Otherwise, the new field is shallower, and thus takes precedence,
+ // so drop the conflicting fields from tinfo and append the new one.
+ for c := len(conflicts) - 1; c >= 0; c-- {
+ i := conflicts[c]
+ copy(tinfo.fields[i:], tinfo.fields[i+1:])
+ tinfo.fields = tinfo.fields[:len(tinfo.fields)-1]
+ }
+ tinfo.fields = append(tinfo.fields, *newf)
+ return nil
+}
+
+// A TagPathError represents an error in the unmarshalling process
+// caused by the use of field tags with conflicting paths.
+type TagPathError struct {
+ Struct reflect.Type
+ Field1, Tag1 string
+ Field2, Tag2 string
+}
+
+func (e *TagPathError) Error() string {
+ return fmt.Sprintf("%s field %q with tag %q conflicts with field %q with tag %q", e.Struct, e.Field1, e.Tag1, e.Field2, e.Tag2)
+}
+
+// value returns v's field value corresponding to finfo.
+// It's equivalent to v.FieldByIndex(finfo.idx), but initializes
+// and dereferences pointers as necessary.
+func (finfo *fieldInfo) value(v reflect.Value) reflect.Value {
+ for i, x := range finfo.idx {
+ if i > 0 {
+ t := v.Type()
+ if t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct {
+ if v.IsNil() {
+ v.Set(reflect.New(v.Type().Elem()))
+ }
+ v = v.Elem()
+ }
+ }
+ v = v.Field(x)
+ }
+ return v
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/xml.go b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/xml.go
new file mode 100644
index 00000000..6c6c5c82
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/github.com/vmware/govmomi/vim25/xml/xml.go
@@ -0,0 +1,1939 @@
+// 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 xml implements a simple XML 1.0 parser that
+// understands XML name spaces.
+package xml
+
+// References:
+// Annotated XML spec: http://www.xml.com/axml/testaxml.htm
+// XML name spaces: http://www.w3.org/TR/REC-xml-names/
+
+// TODO(rsc):
+// Test error handling.
+
+import (
+ "bufio"
+ "bytes"
+ "errors"
+ "fmt"
+ "io"
+ "reflect"
+ "strconv"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+)
+
+// A SyntaxError represents a syntax error in the XML input stream.
+type SyntaxError struct {
+ Msg string
+ Line int
+}
+
+func (e *SyntaxError) Error() string {
+ return "XML syntax error on line " + strconv.Itoa(e.Line) + ": " + e.Msg
+}
+
+// A Name represents an XML name (Local) annotated
+// with a name space identifier (Space).
+// In tokens returned by Decoder.Token, the Space identifier
+// is given as a canonical URL, not the short prefix used
+// in the document being parsed.
+type Name struct {
+ Space, Local string
+}
+
+// An Attr represents an attribute in an XML element (Name=Value).
+type Attr struct {
+ Name Name
+ Value string
+}
+
+// A Token is an interface holding one of the token types:
+// StartElement, EndElement, CharData, Comment, ProcInst, or Directive.
+type Token interface{}
+
+// A StartElement represents an XML start element.
+type StartElement struct {
+ Name Name
+ Attr []Attr
+}
+
+func (e StartElement) Copy() StartElement {
+ attrs := make([]Attr, len(e.Attr))
+ copy(attrs, e.Attr)
+ e.Attr = attrs
+ return e
+}
+
+// End returns the corresponding XML end element.
+func (e StartElement) End() EndElement {
+ return EndElement{e.Name}
+}
+
+// An EndElement represents an XML end element.
+type EndElement struct {
+ Name Name
+}
+
+// A CharData represents XML character data (raw text),
+// in which XML escape sequences have been replaced by
+// the characters they represent.
+type CharData []byte
+
+func makeCopy(b []byte) []byte {
+ b1 := make([]byte, len(b))
+ copy(b1, b)
+ return b1
+}
+
+func (c CharData) Copy() CharData { return CharData(makeCopy(c)) }
+
+// A Comment represents an XML comment of the form <!--comment-->.
+// The bytes do not include the <!-- and --> comment markers.
+type Comment []byte
+
+func (c Comment) Copy() Comment { return Comment(makeCopy(c)) }
+
+// A ProcInst represents an XML processing instruction of the form <?target inst?>
+type ProcInst struct {
+ Target string
+ Inst []byte
+}
+
+func (p ProcInst) Copy() ProcInst {
+ p.Inst = makeCopy(p.Inst)
+ return p
+}
+
+// A Directive represents an XML directive of the form <!text>.
+// The bytes do not include the <! and > markers.
+type Directive []byte
+
+func (d Directive) Copy() Directive { return Directive(makeCopy(d)) }
+
+// CopyToken returns a copy of a Token.
+func CopyToken(t Token) Token {
+ switch v := t.(type) {
+ case CharData:
+ return v.Copy()
+ case Comment:
+ return v.Copy()
+ case Directive:
+ return v.Copy()
+ case ProcInst:
+ return v.Copy()
+ case StartElement:
+ return v.Copy()
+ }
+ return t
+}
+
+// A Decoder represents an XML parser reading a particular input stream.
+// The parser assumes that its input is encoded in UTF-8.
+type Decoder struct {
+ // Strict defaults to true, enforcing the requirements
+ // of the XML specification.
+ // If set to false, the parser allows input containing common
+ // mistakes:
+ // * If an element is missing an end tag, the parser invents
+ // end tags as necessary to keep the return values from Token
+ // properly balanced.
+ // * In attribute values and character data, unknown or malformed
+ // character entities (sequences beginning with &) are left alone.
+ //
+ // Setting:
+ //
+ // d.Strict = false;
+ // d.AutoClose = HTMLAutoClose;
+ // d.Entity = HTMLEntity
+ //
+ // creates a parser that can handle typical HTML.
+ //
+ // Strict mode does not enforce the requirements of the XML name spaces TR.
+ // In particular it does not reject name space tags using undefined prefixes.
+ // Such tags are recorded with the unknown prefix as the name space URL.
+ Strict bool
+
+ // When Strict == false, AutoClose indicates a set of elements to
+ // consider closed immediately after they are opened, regardless
+ // of whether an end element is present.
+ AutoClose []string
+
+ // Entity can be used to map non-standard entity names to string replacements.
+ // The parser behaves as if these standard mappings are present in the map,
+ // regardless of the actual map content:
+ //
+ // "lt": "<",
+ // "gt": ">",
+ // "amp": "&",
+ // "apos": "'",
+ // "quot": `"`,
+ Entity map[string]string
+
+ // CharsetReader, if non-nil, defines a function to generate
+ // charset-conversion readers, converting from the provided
+ // non-UTF-8 charset into UTF-8. If CharsetReader is nil or
+ // returns an error, parsing stops with an error. One of the
+ // the CharsetReader's result values must be non-nil.
+ CharsetReader func(charset string, input io.Reader) (io.Reader, error)
+
+ // DefaultSpace sets the default name space used for unadorned tags,
+ // as if the entire XML stream were wrapped in an element containing
+ // the attribute xmlns="DefaultSpace".
+ DefaultSpace string
+
+ // TypeFunc is used to map type names to actual types.
+ TypeFunc func(string) (reflect.Type, bool)
+
+ r io.ByteReader
+ buf bytes.Buffer
+ saved *bytes.Buffer
+ stk *stack
+ free *stack
+ needClose bool
+ toClose Name
+ nextToken Token
+ nextByte int
+ ns map[string]string
+ err error
+ line int
+ unmarshalDepth int
+}
+
+// NewDecoder creates a new XML parser reading from r.
+// If r does not implement io.ByteReader, NewDecoder will
+// do its own buffering.
+func NewDecoder(r io.Reader) *Decoder {
+ d := &Decoder{
+ ns: make(map[string]string),
+ nextByte: -1,
+ line: 1,
+ Strict: true,
+ }
+ d.switchToReader(r)
+ return d
+}
+
+// Token returns the next XML token in the input stream.
+// At the end of the input stream, Token returns nil, io.EOF.
+//
+// Slices of bytes in the returned token data refer to the
+// parser's internal buffer and remain valid only until the next
+// call to Token. To acquire a copy of the bytes, call CopyToken
+// or the token's Copy method.
+//
+// Token expands self-closing elements such as <br/>
+// into separate start and end elements returned by successive calls.
+//
+// Token guarantees that the StartElement and EndElement
+// tokens it returns are properly nested and matched:
+// if Token encounters an unexpected end element,
+// it will return an error.
+//
+// Token implements XML name spaces as described by
+// http://www.w3.org/TR/REC-xml-names/. Each of the
+// Name structures contained in the Token has the Space
+// set to the URL identifying its name space when known.
+// If Token encounters an unrecognized name space prefix,
+// it uses the prefix as the Space rather than report an error.
+func (d *Decoder) Token() (t Token, err error) {
+ if d.stk != nil && d.stk.kind == stkEOF {
+ err = io.EOF
+ return
+ }
+ if d.nextToken != nil {
+ t = d.nextToken
+ d.nextToken = nil
+ } else if t, err = d.rawToken(); err != nil {
+ return
+ }
+
+ if !d.Strict {
+ if t1, ok := d.autoClose(t); ok {
+ d.nextToken = t
+ t = t1
+ }
+ }
+ switch t1 := t.(type) {
+ case StartElement:
+ // In XML name spaces, the translations listed in the
+ // attributes apply to the element name and
+ // to the other attribute names, so process
+ // the translations first.
+ for _, a := range t1.Attr {
+ if a.Name.Space == "xmlns" {
+ v, ok := d.ns[a.Name.Local]
+ d.pushNs(a.Name.Local, v, ok)
+ d.ns[a.Name.Local] = a.Value
+ }
+ if a.Name.Space == "" && a.Name.Local == "xmlns" {
+ // Default space for untagged names
+ v, ok := d.ns[""]
+ d.pushNs("", v, ok)
+ d.ns[""] = a.Value
+ }
+ }
+
+ d.translate(&t1.Name, true)
+ for i := range t1.Attr {
+ d.translate(&t1.Attr[i].Name, false)
+ }
+ d.pushElement(t1.Name)
+ t = t1
+
+ case EndElement:
+ d.translate(&t1.Name, true)
+ if !d.popElement(&t1) {
+ return nil, d.err
+ }
+ t = t1
+ }
+ return
+}
+
+const xmlURL = "http://www.w3.org/XML/1998/namespace"
+
+// Apply name space translation to name n.
+// The default name space (for Space=="")
+// applies only to element names, not to attribute names.
+func (d *Decoder) translate(n *Name, isElementName bool) {
+ switch {
+ case n.Space == "xmlns":
+ return
+ case n.Space == "" && !isElementName:
+ return
+ case n.Space == "xml":
+ n.Space = xmlURL
+ case n.Space == "" && n.Local == "xmlns":
+ return
+ }
+ if v, ok := d.ns[n.Space]; ok {
+ n.Space = v
+ } else if n.Space == "" {
+ n.Space = d.DefaultSpace
+ }
+}
+
+func (d *Decoder) switchToReader(r io.Reader) {
+ // Get efficient byte at a time reader.
+ // Assume that if reader has its own
+ // ReadByte, it's efficient enough.
+ // Otherwise, use bufio.
+ if rb, ok := r.(io.ByteReader); ok {
+ d.r = rb
+ } else {
+ d.r = bufio.NewReader(r)
+ }
+}
+
+// Parsing state - stack holds old name space translations
+// and the current set of open elements. The translations to pop when
+// ending a given tag are *below* it on the stack, which is
+// more work but forced on us by XML.
+type stack struct {
+ next *stack
+ kind int
+ name Name
+ ok bool
+}
+
+const (
+ stkStart = iota
+ stkNs
+ stkEOF
+)
+
+func (d *Decoder) push(kind int) *stack {
+ s := d.free
+ if s != nil {
+ d.free = s.next
+ } else {
+ s = new(stack)
+ }
+ s.next = d.stk
+ s.kind = kind
+ d.stk = s
+ return s
+}
+
+func (d *Decoder) pop() *stack {
+ s := d.stk
+ if s != nil {
+ d.stk = s.next
+ s.next = d.free
+ d.free = s
+ }
+ return s
+}
+
+// Record that after the current element is finished
+// (that element is already pushed on the stack)
+// Token should return EOF until popEOF is called.
+func (d *Decoder) pushEOF() {
+ // Walk down stack to find Start.
+ // It might not be the top, because there might be stkNs
+ // entries above it.
+ start := d.stk
+ for start.kind != stkStart {
+ start = start.next
+ }
+ // The stkNs entries below a start are associated with that
+ // element too; skip over them.
+ for start.next != nil && start.next.kind == stkNs {
+ start = start.next
+ }
+ s := d.free
+ if s != nil {
+ d.free = s.next
+ } else {
+ s = new(stack)
+ }
+ s.kind = stkEOF
+ s.next = start.next
+ start.next = s
+}
+
+// Undo a pushEOF.
+// The element must have been finished, so the EOF should be at the top of the stack.
+func (d *Decoder) popEOF() bool {
+ if d.stk == nil || d.stk.kind != stkEOF {
+ return false
+ }
+ d.pop()
+ return true
+}
+
+// Record that we are starting an element with the given name.
+func (d *Decoder) pushElement(name Name) {
+ s := d.push(stkStart)
+ s.name = name
+}
+
+// Record that we are changing the value of ns[local].
+// The old value is url, ok.
+func (d *Decoder) pushNs(local string, url string, ok bool) {
+ s := d.push(stkNs)
+ s.name.Local = local
+ s.name.Space = url
+ s.ok = ok
+}
+
+// Creates a SyntaxError with the current line number.
+func (d *Decoder) syntaxError(msg string) error {
+ return &SyntaxError{Msg: msg, Line: d.line}
+}
+
+// Record that we are ending an element with the given name.
+// The name must match the record at the top of the stack,
+// which must be a pushElement record.
+// After popping the element, apply any undo records from
+// the stack to restore the name translations that existed
+// before we saw this element.
+func (d *Decoder) popElement(t *EndElement) bool {
+ s := d.pop()
+ name := t.Name
+ switch {
+ case s == nil || s.kind != stkStart:
+ d.err = d.syntaxError("unexpected end element </" + name.Local + ">")
+ return false
+ case s.name.Local != name.Local:
+ if !d.Strict {
+ d.needClose = true
+ d.toClose = t.Name
+ t.Name = s.name
+ return true
+ }
+ d.err = d.syntaxError("element <" + s.name.Local + "> closed by </" + name.Local + ">")
+ return false
+ case s.name.Space != name.Space:
+ d.err = d.syntaxError("element <" + s.name.Local + "> in space " + s.name.Space +
+ "closed by </" + name.Local + "> in space " + name.Space)
+ return false
+ }
+
+ // Pop stack until a Start or EOF is on the top, undoing the
+ // translations that were associated with the element we just closed.
+ for d.stk != nil && d.stk.kind != stkStart && d.stk.kind != stkEOF {
+ s := d.pop()
+ if s.ok {
+ d.ns[s.name.Local] = s.name.Space
+ } else {
+ delete(d.ns, s.name.Local)
+ }
+ }
+
+ return true
+}
+
+// If the top element on the stack is autoclosing and
+// t is not the end tag, invent the end tag.
+func (d *Decoder) autoClose(t Token) (Token, bool) {
+ if d.stk == nil || d.stk.kind != stkStart {
+ return nil, false
+ }
+ name := strings.ToLower(d.stk.name.Local)
+ for _, s := range d.AutoClose {
+ if strings.ToLower(s) == name {
+ // This one should be auto closed if t doesn't close it.
+ et, ok := t.(EndElement)
+ if !ok || et.Name.Local != name {
+ return EndElement{d.stk.name}, true
+ }
+ break
+ }
+ }
+ return nil, false
+}
+
+var errRawToken = errors.New("xml: cannot use RawToken from UnmarshalXML method")
+
+// RawToken is like Token but does not verify that
+// start and end elements match and does not translate
+// name space prefixes to their corresponding URLs.
+func (d *Decoder) RawToken() (Token, error) {
+ if d.unmarshalDepth > 0 {
+ return nil, errRawToken
+ }
+ return d.rawToken()
+}
+
+func (d *Decoder) rawToken() (Token, error) {
+ if d.err != nil {
+ return nil, d.err
+ }
+ if d.needClose {
+ // The last element we read was self-closing and
+ // we returned just the StartElement half.
+ // Return the EndElement half now.
+ d.needClose = false
+ return EndElement{d.toClose}, nil
+ }
+
+ b, ok := d.getc()
+ if !ok {
+ return nil, d.err
+ }
+
+ if b != '<' {
+ // Text section.
+ d.ungetc(b)
+ data := d.text(-1, false)
+ if data == nil {
+ return nil, d.err
+ }
+ return CharData(data), nil
+ }
+
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ switch b {
+ case '/':
+ // </: End element
+ var name Name
+ if name, ok = d.nsname(); !ok {
+ if d.err == nil {
+ d.err = d.syntaxError("expected element name after </")
+ }
+ return nil, d.err
+ }
+ d.space()
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != '>' {
+ d.err = d.syntaxError("invalid characters between </" + name.Local + " and >")
+ return nil, d.err
+ }
+ return EndElement{name}, nil
+
+ case '?':
+ // <?: Processing instruction.
+ // TODO(rsc): Should parse the <?xml declaration to make sure the version is 1.0.
+ var target string
+ if target, ok = d.name(); !ok {
+ if d.err == nil {
+ d.err = d.syntaxError("expected target name after <?")
+ }
+ return nil, d.err
+ }
+ d.space()
+ d.buf.Reset()
+ var b0 byte
+ for {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ d.buf.WriteByte(b)
+ if b0 == '?' && b == '>' {
+ break
+ }
+ b0 = b
+ }
+ data := d.buf.Bytes()
+ data = data[0 : len(data)-2] // chop ?>
+
+ if target == "xml" {
+ enc := procInstEncoding(string(data))
+ if enc != "" && enc != "utf-8" && enc != "UTF-8" {
+ if d.CharsetReader == nil {
+ d.err = fmt.Errorf("xml: encoding %q declared but Decoder.CharsetReader is nil", enc)
+ return nil, d.err
+ }
+ newr, err := d.CharsetReader(enc, d.r.(io.Reader))
+ if err != nil {
+ d.err = fmt.Errorf("xml: opening charset %q: %v", enc, err)
+ return nil, d.err
+ }
+ if newr == nil {
+ panic("CharsetReader returned a nil Reader for charset " + enc)
+ }
+ d.switchToReader(newr)
+ }
+ }
+ return ProcInst{target, data}, nil
+
+ case '!':
+ // <!: Maybe comment, maybe CDATA.
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ switch b {
+ case '-': // <!-
+ // Probably <!-- for a comment.
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != '-' {
+ d.err = d.syntaxError("invalid sequence <!- not part of <!--")
+ return nil, d.err
+ }
+ // Look for terminator.
+ d.buf.Reset()
+ var b0, b1 byte
+ for {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ d.buf.WriteByte(b)
+ if b0 == '-' && b1 == '-' && b == '>' {
+ break
+ }
+ b0, b1 = b1, b
+ }
+ data := d.buf.Bytes()
+ data = data[0 : len(data)-3] // chop -->
+ return Comment(data), nil
+
+ case '[': // <![
+ // Probably <![CDATA[.
+ for i := 0; i < 6; i++ {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != "CDATA["[i] {
+ d.err = d.syntaxError("invalid <![ sequence")
+ return nil, d.err
+ }
+ }
+ // Have <![CDATA[. Read text until ]]>.
+ data := d.text(-1, true)
+ if data == nil {
+ return nil, d.err
+ }
+ return CharData(data), nil
+ }
+
+ // Probably a directive: <!DOCTYPE ...>, <!ENTITY ...>, etc.
+ // We don't care, but accumulate for caller. Quoted angle
+ // brackets do not count for nesting.
+ d.buf.Reset()
+ d.buf.WriteByte(b)
+ inquote := uint8(0)
+ depth := 0
+ for {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if inquote == 0 && b == '>' && depth == 0 {
+ break
+ }
+ HandleB:
+ d.buf.WriteByte(b)
+ switch {
+ case b == inquote:
+ inquote = 0
+
+ case inquote != 0:
+ // in quotes, no special action
+
+ case b == '\'' || b == '"':
+ inquote = b
+
+ case b == '>' && inquote == 0:
+ depth--
+
+ case b == '<' && inquote == 0:
+ // Look for <!-- to begin comment.
+ s := "!--"
+ for i := 0; i < len(s); i++ {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != s[i] {
+ for j := 0; j < i; j++ {
+ d.buf.WriteByte(s[j])
+ }
+ depth++
+ goto HandleB
+ }
+ }
+
+ // Remove < that was written above.
+ d.buf.Truncate(d.buf.Len() - 1)
+
+ // Look for terminator.
+ var b0, b1 byte
+ for {
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b0 == '-' && b1 == '-' && b == '>' {
+ break
+ }
+ b0, b1 = b1, b
+ }
+ }
+ }
+ return Directive(d.buf.Bytes()), nil
+ }
+
+ // Must be an open element like <a href="foo">
+ d.ungetc(b)
+
+ var (
+ name Name
+ empty bool
+ attr []Attr
+ )
+ if name, ok = d.nsname(); !ok {
+ if d.err == nil {
+ d.err = d.syntaxError("expected element name after <")
+ }
+ return nil, d.err
+ }
+
+ attr = make([]Attr, 0, 4)
+ for {
+ d.space()
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b == '/' {
+ empty = true
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != '>' {
+ d.err = d.syntaxError("expected /> in element")
+ return nil, d.err
+ }
+ break
+ }
+ if b == '>' {
+ break
+ }
+ d.ungetc(b)
+
+ n := len(attr)
+ if n >= cap(attr) {
+ nattr := make([]Attr, n, 2*cap(attr))
+ copy(nattr, attr)
+ attr = nattr
+ }
+ attr = attr[0 : n+1]
+ a := &attr[n]
+ if a.Name, ok = d.nsname(); !ok {
+ if d.err == nil {
+ d.err = d.syntaxError("expected attribute name in element")
+ }
+ return nil, d.err
+ }
+ d.space()
+ if b, ok = d.mustgetc(); !ok {
+ return nil, d.err
+ }
+ if b != '=' {
+ if d.Strict {
+ d.err = d.syntaxError("attribute name without = in element")
+ return nil, d.err
+ } else {
+ d.ungetc(b)
+ a.Value = a.Name.Local
+ }
+ } else {
+ d.space()
+ data := d.attrval()
+ if data == nil {
+ return nil, d.err
+ }
+ a.Value = string(data)
+ }
+ }
+ if empty {
+ d.needClose = true
+ d.toClose = name
+ }
+ return StartElement{name, attr}, nil
+}
+
+func (d *Decoder) attrval() []byte {
+ b, ok := d.mustgetc()
+ if !ok {
+ return nil
+ }
+ // Handle quoted attribute values
+ if b == '"' || b == '\'' {
+ return d.text(int(b), false)
+ }
+ // Handle unquoted attribute values for strict parsers
+ if d.Strict {
+ d.err = d.syntaxError("unquoted or missing attribute value in element")
+ return nil
+ }
+ // Handle unquoted attribute values for unstrict parsers
+ d.ungetc(b)
+ d.buf.Reset()
+ for {
+ b, ok = d.mustgetc()
+ if !ok {
+ return nil
+ }
+ // http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2
+ if 'a' <= b && b <= 'z' || 'A' <= b && b <= 'Z' ||
+ '0' <= b && b <= '9' || b == '_' || b == ':' || b == '-' {
+ d.buf.WriteByte(b)
+ } else {
+ d.ungetc(b)
+ break
+ }
+ }
+ return d.buf.Bytes()
+}
+
+// Skip spaces if any
+func (d *Decoder) space() {
+ for {
+ b, ok := d.getc()
+ if !ok {
+ return
+ }
+ switch b {
+ case ' ', '\r', '\n', '\t':
+ default:
+ d.ungetc(b)
+ return
+ }
+ }
+}
+
+// Read a single byte.
+// If there is no byte to read, return ok==false
+// and leave the error in d.err.
+// Maintain line number.
+func (d *Decoder) getc() (b byte, ok bool) {
+ if d.err != nil {
+ return 0, false
+ }
+ if d.nextByte >= 0 {
+ b = byte(d.nextByte)
+ d.nextByte = -1
+ } else {
+ b, d.err = d.r.ReadByte()
+ if d.err != nil {
+ return 0, false
+ }
+ if d.saved != nil {
+ d.saved.WriteByte(b)
+ }
+ }
+ if b == '\n' {
+ d.line++
+ }
+ return b, true
+}
+
+// Return saved offset.
+// If we did ungetc (nextByte >= 0), have to back up one.
+func (d *Decoder) savedOffset() int {
+ n := d.saved.Len()
+ if d.nextByte >= 0 {
+ n--
+ }
+ return n
+}
+
+// Must read a single byte.
+// If there is no byte to read,
+// set d.err to SyntaxError("unexpected EOF")
+// and return ok==false
+func (d *Decoder) mustgetc() (b byte, ok bool) {
+ if b, ok = d.getc(); !ok {
+ if d.err == io.EOF {
+ d.err = d.syntaxError("unexpected EOF")
+ }
+ }
+ return
+}
+
+// Unread a single byte.
+func (d *Decoder) ungetc(b byte) {
+ if b == '\n' {
+ d.line--
+ }
+ d.nextByte = int(b)
+}
+
+var entity = map[string]int{
+ "lt": '<',
+ "gt": '>',
+ "amp": '&',
+ "apos": '\'',
+ "quot": '"',
+}
+
+// Read plain text section (XML calls it character data).
+// If quote >= 0, we are in a quoted string and need to find the matching quote.
+// If cdata == true, we are in a <![CDATA[ section and need to find ]]>.
+// On failure return nil and leave the error in d.err.
+func (d *Decoder) text(quote int, cdata bool) []byte {
+ var b0, b1 byte
+ var trunc int
+ d.buf.Reset()
+Input:
+ for {
+ b, ok := d.getc()
+ if !ok {
+ if cdata {
+ if d.err == io.EOF {
+ d.err = d.syntaxError("unexpected EOF in CDATA section")
+ }
+ return nil
+ }
+ break Input
+ }
+
+ // <![CDATA[ section ends with ]]>.
+ // It is an error for ]]> to appear in ordinary text.
+ if b0 == ']' && b1 == ']' && b == '>' {
+ if cdata {
+ trunc = 2
+ break Input
+ }
+ d.err = d.syntaxError("unescaped ]]> not in CDATA section")
+ return nil
+ }
+
+ // Stop reading text if we see a <.
+ if b == '<' && !cdata {
+ if quote >= 0 {
+ d.err = d.syntaxError("unescaped < inside quoted string")
+ return nil
+ }
+ d.ungetc('<')
+ break Input
+ }
+ if quote >= 0 && b == byte(quote) {
+ break Input
+ }
+ if b == '&' && !cdata {
+ // Read escaped character expression up to semicolon.
+ // XML in all its glory allows a document to define and use
+ // its own character names with <!ENTITY ...> directives.
+ // Parsers are required to recognize lt, gt, amp, apos, and quot
+ // even if they have not been declared.
+ before := d.buf.Len()
+ d.buf.WriteByte('&')
+ var ok bool
+ var text string
+ var haveText bool
+ if b, ok = d.mustgetc(); !ok {
+ return nil
+ }
+ if b == '#' {
+ d.buf.WriteByte(b)
+ if b, ok = d.mustgetc(); !ok {
+ return nil
+ }
+ base := 10
+ if b == 'x' {
+ base = 16
+ d.buf.WriteByte(b)
+ if b, ok = d.mustgetc(); !ok {
+ return nil
+ }
+ }
+ start := d.buf.Len()
+ for '0' <= b && b <= '9' ||
+ base == 16 && 'a' <= b && b <= 'f' ||
+ base == 16 && 'A' <= b && b <= 'F' {
+ d.buf.WriteByte(b)
+ if b, ok = d.mustgetc(); !ok {
+ return nil
+ }
+ }
+ if b != ';' {
+ d.ungetc(b)
+ } else {
+ s := string(d.buf.Bytes()[start:])
+ d.buf.WriteByte(';')
+ n, err := strconv.ParseUint(s, base, 64)
+ if err == nil && n <= unicode.MaxRune {
+ text = string(n)
+ haveText = true
+ }
+ }
+ } else {
+ d.ungetc(b)
+ if !d.readName() {
+ if d.err != nil {
+ return nil
+ }
+ ok = false
+ }
+ if b, ok = d.mustgetc(); !ok {
+ return nil
+ }
+ if b != ';' {
+ d.ungetc(b)
+ } else {
+ name := d.buf.Bytes()[before+1:]
+ d.buf.WriteByte(';')
+ if isName(name) {
+ s := string(name)
+ if r, ok := entity[s]; ok {
+ text = string(r)
+ haveText = true
+ } else if d.Entity != nil {
+ text, haveText = d.Entity[s]
+ }
+ }
+ }
+ }
+
+ if haveText {
+ d.buf.Truncate(before)
+ d.buf.Write([]byte(text))
+ b0, b1 = 0, 0
+ continue Input
+ }
+ if !d.Strict {
+ b0, b1 = 0, 0
+ continue Input
+ }
+ ent := string(d.buf.Bytes()[before:])
+ if ent[len(ent)-1] != ';' {
+ ent += " (no semicolon)"
+ }
+ d.err = d.syntaxError("invalid character entity " + ent)
+ return nil
+ }
+
+ // We must rewrite unescaped \r and \r\n into \n.
+ if b == '\r' {
+ d.buf.WriteByte('\n')
+ } else if b1 == '\r' && b == '\n' {
+ // Skip \r\n--we already wrote \n.
+ } else {
+ d.buf.WriteByte(b)
+ }
+
+ b0, b1 = b1, b
+ }
+ data := d.buf.Bytes()
+ data = data[0 : len(data)-trunc]
+
+ // Inspect each rune for being a disallowed character.
+ buf := data
+ for len(buf) > 0 {
+ r, size := utf8.DecodeRune(buf)
+ if r == utf8.RuneError && size == 1 {
+ d.err = d.syntaxError("invalid UTF-8")
+ return nil
+ }
+ buf = buf[size:]
+ if !isInCharacterRange(r) {
+ d.err = d.syntaxError(fmt.Sprintf("illegal character code %U", r))
+ return nil
+ }
+ }
+
+ return data
+}
+
+// Decide whether the given rune is in the XML Character Range, per
+// the Char production of http://www.xml.com/axml/testaxml.htm,
+// Section 2.2 Characters.
+func isInCharacterRange(r rune) (inrange bool) {
+ return r == 0x09 ||
+ r == 0x0A ||
+ r == 0x0D ||
+ r >= 0x20 && r <= 0xDF77 ||
+ r >= 0xE000 && r <= 0xFFFD ||
+ r >= 0x10000 && r <= 0x10FFFF
+}
+
+// Get name space name: name with a : stuck in the middle.
+// The part before the : is the name space identifier.
+func (d *Decoder) nsname() (name Name, ok bool) {
+ s, ok := d.name()
+ if !ok {
+ return
+ }
+ i := strings.Index(s, ":")
+ if i < 0 {
+ name.Local = s
+ } else {
+ name.Space = s[0:i]
+ name.Local = s[i+1:]
+ }
+ return name, true
+}
+
+// Get name: /first(first|second)*/
+// Do not set d.err if the name is missing (unless unexpected EOF is received):
+// let the caller provide better context.
+func (d *Decoder) name() (s string, ok bool) {
+ d.buf.Reset()
+ if !d.readName() {
+ return "", false
+ }
+
+ // Now we check the characters.
+ s = d.buf.String()
+ if !isName([]byte(s)) {
+ d.err = d.syntaxError("invalid XML name: " + s)
+ return "", false
+ }
+ return s, true
+}
+
+// Read a name and append its bytes to d.buf.
+// The name is delimited by any single-byte character not valid in names.
+// All multi-byte characters are accepted; the caller must check their validity.
+func (d *Decoder) readName() (ok bool) {
+ var b byte
+ if b, ok = d.mustgetc(); !ok {
+ return
+ }
+ if b < utf8.RuneSelf && !isNameByte(b) {
+ d.ungetc(b)
+ return false
+ }
+ d.buf.WriteByte(b)
+
+ for {
+ if b, ok = d.mustgetc(); !ok {
+ return
+ }
+ if b < utf8.RuneSelf && !isNameByte(b) {
+ d.ungetc(b)
+ break
+ }
+ d.buf.WriteByte(b)
+ }
+ return true
+}
+
+func isNameByte(c byte) bool {
+ return 'A' <= c && c <= 'Z' ||
+ 'a' <= c && c <= 'z' ||
+ '0' <= c && c <= '9' ||
+ c == '_' || c == ':' || c == '.' || c == '-'
+}
+
+func isName(s []byte) bool {
+ if len(s) == 0 {
+ return false
+ }
+ c, n := utf8.DecodeRune(s)
+ if c == utf8.RuneError && n == 1 {
+ return false
+ }
+ if !unicode.Is(first, c) {
+ return false
+ }
+ for n < len(s) {
+ s = s[n:]
+ c, n = utf8.DecodeRune(s)
+ if c == utf8.RuneError && n == 1 {
+ return false
+ }
+ if !unicode.Is(first, c) && !unicode.Is(second, c) {
+ return false
+ }
+ }
+ return true
+}
+
+func isNameString(s string) bool {
+ if len(s) == 0 {
+ return false
+ }
+ c, n := utf8.DecodeRuneInString(s)
+ if c == utf8.RuneError && n == 1 {
+ return false
+ }
+ if !unicode.Is(first, c) {
+ return false
+ }
+ for n < len(s) {
+ s = s[n:]
+ c, n = utf8.DecodeRuneInString(s)
+ if c == utf8.RuneError && n == 1 {
+ return false
+ }
+ if !unicode.Is(first, c) && !unicode.Is(second, c) {
+ return false
+ }
+ }
+ return true
+}
+
+// These tables were generated by cut and paste from Appendix B of
+// the XML spec at http://www.xml.com/axml/testaxml.htm
+// and then reformatting. First corresponds to (Letter | '_' | ':')
+// and second corresponds to NameChar.
+
+var first = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x003A, 0x003A, 1},
+ {0x0041, 0x005A, 1},
+ {0x005F, 0x005F, 1},
+ {0x0061, 0x007A, 1},
+ {0x00C0, 0x00D6, 1},
+ {0x00D8, 0x00F6, 1},
+ {0x00F8, 0x00FF, 1},
+ {0x0100, 0x0131, 1},
+ {0x0134, 0x013E, 1},
+ {0x0141, 0x0148, 1},
+ {0x014A, 0x017E, 1},
+ {0x0180, 0x01C3, 1},
+ {0x01CD, 0x01F0, 1},
+ {0x01F4, 0x01F5, 1},
+ {0x01FA, 0x0217, 1},
+ {0x0250, 0x02A8, 1},
+ {0x02BB, 0x02C1, 1},
+ {0x0386, 0x0386, 1},
+ {0x0388, 0x038A, 1},
+ {0x038C, 0x038C, 1},
+ {0x038E, 0x03A1, 1},
+ {0x03A3, 0x03CE, 1},
+ {0x03D0, 0x03D6, 1},
+ {0x03DA, 0x03E0, 2},
+ {0x03E2, 0x03F3, 1},
+ {0x0401, 0x040C, 1},
+ {0x040E, 0x044F, 1},
+ {0x0451, 0x045C, 1},
+ {0x045E, 0x0481, 1},
+ {0x0490, 0x04C4, 1},
+ {0x04C7, 0x04C8, 1},
+ {0x04CB, 0x04CC, 1},
+ {0x04D0, 0x04EB, 1},
+ {0x04EE, 0x04F5, 1},
+ {0x04F8, 0x04F9, 1},
+ {0x0531, 0x0556, 1},
+ {0x0559, 0x0559, 1},
+ {0x0561, 0x0586, 1},
+ {0x05D0, 0x05EA, 1},
+ {0x05F0, 0x05F2, 1},
+ {0x0621, 0x063A, 1},
+ {0x0641, 0x064A, 1},
+ {0x0671, 0x06B7, 1},
+ {0x06BA, 0x06BE, 1},
+ {0x06C0, 0x06CE, 1},
+ {0x06D0, 0x06D3, 1},
+ {0x06D5, 0x06D5, 1},
+ {0x06E5, 0x06E6, 1},
+ {0x0905, 0x0939, 1},
+ {0x093D, 0x093D, 1},
+ {0x0958, 0x0961, 1},
+ {0x0985, 0x098C, 1},
+ {0x098F, 0x0990, 1},
+ {0x0993, 0x09A8, 1},
+ {0x09AA, 0x09B0, 1},
+ {0x09B2, 0x09B2, 1},
+ {0x09B6, 0x09B9, 1},
+ {0x09DC, 0x09DD, 1},
+ {0x09DF, 0x09E1, 1},
+ {0x09F0, 0x09F1, 1},
+ {0x0A05, 0x0A0A, 1},
+ {0x0A0F, 0x0A10, 1},
+ {0x0A13, 0x0A28, 1},
+ {0x0A2A, 0x0A30, 1},
+ {0x0A32, 0x0A33, 1},
+ {0x0A35, 0x0A36, 1},
+ {0x0A38, 0x0A39, 1},
+ {0x0A59, 0x0A5C, 1},
+ {0x0A5E, 0x0A5E, 1},
+ {0x0A72, 0x0A74, 1},
+ {0x0A85, 0x0A8B, 1},
+ {0x0A8D, 0x0A8D, 1},
+ {0x0A8F, 0x0A91, 1},
+ {0x0A93, 0x0AA8, 1},
+ {0x0AAA, 0x0AB0, 1},
+ {0x0AB2, 0x0AB3, 1},
+ {0x0AB5, 0x0AB9, 1},
+ {0x0ABD, 0x0AE0, 0x23},
+ {0x0B05, 0x0B0C, 1},
+ {0x0B0F, 0x0B10, 1},
+ {0x0B13, 0x0B28, 1},
+ {0x0B2A, 0x0B30, 1},
+ {0x0B32, 0x0B33, 1},
+ {0x0B36, 0x0B39, 1},
+ {0x0B3D, 0x0B3D, 1},
+ {0x0B5C, 0x0B5D, 1},
+ {0x0B5F, 0x0B61, 1},
+ {0x0B85, 0x0B8A, 1},
+ {0x0B8E, 0x0B90, 1},
+ {0x0B92, 0x0B95, 1},
+ {0x0B99, 0x0B9A, 1},
+ {0x0B9C, 0x0B9C, 1},
+ {0x0B9E, 0x0B9F, 1},
+ {0x0BA3, 0x0BA4, 1},
+ {0x0BA8, 0x0BAA, 1},
+ {0x0BAE, 0x0BB5, 1},
+ {0x0BB7, 0x0BB9, 1},
+ {0x0C05, 0x0C0C, 1},
+ {0x0C0E, 0x0C10, 1},
+ {0x0C12, 0x0C28, 1},
+ {0x0C2A, 0x0C33, 1},
+ {0x0C35, 0x0C39, 1},
+ {0x0C60, 0x0C61, 1},
+ {0x0C85, 0x0C8C, 1},
+ {0x0C8E, 0x0C90, 1},
+ {0x0C92, 0x0CA8, 1},
+ {0x0CAA, 0x0CB3, 1},
+ {0x0CB5, 0x0CB9, 1},
+ {0x0CDE, 0x0CDE, 1},
+ {0x0CE0, 0x0CE1, 1},
+ {0x0D05, 0x0D0C, 1},
+ {0x0D0E, 0x0D10, 1},
+ {0x0D12, 0x0D28, 1},
+ {0x0D2A, 0x0D39, 1},
+ {0x0D60, 0x0D61, 1},
+ {0x0E01, 0x0E2E, 1},
+ {0x0E30, 0x0E30, 1},
+ {0x0E32, 0x0E33, 1},
+ {0x0E40, 0x0E45, 1},
+ {0x0E81, 0x0E82, 1},
+ {0x0E84, 0x0E84, 1},
+ {0x0E87, 0x0E88, 1},
+ {0x0E8A, 0x0E8D, 3},
+ {0x0E94, 0x0E97, 1},
+ {0x0E99, 0x0E9F, 1},
+ {0x0EA1, 0x0EA3, 1},
+ {0x0EA5, 0x0EA7, 2},
+ {0x0EAA, 0x0EAB, 1},
+ {0x0EAD, 0x0EAE, 1},
+ {0x0EB0, 0x0EB0, 1},
+ {0x0EB2, 0x0EB3, 1},
+ {0x0EBD, 0x0EBD, 1},
+ {0x0EC0, 0x0EC4, 1},
+ {0x0F40, 0x0F47, 1},
+ {0x0F49, 0x0F69, 1},
+ {0x10A0, 0x10C5, 1},
+ {0x10D0, 0x10F6, 1},
+ {0x1100, 0x1100, 1},
+ {0x1102, 0x1103, 1},
+ {0x1105, 0x1107, 1},
+ {0x1109, 0x1109, 1},
+ {0x110B, 0x110C, 1},
+ {0x110E, 0x1112, 1},
+ {0x113C, 0x1140, 2},
+ {0x114C, 0x1150, 2},
+ {0x1154, 0x1155, 1},
+ {0x1159, 0x1159, 1},
+ {0x115F, 0x1161, 1},
+ {0x1163, 0x1169, 2},
+ {0x116D, 0x116E, 1},
+ {0x1172, 0x1173, 1},
+ {0x1175, 0x119E, 0x119E - 0x1175},
+ {0x11A8, 0x11AB, 0x11AB - 0x11A8},
+ {0x11AE, 0x11AF, 1},
+ {0x11B7, 0x11B8, 1},
+ {0x11BA, 0x11BA, 1},
+ {0x11BC, 0x11C2, 1},
+ {0x11EB, 0x11F0, 0x11F0 - 0x11EB},
+ {0x11F9, 0x11F9, 1},
+ {0x1E00, 0x1E9B, 1},
+ {0x1EA0, 0x1EF9, 1},
+ {0x1F00, 0x1F15, 1},
+ {0x1F18, 0x1F1D, 1},
+ {0x1F20, 0x1F45, 1},
+ {0x1F48, 0x1F4D, 1},
+ {0x1F50, 0x1F57, 1},
+ {0x1F59, 0x1F5B, 0x1F5B - 0x1F59},
+ {0x1F5D, 0x1F5D, 1},
+ {0x1F5F, 0x1F7D, 1},
+ {0x1F80, 0x1FB4, 1},
+ {0x1FB6, 0x1FBC, 1},
+ {0x1FBE, 0x1FBE, 1},
+ {0x1FC2, 0x1FC4, 1},
+ {0x1FC6, 0x1FCC, 1},
+ {0x1FD0, 0x1FD3, 1},
+ {0x1FD6, 0x1FDB, 1},
+ {0x1FE0, 0x1FEC, 1},
+ {0x1FF2, 0x1FF4, 1},
+ {0x1FF6, 0x1FFC, 1},
+ {0x2126, 0x2126, 1},
+ {0x212A, 0x212B, 1},
+ {0x212E, 0x212E, 1},
+ {0x2180, 0x2182, 1},
+ {0x3007, 0x3007, 1},
+ {0x3021, 0x3029, 1},
+ {0x3041, 0x3094, 1},
+ {0x30A1, 0x30FA, 1},
+ {0x3105, 0x312C, 1},
+ {0x4E00, 0x9FA5, 1},
+ {0xAC00, 0xD7A3, 1},
+ },
+}
+
+var second = &unicode.RangeTable{
+ R16: []unicode.Range16{
+ {0x002D, 0x002E, 1},
+ {0x0030, 0x0039, 1},
+ {0x00B7, 0x00B7, 1},
+ {0x02D0, 0x02D1, 1},
+ {0x0300, 0x0345, 1},
+ {0x0360, 0x0361, 1},
+ {0x0387, 0x0387, 1},
+ {0x0483, 0x0486, 1},
+ {0x0591, 0x05A1, 1},
+ {0x05A3, 0x05B9, 1},
+ {0x05BB, 0x05BD, 1},
+ {0x05BF, 0x05BF, 1},
+ {0x05C1, 0x05C2, 1},
+ {0x05C4, 0x0640, 0x0640 - 0x05C4},
+ {0x064B, 0x0652, 1},
+ {0x0660, 0x0669, 1},
+ {0x0670, 0x0670, 1},
+ {0x06D6, 0x06DC, 1},
+ {0x06DD, 0x06DF, 1},
+ {0x06E0, 0x06E4, 1},
+ {0x06E7, 0x06E8, 1},
+ {0x06EA, 0x06ED, 1},
+ {0x06F0, 0x06F9, 1},
+ {0x0901, 0x0903, 1},
+ {0x093C, 0x093C, 1},
+ {0x093E, 0x094C, 1},
+ {0x094D, 0x094D, 1},
+ {0x0951, 0x0954, 1},
+ {0x0962, 0x0963, 1},
+ {0x0966, 0x096F, 1},
+ {0x0981, 0x0983, 1},
+ {0x09BC, 0x09BC, 1},
+ {0x09BE, 0x09BF, 1},
+ {0x09C0, 0x09C4, 1},
+ {0x09C7, 0x09C8, 1},
+ {0x09CB, 0x09CD, 1},
+ {0x09D7, 0x09D7, 1},
+ {0x09E2, 0x09E3, 1},
+ {0x09E6, 0x09EF, 1},
+ {0x0A02, 0x0A3C, 0x3A},
+ {0x0A3E, 0x0A3F, 1},
+ {0x0A40, 0x0A42, 1},
+ {0x0A47, 0x0A48, 1},
+ {0x0A4B, 0x0A4D, 1},
+ {0x0A66, 0x0A6F, 1},
+ {0x0A70, 0x0A71, 1},
+ {0x0A81, 0x0A83, 1},
+ {0x0ABC, 0x0ABC, 1},
+ {0x0ABE, 0x0AC5, 1},
+ {0x0AC7, 0x0AC9, 1},
+ {0x0ACB, 0x0ACD, 1},
+ {0x0AE6, 0x0AEF, 1},
+ {0x0B01, 0x0B03, 1},
+ {0x0B3C, 0x0B3C, 1},
+ {0x0B3E, 0x0B43, 1},
+ {0x0B47, 0x0B48, 1},
+ {0x0B4B, 0x0B4D, 1},
+ {0x0B56, 0x0B57, 1},
+ {0x0B66, 0x0B6F, 1},
+ {0x0B82, 0x0B83, 1},
+ {0x0BBE, 0x0BC2, 1},
+ {0x0BC6, 0x0BC8, 1},
+ {0x0BCA, 0x0BCD, 1},
+ {0x0BD7, 0x0BD7, 1},
+ {0x0BE7, 0x0BEF, 1},
+ {0x0C01, 0x0C03, 1},
+ {0x0C3E, 0x0C44, 1},
+ {0x0C46, 0x0C48, 1},
+ {0x0C4A, 0x0C4D, 1},
+ {0x0C55, 0x0C56, 1},
+ {0x0C66, 0x0C6F, 1},
+ {0x0C82, 0x0C83, 1},
+ {0x0CBE, 0x0CC4, 1},
+ {0x0CC6, 0x0CC8, 1},
+ {0x0CCA, 0x0CCD, 1},
+ {0x0CD5, 0x0CD6, 1},
+ {0x0CE6, 0x0CEF, 1},
+ {0x0D02, 0x0D03, 1},
+ {0x0D3E, 0x0D43, 1},
+ {0x0D46, 0x0D48, 1},
+ {0x0D4A, 0x0D4D, 1},
+ {0x0D57, 0x0D57, 1},
+ {0x0D66, 0x0D6F, 1},
+ {0x0E31, 0x0E31, 1},
+ {0x0E34, 0x0E3A, 1},
+ {0x0E46, 0x0E46, 1},
+ {0x0E47, 0x0E4E, 1},
+ {0x0E50, 0x0E59, 1},
+ {0x0EB1, 0x0EB1, 1},
+ {0x0EB4, 0x0EB9, 1},
+ {0x0EBB, 0x0EBC, 1},
+ {0x0EC6, 0x0EC6, 1},
+ {0x0EC8, 0x0ECD, 1},
+ {0x0ED0, 0x0ED9, 1},
+ {0x0F18, 0x0F19, 1},
+ {0x0F20, 0x0F29, 1},
+ {0x0F35, 0x0F39, 2},
+ {0x0F3E, 0x0F3F, 1},
+ {0x0F71, 0x0F84, 1},
+ {0x0F86, 0x0F8B, 1},
+ {0x0F90, 0x0F95, 1},
+ {0x0F97, 0x0F97, 1},
+ {0x0F99, 0x0FAD, 1},
+ {0x0FB1, 0x0FB7, 1},
+ {0x0FB9, 0x0FB9, 1},
+ {0x20D0, 0x20DC, 1},
+ {0x20E1, 0x3005, 0x3005 - 0x20E1},
+ {0x302A, 0x302F, 1},
+ {0x3031, 0x3035, 1},
+ {0x3099, 0x309A, 1},
+ {0x309D, 0x309E, 1},
+ {0x30FC, 0x30FE, 1},
+ },
+}
+
+// HTMLEntity is an entity map containing translations for the
+// standard HTML entity characters.
+var HTMLEntity = htmlEntity
+
+var htmlEntity = map[string]string{
+ /*
+ hget http://www.w3.org/TR/html4/sgml/entities.html |
+ ssam '
+ ,y /\&gt;/ x/\&lt;(.|\n)+/ s/\n/ /g
+ ,x v/^\&lt;!ENTITY/d
+ ,s/\&lt;!ENTITY ([^ ]+) .*U\+([0-9A-F][0-9A-F][0-9A-F][0-9A-F]) .+/ "\1": "\\u\2",/g
+ '
+ */
+ "nbsp": "\u00A0",
+ "iexcl": "\u00A1",
+ "cent": "\u00A2",
+ "pound": "\u00A3",
+ "curren": "\u00A4",
+ "yen": "\u00A5",
+ "brvbar": "\u00A6",
+ "sect": "\u00A7",
+ "uml": "\u00A8",
+ "copy": "\u00A9",
+ "ordf": "\u00AA",
+ "laquo": "\u00AB",
+ "not": "\u00AC",
+ "shy": "\u00AD",
+ "reg": "\u00AE",
+ "macr": "\u00AF",
+ "deg": "\u00B0",
+ "plusmn": "\u00B1",
+ "sup2": "\u00B2",
+ "sup3": "\u00B3",
+ "acute": "\u00B4",
+ "micro": "\u00B5",
+ "para": "\u00B6",
+ "middot": "\u00B7",
+ "cedil": "\u00B8",
+ "sup1": "\u00B9",
+ "ordm": "\u00BA",
+ "raquo": "\u00BB",
+ "frac14": "\u00BC",
+ "frac12": "\u00BD",
+ "frac34": "\u00BE",
+ "iquest": "\u00BF",
+ "Agrave": "\u00C0",
+ "Aacute": "\u00C1",
+ "Acirc": "\u00C2",
+ "Atilde": "\u00C3",
+ "Auml": "\u00C4",
+ "Aring": "\u00C5",
+ "AElig": "\u00C6",
+ "Ccedil": "\u00C7",
+ "Egrave": "\u00C8",
+ "Eacute": "\u00C9",
+ "Ecirc": "\u00CA",
+ "Euml": "\u00CB",
+ "Igrave": "\u00CC",
+ "Iacute": "\u00CD",
+ "Icirc": "\u00CE",
+ "Iuml": "\u00CF",
+ "ETH": "\u00D0",
+ "Ntilde": "\u00D1",
+ "Ograve": "\u00D2",
+ "Oacute": "\u00D3",
+ "Ocirc": "\u00D4",
+ "Otilde": "\u00D5",
+ "Ouml": "\u00D6",
+ "times": "\u00D7",
+ "Oslash": "\u00D8",
+ "Ugrave": "\u00D9",
+ "Uacute": "\u00DA",
+ "Ucirc": "\u00DB",
+ "Uuml": "\u00DC",
+ "Yacute": "\u00DD",
+ "THORN": "\u00DE",
+ "szlig": "\u00DF",
+ "agrave": "\u00E0",
+ "aacute": "\u00E1",
+ "acirc": "\u00E2",
+ "atilde": "\u00E3",
+ "auml": "\u00E4",
+ "aring": "\u00E5",
+ "aelig": "\u00E6",
+ "ccedil": "\u00E7",
+ "egrave": "\u00E8",
+ "eacute": "\u00E9",
+ "ecirc": "\u00EA",
+ "euml": "\u00EB",
+ "igrave": "\u00EC",
+ "iacute": "\u00ED",
+ "icirc": "\u00EE",
+ "iuml": "\u00EF",
+ "eth": "\u00F0",
+ "ntilde": "\u00F1",
+ "ograve": "\u00F2",
+ "oacute": "\u00F3",
+ "ocirc": "\u00F4",
+ "otilde": "\u00F5",
+ "ouml": "\u00F6",
+ "divide": "\u00F7",
+ "oslash": "\u00F8",
+ "ugrave": "\u00F9",
+ "uacute": "\u00FA",
+ "ucirc": "\u00FB",
+ "uuml": "\u00FC",
+ "yacute": "\u00FD",
+ "thorn": "\u00FE",
+ "yuml": "\u00FF",
+ "fnof": "\u0192",
+ "Alpha": "\u0391",
+ "Beta": "\u0392",
+ "Gamma": "\u0393",
+ "Delta": "\u0394",
+ "Epsilon": "\u0395",
+ "Zeta": "\u0396",
+ "Eta": "\u0397",
+ "Theta": "\u0398",
+ "Iota": "\u0399",
+ "Kappa": "\u039A",
+ "Lambda": "\u039B",
+ "Mu": "\u039C",
+ "Nu": "\u039D",
+ "Xi": "\u039E",
+ "Omicron": "\u039F",
+ "Pi": "\u03A0",
+ "Rho": "\u03A1",
+ "Sigma": "\u03A3",
+ "Tau": "\u03A4",
+ "Upsilon": "\u03A5",
+ "Phi": "\u03A6",
+ "Chi": "\u03A7",
+ "Psi": "\u03A8",
+ "Omega": "\u03A9",
+ "alpha": "\u03B1",
+ "beta": "\u03B2",
+ "gamma": "\u03B3",
+ "delta": "\u03B4",
+ "epsilon": "\u03B5",
+ "zeta": "\u03B6",
+ "eta": "\u03B7",
+ "theta": "\u03B8",
+ "iota": "\u03B9",
+ "kappa": "\u03BA",
+ "lambda": "\u03BB",
+ "mu": "\u03BC",
+ "nu": "\u03BD",
+ "xi": "\u03BE",
+ "omicron": "\u03BF",
+ "pi": "\u03C0",
+ "rho": "\u03C1",
+ "sigmaf": "\u03C2",
+ "sigma": "\u03C3",
+ "tau": "\u03C4",
+ "upsilon": "\u03C5",
+ "phi": "\u03C6",
+ "chi": "\u03C7",
+ "psi": "\u03C8",
+ "omega": "\u03C9",
+ "thetasym": "\u03D1",
+ "upsih": "\u03D2",
+ "piv": "\u03D6",
+ "bull": "\u2022",
+ "hellip": "\u2026",
+ "prime": "\u2032",
+ "Prime": "\u2033",
+ "oline": "\u203E",
+ "frasl": "\u2044",
+ "weierp": "\u2118",
+ "image": "\u2111",
+ "real": "\u211C",
+ "trade": "\u2122",
+ "alefsym": "\u2135",
+ "larr": "\u2190",
+ "uarr": "\u2191",
+ "rarr": "\u2192",
+ "darr": "\u2193",
+ "harr": "\u2194",
+ "crarr": "\u21B5",
+ "lArr": "\u21D0",
+ "uArr": "\u21D1",
+ "rArr": "\u21D2",
+ "dArr": "\u21D3",
+ "hArr": "\u21D4",
+ "forall": "\u2200",
+ "part": "\u2202",
+ "exist": "\u2203",
+ "empty": "\u2205",
+ "nabla": "\u2207",
+ "isin": "\u2208",
+ "notin": "\u2209",
+ "ni": "\u220B",
+ "prod": "\u220F",
+ "sum": "\u2211",
+ "minus": "\u2212",
+ "lowast": "\u2217",
+ "radic": "\u221A",
+ "prop": "\u221D",
+ "infin": "\u221E",
+ "ang": "\u2220",
+ "and": "\u2227",
+ "or": "\u2228",
+ "cap": "\u2229",
+ "cup": "\u222A",
+ "int": "\u222B",
+ "there4": "\u2234",
+ "sim": "\u223C",
+ "cong": "\u2245",
+ "asymp": "\u2248",
+ "ne": "\u2260",
+ "equiv": "\u2261",
+ "le": "\u2264",
+ "ge": "\u2265",
+ "sub": "\u2282",
+ "sup": "\u2283",
+ "nsub": "\u2284",
+ "sube": "\u2286",
+ "supe": "\u2287",
+ "oplus": "\u2295",
+ "otimes": "\u2297",
+ "perp": "\u22A5",
+ "sdot": "\u22C5",
+ "lceil": "\u2308",
+ "rceil": "\u2309",
+ "lfloor": "\u230A",
+ "rfloor": "\u230B",
+ "lang": "\u2329",
+ "rang": "\u232A",
+ "loz": "\u25CA",
+ "spades": "\u2660",
+ "clubs": "\u2663",
+ "hearts": "\u2665",
+ "diams": "\u2666",
+ "quot": "\u0022",
+ "amp": "\u0026",
+ "lt": "\u003C",
+ "gt": "\u003E",
+ "OElig": "\u0152",
+ "oelig": "\u0153",
+ "Scaron": "\u0160",
+ "scaron": "\u0161",
+ "Yuml": "\u0178",
+ "circ": "\u02C6",
+ "tilde": "\u02DC",
+ "ensp": "\u2002",
+ "emsp": "\u2003",
+ "thinsp": "\u2009",
+ "zwnj": "\u200C",
+ "zwj": "\u200D",
+ "lrm": "\u200E",
+ "rlm": "\u200F",
+ "ndash": "\u2013",
+ "mdash": "\u2014",
+ "lsquo": "\u2018",
+ "rsquo": "\u2019",
+ "sbquo": "\u201A",
+ "ldquo": "\u201C",
+ "rdquo": "\u201D",
+ "bdquo": "\u201E",
+ "dagger": "\u2020",
+ "Dagger": "\u2021",
+ "permil": "\u2030",
+ "lsaquo": "\u2039",
+ "rsaquo": "\u203A",
+ "euro": "\u20AC",
+}
+
+// HTMLAutoClose is the set of HTML elements that
+// should be considered to close automatically.
+var HTMLAutoClose = htmlAutoClose
+
+var htmlAutoClose = []string{
+ /*
+ hget http://www.w3.org/TR/html4/loose.dtd |
+ 9 sed -n 's/<!ELEMENT ([^ ]*) +- O EMPTY.+/ "\1",/p' | tr A-Z a-z
+ */
+ "basefont",
+ "br",
+ "area",
+ "link",
+ "img",
+ "param",
+ "hr",
+ "input",
+ "col",
+ "frame",
+ "isindex",
+ "base",
+ "meta",
+}
+
+var (
+ esc_quot = []byte("&#34;") // shorter than "&quot;"
+ esc_apos = []byte("&#39;") // shorter than "&apos;"
+ esc_amp = []byte("&amp;")
+ esc_lt = []byte("&lt;")
+ esc_gt = []byte("&gt;")
+ esc_tab = []byte("&#x9;")
+ esc_nl = []byte("&#xA;")
+ esc_cr = []byte("&#xD;")
+ esc_fffd = []byte("\uFFFD") // Unicode replacement character
+)
+
+// EscapeText writes to w the properly escaped XML equivalent
+// of the plain text data s.
+func EscapeText(w io.Writer, s []byte) error {
+ var esc []byte
+ last := 0
+ for i := 0; i < len(s); {
+ r, width := utf8.DecodeRune(s[i:])
+ i += width
+ switch r {
+ case '"':
+ esc = esc_quot
+ case '\'':
+ esc = esc_apos
+ case '&':
+ esc = esc_amp
+ case '<':
+ esc = esc_lt
+ case '>':
+ esc = esc_gt
+ case '\t':
+ esc = esc_tab
+ case '\n':
+ esc = esc_nl
+ case '\r':
+ esc = esc_cr
+ default:
+ if !isInCharacterRange(r) || (r == 0xFFFD && width == 1) {
+ esc = esc_fffd
+ break
+ }
+ continue
+ }
+ if _, err := w.Write(s[last : i-width]); err != nil {
+ return err
+ }
+ if _, err := w.Write(esc); err != nil {
+ return err
+ }
+ last = i
+ }
+ if _, err := w.Write(s[last:]); err != nil {
+ return err
+ }
+ return nil
+}
+
+// EscapeString writes to p the properly escaped XML equivalent
+// of the plain text data s.
+func (p *printer) EscapeString(s string) {
+ var esc []byte
+ last := 0
+ for i := 0; i < len(s); {
+ r, width := utf8.DecodeRuneInString(s[i:])
+ i += width
+ switch r {
+ case '"':
+ esc = esc_quot
+ case '\'':
+ esc = esc_apos
+ case '&':
+ esc = esc_amp
+ case '<':
+ esc = esc_lt
+ case '>':
+ esc = esc_gt
+ case '\t':
+ esc = esc_tab
+ case '\n':
+ esc = esc_nl
+ case '\r':
+ esc = esc_cr
+ default:
+ if !isInCharacterRange(r) || (r == 0xFFFD && width == 1) {
+ esc = esc_fffd
+ break
+ }
+ continue
+ }
+ p.WriteString(s[last : i-width])
+ p.Write(esc)
+ last = i
+ }
+ p.WriteString(s[last:])
+}
+
+// Escape is like EscapeText but omits the error return value.
+// It is provided for backwards compatibility with Go 1.0.
+// Code targeting Go 1.1 or later should use EscapeText.
+func Escape(w io.Writer, s []byte) {
+ EscapeText(w, s)
+}
+
+// procInstEncoding parses the `encoding="..."` or `encoding='...'`
+// value out of the provided string, returning "" if not found.
+func procInstEncoding(s string) string {
+ // TODO: this parsing is somewhat lame and not exact.
+ // It works for all actual cases, though.
+ idx := strings.Index(s, "encoding=")
+ if idx == -1 {
+ return ""
+ }
+ v := s[idx+len("encoding="):]
+ if v == "" {
+ return ""
+ }
+ if v[0] != '\'' && v[0] != '"' {
+ return ""
+ }
+ idx = strings.IndexRune(v[1:], rune(v[0]))
+ if idx == -1 {
+ return ""
+ }
+ return v[1 : idx+1]
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/atom/gen.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/atom/gen.go
deleted file mode 100644
index 6bfa8660..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/atom/gen.go
+++ /dev/null
@@ -1,648 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-// This program generates table.go and table_test.go.
-// Invoke as
-//
-// go run gen.go |gofmt >table.go
-// go run gen.go -test |gofmt >table_test.go
-
-import (
- "flag"
- "fmt"
- "math/rand"
- "os"
- "sort"
- "strings"
-)
-
-// identifier converts s to a Go exported identifier.
-// It converts "div" to "Div" and "accept-charset" to "AcceptCharset".
-func identifier(s string) string {
- b := make([]byte, 0, len(s))
- cap := true
- for _, c := range s {
- if c == '-' {
- cap = true
- continue
- }
- if cap && 'a' <= c && c <= 'z' {
- c -= 'a' - 'A'
- }
- cap = false
- b = append(b, byte(c))
- }
- return string(b)
-}
-
-var test = flag.Bool("test", false, "generate table_test.go")
-
-func main() {
- flag.Parse()
-
- var all []string
- all = append(all, elements...)
- all = append(all, attributes...)
- all = append(all, eventHandlers...)
- all = append(all, extra...)
- sort.Strings(all)
-
- if *test {
- fmt.Printf("// generated by go run gen.go -test; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\n")
- fmt.Printf("var testAtomList = []string{\n")
- for _, s := range all {
- fmt.Printf("\t%q,\n", s)
- }
- fmt.Printf("}\n")
- return
- }
-
- // uniq - lists have dups
- // compute max len too
- maxLen := 0
- w := 0
- for _, s := range all {
- if w == 0 || all[w-1] != s {
- if maxLen < len(s) {
- maxLen = len(s)
- }
- all[w] = s
- w++
- }
- }
- all = all[:w]
-
- // Find hash that minimizes table size.
- var best *table
- for i := 0; i < 1000000; i++ {
- if best != nil && 1<<(best.k-1) < len(all) {
- break
- }
- h := rand.Uint32()
- for k := uint(0); k <= 16; k++ {
- if best != nil && k >= best.k {
- break
- }
- var t table
- if t.init(h, k, all) {
- best = &t
- break
- }
- }
- }
- if best == nil {
- fmt.Fprintf(os.Stderr, "failed to construct string table\n")
- os.Exit(1)
- }
-
- // Lay out strings, using overlaps when possible.
- layout := append([]string{}, all...)
-
- // Remove strings that are substrings of other strings
- for changed := true; changed; {
- changed = false
- for i, s := range layout {
- if s == "" {
- continue
- }
- for j, t := range layout {
- if i != j && t != "" && strings.Contains(s, t) {
- changed = true
- layout[j] = ""
- }
- }
- }
- }
-
- // Join strings where one suffix matches another prefix.
- for {
- // Find best i, j, k such that layout[i][len-k:] == layout[j][:k],
- // maximizing overlap length k.
- besti := -1
- bestj := -1
- bestk := 0
- for i, s := range layout {
- if s == "" {
- continue
- }
- for j, t := range layout {
- if i == j {
- continue
- }
- for k := bestk + 1; k <= len(s) && k <= len(t); k++ {
- if s[len(s)-k:] == t[:k] {
- besti = i
- bestj = j
- bestk = k
- }
- }
- }
- }
- if bestk > 0 {
- layout[besti] += layout[bestj][bestk:]
- layout[bestj] = ""
- continue
- }
- break
- }
-
- text := strings.Join(layout, "")
-
- atom := map[string]uint32{}
- for _, s := range all {
- off := strings.Index(text, s)
- if off < 0 {
- panic("lost string " + s)
- }
- atom[s] = uint32(off<<8 | len(s))
- }
-
- // Generate the Go code.
- fmt.Printf("// generated by go run gen.go; DO NOT EDIT\n\n")
- fmt.Printf("package atom\n\nconst (\n")
- for _, s := range all {
- fmt.Printf("\t%s Atom = %#x\n", identifier(s), atom[s])
- }
- fmt.Printf(")\n\n")
-
- fmt.Printf("const hash0 = %#x\n\n", best.h0)
- fmt.Printf("const maxAtomLen = %d\n\n", maxLen)
-
- fmt.Printf("var table = [1<<%d]Atom{\n", best.k)
- for i, s := range best.tab {
- if s == "" {
- continue
- }
- fmt.Printf("\t%#x: %#x, // %s\n", i, atom[s], s)
- }
- fmt.Printf("}\n")
- datasize := (1 << best.k) * 4
-
- fmt.Printf("const atomText =\n")
- textsize := len(text)
- for len(text) > 60 {
- fmt.Printf("\t%q +\n", text[:60])
- text = text[60:]
- }
- fmt.Printf("\t%q\n\n", text)
-
- fmt.Fprintf(os.Stderr, "%d atoms; %d string bytes + %d tables = %d total data\n", len(all), textsize, datasize, textsize+datasize)
-}
-
-type byLen []string
-
-func (x byLen) Less(i, j int) bool { return len(x[i]) > len(x[j]) }
-func (x byLen) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
-func (x byLen) Len() int { return len(x) }
-
-// fnv computes the FNV hash with an arbitrary starting value h.
-func fnv(h uint32, s string) uint32 {
- for i := 0; i < len(s); i++ {
- h ^= uint32(s[i])
- h *= 16777619
- }
- return h
-}
-
-// A table represents an attempt at constructing the lookup table.
-// The lookup table uses cuckoo hashing, meaning that each string
-// can be found in one of two positions.
-type table struct {
- h0 uint32
- k uint
- mask uint32
- tab []string
-}
-
-// hash returns the two hashes for s.
-func (t *table) hash(s string) (h1, h2 uint32) {
- h := fnv(t.h0, s)
- h1 = h & t.mask
- h2 = (h >> 16) & t.mask
- return
-}
-
-// init initializes the table with the given parameters.
-// h0 is the initial hash value,
-// k is the number of bits of hash value to use, and
-// x is the list of strings to store in the table.
-// init returns false if the table cannot be constructed.
-func (t *table) init(h0 uint32, k uint, x []string) bool {
- t.h0 = h0
- t.k = k
- t.tab = make([]string, 1<<k)
- t.mask = 1<<k - 1
- for _, s := range x {
- if !t.insert(s) {
- return false
- }
- }
- return true
-}
-
-// insert inserts s in the table.
-func (t *table) insert(s string) bool {
- h1, h2 := t.hash(s)
- if t.tab[h1] == "" {
- t.tab[h1] = s
- return true
- }
- if t.tab[h2] == "" {
- t.tab[h2] = s
- return true
- }
- if t.push(h1, 0) {
- t.tab[h1] = s
- return true
- }
- if t.push(h2, 0) {
- t.tab[h2] = s
- return true
- }
- return false
-}
-
-// push attempts to push aside the entry in slot i.
-func (t *table) push(i uint32, depth int) bool {
- if depth > len(t.tab) {
- return false
- }
- s := t.tab[i]
- h1, h2 := t.hash(s)
- j := h1 + h2 - i
- if t.tab[j] != "" && !t.push(j, depth+1) {
- return false
- }
- t.tab[j] = s
- return true
-}
-
-// The lists of element names and attribute keys were taken from
-// https://html.spec.whatwg.org/multipage/indices.html#index
-// as of the "HTML Living Standard - Last Updated 21 February 2015" version.
-
-var elements = []string{
- "a",
- "abbr",
- "address",
- "area",
- "article",
- "aside",
- "audio",
- "b",
- "base",
- "bdi",
- "bdo",
- "blockquote",
- "body",
- "br",
- "button",
- "canvas",
- "caption",
- "cite",
- "code",
- "col",
- "colgroup",
- "command",
- "data",
- "datalist",
- "dd",
- "del",
- "details",
- "dfn",
- "dialog",
- "div",
- "dl",
- "dt",
- "em",
- "embed",
- "fieldset",
- "figcaption",
- "figure",
- "footer",
- "form",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "head",
- "header",
- "hgroup",
- "hr",
- "html",
- "i",
- "iframe",
- "img",
- "input",
- "ins",
- "kbd",
- "keygen",
- "label",
- "legend",
- "li",
- "link",
- "map",
- "mark",
- "menu",
- "menuitem",
- "meta",
- "meter",
- "nav",
- "noscript",
- "object",
- "ol",
- "optgroup",
- "option",
- "output",
- "p",
- "param",
- "pre",
- "progress",
- "q",
- "rp",
- "rt",
- "ruby",
- "s",
- "samp",
- "script",
- "section",
- "select",
- "small",
- "source",
- "span",
- "strong",
- "style",
- "sub",
- "summary",
- "sup",
- "table",
- "tbody",
- "td",
- "template",
- "textarea",
- "tfoot",
- "th",
- "thead",
- "time",
- "title",
- "tr",
- "track",
- "u",
- "ul",
- "var",
- "video",
- "wbr",
-}
-
-// https://html.spec.whatwg.org/multipage/indices.html#attributes-3
-
-var attributes = []string{
- "abbr",
- "accept",
- "accept-charset",
- "accesskey",
- "action",
- "alt",
- "async",
- "autocomplete",
- "autofocus",
- "autoplay",
- "challenge",
- "charset",
- "checked",
- "cite",
- "class",
- "cols",
- "colspan",
- "command",
- "content",
- "contenteditable",
- "contextmenu",
- "controls",
- "coords",
- "crossorigin",
- "data",
- "datetime",
- "default",
- "defer",
- "dir",
- "dirname",
- "disabled",
- "download",
- "draggable",
- "dropzone",
- "enctype",
- "for",
- "form",
- "formaction",
- "formenctype",
- "formmethod",
- "formnovalidate",
- "formtarget",
- "headers",
- "height",
- "hidden",
- "high",
- "href",
- "hreflang",
- "http-equiv",
- "icon",
- "id",
- "inputmode",
- "ismap",
- "itemid",
- "itemprop",
- "itemref",
- "itemscope",
- "itemtype",
- "keytype",
- "kind",
- "label",
- "lang",
- "list",
- "loop",
- "low",
- "manifest",
- "max",
- "maxlength",
- "media",
- "mediagroup",
- "method",
- "min",
- "minlength",
- "multiple",
- "muted",
- "name",
- "novalidate",
- "open",
- "optimum",
- "pattern",
- "ping",
- "placeholder",
- "poster",
- "preload",
- "radiogroup",
- "readonly",
- "rel",
- "required",
- "reversed",
- "rows",
- "rowspan",
- "sandbox",
- "spellcheck",
- "scope",
- "scoped",
- "seamless",
- "selected",
- "shape",
- "size",
- "sizes",
- "sortable",
- "sorted",
- "span",
- "src",
- "srcdoc",
- "srclang",
- "start",
- "step",
- "style",
- "tabindex",
- "target",
- "title",
- "translate",
- "type",
- "typemustmatch",
- "usemap",
- "value",
- "width",
- "wrap",
-}
-
-var eventHandlers = []string{
- "onabort",
- "onautocomplete",
- "onautocompleteerror",
- "onafterprint",
- "onbeforeprint",
- "onbeforeunload",
- "onblur",
- "oncancel",
- "oncanplay",
- "oncanplaythrough",
- "onchange",
- "onclick",
- "onclose",
- "oncontextmenu",
- "oncuechange",
- "ondblclick",
- "ondrag",
- "ondragend",
- "ondragenter",
- "ondragleave",
- "ondragover",
- "ondragstart",
- "ondrop",
- "ondurationchange",
- "onemptied",
- "onended",
- "onerror",
- "onfocus",
- "onhashchange",
- "oninput",
- "oninvalid",
- "onkeydown",
- "onkeypress",
- "onkeyup",
- "onlanguagechange",
- "onload",
- "onloadeddata",
- "onloadedmetadata",
- "onloadstart",
- "onmessage",
- "onmousedown",
- "onmousemove",
- "onmouseout",
- "onmouseover",
- "onmouseup",
- "onmousewheel",
- "onoffline",
- "ononline",
- "onpagehide",
- "onpageshow",
- "onpause",
- "onplay",
- "onplaying",
- "onpopstate",
- "onprogress",
- "onratechange",
- "onreset",
- "onresize",
- "onscroll",
- "onseeked",
- "onseeking",
- "onselect",
- "onshow",
- "onsort",
- "onstalled",
- "onstorage",
- "onsubmit",
- "onsuspend",
- "ontimeupdate",
- "ontoggle",
- "onunload",
- "onvolumechange",
- "onwaiting",
-}
-
-// extra are ad-hoc values not covered by any of the lists above.
-var extra = []string{
- "align",
- "annotation",
- "annotation-xml",
- "applet",
- "basefont",
- "bgsound",
- "big",
- "blink",
- "center",
- "color",
- "desc",
- "face",
- "font",
- "foreignObject", // HTML is case-insensitive, but SVG-embedded-in-HTML is case-sensitive.
- "foreignobject",
- "frame",
- "frameset",
- "image",
- "isindex",
- "listing",
- "malignmark",
- "marquee",
- "math",
- "mglyph",
- "mi",
- "mn",
- "mo",
- "ms",
- "mtext",
- "nobr",
- "noembed",
- "noframes",
- "plaintext",
- "prompt",
- "public",
- "spacer",
- "strike",
- "svg",
- "system",
- "tt",
- "xmp",
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/charset/charset.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/charset/charset.go
new file mode 100644
index 00000000..13bed159
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/net/html/charset/charset.go
@@ -0,0 +1,257 @@
+// 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 charset provides common text encodings for HTML documents.
+//
+// The mapping from encoding labels to encodings is defined at
+// https://encoding.spec.whatwg.org/.
+package charset // import "golang.org/x/net/html/charset"
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "mime"
+ "strings"
+ "unicode/utf8"
+
+ "golang.org/x/net/html"
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/charmap"
+ "golang.org/x/text/encoding/htmlindex"
+ "golang.org/x/text/transform"
+)
+
+// Lookup returns the encoding with the specified label, and its canonical
+// name. It returns nil and the empty string if label is not one of the
+// standard encodings for HTML. Matching is case-insensitive and ignores
+// leading and trailing whitespace. Encoders will use HTML escape sequences for
+// runes that are not supported by the character set.
+func Lookup(label string) (e encoding.Encoding, name string) {
+ e, err := htmlindex.Get(label)
+ if err != nil {
+ return nil, ""
+ }
+ name, _ = htmlindex.Name(e)
+ return &htmlEncoding{e}, name
+}
+
+type htmlEncoding struct{ encoding.Encoding }
+
+func (h *htmlEncoding) NewEncoder() *encoding.Encoder {
+ // HTML requires a non-terminating legacy encoder. We use HTML escapes to
+ // substitute unsupported code points.
+ return encoding.HTMLEscapeUnsupported(h.Encoding.NewEncoder())
+}
+
+// DetermineEncoding determines the encoding of an HTML document by examining
+// up to the first 1024 bytes of content and the declared Content-Type.
+//
+// See http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#determining-the-character-encoding
+func DetermineEncoding(content []byte, contentType string) (e encoding.Encoding, name string, certain bool) {
+ if len(content) > 1024 {
+ content = content[:1024]
+ }
+
+ for _, b := range boms {
+ if bytes.HasPrefix(content, b.bom) {
+ e, name = Lookup(b.enc)
+ return e, name, true
+ }
+ }
+
+ if _, params, err := mime.ParseMediaType(contentType); err == nil {
+ if cs, ok := params["charset"]; ok {
+ if e, name = Lookup(cs); e != nil {
+ return e, name, true
+ }
+ }
+ }
+
+ if len(content) > 0 {
+ e, name = prescan(content)
+ if e != nil {
+ return e, name, false
+ }
+ }
+
+ // Try to detect UTF-8.
+ // First eliminate any partial rune at the end.
+ for i := len(content) - 1; i >= 0 && i > len(content)-4; i-- {
+ b := content[i]
+ if b < 0x80 {
+ break
+ }
+ if utf8.RuneStart(b) {
+ content = content[:i]
+ break
+ }
+ }
+ hasHighBit := false
+ for _, c := range content {
+ if c >= 0x80 {
+ hasHighBit = true
+ break
+ }
+ }
+ if hasHighBit && utf8.Valid(content) {
+ return encoding.Nop, "utf-8", false
+ }
+
+ // TODO: change default depending on user's locale?
+ return charmap.Windows1252, "windows-1252", false
+}
+
+// NewReader returns an io.Reader that converts the content of r to UTF-8.
+// It calls DetermineEncoding to find out what r's encoding is.
+func NewReader(r io.Reader, contentType string) (io.Reader, error) {
+ preview := make([]byte, 1024)
+ n, err := io.ReadFull(r, preview)
+ switch {
+ case err == io.ErrUnexpectedEOF:
+ preview = preview[:n]
+ r = bytes.NewReader(preview)
+ case err != nil:
+ return nil, err
+ default:
+ r = io.MultiReader(bytes.NewReader(preview), r)
+ }
+
+ if e, _, _ := DetermineEncoding(preview, contentType); e != encoding.Nop {
+ r = transform.NewReader(r, e.NewDecoder())
+ }
+ return r, nil
+}
+
+// NewReaderLabel returns a reader that converts from the specified charset to
+// UTF-8. It uses Lookup to find the encoding that corresponds to label, and
+// returns an error if Lookup returns nil. It is suitable for use as
+// encoding/xml.Decoder's CharsetReader function.
+func NewReaderLabel(label string, input io.Reader) (io.Reader, error) {
+ e, _ := Lookup(label)
+ if e == nil {
+ return nil, fmt.Errorf("unsupported charset: %q", label)
+ }
+ return transform.NewReader(input, e.NewDecoder()), nil
+}
+
+func prescan(content []byte) (e encoding.Encoding, name string) {
+ z := html.NewTokenizer(bytes.NewReader(content))
+ for {
+ switch z.Next() {
+ case html.ErrorToken:
+ return nil, ""
+
+ case html.StartTagToken, html.SelfClosingTagToken:
+ tagName, hasAttr := z.TagName()
+ if !bytes.Equal(tagName, []byte("meta")) {
+ continue
+ }
+ attrList := make(map[string]bool)
+ gotPragma := false
+
+ const (
+ dontKnow = iota
+ doNeedPragma
+ doNotNeedPragma
+ )
+ needPragma := dontKnow
+
+ name = ""
+ e = nil
+ for hasAttr {
+ var key, val []byte
+ key, val, hasAttr = z.TagAttr()
+ ks := string(key)
+ if attrList[ks] {
+ continue
+ }
+ attrList[ks] = true
+ for i, c := range val {
+ if 'A' <= c && c <= 'Z' {
+ val[i] = c + 0x20
+ }
+ }
+
+ switch ks {
+ case "http-equiv":
+ if bytes.Equal(val, []byte("content-type")) {
+ gotPragma = true
+ }
+
+ case "content":
+ if e == nil {
+ name = fromMetaElement(string(val))
+ if name != "" {
+ e, name = Lookup(name)
+ if e != nil {
+ needPragma = doNeedPragma
+ }
+ }
+ }
+
+ case "charset":
+ e, name = Lookup(string(val))
+ needPragma = doNotNeedPragma
+ }
+ }
+
+ if needPragma == dontKnow || needPragma == doNeedPragma && !gotPragma {
+ continue
+ }
+
+ if strings.HasPrefix(name, "utf-16") {
+ name = "utf-8"
+ e = encoding.Nop
+ }
+
+ if e != nil {
+ return e, name
+ }
+ }
+ }
+}
+
+func fromMetaElement(s string) string {
+ for s != "" {
+ csLoc := strings.Index(s, "charset")
+ if csLoc == -1 {
+ return ""
+ }
+ s = s[csLoc+len("charset"):]
+ s = strings.TrimLeft(s, " \t\n\f\r")
+ if !strings.HasPrefix(s, "=") {
+ continue
+ }
+ s = s[1:]
+ s = strings.TrimLeft(s, " \t\n\f\r")
+ if s == "" {
+ return ""
+ }
+ if q := s[0]; q == '"' || q == '\'' {
+ s = s[1:]
+ closeQuote := strings.IndexRune(s, rune(q))
+ if closeQuote == -1 {
+ return ""
+ }
+ return s[:closeQuote]
+ }
+
+ end := strings.IndexAny(s, "; \t\n\f\r")
+ if end == -1 {
+ end = len(s)
+ }
+ return s[:end]
+ }
+ return ""
+}
+
+var boms = []struct {
+ bom []byte
+ enc string
+}{
+ {[]byte{0xfe, 0xff}, "utf-16be"},
+ {[]byte{0xff, 0xfe}, "utf-16le"},
+ {[]byte{0xef, 0xbb, 0xbf}, "utf-8"},
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/README.md b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/README.md
new file mode 100644
index 00000000..bc6f6031
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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" || GOARCH == "sparc64"`)
+
+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, perl, go
+
+### New Build System (currently for `GOOS == "Linux" && GOARCH != "sparc64"`)
+
+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, perl, 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 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 script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl`
+for the old system). This script 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.pl
+
+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.pl script 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 <errno.h>`, and the
+signal numbers and strings are generated from `#include <signal.h>`. 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.pl` (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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
new file mode 100644
index 00000000..724e580c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
@@ -0,0 +1,28 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ JMP syscall·RawSyscall6(SB)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
new file mode 100644
index 00000000..2ea42575
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
@@ -0,0 +1,31 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-28
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
+ JMP syscall·RawSyscall6(SB)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
new file mode 100644
index 00000000..11889859
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
@@ -0,0 +1,28 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ BR syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ BR syscall·RawSyscall6(SB)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s
new file mode 100644
index 00000000..469bfa10
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
index 43ed17a0..ded8260f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
@@ -10,8 +10,8 @@
// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go
//
-TEXT ·sysvicall6(SB),NOSPLIT,$0-64
+TEXT ·sysvicall6(SB),NOSPLIT,$0-88
JMP syscall·sysvicall6(SB)
-TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64
+TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88
JMP syscall·rawSysvicall6(SB)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/bluetooth_linux.go
new file mode 100644
index 00000000..6e322969
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/cap_freebsd.go
new file mode 100644
index 00000000..83b6bcea
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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 (
+ errorspkg "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 errorspkg.New("bad rights size")
+ }
+
+ for _, right := range setrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return err
+ }
+ if i >= n {
+ return errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.New("index mismatch")
+ }
+ rights.Rights[i] |= right
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.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 errorspkg.New("bad rights size")
+ }
+
+ for _, right := range clearrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return err
+ }
+ if i >= n {
+ return errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.New("index mismatch")
+ }
+ rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.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, errorspkg.New("bad rights size")
+ }
+
+ for _, right := range setrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return false, errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return false, err
+ }
+ if i >= n {
+ return false, errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return false, errorspkg.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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dev_linux.go
new file mode 100644
index 00000000..c902c39e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dirent.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/dirent.go
new file mode 100644
index 00000000..bd475812
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_big.go
new file mode 100644
index 00000000..5e926906
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/endian_little.go
new file mode 100644
index 00000000..085df2d8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_386.go
new file mode 100644
index 00000000..c56bc8b0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go
new file mode 100644
index 00000000..3e977117
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go
new file mode 100644
index 00000000..856dca32
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/file_unix.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/file_unix.go
new file mode 100644
index 00000000..47f6a83f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/file_unix.go
@@ -0,0 +1,27 @@
+// 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
+
+import (
+ "os"
+ "syscall"
+)
+
+// FIXME: unexported function from os
+// syscallMode returns the syscall-specific mode bits from Go's portable mode bits.
+func syscallMode(i os.FileMode) (o uint32) {
+ o |= uint32(i.Perm())
+ if i&os.ModeSetuid != 0 {
+ o |= syscall.S_ISUID
+ }
+ if i&os.ModeSetgid != 0 {
+ o |= syscall.S_ISGID
+ }
+ if i&os.ModeSticky != 0 {
+ o |= syscall.S_ISVTX
+ }
+ // No mapping for Go's ModeTemporary (plan9 only).
+ return
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock.go
index ce67a595..2994ce75 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock.go
@@ -1,5 +1,3 @@
-// +build linux darwin freebsd openbsd netbsd dragonfly
-
// 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.
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock_linux_32bit.go
index 362831c3..fc0e50e0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock_linux_32bit.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/flock_linux_32bit.go
@@ -1,4 +1,4 @@
-// +build linux,386 linux,arm
+// +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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
new file mode 100644
index 00000000..56332692
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go
@@ -0,0 +1,20 @@
+// 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 gccgo,linux,sparc64
+
+package unix
+
+import "syscall"
+
+//extern sysconf
+func realSysconf(name int) int64
+
+func sysconf(name int) (n int64, err syscall.Errno) {
+ r := realSysconf(name)
+ if r < 0 {
+ return 0, syscall.GetErrno()
+ }
+ return r, 0
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkall.sh
index de95a4bb..09b3c7ab 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkall.sh
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkall.sh
@@ -3,75 +3,9 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-# The unix package provides access to the raw system call
-# interface of the underlying operating system. Porting Go to
-# a new architecture/operating system combination requires
-# some manual effort, though there are tools that automate
-# much of the process. The auto-generated files have names
-# beginning with z.
-#
-# This script runs or (given -n) prints suggested commands to generate z files
-# for the current system. Running those commands is not automatic.
-# This script is documentation more than anything else.
-#
-# * asm_${GOOS}_${GOARCH}.s
-#
-# This hand-written assembly file 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.
-#
-# * syscall_${GOOS}.go
-#
-# This hand-written Go file implements system calls that need
-# special handling and lists "//sys" comments giving prototypes
-# for ones that can be auto-generated. Mksyscall reads those
-# comments to generate the stubs.
-#
-# * syscall_${GOOS}_${GOARCH}.go
-#
-# Same as syscall_${GOOS}.go except that it contains code specific
-# to ${GOOS} on one particular architecture.
-#
-# * types_${GOOS}.c
-#
-# This hand-written C file includes standard C headers and then
-# creates typedef or enum names beginning with a dollar sign
-# (use of $ in variable names is a gcc extension). The hardest
-# part about preparing this file is figuring out which headers to
-# include and which symbols need to be #defined to get the
-# actual data structures that pass through to the kernel system calls.
-# Some C libraries present 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.c and types_linux.c for examples.
-#
-# * zerror_${GOOS}_${GOARCH}.go
-#
-# This machine-generated file defines the system's error numbers,
-# error strings, and signal numbers. The generator is "mkerrors.sh".
-# Usually no arguments are needed, but mkerrors.sh will pass its
-# arguments on to godefs.
-#
-# * zsyscall_${GOOS}_${GOARCH}.go
-#
-# Generated by mksyscall.pl; see syscall_${GOOS}.go above.
-#
-# * zsysnum_${GOOS}_${GOARCH}.go
-#
-# Generated by mksysnum_${GOOS}.
-#
-# * ztypes_${GOOS}_${GOARCH}.go
-#
-# Generated by godefs; see types_${GOOS}.c above.
+# 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}"
@@ -84,11 +18,14 @@ zsysctl="zsysctl_$GOOSARCH.go"
mksysnum=
mktypes=
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
@@ -96,6 +33,7 @@ case "$1" in
;;
-n)
run="cat"
+ cmd="echo"
shift
esac
@@ -107,6 +45,14 @@ case "$#" in
exit 2
esac
+if [[ "$GOOS" = "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then
+ # Use then new 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
_* | *_ | _)
@@ -126,7 +72,7 @@ darwin_amd64)
;;
darwin_arm)
mkerrors="$mkerrors"
- mksysnum="./mksysnum_darwin.pl /usr/include/sys/syscall.h"
+ mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h"
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
;;
darwin_arm64)
@@ -161,53 +107,13 @@ freebsd_arm)
mkerrors="$mkerrors"
mksyscall="./mksyscall.pl -l32 -arm"
mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
- # Let the type of C char be singed for making the bare syscall
- # API consistent across over platforms.
- mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
- ;;
-linux_386)
- mkerrors="$mkerrors -m32"
- mksyscall="./mksyscall.pl -l32"
- mksysnum="./mksysnum_linux.pl /usr/include/asm/unistd_32.h"
- mktypes="GOARCH=$GOARCH go tool cgo -godefs"
- ;;
-linux_amd64)
- unistd_h=$(ls -1 /usr/include/asm/unistd_64.h /usr/include/x86_64-linux-gnu/asm/unistd_64.h 2>/dev/null | head -1)
- if [ "$unistd_h" = "" ]; then
- echo >&2 cannot find unistd_64.h
- exit 1
- fi
- mkerrors="$mkerrors -m64"
- mksysnum="./mksysnum_linux.pl $unistd_h"
- mktypes="GOARCH=$GOARCH go tool cgo -godefs"
- ;;
-linux_arm)
- mkerrors="$mkerrors"
- mksyscall="./mksyscall.pl -l32 -arm"
- mksysnum="curl -s 'http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/arch/arm/include/uapi/asm/unistd.h' | ./mksysnum_linux.pl -"
- mktypes="GOARCH=$GOARCH go tool cgo -godefs"
- ;;
-linux_arm64)
- unistd_h=$(ls -1 /usr/include/asm/unistd.h /usr/include/asm-generic/unistd.h 2>/dev/null | head -1)
- if [ "$unistd_h" = "" ]; then
- echo >&2 cannot find unistd_64.h
- exit 1
- fi
- mksysnum="./mksysnum_linux.pl $unistd_h"
- # Let the type of C char be singed for making the bare syscall
+ # Let the type of C char be signed for making the bare syscall
# API consistent across over platforms.
mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char"
;;
-linux_ppc64)
- GOOSARCH_in=syscall_linux_ppc64x.go
- unistd_h=/usr/include/asm/unistd.h
- mkerrors="$mkerrors -m64"
- mksysnum="./mksysnum_linux.pl $unistd_h"
- mktypes="GOARCH=$GOARCH go tool cgo -godefs"
- ;;
-linux_ppc64le)
- GOOSARCH_in=syscall_linux_ppc64x.go
- unistd_h=/usr/include/powerpc64le-linux-gnu/asm/unistd.h
+linux_sparc64)
+ GOOSARCH_in=syscall_linux_sparc64.go
+ unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h
mkerrors="$mkerrors -m64"
mksysnum="./mksysnum_linux.pl $unistd_h"
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
@@ -262,13 +168,12 @@ esac
syscall_goos="syscall_bsd.go $syscall_goos"
;;
esac
- if [ -n "$mksyscall" ]; then echo "$mksyscall $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; fi
+ if [ -n "$mksyscall" ]; then echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; 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 "echo // +build $GOARCH,$GOOS > ztypes_$GOOSARCH.go";
- echo "$mktypes types_$GOOS.go | gofmt >>ztypes_$GOOSARCH.go";
+ echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go";
fi
) | $run
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkerrors.sh
index c40d788c..08dd7751 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -16,6 +16,15 @@ if test -z "$GOARCH" -o -z "$GOOS"; then
exit 1
fi
+# Check that we are using the new build system if we should
+if [[ "$GOOS" -eq "linux" ]] && [[ "$GOARCH" != "sparc64" ]]; then
+ if [[ "$GOLANG_SYS_BUILD" -ne "docker" ]]; then
+ echo 1>&2 "In the new build system, mkerrors should not be called directly."
+ echo 1>&2 "See README.md"
+ exit 1
+ fi
+fi
+
CC=${CC:-cc}
if [[ "$GOOS" -eq "solaris" ]]; then
@@ -36,6 +45,7 @@ includes_Darwin='
#include <sys/sockio.h>
#include <sys/sysctl.h>
#include <sys/mman.h>
+#include <sys/mount.h>
#include <sys/wait.h>
#include <net/bpf.h>
#include <net/if.h>
@@ -66,6 +76,7 @@ includes_DragonFly='
'
includes_FreeBSD='
+#include <sys/capability.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/event.h>
@@ -102,8 +113,39 @@ includes_Linux='
#endif
#define _GNU_SOURCE
+// <sys/ioctl.h> is broken on powerpc64, as it fails to include definitions of
+// these structures. We just include them copied from <bits/termios.h>.
+#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 <bits/sockaddr.h>
#include <sys/epoll.h>
+#include <sys/eventfd.h>
#include <sys/inotify.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
@@ -113,20 +155,32 @@ includes_Linux='
#include <sys/types.h>
#include <sys/time.h>
#include <sys/socket.h>
+#include <sys/xattr.h>
#include <linux/if.h>
+#include <linux/if_alg.h>
#include <linux/if_arp.h>
#include <linux/if_ether.h>
#include <linux/if_tun.h>
#include <linux/if_packet.h>
#include <linux/if_addr.h>
+#include <linux/falloc.h>
#include <linux/filter.h>
+#include <linux/fs.h>
+#include <linux/keyctl.h>
#include <linux/netlink.h>
+#include <linux/perf_event.h>
+#include <linux/random.h>
#include <linux/reboot.h>
#include <linux/rtnetlink.h>
#include <linux/ptrace.h>
#include <linux/sched.h>
+#include <linux/seccomp.h>
+#include <linux/sockios.h>
#include <linux/wait.h>
#include <linux/icmpv6.h>
+#include <linux/serial.h>
+#include <linux/can.h>
+#include <linux/vm_sockets.h>
#include <net/route.h>
#include <asm/termbits.h>
@@ -141,6 +195,21 @@ includes_Linux='
#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='
@@ -304,15 +373,16 @@ ccflags="$@"
$2 ~ /^IN_/ ||
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+ $2 ~ /^FALLOC_/ ||
$2 == "ICMPV6_FILTER" ||
$2 == "SOMAXCONN" ||
$2 == "NAME_MAX" ||
$2 == "IFNAMSIZ" ||
$2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ ||
$2 ~ /^SYSCTL_VERS/ ||
- $2 ~ /^(MS|MNT)_/ ||
+ $2 ~ /^(MS|MNT|UMOUNT)_/ ||
$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
- $2 ~ /^(O|F|FD|NAME|S|PTRACE|PT)_/ ||
+ $2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ ||
$2 ~ /^LINUX_REBOOT_CMD_/ ||
$2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
$2 !~ "NLA_TYPE_MASK" &&
@@ -326,14 +396,27 @@ ccflags="$@"
$2 ~ /^(IFF|IFT|NET_RT|RTM|RTF|RTV|RTA|RTAX)_/ ||
$2 ~ /^BIOC/ ||
$2 ~ /^RUSAGE_(SELF|CHILDREN|THREAD)/ ||
- $2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|NOFILE|STACK)|RLIM_INFINITY/ ||
+ $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)$/ &&
$2 ~ /^(BPF|DLT)_/ ||
$2 ~ /^CLOCK_/ ||
+ $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 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||
+ $2 ~ /^KEYCTL_/ ||
+ $2 ~ /^PERF_EVENT_IOC_/ ||
+ $2 ~ /^SECCOMP_MODE_/ ||
+ $2 ~ /^SPLICE_/ ||
+ $2 ~ /^(VM|VMADDR)_/ ||
+ $2 ~ /^XATTR_(CREATE|REPLACE)/ ||
$2 !~ "WMESGLEN" &&
- $2 ~ /^W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", $2, $2)}
+ $2 ~ /^W[A-Z0-9]+$/ ||
+ $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)}
@@ -368,7 +451,7 @@ echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
sort >_signal.grep
echo '// mkerrors.sh' "$@"
-echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
+echo '// Code generated by the command above; see README.md. DO NOT EDIT.'
echo
echo "// +build ${GOARCH},${GOOS}"
echo
@@ -430,7 +513,7 @@ intcmp(const void *a, const void *b)
int
main(void)
{
- int i, j, e;
+ int i, e;
char buf[1024], *p;
printf("\n\n// Error table\n");
@@ -447,7 +530,7 @@ main(void)
printf("\t%d: \"%s\",\n", e, buf);
}
printf("}\n\n");
-
+
printf("\n\n// Signal table\n");
printf("var signals = [...]string {\n");
qsort(signals, nelem(signals), sizeof signals[0], intcmp);
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall.pl
index b1e7766d..fb929b4c 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall.pl
@@ -29,6 +29,7 @@ my $openbsd = 0;
my $netbsd = 0;
my $dragonfly = 0;
my $arm = 0; # 64-bit value should use (even, odd)-pair
+my $tags = ""; # build tags
if($ARGV[0] eq "-b32") {
$_32bit = "big-endian";
@@ -57,17 +58,27 @@ if($ARGV[0] eq "-arm") {
$arm = 1;
shift;
}
+if($ARGV[0] eq "-tags") {
+ shift;
+ $tags = $ARGV[0];
+ shift;
+}
if($ARGV[0] =~ /^-/) {
- print STDERR "usage: mksyscall.pl [-b32 | -l32] [file ...]\n";
+ print STDERR "usage: mksyscall.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
exit 1;
}
-if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
- print STDERR "GOARCH or GOOS not defined in environment\n";
- exit 1;
+# Check that we are using the new build system if we should
+if($ENV{'GOOS'} eq "linux" && $ENV{'GOARCH'} ne "sparc64") {
+ if($ENV{'GOLANG_SYS_BUILD'} ne "docker") {
+ print STDERR "In the new build system, mksyscall should not be called directly.\n";
+ print STDERR "See README.md\n";
+ exit 1;
+ }
}
+
sub parseparamlist($) {
my ($list) = @_;
$list =~ s/^\s*//;
@@ -132,7 +143,6 @@ while(<>) {
# Prepare arguments to Syscall.
my @args = ();
- my @uses = ();
my $n = 0;
foreach my $p (@in) {
my ($name, $type) = parseparam($p);
@@ -143,14 +153,12 @@ while(<>) {
$text .= "\t_p$n, $errvar = BytePtrFromString($name)\n";
$text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
push @args, "uintptr(unsafe.Pointer(_p$n))";
- push @uses, "use(unsafe.Pointer(_p$n))";
$n++;
} elsif($type eq "string") {
print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
$text .= "\tvar _p$n *byte\n";
$text .= "\t_p$n, _ = BytePtrFromString($name)\n";
push @args, "uintptr(unsafe.Pointer(_p$n))";
- push @uses, "use(unsafe.Pointer(_p$n))";
$n++;
} elsif($type =~ /^\[\](.*)/) {
# Convert slice into pointer, length.
@@ -185,7 +193,7 @@ while(<>) {
}
} elsif($type eq "int64" && $_32bit ne "") {
if(@args % 2 && $arm) {
- # arm abi specifies 64-bit argument uses
+ # arm abi specifies 64-bit argument uses
# (even, odd) pair
push @args, "0"
}
@@ -278,11 +286,8 @@ while(<>) {
} else {
$text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
}
- foreach my $use (@uses) {
- $text .= "\t$use\n";
- }
$text .= $body;
-
+
if ($plan9 && $ret[2] eq "e1") {
$text .= "\tif int32(r0) == -1 {\n";
$text .= "\t\terr = e1\n";
@@ -305,9 +310,9 @@ if($errors) {
print <<EOF;
// $cmdline
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+// +build $tags
package unix
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
index 06bade76..3e6ed9df 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
@@ -12,7 +12,7 @@
# * The parameter lists must give a type for each argument:
# the (x, y, z int) shorthand is not allowed.
# * If the return parameter is an error number, it must be named err.
-# * If go func name needs to be different than its libc name,
+# * If go func name needs to be different than its libc name,
# * or the function is not in libc, name could be specified
# * at the end, after "=" sign, like
# //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
@@ -22,6 +22,7 @@ use strict;
my $cmdline = "mksyscall_solaris.pl " . join(' ', @ARGV);
my $errors = 0;
my $_32bit = "";
+my $tags = ""; # build tags
binmode STDOUT;
@@ -32,14 +33,14 @@ if($ARGV[0] eq "-b32") {
$_32bit = "little-endian";
shift;
}
-
-if($ARGV[0] =~ /^-/) {
- print STDERR "usage: mksyscall_solaris.pl [-b32 | -l32] [file ...]\n";
- exit 1;
+if($ARGV[0] eq "-tags") {
+ shift;
+ $tags = $ARGV[0];
+ shift;
}
-if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
- print STDERR "GOARCH or GOOS not defined in environment\n";
+if($ARGV[0] =~ /^-/) {
+ print STDERR "usage: mksyscall_solaris.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
exit 1;
}
@@ -138,7 +139,6 @@ while(<>) {
# Prepare arguments to Syscall.
my @args = ();
- my @uses = ();
my $n = 0;
foreach my $p (@in) {
my ($name, $type) = parseparam($p);
@@ -149,14 +149,12 @@ while(<>) {
$text .= "\t_p$n, $errvar = $strconvfunc($name)\n";
$text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
push @args, "uintptr(unsafe.Pointer(_p$n))";
- push @uses, "use(unsafe.Pointer(_p$n))";
$n++;
} elsif($type eq "string") {
print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
$text .= "\tvar _p$n $strconvtype\n";
$text .= "\t_p$n, _ = $strconvfunc($name)\n";
push @args, "uintptr(unsafe.Pointer(_p$n))";
- push @uses, "use(unsafe.Pointer(_p$n))";
$n++;
} elsif($type =~ /^\[\](.*)/) {
# Convert slice into pointer, length.
@@ -243,9 +241,6 @@ while(<>) {
} else {
$text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
}
- foreach my $use (@uses) {
- $text .= "\t$use\n";
- }
$text .= $body;
if ($do_errno) {
@@ -263,9 +258,9 @@ if($errors) {
print <<EOF;
// $cmdline
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+// +build $tags
package $package
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
index d3e5147f..5453c53b 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
@@ -16,7 +16,7 @@ my $command = "mksysnum_darwin.pl " . join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
index 266a248c..6804f412 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
@@ -17,7 +17,7 @@ my $command = "mksysnum_dragonfly.pl " . join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
index b767e124..a0a22bf5 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
@@ -17,7 +17,7 @@ my $command = "mksysnum_freebsd.pl " . join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
@@ -40,21 +40,8 @@ while(<>){
if($name eq 'SYS_SYS_EXIT'){
$name = 'SYS_EXIT';
}
- if($name =~ /^SYS_CAP_+/ || $name =~ /^SYS___CAP_+/){
- next
- }
print " $name = $num; // $proto\n";
-
- # We keep Capsicum syscall numbers for FreeBSD
- # 9-STABLE here because we are not sure whether they
- # are mature and stable.
- if($num == 513){
- print " SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }\n";
- print " SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \\\n";
- print " SYS_CAP_ENTER = 516 // { int cap_enter(void); }\n";
- print " SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); }\n";
- }
}
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
index e74616a6..d31f2c48 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
@@ -17,7 +17,7 @@ my $command = "mksysnum_netbsd.pl " . join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
index ae5aad58..84edf60c 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
@@ -17,7 +17,7 @@ my $command = "mksysnum_openbsd.pl " . join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/openbsd_pledge.go
new file mode 100644
index 00000000..db4f72ea
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/openbsd_pledge.go
@@ -0,0 +1,38 @@
+// 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 openbsd
+// +build 386 amd64 arm
+
+package unix
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+const (
+ SYS_PLEDGE = 108
+)
+
+// Pledge implements the pledge syscall. For more information see pledge(2).
+func Pledge(promises string, paths []string) error {
+ promisesPtr, err := syscall.BytePtrFromString(promises)
+ if err != nil {
+ return err
+ }
+ promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil)
+ if paths != nil {
+ var pathsPtr []*byte
+ if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil {
+ return err
+ }
+ pathsUnsafe = unsafe.Pointer(&pathsPtr[0])
+ }
+ _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0)
+ if e != 0 {
+ return e
+ }
+ return nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
index 70af5a72..bb756ece 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
@@ -1,4 +1,4 @@
-// Copyright 2011 The Go Authors. All rights reserved.
+// 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.
@@ -13,9 +13,10 @@ import "unsafe"
// Round the length of a raw sockaddr up to align it properly.
func cmsgAlignOf(salen int) int {
salign := sizeofPtr
- // NOTE: It seems like 64-bit Darwin and DragonFly BSD kernels
- // still require 32-bit aligned access to network subsystem.
- if darwin64Bit || dragonfly64Bit {
+ // NOTE: It seems like 64-bit Darwin, DragonFly BSD and
+ // Solaris kernels still require 32-bit aligned access to
+ // network subsystem.
+ if darwin64Bit || dragonfly64Bit || solaris64Bit {
salign = 4
}
return (salen + salign - 1) & ^(salign - 1)
@@ -62,7 +63,7 @@ func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) {
func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) {
h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
- if h.Len < SizeofCmsghdr || int(h.Len) > len(b) {
+ if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) {
return nil, nil, EINVAL
}
return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall.go
index 6442a993..85e35020 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall.go
@@ -21,8 +21,6 @@
// holds a value of type syscall.Errno.
package unix // import "golang.org/x/sys/unix"
-import "unsafe"
-
// 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).
@@ -68,7 +66,4 @@ func (tv *Timeval) Nano() int64 {
return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
}
-// use is a no-op, but the compiler cannot see that it is.
-// Calling use(p) ensures that p is kept live until that point.
-//go:noescape
-func use(p unsafe.Pointer)
+func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_bsd.go
index e9671764..ccb29c75 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -470,25 +470,11 @@ func Sysctl(name string) (string, error) {
}
func SysctlArgs(name string, args ...int) (string, error) {
- mib, err := sysctlmib(name, args...)
+ buf, err := SysctlRaw(name, args...)
if err != nil {
return "", err
}
-
- // Find size.
- n := uintptr(0)
- if err := sysctl(mib, nil, &n, nil, 0); err != nil {
- return "", err
- }
- if n == 0 {
- return "", nil
- }
-
- // Read into buffer of that size.
- buf := make([]byte, n)
- if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil {
- return "", err
- }
+ n := len(buf)
// Throw away terminating NUL.
if n > 0 && buf[n-1] == '\x00' {
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin.go
index 0d1771c3..26b83602 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -76,32 +76,16 @@ func nametomib(name string) (mib []_C_int, err error) {
return buf[0 : n/siz], nil
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- if dirent.Reclen == 0 {
- buf = nil
- break
- }
- buf = buf[dirent.Reclen:]
- if dirent.Ino == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:dirent.Namlen])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
- }
- return origlen - len(buf), count, names
+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)
@@ -211,6 +195,45 @@ func Getfsstat(buf []Statfs_t, flags int) (n 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
+}
+
/*
* Exposed directly
*/
@@ -226,10 +249,13 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
//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 Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
@@ -254,23 +280,29 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
//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_LSTAT64
//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 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 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
@@ -291,11 +323,13 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
//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)
@@ -485,7 +519,6 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig
// Sendmsg_nocancel
// Recvfrom_nocancel
// Accept_nocancel
-// Msync_nocancel
// Fcntl_nocancel
// Select_nocancel
// Fsync_nocancel
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
index 3195c8bf..c172a3da 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
index 7adb98de..c6c99c13 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
-
func Getpagesize() int { return 4096 }
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
@@ -23,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
index e47ffd73..d286cf40 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
@@ -19,8 +19,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
index 2560a959..c33905cd 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
index fbbe0dce..7e0210fc 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -1,8 +1,8 @@
-// Copyright 2009,2010 The Go Authors. All rights reserved.
+// 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.
-// FreeBSD system calls.
+// 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.
@@ -34,7 +34,7 @@ func nametomib(name string) (mib []_C_int, err error) {
// 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
+ // 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
@@ -56,29 +56,20 @@ func nametomib(name string) (mib []_C_int, err error) {
return buf[0 : n/siz], nil
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- reclen := int(16+dirent.Namlen+1+7) & ^7
- buf = buf[reclen:]
- if dirent.Fileno == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:dirent.Namlen])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
+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 origlen - len(buf), count, names
+ 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)
@@ -101,6 +92,24 @@ 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(&rsa)
+ if err != nil {
+ Close(nfd)
+ nfd = 0
+ }
+ return
+}
+
func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
var _p0 unsafe.Pointer
var bufsize uintptr
@@ -208,6 +217,7 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, 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)
/*
* Unimplemented
@@ -243,6 +253,8 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
// Kdebug_trace
// Sigreturn
// Mmap
+// Mlock
+// Munlock
// Atsocket
// Kqueue_from_portset_np
// Kqueue_portset
@@ -335,6 +347,8 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
// Lio_listio
// __pthread_cond_wait
// Iopolicysys
+// Mlockall
+// Munlockall
// __pthread_kill
// __pthread_sigmask
// __sigwait
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
index 2ed92590..da7cb798 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = nsec % 1e9 / 1e3
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index ec56ed60..e93356b4 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -54,32 +54,16 @@ func nametomib(name string) (mib []_C_int, err error) {
return buf[0 : n/siz], nil
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- if dirent.Reclen == 0 {
- buf = nil
- break
- }
- buf = buf[dirent.Reclen:]
- if dirent.Fileno == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:dirent.Namlen])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
- }
- return origlen - len(buf), count, names
+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))
}
//sysnb pipe() (r int, w int, err error)
@@ -368,11 +352,53 @@ func Llistxattr(link string, dest []byte) (sz int, err error) {
return s, e
}
+//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
+}
+
/*
* 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)
@@ -395,10 +421,13 @@ func Llistxattr(link string, dest []byte) (sz 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_t) (err error)
@@ -425,9 +454,11 @@ func Llistxattr(link string, dest []byte) (sz int, 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 Mlock(b []byte) (err error)
@@ -437,12 +468,15 @@ func Llistxattr(link string, dest []byte) (sz int, 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(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
@@ -464,11 +498,13 @@ func Llistxattr(link string, dest []byte) (sz 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)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
index 6255d40f..6a0cd804 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
index 8b395d59..e142540e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = nsec % 1e9 / 1e3
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
index 4e72d46a..5504cb12 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
@@ -21,8 +21,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return tv.Sec*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux.go
index 5048e563..bb902257 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -36,10 +36,63 @@ func Creat(path string, mode uint32) (fd int, err error) {
return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
}
-//sys linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
+//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.
+
+// 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 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)
+ return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0)
}
func Mkdir(path string, mode uint32) (err error) {
@@ -60,10 +113,19 @@ func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return openat(dirfd, path, flags|O_LARGEFILE, mode)
}
-//sys readlinkat(dirfd int, path string, buf []byte) (n int, err error)
+//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)
+ return Readlinkat(AT_FDCWD, path, buf)
}
func Rename(oldpath string, newpath string) (err error) {
@@ -71,34 +133,41 @@ func Rename(oldpath string, newpath string) (err error) {
}
func Rmdir(path string) error {
- return unlinkat(AT_FDCWD, path, AT_REMOVEDIR)
+ return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR)
}
-//sys symlinkat(oldpath string, newdirfd int, newpath string) (err error)
+//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
func Symlink(oldpath string, newpath string) (err error) {
- return symlinkat(oldpath, AT_FDCWD, newpath)
+ return Symlinkat(oldpath, AT_FDCWD, newpath)
}
func Unlink(path string) error {
- return unlinkat(AT_FDCWD, path, 0)
+ return Unlinkat(AT_FDCWD, path, 0)
}
-//sys unlinkat(dirfd int, path string, flags int) (err error)
-
-func Unlinkat(dirfd int, path string, flags int) error {
- return unlinkat(dirfd, path, flags)
-}
+//sys Unlinkat(dirfd int, path string, flags int) (err error)
//sys utimes(path string, times *[2]Timeval) (err error)
-func Utimes(path string, tv []Timeval) (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])))
}
@@ -123,8 +192,7 @@ func UtimesNano(path string, ts []Timespec) error {
// 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].Sec = ts[i].Sec
- tv[i].Usec = ts[i].Nsec / 1000
+ tv[i] = NsecToTimeval(TimespecToNsec(ts[i]))
}
return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
}
@@ -284,10 +352,14 @@ func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int,
return
}
-func Mkfifo(path string, mode uint32) (err error) {
+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
@@ -383,6 +455,181 @@ func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) {
return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil
}
+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
+}
+
+// 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
+}
+
func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
switch rsa.Addr.Family {
case AF_NETLINK:
@@ -452,6 +699,14 @@ func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) {
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
}
return nil, EAFNOSUPPORT
}
@@ -546,10 +801,124 @@ func GetsockoptUcred(fd, level, opt int) (*Ucred, error) {
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
+}
+
func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
}
+// 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
@@ -683,6 +1052,10 @@ 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.
@@ -781,38 +1154,24 @@ func Reboot(cmd int) (err error) {
return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "")
}
-func clen(n []byte) int {
- for i := 0; i < len(n); i++ {
- if n[i] == 0 {
- return i
- }
- }
- return len(n)
-}
-
func ReadDirent(fd int, buf []byte) (n int, err error) {
return Getdents(fd, buf)
}
-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 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- buf = buf[dirent.Reclen:]
- if dirent.Ino == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:clen(bytes[:])])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
+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 origlen - len(buf), count, names
+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
}
//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error)
@@ -838,23 +1197,24 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
* 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 Chdir(path string) (err error)
//sys Chroot(path string) (err error)
//sys ClockGettime(clockid int32, time *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 Dup(oldfd int) (fd int, err error)
//sys Dup3(oldfd int, newfd int, flags int) (err error)
//sysnb EpollCreate(size int) (fd int, err error)
//sysnb EpollCreate1(flag int) (fd int, err error)
//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
-//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//sys Eventfd(initval uint, flags int) (fd int, err error) = SYS_EVENTFD2
//sys Exit(code int) = SYS_EXIT_GROUP
//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
//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 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 fcntl(fd int, cmd int, arg int) (val int, err error)
//sys Fdatasync(fd int) (err error)
@@ -871,7 +1231,9 @@ func Getpgrp() (pid int) {
//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 InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error)
@@ -879,22 +1241,27 @@ func Getpgrp() (pid int) {
//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 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 Pause() (err error)
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
-//sysnb prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) = SYS_PRLIMIT64
+//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 read(fd int, p []byte) (n int, err error)
//sys Removexattr(path string, attr string) (err error)
//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (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.
@@ -912,6 +1279,7 @@ func Setgid(uid int) (err error) {
//sys Setpriority(which int, who int, prio int) (err error)
//sys Setxattr(path string, attr string, data []byte, flags int) (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)
@@ -921,7 +1289,6 @@ func Setgid(uid int) (err error) {
//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2
//sys Unshare(flags int) (err error)
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys Utime(path string, buf *Utimbuf) (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
@@ -949,12 +1316,31 @@ func Munmap(b []byte) (err error) {
//sys Mlock(b []byte) (err error)
//sys Munlock(b []byte) (err error)
//sys Mlockall(flags int) (err error)
+//sys Msync(b []byte, flags int) (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) {
+ n, _, errno := Syscall6(
+ SYS_VMSPLICE,
+ uintptr(fd),
+ uintptr(unsafe.Pointer(&iovs[0])),
+ uintptr(len(iovs)),
+ uintptr(flags),
+ 0,
+ 0,
+ )
+ if errno != 0 {
+ return 0, syscall.Errno(errno)
+ }
+
+ return int(n), nil
+}
+
/*
* Unimplemented
*/
-// AddKey
// AfsSyscall
// Alarm
// ArchPrctl
@@ -970,7 +1356,6 @@ func Munmap(b []byte) (err error) {
// EpollCtlOld
// EpollPwait
// EpollWaitOld
-// Eventfd
// Execve
// Fgetxattr
// Flistxattr
@@ -989,16 +1374,10 @@ func Munmap(b []byte) (err error) {
// IoGetevents
// IoSetup
// IoSubmit
-// Ioctl
// IoprioGet
// IoprioSet
// KexecLoad
-// Keyctl
-// Lgetxattr
-// Llistxattr
// LookupDcookie
-// Lremovexattr
-// Lsetxattr
// Mbind
// MigratePages
// Mincore
@@ -1017,12 +1396,9 @@ func Munmap(b []byte) (err error) {
// Msgget
// Msgrcv
// Msgsnd
-// Msync
// Newfstatat
// Nfsservctl
// Personality
-// Poll
-// Ppoll
// Pselect6
// Ptrace
// Putpmsg
@@ -1031,7 +1407,6 @@ func Munmap(b []byte) (err error) {
// Readahead
// Readv
// RemapFilePages
-// RequestKey
// RestartSyscall
// RtSigaction
// RtSigpending
@@ -1080,7 +1455,6 @@ func Munmap(b []byte) (err error) {
// Utimensat
// Vfork
// Vhangup
-// Vmsplice
// Vserver
// Waitid
// _Sysctl
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_386.go
index 7171219a..2b881b97 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -24,8 +24,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Sec = int32(nsec / 1e9)
@@ -93,6 +91,8 @@ func Pipe2(p []int, flags int) (err error) {
//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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, 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)
@@ -181,6 +181,8 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, 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)
+
// 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
@@ -386,3 +388,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index ae70c2af..9516a3fd 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -6,9 +6,8 @@
package unix
-import "syscall"
-
//sys Dup2(oldfd int, newfd 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)
@@ -25,6 +24,7 @@ import "syscall"
//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 Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
@@ -61,9 +61,6 @@ import "syscall"
//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)
-//go:noescape
-func gettimeofday(tv *Timeval) (err syscall.Errno)
-
func Gettimeofday(tv *Timeval) (err error) {
errno := gettimeofday(tv)
if errno != 0 {
@@ -86,6 +83,8 @@ func Time(t *Time_t) (tt Time_t, err error) {
return Time_t(tv.Sec), nil
}
+//sys Utime(path string, buf *Utimbuf) (err error)
+
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
@@ -94,8 +93,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Sec = nsec / 1e9
@@ -144,3 +141,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
new file mode 100644
index 00000000..21a4946b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
index abc41c3e..71d87022 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -108,7 +108,28 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
// Vsyscalls on amd64.
//sysnb Gettimeofday(tv *Timeval) (err error)
-//sysnb Time(t *Time_t) (tt Time_t, err error)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//sys Pause() (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 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
@@ -158,7 +179,7 @@ type rlimit32 struct {
Max uint32
}
-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT
const rlimInf32 = ^uint32(0)
const rlimInf64 = ^uint64(0)
@@ -231,3 +252,12 @@ func (msghdr *Msghdr) SetControllen(length int) {
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index f3d72dfd..4a136396 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -6,8 +6,7 @@
package unix
-const _SYS_dup = SYS_DUP3
-
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
//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)
@@ -70,7 +69,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
func Getpagesize() int { return 65536 }
//sysnb Gettimeofday(tv *Timeval) (err error)
-//sysnb Time(t *Time_t) (tt Time_t, err error)
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
@@ -80,8 +78,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Sec = nsec / 1e9
@@ -89,6 +85,26 @@ func NsecToTimeval(nsec int64) (tv Timeval) {
return
}
+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 Pipe(p []int) (err error) {
if len(p) != 2 {
return EINVAL
@@ -133,6 +149,18 @@ func InotifyInit() (fd int, err error) {
return InotifyInit1(0)
}
+func Dup2(oldfd int, newfd int) (err error) {
+ return Dup3(oldfd, newfd, 0)
+}
+
+func Pause() (err error) {
+ _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove
// these when the deprecated syscalls that the syscall package relies on
// are removed.
@@ -148,3 +176,15 @@ const (
SYS_EPOLL_CREATE = 1042
SYS_EPOLL_WAIT = 1069
)
+
+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)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
new file mode 100644
index 00000000..73318e5c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -0,0 +1,209 @@
+// 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)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 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_PSELECT6
+//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 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 Getpagesize() int { return 65536 }
+
+//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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
new file mode 100644
index 00000000..b83d93fd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -0,0 +1,239 @@
+// 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)
+//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 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 int64, 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 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)
+
+//sysnb Gettimeofday(tv *Timeval) (err error)
+//sysnb Time(t *Time_t) (tt Time_t, 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 Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
+
+//sys Utime(path string, buf *Utimbuf) (err error)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = int32(nsec / 1e9)
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ 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 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
+}
+
+//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)
+}
+
+func Getpagesize() int { return 4096 }
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 67eed633..60770f62 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -7,6 +7,8 @@
package unix
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 Fstatfs(fd int, buf *Statfs_t) (err error)
@@ -16,11 +18,13 @@ package unix
//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 Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
@@ -62,6 +66,8 @@ func Getpagesize() int { return 65536 }
//sysnb Gettimeofday(tv *Timeval) (err error)
//sysnb Time(t *Time_t) (tt Time_t, err error)
+//sys Utime(path string, buf *Utimbuf) (err error)
+
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
@@ -70,8 +76,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Sec = nsec / 1e9
@@ -94,3 +98,38 @@ func (msghdr *Msghdr) SetControllen(length int) {
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
new file mode 100644
index 00000000..1708a4bb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -0,0 +1,328 @@
+// 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)
+//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 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 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)
+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
+//sysnb setgroups(n int, list *_Gid_t) (err error)
+
+func Getpagesize() int { return 4096 }
+
+//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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+//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 <asm/unistd.h>.
+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)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
new file mode 100644
index 00000000..20b7454d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -0,0 +1,169 @@
+// 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
+
+import (
+ "sync/atomic"
+ "syscall"
+)
+
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 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 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 sysconf(name int) (n int64, err syscall.Errno)
+
+// pageSize caches the value of Getpagesize, since it can't change
+// once the system is booted.
+var pageSize int64 // accessed atomically
+
+func Getpagesize() int {
+ n := atomic.LoadInt64(&pageSize)
+ if n == 0 {
+ n, _ = sysconf(_SC_PAGESIZE)
+ atomic.StoreInt64(&pageSize, n)
+ }
+ return int(n)
+}
+
+func Ioperm(from int, num int, on int) (err error) {
+ return ENOSYS
+}
+
+func Iopl(level int) (err error) {
+ return ENOSYS
+}
+
+//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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ return
+}
+
+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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd.go
index c4e945cd..01f6a48c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -93,32 +93,16 @@ func nametomib(name string) (mib []_C_int, err error) {
return mib, nil
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- if dirent.Reclen == 0 {
- buf = nil
- break
- }
- buf = buf[dirent.Reclen:]
- if dirent.Fileno == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:dirent.Namlen])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
- }
- return origlen - len(buf), count, names
+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))
}
//sysnb pipe() (fd1 int, fd2 int, err error)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
index 1b0e1af1..afaca098 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
@@ -16,8 +16,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
index 1b6dcbe3..a6ff04ce 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
@@ -16,8 +16,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
index 87d1d6fe..68a6969b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
@@ -16,8 +16,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index 246131d2..c0d2b6c8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -53,32 +53,16 @@ func nametomib(name string) (mib []_C_int, err error) {
return nil, EINVAL
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- if dirent.Reclen == 0 {
- buf = nil
- break
- }
- buf = buf[dirent.Reclen:]
- if dirent.Fileno == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:dirent.Namlen])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
- }
- return origlen - len(buf), count, names
+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))
}
//sysnb pipe(p *[2]_C_int) (err error)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
index 9529b20e..a66ddc59 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
@@ -16,8 +16,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
index fc640294..0776c1fa 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
@@ -16,8 +16,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = nsec % 1e9 / 1e3
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
new file mode 100644
index 00000000..14ddaf3f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
@@ -0,0 +1,44 @@
+// 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
+
+import "syscall"
+
+func Getpagesize() int { return syscall.Getpagesize() }
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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)
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris.go
index eb489b15..0d4e5c4e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -44,46 +44,36 @@ func clen(n []byte) int {
return len(n)
}
-// ParseDirent parses up to max directory entries in buf,
-// appending the names to names. It returns the number
-// 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)
- for max != 0 && len(buf) > 0 {
- dirent := (*Dirent)(unsafe.Pointer(&buf[0]))
- if dirent.Reclen == 0 {
- buf = nil
- break
- }
- buf = buf[dirent.Reclen:]
- if dirent.Ino == 0 { // File absent in directory.
- continue
- }
- bytes := (*[10000]byte)(unsafe.Pointer(&dirent.Name[0]))
- var name = string(bytes[0:clen(bytes[:])])
- if name == "." || name == ".." { // Useless names
- continue
- }
- max--
- count++
- names = append(names, name)
+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 origlen - len(buf), count, names
+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true
}
-func pipe() (r uintptr, w uintptr, err uintptr)
+//sysnb pipe(p *[2]_C_int) (n int, err error)
func Pipe(p []int) (err error) {
if len(p) != 2 {
return EINVAL
}
- r0, w0, e1 := pipe()
- if e1 != 0 {
- err = syscall.Errno(e1)
+ var pp [2]_C_int
+ n, err := pipe(&pp)
+ if n != 0 {
+ return err
}
- p[0], p[1] = int(r0), int(w0)
- return
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ return nil
}
func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
@@ -269,24 +259,34 @@ func (w WaitStatus) StopSignal() syscall.Signal {
func (w WaitStatus) TrapCause() int { return -1 }
-func wait4(pid uintptr, wstatus *WaitStatus, options uintptr, rusage *Rusage) (wpid uintptr, err uintptr)
+//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) (wpid int, err error) {
- r0, e1 := wait4(uintptr(pid), wstatus, uintptr(options), rusage)
- if e1 != 0 {
- err = syscall.Errno(e1)
+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
}
- return int(r0), err
+ if wstatus != nil {
+ *wstatus = WaitStatus(status)
+ }
+ return wpid, nil
}
-func gethostname() (name string, err uintptr)
+//sys gethostname(buf []byte) (n int, err error)
func Gethostname() (name string, err error) {
- name, e1 := gethostname()
- if e1 != 0 {
- err = syscall.Errno(e1)
+ var buf [MaxHostNameLen]byte
+ n, err := gethostname(buf[:])
+ if n != 0 {
+ return "", err
+ }
+ n = clen(buf[:])
+ if n < 1 {
+ return "", EFAULT
}
- return name, err
+ return string(buf[:n]), nil
}
//sys utimes(path string, times *[2]Timeval) (err error)
@@ -422,7 +422,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) {
return
}
-//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.recvmsg
+//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
@@ -441,7 +441,7 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from
iov.Base = &dummy
iov.SetLen(1)
}
- msg.Accrights = (*int8)(unsafe.Pointer(&oob[0]))
+ msg.Accrightslen = int32(len(oob))
}
msg.Iov = &iov
msg.Iovlen = 1
@@ -461,7 +461,7 @@ func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) {
return
}
-//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.sendmsg
+//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
@@ -487,7 +487,7 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error)
iov.Base = &dummy
iov.SetLen(1)
}
- msg.Accrights = (*int8)(unsafe.Pointer(&oob[0]))
+ msg.Accrightslen = int32(len(oob))
}
msg.Iov = &iov
msg.Iovlen = 1
@@ -519,43 +519,43 @@ func Acct(path string) (err error) {
* Expose the ioctl function
*/
-//sys ioctl(fd int, req int, arg uintptr) (err error)
+//sys ioctl(fd int, req uint, arg uintptr) (err error)
-func IoctlSetInt(fd int, req int, value int) (err error) {
+func IoctlSetInt(fd int, req uint, value int) (err error) {
return ioctl(fd, req, uintptr(value))
}
-func IoctlSetWinsize(fd int, req int, value *Winsize) (err error) {
+func IoctlSetWinsize(fd int, req uint, value *Winsize) (err error) {
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
}
-func IoctlSetTermios(fd int, req int, value *Termios) (err error) {
+func IoctlSetTermios(fd int, req uint, value *Termios) (err error) {
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
}
-func IoctlSetTermio(fd int, req int, value *Termio) (err error) {
+func IoctlSetTermio(fd int, req uint, value *Termio) (err error) {
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
}
-func IoctlGetInt(fd int, req int) (int, error) {
+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 int) (*Winsize, error) {
+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 int) (*Termios, error) {
+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 int) (*Termio, error) {
+func IoctlGetTermio(fd int, req uint) (*Termio, error) {
var value Termio
err := ioctl(fd, req, uintptr(unsafe.Pointer(&value)))
return &value, err
@@ -581,8 +581,10 @@ func IoctlGetTermio(fd int, req int) (*Termio, 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 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)
@@ -599,7 +601,7 @@ func IoctlGetTermio(fd int, req int) (*Termio, error) {
//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.listen
+//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)
@@ -639,6 +641,7 @@ func IoctlGetTermio(fd int, req int) (*Termio, 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)
@@ -652,15 +655,15 @@ func IoctlGetTermio(fd int, req int) (*Termio, 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.bind
-//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.connect
+//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 sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.sendto
-//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.socket
-//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.socketpair
+//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.getsockopt
+//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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
index 2e44630c..5aff62c3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
@@ -14,8 +14,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = nsec % 1e9 / 1e3
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix.go
index b46b2502..3ed8a91f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix.go
@@ -23,6 +23,7 @@ const (
darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8
dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8
netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4
+ solaris64Bit = runtime.GOOS == "solaris" && sizeofPtr == 8
)
// Do the interface allocations only once for common
@@ -49,11 +50,6 @@ func errnoErr(e syscall.Errno) error {
return e
}
-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)
-
// Mmap manager, for use by operating system-specific implementations.
type mmapper struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
new file mode 100644
index 00000000..4cb8e8ed
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/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
+
+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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
index 8e638883..1c68758b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m32
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build 386,darwin
@@ -48,6 +48,7 @@ const (
AF_UNIX = 0x1
AF_UNSPEC = 0x0
AF_UTUN = 0x26
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -138,9 +139,26 @@ const (
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
@@ -332,13 +350,14 @@ const (
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 = 0xe
- EVFILT_THREADMARKER = 0xe
+ EVFILT_SYSCOUNT = 0xf
+ EVFILT_THREADMARKER = 0xf
EVFILT_TIMER = -0x7
EVFILT_USER = -0xa
EVFILT_VM = -0xc
@@ -349,6 +368,7 @@ const (
EV_DELETE = 0x2
EV_DISABLE = 0x8
EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
EV_ENABLE = 0x4
EV_EOF = 0x8000
EV_ERROR = 0x4000
@@ -359,16 +379,25 @@ const (
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
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
@@ -770,11 +799,13 @@ const (
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
@@ -786,9 +817,43 @@ const (
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
@@ -819,7 +884,13 @@ const (
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
@@ -843,11 +914,14 @@ const (
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
@@ -872,6 +946,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_ALERT = 0x20000000
O_APPEND = 0x8
@@ -880,6 +955,7 @@ const (
O_CREAT = 0x200
O_DIRECTORY = 0x100000
O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
@@ -932,7 +1008,10 @@ const (
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
@@ -1102,6 +1181,8 @@ const (
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
@@ -1157,11 +1238,22 @@ const (
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
@@ -1261,6 +1353,11 @@ const (
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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
index 9594f938..48f63d4f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,darwin
@@ -48,6 +48,7 @@ const (
AF_UNIX = 0x1
AF_UNSPEC = 0x0
AF_UTUN = 0x26
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -138,9 +139,26 @@ const (
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
@@ -332,13 +350,14 @@ const (
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 = 0xe
- EVFILT_THREADMARKER = 0xe
+ EVFILT_SYSCOUNT = 0xf
+ EVFILT_THREADMARKER = 0xf
EVFILT_TIMER = -0x7
EVFILT_USER = -0xa
EVFILT_VM = -0xc
@@ -349,6 +368,7 @@ const (
EV_DELETE = 0x2
EV_DISABLE = 0x8
EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
EV_ENABLE = 0x4
EV_EOF = 0x8000
EV_ERROR = 0x4000
@@ -359,16 +379,25 @@ const (
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
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
@@ -770,11 +799,13 @@ const (
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
@@ -786,9 +817,43 @@ const (
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
@@ -819,7 +884,13 @@ const (
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
@@ -843,11 +914,14 @@ const (
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
@@ -872,6 +946,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_ALERT = 0x20000000
O_APPEND = 0x8
@@ -880,6 +955,7 @@ const (
O_CREAT = 0x200
O_DIRECTORY = 0x100000
O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
@@ -932,7 +1008,10 @@ const (
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
@@ -1102,6 +1181,8 @@ const (
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
@@ -1157,11 +1238,22 @@ const (
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
@@ -1261,6 +1353,11 @@ const (
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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
index a410e88e..24cb522d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
@@ -1,11 +1,11 @@
// mkerrors.sh
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// 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
-// +build arm,darwin
-
package unix
import "syscall"
@@ -48,6 +48,7 @@ const (
AF_UNIX = 0x1
AF_UNSPEC = 0x0
AF_UTUN = 0x26
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -86,6 +87,7 @@ const (
BIOCSBLEN = 0xc0044266
BIOCSDLT = 0x80044278
BIOCSETF = 0x80104267
+ BIOCSETFNR = 0x8010427e
BIOCSETIF = 0x8020426c
BIOCSHDRCMPLT = 0x80044275
BIOCSRSIG = 0x80044273
@@ -137,9 +139,26 @@ const (
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
@@ -152,33 +171,168 @@ const (
CSUSP = 0x1a
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
@@ -196,13 +350,14 @@ const (
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 = 0xe
- EVFILT_THREADMARKER = 0xe
+ EVFILT_SYSCOUNT = 0xf
+ EVFILT_THREADMARKER = 0xf
EVFILT_TIMER = -0x7
EVFILT_USER = -0xa
EVFILT_VM = -0xc
@@ -213,6 +368,7 @@ const (
EV_DELETE = 0x2
EV_DISABLE = 0x8
EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
EV_ENABLE = 0x4
EV_EOF = 0x8000
EV_ERROR = 0x4000
@@ -223,16 +379,25 @@ const (
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
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
@@ -347,6 +512,7 @@ const (
IFT_PDP = 0xff
IFT_PFLOG = 0xf5
IFT_PFSYNC = 0xf6
+ IFT_PKTAP = 0xfe
IFT_PPP = 0x17
IFT_PROPMUX = 0x36
IFT_PROPVIRTUAL = 0x35
@@ -515,7 +681,7 @@ const (
IPV6_FAITH = 0x1d
IPV6_FLOWINFO_MASK = 0xffffff0f
IPV6_FLOWLABEL_MASK = 0xffff0f00
- IPV6_FRAGTTL = 0x78
+ IPV6_FRAGTTL = 0x3c
IPV6_FW_ADD = 0x1e
IPV6_FW_DEL = 0x1f
IPV6_FW_FLUSH = 0x20
@@ -633,11 +799,13 @@ const (
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
@@ -649,9 +817,43 @@ const (
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
@@ -682,7 +884,13 @@ const (
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
@@ -706,11 +914,14 @@ const (
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
@@ -735,6 +946,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_ALERT = 0x20000000
O_APPEND = 0x8
@@ -743,6 +955,7 @@ const (
O_CREAT = 0x200
O_DIRECTORY = 0x100000
O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
@@ -795,7 +1008,10 @@ const (
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
@@ -830,6 +1046,7 @@ const (
RTF_LOCAL = 0x200000
RTF_MODIFIED = 0x20
RTF_MULTICAST = 0x800000
+ RTF_NOIFREF = 0x2000
RTF_PINNED = 0x100000
RTF_PRCLONING = 0x10000
RTF_PROTO1 = 0x8000
@@ -964,6 +1181,8 @@ const (
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
@@ -1019,11 +1238,22 @@ const (
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
@@ -1123,6 +1353,11 @@ const (
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
@@ -1291,3 +1526,148 @@ const (
SIGXCPU = syscall.Signal(0x18)
SIGXFSZ = syscall.Signal(0x19)
)
+
+// Error table
+var errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "resource busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "device power is off",
+ 83: "device error",
+ 84: "value too large to be stored in data type",
+ 85: "bad executable (or shared library)",
+ 86: "bad CPU type in executable",
+ 87: "shared library version mismatch",
+ 88: "malformed Mach-o file",
+ 89: "operation canceled",
+ 90: "identifier removed",
+ 91: "no message of desired type",
+ 92: "illegal byte sequence",
+ 93: "attribute not found",
+ 94: "bad message",
+ 95: "EMULTIHOP (Reserved)",
+ 96: "no message available on STREAM",
+ 97: "ENOLINK (Reserved)",
+ 98: "no STREAM resources",
+ 99: "not a STREAM",
+ 100: "protocol error",
+ 101: "STREAM ioctl timeout",
+ 102: "operation not supported on socket",
+ 103: "policy not found",
+ 104: "state not recoverable",
+ 105: "previous owner died",
+ 106: "interface output queue is full",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
index 3189c6b3..cc8cc5b5 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm64,darwin
@@ -48,6 +48,7 @@ const (
AF_UNIX = 0x1
AF_UNSPEC = 0x0
AF_UTUN = 0x26
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -138,9 +139,26 @@ const (
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
@@ -332,13 +350,14 @@ const (
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 = 0xe
- EVFILT_THREADMARKER = 0xe
+ EVFILT_SYSCOUNT = 0xf
+ EVFILT_THREADMARKER = 0xf
EVFILT_TIMER = -0x7
EVFILT_USER = -0xa
EVFILT_VM = -0xc
@@ -349,6 +368,7 @@ const (
EV_DELETE = 0x2
EV_DISABLE = 0x8
EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
EV_ENABLE = 0x4
EV_EOF = 0x8000
EV_ERROR = 0x4000
@@ -359,16 +379,25 @@ const (
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
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
@@ -770,11 +799,13 @@ const (
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
@@ -786,9 +817,43 @@ const (
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
@@ -819,7 +884,13 @@ const (
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
@@ -843,11 +914,14 @@ const (
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
@@ -872,6 +946,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_ALERT = 0x20000000
O_APPEND = 0x8
@@ -880,6 +955,7 @@ const (
O_CREAT = 0x200
O_DIRECTORY = 0x100000
O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
O_DSYNC = 0x400000
O_EVTONLY = 0x8000
O_EXCL = 0x800
@@ -932,7 +1008,10 @@ const (
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
@@ -1102,6 +1181,8 @@ const (
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
@@ -1157,11 +1238,22 @@ const (
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
@@ -1261,6 +1353,11 @@ const (
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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
index 0feceee1..8f40598b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,dragonfly
@@ -37,8 +37,8 @@ const (
AF_MAX = 0x24
AF_MPLS = 0x22
AF_NATM = 0x1d
+ AF_NETBIOS = 0x6
AF_NETGRAPH = 0x20
- AF_NS = 0x6
AF_OSI = 0x7
AF_PUP = 0x4
AF_ROUTE = 0x11
@@ -46,6 +46,7 @@ const (
AF_SNA = 0xb
AF_UNIX = 0x1
AF_UNSPEC = 0x0
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -141,7 +142,22 @@ const (
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
@@ -286,24 +302,28 @@ const (
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 = 0x8
+ 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
@@ -679,7 +699,6 @@ const (
IPPROTO_SATEXPAK = 0x40
IPPROTO_SATMON = 0x45
IPPROTO_SCCSP = 0x60
- IPPROTO_SCTP = 0x84
IPPROTO_SDRP = 0x2a
IPPROTO_SEP = 0x21
IPPROTO_SKIP = 0x39
@@ -730,6 +749,7 @@ const (
IPV6_LEAVE_GROUP = 0xd
IPV6_MAXHLIM = 0xff
IPV6_MAXPACKET = 0xffff
+ IPV6_MINHLIM = 0x28
IPV6_MMTU = 0x500
IPV6_MSFILTER = 0x4a
IPV6_MULTICAST_HOPS = 0xa
@@ -778,6 +798,7 @@ const (
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
@@ -833,6 +854,7 @@ const (
MADV_SETMAP = 0xb
MADV_WILLNEED = 0x3
MAP_ANON = 0x1000
+ MAP_ANONYMOUS = 0x1000
MAP_COPY = 0x2
MAP_FILE = 0x0
MAP_FIXED = 0x10
@@ -851,6 +873,7 @@ const (
MAP_VPAGETABLE = 0x2000
MCL_CURRENT = 0x1
MCL_FUTURE = 0x2
+ MSG_CMSG_CLOEXEC = 0x1000
MSG_CTRUNC = 0x20
MSG_DONTROUTE = 0x4
MSG_DONTWAIT = 0x80
@@ -860,11 +883,11 @@ const (
MSG_FMASK = 0xffff0000
MSG_FNONBLOCKING = 0x20000
MSG_NOSIGNAL = 0x400
- MSG_NOTIFICATION = 0x200
MSG_OOB = 0x1
MSG_PEEK = 0x2
MSG_SYNC = 0x800
MSG_TRUNC = 0x10
+ MSG_UNUSED09 = 0x200
MSG_WAITALL = 0x40
MS_ASYNC = 0x1
MS_INVALIDATE = 0x2
@@ -875,12 +898,19 @@ const (
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
@@ -891,6 +921,7 @@ const (
NOTE_REVOKE = 0x40
NOTE_TRACK = 0x1
NOTE_TRACKERR = 0x2
+ NOTE_TRIGGER = 0x1000000
NOTE_WRITE = 0x2
OCRNL = 0x10
ONLCR = 0x2
@@ -898,6 +929,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_APPEND = 0x8
O_ASYNC = 0x40
@@ -910,14 +942,11 @@ const (
O_FAPPEND = 0x100000
O_FASYNCWRITE = 0x800000
O_FBLOCKING = 0x40000
- O_FBUFFERED = 0x2000000
- O_FMASK = 0x7fc0000
+ O_FMASK = 0xfc0000
O_FNONBLOCKING = 0x80000
O_FOFFSET = 0x200000
O_FSYNC = 0x80
O_FSYNCWRITE = 0x400000
- O_FUNBUFFERED = 0x1000000
- O_MAPONREAD = 0x4000000
O_NDELAY = 0x4
O_NOCTTY = 0x8000
O_NOFOLLOW = 0x100
@@ -1096,8 +1125,10 @@ const (
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
@@ -1107,6 +1138,7 @@ const (
SO_ACCEPTCONN = 0x2
SO_ACCEPTFILTER = 0x1000
SO_BROADCAST = 0x20
+ SO_CPUHINT = 0x1030
SO_DEBUG = 0x1
SO_DONTROUTE = 0x10
SO_ERROR = 0x1007
@@ -1127,8 +1159,12 @@ const (
SO_TYPE = 0x1008
SO_USELOOPBACK = 0x40
TCIFLUSH = 0x1
+ TCIOFF = 0x3
TCIOFLUSH = 0x3
+ TCION = 0x4
TCOFLUSH = 0x2
+ TCOOFF = 0x1
+ TCOON = 0x2
TCP_FASTKEEP = 0x80
TCP_KEEPCNT = 0x400
TCP_KEEPIDLE = 0x100
@@ -1227,6 +1263,8 @@ const (
VKILL = 0x5
VLNEXT = 0xe
VMIN = 0x10
+ VM_BCACHE_SIZE_MAX = 0x0
+ VM_SWZONE_SIZE_MAX = 0x4000000000
VQUIT = 0x9
VREPRINT = 0x6
VSTART = 0xc
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
index 7b95751c..1d3eec44 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m32
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build 386,freebsd
@@ -11,1456 +11,1419 @@ 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
- 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_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
- 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
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x14
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- 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_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 = 0xf6
- 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 = 0x79
- 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_FS = -0x9
- EVFILT_LIO = -0xa
- EVFILT_PROC = -0x5
- EVFILT_READ = -0x1
- EVFILT_SIGNAL = -0x6
- EVFILT_SYSCOUNT = 0xb
- 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_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
- 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 = 0x218f72
- 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_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_INFINIBAND = 0xc7
- 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_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 = 0xf6
- IFT_PFSYNC = 0xf7
- 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 = 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
- 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_MAXID = 0x34
- 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_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_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_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_ADD_SOURCE_MEMBERSHIP = 0x46
- IP_BINDANY = 0x18
- 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_FAITH = 0x16
- 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_RECVIF = 0x14
- IP_RECVOPTS = 0x5
- IP_RECVRETOPTS = 0x6
- IP_RECVTOS = 0x44
- 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_SENDSRCADDR = 0x7
- IP_TOS = 0x3
- IP_TTL = 0x4
- IP_UNBLOCK_SOURCE = 0x49
- ISIG = 0x80
- ISTRIP = 0x20
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- 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_NORESERVE = 0x40
- MAP_NOSYNC = 0x800
- MAP_PREFAULT_READ = 0x40000
- MAP_PRIVATE = 0x2
- MAP_RENAME = 0x20
- MAP_RESERVED0080 = 0x80
- MAP_RESERVED0100 = 0x100
- MAP_SHARED = 0x1
- MAP_STACK = 0x400
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- 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
- 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
- NET_RT_MAXID = 0x6
- NOFLSH = 0x80000000
- 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_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
- 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_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_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_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_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_PRCLONING = 0x10000
- 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_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
- RTV_WEIGHT = 0x100
- RT_ALL_FIBS = -0x1
- RT_CACHING_CONTEXT = 0x1
- RT_DEFAULT_FIB = 0x0
- RT_NORTREF = 0x2
- 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
- SIOCADDRT = 0x8030720a
- SIOCAIFADDR = 0x8040691a
- SIOCAIFGROUP = 0x80246987
- SIOCALIFADDR = 0x8118691b
- SIOCATMARK = 0x40047307
- SIOCDELMULTI = 0x80206932
- SIOCDELRT = 0x8030720b
- SIOCDIFADDR = 0x80206919
- SIOCDIFGROUP = 0x80246989
- SIOCDIFPHYADDR = 0x80206949
- SIOCDLIFADDR = 0x8118691d
- SIOCGDRVSPEC = 0xc01c697b
- SIOCGETSGCNT = 0xc0147210
- SIOCGETVIFCNT = 0xc014720f
- SIOCGHIWAT = 0x40047301
- 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
- SIOCGLIFADDR = 0xc118691c
- SIOCGLIFPHYADDR = 0xc118694b
- SIOCGLOWAT = 0x40047303
- SIOCGPGRP = 0x40047309
- SIOCGPRIVATE_0 = 0xc0206950
- SIOCGPRIVATE_1 = 0xc0206951
- 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
- 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_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
- TCIFLUSH = 0x1
- TCIOFLUSH = 0x3
- TCOFLUSH = 0x2
- TCP_CA_NAME_MAX = 0x10
- TCP_CONGESTION = 0x40
- 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_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
+ 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_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
+ 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
+ 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
+ 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
+ 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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
index e48e7799..ac094f9c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,freebsd
@@ -11,1461 +11,1420 @@ 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
- 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_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
- 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
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x14
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- 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_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 = 0xf6
- 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 = 0x79
- 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_FS = -0x9
- EVFILT_LIO = -0xa
- EVFILT_PROC = -0x5
- EVFILT_READ = -0x1
- EVFILT_SIGNAL = -0x6
- EVFILT_SYSCOUNT = 0xb
- 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_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
- 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 = 0x218f72
- 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_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_INFINIBAND = 0xc7
- 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_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 = 0xf6
- IFT_PFSYNC = 0xf7
- 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 = 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
- 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_MAXID = 0x34
- 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_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_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_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_ADD_SOURCE_MEMBERSHIP = 0x46
- IP_BINDANY = 0x18
- 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_FAITH = 0x16
- 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_RECVIF = 0x14
- IP_RECVOPTS = 0x5
- IP_RECVRETOPTS = 0x6
- IP_RECVTOS = 0x44
- 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_SENDSRCADDR = 0x7
- IP_TOS = 0x3
- IP_TTL = 0x4
- IP_UNBLOCK_SOURCE = 0x49
- ISIG = 0x80
- ISTRIP = 0x20
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- 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_NORESERVE = 0x40
- MAP_NOSYNC = 0x800
- MAP_PREFAULT_READ = 0x40000
- MAP_PRIVATE = 0x2
- MAP_RENAME = 0x20
- MAP_RESERVED0080 = 0x80
- MAP_RESERVED0100 = 0x100
- MAP_SHARED = 0x1
- MAP_STACK = 0x400
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- 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
- 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
- NET_RT_MAXID = 0x6
- NOFLSH = 0x80000000
- 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_MSECONDS = 0x2
- NOTE_NSECONDS = 0x8
- NOTE_PCTRLMASK = 0xf0000000
- NOTE_PDATAMASK = 0xfffff
- 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
- 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_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_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_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_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_PRCLONING = 0x10000
- 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_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
- RTV_WEIGHT = 0x100
- RT_ALL_FIBS = -0x1
- RT_CACHING_CONTEXT = 0x1
- RT_DEFAULT_FIB = 0x0
- RT_NORTREF = 0x2
- 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
- SIOCADDRT = 0x8040720a
- SIOCAIFADDR = 0x8040691a
- SIOCAIFGROUP = 0x80286987
- SIOCALIFADDR = 0x8118691b
- SIOCATMARK = 0x40047307
- SIOCDELMULTI = 0x80206932
- SIOCDELRT = 0x8040720b
- SIOCDIFADDR = 0x80206919
- SIOCDIFGROUP = 0x80286989
- SIOCDIFPHYADDR = 0x80206949
- SIOCDLIFADDR = 0x8118691d
- SIOCGDRVSPEC = 0xc028697b
- SIOCGETSGCNT = 0xc0207210
- SIOCGETVIFCNT = 0xc028720f
- SIOCGHIWAT = 0x40047301
- 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
- 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
- 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
- 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_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
- TCIFLUSH = 0x1
- TCIOFLUSH = 0x3
- TCOFLUSH = 0x2
- TCP_CA_NAME_MAX = 0x10
- TCP_CONGESTION = 0x40
- 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_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
+ 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_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
+ 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
+ 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
+ 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
+ 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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
index 2afbe2d5..c5c6f13e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
@@ -1,5 +1,5 @@
// mkerrors.sh
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm,freebsd
@@ -11,1442 +11,1428 @@ 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
- 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_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
- BRKINT = 0x2
- CFLUSH = 0xf
- CLOCAL = 0x8000
- CREAD = 0x800
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x14
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- 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_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 = 0xf6
- 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 = 0x79
- 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_FS = -0x9
- EVFILT_LIO = -0xa
- EVFILT_PROC = -0x5
- EVFILT_READ = -0x1
- EVFILT_SIGNAL = -0x6
- EVFILT_SYSCOUNT = 0xb
- 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_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
- 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 = 0x218f72
- 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_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_INFINIBAND = 0xc7
- 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_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 = 0xf6
- IFT_PFSYNC = 0xf7
- 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 = 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
- 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_MAXID = 0x34
- 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_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_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_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_ADD_SOURCE_MEMBERSHIP = 0x46
- IP_BINDANY = 0x18
- 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_FAITH = 0x16
- 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_RECVIF = 0x14
- IP_RECVOPTS = 0x5
- IP_RECVRETOPTS = 0x6
- IP_RECVTOS = 0x44
- 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_SENDSRCADDR = 0x7
- IP_TOS = 0x3
- IP_TTL = 0x4
- IP_UNBLOCK_SOURCE = 0x49
- ISIG = 0x80
- ISTRIP = 0x20
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- 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_NORESERVE = 0x40
- MAP_NOSYNC = 0x800
- MAP_PREFAULT_READ = 0x40000
- MAP_PRIVATE = 0x2
- MAP_RENAME = 0x20
- MAP_RESERVED0080 = 0x80
- MAP_RESERVED0100 = 0x100
- MAP_SHARED = 0x1
- MAP_STACK = 0x400
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- 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
- 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
- NET_RT_MAXID = 0x6
- NOFLSH = 0x80000000
- 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_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
- 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_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_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_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_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_PRCLONING = 0x10000
- 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_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
- RTV_WEIGHT = 0x100
- RT_ALL_FIBS = -0x1
- RT_CACHING_CONTEXT = 0x1
- RT_DEFAULT_FIB = 0x0
- RT_NORTREF = 0x2
- 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
- SIOCADDRT = 0x8030720a
- SIOCAIFADDR = 0x8040691a
- SIOCAIFGROUP = 0x80246987
- SIOCALIFADDR = 0x8118691b
- SIOCATMARK = 0x40047307
- SIOCDELMULTI = 0x80206932
- SIOCDELRT = 0x8030720b
- SIOCDIFADDR = 0x80206919
- SIOCDIFGROUP = 0x80246989
- SIOCDIFPHYADDR = 0x80206949
- SIOCDLIFADDR = 0x8118691d
- SIOCGDRVSPEC = 0xc01c697b
- SIOCGETSGCNT = 0xc0147210
- SIOCGETVIFCNT = 0xc014720f
- SIOCGHIWAT = 0x40047301
- 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
- SIOCGLIFADDR = 0xc118691c
- SIOCGLIFPHYADDR = 0xc118694b
- SIOCGLOWAT = 0x40047303
- SIOCGPGRP = 0x40047309
- SIOCGPRIVATE_0 = 0xc0206950
- SIOCGPRIVATE_1 = 0xc0206951
- 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
- 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_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
- TCIFLUSH = 0x1
- TCIOFLUSH = 0x3
- TCOFLUSH = 0x2
- TCP_CA_NAME_MAX = 0x10
- TCP_CONGESTION = 0x40
- 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_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
+ 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_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
+ 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
+ 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
+ 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
+ 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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index d370be0e..a6b3b5f1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -1,1472 +1,1835 @@
-// mkerrors.sh -m32
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build 386,linux
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -m32 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x28
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_NFC = 0x27
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- 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_IEEE802_TR = 0x320
- ARPHRD_INFINIBAND = 0x20
- ARPHRD_IPDDP = 0x309
- ARPHRD_IPGRE = 0x30a
- ARPHRD_IRDA = 0x30f
- ARPHRD_LAPB = 0x204
- ARPHRD_LOCALTLK = 0x305
- ARPHRD_LOOPBACK = 0x304
- ARPHRD_METRICOM = 0x17
- 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_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_X25 = 0x10f
- 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
- BOTHER = 0x1000
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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 = 0x100f
- CBAUDEX = 0x1000
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x200
- CR2 = 0x400
- CR3 = 0x600
- CRDLY = 0x600
- CREAD = 0x80
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x10
- CS7 = 0x20
- CS8 = 0x30
- CSIGNAL = 0xff
- CSIZE = 0x30
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x40
- CSUSP = 0x1a
- 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
- ENCODING_DEFAULT = 0x0
- ENCODING_FM_MARK = 0x3
- ENCODING_FM_SPACE = 0x4
- ENCODING_MANCHESTER = 0x5
- ENCODING_NRZ = 0x1
- ENCODING_NRZI = 0x2
- EPOLLERR = 0x8
- EPOLLET = 0x80000000
- EPOLLHUP = 0x10
- EPOLLIN = 0x1
- EPOLLMSG = 0x400
- EPOLLONESHOT = 0x40000000
- EPOLLOUT = 0x4
- EPOLLPRI = 0x2
- EPOLLRDBAND = 0x80
- EPOLLRDHUP = 0x2000
- EPOLLRDNORM = 0x40
- EPOLLWRBAND = 0x200
- EPOLLWRNORM = 0x100
- EPOLL_CLOEXEC = 0x80000
- EPOLL_CTL_ADD = 0x1
- EPOLL_CTL_DEL = 0x2
- EPOLL_CTL_MOD = 0x3
- EPOLL_NONBLOCK = 0x800
- ETH_P_1588 = 0x88f7
- ETH_P_8021AD = 0x88a8
- ETH_P_8021AH = 0x88e7
- ETH_P_8021Q = 0x8100
- ETH_P_802_2 = 0x4
- ETH_P_802_3 = 0x1
- 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_BPQ = 0x8ff
- ETH_P_CAIF = 0xf7
- ETH_P_CAN = 0xc
- 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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- 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_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_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x8000
- FFDLY = 0x8000
- FLUSHO = 0x1000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x7
- IFF_802_1Q_VLAN = 0x1
- IFF_ALLMULTI = 0x200
- IFF_AUTOMEDIA = 0x4000
- IFF_BONDING = 0x20
- IFF_BRIDGE_PORT = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_DISABLE_NETPOLL = 0x1000
- IFF_DONT_BRIDGE = 0x800
- IFF_DORMANT = 0x20000
- IFF_DYNAMIC = 0x8000
- IFF_EBRIDGE = 0x2
- IFF_ECHO = 0x40000
- IFF_ISATAP = 0x80
- IFF_LOOPBACK = 0x8
- IFF_LOWER_UP = 0x10000
- IFF_MACVLAN_PORT = 0x2000
- IFF_MASTER = 0x400
- IFF_MASTER_8023AD = 0x8
- IFF_MASTER_ALB = 0x10
- IFF_MASTER_ARPMON = 0x100
- IFF_MULTICAST = 0x1000
- IFF_NOARP = 0x80
- IFF_NOTRAILERS = 0x20
- IFF_NO_PI = 0x1000
- IFF_ONE_QUEUE = 0x2000
- IFF_OVS_DATAPATH = 0x8000
- IFF_POINTOPOINT = 0x10
- IFF_PORTSEL = 0x2000
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SLAVE = 0x800
- IFF_SLAVE_INACTIVE = 0x4
- IFF_SLAVE_NEEDARP = 0x40
- IFF_TAP = 0x2
- IFF_TUN = 0x1
- IFF_TUN_EXCL = 0x8000
- IFF_TX_SKB_SHARING = 0x10000
- IFF_UNICAST_FLT = 0x20000
- IFF_UP = 0x1
- IFF_VNET_HDR = 0x4000
- IFF_VOLATILE = 0x70c5a
- IFF_WAN_HDLC = 0x200
- IFF_XMIT_DST_RELEASE = 0x400
- 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_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
- IPPROTO_AH = 0x33
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- IPV6_PKTINFO = 0x32
- IPV6_PMTUDISC_DO = 0x2
- IPV6_PMTUDISC_DONT = 0x0
- IPV6_PMTUDISC_PROBE = 0x3
- IPV6_PMTUDISC_WANT = 0x1
- IPV6_RECVDSTOPTS = 0x3a
- IPV6_RECVERR = 0x19
- IPV6_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_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_PROBE = 0x3
- IP_PMTUDISC_WANT = 0x1
- IP_RECVERR = 0xb
- 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_XFRM_POLICY = 0x11
- ISIG = 0x1
- ISTRIP = 0x20
- IUCLC = 0x200
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x1000
- IXON = 0x400
- 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_DOFORK = 0xb
- MADV_DONTFORK = 0xa
- MADV_DONTNEED = 0x4
- MADV_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_32BIT = 0x40
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- MAP_GROWSDOWN = 0x100
- MAP_HUGETLB = 0x40000
- MAP_LOCKED = 0x2000
- MAP_NONBLOCK = 0x10000
- MAP_NORESERVE = 0x4000
- MAP_POPULATE = 0x8000
- MAP_PRIVATE = 0x2
- MAP_SHARED = 0x1
- MAP_STACK = 0x20000
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_CRYPTO = 0x15
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- NETLINK_NETFILTER = 0xc
- NETLINK_NFLOG = 0x5
- NETLINK_NO_ENOBUFS = 0x5
- NETLINK_PKTINFO = 0x3
- NETLINK_RDMA = 0x14
- NETLINK_ROUTE = 0x0
- NETLINK_SCSITRANSPORT = 0x12
- NETLINK_SELINUX = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_DUMP_INTR = 0x10
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x2
- ONLCR = 0x4
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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_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_CPU = 0x2
- PACKET_FANOUT_FLAG_DEFRAG = 0x8000
- PACKET_FANOUT_HASH = 0x0
- PACKET_FANOUT_LB = 0x1
- PACKET_FASTROUTE = 0x6
- PACKET_HDRLEN = 0xb
- PACKET_HOST = 0x0
- 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_RECV_OUTPUT = 0x3
- PACKET_RESERVE = 0xc
- PACKET_RX_RING = 0x5
- PACKET_STATISTICS = 0x6
- PACKET_TIMESTAMP = 0x11
- PACKET_TX_RING = 0xd
- PACKET_TX_TIMESTAMP = 0x10
- 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
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_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_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- 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_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_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- PR_SET_KEEPCAPS = 0x8
- PR_SET_MM = 0x23
- PR_SET_MM_BRK = 0x7
- PR_SET_MM_END_CODE = 0x2
- PR_SET_MM_END_DATA = 0x4
- 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_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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_GET_THREAD_AREA = 0x19
- PTRACE_INTERRUPT = 0x4207
- PTRACE_KILL = 0x8
- PTRACE_LISTEN = 0x4208
- PTRACE_OLDSETOPTIONS = 0x15
- PTRACE_O_MASK = 0xff
- 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_PEEKTEXT = 0x1
- PTRACE_PEEKUSR = 0x3
- PTRACE_POKEDATA = 0x5
- PTRACE_POKETEXT = 0x4
- PTRACE_POKEUSR = 0x6
- PTRACE_SEIZE = 0x4206
- PTRACE_SEIZE_DEVEL = 0x80000000
- PTRACE_SETFPREGS = 0xf
- PTRACE_SETFPXREGS = 0x13
- PTRACE_SETOPTIONS = 0x4200
- PTRACE_SETREGS = 0xd
- PTRACE_SETREGSET = 0x4205
- PTRACE_SETSIGINFO = 0x4203
- PTRACE_SET_THREAD_AREA = 0x1a
- PTRACE_SINGLEBLOCK = 0x21
- PTRACE_SINGLESTEP = 0x9
- PTRACE_SYSCALL = 0x18
- PTRACE_SYSEMU = 0x1f
- PTRACE_SYSEMU_SINGLESTEP = 0x20
- PTRACE_TRACEME = 0x0
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xe
- RTAX_MTU = 0x2
- 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 = 0x10
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x4f
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x10
- RTM_NR_MSGTYPES = 0x40
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_MARK = 0x24
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x10
- SO_PASSSEC = 0x22
- SO_PEERCRED = 0x11
- 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_REUSEADDR = 0x2
- SO_RXQ_OVFL = 0x28
- SO_SECURITY_AUTHENTICATION = 0x16
- SO_SECURITY_ENCRYPTION_NETWORK = 0x18
- SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
- SO_SNDBUF = 0x7
- SO_SNDBUFFORCE = 0x20
- SO_SNDLOWAT = 0x13
- SO_SNDTIMEO = 0x15
- SO_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- 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
- 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_CONGESTION = 0xd
- TCP_CORK = 0x3
- TCP_DEFER_ACCEPT = 0x9
- TCP_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_NODELAY = 0x1
- TCP_QUICKACK = 0xc
- TCP_SYNCNT = 0x7
- TCP_WINDOW_CLAMP = 0xa
- 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
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x80045432
- TIOCGETD = 0x5424
- TIOCGEXCL = 0x80045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGPGRP = 0x540f
- TIOCGPKT = 0x80045438
- TIOCGPTLCK = 0x80045439
- TIOCGPTN = 0x80045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSPGRP = 0x5410
- TIOCSPTLCK = 0x40045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTI = 0x5412
- TIOCSWINSZ = 0x5414
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x100
- TUNATTACHFILTER = 0x400854d5
- TUNDETACHFILTER = 0x400854d6
- TUNGETFEATURES = 0x800454cf
- TUNGETIFF = 0x800454d2
- TUNGETSNDBUF = 0x800454d3
- TUNGETVNETHDRSZ = 0x800454d7
- TUNSETDEBUG = 0x400454c9
- TUNSETGROUP = 0x400454ce
- TUNSETIFF = 0x400454ca
- TUNSETLINK = 0x400454cd
- TUNSETNOCSUM = 0x400454c8
- TUNSETOFFLOAD = 0x400454d0
- TUNSETOWNER = 0x400454cc
- TUNSETPERSIST = 0x400454cb
- TUNSETSNDBUF = 0x400454d4
- TUNSETTXFILTER = 0x400454d1
- TUNSETVNETHDRSZ = 0x400454d8
- VDISCARD = 0xd
- VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x6
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x20
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4
- XTABS = 0x1800
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_32BIT = 0x40
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x400854d5
+ TUNDETACHFILTER = 0x400854d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x800854db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
)
// Errors
@@ -1761,7 +2124,7 @@ var errors = [...]string{
113: "no route to host",
114: "operation already in progress",
115: "operation now in progress",
- 116: "stale NFS file handle",
+ 116: "stale file handle",
117: "structure needs cleaning",
118: "not a XENIX named type file",
119: "no XENIX semaphores available",
@@ -1778,7 +2141,7 @@ var errors = [...]string{
130: "owner died",
131: "state not recoverable",
132: "operation not possible due to RF-kill",
- 133: "unknown error 133",
+ 133: "memory page has hardware error",
}
// Signal table
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index b83fb40b..4ffc8d29 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -1,1473 +1,1836 @@
-// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,linux
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -m64 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x28
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_NFC = 0x27
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- 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_IEEE802_TR = 0x320
- ARPHRD_INFINIBAND = 0x20
- ARPHRD_IPDDP = 0x309
- ARPHRD_IPGRE = 0x30a
- ARPHRD_IRDA = 0x30f
- ARPHRD_LAPB = 0x204
- ARPHRD_LOCALTLK = 0x305
- ARPHRD_LOOPBACK = 0x304
- ARPHRD_METRICOM = 0x17
- 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_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_X25 = 0x10f
- 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
- BOTHER = 0x1000
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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 = 0x100f
- CBAUDEX = 0x1000
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x200
- CR2 = 0x400
- CR3 = 0x600
- CRDLY = 0x600
- CREAD = 0x80
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x10
- CS7 = 0x20
- CS8 = 0x30
- CSIGNAL = 0xff
- CSIZE = 0x30
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x40
- CSUSP = 0x1a
- 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
- ENCODING_DEFAULT = 0x0
- ENCODING_FM_MARK = 0x3
- ENCODING_FM_SPACE = 0x4
- ENCODING_MANCHESTER = 0x5
- ENCODING_NRZ = 0x1
- ENCODING_NRZI = 0x2
- EPOLLERR = 0x8
- EPOLLET = 0x80000000
- EPOLLHUP = 0x10
- EPOLLIN = 0x1
- EPOLLMSG = 0x400
- EPOLLONESHOT = 0x40000000
- EPOLLOUT = 0x4
- EPOLLPRI = 0x2
- EPOLLRDBAND = 0x80
- EPOLLRDHUP = 0x2000
- EPOLLRDNORM = 0x40
- EPOLLWRBAND = 0x200
- EPOLLWRNORM = 0x100
- EPOLL_CLOEXEC = 0x80000
- EPOLL_CTL_ADD = 0x1
- EPOLL_CTL_DEL = 0x2
- EPOLL_CTL_MOD = 0x3
- EPOLL_NONBLOCK = 0x800
- ETH_P_1588 = 0x88f7
- ETH_P_8021AD = 0x88a8
- ETH_P_8021AH = 0x88e7
- ETH_P_8021Q = 0x8100
- ETH_P_802_2 = 0x4
- ETH_P_802_3 = 0x1
- 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_BPQ = 0x8ff
- ETH_P_CAIF = 0xf7
- ETH_P_CAN = 0xc
- 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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- 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_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_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x8000
- FFDLY = 0x8000
- FLUSHO = 0x1000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x7
- IFF_802_1Q_VLAN = 0x1
- IFF_ALLMULTI = 0x200
- IFF_AUTOMEDIA = 0x4000
- IFF_BONDING = 0x20
- IFF_BRIDGE_PORT = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_DISABLE_NETPOLL = 0x1000
- IFF_DONT_BRIDGE = 0x800
- IFF_DORMANT = 0x20000
- IFF_DYNAMIC = 0x8000
- IFF_EBRIDGE = 0x2
- IFF_ECHO = 0x40000
- IFF_ISATAP = 0x80
- IFF_LOOPBACK = 0x8
- IFF_LOWER_UP = 0x10000
- IFF_MACVLAN_PORT = 0x2000
- IFF_MASTER = 0x400
- IFF_MASTER_8023AD = 0x8
- IFF_MASTER_ALB = 0x10
- IFF_MASTER_ARPMON = 0x100
- IFF_MULTICAST = 0x1000
- IFF_NOARP = 0x80
- IFF_NOTRAILERS = 0x20
- IFF_NO_PI = 0x1000
- IFF_ONE_QUEUE = 0x2000
- IFF_OVS_DATAPATH = 0x8000
- IFF_POINTOPOINT = 0x10
- IFF_PORTSEL = 0x2000
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SLAVE = 0x800
- IFF_SLAVE_INACTIVE = 0x4
- IFF_SLAVE_NEEDARP = 0x40
- IFF_TAP = 0x2
- IFF_TUN = 0x1
- IFF_TUN_EXCL = 0x8000
- IFF_TX_SKB_SHARING = 0x10000
- IFF_UNICAST_FLT = 0x20000
- IFF_UP = 0x1
- IFF_VNET_HDR = 0x4000
- IFF_VOLATILE = 0x70c5a
- IFF_WAN_HDLC = 0x200
- IFF_XMIT_DST_RELEASE = 0x400
- 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_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
- IPPROTO_AH = 0x33
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- IPV6_PKTINFO = 0x32
- IPV6_PMTUDISC_DO = 0x2
- IPV6_PMTUDISC_DONT = 0x0
- IPV6_PMTUDISC_PROBE = 0x3
- IPV6_PMTUDISC_WANT = 0x1
- IPV6_RECVDSTOPTS = 0x3a
- IPV6_RECVERR = 0x19
- IPV6_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_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_PROBE = 0x3
- IP_PMTUDISC_WANT = 0x1
- IP_RECVERR = 0xb
- 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_XFRM_POLICY = 0x11
- ISIG = 0x1
- ISTRIP = 0x20
- IUCLC = 0x200
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x1000
- IXON = 0x400
- 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_DOFORK = 0xb
- MADV_DONTFORK = 0xa
- MADV_DONTNEED = 0x4
- MADV_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_32BIT = 0x40
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- MAP_GROWSDOWN = 0x100
- MAP_HUGETLB = 0x40000
- MAP_LOCKED = 0x2000
- MAP_NONBLOCK = 0x10000
- MAP_NORESERVE = 0x4000
- MAP_POPULATE = 0x8000
- MAP_PRIVATE = 0x2
- MAP_SHARED = 0x1
- MAP_STACK = 0x20000
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_CRYPTO = 0x15
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- NETLINK_NETFILTER = 0xc
- NETLINK_NFLOG = 0x5
- NETLINK_NO_ENOBUFS = 0x5
- NETLINK_PKTINFO = 0x3
- NETLINK_RDMA = 0x14
- NETLINK_ROUTE = 0x0
- NETLINK_SCSITRANSPORT = 0x12
- NETLINK_SELINUX = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_DUMP_INTR = 0x10
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x2
- ONLCR = 0x4
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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_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_CPU = 0x2
- PACKET_FANOUT_FLAG_DEFRAG = 0x8000
- PACKET_FANOUT_HASH = 0x0
- PACKET_FANOUT_LB = 0x1
- PACKET_FASTROUTE = 0x6
- PACKET_HDRLEN = 0xb
- PACKET_HOST = 0x0
- 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_RECV_OUTPUT = 0x3
- PACKET_RESERVE = 0xc
- PACKET_RX_RING = 0x5
- PACKET_STATISTICS = 0x6
- PACKET_TIMESTAMP = 0x11
- PACKET_TX_RING = 0xd
- PACKET_TX_TIMESTAMP = 0x10
- 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
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_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_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- 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_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_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- PR_SET_KEEPCAPS = 0x8
- PR_SET_MM = 0x23
- PR_SET_MM_BRK = 0x7
- PR_SET_MM_END_CODE = 0x2
- PR_SET_MM_END_DATA = 0x4
- 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 = -0x1
- PR_SET_SECCOMP = 0x16
- PR_SET_SECUREBITS = 0x1c
- PR_SET_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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_GET_THREAD_AREA = 0x19
- PTRACE_INTERRUPT = 0x4207
- PTRACE_KILL = 0x8
- PTRACE_LISTEN = 0x4208
- PTRACE_OLDSETOPTIONS = 0x15
- PTRACE_O_MASK = 0xff
- 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_PEEKTEXT = 0x1
- PTRACE_PEEKUSR = 0x3
- PTRACE_POKEDATA = 0x5
- PTRACE_POKETEXT = 0x4
- PTRACE_POKEUSR = 0x6
- PTRACE_SEIZE = 0x4206
- PTRACE_SEIZE_DEVEL = 0x80000000
- PTRACE_SETFPREGS = 0xf
- PTRACE_SETFPXREGS = 0x13
- PTRACE_SETOPTIONS = 0x4200
- PTRACE_SETREGS = 0xd
- PTRACE_SETREGSET = 0x4205
- PTRACE_SETSIGINFO = 0x4203
- PTRACE_SET_THREAD_AREA = 0x1a
- PTRACE_SINGLEBLOCK = 0x21
- PTRACE_SINGLESTEP = 0x9
- PTRACE_SYSCALL = 0x18
- PTRACE_SYSEMU = 0x1f
- PTRACE_SYSEMU_SINGLESTEP = 0x20
- PTRACE_TRACEME = 0x0
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xe
- RTAX_MTU = 0x2
- 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 = 0x10
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x4f
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x10
- RTM_NR_MSGTYPES = 0x40
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_MARK = 0x24
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x10
- SO_PASSSEC = 0x22
- SO_PEERCRED = 0x11
- 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_REUSEADDR = 0x2
- SO_RXQ_OVFL = 0x28
- SO_SECURITY_AUTHENTICATION = 0x16
- SO_SECURITY_ENCRYPTION_NETWORK = 0x18
- SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
- SO_SNDBUF = 0x7
- SO_SNDBUFFORCE = 0x20
- SO_SNDLOWAT = 0x13
- SO_SNDTIMEO = 0x15
- SO_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- 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
- 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_CONGESTION = 0xd
- TCP_CORK = 0x3
- TCP_DEFER_ACCEPT = 0x9
- TCP_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_NODELAY = 0x1
- TCP_QUICKACK = 0xc
- TCP_SYNCNT = 0x7
- TCP_WINDOW_CLAMP = 0xa
- 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
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x80045432
- TIOCGETD = 0x5424
- TIOCGEXCL = 0x80045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGPGRP = 0x540f
- TIOCGPKT = 0x80045438
- TIOCGPTLCK = 0x80045439
- TIOCGPTN = 0x80045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSPGRP = 0x5410
- TIOCSPTLCK = 0x40045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTI = 0x5412
- TIOCSWINSZ = 0x5414
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x100
- TUNATTACHFILTER = 0x401054d5
- TUNDETACHFILTER = 0x401054d6
- TUNGETFEATURES = 0x800454cf
- TUNGETIFF = 0x800454d2
- TUNGETSNDBUF = 0x800454d3
- TUNGETVNETHDRSZ = 0x800454d7
- TUNSETDEBUG = 0x400454c9
- TUNSETGROUP = 0x400454ce
- TUNSETIFF = 0x400454ca
- TUNSETLINK = 0x400454cd
- TUNSETNOCSUM = 0x400454c8
- TUNSETOFFLOAD = 0x400454d0
- TUNSETOWNER = 0x400454cc
- TUNSETPERSIST = 0x400454cb
- TUNSETSNDBUF = 0x400454d4
- TUNSETTXFILTER = 0x400454d1
- TUNSETVNETHDRSZ = 0x400454d8
- VDISCARD = 0xd
- VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x6
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x40
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4
- XTABS = 0x1800
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_32BIT = 0x40
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
)
// Errors
@@ -1762,7 +2125,7 @@ var errors = [...]string{
113: "no route to host",
114: "operation already in progress",
115: "operation now in progress",
- 116: "stale NFS file handle",
+ 116: "stale file handle",
117: "structure needs cleaning",
118: "not a XENIX named type file",
119: "no XENIX semaphores available",
@@ -1779,7 +2142,7 @@ var errors = [...]string{
130: "owner died",
131: "state not recoverable",
132: "operation not possible due to RF-kill",
- 133: "unknown error 133",
+ 133: "memory page has hardware error",
}
// Signal table
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index 1cc76a78..f4b178ef 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -1,1397 +1,1840 @@
-// mkerrors.sh
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm,linux
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x27
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- ARPHRD_ADAPT = 0x108
- ARPHRD_APPLETLK = 0x8
- ARPHRD_ARCNET = 0x7
- ARPHRD_ASH = 0x30d
- ARPHRD_ATM = 0x13
- ARPHRD_AX25 = 0x3
- ARPHRD_BIF = 0x307
- 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_PHY = 0x325
- ARPHRD_IEEE802_TR = 0x320
- ARPHRD_INFINIBAND = 0x20
- ARPHRD_IPDDP = 0x309
- ARPHRD_IPGRE = 0x30a
- ARPHRD_IRDA = 0x30f
- ARPHRD_LAPB = 0x204
- ARPHRD_LOCALTLK = 0x305
- ARPHRD_LOOPBACK = 0x304
- ARPHRD_METRICOM = 0x17
- ARPHRD_NETROM = 0x0
- ARPHRD_NONE = 0xfffe
- ARPHRD_PIMREG = 0x30b
- ARPHRD_PPP = 0x200
- ARPHRD_PRONET = 0x4
- ARPHRD_RAWHDLC = 0x206
- 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_X25 = 0x10f
- 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
- BOTHER = 0x1000
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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 = 0x100f
- CBAUDEX = 0x1000
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x200
- CR2 = 0x400
- CR3 = 0x600
- CRDLY = 0x600
- CREAD = 0x80
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x10
- CS7 = 0x20
- CS8 = 0x30
- CSIGNAL = 0xff
- CSIZE = 0x30
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x40
- CSUSP = 0x1a
- 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
- ELF_NGREG = 0x12
- ELF_PRARGSZ = 0x50
- ECHO = 0x8
- ECHOCTL = 0x200
- ECHOE = 0x10
- ECHOK = 0x20
- ECHOKE = 0x800
- ECHONL = 0x40
- ECHOPRT = 0x400
- EPOLLERR = 0x8
- EPOLLET = -0x80000000
- EPOLLHUP = 0x10
- EPOLLIN = 0x1
- EPOLLMSG = 0x400
- EPOLLONESHOT = 0x40000000
- EPOLLOUT = 0x4
- EPOLLPRI = 0x2
- EPOLLRDBAND = 0x80
- EPOLLRDHUP = 0x2000
- EPOLLRDNORM = 0x40
- EPOLLWRBAND = 0x200
- EPOLLWRNORM = 0x100
- EPOLL_CLOEXEC = 0x80000
- EPOLL_CTL_ADD = 0x1
- EPOLL_CTL_DEL = 0x2
- EPOLL_CTL_MOD = 0x3
- EPOLL_NONBLOCK = 0x800
- ETH_P_1588 = 0x88f7
- ETH_P_8021Q = 0x8100
- ETH_P_802_2 = 0x4
- ETH_P_802_3 = 0x1
- ETH_P_AARP = 0x80f3
- 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_BPQ = 0x8ff
- ETH_P_CAIF = 0xf7
- ETH_P_CAN = 0xc
- 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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- 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_PUP = 0x200
- ETH_P_PUPAT = 0x201
- ETH_P_RARP = 0x8035
- ETH_P_SCA = 0x6007
- ETH_P_SLOW = 0x8809
- ETH_P_SNAP = 0x5
- ETH_P_TEB = 0x6558
- ETH_P_TIPC = 0x88ca
- ETH_P_TRAILER = 0x1c
- ETH_P_TR_802_2 = 0x11
- ETH_P_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x8000
- FFDLY = 0x8000
- FLUSHO = 0x1000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x7
- IFF_ALLMULTI = 0x200
- IFF_AUTOMEDIA = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_DYNAMIC = 0x8000
- IFF_LOOPBACK = 0x8
- IFF_MASTER = 0x400
- IFF_MULTICAST = 0x1000
- IFF_NOARP = 0x80
- IFF_NOTRAILERS = 0x20
- IFF_NO_PI = 0x1000
- IFF_ONE_QUEUE = 0x2000
- 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
- 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_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
- IPPROTO_AH = 0x33
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- IPV6_PKTINFO = 0x32
- IPV6_PMTUDISC_DO = 0x2
- IPV6_PMTUDISC_DONT = 0x0
- IPV6_PMTUDISC_PROBE = 0x3
- IPV6_PMTUDISC_WANT = 0x1
- IPV6_RECVDSTOPTS = 0x3a
- IPV6_RECVERR = 0x19
- IPV6_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_IF = 0x20
- IP_MULTICAST_LOOP = 0x22
- IP_MULTICAST_TTL = 0x21
- 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_PROBE = 0x3
- IP_PMTUDISC_WANT = 0x1
- IP_RECVERR = 0xb
- 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_XFRM_POLICY = 0x11
- ISIG = 0x1
- ISTRIP = 0x20
- IUCLC = 0x200
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x1000
- IXON = 0x400
- 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_DOFORK = 0xb
- MADV_DONTFORK = 0xa
- MADV_DONTNEED = 0x4
- MADV_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- MAP_GROWSDOWN = 0x100
- MAP_LOCKED = 0x2000
- MAP_NONBLOCK = 0x10000
- MAP_NORESERVE = 0x4000
- MAP_POPULATE = 0x8000
- MAP_PRIVATE = 0x2
- MAP_SHARED = 0x1
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- NETLINK_NETFILTER = 0xc
- NETLINK_NFLOG = 0x5
- NETLINK_NO_ENOBUFS = 0x5
- NETLINK_PKTINFO = 0x3
- NETLINK_RDMA = 0x14
- NETLINK_ROUTE = 0x0
- NETLINK_SCSITRANSPORT = 0x12
- NETLINK_SELINUX = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x2
- ONLCR = 0x4
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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 = 0x1000
- 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 = 0x1000
- O_SYNC = 0x1000
- O_TRUNC = 0x200
- O_WRONLY = 0x1
- PACKET_ADD_MEMBERSHIP = 0x1
- PACKET_BROADCAST = 0x1
- PACKET_DROP_MEMBERSHIP = 0x2
- PACKET_FASTROUTE = 0x6
- PACKET_HOST = 0x0
- PACKET_LOOPBACK = 0x5
- PACKET_MR_ALLMULTI = 0x2
- PACKET_MR_MULTICAST = 0x0
- PACKET_MR_PROMISC = 0x1
- PACKET_MULTICAST = 0x2
- PACKET_OTHERHOST = 0x3
- PACKET_OUTGOING = 0x4
- PACKET_RECV_OUTPUT = 0x3
- PACKET_RX_RING = 0x5
- PACKET_STATISTICS = 0x6
- PARENB = 0x100
- PARMRK = 0x8
- PARODD = 0x200
- PENDIN = 0x4000
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_CLEAR_SECCOMP_FILTER = 0x25
- 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_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- PR_GET_KEEPCAPS = 0x7
- PR_GET_NAME = 0x10
- PR_GET_PDEATHSIG = 0x2
- PR_GET_SECCOMP = 0x15
- PR_GET_SECCOMP_FILTER = 0x23
- PR_GET_SECUREBITS = 0x1b
- 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_SECCOMP_FILTER_EVENT = 0x1
- PR_SECCOMP_FILTER_SYSCALL = 0x0
- PR_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- PR_SET_KEEPCAPS = 0x8
- PR_SET_NAME = 0xf
- PR_SET_PDEATHSIG = 0x1
- PR_SET_PTRACER = 0x59616d61
- PR_SET_SECCOMP = 0x16
- PR_SET_SECCOMP_FILTER = 0x24
- PR_SET_SECUREBITS = 0x1c
- PR_SET_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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_VFORK = 0x2
- PTRACE_EVENT_VFORK_DONE = 0x5
- PTRACE_GETCRUNCHREGS = 0x19
- PTRACE_GETEVENTMSG = 0x4201
- PTRACE_GETFPREGS = 0xe
- PTRACE_GETHBPREGS = 0x1d
- PTRACE_GETREGS = 0xc
- PTRACE_GETREGSET = 0x4204
- PTRACE_GETSIGINFO = 0x4202
- PTRACE_GETVFPREGS = 0x1b
- PTRACE_GETWMMXREGS = 0x12
- PTRACE_GET_THREAD_AREA = 0x16
- PTRACE_KILL = 0x8
- PTRACE_OLDSETOPTIONS = 0x15
- PTRACE_O_MASK = 0x7f
- PTRACE_O_TRACECLONE = 0x8
- PTRACE_O_TRACEEXEC = 0x10
- PTRACE_O_TRACEEXIT = 0x40
- PTRACE_O_TRACEFORK = 0x2
- PTRACE_O_TRACESYSGOOD = 0x1
- PTRACE_O_TRACEVFORK = 0x4
- PTRACE_O_TRACEVFORKDONE = 0x20
- PTRACE_PEEKDATA = 0x2
- PTRACE_PEEKTEXT = 0x1
- PTRACE_PEEKUSR = 0x3
- PTRACE_POKEDATA = 0x5
- PTRACE_POKETEXT = 0x4
- PTRACE_POKEUSR = 0x6
- PTRACE_SETCRUNCHREGS = 0x1a
- PTRACE_SETFPREGS = 0xf
- PTRACE_SETHBPREGS = 0x1e
- PTRACE_SETOPTIONS = 0x4200
- PTRACE_SETREGS = 0xd
- PTRACE_SETREGSET = 0x4205
- PTRACE_SETSIGINFO = 0x4203
- 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
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xe
- RTAX_MTU = 0x2
- 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 = 0x10
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x4f
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x10
- RTM_NR_MSGTYPES = 0x40
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_MARK = 0x24
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x10
- SO_PASSSEC = 0x22
- SO_PEERCRED = 0x11
- 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_REUSEADDR = 0x2
- SO_RXQ_OVFL = 0x28
- SO_SECURITY_AUTHENTICATION = 0x16
- SO_SECURITY_ENCRYPTION_NETWORK = 0x18
- SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17
- SO_SNDBUF = 0x7
- SO_SNDBUFFORCE = 0x20
- SO_SNDLOWAT = 0x13
- SO_SNDTIMEO = 0x15
- SO_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- 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
- 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_CONGESTION = 0xd
- TCP_CORK = 0x3
- TCP_DEFER_ACCEPT = 0x9
- TCP_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_NODELAY = 0x1
- TCP_QUICKACK = 0xc
- TCP_SYNCNT = 0x7
- TCP_WINDOW_CLAMP = 0xa
- 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
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x80045432
- TIOCGETD = 0x5424
- TIOCGEXCL = 0x80045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGPGRP = 0x540f
- TIOCGPKT = 0x80045438
- TIOCGPTLCK = 0x80045439
- TIOCGPTN = 0x80045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSPGRP = 0x5410
- TIOCSPTLCK = 0x40045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTI = 0x5412
- TIOCSWINSZ = 0x5414
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x100
- TUNATTACHFILTER = 0x400854d5
- TUNDETACHFILTER = 0x400854d6
- TUNGETFEATURES = 0x800454cf
- TUNGETIFF = 0x800454d2
- TUNGETSNDBUF = 0x800454d3
- TUNGETVNETHDRSZ = 0x800454d7
- TUNSETDEBUG = 0x400454c9
- TUNSETGROUP = 0x400454ce
- TUNSETIFF = 0x400454ca
- TUNSETLINK = 0x400454cd
- TUNSETNOCSUM = 0x400454c8
- TUNSETOFFLOAD = 0x400454d0
- TUNSETOWNER = 0x400454cc
- TUNSETPERSIST = 0x400454cb
- TUNSETSNDBUF = 0x400454d4
- TUNSETTXFILTER = 0x400454d1
- TUNSETVNETHDRSZ = 0x400454d8
- VDISCARD = 0xd
- VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x6
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x20
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4
- XTABS = 0x1800
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x400854d5
+ TUNDETACHFILTER = 0x400854d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x800854db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
)
// Errors
@@ -1686,7 +2129,7 @@ var errors = [...]string{
113: "no route to host",
114: "operation already in progress",
115: "operation now in progress",
- 116: "stale NFS file handle",
+ 116: "stale file handle",
117: "structure needs cleaning",
118: "not a XENIX named type file",
119: "no XENIX semaphores available",
@@ -1703,7 +2146,7 @@ var errors = [...]string{
130: "owner died",
131: "state not recoverable",
132: "operation not possible due to RF-kill",
- 133: "unknown error 133",
+ 133: "memory page has hardware error",
}
// Signal table
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 47027b79..495f13b6 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -1,1551 +1,1825 @@
-// mkerrors.sh
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// 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
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x29
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_NFC = 0x27
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_VSOCK = 0x28
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- 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_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_X25 = 0x10f
- 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
- BOTHER = 0x1000
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MOD = 0x90
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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
- BPF_XOR = 0xa0
- BRKINT = 0x2
- BS0 = 0x0
- BS1 = 0x2000
- BSDLY = 0x2000
- CBAUD = 0x100f
- CBAUDEX = 0x1000
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x200
- CR2 = 0x400
- CR3 = 0x600
- CRDLY = 0x600
- CREAD = 0x80
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x10
- CS7 = 0x20
- CS8 = 0x30
- CSIGNAL = 0xff
- CSIZE = 0x30
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x40
- CSUSP = 0x1a
- 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
- ELF_NGREG = 0x22
- ELF_PRARGSZ = 0x50
- ENCODING_DEFAULT = 0x0
- ENCODING_FM_MARK = 0x3
- ENCODING_FM_SPACE = 0x4
- ENCODING_MANCHESTER = 0x5
- ENCODING_NRZ = 0x1
- ENCODING_NRZI = 0x2
- EPOLLERR = 0x8
- EPOLLET = 0x80000000
- 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_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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- ETH_P_MVRP = 0x88f5
- 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_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_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x8000
- FFDLY = 0x8000
- FLUSHO = 0x1000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x7
- IFF_802_1Q_VLAN = 0x1
- IFF_ALLMULTI = 0x200
- IFF_ATTACH_QUEUE = 0x200
- IFF_AUTOMEDIA = 0x4000
- IFF_BONDING = 0x20
- IFF_BRIDGE_PORT = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_DETACH_QUEUE = 0x400
- IFF_DISABLE_NETPOLL = 0x1000
- IFF_DONT_BRIDGE = 0x800
- IFF_DORMANT = 0x20000
- IFF_DYNAMIC = 0x8000
- IFF_EBRIDGE = 0x2
- IFF_ECHO = 0x40000
- IFF_ISATAP = 0x80
- IFF_LIVE_ADDR_CHANGE = 0x100000
- IFF_LOOPBACK = 0x8
- IFF_LOWER_UP = 0x10000
- IFF_MACVLAN = 0x200000
- IFF_MACVLAN_PORT = 0x2000
- IFF_MASTER = 0x400
- IFF_MASTER_8023AD = 0x8
- IFF_MASTER_ALB = 0x10
- IFF_MASTER_ARPMON = 0x100
- IFF_MULTICAST = 0x1000
- IFF_MULTI_QUEUE = 0x100
- IFF_NOARP = 0x80
- IFF_NOFILTER = 0x1000
- IFF_NOTRAILERS = 0x20
- IFF_NO_PI = 0x1000
- IFF_ONE_QUEUE = 0x2000
- IFF_OVS_DATAPATH = 0x8000
- IFF_PERSIST = 0x800
- IFF_POINTOPOINT = 0x10
- IFF_PORTSEL = 0x2000
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SLAVE = 0x800
- IFF_SLAVE_INACTIVE = 0x4
- IFF_SLAVE_NEEDARP = 0x40
- IFF_SUPP_NOFCS = 0x80000
- IFF_TAP = 0x2
- IFF_TEAM_PORT = 0x40000
- IFF_TUN = 0x1
- IFF_TUN_EXCL = 0x8000
- IFF_TX_SKB_SHARING = 0x10000
- IFF_UNICAST_FLT = 0x20000
- IFF_UP = 0x1
- IFF_VNET_HDR = 0x4000
- IFF_VOLATILE = 0x70c5a
- IFF_WAN_HDLC = 0x200
- IFF_XMIT_DST_RELEASE = 0x400
- 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_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
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- IPV6_PKTINFO = 0x32
- IPV6_PMTUDISC_DO = 0x2
- IPV6_PMTUDISC_DONT = 0x0
- IPV6_PMTUDISC_PROBE = 0x3
- IPV6_PMTUDISC_WANT = 0x1
- IPV6_RECVDSTOPTS = 0x3a
- IPV6_RECVERR = 0x19
- IPV6_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_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_PROBE = 0x3
- IP_PMTUDISC_WANT = 0x1
- IP_RECVERR = 0xb
- 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
- ISTRIP = 0x20
- IUCLC = 0x200
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x1000
- IXON = 0x400
- 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_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- 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_STACK = 0x20000
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_CRYPTO = 0x15
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- 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_SOCK_DIAG = 0x4
- NETLINK_TX_RING = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_DUMP_INTR = 0x10
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x2
- ONLCR = 0x4
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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 = 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_CPU = 0x2
- PACKET_FANOUT_FLAG_DEFRAG = 0x8000
- PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
- PACKET_FANOUT_HASH = 0x0
- PACKET_FANOUT_LB = 0x1
- PACKET_FANOUT_RND = 0x4
- PACKET_FANOUT_ROLLOVER = 0x3
- PACKET_FASTROUTE = 0x6
- PACKET_HDRLEN = 0xb
- PACKET_HOST = 0x0
- 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_RECV_OUTPUT = 0x3
- PACKET_RESERVE = 0xc
- PACKET_RX_RING = 0x5
- PACKET_STATISTICS = 0x6
- PACKET_TIMESTAMP = 0x11
- PACKET_TX_HAS_OFF = 0x13
- PACKET_TX_RING = 0xd
- PACKET_TX_TIMESTAMP = 0x10
- 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
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_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_GET_CHILD_SUBREAPER = 0x25
- PR_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- 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_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_SET_CHILD_SUBREAPER = 0x24
- PR_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- 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_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 = -0x1
- PR_SET_SECCOMP = 0x16
- PR_SET_SECUREBITS = 0x1c
- PR_SET_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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 = 0x1000ff
- 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_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
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xf
- 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 = 0x11
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELMDB = 0x55
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMDB = 0x56
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETNETCONF = 0x52
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x57
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWMDB = 0x54
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWNETCONF = 0x50
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x12
- RTM_NR_MSGTYPES = 0x48
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MROUTED = 0x11
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SCM_WIFI_STATUS = 0x29
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_BUSY_POLL = 0x2e
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_GET_FILTER = 0x1a
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_LOCK_FILTER = 0x2c
- SO_MARK = 0x24
- SO_MAX_PACING_RATE = 0x2f
- SO_NOFCS = 0x2b
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x10
- SO_PASSSEC = 0x22
- SO_PEEK_OFF = 0x2a
- SO_PEERCRED = 0x11
- 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_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_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- SO_WIFI_STATUS = 0x29
- 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
- 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_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_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_MSS_DEFAULT = 0x218
- TCP_MSS_DESIRED = 0x4c4
- TCP_NODELAY = 0x1
- TCP_QUEUE_SEQ = 0x15
- TCP_QUICKACK = 0xc
- TCP_REPAIR = 0x13
- TCP_REPAIR_OPTIONS = 0x16
- TCP_REPAIR_QUEUE = 0x14
- 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_USER_TIMEOUT = 0x12
- TCP_WINDOW_CLAMP = 0xa
- 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
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x80045432
- TIOCGETD = 0x5424
- TIOCGEXCL = 0x80045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGPGRP = 0x540f
- TIOCGPKT = 0x80045438
- TIOCGPTLCK = 0x80045439
- TIOCGPTN = 0x80045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSPGRP = 0x5410
- TIOCSPTLCK = 0x40045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTI = 0x5412
- TIOCSWINSZ = 0x5414
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x100
- TUNATTACHFILTER = 0x401054d5
- TUNDETACHFILTER = 0x401054d6
- TUNGETFEATURES = 0x800454cf
- TUNGETFILTER = 0x801054db
- TUNGETIFF = 0x800454d2
- TUNGETSNDBUF = 0x800454d3
- TUNGETVNETHDRSZ = 0x800454d7
- TUNSETDEBUG = 0x400454c9
- TUNSETGROUP = 0x400454ce
- TUNSETIFF = 0x400454ca
- TUNSETIFINDEX = 0x400454da
- TUNSETLINK = 0x400454cd
- TUNSETNOCSUM = 0x400454c8
- TUNSETOFFLOAD = 0x400454d0
- TUNSETOWNER = 0x400454cc
- TUNSETPERSIST = 0x400454cb
- TUNSETQUEUE = 0x400454d9
- TUNSETSNDBUF = 0x400454d4
- TUNSETTXFILTER = 0x400454d1
- TUNSETVNETHDRSZ = 0x400454d8
- VDISCARD = 0xd
- VEOF = 0x4
- VEOL = 0xb
- VEOL2 = 0x10
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x6
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x40
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4
- XTABS = 0x1800
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
)
// Errors
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
new file mode 100644
index 00000000..59651e41
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -0,0 +1,2189 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x11
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x12
+ 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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ TIOCGLCKTRMIOS = 0x548b
+ TIOCGLTC = 0x7474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TUNATTACHFILTER = 0x800854d5
+ TUNDETACHFILTER = 0x800854d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x400854db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
new file mode 100644
index 00000000..a09bf9b1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -0,0 +1,2189 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x11
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x12
+ 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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ TIOCGLCKTRMIOS = 0x548b
+ TIOCGLTC = 0x7474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
new file mode 100644
index 00000000..72a0083c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -0,0 +1,2189 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips64le,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x11
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x12
+ 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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ TIOCGLCKTRMIOS = 0x548b
+ TIOCGLTC = 0x7474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
new file mode 100644
index 00000000..84c0e3cc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -0,0 +1,2189 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mipsle,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x11
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x12
+ 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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ TIOCGLCKTRMIOS = 0x548b
+ TIOCGLTC = 0x7474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TUNATTACHFILTER = 0x800854d5
+ TUNDETACHFILTER = 0x800854d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x400854db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index 5b90d07e..8e4606e0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -1,1623 +1,1897 @@
-// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build ppc64,linux
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -m64 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x29
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_NFC = 0x27
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_VSOCK = 0x28
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- 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_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_X25 = 0x10f
- 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
- BOTHER = 0x1f
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MOD = 0x90
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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
- BPF_XOR = 0xa0
- BRKINT = 0x2
- BS0 = 0x0
- BS1 = 0x8000
- BSDLY = 0x8000
- CBAUD = 0xff
- CBAUDEX = 0x0
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x1000
- CR2 = 0x2000
- CR3 = 0x3000
- CRDLY = 0x3000
- CREAD = 0x800
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIGNAL = 0xff
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- 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
- ENCODING_DEFAULT = 0x0
- ENCODING_FM_MARK = 0x3
- ENCODING_FM_SPACE = 0x4
- ENCODING_MANCHESTER = 0x5
- ENCODING_NRZ = 0x1
- ENCODING_NRZI = 0x2
- EPOLLERR = 0x8
- EPOLLET = 0x80000000
- 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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- ETH_P_MVRP = 0x88f5
- 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_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_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- ETH_P_XDSA = 0xf8
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x4000
- FFDLY = 0x4000
- FLUSHO = 0x800000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OFD_GETLK = 0x24
- F_OFD_SETLK = 0x25
- F_OFD_SETLKW = 0x26
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_NOPREFIXROUTE = 0x200
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x8
- 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_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_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
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- 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_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_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
- ISTRIP = 0x20
- IUCLC = 0x1000
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- 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_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- 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_STACK = 0x20000
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x2000
- MCL_FUTURE = 0x4000
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_CRYPTO = 0x15
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- 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_SOCK_DIAG = 0x4
- NETLINK_TX_RING = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_DUMP_INTR = 0x10
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80000000
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x4
- ONLCR = 0x2
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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 = 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_CPU = 0x2
- PACKET_FANOUT_FLAG_DEFRAG = 0x8000
- PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
- 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_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_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
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_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_GET_CHILD_SUBREAPER = 0x25
- PR_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- 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_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_SET_CHILD_SUBREAPER = 0x24
- PR_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- 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 = -0x1
- PR_SET_SECCOMP = 0x16
- PR_SET_SECUREBITS = 0x1c
- PR_SET_THP_DISABLE = 0x29
- PR_SET_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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 = 0x1000ff
- 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_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_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
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xf
- 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 = 0x11
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELMDB = 0x55
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMDB = 0x56
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETNETCONF = 0x52
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x57
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWMDB = 0x54
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWNETCONF = 0x50
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x12
- RTM_NR_MSGTYPES = 0x48
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MROUTED = 0x11
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SCM_WIFI_STATUS = 0x29
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BPF_EXTENSIONS = 0x30
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_BUSY_POLL = 0x2e
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_GET_FILTER = 0x1a
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_LOCK_FILTER = 0x2c
- SO_MARK = 0x24
- SO_MAX_PACING_RATE = 0x2f
- SO_NOFCS = 0x2b
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x14
- SO_PASSSEC = 0x22
- SO_PEEK_OFF = 0x2a
- SO_PEERCRED = 0x15
- 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_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_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- SO_WIFI_STATUS = 0x29
- 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
- TCFLSH = 0x2000741f
- TCGETA = 0x40147417
- TCGETS = 0x402c7413
- TCIFLUSH = 0x0
- TCIOFF = 0x2
- TCIOFLUSH = 0x2
- TCION = 0x3
- TCOFLUSH = 0x1
- TCOOFF = 0x0
- TCOON = 0x1
- 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_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_MSS_DEFAULT = 0x218
- TCP_MSS_DESIRED = 0x4c4
- TCP_NODELAY = 0x1
- TCP_QUEUE_SEQ = 0x15
- TCP_QUICKACK = 0xc
- TCP_REPAIR = 0x13
- TCP_REPAIR_OPTIONS = 0x16
- TCP_REPAIR_QUEUE = 0x14
- 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_USER_TIMEOUT = 0x12
- TCP_WINDOW_CLAMP = 0xa
- TCSAFLUSH = 0x2
- TCSBRK = 0x2000741d
- TCSBRKP = 0x5425
- TCSETA = 0x80147418
- TCSETAF = 0x8014741c
- TCSETAW = 0x80147419
- TCSETS = 0x802c7414
- TCSETSF = 0x802c7416
- TCSETSW = 0x802c7415
- TCXONC = 0x2000741e
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x40045432
- TIOCGETC = 0x40067412
- TIOCGETD = 0x5424
- TIOCGETP = 0x40067408
- TIOCGEXCL = 0x40045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGLTC = 0x40067474
- TIOCGPGRP = 0x40047477
- TIOCGPKT = 0x40045438
- TIOCGPTLCK = 0x40045439
- TIOCGPTN = 0x40045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSLTC = 0x80067475
- TIOCSPGRP = 0x80047476
- TIOCSPTLCK = 0x80045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTART = 0x2000746e
- TIOCSTI = 0x5412
- TIOCSTOP = 0x2000746f
- TIOCSWINSZ = 0x80087467
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x400000
- TUNATTACHFILTER = 0x801054d5
- TUNDETACHFILTER = 0x801054d6
- TUNGETFEATURES = 0x400454cf
- TUNGETFILTER = 0x401054db
- TUNGETIFF = 0x400454d2
- TUNGETSNDBUF = 0x400454d3
- TUNGETVNETHDRSZ = 0x400454d7
- TUNSETDEBUG = 0x800454c9
- TUNSETGROUP = 0x800454ce
- TUNSETIFF = 0x800454ca
- TUNSETIFINDEX = 0x800454da
- TUNSETLINK = 0x800454cd
- TUNSETNOCSUM = 0x800454c8
- TUNSETOFFLOAD = 0x800454d0
- TUNSETOWNER = 0x800454cc
- TUNSETPERSIST = 0x800454cb
- TUNSETQUEUE = 0x800454d9
- TUNSETSNDBUF = 0x800454d4
- TUNSETTXFILTER = 0x800454d1
- TUNSETVNETHDRSZ = 0x800454d8
- VDISCARD = 0x10
- VEOF = 0x4
- VEOL = 0x6
- VEOL2 = 0x8
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x5
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x40
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4000
- XTABS = 0xc00
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ 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
+ CBAUD = 0xff
+ CBAUDEX = 0x0
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIGNAL = 0xff
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x1000
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80000000
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x4
+ ONLCR = 0x2
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x14
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x15
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x2000741f
+ TCGETA = 0x40147417
+ TCGETS = 0x402c7413
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ TCSAFLUSH = 0x2
+ TCSBRK = 0x2000741d
+ TCSBRKP = 0x5425
+ TCSETA = 0x80147418
+ TCSETAF = 0x8014741c
+ TCSETAW = 0x80147419
+ TCSETS = 0x802c7414
+ TCSETSF = 0x802c7416
+ TCSETSW = 0x802c7415
+ TCXONC = 0x2000741e
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x40045432
+ TIOCGETC = 0x40067412
+ TIOCGETD = 0x5424
+ TIOCGETP = 0x40067408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGLTC = 0x40067474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSLTC = 0x80067475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x5412
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x400000
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4000
+ XTABS = 0xc00
)
// Errors
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 0861bd56..16ed1931 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -1,1622 +1,1897 @@
-// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build ppc64le,linux
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -m64 _const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
package unix
import "syscall"
const (
- 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_IEEE802154 = 0x24
- AF_INET = 0x2
- AF_INET6 = 0xa
- AF_IPX = 0x4
- AF_IRDA = 0x17
- AF_ISDN = 0x22
- AF_IUCV = 0x20
- AF_KEY = 0xf
- AF_LLC = 0x1a
- AF_LOCAL = 0x1
- AF_MAX = 0x29
- AF_NETBEUI = 0xd
- AF_NETLINK = 0x10
- AF_NETROM = 0x6
- AF_NFC = 0x27
- AF_PACKET = 0x11
- AF_PHONET = 0x23
- AF_PPPOX = 0x18
- AF_RDS = 0x15
- AF_ROSE = 0xb
- AF_ROUTE = 0x10
- AF_RXRPC = 0x21
- AF_SECURITY = 0xe
- AF_SNA = 0x16
- AF_TIPC = 0x1e
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_VSOCK = 0x28
- AF_WANPIPE = 0x19
- AF_X25 = 0x9
- 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_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_X25 = 0x10f
- 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
- BOTHER = 0x1f
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- 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_MAXINSNS = 0x1000
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MOD = 0x90
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- 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
- BPF_XOR = 0xa0
- BRKINT = 0x2
- BS0 = 0x0
- BS1 = 0x8000
- BSDLY = 0x8000
- CBAUD = 0xff
- CBAUDEX = 0x0
- CFLUSH = 0xf
- 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_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_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_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
- CR0 = 0x0
- CR1 = 0x1000
- CR2 = 0x2000
- CR3 = 0x3000
- CRDLY = 0x3000
- CREAD = 0x800
- CRTSCTS = 0x80000000
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIGNAL = 0xff
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x0
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- 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
- ENCODING_DEFAULT = 0x0
- ENCODING_FM_MARK = 0x3
- ENCODING_FM_SPACE = 0x4
- ENCODING_MANCHESTER = 0x5
- ENCODING_NRZ = 0x1
- ENCODING_NRZI = 0x2
- EPOLLERR = 0x8
- EPOLLET = 0x80000000
- 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_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_ECONET = 0x18
- ETH_P_EDSA = 0xdada
- ETH_P_FCOE = 0x8906
- ETH_P_FIP = 0x8914
- ETH_P_HDLC = 0x19
- ETH_P_IEEE802154 = 0xf6
- ETH_P_IEEEPUP = 0xa00
- ETH_P_IEEEPUPAT = 0xa01
- 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_MOBITEX = 0x15
- ETH_P_MPLS_MC = 0x8848
- ETH_P_MPLS_UC = 0x8847
- ETH_P_MVRP = 0x88f5
- 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_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_WAN_PPP = 0x7
- ETH_P_WCCP = 0x883e
- ETH_P_X25 = 0x805
- EXTA = 0xe
- EXTB = 0xf
- EXTPROC = 0x10000000
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x4000
- FFDLY = 0x4000
- FLUSHO = 0x800000
- 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_LOCK = 0x1
- F_NOTIFY = 0x402
- F_OK = 0x0
- F_RDLCK = 0x0
- 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_SHLCK = 0x8
- F_TEST = 0x3
- F_TLOCK = 0x2
- F_ULOCK = 0x0
- F_UNLCK = 0x2
- F_WRLCK = 0x1
- 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_NODAD = 0x2
- IFA_F_OPTIMISTIC = 0x4
- IFA_F_PERMANENT = 0x80
- IFA_F_SECONDARY = 0x1
- IFA_F_TEMPORARY = 0x1
- IFA_F_TENTATIVE = 0x40
- IFA_MAX = 0x7
- IFF_802_1Q_VLAN = 0x1
- IFF_ALLMULTI = 0x200
- IFF_ATTACH_QUEUE = 0x200
- IFF_AUTOMEDIA = 0x4000
- IFF_BONDING = 0x20
- IFF_BRIDGE_PORT = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_DETACH_QUEUE = 0x400
- IFF_DISABLE_NETPOLL = 0x1000
- IFF_DONT_BRIDGE = 0x800
- IFF_DORMANT = 0x20000
- IFF_DYNAMIC = 0x8000
- IFF_EBRIDGE = 0x2
- IFF_ECHO = 0x40000
- IFF_ISATAP = 0x80
- IFF_LIVE_ADDR_CHANGE = 0x100000
- IFF_LOOPBACK = 0x8
- IFF_LOWER_UP = 0x10000
- IFF_MACVLAN = 0x200000
- IFF_MACVLAN_PORT = 0x2000
- IFF_MASTER = 0x400
- IFF_MASTER_8023AD = 0x8
- IFF_MASTER_ALB = 0x10
- IFF_MASTER_ARPMON = 0x100
- IFF_MULTICAST = 0x1000
- IFF_MULTI_QUEUE = 0x100
- IFF_NOARP = 0x80
- IFF_NOFILTER = 0x1000
- IFF_NOTRAILERS = 0x20
- IFF_NO_PI = 0x1000
- IFF_ONE_QUEUE = 0x2000
- IFF_OVS_DATAPATH = 0x8000
- IFF_PERSIST = 0x800
- IFF_POINTOPOINT = 0x10
- IFF_PORTSEL = 0x2000
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SLAVE = 0x800
- IFF_SLAVE_INACTIVE = 0x4
- IFF_SLAVE_NEEDARP = 0x40
- IFF_SUPP_NOFCS = 0x80000
- IFF_TAP = 0x2
- IFF_TEAM_PORT = 0x40000
- IFF_TUN = 0x1
- IFF_TUN_EXCL = 0x8000
- IFF_TX_SKB_SHARING = 0x10000
- IFF_UNICAST_FLT = 0x20000
- IFF_UP = 0x1
- IFF_VNET_HDR = 0x4000
- IFF_VOLATILE = 0x70c5a
- IFF_WAN_HDLC = 0x200
- IFF_XMIT_DST_RELEASE = 0x400
- 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_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
- 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_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_ADD_MEMBERSHIP = 0x14
- IPV6_AUTHHDR = 0xa
- IPV6_CHECKSUM = 0x7
- IPV6_DROP_MEMBERSHIP = 0x15
- IPV6_DSTOPTS = 0x3b
- 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_MTU = 0x18
- IPV6_MTU_DISCOVER = 0x17
- IPV6_MULTICAST_HOPS = 0x12
- IPV6_MULTICAST_IF = 0x11
- IPV6_MULTICAST_LOOP = 0x13
- IPV6_NEXTHOP = 0x9
- IPV6_PKTINFO = 0x32
- IPV6_PMTUDISC_DO = 0x2
- IPV6_PMTUDISC_DONT = 0x0
- IPV6_PMTUDISC_PROBE = 0x3
- IPV6_PMTUDISC_WANT = 0x1
- IPV6_RECVDSTOPTS = 0x3a
- IPV6_RECVERR = 0x19
- IPV6_RECVHOPLIMIT = 0x33
- IPV6_RECVHOPOPTS = 0x35
- 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_UNICAST_HOPS = 0x10
- IPV6_V6ONLY = 0x1a
- IPV6_XFRM_POLICY = 0x23
- IP_ADD_MEMBERSHIP = 0x23
- IP_ADD_SOURCE_MEMBERSHIP = 0x27
- IP_BLOCK_SOURCE = 0x26
- 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_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_PROBE = 0x3
- IP_PMTUDISC_WANT = 0x1
- IP_RECVERR = 0xb
- 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
- ISTRIP = 0x20
- IUCLC = 0x1000
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- 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_HUGEPAGE = 0xe
- MADV_HWPOISON = 0x64
- MADV_MERGEABLE = 0xc
- MADV_NOHUGEPAGE = 0xf
- MADV_NORMAL = 0x0
- MADV_RANDOM = 0x1
- MADV_REMOVE = 0x9
- MADV_SEQUENTIAL = 0x2
- MADV_UNMERGEABLE = 0xd
- MADV_WILLNEED = 0x3
- MAP_ANON = 0x20
- MAP_ANONYMOUS = 0x20
- MAP_DENYWRITE = 0x800
- MAP_EXECUTABLE = 0x1000
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- 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_STACK = 0x20000
- MAP_TYPE = 0xf
- MCL_CURRENT = 0x2000
- MCL_FUTURE = 0x4000
- MNT_DETACH = 0x2
- MNT_EXPIRE = 0x4
- MNT_FORCE = 0x1
- 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
- MS_ACTIVE = 0x40000000
- MS_ASYNC = 0x1
- MS_BIND = 0x1000
- MS_DIRSYNC = 0x80
- MS_INVALIDATE = 0x2
- MS_I_VERSION = 0x800000
- MS_KERNMOUNT = 0x400000
- 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_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 = 0x800051
- MS_SHARED = 0x100000
- MS_SILENT = 0x8000
- MS_SLAVE = 0x80000
- MS_STRICTATIME = 0x1000000
- MS_SYNC = 0x4
- MS_SYNCHRONOUS = 0x10
- MS_UNBINDABLE = 0x20000
- NAME_MAX = 0xff
- NETLINK_ADD_MEMBERSHIP = 0x1
- NETLINK_AUDIT = 0x9
- NETLINK_BROADCAST_ERROR = 0x4
- NETLINK_CONNECTOR = 0xb
- NETLINK_CRYPTO = 0x15
- NETLINK_DNRTMSG = 0xe
- NETLINK_DROP_MEMBERSHIP = 0x2
- NETLINK_ECRYPTFS = 0x13
- NETLINK_FIB_LOOKUP = 0xa
- NETLINK_FIREWALL = 0x3
- NETLINK_GENERIC = 0x10
- NETLINK_INET_DIAG = 0x4
- NETLINK_IP6_FW = 0xd
- NETLINK_ISCSI = 0x8
- NETLINK_KOBJECT_UEVENT = 0xf
- 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_SOCK_DIAG = 0x4
- NETLINK_TX_RING = 0x7
- NETLINK_UNUSED = 0x1
- NETLINK_USERSOCK = 0x2
- NETLINK_XFRM = 0x6
- 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_APPEND = 0x800
- NLM_F_ATOMIC = 0x400
- NLM_F_CREATE = 0x400
- NLM_F_DUMP = 0x300
- NLM_F_DUMP_INTR = 0x10
- NLM_F_ECHO = 0x8
- NLM_F_EXCL = 0x200
- NLM_F_MATCH = 0x200
- NLM_F_MULTI = 0x2
- NLM_F_REPLACE = 0x100
- NLM_F_REQUEST = 0x1
- NLM_F_ROOT = 0x100
- NOFLSH = 0x80000000
- OCRNL = 0x8
- OFDEL = 0x80
- OFILL = 0x40
- OLCUC = 0x4
- ONLCR = 0x2
- ONLRET = 0x20
- ONOCR = 0x10
- OPOST = 0x1
- 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 = 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_CPU = 0x2
- PACKET_FANOUT_FLAG_DEFRAG = 0x8000
- PACKET_FANOUT_FLAG_ROLLOVER = 0x1000
- PACKET_FANOUT_HASH = 0x0
- PACKET_FANOUT_LB = 0x1
- PACKET_FANOUT_RND = 0x4
- PACKET_FANOUT_ROLLOVER = 0x3
- PACKET_FASTROUTE = 0x6
- PACKET_HDRLEN = 0xb
- PACKET_HOST = 0x0
- 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_RECV_OUTPUT = 0x3
- PACKET_RESERVE = 0xc
- PACKET_RX_RING = 0x5
- PACKET_STATISTICS = 0x6
- PACKET_TIMESTAMP = 0x11
- PACKET_TX_HAS_OFF = 0x13
- PACKET_TX_RING = 0xd
- PACKET_TX_TIMESTAMP = 0x10
- 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
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- 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_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_GET_CHILD_SUBREAPER = 0x25
- PR_GET_DUMPABLE = 0x3
- PR_GET_ENDIAN = 0x13
- PR_GET_FPEMU = 0x9
- PR_GET_FPEXC = 0xb
- 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_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_SET_CHILD_SUBREAPER = 0x24
- PR_SET_DUMPABLE = 0x4
- PR_SET_ENDIAN = 0x14
- PR_SET_FPEMU = 0xa
- PR_SET_FPEXC = 0xc
- 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_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 = -0x1
- PR_SET_SECCOMP = 0x16
- PR_SET_SECUREBITS = 0x1c
- PR_SET_TIMERSLACK = 0x1d
- PR_SET_TIMING = 0xe
- PR_SET_TSC = 0x1a
- PR_SET_UNALIGN = 0x6
- 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
- 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 = 0x1000ff
- 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_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_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
- RLIMIT_AS = 0x9
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_NOFILE = 0x7
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = -0x1
- RTAX_ADVMSS = 0x8
- RTAX_CWND = 0x7
- RTAX_FEATURES = 0xc
- RTAX_FEATURE_ALLFRAG = 0x8
- RTAX_FEATURE_ECN = 0x1
- RTAX_FEATURE_SACK = 0x2
- RTAX_FEATURE_TIMESTAMP = 0x4
- RTAX_HOPLIMIT = 0xa
- RTAX_INITCWND = 0xb
- RTAX_INITRWND = 0xe
- RTAX_LOCK = 0x1
- RTAX_MAX = 0xf
- 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 = 0x11
- RTCF_DIRECTSRC = 0x4000000
- RTCF_DOREDIRECT = 0x1000000
- RTCF_LOG = 0x2000000
- RTCF_MASQ = 0x400000
- RTCF_NAT = 0x800000
- RTCF_VALVE = 0x200000
- 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_DELLINK = 0x11
- RTM_DELMDB = 0x55
- RTM_DELNEIGH = 0x1d
- 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_NOTIFY = 0x100
- RTM_F_PREFIX = 0x800
- RTM_GETACTION = 0x32
- RTM_GETADDR = 0x16
- RTM_GETADDRLABEL = 0x4a
- RTM_GETANYCAST = 0x3e
- RTM_GETDCB = 0x4e
- RTM_GETLINK = 0x12
- RTM_GETMDB = 0x56
- RTM_GETMULTICAST = 0x3a
- RTM_GETNEIGH = 0x1e
- RTM_GETNEIGHTBL = 0x42
- RTM_GETNETCONF = 0x52
- RTM_GETQDISC = 0x26
- RTM_GETROUTE = 0x1a
- RTM_GETRULE = 0x22
- RTM_GETTCLASS = 0x2a
- RTM_GETTFILTER = 0x2e
- RTM_MAX = 0x57
- RTM_NEWACTION = 0x30
- RTM_NEWADDR = 0x14
- RTM_NEWADDRLABEL = 0x48
- RTM_NEWLINK = 0x10
- RTM_NEWMDB = 0x54
- RTM_NEWNDUSEROPT = 0x44
- RTM_NEWNEIGH = 0x1c
- RTM_NEWNEIGHTBL = 0x40
- RTM_NEWNETCONF = 0x50
- RTM_NEWPREFIX = 0x34
- RTM_NEWQDISC = 0x24
- RTM_NEWROUTE = 0x18
- RTM_NEWRULE = 0x20
- RTM_NEWTCLASS = 0x28
- RTM_NEWTFILTER = 0x2c
- RTM_NR_FAMILIES = 0x12
- RTM_NR_MSGTYPES = 0x48
- RTM_SETDCB = 0x4f
- RTM_SETLINK = 0x13
- RTM_SETNEIGHTBL = 0x43
- RTNH_ALIGNTO = 0x4
- RTNH_F_DEAD = 0x1
- RTNH_F_ONLINK = 0x4
- RTNH_F_PERVASIVE = 0x2
- RTN_MAX = 0xb
- RTPROT_BIRD = 0xc
- RTPROT_BOOT = 0x3
- RTPROT_DHCP = 0x10
- RTPROT_DNROUTED = 0xd
- RTPROT_GATED = 0x8
- RTPROT_KERNEL = 0x2
- RTPROT_MROUTED = 0x11
- RTPROT_MRT = 0xa
- RTPROT_NTK = 0xf
- RTPROT_RA = 0x9
- RTPROT_REDIRECT = 0x1
- 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_TIMESTAMPNS = 0x23
- SCM_WIFI_STATUS = 0x29
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDDLCI = 0x8980
- SIOCADDMULTI = 0x8931
- SIOCADDRT = 0x890b
- SIOCATMARK = 0x8905
- SIOCDARP = 0x8953
- SIOCDELDLCI = 0x8981
- SIOCDELMULTI = 0x8932
- SIOCDELRT = 0x890c
- SIOCDEVPRIVATE = 0x89f0
- SIOCDIFADDR = 0x8936
- SIOCDRARP = 0x8960
- SIOCGARP = 0x8954
- 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
- SIOCGPGRP = 0x8904
- SIOCGRARP = 0x8961
- SIOCGSTAMP = 0x8906
- SIOCGSTAMPNS = 0x8907
- SIOCPROTOPRIVATE = 0x89e0
- SIOCRTMSG = 0x890d
- SIOCSARP = 0x8955
- 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
- SIOCSPGRP = 0x8902
- SIOCSRARP = 0x8962
- SOCK_CLOEXEC = 0x80000
- SOCK_DCCP = 0x6
- SOCK_DGRAM = 0x2
- SOCK_NONBLOCK = 0x800
- SOCK_PACKET = 0xa
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_AAL = 0x109
- SOL_ATM = 0x108
- SOL_DECNET = 0x105
- SOL_ICMPV6 = 0x3a
- SOL_IP = 0x0
- SOL_IPV6 = 0x29
- SOL_IRDA = 0x10a
- SOL_PACKET = 0x107
- SOL_RAW = 0xff
- SOL_SOCKET = 0x1
- SOL_TCP = 0x6
- SOL_X25 = 0x106
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x1e
- SO_ATTACH_FILTER = 0x1a
- SO_BINDTODEVICE = 0x19
- SO_BROADCAST = 0x6
- SO_BSDCOMPAT = 0xe
- SO_BUSY_POLL = 0x2e
- SO_DEBUG = 0x1
- SO_DETACH_FILTER = 0x1b
- SO_DOMAIN = 0x27
- SO_DONTROUTE = 0x5
- SO_ERROR = 0x4
- SO_GET_FILTER = 0x1a
- SO_KEEPALIVE = 0x9
- SO_LINGER = 0xd
- SO_LOCK_FILTER = 0x2c
- SO_MARK = 0x24
- SO_MAX_PACING_RATE = 0x2f
- SO_NOFCS = 0x2b
- SO_NO_CHECK = 0xb
- SO_OOBINLINE = 0xa
- SO_PASSCRED = 0x14
- SO_PASSSEC = 0x22
- SO_PEEK_OFF = 0x2a
- SO_PEERCRED = 0x15
- 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_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_TIMESTAMP = 0x1d
- SO_TIMESTAMPING = 0x25
- SO_TIMESTAMPNS = 0x23
- SO_TYPE = 0x3
- SO_WIFI_STATUS = 0x29
- 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
- TCFLSH = 0x2000741f
- TCGETA = 0x40147417
- TCGETS = 0x402c7413
- TCIFLUSH = 0x0
- TCIOFF = 0x2
- TCIOFLUSH = 0x2
- TCION = 0x3
- TCOFLUSH = 0x1
- TCOOFF = 0x0
- TCOON = 0x1
- 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_INFO = 0xb
- 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_MAXKEYLEN = 0x50
- TCP_MSS = 0x200
- TCP_MSS_DEFAULT = 0x218
- TCP_MSS_DESIRED = 0x4c4
- TCP_NODELAY = 0x1
- TCP_QUEUE_SEQ = 0x15
- TCP_QUICKACK = 0xc
- TCP_REPAIR = 0x13
- TCP_REPAIR_OPTIONS = 0x16
- TCP_REPAIR_QUEUE = 0x14
- 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_USER_TIMEOUT = 0x12
- TCP_WINDOW_CLAMP = 0xa
- TCSAFLUSH = 0x2
- TCSBRK = 0x2000741d
- TCSBRKP = 0x5425
- TCSETA = 0x80147418
- TCSETAF = 0x8014741c
- TCSETAW = 0x80147419
- TCSETS = 0x802c7414
- TCSETSF = 0x802c7416
- TCSETSW = 0x802c7415
- TCXONC = 0x2000741e
- TIOCCBRK = 0x5428
- TIOCCONS = 0x541d
- TIOCEXCL = 0x540c
- TIOCGDEV = 0x40045432
- TIOCGETC = 0x40067412
- TIOCGETD = 0x5424
- TIOCGETP = 0x40067408
- TIOCGEXCL = 0x40045440
- TIOCGICOUNT = 0x545d
- TIOCGLCKTRMIOS = 0x5456
- TIOCGLTC = 0x40067474
- TIOCGPGRP = 0x40047477
- TIOCGPKT = 0x40045438
- TIOCGPTLCK = 0x40045439
- TIOCGPTN = 0x40045430
- 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
- TIOCSLCKTRMIOS = 0x5457
- TIOCSLTC = 0x80067475
- TIOCSPGRP = 0x80047476
- TIOCSPTLCK = 0x80045431
- TIOCSRS485 = 0x542f
- TIOCSSERIAL = 0x541f
- TIOCSSOFTCAR = 0x541a
- TIOCSTART = 0x2000746e
- TIOCSTI = 0x5412
- TIOCSTOP = 0x2000746f
- TIOCSWINSZ = 0x80087467
- TIOCVHANGUP = 0x5437
- TOSTOP = 0x400000
- TUNATTACHFILTER = 0x801054d5
- TUNDETACHFILTER = 0x801054d6
- TUNGETFEATURES = 0x400454cf
- TUNGETFILTER = 0x401054db
- TUNGETIFF = 0x400454d2
- TUNGETSNDBUF = 0x400454d3
- TUNGETVNETHDRSZ = 0x400454d7
- TUNSETDEBUG = 0x800454c9
- TUNSETGROUP = 0x800454ce
- TUNSETIFF = 0x800454ca
- TUNSETIFINDEX = 0x800454da
- TUNSETLINK = 0x800454cd
- TUNSETNOCSUM = 0x800454c8
- TUNSETOFFLOAD = 0x800454d0
- TUNSETOWNER = 0x800454cc
- TUNSETPERSIST = 0x800454cb
- TUNSETQUEUE = 0x800454d9
- TUNSETSNDBUF = 0x800454d4
- TUNSETTXFILTER = 0x800454d1
- TUNSETVNETHDRSZ = 0x800454d8
- VDISCARD = 0x10
- VEOF = 0x4
- VEOL = 0x6
- VEOL2 = 0x8
- VERASE = 0x2
- VINTR = 0x0
- VKILL = 0x3
- VLNEXT = 0xf
- VMIN = 0x5
- 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
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOTHREAD = 0x20000000
- WNOWAIT = 0x1000000
- WORDSIZE = 0x40
- WSTOPPED = 0x2
- WUNTRACED = 0x2
- XCASE = 0x4000
- XTABS = 0xc00
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ 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
+ CBAUD = 0xff
+ CBAUDEX = 0x0
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIGNAL = 0xff
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x1000
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80000000
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x4
+ ONLCR = 0x2
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x14
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x15
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x2000741f
+ TCGETA = 0x40147417
+ TCGETS = 0x402c7413
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ TCSAFLUSH = 0x2
+ TCSBRK = 0x2000741d
+ TCSBRKP = 0x5425
+ TCSETA = 0x80147418
+ TCSETAF = 0x8014741c
+ TCSETAW = 0x80147419
+ TCSETS = 0x802c7414
+ TCSETSF = 0x802c7416
+ TCSETSW = 0x802c7415
+ TCXONC = 0x2000741e
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x40045432
+ TIOCGETC = 0x40067412
+ TIOCGETD = 0x5424
+ TIOCGETP = 0x40067408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGLTC = 0x40067474
+ TIOCGPGRP = 0x40047477
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSLTC = 0x80067475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x5412
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x400000
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4000
+ XTABS = 0xc00
)
// Errors
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
new file mode 100644
index 00000000..bd385f80
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -0,0 +1,2242 @@
+// 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
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2b
+ 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_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x2
+ F_WRLCK = 0x1
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_READ = 0xb
+ KEYCTL_REJECT = 0x13
+ KEYCTL_REVOKE = 0x3
+ KEYCTL_SEARCH = 0xa
+ KEYCTL_SESSION_TO_PARENT = 0x12
+ KEYCTL_SETPERM = 0x5
+ KEYCTL_SET_REQKEY_KEYRING = 0xe
+ KEYCTL_SET_TIMEOUT = 0xf
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ MS_VERBOSE = 0x8000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x19
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ 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
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x23
+ SCM_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x30
+ SO_BROADCAST = 0x6
+ SO_BSDCOMPAT = 0xe
+ SO_BUSY_POLL = 0x2e
+ SO_CNX_ADVICE = 0x35
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x27
+ SO_DONTROUTE = 0x5
+ SO_ERROR = 0x4
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x31
+ SO_KEEPALIVE = 0x9
+ SO_LINGER = 0xd
+ SO_LOCK_FILTER = 0x2c
+ SO_MARK = 0x24
+ SO_MAX_PACING_RATE = 0x2f
+ SO_NOFCS = 0x2b
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0xa
+ SO_PASSCRED = 0x10
+ SO_PASSSEC = 0x22
+ SO_PEEK_OFF = 0x2a
+ SO_PEERCRED = 0x11
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x540f
+ TIOCGPKT = 0x80045438
+ TIOCGPTLCK = 0x80045439
+ TIOCGPTN = 0x80045430
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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)
+ SIGUNUSED = syscall.Signal(0x1f)
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
new file mode 100644
index 00000000..95de199f
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -0,0 +1,2142 @@
+// mkerrors.sh -m64
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+// +build sparc64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -m64 _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2a
+ 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_RDS = 0x15
+ AF_ROSE = 0xb
+ AF_ROUTE = 0x10
+ AF_RXRPC = 0x21
+ AF_SECURITY = 0xe
+ AF_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ ASI_LEON_DFLUSH = 0x11
+ ASI_LEON_IFLUSH = 0x10
+ ASI_LEON_MMUFLUSH = 0x18
+ B0 = 0x0
+ B1000000 = 0x100c
+ B110 = 0x3
+ B115200 = 0x1002
+ B1152000 = 0x100d
+ B1200 = 0x9
+ B134 = 0x4
+ B150 = 0x5
+ B1500000 = 0x100e
+ B153600 = 0x1006
+ B1800 = 0xa
+ B19200 = 0xe
+ B200 = 0x6
+ B2000000 = 0x100f
+ B230400 = 0x1003
+ B2400 = 0xb
+ B300 = 0x7
+ B307200 = 0x1007
+ B38400 = 0xf
+ B460800 = 0x1004
+ B4800 = 0xc
+ B50 = 0x1
+ B500000 = 0x100a
+ B57600 = 0x1001
+ B576000 = 0x100b
+ B600 = 0x8
+ B614400 = 0x1008
+ B75 = 0x2
+ B76800 = 0x1005
+ B921600 = 0x1009
+ B9600 = 0xd
+ BLKBSZGET = 0x80081270
+ BLKBSZSET = 0x40081271
+ BLKFLSBUF = 0x1261
+ BLKFRAGET = 0x1265
+ BLKFRASET = 0x1264
+ BLKGETSIZE = 0x1260
+ BLKGETSIZE64 = 0x80081272
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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_RTR_FLAG = 0x40000000
+ CAN_SFF_ID_BITS = 0xb
+ CAN_SFF_MASK = 0x7ff
+ CAN_TP16 = 0x3
+ CAN_TP20 = 0x4
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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_ZERO_RANGE = 0x10
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x1
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x3
+ F_WRLCK = 0x2
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ MS_ACTIVE = 0x40000000
+ MS_ASYNC = 0x1
+ MS_BIND = 0x1000
+ 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_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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ RLIMIT_AS = 0x9
+ RLIMIT_CORE = 0x4
+ RLIMIT_CPU = 0x0
+ RLIMIT_DATA = 0x2
+ RLIMIT_FSIZE = 0x1
+ RLIMIT_NOFILE = 0x6
+ RLIMIT_STACK = 0x3
+ RLIM_INFINITY = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x18
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ RTM_SETDCB = 0x4f
+ RTM_SETLINK = 0x13
+ RTM_SETNEIGHTBL = 0x43
+ RTNH_ALIGNTO = 0x4
+ RTNH_COMPARE_MASK = 0x11
+ RTNH_F_DEAD = 0x1
+ RTNH_F_LINKDOWN = 0x10
+ RTNH_F_OFFLOAD = 0x8
+ RTNH_F_ONLINK = 0x4
+ RTNH_F_PERVASIVE = 0x2
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x21
+ SCM_WIFI_STATUS = 0x25
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ SOCK_CLOEXEC = 0x400000
+ SOCK_DCCP = 0x6
+ SOCK_DGRAM = 0x2
+ 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_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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x32
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0x400
+ SO_BUSY_POLL = 0x30
+ SO_CNX_ADVICE = 0x37
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x33
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x28
+ SO_MARK = 0x22
+ SO_MAX_PACING_RATE = 0x31
+ SO_NOFCS = 0x27
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x2
+ SO_PASSSEC = 0x1f
+ SO_PEEK_OFF = 0x26
+ SO_PEERCRED = 0x40
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x23
+ SO_TIMESTAMPNS = 0x21
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x20005407
+ TCGETA = 0x40125401
+ TCGETS = 0x40245408
+ TCGETS2 = 0x402c540c
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_OPTIONS = 0x16
+ TCP_REPAIR_QUEUE = 0x14
+ 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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x2000747a
+ TIOCCONS = 0x20007424
+ TIOCEXCL = 0x2000740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x40047400
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x40047483
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40047486
+ 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_LOOP = 0x8000
+ TIOCM_OUT1 = 0x2000
+ TIOCM_OUT2 = 0x4000
+ 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
+ TIOCSER_TEMT = 0x1
+ TIOCSETD = 0x80047401
+ TIOCSIG = 0x80047488
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x80047482
+ TIOCSPTLCK = 0x80047487
+ TIOCSRS485 = 0xc0205442
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x80047465
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x80017472
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x20005437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ VDISCARD = 0xd
+ VDSUSP = 0xb
+ VEOF = 0x4
+ VEOL = 0x5
+ 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
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WRAP = 0x20000
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+ __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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol",
+ 48: "address already in use",
+ 49: "cannot assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "transport endpoint is already connected",
+ 57: "transport endpoint is not connected",
+ 58: "cannot send after transport endpoint shutdown",
+ 59: "too many references: cannot splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disk quota exceeded",
+ 70: "stale file handle",
+ 71: "object is remote",
+ 72: "device not a stream",
+ 73: "timer expired",
+ 74: "out of streams resources",
+ 75: "no message of desired type",
+ 76: "bad message",
+ 77: "identifier removed",
+ 78: "resource deadlock avoided",
+ 79: "no locks available",
+ 80: "machine is not on the network",
+ 81: "unknown error 81",
+ 82: "link has been severed",
+ 83: "advertise error",
+ 84: "srmount error",
+ 85: "communication error on send",
+ 86: "protocol error",
+ 87: "multihop attempted",
+ 88: "RFS specific error",
+ 89: "remote address changed",
+ 90: "function not implemented",
+ 91: "streams pipe error",
+ 92: "value too large for defined data type",
+ 93: "file descriptor in bad state",
+ 94: "channel number out of range",
+ 95: "level 2 not synchronized",
+ 96: "level 3 halted",
+ 97: "level 3 reset",
+ 98: "link number out of range",
+ 99: "protocol driver not attached",
+ 100: "no CSI structure available",
+ 101: "level 2 halted",
+ 102: "invalid exchange",
+ 103: "invalid request descriptor",
+ 104: "exchange full",
+ 105: "no anode",
+ 106: "invalid request code",
+ 107: "invalid slot",
+ 108: "file locking deadlock error",
+ 109: "bad font file format",
+ 110: "cannot exec a shared library directly",
+ 111: "no data available",
+ 112: "accessing a corrupted shared library",
+ 113: "package not installed",
+ 114: "can not access a needed shared library",
+ 115: "name not unique on network",
+ 116: "interrupted system call should be restarted",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "invalid or incomplete multibyte or wide character",
+ 123: "attempting to link in too many shared libraries",
+ 124: ".lib section in a.out corrupted",
+ 125: "no medium found",
+ 126: "wrong medium type",
+ 127: "operation canceled",
+ 128: "required key not available",
+ 129: "key has expired",
+ 130: "key has been revoked",
+ 131: "key was rejected by service",
+ 132: "owner died",
+ 133: "state not recoverable",
+ 134: "operation not possible due to RF-kill",
+ 135: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "resource lost",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
new file mode 100644
index 00000000..3ed0b260
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
@@ -0,0 +1,1586 @@
+// mkerrors.sh
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0xff
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "IPsec processing failure",
+ 83: "attribute not found",
+ 84: "illegal byte sequence",
+ 85: "no medium found",
+ 86: "wrong medium type",
+ 87: "value too large to be stored in data type",
+ 88: "operation canceled",
+ 89: "identifier removed",
+ 90: "no message of desired type",
+ 91: "not supported",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "thread AST",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
index a08922b9..81e83d78 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
@@ -1,5 +1,5 @@
// mkerrors.sh -m64
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,solaris
@@ -159,7 +159,12 @@ const (
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
@@ -169,7 +174,13 @@ const (
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
@@ -276,6 +287,9 @@ const (
FD_CLOEXEC = 0x1
FD_NFDBITS = 0x40
FD_SETSIZE = 0x10000
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
FLUSHALL = 0x1
FLUSHDATA = 0x0
FLUSHO = 0x2000
@@ -290,6 +304,10 @@ const (
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
@@ -304,6 +322,12 @@ const (
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
@@ -332,6 +356,7 @@ const (
F_WRDNY = 0x2
F_WRLCK = 0x2
HUPCL = 0x400
+ IBSHIFT = 0x10
ICANON = 0x2
ICRNL = 0x100
IEXTEN = 0x8000
@@ -589,15 +614,21 @@ const (
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
@@ -605,6 +636,7 @@ const (
MAP_ALIGN = 0x200
MAP_ANON = 0x100
MAP_ANONYMOUS = 0x100
+ MAP_FILE = 0x0
MAP_FIXED = 0x10
MAP_INITDATA = 0x800
MAP_NORESERVE = 0x40
@@ -632,10 +664,14 @@ const (
MS_OLDSYNC = 0x0
MS_SYNC = 0x4
M_FLUSH = 0x86
+ NL0 = 0x0
+ NL1 = 0x100
+ NLDLY = 0x100
NOFLSH = 0x80
OCRNL = 0x8
OFDEL = 0x80
OFILL = 0x40
+ OLCUC = 0x2
ONLCR = 0x4
ONLRET = 0x20
ONOCR = 0x10
@@ -955,12 +991,21 @@ const (
SO_USELOOPBACK = 0x40
SO_VRRP = 0x1017
SO_WROFF = 0x2
+ 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
@@ -1089,6 +1134,8 @@ const (
WSTOPPED = 0x4
WTRAPPED = 0x2
WUNTRACED = 0x4
+ XCASE = 0x4
+ XTABS = 0x1800
)
// Errors
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
index a15aaf12..92708acc 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build 386,darwin
+// +build darwin,386
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -299,6 +298,16 @@ func kill(pid int, signum int, posix int) (err error) {
// 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)
@@ -306,7 +315,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -332,7 +340,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -348,7 +355,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -364,7 +370,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -380,7 +385,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -396,7 +400,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -448,8 +451,6 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -465,6 +466,21 @@ func Exit(code int) {
// 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 {
@@ -495,6 +511,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -505,6 +536,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -726,7 +772,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -747,8 +792,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -774,7 +837,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +852,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -806,7 +882,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -822,7 +897,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -873,6 +947,22 @@ func Mprotect(b []byte, prot int) (err error) {
// 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 {
@@ -906,7 +996,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -923,7 +1028,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -997,7 +1101,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1019,8 +1144,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1036,7 +1179,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1052,7 +1194,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1119,7 +1260,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1226,7 +1366,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1381,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1263,8 +1401,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1290,7 +1446,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1314,7 +1469,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1330,7 +1484,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1346,7 +1514,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index 74606b2f..44fc14f8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build amd64,darwin
+// +build darwin,amd64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -299,6 +298,16 @@ func kill(pid int, signum int, posix int) (err error) {
// 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)
@@ -306,7 +315,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -332,7 +340,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -348,7 +355,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -364,7 +370,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -380,7 +385,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -396,7 +400,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -448,8 +451,6 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -465,6 +466,21 @@ func Exit(code int) {
// 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 {
@@ -495,6 +511,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -505,6 +536,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -726,7 +772,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -747,8 +792,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -774,7 +837,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +852,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -806,7 +882,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -822,7 +897,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -873,6 +947,22 @@ func Mprotect(b []byte, prot int) (err error) {
// 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 {
@@ -906,7 +996,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -923,7 +1028,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -997,7 +1101,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1019,8 +1144,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1036,7 +1179,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1052,7 +1194,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1119,7 +1260,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1226,7 +1366,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1381,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1263,8 +1401,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1290,7 +1446,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1314,7 +1469,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1330,7 +1484,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1346,7 +1514,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1415,22 +1582,6 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
index 640e8542..6e5bd753 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build arm,darwin
+// +build darwin,arm
package unix
@@ -221,7 +221,7 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr)
} 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))
+ _, _, 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)
}
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -299,6 +298,16 @@ func kill(pid int, signum int, posix int) (err error) {
// 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)
@@ -306,7 +315,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -332,7 +340,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -348,7 +355,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -364,7 +370,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -380,7 +385,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -396,7 +400,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -448,8 +451,6 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -465,6 +466,21 @@ func Exit(code int) {
// 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 {
@@ -495,6 +511,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -505,6 +536,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -557,7 +603,7 @@ func Fsync(fd int) (err error) {
// 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)
+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -726,7 +772,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -747,8 +792,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -774,7 +837,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +852,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -806,7 +882,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -822,7 +897,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -906,7 +980,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -923,7 +1012,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -940,7 +1028,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) {
} else {
_p0 = unsafe.Pointer(&_zero)
}
- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+ 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)
@@ -957,7 +1045,7 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) {
} else {
_p0 = unsafe.Pointer(&_zero)
}
- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0)
+ 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)
@@ -997,7 +1085,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1019,8 +1128,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1036,7 +1163,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1052,7 +1178,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1062,8 +1187,8 @@ func Rmdir(path string) (err error) {
// 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)
+ 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)
}
@@ -1119,7 +1244,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1226,7 +1350,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1365,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1263,8 +1385,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1289,8 +1429,7 @@ func Truncate(path string, length int64) (err error) {
if err != nil {
return
}
- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1314,7 +1453,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1330,7 +1468,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1346,7 +1498,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1373,7 +1524,7 @@ func write(fd int, p []byte) (n int, err error) {
// 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))
+ 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)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index 933f67bb..7005b8dd 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build arm64,darwin
+// +build darwin,arm64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -299,6 +298,16 @@ func kill(pid int, signum int, posix int) (err error) {
// 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)
@@ -306,7 +315,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -332,7 +340,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -348,7 +355,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -364,7 +370,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -380,7 +385,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -396,7 +400,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -448,8 +451,6 @@ func Exchangedata(path1 string, path2 string, options int) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -465,6 +466,21 @@ func Exit(code int) {
// 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 {
@@ -495,6 +511,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -505,6 +536,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -726,7 +772,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -747,8 +792,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -774,7 +837,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +852,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -806,7 +882,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -822,7 +897,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -906,7 +980,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -923,7 +1012,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -997,7 +1085,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1019,8 +1128,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1036,7 +1163,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1052,7 +1178,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1119,7 +1244,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1226,7 +1350,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1365,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1263,8 +1385,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1290,7 +1430,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1314,7 +1453,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1330,7 +1468,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1346,7 +1498,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
index 3fa6ff79..eafceb8e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -dragonfly syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 amd64,dragonfly
+// +build dragonfly,amd64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -320,7 +319,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -346,7 +344,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -362,7 +359,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -378,7 +374,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -394,7 +389,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -410,7 +404,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -738,7 +731,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -759,8 +751,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -786,7 +776,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -802,7 +791,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -818,7 +806,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -834,7 +821,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -928,7 +914,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -945,7 +930,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -985,7 +969,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -1007,8 +990,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1024,7 +1005,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1040,7 +1020,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1107,7 +1086,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1224,7 +1202,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1240,7 +1217,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1261,8 +1237,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1288,7 +1262,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1312,7 +1285,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1328,7 +1300,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1344,7 +1315,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1410,3 +1380,14 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
}
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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index 1a0e528c..24de0a06 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 386,freebsd
+// +build freebsd,386
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -279,6 +278,16 @@ func pipe() (r int, w int, err error) {
// 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)
@@ -286,7 +295,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -305,6 +313,36 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
// 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)
@@ -312,7 +350,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -328,7 +365,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -344,7 +380,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -360,7 +395,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -376,7 +410,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -430,7 +463,6 @@ func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -447,7 +479,6 @@ func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -464,7 +495,6 @@ func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -496,8 +526,6 @@ func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -519,8 +547,6 @@ func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -542,8 +568,6 @@ func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -559,7 +583,6 @@ func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -581,8 +604,6 @@ func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -604,8 +625,6 @@ func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -627,8 +646,6 @@ func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -644,7 +661,6 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -664,6 +680,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
// 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 {
@@ -694,6 +725,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -704,6 +750,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -945,7 +1006,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -966,8 +1026,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -993,7 +1071,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1009,7 +1086,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1025,7 +1116,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1041,7 +1131,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1135,7 +1224,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1152,7 +1256,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -1226,7 +1329,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1248,8 +1372,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1265,7 +1407,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1281,7 +1422,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1348,7 +1488,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1465,7 +1604,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1481,7 +1619,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1502,8 +1639,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1529,7 +1684,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1553,7 +1707,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1569,7 +1722,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1585,7 +1752,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index 6e4cf145..0b61521d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 amd64,freebsd
+// +build freebsd,amd64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -279,6 +278,16 @@ func pipe() (r int, w int, err error) {
// 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)
@@ -286,7 +295,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -305,6 +313,36 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
// 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)
@@ -312,7 +350,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -328,7 +365,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -344,7 +380,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -360,7 +395,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -376,7 +410,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -430,7 +463,6 @@ func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -447,7 +479,6 @@ func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -464,7 +495,6 @@ func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -496,8 +526,6 @@ func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -519,8 +547,6 @@ func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -542,8 +568,6 @@ func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -559,7 +583,6 @@ func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -581,8 +604,6 @@ func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -604,8 +625,6 @@ func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -627,8 +646,6 @@ func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -644,7 +661,6 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -664,6 +680,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
// 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 {
@@ -694,6 +725,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -704,6 +750,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -945,7 +1006,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -966,8 +1026,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -993,7 +1071,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1009,7 +1086,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1025,7 +1116,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1041,7 +1131,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1135,7 +1224,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1152,7 +1256,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -1226,7 +1329,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1248,8 +1372,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1265,7 +1407,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1281,7 +1422,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1348,7 +1488,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1465,7 +1604,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1481,7 +1619,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1502,8 +1639,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1529,7 +1684,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1553,7 +1707,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1569,7 +1722,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1585,7 +1752,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index 1872d323..bf9a8c9b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 arm,freebsd
+// +build freebsd,arm
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -279,6 +278,16 @@ func pipe() (r int, w int, err error) {
// 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)
@@ -286,7 +295,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -305,6 +313,36 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) {
// 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)
@@ -312,7 +350,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -328,7 +365,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -344,7 +380,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -360,7 +395,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -376,7 +410,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -430,7 +463,6 @@ func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -447,7 +479,6 @@ func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbyt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -464,7 +495,6 @@ func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) {
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -496,8 +526,6 @@ func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -519,8 +547,6 @@ func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -542,8 +568,6 @@ func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -559,7 +583,6 @@ func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -581,8 +604,6 @@ func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -604,8 +625,6 @@ func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintpt
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -627,8 +646,6 @@ func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err err
return
}
_, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -644,7 +661,6 @@ func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (
return
}
r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0)
- use(unsafe.Pointer(_p0))
ret = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -664,6 +680,21 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) {
// 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 {
@@ -694,6 +725,21 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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 {
@@ -704,6 +750,21 @@ func Fchown(fd int, uid int, gid int) (err error) {
// 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 {
@@ -945,7 +1006,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -966,8 +1026,26 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -993,7 +1071,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1009,7 +1086,21 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1025,7 +1116,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1041,7 +1131,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1135,7 +1224,22 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1152,7 +1256,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -1226,7 +1329,28 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
+ 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)
@@ -1248,8 +1372,26 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1265,7 +1407,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1281,7 +1422,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1348,7 +1488,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1465,7 +1604,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1481,7 +1619,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1502,8 +1639,26 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -1529,7 +1684,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1553,7 +1707,6 @@ func Undelete(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1569,7 +1722,21 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(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 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1585,7 +1752,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index ff6c39dc..38c1bbdf 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 syscall_linux.go syscall_linux_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build 386,linux
+// +build linux,386
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1362,7 +1638,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1378,7 +1653,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1510,7 +1784,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1536,7 +1809,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1588,6 +1860,33 @@ func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset
// 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 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 {
@@ -1626,3 +1925,29 @@ func Time(t *Time_t) (tt Time_t, err error) {
}
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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index c2438522..dc8fe0a8 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_linux.go syscall_linux_amd64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build amd64,linux
+// +build linux,amd64
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1232,6 +1508,23 @@ func Dup2(oldfd int, newfd int) (err error) {
// 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 {
@@ -1362,7 +1655,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1388,7 +1680,16 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1562,7 +1863,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1578,7 +1878,6 @@ func Statfs(path string, buf *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1604,7 +1903,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1803,6 +2101,21 @@ func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int6
// 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 pipe(p *[2]_C_int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
if e1 != 0 {
@@ -1820,3 +2133,14 @@ func pipe2(p *[2]_C_int, flags int) (err error) {
}
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index dd66c975..4d280427 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -arm syscall_linux.go syscall_linux_arm.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 arm,linux
+// +build linux,arm
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1491,7 +1767,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1517,7 +1792,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1636,7 +1910,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1655,9 +1928,25 @@ func Gettimeofday(tv *Timeval) (err error) {
// 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)
+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 Pause() (err error) {
+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1707,7 +1996,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1738,7 +2026,7 @@ func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset
// 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)
+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1754,3 +2042,14 @@ func setrlimit(resource int, rlim *rlimit32) (err error) {
}
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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index d0a6ed82..20ad4b6c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_linux.go syscall_linux_arm64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build arm64,linux
+// +build linux,arm64
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1222,6 +1498,23 @@ func Munlockall() (err error) {
// 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 Fchown(fd int, uid int, gid int) (err error) {
_, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid))
if e1 != 0 {
@@ -1249,7 +1542,6 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1495,7 +1787,6 @@ func Statfs(path string, buf *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1521,7 +1812,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1730,17 +2020,6 @@ func Gettimeofday(tv *Timeval) (err error) {
// 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 pipe2(p *[2]_C_int, flags int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
if e1 != 0 {
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
new file mode 100644
index 00000000..9f194dc4
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -0,0 +1,2111 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 int64, err error) {
+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
+ 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 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 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 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 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 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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
new file mode 100644
index 00000000..4fde3ef0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -0,0 +1,2105 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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 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_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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_PSELECT6, 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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
new file mode 100644
index 00000000..f6463423
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -0,0 +1,2105 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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 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_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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_PSELECT6, 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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
new file mode 100644
index 00000000..964591e5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -0,0 +1,2111 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 int64, err error) {
+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
+ 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 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 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 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 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 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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index f58a3ff2..204ab1ae 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build ppc64,linux
+// +build linux,ppc64
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1222,6 +1498,33 @@ func Munlockall() (err error) {
// 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 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 {
@@ -1304,6 +1607,17 @@ func Getuid() (uid int) {
// 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 {
@@ -1331,7 +1645,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1357,7 +1670,16 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1531,7 +1853,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1547,7 +1868,6 @@ func Statfs(path string, buf *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1573,7 +1893,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1790,3 +2109,49 @@ func Time(t *Time_t) (tt Time_t, err error) {
}
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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index 22fc7a45..a8a2b0b0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -1,7 +1,7 @@
-// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build ppc64le,linux
+// +build linux,ppc64le
package unix
@@ -14,7 +14,32 @@ var _ syscall.Errno
// 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) {
+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 {
@@ -26,8 +51,6 @@ func linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags in
return
}
_, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -43,7 +66,6 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -53,7 +75,18 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
// 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) {
+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 {
@@ -66,7 +99,6 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -76,7 +108,7 @@ func readlinkat(dirfd int, path string, buf []byte) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(oldpath)
if err != nil {
@@ -88,8 +120,6 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)))
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -98,14 +128,13 @@ func symlinkat(oldpath string, newdirfd int, newpath string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func unlinkat(dirfd int, path string, flags int) (err error) {
+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))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -121,7 +150,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -137,7 +165,6 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
return
}
_, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -184,6 +211,104 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err
// 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 {
@@ -201,7 +326,6 @@ func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) {
return
}
_, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -227,9 +351,6 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
return
}
_, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
- use(unsafe.Pointer(_p2))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -245,7 +366,33 @@ func Acct(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -272,7 +419,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -288,7 +434,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -317,6 +462,17 @@ func Close(fd int) (err error) {
// 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 Dup(oldfd int) (fd int, err error) {
r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0)
fd = int(r0)
@@ -370,15 +526,9 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
// 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)
+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)
}
@@ -401,7 +551,6 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -440,22 +589,6 @@ func Fchmod(fd int, mode uint32) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -463,7 +596,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -568,6 +700,23 @@ func Getpriority(which int, who int) (prio int, err error) {
// 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 {
@@ -578,6 +727,17 @@ func Getrusage(who int, rusage *Rusage) (err error) {
// 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, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0)
tid = int(r0)
@@ -604,8 +764,6 @@ func Getxattr(path string, attr string, dest []byte) (sz int, err error) {
_p2 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -622,7 +780,6 @@ func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err e
return
}
r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask))
- use(unsafe.Pointer(_p0))
watchdesc = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -681,6 +838,33 @@ func Klogctl(typ int, buf []byte) (n int, err error) {
// 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)
@@ -694,7 +878,6 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)))
- use(unsafe.Pointer(_p0))
sz = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -704,14 +887,20 @@ func Listxattr(path string, dest []byte) (sz int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Mkdirat(dirfd int, path string, mode uint32) (err error) {
+func Llistxattr(path string, dest []byte) (sz int, 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))
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -720,14 +909,18 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
// 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) {
+func Lremovexattr(path string, attr string) (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)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -736,8 +929,24 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -746,8 +955,38 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Pause() (err error) {
- _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0)
+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)
}
@@ -768,8 +1007,6 @@ func PivotRoot(newroot string, putold string) (err error) {
return
}
_, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -778,8 +1015,8 @@ func PivotRoot(newroot string, putold string) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func prlimit(pid int, resource int, old *Rlimit, newlimit *Rlimit) (err error) {
- _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(newlimit)), 0, 0)
+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)
}
@@ -827,8 +1064,6 @@ func Removexattr(path string, attr string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -849,8 +1084,32 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
+ 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)
}
@@ -922,6 +1181,16 @@ func Settimeofday(tv *Timeval) (err error) {
// 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 {
@@ -950,8 +1219,6 @@ func Setxattr(path string, attr string, data []byte, flags int) (err error) {
_p2 = unsafe.Pointer(&_zero)
}
_, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -967,6 +1234,16 @@ func Sync() {
// 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 {
@@ -1034,7 +1311,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1063,22 +1339,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// 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)
- use(unsafe.Pointer(_p0))
- 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 {
@@ -1212,6 +1472,22 @@ func Mlockall(flags int) (err error) {
// 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 Munlockall() (err error) {
_, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0)
if e1 != 0 {
@@ -1222,6 +1498,33 @@ func Munlockall() (err error) {
// 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 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 {
@@ -1304,6 +1607,17 @@ func Getuid() (uid int) {
// 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 {
@@ -1331,7 +1645,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1357,7 +1670,16 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
+ 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)
}
@@ -1531,7 +1853,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1547,7 +1868,6 @@ func Statfs(path string, buf *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1573,7 +1893,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1790,3 +2109,49 @@ func Time(t *Time_t) (tt Time_t, err error) {
}
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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
new file mode 100644
index 00000000..b6ff9e39
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -0,0 +1,1937 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
new file mode 100644
index 00000000..2dd98434
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -0,0 +1,1833 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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 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 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 Exit(code int) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 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 Sync() {
+ Syscall(SYS_SYNC, 0, 0, 0)
+ 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, _, _ := RawSyscall(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 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 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 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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index 00ca1f9c..3182345e 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -netbsd syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
+// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-// +build 386,netbsd
+// +build netbsd,386
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -303,7 +302,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -329,7 +327,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -345,7 +342,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -361,7 +357,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -377,7 +372,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -393,7 +387,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -686,7 +679,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -707,8 +699,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -734,7 +724,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -750,7 +739,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -766,7 +754,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -782,7 +769,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -876,7 +862,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -893,7 +878,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -967,7 +951,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -989,8 +972,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1006,7 +987,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1022,7 +1002,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1170,7 +1149,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1191,8 +1169,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1218,7 +1194,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1217,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1258,7 +1232,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index 03f31b97..74ba8189 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -netbsd syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
+// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-// +build amd64,netbsd
+// +build netbsd,amd64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -303,7 +302,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -329,7 +327,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -345,7 +342,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -361,7 +357,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -377,7 +372,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -393,7 +387,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -686,7 +679,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -707,8 +699,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -734,7 +724,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -750,7 +739,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -766,7 +754,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -782,7 +769,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -876,7 +862,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -893,7 +878,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -967,7 +951,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -989,8 +972,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1006,7 +987,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1022,7 +1002,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1170,7 +1149,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1191,8 +1169,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1218,7 +1194,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1217,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1258,7 +1232,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index 84dc61cf..1f346e2f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
+// mksyscall.pl -l32 -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-// +build arm,netbsd
+// +build netbsd,arm
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -303,7 +302,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -329,7 +327,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -345,7 +342,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -361,7 +357,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -377,7 +372,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -393,7 +387,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -686,7 +679,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -707,8 +699,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -734,7 +724,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -750,7 +739,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -766,7 +754,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -782,7 +769,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -876,7 +862,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -893,7 +878,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -967,7 +951,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -989,8 +972,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1006,7 +987,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1022,7 +1002,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1170,7 +1149,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1191,8 +1169,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1218,7 +1194,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1242,7 +1217,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1258,7 +1232,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 02b3528a..ca3e8139 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -openbsd syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
+// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-// +build 386,openbsd
+// +build openbsd,386
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -301,7 +300,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -327,7 +325,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -343,7 +340,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -359,7 +355,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -375,7 +370,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -391,7 +385,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -694,7 +687,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -715,8 +707,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -742,7 +732,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -758,7 +747,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -774,7 +762,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +777,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -884,7 +870,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -901,7 +886,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -975,7 +959,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -997,8 +980,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1014,7 +995,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1030,7 +1010,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1097,7 +1076,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1214,7 +1192,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1230,7 +1207,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1251,8 +1227,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1278,7 +1252,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1302,7 +1275,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1318,7 +1290,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index 7dc2b7ea..bf63d552 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -openbsd syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
+// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-// +build amd64,openbsd
+// +build openbsd,amd64
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -301,7 +300,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -327,7 +325,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -343,7 +340,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -359,7 +355,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -375,7 +370,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -391,7 +385,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -694,7 +687,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -715,8 +707,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -742,7 +732,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -758,7 +747,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -774,7 +762,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -790,7 +777,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -884,7 +870,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -901,7 +886,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -975,7 +959,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -997,8 +980,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1014,7 +995,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1030,7 +1010,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1097,7 +1076,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1214,7 +1192,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1230,7 +1207,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1251,8 +1227,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1278,7 +1252,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1302,7 +1275,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1318,7 +1290,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
new file mode 100644
index 00000000..9cabf577
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -0,0 +1,1267 @@
+// mksyscall.pl -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+// +build openbsd,arm
+
+package unix
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+// 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
index 43264278..4287133d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -1,7 +1,7 @@
-// mksyscall_solaris.pl syscall_solaris.go syscall_solaris_amd64.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build amd64,solaris
+// +build solaris,amd64
package unix
@@ -10,17 +10,20 @@ import (
"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_recvmsg recvmsg "libsocket.so"
-//go:cgo_import_dynamic libc_sendmsg sendmsg "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_ioctl ioctl "libc.so"
//go:cgo_import_dynamic libc_access access "libc.so"
@@ -40,8 +43,10 @@ import (
//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_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"
@@ -58,7 +63,7 @@ import (
//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_listen listen "libsocket.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"
@@ -98,6 +103,7 @@ import (
//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"
@@ -111,31 +117,34 @@ import (
//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_bind bind "libsocket.so"
-//go:cgo_import_dynamic libc_connect connect "libsocket.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_sendto sendto "libsocket.so"
-//go:cgo_import_dynamic libc_socket socket "libsocket.so"
-//go:cgo_import_dynamic libc_socketpair socketpair "libsocket.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_getsockopt getsockopt "libsocket.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:cgo_import_dynamic libc_sysconf sysconf "libc.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 procrecvmsg libc_recvmsg
-//go:linkname procsendmsg libc_sendmsg
+//go:linkname proc__xnet_recvmsg libc___xnet_recvmsg
+//go:linkname proc__xnet_sendmsg libc___xnet_sendmsg
//go:linkname procacct libc_acct
//go:linkname procioctl libc_ioctl
//go:linkname procAccess libc_access
@@ -155,8 +164,10 @@ import (
//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 procFstatvfs libc_fstatvfs
//go:linkname procGetdents libc_getdents
//go:linkname procGetgid libc_getgid
//go:linkname procGetpid libc_getpid
@@ -173,7 +184,7 @@ import (
//go:linkname procKill libc_kill
//go:linkname procLchown libc_lchown
//go:linkname procLink libc_link
-//go:linkname proclisten libc_listen
+//go:linkname proc__xnet_llisten libc___xnet_llisten
//go:linkname procLstat libc_lstat
//go:linkname procMadvise libc_madvise
//go:linkname procMkdir libc_mkdir
@@ -213,6 +224,7 @@ import (
//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
@@ -226,32 +238,35 @@ import (
//go:linkname procUnlinkat libc_unlinkat
//go:linkname procUstat libc_ustat
//go:linkname procUtime libc_utime
-//go:linkname procbind libc_bind
-//go:linkname procconnect libc_connect
+//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 procsendto libc_sendto
-//go:linkname procsocket libc_socket
-//go:linkname procsocketpair libc_socketpair
+//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 procgetsockopt libc_getsockopt
+//go:linkname proc__xnet_getsockopt libc___xnet_getsockopt
//go:linkname procgetpeername libc_getpeername
//go:linkname procsetsockopt libc_setsockopt
//go:linkname procrecvfrom libc_recvfrom
//go:linkname procsysconf libc_sysconf
var (
+ procpipe,
procgetsockname,
procGetcwd,
procgetgroups,
procsetgroups,
+ procwait4,
+ procgethostname,
procutimes,
procutimensat,
procfcntl,
procfutimesat,
procaccept,
- procrecvmsg,
- procsendmsg,
+ proc__xnet_recvmsg,
+ proc__xnet_sendmsg,
procacct,
procioctl,
procAccess,
@@ -271,8 +286,10 @@ var (
procFchown,
procFchownat,
procFdatasync,
+ procFlock,
procFpathconf,
procFstat,
+ procFstatvfs,
procGetdents,
procGetgid,
procGetpid,
@@ -289,7 +306,7 @@ var (
procKill,
procLchown,
procLink,
- proclisten,
+ proc__xnet_llisten,
procLstat,
procMadvise,
procMkdir,
@@ -329,6 +346,7 @@ var (
procSetuid,
procshutdown,
procStat,
+ procStatvfs,
procSymlink,
procSync,
procTimes,
@@ -342,21 +360,30 @@ var (
procUnlinkat,
procUstat,
procUtime,
- procbind,
- procconnect,
+ proc__xnet_bind,
+ proc__xnet_connect,
procmmap,
procmunmap,
- procsendto,
- procsocket,
- procsocketpair,
+ proc__xnet_sendto,
+ proc__xnet_socket,
+ proc__xnet_socketpair,
procwrite,
- procgetsockopt,
+ proc__xnet_getsockopt,
procgetpeername,
procsetsockopt,
procrecvfrom,
procsysconf syscallFunc
)
+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
+}
+
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 {
@@ -395,6 +422,28 @@ func setgroups(ngid int, gid *_Gid_t) (err error) {
return
}
+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
+}
+
+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
+}
+
func utimes(path string, times *[2]Timeval) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -402,7 +451,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -416,7 +464,6 @@ func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -450,7 +497,7 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
}
func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
+ 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
@@ -459,7 +506,7 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) {
}
func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) {
- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0)
+ 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
@@ -475,7 +522,7 @@ func acct(path *byte) (err error) {
return
}
-func ioctl(fd int, req int, arg uintptr) (err error) {
+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
@@ -490,7 +537,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -512,7 +558,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -526,7 +571,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -540,7 +584,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -554,7 +597,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -576,7 +618,6 @@ func Creat(path string, mode uint32) (fd int, err error) {
return
}
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = e1
@@ -629,7 +670,6 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -651,7 +691,6 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -666,6 +705,14 @@ func Fdatasync(fd int) (err error) {
return
}
+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
+}
+
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)
@@ -683,6 +730,14 @@ func Fstat(fd int, stat *Stat_t) (err error) {
return
}
+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
+}
+
func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) {
var _p0 *byte
if len(buf) > 0 {
@@ -798,7 +853,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -817,8 +871,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = e1
}
@@ -826,7 +878,7 @@ func Link(path string, link string) (err error) {
}
func Listen(s int, backlog int) (err error) {
- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0)
if e1 != 0 {
err = e1
}
@@ -840,7 +892,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -866,7 +917,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -880,7 +930,6 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -894,7 +943,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -908,7 +956,6 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -922,7 +969,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -936,7 +982,6 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1010,7 +1055,6 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
return
}
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = e1
@@ -1025,7 +1069,6 @@ func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
return
}
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0)
- use(unsafe.Pointer(_p0))
fd = int(r0)
if e1 != 0 {
err = e1
@@ -1040,7 +1083,6 @@ func Pathconf(path string, name int) (val int, err error) {
return
}
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
val = int(r0)
if e1 != 0 {
err = e1
@@ -1106,7 +1148,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_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)
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = e1
@@ -1126,8 +1167,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = e1
}
@@ -1146,8 +1185,6 @@ func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err e
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = e1
}
@@ -1161,7 +1198,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1285,7 +1321,19 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+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
}
@@ -1304,8 +1352,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = e1
}
@@ -1336,7 +1382,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1380,7 +1425,6 @@ func Unmount(target string, flags int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1394,7 +1438,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1408,7 +1451,6 @@ func Unlinkat(dirfd int, path string, flags int) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1430,7 +1472,6 @@ func Utime(path string, buf *Utimbuf) (err error) {
return
}
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = e1
}
@@ -1438,7 +1479,7 @@ func Utime(path string, buf *Utimbuf) (err error) {
}
func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procbind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_bind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
if e1 != 0 {
err = e1
}
@@ -1446,7 +1487,7 @@ func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
}
func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) {
- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procconnect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_connect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0)
if e1 != 0 {
err = e1
}
@@ -1475,7 +1516,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
if len(buf) > 0 {
_p0 = &buf[0]
}
- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen))
+ _, _, 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
}
@@ -1483,7 +1524,7 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (
}
func socket(domain int, typ int, proto int) (fd int, err error) {
- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsocket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0)
+ 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
@@ -1492,7 +1533,7 @@ func socket(domain int, typ int, proto int) (fd int, err error) {
}
func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) {
- _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsocketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0)
+ _, _, 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
}
@@ -1513,7 +1554,7 @@ func write(fd int, p []byte) (n int, err error) {
}
func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) {
- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0)
+ _, _, 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
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
index b8c9aea8..41cb6ed3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
@@ -1,5 +1,5 @@
-// mksysnum_darwin.pl /usr/include/sys/syscall.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm,darwin
@@ -121,12 +121,14 @@ const (
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_CHUD = 185
SYS_FDATASYNC = 187
SYS_STAT = 188
SYS_FSTAT = 189
@@ -140,17 +142,10 @@ const (
SYS_LSEEK = 199
SYS_TRUNCATE = 200
SYS_FTRUNCATE = 201
- SYS___SYSCTL = 202
+ SYS_SYSCTL = 202
SYS_MLOCK = 203
SYS_MUNLOCK = 204
SYS_UNDELETE = 205
- SYS_ATSOCKET = 206
- SYS_ATGETMSG = 207
- SYS_ATPUTMSG = 208
- SYS_ATPSNDREQ = 209
- SYS_ATPSNDRSP = 210
- SYS_ATPGETREQ = 211
- SYS_ATPGETRSP = 212
SYS_OPEN_DPROTECTED_NP = 216
SYS_GETATTRLIST = 220
SYS_SETATTRLIST = 221
@@ -202,9 +197,7 @@ const (
SYS_SEM_WAIT = 271
SYS_SEM_TRYWAIT = 272
SYS_SEM_POST = 273
- SYS_SEM_GETVALUE = 274
- SYS_SEM_INIT = 275
- SYS_SEM_DESTROY = 276
+ SYS_SYSCTLBYNAME = 274
SYS_OPEN_EXTENDED = 277
SYS_UMASK_EXTENDED = 278
SYS_STAT_EXTENDED = 279
@@ -286,7 +279,6 @@ const (
SYS_KQUEUE = 362
SYS_KEVENT = 363
SYS_LCHOWN = 364
- SYS_STACK_SNAPSHOT = 365
SYS_BSDTHREAD_REGISTER = 366
SYS_WORKQ_OPEN = 367
SYS_WORKQ_KERNRETURN = 368
@@ -295,6 +287,7 @@ const (
SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371
SYS_THREAD_SELFID = 372
SYS_LEDGER = 373
+ SYS_KEVENT_QOS = 374
SYS___MAC_EXECVE = 380
SYS___MAC_SYSCALL = 381
SYS___MAC_GET_FILE = 382
@@ -306,11 +299,8 @@ const (
SYS___MAC_GET_FD = 388
SYS___MAC_SET_FD = 389
SYS___MAC_GET_PID = 390
- SYS___MAC_GET_LCID = 391
- SYS___MAC_GET_LCTX = 392
- SYS___MAC_SET_LCTX = 393
- SYS_SETLCID = 394
- SYS_GETLCID = 395
+ SYS_PSELECT = 394
+ SYS_PSELECT_NOCANCEL = 395
SYS_READ_NOCANCEL = 396
SYS_WRITE_NOCANCEL = 397
SYS_OPEN_NOCANCEL = 398
@@ -354,5 +344,83 @@ const (
SYS_PID_SHUTDOWN_SOCKETS = 436
SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438
SYS_KAS_INFO = 439
- SYS_MAXSYSCALL = 440
+ 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_MAXSYSCALL = 522
+ SYS_INVALID = 63
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
index 26677ebb..075816c3 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
@@ -1,5 +1,5 @@
-// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr/include/sys/syscall.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/include/sys/syscall.h
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm64,darwin
@@ -121,13 +121,14 @@ const (
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_CHUD = 185
SYS_FDATASYNC = 187
SYS_STAT = 188
SYS_FSTAT = 189
@@ -278,7 +279,6 @@ const (
SYS_KQUEUE = 362
SYS_KEVENT = 363
SYS_LCHOWN = 364
- SYS_STACK_SNAPSHOT = 365
SYS_BSDTHREAD_REGISTER = 366
SYS_WORKQ_OPEN = 367
SYS_WORKQ_KERNRETURN = 368
@@ -287,6 +287,7 @@ const (
SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371
SYS_THREAD_SELFID = 372
SYS_LEDGER = 373
+ SYS_KEVENT_QOS = 374
SYS___MAC_EXECVE = 380
SYS___MAC_SYSCALL = 381
SYS___MAC_GET_FILE = 382
@@ -298,11 +299,8 @@ const (
SYS___MAC_GET_FD = 388
SYS___MAC_SET_FD = 389
SYS___MAC_GET_PID = 390
- SYS___MAC_GET_LCID = 391
- SYS___MAC_GET_LCTX = 392
- SYS___MAC_SET_LCTX = 393
- SYS_SETLCID = 394
- SYS_GETLCID = 395
+ SYS_PSELECT = 394
+ SYS_PSELECT_NOCANCEL = 395
SYS_READ_NOCANCEL = 396
SYS_WRITE_NOCANCEL = 397
SYS_OPEN_NOCANCEL = 398
@@ -351,6 +349,7 @@ const (
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
@@ -367,6 +366,7 @@ const (
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
@@ -392,7 +392,35 @@ const (
SYS_GUARDED_WRITE_NP = 485
SYS_GUARDED_PWRITE_NP = 486
SYS_GUARDED_WRITEV_NP = 487
- SYS_RENAME_EXT = 488
+ SYS_RENAMEATX_NP = 488
SYS_MREMAP_ENCRYPTED = 489
- SYS_MAXSYSCALL = 490
+ 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_MAXSYSCALL = 522
+ SYS_INVALID = 63
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
index d6038fa9..b2c9ef81 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
@@ -1,5 +1,5 @@
// mksysnum_dragonfly.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,dragonfly
@@ -42,7 +42,7 @@ const (
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_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, \
@@ -76,7 +76,7 @@ const (
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_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, \
SYS_FSYNC = 95 // { int fsync(int fd); }
@@ -144,7 +144,7 @@ const (
SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \
SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \
SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); }
- SYS_MSGSND = 226 // { int msgsnd(int msqid, void *msgp, size_t msgsz, \
+ SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \
SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \
SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \
SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \
@@ -224,7 +224,7 @@ const (
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, \
- SYS_SCTP_PEELOFF = 364 // { int sctp_peeloff(int sd, caddr_t name ); }
+ 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, \
@@ -301,4 +301,15 @@ const (
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, \
+ 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
index 262a8453..b64a8122 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
@@ -1,5 +1,5 @@
// mksysnum_freebsd.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build 386,freebsd
@@ -7,345 +7,347 @@ package unix
const (
// SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int
- SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
- SYS_FORK = 2 // { int fork(void); }
- SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
- SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
- 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, \
- 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 \
- SYS_GETPID = 20 // { pid_t getpid(void); }
- SYS_MOUNT = 21 // { int mount(char *type, char *path, \
- 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, \
- SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
- SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
- SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
- SYS_ACCEPT = 30 // { int accept(int s, \
- SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
- SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
- 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, \
- SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
- SYS_GETGID = 47 // { gid_t getgid(void); }
- SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
- SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
- SYS_ACCT = 51 // { int acct(char *path); }
- SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
- SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
- 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, \
- SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
- SYS_CHROOT = 61 // { int chroot(char *path); }
- SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
- 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 \
- SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
- SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
- SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
- SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
- SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
- SYS_GETPGRP = 81 // { int getpgrp(void); }
- SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
- SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
- SYS_SWAPON = 85 // { int swapon(char *name); }
- SYS_GETITIMER = 86 // { int getitimer(u_int which, \
- 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, \
- SYS_FSYNC = 95 // { int fsync(int fd); }
- SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
- SYS_SOCKET = 97 // { int socket(int domain, int type, \
- SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
- SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
- SYS_BIND = 104 // { int bind(int s, caddr_t name, \
- SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
- SYS_LISTEN = 106 // { int listen(int s, int backlog); }
- SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
- SYS_GETRUSAGE = 117 // { int getrusage(int who, \
- SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
- SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
- SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
- SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
- 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, \
- SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
- SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
- SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
- SYS_RMDIR = 137 // { int rmdir(char *path); }
- SYS_UTIMES = 138 // { int utimes(char *path, \
- SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
- SYS_SETSID = 147 // { int setsid(void); }
- SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
- SYS_LGETFH = 160 // { int lgetfh(char *fname, \
- SYS_GETFH = 161 // { int getfh(char *fname, \
- SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
- SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
- SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
- SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
- 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, \
- SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
- SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
- SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
- SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
- SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
- SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
- 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, \
- SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
- SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
- SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
- SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
- SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
- SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
- SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
- SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
- SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
- SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
- SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
- SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
- SYS_RFORK = 251 // { int rfork(int flags); }
- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
- SYS_ISSETUGID = 253 // { int issetugid(void); }
- SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
- SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
- SYS_LUTIMES = 276 // { int lutimes(char *path, \
- 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, \
- SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
- SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
- SYS_MODNEXT = 300 // { int modnext(int modid); }
- SYS_MODSTAT = 301 // { int modstat(int modid, \
- 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 \
- 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, \
- SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
- 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, \
- SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
- SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
- 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, \
- SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
- SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
- SYS_JAIL = 338 // { int jail(struct jail *jail); }
- SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
- 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, \
- SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
- SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
- SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
- SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
- SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
- SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
- SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
- SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
- SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
- SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
- SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
- SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
- SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
- SYS_KQUEUE = 362 // { int kqueue(void); }
- SYS_KEVENT = 363 // { int kevent(int fd, \
- SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
- SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
- SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
- SYS___SETUGID = 374 // { int __setugid(int flag); }
- SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
- SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
- 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, \
- SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
- SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
- SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
- SYS_KENV = 390 // { int kenv(int what, const char *name, \
- SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
- SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
- SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
- SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
- SYS_STATFS = 396 // { int statfs(char *path, \
- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
- SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
- SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
- SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
- SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
- SYS_SIGACTION = 416 // { int sigaction(int sig, \
- SYS_SIGRETURN = 417 // { int sigreturn( \
- SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
- SYS_SETCONTEXT = 422 // { int setcontext( \
- SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
- SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
- SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
- SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
- SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
- SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
- SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
- SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
- 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
- SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
- SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
- SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
- SYS_THR_SUSPEND = 442 // { int thr_suspend( \
- 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, \
- SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
- 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( \
- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
- SYS_AUDITCTL = 453 // { int auditctl(char *path); }
- SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
- SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
- SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
- 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
- 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, \
- SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
- SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
- SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
- SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
- SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
- 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, \
- 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, \
- SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
- SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
- SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
- SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
- SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
- SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
- SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
- SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
- SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
- 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, \
- SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
- SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
- SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
- SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
- SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
- SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
- SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
- SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
- SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
- SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
- SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }
- SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \
- 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, \
- SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
- SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
- SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
- SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
- SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
- SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
- SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
- SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
- SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
- SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
- SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
- SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
- SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
- SYS_ACCEPT4 = 541 // { int accept4(int s, \
- SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
- SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
- SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
+ SYS_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
index 57a60ea1..81722ac9 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
@@ -1,5 +1,5 @@
// mksysnum_freebsd.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,freebsd
@@ -7,345 +7,347 @@ package unix
const (
// SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int
- SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
- SYS_FORK = 2 // { int fork(void); }
- SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
- SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
- 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, \
- 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 \
- SYS_GETPID = 20 // { pid_t getpid(void); }
- SYS_MOUNT = 21 // { int mount(char *type, char *path, \
- 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, \
- SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
- SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
- SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
- SYS_ACCEPT = 30 // { int accept(int s, \
- SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
- SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
- 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, \
- SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
- SYS_GETGID = 47 // { gid_t getgid(void); }
- SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
- SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
- SYS_ACCT = 51 // { int acct(char *path); }
- SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
- SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
- 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, \
- SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
- SYS_CHROOT = 61 // { int chroot(char *path); }
- SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
- 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 \
- SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
- SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
- SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
- SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
- SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
- SYS_GETPGRP = 81 // { int getpgrp(void); }
- SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
- SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
- SYS_SWAPON = 85 // { int swapon(char *name); }
- SYS_GETITIMER = 86 // { int getitimer(u_int which, \
- 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, \
- SYS_FSYNC = 95 // { int fsync(int fd); }
- SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
- SYS_SOCKET = 97 // { int socket(int domain, int type, \
- SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
- SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
- SYS_BIND = 104 // { int bind(int s, caddr_t name, \
- SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
- SYS_LISTEN = 106 // { int listen(int s, int backlog); }
- SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
- SYS_GETRUSAGE = 117 // { int getrusage(int who, \
- SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
- SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
- SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
- SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
- 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, \
- SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
- SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
- SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
- SYS_RMDIR = 137 // { int rmdir(char *path); }
- SYS_UTIMES = 138 // { int utimes(char *path, \
- SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
- SYS_SETSID = 147 // { int setsid(void); }
- SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
- SYS_LGETFH = 160 // { int lgetfh(char *fname, \
- SYS_GETFH = 161 // { int getfh(char *fname, \
- SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
- SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
- SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
- SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
- 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, \
- SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
- SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
- SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
- SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
- SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
- SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
- 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, \
- SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
- SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
- SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
- SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
- SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
- SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
- SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
- SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
- SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
- SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
- SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
- SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
- SYS_RFORK = 251 // { int rfork(int flags); }
- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
- SYS_ISSETUGID = 253 // { int issetugid(void); }
- SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
- SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
- SYS_LUTIMES = 276 // { int lutimes(char *path, \
- 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, \
- SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
- SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
- SYS_MODNEXT = 300 // { int modnext(int modid); }
- SYS_MODSTAT = 301 // { int modstat(int modid, \
- 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 \
- 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, \
- SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
- 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, \
- SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
- SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
- 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, \
- SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
- SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
- SYS_JAIL = 338 // { int jail(struct jail *jail); }
- SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
- 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, \
- SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
- SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
- SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
- SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
- SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
- SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
- SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
- SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
- SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
- SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
- SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
- SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
- SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
- SYS_KQUEUE = 362 // { int kqueue(void); }
- SYS_KEVENT = 363 // { int kevent(int fd, \
- SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
- SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
- SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
- SYS___SETUGID = 374 // { int __setugid(int flag); }
- SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
- SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
- 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, \
- SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
- SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
- SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
- SYS_KENV = 390 // { int kenv(int what, const char *name, \
- SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
- SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
- SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
- SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
- SYS_STATFS = 396 // { int statfs(char *path, \
- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
- SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
- SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
- SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
- SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
- SYS_SIGACTION = 416 // { int sigaction(int sig, \
- SYS_SIGRETURN = 417 // { int sigreturn( \
- SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
- SYS_SETCONTEXT = 422 // { int setcontext( \
- SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
- SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
- SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
- SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
- SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
- SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
- SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
- SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
- 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
- SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
- SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
- SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
- SYS_THR_SUSPEND = 442 // { int thr_suspend( \
- 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, \
- SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
- 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( \
- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
- SYS_AUDITCTL = 453 // { int auditctl(char *path); }
- SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
- SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
- SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
- 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
- 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, \
- SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
- SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
- SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
- SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
- SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
- 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, \
- 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, \
- SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
- SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
- SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
- SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
- SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
- SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
- SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
- SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
- SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
- 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, \
- SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
- SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
- SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
- SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
- SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
- SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
- SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
- SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
- SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
- SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
- SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }
- SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \
- 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, \
- SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
- SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
- SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
- SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
- SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
- SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
- SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
- SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
- SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
- SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
- SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
- SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
- SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
- SYS_ACCEPT4 = 541 // { int accept4(int s, \
- SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
- SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
- SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
+ SYS_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
index 206b9f61..44883141 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
@@ -1,5 +1,5 @@
// mksysnum_freebsd.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build arm,freebsd
@@ -7,345 +7,347 @@ package unix
const (
// SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int
- SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
- SYS_FORK = 2 // { int fork(void); }
- SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
- SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
- 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, \
- 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 \
- SYS_GETPID = 20 // { pid_t getpid(void); }
- SYS_MOUNT = 21 // { int mount(char *type, char *path, \
- 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, \
- SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
- SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
- SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
- SYS_ACCEPT = 30 // { int accept(int s, \
- SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
- SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
- 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, \
- SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
- SYS_GETGID = 47 // { gid_t getgid(void); }
- SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
- SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
- SYS_ACCT = 51 // { int acct(char *path); }
- SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
- SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
- 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, \
- SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
- SYS_CHROOT = 61 // { int chroot(char *path); }
- SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
- 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 \
- SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
- SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
- SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
- SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
- SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
- SYS_GETPGRP = 81 // { int getpgrp(void); }
- SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
- SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
- SYS_SWAPON = 85 // { int swapon(char *name); }
- SYS_GETITIMER = 86 // { int getitimer(u_int which, \
- 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, \
- SYS_FSYNC = 95 // { int fsync(int fd); }
- SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
- SYS_SOCKET = 97 // { int socket(int domain, int type, \
- SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
- SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
- SYS_BIND = 104 // { int bind(int s, caddr_t name, \
- SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
- SYS_LISTEN = 106 // { int listen(int s, int backlog); }
- SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
- SYS_GETRUSAGE = 117 // { int getrusage(int who, \
- SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
- SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
- SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
- SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
- 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, \
- SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
- SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
- SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
- SYS_RMDIR = 137 // { int rmdir(char *path); }
- SYS_UTIMES = 138 // { int utimes(char *path, \
- SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
- SYS_SETSID = 147 // { int setsid(void); }
- SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
- SYS_LGETFH = 160 // { int lgetfh(char *fname, \
- SYS_GETFH = 161 // { int getfh(char *fname, \
- SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
- SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
- SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
- SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
- 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, \
- SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
- SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
- SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
- SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
- SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
- SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
- 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, \
- SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
- SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
- SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
- SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
- SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
- SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
- SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
- SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
- SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
- SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
- SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
- SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
- SYS_RFORK = 251 // { int rfork(int flags); }
- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
- SYS_ISSETUGID = 253 // { int issetugid(void); }
- SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
- SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
- SYS_LUTIMES = 276 // { int lutimes(char *path, \
- 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, \
- SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
- SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
- SYS_MODNEXT = 300 // { int modnext(int modid); }
- SYS_MODSTAT = 301 // { int modstat(int modid, \
- 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 \
- 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, \
- SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
- 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, \
- SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
- SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
- 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, \
- SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
- SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
- SYS_JAIL = 338 // { int jail(struct jail *jail); }
- SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
- 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, \
- SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
- SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
- SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
- SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
- SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
- SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
- SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
- SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
- SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
- SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
- SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
- SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
- SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
- SYS_KQUEUE = 362 // { int kqueue(void); }
- SYS_KEVENT = 363 // { int kevent(int fd, \
- SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
- SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
- SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
- SYS___SETUGID = 374 // { int __setugid(int flag); }
- SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
- SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
- 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, \
- SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
- SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
- SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
- SYS_KENV = 390 // { int kenv(int what, const char *name, \
- SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
- SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
- SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
- SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
- SYS_STATFS = 396 // { int statfs(char *path, \
- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
- SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
- SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
- SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
- SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
- SYS_SIGACTION = 416 // { int sigaction(int sig, \
- SYS_SIGRETURN = 417 // { int sigreturn( \
- SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
- SYS_SETCONTEXT = 422 // { int setcontext( \
- SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
- SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
- SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
- SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
- SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
- SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
- SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
- SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
- 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
- SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
- SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
- SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
- SYS_THR_SUSPEND = 442 // { int thr_suspend( \
- 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, \
- SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
- 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( \
- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
- SYS_AUDITCTL = 453 // { int auditctl(char *path); }
- SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
- SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
- SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
- 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
- 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, \
- SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \
- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \
- SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
- SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
- SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
- SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
- 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, \
- 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, \
- SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
- SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
- SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
- SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
- SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
- SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
- SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
- SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
- SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
- 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, \
- SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
- SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
- SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
- SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
- SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
- SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
- SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
- SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
- SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
- SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
- SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); }
- SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \
- 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, \
- SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
- SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
- SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
- SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
- SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
- SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
- SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
- SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
- SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
- SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
- SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
- SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
- SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
- SYS_ACCEPT4 = 541 // { int accept4(int s, \
- SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
- SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
- SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \
+ SYS_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index ba952c67..cef4fed0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -1,5 +1,5 @@
-// mksysnum_linux.pl /usr/include/asm/unistd_32.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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
@@ -226,7 +226,6 @@ const (
SYS_PIVOT_ROOT = 217
SYS_MINCORE = 218
SYS_MADVISE = 219
- SYS_MADVISE1 = 219
SYS_GETDENTS64 = 220
SYS_FCNTL64 = 221
SYS_GETTID = 224
@@ -352,4 +351,38 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index ddac31f5..49bfa127 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -1,5 +1,5 @@
-// mksysnum_linux.pl /usr/include/asm/unistd_64.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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
@@ -318,4 +318,24 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index 45ced17f..97b182ef 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -1,13 +1,11 @@
-// mksysnum_linux.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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_OABI_SYSCALL_BASE = 0
- SYS_SYSCALL_BASE = 0
SYS_RESTART_SYSCALL = 0
SYS_EXIT = 1
SYS_FORK = 2
@@ -20,21 +18,16 @@ const (
SYS_UNLINK = 10
SYS_EXECVE = 11
SYS_CHDIR = 12
- SYS_TIME = 13
SYS_MKNOD = 14
SYS_CHMOD = 15
SYS_LCHOWN = 16
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_PAUSE = 29
- SYS_UTIME = 30
SYS_ACCESS = 33
SYS_NICE = 34
SYS_SYNC = 36
@@ -69,20 +62,16 @@ const (
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_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
@@ -92,7 +81,6 @@ const (
SYS_SETPRIORITY = 97
SYS_STATFS = 99
SYS_FSTATFS = 100
- SYS_SOCKETCALL = 102
SYS_SYSLOG = 103
SYS_SETITIMER = 104
SYS_GETITIMER = 105
@@ -100,11 +88,9 @@ const (
SYS_LSTAT = 107
SYS_FSTAT = 108
SYS_VHANGUP = 111
- SYS_SYSCALL = 113
SYS_WAIT4 = 114
SYS_SWAPOFF = 115
SYS_SYSINFO = 116
- SYS_IPC = 117
SYS_FSYNC = 118
SYS_SIGRETURN = 119
SYS_CLONE = 120
@@ -353,4 +339,23 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index 2e9514f2..64078435 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -1,5 +1,5 @@
-// mksysnum_linux.pl /usr/include/asm-generic/unistd.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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
@@ -269,4 +269,17 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
new file mode 100644
index 00000000..939567c0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -0,0 +1,374 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
new file mode 100644
index 00000000..09db9596
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -0,0 +1,334 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
new file mode 100644
index 00000000..d1b872a0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -0,0 +1,334 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
new file mode 100644
index 00000000..82ba20f2
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -0,0 +1,374 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index e1b08f00..8944448a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -1,5 +1,5 @@
-// mksysnum_linux.pl /usr/include/asm/unistd.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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
@@ -357,4 +357,13 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index 45e63f51..90a039be 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -1,5 +1,5 @@
-// mksysnum_linux.pl /usr/include/powerpc64le-linux-gnu/asm/unistd.h
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// linux/mksysnum.pl -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
@@ -350,4 +350,20 @@ const (
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
new file mode 100644
index 00000000..aab0cdb1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -0,0 +1,331 @@
+// linux/mksysnum.pl -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_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_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_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_SELECT = 142
+ 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_NEWFSTATAT = 293
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
new file mode 100644
index 00000000..c9c129dc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
@@ -0,0 +1,348 @@
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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_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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
new file mode 100644
index 00000000..32653e53
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
@@ -0,0 +1,213 @@
+// mksysnum_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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, \
+ SYS_OPEN = 5 // { int sys_open(const char *path, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); }
+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \
+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break
+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); }
+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \
+ SYS_GETPID = 20 // { pid_t sys_getpid(void); }
+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \
+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \
+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \
+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \
+ 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, \
+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); }
+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \
+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \
+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \
+ SYS_GETGID = 47 // { gid_t sys_getgid(void); }
+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); }
+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); }
+ 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, \
+ 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, \
+ SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, \
+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \
+ 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, \
+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \
+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \
+ SYS_VFORK = 66 // { int sys_vfork(void); }
+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \
+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \
+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \
+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \
+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \
+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \
+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \
+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \
+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \
+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \
+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); }
+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); }
+ SYS_SENDSYSLOG = 83 // { int sys_sendsyslog(const void *buf, size_t nbyte); }
+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \
+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \
+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \
+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \
+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); }
+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \
+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); }
+ SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, \
+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \
+ 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, \
+ 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, \
+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); }
+ SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, \
+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \
+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); }
+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \
+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \
+ 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, \
+ SYS_SETSID = 147 // { int sys_setsid(void); }
+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \
+ 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, \
+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \
+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); }
+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \
+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \
+ 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, \
+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \
+ 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, \
+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); }
+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
+ 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, \
+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \
+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \
+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \
+ 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, \
+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); }
+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); }
+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \
+ 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, \
+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \
+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \
+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \
+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \
+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \
+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \
+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \
+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \
+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \
+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); }
+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); }
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
index 2de1d44e..e61d78a5 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
@@ -1,6 +1,7 @@
+// cgo -godefs types_darwin.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
// +build 386,darwin
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_darwin.go
package unix
@@ -445,3 +446,17 @@ type Termios struct {
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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
index 04465787..2619155f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -1,6 +1,7 @@
+// cgo -godefs types_darwin.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
// +build amd64,darwin
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_darwin.go
package unix
@@ -456,7 +457,16 @@ type Termios struct {
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
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
index 66df363c..4dca0d4d 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
@@ -447,3 +447,17 @@ type Termios struct {
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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
index 85d56eab..f2881fd1 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -455,3 +455,17 @@ type Termios struct {
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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
index 8a6f4e1c..e585c893 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
@@ -1,5 +1,5 @@
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_dragonfly.go
+// cgo -godefs types_dragonfly.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build amd64,dragonfly
@@ -324,7 +324,7 @@ type IfData struct {
Iqdrops uint64
Noproto uint64
Hwassist uint64
- Unused uint64
+ Oqdrops uint64
Lastchange Timeval
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
index 8cf30947..5b28bcbb 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
@@ -1,6 +1,7 @@
+// cgo -godefs types_freebsd.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
// +build 386,freebsd
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_freebsd.go
package unix
@@ -85,7 +86,7 @@ type Stat_t struct {
Ctimespec Timespec
Size int64
Blocks int64
- Blksize uint32
+ Blksize int32
Flags uint32
Gen uint32
Lspare int32
@@ -288,9 +289,9 @@ type FdSet struct {
}
const (
- sizeofIfMsghdr = 0x64
+ sizeofIfMsghdr = 0xa8
SizeofIfMsghdr = 0x60
- sizeofIfData = 0x54
+ sizeofIfData = 0x98
SizeofIfData = 0x50
SizeofIfaMsghdr = 0x14
SizeofIfmaMsghdr = 0x10
@@ -322,31 +323,31 @@ type IfMsghdr struct {
}
type ifData struct {
- Type uint8
- Physical uint8
- Addrlen uint8
- Hdrlen uint8
- Link_state uint8
- Vhid uint8
- Baudrate_pf 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 uint64
- Epoch int32
- Lastchange Timeval
+ 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [16]byte
}
type IfData struct {
@@ -500,3 +501,21 @@ type Termios struct {
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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
index e5feb207..c65d89e4 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
@@ -1,6 +1,7 @@
+// cgo -godefs types_freebsd.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
// +build amd64,freebsd
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_freebsd.go
package unix
@@ -85,7 +86,7 @@ type Stat_t struct {
Ctimespec Timespec
Size int64
Blocks int64
- Blksize uint32
+ Blksize int32
Flags uint32
Gen uint32
Lspare int32
@@ -324,31 +325,31 @@ type IfMsghdr struct {
}
type ifData struct {
- Type uint8
- Physical uint8
- Addrlen uint8
- Hdrlen uint8
- Link_state uint8
- Vhid uint8
- Baudrate_pf 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 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [16]byte
}
type IfData struct {
@@ -503,3 +504,21 @@ type Termios struct {
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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
index 5472b542..42c0a502 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
@@ -1,5 +1,5 @@
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -fsigned-char types_freebsd.go
+// 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
@@ -88,7 +88,7 @@ type Stat_t struct {
Ctimespec Timespec
Size int64
Blocks int64
- Blksize uint32
+ Blksize int32
Flags uint32
Gen uint32
Lspare int32
@@ -142,6 +142,15 @@ type Fsid struct {
Val [2]int32
}
+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
@@ -282,9 +291,9 @@ type FdSet struct {
}
const (
- sizeofIfMsghdr = 0x70
+ sizeofIfMsghdr = 0xa8
SizeofIfMsghdr = 0x70
- sizeofIfData = 0x60
+ sizeofIfData = 0x98
SizeofIfData = 0x60
SizeofIfaMsghdr = 0x14
SizeofIfmaMsghdr = 0x10
@@ -316,31 +325,31 @@ type IfMsghdr struct {
}
type ifData struct {
- Type uint8
- Physical uint8
- Addrlen uint8
- Hdrlen uint8
- Link_state uint8
- Vhid uint8
- Baudrate_pf 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 uint64
- Epoch int64
- Lastchange Timeval
+ 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [16]byte
}
type IfData struct {
@@ -495,3 +504,21 @@ type Termios struct {
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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index cf5db0e1..0dcebb50 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_linux.go
package unix
@@ -151,6 +152,35 @@ type Flock_t struct {
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
@@ -188,6 +218,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]int8
@@ -226,6 +285,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -237,10 +303,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint32
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint32
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -310,10 +375,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x8
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x1c
SizeofCmsghdr = 0xc
SizeofInet4Pktinfo = 0xc
@@ -354,7 +425,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x1d
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -504,7 +575,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]int8
}
const SizeofInotifyEvent = 0x10
@@ -574,10 +644,37 @@ type EpollEvent struct {
const (
AT_FDCWD = -0x64
- AT_SYMLINK_NOFOLLOW = 0x100
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x80045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -588,3 +685,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index ac27784a..d70e5434 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_linux.go
package unix
@@ -98,21 +99,21 @@ type Rlimit struct {
type _Gid_t uint32
type Stat_t struct {
- Dev uint64
- Ino uint64
- Nlink uint64
- Mode uint32
- Uid uint32
- Gid uint32
- X__pad0 int32
- Rdev uint64
- Size int64
- Blksize int64
- Blocks int64
- Atim Timespec
- Mtim Timespec
- Ctim Timespec
- X__unused [3]int64
+ Dev uint64
+ Ino uint64
+ Nlink uint64
+ Mode uint32
+ Uid uint32
+ Gid uint32
+ X__pad0 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ [3]int64
}
type Statfs_t struct {
@@ -153,6 +154,35 @@ type Flock_t struct {
Pad_cgo_1 [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
@@ -190,6 +220,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]int8
@@ -228,6 +287,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -241,10 +307,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint64
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint64
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -314,10 +379,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x10
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x38
SizeofCmsghdr = 0x10
SizeofInet4Pktinfo = 0xc
@@ -358,7 +429,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x1d
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -508,7 +579,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]int8
}
const SizeofInotifyEvent = 0x10
@@ -592,10 +662,37 @@ type EpollEvent struct {
const (
AT_FDCWD = -0x64
- AT_SYMLINK_NOFOLLOW = 0x100
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
)
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -606,3 +703,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index b318bb85..497f5631 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_linux.go
package unix
@@ -155,6 +156,35 @@ type Flock_t struct {
Pad_cgo_1 [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
@@ -192,6 +222,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]uint8
@@ -230,6 +289,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -241,10 +307,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint32
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint32
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -314,10 +379,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x8
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x1c
SizeofCmsghdr = 0xc
SizeofInet4Pktinfo = 0xc
@@ -358,7 +429,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x1d
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -508,7 +579,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]uint8
}
const SizeofInotifyEvent = 0x10
@@ -563,10 +633,37 @@ type EpollEvent struct {
const (
AT_FDCWD = -0x64
- AT_SYMLINK_NOFOLLOW = 0x100
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x80045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -577,3 +674,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index a159aada..f0bdaede 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -fsigned-char types_linux.go
package unix
@@ -98,22 +99,22 @@ type Rlimit struct {
type _Gid_t uint32
type Stat_t struct {
- Dev uint64
- Ino uint64
- Mode uint32
- Nlink uint32
- Uid uint32
- Gid uint32
- Rdev uint64
- X__pad1 uint64
- Size int64
- Blksize int32
- X__pad2 int32
- Blocks int64
- Atim Timespec
- Mtim Timespec
- Ctim Timespec
- X__glibc_reserved [2]int32
+ Dev uint64
+ Ino uint64
+ Mode uint32
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Rdev uint64
+ X__pad1 uint64
+ Size int64
+ Blksize int32
+ X__pad2 int32
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ [2]int32
}
type Statfs_t struct {
@@ -154,6 +155,26 @@ type Flock_t struct {
Pad_cgo_1 [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
@@ -200,6 +221,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]int8
@@ -238,6 +288,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -251,10 +308,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint64
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint64
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -324,10 +380,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x10
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x38
SizeofCmsghdr = 0x10
SizeofInet4Pktinfo = 0xc
@@ -368,7 +430,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x22
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -518,7 +580,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]int8
}
const SizeofInotifyEvent = 0x10
@@ -573,6 +634,7 @@ type Ustat_t struct {
type EpollEvent struct {
Events uint32
+ PadFd int32
Fd int32
Pad int32
}
@@ -580,9 +642,36 @@ type EpollEvent struct {
const (
AT_FDCWD = -0x64
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
AT_SYMLINK_NOFOLLOW = 0x100
)
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -593,3 +682,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
new file mode 100644
index 00000000..850a68cb
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -0,0 +1,688 @@
+// 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
+ Pad_cgo_0 [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 Statfs_t struct {
+ Type int32
+ Bsize int32
+ Frsize int32
+ Pad_cgo_0 [4]byte
+ Blocks uint64
+ Bfree uint64
+ Files uint64
+ Ffree uint64
+ Bavail uint64
+ Fsid Fsid
+ Namelen int32
+ Flags int32
+ Spare [5]int32
+ Pad_cgo_1 [4]byte
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2b
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]int8
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
+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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
new file mode 100644
index 00000000..92aac5d9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -0,0 +1,693 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2b
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
+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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
new file mode 100644
index 00000000..623f5812
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -0,0 +1,693 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2b
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
+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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
new file mode 100644
index 00000000..56598a1b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -0,0 +1,688 @@
+// 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
+ Pad_cgo_0 [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 Statfs_t struct {
+ Type int32
+ Bsize int32
+ Frsize int32
+ Pad_cgo_0 [4]byte
+ Blocks uint64
+ Bfree uint64
+ Files uint64
+ Ffree uint64
+ Bavail uint64
+ Fsid Fsid
+ Namelen int32
+ Flags int32
+ Spare [5]int32
+ Pad_cgo_1 [4]byte
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2b
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]int8
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
+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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index b14cbfef..acc7c819 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_linux.go
package unix
@@ -98,23 +99,23 @@ type Rlimit struct {
type _Gid_t uint32
type Stat_t struct {
- Dev uint64
- Ino uint64
- Nlink uint64
- Mode uint32
- Uid uint32
- Gid uint32
- X__pad2 int32
- Rdev uint64
- Size int64
- Blksize int64
- Blocks int64
- Atim Timespec
- Mtim Timespec
- Ctim Timespec
- X__glibc_reserved4 uint64
- X__glibc_reserved5 uint64
- X__glibc_reserved6 uint64
+ Dev uint64
+ Ino uint64
+ Nlink uint64
+ Mode uint32
+ Uid uint32
+ Gid uint32
+ X__pad2 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ uint64
+ _ uint64
+ _ uint64
}
type Statfs_t struct {
@@ -155,6 +156,26 @@ type Flock_t struct {
Pad_cgo_1 [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
@@ -201,6 +222,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]uint8
@@ -239,6 +289,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -252,10 +309,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint64
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint64
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -325,10 +381,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x10
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x38
SizeofCmsghdr = 0x10
SizeofInet4Pktinfo = 0xc
@@ -369,7 +431,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x23
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -519,7 +581,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]uint8
}
const SizeofInotifyEvent = 0x10
@@ -582,17 +643,45 @@ type Ustat_t struct {
}
type EpollEvent struct {
- Events uint32
- Fd int32
- Pad int32
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
}
const (
AT_FDCWD = -0x64
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
AT_SYMLINK_NOFOLLOW = 0x100
)
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -603,3 +692,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index 22c96a2f..b348885c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -1,6 +1,7 @@
+// 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
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_linux.go
package unix
@@ -98,23 +99,23 @@ type Rlimit struct {
type _Gid_t uint32
type Stat_t struct {
- Dev uint64
- Ino uint64
- Nlink uint64
- Mode uint32
- Uid uint32
- Gid uint32
- X__pad2 int32
- Rdev uint64
- Size int64
- Blksize int64
- Blocks int64
- Atim Timespec
- Mtim Timespec
- Ctim Timespec
- X__glibc_reserved4 uint64
- X__glibc_reserved5 uint64
- X__glibc_reserved6 uint64
+ Dev uint64
+ Ino uint64
+ Nlink uint64
+ Mode uint32
+ Uid uint32
+ Gid uint32
+ X__pad2 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ uint64
+ _ uint64
+ _ uint64
}
type Statfs_t struct {
@@ -155,6 +156,26 @@ type Flock_t struct {
Pad_cgo_1 [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
@@ -201,6 +222,35 @@ type RawSockaddrNetlink struct {
Groups uint32
}
+type RawSockaddrHCI struct {
+ Family uint16
+ Dev uint16
+ Channel uint16
+}
+
+type RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 RawSockaddr struct {
Family uint16
Data [14]uint8
@@ -239,6 +289,13 @@ type IPv6Mreq struct {
Interface uint32
}
+type PacketMreq struct {
+ Ifindex int32
+ Type uint16
+ Alen uint16
+ Address [8]uint8
+}
+
type Msghdr struct {
Name *byte
Namelen uint32
@@ -252,10 +309,9 @@ type Msghdr struct {
}
type Cmsghdr struct {
- Len uint64
- Level int32
- Type int32
- X__cmsg_data [0]uint8
+ Len uint64
+ Level int32
+ Type int32
}
type Inet4Pktinfo struct {
@@ -325,10 +381,16 @@ const (
SizeofSockaddrUnix = 0x6e
SizeofSockaddrLinklayer = 0x14
SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
SizeofLinger = 0x8
+ SizeofIovec = 0x10
SizeofIPMreq = 0x8
SizeofIPMreqn = 0xc
SizeofIPv6Mreq = 0x14
+ SizeofPacketMreq = 0x10
SizeofMsghdr = 0x38
SizeofCmsghdr = 0x10
SizeofInet4Pktinfo = 0xc
@@ -369,7 +431,7 @@ const (
IFLA_LINKINFO = 0x12
IFLA_NET_NS_PID = 0x13
IFLA_IFALIAS = 0x14
- IFLA_MAX = 0x22
+ IFLA_MAX = 0x2b
RT_SCOPE_UNIVERSE = 0x0
RT_SCOPE_SITE = 0xc8
RT_SCOPE_LINK = 0xfd
@@ -519,7 +581,6 @@ type InotifyEvent struct {
Mask uint32
Cookie uint32
Len uint32
- Name [0]uint8
}
const SizeofInotifyEvent = 0x10
@@ -582,17 +643,45 @@ type Ustat_t struct {
}
type EpollEvent struct {
- Events uint32
- Fd int32
- Pad int32
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
}
const (
AT_FDCWD = -0x64
AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
AT_SYMLINK_NOFOLLOW = 0x100
)
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
type Termios struct {
Iflag uint32
Oflag uint32
@@ -603,3 +692,10 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
new file mode 100644
index 00000000..a706e2f8
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -0,0 +1,718 @@
+// 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
+ _ [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ _ [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ _ [4]byte
+ 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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ _ [5]byte
+}
+
+type Fsid struct {
+ _ [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 = 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 RawSockaddrCAN struct {
+ Family uint16
+ _ [2]byte
+ 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 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
+ _ [4]byte
+ 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
+ _ [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2b
+ 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
+ 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
+)
+
+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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ _ [6]byte
+ 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
+ _ [4]byte
+ Fprs [16]float64
+}
+
+type PtracePer struct {
+ _ [0]uint64
+ _ [24]byte
+ _ [8]byte
+ Starting_addr uint64
+ Ending_addr uint64
+ Perc_atmid uint16
+ _ [6]byte
+ 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
+ _ [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ _ [0]int8
+ _ [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ _ [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ _ [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ _ int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ _ [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+const PERF_IOC_FLAG_GROUP = 0x1
+
+const _SC_PAGESIZE = 0x1e
+
+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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
new file mode 100644
index 00000000..22bdab96
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -0,0 +1,666 @@
+// +build sparc64,linux
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_linux.go | go run mkpost.go
+
+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
+ Pad_cgo_0 [4]byte
+}
+
+type Timex struct {
+ Modes uint32
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad1 uint16
+ Pad_cgo_0 [6]byte
+ Ino uint64
+ Mode uint32
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Rdev uint64
+ X__pad2 uint16
+ Pad_cgo_1 [6]byte
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ X__glibc_reserved4 uint64
+ X__glibc_reserved5 uint64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ X__glibc_reserved int16
+ Pad_cgo_1 [2]byte
+}
+
+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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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 Msghdr struct {
+ Name *byte
+ Namelen uint32
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ SizeofLinger = 0x8
+ SizeofIPMreq = 0x8
+ SizeofIPMreqn = 0xc
+ SizeofIPv6Mreq = 0x14
+ SizeofMsghdr = 0x38
+ SizeofCmsghdr = 0x10
+ SizeofInet4Pktinfo = 0xc
+ SizeofInet6Pktinfo = 0x14
+ SizeofIPv6MTUInfo = 0x20
+ SizeofICMPv6Filter = 0x20
+ SizeofUcred = 0xc
+ SizeofTCPInfo = 0x68
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2a
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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 ptracePsw struct {
+}
+
+type ptraceFpregs struct {
+}
+
+type ptracePer struct {
+}
+
+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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const _SC_PAGESIZE = 0x1e
+
+type Termios struct {
+ Iflag uint32
+ Oflag uint32
+ Cflag uint32
+ Lflag uint32
+ Line uint8
+ Cc [19]uint8
+ Ispeed uint32
+ Ospeed uint32
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
new file mode 100644
index 00000000..f960f6c0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
@@ -0,0 +1,434 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_openbsd.go
+
+// +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
+}
+
+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
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+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
+ 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]uint8
+ F_mntonname [90]uint8
+ F_mntfromname [90]uint8
+ F_mntfromspec [90]uint8
+ 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]uint8
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+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 = 0x98
+ SizeofIfData = 0x80
+ 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
+}
+
+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]uint8
+}
+
+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
+ 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
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
index b3b928a5..92336f9f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
@@ -1,6 +1,7 @@
+// cgo -godefs types_solaris.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
// +build amd64,solaris
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_solaris.go
package unix
@@ -11,6 +12,7 @@ const (
sizeofLong = 0x8
sizeofLongLong = 0x8
PathMax = 0x400
+ MaxHostNameLen = 0x100
)
type (
@@ -127,6 +129,24 @@ type Dirent struct {
Pad_cgo_0 [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
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/charmap.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/charmap.go
new file mode 100644
index 00000000..e89ff073
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/charmap.go
@@ -0,0 +1,249 @@
+// 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.
+
+//go:generate go run maketables.go
+
+// Package charmap provides simple character encodings such as IBM Code Page 437
+// and Windows 1252.
+package charmap // import "golang.org/x/text/encoding/charmap"
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// These encodings vary only in the way clients should interpret them. Their
+// coded character set is identical and a single implementation can be shared.
+var (
+ // ISO8859_6E is the ISO 8859-6E encoding.
+ ISO8859_6E encoding.Encoding = &iso8859_6E
+
+ // ISO8859_6I is the ISO 8859-6I encoding.
+ ISO8859_6I encoding.Encoding = &iso8859_6I
+
+ // ISO8859_8E is the ISO 8859-8E encoding.
+ ISO8859_8E encoding.Encoding = &iso8859_8E
+
+ // ISO8859_8I is the ISO 8859-8I encoding.
+ ISO8859_8I encoding.Encoding = &iso8859_8I
+
+ iso8859_6E = internal.Encoding{
+ Encoding: ISO8859_6,
+ Name: "ISO-8859-6E",
+ MIB: identifier.ISO88596E,
+ }
+
+ iso8859_6I = internal.Encoding{
+ Encoding: ISO8859_6,
+ Name: "ISO-8859-6I",
+ MIB: identifier.ISO88596I,
+ }
+
+ iso8859_8E = internal.Encoding{
+ Encoding: ISO8859_8,
+ Name: "ISO-8859-8E",
+ MIB: identifier.ISO88598E,
+ }
+
+ iso8859_8I = internal.Encoding{
+ Encoding: ISO8859_8,
+ Name: "ISO-8859-8I",
+ MIB: identifier.ISO88598I,
+ }
+)
+
+// All is a list of all defined encodings in this package.
+var All []encoding.Encoding = listAll
+
+// TODO: implement these encodings, in order of importance.
+// ASCII, ISO8859_1: Rather common. Close to Windows 1252.
+// ISO8859_9: Close to Windows 1254.
+
+// utf8Enc holds a rune's UTF-8 encoding in data[:len].
+type utf8Enc struct {
+ len uint8
+ data [3]byte
+}
+
+// Charmap is an 8-bit character set encoding.
+type Charmap struct {
+ // name is the encoding's name.
+ name string
+ // mib is the encoding type of this encoder.
+ mib identifier.MIB
+ // asciiSuperset states whether the encoding is a superset of ASCII.
+ asciiSuperset bool
+ // low is the lower bound of the encoded byte for a non-ASCII rune. If
+ // Charmap.asciiSuperset is true then this will be 0x80, otherwise 0x00.
+ low uint8
+ // replacement is the encoded replacement character.
+ replacement byte
+ // decode is the map from encoded byte to UTF-8.
+ decode [256]utf8Enc
+ // encoding is the map from runes to encoded bytes. Each entry is a
+ // uint32: the high 8 bits are the encoded byte and the low 24 bits are
+ // the rune. The table entries are sorted by ascending rune.
+ encode [256]uint32
+}
+
+// NewDecoder implements the encoding.Encoding interface.
+func (m *Charmap) NewDecoder() *encoding.Decoder {
+ return &encoding.Decoder{Transformer: charmapDecoder{charmap: m}}
+}
+
+// NewEncoder implements the encoding.Encoding interface.
+func (m *Charmap) NewEncoder() *encoding.Encoder {
+ return &encoding.Encoder{Transformer: charmapEncoder{charmap: m}}
+}
+
+// String returns the Charmap's name.
+func (m *Charmap) String() string {
+ return m.name
+}
+
+// ID implements an internal interface.
+func (m *Charmap) ID() (mib identifier.MIB, other string) {
+ return m.mib, ""
+}
+
+// charmapDecoder implements transform.Transformer by decoding to UTF-8.
+type charmapDecoder struct {
+ transform.NopResetter
+ charmap *Charmap
+}
+
+func (m charmapDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ for i, c := range src {
+ if m.charmap.asciiSuperset && c < utf8.RuneSelf {
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = c
+ nDst++
+ nSrc = i + 1
+ continue
+ }
+
+ decode := &m.charmap.decode[c]
+ n := int(decode.len)
+ if nDst+n > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ // It's 15% faster to avoid calling copy for these tiny slices.
+ for j := 0; j < n; j++ {
+ dst[nDst] = decode.data[j]
+ nDst++
+ }
+ nSrc = i + 1
+ }
+ return nDst, nSrc, err
+}
+
+// DecodeByte returns the Charmap's rune decoding of the byte b.
+func (m *Charmap) DecodeByte(b byte) rune {
+ switch x := &m.decode[b]; x.len {
+ case 1:
+ return rune(x.data[0])
+ case 2:
+ return rune(x.data[0]&0x1f)<<6 | rune(x.data[1]&0x3f)
+ default:
+ return rune(x.data[0]&0x0f)<<12 | rune(x.data[1]&0x3f)<<6 | rune(x.data[2]&0x3f)
+ }
+}
+
+// charmapEncoder implements transform.Transformer by encoding from UTF-8.
+type charmapEncoder struct {
+ transform.NopResetter
+ charmap *Charmap
+}
+
+func (m charmapEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for nSrc < len(src) {
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ if m.charmap.asciiSuperset {
+ nSrc++
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+ }
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ } else {
+ err = internal.RepertoireError(m.charmap.replacement)
+ }
+ break
+ }
+ }
+
+ // Binary search in [low, high) for that rune in the m.charmap.encode table.
+ for low, high := int(m.charmap.low), 0x100; ; {
+ if low >= high {
+ err = internal.RepertoireError(m.charmap.replacement)
+ break loop
+ }
+ mid := (low + high) / 2
+ got := m.charmap.encode[mid]
+ gotRune := rune(got & (1<<24 - 1))
+ if gotRune < r {
+ low = mid + 1
+ } else if gotRune > r {
+ high = mid
+ } else {
+ dst[nDst] = byte(got >> 24)
+ nDst++
+ break
+ }
+ }
+ nSrc += size
+ }
+ return nDst, nSrc, err
+}
+
+// EncodeRune returns the Charmap's byte encoding of the rune r. ok is whether
+// r is in the Charmap's repertoire. If not, b is set to the Charmap's
+// replacement byte. This is often the ASCII substitute character '\x1a'.
+func (m *Charmap) EncodeRune(r rune) (b byte, ok bool) {
+ if r < utf8.RuneSelf && m.asciiSuperset {
+ return byte(r), true
+ }
+ for low, high := int(m.low), 0x100; ; {
+ if low >= high {
+ return m.replacement, false
+ }
+ mid := (low + high) / 2
+ got := m.encode[mid]
+ gotRune := rune(got & (1<<24 - 1))
+ if gotRune < r {
+ low = mid + 1
+ } else if gotRune > r {
+ high = mid
+ } else {
+ return byte(got >> 24), true
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/tables.go
new file mode 100644
index 00000000..cf7281e9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/charmap/tables.go
@@ -0,0 +1,7410 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package charmap
+
+import (
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal/identifier"
+)
+
+// CodePage037 is the IBM Code Page 037 encoding.
+var CodePage037 *Charmap = &codePage037
+
+var codePage037 = Charmap{
+ name: "IBM Code Page 037",
+ mib: identifier.IBM037,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xac, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {1, [3]byte{0x5b, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xba00005b, 0xe000005c, 0xbb00005d, 0xb000005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0x9f0000a4, 0xb20000a5, 0x6a0000a6, 0xb50000a7,
+ 0xbd0000a8, 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0x5f0000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af,
+ 0x900000b0, 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7,
+ 0x9d0000b8, 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf,
+ 0x640000c0, 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7,
+ 0x740000c8, 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf,
+ 0xac0000d0, 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7,
+ 0x800000d8, 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xad0000dd, 0xae0000de, 0x590000df,
+ 0x440000e0, 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7,
+ 0x540000e8, 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef,
+ 0x8c0000f0, 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7,
+ 0x700000f8, 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff,
+ },
+}
+
+// CodePage437 is the IBM Code Page 437 encoding.
+var CodePage437 *Charmap = &codePage437
+
+var codePage437 = Charmap{
+ name: "IBM Code Page 437",
+ mib: identifier.PC8CodePage437,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}},
+ {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}},
+ {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}},
+ {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}},
+ {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0x9b0000a2, 0x9c0000a3, 0x9d0000a5, 0xa60000aa, 0xae0000ab, 0xaa0000ac,
+ 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xaf0000bb, 0xac0000bc,
+ 0xab0000bd, 0xa80000bf, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7, 0x900000c9, 0xa50000d1,
+ 0x990000d6, 0x9a0000dc, 0xe10000df, 0x850000e0, 0xa00000e1, 0x830000e2, 0x840000e4, 0x860000e5,
+ 0x910000e6, 0x870000e7, 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed,
+ 0x8c0000ee, 0x8b0000ef, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0x940000f6, 0xf60000f7,
+ 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0x980000ff, 0x9f000192, 0xe2000393, 0xe9000398,
+ 0xe40003a3, 0xe80003a6, 0xea0003a9, 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3,
+ 0xe70003c4, 0xed0003c6, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229,
+ 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage850 is the IBM Code Page 850 encoding.
+var CodePage850 *Charmap = &codePage850
+
+var codePage850 = Charmap{
+ name: "IBM Code Page 850",
+ mib: identifier.PC850Multilingual,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}},
+ {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x90, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}},
+ {2, [3]byte{0xc3, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc2, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xbe, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}},
+ {2, [3]byte{0xc3, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x97}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0xbd0000a2, 0x9c0000a3, 0xcf0000a4, 0xbe0000a5, 0xdd0000a6, 0xf50000a7,
+ 0xf90000a8, 0xb80000a9, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xa90000ae, 0xee0000af,
+ 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xfc0000b3, 0xef0000b4, 0xe60000b5, 0xf40000b6, 0xfa0000b7,
+ 0xf70000b8, 0xfb0000b9, 0xa70000ba, 0xaf0000bb, 0xac0000bc, 0xab0000bd, 0xf30000be, 0xa80000bf,
+ 0xb70000c0, 0xb50000c1, 0xb60000c2, 0xc70000c3, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7,
+ 0xd40000c8, 0x900000c9, 0xd20000ca, 0xd30000cb, 0xde0000cc, 0xd60000cd, 0xd70000ce, 0xd80000cf,
+ 0xd10000d0, 0xa50000d1, 0xe30000d2, 0xe00000d3, 0xe20000d4, 0xe50000d5, 0x990000d6, 0x9e0000d7,
+ 0x9d0000d8, 0xeb0000d9, 0xe90000da, 0xea0000db, 0x9a0000dc, 0xed0000dd, 0xe80000de, 0xe10000df,
+ 0x850000e0, 0xa00000e1, 0x830000e2, 0xc60000e3, 0x840000e4, 0x860000e5, 0x910000e6, 0x870000e7,
+ 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, 0x8c0000ee, 0x8b0000ef,
+ 0xd00000f0, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0xe40000f5, 0x940000f6, 0xf60000f7,
+ 0x9b0000f8, 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0xec0000fd, 0xe70000fe, 0x980000ff,
+ 0xd5000131, 0x9f000192, 0xf2002017, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514,
+ 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551,
+ 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569,
+ 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage852 is the IBM Code Page 852 encoding.
+var CodePage852 *Charmap = &codePage852
+
+var codePage852 = Charmap{
+ name: "IBM Code Page 852",
+ mib: identifier.PCp852,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc5, 0x82, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc5, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}},
+ {2, [3]byte{0xc4, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc4, 0xbd, 0x00}},
+ {2, [3]byte{0xc4, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0x9a, 0x00}},
+ {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}},
+ {2, [3]byte{0xc5, 0xa5, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc4, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xbe, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc5, 0xba, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc5, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x9a, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0xbc, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {2, [3]byte{0xc4, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc4, 0x90, 0x00}},
+ {2, [3]byte{0xc4, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x8f, 0x00}}, {2, [3]byte{0xc5, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}},
+ {2, [3]byte{0xc4, 0x9b, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc5, 0xa2, 0x00}},
+ {2, [3]byte{0xc5, 0xae, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc5, 0x84, 0x00}}, {2, [3]byte{0xc5, 0x88, 0x00}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}},
+ {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}},
+ {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}},
+ {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}},
+ {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xcb, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}},
+ {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x99, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xcf0000a4, 0xf50000a7, 0xf90000a8, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xf80000b0,
+ 0xef0000b4, 0xf70000b8, 0xaf0000bb, 0xb50000c1, 0xb60000c2, 0x8e0000c4, 0x800000c7, 0x900000c9,
+ 0xd30000cb, 0xd60000cd, 0xd70000ce, 0xe00000d3, 0xe20000d4, 0x990000d6, 0x9e0000d7, 0xe90000da,
+ 0x9a0000dc, 0xed0000dd, 0xe10000df, 0xa00000e1, 0x830000e2, 0x840000e4, 0x870000e7, 0x820000e9,
+ 0x890000eb, 0xa10000ed, 0x8c0000ee, 0xa20000f3, 0x930000f4, 0x940000f6, 0xf60000f7, 0xa30000fa,
+ 0x810000fc, 0xec0000fd, 0xc6000102, 0xc7000103, 0xa4000104, 0xa5000105, 0x8f000106, 0x86000107,
+ 0xac00010c, 0x9f00010d, 0xd200010e, 0xd400010f, 0xd1000110, 0xd0000111, 0xa8000118, 0xa9000119,
+ 0xb700011a, 0xd800011b, 0x91000139, 0x9200013a, 0x9500013d, 0x9600013e, 0x9d000141, 0x88000142,
+ 0xe3000143, 0xe4000144, 0xd5000147, 0xe5000148, 0x8a000150, 0x8b000151, 0xe8000154, 0xea000155,
+ 0xfc000158, 0xfd000159, 0x9700015a, 0x9800015b, 0xb800015e, 0xad00015f, 0xe6000160, 0xe7000161,
+ 0xdd000162, 0xee000163, 0x9b000164, 0x9c000165, 0xde00016e, 0x8500016f, 0xeb000170, 0xfb000171,
+ 0x8d000179, 0xab00017a, 0xbd00017b, 0xbe00017c, 0xa600017d, 0xa700017e, 0xf30002c7, 0xf40002d8,
+ 0xfa0002d9, 0xf20002db, 0xf10002dd, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514,
+ 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551,
+ 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569,
+ 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage855 is the IBM Code Page 855 encoding.
+var CodePage855 *Charmap = &codePage855
+
+var codePage855 = Charmap{
+ name: "IBM Code Page 855",
+ mib: identifier.IBM855,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xd1, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x82, 0x00}},
+ {2, [3]byte{0xd1, 0x93, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}},
+ {2, [3]byte{0xd1, 0x91, 0x00}}, {2, [3]byte{0xd0, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x84, 0x00}},
+ {2, [3]byte{0xd1, 0x95, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x86, 0x00}},
+ {2, [3]byte{0xd1, 0x97, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}},
+ {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}},
+ {2, [3]byte{0xd1, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x8a, 0x00}},
+ {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}},
+ {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x8e, 0x00}},
+ {2, [3]byte{0xd1, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xae, 0x00}},
+ {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}},
+ {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}},
+ {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}},
+ {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0x94, 0x00}},
+ {2, [3]byte{0xd0, 0xb5, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xa4, 0x00}},
+ {2, [3]byte{0xd0, 0xb3, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xd1, 0x85, 0x00}},
+ {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}},
+ {2, [3]byte{0xd0, 0x98, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xd0, 0xb9, 0x00}},
+ {2, [3]byte{0xd0, 0x99, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}},
+ {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}},
+ {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}},
+ {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}},
+ {2, [3]byte{0xd0, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xd0, 0x9f, 0x00}},
+ {2, [3]byte{0xd1, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xd0, 0xaf, 0x00}}, {2, [3]byte{0xd1, 0x80, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd0, 0xa1, 0x00}}, {2, [3]byte{0xd1, 0x82, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd0, 0xa3, 0x00}}, {2, [3]byte{0xd0, 0xb6, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}},
+ {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd1, 0x8c, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x84, 0x96}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd0, 0xab, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}},
+ {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}},
+ {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}},
+ {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd0, 0xa9, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}},
+ {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xcf0000a4, 0xfd0000a7, 0xae0000ab, 0xf00000ad, 0xaf0000bb, 0x85000401, 0x81000402,
+ 0x83000403, 0x87000404, 0x89000405, 0x8b000406, 0x8d000407, 0x8f000408, 0x91000409, 0x9300040a,
+ 0x9500040b, 0x9700040c, 0x9900040e, 0x9b00040f, 0xa1000410, 0xa3000411, 0xec000412, 0xad000413,
+ 0xa7000414, 0xa9000415, 0xea000416, 0xf4000417, 0xb8000418, 0xbe000419, 0xc700041a, 0xd100041b,
+ 0xd300041c, 0xd500041d, 0xd700041e, 0xdd00041f, 0xe2000420, 0xe4000421, 0xe6000422, 0xe8000423,
+ 0xab000424, 0xb6000425, 0xa5000426, 0xfc000427, 0xf6000428, 0xfa000429, 0x9f00042a, 0xf200042b,
+ 0xee00042c, 0xf800042d, 0x9d00042e, 0xe000042f, 0xa0000430, 0xa2000431, 0xeb000432, 0xac000433,
+ 0xa6000434, 0xa8000435, 0xe9000436, 0xf3000437, 0xb7000438, 0xbd000439, 0xc600043a, 0xd000043b,
+ 0xd200043c, 0xd400043d, 0xd600043e, 0xd800043f, 0xe1000440, 0xe3000441, 0xe5000442, 0xe7000443,
+ 0xaa000444, 0xb5000445, 0xa4000446, 0xfb000447, 0xf5000448, 0xf9000449, 0x9e00044a, 0xf100044b,
+ 0xed00044c, 0xf700044d, 0x9c00044e, 0xde00044f, 0x84000451, 0x80000452, 0x82000453, 0x86000454,
+ 0x88000455, 0x8a000456, 0x8c000457, 0x8e000458, 0x90000459, 0x9200045a, 0x9400045b, 0x9600045c,
+ 0x9800045e, 0x9a00045f, 0xef002116, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514,
+ 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551,
+ 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569,
+ 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage858 is the Windows Code Page 858 encoding.
+var CodePage858 *Charmap = &codePage858
+
+var codePage858 = Charmap{
+ name: "Windows Code Page 858",
+ mib: identifier.IBM00858,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}},
+ {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x90, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}},
+ {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}},
+ {2, [3]byte{0xc3, 0x8f, 0x00}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {2, [3]byte{0xc2, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xbe, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9a, 0x00}},
+ {2, [3]byte{0xc3, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x97}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0xbd0000a2, 0x9c0000a3, 0xcf0000a4, 0xbe0000a5, 0xdd0000a6, 0xf50000a7,
+ 0xf90000a8, 0xb80000a9, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf00000ad, 0xa90000ae, 0xee0000af,
+ 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xfc0000b3, 0xef0000b4, 0xe60000b5, 0xf40000b6, 0xfa0000b7,
+ 0xf70000b8, 0xfb0000b9, 0xa70000ba, 0xaf0000bb, 0xac0000bc, 0xab0000bd, 0xf30000be, 0xa80000bf,
+ 0xb70000c0, 0xb50000c1, 0xb60000c2, 0xc70000c3, 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7,
+ 0xd40000c8, 0x900000c9, 0xd20000ca, 0xd30000cb, 0xde0000cc, 0xd60000cd, 0xd70000ce, 0xd80000cf,
+ 0xd10000d0, 0xa50000d1, 0xe30000d2, 0xe00000d3, 0xe20000d4, 0xe50000d5, 0x990000d6, 0x9e0000d7,
+ 0x9d0000d8, 0xeb0000d9, 0xe90000da, 0xea0000db, 0x9a0000dc, 0xed0000dd, 0xe80000de, 0xe10000df,
+ 0x850000e0, 0xa00000e1, 0x830000e2, 0xc60000e3, 0x840000e4, 0x860000e5, 0x910000e6, 0x870000e7,
+ 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, 0x8c0000ee, 0x8b0000ef,
+ 0xd00000f0, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0xe40000f5, 0x940000f6, 0xf60000f7,
+ 0x9b0000f8, 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0xec0000fd, 0xe70000fe, 0x980000ff,
+ 0x9f000192, 0xf2002017, 0xd50020ac, 0xc4002500, 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514,
+ 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c, 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551,
+ 0xc9002554, 0xbb002557, 0xc800255a, 0xbc00255d, 0xcc002560, 0xb9002563, 0xcb002566, 0xca002569,
+ 0xce00256c, 0xdf002580, 0xdc002584, 0xdb002588, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage860 is the IBM Code Page 860 encoding.
+var CodePage860 *Charmap = &codePage860
+
+var codePage860 = Charmap{
+ name: "IBM Code Page 860",
+ mib: identifier.IBM860,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0x8a, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}},
+ {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}},
+ {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}},
+ {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}},
+ {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0x9b0000a2, 0x9c0000a3, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf80000b0,
+ 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xaf0000bb, 0xac0000bc, 0xab0000bd,
+ 0xa80000bf, 0x910000c0, 0x860000c1, 0x8f0000c2, 0x8e0000c3, 0x800000c7, 0x920000c8, 0x900000c9,
+ 0x890000ca, 0x980000cc, 0x8b0000cd, 0xa50000d1, 0xa90000d2, 0x9f0000d3, 0x8c0000d4, 0x990000d5,
+ 0x9d0000d9, 0x960000da, 0x9a0000dc, 0xe10000df, 0x850000e0, 0xa00000e1, 0x830000e2, 0x840000e3,
+ 0x870000e7, 0x8a0000e8, 0x820000e9, 0x880000ea, 0x8d0000ec, 0xa10000ed, 0xa40000f1, 0x950000f2,
+ 0xa20000f3, 0x930000f4, 0x940000f5, 0xf60000f7, 0x970000f9, 0xa30000fa, 0x810000fc, 0xe2000393,
+ 0xe9000398, 0xe40003a3, 0xe80003a6, 0xea0003a9, 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0,
+ 0xe50003c3, 0xe70003c4, 0xed0003c6, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e,
+ 0xef002229, 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xf4002320, 0xf5002321, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage862 is the IBM Code Page 862 encoding.
+var CodePage862 *Charmap = &codePage862
+
+var codePage862 = Charmap{
+ name: "IBM Code Page 862",
+ mib: identifier.PC862LatinHebrew,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}},
+ {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}},
+ {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}},
+ {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}},
+ {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}},
+ {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}},
+ {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}},
+ {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}},
+ {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}},
+ {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}},
+ {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}},
+ {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}},
+ {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}},
+ {2, [3]byte{0xd7, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}},
+ {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}},
+ {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}},
+ {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}},
+ {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0x9b0000a2, 0x9c0000a3, 0x9d0000a5, 0xa60000aa, 0xae0000ab, 0xaa0000ac,
+ 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xaf0000bb, 0xac0000bc,
+ 0xab0000bd, 0xa80000bf, 0xa50000d1, 0xe10000df, 0xa00000e1, 0xa10000ed, 0xa40000f1, 0xa20000f3,
+ 0xf60000f7, 0xa30000fa, 0x9f000192, 0xe2000393, 0xe9000398, 0xe40003a3, 0xe80003a6, 0xea0003a9,
+ 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3, 0xe70003c4, 0xed0003c6, 0x800005d0,
+ 0x810005d1, 0x820005d2, 0x830005d3, 0x840005d4, 0x850005d5, 0x860005d6, 0x870005d7, 0x880005d8,
+ 0x890005d9, 0x8a0005da, 0x8b0005db, 0x8c0005dc, 0x8d0005dd, 0x8e0005de, 0x8f0005df, 0x900005e0,
+ 0x910005e1, 0x920005e2, 0x930005e3, 0x940005e4, 0x950005e5, 0x960005e6, 0x970005e7, 0x980005e8,
+ 0x990005e9, 0x9a0005ea, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229,
+ 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage863 is the IBM Code Page 863 encoding.
+var CodePage863 *Charmap = &codePage863
+
+var codePage863 = Charmap{
+ name: "IBM Code Page 863",
+ mib: identifier.IBM863,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x97}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0x88, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0x8b, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa2, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9b, 0x00}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}},
+ {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}},
+ {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}},
+ {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}},
+ {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0x9b0000a2, 0x9c0000a3, 0x980000a4, 0xa00000a6, 0x8f0000a7, 0xa40000a8, 0xae0000ab,
+ 0xaa0000ac, 0xa70000af, 0xf80000b0, 0xf10000b1, 0xfd0000b2, 0xa60000b3, 0xa10000b4, 0xe60000b5,
+ 0x860000b6, 0xfa0000b7, 0xa50000b8, 0xaf0000bb, 0xac0000bc, 0xab0000bd, 0xad0000be, 0x8e0000c0,
+ 0x840000c2, 0x800000c7, 0x910000c8, 0x900000c9, 0x920000ca, 0x940000cb, 0xa80000ce, 0x950000cf,
+ 0x990000d4, 0x9d0000d9, 0x9e0000db, 0x9a0000dc, 0xe10000df, 0x850000e0, 0x830000e2, 0x870000e7,
+ 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8c0000ee, 0x8b0000ef, 0xa20000f3, 0x930000f4,
+ 0xf60000f7, 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0x9f000192, 0xe2000393, 0xe9000398,
+ 0xe40003a3, 0xe80003a6, 0xea0003a9, 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3,
+ 0xe70003c4, 0xed0003c6, 0x8d002017, 0xfc00207f, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229,
+ 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage865 is the IBM Code Page 865 encoding.
+var CodePage865 *Charmap = &codePage865
+
+var codePage865 = Charmap{
+ name: "IBM Code Page 865",
+ mib: identifier.IBM865,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xa7}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0xa1, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0x90}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xce, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0x93, 0x00}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {2, [3]byte{0xce, 0xa3, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {2, [3]byte{0xcf, 0x84, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0x98, 0x00}},
+ {2, [3]byte{0xce, 0xa9, 0x00}}, {2, [3]byte{0xce, 0xb4, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xcf, 0x86, 0x00}},
+ {2, [3]byte{0xce, 0xb5, 0x00}}, {3, [3]byte{0xe2, 0x88, 0xa9}},
+ {3, [3]byte{0xe2, 0x89, 0xa1}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa5}}, {3, [3]byte{0xe2, 0x89, 0xa4}},
+ {3, [3]byte{0xe2, 0x8c, 0xa0}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x81, 0xbf}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xad0000a1, 0x9c0000a3, 0xaf0000a4, 0xa60000aa, 0xae0000ab, 0xaa0000ac, 0xf80000b0,
+ 0xf10000b1, 0xfd0000b2, 0xe60000b5, 0xfa0000b7, 0xa70000ba, 0xac0000bc, 0xab0000bd, 0xa80000bf,
+ 0x8e0000c4, 0x8f0000c5, 0x920000c6, 0x800000c7, 0x900000c9, 0xa50000d1, 0x990000d6, 0x9d0000d8,
+ 0x9a0000dc, 0xe10000df, 0x850000e0, 0xa00000e1, 0x830000e2, 0x840000e4, 0x860000e5, 0x910000e6,
+ 0x870000e7, 0x8a0000e8, 0x820000e9, 0x880000ea, 0x890000eb, 0x8d0000ec, 0xa10000ed, 0x8c0000ee,
+ 0x8b0000ef, 0xa40000f1, 0x950000f2, 0xa20000f3, 0x930000f4, 0x940000f6, 0xf60000f7, 0x9b0000f8,
+ 0x970000f9, 0xa30000fa, 0x960000fb, 0x810000fc, 0x980000ff, 0x9f000192, 0xe2000393, 0xe9000398,
+ 0xe40003a3, 0xe80003a6, 0xea0003a9, 0xe00003b1, 0xeb0003b4, 0xee0003b5, 0xe30003c0, 0xe50003c3,
+ 0xe70003c4, 0xed0003c6, 0xfc00207f, 0x9e0020a7, 0xf9002219, 0xfb00221a, 0xec00221e, 0xef002229,
+ 0xf7002248, 0xf0002261, 0xf3002264, 0xf2002265, 0xa9002310, 0xf4002320, 0xf5002321, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage866 is the IBM Code Page 866 encoding.
+var CodePage866 *Charmap = &codePage866
+
+var codePage866 = Charmap{
+ name: "IBM Code Page 866",
+ mib: identifier.IBM866,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}},
+ {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}},
+ {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}},
+ {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}},
+ {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}},
+ {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}},
+ {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}},
+ {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}},
+ {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}},
+ {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}},
+ {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}},
+ {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa1}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0x91}}, {3, [3]byte{0xe2, 0x95, 0x97}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0x9c}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0xbc}},
+ {3, [3]byte{0xe2, 0x95, 0x9e}}, {3, [3]byte{0xe2, 0x95, 0x9f}},
+ {3, [3]byte{0xe2, 0x95, 0x9a}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0xa9}}, {3, [3]byte{0xe2, 0x95, 0xa6}},
+ {3, [3]byte{0xe2, 0x95, 0xa0}}, {3, [3]byte{0xe2, 0x95, 0x90}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa4}},
+ {3, [3]byte{0xe2, 0x95, 0xa5}}, {3, [3]byte{0xe2, 0x95, 0x99}},
+ {3, [3]byte{0xe2, 0x95, 0x98}}, {3, [3]byte{0xe2, 0x95, 0x92}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x8c}},
+ {3, [3]byte{0xe2, 0x96, 0x90}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}},
+ {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ {2, [3]byte{0xd0, 0x81, 0x00}}, {2, [3]byte{0xd1, 0x91, 0x00}},
+ {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x94, 0x00}},
+ {2, [3]byte{0xd0, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x9e, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xff0000a0, 0xfd0000a4, 0xf80000b0, 0xfa0000b7, 0xf0000401, 0xf2000404, 0xf4000407, 0xf600040e,
+ 0x80000410, 0x81000411, 0x82000412, 0x83000413, 0x84000414, 0x85000415, 0x86000416, 0x87000417,
+ 0x88000418, 0x89000419, 0x8a00041a, 0x8b00041b, 0x8c00041c, 0x8d00041d, 0x8e00041e, 0x8f00041f,
+ 0x90000420, 0x91000421, 0x92000422, 0x93000423, 0x94000424, 0x95000425, 0x96000426, 0x97000427,
+ 0x98000428, 0x99000429, 0x9a00042a, 0x9b00042b, 0x9c00042c, 0x9d00042d, 0x9e00042e, 0x9f00042f,
+ 0xa0000430, 0xa1000431, 0xa2000432, 0xa3000433, 0xa4000434, 0xa5000435, 0xa6000436, 0xa7000437,
+ 0xa8000438, 0xa9000439, 0xaa00043a, 0xab00043b, 0xac00043c, 0xad00043d, 0xae00043e, 0xaf00043f,
+ 0xe0000440, 0xe1000441, 0xe2000442, 0xe3000443, 0xe4000444, 0xe5000445, 0xe6000446, 0xe7000447,
+ 0xe8000448, 0xe9000449, 0xea00044a, 0xeb00044b, 0xec00044c, 0xed00044d, 0xee00044e, 0xef00044f,
+ 0xf1000451, 0xf3000454, 0xf5000457, 0xf700045e, 0xfc002116, 0xf9002219, 0xfb00221a, 0xc4002500,
+ 0xb3002502, 0xda00250c, 0xbf002510, 0xc0002514, 0xd9002518, 0xc300251c, 0xb4002524, 0xc200252c,
+ 0xc1002534, 0xc500253c, 0xcd002550, 0xba002551, 0xd5002552, 0xd6002553, 0xc9002554, 0xb8002555,
+ 0xb7002556, 0xbb002557, 0xd4002558, 0xd3002559, 0xc800255a, 0xbe00255b, 0xbd00255c, 0xbc00255d,
+ 0xc600255e, 0xc700255f, 0xcc002560, 0xb5002561, 0xb6002562, 0xb9002563, 0xd1002564, 0xd2002565,
+ 0xcb002566, 0xcf002567, 0xd0002568, 0xca002569, 0xd800256a, 0xd700256b, 0xce00256c, 0xdf002580,
+ 0xdc002584, 0xdb002588, 0xdd00258c, 0xde002590, 0xb0002591, 0xb1002592, 0xb2002593, 0xfe0025a0,
+ },
+}
+
+// CodePage1047 is the IBM Code Page 1047 encoding.
+var CodePage1047 *Charmap = &codePage1047
+
+var codePage1047 = Charmap{
+ name: "IBM Code Page 1047",
+ mib: identifier.IBM1047,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {1, [3]byte{0x5e, 0x00, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa4, 0x00}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {2, [3]byte{0xc3, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xad00005b, 0xe000005c, 0xbd00005d, 0x5f00005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0x9f0000a4, 0xb20000a5, 0x6a0000a6, 0xb50000a7,
+ 0xbb0000a8, 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0xb00000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af,
+ 0x900000b0, 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7,
+ 0x9d0000b8, 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf,
+ 0x640000c0, 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7,
+ 0x740000c8, 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf,
+ 0xac0000d0, 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7,
+ 0x800000d8, 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xba0000dd, 0xae0000de, 0x590000df,
+ 0x440000e0, 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7,
+ 0x540000e8, 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef,
+ 0x8c0000f0, 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7,
+ 0x700000f8, 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff,
+ },
+}
+
+// CodePage1140 is the IBM Code Page 1140 encoding.
+var CodePage1140 *Charmap = &codePage1140
+
+var codePage1140 = Charmap{
+ name: "IBM Code Page 1140",
+ mib: identifier.IBM01140,
+ asciiSuperset: false,
+ low: 0x00,
+ replacement: 0x3f,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x97, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9d, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {1, [3]byte{0x0a, 0x00, 0x00}},
+ {1, [3]byte{0x17, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {1, [3]byte{0x04, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {1, [3]byte{0x1a, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa4, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa7, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {1, [3]byte{0x2e, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x28, 0x00, 0x00}},
+ {1, [3]byte{0x2b, 0x00, 0x00}}, {1, [3]byte{0x7c, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {1, [3]byte{0x21, 0x00, 0x00}}, {1, [3]byte{0x24, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x3b, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xac, 0x00}},
+ {1, [3]byte{0x2d, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {1, [3]byte{0x2c, 0x00, 0x00}},
+ {1, [3]byte{0x25, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {1, [3]byte{0x60, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x3d, 0x00, 0x00}}, {1, [3]byte{0x22, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xab, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {1, [3]byte{0x6a, 0x00, 0x00}},
+ {1, [3]byte{0x6b, 0x00, 0x00}}, {1, [3]byte{0x6c, 0x00, 0x00}},
+ {1, [3]byte{0x6d, 0x00, 0x00}}, {1, [3]byte{0x6e, 0x00, 0x00}},
+ {1, [3]byte{0x6f, 0x00, 0x00}}, {1, [3]byte{0x70, 0x00, 0x00}},
+ {1, [3]byte{0x71, 0x00, 0x00}}, {1, [3]byte{0x72, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xba, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}},
+ {2, [3]byte{0xc2, 0xb5, 0x00}}, {1, [3]byte{0x7e, 0x00, 0x00}},
+ {1, [3]byte{0x73, 0x00, 0x00}}, {1, [3]byte{0x74, 0x00, 0x00}},
+ {1, [3]byte{0x75, 0x00, 0x00}}, {1, [3]byte{0x76, 0x00, 0x00}},
+ {1, [3]byte{0x77, 0x00, 0x00}}, {1, [3]byte{0x78, 0x00, 0x00}},
+ {1, [3]byte{0x79, 0x00, 0x00}}, {1, [3]byte{0x7a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xae, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xa9, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xbc, 0x00}},
+ {2, [3]byte{0xc2, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xbe, 0x00}},
+ {1, [3]byte{0x5b, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {1, [3]byte{0x7b, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {1, [3]byte{0x7d, 0x00, 0x00}}, {1, [3]byte{0x4a, 0x00, 0x00}},
+ {1, [3]byte{0x4b, 0x00, 0x00}}, {1, [3]byte{0x4c, 0x00, 0x00}},
+ {1, [3]byte{0x4d, 0x00, 0x00}}, {1, [3]byte{0x4e, 0x00, 0x00}},
+ {1, [3]byte{0x4f, 0x00, 0x00}}, {1, [3]byte{0x50, 0x00, 0x00}},
+ {1, [3]byte{0x51, 0x00, 0x00}}, {1, [3]byte{0x52, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb9, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {1, [3]byte{0x53, 0x00, 0x00}}, {1, [3]byte{0x54, 0x00, 0x00}},
+ {1, [3]byte{0x55, 0x00, 0x00}}, {1, [3]byte{0x56, 0x00, 0x00}},
+ {1, [3]byte{0x57, 0x00, 0x00}}, {1, [3]byte{0x58, 0x00, 0x00}},
+ {1, [3]byte{0x59, 0x00, 0x00}}, {1, [3]byte{0x5a, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0xb3, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x37000004, 0x2d000005, 0x2e000006, 0x2f000007,
+ 0x16000008, 0x05000009, 0x2500000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x3c000014, 0x3d000015, 0x32000016, 0x26000017,
+ 0x18000018, 0x19000019, 0x3f00001a, 0x2700001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x40000020, 0x5a000021, 0x7f000022, 0x7b000023, 0x5b000024, 0x6c000025, 0x50000026, 0x7d000027,
+ 0x4d000028, 0x5d000029, 0x5c00002a, 0x4e00002b, 0x6b00002c, 0x6000002d, 0x4b00002e, 0x6100002f,
+ 0xf0000030, 0xf1000031, 0xf2000032, 0xf3000033, 0xf4000034, 0xf5000035, 0xf6000036, 0xf7000037,
+ 0xf8000038, 0xf9000039, 0x7a00003a, 0x5e00003b, 0x4c00003c, 0x7e00003d, 0x6e00003e, 0x6f00003f,
+ 0x7c000040, 0xc1000041, 0xc2000042, 0xc3000043, 0xc4000044, 0xc5000045, 0xc6000046, 0xc7000047,
+ 0xc8000048, 0xc9000049, 0xd100004a, 0xd200004b, 0xd300004c, 0xd400004d, 0xd500004e, 0xd600004f,
+ 0xd7000050, 0xd8000051, 0xd9000052, 0xe2000053, 0xe3000054, 0xe4000055, 0xe5000056, 0xe6000057,
+ 0xe7000058, 0xe8000059, 0xe900005a, 0xba00005b, 0xe000005c, 0xbb00005d, 0xb000005e, 0x6d00005f,
+ 0x79000060, 0x81000061, 0x82000062, 0x83000063, 0x84000064, 0x85000065, 0x86000066, 0x87000067,
+ 0x88000068, 0x89000069, 0x9100006a, 0x9200006b, 0x9300006c, 0x9400006d, 0x9500006e, 0x9600006f,
+ 0x97000070, 0x98000071, 0x99000072, 0xa2000073, 0xa3000074, 0xa4000075, 0xa5000076, 0xa6000077,
+ 0xa7000078, 0xa8000079, 0xa900007a, 0xc000007b, 0x4f00007c, 0xd000007d, 0xa100007e, 0x0700007f,
+ 0x20000080, 0x21000081, 0x22000082, 0x23000083, 0x24000084, 0x15000085, 0x06000086, 0x17000087,
+ 0x28000088, 0x29000089, 0x2a00008a, 0x2b00008b, 0x2c00008c, 0x0900008d, 0x0a00008e, 0x1b00008f,
+ 0x30000090, 0x31000091, 0x1a000092, 0x33000093, 0x34000094, 0x35000095, 0x36000096, 0x08000097,
+ 0x38000098, 0x39000099, 0x3a00009a, 0x3b00009b, 0x0400009c, 0x1400009d, 0x3e00009e, 0xff00009f,
+ 0x410000a0, 0xaa0000a1, 0x4a0000a2, 0xb10000a3, 0xb20000a5, 0x6a0000a6, 0xb50000a7, 0xbd0000a8,
+ 0xb40000a9, 0x9a0000aa, 0x8a0000ab, 0x5f0000ac, 0xca0000ad, 0xaf0000ae, 0xbc0000af, 0x900000b0,
+ 0x8f0000b1, 0xea0000b2, 0xfa0000b3, 0xbe0000b4, 0xa00000b5, 0xb60000b6, 0xb30000b7, 0x9d0000b8,
+ 0xda0000b9, 0x9b0000ba, 0x8b0000bb, 0xb70000bc, 0xb80000bd, 0xb90000be, 0xab0000bf, 0x640000c0,
+ 0x650000c1, 0x620000c2, 0x660000c3, 0x630000c4, 0x670000c5, 0x9e0000c6, 0x680000c7, 0x740000c8,
+ 0x710000c9, 0x720000ca, 0x730000cb, 0x780000cc, 0x750000cd, 0x760000ce, 0x770000cf, 0xac0000d0,
+ 0x690000d1, 0xed0000d2, 0xee0000d3, 0xeb0000d4, 0xef0000d5, 0xec0000d6, 0xbf0000d7, 0x800000d8,
+ 0xfd0000d9, 0xfe0000da, 0xfb0000db, 0xfc0000dc, 0xad0000dd, 0xae0000de, 0x590000df, 0x440000e0,
+ 0x450000e1, 0x420000e2, 0x460000e3, 0x430000e4, 0x470000e5, 0x9c0000e6, 0x480000e7, 0x540000e8,
+ 0x510000e9, 0x520000ea, 0x530000eb, 0x580000ec, 0x550000ed, 0x560000ee, 0x570000ef, 0x8c0000f0,
+ 0x490000f1, 0xcd0000f2, 0xce0000f3, 0xcb0000f4, 0xcf0000f5, 0xcc0000f6, 0xe10000f7, 0x700000f8,
+ 0xdd0000f9, 0xde0000fa, 0xdb0000fb, 0xdc0000fc, 0x8d0000fd, 0x8e0000fe, 0xdf0000ff, 0x9f0020ac,
+ },
+}
+
+// ISO8859_1 is the ISO 8859-1 encoding.
+var ISO8859_1 *Charmap = &iso8859_1
+
+var iso8859_1 = Charmap{
+ name: "ISO 8859-1",
+ mib: identifier.ISOLatin1,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {2, [3]byte{0xc2, 0x97, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0x9d, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x80000080, 0x81000081, 0x82000082, 0x83000083, 0x84000084, 0x85000085, 0x86000086, 0x87000087,
+ 0x88000088, 0x89000089, 0x8a00008a, 0x8b00008b, 0x8c00008c, 0x8d00008d, 0x8e00008e, 0x8f00008f,
+ 0x90000090, 0x91000091, 0x92000092, 0x93000093, 0x94000094, 0x95000095, 0x96000096, 0x97000097,
+ 0x98000098, 0x99000099, 0x9a00009a, 0x9b00009b, 0x9c00009c, 0x9d00009d, 0x9e00009e, 0x9f00009f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd00000d0, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7,
+ 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df,
+ 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7,
+ 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef,
+ 0xf00000f0, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7,
+ 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, 0xfe0000fe, 0xff0000ff,
+ },
+}
+
+// ISO8859_2 is the ISO 8859-2 encoding.
+var ISO8859_2 *Charmap = &iso8859_2
+
+var iso8859_2 = Charmap{
+ name: "ISO 8859-2",
+ mib: identifier.ISOLatin2,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}},
+ {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xbd, 0x00}},
+ {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc5, 0xa0, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}},
+ {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xbe, 0x00}},
+ {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc5, 0xa5, 0x00}},
+ {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}},
+ {2, [3]byte{0xc4, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0x8e, 0x00}},
+ {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc5, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xae, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc5, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xba, 0x00}},
+ {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc4, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}},
+ {2, [3]byte{0xc5, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xb00000b0, 0xb40000b4, 0xb80000b8,
+ 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc90000c9, 0xcb0000cb, 0xcd0000cd, 0xce0000ce,
+ 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xda0000da, 0xdc0000dc, 0xdd0000dd, 0xdf0000df,
+ 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee,
+ 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xfa0000fa, 0xfc0000fc, 0xfd0000fd, 0xc3000102,
+ 0xe3000103, 0xa1000104, 0xb1000105, 0xc6000106, 0xe6000107, 0xc800010c, 0xe800010d, 0xcf00010e,
+ 0xef00010f, 0xd0000110, 0xf0000111, 0xca000118, 0xea000119, 0xcc00011a, 0xec00011b, 0xc5000139,
+ 0xe500013a, 0xa500013d, 0xb500013e, 0xa3000141, 0xb3000142, 0xd1000143, 0xf1000144, 0xd2000147,
+ 0xf2000148, 0xd5000150, 0xf5000151, 0xc0000154, 0xe0000155, 0xd8000158, 0xf8000159, 0xa600015a,
+ 0xb600015b, 0xaa00015e, 0xba00015f, 0xa9000160, 0xb9000161, 0xde000162, 0xfe000163, 0xab000164,
+ 0xbb000165, 0xd900016e, 0xf900016f, 0xdb000170, 0xfb000171, 0xac000179, 0xbc00017a, 0xaf00017b,
+ 0xbf00017c, 0xae00017d, 0xbe00017e, 0xb70002c7, 0xa20002d8, 0xff0002d9, 0xb20002db, 0xbd0002dd,
+ 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd,
+ 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd,
+ 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd,
+ 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd, 0xbd0002dd,
+ },
+}
+
+// ISO8859_3 is the ISO 8859-3 encoding.
+var ISO8859_3 *Charmap = &iso8859_3
+
+var iso8859_3 = Charmap{
+ name: "ISO 8859-3",
+ mib: identifier.ISOLatin3,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0xa6, 0x00}},
+ {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc4, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc4, 0x9e, 0x00}},
+ {2, [3]byte{0xc4, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc4, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc4, 0x9f, 0x00}},
+ {2, [3]byte{0xc4, 0xb5, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x8a, 0x00}},
+ {2, [3]byte{0xc4, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc4, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc4, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xac, 0x00}},
+ {2, [3]byte{0xc5, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x89, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc4, 0x9d, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xad, 0x00}},
+ {2, [3]byte{0xc5, 0x9d, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa30000a3, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xb00000b0, 0xb20000b2,
+ 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb70000b7, 0xb80000b8, 0xbd0000bd, 0xc00000c0, 0xc10000c1,
+ 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc,
+ 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd60000d6,
+ 0xd70000d7, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1,
+ 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec,
+ 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf60000f6,
+ 0xf70000f7, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xc6000108, 0xe6000109, 0xc500010a,
+ 0xe500010b, 0xd800011c, 0xf800011d, 0xab00011e, 0xbb00011f, 0xd5000120, 0xf5000121, 0xa6000124,
+ 0xb6000125, 0xa1000126, 0xb1000127, 0xa9000130, 0xb9000131, 0xac000134, 0xbc000135, 0xde00015c,
+ 0xfe00015d, 0xaa00015e, 0xba00015f, 0xdd00016c, 0xfd00016d, 0xaf00017b, 0xbf00017c, 0xa20002d8,
+ 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9,
+ 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9,
+ 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9,
+ 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9,
+ 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9, 0xff0002d9,
+ },
+}
+
+// ISO8859_4 is the ISO 8859-4 encoding.
+var ISO8859_4 *Charmap = &iso8859_4
+
+var iso8859_4 = Charmap{
+ name: "ISO 8859-4",
+ mib: identifier.ISOLatin4,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}},
+ {2, [3]byte{0xc4, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0x96, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xa8, 0x00}},
+ {2, [3]byte{0xc4, 0xbb, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc5, 0xa0, 0x00}},
+ {2, [3]byte{0xc4, 0x92, 0x00}}, {2, [3]byte{0xc4, 0xa2, 0x00}},
+ {2, [3]byte{0xc5, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x97, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc4, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0xbc, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xa1, 0x00}},
+ {2, [3]byte{0xc4, 0x93, 0x00}}, {2, [3]byte{0xc4, 0xa3, 0x00}},
+ {2, [3]byte{0xc5, 0xa7, 0x00}}, {2, [3]byte{0xc5, 0x8a, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0xaa, 0x00}},
+ {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x85, 0x00}},
+ {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xa8, 0x00}},
+ {2, [3]byte{0xc5, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc4, 0x97, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0xab, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x86, 0x00}},
+ {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0xab, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa40000a4, 0xa70000a7, 0xa80000a8, 0xad0000ad, 0xaf0000af, 0xb00000b0, 0xb40000b4,
+ 0xb80000b8, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc90000c9,
+ 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8,
+ 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4,
+ 0xe50000e5, 0xe60000e6, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xf40000f4, 0xf50000f5,
+ 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xc0000100, 0xe0000101,
+ 0xa1000104, 0xb1000105, 0xc800010c, 0xe800010d, 0xd0000110, 0xf0000111, 0xaa000112, 0xba000113,
+ 0xcc000116, 0xec000117, 0xca000118, 0xea000119, 0xab000122, 0xbb000123, 0xa5000128, 0xb5000129,
+ 0xcf00012a, 0xef00012b, 0xc700012e, 0xe700012f, 0xd3000136, 0xf3000137, 0xa2000138, 0xa600013b,
+ 0xb600013c, 0xd1000145, 0xf1000146, 0xbd00014a, 0xbf00014b, 0xd200014c, 0xf200014d, 0xa3000156,
+ 0xb3000157, 0xa9000160, 0xb9000161, 0xac000166, 0xbc000167, 0xdd000168, 0xfd000169, 0xde00016a,
+ 0xfe00016b, 0xd9000172, 0xf9000173, 0xae00017d, 0xbe00017e, 0xb70002c7, 0xff0002d9, 0xb20002db,
+ 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db,
+ 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db,
+ 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db,
+ 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db, 0xb20002db,
+ },
+}
+
+// ISO8859_5 is the ISO 8859-5 encoding.
+var ISO8859_5 *Charmap = &iso8859_5
+
+var iso8859_5 = Charmap{
+ name: "ISO 8859-5",
+ mib: identifier.ISOLatinCyrillic,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x81, 0x00}},
+ {2, [3]byte{0xd0, 0x82, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}},
+ {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}},
+ {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}},
+ {2, [3]byte{0xd0, 0x88, 0x00}}, {2, [3]byte{0xd0, 0x89, 0x00}},
+ {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}},
+ {2, [3]byte{0xd0, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}},
+ {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}},
+ {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}},
+ {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}},
+ {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}},
+ {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}},
+ {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}},
+ {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}},
+ {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}},
+ {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}},
+ {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}},
+ {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}},
+ {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}},
+ {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xd1, 0x91, 0x00}},
+ {2, [3]byte{0xd1, 0x92, 0x00}}, {2, [3]byte{0xd1, 0x93, 0x00}},
+ {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xd1, 0x95, 0x00}},
+ {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}},
+ {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd1, 0x99, 0x00}},
+ {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd1, 0x9b, 0x00}},
+ {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xfd0000a7, 0xad0000ad, 0xa1000401, 0xa2000402, 0xa3000403, 0xa4000404, 0xa5000405,
+ 0xa6000406, 0xa7000407, 0xa8000408, 0xa9000409, 0xaa00040a, 0xab00040b, 0xac00040c, 0xae00040e,
+ 0xaf00040f, 0xb0000410, 0xb1000411, 0xb2000412, 0xb3000413, 0xb4000414, 0xb5000415, 0xb6000416,
+ 0xb7000417, 0xb8000418, 0xb9000419, 0xba00041a, 0xbb00041b, 0xbc00041c, 0xbd00041d, 0xbe00041e,
+ 0xbf00041f, 0xc0000420, 0xc1000421, 0xc2000422, 0xc3000423, 0xc4000424, 0xc5000425, 0xc6000426,
+ 0xc7000427, 0xc8000428, 0xc9000429, 0xca00042a, 0xcb00042b, 0xcc00042c, 0xcd00042d, 0xce00042e,
+ 0xcf00042f, 0xd0000430, 0xd1000431, 0xd2000432, 0xd3000433, 0xd4000434, 0xd5000435, 0xd6000436,
+ 0xd7000437, 0xd8000438, 0xd9000439, 0xda00043a, 0xdb00043b, 0xdc00043c, 0xdd00043d, 0xde00043e,
+ 0xdf00043f, 0xe0000440, 0xe1000441, 0xe2000442, 0xe3000443, 0xe4000444, 0xe5000445, 0xe6000446,
+ 0xe7000447, 0xe8000448, 0xe9000449, 0xea00044a, 0xeb00044b, 0xec00044c, 0xed00044d, 0xee00044e,
+ 0xef00044f, 0xf1000451, 0xf2000452, 0xf3000453, 0xf4000454, 0xf5000455, 0xf6000456, 0xf7000457,
+ 0xf8000458, 0xf9000459, 0xfa00045a, 0xfb00045b, 0xfc00045c, 0xfe00045e, 0xff00045f, 0xf0002116,
+ 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116,
+ 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116,
+ 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116,
+ 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116, 0xf0002116,
+ },
+}
+
+// ISO8859_6 is the ISO 8859-6 encoding.
+var ISO8859_6 *Charmap = &iso8859_6
+
+var iso8859_6 = Charmap{
+ name: "ISO 8859-6",
+ mib: identifier.ISOLatinArabic,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xd8, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0x9b, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0x9f, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xd8, 0xa1, 0x00}},
+ {2, [3]byte{0xd8, 0xa2, 0x00}}, {2, [3]byte{0xd8, 0xa3, 0x00}},
+ {2, [3]byte{0xd8, 0xa4, 0x00}}, {2, [3]byte{0xd8, 0xa5, 0x00}},
+ {2, [3]byte{0xd8, 0xa6, 0x00}}, {2, [3]byte{0xd8, 0xa7, 0x00}},
+ {2, [3]byte{0xd8, 0xa8, 0x00}}, {2, [3]byte{0xd8, 0xa9, 0x00}},
+ {2, [3]byte{0xd8, 0xaa, 0x00}}, {2, [3]byte{0xd8, 0xab, 0x00}},
+ {2, [3]byte{0xd8, 0xac, 0x00}}, {2, [3]byte{0xd8, 0xad, 0x00}},
+ {2, [3]byte{0xd8, 0xae, 0x00}}, {2, [3]byte{0xd8, 0xaf, 0x00}},
+ {2, [3]byte{0xd8, 0xb0, 0x00}}, {2, [3]byte{0xd8, 0xb1, 0x00}},
+ {2, [3]byte{0xd8, 0xb2, 0x00}}, {2, [3]byte{0xd8, 0xb3, 0x00}},
+ {2, [3]byte{0xd8, 0xb4, 0x00}}, {2, [3]byte{0xd8, 0xb5, 0x00}},
+ {2, [3]byte{0xd8, 0xb6, 0x00}}, {2, [3]byte{0xd8, 0xb7, 0x00}},
+ {2, [3]byte{0xd8, 0xb8, 0x00}}, {2, [3]byte{0xd8, 0xb9, 0x00}},
+ {2, [3]byte{0xd8, 0xba, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xd9, 0x80, 0x00}}, {2, [3]byte{0xd9, 0x81, 0x00}},
+ {2, [3]byte{0xd9, 0x82, 0x00}}, {2, [3]byte{0xd9, 0x83, 0x00}},
+ {2, [3]byte{0xd9, 0x84, 0x00}}, {2, [3]byte{0xd9, 0x85, 0x00}},
+ {2, [3]byte{0xd9, 0x86, 0x00}}, {2, [3]byte{0xd9, 0x87, 0x00}},
+ {2, [3]byte{0xd9, 0x88, 0x00}}, {2, [3]byte{0xd9, 0x89, 0x00}},
+ {2, [3]byte{0xd9, 0x8a, 0x00}}, {2, [3]byte{0xd9, 0x8b, 0x00}},
+ {2, [3]byte{0xd9, 0x8c, 0x00}}, {2, [3]byte{0xd9, 0x8d, 0x00}},
+ {2, [3]byte{0xd9, 0x8e, 0x00}}, {2, [3]byte{0xd9, 0x8f, 0x00}},
+ {2, [3]byte{0xd9, 0x90, 0x00}}, {2, [3]byte{0xd9, 0x91, 0x00}},
+ {2, [3]byte{0xd9, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa40000a4, 0xad0000ad, 0xac00060c, 0xbb00061b, 0xbf00061f, 0xc1000621, 0xc2000622,
+ 0xc3000623, 0xc4000624, 0xc5000625, 0xc6000626, 0xc7000627, 0xc8000628, 0xc9000629, 0xca00062a,
+ 0xcb00062b, 0xcc00062c, 0xcd00062d, 0xce00062e, 0xcf00062f, 0xd0000630, 0xd1000631, 0xd2000632,
+ 0xd3000633, 0xd4000634, 0xd5000635, 0xd6000636, 0xd7000637, 0xd8000638, 0xd9000639, 0xda00063a,
+ 0xe0000640, 0xe1000641, 0xe2000642, 0xe3000643, 0xe4000644, 0xe5000645, 0xe6000646, 0xe7000647,
+ 0xe8000648, 0xe9000649, 0xea00064a, 0xeb00064b, 0xec00064c, 0xed00064d, 0xee00064e, 0xef00064f,
+ 0xf0000650, 0xf1000651, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652, 0xf2000652,
+ },
+}
+
+// ISO8859_7 is the ISO 8859-7 encoding.
+var ISO8859_7 *Charmap = &iso8859_7
+
+var iso8859_7 = Charmap{
+ name: "ISO 8859-7",
+ mib: identifier.ISOLatinGreek,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x82, 0xaf}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xcd, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x95}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xce, 0x84, 0x00}}, {2, [3]byte{0xce, 0x85, 0x00}},
+ {2, [3]byte{0xce, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xce, 0x88, 0x00}}, {2, [3]byte{0xce, 0x89, 0x00}},
+ {2, [3]byte{0xce, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xce, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xce, 0x8e, 0x00}}, {2, [3]byte{0xce, 0x8f, 0x00}},
+ {2, [3]byte{0xce, 0x90, 0x00}}, {2, [3]byte{0xce, 0x91, 0x00}},
+ {2, [3]byte{0xce, 0x92, 0x00}}, {2, [3]byte{0xce, 0x93, 0x00}},
+ {2, [3]byte{0xce, 0x94, 0x00}}, {2, [3]byte{0xce, 0x95, 0x00}},
+ {2, [3]byte{0xce, 0x96, 0x00}}, {2, [3]byte{0xce, 0x97, 0x00}},
+ {2, [3]byte{0xce, 0x98, 0x00}}, {2, [3]byte{0xce, 0x99, 0x00}},
+ {2, [3]byte{0xce, 0x9a, 0x00}}, {2, [3]byte{0xce, 0x9b, 0x00}},
+ {2, [3]byte{0xce, 0x9c, 0x00}}, {2, [3]byte{0xce, 0x9d, 0x00}},
+ {2, [3]byte{0xce, 0x9e, 0x00}}, {2, [3]byte{0xce, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0xa0, 0x00}}, {2, [3]byte{0xce, 0xa1, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xce, 0xa3, 0x00}},
+ {2, [3]byte{0xce, 0xa4, 0x00}}, {2, [3]byte{0xce, 0xa5, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0xa7, 0x00}},
+ {2, [3]byte{0xce, 0xa8, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}},
+ {2, [3]byte{0xce, 0xaa, 0x00}}, {2, [3]byte{0xce, 0xab, 0x00}},
+ {2, [3]byte{0xce, 0xac, 0x00}}, {2, [3]byte{0xce, 0xad, 0x00}},
+ {2, [3]byte{0xce, 0xae, 0x00}}, {2, [3]byte{0xce, 0xaf, 0x00}},
+ {2, [3]byte{0xce, 0xb0, 0x00}}, {2, [3]byte{0xce, 0xb1, 0x00}},
+ {2, [3]byte{0xce, 0xb2, 0x00}}, {2, [3]byte{0xce, 0xb3, 0x00}},
+ {2, [3]byte{0xce, 0xb4, 0x00}}, {2, [3]byte{0xce, 0xb5, 0x00}},
+ {2, [3]byte{0xce, 0xb6, 0x00}}, {2, [3]byte{0xce, 0xb7, 0x00}},
+ {2, [3]byte{0xce, 0xb8, 0x00}}, {2, [3]byte{0xce, 0xb9, 0x00}},
+ {2, [3]byte{0xce, 0xba, 0x00}}, {2, [3]byte{0xce, 0xbb, 0x00}},
+ {2, [3]byte{0xce, 0xbc, 0x00}}, {2, [3]byte{0xce, 0xbd, 0x00}},
+ {2, [3]byte{0xce, 0xbe, 0x00}}, {2, [3]byte{0xce, 0xbf, 0x00}},
+ {2, [3]byte{0xcf, 0x80, 0x00}}, {2, [3]byte{0xcf, 0x81, 0x00}},
+ {2, [3]byte{0xcf, 0x82, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xcf, 0x84, 0x00}}, {2, [3]byte{0xcf, 0x85, 0x00}},
+ {2, [3]byte{0xcf, 0x86, 0x00}}, {2, [3]byte{0xcf, 0x87, 0x00}},
+ {2, [3]byte{0xcf, 0x88, 0x00}}, {2, [3]byte{0xcf, 0x89, 0x00}},
+ {2, [3]byte{0xcf, 0x8a, 0x00}}, {2, [3]byte{0xcf, 0x8b, 0x00}},
+ {2, [3]byte{0xcf, 0x8c, 0x00}}, {2, [3]byte{0xcf, 0x8d, 0x00}},
+ {2, [3]byte{0xcf, 0x8e, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa30000a3, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9, 0xab0000ab, 0xac0000ac,
+ 0xad0000ad, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb70000b7, 0xbb0000bb, 0xbd0000bd,
+ 0xaa00037a, 0xb4000384, 0xb5000385, 0xb6000386, 0xb8000388, 0xb9000389, 0xba00038a, 0xbc00038c,
+ 0xbe00038e, 0xbf00038f, 0xc0000390, 0xc1000391, 0xc2000392, 0xc3000393, 0xc4000394, 0xc5000395,
+ 0xc6000396, 0xc7000397, 0xc8000398, 0xc9000399, 0xca00039a, 0xcb00039b, 0xcc00039c, 0xcd00039d,
+ 0xce00039e, 0xcf00039f, 0xd00003a0, 0xd10003a1, 0xd30003a3, 0xd40003a4, 0xd50003a5, 0xd60003a6,
+ 0xd70003a7, 0xd80003a8, 0xd90003a9, 0xda0003aa, 0xdb0003ab, 0xdc0003ac, 0xdd0003ad, 0xde0003ae,
+ 0xdf0003af, 0xe00003b0, 0xe10003b1, 0xe20003b2, 0xe30003b3, 0xe40003b4, 0xe50003b5, 0xe60003b6,
+ 0xe70003b7, 0xe80003b8, 0xe90003b9, 0xea0003ba, 0xeb0003bb, 0xec0003bc, 0xed0003bd, 0xee0003be,
+ 0xef0003bf, 0xf00003c0, 0xf10003c1, 0xf20003c2, 0xf30003c3, 0xf40003c4, 0xf50003c5, 0xf60003c6,
+ 0xf70003c7, 0xf80003c8, 0xf90003c9, 0xfa0003ca, 0xfb0003cb, 0xfc0003cc, 0xfd0003cd, 0xfe0003ce,
+ 0xaf002015, 0xa1002018, 0xa2002019, 0xa40020ac, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af,
+ 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af,
+ 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af,
+ 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af,
+ 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af, 0xa50020af,
+ },
+}
+
+// ISO8859_8 is the ISO 8859-8 encoding.
+var ISO8859_8 *Charmap = &iso8859_8
+
+var iso8859_8 = Charmap{
+ name: "ISO 8859-8",
+ mib: identifier.ISOLatinHebrew,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x97}},
+ {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}},
+ {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}},
+ {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}},
+ {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}},
+ {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}},
+ {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}},
+ {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}},
+ {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}},
+ {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}},
+ {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}},
+ {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}},
+ {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}},
+ {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}},
+ {2, [3]byte{0xd7, 0xaa, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x8e}},
+ {3, [3]byte{0xe2, 0x80, 0x8f}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8,
+ 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1,
+ 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9,
+ 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xaa0000d7, 0xba0000f7, 0xe00005d0, 0xe10005d1,
+ 0xe20005d2, 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9,
+ 0xea0005da, 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1,
+ 0xf20005e2, 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9,
+ 0xfa0005ea, 0xfd00200e, 0xfe00200f, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017, 0xdf002017,
+ },
+}
+
+// ISO8859_9 is the ISO 8859-9 encoding.
+var ISO8859_9 *Charmap = &iso8859_9
+
+var iso8859_9 = Charmap{
+ name: "ISO 8859-9",
+ mib: identifier.ISOLatin5,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc2, 0x80, 0x00}}, {2, [3]byte{0xc2, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0x82, 0x00}}, {2, [3]byte{0xc2, 0x83, 0x00}},
+ {2, [3]byte{0xc2, 0x84, 0x00}}, {2, [3]byte{0xc2, 0x85, 0x00}},
+ {2, [3]byte{0xc2, 0x86, 0x00}}, {2, [3]byte{0xc2, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0x88, 0x00}}, {2, [3]byte{0xc2, 0x89, 0x00}},
+ {2, [3]byte{0xc2, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0x8b, 0x00}},
+ {2, [3]byte{0xc2, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0x8d, 0x00}},
+ {2, [3]byte{0xc2, 0x8e, 0x00}}, {2, [3]byte{0xc2, 0x8f, 0x00}},
+ {2, [3]byte{0xc2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0x91, 0x00}},
+ {2, [3]byte{0xc2, 0x92, 0x00}}, {2, [3]byte{0xc2, 0x93, 0x00}},
+ {2, [3]byte{0xc2, 0x94, 0x00}}, {2, [3]byte{0xc2, 0x95, 0x00}},
+ {2, [3]byte{0xc2, 0x96, 0x00}}, {2, [3]byte{0xc2, 0x97, 0x00}},
+ {2, [3]byte{0xc2, 0x98, 0x00}}, {2, [3]byte{0xc2, 0x99, 0x00}},
+ {2, [3]byte{0xc2, 0x9a, 0x00}}, {2, [3]byte{0xc2, 0x9b, 0x00}},
+ {2, [3]byte{0xc2, 0x9c, 0x00}}, {2, [3]byte{0xc2, 0x9d, 0x00}},
+ {2, [3]byte{0xc2, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x80000080, 0x81000081, 0x82000082, 0x83000083, 0x84000084, 0x85000085, 0x86000086, 0x87000087,
+ 0x88000088, 0x89000089, 0x8a00008a, 0x8b00008b, 0x8c00008c, 0x8d00008d, 0x8e00008e, 0x8f00008f,
+ 0x90000090, 0x91000091, 0x92000092, 0x93000093, 0x94000094, 0x95000095, 0x96000096, 0x97000097,
+ 0x98000098, 0x99000099, 0x9a00009a, 0x9b00009b, 0x9c00009c, 0x9d00009d, 0x9e00009e, 0x9f00009f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8,
+ 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2,
+ 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea,
+ 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3,
+ 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb,
+ 0xfc0000fc, 0xff0000ff, 0xd000011e, 0xf000011f, 0xdd000130, 0xfd000131, 0xde00015e, 0xfe00015f,
+ },
+}
+
+// ISO8859_10 is the ISO 8859-10 encoding.
+var ISO8859_10 *Charmap = &iso8859_10
+
+var iso8859_10 = Charmap{
+ name: "ISO 8859-10",
+ mib: identifier.ISOLatin6,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}},
+ {2, [3]byte{0xc4, 0x92, 0x00}}, {2, [3]byte{0xc4, 0xa2, 0x00}},
+ {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xa8, 0x00}},
+ {2, [3]byte{0xc4, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc4, 0xbb, 0x00}}, {2, [3]byte{0xc4, 0x90, 0x00}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0xa6, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc5, 0xaa, 0x00}}, {2, [3]byte{0xc5, 0x8a, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}},
+ {2, [3]byte{0xc4, 0x93, 0x00}}, {2, [3]byte{0xc4, 0xa3, 0x00}},
+ {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc4, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0x91, 0x00}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0xa7, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x95}},
+ {2, [3]byte{0xc5, 0xab, 0x00}}, {2, [3]byte{0xc5, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x85, 0x00}},
+ {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc5, 0xa8, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xb2, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc4, 0x97, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc5, 0x86, 0x00}},
+ {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc5, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc4, 0xb8, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa70000a7, 0xad0000ad, 0xb00000b0, 0xb70000b7, 0xc10000c1, 0xc20000c2, 0xc30000c3,
+ 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc90000c9, 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd00000d0, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd80000d8, 0xda0000da, 0xdb0000db,
+ 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4,
+ 0xe50000e5, 0xe60000e6, 0xe90000e9, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf00000f0,
+ 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf80000f8, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc,
+ 0xfd0000fd, 0xfe0000fe, 0xc0000100, 0xe0000101, 0xa1000104, 0xb1000105, 0xc800010c, 0xe800010d,
+ 0xa9000110, 0xb9000111, 0xa2000112, 0xb2000113, 0xcc000116, 0xec000117, 0xca000118, 0xea000119,
+ 0xa3000122, 0xb3000123, 0xa5000128, 0xb5000129, 0xa400012a, 0xb400012b, 0xc700012e, 0xe700012f,
+ 0xa6000136, 0xb6000137, 0xff000138, 0xa800013b, 0xb800013c, 0xd1000145, 0xf1000146, 0xaf00014a,
+ 0xbf00014b, 0xd200014c, 0xf200014d, 0xaa000160, 0xba000161, 0xab000166, 0xbb000167, 0xd7000168,
+ 0xf7000169, 0xae00016a, 0xbe00016b, 0xd9000172, 0xf9000173, 0xac00017d, 0xbc00017e, 0xbd002015,
+ 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015,
+ 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015,
+ 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015,
+ 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015, 0xbd002015,
+ },
+}
+
+// ISO8859_13 is the ISO 8859-13 encoding.
+var ISO8859_13 *Charmap = &iso8859_13
+
+var iso8859_13 = Charmap{
+ name: "ISO 8859-13",
+ mib: identifier.ISO885913,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9d}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9e}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc3, 0x86, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9c}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc5, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}},
+ {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x92, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc4, 0x96, 0x00}},
+ {2, [3]byte{0xc4, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}},
+ {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc5, 0x85, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc5, 0xb2, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xaa, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc4, 0x93, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc4, 0x97, 0x00}},
+ {2, [3]byte{0xc4, 0xa3, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}},
+ {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}},
+ {2, [3]byte{0xc5, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0xb3, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}},
+ {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x99}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa90000a9, 0xab0000ab,
+ 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb50000b5,
+ 0xb60000b6, 0xb70000b7, 0xb90000b9, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xc40000c4,
+ 0xc50000c5, 0xaf0000c6, 0xc90000c9, 0xd30000d3, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xa80000d8,
+ 0xdc0000dc, 0xdf0000df, 0xe40000e4, 0xe50000e5, 0xbf0000e6, 0xe90000e9, 0xf30000f3, 0xf50000f5,
+ 0xf60000f6, 0xf70000f7, 0xb80000f8, 0xfc0000fc, 0xc2000100, 0xe2000101, 0xc0000104, 0xe0000105,
+ 0xc3000106, 0xe3000107, 0xc800010c, 0xe800010d, 0xc7000112, 0xe7000113, 0xcb000116, 0xeb000117,
+ 0xc6000118, 0xe6000119, 0xcc000122, 0xec000123, 0xce00012a, 0xee00012b, 0xc100012e, 0xe100012f,
+ 0xcd000136, 0xed000137, 0xcf00013b, 0xef00013c, 0xd9000141, 0xf9000142, 0xd1000143, 0xf1000144,
+ 0xd2000145, 0xf2000146, 0xd400014c, 0xf400014d, 0xaa000156, 0xba000157, 0xda00015a, 0xfa00015b,
+ 0xd0000160, 0xf0000161, 0xdb00016a, 0xfb00016b, 0xd8000172, 0xf8000173, 0xca000179, 0xea00017a,
+ 0xdd00017b, 0xfd00017c, 0xde00017d, 0xfe00017e, 0xff002019, 0xb400201c, 0xa100201d, 0xa500201e,
+ 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e,
+ 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e,
+ 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e,
+ 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e, 0xa500201e,
+ },
+}
+
+// ISO8859_14 is the ISO 8859-14 encoding.
+var ISO8859_14 *Charmap = &iso8859_14
+
+var iso8859_14 = Charmap{
+ name: "ISO 8859-14",
+ mib: identifier.ISO885914,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe1, 0xb8, 0x82}},
+ {3, [3]byte{0xe1, 0xb8, 0x83}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc4, 0x8a, 0x00}}, {2, [3]byte{0xc4, 0x8b, 0x00}},
+ {3, [3]byte{0xe1, 0xb8, 0x8a}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {3, [3]byte{0xe1, 0xba, 0x80}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {3, [3]byte{0xe1, 0xba, 0x82}}, {3, [3]byte{0xe1, 0xb8, 0x8b}},
+ {3, [3]byte{0xe1, 0xbb, 0xb2}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}},
+ {3, [3]byte{0xe1, 0xb8, 0x9e}}, {3, [3]byte{0xe1, 0xb8, 0x9f}},
+ {2, [3]byte{0xc4, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0xa1, 0x00}},
+ {3, [3]byte{0xe1, 0xb9, 0x80}}, {3, [3]byte{0xe1, 0xb9, 0x81}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0x96}},
+ {3, [3]byte{0xe1, 0xba, 0x81}}, {3, [3]byte{0xe1, 0xb9, 0x97}},
+ {3, [3]byte{0xe1, 0xba, 0x83}}, {3, [3]byte{0xe1, 0xb9, 0xa0}},
+ {3, [3]byte{0xe1, 0xbb, 0xb3}}, {3, [3]byte{0xe1, 0xba, 0x84}},
+ {3, [3]byte{0xe1, 0xba, 0x85}}, {3, [3]byte{0xe1, 0xb9, 0xa1}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc5, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0xaa}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc5, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc5, 0xb5, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {3, [3]byte{0xe1, 0xb9, 0xab}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc5, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa30000a3, 0xa70000a7, 0xa90000a9, 0xad0000ad, 0xae0000ae, 0xb60000b6, 0xc00000c0,
+ 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, 0xc80000c8,
+ 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1,
+ 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd80000d8, 0xd90000d9, 0xda0000da,
+ 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3,
+ 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb,
+ 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4,
+ 0xf50000f5, 0xf60000f6, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd,
+ 0xff0000ff, 0xa400010a, 0xa500010b, 0xb2000120, 0xb3000121, 0xd0000174, 0xf0000175, 0xde000176,
+ 0xfe000177, 0xaf000178, 0xa1001e02, 0xa2001e03, 0xa6001e0a, 0xab001e0b, 0xb0001e1e, 0xb1001e1f,
+ 0xb4001e40, 0xb5001e41, 0xb7001e56, 0xb9001e57, 0xbb001e60, 0xbf001e61, 0xd7001e6a, 0xf7001e6b,
+ 0xa8001e80, 0xb8001e81, 0xaa001e82, 0xba001e83, 0xbd001e84, 0xbe001e85, 0xac001ef2, 0xbc001ef3,
+ 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3,
+ 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3,
+ 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3,
+ 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3, 0xbc001ef3,
+ },
+}
+
+// ISO8859_15 is the ISO 8859-15 encoding.
+var ISO8859_15 *Charmap = &iso8859_15
+
+var iso8859_15 = Charmap{
+ name: "ISO 8859-15",
+ mib: identifier.ISO885915,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}},
+ {2, [3]byte{0xc5, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa50000a5, 0xa70000a7, 0xa90000a9, 0xaa0000aa,
+ 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1, 0xb20000b2,
+ 0xb30000b3, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd00000d0, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7,
+ 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df,
+ 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7,
+ 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef,
+ 0xf00000f0, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7,
+ 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, 0xfe0000fe, 0xff0000ff,
+ 0xbc000152, 0xbd000153, 0xa6000160, 0xa8000161, 0xbe000178, 0xb400017d, 0xb800017e, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ },
+}
+
+// ISO8859_16 is the ISO 8859-16 encoding.
+var ISO8859_16 *Charmap = &iso8859_16
+
+var iso8859_16 = Charmap{
+ name: "ISO 8859-16",
+ mib: identifier.ISO885916,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}},
+ {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x80, 0x9e}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc8, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9d}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc4, 0x8d, 0x00}},
+ {2, [3]byte{0xc8, 0x99, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}},
+ {2, [3]byte{0xc5, 0xb8, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc5, 0x9a, 0x00}},
+ {2, [3]byte{0xc5, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0x98, 0x00}},
+ {2, [3]byte{0xc8, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc5, 0x9b, 0x00}},
+ {2, [3]byte{0xc5, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0x99, 0x00}},
+ {2, [3]byte{0xc8, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa70000a7, 0xa90000a9, 0xab0000ab, 0xad0000ad, 0xb00000b0, 0xb10000b1, 0xb60000b6,
+ 0xb70000b7, 0xbb0000bb, 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc,
+ 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe60000e6, 0xe70000e7, 0xe80000e8,
+ 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf20000f2,
+ 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xff0000ff,
+ 0xc3000102, 0xe3000103, 0xa1000104, 0xa2000105, 0xc5000106, 0xe5000107, 0xb200010c, 0xb900010d,
+ 0xd0000110, 0xf0000111, 0xdd000118, 0xfd000119, 0xa3000141, 0xb3000142, 0xd1000143, 0xf1000144,
+ 0xd5000150, 0xf5000151, 0xbc000152, 0xbd000153, 0xd700015a, 0xf700015b, 0xa6000160, 0xa8000161,
+ 0xd8000170, 0xf8000171, 0xbe000178, 0xac000179, 0xae00017a, 0xaf00017b, 0xbf00017c, 0xb400017d,
+ 0xb800017e, 0xaa000218, 0xba000219, 0xde00021a, 0xfe00021b, 0xb500201d, 0xa500201e, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac, 0xa40020ac,
+ },
+}
+
+// KOI8R is the KOI8-R encoding.
+var KOI8R *Charmap = &koi8R
+
+var koi8R = Charmap{
+ name: "KOI8-R",
+ mib: identifier.KOI8R,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x9c}}, {3, [3]byte{0xe2, 0x94, 0xa4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xbc}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x90}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x8c, 0xa0}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {3, [3]byte{0xe2, 0x88, 0x9a}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x90}}, {3, [3]byte{0xe2, 0x95, 0x91}},
+ {3, [3]byte{0xe2, 0x95, 0x92}}, {2, [3]byte{0xd1, 0x91, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x93}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {3, [3]byte{0xe2, 0x95, 0x95}}, {3, [3]byte{0xe2, 0x95, 0x96}},
+ {3, [3]byte{0xe2, 0x95, 0x97}}, {3, [3]byte{0xe2, 0x95, 0x98}},
+ {3, [3]byte{0xe2, 0x95, 0x99}}, {3, [3]byte{0xe2, 0x95, 0x9a}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {3, [3]byte{0xe2, 0x95, 0x9c}},
+ {3, [3]byte{0xe2, 0x95, 0x9d}}, {3, [3]byte{0xe2, 0x95, 0x9e}},
+ {3, [3]byte{0xe2, 0x95, 0x9f}}, {3, [3]byte{0xe2, 0x95, 0xa0}},
+ {3, [3]byte{0xe2, 0x95, 0xa1}}, {2, [3]byte{0xd0, 0x81, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0xa2}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {3, [3]byte{0xe2, 0x95, 0xa4}}, {3, [3]byte{0xe2, 0x95, 0xa5}},
+ {3, [3]byte{0xe2, 0x95, 0xa6}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa9}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {3, [3]byte{0xe2, 0x95, 0xab}},
+ {3, [3]byte{0xe2, 0x95, 0xac}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xb0, 0x00}},
+ {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd1, 0x86, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd1, 0x85, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}},
+ {2, [3]byte{0xd0, 0xb9, 0x00}}, {2, [3]byte{0xd0, 0xba, 0x00}},
+ {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0xbc, 0x00}},
+ {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0xbe, 0x00}},
+ {2, [3]byte{0xd0, 0xbf, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd0, 0xb7, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}},
+ {2, [3]byte{0xd1, 0x8d, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x8a, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}},
+ {2, [3]byte{0xd0, 0x91, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0x98, 0x00}},
+ {2, [3]byte{0xd0, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}},
+ {2, [3]byte{0xd0, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}},
+ {2, [3]byte{0xd0, 0x9d, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}},
+ {2, [3]byte{0xd0, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x92, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd0, 0xa8, 0x00}},
+ {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x9a0000a0, 0xbf0000a9, 0x9c0000b0, 0x9d0000b2, 0x9e0000b7, 0x9f0000f7, 0xb3000401, 0xe1000410,
+ 0xe2000411, 0xf7000412, 0xe7000413, 0xe4000414, 0xe5000415, 0xf6000416, 0xfa000417, 0xe9000418,
+ 0xea000419, 0xeb00041a, 0xec00041b, 0xed00041c, 0xee00041d, 0xef00041e, 0xf000041f, 0xf2000420,
+ 0xf3000421, 0xf4000422, 0xf5000423, 0xe6000424, 0xe8000425, 0xe3000426, 0xfe000427, 0xfb000428,
+ 0xfd000429, 0xff00042a, 0xf900042b, 0xf800042c, 0xfc00042d, 0xe000042e, 0xf100042f, 0xc1000430,
+ 0xc2000431, 0xd7000432, 0xc7000433, 0xc4000434, 0xc5000435, 0xd6000436, 0xda000437, 0xc9000438,
+ 0xca000439, 0xcb00043a, 0xcc00043b, 0xcd00043c, 0xce00043d, 0xcf00043e, 0xd000043f, 0xd2000440,
+ 0xd3000441, 0xd4000442, 0xd5000443, 0xc6000444, 0xc8000445, 0xc3000446, 0xde000447, 0xdb000448,
+ 0xdd000449, 0xdf00044a, 0xd900044b, 0xd800044c, 0xdc00044d, 0xc000044e, 0xd100044f, 0xa3000451,
+ 0x95002219, 0x9600221a, 0x97002248, 0x98002264, 0x99002265, 0x93002320, 0x9b002321, 0x80002500,
+ 0x81002502, 0x8200250c, 0x83002510, 0x84002514, 0x85002518, 0x8600251c, 0x87002524, 0x8800252c,
+ 0x89002534, 0x8a00253c, 0xa0002550, 0xa1002551, 0xa2002552, 0xa4002553, 0xa5002554, 0xa6002555,
+ 0xa7002556, 0xa8002557, 0xa9002558, 0xaa002559, 0xab00255a, 0xac00255b, 0xad00255c, 0xae00255d,
+ 0xaf00255e, 0xb000255f, 0xb1002560, 0xb2002561, 0xb4002562, 0xb5002563, 0xb6002564, 0xb7002565,
+ 0xb8002566, 0xb9002567, 0xba002568, 0xbb002569, 0xbc00256a, 0xbd00256b, 0xbe00256c, 0x8b002580,
+ 0x8c002584, 0x8d002588, 0x8e00258c, 0x8f002590, 0x90002591, 0x91002592, 0x92002593, 0x940025a0,
+ },
+}
+
+// KOI8U is the KOI8-U encoding.
+var KOI8U *Charmap = &koi8U
+
+var koi8U = Charmap{
+ name: "KOI8-U",
+ mib: identifier.KOI8U,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x94, 0x80}}, {3, [3]byte{0xe2, 0x94, 0x82}},
+ {3, [3]byte{0xe2, 0x94, 0x8c}}, {3, [3]byte{0xe2, 0x94, 0x90}},
+ {3, [3]byte{0xe2, 0x94, 0x94}}, {3, [3]byte{0xe2, 0x94, 0x98}},
+ {3, [3]byte{0xe2, 0x94, 0x9c}}, {3, [3]byte{0xe2, 0x94, 0xa4}},
+ {3, [3]byte{0xe2, 0x94, 0xac}}, {3, [3]byte{0xe2, 0x94, 0xb4}},
+ {3, [3]byte{0xe2, 0x94, 0xbc}}, {3, [3]byte{0xe2, 0x96, 0x80}},
+ {3, [3]byte{0xe2, 0x96, 0x84}}, {3, [3]byte{0xe2, 0x96, 0x88}},
+ {3, [3]byte{0xe2, 0x96, 0x8c}}, {3, [3]byte{0xe2, 0x96, 0x90}},
+ {3, [3]byte{0xe2, 0x96, 0x91}}, {3, [3]byte{0xe2, 0x96, 0x92}},
+ {3, [3]byte{0xe2, 0x96, 0x93}}, {3, [3]byte{0xe2, 0x8c, 0xa0}},
+ {3, [3]byte{0xe2, 0x96, 0xa0}}, {3, [3]byte{0xe2, 0x88, 0x99}},
+ {3, [3]byte{0xe2, 0x88, 0x9a}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x8c, 0xa1}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb2, 0x00}},
+ {2, [3]byte{0xc2, 0xb7, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x90}}, {3, [3]byte{0xe2, 0x95, 0x91}},
+ {3, [3]byte{0xe2, 0x95, 0x92}}, {2, [3]byte{0xd1, 0x91, 0x00}},
+ {2, [3]byte{0xd1, 0x94, 0x00}}, {3, [3]byte{0xe2, 0x95, 0x94}},
+ {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0x97}}, {3, [3]byte{0xe2, 0x95, 0x98}},
+ {3, [3]byte{0xe2, 0x95, 0x99}}, {3, [3]byte{0xe2, 0x95, 0x9a}},
+ {3, [3]byte{0xe2, 0x95, 0x9b}}, {2, [3]byte{0xd2, 0x91, 0x00}},
+ {2, [3]byte{0xd1, 0x9e, 0x00}}, {3, [3]byte{0xe2, 0x95, 0x9e}},
+ {3, [3]byte{0xe2, 0x95, 0x9f}}, {3, [3]byte{0xe2, 0x95, 0xa0}},
+ {3, [3]byte{0xe2, 0x95, 0xa1}}, {2, [3]byte{0xd0, 0x81, 0x00}},
+ {2, [3]byte{0xd0, 0x84, 0x00}}, {3, [3]byte{0xe2, 0x95, 0xa3}},
+ {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}},
+ {3, [3]byte{0xe2, 0x95, 0xa6}}, {3, [3]byte{0xe2, 0x95, 0xa7}},
+ {3, [3]byte{0xe2, 0x95, 0xa8}}, {3, [3]byte{0xe2, 0x95, 0xa9}},
+ {3, [3]byte{0xe2, 0x95, 0xaa}}, {2, [3]byte{0xd2, 0x90, 0x00}},
+ {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd0, 0xb0, 0x00}},
+ {2, [3]byte{0xd0, 0xb1, 0x00}}, {2, [3]byte{0xd1, 0x86, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd1, 0x85, 0x00}}, {2, [3]byte{0xd0, 0xb8, 0x00}},
+ {2, [3]byte{0xd0, 0xb9, 0x00}}, {2, [3]byte{0xd0, 0xba, 0x00}},
+ {2, [3]byte{0xd0, 0xbb, 0x00}}, {2, [3]byte{0xd0, 0xbc, 0x00}},
+ {2, [3]byte{0xd0, 0xbd, 0x00}}, {2, [3]byte{0xd0, 0xbe, 0x00}},
+ {2, [3]byte{0xd0, 0xbf, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb2, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd0, 0xb7, 0x00}}, {2, [3]byte{0xd1, 0x88, 0x00}},
+ {2, [3]byte{0xd1, 0x8d, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x8a, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x90, 0x00}},
+ {2, [3]byte{0xd0, 0x91, 0x00}}, {2, [3]byte{0xd0, 0xa6, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0xa5, 0x00}}, {2, [3]byte{0xd0, 0x98, 0x00}},
+ {2, [3]byte{0xd0, 0x99, 0x00}}, {2, [3]byte{0xd0, 0x9a, 0x00}},
+ {2, [3]byte{0xd0, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x9c, 0x00}},
+ {2, [3]byte{0xd0, 0x9d, 0x00}}, {2, [3]byte{0xd0, 0x9e, 0x00}},
+ {2, [3]byte{0xd0, 0x9f, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x92, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0x97, 0x00}}, {2, [3]byte{0xd0, 0xa8, 0x00}},
+ {2, [3]byte{0xd0, 0xad, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xa7, 0x00}}, {2, [3]byte{0xd0, 0xaa, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x9a0000a0, 0xbf0000a9, 0x9c0000b0, 0x9d0000b2, 0x9e0000b7, 0x9f0000f7, 0xb3000401, 0xb4000404,
+ 0xb6000406, 0xb7000407, 0xbe00040e, 0xe1000410, 0xe2000411, 0xf7000412, 0xe7000413, 0xe4000414,
+ 0xe5000415, 0xf6000416, 0xfa000417, 0xe9000418, 0xea000419, 0xeb00041a, 0xec00041b, 0xed00041c,
+ 0xee00041d, 0xef00041e, 0xf000041f, 0xf2000420, 0xf3000421, 0xf4000422, 0xf5000423, 0xe6000424,
+ 0xe8000425, 0xe3000426, 0xfe000427, 0xfb000428, 0xfd000429, 0xff00042a, 0xf900042b, 0xf800042c,
+ 0xfc00042d, 0xe000042e, 0xf100042f, 0xc1000430, 0xc2000431, 0xd7000432, 0xc7000433, 0xc4000434,
+ 0xc5000435, 0xd6000436, 0xda000437, 0xc9000438, 0xca000439, 0xcb00043a, 0xcc00043b, 0xcd00043c,
+ 0xce00043d, 0xcf00043e, 0xd000043f, 0xd2000440, 0xd3000441, 0xd4000442, 0xd5000443, 0xc6000444,
+ 0xc8000445, 0xc3000446, 0xde000447, 0xdb000448, 0xdd000449, 0xdf00044a, 0xd900044b, 0xd800044c,
+ 0xdc00044d, 0xc000044e, 0xd100044f, 0xa3000451, 0xa4000454, 0xa6000456, 0xa7000457, 0xae00045e,
+ 0xbd000490, 0xad000491, 0x95002219, 0x9600221a, 0x97002248, 0x98002264, 0x99002265, 0x93002320,
+ 0x9b002321, 0x80002500, 0x81002502, 0x8200250c, 0x83002510, 0x84002514, 0x85002518, 0x8600251c,
+ 0x87002524, 0x8800252c, 0x89002534, 0x8a00253c, 0xa0002550, 0xa1002551, 0xa2002552, 0xa5002554,
+ 0xa8002557, 0xa9002558, 0xaa002559, 0xab00255a, 0xac00255b, 0xaf00255e, 0xb000255f, 0xb1002560,
+ 0xb2002561, 0xb5002563, 0xb8002566, 0xb9002567, 0xba002568, 0xbb002569, 0xbc00256a, 0x8b002580,
+ 0x8c002584, 0x8d002588, 0x8e00258c, 0x8f002590, 0x90002591, 0x91002592, 0x92002593, 0x940025a0,
+ },
+}
+
+// Macintosh is the Macintosh encoding.
+var Macintosh *Charmap = &macintosh
+
+var macintosh = Charmap{
+ name: "Macintosh",
+ mib: identifier.Macintosh,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x91, 0x00}}, {2, [3]byte{0xc3, 0x96, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa2, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa5, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa9, 0x00}}, {2, [3]byte{0xc3, 0xa8, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xad, 0x00}}, {2, [3]byte{0xc3, 0xac, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xb1, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb4, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xbb, 0x00}}, {2, [3]byte{0xc3, 0xbc, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {2, [3]byte{0xc2, 0xb0, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {3, [3]byte{0xe2, 0x84, 0xa2}}, {2, [3]byte{0xc2, 0xb4, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {3, [3]byte{0xe2, 0x89, 0xa0}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x98, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}},
+ {2, [3]byte{0xc2, 0xa5, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x82}}, {3, [3]byte{0xe2, 0x88, 0x91}},
+ {3, [3]byte{0xe2, 0x88, 0x8f}}, {2, [3]byte{0xcf, 0x80, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0xab}}, {2, [3]byte{0xc2, 0xaa, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xbf, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {2, [3]byte{0xc6, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {3, [3]byte{0xe2, 0x88, 0x86}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xbb, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0x80, 0x00}},
+ {2, [3]byte{0xc3, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xc5, 0x93, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xe2, 0x80, 0x9c}}, {3, [3]byte{0xe2, 0x80, 0x9d}},
+ {3, [3]byte{0xe2, 0x80, 0x98}}, {3, [3]byte{0xe2, 0x80, 0x99}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x97, 0x8a}},
+ {2, [3]byte{0xc3, 0xbf, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}},
+ {3, [3]byte{0xe2, 0x81, 0x84}}, {3, [3]byte{0xe2, 0x82, 0xac}},
+ {3, [3]byte{0xe2, 0x80, 0xb9}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {3, [3]byte{0xef, 0xac, 0x81}}, {3, [3]byte{0xef, 0xac, 0x82}},
+ {3, [3]byte{0xe2, 0x80, 0xa1}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xe2, 0x80, 0x9e}},
+ {3, [3]byte{0xe2, 0x80, 0xb0}}, {2, [3]byte{0xc3, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x8b, 0x00}}, {2, [3]byte{0xc3, 0x88, 0x00}},
+ {2, [3]byte{0xc3, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0x8e, 0x00}},
+ {2, [3]byte{0xc3, 0x8f, 0x00}}, {2, [3]byte{0xc3, 0x8c, 0x00}},
+ {2, [3]byte{0xc3, 0x93, 0x00}}, {2, [3]byte{0xc3, 0x94, 0x00}},
+ {3, [3]byte{0xef, 0xa3, 0xbf}}, {2, [3]byte{0xc3, 0x92, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x99, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {2, [3]byte{0xcb, 0x9c, 0x00}},
+ {2, [3]byte{0xc2, 0xaf, 0x00}}, {2, [3]byte{0xcb, 0x98, 0x00}},
+ {2, [3]byte{0xcb, 0x99, 0x00}}, {2, [3]byte{0xcb, 0x9a, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xca0000a0, 0xc10000a1, 0xa20000a2, 0xa30000a3, 0xb40000a5, 0xa40000a7, 0xac0000a8, 0xa90000a9,
+ 0xbb0000aa, 0xc70000ab, 0xc20000ac, 0xa80000ae, 0xf80000af, 0xa10000b0, 0xb10000b1, 0xab0000b4,
+ 0xb50000b5, 0xa60000b6, 0xe10000b7, 0xfc0000b8, 0xbc0000ba, 0xc80000bb, 0xc00000bf, 0xcb0000c0,
+ 0xe70000c1, 0xe50000c2, 0xcc0000c3, 0x800000c4, 0x810000c5, 0xae0000c6, 0x820000c7, 0xe90000c8,
+ 0x830000c9, 0xe60000ca, 0xe80000cb, 0xed0000cc, 0xea0000cd, 0xeb0000ce, 0xec0000cf, 0x840000d1,
+ 0xf10000d2, 0xee0000d3, 0xef0000d4, 0xcd0000d5, 0x850000d6, 0xaf0000d8, 0xf40000d9, 0xf20000da,
+ 0xf30000db, 0x860000dc, 0xa70000df, 0x880000e0, 0x870000e1, 0x890000e2, 0x8b0000e3, 0x8a0000e4,
+ 0x8c0000e5, 0xbe0000e6, 0x8d0000e7, 0x8f0000e8, 0x8e0000e9, 0x900000ea, 0x910000eb, 0x930000ec,
+ 0x920000ed, 0x940000ee, 0x950000ef, 0x960000f1, 0x980000f2, 0x970000f3, 0x990000f4, 0x9b0000f5,
+ 0x9a0000f6, 0xd60000f7, 0xbf0000f8, 0x9d0000f9, 0x9c0000fa, 0x9e0000fb, 0x9f0000fc, 0xd80000ff,
+ 0xf5000131, 0xce000152, 0xcf000153, 0xd9000178, 0xc4000192, 0xf60002c6, 0xff0002c7, 0xf90002d8,
+ 0xfa0002d9, 0xfb0002da, 0xfe0002db, 0xf70002dc, 0xfd0002dd, 0xbd0003a9, 0xb90003c0, 0xd0002013,
+ 0xd1002014, 0xd4002018, 0xd5002019, 0xe200201a, 0xd200201c, 0xd300201d, 0xe300201e, 0xa0002020,
+ 0xe0002021, 0xa5002022, 0xc9002026, 0xe4002030, 0xdc002039, 0xdd00203a, 0xda002044, 0xdb0020ac,
+ 0xaa002122, 0xb6002202, 0xc6002206, 0xb800220f, 0xb7002211, 0xc300221a, 0xb000221e, 0xba00222b,
+ 0xc5002248, 0xad002260, 0xb2002264, 0xb3002265, 0xd70025ca, 0xf000f8ff, 0xde00fb01, 0xdf00fb02,
+ },
+}
+
+// MacintoshCyrillic is the Macintosh Cyrillic encoding.
+var MacintoshCyrillic *Charmap = &macintoshCyrillic
+
+var macintoshCyrillic = Charmap{
+ name: "Macintosh Cyrillic",
+ mib: identifier.MacintoshCyrillic,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}},
+ {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}},
+ {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}},
+ {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}},
+ {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}},
+ {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}},
+ {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {2, [3]byte{0xc2, 0xb0, 0x00}},
+ {2, [3]byte{0xd2, 0x90, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0x86, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {3, [3]byte{0xe2, 0x84, 0xa2}}, {2, [3]byte{0xd0, 0x82, 0x00}},
+ {2, [3]byte{0xd1, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0xa0}},
+ {2, [3]byte{0xd0, 0x83, 0x00}}, {2, [3]byte{0xd1, 0x93, 0x00}},
+ {3, [3]byte{0xe2, 0x88, 0x9e}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {3, [3]byte{0xe2, 0x89, 0xa4}}, {3, [3]byte{0xe2, 0x89, 0xa5}},
+ {2, [3]byte{0xd1, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xd2, 0x91, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}},
+ {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x94, 0x00}},
+ {2, [3]byte{0xd0, 0x87, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x89, 0x00}}, {2, [3]byte{0xd1, 0x99, 0x00}},
+ {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x9a, 0x00}},
+ {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {3, [3]byte{0xe2, 0x88, 0x9a}},
+ {2, [3]byte{0xc6, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x89, 0x88}},
+ {3, [3]byte{0xe2, 0x88, 0x86}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xbb, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}},
+ {2, [3]byte{0xd1, 0x9c, 0x00}}, {2, [3]byte{0xd1, 0x95, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xe2, 0x80, 0x9c}}, {3, [3]byte{0xe2, 0x80, 0x9d}},
+ {3, [3]byte{0xe2, 0x80, 0x98}}, {3, [3]byte{0xe2, 0x80, 0x99}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x9e}},
+ {2, [3]byte{0xd0, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x9e, 0x00}},
+ {2, [3]byte{0xd0, 0x8f, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}},
+ {3, [3]byte{0xe2, 0x84, 0x96}}, {2, [3]byte{0xd0, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x91, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}},
+ {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}},
+ {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}},
+ {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}},
+ {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}},
+ {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}},
+ {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {3, [3]byte{0xe2, 0x82, 0xac}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xca0000a0, 0xa30000a3, 0xa40000a7, 0xa90000a9, 0xc70000ab, 0xc20000ac, 0xa80000ae, 0xa10000b0,
+ 0xb10000b1, 0xb50000b5, 0xa60000b6, 0xc80000bb, 0xd60000f7, 0xc4000192, 0xdd000401, 0xab000402,
+ 0xae000403, 0xb8000404, 0xc1000405, 0xa7000406, 0xba000407, 0xb7000408, 0xbc000409, 0xbe00040a,
+ 0xcb00040b, 0xcd00040c, 0xd800040e, 0xda00040f, 0x80000410, 0x81000411, 0x82000412, 0x83000413,
+ 0x84000414, 0x85000415, 0x86000416, 0x87000417, 0x88000418, 0x89000419, 0x8a00041a, 0x8b00041b,
+ 0x8c00041c, 0x8d00041d, 0x8e00041e, 0x8f00041f, 0x90000420, 0x91000421, 0x92000422, 0x93000423,
+ 0x94000424, 0x95000425, 0x96000426, 0x97000427, 0x98000428, 0x99000429, 0x9a00042a, 0x9b00042b,
+ 0x9c00042c, 0x9d00042d, 0x9e00042e, 0x9f00042f, 0xe0000430, 0xe1000431, 0xe2000432, 0xe3000433,
+ 0xe4000434, 0xe5000435, 0xe6000436, 0xe7000437, 0xe8000438, 0xe9000439, 0xea00043a, 0xeb00043b,
+ 0xec00043c, 0xed00043d, 0xee00043e, 0xef00043f, 0xf0000440, 0xf1000441, 0xf2000442, 0xf3000443,
+ 0xf4000444, 0xf5000445, 0xf6000446, 0xf7000447, 0xf8000448, 0xf9000449, 0xfa00044a, 0xfb00044b,
+ 0xfc00044c, 0xfd00044d, 0xfe00044e, 0xdf00044f, 0xde000451, 0xac000452, 0xaf000453, 0xb9000454,
+ 0xcf000455, 0xb4000456, 0xbb000457, 0xc0000458, 0xbd000459, 0xbf00045a, 0xcc00045b, 0xce00045c,
+ 0xd900045e, 0xdb00045f, 0xa2000490, 0xb6000491, 0xd0002013, 0xd1002014, 0xd4002018, 0xd5002019,
+ 0xd200201c, 0xd300201d, 0xd700201e, 0xa0002020, 0xa5002022, 0xc9002026, 0xff0020ac, 0xdc002116,
+ 0xaa002122, 0xc6002206, 0xc300221a, 0xb000221e, 0xc5002248, 0xad002260, 0xb2002264, 0xb3002265,
+ },
+}
+
+// Windows874 is the Windows 874 encoding.
+var Windows874 *Charmap = &windows874
+
+var windows874 = Charmap{
+ name: "Windows 874",
+ mib: identifier.Windows874,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xe0, 0xb8, 0x81}},
+ {3, [3]byte{0xe0, 0xb8, 0x82}}, {3, [3]byte{0xe0, 0xb8, 0x83}},
+ {3, [3]byte{0xe0, 0xb8, 0x84}}, {3, [3]byte{0xe0, 0xb8, 0x85}},
+ {3, [3]byte{0xe0, 0xb8, 0x86}}, {3, [3]byte{0xe0, 0xb8, 0x87}},
+ {3, [3]byte{0xe0, 0xb8, 0x88}}, {3, [3]byte{0xe0, 0xb8, 0x89}},
+ {3, [3]byte{0xe0, 0xb8, 0x8a}}, {3, [3]byte{0xe0, 0xb8, 0x8b}},
+ {3, [3]byte{0xe0, 0xb8, 0x8c}}, {3, [3]byte{0xe0, 0xb8, 0x8d}},
+ {3, [3]byte{0xe0, 0xb8, 0x8e}}, {3, [3]byte{0xe0, 0xb8, 0x8f}},
+ {3, [3]byte{0xe0, 0xb8, 0x90}}, {3, [3]byte{0xe0, 0xb8, 0x91}},
+ {3, [3]byte{0xe0, 0xb8, 0x92}}, {3, [3]byte{0xe0, 0xb8, 0x93}},
+ {3, [3]byte{0xe0, 0xb8, 0x94}}, {3, [3]byte{0xe0, 0xb8, 0x95}},
+ {3, [3]byte{0xe0, 0xb8, 0x96}}, {3, [3]byte{0xe0, 0xb8, 0x97}},
+ {3, [3]byte{0xe0, 0xb8, 0x98}}, {3, [3]byte{0xe0, 0xb8, 0x99}},
+ {3, [3]byte{0xe0, 0xb8, 0x9a}}, {3, [3]byte{0xe0, 0xb8, 0x9b}},
+ {3, [3]byte{0xe0, 0xb8, 0x9c}}, {3, [3]byte{0xe0, 0xb8, 0x9d}},
+ {3, [3]byte{0xe0, 0xb8, 0x9e}}, {3, [3]byte{0xe0, 0xb8, 0x9f}},
+ {3, [3]byte{0xe0, 0xb8, 0xa0}}, {3, [3]byte{0xe0, 0xb8, 0xa1}},
+ {3, [3]byte{0xe0, 0xb8, 0xa2}}, {3, [3]byte{0xe0, 0xb8, 0xa3}},
+ {3, [3]byte{0xe0, 0xb8, 0xa4}}, {3, [3]byte{0xe0, 0xb8, 0xa5}},
+ {3, [3]byte{0xe0, 0xb8, 0xa6}}, {3, [3]byte{0xe0, 0xb8, 0xa7}},
+ {3, [3]byte{0xe0, 0xb8, 0xa8}}, {3, [3]byte{0xe0, 0xb8, 0xa9}},
+ {3, [3]byte{0xe0, 0xb8, 0xaa}}, {3, [3]byte{0xe0, 0xb8, 0xab}},
+ {3, [3]byte{0xe0, 0xb8, 0xac}}, {3, [3]byte{0xe0, 0xb8, 0xad}},
+ {3, [3]byte{0xe0, 0xb8, 0xae}}, {3, [3]byte{0xe0, 0xb8, 0xaf}},
+ {3, [3]byte{0xe0, 0xb8, 0xb0}}, {3, [3]byte{0xe0, 0xb8, 0xb1}},
+ {3, [3]byte{0xe0, 0xb8, 0xb2}}, {3, [3]byte{0xe0, 0xb8, 0xb3}},
+ {3, [3]byte{0xe0, 0xb8, 0xb4}}, {3, [3]byte{0xe0, 0xb8, 0xb5}},
+ {3, [3]byte{0xe0, 0xb8, 0xb6}}, {3, [3]byte{0xe0, 0xb8, 0xb7}},
+ {3, [3]byte{0xe0, 0xb8, 0xb8}}, {3, [3]byte{0xe0, 0xb8, 0xb9}},
+ {3, [3]byte{0xe0, 0xb8, 0xba}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe0, 0xb8, 0xbf}},
+ {3, [3]byte{0xe0, 0xb9, 0x80}}, {3, [3]byte{0xe0, 0xb9, 0x81}},
+ {3, [3]byte{0xe0, 0xb9, 0x82}}, {3, [3]byte{0xe0, 0xb9, 0x83}},
+ {3, [3]byte{0xe0, 0xb9, 0x84}}, {3, [3]byte{0xe0, 0xb9, 0x85}},
+ {3, [3]byte{0xe0, 0xb9, 0x86}}, {3, [3]byte{0xe0, 0xb9, 0x87}},
+ {3, [3]byte{0xe0, 0xb9, 0x88}}, {3, [3]byte{0xe0, 0xb9, 0x89}},
+ {3, [3]byte{0xe0, 0xb9, 0x8a}}, {3, [3]byte{0xe0, 0xb9, 0x8b}},
+ {3, [3]byte{0xe0, 0xb9, 0x8c}}, {3, [3]byte{0xe0, 0xb9, 0x8d}},
+ {3, [3]byte{0xe0, 0xb9, 0x8e}}, {3, [3]byte{0xe0, 0xb9, 0x8f}},
+ {3, [3]byte{0xe0, 0xb9, 0x90}}, {3, [3]byte{0xe0, 0xb9, 0x91}},
+ {3, [3]byte{0xe0, 0xb9, 0x92}}, {3, [3]byte{0xe0, 0xb9, 0x93}},
+ {3, [3]byte{0xe0, 0xb9, 0x94}}, {3, [3]byte{0xe0, 0xb9, 0x95}},
+ {3, [3]byte{0xe0, 0xb9, 0x96}}, {3, [3]byte{0xe0, 0xb9, 0x97}},
+ {3, [3]byte{0xe0, 0xb9, 0x98}}, {3, [3]byte{0xe0, 0xb9, 0x99}},
+ {3, [3]byte{0xe0, 0xb9, 0x9a}}, {3, [3]byte{0xe0, 0xb9, 0x9b}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa1000e01, 0xa2000e02, 0xa3000e03, 0xa4000e04, 0xa5000e05, 0xa6000e06, 0xa7000e07,
+ 0xa8000e08, 0xa9000e09, 0xaa000e0a, 0xab000e0b, 0xac000e0c, 0xad000e0d, 0xae000e0e, 0xaf000e0f,
+ 0xb0000e10, 0xb1000e11, 0xb2000e12, 0xb3000e13, 0xb4000e14, 0xb5000e15, 0xb6000e16, 0xb7000e17,
+ 0xb8000e18, 0xb9000e19, 0xba000e1a, 0xbb000e1b, 0xbc000e1c, 0xbd000e1d, 0xbe000e1e, 0xbf000e1f,
+ 0xc0000e20, 0xc1000e21, 0xc2000e22, 0xc3000e23, 0xc4000e24, 0xc5000e25, 0xc6000e26, 0xc7000e27,
+ 0xc8000e28, 0xc9000e29, 0xca000e2a, 0xcb000e2b, 0xcc000e2c, 0xcd000e2d, 0xce000e2e, 0xcf000e2f,
+ 0xd0000e30, 0xd1000e31, 0xd2000e32, 0xd3000e33, 0xd4000e34, 0xd5000e35, 0xd6000e36, 0xd7000e37,
+ 0xd8000e38, 0xd9000e39, 0xda000e3a, 0xdf000e3f, 0xe0000e40, 0xe1000e41, 0xe2000e42, 0xe3000e43,
+ 0xe4000e44, 0xe5000e45, 0xe6000e46, 0xe7000e47, 0xe8000e48, 0xe9000e49, 0xea000e4a, 0xeb000e4b,
+ 0xec000e4c, 0xed000e4d, 0xee000e4e, 0xef000e4f, 0xf0000e50, 0xf1000e51, 0xf2000e52, 0xf3000e53,
+ 0xf4000e54, 0xf5000e55, 0xf6000e56, 0xf7000e57, 0xf8000e58, 0xf9000e59, 0xfa000e5a, 0xfb000e5b,
+ 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x9300201c, 0x9400201d, 0x95002022, 0x85002026,
+ 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac,
+ 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac,
+ 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac,
+ 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac, 0x800020ac,
+ },
+}
+
+// Windows1250 is the Windows 1250 encoding.
+var Windows1250 *Charmap = &windows1250
+
+var windows1250 = Charmap{
+ name: "Windows 1250",
+ mib: identifier.Windows1250,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xa4, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc5, 0xb9, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xa5, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xcb, 0x87, 0x00}},
+ {2, [3]byte{0xcb, 0x98, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0x84, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc4, 0x85, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc4, 0xbd, 0x00}}, {2, [3]byte{0xcb, 0x9d, 0x00}},
+ {2, [3]byte{0xc4, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xb9, 0x00}},
+ {2, [3]byte{0xc4, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc4, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc4, 0x8e, 0x00}},
+ {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc5, 0x87, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc5, 0x90, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc5, 0x98, 0x00}}, {2, [3]byte{0xc5, 0xae, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xb0, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc5, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc5, 0x95, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc4, 0xba, 0x00}},
+ {2, [3]byte{0xc4, 0x87, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc4, 0x9b, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc4, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}},
+ {2, [3]byte{0xc5, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc5, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0x99, 0x00}}, {2, [3]byte{0xc5, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc5, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc5, 0xa3, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9, 0xab0000ab, 0xac0000ac,
+ 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xbb0000bb, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc70000c7, 0xc90000c9, 0xcb0000cb,
+ 0xcd0000cd, 0xce0000ce, 0xd30000d3, 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xda0000da, 0xdc0000dc,
+ 0xdd0000dd, 0xdf0000df, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe70000e7, 0xe90000e9, 0xeb0000eb,
+ 0xed0000ed, 0xee0000ee, 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xfa0000fa, 0xfc0000fc,
+ 0xfd0000fd, 0xc3000102, 0xe3000103, 0xa5000104, 0xb9000105, 0xc6000106, 0xe6000107, 0xc800010c,
+ 0xe800010d, 0xcf00010e, 0xef00010f, 0xd0000110, 0xf0000111, 0xca000118, 0xea000119, 0xcc00011a,
+ 0xec00011b, 0xc5000139, 0xe500013a, 0xbc00013d, 0xbe00013e, 0xa3000141, 0xb3000142, 0xd1000143,
+ 0xf1000144, 0xd2000147, 0xf2000148, 0xd5000150, 0xf5000151, 0xc0000154, 0xe0000155, 0xd8000158,
+ 0xf8000159, 0x8c00015a, 0x9c00015b, 0xaa00015e, 0xba00015f, 0x8a000160, 0x9a000161, 0xde000162,
+ 0xfe000163, 0x8d000164, 0x9d000165, 0xd900016e, 0xf900016f, 0xdb000170, 0xfb000171, 0x8f000179,
+ 0x9f00017a, 0xaf00017b, 0xbf00017c, 0x8e00017d, 0x9e00017e, 0xa10002c7, 0xa20002d8, 0xff0002d9,
+ 0xb20002db, 0xbd0002dd, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c,
+ 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039,
+ 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1251 is the Windows 1251 encoding.
+var Windows1251 *Charmap = &windows1251
+
+var windows1251 = Charmap{
+ name: "Windows 1251",
+ mib: identifier.Windows1251,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {2, [3]byte{0xd0, 0x82, 0x00}}, {2, [3]byte{0xd0, 0x83, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xd1, 0x93, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {2, [3]byte{0xd0, 0x89, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xd0, 0x8a, 0x00}}, {2, [3]byte{0xd0, 0x8c, 0x00}},
+ {2, [3]byte{0xd0, 0x8b, 0x00}}, {2, [3]byte{0xd0, 0x8f, 0x00}},
+ {2, [3]byte{0xd1, 0x92, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {2, [3]byte{0xd1, 0x99, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xd1, 0x9a, 0x00}}, {2, [3]byte{0xd1, 0x9c, 0x00}},
+ {2, [3]byte{0xd1, 0x9b, 0x00}}, {2, [3]byte{0xd1, 0x9f, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0x8e, 0x00}},
+ {2, [3]byte{0xd1, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x88, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xd2, 0x90, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xd0, 0x81, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0x84, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xd0, 0x87, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xd0, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x96, 0x00}},
+ {2, [3]byte{0xd2, 0x91, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xd1, 0x91, 0x00}}, {3, [3]byte{0xe2, 0x84, 0x96}},
+ {2, [3]byte{0xd1, 0x94, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xd1, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x95, 0x00}}, {2, [3]byte{0xd1, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x90, 0x00}}, {2, [3]byte{0xd0, 0x91, 0x00}},
+ {2, [3]byte{0xd0, 0x92, 0x00}}, {2, [3]byte{0xd0, 0x93, 0x00}},
+ {2, [3]byte{0xd0, 0x94, 0x00}}, {2, [3]byte{0xd0, 0x95, 0x00}},
+ {2, [3]byte{0xd0, 0x96, 0x00}}, {2, [3]byte{0xd0, 0x97, 0x00}},
+ {2, [3]byte{0xd0, 0x98, 0x00}}, {2, [3]byte{0xd0, 0x99, 0x00}},
+ {2, [3]byte{0xd0, 0x9a, 0x00}}, {2, [3]byte{0xd0, 0x9b, 0x00}},
+ {2, [3]byte{0xd0, 0x9c, 0x00}}, {2, [3]byte{0xd0, 0x9d, 0x00}},
+ {2, [3]byte{0xd0, 0x9e, 0x00}}, {2, [3]byte{0xd0, 0x9f, 0x00}},
+ {2, [3]byte{0xd0, 0xa0, 0x00}}, {2, [3]byte{0xd0, 0xa1, 0x00}},
+ {2, [3]byte{0xd0, 0xa2, 0x00}}, {2, [3]byte{0xd0, 0xa3, 0x00}},
+ {2, [3]byte{0xd0, 0xa4, 0x00}}, {2, [3]byte{0xd0, 0xa5, 0x00}},
+ {2, [3]byte{0xd0, 0xa6, 0x00}}, {2, [3]byte{0xd0, 0xa7, 0x00}},
+ {2, [3]byte{0xd0, 0xa8, 0x00}}, {2, [3]byte{0xd0, 0xa9, 0x00}},
+ {2, [3]byte{0xd0, 0xaa, 0x00}}, {2, [3]byte{0xd0, 0xab, 0x00}},
+ {2, [3]byte{0xd0, 0xac, 0x00}}, {2, [3]byte{0xd0, 0xad, 0x00}},
+ {2, [3]byte{0xd0, 0xae, 0x00}}, {2, [3]byte{0xd0, 0xaf, 0x00}},
+ {2, [3]byte{0xd0, 0xb0, 0x00}}, {2, [3]byte{0xd0, 0xb1, 0x00}},
+ {2, [3]byte{0xd0, 0xb2, 0x00}}, {2, [3]byte{0xd0, 0xb3, 0x00}},
+ {2, [3]byte{0xd0, 0xb4, 0x00}}, {2, [3]byte{0xd0, 0xb5, 0x00}},
+ {2, [3]byte{0xd0, 0xb6, 0x00}}, {2, [3]byte{0xd0, 0xb7, 0x00}},
+ {2, [3]byte{0xd0, 0xb8, 0x00}}, {2, [3]byte{0xd0, 0xb9, 0x00}},
+ {2, [3]byte{0xd0, 0xba, 0x00}}, {2, [3]byte{0xd0, 0xbb, 0x00}},
+ {2, [3]byte{0xd0, 0xbc, 0x00}}, {2, [3]byte{0xd0, 0xbd, 0x00}},
+ {2, [3]byte{0xd0, 0xbe, 0x00}}, {2, [3]byte{0xd0, 0xbf, 0x00}},
+ {2, [3]byte{0xd1, 0x80, 0x00}}, {2, [3]byte{0xd1, 0x81, 0x00}},
+ {2, [3]byte{0xd1, 0x82, 0x00}}, {2, [3]byte{0xd1, 0x83, 0x00}},
+ {2, [3]byte{0xd1, 0x84, 0x00}}, {2, [3]byte{0xd1, 0x85, 0x00}},
+ {2, [3]byte{0xd1, 0x86, 0x00}}, {2, [3]byte{0xd1, 0x87, 0x00}},
+ {2, [3]byte{0xd1, 0x88, 0x00}}, {2, [3]byte{0xd1, 0x89, 0x00}},
+ {2, [3]byte{0xd1, 0x8a, 0x00}}, {2, [3]byte{0xd1, 0x8b, 0x00}},
+ {2, [3]byte{0xd1, 0x8c, 0x00}}, {2, [3]byte{0xd1, 0x8d, 0x00}},
+ {2, [3]byte{0xd1, 0x8e, 0x00}}, {2, [3]byte{0xd1, 0x8f, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad,
+ 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xbb0000bb, 0xa8000401,
+ 0x80000402, 0x81000403, 0xaa000404, 0xbd000405, 0xb2000406, 0xaf000407, 0xa3000408, 0x8a000409,
+ 0x8c00040a, 0x8e00040b, 0x8d00040c, 0xa100040e, 0x8f00040f, 0xc0000410, 0xc1000411, 0xc2000412,
+ 0xc3000413, 0xc4000414, 0xc5000415, 0xc6000416, 0xc7000417, 0xc8000418, 0xc9000419, 0xca00041a,
+ 0xcb00041b, 0xcc00041c, 0xcd00041d, 0xce00041e, 0xcf00041f, 0xd0000420, 0xd1000421, 0xd2000422,
+ 0xd3000423, 0xd4000424, 0xd5000425, 0xd6000426, 0xd7000427, 0xd8000428, 0xd9000429, 0xda00042a,
+ 0xdb00042b, 0xdc00042c, 0xdd00042d, 0xde00042e, 0xdf00042f, 0xe0000430, 0xe1000431, 0xe2000432,
+ 0xe3000433, 0xe4000434, 0xe5000435, 0xe6000436, 0xe7000437, 0xe8000438, 0xe9000439, 0xea00043a,
+ 0xeb00043b, 0xec00043c, 0xed00043d, 0xee00043e, 0xef00043f, 0xf0000440, 0xf1000441, 0xf2000442,
+ 0xf3000443, 0xf4000444, 0xf5000445, 0xf6000446, 0xf7000447, 0xf8000448, 0xf9000449, 0xfa00044a,
+ 0xfb00044b, 0xfc00044c, 0xfd00044d, 0xfe00044e, 0xff00044f, 0xb8000451, 0x90000452, 0x83000453,
+ 0xba000454, 0xbe000455, 0xb3000456, 0xbf000457, 0xbc000458, 0x9a000459, 0x9c00045a, 0x9e00045b,
+ 0x9d00045c, 0xa200045e, 0x9f00045f, 0xa5000490, 0xb4000491, 0x96002013, 0x97002014, 0x91002018,
+ 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022,
+ 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x880020ac, 0xb9002116, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1252 is the Windows 1252 encoding.
+var Windows1252 *Charmap = &windows1252
+
+var windows1252 = Charmap{
+ name: "Windows 1252",
+ mib: identifier.Windows1252,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xc5, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc3, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc3, 0x9d, 0x00}},
+ {2, [3]byte{0xc3, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc3, 0xb0, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc3, 0xbd, 0x00}},
+ {2, [3]byte{0xc3, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd00000d0, 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7,
+ 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdd0000dd, 0xde0000de, 0xdf0000df,
+ 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7,
+ 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef,
+ 0xf00000f0, 0xf10000f1, 0xf20000f2, 0xf30000f3, 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7,
+ 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb, 0xfc0000fc, 0xfd0000fd, 0xfe0000fe, 0xff0000ff,
+ 0x8c000152, 0x9c000153, 0x8a000160, 0x9a000161, 0x9f000178, 0x8e00017d, 0x9e00017e, 0x83000192,
+ 0x880002c6, 0x980002dc, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c,
+ 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039,
+ 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1253 is the Windows 1253 encoding.
+var Windows1253 *Charmap = &windows1253
+
+var windows1253 = Charmap{
+ name: "Windows 1253",
+ mib: identifier.Windows1253,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xce, 0x85, 0x00}},
+ {2, [3]byte{0xce, 0x86, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x95}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xce, 0x84, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xce, 0x88, 0x00}}, {2, [3]byte{0xce, 0x89, 0x00}},
+ {2, [3]byte{0xce, 0x8a, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xce, 0x8c, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xce, 0x8e, 0x00}}, {2, [3]byte{0xce, 0x8f, 0x00}},
+ {2, [3]byte{0xce, 0x90, 0x00}}, {2, [3]byte{0xce, 0x91, 0x00}},
+ {2, [3]byte{0xce, 0x92, 0x00}}, {2, [3]byte{0xce, 0x93, 0x00}},
+ {2, [3]byte{0xce, 0x94, 0x00}}, {2, [3]byte{0xce, 0x95, 0x00}},
+ {2, [3]byte{0xce, 0x96, 0x00}}, {2, [3]byte{0xce, 0x97, 0x00}},
+ {2, [3]byte{0xce, 0x98, 0x00}}, {2, [3]byte{0xce, 0x99, 0x00}},
+ {2, [3]byte{0xce, 0x9a, 0x00}}, {2, [3]byte{0xce, 0x9b, 0x00}},
+ {2, [3]byte{0xce, 0x9c, 0x00}}, {2, [3]byte{0xce, 0x9d, 0x00}},
+ {2, [3]byte{0xce, 0x9e, 0x00}}, {2, [3]byte{0xce, 0x9f, 0x00}},
+ {2, [3]byte{0xce, 0xa0, 0x00}}, {2, [3]byte{0xce, 0xa1, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xce, 0xa3, 0x00}},
+ {2, [3]byte{0xce, 0xa4, 0x00}}, {2, [3]byte{0xce, 0xa5, 0x00}},
+ {2, [3]byte{0xce, 0xa6, 0x00}}, {2, [3]byte{0xce, 0xa7, 0x00}},
+ {2, [3]byte{0xce, 0xa8, 0x00}}, {2, [3]byte{0xce, 0xa9, 0x00}},
+ {2, [3]byte{0xce, 0xaa, 0x00}}, {2, [3]byte{0xce, 0xab, 0x00}},
+ {2, [3]byte{0xce, 0xac, 0x00}}, {2, [3]byte{0xce, 0xad, 0x00}},
+ {2, [3]byte{0xce, 0xae, 0x00}}, {2, [3]byte{0xce, 0xaf, 0x00}},
+ {2, [3]byte{0xce, 0xb0, 0x00}}, {2, [3]byte{0xce, 0xb1, 0x00}},
+ {2, [3]byte{0xce, 0xb2, 0x00}}, {2, [3]byte{0xce, 0xb3, 0x00}},
+ {2, [3]byte{0xce, 0xb4, 0x00}}, {2, [3]byte{0xce, 0xb5, 0x00}},
+ {2, [3]byte{0xce, 0xb6, 0x00}}, {2, [3]byte{0xce, 0xb7, 0x00}},
+ {2, [3]byte{0xce, 0xb8, 0x00}}, {2, [3]byte{0xce, 0xb9, 0x00}},
+ {2, [3]byte{0xce, 0xba, 0x00}}, {2, [3]byte{0xce, 0xbb, 0x00}},
+ {2, [3]byte{0xce, 0xbc, 0x00}}, {2, [3]byte{0xce, 0xbd, 0x00}},
+ {2, [3]byte{0xce, 0xbe, 0x00}}, {2, [3]byte{0xce, 0xbf, 0x00}},
+ {2, [3]byte{0xcf, 0x80, 0x00}}, {2, [3]byte{0xcf, 0x81, 0x00}},
+ {2, [3]byte{0xcf, 0x82, 0x00}}, {2, [3]byte{0xcf, 0x83, 0x00}},
+ {2, [3]byte{0xcf, 0x84, 0x00}}, {2, [3]byte{0xcf, 0x85, 0x00}},
+ {2, [3]byte{0xcf, 0x86, 0x00}}, {2, [3]byte{0xcf, 0x87, 0x00}},
+ {2, [3]byte{0xcf, 0x88, 0x00}}, {2, [3]byte{0xcf, 0x89, 0x00}},
+ {2, [3]byte{0xcf, 0x8a, 0x00}}, {2, [3]byte{0xcf, 0x8b, 0x00}},
+ {2, [3]byte{0xcf, 0x8c, 0x00}}, {2, [3]byte{0xcf, 0x8d, 0x00}},
+ {2, [3]byte{0xcf, 0x8e, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8, 0xa90000a9,
+ 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3,
+ 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xbb0000bb, 0xbd0000bd, 0x83000192, 0xb4000384, 0xa1000385,
+ 0xa2000386, 0xb8000388, 0xb9000389, 0xba00038a, 0xbc00038c, 0xbe00038e, 0xbf00038f, 0xc0000390,
+ 0xc1000391, 0xc2000392, 0xc3000393, 0xc4000394, 0xc5000395, 0xc6000396, 0xc7000397, 0xc8000398,
+ 0xc9000399, 0xca00039a, 0xcb00039b, 0xcc00039c, 0xcd00039d, 0xce00039e, 0xcf00039f, 0xd00003a0,
+ 0xd10003a1, 0xd30003a3, 0xd40003a4, 0xd50003a5, 0xd60003a6, 0xd70003a7, 0xd80003a8, 0xd90003a9,
+ 0xda0003aa, 0xdb0003ab, 0xdc0003ac, 0xdd0003ad, 0xde0003ae, 0xdf0003af, 0xe00003b0, 0xe10003b1,
+ 0xe20003b2, 0xe30003b3, 0xe40003b4, 0xe50003b5, 0xe60003b6, 0xe70003b7, 0xe80003b8, 0xe90003b9,
+ 0xea0003ba, 0xeb0003bb, 0xec0003bc, 0xed0003bd, 0xee0003be, 0xef0003bf, 0xf00003c0, 0xf10003c1,
+ 0xf20003c2, 0xf30003c3, 0xf40003c4, 0xf50003c5, 0xf60003c6, 0xf70003c7, 0xf80003c8, 0xf90003c9,
+ 0xfa0003ca, 0xfb0003cb, 0xfc0003cc, 0xfd0003cd, 0xfe0003ce, 0x96002013, 0x97002014, 0xaf002015,
+ 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021,
+ 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1254 is the Windows 1254 encoding.
+var Windows1254 *Charmap = &windows1254
+
+var windows1254 = Charmap{
+ name: "Windows 1254",
+ mib: identifier.Windows1254,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc3, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xc3, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xc3, 0x92, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc4, 0xb0, 0x00}},
+ {2, [3]byte{0xc5, 0x9e, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc3, 0xa3, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xac, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xc3, 0xb2, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc4, 0xb1, 0x00}},
+ {2, [3]byte{0xc5, 0x9f, 0x00}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc30000c3, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7,
+ 0xc80000c8, 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcc0000cc, 0xcd0000cd, 0xce0000ce, 0xcf0000cf,
+ 0xd10000d1, 0xd20000d2, 0xd30000d3, 0xd40000d4, 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xd80000d8,
+ 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc, 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2,
+ 0xe30000e3, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7, 0xe80000e8, 0xe90000e9, 0xea0000ea,
+ 0xeb0000eb, 0xec0000ec, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1, 0xf20000f2, 0xf30000f3,
+ 0xf40000f4, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb,
+ 0xfc0000fc, 0xff0000ff, 0xd000011e, 0xf000011f, 0xdd000130, 0xfd000131, 0x8c000152, 0x9c000153,
+ 0xde00015e, 0xfe00015f, 0x8a000160, 0x9a000161, 0x9f000178, 0x83000192, 0x880002c6, 0x980002dc,
+ 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e,
+ 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1255 is the Windows 1255 encoding.
+var Windows1255 *Charmap = &windows1255
+
+var windows1255 = Charmap{
+ name: "Windows 1255",
+ mib: identifier.Windows1255,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xaa}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xb7, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xd6, 0xb0, 0x00}}, {2, [3]byte{0xd6, 0xb1, 0x00}},
+ {2, [3]byte{0xd6, 0xb2, 0x00}}, {2, [3]byte{0xd6, 0xb3, 0x00}},
+ {2, [3]byte{0xd6, 0xb4, 0x00}}, {2, [3]byte{0xd6, 0xb5, 0x00}},
+ {2, [3]byte{0xd6, 0xb6, 0x00}}, {2, [3]byte{0xd6, 0xb7, 0x00}},
+ {2, [3]byte{0xd6, 0xb8, 0x00}}, {2, [3]byte{0xd6, 0xb9, 0x00}},
+ {2, [3]byte{0xd6, 0xba, 0x00}}, {2, [3]byte{0xd6, 0xbb, 0x00}},
+ {2, [3]byte{0xd6, 0xbc, 0x00}}, {2, [3]byte{0xd6, 0xbd, 0x00}},
+ {2, [3]byte{0xd6, 0xbe, 0x00}}, {2, [3]byte{0xd6, 0xbf, 0x00}},
+ {2, [3]byte{0xd7, 0x80, 0x00}}, {2, [3]byte{0xd7, 0x81, 0x00}},
+ {2, [3]byte{0xd7, 0x82, 0x00}}, {2, [3]byte{0xd7, 0x83, 0x00}},
+ {2, [3]byte{0xd7, 0xb0, 0x00}}, {2, [3]byte{0xd7, 0xb1, 0x00}},
+ {2, [3]byte{0xd7, 0xb2, 0x00}}, {2, [3]byte{0xd7, 0xb3, 0x00}},
+ {2, [3]byte{0xd7, 0xb4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xd7, 0x90, 0x00}}, {2, [3]byte{0xd7, 0x91, 0x00}},
+ {2, [3]byte{0xd7, 0x92, 0x00}}, {2, [3]byte{0xd7, 0x93, 0x00}},
+ {2, [3]byte{0xd7, 0x94, 0x00}}, {2, [3]byte{0xd7, 0x95, 0x00}},
+ {2, [3]byte{0xd7, 0x96, 0x00}}, {2, [3]byte{0xd7, 0x97, 0x00}},
+ {2, [3]byte{0xd7, 0x98, 0x00}}, {2, [3]byte{0xd7, 0x99, 0x00}},
+ {2, [3]byte{0xd7, 0x9a, 0x00}}, {2, [3]byte{0xd7, 0x9b, 0x00}},
+ {2, [3]byte{0xd7, 0x9c, 0x00}}, {2, [3]byte{0xd7, 0x9d, 0x00}},
+ {2, [3]byte{0xd7, 0x9e, 0x00}}, {2, [3]byte{0xd7, 0x9f, 0x00}},
+ {2, [3]byte{0xd7, 0xa0, 0x00}}, {2, [3]byte{0xd7, 0xa1, 0x00}},
+ {2, [3]byte{0xd7, 0xa2, 0x00}}, {2, [3]byte{0xd7, 0xa3, 0x00}},
+ {2, [3]byte{0xd7, 0xa4, 0x00}}, {2, [3]byte{0xd7, 0xa5, 0x00}},
+ {2, [3]byte{0xd7, 0xa6, 0x00}}, {2, [3]byte{0xd7, 0xa7, 0x00}},
+ {2, [3]byte{0xd7, 0xa8, 0x00}}, {2, [3]byte{0xd7, 0xa9, 0x00}},
+ {2, [3]byte{0xd7, 0xaa, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x8e}},
+ {3, [3]byte{0xe2, 0x80, 0x8f}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8,
+ 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1,
+ 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9,
+ 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf, 0xaa0000d7, 0xba0000f7, 0x83000192,
+ 0x880002c6, 0x980002dc, 0xc00005b0, 0xc10005b1, 0xc20005b2, 0xc30005b3, 0xc40005b4, 0xc50005b5,
+ 0xc60005b6, 0xc70005b7, 0xc80005b8, 0xc90005b9, 0xca0005ba, 0xcb0005bb, 0xcc0005bc, 0xcd0005bd,
+ 0xce0005be, 0xcf0005bf, 0xd00005c0, 0xd10005c1, 0xd20005c2, 0xd30005c3, 0xe00005d0, 0xe10005d1,
+ 0xe20005d2, 0xe30005d3, 0xe40005d4, 0xe50005d5, 0xe60005d6, 0xe70005d7, 0xe80005d8, 0xe90005d9,
+ 0xea0005da, 0xeb0005db, 0xec0005dc, 0xed0005dd, 0xee0005de, 0xef0005df, 0xf00005e0, 0xf10005e1,
+ 0xf20005e2, 0xf30005e3, 0xf40005e4, 0xf50005e5, 0xf60005e6, 0xf70005e7, 0xf80005e8, 0xf90005e9,
+ 0xfa0005ea, 0xd40005f0, 0xd50005f1, 0xd60005f2, 0xd70005f3, 0xd80005f4, 0xfd00200e, 0xfe00200f,
+ 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e,
+ 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xa40020aa,
+ 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1256 is the Windows 1256 encoding.
+var Windows1256 *Charmap = &windows1256
+
+var windows1256 = Charmap{
+ name: "Windows 1256",
+ mib: identifier.Windows1256,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {2, [3]byte{0xd9, 0xbe, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {2, [3]byte{0xd9, 0xb9, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {2, [3]byte{0xda, 0x86, 0x00}},
+ {2, [3]byte{0xda, 0x98, 0x00}}, {2, [3]byte{0xda, 0x88, 0x00}},
+ {2, [3]byte{0xda, 0xaf, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {2, [3]byte{0xda, 0xa9, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {2, [3]byte{0xda, 0x91, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x8c}},
+ {3, [3]byte{0xe2, 0x80, 0x8d}}, {2, [3]byte{0xda, 0xba, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xd8, 0x8c, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xda, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xd8, 0x9b, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xd8, 0x9f, 0x00}},
+ {2, [3]byte{0xdb, 0x81, 0x00}}, {2, [3]byte{0xd8, 0xa1, 0x00}},
+ {2, [3]byte{0xd8, 0xa2, 0x00}}, {2, [3]byte{0xd8, 0xa3, 0x00}},
+ {2, [3]byte{0xd8, 0xa4, 0x00}}, {2, [3]byte{0xd8, 0xa5, 0x00}},
+ {2, [3]byte{0xd8, 0xa6, 0x00}}, {2, [3]byte{0xd8, 0xa7, 0x00}},
+ {2, [3]byte{0xd8, 0xa8, 0x00}}, {2, [3]byte{0xd8, 0xa9, 0x00}},
+ {2, [3]byte{0xd8, 0xaa, 0x00}}, {2, [3]byte{0xd8, 0xab, 0x00}},
+ {2, [3]byte{0xd8, 0xac, 0x00}}, {2, [3]byte{0xd8, 0xad, 0x00}},
+ {2, [3]byte{0xd8, 0xae, 0x00}}, {2, [3]byte{0xd8, 0xaf, 0x00}},
+ {2, [3]byte{0xd8, 0xb0, 0x00}}, {2, [3]byte{0xd8, 0xb1, 0x00}},
+ {2, [3]byte{0xd8, 0xb2, 0x00}}, {2, [3]byte{0xd8, 0xb3, 0x00}},
+ {2, [3]byte{0xd8, 0xb4, 0x00}}, {2, [3]byte{0xd8, 0xb5, 0x00}},
+ {2, [3]byte{0xd8, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xd8, 0xb7, 0x00}}, {2, [3]byte{0xd8, 0xb8, 0x00}},
+ {2, [3]byte{0xd8, 0xb9, 0x00}}, {2, [3]byte{0xd8, 0xba, 0x00}},
+ {2, [3]byte{0xd9, 0x80, 0x00}}, {2, [3]byte{0xd9, 0x81, 0x00}},
+ {2, [3]byte{0xd9, 0x82, 0x00}}, {2, [3]byte{0xd9, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xd9, 0x84, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xd9, 0x85, 0x00}},
+ {2, [3]byte{0xd9, 0x86, 0x00}}, {2, [3]byte{0xd9, 0x87, 0x00}},
+ {2, [3]byte{0xd9, 0x88, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xd9, 0x89, 0x00}}, {2, [3]byte{0xd9, 0x8a, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xd9, 0x8b, 0x00}}, {2, [3]byte{0xd9, 0x8c, 0x00}},
+ {2, [3]byte{0xd9, 0x8d, 0x00}}, {2, [3]byte{0xd9, 0x8e, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xd9, 0x8f, 0x00}},
+ {2, [3]byte{0xd9, 0x90, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xd9, 0x91, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xd9, 0x92, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {3, [3]byte{0xe2, 0x80, 0x8e}},
+ {3, [3]byte{0xe2, 0x80, 0x8f}}, {2, [3]byte{0xdb, 0x92, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7, 0xa80000a8,
+ 0xa90000a9, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af, 0xb00000b0, 0xb10000b1,
+ 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0xb80000b8, 0xb90000b9,
+ 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xd70000d7, 0xe00000e0, 0xe20000e2, 0xe70000e7,
+ 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xee0000ee, 0xef0000ef, 0xf40000f4, 0xf70000f7,
+ 0xf90000f9, 0xfb0000fb, 0xfc0000fc, 0x8c000152, 0x9c000153, 0x83000192, 0x880002c6, 0xa100060c,
+ 0xba00061b, 0xbf00061f, 0xc1000621, 0xc2000622, 0xc3000623, 0xc4000624, 0xc5000625, 0xc6000626,
+ 0xc7000627, 0xc8000628, 0xc9000629, 0xca00062a, 0xcb00062b, 0xcc00062c, 0xcd00062d, 0xce00062e,
+ 0xcf00062f, 0xd0000630, 0xd1000631, 0xd2000632, 0xd3000633, 0xd4000634, 0xd5000635, 0xd6000636,
+ 0xd8000637, 0xd9000638, 0xda000639, 0xdb00063a, 0xdc000640, 0xdd000641, 0xde000642, 0xdf000643,
+ 0xe1000644, 0xe3000645, 0xe4000646, 0xe5000647, 0xe6000648, 0xec000649, 0xed00064a, 0xf000064b,
+ 0xf100064c, 0xf200064d, 0xf300064e, 0xf500064f, 0xf6000650, 0xf8000651, 0xfa000652, 0x8a000679,
+ 0x8100067e, 0x8d000686, 0x8f000688, 0x9a000691, 0x8e000698, 0x980006a9, 0x900006af, 0x9f0006ba,
+ 0xaa0006be, 0xc00006c1, 0xff0006d2, 0x9d00200c, 0x9e00200d, 0xfd00200e, 0xfe00200f, 0x96002013,
+ 0x97002014, 0x91002018, 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020,
+ 0x87002021, 0x95002022, 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122,
+ },
+}
+
+// Windows1257 is the Windows 1257 encoding.
+var Windows1257 *Charmap = &windows1257
+
+var windows1257 = Charmap{
+ name: "Windows 1257",
+ mib: identifier.Windows1257,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xa8, 0x00}},
+ {2, [3]byte{0xcb, 0x87, 0x00}}, {2, [3]byte{0xc2, 0xb8, 0x00}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xcb, 0x9b, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0x96, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc3, 0x86, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc5, 0x97, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc3, 0xa6, 0x00}},
+ {2, [3]byte{0xc4, 0x84, 0x00}}, {2, [3]byte{0xc4, 0xae, 0x00}},
+ {2, [3]byte{0xc4, 0x80, 0x00}}, {2, [3]byte{0xc4, 0x86, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc4, 0x98, 0x00}}, {2, [3]byte{0xc4, 0x92, 0x00}},
+ {2, [3]byte{0xc4, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc5, 0xb9, 0x00}}, {2, [3]byte{0xc4, 0x96, 0x00}},
+ {2, [3]byte{0xc4, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0xb6, 0x00}},
+ {2, [3]byte{0xc4, 0xaa, 0x00}}, {2, [3]byte{0xc4, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0xa0, 0x00}}, {2, [3]byte{0xc5, 0x83, 0x00}},
+ {2, [3]byte{0xc5, 0x85, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc5, 0x8c, 0x00}}, {2, [3]byte{0xc3, 0x95, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc5, 0xb2, 0x00}}, {2, [3]byte{0xc5, 0x81, 0x00}},
+ {2, [3]byte{0xc5, 0x9a, 0x00}}, {2, [3]byte{0xc5, 0xaa, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc5, 0xbb, 0x00}},
+ {2, [3]byte{0xc5, 0xbd, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc4, 0x85, 0x00}}, {2, [3]byte{0xc4, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x81, 0x00}}, {2, [3]byte{0xc4, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc4, 0x99, 0x00}}, {2, [3]byte{0xc4, 0x93, 0x00}},
+ {2, [3]byte{0xc4, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc5, 0xba, 0x00}}, {2, [3]byte{0xc4, 0x97, 0x00}},
+ {2, [3]byte{0xc4, 0xa3, 0x00}}, {2, [3]byte{0xc4, 0xb7, 0x00}},
+ {2, [3]byte{0xc4, 0xab, 0x00}}, {2, [3]byte{0xc4, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0xa1, 0x00}}, {2, [3]byte{0xc5, 0x84, 0x00}},
+ {2, [3]byte{0xc5, 0x86, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc5, 0x8d, 0x00}}, {2, [3]byte{0xc3, 0xb5, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc5, 0xb3, 0x00}}, {2, [3]byte{0xc5, 0x82, 0x00}},
+ {2, [3]byte{0xc5, 0x9b, 0x00}}, {2, [3]byte{0xc5, 0xab, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc5, 0xbc, 0x00}},
+ {2, [3]byte{0xc5, 0xbe, 0x00}}, {2, [3]byte{0xcb, 0x99, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa60000a6, 0xa70000a7, 0x8d0000a8, 0xa90000a9,
+ 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0x9d0000af, 0xb00000b0, 0xb10000b1, 0xb20000b2,
+ 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7, 0x8f0000b8, 0xb90000b9, 0xbb0000bb,
+ 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xc40000c4, 0xc50000c5, 0xaf0000c6, 0xc90000c9, 0xd30000d3,
+ 0xd50000d5, 0xd60000d6, 0xd70000d7, 0xa80000d8, 0xdc0000dc, 0xdf0000df, 0xe40000e4, 0xe50000e5,
+ 0xbf0000e6, 0xe90000e9, 0xf30000f3, 0xf50000f5, 0xf60000f6, 0xf70000f7, 0xb80000f8, 0xfc0000fc,
+ 0xc2000100, 0xe2000101, 0xc0000104, 0xe0000105, 0xc3000106, 0xe3000107, 0xc800010c, 0xe800010d,
+ 0xc7000112, 0xe7000113, 0xcb000116, 0xeb000117, 0xc6000118, 0xe6000119, 0xcc000122, 0xec000123,
+ 0xce00012a, 0xee00012b, 0xc100012e, 0xe100012f, 0xcd000136, 0xed000137, 0xcf00013b, 0xef00013c,
+ 0xd9000141, 0xf9000142, 0xd1000143, 0xf1000144, 0xd2000145, 0xf2000146, 0xd400014c, 0xf400014d,
+ 0xaa000156, 0xba000157, 0xda00015a, 0xfa00015b, 0xd0000160, 0xf0000161, 0xdb00016a, 0xfb00016b,
+ 0xd8000172, 0xf8000173, 0xca000179, 0xea00017a, 0xdd00017b, 0xfd00017c, 0xde00017d, 0xfe00017e,
+ 0x8e0002c7, 0xff0002d9, 0x9e0002db, 0x96002013, 0x97002014, 0x91002018, 0x92002019, 0x8200201a,
+ 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022, 0x85002026, 0x89002030,
+ 0x8b002039, 0x9b00203a, 0x800020ac, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// Windows1258 is the Windows 1258 encoding.
+var Windows1258 *Charmap = &windows1258
+
+var windows1258 = Charmap{
+ name: "Windows 1258",
+ mib: identifier.Windows1258,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xac}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xe2, 0x80, 0x9a}}, {2, [3]byte{0xc6, 0x92, 0x00}},
+ {3, [3]byte{0xe2, 0x80, 0x9e}}, {3, [3]byte{0xe2, 0x80, 0xa6}},
+ {3, [3]byte{0xe2, 0x80, 0xa0}}, {3, [3]byte{0xe2, 0x80, 0xa1}},
+ {2, [3]byte{0xcb, 0x86, 0x00}}, {3, [3]byte{0xe2, 0x80, 0xb0}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xb9}},
+ {2, [3]byte{0xc5, 0x92, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0x98}},
+ {3, [3]byte{0xe2, 0x80, 0x99}}, {3, [3]byte{0xe2, 0x80, 0x9c}},
+ {3, [3]byte{0xe2, 0x80, 0x9d}}, {3, [3]byte{0xe2, 0x80, 0xa2}},
+ {3, [3]byte{0xe2, 0x80, 0x93}}, {3, [3]byte{0xe2, 0x80, 0x94}},
+ {2, [3]byte{0xcb, 0x9c, 0x00}}, {3, [3]byte{0xe2, 0x84, 0xa2}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {3, [3]byte{0xe2, 0x80, 0xba}},
+ {2, [3]byte{0xc5, 0x93, 0x00}}, {3, [3]byte{0xef, 0xbf, 0xbd}},
+ {3, [3]byte{0xef, 0xbf, 0xbd}}, {2, [3]byte{0xc5, 0xb8, 0x00}},
+ {2, [3]byte{0xc2, 0xa0, 0x00}}, {2, [3]byte{0xc2, 0xa1, 0x00}},
+ {2, [3]byte{0xc2, 0xa2, 0x00}}, {2, [3]byte{0xc2, 0xa3, 0x00}},
+ {2, [3]byte{0xc2, 0xa4, 0x00}}, {2, [3]byte{0xc2, 0xa5, 0x00}},
+ {2, [3]byte{0xc2, 0xa6, 0x00}}, {2, [3]byte{0xc2, 0xa7, 0x00}},
+ {2, [3]byte{0xc2, 0xa8, 0x00}}, {2, [3]byte{0xc2, 0xa9, 0x00}},
+ {2, [3]byte{0xc2, 0xaa, 0x00}}, {2, [3]byte{0xc2, 0xab, 0x00}},
+ {2, [3]byte{0xc2, 0xac, 0x00}}, {2, [3]byte{0xc2, 0xad, 0x00}},
+ {2, [3]byte{0xc2, 0xae, 0x00}}, {2, [3]byte{0xc2, 0xaf, 0x00}},
+ {2, [3]byte{0xc2, 0xb0, 0x00}}, {2, [3]byte{0xc2, 0xb1, 0x00}},
+ {2, [3]byte{0xc2, 0xb2, 0x00}}, {2, [3]byte{0xc2, 0xb3, 0x00}},
+ {2, [3]byte{0xc2, 0xb4, 0x00}}, {2, [3]byte{0xc2, 0xb5, 0x00}},
+ {2, [3]byte{0xc2, 0xb6, 0x00}}, {2, [3]byte{0xc2, 0xb7, 0x00}},
+ {2, [3]byte{0xc2, 0xb8, 0x00}}, {2, [3]byte{0xc2, 0xb9, 0x00}},
+ {2, [3]byte{0xc2, 0xba, 0x00}}, {2, [3]byte{0xc2, 0xbb, 0x00}},
+ {2, [3]byte{0xc2, 0xbc, 0x00}}, {2, [3]byte{0xc2, 0xbd, 0x00}},
+ {2, [3]byte{0xc2, 0xbe, 0x00}}, {2, [3]byte{0xc2, 0xbf, 0x00}},
+ {2, [3]byte{0xc3, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x81, 0x00}},
+ {2, [3]byte{0xc3, 0x82, 0x00}}, {2, [3]byte{0xc4, 0x82, 0x00}},
+ {2, [3]byte{0xc3, 0x84, 0x00}}, {2, [3]byte{0xc3, 0x85, 0x00}},
+ {2, [3]byte{0xc3, 0x86, 0x00}}, {2, [3]byte{0xc3, 0x87, 0x00}},
+ {2, [3]byte{0xc3, 0x88, 0x00}}, {2, [3]byte{0xc3, 0x89, 0x00}},
+ {2, [3]byte{0xc3, 0x8a, 0x00}}, {2, [3]byte{0xc3, 0x8b, 0x00}},
+ {2, [3]byte{0xcc, 0x80, 0x00}}, {2, [3]byte{0xc3, 0x8d, 0x00}},
+ {2, [3]byte{0xc3, 0x8e, 0x00}}, {2, [3]byte{0xc3, 0x8f, 0x00}},
+ {2, [3]byte{0xc4, 0x90, 0x00}}, {2, [3]byte{0xc3, 0x91, 0x00}},
+ {2, [3]byte{0xcc, 0x89, 0x00}}, {2, [3]byte{0xc3, 0x93, 0x00}},
+ {2, [3]byte{0xc3, 0x94, 0x00}}, {2, [3]byte{0xc6, 0xa0, 0x00}},
+ {2, [3]byte{0xc3, 0x96, 0x00}}, {2, [3]byte{0xc3, 0x97, 0x00}},
+ {2, [3]byte{0xc3, 0x98, 0x00}}, {2, [3]byte{0xc3, 0x99, 0x00}},
+ {2, [3]byte{0xc3, 0x9a, 0x00}}, {2, [3]byte{0xc3, 0x9b, 0x00}},
+ {2, [3]byte{0xc3, 0x9c, 0x00}}, {2, [3]byte{0xc6, 0xaf, 0x00}},
+ {2, [3]byte{0xcc, 0x83, 0x00}}, {2, [3]byte{0xc3, 0x9f, 0x00}},
+ {2, [3]byte{0xc3, 0xa0, 0x00}}, {2, [3]byte{0xc3, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xa2, 0x00}}, {2, [3]byte{0xc4, 0x83, 0x00}},
+ {2, [3]byte{0xc3, 0xa4, 0x00}}, {2, [3]byte{0xc3, 0xa5, 0x00}},
+ {2, [3]byte{0xc3, 0xa6, 0x00}}, {2, [3]byte{0xc3, 0xa7, 0x00}},
+ {2, [3]byte{0xc3, 0xa8, 0x00}}, {2, [3]byte{0xc3, 0xa9, 0x00}},
+ {2, [3]byte{0xc3, 0xaa, 0x00}}, {2, [3]byte{0xc3, 0xab, 0x00}},
+ {2, [3]byte{0xcc, 0x81, 0x00}}, {2, [3]byte{0xc3, 0xad, 0x00}},
+ {2, [3]byte{0xc3, 0xae, 0x00}}, {2, [3]byte{0xc3, 0xaf, 0x00}},
+ {2, [3]byte{0xc4, 0x91, 0x00}}, {2, [3]byte{0xc3, 0xb1, 0x00}},
+ {2, [3]byte{0xcc, 0xa3, 0x00}}, {2, [3]byte{0xc3, 0xb3, 0x00}},
+ {2, [3]byte{0xc3, 0xb4, 0x00}}, {2, [3]byte{0xc6, 0xa1, 0x00}},
+ {2, [3]byte{0xc3, 0xb6, 0x00}}, {2, [3]byte{0xc3, 0xb7, 0x00}},
+ {2, [3]byte{0xc3, 0xb8, 0x00}}, {2, [3]byte{0xc3, 0xb9, 0x00}},
+ {2, [3]byte{0xc3, 0xba, 0x00}}, {2, [3]byte{0xc3, 0xbb, 0x00}},
+ {2, [3]byte{0xc3, 0xbc, 0x00}}, {2, [3]byte{0xc6, 0xb0, 0x00}},
+ {3, [3]byte{0xe2, 0x82, 0xab}}, {2, [3]byte{0xc3, 0xbf, 0x00}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0xa00000a0, 0xa10000a1, 0xa20000a2, 0xa30000a3, 0xa40000a4, 0xa50000a5, 0xa60000a6, 0xa70000a7,
+ 0xa80000a8, 0xa90000a9, 0xaa0000aa, 0xab0000ab, 0xac0000ac, 0xad0000ad, 0xae0000ae, 0xaf0000af,
+ 0xb00000b0, 0xb10000b1, 0xb20000b2, 0xb30000b3, 0xb40000b4, 0xb50000b5, 0xb60000b6, 0xb70000b7,
+ 0xb80000b8, 0xb90000b9, 0xba0000ba, 0xbb0000bb, 0xbc0000bc, 0xbd0000bd, 0xbe0000be, 0xbf0000bf,
+ 0xc00000c0, 0xc10000c1, 0xc20000c2, 0xc40000c4, 0xc50000c5, 0xc60000c6, 0xc70000c7, 0xc80000c8,
+ 0xc90000c9, 0xca0000ca, 0xcb0000cb, 0xcd0000cd, 0xce0000ce, 0xcf0000cf, 0xd10000d1, 0xd30000d3,
+ 0xd40000d4, 0xd60000d6, 0xd70000d7, 0xd80000d8, 0xd90000d9, 0xda0000da, 0xdb0000db, 0xdc0000dc,
+ 0xdf0000df, 0xe00000e0, 0xe10000e1, 0xe20000e2, 0xe40000e4, 0xe50000e5, 0xe60000e6, 0xe70000e7,
+ 0xe80000e8, 0xe90000e9, 0xea0000ea, 0xeb0000eb, 0xed0000ed, 0xee0000ee, 0xef0000ef, 0xf10000f1,
+ 0xf30000f3, 0xf40000f4, 0xf60000f6, 0xf70000f7, 0xf80000f8, 0xf90000f9, 0xfa0000fa, 0xfb0000fb,
+ 0xfc0000fc, 0xff0000ff, 0xc3000102, 0xe3000103, 0xd0000110, 0xf0000111, 0x8c000152, 0x9c000153,
+ 0x9f000178, 0x83000192, 0xd50001a0, 0xf50001a1, 0xdd0001af, 0xfd0001b0, 0x880002c6, 0x980002dc,
+ 0xcc000300, 0xec000301, 0xde000303, 0xd2000309, 0xf2000323, 0x96002013, 0x97002014, 0x91002018,
+ 0x92002019, 0x8200201a, 0x9300201c, 0x9400201d, 0x8400201e, 0x86002020, 0x87002021, 0x95002022,
+ 0x85002026, 0x89002030, 0x8b002039, 0x9b00203a, 0xfe0020ab, 0x800020ac, 0x99002122, 0x99002122,
+ 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122, 0x99002122,
+ },
+}
+
+// XUserDefined is the X-User-Defined encoding.
+//
+// It is defined at http://encoding.spec.whatwg.org/#x-user-defined
+var XUserDefined *Charmap = &xUserDefined
+
+var xUserDefined = Charmap{
+ name: "X-User-Defined",
+ mib: identifier.XUserDefined,
+ asciiSuperset: true,
+ low: 0x80,
+ replacement: 0x1a,
+ decode: [256]utf8Enc{
+ {1, [3]byte{0x00, 0x00, 0x00}}, {1, [3]byte{0x01, 0x00, 0x00}},
+ {1, [3]byte{0x02, 0x00, 0x00}}, {1, [3]byte{0x03, 0x00, 0x00}},
+ {1, [3]byte{0x04, 0x00, 0x00}}, {1, [3]byte{0x05, 0x00, 0x00}},
+ {1, [3]byte{0x06, 0x00, 0x00}}, {1, [3]byte{0x07, 0x00, 0x00}},
+ {1, [3]byte{0x08, 0x00, 0x00}}, {1, [3]byte{0x09, 0x00, 0x00}},
+ {1, [3]byte{0x0a, 0x00, 0x00}}, {1, [3]byte{0x0b, 0x00, 0x00}},
+ {1, [3]byte{0x0c, 0x00, 0x00}}, {1, [3]byte{0x0d, 0x00, 0x00}},
+ {1, [3]byte{0x0e, 0x00, 0x00}}, {1, [3]byte{0x0f, 0x00, 0x00}},
+ {1, [3]byte{0x10, 0x00, 0x00}}, {1, [3]byte{0x11, 0x00, 0x00}},
+ {1, [3]byte{0x12, 0x00, 0x00}}, {1, [3]byte{0x13, 0x00, 0x00}},
+ {1, [3]byte{0x14, 0x00, 0x00}}, {1, [3]byte{0x15, 0x00, 0x00}},
+ {1, [3]byte{0x16, 0x00, 0x00}}, {1, [3]byte{0x17, 0x00, 0x00}},
+ {1, [3]byte{0x18, 0x00, 0x00}}, {1, [3]byte{0x19, 0x00, 0x00}},
+ {1, [3]byte{0x1a, 0x00, 0x00}}, {1, [3]byte{0x1b, 0x00, 0x00}},
+ {1, [3]byte{0x1c, 0x00, 0x00}}, {1, [3]byte{0x1d, 0x00, 0x00}},
+ {1, [3]byte{0x1e, 0x00, 0x00}}, {1, [3]byte{0x1f, 0x00, 0x00}},
+ {1, [3]byte{0x20, 0x00, 0x00}}, {1, [3]byte{0x21, 0x00, 0x00}},
+ {1, [3]byte{0x22, 0x00, 0x00}}, {1, [3]byte{0x23, 0x00, 0x00}},
+ {1, [3]byte{0x24, 0x00, 0x00}}, {1, [3]byte{0x25, 0x00, 0x00}},
+ {1, [3]byte{0x26, 0x00, 0x00}}, {1, [3]byte{0x27, 0x00, 0x00}},
+ {1, [3]byte{0x28, 0x00, 0x00}}, {1, [3]byte{0x29, 0x00, 0x00}},
+ {1, [3]byte{0x2a, 0x00, 0x00}}, {1, [3]byte{0x2b, 0x00, 0x00}},
+ {1, [3]byte{0x2c, 0x00, 0x00}}, {1, [3]byte{0x2d, 0x00, 0x00}},
+ {1, [3]byte{0x2e, 0x00, 0x00}}, {1, [3]byte{0x2f, 0x00, 0x00}},
+ {1, [3]byte{0x30, 0x00, 0x00}}, {1, [3]byte{0x31, 0x00, 0x00}},
+ {1, [3]byte{0x32, 0x00, 0x00}}, {1, [3]byte{0x33, 0x00, 0x00}},
+ {1, [3]byte{0x34, 0x00, 0x00}}, {1, [3]byte{0x35, 0x00, 0x00}},
+ {1, [3]byte{0x36, 0x00, 0x00}}, {1, [3]byte{0x37, 0x00, 0x00}},
+ {1, [3]byte{0x38, 0x00, 0x00}}, {1, [3]byte{0x39, 0x00, 0x00}},
+ {1, [3]byte{0x3a, 0x00, 0x00}}, {1, [3]byte{0x3b, 0x00, 0x00}},
+ {1, [3]byte{0x3c, 0x00, 0x00}}, {1, [3]byte{0x3d, 0x00, 0x00}},
+ {1, [3]byte{0x3e, 0x00, 0x00}}, {1, [3]byte{0x3f, 0x00, 0x00}},
+ {1, [3]byte{0x40, 0x00, 0x00}}, {1, [3]byte{0x41, 0x00, 0x00}},
+ {1, [3]byte{0x42, 0x00, 0x00}}, {1, [3]byte{0x43, 0x00, 0x00}},
+ {1, [3]byte{0x44, 0x00, 0x00}}, {1, [3]byte{0x45, 0x00, 0x00}},
+ {1, [3]byte{0x46, 0x00, 0x00}}, {1, [3]byte{0x47, 0x00, 0x00}},
+ {1, [3]byte{0x48, 0x00, 0x00}}, {1, [3]byte{0x49, 0x00, 0x00}},
+ {1, [3]byte{0x4a, 0x00, 0x00}}, {1, [3]byte{0x4b, 0x00, 0x00}},
+ {1, [3]byte{0x4c, 0x00, 0x00}}, {1, [3]byte{0x4d, 0x00, 0x00}},
+ {1, [3]byte{0x4e, 0x00, 0x00}}, {1, [3]byte{0x4f, 0x00, 0x00}},
+ {1, [3]byte{0x50, 0x00, 0x00}}, {1, [3]byte{0x51, 0x00, 0x00}},
+ {1, [3]byte{0x52, 0x00, 0x00}}, {1, [3]byte{0x53, 0x00, 0x00}},
+ {1, [3]byte{0x54, 0x00, 0x00}}, {1, [3]byte{0x55, 0x00, 0x00}},
+ {1, [3]byte{0x56, 0x00, 0x00}}, {1, [3]byte{0x57, 0x00, 0x00}},
+ {1, [3]byte{0x58, 0x00, 0x00}}, {1, [3]byte{0x59, 0x00, 0x00}},
+ {1, [3]byte{0x5a, 0x00, 0x00}}, {1, [3]byte{0x5b, 0x00, 0x00}},
+ {1, [3]byte{0x5c, 0x00, 0x00}}, {1, [3]byte{0x5d, 0x00, 0x00}},
+ {1, [3]byte{0x5e, 0x00, 0x00}}, {1, [3]byte{0x5f, 0x00, 0x00}},
+ {1, [3]byte{0x60, 0x00, 0x00}}, {1, [3]byte{0x61, 0x00, 0x00}},
+ {1, [3]byte{0x62, 0x00, 0x00}}, {1, [3]byte{0x63, 0x00, 0x00}},
+ {1, [3]byte{0x64, 0x00, 0x00}}, {1, [3]byte{0x65, 0x00, 0x00}},
+ {1, [3]byte{0x66, 0x00, 0x00}}, {1, [3]byte{0x67, 0x00, 0x00}},
+ {1, [3]byte{0x68, 0x00, 0x00}}, {1, [3]byte{0x69, 0x00, 0x00}},
+ {1, [3]byte{0x6a, 0x00, 0x00}}, {1, [3]byte{0x6b, 0x00, 0x00}},
+ {1, [3]byte{0x6c, 0x00, 0x00}}, {1, [3]byte{0x6d, 0x00, 0x00}},
+ {1, [3]byte{0x6e, 0x00, 0x00}}, {1, [3]byte{0x6f, 0x00, 0x00}},
+ {1, [3]byte{0x70, 0x00, 0x00}}, {1, [3]byte{0x71, 0x00, 0x00}},
+ {1, [3]byte{0x72, 0x00, 0x00}}, {1, [3]byte{0x73, 0x00, 0x00}},
+ {1, [3]byte{0x74, 0x00, 0x00}}, {1, [3]byte{0x75, 0x00, 0x00}},
+ {1, [3]byte{0x76, 0x00, 0x00}}, {1, [3]byte{0x77, 0x00, 0x00}},
+ {1, [3]byte{0x78, 0x00, 0x00}}, {1, [3]byte{0x79, 0x00, 0x00}},
+ {1, [3]byte{0x7a, 0x00, 0x00}}, {1, [3]byte{0x7b, 0x00, 0x00}},
+ {1, [3]byte{0x7c, 0x00, 0x00}}, {1, [3]byte{0x7d, 0x00, 0x00}},
+ {1, [3]byte{0x7e, 0x00, 0x00}}, {1, [3]byte{0x7f, 0x00, 0x00}},
+ {3, [3]byte{0xef, 0x9e, 0x80}}, {3, [3]byte{0xef, 0x9e, 0x81}},
+ {3, [3]byte{0xef, 0x9e, 0x82}}, {3, [3]byte{0xef, 0x9e, 0x83}},
+ {3, [3]byte{0xef, 0x9e, 0x84}}, {3, [3]byte{0xef, 0x9e, 0x85}},
+ {3, [3]byte{0xef, 0x9e, 0x86}}, {3, [3]byte{0xef, 0x9e, 0x87}},
+ {3, [3]byte{0xef, 0x9e, 0x88}}, {3, [3]byte{0xef, 0x9e, 0x89}},
+ {3, [3]byte{0xef, 0x9e, 0x8a}}, {3, [3]byte{0xef, 0x9e, 0x8b}},
+ {3, [3]byte{0xef, 0x9e, 0x8c}}, {3, [3]byte{0xef, 0x9e, 0x8d}},
+ {3, [3]byte{0xef, 0x9e, 0x8e}}, {3, [3]byte{0xef, 0x9e, 0x8f}},
+ {3, [3]byte{0xef, 0x9e, 0x90}}, {3, [3]byte{0xef, 0x9e, 0x91}},
+ {3, [3]byte{0xef, 0x9e, 0x92}}, {3, [3]byte{0xef, 0x9e, 0x93}},
+ {3, [3]byte{0xef, 0x9e, 0x94}}, {3, [3]byte{0xef, 0x9e, 0x95}},
+ {3, [3]byte{0xef, 0x9e, 0x96}}, {3, [3]byte{0xef, 0x9e, 0x97}},
+ {3, [3]byte{0xef, 0x9e, 0x98}}, {3, [3]byte{0xef, 0x9e, 0x99}},
+ {3, [3]byte{0xef, 0x9e, 0x9a}}, {3, [3]byte{0xef, 0x9e, 0x9b}},
+ {3, [3]byte{0xef, 0x9e, 0x9c}}, {3, [3]byte{0xef, 0x9e, 0x9d}},
+ {3, [3]byte{0xef, 0x9e, 0x9e}}, {3, [3]byte{0xef, 0x9e, 0x9f}},
+ {3, [3]byte{0xef, 0x9e, 0xa0}}, {3, [3]byte{0xef, 0x9e, 0xa1}},
+ {3, [3]byte{0xef, 0x9e, 0xa2}}, {3, [3]byte{0xef, 0x9e, 0xa3}},
+ {3, [3]byte{0xef, 0x9e, 0xa4}}, {3, [3]byte{0xef, 0x9e, 0xa5}},
+ {3, [3]byte{0xef, 0x9e, 0xa6}}, {3, [3]byte{0xef, 0x9e, 0xa7}},
+ {3, [3]byte{0xef, 0x9e, 0xa8}}, {3, [3]byte{0xef, 0x9e, 0xa9}},
+ {3, [3]byte{0xef, 0x9e, 0xaa}}, {3, [3]byte{0xef, 0x9e, 0xab}},
+ {3, [3]byte{0xef, 0x9e, 0xac}}, {3, [3]byte{0xef, 0x9e, 0xad}},
+ {3, [3]byte{0xef, 0x9e, 0xae}}, {3, [3]byte{0xef, 0x9e, 0xaf}},
+ {3, [3]byte{0xef, 0x9e, 0xb0}}, {3, [3]byte{0xef, 0x9e, 0xb1}},
+ {3, [3]byte{0xef, 0x9e, 0xb2}}, {3, [3]byte{0xef, 0x9e, 0xb3}},
+ {3, [3]byte{0xef, 0x9e, 0xb4}}, {3, [3]byte{0xef, 0x9e, 0xb5}},
+ {3, [3]byte{0xef, 0x9e, 0xb6}}, {3, [3]byte{0xef, 0x9e, 0xb7}},
+ {3, [3]byte{0xef, 0x9e, 0xb8}}, {3, [3]byte{0xef, 0x9e, 0xb9}},
+ {3, [3]byte{0xef, 0x9e, 0xba}}, {3, [3]byte{0xef, 0x9e, 0xbb}},
+ {3, [3]byte{0xef, 0x9e, 0xbc}}, {3, [3]byte{0xef, 0x9e, 0xbd}},
+ {3, [3]byte{0xef, 0x9e, 0xbe}}, {3, [3]byte{0xef, 0x9e, 0xbf}},
+ {3, [3]byte{0xef, 0x9f, 0x80}}, {3, [3]byte{0xef, 0x9f, 0x81}},
+ {3, [3]byte{0xef, 0x9f, 0x82}}, {3, [3]byte{0xef, 0x9f, 0x83}},
+ {3, [3]byte{0xef, 0x9f, 0x84}}, {3, [3]byte{0xef, 0x9f, 0x85}},
+ {3, [3]byte{0xef, 0x9f, 0x86}}, {3, [3]byte{0xef, 0x9f, 0x87}},
+ {3, [3]byte{0xef, 0x9f, 0x88}}, {3, [3]byte{0xef, 0x9f, 0x89}},
+ {3, [3]byte{0xef, 0x9f, 0x8a}}, {3, [3]byte{0xef, 0x9f, 0x8b}},
+ {3, [3]byte{0xef, 0x9f, 0x8c}}, {3, [3]byte{0xef, 0x9f, 0x8d}},
+ {3, [3]byte{0xef, 0x9f, 0x8e}}, {3, [3]byte{0xef, 0x9f, 0x8f}},
+ {3, [3]byte{0xef, 0x9f, 0x90}}, {3, [3]byte{0xef, 0x9f, 0x91}},
+ {3, [3]byte{0xef, 0x9f, 0x92}}, {3, [3]byte{0xef, 0x9f, 0x93}},
+ {3, [3]byte{0xef, 0x9f, 0x94}}, {3, [3]byte{0xef, 0x9f, 0x95}},
+ {3, [3]byte{0xef, 0x9f, 0x96}}, {3, [3]byte{0xef, 0x9f, 0x97}},
+ {3, [3]byte{0xef, 0x9f, 0x98}}, {3, [3]byte{0xef, 0x9f, 0x99}},
+ {3, [3]byte{0xef, 0x9f, 0x9a}}, {3, [3]byte{0xef, 0x9f, 0x9b}},
+ {3, [3]byte{0xef, 0x9f, 0x9c}}, {3, [3]byte{0xef, 0x9f, 0x9d}},
+ {3, [3]byte{0xef, 0x9f, 0x9e}}, {3, [3]byte{0xef, 0x9f, 0x9f}},
+ {3, [3]byte{0xef, 0x9f, 0xa0}}, {3, [3]byte{0xef, 0x9f, 0xa1}},
+ {3, [3]byte{0xef, 0x9f, 0xa2}}, {3, [3]byte{0xef, 0x9f, 0xa3}},
+ {3, [3]byte{0xef, 0x9f, 0xa4}}, {3, [3]byte{0xef, 0x9f, 0xa5}},
+ {3, [3]byte{0xef, 0x9f, 0xa6}}, {3, [3]byte{0xef, 0x9f, 0xa7}},
+ {3, [3]byte{0xef, 0x9f, 0xa8}}, {3, [3]byte{0xef, 0x9f, 0xa9}},
+ {3, [3]byte{0xef, 0x9f, 0xaa}}, {3, [3]byte{0xef, 0x9f, 0xab}},
+ {3, [3]byte{0xef, 0x9f, 0xac}}, {3, [3]byte{0xef, 0x9f, 0xad}},
+ {3, [3]byte{0xef, 0x9f, 0xae}}, {3, [3]byte{0xef, 0x9f, 0xaf}},
+ {3, [3]byte{0xef, 0x9f, 0xb0}}, {3, [3]byte{0xef, 0x9f, 0xb1}},
+ {3, [3]byte{0xef, 0x9f, 0xb2}}, {3, [3]byte{0xef, 0x9f, 0xb3}},
+ {3, [3]byte{0xef, 0x9f, 0xb4}}, {3, [3]byte{0xef, 0x9f, 0xb5}},
+ {3, [3]byte{0xef, 0x9f, 0xb6}}, {3, [3]byte{0xef, 0x9f, 0xb7}},
+ {3, [3]byte{0xef, 0x9f, 0xb8}}, {3, [3]byte{0xef, 0x9f, 0xb9}},
+ {3, [3]byte{0xef, 0x9f, 0xba}}, {3, [3]byte{0xef, 0x9f, 0xbb}},
+ {3, [3]byte{0xef, 0x9f, 0xbc}}, {3, [3]byte{0xef, 0x9f, 0xbd}},
+ {3, [3]byte{0xef, 0x9f, 0xbe}}, {3, [3]byte{0xef, 0x9f, 0xbf}},
+ },
+ encode: [256]uint32{
+ 0x00000000, 0x01000001, 0x02000002, 0x03000003, 0x04000004, 0x05000005, 0x06000006, 0x07000007,
+ 0x08000008, 0x09000009, 0x0a00000a, 0x0b00000b, 0x0c00000c, 0x0d00000d, 0x0e00000e, 0x0f00000f,
+ 0x10000010, 0x11000011, 0x12000012, 0x13000013, 0x14000014, 0x15000015, 0x16000016, 0x17000017,
+ 0x18000018, 0x19000019, 0x1a00001a, 0x1b00001b, 0x1c00001c, 0x1d00001d, 0x1e00001e, 0x1f00001f,
+ 0x20000020, 0x21000021, 0x22000022, 0x23000023, 0x24000024, 0x25000025, 0x26000026, 0x27000027,
+ 0x28000028, 0x29000029, 0x2a00002a, 0x2b00002b, 0x2c00002c, 0x2d00002d, 0x2e00002e, 0x2f00002f,
+ 0x30000030, 0x31000031, 0x32000032, 0x33000033, 0x34000034, 0x35000035, 0x36000036, 0x37000037,
+ 0x38000038, 0x39000039, 0x3a00003a, 0x3b00003b, 0x3c00003c, 0x3d00003d, 0x3e00003e, 0x3f00003f,
+ 0x40000040, 0x41000041, 0x42000042, 0x43000043, 0x44000044, 0x45000045, 0x46000046, 0x47000047,
+ 0x48000048, 0x49000049, 0x4a00004a, 0x4b00004b, 0x4c00004c, 0x4d00004d, 0x4e00004e, 0x4f00004f,
+ 0x50000050, 0x51000051, 0x52000052, 0x53000053, 0x54000054, 0x55000055, 0x56000056, 0x57000057,
+ 0x58000058, 0x59000059, 0x5a00005a, 0x5b00005b, 0x5c00005c, 0x5d00005d, 0x5e00005e, 0x5f00005f,
+ 0x60000060, 0x61000061, 0x62000062, 0x63000063, 0x64000064, 0x65000065, 0x66000066, 0x67000067,
+ 0x68000068, 0x69000069, 0x6a00006a, 0x6b00006b, 0x6c00006c, 0x6d00006d, 0x6e00006e, 0x6f00006f,
+ 0x70000070, 0x71000071, 0x72000072, 0x73000073, 0x74000074, 0x75000075, 0x76000076, 0x77000077,
+ 0x78000078, 0x79000079, 0x7a00007a, 0x7b00007b, 0x7c00007c, 0x7d00007d, 0x7e00007e, 0x7f00007f,
+ 0x8000f780, 0x8100f781, 0x8200f782, 0x8300f783, 0x8400f784, 0x8500f785, 0x8600f786, 0x8700f787,
+ 0x8800f788, 0x8900f789, 0x8a00f78a, 0x8b00f78b, 0x8c00f78c, 0x8d00f78d, 0x8e00f78e, 0x8f00f78f,
+ 0x9000f790, 0x9100f791, 0x9200f792, 0x9300f793, 0x9400f794, 0x9500f795, 0x9600f796, 0x9700f797,
+ 0x9800f798, 0x9900f799, 0x9a00f79a, 0x9b00f79b, 0x9c00f79c, 0x9d00f79d, 0x9e00f79e, 0x9f00f79f,
+ 0xa000f7a0, 0xa100f7a1, 0xa200f7a2, 0xa300f7a3, 0xa400f7a4, 0xa500f7a5, 0xa600f7a6, 0xa700f7a7,
+ 0xa800f7a8, 0xa900f7a9, 0xaa00f7aa, 0xab00f7ab, 0xac00f7ac, 0xad00f7ad, 0xae00f7ae, 0xaf00f7af,
+ 0xb000f7b0, 0xb100f7b1, 0xb200f7b2, 0xb300f7b3, 0xb400f7b4, 0xb500f7b5, 0xb600f7b6, 0xb700f7b7,
+ 0xb800f7b8, 0xb900f7b9, 0xba00f7ba, 0xbb00f7bb, 0xbc00f7bc, 0xbd00f7bd, 0xbe00f7be, 0xbf00f7bf,
+ 0xc000f7c0, 0xc100f7c1, 0xc200f7c2, 0xc300f7c3, 0xc400f7c4, 0xc500f7c5, 0xc600f7c6, 0xc700f7c7,
+ 0xc800f7c8, 0xc900f7c9, 0xca00f7ca, 0xcb00f7cb, 0xcc00f7cc, 0xcd00f7cd, 0xce00f7ce, 0xcf00f7cf,
+ 0xd000f7d0, 0xd100f7d1, 0xd200f7d2, 0xd300f7d3, 0xd400f7d4, 0xd500f7d5, 0xd600f7d6, 0xd700f7d7,
+ 0xd800f7d8, 0xd900f7d9, 0xda00f7da, 0xdb00f7db, 0xdc00f7dc, 0xdd00f7dd, 0xde00f7de, 0xdf00f7df,
+ 0xe000f7e0, 0xe100f7e1, 0xe200f7e2, 0xe300f7e3, 0xe400f7e4, 0xe500f7e5, 0xe600f7e6, 0xe700f7e7,
+ 0xe800f7e8, 0xe900f7e9, 0xea00f7ea, 0xeb00f7eb, 0xec00f7ec, 0xed00f7ed, 0xee00f7ee, 0xef00f7ef,
+ 0xf000f7f0, 0xf100f7f1, 0xf200f7f2, 0xf300f7f3, 0xf400f7f4, 0xf500f7f5, 0xf600f7f6, 0xf700f7f7,
+ 0xf800f7f8, 0xf900f7f9, 0xfa00f7fa, 0xfb00f7fb, 0xfc00f7fc, 0xfd00f7fd, 0xfe00f7fe, 0xff00f7ff,
+ },
+}
+var listAll = []encoding.Encoding{
+ CodePage037,
+ CodePage437,
+ CodePage850,
+ CodePage852,
+ CodePage855,
+ CodePage858,
+ CodePage860,
+ CodePage862,
+ CodePage863,
+ CodePage865,
+ CodePage866,
+ CodePage1047,
+ CodePage1140,
+ ISO8859_1,
+ ISO8859_2,
+ ISO8859_3,
+ ISO8859_4,
+ ISO8859_5,
+ ISO8859_6,
+ ISO8859_6E,
+ ISO8859_6I,
+ ISO8859_7,
+ ISO8859_8,
+ ISO8859_8E,
+ ISO8859_8I,
+ ISO8859_9,
+ ISO8859_10,
+ ISO8859_13,
+ ISO8859_14,
+ ISO8859_15,
+ ISO8859_16,
+ KOI8R,
+ KOI8U,
+ Macintosh,
+ MacintoshCyrillic,
+ Windows874,
+ Windows1250,
+ Windows1251,
+ Windows1252,
+ Windows1253,
+ Windows1254,
+ Windows1255,
+ Windows1256,
+ Windows1257,
+ Windows1258,
+ XUserDefined,
+}
+
+// Total table size 87024 bytes (84KiB); checksum: 811C9DC5
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go
new file mode 100644
index 00000000..70f2ac4b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go
@@ -0,0 +1,86 @@
+// 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
+
+// Package htmlindex maps character set encoding names to Encodings as
+// recommended by the W3C for use in HTML 5. See http://www.w3.org/TR/encoding.
+package htmlindex
+
+// TODO: perhaps have a "bare" version of the index (used by this package) that
+// is not pre-loaded with all encodings. Global variables in encodings prevent
+// the linker from being able to purge unneeded tables. This means that
+// referencing all encodings, as this package does for the default index, links
+// in all encodings unconditionally.
+//
+// This issue can be solved by either solving the linking issue (see
+// https://github.com/golang/go/issues/6330) or refactoring the encoding tables
+// (e.g. moving the tables to internal packages that do not use global
+// variables).
+
+// TODO: allow canonicalizing names
+
+import (
+ "errors"
+ "strings"
+ "sync"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/language"
+)
+
+var (
+ errInvalidName = errors.New("htmlindex: invalid encoding name")
+ errUnknown = errors.New("htmlindex: unknown Encoding")
+ errUnsupported = errors.New("htmlindex: this encoding is not supported")
+)
+
+var (
+ matcherOnce sync.Once
+ matcher language.Matcher
+)
+
+// LanguageDefault returns the canonical name of the default encoding for a
+// given language.
+func LanguageDefault(tag language.Tag) string {
+ matcherOnce.Do(func() {
+ tags := []language.Tag{}
+ for _, t := range strings.Split(locales, " ") {
+ tags = append(tags, language.MustParse(t))
+ }
+ matcher = language.NewMatcher(tags)
+ })
+ _, i, _ := matcher.Match(tag)
+ return canonical[localeMap[i]] // Default is Windows-1252.
+}
+
+// Get returns an Encoding for one of the names listed in
+// http://www.w3.org/TR/encoding using the Default Index. Matching is case-
+// insensitive.
+func Get(name string) (encoding.Encoding, error) {
+ x, ok := nameMap[strings.ToLower(strings.TrimSpace(name))]
+ if !ok {
+ return nil, errInvalidName
+ }
+ return encodings[x], nil
+}
+
+// Name reports the canonical name of the given Encoding. It will return
+// an error if e is not associated with a supported encoding scheme.
+func Name(e encoding.Encoding) (string, error) {
+ id, ok := e.(identifier.Interface)
+ if !ok {
+ return "", errUnknown
+ }
+ mib, _ := id.ID()
+ if mib == 0 {
+ return "", errUnknown
+ }
+ v, ok := mibMap[mib]
+ if !ok {
+ return "", errUnsupported
+ }
+ return canonical[v], nil
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/map.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/map.go
new file mode 100644
index 00000000..c6143904
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/map.go
@@ -0,0 +1,105 @@
+// 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 htmlindex
+
+import (
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/charmap"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/encoding/japanese"
+ "golang.org/x/text/encoding/korean"
+ "golang.org/x/text/encoding/simplifiedchinese"
+ "golang.org/x/text/encoding/traditionalchinese"
+ "golang.org/x/text/encoding/unicode"
+)
+
+// mibMap maps a MIB identifier to an htmlEncoding index.
+var mibMap = map[identifier.MIB]htmlEncoding{
+ identifier.UTF8: utf8,
+ identifier.UTF16BE: utf16be,
+ identifier.UTF16LE: utf16le,
+ identifier.IBM866: ibm866,
+ identifier.ISOLatin2: iso8859_2,
+ identifier.ISOLatin3: iso8859_3,
+ identifier.ISOLatin4: iso8859_4,
+ identifier.ISOLatinCyrillic: iso8859_5,
+ identifier.ISOLatinArabic: iso8859_6,
+ identifier.ISOLatinGreek: iso8859_7,
+ identifier.ISOLatinHebrew: iso8859_8,
+ identifier.ISO88598I: iso8859_8I,
+ identifier.ISOLatin6: iso8859_10,
+ identifier.ISO885913: iso8859_13,
+ identifier.ISO885914: iso8859_14,
+ identifier.ISO885915: iso8859_15,
+ identifier.ISO885916: iso8859_16,
+ identifier.KOI8R: koi8r,
+ identifier.KOI8U: koi8u,
+ identifier.Macintosh: macintosh,
+ identifier.MacintoshCyrillic: macintoshCyrillic,
+ identifier.Windows874: windows874,
+ identifier.Windows1250: windows1250,
+ identifier.Windows1251: windows1251,
+ identifier.Windows1252: windows1252,
+ identifier.Windows1253: windows1253,
+ identifier.Windows1254: windows1254,
+ identifier.Windows1255: windows1255,
+ identifier.Windows1256: windows1256,
+ identifier.Windows1257: windows1257,
+ identifier.Windows1258: windows1258,
+ identifier.XUserDefined: xUserDefined,
+ identifier.GBK: gbk,
+ identifier.GB18030: gb18030,
+ identifier.Big5: big5,
+ identifier.EUCPkdFmtJapanese: eucjp,
+ identifier.ISO2022JP: iso2022jp,
+ identifier.ShiftJIS: shiftJIS,
+ identifier.EUCKR: euckr,
+ identifier.Replacement: replacement,
+}
+
+// encodings maps the internal htmlEncoding to an Encoding.
+// TODO: consider using a reusable index in encoding/internal.
+var encodings = [numEncodings]encoding.Encoding{
+ utf8: unicode.UTF8,
+ ibm866: charmap.CodePage866,
+ iso8859_2: charmap.ISO8859_2,
+ iso8859_3: charmap.ISO8859_3,
+ iso8859_4: charmap.ISO8859_4,
+ iso8859_5: charmap.ISO8859_5,
+ iso8859_6: charmap.ISO8859_6,
+ iso8859_7: charmap.ISO8859_7,
+ iso8859_8: charmap.ISO8859_8,
+ iso8859_8I: charmap.ISO8859_8I,
+ iso8859_10: charmap.ISO8859_10,
+ iso8859_13: charmap.ISO8859_13,
+ iso8859_14: charmap.ISO8859_14,
+ iso8859_15: charmap.ISO8859_15,
+ iso8859_16: charmap.ISO8859_16,
+ koi8r: charmap.KOI8R,
+ koi8u: charmap.KOI8U,
+ macintosh: charmap.Macintosh,
+ windows874: charmap.Windows874,
+ windows1250: charmap.Windows1250,
+ windows1251: charmap.Windows1251,
+ windows1252: charmap.Windows1252,
+ windows1253: charmap.Windows1253,
+ windows1254: charmap.Windows1254,
+ windows1255: charmap.Windows1255,
+ windows1256: charmap.Windows1256,
+ windows1257: charmap.Windows1257,
+ windows1258: charmap.Windows1258,
+ macintoshCyrillic: charmap.MacintoshCyrillic,
+ gbk: simplifiedchinese.GBK,
+ gb18030: simplifiedchinese.GB18030,
+ big5: traditionalchinese.Big5,
+ eucjp: japanese.EUCJP,
+ iso2022jp: japanese.ISO2022JP,
+ shiftJIS: japanese.ShiftJIS,
+ euckr: korean.EUCKR,
+ replacement: encoding.Replacement,
+ utf16be: unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM),
+ utf16le: unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM),
+ xUserDefined: charmap.XUserDefined,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/tables.go
new file mode 100644
index 00000000..9d6b4315
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/htmlindex/tables.go
@@ -0,0 +1,352 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package htmlindex
+
+type htmlEncoding byte
+
+const (
+ utf8 htmlEncoding = iota
+ ibm866
+ iso8859_2
+ iso8859_3
+ iso8859_4
+ iso8859_5
+ iso8859_6
+ iso8859_7
+ iso8859_8
+ iso8859_8I
+ iso8859_10
+ iso8859_13
+ iso8859_14
+ iso8859_15
+ iso8859_16
+ koi8r
+ koi8u
+ macintosh
+ windows874
+ windows1250
+ windows1251
+ windows1252
+ windows1253
+ windows1254
+ windows1255
+ windows1256
+ windows1257
+ windows1258
+ macintoshCyrillic
+ gbk
+ gb18030
+ big5
+ eucjp
+ iso2022jp
+ shiftJIS
+ euckr
+ replacement
+ utf16be
+ utf16le
+ xUserDefined
+ numEncodings
+)
+
+var canonical = [numEncodings]string{
+ "utf-8",
+ "ibm866",
+ "iso-8859-2",
+ "iso-8859-3",
+ "iso-8859-4",
+ "iso-8859-5",
+ "iso-8859-6",
+ "iso-8859-7",
+ "iso-8859-8",
+ "iso-8859-8-i",
+ "iso-8859-10",
+ "iso-8859-13",
+ "iso-8859-14",
+ "iso-8859-15",
+ "iso-8859-16",
+ "koi8-r",
+ "koi8-u",
+ "macintosh",
+ "windows-874",
+ "windows-1250",
+ "windows-1251",
+ "windows-1252",
+ "windows-1253",
+ "windows-1254",
+ "windows-1255",
+ "windows-1256",
+ "windows-1257",
+ "windows-1258",
+ "x-mac-cyrillic",
+ "gbk",
+ "gb18030",
+ "big5",
+ "euc-jp",
+ "iso-2022-jp",
+ "shift_jis",
+ "euc-kr",
+ "replacement",
+ "utf-16be",
+ "utf-16le",
+ "x-user-defined",
+}
+
+var nameMap = map[string]htmlEncoding{
+ "unicode-1-1-utf-8": utf8,
+ "utf-8": utf8,
+ "utf8": utf8,
+ "866": ibm866,
+ "cp866": ibm866,
+ "csibm866": ibm866,
+ "ibm866": ibm866,
+ "csisolatin2": iso8859_2,
+ "iso-8859-2": iso8859_2,
+ "iso-ir-101": iso8859_2,
+ "iso8859-2": iso8859_2,
+ "iso88592": iso8859_2,
+ "iso_8859-2": iso8859_2,
+ "iso_8859-2:1987": iso8859_2,
+ "l2": iso8859_2,
+ "latin2": iso8859_2,
+ "csisolatin3": iso8859_3,
+ "iso-8859-3": iso8859_3,
+ "iso-ir-109": iso8859_3,
+ "iso8859-3": iso8859_3,
+ "iso88593": iso8859_3,
+ "iso_8859-3": iso8859_3,
+ "iso_8859-3:1988": iso8859_3,
+ "l3": iso8859_3,
+ "latin3": iso8859_3,
+ "csisolatin4": iso8859_4,
+ "iso-8859-4": iso8859_4,
+ "iso-ir-110": iso8859_4,
+ "iso8859-4": iso8859_4,
+ "iso88594": iso8859_4,
+ "iso_8859-4": iso8859_4,
+ "iso_8859-4:1988": iso8859_4,
+ "l4": iso8859_4,
+ "latin4": iso8859_4,
+ "csisolatincyrillic": iso8859_5,
+ "cyrillic": iso8859_5,
+ "iso-8859-5": iso8859_5,
+ "iso-ir-144": iso8859_5,
+ "iso8859-5": iso8859_5,
+ "iso88595": iso8859_5,
+ "iso_8859-5": iso8859_5,
+ "iso_8859-5:1988": iso8859_5,
+ "arabic": iso8859_6,
+ "asmo-708": iso8859_6,
+ "csiso88596e": iso8859_6,
+ "csiso88596i": iso8859_6,
+ "csisolatinarabic": iso8859_6,
+ "ecma-114": iso8859_6,
+ "iso-8859-6": iso8859_6,
+ "iso-8859-6-e": iso8859_6,
+ "iso-8859-6-i": iso8859_6,
+ "iso-ir-127": iso8859_6,
+ "iso8859-6": iso8859_6,
+ "iso88596": iso8859_6,
+ "iso_8859-6": iso8859_6,
+ "iso_8859-6:1987": iso8859_6,
+ "csisolatingreek": iso8859_7,
+ "ecma-118": iso8859_7,
+ "elot_928": iso8859_7,
+ "greek": iso8859_7,
+ "greek8": iso8859_7,
+ "iso-8859-7": iso8859_7,
+ "iso-ir-126": iso8859_7,
+ "iso8859-7": iso8859_7,
+ "iso88597": iso8859_7,
+ "iso_8859-7": iso8859_7,
+ "iso_8859-7:1987": iso8859_7,
+ "sun_eu_greek": iso8859_7,
+ "csiso88598e": iso8859_8,
+ "csisolatinhebrew": iso8859_8,
+ "hebrew": iso8859_8,
+ "iso-8859-8": iso8859_8,
+ "iso-8859-8-e": iso8859_8,
+ "iso-ir-138": iso8859_8,
+ "iso8859-8": iso8859_8,
+ "iso88598": iso8859_8,
+ "iso_8859-8": iso8859_8,
+ "iso_8859-8:1988": iso8859_8,
+ "visual": iso8859_8,
+ "csiso88598i": iso8859_8I,
+ "iso-8859-8-i": iso8859_8I,
+ "logical": iso8859_8I,
+ "csisolatin6": iso8859_10,
+ "iso-8859-10": iso8859_10,
+ "iso-ir-157": iso8859_10,
+ "iso8859-10": iso8859_10,
+ "iso885910": iso8859_10,
+ "l6": iso8859_10,
+ "latin6": iso8859_10,
+ "iso-8859-13": iso8859_13,
+ "iso8859-13": iso8859_13,
+ "iso885913": iso8859_13,
+ "iso-8859-14": iso8859_14,
+ "iso8859-14": iso8859_14,
+ "iso885914": iso8859_14,
+ "csisolatin9": iso8859_15,
+ "iso-8859-15": iso8859_15,
+ "iso8859-15": iso8859_15,
+ "iso885915": iso8859_15,
+ "iso_8859-15": iso8859_15,
+ "l9": iso8859_15,
+ "iso-8859-16": iso8859_16,
+ "cskoi8r": koi8r,
+ "koi": koi8r,
+ "koi8": koi8r,
+ "koi8-r": koi8r,
+ "koi8_r": koi8r,
+ "koi8-ru": koi8u,
+ "koi8-u": koi8u,
+ "csmacintosh": macintosh,
+ "mac": macintosh,
+ "macintosh": macintosh,
+ "x-mac-roman": macintosh,
+ "dos-874": windows874,
+ "iso-8859-11": windows874,
+ "iso8859-11": windows874,
+ "iso885911": windows874,
+ "tis-620": windows874,
+ "windows-874": windows874,
+ "cp1250": windows1250,
+ "windows-1250": windows1250,
+ "x-cp1250": windows1250,
+ "cp1251": windows1251,
+ "windows-1251": windows1251,
+ "x-cp1251": windows1251,
+ "ansi_x3.4-1968": windows1252,
+ "ascii": windows1252,
+ "cp1252": windows1252,
+ "cp819": windows1252,
+ "csisolatin1": windows1252,
+ "ibm819": windows1252,
+ "iso-8859-1": windows1252,
+ "iso-ir-100": windows1252,
+ "iso8859-1": windows1252,
+ "iso88591": windows1252,
+ "iso_8859-1": windows1252,
+ "iso_8859-1:1987": windows1252,
+ "l1": windows1252,
+ "latin1": windows1252,
+ "us-ascii": windows1252,
+ "windows-1252": windows1252,
+ "x-cp1252": windows1252,
+ "cp1253": windows1253,
+ "windows-1253": windows1253,
+ "x-cp1253": windows1253,
+ "cp1254": windows1254,
+ "csisolatin5": windows1254,
+ "iso-8859-9": windows1254,
+ "iso-ir-148": windows1254,
+ "iso8859-9": windows1254,
+ "iso88599": windows1254,
+ "iso_8859-9": windows1254,
+ "iso_8859-9:1989": windows1254,
+ "l5": windows1254,
+ "latin5": windows1254,
+ "windows-1254": windows1254,
+ "x-cp1254": windows1254,
+ "cp1255": windows1255,
+ "windows-1255": windows1255,
+ "x-cp1255": windows1255,
+ "cp1256": windows1256,
+ "windows-1256": windows1256,
+ "x-cp1256": windows1256,
+ "cp1257": windows1257,
+ "windows-1257": windows1257,
+ "x-cp1257": windows1257,
+ "cp1258": windows1258,
+ "windows-1258": windows1258,
+ "x-cp1258": windows1258,
+ "x-mac-cyrillic": macintoshCyrillic,
+ "x-mac-ukrainian": macintoshCyrillic,
+ "chinese": gbk,
+ "csgb2312": gbk,
+ "csiso58gb231280": gbk,
+ "gb2312": gbk,
+ "gb_2312": gbk,
+ "gb_2312-80": gbk,
+ "gbk": gbk,
+ "iso-ir-58": gbk,
+ "x-gbk": gbk,
+ "gb18030": gb18030,
+ "big5": big5,
+ "big5-hkscs": big5,
+ "cn-big5": big5,
+ "csbig5": big5,
+ "x-x-big5": big5,
+ "cseucpkdfmtjapanese": eucjp,
+ "euc-jp": eucjp,
+ "x-euc-jp": eucjp,
+ "csiso2022jp": iso2022jp,
+ "iso-2022-jp": iso2022jp,
+ "csshiftjis": shiftJIS,
+ "ms932": shiftJIS,
+ "ms_kanji": shiftJIS,
+ "shift-jis": shiftJIS,
+ "shift_jis": shiftJIS,
+ "sjis": shiftJIS,
+ "windows-31j": shiftJIS,
+ "x-sjis": shiftJIS,
+ "cseuckr": euckr,
+ "csksc56011987": euckr,
+ "euc-kr": euckr,
+ "iso-ir-149": euckr,
+ "korean": euckr,
+ "ks_c_5601-1987": euckr,
+ "ks_c_5601-1989": euckr,
+ "ksc5601": euckr,
+ "ksc_5601": euckr,
+ "windows-949": euckr,
+ "csiso2022kr": replacement,
+ "hz-gb-2312": replacement,
+ "iso-2022-cn": replacement,
+ "iso-2022-cn-ext": replacement,
+ "iso-2022-kr": replacement,
+ "utf-16be": utf16be,
+ "utf-16": utf16le,
+ "utf-16le": utf16le,
+ "x-user-defined": xUserDefined,
+}
+
+var localeMap = []htmlEncoding{
+ windows1252, // und_Latn
+ windows1256, // ar
+ windows1251, // ba
+ windows1251, // be
+ windows1251, // bg
+ windows1250, // cs
+ iso8859_7, // el
+ windows1257, // et
+ windows1256, // fa
+ windows1255, // he
+ windows1250, // hr
+ iso8859_2, // hu
+ shiftJIS, // ja
+ windows1251, // kk
+ euckr, // ko
+ windows1254, // ku
+ windows1251, // ky
+ windows1257, // lt
+ windows1257, // lv
+ windows1251, // mk
+ iso8859_2, // pl
+ windows1251, // ru
+ windows1251, // sah
+ windows1250, // sk
+ iso8859_2, // sl
+ windows1251, // sr
+ windows1251, // tg
+ windows874, // th
+ windows1254, // tr
+ windows1251, // tt
+ windows1251, // uk
+ windows1258, // vi
+ gb18030, // zh-hans
+ big5, // zh-hant
+}
+
+const locales = "und_Latn ar ba be bg cs el et fa he hr hu ja kk ko ku ky lt lv mk pl ru sah sk sl sr tg th tr tt uk vi zh-hans zh-hant"
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/gen.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/gen.go
deleted file mode 100644
index 0c8eba7e..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/gen.go
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright 2015 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build ignore
-
-package main
-
-import (
- "bytes"
- "encoding/xml"
- "fmt"
- "io"
- "log"
- "strings"
-
- "golang.org/x/text/internal/gen"
-)
-
-type registry struct {
- XMLName xml.Name `xml:"registry"`
- Updated string `xml:"updated"`
- Registry []struct {
- ID string `xml:"id,attr"`
- Record []struct {
- Name string `xml:"name"`
- Xref []struct {
- Type string `xml:"type,attr"`
- Data string `xml:"data,attr"`
- } `xml:"xref"`
- Desc struct {
- Data string `xml:",innerxml"`
- // Any []struct {
- // Data string `xml:",chardata"`
- // } `xml:",any"`
- // Data string `xml:",chardata"`
- } `xml:"description,"`
- MIB string `xml:"value"`
- Alias []string `xml:"alias"`
- MIME string `xml:"preferred_alias"`
- } `xml:"record"`
- } `xml:"registry"`
-}
-
-func main() {
- r := gen.OpenIANAFile("assignments/character-sets/character-sets.xml")
- reg := &registry{}
- if err := xml.NewDecoder(r).Decode(&reg); err != nil && err != io.EOF {
- log.Fatalf("Error decoding charset registry: %v", err)
- }
- if len(reg.Registry) == 0 || reg.Registry[0].ID != "character-sets-1" {
- log.Fatalf("Unexpected ID %s", reg.Registry[0].ID)
- }
-
- w := &bytes.Buffer{}
- fmt.Fprintf(w, "const (\n")
- for _, rec := range reg.Registry[0].Record {
- constName := ""
- for _, a := range rec.Alias {
- if strings.HasPrefix(a, "cs") && strings.IndexByte(a, '-') == -1 {
- // Some of the constant definitions have comments in them. Strip those.
- constName = strings.Title(strings.SplitN(a[2:], "\n", 2)[0])
- }
- }
- if constName == "" {
- switch rec.MIB {
- case "2085":
- constName = "HZGB2312" // Not listed as alias for some reason.
- default:
- log.Fatalf("No cs alias defined for %s.", rec.MIB)
- }
- }
- if rec.MIME != "" {
- rec.MIME = fmt.Sprintf(" (MIME: %s)", rec.MIME)
- }
- fmt.Fprintf(w, "// %s is the MIB identifier with IANA name %s%s.\n//\n", constName, rec.Name, rec.MIME)
- if len(rec.Desc.Data) > 0 {
- fmt.Fprint(w, "// ")
- d := xml.NewDecoder(strings.NewReader(rec.Desc.Data))
- inElem := true
- attr := ""
- for {
- t, err := d.Token()
- if err != nil {
- if err != io.EOF {
- log.Fatal(err)
- }
- break
- }
- switch x := t.(type) {
- case xml.CharData:
- attr = "" // Don't need attribute info.
- a := bytes.Split([]byte(x), []byte("\n"))
- for i, b := range a {
- if b = bytes.TrimSpace(b); len(b) != 0 {
- if !inElem && i > 0 {
- fmt.Fprint(w, "\n// ")
- }
- inElem = false
- fmt.Fprintf(w, "%s ", string(b))
- }
- }
- case xml.StartElement:
- if x.Name.Local == "xref" {
- inElem = true
- use := false
- for _, a := range x.Attr {
- if a.Name.Local == "type" {
- use = use || a.Value != "person"
- }
- if a.Name.Local == "data" && use {
- attr = a.Value + " "
- }
- }
- }
- case xml.EndElement:
- inElem = false
- fmt.Fprint(w, attr)
- }
- }
- fmt.Fprint(w, "\n")
- }
- for _, x := range rec.Xref {
- switch x.Type {
- case "rfc":
- fmt.Fprintf(w, "// Reference: %s\n", strings.ToUpper(x.Data))
- case "uri":
- fmt.Fprintf(w, "// Reference: %s\n", x.Data)
- }
- }
- fmt.Fprintf(w, "%s MIB = %s\n", constName, rec.MIB)
- fmt.Fprintln(w)
- }
- fmt.Fprintln(w, ")")
-
- gen.WriteGoFile("mib.go", "identifier", w.Bytes())
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
index 2a2da0ef..7351b4ef 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go
@@ -36,8 +36,8 @@ package identifier
// - http://www.ietf.org/rfc/rfc2978.txt
// - http://www.unicode.org/reports/tr22/
// - http://www.w3.org/TR/encoding/
-// - http://www.w3.org/TR/encoding/indexes/encodings.json
// - https://encoding.spec.whatwg.org/
+// - https://encoding.spec.whatwg.org/encodings.json
// - https://tools.ietf.org/html/rfc6657#section-5
// Interface can be implemented by Encodings to define the CCS or CES for which
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/mib.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
index 915abfa2..768842b0 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/internal/identifier/mib.go
@@ -1,4 +1,4 @@
-// This file was generated by go generate; DO NOT EDIT
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
package identifier
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/all.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/all.go
new file mode 100644
index 00000000..6cfa8de4
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/all.go
@@ -0,0 +1,12 @@
+// 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 japanese
+
+import (
+ "golang.org/x/text/encoding"
+)
+
+// All is a list of all defined encodings in this package.
+var All = []encoding.Encoding{EUCJP, ISO2022JP, ShiftJIS}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/eucjp.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/eucjp.go
new file mode 100644
index 00000000..79313fa5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/eucjp.go
@@ -0,0 +1,225 @@
+// 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 japanese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// EUCJP is the EUC-JP encoding.
+var EUCJP encoding.Encoding = &eucJP
+
+var eucJP = internal.Encoding{
+ &internal.SimpleEncoding{eucJPDecoder{}, eucJPEncoder{}},
+ "EUC-JP",
+ identifier.EUCPkdFmtJapanese,
+}
+
+type eucJPDecoder struct{ transform.NopResetter }
+
+// See https://encoding.spec.whatwg.org/#euc-jp-decoder.
+func (eucJPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ switch c0 := src[nSrc]; {
+ case c0 < utf8.RuneSelf:
+ r, size = rune(c0), 1
+
+ case c0 == 0x8e:
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
+ }
+ c1 := src[nSrc+1]
+ switch {
+ case c1 < 0xa1:
+ r, size = utf8.RuneError, 1
+ case c1 > 0xdf:
+ r, size = utf8.RuneError, 2
+ if c1 == 0xff {
+ size = 1
+ }
+ default:
+ r, size = rune(c1)+(0xff61-0xa1), 2
+ }
+ case c0 == 0x8f:
+ if nSrc+2 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ if p := nSrc + 1; p < len(src) && 0xa1 <= src[p] && src[p] < 0xfe {
+ size = 2
+ }
+ break
+ }
+ c1 := src[nSrc+1]
+ if c1 < 0xa1 || 0xfe < c1 {
+ r, size = utf8.RuneError, 1
+ break
+ }
+ c2 := src[nSrc+2]
+ if c2 < 0xa1 || 0xfe < c2 {
+ r, size = utf8.RuneError, 2
+ break
+ }
+ r, size = utf8.RuneError, 3
+ if i := int(c1-0xa1)*94 + int(c2-0xa1); i < len(jis0212Decode) {
+ r = rune(jis0212Decode[i])
+ if r == 0 {
+ r = utf8.RuneError
+ }
+ }
+
+ case 0xa1 <= c0 && c0 <= 0xfe:
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
+ }
+ c1 := src[nSrc+1]
+ if c1 < 0xa1 || 0xfe < c1 {
+ r, size = utf8.RuneError, 1
+ break
+ }
+ r, size = utf8.RuneError, 2
+ if i := int(c0-0xa1)*94 + int(c1-0xa1); i < len(jis0208Decode) {
+ r = rune(jis0208Decode[i])
+ if r == 0 {
+ r = utf8.RuneError
+ }
+ }
+
+ default:
+ r, size = utf8.RuneError, 1
+ }
+
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type eucJPEncoder struct{ transform.NopResetter }
+
+func (eucJPEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r != 0 {
+ goto write2or3
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r != 0 {
+ goto write2or3
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r != 0 {
+ goto write2or3
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r != 0 {
+ goto write2or3
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r != 0 {
+ goto write2or3
+ }
+ case encode5Low <= r && r < encode5High:
+ if 0xff61 <= r && r < 0xffa0 {
+ goto write2
+ }
+ if r = rune(encode5[r-encode5Low]); r != 0 {
+ goto write2or3
+ }
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ write2or3:
+ if r>>tableShift == jis0208 {
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ } else {
+ if nDst+3 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = 0x8f
+ nDst++
+ }
+ dst[nDst+0] = 0xa1 + uint8(r>>codeShift)&codeMask
+ dst[nDst+1] = 0xa1 + uint8(r)&codeMask
+ nDst += 2
+ continue
+
+ write2:
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = 0x8e
+ dst[nDst+1] = uint8(r - (0xff61 - 0xa1))
+ nDst += 2
+ continue
+ }
+ return nDst, nSrc, err
+}
+
+func init() {
+ // Check that the hard-coded encode switch covers all tables.
+ if numEncodeTables != 6 {
+ panic("bad numEncodeTables")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
new file mode 100644
index 00000000..613226df
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
@@ -0,0 +1,299 @@
+// 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 japanese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// ISO2022JP is the ISO-2022-JP encoding.
+var ISO2022JP encoding.Encoding = &iso2022JP
+
+var iso2022JP = internal.Encoding{
+ internal.FuncEncoding{iso2022JPNewDecoder, iso2022JPNewEncoder},
+ "ISO-2022-JP",
+ identifier.ISO2022JP,
+}
+
+func iso2022JPNewDecoder() transform.Transformer {
+ return new(iso2022JPDecoder)
+}
+
+func iso2022JPNewEncoder() transform.Transformer {
+ return new(iso2022JPEncoder)
+}
+
+const (
+ asciiState = iota
+ katakanaState
+ jis0208State
+ jis0212State
+)
+
+const asciiEsc = 0x1b
+
+type iso2022JPDecoder int
+
+func (d *iso2022JPDecoder) Reset() {
+ *d = asciiState
+}
+
+func (d *iso2022JPDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ c0 := src[nSrc]
+ if c0 >= utf8.RuneSelf {
+ r, size = '\ufffd', 1
+ goto write
+ }
+
+ if c0 == asciiEsc {
+ if nSrc+2 >= len(src) {
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ // TODO: is it correct to only skip 1??
+ r, size = '\ufffd', 1
+ goto write
+ }
+ size = 3
+ c1 := src[nSrc+1]
+ c2 := src[nSrc+2]
+ switch {
+ case c1 == '$' && (c2 == '@' || c2 == 'B'): // 0x24 {0x40, 0x42}
+ *d = jis0208State
+ continue
+ case c1 == '$' && c2 == '(': // 0x24 0x28
+ if nSrc+3 >= len(src) {
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ r, size = '\ufffd', 1
+ goto write
+ }
+ size = 4
+ if src[nSrc+3] == 'D' {
+ *d = jis0212State
+ continue
+ }
+ case c1 == '(' && (c2 == 'B' || c2 == 'J'): // 0x28 {0x42, 0x4A}
+ *d = asciiState
+ continue
+ case c1 == '(' && c2 == 'I': // 0x28 0x49
+ *d = katakanaState
+ continue
+ }
+ r, size = '\ufffd', 1
+ goto write
+ }
+
+ switch *d {
+ case asciiState:
+ r, size = rune(c0), 1
+
+ case katakanaState:
+ if c0 < 0x21 || 0x60 <= c0 {
+ r, size = '\ufffd', 1
+ goto write
+ }
+ r, size = rune(c0)+(0xff61-0x21), 1
+
+ default:
+ if c0 == 0x0a {
+ *d = asciiState
+ r, size = rune(c0), 1
+ goto write
+ }
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ return nDst, nSrc, transform.ErrShortSrc
+ }
+ r, size = '\ufffd', 1
+ goto write
+ }
+ size = 2
+ c1 := src[nSrc+1]
+ i := int(c0-0x21)*94 + int(c1-0x21)
+ if *d == jis0208State && i < len(jis0208Decode) {
+ r = rune(jis0208Decode[i])
+ } else if *d == jis0212State && i < len(jis0212Decode) {
+ r = rune(jis0212Decode[i])
+ } else {
+ r = '\ufffd'
+ goto write
+ }
+ if r == 0 {
+ r = '\ufffd'
+ }
+ }
+
+ write:
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ return nDst, nSrc, transform.ErrShortDst
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type iso2022JPEncoder int
+
+func (e *iso2022JPEncoder) Reset() {
+ *e = asciiState
+}
+
+func (e *iso2022JPEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ //
+ // http://encoding.spec.whatwg.org/#iso-2022-jp says that "the index jis0212
+ // is not used by the iso-2022-jp encoder due to lack of widespread support".
+ //
+ // TODO: do we have to special-case U+00A5 and U+203E, as per
+ // http://encoding.spec.whatwg.org/#iso-2022-jp
+ // Doing so would mean that "\u00a5" would not be preserved
+ // after an encode-decode round trip.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ case encode5Low <= r && r < encode5High:
+ if 0xff61 <= r && r < 0xffa0 {
+ goto writeKatakana
+ }
+ if r = rune(encode5[r-encode5Low]); r>>tableShift == jis0208 {
+ goto writeJIS
+ }
+ }
+
+ // Switch back to ASCII state in case of error so that an ASCII
+ // replacement character can be written in the correct state.
+ if *e != asciiState {
+ if nDst+3 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = asciiState
+ dst[nDst+0] = asciiEsc
+ dst[nDst+1] = '('
+ dst[nDst+2] = 'B'
+ nDst += 3
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ if *e != asciiState {
+ if nDst+4 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = asciiState
+ dst[nDst+0] = asciiEsc
+ dst[nDst+1] = '('
+ dst[nDst+2] = 'B'
+ nDst += 3
+ } else if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ writeJIS:
+ if *e != jis0208State {
+ if nDst+5 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = jis0208State
+ dst[nDst+0] = asciiEsc
+ dst[nDst+1] = '$'
+ dst[nDst+2] = 'B'
+ nDst += 3
+ } else if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = 0x21 + uint8(r>>codeShift)&codeMask
+ dst[nDst+1] = 0x21 + uint8(r)&codeMask
+ nDst += 2
+ continue
+
+ writeKatakana:
+ if *e != katakanaState {
+ if nDst+4 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = katakanaState
+ dst[nDst+0] = asciiEsc
+ dst[nDst+1] = '('
+ dst[nDst+2] = 'I'
+ nDst += 3
+ } else if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r - (0xff61 - 0x21))
+ nDst++
+ continue
+ }
+ if atEOF && err == nil && *e != asciiState {
+ if nDst+3 > len(dst) {
+ err = transform.ErrShortDst
+ } else {
+ *e = asciiState
+ dst[nDst+0] = asciiEsc
+ dst[nDst+1] = '('
+ dst[nDst+2] = 'B'
+ nDst += 3
+ }
+ }
+ return nDst, nSrc, err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/shiftjis.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
new file mode 100644
index 00000000..16fd8a6e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/shiftjis.go
@@ -0,0 +1,189 @@
+// 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 japanese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// ShiftJIS is the Shift JIS encoding, also known as Code Page 932 and
+// Windows-31J.
+var ShiftJIS encoding.Encoding = &shiftJIS
+
+var shiftJIS = internal.Encoding{
+ &internal.SimpleEncoding{shiftJISDecoder{}, shiftJISEncoder{}},
+ "Shift JIS",
+ identifier.ShiftJIS,
+}
+
+type shiftJISDecoder struct{ transform.NopResetter }
+
+func (shiftJISDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ switch c0 := src[nSrc]; {
+ case c0 < utf8.RuneSelf:
+ r, size = rune(c0), 1
+
+ case 0xa1 <= c0 && c0 < 0xe0:
+ r, size = rune(c0)+(0xff61-0xa1), 1
+
+ case (0x81 <= c0 && c0 < 0xa0) || (0xe0 <= c0 && c0 < 0xfd):
+ if c0 <= 0x9f {
+ c0 -= 0x70
+ } else {
+ c0 -= 0xb0
+ }
+ c0 = 2*c0 - 0x21
+
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = '\ufffd', 1
+ goto write
+ }
+ c1 := src[nSrc+1]
+ switch {
+ case c1 < 0x40:
+ r, size = '\ufffd', 1 // c1 is ASCII so output on next round
+ goto write
+ case c1 < 0x7f:
+ c0--
+ c1 -= 0x40
+ case c1 == 0x7f:
+ r, size = '\ufffd', 1 // c1 is ASCII so output on next round
+ goto write
+ case c1 < 0x9f:
+ c0--
+ c1 -= 0x41
+ case c1 < 0xfd:
+ c1 -= 0x9f
+ default:
+ r, size = '\ufffd', 2
+ goto write
+ }
+ r, size = '\ufffd', 2
+ if i := int(c0)*94 + int(c1); i < len(jis0208Decode) {
+ r = rune(jis0208Decode[i])
+ if r == 0 {
+ r = '\ufffd'
+ }
+ }
+
+ case c0 == 0x80:
+ r, size = 0x80, 1
+
+ default:
+ r, size = '\ufffd', 1
+ }
+ write:
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type shiftJISEncoder struct{ transform.NopResetter }
+
+func (shiftJISEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ case encode5Low <= r && r < encode5High:
+ if 0xff61 <= r && r < 0xffa0 {
+ r -= 0xff61 - 0xa1
+ goto write1
+ }
+ if r = rune(encode5[r-encode5Low]); r>>tableShift == jis0208 {
+ goto write2
+ }
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ write1:
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ write2:
+ j1 := uint8(r>>codeShift) & codeMask
+ j2 := uint8(r) & codeMask
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ if j1 <= 61 {
+ dst[nDst+0] = 129 + j1/2
+ } else {
+ dst[nDst+0] = 193 + j1/2
+ }
+ if j1&1 == 0 {
+ dst[nDst+1] = j2 + j2/63 + 64
+ } else {
+ dst[nDst+1] = j2 + 159
+ }
+ nDst += 2
+ continue
+ }
+ return nDst, nSrc, err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/tables.go
new file mode 100644
index 00000000..8717b79a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/japanese/tables.go
@@ -0,0 +1,26971 @@
+// generated by go run maketables.go; DO NOT EDIT
+
+// Package japanese provides Japanese encodings such as EUC-JP and Shift JIS.
+package japanese // import "golang.org/x/text/encoding/japanese"
+
+// jis0208Decode is the decoding table from JIS 0208 code to Unicode.
+// It is defined at http://encoding.spec.whatwg.org/index-jis0208.txt
+var jis0208Decode = [...]uint16{
+ 0: 0x3000,
+ 1: 0x3001,
+ 2: 0x3002,
+ 3: 0xFF0C,
+ 4: 0xFF0E,
+ 5: 0x30FB,
+ 6: 0xFF1A,
+ 7: 0xFF1B,
+ 8: 0xFF1F,
+ 9: 0xFF01,
+ 10: 0x309B,
+ 11: 0x309C,
+ 12: 0x00B4,
+ 13: 0xFF40,
+ 14: 0x00A8,
+ 15: 0xFF3E,
+ 16: 0xFFE3,
+ 17: 0xFF3F,
+ 18: 0x30FD,
+ 19: 0x30FE,
+ 20: 0x309D,
+ 21: 0x309E,
+ 22: 0x3003,
+ 23: 0x4EDD,
+ 24: 0x3005,
+ 25: 0x3006,
+ 26: 0x3007,
+ 27: 0x30FC,
+ 28: 0x2015,
+ 29: 0x2010,
+ 30: 0xFF0F,
+ 31: 0xFF3C,
+ 32: 0xFF5E,
+ 33: 0x2225,
+ 34: 0xFF5C,
+ 35: 0x2026,
+ 36: 0x2025,
+ 37: 0x2018,
+ 38: 0x2019,
+ 39: 0x201C,
+ 40: 0x201D,
+ 41: 0xFF08,
+ 42: 0xFF09,
+ 43: 0x3014,
+ 44: 0x3015,
+ 45: 0xFF3B,
+ 46: 0xFF3D,
+ 47: 0xFF5B,
+ 48: 0xFF5D,
+ 49: 0x3008,
+ 50: 0x3009,
+ 51: 0x300A,
+ 52: 0x300B,
+ 53: 0x300C,
+ 54: 0x300D,
+ 55: 0x300E,
+ 56: 0x300F,
+ 57: 0x3010,
+ 58: 0x3011,
+ 59: 0xFF0B,
+ 60: 0xFF0D,
+ 61: 0x00B1,
+ 62: 0x00D7,
+ 63: 0x00F7,
+ 64: 0xFF1D,
+ 65: 0x2260,
+ 66: 0xFF1C,
+ 67: 0xFF1E,
+ 68: 0x2266,
+ 69: 0x2267,
+ 70: 0x221E,
+ 71: 0x2234,
+ 72: 0x2642,
+ 73: 0x2640,
+ 74: 0x00B0,
+ 75: 0x2032,
+ 76: 0x2033,
+ 77: 0x2103,
+ 78: 0xFFE5,
+ 79: 0xFF04,
+ 80: 0xFFE0,
+ 81: 0xFFE1,
+ 82: 0xFF05,
+ 83: 0xFF03,
+ 84: 0xFF06,
+ 85: 0xFF0A,
+ 86: 0xFF20,
+ 87: 0x00A7,
+ 88: 0x2606,
+ 89: 0x2605,
+ 90: 0x25CB,
+ 91: 0x25CF,
+ 92: 0x25CE,
+ 93: 0x25C7,
+ 94: 0x25C6,
+ 95: 0x25A1,
+ 96: 0x25A0,
+ 97: 0x25B3,
+ 98: 0x25B2,
+ 99: 0x25BD,
+ 100: 0x25BC,
+ 101: 0x203B,
+ 102: 0x3012,
+ 103: 0x2192,
+ 104: 0x2190,
+ 105: 0x2191,
+ 106: 0x2193,
+ 107: 0x3013,
+ 119: 0x2208,
+ 120: 0x220B,
+ 121: 0x2286,
+ 122: 0x2287,
+ 123: 0x2282,
+ 124: 0x2283,
+ 125: 0x222A,
+ 126: 0x2229,
+ 135: 0x2227,
+ 136: 0x2228,
+ 137: 0xFFE2,
+ 138: 0x21D2,
+ 139: 0x21D4,
+ 140: 0x2200,
+ 141: 0x2203,
+ 153: 0x2220,
+ 154: 0x22A5,
+ 155: 0x2312,
+ 156: 0x2202,
+ 157: 0x2207,
+ 158: 0x2261,
+ 159: 0x2252,
+ 160: 0x226A,
+ 161: 0x226B,
+ 162: 0x221A,
+ 163: 0x223D,
+ 164: 0x221D,
+ 165: 0x2235,
+ 166: 0x222B,
+ 167: 0x222C,
+ 175: 0x212B,
+ 176: 0x2030,
+ 177: 0x266F,
+ 178: 0x266D,
+ 179: 0x266A,
+ 180: 0x2020,
+ 181: 0x2021,
+ 182: 0x00B6,
+ 187: 0x25EF,
+ 203: 0xFF10,
+ 204: 0xFF11,
+ 205: 0xFF12,
+ 206: 0xFF13,
+ 207: 0xFF14,
+ 208: 0xFF15,
+ 209: 0xFF16,
+ 210: 0xFF17,
+ 211: 0xFF18,
+ 212: 0xFF19,
+ 220: 0xFF21,
+ 221: 0xFF22,
+ 222: 0xFF23,
+ 223: 0xFF24,
+ 224: 0xFF25,
+ 225: 0xFF26,
+ 226: 0xFF27,
+ 227: 0xFF28,
+ 228: 0xFF29,
+ 229: 0xFF2A,
+ 230: 0xFF2B,
+ 231: 0xFF2C,
+ 232: 0xFF2D,
+ 233: 0xFF2E,
+ 234: 0xFF2F,
+ 235: 0xFF30,
+ 236: 0xFF31,
+ 237: 0xFF32,
+ 238: 0xFF33,
+ 239: 0xFF34,
+ 240: 0xFF35,
+ 241: 0xFF36,
+ 242: 0xFF37,
+ 243: 0xFF38,
+ 244: 0xFF39,
+ 245: 0xFF3A,
+ 252: 0xFF41,
+ 253: 0xFF42,
+ 254: 0xFF43,
+ 255: 0xFF44,
+ 256: 0xFF45,
+ 257: 0xFF46,
+ 258: 0xFF47,
+ 259: 0xFF48,
+ 260: 0xFF49,
+ 261: 0xFF4A,
+ 262: 0xFF4B,
+ 263: 0xFF4C,
+ 264: 0xFF4D,
+ 265: 0xFF4E,
+ 266: 0xFF4F,
+ 267: 0xFF50,
+ 268: 0xFF51,
+ 269: 0xFF52,
+ 270: 0xFF53,
+ 271: 0xFF54,
+ 272: 0xFF55,
+ 273: 0xFF56,
+ 274: 0xFF57,
+ 275: 0xFF58,
+ 276: 0xFF59,
+ 277: 0xFF5A,
+ 282: 0x3041,
+ 283: 0x3042,
+ 284: 0x3043,
+ 285: 0x3044,
+ 286: 0x3045,
+ 287: 0x3046,
+ 288: 0x3047,
+ 289: 0x3048,
+ 290: 0x3049,
+ 291: 0x304A,
+ 292: 0x304B,
+ 293: 0x304C,
+ 294: 0x304D,
+ 295: 0x304E,
+ 296: 0x304F,
+ 297: 0x3050,
+ 298: 0x3051,
+ 299: 0x3052,
+ 300: 0x3053,
+ 301: 0x3054,
+ 302: 0x3055,
+ 303: 0x3056,
+ 304: 0x3057,
+ 305: 0x3058,
+ 306: 0x3059,
+ 307: 0x305A,
+ 308: 0x305B,
+ 309: 0x305C,
+ 310: 0x305D,
+ 311: 0x305E,
+ 312: 0x305F,
+ 313: 0x3060,
+ 314: 0x3061,
+ 315: 0x3062,
+ 316: 0x3063,
+ 317: 0x3064,
+ 318: 0x3065,
+ 319: 0x3066,
+ 320: 0x3067,
+ 321: 0x3068,
+ 322: 0x3069,
+ 323: 0x306A,
+ 324: 0x306B,
+ 325: 0x306C,
+ 326: 0x306D,
+ 327: 0x306E,
+ 328: 0x306F,
+ 329: 0x3070,
+ 330: 0x3071,
+ 331: 0x3072,
+ 332: 0x3073,
+ 333: 0x3074,
+ 334: 0x3075,
+ 335: 0x3076,
+ 336: 0x3077,
+ 337: 0x3078,
+ 338: 0x3079,
+ 339: 0x307A,
+ 340: 0x307B,
+ 341: 0x307C,
+ 342: 0x307D,
+ 343: 0x307E,
+ 344: 0x307F,
+ 345: 0x3080,
+ 346: 0x3081,
+ 347: 0x3082,
+ 348: 0x3083,
+ 349: 0x3084,
+ 350: 0x3085,
+ 351: 0x3086,
+ 352: 0x3087,
+ 353: 0x3088,
+ 354: 0x3089,
+ 355: 0x308A,
+ 356: 0x308B,
+ 357: 0x308C,
+ 358: 0x308D,
+ 359: 0x308E,
+ 360: 0x308F,
+ 361: 0x3090,
+ 362: 0x3091,
+ 363: 0x3092,
+ 364: 0x3093,
+ 376: 0x30A1,
+ 377: 0x30A2,
+ 378: 0x30A3,
+ 379: 0x30A4,
+ 380: 0x30A5,
+ 381: 0x30A6,
+ 382: 0x30A7,
+ 383: 0x30A8,
+ 384: 0x30A9,
+ 385: 0x30AA,
+ 386: 0x30AB,
+ 387: 0x30AC,
+ 388: 0x30AD,
+ 389: 0x30AE,
+ 390: 0x30AF,
+ 391: 0x30B0,
+ 392: 0x30B1,
+ 393: 0x30B2,
+ 394: 0x30B3,
+ 395: 0x30B4,
+ 396: 0x30B5,
+ 397: 0x30B6,
+ 398: 0x30B7,
+ 399: 0x30B8,
+ 400: 0x30B9,
+ 401: 0x30BA,
+ 402: 0x30BB,
+ 403: 0x30BC,
+ 404: 0x30BD,
+ 405: 0x30BE,
+ 406: 0x30BF,
+ 407: 0x30C0,
+ 408: 0x30C1,
+ 409: 0x30C2,
+ 410: 0x30C3,
+ 411: 0x30C4,
+ 412: 0x30C5,
+ 413: 0x30C6,
+ 414: 0x30C7,
+ 415: 0x30C8,
+ 416: 0x30C9,
+ 417: 0x30CA,
+ 418: 0x30CB,
+ 419: 0x30CC,
+ 420: 0x30CD,
+ 421: 0x30CE,
+ 422: 0x30CF,
+ 423: 0x30D0,
+ 424: 0x30D1,
+ 425: 0x30D2,
+ 426: 0x30D3,
+ 427: 0x30D4,
+ 428: 0x30D5,
+ 429: 0x30D6,
+ 430: 0x30D7,
+ 431: 0x30D8,
+ 432: 0x30D9,
+ 433: 0x30DA,
+ 434: 0x30DB,
+ 435: 0x30DC,
+ 436: 0x30DD,
+ 437: 0x30DE,
+ 438: 0x30DF,
+ 439: 0x30E0,
+ 440: 0x30E1,
+ 441: 0x30E2,
+ 442: 0x30E3,
+ 443: 0x30E4,
+ 444: 0x30E5,
+ 445: 0x30E6,
+ 446: 0x30E7,
+ 447: 0x30E8,
+ 448: 0x30E9,
+ 449: 0x30EA,
+ 450: 0x30EB,
+ 451: 0x30EC,
+ 452: 0x30ED,
+ 453: 0x30EE,
+ 454: 0x30EF,
+ 455: 0x30F0,
+ 456: 0x30F1,
+ 457: 0x30F2,
+ 458: 0x30F3,
+ 459: 0x30F4,
+ 460: 0x30F5,
+ 461: 0x30F6,
+ 470: 0x0391,
+ 471: 0x0392,
+ 472: 0x0393,
+ 473: 0x0394,
+ 474: 0x0395,
+ 475: 0x0396,
+ 476: 0x0397,
+ 477: 0x0398,
+ 478: 0x0399,
+ 479: 0x039A,
+ 480: 0x039B,
+ 481: 0x039C,
+ 482: 0x039D,
+ 483: 0x039E,
+ 484: 0x039F,
+ 485: 0x03A0,
+ 486: 0x03A1,
+ 487: 0x03A3,
+ 488: 0x03A4,
+ 489: 0x03A5,
+ 490: 0x03A6,
+ 491: 0x03A7,
+ 492: 0x03A8,
+ 493: 0x03A9,
+ 502: 0x03B1,
+ 503: 0x03B2,
+ 504: 0x03B3,
+ 505: 0x03B4,
+ 506: 0x03B5,
+ 507: 0x03B6,
+ 508: 0x03B7,
+ 509: 0x03B8,
+ 510: 0x03B9,
+ 511: 0x03BA,
+ 512: 0x03BB,
+ 513: 0x03BC,
+ 514: 0x03BD,
+ 515: 0x03BE,
+ 516: 0x03BF,
+ 517: 0x03C0,
+ 518: 0x03C1,
+ 519: 0x03C3,
+ 520: 0x03C4,
+ 521: 0x03C5,
+ 522: 0x03C6,
+ 523: 0x03C7,
+ 524: 0x03C8,
+ 525: 0x03C9,
+ 564: 0x0410,
+ 565: 0x0411,
+ 566: 0x0412,
+ 567: 0x0413,
+ 568: 0x0414,
+ 569: 0x0415,
+ 570: 0x0401,
+ 571: 0x0416,
+ 572: 0x0417,
+ 573: 0x0418,
+ 574: 0x0419,
+ 575: 0x041A,
+ 576: 0x041B,
+ 577: 0x041C,
+ 578: 0x041D,
+ 579: 0x041E,
+ 580: 0x041F,
+ 581: 0x0420,
+ 582: 0x0421,
+ 583: 0x0422,
+ 584: 0x0423,
+ 585: 0x0424,
+ 586: 0x0425,
+ 587: 0x0426,
+ 588: 0x0427,
+ 589: 0x0428,
+ 590: 0x0429,
+ 591: 0x042A,
+ 592: 0x042B,
+ 593: 0x042C,
+ 594: 0x042D,
+ 595: 0x042E,
+ 596: 0x042F,
+ 612: 0x0430,
+ 613: 0x0431,
+ 614: 0x0432,
+ 615: 0x0433,
+ 616: 0x0434,
+ 617: 0x0435,
+ 618: 0x0451,
+ 619: 0x0436,
+ 620: 0x0437,
+ 621: 0x0438,
+ 622: 0x0439,
+ 623: 0x043A,
+ 624: 0x043B,
+ 625: 0x043C,
+ 626: 0x043D,
+ 627: 0x043E,
+ 628: 0x043F,
+ 629: 0x0440,
+ 630: 0x0441,
+ 631: 0x0442,
+ 632: 0x0443,
+ 633: 0x0444,
+ 634: 0x0445,
+ 635: 0x0446,
+ 636: 0x0447,
+ 637: 0x0448,
+ 638: 0x0449,
+ 639: 0x044A,
+ 640: 0x044B,
+ 641: 0x044C,
+ 642: 0x044D,
+ 643: 0x044E,
+ 644: 0x044F,
+ 658: 0x2500,
+ 659: 0x2502,
+ 660: 0x250C,
+ 661: 0x2510,
+ 662: 0x2518,
+ 663: 0x2514,
+ 664: 0x251C,
+ 665: 0x252C,
+ 666: 0x2524,
+ 667: 0x2534,
+ 668: 0x253C,
+ 669: 0x2501,
+ 670: 0x2503,
+ 671: 0x250F,
+ 672: 0x2513,
+ 673: 0x251B,
+ 674: 0x2517,
+ 675: 0x2523,
+ 676: 0x2533,
+ 677: 0x252B,
+ 678: 0x253B,
+ 679: 0x254B,
+ 680: 0x2520,
+ 681: 0x252F,
+ 682: 0x2528,
+ 683: 0x2537,
+ 684: 0x253F,
+ 685: 0x251D,
+ 686: 0x2530,
+ 687: 0x2525,
+ 688: 0x2538,
+ 689: 0x2542,
+ 1128: 0x2460,
+ 1129: 0x2461,
+ 1130: 0x2462,
+ 1131: 0x2463,
+ 1132: 0x2464,
+ 1133: 0x2465,
+ 1134: 0x2466,
+ 1135: 0x2467,
+ 1136: 0x2468,
+ 1137: 0x2469,
+ 1138: 0x246A,
+ 1139: 0x246B,
+ 1140: 0x246C,
+ 1141: 0x246D,
+ 1142: 0x246E,
+ 1143: 0x246F,
+ 1144: 0x2470,
+ 1145: 0x2471,
+ 1146: 0x2472,
+ 1147: 0x2473,
+ 1148: 0x2160,
+ 1149: 0x2161,
+ 1150: 0x2162,
+ 1151: 0x2163,
+ 1152: 0x2164,
+ 1153: 0x2165,
+ 1154: 0x2166,
+ 1155: 0x2167,
+ 1156: 0x2168,
+ 1157: 0x2169,
+ 1159: 0x3349,
+ 1160: 0x3314,
+ 1161: 0x3322,
+ 1162: 0x334D,
+ 1163: 0x3318,
+ 1164: 0x3327,
+ 1165: 0x3303,
+ 1166: 0x3336,
+ 1167: 0x3351,
+ 1168: 0x3357,
+ 1169: 0x330D,
+ 1170: 0x3326,
+ 1171: 0x3323,
+ 1172: 0x332B,
+ 1173: 0x334A,
+ 1174: 0x333B,
+ 1175: 0x339C,
+ 1176: 0x339D,
+ 1177: 0x339E,
+ 1178: 0x338E,
+ 1179: 0x338F,
+ 1180: 0x33C4,
+ 1181: 0x33A1,
+ 1190: 0x337B,
+ 1191: 0x301D,
+ 1192: 0x301F,
+ 1193: 0x2116,
+ 1194: 0x33CD,
+ 1195: 0x2121,
+ 1196: 0x32A4,
+ 1197: 0x32A5,
+ 1198: 0x32A6,
+ 1199: 0x32A7,
+ 1200: 0x32A8,
+ 1201: 0x3231,
+ 1202: 0x3232,
+ 1203: 0x3239,
+ 1204: 0x337E,
+ 1205: 0x337D,
+ 1206: 0x337C,
+ 1207: 0x2252,
+ 1208: 0x2261,
+ 1209: 0x222B,
+ 1210: 0x222E,
+ 1211: 0x2211,
+ 1212: 0x221A,
+ 1213: 0x22A5,
+ 1214: 0x2220,
+ 1215: 0x221F,
+ 1216: 0x22BF,
+ 1217: 0x2235,
+ 1218: 0x2229,
+ 1219: 0x222A,
+ 1410: 0x4E9C,
+ 1411: 0x5516,
+ 1412: 0x5A03,
+ 1413: 0x963F,
+ 1414: 0x54C0,
+ 1415: 0x611B,
+ 1416: 0x6328,
+ 1417: 0x59F6,
+ 1418: 0x9022,
+ 1419: 0x8475,
+ 1420: 0x831C,
+ 1421: 0x7A50,
+ 1422: 0x60AA,
+ 1423: 0x63E1,
+ 1424: 0x6E25,
+ 1425: 0x65ED,
+ 1426: 0x8466,
+ 1427: 0x82A6,
+ 1428: 0x9BF5,
+ 1429: 0x6893,
+ 1430: 0x5727,
+ 1431: 0x65A1,
+ 1432: 0x6271,
+ 1433: 0x5B9B,
+ 1434: 0x59D0,
+ 1435: 0x867B,
+ 1436: 0x98F4,
+ 1437: 0x7D62,
+ 1438: 0x7DBE,
+ 1439: 0x9B8E,
+ 1440: 0x6216,
+ 1441: 0x7C9F,
+ 1442: 0x88B7,
+ 1443: 0x5B89,
+ 1444: 0x5EB5,
+ 1445: 0x6309,
+ 1446: 0x6697,
+ 1447: 0x6848,
+ 1448: 0x95C7,
+ 1449: 0x978D,
+ 1450: 0x674F,
+ 1451: 0x4EE5,
+ 1452: 0x4F0A,
+ 1453: 0x4F4D,
+ 1454: 0x4F9D,
+ 1455: 0x5049,
+ 1456: 0x56F2,
+ 1457: 0x5937,
+ 1458: 0x59D4,
+ 1459: 0x5A01,
+ 1460: 0x5C09,
+ 1461: 0x60DF,
+ 1462: 0x610F,
+ 1463: 0x6170,
+ 1464: 0x6613,
+ 1465: 0x6905,
+ 1466: 0x70BA,
+ 1467: 0x754F,
+ 1468: 0x7570,
+ 1469: 0x79FB,
+ 1470: 0x7DAD,
+ 1471: 0x7DEF,
+ 1472: 0x80C3,
+ 1473: 0x840E,
+ 1474: 0x8863,
+ 1475: 0x8B02,
+ 1476: 0x9055,
+ 1477: 0x907A,
+ 1478: 0x533B,
+ 1479: 0x4E95,
+ 1480: 0x4EA5,
+ 1481: 0x57DF,
+ 1482: 0x80B2,
+ 1483: 0x90C1,
+ 1484: 0x78EF,
+ 1485: 0x4E00,
+ 1486: 0x58F1,
+ 1487: 0x6EA2,
+ 1488: 0x9038,
+ 1489: 0x7A32,
+ 1490: 0x8328,
+ 1491: 0x828B,
+ 1492: 0x9C2F,
+ 1493: 0x5141,
+ 1494: 0x5370,
+ 1495: 0x54BD,
+ 1496: 0x54E1,
+ 1497: 0x56E0,
+ 1498: 0x59FB,
+ 1499: 0x5F15,
+ 1500: 0x98F2,
+ 1501: 0x6DEB,
+ 1502: 0x80E4,
+ 1503: 0x852D,
+ 1504: 0x9662,
+ 1505: 0x9670,
+ 1506: 0x96A0,
+ 1507: 0x97FB,
+ 1508: 0x540B,
+ 1509: 0x53F3,
+ 1510: 0x5B87,
+ 1511: 0x70CF,
+ 1512: 0x7FBD,
+ 1513: 0x8FC2,
+ 1514: 0x96E8,
+ 1515: 0x536F,
+ 1516: 0x9D5C,
+ 1517: 0x7ABA,
+ 1518: 0x4E11,
+ 1519: 0x7893,
+ 1520: 0x81FC,
+ 1521: 0x6E26,
+ 1522: 0x5618,
+ 1523: 0x5504,
+ 1524: 0x6B1D,
+ 1525: 0x851A,
+ 1526: 0x9C3B,
+ 1527: 0x59E5,
+ 1528: 0x53A9,
+ 1529: 0x6D66,
+ 1530: 0x74DC,
+ 1531: 0x958F,
+ 1532: 0x5642,
+ 1533: 0x4E91,
+ 1534: 0x904B,
+ 1535: 0x96F2,
+ 1536: 0x834F,
+ 1537: 0x990C,
+ 1538: 0x53E1,
+ 1539: 0x55B6,
+ 1540: 0x5B30,
+ 1541: 0x5F71,
+ 1542: 0x6620,
+ 1543: 0x66F3,
+ 1544: 0x6804,
+ 1545: 0x6C38,
+ 1546: 0x6CF3,
+ 1547: 0x6D29,
+ 1548: 0x745B,
+ 1549: 0x76C8,
+ 1550: 0x7A4E,
+ 1551: 0x9834,
+ 1552: 0x82F1,
+ 1553: 0x885B,
+ 1554: 0x8A60,
+ 1555: 0x92ED,
+ 1556: 0x6DB2,
+ 1557: 0x75AB,
+ 1558: 0x76CA,
+ 1559: 0x99C5,
+ 1560: 0x60A6,
+ 1561: 0x8B01,
+ 1562: 0x8D8A,
+ 1563: 0x95B2,
+ 1564: 0x698E,
+ 1565: 0x53AD,
+ 1566: 0x5186,
+ 1567: 0x5712,
+ 1568: 0x5830,
+ 1569: 0x5944,
+ 1570: 0x5BB4,
+ 1571: 0x5EF6,
+ 1572: 0x6028,
+ 1573: 0x63A9,
+ 1574: 0x63F4,
+ 1575: 0x6CBF,
+ 1576: 0x6F14,
+ 1577: 0x708E,
+ 1578: 0x7114,
+ 1579: 0x7159,
+ 1580: 0x71D5,
+ 1581: 0x733F,
+ 1582: 0x7E01,
+ 1583: 0x8276,
+ 1584: 0x82D1,
+ 1585: 0x8597,
+ 1586: 0x9060,
+ 1587: 0x925B,
+ 1588: 0x9D1B,
+ 1589: 0x5869,
+ 1590: 0x65BC,
+ 1591: 0x6C5A,
+ 1592: 0x7525,
+ 1593: 0x51F9,
+ 1594: 0x592E,
+ 1595: 0x5965,
+ 1596: 0x5F80,
+ 1597: 0x5FDC,
+ 1598: 0x62BC,
+ 1599: 0x65FA,
+ 1600: 0x6A2A,
+ 1601: 0x6B27,
+ 1602: 0x6BB4,
+ 1603: 0x738B,
+ 1604: 0x7FC1,
+ 1605: 0x8956,
+ 1606: 0x9D2C,
+ 1607: 0x9D0E,
+ 1608: 0x9EC4,
+ 1609: 0x5CA1,
+ 1610: 0x6C96,
+ 1611: 0x837B,
+ 1612: 0x5104,
+ 1613: 0x5C4B,
+ 1614: 0x61B6,
+ 1615: 0x81C6,
+ 1616: 0x6876,
+ 1617: 0x7261,
+ 1618: 0x4E59,
+ 1619: 0x4FFA,
+ 1620: 0x5378,
+ 1621: 0x6069,
+ 1622: 0x6E29,
+ 1623: 0x7A4F,
+ 1624: 0x97F3,
+ 1625: 0x4E0B,
+ 1626: 0x5316,
+ 1627: 0x4EEE,
+ 1628: 0x4F55,
+ 1629: 0x4F3D,
+ 1630: 0x4FA1,
+ 1631: 0x4F73,
+ 1632: 0x52A0,
+ 1633: 0x53EF,
+ 1634: 0x5609,
+ 1635: 0x590F,
+ 1636: 0x5AC1,
+ 1637: 0x5BB6,
+ 1638: 0x5BE1,
+ 1639: 0x79D1,
+ 1640: 0x6687,
+ 1641: 0x679C,
+ 1642: 0x67B6,
+ 1643: 0x6B4C,
+ 1644: 0x6CB3,
+ 1645: 0x706B,
+ 1646: 0x73C2,
+ 1647: 0x798D,
+ 1648: 0x79BE,
+ 1649: 0x7A3C,
+ 1650: 0x7B87,
+ 1651: 0x82B1,
+ 1652: 0x82DB,
+ 1653: 0x8304,
+ 1654: 0x8377,
+ 1655: 0x83EF,
+ 1656: 0x83D3,
+ 1657: 0x8766,
+ 1658: 0x8AB2,
+ 1659: 0x5629,
+ 1660: 0x8CA8,
+ 1661: 0x8FE6,
+ 1662: 0x904E,
+ 1663: 0x971E,
+ 1664: 0x868A,
+ 1665: 0x4FC4,
+ 1666: 0x5CE8,
+ 1667: 0x6211,
+ 1668: 0x7259,
+ 1669: 0x753B,
+ 1670: 0x81E5,
+ 1671: 0x82BD,
+ 1672: 0x86FE,
+ 1673: 0x8CC0,
+ 1674: 0x96C5,
+ 1675: 0x9913,
+ 1676: 0x99D5,
+ 1677: 0x4ECB,
+ 1678: 0x4F1A,
+ 1679: 0x89E3,
+ 1680: 0x56DE,
+ 1681: 0x584A,
+ 1682: 0x58CA,
+ 1683: 0x5EFB,
+ 1684: 0x5FEB,
+ 1685: 0x602A,
+ 1686: 0x6094,
+ 1687: 0x6062,
+ 1688: 0x61D0,
+ 1689: 0x6212,
+ 1690: 0x62D0,
+ 1691: 0x6539,
+ 1692: 0x9B41,
+ 1693: 0x6666,
+ 1694: 0x68B0,
+ 1695: 0x6D77,
+ 1696: 0x7070,
+ 1697: 0x754C,
+ 1698: 0x7686,
+ 1699: 0x7D75,
+ 1700: 0x82A5,
+ 1701: 0x87F9,
+ 1702: 0x958B,
+ 1703: 0x968E,
+ 1704: 0x8C9D,
+ 1705: 0x51F1,
+ 1706: 0x52BE,
+ 1707: 0x5916,
+ 1708: 0x54B3,
+ 1709: 0x5BB3,
+ 1710: 0x5D16,
+ 1711: 0x6168,
+ 1712: 0x6982,
+ 1713: 0x6DAF,
+ 1714: 0x788D,
+ 1715: 0x84CB,
+ 1716: 0x8857,
+ 1717: 0x8A72,
+ 1718: 0x93A7,
+ 1719: 0x9AB8,
+ 1720: 0x6D6C,
+ 1721: 0x99A8,
+ 1722: 0x86D9,
+ 1723: 0x57A3,
+ 1724: 0x67FF,
+ 1725: 0x86CE,
+ 1726: 0x920E,
+ 1727: 0x5283,
+ 1728: 0x5687,
+ 1729: 0x5404,
+ 1730: 0x5ED3,
+ 1731: 0x62E1,
+ 1732: 0x64B9,
+ 1733: 0x683C,
+ 1734: 0x6838,
+ 1735: 0x6BBB,
+ 1736: 0x7372,
+ 1737: 0x78BA,
+ 1738: 0x7A6B,
+ 1739: 0x899A,
+ 1740: 0x89D2,
+ 1741: 0x8D6B,
+ 1742: 0x8F03,
+ 1743: 0x90ED,
+ 1744: 0x95A3,
+ 1745: 0x9694,
+ 1746: 0x9769,
+ 1747: 0x5B66,
+ 1748: 0x5CB3,
+ 1749: 0x697D,
+ 1750: 0x984D,
+ 1751: 0x984E,
+ 1752: 0x639B,
+ 1753: 0x7B20,
+ 1754: 0x6A2B,
+ 1755: 0x6A7F,
+ 1756: 0x68B6,
+ 1757: 0x9C0D,
+ 1758: 0x6F5F,
+ 1759: 0x5272,
+ 1760: 0x559D,
+ 1761: 0x6070,
+ 1762: 0x62EC,
+ 1763: 0x6D3B,
+ 1764: 0x6E07,
+ 1765: 0x6ED1,
+ 1766: 0x845B,
+ 1767: 0x8910,
+ 1768: 0x8F44,
+ 1769: 0x4E14,
+ 1770: 0x9C39,
+ 1771: 0x53F6,
+ 1772: 0x691B,
+ 1773: 0x6A3A,
+ 1774: 0x9784,
+ 1775: 0x682A,
+ 1776: 0x515C,
+ 1777: 0x7AC3,
+ 1778: 0x84B2,
+ 1779: 0x91DC,
+ 1780: 0x938C,
+ 1781: 0x565B,
+ 1782: 0x9D28,
+ 1783: 0x6822,
+ 1784: 0x8305,
+ 1785: 0x8431,
+ 1786: 0x7CA5,
+ 1787: 0x5208,
+ 1788: 0x82C5,
+ 1789: 0x74E6,
+ 1790: 0x4E7E,
+ 1791: 0x4F83,
+ 1792: 0x51A0,
+ 1793: 0x5BD2,
+ 1794: 0x520A,
+ 1795: 0x52D8,
+ 1796: 0x52E7,
+ 1797: 0x5DFB,
+ 1798: 0x559A,
+ 1799: 0x582A,
+ 1800: 0x59E6,
+ 1801: 0x5B8C,
+ 1802: 0x5B98,
+ 1803: 0x5BDB,
+ 1804: 0x5E72,
+ 1805: 0x5E79,
+ 1806: 0x60A3,
+ 1807: 0x611F,
+ 1808: 0x6163,
+ 1809: 0x61BE,
+ 1810: 0x63DB,
+ 1811: 0x6562,
+ 1812: 0x67D1,
+ 1813: 0x6853,
+ 1814: 0x68FA,
+ 1815: 0x6B3E,
+ 1816: 0x6B53,
+ 1817: 0x6C57,
+ 1818: 0x6F22,
+ 1819: 0x6F97,
+ 1820: 0x6F45,
+ 1821: 0x74B0,
+ 1822: 0x7518,
+ 1823: 0x76E3,
+ 1824: 0x770B,
+ 1825: 0x7AFF,
+ 1826: 0x7BA1,
+ 1827: 0x7C21,
+ 1828: 0x7DE9,
+ 1829: 0x7F36,
+ 1830: 0x7FF0,
+ 1831: 0x809D,
+ 1832: 0x8266,
+ 1833: 0x839E,
+ 1834: 0x89B3,
+ 1835: 0x8ACC,
+ 1836: 0x8CAB,
+ 1837: 0x9084,
+ 1838: 0x9451,
+ 1839: 0x9593,
+ 1840: 0x9591,
+ 1841: 0x95A2,
+ 1842: 0x9665,
+ 1843: 0x97D3,
+ 1844: 0x9928,
+ 1845: 0x8218,
+ 1846: 0x4E38,
+ 1847: 0x542B,
+ 1848: 0x5CB8,
+ 1849: 0x5DCC,
+ 1850: 0x73A9,
+ 1851: 0x764C,
+ 1852: 0x773C,
+ 1853: 0x5CA9,
+ 1854: 0x7FEB,
+ 1855: 0x8D0B,
+ 1856: 0x96C1,
+ 1857: 0x9811,
+ 1858: 0x9854,
+ 1859: 0x9858,
+ 1860: 0x4F01,
+ 1861: 0x4F0E,
+ 1862: 0x5371,
+ 1863: 0x559C,
+ 1864: 0x5668,
+ 1865: 0x57FA,
+ 1866: 0x5947,
+ 1867: 0x5B09,
+ 1868: 0x5BC4,
+ 1869: 0x5C90,
+ 1870: 0x5E0C,
+ 1871: 0x5E7E,
+ 1872: 0x5FCC,
+ 1873: 0x63EE,
+ 1874: 0x673A,
+ 1875: 0x65D7,
+ 1876: 0x65E2,
+ 1877: 0x671F,
+ 1878: 0x68CB,
+ 1879: 0x68C4,
+ 1880: 0x6A5F,
+ 1881: 0x5E30,
+ 1882: 0x6BC5,
+ 1883: 0x6C17,
+ 1884: 0x6C7D,
+ 1885: 0x757F,
+ 1886: 0x7948,
+ 1887: 0x5B63,
+ 1888: 0x7A00,
+ 1889: 0x7D00,
+ 1890: 0x5FBD,
+ 1891: 0x898F,
+ 1892: 0x8A18,
+ 1893: 0x8CB4,
+ 1894: 0x8D77,
+ 1895: 0x8ECC,
+ 1896: 0x8F1D,
+ 1897: 0x98E2,
+ 1898: 0x9A0E,
+ 1899: 0x9B3C,
+ 1900: 0x4E80,
+ 1901: 0x507D,
+ 1902: 0x5100,
+ 1903: 0x5993,
+ 1904: 0x5B9C,
+ 1905: 0x622F,
+ 1906: 0x6280,
+ 1907: 0x64EC,
+ 1908: 0x6B3A,
+ 1909: 0x72A0,
+ 1910: 0x7591,
+ 1911: 0x7947,
+ 1912: 0x7FA9,
+ 1913: 0x87FB,
+ 1914: 0x8ABC,
+ 1915: 0x8B70,
+ 1916: 0x63AC,
+ 1917: 0x83CA,
+ 1918: 0x97A0,
+ 1919: 0x5409,
+ 1920: 0x5403,
+ 1921: 0x55AB,
+ 1922: 0x6854,
+ 1923: 0x6A58,
+ 1924: 0x8A70,
+ 1925: 0x7827,
+ 1926: 0x6775,
+ 1927: 0x9ECD,
+ 1928: 0x5374,
+ 1929: 0x5BA2,
+ 1930: 0x811A,
+ 1931: 0x8650,
+ 1932: 0x9006,
+ 1933: 0x4E18,
+ 1934: 0x4E45,
+ 1935: 0x4EC7,
+ 1936: 0x4F11,
+ 1937: 0x53CA,
+ 1938: 0x5438,
+ 1939: 0x5BAE,
+ 1940: 0x5F13,
+ 1941: 0x6025,
+ 1942: 0x6551,
+ 1943: 0x673D,
+ 1944: 0x6C42,
+ 1945: 0x6C72,
+ 1946: 0x6CE3,
+ 1947: 0x7078,
+ 1948: 0x7403,
+ 1949: 0x7A76,
+ 1950: 0x7AAE,
+ 1951: 0x7B08,
+ 1952: 0x7D1A,
+ 1953: 0x7CFE,
+ 1954: 0x7D66,
+ 1955: 0x65E7,
+ 1956: 0x725B,
+ 1957: 0x53BB,
+ 1958: 0x5C45,
+ 1959: 0x5DE8,
+ 1960: 0x62D2,
+ 1961: 0x62E0,
+ 1962: 0x6319,
+ 1963: 0x6E20,
+ 1964: 0x865A,
+ 1965: 0x8A31,
+ 1966: 0x8DDD,
+ 1967: 0x92F8,
+ 1968: 0x6F01,
+ 1969: 0x79A6,
+ 1970: 0x9B5A,
+ 1971: 0x4EA8,
+ 1972: 0x4EAB,
+ 1973: 0x4EAC,
+ 1974: 0x4F9B,
+ 1975: 0x4FA0,
+ 1976: 0x50D1,
+ 1977: 0x5147,
+ 1978: 0x7AF6,
+ 1979: 0x5171,
+ 1980: 0x51F6,
+ 1981: 0x5354,
+ 1982: 0x5321,
+ 1983: 0x537F,
+ 1984: 0x53EB,
+ 1985: 0x55AC,
+ 1986: 0x5883,
+ 1987: 0x5CE1,
+ 1988: 0x5F37,
+ 1989: 0x5F4A,
+ 1990: 0x602F,
+ 1991: 0x6050,
+ 1992: 0x606D,
+ 1993: 0x631F,
+ 1994: 0x6559,
+ 1995: 0x6A4B,
+ 1996: 0x6CC1,
+ 1997: 0x72C2,
+ 1998: 0x72ED,
+ 1999: 0x77EF,
+ 2000: 0x80F8,
+ 2001: 0x8105,
+ 2002: 0x8208,
+ 2003: 0x854E,
+ 2004: 0x90F7,
+ 2005: 0x93E1,
+ 2006: 0x97FF,
+ 2007: 0x9957,
+ 2008: 0x9A5A,
+ 2009: 0x4EF0,
+ 2010: 0x51DD,
+ 2011: 0x5C2D,
+ 2012: 0x6681,
+ 2013: 0x696D,
+ 2014: 0x5C40,
+ 2015: 0x66F2,
+ 2016: 0x6975,
+ 2017: 0x7389,
+ 2018: 0x6850,
+ 2019: 0x7C81,
+ 2020: 0x50C5,
+ 2021: 0x52E4,
+ 2022: 0x5747,
+ 2023: 0x5DFE,
+ 2024: 0x9326,
+ 2025: 0x65A4,
+ 2026: 0x6B23,
+ 2027: 0x6B3D,
+ 2028: 0x7434,
+ 2029: 0x7981,
+ 2030: 0x79BD,
+ 2031: 0x7B4B,
+ 2032: 0x7DCA,
+ 2033: 0x82B9,
+ 2034: 0x83CC,
+ 2035: 0x887F,
+ 2036: 0x895F,
+ 2037: 0x8B39,
+ 2038: 0x8FD1,
+ 2039: 0x91D1,
+ 2040: 0x541F,
+ 2041: 0x9280,
+ 2042: 0x4E5D,
+ 2043: 0x5036,
+ 2044: 0x53E5,
+ 2045: 0x533A,
+ 2046: 0x72D7,
+ 2047: 0x7396,
+ 2048: 0x77E9,
+ 2049: 0x82E6,
+ 2050: 0x8EAF,
+ 2051: 0x99C6,
+ 2052: 0x99C8,
+ 2053: 0x99D2,
+ 2054: 0x5177,
+ 2055: 0x611A,
+ 2056: 0x865E,
+ 2057: 0x55B0,
+ 2058: 0x7A7A,
+ 2059: 0x5076,
+ 2060: 0x5BD3,
+ 2061: 0x9047,
+ 2062: 0x9685,
+ 2063: 0x4E32,
+ 2064: 0x6ADB,
+ 2065: 0x91E7,
+ 2066: 0x5C51,
+ 2067: 0x5C48,
+ 2068: 0x6398,
+ 2069: 0x7A9F,
+ 2070: 0x6C93,
+ 2071: 0x9774,
+ 2072: 0x8F61,
+ 2073: 0x7AAA,
+ 2074: 0x718A,
+ 2075: 0x9688,
+ 2076: 0x7C82,
+ 2077: 0x6817,
+ 2078: 0x7E70,
+ 2079: 0x6851,
+ 2080: 0x936C,
+ 2081: 0x52F2,
+ 2082: 0x541B,
+ 2083: 0x85AB,
+ 2084: 0x8A13,
+ 2085: 0x7FA4,
+ 2086: 0x8ECD,
+ 2087: 0x90E1,
+ 2088: 0x5366,
+ 2089: 0x8888,
+ 2090: 0x7941,
+ 2091: 0x4FC2,
+ 2092: 0x50BE,
+ 2093: 0x5211,
+ 2094: 0x5144,
+ 2095: 0x5553,
+ 2096: 0x572D,
+ 2097: 0x73EA,
+ 2098: 0x578B,
+ 2099: 0x5951,
+ 2100: 0x5F62,
+ 2101: 0x5F84,
+ 2102: 0x6075,
+ 2103: 0x6176,
+ 2104: 0x6167,
+ 2105: 0x61A9,
+ 2106: 0x63B2,
+ 2107: 0x643A,
+ 2108: 0x656C,
+ 2109: 0x666F,
+ 2110: 0x6842,
+ 2111: 0x6E13,
+ 2112: 0x7566,
+ 2113: 0x7A3D,
+ 2114: 0x7CFB,
+ 2115: 0x7D4C,
+ 2116: 0x7D99,
+ 2117: 0x7E4B,
+ 2118: 0x7F6B,
+ 2119: 0x830E,
+ 2120: 0x834A,
+ 2121: 0x86CD,
+ 2122: 0x8A08,
+ 2123: 0x8A63,
+ 2124: 0x8B66,
+ 2125: 0x8EFD,
+ 2126: 0x981A,
+ 2127: 0x9D8F,
+ 2128: 0x82B8,
+ 2129: 0x8FCE,
+ 2130: 0x9BE8,
+ 2131: 0x5287,
+ 2132: 0x621F,
+ 2133: 0x6483,
+ 2134: 0x6FC0,
+ 2135: 0x9699,
+ 2136: 0x6841,
+ 2137: 0x5091,
+ 2138: 0x6B20,
+ 2139: 0x6C7A,
+ 2140: 0x6F54,
+ 2141: 0x7A74,
+ 2142: 0x7D50,
+ 2143: 0x8840,
+ 2144: 0x8A23,
+ 2145: 0x6708,
+ 2146: 0x4EF6,
+ 2147: 0x5039,
+ 2148: 0x5026,
+ 2149: 0x5065,
+ 2150: 0x517C,
+ 2151: 0x5238,
+ 2152: 0x5263,
+ 2153: 0x55A7,
+ 2154: 0x570F,
+ 2155: 0x5805,
+ 2156: 0x5ACC,
+ 2157: 0x5EFA,
+ 2158: 0x61B2,
+ 2159: 0x61F8,
+ 2160: 0x62F3,
+ 2161: 0x6372,
+ 2162: 0x691C,
+ 2163: 0x6A29,
+ 2164: 0x727D,
+ 2165: 0x72AC,
+ 2166: 0x732E,
+ 2167: 0x7814,
+ 2168: 0x786F,
+ 2169: 0x7D79,
+ 2170: 0x770C,
+ 2171: 0x80A9,
+ 2172: 0x898B,
+ 2173: 0x8B19,
+ 2174: 0x8CE2,
+ 2175: 0x8ED2,
+ 2176: 0x9063,
+ 2177: 0x9375,
+ 2178: 0x967A,
+ 2179: 0x9855,
+ 2180: 0x9A13,
+ 2181: 0x9E78,
+ 2182: 0x5143,
+ 2183: 0x539F,
+ 2184: 0x53B3,
+ 2185: 0x5E7B,
+ 2186: 0x5F26,
+ 2187: 0x6E1B,
+ 2188: 0x6E90,
+ 2189: 0x7384,
+ 2190: 0x73FE,
+ 2191: 0x7D43,
+ 2192: 0x8237,
+ 2193: 0x8A00,
+ 2194: 0x8AFA,
+ 2195: 0x9650,
+ 2196: 0x4E4E,
+ 2197: 0x500B,
+ 2198: 0x53E4,
+ 2199: 0x547C,
+ 2200: 0x56FA,
+ 2201: 0x59D1,
+ 2202: 0x5B64,
+ 2203: 0x5DF1,
+ 2204: 0x5EAB,
+ 2205: 0x5F27,
+ 2206: 0x6238,
+ 2207: 0x6545,
+ 2208: 0x67AF,
+ 2209: 0x6E56,
+ 2210: 0x72D0,
+ 2211: 0x7CCA,
+ 2212: 0x88B4,
+ 2213: 0x80A1,
+ 2214: 0x80E1,
+ 2215: 0x83F0,
+ 2216: 0x864E,
+ 2217: 0x8A87,
+ 2218: 0x8DE8,
+ 2219: 0x9237,
+ 2220: 0x96C7,
+ 2221: 0x9867,
+ 2222: 0x9F13,
+ 2223: 0x4E94,
+ 2224: 0x4E92,
+ 2225: 0x4F0D,
+ 2226: 0x5348,
+ 2227: 0x5449,
+ 2228: 0x543E,
+ 2229: 0x5A2F,
+ 2230: 0x5F8C,
+ 2231: 0x5FA1,
+ 2232: 0x609F,
+ 2233: 0x68A7,
+ 2234: 0x6A8E,
+ 2235: 0x745A,
+ 2236: 0x7881,
+ 2237: 0x8A9E,
+ 2238: 0x8AA4,
+ 2239: 0x8B77,
+ 2240: 0x9190,
+ 2241: 0x4E5E,
+ 2242: 0x9BC9,
+ 2243: 0x4EA4,
+ 2244: 0x4F7C,
+ 2245: 0x4FAF,
+ 2246: 0x5019,
+ 2247: 0x5016,
+ 2248: 0x5149,
+ 2249: 0x516C,
+ 2250: 0x529F,
+ 2251: 0x52B9,
+ 2252: 0x52FE,
+ 2253: 0x539A,
+ 2254: 0x53E3,
+ 2255: 0x5411,
+ 2256: 0x540E,
+ 2257: 0x5589,
+ 2258: 0x5751,
+ 2259: 0x57A2,
+ 2260: 0x597D,
+ 2261: 0x5B54,
+ 2262: 0x5B5D,
+ 2263: 0x5B8F,
+ 2264: 0x5DE5,
+ 2265: 0x5DE7,
+ 2266: 0x5DF7,
+ 2267: 0x5E78,
+ 2268: 0x5E83,
+ 2269: 0x5E9A,
+ 2270: 0x5EB7,
+ 2271: 0x5F18,
+ 2272: 0x6052,
+ 2273: 0x614C,
+ 2274: 0x6297,
+ 2275: 0x62D8,
+ 2276: 0x63A7,
+ 2277: 0x653B,
+ 2278: 0x6602,
+ 2279: 0x6643,
+ 2280: 0x66F4,
+ 2281: 0x676D,
+ 2282: 0x6821,
+ 2283: 0x6897,
+ 2284: 0x69CB,
+ 2285: 0x6C5F,
+ 2286: 0x6D2A,
+ 2287: 0x6D69,
+ 2288: 0x6E2F,
+ 2289: 0x6E9D,
+ 2290: 0x7532,
+ 2291: 0x7687,
+ 2292: 0x786C,
+ 2293: 0x7A3F,
+ 2294: 0x7CE0,
+ 2295: 0x7D05,
+ 2296: 0x7D18,
+ 2297: 0x7D5E,
+ 2298: 0x7DB1,
+ 2299: 0x8015,
+ 2300: 0x8003,
+ 2301: 0x80AF,
+ 2302: 0x80B1,
+ 2303: 0x8154,
+ 2304: 0x818F,
+ 2305: 0x822A,
+ 2306: 0x8352,
+ 2307: 0x884C,
+ 2308: 0x8861,
+ 2309: 0x8B1B,
+ 2310: 0x8CA2,
+ 2311: 0x8CFC,
+ 2312: 0x90CA,
+ 2313: 0x9175,
+ 2314: 0x9271,
+ 2315: 0x783F,
+ 2316: 0x92FC,
+ 2317: 0x95A4,
+ 2318: 0x964D,
+ 2319: 0x9805,
+ 2320: 0x9999,
+ 2321: 0x9AD8,
+ 2322: 0x9D3B,
+ 2323: 0x525B,
+ 2324: 0x52AB,
+ 2325: 0x53F7,
+ 2326: 0x5408,
+ 2327: 0x58D5,
+ 2328: 0x62F7,
+ 2329: 0x6FE0,
+ 2330: 0x8C6A,
+ 2331: 0x8F5F,
+ 2332: 0x9EB9,
+ 2333: 0x514B,
+ 2334: 0x523B,
+ 2335: 0x544A,
+ 2336: 0x56FD,
+ 2337: 0x7A40,
+ 2338: 0x9177,
+ 2339: 0x9D60,
+ 2340: 0x9ED2,
+ 2341: 0x7344,
+ 2342: 0x6F09,
+ 2343: 0x8170,
+ 2344: 0x7511,
+ 2345: 0x5FFD,
+ 2346: 0x60DA,
+ 2347: 0x9AA8,
+ 2348: 0x72DB,
+ 2349: 0x8FBC,
+ 2350: 0x6B64,
+ 2351: 0x9803,
+ 2352: 0x4ECA,
+ 2353: 0x56F0,
+ 2354: 0x5764,
+ 2355: 0x58BE,
+ 2356: 0x5A5A,
+ 2357: 0x6068,
+ 2358: 0x61C7,
+ 2359: 0x660F,
+ 2360: 0x6606,
+ 2361: 0x6839,
+ 2362: 0x68B1,
+ 2363: 0x6DF7,
+ 2364: 0x75D5,
+ 2365: 0x7D3A,
+ 2366: 0x826E,
+ 2367: 0x9B42,
+ 2368: 0x4E9B,
+ 2369: 0x4F50,
+ 2370: 0x53C9,
+ 2371: 0x5506,
+ 2372: 0x5D6F,
+ 2373: 0x5DE6,
+ 2374: 0x5DEE,
+ 2375: 0x67FB,
+ 2376: 0x6C99,
+ 2377: 0x7473,
+ 2378: 0x7802,
+ 2379: 0x8A50,
+ 2380: 0x9396,
+ 2381: 0x88DF,
+ 2382: 0x5750,
+ 2383: 0x5EA7,
+ 2384: 0x632B,
+ 2385: 0x50B5,
+ 2386: 0x50AC,
+ 2387: 0x518D,
+ 2388: 0x6700,
+ 2389: 0x54C9,
+ 2390: 0x585E,
+ 2391: 0x59BB,
+ 2392: 0x5BB0,
+ 2393: 0x5F69,
+ 2394: 0x624D,
+ 2395: 0x63A1,
+ 2396: 0x683D,
+ 2397: 0x6B73,
+ 2398: 0x6E08,
+ 2399: 0x707D,
+ 2400: 0x91C7,
+ 2401: 0x7280,
+ 2402: 0x7815,
+ 2403: 0x7826,
+ 2404: 0x796D,
+ 2405: 0x658E,
+ 2406: 0x7D30,
+ 2407: 0x83DC,
+ 2408: 0x88C1,
+ 2409: 0x8F09,
+ 2410: 0x969B,
+ 2411: 0x5264,
+ 2412: 0x5728,
+ 2413: 0x6750,
+ 2414: 0x7F6A,
+ 2415: 0x8CA1,
+ 2416: 0x51B4,
+ 2417: 0x5742,
+ 2418: 0x962A,
+ 2419: 0x583A,
+ 2420: 0x698A,
+ 2421: 0x80B4,
+ 2422: 0x54B2,
+ 2423: 0x5D0E,
+ 2424: 0x57FC,
+ 2425: 0x7895,
+ 2426: 0x9DFA,
+ 2427: 0x4F5C,
+ 2428: 0x524A,
+ 2429: 0x548B,
+ 2430: 0x643E,
+ 2431: 0x6628,
+ 2432: 0x6714,
+ 2433: 0x67F5,
+ 2434: 0x7A84,
+ 2435: 0x7B56,
+ 2436: 0x7D22,
+ 2437: 0x932F,
+ 2438: 0x685C,
+ 2439: 0x9BAD,
+ 2440: 0x7B39,
+ 2441: 0x5319,
+ 2442: 0x518A,
+ 2443: 0x5237,
+ 2444: 0x5BDF,
+ 2445: 0x62F6,
+ 2446: 0x64AE,
+ 2447: 0x64E6,
+ 2448: 0x672D,
+ 2449: 0x6BBA,
+ 2450: 0x85A9,
+ 2451: 0x96D1,
+ 2452: 0x7690,
+ 2453: 0x9BD6,
+ 2454: 0x634C,
+ 2455: 0x9306,
+ 2456: 0x9BAB,
+ 2457: 0x76BF,
+ 2458: 0x6652,
+ 2459: 0x4E09,
+ 2460: 0x5098,
+ 2461: 0x53C2,
+ 2462: 0x5C71,
+ 2463: 0x60E8,
+ 2464: 0x6492,
+ 2465: 0x6563,
+ 2466: 0x685F,
+ 2467: 0x71E6,
+ 2468: 0x73CA,
+ 2469: 0x7523,
+ 2470: 0x7B97,
+ 2471: 0x7E82,
+ 2472: 0x8695,
+ 2473: 0x8B83,
+ 2474: 0x8CDB,
+ 2475: 0x9178,
+ 2476: 0x9910,
+ 2477: 0x65AC,
+ 2478: 0x66AB,
+ 2479: 0x6B8B,
+ 2480: 0x4ED5,
+ 2481: 0x4ED4,
+ 2482: 0x4F3A,
+ 2483: 0x4F7F,
+ 2484: 0x523A,
+ 2485: 0x53F8,
+ 2486: 0x53F2,
+ 2487: 0x55E3,
+ 2488: 0x56DB,
+ 2489: 0x58EB,
+ 2490: 0x59CB,
+ 2491: 0x59C9,
+ 2492: 0x59FF,
+ 2493: 0x5B50,
+ 2494: 0x5C4D,
+ 2495: 0x5E02,
+ 2496: 0x5E2B,
+ 2497: 0x5FD7,
+ 2498: 0x601D,
+ 2499: 0x6307,
+ 2500: 0x652F,
+ 2501: 0x5B5C,
+ 2502: 0x65AF,
+ 2503: 0x65BD,
+ 2504: 0x65E8,
+ 2505: 0x679D,
+ 2506: 0x6B62,
+ 2507: 0x6B7B,
+ 2508: 0x6C0F,
+ 2509: 0x7345,
+ 2510: 0x7949,
+ 2511: 0x79C1,
+ 2512: 0x7CF8,
+ 2513: 0x7D19,
+ 2514: 0x7D2B,
+ 2515: 0x80A2,
+ 2516: 0x8102,
+ 2517: 0x81F3,
+ 2518: 0x8996,
+ 2519: 0x8A5E,
+ 2520: 0x8A69,
+ 2521: 0x8A66,
+ 2522: 0x8A8C,
+ 2523: 0x8AEE,
+ 2524: 0x8CC7,
+ 2525: 0x8CDC,
+ 2526: 0x96CC,
+ 2527: 0x98FC,
+ 2528: 0x6B6F,
+ 2529: 0x4E8B,
+ 2530: 0x4F3C,
+ 2531: 0x4F8D,
+ 2532: 0x5150,
+ 2533: 0x5B57,
+ 2534: 0x5BFA,
+ 2535: 0x6148,
+ 2536: 0x6301,
+ 2537: 0x6642,
+ 2538: 0x6B21,
+ 2539: 0x6ECB,
+ 2540: 0x6CBB,
+ 2541: 0x723E,
+ 2542: 0x74BD,
+ 2543: 0x75D4,
+ 2544: 0x78C1,
+ 2545: 0x793A,
+ 2546: 0x800C,
+ 2547: 0x8033,
+ 2548: 0x81EA,
+ 2549: 0x8494,
+ 2550: 0x8F9E,
+ 2551: 0x6C50,
+ 2552: 0x9E7F,
+ 2553: 0x5F0F,
+ 2554: 0x8B58,
+ 2555: 0x9D2B,
+ 2556: 0x7AFA,
+ 2557: 0x8EF8,
+ 2558: 0x5B8D,
+ 2559: 0x96EB,
+ 2560: 0x4E03,
+ 2561: 0x53F1,
+ 2562: 0x57F7,
+ 2563: 0x5931,
+ 2564: 0x5AC9,
+ 2565: 0x5BA4,
+ 2566: 0x6089,
+ 2567: 0x6E7F,
+ 2568: 0x6F06,
+ 2569: 0x75BE,
+ 2570: 0x8CEA,
+ 2571: 0x5B9F,
+ 2572: 0x8500,
+ 2573: 0x7BE0,
+ 2574: 0x5072,
+ 2575: 0x67F4,
+ 2576: 0x829D,
+ 2577: 0x5C61,
+ 2578: 0x854A,
+ 2579: 0x7E1E,
+ 2580: 0x820E,
+ 2581: 0x5199,
+ 2582: 0x5C04,
+ 2583: 0x6368,
+ 2584: 0x8D66,
+ 2585: 0x659C,
+ 2586: 0x716E,
+ 2587: 0x793E,
+ 2588: 0x7D17,
+ 2589: 0x8005,
+ 2590: 0x8B1D,
+ 2591: 0x8ECA,
+ 2592: 0x906E,
+ 2593: 0x86C7,
+ 2594: 0x90AA,
+ 2595: 0x501F,
+ 2596: 0x52FA,
+ 2597: 0x5C3A,
+ 2598: 0x6753,
+ 2599: 0x707C,
+ 2600: 0x7235,
+ 2601: 0x914C,
+ 2602: 0x91C8,
+ 2603: 0x932B,
+ 2604: 0x82E5,
+ 2605: 0x5BC2,
+ 2606: 0x5F31,
+ 2607: 0x60F9,
+ 2608: 0x4E3B,
+ 2609: 0x53D6,
+ 2610: 0x5B88,
+ 2611: 0x624B,
+ 2612: 0x6731,
+ 2613: 0x6B8A,
+ 2614: 0x72E9,
+ 2615: 0x73E0,
+ 2616: 0x7A2E,
+ 2617: 0x816B,
+ 2618: 0x8DA3,
+ 2619: 0x9152,
+ 2620: 0x9996,
+ 2621: 0x5112,
+ 2622: 0x53D7,
+ 2623: 0x546A,
+ 2624: 0x5BFF,
+ 2625: 0x6388,
+ 2626: 0x6A39,
+ 2627: 0x7DAC,
+ 2628: 0x9700,
+ 2629: 0x56DA,
+ 2630: 0x53CE,
+ 2631: 0x5468,
+ 2632: 0x5B97,
+ 2633: 0x5C31,
+ 2634: 0x5DDE,
+ 2635: 0x4FEE,
+ 2636: 0x6101,
+ 2637: 0x62FE,
+ 2638: 0x6D32,
+ 2639: 0x79C0,
+ 2640: 0x79CB,
+ 2641: 0x7D42,
+ 2642: 0x7E4D,
+ 2643: 0x7FD2,
+ 2644: 0x81ED,
+ 2645: 0x821F,
+ 2646: 0x8490,
+ 2647: 0x8846,
+ 2648: 0x8972,
+ 2649: 0x8B90,
+ 2650: 0x8E74,
+ 2651: 0x8F2F,
+ 2652: 0x9031,
+ 2653: 0x914B,
+ 2654: 0x916C,
+ 2655: 0x96C6,
+ 2656: 0x919C,
+ 2657: 0x4EC0,
+ 2658: 0x4F4F,
+ 2659: 0x5145,
+ 2660: 0x5341,
+ 2661: 0x5F93,
+ 2662: 0x620E,
+ 2663: 0x67D4,
+ 2664: 0x6C41,
+ 2665: 0x6E0B,
+ 2666: 0x7363,
+ 2667: 0x7E26,
+ 2668: 0x91CD,
+ 2669: 0x9283,
+ 2670: 0x53D4,
+ 2671: 0x5919,
+ 2672: 0x5BBF,
+ 2673: 0x6DD1,
+ 2674: 0x795D,
+ 2675: 0x7E2E,
+ 2676: 0x7C9B,
+ 2677: 0x587E,
+ 2678: 0x719F,
+ 2679: 0x51FA,
+ 2680: 0x8853,
+ 2681: 0x8FF0,
+ 2682: 0x4FCA,
+ 2683: 0x5CFB,
+ 2684: 0x6625,
+ 2685: 0x77AC,
+ 2686: 0x7AE3,
+ 2687: 0x821C,
+ 2688: 0x99FF,
+ 2689: 0x51C6,
+ 2690: 0x5FAA,
+ 2691: 0x65EC,
+ 2692: 0x696F,
+ 2693: 0x6B89,
+ 2694: 0x6DF3,
+ 2695: 0x6E96,
+ 2696: 0x6F64,
+ 2697: 0x76FE,
+ 2698: 0x7D14,
+ 2699: 0x5DE1,
+ 2700: 0x9075,
+ 2701: 0x9187,
+ 2702: 0x9806,
+ 2703: 0x51E6,
+ 2704: 0x521D,
+ 2705: 0x6240,
+ 2706: 0x6691,
+ 2707: 0x66D9,
+ 2708: 0x6E1A,
+ 2709: 0x5EB6,
+ 2710: 0x7DD2,
+ 2711: 0x7F72,
+ 2712: 0x66F8,
+ 2713: 0x85AF,
+ 2714: 0x85F7,
+ 2715: 0x8AF8,
+ 2716: 0x52A9,
+ 2717: 0x53D9,
+ 2718: 0x5973,
+ 2719: 0x5E8F,
+ 2720: 0x5F90,
+ 2721: 0x6055,
+ 2722: 0x92E4,
+ 2723: 0x9664,
+ 2724: 0x50B7,
+ 2725: 0x511F,
+ 2726: 0x52DD,
+ 2727: 0x5320,
+ 2728: 0x5347,
+ 2729: 0x53EC,
+ 2730: 0x54E8,
+ 2731: 0x5546,
+ 2732: 0x5531,
+ 2733: 0x5617,
+ 2734: 0x5968,
+ 2735: 0x59BE,
+ 2736: 0x5A3C,
+ 2737: 0x5BB5,
+ 2738: 0x5C06,
+ 2739: 0x5C0F,
+ 2740: 0x5C11,
+ 2741: 0x5C1A,
+ 2742: 0x5E84,
+ 2743: 0x5E8A,
+ 2744: 0x5EE0,
+ 2745: 0x5F70,
+ 2746: 0x627F,
+ 2747: 0x6284,
+ 2748: 0x62DB,
+ 2749: 0x638C,
+ 2750: 0x6377,
+ 2751: 0x6607,
+ 2752: 0x660C,
+ 2753: 0x662D,
+ 2754: 0x6676,
+ 2755: 0x677E,
+ 2756: 0x68A2,
+ 2757: 0x6A1F,
+ 2758: 0x6A35,
+ 2759: 0x6CBC,
+ 2760: 0x6D88,
+ 2761: 0x6E09,
+ 2762: 0x6E58,
+ 2763: 0x713C,
+ 2764: 0x7126,
+ 2765: 0x7167,
+ 2766: 0x75C7,
+ 2767: 0x7701,
+ 2768: 0x785D,
+ 2769: 0x7901,
+ 2770: 0x7965,
+ 2771: 0x79F0,
+ 2772: 0x7AE0,
+ 2773: 0x7B11,
+ 2774: 0x7CA7,
+ 2775: 0x7D39,
+ 2776: 0x8096,
+ 2777: 0x83D6,
+ 2778: 0x848B,
+ 2779: 0x8549,
+ 2780: 0x885D,
+ 2781: 0x88F3,
+ 2782: 0x8A1F,
+ 2783: 0x8A3C,
+ 2784: 0x8A54,
+ 2785: 0x8A73,
+ 2786: 0x8C61,
+ 2787: 0x8CDE,
+ 2788: 0x91A4,
+ 2789: 0x9266,
+ 2790: 0x937E,
+ 2791: 0x9418,
+ 2792: 0x969C,
+ 2793: 0x9798,
+ 2794: 0x4E0A,
+ 2795: 0x4E08,
+ 2796: 0x4E1E,
+ 2797: 0x4E57,
+ 2798: 0x5197,
+ 2799: 0x5270,
+ 2800: 0x57CE,
+ 2801: 0x5834,
+ 2802: 0x58CC,
+ 2803: 0x5B22,
+ 2804: 0x5E38,
+ 2805: 0x60C5,
+ 2806: 0x64FE,
+ 2807: 0x6761,
+ 2808: 0x6756,
+ 2809: 0x6D44,
+ 2810: 0x72B6,
+ 2811: 0x7573,
+ 2812: 0x7A63,
+ 2813: 0x84B8,
+ 2814: 0x8B72,
+ 2815: 0x91B8,
+ 2816: 0x9320,
+ 2817: 0x5631,
+ 2818: 0x57F4,
+ 2819: 0x98FE,
+ 2820: 0x62ED,
+ 2821: 0x690D,
+ 2822: 0x6B96,
+ 2823: 0x71ED,
+ 2824: 0x7E54,
+ 2825: 0x8077,
+ 2826: 0x8272,
+ 2827: 0x89E6,
+ 2828: 0x98DF,
+ 2829: 0x8755,
+ 2830: 0x8FB1,
+ 2831: 0x5C3B,
+ 2832: 0x4F38,
+ 2833: 0x4FE1,
+ 2834: 0x4FB5,
+ 2835: 0x5507,
+ 2836: 0x5A20,
+ 2837: 0x5BDD,
+ 2838: 0x5BE9,
+ 2839: 0x5FC3,
+ 2840: 0x614E,
+ 2841: 0x632F,
+ 2842: 0x65B0,
+ 2843: 0x664B,
+ 2844: 0x68EE,
+ 2845: 0x699B,
+ 2846: 0x6D78,
+ 2847: 0x6DF1,
+ 2848: 0x7533,
+ 2849: 0x75B9,
+ 2850: 0x771F,
+ 2851: 0x795E,
+ 2852: 0x79E6,
+ 2853: 0x7D33,
+ 2854: 0x81E3,
+ 2855: 0x82AF,
+ 2856: 0x85AA,
+ 2857: 0x89AA,
+ 2858: 0x8A3A,
+ 2859: 0x8EAB,
+ 2860: 0x8F9B,
+ 2861: 0x9032,
+ 2862: 0x91DD,
+ 2863: 0x9707,
+ 2864: 0x4EBA,
+ 2865: 0x4EC1,
+ 2866: 0x5203,
+ 2867: 0x5875,
+ 2868: 0x58EC,
+ 2869: 0x5C0B,
+ 2870: 0x751A,
+ 2871: 0x5C3D,
+ 2872: 0x814E,
+ 2873: 0x8A0A,
+ 2874: 0x8FC5,
+ 2875: 0x9663,
+ 2876: 0x976D,
+ 2877: 0x7B25,
+ 2878: 0x8ACF,
+ 2879: 0x9808,
+ 2880: 0x9162,
+ 2881: 0x56F3,
+ 2882: 0x53A8,
+ 2883: 0x9017,
+ 2884: 0x5439,
+ 2885: 0x5782,
+ 2886: 0x5E25,
+ 2887: 0x63A8,
+ 2888: 0x6C34,
+ 2889: 0x708A,
+ 2890: 0x7761,
+ 2891: 0x7C8B,
+ 2892: 0x7FE0,
+ 2893: 0x8870,
+ 2894: 0x9042,
+ 2895: 0x9154,
+ 2896: 0x9310,
+ 2897: 0x9318,
+ 2898: 0x968F,
+ 2899: 0x745E,
+ 2900: 0x9AC4,
+ 2901: 0x5D07,
+ 2902: 0x5D69,
+ 2903: 0x6570,
+ 2904: 0x67A2,
+ 2905: 0x8DA8,
+ 2906: 0x96DB,
+ 2907: 0x636E,
+ 2908: 0x6749,
+ 2909: 0x6919,
+ 2910: 0x83C5,
+ 2911: 0x9817,
+ 2912: 0x96C0,
+ 2913: 0x88FE,
+ 2914: 0x6F84,
+ 2915: 0x647A,
+ 2916: 0x5BF8,
+ 2917: 0x4E16,
+ 2918: 0x702C,
+ 2919: 0x755D,
+ 2920: 0x662F,
+ 2921: 0x51C4,
+ 2922: 0x5236,
+ 2923: 0x52E2,
+ 2924: 0x59D3,
+ 2925: 0x5F81,
+ 2926: 0x6027,
+ 2927: 0x6210,
+ 2928: 0x653F,
+ 2929: 0x6574,
+ 2930: 0x661F,
+ 2931: 0x6674,
+ 2932: 0x68F2,
+ 2933: 0x6816,
+ 2934: 0x6B63,
+ 2935: 0x6E05,
+ 2936: 0x7272,
+ 2937: 0x751F,
+ 2938: 0x76DB,
+ 2939: 0x7CBE,
+ 2940: 0x8056,
+ 2941: 0x58F0,
+ 2942: 0x88FD,
+ 2943: 0x897F,
+ 2944: 0x8AA0,
+ 2945: 0x8A93,
+ 2946: 0x8ACB,
+ 2947: 0x901D,
+ 2948: 0x9192,
+ 2949: 0x9752,
+ 2950: 0x9759,
+ 2951: 0x6589,
+ 2952: 0x7A0E,
+ 2953: 0x8106,
+ 2954: 0x96BB,
+ 2955: 0x5E2D,
+ 2956: 0x60DC,
+ 2957: 0x621A,
+ 2958: 0x65A5,
+ 2959: 0x6614,
+ 2960: 0x6790,
+ 2961: 0x77F3,
+ 2962: 0x7A4D,
+ 2963: 0x7C4D,
+ 2964: 0x7E3E,
+ 2965: 0x810A,
+ 2966: 0x8CAC,
+ 2967: 0x8D64,
+ 2968: 0x8DE1,
+ 2969: 0x8E5F,
+ 2970: 0x78A9,
+ 2971: 0x5207,
+ 2972: 0x62D9,
+ 2973: 0x63A5,
+ 2974: 0x6442,
+ 2975: 0x6298,
+ 2976: 0x8A2D,
+ 2977: 0x7A83,
+ 2978: 0x7BC0,
+ 2979: 0x8AAC,
+ 2980: 0x96EA,
+ 2981: 0x7D76,
+ 2982: 0x820C,
+ 2983: 0x8749,
+ 2984: 0x4ED9,
+ 2985: 0x5148,
+ 2986: 0x5343,
+ 2987: 0x5360,
+ 2988: 0x5BA3,
+ 2989: 0x5C02,
+ 2990: 0x5C16,
+ 2991: 0x5DDD,
+ 2992: 0x6226,
+ 2993: 0x6247,
+ 2994: 0x64B0,
+ 2995: 0x6813,
+ 2996: 0x6834,
+ 2997: 0x6CC9,
+ 2998: 0x6D45,
+ 2999: 0x6D17,
+ 3000: 0x67D3,
+ 3001: 0x6F5C,
+ 3002: 0x714E,
+ 3003: 0x717D,
+ 3004: 0x65CB,
+ 3005: 0x7A7F,
+ 3006: 0x7BAD,
+ 3007: 0x7DDA,
+ 3008: 0x7E4A,
+ 3009: 0x7FA8,
+ 3010: 0x817A,
+ 3011: 0x821B,
+ 3012: 0x8239,
+ 3013: 0x85A6,
+ 3014: 0x8A6E,
+ 3015: 0x8CCE,
+ 3016: 0x8DF5,
+ 3017: 0x9078,
+ 3018: 0x9077,
+ 3019: 0x92AD,
+ 3020: 0x9291,
+ 3021: 0x9583,
+ 3022: 0x9BAE,
+ 3023: 0x524D,
+ 3024: 0x5584,
+ 3025: 0x6F38,
+ 3026: 0x7136,
+ 3027: 0x5168,
+ 3028: 0x7985,
+ 3029: 0x7E55,
+ 3030: 0x81B3,
+ 3031: 0x7CCE,
+ 3032: 0x564C,
+ 3033: 0x5851,
+ 3034: 0x5CA8,
+ 3035: 0x63AA,
+ 3036: 0x66FE,
+ 3037: 0x66FD,
+ 3038: 0x695A,
+ 3039: 0x72D9,
+ 3040: 0x758F,
+ 3041: 0x758E,
+ 3042: 0x790E,
+ 3043: 0x7956,
+ 3044: 0x79DF,
+ 3045: 0x7C97,
+ 3046: 0x7D20,
+ 3047: 0x7D44,
+ 3048: 0x8607,
+ 3049: 0x8A34,
+ 3050: 0x963B,
+ 3051: 0x9061,
+ 3052: 0x9F20,
+ 3053: 0x50E7,
+ 3054: 0x5275,
+ 3055: 0x53CC,
+ 3056: 0x53E2,
+ 3057: 0x5009,
+ 3058: 0x55AA,
+ 3059: 0x58EE,
+ 3060: 0x594F,
+ 3061: 0x723D,
+ 3062: 0x5B8B,
+ 3063: 0x5C64,
+ 3064: 0x531D,
+ 3065: 0x60E3,
+ 3066: 0x60F3,
+ 3067: 0x635C,
+ 3068: 0x6383,
+ 3069: 0x633F,
+ 3070: 0x63BB,
+ 3071: 0x64CD,
+ 3072: 0x65E9,
+ 3073: 0x66F9,
+ 3074: 0x5DE3,
+ 3075: 0x69CD,
+ 3076: 0x69FD,
+ 3077: 0x6F15,
+ 3078: 0x71E5,
+ 3079: 0x4E89,
+ 3080: 0x75E9,
+ 3081: 0x76F8,
+ 3082: 0x7A93,
+ 3083: 0x7CDF,
+ 3084: 0x7DCF,
+ 3085: 0x7D9C,
+ 3086: 0x8061,
+ 3087: 0x8349,
+ 3088: 0x8358,
+ 3089: 0x846C,
+ 3090: 0x84BC,
+ 3091: 0x85FB,
+ 3092: 0x88C5,
+ 3093: 0x8D70,
+ 3094: 0x9001,
+ 3095: 0x906D,
+ 3096: 0x9397,
+ 3097: 0x971C,
+ 3098: 0x9A12,
+ 3099: 0x50CF,
+ 3100: 0x5897,
+ 3101: 0x618E,
+ 3102: 0x81D3,
+ 3103: 0x8535,
+ 3104: 0x8D08,
+ 3105: 0x9020,
+ 3106: 0x4FC3,
+ 3107: 0x5074,
+ 3108: 0x5247,
+ 3109: 0x5373,
+ 3110: 0x606F,
+ 3111: 0x6349,
+ 3112: 0x675F,
+ 3113: 0x6E2C,
+ 3114: 0x8DB3,
+ 3115: 0x901F,
+ 3116: 0x4FD7,
+ 3117: 0x5C5E,
+ 3118: 0x8CCA,
+ 3119: 0x65CF,
+ 3120: 0x7D9A,
+ 3121: 0x5352,
+ 3122: 0x8896,
+ 3123: 0x5176,
+ 3124: 0x63C3,
+ 3125: 0x5B58,
+ 3126: 0x5B6B,
+ 3127: 0x5C0A,
+ 3128: 0x640D,
+ 3129: 0x6751,
+ 3130: 0x905C,
+ 3131: 0x4ED6,
+ 3132: 0x591A,
+ 3133: 0x592A,
+ 3134: 0x6C70,
+ 3135: 0x8A51,
+ 3136: 0x553E,
+ 3137: 0x5815,
+ 3138: 0x59A5,
+ 3139: 0x60F0,
+ 3140: 0x6253,
+ 3141: 0x67C1,
+ 3142: 0x8235,
+ 3143: 0x6955,
+ 3144: 0x9640,
+ 3145: 0x99C4,
+ 3146: 0x9A28,
+ 3147: 0x4F53,
+ 3148: 0x5806,
+ 3149: 0x5BFE,
+ 3150: 0x8010,
+ 3151: 0x5CB1,
+ 3152: 0x5E2F,
+ 3153: 0x5F85,
+ 3154: 0x6020,
+ 3155: 0x614B,
+ 3156: 0x6234,
+ 3157: 0x66FF,
+ 3158: 0x6CF0,
+ 3159: 0x6EDE,
+ 3160: 0x80CE,
+ 3161: 0x817F,
+ 3162: 0x82D4,
+ 3163: 0x888B,
+ 3164: 0x8CB8,
+ 3165: 0x9000,
+ 3166: 0x902E,
+ 3167: 0x968A,
+ 3168: 0x9EDB,
+ 3169: 0x9BDB,
+ 3170: 0x4EE3,
+ 3171: 0x53F0,
+ 3172: 0x5927,
+ 3173: 0x7B2C,
+ 3174: 0x918D,
+ 3175: 0x984C,
+ 3176: 0x9DF9,
+ 3177: 0x6EDD,
+ 3178: 0x7027,
+ 3179: 0x5353,
+ 3180: 0x5544,
+ 3181: 0x5B85,
+ 3182: 0x6258,
+ 3183: 0x629E,
+ 3184: 0x62D3,
+ 3185: 0x6CA2,
+ 3186: 0x6FEF,
+ 3187: 0x7422,
+ 3188: 0x8A17,
+ 3189: 0x9438,
+ 3190: 0x6FC1,
+ 3191: 0x8AFE,
+ 3192: 0x8338,
+ 3193: 0x51E7,
+ 3194: 0x86F8,
+ 3195: 0x53EA,
+ 3196: 0x53E9,
+ 3197: 0x4F46,
+ 3198: 0x9054,
+ 3199: 0x8FB0,
+ 3200: 0x596A,
+ 3201: 0x8131,
+ 3202: 0x5DFD,
+ 3203: 0x7AEA,
+ 3204: 0x8FBF,
+ 3205: 0x68DA,
+ 3206: 0x8C37,
+ 3207: 0x72F8,
+ 3208: 0x9C48,
+ 3209: 0x6A3D,
+ 3210: 0x8AB0,
+ 3211: 0x4E39,
+ 3212: 0x5358,
+ 3213: 0x5606,
+ 3214: 0x5766,
+ 3215: 0x62C5,
+ 3216: 0x63A2,
+ 3217: 0x65E6,
+ 3218: 0x6B4E,
+ 3219: 0x6DE1,
+ 3220: 0x6E5B,
+ 3221: 0x70AD,
+ 3222: 0x77ED,
+ 3223: 0x7AEF,
+ 3224: 0x7BAA,
+ 3225: 0x7DBB,
+ 3226: 0x803D,
+ 3227: 0x80C6,
+ 3228: 0x86CB,
+ 3229: 0x8A95,
+ 3230: 0x935B,
+ 3231: 0x56E3,
+ 3232: 0x58C7,
+ 3233: 0x5F3E,
+ 3234: 0x65AD,
+ 3235: 0x6696,
+ 3236: 0x6A80,
+ 3237: 0x6BB5,
+ 3238: 0x7537,
+ 3239: 0x8AC7,
+ 3240: 0x5024,
+ 3241: 0x77E5,
+ 3242: 0x5730,
+ 3243: 0x5F1B,
+ 3244: 0x6065,
+ 3245: 0x667A,
+ 3246: 0x6C60,
+ 3247: 0x75F4,
+ 3248: 0x7A1A,
+ 3249: 0x7F6E,
+ 3250: 0x81F4,
+ 3251: 0x8718,
+ 3252: 0x9045,
+ 3253: 0x99B3,
+ 3254: 0x7BC9,
+ 3255: 0x755C,
+ 3256: 0x7AF9,
+ 3257: 0x7B51,
+ 3258: 0x84C4,
+ 3259: 0x9010,
+ 3260: 0x79E9,
+ 3261: 0x7A92,
+ 3262: 0x8336,
+ 3263: 0x5AE1,
+ 3264: 0x7740,
+ 3265: 0x4E2D,
+ 3266: 0x4EF2,
+ 3267: 0x5B99,
+ 3268: 0x5FE0,
+ 3269: 0x62BD,
+ 3270: 0x663C,
+ 3271: 0x67F1,
+ 3272: 0x6CE8,
+ 3273: 0x866B,
+ 3274: 0x8877,
+ 3275: 0x8A3B,
+ 3276: 0x914E,
+ 3277: 0x92F3,
+ 3278: 0x99D0,
+ 3279: 0x6A17,
+ 3280: 0x7026,
+ 3281: 0x732A,
+ 3282: 0x82E7,
+ 3283: 0x8457,
+ 3284: 0x8CAF,
+ 3285: 0x4E01,
+ 3286: 0x5146,
+ 3287: 0x51CB,
+ 3288: 0x558B,
+ 3289: 0x5BF5,
+ 3290: 0x5E16,
+ 3291: 0x5E33,
+ 3292: 0x5E81,
+ 3293: 0x5F14,
+ 3294: 0x5F35,
+ 3295: 0x5F6B,
+ 3296: 0x5FB4,
+ 3297: 0x61F2,
+ 3298: 0x6311,
+ 3299: 0x66A2,
+ 3300: 0x671D,
+ 3301: 0x6F6E,
+ 3302: 0x7252,
+ 3303: 0x753A,
+ 3304: 0x773A,
+ 3305: 0x8074,
+ 3306: 0x8139,
+ 3307: 0x8178,
+ 3308: 0x8776,
+ 3309: 0x8ABF,
+ 3310: 0x8ADC,
+ 3311: 0x8D85,
+ 3312: 0x8DF3,
+ 3313: 0x929A,
+ 3314: 0x9577,
+ 3315: 0x9802,
+ 3316: 0x9CE5,
+ 3317: 0x52C5,
+ 3318: 0x6357,
+ 3319: 0x76F4,
+ 3320: 0x6715,
+ 3321: 0x6C88,
+ 3322: 0x73CD,
+ 3323: 0x8CC3,
+ 3324: 0x93AE,
+ 3325: 0x9673,
+ 3326: 0x6D25,
+ 3327: 0x589C,
+ 3328: 0x690E,
+ 3329: 0x69CC,
+ 3330: 0x8FFD,
+ 3331: 0x939A,
+ 3332: 0x75DB,
+ 3333: 0x901A,
+ 3334: 0x585A,
+ 3335: 0x6802,
+ 3336: 0x63B4,
+ 3337: 0x69FB,
+ 3338: 0x4F43,
+ 3339: 0x6F2C,
+ 3340: 0x67D8,
+ 3341: 0x8FBB,
+ 3342: 0x8526,
+ 3343: 0x7DB4,
+ 3344: 0x9354,
+ 3345: 0x693F,
+ 3346: 0x6F70,
+ 3347: 0x576A,
+ 3348: 0x58F7,
+ 3349: 0x5B2C,
+ 3350: 0x7D2C,
+ 3351: 0x722A,
+ 3352: 0x540A,
+ 3353: 0x91E3,
+ 3354: 0x9DB4,
+ 3355: 0x4EAD,
+ 3356: 0x4F4E,
+ 3357: 0x505C,
+ 3358: 0x5075,
+ 3359: 0x5243,
+ 3360: 0x8C9E,
+ 3361: 0x5448,
+ 3362: 0x5824,
+ 3363: 0x5B9A,
+ 3364: 0x5E1D,
+ 3365: 0x5E95,
+ 3366: 0x5EAD,
+ 3367: 0x5EF7,
+ 3368: 0x5F1F,
+ 3369: 0x608C,
+ 3370: 0x62B5,
+ 3371: 0x633A,
+ 3372: 0x63D0,
+ 3373: 0x68AF,
+ 3374: 0x6C40,
+ 3375: 0x7887,
+ 3376: 0x798E,
+ 3377: 0x7A0B,
+ 3378: 0x7DE0,
+ 3379: 0x8247,
+ 3380: 0x8A02,
+ 3381: 0x8AE6,
+ 3382: 0x8E44,
+ 3383: 0x9013,
+ 3384: 0x90B8,
+ 3385: 0x912D,
+ 3386: 0x91D8,
+ 3387: 0x9F0E,
+ 3388: 0x6CE5,
+ 3389: 0x6458,
+ 3390: 0x64E2,
+ 3391: 0x6575,
+ 3392: 0x6EF4,
+ 3393: 0x7684,
+ 3394: 0x7B1B,
+ 3395: 0x9069,
+ 3396: 0x93D1,
+ 3397: 0x6EBA,
+ 3398: 0x54F2,
+ 3399: 0x5FB9,
+ 3400: 0x64A4,
+ 3401: 0x8F4D,
+ 3402: 0x8FED,
+ 3403: 0x9244,
+ 3404: 0x5178,
+ 3405: 0x586B,
+ 3406: 0x5929,
+ 3407: 0x5C55,
+ 3408: 0x5E97,
+ 3409: 0x6DFB,
+ 3410: 0x7E8F,
+ 3411: 0x751C,
+ 3412: 0x8CBC,
+ 3413: 0x8EE2,
+ 3414: 0x985B,
+ 3415: 0x70B9,
+ 3416: 0x4F1D,
+ 3417: 0x6BBF,
+ 3418: 0x6FB1,
+ 3419: 0x7530,
+ 3420: 0x96FB,
+ 3421: 0x514E,
+ 3422: 0x5410,
+ 3423: 0x5835,
+ 3424: 0x5857,
+ 3425: 0x59AC,
+ 3426: 0x5C60,
+ 3427: 0x5F92,
+ 3428: 0x6597,
+ 3429: 0x675C,
+ 3430: 0x6E21,
+ 3431: 0x767B,
+ 3432: 0x83DF,
+ 3433: 0x8CED,
+ 3434: 0x9014,
+ 3435: 0x90FD,
+ 3436: 0x934D,
+ 3437: 0x7825,
+ 3438: 0x783A,
+ 3439: 0x52AA,
+ 3440: 0x5EA6,
+ 3441: 0x571F,
+ 3442: 0x5974,
+ 3443: 0x6012,
+ 3444: 0x5012,
+ 3445: 0x515A,
+ 3446: 0x51AC,
+ 3447: 0x51CD,
+ 3448: 0x5200,
+ 3449: 0x5510,
+ 3450: 0x5854,
+ 3451: 0x5858,
+ 3452: 0x5957,
+ 3453: 0x5B95,
+ 3454: 0x5CF6,
+ 3455: 0x5D8B,
+ 3456: 0x60BC,
+ 3457: 0x6295,
+ 3458: 0x642D,
+ 3459: 0x6771,
+ 3460: 0x6843,
+ 3461: 0x68BC,
+ 3462: 0x68DF,
+ 3463: 0x76D7,
+ 3464: 0x6DD8,
+ 3465: 0x6E6F,
+ 3466: 0x6D9B,
+ 3467: 0x706F,
+ 3468: 0x71C8,
+ 3469: 0x5F53,
+ 3470: 0x75D8,
+ 3471: 0x7977,
+ 3472: 0x7B49,
+ 3473: 0x7B54,
+ 3474: 0x7B52,
+ 3475: 0x7CD6,
+ 3476: 0x7D71,
+ 3477: 0x5230,
+ 3478: 0x8463,
+ 3479: 0x8569,
+ 3480: 0x85E4,
+ 3481: 0x8A0E,
+ 3482: 0x8B04,
+ 3483: 0x8C46,
+ 3484: 0x8E0F,
+ 3485: 0x9003,
+ 3486: 0x900F,
+ 3487: 0x9419,
+ 3488: 0x9676,
+ 3489: 0x982D,
+ 3490: 0x9A30,
+ 3491: 0x95D8,
+ 3492: 0x50CD,
+ 3493: 0x52D5,
+ 3494: 0x540C,
+ 3495: 0x5802,
+ 3496: 0x5C0E,
+ 3497: 0x61A7,
+ 3498: 0x649E,
+ 3499: 0x6D1E,
+ 3500: 0x77B3,
+ 3501: 0x7AE5,
+ 3502: 0x80F4,
+ 3503: 0x8404,
+ 3504: 0x9053,
+ 3505: 0x9285,
+ 3506: 0x5CE0,
+ 3507: 0x9D07,
+ 3508: 0x533F,
+ 3509: 0x5F97,
+ 3510: 0x5FB3,
+ 3511: 0x6D9C,
+ 3512: 0x7279,
+ 3513: 0x7763,
+ 3514: 0x79BF,
+ 3515: 0x7BE4,
+ 3516: 0x6BD2,
+ 3517: 0x72EC,
+ 3518: 0x8AAD,
+ 3519: 0x6803,
+ 3520: 0x6A61,
+ 3521: 0x51F8,
+ 3522: 0x7A81,
+ 3523: 0x6934,
+ 3524: 0x5C4A,
+ 3525: 0x9CF6,
+ 3526: 0x82EB,
+ 3527: 0x5BC5,
+ 3528: 0x9149,
+ 3529: 0x701E,
+ 3530: 0x5678,
+ 3531: 0x5C6F,
+ 3532: 0x60C7,
+ 3533: 0x6566,
+ 3534: 0x6C8C,
+ 3535: 0x8C5A,
+ 3536: 0x9041,
+ 3537: 0x9813,
+ 3538: 0x5451,
+ 3539: 0x66C7,
+ 3540: 0x920D,
+ 3541: 0x5948,
+ 3542: 0x90A3,
+ 3543: 0x5185,
+ 3544: 0x4E4D,
+ 3545: 0x51EA,
+ 3546: 0x8599,
+ 3547: 0x8B0E,
+ 3548: 0x7058,
+ 3549: 0x637A,
+ 3550: 0x934B,
+ 3551: 0x6962,
+ 3552: 0x99B4,
+ 3553: 0x7E04,
+ 3554: 0x7577,
+ 3555: 0x5357,
+ 3556: 0x6960,
+ 3557: 0x8EDF,
+ 3558: 0x96E3,
+ 3559: 0x6C5D,
+ 3560: 0x4E8C,
+ 3561: 0x5C3C,
+ 3562: 0x5F10,
+ 3563: 0x8FE9,
+ 3564: 0x5302,
+ 3565: 0x8CD1,
+ 3566: 0x8089,
+ 3567: 0x8679,
+ 3568: 0x5EFF,
+ 3569: 0x65E5,
+ 3570: 0x4E73,
+ 3571: 0x5165,
+ 3572: 0x5982,
+ 3573: 0x5C3F,
+ 3574: 0x97EE,
+ 3575: 0x4EFB,
+ 3576: 0x598A,
+ 3577: 0x5FCD,
+ 3578: 0x8A8D,
+ 3579: 0x6FE1,
+ 3580: 0x79B0,
+ 3581: 0x7962,
+ 3582: 0x5BE7,
+ 3583: 0x8471,
+ 3584: 0x732B,
+ 3585: 0x71B1,
+ 3586: 0x5E74,
+ 3587: 0x5FF5,
+ 3588: 0x637B,
+ 3589: 0x649A,
+ 3590: 0x71C3,
+ 3591: 0x7C98,
+ 3592: 0x4E43,
+ 3593: 0x5EFC,
+ 3594: 0x4E4B,
+ 3595: 0x57DC,
+ 3596: 0x56A2,
+ 3597: 0x60A9,
+ 3598: 0x6FC3,
+ 3599: 0x7D0D,
+ 3600: 0x80FD,
+ 3601: 0x8133,
+ 3602: 0x81BF,
+ 3603: 0x8FB2,
+ 3604: 0x8997,
+ 3605: 0x86A4,
+ 3606: 0x5DF4,
+ 3607: 0x628A,
+ 3608: 0x64AD,
+ 3609: 0x8987,
+ 3610: 0x6777,
+ 3611: 0x6CE2,
+ 3612: 0x6D3E,
+ 3613: 0x7436,
+ 3614: 0x7834,
+ 3615: 0x5A46,
+ 3616: 0x7F75,
+ 3617: 0x82AD,
+ 3618: 0x99AC,
+ 3619: 0x4FF3,
+ 3620: 0x5EC3,
+ 3621: 0x62DD,
+ 3622: 0x6392,
+ 3623: 0x6557,
+ 3624: 0x676F,
+ 3625: 0x76C3,
+ 3626: 0x724C,
+ 3627: 0x80CC,
+ 3628: 0x80BA,
+ 3629: 0x8F29,
+ 3630: 0x914D,
+ 3631: 0x500D,
+ 3632: 0x57F9,
+ 3633: 0x5A92,
+ 3634: 0x6885,
+ 3635: 0x6973,
+ 3636: 0x7164,
+ 3637: 0x72FD,
+ 3638: 0x8CB7,
+ 3639: 0x58F2,
+ 3640: 0x8CE0,
+ 3641: 0x966A,
+ 3642: 0x9019,
+ 3643: 0x877F,
+ 3644: 0x79E4,
+ 3645: 0x77E7,
+ 3646: 0x8429,
+ 3647: 0x4F2F,
+ 3648: 0x5265,
+ 3649: 0x535A,
+ 3650: 0x62CD,
+ 3651: 0x67CF,
+ 3652: 0x6CCA,
+ 3653: 0x767D,
+ 3654: 0x7B94,
+ 3655: 0x7C95,
+ 3656: 0x8236,
+ 3657: 0x8584,
+ 3658: 0x8FEB,
+ 3659: 0x66DD,
+ 3660: 0x6F20,
+ 3661: 0x7206,
+ 3662: 0x7E1B,
+ 3663: 0x83AB,
+ 3664: 0x99C1,
+ 3665: 0x9EA6,
+ 3666: 0x51FD,
+ 3667: 0x7BB1,
+ 3668: 0x7872,
+ 3669: 0x7BB8,
+ 3670: 0x8087,
+ 3671: 0x7B48,
+ 3672: 0x6AE8,
+ 3673: 0x5E61,
+ 3674: 0x808C,
+ 3675: 0x7551,
+ 3676: 0x7560,
+ 3677: 0x516B,
+ 3678: 0x9262,
+ 3679: 0x6E8C,
+ 3680: 0x767A,
+ 3681: 0x9197,
+ 3682: 0x9AEA,
+ 3683: 0x4F10,
+ 3684: 0x7F70,
+ 3685: 0x629C,
+ 3686: 0x7B4F,
+ 3687: 0x95A5,
+ 3688: 0x9CE9,
+ 3689: 0x567A,
+ 3690: 0x5859,
+ 3691: 0x86E4,
+ 3692: 0x96BC,
+ 3693: 0x4F34,
+ 3694: 0x5224,
+ 3695: 0x534A,
+ 3696: 0x53CD,
+ 3697: 0x53DB,
+ 3698: 0x5E06,
+ 3699: 0x642C,
+ 3700: 0x6591,
+ 3701: 0x677F,
+ 3702: 0x6C3E,
+ 3703: 0x6C4E,
+ 3704: 0x7248,
+ 3705: 0x72AF,
+ 3706: 0x73ED,
+ 3707: 0x7554,
+ 3708: 0x7E41,
+ 3709: 0x822C,
+ 3710: 0x85E9,
+ 3711: 0x8CA9,
+ 3712: 0x7BC4,
+ 3713: 0x91C6,
+ 3714: 0x7169,
+ 3715: 0x9812,
+ 3716: 0x98EF,
+ 3717: 0x633D,
+ 3718: 0x6669,
+ 3719: 0x756A,
+ 3720: 0x76E4,
+ 3721: 0x78D0,
+ 3722: 0x8543,
+ 3723: 0x86EE,
+ 3724: 0x532A,
+ 3725: 0x5351,
+ 3726: 0x5426,
+ 3727: 0x5983,
+ 3728: 0x5E87,
+ 3729: 0x5F7C,
+ 3730: 0x60B2,
+ 3731: 0x6249,
+ 3732: 0x6279,
+ 3733: 0x62AB,
+ 3734: 0x6590,
+ 3735: 0x6BD4,
+ 3736: 0x6CCC,
+ 3737: 0x75B2,
+ 3738: 0x76AE,
+ 3739: 0x7891,
+ 3740: 0x79D8,
+ 3741: 0x7DCB,
+ 3742: 0x7F77,
+ 3743: 0x80A5,
+ 3744: 0x88AB,
+ 3745: 0x8AB9,
+ 3746: 0x8CBB,
+ 3747: 0x907F,
+ 3748: 0x975E,
+ 3749: 0x98DB,
+ 3750: 0x6A0B,
+ 3751: 0x7C38,
+ 3752: 0x5099,
+ 3753: 0x5C3E,
+ 3754: 0x5FAE,
+ 3755: 0x6787,
+ 3756: 0x6BD8,
+ 3757: 0x7435,
+ 3758: 0x7709,
+ 3759: 0x7F8E,
+ 3760: 0x9F3B,
+ 3761: 0x67CA,
+ 3762: 0x7A17,
+ 3763: 0x5339,
+ 3764: 0x758B,
+ 3765: 0x9AED,
+ 3766: 0x5F66,
+ 3767: 0x819D,
+ 3768: 0x83F1,
+ 3769: 0x8098,
+ 3770: 0x5F3C,
+ 3771: 0x5FC5,
+ 3772: 0x7562,
+ 3773: 0x7B46,
+ 3774: 0x903C,
+ 3775: 0x6867,
+ 3776: 0x59EB,
+ 3777: 0x5A9B,
+ 3778: 0x7D10,
+ 3779: 0x767E,
+ 3780: 0x8B2C,
+ 3781: 0x4FF5,
+ 3782: 0x5F6A,
+ 3783: 0x6A19,
+ 3784: 0x6C37,
+ 3785: 0x6F02,
+ 3786: 0x74E2,
+ 3787: 0x7968,
+ 3788: 0x8868,
+ 3789: 0x8A55,
+ 3790: 0x8C79,
+ 3791: 0x5EDF,
+ 3792: 0x63CF,
+ 3793: 0x75C5,
+ 3794: 0x79D2,
+ 3795: 0x82D7,
+ 3796: 0x9328,
+ 3797: 0x92F2,
+ 3798: 0x849C,
+ 3799: 0x86ED,
+ 3800: 0x9C2D,
+ 3801: 0x54C1,
+ 3802: 0x5F6C,
+ 3803: 0x658C,
+ 3804: 0x6D5C,
+ 3805: 0x7015,
+ 3806: 0x8CA7,
+ 3807: 0x8CD3,
+ 3808: 0x983B,
+ 3809: 0x654F,
+ 3810: 0x74F6,
+ 3811: 0x4E0D,
+ 3812: 0x4ED8,
+ 3813: 0x57E0,
+ 3814: 0x592B,
+ 3815: 0x5A66,
+ 3816: 0x5BCC,
+ 3817: 0x51A8,
+ 3818: 0x5E03,
+ 3819: 0x5E9C,
+ 3820: 0x6016,
+ 3821: 0x6276,
+ 3822: 0x6577,
+ 3823: 0x65A7,
+ 3824: 0x666E,
+ 3825: 0x6D6E,
+ 3826: 0x7236,
+ 3827: 0x7B26,
+ 3828: 0x8150,
+ 3829: 0x819A,
+ 3830: 0x8299,
+ 3831: 0x8B5C,
+ 3832: 0x8CA0,
+ 3833: 0x8CE6,
+ 3834: 0x8D74,
+ 3835: 0x961C,
+ 3836: 0x9644,
+ 3837: 0x4FAE,
+ 3838: 0x64AB,
+ 3839: 0x6B66,
+ 3840: 0x821E,
+ 3841: 0x8461,
+ 3842: 0x856A,
+ 3843: 0x90E8,
+ 3844: 0x5C01,
+ 3845: 0x6953,
+ 3846: 0x98A8,
+ 3847: 0x847A,
+ 3848: 0x8557,
+ 3849: 0x4F0F,
+ 3850: 0x526F,
+ 3851: 0x5FA9,
+ 3852: 0x5E45,
+ 3853: 0x670D,
+ 3854: 0x798F,
+ 3855: 0x8179,
+ 3856: 0x8907,
+ 3857: 0x8986,
+ 3858: 0x6DF5,
+ 3859: 0x5F17,
+ 3860: 0x6255,
+ 3861: 0x6CB8,
+ 3862: 0x4ECF,
+ 3863: 0x7269,
+ 3864: 0x9B92,
+ 3865: 0x5206,
+ 3866: 0x543B,
+ 3867: 0x5674,
+ 3868: 0x58B3,
+ 3869: 0x61A4,
+ 3870: 0x626E,
+ 3871: 0x711A,
+ 3872: 0x596E,
+ 3873: 0x7C89,
+ 3874: 0x7CDE,
+ 3875: 0x7D1B,
+ 3876: 0x96F0,
+ 3877: 0x6587,
+ 3878: 0x805E,
+ 3879: 0x4E19,
+ 3880: 0x4F75,
+ 3881: 0x5175,
+ 3882: 0x5840,
+ 3883: 0x5E63,
+ 3884: 0x5E73,
+ 3885: 0x5F0A,
+ 3886: 0x67C4,
+ 3887: 0x4E26,
+ 3888: 0x853D,
+ 3889: 0x9589,
+ 3890: 0x965B,
+ 3891: 0x7C73,
+ 3892: 0x9801,
+ 3893: 0x50FB,
+ 3894: 0x58C1,
+ 3895: 0x7656,
+ 3896: 0x78A7,
+ 3897: 0x5225,
+ 3898: 0x77A5,
+ 3899: 0x8511,
+ 3900: 0x7B86,
+ 3901: 0x504F,
+ 3902: 0x5909,
+ 3903: 0x7247,
+ 3904: 0x7BC7,
+ 3905: 0x7DE8,
+ 3906: 0x8FBA,
+ 3907: 0x8FD4,
+ 3908: 0x904D,
+ 3909: 0x4FBF,
+ 3910: 0x52C9,
+ 3911: 0x5A29,
+ 3912: 0x5F01,
+ 3913: 0x97AD,
+ 3914: 0x4FDD,
+ 3915: 0x8217,
+ 3916: 0x92EA,
+ 3917: 0x5703,
+ 3918: 0x6355,
+ 3919: 0x6B69,
+ 3920: 0x752B,
+ 3921: 0x88DC,
+ 3922: 0x8F14,
+ 3923: 0x7A42,
+ 3924: 0x52DF,
+ 3925: 0x5893,
+ 3926: 0x6155,
+ 3927: 0x620A,
+ 3928: 0x66AE,
+ 3929: 0x6BCD,
+ 3930: 0x7C3F,
+ 3931: 0x83E9,
+ 3932: 0x5023,
+ 3933: 0x4FF8,
+ 3934: 0x5305,
+ 3935: 0x5446,
+ 3936: 0x5831,
+ 3937: 0x5949,
+ 3938: 0x5B9D,
+ 3939: 0x5CF0,
+ 3940: 0x5CEF,
+ 3941: 0x5D29,
+ 3942: 0x5E96,
+ 3943: 0x62B1,
+ 3944: 0x6367,
+ 3945: 0x653E,
+ 3946: 0x65B9,
+ 3947: 0x670B,
+ 3948: 0x6CD5,
+ 3949: 0x6CE1,
+ 3950: 0x70F9,
+ 3951: 0x7832,
+ 3952: 0x7E2B,
+ 3953: 0x80DE,
+ 3954: 0x82B3,
+ 3955: 0x840C,
+ 3956: 0x84EC,
+ 3957: 0x8702,
+ 3958: 0x8912,
+ 3959: 0x8A2A,
+ 3960: 0x8C4A,
+ 3961: 0x90A6,
+ 3962: 0x92D2,
+ 3963: 0x98FD,
+ 3964: 0x9CF3,
+ 3965: 0x9D6C,
+ 3966: 0x4E4F,
+ 3967: 0x4EA1,
+ 3968: 0x508D,
+ 3969: 0x5256,
+ 3970: 0x574A,
+ 3971: 0x59A8,
+ 3972: 0x5E3D,
+ 3973: 0x5FD8,
+ 3974: 0x5FD9,
+ 3975: 0x623F,
+ 3976: 0x66B4,
+ 3977: 0x671B,
+ 3978: 0x67D0,
+ 3979: 0x68D2,
+ 3980: 0x5192,
+ 3981: 0x7D21,
+ 3982: 0x80AA,
+ 3983: 0x81A8,
+ 3984: 0x8B00,
+ 3985: 0x8C8C,
+ 3986: 0x8CBF,
+ 3987: 0x927E,
+ 3988: 0x9632,
+ 3989: 0x5420,
+ 3990: 0x982C,
+ 3991: 0x5317,
+ 3992: 0x50D5,
+ 3993: 0x535C,
+ 3994: 0x58A8,
+ 3995: 0x64B2,
+ 3996: 0x6734,
+ 3997: 0x7267,
+ 3998: 0x7766,
+ 3999: 0x7A46,
+ 4000: 0x91E6,
+ 4001: 0x52C3,
+ 4002: 0x6CA1,
+ 4003: 0x6B86,
+ 4004: 0x5800,
+ 4005: 0x5E4C,
+ 4006: 0x5954,
+ 4007: 0x672C,
+ 4008: 0x7FFB,
+ 4009: 0x51E1,
+ 4010: 0x76C6,
+ 4011: 0x6469,
+ 4012: 0x78E8,
+ 4013: 0x9B54,
+ 4014: 0x9EBB,
+ 4015: 0x57CB,
+ 4016: 0x59B9,
+ 4017: 0x6627,
+ 4018: 0x679A,
+ 4019: 0x6BCE,
+ 4020: 0x54E9,
+ 4021: 0x69D9,
+ 4022: 0x5E55,
+ 4023: 0x819C,
+ 4024: 0x6795,
+ 4025: 0x9BAA,
+ 4026: 0x67FE,
+ 4027: 0x9C52,
+ 4028: 0x685D,
+ 4029: 0x4EA6,
+ 4030: 0x4FE3,
+ 4031: 0x53C8,
+ 4032: 0x62B9,
+ 4033: 0x672B,
+ 4034: 0x6CAB,
+ 4035: 0x8FC4,
+ 4036: 0x4FAD,
+ 4037: 0x7E6D,
+ 4038: 0x9EBF,
+ 4039: 0x4E07,
+ 4040: 0x6162,
+ 4041: 0x6E80,
+ 4042: 0x6F2B,
+ 4043: 0x8513,
+ 4044: 0x5473,
+ 4045: 0x672A,
+ 4046: 0x9B45,
+ 4047: 0x5DF3,
+ 4048: 0x7B95,
+ 4049: 0x5CAC,
+ 4050: 0x5BC6,
+ 4051: 0x871C,
+ 4052: 0x6E4A,
+ 4053: 0x84D1,
+ 4054: 0x7A14,
+ 4055: 0x8108,
+ 4056: 0x5999,
+ 4057: 0x7C8D,
+ 4058: 0x6C11,
+ 4059: 0x7720,
+ 4060: 0x52D9,
+ 4061: 0x5922,
+ 4062: 0x7121,
+ 4063: 0x725F,
+ 4064: 0x77DB,
+ 4065: 0x9727,
+ 4066: 0x9D61,
+ 4067: 0x690B,
+ 4068: 0x5A7F,
+ 4069: 0x5A18,
+ 4070: 0x51A5,
+ 4071: 0x540D,
+ 4072: 0x547D,
+ 4073: 0x660E,
+ 4074: 0x76DF,
+ 4075: 0x8FF7,
+ 4076: 0x9298,
+ 4077: 0x9CF4,
+ 4078: 0x59EA,
+ 4079: 0x725D,
+ 4080: 0x6EC5,
+ 4081: 0x514D,
+ 4082: 0x68C9,
+ 4083: 0x7DBF,
+ 4084: 0x7DEC,
+ 4085: 0x9762,
+ 4086: 0x9EBA,
+ 4087: 0x6478,
+ 4088: 0x6A21,
+ 4089: 0x8302,
+ 4090: 0x5984,
+ 4091: 0x5B5F,
+ 4092: 0x6BDB,
+ 4093: 0x731B,
+ 4094: 0x76F2,
+ 4095: 0x7DB2,
+ 4096: 0x8017,
+ 4097: 0x8499,
+ 4098: 0x5132,
+ 4099: 0x6728,
+ 4100: 0x9ED9,
+ 4101: 0x76EE,
+ 4102: 0x6762,
+ 4103: 0x52FF,
+ 4104: 0x9905,
+ 4105: 0x5C24,
+ 4106: 0x623B,
+ 4107: 0x7C7E,
+ 4108: 0x8CB0,
+ 4109: 0x554F,
+ 4110: 0x60B6,
+ 4111: 0x7D0B,
+ 4112: 0x9580,
+ 4113: 0x5301,
+ 4114: 0x4E5F,
+ 4115: 0x51B6,
+ 4116: 0x591C,
+ 4117: 0x723A,
+ 4118: 0x8036,
+ 4119: 0x91CE,
+ 4120: 0x5F25,
+ 4121: 0x77E2,
+ 4122: 0x5384,
+ 4123: 0x5F79,
+ 4124: 0x7D04,
+ 4125: 0x85AC,
+ 4126: 0x8A33,
+ 4127: 0x8E8D,
+ 4128: 0x9756,
+ 4129: 0x67F3,
+ 4130: 0x85AE,
+ 4131: 0x9453,
+ 4132: 0x6109,
+ 4133: 0x6108,
+ 4134: 0x6CB9,
+ 4135: 0x7652,
+ 4136: 0x8AED,
+ 4137: 0x8F38,
+ 4138: 0x552F,
+ 4139: 0x4F51,
+ 4140: 0x512A,
+ 4141: 0x52C7,
+ 4142: 0x53CB,
+ 4143: 0x5BA5,
+ 4144: 0x5E7D,
+ 4145: 0x60A0,
+ 4146: 0x6182,
+ 4147: 0x63D6,
+ 4148: 0x6709,
+ 4149: 0x67DA,
+ 4150: 0x6E67,
+ 4151: 0x6D8C,
+ 4152: 0x7336,
+ 4153: 0x7337,
+ 4154: 0x7531,
+ 4155: 0x7950,
+ 4156: 0x88D5,
+ 4157: 0x8A98,
+ 4158: 0x904A,
+ 4159: 0x9091,
+ 4160: 0x90F5,
+ 4161: 0x96C4,
+ 4162: 0x878D,
+ 4163: 0x5915,
+ 4164: 0x4E88,
+ 4165: 0x4F59,
+ 4166: 0x4E0E,
+ 4167: 0x8A89,
+ 4168: 0x8F3F,
+ 4169: 0x9810,
+ 4170: 0x50AD,
+ 4171: 0x5E7C,
+ 4172: 0x5996,
+ 4173: 0x5BB9,
+ 4174: 0x5EB8,
+ 4175: 0x63DA,
+ 4176: 0x63FA,
+ 4177: 0x64C1,
+ 4178: 0x66DC,
+ 4179: 0x694A,
+ 4180: 0x69D8,
+ 4181: 0x6D0B,
+ 4182: 0x6EB6,
+ 4183: 0x7194,
+ 4184: 0x7528,
+ 4185: 0x7AAF,
+ 4186: 0x7F8A,
+ 4187: 0x8000,
+ 4188: 0x8449,
+ 4189: 0x84C9,
+ 4190: 0x8981,
+ 4191: 0x8B21,
+ 4192: 0x8E0A,
+ 4193: 0x9065,
+ 4194: 0x967D,
+ 4195: 0x990A,
+ 4196: 0x617E,
+ 4197: 0x6291,
+ 4198: 0x6B32,
+ 4199: 0x6C83,
+ 4200: 0x6D74,
+ 4201: 0x7FCC,
+ 4202: 0x7FFC,
+ 4203: 0x6DC0,
+ 4204: 0x7F85,
+ 4205: 0x87BA,
+ 4206: 0x88F8,
+ 4207: 0x6765,
+ 4208: 0x83B1,
+ 4209: 0x983C,
+ 4210: 0x96F7,
+ 4211: 0x6D1B,
+ 4212: 0x7D61,
+ 4213: 0x843D,
+ 4214: 0x916A,
+ 4215: 0x4E71,
+ 4216: 0x5375,
+ 4217: 0x5D50,
+ 4218: 0x6B04,
+ 4219: 0x6FEB,
+ 4220: 0x85CD,
+ 4221: 0x862D,
+ 4222: 0x89A7,
+ 4223: 0x5229,
+ 4224: 0x540F,
+ 4225: 0x5C65,
+ 4226: 0x674E,
+ 4227: 0x68A8,
+ 4228: 0x7406,
+ 4229: 0x7483,
+ 4230: 0x75E2,
+ 4231: 0x88CF,
+ 4232: 0x88E1,
+ 4233: 0x91CC,
+ 4234: 0x96E2,
+ 4235: 0x9678,
+ 4236: 0x5F8B,
+ 4237: 0x7387,
+ 4238: 0x7ACB,
+ 4239: 0x844E,
+ 4240: 0x63A0,
+ 4241: 0x7565,
+ 4242: 0x5289,
+ 4243: 0x6D41,
+ 4244: 0x6E9C,
+ 4245: 0x7409,
+ 4246: 0x7559,
+ 4247: 0x786B,
+ 4248: 0x7C92,
+ 4249: 0x9686,
+ 4250: 0x7ADC,
+ 4251: 0x9F8D,
+ 4252: 0x4FB6,
+ 4253: 0x616E,
+ 4254: 0x65C5,
+ 4255: 0x865C,
+ 4256: 0x4E86,
+ 4257: 0x4EAE,
+ 4258: 0x50DA,
+ 4259: 0x4E21,
+ 4260: 0x51CC,
+ 4261: 0x5BEE,
+ 4262: 0x6599,
+ 4263: 0x6881,
+ 4264: 0x6DBC,
+ 4265: 0x731F,
+ 4266: 0x7642,
+ 4267: 0x77AD,
+ 4268: 0x7A1C,
+ 4269: 0x7CE7,
+ 4270: 0x826F,
+ 4271: 0x8AD2,
+ 4272: 0x907C,
+ 4273: 0x91CF,
+ 4274: 0x9675,
+ 4275: 0x9818,
+ 4276: 0x529B,
+ 4277: 0x7DD1,
+ 4278: 0x502B,
+ 4279: 0x5398,
+ 4280: 0x6797,
+ 4281: 0x6DCB,
+ 4282: 0x71D0,
+ 4283: 0x7433,
+ 4284: 0x81E8,
+ 4285: 0x8F2A,
+ 4286: 0x96A3,
+ 4287: 0x9C57,
+ 4288: 0x9E9F,
+ 4289: 0x7460,
+ 4290: 0x5841,
+ 4291: 0x6D99,
+ 4292: 0x7D2F,
+ 4293: 0x985E,
+ 4294: 0x4EE4,
+ 4295: 0x4F36,
+ 4296: 0x4F8B,
+ 4297: 0x51B7,
+ 4298: 0x52B1,
+ 4299: 0x5DBA,
+ 4300: 0x601C,
+ 4301: 0x73B2,
+ 4302: 0x793C,
+ 4303: 0x82D3,
+ 4304: 0x9234,
+ 4305: 0x96B7,
+ 4306: 0x96F6,
+ 4307: 0x970A,
+ 4308: 0x9E97,
+ 4309: 0x9F62,
+ 4310: 0x66A6,
+ 4311: 0x6B74,
+ 4312: 0x5217,
+ 4313: 0x52A3,
+ 4314: 0x70C8,
+ 4315: 0x88C2,
+ 4316: 0x5EC9,
+ 4317: 0x604B,
+ 4318: 0x6190,
+ 4319: 0x6F23,
+ 4320: 0x7149,
+ 4321: 0x7C3E,
+ 4322: 0x7DF4,
+ 4323: 0x806F,
+ 4324: 0x84EE,
+ 4325: 0x9023,
+ 4326: 0x932C,
+ 4327: 0x5442,
+ 4328: 0x9B6F,
+ 4329: 0x6AD3,
+ 4330: 0x7089,
+ 4331: 0x8CC2,
+ 4332: 0x8DEF,
+ 4333: 0x9732,
+ 4334: 0x52B4,
+ 4335: 0x5A41,
+ 4336: 0x5ECA,
+ 4337: 0x5F04,
+ 4338: 0x6717,
+ 4339: 0x697C,
+ 4340: 0x6994,
+ 4341: 0x6D6A,
+ 4342: 0x6F0F,
+ 4343: 0x7262,
+ 4344: 0x72FC,
+ 4345: 0x7BED,
+ 4346: 0x8001,
+ 4347: 0x807E,
+ 4348: 0x874B,
+ 4349: 0x90CE,
+ 4350: 0x516D,
+ 4351: 0x9E93,
+ 4352: 0x7984,
+ 4353: 0x808B,
+ 4354: 0x9332,
+ 4355: 0x8AD6,
+ 4356: 0x502D,
+ 4357: 0x548C,
+ 4358: 0x8A71,
+ 4359: 0x6B6A,
+ 4360: 0x8CC4,
+ 4361: 0x8107,
+ 4362: 0x60D1,
+ 4363: 0x67A0,
+ 4364: 0x9DF2,
+ 4365: 0x4E99,
+ 4366: 0x4E98,
+ 4367: 0x9C10,
+ 4368: 0x8A6B,
+ 4369: 0x85C1,
+ 4370: 0x8568,
+ 4371: 0x6900,
+ 4372: 0x6E7E,
+ 4373: 0x7897,
+ 4374: 0x8155,
+ 4418: 0x5F0C,
+ 4419: 0x4E10,
+ 4420: 0x4E15,
+ 4421: 0x4E2A,
+ 4422: 0x4E31,
+ 4423: 0x4E36,
+ 4424: 0x4E3C,
+ 4425: 0x4E3F,
+ 4426: 0x4E42,
+ 4427: 0x4E56,
+ 4428: 0x4E58,
+ 4429: 0x4E82,
+ 4430: 0x4E85,
+ 4431: 0x8C6B,
+ 4432: 0x4E8A,
+ 4433: 0x8212,
+ 4434: 0x5F0D,
+ 4435: 0x4E8E,
+ 4436: 0x4E9E,
+ 4437: 0x4E9F,
+ 4438: 0x4EA0,
+ 4439: 0x4EA2,
+ 4440: 0x4EB0,
+ 4441: 0x4EB3,
+ 4442: 0x4EB6,
+ 4443: 0x4ECE,
+ 4444: 0x4ECD,
+ 4445: 0x4EC4,
+ 4446: 0x4EC6,
+ 4447: 0x4EC2,
+ 4448: 0x4ED7,
+ 4449: 0x4EDE,
+ 4450: 0x4EED,
+ 4451: 0x4EDF,
+ 4452: 0x4EF7,
+ 4453: 0x4F09,
+ 4454: 0x4F5A,
+ 4455: 0x4F30,
+ 4456: 0x4F5B,
+ 4457: 0x4F5D,
+ 4458: 0x4F57,
+ 4459: 0x4F47,
+ 4460: 0x4F76,
+ 4461: 0x4F88,
+ 4462: 0x4F8F,
+ 4463: 0x4F98,
+ 4464: 0x4F7B,
+ 4465: 0x4F69,
+ 4466: 0x4F70,
+ 4467: 0x4F91,
+ 4468: 0x4F6F,
+ 4469: 0x4F86,
+ 4470: 0x4F96,
+ 4471: 0x5118,
+ 4472: 0x4FD4,
+ 4473: 0x4FDF,
+ 4474: 0x4FCE,
+ 4475: 0x4FD8,
+ 4476: 0x4FDB,
+ 4477: 0x4FD1,
+ 4478: 0x4FDA,
+ 4479: 0x4FD0,
+ 4480: 0x4FE4,
+ 4481: 0x4FE5,
+ 4482: 0x501A,
+ 4483: 0x5028,
+ 4484: 0x5014,
+ 4485: 0x502A,
+ 4486: 0x5025,
+ 4487: 0x5005,
+ 4488: 0x4F1C,
+ 4489: 0x4FF6,
+ 4490: 0x5021,
+ 4491: 0x5029,
+ 4492: 0x502C,
+ 4493: 0x4FFE,
+ 4494: 0x4FEF,
+ 4495: 0x5011,
+ 4496: 0x5006,
+ 4497: 0x5043,
+ 4498: 0x5047,
+ 4499: 0x6703,
+ 4500: 0x5055,
+ 4501: 0x5050,
+ 4502: 0x5048,
+ 4503: 0x505A,
+ 4504: 0x5056,
+ 4505: 0x506C,
+ 4506: 0x5078,
+ 4507: 0x5080,
+ 4508: 0x509A,
+ 4509: 0x5085,
+ 4510: 0x50B4,
+ 4511: 0x50B2,
+ 4512: 0x50C9,
+ 4513: 0x50CA,
+ 4514: 0x50B3,
+ 4515: 0x50C2,
+ 4516: 0x50D6,
+ 4517: 0x50DE,
+ 4518: 0x50E5,
+ 4519: 0x50ED,
+ 4520: 0x50E3,
+ 4521: 0x50EE,
+ 4522: 0x50F9,
+ 4523: 0x50F5,
+ 4524: 0x5109,
+ 4525: 0x5101,
+ 4526: 0x5102,
+ 4527: 0x5116,
+ 4528: 0x5115,
+ 4529: 0x5114,
+ 4530: 0x511A,
+ 4531: 0x5121,
+ 4532: 0x513A,
+ 4533: 0x5137,
+ 4534: 0x513C,
+ 4535: 0x513B,
+ 4536: 0x513F,
+ 4537: 0x5140,
+ 4538: 0x5152,
+ 4539: 0x514C,
+ 4540: 0x5154,
+ 4541: 0x5162,
+ 4542: 0x7AF8,
+ 4543: 0x5169,
+ 4544: 0x516A,
+ 4545: 0x516E,
+ 4546: 0x5180,
+ 4547: 0x5182,
+ 4548: 0x56D8,
+ 4549: 0x518C,
+ 4550: 0x5189,
+ 4551: 0x518F,
+ 4552: 0x5191,
+ 4553: 0x5193,
+ 4554: 0x5195,
+ 4555: 0x5196,
+ 4556: 0x51A4,
+ 4557: 0x51A6,
+ 4558: 0x51A2,
+ 4559: 0x51A9,
+ 4560: 0x51AA,
+ 4561: 0x51AB,
+ 4562: 0x51B3,
+ 4563: 0x51B1,
+ 4564: 0x51B2,
+ 4565: 0x51B0,
+ 4566: 0x51B5,
+ 4567: 0x51BD,
+ 4568: 0x51C5,
+ 4569: 0x51C9,
+ 4570: 0x51DB,
+ 4571: 0x51E0,
+ 4572: 0x8655,
+ 4573: 0x51E9,
+ 4574: 0x51ED,
+ 4575: 0x51F0,
+ 4576: 0x51F5,
+ 4577: 0x51FE,
+ 4578: 0x5204,
+ 4579: 0x520B,
+ 4580: 0x5214,
+ 4581: 0x520E,
+ 4582: 0x5227,
+ 4583: 0x522A,
+ 4584: 0x522E,
+ 4585: 0x5233,
+ 4586: 0x5239,
+ 4587: 0x524F,
+ 4588: 0x5244,
+ 4589: 0x524B,
+ 4590: 0x524C,
+ 4591: 0x525E,
+ 4592: 0x5254,
+ 4593: 0x526A,
+ 4594: 0x5274,
+ 4595: 0x5269,
+ 4596: 0x5273,
+ 4597: 0x527F,
+ 4598: 0x527D,
+ 4599: 0x528D,
+ 4600: 0x5294,
+ 4601: 0x5292,
+ 4602: 0x5271,
+ 4603: 0x5288,
+ 4604: 0x5291,
+ 4605: 0x8FA8,
+ 4606: 0x8FA7,
+ 4607: 0x52AC,
+ 4608: 0x52AD,
+ 4609: 0x52BC,
+ 4610: 0x52B5,
+ 4611: 0x52C1,
+ 4612: 0x52CD,
+ 4613: 0x52D7,
+ 4614: 0x52DE,
+ 4615: 0x52E3,
+ 4616: 0x52E6,
+ 4617: 0x98ED,
+ 4618: 0x52E0,
+ 4619: 0x52F3,
+ 4620: 0x52F5,
+ 4621: 0x52F8,
+ 4622: 0x52F9,
+ 4623: 0x5306,
+ 4624: 0x5308,
+ 4625: 0x7538,
+ 4626: 0x530D,
+ 4627: 0x5310,
+ 4628: 0x530F,
+ 4629: 0x5315,
+ 4630: 0x531A,
+ 4631: 0x5323,
+ 4632: 0x532F,
+ 4633: 0x5331,
+ 4634: 0x5333,
+ 4635: 0x5338,
+ 4636: 0x5340,
+ 4637: 0x5346,
+ 4638: 0x5345,
+ 4639: 0x4E17,
+ 4640: 0x5349,
+ 4641: 0x534D,
+ 4642: 0x51D6,
+ 4643: 0x535E,
+ 4644: 0x5369,
+ 4645: 0x536E,
+ 4646: 0x5918,
+ 4647: 0x537B,
+ 4648: 0x5377,
+ 4649: 0x5382,
+ 4650: 0x5396,
+ 4651: 0x53A0,
+ 4652: 0x53A6,
+ 4653: 0x53A5,
+ 4654: 0x53AE,
+ 4655: 0x53B0,
+ 4656: 0x53B6,
+ 4657: 0x53C3,
+ 4658: 0x7C12,
+ 4659: 0x96D9,
+ 4660: 0x53DF,
+ 4661: 0x66FC,
+ 4662: 0x71EE,
+ 4663: 0x53EE,
+ 4664: 0x53E8,
+ 4665: 0x53ED,
+ 4666: 0x53FA,
+ 4667: 0x5401,
+ 4668: 0x543D,
+ 4669: 0x5440,
+ 4670: 0x542C,
+ 4671: 0x542D,
+ 4672: 0x543C,
+ 4673: 0x542E,
+ 4674: 0x5436,
+ 4675: 0x5429,
+ 4676: 0x541D,
+ 4677: 0x544E,
+ 4678: 0x548F,
+ 4679: 0x5475,
+ 4680: 0x548E,
+ 4681: 0x545F,
+ 4682: 0x5471,
+ 4683: 0x5477,
+ 4684: 0x5470,
+ 4685: 0x5492,
+ 4686: 0x547B,
+ 4687: 0x5480,
+ 4688: 0x5476,
+ 4689: 0x5484,
+ 4690: 0x5490,
+ 4691: 0x5486,
+ 4692: 0x54C7,
+ 4693: 0x54A2,
+ 4694: 0x54B8,
+ 4695: 0x54A5,
+ 4696: 0x54AC,
+ 4697: 0x54C4,
+ 4698: 0x54C8,
+ 4699: 0x54A8,
+ 4700: 0x54AB,
+ 4701: 0x54C2,
+ 4702: 0x54A4,
+ 4703: 0x54BE,
+ 4704: 0x54BC,
+ 4705: 0x54D8,
+ 4706: 0x54E5,
+ 4707: 0x54E6,
+ 4708: 0x550F,
+ 4709: 0x5514,
+ 4710: 0x54FD,
+ 4711: 0x54EE,
+ 4712: 0x54ED,
+ 4713: 0x54FA,
+ 4714: 0x54E2,
+ 4715: 0x5539,
+ 4716: 0x5540,
+ 4717: 0x5563,
+ 4718: 0x554C,
+ 4719: 0x552E,
+ 4720: 0x555C,
+ 4721: 0x5545,
+ 4722: 0x5556,
+ 4723: 0x5557,
+ 4724: 0x5538,
+ 4725: 0x5533,
+ 4726: 0x555D,
+ 4727: 0x5599,
+ 4728: 0x5580,
+ 4729: 0x54AF,
+ 4730: 0x558A,
+ 4731: 0x559F,
+ 4732: 0x557B,
+ 4733: 0x557E,
+ 4734: 0x5598,
+ 4735: 0x559E,
+ 4736: 0x55AE,
+ 4737: 0x557C,
+ 4738: 0x5583,
+ 4739: 0x55A9,
+ 4740: 0x5587,
+ 4741: 0x55A8,
+ 4742: 0x55DA,
+ 4743: 0x55C5,
+ 4744: 0x55DF,
+ 4745: 0x55C4,
+ 4746: 0x55DC,
+ 4747: 0x55E4,
+ 4748: 0x55D4,
+ 4749: 0x5614,
+ 4750: 0x55F7,
+ 4751: 0x5616,
+ 4752: 0x55FE,
+ 4753: 0x55FD,
+ 4754: 0x561B,
+ 4755: 0x55F9,
+ 4756: 0x564E,
+ 4757: 0x5650,
+ 4758: 0x71DF,
+ 4759: 0x5634,
+ 4760: 0x5636,
+ 4761: 0x5632,
+ 4762: 0x5638,
+ 4763: 0x566B,
+ 4764: 0x5664,
+ 4765: 0x562F,
+ 4766: 0x566C,
+ 4767: 0x566A,
+ 4768: 0x5686,
+ 4769: 0x5680,
+ 4770: 0x568A,
+ 4771: 0x56A0,
+ 4772: 0x5694,
+ 4773: 0x568F,
+ 4774: 0x56A5,
+ 4775: 0x56AE,
+ 4776: 0x56B6,
+ 4777: 0x56B4,
+ 4778: 0x56C2,
+ 4779: 0x56BC,
+ 4780: 0x56C1,
+ 4781: 0x56C3,
+ 4782: 0x56C0,
+ 4783: 0x56C8,
+ 4784: 0x56CE,
+ 4785: 0x56D1,
+ 4786: 0x56D3,
+ 4787: 0x56D7,
+ 4788: 0x56EE,
+ 4789: 0x56F9,
+ 4790: 0x5700,
+ 4791: 0x56FF,
+ 4792: 0x5704,
+ 4793: 0x5709,
+ 4794: 0x5708,
+ 4795: 0x570B,
+ 4796: 0x570D,
+ 4797: 0x5713,
+ 4798: 0x5718,
+ 4799: 0x5716,
+ 4800: 0x55C7,
+ 4801: 0x571C,
+ 4802: 0x5726,
+ 4803: 0x5737,
+ 4804: 0x5738,
+ 4805: 0x574E,
+ 4806: 0x573B,
+ 4807: 0x5740,
+ 4808: 0x574F,
+ 4809: 0x5769,
+ 4810: 0x57C0,
+ 4811: 0x5788,
+ 4812: 0x5761,
+ 4813: 0x577F,
+ 4814: 0x5789,
+ 4815: 0x5793,
+ 4816: 0x57A0,
+ 4817: 0x57B3,
+ 4818: 0x57A4,
+ 4819: 0x57AA,
+ 4820: 0x57B0,
+ 4821: 0x57C3,
+ 4822: 0x57C6,
+ 4823: 0x57D4,
+ 4824: 0x57D2,
+ 4825: 0x57D3,
+ 4826: 0x580A,
+ 4827: 0x57D6,
+ 4828: 0x57E3,
+ 4829: 0x580B,
+ 4830: 0x5819,
+ 4831: 0x581D,
+ 4832: 0x5872,
+ 4833: 0x5821,
+ 4834: 0x5862,
+ 4835: 0x584B,
+ 4836: 0x5870,
+ 4837: 0x6BC0,
+ 4838: 0x5852,
+ 4839: 0x583D,
+ 4840: 0x5879,
+ 4841: 0x5885,
+ 4842: 0x58B9,
+ 4843: 0x589F,
+ 4844: 0x58AB,
+ 4845: 0x58BA,
+ 4846: 0x58DE,
+ 4847: 0x58BB,
+ 4848: 0x58B8,
+ 4849: 0x58AE,
+ 4850: 0x58C5,
+ 4851: 0x58D3,
+ 4852: 0x58D1,
+ 4853: 0x58D7,
+ 4854: 0x58D9,
+ 4855: 0x58D8,
+ 4856: 0x58E5,
+ 4857: 0x58DC,
+ 4858: 0x58E4,
+ 4859: 0x58DF,
+ 4860: 0x58EF,
+ 4861: 0x58FA,
+ 4862: 0x58F9,
+ 4863: 0x58FB,
+ 4864: 0x58FC,
+ 4865: 0x58FD,
+ 4866: 0x5902,
+ 4867: 0x590A,
+ 4868: 0x5910,
+ 4869: 0x591B,
+ 4870: 0x68A6,
+ 4871: 0x5925,
+ 4872: 0x592C,
+ 4873: 0x592D,
+ 4874: 0x5932,
+ 4875: 0x5938,
+ 4876: 0x593E,
+ 4877: 0x7AD2,
+ 4878: 0x5955,
+ 4879: 0x5950,
+ 4880: 0x594E,
+ 4881: 0x595A,
+ 4882: 0x5958,
+ 4883: 0x5962,
+ 4884: 0x5960,
+ 4885: 0x5967,
+ 4886: 0x596C,
+ 4887: 0x5969,
+ 4888: 0x5978,
+ 4889: 0x5981,
+ 4890: 0x599D,
+ 4891: 0x4F5E,
+ 4892: 0x4FAB,
+ 4893: 0x59A3,
+ 4894: 0x59B2,
+ 4895: 0x59C6,
+ 4896: 0x59E8,
+ 4897: 0x59DC,
+ 4898: 0x598D,
+ 4899: 0x59D9,
+ 4900: 0x59DA,
+ 4901: 0x5A25,
+ 4902: 0x5A1F,
+ 4903: 0x5A11,
+ 4904: 0x5A1C,
+ 4905: 0x5A09,
+ 4906: 0x5A1A,
+ 4907: 0x5A40,
+ 4908: 0x5A6C,
+ 4909: 0x5A49,
+ 4910: 0x5A35,
+ 4911: 0x5A36,
+ 4912: 0x5A62,
+ 4913: 0x5A6A,
+ 4914: 0x5A9A,
+ 4915: 0x5ABC,
+ 4916: 0x5ABE,
+ 4917: 0x5ACB,
+ 4918: 0x5AC2,
+ 4919: 0x5ABD,
+ 4920: 0x5AE3,
+ 4921: 0x5AD7,
+ 4922: 0x5AE6,
+ 4923: 0x5AE9,
+ 4924: 0x5AD6,
+ 4925: 0x5AFA,
+ 4926: 0x5AFB,
+ 4927: 0x5B0C,
+ 4928: 0x5B0B,
+ 4929: 0x5B16,
+ 4930: 0x5B32,
+ 4931: 0x5AD0,
+ 4932: 0x5B2A,
+ 4933: 0x5B36,
+ 4934: 0x5B3E,
+ 4935: 0x5B43,
+ 4936: 0x5B45,
+ 4937: 0x5B40,
+ 4938: 0x5B51,
+ 4939: 0x5B55,
+ 4940: 0x5B5A,
+ 4941: 0x5B5B,
+ 4942: 0x5B65,
+ 4943: 0x5B69,
+ 4944: 0x5B70,
+ 4945: 0x5B73,
+ 4946: 0x5B75,
+ 4947: 0x5B78,
+ 4948: 0x6588,
+ 4949: 0x5B7A,
+ 4950: 0x5B80,
+ 4951: 0x5B83,
+ 4952: 0x5BA6,
+ 4953: 0x5BB8,
+ 4954: 0x5BC3,
+ 4955: 0x5BC7,
+ 4956: 0x5BC9,
+ 4957: 0x5BD4,
+ 4958: 0x5BD0,
+ 4959: 0x5BE4,
+ 4960: 0x5BE6,
+ 4961: 0x5BE2,
+ 4962: 0x5BDE,
+ 4963: 0x5BE5,
+ 4964: 0x5BEB,
+ 4965: 0x5BF0,
+ 4966: 0x5BF6,
+ 4967: 0x5BF3,
+ 4968: 0x5C05,
+ 4969: 0x5C07,
+ 4970: 0x5C08,
+ 4971: 0x5C0D,
+ 4972: 0x5C13,
+ 4973: 0x5C20,
+ 4974: 0x5C22,
+ 4975: 0x5C28,
+ 4976: 0x5C38,
+ 4977: 0x5C39,
+ 4978: 0x5C41,
+ 4979: 0x5C46,
+ 4980: 0x5C4E,
+ 4981: 0x5C53,
+ 4982: 0x5C50,
+ 4983: 0x5C4F,
+ 4984: 0x5B71,
+ 4985: 0x5C6C,
+ 4986: 0x5C6E,
+ 4987: 0x4E62,
+ 4988: 0x5C76,
+ 4989: 0x5C79,
+ 4990: 0x5C8C,
+ 4991: 0x5C91,
+ 4992: 0x5C94,
+ 4993: 0x599B,
+ 4994: 0x5CAB,
+ 4995: 0x5CBB,
+ 4996: 0x5CB6,
+ 4997: 0x5CBC,
+ 4998: 0x5CB7,
+ 4999: 0x5CC5,
+ 5000: 0x5CBE,
+ 5001: 0x5CC7,
+ 5002: 0x5CD9,
+ 5003: 0x5CE9,
+ 5004: 0x5CFD,
+ 5005: 0x5CFA,
+ 5006: 0x5CED,
+ 5007: 0x5D8C,
+ 5008: 0x5CEA,
+ 5009: 0x5D0B,
+ 5010: 0x5D15,
+ 5011: 0x5D17,
+ 5012: 0x5D5C,
+ 5013: 0x5D1F,
+ 5014: 0x5D1B,
+ 5015: 0x5D11,
+ 5016: 0x5D14,
+ 5017: 0x5D22,
+ 5018: 0x5D1A,
+ 5019: 0x5D19,
+ 5020: 0x5D18,
+ 5021: 0x5D4C,
+ 5022: 0x5D52,
+ 5023: 0x5D4E,
+ 5024: 0x5D4B,
+ 5025: 0x5D6C,
+ 5026: 0x5D73,
+ 5027: 0x5D76,
+ 5028: 0x5D87,
+ 5029: 0x5D84,
+ 5030: 0x5D82,
+ 5031: 0x5DA2,
+ 5032: 0x5D9D,
+ 5033: 0x5DAC,
+ 5034: 0x5DAE,
+ 5035: 0x5DBD,
+ 5036: 0x5D90,
+ 5037: 0x5DB7,
+ 5038: 0x5DBC,
+ 5039: 0x5DC9,
+ 5040: 0x5DCD,
+ 5041: 0x5DD3,
+ 5042: 0x5DD2,
+ 5043: 0x5DD6,
+ 5044: 0x5DDB,
+ 5045: 0x5DEB,
+ 5046: 0x5DF2,
+ 5047: 0x5DF5,
+ 5048: 0x5E0B,
+ 5049: 0x5E1A,
+ 5050: 0x5E19,
+ 5051: 0x5E11,
+ 5052: 0x5E1B,
+ 5053: 0x5E36,
+ 5054: 0x5E37,
+ 5055: 0x5E44,
+ 5056: 0x5E43,
+ 5057: 0x5E40,
+ 5058: 0x5E4E,
+ 5059: 0x5E57,
+ 5060: 0x5E54,
+ 5061: 0x5E5F,
+ 5062: 0x5E62,
+ 5063: 0x5E64,
+ 5064: 0x5E47,
+ 5065: 0x5E75,
+ 5066: 0x5E76,
+ 5067: 0x5E7A,
+ 5068: 0x9EBC,
+ 5069: 0x5E7F,
+ 5070: 0x5EA0,
+ 5071: 0x5EC1,
+ 5072: 0x5EC2,
+ 5073: 0x5EC8,
+ 5074: 0x5ED0,
+ 5075: 0x5ECF,
+ 5076: 0x5ED6,
+ 5077: 0x5EE3,
+ 5078: 0x5EDD,
+ 5079: 0x5EDA,
+ 5080: 0x5EDB,
+ 5081: 0x5EE2,
+ 5082: 0x5EE1,
+ 5083: 0x5EE8,
+ 5084: 0x5EE9,
+ 5085: 0x5EEC,
+ 5086: 0x5EF1,
+ 5087: 0x5EF3,
+ 5088: 0x5EF0,
+ 5089: 0x5EF4,
+ 5090: 0x5EF8,
+ 5091: 0x5EFE,
+ 5092: 0x5F03,
+ 5093: 0x5F09,
+ 5094: 0x5F5D,
+ 5095: 0x5F5C,
+ 5096: 0x5F0B,
+ 5097: 0x5F11,
+ 5098: 0x5F16,
+ 5099: 0x5F29,
+ 5100: 0x5F2D,
+ 5101: 0x5F38,
+ 5102: 0x5F41,
+ 5103: 0x5F48,
+ 5104: 0x5F4C,
+ 5105: 0x5F4E,
+ 5106: 0x5F2F,
+ 5107: 0x5F51,
+ 5108: 0x5F56,
+ 5109: 0x5F57,
+ 5110: 0x5F59,
+ 5111: 0x5F61,
+ 5112: 0x5F6D,
+ 5113: 0x5F73,
+ 5114: 0x5F77,
+ 5115: 0x5F83,
+ 5116: 0x5F82,
+ 5117: 0x5F7F,
+ 5118: 0x5F8A,
+ 5119: 0x5F88,
+ 5120: 0x5F91,
+ 5121: 0x5F87,
+ 5122: 0x5F9E,
+ 5123: 0x5F99,
+ 5124: 0x5F98,
+ 5125: 0x5FA0,
+ 5126: 0x5FA8,
+ 5127: 0x5FAD,
+ 5128: 0x5FBC,
+ 5129: 0x5FD6,
+ 5130: 0x5FFB,
+ 5131: 0x5FE4,
+ 5132: 0x5FF8,
+ 5133: 0x5FF1,
+ 5134: 0x5FDD,
+ 5135: 0x60B3,
+ 5136: 0x5FFF,
+ 5137: 0x6021,
+ 5138: 0x6060,
+ 5139: 0x6019,
+ 5140: 0x6010,
+ 5141: 0x6029,
+ 5142: 0x600E,
+ 5143: 0x6031,
+ 5144: 0x601B,
+ 5145: 0x6015,
+ 5146: 0x602B,
+ 5147: 0x6026,
+ 5148: 0x600F,
+ 5149: 0x603A,
+ 5150: 0x605A,
+ 5151: 0x6041,
+ 5152: 0x606A,
+ 5153: 0x6077,
+ 5154: 0x605F,
+ 5155: 0x604A,
+ 5156: 0x6046,
+ 5157: 0x604D,
+ 5158: 0x6063,
+ 5159: 0x6043,
+ 5160: 0x6064,
+ 5161: 0x6042,
+ 5162: 0x606C,
+ 5163: 0x606B,
+ 5164: 0x6059,
+ 5165: 0x6081,
+ 5166: 0x608D,
+ 5167: 0x60E7,
+ 5168: 0x6083,
+ 5169: 0x609A,
+ 5170: 0x6084,
+ 5171: 0x609B,
+ 5172: 0x6096,
+ 5173: 0x6097,
+ 5174: 0x6092,
+ 5175: 0x60A7,
+ 5176: 0x608B,
+ 5177: 0x60E1,
+ 5178: 0x60B8,
+ 5179: 0x60E0,
+ 5180: 0x60D3,
+ 5181: 0x60B4,
+ 5182: 0x5FF0,
+ 5183: 0x60BD,
+ 5184: 0x60C6,
+ 5185: 0x60B5,
+ 5186: 0x60D8,
+ 5187: 0x614D,
+ 5188: 0x6115,
+ 5189: 0x6106,
+ 5190: 0x60F6,
+ 5191: 0x60F7,
+ 5192: 0x6100,
+ 5193: 0x60F4,
+ 5194: 0x60FA,
+ 5195: 0x6103,
+ 5196: 0x6121,
+ 5197: 0x60FB,
+ 5198: 0x60F1,
+ 5199: 0x610D,
+ 5200: 0x610E,
+ 5201: 0x6147,
+ 5202: 0x613E,
+ 5203: 0x6128,
+ 5204: 0x6127,
+ 5205: 0x614A,
+ 5206: 0x613F,
+ 5207: 0x613C,
+ 5208: 0x612C,
+ 5209: 0x6134,
+ 5210: 0x613D,
+ 5211: 0x6142,
+ 5212: 0x6144,
+ 5213: 0x6173,
+ 5214: 0x6177,
+ 5215: 0x6158,
+ 5216: 0x6159,
+ 5217: 0x615A,
+ 5218: 0x616B,
+ 5219: 0x6174,
+ 5220: 0x616F,
+ 5221: 0x6165,
+ 5222: 0x6171,
+ 5223: 0x615F,
+ 5224: 0x615D,
+ 5225: 0x6153,
+ 5226: 0x6175,
+ 5227: 0x6199,
+ 5228: 0x6196,
+ 5229: 0x6187,
+ 5230: 0x61AC,
+ 5231: 0x6194,
+ 5232: 0x619A,
+ 5233: 0x618A,
+ 5234: 0x6191,
+ 5235: 0x61AB,
+ 5236: 0x61AE,
+ 5237: 0x61CC,
+ 5238: 0x61CA,
+ 5239: 0x61C9,
+ 5240: 0x61F7,
+ 5241: 0x61C8,
+ 5242: 0x61C3,
+ 5243: 0x61C6,
+ 5244: 0x61BA,
+ 5245: 0x61CB,
+ 5246: 0x7F79,
+ 5247: 0x61CD,
+ 5248: 0x61E6,
+ 5249: 0x61E3,
+ 5250: 0x61F6,
+ 5251: 0x61FA,
+ 5252: 0x61F4,
+ 5253: 0x61FF,
+ 5254: 0x61FD,
+ 5255: 0x61FC,
+ 5256: 0x61FE,
+ 5257: 0x6200,
+ 5258: 0x6208,
+ 5259: 0x6209,
+ 5260: 0x620D,
+ 5261: 0x620C,
+ 5262: 0x6214,
+ 5263: 0x621B,
+ 5264: 0x621E,
+ 5265: 0x6221,
+ 5266: 0x622A,
+ 5267: 0x622E,
+ 5268: 0x6230,
+ 5269: 0x6232,
+ 5270: 0x6233,
+ 5271: 0x6241,
+ 5272: 0x624E,
+ 5273: 0x625E,
+ 5274: 0x6263,
+ 5275: 0x625B,
+ 5276: 0x6260,
+ 5277: 0x6268,
+ 5278: 0x627C,
+ 5279: 0x6282,
+ 5280: 0x6289,
+ 5281: 0x627E,
+ 5282: 0x6292,
+ 5283: 0x6293,
+ 5284: 0x6296,
+ 5285: 0x62D4,
+ 5286: 0x6283,
+ 5287: 0x6294,
+ 5288: 0x62D7,
+ 5289: 0x62D1,
+ 5290: 0x62BB,
+ 5291: 0x62CF,
+ 5292: 0x62FF,
+ 5293: 0x62C6,
+ 5294: 0x64D4,
+ 5295: 0x62C8,
+ 5296: 0x62DC,
+ 5297: 0x62CC,
+ 5298: 0x62CA,
+ 5299: 0x62C2,
+ 5300: 0x62C7,
+ 5301: 0x629B,
+ 5302: 0x62C9,
+ 5303: 0x630C,
+ 5304: 0x62EE,
+ 5305: 0x62F1,
+ 5306: 0x6327,
+ 5307: 0x6302,
+ 5308: 0x6308,
+ 5309: 0x62EF,
+ 5310: 0x62F5,
+ 5311: 0x6350,
+ 5312: 0x633E,
+ 5313: 0x634D,
+ 5314: 0x641C,
+ 5315: 0x634F,
+ 5316: 0x6396,
+ 5317: 0x638E,
+ 5318: 0x6380,
+ 5319: 0x63AB,
+ 5320: 0x6376,
+ 5321: 0x63A3,
+ 5322: 0x638F,
+ 5323: 0x6389,
+ 5324: 0x639F,
+ 5325: 0x63B5,
+ 5326: 0x636B,
+ 5327: 0x6369,
+ 5328: 0x63BE,
+ 5329: 0x63E9,
+ 5330: 0x63C0,
+ 5331: 0x63C6,
+ 5332: 0x63E3,
+ 5333: 0x63C9,
+ 5334: 0x63D2,
+ 5335: 0x63F6,
+ 5336: 0x63C4,
+ 5337: 0x6416,
+ 5338: 0x6434,
+ 5339: 0x6406,
+ 5340: 0x6413,
+ 5341: 0x6426,
+ 5342: 0x6436,
+ 5343: 0x651D,
+ 5344: 0x6417,
+ 5345: 0x6428,
+ 5346: 0x640F,
+ 5347: 0x6467,
+ 5348: 0x646F,
+ 5349: 0x6476,
+ 5350: 0x644E,
+ 5351: 0x652A,
+ 5352: 0x6495,
+ 5353: 0x6493,
+ 5354: 0x64A5,
+ 5355: 0x64A9,
+ 5356: 0x6488,
+ 5357: 0x64BC,
+ 5358: 0x64DA,
+ 5359: 0x64D2,
+ 5360: 0x64C5,
+ 5361: 0x64C7,
+ 5362: 0x64BB,
+ 5363: 0x64D8,
+ 5364: 0x64C2,
+ 5365: 0x64F1,
+ 5366: 0x64E7,
+ 5367: 0x8209,
+ 5368: 0x64E0,
+ 5369: 0x64E1,
+ 5370: 0x62AC,
+ 5371: 0x64E3,
+ 5372: 0x64EF,
+ 5373: 0x652C,
+ 5374: 0x64F6,
+ 5375: 0x64F4,
+ 5376: 0x64F2,
+ 5377: 0x64FA,
+ 5378: 0x6500,
+ 5379: 0x64FD,
+ 5380: 0x6518,
+ 5381: 0x651C,
+ 5382: 0x6505,
+ 5383: 0x6524,
+ 5384: 0x6523,
+ 5385: 0x652B,
+ 5386: 0x6534,
+ 5387: 0x6535,
+ 5388: 0x6537,
+ 5389: 0x6536,
+ 5390: 0x6538,
+ 5391: 0x754B,
+ 5392: 0x6548,
+ 5393: 0x6556,
+ 5394: 0x6555,
+ 5395: 0x654D,
+ 5396: 0x6558,
+ 5397: 0x655E,
+ 5398: 0x655D,
+ 5399: 0x6572,
+ 5400: 0x6578,
+ 5401: 0x6582,
+ 5402: 0x6583,
+ 5403: 0x8B8A,
+ 5404: 0x659B,
+ 5405: 0x659F,
+ 5406: 0x65AB,
+ 5407: 0x65B7,
+ 5408: 0x65C3,
+ 5409: 0x65C6,
+ 5410: 0x65C1,
+ 5411: 0x65C4,
+ 5412: 0x65CC,
+ 5413: 0x65D2,
+ 5414: 0x65DB,
+ 5415: 0x65D9,
+ 5416: 0x65E0,
+ 5417: 0x65E1,
+ 5418: 0x65F1,
+ 5419: 0x6772,
+ 5420: 0x660A,
+ 5421: 0x6603,
+ 5422: 0x65FB,
+ 5423: 0x6773,
+ 5424: 0x6635,
+ 5425: 0x6636,
+ 5426: 0x6634,
+ 5427: 0x661C,
+ 5428: 0x664F,
+ 5429: 0x6644,
+ 5430: 0x6649,
+ 5431: 0x6641,
+ 5432: 0x665E,
+ 5433: 0x665D,
+ 5434: 0x6664,
+ 5435: 0x6667,
+ 5436: 0x6668,
+ 5437: 0x665F,
+ 5438: 0x6662,
+ 5439: 0x6670,
+ 5440: 0x6683,
+ 5441: 0x6688,
+ 5442: 0x668E,
+ 5443: 0x6689,
+ 5444: 0x6684,
+ 5445: 0x6698,
+ 5446: 0x669D,
+ 5447: 0x66C1,
+ 5448: 0x66B9,
+ 5449: 0x66C9,
+ 5450: 0x66BE,
+ 5451: 0x66BC,
+ 5452: 0x66C4,
+ 5453: 0x66B8,
+ 5454: 0x66D6,
+ 5455: 0x66DA,
+ 5456: 0x66E0,
+ 5457: 0x663F,
+ 5458: 0x66E6,
+ 5459: 0x66E9,
+ 5460: 0x66F0,
+ 5461: 0x66F5,
+ 5462: 0x66F7,
+ 5463: 0x670F,
+ 5464: 0x6716,
+ 5465: 0x671E,
+ 5466: 0x6726,
+ 5467: 0x6727,
+ 5468: 0x9738,
+ 5469: 0x672E,
+ 5470: 0x673F,
+ 5471: 0x6736,
+ 5472: 0x6741,
+ 5473: 0x6738,
+ 5474: 0x6737,
+ 5475: 0x6746,
+ 5476: 0x675E,
+ 5477: 0x6760,
+ 5478: 0x6759,
+ 5479: 0x6763,
+ 5480: 0x6764,
+ 5481: 0x6789,
+ 5482: 0x6770,
+ 5483: 0x67A9,
+ 5484: 0x677C,
+ 5485: 0x676A,
+ 5486: 0x678C,
+ 5487: 0x678B,
+ 5488: 0x67A6,
+ 5489: 0x67A1,
+ 5490: 0x6785,
+ 5491: 0x67B7,
+ 5492: 0x67EF,
+ 5493: 0x67B4,
+ 5494: 0x67EC,
+ 5495: 0x67B3,
+ 5496: 0x67E9,
+ 5497: 0x67B8,
+ 5498: 0x67E4,
+ 5499: 0x67DE,
+ 5500: 0x67DD,
+ 5501: 0x67E2,
+ 5502: 0x67EE,
+ 5503: 0x67B9,
+ 5504: 0x67CE,
+ 5505: 0x67C6,
+ 5506: 0x67E7,
+ 5507: 0x6A9C,
+ 5508: 0x681E,
+ 5509: 0x6846,
+ 5510: 0x6829,
+ 5511: 0x6840,
+ 5512: 0x684D,
+ 5513: 0x6832,
+ 5514: 0x684E,
+ 5515: 0x68B3,
+ 5516: 0x682B,
+ 5517: 0x6859,
+ 5518: 0x6863,
+ 5519: 0x6877,
+ 5520: 0x687F,
+ 5521: 0x689F,
+ 5522: 0x688F,
+ 5523: 0x68AD,
+ 5524: 0x6894,
+ 5525: 0x689D,
+ 5526: 0x689B,
+ 5527: 0x6883,
+ 5528: 0x6AAE,
+ 5529: 0x68B9,
+ 5530: 0x6874,
+ 5531: 0x68B5,
+ 5532: 0x68A0,
+ 5533: 0x68BA,
+ 5534: 0x690F,
+ 5535: 0x688D,
+ 5536: 0x687E,
+ 5537: 0x6901,
+ 5538: 0x68CA,
+ 5539: 0x6908,
+ 5540: 0x68D8,
+ 5541: 0x6922,
+ 5542: 0x6926,
+ 5543: 0x68E1,
+ 5544: 0x690C,
+ 5545: 0x68CD,
+ 5546: 0x68D4,
+ 5547: 0x68E7,
+ 5548: 0x68D5,
+ 5549: 0x6936,
+ 5550: 0x6912,
+ 5551: 0x6904,
+ 5552: 0x68D7,
+ 5553: 0x68E3,
+ 5554: 0x6925,
+ 5555: 0x68F9,
+ 5556: 0x68E0,
+ 5557: 0x68EF,
+ 5558: 0x6928,
+ 5559: 0x692A,
+ 5560: 0x691A,
+ 5561: 0x6923,
+ 5562: 0x6921,
+ 5563: 0x68C6,
+ 5564: 0x6979,
+ 5565: 0x6977,
+ 5566: 0x695C,
+ 5567: 0x6978,
+ 5568: 0x696B,
+ 5569: 0x6954,
+ 5570: 0x697E,
+ 5571: 0x696E,
+ 5572: 0x6939,
+ 5573: 0x6974,
+ 5574: 0x693D,
+ 5575: 0x6959,
+ 5576: 0x6930,
+ 5577: 0x6961,
+ 5578: 0x695E,
+ 5579: 0x695D,
+ 5580: 0x6981,
+ 5581: 0x696A,
+ 5582: 0x69B2,
+ 5583: 0x69AE,
+ 5584: 0x69D0,
+ 5585: 0x69BF,
+ 5586: 0x69C1,
+ 5587: 0x69D3,
+ 5588: 0x69BE,
+ 5589: 0x69CE,
+ 5590: 0x5BE8,
+ 5591: 0x69CA,
+ 5592: 0x69DD,
+ 5593: 0x69BB,
+ 5594: 0x69C3,
+ 5595: 0x69A7,
+ 5596: 0x6A2E,
+ 5597: 0x6991,
+ 5598: 0x69A0,
+ 5599: 0x699C,
+ 5600: 0x6995,
+ 5601: 0x69B4,
+ 5602: 0x69DE,
+ 5603: 0x69E8,
+ 5604: 0x6A02,
+ 5605: 0x6A1B,
+ 5606: 0x69FF,
+ 5607: 0x6B0A,
+ 5608: 0x69F9,
+ 5609: 0x69F2,
+ 5610: 0x69E7,
+ 5611: 0x6A05,
+ 5612: 0x69B1,
+ 5613: 0x6A1E,
+ 5614: 0x69ED,
+ 5615: 0x6A14,
+ 5616: 0x69EB,
+ 5617: 0x6A0A,
+ 5618: 0x6A12,
+ 5619: 0x6AC1,
+ 5620: 0x6A23,
+ 5621: 0x6A13,
+ 5622: 0x6A44,
+ 5623: 0x6A0C,
+ 5624: 0x6A72,
+ 5625: 0x6A36,
+ 5626: 0x6A78,
+ 5627: 0x6A47,
+ 5628: 0x6A62,
+ 5629: 0x6A59,
+ 5630: 0x6A66,
+ 5631: 0x6A48,
+ 5632: 0x6A38,
+ 5633: 0x6A22,
+ 5634: 0x6A90,
+ 5635: 0x6A8D,
+ 5636: 0x6AA0,
+ 5637: 0x6A84,
+ 5638: 0x6AA2,
+ 5639: 0x6AA3,
+ 5640: 0x6A97,
+ 5641: 0x8617,
+ 5642: 0x6ABB,
+ 5643: 0x6AC3,
+ 5644: 0x6AC2,
+ 5645: 0x6AB8,
+ 5646: 0x6AB3,
+ 5647: 0x6AAC,
+ 5648: 0x6ADE,
+ 5649: 0x6AD1,
+ 5650: 0x6ADF,
+ 5651: 0x6AAA,
+ 5652: 0x6ADA,
+ 5653: 0x6AEA,
+ 5654: 0x6AFB,
+ 5655: 0x6B05,
+ 5656: 0x8616,
+ 5657: 0x6AFA,
+ 5658: 0x6B12,
+ 5659: 0x6B16,
+ 5660: 0x9B31,
+ 5661: 0x6B1F,
+ 5662: 0x6B38,
+ 5663: 0x6B37,
+ 5664: 0x76DC,
+ 5665: 0x6B39,
+ 5666: 0x98EE,
+ 5667: 0x6B47,
+ 5668: 0x6B43,
+ 5669: 0x6B49,
+ 5670: 0x6B50,
+ 5671: 0x6B59,
+ 5672: 0x6B54,
+ 5673: 0x6B5B,
+ 5674: 0x6B5F,
+ 5675: 0x6B61,
+ 5676: 0x6B78,
+ 5677: 0x6B79,
+ 5678: 0x6B7F,
+ 5679: 0x6B80,
+ 5680: 0x6B84,
+ 5681: 0x6B83,
+ 5682: 0x6B8D,
+ 5683: 0x6B98,
+ 5684: 0x6B95,
+ 5685: 0x6B9E,
+ 5686: 0x6BA4,
+ 5687: 0x6BAA,
+ 5688: 0x6BAB,
+ 5689: 0x6BAF,
+ 5690: 0x6BB2,
+ 5691: 0x6BB1,
+ 5692: 0x6BB3,
+ 5693: 0x6BB7,
+ 5694: 0x6BBC,
+ 5695: 0x6BC6,
+ 5696: 0x6BCB,
+ 5697: 0x6BD3,
+ 5698: 0x6BDF,
+ 5699: 0x6BEC,
+ 5700: 0x6BEB,
+ 5701: 0x6BF3,
+ 5702: 0x6BEF,
+ 5703: 0x9EBE,
+ 5704: 0x6C08,
+ 5705: 0x6C13,
+ 5706: 0x6C14,
+ 5707: 0x6C1B,
+ 5708: 0x6C24,
+ 5709: 0x6C23,
+ 5710: 0x6C5E,
+ 5711: 0x6C55,
+ 5712: 0x6C62,
+ 5713: 0x6C6A,
+ 5714: 0x6C82,
+ 5715: 0x6C8D,
+ 5716: 0x6C9A,
+ 5717: 0x6C81,
+ 5718: 0x6C9B,
+ 5719: 0x6C7E,
+ 5720: 0x6C68,
+ 5721: 0x6C73,
+ 5722: 0x6C92,
+ 5723: 0x6C90,
+ 5724: 0x6CC4,
+ 5725: 0x6CF1,
+ 5726: 0x6CD3,
+ 5727: 0x6CBD,
+ 5728: 0x6CD7,
+ 5729: 0x6CC5,
+ 5730: 0x6CDD,
+ 5731: 0x6CAE,
+ 5732: 0x6CB1,
+ 5733: 0x6CBE,
+ 5734: 0x6CBA,
+ 5735: 0x6CDB,
+ 5736: 0x6CEF,
+ 5737: 0x6CD9,
+ 5738: 0x6CEA,
+ 5739: 0x6D1F,
+ 5740: 0x884D,
+ 5741: 0x6D36,
+ 5742: 0x6D2B,
+ 5743: 0x6D3D,
+ 5744: 0x6D38,
+ 5745: 0x6D19,
+ 5746: 0x6D35,
+ 5747: 0x6D33,
+ 5748: 0x6D12,
+ 5749: 0x6D0C,
+ 5750: 0x6D63,
+ 5751: 0x6D93,
+ 5752: 0x6D64,
+ 5753: 0x6D5A,
+ 5754: 0x6D79,
+ 5755: 0x6D59,
+ 5756: 0x6D8E,
+ 5757: 0x6D95,
+ 5758: 0x6FE4,
+ 5759: 0x6D85,
+ 5760: 0x6DF9,
+ 5761: 0x6E15,
+ 5762: 0x6E0A,
+ 5763: 0x6DB5,
+ 5764: 0x6DC7,
+ 5765: 0x6DE6,
+ 5766: 0x6DB8,
+ 5767: 0x6DC6,
+ 5768: 0x6DEC,
+ 5769: 0x6DDE,
+ 5770: 0x6DCC,
+ 5771: 0x6DE8,
+ 5772: 0x6DD2,
+ 5773: 0x6DC5,
+ 5774: 0x6DFA,
+ 5775: 0x6DD9,
+ 5776: 0x6DE4,
+ 5777: 0x6DD5,
+ 5778: 0x6DEA,
+ 5779: 0x6DEE,
+ 5780: 0x6E2D,
+ 5781: 0x6E6E,
+ 5782: 0x6E2E,
+ 5783: 0x6E19,
+ 5784: 0x6E72,
+ 5785: 0x6E5F,
+ 5786: 0x6E3E,
+ 5787: 0x6E23,
+ 5788: 0x6E6B,
+ 5789: 0x6E2B,
+ 5790: 0x6E76,
+ 5791: 0x6E4D,
+ 5792: 0x6E1F,
+ 5793: 0x6E43,
+ 5794: 0x6E3A,
+ 5795: 0x6E4E,
+ 5796: 0x6E24,
+ 5797: 0x6EFF,
+ 5798: 0x6E1D,
+ 5799: 0x6E38,
+ 5800: 0x6E82,
+ 5801: 0x6EAA,
+ 5802: 0x6E98,
+ 5803: 0x6EC9,
+ 5804: 0x6EB7,
+ 5805: 0x6ED3,
+ 5806: 0x6EBD,
+ 5807: 0x6EAF,
+ 5808: 0x6EC4,
+ 5809: 0x6EB2,
+ 5810: 0x6ED4,
+ 5811: 0x6ED5,
+ 5812: 0x6E8F,
+ 5813: 0x6EA5,
+ 5814: 0x6EC2,
+ 5815: 0x6E9F,
+ 5816: 0x6F41,
+ 5817: 0x6F11,
+ 5818: 0x704C,
+ 5819: 0x6EEC,
+ 5820: 0x6EF8,
+ 5821: 0x6EFE,
+ 5822: 0x6F3F,
+ 5823: 0x6EF2,
+ 5824: 0x6F31,
+ 5825: 0x6EEF,
+ 5826: 0x6F32,
+ 5827: 0x6ECC,
+ 5828: 0x6F3E,
+ 5829: 0x6F13,
+ 5830: 0x6EF7,
+ 5831: 0x6F86,
+ 5832: 0x6F7A,
+ 5833: 0x6F78,
+ 5834: 0x6F81,
+ 5835: 0x6F80,
+ 5836: 0x6F6F,
+ 5837: 0x6F5B,
+ 5838: 0x6FF3,
+ 5839: 0x6F6D,
+ 5840: 0x6F82,
+ 5841: 0x6F7C,
+ 5842: 0x6F58,
+ 5843: 0x6F8E,
+ 5844: 0x6F91,
+ 5845: 0x6FC2,
+ 5846: 0x6F66,
+ 5847: 0x6FB3,
+ 5848: 0x6FA3,
+ 5849: 0x6FA1,
+ 5850: 0x6FA4,
+ 5851: 0x6FB9,
+ 5852: 0x6FC6,
+ 5853: 0x6FAA,
+ 5854: 0x6FDF,
+ 5855: 0x6FD5,
+ 5856: 0x6FEC,
+ 5857: 0x6FD4,
+ 5858: 0x6FD8,
+ 5859: 0x6FF1,
+ 5860: 0x6FEE,
+ 5861: 0x6FDB,
+ 5862: 0x7009,
+ 5863: 0x700B,
+ 5864: 0x6FFA,
+ 5865: 0x7011,
+ 5866: 0x7001,
+ 5867: 0x700F,
+ 5868: 0x6FFE,
+ 5869: 0x701B,
+ 5870: 0x701A,
+ 5871: 0x6F74,
+ 5872: 0x701D,
+ 5873: 0x7018,
+ 5874: 0x701F,
+ 5875: 0x7030,
+ 5876: 0x703E,
+ 5877: 0x7032,
+ 5878: 0x7051,
+ 5879: 0x7063,
+ 5880: 0x7099,
+ 5881: 0x7092,
+ 5882: 0x70AF,
+ 5883: 0x70F1,
+ 5884: 0x70AC,
+ 5885: 0x70B8,
+ 5886: 0x70B3,
+ 5887: 0x70AE,
+ 5888: 0x70DF,
+ 5889: 0x70CB,
+ 5890: 0x70DD,
+ 5891: 0x70D9,
+ 5892: 0x7109,
+ 5893: 0x70FD,
+ 5894: 0x711C,
+ 5895: 0x7119,
+ 5896: 0x7165,
+ 5897: 0x7155,
+ 5898: 0x7188,
+ 5899: 0x7166,
+ 5900: 0x7162,
+ 5901: 0x714C,
+ 5902: 0x7156,
+ 5903: 0x716C,
+ 5904: 0x718F,
+ 5905: 0x71FB,
+ 5906: 0x7184,
+ 5907: 0x7195,
+ 5908: 0x71A8,
+ 5909: 0x71AC,
+ 5910: 0x71D7,
+ 5911: 0x71B9,
+ 5912: 0x71BE,
+ 5913: 0x71D2,
+ 5914: 0x71C9,
+ 5915: 0x71D4,
+ 5916: 0x71CE,
+ 5917: 0x71E0,
+ 5918: 0x71EC,
+ 5919: 0x71E7,
+ 5920: 0x71F5,
+ 5921: 0x71FC,
+ 5922: 0x71F9,
+ 5923: 0x71FF,
+ 5924: 0x720D,
+ 5925: 0x7210,
+ 5926: 0x721B,
+ 5927: 0x7228,
+ 5928: 0x722D,
+ 5929: 0x722C,
+ 5930: 0x7230,
+ 5931: 0x7232,
+ 5932: 0x723B,
+ 5933: 0x723C,
+ 5934: 0x723F,
+ 5935: 0x7240,
+ 5936: 0x7246,
+ 5937: 0x724B,
+ 5938: 0x7258,
+ 5939: 0x7274,
+ 5940: 0x727E,
+ 5941: 0x7282,
+ 5942: 0x7281,
+ 5943: 0x7287,
+ 5944: 0x7292,
+ 5945: 0x7296,
+ 5946: 0x72A2,
+ 5947: 0x72A7,
+ 5948: 0x72B9,
+ 5949: 0x72B2,
+ 5950: 0x72C3,
+ 5951: 0x72C6,
+ 5952: 0x72C4,
+ 5953: 0x72CE,
+ 5954: 0x72D2,
+ 5955: 0x72E2,
+ 5956: 0x72E0,
+ 5957: 0x72E1,
+ 5958: 0x72F9,
+ 5959: 0x72F7,
+ 5960: 0x500F,
+ 5961: 0x7317,
+ 5962: 0x730A,
+ 5963: 0x731C,
+ 5964: 0x7316,
+ 5965: 0x731D,
+ 5966: 0x7334,
+ 5967: 0x732F,
+ 5968: 0x7329,
+ 5969: 0x7325,
+ 5970: 0x733E,
+ 5971: 0x734E,
+ 5972: 0x734F,
+ 5973: 0x9ED8,
+ 5974: 0x7357,
+ 5975: 0x736A,
+ 5976: 0x7368,
+ 5977: 0x7370,
+ 5978: 0x7378,
+ 5979: 0x7375,
+ 5980: 0x737B,
+ 5981: 0x737A,
+ 5982: 0x73C8,
+ 5983: 0x73B3,
+ 5984: 0x73CE,
+ 5985: 0x73BB,
+ 5986: 0x73C0,
+ 5987: 0x73E5,
+ 5988: 0x73EE,
+ 5989: 0x73DE,
+ 5990: 0x74A2,
+ 5991: 0x7405,
+ 5992: 0x746F,
+ 5993: 0x7425,
+ 5994: 0x73F8,
+ 5995: 0x7432,
+ 5996: 0x743A,
+ 5997: 0x7455,
+ 5998: 0x743F,
+ 5999: 0x745F,
+ 6000: 0x7459,
+ 6001: 0x7441,
+ 6002: 0x745C,
+ 6003: 0x7469,
+ 6004: 0x7470,
+ 6005: 0x7463,
+ 6006: 0x746A,
+ 6007: 0x7476,
+ 6008: 0x747E,
+ 6009: 0x748B,
+ 6010: 0x749E,
+ 6011: 0x74A7,
+ 6012: 0x74CA,
+ 6013: 0x74CF,
+ 6014: 0x74D4,
+ 6015: 0x73F1,
+ 6016: 0x74E0,
+ 6017: 0x74E3,
+ 6018: 0x74E7,
+ 6019: 0x74E9,
+ 6020: 0x74EE,
+ 6021: 0x74F2,
+ 6022: 0x74F0,
+ 6023: 0x74F1,
+ 6024: 0x74F8,
+ 6025: 0x74F7,
+ 6026: 0x7504,
+ 6027: 0x7503,
+ 6028: 0x7505,
+ 6029: 0x750C,
+ 6030: 0x750E,
+ 6031: 0x750D,
+ 6032: 0x7515,
+ 6033: 0x7513,
+ 6034: 0x751E,
+ 6035: 0x7526,
+ 6036: 0x752C,
+ 6037: 0x753C,
+ 6038: 0x7544,
+ 6039: 0x754D,
+ 6040: 0x754A,
+ 6041: 0x7549,
+ 6042: 0x755B,
+ 6043: 0x7546,
+ 6044: 0x755A,
+ 6045: 0x7569,
+ 6046: 0x7564,
+ 6047: 0x7567,
+ 6048: 0x756B,
+ 6049: 0x756D,
+ 6050: 0x7578,
+ 6051: 0x7576,
+ 6052: 0x7586,
+ 6053: 0x7587,
+ 6054: 0x7574,
+ 6055: 0x758A,
+ 6056: 0x7589,
+ 6057: 0x7582,
+ 6058: 0x7594,
+ 6059: 0x759A,
+ 6060: 0x759D,
+ 6061: 0x75A5,
+ 6062: 0x75A3,
+ 6063: 0x75C2,
+ 6064: 0x75B3,
+ 6065: 0x75C3,
+ 6066: 0x75B5,
+ 6067: 0x75BD,
+ 6068: 0x75B8,
+ 6069: 0x75BC,
+ 6070: 0x75B1,
+ 6071: 0x75CD,
+ 6072: 0x75CA,
+ 6073: 0x75D2,
+ 6074: 0x75D9,
+ 6075: 0x75E3,
+ 6076: 0x75DE,
+ 6077: 0x75FE,
+ 6078: 0x75FF,
+ 6079: 0x75FC,
+ 6080: 0x7601,
+ 6081: 0x75F0,
+ 6082: 0x75FA,
+ 6083: 0x75F2,
+ 6084: 0x75F3,
+ 6085: 0x760B,
+ 6086: 0x760D,
+ 6087: 0x7609,
+ 6088: 0x761F,
+ 6089: 0x7627,
+ 6090: 0x7620,
+ 6091: 0x7621,
+ 6092: 0x7622,
+ 6093: 0x7624,
+ 6094: 0x7634,
+ 6095: 0x7630,
+ 6096: 0x763B,
+ 6097: 0x7647,
+ 6098: 0x7648,
+ 6099: 0x7646,
+ 6100: 0x765C,
+ 6101: 0x7658,
+ 6102: 0x7661,
+ 6103: 0x7662,
+ 6104: 0x7668,
+ 6105: 0x7669,
+ 6106: 0x766A,
+ 6107: 0x7667,
+ 6108: 0x766C,
+ 6109: 0x7670,
+ 6110: 0x7672,
+ 6111: 0x7676,
+ 6112: 0x7678,
+ 6113: 0x767C,
+ 6114: 0x7680,
+ 6115: 0x7683,
+ 6116: 0x7688,
+ 6117: 0x768B,
+ 6118: 0x768E,
+ 6119: 0x7696,
+ 6120: 0x7693,
+ 6121: 0x7699,
+ 6122: 0x769A,
+ 6123: 0x76B0,
+ 6124: 0x76B4,
+ 6125: 0x76B8,
+ 6126: 0x76B9,
+ 6127: 0x76BA,
+ 6128: 0x76C2,
+ 6129: 0x76CD,
+ 6130: 0x76D6,
+ 6131: 0x76D2,
+ 6132: 0x76DE,
+ 6133: 0x76E1,
+ 6134: 0x76E5,
+ 6135: 0x76E7,
+ 6136: 0x76EA,
+ 6137: 0x862F,
+ 6138: 0x76FB,
+ 6139: 0x7708,
+ 6140: 0x7707,
+ 6141: 0x7704,
+ 6142: 0x7729,
+ 6143: 0x7724,
+ 6144: 0x771E,
+ 6145: 0x7725,
+ 6146: 0x7726,
+ 6147: 0x771B,
+ 6148: 0x7737,
+ 6149: 0x7738,
+ 6150: 0x7747,
+ 6151: 0x775A,
+ 6152: 0x7768,
+ 6153: 0x776B,
+ 6154: 0x775B,
+ 6155: 0x7765,
+ 6156: 0x777F,
+ 6157: 0x777E,
+ 6158: 0x7779,
+ 6159: 0x778E,
+ 6160: 0x778B,
+ 6161: 0x7791,
+ 6162: 0x77A0,
+ 6163: 0x779E,
+ 6164: 0x77B0,
+ 6165: 0x77B6,
+ 6166: 0x77B9,
+ 6167: 0x77BF,
+ 6168: 0x77BC,
+ 6169: 0x77BD,
+ 6170: 0x77BB,
+ 6171: 0x77C7,
+ 6172: 0x77CD,
+ 6173: 0x77D7,
+ 6174: 0x77DA,
+ 6175: 0x77DC,
+ 6176: 0x77E3,
+ 6177: 0x77EE,
+ 6178: 0x77FC,
+ 6179: 0x780C,
+ 6180: 0x7812,
+ 6181: 0x7926,
+ 6182: 0x7820,
+ 6183: 0x792A,
+ 6184: 0x7845,
+ 6185: 0x788E,
+ 6186: 0x7874,
+ 6187: 0x7886,
+ 6188: 0x787C,
+ 6189: 0x789A,
+ 6190: 0x788C,
+ 6191: 0x78A3,
+ 6192: 0x78B5,
+ 6193: 0x78AA,
+ 6194: 0x78AF,
+ 6195: 0x78D1,
+ 6196: 0x78C6,
+ 6197: 0x78CB,
+ 6198: 0x78D4,
+ 6199: 0x78BE,
+ 6200: 0x78BC,
+ 6201: 0x78C5,
+ 6202: 0x78CA,
+ 6203: 0x78EC,
+ 6204: 0x78E7,
+ 6205: 0x78DA,
+ 6206: 0x78FD,
+ 6207: 0x78F4,
+ 6208: 0x7907,
+ 6209: 0x7912,
+ 6210: 0x7911,
+ 6211: 0x7919,
+ 6212: 0x792C,
+ 6213: 0x792B,
+ 6214: 0x7940,
+ 6215: 0x7960,
+ 6216: 0x7957,
+ 6217: 0x795F,
+ 6218: 0x795A,
+ 6219: 0x7955,
+ 6220: 0x7953,
+ 6221: 0x797A,
+ 6222: 0x797F,
+ 6223: 0x798A,
+ 6224: 0x799D,
+ 6225: 0x79A7,
+ 6226: 0x9F4B,
+ 6227: 0x79AA,
+ 6228: 0x79AE,
+ 6229: 0x79B3,
+ 6230: 0x79B9,
+ 6231: 0x79BA,
+ 6232: 0x79C9,
+ 6233: 0x79D5,
+ 6234: 0x79E7,
+ 6235: 0x79EC,
+ 6236: 0x79E1,
+ 6237: 0x79E3,
+ 6238: 0x7A08,
+ 6239: 0x7A0D,
+ 6240: 0x7A18,
+ 6241: 0x7A19,
+ 6242: 0x7A20,
+ 6243: 0x7A1F,
+ 6244: 0x7980,
+ 6245: 0x7A31,
+ 6246: 0x7A3B,
+ 6247: 0x7A3E,
+ 6248: 0x7A37,
+ 6249: 0x7A43,
+ 6250: 0x7A57,
+ 6251: 0x7A49,
+ 6252: 0x7A61,
+ 6253: 0x7A62,
+ 6254: 0x7A69,
+ 6255: 0x9F9D,
+ 6256: 0x7A70,
+ 6257: 0x7A79,
+ 6258: 0x7A7D,
+ 6259: 0x7A88,
+ 6260: 0x7A97,
+ 6261: 0x7A95,
+ 6262: 0x7A98,
+ 6263: 0x7A96,
+ 6264: 0x7AA9,
+ 6265: 0x7AC8,
+ 6266: 0x7AB0,
+ 6267: 0x7AB6,
+ 6268: 0x7AC5,
+ 6269: 0x7AC4,
+ 6270: 0x7ABF,
+ 6271: 0x9083,
+ 6272: 0x7AC7,
+ 6273: 0x7ACA,
+ 6274: 0x7ACD,
+ 6275: 0x7ACF,
+ 6276: 0x7AD5,
+ 6277: 0x7AD3,
+ 6278: 0x7AD9,
+ 6279: 0x7ADA,
+ 6280: 0x7ADD,
+ 6281: 0x7AE1,
+ 6282: 0x7AE2,
+ 6283: 0x7AE6,
+ 6284: 0x7AED,
+ 6285: 0x7AF0,
+ 6286: 0x7B02,
+ 6287: 0x7B0F,
+ 6288: 0x7B0A,
+ 6289: 0x7B06,
+ 6290: 0x7B33,
+ 6291: 0x7B18,
+ 6292: 0x7B19,
+ 6293: 0x7B1E,
+ 6294: 0x7B35,
+ 6295: 0x7B28,
+ 6296: 0x7B36,
+ 6297: 0x7B50,
+ 6298: 0x7B7A,
+ 6299: 0x7B04,
+ 6300: 0x7B4D,
+ 6301: 0x7B0B,
+ 6302: 0x7B4C,
+ 6303: 0x7B45,
+ 6304: 0x7B75,
+ 6305: 0x7B65,
+ 6306: 0x7B74,
+ 6307: 0x7B67,
+ 6308: 0x7B70,
+ 6309: 0x7B71,
+ 6310: 0x7B6C,
+ 6311: 0x7B6E,
+ 6312: 0x7B9D,
+ 6313: 0x7B98,
+ 6314: 0x7B9F,
+ 6315: 0x7B8D,
+ 6316: 0x7B9C,
+ 6317: 0x7B9A,
+ 6318: 0x7B8B,
+ 6319: 0x7B92,
+ 6320: 0x7B8F,
+ 6321: 0x7B5D,
+ 6322: 0x7B99,
+ 6323: 0x7BCB,
+ 6324: 0x7BC1,
+ 6325: 0x7BCC,
+ 6326: 0x7BCF,
+ 6327: 0x7BB4,
+ 6328: 0x7BC6,
+ 6329: 0x7BDD,
+ 6330: 0x7BE9,
+ 6331: 0x7C11,
+ 6332: 0x7C14,
+ 6333: 0x7BE6,
+ 6334: 0x7BE5,
+ 6335: 0x7C60,
+ 6336: 0x7C00,
+ 6337: 0x7C07,
+ 6338: 0x7C13,
+ 6339: 0x7BF3,
+ 6340: 0x7BF7,
+ 6341: 0x7C17,
+ 6342: 0x7C0D,
+ 6343: 0x7BF6,
+ 6344: 0x7C23,
+ 6345: 0x7C27,
+ 6346: 0x7C2A,
+ 6347: 0x7C1F,
+ 6348: 0x7C37,
+ 6349: 0x7C2B,
+ 6350: 0x7C3D,
+ 6351: 0x7C4C,
+ 6352: 0x7C43,
+ 6353: 0x7C54,
+ 6354: 0x7C4F,
+ 6355: 0x7C40,
+ 6356: 0x7C50,
+ 6357: 0x7C58,
+ 6358: 0x7C5F,
+ 6359: 0x7C64,
+ 6360: 0x7C56,
+ 6361: 0x7C65,
+ 6362: 0x7C6C,
+ 6363: 0x7C75,
+ 6364: 0x7C83,
+ 6365: 0x7C90,
+ 6366: 0x7CA4,
+ 6367: 0x7CAD,
+ 6368: 0x7CA2,
+ 6369: 0x7CAB,
+ 6370: 0x7CA1,
+ 6371: 0x7CA8,
+ 6372: 0x7CB3,
+ 6373: 0x7CB2,
+ 6374: 0x7CB1,
+ 6375: 0x7CAE,
+ 6376: 0x7CB9,
+ 6377: 0x7CBD,
+ 6378: 0x7CC0,
+ 6379: 0x7CC5,
+ 6380: 0x7CC2,
+ 6381: 0x7CD8,
+ 6382: 0x7CD2,
+ 6383: 0x7CDC,
+ 6384: 0x7CE2,
+ 6385: 0x9B3B,
+ 6386: 0x7CEF,
+ 6387: 0x7CF2,
+ 6388: 0x7CF4,
+ 6389: 0x7CF6,
+ 6390: 0x7CFA,
+ 6391: 0x7D06,
+ 6392: 0x7D02,
+ 6393: 0x7D1C,
+ 6394: 0x7D15,
+ 6395: 0x7D0A,
+ 6396: 0x7D45,
+ 6397: 0x7D4B,
+ 6398: 0x7D2E,
+ 6399: 0x7D32,
+ 6400: 0x7D3F,
+ 6401: 0x7D35,
+ 6402: 0x7D46,
+ 6403: 0x7D73,
+ 6404: 0x7D56,
+ 6405: 0x7D4E,
+ 6406: 0x7D72,
+ 6407: 0x7D68,
+ 6408: 0x7D6E,
+ 6409: 0x7D4F,
+ 6410: 0x7D63,
+ 6411: 0x7D93,
+ 6412: 0x7D89,
+ 6413: 0x7D5B,
+ 6414: 0x7D8F,
+ 6415: 0x7D7D,
+ 6416: 0x7D9B,
+ 6417: 0x7DBA,
+ 6418: 0x7DAE,
+ 6419: 0x7DA3,
+ 6420: 0x7DB5,
+ 6421: 0x7DC7,
+ 6422: 0x7DBD,
+ 6423: 0x7DAB,
+ 6424: 0x7E3D,
+ 6425: 0x7DA2,
+ 6426: 0x7DAF,
+ 6427: 0x7DDC,
+ 6428: 0x7DB8,
+ 6429: 0x7D9F,
+ 6430: 0x7DB0,
+ 6431: 0x7DD8,
+ 6432: 0x7DDD,
+ 6433: 0x7DE4,
+ 6434: 0x7DDE,
+ 6435: 0x7DFB,
+ 6436: 0x7DF2,
+ 6437: 0x7DE1,
+ 6438: 0x7E05,
+ 6439: 0x7E0A,
+ 6440: 0x7E23,
+ 6441: 0x7E21,
+ 6442: 0x7E12,
+ 6443: 0x7E31,
+ 6444: 0x7E1F,
+ 6445: 0x7E09,
+ 6446: 0x7E0B,
+ 6447: 0x7E22,
+ 6448: 0x7E46,
+ 6449: 0x7E66,
+ 6450: 0x7E3B,
+ 6451: 0x7E35,
+ 6452: 0x7E39,
+ 6453: 0x7E43,
+ 6454: 0x7E37,
+ 6455: 0x7E32,
+ 6456: 0x7E3A,
+ 6457: 0x7E67,
+ 6458: 0x7E5D,
+ 6459: 0x7E56,
+ 6460: 0x7E5E,
+ 6461: 0x7E59,
+ 6462: 0x7E5A,
+ 6463: 0x7E79,
+ 6464: 0x7E6A,
+ 6465: 0x7E69,
+ 6466: 0x7E7C,
+ 6467: 0x7E7B,
+ 6468: 0x7E83,
+ 6469: 0x7DD5,
+ 6470: 0x7E7D,
+ 6471: 0x8FAE,
+ 6472: 0x7E7F,
+ 6473: 0x7E88,
+ 6474: 0x7E89,
+ 6475: 0x7E8C,
+ 6476: 0x7E92,
+ 6477: 0x7E90,
+ 6478: 0x7E93,
+ 6479: 0x7E94,
+ 6480: 0x7E96,
+ 6481: 0x7E8E,
+ 6482: 0x7E9B,
+ 6483: 0x7E9C,
+ 6484: 0x7F38,
+ 6485: 0x7F3A,
+ 6486: 0x7F45,
+ 6487: 0x7F4C,
+ 6488: 0x7F4D,
+ 6489: 0x7F4E,
+ 6490: 0x7F50,
+ 6491: 0x7F51,
+ 6492: 0x7F55,
+ 6493: 0x7F54,
+ 6494: 0x7F58,
+ 6495: 0x7F5F,
+ 6496: 0x7F60,
+ 6497: 0x7F68,
+ 6498: 0x7F69,
+ 6499: 0x7F67,
+ 6500: 0x7F78,
+ 6501: 0x7F82,
+ 6502: 0x7F86,
+ 6503: 0x7F83,
+ 6504: 0x7F88,
+ 6505: 0x7F87,
+ 6506: 0x7F8C,
+ 6507: 0x7F94,
+ 6508: 0x7F9E,
+ 6509: 0x7F9D,
+ 6510: 0x7F9A,
+ 6511: 0x7FA3,
+ 6512: 0x7FAF,
+ 6513: 0x7FB2,
+ 6514: 0x7FB9,
+ 6515: 0x7FAE,
+ 6516: 0x7FB6,
+ 6517: 0x7FB8,
+ 6518: 0x8B71,
+ 6519: 0x7FC5,
+ 6520: 0x7FC6,
+ 6521: 0x7FCA,
+ 6522: 0x7FD5,
+ 6523: 0x7FD4,
+ 6524: 0x7FE1,
+ 6525: 0x7FE6,
+ 6526: 0x7FE9,
+ 6527: 0x7FF3,
+ 6528: 0x7FF9,
+ 6529: 0x98DC,
+ 6530: 0x8006,
+ 6531: 0x8004,
+ 6532: 0x800B,
+ 6533: 0x8012,
+ 6534: 0x8018,
+ 6535: 0x8019,
+ 6536: 0x801C,
+ 6537: 0x8021,
+ 6538: 0x8028,
+ 6539: 0x803F,
+ 6540: 0x803B,
+ 6541: 0x804A,
+ 6542: 0x8046,
+ 6543: 0x8052,
+ 6544: 0x8058,
+ 6545: 0x805A,
+ 6546: 0x805F,
+ 6547: 0x8062,
+ 6548: 0x8068,
+ 6549: 0x8073,
+ 6550: 0x8072,
+ 6551: 0x8070,
+ 6552: 0x8076,
+ 6553: 0x8079,
+ 6554: 0x807D,
+ 6555: 0x807F,
+ 6556: 0x8084,
+ 6557: 0x8086,
+ 6558: 0x8085,
+ 6559: 0x809B,
+ 6560: 0x8093,
+ 6561: 0x809A,
+ 6562: 0x80AD,
+ 6563: 0x5190,
+ 6564: 0x80AC,
+ 6565: 0x80DB,
+ 6566: 0x80E5,
+ 6567: 0x80D9,
+ 6568: 0x80DD,
+ 6569: 0x80C4,
+ 6570: 0x80DA,
+ 6571: 0x80D6,
+ 6572: 0x8109,
+ 6573: 0x80EF,
+ 6574: 0x80F1,
+ 6575: 0x811B,
+ 6576: 0x8129,
+ 6577: 0x8123,
+ 6578: 0x812F,
+ 6579: 0x814B,
+ 6580: 0x968B,
+ 6581: 0x8146,
+ 6582: 0x813E,
+ 6583: 0x8153,
+ 6584: 0x8151,
+ 6585: 0x80FC,
+ 6586: 0x8171,
+ 6587: 0x816E,
+ 6588: 0x8165,
+ 6589: 0x8166,
+ 6590: 0x8174,
+ 6591: 0x8183,
+ 6592: 0x8188,
+ 6593: 0x818A,
+ 6594: 0x8180,
+ 6595: 0x8182,
+ 6596: 0x81A0,
+ 6597: 0x8195,
+ 6598: 0x81A4,
+ 6599: 0x81A3,
+ 6600: 0x815F,
+ 6601: 0x8193,
+ 6602: 0x81A9,
+ 6603: 0x81B0,
+ 6604: 0x81B5,
+ 6605: 0x81BE,
+ 6606: 0x81B8,
+ 6607: 0x81BD,
+ 6608: 0x81C0,
+ 6609: 0x81C2,
+ 6610: 0x81BA,
+ 6611: 0x81C9,
+ 6612: 0x81CD,
+ 6613: 0x81D1,
+ 6614: 0x81D9,
+ 6615: 0x81D8,
+ 6616: 0x81C8,
+ 6617: 0x81DA,
+ 6618: 0x81DF,
+ 6619: 0x81E0,
+ 6620: 0x81E7,
+ 6621: 0x81FA,
+ 6622: 0x81FB,
+ 6623: 0x81FE,
+ 6624: 0x8201,
+ 6625: 0x8202,
+ 6626: 0x8205,
+ 6627: 0x8207,
+ 6628: 0x820A,
+ 6629: 0x820D,
+ 6630: 0x8210,
+ 6631: 0x8216,
+ 6632: 0x8229,
+ 6633: 0x822B,
+ 6634: 0x8238,
+ 6635: 0x8233,
+ 6636: 0x8240,
+ 6637: 0x8259,
+ 6638: 0x8258,
+ 6639: 0x825D,
+ 6640: 0x825A,
+ 6641: 0x825F,
+ 6642: 0x8264,
+ 6643: 0x8262,
+ 6644: 0x8268,
+ 6645: 0x826A,
+ 6646: 0x826B,
+ 6647: 0x822E,
+ 6648: 0x8271,
+ 6649: 0x8277,
+ 6650: 0x8278,
+ 6651: 0x827E,
+ 6652: 0x828D,
+ 6653: 0x8292,
+ 6654: 0x82AB,
+ 6655: 0x829F,
+ 6656: 0x82BB,
+ 6657: 0x82AC,
+ 6658: 0x82E1,
+ 6659: 0x82E3,
+ 6660: 0x82DF,
+ 6661: 0x82D2,
+ 6662: 0x82F4,
+ 6663: 0x82F3,
+ 6664: 0x82FA,
+ 6665: 0x8393,
+ 6666: 0x8303,
+ 6667: 0x82FB,
+ 6668: 0x82F9,
+ 6669: 0x82DE,
+ 6670: 0x8306,
+ 6671: 0x82DC,
+ 6672: 0x8309,
+ 6673: 0x82D9,
+ 6674: 0x8335,
+ 6675: 0x8334,
+ 6676: 0x8316,
+ 6677: 0x8332,
+ 6678: 0x8331,
+ 6679: 0x8340,
+ 6680: 0x8339,
+ 6681: 0x8350,
+ 6682: 0x8345,
+ 6683: 0x832F,
+ 6684: 0x832B,
+ 6685: 0x8317,
+ 6686: 0x8318,
+ 6687: 0x8385,
+ 6688: 0x839A,
+ 6689: 0x83AA,
+ 6690: 0x839F,
+ 6691: 0x83A2,
+ 6692: 0x8396,
+ 6693: 0x8323,
+ 6694: 0x838E,
+ 6695: 0x8387,
+ 6696: 0x838A,
+ 6697: 0x837C,
+ 6698: 0x83B5,
+ 6699: 0x8373,
+ 6700: 0x8375,
+ 6701: 0x83A0,
+ 6702: 0x8389,
+ 6703: 0x83A8,
+ 6704: 0x83F4,
+ 6705: 0x8413,
+ 6706: 0x83EB,
+ 6707: 0x83CE,
+ 6708: 0x83FD,
+ 6709: 0x8403,
+ 6710: 0x83D8,
+ 6711: 0x840B,
+ 6712: 0x83C1,
+ 6713: 0x83F7,
+ 6714: 0x8407,
+ 6715: 0x83E0,
+ 6716: 0x83F2,
+ 6717: 0x840D,
+ 6718: 0x8422,
+ 6719: 0x8420,
+ 6720: 0x83BD,
+ 6721: 0x8438,
+ 6722: 0x8506,
+ 6723: 0x83FB,
+ 6724: 0x846D,
+ 6725: 0x842A,
+ 6726: 0x843C,
+ 6727: 0x855A,
+ 6728: 0x8484,
+ 6729: 0x8477,
+ 6730: 0x846B,
+ 6731: 0x84AD,
+ 6732: 0x846E,
+ 6733: 0x8482,
+ 6734: 0x8469,
+ 6735: 0x8446,
+ 6736: 0x842C,
+ 6737: 0x846F,
+ 6738: 0x8479,
+ 6739: 0x8435,
+ 6740: 0x84CA,
+ 6741: 0x8462,
+ 6742: 0x84B9,
+ 6743: 0x84BF,
+ 6744: 0x849F,
+ 6745: 0x84D9,
+ 6746: 0x84CD,
+ 6747: 0x84BB,
+ 6748: 0x84DA,
+ 6749: 0x84D0,
+ 6750: 0x84C1,
+ 6751: 0x84C6,
+ 6752: 0x84D6,
+ 6753: 0x84A1,
+ 6754: 0x8521,
+ 6755: 0x84FF,
+ 6756: 0x84F4,
+ 6757: 0x8517,
+ 6758: 0x8518,
+ 6759: 0x852C,
+ 6760: 0x851F,
+ 6761: 0x8515,
+ 6762: 0x8514,
+ 6763: 0x84FC,
+ 6764: 0x8540,
+ 6765: 0x8563,
+ 6766: 0x8558,
+ 6767: 0x8548,
+ 6768: 0x8541,
+ 6769: 0x8602,
+ 6770: 0x854B,
+ 6771: 0x8555,
+ 6772: 0x8580,
+ 6773: 0x85A4,
+ 6774: 0x8588,
+ 6775: 0x8591,
+ 6776: 0x858A,
+ 6777: 0x85A8,
+ 6778: 0x856D,
+ 6779: 0x8594,
+ 6780: 0x859B,
+ 6781: 0x85EA,
+ 6782: 0x8587,
+ 6783: 0x859C,
+ 6784: 0x8577,
+ 6785: 0x857E,
+ 6786: 0x8590,
+ 6787: 0x85C9,
+ 6788: 0x85BA,
+ 6789: 0x85CF,
+ 6790: 0x85B9,
+ 6791: 0x85D0,
+ 6792: 0x85D5,
+ 6793: 0x85DD,
+ 6794: 0x85E5,
+ 6795: 0x85DC,
+ 6796: 0x85F9,
+ 6797: 0x860A,
+ 6798: 0x8613,
+ 6799: 0x860B,
+ 6800: 0x85FE,
+ 6801: 0x85FA,
+ 6802: 0x8606,
+ 6803: 0x8622,
+ 6804: 0x861A,
+ 6805: 0x8630,
+ 6806: 0x863F,
+ 6807: 0x864D,
+ 6808: 0x4E55,
+ 6809: 0x8654,
+ 6810: 0x865F,
+ 6811: 0x8667,
+ 6812: 0x8671,
+ 6813: 0x8693,
+ 6814: 0x86A3,
+ 6815: 0x86A9,
+ 6816: 0x86AA,
+ 6817: 0x868B,
+ 6818: 0x868C,
+ 6819: 0x86B6,
+ 6820: 0x86AF,
+ 6821: 0x86C4,
+ 6822: 0x86C6,
+ 6823: 0x86B0,
+ 6824: 0x86C9,
+ 6825: 0x8823,
+ 6826: 0x86AB,
+ 6827: 0x86D4,
+ 6828: 0x86DE,
+ 6829: 0x86E9,
+ 6830: 0x86EC,
+ 6831: 0x86DF,
+ 6832: 0x86DB,
+ 6833: 0x86EF,
+ 6834: 0x8712,
+ 6835: 0x8706,
+ 6836: 0x8708,
+ 6837: 0x8700,
+ 6838: 0x8703,
+ 6839: 0x86FB,
+ 6840: 0x8711,
+ 6841: 0x8709,
+ 6842: 0x870D,
+ 6843: 0x86F9,
+ 6844: 0x870A,
+ 6845: 0x8734,
+ 6846: 0x873F,
+ 6847: 0x8737,
+ 6848: 0x873B,
+ 6849: 0x8725,
+ 6850: 0x8729,
+ 6851: 0x871A,
+ 6852: 0x8760,
+ 6853: 0x875F,
+ 6854: 0x8778,
+ 6855: 0x874C,
+ 6856: 0x874E,
+ 6857: 0x8774,
+ 6858: 0x8757,
+ 6859: 0x8768,
+ 6860: 0x876E,
+ 6861: 0x8759,
+ 6862: 0x8753,
+ 6863: 0x8763,
+ 6864: 0x876A,
+ 6865: 0x8805,
+ 6866: 0x87A2,
+ 6867: 0x879F,
+ 6868: 0x8782,
+ 6869: 0x87AF,
+ 6870: 0x87CB,
+ 6871: 0x87BD,
+ 6872: 0x87C0,
+ 6873: 0x87D0,
+ 6874: 0x96D6,
+ 6875: 0x87AB,
+ 6876: 0x87C4,
+ 6877: 0x87B3,
+ 6878: 0x87C7,
+ 6879: 0x87C6,
+ 6880: 0x87BB,
+ 6881: 0x87EF,
+ 6882: 0x87F2,
+ 6883: 0x87E0,
+ 6884: 0x880F,
+ 6885: 0x880D,
+ 6886: 0x87FE,
+ 6887: 0x87F6,
+ 6888: 0x87F7,
+ 6889: 0x880E,
+ 6890: 0x87D2,
+ 6891: 0x8811,
+ 6892: 0x8816,
+ 6893: 0x8815,
+ 6894: 0x8822,
+ 6895: 0x8821,
+ 6896: 0x8831,
+ 6897: 0x8836,
+ 6898: 0x8839,
+ 6899: 0x8827,
+ 6900: 0x883B,
+ 6901: 0x8844,
+ 6902: 0x8842,
+ 6903: 0x8852,
+ 6904: 0x8859,
+ 6905: 0x885E,
+ 6906: 0x8862,
+ 6907: 0x886B,
+ 6908: 0x8881,
+ 6909: 0x887E,
+ 6910: 0x889E,
+ 6911: 0x8875,
+ 6912: 0x887D,
+ 6913: 0x88B5,
+ 6914: 0x8872,
+ 6915: 0x8882,
+ 6916: 0x8897,
+ 6917: 0x8892,
+ 6918: 0x88AE,
+ 6919: 0x8899,
+ 6920: 0x88A2,
+ 6921: 0x888D,
+ 6922: 0x88A4,
+ 6923: 0x88B0,
+ 6924: 0x88BF,
+ 6925: 0x88B1,
+ 6926: 0x88C3,
+ 6927: 0x88C4,
+ 6928: 0x88D4,
+ 6929: 0x88D8,
+ 6930: 0x88D9,
+ 6931: 0x88DD,
+ 6932: 0x88F9,
+ 6933: 0x8902,
+ 6934: 0x88FC,
+ 6935: 0x88F4,
+ 6936: 0x88E8,
+ 6937: 0x88F2,
+ 6938: 0x8904,
+ 6939: 0x890C,
+ 6940: 0x890A,
+ 6941: 0x8913,
+ 6942: 0x8943,
+ 6943: 0x891E,
+ 6944: 0x8925,
+ 6945: 0x892A,
+ 6946: 0x892B,
+ 6947: 0x8941,
+ 6948: 0x8944,
+ 6949: 0x893B,
+ 6950: 0x8936,
+ 6951: 0x8938,
+ 6952: 0x894C,
+ 6953: 0x891D,
+ 6954: 0x8960,
+ 6955: 0x895E,
+ 6956: 0x8966,
+ 6957: 0x8964,
+ 6958: 0x896D,
+ 6959: 0x896A,
+ 6960: 0x896F,
+ 6961: 0x8974,
+ 6962: 0x8977,
+ 6963: 0x897E,
+ 6964: 0x8983,
+ 6965: 0x8988,
+ 6966: 0x898A,
+ 6967: 0x8993,
+ 6968: 0x8998,
+ 6969: 0x89A1,
+ 6970: 0x89A9,
+ 6971: 0x89A6,
+ 6972: 0x89AC,
+ 6973: 0x89AF,
+ 6974: 0x89B2,
+ 6975: 0x89BA,
+ 6976: 0x89BD,
+ 6977: 0x89BF,
+ 6978: 0x89C0,
+ 6979: 0x89DA,
+ 6980: 0x89DC,
+ 6981: 0x89DD,
+ 6982: 0x89E7,
+ 6983: 0x89F4,
+ 6984: 0x89F8,
+ 6985: 0x8A03,
+ 6986: 0x8A16,
+ 6987: 0x8A10,
+ 6988: 0x8A0C,
+ 6989: 0x8A1B,
+ 6990: 0x8A1D,
+ 6991: 0x8A25,
+ 6992: 0x8A36,
+ 6993: 0x8A41,
+ 6994: 0x8A5B,
+ 6995: 0x8A52,
+ 6996: 0x8A46,
+ 6997: 0x8A48,
+ 6998: 0x8A7C,
+ 6999: 0x8A6D,
+ 7000: 0x8A6C,
+ 7001: 0x8A62,
+ 7002: 0x8A85,
+ 7003: 0x8A82,
+ 7004: 0x8A84,
+ 7005: 0x8AA8,
+ 7006: 0x8AA1,
+ 7007: 0x8A91,
+ 7008: 0x8AA5,
+ 7009: 0x8AA6,
+ 7010: 0x8A9A,
+ 7011: 0x8AA3,
+ 7012: 0x8AC4,
+ 7013: 0x8ACD,
+ 7014: 0x8AC2,
+ 7015: 0x8ADA,
+ 7016: 0x8AEB,
+ 7017: 0x8AF3,
+ 7018: 0x8AE7,
+ 7019: 0x8AE4,
+ 7020: 0x8AF1,
+ 7021: 0x8B14,
+ 7022: 0x8AE0,
+ 7023: 0x8AE2,
+ 7024: 0x8AF7,
+ 7025: 0x8ADE,
+ 7026: 0x8ADB,
+ 7027: 0x8B0C,
+ 7028: 0x8B07,
+ 7029: 0x8B1A,
+ 7030: 0x8AE1,
+ 7031: 0x8B16,
+ 7032: 0x8B10,
+ 7033: 0x8B17,
+ 7034: 0x8B20,
+ 7035: 0x8B33,
+ 7036: 0x97AB,
+ 7037: 0x8B26,
+ 7038: 0x8B2B,
+ 7039: 0x8B3E,
+ 7040: 0x8B28,
+ 7041: 0x8B41,
+ 7042: 0x8B4C,
+ 7043: 0x8B4F,
+ 7044: 0x8B4E,
+ 7045: 0x8B49,
+ 7046: 0x8B56,
+ 7047: 0x8B5B,
+ 7048: 0x8B5A,
+ 7049: 0x8B6B,
+ 7050: 0x8B5F,
+ 7051: 0x8B6C,
+ 7052: 0x8B6F,
+ 7053: 0x8B74,
+ 7054: 0x8B7D,
+ 7055: 0x8B80,
+ 7056: 0x8B8C,
+ 7057: 0x8B8E,
+ 7058: 0x8B92,
+ 7059: 0x8B93,
+ 7060: 0x8B96,
+ 7061: 0x8B99,
+ 7062: 0x8B9A,
+ 7063: 0x8C3A,
+ 7064: 0x8C41,
+ 7065: 0x8C3F,
+ 7066: 0x8C48,
+ 7067: 0x8C4C,
+ 7068: 0x8C4E,
+ 7069: 0x8C50,
+ 7070: 0x8C55,
+ 7071: 0x8C62,
+ 7072: 0x8C6C,
+ 7073: 0x8C78,
+ 7074: 0x8C7A,
+ 7075: 0x8C82,
+ 7076: 0x8C89,
+ 7077: 0x8C85,
+ 7078: 0x8C8A,
+ 7079: 0x8C8D,
+ 7080: 0x8C8E,
+ 7081: 0x8C94,
+ 7082: 0x8C7C,
+ 7083: 0x8C98,
+ 7084: 0x621D,
+ 7085: 0x8CAD,
+ 7086: 0x8CAA,
+ 7087: 0x8CBD,
+ 7088: 0x8CB2,
+ 7089: 0x8CB3,
+ 7090: 0x8CAE,
+ 7091: 0x8CB6,
+ 7092: 0x8CC8,
+ 7093: 0x8CC1,
+ 7094: 0x8CE4,
+ 7095: 0x8CE3,
+ 7096: 0x8CDA,
+ 7097: 0x8CFD,
+ 7098: 0x8CFA,
+ 7099: 0x8CFB,
+ 7100: 0x8D04,
+ 7101: 0x8D05,
+ 7102: 0x8D0A,
+ 7103: 0x8D07,
+ 7104: 0x8D0F,
+ 7105: 0x8D0D,
+ 7106: 0x8D10,
+ 7107: 0x9F4E,
+ 7108: 0x8D13,
+ 7109: 0x8CCD,
+ 7110: 0x8D14,
+ 7111: 0x8D16,
+ 7112: 0x8D67,
+ 7113: 0x8D6D,
+ 7114: 0x8D71,
+ 7115: 0x8D73,
+ 7116: 0x8D81,
+ 7117: 0x8D99,
+ 7118: 0x8DC2,
+ 7119: 0x8DBE,
+ 7120: 0x8DBA,
+ 7121: 0x8DCF,
+ 7122: 0x8DDA,
+ 7123: 0x8DD6,
+ 7124: 0x8DCC,
+ 7125: 0x8DDB,
+ 7126: 0x8DCB,
+ 7127: 0x8DEA,
+ 7128: 0x8DEB,
+ 7129: 0x8DDF,
+ 7130: 0x8DE3,
+ 7131: 0x8DFC,
+ 7132: 0x8E08,
+ 7133: 0x8E09,
+ 7134: 0x8DFF,
+ 7135: 0x8E1D,
+ 7136: 0x8E1E,
+ 7137: 0x8E10,
+ 7138: 0x8E1F,
+ 7139: 0x8E42,
+ 7140: 0x8E35,
+ 7141: 0x8E30,
+ 7142: 0x8E34,
+ 7143: 0x8E4A,
+ 7144: 0x8E47,
+ 7145: 0x8E49,
+ 7146: 0x8E4C,
+ 7147: 0x8E50,
+ 7148: 0x8E48,
+ 7149: 0x8E59,
+ 7150: 0x8E64,
+ 7151: 0x8E60,
+ 7152: 0x8E2A,
+ 7153: 0x8E63,
+ 7154: 0x8E55,
+ 7155: 0x8E76,
+ 7156: 0x8E72,
+ 7157: 0x8E7C,
+ 7158: 0x8E81,
+ 7159: 0x8E87,
+ 7160: 0x8E85,
+ 7161: 0x8E84,
+ 7162: 0x8E8B,
+ 7163: 0x8E8A,
+ 7164: 0x8E93,
+ 7165: 0x8E91,
+ 7166: 0x8E94,
+ 7167: 0x8E99,
+ 7168: 0x8EAA,
+ 7169: 0x8EA1,
+ 7170: 0x8EAC,
+ 7171: 0x8EB0,
+ 7172: 0x8EC6,
+ 7173: 0x8EB1,
+ 7174: 0x8EBE,
+ 7175: 0x8EC5,
+ 7176: 0x8EC8,
+ 7177: 0x8ECB,
+ 7178: 0x8EDB,
+ 7179: 0x8EE3,
+ 7180: 0x8EFC,
+ 7181: 0x8EFB,
+ 7182: 0x8EEB,
+ 7183: 0x8EFE,
+ 7184: 0x8F0A,
+ 7185: 0x8F05,
+ 7186: 0x8F15,
+ 7187: 0x8F12,
+ 7188: 0x8F19,
+ 7189: 0x8F13,
+ 7190: 0x8F1C,
+ 7191: 0x8F1F,
+ 7192: 0x8F1B,
+ 7193: 0x8F0C,
+ 7194: 0x8F26,
+ 7195: 0x8F33,
+ 7196: 0x8F3B,
+ 7197: 0x8F39,
+ 7198: 0x8F45,
+ 7199: 0x8F42,
+ 7200: 0x8F3E,
+ 7201: 0x8F4C,
+ 7202: 0x8F49,
+ 7203: 0x8F46,
+ 7204: 0x8F4E,
+ 7205: 0x8F57,
+ 7206: 0x8F5C,
+ 7207: 0x8F62,
+ 7208: 0x8F63,
+ 7209: 0x8F64,
+ 7210: 0x8F9C,
+ 7211: 0x8F9F,
+ 7212: 0x8FA3,
+ 7213: 0x8FAD,
+ 7214: 0x8FAF,
+ 7215: 0x8FB7,
+ 7216: 0x8FDA,
+ 7217: 0x8FE5,
+ 7218: 0x8FE2,
+ 7219: 0x8FEA,
+ 7220: 0x8FEF,
+ 7221: 0x9087,
+ 7222: 0x8FF4,
+ 7223: 0x9005,
+ 7224: 0x8FF9,
+ 7225: 0x8FFA,
+ 7226: 0x9011,
+ 7227: 0x9015,
+ 7228: 0x9021,
+ 7229: 0x900D,
+ 7230: 0x901E,
+ 7231: 0x9016,
+ 7232: 0x900B,
+ 7233: 0x9027,
+ 7234: 0x9036,
+ 7235: 0x9035,
+ 7236: 0x9039,
+ 7237: 0x8FF8,
+ 7238: 0x904F,
+ 7239: 0x9050,
+ 7240: 0x9051,
+ 7241: 0x9052,
+ 7242: 0x900E,
+ 7243: 0x9049,
+ 7244: 0x903E,
+ 7245: 0x9056,
+ 7246: 0x9058,
+ 7247: 0x905E,
+ 7248: 0x9068,
+ 7249: 0x906F,
+ 7250: 0x9076,
+ 7251: 0x96A8,
+ 7252: 0x9072,
+ 7253: 0x9082,
+ 7254: 0x907D,
+ 7255: 0x9081,
+ 7256: 0x9080,
+ 7257: 0x908A,
+ 7258: 0x9089,
+ 7259: 0x908F,
+ 7260: 0x90A8,
+ 7261: 0x90AF,
+ 7262: 0x90B1,
+ 7263: 0x90B5,
+ 7264: 0x90E2,
+ 7265: 0x90E4,
+ 7266: 0x6248,
+ 7267: 0x90DB,
+ 7268: 0x9102,
+ 7269: 0x9112,
+ 7270: 0x9119,
+ 7271: 0x9132,
+ 7272: 0x9130,
+ 7273: 0x914A,
+ 7274: 0x9156,
+ 7275: 0x9158,
+ 7276: 0x9163,
+ 7277: 0x9165,
+ 7278: 0x9169,
+ 7279: 0x9173,
+ 7280: 0x9172,
+ 7281: 0x918B,
+ 7282: 0x9189,
+ 7283: 0x9182,
+ 7284: 0x91A2,
+ 7285: 0x91AB,
+ 7286: 0x91AF,
+ 7287: 0x91AA,
+ 7288: 0x91B5,
+ 7289: 0x91B4,
+ 7290: 0x91BA,
+ 7291: 0x91C0,
+ 7292: 0x91C1,
+ 7293: 0x91C9,
+ 7294: 0x91CB,
+ 7295: 0x91D0,
+ 7296: 0x91D6,
+ 7297: 0x91DF,
+ 7298: 0x91E1,
+ 7299: 0x91DB,
+ 7300: 0x91FC,
+ 7301: 0x91F5,
+ 7302: 0x91F6,
+ 7303: 0x921E,
+ 7304: 0x91FF,
+ 7305: 0x9214,
+ 7306: 0x922C,
+ 7307: 0x9215,
+ 7308: 0x9211,
+ 7309: 0x925E,
+ 7310: 0x9257,
+ 7311: 0x9245,
+ 7312: 0x9249,
+ 7313: 0x9264,
+ 7314: 0x9248,
+ 7315: 0x9295,
+ 7316: 0x923F,
+ 7317: 0x924B,
+ 7318: 0x9250,
+ 7319: 0x929C,
+ 7320: 0x9296,
+ 7321: 0x9293,
+ 7322: 0x929B,
+ 7323: 0x925A,
+ 7324: 0x92CF,
+ 7325: 0x92B9,
+ 7326: 0x92B7,
+ 7327: 0x92E9,
+ 7328: 0x930F,
+ 7329: 0x92FA,
+ 7330: 0x9344,
+ 7331: 0x932E,
+ 7332: 0x9319,
+ 7333: 0x9322,
+ 7334: 0x931A,
+ 7335: 0x9323,
+ 7336: 0x933A,
+ 7337: 0x9335,
+ 7338: 0x933B,
+ 7339: 0x935C,
+ 7340: 0x9360,
+ 7341: 0x937C,
+ 7342: 0x936E,
+ 7343: 0x9356,
+ 7344: 0x93B0,
+ 7345: 0x93AC,
+ 7346: 0x93AD,
+ 7347: 0x9394,
+ 7348: 0x93B9,
+ 7349: 0x93D6,
+ 7350: 0x93D7,
+ 7351: 0x93E8,
+ 7352: 0x93E5,
+ 7353: 0x93D8,
+ 7354: 0x93C3,
+ 7355: 0x93DD,
+ 7356: 0x93D0,
+ 7357: 0x93C8,
+ 7358: 0x93E4,
+ 7359: 0x941A,
+ 7360: 0x9414,
+ 7361: 0x9413,
+ 7362: 0x9403,
+ 7363: 0x9407,
+ 7364: 0x9410,
+ 7365: 0x9436,
+ 7366: 0x942B,
+ 7367: 0x9435,
+ 7368: 0x9421,
+ 7369: 0x943A,
+ 7370: 0x9441,
+ 7371: 0x9452,
+ 7372: 0x9444,
+ 7373: 0x945B,
+ 7374: 0x9460,
+ 7375: 0x9462,
+ 7376: 0x945E,
+ 7377: 0x946A,
+ 7378: 0x9229,
+ 7379: 0x9470,
+ 7380: 0x9475,
+ 7381: 0x9477,
+ 7382: 0x947D,
+ 7383: 0x945A,
+ 7384: 0x947C,
+ 7385: 0x947E,
+ 7386: 0x9481,
+ 7387: 0x947F,
+ 7388: 0x9582,
+ 7389: 0x9587,
+ 7390: 0x958A,
+ 7391: 0x9594,
+ 7392: 0x9596,
+ 7393: 0x9598,
+ 7394: 0x9599,
+ 7395: 0x95A0,
+ 7396: 0x95A8,
+ 7397: 0x95A7,
+ 7398: 0x95AD,
+ 7399: 0x95BC,
+ 7400: 0x95BB,
+ 7401: 0x95B9,
+ 7402: 0x95BE,
+ 7403: 0x95CA,
+ 7404: 0x6FF6,
+ 7405: 0x95C3,
+ 7406: 0x95CD,
+ 7407: 0x95CC,
+ 7408: 0x95D5,
+ 7409: 0x95D4,
+ 7410: 0x95D6,
+ 7411: 0x95DC,
+ 7412: 0x95E1,
+ 7413: 0x95E5,
+ 7414: 0x95E2,
+ 7415: 0x9621,
+ 7416: 0x9628,
+ 7417: 0x962E,
+ 7418: 0x962F,
+ 7419: 0x9642,
+ 7420: 0x964C,
+ 7421: 0x964F,
+ 7422: 0x964B,
+ 7423: 0x9677,
+ 7424: 0x965C,
+ 7425: 0x965E,
+ 7426: 0x965D,
+ 7427: 0x965F,
+ 7428: 0x9666,
+ 7429: 0x9672,
+ 7430: 0x966C,
+ 7431: 0x968D,
+ 7432: 0x9698,
+ 7433: 0x9695,
+ 7434: 0x9697,
+ 7435: 0x96AA,
+ 7436: 0x96A7,
+ 7437: 0x96B1,
+ 7438: 0x96B2,
+ 7439: 0x96B0,
+ 7440: 0x96B4,
+ 7441: 0x96B6,
+ 7442: 0x96B8,
+ 7443: 0x96B9,
+ 7444: 0x96CE,
+ 7445: 0x96CB,
+ 7446: 0x96C9,
+ 7447: 0x96CD,
+ 7448: 0x894D,
+ 7449: 0x96DC,
+ 7450: 0x970D,
+ 7451: 0x96D5,
+ 7452: 0x96F9,
+ 7453: 0x9704,
+ 7454: 0x9706,
+ 7455: 0x9708,
+ 7456: 0x9713,
+ 7457: 0x970E,
+ 7458: 0x9711,
+ 7459: 0x970F,
+ 7460: 0x9716,
+ 7461: 0x9719,
+ 7462: 0x9724,
+ 7463: 0x972A,
+ 7464: 0x9730,
+ 7465: 0x9739,
+ 7466: 0x973D,
+ 7467: 0x973E,
+ 7468: 0x9744,
+ 7469: 0x9746,
+ 7470: 0x9748,
+ 7471: 0x9742,
+ 7472: 0x9749,
+ 7473: 0x975C,
+ 7474: 0x9760,
+ 7475: 0x9764,
+ 7476: 0x9766,
+ 7477: 0x9768,
+ 7478: 0x52D2,
+ 7479: 0x976B,
+ 7480: 0x9771,
+ 7481: 0x9779,
+ 7482: 0x9785,
+ 7483: 0x977C,
+ 7484: 0x9781,
+ 7485: 0x977A,
+ 7486: 0x9786,
+ 7487: 0x978B,
+ 7488: 0x978F,
+ 7489: 0x9790,
+ 7490: 0x979C,
+ 7491: 0x97A8,
+ 7492: 0x97A6,
+ 7493: 0x97A3,
+ 7494: 0x97B3,
+ 7495: 0x97B4,
+ 7496: 0x97C3,
+ 7497: 0x97C6,
+ 7498: 0x97C8,
+ 7499: 0x97CB,
+ 7500: 0x97DC,
+ 7501: 0x97ED,
+ 7502: 0x9F4F,
+ 7503: 0x97F2,
+ 7504: 0x7ADF,
+ 7505: 0x97F6,
+ 7506: 0x97F5,
+ 7507: 0x980F,
+ 7508: 0x980C,
+ 7509: 0x9838,
+ 7510: 0x9824,
+ 7511: 0x9821,
+ 7512: 0x9837,
+ 7513: 0x983D,
+ 7514: 0x9846,
+ 7515: 0x984F,
+ 7516: 0x984B,
+ 7517: 0x986B,
+ 7518: 0x986F,
+ 7519: 0x9870,
+ 7520: 0x9871,
+ 7521: 0x9874,
+ 7522: 0x9873,
+ 7523: 0x98AA,
+ 7524: 0x98AF,
+ 7525: 0x98B1,
+ 7526: 0x98B6,
+ 7527: 0x98C4,
+ 7528: 0x98C3,
+ 7529: 0x98C6,
+ 7530: 0x98E9,
+ 7531: 0x98EB,
+ 7532: 0x9903,
+ 7533: 0x9909,
+ 7534: 0x9912,
+ 7535: 0x9914,
+ 7536: 0x9918,
+ 7537: 0x9921,
+ 7538: 0x991D,
+ 7539: 0x991E,
+ 7540: 0x9924,
+ 7541: 0x9920,
+ 7542: 0x992C,
+ 7543: 0x992E,
+ 7544: 0x993D,
+ 7545: 0x993E,
+ 7546: 0x9942,
+ 7547: 0x9949,
+ 7548: 0x9945,
+ 7549: 0x9950,
+ 7550: 0x994B,
+ 7551: 0x9951,
+ 7552: 0x9952,
+ 7553: 0x994C,
+ 7554: 0x9955,
+ 7555: 0x9997,
+ 7556: 0x9998,
+ 7557: 0x99A5,
+ 7558: 0x99AD,
+ 7559: 0x99AE,
+ 7560: 0x99BC,
+ 7561: 0x99DF,
+ 7562: 0x99DB,
+ 7563: 0x99DD,
+ 7564: 0x99D8,
+ 7565: 0x99D1,
+ 7566: 0x99ED,
+ 7567: 0x99EE,
+ 7568: 0x99F1,
+ 7569: 0x99F2,
+ 7570: 0x99FB,
+ 7571: 0x99F8,
+ 7572: 0x9A01,
+ 7573: 0x9A0F,
+ 7574: 0x9A05,
+ 7575: 0x99E2,
+ 7576: 0x9A19,
+ 7577: 0x9A2B,
+ 7578: 0x9A37,
+ 7579: 0x9A45,
+ 7580: 0x9A42,
+ 7581: 0x9A40,
+ 7582: 0x9A43,
+ 7583: 0x9A3E,
+ 7584: 0x9A55,
+ 7585: 0x9A4D,
+ 7586: 0x9A5B,
+ 7587: 0x9A57,
+ 7588: 0x9A5F,
+ 7589: 0x9A62,
+ 7590: 0x9A65,
+ 7591: 0x9A64,
+ 7592: 0x9A69,
+ 7593: 0x9A6B,
+ 7594: 0x9A6A,
+ 7595: 0x9AAD,
+ 7596: 0x9AB0,
+ 7597: 0x9ABC,
+ 7598: 0x9AC0,
+ 7599: 0x9ACF,
+ 7600: 0x9AD1,
+ 7601: 0x9AD3,
+ 7602: 0x9AD4,
+ 7603: 0x9ADE,
+ 7604: 0x9ADF,
+ 7605: 0x9AE2,
+ 7606: 0x9AE3,
+ 7607: 0x9AE6,
+ 7608: 0x9AEF,
+ 7609: 0x9AEB,
+ 7610: 0x9AEE,
+ 7611: 0x9AF4,
+ 7612: 0x9AF1,
+ 7613: 0x9AF7,
+ 7614: 0x9AFB,
+ 7615: 0x9B06,
+ 7616: 0x9B18,
+ 7617: 0x9B1A,
+ 7618: 0x9B1F,
+ 7619: 0x9B22,
+ 7620: 0x9B23,
+ 7621: 0x9B25,
+ 7622: 0x9B27,
+ 7623: 0x9B28,
+ 7624: 0x9B29,
+ 7625: 0x9B2A,
+ 7626: 0x9B2E,
+ 7627: 0x9B2F,
+ 7628: 0x9B32,
+ 7629: 0x9B44,
+ 7630: 0x9B43,
+ 7631: 0x9B4F,
+ 7632: 0x9B4D,
+ 7633: 0x9B4E,
+ 7634: 0x9B51,
+ 7635: 0x9B58,
+ 7636: 0x9B74,
+ 7637: 0x9B93,
+ 7638: 0x9B83,
+ 7639: 0x9B91,
+ 7640: 0x9B96,
+ 7641: 0x9B97,
+ 7642: 0x9B9F,
+ 7643: 0x9BA0,
+ 7644: 0x9BA8,
+ 7645: 0x9BB4,
+ 7646: 0x9BC0,
+ 7647: 0x9BCA,
+ 7648: 0x9BB9,
+ 7649: 0x9BC6,
+ 7650: 0x9BCF,
+ 7651: 0x9BD1,
+ 7652: 0x9BD2,
+ 7653: 0x9BE3,
+ 7654: 0x9BE2,
+ 7655: 0x9BE4,
+ 7656: 0x9BD4,
+ 7657: 0x9BE1,
+ 7658: 0x9C3A,
+ 7659: 0x9BF2,
+ 7660: 0x9BF1,
+ 7661: 0x9BF0,
+ 7662: 0x9C15,
+ 7663: 0x9C14,
+ 7664: 0x9C09,
+ 7665: 0x9C13,
+ 7666: 0x9C0C,
+ 7667: 0x9C06,
+ 7668: 0x9C08,
+ 7669: 0x9C12,
+ 7670: 0x9C0A,
+ 7671: 0x9C04,
+ 7672: 0x9C2E,
+ 7673: 0x9C1B,
+ 7674: 0x9C25,
+ 7675: 0x9C24,
+ 7676: 0x9C21,
+ 7677: 0x9C30,
+ 7678: 0x9C47,
+ 7679: 0x9C32,
+ 7680: 0x9C46,
+ 7681: 0x9C3E,
+ 7682: 0x9C5A,
+ 7683: 0x9C60,
+ 7684: 0x9C67,
+ 7685: 0x9C76,
+ 7686: 0x9C78,
+ 7687: 0x9CE7,
+ 7688: 0x9CEC,
+ 7689: 0x9CF0,
+ 7690: 0x9D09,
+ 7691: 0x9D08,
+ 7692: 0x9CEB,
+ 7693: 0x9D03,
+ 7694: 0x9D06,
+ 7695: 0x9D2A,
+ 7696: 0x9D26,
+ 7697: 0x9DAF,
+ 7698: 0x9D23,
+ 7699: 0x9D1F,
+ 7700: 0x9D44,
+ 7701: 0x9D15,
+ 7702: 0x9D12,
+ 7703: 0x9D41,
+ 7704: 0x9D3F,
+ 7705: 0x9D3E,
+ 7706: 0x9D46,
+ 7707: 0x9D48,
+ 7708: 0x9D5D,
+ 7709: 0x9D5E,
+ 7710: 0x9D64,
+ 7711: 0x9D51,
+ 7712: 0x9D50,
+ 7713: 0x9D59,
+ 7714: 0x9D72,
+ 7715: 0x9D89,
+ 7716: 0x9D87,
+ 7717: 0x9DAB,
+ 7718: 0x9D6F,
+ 7719: 0x9D7A,
+ 7720: 0x9D9A,
+ 7721: 0x9DA4,
+ 7722: 0x9DA9,
+ 7723: 0x9DB2,
+ 7724: 0x9DC4,
+ 7725: 0x9DC1,
+ 7726: 0x9DBB,
+ 7727: 0x9DB8,
+ 7728: 0x9DBA,
+ 7729: 0x9DC6,
+ 7730: 0x9DCF,
+ 7731: 0x9DC2,
+ 7732: 0x9DD9,
+ 7733: 0x9DD3,
+ 7734: 0x9DF8,
+ 7735: 0x9DE6,
+ 7736: 0x9DED,
+ 7737: 0x9DEF,
+ 7738: 0x9DFD,
+ 7739: 0x9E1A,
+ 7740: 0x9E1B,
+ 7741: 0x9E1E,
+ 7742: 0x9E75,
+ 7743: 0x9E79,
+ 7744: 0x9E7D,
+ 7745: 0x9E81,
+ 7746: 0x9E88,
+ 7747: 0x9E8B,
+ 7748: 0x9E8C,
+ 7749: 0x9E92,
+ 7750: 0x9E95,
+ 7751: 0x9E91,
+ 7752: 0x9E9D,
+ 7753: 0x9EA5,
+ 7754: 0x9EA9,
+ 7755: 0x9EB8,
+ 7756: 0x9EAA,
+ 7757: 0x9EAD,
+ 7758: 0x9761,
+ 7759: 0x9ECC,
+ 7760: 0x9ECE,
+ 7761: 0x9ECF,
+ 7762: 0x9ED0,
+ 7763: 0x9ED4,
+ 7764: 0x9EDC,
+ 7765: 0x9EDE,
+ 7766: 0x9EDD,
+ 7767: 0x9EE0,
+ 7768: 0x9EE5,
+ 7769: 0x9EE8,
+ 7770: 0x9EEF,
+ 7771: 0x9EF4,
+ 7772: 0x9EF6,
+ 7773: 0x9EF7,
+ 7774: 0x9EF9,
+ 7775: 0x9EFB,
+ 7776: 0x9EFC,
+ 7777: 0x9EFD,
+ 7778: 0x9F07,
+ 7779: 0x9F08,
+ 7780: 0x76B7,
+ 7781: 0x9F15,
+ 7782: 0x9F21,
+ 7783: 0x9F2C,
+ 7784: 0x9F3E,
+ 7785: 0x9F4A,
+ 7786: 0x9F52,
+ 7787: 0x9F54,
+ 7788: 0x9F63,
+ 7789: 0x9F5F,
+ 7790: 0x9F60,
+ 7791: 0x9F61,
+ 7792: 0x9F66,
+ 7793: 0x9F67,
+ 7794: 0x9F6C,
+ 7795: 0x9F6A,
+ 7796: 0x9F77,
+ 7797: 0x9F72,
+ 7798: 0x9F76,
+ 7799: 0x9F95,
+ 7800: 0x9F9C,
+ 7801: 0x9FA0,
+ 7802: 0x582F,
+ 7803: 0x69C7,
+ 7804: 0x9059,
+ 7805: 0x7464,
+ 7806: 0x51DC,
+ 7807: 0x7199,
+ 8272: 0x7E8A,
+ 8273: 0x891C,
+ 8274: 0x9348,
+ 8275: 0x9288,
+ 8276: 0x84DC,
+ 8277: 0x4FC9,
+ 8278: 0x70BB,
+ 8279: 0x6631,
+ 8280: 0x68C8,
+ 8281: 0x92F9,
+ 8282: 0x66FB,
+ 8283: 0x5F45,
+ 8284: 0x4E28,
+ 8285: 0x4EE1,
+ 8286: 0x4EFC,
+ 8287: 0x4F00,
+ 8288: 0x4F03,
+ 8289: 0x4F39,
+ 8290: 0x4F56,
+ 8291: 0x4F92,
+ 8292: 0x4F8A,
+ 8293: 0x4F9A,
+ 8294: 0x4F94,
+ 8295: 0x4FCD,
+ 8296: 0x5040,
+ 8297: 0x5022,
+ 8298: 0x4FFF,
+ 8299: 0x501E,
+ 8300: 0x5046,
+ 8301: 0x5070,
+ 8302: 0x5042,
+ 8303: 0x5094,
+ 8304: 0x50F4,
+ 8305: 0x50D8,
+ 8306: 0x514A,
+ 8307: 0x5164,
+ 8308: 0x519D,
+ 8309: 0x51BE,
+ 8310: 0x51EC,
+ 8311: 0x5215,
+ 8312: 0x529C,
+ 8313: 0x52A6,
+ 8314: 0x52C0,
+ 8315: 0x52DB,
+ 8316: 0x5300,
+ 8317: 0x5307,
+ 8318: 0x5324,
+ 8319: 0x5372,
+ 8320: 0x5393,
+ 8321: 0x53B2,
+ 8322: 0x53DD,
+ 8323: 0xFA0E,
+ 8324: 0x549C,
+ 8325: 0x548A,
+ 8326: 0x54A9,
+ 8327: 0x54FF,
+ 8328: 0x5586,
+ 8329: 0x5759,
+ 8330: 0x5765,
+ 8331: 0x57AC,
+ 8332: 0x57C8,
+ 8333: 0x57C7,
+ 8334: 0xFA0F,
+ 8335: 0xFA10,
+ 8336: 0x589E,
+ 8337: 0x58B2,
+ 8338: 0x590B,
+ 8339: 0x5953,
+ 8340: 0x595B,
+ 8341: 0x595D,
+ 8342: 0x5963,
+ 8343: 0x59A4,
+ 8344: 0x59BA,
+ 8345: 0x5B56,
+ 8346: 0x5BC0,
+ 8347: 0x752F,
+ 8348: 0x5BD8,
+ 8349: 0x5BEC,
+ 8350: 0x5C1E,
+ 8351: 0x5CA6,
+ 8352: 0x5CBA,
+ 8353: 0x5CF5,
+ 8354: 0x5D27,
+ 8355: 0x5D53,
+ 8356: 0xFA11,
+ 8357: 0x5D42,
+ 8358: 0x5D6D,
+ 8359: 0x5DB8,
+ 8360: 0x5DB9,
+ 8361: 0x5DD0,
+ 8362: 0x5F21,
+ 8363: 0x5F34,
+ 8364: 0x5F67,
+ 8365: 0x5FB7,
+ 8366: 0x5FDE,
+ 8367: 0x605D,
+ 8368: 0x6085,
+ 8369: 0x608A,
+ 8370: 0x60DE,
+ 8371: 0x60D5,
+ 8372: 0x6120,
+ 8373: 0x60F2,
+ 8374: 0x6111,
+ 8375: 0x6137,
+ 8376: 0x6130,
+ 8377: 0x6198,
+ 8378: 0x6213,
+ 8379: 0x62A6,
+ 8380: 0x63F5,
+ 8381: 0x6460,
+ 8382: 0x649D,
+ 8383: 0x64CE,
+ 8384: 0x654E,
+ 8385: 0x6600,
+ 8386: 0x6615,
+ 8387: 0x663B,
+ 8388: 0x6609,
+ 8389: 0x662E,
+ 8390: 0x661E,
+ 8391: 0x6624,
+ 8392: 0x6665,
+ 8393: 0x6657,
+ 8394: 0x6659,
+ 8395: 0xFA12,
+ 8396: 0x6673,
+ 8397: 0x6699,
+ 8398: 0x66A0,
+ 8399: 0x66B2,
+ 8400: 0x66BF,
+ 8401: 0x66FA,
+ 8402: 0x670E,
+ 8403: 0xF929,
+ 8404: 0x6766,
+ 8405: 0x67BB,
+ 8406: 0x6852,
+ 8407: 0x67C0,
+ 8408: 0x6801,
+ 8409: 0x6844,
+ 8410: 0x68CF,
+ 8411: 0xFA13,
+ 8412: 0x6968,
+ 8413: 0xFA14,
+ 8414: 0x6998,
+ 8415: 0x69E2,
+ 8416: 0x6A30,
+ 8417: 0x6A6B,
+ 8418: 0x6A46,
+ 8419: 0x6A73,
+ 8420: 0x6A7E,
+ 8421: 0x6AE2,
+ 8422: 0x6AE4,
+ 8423: 0x6BD6,
+ 8424: 0x6C3F,
+ 8425: 0x6C5C,
+ 8426: 0x6C86,
+ 8427: 0x6C6F,
+ 8428: 0x6CDA,
+ 8429: 0x6D04,
+ 8430: 0x6D87,
+ 8431: 0x6D6F,
+ 8432: 0x6D96,
+ 8433: 0x6DAC,
+ 8434: 0x6DCF,
+ 8435: 0x6DF8,
+ 8436: 0x6DF2,
+ 8437: 0x6DFC,
+ 8438: 0x6E39,
+ 8439: 0x6E5C,
+ 8440: 0x6E27,
+ 8441: 0x6E3C,
+ 8442: 0x6EBF,
+ 8443: 0x6F88,
+ 8444: 0x6FB5,
+ 8445: 0x6FF5,
+ 8446: 0x7005,
+ 8447: 0x7007,
+ 8448: 0x7028,
+ 8449: 0x7085,
+ 8450: 0x70AB,
+ 8451: 0x710F,
+ 8452: 0x7104,
+ 8453: 0x715C,
+ 8454: 0x7146,
+ 8455: 0x7147,
+ 8456: 0xFA15,
+ 8457: 0x71C1,
+ 8458: 0x71FE,
+ 8459: 0x72B1,
+ 8460: 0x72BE,
+ 8461: 0x7324,
+ 8462: 0xFA16,
+ 8463: 0x7377,
+ 8464: 0x73BD,
+ 8465: 0x73C9,
+ 8466: 0x73D6,
+ 8467: 0x73E3,
+ 8468: 0x73D2,
+ 8469: 0x7407,
+ 8470: 0x73F5,
+ 8471: 0x7426,
+ 8472: 0x742A,
+ 8473: 0x7429,
+ 8474: 0x742E,
+ 8475: 0x7462,
+ 8476: 0x7489,
+ 8477: 0x749F,
+ 8478: 0x7501,
+ 8479: 0x756F,
+ 8480: 0x7682,
+ 8481: 0x769C,
+ 8482: 0x769E,
+ 8483: 0x769B,
+ 8484: 0x76A6,
+ 8485: 0xFA17,
+ 8486: 0x7746,
+ 8487: 0x52AF,
+ 8488: 0x7821,
+ 8489: 0x784E,
+ 8490: 0x7864,
+ 8491: 0x787A,
+ 8492: 0x7930,
+ 8493: 0xFA18,
+ 8494: 0xFA19,
+ 8495: 0xFA1A,
+ 8496: 0x7994,
+ 8497: 0xFA1B,
+ 8498: 0x799B,
+ 8499: 0x7AD1,
+ 8500: 0x7AE7,
+ 8501: 0xFA1C,
+ 8502: 0x7AEB,
+ 8503: 0x7B9E,
+ 8504: 0xFA1D,
+ 8505: 0x7D48,
+ 8506: 0x7D5C,
+ 8507: 0x7DB7,
+ 8508: 0x7DA0,
+ 8509: 0x7DD6,
+ 8510: 0x7E52,
+ 8511: 0x7F47,
+ 8512: 0x7FA1,
+ 8513: 0xFA1E,
+ 8514: 0x8301,
+ 8515: 0x8362,
+ 8516: 0x837F,
+ 8517: 0x83C7,
+ 8518: 0x83F6,
+ 8519: 0x8448,
+ 8520: 0x84B4,
+ 8521: 0x8553,
+ 8522: 0x8559,
+ 8523: 0x856B,
+ 8524: 0xFA1F,
+ 8525: 0x85B0,
+ 8526: 0xFA20,
+ 8527: 0xFA21,
+ 8528: 0x8807,
+ 8529: 0x88F5,
+ 8530: 0x8A12,
+ 8531: 0x8A37,
+ 8532: 0x8A79,
+ 8533: 0x8AA7,
+ 8534: 0x8ABE,
+ 8535: 0x8ADF,
+ 8536: 0xFA22,
+ 8537: 0x8AF6,
+ 8538: 0x8B53,
+ 8539: 0x8B7F,
+ 8540: 0x8CF0,
+ 8541: 0x8CF4,
+ 8542: 0x8D12,
+ 8543: 0x8D76,
+ 8544: 0xFA23,
+ 8545: 0x8ECF,
+ 8546: 0xFA24,
+ 8547: 0xFA25,
+ 8548: 0x9067,
+ 8549: 0x90DE,
+ 8550: 0xFA26,
+ 8551: 0x9115,
+ 8552: 0x9127,
+ 8553: 0x91DA,
+ 8554: 0x91D7,
+ 8555: 0x91DE,
+ 8556: 0x91ED,
+ 8557: 0x91EE,
+ 8558: 0x91E4,
+ 8559: 0x91E5,
+ 8560: 0x9206,
+ 8561: 0x9210,
+ 8562: 0x920A,
+ 8563: 0x923A,
+ 8564: 0x9240,
+ 8565: 0x923C,
+ 8566: 0x924E,
+ 8567: 0x9259,
+ 8568: 0x9251,
+ 8569: 0x9239,
+ 8570: 0x9267,
+ 8571: 0x92A7,
+ 8572: 0x9277,
+ 8573: 0x9278,
+ 8574: 0x92E7,
+ 8575: 0x92D7,
+ 8576: 0x92D9,
+ 8577: 0x92D0,
+ 8578: 0xFA27,
+ 8579: 0x92D5,
+ 8580: 0x92E0,
+ 8581: 0x92D3,
+ 8582: 0x9325,
+ 8583: 0x9321,
+ 8584: 0x92FB,
+ 8585: 0xFA28,
+ 8586: 0x931E,
+ 8587: 0x92FF,
+ 8588: 0x931D,
+ 8589: 0x9302,
+ 8590: 0x9370,
+ 8591: 0x9357,
+ 8592: 0x93A4,
+ 8593: 0x93C6,
+ 8594: 0x93DE,
+ 8595: 0x93F8,
+ 8596: 0x9431,
+ 8597: 0x9445,
+ 8598: 0x9448,
+ 8599: 0x9592,
+ 8600: 0xF9DC,
+ 8601: 0xFA29,
+ 8602: 0x969D,
+ 8603: 0x96AF,
+ 8604: 0x9733,
+ 8605: 0x973B,
+ 8606: 0x9743,
+ 8607: 0x974D,
+ 8608: 0x974F,
+ 8609: 0x9751,
+ 8610: 0x9755,
+ 8611: 0x9857,
+ 8612: 0x9865,
+ 8613: 0xFA2A,
+ 8614: 0xFA2B,
+ 8615: 0x9927,
+ 8616: 0xFA2C,
+ 8617: 0x999E,
+ 8618: 0x9A4E,
+ 8619: 0x9AD9,
+ 8620: 0x9ADC,
+ 8621: 0x9B75,
+ 8622: 0x9B72,
+ 8623: 0x9B8F,
+ 8624: 0x9BB1,
+ 8625: 0x9BBB,
+ 8626: 0x9C00,
+ 8627: 0x9D70,
+ 8628: 0x9D6B,
+ 8629: 0xFA2D,
+ 8630: 0x9E19,
+ 8631: 0x9ED1,
+ 8634: 0x2170,
+ 8635: 0x2171,
+ 8636: 0x2172,
+ 8637: 0x2173,
+ 8638: 0x2174,
+ 8639: 0x2175,
+ 8640: 0x2176,
+ 8641: 0x2177,
+ 8642: 0x2178,
+ 8643: 0x2179,
+ 8644: 0xFFE2,
+ 8645: 0xFFE4,
+ 8646: 0xFF07,
+ 8647: 0xFF02,
+ 10716: 0x2170,
+ 10717: 0x2171,
+ 10718: 0x2172,
+ 10719: 0x2173,
+ 10720: 0x2174,
+ 10721: 0x2175,
+ 10722: 0x2176,
+ 10723: 0x2177,
+ 10724: 0x2178,
+ 10725: 0x2179,
+ 10726: 0x2160,
+ 10727: 0x2161,
+ 10728: 0x2162,
+ 10729: 0x2163,
+ 10730: 0x2164,
+ 10731: 0x2165,
+ 10732: 0x2166,
+ 10733: 0x2167,
+ 10734: 0x2168,
+ 10735: 0x2169,
+ 10736: 0xFFE2,
+ 10737: 0xFFE4,
+ 10738: 0xFF07,
+ 10739: 0xFF02,
+ 10740: 0x3231,
+ 10741: 0x2116,
+ 10742: 0x2121,
+ 10743: 0x2235,
+ 10744: 0x7E8A,
+ 10745: 0x891C,
+ 10746: 0x9348,
+ 10747: 0x9288,
+ 10748: 0x84DC,
+ 10749: 0x4FC9,
+ 10750: 0x70BB,
+ 10751: 0x6631,
+ 10752: 0x68C8,
+ 10753: 0x92F9,
+ 10754: 0x66FB,
+ 10755: 0x5F45,
+ 10756: 0x4E28,
+ 10757: 0x4EE1,
+ 10758: 0x4EFC,
+ 10759: 0x4F00,
+ 10760: 0x4F03,
+ 10761: 0x4F39,
+ 10762: 0x4F56,
+ 10763: 0x4F92,
+ 10764: 0x4F8A,
+ 10765: 0x4F9A,
+ 10766: 0x4F94,
+ 10767: 0x4FCD,
+ 10768: 0x5040,
+ 10769: 0x5022,
+ 10770: 0x4FFF,
+ 10771: 0x501E,
+ 10772: 0x5046,
+ 10773: 0x5070,
+ 10774: 0x5042,
+ 10775: 0x5094,
+ 10776: 0x50F4,
+ 10777: 0x50D8,
+ 10778: 0x514A,
+ 10779: 0x5164,
+ 10780: 0x519D,
+ 10781: 0x51BE,
+ 10782: 0x51EC,
+ 10783: 0x5215,
+ 10784: 0x529C,
+ 10785: 0x52A6,
+ 10786: 0x52C0,
+ 10787: 0x52DB,
+ 10788: 0x5300,
+ 10789: 0x5307,
+ 10790: 0x5324,
+ 10791: 0x5372,
+ 10792: 0x5393,
+ 10793: 0x53B2,
+ 10794: 0x53DD,
+ 10795: 0xFA0E,
+ 10796: 0x549C,
+ 10797: 0x548A,
+ 10798: 0x54A9,
+ 10799: 0x54FF,
+ 10800: 0x5586,
+ 10801: 0x5759,
+ 10802: 0x5765,
+ 10803: 0x57AC,
+ 10804: 0x57C8,
+ 10805: 0x57C7,
+ 10806: 0xFA0F,
+ 10807: 0xFA10,
+ 10808: 0x589E,
+ 10809: 0x58B2,
+ 10810: 0x590B,
+ 10811: 0x5953,
+ 10812: 0x595B,
+ 10813: 0x595D,
+ 10814: 0x5963,
+ 10815: 0x59A4,
+ 10816: 0x59BA,
+ 10817: 0x5B56,
+ 10818: 0x5BC0,
+ 10819: 0x752F,
+ 10820: 0x5BD8,
+ 10821: 0x5BEC,
+ 10822: 0x5C1E,
+ 10823: 0x5CA6,
+ 10824: 0x5CBA,
+ 10825: 0x5CF5,
+ 10826: 0x5D27,
+ 10827: 0x5D53,
+ 10828: 0xFA11,
+ 10829: 0x5D42,
+ 10830: 0x5D6D,
+ 10831: 0x5DB8,
+ 10832: 0x5DB9,
+ 10833: 0x5DD0,
+ 10834: 0x5F21,
+ 10835: 0x5F34,
+ 10836: 0x5F67,
+ 10837: 0x5FB7,
+ 10838: 0x5FDE,
+ 10839: 0x605D,
+ 10840: 0x6085,
+ 10841: 0x608A,
+ 10842: 0x60DE,
+ 10843: 0x60D5,
+ 10844: 0x6120,
+ 10845: 0x60F2,
+ 10846: 0x6111,
+ 10847: 0x6137,
+ 10848: 0x6130,
+ 10849: 0x6198,
+ 10850: 0x6213,
+ 10851: 0x62A6,
+ 10852: 0x63F5,
+ 10853: 0x6460,
+ 10854: 0x649D,
+ 10855: 0x64CE,
+ 10856: 0x654E,
+ 10857: 0x6600,
+ 10858: 0x6615,
+ 10859: 0x663B,
+ 10860: 0x6609,
+ 10861: 0x662E,
+ 10862: 0x661E,
+ 10863: 0x6624,
+ 10864: 0x6665,
+ 10865: 0x6657,
+ 10866: 0x6659,
+ 10867: 0xFA12,
+ 10868: 0x6673,
+ 10869: 0x6699,
+ 10870: 0x66A0,
+ 10871: 0x66B2,
+ 10872: 0x66BF,
+ 10873: 0x66FA,
+ 10874: 0x670E,
+ 10875: 0xF929,
+ 10876: 0x6766,
+ 10877: 0x67BB,
+ 10878: 0x6852,
+ 10879: 0x67C0,
+ 10880: 0x6801,
+ 10881: 0x6844,
+ 10882: 0x68CF,
+ 10883: 0xFA13,
+ 10884: 0x6968,
+ 10885: 0xFA14,
+ 10886: 0x6998,
+ 10887: 0x69E2,
+ 10888: 0x6A30,
+ 10889: 0x6A6B,
+ 10890: 0x6A46,
+ 10891: 0x6A73,
+ 10892: 0x6A7E,
+ 10893: 0x6AE2,
+ 10894: 0x6AE4,
+ 10895: 0x6BD6,
+ 10896: 0x6C3F,
+ 10897: 0x6C5C,
+ 10898: 0x6C86,
+ 10899: 0x6C6F,
+ 10900: 0x6CDA,
+ 10901: 0x6D04,
+ 10902: 0x6D87,
+ 10903: 0x6D6F,
+ 10904: 0x6D96,
+ 10905: 0x6DAC,
+ 10906: 0x6DCF,
+ 10907: 0x6DF8,
+ 10908: 0x6DF2,
+ 10909: 0x6DFC,
+ 10910: 0x6E39,
+ 10911: 0x6E5C,
+ 10912: 0x6E27,
+ 10913: 0x6E3C,
+ 10914: 0x6EBF,
+ 10915: 0x6F88,
+ 10916: 0x6FB5,
+ 10917: 0x6FF5,
+ 10918: 0x7005,
+ 10919: 0x7007,
+ 10920: 0x7028,
+ 10921: 0x7085,
+ 10922: 0x70AB,
+ 10923: 0x710F,
+ 10924: 0x7104,
+ 10925: 0x715C,
+ 10926: 0x7146,
+ 10927: 0x7147,
+ 10928: 0xFA15,
+ 10929: 0x71C1,
+ 10930: 0x71FE,
+ 10931: 0x72B1,
+ 10932: 0x72BE,
+ 10933: 0x7324,
+ 10934: 0xFA16,
+ 10935: 0x7377,
+ 10936: 0x73BD,
+ 10937: 0x73C9,
+ 10938: 0x73D6,
+ 10939: 0x73E3,
+ 10940: 0x73D2,
+ 10941: 0x7407,
+ 10942: 0x73F5,
+ 10943: 0x7426,
+ 10944: 0x742A,
+ 10945: 0x7429,
+ 10946: 0x742E,
+ 10947: 0x7462,
+ 10948: 0x7489,
+ 10949: 0x749F,
+ 10950: 0x7501,
+ 10951: 0x756F,
+ 10952: 0x7682,
+ 10953: 0x769C,
+ 10954: 0x769E,
+ 10955: 0x769B,
+ 10956: 0x76A6,
+ 10957: 0xFA17,
+ 10958: 0x7746,
+ 10959: 0x52AF,
+ 10960: 0x7821,
+ 10961: 0x784E,
+ 10962: 0x7864,
+ 10963: 0x787A,
+ 10964: 0x7930,
+ 10965: 0xFA18,
+ 10966: 0xFA19,
+ 10967: 0xFA1A,
+ 10968: 0x7994,
+ 10969: 0xFA1B,
+ 10970: 0x799B,
+ 10971: 0x7AD1,
+ 10972: 0x7AE7,
+ 10973: 0xFA1C,
+ 10974: 0x7AEB,
+ 10975: 0x7B9E,
+ 10976: 0xFA1D,
+ 10977: 0x7D48,
+ 10978: 0x7D5C,
+ 10979: 0x7DB7,
+ 10980: 0x7DA0,
+ 10981: 0x7DD6,
+ 10982: 0x7E52,
+ 10983: 0x7F47,
+ 10984: 0x7FA1,
+ 10985: 0xFA1E,
+ 10986: 0x8301,
+ 10987: 0x8362,
+ 10988: 0x837F,
+ 10989: 0x83C7,
+ 10990: 0x83F6,
+ 10991: 0x8448,
+ 10992: 0x84B4,
+ 10993: 0x8553,
+ 10994: 0x8559,
+ 10995: 0x856B,
+ 10996: 0xFA1F,
+ 10997: 0x85B0,
+ 10998: 0xFA20,
+ 10999: 0xFA21,
+ 11000: 0x8807,
+ 11001: 0x88F5,
+ 11002: 0x8A12,
+ 11003: 0x8A37,
+ 11004: 0x8A79,
+ 11005: 0x8AA7,
+ 11006: 0x8ABE,
+ 11007: 0x8ADF,
+ 11008: 0xFA22,
+ 11009: 0x8AF6,
+ 11010: 0x8B53,
+ 11011: 0x8B7F,
+ 11012: 0x8CF0,
+ 11013: 0x8CF4,
+ 11014: 0x8D12,
+ 11015: 0x8D76,
+ 11016: 0xFA23,
+ 11017: 0x8ECF,
+ 11018: 0xFA24,
+ 11019: 0xFA25,
+ 11020: 0x9067,
+ 11021: 0x90DE,
+ 11022: 0xFA26,
+ 11023: 0x9115,
+ 11024: 0x9127,
+ 11025: 0x91DA,
+ 11026: 0x91D7,
+ 11027: 0x91DE,
+ 11028: 0x91ED,
+ 11029: 0x91EE,
+ 11030: 0x91E4,
+ 11031: 0x91E5,
+ 11032: 0x9206,
+ 11033: 0x9210,
+ 11034: 0x920A,
+ 11035: 0x923A,
+ 11036: 0x9240,
+ 11037: 0x923C,
+ 11038: 0x924E,
+ 11039: 0x9259,
+ 11040: 0x9251,
+ 11041: 0x9239,
+ 11042: 0x9267,
+ 11043: 0x92A7,
+ 11044: 0x9277,
+ 11045: 0x9278,
+ 11046: 0x92E7,
+ 11047: 0x92D7,
+ 11048: 0x92D9,
+ 11049: 0x92D0,
+ 11050: 0xFA27,
+ 11051: 0x92D5,
+ 11052: 0x92E0,
+ 11053: 0x92D3,
+ 11054: 0x9325,
+ 11055: 0x9321,
+ 11056: 0x92FB,
+ 11057: 0xFA28,
+ 11058: 0x931E,
+ 11059: 0x92FF,
+ 11060: 0x931D,
+ 11061: 0x9302,
+ 11062: 0x9370,
+ 11063: 0x9357,
+ 11064: 0x93A4,
+ 11065: 0x93C6,
+ 11066: 0x93DE,
+ 11067: 0x93F8,
+ 11068: 0x9431,
+ 11069: 0x9445,
+ 11070: 0x9448,
+ 11071: 0x9592,
+ 11072: 0xF9DC,
+ 11073: 0xFA29,
+ 11074: 0x969D,
+ 11075: 0x96AF,
+ 11076: 0x9733,
+ 11077: 0x973B,
+ 11078: 0x9743,
+ 11079: 0x974D,
+ 11080: 0x974F,
+ 11081: 0x9751,
+ 11082: 0x9755,
+ 11083: 0x9857,
+ 11084: 0x9865,
+ 11085: 0xFA2A,
+ 11086: 0xFA2B,
+ 11087: 0x9927,
+ 11088: 0xFA2C,
+ 11089: 0x999E,
+ 11090: 0x9A4E,
+ 11091: 0x9AD9,
+ 11092: 0x9ADC,
+ 11093: 0x9B75,
+ 11094: 0x9B72,
+ 11095: 0x9B8F,
+ 11096: 0x9BB1,
+ 11097: 0x9BBB,
+ 11098: 0x9C00,
+ 11099: 0x9D70,
+ 11100: 0x9D6B,
+ 11101: 0xFA2D,
+ 11102: 0x9E19,
+ 11103: 0x9ED1,
+}
+
+// jis0212Decode is the decoding table from JIS 0212 code to Unicode.
+// It is defined at http://encoding.spec.whatwg.org/index-jis0212.txt
+var jis0212Decode = [...]uint16{
+ 108: 0x02D8,
+ 109: 0x02C7,
+ 110: 0x00B8,
+ 111: 0x02D9,
+ 112: 0x02DD,
+ 113: 0x00AF,
+ 114: 0x02DB,
+ 115: 0x02DA,
+ 116: 0xFF5E,
+ 117: 0x0384,
+ 118: 0x0385,
+ 127: 0x00A1,
+ 128: 0x00A6,
+ 129: 0x00BF,
+ 168: 0x00BA,
+ 169: 0x00AA,
+ 170: 0x00A9,
+ 171: 0x00AE,
+ 172: 0x2122,
+ 173: 0x00A4,
+ 174: 0x2116,
+ 534: 0x0386,
+ 535: 0x0388,
+ 536: 0x0389,
+ 537: 0x038A,
+ 538: 0x03AA,
+ 540: 0x038C,
+ 542: 0x038E,
+ 543: 0x03AB,
+ 545: 0x038F,
+ 550: 0x03AC,
+ 551: 0x03AD,
+ 552: 0x03AE,
+ 553: 0x03AF,
+ 554: 0x03CA,
+ 555: 0x0390,
+ 556: 0x03CC,
+ 557: 0x03C2,
+ 558: 0x03CD,
+ 559: 0x03CB,
+ 560: 0x03B0,
+ 561: 0x03CE,
+ 597: 0x0402,
+ 598: 0x0403,
+ 599: 0x0404,
+ 600: 0x0405,
+ 601: 0x0406,
+ 602: 0x0407,
+ 603: 0x0408,
+ 604: 0x0409,
+ 605: 0x040A,
+ 606: 0x040B,
+ 607: 0x040C,
+ 608: 0x040E,
+ 609: 0x040F,
+ 645: 0x0452,
+ 646: 0x0453,
+ 647: 0x0454,
+ 648: 0x0455,
+ 649: 0x0456,
+ 650: 0x0457,
+ 651: 0x0458,
+ 652: 0x0459,
+ 653: 0x045A,
+ 654: 0x045B,
+ 655: 0x045C,
+ 656: 0x045E,
+ 657: 0x045F,
+ 752: 0x00C6,
+ 753: 0x0110,
+ 755: 0x0126,
+ 757: 0x0132,
+ 759: 0x0141,
+ 760: 0x013F,
+ 762: 0x014A,
+ 763: 0x00D8,
+ 764: 0x0152,
+ 766: 0x0166,
+ 767: 0x00DE,
+ 784: 0x00E6,
+ 785: 0x0111,
+ 786: 0x00F0,
+ 787: 0x0127,
+ 788: 0x0131,
+ 789: 0x0133,
+ 790: 0x0138,
+ 791: 0x0142,
+ 792: 0x0140,
+ 793: 0x0149,
+ 794: 0x014B,
+ 795: 0x00F8,
+ 796: 0x0153,
+ 797: 0x00DF,
+ 798: 0x0167,
+ 799: 0x00FE,
+ 846: 0x00C1,
+ 847: 0x00C0,
+ 848: 0x00C4,
+ 849: 0x00C2,
+ 850: 0x0102,
+ 851: 0x01CD,
+ 852: 0x0100,
+ 853: 0x0104,
+ 854: 0x00C5,
+ 855: 0x00C3,
+ 856: 0x0106,
+ 857: 0x0108,
+ 858: 0x010C,
+ 859: 0x00C7,
+ 860: 0x010A,
+ 861: 0x010E,
+ 862: 0x00C9,
+ 863: 0x00C8,
+ 864: 0x00CB,
+ 865: 0x00CA,
+ 866: 0x011A,
+ 867: 0x0116,
+ 868: 0x0112,
+ 869: 0x0118,
+ 871: 0x011C,
+ 872: 0x011E,
+ 873: 0x0122,
+ 874: 0x0120,
+ 875: 0x0124,
+ 876: 0x00CD,
+ 877: 0x00CC,
+ 878: 0x00CF,
+ 879: 0x00CE,
+ 880: 0x01CF,
+ 881: 0x0130,
+ 882: 0x012A,
+ 883: 0x012E,
+ 884: 0x0128,
+ 885: 0x0134,
+ 886: 0x0136,
+ 887: 0x0139,
+ 888: 0x013D,
+ 889: 0x013B,
+ 890: 0x0143,
+ 891: 0x0147,
+ 892: 0x0145,
+ 893: 0x00D1,
+ 894: 0x00D3,
+ 895: 0x00D2,
+ 896: 0x00D6,
+ 897: 0x00D4,
+ 898: 0x01D1,
+ 899: 0x0150,
+ 900: 0x014C,
+ 901: 0x00D5,
+ 902: 0x0154,
+ 903: 0x0158,
+ 904: 0x0156,
+ 905: 0x015A,
+ 906: 0x015C,
+ 907: 0x0160,
+ 908: 0x015E,
+ 909: 0x0164,
+ 910: 0x0162,
+ 911: 0x00DA,
+ 912: 0x00D9,
+ 913: 0x00DC,
+ 914: 0x00DB,
+ 915: 0x016C,
+ 916: 0x01D3,
+ 917: 0x0170,
+ 918: 0x016A,
+ 919: 0x0172,
+ 920: 0x016E,
+ 921: 0x0168,
+ 922: 0x01D7,
+ 923: 0x01DB,
+ 924: 0x01D9,
+ 925: 0x01D5,
+ 926: 0x0174,
+ 927: 0x00DD,
+ 928: 0x0178,
+ 929: 0x0176,
+ 930: 0x0179,
+ 931: 0x017D,
+ 932: 0x017B,
+ 940: 0x00E1,
+ 941: 0x00E0,
+ 942: 0x00E4,
+ 943: 0x00E2,
+ 944: 0x0103,
+ 945: 0x01CE,
+ 946: 0x0101,
+ 947: 0x0105,
+ 948: 0x00E5,
+ 949: 0x00E3,
+ 950: 0x0107,
+ 951: 0x0109,
+ 952: 0x010D,
+ 953: 0x00E7,
+ 954: 0x010B,
+ 955: 0x010F,
+ 956: 0x00E9,
+ 957: 0x00E8,
+ 958: 0x00EB,
+ 959: 0x00EA,
+ 960: 0x011B,
+ 961: 0x0117,
+ 962: 0x0113,
+ 963: 0x0119,
+ 964: 0x01F5,
+ 965: 0x011D,
+ 966: 0x011F,
+ 968: 0x0121,
+ 969: 0x0125,
+ 970: 0x00ED,
+ 971: 0x00EC,
+ 972: 0x00EF,
+ 973: 0x00EE,
+ 974: 0x01D0,
+ 976: 0x012B,
+ 977: 0x012F,
+ 978: 0x0129,
+ 979: 0x0135,
+ 980: 0x0137,
+ 981: 0x013A,
+ 982: 0x013E,
+ 983: 0x013C,
+ 984: 0x0144,
+ 985: 0x0148,
+ 986: 0x0146,
+ 987: 0x00F1,
+ 988: 0x00F3,
+ 989: 0x00F2,
+ 990: 0x00F6,
+ 991: 0x00F4,
+ 992: 0x01D2,
+ 993: 0x0151,
+ 994: 0x014D,
+ 995: 0x00F5,
+ 996: 0x0155,
+ 997: 0x0159,
+ 998: 0x0157,
+ 999: 0x015B,
+ 1000: 0x015D,
+ 1001: 0x0161,
+ 1002: 0x015F,
+ 1003: 0x0165,
+ 1004: 0x0163,
+ 1005: 0x00FA,
+ 1006: 0x00F9,
+ 1007: 0x00FC,
+ 1008: 0x00FB,
+ 1009: 0x016D,
+ 1010: 0x01D4,
+ 1011: 0x0171,
+ 1012: 0x016B,
+ 1013: 0x0173,
+ 1014: 0x016F,
+ 1015: 0x0169,
+ 1016: 0x01D8,
+ 1017: 0x01DC,
+ 1018: 0x01DA,
+ 1019: 0x01D6,
+ 1020: 0x0175,
+ 1021: 0x00FD,
+ 1022: 0x00FF,
+ 1023: 0x0177,
+ 1024: 0x017A,
+ 1025: 0x017E,
+ 1026: 0x017C,
+ 1410: 0x4E02,
+ 1411: 0x4E04,
+ 1412: 0x4E05,
+ 1413: 0x4E0C,
+ 1414: 0x4E12,
+ 1415: 0x4E1F,
+ 1416: 0x4E23,
+ 1417: 0x4E24,
+ 1418: 0x4E28,
+ 1419: 0x4E2B,
+ 1420: 0x4E2E,
+ 1421: 0x4E2F,
+ 1422: 0x4E30,
+ 1423: 0x4E35,
+ 1424: 0x4E40,
+ 1425: 0x4E41,
+ 1426: 0x4E44,
+ 1427: 0x4E47,
+ 1428: 0x4E51,
+ 1429: 0x4E5A,
+ 1430: 0x4E5C,
+ 1431: 0x4E63,
+ 1432: 0x4E68,
+ 1433: 0x4E69,
+ 1434: 0x4E74,
+ 1435: 0x4E75,
+ 1436: 0x4E79,
+ 1437: 0x4E7F,
+ 1438: 0x4E8D,
+ 1439: 0x4E96,
+ 1440: 0x4E97,
+ 1441: 0x4E9D,
+ 1442: 0x4EAF,
+ 1443: 0x4EB9,
+ 1444: 0x4EC3,
+ 1445: 0x4ED0,
+ 1446: 0x4EDA,
+ 1447: 0x4EDB,
+ 1448: 0x4EE0,
+ 1449: 0x4EE1,
+ 1450: 0x4EE2,
+ 1451: 0x4EE8,
+ 1452: 0x4EEF,
+ 1453: 0x4EF1,
+ 1454: 0x4EF3,
+ 1455: 0x4EF5,
+ 1456: 0x4EFD,
+ 1457: 0x4EFE,
+ 1458: 0x4EFF,
+ 1459: 0x4F00,
+ 1460: 0x4F02,
+ 1461: 0x4F03,
+ 1462: 0x4F08,
+ 1463: 0x4F0B,
+ 1464: 0x4F0C,
+ 1465: 0x4F12,
+ 1466: 0x4F15,
+ 1467: 0x4F16,
+ 1468: 0x4F17,
+ 1469: 0x4F19,
+ 1470: 0x4F2E,
+ 1471: 0x4F31,
+ 1472: 0x4F60,
+ 1473: 0x4F33,
+ 1474: 0x4F35,
+ 1475: 0x4F37,
+ 1476: 0x4F39,
+ 1477: 0x4F3B,
+ 1478: 0x4F3E,
+ 1479: 0x4F40,
+ 1480: 0x4F42,
+ 1481: 0x4F48,
+ 1482: 0x4F49,
+ 1483: 0x4F4B,
+ 1484: 0x4F4C,
+ 1485: 0x4F52,
+ 1486: 0x4F54,
+ 1487: 0x4F56,
+ 1488: 0x4F58,
+ 1489: 0x4F5F,
+ 1490: 0x4F63,
+ 1491: 0x4F6A,
+ 1492: 0x4F6C,
+ 1493: 0x4F6E,
+ 1494: 0x4F71,
+ 1495: 0x4F77,
+ 1496: 0x4F78,
+ 1497: 0x4F79,
+ 1498: 0x4F7A,
+ 1499: 0x4F7D,
+ 1500: 0x4F7E,
+ 1501: 0x4F81,
+ 1502: 0x4F82,
+ 1503: 0x4F84,
+ 1504: 0x4F85,
+ 1505: 0x4F89,
+ 1506: 0x4F8A,
+ 1507: 0x4F8C,
+ 1508: 0x4F8E,
+ 1509: 0x4F90,
+ 1510: 0x4F92,
+ 1511: 0x4F93,
+ 1512: 0x4F94,
+ 1513: 0x4F97,
+ 1514: 0x4F99,
+ 1515: 0x4F9A,
+ 1516: 0x4F9E,
+ 1517: 0x4F9F,
+ 1518: 0x4FB2,
+ 1519: 0x4FB7,
+ 1520: 0x4FB9,
+ 1521: 0x4FBB,
+ 1522: 0x4FBC,
+ 1523: 0x4FBD,
+ 1524: 0x4FBE,
+ 1525: 0x4FC0,
+ 1526: 0x4FC1,
+ 1527: 0x4FC5,
+ 1528: 0x4FC6,
+ 1529: 0x4FC8,
+ 1530: 0x4FC9,
+ 1531: 0x4FCB,
+ 1532: 0x4FCC,
+ 1533: 0x4FCD,
+ 1534: 0x4FCF,
+ 1535: 0x4FD2,
+ 1536: 0x4FDC,
+ 1537: 0x4FE0,
+ 1538: 0x4FE2,
+ 1539: 0x4FF0,
+ 1540: 0x4FF2,
+ 1541: 0x4FFC,
+ 1542: 0x4FFD,
+ 1543: 0x4FFF,
+ 1544: 0x5000,
+ 1545: 0x5001,
+ 1546: 0x5004,
+ 1547: 0x5007,
+ 1548: 0x500A,
+ 1549: 0x500C,
+ 1550: 0x500E,
+ 1551: 0x5010,
+ 1552: 0x5013,
+ 1553: 0x5017,
+ 1554: 0x5018,
+ 1555: 0x501B,
+ 1556: 0x501C,
+ 1557: 0x501D,
+ 1558: 0x501E,
+ 1559: 0x5022,
+ 1560: 0x5027,
+ 1561: 0x502E,
+ 1562: 0x5030,
+ 1563: 0x5032,
+ 1564: 0x5033,
+ 1565: 0x5035,
+ 1566: 0x5040,
+ 1567: 0x5041,
+ 1568: 0x5042,
+ 1569: 0x5045,
+ 1570: 0x5046,
+ 1571: 0x504A,
+ 1572: 0x504C,
+ 1573: 0x504E,
+ 1574: 0x5051,
+ 1575: 0x5052,
+ 1576: 0x5053,
+ 1577: 0x5057,
+ 1578: 0x5059,
+ 1579: 0x505F,
+ 1580: 0x5060,
+ 1581: 0x5062,
+ 1582: 0x5063,
+ 1583: 0x5066,
+ 1584: 0x5067,
+ 1585: 0x506A,
+ 1586: 0x506D,
+ 1587: 0x5070,
+ 1588: 0x5071,
+ 1589: 0x503B,
+ 1590: 0x5081,
+ 1591: 0x5083,
+ 1592: 0x5084,
+ 1593: 0x5086,
+ 1594: 0x508A,
+ 1595: 0x508E,
+ 1596: 0x508F,
+ 1597: 0x5090,
+ 1598: 0x5092,
+ 1599: 0x5093,
+ 1600: 0x5094,
+ 1601: 0x5096,
+ 1602: 0x509B,
+ 1603: 0x509C,
+ 1604: 0x509E,
+ 1605: 0x509F,
+ 1606: 0x50A0,
+ 1607: 0x50A1,
+ 1608: 0x50A2,
+ 1609: 0x50AA,
+ 1610: 0x50AF,
+ 1611: 0x50B0,
+ 1612: 0x50B9,
+ 1613: 0x50BA,
+ 1614: 0x50BD,
+ 1615: 0x50C0,
+ 1616: 0x50C3,
+ 1617: 0x50C4,
+ 1618: 0x50C7,
+ 1619: 0x50CC,
+ 1620: 0x50CE,
+ 1621: 0x50D0,
+ 1622: 0x50D3,
+ 1623: 0x50D4,
+ 1624: 0x50D8,
+ 1625: 0x50DC,
+ 1626: 0x50DD,
+ 1627: 0x50DF,
+ 1628: 0x50E2,
+ 1629: 0x50E4,
+ 1630: 0x50E6,
+ 1631: 0x50E8,
+ 1632: 0x50E9,
+ 1633: 0x50EF,
+ 1634: 0x50F1,
+ 1635: 0x50F6,
+ 1636: 0x50FA,
+ 1637: 0x50FE,
+ 1638: 0x5103,
+ 1639: 0x5106,
+ 1640: 0x5107,
+ 1641: 0x5108,
+ 1642: 0x510B,
+ 1643: 0x510C,
+ 1644: 0x510D,
+ 1645: 0x510E,
+ 1646: 0x50F2,
+ 1647: 0x5110,
+ 1648: 0x5117,
+ 1649: 0x5119,
+ 1650: 0x511B,
+ 1651: 0x511C,
+ 1652: 0x511D,
+ 1653: 0x511E,
+ 1654: 0x5123,
+ 1655: 0x5127,
+ 1656: 0x5128,
+ 1657: 0x512C,
+ 1658: 0x512D,
+ 1659: 0x512F,
+ 1660: 0x5131,
+ 1661: 0x5133,
+ 1662: 0x5134,
+ 1663: 0x5135,
+ 1664: 0x5138,
+ 1665: 0x5139,
+ 1666: 0x5142,
+ 1667: 0x514A,
+ 1668: 0x514F,
+ 1669: 0x5153,
+ 1670: 0x5155,
+ 1671: 0x5157,
+ 1672: 0x5158,
+ 1673: 0x515F,
+ 1674: 0x5164,
+ 1675: 0x5166,
+ 1676: 0x517E,
+ 1677: 0x5183,
+ 1678: 0x5184,
+ 1679: 0x518B,
+ 1680: 0x518E,
+ 1681: 0x5198,
+ 1682: 0x519D,
+ 1683: 0x51A1,
+ 1684: 0x51A3,
+ 1685: 0x51AD,
+ 1686: 0x51B8,
+ 1687: 0x51BA,
+ 1688: 0x51BC,
+ 1689: 0x51BE,
+ 1690: 0x51BF,
+ 1691: 0x51C2,
+ 1692: 0x51C8,
+ 1693: 0x51CF,
+ 1694: 0x51D1,
+ 1695: 0x51D2,
+ 1696: 0x51D3,
+ 1697: 0x51D5,
+ 1698: 0x51D8,
+ 1699: 0x51DE,
+ 1700: 0x51E2,
+ 1701: 0x51E5,
+ 1702: 0x51EE,
+ 1703: 0x51F2,
+ 1704: 0x51F3,
+ 1705: 0x51F4,
+ 1706: 0x51F7,
+ 1707: 0x5201,
+ 1708: 0x5202,
+ 1709: 0x5205,
+ 1710: 0x5212,
+ 1711: 0x5213,
+ 1712: 0x5215,
+ 1713: 0x5216,
+ 1714: 0x5218,
+ 1715: 0x5222,
+ 1716: 0x5228,
+ 1717: 0x5231,
+ 1718: 0x5232,
+ 1719: 0x5235,
+ 1720: 0x523C,
+ 1721: 0x5245,
+ 1722: 0x5249,
+ 1723: 0x5255,
+ 1724: 0x5257,
+ 1725: 0x5258,
+ 1726: 0x525A,
+ 1727: 0x525C,
+ 1728: 0x525F,
+ 1729: 0x5260,
+ 1730: 0x5261,
+ 1731: 0x5266,
+ 1732: 0x526E,
+ 1733: 0x5277,
+ 1734: 0x5278,
+ 1735: 0x5279,
+ 1736: 0x5280,
+ 1737: 0x5282,
+ 1738: 0x5285,
+ 1739: 0x528A,
+ 1740: 0x528C,
+ 1741: 0x5293,
+ 1742: 0x5295,
+ 1743: 0x5296,
+ 1744: 0x5297,
+ 1745: 0x5298,
+ 1746: 0x529A,
+ 1747: 0x529C,
+ 1748: 0x52A4,
+ 1749: 0x52A5,
+ 1750: 0x52A6,
+ 1751: 0x52A7,
+ 1752: 0x52AF,
+ 1753: 0x52B0,
+ 1754: 0x52B6,
+ 1755: 0x52B7,
+ 1756: 0x52B8,
+ 1757: 0x52BA,
+ 1758: 0x52BB,
+ 1759: 0x52BD,
+ 1760: 0x52C0,
+ 1761: 0x52C4,
+ 1762: 0x52C6,
+ 1763: 0x52C8,
+ 1764: 0x52CC,
+ 1765: 0x52CF,
+ 1766: 0x52D1,
+ 1767: 0x52D4,
+ 1768: 0x52D6,
+ 1769: 0x52DB,
+ 1770: 0x52DC,
+ 1771: 0x52E1,
+ 1772: 0x52E5,
+ 1773: 0x52E8,
+ 1774: 0x52E9,
+ 1775: 0x52EA,
+ 1776: 0x52EC,
+ 1777: 0x52F0,
+ 1778: 0x52F1,
+ 1779: 0x52F4,
+ 1780: 0x52F6,
+ 1781: 0x52F7,
+ 1782: 0x5300,
+ 1783: 0x5303,
+ 1784: 0x530A,
+ 1785: 0x530B,
+ 1786: 0x530C,
+ 1787: 0x5311,
+ 1788: 0x5313,
+ 1789: 0x5318,
+ 1790: 0x531B,
+ 1791: 0x531C,
+ 1792: 0x531E,
+ 1793: 0x531F,
+ 1794: 0x5325,
+ 1795: 0x5327,
+ 1796: 0x5328,
+ 1797: 0x5329,
+ 1798: 0x532B,
+ 1799: 0x532C,
+ 1800: 0x532D,
+ 1801: 0x5330,
+ 1802: 0x5332,
+ 1803: 0x5335,
+ 1804: 0x533C,
+ 1805: 0x533D,
+ 1806: 0x533E,
+ 1807: 0x5342,
+ 1808: 0x534C,
+ 1809: 0x534B,
+ 1810: 0x5359,
+ 1811: 0x535B,
+ 1812: 0x5361,
+ 1813: 0x5363,
+ 1814: 0x5365,
+ 1815: 0x536C,
+ 1816: 0x536D,
+ 1817: 0x5372,
+ 1818: 0x5379,
+ 1819: 0x537E,
+ 1820: 0x5383,
+ 1821: 0x5387,
+ 1822: 0x5388,
+ 1823: 0x538E,
+ 1824: 0x5393,
+ 1825: 0x5394,
+ 1826: 0x5399,
+ 1827: 0x539D,
+ 1828: 0x53A1,
+ 1829: 0x53A4,
+ 1830: 0x53AA,
+ 1831: 0x53AB,
+ 1832: 0x53AF,
+ 1833: 0x53B2,
+ 1834: 0x53B4,
+ 1835: 0x53B5,
+ 1836: 0x53B7,
+ 1837: 0x53B8,
+ 1838: 0x53BA,
+ 1839: 0x53BD,
+ 1840: 0x53C0,
+ 1841: 0x53C5,
+ 1842: 0x53CF,
+ 1843: 0x53D2,
+ 1844: 0x53D3,
+ 1845: 0x53D5,
+ 1846: 0x53DA,
+ 1847: 0x53DD,
+ 1848: 0x53DE,
+ 1849: 0x53E0,
+ 1850: 0x53E6,
+ 1851: 0x53E7,
+ 1852: 0x53F5,
+ 1853: 0x5402,
+ 1854: 0x5413,
+ 1855: 0x541A,
+ 1856: 0x5421,
+ 1857: 0x5427,
+ 1858: 0x5428,
+ 1859: 0x542A,
+ 1860: 0x542F,
+ 1861: 0x5431,
+ 1862: 0x5434,
+ 1863: 0x5435,
+ 1864: 0x5443,
+ 1865: 0x5444,
+ 1866: 0x5447,
+ 1867: 0x544D,
+ 1868: 0x544F,
+ 1869: 0x545E,
+ 1870: 0x5462,
+ 1871: 0x5464,
+ 1872: 0x5466,
+ 1873: 0x5467,
+ 1874: 0x5469,
+ 1875: 0x546B,
+ 1876: 0x546D,
+ 1877: 0x546E,
+ 1878: 0x5474,
+ 1879: 0x547F,
+ 1880: 0x5481,
+ 1881: 0x5483,
+ 1882: 0x5485,
+ 1883: 0x5488,
+ 1884: 0x5489,
+ 1885: 0x548D,
+ 1886: 0x5491,
+ 1887: 0x5495,
+ 1888: 0x5496,
+ 1889: 0x549C,
+ 1890: 0x549F,
+ 1891: 0x54A1,
+ 1892: 0x54A6,
+ 1893: 0x54A7,
+ 1894: 0x54A9,
+ 1895: 0x54AA,
+ 1896: 0x54AD,
+ 1897: 0x54AE,
+ 1898: 0x54B1,
+ 1899: 0x54B7,
+ 1900: 0x54B9,
+ 1901: 0x54BA,
+ 1902: 0x54BB,
+ 1903: 0x54BF,
+ 1904: 0x54C6,
+ 1905: 0x54CA,
+ 1906: 0x54CD,
+ 1907: 0x54CE,
+ 1908: 0x54E0,
+ 1909: 0x54EA,
+ 1910: 0x54EC,
+ 1911: 0x54EF,
+ 1912: 0x54F6,
+ 1913: 0x54FC,
+ 1914: 0x54FE,
+ 1915: 0x54FF,
+ 1916: 0x5500,
+ 1917: 0x5501,
+ 1918: 0x5505,
+ 1919: 0x5508,
+ 1920: 0x5509,
+ 1921: 0x550C,
+ 1922: 0x550D,
+ 1923: 0x550E,
+ 1924: 0x5515,
+ 1925: 0x552A,
+ 1926: 0x552B,
+ 1927: 0x5532,
+ 1928: 0x5535,
+ 1929: 0x5536,
+ 1930: 0x553B,
+ 1931: 0x553C,
+ 1932: 0x553D,
+ 1933: 0x5541,
+ 1934: 0x5547,
+ 1935: 0x5549,
+ 1936: 0x554A,
+ 1937: 0x554D,
+ 1938: 0x5550,
+ 1939: 0x5551,
+ 1940: 0x5558,
+ 1941: 0x555A,
+ 1942: 0x555B,
+ 1943: 0x555E,
+ 1944: 0x5560,
+ 1945: 0x5561,
+ 1946: 0x5564,
+ 1947: 0x5566,
+ 1948: 0x557F,
+ 1949: 0x5581,
+ 1950: 0x5582,
+ 1951: 0x5586,
+ 1952: 0x5588,
+ 1953: 0x558E,
+ 1954: 0x558F,
+ 1955: 0x5591,
+ 1956: 0x5592,
+ 1957: 0x5593,
+ 1958: 0x5594,
+ 1959: 0x5597,
+ 1960: 0x55A3,
+ 1961: 0x55A4,
+ 1962: 0x55AD,
+ 1963: 0x55B2,
+ 1964: 0x55BF,
+ 1965: 0x55C1,
+ 1966: 0x55C3,
+ 1967: 0x55C6,
+ 1968: 0x55C9,
+ 1969: 0x55CB,
+ 1970: 0x55CC,
+ 1971: 0x55CE,
+ 1972: 0x55D1,
+ 1973: 0x55D2,
+ 1974: 0x55D3,
+ 1975: 0x55D7,
+ 1976: 0x55D8,
+ 1977: 0x55DB,
+ 1978: 0x55DE,
+ 1979: 0x55E2,
+ 1980: 0x55E9,
+ 1981: 0x55F6,
+ 1982: 0x55FF,
+ 1983: 0x5605,
+ 1984: 0x5608,
+ 1985: 0x560A,
+ 1986: 0x560D,
+ 1987: 0x560E,
+ 1988: 0x560F,
+ 1989: 0x5610,
+ 1990: 0x5611,
+ 1991: 0x5612,
+ 1992: 0x5619,
+ 1993: 0x562C,
+ 1994: 0x5630,
+ 1995: 0x5633,
+ 1996: 0x5635,
+ 1997: 0x5637,
+ 1998: 0x5639,
+ 1999: 0x563B,
+ 2000: 0x563C,
+ 2001: 0x563D,
+ 2002: 0x563F,
+ 2003: 0x5640,
+ 2004: 0x5641,
+ 2005: 0x5643,
+ 2006: 0x5644,
+ 2007: 0x5646,
+ 2008: 0x5649,
+ 2009: 0x564B,
+ 2010: 0x564D,
+ 2011: 0x564F,
+ 2012: 0x5654,
+ 2013: 0x565E,
+ 2014: 0x5660,
+ 2015: 0x5661,
+ 2016: 0x5662,
+ 2017: 0x5663,
+ 2018: 0x5666,
+ 2019: 0x5669,
+ 2020: 0x566D,
+ 2021: 0x566F,
+ 2022: 0x5671,
+ 2023: 0x5672,
+ 2024: 0x5675,
+ 2025: 0x5684,
+ 2026: 0x5685,
+ 2027: 0x5688,
+ 2028: 0x568B,
+ 2029: 0x568C,
+ 2030: 0x5695,
+ 2031: 0x5699,
+ 2032: 0x569A,
+ 2033: 0x569D,
+ 2034: 0x569E,
+ 2035: 0x569F,
+ 2036: 0x56A6,
+ 2037: 0x56A7,
+ 2038: 0x56A8,
+ 2039: 0x56A9,
+ 2040: 0x56AB,
+ 2041: 0x56AC,
+ 2042: 0x56AD,
+ 2043: 0x56B1,
+ 2044: 0x56B3,
+ 2045: 0x56B7,
+ 2046: 0x56BE,
+ 2047: 0x56C5,
+ 2048: 0x56C9,
+ 2049: 0x56CA,
+ 2050: 0x56CB,
+ 2051: 0x56CF,
+ 2052: 0x56D0,
+ 2053: 0x56CC,
+ 2054: 0x56CD,
+ 2055: 0x56D9,
+ 2056: 0x56DC,
+ 2057: 0x56DD,
+ 2058: 0x56DF,
+ 2059: 0x56E1,
+ 2060: 0x56E4,
+ 2061: 0x56E5,
+ 2062: 0x56E6,
+ 2063: 0x56E7,
+ 2064: 0x56E8,
+ 2065: 0x56F1,
+ 2066: 0x56EB,
+ 2067: 0x56ED,
+ 2068: 0x56F6,
+ 2069: 0x56F7,
+ 2070: 0x5701,
+ 2071: 0x5702,
+ 2072: 0x5707,
+ 2073: 0x570A,
+ 2074: 0x570C,
+ 2075: 0x5711,
+ 2076: 0x5715,
+ 2077: 0x571A,
+ 2078: 0x571B,
+ 2079: 0x571D,
+ 2080: 0x5720,
+ 2081: 0x5722,
+ 2082: 0x5723,
+ 2083: 0x5724,
+ 2084: 0x5725,
+ 2085: 0x5729,
+ 2086: 0x572A,
+ 2087: 0x572C,
+ 2088: 0x572E,
+ 2089: 0x572F,
+ 2090: 0x5733,
+ 2091: 0x5734,
+ 2092: 0x573D,
+ 2093: 0x573E,
+ 2094: 0x573F,
+ 2095: 0x5745,
+ 2096: 0x5746,
+ 2097: 0x574C,
+ 2098: 0x574D,
+ 2099: 0x5752,
+ 2100: 0x5762,
+ 2101: 0x5765,
+ 2102: 0x5767,
+ 2103: 0x5768,
+ 2104: 0x576B,
+ 2105: 0x576D,
+ 2106: 0x576E,
+ 2107: 0x576F,
+ 2108: 0x5770,
+ 2109: 0x5771,
+ 2110: 0x5773,
+ 2111: 0x5774,
+ 2112: 0x5775,
+ 2113: 0x5777,
+ 2114: 0x5779,
+ 2115: 0x577A,
+ 2116: 0x577B,
+ 2117: 0x577C,
+ 2118: 0x577E,
+ 2119: 0x5781,
+ 2120: 0x5783,
+ 2121: 0x578C,
+ 2122: 0x5794,
+ 2123: 0x5797,
+ 2124: 0x5799,
+ 2125: 0x579A,
+ 2126: 0x579C,
+ 2127: 0x579D,
+ 2128: 0x579E,
+ 2129: 0x579F,
+ 2130: 0x57A1,
+ 2131: 0x5795,
+ 2132: 0x57A7,
+ 2133: 0x57A8,
+ 2134: 0x57A9,
+ 2135: 0x57AC,
+ 2136: 0x57B8,
+ 2137: 0x57BD,
+ 2138: 0x57C7,
+ 2139: 0x57C8,
+ 2140: 0x57CC,
+ 2141: 0x57CF,
+ 2142: 0x57D5,
+ 2143: 0x57DD,
+ 2144: 0x57DE,
+ 2145: 0x57E4,
+ 2146: 0x57E6,
+ 2147: 0x57E7,
+ 2148: 0x57E9,
+ 2149: 0x57ED,
+ 2150: 0x57F0,
+ 2151: 0x57F5,
+ 2152: 0x57F6,
+ 2153: 0x57F8,
+ 2154: 0x57FD,
+ 2155: 0x57FE,
+ 2156: 0x57FF,
+ 2157: 0x5803,
+ 2158: 0x5804,
+ 2159: 0x5808,
+ 2160: 0x5809,
+ 2161: 0x57E1,
+ 2162: 0x580C,
+ 2163: 0x580D,
+ 2164: 0x581B,
+ 2165: 0x581E,
+ 2166: 0x581F,
+ 2167: 0x5820,
+ 2168: 0x5826,
+ 2169: 0x5827,
+ 2170: 0x582D,
+ 2171: 0x5832,
+ 2172: 0x5839,
+ 2173: 0x583F,
+ 2174: 0x5849,
+ 2175: 0x584C,
+ 2176: 0x584D,
+ 2177: 0x584F,
+ 2178: 0x5850,
+ 2179: 0x5855,
+ 2180: 0x585F,
+ 2181: 0x5861,
+ 2182: 0x5864,
+ 2183: 0x5867,
+ 2184: 0x5868,
+ 2185: 0x5878,
+ 2186: 0x587C,
+ 2187: 0x587F,
+ 2188: 0x5880,
+ 2189: 0x5881,
+ 2190: 0x5887,
+ 2191: 0x5888,
+ 2192: 0x5889,
+ 2193: 0x588A,
+ 2194: 0x588C,
+ 2195: 0x588D,
+ 2196: 0x588F,
+ 2197: 0x5890,
+ 2198: 0x5894,
+ 2199: 0x5896,
+ 2200: 0x589D,
+ 2201: 0x58A0,
+ 2202: 0x58A1,
+ 2203: 0x58A2,
+ 2204: 0x58A6,
+ 2205: 0x58A9,
+ 2206: 0x58B1,
+ 2207: 0x58B2,
+ 2208: 0x58C4,
+ 2209: 0x58BC,
+ 2210: 0x58C2,
+ 2211: 0x58C8,
+ 2212: 0x58CD,
+ 2213: 0x58CE,
+ 2214: 0x58D0,
+ 2215: 0x58D2,
+ 2216: 0x58D4,
+ 2217: 0x58D6,
+ 2218: 0x58DA,
+ 2219: 0x58DD,
+ 2220: 0x58E1,
+ 2221: 0x58E2,
+ 2222: 0x58E9,
+ 2223: 0x58F3,
+ 2224: 0x5905,
+ 2225: 0x5906,
+ 2226: 0x590B,
+ 2227: 0x590C,
+ 2228: 0x5912,
+ 2229: 0x5913,
+ 2230: 0x5914,
+ 2231: 0x8641,
+ 2232: 0x591D,
+ 2233: 0x5921,
+ 2234: 0x5923,
+ 2235: 0x5924,
+ 2236: 0x5928,
+ 2237: 0x592F,
+ 2238: 0x5930,
+ 2239: 0x5933,
+ 2240: 0x5935,
+ 2241: 0x5936,
+ 2242: 0x593F,
+ 2243: 0x5943,
+ 2244: 0x5946,
+ 2245: 0x5952,
+ 2246: 0x5953,
+ 2247: 0x5959,
+ 2248: 0x595B,
+ 2249: 0x595D,
+ 2250: 0x595E,
+ 2251: 0x595F,
+ 2252: 0x5961,
+ 2253: 0x5963,
+ 2254: 0x596B,
+ 2255: 0x596D,
+ 2256: 0x596F,
+ 2257: 0x5972,
+ 2258: 0x5975,
+ 2259: 0x5976,
+ 2260: 0x5979,
+ 2261: 0x597B,
+ 2262: 0x597C,
+ 2263: 0x598B,
+ 2264: 0x598C,
+ 2265: 0x598E,
+ 2266: 0x5992,
+ 2267: 0x5995,
+ 2268: 0x5997,
+ 2269: 0x599F,
+ 2270: 0x59A4,
+ 2271: 0x59A7,
+ 2272: 0x59AD,
+ 2273: 0x59AE,
+ 2274: 0x59AF,
+ 2275: 0x59B0,
+ 2276: 0x59B3,
+ 2277: 0x59B7,
+ 2278: 0x59BA,
+ 2279: 0x59BC,
+ 2280: 0x59C1,
+ 2281: 0x59C3,
+ 2282: 0x59C4,
+ 2283: 0x59C8,
+ 2284: 0x59CA,
+ 2285: 0x59CD,
+ 2286: 0x59D2,
+ 2287: 0x59DD,
+ 2288: 0x59DE,
+ 2289: 0x59DF,
+ 2290: 0x59E3,
+ 2291: 0x59E4,
+ 2292: 0x59E7,
+ 2293: 0x59EE,
+ 2294: 0x59EF,
+ 2295: 0x59F1,
+ 2296: 0x59F2,
+ 2297: 0x59F4,
+ 2298: 0x59F7,
+ 2299: 0x5A00,
+ 2300: 0x5A04,
+ 2301: 0x5A0C,
+ 2302: 0x5A0D,
+ 2303: 0x5A0E,
+ 2304: 0x5A12,
+ 2305: 0x5A13,
+ 2306: 0x5A1E,
+ 2307: 0x5A23,
+ 2308: 0x5A24,
+ 2309: 0x5A27,
+ 2310: 0x5A28,
+ 2311: 0x5A2A,
+ 2312: 0x5A2D,
+ 2313: 0x5A30,
+ 2314: 0x5A44,
+ 2315: 0x5A45,
+ 2316: 0x5A47,
+ 2317: 0x5A48,
+ 2318: 0x5A4C,
+ 2319: 0x5A50,
+ 2320: 0x5A55,
+ 2321: 0x5A5E,
+ 2322: 0x5A63,
+ 2323: 0x5A65,
+ 2324: 0x5A67,
+ 2325: 0x5A6D,
+ 2326: 0x5A77,
+ 2327: 0x5A7A,
+ 2328: 0x5A7B,
+ 2329: 0x5A7E,
+ 2330: 0x5A8B,
+ 2331: 0x5A90,
+ 2332: 0x5A93,
+ 2333: 0x5A96,
+ 2334: 0x5A99,
+ 2335: 0x5A9C,
+ 2336: 0x5A9E,
+ 2337: 0x5A9F,
+ 2338: 0x5AA0,
+ 2339: 0x5AA2,
+ 2340: 0x5AA7,
+ 2341: 0x5AAC,
+ 2342: 0x5AB1,
+ 2343: 0x5AB2,
+ 2344: 0x5AB3,
+ 2345: 0x5AB5,
+ 2346: 0x5AB8,
+ 2347: 0x5ABA,
+ 2348: 0x5ABB,
+ 2349: 0x5ABF,
+ 2350: 0x5AC4,
+ 2351: 0x5AC6,
+ 2352: 0x5AC8,
+ 2353: 0x5ACF,
+ 2354: 0x5ADA,
+ 2355: 0x5ADC,
+ 2356: 0x5AE0,
+ 2357: 0x5AE5,
+ 2358: 0x5AEA,
+ 2359: 0x5AEE,
+ 2360: 0x5AF5,
+ 2361: 0x5AF6,
+ 2362: 0x5AFD,
+ 2363: 0x5B00,
+ 2364: 0x5B01,
+ 2365: 0x5B08,
+ 2366: 0x5B17,
+ 2367: 0x5B34,
+ 2368: 0x5B19,
+ 2369: 0x5B1B,
+ 2370: 0x5B1D,
+ 2371: 0x5B21,
+ 2372: 0x5B25,
+ 2373: 0x5B2D,
+ 2374: 0x5B38,
+ 2375: 0x5B41,
+ 2376: 0x5B4B,
+ 2377: 0x5B4C,
+ 2378: 0x5B52,
+ 2379: 0x5B56,
+ 2380: 0x5B5E,
+ 2381: 0x5B68,
+ 2382: 0x5B6E,
+ 2383: 0x5B6F,
+ 2384: 0x5B7C,
+ 2385: 0x5B7D,
+ 2386: 0x5B7E,
+ 2387: 0x5B7F,
+ 2388: 0x5B81,
+ 2389: 0x5B84,
+ 2390: 0x5B86,
+ 2391: 0x5B8A,
+ 2392: 0x5B8E,
+ 2393: 0x5B90,
+ 2394: 0x5B91,
+ 2395: 0x5B93,
+ 2396: 0x5B94,
+ 2397: 0x5B96,
+ 2398: 0x5BA8,
+ 2399: 0x5BA9,
+ 2400: 0x5BAC,
+ 2401: 0x5BAD,
+ 2402: 0x5BAF,
+ 2403: 0x5BB1,
+ 2404: 0x5BB2,
+ 2405: 0x5BB7,
+ 2406: 0x5BBA,
+ 2407: 0x5BBC,
+ 2408: 0x5BC0,
+ 2409: 0x5BC1,
+ 2410: 0x5BCD,
+ 2411: 0x5BCF,
+ 2412: 0x5BD6,
+ 2413: 0x5BD7,
+ 2414: 0x5BD8,
+ 2415: 0x5BD9,
+ 2416: 0x5BDA,
+ 2417: 0x5BE0,
+ 2418: 0x5BEF,
+ 2419: 0x5BF1,
+ 2420: 0x5BF4,
+ 2421: 0x5BFD,
+ 2422: 0x5C0C,
+ 2423: 0x5C17,
+ 2424: 0x5C1E,
+ 2425: 0x5C1F,
+ 2426: 0x5C23,
+ 2427: 0x5C26,
+ 2428: 0x5C29,
+ 2429: 0x5C2B,
+ 2430: 0x5C2C,
+ 2431: 0x5C2E,
+ 2432: 0x5C30,
+ 2433: 0x5C32,
+ 2434: 0x5C35,
+ 2435: 0x5C36,
+ 2436: 0x5C59,
+ 2437: 0x5C5A,
+ 2438: 0x5C5C,
+ 2439: 0x5C62,
+ 2440: 0x5C63,
+ 2441: 0x5C67,
+ 2442: 0x5C68,
+ 2443: 0x5C69,
+ 2444: 0x5C6D,
+ 2445: 0x5C70,
+ 2446: 0x5C74,
+ 2447: 0x5C75,
+ 2448: 0x5C7A,
+ 2449: 0x5C7B,
+ 2450: 0x5C7C,
+ 2451: 0x5C7D,
+ 2452: 0x5C87,
+ 2453: 0x5C88,
+ 2454: 0x5C8A,
+ 2455: 0x5C8F,
+ 2456: 0x5C92,
+ 2457: 0x5C9D,
+ 2458: 0x5C9F,
+ 2459: 0x5CA0,
+ 2460: 0x5CA2,
+ 2461: 0x5CA3,
+ 2462: 0x5CA6,
+ 2463: 0x5CAA,
+ 2464: 0x5CB2,
+ 2465: 0x5CB4,
+ 2466: 0x5CB5,
+ 2467: 0x5CBA,
+ 2468: 0x5CC9,
+ 2469: 0x5CCB,
+ 2470: 0x5CD2,
+ 2471: 0x5CDD,
+ 2472: 0x5CD7,
+ 2473: 0x5CEE,
+ 2474: 0x5CF1,
+ 2475: 0x5CF2,
+ 2476: 0x5CF4,
+ 2477: 0x5D01,
+ 2478: 0x5D06,
+ 2479: 0x5D0D,
+ 2480: 0x5D12,
+ 2481: 0x5D2B,
+ 2482: 0x5D23,
+ 2483: 0x5D24,
+ 2484: 0x5D26,
+ 2485: 0x5D27,
+ 2486: 0x5D31,
+ 2487: 0x5D34,
+ 2488: 0x5D39,
+ 2489: 0x5D3D,
+ 2490: 0x5D3F,
+ 2491: 0x5D42,
+ 2492: 0x5D43,
+ 2493: 0x5D46,
+ 2494: 0x5D48,
+ 2495: 0x5D55,
+ 2496: 0x5D51,
+ 2497: 0x5D59,
+ 2498: 0x5D4A,
+ 2499: 0x5D5F,
+ 2500: 0x5D60,
+ 2501: 0x5D61,
+ 2502: 0x5D62,
+ 2503: 0x5D64,
+ 2504: 0x5D6A,
+ 2505: 0x5D6D,
+ 2506: 0x5D70,
+ 2507: 0x5D79,
+ 2508: 0x5D7A,
+ 2509: 0x5D7E,
+ 2510: 0x5D7F,
+ 2511: 0x5D81,
+ 2512: 0x5D83,
+ 2513: 0x5D88,
+ 2514: 0x5D8A,
+ 2515: 0x5D92,
+ 2516: 0x5D93,
+ 2517: 0x5D94,
+ 2518: 0x5D95,
+ 2519: 0x5D99,
+ 2520: 0x5D9B,
+ 2521: 0x5D9F,
+ 2522: 0x5DA0,
+ 2523: 0x5DA7,
+ 2524: 0x5DAB,
+ 2525: 0x5DB0,
+ 2526: 0x5DB4,
+ 2527: 0x5DB8,
+ 2528: 0x5DB9,
+ 2529: 0x5DC3,
+ 2530: 0x5DC7,
+ 2531: 0x5DCB,
+ 2532: 0x5DD0,
+ 2533: 0x5DCE,
+ 2534: 0x5DD8,
+ 2535: 0x5DD9,
+ 2536: 0x5DE0,
+ 2537: 0x5DE4,
+ 2538: 0x5DE9,
+ 2539: 0x5DF8,
+ 2540: 0x5DF9,
+ 2541: 0x5E00,
+ 2542: 0x5E07,
+ 2543: 0x5E0D,
+ 2544: 0x5E12,
+ 2545: 0x5E14,
+ 2546: 0x5E15,
+ 2547: 0x5E18,
+ 2548: 0x5E1F,
+ 2549: 0x5E20,
+ 2550: 0x5E2E,
+ 2551: 0x5E28,
+ 2552: 0x5E32,
+ 2553: 0x5E35,
+ 2554: 0x5E3E,
+ 2555: 0x5E4B,
+ 2556: 0x5E50,
+ 2557: 0x5E49,
+ 2558: 0x5E51,
+ 2559: 0x5E56,
+ 2560: 0x5E58,
+ 2561: 0x5E5B,
+ 2562: 0x5E5C,
+ 2563: 0x5E5E,
+ 2564: 0x5E68,
+ 2565: 0x5E6A,
+ 2566: 0x5E6B,
+ 2567: 0x5E6C,
+ 2568: 0x5E6D,
+ 2569: 0x5E6E,
+ 2570: 0x5E70,
+ 2571: 0x5E80,
+ 2572: 0x5E8B,
+ 2573: 0x5E8E,
+ 2574: 0x5EA2,
+ 2575: 0x5EA4,
+ 2576: 0x5EA5,
+ 2577: 0x5EA8,
+ 2578: 0x5EAA,
+ 2579: 0x5EAC,
+ 2580: 0x5EB1,
+ 2581: 0x5EB3,
+ 2582: 0x5EBD,
+ 2583: 0x5EBE,
+ 2584: 0x5EBF,
+ 2585: 0x5EC6,
+ 2586: 0x5ECC,
+ 2587: 0x5ECB,
+ 2588: 0x5ECE,
+ 2589: 0x5ED1,
+ 2590: 0x5ED2,
+ 2591: 0x5ED4,
+ 2592: 0x5ED5,
+ 2593: 0x5EDC,
+ 2594: 0x5EDE,
+ 2595: 0x5EE5,
+ 2596: 0x5EEB,
+ 2597: 0x5F02,
+ 2598: 0x5F06,
+ 2599: 0x5F07,
+ 2600: 0x5F08,
+ 2601: 0x5F0E,
+ 2602: 0x5F19,
+ 2603: 0x5F1C,
+ 2604: 0x5F1D,
+ 2605: 0x5F21,
+ 2606: 0x5F22,
+ 2607: 0x5F23,
+ 2608: 0x5F24,
+ 2609: 0x5F28,
+ 2610: 0x5F2B,
+ 2611: 0x5F2C,
+ 2612: 0x5F2E,
+ 2613: 0x5F30,
+ 2614: 0x5F34,
+ 2615: 0x5F36,
+ 2616: 0x5F3B,
+ 2617: 0x5F3D,
+ 2618: 0x5F3F,
+ 2619: 0x5F40,
+ 2620: 0x5F44,
+ 2621: 0x5F45,
+ 2622: 0x5F47,
+ 2623: 0x5F4D,
+ 2624: 0x5F50,
+ 2625: 0x5F54,
+ 2626: 0x5F58,
+ 2627: 0x5F5B,
+ 2628: 0x5F60,
+ 2629: 0x5F63,
+ 2630: 0x5F64,
+ 2631: 0x5F67,
+ 2632: 0x5F6F,
+ 2633: 0x5F72,
+ 2634: 0x5F74,
+ 2635: 0x5F75,
+ 2636: 0x5F78,
+ 2637: 0x5F7A,
+ 2638: 0x5F7D,
+ 2639: 0x5F7E,
+ 2640: 0x5F89,
+ 2641: 0x5F8D,
+ 2642: 0x5F8F,
+ 2643: 0x5F96,
+ 2644: 0x5F9C,
+ 2645: 0x5F9D,
+ 2646: 0x5FA2,
+ 2647: 0x5FA7,
+ 2648: 0x5FAB,
+ 2649: 0x5FA4,
+ 2650: 0x5FAC,
+ 2651: 0x5FAF,
+ 2652: 0x5FB0,
+ 2653: 0x5FB1,
+ 2654: 0x5FB8,
+ 2655: 0x5FC4,
+ 2656: 0x5FC7,
+ 2657: 0x5FC8,
+ 2658: 0x5FC9,
+ 2659: 0x5FCB,
+ 2660: 0x5FD0,
+ 2661: 0x5FD1,
+ 2662: 0x5FD2,
+ 2663: 0x5FD3,
+ 2664: 0x5FD4,
+ 2665: 0x5FDE,
+ 2666: 0x5FE1,
+ 2667: 0x5FE2,
+ 2668: 0x5FE8,
+ 2669: 0x5FE9,
+ 2670: 0x5FEA,
+ 2671: 0x5FEC,
+ 2672: 0x5FED,
+ 2673: 0x5FEE,
+ 2674: 0x5FEF,
+ 2675: 0x5FF2,
+ 2676: 0x5FF3,
+ 2677: 0x5FF6,
+ 2678: 0x5FFA,
+ 2679: 0x5FFC,
+ 2680: 0x6007,
+ 2681: 0x600A,
+ 2682: 0x600D,
+ 2683: 0x6013,
+ 2684: 0x6014,
+ 2685: 0x6017,
+ 2686: 0x6018,
+ 2687: 0x601A,
+ 2688: 0x601F,
+ 2689: 0x6024,
+ 2690: 0x602D,
+ 2691: 0x6033,
+ 2692: 0x6035,
+ 2693: 0x6040,
+ 2694: 0x6047,
+ 2695: 0x6048,
+ 2696: 0x6049,
+ 2697: 0x604C,
+ 2698: 0x6051,
+ 2699: 0x6054,
+ 2700: 0x6056,
+ 2701: 0x6057,
+ 2702: 0x605D,
+ 2703: 0x6061,
+ 2704: 0x6067,
+ 2705: 0x6071,
+ 2706: 0x607E,
+ 2707: 0x607F,
+ 2708: 0x6082,
+ 2709: 0x6086,
+ 2710: 0x6088,
+ 2711: 0x608A,
+ 2712: 0x608E,
+ 2713: 0x6091,
+ 2714: 0x6093,
+ 2715: 0x6095,
+ 2716: 0x6098,
+ 2717: 0x609D,
+ 2718: 0x609E,
+ 2719: 0x60A2,
+ 2720: 0x60A4,
+ 2721: 0x60A5,
+ 2722: 0x60A8,
+ 2723: 0x60B0,
+ 2724: 0x60B1,
+ 2725: 0x60B7,
+ 2726: 0x60BB,
+ 2727: 0x60BE,
+ 2728: 0x60C2,
+ 2729: 0x60C4,
+ 2730: 0x60C8,
+ 2731: 0x60C9,
+ 2732: 0x60CA,
+ 2733: 0x60CB,
+ 2734: 0x60CE,
+ 2735: 0x60CF,
+ 2736: 0x60D4,
+ 2737: 0x60D5,
+ 2738: 0x60D9,
+ 2739: 0x60DB,
+ 2740: 0x60DD,
+ 2741: 0x60DE,
+ 2742: 0x60E2,
+ 2743: 0x60E5,
+ 2744: 0x60F2,
+ 2745: 0x60F5,
+ 2746: 0x60F8,
+ 2747: 0x60FC,
+ 2748: 0x60FD,
+ 2749: 0x6102,
+ 2750: 0x6107,
+ 2751: 0x610A,
+ 2752: 0x610C,
+ 2753: 0x6110,
+ 2754: 0x6111,
+ 2755: 0x6112,
+ 2756: 0x6113,
+ 2757: 0x6114,
+ 2758: 0x6116,
+ 2759: 0x6117,
+ 2760: 0x6119,
+ 2761: 0x611C,
+ 2762: 0x611E,
+ 2763: 0x6122,
+ 2764: 0x612A,
+ 2765: 0x612B,
+ 2766: 0x6130,
+ 2767: 0x6131,
+ 2768: 0x6135,
+ 2769: 0x6136,
+ 2770: 0x6137,
+ 2771: 0x6139,
+ 2772: 0x6141,
+ 2773: 0x6145,
+ 2774: 0x6146,
+ 2775: 0x6149,
+ 2776: 0x615E,
+ 2777: 0x6160,
+ 2778: 0x616C,
+ 2779: 0x6172,
+ 2780: 0x6178,
+ 2781: 0x617B,
+ 2782: 0x617C,
+ 2783: 0x617F,
+ 2784: 0x6180,
+ 2785: 0x6181,
+ 2786: 0x6183,
+ 2787: 0x6184,
+ 2788: 0x618B,
+ 2789: 0x618D,
+ 2790: 0x6192,
+ 2791: 0x6193,
+ 2792: 0x6197,
+ 2793: 0x6198,
+ 2794: 0x619C,
+ 2795: 0x619D,
+ 2796: 0x619F,
+ 2797: 0x61A0,
+ 2798: 0x61A5,
+ 2799: 0x61A8,
+ 2800: 0x61AA,
+ 2801: 0x61AD,
+ 2802: 0x61B8,
+ 2803: 0x61B9,
+ 2804: 0x61BC,
+ 2805: 0x61C0,
+ 2806: 0x61C1,
+ 2807: 0x61C2,
+ 2808: 0x61CE,
+ 2809: 0x61CF,
+ 2810: 0x61D5,
+ 2811: 0x61DC,
+ 2812: 0x61DD,
+ 2813: 0x61DE,
+ 2814: 0x61DF,
+ 2815: 0x61E1,
+ 2816: 0x61E2,
+ 2817: 0x61E7,
+ 2818: 0x61E9,
+ 2819: 0x61E5,
+ 2820: 0x61EC,
+ 2821: 0x61ED,
+ 2822: 0x61EF,
+ 2823: 0x6201,
+ 2824: 0x6203,
+ 2825: 0x6204,
+ 2826: 0x6207,
+ 2827: 0x6213,
+ 2828: 0x6215,
+ 2829: 0x621C,
+ 2830: 0x6220,
+ 2831: 0x6222,
+ 2832: 0x6223,
+ 2833: 0x6227,
+ 2834: 0x6229,
+ 2835: 0x622B,
+ 2836: 0x6239,
+ 2837: 0x623D,
+ 2838: 0x6242,
+ 2839: 0x6243,
+ 2840: 0x6244,
+ 2841: 0x6246,
+ 2842: 0x624C,
+ 2843: 0x6250,
+ 2844: 0x6251,
+ 2845: 0x6252,
+ 2846: 0x6254,
+ 2847: 0x6256,
+ 2848: 0x625A,
+ 2849: 0x625C,
+ 2850: 0x6264,
+ 2851: 0x626D,
+ 2852: 0x626F,
+ 2853: 0x6273,
+ 2854: 0x627A,
+ 2855: 0x627D,
+ 2856: 0x628D,
+ 2857: 0x628E,
+ 2858: 0x628F,
+ 2859: 0x6290,
+ 2860: 0x62A6,
+ 2861: 0x62A8,
+ 2862: 0x62B3,
+ 2863: 0x62B6,
+ 2864: 0x62B7,
+ 2865: 0x62BA,
+ 2866: 0x62BE,
+ 2867: 0x62BF,
+ 2868: 0x62C4,
+ 2869: 0x62CE,
+ 2870: 0x62D5,
+ 2871: 0x62D6,
+ 2872: 0x62DA,
+ 2873: 0x62EA,
+ 2874: 0x62F2,
+ 2875: 0x62F4,
+ 2876: 0x62FC,
+ 2877: 0x62FD,
+ 2878: 0x6303,
+ 2879: 0x6304,
+ 2880: 0x630A,
+ 2881: 0x630B,
+ 2882: 0x630D,
+ 2883: 0x6310,
+ 2884: 0x6313,
+ 2885: 0x6316,
+ 2886: 0x6318,
+ 2887: 0x6329,
+ 2888: 0x632A,
+ 2889: 0x632D,
+ 2890: 0x6335,
+ 2891: 0x6336,
+ 2892: 0x6339,
+ 2893: 0x633C,
+ 2894: 0x6341,
+ 2895: 0x6342,
+ 2896: 0x6343,
+ 2897: 0x6344,
+ 2898: 0x6346,
+ 2899: 0x634A,
+ 2900: 0x634B,
+ 2901: 0x634E,
+ 2902: 0x6352,
+ 2903: 0x6353,
+ 2904: 0x6354,
+ 2905: 0x6358,
+ 2906: 0x635B,
+ 2907: 0x6365,
+ 2908: 0x6366,
+ 2909: 0x636C,
+ 2910: 0x636D,
+ 2911: 0x6371,
+ 2912: 0x6374,
+ 2913: 0x6375,
+ 2914: 0x6378,
+ 2915: 0x637C,
+ 2916: 0x637D,
+ 2917: 0x637F,
+ 2918: 0x6382,
+ 2919: 0x6384,
+ 2920: 0x6387,
+ 2921: 0x638A,
+ 2922: 0x6390,
+ 2923: 0x6394,
+ 2924: 0x6395,
+ 2925: 0x6399,
+ 2926: 0x639A,
+ 2927: 0x639E,
+ 2928: 0x63A4,
+ 2929: 0x63A6,
+ 2930: 0x63AD,
+ 2931: 0x63AE,
+ 2932: 0x63AF,
+ 2933: 0x63BD,
+ 2934: 0x63C1,
+ 2935: 0x63C5,
+ 2936: 0x63C8,
+ 2937: 0x63CE,
+ 2938: 0x63D1,
+ 2939: 0x63D3,
+ 2940: 0x63D4,
+ 2941: 0x63D5,
+ 2942: 0x63DC,
+ 2943: 0x63E0,
+ 2944: 0x63E5,
+ 2945: 0x63EA,
+ 2946: 0x63EC,
+ 2947: 0x63F2,
+ 2948: 0x63F3,
+ 2949: 0x63F5,
+ 2950: 0x63F8,
+ 2951: 0x63F9,
+ 2952: 0x6409,
+ 2953: 0x640A,
+ 2954: 0x6410,
+ 2955: 0x6412,
+ 2956: 0x6414,
+ 2957: 0x6418,
+ 2958: 0x641E,
+ 2959: 0x6420,
+ 2960: 0x6422,
+ 2961: 0x6424,
+ 2962: 0x6425,
+ 2963: 0x6429,
+ 2964: 0x642A,
+ 2965: 0x642F,
+ 2966: 0x6430,
+ 2967: 0x6435,
+ 2968: 0x643D,
+ 2969: 0x643F,
+ 2970: 0x644B,
+ 2971: 0x644F,
+ 2972: 0x6451,
+ 2973: 0x6452,
+ 2974: 0x6453,
+ 2975: 0x6454,
+ 2976: 0x645A,
+ 2977: 0x645B,
+ 2978: 0x645C,
+ 2979: 0x645D,
+ 2980: 0x645F,
+ 2981: 0x6460,
+ 2982: 0x6461,
+ 2983: 0x6463,
+ 2984: 0x646D,
+ 2985: 0x6473,
+ 2986: 0x6474,
+ 2987: 0x647B,
+ 2988: 0x647D,
+ 2989: 0x6485,
+ 2990: 0x6487,
+ 2991: 0x648F,
+ 2992: 0x6490,
+ 2993: 0x6491,
+ 2994: 0x6498,
+ 2995: 0x6499,
+ 2996: 0x649B,
+ 2997: 0x649D,
+ 2998: 0x649F,
+ 2999: 0x64A1,
+ 3000: 0x64A3,
+ 3001: 0x64A6,
+ 3002: 0x64A8,
+ 3003: 0x64AC,
+ 3004: 0x64B3,
+ 3005: 0x64BD,
+ 3006: 0x64BE,
+ 3007: 0x64BF,
+ 3008: 0x64C4,
+ 3009: 0x64C9,
+ 3010: 0x64CA,
+ 3011: 0x64CB,
+ 3012: 0x64CC,
+ 3013: 0x64CE,
+ 3014: 0x64D0,
+ 3015: 0x64D1,
+ 3016: 0x64D5,
+ 3017: 0x64D7,
+ 3018: 0x64E4,
+ 3019: 0x64E5,
+ 3020: 0x64E9,
+ 3021: 0x64EA,
+ 3022: 0x64ED,
+ 3023: 0x64F0,
+ 3024: 0x64F5,
+ 3025: 0x64F7,
+ 3026: 0x64FB,
+ 3027: 0x64FF,
+ 3028: 0x6501,
+ 3029: 0x6504,
+ 3030: 0x6508,
+ 3031: 0x6509,
+ 3032: 0x650A,
+ 3033: 0x650F,
+ 3034: 0x6513,
+ 3035: 0x6514,
+ 3036: 0x6516,
+ 3037: 0x6519,
+ 3038: 0x651B,
+ 3039: 0x651E,
+ 3040: 0x651F,
+ 3041: 0x6522,
+ 3042: 0x6526,
+ 3043: 0x6529,
+ 3044: 0x652E,
+ 3045: 0x6531,
+ 3046: 0x653A,
+ 3047: 0x653C,
+ 3048: 0x653D,
+ 3049: 0x6543,
+ 3050: 0x6547,
+ 3051: 0x6549,
+ 3052: 0x6550,
+ 3053: 0x6552,
+ 3054: 0x6554,
+ 3055: 0x655F,
+ 3056: 0x6560,
+ 3057: 0x6567,
+ 3058: 0x656B,
+ 3059: 0x657A,
+ 3060: 0x657D,
+ 3061: 0x6581,
+ 3062: 0x6585,
+ 3063: 0x658A,
+ 3064: 0x6592,
+ 3065: 0x6595,
+ 3066: 0x6598,
+ 3067: 0x659D,
+ 3068: 0x65A0,
+ 3069: 0x65A3,
+ 3070: 0x65A6,
+ 3071: 0x65AE,
+ 3072: 0x65B2,
+ 3073: 0x65B3,
+ 3074: 0x65B4,
+ 3075: 0x65BF,
+ 3076: 0x65C2,
+ 3077: 0x65C8,
+ 3078: 0x65C9,
+ 3079: 0x65CE,
+ 3080: 0x65D0,
+ 3081: 0x65D4,
+ 3082: 0x65D6,
+ 3083: 0x65D8,
+ 3084: 0x65DF,
+ 3085: 0x65F0,
+ 3086: 0x65F2,
+ 3087: 0x65F4,
+ 3088: 0x65F5,
+ 3089: 0x65F9,
+ 3090: 0x65FE,
+ 3091: 0x65FF,
+ 3092: 0x6600,
+ 3093: 0x6604,
+ 3094: 0x6608,
+ 3095: 0x6609,
+ 3096: 0x660D,
+ 3097: 0x6611,
+ 3098: 0x6612,
+ 3099: 0x6615,
+ 3100: 0x6616,
+ 3101: 0x661D,
+ 3102: 0x661E,
+ 3103: 0x6621,
+ 3104: 0x6622,
+ 3105: 0x6623,
+ 3106: 0x6624,
+ 3107: 0x6626,
+ 3108: 0x6629,
+ 3109: 0x662A,
+ 3110: 0x662B,
+ 3111: 0x662C,
+ 3112: 0x662E,
+ 3113: 0x6630,
+ 3114: 0x6631,
+ 3115: 0x6633,
+ 3116: 0x6639,
+ 3117: 0x6637,
+ 3118: 0x6640,
+ 3119: 0x6645,
+ 3120: 0x6646,
+ 3121: 0x664A,
+ 3122: 0x664C,
+ 3123: 0x6651,
+ 3124: 0x664E,
+ 3125: 0x6657,
+ 3126: 0x6658,
+ 3127: 0x6659,
+ 3128: 0x665B,
+ 3129: 0x665C,
+ 3130: 0x6660,
+ 3131: 0x6661,
+ 3132: 0x66FB,
+ 3133: 0x666A,
+ 3134: 0x666B,
+ 3135: 0x666C,
+ 3136: 0x667E,
+ 3137: 0x6673,
+ 3138: 0x6675,
+ 3139: 0x667F,
+ 3140: 0x6677,
+ 3141: 0x6678,
+ 3142: 0x6679,
+ 3143: 0x667B,
+ 3144: 0x6680,
+ 3145: 0x667C,
+ 3146: 0x668B,
+ 3147: 0x668C,
+ 3148: 0x668D,
+ 3149: 0x6690,
+ 3150: 0x6692,
+ 3151: 0x6699,
+ 3152: 0x669A,
+ 3153: 0x669B,
+ 3154: 0x669C,
+ 3155: 0x669F,
+ 3156: 0x66A0,
+ 3157: 0x66A4,
+ 3158: 0x66AD,
+ 3159: 0x66B1,
+ 3160: 0x66B2,
+ 3161: 0x66B5,
+ 3162: 0x66BB,
+ 3163: 0x66BF,
+ 3164: 0x66C0,
+ 3165: 0x66C2,
+ 3166: 0x66C3,
+ 3167: 0x66C8,
+ 3168: 0x66CC,
+ 3169: 0x66CE,
+ 3170: 0x66CF,
+ 3171: 0x66D4,
+ 3172: 0x66DB,
+ 3173: 0x66DF,
+ 3174: 0x66E8,
+ 3175: 0x66EB,
+ 3176: 0x66EC,
+ 3177: 0x66EE,
+ 3178: 0x66FA,
+ 3179: 0x6705,
+ 3180: 0x6707,
+ 3181: 0x670E,
+ 3182: 0x6713,
+ 3183: 0x6719,
+ 3184: 0x671C,
+ 3185: 0x6720,
+ 3186: 0x6722,
+ 3187: 0x6733,
+ 3188: 0x673E,
+ 3189: 0x6745,
+ 3190: 0x6747,
+ 3191: 0x6748,
+ 3192: 0x674C,
+ 3193: 0x6754,
+ 3194: 0x6755,
+ 3195: 0x675D,
+ 3196: 0x6766,
+ 3197: 0x676C,
+ 3198: 0x676E,
+ 3199: 0x6774,
+ 3200: 0x6776,
+ 3201: 0x677B,
+ 3202: 0x6781,
+ 3203: 0x6784,
+ 3204: 0x678E,
+ 3205: 0x678F,
+ 3206: 0x6791,
+ 3207: 0x6793,
+ 3208: 0x6796,
+ 3209: 0x6798,
+ 3210: 0x6799,
+ 3211: 0x679B,
+ 3212: 0x67B0,
+ 3213: 0x67B1,
+ 3214: 0x67B2,
+ 3215: 0x67B5,
+ 3216: 0x67BB,
+ 3217: 0x67BC,
+ 3218: 0x67BD,
+ 3219: 0x67F9,
+ 3220: 0x67C0,
+ 3221: 0x67C2,
+ 3222: 0x67C3,
+ 3223: 0x67C5,
+ 3224: 0x67C8,
+ 3225: 0x67C9,
+ 3226: 0x67D2,
+ 3227: 0x67D7,
+ 3228: 0x67D9,
+ 3229: 0x67DC,
+ 3230: 0x67E1,
+ 3231: 0x67E6,
+ 3232: 0x67F0,
+ 3233: 0x67F2,
+ 3234: 0x67F6,
+ 3235: 0x67F7,
+ 3236: 0x6852,
+ 3237: 0x6814,
+ 3238: 0x6819,
+ 3239: 0x681D,
+ 3240: 0x681F,
+ 3241: 0x6828,
+ 3242: 0x6827,
+ 3243: 0x682C,
+ 3244: 0x682D,
+ 3245: 0x682F,
+ 3246: 0x6830,
+ 3247: 0x6831,
+ 3248: 0x6833,
+ 3249: 0x683B,
+ 3250: 0x683F,
+ 3251: 0x6844,
+ 3252: 0x6845,
+ 3253: 0x684A,
+ 3254: 0x684C,
+ 3255: 0x6855,
+ 3256: 0x6857,
+ 3257: 0x6858,
+ 3258: 0x685B,
+ 3259: 0x686B,
+ 3260: 0x686E,
+ 3261: 0x686F,
+ 3262: 0x6870,
+ 3263: 0x6871,
+ 3264: 0x6872,
+ 3265: 0x6875,
+ 3266: 0x6879,
+ 3267: 0x687A,
+ 3268: 0x687B,
+ 3269: 0x687C,
+ 3270: 0x6882,
+ 3271: 0x6884,
+ 3272: 0x6886,
+ 3273: 0x6888,
+ 3274: 0x6896,
+ 3275: 0x6898,
+ 3276: 0x689A,
+ 3277: 0x689C,
+ 3278: 0x68A1,
+ 3279: 0x68A3,
+ 3280: 0x68A5,
+ 3281: 0x68A9,
+ 3282: 0x68AA,
+ 3283: 0x68AE,
+ 3284: 0x68B2,
+ 3285: 0x68BB,
+ 3286: 0x68C5,
+ 3287: 0x68C8,
+ 3288: 0x68CC,
+ 3289: 0x68CF,
+ 3290: 0x68D0,
+ 3291: 0x68D1,
+ 3292: 0x68D3,
+ 3293: 0x68D6,
+ 3294: 0x68D9,
+ 3295: 0x68DC,
+ 3296: 0x68DD,
+ 3297: 0x68E5,
+ 3298: 0x68E8,
+ 3299: 0x68EA,
+ 3300: 0x68EB,
+ 3301: 0x68EC,
+ 3302: 0x68ED,
+ 3303: 0x68F0,
+ 3304: 0x68F1,
+ 3305: 0x68F5,
+ 3306: 0x68F6,
+ 3307: 0x68FB,
+ 3308: 0x68FC,
+ 3309: 0x68FD,
+ 3310: 0x6906,
+ 3311: 0x6909,
+ 3312: 0x690A,
+ 3313: 0x6910,
+ 3314: 0x6911,
+ 3315: 0x6913,
+ 3316: 0x6916,
+ 3317: 0x6917,
+ 3318: 0x6931,
+ 3319: 0x6933,
+ 3320: 0x6935,
+ 3321: 0x6938,
+ 3322: 0x693B,
+ 3323: 0x6942,
+ 3324: 0x6945,
+ 3325: 0x6949,
+ 3326: 0x694E,
+ 3327: 0x6957,
+ 3328: 0x695B,
+ 3329: 0x6963,
+ 3330: 0x6964,
+ 3331: 0x6965,
+ 3332: 0x6966,
+ 3333: 0x6968,
+ 3334: 0x6969,
+ 3335: 0x696C,
+ 3336: 0x6970,
+ 3337: 0x6971,
+ 3338: 0x6972,
+ 3339: 0x697A,
+ 3340: 0x697B,
+ 3341: 0x697F,
+ 3342: 0x6980,
+ 3343: 0x698D,
+ 3344: 0x6992,
+ 3345: 0x6996,
+ 3346: 0x6998,
+ 3347: 0x69A1,
+ 3348: 0x69A5,
+ 3349: 0x69A6,
+ 3350: 0x69A8,
+ 3351: 0x69AB,
+ 3352: 0x69AD,
+ 3353: 0x69AF,
+ 3354: 0x69B7,
+ 3355: 0x69B8,
+ 3356: 0x69BA,
+ 3357: 0x69BC,
+ 3358: 0x69C5,
+ 3359: 0x69C8,
+ 3360: 0x69D1,
+ 3361: 0x69D6,
+ 3362: 0x69D7,
+ 3363: 0x69E2,
+ 3364: 0x69E5,
+ 3365: 0x69EE,
+ 3366: 0x69EF,
+ 3367: 0x69F1,
+ 3368: 0x69F3,
+ 3369: 0x69F5,
+ 3370: 0x69FE,
+ 3371: 0x6A00,
+ 3372: 0x6A01,
+ 3373: 0x6A03,
+ 3374: 0x6A0F,
+ 3375: 0x6A11,
+ 3376: 0x6A15,
+ 3377: 0x6A1A,
+ 3378: 0x6A1D,
+ 3379: 0x6A20,
+ 3380: 0x6A24,
+ 3381: 0x6A28,
+ 3382: 0x6A30,
+ 3383: 0x6A32,
+ 3384: 0x6A34,
+ 3385: 0x6A37,
+ 3386: 0x6A3B,
+ 3387: 0x6A3E,
+ 3388: 0x6A3F,
+ 3389: 0x6A45,
+ 3390: 0x6A46,
+ 3391: 0x6A49,
+ 3392: 0x6A4A,
+ 3393: 0x6A4E,
+ 3394: 0x6A50,
+ 3395: 0x6A51,
+ 3396: 0x6A52,
+ 3397: 0x6A55,
+ 3398: 0x6A56,
+ 3399: 0x6A5B,
+ 3400: 0x6A64,
+ 3401: 0x6A67,
+ 3402: 0x6A6A,
+ 3403: 0x6A71,
+ 3404: 0x6A73,
+ 3405: 0x6A7E,
+ 3406: 0x6A81,
+ 3407: 0x6A83,
+ 3408: 0x6A86,
+ 3409: 0x6A87,
+ 3410: 0x6A89,
+ 3411: 0x6A8B,
+ 3412: 0x6A91,
+ 3413: 0x6A9B,
+ 3414: 0x6A9D,
+ 3415: 0x6A9E,
+ 3416: 0x6A9F,
+ 3417: 0x6AA5,
+ 3418: 0x6AAB,
+ 3419: 0x6AAF,
+ 3420: 0x6AB0,
+ 3421: 0x6AB1,
+ 3422: 0x6AB4,
+ 3423: 0x6ABD,
+ 3424: 0x6ABE,
+ 3425: 0x6ABF,
+ 3426: 0x6AC6,
+ 3427: 0x6AC9,
+ 3428: 0x6AC8,
+ 3429: 0x6ACC,
+ 3430: 0x6AD0,
+ 3431: 0x6AD4,
+ 3432: 0x6AD5,
+ 3433: 0x6AD6,
+ 3434: 0x6ADC,
+ 3435: 0x6ADD,
+ 3436: 0x6AE4,
+ 3437: 0x6AE7,
+ 3438: 0x6AEC,
+ 3439: 0x6AF0,
+ 3440: 0x6AF1,
+ 3441: 0x6AF2,
+ 3442: 0x6AFC,
+ 3443: 0x6AFD,
+ 3444: 0x6B02,
+ 3445: 0x6B03,
+ 3446: 0x6B06,
+ 3447: 0x6B07,
+ 3448: 0x6B09,
+ 3449: 0x6B0F,
+ 3450: 0x6B10,
+ 3451: 0x6B11,
+ 3452: 0x6B17,
+ 3453: 0x6B1B,
+ 3454: 0x6B1E,
+ 3455: 0x6B24,
+ 3456: 0x6B28,
+ 3457: 0x6B2B,
+ 3458: 0x6B2C,
+ 3459: 0x6B2F,
+ 3460: 0x6B35,
+ 3461: 0x6B36,
+ 3462: 0x6B3B,
+ 3463: 0x6B3F,
+ 3464: 0x6B46,
+ 3465: 0x6B4A,
+ 3466: 0x6B4D,
+ 3467: 0x6B52,
+ 3468: 0x6B56,
+ 3469: 0x6B58,
+ 3470: 0x6B5D,
+ 3471: 0x6B60,
+ 3472: 0x6B67,
+ 3473: 0x6B6B,
+ 3474: 0x6B6E,
+ 3475: 0x6B70,
+ 3476: 0x6B75,
+ 3477: 0x6B7D,
+ 3478: 0x6B7E,
+ 3479: 0x6B82,
+ 3480: 0x6B85,
+ 3481: 0x6B97,
+ 3482: 0x6B9B,
+ 3483: 0x6B9F,
+ 3484: 0x6BA0,
+ 3485: 0x6BA2,
+ 3486: 0x6BA3,
+ 3487: 0x6BA8,
+ 3488: 0x6BA9,
+ 3489: 0x6BAC,
+ 3490: 0x6BAD,
+ 3491: 0x6BAE,
+ 3492: 0x6BB0,
+ 3493: 0x6BB8,
+ 3494: 0x6BB9,
+ 3495: 0x6BBD,
+ 3496: 0x6BBE,
+ 3497: 0x6BC3,
+ 3498: 0x6BC4,
+ 3499: 0x6BC9,
+ 3500: 0x6BCC,
+ 3501: 0x6BD6,
+ 3502: 0x6BDA,
+ 3503: 0x6BE1,
+ 3504: 0x6BE3,
+ 3505: 0x6BE6,
+ 3506: 0x6BE7,
+ 3507: 0x6BEE,
+ 3508: 0x6BF1,
+ 3509: 0x6BF7,
+ 3510: 0x6BF9,
+ 3511: 0x6BFF,
+ 3512: 0x6C02,
+ 3513: 0x6C04,
+ 3514: 0x6C05,
+ 3515: 0x6C09,
+ 3516: 0x6C0D,
+ 3517: 0x6C0E,
+ 3518: 0x6C10,
+ 3519: 0x6C12,
+ 3520: 0x6C19,
+ 3521: 0x6C1F,
+ 3522: 0x6C26,
+ 3523: 0x6C27,
+ 3524: 0x6C28,
+ 3525: 0x6C2C,
+ 3526: 0x6C2E,
+ 3527: 0x6C33,
+ 3528: 0x6C35,
+ 3529: 0x6C36,
+ 3530: 0x6C3A,
+ 3531: 0x6C3B,
+ 3532: 0x6C3F,
+ 3533: 0x6C4A,
+ 3534: 0x6C4B,
+ 3535: 0x6C4D,
+ 3536: 0x6C4F,
+ 3537: 0x6C52,
+ 3538: 0x6C54,
+ 3539: 0x6C59,
+ 3540: 0x6C5B,
+ 3541: 0x6C5C,
+ 3542: 0x6C6B,
+ 3543: 0x6C6D,
+ 3544: 0x6C6F,
+ 3545: 0x6C74,
+ 3546: 0x6C76,
+ 3547: 0x6C78,
+ 3548: 0x6C79,
+ 3549: 0x6C7B,
+ 3550: 0x6C85,
+ 3551: 0x6C86,
+ 3552: 0x6C87,
+ 3553: 0x6C89,
+ 3554: 0x6C94,
+ 3555: 0x6C95,
+ 3556: 0x6C97,
+ 3557: 0x6C98,
+ 3558: 0x6C9C,
+ 3559: 0x6C9F,
+ 3560: 0x6CB0,
+ 3561: 0x6CB2,
+ 3562: 0x6CB4,
+ 3563: 0x6CC2,
+ 3564: 0x6CC6,
+ 3565: 0x6CCD,
+ 3566: 0x6CCF,
+ 3567: 0x6CD0,
+ 3568: 0x6CD1,
+ 3569: 0x6CD2,
+ 3570: 0x6CD4,
+ 3571: 0x6CD6,
+ 3572: 0x6CDA,
+ 3573: 0x6CDC,
+ 3574: 0x6CE0,
+ 3575: 0x6CE7,
+ 3576: 0x6CE9,
+ 3577: 0x6CEB,
+ 3578: 0x6CEC,
+ 3579: 0x6CEE,
+ 3580: 0x6CF2,
+ 3581: 0x6CF4,
+ 3582: 0x6D04,
+ 3583: 0x6D07,
+ 3584: 0x6D0A,
+ 3585: 0x6D0E,
+ 3586: 0x6D0F,
+ 3587: 0x6D11,
+ 3588: 0x6D13,
+ 3589: 0x6D1A,
+ 3590: 0x6D26,
+ 3591: 0x6D27,
+ 3592: 0x6D28,
+ 3593: 0x6C67,
+ 3594: 0x6D2E,
+ 3595: 0x6D2F,
+ 3596: 0x6D31,
+ 3597: 0x6D39,
+ 3598: 0x6D3C,
+ 3599: 0x6D3F,
+ 3600: 0x6D57,
+ 3601: 0x6D5E,
+ 3602: 0x6D5F,
+ 3603: 0x6D61,
+ 3604: 0x6D65,
+ 3605: 0x6D67,
+ 3606: 0x6D6F,
+ 3607: 0x6D70,
+ 3608: 0x6D7C,
+ 3609: 0x6D82,
+ 3610: 0x6D87,
+ 3611: 0x6D91,
+ 3612: 0x6D92,
+ 3613: 0x6D94,
+ 3614: 0x6D96,
+ 3615: 0x6D97,
+ 3616: 0x6D98,
+ 3617: 0x6DAA,
+ 3618: 0x6DAC,
+ 3619: 0x6DB4,
+ 3620: 0x6DB7,
+ 3621: 0x6DB9,
+ 3622: 0x6DBD,
+ 3623: 0x6DBF,
+ 3624: 0x6DC4,
+ 3625: 0x6DC8,
+ 3626: 0x6DCA,
+ 3627: 0x6DCE,
+ 3628: 0x6DCF,
+ 3629: 0x6DD6,
+ 3630: 0x6DDB,
+ 3631: 0x6DDD,
+ 3632: 0x6DDF,
+ 3633: 0x6DE0,
+ 3634: 0x6DE2,
+ 3635: 0x6DE5,
+ 3636: 0x6DE9,
+ 3637: 0x6DEF,
+ 3638: 0x6DF0,
+ 3639: 0x6DF4,
+ 3640: 0x6DF6,
+ 3641: 0x6DFC,
+ 3642: 0x6E00,
+ 3643: 0x6E04,
+ 3644: 0x6E1E,
+ 3645: 0x6E22,
+ 3646: 0x6E27,
+ 3647: 0x6E32,
+ 3648: 0x6E36,
+ 3649: 0x6E39,
+ 3650: 0x6E3B,
+ 3651: 0x6E3C,
+ 3652: 0x6E44,
+ 3653: 0x6E45,
+ 3654: 0x6E48,
+ 3655: 0x6E49,
+ 3656: 0x6E4B,
+ 3657: 0x6E4F,
+ 3658: 0x6E51,
+ 3659: 0x6E52,
+ 3660: 0x6E53,
+ 3661: 0x6E54,
+ 3662: 0x6E57,
+ 3663: 0x6E5C,
+ 3664: 0x6E5D,
+ 3665: 0x6E5E,
+ 3666: 0x6E62,
+ 3667: 0x6E63,
+ 3668: 0x6E68,
+ 3669: 0x6E73,
+ 3670: 0x6E7B,
+ 3671: 0x6E7D,
+ 3672: 0x6E8D,
+ 3673: 0x6E93,
+ 3674: 0x6E99,
+ 3675: 0x6EA0,
+ 3676: 0x6EA7,
+ 3677: 0x6EAD,
+ 3678: 0x6EAE,
+ 3679: 0x6EB1,
+ 3680: 0x6EB3,
+ 3681: 0x6EBB,
+ 3682: 0x6EBF,
+ 3683: 0x6EC0,
+ 3684: 0x6EC1,
+ 3685: 0x6EC3,
+ 3686: 0x6EC7,
+ 3687: 0x6EC8,
+ 3688: 0x6ECA,
+ 3689: 0x6ECD,
+ 3690: 0x6ECE,
+ 3691: 0x6ECF,
+ 3692: 0x6EEB,
+ 3693: 0x6EED,
+ 3694: 0x6EEE,
+ 3695: 0x6EF9,
+ 3696: 0x6EFB,
+ 3697: 0x6EFD,
+ 3698: 0x6F04,
+ 3699: 0x6F08,
+ 3700: 0x6F0A,
+ 3701: 0x6F0C,
+ 3702: 0x6F0D,
+ 3703: 0x6F16,
+ 3704: 0x6F18,
+ 3705: 0x6F1A,
+ 3706: 0x6F1B,
+ 3707: 0x6F26,
+ 3708: 0x6F29,
+ 3709: 0x6F2A,
+ 3710: 0x6F2F,
+ 3711: 0x6F30,
+ 3712: 0x6F33,
+ 3713: 0x6F36,
+ 3714: 0x6F3B,
+ 3715: 0x6F3C,
+ 3716: 0x6F2D,
+ 3717: 0x6F4F,
+ 3718: 0x6F51,
+ 3719: 0x6F52,
+ 3720: 0x6F53,
+ 3721: 0x6F57,
+ 3722: 0x6F59,
+ 3723: 0x6F5A,
+ 3724: 0x6F5D,
+ 3725: 0x6F5E,
+ 3726: 0x6F61,
+ 3727: 0x6F62,
+ 3728: 0x6F68,
+ 3729: 0x6F6C,
+ 3730: 0x6F7D,
+ 3731: 0x6F7E,
+ 3732: 0x6F83,
+ 3733: 0x6F87,
+ 3734: 0x6F88,
+ 3735: 0x6F8B,
+ 3736: 0x6F8C,
+ 3737: 0x6F8D,
+ 3738: 0x6F90,
+ 3739: 0x6F92,
+ 3740: 0x6F93,
+ 3741: 0x6F94,
+ 3742: 0x6F96,
+ 3743: 0x6F9A,
+ 3744: 0x6F9F,
+ 3745: 0x6FA0,
+ 3746: 0x6FA5,
+ 3747: 0x6FA6,
+ 3748: 0x6FA7,
+ 3749: 0x6FA8,
+ 3750: 0x6FAE,
+ 3751: 0x6FAF,
+ 3752: 0x6FB0,
+ 3753: 0x6FB5,
+ 3754: 0x6FB6,
+ 3755: 0x6FBC,
+ 3756: 0x6FC5,
+ 3757: 0x6FC7,
+ 3758: 0x6FC8,
+ 3759: 0x6FCA,
+ 3760: 0x6FDA,
+ 3761: 0x6FDE,
+ 3762: 0x6FE8,
+ 3763: 0x6FE9,
+ 3764: 0x6FF0,
+ 3765: 0x6FF5,
+ 3766: 0x6FF9,
+ 3767: 0x6FFC,
+ 3768: 0x6FFD,
+ 3769: 0x7000,
+ 3770: 0x7005,
+ 3771: 0x7006,
+ 3772: 0x7007,
+ 3773: 0x700D,
+ 3774: 0x7017,
+ 3775: 0x7020,
+ 3776: 0x7023,
+ 3777: 0x702F,
+ 3778: 0x7034,
+ 3779: 0x7037,
+ 3780: 0x7039,
+ 3781: 0x703C,
+ 3782: 0x7043,
+ 3783: 0x7044,
+ 3784: 0x7048,
+ 3785: 0x7049,
+ 3786: 0x704A,
+ 3787: 0x704B,
+ 3788: 0x7054,
+ 3789: 0x7055,
+ 3790: 0x705D,
+ 3791: 0x705E,
+ 3792: 0x704E,
+ 3793: 0x7064,
+ 3794: 0x7065,
+ 3795: 0x706C,
+ 3796: 0x706E,
+ 3797: 0x7075,
+ 3798: 0x7076,
+ 3799: 0x707E,
+ 3800: 0x7081,
+ 3801: 0x7085,
+ 3802: 0x7086,
+ 3803: 0x7094,
+ 3804: 0x7095,
+ 3805: 0x7096,
+ 3806: 0x7097,
+ 3807: 0x7098,
+ 3808: 0x709B,
+ 3809: 0x70A4,
+ 3810: 0x70AB,
+ 3811: 0x70B0,
+ 3812: 0x70B1,
+ 3813: 0x70B4,
+ 3814: 0x70B7,
+ 3815: 0x70CA,
+ 3816: 0x70D1,
+ 3817: 0x70D3,
+ 3818: 0x70D4,
+ 3819: 0x70D5,
+ 3820: 0x70D6,
+ 3821: 0x70D8,
+ 3822: 0x70DC,
+ 3823: 0x70E4,
+ 3824: 0x70FA,
+ 3825: 0x7103,
+ 3826: 0x7104,
+ 3827: 0x7105,
+ 3828: 0x7106,
+ 3829: 0x7107,
+ 3830: 0x710B,
+ 3831: 0x710C,
+ 3832: 0x710F,
+ 3833: 0x711E,
+ 3834: 0x7120,
+ 3835: 0x712B,
+ 3836: 0x712D,
+ 3837: 0x712F,
+ 3838: 0x7130,
+ 3839: 0x7131,
+ 3840: 0x7138,
+ 3841: 0x7141,
+ 3842: 0x7145,
+ 3843: 0x7146,
+ 3844: 0x7147,
+ 3845: 0x714A,
+ 3846: 0x714B,
+ 3847: 0x7150,
+ 3848: 0x7152,
+ 3849: 0x7157,
+ 3850: 0x715A,
+ 3851: 0x715C,
+ 3852: 0x715E,
+ 3853: 0x7160,
+ 3854: 0x7168,
+ 3855: 0x7179,
+ 3856: 0x7180,
+ 3857: 0x7185,
+ 3858: 0x7187,
+ 3859: 0x718C,
+ 3860: 0x7192,
+ 3861: 0x719A,
+ 3862: 0x719B,
+ 3863: 0x71A0,
+ 3864: 0x71A2,
+ 3865: 0x71AF,
+ 3866: 0x71B0,
+ 3867: 0x71B2,
+ 3868: 0x71B3,
+ 3869: 0x71BA,
+ 3870: 0x71BF,
+ 3871: 0x71C0,
+ 3872: 0x71C1,
+ 3873: 0x71C4,
+ 3874: 0x71CB,
+ 3875: 0x71CC,
+ 3876: 0x71D3,
+ 3877: 0x71D6,
+ 3878: 0x71D9,
+ 3879: 0x71DA,
+ 3880: 0x71DC,
+ 3881: 0x71F8,
+ 3882: 0x71FE,
+ 3883: 0x7200,
+ 3884: 0x7207,
+ 3885: 0x7208,
+ 3886: 0x7209,
+ 3887: 0x7213,
+ 3888: 0x7217,
+ 3889: 0x721A,
+ 3890: 0x721D,
+ 3891: 0x721F,
+ 3892: 0x7224,
+ 3893: 0x722B,
+ 3894: 0x722F,
+ 3895: 0x7234,
+ 3896: 0x7238,
+ 3897: 0x7239,
+ 3898: 0x7241,
+ 3899: 0x7242,
+ 3900: 0x7243,
+ 3901: 0x7245,
+ 3902: 0x724E,
+ 3903: 0x724F,
+ 3904: 0x7250,
+ 3905: 0x7253,
+ 3906: 0x7255,
+ 3907: 0x7256,
+ 3908: 0x725A,
+ 3909: 0x725C,
+ 3910: 0x725E,
+ 3911: 0x7260,
+ 3912: 0x7263,
+ 3913: 0x7268,
+ 3914: 0x726B,
+ 3915: 0x726E,
+ 3916: 0x726F,
+ 3917: 0x7271,
+ 3918: 0x7277,
+ 3919: 0x7278,
+ 3920: 0x727B,
+ 3921: 0x727C,
+ 3922: 0x727F,
+ 3923: 0x7284,
+ 3924: 0x7289,
+ 3925: 0x728D,
+ 3926: 0x728E,
+ 3927: 0x7293,
+ 3928: 0x729B,
+ 3929: 0x72A8,
+ 3930: 0x72AD,
+ 3931: 0x72AE,
+ 3932: 0x72B1,
+ 3933: 0x72B4,
+ 3934: 0x72BE,
+ 3935: 0x72C1,
+ 3936: 0x72C7,
+ 3937: 0x72C9,
+ 3938: 0x72CC,
+ 3939: 0x72D5,
+ 3940: 0x72D6,
+ 3941: 0x72D8,
+ 3942: 0x72DF,
+ 3943: 0x72E5,
+ 3944: 0x72F3,
+ 3945: 0x72F4,
+ 3946: 0x72FA,
+ 3947: 0x72FB,
+ 3948: 0x72FE,
+ 3949: 0x7302,
+ 3950: 0x7304,
+ 3951: 0x7305,
+ 3952: 0x7307,
+ 3953: 0x730B,
+ 3954: 0x730D,
+ 3955: 0x7312,
+ 3956: 0x7313,
+ 3957: 0x7318,
+ 3958: 0x7319,
+ 3959: 0x731E,
+ 3960: 0x7322,
+ 3961: 0x7324,
+ 3962: 0x7327,
+ 3963: 0x7328,
+ 3964: 0x732C,
+ 3965: 0x7331,
+ 3966: 0x7332,
+ 3967: 0x7335,
+ 3968: 0x733A,
+ 3969: 0x733B,
+ 3970: 0x733D,
+ 3971: 0x7343,
+ 3972: 0x734D,
+ 3973: 0x7350,
+ 3974: 0x7352,
+ 3975: 0x7356,
+ 3976: 0x7358,
+ 3977: 0x735D,
+ 3978: 0x735E,
+ 3979: 0x735F,
+ 3980: 0x7360,
+ 3981: 0x7366,
+ 3982: 0x7367,
+ 3983: 0x7369,
+ 3984: 0x736B,
+ 3985: 0x736C,
+ 3986: 0x736E,
+ 3987: 0x736F,
+ 3988: 0x7371,
+ 3989: 0x7377,
+ 3990: 0x7379,
+ 3991: 0x737C,
+ 3992: 0x7380,
+ 3993: 0x7381,
+ 3994: 0x7383,
+ 3995: 0x7385,
+ 3996: 0x7386,
+ 3997: 0x738E,
+ 3998: 0x7390,
+ 3999: 0x7393,
+ 4000: 0x7395,
+ 4001: 0x7397,
+ 4002: 0x7398,
+ 4003: 0x739C,
+ 4004: 0x739E,
+ 4005: 0x739F,
+ 4006: 0x73A0,
+ 4007: 0x73A2,
+ 4008: 0x73A5,
+ 4009: 0x73A6,
+ 4010: 0x73AA,
+ 4011: 0x73AB,
+ 4012: 0x73AD,
+ 4013: 0x73B5,
+ 4014: 0x73B7,
+ 4015: 0x73B9,
+ 4016: 0x73BC,
+ 4017: 0x73BD,
+ 4018: 0x73BF,
+ 4019: 0x73C5,
+ 4020: 0x73C6,
+ 4021: 0x73C9,
+ 4022: 0x73CB,
+ 4023: 0x73CC,
+ 4024: 0x73CF,
+ 4025: 0x73D2,
+ 4026: 0x73D3,
+ 4027: 0x73D6,
+ 4028: 0x73D9,
+ 4029: 0x73DD,
+ 4030: 0x73E1,
+ 4031: 0x73E3,
+ 4032: 0x73E6,
+ 4033: 0x73E7,
+ 4034: 0x73E9,
+ 4035: 0x73F4,
+ 4036: 0x73F5,
+ 4037: 0x73F7,
+ 4038: 0x73F9,
+ 4039: 0x73FA,
+ 4040: 0x73FB,
+ 4041: 0x73FD,
+ 4042: 0x73FF,
+ 4043: 0x7400,
+ 4044: 0x7401,
+ 4045: 0x7404,
+ 4046: 0x7407,
+ 4047: 0x740A,
+ 4048: 0x7411,
+ 4049: 0x741A,
+ 4050: 0x741B,
+ 4051: 0x7424,
+ 4052: 0x7426,
+ 4053: 0x7428,
+ 4054: 0x7429,
+ 4055: 0x742A,
+ 4056: 0x742B,
+ 4057: 0x742C,
+ 4058: 0x742D,
+ 4059: 0x742E,
+ 4060: 0x742F,
+ 4061: 0x7430,
+ 4062: 0x7431,
+ 4063: 0x7439,
+ 4064: 0x7440,
+ 4065: 0x7443,
+ 4066: 0x7444,
+ 4067: 0x7446,
+ 4068: 0x7447,
+ 4069: 0x744B,
+ 4070: 0x744D,
+ 4071: 0x7451,
+ 4072: 0x7452,
+ 4073: 0x7457,
+ 4074: 0x745D,
+ 4075: 0x7462,
+ 4076: 0x7466,
+ 4077: 0x7467,
+ 4078: 0x7468,
+ 4079: 0x746B,
+ 4080: 0x746D,
+ 4081: 0x746E,
+ 4082: 0x7471,
+ 4083: 0x7472,
+ 4084: 0x7480,
+ 4085: 0x7481,
+ 4086: 0x7485,
+ 4087: 0x7486,
+ 4088: 0x7487,
+ 4089: 0x7489,
+ 4090: 0x748F,
+ 4091: 0x7490,
+ 4092: 0x7491,
+ 4093: 0x7492,
+ 4094: 0x7498,
+ 4095: 0x7499,
+ 4096: 0x749A,
+ 4097: 0x749C,
+ 4098: 0x749F,
+ 4099: 0x74A0,
+ 4100: 0x74A1,
+ 4101: 0x74A3,
+ 4102: 0x74A6,
+ 4103: 0x74A8,
+ 4104: 0x74A9,
+ 4105: 0x74AA,
+ 4106: 0x74AB,
+ 4107: 0x74AE,
+ 4108: 0x74AF,
+ 4109: 0x74B1,
+ 4110: 0x74B2,
+ 4111: 0x74B5,
+ 4112: 0x74B9,
+ 4113: 0x74BB,
+ 4114: 0x74BF,
+ 4115: 0x74C8,
+ 4116: 0x74C9,
+ 4117: 0x74CC,
+ 4118: 0x74D0,
+ 4119: 0x74D3,
+ 4120: 0x74D8,
+ 4121: 0x74DA,
+ 4122: 0x74DB,
+ 4123: 0x74DE,
+ 4124: 0x74DF,
+ 4125: 0x74E4,
+ 4126: 0x74E8,
+ 4127: 0x74EA,
+ 4128: 0x74EB,
+ 4129: 0x74EF,
+ 4130: 0x74F4,
+ 4131: 0x74FA,
+ 4132: 0x74FB,
+ 4133: 0x74FC,
+ 4134: 0x74FF,
+ 4135: 0x7506,
+ 4136: 0x7512,
+ 4137: 0x7516,
+ 4138: 0x7517,
+ 4139: 0x7520,
+ 4140: 0x7521,
+ 4141: 0x7524,
+ 4142: 0x7527,
+ 4143: 0x7529,
+ 4144: 0x752A,
+ 4145: 0x752F,
+ 4146: 0x7536,
+ 4147: 0x7539,
+ 4148: 0x753D,
+ 4149: 0x753E,
+ 4150: 0x753F,
+ 4151: 0x7540,
+ 4152: 0x7543,
+ 4153: 0x7547,
+ 4154: 0x7548,
+ 4155: 0x754E,
+ 4156: 0x7550,
+ 4157: 0x7552,
+ 4158: 0x7557,
+ 4159: 0x755E,
+ 4160: 0x755F,
+ 4161: 0x7561,
+ 4162: 0x756F,
+ 4163: 0x7571,
+ 4164: 0x7579,
+ 4165: 0x757A,
+ 4166: 0x757B,
+ 4167: 0x757C,
+ 4168: 0x757D,
+ 4169: 0x757E,
+ 4170: 0x7581,
+ 4171: 0x7585,
+ 4172: 0x7590,
+ 4173: 0x7592,
+ 4174: 0x7593,
+ 4175: 0x7595,
+ 4176: 0x7599,
+ 4177: 0x759C,
+ 4178: 0x75A2,
+ 4179: 0x75A4,
+ 4180: 0x75B4,
+ 4181: 0x75BA,
+ 4182: 0x75BF,
+ 4183: 0x75C0,
+ 4184: 0x75C1,
+ 4185: 0x75C4,
+ 4186: 0x75C6,
+ 4187: 0x75CC,
+ 4188: 0x75CE,
+ 4189: 0x75CF,
+ 4190: 0x75D7,
+ 4191: 0x75DC,
+ 4192: 0x75DF,
+ 4193: 0x75E0,
+ 4194: 0x75E1,
+ 4195: 0x75E4,
+ 4196: 0x75E7,
+ 4197: 0x75EC,
+ 4198: 0x75EE,
+ 4199: 0x75EF,
+ 4200: 0x75F1,
+ 4201: 0x75F9,
+ 4202: 0x7600,
+ 4203: 0x7602,
+ 4204: 0x7603,
+ 4205: 0x7604,
+ 4206: 0x7607,
+ 4207: 0x7608,
+ 4208: 0x760A,
+ 4209: 0x760C,
+ 4210: 0x760F,
+ 4211: 0x7612,
+ 4212: 0x7613,
+ 4213: 0x7615,
+ 4214: 0x7616,
+ 4215: 0x7619,
+ 4216: 0x761B,
+ 4217: 0x761C,
+ 4218: 0x761D,
+ 4219: 0x761E,
+ 4220: 0x7623,
+ 4221: 0x7625,
+ 4222: 0x7626,
+ 4223: 0x7629,
+ 4224: 0x762D,
+ 4225: 0x7632,
+ 4226: 0x7633,
+ 4227: 0x7635,
+ 4228: 0x7638,
+ 4229: 0x7639,
+ 4230: 0x763A,
+ 4231: 0x763C,
+ 4232: 0x764A,
+ 4233: 0x7640,
+ 4234: 0x7641,
+ 4235: 0x7643,
+ 4236: 0x7644,
+ 4237: 0x7645,
+ 4238: 0x7649,
+ 4239: 0x764B,
+ 4240: 0x7655,
+ 4241: 0x7659,
+ 4242: 0x765F,
+ 4243: 0x7664,
+ 4244: 0x7665,
+ 4245: 0x766D,
+ 4246: 0x766E,
+ 4247: 0x766F,
+ 4248: 0x7671,
+ 4249: 0x7674,
+ 4250: 0x7681,
+ 4251: 0x7685,
+ 4252: 0x768C,
+ 4253: 0x768D,
+ 4254: 0x7695,
+ 4255: 0x769B,
+ 4256: 0x769C,
+ 4257: 0x769D,
+ 4258: 0x769F,
+ 4259: 0x76A0,
+ 4260: 0x76A2,
+ 4261: 0x76A3,
+ 4262: 0x76A4,
+ 4263: 0x76A5,
+ 4264: 0x76A6,
+ 4265: 0x76A7,
+ 4266: 0x76A8,
+ 4267: 0x76AA,
+ 4268: 0x76AD,
+ 4269: 0x76BD,
+ 4270: 0x76C1,
+ 4271: 0x76C5,
+ 4272: 0x76C9,
+ 4273: 0x76CB,
+ 4274: 0x76CC,
+ 4275: 0x76CE,
+ 4276: 0x76D4,
+ 4277: 0x76D9,
+ 4278: 0x76E0,
+ 4279: 0x76E6,
+ 4280: 0x76E8,
+ 4281: 0x76EC,
+ 4282: 0x76F0,
+ 4283: 0x76F1,
+ 4284: 0x76F6,
+ 4285: 0x76F9,
+ 4286: 0x76FC,
+ 4287: 0x7700,
+ 4288: 0x7706,
+ 4289: 0x770A,
+ 4290: 0x770E,
+ 4291: 0x7712,
+ 4292: 0x7714,
+ 4293: 0x7715,
+ 4294: 0x7717,
+ 4295: 0x7719,
+ 4296: 0x771A,
+ 4297: 0x771C,
+ 4298: 0x7722,
+ 4299: 0x7728,
+ 4300: 0x772D,
+ 4301: 0x772E,
+ 4302: 0x772F,
+ 4303: 0x7734,
+ 4304: 0x7735,
+ 4305: 0x7736,
+ 4306: 0x7739,
+ 4307: 0x773D,
+ 4308: 0x773E,
+ 4309: 0x7742,
+ 4310: 0x7745,
+ 4311: 0x7746,
+ 4312: 0x774A,
+ 4313: 0x774D,
+ 4314: 0x774E,
+ 4315: 0x774F,
+ 4316: 0x7752,
+ 4317: 0x7756,
+ 4318: 0x7757,
+ 4319: 0x775C,
+ 4320: 0x775E,
+ 4321: 0x775F,
+ 4322: 0x7760,
+ 4323: 0x7762,
+ 4324: 0x7764,
+ 4325: 0x7767,
+ 4326: 0x776A,
+ 4327: 0x776C,
+ 4328: 0x7770,
+ 4329: 0x7772,
+ 4330: 0x7773,
+ 4331: 0x7774,
+ 4332: 0x777A,
+ 4333: 0x777D,
+ 4334: 0x7780,
+ 4335: 0x7784,
+ 4336: 0x778C,
+ 4337: 0x778D,
+ 4338: 0x7794,
+ 4339: 0x7795,
+ 4340: 0x7796,
+ 4341: 0x779A,
+ 4342: 0x779F,
+ 4343: 0x77A2,
+ 4344: 0x77A7,
+ 4345: 0x77AA,
+ 4346: 0x77AE,
+ 4347: 0x77AF,
+ 4348: 0x77B1,
+ 4349: 0x77B5,
+ 4350: 0x77BE,
+ 4351: 0x77C3,
+ 4352: 0x77C9,
+ 4353: 0x77D1,
+ 4354: 0x77D2,
+ 4355: 0x77D5,
+ 4356: 0x77D9,
+ 4357: 0x77DE,
+ 4358: 0x77DF,
+ 4359: 0x77E0,
+ 4360: 0x77E4,
+ 4361: 0x77E6,
+ 4362: 0x77EA,
+ 4363: 0x77EC,
+ 4364: 0x77F0,
+ 4365: 0x77F1,
+ 4366: 0x77F4,
+ 4367: 0x77F8,
+ 4368: 0x77FB,
+ 4369: 0x7805,
+ 4370: 0x7806,
+ 4371: 0x7809,
+ 4372: 0x780D,
+ 4373: 0x780E,
+ 4374: 0x7811,
+ 4375: 0x781D,
+ 4376: 0x7821,
+ 4377: 0x7822,
+ 4378: 0x7823,
+ 4379: 0x782D,
+ 4380: 0x782E,
+ 4381: 0x7830,
+ 4382: 0x7835,
+ 4383: 0x7837,
+ 4384: 0x7843,
+ 4385: 0x7844,
+ 4386: 0x7847,
+ 4387: 0x7848,
+ 4388: 0x784C,
+ 4389: 0x784E,
+ 4390: 0x7852,
+ 4391: 0x785C,
+ 4392: 0x785E,
+ 4393: 0x7860,
+ 4394: 0x7861,
+ 4395: 0x7863,
+ 4396: 0x7864,
+ 4397: 0x7868,
+ 4398: 0x786A,
+ 4399: 0x786E,
+ 4400: 0x787A,
+ 4401: 0x787E,
+ 4402: 0x788A,
+ 4403: 0x788F,
+ 4404: 0x7894,
+ 4405: 0x7898,
+ 4406: 0x78A1,
+ 4407: 0x789D,
+ 4408: 0x789E,
+ 4409: 0x789F,
+ 4410: 0x78A4,
+ 4411: 0x78A8,
+ 4412: 0x78AC,
+ 4413: 0x78AD,
+ 4414: 0x78B0,
+ 4415: 0x78B1,
+ 4416: 0x78B2,
+ 4417: 0x78B3,
+ 4418: 0x78BB,
+ 4419: 0x78BD,
+ 4420: 0x78BF,
+ 4421: 0x78C7,
+ 4422: 0x78C8,
+ 4423: 0x78C9,
+ 4424: 0x78CC,
+ 4425: 0x78CE,
+ 4426: 0x78D2,
+ 4427: 0x78D3,
+ 4428: 0x78D5,
+ 4429: 0x78D6,
+ 4430: 0x78E4,
+ 4431: 0x78DB,
+ 4432: 0x78DF,
+ 4433: 0x78E0,
+ 4434: 0x78E1,
+ 4435: 0x78E6,
+ 4436: 0x78EA,
+ 4437: 0x78F2,
+ 4438: 0x78F3,
+ 4439: 0x7900,
+ 4440: 0x78F6,
+ 4441: 0x78F7,
+ 4442: 0x78FA,
+ 4443: 0x78FB,
+ 4444: 0x78FF,
+ 4445: 0x7906,
+ 4446: 0x790C,
+ 4447: 0x7910,
+ 4448: 0x791A,
+ 4449: 0x791C,
+ 4450: 0x791E,
+ 4451: 0x791F,
+ 4452: 0x7920,
+ 4453: 0x7925,
+ 4454: 0x7927,
+ 4455: 0x7929,
+ 4456: 0x792D,
+ 4457: 0x7931,
+ 4458: 0x7934,
+ 4459: 0x7935,
+ 4460: 0x793B,
+ 4461: 0x793D,
+ 4462: 0x793F,
+ 4463: 0x7944,
+ 4464: 0x7945,
+ 4465: 0x7946,
+ 4466: 0x794A,
+ 4467: 0x794B,
+ 4468: 0x794F,
+ 4469: 0x7951,
+ 4470: 0x7954,
+ 4471: 0x7958,
+ 4472: 0x795B,
+ 4473: 0x795C,
+ 4474: 0x7967,
+ 4475: 0x7969,
+ 4476: 0x796B,
+ 4477: 0x7972,
+ 4478: 0x7979,
+ 4479: 0x797B,
+ 4480: 0x797C,
+ 4481: 0x797E,
+ 4482: 0x798B,
+ 4483: 0x798C,
+ 4484: 0x7991,
+ 4485: 0x7993,
+ 4486: 0x7994,
+ 4487: 0x7995,
+ 4488: 0x7996,
+ 4489: 0x7998,
+ 4490: 0x799B,
+ 4491: 0x799C,
+ 4492: 0x79A1,
+ 4493: 0x79A8,
+ 4494: 0x79A9,
+ 4495: 0x79AB,
+ 4496: 0x79AF,
+ 4497: 0x79B1,
+ 4498: 0x79B4,
+ 4499: 0x79B8,
+ 4500: 0x79BB,
+ 4501: 0x79C2,
+ 4502: 0x79C4,
+ 4503: 0x79C7,
+ 4504: 0x79C8,
+ 4505: 0x79CA,
+ 4506: 0x79CF,
+ 4507: 0x79D4,
+ 4508: 0x79D6,
+ 4509: 0x79DA,
+ 4510: 0x79DD,
+ 4511: 0x79DE,
+ 4512: 0x79E0,
+ 4513: 0x79E2,
+ 4514: 0x79E5,
+ 4515: 0x79EA,
+ 4516: 0x79EB,
+ 4517: 0x79ED,
+ 4518: 0x79F1,
+ 4519: 0x79F8,
+ 4520: 0x79FC,
+ 4521: 0x7A02,
+ 4522: 0x7A03,
+ 4523: 0x7A07,
+ 4524: 0x7A09,
+ 4525: 0x7A0A,
+ 4526: 0x7A0C,
+ 4527: 0x7A11,
+ 4528: 0x7A15,
+ 4529: 0x7A1B,
+ 4530: 0x7A1E,
+ 4531: 0x7A21,
+ 4532: 0x7A27,
+ 4533: 0x7A2B,
+ 4534: 0x7A2D,
+ 4535: 0x7A2F,
+ 4536: 0x7A30,
+ 4537: 0x7A34,
+ 4538: 0x7A35,
+ 4539: 0x7A38,
+ 4540: 0x7A39,
+ 4541: 0x7A3A,
+ 4542: 0x7A44,
+ 4543: 0x7A45,
+ 4544: 0x7A47,
+ 4545: 0x7A48,
+ 4546: 0x7A4C,
+ 4547: 0x7A55,
+ 4548: 0x7A56,
+ 4549: 0x7A59,
+ 4550: 0x7A5C,
+ 4551: 0x7A5D,
+ 4552: 0x7A5F,
+ 4553: 0x7A60,
+ 4554: 0x7A65,
+ 4555: 0x7A67,
+ 4556: 0x7A6A,
+ 4557: 0x7A6D,
+ 4558: 0x7A75,
+ 4559: 0x7A78,
+ 4560: 0x7A7E,
+ 4561: 0x7A80,
+ 4562: 0x7A82,
+ 4563: 0x7A85,
+ 4564: 0x7A86,
+ 4565: 0x7A8A,
+ 4566: 0x7A8B,
+ 4567: 0x7A90,
+ 4568: 0x7A91,
+ 4569: 0x7A94,
+ 4570: 0x7A9E,
+ 4571: 0x7AA0,
+ 4572: 0x7AA3,
+ 4573: 0x7AAC,
+ 4574: 0x7AB3,
+ 4575: 0x7AB5,
+ 4576: 0x7AB9,
+ 4577: 0x7ABB,
+ 4578: 0x7ABC,
+ 4579: 0x7AC6,
+ 4580: 0x7AC9,
+ 4581: 0x7ACC,
+ 4582: 0x7ACE,
+ 4583: 0x7AD1,
+ 4584: 0x7ADB,
+ 4585: 0x7AE8,
+ 4586: 0x7AE9,
+ 4587: 0x7AEB,
+ 4588: 0x7AEC,
+ 4589: 0x7AF1,
+ 4590: 0x7AF4,
+ 4591: 0x7AFB,
+ 4592: 0x7AFD,
+ 4593: 0x7AFE,
+ 4594: 0x7B07,
+ 4595: 0x7B14,
+ 4596: 0x7B1F,
+ 4597: 0x7B23,
+ 4598: 0x7B27,
+ 4599: 0x7B29,
+ 4600: 0x7B2A,
+ 4601: 0x7B2B,
+ 4602: 0x7B2D,
+ 4603: 0x7B2E,
+ 4604: 0x7B2F,
+ 4605: 0x7B30,
+ 4606: 0x7B31,
+ 4607: 0x7B34,
+ 4608: 0x7B3D,
+ 4609: 0x7B3F,
+ 4610: 0x7B40,
+ 4611: 0x7B41,
+ 4612: 0x7B47,
+ 4613: 0x7B4E,
+ 4614: 0x7B55,
+ 4615: 0x7B60,
+ 4616: 0x7B64,
+ 4617: 0x7B66,
+ 4618: 0x7B69,
+ 4619: 0x7B6A,
+ 4620: 0x7B6D,
+ 4621: 0x7B6F,
+ 4622: 0x7B72,
+ 4623: 0x7B73,
+ 4624: 0x7B77,
+ 4625: 0x7B84,
+ 4626: 0x7B89,
+ 4627: 0x7B8E,
+ 4628: 0x7B90,
+ 4629: 0x7B91,
+ 4630: 0x7B96,
+ 4631: 0x7B9B,
+ 4632: 0x7B9E,
+ 4633: 0x7BA0,
+ 4634: 0x7BA5,
+ 4635: 0x7BAC,
+ 4636: 0x7BAF,
+ 4637: 0x7BB0,
+ 4638: 0x7BB2,
+ 4639: 0x7BB5,
+ 4640: 0x7BB6,
+ 4641: 0x7BBA,
+ 4642: 0x7BBB,
+ 4643: 0x7BBC,
+ 4644: 0x7BBD,
+ 4645: 0x7BC2,
+ 4646: 0x7BC5,
+ 4647: 0x7BC8,
+ 4648: 0x7BCA,
+ 4649: 0x7BD4,
+ 4650: 0x7BD6,
+ 4651: 0x7BD7,
+ 4652: 0x7BD9,
+ 4653: 0x7BDA,
+ 4654: 0x7BDB,
+ 4655: 0x7BE8,
+ 4656: 0x7BEA,
+ 4657: 0x7BF2,
+ 4658: 0x7BF4,
+ 4659: 0x7BF5,
+ 4660: 0x7BF8,
+ 4661: 0x7BF9,
+ 4662: 0x7BFA,
+ 4663: 0x7BFC,
+ 4664: 0x7BFE,
+ 4665: 0x7C01,
+ 4666: 0x7C02,
+ 4667: 0x7C03,
+ 4668: 0x7C04,
+ 4669: 0x7C06,
+ 4670: 0x7C09,
+ 4671: 0x7C0B,
+ 4672: 0x7C0C,
+ 4673: 0x7C0E,
+ 4674: 0x7C0F,
+ 4675: 0x7C19,
+ 4676: 0x7C1B,
+ 4677: 0x7C20,
+ 4678: 0x7C25,
+ 4679: 0x7C26,
+ 4680: 0x7C28,
+ 4681: 0x7C2C,
+ 4682: 0x7C31,
+ 4683: 0x7C33,
+ 4684: 0x7C34,
+ 4685: 0x7C36,
+ 4686: 0x7C39,
+ 4687: 0x7C3A,
+ 4688: 0x7C46,
+ 4689: 0x7C4A,
+ 4690: 0x7C55,
+ 4691: 0x7C51,
+ 4692: 0x7C52,
+ 4693: 0x7C53,
+ 4694: 0x7C59,
+ 4695: 0x7C5A,
+ 4696: 0x7C5B,
+ 4697: 0x7C5C,
+ 4698: 0x7C5D,
+ 4699: 0x7C5E,
+ 4700: 0x7C61,
+ 4701: 0x7C63,
+ 4702: 0x7C67,
+ 4703: 0x7C69,
+ 4704: 0x7C6D,
+ 4705: 0x7C6E,
+ 4706: 0x7C70,
+ 4707: 0x7C72,
+ 4708: 0x7C79,
+ 4709: 0x7C7C,
+ 4710: 0x7C7D,
+ 4711: 0x7C86,
+ 4712: 0x7C87,
+ 4713: 0x7C8F,
+ 4714: 0x7C94,
+ 4715: 0x7C9E,
+ 4716: 0x7CA0,
+ 4717: 0x7CA6,
+ 4718: 0x7CB0,
+ 4719: 0x7CB6,
+ 4720: 0x7CB7,
+ 4721: 0x7CBA,
+ 4722: 0x7CBB,
+ 4723: 0x7CBC,
+ 4724: 0x7CBF,
+ 4725: 0x7CC4,
+ 4726: 0x7CC7,
+ 4727: 0x7CC8,
+ 4728: 0x7CC9,
+ 4729: 0x7CCD,
+ 4730: 0x7CCF,
+ 4731: 0x7CD3,
+ 4732: 0x7CD4,
+ 4733: 0x7CD5,
+ 4734: 0x7CD7,
+ 4735: 0x7CD9,
+ 4736: 0x7CDA,
+ 4737: 0x7CDD,
+ 4738: 0x7CE6,
+ 4739: 0x7CE9,
+ 4740: 0x7CEB,
+ 4741: 0x7CF5,
+ 4742: 0x7D03,
+ 4743: 0x7D07,
+ 4744: 0x7D08,
+ 4745: 0x7D09,
+ 4746: 0x7D0F,
+ 4747: 0x7D11,
+ 4748: 0x7D12,
+ 4749: 0x7D13,
+ 4750: 0x7D16,
+ 4751: 0x7D1D,
+ 4752: 0x7D1E,
+ 4753: 0x7D23,
+ 4754: 0x7D26,
+ 4755: 0x7D2A,
+ 4756: 0x7D2D,
+ 4757: 0x7D31,
+ 4758: 0x7D3C,
+ 4759: 0x7D3D,
+ 4760: 0x7D3E,
+ 4761: 0x7D40,
+ 4762: 0x7D41,
+ 4763: 0x7D47,
+ 4764: 0x7D48,
+ 4765: 0x7D4D,
+ 4766: 0x7D51,
+ 4767: 0x7D53,
+ 4768: 0x7D57,
+ 4769: 0x7D59,
+ 4770: 0x7D5A,
+ 4771: 0x7D5C,
+ 4772: 0x7D5D,
+ 4773: 0x7D65,
+ 4774: 0x7D67,
+ 4775: 0x7D6A,
+ 4776: 0x7D70,
+ 4777: 0x7D78,
+ 4778: 0x7D7A,
+ 4779: 0x7D7B,
+ 4780: 0x7D7F,
+ 4781: 0x7D81,
+ 4782: 0x7D82,
+ 4783: 0x7D83,
+ 4784: 0x7D85,
+ 4785: 0x7D86,
+ 4786: 0x7D88,
+ 4787: 0x7D8B,
+ 4788: 0x7D8C,
+ 4789: 0x7D8D,
+ 4790: 0x7D91,
+ 4791: 0x7D96,
+ 4792: 0x7D97,
+ 4793: 0x7D9D,
+ 4794: 0x7D9E,
+ 4795: 0x7DA6,
+ 4796: 0x7DA7,
+ 4797: 0x7DAA,
+ 4798: 0x7DB3,
+ 4799: 0x7DB6,
+ 4800: 0x7DB7,
+ 4801: 0x7DB9,
+ 4802: 0x7DC2,
+ 4803: 0x7DC3,
+ 4804: 0x7DC4,
+ 4805: 0x7DC5,
+ 4806: 0x7DC6,
+ 4807: 0x7DCC,
+ 4808: 0x7DCD,
+ 4809: 0x7DCE,
+ 4810: 0x7DD7,
+ 4811: 0x7DD9,
+ 4812: 0x7E00,
+ 4813: 0x7DE2,
+ 4814: 0x7DE5,
+ 4815: 0x7DE6,
+ 4816: 0x7DEA,
+ 4817: 0x7DEB,
+ 4818: 0x7DED,
+ 4819: 0x7DF1,
+ 4820: 0x7DF5,
+ 4821: 0x7DF6,
+ 4822: 0x7DF9,
+ 4823: 0x7DFA,
+ 4824: 0x7E08,
+ 4825: 0x7E10,
+ 4826: 0x7E11,
+ 4827: 0x7E15,
+ 4828: 0x7E17,
+ 4829: 0x7E1C,
+ 4830: 0x7E1D,
+ 4831: 0x7E20,
+ 4832: 0x7E27,
+ 4833: 0x7E28,
+ 4834: 0x7E2C,
+ 4835: 0x7E2D,
+ 4836: 0x7E2F,
+ 4837: 0x7E33,
+ 4838: 0x7E36,
+ 4839: 0x7E3F,
+ 4840: 0x7E44,
+ 4841: 0x7E45,
+ 4842: 0x7E47,
+ 4843: 0x7E4E,
+ 4844: 0x7E50,
+ 4845: 0x7E52,
+ 4846: 0x7E58,
+ 4847: 0x7E5F,
+ 4848: 0x7E61,
+ 4849: 0x7E62,
+ 4850: 0x7E65,
+ 4851: 0x7E6B,
+ 4852: 0x7E6E,
+ 4853: 0x7E6F,
+ 4854: 0x7E73,
+ 4855: 0x7E78,
+ 4856: 0x7E7E,
+ 4857: 0x7E81,
+ 4858: 0x7E86,
+ 4859: 0x7E87,
+ 4860: 0x7E8A,
+ 4861: 0x7E8D,
+ 4862: 0x7E91,
+ 4863: 0x7E95,
+ 4864: 0x7E98,
+ 4865: 0x7E9A,
+ 4866: 0x7E9D,
+ 4867: 0x7E9E,
+ 4868: 0x7F3C,
+ 4869: 0x7F3B,
+ 4870: 0x7F3D,
+ 4871: 0x7F3E,
+ 4872: 0x7F3F,
+ 4873: 0x7F43,
+ 4874: 0x7F44,
+ 4875: 0x7F47,
+ 4876: 0x7F4F,
+ 4877: 0x7F52,
+ 4878: 0x7F53,
+ 4879: 0x7F5B,
+ 4880: 0x7F5C,
+ 4881: 0x7F5D,
+ 4882: 0x7F61,
+ 4883: 0x7F63,
+ 4884: 0x7F64,
+ 4885: 0x7F65,
+ 4886: 0x7F66,
+ 4887: 0x7F6D,
+ 4888: 0x7F71,
+ 4889: 0x7F7D,
+ 4890: 0x7F7E,
+ 4891: 0x7F7F,
+ 4892: 0x7F80,
+ 4893: 0x7F8B,
+ 4894: 0x7F8D,
+ 4895: 0x7F8F,
+ 4896: 0x7F90,
+ 4897: 0x7F91,
+ 4898: 0x7F96,
+ 4899: 0x7F97,
+ 4900: 0x7F9C,
+ 4901: 0x7FA1,
+ 4902: 0x7FA2,
+ 4903: 0x7FA6,
+ 4904: 0x7FAA,
+ 4905: 0x7FAD,
+ 4906: 0x7FB4,
+ 4907: 0x7FBC,
+ 4908: 0x7FBF,
+ 4909: 0x7FC0,
+ 4910: 0x7FC3,
+ 4911: 0x7FC8,
+ 4912: 0x7FCE,
+ 4913: 0x7FCF,
+ 4914: 0x7FDB,
+ 4915: 0x7FDF,
+ 4916: 0x7FE3,
+ 4917: 0x7FE5,
+ 4918: 0x7FE8,
+ 4919: 0x7FEC,
+ 4920: 0x7FEE,
+ 4921: 0x7FEF,
+ 4922: 0x7FF2,
+ 4923: 0x7FFA,
+ 4924: 0x7FFD,
+ 4925: 0x7FFE,
+ 4926: 0x7FFF,
+ 4927: 0x8007,
+ 4928: 0x8008,
+ 4929: 0x800A,
+ 4930: 0x800D,
+ 4931: 0x800E,
+ 4932: 0x800F,
+ 4933: 0x8011,
+ 4934: 0x8013,
+ 4935: 0x8014,
+ 4936: 0x8016,
+ 4937: 0x801D,
+ 4938: 0x801E,
+ 4939: 0x801F,
+ 4940: 0x8020,
+ 4941: 0x8024,
+ 4942: 0x8026,
+ 4943: 0x802C,
+ 4944: 0x802E,
+ 4945: 0x8030,
+ 4946: 0x8034,
+ 4947: 0x8035,
+ 4948: 0x8037,
+ 4949: 0x8039,
+ 4950: 0x803A,
+ 4951: 0x803C,
+ 4952: 0x803E,
+ 4953: 0x8040,
+ 4954: 0x8044,
+ 4955: 0x8060,
+ 4956: 0x8064,
+ 4957: 0x8066,
+ 4958: 0x806D,
+ 4959: 0x8071,
+ 4960: 0x8075,
+ 4961: 0x8081,
+ 4962: 0x8088,
+ 4963: 0x808E,
+ 4964: 0x809C,
+ 4965: 0x809E,
+ 4966: 0x80A6,
+ 4967: 0x80A7,
+ 4968: 0x80AB,
+ 4969: 0x80B8,
+ 4970: 0x80B9,
+ 4971: 0x80C8,
+ 4972: 0x80CD,
+ 4973: 0x80CF,
+ 4974: 0x80D2,
+ 4975: 0x80D4,
+ 4976: 0x80D5,
+ 4977: 0x80D7,
+ 4978: 0x80D8,
+ 4979: 0x80E0,
+ 4980: 0x80ED,
+ 4981: 0x80EE,
+ 4982: 0x80F0,
+ 4983: 0x80F2,
+ 4984: 0x80F3,
+ 4985: 0x80F6,
+ 4986: 0x80F9,
+ 4987: 0x80FA,
+ 4988: 0x80FE,
+ 4989: 0x8103,
+ 4990: 0x810B,
+ 4991: 0x8116,
+ 4992: 0x8117,
+ 4993: 0x8118,
+ 4994: 0x811C,
+ 4995: 0x811E,
+ 4996: 0x8120,
+ 4997: 0x8124,
+ 4998: 0x8127,
+ 4999: 0x812C,
+ 5000: 0x8130,
+ 5001: 0x8135,
+ 5002: 0x813A,
+ 5003: 0x813C,
+ 5004: 0x8145,
+ 5005: 0x8147,
+ 5006: 0x814A,
+ 5007: 0x814C,
+ 5008: 0x8152,
+ 5009: 0x8157,
+ 5010: 0x8160,
+ 5011: 0x8161,
+ 5012: 0x8167,
+ 5013: 0x8168,
+ 5014: 0x8169,
+ 5015: 0x816D,
+ 5016: 0x816F,
+ 5017: 0x8177,
+ 5018: 0x8181,
+ 5019: 0x8190,
+ 5020: 0x8184,
+ 5021: 0x8185,
+ 5022: 0x8186,
+ 5023: 0x818B,
+ 5024: 0x818E,
+ 5025: 0x8196,
+ 5026: 0x8198,
+ 5027: 0x819B,
+ 5028: 0x819E,
+ 5029: 0x81A2,
+ 5030: 0x81AE,
+ 5031: 0x81B2,
+ 5032: 0x81B4,
+ 5033: 0x81BB,
+ 5034: 0x81CB,
+ 5035: 0x81C3,
+ 5036: 0x81C5,
+ 5037: 0x81CA,
+ 5038: 0x81CE,
+ 5039: 0x81CF,
+ 5040: 0x81D5,
+ 5041: 0x81D7,
+ 5042: 0x81DB,
+ 5043: 0x81DD,
+ 5044: 0x81DE,
+ 5045: 0x81E1,
+ 5046: 0x81E4,
+ 5047: 0x81EB,
+ 5048: 0x81EC,
+ 5049: 0x81F0,
+ 5050: 0x81F1,
+ 5051: 0x81F2,
+ 5052: 0x81F5,
+ 5053: 0x81F6,
+ 5054: 0x81F8,
+ 5055: 0x81F9,
+ 5056: 0x81FD,
+ 5057: 0x81FF,
+ 5058: 0x8200,
+ 5059: 0x8203,
+ 5060: 0x820F,
+ 5061: 0x8213,
+ 5062: 0x8214,
+ 5063: 0x8219,
+ 5064: 0x821A,
+ 5065: 0x821D,
+ 5066: 0x8221,
+ 5067: 0x8222,
+ 5068: 0x8228,
+ 5069: 0x8232,
+ 5070: 0x8234,
+ 5071: 0x823A,
+ 5072: 0x8243,
+ 5073: 0x8244,
+ 5074: 0x8245,
+ 5075: 0x8246,
+ 5076: 0x824B,
+ 5077: 0x824E,
+ 5078: 0x824F,
+ 5079: 0x8251,
+ 5080: 0x8256,
+ 5081: 0x825C,
+ 5082: 0x8260,
+ 5083: 0x8263,
+ 5084: 0x8267,
+ 5085: 0x826D,
+ 5086: 0x8274,
+ 5087: 0x827B,
+ 5088: 0x827D,
+ 5089: 0x827F,
+ 5090: 0x8280,
+ 5091: 0x8281,
+ 5092: 0x8283,
+ 5093: 0x8284,
+ 5094: 0x8287,
+ 5095: 0x8289,
+ 5096: 0x828A,
+ 5097: 0x828E,
+ 5098: 0x8291,
+ 5099: 0x8294,
+ 5100: 0x8296,
+ 5101: 0x8298,
+ 5102: 0x829A,
+ 5103: 0x829B,
+ 5104: 0x82A0,
+ 5105: 0x82A1,
+ 5106: 0x82A3,
+ 5107: 0x82A4,
+ 5108: 0x82A7,
+ 5109: 0x82A8,
+ 5110: 0x82A9,
+ 5111: 0x82AA,
+ 5112: 0x82AE,
+ 5113: 0x82B0,
+ 5114: 0x82B2,
+ 5115: 0x82B4,
+ 5116: 0x82B7,
+ 5117: 0x82BA,
+ 5118: 0x82BC,
+ 5119: 0x82BE,
+ 5120: 0x82BF,
+ 5121: 0x82C6,
+ 5122: 0x82D0,
+ 5123: 0x82D5,
+ 5124: 0x82DA,
+ 5125: 0x82E0,
+ 5126: 0x82E2,
+ 5127: 0x82E4,
+ 5128: 0x82E8,
+ 5129: 0x82EA,
+ 5130: 0x82ED,
+ 5131: 0x82EF,
+ 5132: 0x82F6,
+ 5133: 0x82F7,
+ 5134: 0x82FD,
+ 5135: 0x82FE,
+ 5136: 0x8300,
+ 5137: 0x8301,
+ 5138: 0x8307,
+ 5139: 0x8308,
+ 5140: 0x830A,
+ 5141: 0x830B,
+ 5142: 0x8354,
+ 5143: 0x831B,
+ 5144: 0x831D,
+ 5145: 0x831E,
+ 5146: 0x831F,
+ 5147: 0x8321,
+ 5148: 0x8322,
+ 5149: 0x832C,
+ 5150: 0x832D,
+ 5151: 0x832E,
+ 5152: 0x8330,
+ 5153: 0x8333,
+ 5154: 0x8337,
+ 5155: 0x833A,
+ 5156: 0x833C,
+ 5157: 0x833D,
+ 5158: 0x8342,
+ 5159: 0x8343,
+ 5160: 0x8344,
+ 5161: 0x8347,
+ 5162: 0x834D,
+ 5163: 0x834E,
+ 5164: 0x8351,
+ 5165: 0x8355,
+ 5166: 0x8356,
+ 5167: 0x8357,
+ 5168: 0x8370,
+ 5169: 0x8378,
+ 5170: 0x837D,
+ 5171: 0x837F,
+ 5172: 0x8380,
+ 5173: 0x8382,
+ 5174: 0x8384,
+ 5175: 0x8386,
+ 5176: 0x838D,
+ 5177: 0x8392,
+ 5178: 0x8394,
+ 5179: 0x8395,
+ 5180: 0x8398,
+ 5181: 0x8399,
+ 5182: 0x839B,
+ 5183: 0x839C,
+ 5184: 0x839D,
+ 5185: 0x83A6,
+ 5186: 0x83A7,
+ 5187: 0x83A9,
+ 5188: 0x83AC,
+ 5189: 0x83BE,
+ 5190: 0x83BF,
+ 5191: 0x83C0,
+ 5192: 0x83C7,
+ 5193: 0x83C9,
+ 5194: 0x83CF,
+ 5195: 0x83D0,
+ 5196: 0x83D1,
+ 5197: 0x83D4,
+ 5198: 0x83DD,
+ 5199: 0x8353,
+ 5200: 0x83E8,
+ 5201: 0x83EA,
+ 5202: 0x83F6,
+ 5203: 0x83F8,
+ 5204: 0x83F9,
+ 5205: 0x83FC,
+ 5206: 0x8401,
+ 5207: 0x8406,
+ 5208: 0x840A,
+ 5209: 0x840F,
+ 5210: 0x8411,
+ 5211: 0x8415,
+ 5212: 0x8419,
+ 5213: 0x83AD,
+ 5214: 0x842F,
+ 5215: 0x8439,
+ 5216: 0x8445,
+ 5217: 0x8447,
+ 5218: 0x8448,
+ 5219: 0x844A,
+ 5220: 0x844D,
+ 5221: 0x844F,
+ 5222: 0x8451,
+ 5223: 0x8452,
+ 5224: 0x8456,
+ 5225: 0x8458,
+ 5226: 0x8459,
+ 5227: 0x845A,
+ 5228: 0x845C,
+ 5229: 0x8460,
+ 5230: 0x8464,
+ 5231: 0x8465,
+ 5232: 0x8467,
+ 5233: 0x846A,
+ 5234: 0x8470,
+ 5235: 0x8473,
+ 5236: 0x8474,
+ 5237: 0x8476,
+ 5238: 0x8478,
+ 5239: 0x847C,
+ 5240: 0x847D,
+ 5241: 0x8481,
+ 5242: 0x8485,
+ 5243: 0x8492,
+ 5244: 0x8493,
+ 5245: 0x8495,
+ 5246: 0x849E,
+ 5247: 0x84A6,
+ 5248: 0x84A8,
+ 5249: 0x84A9,
+ 5250: 0x84AA,
+ 5251: 0x84AF,
+ 5252: 0x84B1,
+ 5253: 0x84B4,
+ 5254: 0x84BA,
+ 5255: 0x84BD,
+ 5256: 0x84BE,
+ 5257: 0x84C0,
+ 5258: 0x84C2,
+ 5259: 0x84C7,
+ 5260: 0x84C8,
+ 5261: 0x84CC,
+ 5262: 0x84CF,
+ 5263: 0x84D3,
+ 5264: 0x84DC,
+ 5265: 0x84E7,
+ 5266: 0x84EA,
+ 5267: 0x84EF,
+ 5268: 0x84F0,
+ 5269: 0x84F1,
+ 5270: 0x84F2,
+ 5271: 0x84F7,
+ 5272: 0x8532,
+ 5273: 0x84FA,
+ 5274: 0x84FB,
+ 5275: 0x84FD,
+ 5276: 0x8502,
+ 5277: 0x8503,
+ 5278: 0x8507,
+ 5279: 0x850C,
+ 5280: 0x850E,
+ 5281: 0x8510,
+ 5282: 0x851C,
+ 5283: 0x851E,
+ 5284: 0x8522,
+ 5285: 0x8523,
+ 5286: 0x8524,
+ 5287: 0x8525,
+ 5288: 0x8527,
+ 5289: 0x852A,
+ 5290: 0x852B,
+ 5291: 0x852F,
+ 5292: 0x8533,
+ 5293: 0x8534,
+ 5294: 0x8536,
+ 5295: 0x853F,
+ 5296: 0x8546,
+ 5297: 0x854F,
+ 5298: 0x8550,
+ 5299: 0x8551,
+ 5300: 0x8552,
+ 5301: 0x8553,
+ 5302: 0x8556,
+ 5303: 0x8559,
+ 5304: 0x855C,
+ 5305: 0x855D,
+ 5306: 0x855E,
+ 5307: 0x855F,
+ 5308: 0x8560,
+ 5309: 0x8561,
+ 5310: 0x8562,
+ 5311: 0x8564,
+ 5312: 0x856B,
+ 5313: 0x856F,
+ 5314: 0x8579,
+ 5315: 0x857A,
+ 5316: 0x857B,
+ 5317: 0x857D,
+ 5318: 0x857F,
+ 5319: 0x8581,
+ 5320: 0x8585,
+ 5321: 0x8586,
+ 5322: 0x8589,
+ 5323: 0x858B,
+ 5324: 0x858C,
+ 5325: 0x858F,
+ 5326: 0x8593,
+ 5327: 0x8598,
+ 5328: 0x859D,
+ 5329: 0x859F,
+ 5330: 0x85A0,
+ 5331: 0x85A2,
+ 5332: 0x85A5,
+ 5333: 0x85A7,
+ 5334: 0x85B4,
+ 5335: 0x85B6,
+ 5336: 0x85B7,
+ 5337: 0x85B8,
+ 5338: 0x85BC,
+ 5339: 0x85BD,
+ 5340: 0x85BE,
+ 5341: 0x85BF,
+ 5342: 0x85C2,
+ 5343: 0x85C7,
+ 5344: 0x85CA,
+ 5345: 0x85CB,
+ 5346: 0x85CE,
+ 5347: 0x85AD,
+ 5348: 0x85D8,
+ 5349: 0x85DA,
+ 5350: 0x85DF,
+ 5351: 0x85E0,
+ 5352: 0x85E6,
+ 5353: 0x85E8,
+ 5354: 0x85ED,
+ 5355: 0x85F3,
+ 5356: 0x85F6,
+ 5357: 0x85FC,
+ 5358: 0x85FF,
+ 5359: 0x8600,
+ 5360: 0x8604,
+ 5361: 0x8605,
+ 5362: 0x860D,
+ 5363: 0x860E,
+ 5364: 0x8610,
+ 5365: 0x8611,
+ 5366: 0x8612,
+ 5367: 0x8618,
+ 5368: 0x8619,
+ 5369: 0x861B,
+ 5370: 0x861E,
+ 5371: 0x8621,
+ 5372: 0x8627,
+ 5373: 0x8629,
+ 5374: 0x8636,
+ 5375: 0x8638,
+ 5376: 0x863A,
+ 5377: 0x863C,
+ 5378: 0x863D,
+ 5379: 0x8640,
+ 5380: 0x8642,
+ 5381: 0x8646,
+ 5382: 0x8652,
+ 5383: 0x8653,
+ 5384: 0x8656,
+ 5385: 0x8657,
+ 5386: 0x8658,
+ 5387: 0x8659,
+ 5388: 0x865D,
+ 5389: 0x8660,
+ 5390: 0x8661,
+ 5391: 0x8662,
+ 5392: 0x8663,
+ 5393: 0x8664,
+ 5394: 0x8669,
+ 5395: 0x866C,
+ 5396: 0x866F,
+ 5397: 0x8675,
+ 5398: 0x8676,
+ 5399: 0x8677,
+ 5400: 0x867A,
+ 5401: 0x868D,
+ 5402: 0x8691,
+ 5403: 0x8696,
+ 5404: 0x8698,
+ 5405: 0x869A,
+ 5406: 0x869C,
+ 5407: 0x86A1,
+ 5408: 0x86A6,
+ 5409: 0x86A7,
+ 5410: 0x86A8,
+ 5411: 0x86AD,
+ 5412: 0x86B1,
+ 5413: 0x86B3,
+ 5414: 0x86B4,
+ 5415: 0x86B5,
+ 5416: 0x86B7,
+ 5417: 0x86B8,
+ 5418: 0x86B9,
+ 5419: 0x86BF,
+ 5420: 0x86C0,
+ 5421: 0x86C1,
+ 5422: 0x86C3,
+ 5423: 0x86C5,
+ 5424: 0x86D1,
+ 5425: 0x86D2,
+ 5426: 0x86D5,
+ 5427: 0x86D7,
+ 5428: 0x86DA,
+ 5429: 0x86DC,
+ 5430: 0x86E0,
+ 5431: 0x86E3,
+ 5432: 0x86E5,
+ 5433: 0x86E7,
+ 5434: 0x8688,
+ 5435: 0x86FA,
+ 5436: 0x86FC,
+ 5437: 0x86FD,
+ 5438: 0x8704,
+ 5439: 0x8705,
+ 5440: 0x8707,
+ 5441: 0x870B,
+ 5442: 0x870E,
+ 5443: 0x870F,
+ 5444: 0x8710,
+ 5445: 0x8713,
+ 5446: 0x8714,
+ 5447: 0x8719,
+ 5448: 0x871E,
+ 5449: 0x871F,
+ 5450: 0x8721,
+ 5451: 0x8723,
+ 5452: 0x8728,
+ 5453: 0x872E,
+ 5454: 0x872F,
+ 5455: 0x8731,
+ 5456: 0x8732,
+ 5457: 0x8739,
+ 5458: 0x873A,
+ 5459: 0x873C,
+ 5460: 0x873D,
+ 5461: 0x873E,
+ 5462: 0x8740,
+ 5463: 0x8743,
+ 5464: 0x8745,
+ 5465: 0x874D,
+ 5466: 0x8758,
+ 5467: 0x875D,
+ 5468: 0x8761,
+ 5469: 0x8764,
+ 5470: 0x8765,
+ 5471: 0x876F,
+ 5472: 0x8771,
+ 5473: 0x8772,
+ 5474: 0x877B,
+ 5475: 0x8783,
+ 5476: 0x8784,
+ 5477: 0x8785,
+ 5478: 0x8786,
+ 5479: 0x8787,
+ 5480: 0x8788,
+ 5481: 0x8789,
+ 5482: 0x878B,
+ 5483: 0x878C,
+ 5484: 0x8790,
+ 5485: 0x8793,
+ 5486: 0x8795,
+ 5487: 0x8797,
+ 5488: 0x8798,
+ 5489: 0x8799,
+ 5490: 0x879E,
+ 5491: 0x87A0,
+ 5492: 0x87A3,
+ 5493: 0x87A7,
+ 5494: 0x87AC,
+ 5495: 0x87AD,
+ 5496: 0x87AE,
+ 5497: 0x87B1,
+ 5498: 0x87B5,
+ 5499: 0x87BE,
+ 5500: 0x87BF,
+ 5501: 0x87C1,
+ 5502: 0x87C8,
+ 5503: 0x87C9,
+ 5504: 0x87CA,
+ 5505: 0x87CE,
+ 5506: 0x87D5,
+ 5507: 0x87D6,
+ 5508: 0x87D9,
+ 5509: 0x87DA,
+ 5510: 0x87DC,
+ 5511: 0x87DF,
+ 5512: 0x87E2,
+ 5513: 0x87E3,
+ 5514: 0x87E4,
+ 5515: 0x87EA,
+ 5516: 0x87EB,
+ 5517: 0x87ED,
+ 5518: 0x87F1,
+ 5519: 0x87F3,
+ 5520: 0x87F8,
+ 5521: 0x87FA,
+ 5522: 0x87FF,
+ 5523: 0x8801,
+ 5524: 0x8803,
+ 5525: 0x8806,
+ 5526: 0x8809,
+ 5527: 0x880A,
+ 5528: 0x880B,
+ 5529: 0x8810,
+ 5530: 0x8819,
+ 5531: 0x8812,
+ 5532: 0x8813,
+ 5533: 0x8814,
+ 5534: 0x8818,
+ 5535: 0x881A,
+ 5536: 0x881B,
+ 5537: 0x881C,
+ 5538: 0x881E,
+ 5539: 0x881F,
+ 5540: 0x8828,
+ 5541: 0x882D,
+ 5542: 0x882E,
+ 5543: 0x8830,
+ 5544: 0x8832,
+ 5545: 0x8835,
+ 5546: 0x883A,
+ 5547: 0x883C,
+ 5548: 0x8841,
+ 5549: 0x8843,
+ 5550: 0x8845,
+ 5551: 0x8848,
+ 5552: 0x8849,
+ 5553: 0x884A,
+ 5554: 0x884B,
+ 5555: 0x884E,
+ 5556: 0x8851,
+ 5557: 0x8855,
+ 5558: 0x8856,
+ 5559: 0x8858,
+ 5560: 0x885A,
+ 5561: 0x885C,
+ 5562: 0x885F,
+ 5563: 0x8860,
+ 5564: 0x8864,
+ 5565: 0x8869,
+ 5566: 0x8871,
+ 5567: 0x8879,
+ 5568: 0x887B,
+ 5569: 0x8880,
+ 5570: 0x8898,
+ 5571: 0x889A,
+ 5572: 0x889B,
+ 5573: 0x889C,
+ 5574: 0x889F,
+ 5575: 0x88A0,
+ 5576: 0x88A8,
+ 5577: 0x88AA,
+ 5578: 0x88BA,
+ 5579: 0x88BD,
+ 5580: 0x88BE,
+ 5581: 0x88C0,
+ 5582: 0x88CA,
+ 5583: 0x88CB,
+ 5584: 0x88CC,
+ 5585: 0x88CD,
+ 5586: 0x88CE,
+ 5587: 0x88D1,
+ 5588: 0x88D2,
+ 5589: 0x88D3,
+ 5590: 0x88DB,
+ 5591: 0x88DE,
+ 5592: 0x88E7,
+ 5593: 0x88EF,
+ 5594: 0x88F0,
+ 5595: 0x88F1,
+ 5596: 0x88F5,
+ 5597: 0x88F7,
+ 5598: 0x8901,
+ 5599: 0x8906,
+ 5600: 0x890D,
+ 5601: 0x890E,
+ 5602: 0x890F,
+ 5603: 0x8915,
+ 5604: 0x8916,
+ 5605: 0x8918,
+ 5606: 0x8919,
+ 5607: 0x891A,
+ 5608: 0x891C,
+ 5609: 0x8920,
+ 5610: 0x8926,
+ 5611: 0x8927,
+ 5612: 0x8928,
+ 5613: 0x8930,
+ 5614: 0x8931,
+ 5615: 0x8932,
+ 5616: 0x8935,
+ 5617: 0x8939,
+ 5618: 0x893A,
+ 5619: 0x893E,
+ 5620: 0x8940,
+ 5621: 0x8942,
+ 5622: 0x8945,
+ 5623: 0x8946,
+ 5624: 0x8949,
+ 5625: 0x894F,
+ 5626: 0x8952,
+ 5627: 0x8957,
+ 5628: 0x895A,
+ 5629: 0x895B,
+ 5630: 0x895C,
+ 5631: 0x8961,
+ 5632: 0x8962,
+ 5633: 0x8963,
+ 5634: 0x896B,
+ 5635: 0x896E,
+ 5636: 0x8970,
+ 5637: 0x8973,
+ 5638: 0x8975,
+ 5639: 0x897A,
+ 5640: 0x897B,
+ 5641: 0x897C,
+ 5642: 0x897D,
+ 5643: 0x8989,
+ 5644: 0x898D,
+ 5645: 0x8990,
+ 5646: 0x8994,
+ 5647: 0x8995,
+ 5648: 0x899B,
+ 5649: 0x899C,
+ 5650: 0x899F,
+ 5651: 0x89A0,
+ 5652: 0x89A5,
+ 5653: 0x89B0,
+ 5654: 0x89B4,
+ 5655: 0x89B5,
+ 5656: 0x89B6,
+ 5657: 0x89B7,
+ 5658: 0x89BC,
+ 5659: 0x89D4,
+ 5660: 0x89D5,
+ 5661: 0x89D6,
+ 5662: 0x89D7,
+ 5663: 0x89D8,
+ 5664: 0x89E5,
+ 5665: 0x89E9,
+ 5666: 0x89EB,
+ 5667: 0x89ED,
+ 5668: 0x89F1,
+ 5669: 0x89F3,
+ 5670: 0x89F6,
+ 5671: 0x89F9,
+ 5672: 0x89FD,
+ 5673: 0x89FF,
+ 5674: 0x8A04,
+ 5675: 0x8A05,
+ 5676: 0x8A07,
+ 5677: 0x8A0F,
+ 5678: 0x8A11,
+ 5679: 0x8A12,
+ 5680: 0x8A14,
+ 5681: 0x8A15,
+ 5682: 0x8A1E,
+ 5683: 0x8A20,
+ 5684: 0x8A22,
+ 5685: 0x8A24,
+ 5686: 0x8A26,
+ 5687: 0x8A2B,
+ 5688: 0x8A2C,
+ 5689: 0x8A2F,
+ 5690: 0x8A35,
+ 5691: 0x8A37,
+ 5692: 0x8A3D,
+ 5693: 0x8A3E,
+ 5694: 0x8A40,
+ 5695: 0x8A43,
+ 5696: 0x8A45,
+ 5697: 0x8A47,
+ 5698: 0x8A49,
+ 5699: 0x8A4D,
+ 5700: 0x8A4E,
+ 5701: 0x8A53,
+ 5702: 0x8A56,
+ 5703: 0x8A57,
+ 5704: 0x8A58,
+ 5705: 0x8A5C,
+ 5706: 0x8A5D,
+ 5707: 0x8A61,
+ 5708: 0x8A65,
+ 5709: 0x8A67,
+ 5710: 0x8A75,
+ 5711: 0x8A76,
+ 5712: 0x8A77,
+ 5713: 0x8A79,
+ 5714: 0x8A7A,
+ 5715: 0x8A7B,
+ 5716: 0x8A7E,
+ 5717: 0x8A7F,
+ 5718: 0x8A80,
+ 5719: 0x8A83,
+ 5720: 0x8A86,
+ 5721: 0x8A8B,
+ 5722: 0x8A8F,
+ 5723: 0x8A90,
+ 5724: 0x8A92,
+ 5725: 0x8A96,
+ 5726: 0x8A97,
+ 5727: 0x8A99,
+ 5728: 0x8A9F,
+ 5729: 0x8AA7,
+ 5730: 0x8AA9,
+ 5731: 0x8AAE,
+ 5732: 0x8AAF,
+ 5733: 0x8AB3,
+ 5734: 0x8AB6,
+ 5735: 0x8AB7,
+ 5736: 0x8ABB,
+ 5737: 0x8ABE,
+ 5738: 0x8AC3,
+ 5739: 0x8AC6,
+ 5740: 0x8AC8,
+ 5741: 0x8AC9,
+ 5742: 0x8ACA,
+ 5743: 0x8AD1,
+ 5744: 0x8AD3,
+ 5745: 0x8AD4,
+ 5746: 0x8AD5,
+ 5747: 0x8AD7,
+ 5748: 0x8ADD,
+ 5749: 0x8ADF,
+ 5750: 0x8AEC,
+ 5751: 0x8AF0,
+ 5752: 0x8AF4,
+ 5753: 0x8AF5,
+ 5754: 0x8AF6,
+ 5755: 0x8AFC,
+ 5756: 0x8AFF,
+ 5757: 0x8B05,
+ 5758: 0x8B06,
+ 5759: 0x8B0B,
+ 5760: 0x8B11,
+ 5761: 0x8B1C,
+ 5762: 0x8B1E,
+ 5763: 0x8B1F,
+ 5764: 0x8B0A,
+ 5765: 0x8B2D,
+ 5766: 0x8B30,
+ 5767: 0x8B37,
+ 5768: 0x8B3C,
+ 5769: 0x8B42,
+ 5770: 0x8B43,
+ 5771: 0x8B44,
+ 5772: 0x8B45,
+ 5773: 0x8B46,
+ 5774: 0x8B48,
+ 5775: 0x8B52,
+ 5776: 0x8B53,
+ 5777: 0x8B54,
+ 5778: 0x8B59,
+ 5779: 0x8B4D,
+ 5780: 0x8B5E,
+ 5781: 0x8B63,
+ 5782: 0x8B6D,
+ 5783: 0x8B76,
+ 5784: 0x8B78,
+ 5785: 0x8B79,
+ 5786: 0x8B7C,
+ 5787: 0x8B7E,
+ 5788: 0x8B81,
+ 5789: 0x8B84,
+ 5790: 0x8B85,
+ 5791: 0x8B8B,
+ 5792: 0x8B8D,
+ 5793: 0x8B8F,
+ 5794: 0x8B94,
+ 5795: 0x8B95,
+ 5796: 0x8B9C,
+ 5797: 0x8B9E,
+ 5798: 0x8B9F,
+ 5799: 0x8C38,
+ 5800: 0x8C39,
+ 5801: 0x8C3D,
+ 5802: 0x8C3E,
+ 5803: 0x8C45,
+ 5804: 0x8C47,
+ 5805: 0x8C49,
+ 5806: 0x8C4B,
+ 5807: 0x8C4F,
+ 5808: 0x8C51,
+ 5809: 0x8C53,
+ 5810: 0x8C54,
+ 5811: 0x8C57,
+ 5812: 0x8C58,
+ 5813: 0x8C5B,
+ 5814: 0x8C5D,
+ 5815: 0x8C59,
+ 5816: 0x8C63,
+ 5817: 0x8C64,
+ 5818: 0x8C66,
+ 5819: 0x8C68,
+ 5820: 0x8C69,
+ 5821: 0x8C6D,
+ 5822: 0x8C73,
+ 5823: 0x8C75,
+ 5824: 0x8C76,
+ 5825: 0x8C7B,
+ 5826: 0x8C7E,
+ 5827: 0x8C86,
+ 5828: 0x8C87,
+ 5829: 0x8C8B,
+ 5830: 0x8C90,
+ 5831: 0x8C92,
+ 5832: 0x8C93,
+ 5833: 0x8C99,
+ 5834: 0x8C9B,
+ 5835: 0x8C9C,
+ 5836: 0x8CA4,
+ 5837: 0x8CB9,
+ 5838: 0x8CBA,
+ 5839: 0x8CC5,
+ 5840: 0x8CC6,
+ 5841: 0x8CC9,
+ 5842: 0x8CCB,
+ 5843: 0x8CCF,
+ 5844: 0x8CD6,
+ 5845: 0x8CD5,
+ 5846: 0x8CD9,
+ 5847: 0x8CDD,
+ 5848: 0x8CE1,
+ 5849: 0x8CE8,
+ 5850: 0x8CEC,
+ 5851: 0x8CEF,
+ 5852: 0x8CF0,
+ 5853: 0x8CF2,
+ 5854: 0x8CF5,
+ 5855: 0x8CF7,
+ 5856: 0x8CF8,
+ 5857: 0x8CFE,
+ 5858: 0x8CFF,
+ 5859: 0x8D01,
+ 5860: 0x8D03,
+ 5861: 0x8D09,
+ 5862: 0x8D12,
+ 5863: 0x8D17,
+ 5864: 0x8D1B,
+ 5865: 0x8D65,
+ 5866: 0x8D69,
+ 5867: 0x8D6C,
+ 5868: 0x8D6E,
+ 5869: 0x8D7F,
+ 5870: 0x8D82,
+ 5871: 0x8D84,
+ 5872: 0x8D88,
+ 5873: 0x8D8D,
+ 5874: 0x8D90,
+ 5875: 0x8D91,
+ 5876: 0x8D95,
+ 5877: 0x8D9E,
+ 5878: 0x8D9F,
+ 5879: 0x8DA0,
+ 5880: 0x8DA6,
+ 5881: 0x8DAB,
+ 5882: 0x8DAC,
+ 5883: 0x8DAF,
+ 5884: 0x8DB2,
+ 5885: 0x8DB5,
+ 5886: 0x8DB7,
+ 5887: 0x8DB9,
+ 5888: 0x8DBB,
+ 5889: 0x8DC0,
+ 5890: 0x8DC5,
+ 5891: 0x8DC6,
+ 5892: 0x8DC7,
+ 5893: 0x8DC8,
+ 5894: 0x8DCA,
+ 5895: 0x8DCE,
+ 5896: 0x8DD1,
+ 5897: 0x8DD4,
+ 5898: 0x8DD5,
+ 5899: 0x8DD7,
+ 5900: 0x8DD9,
+ 5901: 0x8DE4,
+ 5902: 0x8DE5,
+ 5903: 0x8DE7,
+ 5904: 0x8DEC,
+ 5905: 0x8DF0,
+ 5906: 0x8DBC,
+ 5907: 0x8DF1,
+ 5908: 0x8DF2,
+ 5909: 0x8DF4,
+ 5910: 0x8DFD,
+ 5911: 0x8E01,
+ 5912: 0x8E04,
+ 5913: 0x8E05,
+ 5914: 0x8E06,
+ 5915: 0x8E0B,
+ 5916: 0x8E11,
+ 5917: 0x8E14,
+ 5918: 0x8E16,
+ 5919: 0x8E20,
+ 5920: 0x8E21,
+ 5921: 0x8E22,
+ 5922: 0x8E23,
+ 5923: 0x8E26,
+ 5924: 0x8E27,
+ 5925: 0x8E31,
+ 5926: 0x8E33,
+ 5927: 0x8E36,
+ 5928: 0x8E37,
+ 5929: 0x8E38,
+ 5930: 0x8E39,
+ 5931: 0x8E3D,
+ 5932: 0x8E40,
+ 5933: 0x8E41,
+ 5934: 0x8E4B,
+ 5935: 0x8E4D,
+ 5936: 0x8E4E,
+ 5937: 0x8E4F,
+ 5938: 0x8E54,
+ 5939: 0x8E5B,
+ 5940: 0x8E5C,
+ 5941: 0x8E5D,
+ 5942: 0x8E5E,
+ 5943: 0x8E61,
+ 5944: 0x8E62,
+ 5945: 0x8E69,
+ 5946: 0x8E6C,
+ 5947: 0x8E6D,
+ 5948: 0x8E6F,
+ 5949: 0x8E70,
+ 5950: 0x8E71,
+ 5951: 0x8E79,
+ 5952: 0x8E7A,
+ 5953: 0x8E7B,
+ 5954: 0x8E82,
+ 5955: 0x8E83,
+ 5956: 0x8E89,
+ 5957: 0x8E90,
+ 5958: 0x8E92,
+ 5959: 0x8E95,
+ 5960: 0x8E9A,
+ 5961: 0x8E9B,
+ 5962: 0x8E9D,
+ 5963: 0x8E9E,
+ 5964: 0x8EA2,
+ 5965: 0x8EA7,
+ 5966: 0x8EA9,
+ 5967: 0x8EAD,
+ 5968: 0x8EAE,
+ 5969: 0x8EB3,
+ 5970: 0x8EB5,
+ 5971: 0x8EBA,
+ 5972: 0x8EBB,
+ 5973: 0x8EC0,
+ 5974: 0x8EC1,
+ 5975: 0x8EC3,
+ 5976: 0x8EC4,
+ 5977: 0x8EC7,
+ 5978: 0x8ECF,
+ 5979: 0x8ED1,
+ 5980: 0x8ED4,
+ 5981: 0x8EDC,
+ 5982: 0x8EE8,
+ 5983: 0x8EEE,
+ 5984: 0x8EF0,
+ 5985: 0x8EF1,
+ 5986: 0x8EF7,
+ 5987: 0x8EF9,
+ 5988: 0x8EFA,
+ 5989: 0x8EED,
+ 5990: 0x8F00,
+ 5991: 0x8F02,
+ 5992: 0x8F07,
+ 5993: 0x8F08,
+ 5994: 0x8F0F,
+ 5995: 0x8F10,
+ 5996: 0x8F16,
+ 5997: 0x8F17,
+ 5998: 0x8F18,
+ 5999: 0x8F1E,
+ 6000: 0x8F20,
+ 6001: 0x8F21,
+ 6002: 0x8F23,
+ 6003: 0x8F25,
+ 6004: 0x8F27,
+ 6005: 0x8F28,
+ 6006: 0x8F2C,
+ 6007: 0x8F2D,
+ 6008: 0x8F2E,
+ 6009: 0x8F34,
+ 6010: 0x8F35,
+ 6011: 0x8F36,
+ 6012: 0x8F37,
+ 6013: 0x8F3A,
+ 6014: 0x8F40,
+ 6015: 0x8F41,
+ 6016: 0x8F43,
+ 6017: 0x8F47,
+ 6018: 0x8F4F,
+ 6019: 0x8F51,
+ 6020: 0x8F52,
+ 6021: 0x8F53,
+ 6022: 0x8F54,
+ 6023: 0x8F55,
+ 6024: 0x8F58,
+ 6025: 0x8F5D,
+ 6026: 0x8F5E,
+ 6027: 0x8F65,
+ 6028: 0x8F9D,
+ 6029: 0x8FA0,
+ 6030: 0x8FA1,
+ 6031: 0x8FA4,
+ 6032: 0x8FA5,
+ 6033: 0x8FA6,
+ 6034: 0x8FB5,
+ 6035: 0x8FB6,
+ 6036: 0x8FB8,
+ 6037: 0x8FBE,
+ 6038: 0x8FC0,
+ 6039: 0x8FC1,
+ 6040: 0x8FC6,
+ 6041: 0x8FCA,
+ 6042: 0x8FCB,
+ 6043: 0x8FCD,
+ 6044: 0x8FD0,
+ 6045: 0x8FD2,
+ 6046: 0x8FD3,
+ 6047: 0x8FD5,
+ 6048: 0x8FE0,
+ 6049: 0x8FE3,
+ 6050: 0x8FE4,
+ 6051: 0x8FE8,
+ 6052: 0x8FEE,
+ 6053: 0x8FF1,
+ 6054: 0x8FF5,
+ 6055: 0x8FF6,
+ 6056: 0x8FFB,
+ 6057: 0x8FFE,
+ 6058: 0x9002,
+ 6059: 0x9004,
+ 6060: 0x9008,
+ 6061: 0x900C,
+ 6062: 0x9018,
+ 6063: 0x901B,
+ 6064: 0x9028,
+ 6065: 0x9029,
+ 6066: 0x902F,
+ 6067: 0x902A,
+ 6068: 0x902C,
+ 6069: 0x902D,
+ 6070: 0x9033,
+ 6071: 0x9034,
+ 6072: 0x9037,
+ 6073: 0x903F,
+ 6074: 0x9043,
+ 6075: 0x9044,
+ 6076: 0x904C,
+ 6077: 0x905B,
+ 6078: 0x905D,
+ 6079: 0x9062,
+ 6080: 0x9066,
+ 6081: 0x9067,
+ 6082: 0x906C,
+ 6083: 0x9070,
+ 6084: 0x9074,
+ 6085: 0x9079,
+ 6086: 0x9085,
+ 6087: 0x9088,
+ 6088: 0x908B,
+ 6089: 0x908C,
+ 6090: 0x908E,
+ 6091: 0x9090,
+ 6092: 0x9095,
+ 6093: 0x9097,
+ 6094: 0x9098,
+ 6095: 0x9099,
+ 6096: 0x909B,
+ 6097: 0x90A0,
+ 6098: 0x90A1,
+ 6099: 0x90A2,
+ 6100: 0x90A5,
+ 6101: 0x90B0,
+ 6102: 0x90B2,
+ 6103: 0x90B3,
+ 6104: 0x90B4,
+ 6105: 0x90B6,
+ 6106: 0x90BD,
+ 6107: 0x90CC,
+ 6108: 0x90BE,
+ 6109: 0x90C3,
+ 6110: 0x90C4,
+ 6111: 0x90C5,
+ 6112: 0x90C7,
+ 6113: 0x90C8,
+ 6114: 0x90D5,
+ 6115: 0x90D7,
+ 6116: 0x90D8,
+ 6117: 0x90D9,
+ 6118: 0x90DC,
+ 6119: 0x90DD,
+ 6120: 0x90DF,
+ 6121: 0x90E5,
+ 6122: 0x90D2,
+ 6123: 0x90F6,
+ 6124: 0x90EB,
+ 6125: 0x90EF,
+ 6126: 0x90F0,
+ 6127: 0x90F4,
+ 6128: 0x90FE,
+ 6129: 0x90FF,
+ 6130: 0x9100,
+ 6131: 0x9104,
+ 6132: 0x9105,
+ 6133: 0x9106,
+ 6134: 0x9108,
+ 6135: 0x910D,
+ 6136: 0x9110,
+ 6137: 0x9114,
+ 6138: 0x9116,
+ 6139: 0x9117,
+ 6140: 0x9118,
+ 6141: 0x911A,
+ 6142: 0x911C,
+ 6143: 0x911E,
+ 6144: 0x9120,
+ 6145: 0x9125,
+ 6146: 0x9122,
+ 6147: 0x9123,
+ 6148: 0x9127,
+ 6149: 0x9129,
+ 6150: 0x912E,
+ 6151: 0x912F,
+ 6152: 0x9131,
+ 6153: 0x9134,
+ 6154: 0x9136,
+ 6155: 0x9137,
+ 6156: 0x9139,
+ 6157: 0x913A,
+ 6158: 0x913C,
+ 6159: 0x913D,
+ 6160: 0x9143,
+ 6161: 0x9147,
+ 6162: 0x9148,
+ 6163: 0x914F,
+ 6164: 0x9153,
+ 6165: 0x9157,
+ 6166: 0x9159,
+ 6167: 0x915A,
+ 6168: 0x915B,
+ 6169: 0x9161,
+ 6170: 0x9164,
+ 6171: 0x9167,
+ 6172: 0x916D,
+ 6173: 0x9174,
+ 6174: 0x9179,
+ 6175: 0x917A,
+ 6176: 0x917B,
+ 6177: 0x9181,
+ 6178: 0x9183,
+ 6179: 0x9185,
+ 6180: 0x9186,
+ 6181: 0x918A,
+ 6182: 0x918E,
+ 6183: 0x9191,
+ 6184: 0x9193,
+ 6185: 0x9194,
+ 6186: 0x9195,
+ 6187: 0x9198,
+ 6188: 0x919E,
+ 6189: 0x91A1,
+ 6190: 0x91A6,
+ 6191: 0x91A8,
+ 6192: 0x91AC,
+ 6193: 0x91AD,
+ 6194: 0x91AE,
+ 6195: 0x91B0,
+ 6196: 0x91B1,
+ 6197: 0x91B2,
+ 6198: 0x91B3,
+ 6199: 0x91B6,
+ 6200: 0x91BB,
+ 6201: 0x91BC,
+ 6202: 0x91BD,
+ 6203: 0x91BF,
+ 6204: 0x91C2,
+ 6205: 0x91C3,
+ 6206: 0x91C5,
+ 6207: 0x91D3,
+ 6208: 0x91D4,
+ 6209: 0x91D7,
+ 6210: 0x91D9,
+ 6211: 0x91DA,
+ 6212: 0x91DE,
+ 6213: 0x91E4,
+ 6214: 0x91E5,
+ 6215: 0x91E9,
+ 6216: 0x91EA,
+ 6217: 0x91EC,
+ 6218: 0x91ED,
+ 6219: 0x91EE,
+ 6220: 0x91EF,
+ 6221: 0x91F0,
+ 6222: 0x91F1,
+ 6223: 0x91F7,
+ 6224: 0x91F9,
+ 6225: 0x91FB,
+ 6226: 0x91FD,
+ 6227: 0x9200,
+ 6228: 0x9201,
+ 6229: 0x9204,
+ 6230: 0x9205,
+ 6231: 0x9206,
+ 6232: 0x9207,
+ 6233: 0x9209,
+ 6234: 0x920A,
+ 6235: 0x920C,
+ 6236: 0x9210,
+ 6237: 0x9212,
+ 6238: 0x9213,
+ 6239: 0x9216,
+ 6240: 0x9218,
+ 6241: 0x921C,
+ 6242: 0x921D,
+ 6243: 0x9223,
+ 6244: 0x9224,
+ 6245: 0x9225,
+ 6246: 0x9226,
+ 6247: 0x9228,
+ 6248: 0x922E,
+ 6249: 0x922F,
+ 6250: 0x9230,
+ 6251: 0x9233,
+ 6252: 0x9235,
+ 6253: 0x9236,
+ 6254: 0x9238,
+ 6255: 0x9239,
+ 6256: 0x923A,
+ 6257: 0x923C,
+ 6258: 0x923E,
+ 6259: 0x9240,
+ 6260: 0x9242,
+ 6261: 0x9243,
+ 6262: 0x9246,
+ 6263: 0x9247,
+ 6264: 0x924A,
+ 6265: 0x924D,
+ 6266: 0x924E,
+ 6267: 0x924F,
+ 6268: 0x9251,
+ 6269: 0x9258,
+ 6270: 0x9259,
+ 6271: 0x925C,
+ 6272: 0x925D,
+ 6273: 0x9260,
+ 6274: 0x9261,
+ 6275: 0x9265,
+ 6276: 0x9267,
+ 6277: 0x9268,
+ 6278: 0x9269,
+ 6279: 0x926E,
+ 6280: 0x926F,
+ 6281: 0x9270,
+ 6282: 0x9275,
+ 6283: 0x9276,
+ 6284: 0x9277,
+ 6285: 0x9278,
+ 6286: 0x9279,
+ 6287: 0x927B,
+ 6288: 0x927C,
+ 6289: 0x927D,
+ 6290: 0x927F,
+ 6291: 0x9288,
+ 6292: 0x9289,
+ 6293: 0x928A,
+ 6294: 0x928D,
+ 6295: 0x928E,
+ 6296: 0x9292,
+ 6297: 0x9297,
+ 6298: 0x9299,
+ 6299: 0x929F,
+ 6300: 0x92A0,
+ 6301: 0x92A4,
+ 6302: 0x92A5,
+ 6303: 0x92A7,
+ 6304: 0x92A8,
+ 6305: 0x92AB,
+ 6306: 0x92AF,
+ 6307: 0x92B2,
+ 6308: 0x92B6,
+ 6309: 0x92B8,
+ 6310: 0x92BA,
+ 6311: 0x92BB,
+ 6312: 0x92BC,
+ 6313: 0x92BD,
+ 6314: 0x92BF,
+ 6315: 0x92C0,
+ 6316: 0x92C1,
+ 6317: 0x92C2,
+ 6318: 0x92C3,
+ 6319: 0x92C5,
+ 6320: 0x92C6,
+ 6321: 0x92C7,
+ 6322: 0x92C8,
+ 6323: 0x92CB,
+ 6324: 0x92CC,
+ 6325: 0x92CD,
+ 6326: 0x92CE,
+ 6327: 0x92D0,
+ 6328: 0x92D3,
+ 6329: 0x92D5,
+ 6330: 0x92D7,
+ 6331: 0x92D8,
+ 6332: 0x92D9,
+ 6333: 0x92DC,
+ 6334: 0x92DD,
+ 6335: 0x92DF,
+ 6336: 0x92E0,
+ 6337: 0x92E1,
+ 6338: 0x92E3,
+ 6339: 0x92E5,
+ 6340: 0x92E7,
+ 6341: 0x92E8,
+ 6342: 0x92EC,
+ 6343: 0x92EE,
+ 6344: 0x92F0,
+ 6345: 0x92F9,
+ 6346: 0x92FB,
+ 6347: 0x92FF,
+ 6348: 0x9300,
+ 6349: 0x9302,
+ 6350: 0x9308,
+ 6351: 0x930D,
+ 6352: 0x9311,
+ 6353: 0x9314,
+ 6354: 0x9315,
+ 6355: 0x931C,
+ 6356: 0x931D,
+ 6357: 0x931E,
+ 6358: 0x931F,
+ 6359: 0x9321,
+ 6360: 0x9324,
+ 6361: 0x9325,
+ 6362: 0x9327,
+ 6363: 0x9329,
+ 6364: 0x932A,
+ 6365: 0x9333,
+ 6366: 0x9334,
+ 6367: 0x9336,
+ 6368: 0x9337,
+ 6369: 0x9347,
+ 6370: 0x9348,
+ 6371: 0x9349,
+ 6372: 0x9350,
+ 6373: 0x9351,
+ 6374: 0x9352,
+ 6375: 0x9355,
+ 6376: 0x9357,
+ 6377: 0x9358,
+ 6378: 0x935A,
+ 6379: 0x935E,
+ 6380: 0x9364,
+ 6381: 0x9365,
+ 6382: 0x9367,
+ 6383: 0x9369,
+ 6384: 0x936A,
+ 6385: 0x936D,
+ 6386: 0x936F,
+ 6387: 0x9370,
+ 6388: 0x9371,
+ 6389: 0x9373,
+ 6390: 0x9374,
+ 6391: 0x9376,
+ 6392: 0x937A,
+ 6393: 0x937D,
+ 6394: 0x937F,
+ 6395: 0x9380,
+ 6396: 0x9381,
+ 6397: 0x9382,
+ 6398: 0x9388,
+ 6399: 0x938A,
+ 6400: 0x938B,
+ 6401: 0x938D,
+ 6402: 0x938F,
+ 6403: 0x9392,
+ 6404: 0x9395,
+ 6405: 0x9398,
+ 6406: 0x939B,
+ 6407: 0x939E,
+ 6408: 0x93A1,
+ 6409: 0x93A3,
+ 6410: 0x93A4,
+ 6411: 0x93A6,
+ 6412: 0x93A8,
+ 6413: 0x93AB,
+ 6414: 0x93B4,
+ 6415: 0x93B5,
+ 6416: 0x93B6,
+ 6417: 0x93BA,
+ 6418: 0x93A9,
+ 6419: 0x93C1,
+ 6420: 0x93C4,
+ 6421: 0x93C5,
+ 6422: 0x93C6,
+ 6423: 0x93C7,
+ 6424: 0x93C9,
+ 6425: 0x93CA,
+ 6426: 0x93CB,
+ 6427: 0x93CC,
+ 6428: 0x93CD,
+ 6429: 0x93D3,
+ 6430: 0x93D9,
+ 6431: 0x93DC,
+ 6432: 0x93DE,
+ 6433: 0x93DF,
+ 6434: 0x93E2,
+ 6435: 0x93E6,
+ 6436: 0x93E7,
+ 6437: 0x93F9,
+ 6438: 0x93F7,
+ 6439: 0x93F8,
+ 6440: 0x93FA,
+ 6441: 0x93FB,
+ 6442: 0x93FD,
+ 6443: 0x9401,
+ 6444: 0x9402,
+ 6445: 0x9404,
+ 6446: 0x9408,
+ 6447: 0x9409,
+ 6448: 0x940D,
+ 6449: 0x940E,
+ 6450: 0x940F,
+ 6451: 0x9415,
+ 6452: 0x9416,
+ 6453: 0x9417,
+ 6454: 0x941F,
+ 6455: 0x942E,
+ 6456: 0x942F,
+ 6457: 0x9431,
+ 6458: 0x9432,
+ 6459: 0x9433,
+ 6460: 0x9434,
+ 6461: 0x943B,
+ 6462: 0x943F,
+ 6463: 0x943D,
+ 6464: 0x9443,
+ 6465: 0x9445,
+ 6466: 0x9448,
+ 6467: 0x944A,
+ 6468: 0x944C,
+ 6469: 0x9455,
+ 6470: 0x9459,
+ 6471: 0x945C,
+ 6472: 0x945F,
+ 6473: 0x9461,
+ 6474: 0x9463,
+ 6475: 0x9468,
+ 6476: 0x946B,
+ 6477: 0x946D,
+ 6478: 0x946E,
+ 6479: 0x946F,
+ 6480: 0x9471,
+ 6481: 0x9472,
+ 6482: 0x9484,
+ 6483: 0x9483,
+ 6484: 0x9578,
+ 6485: 0x9579,
+ 6486: 0x957E,
+ 6487: 0x9584,
+ 6488: 0x9588,
+ 6489: 0x958C,
+ 6490: 0x958D,
+ 6491: 0x958E,
+ 6492: 0x959D,
+ 6493: 0x959E,
+ 6494: 0x959F,
+ 6495: 0x95A1,
+ 6496: 0x95A6,
+ 6497: 0x95A9,
+ 6498: 0x95AB,
+ 6499: 0x95AC,
+ 6500: 0x95B4,
+ 6501: 0x95B6,
+ 6502: 0x95BA,
+ 6503: 0x95BD,
+ 6504: 0x95BF,
+ 6505: 0x95C6,
+ 6506: 0x95C8,
+ 6507: 0x95C9,
+ 6508: 0x95CB,
+ 6509: 0x95D0,
+ 6510: 0x95D1,
+ 6511: 0x95D2,
+ 6512: 0x95D3,
+ 6513: 0x95D9,
+ 6514: 0x95DA,
+ 6515: 0x95DD,
+ 6516: 0x95DE,
+ 6517: 0x95DF,
+ 6518: 0x95E0,
+ 6519: 0x95E4,
+ 6520: 0x95E6,
+ 6521: 0x961D,
+ 6522: 0x961E,
+ 6523: 0x9622,
+ 6524: 0x9624,
+ 6525: 0x9625,
+ 6526: 0x9626,
+ 6527: 0x962C,
+ 6528: 0x9631,
+ 6529: 0x9633,
+ 6530: 0x9637,
+ 6531: 0x9638,
+ 6532: 0x9639,
+ 6533: 0x963A,
+ 6534: 0x963C,
+ 6535: 0x963D,
+ 6536: 0x9641,
+ 6537: 0x9652,
+ 6538: 0x9654,
+ 6539: 0x9656,
+ 6540: 0x9657,
+ 6541: 0x9658,
+ 6542: 0x9661,
+ 6543: 0x966E,
+ 6544: 0x9674,
+ 6545: 0x967B,
+ 6546: 0x967C,
+ 6547: 0x967E,
+ 6548: 0x967F,
+ 6549: 0x9681,
+ 6550: 0x9682,
+ 6551: 0x9683,
+ 6552: 0x9684,
+ 6553: 0x9689,
+ 6554: 0x9691,
+ 6555: 0x9696,
+ 6556: 0x969A,
+ 6557: 0x969D,
+ 6558: 0x969F,
+ 6559: 0x96A4,
+ 6560: 0x96A5,
+ 6561: 0x96A6,
+ 6562: 0x96A9,
+ 6563: 0x96AE,
+ 6564: 0x96AF,
+ 6565: 0x96B3,
+ 6566: 0x96BA,
+ 6567: 0x96CA,
+ 6568: 0x96D2,
+ 6569: 0x5DB2,
+ 6570: 0x96D8,
+ 6571: 0x96DA,
+ 6572: 0x96DD,
+ 6573: 0x96DE,
+ 6574: 0x96DF,
+ 6575: 0x96E9,
+ 6576: 0x96EF,
+ 6577: 0x96F1,
+ 6578: 0x96FA,
+ 6579: 0x9702,
+ 6580: 0x9703,
+ 6581: 0x9705,
+ 6582: 0x9709,
+ 6583: 0x971A,
+ 6584: 0x971B,
+ 6585: 0x971D,
+ 6586: 0x9721,
+ 6587: 0x9722,
+ 6588: 0x9723,
+ 6589: 0x9728,
+ 6590: 0x9731,
+ 6591: 0x9733,
+ 6592: 0x9741,
+ 6593: 0x9743,
+ 6594: 0x974A,
+ 6595: 0x974E,
+ 6596: 0x974F,
+ 6597: 0x9755,
+ 6598: 0x9757,
+ 6599: 0x9758,
+ 6600: 0x975A,
+ 6601: 0x975B,
+ 6602: 0x9763,
+ 6603: 0x9767,
+ 6604: 0x976A,
+ 6605: 0x976E,
+ 6606: 0x9773,
+ 6607: 0x9776,
+ 6608: 0x9777,
+ 6609: 0x9778,
+ 6610: 0x977B,
+ 6611: 0x977D,
+ 6612: 0x977F,
+ 6613: 0x9780,
+ 6614: 0x9789,
+ 6615: 0x9795,
+ 6616: 0x9796,
+ 6617: 0x9797,
+ 6618: 0x9799,
+ 6619: 0x979A,
+ 6620: 0x979E,
+ 6621: 0x979F,
+ 6622: 0x97A2,
+ 6623: 0x97AC,
+ 6624: 0x97AE,
+ 6625: 0x97B1,
+ 6626: 0x97B2,
+ 6627: 0x97B5,
+ 6628: 0x97B6,
+ 6629: 0x97B8,
+ 6630: 0x97B9,
+ 6631: 0x97BA,
+ 6632: 0x97BC,
+ 6633: 0x97BE,
+ 6634: 0x97BF,
+ 6635: 0x97C1,
+ 6636: 0x97C4,
+ 6637: 0x97C5,
+ 6638: 0x97C7,
+ 6639: 0x97C9,
+ 6640: 0x97CA,
+ 6641: 0x97CC,
+ 6642: 0x97CD,
+ 6643: 0x97CE,
+ 6644: 0x97D0,
+ 6645: 0x97D1,
+ 6646: 0x97D4,
+ 6647: 0x97D7,
+ 6648: 0x97D8,
+ 6649: 0x97D9,
+ 6650: 0x97DD,
+ 6651: 0x97DE,
+ 6652: 0x97E0,
+ 6653: 0x97DB,
+ 6654: 0x97E1,
+ 6655: 0x97E4,
+ 6656: 0x97EF,
+ 6657: 0x97F1,
+ 6658: 0x97F4,
+ 6659: 0x97F7,
+ 6660: 0x97F8,
+ 6661: 0x97FA,
+ 6662: 0x9807,
+ 6663: 0x980A,
+ 6664: 0x9819,
+ 6665: 0x980D,
+ 6666: 0x980E,
+ 6667: 0x9814,
+ 6668: 0x9816,
+ 6669: 0x981C,
+ 6670: 0x981E,
+ 6671: 0x9820,
+ 6672: 0x9823,
+ 6673: 0x9826,
+ 6674: 0x982B,
+ 6675: 0x982E,
+ 6676: 0x982F,
+ 6677: 0x9830,
+ 6678: 0x9832,
+ 6679: 0x9833,
+ 6680: 0x9835,
+ 6681: 0x9825,
+ 6682: 0x983E,
+ 6683: 0x9844,
+ 6684: 0x9847,
+ 6685: 0x984A,
+ 6686: 0x9851,
+ 6687: 0x9852,
+ 6688: 0x9853,
+ 6689: 0x9856,
+ 6690: 0x9857,
+ 6691: 0x9859,
+ 6692: 0x985A,
+ 6693: 0x9862,
+ 6694: 0x9863,
+ 6695: 0x9865,
+ 6696: 0x9866,
+ 6697: 0x986A,
+ 6698: 0x986C,
+ 6699: 0x98AB,
+ 6700: 0x98AD,
+ 6701: 0x98AE,
+ 6702: 0x98B0,
+ 6703: 0x98B4,
+ 6704: 0x98B7,
+ 6705: 0x98B8,
+ 6706: 0x98BA,
+ 6707: 0x98BB,
+ 6708: 0x98BF,
+ 6709: 0x98C2,
+ 6710: 0x98C5,
+ 6711: 0x98C8,
+ 6712: 0x98CC,
+ 6713: 0x98E1,
+ 6714: 0x98E3,
+ 6715: 0x98E5,
+ 6716: 0x98E6,
+ 6717: 0x98E7,
+ 6718: 0x98EA,
+ 6719: 0x98F3,
+ 6720: 0x98F6,
+ 6721: 0x9902,
+ 6722: 0x9907,
+ 6723: 0x9908,
+ 6724: 0x9911,
+ 6725: 0x9915,
+ 6726: 0x9916,
+ 6727: 0x9917,
+ 6728: 0x991A,
+ 6729: 0x991B,
+ 6730: 0x991C,
+ 6731: 0x991F,
+ 6732: 0x9922,
+ 6733: 0x9926,
+ 6734: 0x9927,
+ 6735: 0x992B,
+ 6736: 0x9931,
+ 6737: 0x9932,
+ 6738: 0x9933,
+ 6739: 0x9934,
+ 6740: 0x9935,
+ 6741: 0x9939,
+ 6742: 0x993A,
+ 6743: 0x993B,
+ 6744: 0x993C,
+ 6745: 0x9940,
+ 6746: 0x9941,
+ 6747: 0x9946,
+ 6748: 0x9947,
+ 6749: 0x9948,
+ 6750: 0x994D,
+ 6751: 0x994E,
+ 6752: 0x9954,
+ 6753: 0x9958,
+ 6754: 0x9959,
+ 6755: 0x995B,
+ 6756: 0x995C,
+ 6757: 0x995E,
+ 6758: 0x995F,
+ 6759: 0x9960,
+ 6760: 0x999B,
+ 6761: 0x999D,
+ 6762: 0x999F,
+ 6763: 0x99A6,
+ 6764: 0x99B0,
+ 6765: 0x99B1,
+ 6766: 0x99B2,
+ 6767: 0x99B5,
+ 6768: 0x99B9,
+ 6769: 0x99BA,
+ 6770: 0x99BD,
+ 6771: 0x99BF,
+ 6772: 0x99C3,
+ 6773: 0x99C9,
+ 6774: 0x99D3,
+ 6775: 0x99D4,
+ 6776: 0x99D9,
+ 6777: 0x99DA,
+ 6778: 0x99DC,
+ 6779: 0x99DE,
+ 6780: 0x99E7,
+ 6781: 0x99EA,
+ 6782: 0x99EB,
+ 6783: 0x99EC,
+ 6784: 0x99F0,
+ 6785: 0x99F4,
+ 6786: 0x99F5,
+ 6787: 0x99F9,
+ 6788: 0x99FD,
+ 6789: 0x99FE,
+ 6790: 0x9A02,
+ 6791: 0x9A03,
+ 6792: 0x9A04,
+ 6793: 0x9A0B,
+ 6794: 0x9A0C,
+ 6795: 0x9A10,
+ 6796: 0x9A11,
+ 6797: 0x9A16,
+ 6798: 0x9A1E,
+ 6799: 0x9A20,
+ 6800: 0x9A22,
+ 6801: 0x9A23,
+ 6802: 0x9A24,
+ 6803: 0x9A27,
+ 6804: 0x9A2D,
+ 6805: 0x9A2E,
+ 6806: 0x9A33,
+ 6807: 0x9A35,
+ 6808: 0x9A36,
+ 6809: 0x9A38,
+ 6810: 0x9A47,
+ 6811: 0x9A41,
+ 6812: 0x9A44,
+ 6813: 0x9A4A,
+ 6814: 0x9A4B,
+ 6815: 0x9A4C,
+ 6816: 0x9A4E,
+ 6817: 0x9A51,
+ 6818: 0x9A54,
+ 6819: 0x9A56,
+ 6820: 0x9A5D,
+ 6821: 0x9AAA,
+ 6822: 0x9AAC,
+ 6823: 0x9AAE,
+ 6824: 0x9AAF,
+ 6825: 0x9AB2,
+ 6826: 0x9AB4,
+ 6827: 0x9AB5,
+ 6828: 0x9AB6,
+ 6829: 0x9AB9,
+ 6830: 0x9ABB,
+ 6831: 0x9ABE,
+ 6832: 0x9ABF,
+ 6833: 0x9AC1,
+ 6834: 0x9AC3,
+ 6835: 0x9AC6,
+ 6836: 0x9AC8,
+ 6837: 0x9ACE,
+ 6838: 0x9AD0,
+ 6839: 0x9AD2,
+ 6840: 0x9AD5,
+ 6841: 0x9AD6,
+ 6842: 0x9AD7,
+ 6843: 0x9ADB,
+ 6844: 0x9ADC,
+ 6845: 0x9AE0,
+ 6846: 0x9AE4,
+ 6847: 0x9AE5,
+ 6848: 0x9AE7,
+ 6849: 0x9AE9,
+ 6850: 0x9AEC,
+ 6851: 0x9AF2,
+ 6852: 0x9AF3,
+ 6853: 0x9AF5,
+ 6854: 0x9AF9,
+ 6855: 0x9AFA,
+ 6856: 0x9AFD,
+ 6857: 0x9AFF,
+ 6858: 0x9B00,
+ 6859: 0x9B01,
+ 6860: 0x9B02,
+ 6861: 0x9B03,
+ 6862: 0x9B04,
+ 6863: 0x9B05,
+ 6864: 0x9B08,
+ 6865: 0x9B09,
+ 6866: 0x9B0B,
+ 6867: 0x9B0C,
+ 6868: 0x9B0D,
+ 6869: 0x9B0E,
+ 6870: 0x9B10,
+ 6871: 0x9B12,
+ 6872: 0x9B16,
+ 6873: 0x9B19,
+ 6874: 0x9B1B,
+ 6875: 0x9B1C,
+ 6876: 0x9B20,
+ 6877: 0x9B26,
+ 6878: 0x9B2B,
+ 6879: 0x9B2D,
+ 6880: 0x9B33,
+ 6881: 0x9B34,
+ 6882: 0x9B35,
+ 6883: 0x9B37,
+ 6884: 0x9B39,
+ 6885: 0x9B3A,
+ 6886: 0x9B3D,
+ 6887: 0x9B48,
+ 6888: 0x9B4B,
+ 6889: 0x9B4C,
+ 6890: 0x9B55,
+ 6891: 0x9B56,
+ 6892: 0x9B57,
+ 6893: 0x9B5B,
+ 6894: 0x9B5E,
+ 6895: 0x9B61,
+ 6896: 0x9B63,
+ 6897: 0x9B65,
+ 6898: 0x9B66,
+ 6899: 0x9B68,
+ 6900: 0x9B6A,
+ 6901: 0x9B6B,
+ 6902: 0x9B6C,
+ 6903: 0x9B6D,
+ 6904: 0x9B6E,
+ 6905: 0x9B73,
+ 6906: 0x9B75,
+ 6907: 0x9B77,
+ 6908: 0x9B78,
+ 6909: 0x9B79,
+ 6910: 0x9B7F,
+ 6911: 0x9B80,
+ 6912: 0x9B84,
+ 6913: 0x9B85,
+ 6914: 0x9B86,
+ 6915: 0x9B87,
+ 6916: 0x9B89,
+ 6917: 0x9B8A,
+ 6918: 0x9B8B,
+ 6919: 0x9B8D,
+ 6920: 0x9B8F,
+ 6921: 0x9B90,
+ 6922: 0x9B94,
+ 6923: 0x9B9A,
+ 6924: 0x9B9D,
+ 6925: 0x9B9E,
+ 6926: 0x9BA6,
+ 6927: 0x9BA7,
+ 6928: 0x9BA9,
+ 6929: 0x9BAC,
+ 6930: 0x9BB0,
+ 6931: 0x9BB1,
+ 6932: 0x9BB2,
+ 6933: 0x9BB7,
+ 6934: 0x9BB8,
+ 6935: 0x9BBB,
+ 6936: 0x9BBC,
+ 6937: 0x9BBE,
+ 6938: 0x9BBF,
+ 6939: 0x9BC1,
+ 6940: 0x9BC7,
+ 6941: 0x9BC8,
+ 6942: 0x9BCE,
+ 6943: 0x9BD0,
+ 6944: 0x9BD7,
+ 6945: 0x9BD8,
+ 6946: 0x9BDD,
+ 6947: 0x9BDF,
+ 6948: 0x9BE5,
+ 6949: 0x9BE7,
+ 6950: 0x9BEA,
+ 6951: 0x9BEB,
+ 6952: 0x9BEF,
+ 6953: 0x9BF3,
+ 6954: 0x9BF7,
+ 6955: 0x9BF8,
+ 6956: 0x9BF9,
+ 6957: 0x9BFA,
+ 6958: 0x9BFD,
+ 6959: 0x9BFF,
+ 6960: 0x9C00,
+ 6961: 0x9C02,
+ 6962: 0x9C0B,
+ 6963: 0x9C0F,
+ 6964: 0x9C11,
+ 6965: 0x9C16,
+ 6966: 0x9C18,
+ 6967: 0x9C19,
+ 6968: 0x9C1A,
+ 6969: 0x9C1C,
+ 6970: 0x9C1E,
+ 6971: 0x9C22,
+ 6972: 0x9C23,
+ 6973: 0x9C26,
+ 6974: 0x9C27,
+ 6975: 0x9C28,
+ 6976: 0x9C29,
+ 6977: 0x9C2A,
+ 6978: 0x9C31,
+ 6979: 0x9C35,
+ 6980: 0x9C36,
+ 6981: 0x9C37,
+ 6982: 0x9C3D,
+ 6983: 0x9C41,
+ 6984: 0x9C43,
+ 6985: 0x9C44,
+ 6986: 0x9C45,
+ 6987: 0x9C49,
+ 6988: 0x9C4A,
+ 6989: 0x9C4E,
+ 6990: 0x9C4F,
+ 6991: 0x9C50,
+ 6992: 0x9C53,
+ 6993: 0x9C54,
+ 6994: 0x9C56,
+ 6995: 0x9C58,
+ 6996: 0x9C5B,
+ 6997: 0x9C5D,
+ 6998: 0x9C5E,
+ 6999: 0x9C5F,
+ 7000: 0x9C63,
+ 7001: 0x9C69,
+ 7002: 0x9C6A,
+ 7003: 0x9C5C,
+ 7004: 0x9C6B,
+ 7005: 0x9C68,
+ 7006: 0x9C6E,
+ 7007: 0x9C70,
+ 7008: 0x9C72,
+ 7009: 0x9C75,
+ 7010: 0x9C77,
+ 7011: 0x9C7B,
+ 7012: 0x9CE6,
+ 7013: 0x9CF2,
+ 7014: 0x9CF7,
+ 7015: 0x9CF9,
+ 7016: 0x9D0B,
+ 7017: 0x9D02,
+ 7018: 0x9D11,
+ 7019: 0x9D17,
+ 7020: 0x9D18,
+ 7021: 0x9D1C,
+ 7022: 0x9D1D,
+ 7023: 0x9D1E,
+ 7024: 0x9D2F,
+ 7025: 0x9D30,
+ 7026: 0x9D32,
+ 7027: 0x9D33,
+ 7028: 0x9D34,
+ 7029: 0x9D3A,
+ 7030: 0x9D3C,
+ 7031: 0x9D45,
+ 7032: 0x9D3D,
+ 7033: 0x9D42,
+ 7034: 0x9D43,
+ 7035: 0x9D47,
+ 7036: 0x9D4A,
+ 7037: 0x9D53,
+ 7038: 0x9D54,
+ 7039: 0x9D5F,
+ 7040: 0x9D63,
+ 7041: 0x9D62,
+ 7042: 0x9D65,
+ 7043: 0x9D69,
+ 7044: 0x9D6A,
+ 7045: 0x9D6B,
+ 7046: 0x9D70,
+ 7047: 0x9D76,
+ 7048: 0x9D77,
+ 7049: 0x9D7B,
+ 7050: 0x9D7C,
+ 7051: 0x9D7E,
+ 7052: 0x9D83,
+ 7053: 0x9D84,
+ 7054: 0x9D86,
+ 7055: 0x9D8A,
+ 7056: 0x9D8D,
+ 7057: 0x9D8E,
+ 7058: 0x9D92,
+ 7059: 0x9D93,
+ 7060: 0x9D95,
+ 7061: 0x9D96,
+ 7062: 0x9D97,
+ 7063: 0x9D98,
+ 7064: 0x9DA1,
+ 7065: 0x9DAA,
+ 7066: 0x9DAC,
+ 7067: 0x9DAE,
+ 7068: 0x9DB1,
+ 7069: 0x9DB5,
+ 7070: 0x9DB9,
+ 7071: 0x9DBC,
+ 7072: 0x9DBF,
+ 7073: 0x9DC3,
+ 7074: 0x9DC7,
+ 7075: 0x9DC9,
+ 7076: 0x9DCA,
+ 7077: 0x9DD4,
+ 7078: 0x9DD5,
+ 7079: 0x9DD6,
+ 7080: 0x9DD7,
+ 7081: 0x9DDA,
+ 7082: 0x9DDE,
+ 7083: 0x9DDF,
+ 7084: 0x9DE0,
+ 7085: 0x9DE5,
+ 7086: 0x9DE7,
+ 7087: 0x9DE9,
+ 7088: 0x9DEB,
+ 7089: 0x9DEE,
+ 7090: 0x9DF0,
+ 7091: 0x9DF3,
+ 7092: 0x9DF4,
+ 7093: 0x9DFE,
+ 7094: 0x9E0A,
+ 7095: 0x9E02,
+ 7096: 0x9E07,
+ 7097: 0x9E0E,
+ 7098: 0x9E10,
+ 7099: 0x9E11,
+ 7100: 0x9E12,
+ 7101: 0x9E15,
+ 7102: 0x9E16,
+ 7103: 0x9E19,
+ 7104: 0x9E1C,
+ 7105: 0x9E1D,
+ 7106: 0x9E7A,
+ 7107: 0x9E7B,
+ 7108: 0x9E7C,
+ 7109: 0x9E80,
+ 7110: 0x9E82,
+ 7111: 0x9E83,
+ 7112: 0x9E84,
+ 7113: 0x9E85,
+ 7114: 0x9E87,
+ 7115: 0x9E8E,
+ 7116: 0x9E8F,
+ 7117: 0x9E96,
+ 7118: 0x9E98,
+ 7119: 0x9E9B,
+ 7120: 0x9E9E,
+ 7121: 0x9EA4,
+ 7122: 0x9EA8,
+ 7123: 0x9EAC,
+ 7124: 0x9EAE,
+ 7125: 0x9EAF,
+ 7126: 0x9EB0,
+ 7127: 0x9EB3,
+ 7128: 0x9EB4,
+ 7129: 0x9EB5,
+ 7130: 0x9EC6,
+ 7131: 0x9EC8,
+ 7132: 0x9ECB,
+ 7133: 0x9ED5,
+ 7134: 0x9EDF,
+ 7135: 0x9EE4,
+ 7136: 0x9EE7,
+ 7137: 0x9EEC,
+ 7138: 0x9EED,
+ 7139: 0x9EEE,
+ 7140: 0x9EF0,
+ 7141: 0x9EF1,
+ 7142: 0x9EF2,
+ 7143: 0x9EF5,
+ 7144: 0x9EF8,
+ 7145: 0x9EFF,
+ 7146: 0x9F02,
+ 7147: 0x9F03,
+ 7148: 0x9F09,
+ 7149: 0x9F0F,
+ 7150: 0x9F10,
+ 7151: 0x9F11,
+ 7152: 0x9F12,
+ 7153: 0x9F14,
+ 7154: 0x9F16,
+ 7155: 0x9F17,
+ 7156: 0x9F19,
+ 7157: 0x9F1A,
+ 7158: 0x9F1B,
+ 7159: 0x9F1F,
+ 7160: 0x9F22,
+ 7161: 0x9F26,
+ 7162: 0x9F2A,
+ 7163: 0x9F2B,
+ 7164: 0x9F2F,
+ 7165: 0x9F31,
+ 7166: 0x9F32,
+ 7167: 0x9F34,
+ 7168: 0x9F37,
+ 7169: 0x9F39,
+ 7170: 0x9F3A,
+ 7171: 0x9F3C,
+ 7172: 0x9F3D,
+ 7173: 0x9F3F,
+ 7174: 0x9F41,
+ 7175: 0x9F43,
+ 7176: 0x9F44,
+ 7177: 0x9F45,
+ 7178: 0x9F46,
+ 7179: 0x9F47,
+ 7180: 0x9F53,
+ 7181: 0x9F55,
+ 7182: 0x9F56,
+ 7183: 0x9F57,
+ 7184: 0x9F58,
+ 7185: 0x9F5A,
+ 7186: 0x9F5D,
+ 7187: 0x9F5E,
+ 7188: 0x9F68,
+ 7189: 0x9F69,
+ 7190: 0x9F6D,
+ 7191: 0x9F6E,
+ 7192: 0x9F6F,
+ 7193: 0x9F70,
+ 7194: 0x9F71,
+ 7195: 0x9F73,
+ 7196: 0x9F75,
+ 7197: 0x9F7A,
+ 7198: 0x9F7D,
+ 7199: 0x9F8F,
+ 7200: 0x9F90,
+ 7201: 0x9F91,
+ 7202: 0x9F92,
+ 7203: 0x9F94,
+ 7204: 0x9F96,
+ 7205: 0x9F97,
+ 7206: 0x9F9E,
+ 7207: 0x9FA1,
+ 7208: 0x9FA2,
+ 7209: 0x9FA3,
+ 7210: 0x9FA5,
+}
+
+const (
+ jis0208 = 1
+ jis0212 = 2
+ codeMask = 0x7f
+ codeShift = 7
+ tableShift = 14
+)
+
+const numEncodeTables = 6
+
+// encodeX are the encoding tables from Unicode to JIS code,
+// sorted by decreasing length.
+// encode0: 20902 entries for runes in [19968, 40870).
+// encode1: 1632 entries for runes in [ 8208, 9840).
+// encode2: 974 entries for runes in [12288, 13262).
+// encode3: 959 entries for runes in [ 161, 1120).
+// encode4: 261 entries for runes in [63785, 64046).
+// encode5: 229 entries for runes in [65281, 65510).
+//
+// The high two bits of the value record whether the JIS code comes from the
+// JIS0208 table (high bits == 1) or the JIS0212 table (high bits == 2).
+// The low 14 bits are two 7-bit unsigned integers j1 and j2 that form the
+// JIS code (94*j1 + j2) within that table.
+
+const encode0Low, encode0High = 19968, 40870
+
+var encode0 = [...]uint16{
+ 19968 - 19968: jis0208<<14 | 0x0F<<7 | 0x4B,
+ 19969 - 19968: jis0208<<14 | 0x22<<7 | 0x59,
+ 19970 - 19968: jis0212<<14 | 0x0F<<7 | 0x00,
+ 19971 - 19968: jis0208<<14 | 0x1B<<7 | 0x16,
+ 19972 - 19968: jis0212<<14 | 0x0F<<7 | 0x01,
+ 19973 - 19968: jis0212<<14 | 0x0F<<7 | 0x02,
+ 19975 - 19968: jis0208<<14 | 0x2A<<7 | 0x5B,
+ 19976 - 19968: jis0208<<14 | 0x1D<<7 | 0x45,
+ 19977 - 19968: jis0208<<14 | 0x1A<<7 | 0x0F,
+ 19978 - 19968: jis0208<<14 | 0x1D<<7 | 0x44,
+ 19979 - 19968: jis0208<<14 | 0x11<<7 | 0x1B,
+ 19980 - 19968: jis0212<<14 | 0x0F<<7 | 0x03,
+ 19981 - 19968: jis0208<<14 | 0x28<<7 | 0x33,
+ 19982 - 19968: jis0208<<14 | 0x2C<<7 | 0x1E,
+ 19984 - 19968: jis0208<<14 | 0x2F<<7 | 0x01,
+ 19985 - 19968: jis0208<<14 | 0x10<<7 | 0x0E,
+ 19986 - 19968: jis0212<<14 | 0x0F<<7 | 0x04,
+ 19988 - 19968: jis0208<<14 | 0x12<<7 | 0x4D,
+ 19989 - 19968: jis0208<<14 | 0x2F<<7 | 0x02,
+ 19990 - 19968: jis0208<<14 | 0x1F<<7 | 0x03,
+ 19991 - 19968: jis0208<<14 | 0x31<<7 | 0x21,
+ 19992 - 19968: jis0208<<14 | 0x14<<7 | 0x35,
+ 19993 - 19968: jis0208<<14 | 0x29<<7 | 0x19,
+ 19998 - 19968: jis0208<<14 | 0x1D<<7 | 0x46,
+ 19999 - 19968: jis0212<<14 | 0x0F<<7 | 0x05,
+ 20001 - 19968: jis0208<<14 | 0x2D<<7 | 0x1D,
+ 20003 - 19968: jis0212<<14 | 0x0F<<7 | 0x06,
+ 20004 - 19968: jis0212<<14 | 0x0F<<7 | 0x07,
+ 20006 - 19968: jis0208<<14 | 0x29<<7 | 0x21,
+ 20008 - 19968: jis0208<<14 | 0x58<<7 | 0x0C,
+ 20010 - 19968: jis0208<<14 | 0x2F<<7 | 0x03,
+ 20011 - 19968: jis0212<<14 | 0x0F<<7 | 0x09,
+ 20013 - 19968: jis0208<<14 | 0x22<<7 | 0x45,
+ 20014 - 19968: jis0212<<14 | 0x0F<<7 | 0x0A,
+ 20015 - 19968: jis0212<<14 | 0x0F<<7 | 0x0B,
+ 20016 - 19968: jis0212<<14 | 0x0F<<7 | 0x0C,
+ 20017 - 19968: jis0208<<14 | 0x2F<<7 | 0x04,
+ 20018 - 19968: jis0208<<14 | 0x15<<7 | 0x59,
+ 20021 - 19968: jis0212<<14 | 0x0F<<7 | 0x0D,
+ 20022 - 19968: jis0208<<14 | 0x2F<<7 | 0x05,
+ 20024 - 19968: jis0208<<14 | 0x13<<7 | 0x3C,
+ 20025 - 19968: jis0208<<14 | 0x22<<7 | 0x0F,
+ 20027 - 19968: jis0208<<14 | 0x1B<<7 | 0x46,
+ 20028 - 19968: jis0208<<14 | 0x2F<<7 | 0x06,
+ 20031 - 19968: jis0208<<14 | 0x2F<<7 | 0x07,
+ 20032 - 19968: jis0212<<14 | 0x0F<<7 | 0x0E,
+ 20033 - 19968: jis0212<<14 | 0x0F<<7 | 0x0F,
+ 20034 - 19968: jis0208<<14 | 0x2F<<7 | 0x08,
+ 20035 - 19968: jis0208<<14 | 0x26<<7 | 0x14,
+ 20036 - 19968: jis0212<<14 | 0x0F<<7 | 0x10,
+ 20037 - 19968: jis0208<<14 | 0x14<<7 | 0x36,
+ 20039 - 19968: jis0212<<14 | 0x0F<<7 | 0x11,
+ 20043 - 19968: jis0208<<14 | 0x26<<7 | 0x16,
+ 20045 - 19968: jis0208<<14 | 0x25<<7 | 0x42,
+ 20046 - 19968: jis0208<<14 | 0x17<<7 | 0x22,
+ 20047 - 19968: jis0208<<14 | 0x2A<<7 | 0x12,
+ 20049 - 19968: jis0212<<14 | 0x0F<<7 | 0x12,
+ 20053 - 19968: jis0208<<14 | 0x48<<7 | 0x28,
+ 20054 - 19968: jis0208<<14 | 0x2F<<7 | 0x09,
+ 20055 - 19968: jis0208<<14 | 0x1D<<7 | 0x47,
+ 20056 - 19968: jis0208<<14 | 0x2F<<7 | 0x0A,
+ 20057 - 19968: jis0208<<14 | 0x11<<7 | 0x14,
+ 20058 - 19968: jis0212<<14 | 0x0F<<7 | 0x13,
+ 20060 - 19968: jis0212<<14 | 0x0F<<7 | 0x14,
+ 20061 - 19968: jis0208<<14 | 0x15<<7 | 0x44,
+ 20062 - 19968: jis0208<<14 | 0x17<<7 | 0x4F,
+ 20063 - 19968: jis0208<<14 | 0x2B<<7 | 0x48,
+ 20066 - 19968: jis0208<<14 | 0x35<<7 | 0x05,
+ 20067 - 19968: jis0212<<14 | 0x0F<<7 | 0x15,
+ 20072 - 19968: jis0212<<14 | 0x0F<<7 | 0x16,
+ 20073 - 19968: jis0212<<14 | 0x0F<<7 | 0x17,
+ 20081 - 19968: jis0208<<14 | 0x2C<<7 | 0x4F,
+ 20083 - 19968: jis0208<<14 | 0x25<<7 | 0x5C,
+ 20084 - 19968: jis0212<<14 | 0x0F<<7 | 0x18,
+ 20085 - 19968: jis0212<<14 | 0x0F<<7 | 0x19,
+ 20089 - 19968: jis0212<<14 | 0x0F<<7 | 0x1A,
+ 20094 - 19968: jis0208<<14 | 0x13<<7 | 0x04,
+ 20095 - 19968: jis0212<<14 | 0x0F<<7 | 0x1B,
+ 20096 - 19968: jis0208<<14 | 0x14<<7 | 0x14,
+ 20098 - 19968: jis0208<<14 | 0x2F<<7 | 0x0B,
+ 20101 - 19968: jis0208<<14 | 0x2F<<7 | 0x0C,
+ 20102 - 19968: jis0208<<14 | 0x2D<<7 | 0x1A,
+ 20104 - 19968: jis0208<<14 | 0x2C<<7 | 0x1C,
+ 20105 - 19968: jis0208<<14 | 0x20<<7 | 0x47,
+ 20106 - 19968: jis0208<<14 | 0x2F<<7 | 0x0E,
+ 20107 - 19968: jis0208<<14 | 0x1A<<7 | 0x55,
+ 20108 - 19968: jis0208<<14 | 0x25<<7 | 0x52,
+ 20109 - 19968: jis0212<<14 | 0x0F<<7 | 0x1C,
+ 20110 - 19968: jis0208<<14 | 0x2F<<7 | 0x11,
+ 20113 - 19968: jis0208<<14 | 0x10<<7 | 0x1D,
+ 20114 - 19968: jis0208<<14 | 0x17<<7 | 0x3E,
+ 20116 - 19968: jis0208<<14 | 0x17<<7 | 0x3D,
+ 20117 - 19968: jis0208<<14 | 0x0F<<7 | 0x45,
+ 20118 - 19968: jis0212<<14 | 0x0F<<7 | 0x1D,
+ 20119 - 19968: jis0212<<14 | 0x0F<<7 | 0x1E,
+ 20120 - 19968: jis0208<<14 | 0x2E<<7 | 0x2A,
+ 20121 - 19968: jis0208<<14 | 0x2E<<7 | 0x29,
+ 20123 - 19968: jis0208<<14 | 0x19<<7 | 0x12,
+ 20124 - 19968: jis0208<<14 | 0x0F<<7 | 0x00,
+ 20125 - 19968: jis0212<<14 | 0x0F<<7 | 0x1F,
+ 20126 - 19968: jis0208<<14 | 0x2F<<7 | 0x12,
+ 20127 - 19968: jis0208<<14 | 0x2F<<7 | 0x13,
+ 20128 - 19968: jis0208<<14 | 0x2F<<7 | 0x14,
+ 20129 - 19968: jis0208<<14 | 0x2A<<7 | 0x13,
+ 20130 - 19968: jis0208<<14 | 0x2F<<7 | 0x15,
+ 20132 - 19968: jis0208<<14 | 0x17<<7 | 0x51,
+ 20133 - 19968: jis0208<<14 | 0x0F<<7 | 0x46,
+ 20134 - 19968: jis0208<<14 | 0x2A<<7 | 0x51,
+ 20136 - 19968: jis0208<<14 | 0x14<<7 | 0x5B,
+ 20139 - 19968: jis0208<<14 | 0x14<<7 | 0x5C,
+ 20140 - 19968: jis0208<<14 | 0x14<<7 | 0x5D,
+ 20141 - 19968: jis0208<<14 | 0x23<<7 | 0x41,
+ 20142 - 19968: jis0208<<14 | 0x2D<<7 | 0x1B,
+ 20143 - 19968: jis0212<<14 | 0x0F<<7 | 0x20,
+ 20144 - 19968: jis0208<<14 | 0x2F<<7 | 0x16,
+ 20147 - 19968: jis0208<<14 | 0x2F<<7 | 0x17,
+ 20150 - 19968: jis0208<<14 | 0x2F<<7 | 0x18,
+ 20153 - 19968: jis0212<<14 | 0x0F<<7 | 0x21,
+ 20154 - 19968: jis0208<<14 | 0x1E<<7 | 0x2C,
+ 20160 - 19968: jis0208<<14 | 0x1C<<7 | 0x19,
+ 20161 - 19968: jis0208<<14 | 0x1E<<7 | 0x2D,
+ 20162 - 19968: jis0208<<14 | 0x2F<<7 | 0x1D,
+ 20163 - 19968: jis0212<<14 | 0x0F<<7 | 0x22,
+ 20164 - 19968: jis0208<<14 | 0x2F<<7 | 0x1B,
+ 20166 - 19968: jis0208<<14 | 0x2F<<7 | 0x1C,
+ 20167 - 19968: jis0208<<14 | 0x14<<7 | 0x37,
+ 20170 - 19968: jis0208<<14 | 0x19<<7 | 0x02,
+ 20171 - 19968: jis0208<<14 | 0x11<<7 | 0x4F,
+ 20173 - 19968: jis0208<<14 | 0x2F<<7 | 0x1A,
+ 20174 - 19968: jis0208<<14 | 0x2F<<7 | 0x19,
+ 20175 - 19968: jis0208<<14 | 0x29<<7 | 0x08,
+ 20176 - 19968: jis0212<<14 | 0x0F<<7 | 0x23,
+ 20180 - 19968: jis0208<<14 | 0x1A<<7 | 0x25,
+ 20181 - 19968: jis0208<<14 | 0x1A<<7 | 0x24,
+ 20182 - 19968: jis0208<<14 | 0x21<<7 | 0x1D,
+ 20183 - 19968: jis0208<<14 | 0x2F<<7 | 0x1E,
+ 20184 - 19968: jis0208<<14 | 0x28<<7 | 0x34,
+ 20185 - 19968: jis0208<<14 | 0x1F<<7 | 0x46,
+ 20186 - 19968: jis0212<<14 | 0x0F<<7 | 0x24,
+ 20187 - 19968: jis0212<<14 | 0x0F<<7 | 0x25,
+ 20189 - 19968: jis0208<<14 | 0x00<<7 | 0x17,
+ 20190 - 19968: jis0208<<14 | 0x2F<<7 | 0x1F,
+ 20191 - 19968: jis0208<<14 | 0x2F<<7 | 0x21,
+ 20192 - 19968: jis0212<<14 | 0x0F<<7 | 0x26,
+ 20193 - 19968: jis0208<<14 | 0x58<<7 | 0x0D,
+ 20194 - 19968: jis0212<<14 | 0x0F<<7 | 0x28,
+ 20195 - 19968: jis0208<<14 | 0x21<<7 | 0x44,
+ 20196 - 19968: jis0208<<14 | 0x2D<<7 | 0x40,
+ 20197 - 19968: jis0208<<14 | 0x0F<<7 | 0x29,
+ 20200 - 19968: jis0212<<14 | 0x0F<<7 | 0x29,
+ 20205 - 19968: jis0208<<14 | 0x2F<<7 | 0x20,
+ 20206 - 19968: jis0208<<14 | 0x11<<7 | 0x1D,
+ 20207 - 19968: jis0212<<14 | 0x0F<<7 | 0x2A,
+ 20208 - 19968: jis0208<<14 | 0x15<<7 | 0x23,
+ 20209 - 19968: jis0212<<14 | 0x0F<<7 | 0x2B,
+ 20210 - 19968: jis0208<<14 | 0x22<<7 | 0x46,
+ 20211 - 19968: jis0212<<14 | 0x0F<<7 | 0x2C,
+ 20213 - 19968: jis0212<<14 | 0x0F<<7 | 0x2D,
+ 20214 - 19968: jis0208<<14 | 0x16<<7 | 0x4E,
+ 20215 - 19968: jis0208<<14 | 0x2F<<7 | 0x22,
+ 20219 - 19968: jis0208<<14 | 0x26<<7 | 0x03,
+ 20220 - 19968: jis0208<<14 | 0x58<<7 | 0x0E,
+ 20221 - 19968: jis0212<<14 | 0x0F<<7 | 0x2E,
+ 20222 - 19968: jis0212<<14 | 0x0F<<7 | 0x2F,
+ 20223 - 19968: jis0212<<14 | 0x0F<<7 | 0x30,
+ 20224 - 19968: jis0208<<14 | 0x58<<7 | 0x0F,
+ 20225 - 19968: jis0208<<14 | 0x13<<7 | 0x4A,
+ 20226 - 19968: jis0212<<14 | 0x0F<<7 | 0x32,
+ 20227 - 19968: jis0208<<14 | 0x58<<7 | 0x10,
+ 20232 - 19968: jis0212<<14 | 0x0F<<7 | 0x34,
+ 20233 - 19968: jis0208<<14 | 0x2F<<7 | 0x23,
+ 20234 - 19968: jis0208<<14 | 0x0F<<7 | 0x2A,
+ 20235 - 19968: jis0212<<14 | 0x0F<<7 | 0x35,
+ 20236 - 19968: jis0212<<14 | 0x0F<<7 | 0x36,
+ 20237 - 19968: jis0208<<14 | 0x17<<7 | 0x3F,
+ 20238 - 19968: jis0208<<14 | 0x13<<7 | 0x4B,
+ 20239 - 19968: jis0208<<14 | 0x28<<7 | 0x59,
+ 20240 - 19968: jis0208<<14 | 0x27<<7 | 0x11,
+ 20241 - 19968: jis0208<<14 | 0x14<<7 | 0x38,
+ 20242 - 19968: jis0212<<14 | 0x0F<<7 | 0x37,
+ 20245 - 19968: jis0212<<14 | 0x0F<<7 | 0x38,
+ 20246 - 19968: jis0212<<14 | 0x0F<<7 | 0x39,
+ 20247 - 19968: jis0212<<14 | 0x0F<<7 | 0x3A,
+ 20249 - 19968: jis0212<<14 | 0x0F<<7 | 0x3B,
+ 20250 - 19968: jis0208<<14 | 0x11<<7 | 0x50,
+ 20252 - 19968: jis0208<<14 | 0x2F<<7 | 0x46,
+ 20253 - 19968: jis0208<<14 | 0x24<<7 | 0x20,
+ 20270 - 19968: jis0212<<14 | 0x0F<<7 | 0x3C,
+ 20271 - 19968: jis0208<<14 | 0x26<<7 | 0x4B,
+ 20272 - 19968: jis0208<<14 | 0x2F<<7 | 0x25,
+ 20273 - 19968: jis0212<<14 | 0x0F<<7 | 0x3D,
+ 20275 - 19968: jis0212<<14 | 0x0F<<7 | 0x3F,
+ 20276 - 19968: jis0208<<14 | 0x27<<7 | 0x1B,
+ 20277 - 19968: jis0212<<14 | 0x0F<<7 | 0x40,
+ 20278 - 19968: jis0208<<14 | 0x2D<<7 | 0x41,
+ 20279 - 19968: jis0212<<14 | 0x0F<<7 | 0x41,
+ 20280 - 19968: jis0208<<14 | 0x1E<<7 | 0x0C,
+ 20281 - 19968: jis0208<<14 | 0x58<<7 | 0x11,
+ 20282 - 19968: jis0208<<14 | 0x1A<<7 | 0x26,
+ 20283 - 19968: jis0212<<14 | 0x0F<<7 | 0x43,
+ 20284 - 19968: jis0208<<14 | 0x1A<<7 | 0x56,
+ 20285 - 19968: jis0208<<14 | 0x11<<7 | 0x1F,
+ 20286 - 19968: jis0212<<14 | 0x0F<<7 | 0x44,
+ 20288 - 19968: jis0212<<14 | 0x0F<<7 | 0x45,
+ 20290 - 19968: jis0212<<14 | 0x0F<<7 | 0x46,
+ 20291 - 19968: jis0208<<14 | 0x23<<7 | 0x30,
+ 20294 - 19968: jis0208<<14 | 0x22<<7 | 0x01,
+ 20295 - 19968: jis0208<<14 | 0x2F<<7 | 0x29,
+ 20296 - 19968: jis0212<<14 | 0x0F<<7 | 0x47,
+ 20297 - 19968: jis0212<<14 | 0x0F<<7 | 0x48,
+ 20299 - 19968: jis0212<<14 | 0x0F<<7 | 0x49,
+ 20300 - 19968: jis0212<<14 | 0x0F<<7 | 0x4A,
+ 20301 - 19968: jis0208<<14 | 0x0F<<7 | 0x2B,
+ 20302 - 19968: jis0208<<14 | 0x23<<7 | 0x42,
+ 20303 - 19968: jis0208<<14 | 0x1C<<7 | 0x1A,
+ 20304 - 19968: jis0208<<14 | 0x19<<7 | 0x13,
+ 20305 - 19968: jis0208<<14 | 0x2C<<7 | 0x03,
+ 20306 - 19968: jis0212<<14 | 0x0F<<7 | 0x4B,
+ 20307 - 19968: jis0208<<14 | 0x21<<7 | 0x2D,
+ 20308 - 19968: jis0212<<14 | 0x0F<<7 | 0x4C,
+ 20309 - 19968: jis0208<<14 | 0x11<<7 | 0x1E,
+ 20310 - 19968: jis0208<<14 | 0x58<<7 | 0x12,
+ 20311 - 19968: jis0208<<14 | 0x2F<<7 | 0x28,
+ 20312 - 19968: jis0212<<14 | 0x0F<<7 | 0x4E,
+ 20313 - 19968: jis0208<<14 | 0x2C<<7 | 0x1D,
+ 20314 - 19968: jis0208<<14 | 0x2F<<7 | 0x24,
+ 20315 - 19968: jis0208<<14 | 0x2F<<7 | 0x26,
+ 20316 - 19968: jis0208<<14 | 0x19<<7 | 0x4D,
+ 20317 - 19968: jis0208<<14 | 0x2F<<7 | 0x27,
+ 20318 - 19968: jis0208<<14 | 0x34<<7 | 0x03,
+ 20319 - 19968: jis0212<<14 | 0x0F<<7 | 0x4F,
+ 20320 - 19968: jis0212<<14 | 0x0F<<7 | 0x3E,
+ 20323 - 19968: jis0212<<14 | 0x0F<<7 | 0x50,
+ 20329 - 19968: jis0208<<14 | 0x2F<<7 | 0x2F,
+ 20330 - 19968: jis0212<<14 | 0x0F<<7 | 0x51,
+ 20332 - 19968: jis0212<<14 | 0x0F<<7 | 0x52,
+ 20334 - 19968: jis0212<<14 | 0x0F<<7 | 0x53,
+ 20335 - 19968: jis0208<<14 | 0x2F<<7 | 0x32,
+ 20336 - 19968: jis0208<<14 | 0x2F<<7 | 0x30,
+ 20337 - 19968: jis0212<<14 | 0x0F<<7 | 0x54,
+ 20339 - 19968: jis0208<<14 | 0x11<<7 | 0x21,
+ 20341 - 19968: jis0208<<14 | 0x29<<7 | 0x1A,
+ 20342 - 19968: jis0208<<14 | 0x2F<<7 | 0x2A,
+ 20343 - 19968: jis0212<<14 | 0x0F<<7 | 0x55,
+ 20344 - 19968: jis0212<<14 | 0x0F<<7 | 0x56,
+ 20345 - 19968: jis0212<<14 | 0x0F<<7 | 0x57,
+ 20346 - 19968: jis0212<<14 | 0x0F<<7 | 0x58,
+ 20347 - 19968: jis0208<<14 | 0x2F<<7 | 0x2E,
+ 20348 - 19968: jis0208<<14 | 0x17<<7 | 0x52,
+ 20349 - 19968: jis0212<<14 | 0x0F<<7 | 0x59,
+ 20350 - 19968: jis0212<<14 | 0x0F<<7 | 0x5A,
+ 20351 - 19968: jis0208<<14 | 0x1A<<7 | 0x27,
+ 20353 - 19968: jis0212<<14 | 0x0F<<7 | 0x5B,
+ 20354 - 19968: jis0212<<14 | 0x0F<<7 | 0x5C,
+ 20355 - 19968: jis0208<<14 | 0x13<<7 | 0x05,
+ 20356 - 19968: jis0212<<14 | 0x0F<<7 | 0x5D,
+ 20357 - 19968: jis0212<<14 | 0x10<<7 | 0x00,
+ 20358 - 19968: jis0208<<14 | 0x2F<<7 | 0x33,
+ 20360 - 19968: jis0208<<14 | 0x2F<<7 | 0x2B,
+ 20361 - 19968: jis0212<<14 | 0x10<<7 | 0x01,
+ 20362 - 19968: jis0208<<14 | 0x58<<7 | 0x14,
+ 20363 - 19968: jis0208<<14 | 0x2D<<7 | 0x42,
+ 20364 - 19968: jis0212<<14 | 0x10<<7 | 0x03,
+ 20365 - 19968: jis0208<<14 | 0x1A<<7 | 0x57,
+ 20366 - 19968: jis0212<<14 | 0x10<<7 | 0x04,
+ 20367 - 19968: jis0208<<14 | 0x2F<<7 | 0x2C,
+ 20368 - 19968: jis0212<<14 | 0x10<<7 | 0x05,
+ 20369 - 19968: jis0208<<14 | 0x2F<<7 | 0x31,
+ 20370 - 19968: jis0208<<14 | 0x58<<7 | 0x13,
+ 20371 - 19968: jis0212<<14 | 0x10<<7 | 0x07,
+ 20372 - 19968: jis0208<<14 | 0x58<<7 | 0x16,
+ 20374 - 19968: jis0208<<14 | 0x2F<<7 | 0x34,
+ 20375 - 19968: jis0212<<14 | 0x10<<7 | 0x09,
+ 20376 - 19968: jis0208<<14 | 0x2F<<7 | 0x2D,
+ 20377 - 19968: jis0212<<14 | 0x10<<7 | 0x0A,
+ 20378 - 19968: jis0208<<14 | 0x58<<7 | 0x15,
+ 20379 - 19968: jis0208<<14 | 0x15<<7 | 0x00,
+ 20381 - 19968: jis0208<<14 | 0x0F<<7 | 0x2C,
+ 20382 - 19968: jis0212<<14 | 0x10<<7 | 0x0C,
+ 20383 - 19968: jis0212<<14 | 0x10<<7 | 0x0D,
+ 20384 - 19968: jis0208<<14 | 0x15<<7 | 0x01,
+ 20385 - 19968: jis0208<<14 | 0x11<<7 | 0x20,
+ 20395 - 19968: jis0208<<14 | 0x34<<7 | 0x04,
+ 20397 - 19968: jis0208<<14 | 0x2A<<7 | 0x58,
+ 20398 - 19968: jis0208<<14 | 0x28<<7 | 0x4D,
+ 20399 - 19968: jis0208<<14 | 0x17<<7 | 0x53,
+ 20402 - 19968: jis0212<<14 | 0x10<<7 | 0x0E,
+ 20405 - 19968: jis0208<<14 | 0x1E<<7 | 0x0E,
+ 20406 - 19968: jis0208<<14 | 0x2D<<7 | 0x16,
+ 20407 - 19968: jis0212<<14 | 0x10<<7 | 0x0F,
+ 20409 - 19968: jis0212<<14 | 0x10<<7 | 0x10,
+ 20411 - 19968: jis0212<<14 | 0x10<<7 | 0x11,
+ 20412 - 19968: jis0212<<14 | 0x10<<7 | 0x12,
+ 20413 - 19968: jis0212<<14 | 0x10<<7 | 0x13,
+ 20414 - 19968: jis0212<<14 | 0x10<<7 | 0x14,
+ 20415 - 19968: jis0208<<14 | 0x29<<7 | 0x37,
+ 20416 - 19968: jis0212<<14 | 0x10<<7 | 0x15,
+ 20417 - 19968: jis0212<<14 | 0x10<<7 | 0x16,
+ 20418 - 19968: jis0208<<14 | 0x16<<7 | 0x17,
+ 20419 - 19968: jis0208<<14 | 0x21<<7 | 0x04,
+ 20420 - 19968: jis0208<<14 | 0x11<<7 | 0x43,
+ 20421 - 19968: jis0212<<14 | 0x10<<7 | 0x17,
+ 20422 - 19968: jis0212<<14 | 0x10<<7 | 0x18,
+ 20424 - 19968: jis0212<<14 | 0x10<<7 | 0x19,
+ 20425 - 19968: jis0208<<14 | 0x58<<7 | 0x05,
+ 20426 - 19968: jis0208<<14 | 0x1C<<7 | 0x32,
+ 20427 - 19968: jis0212<<14 | 0x10<<7 | 0x1B,
+ 20428 - 19968: jis0212<<14 | 0x10<<7 | 0x1C,
+ 20429 - 19968: jis0208<<14 | 0x58<<7 | 0x17,
+ 20430 - 19968: jis0208<<14 | 0x2F<<7 | 0x38,
+ 20431 - 19968: jis0212<<14 | 0x10<<7 | 0x1E,
+ 20432 - 19968: jis0208<<14 | 0x2F<<7 | 0x3D,
+ 20433 - 19968: jis0208<<14 | 0x2F<<7 | 0x3B,
+ 20434 - 19968: jis0212<<14 | 0x10<<7 | 0x1F,
+ 20436 - 19968: jis0208<<14 | 0x2F<<7 | 0x36,
+ 20439 - 19968: jis0208<<14 | 0x21<<7 | 0x0E,
+ 20440 - 19968: jis0208<<14 | 0x2F<<7 | 0x39,
+ 20442 - 19968: jis0208<<14 | 0x2F<<7 | 0x3C,
+ 20443 - 19968: jis0208<<14 | 0x2F<<7 | 0x3A,
+ 20444 - 19968: jis0212<<14 | 0x10<<7 | 0x20,
+ 20445 - 19968: jis0208<<14 | 0x29<<7 | 0x3C,
+ 20447 - 19968: jis0208<<14 | 0x2F<<7 | 0x37,
+ 20448 - 19968: jis0212<<14 | 0x10<<7 | 0x21,
+ 20449 - 19968: jis0208<<14 | 0x1E<<7 | 0x0D,
+ 20450 - 19968: jis0212<<14 | 0x10<<7 | 0x22,
+ 20451 - 19968: jis0208<<14 | 0x2A<<7 | 0x52,
+ 20452 - 19968: jis0208<<14 | 0x2F<<7 | 0x3E,
+ 20453 - 19968: jis0208<<14 | 0x2F<<7 | 0x3F,
+ 20462 - 19968: jis0208<<14 | 0x1C<<7 | 0x03,
+ 20463 - 19968: jis0208<<14 | 0x2F<<7 | 0x4C,
+ 20464 - 19968: jis0212<<14 | 0x10<<7 | 0x23,
+ 20466 - 19968: jis0212<<14 | 0x10<<7 | 0x24,
+ 20467 - 19968: jis0208<<14 | 0x26<<7 | 0x2F,
+ 20469 - 19968: jis0208<<14 | 0x28<<7 | 0x15,
+ 20470 - 19968: jis0208<<14 | 0x2F<<7 | 0x47,
+ 20472 - 19968: jis0208<<14 | 0x29<<7 | 0x4F,
+ 20474 - 19968: jis0208<<14 | 0x11<<7 | 0x15,
+ 20476 - 19968: jis0212<<14 | 0x10<<7 | 0x25,
+ 20477 - 19968: jis0212<<14 | 0x10<<7 | 0x26,
+ 20478 - 19968: jis0208<<14 | 0x2F<<7 | 0x4B,
+ 20479 - 19968: jis0208<<14 | 0x58<<7 | 0x1A,
+ 20480 - 19968: jis0212<<14 | 0x10<<7 | 0x28,
+ 20481 - 19968: jis0212<<14 | 0x10<<7 | 0x29,
+ 20484 - 19968: jis0212<<14 | 0x10<<7 | 0x2A,
+ 20485 - 19968: jis0208<<14 | 0x2F<<7 | 0x45,
+ 20486 - 19968: jis0208<<14 | 0x2F<<7 | 0x4E,
+ 20487 - 19968: jis0212<<14 | 0x10<<7 | 0x2B,
+ 20489 - 19968: jis0208<<14 | 0x20<<7 | 0x31,
+ 20490 - 19968: jis0212<<14 | 0x10<<7 | 0x2C,
+ 20491 - 19968: jis0208<<14 | 0x17<<7 | 0x23,
+ 20492 - 19968: jis0212<<14 | 0x10<<7 | 0x2D,
+ 20493 - 19968: jis0208<<14 | 0x26<<7 | 0x3B,
+ 20494 - 19968: jis0212<<14 | 0x10<<7 | 0x2E,
+ 20495 - 19968: jis0208<<14 | 0x3F<<7 | 0x26,
+ 20496 - 19968: jis0212<<14 | 0x10<<7 | 0x2F,
+ 20497 - 19968: jis0208<<14 | 0x2F<<7 | 0x4D,
+ 20498 - 19968: jis0208<<14 | 0x24<<7 | 0x3C,
+ 20499 - 19968: jis0212<<14 | 0x10<<7 | 0x30,
+ 20500 - 19968: jis0208<<14 | 0x2F<<7 | 0x42,
+ 20502 - 19968: jis0208<<14 | 0x17<<7 | 0x55,
+ 20503 - 19968: jis0212<<14 | 0x10<<7 | 0x31,
+ 20504 - 19968: jis0212<<14 | 0x10<<7 | 0x32,
+ 20505 - 19968: jis0208<<14 | 0x17<<7 | 0x54,
+ 20506 - 19968: jis0208<<14 | 0x2F<<7 | 0x40,
+ 20507 - 19968: jis0212<<14 | 0x10<<7 | 0x33,
+ 20508 - 19968: jis0212<<14 | 0x10<<7 | 0x34,
+ 20509 - 19968: jis0212<<14 | 0x10<<7 | 0x35,
+ 20510 - 19968: jis0208<<14 | 0x58<<7 | 0x1B,
+ 20511 - 19968: jis0208<<14 | 0x1B<<7 | 0x39,
+ 20513 - 19968: jis0208<<14 | 0x2F<<7 | 0x48,
+ 20514 - 19968: jis0208<<14 | 0x58<<7 | 0x19,
+ 20515 - 19968: jis0208<<14 | 0x29<<7 | 0x4E,
+ 20516 - 19968: jis0208<<14 | 0x22<<7 | 0x2C,
+ 20517 - 19968: jis0208<<14 | 0x2F<<7 | 0x44,
+ 20518 - 19968: jis0208<<14 | 0x16<<7 | 0x50,
+ 20519 - 19968: jis0212<<14 | 0x10<<7 | 0x38,
+ 20520 - 19968: jis0208<<14 | 0x2F<<7 | 0x41,
+ 20521 - 19968: jis0208<<14 | 0x2F<<7 | 0x49,
+ 20522 - 19968: jis0208<<14 | 0x2F<<7 | 0x43,
+ 20523 - 19968: jis0208<<14 | 0x2D<<7 | 0x30,
+ 20524 - 19968: jis0208<<14 | 0x2F<<7 | 0x4A,
+ 20525 - 19968: jis0208<<14 | 0x2E<<7 | 0x20,
+ 20526 - 19968: jis0212<<14 | 0x10<<7 | 0x39,
+ 20528 - 19968: jis0212<<14 | 0x10<<7 | 0x3A,
+ 20530 - 19968: jis0212<<14 | 0x10<<7 | 0x3B,
+ 20531 - 19968: jis0212<<14 | 0x10<<7 | 0x3C,
+ 20533 - 19968: jis0212<<14 | 0x10<<7 | 0x3D,
+ 20534 - 19968: jis0208<<14 | 0x15<<7 | 0x45,
+ 20537 - 19968: jis0208<<14 | 0x16<<7 | 0x4F,
+ 20539 - 19968: jis0212<<14 | 0x10<<7 | 0x55,
+ 20544 - 19968: jis0208<<14 | 0x58<<7 | 0x18,
+ 20545 - 19968: jis0212<<14 | 0x10<<7 | 0x3F,
+ 20546 - 19968: jis0208<<14 | 0x58<<7 | 0x1E,
+ 20547 - 19968: jis0208<<14 | 0x2F<<7 | 0x4F,
+ 20549 - 19968: jis0212<<14 | 0x10<<7 | 0x41,
+ 20550 - 19968: jis0208<<14 | 0x58<<7 | 0x1C,
+ 20551 - 19968: jis0208<<14 | 0x2F<<7 | 0x50,
+ 20552 - 19968: jis0208<<14 | 0x2F<<7 | 0x54,
+ 20553 - 19968: jis0208<<14 | 0x0F<<7 | 0x2D,
+ 20554 - 19968: jis0212<<14 | 0x10<<7 | 0x43,
+ 20556 - 19968: jis0212<<14 | 0x10<<7 | 0x44,
+ 20558 - 19968: jis0212<<14 | 0x10<<7 | 0x45,
+ 20559 - 19968: jis0208<<14 | 0x29<<7 | 0x2F,
+ 20560 - 19968: jis0208<<14 | 0x2F<<7 | 0x53,
+ 20561 - 19968: jis0212<<14 | 0x10<<7 | 0x46,
+ 20562 - 19968: jis0212<<14 | 0x10<<7 | 0x47,
+ 20563 - 19968: jis0212<<14 | 0x10<<7 | 0x48,
+ 20565 - 19968: jis0208<<14 | 0x2F<<7 | 0x52,
+ 20566 - 19968: jis0208<<14 | 0x2F<<7 | 0x56,
+ 20567 - 19968: jis0212<<14 | 0x10<<7 | 0x49,
+ 20569 - 19968: jis0212<<14 | 0x10<<7 | 0x4A,
+ 20570 - 19968: jis0208<<14 | 0x2F<<7 | 0x55,
+ 20572 - 19968: jis0208<<14 | 0x23<<7 | 0x43,
+ 20575 - 19968: jis0212<<14 | 0x10<<7 | 0x4B,
+ 20576 - 19968: jis0212<<14 | 0x10<<7 | 0x4C,
+ 20578 - 19968: jis0212<<14 | 0x10<<7 | 0x4D,
+ 20579 - 19968: jis0212<<14 | 0x10<<7 | 0x4E,
+ 20581 - 19968: jis0208<<14 | 0x16<<7 | 0x51,
+ 20582 - 19968: jis0212<<14 | 0x10<<7 | 0x4F,
+ 20583 - 19968: jis0212<<14 | 0x10<<7 | 0x50,
+ 20586 - 19968: jis0212<<14 | 0x10<<7 | 0x51,
+ 20588 - 19968: jis0208<<14 | 0x2F<<7 | 0x57,
+ 20589 - 19968: jis0212<<14 | 0x10<<7 | 0x52,
+ 20592 - 19968: jis0208<<14 | 0x58<<7 | 0x1D,
+ 20593 - 19968: jis0212<<14 | 0x10<<7 | 0x54,
+ 20594 - 19968: jis0208<<14 | 0x1B<<7 | 0x24,
+ 20596 - 19968: jis0208<<14 | 0x21<<7 | 0x05,
+ 20597 - 19968: jis0208<<14 | 0x23<<7 | 0x44,
+ 20598 - 19968: jis0208<<14 | 0x15<<7 | 0x55,
+ 20600 - 19968: jis0208<<14 | 0x2F<<7 | 0x58,
+ 20605 - 19968: jis0208<<14 | 0x14<<7 | 0x15,
+ 20608 - 19968: jis0208<<14 | 0x2F<<7 | 0x59,
+ 20609 - 19968: jis0212<<14 | 0x10<<7 | 0x56,
+ 20611 - 19968: jis0212<<14 | 0x10<<7 | 0x57,
+ 20612 - 19968: jis0212<<14 | 0x10<<7 | 0x58,
+ 20613 - 19968: jis0208<<14 | 0x2F<<7 | 0x5B,
+ 20614 - 19968: jis0212<<14 | 0x10<<7 | 0x59,
+ 20618 - 19968: jis0212<<14 | 0x10<<7 | 0x5A,
+ 20621 - 19968: jis0208<<14 | 0x2A<<7 | 0x14,
+ 20622 - 19968: jis0212<<14 | 0x10<<7 | 0x5B,
+ 20623 - 19968: jis0212<<14 | 0x10<<7 | 0x5C,
+ 20624 - 19968: jis0212<<14 | 0x10<<7 | 0x5D,
+ 20625 - 19968: jis0208<<14 | 0x16<<7 | 0x45,
+ 20626 - 19968: jis0212<<14 | 0x11<<7 | 0x00,
+ 20627 - 19968: jis0212<<14 | 0x11<<7 | 0x01,
+ 20628 - 19968: jis0208<<14 | 0x58<<7 | 0x1F,
+ 20630 - 19968: jis0212<<14 | 0x11<<7 | 0x03,
+ 20632 - 19968: jis0208<<14 | 0x1A<<7 | 0x10,
+ 20633 - 19968: jis0208<<14 | 0x27<<7 | 0x56,
+ 20634 - 19968: jis0208<<14 | 0x2F<<7 | 0x5A,
+ 20635 - 19968: jis0212<<14 | 0x11<<7 | 0x04,
+ 20636 - 19968: jis0212<<14 | 0x11<<7 | 0x05,
+ 20638 - 19968: jis0212<<14 | 0x11<<7 | 0x06,
+ 20639 - 19968: jis0212<<14 | 0x11<<7 | 0x07,
+ 20640 - 19968: jis0212<<14 | 0x11<<7 | 0x08,
+ 20641 - 19968: jis0212<<14 | 0x11<<7 | 0x09,
+ 20642 - 19968: jis0212<<14 | 0x11<<7 | 0x0A,
+ 20650 - 19968: jis0212<<14 | 0x11<<7 | 0x0B,
+ 20652 - 19968: jis0208<<14 | 0x19<<7 | 0x24,
+ 20653 - 19968: jis0208<<14 | 0x2C<<7 | 0x22,
+ 20655 - 19968: jis0212<<14 | 0x11<<7 | 0x0C,
+ 20656 - 19968: jis0212<<14 | 0x11<<7 | 0x0D,
+ 20658 - 19968: jis0208<<14 | 0x2F<<7 | 0x5D,
+ 20659 - 19968: jis0208<<14 | 0x30<<7 | 0x02,
+ 20660 - 19968: jis0208<<14 | 0x2F<<7 | 0x5C,
+ 20661 - 19968: jis0208<<14 | 0x19<<7 | 0x23,
+ 20663 - 19968: jis0208<<14 | 0x1C<<7 | 0x5C,
+ 20665 - 19968: jis0212<<14 | 0x11<<7 | 0x0E,
+ 20666 - 19968: jis0212<<14 | 0x11<<7 | 0x0F,
+ 20669 - 19968: jis0212<<14 | 0x11<<7 | 0x10,
+ 20670 - 19968: jis0208<<14 | 0x16<<7 | 0x18,
+ 20672 - 19968: jis0212<<14 | 0x11<<7 | 0x11,
+ 20674 - 19968: jis0208<<14 | 0x30<<7 | 0x03,
+ 20675 - 19968: jis0212<<14 | 0x11<<7 | 0x12,
+ 20676 - 19968: jis0212<<14 | 0x11<<7 | 0x13,
+ 20677 - 19968: jis0208<<14 | 0x15<<7 | 0x2E,
+ 20679 - 19968: jis0212<<14 | 0x11<<7 | 0x14,
+ 20681 - 19968: jis0208<<14 | 0x30<<7 | 0x00,
+ 20682 - 19968: jis0208<<14 | 0x30<<7 | 0x01,
+ 20684 - 19968: jis0212<<14 | 0x11<<7 | 0x15,
+ 20685 - 19968: jis0208<<14 | 0x25<<7 | 0x0E,
+ 20686 - 19968: jis0212<<14 | 0x11<<7 | 0x16,
+ 20687 - 19968: jis0208<<14 | 0x20<<7 | 0x5B,
+ 20688 - 19968: jis0212<<14 | 0x11<<7 | 0x17,
+ 20689 - 19968: jis0208<<14 | 0x15<<7 | 0x02,
+ 20691 - 19968: jis0212<<14 | 0x11<<7 | 0x18,
+ 20692 - 19968: jis0212<<14 | 0x11<<7 | 0x19,
+ 20693 - 19968: jis0208<<14 | 0x2A<<7 | 0x2C,
+ 20694 - 19968: jis0208<<14 | 0x30<<7 | 0x04,
+ 20696 - 19968: jis0208<<14 | 0x58<<7 | 0x21,
+ 20698 - 19968: jis0208<<14 | 0x2D<<7 | 0x1C,
+ 20700 - 19968: jis0212<<14 | 0x11<<7 | 0x1B,
+ 20701 - 19968: jis0212<<14 | 0x11<<7 | 0x1C,
+ 20702 - 19968: jis0208<<14 | 0x30<<7 | 0x05,
+ 20703 - 19968: jis0212<<14 | 0x11<<7 | 0x1D,
+ 20706 - 19968: jis0212<<14 | 0x11<<7 | 0x1E,
+ 20707 - 19968: jis0208<<14 | 0x30<<7 | 0x08,
+ 20708 - 19968: jis0212<<14 | 0x11<<7 | 0x1F,
+ 20709 - 19968: jis0208<<14 | 0x30<<7 | 0x06,
+ 20710 - 19968: jis0212<<14 | 0x11<<7 | 0x20,
+ 20711 - 19968: jis0208<<14 | 0x20<<7 | 0x2D,
+ 20712 - 19968: jis0212<<14 | 0x11<<7 | 0x21,
+ 20713 - 19968: jis0212<<14 | 0x11<<7 | 0x22,
+ 20717 - 19968: jis0208<<14 | 0x30<<7 | 0x07,
+ 20718 - 19968: jis0208<<14 | 0x30<<7 | 0x09,
+ 20719 - 19968: jis0212<<14 | 0x11<<7 | 0x23,
+ 20721 - 19968: jis0212<<14 | 0x11<<7 | 0x24,
+ 20722 - 19968: jis0212<<14 | 0x11<<7 | 0x30,
+ 20724 - 19968: jis0208<<14 | 0x58<<7 | 0x20,
+ 20725 - 19968: jis0208<<14 | 0x30<<7 | 0x0B,
+ 20726 - 19968: jis0212<<14 | 0x11<<7 | 0x25,
+ 20729 - 19968: jis0208<<14 | 0x30<<7 | 0x0A,
+ 20730 - 19968: jis0212<<14 | 0x11<<7 | 0x26,
+ 20731 - 19968: jis0208<<14 | 0x29<<7 | 0x27,
+ 20734 - 19968: jis0212<<14 | 0x11<<7 | 0x27,
+ 20736 - 19968: jis0208<<14 | 0x14<<7 | 0x16,
+ 20737 - 19968: jis0208<<14 | 0x30<<7 | 0x0D,
+ 20738 - 19968: jis0208<<14 | 0x30<<7 | 0x0E,
+ 20739 - 19968: jis0212<<14 | 0x11<<7 | 0x28,
+ 20740 - 19968: jis0208<<14 | 0x11<<7 | 0x0E,
+ 20742 - 19968: jis0212<<14 | 0x11<<7 | 0x29,
+ 20743 - 19968: jis0212<<14 | 0x11<<7 | 0x2A,
+ 20744 - 19968: jis0212<<14 | 0x11<<7 | 0x2B,
+ 20745 - 19968: jis0208<<14 | 0x30<<7 | 0x0C,
+ 20747 - 19968: jis0212<<14 | 0x11<<7 | 0x2C,
+ 20748 - 19968: jis0212<<14 | 0x11<<7 | 0x2D,
+ 20749 - 19968: jis0212<<14 | 0x11<<7 | 0x2E,
+ 20750 - 19968: jis0212<<14 | 0x11<<7 | 0x2F,
+ 20752 - 19968: jis0212<<14 | 0x11<<7 | 0x31,
+ 20754 - 19968: jis0208<<14 | 0x1B<<7 | 0x53,
+ 20756 - 19968: jis0208<<14 | 0x30<<7 | 0x11,
+ 20757 - 19968: jis0208<<14 | 0x30<<7 | 0x10,
+ 20758 - 19968: jis0208<<14 | 0x30<<7 | 0x0F,
+ 20759 - 19968: jis0212<<14 | 0x11<<7 | 0x32,
+ 20760 - 19968: jis0208<<14 | 0x2F<<7 | 0x35,
+ 20761 - 19968: jis0212<<14 | 0x11<<7 | 0x33,
+ 20762 - 19968: jis0208<<14 | 0x30<<7 | 0x12,
+ 20763 - 19968: jis0212<<14 | 0x11<<7 | 0x34,
+ 20764 - 19968: jis0212<<14 | 0x11<<7 | 0x35,
+ 20765 - 19968: jis0212<<14 | 0x11<<7 | 0x36,
+ 20766 - 19968: jis0212<<14 | 0x11<<7 | 0x37,
+ 20767 - 19968: jis0208<<14 | 0x1C<<7 | 0x5D,
+ 20769 - 19968: jis0208<<14 | 0x30<<7 | 0x13,
+ 20771 - 19968: jis0212<<14 | 0x11<<7 | 0x38,
+ 20775 - 19968: jis0212<<14 | 0x11<<7 | 0x39,
+ 20776 - 19968: jis0212<<14 | 0x11<<7 | 0x3A,
+ 20778 - 19968: jis0208<<14 | 0x2C<<7 | 0x04,
+ 20780 - 19968: jis0212<<14 | 0x11<<7 | 0x3B,
+ 20781 - 19968: jis0212<<14 | 0x11<<7 | 0x3C,
+ 20783 - 19968: jis0212<<14 | 0x11<<7 | 0x3D,
+ 20785 - 19968: jis0212<<14 | 0x11<<7 | 0x3E,
+ 20786 - 19968: jis0208<<14 | 0x2B<<7 | 0x38,
+ 20787 - 19968: jis0212<<14 | 0x11<<7 | 0x3F,
+ 20788 - 19968: jis0212<<14 | 0x11<<7 | 0x40,
+ 20789 - 19968: jis0212<<14 | 0x11<<7 | 0x41,
+ 20791 - 19968: jis0208<<14 | 0x30<<7 | 0x15,
+ 20792 - 19968: jis0212<<14 | 0x11<<7 | 0x42,
+ 20793 - 19968: jis0212<<14 | 0x11<<7 | 0x43,
+ 20794 - 19968: jis0208<<14 | 0x30<<7 | 0x14,
+ 20795 - 19968: jis0208<<14 | 0x30<<7 | 0x17,
+ 20796 - 19968: jis0208<<14 | 0x30<<7 | 0x16,
+ 20799 - 19968: jis0208<<14 | 0x30<<7 | 0x18,
+ 20800 - 19968: jis0208<<14 | 0x30<<7 | 0x19,
+ 20801 - 19968: jis0208<<14 | 0x0F<<7 | 0x53,
+ 20802 - 19968: jis0212<<14 | 0x11<<7 | 0x44,
+ 20803 - 19968: jis0208<<14 | 0x17<<7 | 0x14,
+ 20804 - 19968: jis0208<<14 | 0x16<<7 | 0x1A,
+ 20805 - 19968: jis0208<<14 | 0x1C<<7 | 0x1B,
+ 20806 - 19968: jis0208<<14 | 0x22<<7 | 0x5A,
+ 20807 - 19968: jis0208<<14 | 0x15<<7 | 0x03,
+ 20808 - 19968: jis0208<<14 | 0x1F<<7 | 0x47,
+ 20809 - 19968: jis0208<<14 | 0x17<<7 | 0x56,
+ 20810 - 19968: jis0208<<14 | 0x58<<7 | 0x22,
+ 20811 - 19968: jis0208<<14 | 0x18<<7 | 0x4D,
+ 20812 - 19968: jis0208<<14 | 0x30<<7 | 0x1B,
+ 20813 - 19968: jis0208<<14 | 0x2B<<7 | 0x27,
+ 20814 - 19968: jis0208<<14 | 0x24<<7 | 0x25,
+ 20815 - 19968: jis0212<<14 | 0x11<<7 | 0x46,
+ 20816 - 19968: jis0208<<14 | 0x1A<<7 | 0x58,
+ 20818 - 19968: jis0208<<14 | 0x30<<7 | 0x1A,
+ 20819 - 19968: jis0212<<14 | 0x11<<7 | 0x47,
+ 20820 - 19968: jis0208<<14 | 0x30<<7 | 0x1C,
+ 20821 - 19968: jis0212<<14 | 0x11<<7 | 0x48,
+ 20823 - 19968: jis0212<<14 | 0x11<<7 | 0x49,
+ 20824 - 19968: jis0212<<14 | 0x11<<7 | 0x4A,
+ 20826 - 19968: jis0208<<14 | 0x24<<7 | 0x3D,
+ 20828 - 19968: jis0208<<14 | 0x12<<7 | 0x54,
+ 20831 - 19968: jis0212<<14 | 0x11<<7 | 0x4B,
+ 20834 - 19968: jis0208<<14 | 0x30<<7 | 0x1D,
+ 20836 - 19968: jis0208<<14 | 0x58<<7 | 0x23,
+ 20837 - 19968: jis0208<<14 | 0x25<<7 | 0x5D,
+ 20838 - 19968: jis0212<<14 | 0x11<<7 | 0x4D,
+ 20840 - 19968: jis0208<<14 | 0x20<<7 | 0x13,
+ 20841 - 19968: jis0208<<14 | 0x30<<7 | 0x1F,
+ 20842 - 19968: jis0208<<14 | 0x30<<7 | 0x20,
+ 20843 - 19968: jis0208<<14 | 0x27<<7 | 0x0B,
+ 20844 - 19968: jis0208<<14 | 0x17<<7 | 0x57,
+ 20845 - 19968: jis0208<<14 | 0x2E<<7 | 0x1A,
+ 20846 - 19968: jis0208<<14 | 0x30<<7 | 0x21,
+ 20849 - 19968: jis0208<<14 | 0x15<<7 | 0x05,
+ 20853 - 19968: jis0208<<14 | 0x29<<7 | 0x1B,
+ 20854 - 19968: jis0208<<14 | 0x21<<7 | 0x15,
+ 20855 - 19968: jis0208<<14 | 0x15<<7 | 0x50,
+ 20856 - 19968: jis0208<<14 | 0x24<<7 | 0x14,
+ 20860 - 19968: jis0208<<14 | 0x16<<7 | 0x52,
+ 20862 - 19968: jis0212<<14 | 0x11<<7 | 0x4E,
+ 20864 - 19968: jis0208<<14 | 0x30<<7 | 0x22,
+ 20866 - 19968: jis0208<<14 | 0x30<<7 | 0x23,
+ 20867 - 19968: jis0212<<14 | 0x11<<7 | 0x4F,
+ 20868 - 19968: jis0212<<14 | 0x11<<7 | 0x50,
+ 20869 - 19968: jis0208<<14 | 0x25<<7 | 0x41,
+ 20870 - 19968: jis0208<<14 | 0x10<<7 | 0x3E,
+ 20873 - 19968: jis0208<<14 | 0x30<<7 | 0x26,
+ 20874 - 19968: jis0208<<14 | 0x19<<7 | 0x5C,
+ 20875 - 19968: jis0212<<14 | 0x11<<7 | 0x51,
+ 20876 - 19968: jis0208<<14 | 0x30<<7 | 0x25,
+ 20877 - 19968: jis0208<<14 | 0x19<<7 | 0x25,
+ 20878 - 19968: jis0212<<14 | 0x11<<7 | 0x52,
+ 20879 - 19968: jis0208<<14 | 0x30<<7 | 0x27,
+ 20880 - 19968: jis0208<<14 | 0x45<<7 | 0x4D,
+ 20881 - 19968: jis0208<<14 | 0x30<<7 | 0x28,
+ 20882 - 19968: jis0208<<14 | 0x2A<<7 | 0x20,
+ 20883 - 19968: jis0208<<14 | 0x30<<7 | 0x29,
+ 20885 - 19968: jis0208<<14 | 0x30<<7 | 0x2A,
+ 20886 - 19968: jis0208<<14 | 0x30<<7 | 0x2B,
+ 20887 - 19968: jis0208<<14 | 0x1D<<7 | 0x48,
+ 20888 - 19968: jis0212<<14 | 0x11<<7 | 0x53,
+ 20889 - 19968: jis0208<<14 | 0x1B<<7 | 0x2B,
+ 20893 - 19968: jis0208<<14 | 0x58<<7 | 0x24,
+ 20896 - 19968: jis0208<<14 | 0x13<<7 | 0x06,
+ 20897 - 19968: jis0212<<14 | 0x11<<7 | 0x55,
+ 20898 - 19968: jis0208<<14 | 0x30<<7 | 0x2E,
+ 20899 - 19968: jis0212<<14 | 0x11<<7 | 0x56,
+ 20900 - 19968: jis0208<<14 | 0x30<<7 | 0x2C,
+ 20901 - 19968: jis0208<<14 | 0x2B<<7 | 0x1C,
+ 20902 - 19968: jis0208<<14 | 0x30<<7 | 0x2D,
+ 20904 - 19968: jis0208<<14 | 0x28<<7 | 0x39,
+ 20905 - 19968: jis0208<<14 | 0x30<<7 | 0x2F,
+ 20906 - 19968: jis0208<<14 | 0x30<<7 | 0x30,
+ 20907 - 19968: jis0208<<14 | 0x30<<7 | 0x31,
+ 20908 - 19968: jis0208<<14 | 0x24<<7 | 0x3E,
+ 20909 - 19968: jis0212<<14 | 0x11<<7 | 0x57,
+ 20912 - 19968: jis0208<<14 | 0x30<<7 | 0x35,
+ 20913 - 19968: jis0208<<14 | 0x30<<7 | 0x33,
+ 20914 - 19968: jis0208<<14 | 0x30<<7 | 0x34,
+ 20915 - 19968: jis0208<<14 | 0x30<<7 | 0x32,
+ 20916 - 19968: jis0208<<14 | 0x19<<7 | 0x42,
+ 20917 - 19968: jis0208<<14 | 0x30<<7 | 0x36,
+ 20918 - 19968: jis0208<<14 | 0x2B<<7 | 0x49,
+ 20919 - 19968: jis0208<<14 | 0x2D<<7 | 0x43,
+ 20920 - 19968: jis0212<<14 | 0x11<<7 | 0x58,
+ 20922 - 19968: jis0212<<14 | 0x11<<7 | 0x59,
+ 20924 - 19968: jis0212<<14 | 0x11<<7 | 0x5A,
+ 20925 - 19968: jis0208<<14 | 0x30<<7 | 0x37,
+ 20926 - 19968: jis0208<<14 | 0x58<<7 | 0x25,
+ 20927 - 19968: jis0212<<14 | 0x11<<7 | 0x5C,
+ 20930 - 19968: jis0212<<14 | 0x11<<7 | 0x5D,
+ 20932 - 19968: jis0208<<14 | 0x1F<<7 | 0x07,
+ 20933 - 19968: jis0208<<14 | 0x30<<7 | 0x38,
+ 20934 - 19968: jis0208<<14 | 0x1C<<7 | 0x39,
+ 20936 - 19968: jis0212<<14 | 0x12<<7 | 0x00,
+ 20937 - 19968: jis0208<<14 | 0x30<<7 | 0x39,
+ 20939 - 19968: jis0208<<14 | 0x22<<7 | 0x5B,
+ 20940 - 19968: jis0208<<14 | 0x2D<<7 | 0x1E,
+ 20941 - 19968: jis0208<<14 | 0x24<<7 | 0x3F,
+ 20943 - 19968: jis0212<<14 | 0x12<<7 | 0x01,
+ 20945 - 19968: jis0212<<14 | 0x12<<7 | 0x02,
+ 20946 - 19968: jis0212<<14 | 0x12<<7 | 0x03,
+ 20947 - 19968: jis0212<<14 | 0x12<<7 | 0x04,
+ 20949 - 19968: jis0212<<14 | 0x12<<7 | 0x05,
+ 20950 - 19968: jis0208<<14 | 0x31<<7 | 0x24,
+ 20952 - 19968: jis0212<<14 | 0x12<<7 | 0x06,
+ 20955 - 19968: jis0208<<14 | 0x30<<7 | 0x3A,
+ 20956 - 19968: jis0208<<14 | 0x53<<7 | 0x04,
+ 20957 - 19968: jis0208<<14 | 0x15<<7 | 0x24,
+ 20958 - 19968: jis0212<<14 | 0x12<<7 | 0x07,
+ 20960 - 19968: jis0208<<14 | 0x30<<7 | 0x3B,
+ 20961 - 19968: jis0208<<14 | 0x2A<<7 | 0x3D,
+ 20962 - 19968: jis0212<<14 | 0x12<<7 | 0x08,
+ 20965 - 19968: jis0212<<14 | 0x12<<7 | 0x09,
+ 20966 - 19968: jis0208<<14 | 0x1C<<7 | 0x47,
+ 20967 - 19968: jis0208<<14 | 0x21<<7 | 0x5B,
+ 20969 - 19968: jis0208<<14 | 0x30<<7 | 0x3D,
+ 20970 - 19968: jis0208<<14 | 0x25<<7 | 0x43,
+ 20972 - 19968: jis0208<<14 | 0x58<<7 | 0x26,
+ 20973 - 19968: jis0208<<14 | 0x30<<7 | 0x3E,
+ 20974 - 19968: jis0212<<14 | 0x12<<7 | 0x0A,
+ 20976 - 19968: jis0208<<14 | 0x30<<7 | 0x3F,
+ 20977 - 19968: jis0208<<14 | 0x12<<7 | 0x0D,
+ 20978 - 19968: jis0212<<14 | 0x12<<7 | 0x0B,
+ 20979 - 19968: jis0212<<14 | 0x12<<7 | 0x0C,
+ 20980 - 19968: jis0212<<14 | 0x12<<7 | 0x0D,
+ 20981 - 19968: jis0208<<14 | 0x30<<7 | 0x40,
+ 20982 - 19968: jis0208<<14 | 0x15<<7 | 0x06,
+ 20983 - 19968: jis0212<<14 | 0x12<<7 | 0x0E,
+ 20984 - 19968: jis0208<<14 | 0x25<<7 | 0x2B,
+ 20985 - 19968: jis0208<<14 | 0x10<<7 | 0x59,
+ 20986 - 19968: jis0208<<14 | 0x1C<<7 | 0x2F,
+ 20989 - 19968: jis0208<<14 | 0x27<<7 | 0x00,
+ 20990 - 19968: jis0208<<14 | 0x30<<7 | 0x41,
+ 20992 - 19968: jis0208<<14 | 0x24<<7 | 0x40,
+ 20993 - 19968: jis0212<<14 | 0x12<<7 | 0x0F,
+ 20994 - 19968: jis0212<<14 | 0x12<<7 | 0x10,
+ 20995 - 19968: jis0208<<14 | 0x1E<<7 | 0x2E,
+ 20996 - 19968: jis0208<<14 | 0x30<<7 | 0x42,
+ 20997 - 19968: jis0212<<14 | 0x12<<7 | 0x11,
+ 20998 - 19968: jis0208<<14 | 0x29<<7 | 0x0B,
+ 20999 - 19968: jis0208<<14 | 0x1F<<7 | 0x39,
+ 21000 - 19968: jis0208<<14 | 0x13<<7 | 0x01,
+ 21002 - 19968: jis0208<<14 | 0x13<<7 | 0x08,
+ 21003 - 19968: jis0208<<14 | 0x30<<7 | 0x43,
+ 21006 - 19968: jis0208<<14 | 0x30<<7 | 0x45,
+ 21009 - 19968: jis0208<<14 | 0x16<<7 | 0x19,
+ 21010 - 19968: jis0212<<14 | 0x12<<7 | 0x12,
+ 21011 - 19968: jis0212<<14 | 0x12<<7 | 0x13,
+ 21012 - 19968: jis0208<<14 | 0x30<<7 | 0x44,
+ 21013 - 19968: jis0208<<14 | 0x58<<7 | 0x27,
+ 21014 - 19968: jis0212<<14 | 0x12<<7 | 0x15,
+ 21015 - 19968: jis0208<<14 | 0x2D<<7 | 0x52,
+ 21016 - 19968: jis0212<<14 | 0x12<<7 | 0x16,
+ 21021 - 19968: jis0208<<14 | 0x1C<<7 | 0x48,
+ 21026 - 19968: jis0212<<14 | 0x12<<7 | 0x17,
+ 21028 - 19968: jis0208<<14 | 0x27<<7 | 0x1C,
+ 21029 - 19968: jis0208<<14 | 0x29<<7 | 0x2B,
+ 21031 - 19968: jis0208<<14 | 0x30<<7 | 0x46,
+ 21032 - 19968: jis0212<<14 | 0x12<<7 | 0x18,
+ 21033 - 19968: jis0208<<14 | 0x2C<<7 | 0x57,
+ 21034 - 19968: jis0208<<14 | 0x30<<7 | 0x47,
+ 21038 - 19968: jis0208<<14 | 0x30<<7 | 0x48,
+ 21040 - 19968: jis0208<<14 | 0x24<<7 | 0x5D,
+ 21041 - 19968: jis0212<<14 | 0x12<<7 | 0x19,
+ 21042 - 19968: jis0212<<14 | 0x12<<7 | 0x1A,
+ 21043 - 19968: jis0208<<14 | 0x30<<7 | 0x49,
+ 21045 - 19968: jis0212<<14 | 0x12<<7 | 0x1B,
+ 21046 - 19968: jis0208<<14 | 0x1F<<7 | 0x08,
+ 21047 - 19968: jis0208<<14 | 0x19<<7 | 0x5D,
+ 21048 - 19968: jis0208<<14 | 0x16<<7 | 0x53,
+ 21049 - 19968: jis0208<<14 | 0x30<<7 | 0x4A,
+ 21050 - 19968: jis0208<<14 | 0x1A<<7 | 0x28,
+ 21051 - 19968: jis0208<<14 | 0x18<<7 | 0x4E,
+ 21052 - 19968: jis0212<<14 | 0x12<<7 | 0x1C,
+ 21059 - 19968: jis0208<<14 | 0x23<<7 | 0x45,
+ 21060 - 19968: jis0208<<14 | 0x30<<7 | 0x4C,
+ 21061 - 19968: jis0212<<14 | 0x12<<7 | 0x1D,
+ 21063 - 19968: jis0208<<14 | 0x21<<7 | 0x06,
+ 21065 - 19968: jis0212<<14 | 0x12<<7 | 0x1E,
+ 21066 - 19968: jis0208<<14 | 0x19<<7 | 0x4E,
+ 21067 - 19968: jis0208<<14 | 0x30<<7 | 0x4D,
+ 21068 - 19968: jis0208<<14 | 0x30<<7 | 0x4E,
+ 21069 - 19968: jis0208<<14 | 0x20<<7 | 0x0F,
+ 21071 - 19968: jis0208<<14 | 0x30<<7 | 0x4B,
+ 21076 - 19968: jis0208<<14 | 0x30<<7 | 0x50,
+ 21077 - 19968: jis0212<<14 | 0x12<<7 | 0x1F,
+ 21078 - 19968: jis0208<<14 | 0x2A<<7 | 0x15,
+ 21079 - 19968: jis0212<<14 | 0x12<<7 | 0x20,
+ 21080 - 19968: jis0212<<14 | 0x12<<7 | 0x21,
+ 21082 - 19968: jis0212<<14 | 0x12<<7 | 0x22,
+ 21083 - 19968: jis0208<<14 | 0x18<<7 | 0x43,
+ 21084 - 19968: jis0212<<14 | 0x12<<7 | 0x23,
+ 21086 - 19968: jis0208<<14 | 0x30<<7 | 0x4F,
+ 21087 - 19968: jis0212<<14 | 0x12<<7 | 0x24,
+ 21088 - 19968: jis0212<<14 | 0x12<<7 | 0x25,
+ 21089 - 19968: jis0212<<14 | 0x12<<7 | 0x26,
+ 21091 - 19968: jis0208<<14 | 0x16<<7 | 0x54,
+ 21092 - 19968: jis0208<<14 | 0x19<<7 | 0x3D,
+ 21093 - 19968: jis0208<<14 | 0x26<<7 | 0x4C,
+ 21094 - 19968: jis0212<<14 | 0x12<<7 | 0x27,
+ 21097 - 19968: jis0208<<14 | 0x30<<7 | 0x53,
+ 21098 - 19968: jis0208<<14 | 0x30<<7 | 0x51,
+ 21102 - 19968: jis0212<<14 | 0x12<<7 | 0x28,
+ 21103 - 19968: jis0208<<14 | 0x28<<7 | 0x5A,
+ 21104 - 19968: jis0208<<14 | 0x1D<<7 | 0x49,
+ 21105 - 19968: jis0208<<14 | 0x30<<7 | 0x5A,
+ 21106 - 19968: jis0208<<14 | 0x12<<7 | 0x43,
+ 21107 - 19968: jis0208<<14 | 0x30<<7 | 0x54,
+ 21108 - 19968: jis0208<<14 | 0x30<<7 | 0x52,
+ 21109 - 19968: jis0208<<14 | 0x20<<7 | 0x2E,
+ 21111 - 19968: jis0212<<14 | 0x12<<7 | 0x29,
+ 21112 - 19968: jis0212<<14 | 0x12<<7 | 0x2A,
+ 21113 - 19968: jis0212<<14 | 0x12<<7 | 0x2B,
+ 21117 - 19968: jis0208<<14 | 0x30<<7 | 0x56,
+ 21119 - 19968: jis0208<<14 | 0x30<<7 | 0x55,
+ 21120 - 19968: jis0212<<14 | 0x12<<7 | 0x2C,
+ 21122 - 19968: jis0212<<14 | 0x12<<7 | 0x2D,
+ 21123 - 19968: jis0208<<14 | 0x12<<7 | 0x23,
+ 21125 - 19968: jis0212<<14 | 0x12<<7 | 0x2E,
+ 21127 - 19968: jis0208<<14 | 0x16<<7 | 0x3F,
+ 21128 - 19968: jis0208<<14 | 0x30<<7 | 0x5B,
+ 21129 - 19968: jis0208<<14 | 0x2D<<7 | 0x0C,
+ 21130 - 19968: jis0212<<14 | 0x12<<7 | 0x2F,
+ 21132 - 19968: jis0212<<14 | 0x12<<7 | 0x30,
+ 21133 - 19968: jis0208<<14 | 0x30<<7 | 0x57,
+ 21137 - 19968: jis0208<<14 | 0x30<<7 | 0x5C,
+ 21138 - 19968: jis0208<<14 | 0x30<<7 | 0x59,
+ 21139 - 19968: jis0212<<14 | 0x12<<7 | 0x31,
+ 21140 - 19968: jis0208<<14 | 0x30<<7 | 0x58,
+ 21141 - 19968: jis0212<<14 | 0x12<<7 | 0x32,
+ 21142 - 19968: jis0212<<14 | 0x12<<7 | 0x33,
+ 21143 - 19968: jis0212<<14 | 0x12<<7 | 0x34,
+ 21144 - 19968: jis0212<<14 | 0x12<<7 | 0x35,
+ 21146 - 19968: jis0212<<14 | 0x12<<7 | 0x36,
+ 21147 - 19968: jis0208<<14 | 0x2D<<7 | 0x2E,
+ 21148 - 19968: jis0208<<14 | 0x58<<7 | 0x28,
+ 21151 - 19968: jis0208<<14 | 0x17<<7 | 0x58,
+ 21152 - 19968: jis0208<<14 | 0x11<<7 | 0x22,
+ 21155 - 19968: jis0208<<14 | 0x2D<<7 | 0x53,
+ 21156 - 19968: jis0212<<14 | 0x12<<7 | 0x38,
+ 21157 - 19968: jis0212<<14 | 0x12<<7 | 0x39,
+ 21158 - 19968: jis0208<<14 | 0x58<<7 | 0x29,
+ 21159 - 19968: jis0212<<14 | 0x12<<7 | 0x3B,
+ 21161 - 19968: jis0208<<14 | 0x1C<<7 | 0x54,
+ 21162 - 19968: jis0208<<14 | 0x24<<7 | 0x37,
+ 21163 - 19968: jis0208<<14 | 0x18<<7 | 0x44,
+ 21164 - 19968: jis0208<<14 | 0x31<<7 | 0x01,
+ 21165 - 19968: jis0208<<14 | 0x31<<7 | 0x02,
+ 21167 - 19968: jis0208<<14 | 0x5A<<7 | 0x1B,
+ 21168 - 19968: jis0212<<14 | 0x12<<7 | 0x3D,
+ 21169 - 19968: jis0208<<14 | 0x2D<<7 | 0x44,
+ 21172 - 19968: jis0208<<14 | 0x2E<<7 | 0x0A,
+ 21173 - 19968: jis0208<<14 | 0x31<<7 | 0x04,
+ 21174 - 19968: jis0212<<14 | 0x12<<7 | 0x3E,
+ 21175 - 19968: jis0212<<14 | 0x12<<7 | 0x3F,
+ 21176 - 19968: jis0212<<14 | 0x12<<7 | 0x40,
+ 21177 - 19968: jis0208<<14 | 0x17<<7 | 0x59,
+ 21178 - 19968: jis0212<<14 | 0x12<<7 | 0x41,
+ 21179 - 19968: jis0212<<14 | 0x12<<7 | 0x42,
+ 21180 - 19968: jis0208<<14 | 0x31<<7 | 0x03,
+ 21181 - 19968: jis0212<<14 | 0x12<<7 | 0x43,
+ 21182 - 19968: jis0208<<14 | 0x12<<7 | 0x0E,
+ 21184 - 19968: jis0208<<14 | 0x58<<7 | 0x2A,
+ 21185 - 19968: jis0208<<14 | 0x31<<7 | 0x05,
+ 21187 - 19968: jis0208<<14 | 0x2A<<7 | 0x35,
+ 21188 - 19968: jis0212<<14 | 0x12<<7 | 0x45,
+ 21189 - 19968: jis0208<<14 | 0x23<<7 | 0x1B,
+ 21190 - 19968: jis0212<<14 | 0x12<<7 | 0x46,
+ 21191 - 19968: jis0208<<14 | 0x2C<<7 | 0x05,
+ 21192 - 19968: jis0212<<14 | 0x12<<7 | 0x47,
+ 21193 - 19968: jis0208<<14 | 0x29<<7 | 0x38,
+ 21196 - 19968: jis0212<<14 | 0x12<<7 | 0x48,
+ 21197 - 19968: jis0208<<14 | 0x31<<7 | 0x06,
+ 21199 - 19968: jis0212<<14 | 0x12<<7 | 0x49,
+ 21201 - 19968: jis0212<<14 | 0x12<<7 | 0x4A,
+ 21202 - 19968: jis0208<<14 | 0x4F<<7 | 0x34,
+ 21204 - 19968: jis0212<<14 | 0x12<<7 | 0x4B,
+ 21205 - 19968: jis0208<<14 | 0x25<<7 | 0x0F,
+ 21206 - 19968: jis0212<<14 | 0x12<<7 | 0x4C,
+ 21207 - 19968: jis0208<<14 | 0x31<<7 | 0x07,
+ 21208 - 19968: jis0208<<14 | 0x13<<7 | 0x09,
+ 21209 - 19968: jis0208<<14 | 0x2B<<7 | 0x12,
+ 21211 - 19968: jis0208<<14 | 0x58<<7 | 0x2B,
+ 21212 - 19968: jis0212<<14 | 0x12<<7 | 0x4E,
+ 21213 - 19968: jis0208<<14 | 0x1D<<7 | 0x00,
+ 21214 - 19968: jis0208<<14 | 0x31<<7 | 0x08,
+ 21215 - 19968: jis0208<<14 | 0x29<<7 | 0x46,
+ 21216 - 19968: jis0208<<14 | 0x31<<7 | 0x0C,
+ 21217 - 19968: jis0212<<14 | 0x12<<7 | 0x4F,
+ 21218 - 19968: jis0208<<14 | 0x1F<<7 | 0x09,
+ 21219 - 19968: jis0208<<14 | 0x31<<7 | 0x09,
+ 21220 - 19968: jis0208<<14 | 0x15<<7 | 0x2F,
+ 21221 - 19968: jis0212<<14 | 0x12<<7 | 0x50,
+ 21222 - 19968: jis0208<<14 | 0x31<<7 | 0x0A,
+ 21223 - 19968: jis0208<<14 | 0x13<<7 | 0x0A,
+ 21224 - 19968: jis0212<<14 | 0x12<<7 | 0x51,
+ 21225 - 19968: jis0212<<14 | 0x12<<7 | 0x52,
+ 21226 - 19968: jis0212<<14 | 0x12<<7 | 0x53,
+ 21228 - 19968: jis0212<<14 | 0x12<<7 | 0x54,
+ 21232 - 19968: jis0212<<14 | 0x12<<7 | 0x55,
+ 21233 - 19968: jis0212<<14 | 0x12<<7 | 0x56,
+ 21234 - 19968: jis0208<<14 | 0x16<<7 | 0x0D,
+ 21235 - 19968: jis0208<<14 | 0x31<<7 | 0x0D,
+ 21236 - 19968: jis0212<<14 | 0x12<<7 | 0x57,
+ 21237 - 19968: jis0208<<14 | 0x31<<7 | 0x0E,
+ 21238 - 19968: jis0212<<14 | 0x12<<7 | 0x58,
+ 21239 - 19968: jis0212<<14 | 0x12<<7 | 0x59,
+ 21240 - 19968: jis0208<<14 | 0x31<<7 | 0x0F,
+ 21241 - 19968: jis0208<<14 | 0x31<<7 | 0x10,
+ 21242 - 19968: jis0208<<14 | 0x1B<<7 | 0x3A,
+ 21246 - 19968: jis0208<<14 | 0x17<<7 | 0x5A,
+ 21247 - 19968: jis0208<<14 | 0x2B<<7 | 0x3D,
+ 21248 - 19968: jis0208<<14 | 0x58<<7 | 0x2C,
+ 21249 - 19968: jis0208<<14 | 0x2B<<7 | 0x47,
+ 21250 - 19968: jis0208<<14 | 0x25<<7 | 0x56,
+ 21251 - 19968: jis0212<<14 | 0x12<<7 | 0x5B,
+ 21253 - 19968: jis0208<<14 | 0x29<<7 | 0x50,
+ 21254 - 19968: jis0208<<14 | 0x31<<7 | 0x11,
+ 21255 - 19968: jis0208<<14 | 0x58<<7 | 0x2D,
+ 21256 - 19968: jis0208<<14 | 0x31<<7 | 0x12,
+ 21258 - 19968: jis0212<<14 | 0x12<<7 | 0x5C,
+ 21259 - 19968: jis0212<<14 | 0x12<<7 | 0x5D,
+ 21260 - 19968: jis0212<<14 | 0x13<<7 | 0x00,
+ 21261 - 19968: jis0208<<14 | 0x31<<7 | 0x14,
+ 21263 - 19968: jis0208<<14 | 0x31<<7 | 0x16,
+ 21264 - 19968: jis0208<<14 | 0x31<<7 | 0x15,
+ 21265 - 19968: jis0212<<14 | 0x13<<7 | 0x01,
+ 21267 - 19968: jis0212<<14 | 0x13<<7 | 0x02,
+ 21269 - 19968: jis0208<<14 | 0x31<<7 | 0x17,
+ 21270 - 19968: jis0208<<14 | 0x11<<7 | 0x1C,
+ 21271 - 19968: jis0208<<14 | 0x2A<<7 | 0x2B,
+ 21272 - 19968: jis0212<<14 | 0x13<<7 | 0x03,
+ 21273 - 19968: jis0208<<14 | 0x19<<7 | 0x5B,
+ 21274 - 19968: jis0208<<14 | 0x31<<7 | 0x18,
+ 21275 - 19968: jis0212<<14 | 0x13<<7 | 0x04,
+ 21276 - 19968: jis0212<<14 | 0x13<<7 | 0x05,
+ 21277 - 19968: jis0208<<14 | 0x20<<7 | 0x38,
+ 21278 - 19968: jis0212<<14 | 0x13<<7 | 0x06,
+ 21279 - 19968: jis0212<<14 | 0x13<<7 | 0x07,
+ 21280 - 19968: jis0208<<14 | 0x1D<<7 | 0x01,
+ 21281 - 19968: jis0208<<14 | 0x15<<7 | 0x08,
+ 21283 - 19968: jis0208<<14 | 0x31<<7 | 0x19,
+ 21284 - 19968: jis0208<<14 | 0x58<<7 | 0x2E,
+ 21285 - 19968: jis0212<<14 | 0x13<<7 | 0x08,
+ 21287 - 19968: jis0212<<14 | 0x13<<7 | 0x09,
+ 21288 - 19968: jis0212<<14 | 0x13<<7 | 0x0A,
+ 21289 - 19968: jis0212<<14 | 0x13<<7 | 0x0B,
+ 21290 - 19968: jis0208<<14 | 0x27<<7 | 0x3A,
+ 21291 - 19968: jis0212<<14 | 0x13<<7 | 0x0C,
+ 21292 - 19968: jis0212<<14 | 0x13<<7 | 0x0D,
+ 21293 - 19968: jis0212<<14 | 0x13<<7 | 0x0E,
+ 21295 - 19968: jis0208<<14 | 0x31<<7 | 0x1A,
+ 21296 - 19968: jis0212<<14 | 0x13<<7 | 0x0F,
+ 21297 - 19968: jis0208<<14 | 0x31<<7 | 0x1B,
+ 21298 - 19968: jis0212<<14 | 0x13<<7 | 0x10,
+ 21299 - 19968: jis0208<<14 | 0x31<<7 | 0x1C,
+ 21301 - 19968: jis0212<<14 | 0x13<<7 | 0x11,
+ 21304 - 19968: jis0208<<14 | 0x31<<7 | 0x1D,
+ 21305 - 19968: jis0208<<14 | 0x28<<7 | 0x03,
+ 21306 - 19968: jis0208<<14 | 0x15<<7 | 0x47,
+ 21307 - 19968: jis0208<<14 | 0x0F<<7 | 0x44,
+ 21308 - 19968: jis0212<<14 | 0x13<<7 | 0x12,
+ 21309 - 19968: jis0212<<14 | 0x13<<7 | 0x13,
+ 21310 - 19968: jis0212<<14 | 0x13<<7 | 0x14,
+ 21311 - 19968: jis0208<<14 | 0x25<<7 | 0x1E,
+ 21312 - 19968: jis0208<<14 | 0x31<<7 | 0x1E,
+ 21313 - 19968: jis0208<<14 | 0x1C<<7 | 0x1C,
+ 21314 - 19968: jis0212<<14 | 0x13<<7 | 0x15,
+ 21315 - 19968: jis0208<<14 | 0x1F<<7 | 0x48,
+ 21317 - 19968: jis0208<<14 | 0x31<<7 | 0x20,
+ 21318 - 19968: jis0208<<14 | 0x31<<7 | 0x1F,
+ 21319 - 19968: jis0208<<14 | 0x1D<<7 | 0x02,
+ 21320 - 19968: jis0208<<14 | 0x17<<7 | 0x40,
+ 21321 - 19968: jis0208<<14 | 0x31<<7 | 0x22,
+ 21322 - 19968: jis0208<<14 | 0x27<<7 | 0x1D,
+ 21323 - 19968: jis0212<<14 | 0x13<<7 | 0x17,
+ 21324 - 19968: jis0212<<14 | 0x13<<7 | 0x16,
+ 21325 - 19968: jis0208<<14 | 0x31<<7 | 0x23,
+ 21329 - 19968: jis0208<<14 | 0x27<<7 | 0x3B,
+ 21330 - 19968: jis0208<<14 | 0x21<<7 | 0x13,
+ 21331 - 19968: jis0208<<14 | 0x21<<7 | 0x4D,
+ 21332 - 19968: jis0208<<14 | 0x15<<7 | 0x07,
+ 21335 - 19968: jis0208<<14 | 0x25<<7 | 0x4D,
+ 21336 - 19968: jis0208<<14 | 0x22<<7 | 0x10,
+ 21337 - 19968: jis0212<<14 | 0x13<<7 | 0x18,
+ 21338 - 19968: jis0208<<14 | 0x26<<7 | 0x4D,
+ 21339 - 19968: jis0212<<14 | 0x13<<7 | 0x19,
+ 21340 - 19968: jis0208<<14 | 0x2A<<7 | 0x2D,
+ 21342 - 19968: jis0208<<14 | 0x31<<7 | 0x25,
+ 21344 - 19968: jis0208<<14 | 0x1F<<7 | 0x49,
+ 21345 - 19968: jis0212<<14 | 0x13<<7 | 0x1A,
+ 21347 - 19968: jis0212<<14 | 0x13<<7 | 0x1B,
+ 21349 - 19968: jis0212<<14 | 0x13<<7 | 0x1C,
+ 21350 - 19968: jis0208<<14 | 0x16<<7 | 0x14,
+ 21353 - 19968: jis0208<<14 | 0x31<<7 | 0x26,
+ 21356 - 19968: jis0212<<14 | 0x13<<7 | 0x1D,
+ 21357 - 19968: jis0212<<14 | 0x13<<7 | 0x1E,
+ 21358 - 19968: jis0208<<14 | 0x31<<7 | 0x27,
+ 21359 - 19968: jis0208<<14 | 0x10<<7 | 0x0B,
+ 21360 - 19968: jis0208<<14 | 0x0F<<7 | 0x54,
+ 21361 - 19968: jis0208<<14 | 0x13<<7 | 0x4C,
+ 21362 - 19968: jis0208<<14 | 0x58<<7 | 0x2F,
+ 21363 - 19968: jis0208<<14 | 0x21<<7 | 0x07,
+ 21364 - 19968: jis0208<<14 | 0x14<<7 | 0x30,
+ 21365 - 19968: jis0208<<14 | 0x2C<<7 | 0x50,
+ 21367 - 19968: jis0208<<14 | 0x31<<7 | 0x2A,
+ 21368 - 19968: jis0208<<14 | 0x11<<7 | 0x16,
+ 21369 - 19968: jis0212<<14 | 0x13<<7 | 0x20,
+ 21371 - 19968: jis0208<<14 | 0x31<<7 | 0x29,
+ 21374 - 19968: jis0212<<14 | 0x13<<7 | 0x21,
+ 21375 - 19968: jis0208<<14 | 0x15<<7 | 0x09,
+ 21378 - 19968: jis0208<<14 | 0x31<<7 | 0x2B,
+ 21379 - 19968: jis0212<<14 | 0x13<<7 | 0x22,
+ 21380 - 19968: jis0208<<14 | 0x2B<<7 | 0x50,
+ 21383 - 19968: jis0212<<14 | 0x13<<7 | 0x23,
+ 21384 - 19968: jis0212<<14 | 0x13<<7 | 0x24,
+ 21390 - 19968: jis0212<<14 | 0x13<<7 | 0x25,
+ 21395 - 19968: jis0208<<14 | 0x58<<7 | 0x30,
+ 21396 - 19968: jis0212<<14 | 0x13<<7 | 0x27,
+ 21398 - 19968: jis0208<<14 | 0x31<<7 | 0x2C,
+ 21400 - 19968: jis0208<<14 | 0x2D<<7 | 0x31,
+ 21401 - 19968: jis0212<<14 | 0x13<<7 | 0x28,
+ 21402 - 19968: jis0208<<14 | 0x17<<7 | 0x5B,
+ 21405 - 19968: jis0212<<14 | 0x13<<7 | 0x29,
+ 21407 - 19968: jis0208<<14 | 0x17<<7 | 0x15,
+ 21408 - 19968: jis0208<<14 | 0x31<<7 | 0x2D,
+ 21409 - 19968: jis0212<<14 | 0x13<<7 | 0x2A,
+ 21412 - 19968: jis0212<<14 | 0x13<<7 | 0x2B,
+ 21413 - 19968: jis0208<<14 | 0x31<<7 | 0x2F,
+ 21414 - 19968: jis0208<<14 | 0x31<<7 | 0x2E,
+ 21416 - 19968: jis0208<<14 | 0x1E<<7 | 0x3E,
+ 21417 - 19968: jis0208<<14 | 0x10<<7 | 0x18,
+ 21418 - 19968: jis0212<<14 | 0x13<<7 | 0x2C,
+ 21419 - 19968: jis0212<<14 | 0x13<<7 | 0x2D,
+ 21421 - 19968: jis0208<<14 | 0x10<<7 | 0x3D,
+ 21422 - 19968: jis0208<<14 | 0x31<<7 | 0x30,
+ 21423 - 19968: jis0212<<14 | 0x13<<7 | 0x2E,
+ 21424 - 19968: jis0208<<14 | 0x31<<7 | 0x31,
+ 21426 - 19968: jis0208<<14 | 0x58<<7 | 0x31,
+ 21427 - 19968: jis0208<<14 | 0x17<<7 | 0x16,
+ 21428 - 19968: jis0212<<14 | 0x13<<7 | 0x30,
+ 21429 - 19968: jis0212<<14 | 0x13<<7 | 0x31,
+ 21430 - 19968: jis0208<<14 | 0x31<<7 | 0x32,
+ 21431 - 19968: jis0212<<14 | 0x13<<7 | 0x32,
+ 21432 - 19968: jis0212<<14 | 0x13<<7 | 0x33,
+ 21434 - 19968: jis0212<<14 | 0x13<<7 | 0x34,
+ 21435 - 19968: jis0208<<14 | 0x14<<7 | 0x4D,
+ 21437 - 19968: jis0212<<14 | 0x13<<7 | 0x35,
+ 21440 - 19968: jis0212<<14 | 0x13<<7 | 0x36,
+ 21442 - 19968: jis0208<<14 | 0x1A<<7 | 0x11,
+ 21443 - 19968: jis0208<<14 | 0x31<<7 | 0x33,
+ 21445 - 19968: jis0212<<14 | 0x13<<7 | 0x37,
+ 21448 - 19968: jis0208<<14 | 0x2A<<7 | 0x53,
+ 21449 - 19968: jis0208<<14 | 0x19<<7 | 0x14,
+ 21450 - 19968: jis0208<<14 | 0x14<<7 | 0x39,
+ 21451 - 19968: jis0208<<14 | 0x2C<<7 | 0x06,
+ 21452 - 19968: jis0208<<14 | 0x20<<7 | 0x2F,
+ 21453 - 19968: jis0208<<14 | 0x27<<7 | 0x1E,
+ 21454 - 19968: jis0208<<14 | 0x1B<<7 | 0x5C,
+ 21455 - 19968: jis0212<<14 | 0x13<<7 | 0x38,
+ 21458 - 19968: jis0212<<14 | 0x13<<7 | 0x39,
+ 21459 - 19968: jis0212<<14 | 0x13<<7 | 0x3A,
+ 21460 - 19968: jis0208<<14 | 0x1C<<7 | 0x26,
+ 21461 - 19968: jis0212<<14 | 0x13<<7 | 0x3B,
+ 21462 - 19968: jis0208<<14 | 0x1B<<7 | 0x47,
+ 21463 - 19968: jis0208<<14 | 0x1B<<7 | 0x54,
+ 21465 - 19968: jis0208<<14 | 0x1C<<7 | 0x55,
+ 21466 - 19968: jis0212<<14 | 0x13<<7 | 0x3C,
+ 21467 - 19968: jis0208<<14 | 0x27<<7 | 0x1F,
+ 21469 - 19968: jis0208<<14 | 0x58<<7 | 0x32,
+ 21470 - 19968: jis0212<<14 | 0x13<<7 | 0x3E,
+ 21471 - 19968: jis0208<<14 | 0x31<<7 | 0x36,
+ 21472 - 19968: jis0212<<14 | 0x13<<7 | 0x3F,
+ 21473 - 19968: jis0208<<14 | 0x10<<7 | 0x22,
+ 21474 - 19968: jis0208<<14 | 0x20<<7 | 0x30,
+ 21475 - 19968: jis0208<<14 | 0x17<<7 | 0x5C,
+ 21476 - 19968: jis0208<<14 | 0x17<<7 | 0x24,
+ 21477 - 19968: jis0208<<14 | 0x15<<7 | 0x46,
+ 21478 - 19968: jis0212<<14 | 0x13<<7 | 0x40,
+ 21479 - 19968: jis0212<<14 | 0x13<<7 | 0x41,
+ 21480 - 19968: jis0208<<14 | 0x31<<7 | 0x3A,
+ 21481 - 19968: jis0208<<14 | 0x22<<7 | 0x00,
+ 21482 - 19968: jis0208<<14 | 0x21<<7 | 0x5D,
+ 21483 - 19968: jis0208<<14 | 0x15<<7 | 0x0A,
+ 21484 - 19968: jis0208<<14 | 0x1D<<7 | 0x03,
+ 21485 - 19968: jis0208<<14 | 0x31<<7 | 0x3B,
+ 21486 - 19968: jis0208<<14 | 0x31<<7 | 0x39,
+ 21487 - 19968: jis0208<<14 | 0x11<<7 | 0x23,
+ 21488 - 19968: jis0208<<14 | 0x21<<7 | 0x45,
+ 21489 - 19968: jis0208<<14 | 0x1B<<7 | 0x17,
+ 21490 - 19968: jis0208<<14 | 0x1A<<7 | 0x2A,
+ 21491 - 19968: jis0208<<14 | 0x10<<7 | 0x05,
+ 21493 - 19968: jis0212<<14 | 0x13<<7 | 0x42,
+ 21494 - 19968: jis0208<<14 | 0x12<<7 | 0x4F,
+ 21495 - 19968: jis0208<<14 | 0x18<<7 | 0x45,
+ 21496 - 19968: jis0208<<14 | 0x1A<<7 | 0x29,
+ 21498 - 19968: jis0208<<14 | 0x31<<7 | 0x3C,
+ 21505 - 19968: jis0208<<14 | 0x31<<7 | 0x3D,
+ 21506 - 19968: jis0212<<14 | 0x13<<7 | 0x43,
+ 21507 - 19968: jis0208<<14 | 0x14<<7 | 0x28,
+ 21508 - 19968: jis0208<<14 | 0x12<<7 | 0x25,
+ 21512 - 19968: jis0208<<14 | 0x18<<7 | 0x46,
+ 21513 - 19968: jis0208<<14 | 0x14<<7 | 0x27,
+ 21514 - 19968: jis0208<<14 | 0x23<<7 | 0x3E,
+ 21515 - 19968: jis0208<<14 | 0x10<<7 | 0x04,
+ 21516 - 19968: jis0208<<14 | 0x25<<7 | 0x10,
+ 21517 - 19968: jis0208<<14 | 0x2B<<7 | 0x1D,
+ 21518 - 19968: jis0208<<14 | 0x18<<7 | 0x00,
+ 21519 - 19968: jis0208<<14 | 0x2C<<7 | 0x58,
+ 21520 - 19968: jis0208<<14 | 0x24<<7 | 0x26,
+ 21521 - 19968: jis0208<<14 | 0x17<<7 | 0x5D,
+ 21523 - 19968: jis0212<<14 | 0x13<<7 | 0x44,
+ 21530 - 19968: jis0212<<14 | 0x13<<7 | 0x45,
+ 21531 - 19968: jis0208<<14 | 0x16<<7 | 0x0E,
+ 21533 - 19968: jis0208<<14 | 0x31<<7 | 0x46,
+ 21535 - 19968: jis0208<<14 | 0x15<<7 | 0x42,
+ 21536 - 19968: jis0208<<14 | 0x2A<<7 | 0x29,
+ 21537 - 19968: jis0212<<14 | 0x13<<7 | 0x46,
+ 21542 - 19968: jis0208<<14 | 0x27<<7 | 0x3C,
+ 21543 - 19968: jis0212<<14 | 0x13<<7 | 0x47,
+ 21544 - 19968: jis0212<<14 | 0x13<<7 | 0x48,
+ 21545 - 19968: jis0208<<14 | 0x31<<7 | 0x45,
+ 21546 - 19968: jis0212<<14 | 0x13<<7 | 0x49,
+ 21547 - 19968: jis0208<<14 | 0x13<<7 | 0x3D,
+ 21548 - 19968: jis0208<<14 | 0x31<<7 | 0x40,
+ 21549 - 19968: jis0208<<14 | 0x31<<7 | 0x41,
+ 21550 - 19968: jis0208<<14 | 0x31<<7 | 0x43,
+ 21551 - 19968: jis0212<<14 | 0x13<<7 | 0x4A,
+ 21553 - 19968: jis0212<<14 | 0x13<<7 | 0x4B,
+ 21556 - 19968: jis0212<<14 | 0x13<<7 | 0x4C,
+ 21557 - 19968: jis0212<<14 | 0x13<<7 | 0x4D,
+ 21558 - 19968: jis0208<<14 | 0x31<<7 | 0x44,
+ 21560 - 19968: jis0208<<14 | 0x14<<7 | 0x3A,
+ 21561 - 19968: jis0208<<14 | 0x1E<<7 | 0x40,
+ 21563 - 19968: jis0208<<14 | 0x29<<7 | 0x0C,
+ 21564 - 19968: jis0208<<14 | 0x31<<7 | 0x42,
+ 21565 - 19968: jis0208<<14 | 0x31<<7 | 0x3E,
+ 21566 - 19968: jis0208<<14 | 0x17<<7 | 0x42,
+ 21568 - 19968: jis0208<<14 | 0x31<<7 | 0x3F,
+ 21570 - 19968: jis0208<<14 | 0x2E<<7 | 0x03,
+ 21571 - 19968: jis0212<<14 | 0x13<<7 | 0x4E,
+ 21572 - 19968: jis0212<<14 | 0x13<<7 | 0x4F,
+ 21574 - 19968: jis0208<<14 | 0x29<<7 | 0x51,
+ 21575 - 19968: jis0212<<14 | 0x13<<7 | 0x50,
+ 21576 - 19968: jis0208<<14 | 0x23<<7 | 0x47,
+ 21577 - 19968: jis0208<<14 | 0x17<<7 | 0x41,
+ 21578 - 19968: jis0208<<14 | 0x18<<7 | 0x4F,
+ 21581 - 19968: jis0212<<14 | 0x13<<7 | 0x51,
+ 21582 - 19968: jis0208<<14 | 0x31<<7 | 0x47,
+ 21583 - 19968: jis0212<<14 | 0x13<<7 | 0x52,
+ 21585 - 19968: jis0208<<14 | 0x25<<7 | 0x3C,
+ 21598 - 19968: jis0212<<14 | 0x13<<7 | 0x53,
+ 21599 - 19968: jis0208<<14 | 0x31<<7 | 0x4B,
+ 21602 - 19968: jis0212<<14 | 0x13<<7 | 0x54,
+ 21604 - 19968: jis0212<<14 | 0x13<<7 | 0x55,
+ 21606 - 19968: jis0212<<14 | 0x13<<7 | 0x56,
+ 21607 - 19968: jis0212<<14 | 0x13<<7 | 0x57,
+ 21608 - 19968: jis0208<<14 | 0x1B<<7 | 0x5D,
+ 21609 - 19968: jis0212<<14 | 0x13<<7 | 0x58,
+ 21610 - 19968: jis0208<<14 | 0x1B<<7 | 0x55,
+ 21611 - 19968: jis0212<<14 | 0x13<<7 | 0x59,
+ 21613 - 19968: jis0212<<14 | 0x13<<7 | 0x5A,
+ 21614 - 19968: jis0212<<14 | 0x13<<7 | 0x5B,
+ 21616 - 19968: jis0208<<14 | 0x31<<7 | 0x4E,
+ 21617 - 19968: jis0208<<14 | 0x31<<7 | 0x4C,
+ 21619 - 19968: jis0208<<14 | 0x2B<<7 | 0x02,
+ 21620 - 19968: jis0212<<14 | 0x13<<7 | 0x5C,
+ 21621 - 19968: jis0208<<14 | 0x31<<7 | 0x49,
+ 21622 - 19968: jis0208<<14 | 0x31<<7 | 0x52,
+ 21623 - 19968: jis0208<<14 | 0x31<<7 | 0x4D,
+ 21627 - 19968: jis0208<<14 | 0x31<<7 | 0x50,
+ 21628 - 19968: jis0208<<14 | 0x17<<7 | 0x25,
+ 21629 - 19968: jis0208<<14 | 0x2B<<7 | 0x1E,
+ 21631 - 19968: jis0212<<14 | 0x13<<7 | 0x5D,
+ 21632 - 19968: jis0208<<14 | 0x31<<7 | 0x51,
+ 21633 - 19968: jis0212<<14 | 0x14<<7 | 0x00,
+ 21635 - 19968: jis0212<<14 | 0x14<<7 | 0x01,
+ 21636 - 19968: jis0208<<14 | 0x31<<7 | 0x53,
+ 21637 - 19968: jis0212<<14 | 0x14<<7 | 0x02,
+ 21638 - 19968: jis0208<<14 | 0x31<<7 | 0x55,
+ 21640 - 19968: jis0212<<14 | 0x14<<7 | 0x03,
+ 21641 - 19968: jis0212<<14 | 0x14<<7 | 0x04,
+ 21642 - 19968: jis0208<<14 | 0x58<<7 | 0x35,
+ 21643 - 19968: jis0208<<14 | 0x19<<7 | 0x4F,
+ 21644 - 19968: jis0208<<14 | 0x2E<<7 | 0x21,
+ 21645 - 19968: jis0212<<14 | 0x14<<7 | 0x05,
+ 21646 - 19968: jis0208<<14 | 0x31<<7 | 0x4A,
+ 21647 - 19968: jis0208<<14 | 0x31<<7 | 0x48,
+ 21648 - 19968: jis0208<<14 | 0x31<<7 | 0x54,
+ 21649 - 19968: jis0212<<14 | 0x14<<7 | 0x06,
+ 21650 - 19968: jis0208<<14 | 0x31<<7 | 0x4F,
+ 21653 - 19968: jis0212<<14 | 0x14<<7 | 0x07,
+ 21654 - 19968: jis0212<<14 | 0x14<<7 | 0x08,
+ 21660 - 19968: jis0208<<14 | 0x58<<7 | 0x34,
+ 21663 - 19968: jis0212<<14 | 0x14<<7 | 0x0A,
+ 21665 - 19968: jis0212<<14 | 0x14<<7 | 0x0B,
+ 21666 - 19968: jis0208<<14 | 0x31<<7 | 0x57,
+ 21668 - 19968: jis0208<<14 | 0x32<<7 | 0x02,
+ 21669 - 19968: jis0208<<14 | 0x31<<7 | 0x59,
+ 21670 - 19968: jis0212<<14 | 0x14<<7 | 0x0C,
+ 21671 - 19968: jis0212<<14 | 0x14<<7 | 0x0D,
+ 21672 - 19968: jis0208<<14 | 0x31<<7 | 0x5D,
+ 21673 - 19968: jis0208<<14 | 0x58<<7 | 0x36,
+ 21674 - 19968: jis0212<<14 | 0x14<<7 | 0x0F,
+ 21675 - 19968: jis0208<<14 | 0x32<<7 | 0x00,
+ 21676 - 19968: jis0208<<14 | 0x31<<7 | 0x5A,
+ 21677 - 19968: jis0212<<14 | 0x14<<7 | 0x10,
+ 21678 - 19968: jis0212<<14 | 0x14<<7 | 0x11,
+ 21679 - 19968: jis0208<<14 | 0x32<<7 | 0x1D,
+ 21681 - 19968: jis0212<<14 | 0x14<<7 | 0x12,
+ 21682 - 19968: jis0208<<14 | 0x19<<7 | 0x48,
+ 21683 - 19968: jis0208<<14 | 0x12<<7 | 0x10,
+ 21687 - 19968: jis0212<<14 | 0x14<<7 | 0x13,
+ 21688 - 19968: jis0208<<14 | 0x31<<7 | 0x58,
+ 21689 - 19968: jis0212<<14 | 0x14<<7 | 0x14,
+ 21690 - 19968: jis0212<<14 | 0x14<<7 | 0x15,
+ 21691 - 19968: jis0212<<14 | 0x14<<7 | 0x16,
+ 21692 - 19968: jis0208<<14 | 0x32<<7 | 0x04,
+ 21693 - 19968: jis0208<<14 | 0x0F<<7 | 0x55,
+ 21694 - 19968: jis0208<<14 | 0x32<<7 | 0x03,
+ 21695 - 19968: jis0212<<14 | 0x14<<7 | 0x17,
+ 21696 - 19968: jis0208<<14 | 0x0F<<7 | 0x04,
+ 21697 - 19968: jis0208<<14 | 0x28<<7 | 0x29,
+ 21698 - 19968: jis0208<<14 | 0x32<<7 | 0x01,
+ 21700 - 19968: jis0208<<14 | 0x31<<7 | 0x5B,
+ 21702 - 19968: jis0212<<14 | 0x14<<7 | 0x18,
+ 21703 - 19968: jis0208<<14 | 0x31<<7 | 0x56,
+ 21704 - 19968: jis0208<<14 | 0x31<<7 | 0x5C,
+ 21705 - 19968: jis0208<<14 | 0x19<<7 | 0x27,
+ 21706 - 19968: jis0212<<14 | 0x14<<7 | 0x19,
+ 21709 - 19968: jis0212<<14 | 0x14<<7 | 0x1A,
+ 21710 - 19968: jis0212<<14 | 0x14<<7 | 0x1B,
+ 21720 - 19968: jis0208<<14 | 0x32<<7 | 0x05,
+ 21728 - 19968: jis0212<<14 | 0x14<<7 | 0x1C,
+ 21729 - 19968: jis0208<<14 | 0x0F<<7 | 0x56,
+ 21730 - 19968: jis0208<<14 | 0x32<<7 | 0x0E,
+ 21733 - 19968: jis0208<<14 | 0x32<<7 | 0x06,
+ 21734 - 19968: jis0208<<14 | 0x32<<7 | 0x07,
+ 21736 - 19968: jis0208<<14 | 0x1D<<7 | 0x04,
+ 21737 - 19968: jis0208<<14 | 0x2A<<7 | 0x48,
+ 21738 - 19968: jis0212<<14 | 0x14<<7 | 0x1D,
+ 21740 - 19968: jis0212<<14 | 0x14<<7 | 0x1E,
+ 21741 - 19968: jis0208<<14 | 0x32<<7 | 0x0C,
+ 21742 - 19968: jis0208<<14 | 0x32<<7 | 0x0B,
+ 21743 - 19968: jis0212<<14 | 0x14<<7 | 0x1F,
+ 21746 - 19968: jis0208<<14 | 0x24<<7 | 0x0E,
+ 21750 - 19968: jis0212<<14 | 0x14<<7 | 0x20,
+ 21754 - 19968: jis0208<<14 | 0x32<<7 | 0x0D,
+ 21756 - 19968: jis0212<<14 | 0x14<<7 | 0x21,
+ 21757 - 19968: jis0208<<14 | 0x32<<7 | 0x0A,
+ 21758 - 19968: jis0212<<14 | 0x14<<7 | 0x22,
+ 21759 - 19968: jis0208<<14 | 0x58<<7 | 0x37,
+ 21760 - 19968: jis0212<<14 | 0x14<<7 | 0x24,
+ 21761 - 19968: jis0212<<14 | 0x14<<7 | 0x25,
+ 21764 - 19968: jis0208<<14 | 0x10<<7 | 0x13,
+ 21765 - 19968: jis0212<<14 | 0x14<<7 | 0x26,
+ 21766 - 19968: jis0208<<14 | 0x19<<7 | 0x15,
+ 21767 - 19968: jis0208<<14 | 0x1E<<7 | 0x0F,
+ 21768 - 19968: jis0212<<14 | 0x14<<7 | 0x27,
+ 21769 - 19968: jis0212<<14 | 0x14<<7 | 0x28,
+ 21772 - 19968: jis0212<<14 | 0x14<<7 | 0x29,
+ 21773 - 19968: jis0212<<14 | 0x14<<7 | 0x2A,
+ 21774 - 19968: jis0212<<14 | 0x14<<7 | 0x2B,
+ 21775 - 19968: jis0208<<14 | 0x32<<7 | 0x08,
+ 21776 - 19968: jis0208<<14 | 0x24<<7 | 0x41,
+ 21780 - 19968: jis0208<<14 | 0x32<<7 | 0x09,
+ 21781 - 19968: jis0212<<14 | 0x14<<7 | 0x2C,
+ 21782 - 19968: jis0208<<14 | 0x0F<<7 | 0x01,
+ 21802 - 19968: jis0212<<14 | 0x14<<7 | 0x2D,
+ 21803 - 19968: jis0212<<14 | 0x14<<7 | 0x2E,
+ 21806 - 19968: jis0208<<14 | 0x32<<7 | 0x13,
+ 21807 - 19968: jis0208<<14 | 0x2C<<7 | 0x02,
+ 21809 - 19968: jis0208<<14 | 0x1D<<7 | 0x06,
+ 21810 - 19968: jis0212<<14 | 0x14<<7 | 0x2F,
+ 21811 - 19968: jis0208<<14 | 0x32<<7 | 0x19,
+ 21813 - 19968: jis0212<<14 | 0x14<<7 | 0x30,
+ 21814 - 19968: jis0212<<14 | 0x14<<7 | 0x31,
+ 21816 - 19968: jis0208<<14 | 0x32<<7 | 0x18,
+ 21817 - 19968: jis0208<<14 | 0x32<<7 | 0x0F,
+ 21819 - 19968: jis0212<<14 | 0x14<<7 | 0x32,
+ 21820 - 19968: jis0212<<14 | 0x14<<7 | 0x33,
+ 21821 - 19968: jis0212<<14 | 0x14<<7 | 0x34,
+ 21822 - 19968: jis0208<<14 | 0x21<<7 | 0x22,
+ 21824 - 19968: jis0208<<14 | 0x32<<7 | 0x10,
+ 21825 - 19968: jis0212<<14 | 0x14<<7 | 0x35,
+ 21828 - 19968: jis0208<<14 | 0x21<<7 | 0x4E,
+ 21829 - 19968: jis0208<<14 | 0x32<<7 | 0x15,
+ 21830 - 19968: jis0208<<14 | 0x1D<<7 | 0x05,
+ 21831 - 19968: jis0212<<14 | 0x14<<7 | 0x36,
+ 21833 - 19968: jis0212<<14 | 0x14<<7 | 0x37,
+ 21834 - 19968: jis0212<<14 | 0x14<<7 | 0x38,
+ 21836 - 19968: jis0208<<14 | 0x32<<7 | 0x12,
+ 21837 - 19968: jis0212<<14 | 0x14<<7 | 0x39,
+ 21839 - 19968: jis0208<<14 | 0x2B<<7 | 0x43,
+ 21840 - 19968: jis0212<<14 | 0x14<<7 | 0x3A,
+ 21841 - 19968: jis0212<<14 | 0x14<<7 | 0x3B,
+ 21843 - 19968: jis0208<<14 | 0x16<<7 | 0x1B,
+ 21846 - 19968: jis0208<<14 | 0x32<<7 | 0x16,
+ 21847 - 19968: jis0208<<14 | 0x32<<7 | 0x17,
+ 21848 - 19968: jis0212<<14 | 0x14<<7 | 0x3C,
+ 21850 - 19968: jis0212<<14 | 0x14<<7 | 0x3D,
+ 21851 - 19968: jis0212<<14 | 0x14<<7 | 0x3E,
+ 21852 - 19968: jis0208<<14 | 0x32<<7 | 0x14,
+ 21853 - 19968: jis0208<<14 | 0x32<<7 | 0x1A,
+ 21854 - 19968: jis0212<<14 | 0x14<<7 | 0x3F,
+ 21856 - 19968: jis0212<<14 | 0x14<<7 | 0x40,
+ 21857 - 19968: jis0212<<14 | 0x14<<7 | 0x41,
+ 21859 - 19968: jis0208<<14 | 0x32<<7 | 0x11,
+ 21860 - 19968: jis0212<<14 | 0x14<<7 | 0x42,
+ 21862 - 19968: jis0212<<14 | 0x14<<7 | 0x43,
+ 21883 - 19968: jis0208<<14 | 0x32<<7 | 0x20,
+ 21884 - 19968: jis0208<<14 | 0x32<<7 | 0x25,
+ 21886 - 19968: jis0208<<14 | 0x32<<7 | 0x21,
+ 21887 - 19968: jis0212<<14 | 0x14<<7 | 0x44,
+ 21888 - 19968: jis0208<<14 | 0x32<<7 | 0x1C,
+ 21889 - 19968: jis0212<<14 | 0x14<<7 | 0x45,
+ 21890 - 19968: jis0212<<14 | 0x14<<7 | 0x46,
+ 21891 - 19968: jis0208<<14 | 0x32<<7 | 0x26,
+ 21892 - 19968: jis0208<<14 | 0x20<<7 | 0x10,
+ 21894 - 19968: jis0208<<14 | 0x58<<7 | 0x38,
+ 21895 - 19968: jis0208<<14 | 0x32<<7 | 0x28,
+ 21896 - 19968: jis0212<<14 | 0x14<<7 | 0x48,
+ 21897 - 19968: jis0208<<14 | 0x18<<7 | 0x01,
+ 21898 - 19968: jis0208<<14 | 0x32<<7 | 0x1E,
+ 21899 - 19968: jis0208<<14 | 0x22<<7 | 0x5C,
+ 21902 - 19968: jis0212<<14 | 0x14<<7 | 0x49,
+ 21903 - 19968: jis0212<<14 | 0x14<<7 | 0x4A,
+ 21905 - 19968: jis0212<<14 | 0x14<<7 | 0x4B,
+ 21906 - 19968: jis0212<<14 | 0x14<<7 | 0x4C,
+ 21907 - 19968: jis0212<<14 | 0x14<<7 | 0x4D,
+ 21908 - 19968: jis0212<<14 | 0x14<<7 | 0x4E,
+ 21911 - 19968: jis0212<<14 | 0x14<<7 | 0x4F,
+ 21912 - 19968: jis0208<<14 | 0x32<<7 | 0x22,
+ 21913 - 19968: jis0208<<14 | 0x32<<7 | 0x1B,
+ 21914 - 19968: jis0208<<14 | 0x13<<7 | 0x0C,
+ 21916 - 19968: jis0208<<14 | 0x13<<7 | 0x4D,
+ 21917 - 19968: jis0208<<14 | 0x12<<7 | 0x44,
+ 21918 - 19968: jis0208<<14 | 0x32<<7 | 0x23,
+ 21919 - 19968: jis0208<<14 | 0x32<<7 | 0x1F,
+ 21923 - 19968: jis0212<<14 | 0x14<<7 | 0x50,
+ 21924 - 19968: jis0212<<14 | 0x14<<7 | 0x51,
+ 21927 - 19968: jis0208<<14 | 0x16<<7 | 0x55,
+ 21928 - 19968: jis0208<<14 | 0x32<<7 | 0x29,
+ 21929 - 19968: jis0208<<14 | 0x32<<7 | 0x27,
+ 21930 - 19968: jis0208<<14 | 0x20<<7 | 0x32,
+ 21931 - 19968: jis0208<<14 | 0x14<<7 | 0x29,
+ 21932 - 19968: jis0208<<14 | 0x15<<7 | 0x0B,
+ 21933 - 19968: jis0212<<14 | 0x14<<7 | 0x52,
+ 21934 - 19968: jis0208<<14 | 0x32<<7 | 0x24,
+ 21936 - 19968: jis0208<<14 | 0x15<<7 | 0x53,
+ 21938 - 19968: jis0212<<14 | 0x14<<7 | 0x53,
+ 21942 - 19968: jis0208<<14 | 0x10<<7 | 0x23,
+ 21951 - 19968: jis0212<<14 | 0x14<<7 | 0x54,
+ 21953 - 19968: jis0212<<14 | 0x14<<7 | 0x55,
+ 21955 - 19968: jis0212<<14 | 0x14<<7 | 0x56,
+ 21956 - 19968: jis0208<<14 | 0x32<<7 | 0x2D,
+ 21957 - 19968: jis0208<<14 | 0x32<<7 | 0x2B,
+ 21958 - 19968: jis0212<<14 | 0x14<<7 | 0x57,
+ 21959 - 19968: jis0208<<14 | 0x33<<7 | 0x06,
+ 21961 - 19968: jis0212<<14 | 0x14<<7 | 0x58,
+ 21963 - 19968: jis0212<<14 | 0x14<<7 | 0x59,
+ 21964 - 19968: jis0212<<14 | 0x14<<7 | 0x5A,
+ 21966 - 19968: jis0212<<14 | 0x14<<7 | 0x5B,
+ 21969 - 19968: jis0212<<14 | 0x14<<7 | 0x5C,
+ 21970 - 19968: jis0212<<14 | 0x14<<7 | 0x5D,
+ 21971 - 19968: jis0212<<14 | 0x15<<7 | 0x00,
+ 21972 - 19968: jis0208<<14 | 0x32<<7 | 0x30,
+ 21975 - 19968: jis0212<<14 | 0x15<<7 | 0x01,
+ 21976 - 19968: jis0212<<14 | 0x15<<7 | 0x02,
+ 21978 - 19968: jis0208<<14 | 0x32<<7 | 0x2A,
+ 21979 - 19968: jis0212<<14 | 0x15<<7 | 0x03,
+ 21980 - 19968: jis0208<<14 | 0x32<<7 | 0x2E,
+ 21982 - 19968: jis0212<<14 | 0x15<<7 | 0x04,
+ 21983 - 19968: jis0208<<14 | 0x32<<7 | 0x2C,
+ 21986 - 19968: jis0212<<14 | 0x15<<7 | 0x05,
+ 21987 - 19968: jis0208<<14 | 0x1A<<7 | 0x2B,
+ 21988 - 19968: jis0208<<14 | 0x32<<7 | 0x2F,
+ 21993 - 19968: jis0212<<14 | 0x15<<7 | 0x06,
+ 22006 - 19968: jis0212<<14 | 0x15<<7 | 0x07,
+ 22007 - 19968: jis0208<<14 | 0x32<<7 | 0x32,
+ 22009 - 19968: jis0208<<14 | 0x32<<7 | 0x37,
+ 22013 - 19968: jis0208<<14 | 0x32<<7 | 0x35,
+ 22014 - 19968: jis0208<<14 | 0x32<<7 | 0x34,
+ 22015 - 19968: jis0212<<14 | 0x15<<7 | 0x08,
+ 22021 - 19968: jis0212<<14 | 0x15<<7 | 0x09,
+ 22022 - 19968: jis0208<<14 | 0x22<<7 | 0x11,
+ 22024 - 19968: jis0212<<14 | 0x15<<7 | 0x0A,
+ 22025 - 19968: jis0208<<14 | 0x11<<7 | 0x24,
+ 22026 - 19968: jis0212<<14 | 0x15<<7 | 0x0B,
+ 22029 - 19968: jis0212<<14 | 0x15<<7 | 0x0C,
+ 22030 - 19968: jis0212<<14 | 0x15<<7 | 0x0D,
+ 22031 - 19968: jis0212<<14 | 0x15<<7 | 0x0E,
+ 22032 - 19968: jis0212<<14 | 0x15<<7 | 0x0F,
+ 22033 - 19968: jis0212<<14 | 0x15<<7 | 0x10,
+ 22034 - 19968: jis0212<<14 | 0x15<<7 | 0x11,
+ 22036 - 19968: jis0208<<14 | 0x32<<7 | 0x31,
+ 22038 - 19968: jis0208<<14 | 0x32<<7 | 0x33,
+ 22039 - 19968: jis0208<<14 | 0x1D<<7 | 0x07,
+ 22040 - 19968: jis0208<<14 | 0x10<<7 | 0x12,
+ 22041 - 19968: jis0212<<14 | 0x15<<7 | 0x12,
+ 22043 - 19968: jis0208<<14 | 0x32<<7 | 0x36,
+ 22057 - 19968: jis0208<<14 | 0x11<<7 | 0x3D,
+ 22060 - 19968: jis0212<<14 | 0x15<<7 | 0x13,
+ 22063 - 19968: jis0208<<14 | 0x32<<7 | 0x41,
+ 22064 - 19968: jis0212<<14 | 0x15<<7 | 0x14,
+ 22065 - 19968: jis0208<<14 | 0x1D<<7 | 0x5B,
+ 22066 - 19968: jis0208<<14 | 0x32<<7 | 0x3D,
+ 22067 - 19968: jis0212<<14 | 0x15<<7 | 0x15,
+ 22068 - 19968: jis0208<<14 | 0x32<<7 | 0x3B,
+ 22069 - 19968: jis0212<<14 | 0x15<<7 | 0x16,
+ 22070 - 19968: jis0208<<14 | 0x32<<7 | 0x3C,
+ 22071 - 19968: jis0212<<14 | 0x15<<7 | 0x17,
+ 22072 - 19968: jis0208<<14 | 0x32<<7 | 0x3E,
+ 22073 - 19968: jis0212<<14 | 0x15<<7 | 0x18,
+ 22075 - 19968: jis0212<<14 | 0x15<<7 | 0x19,
+ 22076 - 19968: jis0212<<14 | 0x15<<7 | 0x1A,
+ 22077 - 19968: jis0212<<14 | 0x15<<7 | 0x1B,
+ 22079 - 19968: jis0212<<14 | 0x15<<7 | 0x1C,
+ 22080 - 19968: jis0212<<14 | 0x15<<7 | 0x1D,
+ 22081 - 19968: jis0212<<14 | 0x15<<7 | 0x1E,
+ 22082 - 19968: jis0208<<14 | 0x10<<7 | 0x1C,
+ 22083 - 19968: jis0212<<14 | 0x15<<7 | 0x1F,
+ 22084 - 19968: jis0212<<14 | 0x15<<7 | 0x20,
+ 22086 - 19968: jis0212<<14 | 0x15<<7 | 0x21,
+ 22089 - 19968: jis0212<<14 | 0x15<<7 | 0x22,
+ 22091 - 19968: jis0212<<14 | 0x15<<7 | 0x23,
+ 22092 - 19968: jis0208<<14 | 0x20<<7 | 0x18,
+ 22093 - 19968: jis0212<<14 | 0x15<<7 | 0x24,
+ 22094 - 19968: jis0208<<14 | 0x32<<7 | 0x38,
+ 22095 - 19968: jis0212<<14 | 0x15<<7 | 0x25,
+ 22096 - 19968: jis0208<<14 | 0x32<<7 | 0x39,
+ 22100 - 19968: jis0212<<14 | 0x15<<7 | 0x26,
+ 22107 - 19968: jis0208<<14 | 0x12<<7 | 0x59,
+ 22110 - 19968: jis0212<<14 | 0x15<<7 | 0x27,
+ 22112 - 19968: jis0212<<14 | 0x15<<7 | 0x28,
+ 22113 - 19968: jis0212<<14 | 0x15<<7 | 0x29,
+ 22114 - 19968: jis0212<<14 | 0x15<<7 | 0x2A,
+ 22115 - 19968: jis0212<<14 | 0x15<<7 | 0x2B,
+ 22116 - 19968: jis0208<<14 | 0x32<<7 | 0x40,
+ 22118 - 19968: jis0212<<14 | 0x15<<7 | 0x2C,
+ 22120 - 19968: jis0208<<14 | 0x13<<7 | 0x4E,
+ 22121 - 19968: jis0212<<14 | 0x15<<7 | 0x2D,
+ 22122 - 19968: jis0208<<14 | 0x32<<7 | 0x43,
+ 22123 - 19968: jis0208<<14 | 0x32<<7 | 0x3F,
+ 22124 - 19968: jis0208<<14 | 0x32<<7 | 0x42,
+ 22125 - 19968: jis0212<<14 | 0x15<<7 | 0x2E,
+ 22127 - 19968: jis0212<<14 | 0x15<<7 | 0x2F,
+ 22129 - 19968: jis0212<<14 | 0x15<<7 | 0x30,
+ 22130 - 19968: jis0212<<14 | 0x15<<7 | 0x31,
+ 22132 - 19968: jis0208<<14 | 0x29<<7 | 0x0D,
+ 22133 - 19968: jis0212<<14 | 0x15<<7 | 0x32,
+ 22136 - 19968: jis0208<<14 | 0x25<<7 | 0x34,
+ 22138 - 19968: jis0208<<14 | 0x27<<7 | 0x17,
+ 22144 - 19968: jis0208<<14 | 0x32<<7 | 0x45,
+ 22148 - 19968: jis0212<<14 | 0x15<<7 | 0x33,
+ 22149 - 19968: jis0212<<14 | 0x15<<7 | 0x34,
+ 22150 - 19968: jis0208<<14 | 0x32<<7 | 0x44,
+ 22151 - 19968: jis0208<<14 | 0x12<<7 | 0x24,
+ 22152 - 19968: jis0212<<14 | 0x15<<7 | 0x35,
+ 22154 - 19968: jis0208<<14 | 0x32<<7 | 0x46,
+ 22155 - 19968: jis0212<<14 | 0x15<<7 | 0x36,
+ 22156 - 19968: jis0212<<14 | 0x15<<7 | 0x37,
+ 22159 - 19968: jis0208<<14 | 0x32<<7 | 0x49,
+ 22164 - 19968: jis0208<<14 | 0x32<<7 | 0x48,
+ 22165 - 19968: jis0212<<14 | 0x15<<7 | 0x38,
+ 22169 - 19968: jis0212<<14 | 0x15<<7 | 0x39,
+ 22170 - 19968: jis0212<<14 | 0x15<<7 | 0x3A,
+ 22173 - 19968: jis0212<<14 | 0x15<<7 | 0x3B,
+ 22174 - 19968: jis0212<<14 | 0x15<<7 | 0x3C,
+ 22175 - 19968: jis0212<<14 | 0x15<<7 | 0x3D,
+ 22176 - 19968: jis0208<<14 | 0x32<<7 | 0x47,
+ 22178 - 19968: jis0208<<14 | 0x26<<7 | 0x18,
+ 22181 - 19968: jis0208<<14 | 0x32<<7 | 0x4A,
+ 22182 - 19968: jis0212<<14 | 0x15<<7 | 0x3E,
+ 22183 - 19968: jis0212<<14 | 0x15<<7 | 0x3F,
+ 22184 - 19968: jis0212<<14 | 0x15<<7 | 0x40,
+ 22185 - 19968: jis0212<<14 | 0x15<<7 | 0x41,
+ 22187 - 19968: jis0212<<14 | 0x15<<7 | 0x42,
+ 22188 - 19968: jis0212<<14 | 0x15<<7 | 0x43,
+ 22189 - 19968: jis0212<<14 | 0x15<<7 | 0x44,
+ 22190 - 19968: jis0208<<14 | 0x32<<7 | 0x4B,
+ 22193 - 19968: jis0212<<14 | 0x15<<7 | 0x45,
+ 22195 - 19968: jis0212<<14 | 0x15<<7 | 0x46,
+ 22196 - 19968: jis0208<<14 | 0x32<<7 | 0x4D,
+ 22198 - 19968: jis0208<<14 | 0x32<<7 | 0x4C,
+ 22199 - 19968: jis0212<<14 | 0x15<<7 | 0x47,
+ 22204 - 19968: jis0208<<14 | 0x32<<7 | 0x4F,
+ 22206 - 19968: jis0212<<14 | 0x15<<7 | 0x48,
+ 22208 - 19968: jis0208<<14 | 0x32<<7 | 0x52,
+ 22209 - 19968: jis0208<<14 | 0x32<<7 | 0x50,
+ 22210 - 19968: jis0208<<14 | 0x32<<7 | 0x4E,
+ 22211 - 19968: jis0208<<14 | 0x32<<7 | 0x51,
+ 22213 - 19968: jis0212<<14 | 0x15<<7 | 0x49,
+ 22216 - 19968: jis0208<<14 | 0x32<<7 | 0x53,
+ 22217 - 19968: jis0212<<14 | 0x15<<7 | 0x4A,
+ 22218 - 19968: jis0212<<14 | 0x15<<7 | 0x4B,
+ 22219 - 19968: jis0212<<14 | 0x15<<7 | 0x4C,
+ 22220 - 19968: jis0212<<14 | 0x15<<7 | 0x4F,
+ 22221 - 19968: jis0212<<14 | 0x15<<7 | 0x50,
+ 22222 - 19968: jis0208<<14 | 0x32<<7 | 0x54,
+ 22223 - 19968: jis0212<<14 | 0x15<<7 | 0x4D,
+ 22224 - 19968: jis0212<<14 | 0x15<<7 | 0x4E,
+ 22225 - 19968: jis0208<<14 | 0x32<<7 | 0x55,
+ 22227 - 19968: jis0208<<14 | 0x32<<7 | 0x56,
+ 22231 - 19968: jis0208<<14 | 0x32<<7 | 0x57,
+ 22232 - 19968: jis0208<<14 | 0x30<<7 | 0x24,
+ 22233 - 19968: jis0212<<14 | 0x15<<7 | 0x51,
+ 22234 - 19968: jis0208<<14 | 0x1B<<7 | 0x5B,
+ 22235 - 19968: jis0208<<14 | 0x1A<<7 | 0x2C,
+ 22236 - 19968: jis0212<<14 | 0x15<<7 | 0x52,
+ 22237 - 19968: jis0212<<14 | 0x15<<7 | 0x53,
+ 22238 - 19968: jis0208<<14 | 0x11<<7 | 0x52,
+ 22239 - 19968: jis0212<<14 | 0x15<<7 | 0x54,
+ 22240 - 19968: jis0208<<14 | 0x0F<<7 | 0x57,
+ 22241 - 19968: jis0212<<14 | 0x15<<7 | 0x55,
+ 22243 - 19968: jis0208<<14 | 0x22<<7 | 0x23,
+ 22244 - 19968: jis0212<<14 | 0x15<<7 | 0x56,
+ 22245 - 19968: jis0212<<14 | 0x15<<7 | 0x57,
+ 22246 - 19968: jis0212<<14 | 0x15<<7 | 0x58,
+ 22247 - 19968: jis0212<<14 | 0x15<<7 | 0x59,
+ 22248 - 19968: jis0212<<14 | 0x15<<7 | 0x5A,
+ 22251 - 19968: jis0212<<14 | 0x15<<7 | 0x5C,
+ 22253 - 19968: jis0212<<14 | 0x15<<7 | 0x5D,
+ 22254 - 19968: jis0208<<14 | 0x32<<7 | 0x58,
+ 22256 - 19968: jis0208<<14 | 0x19<<7 | 0x03,
+ 22257 - 19968: jis0212<<14 | 0x15<<7 | 0x5B,
+ 22258 - 19968: jis0208<<14 | 0x0F<<7 | 0x2E,
+ 22259 - 19968: jis0208<<14 | 0x1E<<7 | 0x3D,
+ 22262 - 19968: jis0212<<14 | 0x16<<7 | 0x00,
+ 22263 - 19968: jis0212<<14 | 0x16<<7 | 0x01,
+ 22265 - 19968: jis0208<<14 | 0x32<<7 | 0x59,
+ 22266 - 19968: jis0208<<14 | 0x17<<7 | 0x26,
+ 22269 - 19968: jis0208<<14 | 0x18<<7 | 0x50,
+ 22271 - 19968: jis0208<<14 | 0x32<<7 | 0x5B,
+ 22272 - 19968: jis0208<<14 | 0x32<<7 | 0x5A,
+ 22273 - 19968: jis0212<<14 | 0x16<<7 | 0x02,
+ 22274 - 19968: jis0212<<14 | 0x16<<7 | 0x03,
+ 22275 - 19968: jis0208<<14 | 0x29<<7 | 0x3F,
+ 22276 - 19968: jis0208<<14 | 0x32<<7 | 0x5C,
+ 22279 - 19968: jis0212<<14 | 0x16<<7 | 0x04,
+ 22280 - 19968: jis0208<<14 | 0x33<<7 | 0x00,
+ 22281 - 19968: jis0208<<14 | 0x32<<7 | 0x5D,
+ 22282 - 19968: jis0212<<14 | 0x16<<7 | 0x05,
+ 22283 - 19968: jis0208<<14 | 0x33<<7 | 0x01,
+ 22284 - 19968: jis0212<<14 | 0x16<<7 | 0x06,
+ 22285 - 19968: jis0208<<14 | 0x33<<7 | 0x02,
+ 22287 - 19968: jis0208<<14 | 0x16<<7 | 0x56,
+ 22289 - 19968: jis0212<<14 | 0x16<<7 | 0x07,
+ 22290 - 19968: jis0208<<14 | 0x10<<7 | 0x3F,
+ 22291 - 19968: jis0208<<14 | 0x33<<7 | 0x03,
+ 22293 - 19968: jis0212<<14 | 0x16<<7 | 0x08,
+ 22294 - 19968: jis0208<<14 | 0x33<<7 | 0x05,
+ 22296 - 19968: jis0208<<14 | 0x33<<7 | 0x04,
+ 22298 - 19968: jis0212<<14 | 0x16<<7 | 0x09,
+ 22299 - 19968: jis0212<<14 | 0x16<<7 | 0x0A,
+ 22300 - 19968: jis0208<<14 | 0x33<<7 | 0x07,
+ 22301 - 19968: jis0212<<14 | 0x16<<7 | 0x0B,
+ 22303 - 19968: jis0208<<14 | 0x24<<7 | 0x39,
+ 22304 - 19968: jis0212<<14 | 0x16<<7 | 0x0C,
+ 22306 - 19968: jis0212<<14 | 0x16<<7 | 0x0D,
+ 22307 - 19968: jis0212<<14 | 0x16<<7 | 0x0E,
+ 22308 - 19968: jis0212<<14 | 0x16<<7 | 0x0F,
+ 22309 - 19968: jis0212<<14 | 0x16<<7 | 0x10,
+ 22310 - 19968: jis0208<<14 | 0x33<<7 | 0x08,
+ 22311 - 19968: jis0208<<14 | 0x0F<<7 | 0x14,
+ 22312 - 19968: jis0208<<14 | 0x19<<7 | 0x3E,
+ 22313 - 19968: jis0212<<14 | 0x16<<7 | 0x11,
+ 22314 - 19968: jis0212<<14 | 0x16<<7 | 0x12,
+ 22316 - 19968: jis0212<<14 | 0x16<<7 | 0x13,
+ 22317 - 19968: jis0208<<14 | 0x16<<7 | 0x1C,
+ 22318 - 19968: jis0212<<14 | 0x16<<7 | 0x14,
+ 22319 - 19968: jis0212<<14 | 0x16<<7 | 0x15,
+ 22320 - 19968: jis0208<<14 | 0x22<<7 | 0x2E,
+ 22323 - 19968: jis0212<<14 | 0x16<<7 | 0x16,
+ 22324 - 19968: jis0212<<14 | 0x16<<7 | 0x17,
+ 22327 - 19968: jis0208<<14 | 0x33<<7 | 0x09,
+ 22328 - 19968: jis0208<<14 | 0x33<<7 | 0x0A,
+ 22331 - 19968: jis0208<<14 | 0x33<<7 | 0x0C,
+ 22333 - 19968: jis0212<<14 | 0x16<<7 | 0x18,
+ 22334 - 19968: jis0212<<14 | 0x16<<7 | 0x19,
+ 22335 - 19968: jis0212<<14 | 0x16<<7 | 0x1A,
+ 22336 - 19968: jis0208<<14 | 0x33<<7 | 0x0D,
+ 22338 - 19968: jis0208<<14 | 0x19<<7 | 0x43,
+ 22341 - 19968: jis0212<<14 | 0x16<<7 | 0x1B,
+ 22342 - 19968: jis0212<<14 | 0x16<<7 | 0x1C,
+ 22343 - 19968: jis0208<<14 | 0x15<<7 | 0x30,
+ 22346 - 19968: jis0208<<14 | 0x2A<<7 | 0x16,
+ 22348 - 19968: jis0212<<14 | 0x16<<7 | 0x1D,
+ 22349 - 19968: jis0212<<14 | 0x16<<7 | 0x1E,
+ 22350 - 19968: jis0208<<14 | 0x33<<7 | 0x0B,
+ 22351 - 19968: jis0208<<14 | 0x33<<7 | 0x0E,
+ 22352 - 19968: jis0208<<14 | 0x19<<7 | 0x20,
+ 22353 - 19968: jis0208<<14 | 0x18<<7 | 0x02,
+ 22354 - 19968: jis0212<<14 | 0x16<<7 | 0x1F,
+ 22361 - 19968: jis0208<<14 | 0x58<<7 | 0x39,
+ 22369 - 19968: jis0208<<14 | 0x33<<7 | 0x12,
+ 22370 - 19968: jis0212<<14 | 0x16<<7 | 0x20,
+ 22372 - 19968: jis0208<<14 | 0x19<<7 | 0x04,
+ 22373 - 19968: jis0208<<14 | 0x58<<7 | 0x3A,
+ 22374 - 19968: jis0208<<14 | 0x22<<7 | 0x12,
+ 22375 - 19968: jis0212<<14 | 0x16<<7 | 0x22,
+ 22376 - 19968: jis0212<<14 | 0x16<<7 | 0x23,
+ 22377 - 19968: jis0208<<14 | 0x33<<7 | 0x0F,
+ 22378 - 19968: jis0208<<14 | 0x23<<7 | 0x39,
+ 22379 - 19968: jis0212<<14 | 0x16<<7 | 0x24,
+ 22381 - 19968: jis0212<<14 | 0x16<<7 | 0x25,
+ 22382 - 19968: jis0212<<14 | 0x16<<7 | 0x26,
+ 22383 - 19968: jis0212<<14 | 0x16<<7 | 0x27,
+ 22384 - 19968: jis0212<<14 | 0x16<<7 | 0x28,
+ 22385 - 19968: jis0212<<14 | 0x16<<7 | 0x29,
+ 22387 - 19968: jis0212<<14 | 0x16<<7 | 0x2A,
+ 22388 - 19968: jis0212<<14 | 0x16<<7 | 0x2B,
+ 22389 - 19968: jis0212<<14 | 0x16<<7 | 0x2C,
+ 22391 - 19968: jis0212<<14 | 0x16<<7 | 0x2D,
+ 22393 - 19968: jis0212<<14 | 0x16<<7 | 0x2E,
+ 22394 - 19968: jis0212<<14 | 0x16<<7 | 0x2F,
+ 22395 - 19968: jis0212<<14 | 0x16<<7 | 0x30,
+ 22396 - 19968: jis0212<<14 | 0x16<<7 | 0x31,
+ 22398 - 19968: jis0212<<14 | 0x16<<7 | 0x32,
+ 22399 - 19968: jis0208<<14 | 0x33<<7 | 0x13,
+ 22401 - 19968: jis0212<<14 | 0x16<<7 | 0x33,
+ 22402 - 19968: jis0208<<14 | 0x1E<<7 | 0x41,
+ 22403 - 19968: jis0212<<14 | 0x16<<7 | 0x34,
+ 22408 - 19968: jis0208<<14 | 0x33<<7 | 0x11,
+ 22409 - 19968: jis0208<<14 | 0x33<<7 | 0x14,
+ 22411 - 19968: jis0208<<14 | 0x16<<7 | 0x1E,
+ 22412 - 19968: jis0212<<14 | 0x16<<7 | 0x35,
+ 22419 - 19968: jis0208<<14 | 0x33<<7 | 0x15,
+ 22420 - 19968: jis0212<<14 | 0x16<<7 | 0x36,
+ 22421 - 19968: jis0212<<14 | 0x16<<7 | 0x3F,
+ 22423 - 19968: jis0212<<14 | 0x16<<7 | 0x37,
+ 22425 - 19968: jis0212<<14 | 0x16<<7 | 0x38,
+ 22426 - 19968: jis0212<<14 | 0x16<<7 | 0x39,
+ 22428 - 19968: jis0212<<14 | 0x16<<7 | 0x3A,
+ 22429 - 19968: jis0212<<14 | 0x16<<7 | 0x3B,
+ 22430 - 19968: jis0212<<14 | 0x16<<7 | 0x3C,
+ 22431 - 19968: jis0212<<14 | 0x16<<7 | 0x3D,
+ 22432 - 19968: jis0208<<14 | 0x33<<7 | 0x16,
+ 22433 - 19968: jis0212<<14 | 0x16<<7 | 0x3E,
+ 22434 - 19968: jis0208<<14 | 0x18<<7 | 0x03,
+ 22435 - 19968: jis0208<<14 | 0x12<<7 | 0x1F,
+ 22436 - 19968: jis0208<<14 | 0x33<<7 | 0x18,
+ 22439 - 19968: jis0212<<14 | 0x16<<7 | 0x40,
+ 22440 - 19968: jis0212<<14 | 0x16<<7 | 0x41,
+ 22441 - 19968: jis0212<<14 | 0x16<<7 | 0x42,
+ 22442 - 19968: jis0208<<14 | 0x33<<7 | 0x19,
+ 22444 - 19968: jis0208<<14 | 0x58<<7 | 0x3B,
+ 22448 - 19968: jis0208<<14 | 0x33<<7 | 0x1A,
+ 22451 - 19968: jis0208<<14 | 0x33<<7 | 0x17,
+ 22456 - 19968: jis0212<<14 | 0x16<<7 | 0x44,
+ 22461 - 19968: jis0212<<14 | 0x16<<7 | 0x45,
+ 22464 - 19968: jis0208<<14 | 0x33<<7 | 0x10,
+ 22467 - 19968: jis0208<<14 | 0x33<<7 | 0x1B,
+ 22470 - 19968: jis0208<<14 | 0x33<<7 | 0x1C,
+ 22471 - 19968: jis0208<<14 | 0x58<<7 | 0x3D,
+ 22472 - 19968: jis0208<<14 | 0x58<<7 | 0x3C,
+ 22475 - 19968: jis0208<<14 | 0x2A<<7 | 0x43,
+ 22476 - 19968: jis0212<<14 | 0x16<<7 | 0x48,
+ 22478 - 19968: jis0208<<14 | 0x1D<<7 | 0x4A,
+ 22479 - 19968: jis0212<<14 | 0x16<<7 | 0x49,
+ 22482 - 19968: jis0208<<14 | 0x33<<7 | 0x1E,
+ 22483 - 19968: jis0208<<14 | 0x33<<7 | 0x1F,
+ 22484 - 19968: jis0208<<14 | 0x33<<7 | 0x1D,
+ 22485 - 19968: jis0212<<14 | 0x16<<7 | 0x4A,
+ 22486 - 19968: jis0208<<14 | 0x33<<7 | 0x21,
+ 22492 - 19968: jis0208<<14 | 0x26<<7 | 0x17,
+ 22493 - 19968: jis0212<<14 | 0x16<<7 | 0x4B,
+ 22494 - 19968: jis0212<<14 | 0x16<<7 | 0x4C,
+ 22495 - 19968: jis0208<<14 | 0x0F<<7 | 0x47,
+ 22496 - 19968: jis0208<<14 | 0x28<<7 | 0x35,
+ 22497 - 19968: jis0212<<14 | 0x16<<7 | 0x5D,
+ 22499 - 19968: jis0208<<14 | 0x33<<7 | 0x22,
+ 22500 - 19968: jis0212<<14 | 0x16<<7 | 0x4D,
+ 22502 - 19968: jis0212<<14 | 0x16<<7 | 0x4E,
+ 22503 - 19968: jis0212<<14 | 0x16<<7 | 0x4F,
+ 22505 - 19968: jis0212<<14 | 0x16<<7 | 0x50,
+ 22509 - 19968: jis0212<<14 | 0x16<<7 | 0x51,
+ 22512 - 19968: jis0212<<14 | 0x16<<7 | 0x52,
+ 22516 - 19968: jis0208<<14 | 0x1D<<7 | 0x5C,
+ 22517 - 19968: jis0212<<14 | 0x16<<7 | 0x53,
+ 22518 - 19968: jis0212<<14 | 0x16<<7 | 0x54,
+ 22519 - 19968: jis0208<<14 | 0x1B<<7 | 0x18,
+ 22520 - 19968: jis0212<<14 | 0x16<<7 | 0x55,
+ 22521 - 19968: jis0208<<14 | 0x26<<7 | 0x3C,
+ 22522 - 19968: jis0208<<14 | 0x13<<7 | 0x4F,
+ 22524 - 19968: jis0208<<14 | 0x19<<7 | 0x4A,
+ 22525 - 19968: jis0212<<14 | 0x16<<7 | 0x56,
+ 22526 - 19968: jis0212<<14 | 0x16<<7 | 0x57,
+ 22527 - 19968: jis0212<<14 | 0x16<<7 | 0x58,
+ 22528 - 19968: jis0208<<14 | 0x2A<<7 | 0x38,
+ 22530 - 19968: jis0208<<14 | 0x25<<7 | 0x11,
+ 22531 - 19968: jis0212<<14 | 0x16<<7 | 0x59,
+ 22532 - 19968: jis0212<<14 | 0x16<<7 | 0x5A,
+ 22533 - 19968: jis0208<<14 | 0x16<<7 | 0x57,
+ 22534 - 19968: jis0208<<14 | 0x21<<7 | 0x2E,
+ 22536 - 19968: jis0212<<14 | 0x16<<7 | 0x5B,
+ 22537 - 19968: jis0212<<14 | 0x16<<7 | 0x5C,
+ 22538 - 19968: jis0208<<14 | 0x33<<7 | 0x20,
+ 22539 - 19968: jis0208<<14 | 0x33<<7 | 0x23,
+ 22540 - 19968: jis0212<<14 | 0x17<<7 | 0x00,
+ 22541 - 19968: jis0212<<14 | 0x17<<7 | 0x01,
+ 22549 - 19968: jis0208<<14 | 0x21<<7 | 0x23,
+ 22553 - 19968: jis0208<<14 | 0x33<<7 | 0x24,
+ 22555 - 19968: jis0212<<14 | 0x17<<7 | 0x02,
+ 22557 - 19968: jis0208<<14 | 0x33<<7 | 0x25,
+ 22558 - 19968: jis0212<<14 | 0x17<<7 | 0x03,
+ 22559 - 19968: jis0212<<14 | 0x17<<7 | 0x04,
+ 22560 - 19968: jis0212<<14 | 0x17<<7 | 0x05,
+ 22561 - 19968: jis0208<<14 | 0x33<<7 | 0x27,
+ 22564 - 19968: jis0208<<14 | 0x23<<7 | 0x48,
+ 22566 - 19968: jis0212<<14 | 0x17<<7 | 0x06,
+ 22567 - 19968: jis0212<<14 | 0x17<<7 | 0x07,
+ 22570 - 19968: jis0208<<14 | 0x13<<7 | 0x0D,
+ 22573 - 19968: jis0212<<14 | 0x17<<7 | 0x08,
+ 22575 - 19968: jis0208<<14 | 0x53<<7 | 0x00,
+ 22576 - 19968: jis0208<<14 | 0x10<<7 | 0x40,
+ 22577 - 19968: jis0208<<14 | 0x29<<7 | 0x52,
+ 22578 - 19968: jis0212<<14 | 0x17<<7 | 0x09,
+ 22580 - 19968: jis0208<<14 | 0x1D<<7 | 0x4B,
+ 22581 - 19968: jis0208<<14 | 0x24<<7 | 0x27,
+ 22585 - 19968: jis0212<<14 | 0x17<<7 | 0x0A,
+ 22586 - 19968: jis0208<<14 | 0x19<<7 | 0x45,
+ 22589 - 19968: jis0208<<14 | 0x33<<7 | 0x2D,
+ 22591 - 19968: jis0212<<14 | 0x17<<7 | 0x0B,
+ 22592 - 19968: jis0208<<14 | 0x29<<7 | 0x1C,
+ 22593 - 19968: jis0208<<14 | 0x2D<<7 | 0x3C,
+ 22601 - 19968: jis0212<<14 | 0x17<<7 | 0x0C,
+ 22602 - 19968: jis0208<<14 | 0x11<<7 | 0x53,
+ 22603 - 19968: jis0208<<14 | 0x33<<7 | 0x29,
+ 22604 - 19968: jis0212<<14 | 0x17<<7 | 0x0D,
+ 22605 - 19968: jis0212<<14 | 0x17<<7 | 0x0E,
+ 22607 - 19968: jis0212<<14 | 0x17<<7 | 0x0F,
+ 22608 - 19968: jis0212<<14 | 0x17<<7 | 0x10,
+ 22609 - 19968: jis0208<<14 | 0x20<<7 | 0x19,
+ 22610 - 19968: jis0208<<14 | 0x33<<7 | 0x2C,
+ 22612 - 19968: jis0208<<14 | 0x24<<7 | 0x42,
+ 22613 - 19968: jis0212<<14 | 0x17<<7 | 0x11,
+ 22615 - 19968: jis0208<<14 | 0x24<<7 | 0x28,
+ 22616 - 19968: jis0208<<14 | 0x24<<7 | 0x43,
+ 22617 - 19968: jis0208<<14 | 0x27<<7 | 0x18,
+ 22618 - 19968: jis0208<<14 | 0x23<<7 | 0x2C,
+ 22622 - 19968: jis0208<<14 | 0x19<<7 | 0x28,
+ 22623 - 19968: jis0212<<14 | 0x17<<7 | 0x12,
+ 22625 - 19968: jis0212<<14 | 0x17<<7 | 0x13,
+ 22626 - 19968: jis0208<<14 | 0x33<<7 | 0x28,
+ 22628 - 19968: jis0212<<14 | 0x17<<7 | 0x14,
+ 22631 - 19968: jis0212<<14 | 0x17<<7 | 0x15,
+ 22632 - 19968: jis0212<<14 | 0x17<<7 | 0x16,
+ 22633 - 19968: jis0208<<14 | 0x10<<7 | 0x55,
+ 22635 - 19968: jis0208<<14 | 0x24<<7 | 0x15,
+ 22640 - 19968: jis0208<<14 | 0x33<<7 | 0x2A,
+ 22642 - 19968: jis0208<<14 | 0x33<<7 | 0x26,
+ 22645 - 19968: jis0208<<14 | 0x1E<<7 | 0x2F,
+ 22648 - 19968: jis0212<<14 | 0x17<<7 | 0x17,
+ 22649 - 19968: jis0208<<14 | 0x33<<7 | 0x2E,
+ 22652 - 19968: jis0212<<14 | 0x17<<7 | 0x18,
+ 22654 - 19968: jis0208<<14 | 0x1C<<7 | 0x2D,
+ 22655 - 19968: jis0212<<14 | 0x17<<7 | 0x19,
+ 22656 - 19968: jis0212<<14 | 0x17<<7 | 0x1A,
+ 22657 - 19968: jis0212<<14 | 0x17<<7 | 0x1B,
+ 22659 - 19968: jis0208<<14 | 0x15<<7 | 0x0C,
+ 22661 - 19968: jis0208<<14 | 0x33<<7 | 0x2F,
+ 22663 - 19968: jis0212<<14 | 0x17<<7 | 0x1C,
+ 22664 - 19968: jis0212<<14 | 0x17<<7 | 0x1D,
+ 22665 - 19968: jis0212<<14 | 0x17<<7 | 0x1E,
+ 22666 - 19968: jis0212<<14 | 0x17<<7 | 0x1F,
+ 22668 - 19968: jis0212<<14 | 0x17<<7 | 0x20,
+ 22669 - 19968: jis0212<<14 | 0x17<<7 | 0x21,
+ 22671 - 19968: jis0212<<14 | 0x17<<7 | 0x22,
+ 22672 - 19968: jis0212<<14 | 0x17<<7 | 0x23,
+ 22675 - 19968: jis0208<<14 | 0x29<<7 | 0x47,
+ 22676 - 19968: jis0212<<14 | 0x17<<7 | 0x24,
+ 22678 - 19968: jis0212<<14 | 0x17<<7 | 0x25,
+ 22679 - 19968: jis0208<<14 | 0x20<<7 | 0x5C,
+ 22684 - 19968: jis0208<<14 | 0x23<<7 | 0x25,
+ 22685 - 19968: jis0212<<14 | 0x17<<7 | 0x26,
+ 22686 - 19968: jis0208<<14 | 0x58<<7 | 0x40,
+ 22687 - 19968: jis0208<<14 | 0x33<<7 | 0x31,
+ 22688 - 19968: jis0212<<14 | 0x17<<7 | 0x27,
+ 22689 - 19968: jis0212<<14 | 0x17<<7 | 0x28,
+ 22690 - 19968: jis0212<<14 | 0x17<<7 | 0x29,
+ 22694 - 19968: jis0212<<14 | 0x17<<7 | 0x2A,
+ 22696 - 19968: jis0208<<14 | 0x2A<<7 | 0x2E,
+ 22697 - 19968: jis0212<<14 | 0x17<<7 | 0x2B,
+ 22699 - 19968: jis0208<<14 | 0x33<<7 | 0x32,
+ 22702 - 19968: jis0208<<14 | 0x33<<7 | 0x37,
+ 22705 - 19968: jis0212<<14 | 0x17<<7 | 0x2C,
+ 22706 - 19968: jis0208<<14 | 0x58<<7 | 0x41,
+ 22707 - 19968: jis0208<<14 | 0x29<<7 | 0x0E,
+ 22712 - 19968: jis0208<<14 | 0x33<<7 | 0x36,
+ 22713 - 19968: jis0208<<14 | 0x33<<7 | 0x30,
+ 22714 - 19968: jis0208<<14 | 0x33<<7 | 0x33,
+ 22715 - 19968: jis0208<<14 | 0x33<<7 | 0x35,
+ 22716 - 19968: jis0212<<14 | 0x17<<7 | 0x2F,
+ 22718 - 19968: jis0208<<14 | 0x19<<7 | 0x05,
+ 22721 - 19968: jis0208<<14 | 0x29<<7 | 0x28,
+ 22722 - 19968: jis0212<<14 | 0x17<<7 | 0x30,
+ 22724 - 19968: jis0212<<14 | 0x17<<7 | 0x2E,
+ 22725 - 19968: jis0208<<14 | 0x33<<7 | 0x38,
+ 22727 - 19968: jis0208<<14 | 0x22<<7 | 0x24,
+ 22728 - 19968: jis0212<<14 | 0x17<<7 | 0x31,
+ 22730 - 19968: jis0208<<14 | 0x11<<7 | 0x54,
+ 22732 - 19968: jis0208<<14 | 0x1D<<7 | 0x4C,
+ 22733 - 19968: jis0212<<14 | 0x17<<7 | 0x32,
+ 22734 - 19968: jis0212<<14 | 0x17<<7 | 0x33,
+ 22736 - 19968: jis0212<<14 | 0x17<<7 | 0x34,
+ 22737 - 19968: jis0208<<14 | 0x33<<7 | 0x3A,
+ 22738 - 19968: jis0212<<14 | 0x17<<7 | 0x35,
+ 22739 - 19968: jis0208<<14 | 0x33<<7 | 0x39,
+ 22740 - 19968: jis0212<<14 | 0x17<<7 | 0x36,
+ 22741 - 19968: jis0208<<14 | 0x18<<7 | 0x47,
+ 22742 - 19968: jis0212<<14 | 0x17<<7 | 0x37,
+ 22743 - 19968: jis0208<<14 | 0x33<<7 | 0x3B,
+ 22744 - 19968: jis0208<<14 | 0x33<<7 | 0x3D,
+ 22745 - 19968: jis0208<<14 | 0x33<<7 | 0x3C,
+ 22746 - 19968: jis0212<<14 | 0x17<<7 | 0x38,
+ 22748 - 19968: jis0208<<14 | 0x33<<7 | 0x3F,
+ 22749 - 19968: jis0212<<14 | 0x17<<7 | 0x39,
+ 22750 - 19968: jis0208<<14 | 0x33<<7 | 0x34,
+ 22751 - 19968: jis0208<<14 | 0x33<<7 | 0x41,
+ 22753 - 19968: jis0212<<14 | 0x17<<7 | 0x3A,
+ 22754 - 19968: jis0212<<14 | 0x17<<7 | 0x3B,
+ 22756 - 19968: jis0208<<14 | 0x33<<7 | 0x40,
+ 22757 - 19968: jis0208<<14 | 0x33<<7 | 0x3E,
+ 22761 - 19968: jis0212<<14 | 0x17<<7 | 0x3C,
+ 22763 - 19968: jis0208<<14 | 0x1A<<7 | 0x2D,
+ 22764 - 19968: jis0208<<14 | 0x1E<<7 | 0x30,
+ 22766 - 19968: jis0208<<14 | 0x20<<7 | 0x33,
+ 22767 - 19968: jis0208<<14 | 0x33<<7 | 0x42,
+ 22768 - 19968: jis0208<<14 | 0x1F<<7 | 0x1B,
+ 22769 - 19968: jis0208<<14 | 0x0F<<7 | 0x4C,
+ 22770 - 19968: jis0208<<14 | 0x26<<7 | 0x43,
+ 22771 - 19968: jis0212<<14 | 0x17<<7 | 0x3D,
+ 22775 - 19968: jis0208<<14 | 0x23<<7 | 0x3A,
+ 22777 - 19968: jis0208<<14 | 0x33<<7 | 0x44,
+ 22778 - 19968: jis0208<<14 | 0x33<<7 | 0x43,
+ 22779 - 19968: jis0208<<14 | 0x33<<7 | 0x45,
+ 22780 - 19968: jis0208<<14 | 0x33<<7 | 0x46,
+ 22781 - 19968: jis0208<<14 | 0x33<<7 | 0x47,
+ 22786 - 19968: jis0208<<14 | 0x33<<7 | 0x48,
+ 22789 - 19968: jis0212<<14 | 0x17<<7 | 0x3E,
+ 22790 - 19968: jis0212<<14 | 0x17<<7 | 0x3F,
+ 22793 - 19968: jis0208<<14 | 0x29<<7 | 0x30,
+ 22794 - 19968: jis0208<<14 | 0x33<<7 | 0x49,
+ 22795 - 19968: jis0208<<14 | 0x58<<7 | 0x42,
+ 22796 - 19968: jis0212<<14 | 0x17<<7 | 0x41,
+ 22799 - 19968: jis0208<<14 | 0x11<<7 | 0x25,
+ 22800 - 19968: jis0208<<14 | 0x33<<7 | 0x4A,
+ 22802 - 19968: jis0212<<14 | 0x17<<7 | 0x42,
+ 22803 - 19968: jis0212<<14 | 0x17<<7 | 0x43,
+ 22804 - 19968: jis0212<<14 | 0x17<<7 | 0x44,
+ 22805 - 19968: jis0208<<14 | 0x2C<<7 | 0x1B,
+ 22806 - 19968: jis0208<<14 | 0x12<<7 | 0x0F,
+ 22808 - 19968: jis0208<<14 | 0x31<<7 | 0x28,
+ 22809 - 19968: jis0208<<14 | 0x1C<<7 | 0x27,
+ 22810 - 19968: jis0208<<14 | 0x21<<7 | 0x1E,
+ 22811 - 19968: jis0208<<14 | 0x33<<7 | 0x4B,
+ 22812 - 19968: jis0208<<14 | 0x2B<<7 | 0x4A,
+ 22813 - 19968: jis0212<<14 | 0x17<<7 | 0x46,
+ 22817 - 19968: jis0212<<14 | 0x17<<7 | 0x47,
+ 22818 - 19968: jis0208<<14 | 0x2B<<7 | 0x13,
+ 22819 - 19968: jis0212<<14 | 0x17<<7 | 0x48,
+ 22820 - 19968: jis0212<<14 | 0x17<<7 | 0x49,
+ 22821 - 19968: jis0208<<14 | 0x33<<7 | 0x4D,
+ 22823 - 19968: jis0208<<14 | 0x21<<7 | 0x46,
+ 22824 - 19968: jis0212<<14 | 0x17<<7 | 0x4A,
+ 22825 - 19968: jis0208<<14 | 0x24<<7 | 0x16,
+ 22826 - 19968: jis0208<<14 | 0x21<<7 | 0x1F,
+ 22827 - 19968: jis0208<<14 | 0x28<<7 | 0x36,
+ 22828 - 19968: jis0208<<14 | 0x33<<7 | 0x4E,
+ 22829 - 19968: jis0208<<14 | 0x33<<7 | 0x4F,
+ 22830 - 19968: jis0208<<14 | 0x10<<7 | 0x5A,
+ 22831 - 19968: jis0212<<14 | 0x17<<7 | 0x4B,
+ 22832 - 19968: jis0212<<14 | 0x17<<7 | 0x4C,
+ 22833 - 19968: jis0208<<14 | 0x1B<<7 | 0x19,
+ 22834 - 19968: jis0208<<14 | 0x33<<7 | 0x50,
+ 22835 - 19968: jis0212<<14 | 0x17<<7 | 0x4D,
+ 22837 - 19968: jis0212<<14 | 0x17<<7 | 0x4E,
+ 22838 - 19968: jis0212<<14 | 0x17<<7 | 0x4F,
+ 22839 - 19968: jis0208<<14 | 0x0F<<7 | 0x2F,
+ 22840 - 19968: jis0208<<14 | 0x33<<7 | 0x51,
+ 22846 - 19968: jis0208<<14 | 0x33<<7 | 0x52,
+ 22847 - 19968: jis0212<<14 | 0x17<<7 | 0x50,
+ 22851 - 19968: jis0212<<14 | 0x17<<7 | 0x51,
+ 22852 - 19968: jis0208<<14 | 0x10<<7 | 0x41,
+ 22854 - 19968: jis0212<<14 | 0x17<<7 | 0x52,
+ 22855 - 19968: jis0208<<14 | 0x13<<7 | 0x50,
+ 22856 - 19968: jis0208<<14 | 0x25<<7 | 0x3F,
+ 22857 - 19968: jis0208<<14 | 0x29<<7 | 0x53,
+ 22862 - 19968: jis0208<<14 | 0x33<<7 | 0x56,
+ 22863 - 19968: jis0208<<14 | 0x20<<7 | 0x34,
+ 22864 - 19968: jis0208<<14 | 0x33<<7 | 0x55,
+ 22865 - 19968: jis0208<<14 | 0x16<<7 | 0x1F,
+ 22866 - 19968: jis0212<<14 | 0x17<<7 | 0x53,
+ 22867 - 19968: jis0208<<14 | 0x58<<7 | 0x43,
+ 22868 - 19968: jis0208<<14 | 0x2A<<7 | 0x3A,
+ 22869 - 19968: jis0208<<14 | 0x33<<7 | 0x54,
+ 22871 - 19968: jis0208<<14 | 0x24<<7 | 0x44,
+ 22872 - 19968: jis0208<<14 | 0x33<<7 | 0x58,
+ 22873 - 19968: jis0212<<14 | 0x17<<7 | 0x55,
+ 22874 - 19968: jis0208<<14 | 0x33<<7 | 0x57,
+ 22875 - 19968: jis0208<<14 | 0x58<<7 | 0x44,
+ 22877 - 19968: jis0208<<14 | 0x58<<7 | 0x45,
+ 22878 - 19968: jis0212<<14 | 0x17<<7 | 0x58,
+ 22879 - 19968: jis0212<<14 | 0x17<<7 | 0x59,
+ 22880 - 19968: jis0208<<14 | 0x33<<7 | 0x5A,
+ 22881 - 19968: jis0212<<14 | 0x17<<7 | 0x5A,
+ 22882 - 19968: jis0208<<14 | 0x33<<7 | 0x59,
+ 22883 - 19968: jis0208<<14 | 0x58<<7 | 0x46,
+ 22885 - 19968: jis0208<<14 | 0x10<<7 | 0x5B,
+ 22887 - 19968: jis0208<<14 | 0x33<<7 | 0x5B,
+ 22888 - 19968: jis0208<<14 | 0x1D<<7 | 0x08,
+ 22889 - 19968: jis0208<<14 | 0x33<<7 | 0x5D,
+ 22890 - 19968: jis0208<<14 | 0x22<<7 | 0x04,
+ 22891 - 19968: jis0212<<14 | 0x17<<7 | 0x5C,
+ 22892 - 19968: jis0208<<14 | 0x33<<7 | 0x5C,
+ 22893 - 19968: jis0212<<14 | 0x17<<7 | 0x5D,
+ 22894 - 19968: jis0208<<14 | 0x29<<7 | 0x12,
+ 22895 - 19968: jis0212<<14 | 0x18<<7 | 0x00,
+ 22898 - 19968: jis0212<<14 | 0x18<<7 | 0x01,
+ 22899 - 19968: jis0208<<14 | 0x1C<<7 | 0x56,
+ 22900 - 19968: jis0208<<14 | 0x24<<7 | 0x3A,
+ 22901 - 19968: jis0212<<14 | 0x18<<7 | 0x02,
+ 22902 - 19968: jis0212<<14 | 0x18<<7 | 0x03,
+ 22904 - 19968: jis0208<<14 | 0x34<<7 | 0x00,
+ 22905 - 19968: jis0212<<14 | 0x18<<7 | 0x04,
+ 22907 - 19968: jis0212<<14 | 0x18<<7 | 0x05,
+ 22908 - 19968: jis0212<<14 | 0x18<<7 | 0x06,
+ 22909 - 19968: jis0208<<14 | 0x18<<7 | 0x04,
+ 22913 - 19968: jis0208<<14 | 0x34<<7 | 0x01,
+ 22914 - 19968: jis0208<<14 | 0x26<<7 | 0x00,
+ 22915 - 19968: jis0208<<14 | 0x27<<7 | 0x3D,
+ 22916 - 19968: jis0208<<14 | 0x2B<<7 | 0x30,
+ 22922 - 19968: jis0208<<14 | 0x26<<7 | 0x04,
+ 22923 - 19968: jis0212<<14 | 0x18<<7 | 0x07,
+ 22924 - 19968: jis0212<<14 | 0x18<<7 | 0x08,
+ 22925 - 19968: jis0208<<14 | 0x34<<7 | 0x0A,
+ 22926 - 19968: jis0212<<14 | 0x18<<7 | 0x09,
+ 22930 - 19968: jis0212<<14 | 0x18<<7 | 0x0A,
+ 22931 - 19968: jis0208<<14 | 0x14<<7 | 0x17,
+ 22933 - 19968: jis0212<<14 | 0x18<<7 | 0x0B,
+ 22934 - 19968: jis0208<<14 | 0x2C<<7 | 0x24,
+ 22935 - 19968: jis0212<<14 | 0x18<<7 | 0x0C,
+ 22937 - 19968: jis0208<<14 | 0x2B<<7 | 0x0E,
+ 22939 - 19968: jis0208<<14 | 0x35<<7 | 0x0B,
+ 22941 - 19968: jis0208<<14 | 0x34<<7 | 0x02,
+ 22943 - 19968: jis0212<<14 | 0x18<<7 | 0x0D,
+ 22947 - 19968: jis0208<<14 | 0x34<<7 | 0x05,
+ 22948 - 19968: jis0208<<14 | 0x58<<7 | 0x47,
+ 22949 - 19968: jis0208<<14 | 0x21<<7 | 0x24,
+ 22951 - 19968: jis0212<<14 | 0x18<<7 | 0x0F,
+ 22952 - 19968: jis0208<<14 | 0x2A<<7 | 0x17,
+ 22956 - 19968: jis0208<<14 | 0x24<<7 | 0x29,
+ 22957 - 19968: jis0212<<14 | 0x18<<7 | 0x10,
+ 22958 - 19968: jis0212<<14 | 0x18<<7 | 0x11,
+ 22959 - 19968: jis0212<<14 | 0x18<<7 | 0x12,
+ 22960 - 19968: jis0212<<14 | 0x18<<7 | 0x13,
+ 22962 - 19968: jis0208<<14 | 0x34<<7 | 0x06,
+ 22963 - 19968: jis0212<<14 | 0x18<<7 | 0x14,
+ 22967 - 19968: jis0212<<14 | 0x18<<7 | 0x15,
+ 22969 - 19968: jis0208<<14 | 0x2A<<7 | 0x44,
+ 22970 - 19968: jis0208<<14 | 0x58<<7 | 0x48,
+ 22971 - 19968: jis0208<<14 | 0x19<<7 | 0x29,
+ 22972 - 19968: jis0212<<14 | 0x18<<7 | 0x17,
+ 22974 - 19968: jis0208<<14 | 0x1D<<7 | 0x09,
+ 22977 - 19968: jis0212<<14 | 0x18<<7 | 0x18,
+ 22979 - 19968: jis0212<<14 | 0x18<<7 | 0x19,
+ 22980 - 19968: jis0212<<14 | 0x18<<7 | 0x1A,
+ 22982 - 19968: jis0208<<14 | 0x34<<7 | 0x07,
+ 22984 - 19968: jis0212<<14 | 0x18<<7 | 0x1B,
+ 22985 - 19968: jis0208<<14 | 0x1A<<7 | 0x2F,
+ 22986 - 19968: jis0212<<14 | 0x18<<7 | 0x1C,
+ 22987 - 19968: jis0208<<14 | 0x1A<<7 | 0x2E,
+ 22989 - 19968: jis0212<<14 | 0x18<<7 | 0x1D,
+ 22992 - 19968: jis0208<<14 | 0x0F<<7 | 0x18,
+ 22993 - 19968: jis0208<<14 | 0x17<<7 | 0x27,
+ 22994 - 19968: jis0212<<14 | 0x18<<7 | 0x1E,
+ 22995 - 19968: jis0208<<14 | 0x1F<<7 | 0x0A,
+ 22996 - 19968: jis0208<<14 | 0x0F<<7 | 0x30,
+ 23001 - 19968: jis0208<<14 | 0x34<<7 | 0x0B,
+ 23002 - 19968: jis0208<<14 | 0x34<<7 | 0x0C,
+ 23004 - 19968: jis0208<<14 | 0x34<<7 | 0x09,
+ 23005 - 19968: jis0212<<14 | 0x18<<7 | 0x1F,
+ 23006 - 19968: jis0212<<14 | 0x18<<7 | 0x20,
+ 23007 - 19968: jis0212<<14 | 0x18<<7 | 0x21,
+ 23011 - 19968: jis0212<<14 | 0x18<<7 | 0x22,
+ 23012 - 19968: jis0212<<14 | 0x18<<7 | 0x23,
+ 23013 - 19968: jis0208<<14 | 0x10<<7 | 0x17,
+ 23014 - 19968: jis0208<<14 | 0x13<<7 | 0x0E,
+ 23015 - 19968: jis0212<<14 | 0x18<<7 | 0x24,
+ 23016 - 19968: jis0208<<14 | 0x34<<7 | 0x08,
+ 23018 - 19968: jis0208<<14 | 0x2B<<7 | 0x24,
+ 23019 - 19968: jis0208<<14 | 0x28<<7 | 0x10,
+ 23022 - 19968: jis0212<<14 | 0x18<<7 | 0x25,
+ 23023 - 19968: jis0212<<14 | 0x18<<7 | 0x26,
+ 23025 - 19968: jis0212<<14 | 0x18<<7 | 0x27,
+ 23026 - 19968: jis0212<<14 | 0x18<<7 | 0x28,
+ 23028 - 19968: jis0212<<14 | 0x18<<7 | 0x29,
+ 23030 - 19968: jis0208<<14 | 0x0F<<7 | 0x07,
+ 23031 - 19968: jis0212<<14 | 0x18<<7 | 0x2A,
+ 23035 - 19968: jis0208<<14 | 0x0F<<7 | 0x58,
+ 23039 - 19968: jis0208<<14 | 0x1A<<7 | 0x30,
+ 23040 - 19968: jis0212<<14 | 0x18<<7 | 0x2B,
+ 23041 - 19968: jis0208<<14 | 0x0F<<7 | 0x31,
+ 23043 - 19968: jis0208<<14 | 0x0F<<7 | 0x02,
+ 23044 - 19968: jis0212<<14 | 0x18<<7 | 0x2C,
+ 23049 - 19968: jis0208<<14 | 0x34<<7 | 0x11,
+ 23052 - 19968: jis0212<<14 | 0x18<<7 | 0x2D,
+ 23053 - 19968: jis0212<<14 | 0x18<<7 | 0x2E,
+ 23054 - 19968: jis0212<<14 | 0x18<<7 | 0x2F,
+ 23057 - 19968: jis0208<<14 | 0x34<<7 | 0x0F,
+ 23058 - 19968: jis0212<<14 | 0x18<<7 | 0x30,
+ 23059 - 19968: jis0212<<14 | 0x18<<7 | 0x31,
+ 23064 - 19968: jis0208<<14 | 0x2B<<7 | 0x1B,
+ 23066 - 19968: jis0208<<14 | 0x34<<7 | 0x12,
+ 23068 - 19968: jis0208<<14 | 0x34<<7 | 0x10,
+ 23070 - 19968: jis0212<<14 | 0x18<<7 | 0x32,
+ 23071 - 19968: jis0208<<14 | 0x34<<7 | 0x0E,
+ 23072 - 19968: jis0208<<14 | 0x1E<<7 | 0x10,
+ 23075 - 19968: jis0212<<14 | 0x18<<7 | 0x33,
+ 23076 - 19968: jis0212<<14 | 0x18<<7 | 0x34,
+ 23077 - 19968: jis0208<<14 | 0x34<<7 | 0x0D,
+ 23079 - 19968: jis0212<<14 | 0x18<<7 | 0x35,
+ 23080 - 19968: jis0212<<14 | 0x18<<7 | 0x36,
+ 23081 - 19968: jis0208<<14 | 0x29<<7 | 0x39,
+ 23082 - 19968: jis0212<<14 | 0x18<<7 | 0x37,
+ 23085 - 19968: jis0212<<14 | 0x18<<7 | 0x38,
+ 23087 - 19968: jis0208<<14 | 0x17<<7 | 0x43,
+ 23088 - 19968: jis0212<<14 | 0x18<<7 | 0x39,
+ 23093 - 19968: jis0208<<14 | 0x34<<7 | 0x16,
+ 23094 - 19968: jis0208<<14 | 0x34<<7 | 0x17,
+ 23100 - 19968: jis0208<<14 | 0x1D<<7 | 0x0A,
+ 23104 - 19968: jis0208<<14 | 0x34<<7 | 0x13,
+ 23105 - 19968: jis0208<<14 | 0x2E<<7 | 0x0B,
+ 23108 - 19968: jis0212<<14 | 0x18<<7 | 0x3A,
+ 23109 - 19968: jis0212<<14 | 0x18<<7 | 0x3B,
+ 23110 - 19968: jis0208<<14 | 0x26<<7 | 0x2B,
+ 23111 - 19968: jis0212<<14 | 0x18<<7 | 0x3C,
+ 23112 - 19968: jis0212<<14 | 0x18<<7 | 0x3D,
+ 23113 - 19968: jis0208<<14 | 0x34<<7 | 0x15,
+ 23116 - 19968: jis0212<<14 | 0x18<<7 | 0x3E,
+ 23120 - 19968: jis0212<<14 | 0x18<<7 | 0x3F,
+ 23125 - 19968: jis0212<<14 | 0x18<<7 | 0x40,
+ 23130 - 19968: jis0208<<14 | 0x19<<7 | 0x06,
+ 23134 - 19968: jis0212<<14 | 0x18<<7 | 0x41,
+ 23138 - 19968: jis0208<<14 | 0x34<<7 | 0x18,
+ 23139 - 19968: jis0212<<14 | 0x18<<7 | 0x42,
+ 23141 - 19968: jis0212<<14 | 0x18<<7 | 0x43,
+ 23142 - 19968: jis0208<<14 | 0x28<<7 | 0x37,
+ 23143 - 19968: jis0212<<14 | 0x18<<7 | 0x44,
+ 23146 - 19968: jis0208<<14 | 0x34<<7 | 0x19,
+ 23148 - 19968: jis0208<<14 | 0x34<<7 | 0x14,
+ 23149 - 19968: jis0212<<14 | 0x18<<7 | 0x45,
+ 23159 - 19968: jis0212<<14 | 0x18<<7 | 0x46,
+ 23162 - 19968: jis0212<<14 | 0x18<<7 | 0x47,
+ 23163 - 19968: jis0212<<14 | 0x18<<7 | 0x48,
+ 23166 - 19968: jis0212<<14 | 0x18<<7 | 0x49,
+ 23167 - 19968: jis0208<<14 | 0x2B<<7 | 0x1A,
+ 23179 - 19968: jis0212<<14 | 0x18<<7 | 0x4A,
+ 23184 - 19968: jis0212<<14 | 0x18<<7 | 0x4B,
+ 23186 - 19968: jis0208<<14 | 0x26<<7 | 0x3D,
+ 23187 - 19968: jis0212<<14 | 0x18<<7 | 0x4C,
+ 23190 - 19968: jis0212<<14 | 0x18<<7 | 0x4D,
+ 23193 - 19968: jis0212<<14 | 0x18<<7 | 0x4E,
+ 23194 - 19968: jis0208<<14 | 0x34<<7 | 0x1A,
+ 23195 - 19968: jis0208<<14 | 0x28<<7 | 0x11,
+ 23196 - 19968: jis0212<<14 | 0x18<<7 | 0x4F,
+ 23198 - 19968: jis0212<<14 | 0x18<<7 | 0x50,
+ 23199 - 19968: jis0212<<14 | 0x18<<7 | 0x51,
+ 23200 - 19968: jis0212<<14 | 0x18<<7 | 0x52,
+ 23202 - 19968: jis0212<<14 | 0x18<<7 | 0x53,
+ 23207 - 19968: jis0212<<14 | 0x18<<7 | 0x54,
+ 23212 - 19968: jis0212<<14 | 0x18<<7 | 0x55,
+ 23217 - 19968: jis0212<<14 | 0x18<<7 | 0x56,
+ 23218 - 19968: jis0212<<14 | 0x18<<7 | 0x57,
+ 23219 - 19968: jis0212<<14 | 0x18<<7 | 0x58,
+ 23221 - 19968: jis0212<<14 | 0x18<<7 | 0x59,
+ 23224 - 19968: jis0212<<14 | 0x18<<7 | 0x5A,
+ 23226 - 19968: jis0212<<14 | 0x18<<7 | 0x5B,
+ 23227 - 19968: jis0212<<14 | 0x18<<7 | 0x5C,
+ 23228 - 19968: jis0208<<14 | 0x34<<7 | 0x1B,
+ 23229 - 19968: jis0208<<14 | 0x34<<7 | 0x1F,
+ 23230 - 19968: jis0208<<14 | 0x34<<7 | 0x1C,
+ 23231 - 19968: jis0212<<14 | 0x18<<7 | 0x5D,
+ 23233 - 19968: jis0208<<14 | 0x11<<7 | 0x26,
+ 23234 - 19968: jis0208<<14 | 0x34<<7 | 0x1E,
+ 23236 - 19968: jis0212<<14 | 0x19<<7 | 0x00,
+ 23238 - 19968: jis0212<<14 | 0x19<<7 | 0x01,
+ 23240 - 19968: jis0212<<14 | 0x19<<7 | 0x02,
+ 23241 - 19968: jis0208<<14 | 0x1B<<7 | 0x1A,
+ 23243 - 19968: jis0208<<14 | 0x34<<7 | 0x1D,
+ 23244 - 19968: jis0208<<14 | 0x16<<7 | 0x58,
+ 23247 - 19968: jis0212<<14 | 0x19<<7 | 0x03,
+ 23248 - 19968: jis0208<<14 | 0x34<<7 | 0x2B,
+ 23254 - 19968: jis0208<<14 | 0x34<<7 | 0x24,
+ 23255 - 19968: jis0208<<14 | 0x34<<7 | 0x21,
+ 23258 - 19968: jis0212<<14 | 0x19<<7 | 0x04,
+ 23260 - 19968: jis0212<<14 | 0x19<<7 | 0x05,
+ 23264 - 19968: jis0212<<14 | 0x19<<7 | 0x06,
+ 23265 - 19968: jis0208<<14 | 0x22<<7 | 0x43,
+ 23267 - 19968: jis0208<<14 | 0x34<<7 | 0x20,
+ 23269 - 19968: jis0212<<14 | 0x19<<7 | 0x07,
+ 23270 - 19968: jis0208<<14 | 0x34<<7 | 0x22,
+ 23273 - 19968: jis0208<<14 | 0x34<<7 | 0x23,
+ 23274 - 19968: jis0212<<14 | 0x19<<7 | 0x08,
+ 23278 - 19968: jis0212<<14 | 0x19<<7 | 0x09,
+ 23285 - 19968: jis0212<<14 | 0x19<<7 | 0x0A,
+ 23286 - 19968: jis0212<<14 | 0x19<<7 | 0x0B,
+ 23290 - 19968: jis0208<<14 | 0x34<<7 | 0x25,
+ 23291 - 19968: jis0208<<14 | 0x34<<7 | 0x26,
+ 23293 - 19968: jis0212<<14 | 0x19<<7 | 0x0C,
+ 23296 - 19968: jis0212<<14 | 0x19<<7 | 0x0D,
+ 23297 - 19968: jis0212<<14 | 0x19<<7 | 0x0E,
+ 23304 - 19968: jis0212<<14 | 0x19<<7 | 0x0F,
+ 23305 - 19968: jis0208<<14 | 0x13<<7 | 0x51,
+ 23307 - 19968: jis0208<<14 | 0x34<<7 | 0x28,
+ 23308 - 19968: jis0208<<14 | 0x34<<7 | 0x27,
+ 23318 - 19968: jis0208<<14 | 0x34<<7 | 0x29,
+ 23319 - 19968: jis0212<<14 | 0x19<<7 | 0x10,
+ 23321 - 19968: jis0212<<14 | 0x19<<7 | 0x12,
+ 23323 - 19968: jis0212<<14 | 0x19<<7 | 0x13,
+ 23325 - 19968: jis0212<<14 | 0x19<<7 | 0x14,
+ 23329 - 19968: jis0212<<14 | 0x19<<7 | 0x15,
+ 23330 - 19968: jis0208<<14 | 0x1D<<7 | 0x4D,
+ 23333 - 19968: jis0212<<14 | 0x19<<7 | 0x16,
+ 23338 - 19968: jis0208<<14 | 0x34<<7 | 0x2C,
+ 23340 - 19968: jis0208<<14 | 0x23<<7 | 0x3B,
+ 23341 - 19968: jis0212<<14 | 0x19<<7 | 0x17,
+ 23344 - 19968: jis0208<<14 | 0x10<<7 | 0x24,
+ 23346 - 19968: jis0208<<14 | 0x34<<7 | 0x2A,
+ 23348 - 19968: jis0212<<14 | 0x19<<7 | 0x11,
+ 23350 - 19968: jis0208<<14 | 0x34<<7 | 0x2D,
+ 23352 - 19968: jis0212<<14 | 0x19<<7 | 0x18,
+ 23358 - 19968: jis0208<<14 | 0x34<<7 | 0x2E,
+ 23360 - 19968: jis0208<<14 | 0x34<<7 | 0x31,
+ 23361 - 19968: jis0212<<14 | 0x19<<7 | 0x19,
+ 23363 - 19968: jis0208<<14 | 0x34<<7 | 0x2F,
+ 23365 - 19968: jis0208<<14 | 0x34<<7 | 0x30,
+ 23371 - 19968: jis0212<<14 | 0x19<<7 | 0x1A,
+ 23372 - 19968: jis0212<<14 | 0x19<<7 | 0x1B,
+ 23376 - 19968: jis0208<<14 | 0x1A<<7 | 0x31,
+ 23377 - 19968: jis0208<<14 | 0x34<<7 | 0x32,
+ 23378 - 19968: jis0212<<14 | 0x19<<7 | 0x1C,
+ 23380 - 19968: jis0208<<14 | 0x18<<7 | 0x05,
+ 23381 - 19968: jis0208<<14 | 0x34<<7 | 0x33,
+ 23382 - 19968: jis0208<<14 | 0x58<<7 | 0x49,
+ 23383 - 19968: jis0208<<14 | 0x1A<<7 | 0x59,
+ 23384 - 19968: jis0208<<14 | 0x21<<7 | 0x17,
+ 23386 - 19968: jis0208<<14 | 0x34<<7 | 0x34,
+ 23387 - 19968: jis0208<<14 | 0x34<<7 | 0x35,
+ 23388 - 19968: jis0208<<14 | 0x1A<<7 | 0x39,
+ 23389 - 19968: jis0208<<14 | 0x18<<7 | 0x06,
+ 23390 - 19968: jis0212<<14 | 0x19<<7 | 0x1E,
+ 23391 - 19968: jis0208<<14 | 0x2B<<7 | 0x31,
+ 23395 - 19968: jis0208<<14 | 0x14<<7 | 0x07,
+ 23396 - 19968: jis0208<<14 | 0x17<<7 | 0x28,
+ 23397 - 19968: jis0208<<14 | 0x34<<7 | 0x36,
+ 23398 - 19968: jis0208<<14 | 0x12<<7 | 0x37,
+ 23400 - 19968: jis0212<<14 | 0x19<<7 | 0x1F,
+ 23401 - 19968: jis0208<<14 | 0x34<<7 | 0x37,
+ 23403 - 19968: jis0208<<14 | 0x21<<7 | 0x18,
+ 23406 - 19968: jis0212<<14 | 0x19<<7 | 0x20,
+ 23407 - 19968: jis0212<<14 | 0x19<<7 | 0x21,
+ 23408 - 19968: jis0208<<14 | 0x34<<7 | 0x38,
+ 23409 - 19968: jis0208<<14 | 0x35<<7 | 0x02,
+ 23411 - 19968: jis0208<<14 | 0x34<<7 | 0x39,
+ 23413 - 19968: jis0208<<14 | 0x34<<7 | 0x3A,
+ 23416 - 19968: jis0208<<14 | 0x34<<7 | 0x3B,
+ 23418 - 19968: jis0208<<14 | 0x34<<7 | 0x3D,
+ 23420 - 19968: jis0212<<14 | 0x19<<7 | 0x22,
+ 23421 - 19968: jis0212<<14 | 0x19<<7 | 0x23,
+ 23422 - 19968: jis0212<<14 | 0x19<<7 | 0x24,
+ 23423 - 19968: jis0212<<14 | 0x19<<7 | 0x25,
+ 23424 - 19968: jis0208<<14 | 0x34<<7 | 0x3E,
+ 23425 - 19968: jis0212<<14 | 0x19<<7 | 0x26,
+ 23427 - 19968: jis0208<<14 | 0x34<<7 | 0x3F,
+ 23428 - 19968: jis0212<<14 | 0x19<<7 | 0x27,
+ 23429 - 19968: jis0208<<14 | 0x21<<7 | 0x4F,
+ 23430 - 19968: jis0212<<14 | 0x19<<7 | 0x28,
+ 23431 - 19968: jis0208<<14 | 0x10<<7 | 0x06,
+ 23432 - 19968: jis0208<<14 | 0x1B<<7 | 0x48,
+ 23433 - 19968: jis0208<<14 | 0x0F<<7 | 0x21,
+ 23434 - 19968: jis0212<<14 | 0x19<<7 | 0x29,
+ 23435 - 19968: jis0208<<14 | 0x20<<7 | 0x36,
+ 23436 - 19968: jis0208<<14 | 0x13<<7 | 0x0F,
+ 23437 - 19968: jis0208<<14 | 0x1B<<7 | 0x14,
+ 23438 - 19968: jis0212<<14 | 0x19<<7 | 0x2A,
+ 23439 - 19968: jis0208<<14 | 0x18<<7 | 0x07,
+ 23440 - 19968: jis0212<<14 | 0x19<<7 | 0x2B,
+ 23441 - 19968: jis0212<<14 | 0x19<<7 | 0x2C,
+ 23443 - 19968: jis0212<<14 | 0x19<<7 | 0x2D,
+ 23444 - 19968: jis0212<<14 | 0x19<<7 | 0x2E,
+ 23445 - 19968: jis0208<<14 | 0x24<<7 | 0x45,
+ 23446 - 19968: jis0212<<14 | 0x19<<7 | 0x2F,
+ 23447 - 19968: jis0208<<14 | 0x1C<<7 | 0x00,
+ 23448 - 19968: jis0208<<14 | 0x13<<7 | 0x10,
+ 23449 - 19968: jis0208<<14 | 0x22<<7 | 0x47,
+ 23450 - 19968: jis0208<<14 | 0x23<<7 | 0x49,
+ 23451 - 19968: jis0208<<14 | 0x0F<<7 | 0x17,
+ 23452 - 19968: jis0208<<14 | 0x14<<7 | 0x18,
+ 23453 - 19968: jis0208<<14 | 0x29<<7 | 0x54,
+ 23455 - 19968: jis0208<<14 | 0x1B<<7 | 0x21,
+ 23458 - 19968: jis0208<<14 | 0x14<<7 | 0x31,
+ 23459 - 19968: jis0208<<14 | 0x1F<<7 | 0x4A,
+ 23460 - 19968: jis0208<<14 | 0x1B<<7 | 0x1B,
+ 23461 - 19968: jis0208<<14 | 0x2C<<7 | 0x07,
+ 23462 - 19968: jis0208<<14 | 0x34<<7 | 0x40,
+ 23464 - 19968: jis0212<<14 | 0x19<<7 | 0x30,
+ 23465 - 19968: jis0212<<14 | 0x19<<7 | 0x31,
+ 23468 - 19968: jis0212<<14 | 0x19<<7 | 0x32,
+ 23469 - 19968: jis0212<<14 | 0x19<<7 | 0x33,
+ 23470 - 19968: jis0208<<14 | 0x14<<7 | 0x3B,
+ 23471 - 19968: jis0212<<14 | 0x19<<7 | 0x34,
+ 23472 - 19968: jis0208<<14 | 0x19<<7 | 0x2A,
+ 23473 - 19968: jis0212<<14 | 0x19<<7 | 0x35,
+ 23474 - 19968: jis0212<<14 | 0x19<<7 | 0x36,
+ 23475 - 19968: jis0208<<14 | 0x12<<7 | 0x11,
+ 23476 - 19968: jis0208<<14 | 0x10<<7 | 0x42,
+ 23477 - 19968: jis0208<<14 | 0x1D<<7 | 0x0B,
+ 23478 - 19968: jis0208<<14 | 0x11<<7 | 0x27,
+ 23479 - 19968: jis0212<<14 | 0x19<<7 | 0x37,
+ 23480 - 19968: jis0208<<14 | 0x34<<7 | 0x41,
+ 23481 - 19968: jis0208<<14 | 0x2C<<7 | 0x25,
+ 23482 - 19968: jis0212<<14 | 0x19<<7 | 0x38,
+ 23484 - 19968: jis0212<<14 | 0x19<<7 | 0x39,
+ 23487 - 19968: jis0208<<14 | 0x1C<<7 | 0x28,
+ 23488 - 19968: jis0208<<14 | 0x58<<7 | 0x4A,
+ 23489 - 19968: jis0212<<14 | 0x19<<7 | 0x3B,
+ 23490 - 19968: jis0208<<14 | 0x1B<<7 | 0x43,
+ 23491 - 19968: jis0208<<14 | 0x34<<7 | 0x42,
+ 23492 - 19968: jis0208<<14 | 0x13<<7 | 0x52,
+ 23493 - 19968: jis0208<<14 | 0x25<<7 | 0x31,
+ 23494 - 19968: jis0208<<14 | 0x2B<<7 | 0x08,
+ 23495 - 19968: jis0208<<14 | 0x34<<7 | 0x43,
+ 23497 - 19968: jis0208<<14 | 0x34<<7 | 0x44,
+ 23500 - 19968: jis0208<<14 | 0x28<<7 | 0x38,
+ 23501 - 19968: jis0212<<14 | 0x19<<7 | 0x3C,
+ 23503 - 19968: jis0212<<14 | 0x19<<7 | 0x3D,
+ 23504 - 19968: jis0208<<14 | 0x34<<7 | 0x46,
+ 23506 - 19968: jis0208<<14 | 0x13<<7 | 0x07,
+ 23507 - 19968: jis0208<<14 | 0x15<<7 | 0x56,
+ 23508 - 19968: jis0208<<14 | 0x34<<7 | 0x45,
+ 23510 - 19968: jis0212<<14 | 0x19<<7 | 0x3E,
+ 23511 - 19968: jis0212<<14 | 0x19<<7 | 0x3F,
+ 23512 - 19968: jis0208<<14 | 0x58<<7 | 0x4C,
+ 23513 - 19968: jis0212<<14 | 0x19<<7 | 0x41,
+ 23514 - 19968: jis0212<<14 | 0x19<<7 | 0x42,
+ 23515 - 19968: jis0208<<14 | 0x13<<7 | 0x11,
+ 23517 - 19968: jis0208<<14 | 0x1E<<7 | 0x11,
+ 23518 - 19968: jis0208<<14 | 0x34<<7 | 0x4A,
+ 23519 - 19968: jis0208<<14 | 0x1A<<7 | 0x00,
+ 23520 - 19968: jis0212<<14 | 0x19<<7 | 0x43,
+ 23521 - 19968: jis0208<<14 | 0x11<<7 | 0x28,
+ 23522 - 19968: jis0208<<14 | 0x34<<7 | 0x49,
+ 23524 - 19968: jis0208<<14 | 0x34<<7 | 0x47,
+ 23525 - 19968: jis0208<<14 | 0x34<<7 | 0x4B,
+ 23526 - 19968: jis0208<<14 | 0x34<<7 | 0x48,
+ 23527 - 19968: jis0208<<14 | 0x26<<7 | 0x0A,
+ 23528 - 19968: jis0208<<14 | 0x3B<<7 | 0x2C,
+ 23529 - 19968: jis0208<<14 | 0x1E<<7 | 0x12,
+ 23531 - 19968: jis0208<<14 | 0x34<<7 | 0x4C,
+ 23532 - 19968: jis0208<<14 | 0x58<<7 | 0x4D,
+ 23534 - 19968: jis0208<<14 | 0x2D<<7 | 0x1F,
+ 23535 - 19968: jis0212<<14 | 0x19<<7 | 0x44,
+ 23536 - 19968: jis0208<<14 | 0x34<<7 | 0x4D,
+ 23537 - 19968: jis0212<<14 | 0x19<<7 | 0x45,
+ 23539 - 19968: jis0208<<14 | 0x34<<7 | 0x4F,
+ 23540 - 19968: jis0212<<14 | 0x19<<7 | 0x46,
+ 23541 - 19968: jis0208<<14 | 0x22<<7 | 0x5D,
+ 23542 - 19968: jis0208<<14 | 0x34<<7 | 0x4E,
+ 23544 - 19968: jis0208<<14 | 0x1F<<7 | 0x02,
+ 23546 - 19968: jis0208<<14 | 0x1A<<7 | 0x5A,
+ 23549 - 19968: jis0212<<14 | 0x19<<7 | 0x47,
+ 23550 - 19968: jis0208<<14 | 0x21<<7 | 0x2F,
+ 23551 - 19968: jis0208<<14 | 0x1B<<7 | 0x56,
+ 23553 - 19968: jis0208<<14 | 0x28<<7 | 0x54,
+ 23554 - 19968: jis0208<<14 | 0x1F<<7 | 0x4B,
+ 23556 - 19968: jis0208<<14 | 0x1B<<7 | 0x2C,
+ 23557 - 19968: jis0208<<14 | 0x34<<7 | 0x50,
+ 23558 - 19968: jis0208<<14 | 0x1D<<7 | 0x0C,
+ 23559 - 19968: jis0208<<14 | 0x34<<7 | 0x51,
+ 23560 - 19968: jis0208<<14 | 0x34<<7 | 0x52,
+ 23561 - 19968: jis0208<<14 | 0x0F<<7 | 0x32,
+ 23562 - 19968: jis0208<<14 | 0x21<<7 | 0x19,
+ 23563 - 19968: jis0208<<14 | 0x1E<<7 | 0x31,
+ 23564 - 19968: jis0212<<14 | 0x19<<7 | 0x48,
+ 23565 - 19968: jis0208<<14 | 0x34<<7 | 0x53,
+ 23566 - 19968: jis0208<<14 | 0x25<<7 | 0x12,
+ 23567 - 19968: jis0208<<14 | 0x1D<<7 | 0x0D,
+ 23569 - 19968: jis0208<<14 | 0x1D<<7 | 0x0E,
+ 23571 - 19968: jis0208<<14 | 0x34<<7 | 0x54,
+ 23574 - 19968: jis0208<<14 | 0x1F<<7 | 0x4C,
+ 23575 - 19968: jis0212<<14 | 0x19<<7 | 0x49,
+ 23578 - 19968: jis0208<<14 | 0x1D<<7 | 0x0F,
+ 23582 - 19968: jis0208<<14 | 0x58<<7 | 0x4E,
+ 23583 - 19968: jis0212<<14 | 0x19<<7 | 0x4B,
+ 23584 - 19968: jis0208<<14 | 0x34<<7 | 0x55,
+ 23586 - 19968: jis0208<<14 | 0x34<<7 | 0x56,
+ 23587 - 19968: jis0212<<14 | 0x19<<7 | 0x4C,
+ 23588 - 19968: jis0208<<14 | 0x2B<<7 | 0x3F,
+ 23590 - 19968: jis0212<<14 | 0x19<<7 | 0x4D,
+ 23592 - 19968: jis0208<<14 | 0x34<<7 | 0x57,
+ 23593 - 19968: jis0212<<14 | 0x19<<7 | 0x4E,
+ 23595 - 19968: jis0212<<14 | 0x19<<7 | 0x4F,
+ 23596 - 19968: jis0212<<14 | 0x19<<7 | 0x50,
+ 23597 - 19968: jis0208<<14 | 0x15<<7 | 0x25,
+ 23598 - 19968: jis0212<<14 | 0x19<<7 | 0x51,
+ 23600 - 19968: jis0212<<14 | 0x19<<7 | 0x52,
+ 23601 - 19968: jis0208<<14 | 0x1C<<7 | 0x01,
+ 23602 - 19968: jis0212<<14 | 0x19<<7 | 0x53,
+ 23605 - 19968: jis0212<<14 | 0x19<<7 | 0x54,
+ 23606 - 19968: jis0212<<14 | 0x19<<7 | 0x55,
+ 23608 - 19968: jis0208<<14 | 0x34<<7 | 0x58,
+ 23609 - 19968: jis0208<<14 | 0x34<<7 | 0x59,
+ 23610 - 19968: jis0208<<14 | 0x1B<<7 | 0x3B,
+ 23611 - 19968: jis0208<<14 | 0x1E<<7 | 0x0B,
+ 23612 - 19968: jis0208<<14 | 0x25<<7 | 0x53,
+ 23613 - 19968: jis0208<<14 | 0x1E<<7 | 0x33,
+ 23614 - 19968: jis0208<<14 | 0x27<<7 | 0x57,
+ 23615 - 19968: jis0208<<14 | 0x26<<7 | 0x01,
+ 23616 - 19968: jis0208<<14 | 0x15<<7 | 0x28,
+ 23617 - 19968: jis0208<<14 | 0x34<<7 | 0x5A,
+ 23621 - 19968: jis0208<<14 | 0x14<<7 | 0x4E,
+ 23622 - 19968: jis0208<<14 | 0x34<<7 | 0x5B,
+ 23624 - 19968: jis0208<<14 | 0x15<<7 | 0x5D,
+ 23626 - 19968: jis0208<<14 | 0x25<<7 | 0x2E,
+ 23627 - 19968: jis0208<<14 | 0x11<<7 | 0x0F,
+ 23629 - 19968: jis0208<<14 | 0x1A<<7 | 0x32,
+ 23630 - 19968: jis0208<<14 | 0x34<<7 | 0x5C,
+ 23631 - 19968: jis0208<<14 | 0x35<<7 | 0x01,
+ 23632 - 19968: jis0208<<14 | 0x35<<7 | 0x00,
+ 23633 - 19968: jis0208<<14 | 0x15<<7 | 0x5C,
+ 23635 - 19968: jis0208<<14 | 0x34<<7 | 0x5D,
+ 23637 - 19968: jis0208<<14 | 0x24<<7 | 0x17,
+ 23641 - 19968: jis0212<<14 | 0x19<<7 | 0x56,
+ 23642 - 19968: jis0212<<14 | 0x19<<7 | 0x57,
+ 23644 - 19968: jis0212<<14 | 0x19<<7 | 0x58,
+ 23646 - 19968: jis0208<<14 | 0x21<<7 | 0x0F,
+ 23648 - 19968: jis0208<<14 | 0x24<<7 | 0x2A,
+ 23649 - 19968: jis0208<<14 | 0x1B<<7 | 0x27,
+ 23650 - 19968: jis0212<<14 | 0x19<<7 | 0x59,
+ 23651 - 19968: jis0212<<14 | 0x19<<7 | 0x5A,
+ 23652 - 19968: jis0208<<14 | 0x20<<7 | 0x37,
+ 23653 - 19968: jis0208<<14 | 0x2C<<7 | 0x59,
+ 23655 - 19968: jis0212<<14 | 0x19<<7 | 0x5B,
+ 23656 - 19968: jis0212<<14 | 0x19<<7 | 0x5C,
+ 23657 - 19968: jis0212<<14 | 0x19<<7 | 0x5D,
+ 23660 - 19968: jis0208<<14 | 0x35<<7 | 0x03,
+ 23661 - 19968: jis0212<<14 | 0x1A<<7 | 0x00,
+ 23662 - 19968: jis0208<<14 | 0x35<<7 | 0x04,
+ 23663 - 19968: jis0208<<14 | 0x25<<7 | 0x35,
+ 23664 - 19968: jis0212<<14 | 0x1A<<7 | 0x01,
+ 23665 - 19968: jis0208<<14 | 0x1A<<7 | 0x12,
+ 23668 - 19968: jis0212<<14 | 0x1A<<7 | 0x02,
+ 23669 - 19968: jis0212<<14 | 0x1A<<7 | 0x03,
+ 23670 - 19968: jis0208<<14 | 0x35<<7 | 0x06,
+ 23673 - 19968: jis0208<<14 | 0x35<<7 | 0x07,
+ 23674 - 19968: jis0212<<14 | 0x1A<<7 | 0x04,
+ 23675 - 19968: jis0212<<14 | 0x1A<<7 | 0x05,
+ 23676 - 19968: jis0212<<14 | 0x1A<<7 | 0x06,
+ 23677 - 19968: jis0212<<14 | 0x1A<<7 | 0x07,
+ 23687 - 19968: jis0212<<14 | 0x1A<<7 | 0x08,
+ 23688 - 19968: jis0212<<14 | 0x1A<<7 | 0x09,
+ 23690 - 19968: jis0212<<14 | 0x1A<<7 | 0x0A,
+ 23692 - 19968: jis0208<<14 | 0x35<<7 | 0x08,
+ 23695 - 19968: jis0212<<14 | 0x1A<<7 | 0x0B,
+ 23696 - 19968: jis0208<<14 | 0x13<<7 | 0x53,
+ 23697 - 19968: jis0208<<14 | 0x35<<7 | 0x09,
+ 23698 - 19968: jis0212<<14 | 0x1A<<7 | 0x0C,
+ 23700 - 19968: jis0208<<14 | 0x35<<7 | 0x0A,
+ 23709 - 19968: jis0212<<14 | 0x1A<<7 | 0x0D,
+ 23711 - 19968: jis0212<<14 | 0x1A<<7 | 0x0E,
+ 23712 - 19968: jis0212<<14 | 0x1A<<7 | 0x0F,
+ 23713 - 19968: jis0208<<14 | 0x11<<7 | 0x0B,
+ 23714 - 19968: jis0212<<14 | 0x1A<<7 | 0x10,
+ 23715 - 19968: jis0212<<14 | 0x1A<<7 | 0x11,
+ 23718 - 19968: jis0208<<14 | 0x58<<7 | 0x4F,
+ 23720 - 19968: jis0208<<14 | 0x20<<7 | 0x1A,
+ 23721 - 19968: jis0208<<14 | 0x13<<7 | 0x43,
+ 23722 - 19968: jis0212<<14 | 0x1A<<7 | 0x13,
+ 23723 - 19968: jis0208<<14 | 0x35<<7 | 0x0C,
+ 23724 - 19968: jis0208<<14 | 0x2B<<7 | 0x07,
+ 23729 - 19968: jis0208<<14 | 0x21<<7 | 0x31,
+ 23730 - 19968: jis0212<<14 | 0x1A<<7 | 0x14,
+ 23731 - 19968: jis0208<<14 | 0x12<<7 | 0x38,
+ 23732 - 19968: jis0212<<14 | 0x1A<<7 | 0x15,
+ 23733 - 19968: jis0212<<14 | 0x1A<<7 | 0x16,
+ 23734 - 19968: jis0208<<14 | 0x35<<7 | 0x0E,
+ 23735 - 19968: jis0208<<14 | 0x35<<7 | 0x10,
+ 23736 - 19968: jis0208<<14 | 0x13<<7 | 0x3E,
+ 23738 - 19968: jis0208<<14 | 0x58<<7 | 0x50,
+ 23739 - 19968: jis0208<<14 | 0x35<<7 | 0x0D,
+ 23740 - 19968: jis0208<<14 | 0x35<<7 | 0x0F,
+ 23742 - 19968: jis0208<<14 | 0x35<<7 | 0x12,
+ 23749 - 19968: jis0208<<14 | 0x35<<7 | 0x11,
+ 23751 - 19968: jis0208<<14 | 0x35<<7 | 0x13,
+ 23753 - 19968: jis0212<<14 | 0x1A<<7 | 0x18,
+ 23755 - 19968: jis0212<<14 | 0x1A<<7 | 0x19,
+ 23762 - 19968: jis0212<<14 | 0x1A<<7 | 0x1A,
+ 23767 - 19968: jis0212<<14 | 0x1A<<7 | 0x1C,
+ 23769 - 19968: jis0208<<14 | 0x35<<7 | 0x14,
+ 23773 - 19968: jis0212<<14 | 0x1A<<7 | 0x1B,
+ 23776 - 19968: jis0208<<14 | 0x25<<7 | 0x1C,
+ 23777 - 19968: jis0208<<14 | 0x15<<7 | 0x0D,
+ 23784 - 19968: jis0208<<14 | 0x11<<7 | 0x44,
+ 23785 - 19968: jis0208<<14 | 0x35<<7 | 0x15,
+ 23786 - 19968: jis0208<<14 | 0x35<<7 | 0x1A,
+ 23789 - 19968: jis0208<<14 | 0x35<<7 | 0x18,
+ 23790 - 19968: jis0212<<14 | 0x1A<<7 | 0x1D,
+ 23791 - 19968: jis0208<<14 | 0x29<<7 | 0x56,
+ 23792 - 19968: jis0208<<14 | 0x29<<7 | 0x55,
+ 23793 - 19968: jis0212<<14 | 0x1A<<7 | 0x1E,
+ 23794 - 19968: jis0212<<14 | 0x1A<<7 | 0x1F,
+ 23796 - 19968: jis0212<<14 | 0x1A<<7 | 0x20,
+ 23797 - 19968: jis0208<<14 | 0x58<<7 | 0x51,
+ 23798 - 19968: jis0208<<14 | 0x24<<7 | 0x46,
+ 23802 - 19968: jis0208<<14 | 0x35<<7 | 0x17,
+ 23803 - 19968: jis0208<<14 | 0x1C<<7 | 0x33,
+ 23805 - 19968: jis0208<<14 | 0x35<<7 | 0x16,
+ 23809 - 19968: jis0212<<14 | 0x1A<<7 | 0x21,
+ 23814 - 19968: jis0212<<14 | 0x1A<<7 | 0x22,
+ 23815 - 19968: jis0208<<14 | 0x1E<<7 | 0x51,
+ 23819 - 19968: jis0208<<14 | 0x35<<7 | 0x1B,
+ 23821 - 19968: jis0212<<14 | 0x1A<<7 | 0x23,
+ 23822 - 19968: jis0208<<14 | 0x19<<7 | 0x49,
+ 23825 - 19968: jis0208<<14 | 0x35<<7 | 0x21,
+ 23826 - 19968: jis0212<<14 | 0x1A<<7 | 0x24,
+ 23828 - 19968: jis0208<<14 | 0x35<<7 | 0x22,
+ 23829 - 19968: jis0208<<14 | 0x35<<7 | 0x1C,
+ 23830 - 19968: jis0208<<14 | 0x12<<7 | 0x12,
+ 23831 - 19968: jis0208<<14 | 0x35<<7 | 0x1D,
+ 23832 - 19968: jis0208<<14 | 0x35<<7 | 0x26,
+ 23833 - 19968: jis0208<<14 | 0x35<<7 | 0x25,
+ 23834 - 19968: jis0208<<14 | 0x35<<7 | 0x24,
+ 23835 - 19968: jis0208<<14 | 0x35<<7 | 0x20,
+ 23839 - 19968: jis0208<<14 | 0x35<<7 | 0x1F,
+ 23842 - 19968: jis0208<<14 | 0x35<<7 | 0x23,
+ 23843 - 19968: jis0212<<14 | 0x1A<<7 | 0x26,
+ 23844 - 19968: jis0212<<14 | 0x1A<<7 | 0x27,
+ 23846 - 19968: jis0212<<14 | 0x1A<<7 | 0x28,
+ 23847 - 19968: jis0208<<14 | 0x58<<7 | 0x52,
+ 23849 - 19968: jis0208<<14 | 0x29<<7 | 0x57,
+ 23851 - 19968: jis0212<<14 | 0x1A<<7 | 0x25,
+ 23857 - 19968: jis0212<<14 | 0x1A<<7 | 0x2A,
+ 23860 - 19968: jis0212<<14 | 0x1A<<7 | 0x2B,
+ 23865 - 19968: jis0212<<14 | 0x1A<<7 | 0x2C,
+ 23869 - 19968: jis0212<<14 | 0x1A<<7 | 0x2D,
+ 23871 - 19968: jis0212<<14 | 0x1A<<7 | 0x2E,
+ 23874 - 19968: jis0208<<14 | 0x58<<7 | 0x55,
+ 23875 - 19968: jis0212<<14 | 0x1A<<7 | 0x30,
+ 23878 - 19968: jis0212<<14 | 0x1A<<7 | 0x31,
+ 23880 - 19968: jis0212<<14 | 0x1A<<7 | 0x32,
+ 23882 - 19968: jis0212<<14 | 0x1A<<7 | 0x36,
+ 23883 - 19968: jis0208<<14 | 0x35<<7 | 0x2A,
+ 23884 - 19968: jis0208<<14 | 0x35<<7 | 0x27,
+ 23886 - 19968: jis0208<<14 | 0x35<<7 | 0x29,
+ 23888 - 19968: jis0208<<14 | 0x2C<<7 | 0x51,
+ 23889 - 19968: jis0212<<14 | 0x1A<<7 | 0x34,
+ 23890 - 19968: jis0208<<14 | 0x35<<7 | 0x28,
+ 23891 - 19968: jis0208<<14 | 0x58<<7 | 0x53,
+ 23893 - 19968: jis0212<<14 | 0x1A<<7 | 0x33,
+ 23897 - 19968: jis0212<<14 | 0x1A<<7 | 0x35,
+ 23900 - 19968: jis0208<<14 | 0x35<<7 | 0x1E,
+ 23903 - 19968: jis0212<<14 | 0x1A<<7 | 0x37,
+ 23904 - 19968: jis0212<<14 | 0x1A<<7 | 0x38,
+ 23905 - 19968: jis0212<<14 | 0x1A<<7 | 0x39,
+ 23906 - 19968: jis0212<<14 | 0x1A<<7 | 0x3A,
+ 23908 - 19968: jis0212<<14 | 0x1A<<7 | 0x3B,
+ 23913 - 19968: jis0208<<14 | 0x1E<<7 | 0x52,
+ 23914 - 19968: jis0212<<14 | 0x1A<<7 | 0x3C,
+ 23916 - 19968: jis0208<<14 | 0x35<<7 | 0x2B,
+ 23917 - 19968: jis0208<<14 | 0x58<<7 | 0x56,
+ 23919 - 19968: jis0208<<14 | 0x19<<7 | 0x16,
+ 23920 - 19968: jis0212<<14 | 0x1A<<7 | 0x3E,
+ 23923 - 19968: jis0208<<14 | 0x35<<7 | 0x2C,
+ 23926 - 19968: jis0208<<14 | 0x35<<7 | 0x2D,
+ 23929 - 19968: jis0212<<14 | 0x1A<<7 | 0x3F,
+ 23930 - 19968: jis0212<<14 | 0x1A<<7 | 0x40,
+ 23934 - 19968: jis0212<<14 | 0x1A<<7 | 0x41,
+ 23935 - 19968: jis0212<<14 | 0x1A<<7 | 0x42,
+ 23937 - 19968: jis0212<<14 | 0x1A<<7 | 0x43,
+ 23938 - 19968: jis0208<<14 | 0x35<<7 | 0x30,
+ 23939 - 19968: jis0212<<14 | 0x1A<<7 | 0x44,
+ 23940 - 19968: jis0208<<14 | 0x35<<7 | 0x2F,
+ 23943 - 19968: jis0208<<14 | 0x35<<7 | 0x2E,
+ 23944 - 19968: jis0212<<14 | 0x1A<<7 | 0x45,
+ 23946 - 19968: jis0212<<14 | 0x1A<<7 | 0x46,
+ 23947 - 19968: jis0208<<14 | 0x24<<7 | 0x47,
+ 23948 - 19968: jis0208<<14 | 0x35<<7 | 0x19,
+ 23952 - 19968: jis0208<<14 | 0x35<<7 | 0x36,
+ 23954 - 19968: jis0212<<14 | 0x1A<<7 | 0x47,
+ 23955 - 19968: jis0212<<14 | 0x1A<<7 | 0x48,
+ 23956 - 19968: jis0212<<14 | 0x1A<<7 | 0x49,
+ 23957 - 19968: jis0212<<14 | 0x1A<<7 | 0x4A,
+ 23961 - 19968: jis0212<<14 | 0x1A<<7 | 0x4B,
+ 23963 - 19968: jis0212<<14 | 0x1A<<7 | 0x4C,
+ 23965 - 19968: jis0208<<14 | 0x35<<7 | 0x32,
+ 23967 - 19968: jis0212<<14 | 0x1A<<7 | 0x4D,
+ 23968 - 19968: jis0212<<14 | 0x1A<<7 | 0x4E,
+ 23970 - 19968: jis0208<<14 | 0x35<<7 | 0x31,
+ 23975 - 19968: jis0212<<14 | 0x1A<<7 | 0x4F,
+ 23979 - 19968: jis0212<<14 | 0x1A<<7 | 0x50,
+ 23980 - 19968: jis0208<<14 | 0x35<<7 | 0x33,
+ 23982 - 19968: jis0208<<14 | 0x35<<7 | 0x34,
+ 23984 - 19968: jis0212<<14 | 0x1A<<7 | 0x51,
+ 23986 - 19968: jis0212<<14 | 0x45<<7 | 0x53,
+ 23988 - 19968: jis0212<<14 | 0x1A<<7 | 0x52,
+ 23991 - 19968: jis0208<<14 | 0x35<<7 | 0x37,
+ 23992 - 19968: jis0208<<14 | 0x58<<7 | 0x57,
+ 23993 - 19968: jis0208<<14 | 0x58<<7 | 0x58,
+ 23994 - 19968: jis0208<<14 | 0x2D<<7 | 0x45,
+ 23996 - 19968: jis0208<<14 | 0x35<<7 | 0x38,
+ 23997 - 19968: jis0208<<14 | 0x35<<7 | 0x35,
+ 24003 - 19968: jis0212<<14 | 0x1A<<7 | 0x55,
+ 24007 - 19968: jis0212<<14 | 0x1A<<7 | 0x56,
+ 24009 - 19968: jis0208<<14 | 0x35<<7 | 0x39,
+ 24011 - 19968: jis0212<<14 | 0x1A<<7 | 0x57,
+ 24012 - 19968: jis0208<<14 | 0x13<<7 | 0x3F,
+ 24013 - 19968: jis0208<<14 | 0x35<<7 | 0x3A,
+ 24014 - 19968: jis0212<<14 | 0x1A<<7 | 0x59,
+ 24016 - 19968: jis0208<<14 | 0x58<<7 | 0x59,
+ 24018 - 19968: jis0208<<14 | 0x35<<7 | 0x3C,
+ 24019 - 19968: jis0208<<14 | 0x35<<7 | 0x3B,
+ 24022 - 19968: jis0208<<14 | 0x35<<7 | 0x3D,
+ 24024 - 19968: jis0212<<14 | 0x1A<<7 | 0x5A,
+ 24025 - 19968: jis0212<<14 | 0x1A<<7 | 0x5B,
+ 24027 - 19968: jis0208<<14 | 0x35<<7 | 0x3E,
+ 24029 - 19968: jis0208<<14 | 0x1F<<7 | 0x4D,
+ 24030 - 19968: jis0208<<14 | 0x1C<<7 | 0x02,
+ 24032 - 19968: jis0212<<14 | 0x1A<<7 | 0x5C,
+ 24033 - 19968: jis0208<<14 | 0x1C<<7 | 0x43,
+ 24035 - 19968: jis0208<<14 | 0x20<<7 | 0x42,
+ 24036 - 19968: jis0212<<14 | 0x1A<<7 | 0x5D,
+ 24037 - 19968: jis0208<<14 | 0x18<<7 | 0x08,
+ 24038 - 19968: jis0208<<14 | 0x19<<7 | 0x17,
+ 24039 - 19968: jis0208<<14 | 0x18<<7 | 0x09,
+ 24040 - 19968: jis0208<<14 | 0x14<<7 | 0x4F,
+ 24041 - 19968: jis0212<<14 | 0x1B<<7 | 0x00,
+ 24043 - 19968: jis0208<<14 | 0x35<<7 | 0x3F,
+ 24046 - 19968: jis0208<<14 | 0x19<<7 | 0x18,
+ 24049 - 19968: jis0208<<14 | 0x17<<7 | 0x29,
+ 24050 - 19968: jis0208<<14 | 0x35<<7 | 0x40,
+ 24051 - 19968: jis0208<<14 | 0x2B<<7 | 0x05,
+ 24052 - 19968: jis0208<<14 | 0x26<<7 | 0x22,
+ 24053 - 19968: jis0208<<14 | 0x35<<7 | 0x41,
+ 24055 - 19968: jis0208<<14 | 0x18<<7 | 0x0A,
+ 24056 - 19968: jis0212<<14 | 0x1B<<7 | 0x01,
+ 24057 - 19968: jis0212<<14 | 0x1B<<7 | 0x02,
+ 24059 - 19968: jis0208<<14 | 0x13<<7 | 0x0B,
+ 24061 - 19968: jis0208<<14 | 0x22<<7 | 0x06,
+ 24062 - 19968: jis0208<<14 | 0x15<<7 | 0x31,
+ 24064 - 19968: jis0212<<14 | 0x1B<<7 | 0x03,
+ 24066 - 19968: jis0208<<14 | 0x1A<<7 | 0x33,
+ 24067 - 19968: jis0208<<14 | 0x28<<7 | 0x3A,
+ 24070 - 19968: jis0208<<14 | 0x27<<7 | 0x20,
+ 24071 - 19968: jis0212<<14 | 0x1B<<7 | 0x04,
+ 24075 - 19968: jis0208<<14 | 0x35<<7 | 0x42,
+ 24076 - 19968: jis0208<<14 | 0x13<<7 | 0x54,
+ 24077 - 19968: jis0212<<14 | 0x1B<<7 | 0x05,
+ 24081 - 19968: jis0208<<14 | 0x35<<7 | 0x45,
+ 24082 - 19968: jis0212<<14 | 0x1B<<7 | 0x06,
+ 24084 - 19968: jis0212<<14 | 0x1B<<7 | 0x07,
+ 24085 - 19968: jis0212<<14 | 0x1B<<7 | 0x08,
+ 24086 - 19968: jis0208<<14 | 0x23<<7 | 0x00,
+ 24088 - 19968: jis0212<<14 | 0x1B<<7 | 0x09,
+ 24089 - 19968: jis0208<<14 | 0x35<<7 | 0x44,
+ 24090 - 19968: jis0208<<14 | 0x35<<7 | 0x43,
+ 24091 - 19968: jis0208<<14 | 0x35<<7 | 0x46,
+ 24093 - 19968: jis0208<<14 | 0x23<<7 | 0x4A,
+ 24095 - 19968: jis0212<<14 | 0x1B<<7 | 0x0A,
+ 24096 - 19968: jis0212<<14 | 0x1B<<7 | 0x0B,
+ 24101 - 19968: jis0208<<14 | 0x1E<<7 | 0x42,
+ 24104 - 19968: jis0212<<14 | 0x1B<<7 | 0x0D,
+ 24107 - 19968: jis0208<<14 | 0x1A<<7 | 0x34,
+ 24109 - 19968: jis0208<<14 | 0x1F<<7 | 0x29,
+ 24110 - 19968: jis0212<<14 | 0x1B<<7 | 0x0C,
+ 24111 - 19968: jis0208<<14 | 0x21<<7 | 0x32,
+ 24112 - 19968: jis0208<<14 | 0x14<<7 | 0x01,
+ 24114 - 19968: jis0212<<14 | 0x1B<<7 | 0x0E,
+ 24115 - 19968: jis0208<<14 | 0x23<<7 | 0x01,
+ 24117 - 19968: jis0212<<14 | 0x1B<<7 | 0x0F,
+ 24118 - 19968: jis0208<<14 | 0x35<<7 | 0x47,
+ 24119 - 19968: jis0208<<14 | 0x35<<7 | 0x48,
+ 24120 - 19968: jis0208<<14 | 0x1D<<7 | 0x4E,
+ 24125 - 19968: jis0208<<14 | 0x2A<<7 | 0x18,
+ 24126 - 19968: jis0212<<14 | 0x1B<<7 | 0x10,
+ 24128 - 19968: jis0208<<14 | 0x35<<7 | 0x4B,
+ 24131 - 19968: jis0208<<14 | 0x35<<7 | 0x4A,
+ 24132 - 19968: jis0208<<14 | 0x35<<7 | 0x49,
+ 24133 - 19968: jis0208<<14 | 0x28<<7 | 0x5C,
+ 24135 - 19968: jis0208<<14 | 0x35<<7 | 0x52,
+ 24137 - 19968: jis0212<<14 | 0x1B<<7 | 0x13,
+ 24139 - 19968: jis0212<<14 | 0x1B<<7 | 0x11,
+ 24140 - 19968: jis0208<<14 | 0x2A<<7 | 0x39,
+ 24142 - 19968: jis0208<<14 | 0x35<<7 | 0x4C,
+ 24144 - 19968: jis0212<<14 | 0x1B<<7 | 0x12,
+ 24145 - 19968: jis0212<<14 | 0x1B<<7 | 0x14,
+ 24148 - 19968: jis0208<<14 | 0x35<<7 | 0x4E,
+ 24149 - 19968: jis0208<<14 | 0x2A<<7 | 0x4A,
+ 24150 - 19968: jis0212<<14 | 0x1B<<7 | 0x15,
+ 24151 - 19968: jis0208<<14 | 0x35<<7 | 0x4D,
+ 24152 - 19968: jis0212<<14 | 0x1B<<7 | 0x16,
+ 24155 - 19968: jis0212<<14 | 0x1B<<7 | 0x17,
+ 24156 - 19968: jis0212<<14 | 0x1B<<7 | 0x18,
+ 24158 - 19968: jis0212<<14 | 0x1B<<7 | 0x19,
+ 24159 - 19968: jis0208<<14 | 0x35<<7 | 0x4F,
+ 24161 - 19968: jis0208<<14 | 0x27<<7 | 0x07,
+ 24162 - 19968: jis0208<<14 | 0x35<<7 | 0x50,
+ 24163 - 19968: jis0208<<14 | 0x29<<7 | 0x1D,
+ 24164 - 19968: jis0208<<14 | 0x35<<7 | 0x51,
+ 24168 - 19968: jis0212<<14 | 0x1B<<7 | 0x1A,
+ 24170 - 19968: jis0212<<14 | 0x1B<<7 | 0x1B,
+ 24171 - 19968: jis0212<<14 | 0x1B<<7 | 0x1C,
+ 24172 - 19968: jis0212<<14 | 0x1B<<7 | 0x1D,
+ 24173 - 19968: jis0212<<14 | 0x1B<<7 | 0x1E,
+ 24174 - 19968: jis0212<<14 | 0x1B<<7 | 0x1F,
+ 24176 - 19968: jis0212<<14 | 0x1B<<7 | 0x20,
+ 24178 - 19968: jis0208<<14 | 0x13<<7 | 0x12,
+ 24179 - 19968: jis0208<<14 | 0x29<<7 | 0x1E,
+ 24180 - 19968: jis0208<<14 | 0x26<<7 | 0x0E,
+ 24181 - 19968: jis0208<<14 | 0x35<<7 | 0x53,
+ 24182 - 19968: jis0208<<14 | 0x35<<7 | 0x54,
+ 24184 - 19968: jis0208<<14 | 0x18<<7 | 0x0B,
+ 24185 - 19968: jis0208<<14 | 0x13<<7 | 0x13,
+ 24186 - 19968: jis0208<<14 | 0x35<<7 | 0x55,
+ 24187 - 19968: jis0208<<14 | 0x17<<7 | 0x17,
+ 24188 - 19968: jis0208<<14 | 0x2C<<7 | 0x23,
+ 24189 - 19968: jis0208<<14 | 0x2C<<7 | 0x08,
+ 24190 - 19968: jis0208<<14 | 0x13<<7 | 0x55,
+ 24191 - 19968: jis0208<<14 | 0x35<<7 | 0x57,
+ 24192 - 19968: jis0212<<14 | 0x1B<<7 | 0x21,
+ 24193 - 19968: jis0208<<14 | 0x23<<7 | 0x02,
+ 24195 - 19968: jis0208<<14 | 0x18<<7 | 0x0C,
+ 24196 - 19968: jis0208<<14 | 0x1D<<7 | 0x10,
+ 24199 - 19968: jis0208<<14 | 0x27<<7 | 0x3E,
+ 24202 - 19968: jis0208<<14 | 0x1D<<7 | 0x11,
+ 24203 - 19968: jis0212<<14 | 0x1B<<7 | 0x22,
+ 24206 - 19968: jis0212<<14 | 0x1B<<7 | 0x23,
+ 24207 - 19968: jis0208<<14 | 0x1C<<7 | 0x57,
+ 24213 - 19968: jis0208<<14 | 0x23<<7 | 0x4B,
+ 24214 - 19968: jis0208<<14 | 0x29<<7 | 0x58,
+ 24215 - 19968: jis0208<<14 | 0x24<<7 | 0x18,
+ 24218 - 19968: jis0208<<14 | 0x18<<7 | 0x0D,
+ 24220 - 19968: jis0208<<14 | 0x28<<7 | 0x3B,
+ 24224 - 19968: jis0208<<14 | 0x35<<7 | 0x58,
+ 24226 - 19968: jis0212<<14 | 0x1B<<7 | 0x24,
+ 24228 - 19968: jis0212<<14 | 0x1B<<7 | 0x25,
+ 24229 - 19968: jis0212<<14 | 0x1B<<7 | 0x26,
+ 24230 - 19968: jis0208<<14 | 0x24<<7 | 0x38,
+ 24231 - 19968: jis0208<<14 | 0x19<<7 | 0x21,
+ 24232 - 19968: jis0212<<14 | 0x1B<<7 | 0x27,
+ 24234 - 19968: jis0212<<14 | 0x1B<<7 | 0x28,
+ 24235 - 19968: jis0208<<14 | 0x17<<7 | 0x2A,
+ 24236 - 19968: jis0212<<14 | 0x1B<<7 | 0x29,
+ 24237 - 19968: jis0208<<14 | 0x23<<7 | 0x4C,
+ 24241 - 19968: jis0212<<14 | 0x1B<<7 | 0x2A,
+ 24243 - 19968: jis0212<<14 | 0x1B<<7 | 0x2B,
+ 24245 - 19968: jis0208<<14 | 0x0F<<7 | 0x22,
+ 24246 - 19968: jis0208<<14 | 0x1C<<7 | 0x4D,
+ 24247 - 19968: jis0208<<14 | 0x18<<7 | 0x0E,
+ 24248 - 19968: jis0208<<14 | 0x2C<<7 | 0x26,
+ 24253 - 19968: jis0212<<14 | 0x1B<<7 | 0x2C,
+ 24254 - 19968: jis0212<<14 | 0x1B<<7 | 0x2D,
+ 24255 - 19968: jis0212<<14 | 0x1B<<7 | 0x2E,
+ 24257 - 19968: jis0208<<14 | 0x35<<7 | 0x59,
+ 24258 - 19968: jis0208<<14 | 0x35<<7 | 0x5A,
+ 24259 - 19968: jis0208<<14 | 0x26<<7 | 0x30,
+ 24262 - 19968: jis0212<<14 | 0x1B<<7 | 0x2F,
+ 24264 - 19968: jis0208<<14 | 0x35<<7 | 0x5B,
+ 24265 - 19968: jis0208<<14 | 0x2D<<7 | 0x56,
+ 24266 - 19968: jis0208<<14 | 0x2E<<7 | 0x0C,
+ 24267 - 19968: jis0212<<14 | 0x1B<<7 | 0x31,
+ 24268 - 19968: jis0212<<14 | 0x1B<<7 | 0x30,
+ 24270 - 19968: jis0212<<14 | 0x1B<<7 | 0x32,
+ 24271 - 19968: jis0208<<14 | 0x35<<7 | 0x5D,
+ 24272 - 19968: jis0208<<14 | 0x35<<7 | 0x5C,
+ 24273 - 19968: jis0212<<14 | 0x1B<<7 | 0x33,
+ 24274 - 19968: jis0212<<14 | 0x1B<<7 | 0x34,
+ 24275 - 19968: jis0208<<14 | 0x12<<7 | 0x26,
+ 24276 - 19968: jis0212<<14 | 0x1B<<7 | 0x35,
+ 24277 - 19968: jis0212<<14 | 0x1B<<7 | 0x36,
+ 24278 - 19968: jis0208<<14 | 0x36<<7 | 0x00,
+ 24282 - 19968: jis0208<<14 | 0x36<<7 | 0x03,
+ 24283 - 19968: jis0208<<14 | 0x36<<7 | 0x04,
+ 24284 - 19968: jis0212<<14 | 0x1B<<7 | 0x37,
+ 24285 - 19968: jis0208<<14 | 0x36<<7 | 0x02,
+ 24286 - 19968: jis0212<<14 | 0x1B<<7 | 0x38,
+ 24287 - 19968: jis0208<<14 | 0x28<<7 | 0x1F,
+ 24288 - 19968: jis0208<<14 | 0x1D<<7 | 0x12,
+ 24289 - 19968: jis0208<<14 | 0x36<<7 | 0x06,
+ 24290 - 19968: jis0208<<14 | 0x36<<7 | 0x05,
+ 24291 - 19968: jis0208<<14 | 0x36<<7 | 0x01,
+ 24293 - 19968: jis0212<<14 | 0x1B<<7 | 0x39,
+ 24296 - 19968: jis0208<<14 | 0x36<<7 | 0x07,
+ 24297 - 19968: jis0208<<14 | 0x36<<7 | 0x08,
+ 24299 - 19968: jis0212<<14 | 0x1B<<7 | 0x3A,
+ 24300 - 19968: jis0208<<14 | 0x36<<7 | 0x09,
+ 24304 - 19968: jis0208<<14 | 0x36<<7 | 0x0C,
+ 24305 - 19968: jis0208<<14 | 0x36<<7 | 0x0A,
+ 24307 - 19968: jis0208<<14 | 0x36<<7 | 0x0B,
+ 24308 - 19968: jis0208<<14 | 0x36<<7 | 0x0D,
+ 24310 - 19968: jis0208<<14 | 0x10<<7 | 0x43,
+ 24311 - 19968: jis0208<<14 | 0x23<<7 | 0x4D,
+ 24312 - 19968: jis0208<<14 | 0x36<<7 | 0x0E,
+ 24314 - 19968: jis0208<<14 | 0x16<<7 | 0x59,
+ 24315 - 19968: jis0208<<14 | 0x11<<7 | 0x55,
+ 24316 - 19968: jis0208<<14 | 0x26<<7 | 0x15,
+ 24318 - 19968: jis0208<<14 | 0x36<<7 | 0x0F,
+ 24319 - 19968: jis0208<<14 | 0x25<<7 | 0x5A,
+ 24321 - 19968: jis0208<<14 | 0x29<<7 | 0x3A,
+ 24322 - 19968: jis0212<<14 | 0x1B<<7 | 0x3B,
+ 24323 - 19968: jis0208<<14 | 0x36<<7 | 0x10,
+ 24324 - 19968: jis0208<<14 | 0x2E<<7 | 0x0D,
+ 24326 - 19968: jis0212<<14 | 0x1B<<7 | 0x3C,
+ 24327 - 19968: jis0212<<14 | 0x1B<<7 | 0x3D,
+ 24328 - 19968: jis0212<<14 | 0x1B<<7 | 0x3E,
+ 24329 - 19968: jis0208<<14 | 0x36<<7 | 0x11,
+ 24330 - 19968: jis0208<<14 | 0x29<<7 | 0x1F,
+ 24331 - 19968: jis0208<<14 | 0x36<<7 | 0x14,
+ 24332 - 19968: jis0208<<14 | 0x2F<<7 | 0x00,
+ 24333 - 19968: jis0208<<14 | 0x2F<<7 | 0x10,
+ 24334 - 19968: jis0212<<14 | 0x1B<<7 | 0x3F,
+ 24335 - 19968: jis0208<<14 | 0x1B<<7 | 0x0F,
+ 24336 - 19968: jis0208<<14 | 0x25<<7 | 0x54,
+ 24337 - 19968: jis0208<<14 | 0x36<<7 | 0x15,
+ 24339 - 19968: jis0208<<14 | 0x14<<7 | 0x3C,
+ 24340 - 19968: jis0208<<14 | 0x23<<7 | 0x03,
+ 24341 - 19968: jis0208<<14 | 0x0F<<7 | 0x59,
+ 24342 - 19968: jis0208<<14 | 0x36<<7 | 0x16,
+ 24343 - 19968: jis0208<<14 | 0x29<<7 | 0x05,
+ 24344 - 19968: jis0208<<14 | 0x18<<7 | 0x0F,
+ 24345 - 19968: jis0212<<14 | 0x1B<<7 | 0x40,
+ 24347 - 19968: jis0208<<14 | 0x22<<7 | 0x2F,
+ 24348 - 19968: jis0212<<14 | 0x1B<<7 | 0x41,
+ 24349 - 19968: jis0212<<14 | 0x1B<<7 | 0x42,
+ 24351 - 19968: jis0208<<14 | 0x23<<7 | 0x4E,
+ 24353 - 19968: jis0208<<14 | 0x58<<7 | 0x5A,
+ 24354 - 19968: jis0212<<14 | 0x1B<<7 | 0x44,
+ 24355 - 19968: jis0212<<14 | 0x1B<<7 | 0x45,
+ 24356 - 19968: jis0212<<14 | 0x1B<<7 | 0x46,
+ 24357 - 19968: jis0208<<14 | 0x2B<<7 | 0x4E,
+ 24358 - 19968: jis0208<<14 | 0x17<<7 | 0x18,
+ 24359 - 19968: jis0208<<14 | 0x17<<7 | 0x2B,
+ 24360 - 19968: jis0212<<14 | 0x1B<<7 | 0x47,
+ 24361 - 19968: jis0208<<14 | 0x36<<7 | 0x17,
+ 24363 - 19968: jis0212<<14 | 0x1B<<7 | 0x48,
+ 24364 - 19968: jis0212<<14 | 0x1B<<7 | 0x49,
+ 24365 - 19968: jis0208<<14 | 0x36<<7 | 0x18,
+ 24366 - 19968: jis0212<<14 | 0x1B<<7 | 0x4A,
+ 24367 - 19968: jis0208<<14 | 0x36<<7 | 0x1E,
+ 24368 - 19968: jis0212<<14 | 0x1B<<7 | 0x4B,
+ 24369 - 19968: jis0208<<14 | 0x1B<<7 | 0x44,
+ 24372 - 19968: jis0208<<14 | 0x58<<7 | 0x5B,
+ 24373 - 19968: jis0208<<14 | 0x23<<7 | 0x04,
+ 24374 - 19968: jis0212<<14 | 0x1B<<7 | 0x4D,
+ 24375 - 19968: jis0208<<14 | 0x15<<7 | 0x0E,
+ 24376 - 19968: jis0208<<14 | 0x36<<7 | 0x19,
+ 24379 - 19968: jis0212<<14 | 0x1B<<7 | 0x4E,
+ 24380 - 19968: jis0208<<14 | 0x28<<7 | 0x0A,
+ 24381 - 19968: jis0212<<14 | 0x1B<<7 | 0x4F,
+ 24382 - 19968: jis0208<<14 | 0x22<<7 | 0x25,
+ 24383 - 19968: jis0212<<14 | 0x1B<<7 | 0x50,
+ 24384 - 19968: jis0212<<14 | 0x1B<<7 | 0x51,
+ 24385 - 19968: jis0208<<14 | 0x36<<7 | 0x1A,
+ 24388 - 19968: jis0212<<14 | 0x1B<<7 | 0x52,
+ 24389 - 19968: jis0208<<14 | 0x58<<7 | 0x0B,
+ 24391 - 19968: jis0212<<14 | 0x1B<<7 | 0x54,
+ 24392 - 19968: jis0208<<14 | 0x36<<7 | 0x1B,
+ 24394 - 19968: jis0208<<14 | 0x15<<7 | 0x0F,
+ 24396 - 19968: jis0208<<14 | 0x36<<7 | 0x1C,
+ 24397 - 19968: jis0212<<14 | 0x1B<<7 | 0x55,
+ 24398 - 19968: jis0208<<14 | 0x36<<7 | 0x1D,
+ 24400 - 19968: jis0212<<14 | 0x1B<<7 | 0x56,
+ 24401 - 19968: jis0208<<14 | 0x36<<7 | 0x1F,
+ 24403 - 19968: jis0208<<14 | 0x24<<7 | 0x55,
+ 24404 - 19968: jis0212<<14 | 0x1B<<7 | 0x57,
+ 24406 - 19968: jis0208<<14 | 0x36<<7 | 0x20,
+ 24407 - 19968: jis0208<<14 | 0x36<<7 | 0x21,
+ 24408 - 19968: jis0212<<14 | 0x1B<<7 | 0x58,
+ 24409 - 19968: jis0208<<14 | 0x36<<7 | 0x22,
+ 24411 - 19968: jis0212<<14 | 0x1B<<7 | 0x59,
+ 24412 - 19968: jis0208<<14 | 0x36<<7 | 0x13,
+ 24413 - 19968: jis0208<<14 | 0x36<<7 | 0x12,
+ 24416 - 19968: jis0212<<14 | 0x1B<<7 | 0x5A,
+ 24417 - 19968: jis0208<<14 | 0x36<<7 | 0x23,
+ 24418 - 19968: jis0208<<14 | 0x16<<7 | 0x20,
+ 24419 - 19968: jis0212<<14 | 0x1B<<7 | 0x5B,
+ 24420 - 19968: jis0212<<14 | 0x1B<<7 | 0x5C,
+ 24422 - 19968: jis0208<<14 | 0x28<<7 | 0x06,
+ 24423 - 19968: jis0208<<14 | 0x58<<7 | 0x5C,
+ 24425 - 19968: jis0208<<14 | 0x19<<7 | 0x2B,
+ 24426 - 19968: jis0208<<14 | 0x28<<7 | 0x16,
+ 24427 - 19968: jis0208<<14 | 0x23<<7 | 0x05,
+ 24428 - 19968: jis0208<<14 | 0x28<<7 | 0x2A,
+ 24429 - 19968: jis0208<<14 | 0x36<<7 | 0x24,
+ 24431 - 19968: jis0212<<14 | 0x1C<<7 | 0x00,
+ 24432 - 19968: jis0208<<14 | 0x1D<<7 | 0x13,
+ 24433 - 19968: jis0208<<14 | 0x10<<7 | 0x25,
+ 24434 - 19968: jis0212<<14 | 0x1C<<7 | 0x01,
+ 24435 - 19968: jis0208<<14 | 0x36<<7 | 0x25,
+ 24436 - 19968: jis0212<<14 | 0x1C<<7 | 0x02,
+ 24437 - 19968: jis0212<<14 | 0x1C<<7 | 0x03,
+ 24439 - 19968: jis0208<<14 | 0x36<<7 | 0x26,
+ 24440 - 19968: jis0212<<14 | 0x1C<<7 | 0x04,
+ 24441 - 19968: jis0208<<14 | 0x2B<<7 | 0x51,
+ 24442 - 19968: jis0212<<14 | 0x1C<<7 | 0x05,
+ 24444 - 19968: jis0208<<14 | 0x27<<7 | 0x3F,
+ 24445 - 19968: jis0212<<14 | 0x1C<<7 | 0x06,
+ 24446 - 19968: jis0212<<14 | 0x1C<<7 | 0x07,
+ 24447 - 19968: jis0208<<14 | 0x36<<7 | 0x29,
+ 24448 - 19968: jis0208<<14 | 0x10<<7 | 0x5C,
+ 24449 - 19968: jis0208<<14 | 0x1F<<7 | 0x0B,
+ 24450 - 19968: jis0208<<14 | 0x36<<7 | 0x28,
+ 24451 - 19968: jis0208<<14 | 0x36<<7 | 0x27,
+ 24452 - 19968: jis0208<<14 | 0x16<<7 | 0x21,
+ 24453 - 19968: jis0208<<14 | 0x21<<7 | 0x33,
+ 24455 - 19968: jis0208<<14 | 0x36<<7 | 0x2D,
+ 24456 - 19968: jis0208<<14 | 0x36<<7 | 0x2B,
+ 24457 - 19968: jis0212<<14 | 0x1C<<7 | 0x08,
+ 24458 - 19968: jis0208<<14 | 0x36<<7 | 0x2A,
+ 24459 - 19968: jis0208<<14 | 0x2D<<7 | 0x06,
+ 24460 - 19968: jis0208<<14 | 0x17<<7 | 0x44,
+ 24461 - 19968: jis0212<<14 | 0x1C<<7 | 0x09,
+ 24463 - 19968: jis0212<<14 | 0x1C<<7 | 0x0A,
+ 24464 - 19968: jis0208<<14 | 0x1C<<7 | 0x58,
+ 24465 - 19968: jis0208<<14 | 0x36<<7 | 0x2C,
+ 24466 - 19968: jis0208<<14 | 0x24<<7 | 0x2B,
+ 24467 - 19968: jis0208<<14 | 0x1C<<7 | 0x1D,
+ 24470 - 19968: jis0212<<14 | 0x1C<<7 | 0x0B,
+ 24471 - 19968: jis0208<<14 | 0x25<<7 | 0x1F,
+ 24472 - 19968: jis0208<<14 | 0x36<<7 | 0x30,
+ 24473 - 19968: jis0208<<14 | 0x36<<7 | 0x2F,
+ 24476 - 19968: jis0212<<14 | 0x1C<<7 | 0x0C,
+ 24477 - 19968: jis0212<<14 | 0x1C<<7 | 0x0D,
+ 24478 - 19968: jis0208<<14 | 0x36<<7 | 0x2E,
+ 24480 - 19968: jis0208<<14 | 0x36<<7 | 0x31,
+ 24481 - 19968: jis0208<<14 | 0x17<<7 | 0x45,
+ 24482 - 19968: jis0212<<14 | 0x1C<<7 | 0x0E,
+ 24484 - 19968: jis0212<<14 | 0x1C<<7 | 0x11,
+ 24487 - 19968: jis0212<<14 | 0x1C<<7 | 0x0F,
+ 24488 - 19968: jis0208<<14 | 0x36<<7 | 0x32,
+ 24489 - 19968: jis0208<<14 | 0x28<<7 | 0x5B,
+ 24490 - 19968: jis0208<<14 | 0x1C<<7 | 0x3A,
+ 24491 - 19968: jis0212<<14 | 0x1C<<7 | 0x10,
+ 24492 - 19968: jis0212<<14 | 0x1C<<7 | 0x12,
+ 24493 - 19968: jis0208<<14 | 0x36<<7 | 0x33,
+ 24494 - 19968: jis0208<<14 | 0x27<<7 | 0x58,
+ 24495 - 19968: jis0212<<14 | 0x1C<<7 | 0x13,
+ 24496 - 19968: jis0212<<14 | 0x1C<<7 | 0x14,
+ 24497 - 19968: jis0212<<14 | 0x1C<<7 | 0x15,
+ 24499 - 19968: jis0208<<14 | 0x25<<7 | 0x20,
+ 24500 - 19968: jis0208<<14 | 0x23<<7 | 0x06,
+ 24503 - 19968: jis0208<<14 | 0x58<<7 | 0x5D,
+ 24504 - 19968: jis0212<<14 | 0x1C<<7 | 0x16,
+ 24505 - 19968: jis0208<<14 | 0x24<<7 | 0x0F,
+ 24508 - 19968: jis0208<<14 | 0x36<<7 | 0x34,
+ 24509 - 19968: jis0208<<14 | 0x14<<7 | 0x0A,
+ 24515 - 19968: jis0208<<14 | 0x1E<<7 | 0x13,
+ 24516 - 19968: jis0212<<14 | 0x1C<<7 | 0x17,
+ 24517 - 19968: jis0208<<14 | 0x28<<7 | 0x0B,
+ 24519 - 19968: jis0212<<14 | 0x1C<<7 | 0x18,
+ 24520 - 19968: jis0212<<14 | 0x1C<<7 | 0x19,
+ 24521 - 19968: jis0212<<14 | 0x1C<<7 | 0x1A,
+ 24523 - 19968: jis0212<<14 | 0x1C<<7 | 0x1B,
+ 24524 - 19968: jis0208<<14 | 0x13<<7 | 0x56,
+ 24525 - 19968: jis0208<<14 | 0x26<<7 | 0x05,
+ 24528 - 19968: jis0212<<14 | 0x1C<<7 | 0x1C,
+ 24529 - 19968: jis0212<<14 | 0x1C<<7 | 0x1D,
+ 24530 - 19968: jis0212<<14 | 0x1C<<7 | 0x1E,
+ 24531 - 19968: jis0212<<14 | 0x1C<<7 | 0x1F,
+ 24532 - 19968: jis0212<<14 | 0x1C<<7 | 0x20,
+ 24534 - 19968: jis0208<<14 | 0x36<<7 | 0x35,
+ 24535 - 19968: jis0208<<14 | 0x1A<<7 | 0x35,
+ 24536 - 19968: jis0208<<14 | 0x2A<<7 | 0x19,
+ 24537 - 19968: jis0208<<14 | 0x2A<<7 | 0x1A,
+ 24540 - 19968: jis0208<<14 | 0x10<<7 | 0x5D,
+ 24541 - 19968: jis0208<<14 | 0x36<<7 | 0x3A,
+ 24542 - 19968: jis0208<<14 | 0x59<<7 | 0x00,
+ 24544 - 19968: jis0208<<14 | 0x22<<7 | 0x48,
+ 24545 - 19968: jis0212<<14 | 0x1C<<7 | 0x22,
+ 24546 - 19968: jis0212<<14 | 0x1C<<7 | 0x23,
+ 24548 - 19968: jis0208<<14 | 0x36<<7 | 0x37,
+ 24552 - 19968: jis0212<<14 | 0x1C<<7 | 0x24,
+ 24553 - 19968: jis0212<<14 | 0x1C<<7 | 0x25,
+ 24554 - 19968: jis0212<<14 | 0x1C<<7 | 0x26,
+ 24555 - 19968: jis0208<<14 | 0x11<<7 | 0x56,
+ 24556 - 19968: jis0212<<14 | 0x1C<<7 | 0x27,
+ 24557 - 19968: jis0212<<14 | 0x1C<<7 | 0x28,
+ 24558 - 19968: jis0212<<14 | 0x1C<<7 | 0x29,
+ 24559 - 19968: jis0212<<14 | 0x1C<<7 | 0x2A,
+ 24560 - 19968: jis0208<<14 | 0x37<<7 | 0x0C,
+ 24561 - 19968: jis0208<<14 | 0x36<<7 | 0x39,
+ 24562 - 19968: jis0212<<14 | 0x1C<<7 | 0x2B,
+ 24563 - 19968: jis0212<<14 | 0x1C<<7 | 0x2C,
+ 24565 - 19968: jis0208<<14 | 0x26<<7 | 0x0F,
+ 24566 - 19968: jis0212<<14 | 0x1C<<7 | 0x2D,
+ 24568 - 19968: jis0208<<14 | 0x36<<7 | 0x38,
+ 24570 - 19968: jis0212<<14 | 0x1C<<7 | 0x2E,
+ 24571 - 19968: jis0208<<14 | 0x36<<7 | 0x36,
+ 24572 - 19968: jis0212<<14 | 0x1C<<7 | 0x2F,
+ 24573 - 19968: jis0208<<14 | 0x18<<7 | 0x59,
+ 24575 - 19968: jis0208<<14 | 0x36<<7 | 0x3C,
+ 24583 - 19968: jis0212<<14 | 0x1C<<7 | 0x30,
+ 24586 - 19968: jis0212<<14 | 0x1C<<7 | 0x31,
+ 24589 - 19968: jis0212<<14 | 0x1C<<7 | 0x32,
+ 24590 - 19968: jis0208<<14 | 0x36<<7 | 0x42,
+ 24591 - 19968: jis0208<<14 | 0x36<<7 | 0x48,
+ 24592 - 19968: jis0208<<14 | 0x36<<7 | 0x40,
+ 24594 - 19968: jis0208<<14 | 0x24<<7 | 0x3B,
+ 24595 - 19968: jis0212<<14 | 0x1C<<7 | 0x33,
+ 24596 - 19968: jis0212<<14 | 0x1C<<7 | 0x34,
+ 24597 - 19968: jis0208<<14 | 0x36<<7 | 0x45,
+ 24598 - 19968: jis0208<<14 | 0x28<<7 | 0x3C,
+ 24599 - 19968: jis0212<<14 | 0x1C<<7 | 0x35,
+ 24600 - 19968: jis0212<<14 | 0x1C<<7 | 0x36,
+ 24601 - 19968: jis0208<<14 | 0x36<<7 | 0x3F,
+ 24602 - 19968: jis0212<<14 | 0x1C<<7 | 0x37,
+ 24603 - 19968: jis0208<<14 | 0x36<<7 | 0x44,
+ 24604 - 19968: jis0208<<14 | 0x2D<<7 | 0x46,
+ 24605 - 19968: jis0208<<14 | 0x1A<<7 | 0x36,
+ 24607 - 19968: jis0212<<14 | 0x1C<<7 | 0x38,
+ 24608 - 19968: jis0208<<14 | 0x21<<7 | 0x34,
+ 24609 - 19968: jis0208<<14 | 0x36<<7 | 0x3D,
+ 24612 - 19968: jis0212<<14 | 0x1C<<7 | 0x39,
+ 24613 - 19968: jis0208<<14 | 0x14<<7 | 0x3D,
+ 24614 - 19968: jis0208<<14 | 0x36<<7 | 0x47,
+ 24615 - 19968: jis0208<<14 | 0x1F<<7 | 0x0C,
+ 24616 - 19968: jis0208<<14 | 0x10<<7 | 0x44,
+ 24617 - 19968: jis0208<<14 | 0x36<<7 | 0x41,
+ 24618 - 19968: jis0208<<14 | 0x11<<7 | 0x57,
+ 24619 - 19968: jis0208<<14 | 0x36<<7 | 0x46,
+ 24621 - 19968: jis0212<<14 | 0x1C<<7 | 0x3A,
+ 24623 - 19968: jis0208<<14 | 0x15<<7 | 0x10,
+ 24625 - 19968: jis0208<<14 | 0x36<<7 | 0x43,
+ 24627 - 19968: jis0212<<14 | 0x1C<<7 | 0x3B,
+ 24629 - 19968: jis0212<<14 | 0x1C<<7 | 0x3C,
+ 24634 - 19968: jis0208<<14 | 0x36<<7 | 0x49,
+ 24640 - 19968: jis0212<<14 | 0x1C<<7 | 0x3D,
+ 24641 - 19968: jis0208<<14 | 0x36<<7 | 0x4B,
+ 24642 - 19968: jis0208<<14 | 0x36<<7 | 0x55,
+ 24643 - 19968: jis0208<<14 | 0x36<<7 | 0x53,
+ 24646 - 19968: jis0208<<14 | 0x36<<7 | 0x50,
+ 24647 - 19968: jis0212<<14 | 0x1C<<7 | 0x3E,
+ 24648 - 19968: jis0212<<14 | 0x1C<<7 | 0x3F,
+ 24649 - 19968: jis0212<<14 | 0x1C<<7 | 0x40,
+ 24650 - 19968: jis0208<<14 | 0x36<<7 | 0x4F,
+ 24651 - 19968: jis0208<<14 | 0x2D<<7 | 0x57,
+ 24652 - 19968: jis0212<<14 | 0x1C<<7 | 0x41,
+ 24653 - 19968: jis0208<<14 | 0x36<<7 | 0x51,
+ 24656 - 19968: jis0208<<14 | 0x15<<7 | 0x11,
+ 24657 - 19968: jis0212<<14 | 0x1C<<7 | 0x42,
+ 24658 - 19968: jis0208<<14 | 0x18<<7 | 0x10,
+ 24660 - 19968: jis0212<<14 | 0x1C<<7 | 0x43,
+ 24661 - 19968: jis0208<<14 | 0x1C<<7 | 0x59,
+ 24662 - 19968: jis0212<<14 | 0x1C<<7 | 0x44,
+ 24663 - 19968: jis0212<<14 | 0x1C<<7 | 0x45,
+ 24665 - 19968: jis0208<<14 | 0x36<<7 | 0x58,
+ 24666 - 19968: jis0208<<14 | 0x36<<7 | 0x4A,
+ 24669 - 19968: jis0208<<14 | 0x59<<7 | 0x01,
+ 24671 - 19968: jis0208<<14 | 0x36<<7 | 0x4E,
+ 24672 - 19968: jis0208<<14 | 0x36<<7 | 0x3E,
+ 24673 - 19968: jis0212<<14 | 0x1C<<7 | 0x47,
+ 24674 - 19968: jis0208<<14 | 0x11<<7 | 0x59,
+ 24675 - 19968: jis0208<<14 | 0x36<<7 | 0x52,
+ 24676 - 19968: jis0208<<14 | 0x36<<7 | 0x54,
+ 24677 - 19968: jis0208<<14 | 0x22<<7 | 0x30,
+ 24679 - 19968: jis0212<<14 | 0x1C<<7 | 0x48,
+ 24680 - 19968: jis0208<<14 | 0x19<<7 | 0x07,
+ 24681 - 19968: jis0208<<14 | 0x11<<7 | 0x17,
+ 24682 - 19968: jis0208<<14 | 0x36<<7 | 0x4C,
+ 24683 - 19968: jis0208<<14 | 0x36<<7 | 0x57,
+ 24684 - 19968: jis0208<<14 | 0x36<<7 | 0x56,
+ 24685 - 19968: jis0208<<14 | 0x15<<7 | 0x12,
+ 24687 - 19968: jis0208<<14 | 0x21<<7 | 0x08,
+ 24688 - 19968: jis0208<<14 | 0x12<<7 | 0x45,
+ 24689 - 19968: jis0212<<14 | 0x1C<<7 | 0x49,
+ 24693 - 19968: jis0208<<14 | 0x16<<7 | 0x22,
+ 24695 - 19968: jis0208<<14 | 0x36<<7 | 0x4D,
+ 24702 - 19968: jis0212<<14 | 0x1C<<7 | 0x4A,
+ 24703 - 19968: jis0212<<14 | 0x1C<<7 | 0x4B,
+ 24705 - 19968: jis0208<<14 | 0x36<<7 | 0x59,
+ 24706 - 19968: jis0212<<14 | 0x1C<<7 | 0x4C,
+ 24707 - 19968: jis0208<<14 | 0x36<<7 | 0x5C,
+ 24708 - 19968: jis0208<<14 | 0x37<<7 | 0x00,
+ 24709 - 19968: jis0208<<14 | 0x59<<7 | 0x02,
+ 24710 - 19968: jis0212<<14 | 0x1C<<7 | 0x4D,
+ 24712 - 19968: jis0212<<14 | 0x1C<<7 | 0x4E,
+ 24713 - 19968: jis0208<<14 | 0x1B<<7 | 0x1C,
+ 24714 - 19968: jis0208<<14 | 0x59<<7 | 0x03,
+ 24715 - 19968: jis0208<<14 | 0x37<<7 | 0x06,
+ 24716 - 19968: jis0208<<14 | 0x23<<7 | 0x4F,
+ 24717 - 19968: jis0208<<14 | 0x36<<7 | 0x5A,
+ 24718 - 19968: jis0212<<14 | 0x1C<<7 | 0x50,
+ 24721 - 19968: jis0212<<14 | 0x1C<<7 | 0x51,
+ 24722 - 19968: jis0208<<14 | 0x37<<7 | 0x04,
+ 24723 - 19968: jis0212<<14 | 0x1C<<7 | 0x52,
+ 24724 - 19968: jis0208<<14 | 0x11<<7 | 0x58,
+ 24725 - 19968: jis0212<<14 | 0x1C<<7 | 0x53,
+ 24726 - 19968: jis0208<<14 | 0x37<<7 | 0x02,
+ 24727 - 19968: jis0208<<14 | 0x37<<7 | 0x03,
+ 24728 - 19968: jis0212<<14 | 0x1C<<7 | 0x54,
+ 24730 - 19968: jis0208<<14 | 0x36<<7 | 0x5D,
+ 24731 - 19968: jis0208<<14 | 0x37<<7 | 0x01,
+ 24733 - 19968: jis0212<<14 | 0x1C<<7 | 0x55,
+ 24734 - 19968: jis0212<<14 | 0x1C<<7 | 0x56,
+ 24735 - 19968: jis0208<<14 | 0x17<<7 | 0x46,
+ 24736 - 19968: jis0208<<14 | 0x2C<<7 | 0x09,
+ 24738 - 19968: jis0212<<14 | 0x1C<<7 | 0x57,
+ 24739 - 19968: jis0208<<14 | 0x13<<7 | 0x14,
+ 24740 - 19968: jis0212<<14 | 0x1C<<7 | 0x58,
+ 24741 - 19968: jis0212<<14 | 0x1C<<7 | 0x59,
+ 24742 - 19968: jis0208<<14 | 0x10<<7 | 0x38,
+ 24743 - 19968: jis0208<<14 | 0x37<<7 | 0x05,
+ 24744 - 19968: jis0212<<14 | 0x1C<<7 | 0x5A,
+ 24745 - 19968: jis0208<<14 | 0x26<<7 | 0x19,
+ 24746 - 19968: jis0208<<14 | 0x0F<<7 | 0x0C,
+ 24752 - 19968: jis0212<<14 | 0x1C<<7 | 0x5B,
+ 24753 - 19968: jis0212<<14 | 0x1C<<7 | 0x5C,
+ 24754 - 19968: jis0208<<14 | 0x27<<7 | 0x40,
+ 24755 - 19968: jis0208<<14 | 0x36<<7 | 0x3B,
+ 24756 - 19968: jis0208<<14 | 0x37<<7 | 0x0B,
+ 24757 - 19968: jis0208<<14 | 0x37<<7 | 0x0F,
+ 24758 - 19968: jis0208<<14 | 0x2B<<7 | 0x44,
+ 24759 - 19968: jis0212<<14 | 0x1C<<7 | 0x5D,
+ 24760 - 19968: jis0208<<14 | 0x37<<7 | 0x08,
+ 24763 - 19968: jis0212<<14 | 0x1D<<7 | 0x00,
+ 24764 - 19968: jis0208<<14 | 0x24<<7 | 0x48,
+ 24765 - 19968: jis0208<<14 | 0x37<<7 | 0x0D,
+ 24766 - 19968: jis0212<<14 | 0x1D<<7 | 0x01,
+ 24770 - 19968: jis0212<<14 | 0x1D<<7 | 0x02,
+ 24772 - 19968: jis0212<<14 | 0x1D<<7 | 0x03,
+ 24773 - 19968: jis0208<<14 | 0x1D<<7 | 0x4F,
+ 24774 - 19968: jis0208<<14 | 0x37<<7 | 0x0E,
+ 24775 - 19968: jis0208<<14 | 0x25<<7 | 0x36,
+ 24776 - 19968: jis0212<<14 | 0x1D<<7 | 0x04,
+ 24777 - 19968: jis0212<<14 | 0x1D<<7 | 0x05,
+ 24778 - 19968: jis0212<<14 | 0x1D<<7 | 0x06,
+ 24779 - 19968: jis0212<<14 | 0x1D<<7 | 0x07,
+ 24782 - 19968: jis0212<<14 | 0x1D<<7 | 0x08,
+ 24783 - 19968: jis0212<<14 | 0x1D<<7 | 0x09,
+ 24785 - 19968: jis0208<<14 | 0x2E<<7 | 0x26,
+ 24787 - 19968: jis0208<<14 | 0x37<<7 | 0x0A,
+ 24788 - 19968: jis0212<<14 | 0x1D<<7 | 0x0A,
+ 24789 - 19968: jis0208<<14 | 0x59<<7 | 0x05,
+ 24792 - 19968: jis0208<<14 | 0x37<<7 | 0x10,
+ 24793 - 19968: jis0212<<14 | 0x1D<<7 | 0x0C,
+ 24794 - 19968: jis0208<<14 | 0x18<<7 | 0x5A,
+ 24795 - 19968: jis0212<<14 | 0x1D<<7 | 0x0D,
+ 24796 - 19968: jis0208<<14 | 0x1F<<7 | 0x2A,
+ 24797 - 19968: jis0212<<14 | 0x1D<<7 | 0x0E,
+ 24798 - 19968: jis0208<<14 | 0x59<<7 | 0x04,
+ 24799 - 19968: jis0208<<14 | 0x0F<<7 | 0x33,
+ 24800 - 19968: jis0208<<14 | 0x37<<7 | 0x09,
+ 24801 - 19968: jis0208<<14 | 0x37<<7 | 0x07,
+ 24802 - 19968: jis0212<<14 | 0x1D<<7 | 0x10,
+ 24803 - 19968: jis0208<<14 | 0x20<<7 | 0x39,
+ 24805 - 19968: jis0212<<14 | 0x1D<<7 | 0x11,
+ 24807 - 19968: jis0208<<14 | 0x36<<7 | 0x5B,
+ 24808 - 19968: jis0208<<14 | 0x1A<<7 | 0x13,
+ 24816 - 19968: jis0208<<14 | 0x21<<7 | 0x25,
+ 24817 - 19968: jis0208<<14 | 0x37<<7 | 0x1C,
+ 24818 - 19968: jis0208<<14 | 0x59<<7 | 0x07,
+ 24819 - 19968: jis0208<<14 | 0x20<<7 | 0x3A,
+ 24820 - 19968: jis0208<<14 | 0x37<<7 | 0x17,
+ 24821 - 19968: jis0212<<14 | 0x1D<<7 | 0x13,
+ 24822 - 19968: jis0208<<14 | 0x37<<7 | 0x14,
+ 24823 - 19968: jis0208<<14 | 0x37<<7 | 0x15,
+ 24824 - 19968: jis0212<<14 | 0x1D<<7 | 0x14,
+ 24825 - 19968: jis0208<<14 | 0x1B<<7 | 0x45,
+ 24826 - 19968: jis0208<<14 | 0x37<<7 | 0x18,
+ 24827 - 19968: jis0208<<14 | 0x37<<7 | 0x1B,
+ 24828 - 19968: jis0212<<14 | 0x1D<<7 | 0x15,
+ 24829 - 19968: jis0212<<14 | 0x1D<<7 | 0x16,
+ 24832 - 19968: jis0208<<14 | 0x37<<7 | 0x16,
+ 24833 - 19968: jis0208<<14 | 0x1C<<7 | 0x04,
+ 24834 - 19968: jis0212<<14 | 0x1D<<7 | 0x17,
+ 24835 - 19968: jis0208<<14 | 0x37<<7 | 0x19,
+ 24838 - 19968: jis0208<<14 | 0x37<<7 | 0x13,
+ 24839 - 19968: jis0212<<14 | 0x1D<<7 | 0x18,
+ 24840 - 19968: jis0208<<14 | 0x2B<<7 | 0x5B,
+ 24841 - 19968: jis0208<<14 | 0x2B<<7 | 0x5A,
+ 24842 - 19968: jis0212<<14 | 0x1D<<7 | 0x19,
+ 24844 - 19968: jis0212<<14 | 0x1D<<7 | 0x1A,
+ 24845 - 19968: jis0208<<14 | 0x37<<7 | 0x1D,
+ 24846 - 19968: jis0208<<14 | 0x37<<7 | 0x1E,
+ 24847 - 19968: jis0208<<14 | 0x0F<<7 | 0x34,
+ 24848 - 19968: jis0212<<14 | 0x1D<<7 | 0x1B,
+ 24849 - 19968: jis0208<<14 | 0x59<<7 | 0x08,
+ 24850 - 19968: jis0212<<14 | 0x1D<<7 | 0x1D,
+ 24851 - 19968: jis0212<<14 | 0x1D<<7 | 0x1E,
+ 24852 - 19968: jis0212<<14 | 0x1D<<7 | 0x1F,
+ 24853 - 19968: jis0208<<14 | 0x37<<7 | 0x12,
+ 24854 - 19968: jis0212<<14 | 0x1D<<7 | 0x20,
+ 24855 - 19968: jis0212<<14 | 0x1D<<7 | 0x21,
+ 24857 - 19968: jis0212<<14 | 0x1D<<7 | 0x22,
+ 24858 - 19968: jis0208<<14 | 0x15<<7 | 0x51,
+ 24859 - 19968: jis0208<<14 | 0x0F<<7 | 0x05,
+ 24860 - 19968: jis0212<<14 | 0x1D<<7 | 0x23,
+ 24862 - 19968: jis0212<<14 | 0x1D<<7 | 0x24,
+ 24863 - 19968: jis0208<<14 | 0x13<<7 | 0x15,
+ 24864 - 19968: jis0208<<14 | 0x59<<7 | 0x06,
+ 24865 - 19968: jis0208<<14 | 0x37<<7 | 0x1A,
+ 24866 - 19968: jis0212<<14 | 0x1D<<7 | 0x25,
+ 24871 - 19968: jis0208<<14 | 0x37<<7 | 0x22,
+ 24872 - 19968: jis0208<<14 | 0x37<<7 | 0x21,
+ 24874 - 19968: jis0212<<14 | 0x1D<<7 | 0x26,
+ 24875 - 19968: jis0212<<14 | 0x1D<<7 | 0x27,
+ 24876 - 19968: jis0208<<14 | 0x37<<7 | 0x26,
+ 24880 - 19968: jis0208<<14 | 0x59<<7 | 0x0A,
+ 24881 - 19968: jis0212<<14 | 0x1D<<7 | 0x29,
+ 24884 - 19968: jis0208<<14 | 0x37<<7 | 0x27,
+ 24885 - 19968: jis0212<<14 | 0x1D<<7 | 0x2A,
+ 24886 - 19968: jis0212<<14 | 0x1D<<7 | 0x2B,
+ 24887 - 19968: jis0208<<14 | 0x59<<7 | 0x09,
+ 24889 - 19968: jis0212<<14 | 0x1D<<7 | 0x2D,
+ 24892 - 19968: jis0208<<14 | 0x37<<7 | 0x25,
+ 24893 - 19968: jis0208<<14 | 0x37<<7 | 0x28,
+ 24894 - 19968: jis0208<<14 | 0x37<<7 | 0x20,
+ 24895 - 19968: jis0208<<14 | 0x37<<7 | 0x24,
+ 24897 - 19968: jis0212<<14 | 0x1D<<7 | 0x2E,
+ 24898 - 19968: jis0208<<14 | 0x37<<7 | 0x29,
+ 24900 - 19968: jis0208<<14 | 0x37<<7 | 0x2A,
+ 24901 - 19968: jis0212<<14 | 0x1D<<7 | 0x2F,
+ 24902 - 19968: jis0212<<14 | 0x1D<<7 | 0x30,
+ 24903 - 19968: jis0208<<14 | 0x37<<7 | 0x1F,
+ 24904 - 19968: jis0208<<14 | 0x1A<<7 | 0x5B,
+ 24905 - 19968: jis0212<<14 | 0x1D<<7 | 0x31,
+ 24906 - 19968: jis0208<<14 | 0x37<<7 | 0x23,
+ 24907 - 19968: jis0208<<14 | 0x21<<7 | 0x35,
+ 24908 - 19968: jis0208<<14 | 0x18<<7 | 0x11,
+ 24909 - 19968: jis0208<<14 | 0x37<<7 | 0x11,
+ 24910 - 19968: jis0208<<14 | 0x1E<<7 | 0x14,
+ 24915 - 19968: jis0208<<14 | 0x37<<7 | 0x37,
+ 24917 - 19968: jis0208<<14 | 0x29<<7 | 0x48,
+ 24920 - 19968: jis0208<<14 | 0x37<<7 | 0x2D,
+ 24921 - 19968: jis0208<<14 | 0x37<<7 | 0x2E,
+ 24922 - 19968: jis0208<<14 | 0x37<<7 | 0x2F,
+ 24925 - 19968: jis0208<<14 | 0x37<<7 | 0x36,
+ 24926 - 19968: jis0212<<14 | 0x1D<<7 | 0x32,
+ 24927 - 19968: jis0208<<14 | 0x37<<7 | 0x35,
+ 24928 - 19968: jis0212<<14 | 0x1D<<7 | 0x33,
+ 24930 - 19968: jis0208<<14 | 0x2A<<7 | 0x5C,
+ 24931 - 19968: jis0208<<14 | 0x13<<7 | 0x16,
+ 24933 - 19968: jis0208<<14 | 0x37<<7 | 0x33,
+ 24935 - 19968: jis0208<<14 | 0x16<<7 | 0x24,
+ 24936 - 19968: jis0208<<14 | 0x12<<7 | 0x13,
+ 24939 - 19968: jis0208<<14 | 0x37<<7 | 0x30,
+ 24940 - 19968: jis0212<<14 | 0x1D<<7 | 0x34,
+ 24942 - 19968: jis0208<<14 | 0x2D<<7 | 0x17,
+ 24943 - 19968: jis0208<<14 | 0x37<<7 | 0x32,
+ 24944 - 19968: jis0208<<14 | 0x0F<<7 | 0x35,
+ 24945 - 19968: jis0208<<14 | 0x37<<7 | 0x34,
+ 24946 - 19968: jis0212<<14 | 0x1D<<7 | 0x35,
+ 24947 - 19968: jis0208<<14 | 0x37<<7 | 0x2B,
+ 24948 - 19968: jis0208<<14 | 0x37<<7 | 0x31,
+ 24949 - 19968: jis0208<<14 | 0x37<<7 | 0x38,
+ 24950 - 19968: jis0208<<14 | 0x16<<7 | 0x23,
+ 24951 - 19968: jis0208<<14 | 0x37<<7 | 0x2C,
+ 24952 - 19968: jis0212<<14 | 0x1D<<7 | 0x36,
+ 24955 - 19968: jis0212<<14 | 0x1D<<7 | 0x37,
+ 24956 - 19968: jis0212<<14 | 0x1D<<7 | 0x38,
+ 24958 - 19968: jis0208<<14 | 0x2C<<7 | 0x3C,
+ 24959 - 19968: jis0212<<14 | 0x1D<<7 | 0x39,
+ 24960 - 19968: jis0212<<14 | 0x1D<<7 | 0x3A,
+ 24961 - 19968: jis0212<<14 | 0x1D<<7 | 0x3B,
+ 24962 - 19968: jis0208<<14 | 0x2C<<7 | 0x0A,
+ 24963 - 19968: jis0212<<14 | 0x1D<<7 | 0x3C,
+ 24964 - 19968: jis0212<<14 | 0x1D<<7 | 0x3D,
+ 24967 - 19968: jis0208<<14 | 0x37<<7 | 0x3B,
+ 24970 - 19968: jis0208<<14 | 0x37<<7 | 0x3F,
+ 24971 - 19968: jis0212<<14 | 0x1D<<7 | 0x3E,
+ 24973 - 19968: jis0212<<14 | 0x1D<<7 | 0x3F,
+ 24974 - 19968: jis0208<<14 | 0x20<<7 | 0x5D,
+ 24976 - 19968: jis0208<<14 | 0x2D<<7 | 0x58,
+ 24977 - 19968: jis0208<<14 | 0x37<<7 | 0x40,
+ 24978 - 19968: jis0212<<14 | 0x1D<<7 | 0x40,
+ 24979 - 19968: jis0212<<14 | 0x1D<<7 | 0x41,
+ 24980 - 19968: jis0208<<14 | 0x37<<7 | 0x3D,
+ 24982 - 19968: jis0208<<14 | 0x37<<7 | 0x3A,
+ 24983 - 19968: jis0212<<14 | 0x1D<<7 | 0x42,
+ 24984 - 19968: jis0208<<14 | 0x59<<7 | 0x0B,
+ 24985 - 19968: jis0208<<14 | 0x37<<7 | 0x39,
+ 24986 - 19968: jis0208<<14 | 0x37<<7 | 0x3E,
+ 24988 - 19968: jis0212<<14 | 0x1D<<7 | 0x44,
+ 24989 - 19968: jis0212<<14 | 0x1D<<7 | 0x45,
+ 24991 - 19968: jis0212<<14 | 0x1D<<7 | 0x46,
+ 24992 - 19968: jis0212<<14 | 0x1D<<7 | 0x47,
+ 24996 - 19968: jis0208<<14 | 0x29<<7 | 0x0F,
+ 24997 - 19968: jis0212<<14 | 0x1D<<7 | 0x48,
+ 24999 - 19968: jis0208<<14 | 0x25<<7 | 0x13,
+ 25000 - 19968: jis0212<<14 | 0x1D<<7 | 0x49,
+ 25001 - 19968: jis0208<<14 | 0x16<<7 | 0x25,
+ 25002 - 19968: jis0212<<14 | 0x1D<<7 | 0x4A,
+ 25003 - 19968: jis0208<<14 | 0x37<<7 | 0x41,
+ 25004 - 19968: jis0208<<14 | 0x37<<7 | 0x3C,
+ 25005 - 19968: jis0212<<14 | 0x1D<<7 | 0x4B,
+ 25006 - 19968: jis0208<<14 | 0x37<<7 | 0x42,
+ 25010 - 19968: jis0208<<14 | 0x16<<7 | 0x5A,
+ 25014 - 19968: jis0208<<14 | 0x11<<7 | 0x10,
+ 25016 - 19968: jis0212<<14 | 0x1D<<7 | 0x4C,
+ 25017 - 19968: jis0212<<14 | 0x1D<<7 | 0x4D,
+ 25018 - 19968: jis0208<<14 | 0x37<<7 | 0x4A,
+ 25020 - 19968: jis0212<<14 | 0x1D<<7 | 0x4E,
+ 25022 - 19968: jis0208<<14 | 0x13<<7 | 0x17,
+ 25024 - 19968: jis0212<<14 | 0x1D<<7 | 0x4F,
+ 25025 - 19968: jis0212<<14 | 0x1D<<7 | 0x50,
+ 25026 - 19968: jis0212<<14 | 0x1D<<7 | 0x51,
+ 25027 - 19968: jis0208<<14 | 0x37<<7 | 0x48,
+ 25030 - 19968: jis0208<<14 | 0x37<<7 | 0x49,
+ 25031 - 19968: jis0208<<14 | 0x19<<7 | 0x08,
+ 25032 - 19968: jis0208<<14 | 0x37<<7 | 0x47,
+ 25033 - 19968: jis0208<<14 | 0x37<<7 | 0x45,
+ 25034 - 19968: jis0208<<14 | 0x37<<7 | 0x44,
+ 25035 - 19968: jis0208<<14 | 0x37<<7 | 0x4B,
+ 25036 - 19968: jis0208<<14 | 0x37<<7 | 0x43,
+ 25037 - 19968: jis0208<<14 | 0x37<<7 | 0x4D,
+ 25038 - 19968: jis0212<<14 | 0x1D<<7 | 0x52,
+ 25039 - 19968: jis0212<<14 | 0x1D<<7 | 0x53,
+ 25040 - 19968: jis0208<<14 | 0x11<<7 | 0x5A,
+ 25045 - 19968: jis0212<<14 | 0x1D<<7 | 0x54,
+ 25052 - 19968: jis0212<<14 | 0x1D<<7 | 0x55,
+ 25053 - 19968: jis0212<<14 | 0x1D<<7 | 0x56,
+ 25054 - 19968: jis0212<<14 | 0x1D<<7 | 0x57,
+ 25055 - 19968: jis0212<<14 | 0x1D<<7 | 0x58,
+ 25057 - 19968: jis0212<<14 | 0x1D<<7 | 0x59,
+ 25058 - 19968: jis0212<<14 | 0x1D<<7 | 0x5A,
+ 25059 - 19968: jis0208<<14 | 0x37<<7 | 0x4F,
+ 25061 - 19968: jis0212<<14 | 0x1D<<7 | 0x5D,
+ 25062 - 19968: jis0208<<14 | 0x37<<7 | 0x4E,
+ 25063 - 19968: jis0212<<14 | 0x1D<<7 | 0x5B,
+ 25065 - 19968: jis0212<<14 | 0x1D<<7 | 0x5C,
+ 25068 - 19968: jis0212<<14 | 0x1E<<7 | 0x00,
+ 25069 - 19968: jis0212<<14 | 0x1E<<7 | 0x01,
+ 25071 - 19968: jis0212<<14 | 0x1E<<7 | 0x02,
+ 25074 - 19968: jis0208<<14 | 0x23<<7 | 0x07,
+ 25076 - 19968: jis0208<<14 | 0x37<<7 | 0x52,
+ 25078 - 19968: jis0208<<14 | 0x37<<7 | 0x50,
+ 25079 - 19968: jis0208<<14 | 0x37<<7 | 0x46,
+ 25080 - 19968: jis0208<<14 | 0x16<<7 | 0x5B,
+ 25082 - 19968: jis0208<<14 | 0x37<<7 | 0x51,
+ 25084 - 19968: jis0208<<14 | 0x37<<7 | 0x55,
+ 25085 - 19968: jis0208<<14 | 0x37<<7 | 0x54,
+ 25086 - 19968: jis0208<<14 | 0x37<<7 | 0x56,
+ 25087 - 19968: jis0208<<14 | 0x37<<7 | 0x53,
+ 25088 - 19968: jis0208<<14 | 0x37<<7 | 0x57,
+ 25089 - 19968: jis0212<<14 | 0x1E<<7 | 0x03,
+ 25091 - 19968: jis0212<<14 | 0x1E<<7 | 0x04,
+ 25092 - 19968: jis0212<<14 | 0x1E<<7 | 0x05,
+ 25095 - 19968: jis0212<<14 | 0x1E<<7 | 0x06,
+ 25096 - 19968: jis0208<<14 | 0x37<<7 | 0x58,
+ 25097 - 19968: jis0208<<14 | 0x37<<7 | 0x59,
+ 25098 - 19968: jis0208<<14 | 0x29<<7 | 0x49,
+ 25100 - 19968: jis0208<<14 | 0x37<<7 | 0x5B,
+ 25101 - 19968: jis0208<<14 | 0x37<<7 | 0x5A,
+ 25102 - 19968: jis0208<<14 | 0x1C<<7 | 0x1E,
+ 25104 - 19968: jis0208<<14 | 0x1F<<7 | 0x0D,
+ 25105 - 19968: jis0208<<14 | 0x11<<7 | 0x45,
+ 25106 - 19968: jis0208<<14 | 0x11<<7 | 0x5B,
+ 25107 - 19968: jis0208<<14 | 0x59<<7 | 0x0C,
+ 25108 - 19968: jis0208<<14 | 0x37<<7 | 0x5C,
+ 25109 - 19968: jis0212<<14 | 0x1E<<7 | 0x08,
+ 25110 - 19968: jis0208<<14 | 0x0F<<7 | 0x1E,
+ 25114 - 19968: jis0208<<14 | 0x1F<<7 | 0x2B,
+ 25115 - 19968: jis0208<<14 | 0x37<<7 | 0x5D,
+ 25116 - 19968: jis0212<<14 | 0x1E<<7 | 0x09,
+ 25117 - 19968: jis0208<<14 | 0x4B<<7 | 0x22,
+ 25118 - 19968: jis0208<<14 | 0x38<<7 | 0x00,
+ 25119 - 19968: jis0208<<14 | 0x16<<7 | 0x40,
+ 25120 - 19968: jis0212<<14 | 0x1E<<7 | 0x0A,
+ 25121 - 19968: jis0208<<14 | 0x38<<7 | 0x01,
+ 25122 - 19968: jis0212<<14 | 0x1E<<7 | 0x0B,
+ 25123 - 19968: jis0212<<14 | 0x1E<<7 | 0x0C,
+ 25126 - 19968: jis0208<<14 | 0x1F<<7 | 0x4E,
+ 25127 - 19968: jis0212<<14 | 0x1E<<7 | 0x0D,
+ 25129 - 19968: jis0212<<14 | 0x1E<<7 | 0x0E,
+ 25130 - 19968: jis0208<<14 | 0x38<<7 | 0x02,
+ 25131 - 19968: jis0212<<14 | 0x1E<<7 | 0x0F,
+ 25134 - 19968: jis0208<<14 | 0x38<<7 | 0x03,
+ 25135 - 19968: jis0208<<14 | 0x14<<7 | 0x19,
+ 25136 - 19968: jis0208<<14 | 0x38<<7 | 0x04,
+ 25138 - 19968: jis0208<<14 | 0x38<<7 | 0x05,
+ 25139 - 19968: jis0208<<14 | 0x38<<7 | 0x06,
+ 25140 - 19968: jis0208<<14 | 0x21<<7 | 0x36,
+ 25144 - 19968: jis0208<<14 | 0x17<<7 | 0x2C,
+ 25145 - 19968: jis0212<<14 | 0x1E<<7 | 0x10,
+ 25147 - 19968: jis0208<<14 | 0x2B<<7 | 0x40,
+ 25149 - 19968: jis0212<<14 | 0x1E<<7 | 0x11,
+ 25151 - 19968: jis0208<<14 | 0x2A<<7 | 0x1B,
+ 25152 - 19968: jis0208<<14 | 0x1C<<7 | 0x49,
+ 25153 - 19968: jis0208<<14 | 0x38<<7 | 0x07,
+ 25154 - 19968: jis0212<<14 | 0x1E<<7 | 0x12,
+ 25155 - 19968: jis0212<<14 | 0x1E<<7 | 0x13,
+ 25156 - 19968: jis0212<<14 | 0x1E<<7 | 0x14,
+ 25158 - 19968: jis0212<<14 | 0x1E<<7 | 0x15,
+ 25159 - 19968: jis0208<<14 | 0x1F<<7 | 0x4F,
+ 25160 - 19968: jis0208<<14 | 0x4D<<7 | 0x1C,
+ 25161 - 19968: jis0208<<14 | 0x27<<7 | 0x41,
+ 25163 - 19968: jis0208<<14 | 0x1B<<7 | 0x49,
+ 25164 - 19968: jis0212<<14 | 0x1E<<7 | 0x16,
+ 25165 - 19968: jis0208<<14 | 0x19<<7 | 0x2C,
+ 25166 - 19968: jis0208<<14 | 0x38<<7 | 0x08,
+ 25168 - 19968: jis0212<<14 | 0x1E<<7 | 0x17,
+ 25169 - 19968: jis0212<<14 | 0x1E<<7 | 0x18,
+ 25170 - 19968: jis0212<<14 | 0x1E<<7 | 0x19,
+ 25171 - 19968: jis0208<<14 | 0x21<<7 | 0x26,
+ 25172 - 19968: jis0212<<14 | 0x1E<<7 | 0x1A,
+ 25173 - 19968: jis0208<<14 | 0x29<<7 | 0x06,
+ 25174 - 19968: jis0212<<14 | 0x1E<<7 | 0x1B,
+ 25176 - 19968: jis0208<<14 | 0x21<<7 | 0x50,
+ 25178 - 19968: jis0212<<14 | 0x1E<<7 | 0x1C,
+ 25179 - 19968: jis0208<<14 | 0x38<<7 | 0x0B,
+ 25180 - 19968: jis0212<<14 | 0x1E<<7 | 0x1D,
+ 25182 - 19968: jis0208<<14 | 0x38<<7 | 0x09,
+ 25184 - 19968: jis0208<<14 | 0x38<<7 | 0x0C,
+ 25187 - 19968: jis0208<<14 | 0x38<<7 | 0x0A,
+ 25188 - 19968: jis0212<<14 | 0x1E<<7 | 0x1E,
+ 25192 - 19968: jis0208<<14 | 0x38<<7 | 0x0D,
+ 25197 - 19968: jis0212<<14 | 0x1E<<7 | 0x1F,
+ 25198 - 19968: jis0208<<14 | 0x29<<7 | 0x10,
+ 25199 - 19968: jis0212<<14 | 0x1E<<7 | 0x20,
+ 25201 - 19968: jis0208<<14 | 0x0F<<7 | 0x16,
+ 25203 - 19968: jis0212<<14 | 0x1E<<7 | 0x21,
+ 25206 - 19968: jis0208<<14 | 0x28<<7 | 0x3D,
+ 25209 - 19968: jis0208<<14 | 0x27<<7 | 0x42,
+ 25210 - 19968: jis0212<<14 | 0x1E<<7 | 0x22,
+ 25212 - 19968: jis0208<<14 | 0x38<<7 | 0x0E,
+ 25213 - 19968: jis0212<<14 | 0x1E<<7 | 0x23,
+ 25214 - 19968: jis0208<<14 | 0x38<<7 | 0x11,
+ 25215 - 19968: jis0208<<14 | 0x1D<<7 | 0x14,
+ 25216 - 19968: jis0208<<14 | 0x14<<7 | 0x1A,
+ 25218 - 19968: jis0208<<14 | 0x38<<7 | 0x0F,
+ 25219 - 19968: jis0208<<14 | 0x38<<7 | 0x16,
+ 25220 - 19968: jis0208<<14 | 0x1D<<7 | 0x15,
+ 25225 - 19968: jis0208<<14 | 0x38<<7 | 0x10,
+ 25226 - 19968: jis0208<<14 | 0x26<<7 | 0x23,
+ 25229 - 19968: jis0212<<14 | 0x1E<<7 | 0x24,
+ 25230 - 19968: jis0212<<14 | 0x1E<<7 | 0x25,
+ 25231 - 19968: jis0212<<14 | 0x1E<<7 | 0x26,
+ 25232 - 19968: jis0212<<14 | 0x1E<<7 | 0x27,
+ 25233 - 19968: jis0208<<14 | 0x2C<<7 | 0x3D,
+ 25234 - 19968: jis0208<<14 | 0x38<<7 | 0x12,
+ 25235 - 19968: jis0208<<14 | 0x38<<7 | 0x13,
+ 25236 - 19968: jis0208<<14 | 0x38<<7 | 0x17,
+ 25237 - 19968: jis0208<<14 | 0x24<<7 | 0x49,
+ 25238 - 19968: jis0208<<14 | 0x38<<7 | 0x14,
+ 25239 - 19968: jis0208<<14 | 0x18<<7 | 0x12,
+ 25240 - 19968: jis0208<<14 | 0x1F<<7 | 0x3D,
+ 25243 - 19968: jis0208<<14 | 0x38<<7 | 0x25,
+ 25244 - 19968: jis0208<<14 | 0x27<<7 | 0x13,
+ 25246 - 19968: jis0208<<14 | 0x21<<7 | 0x51,
+ 25254 - 19968: jis0208<<14 | 0x59<<7 | 0x0D,
+ 25256 - 19968: jis0212<<14 | 0x1E<<7 | 0x29,
+ 25259 - 19968: jis0208<<14 | 0x27<<7 | 0x43,
+ 25260 - 19968: jis0208<<14 | 0x39<<7 | 0x0C,
+ 25265 - 19968: jis0208<<14 | 0x29<<7 | 0x59,
+ 25267 - 19968: jis0212<<14 | 0x1E<<7 | 0x2A,
+ 25269 - 19968: jis0208<<14 | 0x23<<7 | 0x50,
+ 25270 - 19968: jis0212<<14 | 0x1E<<7 | 0x2B,
+ 25271 - 19968: jis0212<<14 | 0x1E<<7 | 0x2C,
+ 25273 - 19968: jis0208<<14 | 0x2A<<7 | 0x54,
+ 25274 - 19968: jis0212<<14 | 0x1E<<7 | 0x2D,
+ 25275 - 19968: jis0208<<14 | 0x38<<7 | 0x1A,
+ 25276 - 19968: jis0208<<14 | 0x11<<7 | 0x00,
+ 25277 - 19968: jis0208<<14 | 0x22<<7 | 0x49,
+ 25278 - 19968: jis0212<<14 | 0x1E<<7 | 0x2E,
+ 25279 - 19968: jis0212<<14 | 0x1E<<7 | 0x2F,
+ 25282 - 19968: jis0208<<14 | 0x38<<7 | 0x23,
+ 25284 - 19968: jis0212<<14 | 0x1E<<7 | 0x30,
+ 25285 - 19968: jis0208<<14 | 0x22<<7 | 0x13,
+ 25286 - 19968: jis0208<<14 | 0x38<<7 | 0x1D,
+ 25287 - 19968: jis0208<<14 | 0x38<<7 | 0x24,
+ 25288 - 19968: jis0208<<14 | 0x38<<7 | 0x1F,
+ 25289 - 19968: jis0208<<14 | 0x38<<7 | 0x26,
+ 25290 - 19968: jis0208<<14 | 0x38<<7 | 0x22,
+ 25292 - 19968: jis0208<<14 | 0x38<<7 | 0x21,
+ 25293 - 19968: jis0208<<14 | 0x26<<7 | 0x4E,
+ 25294 - 19968: jis0212<<14 | 0x1E<<7 | 0x31,
+ 25295 - 19968: jis0208<<14 | 0x38<<7 | 0x1B,
+ 25296 - 19968: jis0208<<14 | 0x11<<7 | 0x5C,
+ 25297 - 19968: jis0208<<14 | 0x38<<7 | 0x19,
+ 25298 - 19968: jis0208<<14 | 0x14<<7 | 0x50,
+ 25299 - 19968: jis0208<<14 | 0x21<<7 | 0x52,
+ 25300 - 19968: jis0208<<14 | 0x38<<7 | 0x15,
+ 25301 - 19968: jis0212<<14 | 0x1E<<7 | 0x32,
+ 25302 - 19968: jis0212<<14 | 0x1E<<7 | 0x33,
+ 25303 - 19968: jis0208<<14 | 0x38<<7 | 0x18,
+ 25304 - 19968: jis0208<<14 | 0x18<<7 | 0x13,
+ 25305 - 19968: jis0208<<14 | 0x1F<<7 | 0x3A,
+ 25306 - 19968: jis0212<<14 | 0x1E<<7 | 0x34,
+ 25307 - 19968: jis0208<<14 | 0x1D<<7 | 0x16,
+ 25308 - 19968: jis0208<<14 | 0x38<<7 | 0x20,
+ 25309 - 19968: jis0208<<14 | 0x26<<7 | 0x31,
+ 25312 - 19968: jis0208<<14 | 0x14<<7 | 0x51,
+ 25313 - 19968: jis0208<<14 | 0x12<<7 | 0x27,
+ 25322 - 19968: jis0212<<14 | 0x1E<<7 | 0x35,
+ 25324 - 19968: jis0208<<14 | 0x12<<7 | 0x46,
+ 25325 - 19968: jis0208<<14 | 0x1E<<7 | 0x00,
+ 25326 - 19968: jis0208<<14 | 0x38<<7 | 0x28,
+ 25327 - 19968: jis0208<<14 | 0x38<<7 | 0x2D,
+ 25329 - 19968: jis0208<<14 | 0x38<<7 | 0x29,
+ 25330 - 19968: jis0212<<14 | 0x1E<<7 | 0x36,
+ 25331 - 19968: jis0208<<14 | 0x16<<7 | 0x5C,
+ 25332 - 19968: jis0212<<14 | 0x1E<<7 | 0x37,
+ 25333 - 19968: jis0208<<14 | 0x38<<7 | 0x2E,
+ 25334 - 19968: jis0208<<14 | 0x1A<<7 | 0x01,
+ 25335 - 19968: jis0208<<14 | 0x18<<7 | 0x48,
+ 25340 - 19968: jis0212<<14 | 0x1E<<7 | 0x38,
+ 25341 - 19968: jis0212<<14 | 0x1E<<7 | 0x39,
+ 25342 - 19968: jis0208<<14 | 0x1C<<7 | 0x05,
+ 25343 - 19968: jis0208<<14 | 0x38<<7 | 0x1C,
+ 25345 - 19968: jis0208<<14 | 0x1A<<7 | 0x5C,
+ 25346 - 19968: jis0208<<14 | 0x38<<7 | 0x2B,
+ 25347 - 19968: jis0212<<14 | 0x1E<<7 | 0x3A,
+ 25348 - 19968: jis0212<<14 | 0x1E<<7 | 0x3B,
+ 25351 - 19968: jis0208<<14 | 0x1A<<7 | 0x37,
+ 25352 - 19968: jis0208<<14 | 0x38<<7 | 0x2C,
+ 25353 - 19968: jis0208<<14 | 0x0F<<7 | 0x23,
+ 25354 - 19968: jis0212<<14 | 0x1E<<7 | 0x3C,
+ 25355 - 19968: jis0212<<14 | 0x1E<<7 | 0x3D,
+ 25356 - 19968: jis0208<<14 | 0x38<<7 | 0x27,
+ 25357 - 19968: jis0212<<14 | 0x1E<<7 | 0x3E,
+ 25360 - 19968: jis0212<<14 | 0x1E<<7 | 0x3F,
+ 25361 - 19968: jis0208<<14 | 0x23<<7 | 0x08,
+ 25363 - 19968: jis0212<<14 | 0x1E<<7 | 0x40,
+ 25366 - 19968: jis0212<<14 | 0x1E<<7 | 0x41,
+ 25368 - 19968: jis0212<<14 | 0x1E<<7 | 0x42,
+ 25369 - 19968: jis0208<<14 | 0x14<<7 | 0x52,
+ 25375 - 19968: jis0208<<14 | 0x15<<7 | 0x13,
+ 25383 - 19968: jis0208<<14 | 0x38<<7 | 0x2A,
+ 25384 - 19968: jis0208<<14 | 0x0F<<7 | 0x06,
+ 25385 - 19968: jis0212<<14 | 0x1E<<7 | 0x43,
+ 25386 - 19968: jis0212<<14 | 0x1E<<7 | 0x44,
+ 25387 - 19968: jis0208<<14 | 0x19<<7 | 0x22,
+ 25389 - 19968: jis0212<<14 | 0x1E<<7 | 0x45,
+ 25391 - 19968: jis0208<<14 | 0x1E<<7 | 0x15,
+ 25397 - 19968: jis0212<<14 | 0x1E<<7 | 0x46,
+ 25398 - 19968: jis0212<<14 | 0x1E<<7 | 0x47,
+ 25401 - 19968: jis0212<<14 | 0x1E<<7 | 0x48,
+ 25402 - 19968: jis0208<<14 | 0x23<<7 | 0x51,
+ 25404 - 19968: jis0212<<14 | 0x1E<<7 | 0x49,
+ 25405 - 19968: jis0208<<14 | 0x27<<7 | 0x33,
+ 25406 - 19968: jis0208<<14 | 0x38<<7 | 0x30,
+ 25407 - 19968: jis0208<<14 | 0x20<<7 | 0x3D,
+ 25409 - 19968: jis0212<<14 | 0x1E<<7 | 0x4A,
+ 25410 - 19968: jis0212<<14 | 0x1E<<7 | 0x4B,
+ 25411 - 19968: jis0212<<14 | 0x1E<<7 | 0x4C,
+ 25412 - 19968: jis0212<<14 | 0x1E<<7 | 0x4D,
+ 25414 - 19968: jis0212<<14 | 0x1E<<7 | 0x4E,
+ 25417 - 19968: jis0208<<14 | 0x21<<7 | 0x09,
+ 25418 - 19968: jis0212<<14 | 0x1E<<7 | 0x4F,
+ 25419 - 19968: jis0212<<14 | 0x1E<<7 | 0x50,
+ 25420 - 19968: jis0208<<14 | 0x1A<<7 | 0x0A,
+ 25421 - 19968: jis0208<<14 | 0x38<<7 | 0x31,
+ 25422 - 19968: jis0212<<14 | 0x1E<<7 | 0x51,
+ 25423 - 19968: jis0208<<14 | 0x38<<7 | 0x33,
+ 25424 - 19968: jis0208<<14 | 0x38<<7 | 0x2F,
+ 25426 - 19968: jis0212<<14 | 0x1E<<7 | 0x52,
+ 25427 - 19968: jis0212<<14 | 0x1E<<7 | 0x53,
+ 25428 - 19968: jis0212<<14 | 0x1E<<7 | 0x54,
+ 25429 - 19968: jis0208<<14 | 0x29<<7 | 0x40,
+ 25431 - 19968: jis0208<<14 | 0x23<<7 | 0x1C,
+ 25432 - 19968: jis0212<<14 | 0x1E<<7 | 0x55,
+ 25435 - 19968: jis0212<<14 | 0x1E<<7 | 0x56,
+ 25436 - 19968: jis0208<<14 | 0x20<<7 | 0x3B,
+ 25445 - 19968: jis0212<<14 | 0x1E<<7 | 0x57,
+ 25446 - 19968: jis0212<<14 | 0x1E<<7 | 0x58,
+ 25447 - 19968: jis0208<<14 | 0x29<<7 | 0x5A,
+ 25448 - 19968: jis0208<<14 | 0x1B<<7 | 0x2D,
+ 25449 - 19968: jis0208<<14 | 0x38<<7 | 0x3F,
+ 25451 - 19968: jis0208<<14 | 0x38<<7 | 0x3E,
+ 25452 - 19968: jis0212<<14 | 0x1E<<7 | 0x59,
+ 25453 - 19968: jis0212<<14 | 0x1E<<7 | 0x5A,
+ 25454 - 19968: jis0208<<14 | 0x1E<<7 | 0x57,
+ 25457 - 19968: jis0212<<14 | 0x1E<<7 | 0x5B,
+ 25458 - 19968: jis0208<<14 | 0x16<<7 | 0x5D,
+ 25460 - 19968: jis0212<<14 | 0x1E<<7 | 0x5C,
+ 25461 - 19968: jis0212<<14 | 0x1E<<7 | 0x5D,
+ 25462 - 19968: jis0208<<14 | 0x38<<7 | 0x38,
+ 25463 - 19968: jis0208<<14 | 0x1D<<7 | 0x18,
+ 25464 - 19968: jis0212<<14 | 0x1F<<7 | 0x00,
+ 25466 - 19968: jis0208<<14 | 0x25<<7 | 0x47,
+ 25467 - 19968: jis0208<<14 | 0x26<<7 | 0x10,
+ 25468 - 19968: jis0212<<14 | 0x1F<<7 | 0x01,
+ 25469 - 19968: jis0212<<14 | 0x1F<<7 | 0x02,
+ 25471 - 19968: jis0212<<14 | 0x1F<<7 | 0x03,
+ 25472 - 19968: jis0208<<14 | 0x38<<7 | 0x36,
+ 25474 - 19968: jis0212<<14 | 0x1F<<7 | 0x04,
+ 25475 - 19968: jis0208<<14 | 0x20<<7 | 0x3C,
+ 25476 - 19968: jis0212<<14 | 0x1F<<7 | 0x05,
+ 25479 - 19968: jis0212<<14 | 0x1F<<7 | 0x06,
+ 25480 - 19968: jis0208<<14 | 0x1B<<7 | 0x57,
+ 25481 - 19968: jis0208<<14 | 0x38<<7 | 0x3B,
+ 25482 - 19968: jis0212<<14 | 0x1F<<7 | 0x07,
+ 25484 - 19968: jis0208<<14 | 0x1D<<7 | 0x17,
+ 25486 - 19968: jis0208<<14 | 0x38<<7 | 0x35,
+ 25487 - 19968: jis0208<<14 | 0x38<<7 | 0x3A,
+ 25488 - 19968: jis0212<<14 | 0x1F<<7 | 0x08,
+ 25490 - 19968: jis0208<<14 | 0x26<<7 | 0x32,
+ 25492 - 19968: jis0212<<14 | 0x1F<<7 | 0x09,
+ 25493 - 19968: jis0212<<14 | 0x1F<<7 | 0x0A,
+ 25494 - 19968: jis0208<<14 | 0x38<<7 | 0x34,
+ 25496 - 19968: jis0208<<14 | 0x16<<7 | 0x00,
+ 25497 - 19968: jis0212<<14 | 0x1F<<7 | 0x0B,
+ 25498 - 19968: jis0212<<14 | 0x1F<<7 | 0x0C,
+ 25499 - 19968: jis0208<<14 | 0x12<<7 | 0x3C,
+ 25502 - 19968: jis0212<<14 | 0x1F<<7 | 0x0D,
+ 25503 - 19968: jis0208<<14 | 0x38<<7 | 0x3C,
+ 25504 - 19968: jis0208<<14 | 0x2D<<7 | 0x0A,
+ 25505 - 19968: jis0208<<14 | 0x19<<7 | 0x2D,
+ 25506 - 19968: jis0208<<14 | 0x22<<7 | 0x14,
+ 25507 - 19968: jis0208<<14 | 0x38<<7 | 0x39,
+ 25508 - 19968: jis0212<<14 | 0x1F<<7 | 0x0E,
+ 25509 - 19968: jis0208<<14 | 0x1F<<7 | 0x3B,
+ 25510 - 19968: jis0212<<14 | 0x1F<<7 | 0x0F,
+ 25511 - 19968: jis0208<<14 | 0x18<<7 | 0x14,
+ 25512 - 19968: jis0208<<14 | 0x1E<<7 | 0x43,
+ 25513 - 19968: jis0208<<14 | 0x10<<7 | 0x45,
+ 25514 - 19968: jis0208<<14 | 0x20<<7 | 0x1B,
+ 25515 - 19968: jis0208<<14 | 0x38<<7 | 0x37,
+ 25516 - 19968: jis0208<<14 | 0x14<<7 | 0x24,
+ 25517 - 19968: jis0212<<14 | 0x1F<<7 | 0x10,
+ 25518 - 19968: jis0212<<14 | 0x1F<<7 | 0x11,
+ 25519 - 19968: jis0212<<14 | 0x1F<<7 | 0x12,
+ 25522 - 19968: jis0208<<14 | 0x16<<7 | 0x26,
+ 25524 - 19968: jis0208<<14 | 0x23<<7 | 0x2E,
+ 25525 - 19968: jis0208<<14 | 0x38<<7 | 0x3D,
+ 25531 - 19968: jis0208<<14 | 0x20<<7 | 0x3E,
+ 25533 - 19968: jis0212<<14 | 0x1F<<7 | 0x13,
+ 25534 - 19968: jis0208<<14 | 0x38<<7 | 0x40,
+ 25536 - 19968: jis0208<<14 | 0x38<<7 | 0x42,
+ 25537 - 19968: jis0212<<14 | 0x1F<<7 | 0x14,
+ 25539 - 19968: jis0208<<14 | 0x21<<7 | 0x16,
+ 25540 - 19968: jis0208<<14 | 0x38<<7 | 0x48,
+ 25541 - 19968: jis0212<<14 | 0x1F<<7 | 0x15,
+ 25542 - 19968: jis0208<<14 | 0x38<<7 | 0x43,
+ 25544 - 19968: jis0212<<14 | 0x1F<<7 | 0x16,
+ 25545 - 19968: jis0208<<14 | 0x38<<7 | 0x45,
+ 25550 - 19968: jis0212<<14 | 0x1F<<7 | 0x17,
+ 25551 - 19968: jis0208<<14 | 0x28<<7 | 0x20,
+ 25552 - 19968: jis0208<<14 | 0x23<<7 | 0x52,
+ 25553 - 19968: jis0212<<14 | 0x1F<<7 | 0x18,
+ 25554 - 19968: jis0208<<14 | 0x38<<7 | 0x46,
+ 25555 - 19968: jis0212<<14 | 0x1F<<7 | 0x19,
+ 25556 - 19968: jis0212<<14 | 0x1F<<7 | 0x1A,
+ 25557 - 19968: jis0212<<14 | 0x1F<<7 | 0x1B,
+ 25558 - 19968: jis0208<<14 | 0x2C<<7 | 0x0B,
+ 25562 - 19968: jis0208<<14 | 0x2C<<7 | 0x27,
+ 25563 - 19968: jis0208<<14 | 0x13<<7 | 0x18,
+ 25564 - 19968: jis0212<<14 | 0x1F<<7 | 0x1C,
+ 25568 - 19968: jis0212<<14 | 0x1F<<7 | 0x1D,
+ 25569 - 19968: jis0208<<14 | 0x0F<<7 | 0x0D,
+ 25571 - 19968: jis0208<<14 | 0x38<<7 | 0x44,
+ 25573 - 19968: jis0212<<14 | 0x1F<<7 | 0x1E,
+ 25577 - 19968: jis0208<<14 | 0x38<<7 | 0x41,
+ 25578 - 19968: jis0212<<14 | 0x1F<<7 | 0x1F,
+ 25580 - 19968: jis0212<<14 | 0x1F<<7 | 0x20,
+ 25582 - 19968: jis0208<<14 | 0x13<<7 | 0x57,
+ 25586 - 19968: jis0212<<14 | 0x1F<<7 | 0x21,
+ 25587 - 19968: jis0212<<14 | 0x1F<<7 | 0x22,
+ 25588 - 19968: jis0208<<14 | 0x10<<7 | 0x46,
+ 25589 - 19968: jis0208<<14 | 0x59<<7 | 0x0E,
+ 25590 - 19968: jis0208<<14 | 0x38<<7 | 0x47,
+ 25592 - 19968: jis0212<<14 | 0x1F<<7 | 0x24,
+ 25593 - 19968: jis0212<<14 | 0x1F<<7 | 0x25,
+ 25594 - 19968: jis0208<<14 | 0x2C<<7 | 0x28,
+ 25606 - 19968: jis0208<<14 | 0x38<<7 | 0x4B,
+ 25609 - 19968: jis0212<<14 | 0x1F<<7 | 0x26,
+ 25610 - 19968: jis0212<<14 | 0x1F<<7 | 0x27,
+ 25613 - 19968: jis0208<<14 | 0x21<<7 | 0x1A,
+ 25615 - 19968: jis0208<<14 | 0x38<<7 | 0x52,
+ 25616 - 19968: jis0212<<14 | 0x1F<<7 | 0x28,
+ 25618 - 19968: jis0212<<14 | 0x1F<<7 | 0x29,
+ 25619 - 19968: jis0208<<14 | 0x38<<7 | 0x4C,
+ 25620 - 19968: jis0212<<14 | 0x1F<<7 | 0x2A,
+ 25622 - 19968: jis0208<<14 | 0x38<<7 | 0x49,
+ 25623 - 19968: jis0208<<14 | 0x38<<7 | 0x50,
+ 25624 - 19968: jis0212<<14 | 0x1F<<7 | 0x2B,
+ 25628 - 19968: jis0208<<14 | 0x38<<7 | 0x32,
+ 25630 - 19968: jis0212<<14 | 0x1F<<7 | 0x2C,
+ 25632 - 19968: jis0212<<14 | 0x1F<<7 | 0x2D,
+ 25634 - 19968: jis0212<<14 | 0x1F<<7 | 0x2E,
+ 25636 - 19968: jis0212<<14 | 0x1F<<7 | 0x2F,
+ 25637 - 19968: jis0212<<14 | 0x1F<<7 | 0x30,
+ 25638 - 19968: jis0208<<14 | 0x38<<7 | 0x4D,
+ 25640 - 19968: jis0208<<14 | 0x38<<7 | 0x51,
+ 25641 - 19968: jis0212<<14 | 0x1F<<7 | 0x31,
+ 25642 - 19968: jis0212<<14 | 0x1F<<7 | 0x32,
+ 25644 - 19968: jis0208<<14 | 0x27<<7 | 0x21,
+ 25645 - 19968: jis0208<<14 | 0x24<<7 | 0x4A,
+ 25647 - 19968: jis0212<<14 | 0x1F<<7 | 0x33,
+ 25648 - 19968: jis0212<<14 | 0x1F<<7 | 0x34,
+ 25652 - 19968: jis0208<<14 | 0x38<<7 | 0x4A,
+ 25653 - 19968: jis0212<<14 | 0x1F<<7 | 0x35,
+ 25654 - 19968: jis0208<<14 | 0x38<<7 | 0x4E,
+ 25658 - 19968: jis0208<<14 | 0x16<<7 | 0x27,
+ 25661 - 19968: jis0212<<14 | 0x1F<<7 | 0x36,
+ 25662 - 19968: jis0208<<14 | 0x19<<7 | 0x50,
+ 25663 - 19968: jis0212<<14 | 0x1F<<7 | 0x37,
+ 25666 - 19968: jis0208<<14 | 0x1F<<7 | 0x3C,
+ 25675 - 19968: jis0212<<14 | 0x1F<<7 | 0x38,
+ 25678 - 19968: jis0208<<14 | 0x38<<7 | 0x56,
+ 25679 - 19968: jis0212<<14 | 0x1F<<7 | 0x39,
+ 25681 - 19968: jis0212<<14 | 0x1F<<7 | 0x3A,
+ 25682 - 19968: jis0212<<14 | 0x1F<<7 | 0x3B,
+ 25683 - 19968: jis0212<<14 | 0x1F<<7 | 0x3C,
+ 25684 - 19968: jis0212<<14 | 0x1F<<7 | 0x3D,
+ 25688 - 19968: jis0208<<14 | 0x24<<7 | 0x05,
+ 25690 - 19968: jis0212<<14 | 0x1F<<7 | 0x3E,
+ 25691 - 19968: jis0212<<14 | 0x1F<<7 | 0x3F,
+ 25692 - 19968: jis0212<<14 | 0x1F<<7 | 0x40,
+ 25693 - 19968: jis0212<<14 | 0x1F<<7 | 0x41,
+ 25695 - 19968: jis0212<<14 | 0x1F<<7 | 0x42,
+ 25696 - 19968: jis0208<<14 | 0x59<<7 | 0x0F,
+ 25697 - 19968: jis0212<<14 | 0x1F<<7 | 0x44,
+ 25699 - 19968: jis0212<<14 | 0x1F<<7 | 0x45,
+ 25703 - 19968: jis0208<<14 | 0x38<<7 | 0x53,
+ 25705 - 19968: jis0208<<14 | 0x2A<<7 | 0x3F,
+ 25709 - 19968: jis0212<<14 | 0x1F<<7 | 0x46,
+ 25711 - 19968: jis0208<<14 | 0x38<<7 | 0x54,
+ 25715 - 19968: jis0212<<14 | 0x1F<<7 | 0x47,
+ 25716 - 19968: jis0212<<14 | 0x1F<<7 | 0x48,
+ 25718 - 19968: jis0208<<14 | 0x38<<7 | 0x55,
+ 25720 - 19968: jis0208<<14 | 0x2B<<7 | 0x2D,
+ 25722 - 19968: jis0208<<14 | 0x1F<<7 | 0x01,
+ 25723 - 19968: jis0212<<14 | 0x1F<<7 | 0x49,
+ 25725 - 19968: jis0212<<14 | 0x1F<<7 | 0x4A,
+ 25731 - 19968: jis0208<<14 | 0x16<<7 | 0x41,
+ 25733 - 19968: jis0212<<14 | 0x1F<<7 | 0x4B,
+ 25735 - 19968: jis0212<<14 | 0x1F<<7 | 0x4C,
+ 25736 - 19968: jis0208<<14 | 0x38<<7 | 0x5C,
+ 25743 - 19968: jis0212<<14 | 0x1F<<7 | 0x4D,
+ 25744 - 19968: jis0212<<14 | 0x1F<<7 | 0x4E,
+ 25745 - 19968: jis0212<<14 | 0x1F<<7 | 0x4F,
+ 25746 - 19968: jis0208<<14 | 0x1A<<7 | 0x14,
+ 25747 - 19968: jis0208<<14 | 0x38<<7 | 0x59,
+ 25749 - 19968: jis0208<<14 | 0x38<<7 | 0x58,
+ 25752 - 19968: jis0212<<14 | 0x1F<<7 | 0x50,
+ 25753 - 19968: jis0212<<14 | 0x1F<<7 | 0x51,
+ 25754 - 19968: jis0208<<14 | 0x26<<7 | 0x11,
+ 25755 - 19968: jis0212<<14 | 0x1F<<7 | 0x52,
+ 25757 - 19968: jis0208<<14 | 0x59<<7 | 0x10,
+ 25758 - 19968: jis0208<<14 | 0x25<<7 | 0x14,
+ 25759 - 19968: jis0212<<14 | 0x1F<<7 | 0x54,
+ 25761 - 19968: jis0212<<14 | 0x1F<<7 | 0x55,
+ 25763 - 19968: jis0212<<14 | 0x1F<<7 | 0x56,
+ 25764 - 19968: jis0208<<14 | 0x24<<7 | 0x10,
+ 25765 - 19968: jis0208<<14 | 0x38<<7 | 0x5A,
+ 25766 - 19968: jis0212<<14 | 0x1F<<7 | 0x57,
+ 25768 - 19968: jis0212<<14 | 0x1F<<7 | 0x58,
+ 25769 - 19968: jis0208<<14 | 0x38<<7 | 0x5B,
+ 25771 - 19968: jis0208<<14 | 0x28<<7 | 0x4E,
+ 25772 - 19968: jis0212<<14 | 0x1F<<7 | 0x59,
+ 25773 - 19968: jis0208<<14 | 0x26<<7 | 0x24,
+ 25774 - 19968: jis0208<<14 | 0x1A<<7 | 0x02,
+ 25776 - 19968: jis0208<<14 | 0x1F<<7 | 0x50,
+ 25778 - 19968: jis0208<<14 | 0x2A<<7 | 0x2F,
+ 25779 - 19968: jis0212<<14 | 0x1F<<7 | 0x5A,
+ 25785 - 19968: jis0208<<14 | 0x12<<7 | 0x28,
+ 25787 - 19968: jis0208<<14 | 0x39<<7 | 0x04,
+ 25788 - 19968: jis0208<<14 | 0x38<<7 | 0x5D,
+ 25789 - 19968: jis0212<<14 | 0x1F<<7 | 0x5B,
+ 25790 - 19968: jis0212<<14 | 0x1F<<7 | 0x5C,
+ 25791 - 19968: jis0212<<14 | 0x1F<<7 | 0x5D,
+ 25793 - 19968: jis0208<<14 | 0x2C<<7 | 0x29,
+ 25794 - 19968: jis0208<<14 | 0x39<<7 | 0x06,
+ 25796 - 19968: jis0212<<14 | 0x20<<7 | 0x00,
+ 25797 - 19968: jis0208<<14 | 0x39<<7 | 0x02,
+ 25799 - 19968: jis0208<<14 | 0x39<<7 | 0x03,
+ 25801 - 19968: jis0212<<14 | 0x20<<7 | 0x01,
+ 25802 - 19968: jis0212<<14 | 0x20<<7 | 0x02,
+ 25803 - 19968: jis0212<<14 | 0x20<<7 | 0x03,
+ 25804 - 19968: jis0212<<14 | 0x20<<7 | 0x04,
+ 25805 - 19968: jis0208<<14 | 0x20<<7 | 0x3F,
+ 25806 - 19968: jis0208<<14 | 0x59<<7 | 0x11,
+ 25808 - 19968: jis0212<<14 | 0x20<<7 | 0x06,
+ 25809 - 19968: jis0212<<14 | 0x20<<7 | 0x07,
+ 25810 - 19968: jis0208<<14 | 0x39<<7 | 0x01,
+ 25812 - 19968: jis0208<<14 | 0x38<<7 | 0x1E,
+ 25813 - 19968: jis0212<<14 | 0x20<<7 | 0x08,
+ 25815 - 19968: jis0212<<14 | 0x20<<7 | 0x09,
+ 25816 - 19968: jis0208<<14 | 0x39<<7 | 0x05,
+ 25818 - 19968: jis0208<<14 | 0x39<<7 | 0x00,
+ 25824 - 19968: jis0208<<14 | 0x39<<7 | 0x0A,
+ 25825 - 19968: jis0208<<14 | 0x39<<7 | 0x0B,
+ 25826 - 19968: jis0208<<14 | 0x24<<7 | 0x06,
+ 25827 - 19968: jis0208<<14 | 0x39<<7 | 0x0D,
+ 25828 - 19968: jis0212<<14 | 0x20<<7 | 0x0A,
+ 25829 - 19968: jis0212<<14 | 0x20<<7 | 0x0B,
+ 25830 - 19968: jis0208<<14 | 0x1A<<7 | 0x03,
+ 25831 - 19968: jis0208<<14 | 0x39<<7 | 0x08,
+ 25833 - 19968: jis0212<<14 | 0x20<<7 | 0x0C,
+ 25834 - 19968: jis0212<<14 | 0x20<<7 | 0x0D,
+ 25836 - 19968: jis0208<<14 | 0x14<<7 | 0x1B,
+ 25837 - 19968: jis0212<<14 | 0x20<<7 | 0x0E,
+ 25839 - 19968: jis0208<<14 | 0x39<<7 | 0x0E,
+ 25840 - 19968: jis0212<<14 | 0x20<<7 | 0x0F,
+ 25841 - 19968: jis0208<<14 | 0x39<<7 | 0x07,
+ 25842 - 19968: jis0208<<14 | 0x39<<7 | 0x12,
+ 25844 - 19968: jis0208<<14 | 0x39<<7 | 0x11,
+ 25845 - 19968: jis0212<<14 | 0x20<<7 | 0x10,
+ 25846 - 19968: jis0208<<14 | 0x39<<7 | 0x10,
+ 25847 - 19968: jis0212<<14 | 0x20<<7 | 0x11,
+ 25850 - 19968: jis0208<<14 | 0x39<<7 | 0x13,
+ 25851 - 19968: jis0212<<14 | 0x20<<7 | 0x12,
+ 25853 - 19968: jis0208<<14 | 0x39<<7 | 0x15,
+ 25854 - 19968: jis0208<<14 | 0x1D<<7 | 0x50,
+ 25855 - 19968: jis0212<<14 | 0x20<<7 | 0x13,
+ 25856 - 19968: jis0208<<14 | 0x39<<7 | 0x14,
+ 25857 - 19968: jis0212<<14 | 0x20<<7 | 0x14,
+ 25860 - 19968: jis0212<<14 | 0x20<<7 | 0x15,
+ 25861 - 19968: jis0208<<14 | 0x39<<7 | 0x18,
+ 25864 - 19968: jis0212<<14 | 0x20<<7 | 0x16,
+ 25865 - 19968: jis0212<<14 | 0x20<<7 | 0x17,
+ 25866 - 19968: jis0212<<14 | 0x20<<7 | 0x18,
+ 25871 - 19968: jis0212<<14 | 0x20<<7 | 0x19,
+ 25875 - 19968: jis0212<<14 | 0x20<<7 | 0x1A,
+ 25876 - 19968: jis0212<<14 | 0x20<<7 | 0x1B,
+ 25878 - 19968: jis0212<<14 | 0x20<<7 | 0x1C,
+ 25880 - 19968: jis0208<<14 | 0x39<<7 | 0x16,
+ 25881 - 19968: jis0212<<14 | 0x20<<7 | 0x1D,
+ 25883 - 19968: jis0212<<14 | 0x20<<7 | 0x1E,
+ 25884 - 19968: jis0208<<14 | 0x39<<7 | 0x17,
+ 25885 - 19968: jis0208<<14 | 0x38<<7 | 0x4F,
+ 25886 - 19968: jis0212<<14 | 0x20<<7 | 0x1F,
+ 25887 - 19968: jis0212<<14 | 0x20<<7 | 0x20,
+ 25890 - 19968: jis0212<<14 | 0x20<<7 | 0x21,
+ 25891 - 19968: jis0208<<14 | 0x39<<7 | 0x1A,
+ 25892 - 19968: jis0208<<14 | 0x39<<7 | 0x19,
+ 25894 - 19968: jis0212<<14 | 0x20<<7 | 0x22,
+ 25897 - 19968: jis0212<<14 | 0x20<<7 | 0x23,
+ 25898 - 19968: jis0208<<14 | 0x38<<7 | 0x57,
+ 25899 - 19968: jis0208<<14 | 0x39<<7 | 0x1B,
+ 25900 - 19968: jis0208<<14 | 0x39<<7 | 0x0F,
+ 25902 - 19968: jis0212<<14 | 0x20<<7 | 0x24,
+ 25903 - 19968: jis0208<<14 | 0x1A<<7 | 0x38,
+ 25905 - 19968: jis0212<<14 | 0x20<<7 | 0x25,
+ 25908 - 19968: jis0208<<14 | 0x39<<7 | 0x1C,
+ 25909 - 19968: jis0208<<14 | 0x39<<7 | 0x1D,
+ 25910 - 19968: jis0208<<14 | 0x39<<7 | 0x1F,
+ 25911 - 19968: jis0208<<14 | 0x39<<7 | 0x1E,
+ 25912 - 19968: jis0208<<14 | 0x39<<7 | 0x20,
+ 25913 - 19968: jis0208<<14 | 0x11<<7 | 0x5D,
+ 25914 - 19968: jis0212<<14 | 0x20<<7 | 0x26,
+ 25915 - 19968: jis0208<<14 | 0x18<<7 | 0x15,
+ 25916 - 19968: jis0212<<14 | 0x20<<7 | 0x27,
+ 25917 - 19968: jis0212<<14 | 0x20<<7 | 0x28,
+ 25918 - 19968: jis0208<<14 | 0x29<<7 | 0x5B,
+ 25919 - 19968: jis0208<<14 | 0x1F<<7 | 0x0E,
+ 25923 - 19968: jis0212<<14 | 0x20<<7 | 0x29,
+ 25925 - 19968: jis0208<<14 | 0x17<<7 | 0x2D,
+ 25927 - 19968: jis0212<<14 | 0x20<<7 | 0x2A,
+ 25928 - 19968: jis0208<<14 | 0x39<<7 | 0x22,
+ 25929 - 19968: jis0212<<14 | 0x20<<7 | 0x2B,
+ 25933 - 19968: jis0208<<14 | 0x39<<7 | 0x25,
+ 25934 - 19968: jis0208<<14 | 0x59<<7 | 0x12,
+ 25935 - 19968: jis0208<<14 | 0x28<<7 | 0x31,
+ 25936 - 19968: jis0212<<14 | 0x20<<7 | 0x2C,
+ 25937 - 19968: jis0208<<14 | 0x14<<7 | 0x3E,
+ 25938 - 19968: jis0212<<14 | 0x20<<7 | 0x2D,
+ 25940 - 19968: jis0212<<14 | 0x20<<7 | 0x2E,
+ 25941 - 19968: jis0208<<14 | 0x39<<7 | 0x24,
+ 25942 - 19968: jis0208<<14 | 0x39<<7 | 0x23,
+ 25943 - 19968: jis0208<<14 | 0x26<<7 | 0x33,
+ 25944 - 19968: jis0208<<14 | 0x39<<7 | 0x26,
+ 25945 - 19968: jis0208<<14 | 0x15<<7 | 0x14,
+ 25949 - 19968: jis0208<<14 | 0x39<<7 | 0x28,
+ 25950 - 19968: jis0208<<14 | 0x39<<7 | 0x27,
+ 25951 - 19968: jis0212<<14 | 0x20<<7 | 0x2F,
+ 25952 - 19968: jis0212<<14 | 0x20<<7 | 0x30,
+ 25954 - 19968: jis0208<<14 | 0x13<<7 | 0x19,
+ 25955 - 19968: jis0208<<14 | 0x1A<<7 | 0x15,
+ 25958 - 19968: jis0208<<14 | 0x25<<7 | 0x37,
+ 25959 - 19968: jis0212<<14 | 0x20<<7 | 0x31,
+ 25963 - 19968: jis0212<<14 | 0x20<<7 | 0x32,
+ 25964 - 19968: jis0208<<14 | 0x16<<7 | 0x28,
+ 25968 - 19968: jis0208<<14 | 0x1E<<7 | 0x53,
+ 25970 - 19968: jis0208<<14 | 0x39<<7 | 0x29,
+ 25972 - 19968: jis0208<<14 | 0x1F<<7 | 0x0F,
+ 25973 - 19968: jis0208<<14 | 0x24<<7 | 0x07,
+ 25975 - 19968: jis0208<<14 | 0x28<<7 | 0x3E,
+ 25976 - 19968: jis0208<<14 | 0x39<<7 | 0x2A,
+ 25978 - 19968: jis0212<<14 | 0x20<<7 | 0x33,
+ 25981 - 19968: jis0212<<14 | 0x20<<7 | 0x34,
+ 25985 - 19968: jis0212<<14 | 0x20<<7 | 0x35,
+ 25986 - 19968: jis0208<<14 | 0x39<<7 | 0x2B,
+ 25987 - 19968: jis0208<<14 | 0x39<<7 | 0x2C,
+ 25989 - 19968: jis0212<<14 | 0x20<<7 | 0x36,
+ 25991 - 19968: jis0208<<14 | 0x29<<7 | 0x17,
+ 25992 - 19968: jis0208<<14 | 0x34<<7 | 0x3C,
+ 25993 - 19968: jis0208<<14 | 0x1F<<7 | 0x25,
+ 25994 - 19968: jis0212<<14 | 0x20<<7 | 0x37,
+ 25996 - 19968: jis0208<<14 | 0x28<<7 | 0x2B,
+ 25998 - 19968: jis0208<<14 | 0x19<<7 | 0x37,
+ 26000 - 19968: jis0208<<14 | 0x27<<7 | 0x44,
+ 26001 - 19968: jis0208<<14 | 0x27<<7 | 0x22,
+ 26002 - 19968: jis0212<<14 | 0x20<<7 | 0x38,
+ 26005 - 19968: jis0212<<14 | 0x20<<7 | 0x39,
+ 26007 - 19968: jis0208<<14 | 0x24<<7 | 0x2C,
+ 26008 - 19968: jis0212<<14 | 0x20<<7 | 0x3A,
+ 26009 - 19968: jis0208<<14 | 0x2D<<7 | 0x20,
+ 26011 - 19968: jis0208<<14 | 0x39<<7 | 0x2E,
+ 26012 - 19968: jis0208<<14 | 0x1B<<7 | 0x2F,
+ 26013 - 19968: jis0212<<14 | 0x20<<7 | 0x3B,
+ 26015 - 19968: jis0208<<14 | 0x39<<7 | 0x2F,
+ 26016 - 19968: jis0212<<14 | 0x20<<7 | 0x3C,
+ 26017 - 19968: jis0208<<14 | 0x0F<<7 | 0x15,
+ 26019 - 19968: jis0212<<14 | 0x20<<7 | 0x3D,
+ 26020 - 19968: jis0208<<14 | 0x15<<7 | 0x33,
+ 26021 - 19968: jis0208<<14 | 0x1F<<7 | 0x2C,
+ 26022 - 19968: jis0212<<14 | 0x20<<7 | 0x3E,
+ 26023 - 19968: jis0208<<14 | 0x28<<7 | 0x3F,
+ 26027 - 19968: jis0208<<14 | 0x39<<7 | 0x30,
+ 26028 - 19968: jis0208<<14 | 0x1A<<7 | 0x21,
+ 26029 - 19968: jis0208<<14 | 0x22<<7 | 0x26,
+ 26030 - 19968: jis0212<<14 | 0x20<<7 | 0x3F,
+ 26031 - 19968: jis0208<<14 | 0x1A<<7 | 0x3A,
+ 26032 - 19968: jis0208<<14 | 0x1E<<7 | 0x16,
+ 26034 - 19968: jis0212<<14 | 0x20<<7 | 0x40,
+ 26035 - 19968: jis0212<<14 | 0x20<<7 | 0x41,
+ 26036 - 19968: jis0212<<14 | 0x20<<7 | 0x42,
+ 26039 - 19968: jis0208<<14 | 0x39<<7 | 0x31,
+ 26041 - 19968: jis0208<<14 | 0x29<<7 | 0x5C,
+ 26044 - 19968: jis0208<<14 | 0x10<<7 | 0x56,
+ 26045 - 19968: jis0208<<14 | 0x1A<<7 | 0x3B,
+ 26047 - 19968: jis0212<<14 | 0x20<<7 | 0x43,
+ 26049 - 19968: jis0208<<14 | 0x39<<7 | 0x34,
+ 26050 - 19968: jis0212<<14 | 0x20<<7 | 0x44,
+ 26051 - 19968: jis0208<<14 | 0x39<<7 | 0x32,
+ 26052 - 19968: jis0208<<14 | 0x39<<7 | 0x35,
+ 26053 - 19968: jis0208<<14 | 0x2D<<7 | 0x18,
+ 26054 - 19968: jis0208<<14 | 0x39<<7 | 0x33,
+ 26056 - 19968: jis0212<<14 | 0x20<<7 | 0x45,
+ 26057 - 19968: jis0212<<14 | 0x20<<7 | 0x46,
+ 26059 - 19968: jis0208<<14 | 0x1F<<7 | 0x5A,
+ 26060 - 19968: jis0208<<14 | 0x39<<7 | 0x36,
+ 26062 - 19968: jis0212<<14 | 0x20<<7 | 0x47,
+ 26063 - 19968: jis0208<<14 | 0x21<<7 | 0x11,
+ 26064 - 19968: jis0212<<14 | 0x20<<7 | 0x48,
+ 26066 - 19968: jis0208<<14 | 0x39<<7 | 0x37,
+ 26068 - 19968: jis0212<<14 | 0x20<<7 | 0x49,
+ 26070 - 19968: jis0212<<14 | 0x20<<7 | 0x4A,
+ 26071 - 19968: jis0208<<14 | 0x13<<7 | 0x59,
+ 26072 - 19968: jis0212<<14 | 0x20<<7 | 0x4B,
+ 26073 - 19968: jis0208<<14 | 0x39<<7 | 0x39,
+ 26075 - 19968: jis0208<<14 | 0x39<<7 | 0x38,
+ 26079 - 19968: jis0212<<14 | 0x20<<7 | 0x4C,
+ 26080 - 19968: jis0208<<14 | 0x39<<7 | 0x3A,
+ 26081 - 19968: jis0208<<14 | 0x39<<7 | 0x3B,
+ 26082 - 19968: jis0208<<14 | 0x13<<7 | 0x5A,
+ 26085 - 19968: jis0208<<14 | 0x25<<7 | 0x5B,
+ 26086 - 19968: jis0208<<14 | 0x22<<7 | 0x15,
+ 26087 - 19968: jis0208<<14 | 0x14<<7 | 0x4B,
+ 26088 - 19968: jis0208<<14 | 0x1A<<7 | 0x3C,
+ 26089 - 19968: jis0208<<14 | 0x20<<7 | 0x40,
+ 26092 - 19968: jis0208<<14 | 0x1C<<7 | 0x3B,
+ 26093 - 19968: jis0208<<14 | 0x0F<<7 | 0x0F,
+ 26096 - 19968: jis0212<<14 | 0x20<<7 | 0x4D,
+ 26097 - 19968: jis0208<<14 | 0x39<<7 | 0x3C,
+ 26098 - 19968: jis0212<<14 | 0x20<<7 | 0x4E,
+ 26100 - 19968: jis0212<<14 | 0x20<<7 | 0x4F,
+ 26101 - 19968: jis0212<<14 | 0x20<<7 | 0x50,
+ 26105 - 19968: jis0212<<14 | 0x20<<7 | 0x51,
+ 26106 - 19968: jis0208<<14 | 0x11<<7 | 0x01,
+ 26107 - 19968: jis0208<<14 | 0x39<<7 | 0x40,
+ 26110 - 19968: jis0212<<14 | 0x20<<7 | 0x52,
+ 26111 - 19968: jis0212<<14 | 0x20<<7 | 0x53,
+ 26112 - 19968: jis0208<<14 | 0x59<<7 | 0x13,
+ 26114 - 19968: jis0208<<14 | 0x18<<7 | 0x16,
+ 26115 - 19968: jis0208<<14 | 0x39<<7 | 0x3F,
+ 26116 - 19968: jis0212<<14 | 0x20<<7 | 0x55,
+ 26118 - 19968: jis0208<<14 | 0x19<<7 | 0x0A,
+ 26119 - 19968: jis0208<<14 | 0x1D<<7 | 0x19,
+ 26120 - 19968: jis0212<<14 | 0x20<<7 | 0x56,
+ 26121 - 19968: jis0208<<14 | 0x59<<7 | 0x16,
+ 26122 - 19968: jis0208<<14 | 0x39<<7 | 0x3E,
+ 26124 - 19968: jis0208<<14 | 0x1D<<7 | 0x1A,
+ 26125 - 19968: jis0212<<14 | 0x20<<7 | 0x58,
+ 26126 - 19968: jis0208<<14 | 0x2B<<7 | 0x1F,
+ 26127 - 19968: jis0208<<14 | 0x19<<7 | 0x09,
+ 26129 - 19968: jis0212<<14 | 0x20<<7 | 0x59,
+ 26130 - 19968: jis0212<<14 | 0x20<<7 | 0x5A,
+ 26131 - 19968: jis0208<<14 | 0x0F<<7 | 0x36,
+ 26132 - 19968: jis0208<<14 | 0x1F<<7 | 0x2D,
+ 26133 - 19968: jis0208<<14 | 0x59<<7 | 0x14,
+ 26134 - 19968: jis0212<<14 | 0x20<<7 | 0x5C,
+ 26140 - 19968: jis0208<<14 | 0x39<<7 | 0x45,
+ 26141 - 19968: jis0212<<14 | 0x20<<7 | 0x5D,
+ 26142 - 19968: jis0208<<14 | 0x59<<7 | 0x18,
+ 26143 - 19968: jis0208<<14 | 0x1F<<7 | 0x10,
+ 26144 - 19968: jis0208<<14 | 0x10<<7 | 0x26,
+ 26145 - 19968: jis0212<<14 | 0x21<<7 | 0x01,
+ 26146 - 19968: jis0212<<14 | 0x21<<7 | 0x02,
+ 26147 - 19968: jis0212<<14 | 0x21<<7 | 0x03,
+ 26148 - 19968: jis0208<<14 | 0x59<<7 | 0x19,
+ 26149 - 19968: jis0208<<14 | 0x1C<<7 | 0x34,
+ 26150 - 19968: jis0212<<14 | 0x21<<7 | 0x05,
+ 26151 - 19968: jis0208<<14 | 0x2A<<7 | 0x45,
+ 26152 - 19968: jis0208<<14 | 0x19<<7 | 0x51,
+ 26153 - 19968: jis0212<<14 | 0x21<<7 | 0x06,
+ 26154 - 19968: jis0212<<14 | 0x21<<7 | 0x07,
+ 26155 - 19968: jis0212<<14 | 0x21<<7 | 0x08,
+ 26156 - 19968: jis0212<<14 | 0x21<<7 | 0x09,
+ 26157 - 19968: jis0208<<14 | 0x1D<<7 | 0x1B,
+ 26158 - 19968: jis0208<<14 | 0x59<<7 | 0x17,
+ 26159 - 19968: jis0208<<14 | 0x1F<<7 | 0x06,
+ 26160 - 19968: jis0212<<14 | 0x21<<7 | 0x0B,
+ 26161 - 19968: jis0208<<14 | 0x58<<7 | 0x07,
+ 26163 - 19968: jis0212<<14 | 0x21<<7 | 0x0D,
+ 26164 - 19968: jis0208<<14 | 0x39<<7 | 0x44,
+ 26165 - 19968: jis0208<<14 | 0x39<<7 | 0x42,
+ 26166 - 19968: jis0208<<14 | 0x39<<7 | 0x43,
+ 26167 - 19968: jis0212<<14 | 0x21<<7 | 0x0F,
+ 26169 - 19968: jis0212<<14 | 0x21<<7 | 0x0E,
+ 26171 - 19968: jis0208<<14 | 0x59<<7 | 0x15,
+ 26172 - 19968: jis0208<<14 | 0x22<<7 | 0x4A,
+ 26175 - 19968: jis0208<<14 | 0x3A<<7 | 0x05,
+ 26176 - 19968: jis0212<<14 | 0x21<<7 | 0x10,
+ 26177 - 19968: jis0208<<14 | 0x39<<7 | 0x49,
+ 26178 - 19968: jis0208<<14 | 0x1A<<7 | 0x5D,
+ 26179 - 19968: jis0208<<14 | 0x18<<7 | 0x17,
+ 26180 - 19968: jis0208<<14 | 0x39<<7 | 0x47,
+ 26181 - 19968: jis0212<<14 | 0x21<<7 | 0x11,
+ 26182 - 19968: jis0212<<14 | 0x21<<7 | 0x12,
+ 26185 - 19968: jis0208<<14 | 0x39<<7 | 0x48,
+ 26186 - 19968: jis0212<<14 | 0x21<<7 | 0x13,
+ 26187 - 19968: jis0208<<14 | 0x1E<<7 | 0x17,
+ 26188 - 19968: jis0212<<14 | 0x21<<7 | 0x14,
+ 26190 - 19968: jis0212<<14 | 0x21<<7 | 0x16,
+ 26191 - 19968: jis0208<<14 | 0x39<<7 | 0x46,
+ 26193 - 19968: jis0212<<14 | 0x21<<7 | 0x15,
+ 26194 - 19968: jis0208<<14 | 0x1A<<7 | 0x0E,
+ 26199 - 19968: jis0208<<14 | 0x59<<7 | 0x1B,
+ 26200 - 19968: jis0212<<14 | 0x21<<7 | 0x18,
+ 26201 - 19968: jis0208<<14 | 0x59<<7 | 0x1C,
+ 26203 - 19968: jis0212<<14 | 0x21<<7 | 0x1A,
+ 26204 - 19968: jis0212<<14 | 0x21<<7 | 0x1B,
+ 26205 - 19968: jis0208<<14 | 0x39<<7 | 0x4B,
+ 26206 - 19968: jis0208<<14 | 0x39<<7 | 0x4A,
+ 26207 - 19968: jis0208<<14 | 0x39<<7 | 0x4F,
+ 26208 - 19968: jis0212<<14 | 0x21<<7 | 0x1C,
+ 26209 - 19968: jis0212<<14 | 0x21<<7 | 0x1D,
+ 26210 - 19968: jis0208<<14 | 0x39<<7 | 0x50,
+ 26212 - 19968: jis0208<<14 | 0x39<<7 | 0x4C,
+ 26213 - 19968: jis0208<<14 | 0x59<<7 | 0x1A,
+ 26214 - 19968: jis0208<<14 | 0x12<<7 | 0x01,
+ 26215 - 19968: jis0208<<14 | 0x39<<7 | 0x4D,
+ 26216 - 19968: jis0208<<14 | 0x39<<7 | 0x4E,
+ 26217 - 19968: jis0208<<14 | 0x27<<7 | 0x34,
+ 26218 - 19968: jis0212<<14 | 0x21<<7 | 0x1F,
+ 26219 - 19968: jis0212<<14 | 0x21<<7 | 0x20,
+ 26220 - 19968: jis0212<<14 | 0x21<<7 | 0x21,
+ 26222 - 19968: jis0208<<14 | 0x28<<7 | 0x40,
+ 26223 - 19968: jis0208<<14 | 0x16<<7 | 0x29,
+ 26224 - 19968: jis0208<<14 | 0x39<<7 | 0x51,
+ 26227 - 19968: jis0208<<14 | 0x59<<7 | 0x1E,
+ 26228 - 19968: jis0208<<14 | 0x1F<<7 | 0x11,
+ 26229 - 19968: jis0212<<14 | 0x21<<7 | 0x24,
+ 26230 - 19968: jis0208<<14 | 0x1D<<7 | 0x1C,
+ 26231 - 19968: jis0212<<14 | 0x21<<7 | 0x26,
+ 26232 - 19968: jis0212<<14 | 0x21<<7 | 0x27,
+ 26233 - 19968: jis0212<<14 | 0x21<<7 | 0x28,
+ 26234 - 19968: jis0208<<14 | 0x22<<7 | 0x31,
+ 26235 - 19968: jis0212<<14 | 0x21<<7 | 0x29,
+ 26236 - 19968: jis0212<<14 | 0x21<<7 | 0x2B,
+ 26238 - 19968: jis0212<<14 | 0x21<<7 | 0x22,
+ 26239 - 19968: jis0212<<14 | 0x21<<7 | 0x25,
+ 26240 - 19968: jis0212<<14 | 0x21<<7 | 0x2A,
+ 26241 - 19968: jis0208<<14 | 0x15<<7 | 0x26,
+ 26243 - 19968: jis0208<<14 | 0x39<<7 | 0x52,
+ 26244 - 19968: jis0208<<14 | 0x39<<7 | 0x56,
+ 26247 - 19968: jis0208<<14 | 0x11<<7 | 0x2A,
+ 26248 - 19968: jis0208<<14 | 0x39<<7 | 0x53,
+ 26249 - 19968: jis0208<<14 | 0x39<<7 | 0x55,
+ 26251 - 19968: jis0212<<14 | 0x21<<7 | 0x2C,
+ 26252 - 19968: jis0212<<14 | 0x21<<7 | 0x2D,
+ 26253 - 19968: jis0212<<14 | 0x21<<7 | 0x2E,
+ 26254 - 19968: jis0208<<14 | 0x39<<7 | 0x54,
+ 26256 - 19968: jis0212<<14 | 0x21<<7 | 0x2F,
+ 26257 - 19968: jis0208<<14 | 0x1C<<7 | 0x4A,
+ 26258 - 19968: jis0212<<14 | 0x21<<7 | 0x30,
+ 26262 - 19968: jis0208<<14 | 0x22<<7 | 0x27,
+ 26263 - 19968: jis0208<<14 | 0x0F<<7 | 0x24,
+ 26264 - 19968: jis0208<<14 | 0x39<<7 | 0x57,
+ 26265 - 19968: jis0208<<14 | 0x59<<7 | 0x1F,
+ 26266 - 19968: jis0212<<14 | 0x21<<7 | 0x32,
+ 26267 - 19968: jis0212<<14 | 0x21<<7 | 0x33,
+ 26268 - 19968: jis0212<<14 | 0x21<<7 | 0x34,
+ 26269 - 19968: jis0208<<14 | 0x39<<7 | 0x58,
+ 26271 - 19968: jis0212<<14 | 0x21<<7 | 0x35,
+ 26272 - 19968: jis0208<<14 | 0x59<<7 | 0x20,
+ 26274 - 19968: jis0208<<14 | 0x23<<7 | 0x09,
+ 26276 - 19968: jis0212<<14 | 0x21<<7 | 0x37,
+ 26278 - 19968: jis0208<<14 | 0x2D<<7 | 0x50,
+ 26283 - 19968: jis0208<<14 | 0x1A<<7 | 0x22,
+ 26285 - 19968: jis0212<<14 | 0x21<<7 | 0x38,
+ 26286 - 19968: jis0208<<14 | 0x29<<7 | 0x4A,
+ 26289 - 19968: jis0212<<14 | 0x21<<7 | 0x39,
+ 26290 - 19968: jis0208<<14 | 0x59<<7 | 0x21,
+ 26292 - 19968: jis0208<<14 | 0x2A<<7 | 0x1C,
+ 26293 - 19968: jis0212<<14 | 0x21<<7 | 0x3B,
+ 26296 - 19968: jis0208<<14 | 0x3A<<7 | 0x01,
+ 26297 - 19968: jis0208<<14 | 0x39<<7 | 0x5A,
+ 26299 - 19968: jis0212<<14 | 0x21<<7 | 0x3C,
+ 26300 - 19968: jis0208<<14 | 0x39<<7 | 0x5D,
+ 26302 - 19968: jis0208<<14 | 0x39<<7 | 0x5C,
+ 26303 - 19968: jis0208<<14 | 0x59<<7 | 0x22,
+ 26304 - 19968: jis0212<<14 | 0x21<<7 | 0x3E,
+ 26305 - 19968: jis0208<<14 | 0x39<<7 | 0x59,
+ 26306 - 19968: jis0212<<14 | 0x21<<7 | 0x3F,
+ 26307 - 19968: jis0212<<14 | 0x21<<7 | 0x40,
+ 26308 - 19968: jis0208<<14 | 0x3A<<7 | 0x00,
+ 26311 - 19968: jis0208<<14 | 0x25<<7 | 0x3D,
+ 26312 - 19968: jis0212<<14 | 0x21<<7 | 0x41,
+ 26313 - 19968: jis0208<<14 | 0x39<<7 | 0x5B,
+ 26316 - 19968: jis0212<<14 | 0x21<<7 | 0x42,
+ 26318 - 19968: jis0212<<14 | 0x21<<7 | 0x43,
+ 26319 - 19968: jis0212<<14 | 0x21<<7 | 0x44,
+ 26324 - 19968: jis0212<<14 | 0x21<<7 | 0x45,
+ 26326 - 19968: jis0208<<14 | 0x3A<<7 | 0x02,
+ 26329 - 19968: jis0208<<14 | 0x1C<<7 | 0x4B,
+ 26330 - 19968: jis0208<<14 | 0x3A<<7 | 0x03,
+ 26331 - 19968: jis0212<<14 | 0x21<<7 | 0x46,
+ 26332 - 19968: jis0208<<14 | 0x2C<<7 | 0x2A,
+ 26333 - 19968: jis0208<<14 | 0x26<<7 | 0x57,
+ 26335 - 19968: jis0212<<14 | 0x21<<7 | 0x47,
+ 26336 - 19968: jis0208<<14 | 0x3A<<7 | 0x04,
+ 26342 - 19968: jis0208<<14 | 0x3A<<7 | 0x06,
+ 26344 - 19968: jis0212<<14 | 0x21<<7 | 0x48,
+ 26345 - 19968: jis0208<<14 | 0x3A<<7 | 0x07,
+ 26347 - 19968: jis0212<<14 | 0x21<<7 | 0x49,
+ 26348 - 19968: jis0212<<14 | 0x21<<7 | 0x4A,
+ 26350 - 19968: jis0212<<14 | 0x21<<7 | 0x4B,
+ 26352 - 19968: jis0208<<14 | 0x3A<<7 | 0x08,
+ 26354 - 19968: jis0208<<14 | 0x15<<7 | 0x29,
+ 26355 - 19968: jis0208<<14 | 0x10<<7 | 0x27,
+ 26356 - 19968: jis0208<<14 | 0x18<<7 | 0x18,
+ 26357 - 19968: jis0208<<14 | 0x3A<<7 | 0x09,
+ 26359 - 19968: jis0208<<14 | 0x3A<<7 | 0x0A,
+ 26360 - 19968: jis0208<<14 | 0x1C<<7 | 0x50,
+ 26361 - 19968: jis0208<<14 | 0x20<<7 | 0x41,
+ 26362 - 19968: jis0208<<14 | 0x59<<7 | 0x23,
+ 26363 - 19968: jis0208<<14 | 0x58<<7 | 0x0A,
+ 26364 - 19968: jis0208<<14 | 0x31<<7 | 0x37,
+ 26365 - 19968: jis0208<<14 | 0x20<<7 | 0x1D,
+ 26366 - 19968: jis0208<<14 | 0x20<<7 | 0x1C,
+ 26367 - 19968: jis0208<<14 | 0x21<<7 | 0x37,
+ 26368 - 19968: jis0208<<14 | 0x19<<7 | 0x26,
+ 26371 - 19968: jis0208<<14 | 0x2F<<7 | 0x51,
+ 26373 - 19968: jis0212<<14 | 0x21<<7 | 0x4D,
+ 26375 - 19968: jis0212<<14 | 0x21<<7 | 0x4E,
+ 26376 - 19968: jis0208<<14 | 0x16<<7 | 0x4D,
+ 26377 - 19968: jis0208<<14 | 0x2C<<7 | 0x0C,
+ 26379 - 19968: jis0208<<14 | 0x29<<7 | 0x5D,
+ 26381 - 19968: jis0208<<14 | 0x28<<7 | 0x5D,
+ 26382 - 19968: jis0208<<14 | 0x59<<7 | 0x24,
+ 26383 - 19968: jis0208<<14 | 0x3A<<7 | 0x0B,
+ 26387 - 19968: jis0212<<14 | 0x21<<7 | 0x50,
+ 26388 - 19968: jis0208<<14 | 0x19<<7 | 0x52,
+ 26389 - 19968: jis0208<<14 | 0x23<<7 | 0x1E,
+ 26390 - 19968: jis0208<<14 | 0x3A<<7 | 0x0C,
+ 26391 - 19968: jis0208<<14 | 0x2E<<7 | 0x0E,
+ 26393 - 19968: jis0212<<14 | 0x21<<7 | 0x51,
+ 26395 - 19968: jis0208<<14 | 0x2A<<7 | 0x1D,
+ 26396 - 19968: jis0212<<14 | 0x21<<7 | 0x52,
+ 26397 - 19968: jis0208<<14 | 0x23<<7 | 0x0A,
+ 26398 - 19968: jis0208<<14 | 0x3A<<7 | 0x0D,
+ 26399 - 19968: jis0208<<14 | 0x13<<7 | 0x5B,
+ 26400 - 19968: jis0212<<14 | 0x21<<7 | 0x53,
+ 26402 - 19968: jis0212<<14 | 0x21<<7 | 0x54,
+ 26406 - 19968: jis0208<<14 | 0x3A<<7 | 0x0E,
+ 26407 - 19968: jis0208<<14 | 0x3A<<7 | 0x0F,
+ 26408 - 19968: jis0208<<14 | 0x2B<<7 | 0x39,
+ 26410 - 19968: jis0208<<14 | 0x2B<<7 | 0x03,
+ 26411 - 19968: jis0208<<14 | 0x2A<<7 | 0x55,
+ 26412 - 19968: jis0208<<14 | 0x2A<<7 | 0x3B,
+ 26413 - 19968: jis0208<<14 | 0x1A<<7 | 0x04,
+ 26414 - 19968: jis0208<<14 | 0x3A<<7 | 0x11,
+ 26417 - 19968: jis0208<<14 | 0x1B<<7 | 0x4A,
+ 26419 - 19968: jis0212<<14 | 0x21<<7 | 0x55,
+ 26420 - 19968: jis0208<<14 | 0x2A<<7 | 0x30,
+ 26422 - 19968: jis0208<<14 | 0x3A<<7 | 0x13,
+ 26423 - 19968: jis0208<<14 | 0x3A<<7 | 0x16,
+ 26424 - 19968: jis0208<<14 | 0x3A<<7 | 0x15,
+ 26426 - 19968: jis0208<<14 | 0x13<<7 | 0x58,
+ 26429 - 19968: jis0208<<14 | 0x14<<7 | 0x3F,
+ 26430 - 19968: jis0212<<14 | 0x21<<7 | 0x56,
+ 26431 - 19968: jis0208<<14 | 0x3A<<7 | 0x12,
+ 26433 - 19968: jis0208<<14 | 0x3A<<7 | 0x14,
+ 26437 - 19968: jis0212<<14 | 0x21<<7 | 0x57,
+ 26438 - 19968: jis0208<<14 | 0x3A<<7 | 0x17,
+ 26439 - 19968: jis0212<<14 | 0x21<<7 | 0x58,
+ 26440 - 19968: jis0212<<14 | 0x21<<7 | 0x59,
+ 26441 - 19968: jis0208<<14 | 0x1E<<7 | 0x58,
+ 26444 - 19968: jis0212<<14 | 0x21<<7 | 0x5A,
+ 26446 - 19968: jis0208<<14 | 0x2C<<7 | 0x5A,
+ 26447 - 19968: jis0208<<14 | 0x0F<<7 | 0x28,
+ 26448 - 19968: jis0208<<14 | 0x19<<7 | 0x3F,
+ 26449 - 19968: jis0208<<14 | 0x21<<7 | 0x1B,
+ 26451 - 19968: jis0208<<14 | 0x1B<<7 | 0x3C,
+ 26452 - 19968: jis0212<<14 | 0x21<<7 | 0x5B,
+ 26453 - 19968: jis0212<<14 | 0x21<<7 | 0x5C,
+ 26454 - 19968: jis0208<<14 | 0x1D<<7 | 0x52,
+ 26457 - 19968: jis0208<<14 | 0x3A<<7 | 0x1A,
+ 26460 - 19968: jis0208<<14 | 0x24<<7 | 0x2D,
+ 26461 - 19968: jis0212<<14 | 0x21<<7 | 0x5D,
+ 26462 - 19968: jis0208<<14 | 0x3A<<7 | 0x18,
+ 26463 - 19968: jis0208<<14 | 0x21<<7 | 0x0A,
+ 26464 - 19968: jis0208<<14 | 0x3A<<7 | 0x19,
+ 26465 - 19968: jis0208<<14 | 0x1D<<7 | 0x51,
+ 26466 - 19968: jis0208<<14 | 0x2B<<7 | 0x3C,
+ 26467 - 19968: jis0208<<14 | 0x3A<<7 | 0x1B,
+ 26468 - 19968: jis0208<<14 | 0x3A<<7 | 0x1C,
+ 26469 - 19968: jis0208<<14 | 0x2C<<7 | 0x47,
+ 26470 - 19968: jis0208<<14 | 0x59<<7 | 0x26,
+ 26474 - 19968: jis0208<<14 | 0x3A<<7 | 0x21,
+ 26476 - 19968: jis0212<<14 | 0x22<<7 | 0x01,
+ 26477 - 19968: jis0208<<14 | 0x18<<7 | 0x19,
+ 26478 - 19968: jis0212<<14 | 0x22<<7 | 0x02,
+ 26479 - 19968: jis0208<<14 | 0x26<<7 | 0x34,
+ 26480 - 19968: jis0208<<14 | 0x3A<<7 | 0x1E,
+ 26481 - 19968: jis0208<<14 | 0x24<<7 | 0x4B,
+ 26482 - 19968: jis0208<<14 | 0x39<<7 | 0x3D,
+ 26483 - 19968: jis0208<<14 | 0x39<<7 | 0x41,
+ 26484 - 19968: jis0212<<14 | 0x22<<7 | 0x03,
+ 26485 - 19968: jis0208<<14 | 0x14<<7 | 0x2E,
+ 26486 - 19968: jis0212<<14 | 0x22<<7 | 0x04,
+ 26487 - 19968: jis0208<<14 | 0x26<<7 | 0x26,
+ 26491 - 19968: jis0212<<14 | 0x22<<7 | 0x05,
+ 26492 - 19968: jis0208<<14 | 0x3A<<7 | 0x20,
+ 26494 - 19968: jis0208<<14 | 0x1D<<7 | 0x1D,
+ 26495 - 19968: jis0208<<14 | 0x27<<7 | 0x23,
+ 26497 - 19968: jis0212<<14 | 0x22<<7 | 0x06,
+ 26500 - 19968: jis0212<<14 | 0x22<<7 | 0x07,
+ 26501 - 19968: jis0208<<14 | 0x3A<<7 | 0x26,
+ 26503 - 19968: jis0208<<14 | 0x27<<7 | 0x59,
+ 26505 - 19968: jis0208<<14 | 0x3A<<7 | 0x1D,
+ 26507 - 19968: jis0208<<14 | 0x3A<<7 | 0x23,
+ 26508 - 19968: jis0208<<14 | 0x3A<<7 | 0x22,
+ 26510 - 19968: jis0212<<14 | 0x22<<7 | 0x08,
+ 26511 - 19968: jis0212<<14 | 0x22<<7 | 0x09,
+ 26512 - 19968: jis0208<<14 | 0x1F<<7 | 0x2E,
+ 26513 - 19968: jis0212<<14 | 0x22<<7 | 0x0A,
+ 26515 - 19968: jis0212<<14 | 0x22<<7 | 0x0B,
+ 26517 - 19968: jis0208<<14 | 0x2A<<7 | 0x4C,
+ 26518 - 19968: jis0212<<14 | 0x22<<7 | 0x0C,
+ 26519 - 19968: jis0208<<14 | 0x2D<<7 | 0x32,
+ 26520 - 19968: jis0212<<14 | 0x22<<7 | 0x0D,
+ 26521 - 19968: jis0212<<14 | 0x22<<7 | 0x0E,
+ 26522 - 19968: jis0208<<14 | 0x2A<<7 | 0x46,
+ 26523 - 19968: jis0212<<14 | 0x22<<7 | 0x0F,
+ 26524 - 19968: jis0208<<14 | 0x11<<7 | 0x2B,
+ 26525 - 19968: jis0208<<14 | 0x1A<<7 | 0x3D,
+ 26528 - 19968: jis0208<<14 | 0x2E<<7 | 0x27,
+ 26529 - 19968: jis0208<<14 | 0x3A<<7 | 0x25,
+ 26530 - 19968: jis0208<<14 | 0x1E<<7 | 0x54,
+ 26534 - 19968: jis0208<<14 | 0x3A<<7 | 0x24,
+ 26537 - 19968: jis0208<<14 | 0x3A<<7 | 0x1F,
+ 26543 - 19968: jis0208<<14 | 0x17<<7 | 0x2E,
+ 26544 - 19968: jis0212<<14 | 0x22<<7 | 0x10,
+ 26545 - 19968: jis0212<<14 | 0x22<<7 | 0x11,
+ 26546 - 19968: jis0212<<14 | 0x22<<7 | 0x12,
+ 26547 - 19968: jis0208<<14 | 0x3A<<7 | 0x2B,
+ 26548 - 19968: jis0208<<14 | 0x3A<<7 | 0x29,
+ 26549 - 19968: jis0212<<14 | 0x22<<7 | 0x13,
+ 26550 - 19968: jis0208<<14 | 0x11<<7 | 0x2C,
+ 26551 - 19968: jis0208<<14 | 0x3A<<7 | 0x27,
+ 26552 - 19968: jis0208<<14 | 0x3A<<7 | 0x2D,
+ 26553 - 19968: jis0208<<14 | 0x3A<<7 | 0x33,
+ 26555 - 19968: jis0208<<14 | 0x59<<7 | 0x27,
+ 26556 - 19968: jis0212<<14 | 0x22<<7 | 0x15,
+ 26557 - 19968: jis0212<<14 | 0x22<<7 | 0x16,
+ 26560 - 19968: jis0208<<14 | 0x59<<7 | 0x29,
+ 26561 - 19968: jis0208<<14 | 0x21<<7 | 0x27,
+ 26562 - 19968: jis0212<<14 | 0x22<<7 | 0x19,
+ 26563 - 19968: jis0212<<14 | 0x22<<7 | 0x1A,
+ 26564 - 19968: jis0208<<14 | 0x29<<7 | 0x20,
+ 26565 - 19968: jis0212<<14 | 0x22<<7 | 0x1B,
+ 26566 - 19968: jis0208<<14 | 0x3A<<7 | 0x35,
+ 26568 - 19968: jis0212<<14 | 0x22<<7 | 0x1C,
+ 26569 - 19968: jis0212<<14 | 0x22<<7 | 0x1D,
+ 26570 - 19968: jis0208<<14 | 0x28<<7 | 0x01,
+ 26574 - 19968: jis0208<<14 | 0x3A<<7 | 0x34,
+ 26575 - 19968: jis0208<<14 | 0x26<<7 | 0x4F,
+ 26576 - 19968: jis0208<<14 | 0x2A<<7 | 0x1E,
+ 26577 - 19968: jis0208<<14 | 0x13<<7 | 0x1A,
+ 26578 - 19968: jis0212<<14 | 0x22<<7 | 0x1E,
+ 26579 - 19968: jis0208<<14 | 0x1F<<7 | 0x56,
+ 26580 - 19968: jis0208<<14 | 0x1C<<7 | 0x1F,
+ 26583 - 19968: jis0212<<14 | 0x22<<7 | 0x1F,
+ 26584 - 19968: jis0208<<14 | 0x23<<7 | 0x32,
+ 26585 - 19968: jis0212<<14 | 0x22<<7 | 0x20,
+ 26586 - 19968: jis0208<<14 | 0x2C<<7 | 0x0D,
+ 26588 - 19968: jis0212<<14 | 0x22<<7 | 0x21,
+ 26589 - 19968: jis0208<<14 | 0x3A<<7 | 0x30,
+ 26590 - 19968: jis0208<<14 | 0x3A<<7 | 0x2F,
+ 26593 - 19968: jis0212<<14 | 0x22<<7 | 0x22,
+ 26594 - 19968: jis0208<<14 | 0x3A<<7 | 0x31,
+ 26596 - 19968: jis0208<<14 | 0x3A<<7 | 0x2E,
+ 26598 - 19968: jis0212<<14 | 0x22<<7 | 0x23,
+ 26599 - 19968: jis0208<<14 | 0x3A<<7 | 0x36,
+ 26601 - 19968: jis0208<<14 | 0x3A<<7 | 0x2C,
+ 26604 - 19968: jis0208<<14 | 0x3A<<7 | 0x2A,
+ 26606 - 19968: jis0208<<14 | 0x3A<<7 | 0x32,
+ 26607 - 19968: jis0208<<14 | 0x3A<<7 | 0x28,
+ 26608 - 19968: jis0212<<14 | 0x22<<7 | 0x24,
+ 26609 - 19968: jis0208<<14 | 0x22<<7 | 0x4B,
+ 26610 - 19968: jis0212<<14 | 0x22<<7 | 0x25,
+ 26611 - 19968: jis0208<<14 | 0x2B<<7 | 0x57,
+ 26612 - 19968: jis0208<<14 | 0x1B<<7 | 0x25,
+ 26613 - 19968: jis0208<<14 | 0x19<<7 | 0x53,
+ 26614 - 19968: jis0212<<14 | 0x22<<7 | 0x26,
+ 26615 - 19968: jis0212<<14 | 0x22<<7 | 0x27,
+ 26617 - 19968: jis0212<<14 | 0x22<<7 | 0x17,
+ 26619 - 19968: jis0208<<14 | 0x19<<7 | 0x19,
+ 26622 - 19968: jis0208<<14 | 0x2A<<7 | 0x4E,
+ 26623 - 19968: jis0208<<14 | 0x12<<7 | 0x20,
+ 26625 - 19968: jis0208<<14 | 0x59<<7 | 0x2A,
+ 26626 - 19968: jis0208<<14 | 0x23<<7 | 0x2D,
+ 26627 - 19968: jis0208<<14 | 0x25<<7 | 0x29,
+ 26628 - 19968: jis0208<<14 | 0x10<<7 | 0x28,
+ 26643 - 19968: jis0208<<14 | 0x1F<<7 | 0x51,
+ 26644 - 19968: jis0212<<14 | 0x22<<7 | 0x29,
+ 26646 - 19968: jis0208<<14 | 0x1F<<7 | 0x13,
+ 26647 - 19968: jis0208<<14 | 0x16<<7 | 0x09,
+ 26649 - 19968: jis0212<<14 | 0x22<<7 | 0x2A,
+ 26653 - 19968: jis0212<<14 | 0x22<<7 | 0x2B,
+ 26654 - 19968: jis0208<<14 | 0x3A<<7 | 0x38,
+ 26655 - 19968: jis0212<<14 | 0x22<<7 | 0x2C,
+ 26657 - 19968: jis0208<<14 | 0x18<<7 | 0x1A,
+ 26658 - 19968: jis0208<<14 | 0x12<<7 | 0x5B,
+ 26663 - 19968: jis0212<<14 | 0x22<<7 | 0x2E,
+ 26664 - 19968: jis0212<<14 | 0x22<<7 | 0x2D,
+ 26665 - 19968: jis0208<<14 | 0x3A<<7 | 0x3A,
+ 26666 - 19968: jis0208<<14 | 0x12<<7 | 0x53,
+ 26667 - 19968: jis0208<<14 | 0x3A<<7 | 0x40,
+ 26668 - 19968: jis0212<<14 | 0x22<<7 | 0x2F,
+ 26669 - 19968: jis0212<<14 | 0x22<<7 | 0x30,
+ 26671 - 19968: jis0212<<14 | 0x22<<7 | 0x31,
+ 26672 - 19968: jis0212<<14 | 0x22<<7 | 0x32,
+ 26673 - 19968: jis0212<<14 | 0x22<<7 | 0x33,
+ 26674 - 19968: jis0208<<14 | 0x3A<<7 | 0x3D,
+ 26675 - 19968: jis0212<<14 | 0x22<<7 | 0x34,
+ 26676 - 19968: jis0208<<14 | 0x1F<<7 | 0x52,
+ 26680 - 19968: jis0208<<14 | 0x12<<7 | 0x2A,
+ 26681 - 19968: jis0208<<14 | 0x19<<7 | 0x0B,
+ 26683 - 19968: jis0212<<14 | 0x22<<7 | 0x35,
+ 26684 - 19968: jis0208<<14 | 0x12<<7 | 0x29,
+ 26685 - 19968: jis0208<<14 | 0x19<<7 | 0x2E,
+ 26687 - 19968: jis0212<<14 | 0x22<<7 | 0x36,
+ 26688 - 19968: jis0208<<14 | 0x3A<<7 | 0x3B,
+ 26689 - 19968: jis0208<<14 | 0x16<<7 | 0x44,
+ 26690 - 19968: jis0208<<14 | 0x16<<7 | 0x2A,
+ 26691 - 19968: jis0208<<14 | 0x24<<7 | 0x4C,
+ 26692 - 19968: jis0208<<14 | 0x59<<7 | 0x2B,
+ 26693 - 19968: jis0212<<14 | 0x22<<7 | 0x38,
+ 26694 - 19968: jis0208<<14 | 0x3A<<7 | 0x39,
+ 26696 - 19968: jis0208<<14 | 0x0F<<7 | 0x25,
+ 26698 - 19968: jis0212<<14 | 0x22<<7 | 0x39,
+ 26700 - 19968: jis0212<<14 | 0x22<<7 | 0x3A,
+ 26701 - 19968: jis0208<<14 | 0x3A<<7 | 0x3C,
+ 26702 - 19968: jis0208<<14 | 0x3A<<7 | 0x3E,
+ 26704 - 19968: jis0208<<14 | 0x15<<7 | 0x2C,
+ 26705 - 19968: jis0208<<14 | 0x16<<7 | 0x0B,
+ 26706 - 19968: jis0208<<14 | 0x59<<7 | 0x28,
+ 26707 - 19968: jis0208<<14 | 0x13<<7 | 0x1B,
+ 26708 - 19968: jis0208<<14 | 0x14<<7 | 0x2A,
+ 26709 - 19968: jis0212<<14 | 0x22<<7 | 0x3B,
+ 26711 - 19968: jis0212<<14 | 0x22<<7 | 0x3C,
+ 26712 - 19968: jis0212<<14 | 0x22<<7 | 0x3D,
+ 26713 - 19968: jis0208<<14 | 0x3A<<7 | 0x41,
+ 26715 - 19968: jis0212<<14 | 0x22<<7 | 0x3E,
+ 26716 - 19968: jis0208<<14 | 0x19<<7 | 0x58,
+ 26717 - 19968: jis0208<<14 | 0x2A<<7 | 0x50,
+ 26719 - 19968: jis0208<<14 | 0x1A<<7 | 0x16,
+ 26723 - 19968: jis0208<<14 | 0x3A<<7 | 0x42,
+ 26727 - 19968: jis0208<<14 | 0x28<<7 | 0x0F,
+ 26731 - 19968: jis0212<<14 | 0x22<<7 | 0x3F,
+ 26734 - 19968: jis0212<<14 | 0x22<<7 | 0x40,
+ 26735 - 19968: jis0212<<14 | 0x22<<7 | 0x41,
+ 26736 - 19968: jis0212<<14 | 0x22<<7 | 0x42,
+ 26737 - 19968: jis0212<<14 | 0x22<<7 | 0x43,
+ 26738 - 19968: jis0212<<14 | 0x22<<7 | 0x44,
+ 26740 - 19968: jis0208<<14 | 0x3A<<7 | 0x4E,
+ 26741 - 19968: jis0212<<14 | 0x22<<7 | 0x45,
+ 26742 - 19968: jis0208<<14 | 0x11<<7 | 0x12,
+ 26743 - 19968: jis0208<<14 | 0x3A<<7 | 0x43,
+ 26745 - 19968: jis0212<<14 | 0x22<<7 | 0x46,
+ 26746 - 19968: jis0212<<14 | 0x22<<7 | 0x47,
+ 26747 - 19968: jis0212<<14 | 0x22<<7 | 0x48,
+ 26748 - 19968: jis0212<<14 | 0x22<<7 | 0x49,
+ 26750 - 19968: jis0208<<14 | 0x3A<<7 | 0x54,
+ 26751 - 19968: jis0208<<14 | 0x3A<<7 | 0x44,
+ 26753 - 19968: jis0208<<14 | 0x2D<<7 | 0x21,
+ 26754 - 19968: jis0212<<14 | 0x22<<7 | 0x4A,
+ 26755 - 19968: jis0208<<14 | 0x3A<<7 | 0x4B,
+ 26756 - 19968: jis0212<<14 | 0x22<<7 | 0x4B,
+ 26757 - 19968: jis0208<<14 | 0x26<<7 | 0x3E,
+ 26758 - 19968: jis0212<<14 | 0x22<<7 | 0x4C,
+ 26760 - 19968: jis0212<<14 | 0x22<<7 | 0x4D,
+ 26765 - 19968: jis0208<<14 | 0x3A<<7 | 0x53,
+ 26767 - 19968: jis0208<<14 | 0x3A<<7 | 0x46,
+ 26771 - 19968: jis0208<<14 | 0x0F<<7 | 0x13,
+ 26772 - 19968: jis0208<<14 | 0x3A<<7 | 0x48,
+ 26774 - 19968: jis0212<<14 | 0x22<<7 | 0x4E,
+ 26775 - 19968: jis0208<<14 | 0x18<<7 | 0x1B,
+ 26776 - 19968: jis0212<<14 | 0x22<<7 | 0x4F,
+ 26778 - 19968: jis0212<<14 | 0x22<<7 | 0x50,
+ 26779 - 19968: jis0208<<14 | 0x3A<<7 | 0x4A,
+ 26780 - 19968: jis0212<<14 | 0x22<<7 | 0x51,
+ 26781 - 19968: jis0208<<14 | 0x3A<<7 | 0x49,
+ 26783 - 19968: jis0208<<14 | 0x3A<<7 | 0x45,
+ 26784 - 19968: jis0208<<14 | 0x3A<<7 | 0x50,
+ 26785 - 19968: jis0212<<14 | 0x22<<7 | 0x52,
+ 26786 - 19968: jis0208<<14 | 0x1D<<7 | 0x1E,
+ 26787 - 19968: jis0212<<14 | 0x22<<7 | 0x53,
+ 26789 - 19968: jis0212<<14 | 0x22<<7 | 0x54,
+ 26790 - 19968: jis0208<<14 | 0x33<<7 | 0x4C,
+ 26791 - 19968: jis0208<<14 | 0x17<<7 | 0x47,
+ 26792 - 19968: jis0208<<14 | 0x2C<<7 | 0x5B,
+ 26793 - 19968: jis0212<<14 | 0x22<<7 | 0x55,
+ 26794 - 19968: jis0212<<14 | 0x22<<7 | 0x56,
+ 26797 - 19968: jis0208<<14 | 0x3A<<7 | 0x47,
+ 26798 - 19968: jis0212<<14 | 0x22<<7 | 0x57,
+ 26799 - 19968: jis0208<<14 | 0x23<<7 | 0x53,
+ 26800 - 19968: jis0208<<14 | 0x12<<7 | 0x02,
+ 26801 - 19968: jis0208<<14 | 0x19<<7 | 0x0C,
+ 26802 - 19968: jis0212<<14 | 0x22<<7 | 0x58,
+ 26803 - 19968: jis0208<<14 | 0x3A<<7 | 0x3F,
+ 26805 - 19968: jis0208<<14 | 0x3A<<7 | 0x4F,
+ 26806 - 19968: jis0208<<14 | 0x12<<7 | 0x40,
+ 26809 - 19968: jis0208<<14 | 0x3A<<7 | 0x4D,
+ 26810 - 19968: jis0208<<14 | 0x3A<<7 | 0x51,
+ 26811 - 19968: jis0212<<14 | 0x22<<7 | 0x59,
+ 26812 - 19968: jis0208<<14 | 0x24<<7 | 0x4D,
+ 26820 - 19968: jis0208<<14 | 0x13<<7 | 0x5D,
+ 26821 - 19968: jis0212<<14 | 0x22<<7 | 0x5A,
+ 26822 - 19968: jis0208<<14 | 0x3B<<7 | 0x11,
+ 26824 - 19968: jis0208<<14 | 0x58<<7 | 0x08,
+ 26825 - 19968: jis0208<<14 | 0x2B<<7 | 0x28,
+ 26826 - 19968: jis0208<<14 | 0x3A<<7 | 0x56,
+ 26827 - 19968: jis0208<<14 | 0x13<<7 | 0x5C,
+ 26828 - 19968: jis0212<<14 | 0x22<<7 | 0x5C,
+ 26829 - 19968: jis0208<<14 | 0x3A<<7 | 0x5D,
+ 26831 - 19968: jis0208<<14 | 0x59<<7 | 0x2C,
+ 26832 - 19968: jis0212<<14 | 0x23<<7 | 0x00,
+ 26833 - 19968: jis0212<<14 | 0x23<<7 | 0x01,
+ 26834 - 19968: jis0208<<14 | 0x2A<<7 | 0x1F,
+ 26835 - 19968: jis0212<<14 | 0x23<<7 | 0x02,
+ 26836 - 19968: jis0208<<14 | 0x3B<<7 | 0x00,
+ 26837 - 19968: jis0208<<14 | 0x3B<<7 | 0x02,
+ 26838 - 19968: jis0212<<14 | 0x23<<7 | 0x03,
+ 26839 - 19968: jis0208<<14 | 0x3B<<7 | 0x06,
+ 26840 - 19968: jis0208<<14 | 0x3A<<7 | 0x58,
+ 26841 - 19968: jis0212<<14 | 0x23<<7 | 0x04,
+ 26842 - 19968: jis0208<<14 | 0x22<<7 | 0x09,
+ 26844 - 19968: jis0212<<14 | 0x23<<7 | 0x05,
+ 26845 - 19968: jis0212<<14 | 0x23<<7 | 0x06,
+ 26847 - 19968: jis0208<<14 | 0x24<<7 | 0x4E,
+ 26848 - 19968: jis0208<<14 | 0x3B<<7 | 0x0A,
+ 26849 - 19968: jis0208<<14 | 0x3A<<7 | 0x5B,
+ 26851 - 19968: jis0208<<14 | 0x3B<<7 | 0x07,
+ 26853 - 19968: jis0212<<14 | 0x23<<7 | 0x07,
+ 26855 - 19968: jis0208<<14 | 0x3B<<7 | 0x01,
+ 26856 - 19968: jis0212<<14 | 0x23<<7 | 0x08,
+ 26858 - 19968: jis0212<<14 | 0x23<<7 | 0x09,
+ 26859 - 19968: jis0212<<14 | 0x23<<7 | 0x0A,
+ 26860 - 19968: jis0212<<14 | 0x23<<7 | 0x0B,
+ 26861 - 19968: jis0212<<14 | 0x23<<7 | 0x0C,
+ 26862 - 19968: jis0208<<14 | 0x1E<<7 | 0x18,
+ 26863 - 19968: jis0208<<14 | 0x3B<<7 | 0x0B,
+ 26864 - 19968: jis0212<<14 | 0x23<<7 | 0x0D,
+ 26865 - 19968: jis0212<<14 | 0x23<<7 | 0x0E,
+ 26866 - 19968: jis0208<<14 | 0x1F<<7 | 0x12,
+ 26869 - 19968: jis0212<<14 | 0x23<<7 | 0x0F,
+ 26870 - 19968: jis0212<<14 | 0x23<<7 | 0x10,
+ 26873 - 19968: jis0208<<14 | 0x3B<<7 | 0x09,
+ 26874 - 19968: jis0208<<14 | 0x13<<7 | 0x1C,
+ 26875 - 19968: jis0212<<14 | 0x23<<7 | 0x11,
+ 26876 - 19968: jis0212<<14 | 0x23<<7 | 0x12,
+ 26877 - 19968: jis0212<<14 | 0x23<<7 | 0x13,
+ 26880 - 19968: jis0208<<14 | 0x2E<<7 | 0x2F,
+ 26881 - 19968: jis0208<<14 | 0x3A<<7 | 0x55,
+ 26884 - 19968: jis0208<<14 | 0x3B<<7 | 0x05,
+ 26885 - 19968: jis0208<<14 | 0x0F<<7 | 0x37,
+ 26886 - 19968: jis0212<<14 | 0x23<<7 | 0x14,
+ 26888 - 19968: jis0208<<14 | 0x3A<<7 | 0x57,
+ 26889 - 19968: jis0212<<14 | 0x23<<7 | 0x15,
+ 26890 - 19968: jis0212<<14 | 0x23<<7 | 0x16,
+ 26891 - 19968: jis0208<<14 | 0x2B<<7 | 0x19,
+ 26892 - 19968: jis0208<<14 | 0x3A<<7 | 0x5C,
+ 26893 - 19968: jis0208<<14 | 0x1E<<7 | 0x01,
+ 26894 - 19968: jis0208<<14 | 0x23<<7 | 0x26,
+ 26895 - 19968: jis0208<<14 | 0x3A<<7 | 0x52,
+ 26896 - 19968: jis0212<<14 | 0x23<<7 | 0x17,
+ 26897 - 19968: jis0212<<14 | 0x23<<7 | 0x18,
+ 26898 - 19968: jis0208<<14 | 0x3B<<7 | 0x04,
+ 26899 - 19968: jis0212<<14 | 0x23<<7 | 0x19,
+ 26902 - 19968: jis0212<<14 | 0x23<<7 | 0x1A,
+ 26903 - 19968: jis0212<<14 | 0x23<<7 | 0x1B,
+ 26905 - 19968: jis0208<<14 | 0x1E<<7 | 0x59,
+ 26906 - 19968: jis0208<<14 | 0x3B<<7 | 0x0E,
+ 26907 - 19968: jis0208<<14 | 0x12<<7 | 0x50,
+ 26908 - 19968: jis0208<<14 | 0x17<<7 | 0x00,
+ 26913 - 19968: jis0208<<14 | 0x3B<<7 | 0x10,
+ 26914 - 19968: jis0208<<14 | 0x3A<<7 | 0x59,
+ 26915 - 19968: jis0208<<14 | 0x3B<<7 | 0x0F,
+ 26917 - 19968: jis0208<<14 | 0x3B<<7 | 0x08,
+ 26918 - 19968: jis0208<<14 | 0x3A<<7 | 0x5A,
+ 26920 - 19968: jis0208<<14 | 0x3B<<7 | 0x0C,
+ 26922 - 19968: jis0208<<14 | 0x3B<<7 | 0x0D,
+ 26928 - 19968: jis0208<<14 | 0x3B<<7 | 0x1E,
+ 26929 - 19968: jis0212<<14 | 0x23<<7 | 0x1C,
+ 26931 - 19968: jis0212<<14 | 0x23<<7 | 0x1D,
+ 26932 - 19968: jis0208<<14 | 0x25<<7 | 0x2D,
+ 26933 - 19968: jis0212<<14 | 0x23<<7 | 0x1E,
+ 26934 - 19968: jis0208<<14 | 0x3B<<7 | 0x03,
+ 26936 - 19968: jis0212<<14 | 0x23<<7 | 0x1F,
+ 26937 - 19968: jis0208<<14 | 0x3B<<7 | 0x1A,
+ 26939 - 19968: jis0212<<14 | 0x23<<7 | 0x20,
+ 26941 - 19968: jis0208<<14 | 0x3B<<7 | 0x1C,
+ 26943 - 19968: jis0208<<14 | 0x23<<7 | 0x37,
+ 26946 - 19968: jis0212<<14 | 0x23<<7 | 0x21,
+ 26949 - 19968: jis0212<<14 | 0x23<<7 | 0x22,
+ 26953 - 19968: jis0212<<14 | 0x23<<7 | 0x23,
+ 26954 - 19968: jis0208<<14 | 0x2C<<7 | 0x2B,
+ 26958 - 19968: jis0212<<14 | 0x23<<7 | 0x24,
+ 26963 - 19968: jis0208<<14 | 0x28<<7 | 0x55,
+ 26964 - 19968: jis0208<<14 | 0x3B<<7 | 0x17,
+ 26965 - 19968: jis0208<<14 | 0x21<<7 | 0x29,
+ 26967 - 19968: jis0212<<14 | 0x23<<7 | 0x25,
+ 26969 - 19968: jis0208<<14 | 0x3B<<7 | 0x1D,
+ 26970 - 19968: jis0208<<14 | 0x20<<7 | 0x1E,
+ 26971 - 19968: jis0212<<14 | 0x23<<7 | 0x26,
+ 26972 - 19968: jis0208<<14 | 0x3B<<7 | 0x14,
+ 26973 - 19968: jis0208<<14 | 0x3B<<7 | 0x21,
+ 26974 - 19968: jis0208<<14 | 0x3B<<7 | 0x20,
+ 26976 - 19968: jis0208<<14 | 0x25<<7 | 0x4E,
+ 26977 - 19968: jis0208<<14 | 0x3B<<7 | 0x1F,
+ 26978 - 19968: jis0208<<14 | 0x25<<7 | 0x49,
+ 26979 - 19968: jis0212<<14 | 0x23<<7 | 0x27,
+ 26980 - 19968: jis0212<<14 | 0x23<<7 | 0x28,
+ 26981 - 19968: jis0212<<14 | 0x23<<7 | 0x29,
+ 26982 - 19968: jis0212<<14 | 0x23<<7 | 0x2A,
+ 26984 - 19968: jis0208<<14 | 0x59<<7 | 0x2E,
+ 26985 - 19968: jis0212<<14 | 0x23<<7 | 0x2C,
+ 26986 - 19968: jis0208<<14 | 0x3B<<7 | 0x23,
+ 26987 - 19968: jis0208<<14 | 0x3B<<7 | 0x16,
+ 26988 - 19968: jis0212<<14 | 0x23<<7 | 0x2D,
+ 26989 - 19968: jis0208<<14 | 0x15<<7 | 0x27,
+ 26990 - 19968: jis0208<<14 | 0x3B<<7 | 0x19,
+ 26991 - 19968: jis0208<<14 | 0x1C<<7 | 0x3C,
+ 26992 - 19968: jis0212<<14 | 0x23<<7 | 0x2E,
+ 26993 - 19968: jis0212<<14 | 0x23<<7 | 0x2F,
+ 26994 - 19968: jis0212<<14 | 0x23<<7 | 0x30,
+ 26995 - 19968: jis0208<<14 | 0x26<<7 | 0x3F,
+ 26996 - 19968: jis0208<<14 | 0x3B<<7 | 0x1B,
+ 26997 - 19968: jis0208<<14 | 0x15<<7 | 0x2A,
+ 26999 - 19968: jis0208<<14 | 0x3B<<7 | 0x13,
+ 27000 - 19968: jis0208<<14 | 0x3B<<7 | 0x15,
+ 27001 - 19968: jis0208<<14 | 0x3B<<7 | 0x12,
+ 27002 - 19968: jis0212<<14 | 0x23<<7 | 0x31,
+ 27003 - 19968: jis0212<<14 | 0x23<<7 | 0x32,
+ 27004 - 19968: jis0208<<14 | 0x2E<<7 | 0x0F,
+ 27005 - 19968: jis0208<<14 | 0x12<<7 | 0x39,
+ 27006 - 19968: jis0208<<14 | 0x3B<<7 | 0x18,
+ 27007 - 19968: jis0212<<14 | 0x23<<7 | 0x33,
+ 27008 - 19968: jis0212<<14 | 0x23<<7 | 0x34,
+ 27009 - 19968: jis0208<<14 | 0x3B<<7 | 0x22,
+ 27010 - 19968: jis0208<<14 | 0x12<<7 | 0x14,
+ 27018 - 19968: jis0208<<14 | 0x19<<7 | 0x46,
+ 27021 - 19968: jis0212<<14 | 0x23<<7 | 0x35,
+ 27022 - 19968: jis0208<<14 | 0x10<<7 | 0x3C,
+ 27025 - 19968: jis0208<<14 | 0x3B<<7 | 0x33,
+ 27026 - 19968: jis0212<<14 | 0x23<<7 | 0x36,
+ 27028 - 19968: jis0208<<14 | 0x2E<<7 | 0x10,
+ 27029 - 19968: jis0208<<14 | 0x3B<<7 | 0x36,
+ 27030 - 19968: jis0212<<14 | 0x23<<7 | 0x37,
+ 27032 - 19968: jis0208<<14 | 0x59<<7 | 0x30,
+ 27035 - 19968: jis0208<<14 | 0x1E<<7 | 0x19,
+ 27036 - 19968: jis0208<<14 | 0x3B<<7 | 0x35,
+ 27040 - 19968: jis0208<<14 | 0x3B<<7 | 0x34,
+ 27041 - 19968: jis0212<<14 | 0x23<<7 | 0x39,
+ 27045 - 19968: jis0212<<14 | 0x23<<7 | 0x3A,
+ 27046 - 19968: jis0212<<14 | 0x23<<7 | 0x3B,
+ 27047 - 19968: jis0208<<14 | 0x3B<<7 | 0x31,
+ 27048 - 19968: jis0212<<14 | 0x23<<7 | 0x3C,
+ 27051 - 19968: jis0212<<14 | 0x23<<7 | 0x3D,
+ 27053 - 19968: jis0212<<14 | 0x23<<7 | 0x3E,
+ 27054 - 19968: jis0208<<14 | 0x3B<<7 | 0x25,
+ 27055 - 19968: jis0212<<14 | 0x23<<7 | 0x3F,
+ 27057 - 19968: jis0208<<14 | 0x3B<<7 | 0x42,
+ 27058 - 19968: jis0208<<14 | 0x3B<<7 | 0x24,
+ 27060 - 19968: jis0208<<14 | 0x3B<<7 | 0x37,
+ 27063 - 19968: jis0212<<14 | 0x23<<7 | 0x40,
+ 27064 - 19968: jis0212<<14 | 0x23<<7 | 0x41,
+ 27066 - 19968: jis0212<<14 | 0x23<<7 | 0x42,
+ 27067 - 19968: jis0208<<14 | 0x3B<<7 | 0x2F,
+ 27068 - 19968: jis0212<<14 | 0x23<<7 | 0x43,
+ 27070 - 19968: jis0208<<14 | 0x3B<<7 | 0x2A,
+ 27071 - 19968: jis0208<<14 | 0x3B<<7 | 0x27,
+ 27073 - 19968: jis0208<<14 | 0x3B<<7 | 0x28,
+ 27075 - 19968: jis0208<<14 | 0x3B<<7 | 0x30,
+ 27077 - 19968: jis0212<<14 | 0x23<<7 | 0x44,
+ 27079 - 19968: jis0208<<14 | 0x53<<7 | 0x01,
+ 27080 - 19968: jis0212<<14 | 0x23<<7 | 0x45,
+ 27082 - 19968: jis0208<<14 | 0x3B<<7 | 0x2D,
+ 27083 - 19968: jis0208<<14 | 0x18<<7 | 0x1C,
+ 27084 - 19968: jis0208<<14 | 0x23<<7 | 0x27,
+ 27085 - 19968: jis0208<<14 | 0x20<<7 | 0x43,
+ 27086 - 19968: jis0208<<14 | 0x3B<<7 | 0x2B,
+ 27088 - 19968: jis0208<<14 | 0x3B<<7 | 0x26,
+ 27089 - 19968: jis0212<<14 | 0x23<<7 | 0x46,
+ 27091 - 19968: jis0208<<14 | 0x3B<<7 | 0x29,
+ 27094 - 19968: jis0212<<14 | 0x23<<7 | 0x47,
+ 27095 - 19968: jis0212<<14 | 0x23<<7 | 0x48,
+ 27096 - 19968: jis0208<<14 | 0x2C<<7 | 0x2C,
+ 27097 - 19968: jis0208<<14 | 0x2A<<7 | 0x49,
+ 27101 - 19968: jis0208<<14 | 0x3B<<7 | 0x2E,
+ 27102 - 19968: jis0208<<14 | 0x3B<<7 | 0x38,
+ 27106 - 19968: jis0208<<14 | 0x59<<7 | 0x31,
+ 27109 - 19968: jis0212<<14 | 0x23<<7 | 0x4A,
+ 27111 - 19968: jis0208<<14 | 0x3B<<7 | 0x40,
+ 27112 - 19968: jis0208<<14 | 0x3B<<7 | 0x39,
+ 27115 - 19968: jis0208<<14 | 0x3B<<7 | 0x46,
+ 27117 - 19968: jis0208<<14 | 0x3B<<7 | 0x44,
+ 27118 - 19968: jis0212<<14 | 0x23<<7 | 0x4B,
+ 27119 - 19968: jis0212<<14 | 0x23<<7 | 0x4C,
+ 27121 - 19968: jis0212<<14 | 0x23<<7 | 0x4D,
+ 27122 - 19968: jis0208<<14 | 0x3B<<7 | 0x3F,
+ 27123 - 19968: jis0212<<14 | 0x23<<7 | 0x4E,
+ 27125 - 19968: jis0212<<14 | 0x23<<7 | 0x4F,
+ 27129 - 19968: jis0208<<14 | 0x3B<<7 | 0x3E,
+ 27131 - 19968: jis0208<<14 | 0x23<<7 | 0x2F,
+ 27133 - 19968: jis0208<<14 | 0x20<<7 | 0x44,
+ 27134 - 19968: jis0212<<14 | 0x23<<7 | 0x50,
+ 27135 - 19968: jis0208<<14 | 0x3B<<7 | 0x3C,
+ 27136 - 19968: jis0212<<14 | 0x23<<7 | 0x51,
+ 27137 - 19968: jis0212<<14 | 0x23<<7 | 0x52,
+ 27138 - 19968: jis0208<<14 | 0x3B<<7 | 0x3A,
+ 27139 - 19968: jis0212<<14 | 0x23<<7 | 0x53,
+ 27141 - 19968: jis0208<<14 | 0x3B<<7 | 0x41,
+ 27146 - 19968: jis0208<<14 | 0x3B<<7 | 0x47,
+ 27147 - 19968: jis0208<<14 | 0x27<<7 | 0x54,
+ 27148 - 19968: jis0208<<14 | 0x3B<<7 | 0x4D,
+ 27151 - 19968: jis0212<<14 | 0x23<<7 | 0x54,
+ 27153 - 19968: jis0212<<14 | 0x23<<7 | 0x55,
+ 27154 - 19968: jis0208<<14 | 0x3B<<7 | 0x48,
+ 27155 - 19968: jis0208<<14 | 0x3B<<7 | 0x4B,
+ 27156 - 19968: jis0208<<14 | 0x3B<<7 | 0x45,
+ 27157 - 19968: jis0212<<14 | 0x23<<7 | 0x56,
+ 27159 - 19968: jis0208<<14 | 0x22<<7 | 0x53,
+ 27161 - 19968: jis0208<<14 | 0x28<<7 | 0x17,
+ 27162 - 19968: jis0212<<14 | 0x23<<7 | 0x57,
+ 27163 - 19968: jis0208<<14 | 0x3B<<7 | 0x3B,
+ 27165 - 19968: jis0212<<14 | 0x23<<7 | 0x58,
+ 27166 - 19968: jis0208<<14 | 0x3B<<7 | 0x43,
+ 27167 - 19968: jis0208<<14 | 0x1D<<7 | 0x1F,
+ 27168 - 19968: jis0212<<14 | 0x23<<7 | 0x59,
+ 27169 - 19968: jis0208<<14 | 0x2B<<7 | 0x2E,
+ 27170 - 19968: jis0208<<14 | 0x3B<<7 | 0x57,
+ 27171 - 19968: jis0208<<14 | 0x3B<<7 | 0x4A,
+ 27172 - 19968: jis0212<<14 | 0x23<<7 | 0x5A,
+ 27176 - 19968: jis0212<<14 | 0x23<<7 | 0x5B,
+ 27177 - 19968: jis0208<<14 | 0x17<<7 | 0x01,
+ 27178 - 19968: jis0208<<14 | 0x11<<7 | 0x02,
+ 27179 - 19968: jis0208<<14 | 0x12<<7 | 0x3E,
+ 27182 - 19968: jis0208<<14 | 0x3B<<7 | 0x32,
+ 27184 - 19968: jis0208<<14 | 0x59<<7 | 0x32,
+ 27186 - 19968: jis0212<<14 | 0x23<<7 | 0x5D,
+ 27188 - 19968: jis0212<<14 | 0x24<<7 | 0x00,
+ 27189 - 19968: jis0208<<14 | 0x1D<<7 | 0x20,
+ 27190 - 19968: jis0208<<14 | 0x3B<<7 | 0x4F,
+ 27191 - 19968: jis0212<<14 | 0x24<<7 | 0x01,
+ 27192 - 19968: jis0208<<14 | 0x3B<<7 | 0x56,
+ 27193 - 19968: jis0208<<14 | 0x1B<<7 | 0x58,
+ 27194 - 19968: jis0208<<14 | 0x12<<7 | 0x51,
+ 27195 - 19968: jis0212<<14 | 0x24<<7 | 0x02,
+ 27197 - 19968: jis0208<<14 | 0x22<<7 | 0x0D,
+ 27198 - 19968: jis0212<<14 | 0x24<<7 | 0x03,
+ 27199 - 19968: jis0212<<14 | 0x24<<7 | 0x04,
+ 27204 - 19968: jis0208<<14 | 0x3B<<7 | 0x4C,
+ 27205 - 19968: jis0212<<14 | 0x24<<7 | 0x05,
+ 27206 - 19968: jis0208<<14 | 0x59<<7 | 0x34,
+ 27207 - 19968: jis0208<<14 | 0x3B<<7 | 0x51,
+ 27208 - 19968: jis0208<<14 | 0x3B<<7 | 0x55,
+ 27209 - 19968: jis0212<<14 | 0x24<<7 | 0x07,
+ 27210 - 19968: jis0212<<14 | 0x24<<7 | 0x08,
+ 27211 - 19968: jis0208<<14 | 0x15<<7 | 0x15,
+ 27214 - 19968: jis0212<<14 | 0x24<<7 | 0x09,
+ 27216 - 19968: jis0212<<14 | 0x24<<7 | 0x0A,
+ 27217 - 19968: jis0212<<14 | 0x24<<7 | 0x0B,
+ 27218 - 19968: jis0212<<14 | 0x24<<7 | 0x0C,
+ 27221 - 19968: jis0212<<14 | 0x24<<7 | 0x0D,
+ 27222 - 19968: jis0212<<14 | 0x24<<7 | 0x0E,
+ 27224 - 19968: jis0208<<14 | 0x14<<7 | 0x2B,
+ 27225 - 19968: jis0208<<14 | 0x3B<<7 | 0x53,
+ 27227 - 19968: jis0212<<14 | 0x24<<7 | 0x0F,
+ 27231 - 19968: jis0208<<14 | 0x14<<7 | 0x00,
+ 27233 - 19968: jis0208<<14 | 0x25<<7 | 0x2A,
+ 27234 - 19968: jis0208<<14 | 0x3B<<7 | 0x52,
+ 27236 - 19968: jis0212<<14 | 0x24<<7 | 0x10,
+ 27238 - 19968: jis0208<<14 | 0x3B<<7 | 0x54,
+ 27239 - 19968: jis0212<<14 | 0x24<<7 | 0x11,
+ 27242 - 19968: jis0212<<14 | 0x24<<7 | 0x12,
+ 27243 - 19968: jis0208<<14 | 0x59<<7 | 0x33,
+ 27249 - 19968: jis0212<<14 | 0x24<<7 | 0x13,
+ 27250 - 19968: jis0208<<14 | 0x3B<<7 | 0x4E,
+ 27251 - 19968: jis0208<<14 | 0x59<<7 | 0x35,
+ 27256 - 19968: jis0208<<14 | 0x3B<<7 | 0x50,
+ 27262 - 19968: jis0208<<14 | 0x59<<7 | 0x36,
+ 27263 - 19968: jis0208<<14 | 0x12<<7 | 0x3F,
+ 27264 - 19968: jis0208<<14 | 0x22<<7 | 0x28,
+ 27265 - 19968: jis0212<<14 | 0x24<<7 | 0x16,
+ 27267 - 19968: jis0212<<14 | 0x24<<7 | 0x17,
+ 27268 - 19968: jis0208<<14 | 0x3B<<7 | 0x5B,
+ 27270 - 19968: jis0212<<14 | 0x24<<7 | 0x18,
+ 27271 - 19968: jis0212<<14 | 0x24<<7 | 0x19,
+ 27273 - 19968: jis0212<<14 | 0x24<<7 | 0x1A,
+ 27275 - 19968: jis0212<<14 | 0x24<<7 | 0x1B,
+ 27277 - 19968: jis0208<<14 | 0x3B<<7 | 0x59,
+ 27278 - 19968: jis0208<<14 | 0x17<<7 | 0x48,
+ 27280 - 19968: jis0208<<14 | 0x3B<<7 | 0x58,
+ 27281 - 19968: jis0212<<14 | 0x24<<7 | 0x1C,
+ 27287 - 19968: jis0208<<14 | 0x3C<<7 | 0x00,
+ 27291 - 19968: jis0212<<14 | 0x24<<7 | 0x1D,
+ 27292 - 19968: jis0208<<14 | 0x3A<<7 | 0x37,
+ 27293 - 19968: jis0212<<14 | 0x24<<7 | 0x1E,
+ 27294 - 19968: jis0212<<14 | 0x24<<7 | 0x1F,
+ 27295 - 19968: jis0212<<14 | 0x24<<7 | 0x20,
+ 27296 - 19968: jis0208<<14 | 0x3B<<7 | 0x5A,
+ 27298 - 19968: jis0208<<14 | 0x3B<<7 | 0x5C,
+ 27299 - 19968: jis0208<<14 | 0x3B<<7 | 0x5D,
+ 27301 - 19968: jis0212<<14 | 0x24<<7 | 0x21,
+ 27306 - 19968: jis0208<<14 | 0x3C<<7 | 0x0B,
+ 27307 - 19968: jis0212<<14 | 0x24<<7 | 0x22,
+ 27308 - 19968: jis0208<<14 | 0x3C<<7 | 0x07,
+ 27310 - 19968: jis0208<<14 | 0x3A<<7 | 0x4C,
+ 27311 - 19968: jis0212<<14 | 0x24<<7 | 0x23,
+ 27312 - 19968: jis0212<<14 | 0x24<<7 | 0x24,
+ 27313 - 19968: jis0212<<14 | 0x24<<7 | 0x25,
+ 27315 - 19968: jis0208<<14 | 0x3C<<7 | 0x06,
+ 27316 - 19968: jis0212<<14 | 0x24<<7 | 0x26,
+ 27320 - 19968: jis0208<<14 | 0x3C<<7 | 0x05,
+ 27323 - 19968: jis0208<<14 | 0x3C<<7 | 0x02,
+ 27325 - 19968: jis0212<<14 | 0x24<<7 | 0x27,
+ 27326 - 19968: jis0212<<14 | 0x24<<7 | 0x28,
+ 27327 - 19968: jis0212<<14 | 0x24<<7 | 0x29,
+ 27329 - 19968: jis0208<<14 | 0x3B<<7 | 0x49,
+ 27330 - 19968: jis0208<<14 | 0x3C<<7 | 0x04,
+ 27331 - 19968: jis0208<<14 | 0x3C<<7 | 0x03,
+ 27334 - 19968: jis0212<<14 | 0x24<<7 | 0x2A,
+ 27336 - 19968: jis0212<<14 | 0x24<<7 | 0x2C,
+ 27337 - 19968: jis0212<<14 | 0x24<<7 | 0x2B,
+ 27340 - 19968: jis0212<<14 | 0x24<<7 | 0x2D,
+ 27344 - 19968: jis0212<<14 | 0x24<<7 | 0x2E,
+ 27345 - 19968: jis0208<<14 | 0x3C<<7 | 0x09,
+ 27347 - 19968: jis0208<<14 | 0x2E<<7 | 0x05,
+ 27348 - 19968: jis0212<<14 | 0x24<<7 | 0x2F,
+ 27349 - 19968: jis0212<<14 | 0x24<<7 | 0x30,
+ 27350 - 19968: jis0212<<14 | 0x24<<7 | 0x31,
+ 27354 - 19968: jis0208<<14 | 0x3C<<7 | 0x0C,
+ 27355 - 19968: jis0208<<14 | 0x15<<7 | 0x5A,
+ 27356 - 19968: jis0212<<14 | 0x24<<7 | 0x32,
+ 27357 - 19968: jis0212<<14 | 0x24<<7 | 0x33,
+ 27358 - 19968: jis0208<<14 | 0x3C<<7 | 0x08,
+ 27359 - 19968: jis0208<<14 | 0x3C<<7 | 0x0A,
+ 27362 - 19968: jis0208<<14 | 0x59<<7 | 0x37,
+ 27364 - 19968: jis0208<<14 | 0x59<<7 | 0x38,
+ 27367 - 19968: jis0212<<14 | 0x24<<7 | 0x35,
+ 27368 - 19968: jis0208<<14 | 0x27<<7 | 0x06,
+ 27370 - 19968: jis0208<<14 | 0x3C<<7 | 0x0D,
+ 27372 - 19968: jis0212<<14 | 0x24<<7 | 0x36,
+ 27376 - 19968: jis0212<<14 | 0x24<<7 | 0x37,
+ 27377 - 19968: jis0212<<14 | 0x24<<7 | 0x38,
+ 27378 - 19968: jis0212<<14 | 0x24<<7 | 0x39,
+ 27386 - 19968: jis0208<<14 | 0x3C<<7 | 0x11,
+ 27387 - 19968: jis0208<<14 | 0x3C<<7 | 0x0E,
+ 27388 - 19968: jis0212<<14 | 0x24<<7 | 0x3A,
+ 27389 - 19968: jis0212<<14 | 0x24<<7 | 0x3B,
+ 27394 - 19968: jis0212<<14 | 0x24<<7 | 0x3C,
+ 27395 - 19968: jis0212<<14 | 0x24<<7 | 0x3D,
+ 27396 - 19968: jis0208<<14 | 0x2C<<7 | 0x52,
+ 27397 - 19968: jis0208<<14 | 0x3C<<7 | 0x0F,
+ 27398 - 19968: jis0212<<14 | 0x24<<7 | 0x3E,
+ 27399 - 19968: jis0212<<14 | 0x24<<7 | 0x3F,
+ 27401 - 19968: jis0212<<14 | 0x24<<7 | 0x40,
+ 27402 - 19968: jis0208<<14 | 0x3B<<7 | 0x3D,
+ 27407 - 19968: jis0212<<14 | 0x24<<7 | 0x41,
+ 27408 - 19968: jis0212<<14 | 0x24<<7 | 0x42,
+ 27409 - 19968: jis0212<<14 | 0x24<<7 | 0x43,
+ 27410 - 19968: jis0208<<14 | 0x3C<<7 | 0x12,
+ 27414 - 19968: jis0208<<14 | 0x3C<<7 | 0x13,
+ 27415 - 19968: jis0212<<14 | 0x24<<7 | 0x44,
+ 27419 - 19968: jis0212<<14 | 0x24<<7 | 0x45,
+ 27421 - 19968: jis0208<<14 | 0x10<<7 | 0x14,
+ 27422 - 19968: jis0212<<14 | 0x24<<7 | 0x46,
+ 27423 - 19968: jis0208<<14 | 0x3C<<7 | 0x15,
+ 27424 - 19968: jis0208<<14 | 0x16<<7 | 0x46,
+ 27425 - 19968: jis0208<<14 | 0x1B<<7 | 0x00,
+ 27427 - 19968: jis0208<<14 | 0x15<<7 | 0x34,
+ 27428 - 19968: jis0212<<14 | 0x24<<7 | 0x47,
+ 27431 - 19968: jis0208<<14 | 0x11<<7 | 0x03,
+ 27432 - 19968: jis0212<<14 | 0x24<<7 | 0x48,
+ 27435 - 19968: jis0212<<14 | 0x24<<7 | 0x49,
+ 27436 - 19968: jis0212<<14 | 0x24<<7 | 0x4A,
+ 27439 - 19968: jis0212<<14 | 0x24<<7 | 0x4B,
+ 27442 - 19968: jis0208<<14 | 0x2C<<7 | 0x3E,
+ 27445 - 19968: jis0212<<14 | 0x24<<7 | 0x4C,
+ 27446 - 19968: jis0212<<14 | 0x24<<7 | 0x4D,
+ 27447 - 19968: jis0208<<14 | 0x3C<<7 | 0x17,
+ 27448 - 19968: jis0208<<14 | 0x3C<<7 | 0x16,
+ 27449 - 19968: jis0208<<14 | 0x3C<<7 | 0x19,
+ 27450 - 19968: jis0208<<14 | 0x14<<7 | 0x1C,
+ 27451 - 19968: jis0212<<14 | 0x24<<7 | 0x4E,
+ 27453 - 19968: jis0208<<14 | 0x15<<7 | 0x35,
+ 27454 - 19968: jis0208<<14 | 0x13<<7 | 0x1D,
+ 27455 - 19968: jis0212<<14 | 0x24<<7 | 0x4F,
+ 27459 - 19968: jis0208<<14 | 0x3C<<7 | 0x1C,
+ 27462 - 19968: jis0212<<14 | 0x24<<7 | 0x50,
+ 27463 - 19968: jis0208<<14 | 0x3C<<7 | 0x1B,
+ 27465 - 19968: jis0208<<14 | 0x3C<<7 | 0x1D,
+ 27466 - 19968: jis0212<<14 | 0x24<<7 | 0x51,
+ 27468 - 19968: jis0208<<14 | 0x11<<7 | 0x2D,
+ 27469 - 19968: jis0212<<14 | 0x24<<7 | 0x52,
+ 27470 - 19968: jis0208<<14 | 0x22<<7 | 0x16,
+ 27472 - 19968: jis0208<<14 | 0x3C<<7 | 0x1E,
+ 27474 - 19968: jis0212<<14 | 0x24<<7 | 0x53,
+ 27475 - 19968: jis0208<<14 | 0x13<<7 | 0x1E,
+ 27476 - 19968: jis0208<<14 | 0x3C<<7 | 0x20,
+ 27478 - 19968: jis0212<<14 | 0x24<<7 | 0x54,
+ 27480 - 19968: jis0212<<14 | 0x24<<7 | 0x55,
+ 27481 - 19968: jis0208<<14 | 0x3C<<7 | 0x1F,
+ 27483 - 19968: jis0208<<14 | 0x3C<<7 | 0x21,
+ 27485 - 19968: jis0212<<14 | 0x24<<7 | 0x56,
+ 27487 - 19968: jis0208<<14 | 0x3C<<7 | 0x22,
+ 27488 - 19968: jis0212<<14 | 0x24<<7 | 0x57,
+ 27489 - 19968: jis0208<<14 | 0x3C<<7 | 0x23,
+ 27490 - 19968: jis0208<<14 | 0x1A<<7 | 0x3E,
+ 27491 - 19968: jis0208<<14 | 0x1F<<7 | 0x14,
+ 27492 - 19968: jis0208<<14 | 0x19<<7 | 0x00,
+ 27494 - 19968: jis0208<<14 | 0x28<<7 | 0x4F,
+ 27495 - 19968: jis0212<<14 | 0x24<<7 | 0x58,
+ 27497 - 19968: jis0208<<14 | 0x29<<7 | 0x41,
+ 27498 - 19968: jis0208<<14 | 0x2E<<7 | 0x23,
+ 27499 - 19968: jis0212<<14 | 0x24<<7 | 0x59,
+ 27502 - 19968: jis0212<<14 | 0x24<<7 | 0x5A,
+ 27503 - 19968: jis0208<<14 | 0x1A<<7 | 0x54,
+ 27504 - 19968: jis0212<<14 | 0x24<<7 | 0x5B,
+ 27507 - 19968: jis0208<<14 | 0x19<<7 | 0x2F,
+ 27508 - 19968: jis0208<<14 | 0x2D<<7 | 0x51,
+ 27509 - 19968: jis0212<<14 | 0x24<<7 | 0x5C,
+ 27512 - 19968: jis0208<<14 | 0x3C<<7 | 0x24,
+ 27513 - 19968: jis0208<<14 | 0x3C<<7 | 0x25,
+ 27515 - 19968: jis0208<<14 | 0x1A<<7 | 0x3F,
+ 27517 - 19968: jis0212<<14 | 0x24<<7 | 0x5D,
+ 27518 - 19968: jis0212<<14 | 0x25<<7 | 0x00,
+ 27519 - 19968: jis0208<<14 | 0x3C<<7 | 0x26,
+ 27520 - 19968: jis0208<<14 | 0x3C<<7 | 0x27,
+ 27522 - 19968: jis0212<<14 | 0x25<<7 | 0x01,
+ 27523 - 19968: jis0208<<14 | 0x3C<<7 | 0x29,
+ 27524 - 19968: jis0208<<14 | 0x3C<<7 | 0x28,
+ 27525 - 19968: jis0212<<14 | 0x25<<7 | 0x02,
+ 27526 - 19968: jis0208<<14 | 0x2A<<7 | 0x37,
+ 27529 - 19968: jis0208<<14 | 0x1C<<7 | 0x3D,
+ 27530 - 19968: jis0208<<14 | 0x1B<<7 | 0x4B,
+ 27531 - 19968: jis0208<<14 | 0x1A<<7 | 0x23,
+ 27533 - 19968: jis0208<<14 | 0x3C<<7 | 0x2A,
+ 27541 - 19968: jis0208<<14 | 0x3C<<7 | 0x2C,
+ 27542 - 19968: jis0208<<14 | 0x1E<<7 | 0x02,
+ 27543 - 19968: jis0212<<14 | 0x25<<7 | 0x03,
+ 27544 - 19968: jis0208<<14 | 0x3C<<7 | 0x2B,
+ 27547 - 19968: jis0212<<14 | 0x25<<7 | 0x04,
+ 27550 - 19968: jis0208<<14 | 0x3C<<7 | 0x2D,
+ 27551 - 19968: jis0212<<14 | 0x25<<7 | 0x05,
+ 27552 - 19968: jis0212<<14 | 0x25<<7 | 0x06,
+ 27554 - 19968: jis0212<<14 | 0x25<<7 | 0x07,
+ 27555 - 19968: jis0212<<14 | 0x25<<7 | 0x08,
+ 27556 - 19968: jis0208<<14 | 0x3C<<7 | 0x2E,
+ 27560 - 19968: jis0212<<14 | 0x25<<7 | 0x09,
+ 27561 - 19968: jis0212<<14 | 0x25<<7 | 0x0A,
+ 27562 - 19968: jis0208<<14 | 0x3C<<7 | 0x2F,
+ 27563 - 19968: jis0208<<14 | 0x3C<<7 | 0x30,
+ 27564 - 19968: jis0212<<14 | 0x25<<7 | 0x0B,
+ 27565 - 19968: jis0212<<14 | 0x25<<7 | 0x0C,
+ 27566 - 19968: jis0212<<14 | 0x25<<7 | 0x0D,
+ 27567 - 19968: jis0208<<14 | 0x3C<<7 | 0x31,
+ 27568 - 19968: jis0212<<14 | 0x25<<7 | 0x0E,
+ 27569 - 19968: jis0208<<14 | 0x3C<<7 | 0x33,
+ 27570 - 19968: jis0208<<14 | 0x3C<<7 | 0x32,
+ 27571 - 19968: jis0208<<14 | 0x3C<<7 | 0x34,
+ 27572 - 19968: jis0208<<14 | 0x11<<7 | 0x04,
+ 27573 - 19968: jis0208<<14 | 0x22<<7 | 0x29,
+ 27575 - 19968: jis0208<<14 | 0x3C<<7 | 0x35,
+ 27576 - 19968: jis0212<<14 | 0x25<<7 | 0x0F,
+ 27577 - 19968: jis0212<<14 | 0x25<<7 | 0x10,
+ 27578 - 19968: jis0208<<14 | 0x1A<<7 | 0x05,
+ 27579 - 19968: jis0208<<14 | 0x12<<7 | 0x2B,
+ 27580 - 19968: jis0208<<14 | 0x3C<<7 | 0x36,
+ 27581 - 19968: jis0212<<14 | 0x25<<7 | 0x11,
+ 27582 - 19968: jis0212<<14 | 0x25<<7 | 0x12,
+ 27583 - 19968: jis0208<<14 | 0x24<<7 | 0x21,
+ 27584 - 19968: jis0208<<14 | 0x33<<7 | 0x2B,
+ 27587 - 19968: jis0212<<14 | 0x25<<7 | 0x13,
+ 27588 - 19968: jis0212<<14 | 0x25<<7 | 0x14,
+ 27589 - 19968: jis0208<<14 | 0x14<<7 | 0x02,
+ 27590 - 19968: jis0208<<14 | 0x3C<<7 | 0x37,
+ 27593 - 19968: jis0212<<14 | 0x25<<7 | 0x15,
+ 27595 - 19968: jis0208<<14 | 0x3C<<7 | 0x38,
+ 27596 - 19968: jis0212<<14 | 0x25<<7 | 0x16,
+ 27597 - 19968: jis0208<<14 | 0x29<<7 | 0x4B,
+ 27598 - 19968: jis0208<<14 | 0x2A<<7 | 0x47,
+ 27602 - 19968: jis0208<<14 | 0x25<<7 | 0x26,
+ 27603 - 19968: jis0208<<14 | 0x3C<<7 | 0x39,
+ 27604 - 19968: jis0208<<14 | 0x27<<7 | 0x45,
+ 27606 - 19968: jis0208<<14 | 0x59<<7 | 0x39,
+ 27608 - 19968: jis0208<<14 | 0x27<<7 | 0x5A,
+ 27610 - 19968: jis0212<<14 | 0x25<<7 | 0x18,
+ 27611 - 19968: jis0208<<14 | 0x2B<<7 | 0x32,
+ 27615 - 19968: jis0208<<14 | 0x3C<<7 | 0x3A,
+ 27617 - 19968: jis0212<<14 | 0x25<<7 | 0x19,
+ 27619 - 19968: jis0212<<14 | 0x25<<7 | 0x1A,
+ 27622 - 19968: jis0212<<14 | 0x25<<7 | 0x1B,
+ 27623 - 19968: jis0212<<14 | 0x25<<7 | 0x1C,
+ 27627 - 19968: jis0208<<14 | 0x3C<<7 | 0x3C,
+ 27628 - 19968: jis0208<<14 | 0x3C<<7 | 0x3B,
+ 27630 - 19968: jis0212<<14 | 0x25<<7 | 0x1D,
+ 27631 - 19968: jis0208<<14 | 0x3C<<7 | 0x3E,
+ 27633 - 19968: jis0212<<14 | 0x25<<7 | 0x1E,
+ 27635 - 19968: jis0208<<14 | 0x3C<<7 | 0x3D,
+ 27639 - 19968: jis0212<<14 | 0x25<<7 | 0x1F,
+ 27641 - 19968: jis0212<<14 | 0x25<<7 | 0x20,
+ 27647 - 19968: jis0212<<14 | 0x25<<7 | 0x21,
+ 27650 - 19968: jis0212<<14 | 0x25<<7 | 0x22,
+ 27652 - 19968: jis0212<<14 | 0x25<<7 | 0x23,
+ 27653 - 19968: jis0212<<14 | 0x25<<7 | 0x24,
+ 27656 - 19968: jis0208<<14 | 0x3C<<7 | 0x40,
+ 27657 - 19968: jis0212<<14 | 0x25<<7 | 0x25,
+ 27661 - 19968: jis0212<<14 | 0x25<<7 | 0x26,
+ 27662 - 19968: jis0212<<14 | 0x25<<7 | 0x27,
+ 27663 - 19968: jis0208<<14 | 0x1A<<7 | 0x40,
+ 27664 - 19968: jis0212<<14 | 0x25<<7 | 0x28,
+ 27665 - 19968: jis0208<<14 | 0x2B<<7 | 0x10,
+ 27666 - 19968: jis0212<<14 | 0x25<<7 | 0x29,
+ 27667 - 19968: jis0208<<14 | 0x3C<<7 | 0x41,
+ 27668 - 19968: jis0208<<14 | 0x3C<<7 | 0x42,
+ 27671 - 19968: jis0208<<14 | 0x14<<7 | 0x03,
+ 27673 - 19968: jis0212<<14 | 0x25<<7 | 0x2A,
+ 27675 - 19968: jis0208<<14 | 0x3C<<7 | 0x43,
+ 27679 - 19968: jis0212<<14 | 0x25<<7 | 0x2B,
+ 27683 - 19968: jis0208<<14 | 0x3C<<7 | 0x45,
+ 27684 - 19968: jis0208<<14 | 0x3C<<7 | 0x44,
+ 27686 - 19968: jis0212<<14 | 0x25<<7 | 0x2C,
+ 27687 - 19968: jis0212<<14 | 0x25<<7 | 0x2D,
+ 27688 - 19968: jis0212<<14 | 0x25<<7 | 0x2E,
+ 27692 - 19968: jis0212<<14 | 0x25<<7 | 0x2F,
+ 27694 - 19968: jis0212<<14 | 0x25<<7 | 0x30,
+ 27699 - 19968: jis0212<<14 | 0x25<<7 | 0x31,
+ 27700 - 19968: jis0208<<14 | 0x1E<<7 | 0x44,
+ 27701 - 19968: jis0212<<14 | 0x25<<7 | 0x32,
+ 27702 - 19968: jis0212<<14 | 0x25<<7 | 0x33,
+ 27703 - 19968: jis0208<<14 | 0x28<<7 | 0x18,
+ 27704 - 19968: jis0208<<14 | 0x10<<7 | 0x29,
+ 27706 - 19968: jis0212<<14 | 0x25<<7 | 0x34,
+ 27707 - 19968: jis0212<<14 | 0x25<<7 | 0x35,
+ 27710 - 19968: jis0208<<14 | 0x27<<7 | 0x24,
+ 27711 - 19968: jis0208<<14 | 0x59<<7 | 0x3A,
+ 27712 - 19968: jis0208<<14 | 0x23<<7 | 0x54,
+ 27713 - 19968: jis0208<<14 | 0x1C<<7 | 0x20,
+ 27714 - 19968: jis0208<<14 | 0x14<<7 | 0x40,
+ 27722 - 19968: jis0212<<14 | 0x25<<7 | 0x37,
+ 27723 - 19968: jis0212<<14 | 0x25<<7 | 0x38,
+ 27725 - 19968: jis0212<<14 | 0x25<<7 | 0x39,
+ 27726 - 19968: jis0208<<14 | 0x27<<7 | 0x25,
+ 27727 - 19968: jis0212<<14 | 0x25<<7 | 0x3A,
+ 27728 - 19968: jis0208<<14 | 0x1B<<7 | 0x0D,
+ 27730 - 19968: jis0212<<14 | 0x25<<7 | 0x3B,
+ 27732 - 19968: jis0212<<14 | 0x25<<7 | 0x3C,
+ 27733 - 19968: jis0208<<14 | 0x3C<<7 | 0x47,
+ 27735 - 19968: jis0208<<14 | 0x13<<7 | 0x1F,
+ 27737 - 19968: jis0212<<14 | 0x25<<7 | 0x3D,
+ 27738 - 19968: jis0208<<14 | 0x10<<7 | 0x57,
+ 27739 - 19968: jis0212<<14 | 0x25<<7 | 0x3E,
+ 27740 - 19968: jis0208<<14 | 0x59<<7 | 0x3B,
+ 27741 - 19968: jis0208<<14 | 0x25<<7 | 0x51,
+ 27742 - 19968: jis0208<<14 | 0x3C<<7 | 0x46,
+ 27743 - 19968: jis0208<<14 | 0x18<<7 | 0x1D,
+ 27744 - 19968: jis0208<<14 | 0x22<<7 | 0x32,
+ 27746 - 19968: jis0208<<14 | 0x3C<<7 | 0x48,
+ 27751 - 19968: jis0212<<14 | 0x26<<7 | 0x15,
+ 27752 - 19968: jis0208<<14 | 0x3C<<7 | 0x50,
+ 27754 - 19968: jis0208<<14 | 0x3C<<7 | 0x49,
+ 27755 - 19968: jis0212<<14 | 0x25<<7 | 0x40,
+ 27757 - 19968: jis0212<<14 | 0x25<<7 | 0x41,
+ 27759 - 19968: jis0208<<14 | 0x59<<7 | 0x3D,
+ 27760 - 19968: jis0208<<14 | 0x21<<7 | 0x20,
+ 27762 - 19968: jis0208<<14 | 0x14<<7 | 0x41,
+ 27763 - 19968: jis0208<<14 | 0x3C<<7 | 0x51,
+ 27764 - 19968: jis0212<<14 | 0x25<<7 | 0x43,
+ 27766 - 19968: jis0212<<14 | 0x25<<7 | 0x44,
+ 27768 - 19968: jis0212<<14 | 0x25<<7 | 0x45,
+ 27769 - 19968: jis0212<<14 | 0x25<<7 | 0x46,
+ 27770 - 19968: jis0208<<14 | 0x16<<7 | 0x47,
+ 27771 - 19968: jis0212<<14 | 0x25<<7 | 0x47,
+ 27773 - 19968: jis0208<<14 | 0x14<<7 | 0x04,
+ 27774 - 19968: jis0208<<14 | 0x3C<<7 | 0x4F,
+ 27777 - 19968: jis0208<<14 | 0x3C<<7 | 0x4D,
+ 27778 - 19968: jis0208<<14 | 0x3C<<7 | 0x4A,
+ 27779 - 19968: jis0208<<14 | 0x2C<<7 | 0x3F,
+ 27781 - 19968: jis0212<<14 | 0x25<<7 | 0x48,
+ 27782 - 19968: jis0208<<14 | 0x59<<7 | 0x3C,
+ 27783 - 19968: jis0212<<14 | 0x25<<7 | 0x4A,
+ 27784 - 19968: jis0208<<14 | 0x23<<7 | 0x1F,
+ 27785 - 19968: jis0212<<14 | 0x25<<7 | 0x4B,
+ 27788 - 19968: jis0208<<14 | 0x25<<7 | 0x38,
+ 27789 - 19968: jis0208<<14 | 0x3C<<7 | 0x4B,
+ 27792 - 19968: jis0208<<14 | 0x3C<<7 | 0x53,
+ 27794 - 19968: jis0208<<14 | 0x3C<<7 | 0x52,
+ 27795 - 19968: jis0208<<14 | 0x16<<7 | 0x02,
+ 27796 - 19968: jis0212<<14 | 0x25<<7 | 0x4C,
+ 27797 - 19968: jis0212<<14 | 0x25<<7 | 0x4D,
+ 27798 - 19968: jis0208<<14 | 0x11<<7 | 0x0C,
+ 27799 - 19968: jis0212<<14 | 0x25<<7 | 0x4E,
+ 27800 - 19968: jis0212<<14 | 0x25<<7 | 0x4F,
+ 27801 - 19968: jis0208<<14 | 0x19<<7 | 0x1A,
+ 27802 - 19968: jis0208<<14 | 0x3C<<7 | 0x4C,
+ 27803 - 19968: jis0208<<14 | 0x3C<<7 | 0x4E,
+ 27804 - 19968: jis0212<<14 | 0x25<<7 | 0x50,
+ 27807 - 19968: jis0212<<14 | 0x25<<7 | 0x51,
+ 27809 - 19968: jis0208<<14 | 0x2A<<7 | 0x36,
+ 27810 - 19968: jis0208<<14 | 0x21<<7 | 0x53,
+ 27819 - 19968: jis0208<<14 | 0x2A<<7 | 0x56,
+ 27822 - 19968: jis0208<<14 | 0x3C<<7 | 0x5B,
+ 27824 - 19968: jis0212<<14 | 0x25<<7 | 0x52,
+ 27825 - 19968: jis0208<<14 | 0x3C<<7 | 0x5C,
+ 27826 - 19968: jis0212<<14 | 0x25<<7 | 0x53,
+ 27827 - 19968: jis0208<<14 | 0x11<<7 | 0x2E,
+ 27828 - 19968: jis0212<<14 | 0x25<<7 | 0x54,
+ 27832 - 19968: jis0208<<14 | 0x29<<7 | 0x07,
+ 27833 - 19968: jis0208<<14 | 0x2B<<7 | 0x5C,
+ 27834 - 19968: jis0208<<14 | 0x3D<<7 | 0x00,
+ 27835 - 19968: jis0208<<14 | 0x1B<<7 | 0x02,
+ 27836 - 19968: jis0208<<14 | 0x1D<<7 | 0x21,
+ 27837 - 19968: jis0208<<14 | 0x3C<<7 | 0x57,
+ 27838 - 19968: jis0208<<14 | 0x3C<<7 | 0x5D,
+ 27839 - 19968: jis0208<<14 | 0x10<<7 | 0x47,
+ 27841 - 19968: jis0208<<14 | 0x15<<7 | 0x16,
+ 27842 - 19968: jis0212<<14 | 0x25<<7 | 0x55,
+ 27844 - 19968: jis0208<<14 | 0x3C<<7 | 0x54,
+ 27845 - 19968: jis0208<<14 | 0x3C<<7 | 0x59,
+ 27846 - 19968: jis0212<<14 | 0x25<<7 | 0x56,
+ 27849 - 19968: jis0208<<14 | 0x1F<<7 | 0x53,
+ 27850 - 19968: jis0208<<14 | 0x26<<7 | 0x50,
+ 27852 - 19968: jis0208<<14 | 0x27<<7 | 0x46,
+ 27853 - 19968: jis0212<<14 | 0x25<<7 | 0x57,
+ 27855 - 19968: jis0212<<14 | 0x25<<7 | 0x58,
+ 27856 - 19968: jis0212<<14 | 0x25<<7 | 0x59,
+ 27857 - 19968: jis0212<<14 | 0x25<<7 | 0x5A,
+ 27858 - 19968: jis0212<<14 | 0x25<<7 | 0x5B,
+ 27859 - 19968: jis0208<<14 | 0x3C<<7 | 0x56,
+ 27860 - 19968: jis0212<<14 | 0x25<<7 | 0x5C,
+ 27861 - 19968: jis0208<<14 | 0x2A<<7 | 0x00,
+ 27862 - 19968: jis0212<<14 | 0x25<<7 | 0x5D,
+ 27863 - 19968: jis0208<<14 | 0x3C<<7 | 0x58,
+ 27865 - 19968: jis0208<<14 | 0x3D<<7 | 0x03,
+ 27866 - 19968: jis0208<<14 | 0x59<<7 | 0x3E,
+ 27867 - 19968: jis0208<<14 | 0x3D<<7 | 0x01,
+ 27868 - 19968: jis0212<<14 | 0x26<<7 | 0x01,
+ 27869 - 19968: jis0208<<14 | 0x3C<<7 | 0x5A,
+ 27872 - 19968: jis0212<<14 | 0x26<<7 | 0x02,
+ 27873 - 19968: jis0208<<14 | 0x2A<<7 | 0x01,
+ 27874 - 19968: jis0208<<14 | 0x26<<7 | 0x27,
+ 27875 - 19968: jis0208<<14 | 0x14<<7 | 0x42,
+ 27877 - 19968: jis0208<<14 | 0x24<<7 | 0x04,
+ 27879 - 19968: jis0212<<14 | 0x26<<7 | 0x03,
+ 27880 - 19968: jis0208<<14 | 0x22<<7 | 0x4C,
+ 27881 - 19968: jis0212<<14 | 0x26<<7 | 0x04,
+ 27882 - 19968: jis0208<<14 | 0x3D<<7 | 0x04,
+ 27883 - 19968: jis0212<<14 | 0x26<<7 | 0x05,
+ 27884 - 19968: jis0212<<14 | 0x26<<7 | 0x06,
+ 27886 - 19968: jis0212<<14 | 0x26<<7 | 0x07,
+ 27887 - 19968: jis0208<<14 | 0x3D<<7 | 0x02,
+ 27888 - 19968: jis0208<<14 | 0x21<<7 | 0x38,
+ 27889 - 19968: jis0208<<14 | 0x3C<<7 | 0x55,
+ 27890 - 19968: jis0212<<14 | 0x26<<7 | 0x08,
+ 27891 - 19968: jis0208<<14 | 0x10<<7 | 0x2A,
+ 27892 - 19968: jis0212<<14 | 0x26<<7 | 0x09,
+ 27908 - 19968: jis0208<<14 | 0x59<<7 | 0x3F,
+ 27911 - 19968: jis0212<<14 | 0x26<<7 | 0x0B,
+ 27914 - 19968: jis0212<<14 | 0x26<<7 | 0x0C,
+ 27915 - 19968: jis0208<<14 | 0x2C<<7 | 0x2D,
+ 27916 - 19968: jis0208<<14 | 0x3D<<7 | 0x0F,
+ 27918 - 19968: jis0212<<14 | 0x26<<7 | 0x0D,
+ 27919 - 19968: jis0212<<14 | 0x26<<7 | 0x0E,
+ 27921 - 19968: jis0212<<14 | 0x26<<7 | 0x0F,
+ 27922 - 19968: jis0208<<14 | 0x3D<<7 | 0x0E,
+ 27923 - 19968: jis0212<<14 | 0x26<<7 | 0x10,
+ 27927 - 19968: jis0208<<14 | 0x1F<<7 | 0x55,
+ 27929 - 19968: jis0208<<14 | 0x3D<<7 | 0x0B,
+ 27930 - 19968: jis0212<<14 | 0x26<<7 | 0x11,
+ 27931 - 19968: jis0208<<14 | 0x2C<<7 | 0x4B,
+ 27934 - 19968: jis0208<<14 | 0x25<<7 | 0x15,
+ 27935 - 19968: jis0208<<14 | 0x3D<<7 | 0x05,
+ 27941 - 19968: jis0208<<14 | 0x23<<7 | 0x24,
+ 27942 - 19968: jis0212<<14 | 0x26<<7 | 0x12,
+ 27943 - 19968: jis0212<<14 | 0x26<<7 | 0x13,
+ 27944 - 19968: jis0212<<14 | 0x26<<7 | 0x14,
+ 27945 - 19968: jis0208<<14 | 0x10<<7 | 0x2B,
+ 27946 - 19968: jis0208<<14 | 0x18<<7 | 0x1E,
+ 27947 - 19968: jis0208<<14 | 0x3D<<7 | 0x08,
+ 27950 - 19968: jis0212<<14 | 0x26<<7 | 0x16,
+ 27951 - 19968: jis0212<<14 | 0x26<<7 | 0x17,
+ 27953 - 19968: jis0212<<14 | 0x26<<7 | 0x18,
+ 27954 - 19968: jis0208<<14 | 0x1C<<7 | 0x06,
+ 27955 - 19968: jis0208<<14 | 0x3D<<7 | 0x0D,
+ 27957 - 19968: jis0208<<14 | 0x3D<<7 | 0x0C,
+ 27958 - 19968: jis0208<<14 | 0x3D<<7 | 0x07,
+ 27960 - 19968: jis0208<<14 | 0x3D<<7 | 0x0A,
+ 27961 - 19968: jis0212<<14 | 0x26<<7 | 0x19,
+ 27963 - 19968: jis0208<<14 | 0x12<<7 | 0x47,
+ 27964 - 19968: jis0212<<14 | 0x26<<7 | 0x1A,
+ 27965 - 19968: jis0208<<14 | 0x3D<<7 | 0x09,
+ 27966 - 19968: jis0208<<14 | 0x26<<7 | 0x28,
+ 27967 - 19968: jis0212<<14 | 0x26<<7 | 0x1B,
+ 27969 - 19968: jis0208<<14 | 0x2D<<7 | 0x0D,
+ 27972 - 19968: jis0208<<14 | 0x1D<<7 | 0x53,
+ 27973 - 19968: jis0208<<14 | 0x1F<<7 | 0x54,
+ 27991 - 19968: jis0212<<14 | 0x26<<7 | 0x1C,
+ 27993 - 19968: jis0208<<14 | 0x3D<<7 | 0x15,
+ 27994 - 19968: jis0208<<14 | 0x3D<<7 | 0x13,
+ 27996 - 19968: jis0208<<14 | 0x28<<7 | 0x2C,
+ 27998 - 19968: jis0212<<14 | 0x26<<7 | 0x1D,
+ 27999 - 19968: jis0212<<14 | 0x26<<7 | 0x1E,
+ 28001 - 19968: jis0212<<14 | 0x26<<7 | 0x1F,
+ 28003 - 19968: jis0208<<14 | 0x3D<<7 | 0x10,
+ 28004 - 19968: jis0208<<14 | 0x3D<<7 | 0x12,
+ 28005 - 19968: jis0212<<14 | 0x26<<7 | 0x20,
+ 28006 - 19968: jis0208<<14 | 0x10<<7 | 0x19,
+ 28007 - 19968: jis0212<<14 | 0x26<<7 | 0x21,
+ 28009 - 19968: jis0208<<14 | 0x18<<7 | 0x1F,
+ 28010 - 19968: jis0208<<14 | 0x2E<<7 | 0x11,
+ 28012 - 19968: jis0208<<14 | 0x12<<7 | 0x1C,
+ 28014 - 19968: jis0208<<14 | 0x28<<7 | 0x41,
+ 28015 - 19968: jis0208<<14 | 0x59<<7 | 0x41,
+ 28016 - 19968: jis0212<<14 | 0x26<<7 | 0x23,
+ 28020 - 19968: jis0208<<14 | 0x2C<<7 | 0x40,
+ 28023 - 19968: jis0208<<14 | 0x12<<7 | 0x03,
+ 28024 - 19968: jis0208<<14 | 0x1E<<7 | 0x1A,
+ 28025 - 19968: jis0208<<14 | 0x3D<<7 | 0x14,
+ 28028 - 19968: jis0212<<14 | 0x26<<7 | 0x24,
+ 28034 - 19968: jis0212<<14 | 0x26<<7 | 0x25,
+ 28037 - 19968: jis0208<<14 | 0x3D<<7 | 0x19,
+ 28039 - 19968: jis0208<<14 | 0x59<<7 | 0x40,
+ 28040 - 19968: jis0208<<14 | 0x1D<<7 | 0x22,
+ 28044 - 19968: jis0208<<14 | 0x2C<<7 | 0x0F,
+ 28046 - 19968: jis0208<<14 | 0x3D<<7 | 0x16,
+ 28049 - 19968: jis0212<<14 | 0x26<<7 | 0x27,
+ 28050 - 19968: jis0212<<14 | 0x26<<7 | 0x28,
+ 28051 - 19968: jis0208<<14 | 0x3D<<7 | 0x11,
+ 28052 - 19968: jis0212<<14 | 0x26<<7 | 0x29,
+ 28053 - 19968: jis0208<<14 | 0x3D<<7 | 0x17,
+ 28054 - 19968: jis0208<<14 | 0x59<<7 | 0x42,
+ 28055 - 19968: jis0212<<14 | 0x26<<7 | 0x2B,
+ 28056 - 19968: jis0212<<14 | 0x26<<7 | 0x2C,
+ 28057 - 19968: jis0208<<14 | 0x2D<<7 | 0x3D,
+ 28059 - 19968: jis0208<<14 | 0x24<<7 | 0x52,
+ 28060 - 19968: jis0208<<14 | 0x25<<7 | 0x21,
+ 28074 - 19968: jis0212<<14 | 0x26<<7 | 0x2D,
+ 28076 - 19968: jis0208<<14 | 0x59<<7 | 0x43,
+ 28079 - 19968: jis0208<<14 | 0x12<<7 | 0x15,
+ 28082 - 19968: jis0208<<14 | 0x10<<7 | 0x34,
+ 28084 - 19968: jis0212<<14 | 0x26<<7 | 0x2F,
+ 28085 - 19968: jis0208<<14 | 0x3D<<7 | 0x1D,
+ 28087 - 19968: jis0212<<14 | 0x26<<7 | 0x30,
+ 28088 - 19968: jis0208<<14 | 0x3D<<7 | 0x20,
+ 28089 - 19968: jis0212<<14 | 0x26<<7 | 0x31,
+ 28092 - 19968: jis0208<<14 | 0x2D<<7 | 0x22,
+ 28093 - 19968: jis0212<<14 | 0x26<<7 | 0x32,
+ 28095 - 19968: jis0212<<14 | 0x26<<7 | 0x33,
+ 28096 - 19968: jis0208<<14 | 0x2C<<7 | 0x43,
+ 28100 - 19968: jis0212<<14 | 0x26<<7 | 0x34,
+ 28101 - 19968: jis0208<<14 | 0x3D<<7 | 0x27,
+ 28102 - 19968: jis0208<<14 | 0x3D<<7 | 0x21,
+ 28103 - 19968: jis0208<<14 | 0x3D<<7 | 0x1E,
+ 28104 - 19968: jis0212<<14 | 0x26<<7 | 0x35,
+ 28106 - 19968: jis0212<<14 | 0x26<<7 | 0x36,
+ 28107 - 19968: jis0208<<14 | 0x2D<<7 | 0x33,
+ 28108 - 19968: jis0208<<14 | 0x3D<<7 | 0x24,
+ 28110 - 19968: jis0212<<14 | 0x26<<7 | 0x37,
+ 28111 - 19968: jis0208<<14 | 0x59<<7 | 0x44,
+ 28113 - 19968: jis0208<<14 | 0x1C<<7 | 0x29,
+ 28114 - 19968: jis0208<<14 | 0x3D<<7 | 0x26,
+ 28117 - 19968: jis0208<<14 | 0x3D<<7 | 0x2B,
+ 28118 - 19968: jis0212<<14 | 0x26<<7 | 0x39,
+ 28120 - 19968: jis0208<<14 | 0x24<<7 | 0x50,
+ 28121 - 19968: jis0208<<14 | 0x3D<<7 | 0x29,
+ 28123 - 19968: jis0212<<14 | 0x26<<7 | 0x3A,
+ 28125 - 19968: jis0212<<14 | 0x26<<7 | 0x3B,
+ 28126 - 19968: jis0208<<14 | 0x3D<<7 | 0x23,
+ 28127 - 19968: jis0212<<14 | 0x26<<7 | 0x3C,
+ 28128 - 19968: jis0212<<14 | 0x26<<7 | 0x3D,
+ 28129 - 19968: jis0208<<14 | 0x22<<7 | 0x17,
+ 28130 - 19968: jis0212<<14 | 0x26<<7 | 0x3E,
+ 28132 - 19968: jis0208<<14 | 0x3D<<7 | 0x2A,
+ 28133 - 19968: jis0212<<14 | 0x26<<7 | 0x3F,
+ 28134 - 19968: jis0208<<14 | 0x3D<<7 | 0x1F,
+ 28136 - 19968: jis0208<<14 | 0x3D<<7 | 0x25,
+ 28137 - 19968: jis0212<<14 | 0x26<<7 | 0x40,
+ 28138 - 19968: jis0208<<14 | 0x3D<<7 | 0x2C,
+ 28139 - 19968: jis0208<<14 | 0x0F<<7 | 0x5B,
+ 28140 - 19968: jis0208<<14 | 0x3D<<7 | 0x22,
+ 28142 - 19968: jis0208<<14 | 0x3D<<7 | 0x2D,
+ 28143 - 19968: jis0212<<14 | 0x26<<7 | 0x41,
+ 28144 - 19968: jis0212<<14 | 0x26<<7 | 0x42,
+ 28145 - 19968: jis0208<<14 | 0x1E<<7 | 0x1B,
+ 28146 - 19968: jis0208<<14 | 0x59<<7 | 0x46,
+ 28147 - 19968: jis0208<<14 | 0x1C<<7 | 0x3E,
+ 28148 - 19968: jis0212<<14 | 0x26<<7 | 0x43,
+ 28149 - 19968: jis0208<<14 | 0x29<<7 | 0x04,
+ 28150 - 19968: jis0212<<14 | 0x26<<7 | 0x44,
+ 28151 - 19968: jis0208<<14 | 0x19<<7 | 0x0D,
+ 28152 - 19968: jis0208<<14 | 0x59<<7 | 0x45,
+ 28153 - 19968: jis0208<<14 | 0x3D<<7 | 0x1A,
+ 28154 - 19968: jis0208<<14 | 0x3D<<7 | 0x28,
+ 28155 - 19968: jis0208<<14 | 0x24<<7 | 0x19,
+ 28156 - 19968: jis0208<<14 | 0x59<<7 | 0x47,
+ 28160 - 19968: jis0212<<14 | 0x26<<7 | 0x46,
+ 28164 - 19968: jis0212<<14 | 0x26<<7 | 0x47,
+ 28165 - 19968: jis0208<<14 | 0x1F<<7 | 0x15,
+ 28167 - 19968: jis0208<<14 | 0x12<<7 | 0x48,
+ 28168 - 19968: jis0208<<14 | 0x19<<7 | 0x30,
+ 28169 - 19968: jis0208<<14 | 0x1D<<7 | 0x23,
+ 28170 - 19968: jis0208<<14 | 0x3D<<7 | 0x1C,
+ 28171 - 19968: jis0208<<14 | 0x1C<<7 | 0x21,
+ 28179 - 19968: jis0208<<14 | 0x16<<7 | 0x2B,
+ 28181 - 19968: jis0208<<14 | 0x3D<<7 | 0x1B,
+ 28185 - 19968: jis0208<<14 | 0x3D<<7 | 0x31,
+ 28186 - 19968: jis0208<<14 | 0x1C<<7 | 0x4C,
+ 28187 - 19968: jis0208<<14 | 0x17<<7 | 0x19,
+ 28189 - 19968: jis0208<<14 | 0x3D<<7 | 0x40,
+ 28190 - 19968: jis0212<<14 | 0x26<<7 | 0x48,
+ 28191 - 19968: jis0208<<14 | 0x3D<<7 | 0x3A,
+ 28192 - 19968: jis0208<<14 | 0x14<<7 | 0x53,
+ 28193 - 19968: jis0208<<14 | 0x24<<7 | 0x2E,
+ 28194 - 19968: jis0212<<14 | 0x26<<7 | 0x49,
+ 28195 - 19968: jis0208<<14 | 0x3D<<7 | 0x35,
+ 28196 - 19968: jis0208<<14 | 0x3D<<7 | 0x3E,
+ 28197 - 19968: jis0208<<14 | 0x0F<<7 | 0x0E,
+ 28198 - 19968: jis0208<<14 | 0x10<<7 | 0x11,
+ 28199 - 19968: jis0208<<14 | 0x59<<7 | 0x4A,
+ 28201 - 19968: jis0208<<14 | 0x11<<7 | 0x18,
+ 28203 - 19968: jis0208<<14 | 0x3D<<7 | 0x37,
+ 28204 - 19968: jis0208<<14 | 0x21<<7 | 0x0B,
+ 28205 - 19968: jis0208<<14 | 0x3D<<7 | 0x2E,
+ 28206 - 19968: jis0208<<14 | 0x3D<<7 | 0x30,
+ 28207 - 19968: jis0208<<14 | 0x18<<7 | 0x20,
+ 28210 - 19968: jis0212<<14 | 0x26<<7 | 0x4B,
+ 28214 - 19968: jis0212<<14 | 0x26<<7 | 0x4C,
+ 28216 - 19968: jis0208<<14 | 0x3D<<7 | 0x41,
+ 28217 - 19968: jis0208<<14 | 0x59<<7 | 0x48,
+ 28218 - 19968: jis0208<<14 | 0x3D<<7 | 0x3C,
+ 28219 - 19968: jis0212<<14 | 0x26<<7 | 0x4E,
+ 28220 - 19968: jis0208<<14 | 0x59<<7 | 0x4B,
+ 28222 - 19968: jis0208<<14 | 0x3D<<7 | 0x34,
+ 28227 - 19968: jis0208<<14 | 0x3D<<7 | 0x3B,
+ 28228 - 19968: jis0212<<14 | 0x26<<7 | 0x50,
+ 28229 - 19968: jis0212<<14 | 0x26<<7 | 0x51,
+ 28232 - 19968: jis0212<<14 | 0x26<<7 | 0x52,
+ 28233 - 19968: jis0212<<14 | 0x26<<7 | 0x53,
+ 28234 - 19968: jis0208<<14 | 0x2B<<7 | 0x0A,
+ 28235 - 19968: jis0212<<14 | 0x26<<7 | 0x54,
+ 28237 - 19968: jis0208<<14 | 0x3D<<7 | 0x39,
+ 28238 - 19968: jis0208<<14 | 0x3D<<7 | 0x3D,
+ 28239 - 19968: jis0212<<14 | 0x26<<7 | 0x55,
+ 28241 - 19968: jis0212<<14 | 0x26<<7 | 0x56,
+ 28242 - 19968: jis0212<<14 | 0x26<<7 | 0x57,
+ 28243 - 19968: jis0212<<14 | 0x26<<7 | 0x58,
+ 28244 - 19968: jis0212<<14 | 0x26<<7 | 0x59,
+ 28246 - 19968: jis0208<<14 | 0x17<<7 | 0x2F,
+ 28247 - 19968: jis0212<<14 | 0x26<<7 | 0x5A,
+ 28248 - 19968: jis0208<<14 | 0x1D<<7 | 0x24,
+ 28251 - 19968: jis0208<<14 | 0x22<<7 | 0x18,
+ 28252 - 19968: jis0208<<14 | 0x59<<7 | 0x49,
+ 28253 - 19968: jis0212<<14 | 0x26<<7 | 0x5C,
+ 28254 - 19968: jis0212<<14 | 0x26<<7 | 0x5D,
+ 28255 - 19968: jis0208<<14 | 0x3D<<7 | 0x33,
+ 28258 - 19968: jis0212<<14 | 0x27<<7 | 0x00,
+ 28259 - 19968: jis0212<<14 | 0x27<<7 | 0x01,
+ 28263 - 19968: jis0208<<14 | 0x2C<<7 | 0x0E,
+ 28264 - 19968: jis0212<<14 | 0x27<<7 | 0x02,
+ 28267 - 19968: jis0208<<14 | 0x3D<<7 | 0x36,
+ 28270 - 19968: jis0208<<14 | 0x3D<<7 | 0x2F,
+ 28271 - 19968: jis0208<<14 | 0x24<<7 | 0x51,
+ 28274 - 19968: jis0208<<14 | 0x3D<<7 | 0x32,
+ 28275 - 19968: jis0212<<14 | 0x27<<7 | 0x03,
+ 28278 - 19968: jis0208<<14 | 0x3D<<7 | 0x38,
+ 28283 - 19968: jis0212<<14 | 0x27<<7 | 0x04,
+ 28285 - 19968: jis0212<<14 | 0x27<<7 | 0x05,
+ 28286 - 19968: jis0208<<14 | 0x2E<<7 | 0x30,
+ 28287 - 19968: jis0208<<14 | 0x1B<<7 | 0x1D,
+ 28288 - 19968: jis0208<<14 | 0x2A<<7 | 0x5D,
+ 28290 - 19968: jis0208<<14 | 0x3D<<7 | 0x42,
+ 28300 - 19968: jis0208<<14 | 0x27<<7 | 0x0D,
+ 28301 - 19968: jis0212<<14 | 0x27<<7 | 0x06,
+ 28303 - 19968: jis0208<<14 | 0x3D<<7 | 0x4E,
+ 28304 - 19968: jis0208<<14 | 0x17<<7 | 0x1A,
+ 28307 - 19968: jis0212<<14 | 0x27<<7 | 0x07,
+ 28310 - 19968: jis0208<<14 | 0x1C<<7 | 0x3F,
+ 28312 - 19968: jis0208<<14 | 0x3D<<7 | 0x44,
+ 28313 - 19968: jis0212<<14 | 0x27<<7 | 0x08,
+ 28316 - 19968: jis0208<<14 | 0x2D<<7 | 0x0E,
+ 28317 - 19968: jis0208<<14 | 0x18<<7 | 0x21,
+ 28319 - 19968: jis0208<<14 | 0x3D<<7 | 0x51,
+ 28320 - 19968: jis0212<<14 | 0x27<<7 | 0x09,
+ 28322 - 19968: jis0208<<14 | 0x0F<<7 | 0x4D,
+ 28325 - 19968: jis0208<<14 | 0x3D<<7 | 0x4F,
+ 28327 - 19968: jis0212<<14 | 0x27<<7 | 0x0A,
+ 28330 - 19968: jis0208<<14 | 0x3D<<7 | 0x43,
+ 28333 - 19968: jis0212<<14 | 0x27<<7 | 0x0B,
+ 28334 - 19968: jis0212<<14 | 0x27<<7 | 0x0C,
+ 28335 - 19968: jis0208<<14 | 0x3D<<7 | 0x49,
+ 28337 - 19968: jis0212<<14 | 0x27<<7 | 0x0D,
+ 28338 - 19968: jis0208<<14 | 0x3D<<7 | 0x4B,
+ 28339 - 19968: jis0212<<14 | 0x27<<7 | 0x0E,
+ 28342 - 19968: jis0208<<14 | 0x2C<<7 | 0x2E,
+ 28343 - 19968: jis0208<<14 | 0x3D<<7 | 0x46,
+ 28346 - 19968: jis0208<<14 | 0x24<<7 | 0x0D,
+ 28347 - 19968: jis0212<<14 | 0x27<<7 | 0x0F,
+ 28349 - 19968: jis0208<<14 | 0x3D<<7 | 0x48,
+ 28351 - 19968: jis0208<<14 | 0x59<<7 | 0x4C,
+ 28352 - 19968: jis0212<<14 | 0x27<<7 | 0x11,
+ 28353 - 19968: jis0212<<14 | 0x27<<7 | 0x12,
+ 28354 - 19968: jis0208<<14 | 0x3D<<7 | 0x50,
+ 28355 - 19968: jis0212<<14 | 0x27<<7 | 0x13,
+ 28356 - 19968: jis0208<<14 | 0x3D<<7 | 0x4A,
+ 28357 - 19968: jis0208<<14 | 0x2B<<7 | 0x26,
+ 28359 - 19968: jis0212<<14 | 0x27<<7 | 0x14,
+ 28360 - 19968: jis0212<<14 | 0x27<<7 | 0x15,
+ 28361 - 19968: jis0208<<14 | 0x3D<<7 | 0x45,
+ 28362 - 19968: jis0212<<14 | 0x27<<7 | 0x16,
+ 28363 - 19968: jis0208<<14 | 0x1B<<7 | 0x01,
+ 28364 - 19968: jis0208<<14 | 0x3D<<7 | 0x5D,
+ 28365 - 19968: jis0212<<14 | 0x27<<7 | 0x17,
+ 28366 - 19968: jis0212<<14 | 0x27<<7 | 0x18,
+ 28367 - 19968: jis0212<<14 | 0x27<<7 | 0x19,
+ 28369 - 19968: jis0208<<14 | 0x12<<7 | 0x49,
+ 28371 - 19968: jis0208<<14 | 0x3D<<7 | 0x47,
+ 28372 - 19968: jis0208<<14 | 0x3D<<7 | 0x4C,
+ 28373 - 19968: jis0208<<14 | 0x3D<<7 | 0x4D,
+ 28381 - 19968: jis0208<<14 | 0x21<<7 | 0x4B,
+ 28382 - 19968: jis0208<<14 | 0x21<<7 | 0x39,
+ 28395 - 19968: jis0212<<14 | 0x27<<7 | 0x1A,
+ 28396 - 19968: jis0208<<14 | 0x3D<<7 | 0x55,
+ 28397 - 19968: jis0212<<14 | 0x27<<7 | 0x1B,
+ 28398 - 19968: jis0212<<14 | 0x27<<7 | 0x1C,
+ 28399 - 19968: jis0208<<14 | 0x3D<<7 | 0x5B,
+ 28402 - 19968: jis0208<<14 | 0x3D<<7 | 0x59,
+ 28404 - 19968: jis0208<<14 | 0x24<<7 | 0x08,
+ 28407 - 19968: jis0208<<14 | 0x3E<<7 | 0x02,
+ 28408 - 19968: jis0208<<14 | 0x3D<<7 | 0x56,
+ 28409 - 19968: jis0212<<14 | 0x27<<7 | 0x1D,
+ 28411 - 19968: jis0212<<14 | 0x27<<7 | 0x1E,
+ 28413 - 19968: jis0212<<14 | 0x27<<7 | 0x1F,
+ 28414 - 19968: jis0208<<14 | 0x3D<<7 | 0x57,
+ 28415 - 19968: jis0208<<14 | 0x3D<<7 | 0x3F,
+ 28417 - 19968: jis0208<<14 | 0x14<<7 | 0x58,
+ 28418 - 19968: jis0208<<14 | 0x28<<7 | 0x19,
+ 28420 - 19968: jis0212<<14 | 0x27<<7 | 0x20,
+ 28422 - 19968: jis0208<<14 | 0x1B<<7 | 0x1E,
+ 28424 - 19968: jis0212<<14 | 0x27<<7 | 0x21,
+ 28425 - 19968: jis0208<<14 | 0x18<<7 | 0x56,
+ 28426 - 19968: jis0212<<14 | 0x27<<7 | 0x22,
+ 28428 - 19968: jis0212<<14 | 0x27<<7 | 0x23,
+ 28429 - 19968: jis0212<<14 | 0x27<<7 | 0x24,
+ 28431 - 19968: jis0208<<14 | 0x2E<<7 | 0x12,
+ 28433 - 19968: jis0208<<14 | 0x3D<<7 | 0x53,
+ 28435 - 19968: jis0208<<14 | 0x3E<<7 | 0x01,
+ 28436 - 19968: jis0208<<14 | 0x10<<7 | 0x48,
+ 28437 - 19968: jis0208<<14 | 0x20<<7 | 0x45,
+ 28438 - 19968: jis0212<<14 | 0x27<<7 | 0x25,
+ 28440 - 19968: jis0212<<14 | 0x27<<7 | 0x26,
+ 28442 - 19968: jis0212<<14 | 0x27<<7 | 0x27,
+ 28443 - 19968: jis0212<<14 | 0x27<<7 | 0x28,
+ 28448 - 19968: jis0208<<14 | 0x26<<7 | 0x58,
+ 28450 - 19968: jis0208<<14 | 0x13<<7 | 0x20,
+ 28451 - 19968: jis0208<<14 | 0x2D<<7 | 0x59,
+ 28454 - 19968: jis0212<<14 | 0x27<<7 | 0x29,
+ 28457 - 19968: jis0212<<14 | 0x27<<7 | 0x2A,
+ 28458 - 19968: jis0212<<14 | 0x27<<7 | 0x2B,
+ 28459 - 19968: jis0208<<14 | 0x2B<<7 | 0x00,
+ 28460 - 19968: jis0208<<14 | 0x23<<7 | 0x31,
+ 28461 - 19968: jis0212<<14 | 0x27<<7 | 0x32,
+ 28463 - 19968: jis0212<<14 | 0x27<<7 | 0x2C,
+ 28464 - 19968: jis0212<<14 | 0x27<<7 | 0x2D,
+ 28465 - 19968: jis0208<<14 | 0x3D<<7 | 0x5A,
+ 28466 - 19968: jis0208<<14 | 0x3D<<7 | 0x5C,
+ 28467 - 19968: jis0212<<14 | 0x27<<7 | 0x2E,
+ 28470 - 19968: jis0212<<14 | 0x27<<7 | 0x2F,
+ 28472 - 19968: jis0208<<14 | 0x20<<7 | 0x11,
+ 28475 - 19968: jis0212<<14 | 0x27<<7 | 0x30,
+ 28476 - 19968: jis0212<<14 | 0x27<<7 | 0x31,
+ 28478 - 19968: jis0208<<14 | 0x3E<<7 | 0x00,
+ 28479 - 19968: jis0208<<14 | 0x3D<<7 | 0x58,
+ 28481 - 19968: jis0208<<14 | 0x3D<<7 | 0x52,
+ 28485 - 19968: jis0208<<14 | 0x13<<7 | 0x22,
+ 28495 - 19968: jis0212<<14 | 0x27<<7 | 0x33,
+ 28497 - 19968: jis0212<<14 | 0x27<<7 | 0x34,
+ 28498 - 19968: jis0212<<14 | 0x27<<7 | 0x35,
+ 28499 - 19968: jis0212<<14 | 0x27<<7 | 0x36,
+ 28500 - 19968: jis0208<<14 | 0x16<<7 | 0x48,
+ 28503 - 19968: jis0212<<14 | 0x27<<7 | 0x37,
+ 28504 - 19968: jis0208<<14 | 0x3E<<7 | 0x0E,
+ 28505 - 19968: jis0212<<14 | 0x27<<7 | 0x38,
+ 28506 - 19968: jis0212<<14 | 0x27<<7 | 0x39,
+ 28507 - 19968: jis0208<<14 | 0x3E<<7 | 0x09,
+ 28508 - 19968: jis0208<<14 | 0x1F<<7 | 0x57,
+ 28509 - 19968: jis0212<<14 | 0x27<<7 | 0x3A,
+ 28510 - 19968: jis0212<<14 | 0x27<<7 | 0x3B,
+ 28511 - 19968: jis0208<<14 | 0x12<<7 | 0x42,
+ 28513 - 19968: jis0212<<14 | 0x27<<7 | 0x3C,
+ 28514 - 19968: jis0212<<14 | 0x27<<7 | 0x3D,
+ 28516 - 19968: jis0208<<14 | 0x1C<<7 | 0x40,
+ 28518 - 19968: jis0208<<14 | 0x3E<<7 | 0x12,
+ 28520 - 19968: jis0212<<14 | 0x27<<7 | 0x3E,
+ 28524 - 19968: jis0212<<14 | 0x27<<7 | 0x3F,
+ 28525 - 19968: jis0208<<14 | 0x3E<<7 | 0x0B,
+ 28526 - 19968: jis0208<<14 | 0x23<<7 | 0x0B,
+ 28527 - 19968: jis0208<<14 | 0x3E<<7 | 0x08,
+ 28528 - 19968: jis0208<<14 | 0x23<<7 | 0x38,
+ 28532 - 19968: jis0208<<14 | 0x3E<<7 | 0x2B,
+ 28536 - 19968: jis0208<<14 | 0x3E<<7 | 0x05,
+ 28538 - 19968: jis0208<<14 | 0x3E<<7 | 0x04,
+ 28540 - 19968: jis0208<<14 | 0x3E<<7 | 0x0D,
+ 28541 - 19968: jis0212<<14 | 0x27<<7 | 0x40,
+ 28542 - 19968: jis0212<<14 | 0x27<<7 | 0x41,
+ 28544 - 19968: jis0208<<14 | 0x3E<<7 | 0x07,
+ 28545 - 19968: jis0208<<14 | 0x3E<<7 | 0x06,
+ 28546 - 19968: jis0208<<14 | 0x3E<<7 | 0x0C,
+ 28547 - 19968: jis0212<<14 | 0x27<<7 | 0x42,
+ 28548 - 19968: jis0208<<14 | 0x1F<<7 | 0x00,
+ 28550 - 19968: jis0208<<14 | 0x3E<<7 | 0x03,
+ 28551 - 19968: jis0212<<14 | 0x27<<7 | 0x43,
+ 28552 - 19968: jis0208<<14 | 0x59<<7 | 0x4D,
+ 28555 - 19968: jis0212<<14 | 0x27<<7 | 0x45,
+ 28556 - 19968: jis0212<<14 | 0x27<<7 | 0x46,
+ 28557 - 19968: jis0212<<14 | 0x27<<7 | 0x47,
+ 28558 - 19968: jis0208<<14 | 0x3E<<7 | 0x0F,
+ 28560 - 19968: jis0212<<14 | 0x27<<7 | 0x48,
+ 28561 - 19968: jis0208<<14 | 0x3E<<7 | 0x10,
+ 28562 - 19968: jis0212<<14 | 0x27<<7 | 0x49,
+ 28563 - 19968: jis0212<<14 | 0x27<<7 | 0x4A,
+ 28564 - 19968: jis0212<<14 | 0x27<<7 | 0x4B,
+ 28566 - 19968: jis0212<<14 | 0x27<<7 | 0x4C,
+ 28567 - 19968: jis0208<<14 | 0x13<<7 | 0x21,
+ 28570 - 19968: jis0212<<14 | 0x27<<7 | 0x4D,
+ 28575 - 19968: jis0212<<14 | 0x27<<7 | 0x4E,
+ 28576 - 19968: jis0212<<14 | 0x27<<7 | 0x4F,
+ 28577 - 19968: jis0208<<14 | 0x3E<<7 | 0x15,
+ 28579 - 19968: jis0208<<14 | 0x3E<<7 | 0x14,
+ 28580 - 19968: jis0208<<14 | 0x3E<<7 | 0x16,
+ 28581 - 19968: jis0212<<14 | 0x27<<7 | 0x50,
+ 28582 - 19968: jis0212<<14 | 0x27<<7 | 0x51,
+ 28583 - 19968: jis0212<<14 | 0x27<<7 | 0x52,
+ 28584 - 19968: jis0212<<14 | 0x27<<7 | 0x53,
+ 28586 - 19968: jis0208<<14 | 0x3E<<7 | 0x19,
+ 28590 - 19968: jis0212<<14 | 0x27<<7 | 0x54,
+ 28591 - 19968: jis0212<<14 | 0x27<<7 | 0x55,
+ 28592 - 19968: jis0212<<14 | 0x27<<7 | 0x56,
+ 28593 - 19968: jis0208<<14 | 0x24<<7 | 0x22,
+ 28595 - 19968: jis0208<<14 | 0x3E<<7 | 0x13,
+ 28597 - 19968: jis0208<<14 | 0x59<<7 | 0x4E,
+ 28598 - 19968: jis0212<<14 | 0x27<<7 | 0x58,
+ 28601 - 19968: jis0208<<14 | 0x3E<<7 | 0x17,
+ 28604 - 19968: jis0212<<14 | 0x27<<7 | 0x59,
+ 28608 - 19968: jis0208<<14 | 0x16<<7 | 0x42,
+ 28609 - 19968: jis0208<<14 | 0x21<<7 | 0x58,
+ 28610 - 19968: jis0208<<14 | 0x3E<<7 | 0x11,
+ 28611 - 19968: jis0208<<14 | 0x26<<7 | 0x1A,
+ 28613 - 19968: jis0212<<14 | 0x27<<7 | 0x5A,
+ 28614 - 19968: jis0208<<14 | 0x3E<<7 | 0x18,
+ 28615 - 19968: jis0212<<14 | 0x27<<7 | 0x5B,
+ 28616 - 19968: jis0212<<14 | 0x27<<7 | 0x5C,
+ 28618 - 19968: jis0212<<14 | 0x27<<7 | 0x5D,
+ 28628 - 19968: jis0208<<14 | 0x3E<<7 | 0x1D,
+ 28629 - 19968: jis0208<<14 | 0x3E<<7 | 0x1B,
+ 28632 - 19968: jis0208<<14 | 0x3E<<7 | 0x1E,
+ 28634 - 19968: jis0212<<14 | 0x28<<7 | 0x00,
+ 28635 - 19968: jis0208<<14 | 0x3E<<7 | 0x21,
+ 28638 - 19968: jis0212<<14 | 0x28<<7 | 0x01,
+ 28639 - 19968: jis0208<<14 | 0x3E<<7 | 0x1A,
+ 28640 - 19968: jis0208<<14 | 0x18<<7 | 0x49,
+ 28641 - 19968: jis0208<<14 | 0x26<<7 | 0x07,
+ 28644 - 19968: jis0208<<14 | 0x3D<<7 | 0x18,
+ 28648 - 19968: jis0212<<14 | 0x28<<7 | 0x02,
+ 28649 - 19968: jis0212<<14 | 0x28<<7 | 0x03,
+ 28651 - 19968: jis0208<<14 | 0x2C<<7 | 0x53,
+ 28652 - 19968: jis0208<<14 | 0x3E<<7 | 0x1C,
+ 28654 - 19968: jis0208<<14 | 0x3E<<7 | 0x20,
+ 28655 - 19968: jis0208<<14 | 0x21<<7 | 0x54,
+ 28656 - 19968: jis0212<<14 | 0x28<<7 | 0x04,
+ 28657 - 19968: jis0208<<14 | 0x3E<<7 | 0x1F,
+ 28659 - 19968: jis0208<<14 | 0x3E<<7 | 0x0A,
+ 28661 - 19968: jis0208<<14 | 0x59<<7 | 0x4F,
+ 28662 - 19968: jis0208<<14 | 0x4E<<7 | 0x48,
+ 28665 - 19968: jis0212<<14 | 0x28<<7 | 0x06,
+ 28666 - 19968: jis0208<<14 | 0x3E<<7 | 0x24,
+ 28668 - 19968: jis0212<<14 | 0x28<<7 | 0x07,
+ 28669 - 19968: jis0212<<14 | 0x28<<7 | 0x08,
+ 28670 - 19968: jis0208<<14 | 0x3E<<7 | 0x28,
+ 28672 - 19968: jis0212<<14 | 0x28<<7 | 0x09,
+ 28673 - 19968: jis0208<<14 | 0x3E<<7 | 0x26,
+ 28677 - 19968: jis0208<<14 | 0x59<<7 | 0x50,
+ 28678 - 19968: jis0212<<14 | 0x28<<7 | 0x0B,
+ 28679 - 19968: jis0208<<14 | 0x59<<7 | 0x51,
+ 28681 - 19968: jis0208<<14 | 0x3E<<7 | 0x22,
+ 28683 - 19968: jis0208<<14 | 0x3E<<7 | 0x23,
+ 28685 - 19968: jis0212<<14 | 0x28<<7 | 0x0D,
+ 28687 - 19968: jis0208<<14 | 0x3E<<7 | 0x27,
+ 28689 - 19968: jis0208<<14 | 0x3E<<7 | 0x25,
+ 28693 - 19968: jis0208<<14 | 0x28<<7 | 0x2D,
+ 28695 - 19968: jis0212<<14 | 0x28<<7 | 0x0E,
+ 28696 - 19968: jis0208<<14 | 0x3E<<7 | 0x2D,
+ 28698 - 19968: jis0208<<14 | 0x3E<<7 | 0x2A,
+ 28699 - 19968: jis0208<<14 | 0x3E<<7 | 0x29,
+ 28701 - 19968: jis0208<<14 | 0x3E<<7 | 0x2C,
+ 28702 - 19968: jis0208<<14 | 0x25<<7 | 0x33,
+ 28703 - 19968: jis0208<<14 | 0x3E<<7 | 0x2E,
+ 28704 - 19968: jis0212<<14 | 0x28<<7 | 0x0F,
+ 28707 - 19968: jis0212<<14 | 0x28<<7 | 0x10,
+ 28710 - 19968: jis0208<<14 | 0x22<<7 | 0x54,
+ 28711 - 19968: jis0208<<14 | 0x21<<7 | 0x4C,
+ 28712 - 19968: jis0208<<14 | 0x59<<7 | 0x52,
+ 28716 - 19968: jis0208<<14 | 0x1F<<7 | 0x04,
+ 28719 - 19968: jis0212<<14 | 0x28<<7 | 0x11,
+ 28720 - 19968: jis0208<<14 | 0x3E<<7 | 0x2F,
+ 28722 - 19968: jis0208<<14 | 0x3E<<7 | 0x31,
+ 28724 - 19968: jis0212<<14 | 0x28<<7 | 0x12,
+ 28727 - 19968: jis0212<<14 | 0x28<<7 | 0x13,
+ 28729 - 19968: jis0212<<14 | 0x28<<7 | 0x14,
+ 28732 - 19968: jis0212<<14 | 0x28<<7 | 0x15,
+ 28734 - 19968: jis0208<<14 | 0x3E<<7 | 0x30,
+ 28739 - 19968: jis0212<<14 | 0x28<<7 | 0x16,
+ 28740 - 19968: jis0212<<14 | 0x28<<7 | 0x17,
+ 28744 - 19968: jis0212<<14 | 0x28<<7 | 0x18,
+ 28745 - 19968: jis0212<<14 | 0x28<<7 | 0x19,
+ 28746 - 19968: jis0212<<14 | 0x28<<7 | 0x1A,
+ 28747 - 19968: jis0212<<14 | 0x28<<7 | 0x1B,
+ 28748 - 19968: jis0208<<14 | 0x3D<<7 | 0x54,
+ 28750 - 19968: jis0212<<14 | 0x28<<7 | 0x20,
+ 28753 - 19968: jis0208<<14 | 0x3E<<7 | 0x32,
+ 28756 - 19968: jis0212<<14 | 0x28<<7 | 0x1C,
+ 28757 - 19968: jis0212<<14 | 0x28<<7 | 0x1D,
+ 28760 - 19968: jis0208<<14 | 0x25<<7 | 0x46,
+ 28765 - 19968: jis0212<<14 | 0x28<<7 | 0x1E,
+ 28766 - 19968: jis0212<<14 | 0x28<<7 | 0x1F,
+ 28771 - 19968: jis0208<<14 | 0x3E<<7 | 0x33,
+ 28772 - 19968: jis0212<<14 | 0x28<<7 | 0x21,
+ 28773 - 19968: jis0212<<14 | 0x28<<7 | 0x22,
+ 28779 - 19968: jis0208<<14 | 0x11<<7 | 0x2F,
+ 28780 - 19968: jis0212<<14 | 0x28<<7 | 0x23,
+ 28782 - 19968: jis0212<<14 | 0x28<<7 | 0x24,
+ 28783 - 19968: jis0208<<14 | 0x24<<7 | 0x53,
+ 28784 - 19968: jis0208<<14 | 0x12<<7 | 0x04,
+ 28789 - 19968: jis0212<<14 | 0x28<<7 | 0x25,
+ 28790 - 19968: jis0212<<14 | 0x28<<7 | 0x26,
+ 28792 - 19968: jis0208<<14 | 0x14<<7 | 0x43,
+ 28796 - 19968: jis0208<<14 | 0x1B<<7 | 0x3D,
+ 28797 - 19968: jis0208<<14 | 0x19<<7 | 0x31,
+ 28798 - 19968: jis0212<<14 | 0x28<<7 | 0x27,
+ 28801 - 19968: jis0212<<14 | 0x28<<7 | 0x28,
+ 28805 - 19968: jis0208<<14 | 0x59<<7 | 0x53,
+ 28806 - 19968: jis0212<<14 | 0x28<<7 | 0x2A,
+ 28809 - 19968: jis0208<<14 | 0x2E<<7 | 0x06,
+ 28810 - 19968: jis0208<<14 | 0x1E<<7 | 0x45,
+ 28814 - 19968: jis0208<<14 | 0x10<<7 | 0x49,
+ 28818 - 19968: jis0208<<14 | 0x3E<<7 | 0x35,
+ 28820 - 19968: jis0212<<14 | 0x28<<7 | 0x2B,
+ 28821 - 19968: jis0212<<14 | 0x28<<7 | 0x2C,
+ 28822 - 19968: jis0212<<14 | 0x28<<7 | 0x2D,
+ 28823 - 19968: jis0212<<14 | 0x28<<7 | 0x2E,
+ 28824 - 19968: jis0212<<14 | 0x28<<7 | 0x2F,
+ 28825 - 19968: jis0208<<14 | 0x3E<<7 | 0x34,
+ 28827 - 19968: jis0212<<14 | 0x28<<7 | 0x30,
+ 28836 - 19968: jis0212<<14 | 0x28<<7 | 0x31,
+ 28843 - 19968: jis0208<<14 | 0x59<<7 | 0x54,
+ 28844 - 19968: jis0208<<14 | 0x3E<<7 | 0x38,
+ 28845 - 19968: jis0208<<14 | 0x22<<7 | 0x19,
+ 28846 - 19968: jis0208<<14 | 0x3E<<7 | 0x3B,
+ 28847 - 19968: jis0208<<14 | 0x3E<<7 | 0x36,
+ 28848 - 19968: jis0212<<14 | 0x28<<7 | 0x33,
+ 28849 - 19968: jis0212<<14 | 0x28<<7 | 0x34,
+ 28851 - 19968: jis0208<<14 | 0x3E<<7 | 0x3A,
+ 28852 - 19968: jis0212<<14 | 0x28<<7 | 0x35,
+ 28855 - 19968: jis0212<<14 | 0x28<<7 | 0x36,
+ 28856 - 19968: jis0208<<14 | 0x3E<<7 | 0x39,
+ 28857 - 19968: jis0208<<14 | 0x24<<7 | 0x1F,
+ 28858 - 19968: jis0208<<14 | 0x0F<<7 | 0x38,
+ 28859 - 19968: jis0208<<14 | 0x58<<7 | 0x06,
+ 28872 - 19968: jis0208<<14 | 0x2D<<7 | 0x54,
+ 28874 - 19968: jis0212<<14 | 0x28<<7 | 0x37,
+ 28875 - 19968: jis0208<<14 | 0x3E<<7 | 0x3D,
+ 28879 - 19968: jis0208<<14 | 0x10<<7 | 0x07,
+ 28881 - 19968: jis0212<<14 | 0x28<<7 | 0x38,
+ 28883 - 19968: jis0212<<14 | 0x28<<7 | 0x39,
+ 28884 - 19968: jis0212<<14 | 0x28<<7 | 0x3A,
+ 28885 - 19968: jis0212<<14 | 0x28<<7 | 0x3B,
+ 28886 - 19968: jis0212<<14 | 0x28<<7 | 0x3C,
+ 28888 - 19968: jis0212<<14 | 0x28<<7 | 0x3D,
+ 28889 - 19968: jis0208<<14 | 0x3E<<7 | 0x3F,
+ 28892 - 19968: jis0212<<14 | 0x28<<7 | 0x3E,
+ 28893 - 19968: jis0208<<14 | 0x3E<<7 | 0x3E,
+ 28895 - 19968: jis0208<<14 | 0x3E<<7 | 0x3C,
+ 28900 - 19968: jis0212<<14 | 0x28<<7 | 0x3F,
+ 28913 - 19968: jis0208<<14 | 0x3E<<7 | 0x37,
+ 28921 - 19968: jis0208<<14 | 0x2A<<7 | 0x02,
+ 28922 - 19968: jis0212<<14 | 0x28<<7 | 0x40,
+ 28925 - 19968: jis0208<<14 | 0x3E<<7 | 0x41,
+ 28931 - 19968: jis0212<<14 | 0x28<<7 | 0x41,
+ 28932 - 19968: jis0208<<14 | 0x59<<7 | 0x56,
+ 28933 - 19968: jis0212<<14 | 0x28<<7 | 0x43,
+ 28934 - 19968: jis0212<<14 | 0x28<<7 | 0x44,
+ 28935 - 19968: jis0212<<14 | 0x28<<7 | 0x45,
+ 28937 - 19968: jis0208<<14 | 0x3E<<7 | 0x40,
+ 28939 - 19968: jis0212<<14 | 0x28<<7 | 0x46,
+ 28940 - 19968: jis0212<<14 | 0x28<<7 | 0x47,
+ 28943 - 19968: jis0208<<14 | 0x59<<7 | 0x55,
+ 28948 - 19968: jis0208<<14 | 0x10<<7 | 0x4A,
+ 28953 - 19968: jis0208<<14 | 0x3E<<7 | 0x43,
+ 28954 - 19968: jis0208<<14 | 0x29<<7 | 0x11,
+ 28956 - 19968: jis0208<<14 | 0x3E<<7 | 0x42,
+ 28958 - 19968: jis0212<<14 | 0x28<<7 | 0x49,
+ 28960 - 19968: jis0212<<14 | 0x28<<7 | 0x4A,
+ 28961 - 19968: jis0208<<14 | 0x2B<<7 | 0x14,
+ 28966 - 19968: jis0208<<14 | 0x1D<<7 | 0x26,
+ 28971 - 19968: jis0212<<14 | 0x28<<7 | 0x4B,
+ 28973 - 19968: jis0212<<14 | 0x28<<7 | 0x4C,
+ 28975 - 19968: jis0212<<14 | 0x28<<7 | 0x4D,
+ 28976 - 19968: jis0212<<14 | 0x28<<7 | 0x4E,
+ 28977 - 19968: jis0212<<14 | 0x28<<7 | 0x4F,
+ 28982 - 19968: jis0208<<14 | 0x20<<7 | 0x12,
+ 28984 - 19968: jis0212<<14 | 0x28<<7 | 0x50,
+ 28988 - 19968: jis0208<<14 | 0x1D<<7 | 0x25,
+ 28993 - 19968: jis0212<<14 | 0x28<<7 | 0x51,
+ 28997 - 19968: jis0212<<14 | 0x28<<7 | 0x52,
+ 28998 - 19968: jis0208<<14 | 0x59<<7 | 0x58,
+ 28999 - 19968: jis0208<<14 | 0x59<<7 | 0x59,
+ 29001 - 19968: jis0208<<14 | 0x2D<<7 | 0x5A,
+ 29002 - 19968: jis0212<<14 | 0x28<<7 | 0x55,
+ 29003 - 19968: jis0212<<14 | 0x28<<7 | 0x56,
+ 29004 - 19968: jis0208<<14 | 0x3E<<7 | 0x49,
+ 29006 - 19968: jis0208<<14 | 0x1F<<7 | 0x58,
+ 29008 - 19968: jis0212<<14 | 0x28<<7 | 0x57,
+ 29010 - 19968: jis0212<<14 | 0x28<<7 | 0x58,
+ 29013 - 19968: jis0208<<14 | 0x3E<<7 | 0x45,
+ 29014 - 19968: jis0208<<14 | 0x3E<<7 | 0x4A,
+ 29015 - 19968: jis0212<<14 | 0x28<<7 | 0x59,
+ 29017 - 19968: jis0208<<14 | 0x10<<7 | 0x4B,
+ 29018 - 19968: jis0212<<14 | 0x28<<7 | 0x5A,
+ 29020 - 19968: jis0208<<14 | 0x59<<7 | 0x57,
+ 29022 - 19968: jis0212<<14 | 0x28<<7 | 0x5C,
+ 29024 - 19968: jis0212<<14 | 0x28<<7 | 0x5D,
+ 29026 - 19968: jis0208<<14 | 0x3E<<7 | 0x48,
+ 29028 - 19968: jis0208<<14 | 0x26<<7 | 0x40,
+ 29029 - 19968: jis0208<<14 | 0x3E<<7 | 0x44,
+ 29030 - 19968: jis0208<<14 | 0x3E<<7 | 0x47,
+ 29031 - 19968: jis0208<<14 | 0x1D<<7 | 0x27,
+ 29032 - 19968: jis0212<<14 | 0x29<<7 | 0x00,
+ 29033 - 19968: jis0208<<14 | 0x27<<7 | 0x30,
+ 29036 - 19968: jis0208<<14 | 0x3E<<7 | 0x4B,
+ 29038 - 19968: jis0208<<14 | 0x1B<<7 | 0x30,
+ 29049 - 19968: jis0212<<14 | 0x29<<7 | 0x01,
+ 29053 - 19968: jis0208<<14 | 0x1F<<7 | 0x59,
+ 29056 - 19968: jis0212<<14 | 0x29<<7 | 0x02,
+ 29060 - 19968: jis0208<<14 | 0x3E<<7 | 0x4E,
+ 29061 - 19968: jis0212<<14 | 0x29<<7 | 0x03,
+ 29063 - 19968: jis0212<<14 | 0x29<<7 | 0x04,
+ 29064 - 19968: jis0208<<14 | 0x3E<<7 | 0x46,
+ 29066 - 19968: jis0208<<14 | 0x16<<7 | 0x06,
+ 29068 - 19968: jis0212<<14 | 0x29<<7 | 0x05,
+ 29071 - 19968: jis0208<<14 | 0x3E<<7 | 0x4C,
+ 29074 - 19968: jis0212<<14 | 0x29<<7 | 0x06,
+ 29076 - 19968: jis0208<<14 | 0x2C<<7 | 0x2F,
+ 29077 - 19968: jis0208<<14 | 0x3E<<7 | 0x4F,
+ 29081 - 19968: jis0208<<14 | 0x53<<7 | 0x05,
+ 29082 - 19968: jis0212<<14 | 0x29<<7 | 0x07,
+ 29083 - 19968: jis0212<<14 | 0x29<<7 | 0x08,
+ 29087 - 19968: jis0208<<14 | 0x1C<<7 | 0x2E,
+ 29088 - 19968: jis0212<<14 | 0x29<<7 | 0x09,
+ 29090 - 19968: jis0212<<14 | 0x29<<7 | 0x0A,
+ 29096 - 19968: jis0208<<14 | 0x3E<<7 | 0x50,
+ 29100 - 19968: jis0208<<14 | 0x3E<<7 | 0x51,
+ 29103 - 19968: jis0212<<14 | 0x29<<7 | 0x0B,
+ 29104 - 19968: jis0212<<14 | 0x29<<7 | 0x0C,
+ 29105 - 19968: jis0208<<14 | 0x26<<7 | 0x0D,
+ 29106 - 19968: jis0212<<14 | 0x29<<7 | 0x0D,
+ 29107 - 19968: jis0212<<14 | 0x29<<7 | 0x0E,
+ 29113 - 19968: jis0208<<14 | 0x3E<<7 | 0x53,
+ 29114 - 19968: jis0212<<14 | 0x29<<7 | 0x0F,
+ 29118 - 19968: jis0208<<14 | 0x3E<<7 | 0x54,
+ 29119 - 19968: jis0212<<14 | 0x29<<7 | 0x10,
+ 29120 - 19968: jis0212<<14 | 0x29<<7 | 0x11,
+ 29121 - 19968: jis0208<<14 | 0x59<<7 | 0x5B,
+ 29123 - 19968: jis0208<<14 | 0x26<<7 | 0x12,
+ 29124 - 19968: jis0212<<14 | 0x29<<7 | 0x13,
+ 29128 - 19968: jis0208<<14 | 0x24<<7 | 0x54,
+ 29129 - 19968: jis0208<<14 | 0x3E<<7 | 0x56,
+ 29131 - 19968: jis0212<<14 | 0x29<<7 | 0x14,
+ 29132 - 19968: jis0212<<14 | 0x29<<7 | 0x15,
+ 29134 - 19968: jis0208<<14 | 0x3E<<7 | 0x58,
+ 29136 - 19968: jis0208<<14 | 0x2D<<7 | 0x34,
+ 29138 - 19968: jis0208<<14 | 0x3E<<7 | 0x55,
+ 29139 - 19968: jis0212<<14 | 0x29<<7 | 0x16,
+ 29140 - 19968: jis0208<<14 | 0x3E<<7 | 0x57,
+ 29141 - 19968: jis0208<<14 | 0x10<<7 | 0x4C,
+ 29142 - 19968: jis0212<<14 | 0x29<<7 | 0x17,
+ 29143 - 19968: jis0208<<14 | 0x3E<<7 | 0x52,
+ 29145 - 19968: jis0212<<14 | 0x29<<7 | 0x18,
+ 29146 - 19968: jis0212<<14 | 0x29<<7 | 0x19,
+ 29148 - 19968: jis0212<<14 | 0x29<<7 | 0x1A,
+ 29151 - 19968: jis0208<<14 | 0x32<<7 | 0x3A,
+ 29152 - 19968: jis0208<<14 | 0x3E<<7 | 0x59,
+ 29157 - 19968: jis0208<<14 | 0x20<<7 | 0x46,
+ 29158 - 19968: jis0208<<14 | 0x1A<<7 | 0x17,
+ 29159 - 19968: jis0208<<14 | 0x3E<<7 | 0x5B,
+ 29164 - 19968: jis0208<<14 | 0x3E<<7 | 0x5A,
+ 29165 - 19968: jis0208<<14 | 0x1E<<7 | 0x03,
+ 29166 - 19968: jis0208<<14 | 0x31<<7 | 0x38,
+ 29173 - 19968: jis0208<<14 | 0x3E<<7 | 0x5C,
+ 29176 - 19968: jis0212<<14 | 0x29<<7 | 0x1B,
+ 29177 - 19968: jis0208<<14 | 0x3F<<7 | 0x00,
+ 29179 - 19968: jis0208<<14 | 0x3E<<7 | 0x4D,
+ 29180 - 19968: jis0208<<14 | 0x3E<<7 | 0x5D,
+ 29182 - 19968: jis0208<<14 | 0x59<<7 | 0x5C,
+ 29183 - 19968: jis0208<<14 | 0x3F<<7 | 0x01,
+ 29184 - 19968: jis0212<<14 | 0x29<<7 | 0x1D,
+ 29190 - 19968: jis0208<<14 | 0x26<<7 | 0x59,
+ 29191 - 19968: jis0212<<14 | 0x29<<7 | 0x1E,
+ 29192 - 19968: jis0212<<14 | 0x29<<7 | 0x1F,
+ 29193 - 19968: jis0212<<14 | 0x29<<7 | 0x20,
+ 29197 - 19968: jis0208<<14 | 0x3F<<7 | 0x02,
+ 29200 - 19968: jis0208<<14 | 0x3F<<7 | 0x03,
+ 29203 - 19968: jis0212<<14 | 0x29<<7 | 0x21,
+ 29207 - 19968: jis0212<<14 | 0x29<<7 | 0x22,
+ 29210 - 19968: jis0212<<14 | 0x29<<7 | 0x23,
+ 29211 - 19968: jis0208<<14 | 0x3F<<7 | 0x04,
+ 29213 - 19968: jis0212<<14 | 0x29<<7 | 0x24,
+ 29215 - 19968: jis0212<<14 | 0x29<<7 | 0x25,
+ 29220 - 19968: jis0212<<14 | 0x29<<7 | 0x26,
+ 29224 - 19968: jis0208<<14 | 0x3F<<7 | 0x05,
+ 29226 - 19968: jis0208<<14 | 0x23<<7 | 0x3D,
+ 29227 - 19968: jis0212<<14 | 0x29<<7 | 0x27,
+ 29228 - 19968: jis0208<<14 | 0x3F<<7 | 0x07,
+ 29229 - 19968: jis0208<<14 | 0x3F<<7 | 0x06,
+ 29231 - 19968: jis0212<<14 | 0x29<<7 | 0x28,
+ 29232 - 19968: jis0208<<14 | 0x3F<<7 | 0x08,
+ 29234 - 19968: jis0208<<14 | 0x3F<<7 | 0x09,
+ 29236 - 19968: jis0212<<14 | 0x29<<7 | 0x29,
+ 29237 - 19968: jis0208<<14 | 0x1B<<7 | 0x3E,
+ 29238 - 19968: jis0208<<14 | 0x28<<7 | 0x42,
+ 29240 - 19968: jis0212<<14 | 0x29<<7 | 0x2A,
+ 29241 - 19968: jis0212<<14 | 0x29<<7 | 0x2B,
+ 29242 - 19968: jis0208<<14 | 0x2B<<7 | 0x4B,
+ 29243 - 19968: jis0208<<14 | 0x3F<<7 | 0x0A,
+ 29244 - 19968: jis0208<<14 | 0x3F<<7 | 0x0B,
+ 29245 - 19968: jis0208<<14 | 0x20<<7 | 0x35,
+ 29246 - 19968: jis0208<<14 | 0x1B<<7 | 0x03,
+ 29247 - 19968: jis0208<<14 | 0x3F<<7 | 0x0C,
+ 29248 - 19968: jis0208<<14 | 0x3F<<7 | 0x0D,
+ 29249 - 19968: jis0212<<14 | 0x29<<7 | 0x2C,
+ 29250 - 19968: jis0212<<14 | 0x29<<7 | 0x2D,
+ 29251 - 19968: jis0212<<14 | 0x29<<7 | 0x2E,
+ 29253 - 19968: jis0212<<14 | 0x29<<7 | 0x2F,
+ 29254 - 19968: jis0208<<14 | 0x3F<<7 | 0x0E,
+ 29255 - 19968: jis0208<<14 | 0x29<<7 | 0x31,
+ 29256 - 19968: jis0208<<14 | 0x27<<7 | 0x26,
+ 29259 - 19968: jis0208<<14 | 0x3F<<7 | 0x0F,
+ 29260 - 19968: jis0208<<14 | 0x26<<7 | 0x36,
+ 29262 - 19968: jis0212<<14 | 0x29<<7 | 0x30,
+ 29263 - 19968: jis0212<<14 | 0x29<<7 | 0x31,
+ 29264 - 19968: jis0212<<14 | 0x29<<7 | 0x32,
+ 29266 - 19968: jis0208<<14 | 0x23<<7 | 0x0C,
+ 29267 - 19968: jis0212<<14 | 0x29<<7 | 0x33,
+ 29269 - 19968: jis0212<<14 | 0x29<<7 | 0x34,
+ 29270 - 19968: jis0212<<14 | 0x29<<7 | 0x35,
+ 29272 - 19968: jis0208<<14 | 0x3F<<7 | 0x10,
+ 29273 - 19968: jis0208<<14 | 0x11<<7 | 0x46,
+ 29274 - 19968: jis0212<<14 | 0x29<<7 | 0x36,
+ 29275 - 19968: jis0208<<14 | 0x14<<7 | 0x4C,
+ 29276 - 19968: jis0212<<14 | 0x29<<7 | 0x37,
+ 29277 - 19968: jis0208<<14 | 0x2B<<7 | 0x25,
+ 29278 - 19968: jis0212<<14 | 0x29<<7 | 0x38,
+ 29279 - 19968: jis0208<<14 | 0x2B<<7 | 0x15,
+ 29280 - 19968: jis0212<<14 | 0x29<<7 | 0x39,
+ 29281 - 19968: jis0208<<14 | 0x11<<7 | 0x13,
+ 29282 - 19968: jis0208<<14 | 0x2E<<7 | 0x13,
+ 29283 - 19968: jis0212<<14 | 0x29<<7 | 0x3A,
+ 29287 - 19968: jis0208<<14 | 0x2A<<7 | 0x31,
+ 29288 - 19968: jis0212<<14 | 0x29<<7 | 0x3B,
+ 29289 - 19968: jis0208<<14 | 0x29<<7 | 0x09,
+ 29291 - 19968: jis0212<<14 | 0x29<<7 | 0x3C,
+ 29294 - 19968: jis0212<<14 | 0x29<<7 | 0x3D,
+ 29295 - 19968: jis0212<<14 | 0x29<<7 | 0x3E,
+ 29297 - 19968: jis0212<<14 | 0x29<<7 | 0x3F,
+ 29298 - 19968: jis0208<<14 | 0x1F<<7 | 0x16,
+ 29300 - 19968: jis0208<<14 | 0x3F<<7 | 0x11,
+ 29303 - 19968: jis0212<<14 | 0x29<<7 | 0x40,
+ 29304 - 19968: jis0212<<14 | 0x29<<7 | 0x41,
+ 29305 - 19968: jis0208<<14 | 0x25<<7 | 0x22,
+ 29307 - 19968: jis0212<<14 | 0x29<<7 | 0x42,
+ 29308 - 19968: jis0212<<14 | 0x29<<7 | 0x43,
+ 29309 - 19968: jis0208<<14 | 0x17<<7 | 0x02,
+ 29310 - 19968: jis0208<<14 | 0x3F<<7 | 0x12,
+ 29311 - 19968: jis0212<<14 | 0x29<<7 | 0x44,
+ 29312 - 19968: jis0208<<14 | 0x19<<7 | 0x33,
+ 29313 - 19968: jis0208<<14 | 0x3F<<7 | 0x14,
+ 29314 - 19968: jis0208<<14 | 0x3F<<7 | 0x13,
+ 29316 - 19968: jis0212<<14 | 0x29<<7 | 0x45,
+ 29319 - 19968: jis0208<<14 | 0x3F<<7 | 0x15,
+ 29321 - 19968: jis0212<<14 | 0x29<<7 | 0x46,
+ 29325 - 19968: jis0212<<14 | 0x29<<7 | 0x47,
+ 29326 - 19968: jis0212<<14 | 0x29<<7 | 0x48,
+ 29330 - 19968: jis0208<<14 | 0x3F<<7 | 0x16,
+ 29331 - 19968: jis0212<<14 | 0x29<<7 | 0x49,
+ 29334 - 19968: jis0208<<14 | 0x3F<<7 | 0x17,
+ 29339 - 19968: jis0212<<14 | 0x29<<7 | 0x4A,
+ 29344 - 19968: jis0208<<14 | 0x14<<7 | 0x1D,
+ 29346 - 19968: jis0208<<14 | 0x3F<<7 | 0x18,
+ 29351 - 19968: jis0208<<14 | 0x3F<<7 | 0x19,
+ 29352 - 19968: jis0212<<14 | 0x29<<7 | 0x4B,
+ 29356 - 19968: jis0208<<14 | 0x17<<7 | 0x03,
+ 29357 - 19968: jis0212<<14 | 0x29<<7 | 0x4C,
+ 29358 - 19968: jis0212<<14 | 0x29<<7 | 0x4D,
+ 29359 - 19968: jis0208<<14 | 0x27<<7 | 0x27,
+ 29361 - 19968: jis0208<<14 | 0x59<<7 | 0x5D,
+ 29362 - 19968: jis0208<<14 | 0x3F<<7 | 0x1B,
+ 29364 - 19968: jis0212<<14 | 0x29<<7 | 0x4F,
+ 29366 - 19968: jis0208<<14 | 0x1D<<7 | 0x54,
+ 29369 - 19968: jis0208<<14 | 0x3F<<7 | 0x1A,
+ 29374 - 19968: jis0208<<14 | 0x5A<<7 | 0x00,
+ 29377 - 19968: jis0212<<14 | 0x29<<7 | 0x51,
+ 29378 - 19968: jis0208<<14 | 0x15<<7 | 0x17,
+ 29379 - 19968: jis0208<<14 | 0x3F<<7 | 0x1C,
+ 29380 - 19968: jis0208<<14 | 0x3F<<7 | 0x1E,
+ 29382 - 19968: jis0208<<14 | 0x3F<<7 | 0x1D,
+ 29383 - 19968: jis0212<<14 | 0x29<<7 | 0x52,
+ 29385 - 19968: jis0212<<14 | 0x29<<7 | 0x53,
+ 29388 - 19968: jis0212<<14 | 0x29<<7 | 0x54,
+ 29390 - 19968: jis0208<<14 | 0x3F<<7 | 0x1F,
+ 29392 - 19968: jis0208<<14 | 0x17<<7 | 0x30,
+ 29394 - 19968: jis0208<<14 | 0x3F<<7 | 0x20,
+ 29397 - 19968: jis0212<<14 | 0x29<<7 | 0x55,
+ 29398 - 19968: jis0212<<14 | 0x29<<7 | 0x56,
+ 29399 - 19968: jis0208<<14 | 0x15<<7 | 0x48,
+ 29400 - 19968: jis0212<<14 | 0x29<<7 | 0x57,
+ 29401 - 19968: jis0208<<14 | 0x20<<7 | 0x1F,
+ 29403 - 19968: jis0208<<14 | 0x18<<7 | 0x5C,
+ 29407 - 19968: jis0212<<14 | 0x29<<7 | 0x58,
+ 29408 - 19968: jis0208<<14 | 0x3F<<7 | 0x22,
+ 29409 - 19968: jis0208<<14 | 0x3F<<7 | 0x23,
+ 29410 - 19968: jis0208<<14 | 0x3F<<7 | 0x21,
+ 29413 - 19968: jis0212<<14 | 0x29<<7 | 0x59,
+ 29417 - 19968: jis0208<<14 | 0x1B<<7 | 0x4C,
+ 29420 - 19968: jis0208<<14 | 0x25<<7 | 0x27,
+ 29421 - 19968: jis0208<<14 | 0x15<<7 | 0x18,
+ 29427 - 19968: jis0212<<14 | 0x29<<7 | 0x5A,
+ 29428 - 19968: jis0212<<14 | 0x29<<7 | 0x5B,
+ 29431 - 19968: jis0208<<14 | 0x3F<<7 | 0x25,
+ 29432 - 19968: jis0208<<14 | 0x22<<7 | 0x0B,
+ 29433 - 19968: jis0208<<14 | 0x3F<<7 | 0x24,
+ 29434 - 19968: jis0212<<14 | 0x29<<7 | 0x5C,
+ 29435 - 19968: jis0212<<14 | 0x29<<7 | 0x5D,
+ 29436 - 19968: jis0208<<14 | 0x2E<<7 | 0x14,
+ 29437 - 19968: jis0208<<14 | 0x26<<7 | 0x41,
+ 29438 - 19968: jis0212<<14 | 0x2A<<7 | 0x00,
+ 29442 - 19968: jis0212<<14 | 0x2A<<7 | 0x01,
+ 29444 - 19968: jis0212<<14 | 0x2A<<7 | 0x02,
+ 29445 - 19968: jis0212<<14 | 0x2A<<7 | 0x03,
+ 29447 - 19968: jis0212<<14 | 0x2A<<7 | 0x04,
+ 29450 - 19968: jis0208<<14 | 0x3F<<7 | 0x28,
+ 29451 - 19968: jis0212<<14 | 0x2A<<7 | 0x05,
+ 29453 - 19968: jis0212<<14 | 0x2A<<7 | 0x06,
+ 29458 - 19968: jis0212<<14 | 0x2A<<7 | 0x07,
+ 29459 - 19968: jis0212<<14 | 0x2A<<7 | 0x08,
+ 29462 - 19968: jis0208<<14 | 0x3F<<7 | 0x2A,
+ 29463 - 19968: jis0208<<14 | 0x3F<<7 | 0x27,
+ 29464 - 19968: jis0212<<14 | 0x2A<<7 | 0x09,
+ 29465 - 19968: jis0212<<14 | 0x2A<<7 | 0x0A,
+ 29467 - 19968: jis0208<<14 | 0x2B<<7 | 0x33,
+ 29468 - 19968: jis0208<<14 | 0x3F<<7 | 0x29,
+ 29469 - 19968: jis0208<<14 | 0x3F<<7 | 0x2B,
+ 29470 - 19968: jis0212<<14 | 0x2A<<7 | 0x0B,
+ 29471 - 19968: jis0208<<14 | 0x2D<<7 | 0x23,
+ 29474 - 19968: jis0212<<14 | 0x2A<<7 | 0x0C,
+ 29476 - 19968: jis0208<<14 | 0x5A<<7 | 0x01,
+ 29477 - 19968: jis0208<<14 | 0x3F<<7 | 0x2F,
+ 29479 - 19968: jis0212<<14 | 0x2A<<7 | 0x0E,
+ 29480 - 19968: jis0212<<14 | 0x2A<<7 | 0x0F,
+ 29481 - 19968: jis0208<<14 | 0x3F<<7 | 0x2E,
+ 29482 - 19968: jis0208<<14 | 0x22<<7 | 0x55,
+ 29483 - 19968: jis0208<<14 | 0x26<<7 | 0x0C,
+ 29484 - 19968: jis0212<<14 | 0x2A<<7 | 0x10,
+ 29486 - 19968: jis0208<<14 | 0x17<<7 | 0x04,
+ 29487 - 19968: jis0208<<14 | 0x3F<<7 | 0x2D,
+ 29489 - 19968: jis0212<<14 | 0x2A<<7 | 0x11,
+ 29490 - 19968: jis0212<<14 | 0x2A<<7 | 0x12,
+ 29492 - 19968: jis0208<<14 | 0x3F<<7 | 0x2C,
+ 29493 - 19968: jis0212<<14 | 0x2A<<7 | 0x13,
+ 29494 - 19968: jis0208<<14 | 0x2C<<7 | 0x10,
+ 29495 - 19968: jis0208<<14 | 0x2C<<7 | 0x11,
+ 29498 - 19968: jis0212<<14 | 0x2A<<7 | 0x14,
+ 29499 - 19968: jis0212<<14 | 0x2A<<7 | 0x15,
+ 29501 - 19968: jis0212<<14 | 0x2A<<7 | 0x16,
+ 29502 - 19968: jis0208<<14 | 0x3F<<7 | 0x30,
+ 29503 - 19968: jis0208<<14 | 0x10<<7 | 0x4D,
+ 29507 - 19968: jis0212<<14 | 0x2A<<7 | 0x17,
+ 29508 - 19968: jis0208<<14 | 0x18<<7 | 0x55,
+ 29509 - 19968: jis0208<<14 | 0x1A<<7 | 0x41,
+ 29517 - 19968: jis0212<<14 | 0x2A<<7 | 0x18,
+ 29518 - 19968: jis0208<<14 | 0x3F<<7 | 0x31,
+ 29519 - 19968: jis0208<<14 | 0x3F<<7 | 0x32,
+ 29520 - 19968: jis0212<<14 | 0x2A<<7 | 0x19,
+ 29522 - 19968: jis0212<<14 | 0x2A<<7 | 0x1A,
+ 29526 - 19968: jis0212<<14 | 0x2A<<7 | 0x1B,
+ 29527 - 19968: jis0208<<14 | 0x3F<<7 | 0x34,
+ 29528 - 19968: jis0212<<14 | 0x2A<<7 | 0x1C,
+ 29533 - 19968: jis0212<<14 | 0x2A<<7 | 0x1D,
+ 29534 - 19968: jis0212<<14 | 0x2A<<7 | 0x1E,
+ 29535 - 19968: jis0212<<14 | 0x2A<<7 | 0x1F,
+ 29536 - 19968: jis0212<<14 | 0x2A<<7 | 0x20,
+ 29539 - 19968: jis0208<<14 | 0x1C<<7 | 0x22,
+ 29542 - 19968: jis0212<<14 | 0x2A<<7 | 0x21,
+ 29543 - 19968: jis0212<<14 | 0x2A<<7 | 0x22,
+ 29544 - 19968: jis0208<<14 | 0x3F<<7 | 0x36,
+ 29545 - 19968: jis0212<<14 | 0x2A<<7 | 0x23,
+ 29546 - 19968: jis0208<<14 | 0x3F<<7 | 0x35,
+ 29547 - 19968: jis0212<<14 | 0x2A<<7 | 0x24,
+ 29548 - 19968: jis0212<<14 | 0x2A<<7 | 0x25,
+ 29550 - 19968: jis0212<<14 | 0x2A<<7 | 0x26,
+ 29551 - 19968: jis0212<<14 | 0x2A<<7 | 0x27,
+ 29552 - 19968: jis0208<<14 | 0x3F<<7 | 0x37,
+ 29553 - 19968: jis0212<<14 | 0x2A<<7 | 0x28,
+ 29554 - 19968: jis0208<<14 | 0x12<<7 | 0x2C,
+ 29557 - 19968: jis0208<<14 | 0x3F<<7 | 0x39,
+ 29559 - 19968: jis0208<<14 | 0x5A<<7 | 0x03,
+ 29560 - 19968: jis0208<<14 | 0x3F<<7 | 0x38,
+ 29561 - 19968: jis0212<<14 | 0x2A<<7 | 0x2A,
+ 29562 - 19968: jis0208<<14 | 0x3F<<7 | 0x3B,
+ 29563 - 19968: jis0208<<14 | 0x3F<<7 | 0x3A,
+ 29564 - 19968: jis0212<<14 | 0x2A<<7 | 0x2B,
+ 29568 - 19968: jis0212<<14 | 0x2A<<7 | 0x2C,
+ 29569 - 19968: jis0212<<14 | 0x2A<<7 | 0x2D,
+ 29571 - 19968: jis0212<<14 | 0x2A<<7 | 0x2E,
+ 29572 - 19968: jis0208<<14 | 0x17<<7 | 0x1B,
+ 29573 - 19968: jis0212<<14 | 0x2A<<7 | 0x2F,
+ 29574 - 19968: jis0212<<14 | 0x2A<<7 | 0x30,
+ 29575 - 19968: jis0208<<14 | 0x2D<<7 | 0x07,
+ 29577 - 19968: jis0208<<14 | 0x15<<7 | 0x2B,
+ 29579 - 19968: jis0208<<14 | 0x11<<7 | 0x05,
+ 29582 - 19968: jis0212<<14 | 0x2A<<7 | 0x31,
+ 29584 - 19968: jis0212<<14 | 0x2A<<7 | 0x32,
+ 29587 - 19968: jis0212<<14 | 0x2A<<7 | 0x33,
+ 29589 - 19968: jis0212<<14 | 0x2A<<7 | 0x34,
+ 29590 - 19968: jis0208<<14 | 0x15<<7 | 0x49,
+ 29591 - 19968: jis0212<<14 | 0x2A<<7 | 0x35,
+ 29592 - 19968: jis0212<<14 | 0x2A<<7 | 0x36,
+ 29596 - 19968: jis0212<<14 | 0x2A<<7 | 0x37,
+ 29598 - 19968: jis0212<<14 | 0x2A<<7 | 0x38,
+ 29599 - 19968: jis0212<<14 | 0x2A<<7 | 0x39,
+ 29600 - 19968: jis0212<<14 | 0x2A<<7 | 0x3A,
+ 29602 - 19968: jis0212<<14 | 0x2A<<7 | 0x3B,
+ 29605 - 19968: jis0212<<14 | 0x2A<<7 | 0x3C,
+ 29606 - 19968: jis0212<<14 | 0x2A<<7 | 0x3D,
+ 29609 - 19968: jis0208<<14 | 0x13<<7 | 0x40,
+ 29610 - 19968: jis0212<<14 | 0x2A<<7 | 0x3E,
+ 29611 - 19968: jis0212<<14 | 0x2A<<7 | 0x3F,
+ 29613 - 19968: jis0212<<14 | 0x2A<<7 | 0x40,
+ 29618 - 19968: jis0208<<14 | 0x2D<<7 | 0x47,
+ 29619 - 19968: jis0208<<14 | 0x3F<<7 | 0x3D,
+ 29621 - 19968: jis0212<<14 | 0x2A<<7 | 0x41,
+ 29623 - 19968: jis0212<<14 | 0x2A<<7 | 0x42,
+ 29625 - 19968: jis0212<<14 | 0x2A<<7 | 0x43,
+ 29627 - 19968: jis0208<<14 | 0x3F<<7 | 0x3F,
+ 29628 - 19968: jis0212<<14 | 0x2A<<7 | 0x44,
+ 29629 - 19968: jis0208<<14 | 0x5A<<7 | 0x04,
+ 29631 - 19968: jis0212<<14 | 0x2A<<7 | 0x46,
+ 29632 - 19968: jis0208<<14 | 0x3F<<7 | 0x40,
+ 29634 - 19968: jis0208<<14 | 0x11<<7 | 0x30,
+ 29637 - 19968: jis0212<<14 | 0x2A<<7 | 0x47,
+ 29638 - 19968: jis0212<<14 | 0x2A<<7 | 0x48,
+ 29640 - 19968: jis0208<<14 | 0x3F<<7 | 0x3C,
+ 29641 - 19968: jis0208<<14 | 0x5A<<7 | 0x05,
+ 29642 - 19968: jis0208<<14 | 0x1A<<7 | 0x18,
+ 29643 - 19968: jis0212<<14 | 0x2A<<7 | 0x4A,
+ 29644 - 19968: jis0212<<14 | 0x2A<<7 | 0x4B,
+ 29645 - 19968: jis0208<<14 | 0x23<<7 | 0x20,
+ 29646 - 19968: jis0208<<14 | 0x3F<<7 | 0x3E,
+ 29647 - 19968: jis0212<<14 | 0x2A<<7 | 0x4C,
+ 29650 - 19968: jis0208<<14 | 0x5A<<7 | 0x08,
+ 29651 - 19968: jis0212<<14 | 0x2A<<7 | 0x4E,
+ 29654 - 19968: jis0208<<14 | 0x5A<<7 | 0x06,
+ 29657 - 19968: jis0212<<14 | 0x2A<<7 | 0x50,
+ 29661 - 19968: jis0212<<14 | 0x2A<<7 | 0x51,
+ 29662 - 19968: jis0208<<14 | 0x3F<<7 | 0x43,
+ 29664 - 19968: jis0208<<14 | 0x1B<<7 | 0x4D,
+ 29665 - 19968: jis0212<<14 | 0x2A<<7 | 0x52,
+ 29667 - 19968: jis0208<<14 | 0x5A<<7 | 0x07,
+ 29669 - 19968: jis0208<<14 | 0x3F<<7 | 0x41,
+ 29670 - 19968: jis0212<<14 | 0x2A<<7 | 0x54,
+ 29671 - 19968: jis0212<<14 | 0x2A<<7 | 0x55,
+ 29673 - 19968: jis0212<<14 | 0x2A<<7 | 0x56,
+ 29674 - 19968: jis0208<<14 | 0x16<<7 | 0x1D,
+ 29677 - 19968: jis0208<<14 | 0x27<<7 | 0x28,
+ 29678 - 19968: jis0208<<14 | 0x3F<<7 | 0x42,
+ 29681 - 19968: jis0208<<14 | 0x3F<<7 | 0x5D,
+ 29684 - 19968: jis0212<<14 | 0x2A<<7 | 0x57,
+ 29685 - 19968: jis0208<<14 | 0x5A<<7 | 0x0A,
+ 29687 - 19968: jis0212<<14 | 0x2A<<7 | 0x59,
+ 29688 - 19968: jis0208<<14 | 0x3F<<7 | 0x48,
+ 29689 - 19968: jis0212<<14 | 0x2A<<7 | 0x5A,
+ 29690 - 19968: jis0212<<14 | 0x2A<<7 | 0x5B,
+ 29691 - 19968: jis0212<<14 | 0x2A<<7 | 0x5C,
+ 29693 - 19968: jis0212<<14 | 0x2A<<7 | 0x5D,
+ 29694 - 19968: jis0208<<14 | 0x17<<7 | 0x1C,
+ 29695 - 19968: jis0212<<14 | 0x2B<<7 | 0x00,
+ 29696 - 19968: jis0212<<14 | 0x2B<<7 | 0x01,
+ 29697 - 19968: jis0212<<14 | 0x2B<<7 | 0x02,
+ 29699 - 19968: jis0208<<14 | 0x14<<7 | 0x44,
+ 29700 - 19968: jis0212<<14 | 0x2B<<7 | 0x03,
+ 29701 - 19968: jis0208<<14 | 0x3F<<7 | 0x45,
+ 29702 - 19968: jis0208<<14 | 0x2C<<7 | 0x5C,
+ 29703 - 19968: jis0208<<14 | 0x5A<<7 | 0x09,
+ 29705 - 19968: jis0208<<14 | 0x2D<<7 | 0x0F,
+ 29706 - 19968: jis0212<<14 | 0x2B<<7 | 0x05,
+ 29713 - 19968: jis0212<<14 | 0x2B<<7 | 0x06,
+ 29722 - 19968: jis0212<<14 | 0x2B<<7 | 0x07,
+ 29723 - 19968: jis0212<<14 | 0x2B<<7 | 0x08,
+ 29730 - 19968: jis0208<<14 | 0x21<<7 | 0x55,
+ 29732 - 19968: jis0212<<14 | 0x2B<<7 | 0x09,
+ 29733 - 19968: jis0208<<14 | 0x3F<<7 | 0x47,
+ 29734 - 19968: jis0208<<14 | 0x5A<<7 | 0x0B,
+ 29736 - 19968: jis0212<<14 | 0x2B<<7 | 0x0B,
+ 29737 - 19968: jis0208<<14 | 0x5A<<7 | 0x0D,
+ 29738 - 19968: jis0208<<14 | 0x5A<<7 | 0x0C,
+ 29739 - 19968: jis0212<<14 | 0x2B<<7 | 0x0E,
+ 29740 - 19968: jis0212<<14 | 0x2B<<7 | 0x0F,
+ 29741 - 19968: jis0212<<14 | 0x2B<<7 | 0x10,
+ 29742 - 19968: jis0208<<14 | 0x5A<<7 | 0x0E,
+ 29743 - 19968: jis0212<<14 | 0x2B<<7 | 0x12,
+ 29744 - 19968: jis0212<<14 | 0x2B<<7 | 0x13,
+ 29745 - 19968: jis0212<<14 | 0x2B<<7 | 0x14,
+ 29746 - 19968: jis0208<<14 | 0x3F<<7 | 0x49,
+ 29747 - 19968: jis0208<<14 | 0x2D<<7 | 0x35,
+ 29748 - 19968: jis0208<<14 | 0x15<<7 | 0x36,
+ 29749 - 19968: jis0208<<14 | 0x27<<7 | 0x5B,
+ 29750 - 19968: jis0208<<14 | 0x26<<7 | 0x29,
+ 29753 - 19968: jis0212<<14 | 0x2B<<7 | 0x15,
+ 29754 - 19968: jis0208<<14 | 0x3F<<7 | 0x4A,
+ 29759 - 19968: jis0208<<14 | 0x3F<<7 | 0x4C,
+ 29760 - 19968: jis0212<<14 | 0x2B<<7 | 0x16,
+ 29761 - 19968: jis0208<<14 | 0x3F<<7 | 0x4F,
+ 29763 - 19968: jis0212<<14 | 0x2B<<7 | 0x17,
+ 29764 - 19968: jis0212<<14 | 0x2B<<7 | 0x18,
+ 29766 - 19968: jis0212<<14 | 0x2B<<7 | 0x19,
+ 29767 - 19968: jis0212<<14 | 0x2B<<7 | 0x1A,
+ 29771 - 19968: jis0212<<14 | 0x2B<<7 | 0x1B,
+ 29773 - 19968: jis0212<<14 | 0x2B<<7 | 0x1C,
+ 29777 - 19968: jis0212<<14 | 0x2B<<7 | 0x1D,
+ 29778 - 19968: jis0212<<14 | 0x2B<<7 | 0x1E,
+ 29781 - 19968: jis0208<<14 | 0x3F<<7 | 0x4B,
+ 29783 - 19968: jis0212<<14 | 0x2B<<7 | 0x1F,
+ 29785 - 19968: jis0208<<14 | 0x3F<<7 | 0x4E,
+ 29786 - 19968: jis0208<<14 | 0x17<<7 | 0x49,
+ 29787 - 19968: jis0208<<14 | 0x10<<7 | 0x2C,
+ 29788 - 19968: jis0208<<14 | 0x3F<<7 | 0x50,
+ 29789 - 19968: jis0212<<14 | 0x2B<<7 | 0x20,
+ 29790 - 19968: jis0208<<14 | 0x1E<<7 | 0x4F,
+ 29791 - 19968: jis0208<<14 | 0x3F<<7 | 0x4D,
+ 29792 - 19968: jis0208<<14 | 0x2D<<7 | 0x3B,
+ 29794 - 19968: jis0208<<14 | 0x5A<<7 | 0x0F,
+ 29795 - 19968: jis0208<<14 | 0x3F<<7 | 0x53,
+ 29796 - 19968: jis0208<<14 | 0x53<<7 | 0x03,
+ 29798 - 19968: jis0212<<14 | 0x2B<<7 | 0x22,
+ 29799 - 19968: jis0212<<14 | 0x2B<<7 | 0x23,
+ 29800 - 19968: jis0212<<14 | 0x2B<<7 | 0x24,
+ 29801 - 19968: jis0208<<14 | 0x3F<<7 | 0x51,
+ 29802 - 19968: jis0208<<14 | 0x3F<<7 | 0x54,
+ 29803 - 19968: jis0212<<14 | 0x2B<<7 | 0x25,
+ 29805 - 19968: jis0212<<14 | 0x2B<<7 | 0x26,
+ 29806 - 19968: jis0212<<14 | 0x2B<<7 | 0x27,
+ 29807 - 19968: jis0208<<14 | 0x3F<<7 | 0x46,
+ 29808 - 19968: jis0208<<14 | 0x3F<<7 | 0x52,
+ 29809 - 19968: jis0212<<14 | 0x2B<<7 | 0x28,
+ 29810 - 19968: jis0212<<14 | 0x2B<<7 | 0x29,
+ 29811 - 19968: jis0208<<14 | 0x19<<7 | 0x1B,
+ 29814 - 19968: jis0208<<14 | 0x3F<<7 | 0x55,
+ 29822 - 19968: jis0208<<14 | 0x3F<<7 | 0x56,
+ 29824 - 19968: jis0212<<14 | 0x2B<<7 | 0x2A,
+ 29825 - 19968: jis0212<<14 | 0x2B<<7 | 0x2B,
+ 29827 - 19968: jis0208<<14 | 0x2C<<7 | 0x5D,
+ 29829 - 19968: jis0212<<14 | 0x2B<<7 | 0x2C,
+ 29830 - 19968: jis0212<<14 | 0x2B<<7 | 0x2D,
+ 29831 - 19968: jis0212<<14 | 0x2B<<7 | 0x2E,
+ 29833 - 19968: jis0208<<14 | 0x5A<<7 | 0x10,
+ 29835 - 19968: jis0208<<14 | 0x3F<<7 | 0x57,
+ 29839 - 19968: jis0212<<14 | 0x2B<<7 | 0x30,
+ 29840 - 19968: jis0212<<14 | 0x2B<<7 | 0x31,
+ 29841 - 19968: jis0212<<14 | 0x2B<<7 | 0x32,
+ 29842 - 19968: jis0212<<14 | 0x2B<<7 | 0x33,
+ 29848 - 19968: jis0212<<14 | 0x2B<<7 | 0x34,
+ 29849 - 19968: jis0212<<14 | 0x2B<<7 | 0x35,
+ 29850 - 19968: jis0212<<14 | 0x2B<<7 | 0x36,
+ 29852 - 19968: jis0212<<14 | 0x2B<<7 | 0x37,
+ 29854 - 19968: jis0208<<14 | 0x3F<<7 | 0x58,
+ 29855 - 19968: jis0208<<14 | 0x5A<<7 | 0x11,
+ 29856 - 19968: jis0212<<14 | 0x2B<<7 | 0x39,
+ 29857 - 19968: jis0212<<14 | 0x2B<<7 | 0x3A,
+ 29858 - 19968: jis0208<<14 | 0x3F<<7 | 0x44,
+ 29859 - 19968: jis0212<<14 | 0x2B<<7 | 0x3B,
+ 29862 - 19968: jis0212<<14 | 0x2B<<7 | 0x3C,
+ 29863 - 19968: jis0208<<14 | 0x3F<<7 | 0x59,
+ 29864 - 19968: jis0212<<14 | 0x2B<<7 | 0x3D,
+ 29865 - 19968: jis0212<<14 | 0x2B<<7 | 0x3E,
+ 29866 - 19968: jis0212<<14 | 0x2B<<7 | 0x3F,
+ 29867 - 19968: jis0212<<14 | 0x2B<<7 | 0x40,
+ 29870 - 19968: jis0212<<14 | 0x2B<<7 | 0x41,
+ 29871 - 19968: jis0212<<14 | 0x2B<<7 | 0x42,
+ 29872 - 19968: jis0208<<14 | 0x13<<7 | 0x23,
+ 29873 - 19968: jis0212<<14 | 0x2B<<7 | 0x43,
+ 29874 - 19968: jis0212<<14 | 0x2B<<7 | 0x44,
+ 29877 - 19968: jis0212<<14 | 0x2B<<7 | 0x45,
+ 29881 - 19968: jis0212<<14 | 0x2B<<7 | 0x46,
+ 29883 - 19968: jis0212<<14 | 0x2B<<7 | 0x47,
+ 29885 - 19968: jis0208<<14 | 0x1B<<7 | 0x04,
+ 29887 - 19968: jis0212<<14 | 0x2B<<7 | 0x48,
+ 29896 - 19968: jis0212<<14 | 0x2B<<7 | 0x49,
+ 29897 - 19968: jis0212<<14 | 0x2B<<7 | 0x4A,
+ 29898 - 19968: jis0208<<14 | 0x3F<<7 | 0x5A,
+ 29900 - 19968: jis0212<<14 | 0x2B<<7 | 0x4B,
+ 29903 - 19968: jis0208<<14 | 0x3F<<7 | 0x5B,
+ 29904 - 19968: jis0212<<14 | 0x2B<<7 | 0x4C,
+ 29907 - 19968: jis0212<<14 | 0x2B<<7 | 0x4D,
+ 29908 - 19968: jis0208<<14 | 0x3F<<7 | 0x5C,
+ 29912 - 19968: jis0212<<14 | 0x2B<<7 | 0x4E,
+ 29914 - 19968: jis0212<<14 | 0x2B<<7 | 0x4F,
+ 29915 - 19968: jis0212<<14 | 0x2B<<7 | 0x50,
+ 29916 - 19968: jis0208<<14 | 0x10<<7 | 0x1A,
+ 29918 - 19968: jis0212<<14 | 0x2B<<7 | 0x51,
+ 29919 - 19968: jis0212<<14 | 0x2B<<7 | 0x52,
+ 29920 - 19968: jis0208<<14 | 0x40<<7 | 0x00,
+ 29922 - 19968: jis0208<<14 | 0x28<<7 | 0x1A,
+ 29923 - 19968: jis0208<<14 | 0x40<<7 | 0x01,
+ 29924 - 19968: jis0212<<14 | 0x2B<<7 | 0x53,
+ 29926 - 19968: jis0208<<14 | 0x13<<7 | 0x03,
+ 29927 - 19968: jis0208<<14 | 0x40<<7 | 0x02,
+ 29928 - 19968: jis0212<<14 | 0x2B<<7 | 0x54,
+ 29929 - 19968: jis0208<<14 | 0x40<<7 | 0x03,
+ 29930 - 19968: jis0212<<14 | 0x2B<<7 | 0x55,
+ 29931 - 19968: jis0212<<14 | 0x2B<<7 | 0x56,
+ 29934 - 19968: jis0208<<14 | 0x40<<7 | 0x04,
+ 29935 - 19968: jis0212<<14 | 0x2B<<7 | 0x57,
+ 29936 - 19968: jis0208<<14 | 0x40<<7 | 0x06,
+ 29937 - 19968: jis0208<<14 | 0x40<<7 | 0x07,
+ 29938 - 19968: jis0208<<14 | 0x40<<7 | 0x05,
+ 29940 - 19968: jis0212<<14 | 0x2B<<7 | 0x58,
+ 29942 - 19968: jis0208<<14 | 0x28<<7 | 0x32,
+ 29943 - 19968: jis0208<<14 | 0x40<<7 | 0x09,
+ 29944 - 19968: jis0208<<14 | 0x40<<7 | 0x08,
+ 29946 - 19968: jis0212<<14 | 0x2B<<7 | 0x59,
+ 29947 - 19968: jis0212<<14 | 0x2B<<7 | 0x5A,
+ 29948 - 19968: jis0212<<14 | 0x2B<<7 | 0x5B,
+ 29951 - 19968: jis0212<<14 | 0x2B<<7 | 0x5C,
+ 29953 - 19968: jis0208<<14 | 0x5A<<7 | 0x12,
+ 29955 - 19968: jis0208<<14 | 0x40<<7 | 0x0B,
+ 29956 - 19968: jis0208<<14 | 0x40<<7 | 0x0A,
+ 29957 - 19968: jis0208<<14 | 0x40<<7 | 0x0C,
+ 29958 - 19968: jis0212<<14 | 0x2B<<7 | 0x5D,
+ 29964 - 19968: jis0208<<14 | 0x40<<7 | 0x0D,
+ 29965 - 19968: jis0208<<14 | 0x40<<7 | 0x0F,
+ 29966 - 19968: jis0208<<14 | 0x40<<7 | 0x0E,
+ 29969 - 19968: jis0208<<14 | 0x18<<7 | 0x58,
+ 29970 - 19968: jis0212<<14 | 0x2C<<7 | 0x00,
+ 29971 - 19968: jis0208<<14 | 0x40<<7 | 0x11,
+ 29973 - 19968: jis0208<<14 | 0x40<<7 | 0x10,
+ 29974 - 19968: jis0212<<14 | 0x2C<<7 | 0x01,
+ 29975 - 19968: jis0212<<14 | 0x2C<<7 | 0x02,
+ 29976 - 19968: jis0208<<14 | 0x13<<7 | 0x24,
+ 29978 - 19968: jis0208<<14 | 0x1E<<7 | 0x32,
+ 29980 - 19968: jis0208<<14 | 0x24<<7 | 0x1B,
+ 29982 - 19968: jis0208<<14 | 0x40<<7 | 0x12,
+ 29983 - 19968: jis0208<<14 | 0x1F<<7 | 0x17,
+ 29984 - 19968: jis0212<<14 | 0x2C<<7 | 0x03,
+ 29985 - 19968: jis0212<<14 | 0x2C<<7 | 0x04,
+ 29987 - 19968: jis0208<<14 | 0x1A<<7 | 0x19,
+ 29988 - 19968: jis0212<<14 | 0x2C<<7 | 0x05,
+ 29989 - 19968: jis0208<<14 | 0x10<<7 | 0x58,
+ 29990 - 19968: jis0208<<14 | 0x40<<7 | 0x13,
+ 29991 - 19968: jis0212<<14 | 0x2C<<7 | 0x06,
+ 29992 - 19968: jis0208<<14 | 0x2C<<7 | 0x30,
+ 29993 - 19968: jis0212<<14 | 0x2C<<7 | 0x07,
+ 29994 - 19968: jis0212<<14 | 0x2C<<7 | 0x08,
+ 29995 - 19968: jis0208<<14 | 0x29<<7 | 0x42,
+ 29996 - 19968: jis0208<<14 | 0x40<<7 | 0x14,
+ 29999 - 19968: jis0208<<14 | 0x58<<7 | 0x4B,
+ 30000 - 19968: jis0208<<14 | 0x24<<7 | 0x23,
+ 30001 - 19968: jis0208<<14 | 0x2C<<7 | 0x12,
+ 30002 - 19968: jis0208<<14 | 0x18<<7 | 0x22,
+ 30003 - 19968: jis0208<<14 | 0x1E<<7 | 0x1C,
+ 30006 - 19968: jis0212<<14 | 0x2C<<7 | 0x0A,
+ 30007 - 19968: jis0208<<14 | 0x22<<7 | 0x2A,
+ 30008 - 19968: jis0208<<14 | 0x31<<7 | 0x13,
+ 30009 - 19968: jis0212<<14 | 0x2C<<7 | 0x0B,
+ 30010 - 19968: jis0208<<14 | 0x23<<7 | 0x0D,
+ 30011 - 19968: jis0208<<14 | 0x11<<7 | 0x47,
+ 30012 - 19968: jis0208<<14 | 0x40<<7 | 0x15,
+ 30013 - 19968: jis0212<<14 | 0x2C<<7 | 0x0C,
+ 30014 - 19968: jis0212<<14 | 0x2C<<7 | 0x0D,
+ 30015 - 19968: jis0212<<14 | 0x2C<<7 | 0x0E,
+ 30016 - 19968: jis0212<<14 | 0x2C<<7 | 0x0F,
+ 30019 - 19968: jis0212<<14 | 0x2C<<7 | 0x10,
+ 30020 - 19968: jis0208<<14 | 0x40<<7 | 0x16,
+ 30022 - 19968: jis0208<<14 | 0x40<<7 | 0x1B,
+ 30023 - 19968: jis0212<<14 | 0x2C<<7 | 0x11,
+ 30024 - 19968: jis0212<<14 | 0x2C<<7 | 0x12,
+ 30025 - 19968: jis0208<<14 | 0x40<<7 | 0x19,
+ 30026 - 19968: jis0208<<14 | 0x40<<7 | 0x18,
+ 30027 - 19968: jis0208<<14 | 0x39<<7 | 0x21,
+ 30028 - 19968: jis0208<<14 | 0x12<<7 | 0x05,
+ 30029 - 19968: jis0208<<14 | 0x40<<7 | 0x17,
+ 30030 - 19968: jis0212<<14 | 0x2C<<7 | 0x13,
+ 30031 - 19968: jis0208<<14 | 0x0F<<7 | 0x39,
+ 30032 - 19968: jis0212<<14 | 0x2C<<7 | 0x14,
+ 30033 - 19968: jis0208<<14 | 0x27<<7 | 0x09,
+ 30034 - 19968: jis0212<<14 | 0x2C<<7 | 0x15,
+ 30036 - 19968: jis0208<<14 | 0x27<<7 | 0x29,
+ 30039 - 19968: jis0212<<14 | 0x2C<<7 | 0x16,
+ 30041 - 19968: jis0208<<14 | 0x2D<<7 | 0x10,
+ 30042 - 19968: jis0208<<14 | 0x40<<7 | 0x1C,
+ 30043 - 19968: jis0208<<14 | 0x40<<7 | 0x1A,
+ 30044 - 19968: jis0208<<14 | 0x22<<7 | 0x3B,
+ 30045 - 19968: jis0208<<14 | 0x1F<<7 | 0x05,
+ 30046 - 19968: jis0212<<14 | 0x2C<<7 | 0x17,
+ 30047 - 19968: jis0212<<14 | 0x2C<<7 | 0x18,
+ 30048 - 19968: jis0208<<14 | 0x27<<7 | 0x0A,
+ 30049 - 19968: jis0212<<14 | 0x2C<<7 | 0x19,
+ 30050 - 19968: jis0208<<14 | 0x28<<7 | 0x0C,
+ 30052 - 19968: jis0208<<14 | 0x40<<7 | 0x1E,
+ 30053 - 19968: jis0208<<14 | 0x2D<<7 | 0x0B,
+ 30054 - 19968: jis0208<<14 | 0x16<<7 | 0x2C,
+ 30055 - 19968: jis0208<<14 | 0x40<<7 | 0x1F,
+ 30057 - 19968: jis0208<<14 | 0x40<<7 | 0x1D,
+ 30058 - 19968: jis0208<<14 | 0x27<<7 | 0x35,
+ 30059 - 19968: jis0208<<14 | 0x40<<7 | 0x20,
+ 30061 - 19968: jis0208<<14 | 0x40<<7 | 0x21,
+ 30063 - 19968: jis0208<<14 | 0x5A<<7 | 0x13,
+ 30064 - 19968: jis0208<<14 | 0x0F<<7 | 0x3A,
+ 30065 - 19968: jis0212<<14 | 0x2C<<7 | 0x1B,
+ 30067 - 19968: jis0208<<14 | 0x1D<<7 | 0x55,
+ 30068 - 19968: jis0208<<14 | 0x40<<7 | 0x26,
+ 30070 - 19968: jis0208<<14 | 0x40<<7 | 0x23,
+ 30071 - 19968: jis0208<<14 | 0x25<<7 | 0x4C,
+ 30072 - 19968: jis0208<<14 | 0x40<<7 | 0x22,
+ 30073 - 19968: jis0212<<14 | 0x2C<<7 | 0x1C,
+ 30074 - 19968: jis0212<<14 | 0x2C<<7 | 0x1D,
+ 30075 - 19968: jis0212<<14 | 0x2C<<7 | 0x1E,
+ 30076 - 19968: jis0212<<14 | 0x2C<<7 | 0x1F,
+ 30077 - 19968: jis0212<<14 | 0x2C<<7 | 0x20,
+ 30078 - 19968: jis0212<<14 | 0x2C<<7 | 0x21,
+ 30079 - 19968: jis0208<<14 | 0x14<<7 | 0x05,
+ 30081 - 19968: jis0212<<14 | 0x2C<<7 | 0x22,
+ 30082 - 19968: jis0208<<14 | 0x40<<7 | 0x29,
+ 30085 - 19968: jis0212<<14 | 0x2C<<7 | 0x23,
+ 30086 - 19968: jis0208<<14 | 0x40<<7 | 0x24,
+ 30087 - 19968: jis0208<<14 | 0x40<<7 | 0x25,
+ 30089 - 19968: jis0208<<14 | 0x40<<7 | 0x28,
+ 30090 - 19968: jis0208<<14 | 0x40<<7 | 0x27,
+ 30091 - 19968: jis0208<<14 | 0x28<<7 | 0x04,
+ 30094 - 19968: jis0208<<14 | 0x20<<7 | 0x21,
+ 30095 - 19968: jis0208<<14 | 0x20<<7 | 0x20,
+ 30096 - 19968: jis0212<<14 | 0x2C<<7 | 0x24,
+ 30097 - 19968: jis0208<<14 | 0x14<<7 | 0x1E,
+ 30098 - 19968: jis0212<<14 | 0x2C<<7 | 0x25,
+ 30099 - 19968: jis0212<<14 | 0x2C<<7 | 0x26,
+ 30100 - 19968: jis0208<<14 | 0x40<<7 | 0x2A,
+ 30101 - 19968: jis0212<<14 | 0x2C<<7 | 0x27,
+ 30105 - 19968: jis0212<<14 | 0x2C<<7 | 0x28,
+ 30106 - 19968: jis0208<<14 | 0x40<<7 | 0x2B,
+ 30108 - 19968: jis0212<<14 | 0x2C<<7 | 0x29,
+ 30109 - 19968: jis0208<<14 | 0x40<<7 | 0x2C,
+ 30114 - 19968: jis0212<<14 | 0x2C<<7 | 0x2A,
+ 30115 - 19968: jis0208<<14 | 0x40<<7 | 0x2E,
+ 30116 - 19968: jis0212<<14 | 0x2C<<7 | 0x2B,
+ 30117 - 19968: jis0208<<14 | 0x40<<7 | 0x2D,
+ 30123 - 19968: jis0208<<14 | 0x10<<7 | 0x35,
+ 30129 - 19968: jis0208<<14 | 0x40<<7 | 0x36,
+ 30130 - 19968: jis0208<<14 | 0x27<<7 | 0x47,
+ 30131 - 19968: jis0208<<14 | 0x40<<7 | 0x30,
+ 30132 - 19968: jis0212<<14 | 0x2C<<7 | 0x2C,
+ 30133 - 19968: jis0208<<14 | 0x40<<7 | 0x32,
+ 30136 - 19968: jis0208<<14 | 0x40<<7 | 0x34,
+ 30137 - 19968: jis0208<<14 | 0x1E<<7 | 0x1D,
+ 30138 - 19968: jis0212<<14 | 0x2C<<7 | 0x2D,
+ 30140 - 19968: jis0208<<14 | 0x40<<7 | 0x35,
+ 30141 - 19968: jis0208<<14 | 0x40<<7 | 0x33,
+ 30142 - 19968: jis0208<<14 | 0x1B<<7 | 0x1F,
+ 30143 - 19968: jis0212<<14 | 0x2C<<7 | 0x2E,
+ 30144 - 19968: jis0212<<14 | 0x2C<<7 | 0x2F,
+ 30145 - 19968: jis0212<<14 | 0x2C<<7 | 0x30,
+ 30146 - 19968: jis0208<<14 | 0x40<<7 | 0x2F,
+ 30147 - 19968: jis0208<<14 | 0x40<<7 | 0x31,
+ 30148 - 19968: jis0212<<14 | 0x2C<<7 | 0x31,
+ 30149 - 19968: jis0208<<14 | 0x28<<7 | 0x21,
+ 30150 - 19968: jis0212<<14 | 0x2C<<7 | 0x32,
+ 30151 - 19968: jis0208<<14 | 0x1D<<7 | 0x28,
+ 30154 - 19968: jis0208<<14 | 0x40<<7 | 0x38,
+ 30156 - 19968: jis0212<<14 | 0x2C<<7 | 0x33,
+ 30157 - 19968: jis0208<<14 | 0x40<<7 | 0x37,
+ 30158 - 19968: jis0212<<14 | 0x2C<<7 | 0x34,
+ 30159 - 19968: jis0212<<14 | 0x2C<<7 | 0x35,
+ 30162 - 19968: jis0208<<14 | 0x40<<7 | 0x39,
+ 30164 - 19968: jis0208<<14 | 0x1B<<7 | 0x05,
+ 30165 - 19968: jis0208<<14 | 0x19<<7 | 0x0E,
+ 30167 - 19968: jis0212<<14 | 0x2C<<7 | 0x36,
+ 30168 - 19968: jis0208<<14 | 0x24<<7 | 0x56,
+ 30169 - 19968: jis0208<<14 | 0x40<<7 | 0x3A,
+ 30171 - 19968: jis0208<<14 | 0x23<<7 | 0x2A,
+ 30172 - 19968: jis0212<<14 | 0x2C<<7 | 0x37,
+ 30174 - 19968: jis0208<<14 | 0x40<<7 | 0x3C,
+ 30175 - 19968: jis0212<<14 | 0x2C<<7 | 0x38,
+ 30176 - 19968: jis0212<<14 | 0x2C<<7 | 0x39,
+ 30177 - 19968: jis0212<<14 | 0x2C<<7 | 0x3A,
+ 30178 - 19968: jis0208<<14 | 0x2D<<7 | 0x00,
+ 30179 - 19968: jis0208<<14 | 0x40<<7 | 0x3B,
+ 30180 - 19968: jis0212<<14 | 0x2C<<7 | 0x3B,
+ 30183 - 19968: jis0212<<14 | 0x2C<<7 | 0x3C,
+ 30185 - 19968: jis0208<<14 | 0x20<<7 | 0x48,
+ 30188 - 19968: jis0212<<14 | 0x2C<<7 | 0x3D,
+ 30190 - 19968: jis0212<<14 | 0x2C<<7 | 0x3E,
+ 30191 - 19968: jis0212<<14 | 0x2C<<7 | 0x3F,
+ 30192 - 19968: jis0208<<14 | 0x40<<7 | 0x41,
+ 30193 - 19968: jis0212<<14 | 0x2C<<7 | 0x40,
+ 30194 - 19968: jis0208<<14 | 0x40<<7 | 0x43,
+ 30195 - 19968: jis0208<<14 | 0x40<<7 | 0x44,
+ 30196 - 19968: jis0208<<14 | 0x22<<7 | 0x33,
+ 30201 - 19968: jis0212<<14 | 0x2C<<7 | 0x41,
+ 30202 - 19968: jis0208<<14 | 0x40<<7 | 0x42,
+ 30204 - 19968: jis0208<<14 | 0x40<<7 | 0x3F,
+ 30206 - 19968: jis0208<<14 | 0x40<<7 | 0x3D,
+ 30207 - 19968: jis0208<<14 | 0x40<<7 | 0x3E,
+ 30208 - 19968: jis0212<<14 | 0x2C<<7 | 0x42,
+ 30209 - 19968: jis0208<<14 | 0x40<<7 | 0x40,
+ 30210 - 19968: jis0212<<14 | 0x2C<<7 | 0x43,
+ 30211 - 19968: jis0212<<14 | 0x2C<<7 | 0x44,
+ 30212 - 19968: jis0212<<14 | 0x2C<<7 | 0x45,
+ 30215 - 19968: jis0212<<14 | 0x2C<<7 | 0x46,
+ 30216 - 19968: jis0212<<14 | 0x2C<<7 | 0x47,
+ 30217 - 19968: jis0208<<14 | 0x40<<7 | 0x47,
+ 30218 - 19968: jis0212<<14 | 0x2C<<7 | 0x48,
+ 30219 - 19968: jis0208<<14 | 0x40<<7 | 0x45,
+ 30220 - 19968: jis0212<<14 | 0x2C<<7 | 0x49,
+ 30221 - 19968: jis0208<<14 | 0x40<<7 | 0x46,
+ 30223 - 19968: jis0212<<14 | 0x2C<<7 | 0x4A,
+ 30226 - 19968: jis0212<<14 | 0x2C<<7 | 0x4B,
+ 30227 - 19968: jis0212<<14 | 0x2C<<7 | 0x4C,
+ 30229 - 19968: jis0212<<14 | 0x2C<<7 | 0x4D,
+ 30230 - 19968: jis0212<<14 | 0x2C<<7 | 0x4E,
+ 30233 - 19968: jis0212<<14 | 0x2C<<7 | 0x4F,
+ 30235 - 19968: jis0212<<14 | 0x2C<<7 | 0x50,
+ 30236 - 19968: jis0212<<14 | 0x2C<<7 | 0x51,
+ 30237 - 19968: jis0212<<14 | 0x2C<<7 | 0x52,
+ 30238 - 19968: jis0212<<14 | 0x2C<<7 | 0x53,
+ 30239 - 19968: jis0208<<14 | 0x40<<7 | 0x48,
+ 30240 - 19968: jis0208<<14 | 0x40<<7 | 0x4A,
+ 30241 - 19968: jis0208<<14 | 0x40<<7 | 0x4B,
+ 30242 - 19968: jis0208<<14 | 0x40<<7 | 0x4C,
+ 30243 - 19968: jis0212<<14 | 0x2C<<7 | 0x54,
+ 30244 - 19968: jis0208<<14 | 0x40<<7 | 0x4D,
+ 30245 - 19968: jis0212<<14 | 0x2C<<7 | 0x55,
+ 30246 - 19968: jis0212<<14 | 0x2C<<7 | 0x56,
+ 30247 - 19968: jis0208<<14 | 0x40<<7 | 0x49,
+ 30249 - 19968: jis0212<<14 | 0x2C<<7 | 0x57,
+ 30253 - 19968: jis0212<<14 | 0x2C<<7 | 0x58,
+ 30256 - 19968: jis0208<<14 | 0x40<<7 | 0x4F,
+ 30258 - 19968: jis0212<<14 | 0x2C<<7 | 0x59,
+ 30259 - 19968: jis0212<<14 | 0x2C<<7 | 0x5A,
+ 30260 - 19968: jis0208<<14 | 0x40<<7 | 0x4E,
+ 30261 - 19968: jis0212<<14 | 0x2C<<7 | 0x5B,
+ 30264 - 19968: jis0212<<14 | 0x2C<<7 | 0x5C,
+ 30265 - 19968: jis0212<<14 | 0x2C<<7 | 0x5D,
+ 30266 - 19968: jis0212<<14 | 0x2D<<7 | 0x00,
+ 30267 - 19968: jis0208<<14 | 0x40<<7 | 0x50,
+ 30268 - 19968: jis0212<<14 | 0x2D<<7 | 0x01,
+ 30272 - 19968: jis0212<<14 | 0x2D<<7 | 0x03,
+ 30273 - 19968: jis0212<<14 | 0x2D<<7 | 0x04,
+ 30274 - 19968: jis0208<<14 | 0x2D<<7 | 0x24,
+ 30275 - 19968: jis0212<<14 | 0x2D<<7 | 0x05,
+ 30276 - 19968: jis0212<<14 | 0x2D<<7 | 0x06,
+ 30277 - 19968: jis0212<<14 | 0x2D<<7 | 0x07,
+ 30278 - 19968: jis0208<<14 | 0x40<<7 | 0x53,
+ 30279 - 19968: jis0208<<14 | 0x40<<7 | 0x51,
+ 30280 - 19968: jis0208<<14 | 0x40<<7 | 0x52,
+ 30281 - 19968: jis0212<<14 | 0x2D<<7 | 0x08,
+ 30282 - 19968: jis0212<<14 | 0x2D<<7 | 0x02,
+ 30283 - 19968: jis0212<<14 | 0x2D<<7 | 0x09,
+ 30284 - 19968: jis0208<<14 | 0x13<<7 | 0x41,
+ 30290 - 19968: jis0208<<14 | 0x2B<<7 | 0x5D,
+ 30293 - 19968: jis0212<<14 | 0x2D<<7 | 0x0A,
+ 30294 - 19968: jis0208<<14 | 0x29<<7 | 0x29,
+ 30296 - 19968: jis0208<<14 | 0x40<<7 | 0x55,
+ 30297 - 19968: jis0212<<14 | 0x2D<<7 | 0x0B,
+ 30300 - 19968: jis0208<<14 | 0x40<<7 | 0x54,
+ 30303 - 19968: jis0212<<14 | 0x2D<<7 | 0x0C,
+ 30305 - 19968: jis0208<<14 | 0x40<<7 | 0x56,
+ 30306 - 19968: jis0208<<14 | 0x40<<7 | 0x57,
+ 30308 - 19968: jis0212<<14 | 0x2D<<7 | 0x0D,
+ 30309 - 19968: jis0212<<14 | 0x2D<<7 | 0x0E,
+ 30311 - 19968: jis0208<<14 | 0x40<<7 | 0x5B,
+ 30312 - 19968: jis0208<<14 | 0x40<<7 | 0x58,
+ 30313 - 19968: jis0208<<14 | 0x40<<7 | 0x59,
+ 30314 - 19968: jis0208<<14 | 0x40<<7 | 0x5A,
+ 30316 - 19968: jis0208<<14 | 0x40<<7 | 0x5C,
+ 30317 - 19968: jis0212<<14 | 0x2D<<7 | 0x0F,
+ 30318 - 19968: jis0212<<14 | 0x2D<<7 | 0x10,
+ 30319 - 19968: jis0212<<14 | 0x2D<<7 | 0x11,
+ 30320 - 19968: jis0208<<14 | 0x40<<7 | 0x5D,
+ 30321 - 19968: jis0212<<14 | 0x2D<<7 | 0x12,
+ 30322 - 19968: jis0208<<14 | 0x41<<7 | 0x00,
+ 30324 - 19968: jis0212<<14 | 0x2D<<7 | 0x13,
+ 30326 - 19968: jis0208<<14 | 0x41<<7 | 0x01,
+ 30328 - 19968: jis0208<<14 | 0x41<<7 | 0x02,
+ 30330 - 19968: jis0208<<14 | 0x27<<7 | 0x0E,
+ 30331 - 19968: jis0208<<14 | 0x24<<7 | 0x2F,
+ 30332 - 19968: jis0208<<14 | 0x41<<7 | 0x03,
+ 30333 - 19968: jis0208<<14 | 0x26<<7 | 0x51,
+ 30334 - 19968: jis0208<<14 | 0x28<<7 | 0x13,
+ 30336 - 19968: jis0208<<14 | 0x41<<7 | 0x04,
+ 30337 - 19968: jis0212<<14 | 0x2D<<7 | 0x14,
+ 30338 - 19968: jis0208<<14 | 0x5A<<7 | 0x14,
+ 30339 - 19968: jis0208<<14 | 0x41<<7 | 0x05,
+ 30340 - 19968: jis0208<<14 | 0x24<<7 | 0x09,
+ 30341 - 19968: jis0212<<14 | 0x2D<<7 | 0x15,
+ 30342 - 19968: jis0208<<14 | 0x12<<7 | 0x06,
+ 30343 - 19968: jis0208<<14 | 0x18<<7 | 0x23,
+ 30344 - 19968: jis0208<<14 | 0x41<<7 | 0x06,
+ 30347 - 19968: jis0208<<14 | 0x41<<7 | 0x07,
+ 30348 - 19968: jis0212<<14 | 0x2D<<7 | 0x16,
+ 30349 - 19968: jis0212<<14 | 0x2D<<7 | 0x17,
+ 30350 - 19968: jis0208<<14 | 0x41<<7 | 0x08,
+ 30352 - 19968: jis0208<<14 | 0x1A<<7 | 0x08,
+ 30355 - 19968: jis0208<<14 | 0x41<<7 | 0x0A,
+ 30357 - 19968: jis0212<<14 | 0x2D<<7 | 0x18,
+ 30358 - 19968: jis0208<<14 | 0x41<<7 | 0x09,
+ 30361 - 19968: jis0208<<14 | 0x41<<7 | 0x0B,
+ 30362 - 19968: jis0208<<14 | 0x41<<7 | 0x0C,
+ 30363 - 19968: jis0208<<14 | 0x5A<<7 | 0x17,
+ 30364 - 19968: jis0208<<14 | 0x5A<<7 | 0x15,
+ 30365 - 19968: jis0212<<14 | 0x2D<<7 | 0x1B,
+ 30366 - 19968: jis0208<<14 | 0x5A<<7 | 0x16,
+ 30367 - 19968: jis0212<<14 | 0x2D<<7 | 0x1C,
+ 30368 - 19968: jis0212<<14 | 0x2D<<7 | 0x1D,
+ 30370 - 19968: jis0212<<14 | 0x2D<<7 | 0x1E,
+ 30371 - 19968: jis0212<<14 | 0x2D<<7 | 0x1F,
+ 30372 - 19968: jis0212<<14 | 0x2D<<7 | 0x20,
+ 30373 - 19968: jis0212<<14 | 0x2D<<7 | 0x21,
+ 30374 - 19968: jis0208<<14 | 0x5A<<7 | 0x18,
+ 30375 - 19968: jis0212<<14 | 0x2D<<7 | 0x23,
+ 30376 - 19968: jis0212<<14 | 0x2D<<7 | 0x24,
+ 30378 - 19968: jis0212<<14 | 0x2D<<7 | 0x25,
+ 30381 - 19968: jis0212<<14 | 0x2D<<7 | 0x26,
+ 30382 - 19968: jis0208<<14 | 0x27<<7 | 0x48,
+ 30384 - 19968: jis0208<<14 | 0x41<<7 | 0x0D,
+ 30388 - 19968: jis0208<<14 | 0x41<<7 | 0x0E,
+ 30391 - 19968: jis0208<<14 | 0x52<<7 | 0x48,
+ 30392 - 19968: jis0208<<14 | 0x41<<7 | 0x0F,
+ 30393 - 19968: jis0208<<14 | 0x41<<7 | 0x10,
+ 30394 - 19968: jis0208<<14 | 0x41<<7 | 0x11,
+ 30397 - 19968: jis0212<<14 | 0x2D<<7 | 0x27,
+ 30399 - 19968: jis0208<<14 | 0x1A<<7 | 0x0D,
+ 30401 - 19968: jis0212<<14 | 0x2D<<7 | 0x28,
+ 30402 - 19968: jis0208<<14 | 0x41<<7 | 0x12,
+ 30403 - 19968: jis0208<<14 | 0x26<<7 | 0x35,
+ 30405 - 19968: jis0212<<14 | 0x2D<<7 | 0x29,
+ 30406 - 19968: jis0208<<14 | 0x2A<<7 | 0x3E,
+ 30408 - 19968: jis0208<<14 | 0x10<<7 | 0x2D,
+ 30409 - 19968: jis0212<<14 | 0x2D<<7 | 0x2A,
+ 30410 - 19968: jis0208<<14 | 0x10<<7 | 0x36,
+ 30411 - 19968: jis0212<<14 | 0x2D<<7 | 0x2B,
+ 30412 - 19968: jis0212<<14 | 0x2D<<7 | 0x2C,
+ 30413 - 19968: jis0208<<14 | 0x41<<7 | 0x13,
+ 30414 - 19968: jis0212<<14 | 0x2D<<7 | 0x2D,
+ 30418 - 19968: jis0208<<14 | 0x41<<7 | 0x15,
+ 30420 - 19968: jis0212<<14 | 0x2D<<7 | 0x2E,
+ 30422 - 19968: jis0208<<14 | 0x41<<7 | 0x14,
+ 30423 - 19968: jis0208<<14 | 0x24<<7 | 0x4F,
+ 30425 - 19968: jis0212<<14 | 0x2D<<7 | 0x2F,
+ 30427 - 19968: jis0208<<14 | 0x1F<<7 | 0x18,
+ 30428 - 19968: jis0208<<14 | 0x3C<<7 | 0x18,
+ 30430 - 19968: jis0208<<14 | 0x41<<7 | 0x16,
+ 30431 - 19968: jis0208<<14 | 0x2B<<7 | 0x20,
+ 30432 - 19968: jis0212<<14 | 0x2D<<7 | 0x30,
+ 30433 - 19968: jis0208<<14 | 0x41<<7 | 0x17,
+ 30435 - 19968: jis0208<<14 | 0x13<<7 | 0x25,
+ 30436 - 19968: jis0208<<14 | 0x27<<7 | 0x36,
+ 30437 - 19968: jis0208<<14 | 0x41<<7 | 0x18,
+ 30438 - 19968: jis0212<<14 | 0x2D<<7 | 0x31,
+ 30439 - 19968: jis0208<<14 | 0x41<<7 | 0x19,
+ 30440 - 19968: jis0212<<14 | 0x2D<<7 | 0x32,
+ 30442 - 19968: jis0208<<14 | 0x41<<7 | 0x1A,
+ 30444 - 19968: jis0212<<14 | 0x2D<<7 | 0x33,
+ 30446 - 19968: jis0208<<14 | 0x2B<<7 | 0x3B,
+ 30448 - 19968: jis0212<<14 | 0x2D<<7 | 0x34,
+ 30449 - 19968: jis0212<<14 | 0x2D<<7 | 0x35,
+ 30450 - 19968: jis0208<<14 | 0x2B<<7 | 0x34,
+ 30452 - 19968: jis0208<<14 | 0x23<<7 | 0x1D,
+ 30454 - 19968: jis0212<<14 | 0x2D<<7 | 0x36,
+ 30456 - 19968: jis0208<<14 | 0x20<<7 | 0x49,
+ 30457 - 19968: jis0212<<14 | 0x2D<<7 | 0x37,
+ 30459 - 19968: jis0208<<14 | 0x41<<7 | 0x1C,
+ 30460 - 19968: jis0212<<14 | 0x2D<<7 | 0x38,
+ 30462 - 19968: jis0208<<14 | 0x1C<<7 | 0x41,
+ 30464 - 19968: jis0212<<14 | 0x2D<<7 | 0x39,
+ 30465 - 19968: jis0208<<14 | 0x1D<<7 | 0x29,
+ 30468 - 19968: jis0208<<14 | 0x41<<7 | 0x1F,
+ 30470 - 19968: jis0212<<14 | 0x2D<<7 | 0x3A,
+ 30471 - 19968: jis0208<<14 | 0x41<<7 | 0x1E,
+ 30472 - 19968: jis0208<<14 | 0x41<<7 | 0x1D,
+ 30473 - 19968: jis0208<<14 | 0x27<<7 | 0x5C,
+ 30474 - 19968: jis0212<<14 | 0x2D<<7 | 0x3B,
+ 30475 - 19968: jis0208<<14 | 0x13<<7 | 0x26,
+ 30476 - 19968: jis0208<<14 | 0x17<<7 | 0x08,
+ 30478 - 19968: jis0212<<14 | 0x2D<<7 | 0x3C,
+ 30482 - 19968: jis0212<<14 | 0x2D<<7 | 0x3D,
+ 30484 - 19968: jis0212<<14 | 0x2D<<7 | 0x3E,
+ 30485 - 19968: jis0212<<14 | 0x2D<<7 | 0x3F,
+ 30487 - 19968: jis0212<<14 | 0x2D<<7 | 0x40,
+ 30489 - 19968: jis0212<<14 | 0x2D<<7 | 0x41,
+ 30490 - 19968: jis0212<<14 | 0x2D<<7 | 0x42,
+ 30491 - 19968: jis0208<<14 | 0x41<<7 | 0x25,
+ 30492 - 19968: jis0212<<14 | 0x2D<<7 | 0x43,
+ 30494 - 19968: jis0208<<14 | 0x41<<7 | 0x22,
+ 30495 - 19968: jis0208<<14 | 0x1E<<7 | 0x1E,
+ 30496 - 19968: jis0208<<14 | 0x2B<<7 | 0x11,
+ 30498 - 19968: jis0212<<14 | 0x2D<<7 | 0x44,
+ 30500 - 19968: jis0208<<14 | 0x41<<7 | 0x21,
+ 30501 - 19968: jis0208<<14 | 0x41<<7 | 0x23,
+ 30502 - 19968: jis0208<<14 | 0x41<<7 | 0x24,
+ 30504 - 19968: jis0212<<14 | 0x2D<<7 | 0x45,
+ 30505 - 19968: jis0208<<14 | 0x41<<7 | 0x20,
+ 30509 - 19968: jis0212<<14 | 0x2D<<7 | 0x46,
+ 30510 - 19968: jis0212<<14 | 0x2D<<7 | 0x47,
+ 30511 - 19968: jis0212<<14 | 0x2D<<7 | 0x48,
+ 30516 - 19968: jis0212<<14 | 0x2D<<7 | 0x49,
+ 30517 - 19968: jis0212<<14 | 0x2D<<7 | 0x4A,
+ 30518 - 19968: jis0212<<14 | 0x2D<<7 | 0x4B,
+ 30519 - 19968: jis0208<<14 | 0x41<<7 | 0x26,
+ 30520 - 19968: jis0208<<14 | 0x41<<7 | 0x27,
+ 30521 - 19968: jis0212<<14 | 0x2D<<7 | 0x4C,
+ 30522 - 19968: jis0208<<14 | 0x23<<7 | 0x0E,
+ 30524 - 19968: jis0208<<14 | 0x13<<7 | 0x42,
+ 30525 - 19968: jis0212<<14 | 0x2D<<7 | 0x4D,
+ 30526 - 19968: jis0212<<14 | 0x2D<<7 | 0x4E,
+ 30528 - 19968: jis0208<<14 | 0x22<<7 | 0x44,
+ 30530 - 19968: jis0212<<14 | 0x2D<<7 | 0x4F,
+ 30533 - 19968: jis0212<<14 | 0x2D<<7 | 0x50,
+ 30534 - 19968: jis0208<<14 | 0x5A<<7 | 0x1A,
+ 30535 - 19968: jis0208<<14 | 0x41<<7 | 0x28,
+ 30538 - 19968: jis0212<<14 | 0x2D<<7 | 0x52,
+ 30541 - 19968: jis0212<<14 | 0x2D<<7 | 0x53,
+ 30542 - 19968: jis0212<<14 | 0x2D<<7 | 0x54,
+ 30543 - 19968: jis0212<<14 | 0x2D<<7 | 0x55,
+ 30546 - 19968: jis0212<<14 | 0x2D<<7 | 0x56,
+ 30550 - 19968: jis0212<<14 | 0x2D<<7 | 0x57,
+ 30551 - 19968: jis0212<<14 | 0x2D<<7 | 0x58,
+ 30554 - 19968: jis0208<<14 | 0x41<<7 | 0x29,
+ 30555 - 19968: jis0208<<14 | 0x41<<7 | 0x2C,
+ 30556 - 19968: jis0212<<14 | 0x2D<<7 | 0x59,
+ 30558 - 19968: jis0212<<14 | 0x2D<<7 | 0x5A,
+ 30559 - 19968: jis0212<<14 | 0x2D<<7 | 0x5B,
+ 30560 - 19968: jis0212<<14 | 0x2D<<7 | 0x5C,
+ 30561 - 19968: jis0208<<14 | 0x1E<<7 | 0x46,
+ 30562 - 19968: jis0212<<14 | 0x2D<<7 | 0x5D,
+ 30563 - 19968: jis0208<<14 | 0x25<<7 | 0x23,
+ 30564 - 19968: jis0212<<14 | 0x2E<<7 | 0x00,
+ 30565 - 19968: jis0208<<14 | 0x41<<7 | 0x2D,
+ 30566 - 19968: jis0208<<14 | 0x2A<<7 | 0x32,
+ 30567 - 19968: jis0212<<14 | 0x2E<<7 | 0x01,
+ 30568 - 19968: jis0208<<14 | 0x41<<7 | 0x2A,
+ 30570 - 19968: jis0212<<14 | 0x2E<<7 | 0x02,
+ 30571 - 19968: jis0208<<14 | 0x41<<7 | 0x2B,
+ 30572 - 19968: jis0212<<14 | 0x2E<<7 | 0x03,
+ 30576 - 19968: jis0212<<14 | 0x2E<<7 | 0x04,
+ 30578 - 19968: jis0212<<14 | 0x2E<<7 | 0x05,
+ 30579 - 19968: jis0212<<14 | 0x2E<<7 | 0x06,
+ 30580 - 19968: jis0212<<14 | 0x2E<<7 | 0x07,
+ 30585 - 19968: jis0208<<14 | 0x41<<7 | 0x30,
+ 30586 - 19968: jis0212<<14 | 0x2E<<7 | 0x08,
+ 30589 - 19968: jis0212<<14 | 0x2E<<7 | 0x09,
+ 30590 - 19968: jis0208<<14 | 0x41<<7 | 0x2F,
+ 30591 - 19968: jis0208<<14 | 0x41<<7 | 0x2E,
+ 30592 - 19968: jis0212<<14 | 0x2E<<7 | 0x0A,
+ 30596 - 19968: jis0212<<14 | 0x2E<<7 | 0x0B,
+ 30603 - 19968: jis0208<<14 | 0x41<<7 | 0x32,
+ 30604 - 19968: jis0212<<14 | 0x2E<<7 | 0x0C,
+ 30605 - 19968: jis0212<<14 | 0x2E<<7 | 0x0D,
+ 30606 - 19968: jis0208<<14 | 0x41<<7 | 0x31,
+ 30609 - 19968: jis0208<<14 | 0x41<<7 | 0x33,
+ 30612 - 19968: jis0212<<14 | 0x2E<<7 | 0x0E,
+ 30613 - 19968: jis0212<<14 | 0x2E<<7 | 0x0F,
+ 30614 - 19968: jis0212<<14 | 0x2E<<7 | 0x10,
+ 30618 - 19968: jis0212<<14 | 0x2E<<7 | 0x11,
+ 30622 - 19968: jis0208<<14 | 0x41<<7 | 0x35,
+ 30623 - 19968: jis0212<<14 | 0x2E<<7 | 0x12,
+ 30624 - 19968: jis0208<<14 | 0x41<<7 | 0x34,
+ 30626 - 19968: jis0212<<14 | 0x2E<<7 | 0x13,
+ 30629 - 19968: jis0208<<14 | 0x29<<7 | 0x2C,
+ 30631 - 19968: jis0212<<14 | 0x2E<<7 | 0x14,
+ 30634 - 19968: jis0212<<14 | 0x2E<<7 | 0x15,
+ 30636 - 19968: jis0208<<14 | 0x1C<<7 | 0x35,
+ 30637 - 19968: jis0208<<14 | 0x2D<<7 | 0x25,
+ 30638 - 19968: jis0212<<14 | 0x2E<<7 | 0x16,
+ 30639 - 19968: jis0212<<14 | 0x2E<<7 | 0x17,
+ 30640 - 19968: jis0208<<14 | 0x41<<7 | 0x36,
+ 30641 - 19968: jis0212<<14 | 0x2E<<7 | 0x18,
+ 30643 - 19968: jis0208<<14 | 0x25<<7 | 0x16,
+ 30645 - 19968: jis0212<<14 | 0x2E<<7 | 0x19,
+ 30646 - 19968: jis0208<<14 | 0x41<<7 | 0x37,
+ 30649 - 19968: jis0208<<14 | 0x41<<7 | 0x38,
+ 30651 - 19968: jis0208<<14 | 0x41<<7 | 0x3C,
+ 30652 - 19968: jis0208<<14 | 0x41<<7 | 0x3A,
+ 30653 - 19968: jis0208<<14 | 0x41<<7 | 0x3B,
+ 30654 - 19968: jis0212<<14 | 0x2E<<7 | 0x1A,
+ 30655 - 19968: jis0208<<14 | 0x41<<7 | 0x39,
+ 30659 - 19968: jis0212<<14 | 0x2E<<7 | 0x1B,
+ 30663 - 19968: jis0208<<14 | 0x41<<7 | 0x3D,
+ 30665 - 19968: jis0212<<14 | 0x2E<<7 | 0x1C,
+ 30669 - 19968: jis0208<<14 | 0x41<<7 | 0x3E,
+ 30673 - 19968: jis0212<<14 | 0x2E<<7 | 0x1D,
+ 30674 - 19968: jis0212<<14 | 0x2E<<7 | 0x1E,
+ 30677 - 19968: jis0212<<14 | 0x2E<<7 | 0x1F,
+ 30679 - 19968: jis0208<<14 | 0x41<<7 | 0x3F,
+ 30681 - 19968: jis0212<<14 | 0x2E<<7 | 0x20,
+ 30682 - 19968: jis0208<<14 | 0x41<<7 | 0x40,
+ 30683 - 19968: jis0208<<14 | 0x2B<<7 | 0x16,
+ 30684 - 19968: jis0208<<14 | 0x41<<7 | 0x41,
+ 30686 - 19968: jis0212<<14 | 0x2E<<7 | 0x21,
+ 30687 - 19968: jis0212<<14 | 0x2E<<7 | 0x22,
+ 30688 - 19968: jis0212<<14 | 0x2E<<7 | 0x23,
+ 30690 - 19968: jis0208<<14 | 0x2B<<7 | 0x4F,
+ 30691 - 19968: jis0208<<14 | 0x41<<7 | 0x42,
+ 30692 - 19968: jis0212<<14 | 0x2E<<7 | 0x24,
+ 30693 - 19968: jis0208<<14 | 0x22<<7 | 0x2D,
+ 30694 - 19968: jis0212<<14 | 0x2E<<7 | 0x25,
+ 30695 - 19968: jis0208<<14 | 0x26<<7 | 0x49,
+ 30697 - 19968: jis0208<<14 | 0x15<<7 | 0x4A,
+ 30698 - 19968: jis0212<<14 | 0x2E<<7 | 0x26,
+ 30700 - 19968: jis0212<<14 | 0x2E<<7 | 0x27,
+ 30701 - 19968: jis0208<<14 | 0x22<<7 | 0x1A,
+ 30702 - 19968: jis0208<<14 | 0x41<<7 | 0x43,
+ 30703 - 19968: jis0208<<14 | 0x15<<7 | 0x19,
+ 30704 - 19968: jis0212<<14 | 0x2E<<7 | 0x28,
+ 30705 - 19968: jis0212<<14 | 0x2E<<7 | 0x29,
+ 30707 - 19968: jis0208<<14 | 0x1F<<7 | 0x2F,
+ 30708 - 19968: jis0212<<14 | 0x2E<<7 | 0x2A,
+ 30712 - 19968: jis0212<<14 | 0x2E<<7 | 0x2B,
+ 30715 - 19968: jis0212<<14 | 0x2E<<7 | 0x2C,
+ 30716 - 19968: jis0208<<14 | 0x41<<7 | 0x44,
+ 30722 - 19968: jis0208<<14 | 0x19<<7 | 0x1C,
+ 30725 - 19968: jis0212<<14 | 0x2E<<7 | 0x2D,
+ 30726 - 19968: jis0212<<14 | 0x2E<<7 | 0x2E,
+ 30729 - 19968: jis0212<<14 | 0x2E<<7 | 0x2F,
+ 30732 - 19968: jis0208<<14 | 0x41<<7 | 0x45,
+ 30733 - 19968: jis0212<<14 | 0x2E<<7 | 0x30,
+ 30734 - 19968: jis0212<<14 | 0x2E<<7 | 0x31,
+ 30737 - 19968: jis0212<<14 | 0x2E<<7 | 0x32,
+ 30738 - 19968: jis0208<<14 | 0x41<<7 | 0x46,
+ 30740 - 19968: jis0208<<14 | 0x17<<7 | 0x05,
+ 30741 - 19968: jis0208<<14 | 0x19<<7 | 0x34,
+ 30749 - 19968: jis0212<<14 | 0x2E<<7 | 0x33,
+ 30752 - 19968: jis0208<<14 | 0x41<<7 | 0x48,
+ 30753 - 19968: jis0208<<14 | 0x5A<<7 | 0x1C,
+ 30754 - 19968: jis0212<<14 | 0x2E<<7 | 0x35,
+ 30755 - 19968: jis0212<<14 | 0x2E<<7 | 0x36,
+ 30757 - 19968: jis0208<<14 | 0x24<<7 | 0x35,
+ 30758 - 19968: jis0208<<14 | 0x19<<7 | 0x35,
+ 30759 - 19968: jis0208<<14 | 0x14<<7 | 0x2D,
+ 30765 - 19968: jis0212<<14 | 0x2E<<7 | 0x37,
+ 30766 - 19968: jis0212<<14 | 0x2E<<7 | 0x38,
+ 30768 - 19968: jis0212<<14 | 0x2E<<7 | 0x39,
+ 30770 - 19968: jis0208<<14 | 0x2A<<7 | 0x03,
+ 30772 - 19968: jis0208<<14 | 0x26<<7 | 0x2A,
+ 30773 - 19968: jis0212<<14 | 0x2E<<7 | 0x3A,
+ 30775 - 19968: jis0212<<14 | 0x2E<<7 | 0x3B,
+ 30778 - 19968: jis0208<<14 | 0x24<<7 | 0x36,
+ 30783 - 19968: jis0208<<14 | 0x18<<7 | 0x3B,
+ 30787 - 19968: jis0212<<14 | 0x2E<<7 | 0x3C,
+ 30788 - 19968: jis0212<<14 | 0x2E<<7 | 0x3D,
+ 30789 - 19968: jis0208<<14 | 0x41<<7 | 0x4A,
+ 30791 - 19968: jis0212<<14 | 0x2E<<7 | 0x3E,
+ 30792 - 19968: jis0212<<14 | 0x2E<<7 | 0x3F,
+ 30796 - 19968: jis0212<<14 | 0x2E<<7 | 0x40,
+ 30798 - 19968: jis0208<<14 | 0x5A<<7 | 0x1D,
+ 30802 - 19968: jis0212<<14 | 0x2E<<7 | 0x42,
+ 30812 - 19968: jis0212<<14 | 0x2E<<7 | 0x43,
+ 30813 - 19968: jis0208<<14 | 0x1D<<7 | 0x2A,
+ 30814 - 19968: jis0212<<14 | 0x2E<<7 | 0x44,
+ 30816 - 19968: jis0212<<14 | 0x2E<<7 | 0x45,
+ 30817 - 19968: jis0212<<14 | 0x2E<<7 | 0x46,
+ 30819 - 19968: jis0212<<14 | 0x2E<<7 | 0x47,
+ 30820 - 19968: jis0208<<14 | 0x5A<<7 | 0x1E,
+ 30824 - 19968: jis0212<<14 | 0x2E<<7 | 0x49,
+ 30826 - 19968: jis0212<<14 | 0x2E<<7 | 0x4A,
+ 30827 - 19968: jis0208<<14 | 0x2D<<7 | 0x11,
+ 30828 - 19968: jis0208<<14 | 0x18<<7 | 0x24,
+ 30830 - 19968: jis0212<<14 | 0x2E<<7 | 0x4B,
+ 30831 - 19968: jis0208<<14 | 0x17<<7 | 0x06,
+ 30834 - 19968: jis0208<<14 | 0x27<<7 | 0x02,
+ 30836 - 19968: jis0208<<14 | 0x41<<7 | 0x4C,
+ 30842 - 19968: jis0208<<14 | 0x5A<<7 | 0x1F,
+ 30844 - 19968: jis0208<<14 | 0x41<<7 | 0x4E,
+ 30846 - 19968: jis0212<<14 | 0x2E<<7 | 0x4D,
+ 30849 - 19968: jis0208<<14 | 0x17<<7 | 0x4A,
+ 30854 - 19968: jis0208<<14 | 0x41<<7 | 0x4D,
+ 30855 - 19968: jis0208<<14 | 0x23<<7 | 0x55,
+ 30858 - 19968: jis0212<<14 | 0x2E<<7 | 0x4E,
+ 30860 - 19968: jis0208<<14 | 0x41<<7 | 0x50,
+ 30861 - 19968: jis0208<<14 | 0x12<<7 | 0x16,
+ 30862 - 19968: jis0208<<14 | 0x41<<7 | 0x4B,
+ 30863 - 19968: jis0212<<14 | 0x2E<<7 | 0x4F,
+ 30865 - 19968: jis0208<<14 | 0x27<<7 | 0x49,
+ 30867 - 19968: jis0208<<14 | 0x10<<7 | 0x0F,
+ 30868 - 19968: jis0212<<14 | 0x2E<<7 | 0x50,
+ 30869 - 19968: jis0208<<14 | 0x19<<7 | 0x4B,
+ 30871 - 19968: jis0208<<14 | 0x2E<<7 | 0x31,
+ 30872 - 19968: jis0212<<14 | 0x2E<<7 | 0x51,
+ 30874 - 19968: jis0208<<14 | 0x41<<7 | 0x4F,
+ 30877 - 19968: jis0212<<14 | 0x2E<<7 | 0x53,
+ 30878 - 19968: jis0212<<14 | 0x2E<<7 | 0x54,
+ 30879 - 19968: jis0212<<14 | 0x2E<<7 | 0x55,
+ 30881 - 19968: jis0212<<14 | 0x2E<<7 | 0x52,
+ 30883 - 19968: jis0208<<14 | 0x41<<7 | 0x51,
+ 30884 - 19968: jis0212<<14 | 0x2E<<7 | 0x56,
+ 30887 - 19968: jis0208<<14 | 0x29<<7 | 0x2A,
+ 30888 - 19968: jis0212<<14 | 0x2E<<7 | 0x57,
+ 30889 - 19968: jis0208<<14 | 0x1F<<7 | 0x38,
+ 30890 - 19968: jis0208<<14 | 0x41<<7 | 0x53,
+ 30892 - 19968: jis0212<<14 | 0x2E<<7 | 0x58,
+ 30893 - 19968: jis0212<<14 | 0x2E<<7 | 0x59,
+ 30895 - 19968: jis0208<<14 | 0x41<<7 | 0x54,
+ 30896 - 19968: jis0212<<14 | 0x2E<<7 | 0x5A,
+ 30897 - 19968: jis0212<<14 | 0x2E<<7 | 0x5B,
+ 30898 - 19968: jis0212<<14 | 0x2E<<7 | 0x5C,
+ 30899 - 19968: jis0212<<14 | 0x2E<<7 | 0x5D,
+ 30901 - 19968: jis0208<<14 | 0x41<<7 | 0x52,
+ 30906 - 19968: jis0208<<14 | 0x12<<7 | 0x2D,
+ 30907 - 19968: jis0212<<14 | 0x2F<<7 | 0x00,
+ 30908 - 19968: jis0208<<14 | 0x41<<7 | 0x5A,
+ 30909 - 19968: jis0212<<14 | 0x2F<<7 | 0x01,
+ 30910 - 19968: jis0208<<14 | 0x41<<7 | 0x59,
+ 30911 - 19968: jis0212<<14 | 0x2F<<7 | 0x02,
+ 30913 - 19968: jis0208<<14 | 0x1B<<7 | 0x06,
+ 30917 - 19968: jis0208<<14 | 0x41<<7 | 0x5B,
+ 30918 - 19968: jis0208<<14 | 0x41<<7 | 0x56,
+ 30919 - 19968: jis0212<<14 | 0x2F<<7 | 0x03,
+ 30920 - 19968: jis0212<<14 | 0x2F<<7 | 0x04,
+ 30921 - 19968: jis0212<<14 | 0x2F<<7 | 0x05,
+ 30922 - 19968: jis0208<<14 | 0x41<<7 | 0x5C,
+ 30923 - 19968: jis0208<<14 | 0x41<<7 | 0x57,
+ 30924 - 19968: jis0212<<14 | 0x2F<<7 | 0x06,
+ 30926 - 19968: jis0212<<14 | 0x2F<<7 | 0x07,
+ 30928 - 19968: jis0208<<14 | 0x27<<7 | 0x37,
+ 30929 - 19968: jis0208<<14 | 0x41<<7 | 0x55,
+ 30930 - 19968: jis0212<<14 | 0x2F<<7 | 0x08,
+ 30931 - 19968: jis0212<<14 | 0x2F<<7 | 0x09,
+ 30932 - 19968: jis0208<<14 | 0x41<<7 | 0x58,
+ 30933 - 19968: jis0212<<14 | 0x2F<<7 | 0x0A,
+ 30934 - 19968: jis0212<<14 | 0x2F<<7 | 0x0B,
+ 30938 - 19968: jis0208<<14 | 0x42<<7 | 0x01,
+ 30939 - 19968: jis0212<<14 | 0x2F<<7 | 0x0D,
+ 30943 - 19968: jis0212<<14 | 0x2F<<7 | 0x0E,
+ 30944 - 19968: jis0212<<14 | 0x2F<<7 | 0x0F,
+ 30945 - 19968: jis0212<<14 | 0x2F<<7 | 0x10,
+ 30948 - 19968: jis0212<<14 | 0x2F<<7 | 0x0C,
+ 30950 - 19968: jis0212<<14 | 0x2F<<7 | 0x11,
+ 30951 - 19968: jis0208<<14 | 0x42<<7 | 0x00,
+ 30952 - 19968: jis0208<<14 | 0x2A<<7 | 0x40,
+ 30954 - 19968: jis0212<<14 | 0x2F<<7 | 0x12,
+ 30956 - 19968: jis0208<<14 | 0x41<<7 | 0x5D,
+ 30959 - 19968: jis0208<<14 | 0x0F<<7 | 0x4A,
+ 30962 - 19968: jis0212<<14 | 0x2F<<7 | 0x13,
+ 30963 - 19968: jis0212<<14 | 0x2F<<7 | 0x14,
+ 30964 - 19968: jis0208<<14 | 0x42<<7 | 0x03,
+ 30966 - 19968: jis0212<<14 | 0x2F<<7 | 0x16,
+ 30967 - 19968: jis0212<<14 | 0x2F<<7 | 0x17,
+ 30970 - 19968: jis0212<<14 | 0x2F<<7 | 0x18,
+ 30971 - 19968: jis0212<<14 | 0x2F<<7 | 0x19,
+ 30973 - 19968: jis0208<<14 | 0x42<<7 | 0x02,
+ 30975 - 19968: jis0212<<14 | 0x2F<<7 | 0x1A,
+ 30976 - 19968: jis0212<<14 | 0x2F<<7 | 0x15,
+ 30977 - 19968: jis0208<<14 | 0x1D<<7 | 0x2B,
+ 30982 - 19968: jis0212<<14 | 0x2F<<7 | 0x1B,
+ 30983 - 19968: jis0208<<14 | 0x42<<7 | 0x04,
+ 30988 - 19968: jis0212<<14 | 0x2F<<7 | 0x1C,
+ 30990 - 19968: jis0208<<14 | 0x20<<7 | 0x22,
+ 30992 - 19968: jis0212<<14 | 0x2F<<7 | 0x1D,
+ 30993 - 19968: jis0208<<14 | 0x42<<7 | 0x06,
+ 30994 - 19968: jis0208<<14 | 0x42<<7 | 0x05,
+ 31001 - 19968: jis0208<<14 | 0x42<<7 | 0x07,
+ 31002 - 19968: jis0212<<14 | 0x2F<<7 | 0x1E,
+ 31004 - 19968: jis0212<<14 | 0x2F<<7 | 0x1F,
+ 31006 - 19968: jis0212<<14 | 0x2F<<7 | 0x20,
+ 31007 - 19968: jis0212<<14 | 0x2F<<7 | 0x21,
+ 31008 - 19968: jis0212<<14 | 0x2F<<7 | 0x22,
+ 31013 - 19968: jis0212<<14 | 0x2F<<7 | 0x23,
+ 31014 - 19968: jis0208<<14 | 0x41<<7 | 0x47,
+ 31015 - 19968: jis0212<<14 | 0x2F<<7 | 0x24,
+ 31017 - 19968: jis0212<<14 | 0x2F<<7 | 0x25,
+ 31018 - 19968: jis0208<<14 | 0x41<<7 | 0x49,
+ 31019 - 19968: jis0208<<14 | 0x42<<7 | 0x09,
+ 31020 - 19968: jis0208<<14 | 0x42<<7 | 0x08,
+ 31021 - 19968: jis0212<<14 | 0x2F<<7 | 0x26,
+ 31024 - 19968: jis0208<<14 | 0x5A<<7 | 0x20,
+ 31025 - 19968: jis0212<<14 | 0x2F<<7 | 0x27,
+ 31028 - 19968: jis0212<<14 | 0x2F<<7 | 0x28,
+ 31029 - 19968: jis0212<<14 | 0x2F<<7 | 0x29,
+ 31034 - 19968: jis0208<<14 | 0x1B<<7 | 0x07,
+ 31035 - 19968: jis0212<<14 | 0x2F<<7 | 0x2A,
+ 31036 - 19968: jis0208<<14 | 0x2D<<7 | 0x48,
+ 31037 - 19968: jis0212<<14 | 0x2F<<7 | 0x2B,
+ 31038 - 19968: jis0208<<14 | 0x1B<<7 | 0x31,
+ 31039 - 19968: jis0212<<14 | 0x2F<<7 | 0x2C,
+ 31040 - 19968: jis0208<<14 | 0x42<<7 | 0x0A,
+ 31041 - 19968: jis0208<<14 | 0x16<<7 | 0x16,
+ 31044 - 19968: jis0212<<14 | 0x2F<<7 | 0x2D,
+ 31045 - 19968: jis0212<<14 | 0x2F<<7 | 0x2E,
+ 31046 - 19968: jis0212<<14 | 0x2F<<7 | 0x2F,
+ 31047 - 19968: jis0208<<14 | 0x14<<7 | 0x1F,
+ 31048 - 19968: jis0208<<14 | 0x14<<7 | 0x06,
+ 31049 - 19968: jis0208<<14 | 0x1A<<7 | 0x42,
+ 31050 - 19968: jis0212<<14 | 0x2F<<7 | 0x30,
+ 31051 - 19968: jis0212<<14 | 0x2F<<7 | 0x31,
+ 31055 - 19968: jis0212<<14 | 0x2F<<7 | 0x32,
+ 31056 - 19968: jis0208<<14 | 0x2C<<7 | 0x13,
+ 31057 - 19968: jis0212<<14 | 0x2F<<7 | 0x33,
+ 31059 - 19968: jis0208<<14 | 0x42<<7 | 0x10,
+ 31060 - 19968: jis0212<<14 | 0x2F<<7 | 0x34,
+ 31061 - 19968: jis0208<<14 | 0x42<<7 | 0x0F,
+ 31062 - 19968: jis0208<<14 | 0x20<<7 | 0x23,
+ 31063 - 19968: jis0208<<14 | 0x42<<7 | 0x0C,
+ 31064 - 19968: jis0212<<14 | 0x2F<<7 | 0x35,
+ 31066 - 19968: jis0208<<14 | 0x42<<7 | 0x0E,
+ 31067 - 19968: jis0212<<14 | 0x2F<<7 | 0x36,
+ 31068 - 19968: jis0212<<14 | 0x2F<<7 | 0x37,
+ 31069 - 19968: jis0208<<14 | 0x1C<<7 | 0x2A,
+ 31070 - 19968: jis0208<<14 | 0x1E<<7 | 0x1F,
+ 31071 - 19968: jis0208<<14 | 0x42<<7 | 0x0D,
+ 31072 - 19968: jis0208<<14 | 0x42<<7 | 0x0B,
+ 31074 - 19968: jis0208<<14 | 0x26<<7 | 0x09,
+ 31077 - 19968: jis0208<<14 | 0x1D<<7 | 0x2C,
+ 31079 - 19968: jis0212<<14 | 0x2F<<7 | 0x38,
+ 31080 - 19968: jis0208<<14 | 0x28<<7 | 0x1B,
+ 31081 - 19968: jis0212<<14 | 0x2F<<7 | 0x39,
+ 31083 - 19968: jis0212<<14 | 0x2F<<7 | 0x3A,
+ 31085 - 19968: jis0208<<14 | 0x19<<7 | 0x36,
+ 31090 - 19968: jis0212<<14 | 0x2F<<7 | 0x3B,
+ 31095 - 19968: jis0208<<14 | 0x24<<7 | 0x57,
+ 31097 - 19968: jis0212<<14 | 0x2F<<7 | 0x3C,
+ 31098 - 19968: jis0208<<14 | 0x42<<7 | 0x11,
+ 31099 - 19968: jis0212<<14 | 0x2F<<7 | 0x3D,
+ 31100 - 19968: jis0212<<14 | 0x2F<<7 | 0x3E,
+ 31102 - 19968: jis0212<<14 | 0x2F<<7 | 0x3F,
+ 31103 - 19968: jis0208<<14 | 0x42<<7 | 0x12,
+ 31104 - 19968: jis0208<<14 | 0x42<<7 | 0x28,
+ 31105 - 19968: jis0208<<14 | 0x15<<7 | 0x37,
+ 31108 - 19968: jis0208<<14 | 0x2E<<7 | 0x1C,
+ 31109 - 19968: jis0208<<14 | 0x20<<7 | 0x14,
+ 31114 - 19968: jis0208<<14 | 0x42<<7 | 0x13,
+ 31115 - 19968: jis0212<<14 | 0x2F<<7 | 0x40,
+ 31116 - 19968: jis0212<<14 | 0x2F<<7 | 0x41,
+ 31117 - 19968: jis0208<<14 | 0x11<<7 | 0x31,
+ 31118 - 19968: jis0208<<14 | 0x23<<7 | 0x56,
+ 31119 - 19968: jis0208<<14 | 0x29<<7 | 0x00,
+ 31121 - 19968: jis0212<<14 | 0x2F<<7 | 0x42,
+ 31123 - 19968: jis0212<<14 | 0x2F<<7 | 0x43,
+ 31124 - 19968: jis0208<<14 | 0x5A<<7 | 0x24,
+ 31125 - 19968: jis0212<<14 | 0x2F<<7 | 0x45,
+ 31126 - 19968: jis0212<<14 | 0x2F<<7 | 0x46,
+ 31128 - 19968: jis0212<<14 | 0x2F<<7 | 0x47,
+ 31131 - 19968: jis0208<<14 | 0x5A<<7 | 0x26,
+ 31132 - 19968: jis0212<<14 | 0x2F<<7 | 0x49,
+ 31133 - 19968: jis0208<<14 | 0x42<<7 | 0x14,
+ 31137 - 19968: jis0212<<14 | 0x2F<<7 | 0x4A,
+ 31142 - 19968: jis0208<<14 | 0x14<<7 | 0x59,
+ 31143 - 19968: jis0208<<14 | 0x42<<7 | 0x15,
+ 31144 - 19968: jis0212<<14 | 0x2F<<7 | 0x4B,
+ 31145 - 19968: jis0212<<14 | 0x2F<<7 | 0x4C,
+ 31146 - 19968: jis0208<<14 | 0x42<<7 | 0x17,
+ 31147 - 19968: jis0212<<14 | 0x2F<<7 | 0x4D,
+ 31150 - 19968: jis0208<<14 | 0x42<<7 | 0x18,
+ 31151 - 19968: jis0212<<14 | 0x2F<<7 | 0x4E,
+ 31152 - 19968: jis0208<<14 | 0x26<<7 | 0x08,
+ 31153 - 19968: jis0212<<14 | 0x2F<<7 | 0x4F,
+ 31155 - 19968: jis0208<<14 | 0x42<<7 | 0x19,
+ 31156 - 19968: jis0212<<14 | 0x2F<<7 | 0x50,
+ 31160 - 19968: jis0212<<14 | 0x2F<<7 | 0x51,
+ 31161 - 19968: jis0208<<14 | 0x42<<7 | 0x1A,
+ 31162 - 19968: jis0208<<14 | 0x42<<7 | 0x1B,
+ 31163 - 19968: jis0212<<14 | 0x2F<<7 | 0x52,
+ 31165 - 19968: jis0208<<14 | 0x15<<7 | 0x38,
+ 31166 - 19968: jis0208<<14 | 0x11<<7 | 0x32,
+ 31167 - 19968: jis0208<<14 | 0x25<<7 | 0x24,
+ 31168 - 19968: jis0208<<14 | 0x1C<<7 | 0x07,
+ 31169 - 19968: jis0208<<14 | 0x1A<<7 | 0x43,
+ 31170 - 19968: jis0212<<14 | 0x2F<<7 | 0x53,
+ 31172 - 19968: jis0212<<14 | 0x2F<<7 | 0x54,
+ 31175 - 19968: jis0212<<14 | 0x2F<<7 | 0x55,
+ 31176 - 19968: jis0212<<14 | 0x2F<<7 | 0x56,
+ 31177 - 19968: jis0208<<14 | 0x42<<7 | 0x1C,
+ 31178 - 19968: jis0212<<14 | 0x2F<<7 | 0x57,
+ 31179 - 19968: jis0208<<14 | 0x1C<<7 | 0x08,
+ 31183 - 19968: jis0212<<14 | 0x2F<<7 | 0x58,
+ 31185 - 19968: jis0208<<14 | 0x11<<7 | 0x29,
+ 31186 - 19968: jis0208<<14 | 0x28<<7 | 0x22,
+ 31188 - 19968: jis0212<<14 | 0x2F<<7 | 0x59,
+ 31189 - 19968: jis0208<<14 | 0x42<<7 | 0x1D,
+ 31190 - 19968: jis0212<<14 | 0x2F<<7 | 0x5A,
+ 31192 - 19968: jis0208<<14 | 0x27<<7 | 0x4A,
+ 31194 - 19968: jis0212<<14 | 0x2F<<7 | 0x5B,
+ 31197 - 19968: jis0212<<14 | 0x2F<<7 | 0x5C,
+ 31198 - 19968: jis0212<<14 | 0x2F<<7 | 0x5D,
+ 31199 - 19968: jis0208<<14 | 0x20<<7 | 0x24,
+ 31200 - 19968: jis0212<<14 | 0x30<<7 | 0x00,
+ 31201 - 19968: jis0208<<14 | 0x42<<7 | 0x20,
+ 31202 - 19968: jis0212<<14 | 0x30<<7 | 0x01,
+ 31203 - 19968: jis0208<<14 | 0x42<<7 | 0x21,
+ 31204 - 19968: jis0208<<14 | 0x26<<7 | 0x48,
+ 31205 - 19968: jis0212<<14 | 0x30<<7 | 0x02,
+ 31206 - 19968: jis0208<<14 | 0x1E<<7 | 0x20,
+ 31207 - 19968: jis0208<<14 | 0x42<<7 | 0x1E,
+ 31209 - 19968: jis0208<<14 | 0x22<<7 | 0x40,
+ 31210 - 19968: jis0212<<14 | 0x30<<7 | 0x03,
+ 31211 - 19968: jis0212<<14 | 0x30<<7 | 0x04,
+ 31212 - 19968: jis0208<<14 | 0x42<<7 | 0x1F,
+ 31213 - 19968: jis0212<<14 | 0x30<<7 | 0x05,
+ 31216 - 19968: jis0208<<14 | 0x1D<<7 | 0x2D,
+ 31217 - 19968: jis0212<<14 | 0x30<<7 | 0x06,
+ 31224 - 19968: jis0212<<14 | 0x30<<7 | 0x07,
+ 31227 - 19968: jis0208<<14 | 0x0F<<7 | 0x3B,
+ 31228 - 19968: jis0212<<14 | 0x30<<7 | 0x08,
+ 31232 - 19968: jis0208<<14 | 0x14<<7 | 0x08,
+ 31234 - 19968: jis0212<<14 | 0x30<<7 | 0x09,
+ 31235 - 19968: jis0212<<14 | 0x30<<7 | 0x0A,
+ 31239 - 19968: jis0212<<14 | 0x30<<7 | 0x0B,
+ 31240 - 19968: jis0208<<14 | 0x42<<7 | 0x22,
+ 31241 - 19968: jis0212<<14 | 0x30<<7 | 0x0C,
+ 31242 - 19968: jis0212<<14 | 0x30<<7 | 0x0D,
+ 31243 - 19968: jis0208<<14 | 0x23<<7 | 0x57,
+ 31244 - 19968: jis0212<<14 | 0x30<<7 | 0x0E,
+ 31245 - 19968: jis0208<<14 | 0x42<<7 | 0x23,
+ 31246 - 19968: jis0208<<14 | 0x1F<<7 | 0x26,
+ 31249 - 19968: jis0212<<14 | 0x30<<7 | 0x0F,
+ 31252 - 19968: jis0208<<14 | 0x2B<<7 | 0x0C,
+ 31253 - 19968: jis0212<<14 | 0x30<<7 | 0x10,
+ 31255 - 19968: jis0208<<14 | 0x28<<7 | 0x02,
+ 31256 - 19968: jis0208<<14 | 0x42<<7 | 0x24,
+ 31257 - 19968: jis0208<<14 | 0x42<<7 | 0x25,
+ 31258 - 19968: jis0208<<14 | 0x22<<7 | 0x34,
+ 31259 - 19968: jis0212<<14 | 0x30<<7 | 0x11,
+ 31260 - 19968: jis0208<<14 | 0x2D<<7 | 0x26,
+ 31262 - 19968: jis0212<<14 | 0x30<<7 | 0x12,
+ 31263 - 19968: jis0208<<14 | 0x42<<7 | 0x27,
+ 31264 - 19968: jis0208<<14 | 0x42<<7 | 0x26,
+ 31265 - 19968: jis0212<<14 | 0x30<<7 | 0x13,
+ 31271 - 19968: jis0212<<14 | 0x30<<7 | 0x14,
+ 31275 - 19968: jis0212<<14 | 0x30<<7 | 0x15,
+ 31277 - 19968: jis0212<<14 | 0x30<<7 | 0x16,
+ 31278 - 19968: jis0208<<14 | 0x1B<<7 | 0x4E,
+ 31279 - 19968: jis0212<<14 | 0x30<<7 | 0x17,
+ 31280 - 19968: jis0212<<14 | 0x30<<7 | 0x18,
+ 31281 - 19968: jis0208<<14 | 0x42<<7 | 0x29,
+ 31282 - 19968: jis0208<<14 | 0x0F<<7 | 0x4F,
+ 31284 - 19968: jis0212<<14 | 0x30<<7 | 0x19,
+ 31285 - 19968: jis0212<<14 | 0x30<<7 | 0x1A,
+ 31287 - 19968: jis0208<<14 | 0x42<<7 | 0x2C,
+ 31288 - 19968: jis0212<<14 | 0x30<<7 | 0x1B,
+ 31289 - 19968: jis0212<<14 | 0x30<<7 | 0x1C,
+ 31290 - 19968: jis0212<<14 | 0x30<<7 | 0x1D,
+ 31291 - 19968: jis0208<<14 | 0x42<<7 | 0x2A,
+ 31292 - 19968: jis0208<<14 | 0x11<<7 | 0x33,
+ 31293 - 19968: jis0208<<14 | 0x16<<7 | 0x2D,
+ 31294 - 19968: jis0208<<14 | 0x42<<7 | 0x2B,
+ 31295 - 19968: jis0208<<14 | 0x18<<7 | 0x25,
+ 31296 - 19968: jis0208<<14 | 0x18<<7 | 0x51,
+ 31298 - 19968: jis0208<<14 | 0x29<<7 | 0x45,
+ 31299 - 19968: jis0208<<14 | 0x42<<7 | 0x2D,
+ 31300 - 19968: jis0212<<14 | 0x30<<7 | 0x1E,
+ 31301 - 19968: jis0212<<14 | 0x30<<7 | 0x1F,
+ 31302 - 19968: jis0208<<14 | 0x2A<<7 | 0x33,
+ 31303 - 19968: jis0212<<14 | 0x30<<7 | 0x20,
+ 31304 - 19968: jis0212<<14 | 0x30<<7 | 0x21,
+ 31305 - 19968: jis0208<<14 | 0x42<<7 | 0x2F,
+ 31308 - 19968: jis0212<<14 | 0x30<<7 | 0x22,
+ 31309 - 19968: jis0208<<14 | 0x1F<<7 | 0x30,
+ 31310 - 19968: jis0208<<14 | 0x10<<7 | 0x2E,
+ 31311 - 19968: jis0208<<14 | 0x11<<7 | 0x19,
+ 31312 - 19968: jis0208<<14 | 0x0F<<7 | 0x0B,
+ 31317 - 19968: jis0212<<14 | 0x30<<7 | 0x23,
+ 31318 - 19968: jis0212<<14 | 0x30<<7 | 0x24,
+ 31319 - 19968: jis0208<<14 | 0x42<<7 | 0x2E,
+ 31321 - 19968: jis0212<<14 | 0x30<<7 | 0x25,
+ 31324 - 19968: jis0212<<14 | 0x30<<7 | 0x26,
+ 31325 - 19968: jis0212<<14 | 0x30<<7 | 0x27,
+ 31327 - 19968: jis0212<<14 | 0x30<<7 | 0x28,
+ 31328 - 19968: jis0212<<14 | 0x30<<7 | 0x29,
+ 31329 - 19968: jis0208<<14 | 0x42<<7 | 0x30,
+ 31330 - 19968: jis0208<<14 | 0x42<<7 | 0x31,
+ 31331 - 19968: jis0208<<14 | 0x1D<<7 | 0x56,
+ 31333 - 19968: jis0212<<14 | 0x30<<7 | 0x2A,
+ 31335 - 19968: jis0212<<14 | 0x30<<7 | 0x2B,
+ 31337 - 19968: jis0208<<14 | 0x42<<7 | 0x32,
+ 31338 - 19968: jis0212<<14 | 0x30<<7 | 0x2C,
+ 31339 - 19968: jis0208<<14 | 0x12<<7 | 0x2E,
+ 31341 - 19968: jis0212<<14 | 0x30<<7 | 0x2D,
+ 31344 - 19968: jis0208<<14 | 0x42<<7 | 0x34,
+ 31348 - 19968: jis0208<<14 | 0x16<<7 | 0x49,
+ 31349 - 19968: jis0212<<14 | 0x30<<7 | 0x2E,
+ 31350 - 19968: jis0208<<14 | 0x14<<7 | 0x45,
+ 31352 - 19968: jis0212<<14 | 0x30<<7 | 0x2F,
+ 31353 - 19968: jis0208<<14 | 0x42<<7 | 0x35,
+ 31354 - 19968: jis0208<<14 | 0x15<<7 | 0x54,
+ 31357 - 19968: jis0208<<14 | 0x42<<7 | 0x36,
+ 31358 - 19968: jis0212<<14 | 0x30<<7 | 0x30,
+ 31359 - 19968: jis0208<<14 | 0x1F<<7 | 0x5B,
+ 31360 - 19968: jis0212<<14 | 0x30<<7 | 0x31,
+ 31361 - 19968: jis0208<<14 | 0x25<<7 | 0x2C,
+ 31362 - 19968: jis0212<<14 | 0x30<<7 | 0x32,
+ 31363 - 19968: jis0208<<14 | 0x1F<<7 | 0x3F,
+ 31364 - 19968: jis0208<<14 | 0x19<<7 | 0x54,
+ 31365 - 19968: jis0212<<14 | 0x30<<7 | 0x33,
+ 31366 - 19968: jis0212<<14 | 0x30<<7 | 0x34,
+ 31368 - 19968: jis0208<<14 | 0x42<<7 | 0x37,
+ 31370 - 19968: jis0212<<14 | 0x30<<7 | 0x35,
+ 31371 - 19968: jis0212<<14 | 0x30<<7 | 0x36,
+ 31376 - 19968: jis0212<<14 | 0x30<<7 | 0x37,
+ 31377 - 19968: jis0212<<14 | 0x30<<7 | 0x38,
+ 31378 - 19968: jis0208<<14 | 0x22<<7 | 0x41,
+ 31379 - 19968: jis0208<<14 | 0x20<<7 | 0x4A,
+ 31380 - 19968: jis0212<<14 | 0x30<<7 | 0x39,
+ 31381 - 19968: jis0208<<14 | 0x42<<7 | 0x39,
+ 31382 - 19968: jis0208<<14 | 0x42<<7 | 0x3B,
+ 31383 - 19968: jis0208<<14 | 0x42<<7 | 0x38,
+ 31384 - 19968: jis0208<<14 | 0x42<<7 | 0x3A,
+ 31390 - 19968: jis0212<<14 | 0x30<<7 | 0x3A,
+ 31391 - 19968: jis0208<<14 | 0x16<<7 | 0x01,
+ 31392 - 19968: jis0212<<14 | 0x30<<7 | 0x3B,
+ 31395 - 19968: jis0212<<14 | 0x30<<7 | 0x3C,
+ 31401 - 19968: jis0208<<14 | 0x42<<7 | 0x3C,
+ 31402 - 19968: jis0208<<14 | 0x16<<7 | 0x05,
+ 31404 - 19968: jis0212<<14 | 0x30<<7 | 0x3D,
+ 31406 - 19968: jis0208<<14 | 0x14<<7 | 0x46,
+ 31407 - 19968: jis0208<<14 | 0x2C<<7 | 0x31,
+ 31408 - 19968: jis0208<<14 | 0x42<<7 | 0x3E,
+ 31411 - 19968: jis0212<<14 | 0x30<<7 | 0x3E,
+ 31413 - 19968: jis0212<<14 | 0x30<<7 | 0x3F,
+ 31414 - 19968: jis0208<<14 | 0x42<<7 | 0x3F,
+ 31417 - 19968: jis0212<<14 | 0x30<<7 | 0x40,
+ 31418 - 19968: jis0208<<14 | 0x10<<7 | 0x0D,
+ 31419 - 19968: jis0212<<14 | 0x30<<7 | 0x41,
+ 31420 - 19968: jis0212<<14 | 0x30<<7 | 0x42,
+ 31423 - 19968: jis0208<<14 | 0x42<<7 | 0x42,
+ 31427 - 19968: jis0208<<14 | 0x12<<7 | 0x55,
+ 31428 - 19968: jis0208<<14 | 0x42<<7 | 0x41,
+ 31429 - 19968: jis0208<<14 | 0x42<<7 | 0x40,
+ 31430 - 19968: jis0212<<14 | 0x30<<7 | 0x43,
+ 31431 - 19968: jis0208<<14 | 0x42<<7 | 0x44,
+ 31432 - 19968: jis0208<<14 | 0x42<<7 | 0x3D,
+ 31433 - 19968: jis0212<<14 | 0x30<<7 | 0x44,
+ 31434 - 19968: jis0208<<14 | 0x42<<7 | 0x45,
+ 31435 - 19968: jis0208<<14 | 0x2D<<7 | 0x08,
+ 31436 - 19968: jis0212<<14 | 0x30<<7 | 0x45,
+ 31437 - 19968: jis0208<<14 | 0x42<<7 | 0x46,
+ 31438 - 19968: jis0212<<14 | 0x30<<7 | 0x46,
+ 31439 - 19968: jis0208<<14 | 0x42<<7 | 0x47,
+ 31441 - 19968: jis0208<<14 | 0x5A<<7 | 0x27,
+ 31442 - 19968: jis0208<<14 | 0x33<<7 | 0x53,
+ 31443 - 19968: jis0208<<14 | 0x42<<7 | 0x49,
+ 31445 - 19968: jis0208<<14 | 0x42<<7 | 0x48,
+ 31449 - 19968: jis0208<<14 | 0x42<<7 | 0x4A,
+ 31450 - 19968: jis0208<<14 | 0x42<<7 | 0x4B,
+ 31451 - 19968: jis0212<<14 | 0x30<<7 | 0x48,
+ 31452 - 19968: jis0208<<14 | 0x2D<<7 | 0x14,
+ 31453 - 19968: jis0208<<14 | 0x42<<7 | 0x4C,
+ 31455 - 19968: jis0208<<14 | 0x4F<<7 | 0x4E,
+ 31456 - 19968: jis0208<<14 | 0x1D<<7 | 0x2E,
+ 31457 - 19968: jis0208<<14 | 0x42<<7 | 0x4D,
+ 31458 - 19968: jis0208<<14 | 0x42<<7 | 0x4E,
+ 31459 - 19968: jis0208<<14 | 0x1C<<7 | 0x36,
+ 31461 - 19968: jis0208<<14 | 0x25<<7 | 0x17,
+ 31462 - 19968: jis0208<<14 | 0x42<<7 | 0x4F,
+ 31463 - 19968: jis0208<<14 | 0x5A<<7 | 0x28,
+ 31464 - 19968: jis0212<<14 | 0x30<<7 | 0x49,
+ 31465 - 19968: jis0212<<14 | 0x30<<7 | 0x4A,
+ 31466 - 19968: jis0208<<14 | 0x22<<7 | 0x07,
+ 31467 - 19968: jis0208<<14 | 0x5A<<7 | 0x2A,
+ 31468 - 19968: jis0212<<14 | 0x30<<7 | 0x4C,
+ 31469 - 19968: jis0208<<14 | 0x42<<7 | 0x50,
+ 31471 - 19968: jis0208<<14 | 0x22<<7 | 0x1B,
+ 31472 - 19968: jis0208<<14 | 0x42<<7 | 0x51,
+ 31473 - 19968: jis0212<<14 | 0x30<<7 | 0x4D,
+ 31476 - 19968: jis0212<<14 | 0x30<<7 | 0x4E,
+ 31478 - 19968: jis0208<<14 | 0x15<<7 | 0x04,
+ 31480 - 19968: jis0208<<14 | 0x30<<7 | 0x1E,
+ 31481 - 19968: jis0208<<14 | 0x22<<7 | 0x3C,
+ 31482 - 19968: jis0208<<14 | 0x1B<<7 | 0x12,
+ 31483 - 19968: jis0212<<14 | 0x30<<7 | 0x4F,
+ 31485 - 19968: jis0212<<14 | 0x30<<7 | 0x50,
+ 31486 - 19968: jis0212<<14 | 0x30<<7 | 0x51,
+ 31487 - 19968: jis0208<<14 | 0x13<<7 | 0x27,
+ 31490 - 19968: jis0208<<14 | 0x42<<7 | 0x52,
+ 31492 - 19968: jis0208<<14 | 0x43<<7 | 0x01,
+ 31494 - 19968: jis0208<<14 | 0x42<<7 | 0x55,
+ 31495 - 19968: jis0212<<14 | 0x30<<7 | 0x52,
+ 31496 - 19968: jis0208<<14 | 0x14<<7 | 0x47,
+ 31498 - 19968: jis0208<<14 | 0x42<<7 | 0x54,
+ 31499 - 19968: jis0208<<14 | 0x43<<7 | 0x03,
+ 31503 - 19968: jis0208<<14 | 0x42<<7 | 0x53,
+ 31505 - 19968: jis0208<<14 | 0x1D<<7 | 0x2F,
+ 31508 - 19968: jis0212<<14 | 0x30<<7 | 0x53,
+ 31512 - 19968: jis0208<<14 | 0x42<<7 | 0x57,
+ 31513 - 19968: jis0208<<14 | 0x42<<7 | 0x58,
+ 31515 - 19968: jis0208<<14 | 0x24<<7 | 0x0A,
+ 31518 - 19968: jis0208<<14 | 0x42<<7 | 0x59,
+ 31519 - 19968: jis0212<<14 | 0x30<<7 | 0x54,
+ 31520 - 19968: jis0208<<14 | 0x12<<7 | 0x3D,
+ 31523 - 19968: jis0212<<14 | 0x30<<7 | 0x55,
+ 31525 - 19968: jis0208<<14 | 0x1E<<7 | 0x39,
+ 31526 - 19968: jis0208<<14 | 0x28<<7 | 0x43,
+ 31527 - 19968: jis0212<<14 | 0x30<<7 | 0x56,
+ 31528 - 19968: jis0208<<14 | 0x42<<7 | 0x5B,
+ 31529 - 19968: jis0212<<14 | 0x30<<7 | 0x57,
+ 31530 - 19968: jis0212<<14 | 0x30<<7 | 0x58,
+ 31531 - 19968: jis0212<<14 | 0x30<<7 | 0x59,
+ 31532 - 19968: jis0208<<14 | 0x21<<7 | 0x47,
+ 31533 - 19968: jis0212<<14 | 0x30<<7 | 0x5A,
+ 31534 - 19968: jis0212<<14 | 0x30<<7 | 0x5B,
+ 31535 - 19968: jis0212<<14 | 0x30<<7 | 0x5C,
+ 31536 - 19968: jis0212<<14 | 0x30<<7 | 0x5D,
+ 31537 - 19968: jis0212<<14 | 0x31<<7 | 0x00,
+ 31539 - 19968: jis0208<<14 | 0x42<<7 | 0x56,
+ 31540 - 19968: jis0212<<14 | 0x31<<7 | 0x01,
+ 31541 - 19968: jis0208<<14 | 0x42<<7 | 0x5A,
+ 31542 - 19968: jis0208<<14 | 0x42<<7 | 0x5C,
+ 31545 - 19968: jis0208<<14 | 0x19<<7 | 0x5A,
+ 31549 - 19968: jis0212<<14 | 0x31<<7 | 0x02,
+ 31551 - 19968: jis0212<<14 | 0x31<<7 | 0x03,
+ 31552 - 19968: jis0212<<14 | 0x31<<7 | 0x04,
+ 31553 - 19968: jis0212<<14 | 0x31<<7 | 0x05,
+ 31557 - 19968: jis0208<<14 | 0x43<<7 | 0x05,
+ 31558 - 19968: jis0208<<14 | 0x28<<7 | 0x0D,
+ 31559 - 19968: jis0212<<14 | 0x31<<7 | 0x06,
+ 31560 - 19968: jis0208<<14 | 0x27<<7 | 0x05,
+ 31561 - 19968: jis0208<<14 | 0x24<<7 | 0x58,
+ 31563 - 19968: jis0208<<14 | 0x15<<7 | 0x39,
+ 31564 - 19968: jis0208<<14 | 0x43<<7 | 0x04,
+ 31565 - 19968: jis0208<<14 | 0x43<<7 | 0x02,
+ 31566 - 19968: jis0212<<14 | 0x31<<7 | 0x07,
+ 31567 - 19968: jis0208<<14 | 0x27<<7 | 0x14,
+ 31568 - 19968: jis0208<<14 | 0x42<<7 | 0x5D,
+ 31569 - 19968: jis0208<<14 | 0x22<<7 | 0x3D,
+ 31570 - 19968: jis0208<<14 | 0x24<<7 | 0x5A,
+ 31572 - 19968: jis0208<<14 | 0x24<<7 | 0x59,
+ 31573 - 19968: jis0212<<14 | 0x31<<7 | 0x08,
+ 31574 - 19968: jis0208<<14 | 0x19<<7 | 0x55,
+ 31581 - 19968: jis0208<<14 | 0x43<<7 | 0x17,
+ 31584 - 19968: jis0212<<14 | 0x31<<7 | 0x09,
+ 31588 - 19968: jis0212<<14 | 0x31<<7 | 0x0A,
+ 31589 - 19968: jis0208<<14 | 0x43<<7 | 0x07,
+ 31590 - 19968: jis0212<<14 | 0x31<<7 | 0x0B,
+ 31591 - 19968: jis0208<<14 | 0x43<<7 | 0x09,
+ 31593 - 19968: jis0212<<14 | 0x31<<7 | 0x0C,
+ 31594 - 19968: jis0212<<14 | 0x31<<7 | 0x0D,
+ 31596 - 19968: jis0208<<14 | 0x43<<7 | 0x0C,
+ 31597 - 19968: jis0212<<14 | 0x31<<7 | 0x0E,
+ 31598 - 19968: jis0208<<14 | 0x43<<7 | 0x0D,
+ 31599 - 19968: jis0212<<14 | 0x31<<7 | 0x0F,
+ 31600 - 19968: jis0208<<14 | 0x43<<7 | 0x0A,
+ 31601 - 19968: jis0208<<14 | 0x43<<7 | 0x0B,
+ 31602 - 19968: jis0212<<14 | 0x31<<7 | 0x10,
+ 31603 - 19968: jis0212<<14 | 0x31<<7 | 0x11,
+ 31604 - 19968: jis0208<<14 | 0x43<<7 | 0x08,
+ 31605 - 19968: jis0208<<14 | 0x43<<7 | 0x06,
+ 31607 - 19968: jis0212<<14 | 0x31<<7 | 0x12,
+ 31610 - 19968: jis0208<<14 | 0x43<<7 | 0x00,
+ 31620 - 19968: jis0212<<14 | 0x31<<7 | 0x13,
+ 31622 - 19968: jis0208<<14 | 0x29<<7 | 0x2E,
+ 31623 - 19968: jis0208<<14 | 0x11<<7 | 0x34,
+ 31625 - 19968: jis0212<<14 | 0x31<<7 | 0x14,
+ 31627 - 19968: jis0208<<14 | 0x43<<7 | 0x14,
+ 31629 - 19968: jis0208<<14 | 0x43<<7 | 0x11,
+ 31630 - 19968: jis0212<<14 | 0x31<<7 | 0x15,
+ 31631 - 19968: jis0208<<14 | 0x43<<7 | 0x16,
+ 31632 - 19968: jis0212<<14 | 0x31<<7 | 0x16,
+ 31633 - 19968: jis0212<<14 | 0x31<<7 | 0x17,
+ 31634 - 19968: jis0208<<14 | 0x43<<7 | 0x15,
+ 31636 - 19968: jis0208<<14 | 0x26<<7 | 0x52,
+ 31637 - 19968: jis0208<<14 | 0x2B<<7 | 0x06,
+ 31638 - 19968: jis0212<<14 | 0x31<<7 | 0x18,
+ 31639 - 19968: jis0208<<14 | 0x1A<<7 | 0x1A,
+ 31640 - 19968: jis0208<<14 | 0x43<<7 | 0x0F,
+ 31641 - 19968: jis0208<<14 | 0x43<<7 | 0x18,
+ 31642 - 19968: jis0208<<14 | 0x43<<7 | 0x13,
+ 31643 - 19968: jis0212<<14 | 0x31<<7 | 0x19,
+ 31644 - 19968: jis0208<<14 | 0x43<<7 | 0x12,
+ 31645 - 19968: jis0208<<14 | 0x43<<7 | 0x0E,
+ 31646 - 19968: jis0208<<14 | 0x5A<<7 | 0x2B,
+ 31647 - 19968: jis0208<<14 | 0x43<<7 | 0x10,
+ 31648 - 19968: jis0212<<14 | 0x31<<7 | 0x1B,
+ 31649 - 19968: jis0208<<14 | 0x13<<7 | 0x28,
+ 31653 - 19968: jis0212<<14 | 0x31<<7 | 0x1C,
+ 31658 - 19968: jis0208<<14 | 0x22<<7 | 0x1C,
+ 31660 - 19968: jis0212<<14 | 0x31<<7 | 0x1D,
+ 31661 - 19968: jis0208<<14 | 0x1F<<7 | 0x5C,
+ 31663 - 19968: jis0212<<14 | 0x31<<7 | 0x1E,
+ 31664 - 19968: jis0212<<14 | 0x31<<7 | 0x1F,
+ 31665 - 19968: jis0208<<14 | 0x27<<7 | 0x01,
+ 31666 - 19968: jis0212<<14 | 0x31<<7 | 0x20,
+ 31668 - 19968: jis0208<<14 | 0x43<<7 | 0x1D,
+ 31669 - 19968: jis0212<<14 | 0x31<<7 | 0x21,
+ 31670 - 19968: jis0212<<14 | 0x31<<7 | 0x22,
+ 31672 - 19968: jis0208<<14 | 0x27<<7 | 0x03,
+ 31674 - 19968: jis0212<<14 | 0x31<<7 | 0x23,
+ 31675 - 19968: jis0212<<14 | 0x31<<7 | 0x24,
+ 31676 - 19968: jis0212<<14 | 0x31<<7 | 0x25,
+ 31677 - 19968: jis0212<<14 | 0x31<<7 | 0x26,
+ 31680 - 19968: jis0208<<14 | 0x1F<<7 | 0x40,
+ 31681 - 19968: jis0208<<14 | 0x43<<7 | 0x1A,
+ 31682 - 19968: jis0212<<14 | 0x31<<7 | 0x27,
+ 31684 - 19968: jis0208<<14 | 0x27<<7 | 0x2E,
+ 31685 - 19968: jis0212<<14 | 0x31<<7 | 0x28,
+ 31686 - 19968: jis0208<<14 | 0x43<<7 | 0x1E,
+ 31687 - 19968: jis0208<<14 | 0x29<<7 | 0x32,
+ 31688 - 19968: jis0212<<14 | 0x31<<7 | 0x29,
+ 31689 - 19968: jis0208<<14 | 0x22<<7 | 0x3A,
+ 31690 - 19968: jis0212<<14 | 0x31<<7 | 0x2A,
+ 31691 - 19968: jis0208<<14 | 0x43<<7 | 0x19,
+ 31692 - 19968: jis0208<<14 | 0x43<<7 | 0x1B,
+ 31695 - 19968: jis0208<<14 | 0x43<<7 | 0x1C,
+ 31700 - 19968: jis0212<<14 | 0x31<<7 | 0x2B,
+ 31702 - 19968: jis0212<<14 | 0x31<<7 | 0x2C,
+ 31703 - 19968: jis0212<<14 | 0x31<<7 | 0x2D,
+ 31705 - 19968: jis0212<<14 | 0x31<<7 | 0x2E,
+ 31706 - 19968: jis0212<<14 | 0x31<<7 | 0x2F,
+ 31707 - 19968: jis0212<<14 | 0x31<<7 | 0x30,
+ 31709 - 19968: jis0208<<14 | 0x43<<7 | 0x1F,
+ 31712 - 19968: jis0208<<14 | 0x1B<<7 | 0x23,
+ 31716 - 19968: jis0208<<14 | 0x25<<7 | 0x25,
+ 31717 - 19968: jis0208<<14 | 0x43<<7 | 0x24,
+ 31718 - 19968: jis0208<<14 | 0x43<<7 | 0x23,
+ 31720 - 19968: jis0212<<14 | 0x31<<7 | 0x31,
+ 31721 - 19968: jis0208<<14 | 0x43<<7 | 0x20,
+ 31722 - 19968: jis0212<<14 | 0x31<<7 | 0x32,
+ 31725 - 19968: jis0208<<14 | 0x2E<<7 | 0x15,
+ 31730 - 19968: jis0212<<14 | 0x31<<7 | 0x33,
+ 31731 - 19968: jis0208<<14 | 0x43<<7 | 0x29,
+ 31732 - 19968: jis0212<<14 | 0x31<<7 | 0x34,
+ 31733 - 19968: jis0212<<14 | 0x31<<7 | 0x35,
+ 31734 - 19968: jis0208<<14 | 0x43<<7 | 0x2D,
+ 31735 - 19968: jis0208<<14 | 0x43<<7 | 0x2A,
+ 31736 - 19968: jis0212<<14 | 0x31<<7 | 0x36,
+ 31737 - 19968: jis0212<<14 | 0x31<<7 | 0x37,
+ 31738 - 19968: jis0212<<14 | 0x31<<7 | 0x38,
+ 31740 - 19968: jis0212<<14 | 0x31<<7 | 0x39,
+ 31742 - 19968: jis0212<<14 | 0x31<<7 | 0x3A,
+ 31744 - 19968: jis0208<<14 | 0x43<<7 | 0x26,
+ 31745 - 19968: jis0212<<14 | 0x31<<7 | 0x3B,
+ 31746 - 19968: jis0212<<14 | 0x31<<7 | 0x3C,
+ 31747 - 19968: jis0212<<14 | 0x31<<7 | 0x3D,
+ 31748 - 19968: jis0212<<14 | 0x31<<7 | 0x3E,
+ 31750 - 19968: jis0212<<14 | 0x31<<7 | 0x3F,
+ 31751 - 19968: jis0208<<14 | 0x43<<7 | 0x27,
+ 31753 - 19968: jis0212<<14 | 0x31<<7 | 0x40,
+ 31755 - 19968: jis0212<<14 | 0x31<<7 | 0x41,
+ 31756 - 19968: jis0212<<14 | 0x31<<7 | 0x42,
+ 31757 - 19968: jis0208<<14 | 0x43<<7 | 0x2C,
+ 31758 - 19968: jis0212<<14 | 0x31<<7 | 0x43,
+ 31759 - 19968: jis0212<<14 | 0x31<<7 | 0x44,
+ 31761 - 19968: jis0208<<14 | 0x43<<7 | 0x21,
+ 31762 - 19968: jis0208<<14 | 0x31<<7 | 0x34,
+ 31763 - 19968: jis0208<<14 | 0x43<<7 | 0x28,
+ 31764 - 19968: jis0208<<14 | 0x43<<7 | 0x22,
+ 31767 - 19968: jis0208<<14 | 0x43<<7 | 0x2B,
+ 31769 - 19968: jis0212<<14 | 0x31<<7 | 0x45,
+ 31771 - 19968: jis0212<<14 | 0x31<<7 | 0x46,
+ 31775 - 19968: jis0208<<14 | 0x43<<7 | 0x31,
+ 31776 - 19968: jis0212<<14 | 0x31<<7 | 0x47,
+ 31777 - 19968: jis0208<<14 | 0x13<<7 | 0x29,
+ 31779 - 19968: jis0208<<14 | 0x43<<7 | 0x2E,
+ 31781 - 19968: jis0212<<14 | 0x31<<7 | 0x48,
+ 31782 - 19968: jis0212<<14 | 0x31<<7 | 0x49,
+ 31783 - 19968: jis0208<<14 | 0x43<<7 | 0x2F,
+ 31784 - 19968: jis0212<<14 | 0x31<<7 | 0x4A,
+ 31786 - 19968: jis0208<<14 | 0x43<<7 | 0x30,
+ 31787 - 19968: jis0208<<14 | 0x43<<7 | 0x33,
+ 31788 - 19968: jis0212<<14 | 0x31<<7 | 0x4B,
+ 31793 - 19968: jis0212<<14 | 0x31<<7 | 0x4C,
+ 31795 - 19968: jis0212<<14 | 0x31<<7 | 0x4D,
+ 31796 - 19968: jis0212<<14 | 0x31<<7 | 0x4E,
+ 31798 - 19968: jis0212<<14 | 0x31<<7 | 0x4F,
+ 31799 - 19968: jis0208<<14 | 0x43<<7 | 0x32,
+ 31800 - 19968: jis0208<<14 | 0x27<<7 | 0x55,
+ 31801 - 19968: jis0212<<14 | 0x31<<7 | 0x50,
+ 31802 - 19968: jis0212<<14 | 0x31<<7 | 0x51,
+ 31805 - 19968: jis0208<<14 | 0x43<<7 | 0x34,
+ 31806 - 19968: jis0208<<14 | 0x2D<<7 | 0x5B,
+ 31807 - 19968: jis0208<<14 | 0x29<<7 | 0x4C,
+ 31808 - 19968: jis0208<<14 | 0x43<<7 | 0x39,
+ 31811 - 19968: jis0208<<14 | 0x43<<7 | 0x36,
+ 31814 - 19968: jis0212<<14 | 0x31<<7 | 0x52,
+ 31818 - 19968: jis0212<<14 | 0x31<<7 | 0x53,
+ 31820 - 19968: jis0208<<14 | 0x43<<7 | 0x35,
+ 31821 - 19968: jis0208<<14 | 0x1F<<7 | 0x31,
+ 31823 - 19968: jis0208<<14 | 0x43<<7 | 0x38,
+ 31824 - 19968: jis0208<<14 | 0x43<<7 | 0x3A,
+ 31825 - 19968: jis0212<<14 | 0x31<<7 | 0x55,
+ 31826 - 19968: jis0212<<14 | 0x31<<7 | 0x56,
+ 31827 - 19968: jis0212<<14 | 0x31<<7 | 0x57,
+ 31828 - 19968: jis0208<<14 | 0x43<<7 | 0x37,
+ 31829 - 19968: jis0212<<14 | 0x31<<7 | 0x54,
+ 31830 - 19968: jis0208<<14 | 0x43<<7 | 0x3E,
+ 31832 - 19968: jis0208<<14 | 0x43<<7 | 0x3B,
+ 31833 - 19968: jis0212<<14 | 0x31<<7 | 0x58,
+ 31834 - 19968: jis0212<<14 | 0x31<<7 | 0x59,
+ 31835 - 19968: jis0212<<14 | 0x31<<7 | 0x5A,
+ 31836 - 19968: jis0212<<14 | 0x31<<7 | 0x5B,
+ 31837 - 19968: jis0212<<14 | 0x31<<7 | 0x5C,
+ 31838 - 19968: jis0212<<14 | 0x31<<7 | 0x5D,
+ 31839 - 19968: jis0208<<14 | 0x43<<7 | 0x3C,
+ 31840 - 19968: jis0208<<14 | 0x43<<7 | 0x25,
+ 31841 - 19968: jis0212<<14 | 0x32<<7 | 0x00,
+ 31843 - 19968: jis0212<<14 | 0x32<<7 | 0x01,
+ 31844 - 19968: jis0208<<14 | 0x43<<7 | 0x3D,
+ 31845 - 19968: jis0208<<14 | 0x43<<7 | 0x3F,
+ 31847 - 19968: jis0212<<14 | 0x32<<7 | 0x02,
+ 31849 - 19968: jis0212<<14 | 0x32<<7 | 0x03,
+ 31852 - 19968: jis0208<<14 | 0x43<<7 | 0x40,
+ 31853 - 19968: jis0212<<14 | 0x32<<7 | 0x04,
+ 31854 - 19968: jis0212<<14 | 0x32<<7 | 0x05,
+ 31856 - 19968: jis0212<<14 | 0x32<<7 | 0x06,
+ 31858 - 19968: jis0212<<14 | 0x32<<7 | 0x07,
+ 31859 - 19968: jis0208<<14 | 0x29<<7 | 0x25,
+ 31861 - 19968: jis0208<<14 | 0x43<<7 | 0x41,
+ 31865 - 19968: jis0212<<14 | 0x32<<7 | 0x08,
+ 31868 - 19968: jis0212<<14 | 0x32<<7 | 0x09,
+ 31869 - 19968: jis0212<<14 | 0x32<<7 | 0x0A,
+ 31870 - 19968: jis0208<<14 | 0x2B<<7 | 0x41,
+ 31873 - 19968: jis0208<<14 | 0x15<<7 | 0x2D,
+ 31874 - 19968: jis0208<<14 | 0x16<<7 | 0x08,
+ 31875 - 19968: jis0208<<14 | 0x43<<7 | 0x42,
+ 31878 - 19968: jis0212<<14 | 0x32<<7 | 0x0B,
+ 31879 - 19968: jis0212<<14 | 0x32<<7 | 0x0C,
+ 31881 - 19968: jis0208<<14 | 0x29<<7 | 0x13,
+ 31883 - 19968: jis0208<<14 | 0x1E<<7 | 0x47,
+ 31885 - 19968: jis0208<<14 | 0x2B<<7 | 0x0F,
+ 31887 - 19968: jis0212<<14 | 0x32<<7 | 0x0D,
+ 31888 - 19968: jis0208<<14 | 0x43<<7 | 0x43,
+ 31890 - 19968: jis0208<<14 | 0x2D<<7 | 0x12,
+ 31892 - 19968: jis0212<<14 | 0x32<<7 | 0x0E,
+ 31893 - 19968: jis0208<<14 | 0x26<<7 | 0x53,
+ 31895 - 19968: jis0208<<14 | 0x20<<7 | 0x25,
+ 31896 - 19968: jis0208<<14 | 0x26<<7 | 0x13,
+ 31899 - 19968: jis0208<<14 | 0x1C<<7 | 0x2C,
+ 31902 - 19968: jis0212<<14 | 0x32<<7 | 0x0F,
+ 31903 - 19968: jis0208<<14 | 0x0F<<7 | 0x1F,
+ 31904 - 19968: jis0212<<14 | 0x32<<7 | 0x10,
+ 31905 - 19968: jis0208<<14 | 0x43<<7 | 0x48,
+ 31906 - 19968: jis0208<<14 | 0x43<<7 | 0x46,
+ 31908 - 19968: jis0208<<14 | 0x43<<7 | 0x44,
+ 31909 - 19968: jis0208<<14 | 0x13<<7 | 0x00,
+ 31910 - 19968: jis0212<<14 | 0x32<<7 | 0x11,
+ 31911 - 19968: jis0208<<14 | 0x1D<<7 | 0x30,
+ 31912 - 19968: jis0208<<14 | 0x43<<7 | 0x49,
+ 31915 - 19968: jis0208<<14 | 0x43<<7 | 0x47,
+ 31917 - 19968: jis0208<<14 | 0x43<<7 | 0x45,
+ 31918 - 19968: jis0208<<14 | 0x43<<7 | 0x4D,
+ 31920 - 19968: jis0212<<14 | 0x32<<7 | 0x12,
+ 31921 - 19968: jis0208<<14 | 0x43<<7 | 0x4C,
+ 31922 - 19968: jis0208<<14 | 0x43<<7 | 0x4B,
+ 31923 - 19968: jis0208<<14 | 0x43<<7 | 0x4A,
+ 31926 - 19968: jis0212<<14 | 0x32<<7 | 0x13,
+ 31927 - 19968: jis0212<<14 | 0x32<<7 | 0x14,
+ 31929 - 19968: jis0208<<14 | 0x43<<7 | 0x4E,
+ 31930 - 19968: jis0212<<14 | 0x32<<7 | 0x15,
+ 31931 - 19968: jis0212<<14 | 0x32<<7 | 0x16,
+ 31932 - 19968: jis0212<<14 | 0x32<<7 | 0x17,
+ 31933 - 19968: jis0208<<14 | 0x43<<7 | 0x4F,
+ 31934 - 19968: jis0208<<14 | 0x1F<<7 | 0x19,
+ 31935 - 19968: jis0212<<14 | 0x32<<7 | 0x18,
+ 31936 - 19968: jis0208<<14 | 0x43<<7 | 0x50,
+ 31938 - 19968: jis0208<<14 | 0x43<<7 | 0x52,
+ 31940 - 19968: jis0212<<14 | 0x32<<7 | 0x19,
+ 31941 - 19968: jis0208<<14 | 0x43<<7 | 0x51,
+ 31943 - 19968: jis0212<<14 | 0x32<<7 | 0x1A,
+ 31944 - 19968: jis0212<<14 | 0x32<<7 | 0x1B,
+ 31945 - 19968: jis0212<<14 | 0x32<<7 | 0x1C,
+ 31946 - 19968: jis0208<<14 | 0x17<<7 | 0x31,
+ 31949 - 19968: jis0212<<14 | 0x32<<7 | 0x1D,
+ 31950 - 19968: jis0208<<14 | 0x20<<7 | 0x17,
+ 31951 - 19968: jis0212<<14 | 0x32<<7 | 0x1E,
+ 31954 - 19968: jis0208<<14 | 0x43<<7 | 0x54,
+ 31955 - 19968: jis0212<<14 | 0x32<<7 | 0x1F,
+ 31956 - 19968: jis0212<<14 | 0x32<<7 | 0x20,
+ 31957 - 19968: jis0212<<14 | 0x32<<7 | 0x21,
+ 31958 - 19968: jis0208<<14 | 0x24<<7 | 0x5B,
+ 31959 - 19968: jis0212<<14 | 0x32<<7 | 0x22,
+ 31960 - 19968: jis0208<<14 | 0x43<<7 | 0x53,
+ 31961 - 19968: jis0212<<14 | 0x32<<7 | 0x23,
+ 31962 - 19968: jis0212<<14 | 0x32<<7 | 0x24,
+ 31964 - 19968: jis0208<<14 | 0x43<<7 | 0x55,
+ 31965 - 19968: jis0212<<14 | 0x32<<7 | 0x25,
+ 31966 - 19968: jis0208<<14 | 0x29<<7 | 0x14,
+ 31967 - 19968: jis0208<<14 | 0x20<<7 | 0x4B,
+ 31968 - 19968: jis0208<<14 | 0x18<<7 | 0x26,
+ 31970 - 19968: jis0208<<14 | 0x43<<7 | 0x56,
+ 31974 - 19968: jis0212<<14 | 0x32<<7 | 0x26,
+ 31975 - 19968: jis0208<<14 | 0x2D<<7 | 0x27,
+ 31977 - 19968: jis0212<<14 | 0x32<<7 | 0x27,
+ 31979 - 19968: jis0212<<14 | 0x32<<7 | 0x28,
+ 31983 - 19968: jis0208<<14 | 0x43<<7 | 0x58,
+ 31986 - 19968: jis0208<<14 | 0x43<<7 | 0x59,
+ 31988 - 19968: jis0208<<14 | 0x43<<7 | 0x5A,
+ 31989 - 19968: jis0212<<14 | 0x32<<7 | 0x29,
+ 31990 - 19968: jis0208<<14 | 0x43<<7 | 0x5B,
+ 31992 - 19968: jis0208<<14 | 0x1A<<7 | 0x44,
+ 31994 - 19968: jis0208<<14 | 0x43<<7 | 0x5C,
+ 31995 - 19968: jis0208<<14 | 0x16<<7 | 0x2E,
+ 31998 - 19968: jis0208<<14 | 0x14<<7 | 0x49,
+ 32000 - 19968: jis0208<<14 | 0x14<<7 | 0x09,
+ 32002 - 19968: jis0208<<14 | 0x44<<7 | 0x00,
+ 32003 - 19968: jis0212<<14 | 0x32<<7 | 0x2A,
+ 32004 - 19968: jis0208<<14 | 0x2B<<7 | 0x52,
+ 32005 - 19968: jis0208<<14 | 0x18<<7 | 0x27,
+ 32006 - 19968: jis0208<<14 | 0x43<<7 | 0x5D,
+ 32007 - 19968: jis0212<<14 | 0x32<<7 | 0x2B,
+ 32008 - 19968: jis0212<<14 | 0x32<<7 | 0x2C,
+ 32009 - 19968: jis0212<<14 | 0x32<<7 | 0x2D,
+ 32010 - 19968: jis0208<<14 | 0x44<<7 | 0x03,
+ 32011 - 19968: jis0208<<14 | 0x2B<<7 | 0x45,
+ 32013 - 19968: jis0208<<14 | 0x26<<7 | 0x1B,
+ 32015 - 19968: jis0212<<14 | 0x32<<7 | 0x2E,
+ 32016 - 19968: jis0208<<14 | 0x28<<7 | 0x12,
+ 32017 - 19968: jis0212<<14 | 0x32<<7 | 0x2F,
+ 32018 - 19968: jis0212<<14 | 0x32<<7 | 0x30,
+ 32019 - 19968: jis0212<<14 | 0x32<<7 | 0x31,
+ 32020 - 19968: jis0208<<14 | 0x1C<<7 | 0x42,
+ 32021 - 19968: jis0208<<14 | 0x44<<7 | 0x02,
+ 32022 - 19968: jis0212<<14 | 0x32<<7 | 0x32,
+ 32023 - 19968: jis0208<<14 | 0x1B<<7 | 0x32,
+ 32024 - 19968: jis0208<<14 | 0x18<<7 | 0x28,
+ 32025 - 19968: jis0208<<14 | 0x1A<<7 | 0x45,
+ 32026 - 19968: jis0208<<14 | 0x14<<7 | 0x48,
+ 32027 - 19968: jis0208<<14 | 0x29<<7 | 0x15,
+ 32028 - 19968: jis0208<<14 | 0x44<<7 | 0x01,
+ 32029 - 19968: jis0212<<14 | 0x32<<7 | 0x33,
+ 32030 - 19968: jis0212<<14 | 0x32<<7 | 0x34,
+ 32032 - 19968: jis0208<<14 | 0x20<<7 | 0x26,
+ 32033 - 19968: jis0208<<14 | 0x2A<<7 | 0x21,
+ 32034 - 19968: jis0208<<14 | 0x19<<7 | 0x56,
+ 32035 - 19968: jis0212<<14 | 0x32<<7 | 0x35,
+ 32038 - 19968: jis0212<<14 | 0x32<<7 | 0x36,
+ 32042 - 19968: jis0212<<14 | 0x32<<7 | 0x37,
+ 32043 - 19968: jis0208<<14 | 0x1A<<7 | 0x46,
+ 32044 - 19968: jis0208<<14 | 0x23<<7 | 0x3C,
+ 32045 - 19968: jis0212<<14 | 0x32<<7 | 0x38,
+ 32046 - 19968: jis0208<<14 | 0x44<<7 | 0x06,
+ 32047 - 19968: jis0208<<14 | 0x2D<<7 | 0x3E,
+ 32048 - 19968: jis0208<<14 | 0x19<<7 | 0x38,
+ 32049 - 19968: jis0212<<14 | 0x32<<7 | 0x39,
+ 32050 - 19968: jis0208<<14 | 0x44<<7 | 0x07,
+ 32051 - 19968: jis0208<<14 | 0x1E<<7 | 0x21,
+ 32053 - 19968: jis0208<<14 | 0x44<<7 | 0x09,
+ 32057 - 19968: jis0208<<14 | 0x1D<<7 | 0x31,
+ 32058 - 19968: jis0208<<14 | 0x19<<7 | 0x0F,
+ 32060 - 19968: jis0212<<14 | 0x32<<7 | 0x3A,
+ 32061 - 19968: jis0212<<14 | 0x32<<7 | 0x3B,
+ 32062 - 19968: jis0212<<14 | 0x32<<7 | 0x3C,
+ 32063 - 19968: jis0208<<14 | 0x44<<7 | 0x08,
+ 32064 - 19968: jis0212<<14 | 0x32<<7 | 0x3D,
+ 32065 - 19968: jis0212<<14 | 0x32<<7 | 0x3E,
+ 32066 - 19968: jis0208<<14 | 0x1C<<7 | 0x09,
+ 32067 - 19968: jis0208<<14 | 0x17<<7 | 0x1D,
+ 32068 - 19968: jis0208<<14 | 0x20<<7 | 0x27,
+ 32069 - 19968: jis0208<<14 | 0x44<<7 | 0x04,
+ 32070 - 19968: jis0208<<14 | 0x44<<7 | 0x0A,
+ 32071 - 19968: jis0212<<14 | 0x32<<7 | 0x3F,
+ 32072 - 19968: jis0208<<14 | 0x5A<<7 | 0x2D,
+ 32075 - 19968: jis0208<<14 | 0x44<<7 | 0x05,
+ 32076 - 19968: jis0208<<14 | 0x16<<7 | 0x2F,
+ 32077 - 19968: jis0212<<14 | 0x32<<7 | 0x41,
+ 32078 - 19968: jis0208<<14 | 0x44<<7 | 0x0D,
+ 32079 - 19968: jis0208<<14 | 0x44<<7 | 0x11,
+ 32080 - 19968: jis0208<<14 | 0x16<<7 | 0x4A,
+ 32081 - 19968: jis0212<<14 | 0x32<<7 | 0x42,
+ 32083 - 19968: jis0212<<14 | 0x32<<7 | 0x43,
+ 32086 - 19968: jis0208<<14 | 0x44<<7 | 0x0C,
+ 32087 - 19968: jis0212<<14 | 0x32<<7 | 0x44,
+ 32089 - 19968: jis0212<<14 | 0x32<<7 | 0x45,
+ 32090 - 19968: jis0212<<14 | 0x32<<7 | 0x46,
+ 32091 - 19968: jis0208<<14 | 0x44<<7 | 0x15,
+ 32092 - 19968: jis0208<<14 | 0x5A<<7 | 0x2E,
+ 32093 - 19968: jis0212<<14 | 0x32<<7 | 0x48,
+ 32094 - 19968: jis0208<<14 | 0x18<<7 | 0x29,
+ 32097 - 19968: jis0208<<14 | 0x2C<<7 | 0x4C,
+ 32098 - 19968: jis0208<<14 | 0x0F<<7 | 0x1B,
+ 32099 - 19968: jis0208<<14 | 0x44<<7 | 0x12,
+ 32101 - 19968: jis0212<<14 | 0x32<<7 | 0x49,
+ 32102 - 19968: jis0208<<14 | 0x14<<7 | 0x4A,
+ 32103 - 19968: jis0212<<14 | 0x32<<7 | 0x4A,
+ 32104 - 19968: jis0208<<14 | 0x44<<7 | 0x0F,
+ 32106 - 19968: jis0212<<14 | 0x32<<7 | 0x4B,
+ 32110 - 19968: jis0208<<14 | 0x44<<7 | 0x10,
+ 32112 - 19968: jis0212<<14 | 0x32<<7 | 0x4C,
+ 32113 - 19968: jis0208<<14 | 0x24<<7 | 0x5C,
+ 32114 - 19968: jis0208<<14 | 0x44<<7 | 0x0E,
+ 32115 - 19968: jis0208<<14 | 0x44<<7 | 0x0B,
+ 32117 - 19968: jis0208<<14 | 0x12<<7 | 0x07,
+ 32118 - 19968: jis0208<<14 | 0x1F<<7 | 0x43,
+ 32120 - 19968: jis0212<<14 | 0x32<<7 | 0x4D,
+ 32121 - 19968: jis0208<<14 | 0x17<<7 | 0x07,
+ 32122 - 19968: jis0212<<14 | 0x32<<7 | 0x4E,
+ 32123 - 19968: jis0212<<14 | 0x32<<7 | 0x4F,
+ 32125 - 19968: jis0208<<14 | 0x44<<7 | 0x17,
+ 32127 - 19968: jis0212<<14 | 0x32<<7 | 0x50,
+ 32129 - 19968: jis0212<<14 | 0x32<<7 | 0x51,
+ 32130 - 19968: jis0212<<14 | 0x32<<7 | 0x52,
+ 32131 - 19968: jis0212<<14 | 0x32<<7 | 0x53,
+ 32133 - 19968: jis0212<<14 | 0x32<<7 | 0x54,
+ 32134 - 19968: jis0212<<14 | 0x32<<7 | 0x55,
+ 32136 - 19968: jis0212<<14 | 0x32<<7 | 0x56,
+ 32137 - 19968: jis0208<<14 | 0x44<<7 | 0x14,
+ 32139 - 19968: jis0212<<14 | 0x32<<7 | 0x57,
+ 32140 - 19968: jis0212<<14 | 0x32<<7 | 0x58,
+ 32141 - 19968: jis0212<<14 | 0x32<<7 | 0x59,
+ 32143 - 19968: jis0208<<14 | 0x44<<7 | 0x16,
+ 32145 - 19968: jis0212<<14 | 0x32<<7 | 0x5A,
+ 32147 - 19968: jis0208<<14 | 0x44<<7 | 0x13,
+ 32150 - 19968: jis0212<<14 | 0x32<<7 | 0x5B,
+ 32151 - 19968: jis0212<<14 | 0x32<<7 | 0x5C,
+ 32153 - 19968: jis0208<<14 | 0x16<<7 | 0x30,
+ 32154 - 19968: jis0208<<14 | 0x21<<7 | 0x12,
+ 32155 - 19968: jis0208<<14 | 0x44<<7 | 0x18,
+ 32156 - 19968: jis0208<<14 | 0x20<<7 | 0x4D,
+ 32157 - 19968: jis0212<<14 | 0x32<<7 | 0x5D,
+ 32158 - 19968: jis0212<<14 | 0x33<<7 | 0x00,
+ 32159 - 19968: jis0208<<14 | 0x44<<7 | 0x25,
+ 32160 - 19968: jis0208<<14 | 0x5A<<7 | 0x30,
+ 32162 - 19968: jis0208<<14 | 0x44<<7 | 0x21,
+ 32163 - 19968: jis0208<<14 | 0x44<<7 | 0x1B,
+ 32166 - 19968: jis0212<<14 | 0x33<<7 | 0x01,
+ 32167 - 19968: jis0212<<14 | 0x33<<7 | 0x02,
+ 32170 - 19968: jis0212<<14 | 0x33<<7 | 0x03,
+ 32171 - 19968: jis0208<<14 | 0x44<<7 | 0x1F,
+ 32172 - 19968: jis0208<<14 | 0x1B<<7 | 0x59,
+ 32173 - 19968: jis0208<<14 | 0x0F<<7 | 0x3C,
+ 32174 - 19968: jis0208<<14 | 0x44<<7 | 0x1A,
+ 32175 - 19968: jis0208<<14 | 0x44<<7 | 0x22,
+ 32176 - 19968: jis0208<<14 | 0x44<<7 | 0x26,
+ 32177 - 19968: jis0208<<14 | 0x18<<7 | 0x2A,
+ 32178 - 19968: jis0208<<14 | 0x2B<<7 | 0x35,
+ 32179 - 19968: jis0212<<14 | 0x33<<7 | 0x04,
+ 32180 - 19968: jis0208<<14 | 0x23<<7 | 0x35,
+ 32181 - 19968: jis0208<<14 | 0x44<<7 | 0x1C,
+ 32182 - 19968: jis0212<<14 | 0x33<<7 | 0x05,
+ 32183 - 19968: jis0208<<14 | 0x5A<<7 | 0x2F,
+ 32184 - 19968: jis0208<<14 | 0x44<<7 | 0x24,
+ 32185 - 19968: jis0212<<14 | 0x33<<7 | 0x07,
+ 32186 - 19968: jis0208<<14 | 0x44<<7 | 0x19,
+ 32187 - 19968: jis0208<<14 | 0x22<<7 | 0x1D,
+ 32189 - 19968: jis0208<<14 | 0x44<<7 | 0x1E,
+ 32190 - 19968: jis0208<<14 | 0x0F<<7 | 0x1C,
+ 32191 - 19968: jis0208<<14 | 0x2B<<7 | 0x29,
+ 32194 - 19968: jis0212<<14 | 0x33<<7 | 0x08,
+ 32195 - 19968: jis0212<<14 | 0x33<<7 | 0x09,
+ 32196 - 19968: jis0212<<14 | 0x33<<7 | 0x0A,
+ 32197 - 19968: jis0212<<14 | 0x33<<7 | 0x0B,
+ 32198 - 19968: jis0212<<14 | 0x33<<7 | 0x0C,
+ 32199 - 19968: jis0208<<14 | 0x44<<7 | 0x1D,
+ 32202 - 19968: jis0208<<14 | 0x15<<7 | 0x3A,
+ 32203 - 19968: jis0208<<14 | 0x27<<7 | 0x4B,
+ 32204 - 19968: jis0212<<14 | 0x33<<7 | 0x0D,
+ 32205 - 19968: jis0212<<14 | 0x33<<7 | 0x0E,
+ 32206 - 19968: jis0212<<14 | 0x33<<7 | 0x0F,
+ 32207 - 19968: jis0208<<14 | 0x20<<7 | 0x4C,
+ 32209 - 19968: jis0208<<14 | 0x2D<<7 | 0x2F,
+ 32210 - 19968: jis0208<<14 | 0x1C<<7 | 0x4E,
+ 32213 - 19968: jis0208<<14 | 0x44<<7 | 0x4D,
+ 32214 - 19968: jis0208<<14 | 0x5A<<7 | 0x31,
+ 32215 - 19968: jis0212<<14 | 0x33<<7 | 0x10,
+ 32216 - 19968: jis0208<<14 | 0x44<<7 | 0x27,
+ 32217 - 19968: jis0212<<14 | 0x33<<7 | 0x11,
+ 32218 - 19968: jis0208<<14 | 0x1F<<7 | 0x5D,
+ 32220 - 19968: jis0208<<14 | 0x44<<7 | 0x23,
+ 32221 - 19968: jis0208<<14 | 0x44<<7 | 0x28,
+ 32222 - 19968: jis0208<<14 | 0x44<<7 | 0x2A,
+ 32224 - 19968: jis0208<<14 | 0x23<<7 | 0x58,
+ 32225 - 19968: jis0208<<14 | 0x44<<7 | 0x2D,
+ 32226 - 19968: jis0212<<14 | 0x33<<7 | 0x13,
+ 32228 - 19968: jis0208<<14 | 0x44<<7 | 0x29,
+ 32229 - 19968: jis0212<<14 | 0x33<<7 | 0x14,
+ 32230 - 19968: jis0212<<14 | 0x33<<7 | 0x15,
+ 32232 - 19968: jis0208<<14 | 0x29<<7 | 0x33,
+ 32233 - 19968: jis0208<<14 | 0x13<<7 | 0x2A,
+ 32234 - 19968: jis0212<<14 | 0x33<<7 | 0x16,
+ 32235 - 19968: jis0212<<14 | 0x33<<7 | 0x17,
+ 32236 - 19968: jis0208<<14 | 0x2B<<7 | 0x2A,
+ 32237 - 19968: jis0212<<14 | 0x33<<7 | 0x18,
+ 32239 - 19968: jis0208<<14 | 0x0F<<7 | 0x3D,
+ 32241 - 19968: jis0212<<14 | 0x33<<7 | 0x19,
+ 32242 - 19968: jis0208<<14 | 0x44<<7 | 0x2C,
+ 32244 - 19968: jis0208<<14 | 0x2D<<7 | 0x5C,
+ 32245 - 19968: jis0212<<14 | 0x33<<7 | 0x1A,
+ 32246 - 19968: jis0212<<14 | 0x33<<7 | 0x1B,
+ 32249 - 19968: jis0212<<14 | 0x33<<7 | 0x1C,
+ 32250 - 19968: jis0212<<14 | 0x33<<7 | 0x1D,
+ 32251 - 19968: jis0208<<14 | 0x44<<7 | 0x2B,
+ 32256 - 19968: jis0212<<14 | 0x33<<7 | 0x12,
+ 32257 - 19968: jis0208<<14 | 0x10<<7 | 0x4E,
+ 32260 - 19968: jis0208<<14 | 0x25<<7 | 0x4B,
+ 32261 - 19968: jis0208<<14 | 0x44<<7 | 0x2E,
+ 32264 - 19968: jis0212<<14 | 0x33<<7 | 0x1E,
+ 32265 - 19968: jis0208<<14 | 0x44<<7 | 0x35,
+ 32266 - 19968: jis0208<<14 | 0x44<<7 | 0x2F,
+ 32267 - 19968: jis0208<<14 | 0x44<<7 | 0x36,
+ 32272 - 19968: jis0212<<14 | 0x33<<7 | 0x1F,
+ 32273 - 19968: jis0212<<14 | 0x33<<7 | 0x20,
+ 32274 - 19968: jis0208<<14 | 0x44<<7 | 0x32,
+ 32277 - 19968: jis0212<<14 | 0x33<<7 | 0x21,
+ 32279 - 19968: jis0212<<14 | 0x33<<7 | 0x22,
+ 32283 - 19968: jis0208<<14 | 0x26<<7 | 0x5A,
+ 32284 - 19968: jis0212<<14 | 0x33<<7 | 0x23,
+ 32285 - 19968: jis0212<<14 | 0x33<<7 | 0x24,
+ 32286 - 19968: jis0208<<14 | 0x1B<<7 | 0x29,
+ 32287 - 19968: jis0208<<14 | 0x44<<7 | 0x34,
+ 32288 - 19968: jis0212<<14 | 0x33<<7 | 0x25,
+ 32289 - 19968: jis0208<<14 | 0x44<<7 | 0x31,
+ 32290 - 19968: jis0208<<14 | 0x44<<7 | 0x37,
+ 32291 - 19968: jis0208<<14 | 0x44<<7 | 0x30,
+ 32294 - 19968: jis0208<<14 | 0x1C<<7 | 0x23,
+ 32295 - 19968: jis0212<<14 | 0x33<<7 | 0x26,
+ 32296 - 19968: jis0212<<14 | 0x33<<7 | 0x27,
+ 32299 - 19968: jis0208<<14 | 0x2A<<7 | 0x04,
+ 32300 - 19968: jis0212<<14 | 0x33<<7 | 0x28,
+ 32301 - 19968: jis0212<<14 | 0x33<<7 | 0x29,
+ 32302 - 19968: jis0208<<14 | 0x1C<<7 | 0x2B,
+ 32303 - 19968: jis0212<<14 | 0x33<<7 | 0x2A,
+ 32305 - 19968: jis0208<<14 | 0x44<<7 | 0x33,
+ 32306 - 19968: jis0208<<14 | 0x44<<7 | 0x3F,
+ 32307 - 19968: jis0212<<14 | 0x33<<7 | 0x2B,
+ 32309 - 19968: jis0208<<14 | 0x44<<7 | 0x3B,
+ 32310 - 19968: jis0212<<14 | 0x33<<7 | 0x2C,
+ 32311 - 19968: jis0208<<14 | 0x44<<7 | 0x3E,
+ 32313 - 19968: jis0208<<14 | 0x44<<7 | 0x3C,
+ 32314 - 19968: jis0208<<14 | 0x44<<7 | 0x40,
+ 32315 - 19968: jis0208<<14 | 0x44<<7 | 0x3A,
+ 32317 - 19968: jis0208<<14 | 0x44<<7 | 0x20,
+ 32318 - 19968: jis0208<<14 | 0x1F<<7 | 0x32,
+ 32319 - 19968: jis0212<<14 | 0x33<<7 | 0x2D,
+ 32321 - 19968: jis0208<<14 | 0x27<<7 | 0x2A,
+ 32323 - 19968: jis0208<<14 | 0x44<<7 | 0x3D,
+ 32324 - 19968: jis0212<<14 | 0x33<<7 | 0x2E,
+ 32325 - 19968: jis0212<<14 | 0x33<<7 | 0x2F,
+ 32326 - 19968: jis0208<<14 | 0x44<<7 | 0x38,
+ 32327 - 19968: jis0212<<14 | 0x33<<7 | 0x30,
+ 32330 - 19968: jis0208<<14 | 0x20<<7 | 0x00,
+ 32331 - 19968: jis0208<<14 | 0x16<<7 | 0x31,
+ 32333 - 19968: jis0208<<14 | 0x1C<<7 | 0x0A,
+ 32334 - 19968: jis0212<<14 | 0x33<<7 | 0x31,
+ 32336 - 19968: jis0212<<14 | 0x33<<7 | 0x32,
+ 32338 - 19968: jis0208<<14 | 0x5A<<7 | 0x32,
+ 32340 - 19968: jis0208<<14 | 0x1E<<7 | 0x04,
+ 32341 - 19968: jis0208<<14 | 0x20<<7 | 0x15,
+ 32342 - 19968: jis0208<<14 | 0x44<<7 | 0x43,
+ 32344 - 19968: jis0212<<14 | 0x33<<7 | 0x34,
+ 32345 - 19968: jis0208<<14 | 0x44<<7 | 0x45,
+ 32346 - 19968: jis0208<<14 | 0x44<<7 | 0x46,
+ 32349 - 19968: jis0208<<14 | 0x44<<7 | 0x42,
+ 32350 - 19968: jis0208<<14 | 0x44<<7 | 0x44,
+ 32351 - 19968: jis0212<<14 | 0x33<<7 | 0x35,
+ 32353 - 19968: jis0212<<14 | 0x33<<7 | 0x36,
+ 32354 - 19968: jis0212<<14 | 0x33<<7 | 0x37,
+ 32357 - 19968: jis0212<<14 | 0x33<<7 | 0x38,
+ 32358 - 19968: jis0208<<14 | 0x44<<7 | 0x39,
+ 32359 - 19968: jis0208<<14 | 0x44<<7 | 0x41,
+ 32361 - 19968: jis0208<<14 | 0x44<<7 | 0x49,
+ 32362 - 19968: jis0208<<14 | 0x44<<7 | 0x48,
+ 32363 - 19968: jis0212<<14 | 0x33<<7 | 0x39,
+ 32365 - 19968: jis0208<<14 | 0x2A<<7 | 0x59,
+ 32366 - 19968: jis0212<<14 | 0x33<<7 | 0x3A,
+ 32367 - 19968: jis0212<<14 | 0x33<<7 | 0x3B,
+ 32368 - 19968: jis0208<<14 | 0x16<<7 | 0x0A,
+ 32371 - 19968: jis0212<<14 | 0x33<<7 | 0x3C,
+ 32376 - 19968: jis0212<<14 | 0x33<<7 | 0x3D,
+ 32377 - 19968: jis0208<<14 | 0x44<<7 | 0x47,
+ 32379 - 19968: jis0208<<14 | 0x44<<7 | 0x4B,
+ 32380 - 19968: jis0208<<14 | 0x44<<7 | 0x4A,
+ 32381 - 19968: jis0208<<14 | 0x44<<7 | 0x4E,
+ 32382 - 19968: jis0212<<14 | 0x33<<7 | 0x3E,
+ 32383 - 19968: jis0208<<14 | 0x44<<7 | 0x50,
+ 32385 - 19968: jis0212<<14 | 0x33<<7 | 0x3F,
+ 32386 - 19968: jis0208<<14 | 0x1A<<7 | 0x1B,
+ 32387 - 19968: jis0208<<14 | 0x44<<7 | 0x4C,
+ 32390 - 19968: jis0212<<14 | 0x33<<7 | 0x40,
+ 32391 - 19968: jis0212<<14 | 0x33<<7 | 0x41,
+ 32392 - 19968: jis0208<<14 | 0x44<<7 | 0x51,
+ 32393 - 19968: jis0208<<14 | 0x44<<7 | 0x52,
+ 32394 - 19968: jis0208<<14 | 0x58<<7 | 0x00,
+ 32396 - 19968: jis0208<<14 | 0x44<<7 | 0x53,
+ 32397 - 19968: jis0212<<14 | 0x33<<7 | 0x43,
+ 32398 - 19968: jis0208<<14 | 0x44<<7 | 0x59,
+ 32399 - 19968: jis0208<<14 | 0x24<<7 | 0x1A,
+ 32400 - 19968: jis0208<<14 | 0x44<<7 | 0x55,
+ 32401 - 19968: jis0212<<14 | 0x33<<7 | 0x44,
+ 32402 - 19968: jis0208<<14 | 0x44<<7 | 0x54,
+ 32403 - 19968: jis0208<<14 | 0x44<<7 | 0x56,
+ 32404 - 19968: jis0208<<14 | 0x44<<7 | 0x57,
+ 32405 - 19968: jis0212<<14 | 0x33<<7 | 0x45,
+ 32406 - 19968: jis0208<<14 | 0x44<<7 | 0x58,
+ 32408 - 19968: jis0212<<14 | 0x33<<7 | 0x46,
+ 32410 - 19968: jis0212<<14 | 0x33<<7 | 0x47,
+ 32411 - 19968: jis0208<<14 | 0x44<<7 | 0x5A,
+ 32412 - 19968: jis0208<<14 | 0x44<<7 | 0x5B,
+ 32413 - 19968: jis0212<<14 | 0x33<<7 | 0x48,
+ 32414 - 19968: jis0212<<14 | 0x33<<7 | 0x49,
+ 32566 - 19968: jis0208<<14 | 0x13<<7 | 0x2B,
+ 32568 - 19968: jis0208<<14 | 0x44<<7 | 0x5C,
+ 32570 - 19968: jis0208<<14 | 0x44<<7 | 0x5D,
+ 32571 - 19968: jis0212<<14 | 0x33<<7 | 0x4B,
+ 32572 - 19968: jis0212<<14 | 0x33<<7 | 0x4A,
+ 32573 - 19968: jis0212<<14 | 0x33<<7 | 0x4C,
+ 32574 - 19968: jis0212<<14 | 0x33<<7 | 0x4D,
+ 32575 - 19968: jis0212<<14 | 0x33<<7 | 0x4E,
+ 32579 - 19968: jis0212<<14 | 0x33<<7 | 0x4F,
+ 32580 - 19968: jis0212<<14 | 0x33<<7 | 0x50,
+ 32581 - 19968: jis0208<<14 | 0x45<<7 | 0x00,
+ 32583 - 19968: jis0208<<14 | 0x5A<<7 | 0x33,
+ 32588 - 19968: jis0208<<14 | 0x45<<7 | 0x01,
+ 32589 - 19968: jis0208<<14 | 0x45<<7 | 0x02,
+ 32590 - 19968: jis0208<<14 | 0x45<<7 | 0x03,
+ 32591 - 19968: jis0212<<14 | 0x33<<7 | 0x52,
+ 32592 - 19968: jis0208<<14 | 0x45<<7 | 0x04,
+ 32593 - 19968: jis0208<<14 | 0x45<<7 | 0x05,
+ 32594 - 19968: jis0212<<14 | 0x33<<7 | 0x53,
+ 32595 - 19968: jis0212<<14 | 0x33<<7 | 0x54,
+ 32596 - 19968: jis0208<<14 | 0x45<<7 | 0x07,
+ 32597 - 19968: jis0208<<14 | 0x45<<7 | 0x06,
+ 32600 - 19968: jis0208<<14 | 0x45<<7 | 0x08,
+ 32603 - 19968: jis0212<<14 | 0x33<<7 | 0x55,
+ 32604 - 19968: jis0212<<14 | 0x33<<7 | 0x56,
+ 32605 - 19968: jis0212<<14 | 0x33<<7 | 0x57,
+ 32607 - 19968: jis0208<<14 | 0x45<<7 | 0x09,
+ 32608 - 19968: jis0208<<14 | 0x45<<7 | 0x0A,
+ 32609 - 19968: jis0212<<14 | 0x33<<7 | 0x58,
+ 32611 - 19968: jis0212<<14 | 0x33<<7 | 0x59,
+ 32612 - 19968: jis0212<<14 | 0x33<<7 | 0x5A,
+ 32613 - 19968: jis0212<<14 | 0x33<<7 | 0x5B,
+ 32614 - 19968: jis0212<<14 | 0x33<<7 | 0x5C,
+ 32615 - 19968: jis0208<<14 | 0x45<<7 | 0x0D,
+ 32616 - 19968: jis0208<<14 | 0x45<<7 | 0x0B,
+ 32617 - 19968: jis0208<<14 | 0x45<<7 | 0x0C,
+ 32618 - 19968: jis0208<<14 | 0x19<<7 | 0x40,
+ 32619 - 19968: jis0208<<14 | 0x16<<7 | 0x32,
+ 32621 - 19968: jis0212<<14 | 0x33<<7 | 0x5D,
+ 32622 - 19968: jis0208<<14 | 0x22<<7 | 0x35,
+ 32624 - 19968: jis0208<<14 | 0x27<<7 | 0x12,
+ 32625 - 19968: jis0212<<14 | 0x34<<7 | 0x00,
+ 32626 - 19968: jis0208<<14 | 0x1C<<7 | 0x4F,
+ 32629 - 19968: jis0208<<14 | 0x26<<7 | 0x2C,
+ 32631 - 19968: jis0208<<14 | 0x27<<7 | 0x4C,
+ 32632 - 19968: jis0208<<14 | 0x45<<7 | 0x0E,
+ 32633 - 19968: jis0208<<14 | 0x37<<7 | 0x4C,
+ 32637 - 19968: jis0212<<14 | 0x34<<7 | 0x01,
+ 32638 - 19968: jis0212<<14 | 0x34<<7 | 0x02,
+ 32639 - 19968: jis0212<<14 | 0x34<<7 | 0x03,
+ 32640 - 19968: jis0212<<14 | 0x34<<7 | 0x04,
+ 32642 - 19968: jis0208<<14 | 0x45<<7 | 0x0F,
+ 32643 - 19968: jis0208<<14 | 0x45<<7 | 0x11,
+ 32645 - 19968: jis0208<<14 | 0x2C<<7 | 0x44,
+ 32646 - 19968: jis0208<<14 | 0x45<<7 | 0x10,
+ 32647 - 19968: jis0208<<14 | 0x45<<7 | 0x13,
+ 32648 - 19968: jis0208<<14 | 0x45<<7 | 0x12,
+ 32650 - 19968: jis0208<<14 | 0x2C<<7 | 0x32,
+ 32651 - 19968: jis0212<<14 | 0x34<<7 | 0x05,
+ 32652 - 19968: jis0208<<14 | 0x45<<7 | 0x14,
+ 32653 - 19968: jis0212<<14 | 0x34<<7 | 0x06,
+ 32654 - 19968: jis0208<<14 | 0x27<<7 | 0x5D,
+ 32655 - 19968: jis0212<<14 | 0x34<<7 | 0x07,
+ 32656 - 19968: jis0212<<14 | 0x34<<7 | 0x08,
+ 32657 - 19968: jis0212<<14 | 0x34<<7 | 0x09,
+ 32660 - 19968: jis0208<<14 | 0x45<<7 | 0x15,
+ 32662 - 19968: jis0212<<14 | 0x34<<7 | 0x0A,
+ 32663 - 19968: jis0212<<14 | 0x34<<7 | 0x0B,
+ 32666 - 19968: jis0208<<14 | 0x45<<7 | 0x18,
+ 32668 - 19968: jis0212<<14 | 0x34<<7 | 0x0C,
+ 32669 - 19968: jis0208<<14 | 0x45<<7 | 0x17,
+ 32670 - 19968: jis0208<<14 | 0x45<<7 | 0x16,
+ 32673 - 19968: jis0208<<14 | 0x5A<<7 | 0x34,
+ 32674 - 19968: jis0212<<14 | 0x34<<7 | 0x0E,
+ 32675 - 19968: jis0208<<14 | 0x45<<7 | 0x19,
+ 32676 - 19968: jis0208<<14 | 0x16<<7 | 0x11,
+ 32678 - 19968: jis0212<<14 | 0x34<<7 | 0x0F,
+ 32680 - 19968: jis0208<<14 | 0x20<<7 | 0x01,
+ 32681 - 19968: jis0208<<14 | 0x14<<7 | 0x20,
+ 32682 - 19968: jis0212<<14 | 0x34<<7 | 0x10,
+ 32685 - 19968: jis0212<<14 | 0x34<<7 | 0x11,
+ 32686 - 19968: jis0208<<14 | 0x45<<7 | 0x1D,
+ 32687 - 19968: jis0208<<14 | 0x45<<7 | 0x1A,
+ 32690 - 19968: jis0208<<14 | 0x45<<7 | 0x1B,
+ 32692 - 19968: jis0212<<14 | 0x34<<7 | 0x12,
+ 32694 - 19968: jis0208<<14 | 0x45<<7 | 0x1E,
+ 32696 - 19968: jis0208<<14 | 0x45<<7 | 0x1F,
+ 32697 - 19968: jis0208<<14 | 0x45<<7 | 0x1C,
+ 32700 - 19968: jis0212<<14 | 0x34<<7 | 0x13,
+ 32701 - 19968: jis0208<<14 | 0x10<<7 | 0x08,
+ 32703 - 19968: jis0212<<14 | 0x34<<7 | 0x14,
+ 32704 - 19968: jis0212<<14 | 0x34<<7 | 0x15,
+ 32705 - 19968: jis0208<<14 | 0x11<<7 | 0x06,
+ 32707 - 19968: jis0212<<14 | 0x34<<7 | 0x16,
+ 32709 - 19968: jis0208<<14 | 0x45<<7 | 0x21,
+ 32710 - 19968: jis0208<<14 | 0x45<<7 | 0x22,
+ 32712 - 19968: jis0212<<14 | 0x34<<7 | 0x17,
+ 32714 - 19968: jis0208<<14 | 0x45<<7 | 0x23,
+ 32716 - 19968: jis0208<<14 | 0x2C<<7 | 0x41,
+ 32718 - 19968: jis0212<<14 | 0x34<<7 | 0x18,
+ 32719 - 19968: jis0212<<14 | 0x34<<7 | 0x19,
+ 32722 - 19968: jis0208<<14 | 0x1C<<7 | 0x0B,
+ 32724 - 19968: jis0208<<14 | 0x45<<7 | 0x25,
+ 32725 - 19968: jis0208<<14 | 0x45<<7 | 0x24,
+ 32731 - 19968: jis0212<<14 | 0x34<<7 | 0x1A,
+ 32735 - 19968: jis0212<<14 | 0x34<<7 | 0x1B,
+ 32736 - 19968: jis0208<<14 | 0x1E<<7 | 0x48,
+ 32737 - 19968: jis0208<<14 | 0x45<<7 | 0x26,
+ 32739 - 19968: jis0212<<14 | 0x34<<7 | 0x1C,
+ 32741 - 19968: jis0212<<14 | 0x34<<7 | 0x1D,
+ 32742 - 19968: jis0208<<14 | 0x45<<7 | 0x27,
+ 32744 - 19968: jis0212<<14 | 0x34<<7 | 0x1E,
+ 32745 - 19968: jis0208<<14 | 0x45<<7 | 0x28,
+ 32747 - 19968: jis0208<<14 | 0x13<<7 | 0x44,
+ 32748 - 19968: jis0212<<14 | 0x34<<7 | 0x1F,
+ 32750 - 19968: jis0212<<14 | 0x34<<7 | 0x20,
+ 32751 - 19968: jis0212<<14 | 0x34<<7 | 0x21,
+ 32752 - 19968: jis0208<<14 | 0x13<<7 | 0x2C,
+ 32754 - 19968: jis0212<<14 | 0x34<<7 | 0x22,
+ 32755 - 19968: jis0208<<14 | 0x45<<7 | 0x29,
+ 32761 - 19968: jis0208<<14 | 0x45<<7 | 0x2A,
+ 32762 - 19968: jis0212<<14 | 0x34<<7 | 0x23,
+ 32763 - 19968: jis0208<<14 | 0x2A<<7 | 0x3C,
+ 32764 - 19968: jis0208<<14 | 0x2C<<7 | 0x42,
+ 32765 - 19968: jis0212<<14 | 0x34<<7 | 0x24,
+ 32766 - 19968: jis0212<<14 | 0x34<<7 | 0x25,
+ 32767 - 19968: jis0212<<14 | 0x34<<7 | 0x26,
+ 32768 - 19968: jis0208<<14 | 0x2C<<7 | 0x33,
+ 32769 - 19968: jis0208<<14 | 0x2E<<7 | 0x16,
+ 32771 - 19968: jis0208<<14 | 0x18<<7 | 0x2C,
+ 32772 - 19968: jis0208<<14 | 0x45<<7 | 0x2D,
+ 32773 - 19968: jis0208<<14 | 0x1B<<7 | 0x33,
+ 32774 - 19968: jis0208<<14 | 0x45<<7 | 0x2C,
+ 32775 - 19968: jis0212<<14 | 0x34<<7 | 0x27,
+ 32776 - 19968: jis0212<<14 | 0x34<<7 | 0x28,
+ 32778 - 19968: jis0212<<14 | 0x34<<7 | 0x29,
+ 32779 - 19968: jis0208<<14 | 0x45<<7 | 0x2E,
+ 32780 - 19968: jis0208<<14 | 0x1B<<7 | 0x08,
+ 32781 - 19968: jis0212<<14 | 0x34<<7 | 0x2A,
+ 32782 - 19968: jis0212<<14 | 0x34<<7 | 0x2B,
+ 32783 - 19968: jis0212<<14 | 0x34<<7 | 0x2C,
+ 32784 - 19968: jis0208<<14 | 0x21<<7 | 0x30,
+ 32785 - 19968: jis0212<<14 | 0x34<<7 | 0x2D,
+ 32786 - 19968: jis0208<<14 | 0x45<<7 | 0x2F,
+ 32787 - 19968: jis0212<<14 | 0x34<<7 | 0x2E,
+ 32788 - 19968: jis0212<<14 | 0x34<<7 | 0x2F,
+ 32789 - 19968: jis0208<<14 | 0x18<<7 | 0x2B,
+ 32790 - 19968: jis0212<<14 | 0x34<<7 | 0x30,
+ 32791 - 19968: jis0208<<14 | 0x2B<<7 | 0x36,
+ 32792 - 19968: jis0208<<14 | 0x45<<7 | 0x30,
+ 32793 - 19968: jis0208<<14 | 0x45<<7 | 0x31,
+ 32796 - 19968: jis0208<<14 | 0x45<<7 | 0x32,
+ 32797 - 19968: jis0212<<14 | 0x34<<7 | 0x31,
+ 32798 - 19968: jis0212<<14 | 0x34<<7 | 0x32,
+ 32799 - 19968: jis0212<<14 | 0x34<<7 | 0x33,
+ 32800 - 19968: jis0212<<14 | 0x34<<7 | 0x34,
+ 32801 - 19968: jis0208<<14 | 0x45<<7 | 0x33,
+ 32804 - 19968: jis0212<<14 | 0x34<<7 | 0x35,
+ 32806 - 19968: jis0212<<14 | 0x34<<7 | 0x36,
+ 32808 - 19968: jis0208<<14 | 0x45<<7 | 0x34,
+ 32812 - 19968: jis0212<<14 | 0x34<<7 | 0x37,
+ 32814 - 19968: jis0212<<14 | 0x34<<7 | 0x38,
+ 32816 - 19968: jis0212<<14 | 0x34<<7 | 0x39,
+ 32819 - 19968: jis0208<<14 | 0x1B<<7 | 0x09,
+ 32820 - 19968: jis0212<<14 | 0x34<<7 | 0x3A,
+ 32821 - 19968: jis0212<<14 | 0x34<<7 | 0x3B,
+ 32822 - 19968: jis0208<<14 | 0x2B<<7 | 0x4C,
+ 32823 - 19968: jis0212<<14 | 0x34<<7 | 0x3C,
+ 32825 - 19968: jis0212<<14 | 0x34<<7 | 0x3D,
+ 32826 - 19968: jis0212<<14 | 0x34<<7 | 0x3E,
+ 32827 - 19968: jis0208<<14 | 0x45<<7 | 0x36,
+ 32828 - 19968: jis0212<<14 | 0x34<<7 | 0x3F,
+ 32829 - 19968: jis0208<<14 | 0x22<<7 | 0x1E,
+ 32830 - 19968: jis0212<<14 | 0x34<<7 | 0x40,
+ 32831 - 19968: jis0208<<14 | 0x45<<7 | 0x35,
+ 32832 - 19968: jis0212<<14 | 0x34<<7 | 0x41,
+ 32836 - 19968: jis0212<<14 | 0x34<<7 | 0x42,
+ 32838 - 19968: jis0208<<14 | 0x45<<7 | 0x38,
+ 32842 - 19968: jis0208<<14 | 0x45<<7 | 0x37,
+ 32850 - 19968: jis0208<<14 | 0x45<<7 | 0x39,
+ 32854 - 19968: jis0208<<14 | 0x1F<<7 | 0x1A,
+ 32856 - 19968: jis0208<<14 | 0x45<<7 | 0x3A,
+ 32858 - 19968: jis0208<<14 | 0x45<<7 | 0x3B,
+ 32862 - 19968: jis0208<<14 | 0x29<<7 | 0x18,
+ 32863 - 19968: jis0208<<14 | 0x45<<7 | 0x3C,
+ 32864 - 19968: jis0212<<14 | 0x34<<7 | 0x43,
+ 32865 - 19968: jis0208<<14 | 0x20<<7 | 0x4E,
+ 32866 - 19968: jis0208<<14 | 0x45<<7 | 0x3D,
+ 32868 - 19968: jis0212<<14 | 0x34<<7 | 0x44,
+ 32870 - 19968: jis0212<<14 | 0x34<<7 | 0x45,
+ 32872 - 19968: jis0208<<14 | 0x45<<7 | 0x3E,
+ 32877 - 19968: jis0212<<14 | 0x34<<7 | 0x46,
+ 32879 - 19968: jis0208<<14 | 0x2D<<7 | 0x5D,
+ 32880 - 19968: jis0208<<14 | 0x45<<7 | 0x41,
+ 32881 - 19968: jis0212<<14 | 0x34<<7 | 0x47,
+ 32882 - 19968: jis0208<<14 | 0x45<<7 | 0x40,
+ 32883 - 19968: jis0208<<14 | 0x45<<7 | 0x3F,
+ 32884 - 19968: jis0208<<14 | 0x23<<7 | 0x0F,
+ 32885 - 19968: jis0212<<14 | 0x34<<7 | 0x48,
+ 32886 - 19968: jis0208<<14 | 0x45<<7 | 0x42,
+ 32887 - 19968: jis0208<<14 | 0x1E<<7 | 0x05,
+ 32889 - 19968: jis0208<<14 | 0x45<<7 | 0x43,
+ 32893 - 19968: jis0208<<14 | 0x45<<7 | 0x44,
+ 32894 - 19968: jis0208<<14 | 0x2E<<7 | 0x17,
+ 32895 - 19968: jis0208<<14 | 0x45<<7 | 0x45,
+ 32897 - 19968: jis0212<<14 | 0x34<<7 | 0x49,
+ 32900 - 19968: jis0208<<14 | 0x45<<7 | 0x46,
+ 32901 - 19968: jis0208<<14 | 0x45<<7 | 0x48,
+ 32902 - 19968: jis0208<<14 | 0x45<<7 | 0x47,
+ 32903 - 19968: jis0208<<14 | 0x27<<7 | 0x04,
+ 32904 - 19968: jis0212<<14 | 0x34<<7 | 0x4A,
+ 32905 - 19968: jis0208<<14 | 0x25<<7 | 0x58,
+ 32907 - 19968: jis0208<<14 | 0x2E<<7 | 0x1D,
+ 32908 - 19968: jis0208<<14 | 0x27<<7 | 0x08,
+ 32910 - 19968: jis0212<<14 | 0x34<<7 | 0x4B,
+ 32915 - 19968: jis0208<<14 | 0x45<<7 | 0x4A,
+ 32918 - 19968: jis0208<<14 | 0x1D<<7 | 0x32,
+ 32920 - 19968: jis0208<<14 | 0x28<<7 | 0x09,
+ 32922 - 19968: jis0208<<14 | 0x45<<7 | 0x4B,
+ 32923 - 19968: jis0208<<14 | 0x45<<7 | 0x49,
+ 32924 - 19968: jis0212<<14 | 0x34<<7 | 0x4C,
+ 32925 - 19968: jis0208<<14 | 0x13<<7 | 0x2D,
+ 32926 - 19968: jis0212<<14 | 0x34<<7 | 0x4D,
+ 32929 - 19968: jis0208<<14 | 0x17<<7 | 0x33,
+ 32930 - 19968: jis0208<<14 | 0x1A<<7 | 0x47,
+ 32933 - 19968: jis0208<<14 | 0x27<<7 | 0x4D,
+ 32934 - 19968: jis0212<<14 | 0x34<<7 | 0x4E,
+ 32935 - 19968: jis0212<<14 | 0x34<<7 | 0x4F,
+ 32937 - 19968: jis0208<<14 | 0x17<<7 | 0x09,
+ 32938 - 19968: jis0208<<14 | 0x2A<<7 | 0x22,
+ 32939 - 19968: jis0212<<14 | 0x34<<7 | 0x50,
+ 32940 - 19968: jis0208<<14 | 0x45<<7 | 0x4E,
+ 32941 - 19968: jis0208<<14 | 0x45<<7 | 0x4C,
+ 32943 - 19968: jis0208<<14 | 0x18<<7 | 0x2D,
+ 32945 - 19968: jis0208<<14 | 0x18<<7 | 0x2E,
+ 32946 - 19968: jis0208<<14 | 0x0F<<7 | 0x48,
+ 32948 - 19968: jis0208<<14 | 0x19<<7 | 0x47,
+ 32952 - 19968: jis0212<<14 | 0x34<<7 | 0x51,
+ 32953 - 19968: jis0212<<14 | 0x34<<7 | 0x52,
+ 32954 - 19968: jis0208<<14 | 0x26<<7 | 0x38,
+ 32963 - 19968: jis0208<<14 | 0x0F<<7 | 0x3E,
+ 32964 - 19968: jis0208<<14 | 0x45<<7 | 0x53,
+ 32966 - 19968: jis0208<<14 | 0x22<<7 | 0x1F,
+ 32968 - 19968: jis0212<<14 | 0x34<<7 | 0x53,
+ 32972 - 19968: jis0208<<14 | 0x26<<7 | 0x37,
+ 32973 - 19968: jis0212<<14 | 0x34<<7 | 0x54,
+ 32974 - 19968: jis0208<<14 | 0x21<<7 | 0x3A,
+ 32975 - 19968: jis0212<<14 | 0x34<<7 | 0x55,
+ 32978 - 19968: jis0212<<14 | 0x34<<7 | 0x56,
+ 32980 - 19968: jis0212<<14 | 0x34<<7 | 0x57,
+ 32981 - 19968: jis0212<<14 | 0x34<<7 | 0x58,
+ 32982 - 19968: jis0208<<14 | 0x45<<7 | 0x55,
+ 32983 - 19968: jis0212<<14 | 0x34<<7 | 0x59,
+ 32984 - 19968: jis0212<<14 | 0x34<<7 | 0x5A,
+ 32985 - 19968: jis0208<<14 | 0x45<<7 | 0x51,
+ 32986 - 19968: jis0208<<14 | 0x45<<7 | 0x54,
+ 32987 - 19968: jis0208<<14 | 0x45<<7 | 0x4F,
+ 32989 - 19968: jis0208<<14 | 0x45<<7 | 0x52,
+ 32990 - 19968: jis0208<<14 | 0x2A<<7 | 0x05,
+ 32992 - 19968: jis0212<<14 | 0x34<<7 | 0x5B,
+ 32993 - 19968: jis0208<<14 | 0x17<<7 | 0x34,
+ 32996 - 19968: jis0208<<14 | 0x0F<<7 | 0x5C,
+ 32997 - 19968: jis0208<<14 | 0x45<<7 | 0x50,
+ 33005 - 19968: jis0212<<14 | 0x34<<7 | 0x5C,
+ 33006 - 19968: jis0212<<14 | 0x34<<7 | 0x5D,
+ 33007 - 19968: jis0208<<14 | 0x45<<7 | 0x57,
+ 33008 - 19968: jis0212<<14 | 0x35<<7 | 0x00,
+ 33009 - 19968: jis0208<<14 | 0x45<<7 | 0x58,
+ 33010 - 19968: jis0212<<14 | 0x35<<7 | 0x01,
+ 33011 - 19968: jis0212<<14 | 0x35<<7 | 0x02,
+ 33012 - 19968: jis0208<<14 | 0x25<<7 | 0x18,
+ 33014 - 19968: jis0212<<14 | 0x35<<7 | 0x03,
+ 33016 - 19968: jis0208<<14 | 0x15<<7 | 0x1A,
+ 33017 - 19968: jis0212<<14 | 0x35<<7 | 0x04,
+ 33018 - 19968: jis0212<<14 | 0x35<<7 | 0x05,
+ 33020 - 19968: jis0208<<14 | 0x46<<7 | 0x05,
+ 33021 - 19968: jis0208<<14 | 0x26<<7 | 0x1C,
+ 33022 - 19968: jis0212<<14 | 0x35<<7 | 0x06,
+ 33026 - 19968: jis0208<<14 | 0x1A<<7 | 0x48,
+ 33027 - 19968: jis0212<<14 | 0x35<<7 | 0x07,
+ 33029 - 19968: jis0208<<14 | 0x15<<7 | 0x1B,
+ 33030 - 19968: jis0208<<14 | 0x1F<<7 | 0x27,
+ 33031 - 19968: jis0208<<14 | 0x2E<<7 | 0x25,
+ 33032 - 19968: jis0208<<14 | 0x2B<<7 | 0x0D,
+ 33033 - 19968: jis0208<<14 | 0x45<<7 | 0x56,
+ 33034 - 19968: jis0208<<14 | 0x1F<<7 | 0x33,
+ 33035 - 19968: jis0212<<14 | 0x35<<7 | 0x08,
+ 33046 - 19968: jis0212<<14 | 0x35<<7 | 0x09,
+ 33047 - 19968: jis0212<<14 | 0x35<<7 | 0x0A,
+ 33048 - 19968: jis0212<<14 | 0x35<<7 | 0x0B,
+ 33050 - 19968: jis0208<<14 | 0x14<<7 | 0x32,
+ 33051 - 19968: jis0208<<14 | 0x45<<7 | 0x59,
+ 33052 - 19968: jis0212<<14 | 0x35<<7 | 0x0C,
+ 33054 - 19968: jis0212<<14 | 0x35<<7 | 0x0D,
+ 33056 - 19968: jis0212<<14 | 0x35<<7 | 0x0E,
+ 33059 - 19968: jis0208<<14 | 0x45<<7 | 0x5B,
+ 33060 - 19968: jis0212<<14 | 0x35<<7 | 0x0F,
+ 33063 - 19968: jis0212<<14 | 0x35<<7 | 0x10,
+ 33065 - 19968: jis0208<<14 | 0x45<<7 | 0x5A,
+ 33068 - 19968: jis0212<<14 | 0x35<<7 | 0x11,
+ 33071 - 19968: jis0208<<14 | 0x45<<7 | 0x5C,
+ 33072 - 19968: jis0212<<14 | 0x35<<7 | 0x12,
+ 33073 - 19968: jis0208<<14 | 0x22<<7 | 0x05,
+ 33075 - 19968: jis0208<<14 | 0x26<<7 | 0x1D,
+ 33077 - 19968: jis0212<<14 | 0x35<<7 | 0x13,
+ 33081 - 19968: jis0208<<14 | 0x23<<7 | 0x10,
+ 33082 - 19968: jis0212<<14 | 0x35<<7 | 0x14,
+ 33084 - 19968: jis0212<<14 | 0x35<<7 | 0x15,
+ 33086 - 19968: jis0208<<14 | 0x46<<7 | 0x02,
+ 33093 - 19968: jis0212<<14 | 0x35<<7 | 0x16,
+ 33094 - 19968: jis0208<<14 | 0x46<<7 | 0x01,
+ 33095 - 19968: jis0212<<14 | 0x35<<7 | 0x17,
+ 33098 - 19968: jis0212<<14 | 0x35<<7 | 0x18,
+ 33099 - 19968: jis0208<<14 | 0x45<<7 | 0x5D,
+ 33100 - 19968: jis0212<<14 | 0x35<<7 | 0x19,
+ 33102 - 19968: jis0208<<14 | 0x1E<<7 | 0x34,
+ 33104 - 19968: jis0208<<14 | 0x28<<7 | 0x44,
+ 33105 - 19968: jis0208<<14 | 0x46<<7 | 0x04,
+ 33106 - 19968: jis0212<<14 | 0x35<<7 | 0x1A,
+ 33107 - 19968: jis0208<<14 | 0x46<<7 | 0x03,
+ 33108 - 19968: jis0208<<14 | 0x18<<7 | 0x2F,
+ 33109 - 19968: jis0208<<14 | 0x2E<<7 | 0x32,
+ 33111 - 19968: jis0212<<14 | 0x35<<7 | 0x1B,
+ 33119 - 19968: jis0208<<14 | 0x46<<7 | 0x14,
+ 33120 - 19968: jis0212<<14 | 0x35<<7 | 0x1C,
+ 33121 - 19968: jis0212<<14 | 0x35<<7 | 0x1D,
+ 33125 - 19968: jis0208<<14 | 0x46<<7 | 0x08,
+ 33126 - 19968: jis0208<<14 | 0x46<<7 | 0x09,
+ 33127 - 19968: jis0212<<14 | 0x35<<7 | 0x1E,
+ 33128 - 19968: jis0212<<14 | 0x35<<7 | 0x1F,
+ 33129 - 19968: jis0212<<14 | 0x35<<7 | 0x20,
+ 33131 - 19968: jis0208<<14 | 0x1B<<7 | 0x4F,
+ 33133 - 19968: jis0212<<14 | 0x35<<7 | 0x21,
+ 33134 - 19968: jis0208<<14 | 0x46<<7 | 0x07,
+ 33135 - 19968: jis0212<<14 | 0x35<<7 | 0x22,
+ 33136 - 19968: jis0208<<14 | 0x18<<7 | 0x57,
+ 33137 - 19968: jis0208<<14 | 0x46<<7 | 0x06,
+ 33140 - 19968: jis0208<<14 | 0x46<<7 | 0x0A,
+ 33143 - 19968: jis0212<<14 | 0x35<<7 | 0x23,
+ 33144 - 19968: jis0208<<14 | 0x23<<7 | 0x11,
+ 33145 - 19968: jis0208<<14 | 0x29<<7 | 0x01,
+ 33146 - 19968: jis0208<<14 | 0x20<<7 | 0x02,
+ 33151 - 19968: jis0208<<14 | 0x21<<7 | 0x3B,
+ 33152 - 19968: jis0208<<14 | 0x46<<7 | 0x0E,
+ 33153 - 19968: jis0212<<14 | 0x35<<7 | 0x24,
+ 33154 - 19968: jis0208<<14 | 0x46<<7 | 0x0F,
+ 33155 - 19968: jis0208<<14 | 0x46<<7 | 0x0B,
+ 33156 - 19968: jis0212<<14 | 0x35<<7 | 0x26,
+ 33157 - 19968: jis0212<<14 | 0x35<<7 | 0x27,
+ 33158 - 19968: jis0212<<14 | 0x35<<7 | 0x28,
+ 33160 - 19968: jis0208<<14 | 0x46<<7 | 0x0C,
+ 33162 - 19968: jis0208<<14 | 0x46<<7 | 0x0D,
+ 33163 - 19968: jis0212<<14 | 0x35<<7 | 0x29,
+ 33166 - 19968: jis0212<<14 | 0x35<<7 | 0x2A,
+ 33167 - 19968: jis0208<<14 | 0x18<<7 | 0x30,
+ 33168 - 19968: jis0212<<14 | 0x35<<7 | 0x25,
+ 33171 - 19968: jis0208<<14 | 0x46<<7 | 0x15,
+ 33173 - 19968: jis0208<<14 | 0x46<<7 | 0x11,
+ 33174 - 19968: jis0212<<14 | 0x35<<7 | 0x2B,
+ 33176 - 19968: jis0212<<14 | 0x35<<7 | 0x2C,
+ 33178 - 19968: jis0208<<14 | 0x28<<7 | 0x45,
+ 33179 - 19968: jis0212<<14 | 0x35<<7 | 0x2D,
+ 33180 - 19968: jis0208<<14 | 0x2A<<7 | 0x4B,
+ 33181 - 19968: jis0208<<14 | 0x28<<7 | 0x07,
+ 33182 - 19968: jis0212<<14 | 0x35<<7 | 0x2E,
+ 33184 - 19968: jis0208<<14 | 0x46<<7 | 0x10,
+ 33186 - 19968: jis0212<<14 | 0x35<<7 | 0x2F,
+ 33187 - 19968: jis0208<<14 | 0x46<<7 | 0x13,
+ 33188 - 19968: jis0208<<14 | 0x46<<7 | 0x12,
+ 33192 - 19968: jis0208<<14 | 0x2A<<7 | 0x23,
+ 33193 - 19968: jis0208<<14 | 0x46<<7 | 0x16,
+ 33198 - 19968: jis0212<<14 | 0x35<<7 | 0x30,
+ 33200 - 19968: jis0208<<14 | 0x46<<7 | 0x17,
+ 33202 - 19968: jis0212<<14 | 0x35<<7 | 0x31,
+ 33203 - 19968: jis0208<<14 | 0x20<<7 | 0x16,
+ 33204 - 19968: jis0212<<14 | 0x35<<7 | 0x32,
+ 33205 - 19968: jis0208<<14 | 0x46<<7 | 0x18,
+ 33208 - 19968: jis0208<<14 | 0x46<<7 | 0x1A,
+ 33210 - 19968: jis0208<<14 | 0x46<<7 | 0x1E,
+ 33211 - 19968: jis0212<<14 | 0x35<<7 | 0x33,
+ 33213 - 19968: jis0208<<14 | 0x46<<7 | 0x1B,
+ 33214 - 19968: jis0208<<14 | 0x46<<7 | 0x19,
+ 33215 - 19968: jis0208<<14 | 0x26<<7 | 0x1E,
+ 33216 - 19968: jis0208<<14 | 0x46<<7 | 0x1C,
+ 33218 - 19968: jis0208<<14 | 0x46<<7 | 0x1D,
+ 33219 - 19968: jis0212<<14 | 0x35<<7 | 0x35,
+ 33221 - 19968: jis0212<<14 | 0x35<<7 | 0x36,
+ 33222 - 19968: jis0208<<14 | 0x11<<7 | 0x11,
+ 33224 - 19968: jis0208<<14 | 0x46<<7 | 0x24,
+ 33225 - 19968: jis0208<<14 | 0x46<<7 | 0x1F,
+ 33226 - 19968: jis0212<<14 | 0x35<<7 | 0x37,
+ 33227 - 19968: jis0212<<14 | 0x35<<7 | 0x34,
+ 33229 - 19968: jis0208<<14 | 0x46<<7 | 0x20,
+ 33230 - 19968: jis0212<<14 | 0x35<<7 | 0x38,
+ 33231 - 19968: jis0212<<14 | 0x35<<7 | 0x39,
+ 33233 - 19968: jis0208<<14 | 0x46<<7 | 0x21,
+ 33235 - 19968: jis0208<<14 | 0x21<<7 | 0x00,
+ 33237 - 19968: jis0212<<14 | 0x35<<7 | 0x3A,
+ 33239 - 19968: jis0212<<14 | 0x35<<7 | 0x3B,
+ 33240 - 19968: jis0208<<14 | 0x46<<7 | 0x23,
+ 33241 - 19968: jis0208<<14 | 0x46<<7 | 0x22,
+ 33242 - 19968: jis0208<<14 | 0x46<<7 | 0x25,
+ 33243 - 19968: jis0212<<14 | 0x35<<7 | 0x3C,
+ 33245 - 19968: jis0212<<14 | 0x35<<7 | 0x3D,
+ 33246 - 19968: jis0212<<14 | 0x35<<7 | 0x3E,
+ 33247 - 19968: jis0208<<14 | 0x46<<7 | 0x26,
+ 33248 - 19968: jis0208<<14 | 0x46<<7 | 0x27,
+ 33249 - 19968: jis0212<<14 | 0x35<<7 | 0x3F,
+ 33251 - 19968: jis0208<<14 | 0x1E<<7 | 0x22,
+ 33252 - 19968: jis0212<<14 | 0x35<<7 | 0x40,
+ 33253 - 19968: jis0208<<14 | 0x11<<7 | 0x48,
+ 33255 - 19968: jis0208<<14 | 0x46<<7 | 0x28,
+ 33256 - 19968: jis0208<<14 | 0x2D<<7 | 0x36,
+ 33258 - 19968: jis0208<<14 | 0x1B<<7 | 0x0A,
+ 33259 - 19968: jis0212<<14 | 0x35<<7 | 0x41,
+ 33260 - 19968: jis0212<<14 | 0x35<<7 | 0x42,
+ 33261 - 19968: jis0208<<14 | 0x1C<<7 | 0x0C,
+ 33264 - 19968: jis0212<<14 | 0x35<<7 | 0x43,
+ 33265 - 19968: jis0212<<14 | 0x35<<7 | 0x44,
+ 33266 - 19968: jis0212<<14 | 0x35<<7 | 0x45,
+ 33267 - 19968: jis0208<<14 | 0x1A<<7 | 0x49,
+ 33268 - 19968: jis0208<<14 | 0x22<<7 | 0x36,
+ 33269 - 19968: jis0212<<14 | 0x35<<7 | 0x46,
+ 33270 - 19968: jis0212<<14 | 0x35<<7 | 0x47,
+ 33272 - 19968: jis0212<<14 | 0x35<<7 | 0x48,
+ 33273 - 19968: jis0212<<14 | 0x35<<7 | 0x49,
+ 33274 - 19968: jis0208<<14 | 0x46<<7 | 0x29,
+ 33275 - 19968: jis0208<<14 | 0x46<<7 | 0x2A,
+ 33276 - 19968: jis0208<<14 | 0x10<<7 | 0x10,
+ 33277 - 19968: jis0212<<14 | 0x35<<7 | 0x4A,
+ 33278 - 19968: jis0208<<14 | 0x46<<7 | 0x2B,
+ 33279 - 19968: jis0212<<14 | 0x35<<7 | 0x4B,
+ 33280 - 19968: jis0212<<14 | 0x35<<7 | 0x4C,
+ 33281 - 19968: jis0208<<14 | 0x46<<7 | 0x2C,
+ 33282 - 19968: jis0208<<14 | 0x46<<7 | 0x2D,
+ 33283 - 19968: jis0212<<14 | 0x35<<7 | 0x4D,
+ 33285 - 19968: jis0208<<14 | 0x46<<7 | 0x2E,
+ 33287 - 19968: jis0208<<14 | 0x46<<7 | 0x2F,
+ 33288 - 19968: jis0208<<14 | 0x15<<7 | 0x1C,
+ 33289 - 19968: jis0208<<14 | 0x39<<7 | 0x09,
+ 33290 - 19968: jis0208<<14 | 0x46<<7 | 0x30,
+ 33292 - 19968: jis0208<<14 | 0x1F<<7 | 0x44,
+ 33293 - 19968: jis0208<<14 | 0x46<<7 | 0x31,
+ 33294 - 19968: jis0208<<14 | 0x1B<<7 | 0x2A,
+ 33295 - 19968: jis0212<<14 | 0x35<<7 | 0x4E,
+ 33296 - 19968: jis0208<<14 | 0x46<<7 | 0x32,
+ 33298 - 19968: jis0208<<14 | 0x2F<<7 | 0x0F,
+ 33299 - 19968: jis0212<<14 | 0x35<<7 | 0x4F,
+ 33300 - 19968: jis0212<<14 | 0x35<<7 | 0x50,
+ 33302 - 19968: jis0208<<14 | 0x46<<7 | 0x33,
+ 33303 - 19968: jis0208<<14 | 0x29<<7 | 0x3D,
+ 33304 - 19968: jis0208<<14 | 0x13<<7 | 0x3B,
+ 33305 - 19968: jis0212<<14 | 0x35<<7 | 0x51,
+ 33306 - 19968: jis0212<<14 | 0x35<<7 | 0x52,
+ 33307 - 19968: jis0208<<14 | 0x20<<7 | 0x03,
+ 33308 - 19968: jis0208<<14 | 0x1C<<7 | 0x37,
+ 33309 - 19968: jis0212<<14 | 0x35<<7 | 0x53,
+ 33310 - 19968: jis0208<<14 | 0x28<<7 | 0x50,
+ 33311 - 19968: jis0208<<14 | 0x1C<<7 | 0x0D,
+ 33313 - 19968: jis0212<<14 | 0x35<<7 | 0x54,
+ 33314 - 19968: jis0212<<14 | 0x35<<7 | 0x55,
+ 33320 - 19968: jis0212<<14 | 0x35<<7 | 0x56,
+ 33321 - 19968: jis0208<<14 | 0x46<<7 | 0x34,
+ 33322 - 19968: jis0208<<14 | 0x18<<7 | 0x31,
+ 33323 - 19968: jis0208<<14 | 0x46<<7 | 0x35,
+ 33324 - 19968: jis0208<<14 | 0x27<<7 | 0x2B,
+ 33326 - 19968: jis0208<<14 | 0x46<<7 | 0x43,
+ 33330 - 19968: jis0212<<14 | 0x35<<7 | 0x57,
+ 33331 - 19968: jis0208<<14 | 0x46<<7 | 0x37,
+ 33332 - 19968: jis0212<<14 | 0x35<<7 | 0x58,
+ 33333 - 19968: jis0208<<14 | 0x21<<7 | 0x28,
+ 33334 - 19968: jis0208<<14 | 0x26<<7 | 0x54,
+ 33335 - 19968: jis0208<<14 | 0x17<<7 | 0x1E,
+ 33336 - 19968: jis0208<<14 | 0x46<<7 | 0x36,
+ 33337 - 19968: jis0208<<14 | 0x20<<7 | 0x04,
+ 33338 - 19968: jis0212<<14 | 0x35<<7 | 0x59,
+ 33344 - 19968: jis0208<<14 | 0x46<<7 | 0x38,
+ 33347 - 19968: jis0212<<14 | 0x35<<7 | 0x5A,
+ 33348 - 19968: jis0212<<14 | 0x35<<7 | 0x5B,
+ 33349 - 19968: jis0212<<14 | 0x35<<7 | 0x5C,
+ 33350 - 19968: jis0212<<14 | 0x35<<7 | 0x5D,
+ 33351 - 19968: jis0208<<14 | 0x23<<7 | 0x59,
+ 33355 - 19968: jis0212<<14 | 0x36<<7 | 0x00,
+ 33358 - 19968: jis0212<<14 | 0x36<<7 | 0x01,
+ 33359 - 19968: jis0212<<14 | 0x36<<7 | 0x02,
+ 33361 - 19968: jis0212<<14 | 0x36<<7 | 0x03,
+ 33366 - 19968: jis0212<<14 | 0x36<<7 | 0x04,
+ 33368 - 19968: jis0208<<14 | 0x46<<7 | 0x3A,
+ 33369 - 19968: jis0208<<14 | 0x46<<7 | 0x39,
+ 33370 - 19968: jis0208<<14 | 0x46<<7 | 0x3C,
+ 33372 - 19968: jis0212<<14 | 0x36<<7 | 0x05,
+ 33373 - 19968: jis0208<<14 | 0x46<<7 | 0x3B,
+ 33375 - 19968: jis0208<<14 | 0x46<<7 | 0x3D,
+ 33376 - 19968: jis0212<<14 | 0x36<<7 | 0x06,
+ 33378 - 19968: jis0208<<14 | 0x46<<7 | 0x3F,
+ 33379 - 19968: jis0212<<14 | 0x36<<7 | 0x07,
+ 33380 - 19968: jis0208<<14 | 0x46<<7 | 0x3E,
+ 33382 - 19968: jis0208<<14 | 0x13<<7 | 0x2E,
+ 33383 - 19968: jis0212<<14 | 0x36<<7 | 0x08,
+ 33384 - 19968: jis0208<<14 | 0x46<<7 | 0x40,
+ 33386 - 19968: jis0208<<14 | 0x46<<7 | 0x41,
+ 33387 - 19968: jis0208<<14 | 0x46<<7 | 0x42,
+ 33389 - 19968: jis0212<<14 | 0x36<<7 | 0x09,
+ 33390 - 19968: jis0208<<14 | 0x19<<7 | 0x10,
+ 33391 - 19968: jis0208<<14 | 0x2D<<7 | 0x28,
+ 33393 - 19968: jis0208<<14 | 0x46<<7 | 0x44,
+ 33394 - 19968: jis0208<<14 | 0x1E<<7 | 0x06,
+ 33396 - 19968: jis0212<<14 | 0x36<<7 | 0x0A,
+ 33398 - 19968: jis0208<<14 | 0x10<<7 | 0x4F,
+ 33399 - 19968: jis0208<<14 | 0x46<<7 | 0x45,
+ 33400 - 19968: jis0208<<14 | 0x46<<7 | 0x46,
+ 33403 - 19968: jis0212<<14 | 0x36<<7 | 0x0B,
+ 33405 - 19968: jis0212<<14 | 0x36<<7 | 0x0C,
+ 33406 - 19968: jis0208<<14 | 0x46<<7 | 0x47,
+ 33407 - 19968: jis0212<<14 | 0x36<<7 | 0x0D,
+ 33408 - 19968: jis0212<<14 | 0x36<<7 | 0x0E,
+ 33409 - 19968: jis0212<<14 | 0x36<<7 | 0x0F,
+ 33411 - 19968: jis0212<<14 | 0x36<<7 | 0x10,
+ 33412 - 19968: jis0212<<14 | 0x36<<7 | 0x11,
+ 33415 - 19968: jis0212<<14 | 0x36<<7 | 0x12,
+ 33417 - 19968: jis0212<<14 | 0x36<<7 | 0x13,
+ 33418 - 19968: jis0212<<14 | 0x36<<7 | 0x14,
+ 33419 - 19968: jis0208<<14 | 0x0F<<7 | 0x51,
+ 33421 - 19968: jis0208<<14 | 0x46<<7 | 0x48,
+ 33422 - 19968: jis0212<<14 | 0x36<<7 | 0x15,
+ 33425 - 19968: jis0212<<14 | 0x36<<7 | 0x16,
+ 33426 - 19968: jis0208<<14 | 0x46<<7 | 0x49,
+ 33428 - 19968: jis0212<<14 | 0x36<<7 | 0x17,
+ 33430 - 19968: jis0212<<14 | 0x36<<7 | 0x18,
+ 33432 - 19968: jis0212<<14 | 0x36<<7 | 0x19,
+ 33433 - 19968: jis0208<<14 | 0x28<<7 | 0x46,
+ 33434 - 19968: jis0212<<14 | 0x36<<7 | 0x1A,
+ 33435 - 19968: jis0212<<14 | 0x36<<7 | 0x1B,
+ 33437 - 19968: jis0208<<14 | 0x1B<<7 | 0x26,
+ 33439 - 19968: jis0208<<14 | 0x46<<7 | 0x4B,
+ 33440 - 19968: jis0212<<14 | 0x36<<7 | 0x1C,
+ 33441 - 19968: jis0212<<14 | 0x36<<7 | 0x1D,
+ 33443 - 19968: jis0212<<14 | 0x36<<7 | 0x1E,
+ 33444 - 19968: jis0212<<14 | 0x36<<7 | 0x1F,
+ 33445 - 19968: jis0208<<14 | 0x12<<7 | 0x08,
+ 33446 - 19968: jis0208<<14 | 0x0F<<7 | 0x11,
+ 33447 - 19968: jis0212<<14 | 0x36<<7 | 0x20,
+ 33448 - 19968: jis0212<<14 | 0x36<<7 | 0x21,
+ 33449 - 19968: jis0212<<14 | 0x36<<7 | 0x22,
+ 33450 - 19968: jis0212<<14 | 0x36<<7 | 0x23,
+ 33451 - 19968: jis0208<<14 | 0x46<<7 | 0x4A,
+ 33452 - 19968: jis0208<<14 | 0x46<<7 | 0x4D,
+ 33453 - 19968: jis0208<<14 | 0x26<<7 | 0x2D,
+ 33454 - 19968: jis0212<<14 | 0x36<<7 | 0x24,
+ 33455 - 19968: jis0208<<14 | 0x1E<<7 | 0x23,
+ 33456 - 19968: jis0212<<14 | 0x36<<7 | 0x25,
+ 33457 - 19968: jis0208<<14 | 0x11<<7 | 0x35,
+ 33458 - 19968: jis0212<<14 | 0x36<<7 | 0x26,
+ 33459 - 19968: jis0208<<14 | 0x2A<<7 | 0x06,
+ 33460 - 19968: jis0212<<14 | 0x36<<7 | 0x27,
+ 33463 - 19968: jis0212<<14 | 0x36<<7 | 0x28,
+ 33464 - 19968: jis0208<<14 | 0x16<<7 | 0x3C,
+ 33465 - 19968: jis0208<<14 | 0x15<<7 | 0x3B,
+ 33466 - 19968: jis0212<<14 | 0x36<<7 | 0x29,
+ 33467 - 19968: jis0208<<14 | 0x46<<7 | 0x4C,
+ 33468 - 19968: jis0212<<14 | 0x36<<7 | 0x2A,
+ 33469 - 19968: jis0208<<14 | 0x11<<7 | 0x49,
+ 33470 - 19968: jis0212<<14 | 0x36<<7 | 0x2B,
+ 33471 - 19968: jis0212<<14 | 0x36<<7 | 0x2C,
+ 33477 - 19968: jis0208<<14 | 0x13<<7 | 0x02,
+ 33478 - 19968: jis0212<<14 | 0x36<<7 | 0x2D,
+ 33488 - 19968: jis0212<<14 | 0x36<<7 | 0x2E,
+ 33489 - 19968: jis0208<<14 | 0x10<<7 | 0x50,
+ 33490 - 19968: jis0208<<14 | 0x46<<7 | 0x51,
+ 33491 - 19968: jis0208<<14 | 0x2D<<7 | 0x49,
+ 33492 - 19968: jis0208<<14 | 0x21<<7 | 0x3C,
+ 33493 - 19968: jis0212<<14 | 0x36<<7 | 0x2F,
+ 33495 - 19968: jis0208<<14 | 0x28<<7 | 0x23,
+ 33497 - 19968: jis0208<<14 | 0x46<<7 | 0x5D,
+ 33498 - 19968: jis0212<<14 | 0x36<<7 | 0x30,
+ 33499 - 19968: jis0208<<14 | 0x11<<7 | 0x36,
+ 33500 - 19968: jis0208<<14 | 0x46<<7 | 0x5B,
+ 33502 - 19968: jis0208<<14 | 0x46<<7 | 0x59,
+ 33503 - 19968: jis0208<<14 | 0x46<<7 | 0x50,
+ 33504 - 19968: jis0212<<14 | 0x36<<7 | 0x31,
+ 33505 - 19968: jis0208<<14 | 0x46<<7 | 0x4E,
+ 33506 - 19968: jis0212<<14 | 0x36<<7 | 0x32,
+ 33507 - 19968: jis0208<<14 | 0x46<<7 | 0x4F,
+ 33508 - 19968: jis0212<<14 | 0x36<<7 | 0x33,
+ 33509 - 19968: jis0208<<14 | 0x1B<<7 | 0x42,
+ 33510 - 19968: jis0208<<14 | 0x15<<7 | 0x4B,
+ 33511 - 19968: jis0208<<14 | 0x22<<7 | 0x56,
+ 33512 - 19968: jis0212<<14 | 0x36<<7 | 0x34,
+ 33514 - 19968: jis0212<<14 | 0x36<<7 | 0x35,
+ 33515 - 19968: jis0208<<14 | 0x25<<7 | 0x30,
+ 33517 - 19968: jis0212<<14 | 0x36<<7 | 0x36,
+ 33519 - 19968: jis0212<<14 | 0x36<<7 | 0x37,
+ 33521 - 19968: jis0208<<14 | 0x10<<7 | 0x30,
+ 33523 - 19968: jis0208<<14 | 0x46<<7 | 0x53,
+ 33524 - 19968: jis0208<<14 | 0x46<<7 | 0x52,
+ 33526 - 19968: jis0212<<14 | 0x36<<7 | 0x38,
+ 33527 - 19968: jis0212<<14 | 0x36<<7 | 0x39,
+ 33529 - 19968: jis0208<<14 | 0x46<<7 | 0x58,
+ 33530 - 19968: jis0208<<14 | 0x46<<7 | 0x54,
+ 33531 - 19968: jis0208<<14 | 0x46<<7 | 0x57,
+ 33533 - 19968: jis0212<<14 | 0x36<<7 | 0x3A,
+ 33534 - 19968: jis0212<<14 | 0x36<<7 | 0x3B,
+ 33536 - 19968: jis0212<<14 | 0x36<<7 | 0x3C,
+ 33537 - 19968: jis0208<<14 | 0x5A<<7 | 0x36,
+ 33538 - 19968: jis0208<<14 | 0x2B<<7 | 0x2F,
+ 33539 - 19968: jis0208<<14 | 0x46<<7 | 0x56,
+ 33540 - 19968: jis0208<<14 | 0x11<<7 | 0x37,
+ 33541 - 19968: jis0208<<14 | 0x12<<7 | 0x5C,
+ 33542 - 19968: jis0208<<14 | 0x46<<7 | 0x5A,
+ 33543 - 19968: jis0212<<14 | 0x36<<7 | 0x3E,
+ 33544 - 19968: jis0212<<14 | 0x36<<7 | 0x3F,
+ 33545 - 19968: jis0208<<14 | 0x46<<7 | 0x5C,
+ 33546 - 19968: jis0212<<14 | 0x36<<7 | 0x40,
+ 33547 - 19968: jis0212<<14 | 0x36<<7 | 0x41,
+ 33550 - 19968: jis0208<<14 | 0x16<<7 | 0x33,
+ 33558 - 19968: jis0208<<14 | 0x47<<7 | 0x02,
+ 33559 - 19968: jis0208<<14 | 0x47<<7 | 0x0B,
+ 33560 - 19968: jis0208<<14 | 0x47<<7 | 0x0C,
+ 33563 - 19968: jis0212<<14 | 0x36<<7 | 0x43,
+ 33564 - 19968: jis0208<<14 | 0x0F<<7 | 0x0A,
+ 33565 - 19968: jis0212<<14 | 0x36<<7 | 0x44,
+ 33566 - 19968: jis0212<<14 | 0x36<<7 | 0x45,
+ 33567 - 19968: jis0212<<14 | 0x36<<7 | 0x46,
+ 33569 - 19968: jis0212<<14 | 0x36<<7 | 0x47,
+ 33570 - 19968: jis0212<<14 | 0x36<<7 | 0x48,
+ 33571 - 19968: jis0208<<14 | 0x47<<7 | 0x13,
+ 33576 - 19968: jis0208<<14 | 0x0F<<7 | 0x50,
+ 33579 - 19968: jis0208<<14 | 0x47<<7 | 0x0A,
+ 33580 - 19968: jis0212<<14 | 0x36<<7 | 0x49,
+ 33581 - 19968: jis0212<<14 | 0x36<<7 | 0x4A,
+ 33582 - 19968: jis0212<<14 | 0x36<<7 | 0x4B,
+ 33583 - 19968: jis0208<<14 | 0x47<<7 | 0x09,
+ 33584 - 19968: jis0212<<14 | 0x36<<7 | 0x4C,
+ 33585 - 19968: jis0208<<14 | 0x47<<7 | 0x04,
+ 33586 - 19968: jis0208<<14 | 0x47<<7 | 0x03,
+ 33587 - 19968: jis0212<<14 | 0x36<<7 | 0x4D,
+ 33588 - 19968: jis0208<<14 | 0x47<<7 | 0x01,
+ 33589 - 19968: jis0208<<14 | 0x47<<7 | 0x00,
+ 33590 - 19968: jis0208<<14 | 0x22<<7 | 0x42,
+ 33591 - 19968: jis0212<<14 | 0x36<<7 | 0x4E,
+ 33592 - 19968: jis0208<<14 | 0x21<<7 | 0x5A,
+ 33593 - 19968: jis0208<<14 | 0x47<<7 | 0x06,
+ 33594 - 19968: jis0212<<14 | 0x36<<7 | 0x4F,
+ 33596 - 19968: jis0212<<14 | 0x36<<7 | 0x50,
+ 33597 - 19968: jis0212<<14 | 0x36<<7 | 0x51,
+ 33600 - 19968: jis0208<<14 | 0x47<<7 | 0x05,
+ 33602 - 19968: jis0212<<14 | 0x36<<7 | 0x52,
+ 33603 - 19968: jis0212<<14 | 0x36<<7 | 0x53,
+ 33604 - 19968: jis0212<<14 | 0x36<<7 | 0x54,
+ 33605 - 19968: jis0208<<14 | 0x47<<7 | 0x08,
+ 33607 - 19968: jis0212<<14 | 0x36<<7 | 0x55,
+ 33609 - 19968: jis0208<<14 | 0x20<<7 | 0x4F,
+ 33610 - 19968: jis0208<<14 | 0x16<<7 | 0x34,
+ 33613 - 19968: jis0212<<14 | 0x36<<7 | 0x56,
+ 33614 - 19968: jis0212<<14 | 0x36<<7 | 0x57,
+ 33615 - 19968: jis0208<<14 | 0x10<<7 | 0x20,
+ 33616 - 19968: jis0208<<14 | 0x47<<7 | 0x07,
+ 33617 - 19968: jis0212<<14 | 0x36<<7 | 0x58,
+ 33618 - 19968: jis0208<<14 | 0x18<<7 | 0x32,
+ 33619 - 19968: jis0212<<14 | 0x37<<7 | 0x1D,
+ 33620 - 19968: jis0212<<14 | 0x36<<7 | 0x42,
+ 33621 - 19968: jis0212<<14 | 0x36<<7 | 0x59,
+ 33622 - 19968: jis0212<<14 | 0x36<<7 | 0x5A,
+ 33623 - 19968: jis0212<<14 | 0x36<<7 | 0x5B,
+ 33624 - 19968: jis0208<<14 | 0x20<<7 | 0x50,
+ 33634 - 19968: jis0208<<14 | 0x5A<<7 | 0x37,
+ 33648 - 19968: jis0212<<14 | 0x36<<7 | 0x5C,
+ 33651 - 19968: jis0208<<14 | 0x47<<7 | 0x19,
+ 33653 - 19968: jis0208<<14 | 0x47<<7 | 0x1A,
+ 33655 - 19968: jis0208<<14 | 0x11<<7 | 0x38,
+ 33656 - 19968: jis0212<<14 | 0x36<<7 | 0x5D,
+ 33659 - 19968: jis0208<<14 | 0x11<<7 | 0x0D,
+ 33660 - 19968: jis0208<<14 | 0x47<<7 | 0x17,
+ 33661 - 19968: jis0212<<14 | 0x37<<7 | 0x00,
+ 33663 - 19968: jis0208<<14 | 0x5A<<7 | 0x38,
+ 33664 - 19968: jis0212<<14 | 0x37<<7 | 0x02,
+ 33666 - 19968: jis0212<<14 | 0x37<<7 | 0x03,
+ 33668 - 19968: jis0212<<14 | 0x37<<7 | 0x04,
+ 33669 - 19968: jis0208<<14 | 0x47<<7 | 0x0D,
+ 33670 - 19968: jis0212<<14 | 0x37<<7 | 0x05,
+ 33671 - 19968: jis0208<<14 | 0x47<<7 | 0x15,
+ 33673 - 19968: jis0208<<14 | 0x47<<7 | 0x1C,
+ 33674 - 19968: jis0208<<14 | 0x47<<7 | 0x16,
+ 33677 - 19968: jis0212<<14 | 0x37<<7 | 0x06,
+ 33678 - 19968: jis0208<<14 | 0x47<<7 | 0x14,
+ 33682 - 19968: jis0212<<14 | 0x37<<7 | 0x07,
+ 33683 - 19968: jis0208<<14 | 0x46<<7 | 0x55,
+ 33684 - 19968: jis0212<<14 | 0x37<<7 | 0x08,
+ 33685 - 19968: jis0212<<14 | 0x37<<7 | 0x09,
+ 33686 - 19968: jis0208<<14 | 0x47<<7 | 0x12,
+ 33688 - 19968: jis0212<<14 | 0x37<<7 | 0x0A,
+ 33689 - 19968: jis0212<<14 | 0x37<<7 | 0x0B,
+ 33690 - 19968: jis0208<<14 | 0x47<<7 | 0x0E,
+ 33691 - 19968: jis0212<<14 | 0x37<<7 | 0x0C,
+ 33692 - 19968: jis0212<<14 | 0x37<<7 | 0x0D,
+ 33693 - 19968: jis0212<<14 | 0x37<<7 | 0x0E,
+ 33694 - 19968: jis0208<<14 | 0x13<<7 | 0x2F,
+ 33695 - 19968: jis0208<<14 | 0x47<<7 | 0x10,
+ 33696 - 19968: jis0208<<14 | 0x47<<7 | 0x1B,
+ 33698 - 19968: jis0208<<14 | 0x47<<7 | 0x11,
+ 33702 - 19968: jis0212<<14 | 0x37<<7 | 0x0F,
+ 33703 - 19968: jis0212<<14 | 0x37<<7 | 0x10,
+ 33704 - 19968: jis0208<<14 | 0x47<<7 | 0x1D,
+ 33705 - 19968: jis0212<<14 | 0x37<<7 | 0x11,
+ 33706 - 19968: jis0208<<14 | 0x47<<7 | 0x0F,
+ 33707 - 19968: jis0208<<14 | 0x26<<7 | 0x5B,
+ 33708 - 19968: jis0212<<14 | 0x37<<7 | 0x12,
+ 33709 - 19968: jis0212<<14 | 0x37<<7 | 0x2B,
+ 33713 - 19968: jis0208<<14 | 0x2C<<7 | 0x48,
+ 33717 - 19968: jis0208<<14 | 0x47<<7 | 0x18,
+ 33725 - 19968: jis0208<<14 | 0x47<<7 | 0x2E,
+ 33726 - 19968: jis0212<<14 | 0x37<<7 | 0x13,
+ 33727 - 19968: jis0212<<14 | 0x37<<7 | 0x14,
+ 33728 - 19968: jis0212<<14 | 0x37<<7 | 0x15,
+ 33729 - 19968: jis0208<<14 | 0x47<<7 | 0x26,
+ 33733 - 19968: jis0208<<14 | 0x1E<<7 | 0x5A,
+ 33735 - 19968: jis0208<<14 | 0x5A<<7 | 0x39,
+ 33737 - 19968: jis0212<<14 | 0x37<<7 | 0x17,
+ 33738 - 19968: jis0208<<14 | 0x14<<7 | 0x25,
+ 33740 - 19968: jis0208<<14 | 0x15<<7 | 0x3C,
+ 33742 - 19968: jis0208<<14 | 0x47<<7 | 0x21,
+ 33743 - 19968: jis0212<<14 | 0x37<<7 | 0x18,
+ 33744 - 19968: jis0212<<14 | 0x37<<7 | 0x19,
+ 33745 - 19968: jis0212<<14 | 0x37<<7 | 0x1A,
+ 33747 - 19968: jis0208<<14 | 0x11<<7 | 0x3A,
+ 33748 - 19968: jis0212<<14 | 0x37<<7 | 0x1B,
+ 33750 - 19968: jis0208<<14 | 0x1D<<7 | 0x33,
+ 33752 - 19968: jis0208<<14 | 0x47<<7 | 0x24,
+ 33756 - 19968: jis0208<<14 | 0x19<<7 | 0x39,
+ 33757 - 19968: jis0212<<14 | 0x37<<7 | 0x1C,
+ 33759 - 19968: jis0208<<14 | 0x24<<7 | 0x30,
+ 33760 - 19968: jis0208<<14 | 0x47<<7 | 0x29,
+ 33768 - 19968: jis0212<<14 | 0x37<<7 | 0x1E,
+ 33769 - 19968: jis0208<<14 | 0x29<<7 | 0x4D,
+ 33770 - 19968: jis0212<<14 | 0x37<<7 | 0x1F,
+ 33771 - 19968: jis0208<<14 | 0x47<<7 | 0x20,
+ 33775 - 19968: jis0208<<14 | 0x11<<7 | 0x39,
+ 33776 - 19968: jis0208<<14 | 0x17<<7 | 0x35,
+ 33777 - 19968: jis0208<<14 | 0x28<<7 | 0x08,
+ 33778 - 19968: jis0208<<14 | 0x47<<7 | 0x2A,
+ 33780 - 19968: jis0208<<14 | 0x47<<7 | 0x1E,
+ 33782 - 19968: jis0208<<14 | 0x5A<<7 | 0x3A,
+ 33783 - 19968: jis0208<<14 | 0x47<<7 | 0x27,
+ 33784 - 19968: jis0212<<14 | 0x37<<7 | 0x21,
+ 33785 - 19968: jis0212<<14 | 0x37<<7 | 0x22,
+ 33787 - 19968: jis0208<<14 | 0x47<<7 | 0x31,
+ 33788 - 19968: jis0212<<14 | 0x37<<7 | 0x23,
+ 33789 - 19968: jis0208<<14 | 0x47<<7 | 0x22,
+ 33793 - 19968: jis0212<<14 | 0x37<<7 | 0x24,
+ 33795 - 19968: jis0208<<14 | 0x47<<7 | 0x23,
+ 33796 - 19968: jis0208<<14 | 0x25<<7 | 0x19,
+ 33798 - 19968: jis0212<<14 | 0x37<<7 | 0x25,
+ 33799 - 19968: jis0208<<14 | 0x47<<7 | 0x28,
+ 33802 - 19968: jis0212<<14 | 0x37<<7 | 0x26,
+ 33803 - 19968: jis0208<<14 | 0x47<<7 | 0x25,
+ 33804 - 19968: jis0208<<14 | 0x2A<<7 | 0x07,
+ 33805 - 19968: jis0208<<14 | 0x47<<7 | 0x2B,
+ 33806 - 19968: jis0208<<14 | 0x0F<<7 | 0x3F,
+ 33807 - 19968: jis0212<<14 | 0x37<<7 | 0x27,
+ 33809 - 19968: jis0212<<14 | 0x37<<7 | 0x28,
+ 33811 - 19968: jis0208<<14 | 0x47<<7 | 0x1F,
+ 33813 - 19968: jis0212<<14 | 0x37<<7 | 0x29,
+ 33817 - 19968: jis0212<<14 | 0x37<<7 | 0x2A,
+ 33824 - 19968: jis0208<<14 | 0x47<<7 | 0x2D,
+ 33826 - 19968: jis0208<<14 | 0x47<<7 | 0x2C,
+ 33833 - 19968: jis0208<<14 | 0x26<<7 | 0x4A,
+ 33834 - 19968: jis0208<<14 | 0x47<<7 | 0x33,
+ 33836 - 19968: jis0208<<14 | 0x47<<7 | 0x3E,
+ 33839 - 19968: jis0212<<14 | 0x37<<7 | 0x2C,
+ 33841 - 19968: jis0208<<14 | 0x12<<7 | 0x5D,
+ 33845 - 19968: jis0208<<14 | 0x47<<7 | 0x41,
+ 33848 - 19968: jis0208<<14 | 0x47<<7 | 0x2F,
+ 33849 - 19968: jis0212<<14 | 0x37<<7 | 0x2D,
+ 33852 - 19968: jis0208<<14 | 0x47<<7 | 0x34,
+ 33853 - 19968: jis0208<<14 | 0x2C<<7 | 0x4D,
+ 33861 - 19968: jis0212<<14 | 0x37<<7 | 0x2E,
+ 33862 - 19968: jis0208<<14 | 0x47<<7 | 0x3D,
+ 33863 - 19968: jis0212<<14 | 0x37<<7 | 0x2F,
+ 33864 - 19968: jis0208<<14 | 0x5A<<7 | 0x3B,
+ 33865 - 19968: jis0208<<14 | 0x2C<<7 | 0x34,
+ 33866 - 19968: jis0212<<14 | 0x37<<7 | 0x31,
+ 33869 - 19968: jis0212<<14 | 0x37<<7 | 0x32,
+ 33870 - 19968: jis0208<<14 | 0x2D<<7 | 0x09,
+ 33871 - 19968: jis0212<<14 | 0x37<<7 | 0x33,
+ 33873 - 19968: jis0212<<14 | 0x37<<7 | 0x34,
+ 33874 - 19968: jis0212<<14 | 0x37<<7 | 0x35,
+ 33878 - 19968: jis0212<<14 | 0x37<<7 | 0x36,
+ 33879 - 19968: jis0208<<14 | 0x22<<7 | 0x57,
+ 33880 - 19968: jis0212<<14 | 0x37<<7 | 0x37,
+ 33881 - 19968: jis0212<<14 | 0x37<<7 | 0x38,
+ 33882 - 19968: jis0212<<14 | 0x37<<7 | 0x39,
+ 33883 - 19968: jis0208<<14 | 0x12<<7 | 0x4A,
+ 33884 - 19968: jis0212<<14 | 0x37<<7 | 0x3A,
+ 33888 - 19968: jis0212<<14 | 0x37<<7 | 0x3B,
+ 33889 - 19968: jis0208<<14 | 0x28<<7 | 0x51,
+ 33890 - 19968: jis0208<<14 | 0x47<<7 | 0x43,
+ 33891 - 19968: jis0208<<14 | 0x25<<7 | 0x00,
+ 33892 - 19968: jis0212<<14 | 0x37<<7 | 0x3C,
+ 33893 - 19968: jis0212<<14 | 0x37<<7 | 0x3D,
+ 33894 - 19968: jis0208<<14 | 0x0F<<7 | 0x10,
+ 33895 - 19968: jis0212<<14 | 0x37<<7 | 0x3E,
+ 33897 - 19968: jis0208<<14 | 0x47<<7 | 0x3C,
+ 33898 - 19968: jis0212<<14 | 0x37<<7 | 0x3F,
+ 33899 - 19968: jis0208<<14 | 0x47<<7 | 0x38,
+ 33900 - 19968: jis0208<<14 | 0x20<<7 | 0x51,
+ 33901 - 19968: jis0208<<14 | 0x47<<7 | 0x32,
+ 33902 - 19968: jis0208<<14 | 0x47<<7 | 0x3A,
+ 33903 - 19968: jis0208<<14 | 0x47<<7 | 0x3F,
+ 33904 - 19968: jis0212<<14 | 0x37<<7 | 0x40,
+ 33905 - 19968: jis0208<<14 | 0x26<<7 | 0x0B,
+ 33907 - 19968: jis0212<<14 | 0x37<<7 | 0x41,
+ 33908 - 19968: jis0212<<14 | 0x37<<7 | 0x42,
+ 33909 - 19968: jis0208<<14 | 0x0F<<7 | 0x09,
+ 33910 - 19968: jis0212<<14 | 0x37<<7 | 0x43,
+ 33911 - 19968: jis0208<<14 | 0x47<<7 | 0x37,
+ 33912 - 19968: jis0212<<14 | 0x37<<7 | 0x44,
+ 33913 - 19968: jis0208<<14 | 0x47<<7 | 0x40,
+ 33914 - 19968: jis0208<<14 | 0x28<<7 | 0x57,
+ 33916 - 19968: jis0212<<14 | 0x37<<7 | 0x45,
+ 33917 - 19968: jis0212<<14 | 0x37<<7 | 0x46,
+ 33921 - 19968: jis0212<<14 | 0x37<<7 | 0x47,
+ 33922 - 19968: jis0208<<14 | 0x47<<7 | 0x3B,
+ 33924 - 19968: jis0208<<14 | 0x47<<7 | 0x36,
+ 33925 - 19968: jis0212<<14 | 0x37<<7 | 0x48,
+ 33931 - 19968: jis0208<<14 | 0x1D<<7 | 0x34,
+ 33936 - 19968: jis0208<<14 | 0x1C<<7 | 0x0E,
+ 33938 - 19968: jis0212<<14 | 0x37<<7 | 0x49,
+ 33939 - 19968: jis0212<<14 | 0x37<<7 | 0x4A,
+ 33940 - 19968: jis0208<<14 | 0x1B<<7 | 0x0B,
+ 33941 - 19968: jis0212<<14 | 0x37<<7 | 0x4B,
+ 33945 - 19968: jis0208<<14 | 0x2B<<7 | 0x37,
+ 33948 - 19968: jis0208<<14 | 0x28<<7 | 0x26,
+ 33950 - 19968: jis0212<<14 | 0x37<<7 | 0x4C,
+ 33951 - 19968: jis0208<<14 | 0x47<<7 | 0x46,
+ 33953 - 19968: jis0208<<14 | 0x47<<7 | 0x4F,
+ 33958 - 19968: jis0212<<14 | 0x37<<7 | 0x4D,
+ 33960 - 19968: jis0212<<14 | 0x37<<7 | 0x4E,
+ 33961 - 19968: jis0212<<14 | 0x37<<7 | 0x4F,
+ 33962 - 19968: jis0212<<14 | 0x37<<7 | 0x50,
+ 33965 - 19968: jis0208<<14 | 0x47<<7 | 0x39,
+ 33967 - 19968: jis0212<<14 | 0x37<<7 | 0x51,
+ 33969 - 19968: jis0212<<14 | 0x37<<7 | 0x52,
+ 33970 - 19968: jis0208<<14 | 0x12<<7 | 0x56,
+ 33972 - 19968: jis0208<<14 | 0x5A<<7 | 0x3C,
+ 33976 - 19968: jis0208<<14 | 0x1D<<7 | 0x57,
+ 33977 - 19968: jis0208<<14 | 0x47<<7 | 0x44,
+ 33978 - 19968: jis0212<<14 | 0x37<<7 | 0x54,
+ 33979 - 19968: jis0208<<14 | 0x47<<7 | 0x49,
+ 33980 - 19968: jis0208<<14 | 0x20<<7 | 0x52,
+ 33981 - 19968: jis0212<<14 | 0x37<<7 | 0x55,
+ 33982 - 19968: jis0212<<14 | 0x37<<7 | 0x56,
+ 33983 - 19968: jis0208<<14 | 0x47<<7 | 0x45,
+ 33984 - 19968: jis0212<<14 | 0x37<<7 | 0x57,
+ 33985 - 19968: jis0208<<14 | 0x47<<7 | 0x4C,
+ 33986 - 19968: jis0212<<14 | 0x37<<7 | 0x58,
+ 33988 - 19968: jis0208<<14 | 0x22<<7 | 0x3E,
+ 33990 - 19968: jis0208<<14 | 0x47<<7 | 0x4D,
+ 33991 - 19968: jis0212<<14 | 0x37<<7 | 0x59,
+ 33992 - 19968: jis0212<<14 | 0x37<<7 | 0x5A,
+ 33993 - 19968: jis0208<<14 | 0x2C<<7 | 0x35,
+ 33994 - 19968: jis0208<<14 | 0x47<<7 | 0x42,
+ 33995 - 19968: jis0208<<14 | 0x12<<7 | 0x17,
+ 33996 - 19968: jis0212<<14 | 0x37<<7 | 0x5B,
+ 33997 - 19968: jis0208<<14 | 0x47<<7 | 0x48,
+ 33999 - 19968: jis0212<<14 | 0x37<<7 | 0x5C,
+ 34000 - 19968: jis0208<<14 | 0x47<<7 | 0x4B,
+ 34001 - 19968: jis0208<<14 | 0x2B<<7 | 0x0B,
+ 34003 - 19968: jis0212<<14 | 0x37<<7 | 0x5D,
+ 34006 - 19968: jis0208<<14 | 0x47<<7 | 0x4E,
+ 34009 - 19968: jis0208<<14 | 0x47<<7 | 0x47,
+ 34010 - 19968: jis0208<<14 | 0x47<<7 | 0x4A,
+ 34012 - 19968: jis0208<<14 | 0x58<<7 | 0x04,
+ 34023 - 19968: jis0212<<14 | 0x38<<7 | 0x01,
+ 34026 - 19968: jis0212<<14 | 0x38<<7 | 0x02,
+ 34028 - 19968: jis0208<<14 | 0x2A<<7 | 0x08,
+ 34030 - 19968: jis0208<<14 | 0x2E<<7 | 0x00,
+ 34031 - 19968: jis0212<<14 | 0x38<<7 | 0x03,
+ 34032 - 19968: jis0212<<14 | 0x38<<7 | 0x04,
+ 34033 - 19968: jis0212<<14 | 0x38<<7 | 0x05,
+ 34034 - 19968: jis0212<<14 | 0x38<<7 | 0x06,
+ 34036 - 19968: jis0208<<14 | 0x47<<7 | 0x52,
+ 34039 - 19968: jis0212<<14 | 0x38<<7 | 0x07,
+ 34042 - 19968: jis0212<<14 | 0x38<<7 | 0x09,
+ 34043 - 19968: jis0212<<14 | 0x38<<7 | 0x0A,
+ 34044 - 19968: jis0208<<14 | 0x47<<7 | 0x59,
+ 34045 - 19968: jis0212<<14 | 0x38<<7 | 0x0B,
+ 34047 - 19968: jis0208<<14 | 0x47<<7 | 0x51,
+ 34048 - 19968: jis0208<<14 | 0x1B<<7 | 0x22,
+ 34050 - 19968: jis0212<<14 | 0x38<<7 | 0x0C,
+ 34051 - 19968: jis0212<<14 | 0x38<<7 | 0x0D,
+ 34054 - 19968: jis0208<<14 | 0x47<<7 | 0x30,
+ 34055 - 19968: jis0212<<14 | 0x38<<7 | 0x0E,
+ 34060 - 19968: jis0212<<14 | 0x38<<7 | 0x0F,
+ 34062 - 19968: jis0212<<14 | 0x38<<7 | 0x10,
+ 34064 - 19968: jis0212<<14 | 0x38<<7 | 0x11,
+ 34065 - 19968: jis0208<<14 | 0x29<<7 | 0x2D,
+ 34067 - 19968: jis0208<<14 | 0x2B<<7 | 0x01,
+ 34068 - 19968: jis0208<<14 | 0x47<<7 | 0x58,
+ 34069 - 19968: jis0208<<14 | 0x47<<7 | 0x57,
+ 34071 - 19968: jis0208<<14 | 0x47<<7 | 0x53,
+ 34072 - 19968: jis0208<<14 | 0x47<<7 | 0x54,
+ 34074 - 19968: jis0208<<14 | 0x10<<7 | 0x15,
+ 34076 - 19968: jis0212<<14 | 0x38<<7 | 0x12,
+ 34078 - 19968: jis0212<<14 | 0x38<<7 | 0x13,
+ 34079 - 19968: jis0208<<14 | 0x47<<7 | 0x56,
+ 34081 - 19968: jis0208<<14 | 0x47<<7 | 0x50,
+ 34082 - 19968: jis0212<<14 | 0x38<<7 | 0x14,
+ 34083 - 19968: jis0212<<14 | 0x38<<7 | 0x15,
+ 34084 - 19968: jis0212<<14 | 0x38<<7 | 0x16,
+ 34085 - 19968: jis0212<<14 | 0x38<<7 | 0x17,
+ 34086 - 19968: jis0208<<14 | 0x23<<7 | 0x34,
+ 34087 - 19968: jis0212<<14 | 0x38<<7 | 0x18,
+ 34090 - 19968: jis0212<<14 | 0x38<<7 | 0x19,
+ 34091 - 19968: jis0212<<14 | 0x38<<7 | 0x1A,
+ 34092 - 19968: jis0208<<14 | 0x47<<7 | 0x55,
+ 34093 - 19968: jis0208<<14 | 0x0F<<7 | 0x5D,
+ 34095 - 19968: jis0212<<14 | 0x38<<7 | 0x1B,
+ 34098 - 19968: jis0212<<14 | 0x38<<7 | 0x08,
+ 34099 - 19968: jis0212<<14 | 0x38<<7 | 0x1C,
+ 34100 - 19968: jis0212<<14 | 0x38<<7 | 0x1D,
+ 34101 - 19968: jis0208<<14 | 0x21<<7 | 0x01,
+ 34102 - 19968: jis0212<<14 | 0x38<<7 | 0x1E,
+ 34109 - 19968: jis0208<<14 | 0x29<<7 | 0x22,
+ 34111 - 19968: jis0212<<14 | 0x38<<7 | 0x1F,
+ 34112 - 19968: jis0208<<14 | 0x47<<7 | 0x5A,
+ 34113 - 19968: jis0208<<14 | 0x48<<7 | 0x00,
+ 34115 - 19968: jis0208<<14 | 0x27<<7 | 0x38,
+ 34118 - 19968: jis0212<<14 | 0x38<<7 | 0x20,
+ 34120 - 19968: jis0208<<14 | 0x47<<7 | 0x5D,
+ 34121 - 19968: jis0208<<14 | 0x1D<<7 | 0x35,
+ 34122 - 19968: jis0208<<14 | 0x1B<<7 | 0x28,
+ 34123 - 19968: jis0208<<14 | 0x48<<7 | 0x02,
+ 34126 - 19968: jis0208<<14 | 0x15<<7 | 0x1D,
+ 34127 - 19968: jis0212<<14 | 0x38<<7 | 0x21,
+ 34128 - 19968: jis0212<<14 | 0x38<<7 | 0x22,
+ 34129 - 19968: jis0212<<14 | 0x38<<7 | 0x23,
+ 34130 - 19968: jis0212<<14 | 0x38<<7 | 0x24,
+ 34131 - 19968: jis0208<<14 | 0x5A<<7 | 0x3D,
+ 34133 - 19968: jis0208<<14 | 0x48<<7 | 0x03,
+ 34134 - 19968: jis0212<<14 | 0x38<<7 | 0x26,
+ 34135 - 19968: jis0208<<14 | 0x28<<7 | 0x58,
+ 34136 - 19968: jis0208<<14 | 0x47<<7 | 0x5C,
+ 34137 - 19968: jis0208<<14 | 0x5A<<7 | 0x3E,
+ 34138 - 19968: jis0208<<14 | 0x47<<7 | 0x35,
+ 34140 - 19968: jis0212<<14 | 0x38<<7 | 0x28,
+ 34141 - 19968: jis0212<<14 | 0x38<<7 | 0x29,
+ 34142 - 19968: jis0212<<14 | 0x38<<7 | 0x2A,
+ 34143 - 19968: jis0212<<14 | 0x38<<7 | 0x2B,
+ 34144 - 19968: jis0212<<14 | 0x38<<7 | 0x2C,
+ 34145 - 19968: jis0212<<14 | 0x38<<7 | 0x2D,
+ 34146 - 19968: jis0212<<14 | 0x38<<7 | 0x2E,
+ 34147 - 19968: jis0208<<14 | 0x47<<7 | 0x5B,
+ 34148 - 19968: jis0212<<14 | 0x38<<7 | 0x2F,
+ 34152 - 19968: jis0208<<14 | 0x2E<<7 | 0x2E,
+ 34153 - 19968: jis0208<<14 | 0x25<<7 | 0x01,
+ 34154 - 19968: jis0208<<14 | 0x28<<7 | 0x52,
+ 34155 - 19968: jis0208<<14 | 0x5A<<7 | 0x3F,
+ 34157 - 19968: jis0208<<14 | 0x48<<7 | 0x0A,
+ 34159 - 19968: jis0212<<14 | 0x38<<7 | 0x31,
+ 34167 - 19968: jis0208<<14 | 0x48<<7 | 0x10,
+ 34169 - 19968: jis0212<<14 | 0x38<<7 | 0x32,
+ 34170 - 19968: jis0212<<14 | 0x38<<7 | 0x33,
+ 34171 - 19968: jis0212<<14 | 0x38<<7 | 0x34,
+ 34173 - 19968: jis0212<<14 | 0x38<<7 | 0x35,
+ 34174 - 19968: jis0208<<14 | 0x48<<7 | 0x11,
+ 34175 - 19968: jis0212<<14 | 0x38<<7 | 0x36,
+ 34176 - 19968: jis0208<<14 | 0x48<<7 | 0x04,
+ 34177 - 19968: jis0212<<14 | 0x38<<7 | 0x37,
+ 34180 - 19968: jis0208<<14 | 0x26<<7 | 0x55,
+ 34181 - 19968: jis0212<<14 | 0x38<<7 | 0x38,
+ 34182 - 19968: jis0212<<14 | 0x38<<7 | 0x39,
+ 34183 - 19968: jis0208<<14 | 0x48<<7 | 0x0E,
+ 34184 - 19968: jis0208<<14 | 0x48<<7 | 0x06,
+ 34185 - 19968: jis0212<<14 | 0x38<<7 | 0x3A,
+ 34186 - 19968: jis0208<<14 | 0x48<<7 | 0x08,
+ 34187 - 19968: jis0212<<14 | 0x38<<7 | 0x3B,
+ 34188 - 19968: jis0212<<14 | 0x38<<7 | 0x3C,
+ 34191 - 19968: jis0212<<14 | 0x38<<7 | 0x3D,
+ 34192 - 19968: jis0208<<14 | 0x48<<7 | 0x12,
+ 34193 - 19968: jis0208<<14 | 0x48<<7 | 0x07,
+ 34195 - 19968: jis0212<<14 | 0x38<<7 | 0x3E,
+ 34196 - 19968: jis0208<<14 | 0x48<<7 | 0x0B,
+ 34199 - 19968: jis0208<<14 | 0x10<<7 | 0x51,
+ 34200 - 19968: jis0212<<14 | 0x38<<7 | 0x3F,
+ 34201 - 19968: jis0208<<14 | 0x25<<7 | 0x44,
+ 34203 - 19968: jis0208<<14 | 0x48<<7 | 0x0C,
+ 34204 - 19968: jis0208<<14 | 0x48<<7 | 0x0F,
+ 34205 - 19968: jis0212<<14 | 0x38<<7 | 0x40,
+ 34207 - 19968: jis0212<<14 | 0x38<<7 | 0x41,
+ 34208 - 19968: jis0212<<14 | 0x38<<7 | 0x42,
+ 34210 - 19968: jis0212<<14 | 0x38<<7 | 0x43,
+ 34212 - 19968: jis0208<<14 | 0x48<<7 | 0x05,
+ 34213 - 19968: jis0212<<14 | 0x38<<7 | 0x44,
+ 34214 - 19968: jis0208<<14 | 0x20<<7 | 0x05,
+ 34215 - 19968: jis0212<<14 | 0x38<<7 | 0x45,
+ 34216 - 19968: jis0208<<14 | 0x48<<7 | 0x09,
+ 34217 - 19968: jis0208<<14 | 0x1A<<7 | 0x06,
+ 34218 - 19968: jis0208<<14 | 0x1E<<7 | 0x24,
+ 34219 - 19968: jis0208<<14 | 0x16<<7 | 0x0F,
+ 34220 - 19968: jis0208<<14 | 0x2B<<7 | 0x53,
+ 34221 - 19968: jis0212<<14 | 0x38<<7 | 0x53,
+ 34222 - 19968: jis0208<<14 | 0x2B<<7 | 0x58,
+ 34223 - 19968: jis0208<<14 | 0x1C<<7 | 0x51,
+ 34224 - 19968: jis0208<<14 | 0x5A<<7 | 0x41,
+ 34228 - 19968: jis0212<<14 | 0x38<<7 | 0x46,
+ 34230 - 19968: jis0212<<14 | 0x38<<7 | 0x47,
+ 34231 - 19968: jis0212<<14 | 0x38<<7 | 0x48,
+ 34232 - 19968: jis0212<<14 | 0x38<<7 | 0x49,
+ 34233 - 19968: jis0208<<14 | 0x48<<7 | 0x16,
+ 34234 - 19968: jis0208<<14 | 0x48<<7 | 0x14,
+ 34236 - 19968: jis0212<<14 | 0x38<<7 | 0x4A,
+ 34237 - 19968: jis0212<<14 | 0x38<<7 | 0x4B,
+ 34238 - 19968: jis0212<<14 | 0x38<<7 | 0x4C,
+ 34239 - 19968: jis0212<<14 | 0x38<<7 | 0x4D,
+ 34241 - 19968: jis0208<<14 | 0x2E<<7 | 0x2D,
+ 34242 - 19968: jis0212<<14 | 0x38<<7 | 0x4E,
+ 34247 - 19968: jis0212<<14 | 0x38<<7 | 0x4F,
+ 34249 - 19968: jis0208<<14 | 0x48<<7 | 0x13,
+ 34250 - 19968: jis0212<<14 | 0x38<<7 | 0x50,
+ 34251 - 19968: jis0212<<14 | 0x38<<7 | 0x51,
+ 34253 - 19968: jis0208<<14 | 0x2C<<7 | 0x54,
+ 34254 - 19968: jis0212<<14 | 0x38<<7 | 0x52,
+ 34255 - 19968: jis0208<<14 | 0x48<<7 | 0x15,
+ 34256 - 19968: jis0208<<14 | 0x48<<7 | 0x17,
+ 34261 - 19968: jis0208<<14 | 0x48<<7 | 0x18,
+ 34264 - 19968: jis0212<<14 | 0x38<<7 | 0x54,
+ 34266 - 19968: jis0212<<14 | 0x38<<7 | 0x55,
+ 34268 - 19968: jis0208<<14 | 0x48<<7 | 0x1B,
+ 34269 - 19968: jis0208<<14 | 0x48<<7 | 0x19,
+ 34271 - 19968: jis0212<<14 | 0x38<<7 | 0x56,
+ 34272 - 19968: jis0212<<14 | 0x38<<7 | 0x57,
+ 34276 - 19968: jis0208<<14 | 0x25<<7 | 0x02,
+ 34277 - 19968: jis0208<<14 | 0x48<<7 | 0x1A,
+ 34278 - 19968: jis0212<<14 | 0x38<<7 | 0x58,
+ 34280 - 19968: jis0212<<14 | 0x38<<7 | 0x59,
+ 34281 - 19968: jis0208<<14 | 0x27<<7 | 0x2C,
+ 34282 - 19968: jis0208<<14 | 0x48<<7 | 0x0D,
+ 34285 - 19968: jis0212<<14 | 0x38<<7 | 0x5A,
+ 34291 - 19968: jis0212<<14 | 0x38<<7 | 0x5B,
+ 34294 - 19968: jis0212<<14 | 0x38<<7 | 0x5C,
+ 34295 - 19968: jis0208<<14 | 0x1C<<7 | 0x52,
+ 34297 - 19968: jis0208<<14 | 0x48<<7 | 0x1C,
+ 34298 - 19968: jis0208<<14 | 0x48<<7 | 0x21,
+ 34299 - 19968: jis0208<<14 | 0x20<<7 | 0x53,
+ 34300 - 19968: jis0212<<14 | 0x38<<7 | 0x5D,
+ 34302 - 19968: jis0208<<14 | 0x48<<7 | 0x20,
+ 34303 - 19968: jis0212<<14 | 0x39<<7 | 0x00,
+ 34304 - 19968: jis0212<<14 | 0x39<<7 | 0x01,
+ 34306 - 19968: jis0208<<14 | 0x48<<7 | 0x01,
+ 34308 - 19968: jis0212<<14 | 0x39<<7 | 0x02,
+ 34309 - 19968: jis0212<<14 | 0x39<<7 | 0x03,
+ 34310 - 19968: jis0208<<14 | 0x48<<7 | 0x22,
+ 34311 - 19968: jis0208<<14 | 0x20<<7 | 0x28,
+ 34314 - 19968: jis0208<<14 | 0x48<<7 | 0x1D,
+ 34315 - 19968: jis0208<<14 | 0x48<<7 | 0x1F,
+ 34317 - 19968: jis0212<<14 | 0x39<<7 | 0x04,
+ 34318 - 19968: jis0212<<14 | 0x39<<7 | 0x05,
+ 34320 - 19968: jis0212<<14 | 0x39<<7 | 0x06,
+ 34321 - 19968: jis0212<<14 | 0x39<<7 | 0x07,
+ 34322 - 19968: jis0212<<14 | 0x39<<7 | 0x08,
+ 34323 - 19968: jis0208<<14 | 0x48<<7 | 0x1E,
+ 34326 - 19968: jis0208<<14 | 0x3C<<7 | 0x10,
+ 34327 - 19968: jis0208<<14 | 0x3C<<7 | 0x01,
+ 34328 - 19968: jis0212<<14 | 0x39<<7 | 0x09,
+ 34329 - 19968: jis0212<<14 | 0x39<<7 | 0x0A,
+ 34330 - 19968: jis0208<<14 | 0x48<<7 | 0x24,
+ 34331 - 19968: jis0212<<14 | 0x39<<7 | 0x0B,
+ 34334 - 19968: jis0212<<14 | 0x39<<7 | 0x0C,
+ 34337 - 19968: jis0212<<14 | 0x39<<7 | 0x0D,
+ 34338 - 19968: jis0208<<14 | 0x48<<7 | 0x23,
+ 34343 - 19968: jis0212<<14 | 0x39<<7 | 0x0E,
+ 34345 - 19968: jis0212<<14 | 0x39<<7 | 0x0F,
+ 34349 - 19968: jis0208<<14 | 0x2C<<7 | 0x55,
+ 34351 - 19968: jis0208<<14 | 0x41<<7 | 0x1B,
+ 34352 - 19968: jis0208<<14 | 0x48<<7 | 0x25,
+ 34358 - 19968: jis0212<<14 | 0x39<<7 | 0x10,
+ 34360 - 19968: jis0212<<14 | 0x39<<7 | 0x11,
+ 34362 - 19968: jis0212<<14 | 0x39<<7 | 0x12,
+ 34364 - 19968: jis0212<<14 | 0x39<<7 | 0x13,
+ 34365 - 19968: jis0212<<14 | 0x39<<7 | 0x14,
+ 34367 - 19968: jis0208<<14 | 0x48<<7 | 0x26,
+ 34368 - 19968: jis0212<<14 | 0x39<<7 | 0x15,
+ 34369 - 19968: jis0212<<14 | 0x17<<7 | 0x45,
+ 34370 - 19968: jis0212<<14 | 0x39<<7 | 0x16,
+ 34374 - 19968: jis0212<<14 | 0x39<<7 | 0x17,
+ 34381 - 19968: jis0208<<14 | 0x48<<7 | 0x27,
+ 34382 - 19968: jis0208<<14 | 0x17<<7 | 0x36,
+ 34384 - 19968: jis0208<<14 | 0x14<<7 | 0x33,
+ 34386 - 19968: jis0212<<14 | 0x39<<7 | 0x18,
+ 34387 - 19968: jis0212<<14 | 0x39<<7 | 0x19,
+ 34388 - 19968: jis0208<<14 | 0x48<<7 | 0x29,
+ 34389 - 19968: jis0208<<14 | 0x30<<7 | 0x3C,
+ 34390 - 19968: jis0212<<14 | 0x39<<7 | 0x1A,
+ 34391 - 19968: jis0212<<14 | 0x39<<7 | 0x1B,
+ 34392 - 19968: jis0212<<14 | 0x39<<7 | 0x1C,
+ 34393 - 19968: jis0212<<14 | 0x39<<7 | 0x1D,
+ 34394 - 19968: jis0208<<14 | 0x14<<7 | 0x54,
+ 34396 - 19968: jis0208<<14 | 0x2D<<7 | 0x19,
+ 34397 - 19968: jis0212<<14 | 0x39<<7 | 0x1E,
+ 34398 - 19968: jis0208<<14 | 0x15<<7 | 0x52,
+ 34399 - 19968: jis0208<<14 | 0x48<<7 | 0x2A,
+ 34400 - 19968: jis0212<<14 | 0x39<<7 | 0x1F,
+ 34401 - 19968: jis0212<<14 | 0x39<<7 | 0x20,
+ 34402 - 19968: jis0212<<14 | 0x39<<7 | 0x21,
+ 34403 - 19968: jis0212<<14 | 0x39<<7 | 0x22,
+ 34404 - 19968: jis0212<<14 | 0x39<<7 | 0x23,
+ 34407 - 19968: jis0208<<14 | 0x48<<7 | 0x2B,
+ 34409 - 19968: jis0212<<14 | 0x39<<7 | 0x24,
+ 34411 - 19968: jis0208<<14 | 0x22<<7 | 0x4D,
+ 34412 - 19968: jis0212<<14 | 0x39<<7 | 0x25,
+ 34415 - 19968: jis0212<<14 | 0x39<<7 | 0x26,
+ 34417 - 19968: jis0208<<14 | 0x48<<7 | 0x2C,
+ 34421 - 19968: jis0212<<14 | 0x39<<7 | 0x27,
+ 34422 - 19968: jis0212<<14 | 0x39<<7 | 0x28,
+ 34423 - 19968: jis0212<<14 | 0x39<<7 | 0x29,
+ 34425 - 19968: jis0208<<14 | 0x25<<7 | 0x59,
+ 34426 - 19968: jis0212<<14 | 0x39<<7 | 0x2A,
+ 34427 - 19968: jis0208<<14 | 0x0F<<7 | 0x19,
+ 34440 - 19968: jis0212<<14 | 0x39<<7 | 0x4C,
+ 34442 - 19968: jis0208<<14 | 0x11<<7 | 0x42,
+ 34443 - 19968: jis0208<<14 | 0x48<<7 | 0x31,
+ 34444 - 19968: jis0208<<14 | 0x48<<7 | 0x32,
+ 34445 - 19968: jis0212<<14 | 0x39<<7 | 0x2B,
+ 34449 - 19968: jis0212<<14 | 0x39<<7 | 0x2C,
+ 34451 - 19968: jis0208<<14 | 0x48<<7 | 0x2D,
+ 34453 - 19968: jis0208<<14 | 0x1A<<7 | 0x1C,
+ 34454 - 19968: jis0212<<14 | 0x39<<7 | 0x2D,
+ 34456 - 19968: jis0212<<14 | 0x39<<7 | 0x2E,
+ 34458 - 19968: jis0212<<14 | 0x39<<7 | 0x2F,
+ 34460 - 19968: jis0212<<14 | 0x39<<7 | 0x30,
+ 34465 - 19968: jis0212<<14 | 0x39<<7 | 0x31,
+ 34467 - 19968: jis0208<<14 | 0x48<<7 | 0x2E,
+ 34468 - 19968: jis0208<<14 | 0x26<<7 | 0x21,
+ 34470 - 19968: jis0212<<14 | 0x39<<7 | 0x32,
+ 34471 - 19968: jis0212<<14 | 0x39<<7 | 0x33,
+ 34472 - 19968: jis0212<<14 | 0x39<<7 | 0x34,
+ 34473 - 19968: jis0208<<14 | 0x48<<7 | 0x2F,
+ 34474 - 19968: jis0208<<14 | 0x48<<7 | 0x30,
+ 34475 - 19968: jis0208<<14 | 0x48<<7 | 0x3A,
+ 34477 - 19968: jis0212<<14 | 0x39<<7 | 0x35,
+ 34479 - 19968: jis0208<<14 | 0x48<<7 | 0x34,
+ 34480 - 19968: jis0208<<14 | 0x48<<7 | 0x37,
+ 34481 - 19968: jis0212<<14 | 0x39<<7 | 0x36,
+ 34483 - 19968: jis0212<<14 | 0x39<<7 | 0x37,
+ 34484 - 19968: jis0212<<14 | 0x39<<7 | 0x38,
+ 34485 - 19968: jis0212<<14 | 0x39<<7 | 0x39,
+ 34486 - 19968: jis0208<<14 | 0x48<<7 | 0x33,
+ 34487 - 19968: jis0212<<14 | 0x39<<7 | 0x3A,
+ 34488 - 19968: jis0212<<14 | 0x39<<7 | 0x3B,
+ 34489 - 19968: jis0212<<14 | 0x39<<7 | 0x3C,
+ 34495 - 19968: jis0212<<14 | 0x39<<7 | 0x3D,
+ 34496 - 19968: jis0212<<14 | 0x39<<7 | 0x3E,
+ 34497 - 19968: jis0212<<14 | 0x39<<7 | 0x3F,
+ 34499 - 19968: jis0212<<14 | 0x39<<7 | 0x40,
+ 34500 - 19968: jis0208<<14 | 0x48<<7 | 0x35,
+ 34501 - 19968: jis0212<<14 | 0x39<<7 | 0x41,
+ 34502 - 19968: jis0208<<14 | 0x48<<7 | 0x36,
+ 34503 - 19968: jis0208<<14 | 0x1B<<7 | 0x37,
+ 34505 - 19968: jis0208<<14 | 0x48<<7 | 0x38,
+ 34507 - 19968: jis0208<<14 | 0x22<<7 | 0x20,
+ 34509 - 19968: jis0208<<14 | 0x16<<7 | 0x35,
+ 34510 - 19968: jis0208<<14 | 0x12<<7 | 0x21,
+ 34513 - 19968: jis0212<<14 | 0x39<<7 | 0x42,
+ 34514 - 19968: jis0212<<14 | 0x39<<7 | 0x43,
+ 34516 - 19968: jis0208<<14 | 0x48<<7 | 0x3B,
+ 34517 - 19968: jis0212<<14 | 0x39<<7 | 0x44,
+ 34519 - 19968: jis0212<<14 | 0x39<<7 | 0x45,
+ 34521 - 19968: jis0208<<14 | 0x12<<7 | 0x1E,
+ 34522 - 19968: jis0212<<14 | 0x39<<7 | 0x46,
+ 34523 - 19968: jis0208<<14 | 0x48<<7 | 0x40,
+ 34524 - 19968: jis0212<<14 | 0x39<<7 | 0x47,
+ 34526 - 19968: jis0208<<14 | 0x48<<7 | 0x3C,
+ 34527 - 19968: jis0208<<14 | 0x48<<7 | 0x3F,
+ 34528 - 19968: jis0212<<14 | 0x39<<7 | 0x48,
+ 34531 - 19968: jis0212<<14 | 0x39<<7 | 0x49,
+ 34532 - 19968: jis0208<<14 | 0x27<<7 | 0x19,
+ 34533 - 19968: jis0212<<14 | 0x39<<7 | 0x4A,
+ 34535 - 19968: jis0212<<14 | 0x39<<7 | 0x4B,
+ 34537 - 19968: jis0208<<14 | 0x48<<7 | 0x3D,
+ 34540 - 19968: jis0208<<14 | 0x48<<7 | 0x3E,
+ 34541 - 19968: jis0208<<14 | 0x28<<7 | 0x27,
+ 34542 - 19968: jis0208<<14 | 0x27<<7 | 0x39,
+ 34543 - 19968: jis0208<<14 | 0x48<<7 | 0x41,
+ 34552 - 19968: jis0208<<14 | 0x21<<7 | 0x5C,
+ 34553 - 19968: jis0208<<14 | 0x48<<7 | 0x4B,
+ 34554 - 19968: jis0212<<14 | 0x39<<7 | 0x4D,
+ 34555 - 19968: jis0208<<14 | 0x48<<7 | 0x47,
+ 34556 - 19968: jis0212<<14 | 0x39<<7 | 0x4E,
+ 34557 - 19968: jis0212<<14 | 0x39<<7 | 0x4F,
+ 34558 - 19968: jis0208<<14 | 0x11<<7 | 0x4A,
+ 34560 - 19968: jis0208<<14 | 0x48<<7 | 0x45,
+ 34562 - 19968: jis0208<<14 | 0x2A<<7 | 0x09,
+ 34563 - 19968: jis0208<<14 | 0x48<<7 | 0x46,
+ 34564 - 19968: jis0212<<14 | 0x39<<7 | 0x50,
+ 34565 - 19968: jis0212<<14 | 0x39<<7 | 0x51,
+ 34566 - 19968: jis0208<<14 | 0x48<<7 | 0x43,
+ 34567 - 19968: jis0212<<14 | 0x39<<7 | 0x52,
+ 34568 - 19968: jis0208<<14 | 0x48<<7 | 0x44,
+ 34569 - 19968: jis0208<<14 | 0x48<<7 | 0x49,
+ 34570 - 19968: jis0208<<14 | 0x48<<7 | 0x4C,
+ 34571 - 19968: jis0212<<14 | 0x39<<7 | 0x53,
+ 34573 - 19968: jis0208<<14 | 0x48<<7 | 0x4A,
+ 34574 - 19968: jis0212<<14 | 0x39<<7 | 0x54,
+ 34575 - 19968: jis0212<<14 | 0x39<<7 | 0x55,
+ 34576 - 19968: jis0212<<14 | 0x39<<7 | 0x56,
+ 34577 - 19968: jis0208<<14 | 0x48<<7 | 0x48,
+ 34578 - 19968: jis0208<<14 | 0x48<<7 | 0x42,
+ 34579 - 19968: jis0212<<14 | 0x39<<7 | 0x57,
+ 34580 - 19968: jis0212<<14 | 0x39<<7 | 0x58,
+ 34584 - 19968: jis0208<<14 | 0x22<<7 | 0x37,
+ 34585 - 19968: jis0212<<14 | 0x39<<7 | 0x59,
+ 34586 - 19968: jis0208<<14 | 0x48<<7 | 0x53,
+ 34588 - 19968: jis0208<<14 | 0x2B<<7 | 0x09,
+ 34590 - 19968: jis0212<<14 | 0x39<<7 | 0x5A,
+ 34591 - 19968: jis0212<<14 | 0x39<<7 | 0x5B,
+ 34593 - 19968: jis0212<<14 | 0x39<<7 | 0x5C,
+ 34595 - 19968: jis0212<<14 | 0x39<<7 | 0x5D,
+ 34597 - 19968: jis0208<<14 | 0x48<<7 | 0x51,
+ 34600 - 19968: jis0212<<14 | 0x3A<<7 | 0x00,
+ 34601 - 19968: jis0208<<14 | 0x48<<7 | 0x52,
+ 34606 - 19968: jis0212<<14 | 0x3A<<7 | 0x01,
+ 34607 - 19968: jis0212<<14 | 0x3A<<7 | 0x02,
+ 34609 - 19968: jis0212<<14 | 0x3A<<7 | 0x03,
+ 34610 - 19968: jis0212<<14 | 0x3A<<7 | 0x04,
+ 34612 - 19968: jis0208<<14 | 0x48<<7 | 0x4D,
+ 34615 - 19968: jis0208<<14 | 0x48<<7 | 0x4F,
+ 34617 - 19968: jis0212<<14 | 0x3A<<7 | 0x05,
+ 34618 - 19968: jis0212<<14 | 0x3A<<7 | 0x06,
+ 34619 - 19968: jis0208<<14 | 0x48<<7 | 0x50,
+ 34620 - 19968: jis0212<<14 | 0x3A<<7 | 0x07,
+ 34621 - 19968: jis0212<<14 | 0x3A<<7 | 0x08,
+ 34622 - 19968: jis0212<<14 | 0x3A<<7 | 0x09,
+ 34623 - 19968: jis0208<<14 | 0x48<<7 | 0x4E,
+ 34624 - 19968: jis0212<<14 | 0x3A<<7 | 0x0A,
+ 34627 - 19968: jis0212<<14 | 0x3A<<7 | 0x0B,
+ 34629 - 19968: jis0212<<14 | 0x3A<<7 | 0x0C,
+ 34633 - 19968: jis0208<<14 | 0x1F<<7 | 0x45,
+ 34635 - 19968: jis0208<<14 | 0x2E<<7 | 0x18,
+ 34636 - 19968: jis0208<<14 | 0x48<<7 | 0x57,
+ 34637 - 19968: jis0212<<14 | 0x3A<<7 | 0x0D,
+ 34638 - 19968: jis0208<<14 | 0x48<<7 | 0x58,
+ 34643 - 19968: jis0208<<14 | 0x49<<7 | 0x00,
+ 34645 - 19968: jis0208<<14 | 0x1E<<7 | 0x09,
+ 34647 - 19968: jis0208<<14 | 0x48<<7 | 0x5A,
+ 34648 - 19968: jis0212<<14 | 0x3A<<7 | 0x0E,
+ 34649 - 19968: jis0208<<14 | 0x48<<7 | 0x5D,
+ 34653 - 19968: jis0212<<14 | 0x3A<<7 | 0x0F,
+ 34655 - 19968: jis0208<<14 | 0x48<<7 | 0x55,
+ 34656 - 19968: jis0208<<14 | 0x48<<7 | 0x54,
+ 34657 - 19968: jis0212<<14 | 0x3A<<7 | 0x10,
+ 34659 - 19968: jis0208<<14 | 0x49<<7 | 0x01,
+ 34660 - 19968: jis0212<<14 | 0x3A<<7 | 0x11,
+ 34661 - 19968: jis0212<<14 | 0x3A<<7 | 0x12,
+ 34662 - 19968: jis0208<<14 | 0x11<<7 | 0x3B,
+ 34664 - 19968: jis0208<<14 | 0x48<<7 | 0x5B,
+ 34666 - 19968: jis0208<<14 | 0x49<<7 | 0x02,
+ 34670 - 19968: jis0208<<14 | 0x48<<7 | 0x5C,
+ 34671 - 19968: jis0212<<14 | 0x3A<<7 | 0x13,
+ 34673 - 19968: jis0212<<14 | 0x3A<<7 | 0x14,
+ 34674 - 19968: jis0212<<14 | 0x3A<<7 | 0x15,
+ 34676 - 19968: jis0208<<14 | 0x48<<7 | 0x59,
+ 34678 - 19968: jis0208<<14 | 0x23<<7 | 0x12,
+ 34680 - 19968: jis0208<<14 | 0x48<<7 | 0x56,
+ 34683 - 19968: jis0212<<14 | 0x3A<<7 | 0x16,
+ 34687 - 19968: jis0208<<14 | 0x26<<7 | 0x47,
+ 34690 - 19968: jis0208<<14 | 0x49<<7 | 0x06,
+ 34691 - 19968: jis0212<<14 | 0x3A<<7 | 0x17,
+ 34692 - 19968: jis0212<<14 | 0x3A<<7 | 0x18,
+ 34693 - 19968: jis0212<<14 | 0x3A<<7 | 0x19,
+ 34694 - 19968: jis0212<<14 | 0x3A<<7 | 0x1A,
+ 34695 - 19968: jis0212<<14 | 0x3A<<7 | 0x1B,
+ 34696 - 19968: jis0212<<14 | 0x3A<<7 | 0x1C,
+ 34697 - 19968: jis0212<<14 | 0x3A<<7 | 0x1D,
+ 34699 - 19968: jis0212<<14 | 0x3A<<7 | 0x1E,
+ 34700 - 19968: jis0212<<14 | 0x3A<<7 | 0x1F,
+ 34701 - 19968: jis0208<<14 | 0x2C<<7 | 0x1A,
+ 34704 - 19968: jis0212<<14 | 0x3A<<7 | 0x20,
+ 34707 - 19968: jis0212<<14 | 0x3A<<7 | 0x21,
+ 34709 - 19968: jis0212<<14 | 0x3A<<7 | 0x22,
+ 34711 - 19968: jis0212<<14 | 0x3A<<7 | 0x23,
+ 34712 - 19968: jis0212<<14 | 0x3A<<7 | 0x24,
+ 34713 - 19968: jis0212<<14 | 0x3A<<7 | 0x25,
+ 34718 - 19968: jis0212<<14 | 0x3A<<7 | 0x26,
+ 34719 - 19968: jis0208<<14 | 0x49<<7 | 0x05,
+ 34720 - 19968: jis0212<<14 | 0x3A<<7 | 0x27,
+ 34722 - 19968: jis0208<<14 | 0x49<<7 | 0x04,
+ 34723 - 19968: jis0212<<14 | 0x3A<<7 | 0x28,
+ 34727 - 19968: jis0212<<14 | 0x3A<<7 | 0x29,
+ 34731 - 19968: jis0208<<14 | 0x49<<7 | 0x0D,
+ 34732 - 19968: jis0212<<14 | 0x3A<<7 | 0x2A,
+ 34733 - 19968: jis0212<<14 | 0x3A<<7 | 0x2B,
+ 34734 - 19968: jis0212<<14 | 0x3A<<7 | 0x2C,
+ 34735 - 19968: jis0208<<14 | 0x49<<7 | 0x07,
+ 34737 - 19968: jis0212<<14 | 0x3A<<7 | 0x2D,
+ 34739 - 19968: jis0208<<14 | 0x49<<7 | 0x0F,
+ 34741 - 19968: jis0212<<14 | 0x3A<<7 | 0x2E,
+ 34746 - 19968: jis0208<<14 | 0x2C<<7 | 0x45,
+ 34747 - 19968: jis0208<<14 | 0x49<<7 | 0x12,
+ 34749 - 19968: jis0208<<14 | 0x49<<7 | 0x09,
+ 34750 - 19968: jis0212<<14 | 0x3A<<7 | 0x2F,
+ 34751 - 19968: jis0212<<14 | 0x3A<<7 | 0x30,
+ 34752 - 19968: jis0208<<14 | 0x49<<7 | 0x0A,
+ 34753 - 19968: jis0212<<14 | 0x3A<<7 | 0x31,
+ 34756 - 19968: jis0208<<14 | 0x49<<7 | 0x0E,
+ 34758 - 19968: jis0208<<14 | 0x49<<7 | 0x11,
+ 34759 - 19968: jis0208<<14 | 0x49<<7 | 0x10,
+ 34760 - 19968: jis0212<<14 | 0x3A<<7 | 0x32,
+ 34761 - 19968: jis0212<<14 | 0x3A<<7 | 0x33,
+ 34762 - 19968: jis0212<<14 | 0x3A<<7 | 0x34,
+ 34763 - 19968: jis0208<<14 | 0x49<<7 | 0x08,
+ 34766 - 19968: jis0212<<14 | 0x3A<<7 | 0x35,
+ 34768 - 19968: jis0208<<14 | 0x49<<7 | 0x0B,
+ 34770 - 19968: jis0208<<14 | 0x49<<7 | 0x1C,
+ 34773 - 19968: jis0212<<14 | 0x3A<<7 | 0x36,
+ 34774 - 19968: jis0212<<14 | 0x3A<<7 | 0x37,
+ 34777 - 19968: jis0212<<14 | 0x3A<<7 | 0x38,
+ 34778 - 19968: jis0212<<14 | 0x3A<<7 | 0x39,
+ 34780 - 19968: jis0212<<14 | 0x3A<<7 | 0x3A,
+ 34783 - 19968: jis0212<<14 | 0x3A<<7 | 0x3B,
+ 34784 - 19968: jis0208<<14 | 0x49<<7 | 0x15,
+ 34786 - 19968: jis0212<<14 | 0x3A<<7 | 0x3C,
+ 34787 - 19968: jis0212<<14 | 0x3A<<7 | 0x3D,
+ 34788 - 19968: jis0212<<14 | 0x3A<<7 | 0x3E,
+ 34794 - 19968: jis0212<<14 | 0x3A<<7 | 0x3F,
+ 34795 - 19968: jis0212<<14 | 0x3A<<7 | 0x40,
+ 34797 - 19968: jis0212<<14 | 0x3A<<7 | 0x41,
+ 34799 - 19968: jis0208<<14 | 0x49<<7 | 0x13,
+ 34801 - 19968: jis0212<<14 | 0x3A<<7 | 0x42,
+ 34802 - 19968: jis0208<<14 | 0x49<<7 | 0x14,
+ 34803 - 19968: jis0212<<14 | 0x3A<<7 | 0x43,
+ 34806 - 19968: jis0208<<14 | 0x49<<7 | 0x19,
+ 34807 - 19968: jis0208<<14 | 0x49<<7 | 0x1A,
+ 34808 - 19968: jis0212<<14 | 0x3A<<7 | 0x44,
+ 34809 - 19968: jis0208<<14 | 0x12<<7 | 0x09,
+ 34810 - 19968: jis0212<<14 | 0x3A<<7 | 0x45,
+ 34811 - 19968: jis0208<<14 | 0x14<<7 | 0x21,
+ 34814 - 19968: jis0208<<14 | 0x49<<7 | 0x18,
+ 34815 - 19968: jis0212<<14 | 0x3A<<7 | 0x46,
+ 34817 - 19968: jis0212<<14 | 0x3A<<7 | 0x47,
+ 34819 - 19968: jis0212<<14 | 0x3A<<7 | 0x48,
+ 34821 - 19968: jis0208<<14 | 0x49<<7 | 0x03,
+ 34822 - 19968: jis0212<<14 | 0x3A<<7 | 0x49,
+ 34823 - 19968: jis0208<<14 | 0x5A<<7 | 0x44,
+ 34825 - 19968: jis0212<<14 | 0x3A<<7 | 0x4A,
+ 34826 - 19968: jis0212<<14 | 0x3A<<7 | 0x4B,
+ 34827 - 19968: jis0212<<14 | 0x3A<<7 | 0x4C,
+ 34829 - 19968: jis0208<<14 | 0x49<<7 | 0x17,
+ 34830 - 19968: jis0208<<14 | 0x49<<7 | 0x1B,
+ 34831 - 19968: jis0208<<14 | 0x49<<7 | 0x16,
+ 34832 - 19968: jis0212<<14 | 0x3A<<7 | 0x4D,
+ 34833 - 19968: jis0208<<14 | 0x49<<7 | 0x1D,
+ 34834 - 19968: jis0212<<14 | 0x3A<<7 | 0x4F,
+ 34835 - 19968: jis0212<<14 | 0x3A<<7 | 0x50,
+ 34836 - 19968: jis0212<<14 | 0x3A<<7 | 0x51,
+ 34837 - 19968: jis0208<<14 | 0x49<<7 | 0x1F,
+ 34838 - 19968: jis0208<<14 | 0x49<<7 | 0x1E,
+ 34840 - 19968: jis0212<<14 | 0x3A<<7 | 0x52,
+ 34841 - 19968: jis0212<<14 | 0x3A<<7 | 0x4E,
+ 34842 - 19968: jis0212<<14 | 0x3A<<7 | 0x53,
+ 34843 - 19968: jis0212<<14 | 0x3A<<7 | 0x54,
+ 34844 - 19968: jis0212<<14 | 0x3A<<7 | 0x55,
+ 34846 - 19968: jis0212<<14 | 0x3A<<7 | 0x56,
+ 34847 - 19968: jis0212<<14 | 0x3A<<7 | 0x57,
+ 34849 - 19968: jis0208<<14 | 0x49<<7 | 0x21,
+ 34850 - 19968: jis0208<<14 | 0x49<<7 | 0x20,
+ 34851 - 19968: jis0208<<14 | 0x48<<7 | 0x39,
+ 34855 - 19968: jis0208<<14 | 0x49<<7 | 0x25,
+ 34856 - 19968: jis0212<<14 | 0x3A<<7 | 0x58,
+ 34861 - 19968: jis0212<<14 | 0x3A<<7 | 0x59,
+ 34862 - 19968: jis0212<<14 | 0x3A<<7 | 0x5A,
+ 34864 - 19968: jis0212<<14 | 0x3A<<7 | 0x5B,
+ 34865 - 19968: jis0208<<14 | 0x49<<7 | 0x22,
+ 34866 - 19968: jis0212<<14 | 0x3A<<7 | 0x5C,
+ 34869 - 19968: jis0212<<14 | 0x3A<<7 | 0x5D,
+ 34870 - 19968: jis0208<<14 | 0x49<<7 | 0x23,
+ 34873 - 19968: jis0208<<14 | 0x49<<7 | 0x24,
+ 34874 - 19968: jis0212<<14 | 0x3B<<7 | 0x00,
+ 34875 - 19968: jis0208<<14 | 0x49<<7 | 0x26,
+ 34876 - 19968: jis0212<<14 | 0x3B<<7 | 0x01,
+ 34880 - 19968: jis0208<<14 | 0x16<<7 | 0x4B,
+ 34881 - 19968: jis0212<<14 | 0x3B<<7 | 0x02,
+ 34882 - 19968: jis0208<<14 | 0x49<<7 | 0x28,
+ 34883 - 19968: jis0212<<14 | 0x3B<<7 | 0x03,
+ 34884 - 19968: jis0208<<14 | 0x49<<7 | 0x27,
+ 34885 - 19968: jis0212<<14 | 0x3B<<7 | 0x04,
+ 34886 - 19968: jis0208<<14 | 0x1C<<7 | 0x0F,
+ 34888 - 19968: jis0212<<14 | 0x3B<<7 | 0x05,
+ 34889 - 19968: jis0212<<14 | 0x3B<<7 | 0x06,
+ 34890 - 19968: jis0212<<14 | 0x3B<<7 | 0x07,
+ 34891 - 19968: jis0212<<14 | 0x3B<<7 | 0x08,
+ 34892 - 19968: jis0208<<14 | 0x18<<7 | 0x33,
+ 34893 - 19968: jis0208<<14 | 0x3D<<7 | 0x06,
+ 34894 - 19968: jis0212<<14 | 0x3B<<7 | 0x09,
+ 34897 - 19968: jis0212<<14 | 0x3B<<7 | 0x0A,
+ 34898 - 19968: jis0208<<14 | 0x49<<7 | 0x29,
+ 34899 - 19968: jis0208<<14 | 0x1C<<7 | 0x30,
+ 34901 - 19968: jis0212<<14 | 0x3B<<7 | 0x0B,
+ 34902 - 19968: jis0212<<14 | 0x3B<<7 | 0x0C,
+ 34903 - 19968: jis0208<<14 | 0x12<<7 | 0x18,
+ 34904 - 19968: jis0212<<14 | 0x3B<<7 | 0x0D,
+ 34905 - 19968: jis0208<<14 | 0x49<<7 | 0x2A,
+ 34906 - 19968: jis0212<<14 | 0x3B<<7 | 0x0E,
+ 34907 - 19968: jis0208<<14 | 0x10<<7 | 0x31,
+ 34908 - 19968: jis0212<<14 | 0x3B<<7 | 0x0F,
+ 34909 - 19968: jis0208<<14 | 0x1D<<7 | 0x36,
+ 34910 - 19968: jis0208<<14 | 0x49<<7 | 0x2B,
+ 34911 - 19968: jis0212<<14 | 0x3B<<7 | 0x10,
+ 34912 - 19968: jis0212<<14 | 0x3B<<7 | 0x11,
+ 34913 - 19968: jis0208<<14 | 0x18<<7 | 0x34,
+ 34914 - 19968: jis0208<<14 | 0x49<<7 | 0x2C,
+ 34915 - 19968: jis0208<<14 | 0x0F<<7 | 0x40,
+ 34916 - 19968: jis0212<<14 | 0x3B<<7 | 0x12,
+ 34920 - 19968: jis0208<<14 | 0x28<<7 | 0x1C,
+ 34921 - 19968: jis0212<<14 | 0x3B<<7 | 0x13,
+ 34923 - 19968: jis0208<<14 | 0x49<<7 | 0x2D,
+ 34928 - 19968: jis0208<<14 | 0x1E<<7 | 0x49,
+ 34929 - 19968: jis0212<<14 | 0x3B<<7 | 0x14,
+ 34930 - 19968: jis0208<<14 | 0x49<<7 | 0x34,
+ 34933 - 19968: jis0208<<14 | 0x49<<7 | 0x31,
+ 34935 - 19968: jis0208<<14 | 0x22<<7 | 0x4E,
+ 34937 - 19968: jis0212<<14 | 0x3B<<7 | 0x15,
+ 34939 - 19968: jis0212<<14 | 0x3B<<7 | 0x16,
+ 34941 - 19968: jis0208<<14 | 0x49<<7 | 0x32,
+ 34942 - 19968: jis0208<<14 | 0x49<<7 | 0x2F,
+ 34943 - 19968: jis0208<<14 | 0x15<<7 | 0x3D,
+ 34944 - 19968: jis0212<<14 | 0x3B<<7 | 0x17,
+ 34945 - 19968: jis0208<<14 | 0x49<<7 | 0x2E,
+ 34946 - 19968: jis0208<<14 | 0x49<<7 | 0x35,
+ 34952 - 19968: jis0208<<14 | 0x16<<7 | 0x15,
+ 34955 - 19968: jis0208<<14 | 0x21<<7 | 0x3D,
+ 34957 - 19968: jis0208<<14 | 0x49<<7 | 0x3B,
+ 34962 - 19968: jis0208<<14 | 0x49<<7 | 0x37,
+ 34966 - 19968: jis0208<<14 | 0x21<<7 | 0x14,
+ 34967 - 19968: jis0208<<14 | 0x49<<7 | 0x36,
+ 34968 - 19968: jis0212<<14 | 0x3B<<7 | 0x18,
+ 34969 - 19968: jis0208<<14 | 0x49<<7 | 0x39,
+ 34970 - 19968: jis0212<<14 | 0x3B<<7 | 0x19,
+ 34971 - 19968: jis0212<<14 | 0x3B<<7 | 0x1A,
+ 34972 - 19968: jis0212<<14 | 0x3B<<7 | 0x1B,
+ 34974 - 19968: jis0208<<14 | 0x49<<7 | 0x30,
+ 34975 - 19968: jis0212<<14 | 0x3B<<7 | 0x1C,
+ 34976 - 19968: jis0212<<14 | 0x3B<<7 | 0x1D,
+ 34978 - 19968: jis0208<<14 | 0x49<<7 | 0x3A,
+ 34980 - 19968: jis0208<<14 | 0x49<<7 | 0x3C,
+ 34984 - 19968: jis0212<<14 | 0x3B<<7 | 0x1E,
+ 34986 - 19968: jis0212<<14 | 0x3B<<7 | 0x1F,
+ 34987 - 19968: jis0208<<14 | 0x27<<7 | 0x4E,
+ 34990 - 19968: jis0208<<14 | 0x49<<7 | 0x38,
+ 34992 - 19968: jis0208<<14 | 0x49<<7 | 0x3D,
+ 34993 - 19968: jis0208<<14 | 0x49<<7 | 0x3F,
+ 34996 - 19968: jis0208<<14 | 0x17<<7 | 0x32,
+ 34997 - 19968: jis0208<<14 | 0x49<<7 | 0x33,
+ 34999 - 19968: jis0208<<14 | 0x0F<<7 | 0x20,
+ 35002 - 19968: jis0212<<14 | 0x3B<<7 | 0x20,
+ 35005 - 19968: jis0212<<14 | 0x3B<<7 | 0x21,
+ 35006 - 19968: jis0212<<14 | 0x3B<<7 | 0x22,
+ 35007 - 19968: jis0208<<14 | 0x49<<7 | 0x3E,
+ 35008 - 19968: jis0212<<14 | 0x3B<<7 | 0x23,
+ 35009 - 19968: jis0208<<14 | 0x19<<7 | 0x3A,
+ 35010 - 19968: jis0208<<14 | 0x2D<<7 | 0x55,
+ 35011 - 19968: jis0208<<14 | 0x49<<7 | 0x40,
+ 35012 - 19968: jis0208<<14 | 0x49<<7 | 0x41,
+ 35013 - 19968: jis0208<<14 | 0x20<<7 | 0x54,
+ 35018 - 19968: jis0212<<14 | 0x3B<<7 | 0x24,
+ 35019 - 19968: jis0212<<14 | 0x3B<<7 | 0x25,
+ 35020 - 19968: jis0212<<14 | 0x3B<<7 | 0x26,
+ 35021 - 19968: jis0212<<14 | 0x3B<<7 | 0x27,
+ 35022 - 19968: jis0212<<14 | 0x3B<<7 | 0x28,
+ 35023 - 19968: jis0208<<14 | 0x2D<<7 | 0x01,
+ 35025 - 19968: jis0212<<14 | 0x3B<<7 | 0x29,
+ 35026 - 19968: jis0212<<14 | 0x3B<<7 | 0x2A,
+ 35027 - 19968: jis0212<<14 | 0x3B<<7 | 0x2B,
+ 35028 - 19968: jis0208<<14 | 0x49<<7 | 0x42,
+ 35029 - 19968: jis0208<<14 | 0x2C<<7 | 0x14,
+ 35032 - 19968: jis0208<<14 | 0x49<<7 | 0x43,
+ 35033 - 19968: jis0208<<14 | 0x49<<7 | 0x44,
+ 35035 - 19968: jis0212<<14 | 0x3B<<7 | 0x2C,
+ 35036 - 19968: jis0208<<14 | 0x29<<7 | 0x43,
+ 35037 - 19968: jis0208<<14 | 0x49<<7 | 0x45,
+ 35038 - 19968: jis0212<<14 | 0x3B<<7 | 0x2D,
+ 35039 - 19968: jis0208<<14 | 0x19<<7 | 0x1F,
+ 35041 - 19968: jis0208<<14 | 0x2D<<7 | 0x02,
+ 35047 - 19968: jis0212<<14 | 0x3B<<7 | 0x2E,
+ 35048 - 19968: jis0208<<14 | 0x49<<7 | 0x4A,
+ 35055 - 19968: jis0212<<14 | 0x3B<<7 | 0x2F,
+ 35056 - 19968: jis0212<<14 | 0x3B<<7 | 0x30,
+ 35057 - 19968: jis0212<<14 | 0x3B<<7 | 0x31,
+ 35058 - 19968: jis0208<<14 | 0x49<<7 | 0x4B,
+ 35059 - 19968: jis0208<<14 | 0x1D<<7 | 0x37,
+ 35060 - 19968: jis0208<<14 | 0x49<<7 | 0x49,
+ 35061 - 19968: jis0208<<14 | 0x5A<<7 | 0x45,
+ 35063 - 19968: jis0212<<14 | 0x3B<<7 | 0x33,
+ 35064 - 19968: jis0208<<14 | 0x2C<<7 | 0x46,
+ 35065 - 19968: jis0208<<14 | 0x49<<7 | 0x46,
+ 35068 - 19968: jis0208<<14 | 0x49<<7 | 0x48,
+ 35069 - 19968: jis0208<<14 | 0x1F<<7 | 0x1C,
+ 35070 - 19968: jis0208<<14 | 0x1E<<7 | 0x5D,
+ 35073 - 19968: jis0212<<14 | 0x3B<<7 | 0x34,
+ 35074 - 19968: jis0208<<14 | 0x49<<7 | 0x47,
+ 35076 - 19968: jis0208<<14 | 0x49<<7 | 0x4C,
+ 35078 - 19968: jis0212<<14 | 0x3B<<7 | 0x35,
+ 35079 - 19968: jis0208<<14 | 0x29<<7 | 0x02,
+ 35082 - 19968: jis0208<<14 | 0x49<<7 | 0x4E,
+ 35084 - 19968: jis0208<<14 | 0x49<<7 | 0x4D,
+ 35085 - 19968: jis0212<<14 | 0x3B<<7 | 0x36,
+ 35086 - 19968: jis0212<<14 | 0x3B<<7 | 0x37,
+ 35087 - 19968: jis0212<<14 | 0x3B<<7 | 0x38,
+ 35088 - 19968: jis0208<<14 | 0x12<<7 | 0x4B,
+ 35090 - 19968: jis0208<<14 | 0x2A<<7 | 0x0A,
+ 35091 - 19968: jis0208<<14 | 0x49<<7 | 0x4F,
+ 35093 - 19968: jis0212<<14 | 0x3B<<7 | 0x39,
+ 35094 - 19968: jis0212<<14 | 0x3B<<7 | 0x3A,
+ 35096 - 19968: jis0212<<14 | 0x3B<<7 | 0x3B,
+ 35097 - 19968: jis0212<<14 | 0x3B<<7 | 0x3C,
+ 35098 - 19968: jis0212<<14 | 0x3B<<7 | 0x3D,
+ 35100 - 19968: jis0208<<14 | 0x58<<7 | 0x01,
+ 35101 - 19968: jis0208<<14 | 0x49<<7 | 0x5B,
+ 35102 - 19968: jis0208<<14 | 0x49<<7 | 0x51,
+ 35104 - 19968: jis0212<<14 | 0x3B<<7 | 0x3F,
+ 35109 - 19968: jis0208<<14 | 0x49<<7 | 0x52,
+ 35110 - 19968: jis0212<<14 | 0x3B<<7 | 0x40,
+ 35111 - 19968: jis0212<<14 | 0x3B<<7 | 0x41,
+ 35112 - 19968: jis0212<<14 | 0x3B<<7 | 0x42,
+ 35114 - 19968: jis0208<<14 | 0x49<<7 | 0x53,
+ 35115 - 19968: jis0208<<14 | 0x49<<7 | 0x54,
+ 35120 - 19968: jis0212<<14 | 0x3B<<7 | 0x43,
+ 35121 - 19968: jis0212<<14 | 0x3B<<7 | 0x44,
+ 35122 - 19968: jis0212<<14 | 0x3B<<7 | 0x45,
+ 35125 - 19968: jis0212<<14 | 0x3B<<7 | 0x46,
+ 35126 - 19968: jis0208<<14 | 0x49<<7 | 0x58,
+ 35128 - 19968: jis0208<<14 | 0x49<<7 | 0x59,
+ 35129 - 19968: jis0212<<14 | 0x3B<<7 | 0x47,
+ 35130 - 19968: jis0212<<14 | 0x3B<<7 | 0x48,
+ 35131 - 19968: jis0208<<14 | 0x49<<7 | 0x57,
+ 35134 - 19968: jis0212<<14 | 0x3B<<7 | 0x49,
+ 35136 - 19968: jis0212<<14 | 0x3B<<7 | 0x4A,
+ 35137 - 19968: jis0208<<14 | 0x49<<7 | 0x55,
+ 35138 - 19968: jis0212<<14 | 0x3B<<7 | 0x4B,
+ 35139 - 19968: jis0208<<14 | 0x49<<7 | 0x50,
+ 35140 - 19968: jis0208<<14 | 0x49<<7 | 0x56,
+ 35141 - 19968: jis0212<<14 | 0x3B<<7 | 0x4C,
+ 35142 - 19968: jis0212<<14 | 0x3B<<7 | 0x4D,
+ 35145 - 19968: jis0212<<14 | 0x3B<<7 | 0x4E,
+ 35148 - 19968: jis0208<<14 | 0x49<<7 | 0x5A,
+ 35149 - 19968: jis0208<<14 | 0x4F<<7 | 0x16,
+ 35151 - 19968: jis0212<<14 | 0x3B<<7 | 0x4F,
+ 35154 - 19968: jis0212<<14 | 0x3B<<7 | 0x50,
+ 35158 - 19968: jis0208<<14 | 0x11<<7 | 0x07,
+ 35159 - 19968: jis0212<<14 | 0x3B<<7 | 0x51,
+ 35162 - 19968: jis0212<<14 | 0x3B<<7 | 0x52,
+ 35163 - 19968: jis0212<<14 | 0x3B<<7 | 0x53,
+ 35164 - 19968: jis0212<<14 | 0x3B<<7 | 0x54,
+ 35166 - 19968: jis0208<<14 | 0x49<<7 | 0x5D,
+ 35167 - 19968: jis0208<<14 | 0x15<<7 | 0x3E,
+ 35168 - 19968: jis0208<<14 | 0x49<<7 | 0x5C,
+ 35169 - 19968: jis0212<<14 | 0x3B<<7 | 0x55,
+ 35170 - 19968: jis0212<<14 | 0x3B<<7 | 0x56,
+ 35171 - 19968: jis0212<<14 | 0x3B<<7 | 0x57,
+ 35172 - 19968: jis0208<<14 | 0x4A<<7 | 0x01,
+ 35174 - 19968: jis0208<<14 | 0x4A<<7 | 0x00,
+ 35178 - 19968: jis0208<<14 | 0x4A<<7 | 0x03,
+ 35179 - 19968: jis0212<<14 | 0x3B<<7 | 0x58,
+ 35181 - 19968: jis0208<<14 | 0x4A<<7 | 0x02,
+ 35182 - 19968: jis0212<<14 | 0x3B<<7 | 0x59,
+ 35183 - 19968: jis0208<<14 | 0x4A<<7 | 0x04,
+ 35184 - 19968: jis0212<<14 | 0x3B<<7 | 0x5A,
+ 35186 - 19968: jis0208<<14 | 0x1C<<7 | 0x10,
+ 35187 - 19968: jis0212<<14 | 0x3B<<7 | 0x5B,
+ 35188 - 19968: jis0208<<14 | 0x4A<<7 | 0x05,
+ 35189 - 19968: jis0212<<14 | 0x3B<<7 | 0x5C,
+ 35191 - 19968: jis0208<<14 | 0x4A<<7 | 0x06,
+ 35194 - 19968: jis0212<<14 | 0x3B<<7 | 0x5D,
+ 35195 - 19968: jis0212<<14 | 0x3C<<7 | 0x00,
+ 35196 - 19968: jis0212<<14 | 0x3C<<7 | 0x01,
+ 35197 - 19968: jis0212<<14 | 0x3C<<7 | 0x02,
+ 35198 - 19968: jis0208<<14 | 0x4A<<7 | 0x07,
+ 35199 - 19968: jis0208<<14 | 0x1F<<7 | 0x1D,
+ 35201 - 19968: jis0208<<14 | 0x2C<<7 | 0x36,
+ 35203 - 19968: jis0208<<14 | 0x4A<<7 | 0x08,
+ 35206 - 19968: jis0208<<14 | 0x29<<7 | 0x03,
+ 35207 - 19968: jis0208<<14 | 0x26<<7 | 0x25,
+ 35208 - 19968: jis0208<<14 | 0x4A<<7 | 0x09,
+ 35209 - 19968: jis0212<<14 | 0x3C<<7 | 0x03,
+ 35210 - 19968: jis0208<<14 | 0x4A<<7 | 0x0A,
+ 35211 - 19968: jis0208<<14 | 0x17<<7 | 0x0A,
+ 35213 - 19968: jis0212<<14 | 0x3C<<7 | 0x04,
+ 35215 - 19968: jis0208<<14 | 0x14<<7 | 0x0B,
+ 35216 - 19968: jis0212<<14 | 0x3C<<7 | 0x05,
+ 35219 - 19968: jis0208<<14 | 0x4A<<7 | 0x0B,
+ 35220 - 19968: jis0212<<14 | 0x3C<<7 | 0x06,
+ 35221 - 19968: jis0212<<14 | 0x3C<<7 | 0x07,
+ 35222 - 19968: jis0208<<14 | 0x1A<<7 | 0x4A,
+ 35223 - 19968: jis0208<<14 | 0x26<<7 | 0x20,
+ 35224 - 19968: jis0208<<14 | 0x4A<<7 | 0x0C,
+ 35226 - 19968: jis0208<<14 | 0x12<<7 | 0x2F,
+ 35227 - 19968: jis0212<<14 | 0x3C<<7 | 0x08,
+ 35228 - 19968: jis0212<<14 | 0x3C<<7 | 0x09,
+ 35231 - 19968: jis0212<<14 | 0x3C<<7 | 0x0A,
+ 35232 - 19968: jis0212<<14 | 0x3C<<7 | 0x0B,
+ 35233 - 19968: jis0208<<14 | 0x4A<<7 | 0x0D,
+ 35237 - 19968: jis0212<<14 | 0x3C<<7 | 0x0C,
+ 35238 - 19968: jis0208<<14 | 0x4A<<7 | 0x0F,
+ 35239 - 19968: jis0208<<14 | 0x2C<<7 | 0x56,
+ 35241 - 19968: jis0208<<14 | 0x4A<<7 | 0x0E,
+ 35242 - 19968: jis0208<<14 | 0x1E<<7 | 0x25,
+ 35244 - 19968: jis0208<<14 | 0x4A<<7 | 0x10,
+ 35247 - 19968: jis0208<<14 | 0x4A<<7 | 0x11,
+ 35248 - 19968: jis0212<<14 | 0x3C<<7 | 0x0D,
+ 35250 - 19968: jis0208<<14 | 0x4A<<7 | 0x12,
+ 35251 - 19968: jis0208<<14 | 0x13<<7 | 0x30,
+ 35252 - 19968: jis0212<<14 | 0x3C<<7 | 0x0E,
+ 35253 - 19968: jis0212<<14 | 0x3C<<7 | 0x0F,
+ 35254 - 19968: jis0212<<14 | 0x3C<<7 | 0x10,
+ 35255 - 19968: jis0212<<14 | 0x3C<<7 | 0x11,
+ 35258 - 19968: jis0208<<14 | 0x4A<<7 | 0x13,
+ 35260 - 19968: jis0212<<14 | 0x3C<<7 | 0x12,
+ 35261 - 19968: jis0208<<14 | 0x4A<<7 | 0x14,
+ 35263 - 19968: jis0208<<14 | 0x4A<<7 | 0x15,
+ 35264 - 19968: jis0208<<14 | 0x4A<<7 | 0x16,
+ 35282 - 19968: jis0208<<14 | 0x12<<7 | 0x30,
+ 35284 - 19968: jis0212<<14 | 0x3C<<7 | 0x13,
+ 35285 - 19968: jis0212<<14 | 0x3C<<7 | 0x14,
+ 35286 - 19968: jis0212<<14 | 0x3C<<7 | 0x15,
+ 35287 - 19968: jis0212<<14 | 0x3C<<7 | 0x16,
+ 35288 - 19968: jis0212<<14 | 0x3C<<7 | 0x17,
+ 35290 - 19968: jis0208<<14 | 0x4A<<7 | 0x17,
+ 35292 - 19968: jis0208<<14 | 0x4A<<7 | 0x18,
+ 35293 - 19968: jis0208<<14 | 0x4A<<7 | 0x19,
+ 35299 - 19968: jis0208<<14 | 0x11<<7 | 0x51,
+ 35301 - 19968: jis0212<<14 | 0x3C<<7 | 0x18,
+ 35302 - 19968: jis0208<<14 | 0x1E<<7 | 0x07,
+ 35303 - 19968: jis0208<<14 | 0x4A<<7 | 0x1A,
+ 35305 - 19968: jis0212<<14 | 0x3C<<7 | 0x19,
+ 35307 - 19968: jis0212<<14 | 0x3C<<7 | 0x1A,
+ 35309 - 19968: jis0212<<14 | 0x3C<<7 | 0x1B,
+ 35313 - 19968: jis0212<<14 | 0x3C<<7 | 0x1C,
+ 35315 - 19968: jis0212<<14 | 0x3C<<7 | 0x1D,
+ 35316 - 19968: jis0208<<14 | 0x4A<<7 | 0x1B,
+ 35318 - 19968: jis0212<<14 | 0x3C<<7 | 0x1E,
+ 35320 - 19968: jis0208<<14 | 0x4A<<7 | 0x1C,
+ 35321 - 19968: jis0212<<14 | 0x3C<<7 | 0x1F,
+ 35325 - 19968: jis0212<<14 | 0x3C<<7 | 0x20,
+ 35327 - 19968: jis0212<<14 | 0x3C<<7 | 0x21,
+ 35328 - 19968: jis0208<<14 | 0x17<<7 | 0x1F,
+ 35330 - 19968: jis0208<<14 | 0x23<<7 | 0x5A,
+ 35331 - 19968: jis0208<<14 | 0x4A<<7 | 0x1D,
+ 35332 - 19968: jis0212<<14 | 0x3C<<7 | 0x22,
+ 35333 - 19968: jis0212<<14 | 0x3C<<7 | 0x23,
+ 35335 - 19968: jis0212<<14 | 0x3C<<7 | 0x24,
+ 35336 - 19968: jis0208<<14 | 0x16<<7 | 0x36,
+ 35338 - 19968: jis0208<<14 | 0x1E<<7 | 0x35,
+ 35340 - 19968: jis0208<<14 | 0x4A<<7 | 0x20,
+ 35342 - 19968: jis0208<<14 | 0x25<<7 | 0x03,
+ 35343 - 19968: jis0212<<14 | 0x3C<<7 | 0x25,
+ 35344 - 19968: jis0208<<14 | 0x4A<<7 | 0x1F,
+ 35345 - 19968: jis0212<<14 | 0x3C<<7 | 0x26,
+ 35346 - 19968: jis0208<<14 | 0x5A<<7 | 0x46,
+ 35347 - 19968: jis0208<<14 | 0x16<<7 | 0x10,
+ 35348 - 19968: jis0212<<14 | 0x3C<<7 | 0x28,
+ 35349 - 19968: jis0212<<14 | 0x3C<<7 | 0x29,
+ 35350 - 19968: jis0208<<14 | 0x4A<<7 | 0x1E,
+ 35351 - 19968: jis0208<<14 | 0x21<<7 | 0x56,
+ 35352 - 19968: jis0208<<14 | 0x14<<7 | 0x0C,
+ 35355 - 19968: jis0208<<14 | 0x4A<<7 | 0x21,
+ 35357 - 19968: jis0208<<14 | 0x4A<<7 | 0x22,
+ 35358 - 19968: jis0212<<14 | 0x3C<<7 | 0x2A,
+ 35359 - 19968: jis0208<<14 | 0x1D<<7 | 0x38,
+ 35360 - 19968: jis0212<<14 | 0x3C<<7 | 0x2B,
+ 35362 - 19968: jis0212<<14 | 0x3C<<7 | 0x2C,
+ 35363 - 19968: jis0208<<14 | 0x16<<7 | 0x4C,
+ 35364 - 19968: jis0212<<14 | 0x3C<<7 | 0x2D,
+ 35365 - 19968: jis0208<<14 | 0x4A<<7 | 0x23,
+ 35366 - 19968: jis0212<<14 | 0x3C<<7 | 0x2E,
+ 35370 - 19968: jis0208<<14 | 0x2A<<7 | 0x0B,
+ 35371 - 19968: jis0212<<14 | 0x3C<<7 | 0x2F,
+ 35372 - 19968: jis0212<<14 | 0x3C<<7 | 0x30,
+ 35373 - 19968: jis0208<<14 | 0x1F<<7 | 0x3E,
+ 35375 - 19968: jis0212<<14 | 0x3C<<7 | 0x31,
+ 35377 - 19968: jis0208<<14 | 0x14<<7 | 0x55,
+ 35379 - 19968: jis0208<<14 | 0x2B<<7 | 0x54,
+ 35380 - 19968: jis0208<<14 | 0x20<<7 | 0x29,
+ 35381 - 19968: jis0212<<14 | 0x3C<<7 | 0x32,
+ 35382 - 19968: jis0208<<14 | 0x4A<<7 | 0x24,
+ 35383 - 19968: jis0208<<14 | 0x5A<<7 | 0x47,
+ 35386 - 19968: jis0208<<14 | 0x1E<<7 | 0x26,
+ 35387 - 19968: jis0208<<14 | 0x22<<7 | 0x4F,
+ 35388 - 19968: jis0208<<14 | 0x1D<<7 | 0x39,
+ 35389 - 19968: jis0212<<14 | 0x3C<<7 | 0x34,
+ 35390 - 19968: jis0212<<14 | 0x3C<<7 | 0x35,
+ 35392 - 19968: jis0212<<14 | 0x3C<<7 | 0x36,
+ 35393 - 19968: jis0208<<14 | 0x4A<<7 | 0x25,
+ 35395 - 19968: jis0212<<14 | 0x3C<<7 | 0x37,
+ 35397 - 19968: jis0212<<14 | 0x3C<<7 | 0x38,
+ 35398 - 19968: jis0208<<14 | 0x4A<<7 | 0x28,
+ 35399 - 19968: jis0212<<14 | 0x3C<<7 | 0x39,
+ 35400 - 19968: jis0208<<14 | 0x4A<<7 | 0x29,
+ 35401 - 19968: jis0212<<14 | 0x3C<<7 | 0x3A,
+ 35405 - 19968: jis0212<<14 | 0x3C<<7 | 0x3B,
+ 35406 - 19968: jis0212<<14 | 0x3C<<7 | 0x3C,
+ 35408 - 19968: jis0208<<14 | 0x19<<7 | 0x1D,
+ 35409 - 19968: jis0208<<14 | 0x21<<7 | 0x21,
+ 35410 - 19968: jis0208<<14 | 0x4A<<7 | 0x27,
+ 35411 - 19968: jis0212<<14 | 0x3C<<7 | 0x3D,
+ 35412 - 19968: jis0208<<14 | 0x1D<<7 | 0x3A,
+ 35413 - 19968: jis0208<<14 | 0x28<<7 | 0x1D,
+ 35414 - 19968: jis0212<<14 | 0x3C<<7 | 0x3E,
+ 35415 - 19968: jis0212<<14 | 0x3C<<7 | 0x3F,
+ 35416 - 19968: jis0212<<14 | 0x3C<<7 | 0x40,
+ 35419 - 19968: jis0208<<14 | 0x4A<<7 | 0x26,
+ 35420 - 19968: jis0212<<14 | 0x3C<<7 | 0x41,
+ 35421 - 19968: jis0212<<14 | 0x3C<<7 | 0x42,
+ 35422 - 19968: jis0208<<14 | 0x1A<<7 | 0x4B,
+ 35424 - 19968: jis0208<<14 | 0x10<<7 | 0x32,
+ 35425 - 19968: jis0212<<14 | 0x3C<<7 | 0x43,
+ 35426 - 19968: jis0208<<14 | 0x4A<<7 | 0x2D,
+ 35427 - 19968: jis0208<<14 | 0x16<<7 | 0x37,
+ 35429 - 19968: jis0212<<14 | 0x3C<<7 | 0x44,
+ 35430 - 19968: jis0208<<14 | 0x1A<<7 | 0x4D,
+ 35431 - 19968: jis0212<<14 | 0x3C<<7 | 0x45,
+ 35433 - 19968: jis0208<<14 | 0x1A<<7 | 0x4C,
+ 35435 - 19968: jis0208<<14 | 0x2E<<7 | 0x2C,
+ 35436 - 19968: jis0208<<14 | 0x4A<<7 | 0x2C,
+ 35437 - 19968: jis0208<<14 | 0x4A<<7 | 0x2B,
+ 35438 - 19968: jis0208<<14 | 0x20<<7 | 0x06,
+ 35440 - 19968: jis0208<<14 | 0x14<<7 | 0x2C,
+ 35441 - 19968: jis0208<<14 | 0x2E<<7 | 0x22,
+ 35442 - 19968: jis0208<<14 | 0x12<<7 | 0x19,
+ 35443 - 19968: jis0208<<14 | 0x1D<<7 | 0x3B,
+ 35445 - 19968: jis0212<<14 | 0x3C<<7 | 0x46,
+ 35446 - 19968: jis0212<<14 | 0x3C<<7 | 0x47,
+ 35447 - 19968: jis0212<<14 | 0x3C<<7 | 0x48,
+ 35449 - 19968: jis0208<<14 | 0x5A<<7 | 0x48,
+ 35450 - 19968: jis0212<<14 | 0x3C<<7 | 0x4A,
+ 35451 - 19968: jis0212<<14 | 0x3C<<7 | 0x4B,
+ 35452 - 19968: jis0208<<14 | 0x4A<<7 | 0x2A,
+ 35454 - 19968: jis0212<<14 | 0x3C<<7 | 0x4C,
+ 35455 - 19968: jis0212<<14 | 0x3C<<7 | 0x4D,
+ 35456 - 19968: jis0212<<14 | 0x3C<<7 | 0x4E,
+ 35458 - 19968: jis0208<<14 | 0x4A<<7 | 0x2F,
+ 35459 - 19968: jis0212<<14 | 0x3C<<7 | 0x4F,
+ 35460 - 19968: jis0208<<14 | 0x4A<<7 | 0x30,
+ 35461 - 19968: jis0208<<14 | 0x4A<<7 | 0x2E,
+ 35462 - 19968: jis0212<<14 | 0x3C<<7 | 0x50,
+ 35463 - 19968: jis0208<<14 | 0x17<<7 | 0x37,
+ 35465 - 19968: jis0208<<14 | 0x2C<<7 | 0x1F,
+ 35467 - 19968: jis0212<<14 | 0x3C<<7 | 0x51,
+ 35468 - 19968: jis0208<<14 | 0x1A<<7 | 0x4E,
+ 35469 - 19968: jis0208<<14 | 0x26<<7 | 0x06,
+ 35471 - 19968: jis0212<<14 | 0x3C<<7 | 0x52,
+ 35472 - 19968: jis0212<<14 | 0x3C<<7 | 0x53,
+ 35473 - 19968: jis0208<<14 | 0x4A<<7 | 0x33,
+ 35474 - 19968: jis0212<<14 | 0x3C<<7 | 0x54,
+ 35475 - 19968: jis0208<<14 | 0x1F<<7 | 0x1F,
+ 35477 - 19968: jis0208<<14 | 0x22<<7 | 0x21,
+ 35478 - 19968: jis0212<<14 | 0x3C<<7 | 0x55,
+ 35479 - 19968: jis0212<<14 | 0x3C<<7 | 0x56,
+ 35480 - 19968: jis0208<<14 | 0x2C<<7 | 0x15,
+ 35481 - 19968: jis0212<<14 | 0x3C<<7 | 0x57,
+ 35482 - 19968: jis0208<<14 | 0x4A<<7 | 0x36,
+ 35486 - 19968: jis0208<<14 | 0x17<<7 | 0x4B,
+ 35487 - 19968: jis0212<<14 | 0x3C<<7 | 0x58,
+ 35488 - 19968: jis0208<<14 | 0x1F<<7 | 0x1E,
+ 35489 - 19968: jis0208<<14 | 0x4A<<7 | 0x32,
+ 35491 - 19968: jis0208<<14 | 0x4A<<7 | 0x37,
+ 35492 - 19968: jis0208<<14 | 0x17<<7 | 0x4C,
+ 35493 - 19968: jis0208<<14 | 0x4A<<7 | 0x34,
+ 35494 - 19968: jis0208<<14 | 0x4A<<7 | 0x35,
+ 35495 - 19968: jis0208<<14 | 0x5A<<7 | 0x49,
+ 35496 - 19968: jis0208<<14 | 0x4A<<7 | 0x31,
+ 35497 - 19968: jis0212<<14 | 0x3C<<7 | 0x5A,
+ 35500 - 19968: jis0208<<14 | 0x1F<<7 | 0x41,
+ 35501 - 19968: jis0208<<14 | 0x25<<7 | 0x28,
+ 35502 - 19968: jis0212<<14 | 0x3C<<7 | 0x5B,
+ 35503 - 19968: jis0212<<14 | 0x3C<<7 | 0x5C,
+ 35504 - 19968: jis0208<<14 | 0x22<<7 | 0x0E,
+ 35506 - 19968: jis0208<<14 | 0x11<<7 | 0x3C,
+ 35507 - 19968: jis0212<<14 | 0x3C<<7 | 0x5D,
+ 35510 - 19968: jis0212<<14 | 0x3D<<7 | 0x00,
+ 35511 - 19968: jis0212<<14 | 0x3D<<7 | 0x01,
+ 35513 - 19968: jis0208<<14 | 0x27<<7 | 0x4F,
+ 35515 - 19968: jis0212<<14 | 0x3D<<7 | 0x02,
+ 35516 - 19968: jis0208<<14 | 0x14<<7 | 0x22,
+ 35518 - 19968: jis0208<<14 | 0x5A<<7 | 0x4A,
+ 35519 - 19968: jis0208<<14 | 0x23<<7 | 0x13,
+ 35522 - 19968: jis0208<<14 | 0x4A<<7 | 0x3A,
+ 35523 - 19968: jis0212<<14 | 0x3D<<7 | 0x04,
+ 35524 - 19968: jis0208<<14 | 0x4A<<7 | 0x38,
+ 35526 - 19968: jis0212<<14 | 0x3D<<7 | 0x05,
+ 35527 - 19968: jis0208<<14 | 0x22<<7 | 0x2B,
+ 35528 - 19968: jis0212<<14 | 0x3D<<7 | 0x06,
+ 35529 - 19968: jis0212<<14 | 0x3D<<7 | 0x07,
+ 35530 - 19968: jis0212<<14 | 0x3D<<7 | 0x08,
+ 35531 - 19968: jis0208<<14 | 0x1F<<7 | 0x20,
+ 35532 - 19968: jis0208<<14 | 0x13<<7 | 0x31,
+ 35533 - 19968: jis0208<<14 | 0x4A<<7 | 0x39,
+ 35535 - 19968: jis0208<<14 | 0x1E<<7 | 0x3A,
+ 35537 - 19968: jis0212<<14 | 0x3D<<7 | 0x09,
+ 35538 - 19968: jis0208<<14 | 0x2D<<7 | 0x29,
+ 35539 - 19968: jis0212<<14 | 0x3D<<7 | 0x0A,
+ 35540 - 19968: jis0212<<14 | 0x3D<<7 | 0x0B,
+ 35541 - 19968: jis0212<<14 | 0x3D<<7 | 0x0C,
+ 35542 - 19968: jis0208<<14 | 0x2E<<7 | 0x1F,
+ 35543 - 19968: jis0212<<14 | 0x3D<<7 | 0x0D,
+ 35546 - 19968: jis0208<<14 | 0x4A<<7 | 0x3B,
+ 35547 - 19968: jis0208<<14 | 0x4A<<7 | 0x46,
+ 35548 - 19968: jis0208<<14 | 0x23<<7 | 0x14,
+ 35549 - 19968: jis0212<<14 | 0x3D<<7 | 0x0E,
+ 35550 - 19968: jis0208<<14 | 0x4A<<7 | 0x45,
+ 35551 - 19968: jis0208<<14 | 0x5A<<7 | 0x4B,
+ 35552 - 19968: jis0208<<14 | 0x4A<<7 | 0x42,
+ 35553 - 19968: jis0208<<14 | 0x4A<<7 | 0x4A,
+ 35554 - 19968: jis0208<<14 | 0x4A<<7 | 0x43,
+ 35556 - 19968: jis0208<<14 | 0x4A<<7 | 0x3F,
+ 35558 - 19968: jis0208<<14 | 0x23<<7 | 0x5B,
+ 35559 - 19968: jis0208<<14 | 0x4A<<7 | 0x3E,
+ 35563 - 19968: jis0208<<14 | 0x4A<<7 | 0x3C,
+ 35564 - 19968: jis0212<<14 | 0x3D<<7 | 0x10,
+ 35565 - 19968: jis0208<<14 | 0x2C<<7 | 0x00,
+ 35566 - 19968: jis0208<<14 | 0x1A<<7 | 0x4F,
+ 35568 - 19968: jis0212<<14 | 0x3D<<7 | 0x11,
+ 35569 - 19968: jis0208<<14 | 0x4A<<7 | 0x40,
+ 35571 - 19968: jis0208<<14 | 0x4A<<7 | 0x3D,
+ 35572 - 19968: jis0212<<14 | 0x3D<<7 | 0x12,
+ 35573 - 19968: jis0212<<14 | 0x3D<<7 | 0x13,
+ 35574 - 19968: jis0208<<14 | 0x5A<<7 | 0x4D,
+ 35575 - 19968: jis0208<<14 | 0x4A<<7 | 0x44,
+ 35576 - 19968: jis0208<<14 | 0x1C<<7 | 0x53,
+ 35578 - 19968: jis0208<<14 | 0x17<<7 | 0x20,
+ 35580 - 19968: jis0212<<14 | 0x3D<<7 | 0x15,
+ 35582 - 19968: jis0208<<14 | 0x21<<7 | 0x59,
+ 35583 - 19968: jis0212<<14 | 0x3D<<7 | 0x16,
+ 35584 - 19968: jis0208<<14 | 0x2A<<7 | 0x24,
+ 35585 - 19968: jis0208<<14 | 0x10<<7 | 0x39,
+ 35586 - 19968: jis0208<<14 | 0x0F<<7 | 0x41,
+ 35588 - 19968: jis0208<<14 | 0x25<<7 | 0x04,
+ 35589 - 19968: jis0212<<14 | 0x3D<<7 | 0x17,
+ 35590 - 19968: jis0212<<14 | 0x3D<<7 | 0x18,
+ 35591 - 19968: jis0208<<14 | 0x4A<<7 | 0x48,
+ 35594 - 19968: jis0212<<14 | 0x3D<<7 | 0x1E,
+ 35595 - 19968: jis0212<<14 | 0x3D<<7 | 0x19,
+ 35596 - 19968: jis0208<<14 | 0x4A<<7 | 0x47,
+ 35598 - 19968: jis0208<<14 | 0x25<<7 | 0x45,
+ 35600 - 19968: jis0208<<14 | 0x4A<<7 | 0x4C,
+ 35601 - 19968: jis0212<<14 | 0x3D<<7 | 0x1A,
+ 35604 - 19968: jis0208<<14 | 0x4A<<7 | 0x41,
+ 35606 - 19968: jis0208<<14 | 0x4A<<7 | 0x4B,
+ 35607 - 19968: jis0208<<14 | 0x4A<<7 | 0x4D,
+ 35609 - 19968: jis0208<<14 | 0x17<<7 | 0x0B,
+ 35610 - 19968: jis0208<<14 | 0x4A<<7 | 0x49,
+ 35611 - 19968: jis0208<<14 | 0x18<<7 | 0x35,
+ 35612 - 19968: jis0212<<14 | 0x3D<<7 | 0x1B,
+ 35613 - 19968: jis0208<<14 | 0x1B<<7 | 0x34,
+ 35614 - 19968: jis0212<<14 | 0x3D<<7 | 0x1C,
+ 35615 - 19968: jis0212<<14 | 0x3D<<7 | 0x1D,
+ 35616 - 19968: jis0208<<14 | 0x4A<<7 | 0x4E,
+ 35617 - 19968: jis0208<<14 | 0x2C<<7 | 0x37,
+ 35622 - 19968: jis0208<<14 | 0x4A<<7 | 0x51,
+ 35624 - 19968: jis0208<<14 | 0x4A<<7 | 0x54,
+ 35627 - 19968: jis0208<<14 | 0x4A<<7 | 0x52,
+ 35628 - 19968: jis0208<<14 | 0x28<<7 | 0x14,
+ 35629 - 19968: jis0212<<14 | 0x3D<<7 | 0x1F,
+ 35632 - 19968: jis0212<<14 | 0x3D<<7 | 0x20,
+ 35635 - 19968: jis0208<<14 | 0x4A<<7 | 0x4F,
+ 35639 - 19968: jis0212<<14 | 0x3D<<7 | 0x21,
+ 35641 - 19968: jis0208<<14 | 0x15<<7 | 0x3F,
+ 35644 - 19968: jis0212<<14 | 0x3D<<7 | 0x22,
+ 35646 - 19968: jis0208<<14 | 0x4A<<7 | 0x53,
+ 35649 - 19968: jis0208<<14 | 0x4A<<7 | 0x55,
+ 35650 - 19968: jis0212<<14 | 0x3D<<7 | 0x23,
+ 35651 - 19968: jis0212<<14 | 0x3D<<7 | 0x24,
+ 35652 - 19968: jis0212<<14 | 0x3D<<7 | 0x25,
+ 35653 - 19968: jis0212<<14 | 0x3D<<7 | 0x26,
+ 35654 - 19968: jis0212<<14 | 0x3D<<7 | 0x27,
+ 35656 - 19968: jis0212<<14 | 0x3D<<7 | 0x28,
+ 35657 - 19968: jis0208<<14 | 0x4A<<7 | 0x59,
+ 35660 - 19968: jis0208<<14 | 0x4A<<7 | 0x56,
+ 35661 - 19968: jis0212<<14 | 0x3D<<7 | 0x2D,
+ 35662 - 19968: jis0208<<14 | 0x4A<<7 | 0x58,
+ 35663 - 19968: jis0208<<14 | 0x4A<<7 | 0x57,
+ 35666 - 19968: jis0212<<14 | 0x3D<<7 | 0x29,
+ 35667 - 19968: jis0208<<14 | 0x5A<<7 | 0x4E,
+ 35668 - 19968: jis0212<<14 | 0x3D<<7 | 0x2B,
+ 35670 - 19968: jis0208<<14 | 0x4A<<7 | 0x5A,
+ 35672 - 19968: jis0208<<14 | 0x1B<<7 | 0x10,
+ 35673 - 19968: jis0212<<14 | 0x3D<<7 | 0x2C,
+ 35674 - 19968: jis0208<<14 | 0x4A<<7 | 0x5C,
+ 35675 - 19968: jis0208<<14 | 0x4A<<7 | 0x5B,
+ 35676 - 19968: jis0208<<14 | 0x28<<7 | 0x47,
+ 35678 - 19968: jis0212<<14 | 0x3D<<7 | 0x2E,
+ 35679 - 19968: jis0208<<14 | 0x4B<<7 | 0x00,
+ 35683 - 19968: jis0212<<14 | 0x3D<<7 | 0x2F,
+ 35686 - 19968: jis0208<<14 | 0x16<<7 | 0x38,
+ 35691 - 19968: jis0208<<14 | 0x4A<<7 | 0x5D,
+ 35692 - 19968: jis0208<<14 | 0x4B<<7 | 0x01,
+ 35693 - 19968: jis0212<<14 | 0x3D<<7 | 0x30,
+ 35695 - 19968: jis0208<<14 | 0x4B<<7 | 0x02,
+ 35696 - 19968: jis0208<<14 | 0x14<<7 | 0x23,
+ 35697 - 19968: jis0208<<14 | 0x45<<7 | 0x20,
+ 35698 - 19968: jis0208<<14 | 0x1D<<7 | 0x58,
+ 35700 - 19968: jis0208<<14 | 0x4B<<7 | 0x03,
+ 35702 - 19968: jis0212<<14 | 0x3D<<7 | 0x31,
+ 35703 - 19968: jis0208<<14 | 0x17<<7 | 0x4D,
+ 35704 - 19968: jis0212<<14 | 0x3D<<7 | 0x32,
+ 35705 - 19968: jis0212<<14 | 0x3D<<7 | 0x33,
+ 35708 - 19968: jis0212<<14 | 0x3D<<7 | 0x34,
+ 35709 - 19968: jis0208<<14 | 0x4B<<7 | 0x04,
+ 35710 - 19968: jis0212<<14 | 0x3D<<7 | 0x35,
+ 35711 - 19968: jis0208<<14 | 0x5A<<7 | 0x4F,
+ 35712 - 19968: jis0208<<14 | 0x4B<<7 | 0x05,
+ 35713 - 19968: jis0212<<14 | 0x3D<<7 | 0x36,
+ 35715 - 19968: jis0208<<14 | 0x1A<<7 | 0x1D,
+ 35716 - 19968: jis0212<<14 | 0x3D<<7 | 0x37,
+ 35717 - 19968: jis0212<<14 | 0x3D<<7 | 0x38,
+ 35722 - 19968: jis0208<<14 | 0x39<<7 | 0x2D,
+ 35723 - 19968: jis0212<<14 | 0x3D<<7 | 0x39,
+ 35724 - 19968: jis0208<<14 | 0x4B<<7 | 0x06,
+ 35725 - 19968: jis0212<<14 | 0x3D<<7 | 0x3A,
+ 35726 - 19968: jis0208<<14 | 0x4B<<7 | 0x07,
+ 35727 - 19968: jis0212<<14 | 0x3D<<7 | 0x3B,
+ 35728 - 19968: jis0208<<14 | 0x1C<<7 | 0x11,
+ 35730 - 19968: jis0208<<14 | 0x4B<<7 | 0x08,
+ 35731 - 19968: jis0208<<14 | 0x4B<<7 | 0x09,
+ 35732 - 19968: jis0212<<14 | 0x3D<<7 | 0x3C,
+ 35733 - 19968: jis0212<<14 | 0x3D<<7 | 0x3D,
+ 35734 - 19968: jis0208<<14 | 0x4B<<7 | 0x0A,
+ 35737 - 19968: jis0208<<14 | 0x4B<<7 | 0x0B,
+ 35738 - 19968: jis0208<<14 | 0x4B<<7 | 0x0C,
+ 35740 - 19968: jis0212<<14 | 0x3D<<7 | 0x3E,
+ 35742 - 19968: jis0212<<14 | 0x3D<<7 | 0x3F,
+ 35743 - 19968: jis0212<<14 | 0x3D<<7 | 0x40,
+ 35895 - 19968: jis0208<<14 | 0x22<<7 | 0x0A,
+ 35896 - 19968: jis0212<<14 | 0x3D<<7 | 0x41,
+ 35897 - 19968: jis0212<<14 | 0x3D<<7 | 0x42,
+ 35898 - 19968: jis0208<<14 | 0x4B<<7 | 0x0D,
+ 35901 - 19968: jis0212<<14 | 0x3D<<7 | 0x43,
+ 35902 - 19968: jis0212<<14 | 0x3D<<7 | 0x44,
+ 35903 - 19968: jis0208<<14 | 0x4B<<7 | 0x0F,
+ 35905 - 19968: jis0208<<14 | 0x4B<<7 | 0x0E,
+ 35909 - 19968: jis0212<<14 | 0x3D<<7 | 0x45,
+ 35910 - 19968: jis0208<<14 | 0x25<<7 | 0x05,
+ 35911 - 19968: jis0212<<14 | 0x3D<<7 | 0x46,
+ 35912 - 19968: jis0208<<14 | 0x4B<<7 | 0x10,
+ 35913 - 19968: jis0212<<14 | 0x3D<<7 | 0x47,
+ 35914 - 19968: jis0208<<14 | 0x2A<<7 | 0x0C,
+ 35915 - 19968: jis0212<<14 | 0x3D<<7 | 0x48,
+ 35916 - 19968: jis0208<<14 | 0x4B<<7 | 0x11,
+ 35918 - 19968: jis0208<<14 | 0x4B<<7 | 0x12,
+ 35919 - 19968: jis0212<<14 | 0x3D<<7 | 0x49,
+ 35920 - 19968: jis0208<<14 | 0x4B<<7 | 0x13,
+ 35921 - 19968: jis0212<<14 | 0x3D<<7 | 0x4A,
+ 35923 - 19968: jis0212<<14 | 0x3D<<7 | 0x4B,
+ 35924 - 19968: jis0212<<14 | 0x3D<<7 | 0x4C,
+ 35925 - 19968: jis0208<<14 | 0x4B<<7 | 0x14,
+ 35927 - 19968: jis0212<<14 | 0x3D<<7 | 0x4D,
+ 35928 - 19968: jis0212<<14 | 0x3D<<7 | 0x4E,
+ 35929 - 19968: jis0212<<14 | 0x3D<<7 | 0x51,
+ 35930 - 19968: jis0208<<14 | 0x25<<7 | 0x39,
+ 35931 - 19968: jis0212<<14 | 0x3D<<7 | 0x4F,
+ 35933 - 19968: jis0212<<14 | 0x3D<<7 | 0x50,
+ 35937 - 19968: jis0208<<14 | 0x1D<<7 | 0x3C,
+ 35938 - 19968: jis0208<<14 | 0x4B<<7 | 0x15,
+ 35939 - 19968: jis0212<<14 | 0x3D<<7 | 0x52,
+ 35940 - 19968: jis0212<<14 | 0x3D<<7 | 0x53,
+ 35942 - 19968: jis0212<<14 | 0x3D<<7 | 0x54,
+ 35944 - 19968: jis0212<<14 | 0x3D<<7 | 0x55,
+ 35945 - 19968: jis0212<<14 | 0x3D<<7 | 0x56,
+ 35946 - 19968: jis0208<<14 | 0x18<<7 | 0x4A,
+ 35947 - 19968: jis0208<<14 | 0x2F<<7 | 0x0D,
+ 35948 - 19968: jis0208<<14 | 0x4B<<7 | 0x16,
+ 35949 - 19968: jis0212<<14 | 0x3D<<7 | 0x57,
+ 35955 - 19968: jis0212<<14 | 0x3D<<7 | 0x58,
+ 35957 - 19968: jis0212<<14 | 0x3D<<7 | 0x59,
+ 35958 - 19968: jis0212<<14 | 0x3D<<7 | 0x5A,
+ 35960 - 19968: jis0208<<14 | 0x4B<<7 | 0x17,
+ 35961 - 19968: jis0208<<14 | 0x28<<7 | 0x1E,
+ 35962 - 19968: jis0208<<14 | 0x4B<<7 | 0x18,
+ 35963 - 19968: jis0212<<14 | 0x3D<<7 | 0x5B,
+ 35964 - 19968: jis0208<<14 | 0x4B<<7 | 0x20,
+ 35966 - 19968: jis0212<<14 | 0x3D<<7 | 0x5C,
+ 35970 - 19968: jis0208<<14 | 0x4B<<7 | 0x19,
+ 35973 - 19968: jis0208<<14 | 0x4B<<7 | 0x1B,
+ 35974 - 19968: jis0212<<14 | 0x3D<<7 | 0x5D,
+ 35975 - 19968: jis0212<<14 | 0x3E<<7 | 0x00,
+ 35977 - 19968: jis0208<<14 | 0x4B<<7 | 0x1A,
+ 35978 - 19968: jis0208<<14 | 0x4B<<7 | 0x1C,
+ 35979 - 19968: jis0212<<14 | 0x3E<<7 | 0x01,
+ 35980 - 19968: jis0208<<14 | 0x2A<<7 | 0x25,
+ 35981 - 19968: jis0208<<14 | 0x4B<<7 | 0x1D,
+ 35982 - 19968: jis0208<<14 | 0x4B<<7 | 0x1E,
+ 35984 - 19968: jis0212<<14 | 0x3E<<7 | 0x02,
+ 35986 - 19968: jis0212<<14 | 0x3E<<7 | 0x03,
+ 35987 - 19968: jis0212<<14 | 0x3E<<7 | 0x04,
+ 35988 - 19968: jis0208<<14 | 0x4B<<7 | 0x1F,
+ 35992 - 19968: jis0208<<14 | 0x4B<<7 | 0x21,
+ 35993 - 19968: jis0212<<14 | 0x3E<<7 | 0x05,
+ 35995 - 19968: jis0212<<14 | 0x3E<<7 | 0x06,
+ 35996 - 19968: jis0212<<14 | 0x3E<<7 | 0x07,
+ 35997 - 19968: jis0208<<14 | 0x12<<7 | 0x0C,
+ 35998 - 19968: jis0208<<14 | 0x23<<7 | 0x46,
+ 36000 - 19968: jis0208<<14 | 0x28<<7 | 0x48,
+ 36001 - 19968: jis0208<<14 | 0x19<<7 | 0x41,
+ 36002 - 19968: jis0208<<14 | 0x18<<7 | 0x36,
+ 36004 - 19968: jis0212<<14 | 0x3E<<7 | 0x08,
+ 36007 - 19968: jis0208<<14 | 0x28<<7 | 0x2E,
+ 36008 - 19968: jis0208<<14 | 0x11<<7 | 0x3E,
+ 36009 - 19968: jis0208<<14 | 0x27<<7 | 0x2D,
+ 36010 - 19968: jis0208<<14 | 0x4B<<7 | 0x24,
+ 36011 - 19968: jis0208<<14 | 0x13<<7 | 0x32,
+ 36012 - 19968: jis0208<<14 | 0x1F<<7 | 0x34,
+ 36013 - 19968: jis0208<<14 | 0x4B<<7 | 0x23,
+ 36014 - 19968: jis0208<<14 | 0x4B<<7 | 0x28,
+ 36015 - 19968: jis0208<<14 | 0x22<<7 | 0x58,
+ 36016 - 19968: jis0208<<14 | 0x2B<<7 | 0x42,
+ 36018 - 19968: jis0208<<14 | 0x4B<<7 | 0x26,
+ 36019 - 19968: jis0208<<14 | 0x4B<<7 | 0x27,
+ 36020 - 19968: jis0208<<14 | 0x14<<7 | 0x0D,
+ 36022 - 19968: jis0208<<14 | 0x4B<<7 | 0x29,
+ 36023 - 19968: jis0208<<14 | 0x26<<7 | 0x42,
+ 36024 - 19968: jis0208<<14 | 0x21<<7 | 0x3E,
+ 36025 - 19968: jis0212<<14 | 0x3E<<7 | 0x09,
+ 36026 - 19968: jis0212<<14 | 0x3E<<7 | 0x0A,
+ 36027 - 19968: jis0208<<14 | 0x27<<7 | 0x50,
+ 36028 - 19968: jis0208<<14 | 0x24<<7 | 0x1C,
+ 36029 - 19968: jis0208<<14 | 0x4B<<7 | 0x25,
+ 36031 - 19968: jis0208<<14 | 0x2A<<7 | 0x26,
+ 36032 - 19968: jis0208<<14 | 0x11<<7 | 0x4B,
+ 36033 - 19968: jis0208<<14 | 0x4B<<7 | 0x2B,
+ 36034 - 19968: jis0208<<14 | 0x2E<<7 | 0x07,
+ 36035 - 19968: jis0208<<14 | 0x23<<7 | 0x21,
+ 36036 - 19968: jis0208<<14 | 0x2E<<7 | 0x24,
+ 36037 - 19968: jis0212<<14 | 0x3E<<7 | 0x0B,
+ 36038 - 19968: jis0212<<14 | 0x3E<<7 | 0x0C,
+ 36039 - 19968: jis0208<<14 | 0x1A<<7 | 0x50,
+ 36040 - 19968: jis0208<<14 | 0x4B<<7 | 0x2A,
+ 36041 - 19968: jis0212<<14 | 0x3E<<7 | 0x0D,
+ 36042 - 19968: jis0208<<14 | 0x21<<7 | 0x10,
+ 36043 - 19968: jis0212<<14 | 0x3E<<7 | 0x0E,
+ 36045 - 19968: jis0208<<14 | 0x4B<<7 | 0x3B,
+ 36046 - 19968: jis0208<<14 | 0x20<<7 | 0x07,
+ 36047 - 19968: jis0212<<14 | 0x3E<<7 | 0x0F,
+ 36049 - 19968: jis0208<<14 | 0x25<<7 | 0x57,
+ 36051 - 19968: jis0208<<14 | 0x28<<7 | 0x2F,
+ 36053 - 19968: jis0212<<14 | 0x3E<<7 | 0x11,
+ 36054 - 19968: jis0212<<14 | 0x3E<<7 | 0x10,
+ 36057 - 19968: jis0212<<14 | 0x3E<<7 | 0x12,
+ 36058 - 19968: jis0208<<14 | 0x4B<<7 | 0x2E,
+ 36059 - 19968: jis0208<<14 | 0x1A<<7 | 0x1E,
+ 36060 - 19968: jis0208<<14 | 0x1A<<7 | 0x51,
+ 36061 - 19968: jis0212<<14 | 0x3E<<7 | 0x13,
+ 36062 - 19968: jis0208<<14 | 0x1D<<7 | 0x3D,
+ 36064 - 19968: jis0208<<14 | 0x26<<7 | 0x44,
+ 36065 - 19968: jis0212<<14 | 0x3E<<7 | 0x14,
+ 36066 - 19968: jis0208<<14 | 0x17<<7 | 0x0C,
+ 36067 - 19968: jis0208<<14 | 0x4B<<7 | 0x2D,
+ 36068 - 19968: jis0208<<14 | 0x4B<<7 | 0x2C,
+ 36070 - 19968: jis0208<<14 | 0x28<<7 | 0x49,
+ 36072 - 19968: jis0212<<14 | 0x3E<<7 | 0x15,
+ 36074 - 19968: jis0208<<14 | 0x1B<<7 | 0x20,
+ 36076 - 19968: jis0212<<14 | 0x3E<<7 | 0x16,
+ 36077 - 19968: jis0208<<14 | 0x24<<7 | 0x31,
+ 36079 - 19968: jis0212<<14 | 0x3E<<7 | 0x17,
+ 36080 - 19968: jis0208<<14 | 0x5A<<7 | 0x50,
+ 36082 - 19968: jis0212<<14 | 0x3E<<7 | 0x19,
+ 36084 - 19968: jis0208<<14 | 0x5A<<7 | 0x51,
+ 36085 - 19968: jis0212<<14 | 0x3E<<7 | 0x1A,
+ 36087 - 19968: jis0212<<14 | 0x3E<<7 | 0x1B,
+ 36088 - 19968: jis0212<<14 | 0x3E<<7 | 0x1C,
+ 36090 - 19968: jis0208<<14 | 0x4B<<7 | 0x30,
+ 36091 - 19968: jis0208<<14 | 0x4B<<7 | 0x31,
+ 36092 - 19968: jis0208<<14 | 0x18<<7 | 0x37,
+ 36093 - 19968: jis0208<<14 | 0x4B<<7 | 0x2F,
+ 36094 - 19968: jis0212<<14 | 0x3E<<7 | 0x1D,
+ 36095 - 19968: jis0212<<14 | 0x3E<<7 | 0x1E,
+ 36097 - 19968: jis0212<<14 | 0x3E<<7 | 0x1F,
+ 36099 - 19968: jis0212<<14 | 0x3E<<7 | 0x20,
+ 36100 - 19968: jis0208<<14 | 0x4B<<7 | 0x32,
+ 36101 - 19968: jis0208<<14 | 0x4B<<7 | 0x33,
+ 36103 - 19968: jis0208<<14 | 0x4B<<7 | 0x35,
+ 36104 - 19968: jis0208<<14 | 0x21<<7 | 0x02,
+ 36105 - 19968: jis0212<<14 | 0x3E<<7 | 0x21,
+ 36106 - 19968: jis0208<<14 | 0x4B<<7 | 0x34,
+ 36107 - 19968: jis0208<<14 | 0x13<<7 | 0x45,
+ 36109 - 19968: jis0208<<14 | 0x4B<<7 | 0x37,
+ 36111 - 19968: jis0208<<14 | 0x4B<<7 | 0x36,
+ 36112 - 19968: jis0208<<14 | 0x4B<<7 | 0x38,
+ 36114 - 19968: jis0208<<14 | 0x5A<<7 | 0x52,
+ 36115 - 19968: jis0208<<14 | 0x4B<<7 | 0x3A,
+ 36116 - 19968: jis0208<<14 | 0x4B<<7 | 0x3C,
+ 36118 - 19968: jis0208<<14 | 0x4B<<7 | 0x3D,
+ 36119 - 19968: jis0212<<14 | 0x3E<<7 | 0x23,
+ 36123 - 19968: jis0212<<14 | 0x3E<<7 | 0x24,
+ 36196 - 19968: jis0208<<14 | 0x1F<<7 | 0x35,
+ 36197 - 19968: jis0212<<14 | 0x3E<<7 | 0x25,
+ 36198 - 19968: jis0208<<14 | 0x1B<<7 | 0x2E,
+ 36199 - 19968: jis0208<<14 | 0x4B<<7 | 0x3E,
+ 36201 - 19968: jis0212<<14 | 0x3E<<7 | 0x26,
+ 36203 - 19968: jis0208<<14 | 0x12<<7 | 0x31,
+ 36204 - 19968: jis0212<<14 | 0x3E<<7 | 0x27,
+ 36205 - 19968: jis0208<<14 | 0x4B<<7 | 0x3F,
+ 36206 - 19968: jis0212<<14 | 0x3E<<7 | 0x28,
+ 36208 - 19968: jis0208<<14 | 0x20<<7 | 0x55,
+ 36209 - 19968: jis0208<<14 | 0x4B<<7 | 0x40,
+ 36211 - 19968: jis0208<<14 | 0x4B<<7 | 0x41,
+ 36212 - 19968: jis0208<<14 | 0x28<<7 | 0x4A,
+ 36214 - 19968: jis0208<<14 | 0x5A<<7 | 0x53,
+ 36215 - 19968: jis0208<<14 | 0x14<<7 | 0x0E,
+ 36223 - 19968: jis0212<<14 | 0x3E<<7 | 0x29,
+ 36225 - 19968: jis0208<<14 | 0x4B<<7 | 0x42,
+ 36226 - 19968: jis0212<<14 | 0x3E<<7 | 0x2A,
+ 36228 - 19968: jis0212<<14 | 0x3E<<7 | 0x2B,
+ 36229 - 19968: jis0208<<14 | 0x23<<7 | 0x15,
+ 36232 - 19968: jis0212<<14 | 0x3E<<7 | 0x2C,
+ 36234 - 19968: jis0208<<14 | 0x10<<7 | 0x3A,
+ 36237 - 19968: jis0212<<14 | 0x3E<<7 | 0x2D,
+ 36240 - 19968: jis0212<<14 | 0x3E<<7 | 0x2E,
+ 36241 - 19968: jis0212<<14 | 0x3E<<7 | 0x2F,
+ 36245 - 19968: jis0212<<14 | 0x3E<<7 | 0x30,
+ 36249 - 19968: jis0208<<14 | 0x4B<<7 | 0x43,
+ 36254 - 19968: jis0212<<14 | 0x3E<<7 | 0x31,
+ 36255 - 19968: jis0212<<14 | 0x3E<<7 | 0x32,
+ 36256 - 19968: jis0212<<14 | 0x3E<<7 | 0x33,
+ 36259 - 19968: jis0208<<14 | 0x1B<<7 | 0x50,
+ 36262 - 19968: jis0212<<14 | 0x3E<<7 | 0x34,
+ 36264 - 19968: jis0208<<14 | 0x1E<<7 | 0x55,
+ 36267 - 19968: jis0212<<14 | 0x3E<<7 | 0x35,
+ 36268 - 19968: jis0212<<14 | 0x3E<<7 | 0x36,
+ 36271 - 19968: jis0212<<14 | 0x3E<<7 | 0x37,
+ 36274 - 19968: jis0212<<14 | 0x3E<<7 | 0x38,
+ 36275 - 19968: jis0208<<14 | 0x21<<7 | 0x0C,
+ 36277 - 19968: jis0212<<14 | 0x3E<<7 | 0x39,
+ 36279 - 19968: jis0212<<14 | 0x3E<<7 | 0x3A,
+ 36281 - 19968: jis0212<<14 | 0x3E<<7 | 0x3B,
+ 36282 - 19968: jis0208<<14 | 0x4B<<7 | 0x46,
+ 36283 - 19968: jis0212<<14 | 0x3E<<7 | 0x3C,
+ 36284 - 19968: jis0212<<14 | 0x3E<<7 | 0x4E,
+ 36286 - 19968: jis0208<<14 | 0x4B<<7 | 0x45,
+ 36288 - 19968: jis0212<<14 | 0x3E<<7 | 0x3D,
+ 36290 - 19968: jis0208<<14 | 0x4B<<7 | 0x44,
+ 36293 - 19968: jis0212<<14 | 0x3E<<7 | 0x3E,
+ 36294 - 19968: jis0212<<14 | 0x3E<<7 | 0x3F,
+ 36295 - 19968: jis0212<<14 | 0x3E<<7 | 0x40,
+ 36296 - 19968: jis0212<<14 | 0x3E<<7 | 0x41,
+ 36298 - 19968: jis0212<<14 | 0x3E<<7 | 0x42,
+ 36299 - 19968: jis0208<<14 | 0x4B<<7 | 0x4C,
+ 36300 - 19968: jis0208<<14 | 0x4B<<7 | 0x4A,
+ 36302 - 19968: jis0212<<14 | 0x3E<<7 | 0x43,
+ 36303 - 19968: jis0208<<14 | 0x4B<<7 | 0x47,
+ 36305 - 19968: jis0212<<14 | 0x3E<<7 | 0x44,
+ 36308 - 19968: jis0212<<14 | 0x3E<<7 | 0x45,
+ 36309 - 19968: jis0212<<14 | 0x3E<<7 | 0x46,
+ 36310 - 19968: jis0208<<14 | 0x4B<<7 | 0x49,
+ 36311 - 19968: jis0212<<14 | 0x3E<<7 | 0x47,
+ 36313 - 19968: jis0212<<14 | 0x3E<<7 | 0x48,
+ 36314 - 19968: jis0208<<14 | 0x4B<<7 | 0x48,
+ 36315 - 19968: jis0208<<14 | 0x4B<<7 | 0x4B,
+ 36317 - 19968: jis0208<<14 | 0x14<<7 | 0x56,
+ 36319 - 19968: jis0208<<14 | 0x4B<<7 | 0x4F,
+ 36321 - 19968: jis0208<<14 | 0x1F<<7 | 0x36,
+ 36323 - 19968: jis0208<<14 | 0x4B<<7 | 0x50,
+ 36324 - 19968: jis0212<<14 | 0x3E<<7 | 0x49,
+ 36325 - 19968: jis0212<<14 | 0x3E<<7 | 0x4A,
+ 36327 - 19968: jis0212<<14 | 0x3E<<7 | 0x4B,
+ 36328 - 19968: jis0208<<14 | 0x17<<7 | 0x38,
+ 36330 - 19968: jis0208<<14 | 0x4B<<7 | 0x4D,
+ 36331 - 19968: jis0208<<14 | 0x4B<<7 | 0x4E,
+ 36332 - 19968: jis0212<<14 | 0x3E<<7 | 0x4C,
+ 36335 - 19968: jis0208<<14 | 0x2E<<7 | 0x08,
+ 36336 - 19968: jis0212<<14 | 0x3E<<7 | 0x4D,
+ 36337 - 19968: jis0212<<14 | 0x3E<<7 | 0x4F,
+ 36338 - 19968: jis0212<<14 | 0x3E<<7 | 0x50,
+ 36339 - 19968: jis0208<<14 | 0x23<<7 | 0x16,
+ 36340 - 19968: jis0212<<14 | 0x3E<<7 | 0x51,
+ 36341 - 19968: jis0208<<14 | 0x20<<7 | 0x08,
+ 36348 - 19968: jis0208<<14 | 0x4B<<7 | 0x51,
+ 36349 - 19968: jis0212<<14 | 0x3E<<7 | 0x52,
+ 36351 - 19968: jis0208<<14 | 0x4B<<7 | 0x54,
+ 36353 - 19968: jis0212<<14 | 0x3E<<7 | 0x53,
+ 36356 - 19968: jis0212<<14 | 0x3E<<7 | 0x54,
+ 36357 - 19968: jis0212<<14 | 0x3E<<7 | 0x55,
+ 36358 - 19968: jis0212<<14 | 0x3E<<7 | 0x56,
+ 36360 - 19968: jis0208<<14 | 0x4B<<7 | 0x52,
+ 36361 - 19968: jis0208<<14 | 0x4B<<7 | 0x53,
+ 36362 - 19968: jis0208<<14 | 0x2C<<7 | 0x38,
+ 36363 - 19968: jis0212<<14 | 0x3E<<7 | 0x57,
+ 36367 - 19968: jis0208<<14 | 0x25<<7 | 0x06,
+ 36368 - 19968: jis0208<<14 | 0x4B<<7 | 0x57,
+ 36369 - 19968: jis0212<<14 | 0x3E<<7 | 0x58,
+ 36372 - 19968: jis0212<<14 | 0x3E<<7 | 0x59,
+ 36374 - 19968: jis0212<<14 | 0x3E<<7 | 0x5A,
+ 36381 - 19968: jis0208<<14 | 0x4B<<7 | 0x55,
+ 36382 - 19968: jis0208<<14 | 0x4B<<7 | 0x56,
+ 36383 - 19968: jis0208<<14 | 0x4B<<7 | 0x58,
+ 36384 - 19968: jis0212<<14 | 0x3E<<7 | 0x5B,
+ 36385 - 19968: jis0212<<14 | 0x3E<<7 | 0x5C,
+ 36386 - 19968: jis0212<<14 | 0x3E<<7 | 0x5D,
+ 36387 - 19968: jis0212<<14 | 0x3F<<7 | 0x00,
+ 36390 - 19968: jis0212<<14 | 0x3F<<7 | 0x01,
+ 36391 - 19968: jis0212<<14 | 0x3F<<7 | 0x02,
+ 36394 - 19968: jis0208<<14 | 0x4C<<7 | 0x08,
+ 36400 - 19968: jis0208<<14 | 0x4B<<7 | 0x5B,
+ 36401 - 19968: jis0212<<14 | 0x3F<<7 | 0x03,
+ 36403 - 19968: jis0212<<14 | 0x3F<<7 | 0x04,
+ 36404 - 19968: jis0208<<14 | 0x4B<<7 | 0x5C,
+ 36405 - 19968: jis0208<<14 | 0x4B<<7 | 0x5A,
+ 36406 - 19968: jis0212<<14 | 0x3F<<7 | 0x05,
+ 36407 - 19968: jis0212<<14 | 0x3F<<7 | 0x06,
+ 36408 - 19968: jis0212<<14 | 0x3F<<7 | 0x07,
+ 36409 - 19968: jis0212<<14 | 0x3F<<7 | 0x08,
+ 36413 - 19968: jis0212<<14 | 0x3F<<7 | 0x09,
+ 36416 - 19968: jis0212<<14 | 0x3F<<7 | 0x0A,
+ 36417 - 19968: jis0212<<14 | 0x3F<<7 | 0x0B,
+ 36418 - 19968: jis0208<<14 | 0x4B<<7 | 0x59,
+ 36420 - 19968: jis0208<<14 | 0x23<<7 | 0x5C,
+ 36423 - 19968: jis0208<<14 | 0x4C<<7 | 0x00,
+ 36424 - 19968: jis0208<<14 | 0x4C<<7 | 0x04,
+ 36425 - 19968: jis0208<<14 | 0x4C<<7 | 0x01,
+ 36426 - 19968: jis0208<<14 | 0x4B<<7 | 0x5D,
+ 36427 - 19968: jis0212<<14 | 0x3F<<7 | 0x0C,
+ 36428 - 19968: jis0208<<14 | 0x4C<<7 | 0x02,
+ 36429 - 19968: jis0212<<14 | 0x3F<<7 | 0x0D,
+ 36430 - 19968: jis0212<<14 | 0x3F<<7 | 0x0E,
+ 36431 - 19968: jis0212<<14 | 0x3F<<7 | 0x0F,
+ 36432 - 19968: jis0208<<14 | 0x4C<<7 | 0x03,
+ 36436 - 19968: jis0212<<14 | 0x3F<<7 | 0x10,
+ 36437 - 19968: jis0208<<14 | 0x4C<<7 | 0x0A,
+ 36441 - 19968: jis0208<<14 | 0x4C<<7 | 0x05,
+ 36443 - 19968: jis0212<<14 | 0x3F<<7 | 0x11,
+ 36444 - 19968: jis0212<<14 | 0x3F<<7 | 0x12,
+ 36445 - 19968: jis0212<<14 | 0x3F<<7 | 0x13,
+ 36446 - 19968: jis0212<<14 | 0x3F<<7 | 0x14,
+ 36447 - 19968: jis0208<<14 | 0x1F<<7 | 0x37,
+ 36448 - 19968: jis0208<<14 | 0x4C<<7 | 0x07,
+ 36449 - 19968: jis0212<<14 | 0x3F<<7 | 0x15,
+ 36450 - 19968: jis0212<<14 | 0x3F<<7 | 0x16,
+ 36451 - 19968: jis0208<<14 | 0x4C<<7 | 0x09,
+ 36452 - 19968: jis0208<<14 | 0x4C<<7 | 0x06,
+ 36457 - 19968: jis0212<<14 | 0x3F<<7 | 0x17,
+ 36460 - 19968: jis0212<<14 | 0x3F<<7 | 0x18,
+ 36461 - 19968: jis0212<<14 | 0x3F<<7 | 0x19,
+ 36463 - 19968: jis0212<<14 | 0x3F<<7 | 0x1A,
+ 36464 - 19968: jis0212<<14 | 0x3F<<7 | 0x1B,
+ 36465 - 19968: jis0212<<14 | 0x3F<<7 | 0x1C,
+ 36466 - 19968: jis0208<<14 | 0x4C<<7 | 0x0C,
+ 36468 - 19968: jis0208<<14 | 0x1C<<7 | 0x12,
+ 36470 - 19968: jis0208<<14 | 0x4C<<7 | 0x0B,
+ 36473 - 19968: jis0212<<14 | 0x3F<<7 | 0x1D,
+ 36474 - 19968: jis0212<<14 | 0x3F<<7 | 0x1E,
+ 36475 - 19968: jis0212<<14 | 0x3F<<7 | 0x1F,
+ 36476 - 19968: jis0208<<14 | 0x4C<<7 | 0x0D,
+ 36481 - 19968: jis0208<<14 | 0x4C<<7 | 0x0E,
+ 36482 - 19968: jis0212<<14 | 0x3F<<7 | 0x20,
+ 36483 - 19968: jis0212<<14 | 0x3F<<7 | 0x21,
+ 36484 - 19968: jis0208<<14 | 0x4C<<7 | 0x11,
+ 36485 - 19968: jis0208<<14 | 0x4C<<7 | 0x10,
+ 36487 - 19968: jis0208<<14 | 0x4C<<7 | 0x0F,
+ 36489 - 19968: jis0212<<14 | 0x3F<<7 | 0x22,
+ 36490 - 19968: jis0208<<14 | 0x4C<<7 | 0x13,
+ 36491 - 19968: jis0208<<14 | 0x4C<<7 | 0x12,
+ 36493 - 19968: jis0208<<14 | 0x2B<<7 | 0x55,
+ 36496 - 19968: jis0212<<14 | 0x3F<<7 | 0x23,
+ 36497 - 19968: jis0208<<14 | 0x4C<<7 | 0x15,
+ 36498 - 19968: jis0212<<14 | 0x3F<<7 | 0x24,
+ 36499 - 19968: jis0208<<14 | 0x4C<<7 | 0x14,
+ 36500 - 19968: jis0208<<14 | 0x4C<<7 | 0x16,
+ 36501 - 19968: jis0212<<14 | 0x3F<<7 | 0x25,
+ 36505 - 19968: jis0208<<14 | 0x4C<<7 | 0x17,
+ 36506 - 19968: jis0212<<14 | 0x3F<<7 | 0x26,
+ 36507 - 19968: jis0212<<14 | 0x3F<<7 | 0x27,
+ 36509 - 19968: jis0212<<14 | 0x3F<<7 | 0x28,
+ 36510 - 19968: jis0212<<14 | 0x3F<<7 | 0x29,
+ 36513 - 19968: jis0208<<14 | 0x4C<<7 | 0x19,
+ 36514 - 19968: jis0212<<14 | 0x3F<<7 | 0x2A,
+ 36519 - 19968: jis0212<<14 | 0x3F<<7 | 0x2B,
+ 36521 - 19968: jis0212<<14 | 0x3F<<7 | 0x2C,
+ 36522 - 19968: jis0208<<14 | 0x4C<<7 | 0x18,
+ 36523 - 19968: jis0208<<14 | 0x1E<<7 | 0x27,
+ 36524 - 19968: jis0208<<14 | 0x4C<<7 | 0x1A,
+ 36525 - 19968: jis0212<<14 | 0x3F<<7 | 0x2D,
+ 36526 - 19968: jis0212<<14 | 0x3F<<7 | 0x2E,
+ 36527 - 19968: jis0208<<14 | 0x15<<7 | 0x4C,
+ 36528 - 19968: jis0208<<14 | 0x4C<<7 | 0x1B,
+ 36529 - 19968: jis0208<<14 | 0x4C<<7 | 0x1D,
+ 36531 - 19968: jis0212<<14 | 0x3F<<7 | 0x2F,
+ 36533 - 19968: jis0212<<14 | 0x3F<<7 | 0x30,
+ 36538 - 19968: jis0212<<14 | 0x3F<<7 | 0x31,
+ 36539 - 19968: jis0212<<14 | 0x3F<<7 | 0x32,
+ 36542 - 19968: jis0208<<14 | 0x4C<<7 | 0x1E,
+ 36544 - 19968: jis0212<<14 | 0x3F<<7 | 0x33,
+ 36545 - 19968: jis0212<<14 | 0x3F<<7 | 0x34,
+ 36547 - 19968: jis0212<<14 | 0x3F<<7 | 0x35,
+ 36548 - 19968: jis0212<<14 | 0x3F<<7 | 0x36,
+ 36549 - 19968: jis0208<<14 | 0x4C<<7 | 0x1F,
+ 36550 - 19968: jis0208<<14 | 0x4C<<7 | 0x1C,
+ 36551 - 19968: jis0212<<14 | 0x3F<<7 | 0x37,
+ 36552 - 19968: jis0208<<14 | 0x4C<<7 | 0x20,
+ 36554 - 19968: jis0208<<14 | 0x1B<<7 | 0x35,
+ 36555 - 19968: jis0208<<14 | 0x4C<<7 | 0x21,
+ 36556 - 19968: jis0208<<14 | 0x14<<7 | 0x0F,
+ 36557 - 19968: jis0208<<14 | 0x16<<7 | 0x12,
+ 36559 - 19968: jis0208<<14 | 0x5A<<7 | 0x55,
+ 36561 - 19968: jis0212<<14 | 0x3F<<7 | 0x39,
+ 36562 - 19968: jis0208<<14 | 0x17<<7 | 0x0D,
+ 36564 - 19968: jis0212<<14 | 0x3F<<7 | 0x3A,
+ 36571 - 19968: jis0208<<14 | 0x4C<<7 | 0x22,
+ 36572 - 19968: jis0212<<14 | 0x3F<<7 | 0x3B,
+ 36575 - 19968: jis0208<<14 | 0x25<<7 | 0x4F,
+ 36578 - 19968: jis0208<<14 | 0x24<<7 | 0x1D,
+ 36579 - 19968: jis0208<<14 | 0x4C<<7 | 0x23,
+ 36584 - 19968: jis0212<<14 | 0x3F<<7 | 0x3C,
+ 36587 - 19968: jis0208<<14 | 0x4C<<7 | 0x26,
+ 36589 - 19968: jis0212<<14 | 0x3F<<7 | 0x43,
+ 36590 - 19968: jis0212<<14 | 0x3F<<7 | 0x3D,
+ 36592 - 19968: jis0212<<14 | 0x3F<<7 | 0x3E,
+ 36593 - 19968: jis0212<<14 | 0x3F<<7 | 0x3F,
+ 36599 - 19968: jis0212<<14 | 0x3F<<7 | 0x40,
+ 36600 - 19968: jis0208<<14 | 0x1B<<7 | 0x13,
+ 36601 - 19968: jis0212<<14 | 0x3F<<7 | 0x41,
+ 36602 - 19968: jis0212<<14 | 0x3F<<7 | 0x42,
+ 36603 - 19968: jis0208<<14 | 0x4C<<7 | 0x25,
+ 36604 - 19968: jis0208<<14 | 0x4C<<7 | 0x24,
+ 36605 - 19968: jis0208<<14 | 0x16<<7 | 0x39,
+ 36606 - 19968: jis0208<<14 | 0x4C<<7 | 0x27,
+ 36608 - 19968: jis0212<<14 | 0x3F<<7 | 0x44,
+ 36610 - 19968: jis0212<<14 | 0x3F<<7 | 0x45,
+ 36611 - 19968: jis0208<<14 | 0x12<<7 | 0x32,
+ 36613 - 19968: jis0208<<14 | 0x4C<<7 | 0x29,
+ 36615 - 19968: jis0212<<14 | 0x3F<<7 | 0x46,
+ 36616 - 19968: jis0212<<14 | 0x3F<<7 | 0x47,
+ 36617 - 19968: jis0208<<14 | 0x19<<7 | 0x3B,
+ 36618 - 19968: jis0208<<14 | 0x4C<<7 | 0x28,
+ 36620 - 19968: jis0208<<14 | 0x4C<<7 | 0x31,
+ 36623 - 19968: jis0212<<14 | 0x3F<<7 | 0x48,
+ 36624 - 19968: jis0212<<14 | 0x3F<<7 | 0x49,
+ 36626 - 19968: jis0208<<14 | 0x4C<<7 | 0x2B,
+ 36627 - 19968: jis0208<<14 | 0x4C<<7 | 0x2D,
+ 36628 - 19968: jis0208<<14 | 0x29<<7 | 0x44,
+ 36629 - 19968: jis0208<<14 | 0x4C<<7 | 0x2A,
+ 36630 - 19968: jis0212<<14 | 0x3F<<7 | 0x4A,
+ 36631 - 19968: jis0212<<14 | 0x3F<<7 | 0x4B,
+ 36632 - 19968: jis0212<<14 | 0x3F<<7 | 0x4C,
+ 36633 - 19968: jis0208<<14 | 0x4C<<7 | 0x2C,
+ 36635 - 19968: jis0208<<14 | 0x4C<<7 | 0x30,
+ 36636 - 19968: jis0208<<14 | 0x4C<<7 | 0x2E,
+ 36637 - 19968: jis0208<<14 | 0x14<<7 | 0x10,
+ 36638 - 19968: jis0212<<14 | 0x3F<<7 | 0x4D,
+ 36639 - 19968: jis0208<<14 | 0x4C<<7 | 0x2F,
+ 36640 - 19968: jis0212<<14 | 0x3F<<7 | 0x4E,
+ 36641 - 19968: jis0212<<14 | 0x3F<<7 | 0x4F,
+ 36643 - 19968: jis0212<<14 | 0x3F<<7 | 0x50,
+ 36645 - 19968: jis0212<<14 | 0x3F<<7 | 0x51,
+ 36646 - 19968: jis0208<<14 | 0x4C<<7 | 0x32,
+ 36647 - 19968: jis0212<<14 | 0x3F<<7 | 0x52,
+ 36648 - 19968: jis0212<<14 | 0x3F<<7 | 0x53,
+ 36649 - 19968: jis0208<<14 | 0x26<<7 | 0x39,
+ 36650 - 19968: jis0208<<14 | 0x2D<<7 | 0x37,
+ 36652 - 19968: jis0212<<14 | 0x3F<<7 | 0x54,
+ 36653 - 19968: jis0212<<14 | 0x3F<<7 | 0x55,
+ 36654 - 19968: jis0212<<14 | 0x3F<<7 | 0x56,
+ 36655 - 19968: jis0208<<14 | 0x1C<<7 | 0x13,
+ 36659 - 19968: jis0208<<14 | 0x4C<<7 | 0x33,
+ 36660 - 19968: jis0212<<14 | 0x3F<<7 | 0x57,
+ 36661 - 19968: jis0212<<14 | 0x3F<<7 | 0x58,
+ 36662 - 19968: jis0212<<14 | 0x3F<<7 | 0x59,
+ 36663 - 19968: jis0212<<14 | 0x3F<<7 | 0x5A,
+ 36664 - 19968: jis0208<<14 | 0x2C<<7 | 0x01,
+ 36665 - 19968: jis0208<<14 | 0x4C<<7 | 0x35,
+ 36666 - 19968: jis0212<<14 | 0x3F<<7 | 0x5B,
+ 36667 - 19968: jis0208<<14 | 0x4C<<7 | 0x34,
+ 36670 - 19968: jis0208<<14 | 0x4C<<7 | 0x38,
+ 36671 - 19968: jis0208<<14 | 0x2C<<7 | 0x20,
+ 36672 - 19968: jis0212<<14 | 0x3F<<7 | 0x5C,
+ 36673 - 19968: jis0212<<14 | 0x3F<<7 | 0x5D,
+ 36674 - 19968: jis0208<<14 | 0x4C<<7 | 0x37,
+ 36675 - 19968: jis0212<<14 | 0x40<<7 | 0x00,
+ 36676 - 19968: jis0208<<14 | 0x12<<7 | 0x4C,
+ 36677 - 19968: jis0208<<14 | 0x4C<<7 | 0x36,
+ 36678 - 19968: jis0208<<14 | 0x4C<<7 | 0x3B,
+ 36679 - 19968: jis0212<<14 | 0x40<<7 | 0x01,
+ 36681 - 19968: jis0208<<14 | 0x4C<<7 | 0x3A,
+ 36684 - 19968: jis0208<<14 | 0x4C<<7 | 0x39,
+ 36685 - 19968: jis0208<<14 | 0x24<<7 | 0x11,
+ 36686 - 19968: jis0208<<14 | 0x4C<<7 | 0x3C,
+ 36687 - 19968: jis0212<<14 | 0x40<<7 | 0x02,
+ 36689 - 19968: jis0212<<14 | 0x40<<7 | 0x03,
+ 36690 - 19968: jis0212<<14 | 0x40<<7 | 0x04,
+ 36691 - 19968: jis0212<<14 | 0x40<<7 | 0x05,
+ 36692 - 19968: jis0212<<14 | 0x40<<7 | 0x06,
+ 36693 - 19968: jis0212<<14 | 0x40<<7 | 0x07,
+ 36695 - 19968: jis0208<<14 | 0x4C<<7 | 0x3D,
+ 36696 - 19968: jis0212<<14 | 0x40<<7 | 0x08,
+ 36700 - 19968: jis0208<<14 | 0x4C<<7 | 0x3E,
+ 36701 - 19968: jis0212<<14 | 0x40<<7 | 0x09,
+ 36702 - 19968: jis0212<<14 | 0x40<<7 | 0x0A,
+ 36703 - 19968: jis0208<<14 | 0x18<<7 | 0x4B,
+ 36705 - 19968: jis0208<<14 | 0x16<<7 | 0x04,
+ 36706 - 19968: jis0208<<14 | 0x4C<<7 | 0x3F,
+ 36707 - 19968: jis0208<<14 | 0x4C<<7 | 0x40,
+ 36708 - 19968: jis0208<<14 | 0x4C<<7 | 0x41,
+ 36709 - 19968: jis0212<<14 | 0x40<<7 | 0x0B,
+ 36763 - 19968: jis0208<<14 | 0x1E<<7 | 0x28,
+ 36764 - 19968: jis0208<<14 | 0x4C<<7 | 0x42,
+ 36765 - 19968: jis0212<<14 | 0x40<<7 | 0x0C,
+ 36766 - 19968: jis0208<<14 | 0x1B<<7 | 0x0C,
+ 36767 - 19968: jis0208<<14 | 0x4C<<7 | 0x43,
+ 36768 - 19968: jis0212<<14 | 0x40<<7 | 0x0D,
+ 36769 - 19968: jis0212<<14 | 0x40<<7 | 0x0E,
+ 36771 - 19968: jis0208<<14 | 0x4C<<7 | 0x44,
+ 36772 - 19968: jis0212<<14 | 0x40<<7 | 0x0F,
+ 36773 - 19968: jis0212<<14 | 0x40<<7 | 0x10,
+ 36774 - 19968: jis0212<<14 | 0x40<<7 | 0x11,
+ 36775 - 19968: jis0208<<14 | 0x31<<7 | 0x00,
+ 36776 - 19968: jis0208<<14 | 0x30<<7 | 0x5D,
+ 36781 - 19968: jis0208<<14 | 0x4C<<7 | 0x45,
+ 36782 - 19968: jis0208<<14 | 0x44<<7 | 0x4F,
+ 36783 - 19968: jis0208<<14 | 0x4C<<7 | 0x46,
+ 36784 - 19968: jis0208<<14 | 0x22<<7 | 0x03,
+ 36785 - 19968: jis0208<<14 | 0x1E<<7 | 0x0A,
+ 36786 - 19968: jis0208<<14 | 0x26<<7 | 0x1F,
+ 36789 - 19968: jis0212<<14 | 0x40<<7 | 0x12,
+ 36790 - 19968: jis0212<<14 | 0x40<<7 | 0x13,
+ 36791 - 19968: jis0208<<14 | 0x4C<<7 | 0x47,
+ 36792 - 19968: jis0212<<14 | 0x40<<7 | 0x14,
+ 36794 - 19968: jis0208<<14 | 0x29<<7 | 0x34,
+ 36795 - 19968: jis0208<<14 | 0x23<<7 | 0x33,
+ 36796 - 19968: jis0208<<14 | 0x18<<7 | 0x5D,
+ 36798 - 19968: jis0212<<14 | 0x40<<7 | 0x15,
+ 36799 - 19968: jis0208<<14 | 0x22<<7 | 0x08,
+ 36800 - 19968: jis0212<<14 | 0x40<<7 | 0x16,
+ 36801 - 19968: jis0212<<14 | 0x40<<7 | 0x17,
+ 36802 - 19968: jis0208<<14 | 0x10<<7 | 0x09,
+ 36804 - 19968: jis0208<<14 | 0x2A<<7 | 0x57,
+ 36805 - 19968: jis0208<<14 | 0x1E<<7 | 0x36,
+ 36806 - 19968: jis0212<<14 | 0x40<<7 | 0x18,
+ 36810 - 19968: jis0212<<14 | 0x40<<7 | 0x19,
+ 36811 - 19968: jis0212<<14 | 0x40<<7 | 0x1A,
+ 36813 - 19968: jis0212<<14 | 0x40<<7 | 0x1B,
+ 36814 - 19968: jis0208<<14 | 0x16<<7 | 0x3D,
+ 36816 - 19968: jis0212<<14 | 0x40<<7 | 0x1C,
+ 36817 - 19968: jis0208<<14 | 0x15<<7 | 0x40,
+ 36818 - 19968: jis0212<<14 | 0x40<<7 | 0x1D,
+ 36819 - 19968: jis0212<<14 | 0x40<<7 | 0x1E,
+ 36820 - 19968: jis0208<<14 | 0x29<<7 | 0x35,
+ 36821 - 19968: jis0212<<14 | 0x40<<7 | 0x1F,
+ 36826 - 19968: jis0208<<14 | 0x4C<<7 | 0x48,
+ 36832 - 19968: jis0212<<14 | 0x40<<7 | 0x20,
+ 36834 - 19968: jis0208<<14 | 0x4C<<7 | 0x4A,
+ 36835 - 19968: jis0212<<14 | 0x40<<7 | 0x21,
+ 36836 - 19968: jis0212<<14 | 0x40<<7 | 0x22,
+ 36837 - 19968: jis0208<<14 | 0x4C<<7 | 0x49,
+ 36838 - 19968: jis0208<<14 | 0x11<<7 | 0x3F,
+ 36840 - 19968: jis0212<<14 | 0x40<<7 | 0x23,
+ 36841 - 19968: jis0208<<14 | 0x25<<7 | 0x55,
+ 36842 - 19968: jis0208<<14 | 0x4C<<7 | 0x4B,
+ 36843 - 19968: jis0208<<14 | 0x26<<7 | 0x56,
+ 36845 - 19968: jis0208<<14 | 0x24<<7 | 0x12,
+ 36846 - 19968: jis0212<<14 | 0x40<<7 | 0x24,
+ 36847 - 19968: jis0208<<14 | 0x4C<<7 | 0x4C,
+ 36848 - 19968: jis0208<<14 | 0x1C<<7 | 0x31,
+ 36849 - 19968: jis0212<<14 | 0x40<<7 | 0x25,
+ 36852 - 19968: jis0208<<14 | 0x4C<<7 | 0x4E,
+ 36853 - 19968: jis0212<<14 | 0x40<<7 | 0x26,
+ 36854 - 19968: jis0212<<14 | 0x40<<7 | 0x27,
+ 36855 - 19968: jis0208<<14 | 0x2B<<7 | 0x21,
+ 36856 - 19968: jis0208<<14 | 0x4C<<7 | 0x5D,
+ 36857 - 19968: jis0208<<14 | 0x4C<<7 | 0x50,
+ 36858 - 19968: jis0208<<14 | 0x4C<<7 | 0x51,
+ 36859 - 19968: jis0212<<14 | 0x40<<7 | 0x28,
+ 36861 - 19968: jis0208<<14 | 0x23<<7 | 0x28,
+ 36862 - 19968: jis0212<<14 | 0x40<<7 | 0x29,
+ 36864 - 19968: jis0208<<14 | 0x21<<7 | 0x3F,
+ 36865 - 19968: jis0208<<14 | 0x20<<7 | 0x56,
+ 36866 - 19968: jis0212<<14 | 0x40<<7 | 0x2A,
+ 36867 - 19968: jis0208<<14 | 0x25<<7 | 0x07,
+ 36868 - 19968: jis0212<<14 | 0x40<<7 | 0x2B,
+ 36869 - 19968: jis0208<<14 | 0x4C<<7 | 0x4F,
+ 36870 - 19968: jis0208<<14 | 0x14<<7 | 0x34,
+ 36872 - 19968: jis0212<<14 | 0x40<<7 | 0x2C,
+ 36875 - 19968: jis0208<<14 | 0x4C<<7 | 0x58,
+ 36876 - 19968: jis0212<<14 | 0x40<<7 | 0x2D,
+ 36877 - 19968: jis0208<<14 | 0x4C<<7 | 0x55,
+ 36878 - 19968: jis0208<<14 | 0x4D<<7 | 0x04,
+ 36879 - 19968: jis0208<<14 | 0x25<<7 | 0x08,
+ 36880 - 19968: jis0208<<14 | 0x22<<7 | 0x3F,
+ 36881 - 19968: jis0208<<14 | 0x4C<<7 | 0x52,
+ 36883 - 19968: jis0208<<14 | 0x23<<7 | 0x5D,
+ 36884 - 19968: jis0208<<14 | 0x24<<7 | 0x32,
+ 36885 - 19968: jis0208<<14 | 0x4C<<7 | 0x53,
+ 36886 - 19968: jis0208<<14 | 0x4C<<7 | 0x57,
+ 36887 - 19968: jis0208<<14 | 0x1E<<7 | 0x3F,
+ 36888 - 19968: jis0212<<14 | 0x40<<7 | 0x2E,
+ 36889 - 19968: jis0208<<14 | 0x26<<7 | 0x46,
+ 36890 - 19968: jis0208<<14 | 0x23<<7 | 0x2B,
+ 36891 - 19968: jis0212<<14 | 0x40<<7 | 0x2F,
+ 36893 - 19968: jis0208<<14 | 0x1F<<7 | 0x21,
+ 36894 - 19968: jis0208<<14 | 0x4C<<7 | 0x56,
+ 36895 - 19968: jis0208<<14 | 0x21<<7 | 0x0D,
+ 36896 - 19968: jis0208<<14 | 0x21<<7 | 0x03,
+ 36897 - 19968: jis0208<<14 | 0x4C<<7 | 0x54,
+ 36898 - 19968: jis0208<<14 | 0x0F<<7 | 0x08,
+ 36899 - 19968: jis0208<<14 | 0x2E<<7 | 0x01,
+ 36903 - 19968: jis0208<<14 | 0x4C<<7 | 0x59,
+ 36904 - 19968: jis0212<<14 | 0x40<<7 | 0x30,
+ 36905 - 19968: jis0212<<14 | 0x40<<7 | 0x31,
+ 36906 - 19968: jis0212<<14 | 0x40<<7 | 0x33,
+ 36908 - 19968: jis0212<<14 | 0x40<<7 | 0x34,
+ 36909 - 19968: jis0212<<14 | 0x40<<7 | 0x35,
+ 36910 - 19968: jis0208<<14 | 0x21<<7 | 0x40,
+ 36911 - 19968: jis0212<<14 | 0x40<<7 | 0x32,
+ 36913 - 19968: jis0208<<14 | 0x1C<<7 | 0x14,
+ 36914 - 19968: jis0208<<14 | 0x1E<<7 | 0x29,
+ 36915 - 19968: jis0212<<14 | 0x40<<7 | 0x36,
+ 36916 - 19968: jis0212<<14 | 0x40<<7 | 0x37,
+ 36917 - 19968: jis0208<<14 | 0x4C<<7 | 0x5B,
+ 36918 - 19968: jis0208<<14 | 0x4C<<7 | 0x5A,
+ 36919 - 19968: jis0212<<14 | 0x40<<7 | 0x38,
+ 36920 - 19968: jis0208<<14 | 0x0F<<7 | 0x4E,
+ 36921 - 19968: jis0208<<14 | 0x4C<<7 | 0x5C,
+ 36924 - 19968: jis0208<<14 | 0x28<<7 | 0x0E,
+ 36926 - 19968: jis0208<<14 | 0x4D<<7 | 0x06,
+ 36927 - 19968: jis0212<<14 | 0x40<<7 | 0x39,
+ 36929 - 19968: jis0208<<14 | 0x25<<7 | 0x3A,
+ 36930 - 19968: jis0208<<14 | 0x1E<<7 | 0x4A,
+ 36931 - 19968: jis0212<<14 | 0x40<<7 | 0x3A,
+ 36932 - 19968: jis0212<<14 | 0x40<<7 | 0x3B,
+ 36933 - 19968: jis0208<<14 | 0x22<<7 | 0x38,
+ 36935 - 19968: jis0208<<14 | 0x15<<7 | 0x57,
+ 36937 - 19968: jis0208<<14 | 0x4D<<7 | 0x05,
+ 36938 - 19968: jis0208<<14 | 0x2C<<7 | 0x16,
+ 36939 - 19968: jis0208<<14 | 0x10<<7 | 0x1E,
+ 36940 - 19968: jis0212<<14 | 0x40<<7 | 0x3C,
+ 36941 - 19968: jis0208<<14 | 0x29<<7 | 0x36,
+ 36942 - 19968: jis0208<<14 | 0x11<<7 | 0x40,
+ 36943 - 19968: jis0208<<14 | 0x4D<<7 | 0x00,
+ 36944 - 19968: jis0208<<14 | 0x4D<<7 | 0x01,
+ 36945 - 19968: jis0208<<14 | 0x4D<<7 | 0x02,
+ 36946 - 19968: jis0208<<14 | 0x4D<<7 | 0x03,
+ 36947 - 19968: jis0208<<14 | 0x25<<7 | 0x1A,
+ 36948 - 19968: jis0208<<14 | 0x22<<7 | 0x02,
+ 36949 - 19968: jis0208<<14 | 0x0F<<7 | 0x42,
+ 36950 - 19968: jis0208<<14 | 0x4D<<7 | 0x07,
+ 36952 - 19968: jis0208<<14 | 0x4D<<7 | 0x08,
+ 36953 - 19968: jis0208<<14 | 0x53<<7 | 0x02,
+ 36955 - 19968: jis0212<<14 | 0x40<<7 | 0x3D,
+ 36956 - 19968: jis0208<<14 | 0x21<<7 | 0x1C,
+ 36957 - 19968: jis0212<<14 | 0x40<<7 | 0x3E,
+ 36958 - 19968: jis0208<<14 | 0x4D<<7 | 0x09,
+ 36960 - 19968: jis0208<<14 | 0x10<<7 | 0x52,
+ 36961 - 19968: jis0208<<14 | 0x20<<7 | 0x2B,
+ 36962 - 19968: jis0212<<14 | 0x40<<7 | 0x3F,
+ 36963 - 19968: jis0208<<14 | 0x17<<7 | 0x0E,
+ 36965 - 19968: jis0208<<14 | 0x2C<<7 | 0x39,
+ 36966 - 19968: jis0212<<14 | 0x40<<7 | 0x40,
+ 36967 - 19968: jis0208<<14 | 0x5A<<7 | 0x58,
+ 36968 - 19968: jis0208<<14 | 0x4D<<7 | 0x0A,
+ 36969 - 19968: jis0208<<14 | 0x24<<7 | 0x0B,
+ 36972 - 19968: jis0212<<14 | 0x40<<7 | 0x42,
+ 36973 - 19968: jis0208<<14 | 0x20<<7 | 0x57,
+ 36974 - 19968: jis0208<<14 | 0x1B<<7 | 0x36,
+ 36975 - 19968: jis0208<<14 | 0x4D<<7 | 0x0B,
+ 36976 - 19968: jis0212<<14 | 0x40<<7 | 0x43,
+ 36978 - 19968: jis0208<<14 | 0x4D<<7 | 0x0E,
+ 36980 - 19968: jis0212<<14 | 0x40<<7 | 0x44,
+ 36981 - 19968: jis0208<<14 | 0x1C<<7 | 0x44,
+ 36982 - 19968: jis0208<<14 | 0x4D<<7 | 0x0C,
+ 36983 - 19968: jis0208<<14 | 0x20<<7 | 0x0A,
+ 36984 - 19968: jis0208<<14 | 0x20<<7 | 0x09,
+ 36985 - 19968: jis0212<<14 | 0x40<<7 | 0x45,
+ 36986 - 19968: jis0208<<14 | 0x0F<<7 | 0x43,
+ 36988 - 19968: jis0208<<14 | 0x2D<<7 | 0x2A,
+ 36989 - 19968: jis0208<<14 | 0x4D<<7 | 0x10,
+ 36991 - 19968: jis0208<<14 | 0x27<<7 | 0x51,
+ 36992 - 19968: jis0208<<14 | 0x4D<<7 | 0x12,
+ 36993 - 19968: jis0208<<14 | 0x4D<<7 | 0x11,
+ 36994 - 19968: jis0208<<14 | 0x4D<<7 | 0x0F,
+ 36995 - 19968: jis0208<<14 | 0x42<<7 | 0x43,
+ 36996 - 19968: jis0208<<14 | 0x13<<7 | 0x33,
+ 36997 - 19968: jis0212<<14 | 0x40<<7 | 0x46,
+ 36999 - 19968: jis0208<<14 | 0x4C<<7 | 0x4D,
+ 37000 - 19968: jis0212<<14 | 0x40<<7 | 0x47,
+ 37001 - 19968: jis0208<<14 | 0x4D<<7 | 0x14,
+ 37002 - 19968: jis0208<<14 | 0x4D<<7 | 0x13,
+ 37003 - 19968: jis0212<<14 | 0x40<<7 | 0x48,
+ 37004 - 19968: jis0212<<14 | 0x40<<7 | 0x49,
+ 37006 - 19968: jis0212<<14 | 0x40<<7 | 0x4A,
+ 37007 - 19968: jis0208<<14 | 0x4D<<7 | 0x15,
+ 37008 - 19968: jis0212<<14 | 0x40<<7 | 0x4B,
+ 37009 - 19968: jis0208<<14 | 0x2C<<7 | 0x17,
+ 37013 - 19968: jis0212<<14 | 0x40<<7 | 0x4C,
+ 37015 - 19968: jis0212<<14 | 0x40<<7 | 0x4D,
+ 37016 - 19968: jis0212<<14 | 0x40<<7 | 0x4E,
+ 37017 - 19968: jis0212<<14 | 0x40<<7 | 0x4F,
+ 37019 - 19968: jis0212<<14 | 0x40<<7 | 0x50,
+ 37024 - 19968: jis0212<<14 | 0x40<<7 | 0x51,
+ 37025 - 19968: jis0212<<14 | 0x40<<7 | 0x52,
+ 37026 - 19968: jis0212<<14 | 0x40<<7 | 0x53,
+ 37027 - 19968: jis0208<<14 | 0x25<<7 | 0x40,
+ 37029 - 19968: jis0212<<14 | 0x40<<7 | 0x54,
+ 37030 - 19968: jis0208<<14 | 0x2A<<7 | 0x0D,
+ 37032 - 19968: jis0208<<14 | 0x4D<<7 | 0x16,
+ 37034 - 19968: jis0208<<14 | 0x1B<<7 | 0x38,
+ 37039 - 19968: jis0208<<14 | 0x4D<<7 | 0x17,
+ 37040 - 19968: jis0212<<14 | 0x40<<7 | 0x55,
+ 37041 - 19968: jis0208<<14 | 0x4D<<7 | 0x18,
+ 37042 - 19968: jis0212<<14 | 0x40<<7 | 0x56,
+ 37043 - 19968: jis0212<<14 | 0x40<<7 | 0x57,
+ 37044 - 19968: jis0212<<14 | 0x40<<7 | 0x58,
+ 37045 - 19968: jis0208<<14 | 0x4D<<7 | 0x19,
+ 37046 - 19968: jis0212<<14 | 0x40<<7 | 0x59,
+ 37048 - 19968: jis0208<<14 | 0x24<<7 | 0x00,
+ 37053 - 19968: jis0212<<14 | 0x40<<7 | 0x5A,
+ 37054 - 19968: jis0212<<14 | 0x40<<7 | 0x5C,
+ 37057 - 19968: jis0208<<14 | 0x0F<<7 | 0x49,
+ 37059 - 19968: jis0212<<14 | 0x40<<7 | 0x5D,
+ 37060 - 19968: jis0212<<14 | 0x41<<7 | 0x00,
+ 37061 - 19968: jis0212<<14 | 0x41<<7 | 0x01,
+ 37063 - 19968: jis0212<<14 | 0x41<<7 | 0x02,
+ 37064 - 19968: jis0212<<14 | 0x41<<7 | 0x03,
+ 37066 - 19968: jis0208<<14 | 0x18<<7 | 0x38,
+ 37068 - 19968: jis0212<<14 | 0x40<<7 | 0x5B,
+ 37070 - 19968: jis0208<<14 | 0x2E<<7 | 0x19,
+ 37074 - 19968: jis0212<<14 | 0x41<<7 | 0x0C,
+ 37077 - 19968: jis0212<<14 | 0x41<<7 | 0x04,
+ 37079 - 19968: jis0212<<14 | 0x41<<7 | 0x05,
+ 37080 - 19968: jis0212<<14 | 0x41<<7 | 0x06,
+ 37081 - 19968: jis0212<<14 | 0x41<<7 | 0x07,
+ 37083 - 19968: jis0208<<14 | 0x4D<<7 | 0x1D,
+ 37084 - 19968: jis0212<<14 | 0x41<<7 | 0x08,
+ 37085 - 19968: jis0212<<14 | 0x41<<7 | 0x09,
+ 37086 - 19968: jis0208<<14 | 0x5A<<7 | 0x59,
+ 37087 - 19968: jis0212<<14 | 0x41<<7 | 0x0A,
+ 37089 - 19968: jis0208<<14 | 0x16<<7 | 0x13,
+ 37090 - 19968: jis0208<<14 | 0x4D<<7 | 0x1A,
+ 37092 - 19968: jis0208<<14 | 0x4D<<7 | 0x1B,
+ 37093 - 19968: jis0212<<14 | 0x41<<7 | 0x0B,
+ 37096 - 19968: jis0208<<14 | 0x28<<7 | 0x53,
+ 37099 - 19968: jis0212<<14 | 0x41<<7 | 0x0E,
+ 37101 - 19968: jis0208<<14 | 0x12<<7 | 0x33,
+ 37103 - 19968: jis0212<<14 | 0x41<<7 | 0x0F,
+ 37104 - 19968: jis0212<<14 | 0x41<<7 | 0x10,
+ 37108 - 19968: jis0212<<14 | 0x41<<7 | 0x11,
+ 37109 - 19968: jis0208<<14 | 0x2C<<7 | 0x18,
+ 37110 - 19968: jis0212<<14 | 0x41<<7 | 0x0D,
+ 37111 - 19968: jis0208<<14 | 0x15<<7 | 0x1E,
+ 37117 - 19968: jis0208<<14 | 0x24<<7 | 0x33,
+ 37118 - 19968: jis0212<<14 | 0x41<<7 | 0x12,
+ 37119 - 19968: jis0212<<14 | 0x41<<7 | 0x13,
+ 37120 - 19968: jis0212<<14 | 0x41<<7 | 0x14,
+ 37122 - 19968: jis0208<<14 | 0x4D<<7 | 0x1E,
+ 37124 - 19968: jis0212<<14 | 0x41<<7 | 0x15,
+ 37125 - 19968: jis0212<<14 | 0x41<<7 | 0x16,
+ 37126 - 19968: jis0212<<14 | 0x41<<7 | 0x17,
+ 37128 - 19968: jis0212<<14 | 0x41<<7 | 0x18,
+ 37133 - 19968: jis0212<<14 | 0x41<<7 | 0x19,
+ 37136 - 19968: jis0212<<14 | 0x41<<7 | 0x1A,
+ 37138 - 19968: jis0208<<14 | 0x4D<<7 | 0x1F,
+ 37140 - 19968: jis0212<<14 | 0x41<<7 | 0x1B,
+ 37141 - 19968: jis0208<<14 | 0x5A<<7 | 0x5B,
+ 37142 - 19968: jis0212<<14 | 0x41<<7 | 0x1C,
+ 37143 - 19968: jis0212<<14 | 0x41<<7 | 0x1D,
+ 37144 - 19968: jis0212<<14 | 0x41<<7 | 0x1E,
+ 37145 - 19968: jis0208<<14 | 0x4D<<7 | 0x20,
+ 37146 - 19968: jis0212<<14 | 0x41<<7 | 0x1F,
+ 37148 - 19968: jis0212<<14 | 0x41<<7 | 0x20,
+ 37150 - 19968: jis0212<<14 | 0x41<<7 | 0x21,
+ 37152 - 19968: jis0212<<14 | 0x41<<7 | 0x22,
+ 37154 - 19968: jis0212<<14 | 0x41<<7 | 0x24,
+ 37155 - 19968: jis0212<<14 | 0x41<<7 | 0x25,
+ 37157 - 19968: jis0212<<14 | 0x41<<7 | 0x23,
+ 37159 - 19968: jis0208<<14 | 0x5A<<7 | 0x5C,
+ 37161 - 19968: jis0212<<14 | 0x41<<7 | 0x27,
+ 37165 - 19968: jis0208<<14 | 0x24<<7 | 0x01,
+ 37166 - 19968: jis0212<<14 | 0x41<<7 | 0x28,
+ 37167 - 19968: jis0212<<14 | 0x41<<7 | 0x29,
+ 37168 - 19968: jis0208<<14 | 0x4D<<7 | 0x22,
+ 37169 - 19968: jis0212<<14 | 0x41<<7 | 0x2A,
+ 37170 - 19968: jis0208<<14 | 0x4D<<7 | 0x21,
+ 37172 - 19968: jis0212<<14 | 0x41<<7 | 0x2B,
+ 37174 - 19968: jis0212<<14 | 0x41<<7 | 0x2C,
+ 37175 - 19968: jis0212<<14 | 0x41<<7 | 0x2D,
+ 37177 - 19968: jis0212<<14 | 0x41<<7 | 0x2E,
+ 37178 - 19968: jis0212<<14 | 0x41<<7 | 0x2F,
+ 37180 - 19968: jis0212<<14 | 0x41<<7 | 0x30,
+ 37181 - 19968: jis0212<<14 | 0x41<<7 | 0x31,
+ 37187 - 19968: jis0212<<14 | 0x41<<7 | 0x32,
+ 37191 - 19968: jis0212<<14 | 0x41<<7 | 0x33,
+ 37192 - 19968: jis0212<<14 | 0x41<<7 | 0x34,
+ 37193 - 19968: jis0208<<14 | 0x25<<7 | 0x32,
+ 37194 - 19968: jis0208<<14 | 0x4D<<7 | 0x23,
+ 37195 - 19968: jis0208<<14 | 0x1C<<7 | 0x15,
+ 37196 - 19968: jis0208<<14 | 0x1B<<7 | 0x3F,
+ 37197 - 19968: jis0208<<14 | 0x26<<7 | 0x3A,
+ 37198 - 19968: jis0208<<14 | 0x22<<7 | 0x50,
+ 37199 - 19968: jis0212<<14 | 0x41<<7 | 0x35,
+ 37202 - 19968: jis0208<<14 | 0x1B<<7 | 0x51,
+ 37203 - 19968: jis0212<<14 | 0x41<<7 | 0x36,
+ 37204 - 19968: jis0208<<14 | 0x1E<<7 | 0x4B,
+ 37206 - 19968: jis0208<<14 | 0x4D<<7 | 0x24,
+ 37207 - 19968: jis0212<<14 | 0x41<<7 | 0x37,
+ 37208 - 19968: jis0208<<14 | 0x4D<<7 | 0x25,
+ 37209 - 19968: jis0212<<14 | 0x41<<7 | 0x38,
+ 37210 - 19968: jis0212<<14 | 0x41<<7 | 0x39,
+ 37211 - 19968: jis0212<<14 | 0x41<<7 | 0x3A,
+ 37217 - 19968: jis0212<<14 | 0x41<<7 | 0x3B,
+ 37218 - 19968: jis0208<<14 | 0x1E<<7 | 0x3C,
+ 37219 - 19968: jis0208<<14 | 0x4D<<7 | 0x26,
+ 37220 - 19968: jis0212<<14 | 0x41<<7 | 0x3C,
+ 37221 - 19968: jis0208<<14 | 0x4D<<7 | 0x27,
+ 37223 - 19968: jis0212<<14 | 0x41<<7 | 0x3D,
+ 37225 - 19968: jis0208<<14 | 0x4D<<7 | 0x28,
+ 37226 - 19968: jis0208<<14 | 0x2C<<7 | 0x4E,
+ 37228 - 19968: jis0208<<14 | 0x1C<<7 | 0x16,
+ 37229 - 19968: jis0212<<14 | 0x41<<7 | 0x3E,
+ 37234 - 19968: jis0208<<14 | 0x4D<<7 | 0x2A,
+ 37235 - 19968: jis0208<<14 | 0x4D<<7 | 0x29,
+ 37236 - 19968: jis0212<<14 | 0x41<<7 | 0x3F,
+ 37237 - 19968: jis0208<<14 | 0x18<<7 | 0x39,
+ 37239 - 19968: jis0208<<14 | 0x18<<7 | 0x52,
+ 37240 - 19968: jis0208<<14 | 0x1A<<7 | 0x1F,
+ 37241 - 19968: jis0212<<14 | 0x41<<7 | 0x40,
+ 37242 - 19968: jis0212<<14 | 0x41<<7 | 0x41,
+ 37243 - 19968: jis0212<<14 | 0x41<<7 | 0x42,
+ 37249 - 19968: jis0212<<14 | 0x41<<7 | 0x43,
+ 37250 - 19968: jis0208<<14 | 0x4D<<7 | 0x2D,
+ 37251 - 19968: jis0212<<14 | 0x41<<7 | 0x44,
+ 37253 - 19968: jis0212<<14 | 0x41<<7 | 0x45,
+ 37254 - 19968: jis0212<<14 | 0x41<<7 | 0x46,
+ 37255 - 19968: jis0208<<14 | 0x1C<<7 | 0x45,
+ 37257 - 19968: jis0208<<14 | 0x4D<<7 | 0x2C,
+ 37258 - 19968: jis0212<<14 | 0x41<<7 | 0x47,
+ 37259 - 19968: jis0208<<14 | 0x4D<<7 | 0x2B,
+ 37261 - 19968: jis0208<<14 | 0x21<<7 | 0x48,
+ 37262 - 19968: jis0212<<14 | 0x41<<7 | 0x48,
+ 37264 - 19968: jis0208<<14 | 0x17<<7 | 0x4E,
+ 37265 - 19968: jis0212<<14 | 0x41<<7 | 0x49,
+ 37266 - 19968: jis0208<<14 | 0x1F<<7 | 0x22,
+ 37267 - 19968: jis0212<<14 | 0x41<<7 | 0x4A,
+ 37268 - 19968: jis0212<<14 | 0x41<<7 | 0x4B,
+ 37269 - 19968: jis0212<<14 | 0x41<<7 | 0x4C,
+ 37271 - 19968: jis0208<<14 | 0x27<<7 | 0x0F,
+ 37272 - 19968: jis0212<<14 | 0x41<<7 | 0x4D,
+ 37276 - 19968: jis0208<<14 | 0x1C<<7 | 0x18,
+ 37278 - 19968: jis0212<<14 | 0x41<<7 | 0x4E,
+ 37281 - 19968: jis0212<<14 | 0x41<<7 | 0x4F,
+ 37282 - 19968: jis0208<<14 | 0x4D<<7 | 0x2E,
+ 37284 - 19968: jis0208<<14 | 0x1D<<7 | 0x3E,
+ 37286 - 19968: jis0212<<14 | 0x41<<7 | 0x50,
+ 37288 - 19968: jis0212<<14 | 0x41<<7 | 0x51,
+ 37290 - 19968: jis0208<<14 | 0x4D<<7 | 0x31,
+ 37291 - 19968: jis0208<<14 | 0x4D<<7 | 0x2F,
+ 37292 - 19968: jis0212<<14 | 0x41<<7 | 0x52,
+ 37293 - 19968: jis0212<<14 | 0x41<<7 | 0x53,
+ 37294 - 19968: jis0212<<14 | 0x41<<7 | 0x54,
+ 37295 - 19968: jis0208<<14 | 0x4D<<7 | 0x30,
+ 37296 - 19968: jis0212<<14 | 0x41<<7 | 0x55,
+ 37297 - 19968: jis0212<<14 | 0x41<<7 | 0x56,
+ 37298 - 19968: jis0212<<14 | 0x41<<7 | 0x57,
+ 37299 - 19968: jis0212<<14 | 0x41<<7 | 0x58,
+ 37300 - 19968: jis0208<<14 | 0x4D<<7 | 0x33,
+ 37301 - 19968: jis0208<<14 | 0x4D<<7 | 0x32,
+ 37302 - 19968: jis0212<<14 | 0x41<<7 | 0x59,
+ 37304 - 19968: jis0208<<14 | 0x1D<<7 | 0x59,
+ 37306 - 19968: jis0208<<14 | 0x4D<<7 | 0x34,
+ 37307 - 19968: jis0212<<14 | 0x41<<7 | 0x5A,
+ 37308 - 19968: jis0212<<14 | 0x41<<7 | 0x5B,
+ 37309 - 19968: jis0212<<14 | 0x41<<7 | 0x5C,
+ 37311 - 19968: jis0212<<14 | 0x41<<7 | 0x5D,
+ 37312 - 19968: jis0208<<14 | 0x4D<<7 | 0x35,
+ 37313 - 19968: jis0208<<14 | 0x4D<<7 | 0x36,
+ 37314 - 19968: jis0212<<14 | 0x42<<7 | 0x00,
+ 37315 - 19968: jis0212<<14 | 0x42<<7 | 0x01,
+ 37317 - 19968: jis0212<<14 | 0x42<<7 | 0x02,
+ 37318 - 19968: jis0208<<14 | 0x27<<7 | 0x2F,
+ 37319 - 19968: jis0208<<14 | 0x19<<7 | 0x32,
+ 37320 - 19968: jis0208<<14 | 0x1B<<7 | 0x40,
+ 37321 - 19968: jis0208<<14 | 0x4D<<7 | 0x37,
+ 37323 - 19968: jis0208<<14 | 0x4D<<7 | 0x38,
+ 37324 - 19968: jis0208<<14 | 0x2D<<7 | 0x03,
+ 37325 - 19968: jis0208<<14 | 0x1C<<7 | 0x24,
+ 37326 - 19968: jis0208<<14 | 0x2B<<7 | 0x4D,
+ 37327 - 19968: jis0208<<14 | 0x2D<<7 | 0x2B,
+ 37328 - 19968: jis0208<<14 | 0x4D<<7 | 0x39,
+ 37329 - 19968: jis0208<<14 | 0x15<<7 | 0x41,
+ 37331 - 19968: jis0212<<14 | 0x42<<7 | 0x03,
+ 37332 - 19968: jis0212<<14 | 0x42<<7 | 0x04,
+ 37334 - 19968: jis0208<<14 | 0x4D<<7 | 0x3A,
+ 37335 - 19968: jis0208<<14 | 0x5B<<7 | 0x00,
+ 37336 - 19968: jis0208<<14 | 0x24<<7 | 0x02,
+ 37337 - 19968: jis0212<<14 | 0x42<<7 | 0x06,
+ 37338 - 19968: jis0208<<14 | 0x5A<<7 | 0x5D,
+ 37339 - 19968: jis0208<<14 | 0x4D<<7 | 0x3D,
+ 37340 - 19968: jis0208<<14 | 0x12<<7 | 0x57,
+ 37341 - 19968: jis0208<<14 | 0x1E<<7 | 0x2A,
+ 37342 - 19968: jis0208<<14 | 0x5B<<7 | 0x01,
+ 37343 - 19968: jis0208<<14 | 0x4D<<7 | 0x3B,
+ 37345 - 19968: jis0208<<14 | 0x4D<<7 | 0x3C,
+ 37347 - 19968: jis0208<<14 | 0x23<<7 | 0x3F,
+ 37348 - 19968: jis0208<<14 | 0x5B<<7 | 0x04,
+ 37349 - 19968: jis0208<<14 | 0x5B<<7 | 0x05,
+ 37350 - 19968: jis0208<<14 | 0x2A<<7 | 0x34,
+ 37351 - 19968: jis0208<<14 | 0x15<<7 | 0x5B,
+ 37353 - 19968: jis0212<<14 | 0x42<<7 | 0x0B,
+ 37354 - 19968: jis0212<<14 | 0x42<<7 | 0x0C,
+ 37356 - 19968: jis0212<<14 | 0x42<<7 | 0x0D,
+ 37357 - 19968: jis0208<<14 | 0x5B<<7 | 0x02,
+ 37358 - 19968: jis0208<<14 | 0x5B<<7 | 0x03,
+ 37359 - 19968: jis0212<<14 | 0x42<<7 | 0x10,
+ 37360 - 19968: jis0212<<14 | 0x42<<7 | 0x11,
+ 37361 - 19968: jis0212<<14 | 0x42<<7 | 0x12,
+ 37365 - 19968: jis0208<<14 | 0x4D<<7 | 0x3F,
+ 37366 - 19968: jis0208<<14 | 0x4D<<7 | 0x40,
+ 37367 - 19968: jis0212<<14 | 0x42<<7 | 0x13,
+ 37369 - 19968: jis0212<<14 | 0x42<<7 | 0x14,
+ 37371 - 19968: jis0212<<14 | 0x42<<7 | 0x15,
+ 37372 - 19968: jis0208<<14 | 0x4D<<7 | 0x3E,
+ 37373 - 19968: jis0212<<14 | 0x42<<7 | 0x16,
+ 37375 - 19968: jis0208<<14 | 0x4D<<7 | 0x42,
+ 37376 - 19968: jis0212<<14 | 0x42<<7 | 0x17,
+ 37377 - 19968: jis0212<<14 | 0x42<<7 | 0x18,
+ 37380 - 19968: jis0212<<14 | 0x42<<7 | 0x19,
+ 37381 - 19968: jis0212<<14 | 0x42<<7 | 0x1A,
+ 37382 - 19968: jis0208<<14 | 0x5B<<7 | 0x06,
+ 37383 - 19968: jis0212<<14 | 0x42<<7 | 0x1C,
+ 37385 - 19968: jis0212<<14 | 0x42<<7 | 0x1D,
+ 37386 - 19968: jis0208<<14 | 0x5B<<7 | 0x08,
+ 37388 - 19968: jis0212<<14 | 0x42<<7 | 0x1F,
+ 37389 - 19968: jis0208<<14 | 0x25<<7 | 0x3E,
+ 37390 - 19968: jis0208<<14 | 0x12<<7 | 0x22,
+ 37392 - 19968: jis0208<<14 | 0x5B<<7 | 0x07,
+ 37393 - 19968: jis0208<<14 | 0x4D<<7 | 0x46,
+ 37394 - 19968: jis0212<<14 | 0x42<<7 | 0x21,
+ 37395 - 19968: jis0212<<14 | 0x42<<7 | 0x22,
+ 37396 - 19968: jis0208<<14 | 0x4D<<7 | 0x43,
+ 37397 - 19968: jis0208<<14 | 0x4D<<7 | 0x45,
+ 37398 - 19968: jis0212<<14 | 0x42<<7 | 0x23,
+ 37400 - 19968: jis0212<<14 | 0x42<<7 | 0x24,
+ 37404 - 19968: jis0212<<14 | 0x42<<7 | 0x25,
+ 37405 - 19968: jis0212<<14 | 0x42<<7 | 0x26,
+ 37406 - 19968: jis0208<<14 | 0x4D<<7 | 0x41,
+ 37411 - 19968: jis0212<<14 | 0x42<<7 | 0x27,
+ 37412 - 19968: jis0212<<14 | 0x42<<7 | 0x28,
+ 37413 - 19968: jis0212<<14 | 0x42<<7 | 0x29,
+ 37414 - 19968: jis0212<<14 | 0x42<<7 | 0x2A,
+ 37416 - 19968: jis0212<<14 | 0x42<<7 | 0x2B,
+ 37417 - 19968: jis0208<<14 | 0x4E<<7 | 0x2E,
+ 37420 - 19968: jis0208<<14 | 0x4D<<7 | 0x44,
+ 37422 - 19968: jis0212<<14 | 0x42<<7 | 0x2C,
+ 37423 - 19968: jis0212<<14 | 0x42<<7 | 0x2D,
+ 37424 - 19968: jis0212<<14 | 0x42<<7 | 0x2E,
+ 37427 - 19968: jis0212<<14 | 0x42<<7 | 0x2F,
+ 37428 - 19968: jis0208<<14 | 0x2D<<7 | 0x4A,
+ 37429 - 19968: jis0212<<14 | 0x42<<7 | 0x30,
+ 37430 - 19968: jis0212<<14 | 0x42<<7 | 0x31,
+ 37431 - 19968: jis0208<<14 | 0x17<<7 | 0x39,
+ 37432 - 19968: jis0212<<14 | 0x42<<7 | 0x32,
+ 37433 - 19968: jis0208<<14 | 0x5B<<7 | 0x0F,
+ 37434 - 19968: jis0208<<14 | 0x5B<<7 | 0x09,
+ 37436 - 19968: jis0208<<14 | 0x5B<<7 | 0x0B,
+ 37438 - 19968: jis0212<<14 | 0x42<<7 | 0x36,
+ 37439 - 19968: jis0208<<14 | 0x4D<<7 | 0x4E,
+ 37440 - 19968: jis0208<<14 | 0x5B<<7 | 0x0A,
+ 37442 - 19968: jis0212<<14 | 0x42<<7 | 0x38,
+ 37443 - 19968: jis0212<<14 | 0x42<<7 | 0x39,
+ 37444 - 19968: jis0208<<14 | 0x24<<7 | 0x13,
+ 37445 - 19968: jis0208<<14 | 0x4D<<7 | 0x49,
+ 37446 - 19968: jis0212<<14 | 0x42<<7 | 0x3A,
+ 37447 - 19968: jis0212<<14 | 0x42<<7 | 0x3B,
+ 37448 - 19968: jis0208<<14 | 0x4D<<7 | 0x4C,
+ 37449 - 19968: jis0208<<14 | 0x4D<<7 | 0x4A,
+ 37450 - 19968: jis0212<<14 | 0x42<<7 | 0x3C,
+ 37451 - 19968: jis0208<<14 | 0x4D<<7 | 0x4F,
+ 37453 - 19968: jis0212<<14 | 0x42<<7 | 0x3D,
+ 37454 - 19968: jis0208<<14 | 0x5B<<7 | 0x0C,
+ 37455 - 19968: jis0212<<14 | 0x42<<7 | 0x3F,
+ 37456 - 19968: jis0208<<14 | 0x4D<<7 | 0x50,
+ 37457 - 19968: jis0208<<14 | 0x5B<<7 | 0x0E,
+ 37463 - 19968: jis0208<<14 | 0x4D<<7 | 0x48,
+ 37464 - 19968: jis0212<<14 | 0x42<<7 | 0x41,
+ 37465 - 19968: jis0208<<14 | 0x5B<<7 | 0x0D,
+ 37466 - 19968: jis0208<<14 | 0x4D<<7 | 0x55,
+ 37467 - 19968: jis0208<<14 | 0x10<<7 | 0x53,
+ 37468 - 19968: jis0212<<14 | 0x42<<7 | 0x43,
+ 37469 - 19968: jis0212<<14 | 0x42<<7 | 0x44,
+ 37470 - 19968: jis0208<<14 | 0x4D<<7 | 0x47,
+ 37472 - 19968: jis0212<<14 | 0x42<<7 | 0x45,
+ 37473 - 19968: jis0212<<14 | 0x42<<7 | 0x46,
+ 37474 - 19968: jis0208<<14 | 0x27<<7 | 0x0C,
+ 37476 - 19968: jis0208<<14 | 0x4D<<7 | 0x4B,
+ 37477 - 19968: jis0212<<14 | 0x42<<7 | 0x47,
+ 37478 - 19968: jis0208<<14 | 0x1D<<7 | 0x3F,
+ 37479 - 19968: jis0208<<14 | 0x5B<<7 | 0x10,
+ 37480 - 19968: jis0212<<14 | 0x42<<7 | 0x49,
+ 37481 - 19968: jis0212<<14 | 0x42<<7 | 0x4A,
+ 37486 - 19968: jis0212<<14 | 0x42<<7 | 0x4B,
+ 37487 - 19968: jis0212<<14 | 0x42<<7 | 0x4C,
+ 37488 - 19968: jis0212<<14 | 0x42<<7 | 0x4D,
+ 37489 - 19968: jis0208<<14 | 0x18<<7 | 0x3A,
+ 37493 - 19968: jis0212<<14 | 0x42<<7 | 0x4E,
+ 37494 - 19968: jis0212<<14 | 0x42<<7 | 0x4F,
+ 37495 - 19968: jis0208<<14 | 0x5B<<7 | 0x12,
+ 37496 - 19968: jis0208<<14 | 0x5B<<7 | 0x13,
+ 37497 - 19968: jis0212<<14 | 0x42<<7 | 0x52,
+ 37499 - 19968: jis0212<<14 | 0x42<<7 | 0x53,
+ 37500 - 19968: jis0212<<14 | 0x42<<7 | 0x54,
+ 37501 - 19968: jis0212<<14 | 0x42<<7 | 0x55,
+ 37502 - 19968: jis0208<<14 | 0x2A<<7 | 0x27,
+ 37503 - 19968: jis0212<<14 | 0x42<<7 | 0x56,
+ 37504 - 19968: jis0208<<14 | 0x15<<7 | 0x43,
+ 37507 - 19968: jis0208<<14 | 0x1C<<7 | 0x25,
+ 37509 - 19968: jis0208<<14 | 0x25<<7 | 0x1B,
+ 37512 - 19968: jis0208<<14 | 0x58<<7 | 0x03,
+ 37513 - 19968: jis0212<<14 | 0x42<<7 | 0x58,
+ 37514 - 19968: jis0212<<14 | 0x42<<7 | 0x59,
+ 37517 - 19968: jis0212<<14 | 0x42<<7 | 0x5A,
+ 37518 - 19968: jis0212<<14 | 0x42<<7 | 0x5B,
+ 37521 - 19968: jis0208<<14 | 0x20<<7 | 0x0C,
+ 37522 - 19968: jis0212<<14 | 0x42<<7 | 0x5C,
+ 37523 - 19968: jis0208<<14 | 0x4D<<7 | 0x53,
+ 37525 - 19968: jis0208<<14 | 0x4D<<7 | 0x4D,
+ 37526 - 19968: jis0208<<14 | 0x4D<<7 | 0x52,
+ 37527 - 19968: jis0212<<14 | 0x42<<7 | 0x5D,
+ 37528 - 19968: jis0208<<14 | 0x2B<<7 | 0x22,
+ 37529 - 19968: jis0212<<14 | 0x43<<7 | 0x00,
+ 37530 - 19968: jis0208<<14 | 0x23<<7 | 0x17,
+ 37531 - 19968: jis0208<<14 | 0x4D<<7 | 0x54,
+ 37532 - 19968: jis0208<<14 | 0x4D<<7 | 0x51,
+ 37535 - 19968: jis0212<<14 | 0x43<<7 | 0x01,
+ 37536 - 19968: jis0212<<14 | 0x43<<7 | 0x02,
+ 37540 - 19968: jis0212<<14 | 0x43<<7 | 0x03,
+ 37541 - 19968: jis0212<<14 | 0x43<<7 | 0x04,
+ 37543 - 19968: jis0208<<14 | 0x5B<<7 | 0x11,
+ 37544 - 19968: jis0212<<14 | 0x43<<7 | 0x06,
+ 37547 - 19968: jis0212<<14 | 0x43<<7 | 0x07,
+ 37549 - 19968: jis0208<<14 | 0x20<<7 | 0x0B,
+ 37551 - 19968: jis0212<<14 | 0x43<<7 | 0x08,
+ 37554 - 19968: jis0212<<14 | 0x43<<7 | 0x09,
+ 37558 - 19968: jis0212<<14 | 0x43<<7 | 0x0A,
+ 37559 - 19968: jis0208<<14 | 0x4D<<7 | 0x58,
+ 37560 - 19968: jis0212<<14 | 0x43<<7 | 0x0B,
+ 37561 - 19968: jis0208<<14 | 0x4D<<7 | 0x57,
+ 37562 - 19968: jis0212<<14 | 0x43<<7 | 0x0C,
+ 37563 - 19968: jis0212<<14 | 0x43<<7 | 0x0D,
+ 37564 - 19968: jis0212<<14 | 0x43<<7 | 0x0E,
+ 37565 - 19968: jis0212<<14 | 0x43<<7 | 0x0F,
+ 37567 - 19968: jis0212<<14 | 0x43<<7 | 0x10,
+ 37568 - 19968: jis0212<<14 | 0x43<<7 | 0x11,
+ 37569 - 19968: jis0212<<14 | 0x43<<7 | 0x12,
+ 37570 - 19968: jis0212<<14 | 0x43<<7 | 0x13,
+ 37571 - 19968: jis0212<<14 | 0x43<<7 | 0x14,
+ 37573 - 19968: jis0212<<14 | 0x43<<7 | 0x15,
+ 37574 - 19968: jis0212<<14 | 0x43<<7 | 0x16,
+ 37575 - 19968: jis0212<<14 | 0x43<<7 | 0x17,
+ 37576 - 19968: jis0212<<14 | 0x43<<7 | 0x18,
+ 37579 - 19968: jis0212<<14 | 0x43<<7 | 0x19,
+ 37580 - 19968: jis0212<<14 | 0x43<<7 | 0x1A,
+ 37581 - 19968: jis0212<<14 | 0x43<<7 | 0x1B,
+ 37582 - 19968: jis0212<<14 | 0x43<<7 | 0x1C,
+ 37583 - 19968: jis0208<<14 | 0x4D<<7 | 0x56,
+ 37584 - 19968: jis0208<<14 | 0x5B<<7 | 0x17,
+ 37586 - 19968: jis0208<<14 | 0x2A<<7 | 0x0E,
+ 37587 - 19968: jis0208<<14 | 0x5B<<7 | 0x1B,
+ 37589 - 19968: jis0208<<14 | 0x5B<<7 | 0x19,
+ 37591 - 19968: jis0208<<14 | 0x5B<<7 | 0x15,
+ 37592 - 19968: jis0212<<14 | 0x43<<7 | 0x21,
+ 37593 - 19968: jis0208<<14 | 0x5B<<7 | 0x16,
+ 37596 - 19968: jis0212<<14 | 0x43<<7 | 0x23,
+ 37597 - 19968: jis0212<<14 | 0x43<<7 | 0x24,
+ 37599 - 19968: jis0212<<14 | 0x43<<7 | 0x25,
+ 37600 - 19968: jis0208<<14 | 0x5B<<7 | 0x1A,
+ 37601 - 19968: jis0212<<14 | 0x43<<7 | 0x27,
+ 37603 - 19968: jis0212<<14 | 0x43<<7 | 0x28,
+ 37604 - 19968: jis0208<<14 | 0x1C<<7 | 0x5A,
+ 37605 - 19968: jis0212<<14 | 0x43<<7 | 0x29,
+ 37607 - 19968: jis0208<<14 | 0x5B<<7 | 0x14,
+ 37608 - 19968: jis0212<<14 | 0x43<<7 | 0x2B,
+ 37609 - 19968: jis0208<<14 | 0x4D<<7 | 0x59,
+ 37610 - 19968: jis0208<<14 | 0x29<<7 | 0x3E,
+ 37612 - 19968: jis0212<<14 | 0x43<<7 | 0x2C,
+ 37613 - 19968: jis0208<<14 | 0x10<<7 | 0x33,
+ 37614 - 19968: jis0212<<14 | 0x43<<7 | 0x2D,
+ 37616 - 19968: jis0212<<14 | 0x43<<7 | 0x2E,
+ 37618 - 19968: jis0208<<14 | 0x28<<7 | 0x25,
+ 37619 - 19968: jis0208<<14 | 0x22<<7 | 0x51,
+ 37624 - 19968: jis0208<<14 | 0x14<<7 | 0x57,
+ 37625 - 19968: jis0208<<14 | 0x58<<7 | 0x09,
+ 37626 - 19968: jis0208<<14 | 0x4D<<7 | 0x5B,
+ 37627 - 19968: jis0208<<14 | 0x5B<<7 | 0x1E,
+ 37628 - 19968: jis0208<<14 | 0x18<<7 | 0x3C,
+ 37631 - 19968: jis0208<<14 | 0x5B<<7 | 0x21,
+ 37632 - 19968: jis0212<<14 | 0x43<<7 | 0x32,
+ 37634 - 19968: jis0208<<14 | 0x5B<<7 | 0x23,
+ 37638 - 19968: jis0208<<14 | 0x1A<<7 | 0x0B,
+ 37640 - 19968: jis0212<<14 | 0x43<<7 | 0x34,
+ 37645 - 19968: jis0212<<14 | 0x43<<7 | 0x35,
+ 37647 - 19968: jis0208<<14 | 0x4D<<7 | 0x5A,
+ 37648 - 19968: jis0208<<14 | 0x1E<<7 | 0x4C,
+ 37649 - 19968: jis0212<<14 | 0x43<<7 | 0x36,
+ 37652 - 19968: jis0212<<14 | 0x43<<7 | 0x37,
+ 37653 - 19968: jis0212<<14 | 0x43<<7 | 0x38,
+ 37656 - 19968: jis0208<<14 | 0x1E<<7 | 0x4D,
+ 37657 - 19968: jis0208<<14 | 0x4E<<7 | 0x00,
+ 37658 - 19968: jis0208<<14 | 0x4E<<7 | 0x02,
+ 37660 - 19968: jis0212<<14 | 0x43<<7 | 0x39,
+ 37661 - 19968: jis0208<<14 | 0x5B<<7 | 0x22,
+ 37662 - 19968: jis0208<<14 | 0x5B<<7 | 0x20,
+ 37663 - 19968: jis0212<<14 | 0x43<<7 | 0x3C,
+ 37664 - 19968: jis0208<<14 | 0x1D<<7 | 0x5A,
+ 37665 - 19968: jis0208<<14 | 0x5B<<7 | 0x1D,
+ 37666 - 19968: jis0208<<14 | 0x4E<<7 | 0x01,
+ 37667 - 19968: jis0208<<14 | 0x4E<<7 | 0x03,
+ 37668 - 19968: jis0212<<14 | 0x43<<7 | 0x3E,
+ 37669 - 19968: jis0208<<14 | 0x5B<<7 | 0x1C,
+ 37670 - 19968: jis0208<<14 | 0x15<<7 | 0x32,
+ 37671 - 19968: jis0212<<14 | 0x43<<7 | 0x40,
+ 37672 - 19968: jis0208<<14 | 0x28<<7 | 0x24,
+ 37673 - 19968: jis0212<<14 | 0x43<<7 | 0x41,
+ 37674 - 19968: jis0212<<14 | 0x43<<7 | 0x42,
+ 37675 - 19968: jis0208<<14 | 0x1B<<7 | 0x41,
+ 37676 - 19968: jis0208<<14 | 0x2E<<7 | 0x02,
+ 37678 - 19968: jis0208<<14 | 0x4D<<7 | 0x5D,
+ 37679 - 19968: jis0208<<14 | 0x19<<7 | 0x57,
+ 37682 - 19968: jis0208<<14 | 0x2E<<7 | 0x1E,
+ 37683 - 19968: jis0212<<14 | 0x43<<7 | 0x43,
+ 37684 - 19968: jis0212<<14 | 0x43<<7 | 0x44,
+ 37685 - 19968: jis0208<<14 | 0x4E<<7 | 0x05,
+ 37686 - 19968: jis0212<<14 | 0x43<<7 | 0x45,
+ 37687 - 19968: jis0212<<14 | 0x43<<7 | 0x46,
+ 37690 - 19968: jis0208<<14 | 0x4E<<7 | 0x04,
+ 37691 - 19968: jis0208<<14 | 0x4E<<7 | 0x06,
+ 37700 - 19968: jis0208<<14 | 0x4D<<7 | 0x5C,
+ 37703 - 19968: jis0212<<14 | 0x43<<7 | 0x47,
+ 37704 - 19968: jis0208<<14 | 0x58<<7 | 0x02,
+ 37705 - 19968: jis0212<<14 | 0x43<<7 | 0x49,
+ 37707 - 19968: jis0208<<14 | 0x25<<7 | 0x48,
+ 37709 - 19968: jis0208<<14 | 0x24<<7 | 0x34,
+ 37712 - 19968: jis0212<<14 | 0x43<<7 | 0x4A,
+ 37713 - 19968: jis0212<<14 | 0x43<<7 | 0x4B,
+ 37714 - 19968: jis0212<<14 | 0x43<<7 | 0x4C,
+ 37716 - 19968: jis0208<<14 | 0x23<<7 | 0x36,
+ 37717 - 19968: jis0212<<14 | 0x43<<7 | 0x4D,
+ 37718 - 19968: jis0208<<14 | 0x4E<<7 | 0x0B,
+ 37719 - 19968: jis0208<<14 | 0x5B<<7 | 0x25,
+ 37720 - 19968: jis0212<<14 | 0x43<<7 | 0x4F,
+ 37722 - 19968: jis0212<<14 | 0x43<<7 | 0x50,
+ 37723 - 19968: jis0208<<14 | 0x22<<7 | 0x22,
+ 37724 - 19968: jis0208<<14 | 0x4E<<7 | 0x07,
+ 37726 - 19968: jis0212<<14 | 0x43<<7 | 0x51,
+ 37728 - 19968: jis0208<<14 | 0x4E<<7 | 0x08,
+ 37732 - 19968: jis0212<<14 | 0x43<<7 | 0x52,
+ 37733 - 19968: jis0212<<14 | 0x43<<7 | 0x53,
+ 37735 - 19968: jis0212<<14 | 0x43<<7 | 0x54,
+ 37737 - 19968: jis0212<<14 | 0x43<<7 | 0x55,
+ 37738 - 19968: jis0212<<14 | 0x43<<7 | 0x56,
+ 37740 - 19968: jis0208<<14 | 0x16<<7 | 0x0C,
+ 37741 - 19968: jis0212<<14 | 0x43<<7 | 0x57,
+ 37742 - 19968: jis0208<<14 | 0x4E<<7 | 0x0A,
+ 37743 - 19968: jis0212<<14 | 0x43<<7 | 0x58,
+ 37744 - 19968: jis0208<<14 | 0x5B<<7 | 0x24,
+ 37745 - 19968: jis0212<<14 | 0x43<<7 | 0x5A,
+ 37747 - 19968: jis0212<<14 | 0x43<<7 | 0x5B,
+ 37748 - 19968: jis0212<<14 | 0x43<<7 | 0x5C,
+ 37749 - 19968: jis0208<<14 | 0x17<<7 | 0x0F,
+ 37750 - 19968: jis0212<<14 | 0x43<<7 | 0x5D,
+ 37754 - 19968: jis0212<<14 | 0x44<<7 | 0x00,
+ 37756 - 19968: jis0208<<14 | 0x4E<<7 | 0x09,
+ 37757 - 19968: jis0212<<14 | 0x44<<7 | 0x01,
+ 37758 - 19968: jis0208<<14 | 0x1D<<7 | 0x40,
+ 37759 - 19968: jis0212<<14 | 0x44<<7 | 0x02,
+ 37760 - 19968: jis0212<<14 | 0x44<<7 | 0x03,
+ 37761 - 19968: jis0212<<14 | 0x44<<7 | 0x04,
+ 37762 - 19968: jis0212<<14 | 0x44<<7 | 0x05,
+ 37768 - 19968: jis0212<<14 | 0x44<<7 | 0x06,
+ 37770 - 19968: jis0212<<14 | 0x44<<7 | 0x07,
+ 37771 - 19968: jis0212<<14 | 0x44<<7 | 0x08,
+ 37772 - 19968: jis0208<<14 | 0x12<<7 | 0x58,
+ 37773 - 19968: jis0212<<14 | 0x44<<7 | 0x09,
+ 37775 - 19968: jis0212<<14 | 0x44<<7 | 0x0A,
+ 37778 - 19968: jis0212<<14 | 0x44<<7 | 0x0B,
+ 37780 - 19968: jis0208<<14 | 0x4E<<7 | 0x0F,
+ 37781 - 19968: jis0212<<14 | 0x44<<7 | 0x0C,
+ 37782 - 19968: jis0208<<14 | 0x19<<7 | 0x1E,
+ 37783 - 19968: jis0208<<14 | 0x20<<7 | 0x58,
+ 37784 - 19968: jis0212<<14 | 0x44<<7 | 0x0D,
+ 37786 - 19968: jis0208<<14 | 0x23<<7 | 0x29,
+ 37787 - 19968: jis0212<<14 | 0x44<<7 | 0x0E,
+ 37790 - 19968: jis0212<<14 | 0x44<<7 | 0x0F,
+ 37793 - 19968: jis0212<<14 | 0x44<<7 | 0x10,
+ 37795 - 19968: jis0212<<14 | 0x44<<7 | 0x11,
+ 37796 - 19968: jis0208<<14 | 0x5B<<7 | 0x26,
+ 37798 - 19968: jis0212<<14 | 0x44<<7 | 0x13,
+ 37799 - 19968: jis0208<<14 | 0x12<<7 | 0x1A,
+ 37800 - 19968: jis0212<<14 | 0x44<<7 | 0x14,
+ 37801 - 19968: jis0212<<14 | 0x44<<7 | 0x1A,
+ 37803 - 19968: jis0212<<14 | 0x44<<7 | 0x15,
+ 37804 - 19968: jis0208<<14 | 0x4E<<7 | 0x0D,
+ 37805 - 19968: jis0208<<14 | 0x4E<<7 | 0x0E,
+ 37806 - 19968: jis0208<<14 | 0x23<<7 | 0x22,
+ 37808 - 19968: jis0208<<14 | 0x4E<<7 | 0x0C,
+ 37812 - 19968: jis0212<<14 | 0x44<<7 | 0x16,
+ 37813 - 19968: jis0212<<14 | 0x44<<7 | 0x17,
+ 37814 - 19968: jis0212<<14 | 0x44<<7 | 0x18,
+ 37817 - 19968: jis0208<<14 | 0x4E<<7 | 0x10,
+ 37818 - 19968: jis0212<<14 | 0x44<<7 | 0x19,
+ 37825 - 19968: jis0212<<14 | 0x44<<7 | 0x1B,
+ 37827 - 19968: jis0208<<14 | 0x4E<<7 | 0x16,
+ 37828 - 19968: jis0212<<14 | 0x44<<7 | 0x1C,
+ 37829 - 19968: jis0212<<14 | 0x44<<7 | 0x1D,
+ 37830 - 19968: jis0208<<14 | 0x5B<<7 | 0x27,
+ 37831 - 19968: jis0212<<14 | 0x44<<7 | 0x1F,
+ 37832 - 19968: jis0208<<14 | 0x4E<<7 | 0x19,
+ 37833 - 19968: jis0212<<14 | 0x44<<7 | 0x20,
+ 37834 - 19968: jis0212<<14 | 0x44<<7 | 0x21,
+ 37835 - 19968: jis0212<<14 | 0x44<<7 | 0x22,
+ 37836 - 19968: jis0212<<14 | 0x44<<7 | 0x23,
+ 37837 - 19968: jis0212<<14 | 0x44<<7 | 0x24,
+ 37840 - 19968: jis0208<<14 | 0x4E<<7 | 0x18,
+ 37841 - 19968: jis0208<<14 | 0x24<<7 | 0x0C,
+ 37843 - 19968: jis0212<<14 | 0x44<<7 | 0x25,
+ 37846 - 19968: jis0208<<14 | 0x4E<<7 | 0x11,
+ 37847 - 19968: jis0208<<14 | 0x4E<<7 | 0x12,
+ 37848 - 19968: jis0208<<14 | 0x4E<<7 | 0x15,
+ 37849 - 19968: jis0212<<14 | 0x44<<7 | 0x26,
+ 37852 - 19968: jis0212<<14 | 0x44<<7 | 0x27,
+ 37853 - 19968: jis0208<<14 | 0x4E<<7 | 0x17,
+ 37854 - 19968: jis0208<<14 | 0x5B<<7 | 0x28,
+ 37855 - 19968: jis0212<<14 | 0x44<<7 | 0x29,
+ 37857 - 19968: jis0208<<14 | 0x15<<7 | 0x1F,
+ 37858 - 19968: jis0212<<14 | 0x44<<7 | 0x2A,
+ 37860 - 19968: jis0208<<14 | 0x4E<<7 | 0x1A,
+ 37861 - 19968: jis0208<<14 | 0x4E<<7 | 0x14,
+ 37862 - 19968: jis0212<<14 | 0x44<<7 | 0x2B,
+ 37863 - 19968: jis0212<<14 | 0x44<<7 | 0x2C,
+ 37864 - 19968: jis0208<<14 | 0x4E<<7 | 0x13,
+ 37879 - 19968: jis0212<<14 | 0x44<<7 | 0x2E,
+ 37880 - 19968: jis0208<<14 | 0x5B<<7 | 0x29,
+ 37881 - 19968: jis0212<<14 | 0x44<<7 | 0x2D,
+ 37882 - 19968: jis0212<<14 | 0x44<<7 | 0x30,
+ 37883 - 19968: jis0212<<14 | 0x44<<7 | 0x31,
+ 37885 - 19968: jis0212<<14 | 0x44<<7 | 0x32,
+ 37889 - 19968: jis0212<<14 | 0x44<<7 | 0x33,
+ 37890 - 19968: jis0212<<14 | 0x44<<7 | 0x34,
+ 37891 - 19968: jis0208<<14 | 0x4E<<7 | 0x1E,
+ 37892 - 19968: jis0212<<14 | 0x44<<7 | 0x35,
+ 37895 - 19968: jis0208<<14 | 0x4E<<7 | 0x1F,
+ 37896 - 19968: jis0212<<14 | 0x44<<7 | 0x36,
+ 37897 - 19968: jis0212<<14 | 0x44<<7 | 0x37,
+ 37901 - 19968: jis0212<<14 | 0x44<<7 | 0x38,
+ 37902 - 19968: jis0212<<14 | 0x44<<7 | 0x39,
+ 37903 - 19968: jis0212<<14 | 0x44<<7 | 0x3A,
+ 37904 - 19968: jis0208<<14 | 0x4E<<7 | 0x20,
+ 37907 - 19968: jis0208<<14 | 0x4E<<7 | 0x1D,
+ 37908 - 19968: jis0208<<14 | 0x4E<<7 | 0x1C,
+ 37909 - 19968: jis0212<<14 | 0x44<<7 | 0x3B,
+ 37910 - 19968: jis0212<<14 | 0x44<<7 | 0x3C,
+ 37911 - 19968: jis0212<<14 | 0x44<<7 | 0x3D,
+ 37912 - 19968: jis0208<<14 | 0x1D<<7 | 0x41,
+ 37913 - 19968: jis0208<<14 | 0x25<<7 | 0x09,
+ 37914 - 19968: jis0208<<14 | 0x4E<<7 | 0x1B,
+ 37919 - 19968: jis0212<<14 | 0x44<<7 | 0x3E,
+ 37921 - 19968: jis0208<<14 | 0x4E<<7 | 0x24,
+ 37931 - 19968: jis0208<<14 | 0x4E<<7 | 0x22,
+ 37934 - 19968: jis0212<<14 | 0x44<<7 | 0x3F,
+ 37935 - 19968: jis0212<<14 | 0x44<<7 | 0x40,
+ 37937 - 19968: jis0208<<14 | 0x5B<<7 | 0x2A,
+ 37938 - 19968: jis0212<<14 | 0x44<<7 | 0x42,
+ 37939 - 19968: jis0212<<14 | 0x44<<7 | 0x43,
+ 37940 - 19968: jis0212<<14 | 0x44<<7 | 0x44,
+ 37941 - 19968: jis0208<<14 | 0x4E<<7 | 0x23,
+ 37942 - 19968: jis0208<<14 | 0x4E<<7 | 0x21,
+ 37944 - 19968: jis0208<<14 | 0x21<<7 | 0x57,
+ 37946 - 19968: jis0208<<14 | 0x4E<<7 | 0x25,
+ 37947 - 19968: jis0212<<14 | 0x44<<7 | 0x45,
+ 37949 - 19968: jis0212<<14 | 0x44<<7 | 0x47,
+ 37951 - 19968: jis0212<<14 | 0x44<<7 | 0x46,
+ 37953 - 19968: jis0208<<14 | 0x4E<<7 | 0x26,
+ 37955 - 19968: jis0212<<14 | 0x44<<7 | 0x48,
+ 37956 - 19968: jis0208<<14 | 0x4E<<7 | 0x28,
+ 37957 - 19968: jis0208<<14 | 0x5B<<7 | 0x2B,
+ 37960 - 19968: jis0208<<14 | 0x5B<<7 | 0x2C,
+ 37962 - 19968: jis0212<<14 | 0x44<<7 | 0x4B,
+ 37964 - 19968: jis0212<<14 | 0x44<<7 | 0x4C,
+ 37969 - 19968: jis0208<<14 | 0x13<<7 | 0x34,
+ 37970 - 19968: jis0208<<14 | 0x4E<<7 | 0x27,
+ 37971 - 19968: jis0208<<14 | 0x2B<<7 | 0x59,
+ 37973 - 19968: jis0212<<14 | 0x44<<7 | 0x4D,
+ 37977 - 19968: jis0212<<14 | 0x44<<7 | 0x4E,
+ 37978 - 19968: jis0208<<14 | 0x4E<<7 | 0x33,
+ 37979 - 19968: jis0208<<14 | 0x4E<<7 | 0x29,
+ 37980 - 19968: jis0212<<14 | 0x44<<7 | 0x4F,
+ 37982 - 19968: jis0208<<14 | 0x4E<<7 | 0x2C,
+ 37983 - 19968: jis0212<<14 | 0x44<<7 | 0x50,
+ 37984 - 19968: jis0208<<14 | 0x4E<<7 | 0x2A,
+ 37985 - 19968: jis0212<<14 | 0x44<<7 | 0x51,
+ 37986 - 19968: jis0208<<14 | 0x4E<<7 | 0x2B,
+ 37987 - 19968: jis0212<<14 | 0x44<<7 | 0x52,
+ 37992 - 19968: jis0212<<14 | 0x44<<7 | 0x53,
+ 37994 - 19968: jis0208<<14 | 0x4E<<7 | 0x2D,
+ 37995 - 19968: jis0212<<14 | 0x44<<7 | 0x54,
+ 37997 - 19968: jis0212<<14 | 0x44<<7 | 0x55,
+ 37998 - 19968: jis0212<<14 | 0x44<<7 | 0x56,
+ 37999 - 19968: jis0212<<14 | 0x44<<7 | 0x57,
+ 38000 - 19968: jis0208<<14 | 0x4E<<7 | 0x2F,
+ 38001 - 19968: jis0212<<14 | 0x44<<7 | 0x58,
+ 38002 - 19968: jis0212<<14 | 0x44<<7 | 0x59,
+ 38005 - 19968: jis0208<<14 | 0x4E<<7 | 0x30,
+ 38007 - 19968: jis0208<<14 | 0x4E<<7 | 0x31,
+ 38012 - 19968: jis0208<<14 | 0x4E<<7 | 0x34,
+ 38013 - 19968: jis0208<<14 | 0x4E<<7 | 0x32,
+ 38014 - 19968: jis0208<<14 | 0x4E<<7 | 0x35,
+ 38015 - 19968: jis0208<<14 | 0x4E<<7 | 0x37,
+ 38017 - 19968: jis0208<<14 | 0x4E<<7 | 0x36,
+ 38019 - 19968: jis0212<<14 | 0x44<<7 | 0x5B,
+ 38020 - 19968: jis0212<<14 | 0x44<<7 | 0x5A,
+ 38263 - 19968: jis0208<<14 | 0x23<<7 | 0x18,
+ 38264 - 19968: jis0212<<14 | 0x44<<7 | 0x5C,
+ 38265 - 19968: jis0212<<14 | 0x44<<7 | 0x5D,
+ 38270 - 19968: jis0212<<14 | 0x45<<7 | 0x00,
+ 38272 - 19968: jis0208<<14 | 0x2B<<7 | 0x46,
+ 38274 - 19968: jis0208<<14 | 0x4E<<7 | 0x38,
+ 38275 - 19968: jis0208<<14 | 0x20<<7 | 0x0D,
+ 38276 - 19968: jis0212<<14 | 0x45<<7 | 0x01,
+ 38279 - 19968: jis0208<<14 | 0x4E<<7 | 0x39,
+ 38280 - 19968: jis0212<<14 | 0x45<<7 | 0x02,
+ 38281 - 19968: jis0208<<14 | 0x29<<7 | 0x23,
+ 38282 - 19968: jis0208<<14 | 0x4E<<7 | 0x3A,
+ 38283 - 19968: jis0208<<14 | 0x12<<7 | 0x0A,
+ 38284 - 19968: jis0212<<14 | 0x45<<7 | 0x03,
+ 38285 - 19968: jis0212<<14 | 0x45<<7 | 0x04,
+ 38286 - 19968: jis0212<<14 | 0x45<<7 | 0x05,
+ 38287 - 19968: jis0208<<14 | 0x10<<7 | 0x1B,
+ 38289 - 19968: jis0208<<14 | 0x13<<7 | 0x36,
+ 38290 - 19968: jis0208<<14 | 0x5B<<7 | 0x2D,
+ 38291 - 19968: jis0208<<14 | 0x13<<7 | 0x35,
+ 38292 - 19968: jis0208<<14 | 0x4E<<7 | 0x3B,
+ 38294 - 19968: jis0208<<14 | 0x4E<<7 | 0x3C,
+ 38296 - 19968: jis0208<<14 | 0x4E<<7 | 0x3D,
+ 38297 - 19968: jis0208<<14 | 0x4E<<7 | 0x3E,
+ 38301 - 19968: jis0212<<14 | 0x45<<7 | 0x06,
+ 38302 - 19968: jis0212<<14 | 0x45<<7 | 0x07,
+ 38303 - 19968: jis0212<<14 | 0x45<<7 | 0x08,
+ 38304 - 19968: jis0208<<14 | 0x4E<<7 | 0x3F,
+ 38305 - 19968: jis0212<<14 | 0x45<<7 | 0x09,
+ 38306 - 19968: jis0208<<14 | 0x13<<7 | 0x37,
+ 38307 - 19968: jis0208<<14 | 0x12<<7 | 0x34,
+ 38308 - 19968: jis0208<<14 | 0x18<<7 | 0x3D,
+ 38309 - 19968: jis0208<<14 | 0x27<<7 | 0x15,
+ 38310 - 19968: jis0212<<14 | 0x45<<7 | 0x0A,
+ 38311 - 19968: jis0208<<14 | 0x4E<<7 | 0x41,
+ 38312 - 19968: jis0208<<14 | 0x4E<<7 | 0x40,
+ 38313 - 19968: jis0212<<14 | 0x45<<7 | 0x0B,
+ 38315 - 19968: jis0212<<14 | 0x45<<7 | 0x0C,
+ 38316 - 19968: jis0212<<14 | 0x45<<7 | 0x0D,
+ 38317 - 19968: jis0208<<14 | 0x4E<<7 | 0x42,
+ 38322 - 19968: jis0208<<14 | 0x10<<7 | 0x3B,
+ 38324 - 19968: jis0212<<14 | 0x45<<7 | 0x0E,
+ 38326 - 19968: jis0212<<14 | 0x45<<7 | 0x0F,
+ 38329 - 19968: jis0208<<14 | 0x4E<<7 | 0x45,
+ 38330 - 19968: jis0212<<14 | 0x45<<7 | 0x10,
+ 38331 - 19968: jis0208<<14 | 0x4E<<7 | 0x44,
+ 38332 - 19968: jis0208<<14 | 0x4E<<7 | 0x43,
+ 38333 - 19968: jis0212<<14 | 0x45<<7 | 0x11,
+ 38334 - 19968: jis0208<<14 | 0x4E<<7 | 0x46,
+ 38335 - 19968: jis0212<<14 | 0x45<<7 | 0x12,
+ 38339 - 19968: jis0208<<14 | 0x4E<<7 | 0x49,
+ 38342 - 19968: jis0212<<14 | 0x45<<7 | 0x13,
+ 38343 - 19968: jis0208<<14 | 0x0F<<7 | 0x26,
+ 38344 - 19968: jis0212<<14 | 0x45<<7 | 0x14,
+ 38345 - 19968: jis0212<<14 | 0x45<<7 | 0x15,
+ 38346 - 19968: jis0208<<14 | 0x4E<<7 | 0x47,
+ 38347 - 19968: jis0212<<14 | 0x45<<7 | 0x16,
+ 38348 - 19968: jis0208<<14 | 0x4E<<7 | 0x4B,
+ 38349 - 19968: jis0208<<14 | 0x4E<<7 | 0x4A,
+ 38352 - 19968: jis0212<<14 | 0x45<<7 | 0x17,
+ 38353 - 19968: jis0212<<14 | 0x45<<7 | 0x18,
+ 38354 - 19968: jis0212<<14 | 0x45<<7 | 0x19,
+ 38355 - 19968: jis0212<<14 | 0x45<<7 | 0x1A,
+ 38356 - 19968: jis0208<<14 | 0x4E<<7 | 0x4D,
+ 38357 - 19968: jis0208<<14 | 0x4E<<7 | 0x4C,
+ 38358 - 19968: jis0208<<14 | 0x4E<<7 | 0x4E,
+ 38360 - 19968: jis0208<<14 | 0x25<<7 | 0x0D,
+ 38361 - 19968: jis0212<<14 | 0x45<<7 | 0x1B,
+ 38362 - 19968: jis0212<<14 | 0x45<<7 | 0x1C,
+ 38364 - 19968: jis0208<<14 | 0x4E<<7 | 0x4F,
+ 38365 - 19968: jis0212<<14 | 0x45<<7 | 0x1D,
+ 38366 - 19968: jis0212<<14 | 0x45<<7 | 0x1E,
+ 38367 - 19968: jis0212<<14 | 0x45<<7 | 0x1F,
+ 38368 - 19968: jis0212<<14 | 0x45<<7 | 0x20,
+ 38369 - 19968: jis0208<<14 | 0x4E<<7 | 0x50,
+ 38370 - 19968: jis0208<<14 | 0x4E<<7 | 0x52,
+ 38372 - 19968: jis0212<<14 | 0x45<<7 | 0x21,
+ 38373 - 19968: jis0208<<14 | 0x4E<<7 | 0x51,
+ 38374 - 19968: jis0212<<14 | 0x45<<7 | 0x22,
+ 38428 - 19968: jis0208<<14 | 0x28<<7 | 0x4B,
+ 38429 - 19968: jis0212<<14 | 0x45<<7 | 0x23,
+ 38430 - 19968: jis0212<<14 | 0x45<<7 | 0x24,
+ 38433 - 19968: jis0208<<14 | 0x4E<<7 | 0x53,
+ 38434 - 19968: jis0212<<14 | 0x45<<7 | 0x25,
+ 38436 - 19968: jis0212<<14 | 0x45<<7 | 0x26,
+ 38437 - 19968: jis0212<<14 | 0x45<<7 | 0x27,
+ 38438 - 19968: jis0212<<14 | 0x45<<7 | 0x28,
+ 38440 - 19968: jis0208<<14 | 0x4E<<7 | 0x54,
+ 38442 - 19968: jis0208<<14 | 0x19<<7 | 0x44,
+ 38444 - 19968: jis0212<<14 | 0x45<<7 | 0x29,
+ 38446 - 19968: jis0208<<14 | 0x4E<<7 | 0x55,
+ 38447 - 19968: jis0208<<14 | 0x4E<<7 | 0x56,
+ 38449 - 19968: jis0212<<14 | 0x45<<7 | 0x2A,
+ 38450 - 19968: jis0208<<14 | 0x2A<<7 | 0x28,
+ 38451 - 19968: jis0212<<14 | 0x45<<7 | 0x2B,
+ 38455 - 19968: jis0212<<14 | 0x45<<7 | 0x2C,
+ 38456 - 19968: jis0212<<14 | 0x45<<7 | 0x2D,
+ 38457 - 19968: jis0212<<14 | 0x45<<7 | 0x2E,
+ 38458 - 19968: jis0212<<14 | 0x45<<7 | 0x2F,
+ 38459 - 19968: jis0208<<14 | 0x20<<7 | 0x2A,
+ 38460 - 19968: jis0212<<14 | 0x45<<7 | 0x30,
+ 38461 - 19968: jis0212<<14 | 0x45<<7 | 0x31,
+ 38463 - 19968: jis0208<<14 | 0x0F<<7 | 0x03,
+ 38464 - 19968: jis0208<<14 | 0x21<<7 | 0x2A,
+ 38465 - 19968: jis0212<<14 | 0x45<<7 | 0x32,
+ 38466 - 19968: jis0208<<14 | 0x4E<<7 | 0x57,
+ 38468 - 19968: jis0208<<14 | 0x28<<7 | 0x4C,
+ 38475 - 19968: jis0208<<14 | 0x4E<<7 | 0x5A,
+ 38476 - 19968: jis0208<<14 | 0x4E<<7 | 0x58,
+ 38477 - 19968: jis0208<<14 | 0x18<<7 | 0x3E,
+ 38479 - 19968: jis0208<<14 | 0x4E<<7 | 0x59,
+ 38480 - 19968: jis0208<<14 | 0x17<<7 | 0x21,
+ 38482 - 19968: jis0212<<14 | 0x45<<7 | 0x33,
+ 38484 - 19968: jis0212<<14 | 0x45<<7 | 0x34,
+ 38486 - 19968: jis0212<<14 | 0x45<<7 | 0x35,
+ 38487 - 19968: jis0212<<14 | 0x45<<7 | 0x36,
+ 38488 - 19968: jis0212<<14 | 0x45<<7 | 0x37,
+ 38491 - 19968: jis0208<<14 | 0x29<<7 | 0x24,
+ 38492 - 19968: jis0208<<14 | 0x4E<<7 | 0x5C,
+ 38493 - 19968: jis0208<<14 | 0x4F<<7 | 0x00,
+ 38494 - 19968: jis0208<<14 | 0x4E<<7 | 0x5D,
+ 38495 - 19968: jis0208<<14 | 0x4F<<7 | 0x01,
+ 38497 - 19968: jis0212<<14 | 0x45<<7 | 0x38,
+ 38498 - 19968: jis0208<<14 | 0x10<<7 | 0x00,
+ 38499 - 19968: jis0208<<14 | 0x1E<<7 | 0x37,
+ 38500 - 19968: jis0208<<14 | 0x1C<<7 | 0x5B,
+ 38501 - 19968: jis0208<<14 | 0x13<<7 | 0x38,
+ 38502 - 19968: jis0208<<14 | 0x4F<<7 | 0x02,
+ 38506 - 19968: jis0208<<14 | 0x26<<7 | 0x45,
+ 38508 - 19968: jis0208<<14 | 0x4F<<7 | 0x04,
+ 38510 - 19968: jis0212<<14 | 0x45<<7 | 0x39,
+ 38512 - 19968: jis0208<<14 | 0x10<<7 | 0x01,
+ 38514 - 19968: jis0208<<14 | 0x4F<<7 | 0x03,
+ 38515 - 19968: jis0208<<14 | 0x23<<7 | 0x23,
+ 38516 - 19968: jis0212<<14 | 0x45<<7 | 0x3A,
+ 38517 - 19968: jis0208<<14 | 0x2D<<7 | 0x2C,
+ 38518 - 19968: jis0208<<14 | 0x25<<7 | 0x0A,
+ 38519 - 19968: jis0208<<14 | 0x4E<<7 | 0x5B,
+ 38520 - 19968: jis0208<<14 | 0x2D<<7 | 0x05,
+ 38522 - 19968: jis0208<<14 | 0x17<<7 | 0x10,
+ 38523 - 19968: jis0212<<14 | 0x45<<7 | 0x3B,
+ 38524 - 19968: jis0212<<14 | 0x45<<7 | 0x3C,
+ 38525 - 19968: jis0208<<14 | 0x2C<<7 | 0x3A,
+ 38526 - 19968: jis0212<<14 | 0x45<<7 | 0x3D,
+ 38527 - 19968: jis0212<<14 | 0x45<<7 | 0x3E,
+ 38529 - 19968: jis0212<<14 | 0x45<<7 | 0x3F,
+ 38530 - 19968: jis0212<<14 | 0x45<<7 | 0x40,
+ 38531 - 19968: jis0212<<14 | 0x45<<7 | 0x41,
+ 38532 - 19968: jis0212<<14 | 0x45<<7 | 0x42,
+ 38533 - 19968: jis0208<<14 | 0x15<<7 | 0x58,
+ 38534 - 19968: jis0208<<14 | 0x2D<<7 | 0x13,
+ 38536 - 19968: jis0208<<14 | 0x16<<7 | 0x07,
+ 38537 - 19968: jis0212<<14 | 0x45<<7 | 0x43,
+ 38538 - 19968: jis0208<<14 | 0x21<<7 | 0x41,
+ 38539 - 19968: jis0208<<14 | 0x46<<7 | 0x00,
+ 38541 - 19968: jis0208<<14 | 0x4F<<7 | 0x05,
+ 38542 - 19968: jis0208<<14 | 0x12<<7 | 0x0B,
+ 38543 - 19968: jis0208<<14 | 0x1E<<7 | 0x4E,
+ 38545 - 19968: jis0212<<14 | 0x45<<7 | 0x44,
+ 38548 - 19968: jis0208<<14 | 0x12<<7 | 0x35,
+ 38549 - 19968: jis0208<<14 | 0x4F<<7 | 0x07,
+ 38550 - 19968: jis0212<<14 | 0x45<<7 | 0x45,
+ 38551 - 19968: jis0208<<14 | 0x4F<<7 | 0x08,
+ 38552 - 19968: jis0208<<14 | 0x4F<<7 | 0x06,
+ 38553 - 19968: jis0208<<14 | 0x16<<7 | 0x43,
+ 38554 - 19968: jis0212<<14 | 0x45<<7 | 0x46,
+ 38555 - 19968: jis0208<<14 | 0x19<<7 | 0x3C,
+ 38556 - 19968: jis0208<<14 | 0x1D<<7 | 0x42,
+ 38557 - 19968: jis0208<<14 | 0x5B<<7 | 0x30,
+ 38559 - 19968: jis0212<<14 | 0x45<<7 | 0x48,
+ 38560 - 19968: jis0208<<14 | 0x10<<7 | 0x02,
+ 38563 - 19968: jis0208<<14 | 0x2D<<7 | 0x38,
+ 38564 - 19968: jis0212<<14 | 0x45<<7 | 0x49,
+ 38565 - 19968: jis0212<<14 | 0x45<<7 | 0x4A,
+ 38566 - 19968: jis0212<<14 | 0x45<<7 | 0x4B,
+ 38567 - 19968: jis0208<<14 | 0x4F<<7 | 0x0A,
+ 38568 - 19968: jis0208<<14 | 0x4D<<7 | 0x0D,
+ 38569 - 19968: jis0212<<14 | 0x45<<7 | 0x4C,
+ 38570 - 19968: jis0208<<14 | 0x4F<<7 | 0x09,
+ 38574 - 19968: jis0212<<14 | 0x45<<7 | 0x4D,
+ 38575 - 19968: jis0208<<14 | 0x5B<<7 | 0x31,
+ 38576 - 19968: jis0208<<14 | 0x4F<<7 | 0x0D,
+ 38577 - 19968: jis0208<<14 | 0x4F<<7 | 0x0B,
+ 38578 - 19968: jis0208<<14 | 0x4F<<7 | 0x0C,
+ 38579 - 19968: jis0212<<14 | 0x45<<7 | 0x4F,
+ 38580 - 19968: jis0208<<14 | 0x4F<<7 | 0x0E,
+ 38582 - 19968: jis0208<<14 | 0x4F<<7 | 0x0F,
+ 38583 - 19968: jis0208<<14 | 0x2D<<7 | 0x4B,
+ 38584 - 19968: jis0208<<14 | 0x4F<<7 | 0x10,
+ 38585 - 19968: jis0208<<14 | 0x4F<<7 | 0x11,
+ 38586 - 19968: jis0212<<14 | 0x45<<7 | 0x50,
+ 38587 - 19968: jis0208<<14 | 0x1F<<7 | 0x28,
+ 38588 - 19968: jis0208<<14 | 0x27<<7 | 0x1A,
+ 38592 - 19968: jis0208<<14 | 0x1E<<7 | 0x5C,
+ 38593 - 19968: jis0208<<14 | 0x13<<7 | 0x46,
+ 38596 - 19968: jis0208<<14 | 0x2C<<7 | 0x19,
+ 38597 - 19968: jis0208<<14 | 0x11<<7 | 0x4C,
+ 38598 - 19968: jis0208<<14 | 0x1C<<7 | 0x17,
+ 38599 - 19968: jis0208<<14 | 0x17<<7 | 0x3A,
+ 38601 - 19968: jis0208<<14 | 0x4F<<7 | 0x14,
+ 38602 - 19968: jis0212<<14 | 0x45<<7 | 0x51,
+ 38603 - 19968: jis0208<<14 | 0x4F<<7 | 0x13,
+ 38604 - 19968: jis0208<<14 | 0x1A<<7 | 0x52,
+ 38605 - 19968: jis0208<<14 | 0x4F<<7 | 0x15,
+ 38606 - 19968: jis0208<<14 | 0x4F<<7 | 0x12,
+ 38609 - 19968: jis0208<<14 | 0x1A<<7 | 0x07,
+ 38610 - 19968: jis0212<<14 | 0x45<<7 | 0x52,
+ 38613 - 19968: jis0208<<14 | 0x4F<<7 | 0x19,
+ 38614 - 19968: jis0208<<14 | 0x49<<7 | 0x0C,
+ 38616 - 19968: jis0212<<14 | 0x45<<7 | 0x54,
+ 38617 - 19968: jis0208<<14 | 0x31<<7 | 0x35,
+ 38618 - 19968: jis0212<<14 | 0x45<<7 | 0x55,
+ 38619 - 19968: jis0208<<14 | 0x1E<<7 | 0x56,
+ 38620 - 19968: jis0208<<14 | 0x4F<<7 | 0x17,
+ 38621 - 19968: jis0212<<14 | 0x45<<7 | 0x56,
+ 38622 - 19968: jis0212<<14 | 0x45<<7 | 0x57,
+ 38623 - 19968: jis0212<<14 | 0x45<<7 | 0x58,
+ 38626 - 19968: jis0208<<14 | 0x2D<<7 | 0x04,
+ 38627 - 19968: jis0208<<14 | 0x25<<7 | 0x50,
+ 38632 - 19968: jis0208<<14 | 0x10<<7 | 0x0A,
+ 38633 - 19968: jis0212<<14 | 0x45<<7 | 0x59,
+ 38634 - 19968: jis0208<<14 | 0x1F<<7 | 0x42,
+ 38635 - 19968: jis0208<<14 | 0x1B<<7 | 0x15,
+ 38639 - 19968: jis0212<<14 | 0x45<<7 | 0x5A,
+ 38640 - 19968: jis0208<<14 | 0x29<<7 | 0x16,
+ 38641 - 19968: jis0212<<14 | 0x45<<7 | 0x5B,
+ 38642 - 19968: jis0208<<14 | 0x10<<7 | 0x1F,
+ 38646 - 19968: jis0208<<14 | 0x2D<<7 | 0x4C,
+ 38647 - 19968: jis0208<<14 | 0x2C<<7 | 0x4A,
+ 38649 - 19968: jis0208<<14 | 0x4F<<7 | 0x1A,
+ 38650 - 19968: jis0212<<14 | 0x45<<7 | 0x5C,
+ 38651 - 19968: jis0208<<14 | 0x24<<7 | 0x24,
+ 38656 - 19968: jis0208<<14 | 0x1B<<7 | 0x5A,
+ 38658 - 19968: jis0212<<14 | 0x45<<7 | 0x5D,
+ 38659 - 19968: jis0212<<14 | 0x46<<7 | 0x00,
+ 38660 - 19968: jis0208<<14 | 0x4F<<7 | 0x1B,
+ 38661 - 19968: jis0212<<14 | 0x46<<7 | 0x01,
+ 38662 - 19968: jis0208<<14 | 0x4F<<7 | 0x1C,
+ 38663 - 19968: jis0208<<14 | 0x1E<<7 | 0x2B,
+ 38664 - 19968: jis0208<<14 | 0x4F<<7 | 0x1D,
+ 38665 - 19968: jis0212<<14 | 0x46<<7 | 0x02,
+ 38666 - 19968: jis0208<<14 | 0x2D<<7 | 0x4D,
+ 38669 - 19968: jis0208<<14 | 0x4F<<7 | 0x18,
+ 38670 - 19968: jis0208<<14 | 0x4F<<7 | 0x1F,
+ 38671 - 19968: jis0208<<14 | 0x4F<<7 | 0x21,
+ 38673 - 19968: jis0208<<14 | 0x4F<<7 | 0x20,
+ 38675 - 19968: jis0208<<14 | 0x4F<<7 | 0x1E,
+ 38678 - 19968: jis0208<<14 | 0x4F<<7 | 0x22,
+ 38681 - 19968: jis0208<<14 | 0x4F<<7 | 0x23,
+ 38682 - 19968: jis0212<<14 | 0x46<<7 | 0x03,
+ 38683 - 19968: jis0212<<14 | 0x46<<7 | 0x04,
+ 38684 - 19968: jis0208<<14 | 0x20<<7 | 0x59,
+ 38685 - 19968: jis0212<<14 | 0x46<<7 | 0x05,
+ 38686 - 19968: jis0208<<14 | 0x11<<7 | 0x41,
+ 38689 - 19968: jis0212<<14 | 0x46<<7 | 0x06,
+ 38690 - 19968: jis0212<<14 | 0x46<<7 | 0x07,
+ 38691 - 19968: jis0212<<14 | 0x46<<7 | 0x08,
+ 38692 - 19968: jis0208<<14 | 0x4F<<7 | 0x24,
+ 38695 - 19968: jis0208<<14 | 0x2B<<7 | 0x17,
+ 38696 - 19968: jis0212<<14 | 0x46<<7 | 0x09,
+ 38698 - 19968: jis0208<<14 | 0x4F<<7 | 0x25,
+ 38704 - 19968: jis0208<<14 | 0x4F<<7 | 0x26,
+ 38705 - 19968: jis0212<<14 | 0x46<<7 | 0x0A,
+ 38706 - 19968: jis0208<<14 | 0x2E<<7 | 0x09,
+ 38707 - 19968: jis0208<<14 | 0x5B<<7 | 0x32,
+ 38712 - 19968: jis0208<<14 | 0x3A<<7 | 0x10,
+ 38713 - 19968: jis0208<<14 | 0x4F<<7 | 0x27,
+ 38715 - 19968: jis0208<<14 | 0x5B<<7 | 0x33,
+ 38717 - 19968: jis0208<<14 | 0x4F<<7 | 0x28,
+ 38718 - 19968: jis0208<<14 | 0x4F<<7 | 0x29,
+ 38721 - 19968: jis0212<<14 | 0x46<<7 | 0x0C,
+ 38722 - 19968: jis0208<<14 | 0x4F<<7 | 0x2D,
+ 38723 - 19968: jis0208<<14 | 0x5B<<7 | 0x34,
+ 38724 - 19968: jis0208<<14 | 0x4F<<7 | 0x2A,
+ 38726 - 19968: jis0208<<14 | 0x4F<<7 | 0x2B,
+ 38728 - 19968: jis0208<<14 | 0x4F<<7 | 0x2C,
+ 38729 - 19968: jis0208<<14 | 0x4F<<7 | 0x2E,
+ 38730 - 19968: jis0212<<14 | 0x46<<7 | 0x0E,
+ 38733 - 19968: jis0208<<14 | 0x5B<<7 | 0x35,
+ 38734 - 19968: jis0212<<14 | 0x46<<7 | 0x0F,
+ 38735 - 19968: jis0208<<14 | 0x5B<<7 | 0x36,
+ 38737 - 19968: jis0208<<14 | 0x5B<<7 | 0x37,
+ 38738 - 19968: jis0208<<14 | 0x1F<<7 | 0x23,
+ 38741 - 19968: jis0208<<14 | 0x5B<<7 | 0x38,
+ 38742 - 19968: jis0208<<14 | 0x2B<<7 | 0x56,
+ 38743 - 19968: jis0212<<14 | 0x46<<7 | 0x12,
+ 38744 - 19968: jis0212<<14 | 0x46<<7 | 0x13,
+ 38745 - 19968: jis0208<<14 | 0x1F<<7 | 0x24,
+ 38746 - 19968: jis0212<<14 | 0x46<<7 | 0x14,
+ 38747 - 19968: jis0212<<14 | 0x46<<7 | 0x15,
+ 38748 - 19968: jis0208<<14 | 0x4F<<7 | 0x2F,
+ 38750 - 19968: jis0208<<14 | 0x27<<7 | 0x52,
+ 38752 - 19968: jis0208<<14 | 0x4F<<7 | 0x30,
+ 38753 - 19968: jis0208<<14 | 0x52<<7 | 0x32,
+ 38754 - 19968: jis0208<<14 | 0x2B<<7 | 0x2B,
+ 38755 - 19968: jis0212<<14 | 0x46<<7 | 0x16,
+ 38756 - 19968: jis0208<<14 | 0x4F<<7 | 0x31,
+ 38758 - 19968: jis0208<<14 | 0x4F<<7 | 0x32,
+ 38759 - 19968: jis0212<<14 | 0x46<<7 | 0x17,
+ 38760 - 19968: jis0208<<14 | 0x4F<<7 | 0x33,
+ 38761 - 19968: jis0208<<14 | 0x12<<7 | 0x36,
+ 38762 - 19968: jis0212<<14 | 0x46<<7 | 0x18,
+ 38763 - 19968: jis0208<<14 | 0x4F<<7 | 0x35,
+ 38765 - 19968: jis0208<<14 | 0x1E<<7 | 0x38,
+ 38766 - 19968: jis0212<<14 | 0x46<<7 | 0x19,
+ 38769 - 19968: jis0208<<14 | 0x4F<<7 | 0x36,
+ 38771 - 19968: jis0212<<14 | 0x46<<7 | 0x1A,
+ 38772 - 19968: jis0208<<14 | 0x16<<7 | 0x03,
+ 38774 - 19968: jis0212<<14 | 0x46<<7 | 0x1B,
+ 38775 - 19968: jis0212<<14 | 0x46<<7 | 0x1C,
+ 38776 - 19968: jis0212<<14 | 0x46<<7 | 0x1D,
+ 38777 - 19968: jis0208<<14 | 0x4F<<7 | 0x37,
+ 38778 - 19968: jis0208<<14 | 0x4F<<7 | 0x3B,
+ 38779 - 19968: jis0212<<14 | 0x46<<7 | 0x1E,
+ 38780 - 19968: jis0208<<14 | 0x4F<<7 | 0x39,
+ 38781 - 19968: jis0212<<14 | 0x46<<7 | 0x1F,
+ 38783 - 19968: jis0212<<14 | 0x46<<7 | 0x20,
+ 38784 - 19968: jis0212<<14 | 0x46<<7 | 0x21,
+ 38785 - 19968: jis0208<<14 | 0x4F<<7 | 0x3A,
+ 38788 - 19968: jis0208<<14 | 0x12<<7 | 0x52,
+ 38789 - 19968: jis0208<<14 | 0x4F<<7 | 0x38,
+ 38790 - 19968: jis0208<<14 | 0x4F<<7 | 0x3C,
+ 38793 - 19968: jis0212<<14 | 0x46<<7 | 0x22,
+ 38795 - 19968: jis0208<<14 | 0x4F<<7 | 0x3D,
+ 38797 - 19968: jis0208<<14 | 0x0F<<7 | 0x27,
+ 38799 - 19968: jis0208<<14 | 0x4F<<7 | 0x3E,
+ 38800 - 19968: jis0208<<14 | 0x4F<<7 | 0x3F,
+ 38805 - 19968: jis0212<<14 | 0x46<<7 | 0x23,
+ 38806 - 19968: jis0212<<14 | 0x46<<7 | 0x24,
+ 38807 - 19968: jis0212<<14 | 0x46<<7 | 0x25,
+ 38808 - 19968: jis0208<<14 | 0x1D<<7 | 0x43,
+ 38809 - 19968: jis0212<<14 | 0x46<<7 | 0x26,
+ 38810 - 19968: jis0212<<14 | 0x46<<7 | 0x27,
+ 38812 - 19968: jis0208<<14 | 0x4F<<7 | 0x40,
+ 38814 - 19968: jis0212<<14 | 0x46<<7 | 0x28,
+ 38815 - 19968: jis0212<<14 | 0x46<<7 | 0x29,
+ 38816 - 19968: jis0208<<14 | 0x14<<7 | 0x26,
+ 38818 - 19968: jis0212<<14 | 0x46<<7 | 0x2A,
+ 38819 - 19968: jis0208<<14 | 0x4F<<7 | 0x43,
+ 38822 - 19968: jis0208<<14 | 0x4F<<7 | 0x42,
+ 38824 - 19968: jis0208<<14 | 0x4F<<7 | 0x41,
+ 38827 - 19968: jis0208<<14 | 0x4A<<7 | 0x50,
+ 38828 - 19968: jis0212<<14 | 0x46<<7 | 0x2B,
+ 38829 - 19968: jis0208<<14 | 0x29<<7 | 0x3B,
+ 38830 - 19968: jis0212<<14 | 0x46<<7 | 0x2C,
+ 38833 - 19968: jis0212<<14 | 0x46<<7 | 0x2D,
+ 38834 - 19968: jis0212<<14 | 0x46<<7 | 0x2E,
+ 38835 - 19968: jis0208<<14 | 0x4F<<7 | 0x44,
+ 38836 - 19968: jis0208<<14 | 0x4F<<7 | 0x45,
+ 38837 - 19968: jis0212<<14 | 0x46<<7 | 0x2F,
+ 38838 - 19968: jis0212<<14 | 0x46<<7 | 0x30,
+ 38840 - 19968: jis0212<<14 | 0x46<<7 | 0x31,
+ 38841 - 19968: jis0212<<14 | 0x46<<7 | 0x32,
+ 38842 - 19968: jis0212<<14 | 0x46<<7 | 0x33,
+ 38844 - 19968: jis0212<<14 | 0x46<<7 | 0x34,
+ 38846 - 19968: jis0212<<14 | 0x46<<7 | 0x35,
+ 38847 - 19968: jis0212<<14 | 0x46<<7 | 0x36,
+ 38849 - 19968: jis0212<<14 | 0x46<<7 | 0x37,
+ 38851 - 19968: jis0208<<14 | 0x4F<<7 | 0x46,
+ 38852 - 19968: jis0212<<14 | 0x46<<7 | 0x38,
+ 38853 - 19968: jis0212<<14 | 0x46<<7 | 0x39,
+ 38854 - 19968: jis0208<<14 | 0x4F<<7 | 0x47,
+ 38855 - 19968: jis0212<<14 | 0x46<<7 | 0x3A,
+ 38856 - 19968: jis0208<<14 | 0x4F<<7 | 0x48,
+ 38857 - 19968: jis0212<<14 | 0x46<<7 | 0x3B,
+ 38858 - 19968: jis0212<<14 | 0x46<<7 | 0x3C,
+ 38859 - 19968: jis0208<<14 | 0x4F<<7 | 0x49,
+ 38860 - 19968: jis0212<<14 | 0x46<<7 | 0x3D,
+ 38861 - 19968: jis0212<<14 | 0x46<<7 | 0x3E,
+ 38862 - 19968: jis0212<<14 | 0x46<<7 | 0x3F,
+ 38864 - 19968: jis0212<<14 | 0x46<<7 | 0x40,
+ 38865 - 19968: jis0212<<14 | 0x46<<7 | 0x41,
+ 38867 - 19968: jis0208<<14 | 0x13<<7 | 0x39,
+ 38868 - 19968: jis0212<<14 | 0x46<<7 | 0x42,
+ 38871 - 19968: jis0212<<14 | 0x46<<7 | 0x43,
+ 38872 - 19968: jis0212<<14 | 0x46<<7 | 0x44,
+ 38873 - 19968: jis0212<<14 | 0x46<<7 | 0x45,
+ 38875 - 19968: jis0212<<14 | 0x46<<7 | 0x49,
+ 38876 - 19968: jis0208<<14 | 0x4F<<7 | 0x4A,
+ 38877 - 19968: jis0212<<14 | 0x46<<7 | 0x46,
+ 38878 - 19968: jis0212<<14 | 0x46<<7 | 0x47,
+ 38880 - 19968: jis0212<<14 | 0x46<<7 | 0x48,
+ 38881 - 19968: jis0212<<14 | 0x46<<7 | 0x4A,
+ 38884 - 19968: jis0212<<14 | 0x46<<7 | 0x4B,
+ 38893 - 19968: jis0208<<14 | 0x4F<<7 | 0x4B,
+ 38894 - 19968: jis0208<<14 | 0x26<<7 | 0x02,
+ 38895 - 19968: jis0212<<14 | 0x46<<7 | 0x4C,
+ 38897 - 19968: jis0212<<14 | 0x46<<7 | 0x4D,
+ 38898 - 19968: jis0208<<14 | 0x4F<<7 | 0x4D,
+ 38899 - 19968: jis0208<<14 | 0x11<<7 | 0x1A,
+ 38900 - 19968: jis0212<<14 | 0x46<<7 | 0x4E,
+ 38901 - 19968: jis0208<<14 | 0x4F<<7 | 0x50,
+ 38902 - 19968: jis0208<<14 | 0x4F<<7 | 0x4F,
+ 38903 - 19968: jis0212<<14 | 0x46<<7 | 0x4F,
+ 38904 - 19968: jis0212<<14 | 0x46<<7 | 0x50,
+ 38906 - 19968: jis0212<<14 | 0x46<<7 | 0x51,
+ 38907 - 19968: jis0208<<14 | 0x10<<7 | 0x03,
+ 38911 - 19968: jis0208<<14 | 0x15<<7 | 0x20,
+ 38913 - 19968: jis0208<<14 | 0x29<<7 | 0x26,
+ 38914 - 19968: jis0208<<14 | 0x23<<7 | 0x19,
+ 38915 - 19968: jis0208<<14 | 0x19<<7 | 0x01,
+ 38917 - 19968: jis0208<<14 | 0x18<<7 | 0x3F,
+ 38918 - 19968: jis0208<<14 | 0x1C<<7 | 0x46,
+ 38919 - 19968: jis0212<<14 | 0x46<<7 | 0x52,
+ 38920 - 19968: jis0208<<14 | 0x1E<<7 | 0x3B,
+ 38922 - 19968: jis0212<<14 | 0x46<<7 | 0x53,
+ 38924 - 19968: jis0208<<14 | 0x4F<<7 | 0x52,
+ 38925 - 19968: jis0212<<14 | 0x46<<7 | 0x55,
+ 38926 - 19968: jis0212<<14 | 0x46<<7 | 0x56,
+ 38927 - 19968: jis0208<<14 | 0x4F<<7 | 0x51,
+ 38928 - 19968: jis0208<<14 | 0x2C<<7 | 0x21,
+ 38929 - 19968: jis0208<<14 | 0x13<<7 | 0x47,
+ 38930 - 19968: jis0208<<14 | 0x27<<7 | 0x31,
+ 38931 - 19968: jis0208<<14 | 0x25<<7 | 0x3B,
+ 38932 - 19968: jis0212<<14 | 0x46<<7 | 0x57,
+ 38934 - 19968: jis0212<<14 | 0x46<<7 | 0x58,
+ 38935 - 19968: jis0208<<14 | 0x1E<<7 | 0x5B,
+ 38936 - 19968: jis0208<<14 | 0x2D<<7 | 0x2D,
+ 38937 - 19968: jis0212<<14 | 0x46<<7 | 0x54,
+ 38938 - 19968: jis0208<<14 | 0x16<<7 | 0x3A,
+ 38940 - 19968: jis0212<<14 | 0x46<<7 | 0x59,
+ 38942 - 19968: jis0212<<14 | 0x46<<7 | 0x5A,
+ 38944 - 19968: jis0212<<14 | 0x46<<7 | 0x5B,
+ 38945 - 19968: jis0208<<14 | 0x4F<<7 | 0x55,
+ 38947 - 19968: jis0212<<14 | 0x46<<7 | 0x5C,
+ 38948 - 19968: jis0208<<14 | 0x4F<<7 | 0x54,
+ 38949 - 19968: jis0212<<14 | 0x47<<7 | 0x07,
+ 38950 - 19968: jis0212<<14 | 0x46<<7 | 0x5D,
+ 38955 - 19968: jis0212<<14 | 0x47<<7 | 0x00,
+ 38956 - 19968: jis0208<<14 | 0x2A<<7 | 0x2A,
+ 38957 - 19968: jis0208<<14 | 0x25<<7 | 0x0B,
+ 38958 - 19968: jis0212<<14 | 0x47<<7 | 0x01,
+ 38959 - 19968: jis0212<<14 | 0x47<<7 | 0x02,
+ 38960 - 19968: jis0212<<14 | 0x47<<7 | 0x03,
+ 38962 - 19968: jis0212<<14 | 0x47<<7 | 0x04,
+ 38963 - 19968: jis0212<<14 | 0x47<<7 | 0x05,
+ 38964 - 19968: jis0208<<14 | 0x10<<7 | 0x2F,
+ 38965 - 19968: jis0212<<14 | 0x47<<7 | 0x06,
+ 38967 - 19968: jis0208<<14 | 0x4F<<7 | 0x56,
+ 38968 - 19968: jis0208<<14 | 0x4F<<7 | 0x53,
+ 38971 - 19968: jis0208<<14 | 0x28<<7 | 0x30,
+ 38972 - 19968: jis0208<<14 | 0x2C<<7 | 0x49,
+ 38973 - 19968: jis0208<<14 | 0x4F<<7 | 0x57,
+ 38974 - 19968: jis0212<<14 | 0x47<<7 | 0x08,
+ 38980 - 19968: jis0212<<14 | 0x47<<7 | 0x09,
+ 38982 - 19968: jis0208<<14 | 0x4F<<7 | 0x58,
+ 38983 - 19968: jis0212<<14 | 0x47<<7 | 0x0A,
+ 38986 - 19968: jis0212<<14 | 0x47<<7 | 0x0B,
+ 38987 - 19968: jis0208<<14 | 0x4F<<7 | 0x5A,
+ 38988 - 19968: jis0208<<14 | 0x21<<7 | 0x49,
+ 38989 - 19968: jis0208<<14 | 0x12<<7 | 0x3A,
+ 38990 - 19968: jis0208<<14 | 0x12<<7 | 0x3B,
+ 38991 - 19968: jis0208<<14 | 0x4F<<7 | 0x59,
+ 38993 - 19968: jis0212<<14 | 0x47<<7 | 0x0C,
+ 38994 - 19968: jis0212<<14 | 0x47<<7 | 0x0D,
+ 38995 - 19968: jis0212<<14 | 0x47<<7 | 0x0E,
+ 38996 - 19968: jis0208<<14 | 0x13<<7 | 0x48,
+ 38997 - 19968: jis0208<<14 | 0x17<<7 | 0x11,
+ 38998 - 19968: jis0212<<14 | 0x47<<7 | 0x0F,
+ 38999 - 19968: jis0208<<14 | 0x5B<<7 | 0x39,
+ 39000 - 19968: jis0208<<14 | 0x13<<7 | 0x49,
+ 39001 - 19968: jis0212<<14 | 0x47<<7 | 0x11,
+ 39002 - 19968: jis0212<<14 | 0x47<<7 | 0x12,
+ 39003 - 19968: jis0208<<14 | 0x24<<7 | 0x1E,
+ 39006 - 19968: jis0208<<14 | 0x2D<<7 | 0x3F,
+ 39010 - 19968: jis0212<<14 | 0x47<<7 | 0x13,
+ 39011 - 19968: jis0212<<14 | 0x47<<7 | 0x14,
+ 39013 - 19968: jis0208<<14 | 0x5B<<7 | 0x3A,
+ 39014 - 19968: jis0212<<14 | 0x47<<7 | 0x16,
+ 39015 - 19968: jis0208<<14 | 0x17<<7 | 0x3B,
+ 39018 - 19968: jis0212<<14 | 0x47<<7 | 0x17,
+ 39019 - 19968: jis0208<<14 | 0x4F<<7 | 0x5B,
+ 39020 - 19968: jis0212<<14 | 0x47<<7 | 0x18,
+ 39023 - 19968: jis0208<<14 | 0x4F<<7 | 0x5C,
+ 39024 - 19968: jis0208<<14 | 0x4F<<7 | 0x5D,
+ 39025 - 19968: jis0208<<14 | 0x50<<7 | 0x00,
+ 39027 - 19968: jis0208<<14 | 0x50<<7 | 0x02,
+ 39028 - 19968: jis0208<<14 | 0x50<<7 | 0x01,
+ 39080 - 19968: jis0208<<14 | 0x28<<7 | 0x56,
+ 39082 - 19968: jis0208<<14 | 0x50<<7 | 0x03,
+ 39083 - 19968: jis0212<<14 | 0x47<<7 | 0x19,
+ 39085 - 19968: jis0212<<14 | 0x47<<7 | 0x1A,
+ 39086 - 19968: jis0212<<14 | 0x47<<7 | 0x1B,
+ 39087 - 19968: jis0208<<14 | 0x50<<7 | 0x04,
+ 39088 - 19968: jis0212<<14 | 0x47<<7 | 0x1C,
+ 39089 - 19968: jis0208<<14 | 0x50<<7 | 0x05,
+ 39092 - 19968: jis0212<<14 | 0x47<<7 | 0x1D,
+ 39094 - 19968: jis0208<<14 | 0x50<<7 | 0x06,
+ 39095 - 19968: jis0212<<14 | 0x47<<7 | 0x1E,
+ 39096 - 19968: jis0212<<14 | 0x47<<7 | 0x1F,
+ 39098 - 19968: jis0212<<14 | 0x47<<7 | 0x20,
+ 39099 - 19968: jis0212<<14 | 0x47<<7 | 0x21,
+ 39103 - 19968: jis0212<<14 | 0x47<<7 | 0x22,
+ 39106 - 19968: jis0212<<14 | 0x47<<7 | 0x23,
+ 39107 - 19968: jis0208<<14 | 0x50<<7 | 0x08,
+ 39108 - 19968: jis0208<<14 | 0x50<<7 | 0x07,
+ 39109 - 19968: jis0212<<14 | 0x47<<7 | 0x24,
+ 39110 - 19968: jis0208<<14 | 0x50<<7 | 0x09,
+ 39112 - 19968: jis0212<<14 | 0x47<<7 | 0x25,
+ 39116 - 19968: jis0212<<14 | 0x47<<7 | 0x26,
+ 39131 - 19968: jis0208<<14 | 0x27<<7 | 0x53,
+ 39132 - 19968: jis0208<<14 | 0x45<<7 | 0x2B,
+ 39135 - 19968: jis0208<<14 | 0x1E<<7 | 0x08,
+ 39137 - 19968: jis0212<<14 | 0x47<<7 | 0x27,
+ 39138 - 19968: jis0208<<14 | 0x14<<7 | 0x11,
+ 39139 - 19968: jis0212<<14 | 0x47<<7 | 0x28,
+ 39141 - 19968: jis0212<<14 | 0x47<<7 | 0x29,
+ 39142 - 19968: jis0212<<14 | 0x47<<7 | 0x2A,
+ 39143 - 19968: jis0212<<14 | 0x47<<7 | 0x2B,
+ 39145 - 19968: jis0208<<14 | 0x50<<7 | 0x0A,
+ 39146 - 19968: jis0212<<14 | 0x47<<7 | 0x2C,
+ 39147 - 19968: jis0208<<14 | 0x50<<7 | 0x0B,
+ 39149 - 19968: jis0208<<14 | 0x31<<7 | 0x0B,
+ 39150 - 19968: jis0208<<14 | 0x3C<<7 | 0x1A,
+ 39151 - 19968: jis0208<<14 | 0x27<<7 | 0x32,
+ 39154 - 19968: jis0208<<14 | 0x0F<<7 | 0x5A,
+ 39155 - 19968: jis0212<<14 | 0x47<<7 | 0x2D,
+ 39156 - 19968: jis0208<<14 | 0x0F<<7 | 0x1A,
+ 39158 - 19968: jis0212<<14 | 0x47<<7 | 0x2E,
+ 39164 - 19968: jis0208<<14 | 0x1A<<7 | 0x53,
+ 39165 - 19968: jis0208<<14 | 0x2A<<7 | 0x0F,
+ 39166 - 19968: jis0208<<14 | 0x1D<<7 | 0x5D,
+ 39170 - 19968: jis0212<<14 | 0x47<<7 | 0x2F,
+ 39171 - 19968: jis0208<<14 | 0x50<<7 | 0x0C,
+ 39173 - 19968: jis0208<<14 | 0x2B<<7 | 0x3E,
+ 39175 - 19968: jis0212<<14 | 0x47<<7 | 0x30,
+ 39176 - 19968: jis0212<<14 | 0x47<<7 | 0x31,
+ 39177 - 19968: jis0208<<14 | 0x50<<7 | 0x0D,
+ 39178 - 19968: jis0208<<14 | 0x2C<<7 | 0x3B,
+ 39180 - 19968: jis0208<<14 | 0x10<<7 | 0x21,
+ 39184 - 19968: jis0208<<14 | 0x1A<<7 | 0x20,
+ 39185 - 19968: jis0212<<14 | 0x47<<7 | 0x32,
+ 39186 - 19968: jis0208<<14 | 0x50<<7 | 0x0E,
+ 39187 - 19968: jis0208<<14 | 0x11<<7 | 0x4D,
+ 39188 - 19968: jis0208<<14 | 0x50<<7 | 0x0F,
+ 39189 - 19968: jis0212<<14 | 0x47<<7 | 0x33,
+ 39190 - 19968: jis0212<<14 | 0x47<<7 | 0x34,
+ 39191 - 19968: jis0212<<14 | 0x47<<7 | 0x35,
+ 39192 - 19968: jis0208<<14 | 0x50<<7 | 0x10,
+ 39194 - 19968: jis0212<<14 | 0x47<<7 | 0x36,
+ 39195 - 19968: jis0212<<14 | 0x47<<7 | 0x37,
+ 39196 - 19968: jis0212<<14 | 0x47<<7 | 0x38,
+ 39197 - 19968: jis0208<<14 | 0x50<<7 | 0x12,
+ 39198 - 19968: jis0208<<14 | 0x50<<7 | 0x13,
+ 39199 - 19968: jis0212<<14 | 0x47<<7 | 0x39,
+ 39200 - 19968: jis0208<<14 | 0x50<<7 | 0x15,
+ 39201 - 19968: jis0208<<14 | 0x50<<7 | 0x11,
+ 39202 - 19968: jis0212<<14 | 0x47<<7 | 0x3A,
+ 39204 - 19968: jis0208<<14 | 0x50<<7 | 0x14,
+ 39206 - 19968: jis0212<<14 | 0x47<<7 | 0x3B,
+ 39207 - 19968: jis0208<<14 | 0x5B<<7 | 0x3D,
+ 39208 - 19968: jis0208<<14 | 0x13<<7 | 0x3A,
+ 39211 - 19968: jis0212<<14 | 0x47<<7 | 0x3D,
+ 39212 - 19968: jis0208<<14 | 0x50<<7 | 0x16,
+ 39214 - 19968: jis0208<<14 | 0x50<<7 | 0x17,
+ 39217 - 19968: jis0212<<14 | 0x47<<7 | 0x3E,
+ 39218 - 19968: jis0212<<14 | 0x47<<7 | 0x3F,
+ 39219 - 19968: jis0212<<14 | 0x47<<7 | 0x40,
+ 39220 - 19968: jis0212<<14 | 0x47<<7 | 0x41,
+ 39221 - 19968: jis0212<<14 | 0x47<<7 | 0x42,
+ 39225 - 19968: jis0212<<14 | 0x47<<7 | 0x43,
+ 39226 - 19968: jis0212<<14 | 0x47<<7 | 0x44,
+ 39227 - 19968: jis0212<<14 | 0x47<<7 | 0x45,
+ 39228 - 19968: jis0212<<14 | 0x47<<7 | 0x46,
+ 39229 - 19968: jis0208<<14 | 0x50<<7 | 0x18,
+ 39230 - 19968: jis0208<<14 | 0x50<<7 | 0x19,
+ 39232 - 19968: jis0212<<14 | 0x47<<7 | 0x47,
+ 39233 - 19968: jis0212<<14 | 0x47<<7 | 0x48,
+ 39234 - 19968: jis0208<<14 | 0x50<<7 | 0x1A,
+ 39237 - 19968: jis0208<<14 | 0x50<<7 | 0x1C,
+ 39238 - 19968: jis0212<<14 | 0x47<<7 | 0x49,
+ 39239 - 19968: jis0212<<14 | 0x47<<7 | 0x4A,
+ 39240 - 19968: jis0212<<14 | 0x47<<7 | 0x4B,
+ 39241 - 19968: jis0208<<14 | 0x50<<7 | 0x1B,
+ 39243 - 19968: jis0208<<14 | 0x50<<7 | 0x1E,
+ 39244 - 19968: jis0208<<14 | 0x50<<7 | 0x21,
+ 39245 - 19968: jis0212<<14 | 0x47<<7 | 0x4C,
+ 39246 - 19968: jis0212<<14 | 0x47<<7 | 0x4D,
+ 39248 - 19968: jis0208<<14 | 0x50<<7 | 0x1D,
+ 39249 - 19968: jis0208<<14 | 0x50<<7 | 0x1F,
+ 39250 - 19968: jis0208<<14 | 0x50<<7 | 0x20,
+ 39252 - 19968: jis0212<<14 | 0x47<<7 | 0x4E,
+ 39253 - 19968: jis0208<<14 | 0x50<<7 | 0x22,
+ 39255 - 19968: jis0208<<14 | 0x15<<7 | 0x21,
+ 39256 - 19968: jis0212<<14 | 0x47<<7 | 0x4F,
+ 39257 - 19968: jis0212<<14 | 0x47<<7 | 0x50,
+ 39259 - 19968: jis0212<<14 | 0x47<<7 | 0x51,
+ 39260 - 19968: jis0212<<14 | 0x47<<7 | 0x52,
+ 39262 - 19968: jis0212<<14 | 0x47<<7 | 0x53,
+ 39263 - 19968: jis0212<<14 | 0x47<<7 | 0x54,
+ 39264 - 19968: jis0212<<14 | 0x47<<7 | 0x55,
+ 39318 - 19968: jis0208<<14 | 0x1B<<7 | 0x52,
+ 39319 - 19968: jis0208<<14 | 0x50<<7 | 0x23,
+ 39320 - 19968: jis0208<<14 | 0x50<<7 | 0x24,
+ 39321 - 19968: jis0208<<14 | 0x18<<7 | 0x40,
+ 39323 - 19968: jis0212<<14 | 0x47<<7 | 0x56,
+ 39325 - 19968: jis0212<<14 | 0x47<<7 | 0x57,
+ 39326 - 19968: jis0208<<14 | 0x5B<<7 | 0x3F,
+ 39327 - 19968: jis0212<<14 | 0x47<<7 | 0x58,
+ 39333 - 19968: jis0208<<14 | 0x50<<7 | 0x25,
+ 39334 - 19968: jis0212<<14 | 0x47<<7 | 0x59,
+ 39336 - 19968: jis0208<<14 | 0x12<<7 | 0x1D,
+ 39340 - 19968: jis0208<<14 | 0x26<<7 | 0x2E,
+ 39341 - 19968: jis0208<<14 | 0x50<<7 | 0x26,
+ 39342 - 19968: jis0208<<14 | 0x50<<7 | 0x27,
+ 39344 - 19968: jis0212<<14 | 0x47<<7 | 0x5A,
+ 39345 - 19968: jis0212<<14 | 0x47<<7 | 0x5B,
+ 39346 - 19968: jis0212<<14 | 0x47<<7 | 0x5C,
+ 39347 - 19968: jis0208<<14 | 0x22<<7 | 0x39,
+ 39348 - 19968: jis0208<<14 | 0x25<<7 | 0x4A,
+ 39349 - 19968: jis0212<<14 | 0x47<<7 | 0x5D,
+ 39353 - 19968: jis0212<<14 | 0x48<<7 | 0x00,
+ 39354 - 19968: jis0212<<14 | 0x48<<7 | 0x01,
+ 39356 - 19968: jis0208<<14 | 0x50<<7 | 0x28,
+ 39357 - 19968: jis0212<<14 | 0x48<<7 | 0x02,
+ 39359 - 19968: jis0212<<14 | 0x48<<7 | 0x03,
+ 39361 - 19968: jis0208<<14 | 0x26<<7 | 0x5C,
+ 39363 - 19968: jis0212<<14 | 0x48<<7 | 0x04,
+ 39364 - 19968: jis0208<<14 | 0x21<<7 | 0x2B,
+ 39365 - 19968: jis0208<<14 | 0x10<<7 | 0x37,
+ 39366 - 19968: jis0208<<14 | 0x15<<7 | 0x4D,
+ 39368 - 19968: jis0208<<14 | 0x15<<7 | 0x4E,
+ 39369 - 19968: jis0212<<14 | 0x48<<7 | 0x05,
+ 39376 - 19968: jis0208<<14 | 0x22<<7 | 0x52,
+ 39377 - 19968: jis0208<<14 | 0x50<<7 | 0x2D,
+ 39378 - 19968: jis0208<<14 | 0x15<<7 | 0x4F,
+ 39379 - 19968: jis0212<<14 | 0x48<<7 | 0x06,
+ 39380 - 19968: jis0212<<14 | 0x48<<7 | 0x07,
+ 39381 - 19968: jis0208<<14 | 0x11<<7 | 0x4E,
+ 39384 - 19968: jis0208<<14 | 0x50<<7 | 0x2C,
+ 39385 - 19968: jis0212<<14 | 0x48<<7 | 0x08,
+ 39386 - 19968: jis0212<<14 | 0x48<<7 | 0x09,
+ 39387 - 19968: jis0208<<14 | 0x50<<7 | 0x2A,
+ 39388 - 19968: jis0212<<14 | 0x48<<7 | 0x0A,
+ 39389 - 19968: jis0208<<14 | 0x50<<7 | 0x2B,
+ 39390 - 19968: jis0212<<14 | 0x48<<7 | 0x0B,
+ 39391 - 19968: jis0208<<14 | 0x50<<7 | 0x29,
+ 39394 - 19968: jis0208<<14 | 0x50<<7 | 0x37,
+ 39399 - 19968: jis0212<<14 | 0x48<<7 | 0x0C,
+ 39402 - 19968: jis0212<<14 | 0x48<<7 | 0x0D,
+ 39403 - 19968: jis0212<<14 | 0x48<<7 | 0x0E,
+ 39404 - 19968: jis0212<<14 | 0x48<<7 | 0x0F,
+ 39405 - 19968: jis0208<<14 | 0x50<<7 | 0x2E,
+ 39406 - 19968: jis0208<<14 | 0x50<<7 | 0x2F,
+ 39408 - 19968: jis0212<<14 | 0x48<<7 | 0x10,
+ 39409 - 19968: jis0208<<14 | 0x50<<7 | 0x30,
+ 39410 - 19968: jis0208<<14 | 0x50<<7 | 0x31,
+ 39412 - 19968: jis0212<<14 | 0x48<<7 | 0x11,
+ 39413 - 19968: jis0212<<14 | 0x48<<7 | 0x12,
+ 39416 - 19968: jis0208<<14 | 0x50<<7 | 0x33,
+ 39417 - 19968: jis0212<<14 | 0x48<<7 | 0x13,
+ 39419 - 19968: jis0208<<14 | 0x50<<7 | 0x32,
+ 39421 - 19968: jis0212<<14 | 0x48<<7 | 0x14,
+ 39422 - 19968: jis0212<<14 | 0x48<<7 | 0x15,
+ 39423 - 19968: jis0208<<14 | 0x1C<<7 | 0x38,
+ 39425 - 19968: jis0208<<14 | 0x50<<7 | 0x34,
+ 39426 - 19968: jis0212<<14 | 0x48<<7 | 0x16,
+ 39427 - 19968: jis0212<<14 | 0x48<<7 | 0x17,
+ 39428 - 19968: jis0212<<14 | 0x48<<7 | 0x18,
+ 39429 - 19968: jis0208<<14 | 0x50<<7 | 0x36,
+ 39435 - 19968: jis0212<<14 | 0x48<<7 | 0x19,
+ 39436 - 19968: jis0212<<14 | 0x48<<7 | 0x1A,
+ 39438 - 19968: jis0208<<14 | 0x14<<7 | 0x12,
+ 39439 - 19968: jis0208<<14 | 0x50<<7 | 0x35,
+ 39440 - 19968: jis0212<<14 | 0x48<<7 | 0x1B,
+ 39441 - 19968: jis0212<<14 | 0x48<<7 | 0x1C,
+ 39442 - 19968: jis0208<<14 | 0x20<<7 | 0x5A,
+ 39443 - 19968: jis0208<<14 | 0x17<<7 | 0x12,
+ 39446 - 19968: jis0212<<14 | 0x48<<7 | 0x1D,
+ 39449 - 19968: jis0208<<14 | 0x50<<7 | 0x38,
+ 39454 - 19968: jis0212<<14 | 0x48<<7 | 0x1E,
+ 39456 - 19968: jis0212<<14 | 0x48<<7 | 0x1F,
+ 39458 - 19968: jis0212<<14 | 0x48<<7 | 0x20,
+ 39459 - 19968: jis0212<<14 | 0x48<<7 | 0x21,
+ 39460 - 19968: jis0212<<14 | 0x48<<7 | 0x22,
+ 39463 - 19968: jis0212<<14 | 0x48<<7 | 0x23,
+ 39464 - 19968: jis0208<<14 | 0x21<<7 | 0x2C,
+ 39467 - 19968: jis0208<<14 | 0x50<<7 | 0x39,
+ 39469 - 19968: jis0212<<14 | 0x48<<7 | 0x24,
+ 39470 - 19968: jis0212<<14 | 0x48<<7 | 0x25,
+ 39472 - 19968: jis0208<<14 | 0x25<<7 | 0x0C,
+ 39475 - 19968: jis0212<<14 | 0x48<<7 | 0x26,
+ 39477 - 19968: jis0212<<14 | 0x48<<7 | 0x27,
+ 39478 - 19968: jis0212<<14 | 0x48<<7 | 0x28,
+ 39479 - 19968: jis0208<<14 | 0x50<<7 | 0x3A,
+ 39480 - 19968: jis0212<<14 | 0x48<<7 | 0x29,
+ 39486 - 19968: jis0208<<14 | 0x50<<7 | 0x3F,
+ 39488 - 19968: jis0208<<14 | 0x50<<7 | 0x3D,
+ 39489 - 19968: jis0212<<14 | 0x48<<7 | 0x2B,
+ 39490 - 19968: jis0208<<14 | 0x50<<7 | 0x3C,
+ 39491 - 19968: jis0208<<14 | 0x50<<7 | 0x3E,
+ 39492 - 19968: jis0212<<14 | 0x48<<7 | 0x2C,
+ 39493 - 19968: jis0208<<14 | 0x50<<7 | 0x3B,
+ 39495 - 19968: jis0212<<14 | 0x48<<7 | 0x2A,
+ 39498 - 19968: jis0212<<14 | 0x48<<7 | 0x2D,
+ 39499 - 19968: jis0212<<14 | 0x48<<7 | 0x2E,
+ 39500 - 19968: jis0212<<14 | 0x48<<7 | 0x2F,
+ 39501 - 19968: jis0208<<14 | 0x50<<7 | 0x41,
+ 39502 - 19968: jis0208<<14 | 0x5B<<7 | 0x40,
+ 39505 - 19968: jis0212<<14 | 0x48<<7 | 0x31,
+ 39508 - 19968: jis0212<<14 | 0x48<<7 | 0x32,
+ 39509 - 19968: jis0208<<14 | 0x50<<7 | 0x40,
+ 39510 - 19968: jis0212<<14 | 0x48<<7 | 0x33,
+ 39511 - 19968: jis0208<<14 | 0x50<<7 | 0x43,
+ 39514 - 19968: jis0208<<14 | 0x15<<7 | 0x22,
+ 39515 - 19968: jis0208<<14 | 0x50<<7 | 0x42,
+ 39517 - 19968: jis0212<<14 | 0x48<<7 | 0x34,
+ 39519 - 19968: jis0208<<14 | 0x50<<7 | 0x44,
+ 39522 - 19968: jis0208<<14 | 0x50<<7 | 0x45,
+ 39524 - 19968: jis0208<<14 | 0x50<<7 | 0x47,
+ 39525 - 19968: jis0208<<14 | 0x50<<7 | 0x46,
+ 39529 - 19968: jis0208<<14 | 0x50<<7 | 0x48,
+ 39530 - 19968: jis0208<<14 | 0x50<<7 | 0x4A,
+ 39531 - 19968: jis0208<<14 | 0x50<<7 | 0x49,
+ 39592 - 19968: jis0208<<14 | 0x18<<7 | 0x5B,
+ 39594 - 19968: jis0212<<14 | 0x48<<7 | 0x35,
+ 39596 - 19968: jis0212<<14 | 0x48<<7 | 0x36,
+ 39597 - 19968: jis0208<<14 | 0x50<<7 | 0x4B,
+ 39598 - 19968: jis0212<<14 | 0x48<<7 | 0x37,
+ 39599 - 19968: jis0212<<14 | 0x48<<7 | 0x38,
+ 39600 - 19968: jis0208<<14 | 0x50<<7 | 0x4C,
+ 39602 - 19968: jis0212<<14 | 0x48<<7 | 0x39,
+ 39604 - 19968: jis0212<<14 | 0x48<<7 | 0x3A,
+ 39605 - 19968: jis0212<<14 | 0x48<<7 | 0x3B,
+ 39606 - 19968: jis0212<<14 | 0x48<<7 | 0x3C,
+ 39608 - 19968: jis0208<<14 | 0x12<<7 | 0x1B,
+ 39609 - 19968: jis0212<<14 | 0x48<<7 | 0x3D,
+ 39611 - 19968: jis0212<<14 | 0x48<<7 | 0x3E,
+ 39612 - 19968: jis0208<<14 | 0x50<<7 | 0x4D,
+ 39614 - 19968: jis0212<<14 | 0x48<<7 | 0x3F,
+ 39615 - 19968: jis0212<<14 | 0x48<<7 | 0x40,
+ 39616 - 19968: jis0208<<14 | 0x50<<7 | 0x4E,
+ 39617 - 19968: jis0212<<14 | 0x48<<7 | 0x41,
+ 39619 - 19968: jis0212<<14 | 0x48<<7 | 0x42,
+ 39620 - 19968: jis0208<<14 | 0x1E<<7 | 0x50,
+ 39622 - 19968: jis0212<<14 | 0x48<<7 | 0x43,
+ 39624 - 19968: jis0212<<14 | 0x48<<7 | 0x44,
+ 39630 - 19968: jis0212<<14 | 0x48<<7 | 0x45,
+ 39631 - 19968: jis0208<<14 | 0x50<<7 | 0x4F,
+ 39632 - 19968: jis0212<<14 | 0x48<<7 | 0x46,
+ 39633 - 19968: jis0208<<14 | 0x50<<7 | 0x50,
+ 39634 - 19968: jis0212<<14 | 0x48<<7 | 0x47,
+ 39635 - 19968: jis0208<<14 | 0x50<<7 | 0x51,
+ 39636 - 19968: jis0208<<14 | 0x50<<7 | 0x52,
+ 39637 - 19968: jis0212<<14 | 0x48<<7 | 0x48,
+ 39638 - 19968: jis0212<<14 | 0x48<<7 | 0x49,
+ 39639 - 19968: jis0212<<14 | 0x48<<7 | 0x4A,
+ 39640 - 19968: jis0208<<14 | 0x18<<7 | 0x41,
+ 39641 - 19968: jis0208<<14 | 0x5B<<7 | 0x41,
+ 39643 - 19968: jis0212<<14 | 0x48<<7 | 0x4B,
+ 39644 - 19968: jis0208<<14 | 0x5B<<7 | 0x42,
+ 39646 - 19968: jis0208<<14 | 0x50<<7 | 0x53,
+ 39647 - 19968: jis0208<<14 | 0x50<<7 | 0x54,
+ 39648 - 19968: jis0212<<14 | 0x48<<7 | 0x4D,
+ 39650 - 19968: jis0208<<14 | 0x50<<7 | 0x55,
+ 39651 - 19968: jis0208<<14 | 0x50<<7 | 0x56,
+ 39652 - 19968: jis0212<<14 | 0x48<<7 | 0x4E,
+ 39653 - 19968: jis0212<<14 | 0x48<<7 | 0x4F,
+ 39654 - 19968: jis0208<<14 | 0x50<<7 | 0x57,
+ 39655 - 19968: jis0212<<14 | 0x48<<7 | 0x50,
+ 39657 - 19968: jis0212<<14 | 0x48<<7 | 0x51,
+ 39658 - 19968: jis0208<<14 | 0x27<<7 | 0x10,
+ 39659 - 19968: jis0208<<14 | 0x50<<7 | 0x59,
+ 39660 - 19968: jis0212<<14 | 0x48<<7 | 0x52,
+ 39661 - 19968: jis0208<<14 | 0x28<<7 | 0x05,
+ 39662 - 19968: jis0208<<14 | 0x50<<7 | 0x5A,
+ 39663 - 19968: jis0208<<14 | 0x50<<7 | 0x58,
+ 39665 - 19968: jis0208<<14 | 0x50<<7 | 0x5C,
+ 39666 - 19968: jis0212<<14 | 0x48<<7 | 0x53,
+ 39667 - 19968: jis0212<<14 | 0x48<<7 | 0x54,
+ 39668 - 19968: jis0208<<14 | 0x50<<7 | 0x5B,
+ 39669 - 19968: jis0212<<14 | 0x48<<7 | 0x55,
+ 39671 - 19968: jis0208<<14 | 0x50<<7 | 0x5D,
+ 39673 - 19968: jis0212<<14 | 0x48<<7 | 0x56,
+ 39674 - 19968: jis0212<<14 | 0x48<<7 | 0x57,
+ 39675 - 19968: jis0208<<14 | 0x51<<7 | 0x00,
+ 39677 - 19968: jis0212<<14 | 0x48<<7 | 0x58,
+ 39679 - 19968: jis0212<<14 | 0x48<<7 | 0x59,
+ 39680 - 19968: jis0212<<14 | 0x48<<7 | 0x5A,
+ 39681 - 19968: jis0212<<14 | 0x48<<7 | 0x5B,
+ 39682 - 19968: jis0212<<14 | 0x48<<7 | 0x5C,
+ 39683 - 19968: jis0212<<14 | 0x48<<7 | 0x5D,
+ 39684 - 19968: jis0212<<14 | 0x49<<7 | 0x00,
+ 39685 - 19968: jis0212<<14 | 0x49<<7 | 0x01,
+ 39686 - 19968: jis0208<<14 | 0x51<<7 | 0x01,
+ 39688 - 19968: jis0212<<14 | 0x49<<7 | 0x02,
+ 39689 - 19968: jis0212<<14 | 0x49<<7 | 0x03,
+ 39691 - 19968: jis0212<<14 | 0x49<<7 | 0x04,
+ 39692 - 19968: jis0212<<14 | 0x49<<7 | 0x05,
+ 39693 - 19968: jis0212<<14 | 0x49<<7 | 0x06,
+ 39694 - 19968: jis0212<<14 | 0x49<<7 | 0x07,
+ 39696 - 19968: jis0212<<14 | 0x49<<7 | 0x08,
+ 39698 - 19968: jis0212<<14 | 0x49<<7 | 0x09,
+ 39702 - 19968: jis0212<<14 | 0x49<<7 | 0x0A,
+ 39704 - 19968: jis0208<<14 | 0x51<<7 | 0x02,
+ 39705 - 19968: jis0212<<14 | 0x49<<7 | 0x0B,
+ 39706 - 19968: jis0208<<14 | 0x51<<7 | 0x03,
+ 39707 - 19968: jis0212<<14 | 0x49<<7 | 0x0C,
+ 39708 - 19968: jis0212<<14 | 0x49<<7 | 0x0D,
+ 39711 - 19968: jis0208<<14 | 0x51<<7 | 0x04,
+ 39712 - 19968: jis0212<<14 | 0x49<<7 | 0x0E,
+ 39714 - 19968: jis0208<<14 | 0x51<<7 | 0x05,
+ 39715 - 19968: jis0208<<14 | 0x51<<7 | 0x06,
+ 39717 - 19968: jis0208<<14 | 0x51<<7 | 0x07,
+ 39718 - 19968: jis0212<<14 | 0x49<<7 | 0x0F,
+ 39719 - 19968: jis0208<<14 | 0x51<<7 | 0x08,
+ 39720 - 19968: jis0208<<14 | 0x51<<7 | 0x09,
+ 39721 - 19968: jis0208<<14 | 0x51<<7 | 0x0A,
+ 39722 - 19968: jis0208<<14 | 0x51<<7 | 0x0B,
+ 39723 - 19968: jis0212<<14 | 0x49<<7 | 0x10,
+ 39725 - 19968: jis0212<<14 | 0x49<<7 | 0x11,
+ 39726 - 19968: jis0208<<14 | 0x51<<7 | 0x0C,
+ 39727 - 19968: jis0208<<14 | 0x51<<7 | 0x0D,
+ 39729 - 19968: jis0208<<14 | 0x3C<<7 | 0x14,
+ 39730 - 19968: jis0208<<14 | 0x51<<7 | 0x0E,
+ 39731 - 19968: jis0212<<14 | 0x49<<7 | 0x12,
+ 39732 - 19968: jis0212<<14 | 0x49<<7 | 0x13,
+ 39733 - 19968: jis0212<<14 | 0x49<<7 | 0x14,
+ 39735 - 19968: jis0212<<14 | 0x49<<7 | 0x15,
+ 39737 - 19968: jis0212<<14 | 0x49<<7 | 0x16,
+ 39738 - 19968: jis0212<<14 | 0x49<<7 | 0x17,
+ 39739 - 19968: jis0208<<14 | 0x43<<7 | 0x57,
+ 39740 - 19968: jis0208<<14 | 0x14<<7 | 0x13,
+ 39741 - 19968: jis0212<<14 | 0x49<<7 | 0x18,
+ 39745 - 19968: jis0208<<14 | 0x12<<7 | 0x00,
+ 39746 - 19968: jis0208<<14 | 0x19<<7 | 0x11,
+ 39747 - 19968: jis0208<<14 | 0x51<<7 | 0x10,
+ 39748 - 19968: jis0208<<14 | 0x51<<7 | 0x0F,
+ 39749 - 19968: jis0208<<14 | 0x2B<<7 | 0x04,
+ 39752 - 19968: jis0212<<14 | 0x49<<7 | 0x19,
+ 39755 - 19968: jis0212<<14 | 0x49<<7 | 0x1A,
+ 39756 - 19968: jis0212<<14 | 0x49<<7 | 0x1B,
+ 39757 - 19968: jis0208<<14 | 0x51<<7 | 0x12,
+ 39758 - 19968: jis0208<<14 | 0x51<<7 | 0x13,
+ 39759 - 19968: jis0208<<14 | 0x51<<7 | 0x11,
+ 39761 - 19968: jis0208<<14 | 0x51<<7 | 0x14,
+ 39764 - 19968: jis0208<<14 | 0x2A<<7 | 0x41,
+ 39765 - 19968: jis0212<<14 | 0x49<<7 | 0x1C,
+ 39766 - 19968: jis0212<<14 | 0x49<<7 | 0x1D,
+ 39767 - 19968: jis0212<<14 | 0x49<<7 | 0x1E,
+ 39768 - 19968: jis0208<<14 | 0x51<<7 | 0x15,
+ 39770 - 19968: jis0208<<14 | 0x14<<7 | 0x5A,
+ 39771 - 19968: jis0212<<14 | 0x49<<7 | 0x1F,
+ 39774 - 19968: jis0212<<14 | 0x49<<7 | 0x20,
+ 39777 - 19968: jis0212<<14 | 0x49<<7 | 0x21,
+ 39779 - 19968: jis0212<<14 | 0x49<<7 | 0x22,
+ 39781 - 19968: jis0212<<14 | 0x49<<7 | 0x23,
+ 39782 - 19968: jis0212<<14 | 0x49<<7 | 0x24,
+ 39784 - 19968: jis0212<<14 | 0x49<<7 | 0x25,
+ 39786 - 19968: jis0212<<14 | 0x49<<7 | 0x26,
+ 39787 - 19968: jis0212<<14 | 0x49<<7 | 0x27,
+ 39788 - 19968: jis0212<<14 | 0x49<<7 | 0x28,
+ 39789 - 19968: jis0212<<14 | 0x49<<7 | 0x29,
+ 39790 - 19968: jis0212<<14 | 0x49<<7 | 0x2A,
+ 39791 - 19968: jis0208<<14 | 0x2E<<7 | 0x04,
+ 39794 - 19968: jis0208<<14 | 0x5B<<7 | 0x44,
+ 39795 - 19968: jis0212<<14 | 0x49<<7 | 0x2B,
+ 39796 - 19968: jis0208<<14 | 0x51<<7 | 0x16,
+ 39797 - 19968: jis0208<<14 | 0x5B<<7 | 0x43,
+ 39799 - 19968: jis0212<<14 | 0x49<<7 | 0x2D,
+ 39800 - 19968: jis0212<<14 | 0x49<<7 | 0x2E,
+ 39801 - 19968: jis0212<<14 | 0x49<<7 | 0x2F,
+ 39807 - 19968: jis0212<<14 | 0x49<<7 | 0x30,
+ 39808 - 19968: jis0212<<14 | 0x49<<7 | 0x31,
+ 39811 - 19968: jis0208<<14 | 0x51<<7 | 0x18,
+ 39812 - 19968: jis0212<<14 | 0x49<<7 | 0x32,
+ 39813 - 19968: jis0212<<14 | 0x49<<7 | 0x33,
+ 39814 - 19968: jis0212<<14 | 0x49<<7 | 0x34,
+ 39815 - 19968: jis0212<<14 | 0x49<<7 | 0x35,
+ 39817 - 19968: jis0212<<14 | 0x49<<7 | 0x36,
+ 39818 - 19968: jis0212<<14 | 0x49<<7 | 0x37,
+ 39819 - 19968: jis0212<<14 | 0x49<<7 | 0x38,
+ 39821 - 19968: jis0212<<14 | 0x49<<7 | 0x39,
+ 39822 - 19968: jis0208<<14 | 0x0F<<7 | 0x1D,
+ 39823 - 19968: jis0208<<14 | 0x5B<<7 | 0x45,
+ 39824 - 19968: jis0212<<14 | 0x49<<7 | 0x3B,
+ 39825 - 19968: jis0208<<14 | 0x51<<7 | 0x19,
+ 39826 - 19968: jis0208<<14 | 0x29<<7 | 0x0A,
+ 39827 - 19968: jis0208<<14 | 0x51<<7 | 0x17,
+ 39828 - 19968: jis0212<<14 | 0x49<<7 | 0x3C,
+ 39830 - 19968: jis0208<<14 | 0x51<<7 | 0x1A,
+ 39831 - 19968: jis0208<<14 | 0x51<<7 | 0x1B,
+ 39834 - 19968: jis0212<<14 | 0x49<<7 | 0x3D,
+ 39837 - 19968: jis0212<<14 | 0x49<<7 | 0x3E,
+ 39838 - 19968: jis0212<<14 | 0x49<<7 | 0x3F,
+ 39839 - 19968: jis0208<<14 | 0x51<<7 | 0x1C,
+ 39840 - 19968: jis0208<<14 | 0x51<<7 | 0x1D,
+ 39846 - 19968: jis0212<<14 | 0x49<<7 | 0x40,
+ 39847 - 19968: jis0212<<14 | 0x49<<7 | 0x41,
+ 39848 - 19968: jis0208<<14 | 0x51<<7 | 0x1E,
+ 39849 - 19968: jis0212<<14 | 0x49<<7 | 0x42,
+ 39850 - 19968: jis0208<<14 | 0x2A<<7 | 0x4D,
+ 39851 - 19968: jis0208<<14 | 0x1A<<7 | 0x0C,
+ 39852 - 19968: jis0212<<14 | 0x49<<7 | 0x43,
+ 39853 - 19968: jis0208<<14 | 0x19<<7 | 0x59,
+ 39854 - 19968: jis0208<<14 | 0x20<<7 | 0x0E,
+ 39856 - 19968: jis0212<<14 | 0x49<<7 | 0x44,
+ 39857 - 19968: jis0208<<14 | 0x5B<<7 | 0x46,
+ 39858 - 19968: jis0212<<14 | 0x49<<7 | 0x46,
+ 39860 - 19968: jis0208<<14 | 0x51<<7 | 0x1F,
+ 39863 - 19968: jis0212<<14 | 0x49<<7 | 0x47,
+ 39864 - 19968: jis0212<<14 | 0x49<<7 | 0x48,
+ 39865 - 19968: jis0208<<14 | 0x51<<7 | 0x22,
+ 39867 - 19968: jis0208<<14 | 0x5B<<7 | 0x47,
+ 39868 - 19968: jis0212<<14 | 0x49<<7 | 0x4A,
+ 39870 - 19968: jis0212<<14 | 0x49<<7 | 0x4B,
+ 39871 - 19968: jis0212<<14 | 0x49<<7 | 0x4C,
+ 39872 - 19968: jis0208<<14 | 0x51<<7 | 0x20,
+ 39873 - 19968: jis0212<<14 | 0x49<<7 | 0x4D,
+ 39878 - 19968: jis0208<<14 | 0x51<<7 | 0x23,
+ 39879 - 19968: jis0212<<14 | 0x49<<7 | 0x4E,
+ 39880 - 19968: jis0212<<14 | 0x49<<7 | 0x4F,
+ 39881 - 19968: jis0208<<14 | 0x17<<7 | 0x50,
+ 39882 - 19968: jis0208<<14 | 0x51<<7 | 0x21,
+ 39886 - 19968: jis0212<<14 | 0x49<<7 | 0x50,
+ 39887 - 19968: jis0208<<14 | 0x51<<7 | 0x24,
+ 39888 - 19968: jis0212<<14 | 0x49<<7 | 0x51,
+ 39889 - 19968: jis0208<<14 | 0x51<<7 | 0x25,
+ 39890 - 19968: jis0208<<14 | 0x51<<7 | 0x26,
+ 39892 - 19968: jis0208<<14 | 0x51<<7 | 0x2A,
+ 39894 - 19968: jis0208<<14 | 0x1A<<7 | 0x09,
+ 39895 - 19968: jis0212<<14 | 0x49<<7 | 0x52,
+ 39896 - 19968: jis0212<<14 | 0x49<<7 | 0x53,
+ 39899 - 19968: jis0208<<14 | 0x21<<7 | 0x43,
+ 39901 - 19968: jis0212<<14 | 0x49<<7 | 0x54,
+ 39903 - 19968: jis0212<<14 | 0x49<<7 | 0x55,
+ 39905 - 19968: jis0208<<14 | 0x51<<7 | 0x2B,
+ 39906 - 19968: jis0208<<14 | 0x51<<7 | 0x28,
+ 39907 - 19968: jis0208<<14 | 0x51<<7 | 0x27,
+ 39908 - 19968: jis0208<<14 | 0x51<<7 | 0x29,
+ 39909 - 19968: jis0212<<14 | 0x49<<7 | 0x56,
+ 39911 - 19968: jis0212<<14 | 0x49<<7 | 0x57,
+ 39912 - 19968: jis0208<<14 | 0x16<<7 | 0x3E,
+ 39914 - 19968: jis0212<<14 | 0x49<<7 | 0x58,
+ 39915 - 19968: jis0212<<14 | 0x49<<7 | 0x59,
+ 39919 - 19968: jis0212<<14 | 0x49<<7 | 0x5A,
+ 39920 - 19968: jis0208<<14 | 0x51<<7 | 0x2F,
+ 39921 - 19968: jis0208<<14 | 0x51<<7 | 0x2E,
+ 39922 - 19968: jis0208<<14 | 0x51<<7 | 0x2D,
+ 39923 - 19968: jis0212<<14 | 0x49<<7 | 0x5B,
+ 39925 - 19968: jis0208<<14 | 0x0F<<7 | 0x12,
+ 39927 - 19968: jis0212<<14 | 0x49<<7 | 0x5C,
+ 39928 - 19968: jis0212<<14 | 0x49<<7 | 0x5D,
+ 39929 - 19968: jis0212<<14 | 0x4A<<7 | 0x00,
+ 39930 - 19968: jis0212<<14 | 0x4A<<7 | 0x01,
+ 39933 - 19968: jis0212<<14 | 0x4A<<7 | 0x02,
+ 39935 - 19968: jis0212<<14 | 0x4A<<7 | 0x03,
+ 39936 - 19968: jis0208<<14 | 0x5B<<7 | 0x48,
+ 39938 - 19968: jis0212<<14 | 0x4A<<7 | 0x05,
+ 39940 - 19968: jis0208<<14 | 0x51<<7 | 0x39,
+ 39942 - 19968: jis0208<<14 | 0x51<<7 | 0x35,
+ 39944 - 19968: jis0208<<14 | 0x51<<7 | 0x36,
+ 39945 - 19968: jis0208<<14 | 0x51<<7 | 0x32,
+ 39946 - 19968: jis0208<<14 | 0x51<<7 | 0x38,
+ 39947 - 19968: jis0212<<14 | 0x4A<<7 | 0x06,
+ 39948 - 19968: jis0208<<14 | 0x51<<7 | 0x34,
+ 39949 - 19968: jis0208<<14 | 0x12<<7 | 0x41,
+ 39951 - 19968: jis0212<<14 | 0x4A<<7 | 0x07,
+ 39952 - 19968: jis0208<<14 | 0x2E<<7 | 0x2B,
+ 39953 - 19968: jis0212<<14 | 0x4A<<7 | 0x08,
+ 39954 - 19968: jis0208<<14 | 0x51<<7 | 0x37,
+ 39955 - 19968: jis0208<<14 | 0x51<<7 | 0x33,
+ 39956 - 19968: jis0208<<14 | 0x51<<7 | 0x31,
+ 39957 - 19968: jis0208<<14 | 0x51<<7 | 0x30,
+ 39958 - 19968: jis0212<<14 | 0x4A<<7 | 0x09,
+ 39960 - 19968: jis0212<<14 | 0x4A<<7 | 0x0A,
+ 39961 - 19968: jis0212<<14 | 0x4A<<7 | 0x0B,
+ 39962 - 19968: jis0212<<14 | 0x4A<<7 | 0x0C,
+ 39963 - 19968: jis0208<<14 | 0x51<<7 | 0x3B,
+ 39964 - 19968: jis0212<<14 | 0x4A<<7 | 0x0D,
+ 39966 - 19968: jis0212<<14 | 0x4A<<7 | 0x0E,
+ 39969 - 19968: jis0208<<14 | 0x51<<7 | 0x3E,
+ 39970 - 19968: jis0212<<14 | 0x4A<<7 | 0x0F,
+ 39971 - 19968: jis0212<<14 | 0x4A<<7 | 0x10,
+ 39972 - 19968: jis0208<<14 | 0x51<<7 | 0x3D,
+ 39973 - 19968: jis0208<<14 | 0x51<<7 | 0x3C,
+ 39974 - 19968: jis0212<<14 | 0x4A<<7 | 0x11,
+ 39975 - 19968: jis0212<<14 | 0x4A<<7 | 0x12,
+ 39976 - 19968: jis0212<<14 | 0x4A<<7 | 0x13,
+ 39977 - 19968: jis0212<<14 | 0x4A<<7 | 0x14,
+ 39978 - 19968: jis0212<<14 | 0x4A<<7 | 0x15,
+ 39981 - 19968: jis0208<<14 | 0x28<<7 | 0x28,
+ 39982 - 19968: jis0208<<14 | 0x51<<7 | 0x3A,
+ 39983 - 19968: jis0208<<14 | 0x0F<<7 | 0x52,
+ 39984 - 19968: jis0208<<14 | 0x51<<7 | 0x3F,
+ 39985 - 19968: jis0212<<14 | 0x4A<<7 | 0x16,
+ 39986 - 19968: jis0208<<14 | 0x51<<7 | 0x41,
+ 39989 - 19968: jis0212<<14 | 0x4A<<7 | 0x17,
+ 39990 - 19968: jis0212<<14 | 0x4A<<7 | 0x18,
+ 39991 - 19968: jis0212<<14 | 0x4A<<7 | 0x19,
+ 39993 - 19968: jis0208<<14 | 0x12<<7 | 0x4E,
+ 39994 - 19968: jis0208<<14 | 0x51<<7 | 0x2C,
+ 39995 - 19968: jis0208<<14 | 0x10<<7 | 0x16,
+ 39997 - 19968: jis0212<<14 | 0x4A<<7 | 0x1A,
+ 39998 - 19968: jis0208<<14 | 0x51<<7 | 0x43,
+ 40001 - 19968: jis0212<<14 | 0x4A<<7 | 0x1B,
+ 40003 - 19968: jis0212<<14 | 0x4A<<7 | 0x1C,
+ 40004 - 19968: jis0212<<14 | 0x4A<<7 | 0x1D,
+ 40005 - 19968: jis0212<<14 | 0x4A<<7 | 0x1E,
+ 40006 - 19968: jis0208<<14 | 0x51<<7 | 0x42,
+ 40007 - 19968: jis0208<<14 | 0x51<<7 | 0x40,
+ 40008 - 19968: jis0208<<14 | 0x22<<7 | 0x0C,
+ 40009 - 19968: jis0212<<14 | 0x4A<<7 | 0x1F,
+ 40010 - 19968: jis0212<<14 | 0x4A<<7 | 0x20,
+ 40014 - 19968: jis0212<<14 | 0x4A<<7 | 0x21,
+ 40015 - 19968: jis0212<<14 | 0x4A<<7 | 0x22,
+ 40016 - 19968: jis0212<<14 | 0x4A<<7 | 0x23,
+ 40018 - 19968: jis0208<<14 | 0x2A<<7 | 0x4F,
+ 40019 - 19968: jis0212<<14 | 0x4A<<7 | 0x24,
+ 40020 - 19968: jis0212<<14 | 0x4A<<7 | 0x25,
+ 40022 - 19968: jis0212<<14 | 0x4A<<7 | 0x26,
+ 40023 - 19968: jis0208<<14 | 0x2D<<7 | 0x39,
+ 40024 - 19968: jis0212<<14 | 0x4A<<7 | 0x27,
+ 40026 - 19968: jis0208<<14 | 0x51<<7 | 0x44,
+ 40027 - 19968: jis0212<<14 | 0x4A<<7 | 0x28,
+ 40028 - 19968: jis0212<<14 | 0x4A<<7 | 0x2F,
+ 40029 - 19968: jis0212<<14 | 0x4A<<7 | 0x29,
+ 40030 - 19968: jis0212<<14 | 0x4A<<7 | 0x2A,
+ 40031 - 19968: jis0212<<14 | 0x4A<<7 | 0x2B,
+ 40032 - 19968: jis0208<<14 | 0x51<<7 | 0x45,
+ 40035 - 19968: jis0212<<14 | 0x4A<<7 | 0x2C,
+ 40039 - 19968: jis0208<<14 | 0x51<<7 | 0x46,
+ 40040 - 19968: jis0212<<14 | 0x4A<<7 | 0x31,
+ 40041 - 19968: jis0212<<14 | 0x4A<<7 | 0x2D,
+ 40042 - 19968: jis0212<<14 | 0x4A<<7 | 0x2E,
+ 40043 - 19968: jis0212<<14 | 0x4A<<7 | 0x30,
+ 40046 - 19968: jis0212<<14 | 0x4A<<7 | 0x32,
+ 40048 - 19968: jis0212<<14 | 0x4A<<7 | 0x33,
+ 40050 - 19968: jis0212<<14 | 0x4A<<7 | 0x34,
+ 40053 - 19968: jis0212<<14 | 0x4A<<7 | 0x35,
+ 40054 - 19968: jis0208<<14 | 0x51<<7 | 0x47,
+ 40055 - 19968: jis0212<<14 | 0x4A<<7 | 0x36,
+ 40056 - 19968: jis0208<<14 | 0x51<<7 | 0x48,
+ 40059 - 19968: jis0212<<14 | 0x4A<<7 | 0x37,
+ 40165 - 19968: jis0208<<14 | 0x23<<7 | 0x1A,
+ 40166 - 19968: jis0212<<14 | 0x4A<<7 | 0x38,
+ 40167 - 19968: jis0208<<14 | 0x51<<7 | 0x49,
+ 40169 - 19968: jis0208<<14 | 0x27<<7 | 0x16,
+ 40171 - 19968: jis0208<<14 | 0x51<<7 | 0x4E,
+ 40172 - 19968: jis0208<<14 | 0x51<<7 | 0x4A,
+ 40176 - 19968: jis0208<<14 | 0x51<<7 | 0x4B,
+ 40178 - 19968: jis0212<<14 | 0x4A<<7 | 0x39,
+ 40179 - 19968: jis0208<<14 | 0x2A<<7 | 0x10,
+ 40180 - 19968: jis0208<<14 | 0x2B<<7 | 0x23,
+ 40182 - 19968: jis0208<<14 | 0x25<<7 | 0x2F,
+ 40183 - 19968: jis0212<<14 | 0x4A<<7 | 0x3A,
+ 40185 - 19968: jis0212<<14 | 0x4A<<7 | 0x3B,
+ 40194 - 19968: jis0212<<14 | 0x4A<<7 | 0x3D,
+ 40195 - 19968: jis0208<<14 | 0x51<<7 | 0x4F,
+ 40198 - 19968: jis0208<<14 | 0x51<<7 | 0x50,
+ 40199 - 19968: jis0208<<14 | 0x25<<7 | 0x1D,
+ 40200 - 19968: jis0208<<14 | 0x51<<7 | 0x4D,
+ 40201 - 19968: jis0208<<14 | 0x51<<7 | 0x4C,
+ 40203 - 19968: jis0212<<14 | 0x4A<<7 | 0x3C,
+ 40206 - 19968: jis0208<<14 | 0x11<<7 | 0x09,
+ 40209 - 19968: jis0212<<14 | 0x4A<<7 | 0x3E,
+ 40210 - 19968: jis0208<<14 | 0x51<<7 | 0x58,
+ 40213 - 19968: jis0208<<14 | 0x51<<7 | 0x57,
+ 40215 - 19968: jis0212<<14 | 0x4A<<7 | 0x3F,
+ 40216 - 19968: jis0212<<14 | 0x4A<<7 | 0x40,
+ 40219 - 19968: jis0208<<14 | 0x10<<7 | 0x54,
+ 40220 - 19968: jis0212<<14 | 0x4A<<7 | 0x41,
+ 40221 - 19968: jis0212<<14 | 0x4A<<7 | 0x42,
+ 40222 - 19968: jis0212<<14 | 0x4A<<7 | 0x43,
+ 40223 - 19968: jis0208<<14 | 0x51<<7 | 0x55,
+ 40227 - 19968: jis0208<<14 | 0x51<<7 | 0x54,
+ 40230 - 19968: jis0208<<14 | 0x51<<7 | 0x52,
+ 40232 - 19968: jis0208<<14 | 0x12<<7 | 0x5A,
+ 40234 - 19968: jis0208<<14 | 0x51<<7 | 0x51,
+ 40235 - 19968: jis0208<<14 | 0x1B<<7 | 0x11,
+ 40236 - 19968: jis0208<<14 | 0x11<<7 | 0x08,
+ 40239 - 19968: jis0212<<14 | 0x4A<<7 | 0x44,
+ 40240 - 19968: jis0212<<14 | 0x4A<<7 | 0x45,
+ 40242 - 19968: jis0212<<14 | 0x4A<<7 | 0x46,
+ 40243 - 19968: jis0212<<14 | 0x4A<<7 | 0x47,
+ 40244 - 19968: jis0212<<14 | 0x4A<<7 | 0x48,
+ 40250 - 19968: jis0212<<14 | 0x4A<<7 | 0x49,
+ 40251 - 19968: jis0208<<14 | 0x18<<7 | 0x42,
+ 40252 - 19968: jis0212<<14 | 0x4A<<7 | 0x4A,
+ 40253 - 19968: jis0212<<14 | 0x4A<<7 | 0x4C,
+ 40254 - 19968: jis0208<<14 | 0x51<<7 | 0x5B,
+ 40255 - 19968: jis0208<<14 | 0x51<<7 | 0x5A,
+ 40257 - 19968: jis0208<<14 | 0x51<<7 | 0x59,
+ 40258 - 19968: jis0212<<14 | 0x4A<<7 | 0x4D,
+ 40259 - 19968: jis0212<<14 | 0x4A<<7 | 0x4E,
+ 40260 - 19968: jis0208<<14 | 0x51<<7 | 0x56,
+ 40261 - 19968: jis0212<<14 | 0x4A<<7 | 0x4B,
+ 40262 - 19968: jis0208<<14 | 0x51<<7 | 0x5C,
+ 40263 - 19968: jis0212<<14 | 0x4A<<7 | 0x4F,
+ 40264 - 19968: jis0208<<14 | 0x51<<7 | 0x5D,
+ 40266 - 19968: jis0212<<14 | 0x4A<<7 | 0x50,
+ 40272 - 19968: jis0208<<14 | 0x52<<7 | 0x04,
+ 40273 - 19968: jis0208<<14 | 0x52<<7 | 0x03,
+ 40275 - 19968: jis0212<<14 | 0x4A<<7 | 0x51,
+ 40276 - 19968: jis0212<<14 | 0x4A<<7 | 0x52,
+ 40281 - 19968: jis0208<<14 | 0x52<<7 | 0x05,
+ 40284 - 19968: jis0208<<14 | 0x10<<7 | 0x0C,
+ 40285 - 19968: jis0208<<14 | 0x52<<7 | 0x00,
+ 40286 - 19968: jis0208<<14 | 0x52<<7 | 0x01,
+ 40287 - 19968: jis0212<<14 | 0x4A<<7 | 0x53,
+ 40288 - 19968: jis0208<<14 | 0x18<<7 | 0x53,
+ 40289 - 19968: jis0208<<14 | 0x2B<<7 | 0x18,
+ 40290 - 19968: jis0212<<14 | 0x4A<<7 | 0x55,
+ 40291 - 19968: jis0212<<14 | 0x4A<<7 | 0x54,
+ 40292 - 19968: jis0208<<14 | 0x52<<7 | 0x02,
+ 40293 - 19968: jis0212<<14 | 0x4A<<7 | 0x56,
+ 40297 - 19968: jis0212<<14 | 0x4A<<7 | 0x57,
+ 40298 - 19968: jis0212<<14 | 0x4A<<7 | 0x58,
+ 40299 - 19968: jis0208<<14 | 0x5B<<7 | 0x4A,
+ 40300 - 19968: jis0208<<14 | 0x2A<<7 | 0x11,
+ 40303 - 19968: jis0208<<14 | 0x52<<7 | 0x0A,
+ 40304 - 19968: jis0208<<14 | 0x5B<<7 | 0x49,
+ 40306 - 19968: jis0208<<14 | 0x52<<7 | 0x06,
+ 40310 - 19968: jis0212<<14 | 0x4A<<7 | 0x5B,
+ 40311 - 19968: jis0212<<14 | 0x4A<<7 | 0x5C,
+ 40314 - 19968: jis0208<<14 | 0x52<<7 | 0x0B,
+ 40315 - 19968: jis0212<<14 | 0x4A<<7 | 0x5D,
+ 40316 - 19968: jis0212<<14 | 0x4B<<7 | 0x00,
+ 40318 - 19968: jis0212<<14 | 0x4B<<7 | 0x01,
+ 40323 - 19968: jis0212<<14 | 0x4B<<7 | 0x02,
+ 40324 - 19968: jis0212<<14 | 0x4B<<7 | 0x03,
+ 40326 - 19968: jis0212<<14 | 0x4B<<7 | 0x04,
+ 40327 - 19968: jis0208<<14 | 0x52<<7 | 0x08,
+ 40329 - 19968: jis0208<<14 | 0x52<<7 | 0x07,
+ 40330 - 19968: jis0212<<14 | 0x4B<<7 | 0x05,
+ 40333 - 19968: jis0212<<14 | 0x4B<<7 | 0x06,
+ 40334 - 19968: jis0212<<14 | 0x4B<<7 | 0x07,
+ 40335 - 19968: jis0208<<14 | 0x16<<7 | 0x3B,
+ 40338 - 19968: jis0212<<14 | 0x4B<<7 | 0x08,
+ 40339 - 19968: jis0212<<14 | 0x4B<<7 | 0x09,
+ 40341 - 19968: jis0212<<14 | 0x4B<<7 | 0x0A,
+ 40342 - 19968: jis0212<<14 | 0x4B<<7 | 0x0B,
+ 40343 - 19968: jis0212<<14 | 0x4B<<7 | 0x0C,
+ 40344 - 19968: jis0212<<14 | 0x4B<<7 | 0x0D,
+ 40346 - 19968: jis0208<<14 | 0x52<<7 | 0x0C,
+ 40353 - 19968: jis0212<<14 | 0x4B<<7 | 0x0E,
+ 40356 - 19968: jis0208<<14 | 0x52<<7 | 0x0D,
+ 40361 - 19968: jis0208<<14 | 0x52<<7 | 0x0E,
+ 40362 - 19968: jis0212<<14 | 0x4B<<7 | 0x0F,
+ 40363 - 19968: jis0208<<14 | 0x52<<7 | 0x09,
+ 40364 - 19968: jis0212<<14 | 0x4B<<7 | 0x10,
+ 40366 - 19968: jis0212<<14 | 0x4B<<7 | 0x11,
+ 40367 - 19968: jis0208<<14 | 0x51<<7 | 0x53,
+ 40369 - 19968: jis0212<<14 | 0x4B<<7 | 0x12,
+ 40370 - 19968: jis0208<<14 | 0x52<<7 | 0x0F,
+ 40372 - 19968: jis0208<<14 | 0x23<<7 | 0x40,
+ 40373 - 19968: jis0212<<14 | 0x4B<<7 | 0x13,
+ 40376 - 19968: jis0208<<14 | 0x52<<7 | 0x13,
+ 40377 - 19968: jis0212<<14 | 0x4B<<7 | 0x14,
+ 40378 - 19968: jis0208<<14 | 0x52<<7 | 0x14,
+ 40379 - 19968: jis0208<<14 | 0x52<<7 | 0x12,
+ 40380 - 19968: jis0212<<14 | 0x4B<<7 | 0x15,
+ 40383 - 19968: jis0212<<14 | 0x4B<<7 | 0x16,
+ 40385 - 19968: jis0208<<14 | 0x52<<7 | 0x11,
+ 40386 - 19968: jis0208<<14 | 0x52<<7 | 0x17,
+ 40387 - 19968: jis0212<<14 | 0x4B<<7 | 0x17,
+ 40388 - 19968: jis0208<<14 | 0x52<<7 | 0x10,
+ 40390 - 19968: jis0208<<14 | 0x52<<7 | 0x15,
+ 40391 - 19968: jis0212<<14 | 0x4B<<7 | 0x18,
+ 40393 - 19968: jis0212<<14 | 0x4B<<7 | 0x19,
+ 40394 - 19968: jis0212<<14 | 0x4B<<7 | 0x1A,
+ 40399 - 19968: jis0208<<14 | 0x52<<7 | 0x16,
+ 40403 - 19968: jis0208<<14 | 0x52<<7 | 0x19,
+ 40404 - 19968: jis0212<<14 | 0x4B<<7 | 0x1B,
+ 40405 - 19968: jis0212<<14 | 0x4B<<7 | 0x1C,
+ 40406 - 19968: jis0212<<14 | 0x4B<<7 | 0x1D,
+ 40407 - 19968: jis0212<<14 | 0x4B<<7 | 0x1E,
+ 40409 - 19968: jis0208<<14 | 0x52<<7 | 0x18,
+ 40410 - 19968: jis0212<<14 | 0x4B<<7 | 0x1F,
+ 40414 - 19968: jis0212<<14 | 0x4B<<7 | 0x20,
+ 40415 - 19968: jis0212<<14 | 0x4B<<7 | 0x21,
+ 40416 - 19968: jis0212<<14 | 0x4B<<7 | 0x22,
+ 40421 - 19968: jis0212<<14 | 0x4B<<7 | 0x23,
+ 40422 - 19968: jis0208<<14 | 0x52<<7 | 0x1B,
+ 40423 - 19968: jis0212<<14 | 0x4B<<7 | 0x24,
+ 40425 - 19968: jis0212<<14 | 0x4B<<7 | 0x25,
+ 40427 - 19968: jis0212<<14 | 0x4B<<7 | 0x26,
+ 40429 - 19968: jis0208<<14 | 0x52<<7 | 0x1C,
+ 40430 - 19968: jis0212<<14 | 0x4B<<7 | 0x27,
+ 40431 - 19968: jis0208<<14 | 0x52<<7 | 0x1D,
+ 40432 - 19968: jis0212<<14 | 0x4B<<7 | 0x28,
+ 40434 - 19968: jis0208<<14 | 0x2E<<7 | 0x28,
+ 40435 - 19968: jis0212<<14 | 0x4B<<7 | 0x29,
+ 40436 - 19968: jis0212<<14 | 0x4B<<7 | 0x2A,
+ 40440 - 19968: jis0208<<14 | 0x52<<7 | 0x1A,
+ 40441 - 19968: jis0208<<14 | 0x21<<7 | 0x4A,
+ 40442 - 19968: jis0208<<14 | 0x19<<7 | 0x4C,
+ 40445 - 19968: jis0208<<14 | 0x52<<7 | 0x1E,
+ 40446 - 19968: jis0212<<14 | 0x4B<<7 | 0x2B,
+ 40450 - 19968: jis0212<<14 | 0x4B<<7 | 0x2D,
+ 40455 - 19968: jis0212<<14 | 0x4B<<7 | 0x2E,
+ 40458 - 19968: jis0212<<14 | 0x4B<<7 | 0x2C,
+ 40462 - 19968: jis0212<<14 | 0x4B<<7 | 0x2F,
+ 40464 - 19968: jis0212<<14 | 0x4B<<7 | 0x30,
+ 40465 - 19968: jis0212<<14 | 0x4B<<7 | 0x31,
+ 40466 - 19968: jis0212<<14 | 0x4B<<7 | 0x32,
+ 40469 - 19968: jis0212<<14 | 0x4B<<7 | 0x33,
+ 40470 - 19968: jis0212<<14 | 0x4B<<7 | 0x34,
+ 40473 - 19968: jis0208<<14 | 0x5B<<7 | 0x4C,
+ 40474 - 19968: jis0208<<14 | 0x52<<7 | 0x1F,
+ 40475 - 19968: jis0208<<14 | 0x52<<7 | 0x20,
+ 40476 - 19968: jis0212<<14 | 0x4B<<7 | 0x36,
+ 40477 - 19968: jis0212<<14 | 0x4B<<7 | 0x37,
+ 40478 - 19968: jis0208<<14 | 0x52<<7 | 0x21,
+ 40565 - 19968: jis0208<<14 | 0x52<<7 | 0x22,
+ 40568 - 19968: jis0208<<14 | 0x17<<7 | 0x13,
+ 40569 - 19968: jis0208<<14 | 0x52<<7 | 0x23,
+ 40570 - 19968: jis0212<<14 | 0x4B<<7 | 0x38,
+ 40571 - 19968: jis0212<<14 | 0x4B<<7 | 0x39,
+ 40572 - 19968: jis0212<<14 | 0x4B<<7 | 0x3A,
+ 40573 - 19968: jis0208<<14 | 0x52<<7 | 0x24,
+ 40575 - 19968: jis0208<<14 | 0x1B<<7 | 0x0E,
+ 40576 - 19968: jis0212<<14 | 0x4B<<7 | 0x3B,
+ 40577 - 19968: jis0208<<14 | 0x52<<7 | 0x25,
+ 40578 - 19968: jis0212<<14 | 0x4B<<7 | 0x3C,
+ 40579 - 19968: jis0212<<14 | 0x4B<<7 | 0x3D,
+ 40580 - 19968: jis0212<<14 | 0x4B<<7 | 0x3E,
+ 40581 - 19968: jis0212<<14 | 0x4B<<7 | 0x3F,
+ 40583 - 19968: jis0212<<14 | 0x4B<<7 | 0x40,
+ 40584 - 19968: jis0208<<14 | 0x52<<7 | 0x26,
+ 40587 - 19968: jis0208<<14 | 0x52<<7 | 0x27,
+ 40588 - 19968: jis0208<<14 | 0x52<<7 | 0x28,
+ 40590 - 19968: jis0212<<14 | 0x4B<<7 | 0x41,
+ 40591 - 19968: jis0212<<14 | 0x4B<<7 | 0x42,
+ 40593 - 19968: jis0208<<14 | 0x52<<7 | 0x2B,
+ 40594 - 19968: jis0208<<14 | 0x52<<7 | 0x29,
+ 40595 - 19968: jis0208<<14 | 0x2E<<7 | 0x1B,
+ 40597 - 19968: jis0208<<14 | 0x52<<7 | 0x2A,
+ 40598 - 19968: jis0212<<14 | 0x4B<<7 | 0x43,
+ 40599 - 19968: jis0208<<14 | 0x2D<<7 | 0x4E,
+ 40600 - 19968: jis0212<<14 | 0x4B<<7 | 0x44,
+ 40603 - 19968: jis0212<<14 | 0x4B<<7 | 0x45,
+ 40605 - 19968: jis0208<<14 | 0x52<<7 | 0x2C,
+ 40606 - 19968: jis0212<<14 | 0x4B<<7 | 0x46,
+ 40607 - 19968: jis0208<<14 | 0x2D<<7 | 0x3A,
+ 40612 - 19968: jis0212<<14 | 0x4B<<7 | 0x47,
+ 40613 - 19968: jis0208<<14 | 0x52<<7 | 0x2D,
+ 40614 - 19968: jis0208<<14 | 0x26<<7 | 0x5D,
+ 40616 - 19968: jis0212<<14 | 0x4B<<7 | 0x48,
+ 40617 - 19968: jis0208<<14 | 0x52<<7 | 0x2E,
+ 40618 - 19968: jis0208<<14 | 0x52<<7 | 0x30,
+ 40620 - 19968: jis0212<<14 | 0x4B<<7 | 0x49,
+ 40621 - 19968: jis0208<<14 | 0x52<<7 | 0x31,
+ 40622 - 19968: jis0212<<14 | 0x4B<<7 | 0x4A,
+ 40623 - 19968: jis0212<<14 | 0x4B<<7 | 0x4B,
+ 40624 - 19968: jis0212<<14 | 0x4B<<7 | 0x4C,
+ 40627 - 19968: jis0212<<14 | 0x4B<<7 | 0x4D,
+ 40628 - 19968: jis0212<<14 | 0x4B<<7 | 0x4E,
+ 40629 - 19968: jis0212<<14 | 0x4B<<7 | 0x4F,
+ 40632 - 19968: jis0208<<14 | 0x52<<7 | 0x2F,
+ 40633 - 19968: jis0208<<14 | 0x18<<7 | 0x4C,
+ 40634 - 19968: jis0208<<14 | 0x2B<<7 | 0x2C,
+ 40635 - 19968: jis0208<<14 | 0x2A<<7 | 0x42,
+ 40636 - 19968: jis0208<<14 | 0x35<<7 | 0x56,
+ 40638 - 19968: jis0208<<14 | 0x3C<<7 | 0x3F,
+ 40639 - 19968: jis0208<<14 | 0x2A<<7 | 0x5A,
+ 40644 - 19968: jis0208<<14 | 0x11<<7 | 0x0A,
+ 40646 - 19968: jis0212<<14 | 0x4B<<7 | 0x50,
+ 40648 - 19968: jis0212<<14 | 0x4B<<7 | 0x51,
+ 40651 - 19968: jis0212<<14 | 0x4B<<7 | 0x52,
+ 40652 - 19968: jis0208<<14 | 0x52<<7 | 0x33,
+ 40653 - 19968: jis0208<<14 | 0x14<<7 | 0x2F,
+ 40654 - 19968: jis0208<<14 | 0x52<<7 | 0x34,
+ 40655 - 19968: jis0208<<14 | 0x52<<7 | 0x35,
+ 40656 - 19968: jis0208<<14 | 0x52<<7 | 0x36,
+ 40657 - 19968: jis0208<<14 | 0x5B<<7 | 0x4D,
+ 40658 - 19968: jis0208<<14 | 0x18<<7 | 0x54,
+ 40660 - 19968: jis0208<<14 | 0x52<<7 | 0x37,
+ 40661 - 19968: jis0212<<14 | 0x4B<<7 | 0x53,
+ 40664 - 19968: jis0208<<14 | 0x3F<<7 | 0x33,
+ 40665 - 19968: jis0208<<14 | 0x2B<<7 | 0x3A,
+ 40667 - 19968: jis0208<<14 | 0x21<<7 | 0x42,
+ 40668 - 19968: jis0208<<14 | 0x52<<7 | 0x38,
+ 40669 - 19968: jis0208<<14 | 0x52<<7 | 0x3A,
+ 40670 - 19968: jis0208<<14 | 0x52<<7 | 0x39,
+ 40671 - 19968: jis0212<<14 | 0x4B<<7 | 0x54,
+ 40672 - 19968: jis0208<<14 | 0x52<<7 | 0x3B,
+ 40676 - 19968: jis0212<<14 | 0x4B<<7 | 0x55,
+ 40677 - 19968: jis0208<<14 | 0x52<<7 | 0x3C,
+ 40679 - 19968: jis0212<<14 | 0x4B<<7 | 0x56,
+ 40680 - 19968: jis0208<<14 | 0x52<<7 | 0x3D,
+ 40684 - 19968: jis0212<<14 | 0x4B<<7 | 0x57,
+ 40685 - 19968: jis0212<<14 | 0x4B<<7 | 0x58,
+ 40686 - 19968: jis0212<<14 | 0x4B<<7 | 0x59,
+ 40687 - 19968: jis0208<<14 | 0x52<<7 | 0x3E,
+ 40688 - 19968: jis0212<<14 | 0x4B<<7 | 0x5A,
+ 40689 - 19968: jis0212<<14 | 0x4B<<7 | 0x5B,
+ 40690 - 19968: jis0212<<14 | 0x4B<<7 | 0x5C,
+ 40692 - 19968: jis0208<<14 | 0x52<<7 | 0x3F,
+ 40693 - 19968: jis0212<<14 | 0x4B<<7 | 0x5D,
+ 40694 - 19968: jis0208<<14 | 0x52<<7 | 0x40,
+ 40695 - 19968: jis0208<<14 | 0x52<<7 | 0x41,
+ 40696 - 19968: jis0212<<14 | 0x4C<<7 | 0x00,
+ 40697 - 19968: jis0208<<14 | 0x52<<7 | 0x42,
+ 40699 - 19968: jis0208<<14 | 0x52<<7 | 0x43,
+ 40700 - 19968: jis0208<<14 | 0x52<<7 | 0x44,
+ 40701 - 19968: jis0208<<14 | 0x52<<7 | 0x45,
+ 40703 - 19968: jis0212<<14 | 0x4C<<7 | 0x01,
+ 40706 - 19968: jis0212<<14 | 0x4C<<7 | 0x02,
+ 40707 - 19968: jis0212<<14 | 0x4C<<7 | 0x03,
+ 40711 - 19968: jis0208<<14 | 0x52<<7 | 0x46,
+ 40712 - 19968: jis0208<<14 | 0x52<<7 | 0x47,
+ 40713 - 19968: jis0212<<14 | 0x4C<<7 | 0x04,
+ 40718 - 19968: jis0208<<14 | 0x24<<7 | 0x03,
+ 40719 - 19968: jis0212<<14 | 0x4C<<7 | 0x05,
+ 40720 - 19968: jis0212<<14 | 0x4C<<7 | 0x06,
+ 40721 - 19968: jis0212<<14 | 0x4C<<7 | 0x07,
+ 40722 - 19968: jis0212<<14 | 0x4C<<7 | 0x08,
+ 40723 - 19968: jis0208<<14 | 0x17<<7 | 0x3C,
+ 40724 - 19968: jis0212<<14 | 0x4C<<7 | 0x09,
+ 40725 - 19968: jis0208<<14 | 0x52<<7 | 0x49,
+ 40726 - 19968: jis0212<<14 | 0x4C<<7 | 0x0A,
+ 40727 - 19968: jis0212<<14 | 0x4C<<7 | 0x0B,
+ 40729 - 19968: jis0212<<14 | 0x4C<<7 | 0x0C,
+ 40730 - 19968: jis0212<<14 | 0x4C<<7 | 0x0D,
+ 40731 - 19968: jis0212<<14 | 0x4C<<7 | 0x0E,
+ 40735 - 19968: jis0212<<14 | 0x4C<<7 | 0x0F,
+ 40736 - 19968: jis0208<<14 | 0x20<<7 | 0x2C,
+ 40737 - 19968: jis0208<<14 | 0x52<<7 | 0x4A,
+ 40738 - 19968: jis0212<<14 | 0x4C<<7 | 0x10,
+ 40742 - 19968: jis0212<<14 | 0x4C<<7 | 0x11,
+ 40746 - 19968: jis0212<<14 | 0x4C<<7 | 0x12,
+ 40747 - 19968: jis0212<<14 | 0x4C<<7 | 0x13,
+ 40748 - 19968: jis0208<<14 | 0x52<<7 | 0x4B,
+ 40751 - 19968: jis0212<<14 | 0x4C<<7 | 0x14,
+ 40753 - 19968: jis0212<<14 | 0x4C<<7 | 0x15,
+ 40754 - 19968: jis0212<<14 | 0x4C<<7 | 0x16,
+ 40756 - 19968: jis0212<<14 | 0x4C<<7 | 0x17,
+ 40759 - 19968: jis0212<<14 | 0x4C<<7 | 0x18,
+ 40761 - 19968: jis0212<<14 | 0x4C<<7 | 0x19,
+ 40762 - 19968: jis0212<<14 | 0x4C<<7 | 0x1A,
+ 40763 - 19968: jis0208<<14 | 0x28<<7 | 0x00,
+ 40764 - 19968: jis0212<<14 | 0x4C<<7 | 0x1B,
+ 40765 - 19968: jis0212<<14 | 0x4C<<7 | 0x1C,
+ 40766 - 19968: jis0208<<14 | 0x52<<7 | 0x4C,
+ 40767 - 19968: jis0212<<14 | 0x4C<<7 | 0x1D,
+ 40769 - 19968: jis0212<<14 | 0x4C<<7 | 0x1E,
+ 40771 - 19968: jis0212<<14 | 0x4C<<7 | 0x1F,
+ 40772 - 19968: jis0212<<14 | 0x4C<<7 | 0x20,
+ 40773 - 19968: jis0212<<14 | 0x4C<<7 | 0x21,
+ 40774 - 19968: jis0212<<14 | 0x4C<<7 | 0x22,
+ 40775 - 19968: jis0212<<14 | 0x4C<<7 | 0x23,
+ 40778 - 19968: jis0208<<14 | 0x52<<7 | 0x4D,
+ 40779 - 19968: jis0208<<14 | 0x42<<7 | 0x16,
+ 40782 - 19968: jis0208<<14 | 0x4B<<7 | 0x39,
+ 40783 - 19968: jis0208<<14 | 0x4F<<7 | 0x4C,
+ 40786 - 19968: jis0208<<14 | 0x52<<7 | 0x4E,
+ 40787 - 19968: jis0212<<14 | 0x4C<<7 | 0x24,
+ 40788 - 19968: jis0208<<14 | 0x52<<7 | 0x4F,
+ 40789 - 19968: jis0212<<14 | 0x4C<<7 | 0x25,
+ 40790 - 19968: jis0212<<14 | 0x4C<<7 | 0x26,
+ 40791 - 19968: jis0212<<14 | 0x4C<<7 | 0x27,
+ 40792 - 19968: jis0212<<14 | 0x4C<<7 | 0x28,
+ 40794 - 19968: jis0212<<14 | 0x4C<<7 | 0x29,
+ 40797 - 19968: jis0212<<14 | 0x4C<<7 | 0x2A,
+ 40798 - 19968: jis0212<<14 | 0x4C<<7 | 0x2B,
+ 40799 - 19968: jis0208<<14 | 0x52<<7 | 0x51,
+ 40800 - 19968: jis0208<<14 | 0x52<<7 | 0x52,
+ 40801 - 19968: jis0208<<14 | 0x52<<7 | 0x53,
+ 40802 - 19968: jis0208<<14 | 0x2D<<7 | 0x4F,
+ 40803 - 19968: jis0208<<14 | 0x52<<7 | 0x50,
+ 40806 - 19968: jis0208<<14 | 0x52<<7 | 0x54,
+ 40807 - 19968: jis0208<<14 | 0x52<<7 | 0x55,
+ 40808 - 19968: jis0212<<14 | 0x4C<<7 | 0x2C,
+ 40809 - 19968: jis0212<<14 | 0x4C<<7 | 0x2D,
+ 40810 - 19968: jis0208<<14 | 0x52<<7 | 0x57,
+ 40812 - 19968: jis0208<<14 | 0x52<<7 | 0x56,
+ 40813 - 19968: jis0212<<14 | 0x4C<<7 | 0x2E,
+ 40814 - 19968: jis0212<<14 | 0x4C<<7 | 0x2F,
+ 40815 - 19968: jis0212<<14 | 0x4C<<7 | 0x30,
+ 40816 - 19968: jis0212<<14 | 0x4C<<7 | 0x31,
+ 40817 - 19968: jis0212<<14 | 0x4C<<7 | 0x32,
+ 40818 - 19968: jis0208<<14 | 0x52<<7 | 0x59,
+ 40819 - 19968: jis0212<<14 | 0x4C<<7 | 0x33,
+ 40821 - 19968: jis0212<<14 | 0x4C<<7 | 0x34,
+ 40822 - 19968: jis0208<<14 | 0x52<<7 | 0x5A,
+ 40823 - 19968: jis0208<<14 | 0x52<<7 | 0x58,
+ 40826 - 19968: jis0212<<14 | 0x4C<<7 | 0x35,
+ 40829 - 19968: jis0212<<14 | 0x4C<<7 | 0x36,
+ 40845 - 19968: jis0208<<14 | 0x2D<<7 | 0x15,
+ 40847 - 19968: jis0212<<14 | 0x4C<<7 | 0x37,
+ 40848 - 19968: jis0212<<14 | 0x4C<<7 | 0x38,
+ 40849 - 19968: jis0212<<14 | 0x4C<<7 | 0x39,
+ 40850 - 19968: jis0212<<14 | 0x4C<<7 | 0x3A,
+ 40852 - 19968: jis0212<<14 | 0x4C<<7 | 0x3B,
+ 40853 - 19968: jis0208<<14 | 0x52<<7 | 0x5B,
+ 40854 - 19968: jis0212<<14 | 0x4C<<7 | 0x3C,
+ 40855 - 19968: jis0212<<14 | 0x4C<<7 | 0x3D,
+ 40860 - 19968: jis0208<<14 | 0x52<<7 | 0x5C,
+ 40861 - 19968: jis0208<<14 | 0x42<<7 | 0x33,
+ 40862 - 19968: jis0212<<14 | 0x4C<<7 | 0x3E,
+ 40864 - 19968: jis0208<<14 | 0x52<<7 | 0x5D,
+ 40865 - 19968: jis0212<<14 | 0x4C<<7 | 0x3F,
+ 40866 - 19968: jis0212<<14 | 0x4C<<7 | 0x40,
+ 40867 - 19968: jis0212<<14 | 0x4C<<7 | 0x41,
+ 40869 - 19968: jis0212<<14 | 0x4C<<7 | 0x42,
+}
+
+const encode1Low, encode1High = 8208, 9840
+
+var encode1 = [...]uint16{
+ 8208 - 8208: jis0208<<14 | 0x00<<7 | 0x1D,
+ 8213 - 8208: jis0208<<14 | 0x00<<7 | 0x1C,
+ 8216 - 8208: jis0208<<14 | 0x00<<7 | 0x25,
+ 8217 - 8208: jis0208<<14 | 0x00<<7 | 0x26,
+ 8220 - 8208: jis0208<<14 | 0x00<<7 | 0x27,
+ 8221 - 8208: jis0208<<14 | 0x00<<7 | 0x28,
+ 8224 - 8208: jis0208<<14 | 0x01<<7 | 0x56,
+ 8225 - 8208: jis0208<<14 | 0x01<<7 | 0x57,
+ 8229 - 8208: jis0208<<14 | 0x00<<7 | 0x24,
+ 8230 - 8208: jis0208<<14 | 0x00<<7 | 0x23,
+ 8240 - 8208: jis0208<<14 | 0x01<<7 | 0x52,
+ 8242 - 8208: jis0208<<14 | 0x00<<7 | 0x4B,
+ 8243 - 8208: jis0208<<14 | 0x00<<7 | 0x4C,
+ 8251 - 8208: jis0208<<14 | 0x01<<7 | 0x07,
+ 8451 - 8208: jis0208<<14 | 0x00<<7 | 0x4D,
+ 8470 - 8208: jis0208<<14 | 0x0C<<7 | 0x41,
+ 8481 - 8208: jis0208<<14 | 0x0C<<7 | 0x43,
+ 8482 - 8208: jis0212<<14 | 0x01<<7 | 0x4E,
+ 8491 - 8208: jis0208<<14 | 0x01<<7 | 0x51,
+ 8544 - 8208: jis0208<<14 | 0x0C<<7 | 0x14,
+ 8545 - 8208: jis0208<<14 | 0x0C<<7 | 0x15,
+ 8546 - 8208: jis0208<<14 | 0x0C<<7 | 0x16,
+ 8547 - 8208: jis0208<<14 | 0x0C<<7 | 0x17,
+ 8548 - 8208: jis0208<<14 | 0x0C<<7 | 0x18,
+ 8549 - 8208: jis0208<<14 | 0x0C<<7 | 0x19,
+ 8550 - 8208: jis0208<<14 | 0x0C<<7 | 0x1A,
+ 8551 - 8208: jis0208<<14 | 0x0C<<7 | 0x1B,
+ 8552 - 8208: jis0208<<14 | 0x0C<<7 | 0x1C,
+ 8553 - 8208: jis0208<<14 | 0x0C<<7 | 0x1D,
+ 8560 - 8208: jis0208<<14 | 0x5B<<7 | 0x50,
+ 8561 - 8208: jis0208<<14 | 0x5B<<7 | 0x51,
+ 8562 - 8208: jis0208<<14 | 0x5B<<7 | 0x52,
+ 8563 - 8208: jis0208<<14 | 0x5B<<7 | 0x53,
+ 8564 - 8208: jis0208<<14 | 0x5B<<7 | 0x54,
+ 8565 - 8208: jis0208<<14 | 0x5B<<7 | 0x55,
+ 8566 - 8208: jis0208<<14 | 0x5B<<7 | 0x56,
+ 8567 - 8208: jis0208<<14 | 0x5B<<7 | 0x57,
+ 8568 - 8208: jis0208<<14 | 0x5B<<7 | 0x58,
+ 8569 - 8208: jis0208<<14 | 0x5B<<7 | 0x59,
+ 8592 - 8208: jis0208<<14 | 0x01<<7 | 0x0A,
+ 8593 - 8208: jis0208<<14 | 0x01<<7 | 0x0B,
+ 8594 - 8208: jis0208<<14 | 0x01<<7 | 0x09,
+ 8595 - 8208: jis0208<<14 | 0x01<<7 | 0x0C,
+ 8658 - 8208: jis0208<<14 | 0x01<<7 | 0x2C,
+ 8660 - 8208: jis0208<<14 | 0x01<<7 | 0x2D,
+ 8704 - 8208: jis0208<<14 | 0x01<<7 | 0x2E,
+ 8706 - 8208: jis0208<<14 | 0x01<<7 | 0x3E,
+ 8707 - 8208: jis0208<<14 | 0x01<<7 | 0x2F,
+ 8711 - 8208: jis0208<<14 | 0x01<<7 | 0x3F,
+ 8712 - 8208: jis0208<<14 | 0x01<<7 | 0x19,
+ 8715 - 8208: jis0208<<14 | 0x01<<7 | 0x1A,
+ 8721 - 8208: jis0208<<14 | 0x0C<<7 | 0x53,
+ 8730 - 8208: jis0208<<14 | 0x01<<7 | 0x44,
+ 8733 - 8208: jis0208<<14 | 0x01<<7 | 0x46,
+ 8734 - 8208: jis0208<<14 | 0x00<<7 | 0x46,
+ 8735 - 8208: jis0208<<14 | 0x0C<<7 | 0x57,
+ 8736 - 8208: jis0208<<14 | 0x01<<7 | 0x3B,
+ 8741 - 8208: jis0208<<14 | 0x00<<7 | 0x21,
+ 8743 - 8208: jis0208<<14 | 0x01<<7 | 0x29,
+ 8744 - 8208: jis0208<<14 | 0x01<<7 | 0x2A,
+ 8745 - 8208: jis0208<<14 | 0x01<<7 | 0x20,
+ 8746 - 8208: jis0208<<14 | 0x01<<7 | 0x1F,
+ 8747 - 8208: jis0208<<14 | 0x01<<7 | 0x48,
+ 8748 - 8208: jis0208<<14 | 0x01<<7 | 0x49,
+ 8750 - 8208: jis0208<<14 | 0x0C<<7 | 0x52,
+ 8756 - 8208: jis0208<<14 | 0x00<<7 | 0x47,
+ 8757 - 8208: jis0208<<14 | 0x01<<7 | 0x47,
+ 8765 - 8208: jis0208<<14 | 0x01<<7 | 0x45,
+ 8786 - 8208: jis0208<<14 | 0x01<<7 | 0x41,
+ 8800 - 8208: jis0208<<14 | 0x00<<7 | 0x41,
+ 8801 - 8208: jis0208<<14 | 0x01<<7 | 0x40,
+ 8806 - 8208: jis0208<<14 | 0x00<<7 | 0x44,
+ 8807 - 8208: jis0208<<14 | 0x00<<7 | 0x45,
+ 8810 - 8208: jis0208<<14 | 0x01<<7 | 0x42,
+ 8811 - 8208: jis0208<<14 | 0x01<<7 | 0x43,
+ 8834 - 8208: jis0208<<14 | 0x01<<7 | 0x1D,
+ 8835 - 8208: jis0208<<14 | 0x01<<7 | 0x1E,
+ 8838 - 8208: jis0208<<14 | 0x01<<7 | 0x1B,
+ 8839 - 8208: jis0208<<14 | 0x01<<7 | 0x1C,
+ 8869 - 8208: jis0208<<14 | 0x01<<7 | 0x3C,
+ 8895 - 8208: jis0208<<14 | 0x0C<<7 | 0x58,
+ 8978 - 8208: jis0208<<14 | 0x01<<7 | 0x3D,
+ 9312 - 8208: jis0208<<14 | 0x0C<<7 | 0x00,
+ 9313 - 8208: jis0208<<14 | 0x0C<<7 | 0x01,
+ 9314 - 8208: jis0208<<14 | 0x0C<<7 | 0x02,
+ 9315 - 8208: jis0208<<14 | 0x0C<<7 | 0x03,
+ 9316 - 8208: jis0208<<14 | 0x0C<<7 | 0x04,
+ 9317 - 8208: jis0208<<14 | 0x0C<<7 | 0x05,
+ 9318 - 8208: jis0208<<14 | 0x0C<<7 | 0x06,
+ 9319 - 8208: jis0208<<14 | 0x0C<<7 | 0x07,
+ 9320 - 8208: jis0208<<14 | 0x0C<<7 | 0x08,
+ 9321 - 8208: jis0208<<14 | 0x0C<<7 | 0x09,
+ 9322 - 8208: jis0208<<14 | 0x0C<<7 | 0x0A,
+ 9323 - 8208: jis0208<<14 | 0x0C<<7 | 0x0B,
+ 9324 - 8208: jis0208<<14 | 0x0C<<7 | 0x0C,
+ 9325 - 8208: jis0208<<14 | 0x0C<<7 | 0x0D,
+ 9326 - 8208: jis0208<<14 | 0x0C<<7 | 0x0E,
+ 9327 - 8208: jis0208<<14 | 0x0C<<7 | 0x0F,
+ 9328 - 8208: jis0208<<14 | 0x0C<<7 | 0x10,
+ 9329 - 8208: jis0208<<14 | 0x0C<<7 | 0x11,
+ 9330 - 8208: jis0208<<14 | 0x0C<<7 | 0x12,
+ 9331 - 8208: jis0208<<14 | 0x0C<<7 | 0x13,
+ 9472 - 8208: jis0208<<14 | 0x07<<7 | 0x00,
+ 9473 - 8208: jis0208<<14 | 0x07<<7 | 0x0B,
+ 9474 - 8208: jis0208<<14 | 0x07<<7 | 0x01,
+ 9475 - 8208: jis0208<<14 | 0x07<<7 | 0x0C,
+ 9484 - 8208: jis0208<<14 | 0x07<<7 | 0x02,
+ 9487 - 8208: jis0208<<14 | 0x07<<7 | 0x0D,
+ 9488 - 8208: jis0208<<14 | 0x07<<7 | 0x03,
+ 9491 - 8208: jis0208<<14 | 0x07<<7 | 0x0E,
+ 9492 - 8208: jis0208<<14 | 0x07<<7 | 0x05,
+ 9495 - 8208: jis0208<<14 | 0x07<<7 | 0x10,
+ 9496 - 8208: jis0208<<14 | 0x07<<7 | 0x04,
+ 9499 - 8208: jis0208<<14 | 0x07<<7 | 0x0F,
+ 9500 - 8208: jis0208<<14 | 0x07<<7 | 0x06,
+ 9501 - 8208: jis0208<<14 | 0x07<<7 | 0x1B,
+ 9504 - 8208: jis0208<<14 | 0x07<<7 | 0x16,
+ 9507 - 8208: jis0208<<14 | 0x07<<7 | 0x11,
+ 9508 - 8208: jis0208<<14 | 0x07<<7 | 0x08,
+ 9509 - 8208: jis0208<<14 | 0x07<<7 | 0x1D,
+ 9512 - 8208: jis0208<<14 | 0x07<<7 | 0x18,
+ 9515 - 8208: jis0208<<14 | 0x07<<7 | 0x13,
+ 9516 - 8208: jis0208<<14 | 0x07<<7 | 0x07,
+ 9519 - 8208: jis0208<<14 | 0x07<<7 | 0x17,
+ 9520 - 8208: jis0208<<14 | 0x07<<7 | 0x1C,
+ 9523 - 8208: jis0208<<14 | 0x07<<7 | 0x12,
+ 9524 - 8208: jis0208<<14 | 0x07<<7 | 0x09,
+ 9527 - 8208: jis0208<<14 | 0x07<<7 | 0x19,
+ 9528 - 8208: jis0208<<14 | 0x07<<7 | 0x1E,
+ 9531 - 8208: jis0208<<14 | 0x07<<7 | 0x14,
+ 9532 - 8208: jis0208<<14 | 0x07<<7 | 0x0A,
+ 9535 - 8208: jis0208<<14 | 0x07<<7 | 0x1A,
+ 9538 - 8208: jis0208<<14 | 0x07<<7 | 0x1F,
+ 9547 - 8208: jis0208<<14 | 0x07<<7 | 0x15,
+ 9632 - 8208: jis0208<<14 | 0x01<<7 | 0x02,
+ 9633 - 8208: jis0208<<14 | 0x01<<7 | 0x01,
+ 9650 - 8208: jis0208<<14 | 0x01<<7 | 0x04,
+ 9651 - 8208: jis0208<<14 | 0x01<<7 | 0x03,
+ 9660 - 8208: jis0208<<14 | 0x01<<7 | 0x06,
+ 9661 - 8208: jis0208<<14 | 0x01<<7 | 0x05,
+ 9670 - 8208: jis0208<<14 | 0x01<<7 | 0x00,
+ 9671 - 8208: jis0208<<14 | 0x00<<7 | 0x5D,
+ 9675 - 8208: jis0208<<14 | 0x00<<7 | 0x5A,
+ 9678 - 8208: jis0208<<14 | 0x00<<7 | 0x5C,
+ 9679 - 8208: jis0208<<14 | 0x00<<7 | 0x5B,
+ 9711 - 8208: jis0208<<14 | 0x01<<7 | 0x5D,
+ 9733 - 8208: jis0208<<14 | 0x00<<7 | 0x59,
+ 9734 - 8208: jis0208<<14 | 0x00<<7 | 0x58,
+ 9792 - 8208: jis0208<<14 | 0x00<<7 | 0x49,
+ 9794 - 8208: jis0208<<14 | 0x00<<7 | 0x48,
+ 9834 - 8208: jis0208<<14 | 0x01<<7 | 0x55,
+ 9837 - 8208: jis0208<<14 | 0x01<<7 | 0x54,
+ 9839 - 8208: jis0208<<14 | 0x01<<7 | 0x53,
+}
+
+const encode2Low, encode2High = 12288, 13262
+
+var encode2 = [...]uint16{
+ 12288 - 12288: jis0208<<14 | 0x00<<7 | 0x00,
+ 12289 - 12288: jis0208<<14 | 0x00<<7 | 0x01,
+ 12290 - 12288: jis0208<<14 | 0x00<<7 | 0x02,
+ 12291 - 12288: jis0208<<14 | 0x00<<7 | 0x16,
+ 12293 - 12288: jis0208<<14 | 0x00<<7 | 0x18,
+ 12294 - 12288: jis0208<<14 | 0x00<<7 | 0x19,
+ 12295 - 12288: jis0208<<14 | 0x00<<7 | 0x1A,
+ 12296 - 12288: jis0208<<14 | 0x00<<7 | 0x31,
+ 12297 - 12288: jis0208<<14 | 0x00<<7 | 0x32,
+ 12298 - 12288: jis0208<<14 | 0x00<<7 | 0x33,
+ 12299 - 12288: jis0208<<14 | 0x00<<7 | 0x34,
+ 12300 - 12288: jis0208<<14 | 0x00<<7 | 0x35,
+ 12301 - 12288: jis0208<<14 | 0x00<<7 | 0x36,
+ 12302 - 12288: jis0208<<14 | 0x00<<7 | 0x37,
+ 12303 - 12288: jis0208<<14 | 0x00<<7 | 0x38,
+ 12304 - 12288: jis0208<<14 | 0x00<<7 | 0x39,
+ 12305 - 12288: jis0208<<14 | 0x00<<7 | 0x3A,
+ 12306 - 12288: jis0208<<14 | 0x01<<7 | 0x08,
+ 12307 - 12288: jis0208<<14 | 0x01<<7 | 0x0D,
+ 12308 - 12288: jis0208<<14 | 0x00<<7 | 0x2B,
+ 12309 - 12288: jis0208<<14 | 0x00<<7 | 0x2C,
+ 12317 - 12288: jis0208<<14 | 0x0C<<7 | 0x3F,
+ 12319 - 12288: jis0208<<14 | 0x0C<<7 | 0x40,
+ 12353 - 12288: jis0208<<14 | 0x03<<7 | 0x00,
+ 12354 - 12288: jis0208<<14 | 0x03<<7 | 0x01,
+ 12355 - 12288: jis0208<<14 | 0x03<<7 | 0x02,
+ 12356 - 12288: jis0208<<14 | 0x03<<7 | 0x03,
+ 12357 - 12288: jis0208<<14 | 0x03<<7 | 0x04,
+ 12358 - 12288: jis0208<<14 | 0x03<<7 | 0x05,
+ 12359 - 12288: jis0208<<14 | 0x03<<7 | 0x06,
+ 12360 - 12288: jis0208<<14 | 0x03<<7 | 0x07,
+ 12361 - 12288: jis0208<<14 | 0x03<<7 | 0x08,
+ 12362 - 12288: jis0208<<14 | 0x03<<7 | 0x09,
+ 12363 - 12288: jis0208<<14 | 0x03<<7 | 0x0A,
+ 12364 - 12288: jis0208<<14 | 0x03<<7 | 0x0B,
+ 12365 - 12288: jis0208<<14 | 0x03<<7 | 0x0C,
+ 12366 - 12288: jis0208<<14 | 0x03<<7 | 0x0D,
+ 12367 - 12288: jis0208<<14 | 0x03<<7 | 0x0E,
+ 12368 - 12288: jis0208<<14 | 0x03<<7 | 0x0F,
+ 12369 - 12288: jis0208<<14 | 0x03<<7 | 0x10,
+ 12370 - 12288: jis0208<<14 | 0x03<<7 | 0x11,
+ 12371 - 12288: jis0208<<14 | 0x03<<7 | 0x12,
+ 12372 - 12288: jis0208<<14 | 0x03<<7 | 0x13,
+ 12373 - 12288: jis0208<<14 | 0x03<<7 | 0x14,
+ 12374 - 12288: jis0208<<14 | 0x03<<7 | 0x15,
+ 12375 - 12288: jis0208<<14 | 0x03<<7 | 0x16,
+ 12376 - 12288: jis0208<<14 | 0x03<<7 | 0x17,
+ 12377 - 12288: jis0208<<14 | 0x03<<7 | 0x18,
+ 12378 - 12288: jis0208<<14 | 0x03<<7 | 0x19,
+ 12379 - 12288: jis0208<<14 | 0x03<<7 | 0x1A,
+ 12380 - 12288: jis0208<<14 | 0x03<<7 | 0x1B,
+ 12381 - 12288: jis0208<<14 | 0x03<<7 | 0x1C,
+ 12382 - 12288: jis0208<<14 | 0x03<<7 | 0x1D,
+ 12383 - 12288: jis0208<<14 | 0x03<<7 | 0x1E,
+ 12384 - 12288: jis0208<<14 | 0x03<<7 | 0x1F,
+ 12385 - 12288: jis0208<<14 | 0x03<<7 | 0x20,
+ 12386 - 12288: jis0208<<14 | 0x03<<7 | 0x21,
+ 12387 - 12288: jis0208<<14 | 0x03<<7 | 0x22,
+ 12388 - 12288: jis0208<<14 | 0x03<<7 | 0x23,
+ 12389 - 12288: jis0208<<14 | 0x03<<7 | 0x24,
+ 12390 - 12288: jis0208<<14 | 0x03<<7 | 0x25,
+ 12391 - 12288: jis0208<<14 | 0x03<<7 | 0x26,
+ 12392 - 12288: jis0208<<14 | 0x03<<7 | 0x27,
+ 12393 - 12288: jis0208<<14 | 0x03<<7 | 0x28,
+ 12394 - 12288: jis0208<<14 | 0x03<<7 | 0x29,
+ 12395 - 12288: jis0208<<14 | 0x03<<7 | 0x2A,
+ 12396 - 12288: jis0208<<14 | 0x03<<7 | 0x2B,
+ 12397 - 12288: jis0208<<14 | 0x03<<7 | 0x2C,
+ 12398 - 12288: jis0208<<14 | 0x03<<7 | 0x2D,
+ 12399 - 12288: jis0208<<14 | 0x03<<7 | 0x2E,
+ 12400 - 12288: jis0208<<14 | 0x03<<7 | 0x2F,
+ 12401 - 12288: jis0208<<14 | 0x03<<7 | 0x30,
+ 12402 - 12288: jis0208<<14 | 0x03<<7 | 0x31,
+ 12403 - 12288: jis0208<<14 | 0x03<<7 | 0x32,
+ 12404 - 12288: jis0208<<14 | 0x03<<7 | 0x33,
+ 12405 - 12288: jis0208<<14 | 0x03<<7 | 0x34,
+ 12406 - 12288: jis0208<<14 | 0x03<<7 | 0x35,
+ 12407 - 12288: jis0208<<14 | 0x03<<7 | 0x36,
+ 12408 - 12288: jis0208<<14 | 0x03<<7 | 0x37,
+ 12409 - 12288: jis0208<<14 | 0x03<<7 | 0x38,
+ 12410 - 12288: jis0208<<14 | 0x03<<7 | 0x39,
+ 12411 - 12288: jis0208<<14 | 0x03<<7 | 0x3A,
+ 12412 - 12288: jis0208<<14 | 0x03<<7 | 0x3B,
+ 12413 - 12288: jis0208<<14 | 0x03<<7 | 0x3C,
+ 12414 - 12288: jis0208<<14 | 0x03<<7 | 0x3D,
+ 12415 - 12288: jis0208<<14 | 0x03<<7 | 0x3E,
+ 12416 - 12288: jis0208<<14 | 0x03<<7 | 0x3F,
+ 12417 - 12288: jis0208<<14 | 0x03<<7 | 0x40,
+ 12418 - 12288: jis0208<<14 | 0x03<<7 | 0x41,
+ 12419 - 12288: jis0208<<14 | 0x03<<7 | 0x42,
+ 12420 - 12288: jis0208<<14 | 0x03<<7 | 0x43,
+ 12421 - 12288: jis0208<<14 | 0x03<<7 | 0x44,
+ 12422 - 12288: jis0208<<14 | 0x03<<7 | 0x45,
+ 12423 - 12288: jis0208<<14 | 0x03<<7 | 0x46,
+ 12424 - 12288: jis0208<<14 | 0x03<<7 | 0x47,
+ 12425 - 12288: jis0208<<14 | 0x03<<7 | 0x48,
+ 12426 - 12288: jis0208<<14 | 0x03<<7 | 0x49,
+ 12427 - 12288: jis0208<<14 | 0x03<<7 | 0x4A,
+ 12428 - 12288: jis0208<<14 | 0x03<<7 | 0x4B,
+ 12429 - 12288: jis0208<<14 | 0x03<<7 | 0x4C,
+ 12430 - 12288: jis0208<<14 | 0x03<<7 | 0x4D,
+ 12431 - 12288: jis0208<<14 | 0x03<<7 | 0x4E,
+ 12432 - 12288: jis0208<<14 | 0x03<<7 | 0x4F,
+ 12433 - 12288: jis0208<<14 | 0x03<<7 | 0x50,
+ 12434 - 12288: jis0208<<14 | 0x03<<7 | 0x51,
+ 12435 - 12288: jis0208<<14 | 0x03<<7 | 0x52,
+ 12443 - 12288: jis0208<<14 | 0x00<<7 | 0x0A,
+ 12444 - 12288: jis0208<<14 | 0x00<<7 | 0x0B,
+ 12445 - 12288: jis0208<<14 | 0x00<<7 | 0x14,
+ 12446 - 12288: jis0208<<14 | 0x00<<7 | 0x15,
+ 12449 - 12288: jis0208<<14 | 0x04<<7 | 0x00,
+ 12450 - 12288: jis0208<<14 | 0x04<<7 | 0x01,
+ 12451 - 12288: jis0208<<14 | 0x04<<7 | 0x02,
+ 12452 - 12288: jis0208<<14 | 0x04<<7 | 0x03,
+ 12453 - 12288: jis0208<<14 | 0x04<<7 | 0x04,
+ 12454 - 12288: jis0208<<14 | 0x04<<7 | 0x05,
+ 12455 - 12288: jis0208<<14 | 0x04<<7 | 0x06,
+ 12456 - 12288: jis0208<<14 | 0x04<<7 | 0x07,
+ 12457 - 12288: jis0208<<14 | 0x04<<7 | 0x08,
+ 12458 - 12288: jis0208<<14 | 0x04<<7 | 0x09,
+ 12459 - 12288: jis0208<<14 | 0x04<<7 | 0x0A,
+ 12460 - 12288: jis0208<<14 | 0x04<<7 | 0x0B,
+ 12461 - 12288: jis0208<<14 | 0x04<<7 | 0x0C,
+ 12462 - 12288: jis0208<<14 | 0x04<<7 | 0x0D,
+ 12463 - 12288: jis0208<<14 | 0x04<<7 | 0x0E,
+ 12464 - 12288: jis0208<<14 | 0x04<<7 | 0x0F,
+ 12465 - 12288: jis0208<<14 | 0x04<<7 | 0x10,
+ 12466 - 12288: jis0208<<14 | 0x04<<7 | 0x11,
+ 12467 - 12288: jis0208<<14 | 0x04<<7 | 0x12,
+ 12468 - 12288: jis0208<<14 | 0x04<<7 | 0x13,
+ 12469 - 12288: jis0208<<14 | 0x04<<7 | 0x14,
+ 12470 - 12288: jis0208<<14 | 0x04<<7 | 0x15,
+ 12471 - 12288: jis0208<<14 | 0x04<<7 | 0x16,
+ 12472 - 12288: jis0208<<14 | 0x04<<7 | 0x17,
+ 12473 - 12288: jis0208<<14 | 0x04<<7 | 0x18,
+ 12474 - 12288: jis0208<<14 | 0x04<<7 | 0x19,
+ 12475 - 12288: jis0208<<14 | 0x04<<7 | 0x1A,
+ 12476 - 12288: jis0208<<14 | 0x04<<7 | 0x1B,
+ 12477 - 12288: jis0208<<14 | 0x04<<7 | 0x1C,
+ 12478 - 12288: jis0208<<14 | 0x04<<7 | 0x1D,
+ 12479 - 12288: jis0208<<14 | 0x04<<7 | 0x1E,
+ 12480 - 12288: jis0208<<14 | 0x04<<7 | 0x1F,
+ 12481 - 12288: jis0208<<14 | 0x04<<7 | 0x20,
+ 12482 - 12288: jis0208<<14 | 0x04<<7 | 0x21,
+ 12483 - 12288: jis0208<<14 | 0x04<<7 | 0x22,
+ 12484 - 12288: jis0208<<14 | 0x04<<7 | 0x23,
+ 12485 - 12288: jis0208<<14 | 0x04<<7 | 0x24,
+ 12486 - 12288: jis0208<<14 | 0x04<<7 | 0x25,
+ 12487 - 12288: jis0208<<14 | 0x04<<7 | 0x26,
+ 12488 - 12288: jis0208<<14 | 0x04<<7 | 0x27,
+ 12489 - 12288: jis0208<<14 | 0x04<<7 | 0x28,
+ 12490 - 12288: jis0208<<14 | 0x04<<7 | 0x29,
+ 12491 - 12288: jis0208<<14 | 0x04<<7 | 0x2A,
+ 12492 - 12288: jis0208<<14 | 0x04<<7 | 0x2B,
+ 12493 - 12288: jis0208<<14 | 0x04<<7 | 0x2C,
+ 12494 - 12288: jis0208<<14 | 0x04<<7 | 0x2D,
+ 12495 - 12288: jis0208<<14 | 0x04<<7 | 0x2E,
+ 12496 - 12288: jis0208<<14 | 0x04<<7 | 0x2F,
+ 12497 - 12288: jis0208<<14 | 0x04<<7 | 0x30,
+ 12498 - 12288: jis0208<<14 | 0x04<<7 | 0x31,
+ 12499 - 12288: jis0208<<14 | 0x04<<7 | 0x32,
+ 12500 - 12288: jis0208<<14 | 0x04<<7 | 0x33,
+ 12501 - 12288: jis0208<<14 | 0x04<<7 | 0x34,
+ 12502 - 12288: jis0208<<14 | 0x04<<7 | 0x35,
+ 12503 - 12288: jis0208<<14 | 0x04<<7 | 0x36,
+ 12504 - 12288: jis0208<<14 | 0x04<<7 | 0x37,
+ 12505 - 12288: jis0208<<14 | 0x04<<7 | 0x38,
+ 12506 - 12288: jis0208<<14 | 0x04<<7 | 0x39,
+ 12507 - 12288: jis0208<<14 | 0x04<<7 | 0x3A,
+ 12508 - 12288: jis0208<<14 | 0x04<<7 | 0x3B,
+ 12509 - 12288: jis0208<<14 | 0x04<<7 | 0x3C,
+ 12510 - 12288: jis0208<<14 | 0x04<<7 | 0x3D,
+ 12511 - 12288: jis0208<<14 | 0x04<<7 | 0x3E,
+ 12512 - 12288: jis0208<<14 | 0x04<<7 | 0x3F,
+ 12513 - 12288: jis0208<<14 | 0x04<<7 | 0x40,
+ 12514 - 12288: jis0208<<14 | 0x04<<7 | 0x41,
+ 12515 - 12288: jis0208<<14 | 0x04<<7 | 0x42,
+ 12516 - 12288: jis0208<<14 | 0x04<<7 | 0x43,
+ 12517 - 12288: jis0208<<14 | 0x04<<7 | 0x44,
+ 12518 - 12288: jis0208<<14 | 0x04<<7 | 0x45,
+ 12519 - 12288: jis0208<<14 | 0x04<<7 | 0x46,
+ 12520 - 12288: jis0208<<14 | 0x04<<7 | 0x47,
+ 12521 - 12288: jis0208<<14 | 0x04<<7 | 0x48,
+ 12522 - 12288: jis0208<<14 | 0x04<<7 | 0x49,
+ 12523 - 12288: jis0208<<14 | 0x04<<7 | 0x4A,
+ 12524 - 12288: jis0208<<14 | 0x04<<7 | 0x4B,
+ 12525 - 12288: jis0208<<14 | 0x04<<7 | 0x4C,
+ 12526 - 12288: jis0208<<14 | 0x04<<7 | 0x4D,
+ 12527 - 12288: jis0208<<14 | 0x04<<7 | 0x4E,
+ 12528 - 12288: jis0208<<14 | 0x04<<7 | 0x4F,
+ 12529 - 12288: jis0208<<14 | 0x04<<7 | 0x50,
+ 12530 - 12288: jis0208<<14 | 0x04<<7 | 0x51,
+ 12531 - 12288: jis0208<<14 | 0x04<<7 | 0x52,
+ 12532 - 12288: jis0208<<14 | 0x04<<7 | 0x53,
+ 12533 - 12288: jis0208<<14 | 0x04<<7 | 0x54,
+ 12534 - 12288: jis0208<<14 | 0x04<<7 | 0x55,
+ 12539 - 12288: jis0208<<14 | 0x00<<7 | 0x05,
+ 12540 - 12288: jis0208<<14 | 0x00<<7 | 0x1B,
+ 12541 - 12288: jis0208<<14 | 0x00<<7 | 0x12,
+ 12542 - 12288: jis0208<<14 | 0x00<<7 | 0x13,
+ 12849 - 12288: jis0208<<14 | 0x0C<<7 | 0x49,
+ 12850 - 12288: jis0208<<14 | 0x0C<<7 | 0x4A,
+ 12857 - 12288: jis0208<<14 | 0x0C<<7 | 0x4B,
+ 12964 - 12288: jis0208<<14 | 0x0C<<7 | 0x44,
+ 12965 - 12288: jis0208<<14 | 0x0C<<7 | 0x45,
+ 12966 - 12288: jis0208<<14 | 0x0C<<7 | 0x46,
+ 12967 - 12288: jis0208<<14 | 0x0C<<7 | 0x47,
+ 12968 - 12288: jis0208<<14 | 0x0C<<7 | 0x48,
+ 13059 - 12288: jis0208<<14 | 0x0C<<7 | 0x25,
+ 13069 - 12288: jis0208<<14 | 0x0C<<7 | 0x29,
+ 13076 - 12288: jis0208<<14 | 0x0C<<7 | 0x20,
+ 13080 - 12288: jis0208<<14 | 0x0C<<7 | 0x23,
+ 13090 - 12288: jis0208<<14 | 0x0C<<7 | 0x21,
+ 13091 - 12288: jis0208<<14 | 0x0C<<7 | 0x2B,
+ 13094 - 12288: jis0208<<14 | 0x0C<<7 | 0x2A,
+ 13095 - 12288: jis0208<<14 | 0x0C<<7 | 0x24,
+ 13099 - 12288: jis0208<<14 | 0x0C<<7 | 0x2C,
+ 13110 - 12288: jis0208<<14 | 0x0C<<7 | 0x26,
+ 13115 - 12288: jis0208<<14 | 0x0C<<7 | 0x2E,
+ 13129 - 12288: jis0208<<14 | 0x0C<<7 | 0x1F,
+ 13130 - 12288: jis0208<<14 | 0x0C<<7 | 0x2D,
+ 13133 - 12288: jis0208<<14 | 0x0C<<7 | 0x22,
+ 13137 - 12288: jis0208<<14 | 0x0C<<7 | 0x27,
+ 13143 - 12288: jis0208<<14 | 0x0C<<7 | 0x28,
+ 13179 - 12288: jis0208<<14 | 0x0C<<7 | 0x3E,
+ 13180 - 12288: jis0208<<14 | 0x0C<<7 | 0x4E,
+ 13181 - 12288: jis0208<<14 | 0x0C<<7 | 0x4D,
+ 13182 - 12288: jis0208<<14 | 0x0C<<7 | 0x4C,
+ 13198 - 12288: jis0208<<14 | 0x0C<<7 | 0x32,
+ 13199 - 12288: jis0208<<14 | 0x0C<<7 | 0x33,
+ 13212 - 12288: jis0208<<14 | 0x0C<<7 | 0x2F,
+ 13213 - 12288: jis0208<<14 | 0x0C<<7 | 0x30,
+ 13214 - 12288: jis0208<<14 | 0x0C<<7 | 0x31,
+ 13217 - 12288: jis0208<<14 | 0x0C<<7 | 0x35,
+ 13252 - 12288: jis0208<<14 | 0x0C<<7 | 0x34,
+ 13261 - 12288: jis0208<<14 | 0x0C<<7 | 0x42,
+}
+
+const encode3Low, encode3High = 161, 1120
+
+var encode3 = [...]uint16{
+ 161 - 161: jis0212<<14 | 0x01<<7 | 0x21,
+ 164 - 161: jis0212<<14 | 0x01<<7 | 0x4F,
+ 166 - 161: jis0212<<14 | 0x01<<7 | 0x22,
+ 167 - 161: jis0208<<14 | 0x00<<7 | 0x57,
+ 168 - 161: jis0208<<14 | 0x00<<7 | 0x0E,
+ 169 - 161: jis0212<<14 | 0x01<<7 | 0x4C,
+ 170 - 161: jis0212<<14 | 0x01<<7 | 0x4B,
+ 174 - 161: jis0212<<14 | 0x01<<7 | 0x4D,
+ 175 - 161: jis0212<<14 | 0x01<<7 | 0x13,
+ 176 - 161: jis0208<<14 | 0x00<<7 | 0x4A,
+ 177 - 161: jis0208<<14 | 0x00<<7 | 0x3D,
+ 180 - 161: jis0208<<14 | 0x00<<7 | 0x0C,
+ 182 - 161: jis0208<<14 | 0x01<<7 | 0x58,
+ 184 - 161: jis0212<<14 | 0x01<<7 | 0x10,
+ 186 - 161: jis0212<<14 | 0x01<<7 | 0x4A,
+ 191 - 161: jis0212<<14 | 0x01<<7 | 0x23,
+ 192 - 161: jis0212<<14 | 0x09<<7 | 0x01,
+ 193 - 161: jis0212<<14 | 0x09<<7 | 0x00,
+ 194 - 161: jis0212<<14 | 0x09<<7 | 0x03,
+ 195 - 161: jis0212<<14 | 0x09<<7 | 0x09,
+ 196 - 161: jis0212<<14 | 0x09<<7 | 0x02,
+ 197 - 161: jis0212<<14 | 0x09<<7 | 0x08,
+ 198 - 161: jis0212<<14 | 0x08<<7 | 0x00,
+ 199 - 161: jis0212<<14 | 0x09<<7 | 0x0D,
+ 200 - 161: jis0212<<14 | 0x09<<7 | 0x11,
+ 201 - 161: jis0212<<14 | 0x09<<7 | 0x10,
+ 202 - 161: jis0212<<14 | 0x09<<7 | 0x13,
+ 203 - 161: jis0212<<14 | 0x09<<7 | 0x12,
+ 204 - 161: jis0212<<14 | 0x09<<7 | 0x1F,
+ 205 - 161: jis0212<<14 | 0x09<<7 | 0x1E,
+ 206 - 161: jis0212<<14 | 0x09<<7 | 0x21,
+ 207 - 161: jis0212<<14 | 0x09<<7 | 0x20,
+ 209 - 161: jis0212<<14 | 0x09<<7 | 0x2F,
+ 210 - 161: jis0212<<14 | 0x09<<7 | 0x31,
+ 211 - 161: jis0212<<14 | 0x09<<7 | 0x30,
+ 212 - 161: jis0212<<14 | 0x09<<7 | 0x33,
+ 213 - 161: jis0212<<14 | 0x09<<7 | 0x37,
+ 214 - 161: jis0212<<14 | 0x09<<7 | 0x32,
+ 215 - 161: jis0208<<14 | 0x00<<7 | 0x3E,
+ 216 - 161: jis0212<<14 | 0x08<<7 | 0x0B,
+ 217 - 161: jis0212<<14 | 0x09<<7 | 0x42,
+ 218 - 161: jis0212<<14 | 0x09<<7 | 0x41,
+ 219 - 161: jis0212<<14 | 0x09<<7 | 0x44,
+ 220 - 161: jis0212<<14 | 0x09<<7 | 0x43,
+ 221 - 161: jis0212<<14 | 0x09<<7 | 0x51,
+ 222 - 161: jis0212<<14 | 0x08<<7 | 0x0F,
+ 223 - 161: jis0212<<14 | 0x08<<7 | 0x2D,
+ 224 - 161: jis0212<<14 | 0x0A<<7 | 0x01,
+ 225 - 161: jis0212<<14 | 0x0A<<7 | 0x00,
+ 226 - 161: jis0212<<14 | 0x0A<<7 | 0x03,
+ 227 - 161: jis0212<<14 | 0x0A<<7 | 0x09,
+ 228 - 161: jis0212<<14 | 0x0A<<7 | 0x02,
+ 229 - 161: jis0212<<14 | 0x0A<<7 | 0x08,
+ 230 - 161: jis0212<<14 | 0x08<<7 | 0x20,
+ 231 - 161: jis0212<<14 | 0x0A<<7 | 0x0D,
+ 232 - 161: jis0212<<14 | 0x0A<<7 | 0x11,
+ 233 - 161: jis0212<<14 | 0x0A<<7 | 0x10,
+ 234 - 161: jis0212<<14 | 0x0A<<7 | 0x13,
+ 235 - 161: jis0212<<14 | 0x0A<<7 | 0x12,
+ 236 - 161: jis0212<<14 | 0x0A<<7 | 0x1F,
+ 237 - 161: jis0212<<14 | 0x0A<<7 | 0x1E,
+ 238 - 161: jis0212<<14 | 0x0A<<7 | 0x21,
+ 239 - 161: jis0212<<14 | 0x0A<<7 | 0x20,
+ 240 - 161: jis0212<<14 | 0x08<<7 | 0x22,
+ 241 - 161: jis0212<<14 | 0x0A<<7 | 0x2F,
+ 242 - 161: jis0212<<14 | 0x0A<<7 | 0x31,
+ 243 - 161: jis0212<<14 | 0x0A<<7 | 0x30,
+ 244 - 161: jis0212<<14 | 0x0A<<7 | 0x33,
+ 245 - 161: jis0212<<14 | 0x0A<<7 | 0x37,
+ 246 - 161: jis0212<<14 | 0x0A<<7 | 0x32,
+ 247 - 161: jis0208<<14 | 0x00<<7 | 0x3F,
+ 248 - 161: jis0212<<14 | 0x08<<7 | 0x2B,
+ 249 - 161: jis0212<<14 | 0x0A<<7 | 0x42,
+ 250 - 161: jis0212<<14 | 0x0A<<7 | 0x41,
+ 251 - 161: jis0212<<14 | 0x0A<<7 | 0x44,
+ 252 - 161: jis0212<<14 | 0x0A<<7 | 0x43,
+ 253 - 161: jis0212<<14 | 0x0A<<7 | 0x51,
+ 254 - 161: jis0212<<14 | 0x08<<7 | 0x2F,
+ 255 - 161: jis0212<<14 | 0x0A<<7 | 0x52,
+ 256 - 161: jis0212<<14 | 0x09<<7 | 0x06,
+ 257 - 161: jis0212<<14 | 0x0A<<7 | 0x06,
+ 258 - 161: jis0212<<14 | 0x09<<7 | 0x04,
+ 259 - 161: jis0212<<14 | 0x0A<<7 | 0x04,
+ 260 - 161: jis0212<<14 | 0x09<<7 | 0x07,
+ 261 - 161: jis0212<<14 | 0x0A<<7 | 0x07,
+ 262 - 161: jis0212<<14 | 0x09<<7 | 0x0A,
+ 263 - 161: jis0212<<14 | 0x0A<<7 | 0x0A,
+ 264 - 161: jis0212<<14 | 0x09<<7 | 0x0B,
+ 265 - 161: jis0212<<14 | 0x0A<<7 | 0x0B,
+ 266 - 161: jis0212<<14 | 0x09<<7 | 0x0E,
+ 267 - 161: jis0212<<14 | 0x0A<<7 | 0x0E,
+ 268 - 161: jis0212<<14 | 0x09<<7 | 0x0C,
+ 269 - 161: jis0212<<14 | 0x0A<<7 | 0x0C,
+ 270 - 161: jis0212<<14 | 0x09<<7 | 0x0F,
+ 271 - 161: jis0212<<14 | 0x0A<<7 | 0x0F,
+ 272 - 161: jis0212<<14 | 0x08<<7 | 0x01,
+ 273 - 161: jis0212<<14 | 0x08<<7 | 0x21,
+ 274 - 161: jis0212<<14 | 0x09<<7 | 0x16,
+ 275 - 161: jis0212<<14 | 0x0A<<7 | 0x16,
+ 278 - 161: jis0212<<14 | 0x09<<7 | 0x15,
+ 279 - 161: jis0212<<14 | 0x0A<<7 | 0x15,
+ 280 - 161: jis0212<<14 | 0x09<<7 | 0x17,
+ 281 - 161: jis0212<<14 | 0x0A<<7 | 0x17,
+ 282 - 161: jis0212<<14 | 0x09<<7 | 0x14,
+ 283 - 161: jis0212<<14 | 0x0A<<7 | 0x14,
+ 284 - 161: jis0212<<14 | 0x09<<7 | 0x19,
+ 285 - 161: jis0212<<14 | 0x0A<<7 | 0x19,
+ 286 - 161: jis0212<<14 | 0x09<<7 | 0x1A,
+ 287 - 161: jis0212<<14 | 0x0A<<7 | 0x1A,
+ 288 - 161: jis0212<<14 | 0x09<<7 | 0x1C,
+ 289 - 161: jis0212<<14 | 0x0A<<7 | 0x1C,
+ 290 - 161: jis0212<<14 | 0x09<<7 | 0x1B,
+ 292 - 161: jis0212<<14 | 0x09<<7 | 0x1D,
+ 293 - 161: jis0212<<14 | 0x0A<<7 | 0x1D,
+ 294 - 161: jis0212<<14 | 0x08<<7 | 0x03,
+ 295 - 161: jis0212<<14 | 0x08<<7 | 0x23,
+ 296 - 161: jis0212<<14 | 0x09<<7 | 0x26,
+ 297 - 161: jis0212<<14 | 0x0A<<7 | 0x26,
+ 298 - 161: jis0212<<14 | 0x09<<7 | 0x24,
+ 299 - 161: jis0212<<14 | 0x0A<<7 | 0x24,
+ 302 - 161: jis0212<<14 | 0x09<<7 | 0x25,
+ 303 - 161: jis0212<<14 | 0x0A<<7 | 0x25,
+ 304 - 161: jis0212<<14 | 0x09<<7 | 0x23,
+ 305 - 161: jis0212<<14 | 0x08<<7 | 0x24,
+ 306 - 161: jis0212<<14 | 0x08<<7 | 0x05,
+ 307 - 161: jis0212<<14 | 0x08<<7 | 0x25,
+ 308 - 161: jis0212<<14 | 0x09<<7 | 0x27,
+ 309 - 161: jis0212<<14 | 0x0A<<7 | 0x27,
+ 310 - 161: jis0212<<14 | 0x09<<7 | 0x28,
+ 311 - 161: jis0212<<14 | 0x0A<<7 | 0x28,
+ 312 - 161: jis0212<<14 | 0x08<<7 | 0x26,
+ 313 - 161: jis0212<<14 | 0x09<<7 | 0x29,
+ 314 - 161: jis0212<<14 | 0x0A<<7 | 0x29,
+ 315 - 161: jis0212<<14 | 0x09<<7 | 0x2B,
+ 316 - 161: jis0212<<14 | 0x0A<<7 | 0x2B,
+ 317 - 161: jis0212<<14 | 0x09<<7 | 0x2A,
+ 318 - 161: jis0212<<14 | 0x0A<<7 | 0x2A,
+ 319 - 161: jis0212<<14 | 0x08<<7 | 0x08,
+ 320 - 161: jis0212<<14 | 0x08<<7 | 0x28,
+ 321 - 161: jis0212<<14 | 0x08<<7 | 0x07,
+ 322 - 161: jis0212<<14 | 0x08<<7 | 0x27,
+ 323 - 161: jis0212<<14 | 0x09<<7 | 0x2C,
+ 324 - 161: jis0212<<14 | 0x0A<<7 | 0x2C,
+ 325 - 161: jis0212<<14 | 0x09<<7 | 0x2E,
+ 326 - 161: jis0212<<14 | 0x0A<<7 | 0x2E,
+ 327 - 161: jis0212<<14 | 0x09<<7 | 0x2D,
+ 328 - 161: jis0212<<14 | 0x0A<<7 | 0x2D,
+ 329 - 161: jis0212<<14 | 0x08<<7 | 0x29,
+ 330 - 161: jis0212<<14 | 0x08<<7 | 0x0A,
+ 331 - 161: jis0212<<14 | 0x08<<7 | 0x2A,
+ 332 - 161: jis0212<<14 | 0x09<<7 | 0x36,
+ 333 - 161: jis0212<<14 | 0x0A<<7 | 0x36,
+ 336 - 161: jis0212<<14 | 0x09<<7 | 0x35,
+ 337 - 161: jis0212<<14 | 0x0A<<7 | 0x35,
+ 338 - 161: jis0212<<14 | 0x08<<7 | 0x0C,
+ 339 - 161: jis0212<<14 | 0x08<<7 | 0x2C,
+ 340 - 161: jis0212<<14 | 0x09<<7 | 0x38,
+ 341 - 161: jis0212<<14 | 0x0A<<7 | 0x38,
+ 342 - 161: jis0212<<14 | 0x09<<7 | 0x3A,
+ 343 - 161: jis0212<<14 | 0x0A<<7 | 0x3A,
+ 344 - 161: jis0212<<14 | 0x09<<7 | 0x39,
+ 345 - 161: jis0212<<14 | 0x0A<<7 | 0x39,
+ 346 - 161: jis0212<<14 | 0x09<<7 | 0x3B,
+ 347 - 161: jis0212<<14 | 0x0A<<7 | 0x3B,
+ 348 - 161: jis0212<<14 | 0x09<<7 | 0x3C,
+ 349 - 161: jis0212<<14 | 0x0A<<7 | 0x3C,
+ 350 - 161: jis0212<<14 | 0x09<<7 | 0x3E,
+ 351 - 161: jis0212<<14 | 0x0A<<7 | 0x3E,
+ 352 - 161: jis0212<<14 | 0x09<<7 | 0x3D,
+ 353 - 161: jis0212<<14 | 0x0A<<7 | 0x3D,
+ 354 - 161: jis0212<<14 | 0x09<<7 | 0x40,
+ 355 - 161: jis0212<<14 | 0x0A<<7 | 0x40,
+ 356 - 161: jis0212<<14 | 0x09<<7 | 0x3F,
+ 357 - 161: jis0212<<14 | 0x0A<<7 | 0x3F,
+ 358 - 161: jis0212<<14 | 0x08<<7 | 0x0E,
+ 359 - 161: jis0212<<14 | 0x08<<7 | 0x2E,
+ 360 - 161: jis0212<<14 | 0x09<<7 | 0x4B,
+ 361 - 161: jis0212<<14 | 0x0A<<7 | 0x4B,
+ 362 - 161: jis0212<<14 | 0x09<<7 | 0x48,
+ 363 - 161: jis0212<<14 | 0x0A<<7 | 0x48,
+ 364 - 161: jis0212<<14 | 0x09<<7 | 0x45,
+ 365 - 161: jis0212<<14 | 0x0A<<7 | 0x45,
+ 366 - 161: jis0212<<14 | 0x09<<7 | 0x4A,
+ 367 - 161: jis0212<<14 | 0x0A<<7 | 0x4A,
+ 368 - 161: jis0212<<14 | 0x09<<7 | 0x47,
+ 369 - 161: jis0212<<14 | 0x0A<<7 | 0x47,
+ 370 - 161: jis0212<<14 | 0x09<<7 | 0x49,
+ 371 - 161: jis0212<<14 | 0x0A<<7 | 0x49,
+ 372 - 161: jis0212<<14 | 0x09<<7 | 0x50,
+ 373 - 161: jis0212<<14 | 0x0A<<7 | 0x50,
+ 374 - 161: jis0212<<14 | 0x09<<7 | 0x53,
+ 375 - 161: jis0212<<14 | 0x0A<<7 | 0x53,
+ 376 - 161: jis0212<<14 | 0x09<<7 | 0x52,
+ 377 - 161: jis0212<<14 | 0x09<<7 | 0x54,
+ 378 - 161: jis0212<<14 | 0x0A<<7 | 0x54,
+ 379 - 161: jis0212<<14 | 0x09<<7 | 0x56,
+ 380 - 161: jis0212<<14 | 0x0A<<7 | 0x56,
+ 381 - 161: jis0212<<14 | 0x09<<7 | 0x55,
+ 382 - 161: jis0212<<14 | 0x0A<<7 | 0x55,
+ 461 - 161: jis0212<<14 | 0x09<<7 | 0x05,
+ 462 - 161: jis0212<<14 | 0x0A<<7 | 0x05,
+ 463 - 161: jis0212<<14 | 0x09<<7 | 0x22,
+ 464 - 161: jis0212<<14 | 0x0A<<7 | 0x22,
+ 465 - 161: jis0212<<14 | 0x09<<7 | 0x34,
+ 466 - 161: jis0212<<14 | 0x0A<<7 | 0x34,
+ 467 - 161: jis0212<<14 | 0x09<<7 | 0x46,
+ 468 - 161: jis0212<<14 | 0x0A<<7 | 0x46,
+ 469 - 161: jis0212<<14 | 0x09<<7 | 0x4F,
+ 470 - 161: jis0212<<14 | 0x0A<<7 | 0x4F,
+ 471 - 161: jis0212<<14 | 0x09<<7 | 0x4C,
+ 472 - 161: jis0212<<14 | 0x0A<<7 | 0x4C,
+ 473 - 161: jis0212<<14 | 0x09<<7 | 0x4E,
+ 474 - 161: jis0212<<14 | 0x0A<<7 | 0x4E,
+ 475 - 161: jis0212<<14 | 0x09<<7 | 0x4D,
+ 476 - 161: jis0212<<14 | 0x0A<<7 | 0x4D,
+ 501 - 161: jis0212<<14 | 0x0A<<7 | 0x18,
+ 711 - 161: jis0212<<14 | 0x01<<7 | 0x0F,
+ 728 - 161: jis0212<<14 | 0x01<<7 | 0x0E,
+ 729 - 161: jis0212<<14 | 0x01<<7 | 0x11,
+ 730 - 161: jis0212<<14 | 0x01<<7 | 0x15,
+ 731 - 161: jis0212<<14 | 0x01<<7 | 0x14,
+ 733 - 161: jis0212<<14 | 0x01<<7 | 0x12,
+ 900 - 161: jis0212<<14 | 0x01<<7 | 0x17,
+ 901 - 161: jis0212<<14 | 0x01<<7 | 0x18,
+ 902 - 161: jis0212<<14 | 0x05<<7 | 0x40,
+ 904 - 161: jis0212<<14 | 0x05<<7 | 0x41,
+ 905 - 161: jis0212<<14 | 0x05<<7 | 0x42,
+ 906 - 161: jis0212<<14 | 0x05<<7 | 0x43,
+ 908 - 161: jis0212<<14 | 0x05<<7 | 0x46,
+ 910 - 161: jis0212<<14 | 0x05<<7 | 0x48,
+ 911 - 161: jis0212<<14 | 0x05<<7 | 0x4B,
+ 912 - 161: jis0212<<14 | 0x05<<7 | 0x55,
+ 913 - 161: jis0208<<14 | 0x05<<7 | 0x00,
+ 914 - 161: jis0208<<14 | 0x05<<7 | 0x01,
+ 915 - 161: jis0208<<14 | 0x05<<7 | 0x02,
+ 916 - 161: jis0208<<14 | 0x05<<7 | 0x03,
+ 917 - 161: jis0208<<14 | 0x05<<7 | 0x04,
+ 918 - 161: jis0208<<14 | 0x05<<7 | 0x05,
+ 919 - 161: jis0208<<14 | 0x05<<7 | 0x06,
+ 920 - 161: jis0208<<14 | 0x05<<7 | 0x07,
+ 921 - 161: jis0208<<14 | 0x05<<7 | 0x08,
+ 922 - 161: jis0208<<14 | 0x05<<7 | 0x09,
+ 923 - 161: jis0208<<14 | 0x05<<7 | 0x0A,
+ 924 - 161: jis0208<<14 | 0x05<<7 | 0x0B,
+ 925 - 161: jis0208<<14 | 0x05<<7 | 0x0C,
+ 926 - 161: jis0208<<14 | 0x05<<7 | 0x0D,
+ 927 - 161: jis0208<<14 | 0x05<<7 | 0x0E,
+ 928 - 161: jis0208<<14 | 0x05<<7 | 0x0F,
+ 929 - 161: jis0208<<14 | 0x05<<7 | 0x10,
+ 931 - 161: jis0208<<14 | 0x05<<7 | 0x11,
+ 932 - 161: jis0208<<14 | 0x05<<7 | 0x12,
+ 933 - 161: jis0208<<14 | 0x05<<7 | 0x13,
+ 934 - 161: jis0208<<14 | 0x05<<7 | 0x14,
+ 935 - 161: jis0208<<14 | 0x05<<7 | 0x15,
+ 936 - 161: jis0208<<14 | 0x05<<7 | 0x16,
+ 937 - 161: jis0208<<14 | 0x05<<7 | 0x17,
+ 938 - 161: jis0212<<14 | 0x05<<7 | 0x44,
+ 939 - 161: jis0212<<14 | 0x05<<7 | 0x49,
+ 940 - 161: jis0212<<14 | 0x05<<7 | 0x50,
+ 941 - 161: jis0212<<14 | 0x05<<7 | 0x51,
+ 942 - 161: jis0212<<14 | 0x05<<7 | 0x52,
+ 943 - 161: jis0212<<14 | 0x05<<7 | 0x53,
+ 944 - 161: jis0212<<14 | 0x05<<7 | 0x5A,
+ 945 - 161: jis0208<<14 | 0x05<<7 | 0x20,
+ 946 - 161: jis0208<<14 | 0x05<<7 | 0x21,
+ 947 - 161: jis0208<<14 | 0x05<<7 | 0x22,
+ 948 - 161: jis0208<<14 | 0x05<<7 | 0x23,
+ 949 - 161: jis0208<<14 | 0x05<<7 | 0x24,
+ 950 - 161: jis0208<<14 | 0x05<<7 | 0x25,
+ 951 - 161: jis0208<<14 | 0x05<<7 | 0x26,
+ 952 - 161: jis0208<<14 | 0x05<<7 | 0x27,
+ 953 - 161: jis0208<<14 | 0x05<<7 | 0x28,
+ 954 - 161: jis0208<<14 | 0x05<<7 | 0x29,
+ 955 - 161: jis0208<<14 | 0x05<<7 | 0x2A,
+ 956 - 161: jis0208<<14 | 0x05<<7 | 0x2B,
+ 957 - 161: jis0208<<14 | 0x05<<7 | 0x2C,
+ 958 - 161: jis0208<<14 | 0x05<<7 | 0x2D,
+ 959 - 161: jis0208<<14 | 0x05<<7 | 0x2E,
+ 960 - 161: jis0208<<14 | 0x05<<7 | 0x2F,
+ 961 - 161: jis0208<<14 | 0x05<<7 | 0x30,
+ 962 - 161: jis0212<<14 | 0x05<<7 | 0x57,
+ 963 - 161: jis0208<<14 | 0x05<<7 | 0x31,
+ 964 - 161: jis0208<<14 | 0x05<<7 | 0x32,
+ 965 - 161: jis0208<<14 | 0x05<<7 | 0x33,
+ 966 - 161: jis0208<<14 | 0x05<<7 | 0x34,
+ 967 - 161: jis0208<<14 | 0x05<<7 | 0x35,
+ 968 - 161: jis0208<<14 | 0x05<<7 | 0x36,
+ 969 - 161: jis0208<<14 | 0x05<<7 | 0x37,
+ 970 - 161: jis0212<<14 | 0x05<<7 | 0x54,
+ 971 - 161: jis0212<<14 | 0x05<<7 | 0x59,
+ 972 - 161: jis0212<<14 | 0x05<<7 | 0x56,
+ 973 - 161: jis0212<<14 | 0x05<<7 | 0x58,
+ 974 - 161: jis0212<<14 | 0x05<<7 | 0x5B,
+ 1025 - 161: jis0208<<14 | 0x06<<7 | 0x06,
+ 1026 - 161: jis0212<<14 | 0x06<<7 | 0x21,
+ 1027 - 161: jis0212<<14 | 0x06<<7 | 0x22,
+ 1028 - 161: jis0212<<14 | 0x06<<7 | 0x23,
+ 1029 - 161: jis0212<<14 | 0x06<<7 | 0x24,
+ 1030 - 161: jis0212<<14 | 0x06<<7 | 0x25,
+ 1031 - 161: jis0212<<14 | 0x06<<7 | 0x26,
+ 1032 - 161: jis0212<<14 | 0x06<<7 | 0x27,
+ 1033 - 161: jis0212<<14 | 0x06<<7 | 0x28,
+ 1034 - 161: jis0212<<14 | 0x06<<7 | 0x29,
+ 1035 - 161: jis0212<<14 | 0x06<<7 | 0x2A,
+ 1036 - 161: jis0212<<14 | 0x06<<7 | 0x2B,
+ 1038 - 161: jis0212<<14 | 0x06<<7 | 0x2C,
+ 1039 - 161: jis0212<<14 | 0x06<<7 | 0x2D,
+ 1040 - 161: jis0208<<14 | 0x06<<7 | 0x00,
+ 1041 - 161: jis0208<<14 | 0x06<<7 | 0x01,
+ 1042 - 161: jis0208<<14 | 0x06<<7 | 0x02,
+ 1043 - 161: jis0208<<14 | 0x06<<7 | 0x03,
+ 1044 - 161: jis0208<<14 | 0x06<<7 | 0x04,
+ 1045 - 161: jis0208<<14 | 0x06<<7 | 0x05,
+ 1046 - 161: jis0208<<14 | 0x06<<7 | 0x07,
+ 1047 - 161: jis0208<<14 | 0x06<<7 | 0x08,
+ 1048 - 161: jis0208<<14 | 0x06<<7 | 0x09,
+ 1049 - 161: jis0208<<14 | 0x06<<7 | 0x0A,
+ 1050 - 161: jis0208<<14 | 0x06<<7 | 0x0B,
+ 1051 - 161: jis0208<<14 | 0x06<<7 | 0x0C,
+ 1052 - 161: jis0208<<14 | 0x06<<7 | 0x0D,
+ 1053 - 161: jis0208<<14 | 0x06<<7 | 0x0E,
+ 1054 - 161: jis0208<<14 | 0x06<<7 | 0x0F,
+ 1055 - 161: jis0208<<14 | 0x06<<7 | 0x10,
+ 1056 - 161: jis0208<<14 | 0x06<<7 | 0x11,
+ 1057 - 161: jis0208<<14 | 0x06<<7 | 0x12,
+ 1058 - 161: jis0208<<14 | 0x06<<7 | 0x13,
+ 1059 - 161: jis0208<<14 | 0x06<<7 | 0x14,
+ 1060 - 161: jis0208<<14 | 0x06<<7 | 0x15,
+ 1061 - 161: jis0208<<14 | 0x06<<7 | 0x16,
+ 1062 - 161: jis0208<<14 | 0x06<<7 | 0x17,
+ 1063 - 161: jis0208<<14 | 0x06<<7 | 0x18,
+ 1064 - 161: jis0208<<14 | 0x06<<7 | 0x19,
+ 1065 - 161: jis0208<<14 | 0x06<<7 | 0x1A,
+ 1066 - 161: jis0208<<14 | 0x06<<7 | 0x1B,
+ 1067 - 161: jis0208<<14 | 0x06<<7 | 0x1C,
+ 1068 - 161: jis0208<<14 | 0x06<<7 | 0x1D,
+ 1069 - 161: jis0208<<14 | 0x06<<7 | 0x1E,
+ 1070 - 161: jis0208<<14 | 0x06<<7 | 0x1F,
+ 1071 - 161: jis0208<<14 | 0x06<<7 | 0x20,
+ 1072 - 161: jis0208<<14 | 0x06<<7 | 0x30,
+ 1073 - 161: jis0208<<14 | 0x06<<7 | 0x31,
+ 1074 - 161: jis0208<<14 | 0x06<<7 | 0x32,
+ 1075 - 161: jis0208<<14 | 0x06<<7 | 0x33,
+ 1076 - 161: jis0208<<14 | 0x06<<7 | 0x34,
+ 1077 - 161: jis0208<<14 | 0x06<<7 | 0x35,
+ 1078 - 161: jis0208<<14 | 0x06<<7 | 0x37,
+ 1079 - 161: jis0208<<14 | 0x06<<7 | 0x38,
+ 1080 - 161: jis0208<<14 | 0x06<<7 | 0x39,
+ 1081 - 161: jis0208<<14 | 0x06<<7 | 0x3A,
+ 1082 - 161: jis0208<<14 | 0x06<<7 | 0x3B,
+ 1083 - 161: jis0208<<14 | 0x06<<7 | 0x3C,
+ 1084 - 161: jis0208<<14 | 0x06<<7 | 0x3D,
+ 1085 - 161: jis0208<<14 | 0x06<<7 | 0x3E,
+ 1086 - 161: jis0208<<14 | 0x06<<7 | 0x3F,
+ 1087 - 161: jis0208<<14 | 0x06<<7 | 0x40,
+ 1088 - 161: jis0208<<14 | 0x06<<7 | 0x41,
+ 1089 - 161: jis0208<<14 | 0x06<<7 | 0x42,
+ 1090 - 161: jis0208<<14 | 0x06<<7 | 0x43,
+ 1091 - 161: jis0208<<14 | 0x06<<7 | 0x44,
+ 1092 - 161: jis0208<<14 | 0x06<<7 | 0x45,
+ 1093 - 161: jis0208<<14 | 0x06<<7 | 0x46,
+ 1094 - 161: jis0208<<14 | 0x06<<7 | 0x47,
+ 1095 - 161: jis0208<<14 | 0x06<<7 | 0x48,
+ 1096 - 161: jis0208<<14 | 0x06<<7 | 0x49,
+ 1097 - 161: jis0208<<14 | 0x06<<7 | 0x4A,
+ 1098 - 161: jis0208<<14 | 0x06<<7 | 0x4B,
+ 1099 - 161: jis0208<<14 | 0x06<<7 | 0x4C,
+ 1100 - 161: jis0208<<14 | 0x06<<7 | 0x4D,
+ 1101 - 161: jis0208<<14 | 0x06<<7 | 0x4E,
+ 1102 - 161: jis0208<<14 | 0x06<<7 | 0x4F,
+ 1103 - 161: jis0208<<14 | 0x06<<7 | 0x50,
+ 1105 - 161: jis0208<<14 | 0x06<<7 | 0x36,
+ 1106 - 161: jis0212<<14 | 0x06<<7 | 0x51,
+ 1107 - 161: jis0212<<14 | 0x06<<7 | 0x52,
+ 1108 - 161: jis0212<<14 | 0x06<<7 | 0x53,
+ 1109 - 161: jis0212<<14 | 0x06<<7 | 0x54,
+ 1110 - 161: jis0212<<14 | 0x06<<7 | 0x55,
+ 1111 - 161: jis0212<<14 | 0x06<<7 | 0x56,
+ 1112 - 161: jis0212<<14 | 0x06<<7 | 0x57,
+ 1113 - 161: jis0212<<14 | 0x06<<7 | 0x58,
+ 1114 - 161: jis0212<<14 | 0x06<<7 | 0x59,
+ 1115 - 161: jis0212<<14 | 0x06<<7 | 0x5A,
+ 1116 - 161: jis0212<<14 | 0x06<<7 | 0x5B,
+ 1118 - 161: jis0212<<14 | 0x06<<7 | 0x5C,
+ 1119 - 161: jis0212<<14 | 0x06<<7 | 0x5D,
+}
+
+const encode4Low, encode4High = 63785, 64046
+
+var encode4 = [...]uint16{
+ 63785 - 63785: jis0208<<14 | 0x59<<7 | 0x25,
+ 63964 - 63785: jis0208<<14 | 0x5B<<7 | 0x2E,
+ 64014 - 63785: jis0208<<14 | 0x58<<7 | 0x33,
+ 64015 - 63785: jis0208<<14 | 0x58<<7 | 0x3E,
+ 64016 - 63785: jis0208<<14 | 0x58<<7 | 0x3F,
+ 64017 - 63785: jis0208<<14 | 0x58<<7 | 0x54,
+ 64018 - 63785: jis0208<<14 | 0x59<<7 | 0x1D,
+ 64019 - 63785: jis0208<<14 | 0x59<<7 | 0x2D,
+ 64020 - 63785: jis0208<<14 | 0x59<<7 | 0x2F,
+ 64021 - 63785: jis0208<<14 | 0x59<<7 | 0x5A,
+ 64022 - 63785: jis0208<<14 | 0x5A<<7 | 0x02,
+ 64023 - 63785: jis0208<<14 | 0x5A<<7 | 0x19,
+ 64024 - 63785: jis0208<<14 | 0x5A<<7 | 0x21,
+ 64025 - 63785: jis0208<<14 | 0x5A<<7 | 0x22,
+ 64026 - 63785: jis0208<<14 | 0x5A<<7 | 0x23,
+ 64027 - 63785: jis0208<<14 | 0x5A<<7 | 0x25,
+ 64028 - 63785: jis0208<<14 | 0x5A<<7 | 0x29,
+ 64029 - 63785: jis0208<<14 | 0x5A<<7 | 0x2C,
+ 64030 - 63785: jis0208<<14 | 0x5A<<7 | 0x35,
+ 64031 - 63785: jis0208<<14 | 0x5A<<7 | 0x40,
+ 64032 - 63785: jis0208<<14 | 0x5A<<7 | 0x42,
+ 64033 - 63785: jis0208<<14 | 0x5A<<7 | 0x43,
+ 64034 - 63785: jis0208<<14 | 0x5A<<7 | 0x4C,
+ 64035 - 63785: jis0208<<14 | 0x5A<<7 | 0x54,
+ 64036 - 63785: jis0208<<14 | 0x5A<<7 | 0x56,
+ 64037 - 63785: jis0208<<14 | 0x5A<<7 | 0x57,
+ 64038 - 63785: jis0208<<14 | 0x5A<<7 | 0x5A,
+ 64039 - 63785: jis0208<<14 | 0x5B<<7 | 0x18,
+ 64040 - 63785: jis0208<<14 | 0x5B<<7 | 0x1F,
+ 64041 - 63785: jis0208<<14 | 0x5B<<7 | 0x2F,
+ 64042 - 63785: jis0208<<14 | 0x5B<<7 | 0x3B,
+ 64043 - 63785: jis0208<<14 | 0x5B<<7 | 0x3C,
+ 64044 - 63785: jis0208<<14 | 0x5B<<7 | 0x3E,
+ 64045 - 63785: jis0208<<14 | 0x5B<<7 | 0x4B,
+}
+
+const encode5Low, encode5High = 65281, 65510
+
+var encode5 = [...]uint16{
+ 65281 - 65281: jis0208<<14 | 0x00<<7 | 0x09,
+ 65282 - 65281: jis0208<<14 | 0x5B<<7 | 0x5D,
+ 65283 - 65281: jis0208<<14 | 0x00<<7 | 0x53,
+ 65284 - 65281: jis0208<<14 | 0x00<<7 | 0x4F,
+ 65285 - 65281: jis0208<<14 | 0x00<<7 | 0x52,
+ 65286 - 65281: jis0208<<14 | 0x00<<7 | 0x54,
+ 65287 - 65281: jis0208<<14 | 0x5B<<7 | 0x5C,
+ 65288 - 65281: jis0208<<14 | 0x00<<7 | 0x29,
+ 65289 - 65281: jis0208<<14 | 0x00<<7 | 0x2A,
+ 65290 - 65281: jis0208<<14 | 0x00<<7 | 0x55,
+ 65291 - 65281: jis0208<<14 | 0x00<<7 | 0x3B,
+ 65292 - 65281: jis0208<<14 | 0x00<<7 | 0x03,
+ 65293 - 65281: jis0208<<14 | 0x00<<7 | 0x3C,
+ 65294 - 65281: jis0208<<14 | 0x00<<7 | 0x04,
+ 65295 - 65281: jis0208<<14 | 0x00<<7 | 0x1E,
+ 65296 - 65281: jis0208<<14 | 0x02<<7 | 0x0F,
+ 65297 - 65281: jis0208<<14 | 0x02<<7 | 0x10,
+ 65298 - 65281: jis0208<<14 | 0x02<<7 | 0x11,
+ 65299 - 65281: jis0208<<14 | 0x02<<7 | 0x12,
+ 65300 - 65281: jis0208<<14 | 0x02<<7 | 0x13,
+ 65301 - 65281: jis0208<<14 | 0x02<<7 | 0x14,
+ 65302 - 65281: jis0208<<14 | 0x02<<7 | 0x15,
+ 65303 - 65281: jis0208<<14 | 0x02<<7 | 0x16,
+ 65304 - 65281: jis0208<<14 | 0x02<<7 | 0x17,
+ 65305 - 65281: jis0208<<14 | 0x02<<7 | 0x18,
+ 65306 - 65281: jis0208<<14 | 0x00<<7 | 0x06,
+ 65307 - 65281: jis0208<<14 | 0x00<<7 | 0x07,
+ 65308 - 65281: jis0208<<14 | 0x00<<7 | 0x42,
+ 65309 - 65281: jis0208<<14 | 0x00<<7 | 0x40,
+ 65310 - 65281: jis0208<<14 | 0x00<<7 | 0x43,
+ 65311 - 65281: jis0208<<14 | 0x00<<7 | 0x08,
+ 65312 - 65281: jis0208<<14 | 0x00<<7 | 0x56,
+ 65313 - 65281: jis0208<<14 | 0x02<<7 | 0x20,
+ 65314 - 65281: jis0208<<14 | 0x02<<7 | 0x21,
+ 65315 - 65281: jis0208<<14 | 0x02<<7 | 0x22,
+ 65316 - 65281: jis0208<<14 | 0x02<<7 | 0x23,
+ 65317 - 65281: jis0208<<14 | 0x02<<7 | 0x24,
+ 65318 - 65281: jis0208<<14 | 0x02<<7 | 0x25,
+ 65319 - 65281: jis0208<<14 | 0x02<<7 | 0x26,
+ 65320 - 65281: jis0208<<14 | 0x02<<7 | 0x27,
+ 65321 - 65281: jis0208<<14 | 0x02<<7 | 0x28,
+ 65322 - 65281: jis0208<<14 | 0x02<<7 | 0x29,
+ 65323 - 65281: jis0208<<14 | 0x02<<7 | 0x2A,
+ 65324 - 65281: jis0208<<14 | 0x02<<7 | 0x2B,
+ 65325 - 65281: jis0208<<14 | 0x02<<7 | 0x2C,
+ 65326 - 65281: jis0208<<14 | 0x02<<7 | 0x2D,
+ 65327 - 65281: jis0208<<14 | 0x02<<7 | 0x2E,
+ 65328 - 65281: jis0208<<14 | 0x02<<7 | 0x2F,
+ 65329 - 65281: jis0208<<14 | 0x02<<7 | 0x30,
+ 65330 - 65281: jis0208<<14 | 0x02<<7 | 0x31,
+ 65331 - 65281: jis0208<<14 | 0x02<<7 | 0x32,
+ 65332 - 65281: jis0208<<14 | 0x02<<7 | 0x33,
+ 65333 - 65281: jis0208<<14 | 0x02<<7 | 0x34,
+ 65334 - 65281: jis0208<<14 | 0x02<<7 | 0x35,
+ 65335 - 65281: jis0208<<14 | 0x02<<7 | 0x36,
+ 65336 - 65281: jis0208<<14 | 0x02<<7 | 0x37,
+ 65337 - 65281: jis0208<<14 | 0x02<<7 | 0x38,
+ 65338 - 65281: jis0208<<14 | 0x02<<7 | 0x39,
+ 65339 - 65281: jis0208<<14 | 0x00<<7 | 0x2D,
+ 65340 - 65281: jis0208<<14 | 0x00<<7 | 0x1F,
+ 65341 - 65281: jis0208<<14 | 0x00<<7 | 0x2E,
+ 65342 - 65281: jis0208<<14 | 0x00<<7 | 0x0F,
+ 65343 - 65281: jis0208<<14 | 0x00<<7 | 0x11,
+ 65344 - 65281: jis0208<<14 | 0x00<<7 | 0x0D,
+ 65345 - 65281: jis0208<<14 | 0x02<<7 | 0x40,
+ 65346 - 65281: jis0208<<14 | 0x02<<7 | 0x41,
+ 65347 - 65281: jis0208<<14 | 0x02<<7 | 0x42,
+ 65348 - 65281: jis0208<<14 | 0x02<<7 | 0x43,
+ 65349 - 65281: jis0208<<14 | 0x02<<7 | 0x44,
+ 65350 - 65281: jis0208<<14 | 0x02<<7 | 0x45,
+ 65351 - 65281: jis0208<<14 | 0x02<<7 | 0x46,
+ 65352 - 65281: jis0208<<14 | 0x02<<7 | 0x47,
+ 65353 - 65281: jis0208<<14 | 0x02<<7 | 0x48,
+ 65354 - 65281: jis0208<<14 | 0x02<<7 | 0x49,
+ 65355 - 65281: jis0208<<14 | 0x02<<7 | 0x4A,
+ 65356 - 65281: jis0208<<14 | 0x02<<7 | 0x4B,
+ 65357 - 65281: jis0208<<14 | 0x02<<7 | 0x4C,
+ 65358 - 65281: jis0208<<14 | 0x02<<7 | 0x4D,
+ 65359 - 65281: jis0208<<14 | 0x02<<7 | 0x4E,
+ 65360 - 65281: jis0208<<14 | 0x02<<7 | 0x4F,
+ 65361 - 65281: jis0208<<14 | 0x02<<7 | 0x50,
+ 65362 - 65281: jis0208<<14 | 0x02<<7 | 0x51,
+ 65363 - 65281: jis0208<<14 | 0x02<<7 | 0x52,
+ 65364 - 65281: jis0208<<14 | 0x02<<7 | 0x53,
+ 65365 - 65281: jis0208<<14 | 0x02<<7 | 0x54,
+ 65366 - 65281: jis0208<<14 | 0x02<<7 | 0x55,
+ 65367 - 65281: jis0208<<14 | 0x02<<7 | 0x56,
+ 65368 - 65281: jis0208<<14 | 0x02<<7 | 0x57,
+ 65369 - 65281: jis0208<<14 | 0x02<<7 | 0x58,
+ 65370 - 65281: jis0208<<14 | 0x02<<7 | 0x59,
+ 65371 - 65281: jis0208<<14 | 0x00<<7 | 0x2F,
+ 65372 - 65281: jis0208<<14 | 0x00<<7 | 0x22,
+ 65373 - 65281: jis0208<<14 | 0x00<<7 | 0x30,
+ 65374 - 65281: jis0208<<14 | 0x00<<7 | 0x20,
+ 65504 - 65281: jis0208<<14 | 0x00<<7 | 0x50,
+ 65505 - 65281: jis0208<<14 | 0x00<<7 | 0x51,
+ 65506 - 65281: jis0208<<14 | 0x01<<7 | 0x2B,
+ 65507 - 65281: jis0208<<14 | 0x00<<7 | 0x10,
+ 65508 - 65281: jis0208<<14 | 0x5B<<7 | 0x5B,
+ 65509 - 65281: jis0208<<14 | 0x00<<7 | 0x4E,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/euckr.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/euckr.go
new file mode 100644
index 00000000..034337f5
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/euckr.go
@@ -0,0 +1,177 @@
+// 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 korean
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// All is a list of all defined encodings in this package.
+var All = []encoding.Encoding{EUCKR}
+
+// EUCKR is the EUC-KR encoding, also known as Code Page 949.
+var EUCKR encoding.Encoding = &eucKR
+
+var eucKR = internal.Encoding{
+ &internal.SimpleEncoding{eucKRDecoder{}, eucKREncoder{}},
+ "EUC-KR",
+ identifier.EUCKR,
+}
+
+type eucKRDecoder struct{ transform.NopResetter }
+
+func (eucKRDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ switch c0 := src[nSrc]; {
+ case c0 < utf8.RuneSelf:
+ r, size = rune(c0), 1
+
+ case 0x81 <= c0 && c0 < 0xff:
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ break
+ }
+ c1 := src[nSrc+1]
+ size = 2
+ if c0 < 0xc7 {
+ r = 178 * rune(c0-0x81)
+ switch {
+ case 0x41 <= c1 && c1 < 0x5b:
+ r += rune(c1) - (0x41 - 0*26)
+ case 0x61 <= c1 && c1 < 0x7b:
+ r += rune(c1) - (0x61 - 1*26)
+ case 0x81 <= c1 && c1 < 0xff:
+ r += rune(c1) - (0x81 - 2*26)
+ default:
+ goto decError
+ }
+ } else if 0xa1 <= c1 && c1 < 0xff {
+ r = 178*(0xc7-0x81) + rune(c0-0xc7)*94 + rune(c1-0xa1)
+ } else {
+ goto decError
+ }
+ if int(r) < len(decode) {
+ r = rune(decode[r])
+ if r != 0 {
+ break
+ }
+ }
+ decError:
+ r = utf8.RuneError
+ if c1 < utf8.RuneSelf {
+ size = 1
+ }
+
+ default:
+ r, size = utf8.RuneError, 1
+ break
+ }
+
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type eucKREncoder struct{ transform.NopResetter }
+
+func (eucKREncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r != 0 {
+ goto write2
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r != 0 {
+ goto write2
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r != 0 {
+ goto write2
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r != 0 {
+ goto write2
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r != 0 {
+ goto write2
+ }
+ case encode5Low <= r && r < encode5High:
+ if r = rune(encode5[r-encode5Low]); r != 0 {
+ goto write2
+ }
+ case encode6Low <= r && r < encode6High:
+ if r = rune(encode6[r-encode6Low]); r != 0 {
+ goto write2
+ }
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ write2:
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = uint8(r >> 8)
+ dst[nDst+1] = uint8(r)
+ nDst += 2
+ continue
+ }
+ return nDst, nSrc, err
+}
+
+func init() {
+ // Check that the hard-coded encode switch covers all tables.
+ if numEncodeTables != 7 {
+ panic("bad numEncodeTables")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/tables.go
new file mode 100644
index 00000000..0480e85c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/korean/tables.go
@@ -0,0 +1,34152 @@
+// generated by go run maketables.go; DO NOT EDIT
+
+// Package korean provides Korean encodings such as EUC-KR.
+package korean // import "golang.org/x/text/encoding/korean"
+
+// decode is the decoding table from EUC-KR code to Unicode.
+// It is defined at http://encoding.spec.whatwg.org/index-euc-kr.txt
+var decode = [...]uint16{
+ 0: 0xAC02,
+ 1: 0xAC03,
+ 2: 0xAC05,
+ 3: 0xAC06,
+ 4: 0xAC0B,
+ 5: 0xAC0C,
+ 6: 0xAC0D,
+ 7: 0xAC0E,
+ 8: 0xAC0F,
+ 9: 0xAC18,
+ 10: 0xAC1E,
+ 11: 0xAC1F,
+ 12: 0xAC21,
+ 13: 0xAC22,
+ 14: 0xAC23,
+ 15: 0xAC25,
+ 16: 0xAC26,
+ 17: 0xAC27,
+ 18: 0xAC28,
+ 19: 0xAC29,
+ 20: 0xAC2A,
+ 21: 0xAC2B,
+ 22: 0xAC2E,
+ 23: 0xAC32,
+ 24: 0xAC33,
+ 25: 0xAC34,
+ 26: 0xAC35,
+ 27: 0xAC36,
+ 28: 0xAC37,
+ 29: 0xAC3A,
+ 30: 0xAC3B,
+ 31: 0xAC3D,
+ 32: 0xAC3E,
+ 33: 0xAC3F,
+ 34: 0xAC41,
+ 35: 0xAC42,
+ 36: 0xAC43,
+ 37: 0xAC44,
+ 38: 0xAC45,
+ 39: 0xAC46,
+ 40: 0xAC47,
+ 41: 0xAC48,
+ 42: 0xAC49,
+ 43: 0xAC4A,
+ 44: 0xAC4C,
+ 45: 0xAC4E,
+ 46: 0xAC4F,
+ 47: 0xAC50,
+ 48: 0xAC51,
+ 49: 0xAC52,
+ 50: 0xAC53,
+ 51: 0xAC55,
+ 52: 0xAC56,
+ 53: 0xAC57,
+ 54: 0xAC59,
+ 55: 0xAC5A,
+ 56: 0xAC5B,
+ 57: 0xAC5D,
+ 58: 0xAC5E,
+ 59: 0xAC5F,
+ 60: 0xAC60,
+ 61: 0xAC61,
+ 62: 0xAC62,
+ 63: 0xAC63,
+ 64: 0xAC64,
+ 65: 0xAC65,
+ 66: 0xAC66,
+ 67: 0xAC67,
+ 68: 0xAC68,
+ 69: 0xAC69,
+ 70: 0xAC6A,
+ 71: 0xAC6B,
+ 72: 0xAC6C,
+ 73: 0xAC6D,
+ 74: 0xAC6E,
+ 75: 0xAC6F,
+ 76: 0xAC72,
+ 77: 0xAC73,
+ 78: 0xAC75,
+ 79: 0xAC76,
+ 80: 0xAC79,
+ 81: 0xAC7B,
+ 82: 0xAC7C,
+ 83: 0xAC7D,
+ 84: 0xAC7E,
+ 85: 0xAC7F,
+ 86: 0xAC82,
+ 87: 0xAC87,
+ 88: 0xAC88,
+ 89: 0xAC8D,
+ 90: 0xAC8E,
+ 91: 0xAC8F,
+ 92: 0xAC91,
+ 93: 0xAC92,
+ 94: 0xAC93,
+ 95: 0xAC95,
+ 96: 0xAC96,
+ 97: 0xAC97,
+ 98: 0xAC98,
+ 99: 0xAC99,
+ 100: 0xAC9A,
+ 101: 0xAC9B,
+ 102: 0xAC9E,
+ 103: 0xACA2,
+ 104: 0xACA3,
+ 105: 0xACA4,
+ 106: 0xACA5,
+ 107: 0xACA6,
+ 108: 0xACA7,
+ 109: 0xACAB,
+ 110: 0xACAD,
+ 111: 0xACAE,
+ 112: 0xACB1,
+ 113: 0xACB2,
+ 114: 0xACB3,
+ 115: 0xACB4,
+ 116: 0xACB5,
+ 117: 0xACB6,
+ 118: 0xACB7,
+ 119: 0xACBA,
+ 120: 0xACBE,
+ 121: 0xACBF,
+ 122: 0xACC0,
+ 123: 0xACC2,
+ 124: 0xACC3,
+ 125: 0xACC5,
+ 126: 0xACC6,
+ 127: 0xACC7,
+ 128: 0xACC9,
+ 129: 0xACCA,
+ 130: 0xACCB,
+ 131: 0xACCD,
+ 132: 0xACCE,
+ 133: 0xACCF,
+ 134: 0xACD0,
+ 135: 0xACD1,
+ 136: 0xACD2,
+ 137: 0xACD3,
+ 138: 0xACD4,
+ 139: 0xACD6,
+ 140: 0xACD8,
+ 141: 0xACD9,
+ 142: 0xACDA,
+ 143: 0xACDB,
+ 144: 0xACDC,
+ 145: 0xACDD,
+ 146: 0xACDE,
+ 147: 0xACDF,
+ 148: 0xACE2,
+ 149: 0xACE3,
+ 150: 0xACE5,
+ 151: 0xACE6,
+ 152: 0xACE9,
+ 153: 0xACEB,
+ 154: 0xACED,
+ 155: 0xACEE,
+ 156: 0xACF2,
+ 157: 0xACF4,
+ 158: 0xACF7,
+ 159: 0xACF8,
+ 160: 0xACF9,
+ 161: 0xACFA,
+ 162: 0xACFB,
+ 163: 0xACFE,
+ 164: 0xACFF,
+ 165: 0xAD01,
+ 166: 0xAD02,
+ 167: 0xAD03,
+ 168: 0xAD05,
+ 169: 0xAD07,
+ 170: 0xAD08,
+ 171: 0xAD09,
+ 172: 0xAD0A,
+ 173: 0xAD0B,
+ 174: 0xAD0E,
+ 175: 0xAD10,
+ 176: 0xAD12,
+ 177: 0xAD13,
+ 178: 0xAD14,
+ 179: 0xAD15,
+ 180: 0xAD16,
+ 181: 0xAD17,
+ 182: 0xAD19,
+ 183: 0xAD1A,
+ 184: 0xAD1B,
+ 185: 0xAD1D,
+ 186: 0xAD1E,
+ 187: 0xAD1F,
+ 188: 0xAD21,
+ 189: 0xAD22,
+ 190: 0xAD23,
+ 191: 0xAD24,
+ 192: 0xAD25,
+ 193: 0xAD26,
+ 194: 0xAD27,
+ 195: 0xAD28,
+ 196: 0xAD2A,
+ 197: 0xAD2B,
+ 198: 0xAD2E,
+ 199: 0xAD2F,
+ 200: 0xAD30,
+ 201: 0xAD31,
+ 202: 0xAD32,
+ 203: 0xAD33,
+ 204: 0xAD36,
+ 205: 0xAD37,
+ 206: 0xAD39,
+ 207: 0xAD3A,
+ 208: 0xAD3B,
+ 209: 0xAD3D,
+ 210: 0xAD3E,
+ 211: 0xAD3F,
+ 212: 0xAD40,
+ 213: 0xAD41,
+ 214: 0xAD42,
+ 215: 0xAD43,
+ 216: 0xAD46,
+ 217: 0xAD48,
+ 218: 0xAD4A,
+ 219: 0xAD4B,
+ 220: 0xAD4C,
+ 221: 0xAD4D,
+ 222: 0xAD4E,
+ 223: 0xAD4F,
+ 224: 0xAD51,
+ 225: 0xAD52,
+ 226: 0xAD53,
+ 227: 0xAD55,
+ 228: 0xAD56,
+ 229: 0xAD57,
+ 230: 0xAD59,
+ 231: 0xAD5A,
+ 232: 0xAD5B,
+ 233: 0xAD5C,
+ 234: 0xAD5D,
+ 235: 0xAD5E,
+ 236: 0xAD5F,
+ 237: 0xAD60,
+ 238: 0xAD62,
+ 239: 0xAD64,
+ 240: 0xAD65,
+ 241: 0xAD66,
+ 242: 0xAD67,
+ 243: 0xAD68,
+ 244: 0xAD69,
+ 245: 0xAD6A,
+ 246: 0xAD6B,
+ 247: 0xAD6E,
+ 248: 0xAD6F,
+ 249: 0xAD71,
+ 250: 0xAD72,
+ 251: 0xAD77,
+ 252: 0xAD78,
+ 253: 0xAD79,
+ 254: 0xAD7A,
+ 255: 0xAD7E,
+ 256: 0xAD80,
+ 257: 0xAD83,
+ 258: 0xAD84,
+ 259: 0xAD85,
+ 260: 0xAD86,
+ 261: 0xAD87,
+ 262: 0xAD8A,
+ 263: 0xAD8B,
+ 264: 0xAD8D,
+ 265: 0xAD8E,
+ 266: 0xAD8F,
+ 267: 0xAD91,
+ 268: 0xAD92,
+ 269: 0xAD93,
+ 270: 0xAD94,
+ 271: 0xAD95,
+ 272: 0xAD96,
+ 273: 0xAD97,
+ 274: 0xAD98,
+ 275: 0xAD99,
+ 276: 0xAD9A,
+ 277: 0xAD9B,
+ 278: 0xAD9E,
+ 279: 0xAD9F,
+ 280: 0xADA0,
+ 281: 0xADA1,
+ 282: 0xADA2,
+ 283: 0xADA3,
+ 284: 0xADA5,
+ 285: 0xADA6,
+ 286: 0xADA7,
+ 287: 0xADA8,
+ 288: 0xADA9,
+ 289: 0xADAA,
+ 290: 0xADAB,
+ 291: 0xADAC,
+ 292: 0xADAD,
+ 293: 0xADAE,
+ 294: 0xADAF,
+ 295: 0xADB0,
+ 296: 0xADB1,
+ 297: 0xADB2,
+ 298: 0xADB3,
+ 299: 0xADB4,
+ 300: 0xADB5,
+ 301: 0xADB6,
+ 302: 0xADB8,
+ 303: 0xADB9,
+ 304: 0xADBA,
+ 305: 0xADBB,
+ 306: 0xADBC,
+ 307: 0xADBD,
+ 308: 0xADBE,
+ 309: 0xADBF,
+ 310: 0xADC2,
+ 311: 0xADC3,
+ 312: 0xADC5,
+ 313: 0xADC6,
+ 314: 0xADC7,
+ 315: 0xADC9,
+ 316: 0xADCA,
+ 317: 0xADCB,
+ 318: 0xADCC,
+ 319: 0xADCD,
+ 320: 0xADCE,
+ 321: 0xADCF,
+ 322: 0xADD2,
+ 323: 0xADD4,
+ 324: 0xADD5,
+ 325: 0xADD6,
+ 326: 0xADD7,
+ 327: 0xADD8,
+ 328: 0xADD9,
+ 329: 0xADDA,
+ 330: 0xADDB,
+ 331: 0xADDD,
+ 332: 0xADDE,
+ 333: 0xADDF,
+ 334: 0xADE1,
+ 335: 0xADE2,
+ 336: 0xADE3,
+ 337: 0xADE5,
+ 338: 0xADE6,
+ 339: 0xADE7,
+ 340: 0xADE8,
+ 341: 0xADE9,
+ 342: 0xADEA,
+ 343: 0xADEB,
+ 344: 0xADEC,
+ 345: 0xADED,
+ 346: 0xADEE,
+ 347: 0xADEF,
+ 348: 0xADF0,
+ 349: 0xADF1,
+ 350: 0xADF2,
+ 351: 0xADF3,
+ 352: 0xADF4,
+ 353: 0xADF5,
+ 354: 0xADF6,
+ 355: 0xADF7,
+ 356: 0xADFA,
+ 357: 0xADFB,
+ 358: 0xADFD,
+ 359: 0xADFE,
+ 360: 0xAE02,
+ 361: 0xAE03,
+ 362: 0xAE04,
+ 363: 0xAE05,
+ 364: 0xAE06,
+ 365: 0xAE07,
+ 366: 0xAE0A,
+ 367: 0xAE0C,
+ 368: 0xAE0E,
+ 369: 0xAE0F,
+ 370: 0xAE10,
+ 371: 0xAE11,
+ 372: 0xAE12,
+ 373: 0xAE13,
+ 374: 0xAE15,
+ 375: 0xAE16,
+ 376: 0xAE17,
+ 377: 0xAE18,
+ 378: 0xAE19,
+ 379: 0xAE1A,
+ 380: 0xAE1B,
+ 381: 0xAE1C,
+ 382: 0xAE1D,
+ 383: 0xAE1E,
+ 384: 0xAE1F,
+ 385: 0xAE20,
+ 386: 0xAE21,
+ 387: 0xAE22,
+ 388: 0xAE23,
+ 389: 0xAE24,
+ 390: 0xAE25,
+ 391: 0xAE26,
+ 392: 0xAE27,
+ 393: 0xAE28,
+ 394: 0xAE29,
+ 395: 0xAE2A,
+ 396: 0xAE2B,
+ 397: 0xAE2C,
+ 398: 0xAE2D,
+ 399: 0xAE2E,
+ 400: 0xAE2F,
+ 401: 0xAE32,
+ 402: 0xAE33,
+ 403: 0xAE35,
+ 404: 0xAE36,
+ 405: 0xAE39,
+ 406: 0xAE3B,
+ 407: 0xAE3C,
+ 408: 0xAE3D,
+ 409: 0xAE3E,
+ 410: 0xAE3F,
+ 411: 0xAE42,
+ 412: 0xAE44,
+ 413: 0xAE47,
+ 414: 0xAE48,
+ 415: 0xAE49,
+ 416: 0xAE4B,
+ 417: 0xAE4F,
+ 418: 0xAE51,
+ 419: 0xAE52,
+ 420: 0xAE53,
+ 421: 0xAE55,
+ 422: 0xAE57,
+ 423: 0xAE58,
+ 424: 0xAE59,
+ 425: 0xAE5A,
+ 426: 0xAE5B,
+ 427: 0xAE5E,
+ 428: 0xAE62,
+ 429: 0xAE63,
+ 430: 0xAE64,
+ 431: 0xAE66,
+ 432: 0xAE67,
+ 433: 0xAE6A,
+ 434: 0xAE6B,
+ 435: 0xAE6D,
+ 436: 0xAE6E,
+ 437: 0xAE6F,
+ 438: 0xAE71,
+ 439: 0xAE72,
+ 440: 0xAE73,
+ 441: 0xAE74,
+ 442: 0xAE75,
+ 443: 0xAE76,
+ 444: 0xAE77,
+ 445: 0xAE7A,
+ 446: 0xAE7E,
+ 447: 0xAE7F,
+ 448: 0xAE80,
+ 449: 0xAE81,
+ 450: 0xAE82,
+ 451: 0xAE83,
+ 452: 0xAE86,
+ 453: 0xAE87,
+ 454: 0xAE88,
+ 455: 0xAE89,
+ 456: 0xAE8A,
+ 457: 0xAE8B,
+ 458: 0xAE8D,
+ 459: 0xAE8E,
+ 460: 0xAE8F,
+ 461: 0xAE90,
+ 462: 0xAE91,
+ 463: 0xAE92,
+ 464: 0xAE93,
+ 465: 0xAE94,
+ 466: 0xAE95,
+ 467: 0xAE96,
+ 468: 0xAE97,
+ 469: 0xAE98,
+ 470: 0xAE99,
+ 471: 0xAE9A,
+ 472: 0xAE9B,
+ 473: 0xAE9C,
+ 474: 0xAE9D,
+ 475: 0xAE9E,
+ 476: 0xAE9F,
+ 477: 0xAEA0,
+ 478: 0xAEA1,
+ 479: 0xAEA2,
+ 480: 0xAEA3,
+ 481: 0xAEA4,
+ 482: 0xAEA5,
+ 483: 0xAEA6,
+ 484: 0xAEA7,
+ 485: 0xAEA8,
+ 486: 0xAEA9,
+ 487: 0xAEAA,
+ 488: 0xAEAB,
+ 489: 0xAEAC,
+ 490: 0xAEAD,
+ 491: 0xAEAE,
+ 492: 0xAEAF,
+ 493: 0xAEB0,
+ 494: 0xAEB1,
+ 495: 0xAEB2,
+ 496: 0xAEB3,
+ 497: 0xAEB4,
+ 498: 0xAEB5,
+ 499: 0xAEB6,
+ 500: 0xAEB7,
+ 501: 0xAEB8,
+ 502: 0xAEB9,
+ 503: 0xAEBA,
+ 504: 0xAEBB,
+ 505: 0xAEBF,
+ 506: 0xAEC1,
+ 507: 0xAEC2,
+ 508: 0xAEC3,
+ 509: 0xAEC5,
+ 510: 0xAEC6,
+ 511: 0xAEC7,
+ 512: 0xAEC8,
+ 513: 0xAEC9,
+ 514: 0xAECA,
+ 515: 0xAECB,
+ 516: 0xAECE,
+ 517: 0xAED2,
+ 518: 0xAED3,
+ 519: 0xAED4,
+ 520: 0xAED5,
+ 521: 0xAED6,
+ 522: 0xAED7,
+ 523: 0xAEDA,
+ 524: 0xAEDB,
+ 525: 0xAEDD,
+ 526: 0xAEDE,
+ 527: 0xAEDF,
+ 528: 0xAEE0,
+ 529: 0xAEE1,
+ 530: 0xAEE2,
+ 531: 0xAEE3,
+ 532: 0xAEE4,
+ 533: 0xAEE5,
+ 534: 0xAEE6,
+ 535: 0xAEE7,
+ 536: 0xAEE9,
+ 537: 0xAEEA,
+ 538: 0xAEEC,
+ 539: 0xAEEE,
+ 540: 0xAEEF,
+ 541: 0xAEF0,
+ 542: 0xAEF1,
+ 543: 0xAEF2,
+ 544: 0xAEF3,
+ 545: 0xAEF5,
+ 546: 0xAEF6,
+ 547: 0xAEF7,
+ 548: 0xAEF9,
+ 549: 0xAEFA,
+ 550: 0xAEFB,
+ 551: 0xAEFD,
+ 552: 0xAEFE,
+ 553: 0xAEFF,
+ 554: 0xAF00,
+ 555: 0xAF01,
+ 556: 0xAF02,
+ 557: 0xAF03,
+ 558: 0xAF04,
+ 559: 0xAF05,
+ 560: 0xAF06,
+ 561: 0xAF09,
+ 562: 0xAF0A,
+ 563: 0xAF0B,
+ 564: 0xAF0C,
+ 565: 0xAF0E,
+ 566: 0xAF0F,
+ 567: 0xAF11,
+ 568: 0xAF12,
+ 569: 0xAF13,
+ 570: 0xAF14,
+ 571: 0xAF15,
+ 572: 0xAF16,
+ 573: 0xAF17,
+ 574: 0xAF18,
+ 575: 0xAF19,
+ 576: 0xAF1A,
+ 577: 0xAF1B,
+ 578: 0xAF1C,
+ 579: 0xAF1D,
+ 580: 0xAF1E,
+ 581: 0xAF1F,
+ 582: 0xAF20,
+ 583: 0xAF21,
+ 584: 0xAF22,
+ 585: 0xAF23,
+ 586: 0xAF24,
+ 587: 0xAF25,
+ 588: 0xAF26,
+ 589: 0xAF27,
+ 590: 0xAF28,
+ 591: 0xAF29,
+ 592: 0xAF2A,
+ 593: 0xAF2B,
+ 594: 0xAF2E,
+ 595: 0xAF2F,
+ 596: 0xAF31,
+ 597: 0xAF33,
+ 598: 0xAF35,
+ 599: 0xAF36,
+ 600: 0xAF37,
+ 601: 0xAF38,
+ 602: 0xAF39,
+ 603: 0xAF3A,
+ 604: 0xAF3B,
+ 605: 0xAF3E,
+ 606: 0xAF40,
+ 607: 0xAF44,
+ 608: 0xAF45,
+ 609: 0xAF46,
+ 610: 0xAF47,
+ 611: 0xAF4A,
+ 612: 0xAF4B,
+ 613: 0xAF4C,
+ 614: 0xAF4D,
+ 615: 0xAF4E,
+ 616: 0xAF4F,
+ 617: 0xAF51,
+ 618: 0xAF52,
+ 619: 0xAF53,
+ 620: 0xAF54,
+ 621: 0xAF55,
+ 622: 0xAF56,
+ 623: 0xAF57,
+ 624: 0xAF58,
+ 625: 0xAF59,
+ 626: 0xAF5A,
+ 627: 0xAF5B,
+ 628: 0xAF5E,
+ 629: 0xAF5F,
+ 630: 0xAF60,
+ 631: 0xAF61,
+ 632: 0xAF62,
+ 633: 0xAF63,
+ 634: 0xAF66,
+ 635: 0xAF67,
+ 636: 0xAF68,
+ 637: 0xAF69,
+ 638: 0xAF6A,
+ 639: 0xAF6B,
+ 640: 0xAF6C,
+ 641: 0xAF6D,
+ 642: 0xAF6E,
+ 643: 0xAF6F,
+ 644: 0xAF70,
+ 645: 0xAF71,
+ 646: 0xAF72,
+ 647: 0xAF73,
+ 648: 0xAF74,
+ 649: 0xAF75,
+ 650: 0xAF76,
+ 651: 0xAF77,
+ 652: 0xAF78,
+ 653: 0xAF7A,
+ 654: 0xAF7B,
+ 655: 0xAF7C,
+ 656: 0xAF7D,
+ 657: 0xAF7E,
+ 658: 0xAF7F,
+ 659: 0xAF81,
+ 660: 0xAF82,
+ 661: 0xAF83,
+ 662: 0xAF85,
+ 663: 0xAF86,
+ 664: 0xAF87,
+ 665: 0xAF89,
+ 666: 0xAF8A,
+ 667: 0xAF8B,
+ 668: 0xAF8C,
+ 669: 0xAF8D,
+ 670: 0xAF8E,
+ 671: 0xAF8F,
+ 672: 0xAF92,
+ 673: 0xAF93,
+ 674: 0xAF94,
+ 675: 0xAF96,
+ 676: 0xAF97,
+ 677: 0xAF98,
+ 678: 0xAF99,
+ 679: 0xAF9A,
+ 680: 0xAF9B,
+ 681: 0xAF9D,
+ 682: 0xAF9E,
+ 683: 0xAF9F,
+ 684: 0xAFA0,
+ 685: 0xAFA1,
+ 686: 0xAFA2,
+ 687: 0xAFA3,
+ 688: 0xAFA4,
+ 689: 0xAFA5,
+ 690: 0xAFA6,
+ 691: 0xAFA7,
+ 692: 0xAFA8,
+ 693: 0xAFA9,
+ 694: 0xAFAA,
+ 695: 0xAFAB,
+ 696: 0xAFAC,
+ 697: 0xAFAD,
+ 698: 0xAFAE,
+ 699: 0xAFAF,
+ 700: 0xAFB0,
+ 701: 0xAFB1,
+ 702: 0xAFB2,
+ 703: 0xAFB3,
+ 704: 0xAFB4,
+ 705: 0xAFB5,
+ 706: 0xAFB6,
+ 707: 0xAFB7,
+ 708: 0xAFBA,
+ 709: 0xAFBB,
+ 710: 0xAFBD,
+ 711: 0xAFBE,
+ 712: 0xAFBF,
+ 713: 0xAFC1,
+ 714: 0xAFC2,
+ 715: 0xAFC3,
+ 716: 0xAFC4,
+ 717: 0xAFC5,
+ 718: 0xAFC6,
+ 719: 0xAFCA,
+ 720: 0xAFCC,
+ 721: 0xAFCF,
+ 722: 0xAFD0,
+ 723: 0xAFD1,
+ 724: 0xAFD2,
+ 725: 0xAFD3,
+ 726: 0xAFD5,
+ 727: 0xAFD6,
+ 728: 0xAFD7,
+ 729: 0xAFD8,
+ 730: 0xAFD9,
+ 731: 0xAFDA,
+ 732: 0xAFDB,
+ 733: 0xAFDD,
+ 734: 0xAFDE,
+ 735: 0xAFDF,
+ 736: 0xAFE0,
+ 737: 0xAFE1,
+ 738: 0xAFE2,
+ 739: 0xAFE3,
+ 740: 0xAFE4,
+ 741: 0xAFE5,
+ 742: 0xAFE6,
+ 743: 0xAFE7,
+ 744: 0xAFEA,
+ 745: 0xAFEB,
+ 746: 0xAFEC,
+ 747: 0xAFED,
+ 748: 0xAFEE,
+ 749: 0xAFEF,
+ 750: 0xAFF2,
+ 751: 0xAFF3,
+ 752: 0xAFF5,
+ 753: 0xAFF6,
+ 754: 0xAFF7,
+ 755: 0xAFF9,
+ 756: 0xAFFA,
+ 757: 0xAFFB,
+ 758: 0xAFFC,
+ 759: 0xAFFD,
+ 760: 0xAFFE,
+ 761: 0xAFFF,
+ 762: 0xB002,
+ 763: 0xB003,
+ 764: 0xB005,
+ 765: 0xB006,
+ 766: 0xB007,
+ 767: 0xB008,
+ 768: 0xB009,
+ 769: 0xB00A,
+ 770: 0xB00B,
+ 771: 0xB00D,
+ 772: 0xB00E,
+ 773: 0xB00F,
+ 774: 0xB011,
+ 775: 0xB012,
+ 776: 0xB013,
+ 777: 0xB015,
+ 778: 0xB016,
+ 779: 0xB017,
+ 780: 0xB018,
+ 781: 0xB019,
+ 782: 0xB01A,
+ 783: 0xB01B,
+ 784: 0xB01E,
+ 785: 0xB01F,
+ 786: 0xB020,
+ 787: 0xB021,
+ 788: 0xB022,
+ 789: 0xB023,
+ 790: 0xB024,
+ 791: 0xB025,
+ 792: 0xB026,
+ 793: 0xB027,
+ 794: 0xB029,
+ 795: 0xB02A,
+ 796: 0xB02B,
+ 797: 0xB02C,
+ 798: 0xB02D,
+ 799: 0xB02E,
+ 800: 0xB02F,
+ 801: 0xB030,
+ 802: 0xB031,
+ 803: 0xB032,
+ 804: 0xB033,
+ 805: 0xB034,
+ 806: 0xB035,
+ 807: 0xB036,
+ 808: 0xB037,
+ 809: 0xB038,
+ 810: 0xB039,
+ 811: 0xB03A,
+ 812: 0xB03B,
+ 813: 0xB03C,
+ 814: 0xB03D,
+ 815: 0xB03E,
+ 816: 0xB03F,
+ 817: 0xB040,
+ 818: 0xB041,
+ 819: 0xB042,
+ 820: 0xB043,
+ 821: 0xB046,
+ 822: 0xB047,
+ 823: 0xB049,
+ 824: 0xB04B,
+ 825: 0xB04D,
+ 826: 0xB04F,
+ 827: 0xB050,
+ 828: 0xB051,
+ 829: 0xB052,
+ 830: 0xB056,
+ 831: 0xB058,
+ 832: 0xB05A,
+ 833: 0xB05B,
+ 834: 0xB05C,
+ 835: 0xB05E,
+ 836: 0xB05F,
+ 837: 0xB060,
+ 838: 0xB061,
+ 839: 0xB062,
+ 840: 0xB063,
+ 841: 0xB064,
+ 842: 0xB065,
+ 843: 0xB066,
+ 844: 0xB067,
+ 845: 0xB068,
+ 846: 0xB069,
+ 847: 0xB06A,
+ 848: 0xB06B,
+ 849: 0xB06C,
+ 850: 0xB06D,
+ 851: 0xB06E,
+ 852: 0xB06F,
+ 853: 0xB070,
+ 854: 0xB071,
+ 855: 0xB072,
+ 856: 0xB073,
+ 857: 0xB074,
+ 858: 0xB075,
+ 859: 0xB076,
+ 860: 0xB077,
+ 861: 0xB078,
+ 862: 0xB079,
+ 863: 0xB07A,
+ 864: 0xB07B,
+ 865: 0xB07E,
+ 866: 0xB07F,
+ 867: 0xB081,
+ 868: 0xB082,
+ 869: 0xB083,
+ 870: 0xB085,
+ 871: 0xB086,
+ 872: 0xB087,
+ 873: 0xB088,
+ 874: 0xB089,
+ 875: 0xB08A,
+ 876: 0xB08B,
+ 877: 0xB08E,
+ 878: 0xB090,
+ 879: 0xB092,
+ 880: 0xB093,
+ 881: 0xB094,
+ 882: 0xB095,
+ 883: 0xB096,
+ 884: 0xB097,
+ 885: 0xB09B,
+ 886: 0xB09D,
+ 887: 0xB09E,
+ 888: 0xB0A3,
+ 889: 0xB0A4,
+ 890: 0xB0A5,
+ 891: 0xB0A6,
+ 892: 0xB0A7,
+ 893: 0xB0AA,
+ 894: 0xB0B0,
+ 895: 0xB0B2,
+ 896: 0xB0B6,
+ 897: 0xB0B7,
+ 898: 0xB0B9,
+ 899: 0xB0BA,
+ 900: 0xB0BB,
+ 901: 0xB0BD,
+ 902: 0xB0BE,
+ 903: 0xB0BF,
+ 904: 0xB0C0,
+ 905: 0xB0C1,
+ 906: 0xB0C2,
+ 907: 0xB0C3,
+ 908: 0xB0C6,
+ 909: 0xB0CA,
+ 910: 0xB0CB,
+ 911: 0xB0CC,
+ 912: 0xB0CD,
+ 913: 0xB0CE,
+ 914: 0xB0CF,
+ 915: 0xB0D2,
+ 916: 0xB0D3,
+ 917: 0xB0D5,
+ 918: 0xB0D6,
+ 919: 0xB0D7,
+ 920: 0xB0D9,
+ 921: 0xB0DA,
+ 922: 0xB0DB,
+ 923: 0xB0DC,
+ 924: 0xB0DD,
+ 925: 0xB0DE,
+ 926: 0xB0DF,
+ 927: 0xB0E1,
+ 928: 0xB0E2,
+ 929: 0xB0E3,
+ 930: 0xB0E4,
+ 931: 0xB0E6,
+ 932: 0xB0E7,
+ 933: 0xB0E8,
+ 934: 0xB0E9,
+ 935: 0xB0EA,
+ 936: 0xB0EB,
+ 937: 0xB0EC,
+ 938: 0xB0ED,
+ 939: 0xB0EE,
+ 940: 0xB0EF,
+ 941: 0xB0F0,
+ 942: 0xB0F1,
+ 943: 0xB0F2,
+ 944: 0xB0F3,
+ 945: 0xB0F4,
+ 946: 0xB0F5,
+ 947: 0xB0F6,
+ 948: 0xB0F7,
+ 949: 0xB0F8,
+ 950: 0xB0F9,
+ 951: 0xB0FA,
+ 952: 0xB0FB,
+ 953: 0xB0FC,
+ 954: 0xB0FD,
+ 955: 0xB0FE,
+ 956: 0xB0FF,
+ 957: 0xB100,
+ 958: 0xB101,
+ 959: 0xB102,
+ 960: 0xB103,
+ 961: 0xB104,
+ 962: 0xB105,
+ 963: 0xB106,
+ 964: 0xB107,
+ 965: 0xB10A,
+ 966: 0xB10D,
+ 967: 0xB10E,
+ 968: 0xB10F,
+ 969: 0xB111,
+ 970: 0xB114,
+ 971: 0xB115,
+ 972: 0xB116,
+ 973: 0xB117,
+ 974: 0xB11A,
+ 975: 0xB11E,
+ 976: 0xB11F,
+ 977: 0xB120,
+ 978: 0xB121,
+ 979: 0xB122,
+ 980: 0xB126,
+ 981: 0xB127,
+ 982: 0xB129,
+ 983: 0xB12A,
+ 984: 0xB12B,
+ 985: 0xB12D,
+ 986: 0xB12E,
+ 987: 0xB12F,
+ 988: 0xB130,
+ 989: 0xB131,
+ 990: 0xB132,
+ 991: 0xB133,
+ 992: 0xB136,
+ 993: 0xB13A,
+ 994: 0xB13B,
+ 995: 0xB13C,
+ 996: 0xB13D,
+ 997: 0xB13E,
+ 998: 0xB13F,
+ 999: 0xB142,
+ 1000: 0xB143,
+ 1001: 0xB145,
+ 1002: 0xB146,
+ 1003: 0xB147,
+ 1004: 0xB149,
+ 1005: 0xB14A,
+ 1006: 0xB14B,
+ 1007: 0xB14C,
+ 1008: 0xB14D,
+ 1009: 0xB14E,
+ 1010: 0xB14F,
+ 1011: 0xB152,
+ 1012: 0xB153,
+ 1013: 0xB156,
+ 1014: 0xB157,
+ 1015: 0xB159,
+ 1016: 0xB15A,
+ 1017: 0xB15B,
+ 1018: 0xB15D,
+ 1019: 0xB15E,
+ 1020: 0xB15F,
+ 1021: 0xB161,
+ 1022: 0xB162,
+ 1023: 0xB163,
+ 1024: 0xB164,
+ 1025: 0xB165,
+ 1026: 0xB166,
+ 1027: 0xB167,
+ 1028: 0xB168,
+ 1029: 0xB169,
+ 1030: 0xB16A,
+ 1031: 0xB16B,
+ 1032: 0xB16C,
+ 1033: 0xB16D,
+ 1034: 0xB16E,
+ 1035: 0xB16F,
+ 1036: 0xB170,
+ 1037: 0xB171,
+ 1038: 0xB172,
+ 1039: 0xB173,
+ 1040: 0xB174,
+ 1041: 0xB175,
+ 1042: 0xB176,
+ 1043: 0xB177,
+ 1044: 0xB17A,
+ 1045: 0xB17B,
+ 1046: 0xB17D,
+ 1047: 0xB17E,
+ 1048: 0xB17F,
+ 1049: 0xB181,
+ 1050: 0xB183,
+ 1051: 0xB184,
+ 1052: 0xB185,
+ 1053: 0xB186,
+ 1054: 0xB187,
+ 1055: 0xB18A,
+ 1056: 0xB18C,
+ 1057: 0xB18E,
+ 1058: 0xB18F,
+ 1059: 0xB190,
+ 1060: 0xB191,
+ 1061: 0xB195,
+ 1062: 0xB196,
+ 1063: 0xB197,
+ 1064: 0xB199,
+ 1065: 0xB19A,
+ 1066: 0xB19B,
+ 1067: 0xB19D,
+ 1068: 0xB19E,
+ 1069: 0xB19F,
+ 1070: 0xB1A0,
+ 1071: 0xB1A1,
+ 1072: 0xB1A2,
+ 1073: 0xB1A3,
+ 1074: 0xB1A4,
+ 1075: 0xB1A5,
+ 1076: 0xB1A6,
+ 1077: 0xB1A7,
+ 1078: 0xB1A9,
+ 1079: 0xB1AA,
+ 1080: 0xB1AB,
+ 1081: 0xB1AC,
+ 1082: 0xB1AD,
+ 1083: 0xB1AE,
+ 1084: 0xB1AF,
+ 1085: 0xB1B0,
+ 1086: 0xB1B1,
+ 1087: 0xB1B2,
+ 1088: 0xB1B3,
+ 1089: 0xB1B4,
+ 1090: 0xB1B5,
+ 1091: 0xB1B6,
+ 1092: 0xB1B7,
+ 1093: 0xB1B8,
+ 1094: 0xB1B9,
+ 1095: 0xB1BA,
+ 1096: 0xB1BB,
+ 1097: 0xB1BC,
+ 1098: 0xB1BD,
+ 1099: 0xB1BE,
+ 1100: 0xB1BF,
+ 1101: 0xB1C0,
+ 1102: 0xB1C1,
+ 1103: 0xB1C2,
+ 1104: 0xB1C3,
+ 1105: 0xB1C4,
+ 1106: 0xB1C5,
+ 1107: 0xB1C6,
+ 1108: 0xB1C7,
+ 1109: 0xB1C8,
+ 1110: 0xB1C9,
+ 1111: 0xB1CA,
+ 1112: 0xB1CB,
+ 1113: 0xB1CD,
+ 1114: 0xB1CE,
+ 1115: 0xB1CF,
+ 1116: 0xB1D1,
+ 1117: 0xB1D2,
+ 1118: 0xB1D3,
+ 1119: 0xB1D5,
+ 1120: 0xB1D6,
+ 1121: 0xB1D7,
+ 1122: 0xB1D8,
+ 1123: 0xB1D9,
+ 1124: 0xB1DA,
+ 1125: 0xB1DB,
+ 1126: 0xB1DE,
+ 1127: 0xB1E0,
+ 1128: 0xB1E1,
+ 1129: 0xB1E2,
+ 1130: 0xB1E3,
+ 1131: 0xB1E4,
+ 1132: 0xB1E5,
+ 1133: 0xB1E6,
+ 1134: 0xB1E7,
+ 1135: 0xB1EA,
+ 1136: 0xB1EB,
+ 1137: 0xB1ED,
+ 1138: 0xB1EE,
+ 1139: 0xB1EF,
+ 1140: 0xB1F1,
+ 1141: 0xB1F2,
+ 1142: 0xB1F3,
+ 1143: 0xB1F4,
+ 1144: 0xB1F5,
+ 1145: 0xB1F6,
+ 1146: 0xB1F7,
+ 1147: 0xB1F8,
+ 1148: 0xB1FA,
+ 1149: 0xB1FC,
+ 1150: 0xB1FE,
+ 1151: 0xB1FF,
+ 1152: 0xB200,
+ 1153: 0xB201,
+ 1154: 0xB202,
+ 1155: 0xB203,
+ 1156: 0xB206,
+ 1157: 0xB207,
+ 1158: 0xB209,
+ 1159: 0xB20A,
+ 1160: 0xB20D,
+ 1161: 0xB20E,
+ 1162: 0xB20F,
+ 1163: 0xB210,
+ 1164: 0xB211,
+ 1165: 0xB212,
+ 1166: 0xB213,
+ 1167: 0xB216,
+ 1168: 0xB218,
+ 1169: 0xB21A,
+ 1170: 0xB21B,
+ 1171: 0xB21C,
+ 1172: 0xB21D,
+ 1173: 0xB21E,
+ 1174: 0xB21F,
+ 1175: 0xB221,
+ 1176: 0xB222,
+ 1177: 0xB223,
+ 1178: 0xB224,
+ 1179: 0xB225,
+ 1180: 0xB226,
+ 1181: 0xB227,
+ 1182: 0xB228,
+ 1183: 0xB229,
+ 1184: 0xB22A,
+ 1185: 0xB22B,
+ 1186: 0xB22C,
+ 1187: 0xB22D,
+ 1188: 0xB22E,
+ 1189: 0xB22F,
+ 1190: 0xB230,
+ 1191: 0xB231,
+ 1192: 0xB232,
+ 1193: 0xB233,
+ 1194: 0xB235,
+ 1195: 0xB236,
+ 1196: 0xB237,
+ 1197: 0xB238,
+ 1198: 0xB239,
+ 1199: 0xB23A,
+ 1200: 0xB23B,
+ 1201: 0xB23D,
+ 1202: 0xB23E,
+ 1203: 0xB23F,
+ 1204: 0xB240,
+ 1205: 0xB241,
+ 1206: 0xB242,
+ 1207: 0xB243,
+ 1208: 0xB244,
+ 1209: 0xB245,
+ 1210: 0xB246,
+ 1211: 0xB247,
+ 1212: 0xB248,
+ 1213: 0xB249,
+ 1214: 0xB24A,
+ 1215: 0xB24B,
+ 1216: 0xB24C,
+ 1217: 0xB24D,
+ 1218: 0xB24E,
+ 1219: 0xB24F,
+ 1220: 0xB250,
+ 1221: 0xB251,
+ 1222: 0xB252,
+ 1223: 0xB253,
+ 1224: 0xB254,
+ 1225: 0xB255,
+ 1226: 0xB256,
+ 1227: 0xB257,
+ 1228: 0xB259,
+ 1229: 0xB25A,
+ 1230: 0xB25B,
+ 1231: 0xB25D,
+ 1232: 0xB25E,
+ 1233: 0xB25F,
+ 1234: 0xB261,
+ 1235: 0xB262,
+ 1236: 0xB263,
+ 1237: 0xB264,
+ 1238: 0xB265,
+ 1239: 0xB266,
+ 1240: 0xB267,
+ 1241: 0xB26A,
+ 1242: 0xB26B,
+ 1243: 0xB26C,
+ 1244: 0xB26D,
+ 1245: 0xB26E,
+ 1246: 0xB26F,
+ 1247: 0xB270,
+ 1248: 0xB271,
+ 1249: 0xB272,
+ 1250: 0xB273,
+ 1251: 0xB276,
+ 1252: 0xB277,
+ 1253: 0xB278,
+ 1254: 0xB279,
+ 1255: 0xB27A,
+ 1256: 0xB27B,
+ 1257: 0xB27D,
+ 1258: 0xB27E,
+ 1259: 0xB27F,
+ 1260: 0xB280,
+ 1261: 0xB281,
+ 1262: 0xB282,
+ 1263: 0xB283,
+ 1264: 0xB286,
+ 1265: 0xB287,
+ 1266: 0xB288,
+ 1267: 0xB28A,
+ 1268: 0xB28B,
+ 1269: 0xB28C,
+ 1270: 0xB28D,
+ 1271: 0xB28E,
+ 1272: 0xB28F,
+ 1273: 0xB292,
+ 1274: 0xB293,
+ 1275: 0xB295,
+ 1276: 0xB296,
+ 1277: 0xB297,
+ 1278: 0xB29B,
+ 1279: 0xB29C,
+ 1280: 0xB29D,
+ 1281: 0xB29E,
+ 1282: 0xB29F,
+ 1283: 0xB2A2,
+ 1284: 0xB2A4,
+ 1285: 0xB2A7,
+ 1286: 0xB2A8,
+ 1287: 0xB2A9,
+ 1288: 0xB2AB,
+ 1289: 0xB2AD,
+ 1290: 0xB2AE,
+ 1291: 0xB2AF,
+ 1292: 0xB2B1,
+ 1293: 0xB2B2,
+ 1294: 0xB2B3,
+ 1295: 0xB2B5,
+ 1296: 0xB2B6,
+ 1297: 0xB2B7,
+ 1298: 0xB2B8,
+ 1299: 0xB2B9,
+ 1300: 0xB2BA,
+ 1301: 0xB2BB,
+ 1302: 0xB2BC,
+ 1303: 0xB2BD,
+ 1304: 0xB2BE,
+ 1305: 0xB2BF,
+ 1306: 0xB2C0,
+ 1307: 0xB2C1,
+ 1308: 0xB2C2,
+ 1309: 0xB2C3,
+ 1310: 0xB2C4,
+ 1311: 0xB2C5,
+ 1312: 0xB2C6,
+ 1313: 0xB2C7,
+ 1314: 0xB2CA,
+ 1315: 0xB2CB,
+ 1316: 0xB2CD,
+ 1317: 0xB2CE,
+ 1318: 0xB2CF,
+ 1319: 0xB2D1,
+ 1320: 0xB2D3,
+ 1321: 0xB2D4,
+ 1322: 0xB2D5,
+ 1323: 0xB2D6,
+ 1324: 0xB2D7,
+ 1325: 0xB2DA,
+ 1326: 0xB2DC,
+ 1327: 0xB2DE,
+ 1328: 0xB2DF,
+ 1329: 0xB2E0,
+ 1330: 0xB2E1,
+ 1331: 0xB2E3,
+ 1332: 0xB2E7,
+ 1333: 0xB2E9,
+ 1334: 0xB2EA,
+ 1335: 0xB2F0,
+ 1336: 0xB2F1,
+ 1337: 0xB2F2,
+ 1338: 0xB2F6,
+ 1339: 0xB2FC,
+ 1340: 0xB2FD,
+ 1341: 0xB2FE,
+ 1342: 0xB302,
+ 1343: 0xB303,
+ 1344: 0xB305,
+ 1345: 0xB306,
+ 1346: 0xB307,
+ 1347: 0xB309,
+ 1348: 0xB30A,
+ 1349: 0xB30B,
+ 1350: 0xB30C,
+ 1351: 0xB30D,
+ 1352: 0xB30E,
+ 1353: 0xB30F,
+ 1354: 0xB312,
+ 1355: 0xB316,
+ 1356: 0xB317,
+ 1357: 0xB318,
+ 1358: 0xB319,
+ 1359: 0xB31A,
+ 1360: 0xB31B,
+ 1361: 0xB31D,
+ 1362: 0xB31E,
+ 1363: 0xB31F,
+ 1364: 0xB320,
+ 1365: 0xB321,
+ 1366: 0xB322,
+ 1367: 0xB323,
+ 1368: 0xB324,
+ 1369: 0xB325,
+ 1370: 0xB326,
+ 1371: 0xB327,
+ 1372: 0xB328,
+ 1373: 0xB329,
+ 1374: 0xB32A,
+ 1375: 0xB32B,
+ 1376: 0xB32C,
+ 1377: 0xB32D,
+ 1378: 0xB32E,
+ 1379: 0xB32F,
+ 1380: 0xB330,
+ 1381: 0xB331,
+ 1382: 0xB332,
+ 1383: 0xB333,
+ 1384: 0xB334,
+ 1385: 0xB335,
+ 1386: 0xB336,
+ 1387: 0xB337,
+ 1388: 0xB338,
+ 1389: 0xB339,
+ 1390: 0xB33A,
+ 1391: 0xB33B,
+ 1392: 0xB33C,
+ 1393: 0xB33D,
+ 1394: 0xB33E,
+ 1395: 0xB33F,
+ 1396: 0xB340,
+ 1397: 0xB341,
+ 1398: 0xB342,
+ 1399: 0xB343,
+ 1400: 0xB344,
+ 1401: 0xB345,
+ 1402: 0xB346,
+ 1403: 0xB347,
+ 1404: 0xB348,
+ 1405: 0xB349,
+ 1406: 0xB34A,
+ 1407: 0xB34B,
+ 1408: 0xB34C,
+ 1409: 0xB34D,
+ 1410: 0xB34E,
+ 1411: 0xB34F,
+ 1412: 0xB350,
+ 1413: 0xB351,
+ 1414: 0xB352,
+ 1415: 0xB353,
+ 1416: 0xB357,
+ 1417: 0xB359,
+ 1418: 0xB35A,
+ 1419: 0xB35D,
+ 1420: 0xB360,
+ 1421: 0xB361,
+ 1422: 0xB362,
+ 1423: 0xB363,
+ 1424: 0xB366,
+ 1425: 0xB368,
+ 1426: 0xB36A,
+ 1427: 0xB36C,
+ 1428: 0xB36D,
+ 1429: 0xB36F,
+ 1430: 0xB372,
+ 1431: 0xB373,
+ 1432: 0xB375,
+ 1433: 0xB376,
+ 1434: 0xB377,
+ 1435: 0xB379,
+ 1436: 0xB37A,
+ 1437: 0xB37B,
+ 1438: 0xB37C,
+ 1439: 0xB37D,
+ 1440: 0xB37E,
+ 1441: 0xB37F,
+ 1442: 0xB382,
+ 1443: 0xB386,
+ 1444: 0xB387,
+ 1445: 0xB388,
+ 1446: 0xB389,
+ 1447: 0xB38A,
+ 1448: 0xB38B,
+ 1449: 0xB38D,
+ 1450: 0xB38E,
+ 1451: 0xB38F,
+ 1452: 0xB391,
+ 1453: 0xB392,
+ 1454: 0xB393,
+ 1455: 0xB395,
+ 1456: 0xB396,
+ 1457: 0xB397,
+ 1458: 0xB398,
+ 1459: 0xB399,
+ 1460: 0xB39A,
+ 1461: 0xB39B,
+ 1462: 0xB39C,
+ 1463: 0xB39D,
+ 1464: 0xB39E,
+ 1465: 0xB39F,
+ 1466: 0xB3A2,
+ 1467: 0xB3A3,
+ 1468: 0xB3A4,
+ 1469: 0xB3A5,
+ 1470: 0xB3A6,
+ 1471: 0xB3A7,
+ 1472: 0xB3A9,
+ 1473: 0xB3AA,
+ 1474: 0xB3AB,
+ 1475: 0xB3AD,
+ 1476: 0xB3AE,
+ 1477: 0xB3AF,
+ 1478: 0xB3B0,
+ 1479: 0xB3B1,
+ 1480: 0xB3B2,
+ 1481: 0xB3B3,
+ 1482: 0xB3B4,
+ 1483: 0xB3B5,
+ 1484: 0xB3B6,
+ 1485: 0xB3B7,
+ 1486: 0xB3B8,
+ 1487: 0xB3B9,
+ 1488: 0xB3BA,
+ 1489: 0xB3BB,
+ 1490: 0xB3BC,
+ 1491: 0xB3BD,
+ 1492: 0xB3BE,
+ 1493: 0xB3BF,
+ 1494: 0xB3C0,
+ 1495: 0xB3C1,
+ 1496: 0xB3C2,
+ 1497: 0xB3C3,
+ 1498: 0xB3C6,
+ 1499: 0xB3C7,
+ 1500: 0xB3C9,
+ 1501: 0xB3CA,
+ 1502: 0xB3CD,
+ 1503: 0xB3CF,
+ 1504: 0xB3D1,
+ 1505: 0xB3D2,
+ 1506: 0xB3D3,
+ 1507: 0xB3D6,
+ 1508: 0xB3D8,
+ 1509: 0xB3DA,
+ 1510: 0xB3DC,
+ 1511: 0xB3DE,
+ 1512: 0xB3DF,
+ 1513: 0xB3E1,
+ 1514: 0xB3E2,
+ 1515: 0xB3E3,
+ 1516: 0xB3E5,
+ 1517: 0xB3E6,
+ 1518: 0xB3E7,
+ 1519: 0xB3E9,
+ 1520: 0xB3EA,
+ 1521: 0xB3EB,
+ 1522: 0xB3EC,
+ 1523: 0xB3ED,
+ 1524: 0xB3EE,
+ 1525: 0xB3EF,
+ 1526: 0xB3F0,
+ 1527: 0xB3F1,
+ 1528: 0xB3F2,
+ 1529: 0xB3F3,
+ 1530: 0xB3F4,
+ 1531: 0xB3F5,
+ 1532: 0xB3F6,
+ 1533: 0xB3F7,
+ 1534: 0xB3F8,
+ 1535: 0xB3F9,
+ 1536: 0xB3FA,
+ 1537: 0xB3FB,
+ 1538: 0xB3FD,
+ 1539: 0xB3FE,
+ 1540: 0xB3FF,
+ 1541: 0xB400,
+ 1542: 0xB401,
+ 1543: 0xB402,
+ 1544: 0xB403,
+ 1545: 0xB404,
+ 1546: 0xB405,
+ 1547: 0xB406,
+ 1548: 0xB407,
+ 1549: 0xB408,
+ 1550: 0xB409,
+ 1551: 0xB40A,
+ 1552: 0xB40B,
+ 1553: 0xB40C,
+ 1554: 0xB40D,
+ 1555: 0xB40E,
+ 1556: 0xB40F,
+ 1557: 0xB411,
+ 1558: 0xB412,
+ 1559: 0xB413,
+ 1560: 0xB414,
+ 1561: 0xB415,
+ 1562: 0xB416,
+ 1563: 0xB417,
+ 1564: 0xB419,
+ 1565: 0xB41A,
+ 1566: 0xB41B,
+ 1567: 0xB41D,
+ 1568: 0xB41E,
+ 1569: 0xB41F,
+ 1570: 0xB421,
+ 1571: 0xB422,
+ 1572: 0xB423,
+ 1573: 0xB424,
+ 1574: 0xB425,
+ 1575: 0xB426,
+ 1576: 0xB427,
+ 1577: 0xB42A,
+ 1578: 0xB42C,
+ 1579: 0xB42D,
+ 1580: 0xB42E,
+ 1581: 0xB42F,
+ 1582: 0xB430,
+ 1583: 0xB431,
+ 1584: 0xB432,
+ 1585: 0xB433,
+ 1586: 0xB435,
+ 1587: 0xB436,
+ 1588: 0xB437,
+ 1589: 0xB438,
+ 1590: 0xB439,
+ 1591: 0xB43A,
+ 1592: 0xB43B,
+ 1593: 0xB43C,
+ 1594: 0xB43D,
+ 1595: 0xB43E,
+ 1596: 0xB43F,
+ 1597: 0xB440,
+ 1598: 0xB441,
+ 1599: 0xB442,
+ 1600: 0xB443,
+ 1601: 0xB444,
+ 1602: 0xB445,
+ 1603: 0xB446,
+ 1604: 0xB447,
+ 1605: 0xB448,
+ 1606: 0xB449,
+ 1607: 0xB44A,
+ 1608: 0xB44B,
+ 1609: 0xB44C,
+ 1610: 0xB44D,
+ 1611: 0xB44E,
+ 1612: 0xB44F,
+ 1613: 0xB452,
+ 1614: 0xB453,
+ 1615: 0xB455,
+ 1616: 0xB456,
+ 1617: 0xB457,
+ 1618: 0xB459,
+ 1619: 0xB45A,
+ 1620: 0xB45B,
+ 1621: 0xB45C,
+ 1622: 0xB45D,
+ 1623: 0xB45E,
+ 1624: 0xB45F,
+ 1625: 0xB462,
+ 1626: 0xB464,
+ 1627: 0xB466,
+ 1628: 0xB467,
+ 1629: 0xB468,
+ 1630: 0xB469,
+ 1631: 0xB46A,
+ 1632: 0xB46B,
+ 1633: 0xB46D,
+ 1634: 0xB46E,
+ 1635: 0xB46F,
+ 1636: 0xB470,
+ 1637: 0xB471,
+ 1638: 0xB472,
+ 1639: 0xB473,
+ 1640: 0xB474,
+ 1641: 0xB475,
+ 1642: 0xB476,
+ 1643: 0xB477,
+ 1644: 0xB478,
+ 1645: 0xB479,
+ 1646: 0xB47A,
+ 1647: 0xB47B,
+ 1648: 0xB47C,
+ 1649: 0xB47D,
+ 1650: 0xB47E,
+ 1651: 0xB47F,
+ 1652: 0xB481,
+ 1653: 0xB482,
+ 1654: 0xB483,
+ 1655: 0xB484,
+ 1656: 0xB485,
+ 1657: 0xB486,
+ 1658: 0xB487,
+ 1659: 0xB489,
+ 1660: 0xB48A,
+ 1661: 0xB48B,
+ 1662: 0xB48C,
+ 1663: 0xB48D,
+ 1664: 0xB48E,
+ 1665: 0xB48F,
+ 1666: 0xB490,
+ 1667: 0xB491,
+ 1668: 0xB492,
+ 1669: 0xB493,
+ 1670: 0xB494,
+ 1671: 0xB495,
+ 1672: 0xB496,
+ 1673: 0xB497,
+ 1674: 0xB498,
+ 1675: 0xB499,
+ 1676: 0xB49A,
+ 1677: 0xB49B,
+ 1678: 0xB49C,
+ 1679: 0xB49E,
+ 1680: 0xB49F,
+ 1681: 0xB4A0,
+ 1682: 0xB4A1,
+ 1683: 0xB4A2,
+ 1684: 0xB4A3,
+ 1685: 0xB4A5,
+ 1686: 0xB4A6,
+ 1687: 0xB4A7,
+ 1688: 0xB4A9,
+ 1689: 0xB4AA,
+ 1690: 0xB4AB,
+ 1691: 0xB4AD,
+ 1692: 0xB4AE,
+ 1693: 0xB4AF,
+ 1694: 0xB4B0,
+ 1695: 0xB4B1,
+ 1696: 0xB4B2,
+ 1697: 0xB4B3,
+ 1698: 0xB4B4,
+ 1699: 0xB4B6,
+ 1700: 0xB4B8,
+ 1701: 0xB4BA,
+ 1702: 0xB4BB,
+ 1703: 0xB4BC,
+ 1704: 0xB4BD,
+ 1705: 0xB4BE,
+ 1706: 0xB4BF,
+ 1707: 0xB4C1,
+ 1708: 0xB4C2,
+ 1709: 0xB4C3,
+ 1710: 0xB4C5,
+ 1711: 0xB4C6,
+ 1712: 0xB4C7,
+ 1713: 0xB4C9,
+ 1714: 0xB4CA,
+ 1715: 0xB4CB,
+ 1716: 0xB4CC,
+ 1717: 0xB4CD,
+ 1718: 0xB4CE,
+ 1719: 0xB4CF,
+ 1720: 0xB4D1,
+ 1721: 0xB4D2,
+ 1722: 0xB4D3,
+ 1723: 0xB4D4,
+ 1724: 0xB4D6,
+ 1725: 0xB4D7,
+ 1726: 0xB4D8,
+ 1727: 0xB4D9,
+ 1728: 0xB4DA,
+ 1729: 0xB4DB,
+ 1730: 0xB4DE,
+ 1731: 0xB4DF,
+ 1732: 0xB4E1,
+ 1733: 0xB4E2,
+ 1734: 0xB4E5,
+ 1735: 0xB4E7,
+ 1736: 0xB4E8,
+ 1737: 0xB4E9,
+ 1738: 0xB4EA,
+ 1739: 0xB4EB,
+ 1740: 0xB4EE,
+ 1741: 0xB4F0,
+ 1742: 0xB4F2,
+ 1743: 0xB4F3,
+ 1744: 0xB4F4,
+ 1745: 0xB4F5,
+ 1746: 0xB4F6,
+ 1747: 0xB4F7,
+ 1748: 0xB4F9,
+ 1749: 0xB4FA,
+ 1750: 0xB4FB,
+ 1751: 0xB4FC,
+ 1752: 0xB4FD,
+ 1753: 0xB4FE,
+ 1754: 0xB4FF,
+ 1755: 0xB500,
+ 1756: 0xB501,
+ 1757: 0xB502,
+ 1758: 0xB503,
+ 1759: 0xB504,
+ 1760: 0xB505,
+ 1761: 0xB506,
+ 1762: 0xB507,
+ 1763: 0xB508,
+ 1764: 0xB509,
+ 1765: 0xB50A,
+ 1766: 0xB50B,
+ 1767: 0xB50C,
+ 1768: 0xB50D,
+ 1769: 0xB50E,
+ 1770: 0xB50F,
+ 1771: 0xB510,
+ 1772: 0xB511,
+ 1773: 0xB512,
+ 1774: 0xB513,
+ 1775: 0xB516,
+ 1776: 0xB517,
+ 1777: 0xB519,
+ 1778: 0xB51A,
+ 1779: 0xB51D,
+ 1780: 0xB51E,
+ 1781: 0xB51F,
+ 1782: 0xB520,
+ 1783: 0xB521,
+ 1784: 0xB522,
+ 1785: 0xB523,
+ 1786: 0xB526,
+ 1787: 0xB52B,
+ 1788: 0xB52C,
+ 1789: 0xB52D,
+ 1790: 0xB52E,
+ 1791: 0xB52F,
+ 1792: 0xB532,
+ 1793: 0xB533,
+ 1794: 0xB535,
+ 1795: 0xB536,
+ 1796: 0xB537,
+ 1797: 0xB539,
+ 1798: 0xB53A,
+ 1799: 0xB53B,
+ 1800: 0xB53C,
+ 1801: 0xB53D,
+ 1802: 0xB53E,
+ 1803: 0xB53F,
+ 1804: 0xB542,
+ 1805: 0xB546,
+ 1806: 0xB547,
+ 1807: 0xB548,
+ 1808: 0xB549,
+ 1809: 0xB54A,
+ 1810: 0xB54E,
+ 1811: 0xB54F,
+ 1812: 0xB551,
+ 1813: 0xB552,
+ 1814: 0xB553,
+ 1815: 0xB555,
+ 1816: 0xB556,
+ 1817: 0xB557,
+ 1818: 0xB558,
+ 1819: 0xB559,
+ 1820: 0xB55A,
+ 1821: 0xB55B,
+ 1822: 0xB55E,
+ 1823: 0xB562,
+ 1824: 0xB563,
+ 1825: 0xB564,
+ 1826: 0xB565,
+ 1827: 0xB566,
+ 1828: 0xB567,
+ 1829: 0xB568,
+ 1830: 0xB569,
+ 1831: 0xB56A,
+ 1832: 0xB56B,
+ 1833: 0xB56C,
+ 1834: 0xB56D,
+ 1835: 0xB56E,
+ 1836: 0xB56F,
+ 1837: 0xB570,
+ 1838: 0xB571,
+ 1839: 0xB572,
+ 1840: 0xB573,
+ 1841: 0xB574,
+ 1842: 0xB575,
+ 1843: 0xB576,
+ 1844: 0xB577,
+ 1845: 0xB578,
+ 1846: 0xB579,
+ 1847: 0xB57A,
+ 1848: 0xB57B,
+ 1849: 0xB57C,
+ 1850: 0xB57D,
+ 1851: 0xB57E,
+ 1852: 0xB57F,
+ 1853: 0xB580,
+ 1854: 0xB581,
+ 1855: 0xB582,
+ 1856: 0xB583,
+ 1857: 0xB584,
+ 1858: 0xB585,
+ 1859: 0xB586,
+ 1860: 0xB587,
+ 1861: 0xB588,
+ 1862: 0xB589,
+ 1863: 0xB58A,
+ 1864: 0xB58B,
+ 1865: 0xB58C,
+ 1866: 0xB58D,
+ 1867: 0xB58E,
+ 1868: 0xB58F,
+ 1869: 0xB590,
+ 1870: 0xB591,
+ 1871: 0xB592,
+ 1872: 0xB593,
+ 1873: 0xB594,
+ 1874: 0xB595,
+ 1875: 0xB596,
+ 1876: 0xB597,
+ 1877: 0xB598,
+ 1878: 0xB599,
+ 1879: 0xB59A,
+ 1880: 0xB59B,
+ 1881: 0xB59C,
+ 1882: 0xB59D,
+ 1883: 0xB59E,
+ 1884: 0xB59F,
+ 1885: 0xB5A2,
+ 1886: 0xB5A3,
+ 1887: 0xB5A5,
+ 1888: 0xB5A6,
+ 1889: 0xB5A7,
+ 1890: 0xB5A9,
+ 1891: 0xB5AC,
+ 1892: 0xB5AD,
+ 1893: 0xB5AE,
+ 1894: 0xB5AF,
+ 1895: 0xB5B2,
+ 1896: 0xB5B6,
+ 1897: 0xB5B7,
+ 1898: 0xB5B8,
+ 1899: 0xB5B9,
+ 1900: 0xB5BA,
+ 1901: 0xB5BE,
+ 1902: 0xB5BF,
+ 1903: 0xB5C1,
+ 1904: 0xB5C2,
+ 1905: 0xB5C3,
+ 1906: 0xB5C5,
+ 1907: 0xB5C6,
+ 1908: 0xB5C7,
+ 1909: 0xB5C8,
+ 1910: 0xB5C9,
+ 1911: 0xB5CA,
+ 1912: 0xB5CB,
+ 1913: 0xB5CE,
+ 1914: 0xB5D2,
+ 1915: 0xB5D3,
+ 1916: 0xB5D4,
+ 1917: 0xB5D5,
+ 1918: 0xB5D6,
+ 1919: 0xB5D7,
+ 1920: 0xB5D9,
+ 1921: 0xB5DA,
+ 1922: 0xB5DB,
+ 1923: 0xB5DC,
+ 1924: 0xB5DD,
+ 1925: 0xB5DE,
+ 1926: 0xB5DF,
+ 1927: 0xB5E0,
+ 1928: 0xB5E1,
+ 1929: 0xB5E2,
+ 1930: 0xB5E3,
+ 1931: 0xB5E4,
+ 1932: 0xB5E5,
+ 1933: 0xB5E6,
+ 1934: 0xB5E7,
+ 1935: 0xB5E8,
+ 1936: 0xB5E9,
+ 1937: 0xB5EA,
+ 1938: 0xB5EB,
+ 1939: 0xB5ED,
+ 1940: 0xB5EE,
+ 1941: 0xB5EF,
+ 1942: 0xB5F0,
+ 1943: 0xB5F1,
+ 1944: 0xB5F2,
+ 1945: 0xB5F3,
+ 1946: 0xB5F4,
+ 1947: 0xB5F5,
+ 1948: 0xB5F6,
+ 1949: 0xB5F7,
+ 1950: 0xB5F8,
+ 1951: 0xB5F9,
+ 1952: 0xB5FA,
+ 1953: 0xB5FB,
+ 1954: 0xB5FC,
+ 1955: 0xB5FD,
+ 1956: 0xB5FE,
+ 1957: 0xB5FF,
+ 1958: 0xB600,
+ 1959: 0xB601,
+ 1960: 0xB602,
+ 1961: 0xB603,
+ 1962: 0xB604,
+ 1963: 0xB605,
+ 1964: 0xB606,
+ 1965: 0xB607,
+ 1966: 0xB608,
+ 1967: 0xB609,
+ 1968: 0xB60A,
+ 1969: 0xB60B,
+ 1970: 0xB60C,
+ 1971: 0xB60D,
+ 1972: 0xB60E,
+ 1973: 0xB60F,
+ 1974: 0xB612,
+ 1975: 0xB613,
+ 1976: 0xB615,
+ 1977: 0xB616,
+ 1978: 0xB617,
+ 1979: 0xB619,
+ 1980: 0xB61A,
+ 1981: 0xB61B,
+ 1982: 0xB61C,
+ 1983: 0xB61D,
+ 1984: 0xB61E,
+ 1985: 0xB61F,
+ 1986: 0xB620,
+ 1987: 0xB621,
+ 1988: 0xB622,
+ 1989: 0xB623,
+ 1990: 0xB624,
+ 1991: 0xB626,
+ 1992: 0xB627,
+ 1993: 0xB628,
+ 1994: 0xB629,
+ 1995: 0xB62A,
+ 1996: 0xB62B,
+ 1997: 0xB62D,
+ 1998: 0xB62E,
+ 1999: 0xB62F,
+ 2000: 0xB630,
+ 2001: 0xB631,
+ 2002: 0xB632,
+ 2003: 0xB633,
+ 2004: 0xB635,
+ 2005: 0xB636,
+ 2006: 0xB637,
+ 2007: 0xB638,
+ 2008: 0xB639,
+ 2009: 0xB63A,
+ 2010: 0xB63B,
+ 2011: 0xB63C,
+ 2012: 0xB63D,
+ 2013: 0xB63E,
+ 2014: 0xB63F,
+ 2015: 0xB640,
+ 2016: 0xB641,
+ 2017: 0xB642,
+ 2018: 0xB643,
+ 2019: 0xB644,
+ 2020: 0xB645,
+ 2021: 0xB646,
+ 2022: 0xB647,
+ 2023: 0xB649,
+ 2024: 0xB64A,
+ 2025: 0xB64B,
+ 2026: 0xB64C,
+ 2027: 0xB64D,
+ 2028: 0xB64E,
+ 2029: 0xB64F,
+ 2030: 0xB650,
+ 2031: 0xB651,
+ 2032: 0xB652,
+ 2033: 0xB653,
+ 2034: 0xB654,
+ 2035: 0xB655,
+ 2036: 0xB656,
+ 2037: 0xB657,
+ 2038: 0xB658,
+ 2039: 0xB659,
+ 2040: 0xB65A,
+ 2041: 0xB65B,
+ 2042: 0xB65C,
+ 2043: 0xB65D,
+ 2044: 0xB65E,
+ 2045: 0xB65F,
+ 2046: 0xB660,
+ 2047: 0xB661,
+ 2048: 0xB662,
+ 2049: 0xB663,
+ 2050: 0xB665,
+ 2051: 0xB666,
+ 2052: 0xB667,
+ 2053: 0xB669,
+ 2054: 0xB66A,
+ 2055: 0xB66B,
+ 2056: 0xB66C,
+ 2057: 0xB66D,
+ 2058: 0xB66E,
+ 2059: 0xB66F,
+ 2060: 0xB670,
+ 2061: 0xB671,
+ 2062: 0xB672,
+ 2063: 0xB673,
+ 2064: 0xB674,
+ 2065: 0xB675,
+ 2066: 0xB676,
+ 2067: 0xB677,
+ 2068: 0xB678,
+ 2069: 0xB679,
+ 2070: 0xB67A,
+ 2071: 0xB67B,
+ 2072: 0xB67C,
+ 2073: 0xB67D,
+ 2074: 0xB67E,
+ 2075: 0xB67F,
+ 2076: 0xB680,
+ 2077: 0xB681,
+ 2078: 0xB682,
+ 2079: 0xB683,
+ 2080: 0xB684,
+ 2081: 0xB685,
+ 2082: 0xB686,
+ 2083: 0xB687,
+ 2084: 0xB688,
+ 2085: 0xB689,
+ 2086: 0xB68A,
+ 2087: 0xB68B,
+ 2088: 0xB68C,
+ 2089: 0xB68D,
+ 2090: 0xB68E,
+ 2091: 0xB68F,
+ 2092: 0xB690,
+ 2093: 0xB691,
+ 2094: 0xB692,
+ 2095: 0xB693,
+ 2096: 0xB694,
+ 2097: 0xB695,
+ 2098: 0xB696,
+ 2099: 0xB697,
+ 2100: 0xB698,
+ 2101: 0xB699,
+ 2102: 0xB69A,
+ 2103: 0xB69B,
+ 2104: 0xB69E,
+ 2105: 0xB69F,
+ 2106: 0xB6A1,
+ 2107: 0xB6A2,
+ 2108: 0xB6A3,
+ 2109: 0xB6A5,
+ 2110: 0xB6A6,
+ 2111: 0xB6A7,
+ 2112: 0xB6A8,
+ 2113: 0xB6A9,
+ 2114: 0xB6AA,
+ 2115: 0xB6AD,
+ 2116: 0xB6AE,
+ 2117: 0xB6AF,
+ 2118: 0xB6B0,
+ 2119: 0xB6B2,
+ 2120: 0xB6B3,
+ 2121: 0xB6B4,
+ 2122: 0xB6B5,
+ 2123: 0xB6B6,
+ 2124: 0xB6B7,
+ 2125: 0xB6B8,
+ 2126: 0xB6B9,
+ 2127: 0xB6BA,
+ 2128: 0xB6BB,
+ 2129: 0xB6BC,
+ 2130: 0xB6BD,
+ 2131: 0xB6BE,
+ 2132: 0xB6BF,
+ 2133: 0xB6C0,
+ 2134: 0xB6C1,
+ 2135: 0xB6C2,
+ 2136: 0xB6C3,
+ 2137: 0xB6C4,
+ 2138: 0xB6C5,
+ 2139: 0xB6C6,
+ 2140: 0xB6C7,
+ 2141: 0xB6C8,
+ 2142: 0xB6C9,
+ 2143: 0xB6CA,
+ 2144: 0xB6CB,
+ 2145: 0xB6CC,
+ 2146: 0xB6CD,
+ 2147: 0xB6CE,
+ 2148: 0xB6CF,
+ 2149: 0xB6D0,
+ 2150: 0xB6D1,
+ 2151: 0xB6D2,
+ 2152: 0xB6D3,
+ 2153: 0xB6D5,
+ 2154: 0xB6D6,
+ 2155: 0xB6D7,
+ 2156: 0xB6D8,
+ 2157: 0xB6D9,
+ 2158: 0xB6DA,
+ 2159: 0xB6DB,
+ 2160: 0xB6DC,
+ 2161: 0xB6DD,
+ 2162: 0xB6DE,
+ 2163: 0xB6DF,
+ 2164: 0xB6E0,
+ 2165: 0xB6E1,
+ 2166: 0xB6E2,
+ 2167: 0xB6E3,
+ 2168: 0xB6E4,
+ 2169: 0xB6E5,
+ 2170: 0xB6E6,
+ 2171: 0xB6E7,
+ 2172: 0xB6E8,
+ 2173: 0xB6E9,
+ 2174: 0xB6EA,
+ 2175: 0xB6EB,
+ 2176: 0xB6EC,
+ 2177: 0xB6ED,
+ 2178: 0xB6EE,
+ 2179: 0xB6EF,
+ 2180: 0xB6F1,
+ 2181: 0xB6F2,
+ 2182: 0xB6F3,
+ 2183: 0xB6F5,
+ 2184: 0xB6F6,
+ 2185: 0xB6F7,
+ 2186: 0xB6F9,
+ 2187: 0xB6FA,
+ 2188: 0xB6FB,
+ 2189: 0xB6FC,
+ 2190: 0xB6FD,
+ 2191: 0xB6FE,
+ 2192: 0xB6FF,
+ 2193: 0xB702,
+ 2194: 0xB703,
+ 2195: 0xB704,
+ 2196: 0xB706,
+ 2197: 0xB707,
+ 2198: 0xB708,
+ 2199: 0xB709,
+ 2200: 0xB70A,
+ 2201: 0xB70B,
+ 2202: 0xB70C,
+ 2203: 0xB70D,
+ 2204: 0xB70E,
+ 2205: 0xB70F,
+ 2206: 0xB710,
+ 2207: 0xB711,
+ 2208: 0xB712,
+ 2209: 0xB713,
+ 2210: 0xB714,
+ 2211: 0xB715,
+ 2212: 0xB716,
+ 2213: 0xB717,
+ 2214: 0xB718,
+ 2215: 0xB719,
+ 2216: 0xB71A,
+ 2217: 0xB71B,
+ 2218: 0xB71C,
+ 2219: 0xB71D,
+ 2220: 0xB71E,
+ 2221: 0xB71F,
+ 2222: 0xB720,
+ 2223: 0xB721,
+ 2224: 0xB722,
+ 2225: 0xB723,
+ 2226: 0xB724,
+ 2227: 0xB725,
+ 2228: 0xB726,
+ 2229: 0xB727,
+ 2230: 0xB72A,
+ 2231: 0xB72B,
+ 2232: 0xB72D,
+ 2233: 0xB72E,
+ 2234: 0xB731,
+ 2235: 0xB732,
+ 2236: 0xB733,
+ 2237: 0xB734,
+ 2238: 0xB735,
+ 2239: 0xB736,
+ 2240: 0xB737,
+ 2241: 0xB73A,
+ 2242: 0xB73C,
+ 2243: 0xB73D,
+ 2244: 0xB73E,
+ 2245: 0xB73F,
+ 2246: 0xB740,
+ 2247: 0xB741,
+ 2248: 0xB742,
+ 2249: 0xB743,
+ 2250: 0xB745,
+ 2251: 0xB746,
+ 2252: 0xB747,
+ 2253: 0xB749,
+ 2254: 0xB74A,
+ 2255: 0xB74B,
+ 2256: 0xB74D,
+ 2257: 0xB74E,
+ 2258: 0xB74F,
+ 2259: 0xB750,
+ 2260: 0xB751,
+ 2261: 0xB752,
+ 2262: 0xB753,
+ 2263: 0xB756,
+ 2264: 0xB757,
+ 2265: 0xB758,
+ 2266: 0xB759,
+ 2267: 0xB75A,
+ 2268: 0xB75B,
+ 2269: 0xB75C,
+ 2270: 0xB75D,
+ 2271: 0xB75E,
+ 2272: 0xB75F,
+ 2273: 0xB761,
+ 2274: 0xB762,
+ 2275: 0xB763,
+ 2276: 0xB765,
+ 2277: 0xB766,
+ 2278: 0xB767,
+ 2279: 0xB769,
+ 2280: 0xB76A,
+ 2281: 0xB76B,
+ 2282: 0xB76C,
+ 2283: 0xB76D,
+ 2284: 0xB76E,
+ 2285: 0xB76F,
+ 2286: 0xB772,
+ 2287: 0xB774,
+ 2288: 0xB776,
+ 2289: 0xB777,
+ 2290: 0xB778,
+ 2291: 0xB779,
+ 2292: 0xB77A,
+ 2293: 0xB77B,
+ 2294: 0xB77E,
+ 2295: 0xB77F,
+ 2296: 0xB781,
+ 2297: 0xB782,
+ 2298: 0xB783,
+ 2299: 0xB785,
+ 2300: 0xB786,
+ 2301: 0xB787,
+ 2302: 0xB788,
+ 2303: 0xB789,
+ 2304: 0xB78A,
+ 2305: 0xB78B,
+ 2306: 0xB78E,
+ 2307: 0xB793,
+ 2308: 0xB794,
+ 2309: 0xB795,
+ 2310: 0xB79A,
+ 2311: 0xB79B,
+ 2312: 0xB79D,
+ 2313: 0xB79E,
+ 2314: 0xB79F,
+ 2315: 0xB7A1,
+ 2316: 0xB7A2,
+ 2317: 0xB7A3,
+ 2318: 0xB7A4,
+ 2319: 0xB7A5,
+ 2320: 0xB7A6,
+ 2321: 0xB7A7,
+ 2322: 0xB7AA,
+ 2323: 0xB7AE,
+ 2324: 0xB7AF,
+ 2325: 0xB7B0,
+ 2326: 0xB7B1,
+ 2327: 0xB7B2,
+ 2328: 0xB7B3,
+ 2329: 0xB7B6,
+ 2330: 0xB7B7,
+ 2331: 0xB7B9,
+ 2332: 0xB7BA,
+ 2333: 0xB7BB,
+ 2334: 0xB7BC,
+ 2335: 0xB7BD,
+ 2336: 0xB7BE,
+ 2337: 0xB7BF,
+ 2338: 0xB7C0,
+ 2339: 0xB7C1,
+ 2340: 0xB7C2,
+ 2341: 0xB7C3,
+ 2342: 0xB7C4,
+ 2343: 0xB7C5,
+ 2344: 0xB7C6,
+ 2345: 0xB7C8,
+ 2346: 0xB7CA,
+ 2347: 0xB7CB,
+ 2348: 0xB7CC,
+ 2349: 0xB7CD,
+ 2350: 0xB7CE,
+ 2351: 0xB7CF,
+ 2352: 0xB7D0,
+ 2353: 0xB7D1,
+ 2354: 0xB7D2,
+ 2355: 0xB7D3,
+ 2356: 0xB7D4,
+ 2357: 0xB7D5,
+ 2358: 0xB7D6,
+ 2359: 0xB7D7,
+ 2360: 0xB7D8,
+ 2361: 0xB7D9,
+ 2362: 0xB7DA,
+ 2363: 0xB7DB,
+ 2364: 0xB7DC,
+ 2365: 0xB7DD,
+ 2366: 0xB7DE,
+ 2367: 0xB7DF,
+ 2368: 0xB7E0,
+ 2369: 0xB7E1,
+ 2370: 0xB7E2,
+ 2371: 0xB7E3,
+ 2372: 0xB7E4,
+ 2373: 0xB7E5,
+ 2374: 0xB7E6,
+ 2375: 0xB7E7,
+ 2376: 0xB7E8,
+ 2377: 0xB7E9,
+ 2378: 0xB7EA,
+ 2379: 0xB7EB,
+ 2380: 0xB7EE,
+ 2381: 0xB7EF,
+ 2382: 0xB7F1,
+ 2383: 0xB7F2,
+ 2384: 0xB7F3,
+ 2385: 0xB7F5,
+ 2386: 0xB7F6,
+ 2387: 0xB7F7,
+ 2388: 0xB7F8,
+ 2389: 0xB7F9,
+ 2390: 0xB7FA,
+ 2391: 0xB7FB,
+ 2392: 0xB7FE,
+ 2393: 0xB802,
+ 2394: 0xB803,
+ 2395: 0xB804,
+ 2396: 0xB805,
+ 2397: 0xB806,
+ 2398: 0xB80A,
+ 2399: 0xB80B,
+ 2400: 0xB80D,
+ 2401: 0xB80E,
+ 2402: 0xB80F,
+ 2403: 0xB811,
+ 2404: 0xB812,
+ 2405: 0xB813,
+ 2406: 0xB814,
+ 2407: 0xB815,
+ 2408: 0xB816,
+ 2409: 0xB817,
+ 2410: 0xB81A,
+ 2411: 0xB81C,
+ 2412: 0xB81E,
+ 2413: 0xB81F,
+ 2414: 0xB820,
+ 2415: 0xB821,
+ 2416: 0xB822,
+ 2417: 0xB823,
+ 2418: 0xB826,
+ 2419: 0xB827,
+ 2420: 0xB829,
+ 2421: 0xB82A,
+ 2422: 0xB82B,
+ 2423: 0xB82D,
+ 2424: 0xB82E,
+ 2425: 0xB82F,
+ 2426: 0xB830,
+ 2427: 0xB831,
+ 2428: 0xB832,
+ 2429: 0xB833,
+ 2430: 0xB836,
+ 2431: 0xB83A,
+ 2432: 0xB83B,
+ 2433: 0xB83C,
+ 2434: 0xB83D,
+ 2435: 0xB83E,
+ 2436: 0xB83F,
+ 2437: 0xB841,
+ 2438: 0xB842,
+ 2439: 0xB843,
+ 2440: 0xB845,
+ 2441: 0xB846,
+ 2442: 0xB847,
+ 2443: 0xB848,
+ 2444: 0xB849,
+ 2445: 0xB84A,
+ 2446: 0xB84B,
+ 2447: 0xB84C,
+ 2448: 0xB84D,
+ 2449: 0xB84E,
+ 2450: 0xB84F,
+ 2451: 0xB850,
+ 2452: 0xB852,
+ 2453: 0xB854,
+ 2454: 0xB855,
+ 2455: 0xB856,
+ 2456: 0xB857,
+ 2457: 0xB858,
+ 2458: 0xB859,
+ 2459: 0xB85A,
+ 2460: 0xB85B,
+ 2461: 0xB85E,
+ 2462: 0xB85F,
+ 2463: 0xB861,
+ 2464: 0xB862,
+ 2465: 0xB863,
+ 2466: 0xB865,
+ 2467: 0xB866,
+ 2468: 0xB867,
+ 2469: 0xB868,
+ 2470: 0xB869,
+ 2471: 0xB86A,
+ 2472: 0xB86B,
+ 2473: 0xB86E,
+ 2474: 0xB870,
+ 2475: 0xB872,
+ 2476: 0xB873,
+ 2477: 0xB874,
+ 2478: 0xB875,
+ 2479: 0xB876,
+ 2480: 0xB877,
+ 2481: 0xB879,
+ 2482: 0xB87A,
+ 2483: 0xB87B,
+ 2484: 0xB87D,
+ 2485: 0xB87E,
+ 2486: 0xB87F,
+ 2487: 0xB880,
+ 2488: 0xB881,
+ 2489: 0xB882,
+ 2490: 0xB883,
+ 2491: 0xB884,
+ 2492: 0xB885,
+ 2493: 0xB886,
+ 2494: 0xB887,
+ 2495: 0xB888,
+ 2496: 0xB889,
+ 2497: 0xB88A,
+ 2498: 0xB88B,
+ 2499: 0xB88C,
+ 2500: 0xB88E,
+ 2501: 0xB88F,
+ 2502: 0xB890,
+ 2503: 0xB891,
+ 2504: 0xB892,
+ 2505: 0xB893,
+ 2506: 0xB894,
+ 2507: 0xB895,
+ 2508: 0xB896,
+ 2509: 0xB897,
+ 2510: 0xB898,
+ 2511: 0xB899,
+ 2512: 0xB89A,
+ 2513: 0xB89B,
+ 2514: 0xB89C,
+ 2515: 0xB89D,
+ 2516: 0xB89E,
+ 2517: 0xB89F,
+ 2518: 0xB8A0,
+ 2519: 0xB8A1,
+ 2520: 0xB8A2,
+ 2521: 0xB8A3,
+ 2522: 0xB8A4,
+ 2523: 0xB8A5,
+ 2524: 0xB8A6,
+ 2525: 0xB8A7,
+ 2526: 0xB8A9,
+ 2527: 0xB8AA,
+ 2528: 0xB8AB,
+ 2529: 0xB8AC,
+ 2530: 0xB8AD,
+ 2531: 0xB8AE,
+ 2532: 0xB8AF,
+ 2533: 0xB8B1,
+ 2534: 0xB8B2,
+ 2535: 0xB8B3,
+ 2536: 0xB8B5,
+ 2537: 0xB8B6,
+ 2538: 0xB8B7,
+ 2539: 0xB8B9,
+ 2540: 0xB8BA,
+ 2541: 0xB8BB,
+ 2542: 0xB8BC,
+ 2543: 0xB8BD,
+ 2544: 0xB8BE,
+ 2545: 0xB8BF,
+ 2546: 0xB8C2,
+ 2547: 0xB8C4,
+ 2548: 0xB8C6,
+ 2549: 0xB8C7,
+ 2550: 0xB8C8,
+ 2551: 0xB8C9,
+ 2552: 0xB8CA,
+ 2553: 0xB8CB,
+ 2554: 0xB8CD,
+ 2555: 0xB8CE,
+ 2556: 0xB8CF,
+ 2557: 0xB8D1,
+ 2558: 0xB8D2,
+ 2559: 0xB8D3,
+ 2560: 0xB8D5,
+ 2561: 0xB8D6,
+ 2562: 0xB8D7,
+ 2563: 0xB8D8,
+ 2564: 0xB8D9,
+ 2565: 0xB8DA,
+ 2566: 0xB8DB,
+ 2567: 0xB8DC,
+ 2568: 0xB8DE,
+ 2569: 0xB8E0,
+ 2570: 0xB8E2,
+ 2571: 0xB8E3,
+ 2572: 0xB8E4,
+ 2573: 0xB8E5,
+ 2574: 0xB8E6,
+ 2575: 0xB8E7,
+ 2576: 0xB8EA,
+ 2577: 0xB8EB,
+ 2578: 0xB8ED,
+ 2579: 0xB8EE,
+ 2580: 0xB8EF,
+ 2581: 0xB8F1,
+ 2582: 0xB8F2,
+ 2583: 0xB8F3,
+ 2584: 0xB8F4,
+ 2585: 0xB8F5,
+ 2586: 0xB8F6,
+ 2587: 0xB8F7,
+ 2588: 0xB8FA,
+ 2589: 0xB8FC,
+ 2590: 0xB8FE,
+ 2591: 0xB8FF,
+ 2592: 0xB900,
+ 2593: 0xB901,
+ 2594: 0xB902,
+ 2595: 0xB903,
+ 2596: 0xB905,
+ 2597: 0xB906,
+ 2598: 0xB907,
+ 2599: 0xB908,
+ 2600: 0xB909,
+ 2601: 0xB90A,
+ 2602: 0xB90B,
+ 2603: 0xB90C,
+ 2604: 0xB90D,
+ 2605: 0xB90E,
+ 2606: 0xB90F,
+ 2607: 0xB910,
+ 2608: 0xB911,
+ 2609: 0xB912,
+ 2610: 0xB913,
+ 2611: 0xB914,
+ 2612: 0xB915,
+ 2613: 0xB916,
+ 2614: 0xB917,
+ 2615: 0xB919,
+ 2616: 0xB91A,
+ 2617: 0xB91B,
+ 2618: 0xB91C,
+ 2619: 0xB91D,
+ 2620: 0xB91E,
+ 2621: 0xB91F,
+ 2622: 0xB921,
+ 2623: 0xB922,
+ 2624: 0xB923,
+ 2625: 0xB924,
+ 2626: 0xB925,
+ 2627: 0xB926,
+ 2628: 0xB927,
+ 2629: 0xB928,
+ 2630: 0xB929,
+ 2631: 0xB92A,
+ 2632: 0xB92B,
+ 2633: 0xB92C,
+ 2634: 0xB92D,
+ 2635: 0xB92E,
+ 2636: 0xB92F,
+ 2637: 0xB930,
+ 2638: 0xB931,
+ 2639: 0xB932,
+ 2640: 0xB933,
+ 2641: 0xB934,
+ 2642: 0xB935,
+ 2643: 0xB936,
+ 2644: 0xB937,
+ 2645: 0xB938,
+ 2646: 0xB939,
+ 2647: 0xB93A,
+ 2648: 0xB93B,
+ 2649: 0xB93E,
+ 2650: 0xB93F,
+ 2651: 0xB941,
+ 2652: 0xB942,
+ 2653: 0xB943,
+ 2654: 0xB945,
+ 2655: 0xB946,
+ 2656: 0xB947,
+ 2657: 0xB948,
+ 2658: 0xB949,
+ 2659: 0xB94A,
+ 2660: 0xB94B,
+ 2661: 0xB94D,
+ 2662: 0xB94E,
+ 2663: 0xB950,
+ 2664: 0xB952,
+ 2665: 0xB953,
+ 2666: 0xB954,
+ 2667: 0xB955,
+ 2668: 0xB956,
+ 2669: 0xB957,
+ 2670: 0xB95A,
+ 2671: 0xB95B,
+ 2672: 0xB95D,
+ 2673: 0xB95E,
+ 2674: 0xB95F,
+ 2675: 0xB961,
+ 2676: 0xB962,
+ 2677: 0xB963,
+ 2678: 0xB964,
+ 2679: 0xB965,
+ 2680: 0xB966,
+ 2681: 0xB967,
+ 2682: 0xB96A,
+ 2683: 0xB96C,
+ 2684: 0xB96E,
+ 2685: 0xB96F,
+ 2686: 0xB970,
+ 2687: 0xB971,
+ 2688: 0xB972,
+ 2689: 0xB973,
+ 2690: 0xB976,
+ 2691: 0xB977,
+ 2692: 0xB979,
+ 2693: 0xB97A,
+ 2694: 0xB97B,
+ 2695: 0xB97D,
+ 2696: 0xB97E,
+ 2697: 0xB97F,
+ 2698: 0xB980,
+ 2699: 0xB981,
+ 2700: 0xB982,
+ 2701: 0xB983,
+ 2702: 0xB986,
+ 2703: 0xB988,
+ 2704: 0xB98B,
+ 2705: 0xB98C,
+ 2706: 0xB98F,
+ 2707: 0xB990,
+ 2708: 0xB991,
+ 2709: 0xB992,
+ 2710: 0xB993,
+ 2711: 0xB994,
+ 2712: 0xB995,
+ 2713: 0xB996,
+ 2714: 0xB997,
+ 2715: 0xB998,
+ 2716: 0xB999,
+ 2717: 0xB99A,
+ 2718: 0xB99B,
+ 2719: 0xB99C,
+ 2720: 0xB99D,
+ 2721: 0xB99E,
+ 2722: 0xB99F,
+ 2723: 0xB9A0,
+ 2724: 0xB9A1,
+ 2725: 0xB9A2,
+ 2726: 0xB9A3,
+ 2727: 0xB9A4,
+ 2728: 0xB9A5,
+ 2729: 0xB9A6,
+ 2730: 0xB9A7,
+ 2731: 0xB9A8,
+ 2732: 0xB9A9,
+ 2733: 0xB9AA,
+ 2734: 0xB9AB,
+ 2735: 0xB9AE,
+ 2736: 0xB9AF,
+ 2737: 0xB9B1,
+ 2738: 0xB9B2,
+ 2739: 0xB9B3,
+ 2740: 0xB9B5,
+ 2741: 0xB9B6,
+ 2742: 0xB9B7,
+ 2743: 0xB9B8,
+ 2744: 0xB9B9,
+ 2745: 0xB9BA,
+ 2746: 0xB9BB,
+ 2747: 0xB9BE,
+ 2748: 0xB9C0,
+ 2749: 0xB9C2,
+ 2750: 0xB9C3,
+ 2751: 0xB9C4,
+ 2752: 0xB9C5,
+ 2753: 0xB9C6,
+ 2754: 0xB9C7,
+ 2755: 0xB9CA,
+ 2756: 0xB9CB,
+ 2757: 0xB9CD,
+ 2758: 0xB9D3,
+ 2759: 0xB9D4,
+ 2760: 0xB9D5,
+ 2761: 0xB9D6,
+ 2762: 0xB9D7,
+ 2763: 0xB9DA,
+ 2764: 0xB9DC,
+ 2765: 0xB9DF,
+ 2766: 0xB9E0,
+ 2767: 0xB9E2,
+ 2768: 0xB9E6,
+ 2769: 0xB9E7,
+ 2770: 0xB9E9,
+ 2771: 0xB9EA,
+ 2772: 0xB9EB,
+ 2773: 0xB9ED,
+ 2774: 0xB9EE,
+ 2775: 0xB9EF,
+ 2776: 0xB9F0,
+ 2777: 0xB9F1,
+ 2778: 0xB9F2,
+ 2779: 0xB9F3,
+ 2780: 0xB9F6,
+ 2781: 0xB9FB,
+ 2782: 0xB9FC,
+ 2783: 0xB9FD,
+ 2784: 0xB9FE,
+ 2785: 0xB9FF,
+ 2786: 0xBA02,
+ 2787: 0xBA03,
+ 2788: 0xBA04,
+ 2789: 0xBA05,
+ 2790: 0xBA06,
+ 2791: 0xBA07,
+ 2792: 0xBA09,
+ 2793: 0xBA0A,
+ 2794: 0xBA0B,
+ 2795: 0xBA0C,
+ 2796: 0xBA0D,
+ 2797: 0xBA0E,
+ 2798: 0xBA0F,
+ 2799: 0xBA10,
+ 2800: 0xBA11,
+ 2801: 0xBA12,
+ 2802: 0xBA13,
+ 2803: 0xBA14,
+ 2804: 0xBA16,
+ 2805: 0xBA17,
+ 2806: 0xBA18,
+ 2807: 0xBA19,
+ 2808: 0xBA1A,
+ 2809: 0xBA1B,
+ 2810: 0xBA1C,
+ 2811: 0xBA1D,
+ 2812: 0xBA1E,
+ 2813: 0xBA1F,
+ 2814: 0xBA20,
+ 2815: 0xBA21,
+ 2816: 0xBA22,
+ 2817: 0xBA23,
+ 2818: 0xBA24,
+ 2819: 0xBA25,
+ 2820: 0xBA26,
+ 2821: 0xBA27,
+ 2822: 0xBA28,
+ 2823: 0xBA29,
+ 2824: 0xBA2A,
+ 2825: 0xBA2B,
+ 2826: 0xBA2C,
+ 2827: 0xBA2D,
+ 2828: 0xBA2E,
+ 2829: 0xBA2F,
+ 2830: 0xBA30,
+ 2831: 0xBA31,
+ 2832: 0xBA32,
+ 2833: 0xBA33,
+ 2834: 0xBA34,
+ 2835: 0xBA35,
+ 2836: 0xBA36,
+ 2837: 0xBA37,
+ 2838: 0xBA3A,
+ 2839: 0xBA3B,
+ 2840: 0xBA3D,
+ 2841: 0xBA3E,
+ 2842: 0xBA3F,
+ 2843: 0xBA41,
+ 2844: 0xBA43,
+ 2845: 0xBA44,
+ 2846: 0xBA45,
+ 2847: 0xBA46,
+ 2848: 0xBA47,
+ 2849: 0xBA4A,
+ 2850: 0xBA4C,
+ 2851: 0xBA4F,
+ 2852: 0xBA50,
+ 2853: 0xBA51,
+ 2854: 0xBA52,
+ 2855: 0xBA56,
+ 2856: 0xBA57,
+ 2857: 0xBA59,
+ 2858: 0xBA5A,
+ 2859: 0xBA5B,
+ 2860: 0xBA5D,
+ 2861: 0xBA5E,
+ 2862: 0xBA5F,
+ 2863: 0xBA60,
+ 2864: 0xBA61,
+ 2865: 0xBA62,
+ 2866: 0xBA63,
+ 2867: 0xBA66,
+ 2868: 0xBA6A,
+ 2869: 0xBA6B,
+ 2870: 0xBA6C,
+ 2871: 0xBA6D,
+ 2872: 0xBA6E,
+ 2873: 0xBA6F,
+ 2874: 0xBA72,
+ 2875: 0xBA73,
+ 2876: 0xBA75,
+ 2877: 0xBA76,
+ 2878: 0xBA77,
+ 2879: 0xBA79,
+ 2880: 0xBA7A,
+ 2881: 0xBA7B,
+ 2882: 0xBA7C,
+ 2883: 0xBA7D,
+ 2884: 0xBA7E,
+ 2885: 0xBA7F,
+ 2886: 0xBA80,
+ 2887: 0xBA81,
+ 2888: 0xBA82,
+ 2889: 0xBA86,
+ 2890: 0xBA88,
+ 2891: 0xBA89,
+ 2892: 0xBA8A,
+ 2893: 0xBA8B,
+ 2894: 0xBA8D,
+ 2895: 0xBA8E,
+ 2896: 0xBA8F,
+ 2897: 0xBA90,
+ 2898: 0xBA91,
+ 2899: 0xBA92,
+ 2900: 0xBA93,
+ 2901: 0xBA94,
+ 2902: 0xBA95,
+ 2903: 0xBA96,
+ 2904: 0xBA97,
+ 2905: 0xBA98,
+ 2906: 0xBA99,
+ 2907: 0xBA9A,
+ 2908: 0xBA9B,
+ 2909: 0xBA9C,
+ 2910: 0xBA9D,
+ 2911: 0xBA9E,
+ 2912: 0xBA9F,
+ 2913: 0xBAA0,
+ 2914: 0xBAA1,
+ 2915: 0xBAA2,
+ 2916: 0xBAA3,
+ 2917: 0xBAA4,
+ 2918: 0xBAA5,
+ 2919: 0xBAA6,
+ 2920: 0xBAA7,
+ 2921: 0xBAAA,
+ 2922: 0xBAAD,
+ 2923: 0xBAAE,
+ 2924: 0xBAAF,
+ 2925: 0xBAB1,
+ 2926: 0xBAB3,
+ 2927: 0xBAB4,
+ 2928: 0xBAB5,
+ 2929: 0xBAB6,
+ 2930: 0xBAB7,
+ 2931: 0xBABA,
+ 2932: 0xBABC,
+ 2933: 0xBABE,
+ 2934: 0xBABF,
+ 2935: 0xBAC0,
+ 2936: 0xBAC1,
+ 2937: 0xBAC2,
+ 2938: 0xBAC3,
+ 2939: 0xBAC5,
+ 2940: 0xBAC6,
+ 2941: 0xBAC7,
+ 2942: 0xBAC9,
+ 2943: 0xBACA,
+ 2944: 0xBACB,
+ 2945: 0xBACC,
+ 2946: 0xBACD,
+ 2947: 0xBACE,
+ 2948: 0xBACF,
+ 2949: 0xBAD0,
+ 2950: 0xBAD1,
+ 2951: 0xBAD2,
+ 2952: 0xBAD3,
+ 2953: 0xBAD4,
+ 2954: 0xBAD5,
+ 2955: 0xBAD6,
+ 2956: 0xBAD7,
+ 2957: 0xBADA,
+ 2958: 0xBADB,
+ 2959: 0xBADC,
+ 2960: 0xBADD,
+ 2961: 0xBADE,
+ 2962: 0xBADF,
+ 2963: 0xBAE0,
+ 2964: 0xBAE1,
+ 2965: 0xBAE2,
+ 2966: 0xBAE3,
+ 2967: 0xBAE4,
+ 2968: 0xBAE5,
+ 2969: 0xBAE6,
+ 2970: 0xBAE7,
+ 2971: 0xBAE8,
+ 2972: 0xBAE9,
+ 2973: 0xBAEA,
+ 2974: 0xBAEB,
+ 2975: 0xBAEC,
+ 2976: 0xBAED,
+ 2977: 0xBAEE,
+ 2978: 0xBAEF,
+ 2979: 0xBAF0,
+ 2980: 0xBAF1,
+ 2981: 0xBAF2,
+ 2982: 0xBAF3,
+ 2983: 0xBAF4,
+ 2984: 0xBAF5,
+ 2985: 0xBAF6,
+ 2986: 0xBAF7,
+ 2987: 0xBAF8,
+ 2988: 0xBAF9,
+ 2989: 0xBAFA,
+ 2990: 0xBAFB,
+ 2991: 0xBAFD,
+ 2992: 0xBAFE,
+ 2993: 0xBAFF,
+ 2994: 0xBB01,
+ 2995: 0xBB02,
+ 2996: 0xBB03,
+ 2997: 0xBB05,
+ 2998: 0xBB06,
+ 2999: 0xBB07,
+ 3000: 0xBB08,
+ 3001: 0xBB09,
+ 3002: 0xBB0A,
+ 3003: 0xBB0B,
+ 3004: 0xBB0C,
+ 3005: 0xBB0E,
+ 3006: 0xBB10,
+ 3007: 0xBB12,
+ 3008: 0xBB13,
+ 3009: 0xBB14,
+ 3010: 0xBB15,
+ 3011: 0xBB16,
+ 3012: 0xBB17,
+ 3013: 0xBB19,
+ 3014: 0xBB1A,
+ 3015: 0xBB1B,
+ 3016: 0xBB1D,
+ 3017: 0xBB1E,
+ 3018: 0xBB1F,
+ 3019: 0xBB21,
+ 3020: 0xBB22,
+ 3021: 0xBB23,
+ 3022: 0xBB24,
+ 3023: 0xBB25,
+ 3024: 0xBB26,
+ 3025: 0xBB27,
+ 3026: 0xBB28,
+ 3027: 0xBB2A,
+ 3028: 0xBB2C,
+ 3029: 0xBB2D,
+ 3030: 0xBB2E,
+ 3031: 0xBB2F,
+ 3032: 0xBB30,
+ 3033: 0xBB31,
+ 3034: 0xBB32,
+ 3035: 0xBB33,
+ 3036: 0xBB37,
+ 3037: 0xBB39,
+ 3038: 0xBB3A,
+ 3039: 0xBB3F,
+ 3040: 0xBB40,
+ 3041: 0xBB41,
+ 3042: 0xBB42,
+ 3043: 0xBB43,
+ 3044: 0xBB46,
+ 3045: 0xBB48,
+ 3046: 0xBB4A,
+ 3047: 0xBB4B,
+ 3048: 0xBB4C,
+ 3049: 0xBB4E,
+ 3050: 0xBB51,
+ 3051: 0xBB52,
+ 3052: 0xBB53,
+ 3053: 0xBB55,
+ 3054: 0xBB56,
+ 3055: 0xBB57,
+ 3056: 0xBB59,
+ 3057: 0xBB5A,
+ 3058: 0xBB5B,
+ 3059: 0xBB5C,
+ 3060: 0xBB5D,
+ 3061: 0xBB5E,
+ 3062: 0xBB5F,
+ 3063: 0xBB60,
+ 3064: 0xBB62,
+ 3065: 0xBB64,
+ 3066: 0xBB65,
+ 3067: 0xBB66,
+ 3068: 0xBB67,
+ 3069: 0xBB68,
+ 3070: 0xBB69,
+ 3071: 0xBB6A,
+ 3072: 0xBB6B,
+ 3073: 0xBB6D,
+ 3074: 0xBB6E,
+ 3075: 0xBB6F,
+ 3076: 0xBB70,
+ 3077: 0xBB71,
+ 3078: 0xBB72,
+ 3079: 0xBB73,
+ 3080: 0xBB74,
+ 3081: 0xBB75,
+ 3082: 0xBB76,
+ 3083: 0xBB77,
+ 3084: 0xBB78,
+ 3085: 0xBB79,
+ 3086: 0xBB7A,
+ 3087: 0xBB7B,
+ 3088: 0xBB7C,
+ 3089: 0xBB7D,
+ 3090: 0xBB7E,
+ 3091: 0xBB7F,
+ 3092: 0xBB80,
+ 3093: 0xBB81,
+ 3094: 0xBB82,
+ 3095: 0xBB83,
+ 3096: 0xBB84,
+ 3097: 0xBB85,
+ 3098: 0xBB86,
+ 3099: 0xBB87,
+ 3100: 0xBB89,
+ 3101: 0xBB8A,
+ 3102: 0xBB8B,
+ 3103: 0xBB8D,
+ 3104: 0xBB8E,
+ 3105: 0xBB8F,
+ 3106: 0xBB91,
+ 3107: 0xBB92,
+ 3108: 0xBB93,
+ 3109: 0xBB94,
+ 3110: 0xBB95,
+ 3111: 0xBB96,
+ 3112: 0xBB97,
+ 3113: 0xBB98,
+ 3114: 0xBB99,
+ 3115: 0xBB9A,
+ 3116: 0xBB9B,
+ 3117: 0xBB9C,
+ 3118: 0xBB9D,
+ 3119: 0xBB9E,
+ 3120: 0xBB9F,
+ 3121: 0xBBA0,
+ 3122: 0xBBA1,
+ 3123: 0xBBA2,
+ 3124: 0xBBA3,
+ 3125: 0xBBA5,
+ 3126: 0xBBA6,
+ 3127: 0xBBA7,
+ 3128: 0xBBA9,
+ 3129: 0xBBAA,
+ 3130: 0xBBAB,
+ 3131: 0xBBAD,
+ 3132: 0xBBAE,
+ 3133: 0xBBAF,
+ 3134: 0xBBB0,
+ 3135: 0xBBB1,
+ 3136: 0xBBB2,
+ 3137: 0xBBB3,
+ 3138: 0xBBB5,
+ 3139: 0xBBB6,
+ 3140: 0xBBB8,
+ 3141: 0xBBB9,
+ 3142: 0xBBBA,
+ 3143: 0xBBBB,
+ 3144: 0xBBBC,
+ 3145: 0xBBBD,
+ 3146: 0xBBBE,
+ 3147: 0xBBBF,
+ 3148: 0xBBC1,
+ 3149: 0xBBC2,
+ 3150: 0xBBC3,
+ 3151: 0xBBC5,
+ 3152: 0xBBC6,
+ 3153: 0xBBC7,
+ 3154: 0xBBC9,
+ 3155: 0xBBCA,
+ 3156: 0xBBCB,
+ 3157: 0xBBCC,
+ 3158: 0xBBCD,
+ 3159: 0xBBCE,
+ 3160: 0xBBCF,
+ 3161: 0xBBD1,
+ 3162: 0xBBD2,
+ 3163: 0xBBD4,
+ 3164: 0xBBD5,
+ 3165: 0xBBD6,
+ 3166: 0xBBD7,
+ 3167: 0xBBD8,
+ 3168: 0xBBD9,
+ 3169: 0xBBDA,
+ 3170: 0xBBDB,
+ 3171: 0xBBDC,
+ 3172: 0xBBDD,
+ 3173: 0xBBDE,
+ 3174: 0xBBDF,
+ 3175: 0xBBE0,
+ 3176: 0xBBE1,
+ 3177: 0xBBE2,
+ 3178: 0xBBE3,
+ 3179: 0xBBE4,
+ 3180: 0xBBE5,
+ 3181: 0xBBE6,
+ 3182: 0xBBE7,
+ 3183: 0xBBE8,
+ 3184: 0xBBE9,
+ 3185: 0xBBEA,
+ 3186: 0xBBEB,
+ 3187: 0xBBEC,
+ 3188: 0xBBED,
+ 3189: 0xBBEE,
+ 3190: 0xBBEF,
+ 3191: 0xBBF0,
+ 3192: 0xBBF1,
+ 3193: 0xBBF2,
+ 3194: 0xBBF3,
+ 3195: 0xBBF4,
+ 3196: 0xBBF5,
+ 3197: 0xBBF6,
+ 3198: 0xBBF7,
+ 3199: 0xBBFA,
+ 3200: 0xBBFB,
+ 3201: 0xBBFD,
+ 3202: 0xBBFE,
+ 3203: 0xBC01,
+ 3204: 0xBC03,
+ 3205: 0xBC04,
+ 3206: 0xBC05,
+ 3207: 0xBC06,
+ 3208: 0xBC07,
+ 3209: 0xBC0A,
+ 3210: 0xBC0E,
+ 3211: 0xBC10,
+ 3212: 0xBC12,
+ 3213: 0xBC13,
+ 3214: 0xBC19,
+ 3215: 0xBC1A,
+ 3216: 0xBC20,
+ 3217: 0xBC21,
+ 3218: 0xBC22,
+ 3219: 0xBC23,
+ 3220: 0xBC26,
+ 3221: 0xBC28,
+ 3222: 0xBC2A,
+ 3223: 0xBC2B,
+ 3224: 0xBC2C,
+ 3225: 0xBC2E,
+ 3226: 0xBC2F,
+ 3227: 0xBC32,
+ 3228: 0xBC33,
+ 3229: 0xBC35,
+ 3230: 0xBC36,
+ 3231: 0xBC37,
+ 3232: 0xBC39,
+ 3233: 0xBC3A,
+ 3234: 0xBC3B,
+ 3235: 0xBC3C,
+ 3236: 0xBC3D,
+ 3237: 0xBC3E,
+ 3238: 0xBC3F,
+ 3239: 0xBC42,
+ 3240: 0xBC46,
+ 3241: 0xBC47,
+ 3242: 0xBC48,
+ 3243: 0xBC4A,
+ 3244: 0xBC4B,
+ 3245: 0xBC4E,
+ 3246: 0xBC4F,
+ 3247: 0xBC51,
+ 3248: 0xBC52,
+ 3249: 0xBC53,
+ 3250: 0xBC54,
+ 3251: 0xBC55,
+ 3252: 0xBC56,
+ 3253: 0xBC57,
+ 3254: 0xBC58,
+ 3255: 0xBC59,
+ 3256: 0xBC5A,
+ 3257: 0xBC5B,
+ 3258: 0xBC5C,
+ 3259: 0xBC5E,
+ 3260: 0xBC5F,
+ 3261: 0xBC60,
+ 3262: 0xBC61,
+ 3263: 0xBC62,
+ 3264: 0xBC63,
+ 3265: 0xBC64,
+ 3266: 0xBC65,
+ 3267: 0xBC66,
+ 3268: 0xBC67,
+ 3269: 0xBC68,
+ 3270: 0xBC69,
+ 3271: 0xBC6A,
+ 3272: 0xBC6B,
+ 3273: 0xBC6C,
+ 3274: 0xBC6D,
+ 3275: 0xBC6E,
+ 3276: 0xBC6F,
+ 3277: 0xBC70,
+ 3278: 0xBC71,
+ 3279: 0xBC72,
+ 3280: 0xBC73,
+ 3281: 0xBC74,
+ 3282: 0xBC75,
+ 3283: 0xBC76,
+ 3284: 0xBC77,
+ 3285: 0xBC78,
+ 3286: 0xBC79,
+ 3287: 0xBC7A,
+ 3288: 0xBC7B,
+ 3289: 0xBC7C,
+ 3290: 0xBC7D,
+ 3291: 0xBC7E,
+ 3292: 0xBC7F,
+ 3293: 0xBC80,
+ 3294: 0xBC81,
+ 3295: 0xBC82,
+ 3296: 0xBC83,
+ 3297: 0xBC86,
+ 3298: 0xBC87,
+ 3299: 0xBC89,
+ 3300: 0xBC8A,
+ 3301: 0xBC8D,
+ 3302: 0xBC8F,
+ 3303: 0xBC90,
+ 3304: 0xBC91,
+ 3305: 0xBC92,
+ 3306: 0xBC93,
+ 3307: 0xBC96,
+ 3308: 0xBC98,
+ 3309: 0xBC9B,
+ 3310: 0xBC9C,
+ 3311: 0xBC9D,
+ 3312: 0xBC9E,
+ 3313: 0xBC9F,
+ 3314: 0xBCA2,
+ 3315: 0xBCA3,
+ 3316: 0xBCA5,
+ 3317: 0xBCA6,
+ 3318: 0xBCA9,
+ 3319: 0xBCAA,
+ 3320: 0xBCAB,
+ 3321: 0xBCAC,
+ 3322: 0xBCAD,
+ 3323: 0xBCAE,
+ 3324: 0xBCAF,
+ 3325: 0xBCB2,
+ 3326: 0xBCB6,
+ 3327: 0xBCB7,
+ 3328: 0xBCB8,
+ 3329: 0xBCB9,
+ 3330: 0xBCBA,
+ 3331: 0xBCBB,
+ 3332: 0xBCBE,
+ 3333: 0xBCBF,
+ 3334: 0xBCC1,
+ 3335: 0xBCC2,
+ 3336: 0xBCC3,
+ 3337: 0xBCC5,
+ 3338: 0xBCC6,
+ 3339: 0xBCC7,
+ 3340: 0xBCC8,
+ 3341: 0xBCC9,
+ 3342: 0xBCCA,
+ 3343: 0xBCCB,
+ 3344: 0xBCCC,
+ 3345: 0xBCCE,
+ 3346: 0xBCD2,
+ 3347: 0xBCD3,
+ 3348: 0xBCD4,
+ 3349: 0xBCD6,
+ 3350: 0xBCD7,
+ 3351: 0xBCD9,
+ 3352: 0xBCDA,
+ 3353: 0xBCDB,
+ 3354: 0xBCDD,
+ 3355: 0xBCDE,
+ 3356: 0xBCDF,
+ 3357: 0xBCE0,
+ 3358: 0xBCE1,
+ 3359: 0xBCE2,
+ 3360: 0xBCE3,
+ 3361: 0xBCE4,
+ 3362: 0xBCE5,
+ 3363: 0xBCE6,
+ 3364: 0xBCE7,
+ 3365: 0xBCE8,
+ 3366: 0xBCE9,
+ 3367: 0xBCEA,
+ 3368: 0xBCEB,
+ 3369: 0xBCEC,
+ 3370: 0xBCED,
+ 3371: 0xBCEE,
+ 3372: 0xBCEF,
+ 3373: 0xBCF0,
+ 3374: 0xBCF1,
+ 3375: 0xBCF2,
+ 3376: 0xBCF3,
+ 3377: 0xBCF7,
+ 3378: 0xBCF9,
+ 3379: 0xBCFA,
+ 3380: 0xBCFB,
+ 3381: 0xBCFD,
+ 3382: 0xBCFE,
+ 3383: 0xBCFF,
+ 3384: 0xBD00,
+ 3385: 0xBD01,
+ 3386: 0xBD02,
+ 3387: 0xBD03,
+ 3388: 0xBD06,
+ 3389: 0xBD08,
+ 3390: 0xBD0A,
+ 3391: 0xBD0B,
+ 3392: 0xBD0C,
+ 3393: 0xBD0D,
+ 3394: 0xBD0E,
+ 3395: 0xBD0F,
+ 3396: 0xBD11,
+ 3397: 0xBD12,
+ 3398: 0xBD13,
+ 3399: 0xBD15,
+ 3400: 0xBD16,
+ 3401: 0xBD17,
+ 3402: 0xBD18,
+ 3403: 0xBD19,
+ 3404: 0xBD1A,
+ 3405: 0xBD1B,
+ 3406: 0xBD1C,
+ 3407: 0xBD1D,
+ 3408: 0xBD1E,
+ 3409: 0xBD1F,
+ 3410: 0xBD20,
+ 3411: 0xBD21,
+ 3412: 0xBD22,
+ 3413: 0xBD23,
+ 3414: 0xBD25,
+ 3415: 0xBD26,
+ 3416: 0xBD27,
+ 3417: 0xBD28,
+ 3418: 0xBD29,
+ 3419: 0xBD2A,
+ 3420: 0xBD2B,
+ 3421: 0xBD2D,
+ 3422: 0xBD2E,
+ 3423: 0xBD2F,
+ 3424: 0xBD30,
+ 3425: 0xBD31,
+ 3426: 0xBD32,
+ 3427: 0xBD33,
+ 3428: 0xBD34,
+ 3429: 0xBD35,
+ 3430: 0xBD36,
+ 3431: 0xBD37,
+ 3432: 0xBD38,
+ 3433: 0xBD39,
+ 3434: 0xBD3A,
+ 3435: 0xBD3B,
+ 3436: 0xBD3C,
+ 3437: 0xBD3D,
+ 3438: 0xBD3E,
+ 3439: 0xBD3F,
+ 3440: 0xBD41,
+ 3441: 0xBD42,
+ 3442: 0xBD43,
+ 3443: 0xBD44,
+ 3444: 0xBD45,
+ 3445: 0xBD46,
+ 3446: 0xBD47,
+ 3447: 0xBD4A,
+ 3448: 0xBD4B,
+ 3449: 0xBD4D,
+ 3450: 0xBD4E,
+ 3451: 0xBD4F,
+ 3452: 0xBD51,
+ 3453: 0xBD52,
+ 3454: 0xBD53,
+ 3455: 0xBD54,
+ 3456: 0xBD55,
+ 3457: 0xBD56,
+ 3458: 0xBD57,
+ 3459: 0xBD5A,
+ 3460: 0xBD5B,
+ 3461: 0xBD5C,
+ 3462: 0xBD5D,
+ 3463: 0xBD5E,
+ 3464: 0xBD5F,
+ 3465: 0xBD60,
+ 3466: 0xBD61,
+ 3467: 0xBD62,
+ 3468: 0xBD63,
+ 3469: 0xBD65,
+ 3470: 0xBD66,
+ 3471: 0xBD67,
+ 3472: 0xBD69,
+ 3473: 0xBD6A,
+ 3474: 0xBD6B,
+ 3475: 0xBD6C,
+ 3476: 0xBD6D,
+ 3477: 0xBD6E,
+ 3478: 0xBD6F,
+ 3479: 0xBD70,
+ 3480: 0xBD71,
+ 3481: 0xBD72,
+ 3482: 0xBD73,
+ 3483: 0xBD74,
+ 3484: 0xBD75,
+ 3485: 0xBD76,
+ 3486: 0xBD77,
+ 3487: 0xBD78,
+ 3488: 0xBD79,
+ 3489: 0xBD7A,
+ 3490: 0xBD7B,
+ 3491: 0xBD7C,
+ 3492: 0xBD7D,
+ 3493: 0xBD7E,
+ 3494: 0xBD7F,
+ 3495: 0xBD82,
+ 3496: 0xBD83,
+ 3497: 0xBD85,
+ 3498: 0xBD86,
+ 3499: 0xBD8B,
+ 3500: 0xBD8C,
+ 3501: 0xBD8D,
+ 3502: 0xBD8E,
+ 3503: 0xBD8F,
+ 3504: 0xBD92,
+ 3505: 0xBD94,
+ 3506: 0xBD96,
+ 3507: 0xBD97,
+ 3508: 0xBD98,
+ 3509: 0xBD9B,
+ 3510: 0xBD9D,
+ 3511: 0xBD9E,
+ 3512: 0xBD9F,
+ 3513: 0xBDA0,
+ 3514: 0xBDA1,
+ 3515: 0xBDA2,
+ 3516: 0xBDA3,
+ 3517: 0xBDA5,
+ 3518: 0xBDA6,
+ 3519: 0xBDA7,
+ 3520: 0xBDA8,
+ 3521: 0xBDA9,
+ 3522: 0xBDAA,
+ 3523: 0xBDAB,
+ 3524: 0xBDAC,
+ 3525: 0xBDAD,
+ 3526: 0xBDAE,
+ 3527: 0xBDAF,
+ 3528: 0xBDB1,
+ 3529: 0xBDB2,
+ 3530: 0xBDB3,
+ 3531: 0xBDB4,
+ 3532: 0xBDB5,
+ 3533: 0xBDB6,
+ 3534: 0xBDB7,
+ 3535: 0xBDB9,
+ 3536: 0xBDBA,
+ 3537: 0xBDBB,
+ 3538: 0xBDBC,
+ 3539: 0xBDBD,
+ 3540: 0xBDBE,
+ 3541: 0xBDBF,
+ 3542: 0xBDC0,
+ 3543: 0xBDC1,
+ 3544: 0xBDC2,
+ 3545: 0xBDC3,
+ 3546: 0xBDC4,
+ 3547: 0xBDC5,
+ 3548: 0xBDC6,
+ 3549: 0xBDC7,
+ 3550: 0xBDC8,
+ 3551: 0xBDC9,
+ 3552: 0xBDCA,
+ 3553: 0xBDCB,
+ 3554: 0xBDCC,
+ 3555: 0xBDCD,
+ 3556: 0xBDCE,
+ 3557: 0xBDCF,
+ 3558: 0xBDD0,
+ 3559: 0xBDD1,
+ 3560: 0xBDD2,
+ 3561: 0xBDD3,
+ 3562: 0xBDD6,
+ 3563: 0xBDD7,
+ 3564: 0xBDD9,
+ 3565: 0xBDDA,
+ 3566: 0xBDDB,
+ 3567: 0xBDDD,
+ 3568: 0xBDDE,
+ 3569: 0xBDDF,
+ 3570: 0xBDE0,
+ 3571: 0xBDE1,
+ 3572: 0xBDE2,
+ 3573: 0xBDE3,
+ 3574: 0xBDE4,
+ 3575: 0xBDE5,
+ 3576: 0xBDE6,
+ 3577: 0xBDE7,
+ 3578: 0xBDE8,
+ 3579: 0xBDEA,
+ 3580: 0xBDEB,
+ 3581: 0xBDEC,
+ 3582: 0xBDED,
+ 3583: 0xBDEE,
+ 3584: 0xBDEF,
+ 3585: 0xBDF1,
+ 3586: 0xBDF2,
+ 3587: 0xBDF3,
+ 3588: 0xBDF5,
+ 3589: 0xBDF6,
+ 3590: 0xBDF7,
+ 3591: 0xBDF9,
+ 3592: 0xBDFA,
+ 3593: 0xBDFB,
+ 3594: 0xBDFC,
+ 3595: 0xBDFD,
+ 3596: 0xBDFE,
+ 3597: 0xBDFF,
+ 3598: 0xBE01,
+ 3599: 0xBE02,
+ 3600: 0xBE04,
+ 3601: 0xBE06,
+ 3602: 0xBE07,
+ 3603: 0xBE08,
+ 3604: 0xBE09,
+ 3605: 0xBE0A,
+ 3606: 0xBE0B,
+ 3607: 0xBE0E,
+ 3608: 0xBE0F,
+ 3609: 0xBE11,
+ 3610: 0xBE12,
+ 3611: 0xBE13,
+ 3612: 0xBE15,
+ 3613: 0xBE16,
+ 3614: 0xBE17,
+ 3615: 0xBE18,
+ 3616: 0xBE19,
+ 3617: 0xBE1A,
+ 3618: 0xBE1B,
+ 3619: 0xBE1E,
+ 3620: 0xBE20,
+ 3621: 0xBE21,
+ 3622: 0xBE22,
+ 3623: 0xBE23,
+ 3624: 0xBE24,
+ 3625: 0xBE25,
+ 3626: 0xBE26,
+ 3627: 0xBE27,
+ 3628: 0xBE28,
+ 3629: 0xBE29,
+ 3630: 0xBE2A,
+ 3631: 0xBE2B,
+ 3632: 0xBE2C,
+ 3633: 0xBE2D,
+ 3634: 0xBE2E,
+ 3635: 0xBE2F,
+ 3636: 0xBE30,
+ 3637: 0xBE31,
+ 3638: 0xBE32,
+ 3639: 0xBE33,
+ 3640: 0xBE34,
+ 3641: 0xBE35,
+ 3642: 0xBE36,
+ 3643: 0xBE37,
+ 3644: 0xBE38,
+ 3645: 0xBE39,
+ 3646: 0xBE3A,
+ 3647: 0xBE3B,
+ 3648: 0xBE3C,
+ 3649: 0xBE3D,
+ 3650: 0xBE3E,
+ 3651: 0xBE3F,
+ 3652: 0xBE40,
+ 3653: 0xBE41,
+ 3654: 0xBE42,
+ 3655: 0xBE43,
+ 3656: 0xBE46,
+ 3657: 0xBE47,
+ 3658: 0xBE49,
+ 3659: 0xBE4A,
+ 3660: 0xBE4B,
+ 3661: 0xBE4D,
+ 3662: 0xBE4F,
+ 3663: 0xBE50,
+ 3664: 0xBE51,
+ 3665: 0xBE52,
+ 3666: 0xBE53,
+ 3667: 0xBE56,
+ 3668: 0xBE58,
+ 3669: 0xBE5C,
+ 3670: 0xBE5D,
+ 3671: 0xBE5E,
+ 3672: 0xBE5F,
+ 3673: 0xBE62,
+ 3674: 0xBE63,
+ 3675: 0xBE65,
+ 3676: 0xBE66,
+ 3677: 0xBE67,
+ 3678: 0xBE69,
+ 3679: 0xBE6B,
+ 3680: 0xBE6C,
+ 3681: 0xBE6D,
+ 3682: 0xBE6E,
+ 3683: 0xBE6F,
+ 3684: 0xBE72,
+ 3685: 0xBE76,
+ 3686: 0xBE77,
+ 3687: 0xBE78,
+ 3688: 0xBE79,
+ 3689: 0xBE7A,
+ 3690: 0xBE7E,
+ 3691: 0xBE7F,
+ 3692: 0xBE81,
+ 3693: 0xBE82,
+ 3694: 0xBE83,
+ 3695: 0xBE85,
+ 3696: 0xBE86,
+ 3697: 0xBE87,
+ 3698: 0xBE88,
+ 3699: 0xBE89,
+ 3700: 0xBE8A,
+ 3701: 0xBE8B,
+ 3702: 0xBE8E,
+ 3703: 0xBE92,
+ 3704: 0xBE93,
+ 3705: 0xBE94,
+ 3706: 0xBE95,
+ 3707: 0xBE96,
+ 3708: 0xBE97,
+ 3709: 0xBE9A,
+ 3710: 0xBE9B,
+ 3711: 0xBE9C,
+ 3712: 0xBE9D,
+ 3713: 0xBE9E,
+ 3714: 0xBE9F,
+ 3715: 0xBEA0,
+ 3716: 0xBEA1,
+ 3717: 0xBEA2,
+ 3718: 0xBEA3,
+ 3719: 0xBEA4,
+ 3720: 0xBEA5,
+ 3721: 0xBEA6,
+ 3722: 0xBEA7,
+ 3723: 0xBEA9,
+ 3724: 0xBEAA,
+ 3725: 0xBEAB,
+ 3726: 0xBEAC,
+ 3727: 0xBEAD,
+ 3728: 0xBEAE,
+ 3729: 0xBEAF,
+ 3730: 0xBEB0,
+ 3731: 0xBEB1,
+ 3732: 0xBEB2,
+ 3733: 0xBEB3,
+ 3734: 0xBEB4,
+ 3735: 0xBEB5,
+ 3736: 0xBEB6,
+ 3737: 0xBEB7,
+ 3738: 0xBEB8,
+ 3739: 0xBEB9,
+ 3740: 0xBEBA,
+ 3741: 0xBEBB,
+ 3742: 0xBEBC,
+ 3743: 0xBEBD,
+ 3744: 0xBEBE,
+ 3745: 0xBEBF,
+ 3746: 0xBEC0,
+ 3747: 0xBEC1,
+ 3748: 0xBEC2,
+ 3749: 0xBEC3,
+ 3750: 0xBEC4,
+ 3751: 0xBEC5,
+ 3752: 0xBEC6,
+ 3753: 0xBEC7,
+ 3754: 0xBEC8,
+ 3755: 0xBEC9,
+ 3756: 0xBECA,
+ 3757: 0xBECB,
+ 3758: 0xBECC,
+ 3759: 0xBECD,
+ 3760: 0xBECE,
+ 3761: 0xBECF,
+ 3762: 0xBED2,
+ 3763: 0xBED3,
+ 3764: 0xBED5,
+ 3765: 0xBED6,
+ 3766: 0xBED9,
+ 3767: 0xBEDA,
+ 3768: 0xBEDB,
+ 3769: 0xBEDC,
+ 3770: 0xBEDD,
+ 3771: 0xBEDE,
+ 3772: 0xBEDF,
+ 3773: 0xBEE1,
+ 3774: 0xBEE2,
+ 3775: 0xBEE6,
+ 3776: 0xBEE7,
+ 3777: 0xBEE8,
+ 3778: 0xBEE9,
+ 3779: 0xBEEA,
+ 3780: 0xBEEB,
+ 3781: 0xBEED,
+ 3782: 0xBEEE,
+ 3783: 0xBEEF,
+ 3784: 0xBEF0,
+ 3785: 0xBEF1,
+ 3786: 0xBEF2,
+ 3787: 0xBEF3,
+ 3788: 0xBEF4,
+ 3789: 0xBEF5,
+ 3790: 0xBEF6,
+ 3791: 0xBEF7,
+ 3792: 0xBEF8,
+ 3793: 0xBEF9,
+ 3794: 0xBEFA,
+ 3795: 0xBEFB,
+ 3796: 0xBEFC,
+ 3797: 0xBEFD,
+ 3798: 0xBEFE,
+ 3799: 0xBEFF,
+ 3800: 0xBF00,
+ 3801: 0xBF02,
+ 3802: 0xBF03,
+ 3803: 0xBF04,
+ 3804: 0xBF05,
+ 3805: 0xBF06,
+ 3806: 0xBF07,
+ 3807: 0xBF0A,
+ 3808: 0xBF0B,
+ 3809: 0xBF0C,
+ 3810: 0xBF0D,
+ 3811: 0xBF0E,
+ 3812: 0xBF0F,
+ 3813: 0xBF10,
+ 3814: 0xBF11,
+ 3815: 0xBF12,
+ 3816: 0xBF13,
+ 3817: 0xBF14,
+ 3818: 0xBF15,
+ 3819: 0xBF16,
+ 3820: 0xBF17,
+ 3821: 0xBF1A,
+ 3822: 0xBF1E,
+ 3823: 0xBF1F,
+ 3824: 0xBF20,
+ 3825: 0xBF21,
+ 3826: 0xBF22,
+ 3827: 0xBF23,
+ 3828: 0xBF24,
+ 3829: 0xBF25,
+ 3830: 0xBF26,
+ 3831: 0xBF27,
+ 3832: 0xBF28,
+ 3833: 0xBF29,
+ 3834: 0xBF2A,
+ 3835: 0xBF2B,
+ 3836: 0xBF2C,
+ 3837: 0xBF2D,
+ 3838: 0xBF2E,
+ 3839: 0xBF2F,
+ 3840: 0xBF30,
+ 3841: 0xBF31,
+ 3842: 0xBF32,
+ 3843: 0xBF33,
+ 3844: 0xBF34,
+ 3845: 0xBF35,
+ 3846: 0xBF36,
+ 3847: 0xBF37,
+ 3848: 0xBF38,
+ 3849: 0xBF39,
+ 3850: 0xBF3A,
+ 3851: 0xBF3B,
+ 3852: 0xBF3C,
+ 3853: 0xBF3D,
+ 3854: 0xBF3E,
+ 3855: 0xBF3F,
+ 3856: 0xBF42,
+ 3857: 0xBF43,
+ 3858: 0xBF45,
+ 3859: 0xBF46,
+ 3860: 0xBF47,
+ 3861: 0xBF49,
+ 3862: 0xBF4A,
+ 3863: 0xBF4B,
+ 3864: 0xBF4C,
+ 3865: 0xBF4D,
+ 3866: 0xBF4E,
+ 3867: 0xBF4F,
+ 3868: 0xBF52,
+ 3869: 0xBF53,
+ 3870: 0xBF54,
+ 3871: 0xBF56,
+ 3872: 0xBF57,
+ 3873: 0xBF58,
+ 3874: 0xBF59,
+ 3875: 0xBF5A,
+ 3876: 0xBF5B,
+ 3877: 0xBF5C,
+ 3878: 0xBF5D,
+ 3879: 0xBF5E,
+ 3880: 0xBF5F,
+ 3881: 0xBF60,
+ 3882: 0xBF61,
+ 3883: 0xBF62,
+ 3884: 0xBF63,
+ 3885: 0xBF64,
+ 3886: 0xBF65,
+ 3887: 0xBF66,
+ 3888: 0xBF67,
+ 3889: 0xBF68,
+ 3890: 0xBF69,
+ 3891: 0xBF6A,
+ 3892: 0xBF6B,
+ 3893: 0xBF6C,
+ 3894: 0xBF6D,
+ 3895: 0xBF6E,
+ 3896: 0xBF6F,
+ 3897: 0xBF70,
+ 3898: 0xBF71,
+ 3899: 0xBF72,
+ 3900: 0xBF73,
+ 3901: 0xBF74,
+ 3902: 0xBF75,
+ 3903: 0xBF76,
+ 3904: 0xBF77,
+ 3905: 0xBF78,
+ 3906: 0xBF79,
+ 3907: 0xBF7A,
+ 3908: 0xBF7B,
+ 3909: 0xBF7C,
+ 3910: 0xBF7D,
+ 3911: 0xBF7E,
+ 3912: 0xBF7F,
+ 3913: 0xBF80,
+ 3914: 0xBF81,
+ 3915: 0xBF82,
+ 3916: 0xBF83,
+ 3917: 0xBF84,
+ 3918: 0xBF85,
+ 3919: 0xBF86,
+ 3920: 0xBF87,
+ 3921: 0xBF88,
+ 3922: 0xBF89,
+ 3923: 0xBF8A,
+ 3924: 0xBF8B,
+ 3925: 0xBF8C,
+ 3926: 0xBF8D,
+ 3927: 0xBF8E,
+ 3928: 0xBF8F,
+ 3929: 0xBF90,
+ 3930: 0xBF91,
+ 3931: 0xBF92,
+ 3932: 0xBF93,
+ 3933: 0xBF95,
+ 3934: 0xBF96,
+ 3935: 0xBF97,
+ 3936: 0xBF98,
+ 3937: 0xBF99,
+ 3938: 0xBF9A,
+ 3939: 0xBF9B,
+ 3940: 0xBF9C,
+ 3941: 0xBF9D,
+ 3942: 0xBF9E,
+ 3943: 0xBF9F,
+ 3944: 0xBFA0,
+ 3945: 0xBFA1,
+ 3946: 0xBFA2,
+ 3947: 0xBFA3,
+ 3948: 0xBFA4,
+ 3949: 0xBFA5,
+ 3950: 0xBFA6,
+ 3951: 0xBFA7,
+ 3952: 0xBFA8,
+ 3953: 0xBFA9,
+ 3954: 0xBFAA,
+ 3955: 0xBFAB,
+ 3956: 0xBFAC,
+ 3957: 0xBFAD,
+ 3958: 0xBFAE,
+ 3959: 0xBFAF,
+ 3960: 0xBFB1,
+ 3961: 0xBFB2,
+ 3962: 0xBFB3,
+ 3963: 0xBFB4,
+ 3964: 0xBFB5,
+ 3965: 0xBFB6,
+ 3966: 0xBFB7,
+ 3967: 0xBFB8,
+ 3968: 0xBFB9,
+ 3969: 0xBFBA,
+ 3970: 0xBFBB,
+ 3971: 0xBFBC,
+ 3972: 0xBFBD,
+ 3973: 0xBFBE,
+ 3974: 0xBFBF,
+ 3975: 0xBFC0,
+ 3976: 0xBFC1,
+ 3977: 0xBFC2,
+ 3978: 0xBFC3,
+ 3979: 0xBFC4,
+ 3980: 0xBFC6,
+ 3981: 0xBFC7,
+ 3982: 0xBFC8,
+ 3983: 0xBFC9,
+ 3984: 0xBFCA,
+ 3985: 0xBFCB,
+ 3986: 0xBFCE,
+ 3987: 0xBFCF,
+ 3988: 0xBFD1,
+ 3989: 0xBFD2,
+ 3990: 0xBFD3,
+ 3991: 0xBFD5,
+ 3992: 0xBFD6,
+ 3993: 0xBFD7,
+ 3994: 0xBFD8,
+ 3995: 0xBFD9,
+ 3996: 0xBFDA,
+ 3997: 0xBFDB,
+ 3998: 0xBFDD,
+ 3999: 0xBFDE,
+ 4000: 0xBFE0,
+ 4001: 0xBFE2,
+ 4002: 0xBFE3,
+ 4003: 0xBFE4,
+ 4004: 0xBFE5,
+ 4005: 0xBFE6,
+ 4006: 0xBFE7,
+ 4007: 0xBFE8,
+ 4008: 0xBFE9,
+ 4009: 0xBFEA,
+ 4010: 0xBFEB,
+ 4011: 0xBFEC,
+ 4012: 0xBFED,
+ 4013: 0xBFEE,
+ 4014: 0xBFEF,
+ 4015: 0xBFF0,
+ 4016: 0xBFF1,
+ 4017: 0xBFF2,
+ 4018: 0xBFF3,
+ 4019: 0xBFF4,
+ 4020: 0xBFF5,
+ 4021: 0xBFF6,
+ 4022: 0xBFF7,
+ 4023: 0xBFF8,
+ 4024: 0xBFF9,
+ 4025: 0xBFFA,
+ 4026: 0xBFFB,
+ 4027: 0xBFFC,
+ 4028: 0xBFFD,
+ 4029: 0xBFFE,
+ 4030: 0xBFFF,
+ 4031: 0xC000,
+ 4032: 0xC001,
+ 4033: 0xC002,
+ 4034: 0xC003,
+ 4035: 0xC004,
+ 4036: 0xC005,
+ 4037: 0xC006,
+ 4038: 0xC007,
+ 4039: 0xC008,
+ 4040: 0xC009,
+ 4041: 0xC00A,
+ 4042: 0xC00B,
+ 4043: 0xC00C,
+ 4044: 0xC00D,
+ 4045: 0xC00E,
+ 4046: 0xC00F,
+ 4047: 0xC010,
+ 4048: 0xC011,
+ 4049: 0xC012,
+ 4050: 0xC013,
+ 4051: 0xC014,
+ 4052: 0xC015,
+ 4053: 0xC016,
+ 4054: 0xC017,
+ 4055: 0xC018,
+ 4056: 0xC019,
+ 4057: 0xC01A,
+ 4058: 0xC01B,
+ 4059: 0xC01C,
+ 4060: 0xC01D,
+ 4061: 0xC01E,
+ 4062: 0xC01F,
+ 4063: 0xC020,
+ 4064: 0xC021,
+ 4065: 0xC022,
+ 4066: 0xC023,
+ 4067: 0xC024,
+ 4068: 0xC025,
+ 4069: 0xC026,
+ 4070: 0xC027,
+ 4071: 0xC028,
+ 4072: 0xC029,
+ 4073: 0xC02A,
+ 4074: 0xC02B,
+ 4075: 0xC02C,
+ 4076: 0xC02D,
+ 4077: 0xC02E,
+ 4078: 0xC02F,
+ 4079: 0xC030,
+ 4080: 0xC031,
+ 4081: 0xC032,
+ 4082: 0xC033,
+ 4083: 0xC034,
+ 4084: 0xC035,
+ 4085: 0xC036,
+ 4086: 0xC037,
+ 4087: 0xC038,
+ 4088: 0xC039,
+ 4089: 0xC03A,
+ 4090: 0xC03B,
+ 4091: 0xC03D,
+ 4092: 0xC03E,
+ 4093: 0xC03F,
+ 4094: 0xC040,
+ 4095: 0xC041,
+ 4096: 0xC042,
+ 4097: 0xC043,
+ 4098: 0xC044,
+ 4099: 0xC045,
+ 4100: 0xC046,
+ 4101: 0xC047,
+ 4102: 0xC048,
+ 4103: 0xC049,
+ 4104: 0xC04A,
+ 4105: 0xC04B,
+ 4106: 0xC04C,
+ 4107: 0xC04D,
+ 4108: 0xC04E,
+ 4109: 0xC04F,
+ 4110: 0xC050,
+ 4111: 0xC052,
+ 4112: 0xC053,
+ 4113: 0xC054,
+ 4114: 0xC055,
+ 4115: 0xC056,
+ 4116: 0xC057,
+ 4117: 0xC059,
+ 4118: 0xC05A,
+ 4119: 0xC05B,
+ 4120: 0xC05D,
+ 4121: 0xC05E,
+ 4122: 0xC05F,
+ 4123: 0xC061,
+ 4124: 0xC062,
+ 4125: 0xC063,
+ 4126: 0xC064,
+ 4127: 0xC065,
+ 4128: 0xC066,
+ 4129: 0xC067,
+ 4130: 0xC06A,
+ 4131: 0xC06B,
+ 4132: 0xC06C,
+ 4133: 0xC06D,
+ 4134: 0xC06E,
+ 4135: 0xC06F,
+ 4136: 0xC070,
+ 4137: 0xC071,
+ 4138: 0xC072,
+ 4139: 0xC073,
+ 4140: 0xC074,
+ 4141: 0xC075,
+ 4142: 0xC076,
+ 4143: 0xC077,
+ 4144: 0xC078,
+ 4145: 0xC079,
+ 4146: 0xC07A,
+ 4147: 0xC07B,
+ 4148: 0xC07C,
+ 4149: 0xC07D,
+ 4150: 0xC07E,
+ 4151: 0xC07F,
+ 4152: 0xC080,
+ 4153: 0xC081,
+ 4154: 0xC082,
+ 4155: 0xC083,
+ 4156: 0xC084,
+ 4157: 0xC085,
+ 4158: 0xC086,
+ 4159: 0xC087,
+ 4160: 0xC088,
+ 4161: 0xC089,
+ 4162: 0xC08A,
+ 4163: 0xC08B,
+ 4164: 0xC08C,
+ 4165: 0xC08D,
+ 4166: 0xC08E,
+ 4167: 0xC08F,
+ 4168: 0xC092,
+ 4169: 0xC093,
+ 4170: 0xC095,
+ 4171: 0xC096,
+ 4172: 0xC097,
+ 4173: 0xC099,
+ 4174: 0xC09A,
+ 4175: 0xC09B,
+ 4176: 0xC09C,
+ 4177: 0xC09D,
+ 4178: 0xC09E,
+ 4179: 0xC09F,
+ 4180: 0xC0A2,
+ 4181: 0xC0A4,
+ 4182: 0xC0A6,
+ 4183: 0xC0A7,
+ 4184: 0xC0A8,
+ 4185: 0xC0A9,
+ 4186: 0xC0AA,
+ 4187: 0xC0AB,
+ 4188: 0xC0AE,
+ 4189: 0xC0B1,
+ 4190: 0xC0B2,
+ 4191: 0xC0B7,
+ 4192: 0xC0B8,
+ 4193: 0xC0B9,
+ 4194: 0xC0BA,
+ 4195: 0xC0BB,
+ 4196: 0xC0BE,
+ 4197: 0xC0C2,
+ 4198: 0xC0C3,
+ 4199: 0xC0C4,
+ 4200: 0xC0C6,
+ 4201: 0xC0C7,
+ 4202: 0xC0CA,
+ 4203: 0xC0CB,
+ 4204: 0xC0CD,
+ 4205: 0xC0CE,
+ 4206: 0xC0CF,
+ 4207: 0xC0D1,
+ 4208: 0xC0D2,
+ 4209: 0xC0D3,
+ 4210: 0xC0D4,
+ 4211: 0xC0D5,
+ 4212: 0xC0D6,
+ 4213: 0xC0D7,
+ 4214: 0xC0DA,
+ 4215: 0xC0DE,
+ 4216: 0xC0DF,
+ 4217: 0xC0E0,
+ 4218: 0xC0E1,
+ 4219: 0xC0E2,
+ 4220: 0xC0E3,
+ 4221: 0xC0E6,
+ 4222: 0xC0E7,
+ 4223: 0xC0E9,
+ 4224: 0xC0EA,
+ 4225: 0xC0EB,
+ 4226: 0xC0ED,
+ 4227: 0xC0EE,
+ 4228: 0xC0EF,
+ 4229: 0xC0F0,
+ 4230: 0xC0F1,
+ 4231: 0xC0F2,
+ 4232: 0xC0F3,
+ 4233: 0xC0F6,
+ 4234: 0xC0F8,
+ 4235: 0xC0FA,
+ 4236: 0xC0FB,
+ 4237: 0xC0FC,
+ 4238: 0xC0FD,
+ 4239: 0xC0FE,
+ 4240: 0xC0FF,
+ 4241: 0xC101,
+ 4242: 0xC102,
+ 4243: 0xC103,
+ 4244: 0xC105,
+ 4245: 0xC106,
+ 4246: 0xC107,
+ 4247: 0xC109,
+ 4248: 0xC10A,
+ 4249: 0xC10B,
+ 4250: 0xC10C,
+ 4251: 0xC10D,
+ 4252: 0xC10E,
+ 4253: 0xC10F,
+ 4254: 0xC111,
+ 4255: 0xC112,
+ 4256: 0xC113,
+ 4257: 0xC114,
+ 4258: 0xC116,
+ 4259: 0xC117,
+ 4260: 0xC118,
+ 4261: 0xC119,
+ 4262: 0xC11A,
+ 4263: 0xC11B,
+ 4264: 0xC121,
+ 4265: 0xC122,
+ 4266: 0xC125,
+ 4267: 0xC128,
+ 4268: 0xC129,
+ 4269: 0xC12A,
+ 4270: 0xC12B,
+ 4271: 0xC12E,
+ 4272: 0xC132,
+ 4273: 0xC133,
+ 4274: 0xC134,
+ 4275: 0xC135,
+ 4276: 0xC137,
+ 4277: 0xC13A,
+ 4278: 0xC13B,
+ 4279: 0xC13D,
+ 4280: 0xC13E,
+ 4281: 0xC13F,
+ 4282: 0xC141,
+ 4283: 0xC142,
+ 4284: 0xC143,
+ 4285: 0xC144,
+ 4286: 0xC145,
+ 4287: 0xC146,
+ 4288: 0xC147,
+ 4289: 0xC14A,
+ 4290: 0xC14E,
+ 4291: 0xC14F,
+ 4292: 0xC150,
+ 4293: 0xC151,
+ 4294: 0xC152,
+ 4295: 0xC153,
+ 4296: 0xC156,
+ 4297: 0xC157,
+ 4298: 0xC159,
+ 4299: 0xC15A,
+ 4300: 0xC15B,
+ 4301: 0xC15D,
+ 4302: 0xC15E,
+ 4303: 0xC15F,
+ 4304: 0xC160,
+ 4305: 0xC161,
+ 4306: 0xC162,
+ 4307: 0xC163,
+ 4308: 0xC166,
+ 4309: 0xC16A,
+ 4310: 0xC16B,
+ 4311: 0xC16C,
+ 4312: 0xC16D,
+ 4313: 0xC16E,
+ 4314: 0xC16F,
+ 4315: 0xC171,
+ 4316: 0xC172,
+ 4317: 0xC173,
+ 4318: 0xC175,
+ 4319: 0xC176,
+ 4320: 0xC177,
+ 4321: 0xC179,
+ 4322: 0xC17A,
+ 4323: 0xC17B,
+ 4324: 0xC17C,
+ 4325: 0xC17D,
+ 4326: 0xC17E,
+ 4327: 0xC17F,
+ 4328: 0xC180,
+ 4329: 0xC181,
+ 4330: 0xC182,
+ 4331: 0xC183,
+ 4332: 0xC184,
+ 4333: 0xC186,
+ 4334: 0xC187,
+ 4335: 0xC188,
+ 4336: 0xC189,
+ 4337: 0xC18A,
+ 4338: 0xC18B,
+ 4339: 0xC18F,
+ 4340: 0xC191,
+ 4341: 0xC192,
+ 4342: 0xC193,
+ 4343: 0xC195,
+ 4344: 0xC197,
+ 4345: 0xC198,
+ 4346: 0xC199,
+ 4347: 0xC19A,
+ 4348: 0xC19B,
+ 4349: 0xC19E,
+ 4350: 0xC1A0,
+ 4351: 0xC1A2,
+ 4352: 0xC1A3,
+ 4353: 0xC1A4,
+ 4354: 0xC1A6,
+ 4355: 0xC1A7,
+ 4356: 0xC1AA,
+ 4357: 0xC1AB,
+ 4358: 0xC1AD,
+ 4359: 0xC1AE,
+ 4360: 0xC1AF,
+ 4361: 0xC1B1,
+ 4362: 0xC1B2,
+ 4363: 0xC1B3,
+ 4364: 0xC1B4,
+ 4365: 0xC1B5,
+ 4366: 0xC1B6,
+ 4367: 0xC1B7,
+ 4368: 0xC1B8,
+ 4369: 0xC1B9,
+ 4370: 0xC1BA,
+ 4371: 0xC1BB,
+ 4372: 0xC1BC,
+ 4373: 0xC1BE,
+ 4374: 0xC1BF,
+ 4375: 0xC1C0,
+ 4376: 0xC1C1,
+ 4377: 0xC1C2,
+ 4378: 0xC1C3,
+ 4379: 0xC1C5,
+ 4380: 0xC1C6,
+ 4381: 0xC1C7,
+ 4382: 0xC1C9,
+ 4383: 0xC1CA,
+ 4384: 0xC1CB,
+ 4385: 0xC1CD,
+ 4386: 0xC1CE,
+ 4387: 0xC1CF,
+ 4388: 0xC1D0,
+ 4389: 0xC1D1,
+ 4390: 0xC1D2,
+ 4391: 0xC1D3,
+ 4392: 0xC1D5,
+ 4393: 0xC1D6,
+ 4394: 0xC1D9,
+ 4395: 0xC1DA,
+ 4396: 0xC1DB,
+ 4397: 0xC1DC,
+ 4398: 0xC1DD,
+ 4399: 0xC1DE,
+ 4400: 0xC1DF,
+ 4401: 0xC1E1,
+ 4402: 0xC1E2,
+ 4403: 0xC1E3,
+ 4404: 0xC1E5,
+ 4405: 0xC1E6,
+ 4406: 0xC1E7,
+ 4407: 0xC1E9,
+ 4408: 0xC1EA,
+ 4409: 0xC1EB,
+ 4410: 0xC1EC,
+ 4411: 0xC1ED,
+ 4412: 0xC1EE,
+ 4413: 0xC1EF,
+ 4414: 0xC1F2,
+ 4415: 0xC1F4,
+ 4416: 0xC1F5,
+ 4417: 0xC1F6,
+ 4418: 0xC1F7,
+ 4419: 0xC1F8,
+ 4420: 0xC1F9,
+ 4421: 0xC1FA,
+ 4422: 0xC1FB,
+ 4423: 0xC1FE,
+ 4424: 0xC1FF,
+ 4425: 0xC201,
+ 4426: 0xC202,
+ 4427: 0xC203,
+ 4428: 0xC205,
+ 4429: 0xC206,
+ 4430: 0xC207,
+ 4431: 0xC208,
+ 4432: 0xC209,
+ 4433: 0xC20A,
+ 4434: 0xC20B,
+ 4435: 0xC20E,
+ 4436: 0xC210,
+ 4437: 0xC212,
+ 4438: 0xC213,
+ 4439: 0xC214,
+ 4440: 0xC215,
+ 4441: 0xC216,
+ 4442: 0xC217,
+ 4443: 0xC21A,
+ 4444: 0xC21B,
+ 4445: 0xC21D,
+ 4446: 0xC21E,
+ 4447: 0xC221,
+ 4448: 0xC222,
+ 4449: 0xC223,
+ 4450: 0xC224,
+ 4451: 0xC225,
+ 4452: 0xC226,
+ 4453: 0xC227,
+ 4454: 0xC22A,
+ 4455: 0xC22C,
+ 4456: 0xC22E,
+ 4457: 0xC230,
+ 4458: 0xC233,
+ 4459: 0xC235,
+ 4460: 0xC236,
+ 4461: 0xC237,
+ 4462: 0xC238,
+ 4463: 0xC239,
+ 4464: 0xC23A,
+ 4465: 0xC23B,
+ 4466: 0xC23C,
+ 4467: 0xC23D,
+ 4468: 0xC23E,
+ 4469: 0xC23F,
+ 4470: 0xC240,
+ 4471: 0xC241,
+ 4472: 0xC242,
+ 4473: 0xC243,
+ 4474: 0xC244,
+ 4475: 0xC245,
+ 4476: 0xC246,
+ 4477: 0xC247,
+ 4478: 0xC249,
+ 4479: 0xC24A,
+ 4480: 0xC24B,
+ 4481: 0xC24C,
+ 4482: 0xC24D,
+ 4483: 0xC24E,
+ 4484: 0xC24F,
+ 4485: 0xC252,
+ 4486: 0xC253,
+ 4487: 0xC255,
+ 4488: 0xC256,
+ 4489: 0xC257,
+ 4490: 0xC259,
+ 4491: 0xC25A,
+ 4492: 0xC25B,
+ 4493: 0xC25C,
+ 4494: 0xC25D,
+ 4495: 0xC25E,
+ 4496: 0xC25F,
+ 4497: 0xC261,
+ 4498: 0xC262,
+ 4499: 0xC263,
+ 4500: 0xC264,
+ 4501: 0xC266,
+ 4502: 0xC267,
+ 4503: 0xC268,
+ 4504: 0xC269,
+ 4505: 0xC26A,
+ 4506: 0xC26B,
+ 4507: 0xC26E,
+ 4508: 0xC26F,
+ 4509: 0xC271,
+ 4510: 0xC272,
+ 4511: 0xC273,
+ 4512: 0xC275,
+ 4513: 0xC276,
+ 4514: 0xC277,
+ 4515: 0xC278,
+ 4516: 0xC279,
+ 4517: 0xC27A,
+ 4518: 0xC27B,
+ 4519: 0xC27E,
+ 4520: 0xC280,
+ 4521: 0xC282,
+ 4522: 0xC283,
+ 4523: 0xC284,
+ 4524: 0xC285,
+ 4525: 0xC286,
+ 4526: 0xC287,
+ 4527: 0xC28A,
+ 4528: 0xC28B,
+ 4529: 0xC28C,
+ 4530: 0xC28D,
+ 4531: 0xC28E,
+ 4532: 0xC28F,
+ 4533: 0xC291,
+ 4534: 0xC292,
+ 4535: 0xC293,
+ 4536: 0xC294,
+ 4537: 0xC295,
+ 4538: 0xC296,
+ 4539: 0xC297,
+ 4540: 0xC299,
+ 4541: 0xC29A,
+ 4542: 0xC29C,
+ 4543: 0xC29E,
+ 4544: 0xC29F,
+ 4545: 0xC2A0,
+ 4546: 0xC2A1,
+ 4547: 0xC2A2,
+ 4548: 0xC2A3,
+ 4549: 0xC2A6,
+ 4550: 0xC2A7,
+ 4551: 0xC2A9,
+ 4552: 0xC2AA,
+ 4553: 0xC2AB,
+ 4554: 0xC2AE,
+ 4555: 0xC2AF,
+ 4556: 0xC2B0,
+ 4557: 0xC2B1,
+ 4558: 0xC2B2,
+ 4559: 0xC2B3,
+ 4560: 0xC2B6,
+ 4561: 0xC2B8,
+ 4562: 0xC2BA,
+ 4563: 0xC2BB,
+ 4564: 0xC2BC,
+ 4565: 0xC2BD,
+ 4566: 0xC2BE,
+ 4567: 0xC2BF,
+ 4568: 0xC2C0,
+ 4569: 0xC2C1,
+ 4570: 0xC2C2,
+ 4571: 0xC2C3,
+ 4572: 0xC2C4,
+ 4573: 0xC2C5,
+ 4574: 0xC2C6,
+ 4575: 0xC2C7,
+ 4576: 0xC2C8,
+ 4577: 0xC2C9,
+ 4578: 0xC2CA,
+ 4579: 0xC2CB,
+ 4580: 0xC2CC,
+ 4581: 0xC2CD,
+ 4582: 0xC2CE,
+ 4583: 0xC2CF,
+ 4584: 0xC2D0,
+ 4585: 0xC2D1,
+ 4586: 0xC2D2,
+ 4587: 0xC2D3,
+ 4588: 0xC2D4,
+ 4589: 0xC2D5,
+ 4590: 0xC2D6,
+ 4591: 0xC2D7,
+ 4592: 0xC2D8,
+ 4593: 0xC2D9,
+ 4594: 0xC2DA,
+ 4595: 0xC2DB,
+ 4596: 0xC2DE,
+ 4597: 0xC2DF,
+ 4598: 0xC2E1,
+ 4599: 0xC2E2,
+ 4600: 0xC2E5,
+ 4601: 0xC2E6,
+ 4602: 0xC2E7,
+ 4603: 0xC2E8,
+ 4604: 0xC2E9,
+ 4605: 0xC2EA,
+ 4606: 0xC2EE,
+ 4607: 0xC2F0,
+ 4608: 0xC2F2,
+ 4609: 0xC2F3,
+ 4610: 0xC2F4,
+ 4611: 0xC2F5,
+ 4612: 0xC2F7,
+ 4613: 0xC2FA,
+ 4614: 0xC2FD,
+ 4615: 0xC2FE,
+ 4616: 0xC2FF,
+ 4617: 0xC301,
+ 4618: 0xC302,
+ 4619: 0xC303,
+ 4620: 0xC304,
+ 4621: 0xC305,
+ 4622: 0xC306,
+ 4623: 0xC307,
+ 4624: 0xC30A,
+ 4625: 0xC30B,
+ 4626: 0xC30E,
+ 4627: 0xC30F,
+ 4628: 0xC310,
+ 4629: 0xC311,
+ 4630: 0xC312,
+ 4631: 0xC316,
+ 4632: 0xC317,
+ 4633: 0xC319,
+ 4634: 0xC31A,
+ 4635: 0xC31B,
+ 4636: 0xC31D,
+ 4637: 0xC31E,
+ 4638: 0xC31F,
+ 4639: 0xC320,
+ 4640: 0xC321,
+ 4641: 0xC322,
+ 4642: 0xC323,
+ 4643: 0xC326,
+ 4644: 0xC327,
+ 4645: 0xC32A,
+ 4646: 0xC32B,
+ 4647: 0xC32C,
+ 4648: 0xC32D,
+ 4649: 0xC32E,
+ 4650: 0xC32F,
+ 4651: 0xC330,
+ 4652: 0xC331,
+ 4653: 0xC332,
+ 4654: 0xC333,
+ 4655: 0xC334,
+ 4656: 0xC335,
+ 4657: 0xC336,
+ 4658: 0xC337,
+ 4659: 0xC338,
+ 4660: 0xC339,
+ 4661: 0xC33A,
+ 4662: 0xC33B,
+ 4663: 0xC33C,
+ 4664: 0xC33D,
+ 4665: 0xC33E,
+ 4666: 0xC33F,
+ 4667: 0xC340,
+ 4668: 0xC341,
+ 4669: 0xC342,
+ 4670: 0xC343,
+ 4671: 0xC344,
+ 4672: 0xC346,
+ 4673: 0xC347,
+ 4674: 0xC348,
+ 4675: 0xC349,
+ 4676: 0xC34A,
+ 4677: 0xC34B,
+ 4678: 0xC34C,
+ 4679: 0xC34D,
+ 4680: 0xC34E,
+ 4681: 0xC34F,
+ 4682: 0xC350,
+ 4683: 0xC351,
+ 4684: 0xC352,
+ 4685: 0xC353,
+ 4686: 0xC354,
+ 4687: 0xC355,
+ 4688: 0xC356,
+ 4689: 0xC357,
+ 4690: 0xC358,
+ 4691: 0xC359,
+ 4692: 0xC35A,
+ 4693: 0xC35B,
+ 4694: 0xC35C,
+ 4695: 0xC35D,
+ 4696: 0xC35E,
+ 4697: 0xC35F,
+ 4698: 0xC360,
+ 4699: 0xC361,
+ 4700: 0xC362,
+ 4701: 0xC363,
+ 4702: 0xC364,
+ 4703: 0xC365,
+ 4704: 0xC366,
+ 4705: 0xC367,
+ 4706: 0xC36A,
+ 4707: 0xC36B,
+ 4708: 0xC36D,
+ 4709: 0xC36E,
+ 4710: 0xC36F,
+ 4711: 0xC371,
+ 4712: 0xC373,
+ 4713: 0xC374,
+ 4714: 0xC375,
+ 4715: 0xC376,
+ 4716: 0xC377,
+ 4717: 0xC37A,
+ 4718: 0xC37B,
+ 4719: 0xC37E,
+ 4720: 0xC37F,
+ 4721: 0xC380,
+ 4722: 0xC381,
+ 4723: 0xC382,
+ 4724: 0xC383,
+ 4725: 0xC385,
+ 4726: 0xC386,
+ 4727: 0xC387,
+ 4728: 0xC389,
+ 4729: 0xC38A,
+ 4730: 0xC38B,
+ 4731: 0xC38D,
+ 4732: 0xC38E,
+ 4733: 0xC38F,
+ 4734: 0xC390,
+ 4735: 0xC391,
+ 4736: 0xC392,
+ 4737: 0xC393,
+ 4738: 0xC394,
+ 4739: 0xC395,
+ 4740: 0xC396,
+ 4741: 0xC397,
+ 4742: 0xC398,
+ 4743: 0xC399,
+ 4744: 0xC39A,
+ 4745: 0xC39B,
+ 4746: 0xC39C,
+ 4747: 0xC39D,
+ 4748: 0xC39E,
+ 4749: 0xC39F,
+ 4750: 0xC3A0,
+ 4751: 0xC3A1,
+ 4752: 0xC3A2,
+ 4753: 0xC3A3,
+ 4754: 0xC3A4,
+ 4755: 0xC3A5,
+ 4756: 0xC3A6,
+ 4757: 0xC3A7,
+ 4758: 0xC3A8,
+ 4759: 0xC3A9,
+ 4760: 0xC3AA,
+ 4761: 0xC3AB,
+ 4762: 0xC3AC,
+ 4763: 0xC3AD,
+ 4764: 0xC3AE,
+ 4765: 0xC3AF,
+ 4766: 0xC3B0,
+ 4767: 0xC3B1,
+ 4768: 0xC3B2,
+ 4769: 0xC3B3,
+ 4770: 0xC3B4,
+ 4771: 0xC3B5,
+ 4772: 0xC3B6,
+ 4773: 0xC3B7,
+ 4774: 0xC3B8,
+ 4775: 0xC3B9,
+ 4776: 0xC3BA,
+ 4777: 0xC3BB,
+ 4778: 0xC3BC,
+ 4779: 0xC3BD,
+ 4780: 0xC3BE,
+ 4781: 0xC3BF,
+ 4782: 0xC3C1,
+ 4783: 0xC3C2,
+ 4784: 0xC3C3,
+ 4785: 0xC3C4,
+ 4786: 0xC3C5,
+ 4787: 0xC3C6,
+ 4788: 0xC3C7,
+ 4789: 0xC3C8,
+ 4790: 0xC3C9,
+ 4791: 0xC3CA,
+ 4792: 0xC3CB,
+ 4793: 0xC3CC,
+ 4794: 0xC3CD,
+ 4795: 0xC3CE,
+ 4796: 0xC3CF,
+ 4797: 0xC3D0,
+ 4798: 0xC3D1,
+ 4799: 0xC3D2,
+ 4800: 0xC3D3,
+ 4801: 0xC3D4,
+ 4802: 0xC3D5,
+ 4803: 0xC3D6,
+ 4804: 0xC3D7,
+ 4805: 0xC3DA,
+ 4806: 0xC3DB,
+ 4807: 0xC3DD,
+ 4808: 0xC3DE,
+ 4809: 0xC3E1,
+ 4810: 0xC3E3,
+ 4811: 0xC3E4,
+ 4812: 0xC3E5,
+ 4813: 0xC3E6,
+ 4814: 0xC3E7,
+ 4815: 0xC3EA,
+ 4816: 0xC3EB,
+ 4817: 0xC3EC,
+ 4818: 0xC3EE,
+ 4819: 0xC3EF,
+ 4820: 0xC3F0,
+ 4821: 0xC3F1,
+ 4822: 0xC3F2,
+ 4823: 0xC3F3,
+ 4824: 0xC3F6,
+ 4825: 0xC3F7,
+ 4826: 0xC3F9,
+ 4827: 0xC3FA,
+ 4828: 0xC3FB,
+ 4829: 0xC3FC,
+ 4830: 0xC3FD,
+ 4831: 0xC3FE,
+ 4832: 0xC3FF,
+ 4833: 0xC400,
+ 4834: 0xC401,
+ 4835: 0xC402,
+ 4836: 0xC403,
+ 4837: 0xC404,
+ 4838: 0xC405,
+ 4839: 0xC406,
+ 4840: 0xC407,
+ 4841: 0xC409,
+ 4842: 0xC40A,
+ 4843: 0xC40B,
+ 4844: 0xC40C,
+ 4845: 0xC40D,
+ 4846: 0xC40E,
+ 4847: 0xC40F,
+ 4848: 0xC411,
+ 4849: 0xC412,
+ 4850: 0xC413,
+ 4851: 0xC414,
+ 4852: 0xC415,
+ 4853: 0xC416,
+ 4854: 0xC417,
+ 4855: 0xC418,
+ 4856: 0xC419,
+ 4857: 0xC41A,
+ 4858: 0xC41B,
+ 4859: 0xC41C,
+ 4860: 0xC41D,
+ 4861: 0xC41E,
+ 4862: 0xC41F,
+ 4863: 0xC420,
+ 4864: 0xC421,
+ 4865: 0xC422,
+ 4866: 0xC423,
+ 4867: 0xC425,
+ 4868: 0xC426,
+ 4869: 0xC427,
+ 4870: 0xC428,
+ 4871: 0xC429,
+ 4872: 0xC42A,
+ 4873: 0xC42B,
+ 4874: 0xC42D,
+ 4875: 0xC42E,
+ 4876: 0xC42F,
+ 4877: 0xC431,
+ 4878: 0xC432,
+ 4879: 0xC433,
+ 4880: 0xC435,
+ 4881: 0xC436,
+ 4882: 0xC437,
+ 4883: 0xC438,
+ 4884: 0xC439,
+ 4885: 0xC43A,
+ 4886: 0xC43B,
+ 4887: 0xC43E,
+ 4888: 0xC43F,
+ 4889: 0xC440,
+ 4890: 0xC441,
+ 4891: 0xC442,
+ 4892: 0xC443,
+ 4893: 0xC444,
+ 4894: 0xC445,
+ 4895: 0xC446,
+ 4896: 0xC447,
+ 4897: 0xC449,
+ 4898: 0xC44A,
+ 4899: 0xC44B,
+ 4900: 0xC44C,
+ 4901: 0xC44D,
+ 4902: 0xC44E,
+ 4903: 0xC44F,
+ 4904: 0xC450,
+ 4905: 0xC451,
+ 4906: 0xC452,
+ 4907: 0xC453,
+ 4908: 0xC454,
+ 4909: 0xC455,
+ 4910: 0xC456,
+ 4911: 0xC457,
+ 4912: 0xC458,
+ 4913: 0xC459,
+ 4914: 0xC45A,
+ 4915: 0xC45B,
+ 4916: 0xC45C,
+ 4917: 0xC45D,
+ 4918: 0xC45E,
+ 4919: 0xC45F,
+ 4920: 0xC460,
+ 4921: 0xC461,
+ 4922: 0xC462,
+ 4923: 0xC463,
+ 4924: 0xC466,
+ 4925: 0xC467,
+ 4926: 0xC469,
+ 4927: 0xC46A,
+ 4928: 0xC46B,
+ 4929: 0xC46D,
+ 4930: 0xC46E,
+ 4931: 0xC46F,
+ 4932: 0xC470,
+ 4933: 0xC471,
+ 4934: 0xC472,
+ 4935: 0xC473,
+ 4936: 0xC476,
+ 4937: 0xC477,
+ 4938: 0xC478,
+ 4939: 0xC47A,
+ 4940: 0xC47B,
+ 4941: 0xC47C,
+ 4942: 0xC47D,
+ 4943: 0xC47E,
+ 4944: 0xC47F,
+ 4945: 0xC481,
+ 4946: 0xC482,
+ 4947: 0xC483,
+ 4948: 0xC484,
+ 4949: 0xC485,
+ 4950: 0xC486,
+ 4951: 0xC487,
+ 4952: 0xC488,
+ 4953: 0xC489,
+ 4954: 0xC48A,
+ 4955: 0xC48B,
+ 4956: 0xC48C,
+ 4957: 0xC48D,
+ 4958: 0xC48E,
+ 4959: 0xC48F,
+ 4960: 0xC490,
+ 4961: 0xC491,
+ 4962: 0xC492,
+ 4963: 0xC493,
+ 4964: 0xC495,
+ 4965: 0xC496,
+ 4966: 0xC497,
+ 4967: 0xC498,
+ 4968: 0xC499,
+ 4969: 0xC49A,
+ 4970: 0xC49B,
+ 4971: 0xC49D,
+ 4972: 0xC49E,
+ 4973: 0xC49F,
+ 4974: 0xC4A0,
+ 4975: 0xC4A1,
+ 4976: 0xC4A2,
+ 4977: 0xC4A3,
+ 4978: 0xC4A4,
+ 4979: 0xC4A5,
+ 4980: 0xC4A6,
+ 4981: 0xC4A7,
+ 4982: 0xC4A8,
+ 4983: 0xC4A9,
+ 4984: 0xC4AA,
+ 4985: 0xC4AB,
+ 4986: 0xC4AC,
+ 4987: 0xC4AD,
+ 4988: 0xC4AE,
+ 4989: 0xC4AF,
+ 4990: 0xC4B0,
+ 4991: 0xC4B1,
+ 4992: 0xC4B2,
+ 4993: 0xC4B3,
+ 4994: 0xC4B4,
+ 4995: 0xC4B5,
+ 4996: 0xC4B6,
+ 4997: 0xC4B7,
+ 4998: 0xC4B9,
+ 4999: 0xC4BA,
+ 5000: 0xC4BB,
+ 5001: 0xC4BD,
+ 5002: 0xC4BE,
+ 5003: 0xC4BF,
+ 5004: 0xC4C0,
+ 5005: 0xC4C1,
+ 5006: 0xC4C2,
+ 5007: 0xC4C3,
+ 5008: 0xC4C4,
+ 5009: 0xC4C5,
+ 5010: 0xC4C6,
+ 5011: 0xC4C7,
+ 5012: 0xC4C8,
+ 5013: 0xC4C9,
+ 5014: 0xC4CA,
+ 5015: 0xC4CB,
+ 5016: 0xC4CC,
+ 5017: 0xC4CD,
+ 5018: 0xC4CE,
+ 5019: 0xC4CF,
+ 5020: 0xC4D0,
+ 5021: 0xC4D1,
+ 5022: 0xC4D2,
+ 5023: 0xC4D3,
+ 5024: 0xC4D4,
+ 5025: 0xC4D5,
+ 5026: 0xC4D6,
+ 5027: 0xC4D7,
+ 5028: 0xC4D8,
+ 5029: 0xC4D9,
+ 5030: 0xC4DA,
+ 5031: 0xC4DB,
+ 5032: 0xC4DC,
+ 5033: 0xC4DD,
+ 5034: 0xC4DE,
+ 5035: 0xC4DF,
+ 5036: 0xC4E0,
+ 5037: 0xC4E1,
+ 5038: 0xC4E2,
+ 5039: 0xC4E3,
+ 5040: 0xC4E4,
+ 5041: 0xC4E5,
+ 5042: 0xC4E6,
+ 5043: 0xC4E7,
+ 5044: 0xC4E8,
+ 5045: 0xC4EA,
+ 5046: 0xC4EB,
+ 5047: 0xC4EC,
+ 5048: 0xC4ED,
+ 5049: 0xC4EE,
+ 5050: 0xC4EF,
+ 5051: 0xC4F2,
+ 5052: 0xC4F3,
+ 5053: 0xC4F5,
+ 5054: 0xC4F6,
+ 5055: 0xC4F7,
+ 5056: 0xC4F9,
+ 5057: 0xC4FB,
+ 5058: 0xC4FC,
+ 5059: 0xC4FD,
+ 5060: 0xC4FE,
+ 5061: 0xC502,
+ 5062: 0xC503,
+ 5063: 0xC504,
+ 5064: 0xC505,
+ 5065: 0xC506,
+ 5066: 0xC507,
+ 5067: 0xC508,
+ 5068: 0xC509,
+ 5069: 0xC50A,
+ 5070: 0xC50B,
+ 5071: 0xC50D,
+ 5072: 0xC50E,
+ 5073: 0xC50F,
+ 5074: 0xC511,
+ 5075: 0xC512,
+ 5076: 0xC513,
+ 5077: 0xC515,
+ 5078: 0xC516,
+ 5079: 0xC517,
+ 5080: 0xC518,
+ 5081: 0xC519,
+ 5082: 0xC51A,
+ 5083: 0xC51B,
+ 5084: 0xC51D,
+ 5085: 0xC51E,
+ 5086: 0xC51F,
+ 5087: 0xC520,
+ 5088: 0xC521,
+ 5089: 0xC522,
+ 5090: 0xC523,
+ 5091: 0xC524,
+ 5092: 0xC525,
+ 5093: 0xC526,
+ 5094: 0xC527,
+ 5095: 0xC52A,
+ 5096: 0xC52B,
+ 5097: 0xC52D,
+ 5098: 0xC52E,
+ 5099: 0xC52F,
+ 5100: 0xC531,
+ 5101: 0xC532,
+ 5102: 0xC533,
+ 5103: 0xC534,
+ 5104: 0xC535,
+ 5105: 0xC536,
+ 5106: 0xC537,
+ 5107: 0xC53A,
+ 5108: 0xC53C,
+ 5109: 0xC53E,
+ 5110: 0xC53F,
+ 5111: 0xC540,
+ 5112: 0xC541,
+ 5113: 0xC542,
+ 5114: 0xC543,
+ 5115: 0xC546,
+ 5116: 0xC547,
+ 5117: 0xC54B,
+ 5118: 0xC54F,
+ 5119: 0xC550,
+ 5120: 0xC551,
+ 5121: 0xC552,
+ 5122: 0xC556,
+ 5123: 0xC55A,
+ 5124: 0xC55B,
+ 5125: 0xC55C,
+ 5126: 0xC55F,
+ 5127: 0xC562,
+ 5128: 0xC563,
+ 5129: 0xC565,
+ 5130: 0xC566,
+ 5131: 0xC567,
+ 5132: 0xC569,
+ 5133: 0xC56A,
+ 5134: 0xC56B,
+ 5135: 0xC56C,
+ 5136: 0xC56D,
+ 5137: 0xC56E,
+ 5138: 0xC56F,
+ 5139: 0xC572,
+ 5140: 0xC576,
+ 5141: 0xC577,
+ 5142: 0xC578,
+ 5143: 0xC579,
+ 5144: 0xC57A,
+ 5145: 0xC57B,
+ 5146: 0xC57E,
+ 5147: 0xC57F,
+ 5148: 0xC581,
+ 5149: 0xC582,
+ 5150: 0xC583,
+ 5151: 0xC585,
+ 5152: 0xC586,
+ 5153: 0xC588,
+ 5154: 0xC589,
+ 5155: 0xC58A,
+ 5156: 0xC58B,
+ 5157: 0xC58E,
+ 5158: 0xC590,
+ 5159: 0xC592,
+ 5160: 0xC593,
+ 5161: 0xC594,
+ 5162: 0xC596,
+ 5163: 0xC599,
+ 5164: 0xC59A,
+ 5165: 0xC59B,
+ 5166: 0xC59D,
+ 5167: 0xC59E,
+ 5168: 0xC59F,
+ 5169: 0xC5A1,
+ 5170: 0xC5A2,
+ 5171: 0xC5A3,
+ 5172: 0xC5A4,
+ 5173: 0xC5A5,
+ 5174: 0xC5A6,
+ 5175: 0xC5A7,
+ 5176: 0xC5A8,
+ 5177: 0xC5AA,
+ 5178: 0xC5AB,
+ 5179: 0xC5AC,
+ 5180: 0xC5AD,
+ 5181: 0xC5AE,
+ 5182: 0xC5AF,
+ 5183: 0xC5B0,
+ 5184: 0xC5B1,
+ 5185: 0xC5B2,
+ 5186: 0xC5B3,
+ 5187: 0xC5B6,
+ 5188: 0xC5B7,
+ 5189: 0xC5BA,
+ 5190: 0xC5BF,
+ 5191: 0xC5C0,
+ 5192: 0xC5C1,
+ 5193: 0xC5C2,
+ 5194: 0xC5C3,
+ 5195: 0xC5CB,
+ 5196: 0xC5CD,
+ 5197: 0xC5CF,
+ 5198: 0xC5D2,
+ 5199: 0xC5D3,
+ 5200: 0xC5D5,
+ 5201: 0xC5D6,
+ 5202: 0xC5D7,
+ 5203: 0xC5D9,
+ 5204: 0xC5DA,
+ 5205: 0xC5DB,
+ 5206: 0xC5DC,
+ 5207: 0xC5DD,
+ 5208: 0xC5DE,
+ 5209: 0xC5DF,
+ 5210: 0xC5E2,
+ 5211: 0xC5E4,
+ 5212: 0xC5E6,
+ 5213: 0xC5E7,
+ 5214: 0xC5E8,
+ 5215: 0xC5E9,
+ 5216: 0xC5EA,
+ 5217: 0xC5EB,
+ 5218: 0xC5EF,
+ 5219: 0xC5F1,
+ 5220: 0xC5F2,
+ 5221: 0xC5F3,
+ 5222: 0xC5F5,
+ 5223: 0xC5F8,
+ 5224: 0xC5F9,
+ 5225: 0xC5FA,
+ 5226: 0xC5FB,
+ 5227: 0xC602,
+ 5228: 0xC603,
+ 5229: 0xC604,
+ 5230: 0xC609,
+ 5231: 0xC60A,
+ 5232: 0xC60B,
+ 5233: 0xC60D,
+ 5234: 0xC60E,
+ 5235: 0xC60F,
+ 5236: 0xC611,
+ 5237: 0xC612,
+ 5238: 0xC613,
+ 5239: 0xC614,
+ 5240: 0xC615,
+ 5241: 0xC616,
+ 5242: 0xC617,
+ 5243: 0xC61A,
+ 5244: 0xC61D,
+ 5245: 0xC61E,
+ 5246: 0xC61F,
+ 5247: 0xC620,
+ 5248: 0xC621,
+ 5249: 0xC622,
+ 5250: 0xC623,
+ 5251: 0xC626,
+ 5252: 0xC627,
+ 5253: 0xC629,
+ 5254: 0xC62A,
+ 5255: 0xC62B,
+ 5256: 0xC62F,
+ 5257: 0xC631,
+ 5258: 0xC632,
+ 5259: 0xC636,
+ 5260: 0xC638,
+ 5261: 0xC63A,
+ 5262: 0xC63C,
+ 5263: 0xC63D,
+ 5264: 0xC63E,
+ 5265: 0xC63F,
+ 5266: 0xC642,
+ 5267: 0xC643,
+ 5268: 0xC645,
+ 5269: 0xC646,
+ 5270: 0xC647,
+ 5271: 0xC649,
+ 5272: 0xC64A,
+ 5273: 0xC64B,
+ 5274: 0xC64C,
+ 5275: 0xC64D,
+ 5276: 0xC64E,
+ 5277: 0xC64F,
+ 5278: 0xC652,
+ 5279: 0xC656,
+ 5280: 0xC657,
+ 5281: 0xC658,
+ 5282: 0xC659,
+ 5283: 0xC65A,
+ 5284: 0xC65B,
+ 5285: 0xC65E,
+ 5286: 0xC65F,
+ 5287: 0xC661,
+ 5288: 0xC662,
+ 5289: 0xC663,
+ 5290: 0xC664,
+ 5291: 0xC665,
+ 5292: 0xC666,
+ 5293: 0xC667,
+ 5294: 0xC668,
+ 5295: 0xC669,
+ 5296: 0xC66A,
+ 5297: 0xC66B,
+ 5298: 0xC66D,
+ 5299: 0xC66E,
+ 5300: 0xC670,
+ 5301: 0xC672,
+ 5302: 0xC673,
+ 5303: 0xC674,
+ 5304: 0xC675,
+ 5305: 0xC676,
+ 5306: 0xC677,
+ 5307: 0xC67A,
+ 5308: 0xC67B,
+ 5309: 0xC67D,
+ 5310: 0xC67E,
+ 5311: 0xC67F,
+ 5312: 0xC681,
+ 5313: 0xC682,
+ 5314: 0xC683,
+ 5315: 0xC684,
+ 5316: 0xC685,
+ 5317: 0xC686,
+ 5318: 0xC687,
+ 5319: 0xC68A,
+ 5320: 0xC68C,
+ 5321: 0xC68E,
+ 5322: 0xC68F,
+ 5323: 0xC690,
+ 5324: 0xC691,
+ 5325: 0xC692,
+ 5326: 0xC693,
+ 5327: 0xC696,
+ 5328: 0xC697,
+ 5329: 0xC699,
+ 5330: 0xC69A,
+ 5331: 0xC69B,
+ 5332: 0xC69D,
+ 5333: 0xC69E,
+ 5334: 0xC69F,
+ 5335: 0xC6A0,
+ 5336: 0xC6A1,
+ 5337: 0xC6A2,
+ 5338: 0xC6A3,
+ 5339: 0xC6A6,
+ 5340: 0xC6A8,
+ 5341: 0xC6AA,
+ 5342: 0xC6AB,
+ 5343: 0xC6AC,
+ 5344: 0xC6AD,
+ 5345: 0xC6AE,
+ 5346: 0xC6AF,
+ 5347: 0xC6B2,
+ 5348: 0xC6B3,
+ 5349: 0xC6B5,
+ 5350: 0xC6B6,
+ 5351: 0xC6B7,
+ 5352: 0xC6BB,
+ 5353: 0xC6BC,
+ 5354: 0xC6BD,
+ 5355: 0xC6BE,
+ 5356: 0xC6BF,
+ 5357: 0xC6C2,
+ 5358: 0xC6C4,
+ 5359: 0xC6C6,
+ 5360: 0xC6C7,
+ 5361: 0xC6C8,
+ 5362: 0xC6C9,
+ 5363: 0xC6CA,
+ 5364: 0xC6CB,
+ 5365: 0xC6CE,
+ 5366: 0xC6CF,
+ 5367: 0xC6D1,
+ 5368: 0xC6D2,
+ 5369: 0xC6D3,
+ 5370: 0xC6D5,
+ 5371: 0xC6D6,
+ 5372: 0xC6D7,
+ 5373: 0xC6D8,
+ 5374: 0xC6D9,
+ 5375: 0xC6DA,
+ 5376: 0xC6DB,
+ 5377: 0xC6DE,
+ 5378: 0xC6DF,
+ 5379: 0xC6E2,
+ 5380: 0xC6E3,
+ 5381: 0xC6E4,
+ 5382: 0xC6E5,
+ 5383: 0xC6E6,
+ 5384: 0xC6E7,
+ 5385: 0xC6EA,
+ 5386: 0xC6EB,
+ 5387: 0xC6ED,
+ 5388: 0xC6EE,
+ 5389: 0xC6EF,
+ 5390: 0xC6F1,
+ 5391: 0xC6F2,
+ 5392: 0xC6F3,
+ 5393: 0xC6F4,
+ 5394: 0xC6F5,
+ 5395: 0xC6F6,
+ 5396: 0xC6F7,
+ 5397: 0xC6FA,
+ 5398: 0xC6FB,
+ 5399: 0xC6FC,
+ 5400: 0xC6FE,
+ 5401: 0xC6FF,
+ 5402: 0xC700,
+ 5403: 0xC701,
+ 5404: 0xC702,
+ 5405: 0xC703,
+ 5406: 0xC706,
+ 5407: 0xC707,
+ 5408: 0xC709,
+ 5409: 0xC70A,
+ 5410: 0xC70B,
+ 5411: 0xC70D,
+ 5412: 0xC70E,
+ 5413: 0xC70F,
+ 5414: 0xC710,
+ 5415: 0xC711,
+ 5416: 0xC712,
+ 5417: 0xC713,
+ 5418: 0xC716,
+ 5419: 0xC718,
+ 5420: 0xC71A,
+ 5421: 0xC71B,
+ 5422: 0xC71C,
+ 5423: 0xC71D,
+ 5424: 0xC71E,
+ 5425: 0xC71F,
+ 5426: 0xC722,
+ 5427: 0xC723,
+ 5428: 0xC725,
+ 5429: 0xC726,
+ 5430: 0xC727,
+ 5431: 0xC729,
+ 5432: 0xC72A,
+ 5433: 0xC72B,
+ 5434: 0xC72C,
+ 5435: 0xC72D,
+ 5436: 0xC72E,
+ 5437: 0xC72F,
+ 5438: 0xC732,
+ 5439: 0xC734,
+ 5440: 0xC736,
+ 5441: 0xC738,
+ 5442: 0xC739,
+ 5443: 0xC73A,
+ 5444: 0xC73B,
+ 5445: 0xC73E,
+ 5446: 0xC73F,
+ 5447: 0xC741,
+ 5448: 0xC742,
+ 5449: 0xC743,
+ 5450: 0xC745,
+ 5451: 0xC746,
+ 5452: 0xC747,
+ 5453: 0xC748,
+ 5454: 0xC749,
+ 5455: 0xC74B,
+ 5456: 0xC74E,
+ 5457: 0xC750,
+ 5458: 0xC759,
+ 5459: 0xC75A,
+ 5460: 0xC75B,
+ 5461: 0xC75D,
+ 5462: 0xC75E,
+ 5463: 0xC75F,
+ 5464: 0xC761,
+ 5465: 0xC762,
+ 5466: 0xC763,
+ 5467: 0xC764,
+ 5468: 0xC765,
+ 5469: 0xC766,
+ 5470: 0xC767,
+ 5471: 0xC769,
+ 5472: 0xC76A,
+ 5473: 0xC76C,
+ 5474: 0xC76D,
+ 5475: 0xC76E,
+ 5476: 0xC76F,
+ 5477: 0xC770,
+ 5478: 0xC771,
+ 5479: 0xC772,
+ 5480: 0xC773,
+ 5481: 0xC776,
+ 5482: 0xC777,
+ 5483: 0xC779,
+ 5484: 0xC77A,
+ 5485: 0xC77B,
+ 5486: 0xC77F,
+ 5487: 0xC780,
+ 5488: 0xC781,
+ 5489: 0xC782,
+ 5490: 0xC786,
+ 5491: 0xC78B,
+ 5492: 0xC78C,
+ 5493: 0xC78D,
+ 5494: 0xC78F,
+ 5495: 0xC792,
+ 5496: 0xC793,
+ 5497: 0xC795,
+ 5498: 0xC799,
+ 5499: 0xC79B,
+ 5500: 0xC79C,
+ 5501: 0xC79D,
+ 5502: 0xC79E,
+ 5503: 0xC79F,
+ 5504: 0xC7A2,
+ 5505: 0xC7A7,
+ 5506: 0xC7A8,
+ 5507: 0xC7A9,
+ 5508: 0xC7AA,
+ 5509: 0xC7AB,
+ 5510: 0xC7AE,
+ 5511: 0xC7AF,
+ 5512: 0xC7B1,
+ 5513: 0xC7B2,
+ 5514: 0xC7B3,
+ 5515: 0xC7B5,
+ 5516: 0xC7B6,
+ 5517: 0xC7B7,
+ 5518: 0xC7B8,
+ 5519: 0xC7B9,
+ 5520: 0xC7BA,
+ 5521: 0xC7BB,
+ 5522: 0xC7BE,
+ 5523: 0xC7C2,
+ 5524: 0xC7C3,
+ 5525: 0xC7C4,
+ 5526: 0xC7C5,
+ 5527: 0xC7C6,
+ 5528: 0xC7C7,
+ 5529: 0xC7CA,
+ 5530: 0xC7CB,
+ 5531: 0xC7CD,
+ 5532: 0xC7CF,
+ 5533: 0xC7D1,
+ 5534: 0xC7D2,
+ 5535: 0xC7D3,
+ 5536: 0xC7D4,
+ 5537: 0xC7D5,
+ 5538: 0xC7D6,
+ 5539: 0xC7D7,
+ 5540: 0xC7D9,
+ 5541: 0xC7DA,
+ 5542: 0xC7DB,
+ 5543: 0xC7DC,
+ 5544: 0xC7DE,
+ 5545: 0xC7DF,
+ 5546: 0xC7E0,
+ 5547: 0xC7E1,
+ 5548: 0xC7E2,
+ 5549: 0xC7E3,
+ 5550: 0xC7E5,
+ 5551: 0xC7E6,
+ 5552: 0xC7E7,
+ 5553: 0xC7E9,
+ 5554: 0xC7EA,
+ 5555: 0xC7EB,
+ 5556: 0xC7ED,
+ 5557: 0xC7EE,
+ 5558: 0xC7EF,
+ 5559: 0xC7F0,
+ 5560: 0xC7F1,
+ 5561: 0xC7F2,
+ 5562: 0xC7F3,
+ 5563: 0xC7F4,
+ 5564: 0xC7F5,
+ 5565: 0xC7F6,
+ 5566: 0xC7F7,
+ 5567: 0xC7F8,
+ 5568: 0xC7F9,
+ 5569: 0xC7FA,
+ 5570: 0xC7FB,
+ 5571: 0xC7FC,
+ 5572: 0xC7FD,
+ 5573: 0xC7FE,
+ 5574: 0xC7FF,
+ 5575: 0xC802,
+ 5576: 0xC803,
+ 5577: 0xC805,
+ 5578: 0xC806,
+ 5579: 0xC807,
+ 5580: 0xC809,
+ 5581: 0xC80B,
+ 5582: 0xC80C,
+ 5583: 0xC80D,
+ 5584: 0xC80E,
+ 5585: 0xC80F,
+ 5586: 0xC812,
+ 5587: 0xC814,
+ 5588: 0xC817,
+ 5589: 0xC818,
+ 5590: 0xC819,
+ 5591: 0xC81A,
+ 5592: 0xC81B,
+ 5593: 0xC81E,
+ 5594: 0xC81F,
+ 5595: 0xC821,
+ 5596: 0xC822,
+ 5597: 0xC823,
+ 5598: 0xC825,
+ 5599: 0xC826,
+ 5600: 0xC827,
+ 5601: 0xC828,
+ 5602: 0xC829,
+ 5603: 0xC82A,
+ 5604: 0xC82B,
+ 5605: 0xC82E,
+ 5606: 0xC830,
+ 5607: 0xC832,
+ 5608: 0xC833,
+ 5609: 0xC834,
+ 5610: 0xC835,
+ 5611: 0xC836,
+ 5612: 0xC837,
+ 5613: 0xC839,
+ 5614: 0xC83A,
+ 5615: 0xC83B,
+ 5616: 0xC83D,
+ 5617: 0xC83E,
+ 5618: 0xC83F,
+ 5619: 0xC841,
+ 5620: 0xC842,
+ 5621: 0xC843,
+ 5622: 0xC844,
+ 5623: 0xC845,
+ 5624: 0xC846,
+ 5625: 0xC847,
+ 5626: 0xC84A,
+ 5627: 0xC84B,
+ 5628: 0xC84E,
+ 5629: 0xC84F,
+ 5630: 0xC850,
+ 5631: 0xC851,
+ 5632: 0xC852,
+ 5633: 0xC853,
+ 5634: 0xC855,
+ 5635: 0xC856,
+ 5636: 0xC857,
+ 5637: 0xC858,
+ 5638: 0xC859,
+ 5639: 0xC85A,
+ 5640: 0xC85B,
+ 5641: 0xC85C,
+ 5642: 0xC85D,
+ 5643: 0xC85E,
+ 5644: 0xC85F,
+ 5645: 0xC860,
+ 5646: 0xC861,
+ 5647: 0xC862,
+ 5648: 0xC863,
+ 5649: 0xC864,
+ 5650: 0xC865,
+ 5651: 0xC866,
+ 5652: 0xC867,
+ 5653: 0xC868,
+ 5654: 0xC869,
+ 5655: 0xC86A,
+ 5656: 0xC86B,
+ 5657: 0xC86C,
+ 5658: 0xC86D,
+ 5659: 0xC86E,
+ 5660: 0xC86F,
+ 5661: 0xC872,
+ 5662: 0xC873,
+ 5663: 0xC875,
+ 5664: 0xC876,
+ 5665: 0xC877,
+ 5666: 0xC879,
+ 5667: 0xC87B,
+ 5668: 0xC87C,
+ 5669: 0xC87D,
+ 5670: 0xC87E,
+ 5671: 0xC87F,
+ 5672: 0xC882,
+ 5673: 0xC884,
+ 5674: 0xC888,
+ 5675: 0xC889,
+ 5676: 0xC88A,
+ 5677: 0xC88E,
+ 5678: 0xC88F,
+ 5679: 0xC890,
+ 5680: 0xC891,
+ 5681: 0xC892,
+ 5682: 0xC893,
+ 5683: 0xC895,
+ 5684: 0xC896,
+ 5685: 0xC897,
+ 5686: 0xC898,
+ 5687: 0xC899,
+ 5688: 0xC89A,
+ 5689: 0xC89B,
+ 5690: 0xC89C,
+ 5691: 0xC89E,
+ 5692: 0xC8A0,
+ 5693: 0xC8A2,
+ 5694: 0xC8A3,
+ 5695: 0xC8A4,
+ 5696: 0xC8A5,
+ 5697: 0xC8A6,
+ 5698: 0xC8A7,
+ 5699: 0xC8A9,
+ 5700: 0xC8AA,
+ 5701: 0xC8AB,
+ 5702: 0xC8AC,
+ 5703: 0xC8AD,
+ 5704: 0xC8AE,
+ 5705: 0xC8AF,
+ 5706: 0xC8B0,
+ 5707: 0xC8B1,
+ 5708: 0xC8B2,
+ 5709: 0xC8B3,
+ 5710: 0xC8B4,
+ 5711: 0xC8B5,
+ 5712: 0xC8B6,
+ 5713: 0xC8B7,
+ 5714: 0xC8B8,
+ 5715: 0xC8B9,
+ 5716: 0xC8BA,
+ 5717: 0xC8BB,
+ 5718: 0xC8BE,
+ 5719: 0xC8BF,
+ 5720: 0xC8C0,
+ 5721: 0xC8C1,
+ 5722: 0xC8C2,
+ 5723: 0xC8C3,
+ 5724: 0xC8C5,
+ 5725: 0xC8C6,
+ 5726: 0xC8C7,
+ 5727: 0xC8C9,
+ 5728: 0xC8CA,
+ 5729: 0xC8CB,
+ 5730: 0xC8CD,
+ 5731: 0xC8CE,
+ 5732: 0xC8CF,
+ 5733: 0xC8D0,
+ 5734: 0xC8D1,
+ 5735: 0xC8D2,
+ 5736: 0xC8D3,
+ 5737: 0xC8D6,
+ 5738: 0xC8D8,
+ 5739: 0xC8DA,
+ 5740: 0xC8DB,
+ 5741: 0xC8DC,
+ 5742: 0xC8DD,
+ 5743: 0xC8DE,
+ 5744: 0xC8DF,
+ 5745: 0xC8E2,
+ 5746: 0xC8E3,
+ 5747: 0xC8E5,
+ 5748: 0xC8E6,
+ 5749: 0xC8E7,
+ 5750: 0xC8E8,
+ 5751: 0xC8E9,
+ 5752: 0xC8EA,
+ 5753: 0xC8EB,
+ 5754: 0xC8EC,
+ 5755: 0xC8ED,
+ 5756: 0xC8EE,
+ 5757: 0xC8EF,
+ 5758: 0xC8F0,
+ 5759: 0xC8F1,
+ 5760: 0xC8F2,
+ 5761: 0xC8F3,
+ 5762: 0xC8F4,
+ 5763: 0xC8F6,
+ 5764: 0xC8F7,
+ 5765: 0xC8F8,
+ 5766: 0xC8F9,
+ 5767: 0xC8FA,
+ 5768: 0xC8FB,
+ 5769: 0xC8FE,
+ 5770: 0xC8FF,
+ 5771: 0xC901,
+ 5772: 0xC902,
+ 5773: 0xC903,
+ 5774: 0xC907,
+ 5775: 0xC908,
+ 5776: 0xC909,
+ 5777: 0xC90A,
+ 5778: 0xC90B,
+ 5779: 0xC90E,
+ 5780: 0x3000,
+ 5781: 0x3001,
+ 5782: 0x3002,
+ 5783: 0x00B7,
+ 5784: 0x2025,
+ 5785: 0x2026,
+ 5786: 0x00A8,
+ 5787: 0x3003,
+ 5788: 0x00AD,
+ 5789: 0x2015,
+ 5790: 0x2225,
+ 5791: 0xFF3C,
+ 5792: 0x223C,
+ 5793: 0x2018,
+ 5794: 0x2019,
+ 5795: 0x201C,
+ 5796: 0x201D,
+ 5797: 0x3014,
+ 5798: 0x3015,
+ 5799: 0x3008,
+ 5800: 0x3009,
+ 5801: 0x300A,
+ 5802: 0x300B,
+ 5803: 0x300C,
+ 5804: 0x300D,
+ 5805: 0x300E,
+ 5806: 0x300F,
+ 5807: 0x3010,
+ 5808: 0x3011,
+ 5809: 0x00B1,
+ 5810: 0x00D7,
+ 5811: 0x00F7,
+ 5812: 0x2260,
+ 5813: 0x2264,
+ 5814: 0x2265,
+ 5815: 0x221E,
+ 5816: 0x2234,
+ 5817: 0x00B0,
+ 5818: 0x2032,
+ 5819: 0x2033,
+ 5820: 0x2103,
+ 5821: 0x212B,
+ 5822: 0xFFE0,
+ 5823: 0xFFE1,
+ 5824: 0xFFE5,
+ 5825: 0x2642,
+ 5826: 0x2640,
+ 5827: 0x2220,
+ 5828: 0x22A5,
+ 5829: 0x2312,
+ 5830: 0x2202,
+ 5831: 0x2207,
+ 5832: 0x2261,
+ 5833: 0x2252,
+ 5834: 0x00A7,
+ 5835: 0x203B,
+ 5836: 0x2606,
+ 5837: 0x2605,
+ 5838: 0x25CB,
+ 5839: 0x25CF,
+ 5840: 0x25CE,
+ 5841: 0x25C7,
+ 5842: 0x25C6,
+ 5843: 0x25A1,
+ 5844: 0x25A0,
+ 5845: 0x25B3,
+ 5846: 0x25B2,
+ 5847: 0x25BD,
+ 5848: 0x25BC,
+ 5849: 0x2192,
+ 5850: 0x2190,
+ 5851: 0x2191,
+ 5852: 0x2193,
+ 5853: 0x2194,
+ 5854: 0x3013,
+ 5855: 0x226A,
+ 5856: 0x226B,
+ 5857: 0x221A,
+ 5858: 0x223D,
+ 5859: 0x221D,
+ 5860: 0x2235,
+ 5861: 0x222B,
+ 5862: 0x222C,
+ 5863: 0x2208,
+ 5864: 0x220B,
+ 5865: 0x2286,
+ 5866: 0x2287,
+ 5867: 0x2282,
+ 5868: 0x2283,
+ 5869: 0x222A,
+ 5870: 0x2229,
+ 5871: 0x2227,
+ 5872: 0x2228,
+ 5873: 0xFFE2,
+ 5874: 0xC910,
+ 5875: 0xC912,
+ 5876: 0xC913,
+ 5877: 0xC914,
+ 5878: 0xC915,
+ 5879: 0xC916,
+ 5880: 0xC917,
+ 5881: 0xC919,
+ 5882: 0xC91A,
+ 5883: 0xC91B,
+ 5884: 0xC91C,
+ 5885: 0xC91D,
+ 5886: 0xC91E,
+ 5887: 0xC91F,
+ 5888: 0xC920,
+ 5889: 0xC921,
+ 5890: 0xC922,
+ 5891: 0xC923,
+ 5892: 0xC924,
+ 5893: 0xC925,
+ 5894: 0xC926,
+ 5895: 0xC927,
+ 5896: 0xC928,
+ 5897: 0xC929,
+ 5898: 0xC92A,
+ 5899: 0xC92B,
+ 5900: 0xC92D,
+ 5901: 0xC92E,
+ 5902: 0xC92F,
+ 5903: 0xC930,
+ 5904: 0xC931,
+ 5905: 0xC932,
+ 5906: 0xC933,
+ 5907: 0xC935,
+ 5908: 0xC936,
+ 5909: 0xC937,
+ 5910: 0xC938,
+ 5911: 0xC939,
+ 5912: 0xC93A,
+ 5913: 0xC93B,
+ 5914: 0xC93C,
+ 5915: 0xC93D,
+ 5916: 0xC93E,
+ 5917: 0xC93F,
+ 5918: 0xC940,
+ 5919: 0xC941,
+ 5920: 0xC942,
+ 5921: 0xC943,
+ 5922: 0xC944,
+ 5923: 0xC945,
+ 5924: 0xC946,
+ 5925: 0xC947,
+ 5926: 0xC948,
+ 5927: 0xC949,
+ 5928: 0xC94A,
+ 5929: 0xC94B,
+ 5930: 0xC94C,
+ 5931: 0xC94D,
+ 5932: 0xC94E,
+ 5933: 0xC94F,
+ 5934: 0xC952,
+ 5935: 0xC953,
+ 5936: 0xC955,
+ 5937: 0xC956,
+ 5938: 0xC957,
+ 5939: 0xC959,
+ 5940: 0xC95A,
+ 5941: 0xC95B,
+ 5942: 0xC95C,
+ 5943: 0xC95D,
+ 5944: 0xC95E,
+ 5945: 0xC95F,
+ 5946: 0xC962,
+ 5947: 0xC964,
+ 5948: 0xC965,
+ 5949: 0xC966,
+ 5950: 0xC967,
+ 5951: 0xC968,
+ 5952: 0xC969,
+ 5953: 0xC96A,
+ 5954: 0xC96B,
+ 5955: 0xC96D,
+ 5956: 0xC96E,
+ 5957: 0xC96F,
+ 5958: 0x21D2,
+ 5959: 0x21D4,
+ 5960: 0x2200,
+ 5961: 0x2203,
+ 5962: 0x00B4,
+ 5963: 0xFF5E,
+ 5964: 0x02C7,
+ 5965: 0x02D8,
+ 5966: 0x02DD,
+ 5967: 0x02DA,
+ 5968: 0x02D9,
+ 5969: 0x00B8,
+ 5970: 0x02DB,
+ 5971: 0x00A1,
+ 5972: 0x00BF,
+ 5973: 0x02D0,
+ 5974: 0x222E,
+ 5975: 0x2211,
+ 5976: 0x220F,
+ 5977: 0x00A4,
+ 5978: 0x2109,
+ 5979: 0x2030,
+ 5980: 0x25C1,
+ 5981: 0x25C0,
+ 5982: 0x25B7,
+ 5983: 0x25B6,
+ 5984: 0x2664,
+ 5985: 0x2660,
+ 5986: 0x2661,
+ 5987: 0x2665,
+ 5988: 0x2667,
+ 5989: 0x2663,
+ 5990: 0x2299,
+ 5991: 0x25C8,
+ 5992: 0x25A3,
+ 5993: 0x25D0,
+ 5994: 0x25D1,
+ 5995: 0x2592,
+ 5996: 0x25A4,
+ 5997: 0x25A5,
+ 5998: 0x25A8,
+ 5999: 0x25A7,
+ 6000: 0x25A6,
+ 6001: 0x25A9,
+ 6002: 0x2668,
+ 6003: 0x260F,
+ 6004: 0x260E,
+ 6005: 0x261C,
+ 6006: 0x261E,
+ 6007: 0x00B6,
+ 6008: 0x2020,
+ 6009: 0x2021,
+ 6010: 0x2195,
+ 6011: 0x2197,
+ 6012: 0x2199,
+ 6013: 0x2196,
+ 6014: 0x2198,
+ 6015: 0x266D,
+ 6016: 0x2669,
+ 6017: 0x266A,
+ 6018: 0x266C,
+ 6019: 0x327F,
+ 6020: 0x321C,
+ 6021: 0x2116,
+ 6022: 0x33C7,
+ 6023: 0x2122,
+ 6024: 0x33C2,
+ 6025: 0x33D8,
+ 6026: 0x2121,
+ 6027: 0x20AC,
+ 6028: 0x00AE,
+ 6052: 0xC971,
+ 6053: 0xC972,
+ 6054: 0xC973,
+ 6055: 0xC975,
+ 6056: 0xC976,
+ 6057: 0xC977,
+ 6058: 0xC978,
+ 6059: 0xC979,
+ 6060: 0xC97A,
+ 6061: 0xC97B,
+ 6062: 0xC97D,
+ 6063: 0xC97E,
+ 6064: 0xC97F,
+ 6065: 0xC980,
+ 6066: 0xC981,
+ 6067: 0xC982,
+ 6068: 0xC983,
+ 6069: 0xC984,
+ 6070: 0xC985,
+ 6071: 0xC986,
+ 6072: 0xC987,
+ 6073: 0xC98A,
+ 6074: 0xC98B,
+ 6075: 0xC98D,
+ 6076: 0xC98E,
+ 6077: 0xC98F,
+ 6078: 0xC991,
+ 6079: 0xC992,
+ 6080: 0xC993,
+ 6081: 0xC994,
+ 6082: 0xC995,
+ 6083: 0xC996,
+ 6084: 0xC997,
+ 6085: 0xC99A,
+ 6086: 0xC99C,
+ 6087: 0xC99E,
+ 6088: 0xC99F,
+ 6089: 0xC9A0,
+ 6090: 0xC9A1,
+ 6091: 0xC9A2,
+ 6092: 0xC9A3,
+ 6093: 0xC9A4,
+ 6094: 0xC9A5,
+ 6095: 0xC9A6,
+ 6096: 0xC9A7,
+ 6097: 0xC9A8,
+ 6098: 0xC9A9,
+ 6099: 0xC9AA,
+ 6100: 0xC9AB,
+ 6101: 0xC9AC,
+ 6102: 0xC9AD,
+ 6103: 0xC9AE,
+ 6104: 0xC9AF,
+ 6105: 0xC9B0,
+ 6106: 0xC9B1,
+ 6107: 0xC9B2,
+ 6108: 0xC9B3,
+ 6109: 0xC9B4,
+ 6110: 0xC9B5,
+ 6111: 0xC9B6,
+ 6112: 0xC9B7,
+ 6113: 0xC9B8,
+ 6114: 0xC9B9,
+ 6115: 0xC9BA,
+ 6116: 0xC9BB,
+ 6117: 0xC9BC,
+ 6118: 0xC9BD,
+ 6119: 0xC9BE,
+ 6120: 0xC9BF,
+ 6121: 0xC9C2,
+ 6122: 0xC9C3,
+ 6123: 0xC9C5,
+ 6124: 0xC9C6,
+ 6125: 0xC9C9,
+ 6126: 0xC9CB,
+ 6127: 0xC9CC,
+ 6128: 0xC9CD,
+ 6129: 0xC9CE,
+ 6130: 0xC9CF,
+ 6131: 0xC9D2,
+ 6132: 0xC9D4,
+ 6133: 0xC9D7,
+ 6134: 0xC9D8,
+ 6135: 0xC9DB,
+ 6136: 0xFF01,
+ 6137: 0xFF02,
+ 6138: 0xFF03,
+ 6139: 0xFF04,
+ 6140: 0xFF05,
+ 6141: 0xFF06,
+ 6142: 0xFF07,
+ 6143: 0xFF08,
+ 6144: 0xFF09,
+ 6145: 0xFF0A,
+ 6146: 0xFF0B,
+ 6147: 0xFF0C,
+ 6148: 0xFF0D,
+ 6149: 0xFF0E,
+ 6150: 0xFF0F,
+ 6151: 0xFF10,
+ 6152: 0xFF11,
+ 6153: 0xFF12,
+ 6154: 0xFF13,
+ 6155: 0xFF14,
+ 6156: 0xFF15,
+ 6157: 0xFF16,
+ 6158: 0xFF17,
+ 6159: 0xFF18,
+ 6160: 0xFF19,
+ 6161: 0xFF1A,
+ 6162: 0xFF1B,
+ 6163: 0xFF1C,
+ 6164: 0xFF1D,
+ 6165: 0xFF1E,
+ 6166: 0xFF1F,
+ 6167: 0xFF20,
+ 6168: 0xFF21,
+ 6169: 0xFF22,
+ 6170: 0xFF23,
+ 6171: 0xFF24,
+ 6172: 0xFF25,
+ 6173: 0xFF26,
+ 6174: 0xFF27,
+ 6175: 0xFF28,
+ 6176: 0xFF29,
+ 6177: 0xFF2A,
+ 6178: 0xFF2B,
+ 6179: 0xFF2C,
+ 6180: 0xFF2D,
+ 6181: 0xFF2E,
+ 6182: 0xFF2F,
+ 6183: 0xFF30,
+ 6184: 0xFF31,
+ 6185: 0xFF32,
+ 6186: 0xFF33,
+ 6187: 0xFF34,
+ 6188: 0xFF35,
+ 6189: 0xFF36,
+ 6190: 0xFF37,
+ 6191: 0xFF38,
+ 6192: 0xFF39,
+ 6193: 0xFF3A,
+ 6194: 0xFF3B,
+ 6195: 0xFFE6,
+ 6196: 0xFF3D,
+ 6197: 0xFF3E,
+ 6198: 0xFF3F,
+ 6199: 0xFF40,
+ 6200: 0xFF41,
+ 6201: 0xFF42,
+ 6202: 0xFF43,
+ 6203: 0xFF44,
+ 6204: 0xFF45,
+ 6205: 0xFF46,
+ 6206: 0xFF47,
+ 6207: 0xFF48,
+ 6208: 0xFF49,
+ 6209: 0xFF4A,
+ 6210: 0xFF4B,
+ 6211: 0xFF4C,
+ 6212: 0xFF4D,
+ 6213: 0xFF4E,
+ 6214: 0xFF4F,
+ 6215: 0xFF50,
+ 6216: 0xFF51,
+ 6217: 0xFF52,
+ 6218: 0xFF53,
+ 6219: 0xFF54,
+ 6220: 0xFF55,
+ 6221: 0xFF56,
+ 6222: 0xFF57,
+ 6223: 0xFF58,
+ 6224: 0xFF59,
+ 6225: 0xFF5A,
+ 6226: 0xFF5B,
+ 6227: 0xFF5C,
+ 6228: 0xFF5D,
+ 6229: 0xFFE3,
+ 6230: 0xC9DE,
+ 6231: 0xC9DF,
+ 6232: 0xC9E1,
+ 6233: 0xC9E3,
+ 6234: 0xC9E5,
+ 6235: 0xC9E6,
+ 6236: 0xC9E8,
+ 6237: 0xC9E9,
+ 6238: 0xC9EA,
+ 6239: 0xC9EB,
+ 6240: 0xC9EE,
+ 6241: 0xC9F2,
+ 6242: 0xC9F3,
+ 6243: 0xC9F4,
+ 6244: 0xC9F5,
+ 6245: 0xC9F6,
+ 6246: 0xC9F7,
+ 6247: 0xC9FA,
+ 6248: 0xC9FB,
+ 6249: 0xC9FD,
+ 6250: 0xC9FE,
+ 6251: 0xC9FF,
+ 6252: 0xCA01,
+ 6253: 0xCA02,
+ 6254: 0xCA03,
+ 6255: 0xCA04,
+ 6256: 0xCA05,
+ 6257: 0xCA06,
+ 6258: 0xCA07,
+ 6259: 0xCA0A,
+ 6260: 0xCA0E,
+ 6261: 0xCA0F,
+ 6262: 0xCA10,
+ 6263: 0xCA11,
+ 6264: 0xCA12,
+ 6265: 0xCA13,
+ 6266: 0xCA15,
+ 6267: 0xCA16,
+ 6268: 0xCA17,
+ 6269: 0xCA19,
+ 6270: 0xCA1A,
+ 6271: 0xCA1B,
+ 6272: 0xCA1C,
+ 6273: 0xCA1D,
+ 6274: 0xCA1E,
+ 6275: 0xCA1F,
+ 6276: 0xCA20,
+ 6277: 0xCA21,
+ 6278: 0xCA22,
+ 6279: 0xCA23,
+ 6280: 0xCA24,
+ 6281: 0xCA25,
+ 6282: 0xCA26,
+ 6283: 0xCA27,
+ 6284: 0xCA28,
+ 6285: 0xCA2A,
+ 6286: 0xCA2B,
+ 6287: 0xCA2C,
+ 6288: 0xCA2D,
+ 6289: 0xCA2E,
+ 6290: 0xCA2F,
+ 6291: 0xCA30,
+ 6292: 0xCA31,
+ 6293: 0xCA32,
+ 6294: 0xCA33,
+ 6295: 0xCA34,
+ 6296: 0xCA35,
+ 6297: 0xCA36,
+ 6298: 0xCA37,
+ 6299: 0xCA38,
+ 6300: 0xCA39,
+ 6301: 0xCA3A,
+ 6302: 0xCA3B,
+ 6303: 0xCA3C,
+ 6304: 0xCA3D,
+ 6305: 0xCA3E,
+ 6306: 0xCA3F,
+ 6307: 0xCA40,
+ 6308: 0xCA41,
+ 6309: 0xCA42,
+ 6310: 0xCA43,
+ 6311: 0xCA44,
+ 6312: 0xCA45,
+ 6313: 0xCA46,
+ 6314: 0x3131,
+ 6315: 0x3132,
+ 6316: 0x3133,
+ 6317: 0x3134,
+ 6318: 0x3135,
+ 6319: 0x3136,
+ 6320: 0x3137,
+ 6321: 0x3138,
+ 6322: 0x3139,
+ 6323: 0x313A,
+ 6324: 0x313B,
+ 6325: 0x313C,
+ 6326: 0x313D,
+ 6327: 0x313E,
+ 6328: 0x313F,
+ 6329: 0x3140,
+ 6330: 0x3141,
+ 6331: 0x3142,
+ 6332: 0x3143,
+ 6333: 0x3144,
+ 6334: 0x3145,
+ 6335: 0x3146,
+ 6336: 0x3147,
+ 6337: 0x3148,
+ 6338: 0x3149,
+ 6339: 0x314A,
+ 6340: 0x314B,
+ 6341: 0x314C,
+ 6342: 0x314D,
+ 6343: 0x314E,
+ 6344: 0x314F,
+ 6345: 0x3150,
+ 6346: 0x3151,
+ 6347: 0x3152,
+ 6348: 0x3153,
+ 6349: 0x3154,
+ 6350: 0x3155,
+ 6351: 0x3156,
+ 6352: 0x3157,
+ 6353: 0x3158,
+ 6354: 0x3159,
+ 6355: 0x315A,
+ 6356: 0x315B,
+ 6357: 0x315C,
+ 6358: 0x315D,
+ 6359: 0x315E,
+ 6360: 0x315F,
+ 6361: 0x3160,
+ 6362: 0x3161,
+ 6363: 0x3162,
+ 6364: 0x3163,
+ 6365: 0x3164,
+ 6366: 0x3165,
+ 6367: 0x3166,
+ 6368: 0x3167,
+ 6369: 0x3168,
+ 6370: 0x3169,
+ 6371: 0x316A,
+ 6372: 0x316B,
+ 6373: 0x316C,
+ 6374: 0x316D,
+ 6375: 0x316E,
+ 6376: 0x316F,
+ 6377: 0x3170,
+ 6378: 0x3171,
+ 6379: 0x3172,
+ 6380: 0x3173,
+ 6381: 0x3174,
+ 6382: 0x3175,
+ 6383: 0x3176,
+ 6384: 0x3177,
+ 6385: 0x3178,
+ 6386: 0x3179,
+ 6387: 0x317A,
+ 6388: 0x317B,
+ 6389: 0x317C,
+ 6390: 0x317D,
+ 6391: 0x317E,
+ 6392: 0x317F,
+ 6393: 0x3180,
+ 6394: 0x3181,
+ 6395: 0x3182,
+ 6396: 0x3183,
+ 6397: 0x3184,
+ 6398: 0x3185,
+ 6399: 0x3186,
+ 6400: 0x3187,
+ 6401: 0x3188,
+ 6402: 0x3189,
+ 6403: 0x318A,
+ 6404: 0x318B,
+ 6405: 0x318C,
+ 6406: 0x318D,
+ 6407: 0x318E,
+ 6408: 0xCA47,
+ 6409: 0xCA48,
+ 6410: 0xCA49,
+ 6411: 0xCA4A,
+ 6412: 0xCA4B,
+ 6413: 0xCA4E,
+ 6414: 0xCA4F,
+ 6415: 0xCA51,
+ 6416: 0xCA52,
+ 6417: 0xCA53,
+ 6418: 0xCA55,
+ 6419: 0xCA56,
+ 6420: 0xCA57,
+ 6421: 0xCA58,
+ 6422: 0xCA59,
+ 6423: 0xCA5A,
+ 6424: 0xCA5B,
+ 6425: 0xCA5E,
+ 6426: 0xCA62,
+ 6427: 0xCA63,
+ 6428: 0xCA64,
+ 6429: 0xCA65,
+ 6430: 0xCA66,
+ 6431: 0xCA67,
+ 6432: 0xCA69,
+ 6433: 0xCA6A,
+ 6434: 0xCA6B,
+ 6435: 0xCA6C,
+ 6436: 0xCA6D,
+ 6437: 0xCA6E,
+ 6438: 0xCA6F,
+ 6439: 0xCA70,
+ 6440: 0xCA71,
+ 6441: 0xCA72,
+ 6442: 0xCA73,
+ 6443: 0xCA74,
+ 6444: 0xCA75,
+ 6445: 0xCA76,
+ 6446: 0xCA77,
+ 6447: 0xCA78,
+ 6448: 0xCA79,
+ 6449: 0xCA7A,
+ 6450: 0xCA7B,
+ 6451: 0xCA7C,
+ 6452: 0xCA7E,
+ 6453: 0xCA7F,
+ 6454: 0xCA80,
+ 6455: 0xCA81,
+ 6456: 0xCA82,
+ 6457: 0xCA83,
+ 6458: 0xCA85,
+ 6459: 0xCA86,
+ 6460: 0xCA87,
+ 6461: 0xCA88,
+ 6462: 0xCA89,
+ 6463: 0xCA8A,
+ 6464: 0xCA8B,
+ 6465: 0xCA8C,
+ 6466: 0xCA8D,
+ 6467: 0xCA8E,
+ 6468: 0xCA8F,
+ 6469: 0xCA90,
+ 6470: 0xCA91,
+ 6471: 0xCA92,
+ 6472: 0xCA93,
+ 6473: 0xCA94,
+ 6474: 0xCA95,
+ 6475: 0xCA96,
+ 6476: 0xCA97,
+ 6477: 0xCA99,
+ 6478: 0xCA9A,
+ 6479: 0xCA9B,
+ 6480: 0xCA9C,
+ 6481: 0xCA9D,
+ 6482: 0xCA9E,
+ 6483: 0xCA9F,
+ 6484: 0xCAA0,
+ 6485: 0xCAA1,
+ 6486: 0xCAA2,
+ 6487: 0xCAA3,
+ 6488: 0xCAA4,
+ 6489: 0xCAA5,
+ 6490: 0xCAA6,
+ 6491: 0xCAA7,
+ 6492: 0x2170,
+ 6493: 0x2171,
+ 6494: 0x2172,
+ 6495: 0x2173,
+ 6496: 0x2174,
+ 6497: 0x2175,
+ 6498: 0x2176,
+ 6499: 0x2177,
+ 6500: 0x2178,
+ 6501: 0x2179,
+ 6507: 0x2160,
+ 6508: 0x2161,
+ 6509: 0x2162,
+ 6510: 0x2163,
+ 6511: 0x2164,
+ 6512: 0x2165,
+ 6513: 0x2166,
+ 6514: 0x2167,
+ 6515: 0x2168,
+ 6516: 0x2169,
+ 6524: 0x0391,
+ 6525: 0x0392,
+ 6526: 0x0393,
+ 6527: 0x0394,
+ 6528: 0x0395,
+ 6529: 0x0396,
+ 6530: 0x0397,
+ 6531: 0x0398,
+ 6532: 0x0399,
+ 6533: 0x039A,
+ 6534: 0x039B,
+ 6535: 0x039C,
+ 6536: 0x039D,
+ 6537: 0x039E,
+ 6538: 0x039F,
+ 6539: 0x03A0,
+ 6540: 0x03A1,
+ 6541: 0x03A3,
+ 6542: 0x03A4,
+ 6543: 0x03A5,
+ 6544: 0x03A6,
+ 6545: 0x03A7,
+ 6546: 0x03A8,
+ 6547: 0x03A9,
+ 6556: 0x03B1,
+ 6557: 0x03B2,
+ 6558: 0x03B3,
+ 6559: 0x03B4,
+ 6560: 0x03B5,
+ 6561: 0x03B6,
+ 6562: 0x03B7,
+ 6563: 0x03B8,
+ 6564: 0x03B9,
+ 6565: 0x03BA,
+ 6566: 0x03BB,
+ 6567: 0x03BC,
+ 6568: 0x03BD,
+ 6569: 0x03BE,
+ 6570: 0x03BF,
+ 6571: 0x03C0,
+ 6572: 0x03C1,
+ 6573: 0x03C3,
+ 6574: 0x03C4,
+ 6575: 0x03C5,
+ 6576: 0x03C6,
+ 6577: 0x03C7,
+ 6578: 0x03C8,
+ 6579: 0x03C9,
+ 6586: 0xCAA8,
+ 6587: 0xCAA9,
+ 6588: 0xCAAA,
+ 6589: 0xCAAB,
+ 6590: 0xCAAC,
+ 6591: 0xCAAD,
+ 6592: 0xCAAE,
+ 6593: 0xCAAF,
+ 6594: 0xCAB0,
+ 6595: 0xCAB1,
+ 6596: 0xCAB2,
+ 6597: 0xCAB3,
+ 6598: 0xCAB4,
+ 6599: 0xCAB5,
+ 6600: 0xCAB6,
+ 6601: 0xCAB7,
+ 6602: 0xCAB8,
+ 6603: 0xCAB9,
+ 6604: 0xCABA,
+ 6605: 0xCABB,
+ 6606: 0xCABE,
+ 6607: 0xCABF,
+ 6608: 0xCAC1,
+ 6609: 0xCAC2,
+ 6610: 0xCAC3,
+ 6611: 0xCAC5,
+ 6612: 0xCAC6,
+ 6613: 0xCAC7,
+ 6614: 0xCAC8,
+ 6615: 0xCAC9,
+ 6616: 0xCACA,
+ 6617: 0xCACB,
+ 6618: 0xCACE,
+ 6619: 0xCAD0,
+ 6620: 0xCAD2,
+ 6621: 0xCAD4,
+ 6622: 0xCAD5,
+ 6623: 0xCAD6,
+ 6624: 0xCAD7,
+ 6625: 0xCADA,
+ 6626: 0xCADB,
+ 6627: 0xCADC,
+ 6628: 0xCADD,
+ 6629: 0xCADE,
+ 6630: 0xCADF,
+ 6631: 0xCAE1,
+ 6632: 0xCAE2,
+ 6633: 0xCAE3,
+ 6634: 0xCAE4,
+ 6635: 0xCAE5,
+ 6636: 0xCAE6,
+ 6637: 0xCAE7,
+ 6638: 0xCAE8,
+ 6639: 0xCAE9,
+ 6640: 0xCAEA,
+ 6641: 0xCAEB,
+ 6642: 0xCAED,
+ 6643: 0xCAEE,
+ 6644: 0xCAEF,
+ 6645: 0xCAF0,
+ 6646: 0xCAF1,
+ 6647: 0xCAF2,
+ 6648: 0xCAF3,
+ 6649: 0xCAF5,
+ 6650: 0xCAF6,
+ 6651: 0xCAF7,
+ 6652: 0xCAF8,
+ 6653: 0xCAF9,
+ 6654: 0xCAFA,
+ 6655: 0xCAFB,
+ 6656: 0xCAFC,
+ 6657: 0xCAFD,
+ 6658: 0xCAFE,
+ 6659: 0xCAFF,
+ 6660: 0xCB00,
+ 6661: 0xCB01,
+ 6662: 0xCB02,
+ 6663: 0xCB03,
+ 6664: 0xCB04,
+ 6665: 0xCB05,
+ 6666: 0xCB06,
+ 6667: 0xCB07,
+ 6668: 0xCB09,
+ 6669: 0xCB0A,
+ 6670: 0x2500,
+ 6671: 0x2502,
+ 6672: 0x250C,
+ 6673: 0x2510,
+ 6674: 0x2518,
+ 6675: 0x2514,
+ 6676: 0x251C,
+ 6677: 0x252C,
+ 6678: 0x2524,
+ 6679: 0x2534,
+ 6680: 0x253C,
+ 6681: 0x2501,
+ 6682: 0x2503,
+ 6683: 0x250F,
+ 6684: 0x2513,
+ 6685: 0x251B,
+ 6686: 0x2517,
+ 6687: 0x2523,
+ 6688: 0x2533,
+ 6689: 0x252B,
+ 6690: 0x253B,
+ 6691: 0x254B,
+ 6692: 0x2520,
+ 6693: 0x252F,
+ 6694: 0x2528,
+ 6695: 0x2537,
+ 6696: 0x253F,
+ 6697: 0x251D,
+ 6698: 0x2530,
+ 6699: 0x2525,
+ 6700: 0x2538,
+ 6701: 0x2542,
+ 6702: 0x2512,
+ 6703: 0x2511,
+ 6704: 0x251A,
+ 6705: 0x2519,
+ 6706: 0x2516,
+ 6707: 0x2515,
+ 6708: 0x250E,
+ 6709: 0x250D,
+ 6710: 0x251E,
+ 6711: 0x251F,
+ 6712: 0x2521,
+ 6713: 0x2522,
+ 6714: 0x2526,
+ 6715: 0x2527,
+ 6716: 0x2529,
+ 6717: 0x252A,
+ 6718: 0x252D,
+ 6719: 0x252E,
+ 6720: 0x2531,
+ 6721: 0x2532,
+ 6722: 0x2535,
+ 6723: 0x2536,
+ 6724: 0x2539,
+ 6725: 0x253A,
+ 6726: 0x253D,
+ 6727: 0x253E,
+ 6728: 0x2540,
+ 6729: 0x2541,
+ 6730: 0x2543,
+ 6731: 0x2544,
+ 6732: 0x2545,
+ 6733: 0x2546,
+ 6734: 0x2547,
+ 6735: 0x2548,
+ 6736: 0x2549,
+ 6737: 0x254A,
+ 6764: 0xCB0B,
+ 6765: 0xCB0C,
+ 6766: 0xCB0D,
+ 6767: 0xCB0E,
+ 6768: 0xCB0F,
+ 6769: 0xCB11,
+ 6770: 0xCB12,
+ 6771: 0xCB13,
+ 6772: 0xCB15,
+ 6773: 0xCB16,
+ 6774: 0xCB17,
+ 6775: 0xCB19,
+ 6776: 0xCB1A,
+ 6777: 0xCB1B,
+ 6778: 0xCB1C,
+ 6779: 0xCB1D,
+ 6780: 0xCB1E,
+ 6781: 0xCB1F,
+ 6782: 0xCB22,
+ 6783: 0xCB23,
+ 6784: 0xCB24,
+ 6785: 0xCB25,
+ 6786: 0xCB26,
+ 6787: 0xCB27,
+ 6788: 0xCB28,
+ 6789: 0xCB29,
+ 6790: 0xCB2A,
+ 6791: 0xCB2B,
+ 6792: 0xCB2C,
+ 6793: 0xCB2D,
+ 6794: 0xCB2E,
+ 6795: 0xCB2F,
+ 6796: 0xCB30,
+ 6797: 0xCB31,
+ 6798: 0xCB32,
+ 6799: 0xCB33,
+ 6800: 0xCB34,
+ 6801: 0xCB35,
+ 6802: 0xCB36,
+ 6803: 0xCB37,
+ 6804: 0xCB38,
+ 6805: 0xCB39,
+ 6806: 0xCB3A,
+ 6807: 0xCB3B,
+ 6808: 0xCB3C,
+ 6809: 0xCB3D,
+ 6810: 0xCB3E,
+ 6811: 0xCB3F,
+ 6812: 0xCB40,
+ 6813: 0xCB42,
+ 6814: 0xCB43,
+ 6815: 0xCB44,
+ 6816: 0xCB45,
+ 6817: 0xCB46,
+ 6818: 0xCB47,
+ 6819: 0xCB4A,
+ 6820: 0xCB4B,
+ 6821: 0xCB4D,
+ 6822: 0xCB4E,
+ 6823: 0xCB4F,
+ 6824: 0xCB51,
+ 6825: 0xCB52,
+ 6826: 0xCB53,
+ 6827: 0xCB54,
+ 6828: 0xCB55,
+ 6829: 0xCB56,
+ 6830: 0xCB57,
+ 6831: 0xCB5A,
+ 6832: 0xCB5B,
+ 6833: 0xCB5C,
+ 6834: 0xCB5E,
+ 6835: 0xCB5F,
+ 6836: 0xCB60,
+ 6837: 0xCB61,
+ 6838: 0xCB62,
+ 6839: 0xCB63,
+ 6840: 0xCB65,
+ 6841: 0xCB66,
+ 6842: 0xCB67,
+ 6843: 0xCB68,
+ 6844: 0xCB69,
+ 6845: 0xCB6A,
+ 6846: 0xCB6B,
+ 6847: 0xCB6C,
+ 6848: 0x3395,
+ 6849: 0x3396,
+ 6850: 0x3397,
+ 6851: 0x2113,
+ 6852: 0x3398,
+ 6853: 0x33C4,
+ 6854: 0x33A3,
+ 6855: 0x33A4,
+ 6856: 0x33A5,
+ 6857: 0x33A6,
+ 6858: 0x3399,
+ 6859: 0x339A,
+ 6860: 0x339B,
+ 6861: 0x339C,
+ 6862: 0x339D,
+ 6863: 0x339E,
+ 6864: 0x339F,
+ 6865: 0x33A0,
+ 6866: 0x33A1,
+ 6867: 0x33A2,
+ 6868: 0x33CA,
+ 6869: 0x338D,
+ 6870: 0x338E,
+ 6871: 0x338F,
+ 6872: 0x33CF,
+ 6873: 0x3388,
+ 6874: 0x3389,
+ 6875: 0x33C8,
+ 6876: 0x33A7,
+ 6877: 0x33A8,
+ 6878: 0x33B0,
+ 6879: 0x33B1,
+ 6880: 0x33B2,
+ 6881: 0x33B3,
+ 6882: 0x33B4,
+ 6883: 0x33B5,
+ 6884: 0x33B6,
+ 6885: 0x33B7,
+ 6886: 0x33B8,
+ 6887: 0x33B9,
+ 6888: 0x3380,
+ 6889: 0x3381,
+ 6890: 0x3382,
+ 6891: 0x3383,
+ 6892: 0x3384,
+ 6893: 0x33BA,
+ 6894: 0x33BB,
+ 6895: 0x33BC,
+ 6896: 0x33BD,
+ 6897: 0x33BE,
+ 6898: 0x33BF,
+ 6899: 0x3390,
+ 6900: 0x3391,
+ 6901: 0x3392,
+ 6902: 0x3393,
+ 6903: 0x3394,
+ 6904: 0x2126,
+ 6905: 0x33C0,
+ 6906: 0x33C1,
+ 6907: 0x338A,
+ 6908: 0x338B,
+ 6909: 0x338C,
+ 6910: 0x33D6,
+ 6911: 0x33C5,
+ 6912: 0x33AD,
+ 6913: 0x33AE,
+ 6914: 0x33AF,
+ 6915: 0x33DB,
+ 6916: 0x33A9,
+ 6917: 0x33AA,
+ 6918: 0x33AB,
+ 6919: 0x33AC,
+ 6920: 0x33DD,
+ 6921: 0x33D0,
+ 6922: 0x33D3,
+ 6923: 0x33C3,
+ 6924: 0x33C9,
+ 6925: 0x33DC,
+ 6926: 0x33C6,
+ 6942: 0xCB6D,
+ 6943: 0xCB6E,
+ 6944: 0xCB6F,
+ 6945: 0xCB70,
+ 6946: 0xCB71,
+ 6947: 0xCB72,
+ 6948: 0xCB73,
+ 6949: 0xCB74,
+ 6950: 0xCB75,
+ 6951: 0xCB76,
+ 6952: 0xCB77,
+ 6953: 0xCB7A,
+ 6954: 0xCB7B,
+ 6955: 0xCB7C,
+ 6956: 0xCB7D,
+ 6957: 0xCB7E,
+ 6958: 0xCB7F,
+ 6959: 0xCB80,
+ 6960: 0xCB81,
+ 6961: 0xCB82,
+ 6962: 0xCB83,
+ 6963: 0xCB84,
+ 6964: 0xCB85,
+ 6965: 0xCB86,
+ 6966: 0xCB87,
+ 6967: 0xCB88,
+ 6968: 0xCB89,
+ 6969: 0xCB8A,
+ 6970: 0xCB8B,
+ 6971: 0xCB8C,
+ 6972: 0xCB8D,
+ 6973: 0xCB8E,
+ 6974: 0xCB8F,
+ 6975: 0xCB90,
+ 6976: 0xCB91,
+ 6977: 0xCB92,
+ 6978: 0xCB93,
+ 6979: 0xCB94,
+ 6980: 0xCB95,
+ 6981: 0xCB96,
+ 6982: 0xCB97,
+ 6983: 0xCB98,
+ 6984: 0xCB99,
+ 6985: 0xCB9A,
+ 6986: 0xCB9B,
+ 6987: 0xCB9D,
+ 6988: 0xCB9E,
+ 6989: 0xCB9F,
+ 6990: 0xCBA0,
+ 6991: 0xCBA1,
+ 6992: 0xCBA2,
+ 6993: 0xCBA3,
+ 6994: 0xCBA4,
+ 6995: 0xCBA5,
+ 6996: 0xCBA6,
+ 6997: 0xCBA7,
+ 6998: 0xCBA8,
+ 6999: 0xCBA9,
+ 7000: 0xCBAA,
+ 7001: 0xCBAB,
+ 7002: 0xCBAC,
+ 7003: 0xCBAD,
+ 7004: 0xCBAE,
+ 7005: 0xCBAF,
+ 7006: 0xCBB0,
+ 7007: 0xCBB1,
+ 7008: 0xCBB2,
+ 7009: 0xCBB3,
+ 7010: 0xCBB4,
+ 7011: 0xCBB5,
+ 7012: 0xCBB6,
+ 7013: 0xCBB7,
+ 7014: 0xCBB9,
+ 7015: 0xCBBA,
+ 7016: 0xCBBB,
+ 7017: 0xCBBC,
+ 7018: 0xCBBD,
+ 7019: 0xCBBE,
+ 7020: 0xCBBF,
+ 7021: 0xCBC0,
+ 7022: 0xCBC1,
+ 7023: 0xCBC2,
+ 7024: 0xCBC3,
+ 7025: 0xCBC4,
+ 7026: 0x00C6,
+ 7027: 0x00D0,
+ 7028: 0x00AA,
+ 7029: 0x0126,
+ 7031: 0x0132,
+ 7033: 0x013F,
+ 7034: 0x0141,
+ 7035: 0x00D8,
+ 7036: 0x0152,
+ 7037: 0x00BA,
+ 7038: 0x00DE,
+ 7039: 0x0166,
+ 7040: 0x014A,
+ 7042: 0x3260,
+ 7043: 0x3261,
+ 7044: 0x3262,
+ 7045: 0x3263,
+ 7046: 0x3264,
+ 7047: 0x3265,
+ 7048: 0x3266,
+ 7049: 0x3267,
+ 7050: 0x3268,
+ 7051: 0x3269,
+ 7052: 0x326A,
+ 7053: 0x326B,
+ 7054: 0x326C,
+ 7055: 0x326D,
+ 7056: 0x326E,
+ 7057: 0x326F,
+ 7058: 0x3270,
+ 7059: 0x3271,
+ 7060: 0x3272,
+ 7061: 0x3273,
+ 7062: 0x3274,
+ 7063: 0x3275,
+ 7064: 0x3276,
+ 7065: 0x3277,
+ 7066: 0x3278,
+ 7067: 0x3279,
+ 7068: 0x327A,
+ 7069: 0x327B,
+ 7070: 0x24D0,
+ 7071: 0x24D1,
+ 7072: 0x24D2,
+ 7073: 0x24D3,
+ 7074: 0x24D4,
+ 7075: 0x24D5,
+ 7076: 0x24D6,
+ 7077: 0x24D7,
+ 7078: 0x24D8,
+ 7079: 0x24D9,
+ 7080: 0x24DA,
+ 7081: 0x24DB,
+ 7082: 0x24DC,
+ 7083: 0x24DD,
+ 7084: 0x24DE,
+ 7085: 0x24DF,
+ 7086: 0x24E0,
+ 7087: 0x24E1,
+ 7088: 0x24E2,
+ 7089: 0x24E3,
+ 7090: 0x24E4,
+ 7091: 0x24E5,
+ 7092: 0x24E6,
+ 7093: 0x24E7,
+ 7094: 0x24E8,
+ 7095: 0x24E9,
+ 7096: 0x2460,
+ 7097: 0x2461,
+ 7098: 0x2462,
+ 7099: 0x2463,
+ 7100: 0x2464,
+ 7101: 0x2465,
+ 7102: 0x2466,
+ 7103: 0x2467,
+ 7104: 0x2468,
+ 7105: 0x2469,
+ 7106: 0x246A,
+ 7107: 0x246B,
+ 7108: 0x246C,
+ 7109: 0x246D,
+ 7110: 0x246E,
+ 7111: 0x00BD,
+ 7112: 0x2153,
+ 7113: 0x2154,
+ 7114: 0x00BC,
+ 7115: 0x00BE,
+ 7116: 0x215B,
+ 7117: 0x215C,
+ 7118: 0x215D,
+ 7119: 0x215E,
+ 7120: 0xCBC5,
+ 7121: 0xCBC6,
+ 7122: 0xCBC7,
+ 7123: 0xCBC8,
+ 7124: 0xCBC9,
+ 7125: 0xCBCA,
+ 7126: 0xCBCB,
+ 7127: 0xCBCC,
+ 7128: 0xCBCD,
+ 7129: 0xCBCE,
+ 7130: 0xCBCF,
+ 7131: 0xCBD0,
+ 7132: 0xCBD1,
+ 7133: 0xCBD2,
+ 7134: 0xCBD3,
+ 7135: 0xCBD5,
+ 7136: 0xCBD6,
+ 7137: 0xCBD7,
+ 7138: 0xCBD8,
+ 7139: 0xCBD9,
+ 7140: 0xCBDA,
+ 7141: 0xCBDB,
+ 7142: 0xCBDC,
+ 7143: 0xCBDD,
+ 7144: 0xCBDE,
+ 7145: 0xCBDF,
+ 7146: 0xCBE0,
+ 7147: 0xCBE1,
+ 7148: 0xCBE2,
+ 7149: 0xCBE3,
+ 7150: 0xCBE5,
+ 7151: 0xCBE6,
+ 7152: 0xCBE8,
+ 7153: 0xCBEA,
+ 7154: 0xCBEB,
+ 7155: 0xCBEC,
+ 7156: 0xCBED,
+ 7157: 0xCBEE,
+ 7158: 0xCBEF,
+ 7159: 0xCBF0,
+ 7160: 0xCBF1,
+ 7161: 0xCBF2,
+ 7162: 0xCBF3,
+ 7163: 0xCBF4,
+ 7164: 0xCBF5,
+ 7165: 0xCBF6,
+ 7166: 0xCBF7,
+ 7167: 0xCBF8,
+ 7168: 0xCBF9,
+ 7169: 0xCBFA,
+ 7170: 0xCBFB,
+ 7171: 0xCBFC,
+ 7172: 0xCBFD,
+ 7173: 0xCBFE,
+ 7174: 0xCBFF,
+ 7175: 0xCC00,
+ 7176: 0xCC01,
+ 7177: 0xCC02,
+ 7178: 0xCC03,
+ 7179: 0xCC04,
+ 7180: 0xCC05,
+ 7181: 0xCC06,
+ 7182: 0xCC07,
+ 7183: 0xCC08,
+ 7184: 0xCC09,
+ 7185: 0xCC0A,
+ 7186: 0xCC0B,
+ 7187: 0xCC0E,
+ 7188: 0xCC0F,
+ 7189: 0xCC11,
+ 7190: 0xCC12,
+ 7191: 0xCC13,
+ 7192: 0xCC15,
+ 7193: 0xCC16,
+ 7194: 0xCC17,
+ 7195: 0xCC18,
+ 7196: 0xCC19,
+ 7197: 0xCC1A,
+ 7198: 0xCC1B,
+ 7199: 0xCC1E,
+ 7200: 0xCC1F,
+ 7201: 0xCC20,
+ 7202: 0xCC23,
+ 7203: 0xCC24,
+ 7204: 0x00E6,
+ 7205: 0x0111,
+ 7206: 0x00F0,
+ 7207: 0x0127,
+ 7208: 0x0131,
+ 7209: 0x0133,
+ 7210: 0x0138,
+ 7211: 0x0140,
+ 7212: 0x0142,
+ 7213: 0x00F8,
+ 7214: 0x0153,
+ 7215: 0x00DF,
+ 7216: 0x00FE,
+ 7217: 0x0167,
+ 7218: 0x014B,
+ 7219: 0x0149,
+ 7220: 0x3200,
+ 7221: 0x3201,
+ 7222: 0x3202,
+ 7223: 0x3203,
+ 7224: 0x3204,
+ 7225: 0x3205,
+ 7226: 0x3206,
+ 7227: 0x3207,
+ 7228: 0x3208,
+ 7229: 0x3209,
+ 7230: 0x320A,
+ 7231: 0x320B,
+ 7232: 0x320C,
+ 7233: 0x320D,
+ 7234: 0x320E,
+ 7235: 0x320F,
+ 7236: 0x3210,
+ 7237: 0x3211,
+ 7238: 0x3212,
+ 7239: 0x3213,
+ 7240: 0x3214,
+ 7241: 0x3215,
+ 7242: 0x3216,
+ 7243: 0x3217,
+ 7244: 0x3218,
+ 7245: 0x3219,
+ 7246: 0x321A,
+ 7247: 0x321B,
+ 7248: 0x249C,
+ 7249: 0x249D,
+ 7250: 0x249E,
+ 7251: 0x249F,
+ 7252: 0x24A0,
+ 7253: 0x24A1,
+ 7254: 0x24A2,
+ 7255: 0x24A3,
+ 7256: 0x24A4,
+ 7257: 0x24A5,
+ 7258: 0x24A6,
+ 7259: 0x24A7,
+ 7260: 0x24A8,
+ 7261: 0x24A9,
+ 7262: 0x24AA,
+ 7263: 0x24AB,
+ 7264: 0x24AC,
+ 7265: 0x24AD,
+ 7266: 0x24AE,
+ 7267: 0x24AF,
+ 7268: 0x24B0,
+ 7269: 0x24B1,
+ 7270: 0x24B2,
+ 7271: 0x24B3,
+ 7272: 0x24B4,
+ 7273: 0x24B5,
+ 7274: 0x2474,
+ 7275: 0x2475,
+ 7276: 0x2476,
+ 7277: 0x2477,
+ 7278: 0x2478,
+ 7279: 0x2479,
+ 7280: 0x247A,
+ 7281: 0x247B,
+ 7282: 0x247C,
+ 7283: 0x247D,
+ 7284: 0x247E,
+ 7285: 0x247F,
+ 7286: 0x2480,
+ 7287: 0x2481,
+ 7288: 0x2482,
+ 7289: 0x00B9,
+ 7290: 0x00B2,
+ 7291: 0x00B3,
+ 7292: 0x2074,
+ 7293: 0x207F,
+ 7294: 0x2081,
+ 7295: 0x2082,
+ 7296: 0x2083,
+ 7297: 0x2084,
+ 7298: 0xCC25,
+ 7299: 0xCC26,
+ 7300: 0xCC2A,
+ 7301: 0xCC2B,
+ 7302: 0xCC2D,
+ 7303: 0xCC2F,
+ 7304: 0xCC31,
+ 7305: 0xCC32,
+ 7306: 0xCC33,
+ 7307: 0xCC34,
+ 7308: 0xCC35,
+ 7309: 0xCC36,
+ 7310: 0xCC37,
+ 7311: 0xCC3A,
+ 7312: 0xCC3F,
+ 7313: 0xCC40,
+ 7314: 0xCC41,
+ 7315: 0xCC42,
+ 7316: 0xCC43,
+ 7317: 0xCC46,
+ 7318: 0xCC47,
+ 7319: 0xCC49,
+ 7320: 0xCC4A,
+ 7321: 0xCC4B,
+ 7322: 0xCC4D,
+ 7323: 0xCC4E,
+ 7324: 0xCC4F,
+ 7325: 0xCC50,
+ 7326: 0xCC51,
+ 7327: 0xCC52,
+ 7328: 0xCC53,
+ 7329: 0xCC56,
+ 7330: 0xCC5A,
+ 7331: 0xCC5B,
+ 7332: 0xCC5C,
+ 7333: 0xCC5D,
+ 7334: 0xCC5E,
+ 7335: 0xCC5F,
+ 7336: 0xCC61,
+ 7337: 0xCC62,
+ 7338: 0xCC63,
+ 7339: 0xCC65,
+ 7340: 0xCC67,
+ 7341: 0xCC69,
+ 7342: 0xCC6A,
+ 7343: 0xCC6B,
+ 7344: 0xCC6C,
+ 7345: 0xCC6D,
+ 7346: 0xCC6E,
+ 7347: 0xCC6F,
+ 7348: 0xCC71,
+ 7349: 0xCC72,
+ 7350: 0xCC73,
+ 7351: 0xCC74,
+ 7352: 0xCC76,
+ 7353: 0xCC77,
+ 7354: 0xCC78,
+ 7355: 0xCC79,
+ 7356: 0xCC7A,
+ 7357: 0xCC7B,
+ 7358: 0xCC7C,
+ 7359: 0xCC7D,
+ 7360: 0xCC7E,
+ 7361: 0xCC7F,
+ 7362: 0xCC80,
+ 7363: 0xCC81,
+ 7364: 0xCC82,
+ 7365: 0xCC83,
+ 7366: 0xCC84,
+ 7367: 0xCC85,
+ 7368: 0xCC86,
+ 7369: 0xCC87,
+ 7370: 0xCC88,
+ 7371: 0xCC89,
+ 7372: 0xCC8A,
+ 7373: 0xCC8B,
+ 7374: 0xCC8C,
+ 7375: 0xCC8D,
+ 7376: 0xCC8E,
+ 7377: 0xCC8F,
+ 7378: 0xCC90,
+ 7379: 0xCC91,
+ 7380: 0xCC92,
+ 7381: 0xCC93,
+ 7382: 0x3041,
+ 7383: 0x3042,
+ 7384: 0x3043,
+ 7385: 0x3044,
+ 7386: 0x3045,
+ 7387: 0x3046,
+ 7388: 0x3047,
+ 7389: 0x3048,
+ 7390: 0x3049,
+ 7391: 0x304A,
+ 7392: 0x304B,
+ 7393: 0x304C,
+ 7394: 0x304D,
+ 7395: 0x304E,
+ 7396: 0x304F,
+ 7397: 0x3050,
+ 7398: 0x3051,
+ 7399: 0x3052,
+ 7400: 0x3053,
+ 7401: 0x3054,
+ 7402: 0x3055,
+ 7403: 0x3056,
+ 7404: 0x3057,
+ 7405: 0x3058,
+ 7406: 0x3059,
+ 7407: 0x305A,
+ 7408: 0x305B,
+ 7409: 0x305C,
+ 7410: 0x305D,
+ 7411: 0x305E,
+ 7412: 0x305F,
+ 7413: 0x3060,
+ 7414: 0x3061,
+ 7415: 0x3062,
+ 7416: 0x3063,
+ 7417: 0x3064,
+ 7418: 0x3065,
+ 7419: 0x3066,
+ 7420: 0x3067,
+ 7421: 0x3068,
+ 7422: 0x3069,
+ 7423: 0x306A,
+ 7424: 0x306B,
+ 7425: 0x306C,
+ 7426: 0x306D,
+ 7427: 0x306E,
+ 7428: 0x306F,
+ 7429: 0x3070,
+ 7430: 0x3071,
+ 7431: 0x3072,
+ 7432: 0x3073,
+ 7433: 0x3074,
+ 7434: 0x3075,
+ 7435: 0x3076,
+ 7436: 0x3077,
+ 7437: 0x3078,
+ 7438: 0x3079,
+ 7439: 0x307A,
+ 7440: 0x307B,
+ 7441: 0x307C,
+ 7442: 0x307D,
+ 7443: 0x307E,
+ 7444: 0x307F,
+ 7445: 0x3080,
+ 7446: 0x3081,
+ 7447: 0x3082,
+ 7448: 0x3083,
+ 7449: 0x3084,
+ 7450: 0x3085,
+ 7451: 0x3086,
+ 7452: 0x3087,
+ 7453: 0x3088,
+ 7454: 0x3089,
+ 7455: 0x308A,
+ 7456: 0x308B,
+ 7457: 0x308C,
+ 7458: 0x308D,
+ 7459: 0x308E,
+ 7460: 0x308F,
+ 7461: 0x3090,
+ 7462: 0x3091,
+ 7463: 0x3092,
+ 7464: 0x3093,
+ 7476: 0xCC94,
+ 7477: 0xCC95,
+ 7478: 0xCC96,
+ 7479: 0xCC97,
+ 7480: 0xCC9A,
+ 7481: 0xCC9B,
+ 7482: 0xCC9D,
+ 7483: 0xCC9E,
+ 7484: 0xCC9F,
+ 7485: 0xCCA1,
+ 7486: 0xCCA2,
+ 7487: 0xCCA3,
+ 7488: 0xCCA4,
+ 7489: 0xCCA5,
+ 7490: 0xCCA6,
+ 7491: 0xCCA7,
+ 7492: 0xCCAA,
+ 7493: 0xCCAE,
+ 7494: 0xCCAF,
+ 7495: 0xCCB0,
+ 7496: 0xCCB1,
+ 7497: 0xCCB2,
+ 7498: 0xCCB3,
+ 7499: 0xCCB6,
+ 7500: 0xCCB7,
+ 7501: 0xCCB9,
+ 7502: 0xCCBA,
+ 7503: 0xCCBB,
+ 7504: 0xCCBD,
+ 7505: 0xCCBE,
+ 7506: 0xCCBF,
+ 7507: 0xCCC0,
+ 7508: 0xCCC1,
+ 7509: 0xCCC2,
+ 7510: 0xCCC3,
+ 7511: 0xCCC6,
+ 7512: 0xCCC8,
+ 7513: 0xCCCA,
+ 7514: 0xCCCB,
+ 7515: 0xCCCC,
+ 7516: 0xCCCD,
+ 7517: 0xCCCE,
+ 7518: 0xCCCF,
+ 7519: 0xCCD1,
+ 7520: 0xCCD2,
+ 7521: 0xCCD3,
+ 7522: 0xCCD5,
+ 7523: 0xCCD6,
+ 7524: 0xCCD7,
+ 7525: 0xCCD8,
+ 7526: 0xCCD9,
+ 7527: 0xCCDA,
+ 7528: 0xCCDB,
+ 7529: 0xCCDC,
+ 7530: 0xCCDD,
+ 7531: 0xCCDE,
+ 7532: 0xCCDF,
+ 7533: 0xCCE0,
+ 7534: 0xCCE1,
+ 7535: 0xCCE2,
+ 7536: 0xCCE3,
+ 7537: 0xCCE5,
+ 7538: 0xCCE6,
+ 7539: 0xCCE7,
+ 7540: 0xCCE8,
+ 7541: 0xCCE9,
+ 7542: 0xCCEA,
+ 7543: 0xCCEB,
+ 7544: 0xCCED,
+ 7545: 0xCCEE,
+ 7546: 0xCCEF,
+ 7547: 0xCCF1,
+ 7548: 0xCCF2,
+ 7549: 0xCCF3,
+ 7550: 0xCCF4,
+ 7551: 0xCCF5,
+ 7552: 0xCCF6,
+ 7553: 0xCCF7,
+ 7554: 0xCCF8,
+ 7555: 0xCCF9,
+ 7556: 0xCCFA,
+ 7557: 0xCCFB,
+ 7558: 0xCCFC,
+ 7559: 0xCCFD,
+ 7560: 0x30A1,
+ 7561: 0x30A2,
+ 7562: 0x30A3,
+ 7563: 0x30A4,
+ 7564: 0x30A5,
+ 7565: 0x30A6,
+ 7566: 0x30A7,
+ 7567: 0x30A8,
+ 7568: 0x30A9,
+ 7569: 0x30AA,
+ 7570: 0x30AB,
+ 7571: 0x30AC,
+ 7572: 0x30AD,
+ 7573: 0x30AE,
+ 7574: 0x30AF,
+ 7575: 0x30B0,
+ 7576: 0x30B1,
+ 7577: 0x30B2,
+ 7578: 0x30B3,
+ 7579: 0x30B4,
+ 7580: 0x30B5,
+ 7581: 0x30B6,
+ 7582: 0x30B7,
+ 7583: 0x30B8,
+ 7584: 0x30B9,
+ 7585: 0x30BA,
+ 7586: 0x30BB,
+ 7587: 0x30BC,
+ 7588: 0x30BD,
+ 7589: 0x30BE,
+ 7590: 0x30BF,
+ 7591: 0x30C0,
+ 7592: 0x30C1,
+ 7593: 0x30C2,
+ 7594: 0x30C3,
+ 7595: 0x30C4,
+ 7596: 0x30C5,
+ 7597: 0x30C6,
+ 7598: 0x30C7,
+ 7599: 0x30C8,
+ 7600: 0x30C9,
+ 7601: 0x30CA,
+ 7602: 0x30CB,
+ 7603: 0x30CC,
+ 7604: 0x30CD,
+ 7605: 0x30CE,
+ 7606: 0x30CF,
+ 7607: 0x30D0,
+ 7608: 0x30D1,
+ 7609: 0x30D2,
+ 7610: 0x30D3,
+ 7611: 0x30D4,
+ 7612: 0x30D5,
+ 7613: 0x30D6,
+ 7614: 0x30D7,
+ 7615: 0x30D8,
+ 7616: 0x30D9,
+ 7617: 0x30DA,
+ 7618: 0x30DB,
+ 7619: 0x30DC,
+ 7620: 0x30DD,
+ 7621: 0x30DE,
+ 7622: 0x30DF,
+ 7623: 0x30E0,
+ 7624: 0x30E1,
+ 7625: 0x30E2,
+ 7626: 0x30E3,
+ 7627: 0x30E4,
+ 7628: 0x30E5,
+ 7629: 0x30E6,
+ 7630: 0x30E7,
+ 7631: 0x30E8,
+ 7632: 0x30E9,
+ 7633: 0x30EA,
+ 7634: 0x30EB,
+ 7635: 0x30EC,
+ 7636: 0x30ED,
+ 7637: 0x30EE,
+ 7638: 0x30EF,
+ 7639: 0x30F0,
+ 7640: 0x30F1,
+ 7641: 0x30F2,
+ 7642: 0x30F3,
+ 7643: 0x30F4,
+ 7644: 0x30F5,
+ 7645: 0x30F6,
+ 7654: 0xCCFE,
+ 7655: 0xCCFF,
+ 7656: 0xCD00,
+ 7657: 0xCD02,
+ 7658: 0xCD03,
+ 7659: 0xCD04,
+ 7660: 0xCD05,
+ 7661: 0xCD06,
+ 7662: 0xCD07,
+ 7663: 0xCD0A,
+ 7664: 0xCD0B,
+ 7665: 0xCD0D,
+ 7666: 0xCD0E,
+ 7667: 0xCD0F,
+ 7668: 0xCD11,
+ 7669: 0xCD12,
+ 7670: 0xCD13,
+ 7671: 0xCD14,
+ 7672: 0xCD15,
+ 7673: 0xCD16,
+ 7674: 0xCD17,
+ 7675: 0xCD1A,
+ 7676: 0xCD1C,
+ 7677: 0xCD1E,
+ 7678: 0xCD1F,
+ 7679: 0xCD20,
+ 7680: 0xCD21,
+ 7681: 0xCD22,
+ 7682: 0xCD23,
+ 7683: 0xCD25,
+ 7684: 0xCD26,
+ 7685: 0xCD27,
+ 7686: 0xCD29,
+ 7687: 0xCD2A,
+ 7688: 0xCD2B,
+ 7689: 0xCD2D,
+ 7690: 0xCD2E,
+ 7691: 0xCD2F,
+ 7692: 0xCD30,
+ 7693: 0xCD31,
+ 7694: 0xCD32,
+ 7695: 0xCD33,
+ 7696: 0xCD34,
+ 7697: 0xCD35,
+ 7698: 0xCD36,
+ 7699: 0xCD37,
+ 7700: 0xCD38,
+ 7701: 0xCD3A,
+ 7702: 0xCD3B,
+ 7703: 0xCD3C,
+ 7704: 0xCD3D,
+ 7705: 0xCD3E,
+ 7706: 0xCD3F,
+ 7707: 0xCD40,
+ 7708: 0xCD41,
+ 7709: 0xCD42,
+ 7710: 0xCD43,
+ 7711: 0xCD44,
+ 7712: 0xCD45,
+ 7713: 0xCD46,
+ 7714: 0xCD47,
+ 7715: 0xCD48,
+ 7716: 0xCD49,
+ 7717: 0xCD4A,
+ 7718: 0xCD4B,
+ 7719: 0xCD4C,
+ 7720: 0xCD4D,
+ 7721: 0xCD4E,
+ 7722: 0xCD4F,
+ 7723: 0xCD50,
+ 7724: 0xCD51,
+ 7725: 0xCD52,
+ 7726: 0xCD53,
+ 7727: 0xCD54,
+ 7728: 0xCD55,
+ 7729: 0xCD56,
+ 7730: 0xCD57,
+ 7731: 0xCD58,
+ 7732: 0xCD59,
+ 7733: 0xCD5A,
+ 7734: 0xCD5B,
+ 7735: 0xCD5D,
+ 7736: 0xCD5E,
+ 7737: 0xCD5F,
+ 7738: 0x0410,
+ 7739: 0x0411,
+ 7740: 0x0412,
+ 7741: 0x0413,
+ 7742: 0x0414,
+ 7743: 0x0415,
+ 7744: 0x0401,
+ 7745: 0x0416,
+ 7746: 0x0417,
+ 7747: 0x0418,
+ 7748: 0x0419,
+ 7749: 0x041A,
+ 7750: 0x041B,
+ 7751: 0x041C,
+ 7752: 0x041D,
+ 7753: 0x041E,
+ 7754: 0x041F,
+ 7755: 0x0420,
+ 7756: 0x0421,
+ 7757: 0x0422,
+ 7758: 0x0423,
+ 7759: 0x0424,
+ 7760: 0x0425,
+ 7761: 0x0426,
+ 7762: 0x0427,
+ 7763: 0x0428,
+ 7764: 0x0429,
+ 7765: 0x042A,
+ 7766: 0x042B,
+ 7767: 0x042C,
+ 7768: 0x042D,
+ 7769: 0x042E,
+ 7770: 0x042F,
+ 7786: 0x0430,
+ 7787: 0x0431,
+ 7788: 0x0432,
+ 7789: 0x0433,
+ 7790: 0x0434,
+ 7791: 0x0435,
+ 7792: 0x0451,
+ 7793: 0x0436,
+ 7794: 0x0437,
+ 7795: 0x0438,
+ 7796: 0x0439,
+ 7797: 0x043A,
+ 7798: 0x043B,
+ 7799: 0x043C,
+ 7800: 0x043D,
+ 7801: 0x043E,
+ 7802: 0x043F,
+ 7803: 0x0440,
+ 7804: 0x0441,
+ 7805: 0x0442,
+ 7806: 0x0443,
+ 7807: 0x0444,
+ 7808: 0x0445,
+ 7809: 0x0446,
+ 7810: 0x0447,
+ 7811: 0x0448,
+ 7812: 0x0449,
+ 7813: 0x044A,
+ 7814: 0x044B,
+ 7815: 0x044C,
+ 7816: 0x044D,
+ 7817: 0x044E,
+ 7818: 0x044F,
+ 7832: 0xCD61,
+ 7833: 0xCD62,
+ 7834: 0xCD63,
+ 7835: 0xCD65,
+ 7836: 0xCD66,
+ 7837: 0xCD67,
+ 7838: 0xCD68,
+ 7839: 0xCD69,
+ 7840: 0xCD6A,
+ 7841: 0xCD6B,
+ 7842: 0xCD6E,
+ 7843: 0xCD70,
+ 7844: 0xCD72,
+ 7845: 0xCD73,
+ 7846: 0xCD74,
+ 7847: 0xCD75,
+ 7848: 0xCD76,
+ 7849: 0xCD77,
+ 7850: 0xCD79,
+ 7851: 0xCD7A,
+ 7852: 0xCD7B,
+ 7853: 0xCD7C,
+ 7854: 0xCD7D,
+ 7855: 0xCD7E,
+ 7856: 0xCD7F,
+ 7857: 0xCD80,
+ 7858: 0xCD81,
+ 7859: 0xCD82,
+ 7860: 0xCD83,
+ 7861: 0xCD84,
+ 7862: 0xCD85,
+ 7863: 0xCD86,
+ 7864: 0xCD87,
+ 7865: 0xCD89,
+ 7866: 0xCD8A,
+ 7867: 0xCD8B,
+ 7868: 0xCD8C,
+ 7869: 0xCD8D,
+ 7870: 0xCD8E,
+ 7871: 0xCD8F,
+ 7872: 0xCD90,
+ 7873: 0xCD91,
+ 7874: 0xCD92,
+ 7875: 0xCD93,
+ 7876: 0xCD96,
+ 7877: 0xCD97,
+ 7878: 0xCD99,
+ 7879: 0xCD9A,
+ 7880: 0xCD9B,
+ 7881: 0xCD9D,
+ 7882: 0xCD9E,
+ 7883: 0xCD9F,
+ 7884: 0xCDA0,
+ 7885: 0xCDA1,
+ 7886: 0xCDA2,
+ 7887: 0xCDA3,
+ 7888: 0xCDA6,
+ 7889: 0xCDA8,
+ 7890: 0xCDAA,
+ 7891: 0xCDAB,
+ 7892: 0xCDAC,
+ 7893: 0xCDAD,
+ 7894: 0xCDAE,
+ 7895: 0xCDAF,
+ 7896: 0xCDB1,
+ 7897: 0xCDB2,
+ 7898: 0xCDB3,
+ 7899: 0xCDB4,
+ 7900: 0xCDB5,
+ 7901: 0xCDB6,
+ 7902: 0xCDB7,
+ 7903: 0xCDB8,
+ 7904: 0xCDB9,
+ 7905: 0xCDBA,
+ 7906: 0xCDBB,
+ 7907: 0xCDBC,
+ 7908: 0xCDBD,
+ 7909: 0xCDBE,
+ 7910: 0xCDBF,
+ 7911: 0xCDC0,
+ 7912: 0xCDC1,
+ 7913: 0xCDC2,
+ 7914: 0xCDC3,
+ 7915: 0xCDC5,
+ 8010: 0xCDC6,
+ 8011: 0xCDC7,
+ 8012: 0xCDC8,
+ 8013: 0xCDC9,
+ 8014: 0xCDCA,
+ 8015: 0xCDCB,
+ 8016: 0xCDCD,
+ 8017: 0xCDCE,
+ 8018: 0xCDCF,
+ 8019: 0xCDD1,
+ 8020: 0xCDD2,
+ 8021: 0xCDD3,
+ 8022: 0xCDD4,
+ 8023: 0xCDD5,
+ 8024: 0xCDD6,
+ 8025: 0xCDD7,
+ 8026: 0xCDD8,
+ 8027: 0xCDD9,
+ 8028: 0xCDDA,
+ 8029: 0xCDDB,
+ 8030: 0xCDDC,
+ 8031: 0xCDDD,
+ 8032: 0xCDDE,
+ 8033: 0xCDDF,
+ 8034: 0xCDE0,
+ 8035: 0xCDE1,
+ 8036: 0xCDE2,
+ 8037: 0xCDE3,
+ 8038: 0xCDE4,
+ 8039: 0xCDE5,
+ 8040: 0xCDE6,
+ 8041: 0xCDE7,
+ 8042: 0xCDE9,
+ 8043: 0xCDEA,
+ 8044: 0xCDEB,
+ 8045: 0xCDED,
+ 8046: 0xCDEE,
+ 8047: 0xCDEF,
+ 8048: 0xCDF1,
+ 8049: 0xCDF2,
+ 8050: 0xCDF3,
+ 8051: 0xCDF4,
+ 8052: 0xCDF5,
+ 8053: 0xCDF6,
+ 8054: 0xCDF7,
+ 8055: 0xCDFA,
+ 8056: 0xCDFC,
+ 8057: 0xCDFE,
+ 8058: 0xCDFF,
+ 8059: 0xCE00,
+ 8060: 0xCE01,
+ 8061: 0xCE02,
+ 8062: 0xCE03,
+ 8063: 0xCE05,
+ 8064: 0xCE06,
+ 8065: 0xCE07,
+ 8066: 0xCE09,
+ 8067: 0xCE0A,
+ 8068: 0xCE0B,
+ 8069: 0xCE0D,
+ 8070: 0xCE0E,
+ 8071: 0xCE0F,
+ 8072: 0xCE10,
+ 8073: 0xCE11,
+ 8074: 0xCE12,
+ 8075: 0xCE13,
+ 8076: 0xCE15,
+ 8077: 0xCE16,
+ 8078: 0xCE17,
+ 8079: 0xCE18,
+ 8080: 0xCE1A,
+ 8081: 0xCE1B,
+ 8082: 0xCE1C,
+ 8083: 0xCE1D,
+ 8084: 0xCE1E,
+ 8085: 0xCE1F,
+ 8086: 0xCE22,
+ 8087: 0xCE23,
+ 8088: 0xCE25,
+ 8089: 0xCE26,
+ 8090: 0xCE27,
+ 8091: 0xCE29,
+ 8092: 0xCE2A,
+ 8093: 0xCE2B,
+ 8188: 0xCE2C,
+ 8189: 0xCE2D,
+ 8190: 0xCE2E,
+ 8191: 0xCE2F,
+ 8192: 0xCE32,
+ 8193: 0xCE34,
+ 8194: 0xCE36,
+ 8195: 0xCE37,
+ 8196: 0xCE38,
+ 8197: 0xCE39,
+ 8198: 0xCE3A,
+ 8199: 0xCE3B,
+ 8200: 0xCE3C,
+ 8201: 0xCE3D,
+ 8202: 0xCE3E,
+ 8203: 0xCE3F,
+ 8204: 0xCE40,
+ 8205: 0xCE41,
+ 8206: 0xCE42,
+ 8207: 0xCE43,
+ 8208: 0xCE44,
+ 8209: 0xCE45,
+ 8210: 0xCE46,
+ 8211: 0xCE47,
+ 8212: 0xCE48,
+ 8213: 0xCE49,
+ 8214: 0xCE4A,
+ 8215: 0xCE4B,
+ 8216: 0xCE4C,
+ 8217: 0xCE4D,
+ 8218: 0xCE4E,
+ 8219: 0xCE4F,
+ 8220: 0xCE50,
+ 8221: 0xCE51,
+ 8222: 0xCE52,
+ 8223: 0xCE53,
+ 8224: 0xCE54,
+ 8225: 0xCE55,
+ 8226: 0xCE56,
+ 8227: 0xCE57,
+ 8228: 0xCE5A,
+ 8229: 0xCE5B,
+ 8230: 0xCE5D,
+ 8231: 0xCE5E,
+ 8232: 0xCE62,
+ 8233: 0xCE63,
+ 8234: 0xCE64,
+ 8235: 0xCE65,
+ 8236: 0xCE66,
+ 8237: 0xCE67,
+ 8238: 0xCE6A,
+ 8239: 0xCE6C,
+ 8240: 0xCE6E,
+ 8241: 0xCE6F,
+ 8242: 0xCE70,
+ 8243: 0xCE71,
+ 8244: 0xCE72,
+ 8245: 0xCE73,
+ 8246: 0xCE76,
+ 8247: 0xCE77,
+ 8248: 0xCE79,
+ 8249: 0xCE7A,
+ 8250: 0xCE7B,
+ 8251: 0xCE7D,
+ 8252: 0xCE7E,
+ 8253: 0xCE7F,
+ 8254: 0xCE80,
+ 8255: 0xCE81,
+ 8256: 0xCE82,
+ 8257: 0xCE83,
+ 8258: 0xCE86,
+ 8259: 0xCE88,
+ 8260: 0xCE8A,
+ 8261: 0xCE8B,
+ 8262: 0xCE8C,
+ 8263: 0xCE8D,
+ 8264: 0xCE8E,
+ 8265: 0xCE8F,
+ 8266: 0xCE92,
+ 8267: 0xCE93,
+ 8268: 0xCE95,
+ 8269: 0xCE96,
+ 8270: 0xCE97,
+ 8271: 0xCE99,
+ 8366: 0xCE9A,
+ 8367: 0xCE9B,
+ 8368: 0xCE9C,
+ 8369: 0xCE9D,
+ 8370: 0xCE9E,
+ 8371: 0xCE9F,
+ 8372: 0xCEA2,
+ 8373: 0xCEA6,
+ 8374: 0xCEA7,
+ 8375: 0xCEA8,
+ 8376: 0xCEA9,
+ 8377: 0xCEAA,
+ 8378: 0xCEAB,
+ 8379: 0xCEAE,
+ 8380: 0xCEAF,
+ 8381: 0xCEB0,
+ 8382: 0xCEB1,
+ 8383: 0xCEB2,
+ 8384: 0xCEB3,
+ 8385: 0xCEB4,
+ 8386: 0xCEB5,
+ 8387: 0xCEB6,
+ 8388: 0xCEB7,
+ 8389: 0xCEB8,
+ 8390: 0xCEB9,
+ 8391: 0xCEBA,
+ 8392: 0xCEBB,
+ 8393: 0xCEBC,
+ 8394: 0xCEBD,
+ 8395: 0xCEBE,
+ 8396: 0xCEBF,
+ 8397: 0xCEC0,
+ 8398: 0xCEC2,
+ 8399: 0xCEC3,
+ 8400: 0xCEC4,
+ 8401: 0xCEC5,
+ 8402: 0xCEC6,
+ 8403: 0xCEC7,
+ 8404: 0xCEC8,
+ 8405: 0xCEC9,
+ 8406: 0xCECA,
+ 8407: 0xCECB,
+ 8408: 0xCECC,
+ 8409: 0xCECD,
+ 8410: 0xCECE,
+ 8411: 0xCECF,
+ 8412: 0xCED0,
+ 8413: 0xCED1,
+ 8414: 0xCED2,
+ 8415: 0xCED3,
+ 8416: 0xCED4,
+ 8417: 0xCED5,
+ 8418: 0xCED6,
+ 8419: 0xCED7,
+ 8420: 0xCED8,
+ 8421: 0xCED9,
+ 8422: 0xCEDA,
+ 8423: 0xCEDB,
+ 8424: 0xCEDC,
+ 8425: 0xCEDD,
+ 8426: 0xCEDE,
+ 8427: 0xCEDF,
+ 8428: 0xCEE0,
+ 8429: 0xCEE1,
+ 8430: 0xCEE2,
+ 8431: 0xCEE3,
+ 8432: 0xCEE6,
+ 8433: 0xCEE7,
+ 8434: 0xCEE9,
+ 8435: 0xCEEA,
+ 8436: 0xCEED,
+ 8437: 0xCEEE,
+ 8438: 0xCEEF,
+ 8439: 0xCEF0,
+ 8440: 0xCEF1,
+ 8441: 0xCEF2,
+ 8442: 0xCEF3,
+ 8443: 0xCEF6,
+ 8444: 0xCEFA,
+ 8445: 0xCEFB,
+ 8446: 0xCEFC,
+ 8447: 0xCEFD,
+ 8448: 0xCEFE,
+ 8449: 0xCEFF,
+ 8450: 0xAC00,
+ 8451: 0xAC01,
+ 8452: 0xAC04,
+ 8453: 0xAC07,
+ 8454: 0xAC08,
+ 8455: 0xAC09,
+ 8456: 0xAC0A,
+ 8457: 0xAC10,
+ 8458: 0xAC11,
+ 8459: 0xAC12,
+ 8460: 0xAC13,
+ 8461: 0xAC14,
+ 8462: 0xAC15,
+ 8463: 0xAC16,
+ 8464: 0xAC17,
+ 8465: 0xAC19,
+ 8466: 0xAC1A,
+ 8467: 0xAC1B,
+ 8468: 0xAC1C,
+ 8469: 0xAC1D,
+ 8470: 0xAC20,
+ 8471: 0xAC24,
+ 8472: 0xAC2C,
+ 8473: 0xAC2D,
+ 8474: 0xAC2F,
+ 8475: 0xAC30,
+ 8476: 0xAC31,
+ 8477: 0xAC38,
+ 8478: 0xAC39,
+ 8479: 0xAC3C,
+ 8480: 0xAC40,
+ 8481: 0xAC4B,
+ 8482: 0xAC4D,
+ 8483: 0xAC54,
+ 8484: 0xAC58,
+ 8485: 0xAC5C,
+ 8486: 0xAC70,
+ 8487: 0xAC71,
+ 8488: 0xAC74,
+ 8489: 0xAC77,
+ 8490: 0xAC78,
+ 8491: 0xAC7A,
+ 8492: 0xAC80,
+ 8493: 0xAC81,
+ 8494: 0xAC83,
+ 8495: 0xAC84,
+ 8496: 0xAC85,
+ 8497: 0xAC86,
+ 8498: 0xAC89,
+ 8499: 0xAC8A,
+ 8500: 0xAC8B,
+ 8501: 0xAC8C,
+ 8502: 0xAC90,
+ 8503: 0xAC94,
+ 8504: 0xAC9C,
+ 8505: 0xAC9D,
+ 8506: 0xAC9F,
+ 8507: 0xACA0,
+ 8508: 0xACA1,
+ 8509: 0xACA8,
+ 8510: 0xACA9,
+ 8511: 0xACAA,
+ 8512: 0xACAC,
+ 8513: 0xACAF,
+ 8514: 0xACB0,
+ 8515: 0xACB8,
+ 8516: 0xACB9,
+ 8517: 0xACBB,
+ 8518: 0xACBC,
+ 8519: 0xACBD,
+ 8520: 0xACC1,
+ 8521: 0xACC4,
+ 8522: 0xACC8,
+ 8523: 0xACCC,
+ 8524: 0xACD5,
+ 8525: 0xACD7,
+ 8526: 0xACE0,
+ 8527: 0xACE1,
+ 8528: 0xACE4,
+ 8529: 0xACE7,
+ 8530: 0xACE8,
+ 8531: 0xACEA,
+ 8532: 0xACEC,
+ 8533: 0xACEF,
+ 8534: 0xACF0,
+ 8535: 0xACF1,
+ 8536: 0xACF3,
+ 8537: 0xACF5,
+ 8538: 0xACF6,
+ 8539: 0xACFC,
+ 8540: 0xACFD,
+ 8541: 0xAD00,
+ 8542: 0xAD04,
+ 8543: 0xAD06,
+ 8544: 0xCF02,
+ 8545: 0xCF03,
+ 8546: 0xCF05,
+ 8547: 0xCF06,
+ 8548: 0xCF07,
+ 8549: 0xCF09,
+ 8550: 0xCF0A,
+ 8551: 0xCF0B,
+ 8552: 0xCF0C,
+ 8553: 0xCF0D,
+ 8554: 0xCF0E,
+ 8555: 0xCF0F,
+ 8556: 0xCF12,
+ 8557: 0xCF14,
+ 8558: 0xCF16,
+ 8559: 0xCF17,
+ 8560: 0xCF18,
+ 8561: 0xCF19,
+ 8562: 0xCF1A,
+ 8563: 0xCF1B,
+ 8564: 0xCF1D,
+ 8565: 0xCF1E,
+ 8566: 0xCF1F,
+ 8567: 0xCF21,
+ 8568: 0xCF22,
+ 8569: 0xCF23,
+ 8570: 0xCF25,
+ 8571: 0xCF26,
+ 8572: 0xCF27,
+ 8573: 0xCF28,
+ 8574: 0xCF29,
+ 8575: 0xCF2A,
+ 8576: 0xCF2B,
+ 8577: 0xCF2E,
+ 8578: 0xCF32,
+ 8579: 0xCF33,
+ 8580: 0xCF34,
+ 8581: 0xCF35,
+ 8582: 0xCF36,
+ 8583: 0xCF37,
+ 8584: 0xCF39,
+ 8585: 0xCF3A,
+ 8586: 0xCF3B,
+ 8587: 0xCF3C,
+ 8588: 0xCF3D,
+ 8589: 0xCF3E,
+ 8590: 0xCF3F,
+ 8591: 0xCF40,
+ 8592: 0xCF41,
+ 8593: 0xCF42,
+ 8594: 0xCF43,
+ 8595: 0xCF44,
+ 8596: 0xCF45,
+ 8597: 0xCF46,
+ 8598: 0xCF47,
+ 8599: 0xCF48,
+ 8600: 0xCF49,
+ 8601: 0xCF4A,
+ 8602: 0xCF4B,
+ 8603: 0xCF4C,
+ 8604: 0xCF4D,
+ 8605: 0xCF4E,
+ 8606: 0xCF4F,
+ 8607: 0xCF50,
+ 8608: 0xCF51,
+ 8609: 0xCF52,
+ 8610: 0xCF53,
+ 8611: 0xCF56,
+ 8612: 0xCF57,
+ 8613: 0xCF59,
+ 8614: 0xCF5A,
+ 8615: 0xCF5B,
+ 8616: 0xCF5D,
+ 8617: 0xCF5E,
+ 8618: 0xCF5F,
+ 8619: 0xCF60,
+ 8620: 0xCF61,
+ 8621: 0xCF62,
+ 8622: 0xCF63,
+ 8623: 0xCF66,
+ 8624: 0xCF68,
+ 8625: 0xCF6A,
+ 8626: 0xCF6B,
+ 8627: 0xCF6C,
+ 8628: 0xAD0C,
+ 8629: 0xAD0D,
+ 8630: 0xAD0F,
+ 8631: 0xAD11,
+ 8632: 0xAD18,
+ 8633: 0xAD1C,
+ 8634: 0xAD20,
+ 8635: 0xAD29,
+ 8636: 0xAD2C,
+ 8637: 0xAD2D,
+ 8638: 0xAD34,
+ 8639: 0xAD35,
+ 8640: 0xAD38,
+ 8641: 0xAD3C,
+ 8642: 0xAD44,
+ 8643: 0xAD45,
+ 8644: 0xAD47,
+ 8645: 0xAD49,
+ 8646: 0xAD50,
+ 8647: 0xAD54,
+ 8648: 0xAD58,
+ 8649: 0xAD61,
+ 8650: 0xAD63,
+ 8651: 0xAD6C,
+ 8652: 0xAD6D,
+ 8653: 0xAD70,
+ 8654: 0xAD73,
+ 8655: 0xAD74,
+ 8656: 0xAD75,
+ 8657: 0xAD76,
+ 8658: 0xAD7B,
+ 8659: 0xAD7C,
+ 8660: 0xAD7D,
+ 8661: 0xAD7F,
+ 8662: 0xAD81,
+ 8663: 0xAD82,
+ 8664: 0xAD88,
+ 8665: 0xAD89,
+ 8666: 0xAD8C,
+ 8667: 0xAD90,
+ 8668: 0xAD9C,
+ 8669: 0xAD9D,
+ 8670: 0xADA4,
+ 8671: 0xADB7,
+ 8672: 0xADC0,
+ 8673: 0xADC1,
+ 8674: 0xADC4,
+ 8675: 0xADC8,
+ 8676: 0xADD0,
+ 8677: 0xADD1,
+ 8678: 0xADD3,
+ 8679: 0xADDC,
+ 8680: 0xADE0,
+ 8681: 0xADE4,
+ 8682: 0xADF8,
+ 8683: 0xADF9,
+ 8684: 0xADFC,
+ 8685: 0xADFF,
+ 8686: 0xAE00,
+ 8687: 0xAE01,
+ 8688: 0xAE08,
+ 8689: 0xAE09,
+ 8690: 0xAE0B,
+ 8691: 0xAE0D,
+ 8692: 0xAE14,
+ 8693: 0xAE30,
+ 8694: 0xAE31,
+ 8695: 0xAE34,
+ 8696: 0xAE37,
+ 8697: 0xAE38,
+ 8698: 0xAE3A,
+ 8699: 0xAE40,
+ 8700: 0xAE41,
+ 8701: 0xAE43,
+ 8702: 0xAE45,
+ 8703: 0xAE46,
+ 8704: 0xAE4A,
+ 8705: 0xAE4C,
+ 8706: 0xAE4D,
+ 8707: 0xAE4E,
+ 8708: 0xAE50,
+ 8709: 0xAE54,
+ 8710: 0xAE56,
+ 8711: 0xAE5C,
+ 8712: 0xAE5D,
+ 8713: 0xAE5F,
+ 8714: 0xAE60,
+ 8715: 0xAE61,
+ 8716: 0xAE65,
+ 8717: 0xAE68,
+ 8718: 0xAE69,
+ 8719: 0xAE6C,
+ 8720: 0xAE70,
+ 8721: 0xAE78,
+ 8722: 0xCF6D,
+ 8723: 0xCF6E,
+ 8724: 0xCF6F,
+ 8725: 0xCF72,
+ 8726: 0xCF73,
+ 8727: 0xCF75,
+ 8728: 0xCF76,
+ 8729: 0xCF77,
+ 8730: 0xCF79,
+ 8731: 0xCF7A,
+ 8732: 0xCF7B,
+ 8733: 0xCF7C,
+ 8734: 0xCF7D,
+ 8735: 0xCF7E,
+ 8736: 0xCF7F,
+ 8737: 0xCF81,
+ 8738: 0xCF82,
+ 8739: 0xCF83,
+ 8740: 0xCF84,
+ 8741: 0xCF86,
+ 8742: 0xCF87,
+ 8743: 0xCF88,
+ 8744: 0xCF89,
+ 8745: 0xCF8A,
+ 8746: 0xCF8B,
+ 8747: 0xCF8D,
+ 8748: 0xCF8E,
+ 8749: 0xCF8F,
+ 8750: 0xCF90,
+ 8751: 0xCF91,
+ 8752: 0xCF92,
+ 8753: 0xCF93,
+ 8754: 0xCF94,
+ 8755: 0xCF95,
+ 8756: 0xCF96,
+ 8757: 0xCF97,
+ 8758: 0xCF98,
+ 8759: 0xCF99,
+ 8760: 0xCF9A,
+ 8761: 0xCF9B,
+ 8762: 0xCF9C,
+ 8763: 0xCF9D,
+ 8764: 0xCF9E,
+ 8765: 0xCF9F,
+ 8766: 0xCFA0,
+ 8767: 0xCFA2,
+ 8768: 0xCFA3,
+ 8769: 0xCFA4,
+ 8770: 0xCFA5,
+ 8771: 0xCFA6,
+ 8772: 0xCFA7,
+ 8773: 0xCFA9,
+ 8774: 0xCFAA,
+ 8775: 0xCFAB,
+ 8776: 0xCFAC,
+ 8777: 0xCFAD,
+ 8778: 0xCFAE,
+ 8779: 0xCFAF,
+ 8780: 0xCFB1,
+ 8781: 0xCFB2,
+ 8782: 0xCFB3,
+ 8783: 0xCFB4,
+ 8784: 0xCFB5,
+ 8785: 0xCFB6,
+ 8786: 0xCFB7,
+ 8787: 0xCFB8,
+ 8788: 0xCFB9,
+ 8789: 0xCFBA,
+ 8790: 0xCFBB,
+ 8791: 0xCFBC,
+ 8792: 0xCFBD,
+ 8793: 0xCFBE,
+ 8794: 0xCFBF,
+ 8795: 0xCFC0,
+ 8796: 0xCFC1,
+ 8797: 0xCFC2,
+ 8798: 0xCFC3,
+ 8799: 0xCFC5,
+ 8800: 0xCFC6,
+ 8801: 0xCFC7,
+ 8802: 0xCFC8,
+ 8803: 0xCFC9,
+ 8804: 0xCFCA,
+ 8805: 0xCFCB,
+ 8806: 0xAE79,
+ 8807: 0xAE7B,
+ 8808: 0xAE7C,
+ 8809: 0xAE7D,
+ 8810: 0xAE84,
+ 8811: 0xAE85,
+ 8812: 0xAE8C,
+ 8813: 0xAEBC,
+ 8814: 0xAEBD,
+ 8815: 0xAEBE,
+ 8816: 0xAEC0,
+ 8817: 0xAEC4,
+ 8818: 0xAECC,
+ 8819: 0xAECD,
+ 8820: 0xAECF,
+ 8821: 0xAED0,
+ 8822: 0xAED1,
+ 8823: 0xAED8,
+ 8824: 0xAED9,
+ 8825: 0xAEDC,
+ 8826: 0xAEE8,
+ 8827: 0xAEEB,
+ 8828: 0xAEED,
+ 8829: 0xAEF4,
+ 8830: 0xAEF8,
+ 8831: 0xAEFC,
+ 8832: 0xAF07,
+ 8833: 0xAF08,
+ 8834: 0xAF0D,
+ 8835: 0xAF10,
+ 8836: 0xAF2C,
+ 8837: 0xAF2D,
+ 8838: 0xAF30,
+ 8839: 0xAF32,
+ 8840: 0xAF34,
+ 8841: 0xAF3C,
+ 8842: 0xAF3D,
+ 8843: 0xAF3F,
+ 8844: 0xAF41,
+ 8845: 0xAF42,
+ 8846: 0xAF43,
+ 8847: 0xAF48,
+ 8848: 0xAF49,
+ 8849: 0xAF50,
+ 8850: 0xAF5C,
+ 8851: 0xAF5D,
+ 8852: 0xAF64,
+ 8853: 0xAF65,
+ 8854: 0xAF79,
+ 8855: 0xAF80,
+ 8856: 0xAF84,
+ 8857: 0xAF88,
+ 8858: 0xAF90,
+ 8859: 0xAF91,
+ 8860: 0xAF95,
+ 8861: 0xAF9C,
+ 8862: 0xAFB8,
+ 8863: 0xAFB9,
+ 8864: 0xAFBC,
+ 8865: 0xAFC0,
+ 8866: 0xAFC7,
+ 8867: 0xAFC8,
+ 8868: 0xAFC9,
+ 8869: 0xAFCB,
+ 8870: 0xAFCD,
+ 8871: 0xAFCE,
+ 8872: 0xAFD4,
+ 8873: 0xAFDC,
+ 8874: 0xAFE8,
+ 8875: 0xAFE9,
+ 8876: 0xAFF0,
+ 8877: 0xAFF1,
+ 8878: 0xAFF4,
+ 8879: 0xAFF8,
+ 8880: 0xB000,
+ 8881: 0xB001,
+ 8882: 0xB004,
+ 8883: 0xB00C,
+ 8884: 0xB010,
+ 8885: 0xB014,
+ 8886: 0xB01C,
+ 8887: 0xB01D,
+ 8888: 0xB028,
+ 8889: 0xB044,
+ 8890: 0xB045,
+ 8891: 0xB048,
+ 8892: 0xB04A,
+ 8893: 0xB04C,
+ 8894: 0xB04E,
+ 8895: 0xB053,
+ 8896: 0xB054,
+ 8897: 0xB055,
+ 8898: 0xB057,
+ 8899: 0xB059,
+ 8900: 0xCFCC,
+ 8901: 0xCFCD,
+ 8902: 0xCFCE,
+ 8903: 0xCFCF,
+ 8904: 0xCFD0,
+ 8905: 0xCFD1,
+ 8906: 0xCFD2,
+ 8907: 0xCFD3,
+ 8908: 0xCFD4,
+ 8909: 0xCFD5,
+ 8910: 0xCFD6,
+ 8911: 0xCFD7,
+ 8912: 0xCFD8,
+ 8913: 0xCFD9,
+ 8914: 0xCFDA,
+ 8915: 0xCFDB,
+ 8916: 0xCFDC,
+ 8917: 0xCFDD,
+ 8918: 0xCFDE,
+ 8919: 0xCFDF,
+ 8920: 0xCFE2,
+ 8921: 0xCFE3,
+ 8922: 0xCFE5,
+ 8923: 0xCFE6,
+ 8924: 0xCFE7,
+ 8925: 0xCFE9,
+ 8926: 0xCFEA,
+ 8927: 0xCFEB,
+ 8928: 0xCFEC,
+ 8929: 0xCFED,
+ 8930: 0xCFEE,
+ 8931: 0xCFEF,
+ 8932: 0xCFF2,
+ 8933: 0xCFF4,
+ 8934: 0xCFF6,
+ 8935: 0xCFF7,
+ 8936: 0xCFF8,
+ 8937: 0xCFF9,
+ 8938: 0xCFFA,
+ 8939: 0xCFFB,
+ 8940: 0xCFFD,
+ 8941: 0xCFFE,
+ 8942: 0xCFFF,
+ 8943: 0xD001,
+ 8944: 0xD002,
+ 8945: 0xD003,
+ 8946: 0xD005,
+ 8947: 0xD006,
+ 8948: 0xD007,
+ 8949: 0xD008,
+ 8950: 0xD009,
+ 8951: 0xD00A,
+ 8952: 0xD00B,
+ 8953: 0xD00C,
+ 8954: 0xD00D,
+ 8955: 0xD00E,
+ 8956: 0xD00F,
+ 8957: 0xD010,
+ 8958: 0xD012,
+ 8959: 0xD013,
+ 8960: 0xD014,
+ 8961: 0xD015,
+ 8962: 0xD016,
+ 8963: 0xD017,
+ 8964: 0xD019,
+ 8965: 0xD01A,
+ 8966: 0xD01B,
+ 8967: 0xD01C,
+ 8968: 0xD01D,
+ 8969: 0xD01E,
+ 8970: 0xD01F,
+ 8971: 0xD020,
+ 8972: 0xD021,
+ 8973: 0xD022,
+ 8974: 0xD023,
+ 8975: 0xD024,
+ 8976: 0xD025,
+ 8977: 0xD026,
+ 8978: 0xD027,
+ 8979: 0xD028,
+ 8980: 0xD029,
+ 8981: 0xD02A,
+ 8982: 0xD02B,
+ 8983: 0xD02C,
+ 8984: 0xB05D,
+ 8985: 0xB07C,
+ 8986: 0xB07D,
+ 8987: 0xB080,
+ 8988: 0xB084,
+ 8989: 0xB08C,
+ 8990: 0xB08D,
+ 8991: 0xB08F,
+ 8992: 0xB091,
+ 8993: 0xB098,
+ 8994: 0xB099,
+ 8995: 0xB09A,
+ 8996: 0xB09C,
+ 8997: 0xB09F,
+ 8998: 0xB0A0,
+ 8999: 0xB0A1,
+ 9000: 0xB0A2,
+ 9001: 0xB0A8,
+ 9002: 0xB0A9,
+ 9003: 0xB0AB,
+ 9004: 0xB0AC,
+ 9005: 0xB0AD,
+ 9006: 0xB0AE,
+ 9007: 0xB0AF,
+ 9008: 0xB0B1,
+ 9009: 0xB0B3,
+ 9010: 0xB0B4,
+ 9011: 0xB0B5,
+ 9012: 0xB0B8,
+ 9013: 0xB0BC,
+ 9014: 0xB0C4,
+ 9015: 0xB0C5,
+ 9016: 0xB0C7,
+ 9017: 0xB0C8,
+ 9018: 0xB0C9,
+ 9019: 0xB0D0,
+ 9020: 0xB0D1,
+ 9021: 0xB0D4,
+ 9022: 0xB0D8,
+ 9023: 0xB0E0,
+ 9024: 0xB0E5,
+ 9025: 0xB108,
+ 9026: 0xB109,
+ 9027: 0xB10B,
+ 9028: 0xB10C,
+ 9029: 0xB110,
+ 9030: 0xB112,
+ 9031: 0xB113,
+ 9032: 0xB118,
+ 9033: 0xB119,
+ 9034: 0xB11B,
+ 9035: 0xB11C,
+ 9036: 0xB11D,
+ 9037: 0xB123,
+ 9038: 0xB124,
+ 9039: 0xB125,
+ 9040: 0xB128,
+ 9041: 0xB12C,
+ 9042: 0xB134,
+ 9043: 0xB135,
+ 9044: 0xB137,
+ 9045: 0xB138,
+ 9046: 0xB139,
+ 9047: 0xB140,
+ 9048: 0xB141,
+ 9049: 0xB144,
+ 9050: 0xB148,
+ 9051: 0xB150,
+ 9052: 0xB151,
+ 9053: 0xB154,
+ 9054: 0xB155,
+ 9055: 0xB158,
+ 9056: 0xB15C,
+ 9057: 0xB160,
+ 9058: 0xB178,
+ 9059: 0xB179,
+ 9060: 0xB17C,
+ 9061: 0xB180,
+ 9062: 0xB182,
+ 9063: 0xB188,
+ 9064: 0xB189,
+ 9065: 0xB18B,
+ 9066: 0xB18D,
+ 9067: 0xB192,
+ 9068: 0xB193,
+ 9069: 0xB194,
+ 9070: 0xB198,
+ 9071: 0xB19C,
+ 9072: 0xB1A8,
+ 9073: 0xB1CC,
+ 9074: 0xB1D0,
+ 9075: 0xB1D4,
+ 9076: 0xB1DC,
+ 9077: 0xB1DD,
+ 9078: 0xD02E,
+ 9079: 0xD02F,
+ 9080: 0xD030,
+ 9081: 0xD031,
+ 9082: 0xD032,
+ 9083: 0xD033,
+ 9084: 0xD036,
+ 9085: 0xD037,
+ 9086: 0xD039,
+ 9087: 0xD03A,
+ 9088: 0xD03B,
+ 9089: 0xD03D,
+ 9090: 0xD03E,
+ 9091: 0xD03F,
+ 9092: 0xD040,
+ 9093: 0xD041,
+ 9094: 0xD042,
+ 9095: 0xD043,
+ 9096: 0xD046,
+ 9097: 0xD048,
+ 9098: 0xD04A,
+ 9099: 0xD04B,
+ 9100: 0xD04C,
+ 9101: 0xD04D,
+ 9102: 0xD04E,
+ 9103: 0xD04F,
+ 9104: 0xD051,
+ 9105: 0xD052,
+ 9106: 0xD053,
+ 9107: 0xD055,
+ 9108: 0xD056,
+ 9109: 0xD057,
+ 9110: 0xD059,
+ 9111: 0xD05A,
+ 9112: 0xD05B,
+ 9113: 0xD05C,
+ 9114: 0xD05D,
+ 9115: 0xD05E,
+ 9116: 0xD05F,
+ 9117: 0xD061,
+ 9118: 0xD062,
+ 9119: 0xD063,
+ 9120: 0xD064,
+ 9121: 0xD065,
+ 9122: 0xD066,
+ 9123: 0xD067,
+ 9124: 0xD068,
+ 9125: 0xD069,
+ 9126: 0xD06A,
+ 9127: 0xD06B,
+ 9128: 0xD06E,
+ 9129: 0xD06F,
+ 9130: 0xD071,
+ 9131: 0xD072,
+ 9132: 0xD073,
+ 9133: 0xD075,
+ 9134: 0xD076,
+ 9135: 0xD077,
+ 9136: 0xD078,
+ 9137: 0xD079,
+ 9138: 0xD07A,
+ 9139: 0xD07B,
+ 9140: 0xD07E,
+ 9141: 0xD07F,
+ 9142: 0xD080,
+ 9143: 0xD082,
+ 9144: 0xD083,
+ 9145: 0xD084,
+ 9146: 0xD085,
+ 9147: 0xD086,
+ 9148: 0xD087,
+ 9149: 0xD088,
+ 9150: 0xD089,
+ 9151: 0xD08A,
+ 9152: 0xD08B,
+ 9153: 0xD08C,
+ 9154: 0xD08D,
+ 9155: 0xD08E,
+ 9156: 0xD08F,
+ 9157: 0xD090,
+ 9158: 0xD091,
+ 9159: 0xD092,
+ 9160: 0xD093,
+ 9161: 0xD094,
+ 9162: 0xB1DF,
+ 9163: 0xB1E8,
+ 9164: 0xB1E9,
+ 9165: 0xB1EC,
+ 9166: 0xB1F0,
+ 9167: 0xB1F9,
+ 9168: 0xB1FB,
+ 9169: 0xB1FD,
+ 9170: 0xB204,
+ 9171: 0xB205,
+ 9172: 0xB208,
+ 9173: 0xB20B,
+ 9174: 0xB20C,
+ 9175: 0xB214,
+ 9176: 0xB215,
+ 9177: 0xB217,
+ 9178: 0xB219,
+ 9179: 0xB220,
+ 9180: 0xB234,
+ 9181: 0xB23C,
+ 9182: 0xB258,
+ 9183: 0xB25C,
+ 9184: 0xB260,
+ 9185: 0xB268,
+ 9186: 0xB269,
+ 9187: 0xB274,
+ 9188: 0xB275,
+ 9189: 0xB27C,
+ 9190: 0xB284,
+ 9191: 0xB285,
+ 9192: 0xB289,
+ 9193: 0xB290,
+ 9194: 0xB291,
+ 9195: 0xB294,
+ 9196: 0xB298,
+ 9197: 0xB299,
+ 9198: 0xB29A,
+ 9199: 0xB2A0,
+ 9200: 0xB2A1,
+ 9201: 0xB2A3,
+ 9202: 0xB2A5,
+ 9203: 0xB2A6,
+ 9204: 0xB2AA,
+ 9205: 0xB2AC,
+ 9206: 0xB2B0,
+ 9207: 0xB2B4,
+ 9208: 0xB2C8,
+ 9209: 0xB2C9,
+ 9210: 0xB2CC,
+ 9211: 0xB2D0,
+ 9212: 0xB2D2,
+ 9213: 0xB2D8,
+ 9214: 0xB2D9,
+ 9215: 0xB2DB,
+ 9216: 0xB2DD,
+ 9217: 0xB2E2,
+ 9218: 0xB2E4,
+ 9219: 0xB2E5,
+ 9220: 0xB2E6,
+ 9221: 0xB2E8,
+ 9222: 0xB2EB,
+ 9223: 0xB2EC,
+ 9224: 0xB2ED,
+ 9225: 0xB2EE,
+ 9226: 0xB2EF,
+ 9227: 0xB2F3,
+ 9228: 0xB2F4,
+ 9229: 0xB2F5,
+ 9230: 0xB2F7,
+ 9231: 0xB2F8,
+ 9232: 0xB2F9,
+ 9233: 0xB2FA,
+ 9234: 0xB2FB,
+ 9235: 0xB2FF,
+ 9236: 0xB300,
+ 9237: 0xB301,
+ 9238: 0xB304,
+ 9239: 0xB308,
+ 9240: 0xB310,
+ 9241: 0xB311,
+ 9242: 0xB313,
+ 9243: 0xB314,
+ 9244: 0xB315,
+ 9245: 0xB31C,
+ 9246: 0xB354,
+ 9247: 0xB355,
+ 9248: 0xB356,
+ 9249: 0xB358,
+ 9250: 0xB35B,
+ 9251: 0xB35C,
+ 9252: 0xB35E,
+ 9253: 0xB35F,
+ 9254: 0xB364,
+ 9255: 0xB365,
+ 9256: 0xD095,
+ 9257: 0xD096,
+ 9258: 0xD097,
+ 9259: 0xD098,
+ 9260: 0xD099,
+ 9261: 0xD09A,
+ 9262: 0xD09B,
+ 9263: 0xD09C,
+ 9264: 0xD09D,
+ 9265: 0xD09E,
+ 9266: 0xD09F,
+ 9267: 0xD0A0,
+ 9268: 0xD0A1,
+ 9269: 0xD0A2,
+ 9270: 0xD0A3,
+ 9271: 0xD0A6,
+ 9272: 0xD0A7,
+ 9273: 0xD0A9,
+ 9274: 0xD0AA,
+ 9275: 0xD0AB,
+ 9276: 0xD0AD,
+ 9277: 0xD0AE,
+ 9278: 0xD0AF,
+ 9279: 0xD0B0,
+ 9280: 0xD0B1,
+ 9281: 0xD0B2,
+ 9282: 0xD0B3,
+ 9283: 0xD0B6,
+ 9284: 0xD0B8,
+ 9285: 0xD0BA,
+ 9286: 0xD0BB,
+ 9287: 0xD0BC,
+ 9288: 0xD0BD,
+ 9289: 0xD0BE,
+ 9290: 0xD0BF,
+ 9291: 0xD0C2,
+ 9292: 0xD0C3,
+ 9293: 0xD0C5,
+ 9294: 0xD0C6,
+ 9295: 0xD0C7,
+ 9296: 0xD0CA,
+ 9297: 0xD0CB,
+ 9298: 0xD0CC,
+ 9299: 0xD0CD,
+ 9300: 0xD0CE,
+ 9301: 0xD0CF,
+ 9302: 0xD0D2,
+ 9303: 0xD0D6,
+ 9304: 0xD0D7,
+ 9305: 0xD0D8,
+ 9306: 0xD0D9,
+ 9307: 0xD0DA,
+ 9308: 0xD0DB,
+ 9309: 0xD0DE,
+ 9310: 0xD0DF,
+ 9311: 0xD0E1,
+ 9312: 0xD0E2,
+ 9313: 0xD0E3,
+ 9314: 0xD0E5,
+ 9315: 0xD0E6,
+ 9316: 0xD0E7,
+ 9317: 0xD0E8,
+ 9318: 0xD0E9,
+ 9319: 0xD0EA,
+ 9320: 0xD0EB,
+ 9321: 0xD0EE,
+ 9322: 0xD0F2,
+ 9323: 0xD0F3,
+ 9324: 0xD0F4,
+ 9325: 0xD0F5,
+ 9326: 0xD0F6,
+ 9327: 0xD0F7,
+ 9328: 0xD0F9,
+ 9329: 0xD0FA,
+ 9330: 0xD0FB,
+ 9331: 0xD0FC,
+ 9332: 0xD0FD,
+ 9333: 0xD0FE,
+ 9334: 0xD0FF,
+ 9335: 0xD100,
+ 9336: 0xD101,
+ 9337: 0xD102,
+ 9338: 0xD103,
+ 9339: 0xD104,
+ 9340: 0xB367,
+ 9341: 0xB369,
+ 9342: 0xB36B,
+ 9343: 0xB36E,
+ 9344: 0xB370,
+ 9345: 0xB371,
+ 9346: 0xB374,
+ 9347: 0xB378,
+ 9348: 0xB380,
+ 9349: 0xB381,
+ 9350: 0xB383,
+ 9351: 0xB384,
+ 9352: 0xB385,
+ 9353: 0xB38C,
+ 9354: 0xB390,
+ 9355: 0xB394,
+ 9356: 0xB3A0,
+ 9357: 0xB3A1,
+ 9358: 0xB3A8,
+ 9359: 0xB3AC,
+ 9360: 0xB3C4,
+ 9361: 0xB3C5,
+ 9362: 0xB3C8,
+ 9363: 0xB3CB,
+ 9364: 0xB3CC,
+ 9365: 0xB3CE,
+ 9366: 0xB3D0,
+ 9367: 0xB3D4,
+ 9368: 0xB3D5,
+ 9369: 0xB3D7,
+ 9370: 0xB3D9,
+ 9371: 0xB3DB,
+ 9372: 0xB3DD,
+ 9373: 0xB3E0,
+ 9374: 0xB3E4,
+ 9375: 0xB3E8,
+ 9376: 0xB3FC,
+ 9377: 0xB410,
+ 9378: 0xB418,
+ 9379: 0xB41C,
+ 9380: 0xB420,
+ 9381: 0xB428,
+ 9382: 0xB429,
+ 9383: 0xB42B,
+ 9384: 0xB434,
+ 9385: 0xB450,
+ 9386: 0xB451,
+ 9387: 0xB454,
+ 9388: 0xB458,
+ 9389: 0xB460,
+ 9390: 0xB461,
+ 9391: 0xB463,
+ 9392: 0xB465,
+ 9393: 0xB46C,
+ 9394: 0xB480,
+ 9395: 0xB488,
+ 9396: 0xB49D,
+ 9397: 0xB4A4,
+ 9398: 0xB4A8,
+ 9399: 0xB4AC,
+ 9400: 0xB4B5,
+ 9401: 0xB4B7,
+ 9402: 0xB4B9,
+ 9403: 0xB4C0,
+ 9404: 0xB4C4,
+ 9405: 0xB4C8,
+ 9406: 0xB4D0,
+ 9407: 0xB4D5,
+ 9408: 0xB4DC,
+ 9409: 0xB4DD,
+ 9410: 0xB4E0,
+ 9411: 0xB4E3,
+ 9412: 0xB4E4,
+ 9413: 0xB4E6,
+ 9414: 0xB4EC,
+ 9415: 0xB4ED,
+ 9416: 0xB4EF,
+ 9417: 0xB4F1,
+ 9418: 0xB4F8,
+ 9419: 0xB514,
+ 9420: 0xB515,
+ 9421: 0xB518,
+ 9422: 0xB51B,
+ 9423: 0xB51C,
+ 9424: 0xB524,
+ 9425: 0xB525,
+ 9426: 0xB527,
+ 9427: 0xB528,
+ 9428: 0xB529,
+ 9429: 0xB52A,
+ 9430: 0xB530,
+ 9431: 0xB531,
+ 9432: 0xB534,
+ 9433: 0xB538,
+ 9434: 0xD105,
+ 9435: 0xD106,
+ 9436: 0xD107,
+ 9437: 0xD108,
+ 9438: 0xD109,
+ 9439: 0xD10A,
+ 9440: 0xD10B,
+ 9441: 0xD10C,
+ 9442: 0xD10E,
+ 9443: 0xD10F,
+ 9444: 0xD110,
+ 9445: 0xD111,
+ 9446: 0xD112,
+ 9447: 0xD113,
+ 9448: 0xD114,
+ 9449: 0xD115,
+ 9450: 0xD116,
+ 9451: 0xD117,
+ 9452: 0xD118,
+ 9453: 0xD119,
+ 9454: 0xD11A,
+ 9455: 0xD11B,
+ 9456: 0xD11C,
+ 9457: 0xD11D,
+ 9458: 0xD11E,
+ 9459: 0xD11F,
+ 9460: 0xD120,
+ 9461: 0xD121,
+ 9462: 0xD122,
+ 9463: 0xD123,
+ 9464: 0xD124,
+ 9465: 0xD125,
+ 9466: 0xD126,
+ 9467: 0xD127,
+ 9468: 0xD128,
+ 9469: 0xD129,
+ 9470: 0xD12A,
+ 9471: 0xD12B,
+ 9472: 0xD12C,
+ 9473: 0xD12D,
+ 9474: 0xD12E,
+ 9475: 0xD12F,
+ 9476: 0xD132,
+ 9477: 0xD133,
+ 9478: 0xD135,
+ 9479: 0xD136,
+ 9480: 0xD137,
+ 9481: 0xD139,
+ 9482: 0xD13B,
+ 9483: 0xD13C,
+ 9484: 0xD13D,
+ 9485: 0xD13E,
+ 9486: 0xD13F,
+ 9487: 0xD142,
+ 9488: 0xD146,
+ 9489: 0xD147,
+ 9490: 0xD148,
+ 9491: 0xD149,
+ 9492: 0xD14A,
+ 9493: 0xD14B,
+ 9494: 0xD14E,
+ 9495: 0xD14F,
+ 9496: 0xD151,
+ 9497: 0xD152,
+ 9498: 0xD153,
+ 9499: 0xD155,
+ 9500: 0xD156,
+ 9501: 0xD157,
+ 9502: 0xD158,
+ 9503: 0xD159,
+ 9504: 0xD15A,
+ 9505: 0xD15B,
+ 9506: 0xD15E,
+ 9507: 0xD160,
+ 9508: 0xD162,
+ 9509: 0xD163,
+ 9510: 0xD164,
+ 9511: 0xD165,
+ 9512: 0xD166,
+ 9513: 0xD167,
+ 9514: 0xD169,
+ 9515: 0xD16A,
+ 9516: 0xD16B,
+ 9517: 0xD16D,
+ 9518: 0xB540,
+ 9519: 0xB541,
+ 9520: 0xB543,
+ 9521: 0xB544,
+ 9522: 0xB545,
+ 9523: 0xB54B,
+ 9524: 0xB54C,
+ 9525: 0xB54D,
+ 9526: 0xB550,
+ 9527: 0xB554,
+ 9528: 0xB55C,
+ 9529: 0xB55D,
+ 9530: 0xB55F,
+ 9531: 0xB560,
+ 9532: 0xB561,
+ 9533: 0xB5A0,
+ 9534: 0xB5A1,
+ 9535: 0xB5A4,
+ 9536: 0xB5A8,
+ 9537: 0xB5AA,
+ 9538: 0xB5AB,
+ 9539: 0xB5B0,
+ 9540: 0xB5B1,
+ 9541: 0xB5B3,
+ 9542: 0xB5B4,
+ 9543: 0xB5B5,
+ 9544: 0xB5BB,
+ 9545: 0xB5BC,
+ 9546: 0xB5BD,
+ 9547: 0xB5C0,
+ 9548: 0xB5C4,
+ 9549: 0xB5CC,
+ 9550: 0xB5CD,
+ 9551: 0xB5CF,
+ 9552: 0xB5D0,
+ 9553: 0xB5D1,
+ 9554: 0xB5D8,
+ 9555: 0xB5EC,
+ 9556: 0xB610,
+ 9557: 0xB611,
+ 9558: 0xB614,
+ 9559: 0xB618,
+ 9560: 0xB625,
+ 9561: 0xB62C,
+ 9562: 0xB634,
+ 9563: 0xB648,
+ 9564: 0xB664,
+ 9565: 0xB668,
+ 9566: 0xB69C,
+ 9567: 0xB69D,
+ 9568: 0xB6A0,
+ 9569: 0xB6A4,
+ 9570: 0xB6AB,
+ 9571: 0xB6AC,
+ 9572: 0xB6B1,
+ 9573: 0xB6D4,
+ 9574: 0xB6F0,
+ 9575: 0xB6F4,
+ 9576: 0xB6F8,
+ 9577: 0xB700,
+ 9578: 0xB701,
+ 9579: 0xB705,
+ 9580: 0xB728,
+ 9581: 0xB729,
+ 9582: 0xB72C,
+ 9583: 0xB72F,
+ 9584: 0xB730,
+ 9585: 0xB738,
+ 9586: 0xB739,
+ 9587: 0xB73B,
+ 9588: 0xB744,
+ 9589: 0xB748,
+ 9590: 0xB74C,
+ 9591: 0xB754,
+ 9592: 0xB755,
+ 9593: 0xB760,
+ 9594: 0xB764,
+ 9595: 0xB768,
+ 9596: 0xB770,
+ 9597: 0xB771,
+ 9598: 0xB773,
+ 9599: 0xB775,
+ 9600: 0xB77C,
+ 9601: 0xB77D,
+ 9602: 0xB780,
+ 9603: 0xB784,
+ 9604: 0xB78C,
+ 9605: 0xB78D,
+ 9606: 0xB78F,
+ 9607: 0xB790,
+ 9608: 0xB791,
+ 9609: 0xB792,
+ 9610: 0xB796,
+ 9611: 0xB797,
+ 9612: 0xD16E,
+ 9613: 0xD16F,
+ 9614: 0xD170,
+ 9615: 0xD171,
+ 9616: 0xD172,
+ 9617: 0xD173,
+ 9618: 0xD174,
+ 9619: 0xD175,
+ 9620: 0xD176,
+ 9621: 0xD177,
+ 9622: 0xD178,
+ 9623: 0xD179,
+ 9624: 0xD17A,
+ 9625: 0xD17B,
+ 9626: 0xD17D,
+ 9627: 0xD17E,
+ 9628: 0xD17F,
+ 9629: 0xD180,
+ 9630: 0xD181,
+ 9631: 0xD182,
+ 9632: 0xD183,
+ 9633: 0xD185,
+ 9634: 0xD186,
+ 9635: 0xD187,
+ 9636: 0xD189,
+ 9637: 0xD18A,
+ 9638: 0xD18B,
+ 9639: 0xD18C,
+ 9640: 0xD18D,
+ 9641: 0xD18E,
+ 9642: 0xD18F,
+ 9643: 0xD190,
+ 9644: 0xD191,
+ 9645: 0xD192,
+ 9646: 0xD193,
+ 9647: 0xD194,
+ 9648: 0xD195,
+ 9649: 0xD196,
+ 9650: 0xD197,
+ 9651: 0xD198,
+ 9652: 0xD199,
+ 9653: 0xD19A,
+ 9654: 0xD19B,
+ 9655: 0xD19C,
+ 9656: 0xD19D,
+ 9657: 0xD19E,
+ 9658: 0xD19F,
+ 9659: 0xD1A2,
+ 9660: 0xD1A3,
+ 9661: 0xD1A5,
+ 9662: 0xD1A6,
+ 9663: 0xD1A7,
+ 9664: 0xD1A9,
+ 9665: 0xD1AA,
+ 9666: 0xD1AB,
+ 9667: 0xD1AC,
+ 9668: 0xD1AD,
+ 9669: 0xD1AE,
+ 9670: 0xD1AF,
+ 9671: 0xD1B2,
+ 9672: 0xD1B4,
+ 9673: 0xD1B6,
+ 9674: 0xD1B7,
+ 9675: 0xD1B8,
+ 9676: 0xD1B9,
+ 9677: 0xD1BB,
+ 9678: 0xD1BD,
+ 9679: 0xD1BE,
+ 9680: 0xD1BF,
+ 9681: 0xD1C1,
+ 9682: 0xD1C2,
+ 9683: 0xD1C3,
+ 9684: 0xD1C4,
+ 9685: 0xD1C5,
+ 9686: 0xD1C6,
+ 9687: 0xD1C7,
+ 9688: 0xD1C8,
+ 9689: 0xD1C9,
+ 9690: 0xD1CA,
+ 9691: 0xD1CB,
+ 9692: 0xD1CC,
+ 9693: 0xD1CD,
+ 9694: 0xD1CE,
+ 9695: 0xD1CF,
+ 9696: 0xB798,
+ 9697: 0xB799,
+ 9698: 0xB79C,
+ 9699: 0xB7A0,
+ 9700: 0xB7A8,
+ 9701: 0xB7A9,
+ 9702: 0xB7AB,
+ 9703: 0xB7AC,
+ 9704: 0xB7AD,
+ 9705: 0xB7B4,
+ 9706: 0xB7B5,
+ 9707: 0xB7B8,
+ 9708: 0xB7C7,
+ 9709: 0xB7C9,
+ 9710: 0xB7EC,
+ 9711: 0xB7ED,
+ 9712: 0xB7F0,
+ 9713: 0xB7F4,
+ 9714: 0xB7FC,
+ 9715: 0xB7FD,
+ 9716: 0xB7FF,
+ 9717: 0xB800,
+ 9718: 0xB801,
+ 9719: 0xB807,
+ 9720: 0xB808,
+ 9721: 0xB809,
+ 9722: 0xB80C,
+ 9723: 0xB810,
+ 9724: 0xB818,
+ 9725: 0xB819,
+ 9726: 0xB81B,
+ 9727: 0xB81D,
+ 9728: 0xB824,
+ 9729: 0xB825,
+ 9730: 0xB828,
+ 9731: 0xB82C,
+ 9732: 0xB834,
+ 9733: 0xB835,
+ 9734: 0xB837,
+ 9735: 0xB838,
+ 9736: 0xB839,
+ 9737: 0xB840,
+ 9738: 0xB844,
+ 9739: 0xB851,
+ 9740: 0xB853,
+ 9741: 0xB85C,
+ 9742: 0xB85D,
+ 9743: 0xB860,
+ 9744: 0xB864,
+ 9745: 0xB86C,
+ 9746: 0xB86D,
+ 9747: 0xB86F,
+ 9748: 0xB871,
+ 9749: 0xB878,
+ 9750: 0xB87C,
+ 9751: 0xB88D,
+ 9752: 0xB8A8,
+ 9753: 0xB8B0,
+ 9754: 0xB8B4,
+ 9755: 0xB8B8,
+ 9756: 0xB8C0,
+ 9757: 0xB8C1,
+ 9758: 0xB8C3,
+ 9759: 0xB8C5,
+ 9760: 0xB8CC,
+ 9761: 0xB8D0,
+ 9762: 0xB8D4,
+ 9763: 0xB8DD,
+ 9764: 0xB8DF,
+ 9765: 0xB8E1,
+ 9766: 0xB8E8,
+ 9767: 0xB8E9,
+ 9768: 0xB8EC,
+ 9769: 0xB8F0,
+ 9770: 0xB8F8,
+ 9771: 0xB8F9,
+ 9772: 0xB8FB,
+ 9773: 0xB8FD,
+ 9774: 0xB904,
+ 9775: 0xB918,
+ 9776: 0xB920,
+ 9777: 0xB93C,
+ 9778: 0xB93D,
+ 9779: 0xB940,
+ 9780: 0xB944,
+ 9781: 0xB94C,
+ 9782: 0xB94F,
+ 9783: 0xB951,
+ 9784: 0xB958,
+ 9785: 0xB959,
+ 9786: 0xB95C,
+ 9787: 0xB960,
+ 9788: 0xB968,
+ 9789: 0xB969,
+ 9790: 0xD1D0,
+ 9791: 0xD1D1,
+ 9792: 0xD1D2,
+ 9793: 0xD1D3,
+ 9794: 0xD1D4,
+ 9795: 0xD1D5,
+ 9796: 0xD1D6,
+ 9797: 0xD1D7,
+ 9798: 0xD1D9,
+ 9799: 0xD1DA,
+ 9800: 0xD1DB,
+ 9801: 0xD1DC,
+ 9802: 0xD1DD,
+ 9803: 0xD1DE,
+ 9804: 0xD1DF,
+ 9805: 0xD1E0,
+ 9806: 0xD1E1,
+ 9807: 0xD1E2,
+ 9808: 0xD1E3,
+ 9809: 0xD1E4,
+ 9810: 0xD1E5,
+ 9811: 0xD1E6,
+ 9812: 0xD1E7,
+ 9813: 0xD1E8,
+ 9814: 0xD1E9,
+ 9815: 0xD1EA,
+ 9816: 0xD1EB,
+ 9817: 0xD1EC,
+ 9818: 0xD1ED,
+ 9819: 0xD1EE,
+ 9820: 0xD1EF,
+ 9821: 0xD1F0,
+ 9822: 0xD1F1,
+ 9823: 0xD1F2,
+ 9824: 0xD1F3,
+ 9825: 0xD1F5,
+ 9826: 0xD1F6,
+ 9827: 0xD1F7,
+ 9828: 0xD1F9,
+ 9829: 0xD1FA,
+ 9830: 0xD1FB,
+ 9831: 0xD1FC,
+ 9832: 0xD1FD,
+ 9833: 0xD1FE,
+ 9834: 0xD1FF,
+ 9835: 0xD200,
+ 9836: 0xD201,
+ 9837: 0xD202,
+ 9838: 0xD203,
+ 9839: 0xD204,
+ 9840: 0xD205,
+ 9841: 0xD206,
+ 9842: 0xD208,
+ 9843: 0xD20A,
+ 9844: 0xD20B,
+ 9845: 0xD20C,
+ 9846: 0xD20D,
+ 9847: 0xD20E,
+ 9848: 0xD20F,
+ 9849: 0xD211,
+ 9850: 0xD212,
+ 9851: 0xD213,
+ 9852: 0xD214,
+ 9853: 0xD215,
+ 9854: 0xD216,
+ 9855: 0xD217,
+ 9856: 0xD218,
+ 9857: 0xD219,
+ 9858: 0xD21A,
+ 9859: 0xD21B,
+ 9860: 0xD21C,
+ 9861: 0xD21D,
+ 9862: 0xD21E,
+ 9863: 0xD21F,
+ 9864: 0xD220,
+ 9865: 0xD221,
+ 9866: 0xD222,
+ 9867: 0xD223,
+ 9868: 0xD224,
+ 9869: 0xD225,
+ 9870: 0xD226,
+ 9871: 0xD227,
+ 9872: 0xD228,
+ 9873: 0xD229,
+ 9874: 0xB96B,
+ 9875: 0xB96D,
+ 9876: 0xB974,
+ 9877: 0xB975,
+ 9878: 0xB978,
+ 9879: 0xB97C,
+ 9880: 0xB984,
+ 9881: 0xB985,
+ 9882: 0xB987,
+ 9883: 0xB989,
+ 9884: 0xB98A,
+ 9885: 0xB98D,
+ 9886: 0xB98E,
+ 9887: 0xB9AC,
+ 9888: 0xB9AD,
+ 9889: 0xB9B0,
+ 9890: 0xB9B4,
+ 9891: 0xB9BC,
+ 9892: 0xB9BD,
+ 9893: 0xB9BF,
+ 9894: 0xB9C1,
+ 9895: 0xB9C8,
+ 9896: 0xB9C9,
+ 9897: 0xB9CC,
+ 9898: 0xB9CE,
+ 9899: 0xB9CF,
+ 9900: 0xB9D0,
+ 9901: 0xB9D1,
+ 9902: 0xB9D2,
+ 9903: 0xB9D8,
+ 9904: 0xB9D9,
+ 9905: 0xB9DB,
+ 9906: 0xB9DD,
+ 9907: 0xB9DE,
+ 9908: 0xB9E1,
+ 9909: 0xB9E3,
+ 9910: 0xB9E4,
+ 9911: 0xB9E5,
+ 9912: 0xB9E8,
+ 9913: 0xB9EC,
+ 9914: 0xB9F4,
+ 9915: 0xB9F5,
+ 9916: 0xB9F7,
+ 9917: 0xB9F8,
+ 9918: 0xB9F9,
+ 9919: 0xB9FA,
+ 9920: 0xBA00,
+ 9921: 0xBA01,
+ 9922: 0xBA08,
+ 9923: 0xBA15,
+ 9924: 0xBA38,
+ 9925: 0xBA39,
+ 9926: 0xBA3C,
+ 9927: 0xBA40,
+ 9928: 0xBA42,
+ 9929: 0xBA48,
+ 9930: 0xBA49,
+ 9931: 0xBA4B,
+ 9932: 0xBA4D,
+ 9933: 0xBA4E,
+ 9934: 0xBA53,
+ 9935: 0xBA54,
+ 9936: 0xBA55,
+ 9937: 0xBA58,
+ 9938: 0xBA5C,
+ 9939: 0xBA64,
+ 9940: 0xBA65,
+ 9941: 0xBA67,
+ 9942: 0xBA68,
+ 9943: 0xBA69,
+ 9944: 0xBA70,
+ 9945: 0xBA71,
+ 9946: 0xBA74,
+ 9947: 0xBA78,
+ 9948: 0xBA83,
+ 9949: 0xBA84,
+ 9950: 0xBA85,
+ 9951: 0xBA87,
+ 9952: 0xBA8C,
+ 9953: 0xBAA8,
+ 9954: 0xBAA9,
+ 9955: 0xBAAB,
+ 9956: 0xBAAC,
+ 9957: 0xBAB0,
+ 9958: 0xBAB2,
+ 9959: 0xBAB8,
+ 9960: 0xBAB9,
+ 9961: 0xBABB,
+ 9962: 0xBABD,
+ 9963: 0xBAC4,
+ 9964: 0xBAC8,
+ 9965: 0xBAD8,
+ 9966: 0xBAD9,
+ 9967: 0xBAFC,
+ 9968: 0xD22A,
+ 9969: 0xD22B,
+ 9970: 0xD22E,
+ 9971: 0xD22F,
+ 9972: 0xD231,
+ 9973: 0xD232,
+ 9974: 0xD233,
+ 9975: 0xD235,
+ 9976: 0xD236,
+ 9977: 0xD237,
+ 9978: 0xD238,
+ 9979: 0xD239,
+ 9980: 0xD23A,
+ 9981: 0xD23B,
+ 9982: 0xD23E,
+ 9983: 0xD240,
+ 9984: 0xD242,
+ 9985: 0xD243,
+ 9986: 0xD244,
+ 9987: 0xD245,
+ 9988: 0xD246,
+ 9989: 0xD247,
+ 9990: 0xD249,
+ 9991: 0xD24A,
+ 9992: 0xD24B,
+ 9993: 0xD24C,
+ 9994: 0xD24D,
+ 9995: 0xD24E,
+ 9996: 0xD24F,
+ 9997: 0xD250,
+ 9998: 0xD251,
+ 9999: 0xD252,
+ 10000: 0xD253,
+ 10001: 0xD254,
+ 10002: 0xD255,
+ 10003: 0xD256,
+ 10004: 0xD257,
+ 10005: 0xD258,
+ 10006: 0xD259,
+ 10007: 0xD25A,
+ 10008: 0xD25B,
+ 10009: 0xD25D,
+ 10010: 0xD25E,
+ 10011: 0xD25F,
+ 10012: 0xD260,
+ 10013: 0xD261,
+ 10014: 0xD262,
+ 10015: 0xD263,
+ 10016: 0xD265,
+ 10017: 0xD266,
+ 10018: 0xD267,
+ 10019: 0xD268,
+ 10020: 0xD269,
+ 10021: 0xD26A,
+ 10022: 0xD26B,
+ 10023: 0xD26C,
+ 10024: 0xD26D,
+ 10025: 0xD26E,
+ 10026: 0xD26F,
+ 10027: 0xD270,
+ 10028: 0xD271,
+ 10029: 0xD272,
+ 10030: 0xD273,
+ 10031: 0xD274,
+ 10032: 0xD275,
+ 10033: 0xD276,
+ 10034: 0xD277,
+ 10035: 0xD278,
+ 10036: 0xD279,
+ 10037: 0xD27A,
+ 10038: 0xD27B,
+ 10039: 0xD27C,
+ 10040: 0xD27D,
+ 10041: 0xD27E,
+ 10042: 0xD27F,
+ 10043: 0xD282,
+ 10044: 0xD283,
+ 10045: 0xD285,
+ 10046: 0xD286,
+ 10047: 0xD287,
+ 10048: 0xD289,
+ 10049: 0xD28A,
+ 10050: 0xD28B,
+ 10051: 0xD28C,
+ 10052: 0xBB00,
+ 10053: 0xBB04,
+ 10054: 0xBB0D,
+ 10055: 0xBB0F,
+ 10056: 0xBB11,
+ 10057: 0xBB18,
+ 10058: 0xBB1C,
+ 10059: 0xBB20,
+ 10060: 0xBB29,
+ 10061: 0xBB2B,
+ 10062: 0xBB34,
+ 10063: 0xBB35,
+ 10064: 0xBB36,
+ 10065: 0xBB38,
+ 10066: 0xBB3B,
+ 10067: 0xBB3C,
+ 10068: 0xBB3D,
+ 10069: 0xBB3E,
+ 10070: 0xBB44,
+ 10071: 0xBB45,
+ 10072: 0xBB47,
+ 10073: 0xBB49,
+ 10074: 0xBB4D,
+ 10075: 0xBB4F,
+ 10076: 0xBB50,
+ 10077: 0xBB54,
+ 10078: 0xBB58,
+ 10079: 0xBB61,
+ 10080: 0xBB63,
+ 10081: 0xBB6C,
+ 10082: 0xBB88,
+ 10083: 0xBB8C,
+ 10084: 0xBB90,
+ 10085: 0xBBA4,
+ 10086: 0xBBA8,
+ 10087: 0xBBAC,
+ 10088: 0xBBB4,
+ 10089: 0xBBB7,
+ 10090: 0xBBC0,
+ 10091: 0xBBC4,
+ 10092: 0xBBC8,
+ 10093: 0xBBD0,
+ 10094: 0xBBD3,
+ 10095: 0xBBF8,
+ 10096: 0xBBF9,
+ 10097: 0xBBFC,
+ 10098: 0xBBFF,
+ 10099: 0xBC00,
+ 10100: 0xBC02,
+ 10101: 0xBC08,
+ 10102: 0xBC09,
+ 10103: 0xBC0B,
+ 10104: 0xBC0C,
+ 10105: 0xBC0D,
+ 10106: 0xBC0F,
+ 10107: 0xBC11,
+ 10108: 0xBC14,
+ 10109: 0xBC15,
+ 10110: 0xBC16,
+ 10111: 0xBC17,
+ 10112: 0xBC18,
+ 10113: 0xBC1B,
+ 10114: 0xBC1C,
+ 10115: 0xBC1D,
+ 10116: 0xBC1E,
+ 10117: 0xBC1F,
+ 10118: 0xBC24,
+ 10119: 0xBC25,
+ 10120: 0xBC27,
+ 10121: 0xBC29,
+ 10122: 0xBC2D,
+ 10123: 0xBC30,
+ 10124: 0xBC31,
+ 10125: 0xBC34,
+ 10126: 0xBC38,
+ 10127: 0xBC40,
+ 10128: 0xBC41,
+ 10129: 0xBC43,
+ 10130: 0xBC44,
+ 10131: 0xBC45,
+ 10132: 0xBC49,
+ 10133: 0xBC4C,
+ 10134: 0xBC4D,
+ 10135: 0xBC50,
+ 10136: 0xBC5D,
+ 10137: 0xBC84,
+ 10138: 0xBC85,
+ 10139: 0xBC88,
+ 10140: 0xBC8B,
+ 10141: 0xBC8C,
+ 10142: 0xBC8E,
+ 10143: 0xBC94,
+ 10144: 0xBC95,
+ 10145: 0xBC97,
+ 10146: 0xD28D,
+ 10147: 0xD28E,
+ 10148: 0xD28F,
+ 10149: 0xD292,
+ 10150: 0xD293,
+ 10151: 0xD294,
+ 10152: 0xD296,
+ 10153: 0xD297,
+ 10154: 0xD298,
+ 10155: 0xD299,
+ 10156: 0xD29A,
+ 10157: 0xD29B,
+ 10158: 0xD29D,
+ 10159: 0xD29E,
+ 10160: 0xD29F,
+ 10161: 0xD2A1,
+ 10162: 0xD2A2,
+ 10163: 0xD2A3,
+ 10164: 0xD2A5,
+ 10165: 0xD2A6,
+ 10166: 0xD2A7,
+ 10167: 0xD2A8,
+ 10168: 0xD2A9,
+ 10169: 0xD2AA,
+ 10170: 0xD2AB,
+ 10171: 0xD2AD,
+ 10172: 0xD2AE,
+ 10173: 0xD2AF,
+ 10174: 0xD2B0,
+ 10175: 0xD2B2,
+ 10176: 0xD2B3,
+ 10177: 0xD2B4,
+ 10178: 0xD2B5,
+ 10179: 0xD2B6,
+ 10180: 0xD2B7,
+ 10181: 0xD2BA,
+ 10182: 0xD2BB,
+ 10183: 0xD2BD,
+ 10184: 0xD2BE,
+ 10185: 0xD2C1,
+ 10186: 0xD2C3,
+ 10187: 0xD2C4,
+ 10188: 0xD2C5,
+ 10189: 0xD2C6,
+ 10190: 0xD2C7,
+ 10191: 0xD2CA,
+ 10192: 0xD2CC,
+ 10193: 0xD2CD,
+ 10194: 0xD2CE,
+ 10195: 0xD2CF,
+ 10196: 0xD2D0,
+ 10197: 0xD2D1,
+ 10198: 0xD2D2,
+ 10199: 0xD2D3,
+ 10200: 0xD2D5,
+ 10201: 0xD2D6,
+ 10202: 0xD2D7,
+ 10203: 0xD2D9,
+ 10204: 0xD2DA,
+ 10205: 0xD2DB,
+ 10206: 0xD2DD,
+ 10207: 0xD2DE,
+ 10208: 0xD2DF,
+ 10209: 0xD2E0,
+ 10210: 0xD2E1,
+ 10211: 0xD2E2,
+ 10212: 0xD2E3,
+ 10213: 0xD2E6,
+ 10214: 0xD2E7,
+ 10215: 0xD2E8,
+ 10216: 0xD2E9,
+ 10217: 0xD2EA,
+ 10218: 0xD2EB,
+ 10219: 0xD2EC,
+ 10220: 0xD2ED,
+ 10221: 0xD2EE,
+ 10222: 0xD2EF,
+ 10223: 0xD2F2,
+ 10224: 0xD2F3,
+ 10225: 0xD2F5,
+ 10226: 0xD2F6,
+ 10227: 0xD2F7,
+ 10228: 0xD2F9,
+ 10229: 0xD2FA,
+ 10230: 0xBC99,
+ 10231: 0xBC9A,
+ 10232: 0xBCA0,
+ 10233: 0xBCA1,
+ 10234: 0xBCA4,
+ 10235: 0xBCA7,
+ 10236: 0xBCA8,
+ 10237: 0xBCB0,
+ 10238: 0xBCB1,
+ 10239: 0xBCB3,
+ 10240: 0xBCB4,
+ 10241: 0xBCB5,
+ 10242: 0xBCBC,
+ 10243: 0xBCBD,
+ 10244: 0xBCC0,
+ 10245: 0xBCC4,
+ 10246: 0xBCCD,
+ 10247: 0xBCCF,
+ 10248: 0xBCD0,
+ 10249: 0xBCD1,
+ 10250: 0xBCD5,
+ 10251: 0xBCD8,
+ 10252: 0xBCDC,
+ 10253: 0xBCF4,
+ 10254: 0xBCF5,
+ 10255: 0xBCF6,
+ 10256: 0xBCF8,
+ 10257: 0xBCFC,
+ 10258: 0xBD04,
+ 10259: 0xBD05,
+ 10260: 0xBD07,
+ 10261: 0xBD09,
+ 10262: 0xBD10,
+ 10263: 0xBD14,
+ 10264: 0xBD24,
+ 10265: 0xBD2C,
+ 10266: 0xBD40,
+ 10267: 0xBD48,
+ 10268: 0xBD49,
+ 10269: 0xBD4C,
+ 10270: 0xBD50,
+ 10271: 0xBD58,
+ 10272: 0xBD59,
+ 10273: 0xBD64,
+ 10274: 0xBD68,
+ 10275: 0xBD80,
+ 10276: 0xBD81,
+ 10277: 0xBD84,
+ 10278: 0xBD87,
+ 10279: 0xBD88,
+ 10280: 0xBD89,
+ 10281: 0xBD8A,
+ 10282: 0xBD90,
+ 10283: 0xBD91,
+ 10284: 0xBD93,
+ 10285: 0xBD95,
+ 10286: 0xBD99,
+ 10287: 0xBD9A,
+ 10288: 0xBD9C,
+ 10289: 0xBDA4,
+ 10290: 0xBDB0,
+ 10291: 0xBDB8,
+ 10292: 0xBDD4,
+ 10293: 0xBDD5,
+ 10294: 0xBDD8,
+ 10295: 0xBDDC,
+ 10296: 0xBDE9,
+ 10297: 0xBDF0,
+ 10298: 0xBDF4,
+ 10299: 0xBDF8,
+ 10300: 0xBE00,
+ 10301: 0xBE03,
+ 10302: 0xBE05,
+ 10303: 0xBE0C,
+ 10304: 0xBE0D,
+ 10305: 0xBE10,
+ 10306: 0xBE14,
+ 10307: 0xBE1C,
+ 10308: 0xBE1D,
+ 10309: 0xBE1F,
+ 10310: 0xBE44,
+ 10311: 0xBE45,
+ 10312: 0xBE48,
+ 10313: 0xBE4C,
+ 10314: 0xBE4E,
+ 10315: 0xBE54,
+ 10316: 0xBE55,
+ 10317: 0xBE57,
+ 10318: 0xBE59,
+ 10319: 0xBE5A,
+ 10320: 0xBE5B,
+ 10321: 0xBE60,
+ 10322: 0xBE61,
+ 10323: 0xBE64,
+ 10324: 0xD2FB,
+ 10325: 0xD2FC,
+ 10326: 0xD2FD,
+ 10327: 0xD2FE,
+ 10328: 0xD2FF,
+ 10329: 0xD302,
+ 10330: 0xD304,
+ 10331: 0xD306,
+ 10332: 0xD307,
+ 10333: 0xD308,
+ 10334: 0xD309,
+ 10335: 0xD30A,
+ 10336: 0xD30B,
+ 10337: 0xD30F,
+ 10338: 0xD311,
+ 10339: 0xD312,
+ 10340: 0xD313,
+ 10341: 0xD315,
+ 10342: 0xD317,
+ 10343: 0xD318,
+ 10344: 0xD319,
+ 10345: 0xD31A,
+ 10346: 0xD31B,
+ 10347: 0xD31E,
+ 10348: 0xD322,
+ 10349: 0xD323,
+ 10350: 0xD324,
+ 10351: 0xD326,
+ 10352: 0xD327,
+ 10353: 0xD32A,
+ 10354: 0xD32B,
+ 10355: 0xD32D,
+ 10356: 0xD32E,
+ 10357: 0xD32F,
+ 10358: 0xD331,
+ 10359: 0xD332,
+ 10360: 0xD333,
+ 10361: 0xD334,
+ 10362: 0xD335,
+ 10363: 0xD336,
+ 10364: 0xD337,
+ 10365: 0xD33A,
+ 10366: 0xD33E,
+ 10367: 0xD33F,
+ 10368: 0xD340,
+ 10369: 0xD341,
+ 10370: 0xD342,
+ 10371: 0xD343,
+ 10372: 0xD346,
+ 10373: 0xD347,
+ 10374: 0xD348,
+ 10375: 0xD349,
+ 10376: 0xD34A,
+ 10377: 0xD34B,
+ 10378: 0xD34C,
+ 10379: 0xD34D,
+ 10380: 0xD34E,
+ 10381: 0xD34F,
+ 10382: 0xD350,
+ 10383: 0xD351,
+ 10384: 0xD352,
+ 10385: 0xD353,
+ 10386: 0xD354,
+ 10387: 0xD355,
+ 10388: 0xD356,
+ 10389: 0xD357,
+ 10390: 0xD358,
+ 10391: 0xD359,
+ 10392: 0xD35A,
+ 10393: 0xD35B,
+ 10394: 0xD35C,
+ 10395: 0xD35D,
+ 10396: 0xD35E,
+ 10397: 0xD35F,
+ 10398: 0xD360,
+ 10399: 0xD361,
+ 10400: 0xD362,
+ 10401: 0xD363,
+ 10402: 0xD364,
+ 10403: 0xD365,
+ 10404: 0xD366,
+ 10405: 0xD367,
+ 10406: 0xD368,
+ 10407: 0xD369,
+ 10408: 0xBE68,
+ 10409: 0xBE6A,
+ 10410: 0xBE70,
+ 10411: 0xBE71,
+ 10412: 0xBE73,
+ 10413: 0xBE74,
+ 10414: 0xBE75,
+ 10415: 0xBE7B,
+ 10416: 0xBE7C,
+ 10417: 0xBE7D,
+ 10418: 0xBE80,
+ 10419: 0xBE84,
+ 10420: 0xBE8C,
+ 10421: 0xBE8D,
+ 10422: 0xBE8F,
+ 10423: 0xBE90,
+ 10424: 0xBE91,
+ 10425: 0xBE98,
+ 10426: 0xBE99,
+ 10427: 0xBEA8,
+ 10428: 0xBED0,
+ 10429: 0xBED1,
+ 10430: 0xBED4,
+ 10431: 0xBED7,
+ 10432: 0xBED8,
+ 10433: 0xBEE0,
+ 10434: 0xBEE3,
+ 10435: 0xBEE4,
+ 10436: 0xBEE5,
+ 10437: 0xBEEC,
+ 10438: 0xBF01,
+ 10439: 0xBF08,
+ 10440: 0xBF09,
+ 10441: 0xBF18,
+ 10442: 0xBF19,
+ 10443: 0xBF1B,
+ 10444: 0xBF1C,
+ 10445: 0xBF1D,
+ 10446: 0xBF40,
+ 10447: 0xBF41,
+ 10448: 0xBF44,
+ 10449: 0xBF48,
+ 10450: 0xBF50,
+ 10451: 0xBF51,
+ 10452: 0xBF55,
+ 10453: 0xBF94,
+ 10454: 0xBFB0,
+ 10455: 0xBFC5,
+ 10456: 0xBFCC,
+ 10457: 0xBFCD,
+ 10458: 0xBFD0,
+ 10459: 0xBFD4,
+ 10460: 0xBFDC,
+ 10461: 0xBFDF,
+ 10462: 0xBFE1,
+ 10463: 0xC03C,
+ 10464: 0xC051,
+ 10465: 0xC058,
+ 10466: 0xC05C,
+ 10467: 0xC060,
+ 10468: 0xC068,
+ 10469: 0xC069,
+ 10470: 0xC090,
+ 10471: 0xC091,
+ 10472: 0xC094,
+ 10473: 0xC098,
+ 10474: 0xC0A0,
+ 10475: 0xC0A1,
+ 10476: 0xC0A3,
+ 10477: 0xC0A5,
+ 10478: 0xC0AC,
+ 10479: 0xC0AD,
+ 10480: 0xC0AF,
+ 10481: 0xC0B0,
+ 10482: 0xC0B3,
+ 10483: 0xC0B4,
+ 10484: 0xC0B5,
+ 10485: 0xC0B6,
+ 10486: 0xC0BC,
+ 10487: 0xC0BD,
+ 10488: 0xC0BF,
+ 10489: 0xC0C0,
+ 10490: 0xC0C1,
+ 10491: 0xC0C5,
+ 10492: 0xC0C8,
+ 10493: 0xC0C9,
+ 10494: 0xC0CC,
+ 10495: 0xC0D0,
+ 10496: 0xC0D8,
+ 10497: 0xC0D9,
+ 10498: 0xC0DB,
+ 10499: 0xC0DC,
+ 10500: 0xC0DD,
+ 10501: 0xC0E4,
+ 10502: 0xD36A,
+ 10503: 0xD36B,
+ 10504: 0xD36C,
+ 10505: 0xD36D,
+ 10506: 0xD36E,
+ 10507: 0xD36F,
+ 10508: 0xD370,
+ 10509: 0xD371,
+ 10510: 0xD372,
+ 10511: 0xD373,
+ 10512: 0xD374,
+ 10513: 0xD375,
+ 10514: 0xD376,
+ 10515: 0xD377,
+ 10516: 0xD378,
+ 10517: 0xD379,
+ 10518: 0xD37A,
+ 10519: 0xD37B,
+ 10520: 0xD37E,
+ 10521: 0xD37F,
+ 10522: 0xD381,
+ 10523: 0xD382,
+ 10524: 0xD383,
+ 10525: 0xD385,
+ 10526: 0xD386,
+ 10527: 0xD387,
+ 10528: 0xD388,
+ 10529: 0xD389,
+ 10530: 0xD38A,
+ 10531: 0xD38B,
+ 10532: 0xD38E,
+ 10533: 0xD392,
+ 10534: 0xD393,
+ 10535: 0xD394,
+ 10536: 0xD395,
+ 10537: 0xD396,
+ 10538: 0xD397,
+ 10539: 0xD39A,
+ 10540: 0xD39B,
+ 10541: 0xD39D,
+ 10542: 0xD39E,
+ 10543: 0xD39F,
+ 10544: 0xD3A1,
+ 10545: 0xD3A2,
+ 10546: 0xD3A3,
+ 10547: 0xD3A4,
+ 10548: 0xD3A5,
+ 10549: 0xD3A6,
+ 10550: 0xD3A7,
+ 10551: 0xD3AA,
+ 10552: 0xD3AC,
+ 10553: 0xD3AE,
+ 10554: 0xD3AF,
+ 10555: 0xD3B0,
+ 10556: 0xD3B1,
+ 10557: 0xD3B2,
+ 10558: 0xD3B3,
+ 10559: 0xD3B5,
+ 10560: 0xD3B6,
+ 10561: 0xD3B7,
+ 10562: 0xD3B9,
+ 10563: 0xD3BA,
+ 10564: 0xD3BB,
+ 10565: 0xD3BD,
+ 10566: 0xD3BE,
+ 10567: 0xD3BF,
+ 10568: 0xD3C0,
+ 10569: 0xD3C1,
+ 10570: 0xD3C2,
+ 10571: 0xD3C3,
+ 10572: 0xD3C6,
+ 10573: 0xD3C7,
+ 10574: 0xD3CA,
+ 10575: 0xD3CB,
+ 10576: 0xD3CC,
+ 10577: 0xD3CD,
+ 10578: 0xD3CE,
+ 10579: 0xD3CF,
+ 10580: 0xD3D1,
+ 10581: 0xD3D2,
+ 10582: 0xD3D3,
+ 10583: 0xD3D4,
+ 10584: 0xD3D5,
+ 10585: 0xD3D6,
+ 10586: 0xC0E5,
+ 10587: 0xC0E8,
+ 10588: 0xC0EC,
+ 10589: 0xC0F4,
+ 10590: 0xC0F5,
+ 10591: 0xC0F7,
+ 10592: 0xC0F9,
+ 10593: 0xC100,
+ 10594: 0xC104,
+ 10595: 0xC108,
+ 10596: 0xC110,
+ 10597: 0xC115,
+ 10598: 0xC11C,
+ 10599: 0xC11D,
+ 10600: 0xC11E,
+ 10601: 0xC11F,
+ 10602: 0xC120,
+ 10603: 0xC123,
+ 10604: 0xC124,
+ 10605: 0xC126,
+ 10606: 0xC127,
+ 10607: 0xC12C,
+ 10608: 0xC12D,
+ 10609: 0xC12F,
+ 10610: 0xC130,
+ 10611: 0xC131,
+ 10612: 0xC136,
+ 10613: 0xC138,
+ 10614: 0xC139,
+ 10615: 0xC13C,
+ 10616: 0xC140,
+ 10617: 0xC148,
+ 10618: 0xC149,
+ 10619: 0xC14B,
+ 10620: 0xC14C,
+ 10621: 0xC14D,
+ 10622: 0xC154,
+ 10623: 0xC155,
+ 10624: 0xC158,
+ 10625: 0xC15C,
+ 10626: 0xC164,
+ 10627: 0xC165,
+ 10628: 0xC167,
+ 10629: 0xC168,
+ 10630: 0xC169,
+ 10631: 0xC170,
+ 10632: 0xC174,
+ 10633: 0xC178,
+ 10634: 0xC185,
+ 10635: 0xC18C,
+ 10636: 0xC18D,
+ 10637: 0xC18E,
+ 10638: 0xC190,
+ 10639: 0xC194,
+ 10640: 0xC196,
+ 10641: 0xC19C,
+ 10642: 0xC19D,
+ 10643: 0xC19F,
+ 10644: 0xC1A1,
+ 10645: 0xC1A5,
+ 10646: 0xC1A8,
+ 10647: 0xC1A9,
+ 10648: 0xC1AC,
+ 10649: 0xC1B0,
+ 10650: 0xC1BD,
+ 10651: 0xC1C4,
+ 10652: 0xC1C8,
+ 10653: 0xC1CC,
+ 10654: 0xC1D4,
+ 10655: 0xC1D7,
+ 10656: 0xC1D8,
+ 10657: 0xC1E0,
+ 10658: 0xC1E4,
+ 10659: 0xC1E8,
+ 10660: 0xC1F0,
+ 10661: 0xC1F1,
+ 10662: 0xC1F3,
+ 10663: 0xC1FC,
+ 10664: 0xC1FD,
+ 10665: 0xC200,
+ 10666: 0xC204,
+ 10667: 0xC20C,
+ 10668: 0xC20D,
+ 10669: 0xC20F,
+ 10670: 0xC211,
+ 10671: 0xC218,
+ 10672: 0xC219,
+ 10673: 0xC21C,
+ 10674: 0xC21F,
+ 10675: 0xC220,
+ 10676: 0xC228,
+ 10677: 0xC229,
+ 10678: 0xC22B,
+ 10679: 0xC22D,
+ 10680: 0xD3D7,
+ 10681: 0xD3D9,
+ 10682: 0xD3DA,
+ 10683: 0xD3DB,
+ 10684: 0xD3DC,
+ 10685: 0xD3DD,
+ 10686: 0xD3DE,
+ 10687: 0xD3DF,
+ 10688: 0xD3E0,
+ 10689: 0xD3E2,
+ 10690: 0xD3E4,
+ 10691: 0xD3E5,
+ 10692: 0xD3E6,
+ 10693: 0xD3E7,
+ 10694: 0xD3E8,
+ 10695: 0xD3E9,
+ 10696: 0xD3EA,
+ 10697: 0xD3EB,
+ 10698: 0xD3EE,
+ 10699: 0xD3EF,
+ 10700: 0xD3F1,
+ 10701: 0xD3F2,
+ 10702: 0xD3F3,
+ 10703: 0xD3F5,
+ 10704: 0xD3F6,
+ 10705: 0xD3F7,
+ 10706: 0xD3F8,
+ 10707: 0xD3F9,
+ 10708: 0xD3FA,
+ 10709: 0xD3FB,
+ 10710: 0xD3FE,
+ 10711: 0xD400,
+ 10712: 0xD402,
+ 10713: 0xD403,
+ 10714: 0xD404,
+ 10715: 0xD405,
+ 10716: 0xD406,
+ 10717: 0xD407,
+ 10718: 0xD409,
+ 10719: 0xD40A,
+ 10720: 0xD40B,
+ 10721: 0xD40C,
+ 10722: 0xD40D,
+ 10723: 0xD40E,
+ 10724: 0xD40F,
+ 10725: 0xD410,
+ 10726: 0xD411,
+ 10727: 0xD412,
+ 10728: 0xD413,
+ 10729: 0xD414,
+ 10730: 0xD415,
+ 10731: 0xD416,
+ 10732: 0xD417,
+ 10733: 0xD418,
+ 10734: 0xD419,
+ 10735: 0xD41A,
+ 10736: 0xD41B,
+ 10737: 0xD41C,
+ 10738: 0xD41E,
+ 10739: 0xD41F,
+ 10740: 0xD420,
+ 10741: 0xD421,
+ 10742: 0xD422,
+ 10743: 0xD423,
+ 10744: 0xD424,
+ 10745: 0xD425,
+ 10746: 0xD426,
+ 10747: 0xD427,
+ 10748: 0xD428,
+ 10749: 0xD429,
+ 10750: 0xD42A,
+ 10751: 0xD42B,
+ 10752: 0xD42C,
+ 10753: 0xD42D,
+ 10754: 0xD42E,
+ 10755: 0xD42F,
+ 10756: 0xD430,
+ 10757: 0xD431,
+ 10758: 0xD432,
+ 10759: 0xD433,
+ 10760: 0xD434,
+ 10761: 0xD435,
+ 10762: 0xD436,
+ 10763: 0xD437,
+ 10764: 0xC22F,
+ 10765: 0xC231,
+ 10766: 0xC232,
+ 10767: 0xC234,
+ 10768: 0xC248,
+ 10769: 0xC250,
+ 10770: 0xC251,
+ 10771: 0xC254,
+ 10772: 0xC258,
+ 10773: 0xC260,
+ 10774: 0xC265,
+ 10775: 0xC26C,
+ 10776: 0xC26D,
+ 10777: 0xC270,
+ 10778: 0xC274,
+ 10779: 0xC27C,
+ 10780: 0xC27D,
+ 10781: 0xC27F,
+ 10782: 0xC281,
+ 10783: 0xC288,
+ 10784: 0xC289,
+ 10785: 0xC290,
+ 10786: 0xC298,
+ 10787: 0xC29B,
+ 10788: 0xC29D,
+ 10789: 0xC2A4,
+ 10790: 0xC2A5,
+ 10791: 0xC2A8,
+ 10792: 0xC2AC,
+ 10793: 0xC2AD,
+ 10794: 0xC2B4,
+ 10795: 0xC2B5,
+ 10796: 0xC2B7,
+ 10797: 0xC2B9,
+ 10798: 0xC2DC,
+ 10799: 0xC2DD,
+ 10800: 0xC2E0,
+ 10801: 0xC2E3,
+ 10802: 0xC2E4,
+ 10803: 0xC2EB,
+ 10804: 0xC2EC,
+ 10805: 0xC2ED,
+ 10806: 0xC2EF,
+ 10807: 0xC2F1,
+ 10808: 0xC2F6,
+ 10809: 0xC2F8,
+ 10810: 0xC2F9,
+ 10811: 0xC2FB,
+ 10812: 0xC2FC,
+ 10813: 0xC300,
+ 10814: 0xC308,
+ 10815: 0xC309,
+ 10816: 0xC30C,
+ 10817: 0xC30D,
+ 10818: 0xC313,
+ 10819: 0xC314,
+ 10820: 0xC315,
+ 10821: 0xC318,
+ 10822: 0xC31C,
+ 10823: 0xC324,
+ 10824: 0xC325,
+ 10825: 0xC328,
+ 10826: 0xC329,
+ 10827: 0xC345,
+ 10828: 0xC368,
+ 10829: 0xC369,
+ 10830: 0xC36C,
+ 10831: 0xC370,
+ 10832: 0xC372,
+ 10833: 0xC378,
+ 10834: 0xC379,
+ 10835: 0xC37C,
+ 10836: 0xC37D,
+ 10837: 0xC384,
+ 10838: 0xC388,
+ 10839: 0xC38C,
+ 10840: 0xC3C0,
+ 10841: 0xC3D8,
+ 10842: 0xC3D9,
+ 10843: 0xC3DC,
+ 10844: 0xC3DF,
+ 10845: 0xC3E0,
+ 10846: 0xC3E2,
+ 10847: 0xC3E8,
+ 10848: 0xC3E9,
+ 10849: 0xC3ED,
+ 10850: 0xC3F4,
+ 10851: 0xC3F5,
+ 10852: 0xC3F8,
+ 10853: 0xC408,
+ 10854: 0xC410,
+ 10855: 0xC424,
+ 10856: 0xC42C,
+ 10857: 0xC430,
+ 10858: 0xD438,
+ 10859: 0xD439,
+ 10860: 0xD43A,
+ 10861: 0xD43B,
+ 10862: 0xD43C,
+ 10863: 0xD43D,
+ 10864: 0xD43E,
+ 10865: 0xD43F,
+ 10866: 0xD441,
+ 10867: 0xD442,
+ 10868: 0xD443,
+ 10869: 0xD445,
+ 10870: 0xD446,
+ 10871: 0xD447,
+ 10872: 0xD448,
+ 10873: 0xD449,
+ 10874: 0xD44A,
+ 10875: 0xD44B,
+ 10876: 0xD44C,
+ 10877: 0xD44D,
+ 10878: 0xD44E,
+ 10879: 0xD44F,
+ 10880: 0xD450,
+ 10881: 0xD451,
+ 10882: 0xD452,
+ 10883: 0xD453,
+ 10884: 0xD454,
+ 10885: 0xD455,
+ 10886: 0xD456,
+ 10887: 0xD457,
+ 10888: 0xD458,
+ 10889: 0xD459,
+ 10890: 0xD45A,
+ 10891: 0xD45B,
+ 10892: 0xD45D,
+ 10893: 0xD45E,
+ 10894: 0xD45F,
+ 10895: 0xD461,
+ 10896: 0xD462,
+ 10897: 0xD463,
+ 10898: 0xD465,
+ 10899: 0xD466,
+ 10900: 0xD467,
+ 10901: 0xD468,
+ 10902: 0xD469,
+ 10903: 0xD46A,
+ 10904: 0xD46B,
+ 10905: 0xD46C,
+ 10906: 0xD46E,
+ 10907: 0xD470,
+ 10908: 0xD471,
+ 10909: 0xD472,
+ 10910: 0xD473,
+ 10911: 0xD474,
+ 10912: 0xD475,
+ 10913: 0xD476,
+ 10914: 0xD477,
+ 10915: 0xD47A,
+ 10916: 0xD47B,
+ 10917: 0xD47D,
+ 10918: 0xD47E,
+ 10919: 0xD481,
+ 10920: 0xD483,
+ 10921: 0xD484,
+ 10922: 0xD485,
+ 10923: 0xD486,
+ 10924: 0xD487,
+ 10925: 0xD48A,
+ 10926: 0xD48C,
+ 10927: 0xD48E,
+ 10928: 0xD48F,
+ 10929: 0xD490,
+ 10930: 0xD491,
+ 10931: 0xD492,
+ 10932: 0xD493,
+ 10933: 0xD495,
+ 10934: 0xD496,
+ 10935: 0xD497,
+ 10936: 0xD498,
+ 10937: 0xD499,
+ 10938: 0xD49A,
+ 10939: 0xD49B,
+ 10940: 0xD49C,
+ 10941: 0xD49D,
+ 10942: 0xC434,
+ 10943: 0xC43C,
+ 10944: 0xC43D,
+ 10945: 0xC448,
+ 10946: 0xC464,
+ 10947: 0xC465,
+ 10948: 0xC468,
+ 10949: 0xC46C,
+ 10950: 0xC474,
+ 10951: 0xC475,
+ 10952: 0xC479,
+ 10953: 0xC480,
+ 10954: 0xC494,
+ 10955: 0xC49C,
+ 10956: 0xC4B8,
+ 10957: 0xC4BC,
+ 10958: 0xC4E9,
+ 10959: 0xC4F0,
+ 10960: 0xC4F1,
+ 10961: 0xC4F4,
+ 10962: 0xC4F8,
+ 10963: 0xC4FA,
+ 10964: 0xC4FF,
+ 10965: 0xC500,
+ 10966: 0xC501,
+ 10967: 0xC50C,
+ 10968: 0xC510,
+ 10969: 0xC514,
+ 10970: 0xC51C,
+ 10971: 0xC528,
+ 10972: 0xC529,
+ 10973: 0xC52C,
+ 10974: 0xC530,
+ 10975: 0xC538,
+ 10976: 0xC539,
+ 10977: 0xC53B,
+ 10978: 0xC53D,
+ 10979: 0xC544,
+ 10980: 0xC545,
+ 10981: 0xC548,
+ 10982: 0xC549,
+ 10983: 0xC54A,
+ 10984: 0xC54C,
+ 10985: 0xC54D,
+ 10986: 0xC54E,
+ 10987: 0xC553,
+ 10988: 0xC554,
+ 10989: 0xC555,
+ 10990: 0xC557,
+ 10991: 0xC558,
+ 10992: 0xC559,
+ 10993: 0xC55D,
+ 10994: 0xC55E,
+ 10995: 0xC560,
+ 10996: 0xC561,
+ 10997: 0xC564,
+ 10998: 0xC568,
+ 10999: 0xC570,
+ 11000: 0xC571,
+ 11001: 0xC573,
+ 11002: 0xC574,
+ 11003: 0xC575,
+ 11004: 0xC57C,
+ 11005: 0xC57D,
+ 11006: 0xC580,
+ 11007: 0xC584,
+ 11008: 0xC587,
+ 11009: 0xC58C,
+ 11010: 0xC58D,
+ 11011: 0xC58F,
+ 11012: 0xC591,
+ 11013: 0xC595,
+ 11014: 0xC597,
+ 11015: 0xC598,
+ 11016: 0xC59C,
+ 11017: 0xC5A0,
+ 11018: 0xC5A9,
+ 11019: 0xC5B4,
+ 11020: 0xC5B5,
+ 11021: 0xC5B8,
+ 11022: 0xC5B9,
+ 11023: 0xC5BB,
+ 11024: 0xC5BC,
+ 11025: 0xC5BD,
+ 11026: 0xC5BE,
+ 11027: 0xC5C4,
+ 11028: 0xC5C5,
+ 11029: 0xC5C6,
+ 11030: 0xC5C7,
+ 11031: 0xC5C8,
+ 11032: 0xC5C9,
+ 11033: 0xC5CA,
+ 11034: 0xC5CC,
+ 11035: 0xC5CE,
+ 11036: 0xD49E,
+ 11037: 0xD49F,
+ 11038: 0xD4A0,
+ 11039: 0xD4A1,
+ 11040: 0xD4A2,
+ 11041: 0xD4A3,
+ 11042: 0xD4A4,
+ 11043: 0xD4A5,
+ 11044: 0xD4A6,
+ 11045: 0xD4A7,
+ 11046: 0xD4A8,
+ 11047: 0xD4AA,
+ 11048: 0xD4AB,
+ 11049: 0xD4AC,
+ 11050: 0xD4AD,
+ 11051: 0xD4AE,
+ 11052: 0xD4AF,
+ 11053: 0xD4B0,
+ 11054: 0xD4B1,
+ 11055: 0xD4B2,
+ 11056: 0xD4B3,
+ 11057: 0xD4B4,
+ 11058: 0xD4B5,
+ 11059: 0xD4B6,
+ 11060: 0xD4B7,
+ 11061: 0xD4B8,
+ 11062: 0xD4B9,
+ 11063: 0xD4BA,
+ 11064: 0xD4BB,
+ 11065: 0xD4BC,
+ 11066: 0xD4BD,
+ 11067: 0xD4BE,
+ 11068: 0xD4BF,
+ 11069: 0xD4C0,
+ 11070: 0xD4C1,
+ 11071: 0xD4C2,
+ 11072: 0xD4C3,
+ 11073: 0xD4C4,
+ 11074: 0xD4C5,
+ 11075: 0xD4C6,
+ 11076: 0xD4C7,
+ 11077: 0xD4C8,
+ 11078: 0xD4C9,
+ 11079: 0xD4CA,
+ 11080: 0xD4CB,
+ 11081: 0xD4CD,
+ 11082: 0xD4CE,
+ 11083: 0xD4CF,
+ 11084: 0xD4D1,
+ 11085: 0xD4D2,
+ 11086: 0xD4D3,
+ 11087: 0xD4D5,
+ 11088: 0xD4D6,
+ 11089: 0xD4D7,
+ 11090: 0xD4D8,
+ 11091: 0xD4D9,
+ 11092: 0xD4DA,
+ 11093: 0xD4DB,
+ 11094: 0xD4DD,
+ 11095: 0xD4DE,
+ 11096: 0xD4E0,
+ 11097: 0xD4E1,
+ 11098: 0xD4E2,
+ 11099: 0xD4E3,
+ 11100: 0xD4E4,
+ 11101: 0xD4E5,
+ 11102: 0xD4E6,
+ 11103: 0xD4E7,
+ 11104: 0xD4E9,
+ 11105: 0xD4EA,
+ 11106: 0xD4EB,
+ 11107: 0xD4ED,
+ 11108: 0xD4EE,
+ 11109: 0xD4EF,
+ 11110: 0xD4F1,
+ 11111: 0xD4F2,
+ 11112: 0xD4F3,
+ 11113: 0xD4F4,
+ 11114: 0xD4F5,
+ 11115: 0xD4F6,
+ 11116: 0xD4F7,
+ 11117: 0xD4F9,
+ 11118: 0xD4FA,
+ 11119: 0xD4FC,
+ 11120: 0xC5D0,
+ 11121: 0xC5D1,
+ 11122: 0xC5D4,
+ 11123: 0xC5D8,
+ 11124: 0xC5E0,
+ 11125: 0xC5E1,
+ 11126: 0xC5E3,
+ 11127: 0xC5E5,
+ 11128: 0xC5EC,
+ 11129: 0xC5ED,
+ 11130: 0xC5EE,
+ 11131: 0xC5F0,
+ 11132: 0xC5F4,
+ 11133: 0xC5F6,
+ 11134: 0xC5F7,
+ 11135: 0xC5FC,
+ 11136: 0xC5FD,
+ 11137: 0xC5FE,
+ 11138: 0xC5FF,
+ 11139: 0xC600,
+ 11140: 0xC601,
+ 11141: 0xC605,
+ 11142: 0xC606,
+ 11143: 0xC607,
+ 11144: 0xC608,
+ 11145: 0xC60C,
+ 11146: 0xC610,
+ 11147: 0xC618,
+ 11148: 0xC619,
+ 11149: 0xC61B,
+ 11150: 0xC61C,
+ 11151: 0xC624,
+ 11152: 0xC625,
+ 11153: 0xC628,
+ 11154: 0xC62C,
+ 11155: 0xC62D,
+ 11156: 0xC62E,
+ 11157: 0xC630,
+ 11158: 0xC633,
+ 11159: 0xC634,
+ 11160: 0xC635,
+ 11161: 0xC637,
+ 11162: 0xC639,
+ 11163: 0xC63B,
+ 11164: 0xC640,
+ 11165: 0xC641,
+ 11166: 0xC644,
+ 11167: 0xC648,
+ 11168: 0xC650,
+ 11169: 0xC651,
+ 11170: 0xC653,
+ 11171: 0xC654,
+ 11172: 0xC655,
+ 11173: 0xC65C,
+ 11174: 0xC65D,
+ 11175: 0xC660,
+ 11176: 0xC66C,
+ 11177: 0xC66F,
+ 11178: 0xC671,
+ 11179: 0xC678,
+ 11180: 0xC679,
+ 11181: 0xC67C,
+ 11182: 0xC680,
+ 11183: 0xC688,
+ 11184: 0xC689,
+ 11185: 0xC68B,
+ 11186: 0xC68D,
+ 11187: 0xC694,
+ 11188: 0xC695,
+ 11189: 0xC698,
+ 11190: 0xC69C,
+ 11191: 0xC6A4,
+ 11192: 0xC6A5,
+ 11193: 0xC6A7,
+ 11194: 0xC6A9,
+ 11195: 0xC6B0,
+ 11196: 0xC6B1,
+ 11197: 0xC6B4,
+ 11198: 0xC6B8,
+ 11199: 0xC6B9,
+ 11200: 0xC6BA,
+ 11201: 0xC6C0,
+ 11202: 0xC6C1,
+ 11203: 0xC6C3,
+ 11204: 0xC6C5,
+ 11205: 0xC6CC,
+ 11206: 0xC6CD,
+ 11207: 0xC6D0,
+ 11208: 0xC6D4,
+ 11209: 0xC6DC,
+ 11210: 0xC6DD,
+ 11211: 0xC6E0,
+ 11212: 0xC6E1,
+ 11213: 0xC6E8,
+ 11214: 0xD4FE,
+ 11215: 0xD4FF,
+ 11216: 0xD500,
+ 11217: 0xD501,
+ 11218: 0xD502,
+ 11219: 0xD503,
+ 11220: 0xD505,
+ 11221: 0xD506,
+ 11222: 0xD507,
+ 11223: 0xD509,
+ 11224: 0xD50A,
+ 11225: 0xD50B,
+ 11226: 0xD50D,
+ 11227: 0xD50E,
+ 11228: 0xD50F,
+ 11229: 0xD510,
+ 11230: 0xD511,
+ 11231: 0xD512,
+ 11232: 0xD513,
+ 11233: 0xD516,
+ 11234: 0xD518,
+ 11235: 0xD519,
+ 11236: 0xD51A,
+ 11237: 0xD51B,
+ 11238: 0xD51C,
+ 11239: 0xD51D,
+ 11240: 0xD51E,
+ 11241: 0xD51F,
+ 11242: 0xD520,
+ 11243: 0xD521,
+ 11244: 0xD522,
+ 11245: 0xD523,
+ 11246: 0xD524,
+ 11247: 0xD525,
+ 11248: 0xD526,
+ 11249: 0xD527,
+ 11250: 0xD528,
+ 11251: 0xD529,
+ 11252: 0xD52A,
+ 11253: 0xD52B,
+ 11254: 0xD52C,
+ 11255: 0xD52D,
+ 11256: 0xD52E,
+ 11257: 0xD52F,
+ 11258: 0xD530,
+ 11259: 0xD531,
+ 11260: 0xD532,
+ 11261: 0xD533,
+ 11262: 0xD534,
+ 11263: 0xD535,
+ 11264: 0xD536,
+ 11265: 0xD537,
+ 11266: 0xD538,
+ 11267: 0xD539,
+ 11268: 0xD53A,
+ 11269: 0xD53B,
+ 11270: 0xD53E,
+ 11271: 0xD53F,
+ 11272: 0xD541,
+ 11273: 0xD542,
+ 11274: 0xD543,
+ 11275: 0xD545,
+ 11276: 0xD546,
+ 11277: 0xD547,
+ 11278: 0xD548,
+ 11279: 0xD549,
+ 11280: 0xD54A,
+ 11281: 0xD54B,
+ 11282: 0xD54E,
+ 11283: 0xD550,
+ 11284: 0xD552,
+ 11285: 0xD553,
+ 11286: 0xD554,
+ 11287: 0xD555,
+ 11288: 0xD556,
+ 11289: 0xD557,
+ 11290: 0xD55A,
+ 11291: 0xD55B,
+ 11292: 0xD55D,
+ 11293: 0xD55E,
+ 11294: 0xD55F,
+ 11295: 0xD561,
+ 11296: 0xD562,
+ 11297: 0xD563,
+ 11298: 0xC6E9,
+ 11299: 0xC6EC,
+ 11300: 0xC6F0,
+ 11301: 0xC6F8,
+ 11302: 0xC6F9,
+ 11303: 0xC6FD,
+ 11304: 0xC704,
+ 11305: 0xC705,
+ 11306: 0xC708,
+ 11307: 0xC70C,
+ 11308: 0xC714,
+ 11309: 0xC715,
+ 11310: 0xC717,
+ 11311: 0xC719,
+ 11312: 0xC720,
+ 11313: 0xC721,
+ 11314: 0xC724,
+ 11315: 0xC728,
+ 11316: 0xC730,
+ 11317: 0xC731,
+ 11318: 0xC733,
+ 11319: 0xC735,
+ 11320: 0xC737,
+ 11321: 0xC73C,
+ 11322: 0xC73D,
+ 11323: 0xC740,
+ 11324: 0xC744,
+ 11325: 0xC74A,
+ 11326: 0xC74C,
+ 11327: 0xC74D,
+ 11328: 0xC74F,
+ 11329: 0xC751,
+ 11330: 0xC752,
+ 11331: 0xC753,
+ 11332: 0xC754,
+ 11333: 0xC755,
+ 11334: 0xC756,
+ 11335: 0xC757,
+ 11336: 0xC758,
+ 11337: 0xC75C,
+ 11338: 0xC760,
+ 11339: 0xC768,
+ 11340: 0xC76B,
+ 11341: 0xC774,
+ 11342: 0xC775,
+ 11343: 0xC778,
+ 11344: 0xC77C,
+ 11345: 0xC77D,
+ 11346: 0xC77E,
+ 11347: 0xC783,
+ 11348: 0xC784,
+ 11349: 0xC785,
+ 11350: 0xC787,
+ 11351: 0xC788,
+ 11352: 0xC789,
+ 11353: 0xC78A,
+ 11354: 0xC78E,
+ 11355: 0xC790,
+ 11356: 0xC791,
+ 11357: 0xC794,
+ 11358: 0xC796,
+ 11359: 0xC797,
+ 11360: 0xC798,
+ 11361: 0xC79A,
+ 11362: 0xC7A0,
+ 11363: 0xC7A1,
+ 11364: 0xC7A3,
+ 11365: 0xC7A4,
+ 11366: 0xC7A5,
+ 11367: 0xC7A6,
+ 11368: 0xC7AC,
+ 11369: 0xC7AD,
+ 11370: 0xC7B0,
+ 11371: 0xC7B4,
+ 11372: 0xC7BC,
+ 11373: 0xC7BD,
+ 11374: 0xC7BF,
+ 11375: 0xC7C0,
+ 11376: 0xC7C1,
+ 11377: 0xC7C8,
+ 11378: 0xC7C9,
+ 11379: 0xC7CC,
+ 11380: 0xC7CE,
+ 11381: 0xC7D0,
+ 11382: 0xC7D8,
+ 11383: 0xC7DD,
+ 11384: 0xC7E4,
+ 11385: 0xC7E8,
+ 11386: 0xC7EC,
+ 11387: 0xC800,
+ 11388: 0xC801,
+ 11389: 0xC804,
+ 11390: 0xC808,
+ 11391: 0xC80A,
+ 11392: 0xD564,
+ 11393: 0xD566,
+ 11394: 0xD567,
+ 11395: 0xD56A,
+ 11396: 0xD56C,
+ 11397: 0xD56E,
+ 11398: 0xD56F,
+ 11399: 0xD570,
+ 11400: 0xD571,
+ 11401: 0xD572,
+ 11402: 0xD573,
+ 11403: 0xD576,
+ 11404: 0xD577,
+ 11405: 0xD579,
+ 11406: 0xD57A,
+ 11407: 0xD57B,
+ 11408: 0xD57D,
+ 11409: 0xD57E,
+ 11410: 0xD57F,
+ 11411: 0xD580,
+ 11412: 0xD581,
+ 11413: 0xD582,
+ 11414: 0xD583,
+ 11415: 0xD586,
+ 11416: 0xD58A,
+ 11417: 0xD58B,
+ 11418: 0xD58C,
+ 11419: 0xD58D,
+ 11420: 0xD58E,
+ 11421: 0xD58F,
+ 11422: 0xD591,
+ 11423: 0xD592,
+ 11424: 0xD593,
+ 11425: 0xD594,
+ 11426: 0xD595,
+ 11427: 0xD596,
+ 11428: 0xD597,
+ 11429: 0xD598,
+ 11430: 0xD599,
+ 11431: 0xD59A,
+ 11432: 0xD59B,
+ 11433: 0xD59C,
+ 11434: 0xD59D,
+ 11435: 0xD59E,
+ 11436: 0xD59F,
+ 11437: 0xD5A0,
+ 11438: 0xD5A1,
+ 11439: 0xD5A2,
+ 11440: 0xD5A3,
+ 11441: 0xD5A4,
+ 11442: 0xD5A6,
+ 11443: 0xD5A7,
+ 11444: 0xD5A8,
+ 11445: 0xD5A9,
+ 11446: 0xD5AA,
+ 11447: 0xD5AB,
+ 11448: 0xD5AC,
+ 11449: 0xD5AD,
+ 11450: 0xD5AE,
+ 11451: 0xD5AF,
+ 11452: 0xD5B0,
+ 11453: 0xD5B1,
+ 11454: 0xD5B2,
+ 11455: 0xD5B3,
+ 11456: 0xD5B4,
+ 11457: 0xD5B5,
+ 11458: 0xD5B6,
+ 11459: 0xD5B7,
+ 11460: 0xD5B8,
+ 11461: 0xD5B9,
+ 11462: 0xD5BA,
+ 11463: 0xD5BB,
+ 11464: 0xD5BC,
+ 11465: 0xD5BD,
+ 11466: 0xD5BE,
+ 11467: 0xD5BF,
+ 11468: 0xD5C0,
+ 11469: 0xD5C1,
+ 11470: 0xD5C2,
+ 11471: 0xD5C3,
+ 11472: 0xD5C4,
+ 11473: 0xD5C5,
+ 11474: 0xD5C6,
+ 11475: 0xD5C7,
+ 11476: 0xC810,
+ 11477: 0xC811,
+ 11478: 0xC813,
+ 11479: 0xC815,
+ 11480: 0xC816,
+ 11481: 0xC81C,
+ 11482: 0xC81D,
+ 11483: 0xC820,
+ 11484: 0xC824,
+ 11485: 0xC82C,
+ 11486: 0xC82D,
+ 11487: 0xC82F,
+ 11488: 0xC831,
+ 11489: 0xC838,
+ 11490: 0xC83C,
+ 11491: 0xC840,
+ 11492: 0xC848,
+ 11493: 0xC849,
+ 11494: 0xC84C,
+ 11495: 0xC84D,
+ 11496: 0xC854,
+ 11497: 0xC870,
+ 11498: 0xC871,
+ 11499: 0xC874,
+ 11500: 0xC878,
+ 11501: 0xC87A,
+ 11502: 0xC880,
+ 11503: 0xC881,
+ 11504: 0xC883,
+ 11505: 0xC885,
+ 11506: 0xC886,
+ 11507: 0xC887,
+ 11508: 0xC88B,
+ 11509: 0xC88C,
+ 11510: 0xC88D,
+ 11511: 0xC894,
+ 11512: 0xC89D,
+ 11513: 0xC89F,
+ 11514: 0xC8A1,
+ 11515: 0xC8A8,
+ 11516: 0xC8BC,
+ 11517: 0xC8BD,
+ 11518: 0xC8C4,
+ 11519: 0xC8C8,
+ 11520: 0xC8CC,
+ 11521: 0xC8D4,
+ 11522: 0xC8D5,
+ 11523: 0xC8D7,
+ 11524: 0xC8D9,
+ 11525: 0xC8E0,
+ 11526: 0xC8E1,
+ 11527: 0xC8E4,
+ 11528: 0xC8F5,
+ 11529: 0xC8FC,
+ 11530: 0xC8FD,
+ 11531: 0xC900,
+ 11532: 0xC904,
+ 11533: 0xC905,
+ 11534: 0xC906,
+ 11535: 0xC90C,
+ 11536: 0xC90D,
+ 11537: 0xC90F,
+ 11538: 0xC911,
+ 11539: 0xC918,
+ 11540: 0xC92C,
+ 11541: 0xC934,
+ 11542: 0xC950,
+ 11543: 0xC951,
+ 11544: 0xC954,
+ 11545: 0xC958,
+ 11546: 0xC960,
+ 11547: 0xC961,
+ 11548: 0xC963,
+ 11549: 0xC96C,
+ 11550: 0xC970,
+ 11551: 0xC974,
+ 11552: 0xC97C,
+ 11553: 0xC988,
+ 11554: 0xC989,
+ 11555: 0xC98C,
+ 11556: 0xC990,
+ 11557: 0xC998,
+ 11558: 0xC999,
+ 11559: 0xC99B,
+ 11560: 0xC99D,
+ 11561: 0xC9C0,
+ 11562: 0xC9C1,
+ 11563: 0xC9C4,
+ 11564: 0xC9C7,
+ 11565: 0xC9C8,
+ 11566: 0xC9CA,
+ 11567: 0xC9D0,
+ 11568: 0xC9D1,
+ 11569: 0xC9D3,
+ 11570: 0xD5CA,
+ 11571: 0xD5CB,
+ 11572: 0xD5CD,
+ 11573: 0xD5CE,
+ 11574: 0xD5CF,
+ 11575: 0xD5D1,
+ 11576: 0xD5D3,
+ 11577: 0xD5D4,
+ 11578: 0xD5D5,
+ 11579: 0xD5D6,
+ 11580: 0xD5D7,
+ 11581: 0xD5DA,
+ 11582: 0xD5DC,
+ 11583: 0xD5DE,
+ 11584: 0xD5DF,
+ 11585: 0xD5E0,
+ 11586: 0xD5E1,
+ 11587: 0xD5E2,
+ 11588: 0xD5E3,
+ 11589: 0xD5E6,
+ 11590: 0xD5E7,
+ 11591: 0xD5E9,
+ 11592: 0xD5EA,
+ 11593: 0xD5EB,
+ 11594: 0xD5ED,
+ 11595: 0xD5EE,
+ 11596: 0xD5EF,
+ 11597: 0xD5F0,
+ 11598: 0xD5F1,
+ 11599: 0xD5F2,
+ 11600: 0xD5F3,
+ 11601: 0xD5F6,
+ 11602: 0xD5F8,
+ 11603: 0xD5FA,
+ 11604: 0xD5FB,
+ 11605: 0xD5FC,
+ 11606: 0xD5FD,
+ 11607: 0xD5FE,
+ 11608: 0xD5FF,
+ 11609: 0xD602,
+ 11610: 0xD603,
+ 11611: 0xD605,
+ 11612: 0xD606,
+ 11613: 0xD607,
+ 11614: 0xD609,
+ 11615: 0xD60A,
+ 11616: 0xD60B,
+ 11617: 0xD60C,
+ 11618: 0xD60D,
+ 11619: 0xD60E,
+ 11620: 0xD60F,
+ 11621: 0xD612,
+ 11622: 0xD616,
+ 11623: 0xD617,
+ 11624: 0xD618,
+ 11625: 0xD619,
+ 11626: 0xD61A,
+ 11627: 0xD61B,
+ 11628: 0xD61D,
+ 11629: 0xD61E,
+ 11630: 0xD61F,
+ 11631: 0xD621,
+ 11632: 0xD622,
+ 11633: 0xD623,
+ 11634: 0xD625,
+ 11635: 0xD626,
+ 11636: 0xD627,
+ 11637: 0xD628,
+ 11638: 0xD629,
+ 11639: 0xD62A,
+ 11640: 0xD62B,
+ 11641: 0xD62C,
+ 11642: 0xD62E,
+ 11643: 0xD62F,
+ 11644: 0xD630,
+ 11645: 0xD631,
+ 11646: 0xD632,
+ 11647: 0xD633,
+ 11648: 0xD634,
+ 11649: 0xD635,
+ 11650: 0xD636,
+ 11651: 0xD637,
+ 11652: 0xD63A,
+ 11653: 0xD63B,
+ 11654: 0xC9D5,
+ 11655: 0xC9D6,
+ 11656: 0xC9D9,
+ 11657: 0xC9DA,
+ 11658: 0xC9DC,
+ 11659: 0xC9DD,
+ 11660: 0xC9E0,
+ 11661: 0xC9E2,
+ 11662: 0xC9E4,
+ 11663: 0xC9E7,
+ 11664: 0xC9EC,
+ 11665: 0xC9ED,
+ 11666: 0xC9EF,
+ 11667: 0xC9F0,
+ 11668: 0xC9F1,
+ 11669: 0xC9F8,
+ 11670: 0xC9F9,
+ 11671: 0xC9FC,
+ 11672: 0xCA00,
+ 11673: 0xCA08,
+ 11674: 0xCA09,
+ 11675: 0xCA0B,
+ 11676: 0xCA0C,
+ 11677: 0xCA0D,
+ 11678: 0xCA14,
+ 11679: 0xCA18,
+ 11680: 0xCA29,
+ 11681: 0xCA4C,
+ 11682: 0xCA4D,
+ 11683: 0xCA50,
+ 11684: 0xCA54,
+ 11685: 0xCA5C,
+ 11686: 0xCA5D,
+ 11687: 0xCA5F,
+ 11688: 0xCA60,
+ 11689: 0xCA61,
+ 11690: 0xCA68,
+ 11691: 0xCA7D,
+ 11692: 0xCA84,
+ 11693: 0xCA98,
+ 11694: 0xCABC,
+ 11695: 0xCABD,
+ 11696: 0xCAC0,
+ 11697: 0xCAC4,
+ 11698: 0xCACC,
+ 11699: 0xCACD,
+ 11700: 0xCACF,
+ 11701: 0xCAD1,
+ 11702: 0xCAD3,
+ 11703: 0xCAD8,
+ 11704: 0xCAD9,
+ 11705: 0xCAE0,
+ 11706: 0xCAEC,
+ 11707: 0xCAF4,
+ 11708: 0xCB08,
+ 11709: 0xCB10,
+ 11710: 0xCB14,
+ 11711: 0xCB18,
+ 11712: 0xCB20,
+ 11713: 0xCB21,
+ 11714: 0xCB41,
+ 11715: 0xCB48,
+ 11716: 0xCB49,
+ 11717: 0xCB4C,
+ 11718: 0xCB50,
+ 11719: 0xCB58,
+ 11720: 0xCB59,
+ 11721: 0xCB5D,
+ 11722: 0xCB64,
+ 11723: 0xCB78,
+ 11724: 0xCB79,
+ 11725: 0xCB9C,
+ 11726: 0xCBB8,
+ 11727: 0xCBD4,
+ 11728: 0xCBE4,
+ 11729: 0xCBE7,
+ 11730: 0xCBE9,
+ 11731: 0xCC0C,
+ 11732: 0xCC0D,
+ 11733: 0xCC10,
+ 11734: 0xCC14,
+ 11735: 0xCC1C,
+ 11736: 0xCC1D,
+ 11737: 0xCC21,
+ 11738: 0xCC22,
+ 11739: 0xCC27,
+ 11740: 0xCC28,
+ 11741: 0xCC29,
+ 11742: 0xCC2C,
+ 11743: 0xCC2E,
+ 11744: 0xCC30,
+ 11745: 0xCC38,
+ 11746: 0xCC39,
+ 11747: 0xCC3B,
+ 11748: 0xD63D,
+ 11749: 0xD63E,
+ 11750: 0xD63F,
+ 11751: 0xD641,
+ 11752: 0xD642,
+ 11753: 0xD643,
+ 11754: 0xD644,
+ 11755: 0xD646,
+ 11756: 0xD647,
+ 11757: 0xD64A,
+ 11758: 0xD64C,
+ 11759: 0xD64E,
+ 11760: 0xD64F,
+ 11761: 0xD650,
+ 11762: 0xD652,
+ 11763: 0xD653,
+ 11764: 0xD656,
+ 11765: 0xD657,
+ 11766: 0xD659,
+ 11767: 0xD65A,
+ 11768: 0xD65B,
+ 11769: 0xD65D,
+ 11770: 0xD65E,
+ 11771: 0xD65F,
+ 11772: 0xD660,
+ 11773: 0xD661,
+ 11774: 0xD662,
+ 11775: 0xD663,
+ 11776: 0xD664,
+ 11777: 0xD665,
+ 11778: 0xD666,
+ 11779: 0xD668,
+ 11780: 0xD66A,
+ 11781: 0xD66B,
+ 11782: 0xD66C,
+ 11783: 0xD66D,
+ 11784: 0xD66E,
+ 11785: 0xD66F,
+ 11786: 0xD672,
+ 11787: 0xD673,
+ 11788: 0xD675,
+ 11789: 0xD676,
+ 11790: 0xD677,
+ 11791: 0xD678,
+ 11792: 0xD679,
+ 11793: 0xD67A,
+ 11794: 0xD67B,
+ 11795: 0xD67C,
+ 11796: 0xD67D,
+ 11797: 0xD67E,
+ 11798: 0xD67F,
+ 11799: 0xD680,
+ 11800: 0xD681,
+ 11801: 0xD682,
+ 11802: 0xD684,
+ 11803: 0xD686,
+ 11804: 0xD687,
+ 11805: 0xD688,
+ 11806: 0xD689,
+ 11807: 0xD68A,
+ 11808: 0xD68B,
+ 11809: 0xD68E,
+ 11810: 0xD68F,
+ 11811: 0xD691,
+ 11812: 0xD692,
+ 11813: 0xD693,
+ 11814: 0xD695,
+ 11815: 0xD696,
+ 11816: 0xD697,
+ 11817: 0xD698,
+ 11818: 0xD699,
+ 11819: 0xD69A,
+ 11820: 0xD69B,
+ 11821: 0xD69C,
+ 11822: 0xD69E,
+ 11823: 0xD6A0,
+ 11824: 0xD6A2,
+ 11825: 0xD6A3,
+ 11826: 0xD6A4,
+ 11827: 0xD6A5,
+ 11828: 0xD6A6,
+ 11829: 0xD6A7,
+ 11830: 0xD6A9,
+ 11831: 0xD6AA,
+ 11832: 0xCC3C,
+ 11833: 0xCC3D,
+ 11834: 0xCC3E,
+ 11835: 0xCC44,
+ 11836: 0xCC45,
+ 11837: 0xCC48,
+ 11838: 0xCC4C,
+ 11839: 0xCC54,
+ 11840: 0xCC55,
+ 11841: 0xCC57,
+ 11842: 0xCC58,
+ 11843: 0xCC59,
+ 11844: 0xCC60,
+ 11845: 0xCC64,
+ 11846: 0xCC66,
+ 11847: 0xCC68,
+ 11848: 0xCC70,
+ 11849: 0xCC75,
+ 11850: 0xCC98,
+ 11851: 0xCC99,
+ 11852: 0xCC9C,
+ 11853: 0xCCA0,
+ 11854: 0xCCA8,
+ 11855: 0xCCA9,
+ 11856: 0xCCAB,
+ 11857: 0xCCAC,
+ 11858: 0xCCAD,
+ 11859: 0xCCB4,
+ 11860: 0xCCB5,
+ 11861: 0xCCB8,
+ 11862: 0xCCBC,
+ 11863: 0xCCC4,
+ 11864: 0xCCC5,
+ 11865: 0xCCC7,
+ 11866: 0xCCC9,
+ 11867: 0xCCD0,
+ 11868: 0xCCD4,
+ 11869: 0xCCE4,
+ 11870: 0xCCEC,
+ 11871: 0xCCF0,
+ 11872: 0xCD01,
+ 11873: 0xCD08,
+ 11874: 0xCD09,
+ 11875: 0xCD0C,
+ 11876: 0xCD10,
+ 11877: 0xCD18,
+ 11878: 0xCD19,
+ 11879: 0xCD1B,
+ 11880: 0xCD1D,
+ 11881: 0xCD24,
+ 11882: 0xCD28,
+ 11883: 0xCD2C,
+ 11884: 0xCD39,
+ 11885: 0xCD5C,
+ 11886: 0xCD60,
+ 11887: 0xCD64,
+ 11888: 0xCD6C,
+ 11889: 0xCD6D,
+ 11890: 0xCD6F,
+ 11891: 0xCD71,
+ 11892: 0xCD78,
+ 11893: 0xCD88,
+ 11894: 0xCD94,
+ 11895: 0xCD95,
+ 11896: 0xCD98,
+ 11897: 0xCD9C,
+ 11898: 0xCDA4,
+ 11899: 0xCDA5,
+ 11900: 0xCDA7,
+ 11901: 0xCDA9,
+ 11902: 0xCDB0,
+ 11903: 0xCDC4,
+ 11904: 0xCDCC,
+ 11905: 0xCDD0,
+ 11906: 0xCDE8,
+ 11907: 0xCDEC,
+ 11908: 0xCDF0,
+ 11909: 0xCDF8,
+ 11910: 0xCDF9,
+ 11911: 0xCDFB,
+ 11912: 0xCDFD,
+ 11913: 0xCE04,
+ 11914: 0xCE08,
+ 11915: 0xCE0C,
+ 11916: 0xCE14,
+ 11917: 0xCE19,
+ 11918: 0xCE20,
+ 11919: 0xCE21,
+ 11920: 0xCE24,
+ 11921: 0xCE28,
+ 11922: 0xCE30,
+ 11923: 0xCE31,
+ 11924: 0xCE33,
+ 11925: 0xCE35,
+ 11926: 0xD6AB,
+ 11927: 0xD6AD,
+ 11928: 0xD6AE,
+ 11929: 0xD6AF,
+ 11930: 0xD6B1,
+ 11931: 0xD6B2,
+ 11932: 0xD6B3,
+ 11933: 0xD6B4,
+ 11934: 0xD6B5,
+ 11935: 0xD6B6,
+ 11936: 0xD6B7,
+ 11937: 0xD6B8,
+ 11938: 0xD6BA,
+ 11939: 0xD6BC,
+ 11940: 0xD6BD,
+ 11941: 0xD6BE,
+ 11942: 0xD6BF,
+ 11943: 0xD6C0,
+ 11944: 0xD6C1,
+ 11945: 0xD6C2,
+ 11946: 0xD6C3,
+ 11947: 0xD6C6,
+ 11948: 0xD6C7,
+ 11949: 0xD6C9,
+ 11950: 0xD6CA,
+ 11951: 0xD6CB,
+ 11952: 0xD6CD,
+ 11953: 0xD6CE,
+ 11954: 0xD6CF,
+ 11955: 0xD6D0,
+ 11956: 0xD6D2,
+ 11957: 0xD6D3,
+ 11958: 0xD6D5,
+ 11959: 0xD6D6,
+ 11960: 0xD6D8,
+ 11961: 0xD6DA,
+ 11962: 0xD6DB,
+ 11963: 0xD6DC,
+ 11964: 0xD6DD,
+ 11965: 0xD6DE,
+ 11966: 0xD6DF,
+ 11967: 0xD6E1,
+ 11968: 0xD6E2,
+ 11969: 0xD6E3,
+ 11970: 0xD6E5,
+ 11971: 0xD6E6,
+ 11972: 0xD6E7,
+ 11973: 0xD6E9,
+ 11974: 0xD6EA,
+ 11975: 0xD6EB,
+ 11976: 0xD6EC,
+ 11977: 0xD6ED,
+ 11978: 0xD6EE,
+ 11979: 0xD6EF,
+ 11980: 0xD6F1,
+ 11981: 0xD6F2,
+ 11982: 0xD6F3,
+ 11983: 0xD6F4,
+ 11984: 0xD6F6,
+ 11985: 0xD6F7,
+ 11986: 0xD6F8,
+ 11987: 0xD6F9,
+ 11988: 0xD6FA,
+ 11989: 0xD6FB,
+ 11990: 0xD6FE,
+ 11991: 0xD6FF,
+ 11992: 0xD701,
+ 11993: 0xD702,
+ 11994: 0xD703,
+ 11995: 0xD705,
+ 11996: 0xD706,
+ 11997: 0xD707,
+ 11998: 0xD708,
+ 11999: 0xD709,
+ 12000: 0xD70A,
+ 12001: 0xD70B,
+ 12002: 0xD70C,
+ 12003: 0xD70D,
+ 12004: 0xD70E,
+ 12005: 0xD70F,
+ 12006: 0xD710,
+ 12007: 0xD712,
+ 12008: 0xD713,
+ 12009: 0xD714,
+ 12010: 0xCE58,
+ 12011: 0xCE59,
+ 12012: 0xCE5C,
+ 12013: 0xCE5F,
+ 12014: 0xCE60,
+ 12015: 0xCE61,
+ 12016: 0xCE68,
+ 12017: 0xCE69,
+ 12018: 0xCE6B,
+ 12019: 0xCE6D,
+ 12020: 0xCE74,
+ 12021: 0xCE75,
+ 12022: 0xCE78,
+ 12023: 0xCE7C,
+ 12024: 0xCE84,
+ 12025: 0xCE85,
+ 12026: 0xCE87,
+ 12027: 0xCE89,
+ 12028: 0xCE90,
+ 12029: 0xCE91,
+ 12030: 0xCE94,
+ 12031: 0xCE98,
+ 12032: 0xCEA0,
+ 12033: 0xCEA1,
+ 12034: 0xCEA3,
+ 12035: 0xCEA4,
+ 12036: 0xCEA5,
+ 12037: 0xCEAC,
+ 12038: 0xCEAD,
+ 12039: 0xCEC1,
+ 12040: 0xCEE4,
+ 12041: 0xCEE5,
+ 12042: 0xCEE8,
+ 12043: 0xCEEB,
+ 12044: 0xCEEC,
+ 12045: 0xCEF4,
+ 12046: 0xCEF5,
+ 12047: 0xCEF7,
+ 12048: 0xCEF8,
+ 12049: 0xCEF9,
+ 12050: 0xCF00,
+ 12051: 0xCF01,
+ 12052: 0xCF04,
+ 12053: 0xCF08,
+ 12054: 0xCF10,
+ 12055: 0xCF11,
+ 12056: 0xCF13,
+ 12057: 0xCF15,
+ 12058: 0xCF1C,
+ 12059: 0xCF20,
+ 12060: 0xCF24,
+ 12061: 0xCF2C,
+ 12062: 0xCF2D,
+ 12063: 0xCF2F,
+ 12064: 0xCF30,
+ 12065: 0xCF31,
+ 12066: 0xCF38,
+ 12067: 0xCF54,
+ 12068: 0xCF55,
+ 12069: 0xCF58,
+ 12070: 0xCF5C,
+ 12071: 0xCF64,
+ 12072: 0xCF65,
+ 12073: 0xCF67,
+ 12074: 0xCF69,
+ 12075: 0xCF70,
+ 12076: 0xCF71,
+ 12077: 0xCF74,
+ 12078: 0xCF78,
+ 12079: 0xCF80,
+ 12080: 0xCF85,
+ 12081: 0xCF8C,
+ 12082: 0xCFA1,
+ 12083: 0xCFA8,
+ 12084: 0xCFB0,
+ 12085: 0xCFC4,
+ 12086: 0xCFE0,
+ 12087: 0xCFE1,
+ 12088: 0xCFE4,
+ 12089: 0xCFE8,
+ 12090: 0xCFF0,
+ 12091: 0xCFF1,
+ 12092: 0xCFF3,
+ 12093: 0xCFF5,
+ 12094: 0xCFFC,
+ 12095: 0xD000,
+ 12096: 0xD004,
+ 12097: 0xD011,
+ 12098: 0xD018,
+ 12099: 0xD02D,
+ 12100: 0xD034,
+ 12101: 0xD035,
+ 12102: 0xD038,
+ 12103: 0xD03C,
+ 12104: 0xD715,
+ 12105: 0xD716,
+ 12106: 0xD717,
+ 12107: 0xD71A,
+ 12108: 0xD71B,
+ 12109: 0xD71D,
+ 12110: 0xD71E,
+ 12111: 0xD71F,
+ 12112: 0xD721,
+ 12113: 0xD722,
+ 12114: 0xD723,
+ 12115: 0xD724,
+ 12116: 0xD725,
+ 12117: 0xD726,
+ 12118: 0xD727,
+ 12119: 0xD72A,
+ 12120: 0xD72C,
+ 12121: 0xD72E,
+ 12122: 0xD72F,
+ 12123: 0xD730,
+ 12124: 0xD731,
+ 12125: 0xD732,
+ 12126: 0xD733,
+ 12127: 0xD736,
+ 12128: 0xD737,
+ 12129: 0xD739,
+ 12130: 0xD73A,
+ 12131: 0xD73B,
+ 12132: 0xD73D,
+ 12133: 0xD73E,
+ 12134: 0xD73F,
+ 12135: 0xD740,
+ 12136: 0xD741,
+ 12137: 0xD742,
+ 12138: 0xD743,
+ 12139: 0xD745,
+ 12140: 0xD746,
+ 12141: 0xD748,
+ 12142: 0xD74A,
+ 12143: 0xD74B,
+ 12144: 0xD74C,
+ 12145: 0xD74D,
+ 12146: 0xD74E,
+ 12147: 0xD74F,
+ 12148: 0xD752,
+ 12149: 0xD753,
+ 12150: 0xD755,
+ 12151: 0xD75A,
+ 12152: 0xD75B,
+ 12153: 0xD75C,
+ 12154: 0xD75D,
+ 12155: 0xD75E,
+ 12156: 0xD75F,
+ 12157: 0xD762,
+ 12158: 0xD764,
+ 12159: 0xD766,
+ 12160: 0xD767,
+ 12161: 0xD768,
+ 12162: 0xD76A,
+ 12163: 0xD76B,
+ 12164: 0xD76D,
+ 12165: 0xD76E,
+ 12166: 0xD76F,
+ 12167: 0xD771,
+ 12168: 0xD772,
+ 12169: 0xD773,
+ 12170: 0xD775,
+ 12171: 0xD776,
+ 12172: 0xD777,
+ 12173: 0xD778,
+ 12174: 0xD779,
+ 12175: 0xD77A,
+ 12176: 0xD77B,
+ 12177: 0xD77E,
+ 12178: 0xD77F,
+ 12179: 0xD780,
+ 12180: 0xD782,
+ 12181: 0xD783,
+ 12182: 0xD784,
+ 12183: 0xD785,
+ 12184: 0xD786,
+ 12185: 0xD787,
+ 12186: 0xD78A,
+ 12187: 0xD78B,
+ 12188: 0xD044,
+ 12189: 0xD045,
+ 12190: 0xD047,
+ 12191: 0xD049,
+ 12192: 0xD050,
+ 12193: 0xD054,
+ 12194: 0xD058,
+ 12195: 0xD060,
+ 12196: 0xD06C,
+ 12197: 0xD06D,
+ 12198: 0xD070,
+ 12199: 0xD074,
+ 12200: 0xD07C,
+ 12201: 0xD07D,
+ 12202: 0xD081,
+ 12203: 0xD0A4,
+ 12204: 0xD0A5,
+ 12205: 0xD0A8,
+ 12206: 0xD0AC,
+ 12207: 0xD0B4,
+ 12208: 0xD0B5,
+ 12209: 0xD0B7,
+ 12210: 0xD0B9,
+ 12211: 0xD0C0,
+ 12212: 0xD0C1,
+ 12213: 0xD0C4,
+ 12214: 0xD0C8,
+ 12215: 0xD0C9,
+ 12216: 0xD0D0,
+ 12217: 0xD0D1,
+ 12218: 0xD0D3,
+ 12219: 0xD0D4,
+ 12220: 0xD0D5,
+ 12221: 0xD0DC,
+ 12222: 0xD0DD,
+ 12223: 0xD0E0,
+ 12224: 0xD0E4,
+ 12225: 0xD0EC,
+ 12226: 0xD0ED,
+ 12227: 0xD0EF,
+ 12228: 0xD0F0,
+ 12229: 0xD0F1,
+ 12230: 0xD0F8,
+ 12231: 0xD10D,
+ 12232: 0xD130,
+ 12233: 0xD131,
+ 12234: 0xD134,
+ 12235: 0xD138,
+ 12236: 0xD13A,
+ 12237: 0xD140,
+ 12238: 0xD141,
+ 12239: 0xD143,
+ 12240: 0xD144,
+ 12241: 0xD145,
+ 12242: 0xD14C,
+ 12243: 0xD14D,
+ 12244: 0xD150,
+ 12245: 0xD154,
+ 12246: 0xD15C,
+ 12247: 0xD15D,
+ 12248: 0xD15F,
+ 12249: 0xD161,
+ 12250: 0xD168,
+ 12251: 0xD16C,
+ 12252: 0xD17C,
+ 12253: 0xD184,
+ 12254: 0xD188,
+ 12255: 0xD1A0,
+ 12256: 0xD1A1,
+ 12257: 0xD1A4,
+ 12258: 0xD1A8,
+ 12259: 0xD1B0,
+ 12260: 0xD1B1,
+ 12261: 0xD1B3,
+ 12262: 0xD1B5,
+ 12263: 0xD1BA,
+ 12264: 0xD1BC,
+ 12265: 0xD1C0,
+ 12266: 0xD1D8,
+ 12267: 0xD1F4,
+ 12268: 0xD1F8,
+ 12269: 0xD207,
+ 12270: 0xD209,
+ 12271: 0xD210,
+ 12272: 0xD22C,
+ 12273: 0xD22D,
+ 12274: 0xD230,
+ 12275: 0xD234,
+ 12276: 0xD23C,
+ 12277: 0xD23D,
+ 12278: 0xD23F,
+ 12279: 0xD241,
+ 12280: 0xD248,
+ 12281: 0xD25C,
+ 12282: 0xD78D,
+ 12283: 0xD78E,
+ 12284: 0xD78F,
+ 12285: 0xD791,
+ 12286: 0xD792,
+ 12287: 0xD793,
+ 12288: 0xD794,
+ 12289: 0xD795,
+ 12290: 0xD796,
+ 12291: 0xD797,
+ 12292: 0xD79A,
+ 12293: 0xD79C,
+ 12294: 0xD79E,
+ 12295: 0xD79F,
+ 12296: 0xD7A0,
+ 12297: 0xD7A1,
+ 12298: 0xD7A2,
+ 12299: 0xD7A3,
+ 12366: 0xD264,
+ 12367: 0xD280,
+ 12368: 0xD281,
+ 12369: 0xD284,
+ 12370: 0xD288,
+ 12371: 0xD290,
+ 12372: 0xD291,
+ 12373: 0xD295,
+ 12374: 0xD29C,
+ 12375: 0xD2A0,
+ 12376: 0xD2A4,
+ 12377: 0xD2AC,
+ 12378: 0xD2B1,
+ 12379: 0xD2B8,
+ 12380: 0xD2B9,
+ 12381: 0xD2BC,
+ 12382: 0xD2BF,
+ 12383: 0xD2C0,
+ 12384: 0xD2C2,
+ 12385: 0xD2C8,
+ 12386: 0xD2C9,
+ 12387: 0xD2CB,
+ 12388: 0xD2D4,
+ 12389: 0xD2D8,
+ 12390: 0xD2DC,
+ 12391: 0xD2E4,
+ 12392: 0xD2E5,
+ 12393: 0xD2F0,
+ 12394: 0xD2F1,
+ 12395: 0xD2F4,
+ 12396: 0xD2F8,
+ 12397: 0xD300,
+ 12398: 0xD301,
+ 12399: 0xD303,
+ 12400: 0xD305,
+ 12401: 0xD30C,
+ 12402: 0xD30D,
+ 12403: 0xD30E,
+ 12404: 0xD310,
+ 12405: 0xD314,
+ 12406: 0xD316,
+ 12407: 0xD31C,
+ 12408: 0xD31D,
+ 12409: 0xD31F,
+ 12410: 0xD320,
+ 12411: 0xD321,
+ 12412: 0xD325,
+ 12413: 0xD328,
+ 12414: 0xD329,
+ 12415: 0xD32C,
+ 12416: 0xD330,
+ 12417: 0xD338,
+ 12418: 0xD339,
+ 12419: 0xD33B,
+ 12420: 0xD33C,
+ 12421: 0xD33D,
+ 12422: 0xD344,
+ 12423: 0xD345,
+ 12424: 0xD37C,
+ 12425: 0xD37D,
+ 12426: 0xD380,
+ 12427: 0xD384,
+ 12428: 0xD38C,
+ 12429: 0xD38D,
+ 12430: 0xD38F,
+ 12431: 0xD390,
+ 12432: 0xD391,
+ 12433: 0xD398,
+ 12434: 0xD399,
+ 12435: 0xD39C,
+ 12436: 0xD3A0,
+ 12437: 0xD3A8,
+ 12438: 0xD3A9,
+ 12439: 0xD3AB,
+ 12440: 0xD3AD,
+ 12441: 0xD3B4,
+ 12442: 0xD3B8,
+ 12443: 0xD3BC,
+ 12444: 0xD3C4,
+ 12445: 0xD3C5,
+ 12446: 0xD3C8,
+ 12447: 0xD3C9,
+ 12448: 0xD3D0,
+ 12449: 0xD3D8,
+ 12450: 0xD3E1,
+ 12451: 0xD3E3,
+ 12452: 0xD3EC,
+ 12453: 0xD3ED,
+ 12454: 0xD3F0,
+ 12455: 0xD3F4,
+ 12456: 0xD3FC,
+ 12457: 0xD3FD,
+ 12458: 0xD3FF,
+ 12459: 0xD401,
+ 12460: 0xD408,
+ 12461: 0xD41D,
+ 12462: 0xD440,
+ 12463: 0xD444,
+ 12464: 0xD45C,
+ 12465: 0xD460,
+ 12466: 0xD464,
+ 12467: 0xD46D,
+ 12468: 0xD46F,
+ 12469: 0xD478,
+ 12470: 0xD479,
+ 12471: 0xD47C,
+ 12472: 0xD47F,
+ 12473: 0xD480,
+ 12474: 0xD482,
+ 12475: 0xD488,
+ 12476: 0xD489,
+ 12477: 0xD48B,
+ 12478: 0xD48D,
+ 12479: 0xD494,
+ 12480: 0xD4A9,
+ 12481: 0xD4CC,
+ 12482: 0xD4D0,
+ 12483: 0xD4D4,
+ 12484: 0xD4DC,
+ 12485: 0xD4DF,
+ 12486: 0xD4E8,
+ 12487: 0xD4EC,
+ 12488: 0xD4F0,
+ 12489: 0xD4F8,
+ 12490: 0xD4FB,
+ 12491: 0xD4FD,
+ 12492: 0xD504,
+ 12493: 0xD508,
+ 12494: 0xD50C,
+ 12495: 0xD514,
+ 12496: 0xD515,
+ 12497: 0xD517,
+ 12498: 0xD53C,
+ 12499: 0xD53D,
+ 12500: 0xD540,
+ 12501: 0xD544,
+ 12502: 0xD54C,
+ 12503: 0xD54D,
+ 12504: 0xD54F,
+ 12505: 0xD551,
+ 12506: 0xD558,
+ 12507: 0xD559,
+ 12508: 0xD55C,
+ 12509: 0xD560,
+ 12510: 0xD565,
+ 12511: 0xD568,
+ 12512: 0xD569,
+ 12513: 0xD56B,
+ 12514: 0xD56D,
+ 12515: 0xD574,
+ 12516: 0xD575,
+ 12517: 0xD578,
+ 12518: 0xD57C,
+ 12519: 0xD584,
+ 12520: 0xD585,
+ 12521: 0xD587,
+ 12522: 0xD588,
+ 12523: 0xD589,
+ 12524: 0xD590,
+ 12525: 0xD5A5,
+ 12526: 0xD5C8,
+ 12527: 0xD5C9,
+ 12528: 0xD5CC,
+ 12529: 0xD5D0,
+ 12530: 0xD5D2,
+ 12531: 0xD5D8,
+ 12532: 0xD5D9,
+ 12533: 0xD5DB,
+ 12534: 0xD5DD,
+ 12535: 0xD5E4,
+ 12536: 0xD5E5,
+ 12537: 0xD5E8,
+ 12538: 0xD5EC,
+ 12539: 0xD5F4,
+ 12540: 0xD5F5,
+ 12541: 0xD5F7,
+ 12542: 0xD5F9,
+ 12543: 0xD600,
+ 12544: 0xD601,
+ 12545: 0xD604,
+ 12546: 0xD608,
+ 12547: 0xD610,
+ 12548: 0xD611,
+ 12549: 0xD613,
+ 12550: 0xD614,
+ 12551: 0xD615,
+ 12552: 0xD61C,
+ 12553: 0xD620,
+ 12554: 0xD624,
+ 12555: 0xD62D,
+ 12556: 0xD638,
+ 12557: 0xD639,
+ 12558: 0xD63C,
+ 12559: 0xD640,
+ 12560: 0xD645,
+ 12561: 0xD648,
+ 12562: 0xD649,
+ 12563: 0xD64B,
+ 12564: 0xD64D,
+ 12565: 0xD651,
+ 12566: 0xD654,
+ 12567: 0xD655,
+ 12568: 0xD658,
+ 12569: 0xD65C,
+ 12570: 0xD667,
+ 12571: 0xD669,
+ 12572: 0xD670,
+ 12573: 0xD671,
+ 12574: 0xD674,
+ 12575: 0xD683,
+ 12576: 0xD685,
+ 12577: 0xD68C,
+ 12578: 0xD68D,
+ 12579: 0xD690,
+ 12580: 0xD694,
+ 12581: 0xD69D,
+ 12582: 0xD69F,
+ 12583: 0xD6A1,
+ 12584: 0xD6A8,
+ 12585: 0xD6AC,
+ 12586: 0xD6B0,
+ 12587: 0xD6B9,
+ 12588: 0xD6BB,
+ 12589: 0xD6C4,
+ 12590: 0xD6C5,
+ 12591: 0xD6C8,
+ 12592: 0xD6CC,
+ 12593: 0xD6D1,
+ 12594: 0xD6D4,
+ 12595: 0xD6D7,
+ 12596: 0xD6D9,
+ 12597: 0xD6E0,
+ 12598: 0xD6E4,
+ 12599: 0xD6E8,
+ 12600: 0xD6F0,
+ 12601: 0xD6F5,
+ 12602: 0xD6FC,
+ 12603: 0xD6FD,
+ 12604: 0xD700,
+ 12605: 0xD704,
+ 12606: 0xD711,
+ 12607: 0xD718,
+ 12608: 0xD719,
+ 12609: 0xD71C,
+ 12610: 0xD720,
+ 12611: 0xD728,
+ 12612: 0xD729,
+ 12613: 0xD72B,
+ 12614: 0xD72D,
+ 12615: 0xD734,
+ 12616: 0xD735,
+ 12617: 0xD738,
+ 12618: 0xD73C,
+ 12619: 0xD744,
+ 12620: 0xD747,
+ 12621: 0xD749,
+ 12622: 0xD750,
+ 12623: 0xD751,
+ 12624: 0xD754,
+ 12625: 0xD756,
+ 12626: 0xD757,
+ 12627: 0xD758,
+ 12628: 0xD759,
+ 12629: 0xD760,
+ 12630: 0xD761,
+ 12631: 0xD763,
+ 12632: 0xD765,
+ 12633: 0xD769,
+ 12634: 0xD76C,
+ 12635: 0xD770,
+ 12636: 0xD774,
+ 12637: 0xD77C,
+ 12638: 0xD77D,
+ 12639: 0xD781,
+ 12640: 0xD788,
+ 12641: 0xD789,
+ 12642: 0xD78C,
+ 12643: 0xD790,
+ 12644: 0xD798,
+ 12645: 0xD799,
+ 12646: 0xD79B,
+ 12647: 0xD79D,
+ 12742: 0x4F3D,
+ 12743: 0x4F73,
+ 12744: 0x5047,
+ 12745: 0x50F9,
+ 12746: 0x52A0,
+ 12747: 0x53EF,
+ 12748: 0x5475,
+ 12749: 0x54E5,
+ 12750: 0x5609,
+ 12751: 0x5AC1,
+ 12752: 0x5BB6,
+ 12753: 0x6687,
+ 12754: 0x67B6,
+ 12755: 0x67B7,
+ 12756: 0x67EF,
+ 12757: 0x6B4C,
+ 12758: 0x73C2,
+ 12759: 0x75C2,
+ 12760: 0x7A3C,
+ 12761: 0x82DB,
+ 12762: 0x8304,
+ 12763: 0x8857,
+ 12764: 0x8888,
+ 12765: 0x8A36,
+ 12766: 0x8CC8,
+ 12767: 0x8DCF,
+ 12768: 0x8EFB,
+ 12769: 0x8FE6,
+ 12770: 0x99D5,
+ 12771: 0x523B,
+ 12772: 0x5374,
+ 12773: 0x5404,
+ 12774: 0x606A,
+ 12775: 0x6164,
+ 12776: 0x6BBC,
+ 12777: 0x73CF,
+ 12778: 0x811A,
+ 12779: 0x89BA,
+ 12780: 0x89D2,
+ 12781: 0x95A3,
+ 12782: 0x4F83,
+ 12783: 0x520A,
+ 12784: 0x58BE,
+ 12785: 0x5978,
+ 12786: 0x59E6,
+ 12787: 0x5E72,
+ 12788: 0x5E79,
+ 12789: 0x61C7,
+ 12790: 0x63C0,
+ 12791: 0x6746,
+ 12792: 0x67EC,
+ 12793: 0x687F,
+ 12794: 0x6F97,
+ 12795: 0x764E,
+ 12796: 0x770B,
+ 12797: 0x78F5,
+ 12798: 0x7A08,
+ 12799: 0x7AFF,
+ 12800: 0x7C21,
+ 12801: 0x809D,
+ 12802: 0x826E,
+ 12803: 0x8271,
+ 12804: 0x8AEB,
+ 12805: 0x9593,
+ 12806: 0x4E6B,
+ 12807: 0x559D,
+ 12808: 0x66F7,
+ 12809: 0x6E34,
+ 12810: 0x78A3,
+ 12811: 0x7AED,
+ 12812: 0x845B,
+ 12813: 0x8910,
+ 12814: 0x874E,
+ 12815: 0x97A8,
+ 12816: 0x52D8,
+ 12817: 0x574E,
+ 12818: 0x582A,
+ 12819: 0x5D4C,
+ 12820: 0x611F,
+ 12821: 0x61BE,
+ 12822: 0x6221,
+ 12823: 0x6562,
+ 12824: 0x67D1,
+ 12825: 0x6A44,
+ 12826: 0x6E1B,
+ 12827: 0x7518,
+ 12828: 0x75B3,
+ 12829: 0x76E3,
+ 12830: 0x77B0,
+ 12831: 0x7D3A,
+ 12832: 0x90AF,
+ 12833: 0x9451,
+ 12834: 0x9452,
+ 12835: 0x9F95,
+ 12836: 0x5323,
+ 12837: 0x5CAC,
+ 12838: 0x7532,
+ 12839: 0x80DB,
+ 12840: 0x9240,
+ 12841: 0x9598,
+ 12842: 0x525B,
+ 12843: 0x5808,
+ 12844: 0x59DC,
+ 12845: 0x5CA1,
+ 12846: 0x5D17,
+ 12847: 0x5EB7,
+ 12848: 0x5F3A,
+ 12849: 0x5F4A,
+ 12850: 0x6177,
+ 12851: 0x6C5F,
+ 12852: 0x757A,
+ 12853: 0x7586,
+ 12854: 0x7CE0,
+ 12855: 0x7D73,
+ 12856: 0x7DB1,
+ 12857: 0x7F8C,
+ 12858: 0x8154,
+ 12859: 0x8221,
+ 12860: 0x8591,
+ 12861: 0x8941,
+ 12862: 0x8B1B,
+ 12863: 0x92FC,
+ 12864: 0x964D,
+ 12865: 0x9C47,
+ 12866: 0x4ECB,
+ 12867: 0x4EF7,
+ 12868: 0x500B,
+ 12869: 0x51F1,
+ 12870: 0x584F,
+ 12871: 0x6137,
+ 12872: 0x613E,
+ 12873: 0x6168,
+ 12874: 0x6539,
+ 12875: 0x69EA,
+ 12876: 0x6F11,
+ 12877: 0x75A5,
+ 12878: 0x7686,
+ 12879: 0x76D6,
+ 12880: 0x7B87,
+ 12881: 0x82A5,
+ 12882: 0x84CB,
+ 12883: 0xF900,
+ 12884: 0x93A7,
+ 12885: 0x958B,
+ 12886: 0x5580,
+ 12887: 0x5BA2,
+ 12888: 0x5751,
+ 12889: 0xF901,
+ 12890: 0x7CB3,
+ 12891: 0x7FB9,
+ 12892: 0x91B5,
+ 12893: 0x5028,
+ 12894: 0x53BB,
+ 12895: 0x5C45,
+ 12896: 0x5DE8,
+ 12897: 0x62D2,
+ 12898: 0x636E,
+ 12899: 0x64DA,
+ 12900: 0x64E7,
+ 12901: 0x6E20,
+ 12902: 0x70AC,
+ 12903: 0x795B,
+ 12904: 0x8DDD,
+ 12905: 0x8E1E,
+ 12906: 0xF902,
+ 12907: 0x907D,
+ 12908: 0x9245,
+ 12909: 0x92F8,
+ 12910: 0x4E7E,
+ 12911: 0x4EF6,
+ 12912: 0x5065,
+ 12913: 0x5DFE,
+ 12914: 0x5EFA,
+ 12915: 0x6106,
+ 12916: 0x6957,
+ 12917: 0x8171,
+ 12918: 0x8654,
+ 12919: 0x8E47,
+ 12920: 0x9375,
+ 12921: 0x9A2B,
+ 12922: 0x4E5E,
+ 12923: 0x5091,
+ 12924: 0x6770,
+ 12925: 0x6840,
+ 12926: 0x5109,
+ 12927: 0x528D,
+ 12928: 0x5292,
+ 12929: 0x6AA2,
+ 12930: 0x77BC,
+ 12931: 0x9210,
+ 12932: 0x9ED4,
+ 12933: 0x52AB,
+ 12934: 0x602F,
+ 12935: 0x8FF2,
+ 12936: 0x5048,
+ 12937: 0x61A9,
+ 12938: 0x63ED,
+ 12939: 0x64CA,
+ 12940: 0x683C,
+ 12941: 0x6A84,
+ 12942: 0x6FC0,
+ 12943: 0x8188,
+ 12944: 0x89A1,
+ 12945: 0x9694,
+ 12946: 0x5805,
+ 12947: 0x727D,
+ 12948: 0x72AC,
+ 12949: 0x7504,
+ 12950: 0x7D79,
+ 12951: 0x7E6D,
+ 12952: 0x80A9,
+ 12953: 0x898B,
+ 12954: 0x8B74,
+ 12955: 0x9063,
+ 12956: 0x9D51,
+ 12957: 0x6289,
+ 12958: 0x6C7A,
+ 12959: 0x6F54,
+ 12960: 0x7D50,
+ 12961: 0x7F3A,
+ 12962: 0x8A23,
+ 12963: 0x517C,
+ 12964: 0x614A,
+ 12965: 0x7B9D,
+ 12966: 0x8B19,
+ 12967: 0x9257,
+ 12968: 0x938C,
+ 12969: 0x4EAC,
+ 12970: 0x4FD3,
+ 12971: 0x501E,
+ 12972: 0x50BE,
+ 12973: 0x5106,
+ 12974: 0x52C1,
+ 12975: 0x52CD,
+ 12976: 0x537F,
+ 12977: 0x5770,
+ 12978: 0x5883,
+ 12979: 0x5E9A,
+ 12980: 0x5F91,
+ 12981: 0x6176,
+ 12982: 0x61AC,
+ 12983: 0x64CE,
+ 12984: 0x656C,
+ 12985: 0x666F,
+ 12986: 0x66BB,
+ 12987: 0x66F4,
+ 12988: 0x6897,
+ 12989: 0x6D87,
+ 12990: 0x7085,
+ 12991: 0x70F1,
+ 12992: 0x749F,
+ 12993: 0x74A5,
+ 12994: 0x74CA,
+ 12995: 0x75D9,
+ 12996: 0x786C,
+ 12997: 0x78EC,
+ 12998: 0x7ADF,
+ 12999: 0x7AF6,
+ 13000: 0x7D45,
+ 13001: 0x7D93,
+ 13002: 0x8015,
+ 13003: 0x803F,
+ 13004: 0x811B,
+ 13005: 0x8396,
+ 13006: 0x8B66,
+ 13007: 0x8F15,
+ 13008: 0x9015,
+ 13009: 0x93E1,
+ 13010: 0x9803,
+ 13011: 0x9838,
+ 13012: 0x9A5A,
+ 13013: 0x9BE8,
+ 13014: 0x4FC2,
+ 13015: 0x5553,
+ 13016: 0x583A,
+ 13017: 0x5951,
+ 13018: 0x5B63,
+ 13019: 0x5C46,
+ 13020: 0x60B8,
+ 13021: 0x6212,
+ 13022: 0x6842,
+ 13023: 0x68B0,
+ 13024: 0x68E8,
+ 13025: 0x6EAA,
+ 13026: 0x754C,
+ 13027: 0x7678,
+ 13028: 0x78CE,
+ 13029: 0x7A3D,
+ 13030: 0x7CFB,
+ 13031: 0x7E6B,
+ 13032: 0x7E7C,
+ 13033: 0x8A08,
+ 13034: 0x8AA1,
+ 13035: 0x8C3F,
+ 13036: 0x968E,
+ 13037: 0x9DC4,
+ 13038: 0x53E4,
+ 13039: 0x53E9,
+ 13040: 0x544A,
+ 13041: 0x5471,
+ 13042: 0x56FA,
+ 13043: 0x59D1,
+ 13044: 0x5B64,
+ 13045: 0x5C3B,
+ 13046: 0x5EAB,
+ 13047: 0x62F7,
+ 13048: 0x6537,
+ 13049: 0x6545,
+ 13050: 0x6572,
+ 13051: 0x66A0,
+ 13052: 0x67AF,
+ 13053: 0x69C1,
+ 13054: 0x6CBD,
+ 13055: 0x75FC,
+ 13056: 0x7690,
+ 13057: 0x777E,
+ 13058: 0x7A3F,
+ 13059: 0x7F94,
+ 13060: 0x8003,
+ 13061: 0x80A1,
+ 13062: 0x818F,
+ 13063: 0x82E6,
+ 13064: 0x82FD,
+ 13065: 0x83F0,
+ 13066: 0x85C1,
+ 13067: 0x8831,
+ 13068: 0x88B4,
+ 13069: 0x8AA5,
+ 13070: 0xF903,
+ 13071: 0x8F9C,
+ 13072: 0x932E,
+ 13073: 0x96C7,
+ 13074: 0x9867,
+ 13075: 0x9AD8,
+ 13076: 0x9F13,
+ 13077: 0x54ED,
+ 13078: 0x659B,
+ 13079: 0x66F2,
+ 13080: 0x688F,
+ 13081: 0x7A40,
+ 13082: 0x8C37,
+ 13083: 0x9D60,
+ 13084: 0x56F0,
+ 13085: 0x5764,
+ 13086: 0x5D11,
+ 13087: 0x6606,
+ 13088: 0x68B1,
+ 13089: 0x68CD,
+ 13090: 0x6EFE,
+ 13091: 0x7428,
+ 13092: 0x889E,
+ 13093: 0x9BE4,
+ 13094: 0x6C68,
+ 13095: 0xF904,
+ 13096: 0x9AA8,
+ 13097: 0x4F9B,
+ 13098: 0x516C,
+ 13099: 0x5171,
+ 13100: 0x529F,
+ 13101: 0x5B54,
+ 13102: 0x5DE5,
+ 13103: 0x6050,
+ 13104: 0x606D,
+ 13105: 0x62F1,
+ 13106: 0x63A7,
+ 13107: 0x653B,
+ 13108: 0x73D9,
+ 13109: 0x7A7A,
+ 13110: 0x86A3,
+ 13111: 0x8CA2,
+ 13112: 0x978F,
+ 13113: 0x4E32,
+ 13114: 0x5BE1,
+ 13115: 0x6208,
+ 13116: 0x679C,
+ 13117: 0x74DC,
+ 13118: 0x79D1,
+ 13119: 0x83D3,
+ 13120: 0x8A87,
+ 13121: 0x8AB2,
+ 13122: 0x8DE8,
+ 13123: 0x904E,
+ 13124: 0x934B,
+ 13125: 0x9846,
+ 13126: 0x5ED3,
+ 13127: 0x69E8,
+ 13128: 0x85FF,
+ 13129: 0x90ED,
+ 13130: 0xF905,
+ 13131: 0x51A0,
+ 13132: 0x5B98,
+ 13133: 0x5BEC,
+ 13134: 0x6163,
+ 13135: 0x68FA,
+ 13136: 0x6B3E,
+ 13137: 0x704C,
+ 13138: 0x742F,
+ 13139: 0x74D8,
+ 13140: 0x7BA1,
+ 13141: 0x7F50,
+ 13142: 0x83C5,
+ 13143: 0x89C0,
+ 13144: 0x8CAB,
+ 13145: 0x95DC,
+ 13146: 0x9928,
+ 13147: 0x522E,
+ 13148: 0x605D,
+ 13149: 0x62EC,
+ 13150: 0x9002,
+ 13151: 0x4F8A,
+ 13152: 0x5149,
+ 13153: 0x5321,
+ 13154: 0x58D9,
+ 13155: 0x5EE3,
+ 13156: 0x66E0,
+ 13157: 0x6D38,
+ 13158: 0x709A,
+ 13159: 0x72C2,
+ 13160: 0x73D6,
+ 13161: 0x7B50,
+ 13162: 0x80F1,
+ 13163: 0x945B,
+ 13164: 0x5366,
+ 13165: 0x639B,
+ 13166: 0x7F6B,
+ 13167: 0x4E56,
+ 13168: 0x5080,
+ 13169: 0x584A,
+ 13170: 0x58DE,
+ 13171: 0x602A,
+ 13172: 0x6127,
+ 13173: 0x62D0,
+ 13174: 0x69D0,
+ 13175: 0x9B41,
+ 13176: 0x5B8F,
+ 13177: 0x7D18,
+ 13178: 0x80B1,
+ 13179: 0x8F5F,
+ 13180: 0x4EA4,
+ 13181: 0x50D1,
+ 13182: 0x54AC,
+ 13183: 0x55AC,
+ 13184: 0x5B0C,
+ 13185: 0x5DA0,
+ 13186: 0x5DE7,
+ 13187: 0x652A,
+ 13188: 0x654E,
+ 13189: 0x6821,
+ 13190: 0x6A4B,
+ 13191: 0x72E1,
+ 13192: 0x768E,
+ 13193: 0x77EF,
+ 13194: 0x7D5E,
+ 13195: 0x7FF9,
+ 13196: 0x81A0,
+ 13197: 0x854E,
+ 13198: 0x86DF,
+ 13199: 0x8F03,
+ 13200: 0x8F4E,
+ 13201: 0x90CA,
+ 13202: 0x9903,
+ 13203: 0x9A55,
+ 13204: 0x9BAB,
+ 13205: 0x4E18,
+ 13206: 0x4E45,
+ 13207: 0x4E5D,
+ 13208: 0x4EC7,
+ 13209: 0x4FF1,
+ 13210: 0x5177,
+ 13211: 0x52FE,
+ 13212: 0x5340,
+ 13213: 0x53E3,
+ 13214: 0x53E5,
+ 13215: 0x548E,
+ 13216: 0x5614,
+ 13217: 0x5775,
+ 13218: 0x57A2,
+ 13219: 0x5BC7,
+ 13220: 0x5D87,
+ 13221: 0x5ED0,
+ 13222: 0x61FC,
+ 13223: 0x62D8,
+ 13224: 0x6551,
+ 13225: 0x67B8,
+ 13226: 0x67E9,
+ 13227: 0x69CB,
+ 13228: 0x6B50,
+ 13229: 0x6BC6,
+ 13230: 0x6BEC,
+ 13231: 0x6C42,
+ 13232: 0x6E9D,
+ 13233: 0x7078,
+ 13234: 0x72D7,
+ 13235: 0x7396,
+ 13236: 0x7403,
+ 13237: 0x77BF,
+ 13238: 0x77E9,
+ 13239: 0x7A76,
+ 13240: 0x7D7F,
+ 13241: 0x8009,
+ 13242: 0x81FC,
+ 13243: 0x8205,
+ 13244: 0x820A,
+ 13245: 0x82DF,
+ 13246: 0x8862,
+ 13247: 0x8B33,
+ 13248: 0x8CFC,
+ 13249: 0x8EC0,
+ 13250: 0x9011,
+ 13251: 0x90B1,
+ 13252: 0x9264,
+ 13253: 0x92B6,
+ 13254: 0x99D2,
+ 13255: 0x9A45,
+ 13256: 0x9CE9,
+ 13257: 0x9DD7,
+ 13258: 0x9F9C,
+ 13259: 0x570B,
+ 13260: 0x5C40,
+ 13261: 0x83CA,
+ 13262: 0x97A0,
+ 13263: 0x97AB,
+ 13264: 0x9EB4,
+ 13265: 0x541B,
+ 13266: 0x7A98,
+ 13267: 0x7FA4,
+ 13268: 0x88D9,
+ 13269: 0x8ECD,
+ 13270: 0x90E1,
+ 13271: 0x5800,
+ 13272: 0x5C48,
+ 13273: 0x6398,
+ 13274: 0x7A9F,
+ 13275: 0x5BAE,
+ 13276: 0x5F13,
+ 13277: 0x7A79,
+ 13278: 0x7AAE,
+ 13279: 0x828E,
+ 13280: 0x8EAC,
+ 13281: 0x5026,
+ 13282: 0x5238,
+ 13283: 0x52F8,
+ 13284: 0x5377,
+ 13285: 0x5708,
+ 13286: 0x62F3,
+ 13287: 0x6372,
+ 13288: 0x6B0A,
+ 13289: 0x6DC3,
+ 13290: 0x7737,
+ 13291: 0x53A5,
+ 13292: 0x7357,
+ 13293: 0x8568,
+ 13294: 0x8E76,
+ 13295: 0x95D5,
+ 13296: 0x673A,
+ 13297: 0x6AC3,
+ 13298: 0x6F70,
+ 13299: 0x8A6D,
+ 13300: 0x8ECC,
+ 13301: 0x994B,
+ 13302: 0xF906,
+ 13303: 0x6677,
+ 13304: 0x6B78,
+ 13305: 0x8CB4,
+ 13306: 0x9B3C,
+ 13307: 0xF907,
+ 13308: 0x53EB,
+ 13309: 0x572D,
+ 13310: 0x594E,
+ 13311: 0x63C6,
+ 13312: 0x69FB,
+ 13313: 0x73EA,
+ 13314: 0x7845,
+ 13315: 0x7ABA,
+ 13316: 0x7AC5,
+ 13317: 0x7CFE,
+ 13318: 0x8475,
+ 13319: 0x898F,
+ 13320: 0x8D73,
+ 13321: 0x9035,
+ 13322: 0x95A8,
+ 13323: 0x52FB,
+ 13324: 0x5747,
+ 13325: 0x7547,
+ 13326: 0x7B60,
+ 13327: 0x83CC,
+ 13328: 0x921E,
+ 13329: 0xF908,
+ 13330: 0x6A58,
+ 13331: 0x514B,
+ 13332: 0x524B,
+ 13333: 0x5287,
+ 13334: 0x621F,
+ 13335: 0x68D8,
+ 13336: 0x6975,
+ 13337: 0x9699,
+ 13338: 0x50C5,
+ 13339: 0x52A4,
+ 13340: 0x52E4,
+ 13341: 0x61C3,
+ 13342: 0x65A4,
+ 13343: 0x6839,
+ 13344: 0x69FF,
+ 13345: 0x747E,
+ 13346: 0x7B4B,
+ 13347: 0x82B9,
+ 13348: 0x83EB,
+ 13349: 0x89B2,
+ 13350: 0x8B39,
+ 13351: 0x8FD1,
+ 13352: 0x9949,
+ 13353: 0xF909,
+ 13354: 0x4ECA,
+ 13355: 0x5997,
+ 13356: 0x64D2,
+ 13357: 0x6611,
+ 13358: 0x6A8E,
+ 13359: 0x7434,
+ 13360: 0x7981,
+ 13361: 0x79BD,
+ 13362: 0x82A9,
+ 13363: 0x887E,
+ 13364: 0x887F,
+ 13365: 0x895F,
+ 13366: 0xF90A,
+ 13367: 0x9326,
+ 13368: 0x4F0B,
+ 13369: 0x53CA,
+ 13370: 0x6025,
+ 13371: 0x6271,
+ 13372: 0x6C72,
+ 13373: 0x7D1A,
+ 13374: 0x7D66,
+ 13375: 0x4E98,
+ 13376: 0x5162,
+ 13377: 0x77DC,
+ 13378: 0x80AF,
+ 13379: 0x4F01,
+ 13380: 0x4F0E,
+ 13381: 0x5176,
+ 13382: 0x5180,
+ 13383: 0x55DC,
+ 13384: 0x5668,
+ 13385: 0x573B,
+ 13386: 0x57FA,
+ 13387: 0x57FC,
+ 13388: 0x5914,
+ 13389: 0x5947,
+ 13390: 0x5993,
+ 13391: 0x5BC4,
+ 13392: 0x5C90,
+ 13393: 0x5D0E,
+ 13394: 0x5DF1,
+ 13395: 0x5E7E,
+ 13396: 0x5FCC,
+ 13397: 0x6280,
+ 13398: 0x65D7,
+ 13399: 0x65E3,
+ 13400: 0x671E,
+ 13401: 0x671F,
+ 13402: 0x675E,
+ 13403: 0x68CB,
+ 13404: 0x68C4,
+ 13405: 0x6A5F,
+ 13406: 0x6B3A,
+ 13407: 0x6C23,
+ 13408: 0x6C7D,
+ 13409: 0x6C82,
+ 13410: 0x6DC7,
+ 13411: 0x7398,
+ 13412: 0x7426,
+ 13413: 0x742A,
+ 13414: 0x7482,
+ 13415: 0x74A3,
+ 13416: 0x7578,
+ 13417: 0x757F,
+ 13418: 0x7881,
+ 13419: 0x78EF,
+ 13420: 0x7941,
+ 13421: 0x7947,
+ 13422: 0x7948,
+ 13423: 0x797A,
+ 13424: 0x7B95,
+ 13425: 0x7D00,
+ 13426: 0x7DBA,
+ 13427: 0x7F88,
+ 13428: 0x8006,
+ 13429: 0x802D,
+ 13430: 0x808C,
+ 13431: 0x8A18,
+ 13432: 0x8B4F,
+ 13433: 0x8C48,
+ 13434: 0x8D77,
+ 13435: 0x9321,
+ 13436: 0x9324,
+ 13437: 0x98E2,
+ 13438: 0x9951,
+ 13439: 0x9A0E,
+ 13440: 0x9A0F,
+ 13441: 0x9A65,
+ 13442: 0x9E92,
+ 13443: 0x7DCA,
+ 13444: 0x4F76,
+ 13445: 0x5409,
+ 13446: 0x62EE,
+ 13447: 0x6854,
+ 13448: 0x91D1,
+ 13449: 0x55AB,
+ 13450: 0x513A,
+ 13451: 0xF90B,
+ 13452: 0xF90C,
+ 13453: 0x5A1C,
+ 13454: 0x61E6,
+ 13455: 0xF90D,
+ 13456: 0x62CF,
+ 13457: 0x62FF,
+ 13458: 0xF90E,
+ 13459: 0xF90F,
+ 13460: 0xF910,
+ 13461: 0xF911,
+ 13462: 0xF912,
+ 13463: 0xF913,
+ 13464: 0x90A3,
+ 13465: 0xF914,
+ 13466: 0xF915,
+ 13467: 0xF916,
+ 13468: 0xF917,
+ 13469: 0xF918,
+ 13470: 0x8AFE,
+ 13471: 0xF919,
+ 13472: 0xF91A,
+ 13473: 0xF91B,
+ 13474: 0xF91C,
+ 13475: 0x6696,
+ 13476: 0xF91D,
+ 13477: 0x7156,
+ 13478: 0xF91E,
+ 13479: 0xF91F,
+ 13480: 0x96E3,
+ 13481: 0xF920,
+ 13482: 0x634F,
+ 13483: 0x637A,
+ 13484: 0x5357,
+ 13485: 0xF921,
+ 13486: 0x678F,
+ 13487: 0x6960,
+ 13488: 0x6E73,
+ 13489: 0xF922,
+ 13490: 0x7537,
+ 13491: 0xF923,
+ 13492: 0xF924,
+ 13493: 0xF925,
+ 13494: 0x7D0D,
+ 13495: 0xF926,
+ 13496: 0xF927,
+ 13497: 0x8872,
+ 13498: 0x56CA,
+ 13499: 0x5A18,
+ 13500: 0xF928,
+ 13501: 0xF929,
+ 13502: 0xF92A,
+ 13503: 0xF92B,
+ 13504: 0xF92C,
+ 13505: 0x4E43,
+ 13506: 0xF92D,
+ 13507: 0x5167,
+ 13508: 0x5948,
+ 13509: 0x67F0,
+ 13510: 0x8010,
+ 13511: 0xF92E,
+ 13512: 0x5973,
+ 13513: 0x5E74,
+ 13514: 0x649A,
+ 13515: 0x79CA,
+ 13516: 0x5FF5,
+ 13517: 0x606C,
+ 13518: 0x62C8,
+ 13519: 0x637B,
+ 13520: 0x5BE7,
+ 13521: 0x5BD7,
+ 13522: 0x52AA,
+ 13523: 0xF92F,
+ 13524: 0x5974,
+ 13525: 0x5F29,
+ 13526: 0x6012,
+ 13527: 0xF930,
+ 13528: 0xF931,
+ 13529: 0xF932,
+ 13530: 0x7459,
+ 13531: 0xF933,
+ 13532: 0xF934,
+ 13533: 0xF935,
+ 13534: 0xF936,
+ 13535: 0xF937,
+ 13536: 0xF938,
+ 13537: 0x99D1,
+ 13538: 0xF939,
+ 13539: 0xF93A,
+ 13540: 0xF93B,
+ 13541: 0xF93C,
+ 13542: 0xF93D,
+ 13543: 0xF93E,
+ 13544: 0xF93F,
+ 13545: 0xF940,
+ 13546: 0xF941,
+ 13547: 0xF942,
+ 13548: 0xF943,
+ 13549: 0x6FC3,
+ 13550: 0xF944,
+ 13551: 0xF945,
+ 13552: 0x81BF,
+ 13553: 0x8FB2,
+ 13554: 0x60F1,
+ 13555: 0xF946,
+ 13556: 0xF947,
+ 13557: 0x8166,
+ 13558: 0xF948,
+ 13559: 0xF949,
+ 13560: 0x5C3F,
+ 13561: 0xF94A,
+ 13562: 0xF94B,
+ 13563: 0xF94C,
+ 13564: 0xF94D,
+ 13565: 0xF94E,
+ 13566: 0xF94F,
+ 13567: 0xF950,
+ 13568: 0xF951,
+ 13569: 0x5AE9,
+ 13570: 0x8A25,
+ 13571: 0x677B,
+ 13572: 0x7D10,
+ 13573: 0xF952,
+ 13574: 0xF953,
+ 13575: 0xF954,
+ 13576: 0xF955,
+ 13577: 0xF956,
+ 13578: 0xF957,
+ 13579: 0x80FD,
+ 13580: 0xF958,
+ 13581: 0xF959,
+ 13582: 0x5C3C,
+ 13583: 0x6CE5,
+ 13584: 0x533F,
+ 13585: 0x6EBA,
+ 13586: 0x591A,
+ 13587: 0x8336,
+ 13588: 0x4E39,
+ 13589: 0x4EB6,
+ 13590: 0x4F46,
+ 13591: 0x55AE,
+ 13592: 0x5718,
+ 13593: 0x58C7,
+ 13594: 0x5F56,
+ 13595: 0x65B7,
+ 13596: 0x65E6,
+ 13597: 0x6A80,
+ 13598: 0x6BB5,
+ 13599: 0x6E4D,
+ 13600: 0x77ED,
+ 13601: 0x7AEF,
+ 13602: 0x7C1E,
+ 13603: 0x7DDE,
+ 13604: 0x86CB,
+ 13605: 0x8892,
+ 13606: 0x9132,
+ 13607: 0x935B,
+ 13608: 0x64BB,
+ 13609: 0x6FBE,
+ 13610: 0x737A,
+ 13611: 0x75B8,
+ 13612: 0x9054,
+ 13613: 0x5556,
+ 13614: 0x574D,
+ 13615: 0x61BA,
+ 13616: 0x64D4,
+ 13617: 0x66C7,
+ 13618: 0x6DE1,
+ 13619: 0x6E5B,
+ 13620: 0x6F6D,
+ 13621: 0x6FB9,
+ 13622: 0x75F0,
+ 13623: 0x8043,
+ 13624: 0x81BD,
+ 13625: 0x8541,
+ 13626: 0x8983,
+ 13627: 0x8AC7,
+ 13628: 0x8B5A,
+ 13629: 0x931F,
+ 13630: 0x6C93,
+ 13631: 0x7553,
+ 13632: 0x7B54,
+ 13633: 0x8E0F,
+ 13634: 0x905D,
+ 13635: 0x5510,
+ 13636: 0x5802,
+ 13637: 0x5858,
+ 13638: 0x5E62,
+ 13639: 0x6207,
+ 13640: 0x649E,
+ 13641: 0x68E0,
+ 13642: 0x7576,
+ 13643: 0x7CD6,
+ 13644: 0x87B3,
+ 13645: 0x9EE8,
+ 13646: 0x4EE3,
+ 13647: 0x5788,
+ 13648: 0x576E,
+ 13649: 0x5927,
+ 13650: 0x5C0D,
+ 13651: 0x5CB1,
+ 13652: 0x5E36,
+ 13653: 0x5F85,
+ 13654: 0x6234,
+ 13655: 0x64E1,
+ 13656: 0x73B3,
+ 13657: 0x81FA,
+ 13658: 0x888B,
+ 13659: 0x8CB8,
+ 13660: 0x968A,
+ 13661: 0x9EDB,
+ 13662: 0x5B85,
+ 13663: 0x5FB7,
+ 13664: 0x60B3,
+ 13665: 0x5012,
+ 13666: 0x5200,
+ 13667: 0x5230,
+ 13668: 0x5716,
+ 13669: 0x5835,
+ 13670: 0x5857,
+ 13671: 0x5C0E,
+ 13672: 0x5C60,
+ 13673: 0x5CF6,
+ 13674: 0x5D8B,
+ 13675: 0x5EA6,
+ 13676: 0x5F92,
+ 13677: 0x60BC,
+ 13678: 0x6311,
+ 13679: 0x6389,
+ 13680: 0x6417,
+ 13681: 0x6843,
+ 13682: 0x68F9,
+ 13683: 0x6AC2,
+ 13684: 0x6DD8,
+ 13685: 0x6E21,
+ 13686: 0x6ED4,
+ 13687: 0x6FE4,
+ 13688: 0x71FE,
+ 13689: 0x76DC,
+ 13690: 0x7779,
+ 13691: 0x79B1,
+ 13692: 0x7A3B,
+ 13693: 0x8404,
+ 13694: 0x89A9,
+ 13695: 0x8CED,
+ 13696: 0x8DF3,
+ 13697: 0x8E48,
+ 13698: 0x9003,
+ 13699: 0x9014,
+ 13700: 0x9053,
+ 13701: 0x90FD,
+ 13702: 0x934D,
+ 13703: 0x9676,
+ 13704: 0x97DC,
+ 13705: 0x6BD2,
+ 13706: 0x7006,
+ 13707: 0x7258,
+ 13708: 0x72A2,
+ 13709: 0x7368,
+ 13710: 0x7763,
+ 13711: 0x79BF,
+ 13712: 0x7BE4,
+ 13713: 0x7E9B,
+ 13714: 0x8B80,
+ 13715: 0x58A9,
+ 13716: 0x60C7,
+ 13717: 0x6566,
+ 13718: 0x65FD,
+ 13719: 0x66BE,
+ 13720: 0x6C8C,
+ 13721: 0x711E,
+ 13722: 0x71C9,
+ 13723: 0x8C5A,
+ 13724: 0x9813,
+ 13725: 0x4E6D,
+ 13726: 0x7A81,
+ 13727: 0x4EDD,
+ 13728: 0x51AC,
+ 13729: 0x51CD,
+ 13730: 0x52D5,
+ 13731: 0x540C,
+ 13732: 0x61A7,
+ 13733: 0x6771,
+ 13734: 0x6850,
+ 13735: 0x68DF,
+ 13736: 0x6D1E,
+ 13737: 0x6F7C,
+ 13738: 0x75BC,
+ 13739: 0x77B3,
+ 13740: 0x7AE5,
+ 13741: 0x80F4,
+ 13742: 0x8463,
+ 13743: 0x9285,
+ 13744: 0x515C,
+ 13745: 0x6597,
+ 13746: 0x675C,
+ 13747: 0x6793,
+ 13748: 0x75D8,
+ 13749: 0x7AC7,
+ 13750: 0x8373,
+ 13751: 0xF95A,
+ 13752: 0x8C46,
+ 13753: 0x9017,
+ 13754: 0x982D,
+ 13755: 0x5C6F,
+ 13756: 0x81C0,
+ 13757: 0x829A,
+ 13758: 0x9041,
+ 13759: 0x906F,
+ 13760: 0x920D,
+ 13761: 0x5F97,
+ 13762: 0x5D9D,
+ 13763: 0x6A59,
+ 13764: 0x71C8,
+ 13765: 0x767B,
+ 13766: 0x7B49,
+ 13767: 0x85E4,
+ 13768: 0x8B04,
+ 13769: 0x9127,
+ 13770: 0x9A30,
+ 13771: 0x5587,
+ 13772: 0x61F6,
+ 13773: 0xF95B,
+ 13774: 0x7669,
+ 13775: 0x7F85,
+ 13776: 0x863F,
+ 13777: 0x87BA,
+ 13778: 0x88F8,
+ 13779: 0x908F,
+ 13780: 0xF95C,
+ 13781: 0x6D1B,
+ 13782: 0x70D9,
+ 13783: 0x73DE,
+ 13784: 0x7D61,
+ 13785: 0x843D,
+ 13786: 0xF95D,
+ 13787: 0x916A,
+ 13788: 0x99F1,
+ 13789: 0xF95E,
+ 13790: 0x4E82,
+ 13791: 0x5375,
+ 13792: 0x6B04,
+ 13793: 0x6B12,
+ 13794: 0x703E,
+ 13795: 0x721B,
+ 13796: 0x862D,
+ 13797: 0x9E1E,
+ 13798: 0x524C,
+ 13799: 0x8FA3,
+ 13800: 0x5D50,
+ 13801: 0x64E5,
+ 13802: 0x652C,
+ 13803: 0x6B16,
+ 13804: 0x6FEB,
+ 13805: 0x7C43,
+ 13806: 0x7E9C,
+ 13807: 0x85CD,
+ 13808: 0x8964,
+ 13809: 0x89BD,
+ 13810: 0x62C9,
+ 13811: 0x81D8,
+ 13812: 0x881F,
+ 13813: 0x5ECA,
+ 13814: 0x6717,
+ 13815: 0x6D6A,
+ 13816: 0x72FC,
+ 13817: 0x7405,
+ 13818: 0x746F,
+ 13819: 0x8782,
+ 13820: 0x90DE,
+ 13821: 0x4F86,
+ 13822: 0x5D0D,
+ 13823: 0x5FA0,
+ 13824: 0x840A,
+ 13825: 0x51B7,
+ 13826: 0x63A0,
+ 13827: 0x7565,
+ 13828: 0x4EAE,
+ 13829: 0x5006,
+ 13830: 0x5169,
+ 13831: 0x51C9,
+ 13832: 0x6881,
+ 13833: 0x6A11,
+ 13834: 0x7CAE,
+ 13835: 0x7CB1,
+ 13836: 0x7CE7,
+ 13837: 0x826F,
+ 13838: 0x8AD2,
+ 13839: 0x8F1B,
+ 13840: 0x91CF,
+ 13841: 0x4FB6,
+ 13842: 0x5137,
+ 13843: 0x52F5,
+ 13844: 0x5442,
+ 13845: 0x5EEC,
+ 13846: 0x616E,
+ 13847: 0x623E,
+ 13848: 0x65C5,
+ 13849: 0x6ADA,
+ 13850: 0x6FFE,
+ 13851: 0x792A,
+ 13852: 0x85DC,
+ 13853: 0x8823,
+ 13854: 0x95AD,
+ 13855: 0x9A62,
+ 13856: 0x9A6A,
+ 13857: 0x9E97,
+ 13858: 0x9ECE,
+ 13859: 0x529B,
+ 13860: 0x66C6,
+ 13861: 0x6B77,
+ 13862: 0x701D,
+ 13863: 0x792B,
+ 13864: 0x8F62,
+ 13865: 0x9742,
+ 13866: 0x6190,
+ 13867: 0x6200,
+ 13868: 0x6523,
+ 13869: 0x6F23,
+ 13870: 0x7149,
+ 13871: 0x7489,
+ 13872: 0x7DF4,
+ 13873: 0x806F,
+ 13874: 0x84EE,
+ 13875: 0x8F26,
+ 13876: 0x9023,
+ 13877: 0x934A,
+ 13878: 0x51BD,
+ 13879: 0x5217,
+ 13880: 0x52A3,
+ 13881: 0x6D0C,
+ 13882: 0x70C8,
+ 13883: 0x88C2,
+ 13884: 0x5EC9,
+ 13885: 0x6582,
+ 13886: 0x6BAE,
+ 13887: 0x6FC2,
+ 13888: 0x7C3E,
+ 13889: 0x7375,
+ 13890: 0x4EE4,
+ 13891: 0x4F36,
+ 13892: 0x56F9,
+ 13893: 0xF95F,
+ 13894: 0x5CBA,
+ 13895: 0x5DBA,
+ 13896: 0x601C,
+ 13897: 0x73B2,
+ 13898: 0x7B2D,
+ 13899: 0x7F9A,
+ 13900: 0x7FCE,
+ 13901: 0x8046,
+ 13902: 0x901E,
+ 13903: 0x9234,
+ 13904: 0x96F6,
+ 13905: 0x9748,
+ 13906: 0x9818,
+ 13907: 0x9F61,
+ 13908: 0x4F8B,
+ 13909: 0x6FA7,
+ 13910: 0x79AE,
+ 13911: 0x91B4,
+ 13912: 0x96B7,
+ 13913: 0x52DE,
+ 13914: 0xF960,
+ 13915: 0x6488,
+ 13916: 0x64C4,
+ 13917: 0x6AD3,
+ 13918: 0x6F5E,
+ 13919: 0x7018,
+ 13920: 0x7210,
+ 13921: 0x76E7,
+ 13922: 0x8001,
+ 13923: 0x8606,
+ 13924: 0x865C,
+ 13925: 0x8DEF,
+ 13926: 0x8F05,
+ 13927: 0x9732,
+ 13928: 0x9B6F,
+ 13929: 0x9DFA,
+ 13930: 0x9E75,
+ 13931: 0x788C,
+ 13932: 0x797F,
+ 13933: 0x7DA0,
+ 13934: 0x83C9,
+ 13935: 0x9304,
+ 13936: 0x9E7F,
+ 13937: 0x9E93,
+ 13938: 0x8AD6,
+ 13939: 0x58DF,
+ 13940: 0x5F04,
+ 13941: 0x6727,
+ 13942: 0x7027,
+ 13943: 0x74CF,
+ 13944: 0x7C60,
+ 13945: 0x807E,
+ 13946: 0x5121,
+ 13947: 0x7028,
+ 13948: 0x7262,
+ 13949: 0x78CA,
+ 13950: 0x8CC2,
+ 13951: 0x8CDA,
+ 13952: 0x8CF4,
+ 13953: 0x96F7,
+ 13954: 0x4E86,
+ 13955: 0x50DA,
+ 13956: 0x5BEE,
+ 13957: 0x5ED6,
+ 13958: 0x6599,
+ 13959: 0x71CE,
+ 13960: 0x7642,
+ 13961: 0x77AD,
+ 13962: 0x804A,
+ 13963: 0x84FC,
+ 13964: 0x907C,
+ 13965: 0x9B27,
+ 13966: 0x9F8D,
+ 13967: 0x58D8,
+ 13968: 0x5A41,
+ 13969: 0x5C62,
+ 13970: 0x6A13,
+ 13971: 0x6DDA,
+ 13972: 0x6F0F,
+ 13973: 0x763B,
+ 13974: 0x7D2F,
+ 13975: 0x7E37,
+ 13976: 0x851E,
+ 13977: 0x8938,
+ 13978: 0x93E4,
+ 13979: 0x964B,
+ 13980: 0x5289,
+ 13981: 0x65D2,
+ 13982: 0x67F3,
+ 13983: 0x69B4,
+ 13984: 0x6D41,
+ 13985: 0x6E9C,
+ 13986: 0x700F,
+ 13987: 0x7409,
+ 13988: 0x7460,
+ 13989: 0x7559,
+ 13990: 0x7624,
+ 13991: 0x786B,
+ 13992: 0x8B2C,
+ 13993: 0x985E,
+ 13994: 0x516D,
+ 13995: 0x622E,
+ 13996: 0x9678,
+ 13997: 0x4F96,
+ 13998: 0x502B,
+ 13999: 0x5D19,
+ 14000: 0x6DEA,
+ 14001: 0x7DB8,
+ 14002: 0x8F2A,
+ 14003: 0x5F8B,
+ 14004: 0x6144,
+ 14005: 0x6817,
+ 14006: 0xF961,
+ 14007: 0x9686,
+ 14008: 0x52D2,
+ 14009: 0x808B,
+ 14010: 0x51DC,
+ 14011: 0x51CC,
+ 14012: 0x695E,
+ 14013: 0x7A1C,
+ 14014: 0x7DBE,
+ 14015: 0x83F1,
+ 14016: 0x9675,
+ 14017: 0x4FDA,
+ 14018: 0x5229,
+ 14019: 0x5398,
+ 14020: 0x540F,
+ 14021: 0x550E,
+ 14022: 0x5C65,
+ 14023: 0x60A7,
+ 14024: 0x674E,
+ 14025: 0x68A8,
+ 14026: 0x6D6C,
+ 14027: 0x7281,
+ 14028: 0x72F8,
+ 14029: 0x7406,
+ 14030: 0x7483,
+ 14031: 0xF962,
+ 14032: 0x75E2,
+ 14033: 0x7C6C,
+ 14034: 0x7F79,
+ 14035: 0x7FB8,
+ 14036: 0x8389,
+ 14037: 0x88CF,
+ 14038: 0x88E1,
+ 14039: 0x91CC,
+ 14040: 0x91D0,
+ 14041: 0x96E2,
+ 14042: 0x9BC9,
+ 14043: 0x541D,
+ 14044: 0x6F7E,
+ 14045: 0x71D0,
+ 14046: 0x7498,
+ 14047: 0x85FA,
+ 14048: 0x8EAA,
+ 14049: 0x96A3,
+ 14050: 0x9C57,
+ 14051: 0x9E9F,
+ 14052: 0x6797,
+ 14053: 0x6DCB,
+ 14054: 0x7433,
+ 14055: 0x81E8,
+ 14056: 0x9716,
+ 14057: 0x782C,
+ 14058: 0x7ACB,
+ 14059: 0x7B20,
+ 14060: 0x7C92,
+ 14061: 0x6469,
+ 14062: 0x746A,
+ 14063: 0x75F2,
+ 14064: 0x78BC,
+ 14065: 0x78E8,
+ 14066: 0x99AC,
+ 14067: 0x9B54,
+ 14068: 0x9EBB,
+ 14069: 0x5BDE,
+ 14070: 0x5E55,
+ 14071: 0x6F20,
+ 14072: 0x819C,
+ 14073: 0x83AB,
+ 14074: 0x9088,
+ 14075: 0x4E07,
+ 14076: 0x534D,
+ 14077: 0x5A29,
+ 14078: 0x5DD2,
+ 14079: 0x5F4E,
+ 14080: 0x6162,
+ 14081: 0x633D,
+ 14082: 0x6669,
+ 14083: 0x66FC,
+ 14084: 0x6EFF,
+ 14085: 0x6F2B,
+ 14086: 0x7063,
+ 14087: 0x779E,
+ 14088: 0x842C,
+ 14089: 0x8513,
+ 14090: 0x883B,
+ 14091: 0x8F13,
+ 14092: 0x9945,
+ 14093: 0x9C3B,
+ 14094: 0x551C,
+ 14095: 0x62B9,
+ 14096: 0x672B,
+ 14097: 0x6CAB,
+ 14098: 0x8309,
+ 14099: 0x896A,
+ 14100: 0x977A,
+ 14101: 0x4EA1,
+ 14102: 0x5984,
+ 14103: 0x5FD8,
+ 14104: 0x5FD9,
+ 14105: 0x671B,
+ 14106: 0x7DB2,
+ 14107: 0x7F54,
+ 14108: 0x8292,
+ 14109: 0x832B,
+ 14110: 0x83BD,
+ 14111: 0x8F1E,
+ 14112: 0x9099,
+ 14113: 0x57CB,
+ 14114: 0x59B9,
+ 14115: 0x5A92,
+ 14116: 0x5BD0,
+ 14117: 0x6627,
+ 14118: 0x679A,
+ 14119: 0x6885,
+ 14120: 0x6BCF,
+ 14121: 0x7164,
+ 14122: 0x7F75,
+ 14123: 0x8CB7,
+ 14124: 0x8CE3,
+ 14125: 0x9081,
+ 14126: 0x9B45,
+ 14127: 0x8108,
+ 14128: 0x8C8A,
+ 14129: 0x964C,
+ 14130: 0x9A40,
+ 14131: 0x9EA5,
+ 14132: 0x5B5F,
+ 14133: 0x6C13,
+ 14134: 0x731B,
+ 14135: 0x76F2,
+ 14136: 0x76DF,
+ 14137: 0x840C,
+ 14138: 0x51AA,
+ 14139: 0x8993,
+ 14140: 0x514D,
+ 14141: 0x5195,
+ 14142: 0x52C9,
+ 14143: 0x68C9,
+ 14144: 0x6C94,
+ 14145: 0x7704,
+ 14146: 0x7720,
+ 14147: 0x7DBF,
+ 14148: 0x7DEC,
+ 14149: 0x9762,
+ 14150: 0x9EB5,
+ 14151: 0x6EC5,
+ 14152: 0x8511,
+ 14153: 0x51A5,
+ 14154: 0x540D,
+ 14155: 0x547D,
+ 14156: 0x660E,
+ 14157: 0x669D,
+ 14158: 0x6927,
+ 14159: 0x6E9F,
+ 14160: 0x76BF,
+ 14161: 0x7791,
+ 14162: 0x8317,
+ 14163: 0x84C2,
+ 14164: 0x879F,
+ 14165: 0x9169,
+ 14166: 0x9298,
+ 14167: 0x9CF4,
+ 14168: 0x8882,
+ 14169: 0x4FAE,
+ 14170: 0x5192,
+ 14171: 0x52DF,
+ 14172: 0x59C6,
+ 14173: 0x5E3D,
+ 14174: 0x6155,
+ 14175: 0x6478,
+ 14176: 0x6479,
+ 14177: 0x66AE,
+ 14178: 0x67D0,
+ 14179: 0x6A21,
+ 14180: 0x6BCD,
+ 14181: 0x6BDB,
+ 14182: 0x725F,
+ 14183: 0x7261,
+ 14184: 0x7441,
+ 14185: 0x7738,
+ 14186: 0x77DB,
+ 14187: 0x8017,
+ 14188: 0x82BC,
+ 14189: 0x8305,
+ 14190: 0x8B00,
+ 14191: 0x8B28,
+ 14192: 0x8C8C,
+ 14193: 0x6728,
+ 14194: 0x6C90,
+ 14195: 0x7267,
+ 14196: 0x76EE,
+ 14197: 0x7766,
+ 14198: 0x7A46,
+ 14199: 0x9DA9,
+ 14200: 0x6B7F,
+ 14201: 0x6C92,
+ 14202: 0x5922,
+ 14203: 0x6726,
+ 14204: 0x8499,
+ 14205: 0x536F,
+ 14206: 0x5893,
+ 14207: 0x5999,
+ 14208: 0x5EDF,
+ 14209: 0x63CF,
+ 14210: 0x6634,
+ 14211: 0x6773,
+ 14212: 0x6E3A,
+ 14213: 0x732B,
+ 14214: 0x7AD7,
+ 14215: 0x82D7,
+ 14216: 0x9328,
+ 14217: 0x52D9,
+ 14218: 0x5DEB,
+ 14219: 0x61AE,
+ 14220: 0x61CB,
+ 14221: 0x620A,
+ 14222: 0x62C7,
+ 14223: 0x64AB,
+ 14224: 0x65E0,
+ 14225: 0x6959,
+ 14226: 0x6B66,
+ 14227: 0x6BCB,
+ 14228: 0x7121,
+ 14229: 0x73F7,
+ 14230: 0x755D,
+ 14231: 0x7E46,
+ 14232: 0x821E,
+ 14233: 0x8302,
+ 14234: 0x856A,
+ 14235: 0x8AA3,
+ 14236: 0x8CBF,
+ 14237: 0x9727,
+ 14238: 0x9D61,
+ 14239: 0x58A8,
+ 14240: 0x9ED8,
+ 14241: 0x5011,
+ 14242: 0x520E,
+ 14243: 0x543B,
+ 14244: 0x554F,
+ 14245: 0x6587,
+ 14246: 0x6C76,
+ 14247: 0x7D0A,
+ 14248: 0x7D0B,
+ 14249: 0x805E,
+ 14250: 0x868A,
+ 14251: 0x9580,
+ 14252: 0x96EF,
+ 14253: 0x52FF,
+ 14254: 0x6C95,
+ 14255: 0x7269,
+ 14256: 0x5473,
+ 14257: 0x5A9A,
+ 14258: 0x5C3E,
+ 14259: 0x5D4B,
+ 14260: 0x5F4C,
+ 14261: 0x5FAE,
+ 14262: 0x672A,
+ 14263: 0x68B6,
+ 14264: 0x6963,
+ 14265: 0x6E3C,
+ 14266: 0x6E44,
+ 14267: 0x7709,
+ 14268: 0x7C73,
+ 14269: 0x7F8E,
+ 14270: 0x8587,
+ 14271: 0x8B0E,
+ 14272: 0x8FF7,
+ 14273: 0x9761,
+ 14274: 0x9EF4,
+ 14275: 0x5CB7,
+ 14276: 0x60B6,
+ 14277: 0x610D,
+ 14278: 0x61AB,
+ 14279: 0x654F,
+ 14280: 0x65FB,
+ 14281: 0x65FC,
+ 14282: 0x6C11,
+ 14283: 0x6CEF,
+ 14284: 0x739F,
+ 14285: 0x73C9,
+ 14286: 0x7DE1,
+ 14287: 0x9594,
+ 14288: 0x5BC6,
+ 14289: 0x871C,
+ 14290: 0x8B10,
+ 14291: 0x525D,
+ 14292: 0x535A,
+ 14293: 0x62CD,
+ 14294: 0x640F,
+ 14295: 0x64B2,
+ 14296: 0x6734,
+ 14297: 0x6A38,
+ 14298: 0x6CCA,
+ 14299: 0x73C0,
+ 14300: 0x749E,
+ 14301: 0x7B94,
+ 14302: 0x7C95,
+ 14303: 0x7E1B,
+ 14304: 0x818A,
+ 14305: 0x8236,
+ 14306: 0x8584,
+ 14307: 0x8FEB,
+ 14308: 0x96F9,
+ 14309: 0x99C1,
+ 14310: 0x4F34,
+ 14311: 0x534A,
+ 14312: 0x53CD,
+ 14313: 0x53DB,
+ 14314: 0x62CC,
+ 14315: 0x642C,
+ 14316: 0x6500,
+ 14317: 0x6591,
+ 14318: 0x69C3,
+ 14319: 0x6CEE,
+ 14320: 0x6F58,
+ 14321: 0x73ED,
+ 14322: 0x7554,
+ 14323: 0x7622,
+ 14324: 0x76E4,
+ 14325: 0x76FC,
+ 14326: 0x78D0,
+ 14327: 0x78FB,
+ 14328: 0x792C,
+ 14329: 0x7D46,
+ 14330: 0x822C,
+ 14331: 0x87E0,
+ 14332: 0x8FD4,
+ 14333: 0x9812,
+ 14334: 0x98EF,
+ 14335: 0x52C3,
+ 14336: 0x62D4,
+ 14337: 0x64A5,
+ 14338: 0x6E24,
+ 14339: 0x6F51,
+ 14340: 0x767C,
+ 14341: 0x8DCB,
+ 14342: 0x91B1,
+ 14343: 0x9262,
+ 14344: 0x9AEE,
+ 14345: 0x9B43,
+ 14346: 0x5023,
+ 14347: 0x508D,
+ 14348: 0x574A,
+ 14349: 0x59A8,
+ 14350: 0x5C28,
+ 14351: 0x5E47,
+ 14352: 0x5F77,
+ 14353: 0x623F,
+ 14354: 0x653E,
+ 14355: 0x65B9,
+ 14356: 0x65C1,
+ 14357: 0x6609,
+ 14358: 0x678B,
+ 14359: 0x699C,
+ 14360: 0x6EC2,
+ 14361: 0x78C5,
+ 14362: 0x7D21,
+ 14363: 0x80AA,
+ 14364: 0x8180,
+ 14365: 0x822B,
+ 14366: 0x82B3,
+ 14367: 0x84A1,
+ 14368: 0x868C,
+ 14369: 0x8A2A,
+ 14370: 0x8B17,
+ 14371: 0x90A6,
+ 14372: 0x9632,
+ 14373: 0x9F90,
+ 14374: 0x500D,
+ 14375: 0x4FF3,
+ 14376: 0xF963,
+ 14377: 0x57F9,
+ 14378: 0x5F98,
+ 14379: 0x62DC,
+ 14380: 0x6392,
+ 14381: 0x676F,
+ 14382: 0x6E43,
+ 14383: 0x7119,
+ 14384: 0x76C3,
+ 14385: 0x80CC,
+ 14386: 0x80DA,
+ 14387: 0x88F4,
+ 14388: 0x88F5,
+ 14389: 0x8919,
+ 14390: 0x8CE0,
+ 14391: 0x8F29,
+ 14392: 0x914D,
+ 14393: 0x966A,
+ 14394: 0x4F2F,
+ 14395: 0x4F70,
+ 14396: 0x5E1B,
+ 14397: 0x67CF,
+ 14398: 0x6822,
+ 14399: 0x767D,
+ 14400: 0x767E,
+ 14401: 0x9B44,
+ 14402: 0x5E61,
+ 14403: 0x6A0A,
+ 14404: 0x7169,
+ 14405: 0x71D4,
+ 14406: 0x756A,
+ 14407: 0xF964,
+ 14408: 0x7E41,
+ 14409: 0x8543,
+ 14410: 0x85E9,
+ 14411: 0x98DC,
+ 14412: 0x4F10,
+ 14413: 0x7B4F,
+ 14414: 0x7F70,
+ 14415: 0x95A5,
+ 14416: 0x51E1,
+ 14417: 0x5E06,
+ 14418: 0x68B5,
+ 14419: 0x6C3E,
+ 14420: 0x6C4E,
+ 14421: 0x6CDB,
+ 14422: 0x72AF,
+ 14423: 0x7BC4,
+ 14424: 0x8303,
+ 14425: 0x6CD5,
+ 14426: 0x743A,
+ 14427: 0x50FB,
+ 14428: 0x5288,
+ 14429: 0x58C1,
+ 14430: 0x64D8,
+ 14431: 0x6A97,
+ 14432: 0x74A7,
+ 14433: 0x7656,
+ 14434: 0x78A7,
+ 14435: 0x8617,
+ 14436: 0x95E2,
+ 14437: 0x9739,
+ 14438: 0xF965,
+ 14439: 0x535E,
+ 14440: 0x5F01,
+ 14441: 0x8B8A,
+ 14442: 0x8FA8,
+ 14443: 0x8FAF,
+ 14444: 0x908A,
+ 14445: 0x5225,
+ 14446: 0x77A5,
+ 14447: 0x9C49,
+ 14448: 0x9F08,
+ 14449: 0x4E19,
+ 14450: 0x5002,
+ 14451: 0x5175,
+ 14452: 0x5C5B,
+ 14453: 0x5E77,
+ 14454: 0x661E,
+ 14455: 0x663A,
+ 14456: 0x67C4,
+ 14457: 0x68C5,
+ 14458: 0x70B3,
+ 14459: 0x7501,
+ 14460: 0x75C5,
+ 14461: 0x79C9,
+ 14462: 0x7ADD,
+ 14463: 0x8F27,
+ 14464: 0x9920,
+ 14465: 0x9A08,
+ 14466: 0x4FDD,
+ 14467: 0x5821,
+ 14468: 0x5831,
+ 14469: 0x5BF6,
+ 14470: 0x666E,
+ 14471: 0x6B65,
+ 14472: 0x6D11,
+ 14473: 0x6E7A,
+ 14474: 0x6F7D,
+ 14475: 0x73E4,
+ 14476: 0x752B,
+ 14477: 0x83E9,
+ 14478: 0x88DC,
+ 14479: 0x8913,
+ 14480: 0x8B5C,
+ 14481: 0x8F14,
+ 14482: 0x4F0F,
+ 14483: 0x50D5,
+ 14484: 0x5310,
+ 14485: 0x535C,
+ 14486: 0x5B93,
+ 14487: 0x5FA9,
+ 14488: 0x670D,
+ 14489: 0x798F,
+ 14490: 0x8179,
+ 14491: 0x832F,
+ 14492: 0x8514,
+ 14493: 0x8907,
+ 14494: 0x8986,
+ 14495: 0x8F39,
+ 14496: 0x8F3B,
+ 14497: 0x99A5,
+ 14498: 0x9C12,
+ 14499: 0x672C,
+ 14500: 0x4E76,
+ 14501: 0x4FF8,
+ 14502: 0x5949,
+ 14503: 0x5C01,
+ 14504: 0x5CEF,
+ 14505: 0x5CF0,
+ 14506: 0x6367,
+ 14507: 0x68D2,
+ 14508: 0x70FD,
+ 14509: 0x71A2,
+ 14510: 0x742B,
+ 14511: 0x7E2B,
+ 14512: 0x84EC,
+ 14513: 0x8702,
+ 14514: 0x9022,
+ 14515: 0x92D2,
+ 14516: 0x9CF3,
+ 14517: 0x4E0D,
+ 14518: 0x4ED8,
+ 14519: 0x4FEF,
+ 14520: 0x5085,
+ 14521: 0x5256,
+ 14522: 0x526F,
+ 14523: 0x5426,
+ 14524: 0x5490,
+ 14525: 0x57E0,
+ 14526: 0x592B,
+ 14527: 0x5A66,
+ 14528: 0x5B5A,
+ 14529: 0x5B75,
+ 14530: 0x5BCC,
+ 14531: 0x5E9C,
+ 14532: 0xF966,
+ 14533: 0x6276,
+ 14534: 0x6577,
+ 14535: 0x65A7,
+ 14536: 0x6D6E,
+ 14537: 0x6EA5,
+ 14538: 0x7236,
+ 14539: 0x7B26,
+ 14540: 0x7C3F,
+ 14541: 0x7F36,
+ 14542: 0x8150,
+ 14543: 0x8151,
+ 14544: 0x819A,
+ 14545: 0x8240,
+ 14546: 0x8299,
+ 14547: 0x83A9,
+ 14548: 0x8A03,
+ 14549: 0x8CA0,
+ 14550: 0x8CE6,
+ 14551: 0x8CFB,
+ 14552: 0x8D74,
+ 14553: 0x8DBA,
+ 14554: 0x90E8,
+ 14555: 0x91DC,
+ 14556: 0x961C,
+ 14557: 0x9644,
+ 14558: 0x99D9,
+ 14559: 0x9CE7,
+ 14560: 0x5317,
+ 14561: 0x5206,
+ 14562: 0x5429,
+ 14563: 0x5674,
+ 14564: 0x58B3,
+ 14565: 0x5954,
+ 14566: 0x596E,
+ 14567: 0x5FFF,
+ 14568: 0x61A4,
+ 14569: 0x626E,
+ 14570: 0x6610,
+ 14571: 0x6C7E,
+ 14572: 0x711A,
+ 14573: 0x76C6,
+ 14574: 0x7C89,
+ 14575: 0x7CDE,
+ 14576: 0x7D1B,
+ 14577: 0x82AC,
+ 14578: 0x8CC1,
+ 14579: 0x96F0,
+ 14580: 0xF967,
+ 14581: 0x4F5B,
+ 14582: 0x5F17,
+ 14583: 0x5F7F,
+ 14584: 0x62C2,
+ 14585: 0x5D29,
+ 14586: 0x670B,
+ 14587: 0x68DA,
+ 14588: 0x787C,
+ 14589: 0x7E43,
+ 14590: 0x9D6C,
+ 14591: 0x4E15,
+ 14592: 0x5099,
+ 14593: 0x5315,
+ 14594: 0x532A,
+ 14595: 0x5351,
+ 14596: 0x5983,
+ 14597: 0x5A62,
+ 14598: 0x5E87,
+ 14599: 0x60B2,
+ 14600: 0x618A,
+ 14601: 0x6249,
+ 14602: 0x6279,
+ 14603: 0x6590,
+ 14604: 0x6787,
+ 14605: 0x69A7,
+ 14606: 0x6BD4,
+ 14607: 0x6BD6,
+ 14608: 0x6BD7,
+ 14609: 0x6BD8,
+ 14610: 0x6CB8,
+ 14611: 0xF968,
+ 14612: 0x7435,
+ 14613: 0x75FA,
+ 14614: 0x7812,
+ 14615: 0x7891,
+ 14616: 0x79D5,
+ 14617: 0x79D8,
+ 14618: 0x7C83,
+ 14619: 0x7DCB,
+ 14620: 0x7FE1,
+ 14621: 0x80A5,
+ 14622: 0x813E,
+ 14623: 0x81C2,
+ 14624: 0x83F2,
+ 14625: 0x871A,
+ 14626: 0x88E8,
+ 14627: 0x8AB9,
+ 14628: 0x8B6C,
+ 14629: 0x8CBB,
+ 14630: 0x9119,
+ 14631: 0x975E,
+ 14632: 0x98DB,
+ 14633: 0x9F3B,
+ 14634: 0x56AC,
+ 14635: 0x5B2A,
+ 14636: 0x5F6C,
+ 14637: 0x658C,
+ 14638: 0x6AB3,
+ 14639: 0x6BAF,
+ 14640: 0x6D5C,
+ 14641: 0x6FF1,
+ 14642: 0x7015,
+ 14643: 0x725D,
+ 14644: 0x73AD,
+ 14645: 0x8CA7,
+ 14646: 0x8CD3,
+ 14647: 0x983B,
+ 14648: 0x6191,
+ 14649: 0x6C37,
+ 14650: 0x8058,
+ 14651: 0x9A01,
+ 14652: 0x4E4D,
+ 14653: 0x4E8B,
+ 14654: 0x4E9B,
+ 14655: 0x4ED5,
+ 14656: 0x4F3A,
+ 14657: 0x4F3C,
+ 14658: 0x4F7F,
+ 14659: 0x4FDF,
+ 14660: 0x50FF,
+ 14661: 0x53F2,
+ 14662: 0x53F8,
+ 14663: 0x5506,
+ 14664: 0x55E3,
+ 14665: 0x56DB,
+ 14666: 0x58EB,
+ 14667: 0x5962,
+ 14668: 0x5A11,
+ 14669: 0x5BEB,
+ 14670: 0x5BFA,
+ 14671: 0x5C04,
+ 14672: 0x5DF3,
+ 14673: 0x5E2B,
+ 14674: 0x5F99,
+ 14675: 0x601D,
+ 14676: 0x6368,
+ 14677: 0x659C,
+ 14678: 0x65AF,
+ 14679: 0x67F6,
+ 14680: 0x67FB,
+ 14681: 0x68AD,
+ 14682: 0x6B7B,
+ 14683: 0x6C99,
+ 14684: 0x6CD7,
+ 14685: 0x6E23,
+ 14686: 0x7009,
+ 14687: 0x7345,
+ 14688: 0x7802,
+ 14689: 0x793E,
+ 14690: 0x7940,
+ 14691: 0x7960,
+ 14692: 0x79C1,
+ 14693: 0x7BE9,
+ 14694: 0x7D17,
+ 14695: 0x7D72,
+ 14696: 0x8086,
+ 14697: 0x820D,
+ 14698: 0x838E,
+ 14699: 0x84D1,
+ 14700: 0x86C7,
+ 14701: 0x88DF,
+ 14702: 0x8A50,
+ 14703: 0x8A5E,
+ 14704: 0x8B1D,
+ 14705: 0x8CDC,
+ 14706: 0x8D66,
+ 14707: 0x8FAD,
+ 14708: 0x90AA,
+ 14709: 0x98FC,
+ 14710: 0x99DF,
+ 14711: 0x9E9D,
+ 14712: 0x524A,
+ 14713: 0xF969,
+ 14714: 0x6714,
+ 14715: 0xF96A,
+ 14716: 0x5098,
+ 14717: 0x522A,
+ 14718: 0x5C71,
+ 14719: 0x6563,
+ 14720: 0x6C55,
+ 14721: 0x73CA,
+ 14722: 0x7523,
+ 14723: 0x759D,
+ 14724: 0x7B97,
+ 14725: 0x849C,
+ 14726: 0x9178,
+ 14727: 0x9730,
+ 14728: 0x4E77,
+ 14729: 0x6492,
+ 14730: 0x6BBA,
+ 14731: 0x715E,
+ 14732: 0x85A9,
+ 14733: 0x4E09,
+ 14734: 0xF96B,
+ 14735: 0x6749,
+ 14736: 0x68EE,
+ 14737: 0x6E17,
+ 14738: 0x829F,
+ 14739: 0x8518,
+ 14740: 0x886B,
+ 14741: 0x63F7,
+ 14742: 0x6F81,
+ 14743: 0x9212,
+ 14744: 0x98AF,
+ 14745: 0x4E0A,
+ 14746: 0x50B7,
+ 14747: 0x50CF,
+ 14748: 0x511F,
+ 14749: 0x5546,
+ 14750: 0x55AA,
+ 14751: 0x5617,
+ 14752: 0x5B40,
+ 14753: 0x5C19,
+ 14754: 0x5CE0,
+ 14755: 0x5E38,
+ 14756: 0x5E8A,
+ 14757: 0x5EA0,
+ 14758: 0x5EC2,
+ 14759: 0x60F3,
+ 14760: 0x6851,
+ 14761: 0x6A61,
+ 14762: 0x6E58,
+ 14763: 0x723D,
+ 14764: 0x7240,
+ 14765: 0x72C0,
+ 14766: 0x76F8,
+ 14767: 0x7965,
+ 14768: 0x7BB1,
+ 14769: 0x7FD4,
+ 14770: 0x88F3,
+ 14771: 0x89F4,
+ 14772: 0x8A73,
+ 14773: 0x8C61,
+ 14774: 0x8CDE,
+ 14775: 0x971C,
+ 14776: 0x585E,
+ 14777: 0x74BD,
+ 14778: 0x8CFD,
+ 14779: 0x55C7,
+ 14780: 0xF96C,
+ 14781: 0x7A61,
+ 14782: 0x7D22,
+ 14783: 0x8272,
+ 14784: 0x7272,
+ 14785: 0x751F,
+ 14786: 0x7525,
+ 14787: 0xF96D,
+ 14788: 0x7B19,
+ 14789: 0x5885,
+ 14790: 0x58FB,
+ 14791: 0x5DBC,
+ 14792: 0x5E8F,
+ 14793: 0x5EB6,
+ 14794: 0x5F90,
+ 14795: 0x6055,
+ 14796: 0x6292,
+ 14797: 0x637F,
+ 14798: 0x654D,
+ 14799: 0x6691,
+ 14800: 0x66D9,
+ 14801: 0x66F8,
+ 14802: 0x6816,
+ 14803: 0x68F2,
+ 14804: 0x7280,
+ 14805: 0x745E,
+ 14806: 0x7B6E,
+ 14807: 0x7D6E,
+ 14808: 0x7DD6,
+ 14809: 0x7F72,
+ 14810: 0x80E5,
+ 14811: 0x8212,
+ 14812: 0x85AF,
+ 14813: 0x897F,
+ 14814: 0x8A93,
+ 14815: 0x901D,
+ 14816: 0x92E4,
+ 14817: 0x9ECD,
+ 14818: 0x9F20,
+ 14819: 0x5915,
+ 14820: 0x596D,
+ 14821: 0x5E2D,
+ 14822: 0x60DC,
+ 14823: 0x6614,
+ 14824: 0x6673,
+ 14825: 0x6790,
+ 14826: 0x6C50,
+ 14827: 0x6DC5,
+ 14828: 0x6F5F,
+ 14829: 0x77F3,
+ 14830: 0x78A9,
+ 14831: 0x84C6,
+ 14832: 0x91CB,
+ 14833: 0x932B,
+ 14834: 0x4ED9,
+ 14835: 0x50CA,
+ 14836: 0x5148,
+ 14837: 0x5584,
+ 14838: 0x5B0B,
+ 14839: 0x5BA3,
+ 14840: 0x6247,
+ 14841: 0x657E,
+ 14842: 0x65CB,
+ 14843: 0x6E32,
+ 14844: 0x717D,
+ 14845: 0x7401,
+ 14846: 0x7444,
+ 14847: 0x7487,
+ 14848: 0x74BF,
+ 14849: 0x766C,
+ 14850: 0x79AA,
+ 14851: 0x7DDA,
+ 14852: 0x7E55,
+ 14853: 0x7FA8,
+ 14854: 0x817A,
+ 14855: 0x81B3,
+ 14856: 0x8239,
+ 14857: 0x861A,
+ 14858: 0x87EC,
+ 14859: 0x8A75,
+ 14860: 0x8DE3,
+ 14861: 0x9078,
+ 14862: 0x9291,
+ 14863: 0x9425,
+ 14864: 0x994D,
+ 14865: 0x9BAE,
+ 14866: 0x5368,
+ 14867: 0x5C51,
+ 14868: 0x6954,
+ 14869: 0x6CC4,
+ 14870: 0x6D29,
+ 14871: 0x6E2B,
+ 14872: 0x820C,
+ 14873: 0x859B,
+ 14874: 0x893B,
+ 14875: 0x8A2D,
+ 14876: 0x8AAA,
+ 14877: 0x96EA,
+ 14878: 0x9F67,
+ 14879: 0x5261,
+ 14880: 0x66B9,
+ 14881: 0x6BB2,
+ 14882: 0x7E96,
+ 14883: 0x87FE,
+ 14884: 0x8D0D,
+ 14885: 0x9583,
+ 14886: 0x965D,
+ 14887: 0x651D,
+ 14888: 0x6D89,
+ 14889: 0x71EE,
+ 14890: 0xF96E,
+ 14891: 0x57CE,
+ 14892: 0x59D3,
+ 14893: 0x5BAC,
+ 14894: 0x6027,
+ 14895: 0x60FA,
+ 14896: 0x6210,
+ 14897: 0x661F,
+ 14898: 0x665F,
+ 14899: 0x7329,
+ 14900: 0x73F9,
+ 14901: 0x76DB,
+ 14902: 0x7701,
+ 14903: 0x7B6C,
+ 14904: 0x8056,
+ 14905: 0x8072,
+ 14906: 0x8165,
+ 14907: 0x8AA0,
+ 14908: 0x9192,
+ 14909: 0x4E16,
+ 14910: 0x52E2,
+ 14911: 0x6B72,
+ 14912: 0x6D17,
+ 14913: 0x7A05,
+ 14914: 0x7B39,
+ 14915: 0x7D30,
+ 14916: 0xF96F,
+ 14917: 0x8CB0,
+ 14918: 0x53EC,
+ 14919: 0x562F,
+ 14920: 0x5851,
+ 14921: 0x5BB5,
+ 14922: 0x5C0F,
+ 14923: 0x5C11,
+ 14924: 0x5DE2,
+ 14925: 0x6240,
+ 14926: 0x6383,
+ 14927: 0x6414,
+ 14928: 0x662D,
+ 14929: 0x68B3,
+ 14930: 0x6CBC,
+ 14931: 0x6D88,
+ 14932: 0x6EAF,
+ 14933: 0x701F,
+ 14934: 0x70A4,
+ 14935: 0x71D2,
+ 14936: 0x7526,
+ 14937: 0x758F,
+ 14938: 0x758E,
+ 14939: 0x7619,
+ 14940: 0x7B11,
+ 14941: 0x7BE0,
+ 14942: 0x7C2B,
+ 14943: 0x7D20,
+ 14944: 0x7D39,
+ 14945: 0x852C,
+ 14946: 0x856D,
+ 14947: 0x8607,
+ 14948: 0x8A34,
+ 14949: 0x900D,
+ 14950: 0x9061,
+ 14951: 0x90B5,
+ 14952: 0x92B7,
+ 14953: 0x97F6,
+ 14954: 0x9A37,
+ 14955: 0x4FD7,
+ 14956: 0x5C6C,
+ 14957: 0x675F,
+ 14958: 0x6D91,
+ 14959: 0x7C9F,
+ 14960: 0x7E8C,
+ 14961: 0x8B16,
+ 14962: 0x8D16,
+ 14963: 0x901F,
+ 14964: 0x5B6B,
+ 14965: 0x5DFD,
+ 14966: 0x640D,
+ 14967: 0x84C0,
+ 14968: 0x905C,
+ 14969: 0x98E1,
+ 14970: 0x7387,
+ 14971: 0x5B8B,
+ 14972: 0x609A,
+ 14973: 0x677E,
+ 14974: 0x6DDE,
+ 14975: 0x8A1F,
+ 14976: 0x8AA6,
+ 14977: 0x9001,
+ 14978: 0x980C,
+ 14979: 0x5237,
+ 14980: 0xF970,
+ 14981: 0x7051,
+ 14982: 0x788E,
+ 14983: 0x9396,
+ 14984: 0x8870,
+ 14985: 0x91D7,
+ 14986: 0x4FEE,
+ 14987: 0x53D7,
+ 14988: 0x55FD,
+ 14989: 0x56DA,
+ 14990: 0x5782,
+ 14991: 0x58FD,
+ 14992: 0x5AC2,
+ 14993: 0x5B88,
+ 14994: 0x5CAB,
+ 14995: 0x5CC0,
+ 14996: 0x5E25,
+ 14997: 0x6101,
+ 14998: 0x620D,
+ 14999: 0x624B,
+ 15000: 0x6388,
+ 15001: 0x641C,
+ 15002: 0x6536,
+ 15003: 0x6578,
+ 15004: 0x6A39,
+ 15005: 0x6B8A,
+ 15006: 0x6C34,
+ 15007: 0x6D19,
+ 15008: 0x6F31,
+ 15009: 0x71E7,
+ 15010: 0x72E9,
+ 15011: 0x7378,
+ 15012: 0x7407,
+ 15013: 0x74B2,
+ 15014: 0x7626,
+ 15015: 0x7761,
+ 15016: 0x79C0,
+ 15017: 0x7A57,
+ 15018: 0x7AEA,
+ 15019: 0x7CB9,
+ 15020: 0x7D8F,
+ 15021: 0x7DAC,
+ 15022: 0x7E61,
+ 15023: 0x7F9E,
+ 15024: 0x8129,
+ 15025: 0x8331,
+ 15026: 0x8490,
+ 15027: 0x84DA,
+ 15028: 0x85EA,
+ 15029: 0x8896,
+ 15030: 0x8AB0,
+ 15031: 0x8B90,
+ 15032: 0x8F38,
+ 15033: 0x9042,
+ 15034: 0x9083,
+ 15035: 0x916C,
+ 15036: 0x9296,
+ 15037: 0x92B9,
+ 15038: 0x968B,
+ 15039: 0x96A7,
+ 15040: 0x96A8,
+ 15041: 0x96D6,
+ 15042: 0x9700,
+ 15043: 0x9808,
+ 15044: 0x9996,
+ 15045: 0x9AD3,
+ 15046: 0x9B1A,
+ 15047: 0x53D4,
+ 15048: 0x587E,
+ 15049: 0x5919,
+ 15050: 0x5B70,
+ 15051: 0x5BBF,
+ 15052: 0x6DD1,
+ 15053: 0x6F5A,
+ 15054: 0x719F,
+ 15055: 0x7421,
+ 15056: 0x74B9,
+ 15057: 0x8085,
+ 15058: 0x83FD,
+ 15059: 0x5DE1,
+ 15060: 0x5F87,
+ 15061: 0x5FAA,
+ 15062: 0x6042,
+ 15063: 0x65EC,
+ 15064: 0x6812,
+ 15065: 0x696F,
+ 15066: 0x6A53,
+ 15067: 0x6B89,
+ 15068: 0x6D35,
+ 15069: 0x6DF3,
+ 15070: 0x73E3,
+ 15071: 0x76FE,
+ 15072: 0x77AC,
+ 15073: 0x7B4D,
+ 15074: 0x7D14,
+ 15075: 0x8123,
+ 15076: 0x821C,
+ 15077: 0x8340,
+ 15078: 0x84F4,
+ 15079: 0x8563,
+ 15080: 0x8A62,
+ 15081: 0x8AC4,
+ 15082: 0x9187,
+ 15083: 0x931E,
+ 15084: 0x9806,
+ 15085: 0x99B4,
+ 15086: 0x620C,
+ 15087: 0x8853,
+ 15088: 0x8FF0,
+ 15089: 0x9265,
+ 15090: 0x5D07,
+ 15091: 0x5D27,
+ 15092: 0x5D69,
+ 15093: 0x745F,
+ 15094: 0x819D,
+ 15095: 0x8768,
+ 15096: 0x6FD5,
+ 15097: 0x62FE,
+ 15098: 0x7FD2,
+ 15099: 0x8936,
+ 15100: 0x8972,
+ 15101: 0x4E1E,
+ 15102: 0x4E58,
+ 15103: 0x50E7,
+ 15104: 0x52DD,
+ 15105: 0x5347,
+ 15106: 0x627F,
+ 15107: 0x6607,
+ 15108: 0x7E69,
+ 15109: 0x8805,
+ 15110: 0x965E,
+ 15111: 0x4F8D,
+ 15112: 0x5319,
+ 15113: 0x5636,
+ 15114: 0x59CB,
+ 15115: 0x5AA4,
+ 15116: 0x5C38,
+ 15117: 0x5C4E,
+ 15118: 0x5C4D,
+ 15119: 0x5E02,
+ 15120: 0x5F11,
+ 15121: 0x6043,
+ 15122: 0x65BD,
+ 15123: 0x662F,
+ 15124: 0x6642,
+ 15125: 0x67BE,
+ 15126: 0x67F4,
+ 15127: 0x731C,
+ 15128: 0x77E2,
+ 15129: 0x793A,
+ 15130: 0x7FC5,
+ 15131: 0x8494,
+ 15132: 0x84CD,
+ 15133: 0x8996,
+ 15134: 0x8A66,
+ 15135: 0x8A69,
+ 15136: 0x8AE1,
+ 15137: 0x8C55,
+ 15138: 0x8C7A,
+ 15139: 0x57F4,
+ 15140: 0x5BD4,
+ 15141: 0x5F0F,
+ 15142: 0x606F,
+ 15143: 0x62ED,
+ 15144: 0x690D,
+ 15145: 0x6B96,
+ 15146: 0x6E5C,
+ 15147: 0x7184,
+ 15148: 0x7BD2,
+ 15149: 0x8755,
+ 15150: 0x8B58,
+ 15151: 0x8EFE,
+ 15152: 0x98DF,
+ 15153: 0x98FE,
+ 15154: 0x4F38,
+ 15155: 0x4F81,
+ 15156: 0x4FE1,
+ 15157: 0x547B,
+ 15158: 0x5A20,
+ 15159: 0x5BB8,
+ 15160: 0x613C,
+ 15161: 0x65B0,
+ 15162: 0x6668,
+ 15163: 0x71FC,
+ 15164: 0x7533,
+ 15165: 0x795E,
+ 15166: 0x7D33,
+ 15167: 0x814E,
+ 15168: 0x81E3,
+ 15169: 0x8398,
+ 15170: 0x85AA,
+ 15171: 0x85CE,
+ 15172: 0x8703,
+ 15173: 0x8A0A,
+ 15174: 0x8EAB,
+ 15175: 0x8F9B,
+ 15176: 0xF971,
+ 15177: 0x8FC5,
+ 15178: 0x5931,
+ 15179: 0x5BA4,
+ 15180: 0x5BE6,
+ 15181: 0x6089,
+ 15182: 0x5BE9,
+ 15183: 0x5C0B,
+ 15184: 0x5FC3,
+ 15185: 0x6C81,
+ 15186: 0xF972,
+ 15187: 0x6DF1,
+ 15188: 0x700B,
+ 15189: 0x751A,
+ 15190: 0x82AF,
+ 15191: 0x8AF6,
+ 15192: 0x4EC0,
+ 15193: 0x5341,
+ 15194: 0xF973,
+ 15195: 0x96D9,
+ 15196: 0x6C0F,
+ 15197: 0x4E9E,
+ 15198: 0x4FC4,
+ 15199: 0x5152,
+ 15200: 0x555E,
+ 15201: 0x5A25,
+ 15202: 0x5CE8,
+ 15203: 0x6211,
+ 15204: 0x7259,
+ 15205: 0x82BD,
+ 15206: 0x83AA,
+ 15207: 0x86FE,
+ 15208: 0x8859,
+ 15209: 0x8A1D,
+ 15210: 0x963F,
+ 15211: 0x96C5,
+ 15212: 0x9913,
+ 15213: 0x9D09,
+ 15214: 0x9D5D,
+ 15215: 0x580A,
+ 15216: 0x5CB3,
+ 15217: 0x5DBD,
+ 15218: 0x5E44,
+ 15219: 0x60E1,
+ 15220: 0x6115,
+ 15221: 0x63E1,
+ 15222: 0x6A02,
+ 15223: 0x6E25,
+ 15224: 0x9102,
+ 15225: 0x9354,
+ 15226: 0x984E,
+ 15227: 0x9C10,
+ 15228: 0x9F77,
+ 15229: 0x5B89,
+ 15230: 0x5CB8,
+ 15231: 0x6309,
+ 15232: 0x664F,
+ 15233: 0x6848,
+ 15234: 0x773C,
+ 15235: 0x96C1,
+ 15236: 0x978D,
+ 15237: 0x9854,
+ 15238: 0x9B9F,
+ 15239: 0x65A1,
+ 15240: 0x8B01,
+ 15241: 0x8ECB,
+ 15242: 0x95BC,
+ 15243: 0x5535,
+ 15244: 0x5CA9,
+ 15245: 0x5DD6,
+ 15246: 0x5EB5,
+ 15247: 0x6697,
+ 15248: 0x764C,
+ 15249: 0x83F4,
+ 15250: 0x95C7,
+ 15251: 0x58D3,
+ 15252: 0x62BC,
+ 15253: 0x72CE,
+ 15254: 0x9D28,
+ 15255: 0x4EF0,
+ 15256: 0x592E,
+ 15257: 0x600F,
+ 15258: 0x663B,
+ 15259: 0x6B83,
+ 15260: 0x79E7,
+ 15261: 0x9D26,
+ 15262: 0x5393,
+ 15263: 0x54C0,
+ 15264: 0x57C3,
+ 15265: 0x5D16,
+ 15266: 0x611B,
+ 15267: 0x66D6,
+ 15268: 0x6DAF,
+ 15269: 0x788D,
+ 15270: 0x827E,
+ 15271: 0x9698,
+ 15272: 0x9744,
+ 15273: 0x5384,
+ 15274: 0x627C,
+ 15275: 0x6396,
+ 15276: 0x6DB2,
+ 15277: 0x7E0A,
+ 15278: 0x814B,
+ 15279: 0x984D,
+ 15280: 0x6AFB,
+ 15281: 0x7F4C,
+ 15282: 0x9DAF,
+ 15283: 0x9E1A,
+ 15284: 0x4E5F,
+ 15285: 0x503B,
+ 15286: 0x51B6,
+ 15287: 0x591C,
+ 15288: 0x60F9,
+ 15289: 0x63F6,
+ 15290: 0x6930,
+ 15291: 0x723A,
+ 15292: 0x8036,
+ 15293: 0xF974,
+ 15294: 0x91CE,
+ 15295: 0x5F31,
+ 15296: 0xF975,
+ 15297: 0xF976,
+ 15298: 0x7D04,
+ 15299: 0x82E5,
+ 15300: 0x846F,
+ 15301: 0x84BB,
+ 15302: 0x85E5,
+ 15303: 0x8E8D,
+ 15304: 0xF977,
+ 15305: 0x4F6F,
+ 15306: 0xF978,
+ 15307: 0xF979,
+ 15308: 0x58E4,
+ 15309: 0x5B43,
+ 15310: 0x6059,
+ 15311: 0x63DA,
+ 15312: 0x6518,
+ 15313: 0x656D,
+ 15314: 0x6698,
+ 15315: 0xF97A,
+ 15316: 0x694A,
+ 15317: 0x6A23,
+ 15318: 0x6D0B,
+ 15319: 0x7001,
+ 15320: 0x716C,
+ 15321: 0x75D2,
+ 15322: 0x760D,
+ 15323: 0x79B3,
+ 15324: 0x7A70,
+ 15325: 0xF97B,
+ 15326: 0x7F8A,
+ 15327: 0xF97C,
+ 15328: 0x8944,
+ 15329: 0xF97D,
+ 15330: 0x8B93,
+ 15331: 0x91C0,
+ 15332: 0x967D,
+ 15333: 0xF97E,
+ 15334: 0x990A,
+ 15335: 0x5704,
+ 15336: 0x5FA1,
+ 15337: 0x65BC,
+ 15338: 0x6F01,
+ 15339: 0x7600,
+ 15340: 0x79A6,
+ 15341: 0x8A9E,
+ 15342: 0x99AD,
+ 15343: 0x9B5A,
+ 15344: 0x9F6C,
+ 15345: 0x5104,
+ 15346: 0x61B6,
+ 15347: 0x6291,
+ 15348: 0x6A8D,
+ 15349: 0x81C6,
+ 15350: 0x5043,
+ 15351: 0x5830,
+ 15352: 0x5F66,
+ 15353: 0x7109,
+ 15354: 0x8A00,
+ 15355: 0x8AFA,
+ 15356: 0x5B7C,
+ 15357: 0x8616,
+ 15358: 0x4FFA,
+ 15359: 0x513C,
+ 15360: 0x56B4,
+ 15361: 0x5944,
+ 15362: 0x63A9,
+ 15363: 0x6DF9,
+ 15364: 0x5DAA,
+ 15365: 0x696D,
+ 15366: 0x5186,
+ 15367: 0x4E88,
+ 15368: 0x4F59,
+ 15369: 0xF97F,
+ 15370: 0xF980,
+ 15371: 0xF981,
+ 15372: 0x5982,
+ 15373: 0xF982,
+ 15374: 0xF983,
+ 15375: 0x6B5F,
+ 15376: 0x6C5D,
+ 15377: 0xF984,
+ 15378: 0x74B5,
+ 15379: 0x7916,
+ 15380: 0xF985,
+ 15381: 0x8207,
+ 15382: 0x8245,
+ 15383: 0x8339,
+ 15384: 0x8F3F,
+ 15385: 0x8F5D,
+ 15386: 0xF986,
+ 15387: 0x9918,
+ 15388: 0xF987,
+ 15389: 0xF988,
+ 15390: 0xF989,
+ 15391: 0x4EA6,
+ 15392: 0xF98A,
+ 15393: 0x57DF,
+ 15394: 0x5F79,
+ 15395: 0x6613,
+ 15396: 0xF98B,
+ 15397: 0xF98C,
+ 15398: 0x75AB,
+ 15399: 0x7E79,
+ 15400: 0x8B6F,
+ 15401: 0xF98D,
+ 15402: 0x9006,
+ 15403: 0x9A5B,
+ 15404: 0x56A5,
+ 15405: 0x5827,
+ 15406: 0x59F8,
+ 15407: 0x5A1F,
+ 15408: 0x5BB4,
+ 15409: 0xF98E,
+ 15410: 0x5EF6,
+ 15411: 0xF98F,
+ 15412: 0xF990,
+ 15413: 0x6350,
+ 15414: 0x633B,
+ 15415: 0xF991,
+ 15416: 0x693D,
+ 15417: 0x6C87,
+ 15418: 0x6CBF,
+ 15419: 0x6D8E,
+ 15420: 0x6D93,
+ 15421: 0x6DF5,
+ 15422: 0x6F14,
+ 15423: 0xF992,
+ 15424: 0x70DF,
+ 15425: 0x7136,
+ 15426: 0x7159,
+ 15427: 0xF993,
+ 15428: 0x71C3,
+ 15429: 0x71D5,
+ 15430: 0xF994,
+ 15431: 0x784F,
+ 15432: 0x786F,
+ 15433: 0xF995,
+ 15434: 0x7B75,
+ 15435: 0x7DE3,
+ 15436: 0xF996,
+ 15437: 0x7E2F,
+ 15438: 0xF997,
+ 15439: 0x884D,
+ 15440: 0x8EDF,
+ 15441: 0xF998,
+ 15442: 0xF999,
+ 15443: 0xF99A,
+ 15444: 0x925B,
+ 15445: 0xF99B,
+ 15446: 0x9CF6,
+ 15447: 0xF99C,
+ 15448: 0xF99D,
+ 15449: 0xF99E,
+ 15450: 0x6085,
+ 15451: 0x6D85,
+ 15452: 0xF99F,
+ 15453: 0x71B1,
+ 15454: 0xF9A0,
+ 15455: 0xF9A1,
+ 15456: 0x95B1,
+ 15457: 0x53AD,
+ 15458: 0xF9A2,
+ 15459: 0xF9A3,
+ 15460: 0xF9A4,
+ 15461: 0x67D3,
+ 15462: 0xF9A5,
+ 15463: 0x708E,
+ 15464: 0x7130,
+ 15465: 0x7430,
+ 15466: 0x8276,
+ 15467: 0x82D2,
+ 15468: 0xF9A6,
+ 15469: 0x95BB,
+ 15470: 0x9AE5,
+ 15471: 0x9E7D,
+ 15472: 0x66C4,
+ 15473: 0xF9A7,
+ 15474: 0x71C1,
+ 15475: 0x8449,
+ 15476: 0xF9A8,
+ 15477: 0xF9A9,
+ 15478: 0x584B,
+ 15479: 0xF9AA,
+ 15480: 0xF9AB,
+ 15481: 0x5DB8,
+ 15482: 0x5F71,
+ 15483: 0xF9AC,
+ 15484: 0x6620,
+ 15485: 0x668E,
+ 15486: 0x6979,
+ 15487: 0x69AE,
+ 15488: 0x6C38,
+ 15489: 0x6CF3,
+ 15490: 0x6E36,
+ 15491: 0x6F41,
+ 15492: 0x6FDA,
+ 15493: 0x701B,
+ 15494: 0x702F,
+ 15495: 0x7150,
+ 15496: 0x71DF,
+ 15497: 0x7370,
+ 15498: 0xF9AD,
+ 15499: 0x745B,
+ 15500: 0xF9AE,
+ 15501: 0x74D4,
+ 15502: 0x76C8,
+ 15503: 0x7A4E,
+ 15504: 0x7E93,
+ 15505: 0xF9AF,
+ 15506: 0xF9B0,
+ 15507: 0x82F1,
+ 15508: 0x8A60,
+ 15509: 0x8FCE,
+ 15510: 0xF9B1,
+ 15511: 0x9348,
+ 15512: 0xF9B2,
+ 15513: 0x9719,
+ 15514: 0xF9B3,
+ 15515: 0xF9B4,
+ 15516: 0x4E42,
+ 15517: 0x502A,
+ 15518: 0xF9B5,
+ 15519: 0x5208,
+ 15520: 0x53E1,
+ 15521: 0x66F3,
+ 15522: 0x6C6D,
+ 15523: 0x6FCA,
+ 15524: 0x730A,
+ 15525: 0x777F,
+ 15526: 0x7A62,
+ 15527: 0x82AE,
+ 15528: 0x85DD,
+ 15529: 0x8602,
+ 15530: 0xF9B6,
+ 15531: 0x88D4,
+ 15532: 0x8A63,
+ 15533: 0x8B7D,
+ 15534: 0x8C6B,
+ 15535: 0xF9B7,
+ 15536: 0x92B3,
+ 15537: 0xF9B8,
+ 15538: 0x9713,
+ 15539: 0x9810,
+ 15540: 0x4E94,
+ 15541: 0x4F0D,
+ 15542: 0x4FC9,
+ 15543: 0x50B2,
+ 15544: 0x5348,
+ 15545: 0x543E,
+ 15546: 0x5433,
+ 15547: 0x55DA,
+ 15548: 0x5862,
+ 15549: 0x58BA,
+ 15550: 0x5967,
+ 15551: 0x5A1B,
+ 15552: 0x5BE4,
+ 15553: 0x609F,
+ 15554: 0xF9B9,
+ 15555: 0x61CA,
+ 15556: 0x6556,
+ 15557: 0x65FF,
+ 15558: 0x6664,
+ 15559: 0x68A7,
+ 15560: 0x6C5A,
+ 15561: 0x6FB3,
+ 15562: 0x70CF,
+ 15563: 0x71AC,
+ 15564: 0x7352,
+ 15565: 0x7B7D,
+ 15566: 0x8708,
+ 15567: 0x8AA4,
+ 15568: 0x9C32,
+ 15569: 0x9F07,
+ 15570: 0x5C4B,
+ 15571: 0x6C83,
+ 15572: 0x7344,
+ 15573: 0x7389,
+ 15574: 0x923A,
+ 15575: 0x6EAB,
+ 15576: 0x7465,
+ 15577: 0x761F,
+ 15578: 0x7A69,
+ 15579: 0x7E15,
+ 15580: 0x860A,
+ 15581: 0x5140,
+ 15582: 0x58C5,
+ 15583: 0x64C1,
+ 15584: 0x74EE,
+ 15585: 0x7515,
+ 15586: 0x7670,
+ 15587: 0x7FC1,
+ 15588: 0x9095,
+ 15589: 0x96CD,
+ 15590: 0x9954,
+ 15591: 0x6E26,
+ 15592: 0x74E6,
+ 15593: 0x7AA9,
+ 15594: 0x7AAA,
+ 15595: 0x81E5,
+ 15596: 0x86D9,
+ 15597: 0x8778,
+ 15598: 0x8A1B,
+ 15599: 0x5A49,
+ 15600: 0x5B8C,
+ 15601: 0x5B9B,
+ 15602: 0x68A1,
+ 15603: 0x6900,
+ 15604: 0x6D63,
+ 15605: 0x73A9,
+ 15606: 0x7413,
+ 15607: 0x742C,
+ 15608: 0x7897,
+ 15609: 0x7DE9,
+ 15610: 0x7FEB,
+ 15611: 0x8118,
+ 15612: 0x8155,
+ 15613: 0x839E,
+ 15614: 0x8C4C,
+ 15615: 0x962E,
+ 15616: 0x9811,
+ 15617: 0x66F0,
+ 15618: 0x5F80,
+ 15619: 0x65FA,
+ 15620: 0x6789,
+ 15621: 0x6C6A,
+ 15622: 0x738B,
+ 15623: 0x502D,
+ 15624: 0x5A03,
+ 15625: 0x6B6A,
+ 15626: 0x77EE,
+ 15627: 0x5916,
+ 15628: 0x5D6C,
+ 15629: 0x5DCD,
+ 15630: 0x7325,
+ 15631: 0x754F,
+ 15632: 0xF9BA,
+ 15633: 0xF9BB,
+ 15634: 0x50E5,
+ 15635: 0x51F9,
+ 15636: 0x582F,
+ 15637: 0x592D,
+ 15638: 0x5996,
+ 15639: 0x59DA,
+ 15640: 0x5BE5,
+ 15641: 0xF9BC,
+ 15642: 0xF9BD,
+ 15643: 0x5DA2,
+ 15644: 0x62D7,
+ 15645: 0x6416,
+ 15646: 0x6493,
+ 15647: 0x64FE,
+ 15648: 0xF9BE,
+ 15649: 0x66DC,
+ 15650: 0xF9BF,
+ 15651: 0x6A48,
+ 15652: 0xF9C0,
+ 15653: 0x71FF,
+ 15654: 0x7464,
+ 15655: 0xF9C1,
+ 15656: 0x7A88,
+ 15657: 0x7AAF,
+ 15658: 0x7E47,
+ 15659: 0x7E5E,
+ 15660: 0x8000,
+ 15661: 0x8170,
+ 15662: 0xF9C2,
+ 15663: 0x87EF,
+ 15664: 0x8981,
+ 15665: 0x8B20,
+ 15666: 0x9059,
+ 15667: 0xF9C3,
+ 15668: 0x9080,
+ 15669: 0x9952,
+ 15670: 0x617E,
+ 15671: 0x6B32,
+ 15672: 0x6D74,
+ 15673: 0x7E1F,
+ 15674: 0x8925,
+ 15675: 0x8FB1,
+ 15676: 0x4FD1,
+ 15677: 0x50AD,
+ 15678: 0x5197,
+ 15679: 0x52C7,
+ 15680: 0x57C7,
+ 15681: 0x5889,
+ 15682: 0x5BB9,
+ 15683: 0x5EB8,
+ 15684: 0x6142,
+ 15685: 0x6995,
+ 15686: 0x6D8C,
+ 15687: 0x6E67,
+ 15688: 0x6EB6,
+ 15689: 0x7194,
+ 15690: 0x7462,
+ 15691: 0x7528,
+ 15692: 0x752C,
+ 15693: 0x8073,
+ 15694: 0x8338,
+ 15695: 0x84C9,
+ 15696: 0x8E0A,
+ 15697: 0x9394,
+ 15698: 0x93DE,
+ 15699: 0xF9C4,
+ 15700: 0x4E8E,
+ 15701: 0x4F51,
+ 15702: 0x5076,
+ 15703: 0x512A,
+ 15704: 0x53C8,
+ 15705: 0x53CB,
+ 15706: 0x53F3,
+ 15707: 0x5B87,
+ 15708: 0x5BD3,
+ 15709: 0x5C24,
+ 15710: 0x611A,
+ 15711: 0x6182,
+ 15712: 0x65F4,
+ 15713: 0x725B,
+ 15714: 0x7397,
+ 15715: 0x7440,
+ 15716: 0x76C2,
+ 15717: 0x7950,
+ 15718: 0x7991,
+ 15719: 0x79B9,
+ 15720: 0x7D06,
+ 15721: 0x7FBD,
+ 15722: 0x828B,
+ 15723: 0x85D5,
+ 15724: 0x865E,
+ 15725: 0x8FC2,
+ 15726: 0x9047,
+ 15727: 0x90F5,
+ 15728: 0x91EA,
+ 15729: 0x9685,
+ 15730: 0x96E8,
+ 15731: 0x96E9,
+ 15732: 0x52D6,
+ 15733: 0x5F67,
+ 15734: 0x65ED,
+ 15735: 0x6631,
+ 15736: 0x682F,
+ 15737: 0x715C,
+ 15738: 0x7A36,
+ 15739: 0x90C1,
+ 15740: 0x980A,
+ 15741: 0x4E91,
+ 15742: 0xF9C5,
+ 15743: 0x6A52,
+ 15744: 0x6B9E,
+ 15745: 0x6F90,
+ 15746: 0x7189,
+ 15747: 0x8018,
+ 15748: 0x82B8,
+ 15749: 0x8553,
+ 15750: 0x904B,
+ 15751: 0x9695,
+ 15752: 0x96F2,
+ 15753: 0x97FB,
+ 15754: 0x851A,
+ 15755: 0x9B31,
+ 15756: 0x4E90,
+ 15757: 0x718A,
+ 15758: 0x96C4,
+ 15759: 0x5143,
+ 15760: 0x539F,
+ 15761: 0x54E1,
+ 15762: 0x5713,
+ 15763: 0x5712,
+ 15764: 0x57A3,
+ 15765: 0x5A9B,
+ 15766: 0x5AC4,
+ 15767: 0x5BC3,
+ 15768: 0x6028,
+ 15769: 0x613F,
+ 15770: 0x63F4,
+ 15771: 0x6C85,
+ 15772: 0x6D39,
+ 15773: 0x6E72,
+ 15774: 0x6E90,
+ 15775: 0x7230,
+ 15776: 0x733F,
+ 15777: 0x7457,
+ 15778: 0x82D1,
+ 15779: 0x8881,
+ 15780: 0x8F45,
+ 15781: 0x9060,
+ 15782: 0xF9C6,
+ 15783: 0x9662,
+ 15784: 0x9858,
+ 15785: 0x9D1B,
+ 15786: 0x6708,
+ 15787: 0x8D8A,
+ 15788: 0x925E,
+ 15789: 0x4F4D,
+ 15790: 0x5049,
+ 15791: 0x50DE,
+ 15792: 0x5371,
+ 15793: 0x570D,
+ 15794: 0x59D4,
+ 15795: 0x5A01,
+ 15796: 0x5C09,
+ 15797: 0x6170,
+ 15798: 0x6690,
+ 15799: 0x6E2D,
+ 15800: 0x7232,
+ 15801: 0x744B,
+ 15802: 0x7DEF,
+ 15803: 0x80C3,
+ 15804: 0x840E,
+ 15805: 0x8466,
+ 15806: 0x853F,
+ 15807: 0x875F,
+ 15808: 0x885B,
+ 15809: 0x8918,
+ 15810: 0x8B02,
+ 15811: 0x9055,
+ 15812: 0x97CB,
+ 15813: 0x9B4F,
+ 15814: 0x4E73,
+ 15815: 0x4F91,
+ 15816: 0x5112,
+ 15817: 0x516A,
+ 15818: 0xF9C7,
+ 15819: 0x552F,
+ 15820: 0x55A9,
+ 15821: 0x5B7A,
+ 15822: 0x5BA5,
+ 15823: 0x5E7C,
+ 15824: 0x5E7D,
+ 15825: 0x5EBE,
+ 15826: 0x60A0,
+ 15827: 0x60DF,
+ 15828: 0x6108,
+ 15829: 0x6109,
+ 15830: 0x63C4,
+ 15831: 0x6538,
+ 15832: 0x6709,
+ 15833: 0xF9C8,
+ 15834: 0x67D4,
+ 15835: 0x67DA,
+ 15836: 0xF9C9,
+ 15837: 0x6961,
+ 15838: 0x6962,
+ 15839: 0x6CB9,
+ 15840: 0x6D27,
+ 15841: 0xF9CA,
+ 15842: 0x6E38,
+ 15843: 0xF9CB,
+ 15844: 0x6FE1,
+ 15845: 0x7336,
+ 15846: 0x7337,
+ 15847: 0xF9CC,
+ 15848: 0x745C,
+ 15849: 0x7531,
+ 15850: 0xF9CD,
+ 15851: 0x7652,
+ 15852: 0xF9CE,
+ 15853: 0xF9CF,
+ 15854: 0x7DAD,
+ 15855: 0x81FE,
+ 15856: 0x8438,
+ 15857: 0x88D5,
+ 15858: 0x8A98,
+ 15859: 0x8ADB,
+ 15860: 0x8AED,
+ 15861: 0x8E30,
+ 15862: 0x8E42,
+ 15863: 0x904A,
+ 15864: 0x903E,
+ 15865: 0x907A,
+ 15866: 0x9149,
+ 15867: 0x91C9,
+ 15868: 0x936E,
+ 15869: 0xF9D0,
+ 15870: 0xF9D1,
+ 15871: 0x5809,
+ 15872: 0xF9D2,
+ 15873: 0x6BD3,
+ 15874: 0x8089,
+ 15875: 0x80B2,
+ 15876: 0xF9D3,
+ 15877: 0xF9D4,
+ 15878: 0x5141,
+ 15879: 0x596B,
+ 15880: 0x5C39,
+ 15881: 0xF9D5,
+ 15882: 0xF9D6,
+ 15883: 0x6F64,
+ 15884: 0x73A7,
+ 15885: 0x80E4,
+ 15886: 0x8D07,
+ 15887: 0xF9D7,
+ 15888: 0x9217,
+ 15889: 0x958F,
+ 15890: 0xF9D8,
+ 15891: 0xF9D9,
+ 15892: 0xF9DA,
+ 15893: 0xF9DB,
+ 15894: 0x807F,
+ 15895: 0x620E,
+ 15896: 0x701C,
+ 15897: 0x7D68,
+ 15898: 0x878D,
+ 15899: 0xF9DC,
+ 15900: 0x57A0,
+ 15901: 0x6069,
+ 15902: 0x6147,
+ 15903: 0x6BB7,
+ 15904: 0x8ABE,
+ 15905: 0x9280,
+ 15906: 0x96B1,
+ 15907: 0x4E59,
+ 15908: 0x541F,
+ 15909: 0x6DEB,
+ 15910: 0x852D,
+ 15911: 0x9670,
+ 15912: 0x97F3,
+ 15913: 0x98EE,
+ 15914: 0x63D6,
+ 15915: 0x6CE3,
+ 15916: 0x9091,
+ 15917: 0x51DD,
+ 15918: 0x61C9,
+ 15919: 0x81BA,
+ 15920: 0x9DF9,
+ 15921: 0x4F9D,
+ 15922: 0x501A,
+ 15923: 0x5100,
+ 15924: 0x5B9C,
+ 15925: 0x610F,
+ 15926: 0x61FF,
+ 15927: 0x64EC,
+ 15928: 0x6905,
+ 15929: 0x6BC5,
+ 15930: 0x7591,
+ 15931: 0x77E3,
+ 15932: 0x7FA9,
+ 15933: 0x8264,
+ 15934: 0x858F,
+ 15935: 0x87FB,
+ 15936: 0x8863,
+ 15937: 0x8ABC,
+ 15938: 0x8B70,
+ 15939: 0x91AB,
+ 15940: 0x4E8C,
+ 15941: 0x4EE5,
+ 15942: 0x4F0A,
+ 15943: 0xF9DD,
+ 15944: 0xF9DE,
+ 15945: 0x5937,
+ 15946: 0x59E8,
+ 15947: 0xF9DF,
+ 15948: 0x5DF2,
+ 15949: 0x5F1B,
+ 15950: 0x5F5B,
+ 15951: 0x6021,
+ 15952: 0xF9E0,
+ 15953: 0xF9E1,
+ 15954: 0xF9E2,
+ 15955: 0xF9E3,
+ 15956: 0x723E,
+ 15957: 0x73E5,
+ 15958: 0xF9E4,
+ 15959: 0x7570,
+ 15960: 0x75CD,
+ 15961: 0xF9E5,
+ 15962: 0x79FB,
+ 15963: 0xF9E6,
+ 15964: 0x800C,
+ 15965: 0x8033,
+ 15966: 0x8084,
+ 15967: 0x82E1,
+ 15968: 0x8351,
+ 15969: 0xF9E7,
+ 15970: 0xF9E8,
+ 15971: 0x8CBD,
+ 15972: 0x8CB3,
+ 15973: 0x9087,
+ 15974: 0xF9E9,
+ 15975: 0xF9EA,
+ 15976: 0x98F4,
+ 15977: 0x990C,
+ 15978: 0xF9EB,
+ 15979: 0xF9EC,
+ 15980: 0x7037,
+ 15981: 0x76CA,
+ 15982: 0x7FCA,
+ 15983: 0x7FCC,
+ 15984: 0x7FFC,
+ 15985: 0x8B1A,
+ 15986: 0x4EBA,
+ 15987: 0x4EC1,
+ 15988: 0x5203,
+ 15989: 0x5370,
+ 15990: 0xF9ED,
+ 15991: 0x54BD,
+ 15992: 0x56E0,
+ 15993: 0x59FB,
+ 15994: 0x5BC5,
+ 15995: 0x5F15,
+ 15996: 0x5FCD,
+ 15997: 0x6E6E,
+ 15998: 0xF9EE,
+ 15999: 0xF9EF,
+ 16000: 0x7D6A,
+ 16001: 0x8335,
+ 16002: 0xF9F0,
+ 16003: 0x8693,
+ 16004: 0x8A8D,
+ 16005: 0xF9F1,
+ 16006: 0x976D,
+ 16007: 0x9777,
+ 16008: 0xF9F2,
+ 16009: 0xF9F3,
+ 16010: 0x4E00,
+ 16011: 0x4F5A,
+ 16012: 0x4F7E,
+ 16013: 0x58F9,
+ 16014: 0x65E5,
+ 16015: 0x6EA2,
+ 16016: 0x9038,
+ 16017: 0x93B0,
+ 16018: 0x99B9,
+ 16019: 0x4EFB,
+ 16020: 0x58EC,
+ 16021: 0x598A,
+ 16022: 0x59D9,
+ 16023: 0x6041,
+ 16024: 0xF9F4,
+ 16025: 0xF9F5,
+ 16026: 0x7A14,
+ 16027: 0xF9F6,
+ 16028: 0x834F,
+ 16029: 0x8CC3,
+ 16030: 0x5165,
+ 16031: 0x5344,
+ 16032: 0xF9F7,
+ 16033: 0xF9F8,
+ 16034: 0xF9F9,
+ 16035: 0x4ECD,
+ 16036: 0x5269,
+ 16037: 0x5B55,
+ 16038: 0x82BF,
+ 16039: 0x4ED4,
+ 16040: 0x523A,
+ 16041: 0x54A8,
+ 16042: 0x59C9,
+ 16043: 0x59FF,
+ 16044: 0x5B50,
+ 16045: 0x5B57,
+ 16046: 0x5B5C,
+ 16047: 0x6063,
+ 16048: 0x6148,
+ 16049: 0x6ECB,
+ 16050: 0x7099,
+ 16051: 0x716E,
+ 16052: 0x7386,
+ 16053: 0x74F7,
+ 16054: 0x75B5,
+ 16055: 0x78C1,
+ 16056: 0x7D2B,
+ 16057: 0x8005,
+ 16058: 0x81EA,
+ 16059: 0x8328,
+ 16060: 0x8517,
+ 16061: 0x85C9,
+ 16062: 0x8AEE,
+ 16063: 0x8CC7,
+ 16064: 0x96CC,
+ 16065: 0x4F5C,
+ 16066: 0x52FA,
+ 16067: 0x56BC,
+ 16068: 0x65AB,
+ 16069: 0x6628,
+ 16070: 0x707C,
+ 16071: 0x70B8,
+ 16072: 0x7235,
+ 16073: 0x7DBD,
+ 16074: 0x828D,
+ 16075: 0x914C,
+ 16076: 0x96C0,
+ 16077: 0x9D72,
+ 16078: 0x5B71,
+ 16079: 0x68E7,
+ 16080: 0x6B98,
+ 16081: 0x6F7A,
+ 16082: 0x76DE,
+ 16083: 0x5C91,
+ 16084: 0x66AB,
+ 16085: 0x6F5B,
+ 16086: 0x7BB4,
+ 16087: 0x7C2A,
+ 16088: 0x8836,
+ 16089: 0x96DC,
+ 16090: 0x4E08,
+ 16091: 0x4ED7,
+ 16092: 0x5320,
+ 16093: 0x5834,
+ 16094: 0x58BB,
+ 16095: 0x58EF,
+ 16096: 0x596C,
+ 16097: 0x5C07,
+ 16098: 0x5E33,
+ 16099: 0x5E84,
+ 16100: 0x5F35,
+ 16101: 0x638C,
+ 16102: 0x66B2,
+ 16103: 0x6756,
+ 16104: 0x6A1F,
+ 16105: 0x6AA3,
+ 16106: 0x6B0C,
+ 16107: 0x6F3F,
+ 16108: 0x7246,
+ 16109: 0xF9FA,
+ 16110: 0x7350,
+ 16111: 0x748B,
+ 16112: 0x7AE0,
+ 16113: 0x7CA7,
+ 16114: 0x8178,
+ 16115: 0x81DF,
+ 16116: 0x81E7,
+ 16117: 0x838A,
+ 16118: 0x846C,
+ 16119: 0x8523,
+ 16120: 0x8594,
+ 16121: 0x85CF,
+ 16122: 0x88DD,
+ 16123: 0x8D13,
+ 16124: 0x91AC,
+ 16125: 0x9577,
+ 16126: 0x969C,
+ 16127: 0x518D,
+ 16128: 0x54C9,
+ 16129: 0x5728,
+ 16130: 0x5BB0,
+ 16131: 0x624D,
+ 16132: 0x6750,
+ 16133: 0x683D,
+ 16134: 0x6893,
+ 16135: 0x6E3D,
+ 16136: 0x6ED3,
+ 16137: 0x707D,
+ 16138: 0x7E21,
+ 16139: 0x88C1,
+ 16140: 0x8CA1,
+ 16141: 0x8F09,
+ 16142: 0x9F4B,
+ 16143: 0x9F4E,
+ 16144: 0x722D,
+ 16145: 0x7B8F,
+ 16146: 0x8ACD,
+ 16147: 0x931A,
+ 16148: 0x4F47,
+ 16149: 0x4F4E,
+ 16150: 0x5132,
+ 16151: 0x5480,
+ 16152: 0x59D0,
+ 16153: 0x5E95,
+ 16154: 0x62B5,
+ 16155: 0x6775,
+ 16156: 0x696E,
+ 16157: 0x6A17,
+ 16158: 0x6CAE,
+ 16159: 0x6E1A,
+ 16160: 0x72D9,
+ 16161: 0x732A,
+ 16162: 0x75BD,
+ 16163: 0x7BB8,
+ 16164: 0x7D35,
+ 16165: 0x82E7,
+ 16166: 0x83F9,
+ 16167: 0x8457,
+ 16168: 0x85F7,
+ 16169: 0x8A5B,
+ 16170: 0x8CAF,
+ 16171: 0x8E87,
+ 16172: 0x9019,
+ 16173: 0x90B8,
+ 16174: 0x96CE,
+ 16175: 0x9F5F,
+ 16176: 0x52E3,
+ 16177: 0x540A,
+ 16178: 0x5AE1,
+ 16179: 0x5BC2,
+ 16180: 0x6458,
+ 16181: 0x6575,
+ 16182: 0x6EF4,
+ 16183: 0x72C4,
+ 16184: 0xF9FB,
+ 16185: 0x7684,
+ 16186: 0x7A4D,
+ 16187: 0x7B1B,
+ 16188: 0x7C4D,
+ 16189: 0x7E3E,
+ 16190: 0x7FDF,
+ 16191: 0x837B,
+ 16192: 0x8B2B,
+ 16193: 0x8CCA,
+ 16194: 0x8D64,
+ 16195: 0x8DE1,
+ 16196: 0x8E5F,
+ 16197: 0x8FEA,
+ 16198: 0x8FF9,
+ 16199: 0x9069,
+ 16200: 0x93D1,
+ 16201: 0x4F43,
+ 16202: 0x4F7A,
+ 16203: 0x50B3,
+ 16204: 0x5168,
+ 16205: 0x5178,
+ 16206: 0x524D,
+ 16207: 0x526A,
+ 16208: 0x5861,
+ 16209: 0x587C,
+ 16210: 0x5960,
+ 16211: 0x5C08,
+ 16212: 0x5C55,
+ 16213: 0x5EDB,
+ 16214: 0x609B,
+ 16215: 0x6230,
+ 16216: 0x6813,
+ 16217: 0x6BBF,
+ 16218: 0x6C08,
+ 16219: 0x6FB1,
+ 16220: 0x714E,
+ 16221: 0x7420,
+ 16222: 0x7530,
+ 16223: 0x7538,
+ 16224: 0x7551,
+ 16225: 0x7672,
+ 16226: 0x7B4C,
+ 16227: 0x7B8B,
+ 16228: 0x7BAD,
+ 16229: 0x7BC6,
+ 16230: 0x7E8F,
+ 16231: 0x8A6E,
+ 16232: 0x8F3E,
+ 16233: 0x8F49,
+ 16234: 0x923F,
+ 16235: 0x9293,
+ 16236: 0x9322,
+ 16237: 0x942B,
+ 16238: 0x96FB,
+ 16239: 0x985A,
+ 16240: 0x986B,
+ 16241: 0x991E,
+ 16242: 0x5207,
+ 16243: 0x622A,
+ 16244: 0x6298,
+ 16245: 0x6D59,
+ 16246: 0x7664,
+ 16247: 0x7ACA,
+ 16248: 0x7BC0,
+ 16249: 0x7D76,
+ 16250: 0x5360,
+ 16251: 0x5CBE,
+ 16252: 0x5E97,
+ 16253: 0x6F38,
+ 16254: 0x70B9,
+ 16255: 0x7C98,
+ 16256: 0x9711,
+ 16257: 0x9B8E,
+ 16258: 0x9EDE,
+ 16259: 0x63A5,
+ 16260: 0x647A,
+ 16261: 0x8776,
+ 16262: 0x4E01,
+ 16263: 0x4E95,
+ 16264: 0x4EAD,
+ 16265: 0x505C,
+ 16266: 0x5075,
+ 16267: 0x5448,
+ 16268: 0x59C3,
+ 16269: 0x5B9A,
+ 16270: 0x5E40,
+ 16271: 0x5EAD,
+ 16272: 0x5EF7,
+ 16273: 0x5F81,
+ 16274: 0x60C5,
+ 16275: 0x633A,
+ 16276: 0x653F,
+ 16277: 0x6574,
+ 16278: 0x65CC,
+ 16279: 0x6676,
+ 16280: 0x6678,
+ 16281: 0x67FE,
+ 16282: 0x6968,
+ 16283: 0x6A89,
+ 16284: 0x6B63,
+ 16285: 0x6C40,
+ 16286: 0x6DC0,
+ 16287: 0x6DE8,
+ 16288: 0x6E1F,
+ 16289: 0x6E5E,
+ 16290: 0x701E,
+ 16291: 0x70A1,
+ 16292: 0x738E,
+ 16293: 0x73FD,
+ 16294: 0x753A,
+ 16295: 0x775B,
+ 16296: 0x7887,
+ 16297: 0x798E,
+ 16298: 0x7A0B,
+ 16299: 0x7A7D,
+ 16300: 0x7CBE,
+ 16301: 0x7D8E,
+ 16302: 0x8247,
+ 16303: 0x8A02,
+ 16304: 0x8AEA,
+ 16305: 0x8C9E,
+ 16306: 0x912D,
+ 16307: 0x914A,
+ 16308: 0x91D8,
+ 16309: 0x9266,
+ 16310: 0x92CC,
+ 16311: 0x9320,
+ 16312: 0x9706,
+ 16313: 0x9756,
+ 16314: 0x975C,
+ 16315: 0x9802,
+ 16316: 0x9F0E,
+ 16317: 0x5236,
+ 16318: 0x5291,
+ 16319: 0x557C,
+ 16320: 0x5824,
+ 16321: 0x5E1D,
+ 16322: 0x5F1F,
+ 16323: 0x608C,
+ 16324: 0x63D0,
+ 16325: 0x68AF,
+ 16326: 0x6FDF,
+ 16327: 0x796D,
+ 16328: 0x7B2C,
+ 16329: 0x81CD,
+ 16330: 0x85BA,
+ 16331: 0x88FD,
+ 16332: 0x8AF8,
+ 16333: 0x8E44,
+ 16334: 0x918D,
+ 16335: 0x9664,
+ 16336: 0x969B,
+ 16337: 0x973D,
+ 16338: 0x984C,
+ 16339: 0x9F4A,
+ 16340: 0x4FCE,
+ 16341: 0x5146,
+ 16342: 0x51CB,
+ 16343: 0x52A9,
+ 16344: 0x5632,
+ 16345: 0x5F14,
+ 16346: 0x5F6B,
+ 16347: 0x63AA,
+ 16348: 0x64CD,
+ 16349: 0x65E9,
+ 16350: 0x6641,
+ 16351: 0x66FA,
+ 16352: 0x66F9,
+ 16353: 0x671D,
+ 16354: 0x689D,
+ 16355: 0x68D7,
+ 16356: 0x69FD,
+ 16357: 0x6F15,
+ 16358: 0x6F6E,
+ 16359: 0x7167,
+ 16360: 0x71E5,
+ 16361: 0x722A,
+ 16362: 0x74AA,
+ 16363: 0x773A,
+ 16364: 0x7956,
+ 16365: 0x795A,
+ 16366: 0x79DF,
+ 16367: 0x7A20,
+ 16368: 0x7A95,
+ 16369: 0x7C97,
+ 16370: 0x7CDF,
+ 16371: 0x7D44,
+ 16372: 0x7E70,
+ 16373: 0x8087,
+ 16374: 0x85FB,
+ 16375: 0x86A4,
+ 16376: 0x8A54,
+ 16377: 0x8ABF,
+ 16378: 0x8D99,
+ 16379: 0x8E81,
+ 16380: 0x9020,
+ 16381: 0x906D,
+ 16382: 0x91E3,
+ 16383: 0x963B,
+ 16384: 0x96D5,
+ 16385: 0x9CE5,
+ 16386: 0x65CF,
+ 16387: 0x7C07,
+ 16388: 0x8DB3,
+ 16389: 0x93C3,
+ 16390: 0x5B58,
+ 16391: 0x5C0A,
+ 16392: 0x5352,
+ 16393: 0x62D9,
+ 16394: 0x731D,
+ 16395: 0x5027,
+ 16396: 0x5B97,
+ 16397: 0x5F9E,
+ 16398: 0x60B0,
+ 16399: 0x616B,
+ 16400: 0x68D5,
+ 16401: 0x6DD9,
+ 16402: 0x742E,
+ 16403: 0x7A2E,
+ 16404: 0x7D42,
+ 16405: 0x7D9C,
+ 16406: 0x7E31,
+ 16407: 0x816B,
+ 16408: 0x8E2A,
+ 16409: 0x8E35,
+ 16410: 0x937E,
+ 16411: 0x9418,
+ 16412: 0x4F50,
+ 16413: 0x5750,
+ 16414: 0x5DE6,
+ 16415: 0x5EA7,
+ 16416: 0x632B,
+ 16417: 0x7F6A,
+ 16418: 0x4E3B,
+ 16419: 0x4F4F,
+ 16420: 0x4F8F,
+ 16421: 0x505A,
+ 16422: 0x59DD,
+ 16423: 0x80C4,
+ 16424: 0x546A,
+ 16425: 0x5468,
+ 16426: 0x55FE,
+ 16427: 0x594F,
+ 16428: 0x5B99,
+ 16429: 0x5DDE,
+ 16430: 0x5EDA,
+ 16431: 0x665D,
+ 16432: 0x6731,
+ 16433: 0x67F1,
+ 16434: 0x682A,
+ 16435: 0x6CE8,
+ 16436: 0x6D32,
+ 16437: 0x6E4A,
+ 16438: 0x6F8D,
+ 16439: 0x70B7,
+ 16440: 0x73E0,
+ 16441: 0x7587,
+ 16442: 0x7C4C,
+ 16443: 0x7D02,
+ 16444: 0x7D2C,
+ 16445: 0x7DA2,
+ 16446: 0x821F,
+ 16447: 0x86DB,
+ 16448: 0x8A3B,
+ 16449: 0x8A85,
+ 16450: 0x8D70,
+ 16451: 0x8E8A,
+ 16452: 0x8F33,
+ 16453: 0x9031,
+ 16454: 0x914E,
+ 16455: 0x9152,
+ 16456: 0x9444,
+ 16457: 0x99D0,
+ 16458: 0x7AF9,
+ 16459: 0x7CA5,
+ 16460: 0x4FCA,
+ 16461: 0x5101,
+ 16462: 0x51C6,
+ 16463: 0x57C8,
+ 16464: 0x5BEF,
+ 16465: 0x5CFB,
+ 16466: 0x6659,
+ 16467: 0x6A3D,
+ 16468: 0x6D5A,
+ 16469: 0x6E96,
+ 16470: 0x6FEC,
+ 16471: 0x710C,
+ 16472: 0x756F,
+ 16473: 0x7AE3,
+ 16474: 0x8822,
+ 16475: 0x9021,
+ 16476: 0x9075,
+ 16477: 0x96CB,
+ 16478: 0x99FF,
+ 16479: 0x8301,
+ 16480: 0x4E2D,
+ 16481: 0x4EF2,
+ 16482: 0x8846,
+ 16483: 0x91CD,
+ 16484: 0x537D,
+ 16485: 0x6ADB,
+ 16486: 0x696B,
+ 16487: 0x6C41,
+ 16488: 0x847A,
+ 16489: 0x589E,
+ 16490: 0x618E,
+ 16491: 0x66FE,
+ 16492: 0x62EF,
+ 16493: 0x70DD,
+ 16494: 0x7511,
+ 16495: 0x75C7,
+ 16496: 0x7E52,
+ 16497: 0x84B8,
+ 16498: 0x8B49,
+ 16499: 0x8D08,
+ 16500: 0x4E4B,
+ 16501: 0x53EA,
+ 16502: 0x54AB,
+ 16503: 0x5730,
+ 16504: 0x5740,
+ 16505: 0x5FD7,
+ 16506: 0x6301,
+ 16507: 0x6307,
+ 16508: 0x646F,
+ 16509: 0x652F,
+ 16510: 0x65E8,
+ 16511: 0x667A,
+ 16512: 0x679D,
+ 16513: 0x67B3,
+ 16514: 0x6B62,
+ 16515: 0x6C60,
+ 16516: 0x6C9A,
+ 16517: 0x6F2C,
+ 16518: 0x77E5,
+ 16519: 0x7825,
+ 16520: 0x7949,
+ 16521: 0x7957,
+ 16522: 0x7D19,
+ 16523: 0x80A2,
+ 16524: 0x8102,
+ 16525: 0x81F3,
+ 16526: 0x829D,
+ 16527: 0x82B7,
+ 16528: 0x8718,
+ 16529: 0x8A8C,
+ 16530: 0xF9FC,
+ 16531: 0x8D04,
+ 16532: 0x8DBE,
+ 16533: 0x9072,
+ 16534: 0x76F4,
+ 16535: 0x7A19,
+ 16536: 0x7A37,
+ 16537: 0x7E54,
+ 16538: 0x8077,
+ 16539: 0x5507,
+ 16540: 0x55D4,
+ 16541: 0x5875,
+ 16542: 0x632F,
+ 16543: 0x6422,
+ 16544: 0x6649,
+ 16545: 0x664B,
+ 16546: 0x686D,
+ 16547: 0x699B,
+ 16548: 0x6B84,
+ 16549: 0x6D25,
+ 16550: 0x6EB1,
+ 16551: 0x73CD,
+ 16552: 0x7468,
+ 16553: 0x74A1,
+ 16554: 0x755B,
+ 16555: 0x75B9,
+ 16556: 0x76E1,
+ 16557: 0x771E,
+ 16558: 0x778B,
+ 16559: 0x79E6,
+ 16560: 0x7E09,
+ 16561: 0x7E1D,
+ 16562: 0x81FB,
+ 16563: 0x852F,
+ 16564: 0x8897,
+ 16565: 0x8A3A,
+ 16566: 0x8CD1,
+ 16567: 0x8EEB,
+ 16568: 0x8FB0,
+ 16569: 0x9032,
+ 16570: 0x93AD,
+ 16571: 0x9663,
+ 16572: 0x9673,
+ 16573: 0x9707,
+ 16574: 0x4F84,
+ 16575: 0x53F1,
+ 16576: 0x59EA,
+ 16577: 0x5AC9,
+ 16578: 0x5E19,
+ 16579: 0x684E,
+ 16580: 0x74C6,
+ 16581: 0x75BE,
+ 16582: 0x79E9,
+ 16583: 0x7A92,
+ 16584: 0x81A3,
+ 16585: 0x86ED,
+ 16586: 0x8CEA,
+ 16587: 0x8DCC,
+ 16588: 0x8FED,
+ 16589: 0x659F,
+ 16590: 0x6715,
+ 16591: 0xF9FD,
+ 16592: 0x57F7,
+ 16593: 0x6F57,
+ 16594: 0x7DDD,
+ 16595: 0x8F2F,
+ 16596: 0x93F6,
+ 16597: 0x96C6,
+ 16598: 0x5FB5,
+ 16599: 0x61F2,
+ 16600: 0x6F84,
+ 16601: 0x4E14,
+ 16602: 0x4F98,
+ 16603: 0x501F,
+ 16604: 0x53C9,
+ 16605: 0x55DF,
+ 16606: 0x5D6F,
+ 16607: 0x5DEE,
+ 16608: 0x6B21,
+ 16609: 0x6B64,
+ 16610: 0x78CB,
+ 16611: 0x7B9A,
+ 16612: 0xF9FE,
+ 16613: 0x8E49,
+ 16614: 0x8ECA,
+ 16615: 0x906E,
+ 16616: 0x6349,
+ 16617: 0x643E,
+ 16618: 0x7740,
+ 16619: 0x7A84,
+ 16620: 0x932F,
+ 16621: 0x947F,
+ 16622: 0x9F6A,
+ 16623: 0x64B0,
+ 16624: 0x6FAF,
+ 16625: 0x71E6,
+ 16626: 0x74A8,
+ 16627: 0x74DA,
+ 16628: 0x7AC4,
+ 16629: 0x7C12,
+ 16630: 0x7E82,
+ 16631: 0x7CB2,
+ 16632: 0x7E98,
+ 16633: 0x8B9A,
+ 16634: 0x8D0A,
+ 16635: 0x947D,
+ 16636: 0x9910,
+ 16637: 0x994C,
+ 16638: 0x5239,
+ 16639: 0x5BDF,
+ 16640: 0x64E6,
+ 16641: 0x672D,
+ 16642: 0x7D2E,
+ 16643: 0x50ED,
+ 16644: 0x53C3,
+ 16645: 0x5879,
+ 16646: 0x6158,
+ 16647: 0x6159,
+ 16648: 0x61FA,
+ 16649: 0x65AC,
+ 16650: 0x7AD9,
+ 16651: 0x8B92,
+ 16652: 0x8B96,
+ 16653: 0x5009,
+ 16654: 0x5021,
+ 16655: 0x5275,
+ 16656: 0x5531,
+ 16657: 0x5A3C,
+ 16658: 0x5EE0,
+ 16659: 0x5F70,
+ 16660: 0x6134,
+ 16661: 0x655E,
+ 16662: 0x660C,
+ 16663: 0x6636,
+ 16664: 0x66A2,
+ 16665: 0x69CD,
+ 16666: 0x6EC4,
+ 16667: 0x6F32,
+ 16668: 0x7316,
+ 16669: 0x7621,
+ 16670: 0x7A93,
+ 16671: 0x8139,
+ 16672: 0x8259,
+ 16673: 0x83D6,
+ 16674: 0x84BC,
+ 16675: 0x50B5,
+ 16676: 0x57F0,
+ 16677: 0x5BC0,
+ 16678: 0x5BE8,
+ 16679: 0x5F69,
+ 16680: 0x63A1,
+ 16681: 0x7826,
+ 16682: 0x7DB5,
+ 16683: 0x83DC,
+ 16684: 0x8521,
+ 16685: 0x91C7,
+ 16686: 0x91F5,
+ 16687: 0x518A,
+ 16688: 0x67F5,
+ 16689: 0x7B56,
+ 16690: 0x8CAC,
+ 16691: 0x51C4,
+ 16692: 0x59BB,
+ 16693: 0x60BD,
+ 16694: 0x8655,
+ 16695: 0x501C,
+ 16696: 0xF9FF,
+ 16697: 0x5254,
+ 16698: 0x5C3A,
+ 16699: 0x617D,
+ 16700: 0x621A,
+ 16701: 0x62D3,
+ 16702: 0x64F2,
+ 16703: 0x65A5,
+ 16704: 0x6ECC,
+ 16705: 0x7620,
+ 16706: 0x810A,
+ 16707: 0x8E60,
+ 16708: 0x965F,
+ 16709: 0x96BB,
+ 16710: 0x4EDF,
+ 16711: 0x5343,
+ 16712: 0x5598,
+ 16713: 0x5929,
+ 16714: 0x5DDD,
+ 16715: 0x64C5,
+ 16716: 0x6CC9,
+ 16717: 0x6DFA,
+ 16718: 0x7394,
+ 16719: 0x7A7F,
+ 16720: 0x821B,
+ 16721: 0x85A6,
+ 16722: 0x8CE4,
+ 16723: 0x8E10,
+ 16724: 0x9077,
+ 16725: 0x91E7,
+ 16726: 0x95E1,
+ 16727: 0x9621,
+ 16728: 0x97C6,
+ 16729: 0x51F8,
+ 16730: 0x54F2,
+ 16731: 0x5586,
+ 16732: 0x5FB9,
+ 16733: 0x64A4,
+ 16734: 0x6F88,
+ 16735: 0x7DB4,
+ 16736: 0x8F1F,
+ 16737: 0x8F4D,
+ 16738: 0x9435,
+ 16739: 0x50C9,
+ 16740: 0x5C16,
+ 16741: 0x6CBE,
+ 16742: 0x6DFB,
+ 16743: 0x751B,
+ 16744: 0x77BB,
+ 16745: 0x7C3D,
+ 16746: 0x7C64,
+ 16747: 0x8A79,
+ 16748: 0x8AC2,
+ 16749: 0x581E,
+ 16750: 0x59BE,
+ 16751: 0x5E16,
+ 16752: 0x6377,
+ 16753: 0x7252,
+ 16754: 0x758A,
+ 16755: 0x776B,
+ 16756: 0x8ADC,
+ 16757: 0x8CBC,
+ 16758: 0x8F12,
+ 16759: 0x5EF3,
+ 16760: 0x6674,
+ 16761: 0x6DF8,
+ 16762: 0x807D,
+ 16763: 0x83C1,
+ 16764: 0x8ACB,
+ 16765: 0x9751,
+ 16766: 0x9BD6,
+ 16767: 0xFA00,
+ 16768: 0x5243,
+ 16769: 0x66FF,
+ 16770: 0x6D95,
+ 16771: 0x6EEF,
+ 16772: 0x7DE0,
+ 16773: 0x8AE6,
+ 16774: 0x902E,
+ 16775: 0x905E,
+ 16776: 0x9AD4,
+ 16777: 0x521D,
+ 16778: 0x527F,
+ 16779: 0x54E8,
+ 16780: 0x6194,
+ 16781: 0x6284,
+ 16782: 0x62DB,
+ 16783: 0x68A2,
+ 16784: 0x6912,
+ 16785: 0x695A,
+ 16786: 0x6A35,
+ 16787: 0x7092,
+ 16788: 0x7126,
+ 16789: 0x785D,
+ 16790: 0x7901,
+ 16791: 0x790E,
+ 16792: 0x79D2,
+ 16793: 0x7A0D,
+ 16794: 0x8096,
+ 16795: 0x8278,
+ 16796: 0x82D5,
+ 16797: 0x8349,
+ 16798: 0x8549,
+ 16799: 0x8C82,
+ 16800: 0x8D85,
+ 16801: 0x9162,
+ 16802: 0x918B,
+ 16803: 0x91AE,
+ 16804: 0x4FC3,
+ 16805: 0x56D1,
+ 16806: 0x71ED,
+ 16807: 0x77D7,
+ 16808: 0x8700,
+ 16809: 0x89F8,
+ 16810: 0x5BF8,
+ 16811: 0x5FD6,
+ 16812: 0x6751,
+ 16813: 0x90A8,
+ 16814: 0x53E2,
+ 16815: 0x585A,
+ 16816: 0x5BF5,
+ 16817: 0x60A4,
+ 16818: 0x6181,
+ 16819: 0x6460,
+ 16820: 0x7E3D,
+ 16821: 0x8070,
+ 16822: 0x8525,
+ 16823: 0x9283,
+ 16824: 0x64AE,
+ 16825: 0x50AC,
+ 16826: 0x5D14,
+ 16827: 0x6700,
+ 16828: 0x589C,
+ 16829: 0x62BD,
+ 16830: 0x63A8,
+ 16831: 0x690E,
+ 16832: 0x6978,
+ 16833: 0x6A1E,
+ 16834: 0x6E6B,
+ 16835: 0x76BA,
+ 16836: 0x79CB,
+ 16837: 0x82BB,
+ 16838: 0x8429,
+ 16839: 0x8ACF,
+ 16840: 0x8DA8,
+ 16841: 0x8FFD,
+ 16842: 0x9112,
+ 16843: 0x914B,
+ 16844: 0x919C,
+ 16845: 0x9310,
+ 16846: 0x9318,
+ 16847: 0x939A,
+ 16848: 0x96DB,
+ 16849: 0x9A36,
+ 16850: 0x9C0D,
+ 16851: 0x4E11,
+ 16852: 0x755C,
+ 16853: 0x795D,
+ 16854: 0x7AFA,
+ 16855: 0x7B51,
+ 16856: 0x7BC9,
+ 16857: 0x7E2E,
+ 16858: 0x84C4,
+ 16859: 0x8E59,
+ 16860: 0x8E74,
+ 16861: 0x8EF8,
+ 16862: 0x9010,
+ 16863: 0x6625,
+ 16864: 0x693F,
+ 16865: 0x7443,
+ 16866: 0x51FA,
+ 16867: 0x672E,
+ 16868: 0x9EDC,
+ 16869: 0x5145,
+ 16870: 0x5FE0,
+ 16871: 0x6C96,
+ 16872: 0x87F2,
+ 16873: 0x885D,
+ 16874: 0x8877,
+ 16875: 0x60B4,
+ 16876: 0x81B5,
+ 16877: 0x8403,
+ 16878: 0x8D05,
+ 16879: 0x53D6,
+ 16880: 0x5439,
+ 16881: 0x5634,
+ 16882: 0x5A36,
+ 16883: 0x5C31,
+ 16884: 0x708A,
+ 16885: 0x7FE0,
+ 16886: 0x805A,
+ 16887: 0x8106,
+ 16888: 0x81ED,
+ 16889: 0x8DA3,
+ 16890: 0x9189,
+ 16891: 0x9A5F,
+ 16892: 0x9DF2,
+ 16893: 0x5074,
+ 16894: 0x4EC4,
+ 16895: 0x53A0,
+ 16896: 0x60FB,
+ 16897: 0x6E2C,
+ 16898: 0x5C64,
+ 16899: 0x4F88,
+ 16900: 0x5024,
+ 16901: 0x55E4,
+ 16902: 0x5CD9,
+ 16903: 0x5E5F,
+ 16904: 0x6065,
+ 16905: 0x6894,
+ 16906: 0x6CBB,
+ 16907: 0x6DC4,
+ 16908: 0x71BE,
+ 16909: 0x75D4,
+ 16910: 0x75F4,
+ 16911: 0x7661,
+ 16912: 0x7A1A,
+ 16913: 0x7A49,
+ 16914: 0x7DC7,
+ 16915: 0x7DFB,
+ 16916: 0x7F6E,
+ 16917: 0x81F4,
+ 16918: 0x86A9,
+ 16919: 0x8F1C,
+ 16920: 0x96C9,
+ 16921: 0x99B3,
+ 16922: 0x9F52,
+ 16923: 0x5247,
+ 16924: 0x52C5,
+ 16925: 0x98ED,
+ 16926: 0x89AA,
+ 16927: 0x4E03,
+ 16928: 0x67D2,
+ 16929: 0x6F06,
+ 16930: 0x4FB5,
+ 16931: 0x5BE2,
+ 16932: 0x6795,
+ 16933: 0x6C88,
+ 16934: 0x6D78,
+ 16935: 0x741B,
+ 16936: 0x7827,
+ 16937: 0x91DD,
+ 16938: 0x937C,
+ 16939: 0x87C4,
+ 16940: 0x79E4,
+ 16941: 0x7A31,
+ 16942: 0x5FEB,
+ 16943: 0x4ED6,
+ 16944: 0x54A4,
+ 16945: 0x553E,
+ 16946: 0x58AE,
+ 16947: 0x59A5,
+ 16948: 0x60F0,
+ 16949: 0x6253,
+ 16950: 0x62D6,
+ 16951: 0x6736,
+ 16952: 0x6955,
+ 16953: 0x8235,
+ 16954: 0x9640,
+ 16955: 0x99B1,
+ 16956: 0x99DD,
+ 16957: 0x502C,
+ 16958: 0x5353,
+ 16959: 0x5544,
+ 16960: 0x577C,
+ 16961: 0xFA01,
+ 16962: 0x6258,
+ 16963: 0xFA02,
+ 16964: 0x64E2,
+ 16965: 0x666B,
+ 16966: 0x67DD,
+ 16967: 0x6FC1,
+ 16968: 0x6FEF,
+ 16969: 0x7422,
+ 16970: 0x7438,
+ 16971: 0x8A17,
+ 16972: 0x9438,
+ 16973: 0x5451,
+ 16974: 0x5606,
+ 16975: 0x5766,
+ 16976: 0x5F48,
+ 16977: 0x619A,
+ 16978: 0x6B4E,
+ 16979: 0x7058,
+ 16980: 0x70AD,
+ 16981: 0x7DBB,
+ 16982: 0x8A95,
+ 16983: 0x596A,
+ 16984: 0x812B,
+ 16985: 0x63A2,
+ 16986: 0x7708,
+ 16987: 0x803D,
+ 16988: 0x8CAA,
+ 16989: 0x5854,
+ 16990: 0x642D,
+ 16991: 0x69BB,
+ 16992: 0x5B95,
+ 16993: 0x5E11,
+ 16994: 0x6E6F,
+ 16995: 0xFA03,
+ 16996: 0x8569,
+ 16997: 0x514C,
+ 16998: 0x53F0,
+ 16999: 0x592A,
+ 17000: 0x6020,
+ 17001: 0x614B,
+ 17002: 0x6B86,
+ 17003: 0x6C70,
+ 17004: 0x6CF0,
+ 17005: 0x7B1E,
+ 17006: 0x80CE,
+ 17007: 0x82D4,
+ 17008: 0x8DC6,
+ 17009: 0x90B0,
+ 17010: 0x98B1,
+ 17011: 0xFA04,
+ 17012: 0x64C7,
+ 17013: 0x6FA4,
+ 17014: 0x6491,
+ 17015: 0x6504,
+ 17016: 0x514E,
+ 17017: 0x5410,
+ 17018: 0x571F,
+ 17019: 0x8A0E,
+ 17020: 0x615F,
+ 17021: 0x6876,
+ 17022: 0xFA05,
+ 17023: 0x75DB,
+ 17024: 0x7B52,
+ 17025: 0x7D71,
+ 17026: 0x901A,
+ 17027: 0x5806,
+ 17028: 0x69CC,
+ 17029: 0x817F,
+ 17030: 0x892A,
+ 17031: 0x9000,
+ 17032: 0x9839,
+ 17033: 0x5078,
+ 17034: 0x5957,
+ 17035: 0x59AC,
+ 17036: 0x6295,
+ 17037: 0x900F,
+ 17038: 0x9B2A,
+ 17039: 0x615D,
+ 17040: 0x7279,
+ 17041: 0x95D6,
+ 17042: 0x5761,
+ 17043: 0x5A46,
+ 17044: 0x5DF4,
+ 17045: 0x628A,
+ 17046: 0x64AD,
+ 17047: 0x64FA,
+ 17048: 0x6777,
+ 17049: 0x6CE2,
+ 17050: 0x6D3E,
+ 17051: 0x722C,
+ 17052: 0x7436,
+ 17053: 0x7834,
+ 17054: 0x7F77,
+ 17055: 0x82AD,
+ 17056: 0x8DDB,
+ 17057: 0x9817,
+ 17058: 0x5224,
+ 17059: 0x5742,
+ 17060: 0x677F,
+ 17061: 0x7248,
+ 17062: 0x74E3,
+ 17063: 0x8CA9,
+ 17064: 0x8FA6,
+ 17065: 0x9211,
+ 17066: 0x962A,
+ 17067: 0x516B,
+ 17068: 0x53ED,
+ 17069: 0x634C,
+ 17070: 0x4F69,
+ 17071: 0x5504,
+ 17072: 0x6096,
+ 17073: 0x6557,
+ 17074: 0x6C9B,
+ 17075: 0x6D7F,
+ 17076: 0x724C,
+ 17077: 0x72FD,
+ 17078: 0x7A17,
+ 17079: 0x8987,
+ 17080: 0x8C9D,
+ 17081: 0x5F6D,
+ 17082: 0x6F8E,
+ 17083: 0x70F9,
+ 17084: 0x81A8,
+ 17085: 0x610E,
+ 17086: 0x4FBF,
+ 17087: 0x504F,
+ 17088: 0x6241,
+ 17089: 0x7247,
+ 17090: 0x7BC7,
+ 17091: 0x7DE8,
+ 17092: 0x7FE9,
+ 17093: 0x904D,
+ 17094: 0x97AD,
+ 17095: 0x9A19,
+ 17096: 0x8CB6,
+ 17097: 0x576A,
+ 17098: 0x5E73,
+ 17099: 0x67B0,
+ 17100: 0x840D,
+ 17101: 0x8A55,
+ 17102: 0x5420,
+ 17103: 0x5B16,
+ 17104: 0x5E63,
+ 17105: 0x5EE2,
+ 17106: 0x5F0A,
+ 17107: 0x6583,
+ 17108: 0x80BA,
+ 17109: 0x853D,
+ 17110: 0x9589,
+ 17111: 0x965B,
+ 17112: 0x4F48,
+ 17113: 0x5305,
+ 17114: 0x530D,
+ 17115: 0x530F,
+ 17116: 0x5486,
+ 17117: 0x54FA,
+ 17118: 0x5703,
+ 17119: 0x5E03,
+ 17120: 0x6016,
+ 17121: 0x629B,
+ 17122: 0x62B1,
+ 17123: 0x6355,
+ 17124: 0xFA06,
+ 17125: 0x6CE1,
+ 17126: 0x6D66,
+ 17127: 0x75B1,
+ 17128: 0x7832,
+ 17129: 0x80DE,
+ 17130: 0x812F,
+ 17131: 0x82DE,
+ 17132: 0x8461,
+ 17133: 0x84B2,
+ 17134: 0x888D,
+ 17135: 0x8912,
+ 17136: 0x900B,
+ 17137: 0x92EA,
+ 17138: 0x98FD,
+ 17139: 0x9B91,
+ 17140: 0x5E45,
+ 17141: 0x66B4,
+ 17142: 0x66DD,
+ 17143: 0x7011,
+ 17144: 0x7206,
+ 17145: 0xFA07,
+ 17146: 0x4FF5,
+ 17147: 0x527D,
+ 17148: 0x5F6A,
+ 17149: 0x6153,
+ 17150: 0x6753,
+ 17151: 0x6A19,
+ 17152: 0x6F02,
+ 17153: 0x74E2,
+ 17154: 0x7968,
+ 17155: 0x8868,
+ 17156: 0x8C79,
+ 17157: 0x98C7,
+ 17158: 0x98C4,
+ 17159: 0x9A43,
+ 17160: 0x54C1,
+ 17161: 0x7A1F,
+ 17162: 0x6953,
+ 17163: 0x8AF7,
+ 17164: 0x8C4A,
+ 17165: 0x98A8,
+ 17166: 0x99AE,
+ 17167: 0x5F7C,
+ 17168: 0x62AB,
+ 17169: 0x75B2,
+ 17170: 0x76AE,
+ 17171: 0x88AB,
+ 17172: 0x907F,
+ 17173: 0x9642,
+ 17174: 0x5339,
+ 17175: 0x5F3C,
+ 17176: 0x5FC5,
+ 17177: 0x6CCC,
+ 17178: 0x73CC,
+ 17179: 0x7562,
+ 17180: 0x758B,
+ 17181: 0x7B46,
+ 17182: 0x82FE,
+ 17183: 0x999D,
+ 17184: 0x4E4F,
+ 17185: 0x903C,
+ 17186: 0x4E0B,
+ 17187: 0x4F55,
+ 17188: 0x53A6,
+ 17189: 0x590F,
+ 17190: 0x5EC8,
+ 17191: 0x6630,
+ 17192: 0x6CB3,
+ 17193: 0x7455,
+ 17194: 0x8377,
+ 17195: 0x8766,
+ 17196: 0x8CC0,
+ 17197: 0x9050,
+ 17198: 0x971E,
+ 17199: 0x9C15,
+ 17200: 0x58D1,
+ 17201: 0x5B78,
+ 17202: 0x8650,
+ 17203: 0x8B14,
+ 17204: 0x9DB4,
+ 17205: 0x5BD2,
+ 17206: 0x6068,
+ 17207: 0x608D,
+ 17208: 0x65F1,
+ 17209: 0x6C57,
+ 17210: 0x6F22,
+ 17211: 0x6FA3,
+ 17212: 0x701A,
+ 17213: 0x7F55,
+ 17214: 0x7FF0,
+ 17215: 0x9591,
+ 17216: 0x9592,
+ 17217: 0x9650,
+ 17218: 0x97D3,
+ 17219: 0x5272,
+ 17220: 0x8F44,
+ 17221: 0x51FD,
+ 17222: 0x542B,
+ 17223: 0x54B8,
+ 17224: 0x5563,
+ 17225: 0x558A,
+ 17226: 0x6ABB,
+ 17227: 0x6DB5,
+ 17228: 0x7DD8,
+ 17229: 0x8266,
+ 17230: 0x929C,
+ 17231: 0x9677,
+ 17232: 0x9E79,
+ 17233: 0x5408,
+ 17234: 0x54C8,
+ 17235: 0x76D2,
+ 17236: 0x86E4,
+ 17237: 0x95A4,
+ 17238: 0x95D4,
+ 17239: 0x965C,
+ 17240: 0x4EA2,
+ 17241: 0x4F09,
+ 17242: 0x59EE,
+ 17243: 0x5AE6,
+ 17244: 0x5DF7,
+ 17245: 0x6052,
+ 17246: 0x6297,
+ 17247: 0x676D,
+ 17248: 0x6841,
+ 17249: 0x6C86,
+ 17250: 0x6E2F,
+ 17251: 0x7F38,
+ 17252: 0x809B,
+ 17253: 0x822A,
+ 17254: 0xFA08,
+ 17255: 0xFA09,
+ 17256: 0x9805,
+ 17257: 0x4EA5,
+ 17258: 0x5055,
+ 17259: 0x54B3,
+ 17260: 0x5793,
+ 17261: 0x595A,
+ 17262: 0x5B69,
+ 17263: 0x5BB3,
+ 17264: 0x61C8,
+ 17265: 0x6977,
+ 17266: 0x6D77,
+ 17267: 0x7023,
+ 17268: 0x87F9,
+ 17269: 0x89E3,
+ 17270: 0x8A72,
+ 17271: 0x8AE7,
+ 17272: 0x9082,
+ 17273: 0x99ED,
+ 17274: 0x9AB8,
+ 17275: 0x52BE,
+ 17276: 0x6838,
+ 17277: 0x5016,
+ 17278: 0x5E78,
+ 17279: 0x674F,
+ 17280: 0x8347,
+ 17281: 0x884C,
+ 17282: 0x4EAB,
+ 17283: 0x5411,
+ 17284: 0x56AE,
+ 17285: 0x73E6,
+ 17286: 0x9115,
+ 17287: 0x97FF,
+ 17288: 0x9909,
+ 17289: 0x9957,
+ 17290: 0x9999,
+ 17291: 0x5653,
+ 17292: 0x589F,
+ 17293: 0x865B,
+ 17294: 0x8A31,
+ 17295: 0x61B2,
+ 17296: 0x6AF6,
+ 17297: 0x737B,
+ 17298: 0x8ED2,
+ 17299: 0x6B47,
+ 17300: 0x96AA,
+ 17301: 0x9A57,
+ 17302: 0x5955,
+ 17303: 0x7200,
+ 17304: 0x8D6B,
+ 17305: 0x9769,
+ 17306: 0x4FD4,
+ 17307: 0x5CF4,
+ 17308: 0x5F26,
+ 17309: 0x61F8,
+ 17310: 0x665B,
+ 17311: 0x6CEB,
+ 17312: 0x70AB,
+ 17313: 0x7384,
+ 17314: 0x73B9,
+ 17315: 0x73FE,
+ 17316: 0x7729,
+ 17317: 0x774D,
+ 17318: 0x7D43,
+ 17319: 0x7D62,
+ 17320: 0x7E23,
+ 17321: 0x8237,
+ 17322: 0x8852,
+ 17323: 0xFA0A,
+ 17324: 0x8CE2,
+ 17325: 0x9249,
+ 17326: 0x986F,
+ 17327: 0x5B51,
+ 17328: 0x7A74,
+ 17329: 0x8840,
+ 17330: 0x9801,
+ 17331: 0x5ACC,
+ 17332: 0x4FE0,
+ 17333: 0x5354,
+ 17334: 0x593E,
+ 17335: 0x5CFD,
+ 17336: 0x633E,
+ 17337: 0x6D79,
+ 17338: 0x72F9,
+ 17339: 0x8105,
+ 17340: 0x8107,
+ 17341: 0x83A2,
+ 17342: 0x92CF,
+ 17343: 0x9830,
+ 17344: 0x4EA8,
+ 17345: 0x5144,
+ 17346: 0x5211,
+ 17347: 0x578B,
+ 17348: 0x5F62,
+ 17349: 0x6CC2,
+ 17350: 0x6ECE,
+ 17351: 0x7005,
+ 17352: 0x7050,
+ 17353: 0x70AF,
+ 17354: 0x7192,
+ 17355: 0x73E9,
+ 17356: 0x7469,
+ 17357: 0x834A,
+ 17358: 0x87A2,
+ 17359: 0x8861,
+ 17360: 0x9008,
+ 17361: 0x90A2,
+ 17362: 0x93A3,
+ 17363: 0x99A8,
+ 17364: 0x516E,
+ 17365: 0x5F57,
+ 17366: 0x60E0,
+ 17367: 0x6167,
+ 17368: 0x66B3,
+ 17369: 0x8559,
+ 17370: 0x8E4A,
+ 17371: 0x91AF,
+ 17372: 0x978B,
+ 17373: 0x4E4E,
+ 17374: 0x4E92,
+ 17375: 0x547C,
+ 17376: 0x58D5,
+ 17377: 0x58FA,
+ 17378: 0x597D,
+ 17379: 0x5CB5,
+ 17380: 0x5F27,
+ 17381: 0x6236,
+ 17382: 0x6248,
+ 17383: 0x660A,
+ 17384: 0x6667,
+ 17385: 0x6BEB,
+ 17386: 0x6D69,
+ 17387: 0x6DCF,
+ 17388: 0x6E56,
+ 17389: 0x6EF8,
+ 17390: 0x6F94,
+ 17391: 0x6FE0,
+ 17392: 0x6FE9,
+ 17393: 0x705D,
+ 17394: 0x72D0,
+ 17395: 0x7425,
+ 17396: 0x745A,
+ 17397: 0x74E0,
+ 17398: 0x7693,
+ 17399: 0x795C,
+ 17400: 0x7CCA,
+ 17401: 0x7E1E,
+ 17402: 0x80E1,
+ 17403: 0x82A6,
+ 17404: 0x846B,
+ 17405: 0x84BF,
+ 17406: 0x864E,
+ 17407: 0x865F,
+ 17408: 0x8774,
+ 17409: 0x8B77,
+ 17410: 0x8C6A,
+ 17411: 0x93AC,
+ 17412: 0x9800,
+ 17413: 0x9865,
+ 17414: 0x60D1,
+ 17415: 0x6216,
+ 17416: 0x9177,
+ 17417: 0x5A5A,
+ 17418: 0x660F,
+ 17419: 0x6DF7,
+ 17420: 0x6E3E,
+ 17421: 0x743F,
+ 17422: 0x9B42,
+ 17423: 0x5FFD,
+ 17424: 0x60DA,
+ 17425: 0x7B0F,
+ 17426: 0x54C4,
+ 17427: 0x5F18,
+ 17428: 0x6C5E,
+ 17429: 0x6CD3,
+ 17430: 0x6D2A,
+ 17431: 0x70D8,
+ 17432: 0x7D05,
+ 17433: 0x8679,
+ 17434: 0x8A0C,
+ 17435: 0x9D3B,
+ 17436: 0x5316,
+ 17437: 0x548C,
+ 17438: 0x5B05,
+ 17439: 0x6A3A,
+ 17440: 0x706B,
+ 17441: 0x7575,
+ 17442: 0x798D,
+ 17443: 0x79BE,
+ 17444: 0x82B1,
+ 17445: 0x83EF,
+ 17446: 0x8A71,
+ 17447: 0x8B41,
+ 17448: 0x8CA8,
+ 17449: 0x9774,
+ 17450: 0xFA0B,
+ 17451: 0x64F4,
+ 17452: 0x652B,
+ 17453: 0x78BA,
+ 17454: 0x78BB,
+ 17455: 0x7A6B,
+ 17456: 0x4E38,
+ 17457: 0x559A,
+ 17458: 0x5950,
+ 17459: 0x5BA6,
+ 17460: 0x5E7B,
+ 17461: 0x60A3,
+ 17462: 0x63DB,
+ 17463: 0x6B61,
+ 17464: 0x6665,
+ 17465: 0x6853,
+ 17466: 0x6E19,
+ 17467: 0x7165,
+ 17468: 0x74B0,
+ 17469: 0x7D08,
+ 17470: 0x9084,
+ 17471: 0x9A69,
+ 17472: 0x9C25,
+ 17473: 0x6D3B,
+ 17474: 0x6ED1,
+ 17475: 0x733E,
+ 17476: 0x8C41,
+ 17477: 0x95CA,
+ 17478: 0x51F0,
+ 17479: 0x5E4C,
+ 17480: 0x5FA8,
+ 17481: 0x604D,
+ 17482: 0x60F6,
+ 17483: 0x6130,
+ 17484: 0x614C,
+ 17485: 0x6643,
+ 17486: 0x6644,
+ 17487: 0x69A5,
+ 17488: 0x6CC1,
+ 17489: 0x6E5F,
+ 17490: 0x6EC9,
+ 17491: 0x6F62,
+ 17492: 0x714C,
+ 17493: 0x749C,
+ 17494: 0x7687,
+ 17495: 0x7BC1,
+ 17496: 0x7C27,
+ 17497: 0x8352,
+ 17498: 0x8757,
+ 17499: 0x9051,
+ 17500: 0x968D,
+ 17501: 0x9EC3,
+ 17502: 0x532F,
+ 17503: 0x56DE,
+ 17504: 0x5EFB,
+ 17505: 0x5F8A,
+ 17506: 0x6062,
+ 17507: 0x6094,
+ 17508: 0x61F7,
+ 17509: 0x6666,
+ 17510: 0x6703,
+ 17511: 0x6A9C,
+ 17512: 0x6DEE,
+ 17513: 0x6FAE,
+ 17514: 0x7070,
+ 17515: 0x736A,
+ 17516: 0x7E6A,
+ 17517: 0x81BE,
+ 17518: 0x8334,
+ 17519: 0x86D4,
+ 17520: 0x8AA8,
+ 17521: 0x8CC4,
+ 17522: 0x5283,
+ 17523: 0x7372,
+ 17524: 0x5B96,
+ 17525: 0x6A6B,
+ 17526: 0x9404,
+ 17527: 0x54EE,
+ 17528: 0x5686,
+ 17529: 0x5B5D,
+ 17530: 0x6548,
+ 17531: 0x6585,
+ 17532: 0x66C9,
+ 17533: 0x689F,
+ 17534: 0x6D8D,
+ 17535: 0x6DC6,
+ 17536: 0x723B,
+ 17537: 0x80B4,
+ 17538: 0x9175,
+ 17539: 0x9A4D,
+ 17540: 0x4FAF,
+ 17541: 0x5019,
+ 17542: 0x539A,
+ 17543: 0x540E,
+ 17544: 0x543C,
+ 17545: 0x5589,
+ 17546: 0x55C5,
+ 17547: 0x5E3F,
+ 17548: 0x5F8C,
+ 17549: 0x673D,
+ 17550: 0x7166,
+ 17551: 0x73DD,
+ 17552: 0x9005,
+ 17553: 0x52DB,
+ 17554: 0x52F3,
+ 17555: 0x5864,
+ 17556: 0x58CE,
+ 17557: 0x7104,
+ 17558: 0x718F,
+ 17559: 0x71FB,
+ 17560: 0x85B0,
+ 17561: 0x8A13,
+ 17562: 0x6688,
+ 17563: 0x85A8,
+ 17564: 0x55A7,
+ 17565: 0x6684,
+ 17566: 0x714A,
+ 17567: 0x8431,
+ 17568: 0x5349,
+ 17569: 0x5599,
+ 17570: 0x6BC1,
+ 17571: 0x5F59,
+ 17572: 0x5FBD,
+ 17573: 0x63EE,
+ 17574: 0x6689,
+ 17575: 0x7147,
+ 17576: 0x8AF1,
+ 17577: 0x8F1D,
+ 17578: 0x9EBE,
+ 17579: 0x4F11,
+ 17580: 0x643A,
+ 17581: 0x70CB,
+ 17582: 0x7566,
+ 17583: 0x8667,
+ 17584: 0x6064,
+ 17585: 0x8B4E,
+ 17586: 0x9DF8,
+ 17587: 0x5147,
+ 17588: 0x51F6,
+ 17589: 0x5308,
+ 17590: 0x6D36,
+ 17591: 0x80F8,
+ 17592: 0x9ED1,
+ 17593: 0x6615,
+ 17594: 0x6B23,
+ 17595: 0x7098,
+ 17596: 0x75D5,
+ 17597: 0x5403,
+ 17598: 0x5C79,
+ 17599: 0x7D07,
+ 17600: 0x8A16,
+ 17601: 0x6B20,
+ 17602: 0x6B3D,
+ 17603: 0x6B46,
+ 17604: 0x5438,
+ 17605: 0x6070,
+ 17606: 0x6D3D,
+ 17607: 0x7FD5,
+ 17608: 0x8208,
+ 17609: 0x50D6,
+ 17610: 0x51DE,
+ 17611: 0x559C,
+ 17612: 0x566B,
+ 17613: 0x56CD,
+ 17614: 0x59EC,
+ 17615: 0x5B09,
+ 17616: 0x5E0C,
+ 17617: 0x6199,
+ 17618: 0x6198,
+ 17619: 0x6231,
+ 17620: 0x665E,
+ 17621: 0x66E6,
+ 17622: 0x7199,
+ 17623: 0x71B9,
+ 17624: 0x71BA,
+ 17625: 0x72A7,
+ 17626: 0x79A7,
+ 17627: 0x7A00,
+ 17628: 0x7FB2,
+ 17629: 0x8A70,
+}
+
+const numEncodeTables = 7
+
+// encodeX are the encoding tables from Unicode to EUC-KR code,
+// sorted by decreasing length.
+// encode0: 20893 entries for runes in [19968, 40861).
+// encode1: 11172 entries for runes in [44032, 55204).
+// encode2: 1625 entries for runes in [ 8213, 9838).
+// encode3: 990 entries for runes in [12288, 13278).
+// encode4: 945 entries for runes in [ 161, 1106).
+// encode5: 268 entries for runes in [63744, 64012).
+// encode6: 230 entries for runes in [65281, 65511).
+
+const encode0Low, encode0High = 19968, 40861
+
+var encode0 = [...]uint16{
+ 19968 - 19968: 0xECE9,
+ 19969 - 19968: 0xEFCB,
+ 19971 - 19968: 0xF6D2,
+ 19975 - 19968: 0xD8B2,
+ 19976 - 19968: 0xEDDB,
+ 19977 - 19968: 0xDFB2,
+ 19978 - 19968: 0xDFBE,
+ 19979 - 19968: 0xF9BB,
+ 19981 - 19968: 0xDCF4,
+ 19985 - 19968: 0xF5E4,
+ 19988 - 19968: 0xF3A6,
+ 19989 - 19968: 0xDDE0,
+ 19990 - 19968: 0xE1A6,
+ 19992 - 19968: 0xCEF8,
+ 19993 - 19968: 0xDCB0,
+ 19998 - 19968: 0xE3AA,
+ 20013 - 19968: 0xF1E9,
+ 20018 - 19968: 0xCDFA,
+ 20024 - 19968: 0xFCAF,
+ 20025 - 19968: 0xD3A1,
+ 20027 - 19968: 0xF1AB,
+ 20034 - 19968: 0xE7D1,
+ 20035 - 19968: 0xD2AC,
+ 20037 - 19968: 0xCEF9,
+ 20043 - 19968: 0xF1FD,
+ 20045 - 19968: 0xDEBF,
+ 20046 - 19968: 0xFBBA,
+ 20047 - 19968: 0xF9B9,
+ 20054 - 19968: 0xCED2,
+ 20056 - 19968: 0xE3AB,
+ 20057 - 19968: 0xEBE0,
+ 20061 - 19968: 0xCEFA,
+ 20062 - 19968: 0xCBF7,
+ 20063 - 19968: 0xE5A5,
+ 20075 - 19968: 0xCAE1,
+ 20077 - 19968: 0xD4CC,
+ 20083 - 19968: 0xEAE1,
+ 20086 - 19968: 0xDCE3,
+ 20087 - 19968: 0xDFAD,
+ 20094 - 19968: 0xCBEB,
+ 20098 - 19968: 0xD5AF,
+ 20102 - 19968: 0xD6F5,
+ 20104 - 19968: 0xE5F8,
+ 20107 - 19968: 0xDEC0,
+ 20108 - 19968: 0xECA3,
+ 20110 - 19968: 0xE9CD,
+ 20112 - 19968: 0xEAA7,
+ 20113 - 19968: 0xE9F6,
+ 20114 - 19968: 0xFBBB,
+ 20116 - 19968: 0xE7E9,
+ 20117 - 19968: 0xEFCC,
+ 20120 - 19968: 0xD0E6,
+ 20123 - 19968: 0xDEC1,
+ 20126 - 19968: 0xE4AC,
+ 20129 - 19968: 0xD8CC,
+ 20130 - 19968: 0xF9F1,
+ 20132 - 19968: 0xCEDF,
+ 20133 - 19968: 0xFAA4,
+ 20134 - 19968: 0xE6B2,
+ 20136 - 19968: 0xFAFB,
+ 20139 - 19968: 0xFABD,
+ 20140 - 19968: 0xCCC8,
+ 20141 - 19968: 0xEFCD,
+ 20142 - 19968: 0xD5D5,
+ 20150 - 19968: 0xD3A2,
+ 20154 - 19968: 0xECD1,
+ 20160 - 19968: 0xE4A7,
+ 20161 - 19968: 0xECD2,
+ 20164 - 19968: 0xF6B1,
+ 20167 - 19968: 0xCEFB,
+ 20170 - 19968: 0xD0D1,
+ 20171 - 19968: 0xCBBF,
+ 20173 - 19968: 0xEDA4,
+ 20180 - 19968: 0xEDA8,
+ 20181 - 19968: 0xDEC2,
+ 20182 - 19968: 0xF6E2,
+ 20183 - 19968: 0xEDDC,
+ 20184 - 19968: 0xDCF5,
+ 20185 - 19968: 0xE0B9,
+ 20189 - 19968: 0xD4CE,
+ 20191 - 19968: 0xF4B5,
+ 20195 - 19968: 0xD3DB,
+ 20196 - 19968: 0xD6B5,
+ 20197 - 19968: 0xECA4,
+ 20208 - 19968: 0xE4E6,
+ 20210 - 19968: 0xF1EA,
+ 20214 - 19968: 0xCBEC,
+ 20215 - 19968: 0xCBC0,
+ 20219 - 19968: 0xECF2,
+ 20225 - 19968: 0xD0EA,
+ 20233 - 19968: 0xF9F2,
+ 20234 - 19968: 0xECA5,
+ 20235 - 19968: 0xD0DF,
+ 20237 - 19968: 0xE7EA,
+ 20238 - 19968: 0xD0EB,
+ 20239 - 19968: 0xDCD1,
+ 20240 - 19968: 0xDBE9,
+ 20241 - 19968: 0xFDCC,
+ 20271 - 19968: 0xDBD7,
+ 20276 - 19968: 0xDAE1,
+ 20278 - 19968: 0xD6B6,
+ 20280 - 19968: 0xE3DF,
+ 20282 - 19968: 0xDEC3,
+ 20284 - 19968: 0xDEC4,
+ 20285 - 19968: 0xCAA1,
+ 20291 - 19968: 0xEEEC,
+ 20294 - 19968: 0xD3A3,
+ 20295 - 19968: 0xEEB7,
+ 20296 - 19968: 0xF8CF,
+ 20301 - 19968: 0xEAC8,
+ 20302 - 19968: 0xEEB8,
+ 20303 - 19968: 0xF1AC,
+ 20304 - 19968: 0xF1A5,
+ 20305 - 19968: 0xE9CE,
+ 20309 - 19968: 0xF9BC,
+ 20313 - 19968: 0xE5F9,
+ 20314 - 19968: 0xECEA,
+ 20315 - 19968: 0xDDD6,
+ 20316 - 19968: 0xEDC2,
+ 20329 - 19968: 0xF8A5,
+ 20335 - 19968: 0xE5BA,
+ 20336 - 19968: 0xDBD8,
+ 20339 - 19968: 0xCAA2,
+ 20342 - 19968: 0xD1CD,
+ 20346 - 19968: 0xEEED,
+ 20350 - 19968: 0xECEB,
+ 20351 - 19968: 0xDEC5,
+ 20353 - 19968: 0xE3E0,
+ 20355 - 19968: 0xCAC9,
+ 20356 - 19968: 0xF2E9,
+ 20358 - 19968: 0xD5CE,
+ 20360 - 19968: 0xF6B6,
+ 20362 - 19968: 0xCEC2,
+ 20363 - 19968: 0xD6C7,
+ 20365 - 19968: 0xE3B4,
+ 20367 - 19968: 0xF1AD,
+ 20369 - 19968: 0xEAE2,
+ 20374 - 19968: 0xD7C2,
+ 20376 - 19968: 0xF3A7,
+ 20379 - 19968: 0xCDEA,
+ 20381 - 19968: 0xEBEE,
+ 20398 - 19968: 0xD9B2,
+ 20399 - 19968: 0xFDA5,
+ 20405 - 19968: 0xF6D5,
+ 20406 - 19968: 0xD5E2,
+ 20415 - 19968: 0xF8B5,
+ 20418 - 19968: 0xCCF5,
+ 20419 - 19968: 0xF5B5,
+ 20420 - 19968: 0xE4AD,
+ 20425 - 19968: 0xE7EB,
+ 20426 - 19968: 0xF1D5,
+ 20430 - 19968: 0xF0BB,
+ 20433 - 19968: 0xE9B5,
+ 20435 - 19968: 0xCCC9,
+ 20436 - 19968: 0xFAD5,
+ 20439 - 19968: 0xE1D4,
+ 20442 - 19968: 0xD7D6,
+ 20445 - 19968: 0xDCC1,
+ 20447 - 19968: 0xDEC6,
+ 20448 - 19968: 0xFAEF,
+ 20449 - 19968: 0xE3E1,
+ 20462 - 19968: 0xE1F3,
+ 20463 - 19968: 0xDCF6,
+ 20465 - 19968: 0xCEFC,
+ 20467 - 19968: 0xDBC4,
+ 20469 - 19968: 0xF8F1,
+ 20472 - 19968: 0xDCE4,
+ 20474 - 19968: 0xE5EF,
+ 20482 - 19968: 0xDCB1,
+ 20486 - 19968: 0xD5D6,
+ 20489 - 19968: 0xF3DA,
+ 20491 - 19968: 0xCBC1,
+ 20493 - 19968: 0xDBC3,
+ 20497 - 19968: 0xD9FA,
+ 20498 - 19968: 0xD3EE,
+ 20502 - 19968: 0xFAB8,
+ 20505 - 19968: 0xFDA6,
+ 20506 - 19968: 0xEBEF,
+ 20508 - 19968: 0xF4A6,
+ 20510 - 19968: 0xCCCA,
+ 20511 - 19968: 0xF3A8,
+ 20513 - 19968: 0xF3DB,
+ 20515 - 19968: 0xDBA7,
+ 20516 - 19968: 0xF6B7,
+ 20518 - 19968: 0xCFE6,
+ 20519 - 19968: 0xF0F2,
+ 20520 - 19968: 0xCBDA,
+ 20522 - 19968: 0xE7D2,
+ 20523 - 19968: 0xD7C3,
+ 20524 - 19968: 0xF6F0,
+ 20525 - 19968: 0xE8DE,
+ 20539 - 19968: 0xE5A6,
+ 20547 - 19968: 0xE5E7,
+ 20551 - 19968: 0xCAA3,
+ 20552 - 19968: 0xCCA7,
+ 20553 - 19968: 0xEAC9,
+ 20559 - 19968: 0xF8B6,
+ 20565 - 19968: 0xFAA5,
+ 20570 - 19968: 0xF1AE,
+ 20572 - 19968: 0xEFCE,
+ 20581 - 19968: 0xCBED,
+ 20596 - 19968: 0xF6B0,
+ 20597 - 19968: 0xEFCF,
+ 20598 - 19968: 0xE9CF,
+ 20600 - 19968: 0xF7DE,
+ 20608 - 19968: 0xCED3,
+ 20613 - 19968: 0xDCF7,
+ 20621 - 19968: 0xDBA8,
+ 20625 - 19968: 0xCBF8,
+ 20632 - 19968: 0xDFA1,
+ 20633 - 19968: 0xDDE1,
+ 20652 - 19968: 0xF5CA,
+ 20653 - 19968: 0xE9B6,
+ 20658 - 19968: 0xE7EC,
+ 20659 - 19968: 0xEEEE,
+ 20661 - 19968: 0xF3F0,
+ 20663 - 19968: 0xDFBF,
+ 20670 - 19968: 0xCCCB,
+ 20677 - 19968: 0xD0C1,
+ 20681 - 19968: 0xF4D2,
+ 20682 - 19968: 0xE0BA,
+ 20687 - 19968: 0xDFC0,
+ 20689 - 19968: 0xCEE0,
+ 20693 - 19968: 0xDCD2,
+ 20694 - 19968: 0xFDEA,
+ 20698 - 19968: 0xD6F6,
+ 20702 - 19968: 0xEACA,
+ 20709 - 19968: 0xE8E9,
+ 20711 - 19968: 0xE3AC,
+ 20717 - 19968: 0xF3D0,
+ 20729 - 19968: 0xCAA4,
+ 20731 - 19968: 0xDBF8,
+ 20735 - 19968: 0xDEC7,
+ 20736 - 19968: 0xEBF0,
+ 20737 - 19968: 0xF1D6,
+ 20740 - 19968: 0xE5E2,
+ 20742 - 19968: 0xCCCC,
+ 20745 - 19968: 0xCBFB,
+ 20754 - 19968: 0xEAE3,
+ 20767 - 19968: 0xDFC1,
+ 20769 - 19968: 0xD6ED,
+ 20778 - 19968: 0xE9D0,
+ 20786 - 19968: 0xEEB9,
+ 20791 - 19968: 0xD5E3,
+ 20794 - 19968: 0xD1D3,
+ 20796 - 19968: 0xE5F0,
+ 20800 - 19968: 0xE8B4,
+ 20801 - 19968: 0xEBC3,
+ 20803 - 19968: 0xEAAA,
+ 20804 - 19968: 0xFAFC,
+ 20805 - 19968: 0xF5F6,
+ 20806 - 19968: 0xF0BC,
+ 20807 - 19968: 0xFDD4,
+ 20808 - 19968: 0xE0BB,
+ 20809 - 19968: 0xCEC3,
+ 20811 - 19968: 0xD0BA,
+ 20812 - 19968: 0xF7BA,
+ 20813 - 19968: 0xD8F3,
+ 20814 - 19968: 0xF7CD,
+ 20818 - 19968: 0xE4AE,
+ 20828 - 19968: 0xD4DF,
+ 20834 - 19968: 0xD0E7,
+ 20837 - 19968: 0xECFD,
+ 20839 - 19968: 0xD2AE,
+ 20840 - 19968: 0xEEEF,
+ 20841 - 19968: 0xD5D7,
+ 20842 - 19968: 0xEAE4,
+ 20843 - 19968: 0xF8A2,
+ 20844 - 19968: 0xCDEB,
+ 20845 - 19968: 0xD7BF,
+ 20846 - 19968: 0xFBB1,
+ 20849 - 19968: 0xCDEC,
+ 20853 - 19968: 0xDCB2,
+ 20854 - 19968: 0xD0EC,
+ 20855 - 19968: 0xCEFD,
+ 20856 - 19968: 0xEEF0,
+ 20860 - 19968: 0xCCC2,
+ 20864 - 19968: 0xD0ED,
+ 20870 - 19968: 0xE5F7,
+ 20874 - 19968: 0xF3FC,
+ 20877 - 19968: 0xEEA2,
+ 20882 - 19968: 0xD9B3,
+ 20885 - 19968: 0xD8F4,
+ 20887 - 19968: 0xE9B7,
+ 20896 - 19968: 0xCEAE,
+ 20901 - 19968: 0xD9A2,
+ 20906 - 19968: 0xD8F1,
+ 20908 - 19968: 0xD4CF,
+ 20918 - 19968: 0xE5A7,
+ 20919 - 19968: 0xD5D2,
+ 20925 - 19968: 0xD6A9,
+ 20932 - 19968: 0xF4A2,
+ 20934 - 19968: 0xF1D7,
+ 20937 - 19968: 0xD5D8,
+ 20939 - 19968: 0xF0BD,
+ 20940 - 19968: 0xD7D0,
+ 20941 - 19968: 0xD4D0,
+ 20956 - 19968: 0xD7CF,
+ 20957 - 19968: 0xEBEA,
+ 20958 - 19968: 0xFDEB,
+ 20961 - 19968: 0xDBED,
+ 20976 - 19968: 0xFCC5,
+ 20977 - 19968: 0xCBC2,
+ 20982 - 19968: 0xFDD5,
+ 20984 - 19968: 0xF4C8,
+ 20985 - 19968: 0xE8EA,
+ 20986 - 19968: 0xF5F3,
+ 20989 - 19968: 0xF9DE,
+ 20992 - 19968: 0xD3EF,
+ 20995 - 19968: 0xECD3,
+ 20998 - 19968: 0xDDC2,
+ 20999 - 19968: 0xEFB7,
+ 21000 - 19968: 0xE7D4,
+ 21002 - 19968: 0xCACA,
+ 21006 - 19968: 0xD9FB,
+ 21009 - 19968: 0xFAFD,
+ 21015 - 19968: 0xD6AA,
+ 21021 - 19968: 0xF4F8,
+ 21028 - 19968: 0xF7F7,
+ 21029 - 19968: 0xDCAC,
+ 21033 - 19968: 0xD7D7,
+ 21034 - 19968: 0xDFA2,
+ 21038 - 19968: 0xCEBE,
+ 21040 - 19968: 0xD3F0,
+ 21046 - 19968: 0xF0A4,
+ 21047 - 19968: 0xE1EC,
+ 21048 - 19968: 0xCFE7,
+ 21049 - 19968: 0xF3CB,
+ 21050 - 19968: 0xEDA9,
+ 21051 - 19968: 0xCABE,
+ 21059 - 19968: 0xF4EF,
+ 21063 - 19968: 0xF6CE,
+ 21066 - 19968: 0xDEFB,
+ 21067 - 19968: 0xD0BB,
+ 21068 - 19968: 0xD5B7,
+ 21069 - 19968: 0xEEF1,
+ 21076 - 19968: 0xF4A8,
+ 21078 - 19968: 0xDCF8,
+ 21083 - 19968: 0xCBA7,
+ 21085 - 19968: 0xDACE,
+ 21089 - 19968: 0xE0E6,
+ 21097 - 19968: 0xEDA5,
+ 21098 - 19968: 0xEEF2,
+ 21103 - 19968: 0xDCF9,
+ 21106 - 19968: 0xF9DC,
+ 21109 - 19968: 0xF3DC,
+ 21117 - 19968: 0xF8F2,
+ 21119 - 19968: 0xF4F9,
+ 21123 - 19968: 0xFCF1,
+ 21127 - 19968: 0xD0BC,
+ 21128 - 19968: 0xDBF9,
+ 21129 - 19968: 0xD7B1,
+ 21133 - 19968: 0xCBFC,
+ 21137 - 19968: 0xF0A5,
+ 21138 - 19968: 0xCBFD,
+ 21147 - 19968: 0xD5F4,
+ 21151 - 19968: 0xCDED,
+ 21152 - 19968: 0xCAA5,
+ 21155 - 19968: 0xD6AB,
+ 21156 - 19968: 0xD0C2,
+ 21161 - 19968: 0xF0BE,
+ 21162 - 19968: 0xD2BD,
+ 21163 - 19968: 0xCCA4,
+ 21182 - 19968: 0xFAB6,
+ 21185 - 19968: 0xCCCD,
+ 21187 - 19968: 0xDAFA,
+ 21189 - 19968: 0xF6CF,
+ 21191 - 19968: 0xE9B8,
+ 21193 - 19968: 0xD8F5,
+ 21197 - 19968: 0xCCCE,
+ 21202 - 19968: 0xD7CD,
+ 21205 - 19968: 0xD4D1,
+ 21206 - 19968: 0xE9ED,
+ 21208 - 19968: 0xCAEB,
+ 21209 - 19968: 0xD9E2,
+ 21211 - 19968: 0xFDB2,
+ 21213 - 19968: 0xE3AD,
+ 21214 - 19968: 0xD6CC,
+ 21215 - 19968: 0xD9B4,
+ 21218 - 19968: 0xE1A7,
+ 21219 - 19968: 0xEED3,
+ 21220 - 19968: 0xD0C3,
+ 21235 - 19968: 0xFDB3,
+ 21237 - 19968: 0xD5E4,
+ 21240 - 19968: 0xCFE8,
+ 21242 - 19968: 0xEDC3,
+ 21243 - 19968: 0xD0B2,
+ 21246 - 19968: 0xCEFE,
+ 21247 - 19968: 0xDAA8,
+ 21253 - 19968: 0xF8D0,
+ 21256 - 19968: 0xFDD6,
+ 21261 - 19968: 0xF8D1,
+ 21263 - 19968: 0xF8D2,
+ 21264 - 19968: 0xDCD3,
+ 21269 - 19968: 0xDDE2,
+ 21270 - 19968: 0xFBF9,
+ 21271 - 19968: 0xDDC1,
+ 21273 - 19968: 0xE3B5,
+ 21280 - 19968: 0xEDDD,
+ 21281 - 19968: 0xCEC4,
+ 21283 - 19968: 0xCBA1,
+ 21290 - 19968: 0xDDE3,
+ 21295 - 19968: 0xFCDD,
+ 21305 - 19968: 0xF9AF,
+ 21311 - 19968: 0xD2FB,
+ 21312 - 19968: 0xCFA1,
+ 21313 - 19968: 0xE4A8,
+ 21315 - 19968: 0xF4B6,
+ 21316 - 19968: 0xECFE,
+ 21319 - 19968: 0xE3AE,
+ 21320 - 19968: 0xE7ED,
+ 21321 - 19968: 0xFDC1,
+ 21322 - 19968: 0xDAE2,
+ 21325 - 19968: 0xD8B3,
+ 21329 - 19968: 0xDDE4,
+ 21330 - 19968: 0xF0EF,
+ 21331 - 19968: 0xF6F1,
+ 21332 - 19968: 0xFAF0,
+ 21335 - 19968: 0xD1F5,
+ 21338 - 19968: 0xDACF,
+ 21340 - 19968: 0xDCD4,
+ 21342 - 19968: 0xDCA6,
+ 21344 - 19968: 0xEFBF,
+ 21350 - 19968: 0xCECF,
+ 21352 - 19968: 0xE0D9,
+ 21359 - 19968: 0xD9D6,
+ 21360 - 19968: 0xECD4,
+ 21361 - 19968: 0xEACB,
+ 21364 - 19968: 0xCABF,
+ 21365 - 19968: 0xD5B0,
+ 21367 - 19968: 0xCFE9,
+ 21373 - 19968: 0xF1ED,
+ 21375 - 19968: 0xCCCF,
+ 21380 - 19968: 0xE4F8,
+ 21395 - 19968: 0xE4ED,
+ 21400 - 19968: 0xD7D8,
+ 21402 - 19968: 0xFDA7,
+ 21407 - 19968: 0xEAAB,
+ 21408 - 19968: 0xF6B2,
+ 21413 - 19968: 0xCFF0,
+ 21414 - 19968: 0xF9BD,
+ 21421 - 19968: 0xE6F4,
+ 21435 - 19968: 0xCBDB,
+ 21443 - 19968: 0xF3D1,
+ 21448 - 19968: 0xE9D1,
+ 21449 - 19968: 0xF3A9,
+ 21450 - 19968: 0xD0E0,
+ 21451 - 19968: 0xE9D2,
+ 21453 - 19968: 0xDAE3,
+ 21460 - 19968: 0xE2D2,
+ 21462 - 19968: 0xF6A2,
+ 21463 - 19968: 0xE1F4,
+ 21467 - 19968: 0xDAE4,
+ 21473 - 19968: 0xE7D5,
+ 21474 - 19968: 0xF5BF,
+ 21475 - 19968: 0xCFA2,
+ 21476 - 19968: 0xCDAF,
+ 21477 - 19968: 0xCFA3,
+ 21481 - 19968: 0xCDB0,
+ 21482 - 19968: 0xF1FE,
+ 21483 - 19968: 0xD0A3,
+ 21484 - 19968: 0xE1AF,
+ 21485 - 19968: 0xF8A3,
+ 21487 - 19968: 0xCAA6,
+ 21488 - 19968: 0xF7BB,
+ 21489 - 19968: 0xF2EA,
+ 21490 - 19968: 0xDEC8,
+ 21491 - 19968: 0xE9D3,
+ 21496 - 19968: 0xDEC9,
+ 21507 - 19968: 0xFDDE,
+ 21508 - 19968: 0xCAC0,
+ 21512 - 19968: 0xF9EA,
+ 21513 - 19968: 0xD1CE,
+ 21514 - 19968: 0xEED4,
+ 21516 - 19968: 0xD4D2,
+ 21517 - 19968: 0xD9A3,
+ 21518 - 19968: 0xFDA8,
+ 21519 - 19968: 0xD7D9,
+ 21520 - 19968: 0xF7CE,
+ 21521 - 19968: 0xFABE,
+ 21531 - 19968: 0xCFD6,
+ 21533 - 19968: 0xD7F0,
+ 21535 - 19968: 0xEBE1,
+ 21536 - 19968: 0xF8C5,
+ 21542 - 19968: 0xDCFA,
+ 21545 - 19968: 0xDDC3,
+ 21547 - 19968: 0xF9DF,
+ 21555 - 19968: 0xE7EF,
+ 21560 - 19968: 0xFDE5,
+ 21561 - 19968: 0xF6A3,
+ 21563 - 19968: 0xD9FC,
+ 21564 - 19968: 0xFDA9,
+ 21566 - 19968: 0xE7EE,
+ 21570 - 19968: 0xD5E5,
+ 21576 - 19968: 0xEFD0,
+ 21578 - 19968: 0xCDB1,
+ 21585 - 19968: 0xF7A2,
+ 21608 - 19968: 0xF1B2,
+ 21610 - 19968: 0xF1B1,
+ 21617 - 19968: 0xCDB2,
+ 21619 - 19968: 0xDAAB,
+ 21621 - 19968: 0xCAA7,
+ 21627 - 19968: 0xE3E2,
+ 21628 - 19968: 0xFBBC,
+ 21629 - 19968: 0xD9A4,
+ 21632 - 19968: 0xEEBA,
+ 21638 - 19968: 0xF8D3,
+ 21644 - 19968: 0xFBFA,
+ 21646 - 19968: 0xCFA4,
+ 21648 - 19968: 0xDCFB,
+ 21668 - 19968: 0xF6E3,
+ 21672 - 19968: 0xEDAA,
+ 21675 - 19968: 0xF2A1,
+ 21676 - 19968: 0xCEE1,
+ 21683 - 19968: 0xFAA6,
+ 21688 - 19968: 0xF9E0,
+ 21693 - 19968: 0xECD6,
+ 21696 - 19968: 0xE4EE,
+ 21697 - 19968: 0xF9A1,
+ 21700 - 19968: 0xFBEF,
+ 21704 - 19968: 0xF9EB,
+ 21705 - 19968: 0xEEA3,
+ 21729 - 19968: 0xEAAC,
+ 21733 - 19968: 0xCAA8,
+ 21736 - 19968: 0xF4FA,
+ 21741 - 19968: 0xCDD6,
+ 21742 - 19968: 0xFCF6,
+ 21746 - 19968: 0xF4C9,
+ 21754 - 19968: 0xF8D4,
+ 21764 - 19968: 0xF8A6,
+ 21766 - 19968: 0xDECA,
+ 21767 - 19968: 0xF2C6,
+ 21774 - 19968: 0xD7DA,
+ 21776 - 19968: 0xD3D0,
+ 21788 - 19968: 0xD8C5,
+ 21807 - 19968: 0xEAE6,
+ 21809 - 19968: 0xF3DD,
+ 21813 - 19968: 0xE4DA,
+ 21822 - 19968: 0xF6E4,
+ 21828 - 19968: 0xF6F2,
+ 21830 - 19968: 0xDFC2,
+ 21839 - 19968: 0xD9FD,
+ 21843 - 19968: 0xCCF6,
+ 21846 - 19968: 0xD3BA,
+ 21854 - 19968: 0xE4AF,
+ 21859 - 19968: 0xF9E1,
+ 21884 - 19968: 0xF0A6,
+ 21888 - 19968: 0xCBD3,
+ 21892 - 19968: 0xE0BC,
+ 21894 - 19968: 0xF4CA,
+ 21895 - 19968: 0xD4FA,
+ 21897 - 19968: 0xFDAA,
+ 21898 - 19968: 0xF9E2,
+ 21912 - 19968: 0xF4B7,
+ 21913 - 19968: 0xFDC2,
+ 21914 - 19968: 0xFCB0,
+ 21916 - 19968: 0xFDEC,
+ 21917 - 19968: 0xCAE2,
+ 21927 - 19968: 0xFDBD,
+ 21929 - 19968: 0xEAE7,
+ 21930 - 19968: 0xDFC3,
+ 21931 - 19968: 0xD1D2,
+ 21932 - 19968: 0xCEE2,
+ 21934 - 19968: 0xD3A4,
+ 21957 - 19968: 0xFDAB,
+ 21959 - 19968: 0xDFE0,
+ 21972 - 19968: 0xF2C7,
+ 21978 - 19968: 0xE7F0,
+ 21980 - 19968: 0xD0EE,
+ 21983 - 19968: 0xF3AA,
+ 21987 - 19968: 0xDECB,
+ 21988 - 19968: 0xF6B8,
+ 22013 - 19968: 0xE1F5,
+ 22014 - 19968: 0xF1B3,
+ 22022 - 19968: 0xF7A3,
+ 22025 - 19968: 0xCAA9,
+ 22036 - 19968: 0xCFA5,
+ 22039 - 19968: 0xDFC4,
+ 22063 - 19968: 0xE1B0,
+ 22066 - 19968: 0xF0BF,
+ 22068 - 19968: 0xF6A4,
+ 22070 - 19968: 0xE3B6,
+ 22099 - 19968: 0xFAC6,
+ 22120 - 19968: 0xD0EF,
+ 22123 - 19968: 0xFDED,
+ 22132 - 19968: 0xDDC4,
+ 22150 - 19968: 0xFCF7,
+ 22181 - 19968: 0xE6BF,
+ 22188 - 19968: 0xDEAD,
+ 22190 - 19968: 0xFABF,
+ 22196 - 19968: 0xE5F1,
+ 22204 - 19968: 0xEDC4,
+ 22218 - 19968: 0xD2A5,
+ 22221 - 19968: 0xFDEE,
+ 22225 - 19968: 0xF5B6,
+ 22234 - 19968: 0xE1F6,
+ 22235 - 19968: 0xDECC,
+ 22238 - 19968: 0xFCDE,
+ 22240 - 19968: 0xECD7,
+ 22256 - 19968: 0xCDDD,
+ 22265 - 19968: 0xD6B7,
+ 22266 - 19968: 0xCDB3,
+ 22275 - 19968: 0xF8D5,
+ 22276 - 19968: 0xE5D8,
+ 22280 - 19968: 0xCFEA,
+ 22283 - 19968: 0xCFD0,
+ 22285 - 19968: 0xEACC,
+ 22290 - 19968: 0xEAAE,
+ 22291 - 19968: 0xEAAD,
+ 22294 - 19968: 0xD3F1,
+ 22296 - 19968: 0xD3A5,
+ 22303 - 19968: 0xF7CF,
+ 22312 - 19968: 0xEEA4,
+ 22317 - 19968: 0xD0A4,
+ 22320 - 19968: 0xF2A2,
+ 22331 - 19968: 0xD0F0,
+ 22336 - 19968: 0xF2A3,
+ 22338 - 19968: 0xF7F8,
+ 22343 - 19968: 0xD0B3,
+ 22346 - 19968: 0xDBA9,
+ 22349 - 19968: 0xD3BB,
+ 22350 - 19968: 0xCAEC,
+ 22352 - 19968: 0xF1A6,
+ 22353 - 19968: 0xCBD5,
+ 22369 - 19968: 0xF7E7,
+ 22372 - 19968: 0xCDDE,
+ 22374 - 19968: 0xF7A4,
+ 22378 - 19968: 0xF8C0,
+ 22382 - 19968: 0xD3DD,
+ 22384 - 19968: 0xCCD0,
+ 22389 - 19968: 0xCFA6,
+ 22396 - 19968: 0xF6F3,
+ 22402 - 19968: 0xE1F7,
+ 22408 - 19968: 0xD3DC,
+ 22411 - 19968: 0xFAFE,
+ 22419 - 19968: 0xFAA7,
+ 22432 - 19968: 0xEBD9,
+ 22434 - 19968: 0xCFA7,
+ 22435 - 19968: 0xEAAF,
+ 22467 - 19968: 0xE4EF,
+ 22471 - 19968: 0xE9B9,
+ 22472 - 19968: 0xF1D8,
+ 22475 - 19968: 0xD8D8,
+ 22478 - 19968: 0xE0F2,
+ 22495 - 19968: 0xE6B4,
+ 22496 - 19968: 0xDCFC,
+ 22512 - 19968: 0xF3F1,
+ 22516 - 19968: 0xE3D0,
+ 22519 - 19968: 0xF2FB,
+ 22521 - 19968: 0xDBC6,
+ 22522 - 19968: 0xD0F1,
+ 22524 - 19968: 0xD0F2,
+ 22528 - 19968: 0xCFDC,
+ 22530 - 19968: 0xD3D1,
+ 22533 - 19968: 0xCCB1,
+ 22534 - 19968: 0xF7D8,
+ 22536 - 19968: 0xCBA8,
+ 22537 - 19968: 0xEBBC,
+ 22538 - 19968: 0xE4BE,
+ 22558 - 19968: 0xF4DC,
+ 22561 - 19968: 0xDCC2,
+ 22564 - 19968: 0xF0A7,
+ 22567 - 19968: 0xE6C0,
+ 22570 - 19968: 0xCAED,
+ 22575 - 19968: 0xE8EB,
+ 22576 - 19968: 0xE5E8,
+ 22577 - 19968: 0xDCC3,
+ 22580 - 19968: 0xEDDE,
+ 22581 - 19968: 0xD3F2,
+ 22586 - 19968: 0xCCF7,
+ 22602 - 19968: 0xCED4,
+ 22603 - 19968: 0xE7AB,
+ 22607 - 19968: 0xCBC3,
+ 22609 - 19968: 0xE1B1,
+ 22612 - 19968: 0xF7B2,
+ 22615 - 19968: 0xD3F3,
+ 22616 - 19968: 0xD3D2,
+ 22618 - 19968: 0xF5C0,
+ 22622 - 19968: 0xDFDD,
+ 22625 - 19968: 0xEEF3,
+ 22626 - 19968: 0xE7F1,
+ 22628 - 19968: 0xFDB4,
+ 22645 - 19968: 0xF2C8,
+ 22649 - 19968: 0xF3D2,
+ 22652 - 19968: 0xEEF4,
+ 22654 - 19968: 0xE2D3,
+ 22659 - 19968: 0xCCD1,
+ 22661 - 19968: 0xDFEA,
+ 22665 - 19968: 0xE9BA,
+ 22675 - 19968: 0xD9D7,
+ 22684 - 19968: 0xF5CD,
+ 22686 - 19968: 0xF1F2,
+ 22687 - 19968: 0xFAC7,
+ 22696 - 19968: 0xD9F8,
+ 22697 - 19968: 0xD4C2,
+ 22702 - 19968: 0xF6E5,
+ 22707 - 19968: 0xDDC5,
+ 22714 - 19968: 0xE7F2,
+ 22715 - 19968: 0xEDDF,
+ 22718 - 19968: 0xCACB,
+ 22721 - 19968: 0xDBFA,
+ 22725 - 19968: 0xE8B5,
+ 22727 - 19968: 0xD3A6,
+ 22734 - 19968: 0xFDB5,
+ 22737 - 19968: 0xF9C9,
+ 22739 - 19968: 0xE4E2,
+ 22741 - 19968: 0xFBBD,
+ 22744 - 19968: 0xD7A4,
+ 22745 - 19968: 0xCEC5,
+ 22750 - 19968: 0xCED5,
+ 22751 - 19968: 0xD6E6,
+ 22756 - 19968: 0xE5BD,
+ 22763 - 19968: 0xDECD,
+ 22764 - 19968: 0xECF3,
+ 22767 - 19968: 0xEDE0,
+ 22777 - 19968: 0xECEC,
+ 22778 - 19968: 0xFBBE,
+ 22779 - 19968: 0xDFEB,
+ 22781 - 19968: 0xE1F8,
+ 22799 - 19968: 0xF9BE,
+ 22804 - 19968: 0xD0F3,
+ 22805 - 19968: 0xE0AA,
+ 22806 - 19968: 0xE8E2,
+ 22809 - 19968: 0xE2D4,
+ 22810 - 19968: 0xD2FD,
+ 22812 - 19968: 0xE5A8,
+ 22818 - 19968: 0xD9D3,
+ 22823 - 19968: 0xD3DE,
+ 22825 - 19968: 0xF4B8,
+ 22826 - 19968: 0xF7BC,
+ 22827 - 19968: 0xDCFD,
+ 22829 - 19968: 0xE8EC,
+ 22830 - 19968: 0xE4E7,
+ 22833 - 19968: 0xE3F7,
+ 22839 - 19968: 0xECA8,
+ 22846 - 19968: 0xFAF1,
+ 22852 - 19968: 0xE5F2,
+ 22855 - 19968: 0xD0F4,
+ 22856 - 19968: 0xD2AF,
+ 22857 - 19968: 0xDCE5,
+ 22862 - 19968: 0xD0A5,
+ 22863 - 19968: 0xF1B4,
+ 22864 - 19968: 0xFCB1,
+ 22865 - 19968: 0xCCF8,
+ 22868 - 19968: 0xDDC6,
+ 22869 - 19968: 0xFAD1,
+ 22871 - 19968: 0xF7DF,
+ 22874 - 19968: 0xFAA8,
+ 22880 - 19968: 0xEEF5,
+ 22882 - 19968: 0xDECE,
+ 22887 - 19968: 0xE7F3,
+ 22890 - 19968: 0xF7AC,
+ 22891 - 19968: 0xEBC4,
+ 22892 - 19968: 0xEDE1,
+ 22893 - 19968: 0xE0AB,
+ 22894 - 19968: 0xDDC7,
+ 22899 - 19968: 0xD2B3,
+ 22900 - 19968: 0xD2BF,
+ 22904 - 19968: 0xCACC,
+ 22909 - 19968: 0xFBBF,
+ 22914 - 19968: 0xE5FD,
+ 22915 - 19968: 0xDDE5,
+ 22916 - 19968: 0xD8CD,
+ 22922 - 19968: 0xECF4,
+ 22931 - 19968: 0xD0F5,
+ 22934 - 19968: 0xE8ED,
+ 22935 - 19968: 0xD0D2,
+ 22937 - 19968: 0xD9D8,
+ 22949 - 19968: 0xF6E6,
+ 22952 - 19968: 0xDBAA,
+ 22956 - 19968: 0xF7E0,
+ 22969 - 19968: 0xD8D9,
+ 22971 - 19968: 0xF4A3,
+ 22974 - 19968: 0xF4DD,
+ 22979 - 19968: 0xEFD1,
+ 22982 - 19968: 0xD9B5,
+ 22985 - 19968: 0xEDAB,
+ 22987 - 19968: 0xE3B7,
+ 22992 - 19968: 0xEEBB,
+ 22993 - 19968: 0xCDB4,
+ 22995 - 19968: 0xE0F3,
+ 22996 - 19968: 0xEACD,
+ 23001 - 19968: 0xECF5,
+ 23002 - 19968: 0xE8EE,
+ 23004 - 19968: 0xCBA9,
+ 23005 - 19968: 0xF1AF,
+ 23014 - 19968: 0xCACD,
+ 23016 - 19968: 0xECA9,
+ 23018 - 19968: 0xF2EB,
+ 23020 - 19968: 0xFDEF,
+ 23022 - 19968: 0xF9F3,
+ 23032 - 19968: 0xE6C1,
+ 23035 - 19968: 0xECD8,
+ 23039 - 19968: 0xEDAC,
+ 23041 - 19968: 0xEACE,
+ 23043 - 19968: 0xE8DF,
+ 23057 - 19968: 0xDECF,
+ 23064 - 19968: 0xD2A6,
+ 23067 - 19968: 0xE7F4,
+ 23068 - 19968: 0xD1D6,
+ 23071 - 19968: 0xE6C2,
+ 23072 - 19968: 0xE3E3,
+ 23077 - 19968: 0xE4B0,
+ 23081 - 19968: 0xD8B4,
+ 23094 - 19968: 0xF6A5,
+ 23100 - 19968: 0xF3DE,
+ 23105 - 19968: 0xD7A5,
+ 23110 - 19968: 0xF7E8,
+ 23113 - 19968: 0xE8C6,
+ 23130 - 19968: 0xFBE6,
+ 23138 - 19968: 0xDDE6,
+ 23142 - 19968: 0xDCFE,
+ 23186 - 19968: 0xD8DA,
+ 23194 - 19968: 0xDAAC,
+ 23195 - 19968: 0xEAB0,
+ 23204 - 19968: 0xE3B8,
+ 23233 - 19968: 0xCAAA,
+ 23234 - 19968: 0xE1F9,
+ 23236 - 19968: 0xEAB1,
+ 23241 - 19968: 0xF2EC,
+ 23244 - 19968: 0xFAEE,
+ 23265 - 19968: 0xEED5,
+ 23270 - 19968: 0xF9F4,
+ 23273 - 19968: 0xD2EC,
+ 23301 - 19968: 0xFBFB,
+ 23305 - 19968: 0xFDF0,
+ 23307 - 19968: 0xE0BD,
+ 23308 - 19968: 0xCEE3,
+ 23318 - 19968: 0xF8C6,
+ 23338 - 19968: 0xDEAE,
+ 23360 - 19968: 0xDFC5,
+ 23363 - 19968: 0xE5BE,
+ 23376 - 19968: 0xEDAD,
+ 23377 - 19968: 0xFAEA,
+ 23380 - 19968: 0xCDEE,
+ 23381 - 19968: 0xEDA6,
+ 23383 - 19968: 0xEDAE,
+ 23384 - 19968: 0xF0ED,
+ 23386 - 19968: 0xDDA1,
+ 23388 - 19968: 0xEDAF,
+ 23389 - 19968: 0xFCF8,
+ 23391 - 19968: 0xD8EB,
+ 23395 - 19968: 0xCCF9,
+ 23396 - 19968: 0xCDB5,
+ 23401 - 19968: 0xFAA9,
+ 23403 - 19968: 0xE1DD,
+ 23408 - 19968: 0xE2D5,
+ 23409 - 19968: 0xEDCF,
+ 23413 - 19968: 0xDDA2,
+ 23416 - 19968: 0xF9CA,
+ 23418 - 19968: 0xEAE8,
+ 23420 - 19968: 0xE5ED,
+ 23429 - 19968: 0xD3EB,
+ 23431 - 19968: 0xE9D4,
+ 23432 - 19968: 0xE1FA,
+ 23433 - 19968: 0xE4CC,
+ 23435 - 19968: 0xE1E4,
+ 23436 - 19968: 0xE8C7,
+ 23439 - 19968: 0xCEDB,
+ 23443 - 19968: 0xDCD5,
+ 23445 - 19968: 0xF7B5,
+ 23446 - 19968: 0xFCF3,
+ 23447 - 19968: 0xF0F3,
+ 23448 - 19968: 0xCEAF,
+ 23449 - 19968: 0xF1B5,
+ 23450 - 19968: 0xEFD2,
+ 23451 - 19968: 0xE8C8,
+ 23452 - 19968: 0xEBF1,
+ 23458 - 19968: 0xCBD4,
+ 23459 - 19968: 0xE0BE,
+ 23460 - 19968: 0xE3F8,
+ 23461 - 19968: 0xEAE9,
+ 23462 - 19968: 0xFCB2,
+ 23468 - 19968: 0xE0F4,
+ 23470 - 19968: 0xCFE0,
+ 23472 - 19968: 0xEEA5,
+ 23475 - 19968: 0xFAAA,
+ 23476 - 19968: 0xE6C3,
+ 23477 - 19968: 0xE1B2,
+ 23478 - 19968: 0xCAAB,
+ 23480 - 19968: 0xE3E4,
+ 23481 - 19968: 0xE9BB,
+ 23487 - 19968: 0xE2D6,
+ 23488 - 19968: 0xF3F2,
+ 23490 - 19968: 0xEED6,
+ 23491 - 19968: 0xEAB2,
+ 23492 - 19968: 0xD0F6,
+ 23493 - 19968: 0xECD9,
+ 23494 - 19968: 0xDACB,
+ 23495 - 19968: 0xCFA8,
+ 23500 - 19968: 0xDDA3,
+ 23504 - 19968: 0xD8DB,
+ 23506 - 19968: 0xF9CE,
+ 23507 - 19968: 0xE9D5,
+ 23508 - 19968: 0xE3D1,
+ 23511 - 19968: 0xD2BC,
+ 23518 - 19968: 0xD8AC,
+ 23519 - 19968: 0xF3CC,
+ 23521 - 19968: 0xCDFB,
+ 23522 - 19968: 0xF6D6,
+ 23524 - 19968: 0xE7F5,
+ 23525 - 19968: 0xE8EF,
+ 23526 - 19968: 0xE3F9,
+ 23527 - 19968: 0xD2BB,
+ 23528 - 19968: 0xF3F3,
+ 23529 - 19968: 0xE3FB,
+ 23531 - 19968: 0xDED0,
+ 23532 - 19968: 0xCEB0,
+ 23534 - 19968: 0xD6F7,
+ 23535 - 19968: 0xF1D9,
+ 23541 - 19968: 0xF5C1,
+ 23542 - 19968: 0xDCC4,
+ 23544 - 19968: 0xF5BB,
+ 23546 - 19968: 0xDED1,
+ 23553 - 19968: 0xDCE6,
+ 23556 - 19968: 0xDED2,
+ 23559 - 19968: 0xEDE2,
+ 23560 - 19968: 0xEEF6,
+ 23561 - 19968: 0xEACF,
+ 23562 - 19968: 0xF0EE,
+ 23563 - 19968: 0xE3FC,
+ 23565 - 19968: 0xD3DF,
+ 23566 - 19968: 0xD3F4,
+ 23567 - 19968: 0xE1B3,
+ 23569 - 19968: 0xE1B4,
+ 23574 - 19968: 0xF4D3,
+ 23577 - 19968: 0xDFC6,
+ 23588 - 19968: 0xE9D6,
+ 23592 - 19968: 0xDBAB,
+ 23601 - 19968: 0xF6A6,
+ 23608 - 19968: 0xE3B9,
+ 23609 - 19968: 0xEBC5,
+ 23610 - 19968: 0xF4A9,
+ 23611 - 19968: 0xCDB6,
+ 23612 - 19968: 0xD2F9,
+ 23614 - 19968: 0xDAAD,
+ 23615 - 19968: 0xD2E3,
+ 23616 - 19968: 0xCFD1,
+ 23621 - 19968: 0xCBDC,
+ 23622 - 19968: 0xCCFA,
+ 23624 - 19968: 0xCFDD,
+ 23627 - 19968: 0xE8A9,
+ 23629 - 19968: 0xE3BB,
+ 23630 - 19968: 0xE3BA,
+ 23633 - 19968: 0xE0DA,
+ 23637 - 19968: 0xEEF7,
+ 23643 - 19968: 0xDCB3,
+ 23648 - 19968: 0xD3F5,
+ 23650 - 19968: 0xD7A6,
+ 23652 - 19968: 0xF6B5,
+ 23653 - 19968: 0xD7DB,
+ 23660 - 19968: 0xE1D5,
+ 23663 - 19968: 0xD4EA,
+ 23665 - 19968: 0xDFA3,
+ 23673 - 19968: 0xFDDF,
+ 23696 - 19968: 0xD0F7,
+ 23697 - 19968: 0xEDD4,
+ 23713 - 19968: 0xCBAA,
+ 23721 - 19968: 0xE4DB,
+ 23723 - 19968: 0xE1FB,
+ 23724 - 19968: 0xCBA2,
+ 23729 - 19968: 0xD3E0,
+ 23731 - 19968: 0xE4BF,
+ 23733 - 19968: 0xFBC0,
+ 23735 - 19968: 0xDABE,
+ 23736 - 19968: 0xE4CD,
+ 23738 - 19968: 0xD6B9,
+ 23742 - 19968: 0xEFC0,
+ 23744 - 19968: 0xE1FC,
+ 23769 - 19968: 0xF6B9,
+ 23776 - 19968: 0xDFC7,
+ 23784 - 19968: 0xE4B1,
+ 23791 - 19968: 0xDCE7,
+ 23792 - 19968: 0xDCE8,
+ 23796 - 19968: 0xFAD6,
+ 23798 - 19968: 0xD3F6,
+ 23803 - 19968: 0xF1DA,
+ 23805 - 19968: 0xFAF2,
+ 23815 - 19968: 0xE2FD,
+ 23821 - 19968: 0xD5CF,
+ 23822 - 19968: 0xD0F8,
+ 23825 - 19968: 0xCDDF,
+ 23828 - 19968: 0xF5CB,
+ 23830 - 19968: 0xE4F0,
+ 23831 - 19968: 0xCBAB,
+ 23833 - 19968: 0xD7C4,
+ 23847 - 19968: 0xE2FE,
+ 23849 - 19968: 0xDDDA,
+ 23883 - 19968: 0xDAAE,
+ 23884 - 19968: 0xCAEE,
+ 23888 - 19968: 0xD5B9,
+ 23913 - 19968: 0xE3A1,
+ 23916 - 19968: 0xE8E3,
+ 23919 - 19968: 0xF3AB,
+ 23943 - 19968: 0xCFA9,
+ 23947 - 19968: 0xD3F7,
+ 23965 - 19968: 0xD4F1,
+ 23968 - 19968: 0xCEE4,
+ 23970 - 19968: 0xE8F2,
+ 23978 - 19968: 0xE5F5,
+ 23992 - 19968: 0xE7AE,
+ 23994 - 19968: 0xD6BA,
+ 23996 - 19968: 0xDFEC,
+ 23997 - 19968: 0xE4C0,
+ 24013 - 19968: 0xE8E4,
+ 24018 - 19968: 0xD8B5,
+ 24022 - 19968: 0xE4DC,
+ 24029 - 19968: 0xF4B9,
+ 24030 - 19968: 0xF1B6,
+ 24033 - 19968: 0xE2DE,
+ 24034 - 19968: 0xE1B5,
+ 24037 - 19968: 0xCDEF,
+ 24038 - 19968: 0xF1A7,
+ 24039 - 19968: 0xCEE5,
+ 24040 - 19968: 0xCBDD,
+ 24043 - 19968: 0xD9E3,
+ 24046 - 19968: 0xF3AC,
+ 24049 - 19968: 0xD0F9,
+ 24050 - 19968: 0xECAB,
+ 24051 - 19968: 0xDED3,
+ 24052 - 19968: 0xF7E9,
+ 24055 - 19968: 0xF9F5,
+ 24061 - 19968: 0xE1DE,
+ 24062 - 19968: 0xCBEE,
+ 24066 - 19968: 0xE3BC,
+ 24067 - 19968: 0xF8D6,
+ 24070 - 19968: 0xDBEE,
+ 24076 - 19968: 0xFDF1,
+ 24081 - 19968: 0xF7B6,
+ 24086 - 19968: 0xF4DE,
+ 24089 - 19968: 0xF2ED,
+ 24091 - 19968: 0xDBD9,
+ 24093 - 19968: 0xF0A8,
+ 24101 - 19968: 0xE1FD,
+ 24107 - 19968: 0xDED4,
+ 24109 - 19968: 0xE0AC,
+ 24115 - 19968: 0xEDE3,
+ 24118 - 19968: 0xD3E1,
+ 24120 - 19968: 0xDFC8,
+ 24125 - 19968: 0xD9B6,
+ 24127 - 19968: 0xFDAC,
+ 24128 - 19968: 0xEFD3,
+ 24132 - 19968: 0xE4C1,
+ 24133 - 19968: 0xF8EB,
+ 24135 - 19968: 0xDBAC,
+ 24140 - 19968: 0xFCC6,
+ 24149 - 19968: 0xD8AD,
+ 24159 - 19968: 0xF6BA,
+ 24161 - 19968: 0xDBDF,
+ 24162 - 19968: 0xD3D3,
+ 24163 - 19968: 0xF8C7,
+ 24178 - 19968: 0xCACE,
+ 24179 - 19968: 0xF8C1,
+ 24180 - 19968: 0xD2B4,
+ 24183 - 19968: 0xDCB4,
+ 24184 - 19968: 0xFAB9,
+ 24185 - 19968: 0xCACF,
+ 24187 - 19968: 0xFCB3,
+ 24188 - 19968: 0xEAEA,
+ 24189 - 19968: 0xEAEB,
+ 24190 - 19968: 0xD0FA,
+ 24196 - 19968: 0xEDE4,
+ 24199 - 19968: 0xDDE7,
+ 24202 - 19968: 0xDFC9,
+ 24207 - 19968: 0xDFED,
+ 24213 - 19968: 0xEEBC,
+ 24215 - 19968: 0xEFC1,
+ 24218 - 19968: 0xCCD2,
+ 24220 - 19968: 0xDDA4,
+ 24224 - 19968: 0xDFCA,
+ 24230 - 19968: 0xD3F8,
+ 24231 - 19968: 0xF1A8,
+ 24235 - 19968: 0xCDB7,
+ 24237 - 19968: 0xEFD4,
+ 24245 - 19968: 0xE4DD,
+ 24246 - 19968: 0xDFEE,
+ 24247 - 19968: 0xCBAC,
+ 24248 - 19968: 0xE9BC,
+ 24254 - 19968: 0xEAEC,
+ 24258 - 19968: 0xDFCB,
+ 24264 - 19968: 0xF9BF,
+ 24265 - 19968: 0xD6AF,
+ 24266 - 19968: 0xD5C6,
+ 24272 - 19968: 0xCFAA,
+ 24275 - 19968: 0xCEA9,
+ 24278 - 19968: 0xD6F8,
+ 24282 - 19968: 0xF1B7,
+ 24283 - 19968: 0xEEF8,
+ 24287 - 19968: 0xD9D9,
+ 24288 - 19968: 0xF3DF,
+ 24290 - 19968: 0xF8C8,
+ 24291 - 19968: 0xCEC6,
+ 24300 - 19968: 0xD5E6,
+ 24307 - 19968: 0xF4E6,
+ 24310 - 19968: 0xE6C5,
+ 24311 - 19968: 0xEFD5,
+ 24314 - 19968: 0xCBEF,
+ 24315 - 19968: 0xFCDF,
+ 24321 - 19968: 0xDCA7,
+ 24324 - 19968: 0xD6E7,
+ 24330 - 19968: 0xF8C9,
+ 24335 - 19968: 0xE3D2,
+ 24337 - 19968: 0xE3BD,
+ 24339 - 19968: 0xCFE1,
+ 24340 - 19968: 0xF0C0,
+ 24341 - 19968: 0xECDA,
+ 24343 - 19968: 0xDDD7,
+ 24344 - 19968: 0xFBF0,
+ 24347 - 19968: 0xECAC,
+ 24351 - 19968: 0xF0A9,
+ 24358 - 19968: 0xFAD7,
+ 24359 - 19968: 0xFBC1,
+ 24361 - 19968: 0xD2C0,
+ 24369 - 19968: 0xE5B0,
+ 24373 - 19968: 0xEDE5,
+ 24378 - 19968: 0xCBAD,
+ 24380 - 19968: 0xF9B0,
+ 24392 - 19968: 0xF7A5,
+ 24394 - 19968: 0xCBAE,
+ 24396 - 19968: 0xDAAF,
+ 24398 - 19968: 0xD8B6,
+ 24406 - 19968: 0xD3A7,
+ 24407 - 19968: 0xFBB2,
+ 24409 - 19968: 0xFDC4,
+ 24411 - 19968: 0xECAD,
+ 24418 - 19968: 0xFBA1,
+ 24422 - 19968: 0xE5E9,
+ 24423 - 19968: 0xE9EE,
+ 24425 - 19968: 0xF3F4,
+ 24426 - 19968: 0xF8F3,
+ 24427 - 19968: 0xF0C1,
+ 24428 - 19968: 0xDEAF,
+ 24429 - 19968: 0xF8B0,
+ 24432 - 19968: 0xF3E0,
+ 24433 - 19968: 0xE7AF,
+ 24439 - 19968: 0xDBAD,
+ 24441 - 19968: 0xE6B5,
+ 24444 - 19968: 0xF9A8,
+ 24447 - 19968: 0xDDD8,
+ 24448 - 19968: 0xE8D9,
+ 24449 - 19968: 0xEFD6,
+ 24453 - 19968: 0xD3E2,
+ 24455 - 19968: 0xE2DF,
+ 24458 - 19968: 0xFCE0,
+ 24459 - 19968: 0xD7C8,
+ 24460 - 19968: 0xFDAD,
+ 24464 - 19968: 0xDFEF,
+ 24465 - 19968: 0xCCD3,
+ 24466 - 19968: 0xD3F9,
+ 24471 - 19968: 0xD4F0,
+ 24472 - 19968: 0xDBC7,
+ 24473 - 19968: 0xDED5,
+ 24478 - 19968: 0xF0F4,
+ 24480 - 19968: 0xD5D0,
+ 24481 - 19968: 0xE5D9,
+ 24488 - 19968: 0xFCC7,
+ 24489 - 19968: 0xDCD6,
+ 24490 - 19968: 0xE2E0,
+ 24494 - 19968: 0xDAB0,
+ 24501 - 19968: 0xF3A3,
+ 24503 - 19968: 0xD3EC,
+ 24505 - 19968: 0xF4CB,
+ 24509 - 19968: 0xFDC5,
+ 24515 - 19968: 0xE3FD,
+ 24517 - 19968: 0xF9B1,
+ 24524 - 19968: 0xD0FB,
+ 24525 - 19968: 0xECDB,
+ 24534 - 19968: 0xF5BC,
+ 24535 - 19968: 0xF2A4,
+ 24536 - 19968: 0xD8CE,
+ 24537 - 19968: 0xD8CF,
+ 24544 - 19968: 0xF5F7,
+ 24555 - 19968: 0xF6E1,
+ 24565 - 19968: 0xD2B7,
+ 24573 - 19968: 0xFBEC,
+ 24575 - 19968: 0xDDC8,
+ 24591 - 19968: 0xE4E8,
+ 24594 - 19968: 0xD2C1,
+ 24598 - 19968: 0xF8D7,
+ 24604 - 19968: 0xD6BB,
+ 24605 - 19968: 0xDED6,
+ 24608 - 19968: 0xF7BD,
+ 24609 - 19968: 0xECAE,
+ 24613 - 19968: 0xD0E1,
+ 24615 - 19968: 0xE0F5,
+ 24616 - 19968: 0xEAB3,
+ 24618 - 19968: 0xCED6,
+ 24623 - 19968: 0xCCA5,
+ 24641 - 19968: 0xECF6,
+ 24642 - 19968: 0xE2E1,
+ 24643 - 19968: 0xE3BE,
+ 24653 - 19968: 0xFCC8,
+ 24656 - 19968: 0xCDF0,
+ 24658 - 19968: 0xF9F6,
+ 24661 - 19968: 0xDFF0,
+ 24665 - 19968: 0xE5BF,
+ 24669 - 19968: 0xCEBF,
+ 24674 - 19968: 0xFCE1,
+ 24675 - 19968: 0xEDB0,
+ 24676 - 19968: 0xFDD1,
+ 24677 - 19968: 0xF6BB,
+ 24680 - 19968: 0xF9CF,
+ 24681 - 19968: 0xEBDA,
+ 24682 - 19968: 0xCAC1,
+ 24684 - 19968: 0xD2B8,
+ 24685 - 19968: 0xCDF1,
+ 24687 - 19968: 0xE3D3,
+ 24688 - 19968: 0xFDE6,
+ 24709 - 19968: 0xE6ED,
+ 24713 - 19968: 0xE3FA,
+ 24716 - 19968: 0xF0AA,
+ 24717 - 19968: 0xF9D0,
+ 24724 - 19968: 0xFCE2,
+ 24726 - 19968: 0xF8A7,
+ 24730 - 19968: 0xE1E5,
+ 24731 - 19968: 0xEEF9,
+ 24735 - 19968: 0xE7F6,
+ 24736 - 19968: 0xEAED,
+ 24739 - 19968: 0xFCB4,
+ 24740 - 19968: 0xF5C2,
+ 24743 - 19968: 0xD7DC,
+ 24752 - 19968: 0xF0F5,
+ 24754 - 19968: 0xDDE8,
+ 24755 - 19968: 0xD3ED,
+ 24756 - 19968: 0xF5FC,
+ 24758 - 19968: 0xDABF,
+ 24760 - 19968: 0xCCFB,
+ 24764 - 19968: 0xD3FA,
+ 24765 - 19968: 0xF4A4,
+ 24773 - 19968: 0xEFD7,
+ 24775 - 19968: 0xD4C3,
+ 24785 - 19968: 0xFBE3,
+ 24794 - 19968: 0xFBED,
+ 24796 - 19968: 0xE0AD,
+ 24799 - 19968: 0xEAEE,
+ 24800 - 19968: 0xFBB3,
+ 24801 - 19968: 0xE4C2,
+ 24816 - 19968: 0xF6E7,
+ 24817 - 19968: 0xD2DD,
+ 24819 - 19968: 0xDFCC,
+ 24822 - 19968: 0xFCC9,
+ 24825 - 19968: 0xE5A9,
+ 24826 - 19968: 0xE0F6,
+ 24827 - 19968: 0xF6B3,
+ 24833 - 19968: 0xE1FE,
+ 24838 - 19968: 0xCBF0,
+ 24840 - 19968: 0xEAEF,
+ 24841 - 19968: 0xEAF0,
+ 24845 - 19968: 0xDAC0,
+ 24846 - 19968: 0xF8B4,
+ 24847 - 19968: 0xEBF2,
+ 24853 - 19968: 0xE4C3,
+ 24858 - 19968: 0xE9D7,
+ 24859 - 19968: 0xE4F1,
+ 24863 - 19968: 0xCAEF,
+ 24871 - 19968: 0xCED7,
+ 24880 - 19968: 0xFCCA,
+ 24884 - 19968: 0xF3E1,
+ 24887 - 19968: 0xCBC4,
+ 24892 - 19968: 0xE3E5,
+ 24894 - 19968: 0xCBC5,
+ 24895 - 19968: 0xEAB4,
+ 24898 - 19968: 0xE9BD,
+ 24900 - 19968: 0xD7C9,
+ 24903 - 19968: 0xEBDB,
+ 24904 - 19968: 0xEDB1,
+ 24906 - 19968: 0xCCC3,
+ 24907 - 19968: 0xF7BE,
+ 24908 - 19968: 0xFCCB,
+ 24915 - 19968: 0xF8F4,
+ 24917 - 19968: 0xD9B7,
+ 24920 - 19968: 0xF3D3,
+ 24921 - 19968: 0xF3D4,
+ 24925 - 19968: 0xF7E4,
+ 24927 - 19968: 0xF7D1,
+ 24930 - 19968: 0xD8B7,
+ 24931 - 19968: 0xCEB1,
+ 24932 - 19968: 0xCAC2,
+ 24935 - 19968: 0xFBB4,
+ 24936 - 19968: 0xCBC6,
+ 24939 - 19968: 0xF0F6,
+ 24942 - 19968: 0xD5E7,
+ 24944 - 19968: 0xEAD0,
+ 24950 - 19968: 0xCCD4,
+ 24951 - 19968: 0xCBAF,
+ 24957 - 19968: 0xF4AA,
+ 24958 - 19968: 0xE9AF,
+ 24961 - 19968: 0xF5C3,
+ 24962 - 19968: 0xE9D8,
+ 24970 - 19968: 0xDDE9,
+ 24974 - 19968: 0xF1F3,
+ 24976 - 19968: 0xD5FB,
+ 24977 - 19968: 0xDEBB,
+ 24980 - 19968: 0xF4FB,
+ 24984 - 19968: 0xFDF3,
+ 24985 - 19968: 0xFDF2,
+ 24986 - 19968: 0xF7A6,
+ 24996 - 19968: 0xDDC9,
+ 24999 - 19968: 0xD4D3,
+ 25001 - 19968: 0xCCA8,
+ 25003 - 19968: 0xDAC1,
+ 25004 - 19968: 0xCCD5,
+ 25006 - 19968: 0xD9E4,
+ 25010 - 19968: 0xFACA,
+ 25014 - 19968: 0xE5E3,
+ 25018 - 19968: 0xD3BC,
+ 25022 - 19968: 0xCAF0,
+ 25027 - 19968: 0xD0C4,
+ 25031 - 19968: 0xCAD0,
+ 25032 - 19968: 0xFAAB,
+ 25033 - 19968: 0xEBEB,
+ 25034 - 19968: 0xE7F8,
+ 25035 - 19968: 0xD9E5,
+ 25062 - 19968: 0xD1D7,
+ 25074 - 19968: 0xF3A4,
+ 25078 - 19968: 0xD4FB,
+ 25079 - 19968: 0xFCE3,
+ 25080 - 19968: 0xFAD8,
+ 25082 - 19968: 0xF3D5,
+ 25084 - 19968: 0xCFAB,
+ 25087 - 19968: 0xEBF3,
+ 25088 - 19968: 0xD5FC,
+ 25095 - 19968: 0xD3D4,
+ 25096 - 19968: 0xCDFC,
+ 25098 - 19968: 0xD9E6,
+ 25100 - 19968: 0xE2F9,
+ 25101 - 19968: 0xE2A1,
+ 25102 - 19968: 0xEBD4,
+ 25104 - 19968: 0xE0F7,
+ 25105 - 19968: 0xE4B2,
+ 25106 - 19968: 0xCCFC,
+ 25110 - 19968: 0xFBE4,
+ 25114 - 19968: 0xF4AB,
+ 25119 - 19968: 0xD0BD,
+ 25121 - 19968: 0xCAF1,
+ 25130 - 19968: 0xEFB8,
+ 25134 - 19968: 0xD7C0,
+ 25136 - 19968: 0xEEFA,
+ 25137 - 19968: 0xFDF4,
+ 25140 - 19968: 0xD3E3,
+ 25142 - 19968: 0xFBC2,
+ 25150 - 19968: 0xD5E8,
+ 25151 - 19968: 0xDBAE,
+ 25152 - 19968: 0xE1B6,
+ 25153 - 19968: 0xF8B7,
+ 25159 - 19968: 0xE0BF,
+ 25160 - 19968: 0xFBC3,
+ 25161 - 19968: 0xDDEA,
+ 25163 - 19968: 0xE2A2,
+ 25165 - 19968: 0xEEA6,
+ 25171 - 19968: 0xF6E8,
+ 25176 - 19968: 0xF6F5,
+ 25198 - 19968: 0xDDCA,
+ 25201 - 19968: 0xD0E2,
+ 25206 - 19968: 0xDDA6,
+ 25209 - 19968: 0xDDEB,
+ 25212 - 19968: 0xE4F9,
+ 25215 - 19968: 0xE3AF,
+ 25216 - 19968: 0xD0FC,
+ 25220 - 19968: 0xF4FC,
+ 25225 - 19968: 0xCCBC,
+ 25226 - 19968: 0xF7EA,
+ 25233 - 19968: 0xE5E4,
+ 25234 - 19968: 0xDFF1,
+ 25237 - 19968: 0xF7E1,
+ 25239 - 19968: 0xF9F7,
+ 25240 - 19968: 0xEFB9,
+ 25243 - 19968: 0xF8D8,
+ 25259 - 19968: 0xF9A9,
+ 25265 - 19968: 0xF8D9,
+ 25269 - 19968: 0xEEBD,
+ 25273 - 19968: 0xD8C6,
+ 25276 - 19968: 0xE4E3,
+ 25277 - 19968: 0xF5CE,
+ 25282 - 19968: 0xDDD9,
+ 25287 - 19968: 0xD9E7,
+ 25288 - 19968: 0xD2B9,
+ 25289 - 19968: 0xD5C3,
+ 25292 - 19968: 0xDAE5,
+ 25293 - 19968: 0xDAD0,
+ 25295 - 19968: 0xD1D9,
+ 25296 - 19968: 0xCED8,
+ 25298 - 19968: 0xCBDE,
+ 25299 - 19968: 0xF4AC,
+ 25300 - 19968: 0xDAFB,
+ 25302 - 19968: 0xF6E9,
+ 25303 - 19968: 0xE8F3,
+ 25304 - 19968: 0xCFAC,
+ 25305 - 19968: 0xF0F0,
+ 25307 - 19968: 0xF4FD,
+ 25308 - 19968: 0xDBC8,
+ 25324 - 19968: 0xCEC0,
+ 25325 - 19968: 0xE3D4,
+ 25326 - 19968: 0xD1CF,
+ 25327 - 19968: 0xF1F5,
+ 25329 - 19968: 0xCDF2,
+ 25331 - 19968: 0xCFEB,
+ 25335 - 19968: 0xCDB8,
+ 25342 - 19968: 0xE3A6,
+ 25343 - 19968: 0xD1DA,
+ 25345 - 19968: 0xF2A5,
+ 25351 - 19968: 0xF2A6,
+ 25353 - 19968: 0xE4CE,
+ 25361 - 19968: 0xD3FB,
+ 25387 - 19968: 0xF1A9,
+ 25391 - 19968: 0xF2C9,
+ 25402 - 19968: 0xEFD8,
+ 25403 - 19968: 0xE6C9,
+ 25405 - 19968: 0xD8B8,
+ 25406 - 19968: 0xFAF3,
+ 25417 - 19968: 0xF3B5,
+ 25420 - 19968: 0xF8A4,
+ 25423 - 19968: 0xD1F3,
+ 25424 - 19968: 0xE6C8,
+ 25429 - 19968: 0xF8DA,
+ 25447 - 19968: 0xDCE9,
+ 25448 - 19968: 0xDED7,
+ 25454 - 19968: 0xCBDF,
+ 25458 - 19968: 0xCFEC,
+ 25463 - 19968: 0xF4DF,
+ 25466 - 19968: 0xD1F4,
+ 25467 - 19968: 0xD2BA,
+ 25471 - 19968: 0xDFF2,
+ 25475 - 19968: 0xE1B7,
+ 25480 - 19968: 0xE2A3,
+ 25481 - 19968: 0xD3FC,
+ 25484 - 19968: 0xEDE6,
+ 25490 - 19968: 0xDBC9,
+ 25494 - 19968: 0xE4FA,
+ 25496 - 19968: 0xCFDE,
+ 25499 - 19968: 0xCED0,
+ 25504 - 19968: 0xD5D3,
+ 25505 - 19968: 0xF3F5,
+ 25506 - 19968: 0xF7AE,
+ 25509 - 19968: 0xEFC8,
+ 25511 - 19968: 0xCDF3,
+ 25512 - 19968: 0xF5CF,
+ 25513 - 19968: 0xE5F3,
+ 25514 - 19968: 0xF0C2,
+ 25536 - 19968: 0xCAD1,
+ 25540 - 19968: 0xEAF1,
+ 25542 - 19968: 0xD0A6,
+ 25551 - 19968: 0xD9DA,
+ 25552 - 19968: 0xF0AB,
+ 25558 - 19968: 0xEBE7,
+ 25562 - 19968: 0xE5C0,
+ 25563 - 19968: 0xFCB5,
+ 25569 - 19968: 0xE4C4,
+ 25581 - 19968: 0xCCA9,
+ 25582 - 19968: 0xFDC6,
+ 25588 - 19968: 0xEAB5,
+ 25590 - 19968: 0xE5AA,
+ 25591 - 19968: 0xDFBA,
+ 25613 - 19968: 0xE1DF,
+ 25615 - 19968: 0xDAD1,
+ 25620 - 19968: 0xE1B8,
+ 25622 - 19968: 0xE8F4,
+ 25623 - 19968: 0xD3FD,
+ 25628 - 19968: 0xE2A4,
+ 25634 - 19968: 0xF2CA,
+ 25644 - 19968: 0xDAE6,
+ 25645 - 19968: 0xF7B3,
+ 25658 - 19968: 0xFDCD,
+ 25662 - 19968: 0xF3B6,
+ 25688 - 19968: 0xEED7,
+ 25696 - 19968: 0xF5C4,
+ 25705 - 19968: 0xD8A4,
+ 25711 - 19968: 0xF2A7,
+ 25720 - 19968: 0xD9B8,
+ 25721 - 19968: 0xD9B9,
+ 25722 - 19968: 0xEFC9,
+ 25736 - 19968: 0xD6CE,
+ 25745 - 19968: 0xF7CB,
+ 25746 - 19968: 0xDFAE,
+ 25747 - 19968: 0xE8F5,
+ 25754 - 19968: 0xD2B5,
+ 25758 - 19968: 0xD3D5,
+ 25764 - 19968: 0xF4CC,
+ 25765 - 19968: 0xDAFC,
+ 25771 - 19968: 0xD9E8,
+ 25773 - 19968: 0xF7EB,
+ 25774 - 19968: 0xF5C9,
+ 25776 - 19968: 0xF3BC,
+ 25778 - 19968: 0xDAD2,
+ 25787 - 19968: 0xD3B5,
+ 25793 - 19968: 0xE8B6,
+ 25796 - 19968: 0xD6CF,
+ 25797 - 19968: 0xF4BA,
+ 25799 - 19968: 0xF7C9,
+ 25802 - 19968: 0xCCAA,
+ 25805 - 19968: 0xF0C3,
+ 25806 - 19968: 0xCCD6,
+ 25810 - 19968: 0xD0D3,
+ 25812 - 19968: 0xD3BD,
+ 25816 - 19968: 0xDBFB,
+ 25818 - 19968: 0xCBE0,
+ 25825 - 19968: 0xD3E4,
+ 25826 - 19968: 0xF6F7,
+ 25829 - 19968: 0xD5BA,
+ 25830 - 19968: 0xF3CD,
+ 25831 - 19968: 0xCBE1,
+ 25836 - 19968: 0xEBF4,
+ 25842 - 19968: 0xF4AD,
+ 25844 - 19968: 0xFCAA,
+ 25850 - 19968: 0xF7EC,
+ 25854 - 19968: 0xE8F6,
+ 25856 - 19968: 0xDAE7,
+ 25860 - 19968: 0xF7CC,
+ 25880 - 19968: 0xE5C1,
+ 25885 - 19968: 0xE0EE,
+ 25891 - 19968: 0xD5FD,
+ 25898 - 19968: 0xCEE6,
+ 25899 - 19968: 0xFCAB,
+ 25900 - 19968: 0xD5BB,
+ 25903 - 19968: 0xF2A8,
+ 25910 - 19968: 0xE2A5,
+ 25911 - 19968: 0xCDB9,
+ 25912 - 19968: 0xEAF2,
+ 25913 - 19968: 0xCBC7,
+ 25915 - 19968: 0xCDF4,
+ 25918 - 19968: 0xDBAF,
+ 25919 - 19968: 0xEFD9,
+ 25925 - 19968: 0xCDBA,
+ 25928 - 19968: 0xFCF9,
+ 25933 - 19968: 0xDFF3,
+ 25934 - 19968: 0xCEE7,
+ 25935 - 19968: 0xDAC2,
+ 25937 - 19968: 0xCFAD,
+ 25942 - 19968: 0xE7F9,
+ 25943 - 19968: 0xF8A8,
+ 25950 - 19968: 0xF3E2,
+ 25954 - 19968: 0xCAF2,
+ 25955 - 19968: 0xDFA4,
+ 25958 - 19968: 0xD4C4,
+ 25964 - 19968: 0xCCD7,
+ 25965 - 19968: 0xE5C2,
+ 25970 - 19968: 0xCDBB,
+ 25972 - 19968: 0xEFDA,
+ 25973 - 19968: 0xEED8,
+ 25975 - 19968: 0xDDA7,
+ 25976 - 19968: 0xE2A6,
+ 25982 - 19968: 0xE0C0,
+ 25986 - 19968: 0xD6B0,
+ 25987 - 19968: 0xF8CA,
+ 25989 - 19968: 0xFCFA,
+ 25991 - 19968: 0xD9FE,
+ 25996 - 19968: 0xDEB0,
+ 26000 - 19968: 0xDDEC,
+ 26001 - 19968: 0xDAE8,
+ 26007 - 19968: 0xD4E0,
+ 26009 - 19968: 0xD6F9,
+ 26011 - 19968: 0xCDD7,
+ 26012 - 19968: 0xDED8,
+ 26015 - 19968: 0xF2F8,
+ 26017 - 19968: 0xE4D6,
+ 26020 - 19968: 0xD0C5,
+ 26021 - 19968: 0xF4AE,
+ 26023 - 19968: 0xDDA8,
+ 26027 - 19968: 0xEDC5,
+ 26028 - 19968: 0xF3D6,
+ 26031 - 19968: 0xDED9,
+ 26032 - 19968: 0xE3E6,
+ 26039 - 19968: 0xD3A8,
+ 26041 - 19968: 0xDBB0,
+ 26044 - 19968: 0xE5DA,
+ 26045 - 19968: 0xE3BF,
+ 26049 - 19968: 0xDBB1,
+ 26053 - 19968: 0xD5E9,
+ 26059 - 19968: 0xE0C1,
+ 26060 - 19968: 0xEFDB,
+ 26063 - 19968: 0xF0E9,
+ 26066 - 19968: 0xD7B2,
+ 26071 - 19968: 0xD0FD,
+ 26080 - 19968: 0xD9E9,
+ 26083 - 19968: 0xD0FE,
+ 26085 - 19968: 0xECED,
+ 26086 - 19968: 0xD3A9,
+ 26088 - 19968: 0xF2A9,
+ 26089 - 19968: 0xF0C4,
+ 26092 - 19968: 0xE2E2,
+ 26093 - 19968: 0xE9EF,
+ 26097 - 19968: 0xF9D1,
+ 26100 - 19968: 0xE9D9,
+ 26106 - 19968: 0xE8DA,
+ 26107 - 19968: 0xDAC3,
+ 26108 - 19968: 0xDAC4,
+ 26109 - 19968: 0xD4C5,
+ 26111 - 19968: 0xE7FA,
+ 26118 - 19968: 0xCDE0,
+ 26119 - 19968: 0xE3B0,
+ 26121 - 19968: 0xDBB2,
+ 26122 - 19968: 0xFBC4,
+ 26124 - 19968: 0xF3E3,
+ 26126 - 19968: 0xD9A5,
+ 26127 - 19968: 0xFBE7,
+ 26128 - 19968: 0xDDCB,
+ 26129 - 19968: 0xD0D4,
+ 26131 - 19968: 0xE6B6,
+ 26132 - 19968: 0xE0AE,
+ 26133 - 19968: 0xFDDA,
+ 26142 - 19968: 0xDCB5,
+ 26143 - 19968: 0xE0F8,
+ 26144 - 19968: 0xE7B1,
+ 26149 - 19968: 0xF5F0,
+ 26151 - 19968: 0xD8DC,
+ 26152 - 19968: 0xEDC6,
+ 26157 - 19968: 0xE1B9,
+ 26159 - 19968: 0xE3C0,
+ 26160 - 19968: 0xF9C0,
+ 26161 - 19968: 0xE9F0,
+ 26164 - 19968: 0xD9DB,
+ 26166 - 19968: 0xF3E4,
+ 26170 - 19968: 0xDCB6,
+ 26171 - 19968: 0xE4E9,
+ 26177 - 19968: 0xF0C5,
+ 26178 - 19968: 0xE3C1,
+ 26179 - 19968: 0xFCCC,
+ 26180 - 19968: 0xFCCD,
+ 26185 - 19968: 0xF2CB,
+ 26187 - 19968: 0xF2CC,
+ 26191 - 19968: 0xE4CF,
+ 26201 - 19968: 0xF1DB,
+ 26203 - 19968: 0xFAD9,
+ 26205 - 19968: 0xF1B8,
+ 26206 - 19968: 0xFDF5,
+ 26207 - 19968: 0xE0F9,
+ 26212 - 19968: 0xE7FB,
+ 26213 - 19968: 0xFCB7,
+ 26214 - 19968: 0xFCE4,
+ 26215 - 19968: 0xFBC5,
+ 26216 - 19968: 0xE3E7,
+ 26217 - 19968: 0xD8B9,
+ 26219 - 19968: 0xF6F8,
+ 26222 - 19968: 0xDCC5,
+ 26223 - 19968: 0xCCD8,
+ 26227 - 19968: 0xE0AF,
+ 26228 - 19968: 0xF4E7,
+ 26230 - 19968: 0xEFDC,
+ 26231 - 19968: 0xCFFC,
+ 26232 - 19968: 0xEFDD,
+ 26234 - 19968: 0xF2AA,
+ 26244 - 19968: 0xFDBE,
+ 26247 - 19968: 0xCAAC,
+ 26248 - 19968: 0xFDBB,
+ 26249 - 19968: 0xFDC7,
+ 26254 - 19968: 0xE7B2,
+ 26256 - 19968: 0xEAD1,
+ 26257 - 19968: 0xDFF4,
+ 26262 - 19968: 0xD1EC,
+ 26263 - 19968: 0xE4DE,
+ 26264 - 19968: 0xE5C3,
+ 26269 - 19968: 0xD9A6,
+ 26272 - 19968: 0xCDBC,
+ 26274 - 19968: 0xF3E5,
+ 26283 - 19968: 0xEDD5,
+ 26286 - 19968: 0xD9BA,
+ 26290 - 19968: 0xEDE7,
+ 26291 - 19968: 0xFBB5,
+ 26292 - 19968: 0xF8EC,
+ 26297 - 19968: 0xE0E7,
+ 26299 - 19968: 0xCCD9,
+ 26302 - 19968: 0xD4C6,
+ 26308 - 19968: 0xE7A5,
+ 26310 - 19968: 0xD5F5,
+ 26311 - 19968: 0xD3BE,
+ 26313 - 19968: 0xFCFB,
+ 26326 - 19968: 0xE4F2,
+ 26329 - 19968: 0xDFF5,
+ 26332 - 19968: 0xE8F8,
+ 26333 - 19968: 0xF8ED,
+ 26336 - 19968: 0xCEC7,
+ 26342 - 19968: 0xFDF6,
+ 26352 - 19968: 0xE8D8,
+ 26354 - 19968: 0xCDD8,
+ 26355 - 19968: 0xE7D6,
+ 26356 - 19968: 0xCCDA,
+ 26359 - 19968: 0xCAE3,
+ 26360 - 19968: 0xDFF6,
+ 26361 - 19968: 0xF0C7,
+ 26362 - 19968: 0xF0C6,
+ 26364 - 19968: 0xD8BA,
+ 26366 - 19968: 0xF1F4,
+ 26367 - 19968: 0xF4F0,
+ 26368 - 19968: 0xF5CC,
+ 26371 - 19968: 0xFCE5,
+ 26376 - 19968: 0xEAC5,
+ 26377 - 19968: 0xEAF3,
+ 26379 - 19968: 0xDDDB,
+ 26381 - 19968: 0xDCD7,
+ 26388 - 19968: 0xDEFD,
+ 26389 - 19968: 0xF2F9,
+ 26391 - 19968: 0xD5C7,
+ 26395 - 19968: 0xD8D0,
+ 26397 - 19968: 0xF0C8,
+ 26398 - 19968: 0xD1A1,
+ 26399 - 19968: 0xD1A2,
+ 26406 - 19968: 0xD9D4,
+ 26407 - 19968: 0xD6E8,
+ 26408 - 19968: 0xD9CA,
+ 26410 - 19968: 0xDAB1,
+ 26411 - 19968: 0xD8C7,
+ 26412 - 19968: 0xDCE2,
+ 26413 - 19968: 0xF3CE,
+ 26414 - 19968: 0xF5F4,
+ 26417 - 19968: 0xF1B9,
+ 26420 - 19968: 0xDAD3,
+ 26422 - 19968: 0xF6EA,
+ 26426 - 19968: 0xCFF5,
+ 26429 - 19968: 0xFDAE,
+ 26438 - 19968: 0xCAD2,
+ 26441 - 19968: 0xDFB4,
+ 26446 - 19968: 0xD7DD,
+ 26447 - 19968: 0xFABA,
+ 26448 - 19968: 0xEEA7,
+ 26449 - 19968: 0xF5BD,
+ 26451 - 19968: 0xF8F5,
+ 26454 - 19968: 0xEDE8,
+ 26460 - 19968: 0xD4E1,
+ 26462 - 19968: 0xD1A3,
+ 26463 - 19968: 0xE1D6,
+ 26477 - 19968: 0xF9F8,
+ 26479 - 19968: 0xDBCA,
+ 26480 - 19968: 0xCBF9,
+ 26481 - 19968: 0xD4D4,
+ 26483 - 19968: 0xD9DC,
+ 26485 - 19968: 0xEEBE,
+ 26487 - 19968: 0xF7ED,
+ 26491 - 19968: 0xD2EE,
+ 26494 - 19968: 0xE1E6,
+ 26495 - 19968: 0xF7F9,
+ 26503 - 19968: 0xDDED,
+ 26505 - 19968: 0xE8DB,
+ 26507 - 19968: 0xDBB3,
+ 26511 - 19968: 0xD1F7,
+ 26512 - 19968: 0xE0B0,
+ 26515 - 19968: 0xD4E2,
+ 26517 - 19968: 0xF6D7,
+ 26519 - 19968: 0xD7F9,
+ 26522 - 19968: 0xD8DD,
+ 26524 - 19968: 0xCDFD,
+ 26525 - 19968: 0xF2AB,
+ 26543 - 19968: 0xCDBD,
+ 26544 - 19968: 0xF8C2,
+ 26547 - 19968: 0xF2AC,
+ 26550 - 19968: 0xCAAD,
+ 26551 - 19968: 0xCAAE,
+ 26552 - 19968: 0xCFAE,
+ 26558 - 19968: 0xE3C2,
+ 26564 - 19968: 0xDCB7,
+ 26575 - 19968: 0xDBDA,
+ 26576 - 19968: 0xD9BB,
+ 26577 - 19968: 0xCAF3,
+ 26578 - 19968: 0xF6D3,
+ 26579 - 19968: 0xE6F8,
+ 26580 - 19968: 0xEAF5,
+ 26586 - 19968: 0xEAF6,
+ 26589 - 19968: 0xF6F9,
+ 26601 - 19968: 0xCFAF,
+ 26604 - 19968: 0xCAD3,
+ 26607 - 19968: 0xCAAF,
+ 26608 - 19968: 0xD2B0,
+ 26609 - 19968: 0xF1BA,
+ 26611 - 19968: 0xD7B3,
+ 26612 - 19968: 0xE3C3,
+ 26613 - 19968: 0xF3FD,
+ 26614 - 19968: 0xDEDA,
+ 26619 - 19968: 0xDEDB,
+ 26622 - 19968: 0xEFDE,
+ 26642 - 19968: 0xE2E3,
+ 26643 - 19968: 0xEEFB,
+ 26646 - 19968: 0xDFF7,
+ 26647 - 19968: 0xD7CA,
+ 26657 - 19968: 0xCEE8,
+ 26658 - 19968: 0xDBDB,
+ 26666 - 19968: 0xF1BB,
+ 26671 - 19968: 0xE9F1,
+ 26680 - 19968: 0xFAB7,
+ 26681 - 19968: 0xD0C6,
+ 26684 - 19968: 0xCCAB,
+ 26685 - 19968: 0xEEA8,
+ 26688 - 19968: 0xCBFA,
+ 26689 - 19968: 0xF9F9,
+ 26690 - 19968: 0xCCFD,
+ 26691 - 19968: 0xD3FE,
+ 26696 - 19968: 0xE4D0,
+ 26702 - 19968: 0xF2EE,
+ 26704 - 19968: 0xD4D5,
+ 26705 - 19968: 0xDFCD,
+ 26707 - 19968: 0xFCB8,
+ 26708 - 19968: 0xD1D0,
+ 26733 - 19968: 0xF2CD,
+ 26742 - 19968: 0xF7D2,
+ 26751 - 19968: 0xCAD4,
+ 26753 - 19968: 0xD5D9,
+ 26757 - 19968: 0xD8DE,
+ 26767 - 19968: 0xCDD9,
+ 26771 - 19968: 0xEEA9,
+ 26772 - 19968: 0xF6BC,
+ 26775 - 19968: 0xCCDB,
+ 26781 - 19968: 0xF0C9,
+ 26783 - 19968: 0xFCFC,
+ 26785 - 19968: 0xE8C9,
+ 26786 - 19968: 0xF4FE,
+ 26791 - 19968: 0xE7FC,
+ 26792 - 19968: 0xD7DE,
+ 26797 - 19968: 0xDEDC,
+ 26799 - 19968: 0xF0AC,
+ 26800 - 19968: 0xCCFE,
+ 26801 - 19968: 0xCDE1,
+ 26803 - 19968: 0xE1BA,
+ 26805 - 19968: 0xDBEF,
+ 26806 - 19968: 0xDAB2,
+ 26820 - 19968: 0xD1A5,
+ 26821 - 19968: 0xDCB8,
+ 26825 - 19968: 0xD8F6,
+ 26827 - 19968: 0xD1A4,
+ 26829 - 19968: 0xCDE2,
+ 26834 - 19968: 0xDCEA,
+ 26837 - 19968: 0xF0F7,
+ 26839 - 19968: 0xF0CA,
+ 26840 - 19968: 0xD0BE,
+ 26842 - 19968: 0xDDDC,
+ 26847 - 19968: 0xD4D6,
+ 26848 - 19968: 0xD3D6,
+ 26855 - 19968: 0xEDD0,
+ 26856 - 19968: 0xCDA1,
+ 26862 - 19968: 0xDFB5,
+ 26866 - 19968: 0xDFF8,
+ 26873 - 19968: 0xD4A1,
+ 26874 - 19968: 0xCEB2,
+ 26880 - 19968: 0xE8CA,
+ 26885 - 19968: 0xEBF5,
+ 26893 - 19968: 0xE3D5,
+ 26894 - 19968: 0xF5D0,
+ 26898 - 19968: 0xF5A1,
+ 26919 - 19968: 0xD9A7,
+ 26928 - 19968: 0xE5AB,
+ 26941 - 19968: 0xE6CB,
+ 26943 - 19968: 0xF5F1,
+ 26954 - 19968: 0xE5C5,
+ 26963 - 19968: 0xF9A3,
+ 26964 - 19968: 0xE0DB,
+ 26965 - 19968: 0xF6EB,
+ 26967 - 19968: 0xCBF1,
+ 26969 - 19968: 0xD9EA,
+ 26970 - 19968: 0xF5A2,
+ 26974 - 19968: 0xD7D1,
+ 26976 - 19968: 0xD1F8,
+ 26977 - 19968: 0xEAF8,
+ 26978 - 19968: 0xEAF9,
+ 26979 - 19968: 0xDAB3,
+ 26984 - 19968: 0xEFDF,
+ 26987 - 19968: 0xF1EF,
+ 26989 - 19968: 0xE5F6,
+ 26990 - 19968: 0xEEBF,
+ 26991 - 19968: 0xE2E4,
+ 26997 - 19968: 0xD0BF,
+ 26999 - 19968: 0xFAAC,
+ 27000 - 19968: 0xF5D1,
+ 27001 - 19968: 0xE7B3,
+ 27029 - 19968: 0xE9BE,
+ 27035 - 19968: 0xF2CE,
+ 27036 - 19968: 0xDBB4,
+ 27045 - 19968: 0xFCCE,
+ 27047 - 19968: 0xDDEE,
+ 27054 - 19968: 0xE7B4,
+ 27060 - 19968: 0xD7B4,
+ 27067 - 19968: 0xF7B4,
+ 27073 - 19968: 0xCDBE,
+ 27075 - 19968: 0xDAE9,
+ 27083 - 19968: 0xCFB0,
+ 27084 - 19968: 0xF7D9,
+ 27085 - 19968: 0xF3E6,
+ 27088 - 19968: 0xCED9,
+ 27112 - 19968: 0xCEAA,
+ 27114 - 19968: 0xCBC8,
+ 27131 - 19968: 0xD0A7,
+ 27133 - 19968: 0xF0CB,
+ 27135 - 19968: 0xD0C7,
+ 27138 - 19968: 0xE4C5,
+ 27146 - 19968: 0xDBE0,
+ 27153 - 19968: 0xD5DA,
+ 27155 - 19968: 0xD7A7,
+ 27159 - 19968: 0xEEC0,
+ 27161 - 19968: 0xF8F6,
+ 27166 - 19968: 0xF5D2,
+ 27167 - 19968: 0xEDE9,
+ 27169 - 19968: 0xD9BC,
+ 27171 - 19968: 0xE5C6,
+ 27189 - 19968: 0xF5A3,
+ 27192 - 19968: 0xDAD4,
+ 27193 - 19968: 0xE2A7,
+ 27194 - 19968: 0xFBFC,
+ 27197 - 19968: 0xF1DC,
+ 27204 - 19968: 0xCAF4,
+ 27208 - 19968: 0xE8FA,
+ 27211 - 19968: 0xCEE9,
+ 27218 - 19968: 0xE9F8,
+ 27219 - 19968: 0xE2E5,
+ 27224 - 19968: 0xD0B9,
+ 27225 - 19968: 0xD4F2,
+ 27231 - 19968: 0xD1A6,
+ 27233 - 19968: 0xDFCE,
+ 27243 - 19968: 0xFCF4,
+ 27264 - 19968: 0xD3AA,
+ 27268 - 19968: 0xCCAC,
+ 27273 - 19968: 0xEFE0,
+ 27277 - 19968: 0xE5E5,
+ 27278 - 19968: 0xD0D5,
+ 27287 - 19968: 0xDBFC,
+ 27292 - 19968: 0xFCE6,
+ 27298 - 19968: 0xCBFE,
+ 27299 - 19968: 0xEDEA,
+ 27315 - 19968: 0xDEB1,
+ 27323 - 19968: 0xF9E3,
+ 27330 - 19968: 0xD4A2,
+ 27331 - 19968: 0xCFF6,
+ 27347 - 19968: 0xD6D0,
+ 27354 - 19968: 0xD5EA,
+ 27355 - 19968: 0xF1EE,
+ 27382 - 19968: 0xFACB,
+ 27387 - 19968: 0xE5A1,
+ 27396 - 19968: 0xD5B1,
+ 27402 - 19968: 0xCFED,
+ 27404 - 19968: 0xEDEB,
+ 27410 - 19968: 0xD5B2,
+ 27414 - 19968: 0xD5BC,
+ 27424 - 19968: 0xFDE2,
+ 27425 - 19968: 0xF3AD,
+ 27427 - 19968: 0xFDDB,
+ 27442 - 19968: 0xE9B0,
+ 27450 - 19968: 0xD1A7,
+ 27453 - 19968: 0xFDE3,
+ 27454 - 19968: 0xCEB3,
+ 27462 - 19968: 0xFDE4,
+ 27463 - 19968: 0xFACE,
+ 27468 - 19968: 0xCAB0,
+ 27470 - 19968: 0xF7A7,
+ 27472 - 19968: 0xCFB1,
+ 27487 - 19968: 0xE6A2,
+ 27489 - 19968: 0xFCB6,
+ 27490 - 19968: 0xF2AD,
+ 27491 - 19968: 0xEFE1,
+ 27492 - 19968: 0xF3AE,
+ 27493 - 19968: 0xDCC6,
+ 27494 - 19968: 0xD9EB,
+ 27498 - 19968: 0xE8E0,
+ 27506 - 19968: 0xE1A8,
+ 27511 - 19968: 0xD5F6,
+ 27512 - 19968: 0xCFFD,
+ 27515 - 19968: 0xDEDD,
+ 27519 - 19968: 0xD9D1,
+ 27523 - 19968: 0xE4EA,
+ 27524 - 19968: 0xF2CF,
+ 27526 - 19968: 0xF7BF,
+ 27529 - 19968: 0xE2E6,
+ 27530 - 19968: 0xE2A8,
+ 27542 - 19968: 0xE3D6,
+ 27544 - 19968: 0xEDD1,
+ 27550 - 19968: 0xE9F9,
+ 27566 - 19968: 0xD6B1,
+ 27567 - 19968: 0xDEB2,
+ 27570 - 19968: 0xE0E8,
+ 27573 - 19968: 0xD3AB,
+ 27575 - 19968: 0xEBDC,
+ 27578 - 19968: 0xDFAF,
+ 27580 - 19968: 0xCAC3,
+ 27583 - 19968: 0xEEFC,
+ 27585 - 19968: 0xFDC3,
+ 27589 - 19968: 0xEBF6,
+ 27590 - 19968: 0xCFB2,
+ 27595 - 19968: 0xD9EC,
+ 27597 - 19968: 0xD9BD,
+ 27599 - 19968: 0xD8DF,
+ 27602 - 19968: 0xD4B8,
+ 27603 - 19968: 0xEBBE,
+ 27604 - 19968: 0xDDEF,
+ 27606 - 19968: 0xDDF0,
+ 27607 - 19968: 0xDDF1,
+ 27608 - 19968: 0xDDF2,
+ 27611 - 19968: 0xD9BE,
+ 27627 - 19968: 0xFBC6,
+ 27628 - 19968: 0xCFB3,
+ 27656 - 19968: 0xEEFD,
+ 27663 - 19968: 0xE4AB,
+ 27665 - 19968: 0xDAC5,
+ 27667 - 19968: 0xD8EC,
+ 27683 - 19968: 0xD1A8,
+ 27700 - 19968: 0xE2A9,
+ 27703 - 19968: 0xDEBC,
+ 27704 - 19968: 0xE7B5,
+ 27710 - 19968: 0xDBF0,
+ 27712 - 19968: 0xEFE2,
+ 27713 - 19968: 0xF1F0,
+ 27714 - 19968: 0xCFB4,
+ 27726 - 19968: 0xDBF1,
+ 27728 - 19968: 0xE0B1,
+ 27733 - 19968: 0xDFA5,
+ 27735 - 19968: 0xF9D2,
+ 27738 - 19968: 0xE7FD,
+ 27741 - 19968: 0xE6A3,
+ 27742 - 19968: 0xFBF1,
+ 27743 - 19968: 0xCBB0,
+ 27744 - 19968: 0xF2AE,
+ 27752 - 19968: 0xCDE7,
+ 27754 - 19968: 0xE8DC,
+ 27757 - 19968: 0xE7D7,
+ 27760 - 19968: 0xF7C0,
+ 27762 - 19968: 0xD0E3,
+ 27766 - 19968: 0xDAA1,
+ 27770 - 19968: 0xCCBD,
+ 27773 - 19968: 0xD1A9,
+ 27774 - 19968: 0xDDCC,
+ 27777 - 19968: 0xE3FE,
+ 27778 - 19968: 0xD1AA,
+ 27779 - 19968: 0xE8AA,
+ 27781 - 19968: 0xEAB6,
+ 27782 - 19968: 0xF9FA,
+ 27783 - 19968: 0xE6CC,
+ 27784 - 19968: 0xF6D8,
+ 27788 - 19968: 0xD4C7,
+ 27792 - 19968: 0xD9CB,
+ 27794 - 19968: 0xD9D2,
+ 27795 - 19968: 0xD3CB,
+ 27796 - 19968: 0xD8F7,
+ 27797 - 19968: 0xDAA9,
+ 27798 - 19968: 0xF5F8,
+ 27801 - 19968: 0xDEDE,
+ 27802 - 19968: 0xF2AF,
+ 27803 - 19968: 0xF8A9,
+ 27819 - 19968: 0xD8C8,
+ 27822 - 19968: 0xEEC1,
+ 27827 - 19968: 0xF9C1,
+ 27832 - 19968: 0xDDF3,
+ 27833 - 19968: 0xEAFA,
+ 27835 - 19968: 0xF6BD,
+ 27836 - 19968: 0xE1BB,
+ 27837 - 19968: 0xCDBF,
+ 27838 - 19968: 0xF4D4,
+ 27839 - 19968: 0xE6CD,
+ 27841 - 19968: 0xFCCF,
+ 27842 - 19968: 0xFBA2,
+ 27844 - 19968: 0xE0DC,
+ 27849 - 19968: 0xF4BB,
+ 27850 - 19968: 0xDAD5,
+ 27852 - 19968: 0xF9B2,
+ 27859 - 19968: 0xFBF2,
+ 27861 - 19968: 0xDBF6,
+ 27863 - 19968: 0xDEDF,
+ 27867 - 19968: 0xDBF2,
+ 27873 - 19968: 0xF8DC,
+ 27874 - 19968: 0xF7EE,
+ 27875 - 19968: 0xEBE8,
+ 27877 - 19968: 0xD2FA,
+ 27880 - 19968: 0xF1BC,
+ 27883 - 19968: 0xFADA,
+ 27886 - 19968: 0xDAEA,
+ 27887 - 19968: 0xDAC6,
+ 27888 - 19968: 0xF7C1,
+ 27891 - 19968: 0xE7B6,
+ 27915 - 19968: 0xE5C7,
+ 27916 - 19968: 0xD6AC,
+ 27921 - 19968: 0xDCC7,
+ 27927 - 19968: 0xE1A9,
+ 27929 - 19968: 0xE2AA,
+ 27931 - 19968: 0xD5A6,
+ 27934 - 19968: 0xD4D7,
+ 27941 - 19968: 0xF2D0,
+ 27943 - 19968: 0xEAFB,
+ 27945 - 19968: 0xE0DD,
+ 27946 - 19968: 0xFBF3,
+ 27954 - 19968: 0xF1BD,
+ 27957 - 19968: 0xE2E7,
+ 27958 - 19968: 0xFDD7,
+ 27960 - 19968: 0xCEC8,
+ 27961 - 19968: 0xEAB7,
+ 27963 - 19968: 0xFCC0,
+ 27965 - 19968: 0xFDE7,
+ 27966 - 19968: 0xF7EF,
+ 27969 - 19968: 0xD7B5,
+ 27993 - 19968: 0xEFBA,
+ 27994 - 19968: 0xF1DD,
+ 27996 - 19968: 0xDEB3,
+ 28003 - 19968: 0xE8CB,
+ 28006 - 19968: 0xF8DD,
+ 28009 - 19968: 0xFBC7,
+ 28010 - 19968: 0xD5C8,
+ 28012 - 19968: 0xD7DF,
+ 28014 - 19968: 0xDDA9,
+ 28020 - 19968: 0xE9B1,
+ 28023 - 19968: 0xFAAD,
+ 28024 - 19968: 0xF6D9,
+ 28025 - 19968: 0xFAF4,
+ 28031 - 19968: 0xF8AA,
+ 28037 - 19968: 0xE6EE,
+ 28039 - 19968: 0xCCDC,
+ 28040 - 19968: 0xE1BC,
+ 28041 - 19968: 0xE0EF,
+ 28044 - 19968: 0xE9BF,
+ 28045 - 19968: 0xFCFD,
+ 28046 - 19968: 0xE6CE,
+ 28049 - 19968: 0xE1D7,
+ 28051 - 19968: 0xE6CF,
+ 28053 - 19968: 0xF4F1,
+ 28079 - 19968: 0xE4F3,
+ 28082 - 19968: 0xE4FB,
+ 28085 - 19968: 0xF9E4,
+ 28096 - 19968: 0xEFE3,
+ 28099 - 19968: 0xCFEE,
+ 28100 - 19968: 0xF6BE,
+ 28101 - 19968: 0xE0B2,
+ 28102 - 19968: 0xFCFE,
+ 28103 - 19968: 0xD1AB,
+ 28107 - 19968: 0xD7FA,
+ 28111 - 19968: 0xFBC8,
+ 28113 - 19968: 0xE2D7,
+ 28120 - 19968: 0xD4A3,
+ 28121 - 19968: 0xF0F8,
+ 28122 - 19968: 0xD7A8,
+ 28126 - 19968: 0xE1E7,
+ 28129 - 19968: 0xD3BF,
+ 28136 - 19968: 0xEFE4,
+ 28138 - 19968: 0xD7C5,
+ 28139 - 19968: 0xEBE2,
+ 28142 - 19968: 0xFCE7,
+ 28145 - 19968: 0xE4A2,
+ 28147 - 19968: 0xE2E8,
+ 28149 - 19968: 0xE6D0,
+ 28151 - 19968: 0xFBE8,
+ 28152 - 19968: 0xF4E8,
+ 28153 - 19968: 0xE5F4,
+ 28154 - 19968: 0xF4BC,
+ 28155 - 19968: 0xF4D5,
+ 28183 - 19968: 0xDFB6,
+ 28185 - 19968: 0xFCB9,
+ 28186 - 19968: 0xEEC2,
+ 28187 - 19968: 0xCAF5,
+ 28191 - 19968: 0xEFE5,
+ 28192 - 19968: 0xCBE2,
+ 28193 - 19968: 0xD4A4,
+ 28195 - 19968: 0xDEE0,
+ 28196 - 19968: 0xDAFD,
+ 28197 - 19968: 0xE4C6,
+ 28198 - 19968: 0xE8BE,
+ 28203 - 19968: 0xE0DE,
+ 28204 - 19968: 0xF6B4,
+ 28205 - 19968: 0xEAD2,
+ 28207 - 19968: 0xF9FB,
+ 28210 - 19968: 0xE0C2,
+ 28212 - 19968: 0xCAE4,
+ 28214 - 19968: 0xE7B7,
+ 28216 - 19968: 0xEAFD,
+ 28218 - 19968: 0xD9DD,
+ 28220 - 19968: 0xDAB4,
+ 28221 - 19968: 0xEEAA,
+ 28222 - 19968: 0xFBE9,
+ 28227 - 19968: 0xDBCB,
+ 28228 - 19968: 0xDAB5,
+ 28234 - 19968: 0xF1BE,
+ 28237 - 19968: 0xD3AC,
+ 28246 - 19968: 0xFBC9,
+ 28248 - 19968: 0xDFCF,
+ 28251 - 19968: 0xD3C0,
+ 28252 - 19968: 0xE3D7,
+ 28254 - 19968: 0xEFE6,
+ 28255 - 19968: 0xFCD0,
+ 28263 - 19968: 0xE9C0,
+ 28267 - 19968: 0xF5D3,
+ 28270 - 19968: 0xECDC,
+ 28271 - 19968: 0xF7B7,
+ 28274 - 19968: 0xEAB8,
+ 28275 - 19968: 0xD1F9,
+ 28282 - 19968: 0xDCC8,
+ 28304 - 19968: 0xEAB9,
+ 28310 - 19968: 0xF1DE,
+ 28316 - 19968: 0xD7B6,
+ 28317 - 19968: 0xCFB5,
+ 28319 - 19968: 0xD9A8,
+ 28322 - 19968: 0xECEE,
+ 28325 - 19968: 0xDDAA,
+ 28330 - 19968: 0xCDA2,
+ 28331 - 19968: 0xE8AE,
+ 28335 - 19968: 0xE1BD,
+ 28337 - 19968: 0xF2D1,
+ 28342 - 19968: 0xE9C1,
+ 28346 - 19968: 0xD2FC,
+ 28354 - 19968: 0xDBB5,
+ 28356 - 19968: 0xF3E7,
+ 28357 - 19968: 0xD8FE,
+ 28361 - 19968: 0xFCD1,
+ 28363 - 19968: 0xEDB2,
+ 28364 - 19968: 0xF4AF,
+ 28366 - 19968: 0xFBA3,
+ 28369 - 19968: 0xFCC1,
+ 28371 - 19968: 0xEEAB,
+ 28372 - 19968: 0xD4A5,
+ 28399 - 19968: 0xF4F2,
+ 28404 - 19968: 0xEED9,
+ 28408 - 19968: 0xFBCA,
+ 28414 - 19968: 0xCDE3,
+ 28415 - 19968: 0xD8BB,
+ 28417 - 19968: 0xE5DB,
+ 28418 - 19968: 0xF8F7,
+ 28422 - 19968: 0xF6D4,
+ 28431 - 19968: 0xD7A9,
+ 28433 - 19968: 0xCBC9,
+ 28436 - 19968: 0xE6D1,
+ 28437 - 19968: 0xF0CC,
+ 28448 - 19968: 0xD8AE,
+ 28450 - 19968: 0xF9D3,
+ 28451 - 19968: 0xD5FE,
+ 28459 - 19968: 0xD8BC,
+ 28460 - 19968: 0xF2B0,
+ 28465 - 19968: 0xE2AB,
+ 28466 - 19968: 0xF3E8,
+ 28472 - 19968: 0xEFC2,
+ 28479 - 19968: 0xEDEC,
+ 28481 - 19968: 0xE7B8,
+ 28497 - 19968: 0xDAFE,
+ 28500 - 19968: 0xCCBE,
+ 28503 - 19968: 0xF2FC,
+ 28504 - 19968: 0xDAEB,
+ 28506 - 19968: 0xE2D8,
+ 28507 - 19968: 0xEDD6,
+ 28510 - 19968: 0xD6D1,
+ 28511 - 19968: 0xE0B3,
+ 28514 - 19968: 0xFCD2,
+ 28516 - 19968: 0xEBC8,
+ 28525 - 19968: 0xD3C1,
+ 28526 - 19968: 0xF0CD,
+ 28528 - 19968: 0xCFF7,
+ 28538 - 19968: 0xEDD2,
+ 28540 - 19968: 0xD4D8,
+ 28541 - 19968: 0xDCC9,
+ 28542 - 19968: 0xD7F1,
+ 28545 - 19968: 0xDFBB,
+ 28548 - 19968: 0xF3A5,
+ 28552 - 19968: 0xF4CD,
+ 28557 - 19968: 0xF1BF,
+ 28558 - 19968: 0xF8B1,
+ 28560 - 19968: 0xE9FA,
+ 28564 - 19968: 0xFBCB,
+ 28567 - 19968: 0xCAD5,
+ 28579 - 19968: 0xF9D4,
+ 28580 - 19968: 0xF7CA,
+ 28583 - 19968: 0xD6C8,
+ 28590 - 19968: 0xFCE8,
+ 28591 - 19968: 0xF3BD,
+ 28593 - 19968: 0xEEFE,
+ 28595 - 19968: 0xE7FE,
+ 28601 - 19968: 0xD3C2,
+ 28606 - 19968: 0xD3B6,
+ 28608 - 19968: 0xCCAD,
+ 28609 - 19968: 0xF6FA,
+ 28610 - 19968: 0xD6B2,
+ 28611 - 19968: 0xD2D8,
+ 28618 - 19968: 0xE7D8,
+ 28629 - 19968: 0xE3A5,
+ 28634 - 19968: 0xE7B9,
+ 28639 - 19968: 0xF0AD,
+ 28640 - 19968: 0xFBCC,
+ 28641 - 19968: 0xEBA1,
+ 28644 - 19968: 0xD4A6,
+ 28649 - 19968: 0xFBCD,
+ 28651 - 19968: 0xD5BD,
+ 28652 - 19968: 0xF1DF,
+ 28655 - 19968: 0xF6FB,
+ 28657 - 19968: 0xDEB4,
+ 28670 - 19968: 0xD5EB,
+ 28673 - 19968: 0xE5C8,
+ 28677 - 19968: 0xFBA4,
+ 28678 - 19968: 0xD4B9,
+ 28681 - 19968: 0xDEE1,
+ 28683 - 19968: 0xE4A3,
+ 28687 - 19968: 0xD7B7,
+ 28689 - 19968: 0xF8EE,
+ 28693 - 19968: 0xDEB5,
+ 28696 - 19968: 0xD6D2,
+ 28698 - 19968: 0xF9D5,
+ 28699 - 19968: 0xE7BA,
+ 28700 - 19968: 0xEBD5,
+ 28701 - 19968: 0xD5F7,
+ 28702 - 19968: 0xEFE7,
+ 28703 - 19968: 0xE1BE,
+ 28707 - 19968: 0xFAAE,
+ 28711 - 19968: 0xD6E9,
+ 28712 - 19968: 0xD6EE,
+ 28719 - 19968: 0xE7BB,
+ 28727 - 19968: 0xECCB,
+ 28734 - 19968: 0xD5B3,
+ 28748 - 19968: 0xCEB4,
+ 28752 - 19968: 0xFBA5,
+ 28753 - 19968: 0xE1EE,
+ 28760 - 19968: 0xF7A8,
+ 28765 - 19968: 0xFBCE,
+ 28771 - 19968: 0xD8BD,
+ 28779 - 19968: 0xFBFD,
+ 28784 - 19968: 0xFCE9,
+ 28792 - 19968: 0xCFB6,
+ 28796 - 19968: 0xEDC7,
+ 28797 - 19968: 0xEEAC,
+ 28805 - 19968: 0xCCDD,
+ 28810 - 19968: 0xF6A7,
+ 28814 - 19968: 0xE6FA,
+ 28818 - 19968: 0xF5A4,
+ 28824 - 19968: 0xFDDC,
+ 28825 - 19968: 0xEDB3,
+ 28826 - 19968: 0xCEC9,
+ 28833 - 19968: 0xEFE8,
+ 28836 - 19968: 0xE1BF,
+ 28843 - 19968: 0xFADB,
+ 28844 - 19968: 0xCBE3,
+ 28845 - 19968: 0xF7A9,
+ 28847 - 19968: 0xFBA6,
+ 28851 - 19968: 0xDCB9,
+ 28855 - 19968: 0xF1C0,
+ 28856 - 19968: 0xEDC8,
+ 28857 - 19968: 0xEFC3,
+ 28872 - 19968: 0xD6AD,
+ 28875 - 19968: 0xFDCE,
+ 28879 - 19968: 0xE8A1,
+ 28888 - 19968: 0xFBF4,
+ 28889 - 19968: 0xD5A7,
+ 28893 - 19968: 0xF1F6,
+ 28895 - 19968: 0xE6D3,
+ 28913 - 19968: 0xCCDE,
+ 28921 - 19968: 0xF8B2,
+ 28925 - 19968: 0xDCEB,
+ 28932 - 19968: 0xFDB6,
+ 28937 - 19968: 0xE5EA,
+ 28940 - 19968: 0xF1E0,
+ 28953 - 19968: 0xDBCC,
+ 28954 - 19968: 0xDDCD,
+ 28958 - 19968: 0xD4C8,
+ 28961 - 19968: 0xD9ED,
+ 28966 - 19968: 0xF5A5,
+ 28976 - 19968: 0xE6FB,
+ 28982 - 19968: 0xE6D4,
+ 28999 - 19968: 0xFDC8,
+ 29001 - 19968: 0xD6A1,
+ 29002 - 19968: 0xFDBF,
+ 29004 - 19968: 0xFCD3,
+ 29006 - 19968: 0xEFA1,
+ 29008 - 19968: 0xE7BC,
+ 29014 - 19968: 0xD1EE,
+ 29017 - 19968: 0xE6D5,
+ 29020 - 19968: 0xE9F2,
+ 29022 - 19968: 0xDFB0,
+ 29028 - 19968: 0xD8E0,
+ 29029 - 19968: 0xFCBA,
+ 29030 - 19968: 0xFDAF,
+ 29031 - 19968: 0xF0CE,
+ 29033 - 19968: 0xDBE1,
+ 29036 - 19968: 0xE5C9,
+ 29038 - 19968: 0xEDB4,
+ 29053 - 19968: 0xE0C3,
+ 29060 - 19968: 0xE3D8,
+ 29065 - 19968: 0xE9FB,
+ 29066 - 19968: 0xEAA8,
+ 29071 - 19968: 0xFDB7,
+ 29074 - 19968: 0xFBA7,
+ 29076 - 19968: 0xE9C2,
+ 29081 - 19968: 0xFDF7,
+ 29087 - 19968: 0xE2D9,
+ 29090 - 19968: 0xDCEC,
+ 29100 - 19968: 0xE8A2,
+ 29105 - 19968: 0xE6F0,
+ 29113 - 19968: 0xFDF8,
+ 29114 - 19968: 0xFDF9,
+ 29118 - 19968: 0xF6BF,
+ 29121 - 19968: 0xE7A7,
+ 29123 - 19968: 0xE6D7,
+ 29128 - 19968: 0xD4F3,
+ 29129 - 19968: 0xD4C9,
+ 29134 - 19968: 0xD6FA,
+ 29136 - 19968: 0xD7F2,
+ 29138 - 19968: 0xE1C0,
+ 29140 - 19968: 0xDBE2,
+ 29141 - 19968: 0xE6D8,
+ 29151 - 19968: 0xE7BD,
+ 29157 - 19968: 0xF0CF,
+ 29158 - 19968: 0xF3BE,
+ 29159 - 19968: 0xE2AC,
+ 29165 - 19968: 0xF5B7,
+ 29166 - 19968: 0xE0F0,
+ 29179 - 19968: 0xFDB8,
+ 29180 - 19968: 0xE3E8,
+ 29182 - 19968: 0xD4A7,
+ 29183 - 19968: 0xE8FC,
+ 29184 - 19968: 0xFAD2,
+ 29190 - 19968: 0xF8EF,
+ 29200 - 19968: 0xD6D3,
+ 29211 - 19968: 0xD5B4,
+ 29226 - 19968: 0xF0D0,
+ 29228 - 19968: 0xF7F0,
+ 29229 - 19968: 0xEEB3,
+ 29232 - 19968: 0xEABA,
+ 29234 - 19968: 0xEAD3,
+ 29237 - 19968: 0xEDC9,
+ 29238 - 19968: 0xDDAB,
+ 29242 - 19968: 0xE5AC,
+ 29243 - 19968: 0xFDA1,
+ 29245 - 19968: 0xDFD0,
+ 29246 - 19968: 0xECB3,
+ 29248 - 19968: 0xDFD1,
+ 29254 - 19968: 0xEDED,
+ 29255 - 19968: 0xF8B8,
+ 29256 - 19968: 0xF7FA,
+ 29260 - 19968: 0xF8AB,
+ 29266 - 19968: 0xF4E0,
+ 29272 - 19968: 0xD4BA,
+ 29273 - 19968: 0xE4B3,
+ 29275 - 19968: 0xE9DA,
+ 29277 - 19968: 0xDEB6,
+ 29279 - 19968: 0xD9BF,
+ 29281 - 19968: 0xD9C0,
+ 29282 - 19968: 0xD6EF,
+ 29287 - 19968: 0xD9CC,
+ 29289 - 19968: 0xDAAA,
+ 29298 - 19968: 0xDFE5,
+ 29305 - 19968: 0xF7E5,
+ 29309 - 19968: 0xCCB2,
+ 29312 - 19968: 0xDFF9,
+ 29313 - 19968: 0xD7E0,
+ 29346 - 19968: 0xD4BB,
+ 29351 - 19968: 0xFDFA,
+ 29356 - 19968: 0xCCB3,
+ 29359 - 19968: 0xDBF3,
+ 29376 - 19968: 0xDFD2,
+ 29378 - 19968: 0xCECA,
+ 29380 - 19968: 0xEEDA,
+ 29390 - 19968: 0xE4E4,
+ 29392 - 19968: 0xFBCF,
+ 29399 - 19968: 0xCFB7,
+ 29401 - 19968: 0xEEC3,
+ 29409 - 19968: 0xCEEA,
+ 29417 - 19968: 0xE2AD,
+ 29432 - 19968: 0xD7E1,
+ 29433 - 19968: 0xFAF5,
+ 29436 - 19968: 0xD5C9,
+ 29437 - 19968: 0xF8AC,
+ 29450 - 19968: 0xE7D9,
+ 29462 - 19968: 0xF3E9,
+ 29467 - 19968: 0xD8ED,
+ 29468 - 19968: 0xE3C4,
+ 29469 - 19968: 0xF0F1,
+ 29477 - 19968: 0xE8E5,
+ 29481 - 19968: 0xE0FA,
+ 29482 - 19968: 0xEEC4,
+ 29483 - 19968: 0xD9DE,
+ 29494 - 19968: 0xEBA2,
+ 29495 - 19968: 0xEBA3,
+ 29502 - 19968: 0xFCC2,
+ 29503 - 19968: 0xEABB,
+ 29508 - 19968: 0xE8AB,
+ 29509 - 19968: 0xDEE2,
+ 29520 - 19968: 0xEDEF,
+ 29522 - 19968: 0xE8A3,
+ 29527 - 19968: 0xCFF1,
+ 29544 - 19968: 0xD4BC,
+ 29546 - 19968: 0xFCEA,
+ 29552 - 19968: 0xE7BE,
+ 29554 - 19968: 0xFCF2,
+ 29557 - 19968: 0xD6B4,
+ 29560 - 19968: 0xE2AE,
+ 29562 - 19968: 0xD3B7,
+ 29563 - 19968: 0xFACC,
+ 29572 - 19968: 0xFADC,
+ 29574 - 19968: 0xEDB5,
+ 29575 - 19968: 0xE1E3,
+ 29577 - 19968: 0xE8AC,
+ 29579 - 19968: 0xE8DD,
+ 29582 - 19968: 0xEFE9,
+ 29588 - 19968: 0xF4BD,
+ 29590 - 19968: 0xCFB8,
+ 29591 - 19968: 0xE9DB,
+ 29592 - 19968: 0xD1AC,
+ 29599 - 19968: 0xDAC7,
+ 29607 - 19968: 0xEBC9,
+ 29609 - 19968: 0xE8CC,
+ 29613 - 19968: 0xDEB7,
+ 29618 - 19968: 0xD6BC,
+ 29619 - 19968: 0xD3E5,
+ 29625 - 19968: 0xFADD,
+ 29632 - 19968: 0xDAD6,
+ 29634 - 19968: 0xCAB1,
+ 29641 - 19968: 0xDAC8,
+ 29642 - 19968: 0xDFA6,
+ 29644 - 19968: 0xF9B3,
+ 29645 - 19968: 0xF2D2,
+ 29647 - 19968: 0xCAC4,
+ 29654 - 19968: 0xCECB,
+ 29657 - 19968: 0xCDF5,
+ 29661 - 19968: 0xFDB0,
+ 29662 - 19968: 0xD5A8,
+ 29664 - 19968: 0xF1C1,
+ 29667 - 19968: 0xE2E9,
+ 29668 - 19968: 0xDCCA,
+ 29669 - 19968: 0xECB4,
+ 29670 - 19968: 0xFAC0,
+ 29673 - 19968: 0xFBA8,
+ 29674 - 19968: 0xD0A8,
+ 29677 - 19968: 0xDAEC,
+ 29687 - 19968: 0xD9EE,
+ 29689 - 19968: 0xE0FB,
+ 29693 - 19968: 0xEFEA,
+ 29694 - 19968: 0xFADE,
+ 29697 - 19968: 0xE0C4,
+ 29699 - 19968: 0xCFB9,
+ 29701 - 19968: 0xD5CA,
+ 29702 - 19968: 0xD7E2,
+ 29703 - 19968: 0xE2AF,
+ 29705 - 19968: 0xD7B8,
+ 29715 - 19968: 0xE8CD,
+ 29723 - 19968: 0xF6DA,
+ 29728 - 19968: 0xEFA2,
+ 29729 - 19968: 0xE2DA,
+ 29730 - 19968: 0xF6FC,
+ 29733 - 19968: 0xFBD0,
+ 29734 - 19968: 0xD1AD,
+ 29736 - 19968: 0xCDE4,
+ 29738 - 19968: 0xD1AE,
+ 29739 - 19968: 0xDCED,
+ 29740 - 19968: 0xE8CE,
+ 29742 - 19968: 0xF0F9,
+ 29743 - 19968: 0xCEB5,
+ 29744 - 19968: 0xE6FC,
+ 29747 - 19968: 0xD7FB,
+ 29748 - 19968: 0xD0D6,
+ 29749 - 19968: 0xDDF5,
+ 29750 - 19968: 0xF7F1,
+ 29752 - 19968: 0xF6FD,
+ 29754 - 19968: 0xDBF7,
+ 29759 - 19968: 0xFBEA,
+ 29760 - 19968: 0xE9DC,
+ 29761 - 19968: 0xD9C1,
+ 29763 - 19968: 0xF5F2,
+ 29764 - 19968: 0xE0C5,
+ 29771 - 19968: 0xEAD4,
+ 29781 - 19968: 0xF9C2,
+ 29783 - 19968: 0xEABC,
+ 29785 - 19968: 0xD2C5,
+ 29786 - 19968: 0xFBD1,
+ 29787 - 19968: 0xE7C0,
+ 29788 - 19968: 0xEBA5,
+ 29790 - 19968: 0xDFFA,
+ 29791 - 19968: 0xE3A2,
+ 29792 - 19968: 0xD7B9,
+ 29794 - 19968: 0xE9C3,
+ 29796 - 19968: 0xE8FD,
+ 29797 - 19968: 0xE8AF,
+ 29800 - 19968: 0xF2D3,
+ 29801 - 19968: 0xFBA9,
+ 29802 - 19968: 0xD8A5,
+ 29807 - 19968: 0xD5CB,
+ 29822 - 19968: 0xD0C8,
+ 29826 - 19968: 0xD1AF,
+ 29827 - 19968: 0xD7E3,
+ 29831 - 19968: 0xE0C6,
+ 29833 - 19968: 0xD6A2,
+ 29835 - 19968: 0xEDF0,
+ 29848 - 19968: 0xD7F3,
+ 29852 - 19968: 0xFCD4,
+ 29854 - 19968: 0xDAD7,
+ 29855 - 19968: 0xCCDF,
+ 29857 - 19968: 0xF2D4,
+ 29859 - 19968: 0xD1B0,
+ 29861 - 19968: 0xCCE0,
+ 29863 - 19968: 0xDBFD,
+ 29864 - 19968: 0xF3BF,
+ 29866 - 19968: 0xF0D1,
+ 29872 - 19968: 0xFCBB,
+ 29874 - 19968: 0xE2B0,
+ 29877 - 19968: 0xE6A5,
+ 29881 - 19968: 0xE2DB,
+ 29885 - 19968: 0xDFDE,
+ 29887 - 19968: 0xE0C7,
+ 29894 - 19968: 0xF2EF,
+ 29898 - 19968: 0xCCE1,
+ 29903 - 19968: 0xD6EA,
+ 29908 - 19968: 0xE7C2,
+ 29912 - 19968: 0xCEB6,
+ 29914 - 19968: 0xF3C0,
+ 29916 - 19968: 0xCDFE,
+ 29920 - 19968: 0xFBD2,
+ 29922 - 19968: 0xF8F8,
+ 29923 - 19968: 0xF7FB,
+ 29926 - 19968: 0xE8BF,
+ 29934 - 19968: 0xE8B7,
+ 29943 - 19968: 0xEDB6,
+ 29953 - 19968: 0xDCBA,
+ 29956 - 19968: 0xCCB4,
+ 29969 - 19968: 0xF1F7,
+ 29973 - 19968: 0xE8B8,
+ 29976 - 19968: 0xCAF6,
+ 29978 - 19968: 0xE4A4,
+ 29979 - 19968: 0xF4D6,
+ 29983 - 19968: 0xDFE6,
+ 29987 - 19968: 0xDFA7,
+ 29989 - 19968: 0xDFE7,
+ 29990 - 19968: 0xE1C1,
+ 29992 - 19968: 0xE9C4,
+ 29995 - 19968: 0xDCCB,
+ 29996 - 19968: 0xE9C5,
+ 30000 - 19968: 0xEFA3,
+ 30001 - 19968: 0xEBA6,
+ 30002 - 19968: 0xCBA3,
+ 30003 - 19968: 0xE3E9,
+ 30007 - 19968: 0xD1FB,
+ 30008 - 19968: 0xEFA4,
+ 30010 - 19968: 0xEFEB,
+ 30023 - 19968: 0xD0B4,
+ 30028 - 19968: 0xCDA3,
+ 30031 - 19968: 0xE8E6,
+ 30033 - 19968: 0xEFA5,
+ 30035 - 19968: 0xD3CC,
+ 30036 - 19968: 0xDAED,
+ 30041 - 19968: 0xD7BA,
+ 30043 - 19968: 0xF2D5,
+ 30044 - 19968: 0xF5E5,
+ 30045 - 19968: 0xD9EF,
+ 30050 - 19968: 0xF9B4,
+ 30053 - 19968: 0xD5D4,
+ 30054 - 19968: 0xFDCF,
+ 30058 - 19968: 0xDBE3,
+ 30063 - 19968: 0xF1E1,
+ 30064 - 19968: 0xECB6,
+ 30069 - 19968: 0xFBFE,
+ 30070 - 19968: 0xD3D7,
+ 30072 - 19968: 0xD1B1,
+ 30074 - 19968: 0xCBB1,
+ 30079 - 19968: 0xD1B2,
+ 30086 - 19968: 0xCBB2,
+ 30087 - 19968: 0xF1C2,
+ 30090 - 19968: 0xF4E1,
+ 30091 - 19968: 0xF9B5,
+ 30094 - 19968: 0xE1C3,
+ 30095 - 19968: 0xE1C2,
+ 30097 - 19968: 0xEBF7,
+ 30109 - 19968: 0xDFA8,
+ 30117 - 19968: 0xCBCA,
+ 30123 - 19968: 0xE6B9,
+ 30129 - 19968: 0xF8DE,
+ 30130 - 19968: 0xF9AA,
+ 30131 - 19968: 0xCAF7,
+ 30133 - 19968: 0xEDB7,
+ 30136 - 19968: 0xD3B8,
+ 30137 - 19968: 0xF2D6,
+ 30140 - 19968: 0xD4D9,
+ 30141 - 19968: 0xEEC5,
+ 30142 - 19968: 0xF2F0,
+ 30146 - 19968: 0xCAB2,
+ 30149 - 19968: 0xDCBB,
+ 30151 - 19968: 0xF1F8,
+ 30157 - 19968: 0xECB7,
+ 30162 - 19968: 0xE5CA,
+ 30164 - 19968: 0xF6C0,
+ 30165 - 19968: 0xFDDD,
+ 30168 - 19968: 0xD4E3,
+ 30169 - 19968: 0xCCE2,
+ 30171 - 19968: 0xF7D4,
+ 30178 - 19968: 0xD7E5,
+ 30192 - 19968: 0xD3C3,
+ 30194 - 19968: 0xD8A6,
+ 30196 - 19968: 0xF6C1,
+ 30202 - 19968: 0xDDF6,
+ 30204 - 19968: 0xCDC0,
+ 30208 - 19968: 0xE5DC,
+ 30221 - 19968: 0xE5CB,
+ 30233 - 19968: 0xE1C4,
+ 30239 - 19968: 0xE8B0,
+ 30240 - 19968: 0xF4B0,
+ 30241 - 19968: 0xF3EA,
+ 30242 - 19968: 0xDAEE,
+ 30244 - 19968: 0xD7BB,
+ 30246 - 19968: 0xE2B1,
+ 30267 - 19968: 0xD7AA,
+ 30274 - 19968: 0xD6FB,
+ 30284 - 19968: 0xE4DF,
+ 30286 - 19968: 0xCAD6,
+ 30290 - 19968: 0xEBA8,
+ 30294 - 19968: 0xDBFE,
+ 30305 - 19968: 0xF6C2,
+ 30308 - 19968: 0xEFBB,
+ 30313 - 19968: 0xD4FD,
+ 30316 - 19968: 0xE0C8,
+ 30320 - 19968: 0xE8B9,
+ 30322 - 19968: 0xEFA6,
+ 30328 - 19968: 0xCDA4,
+ 30331 - 19968: 0xD4F4,
+ 30332 - 19968: 0xDBA1,
+ 30333 - 19968: 0xDBDC,
+ 30334 - 19968: 0xDBDD,
+ 30340 - 19968: 0xEEDC,
+ 30342 - 19968: 0xCBCB,
+ 30343 - 19968: 0xFCD5,
+ 30350 - 19968: 0xCEEB,
+ 30352 - 19968: 0xCDC1,
+ 30355 - 19968: 0xFBD3,
+ 30382 - 19968: 0xF9AB,
+ 30394 - 19968: 0xF5D4,
+ 30399 - 19968: 0xD9A9,
+ 30402 - 19968: 0xE9DD,
+ 30403 - 19968: 0xDBCD,
+ 30406 - 19968: 0xDDCE,
+ 30408 - 19968: 0xE7C3,
+ 30410 - 19968: 0xECCC,
+ 30418 - 19968: 0xF9EC,
+ 30422 - 19968: 0xCBCC,
+ 30427 - 19968: 0xE0FC,
+ 30428 - 19968: 0xD4A8,
+ 30430 - 19968: 0xEDD3,
+ 30431 - 19968: 0xD8EF,
+ 30433 - 19968: 0xF2D7,
+ 30435 - 19968: 0xCAF8,
+ 30436 - 19968: 0xDAEF,
+ 30439 - 19968: 0xD6D4,
+ 30446 - 19968: 0xD9CD,
+ 30450 - 19968: 0xD8EE,
+ 30452 - 19968: 0xF2C1,
+ 30456 - 19968: 0xDFD3,
+ 30460 - 19968: 0xDAF0,
+ 30462 - 19968: 0xE2EA,
+ 30465 - 19968: 0xE0FD,
+ 30468 - 19968: 0xD8F8,
+ 30472 - 19968: 0xF7AF,
+ 30473 - 19968: 0xDAB6,
+ 30475 - 19968: 0xCAD7,
+ 30494 - 19968: 0xF2D8,
+ 30496 - 19968: 0xD8F9,
+ 30505 - 19968: 0xFADF,
+ 30519 - 19968: 0xCFEF,
+ 30520 - 19968: 0xD9C2,
+ 30522 - 19968: 0xF0D2,
+ 30524 - 19968: 0xE4D1,
+ 30528 - 19968: 0xF3B7,
+ 30541 - 19968: 0xFAE0,
+ 30555 - 19968: 0xEFEC,
+ 30561 - 19968: 0xE2B2,
+ 30563 - 19968: 0xD4BD,
+ 30566 - 19968: 0xD9CE,
+ 30571 - 19968: 0xF4E2,
+ 30585 - 19968: 0xD4A9,
+ 30590 - 19968: 0xCDC2,
+ 30591 - 19968: 0xE7DA,
+ 30603 - 19968: 0xF2D9,
+ 30609 - 19968: 0xD9AA,
+ 30622 - 19968: 0xD8BE,
+ 30629 - 19968: 0xDCAD,
+ 30636 - 19968: 0xE2EB,
+ 30637 - 19968: 0xD6FC,
+ 30640 - 19968: 0xCAF9,
+ 30643 - 19968: 0xD4DA,
+ 30651 - 19968: 0xF4D7,
+ 30652 - 19968: 0xCCA1,
+ 30655 - 19968: 0xCFBA,
+ 30679 - 19968: 0xF5B8,
+ 30683 - 19968: 0xD9C3,
+ 30684 - 19968: 0xD0E8,
+ 30690 - 19968: 0xE3C5,
+ 30691 - 19968: 0xEBF8,
+ 30693 - 19968: 0xF2B1,
+ 30697 - 19968: 0xCFBB,
+ 30701 - 19968: 0xD3AD,
+ 30702 - 19968: 0xE8E1,
+ 30703 - 19968: 0xCEEC,
+ 30707 - 19968: 0xE0B4,
+ 30722 - 19968: 0xDEE3,
+ 30738 - 19968: 0xDDF7,
+ 30757 - 19968: 0xF2B2,
+ 30758 - 19968: 0xF3F6,
+ 30759 - 19968: 0xF6DB,
+ 30764 - 19968: 0xD7FE,
+ 30770 - 19968: 0xF8DF,
+ 30772 - 19968: 0xF7F2,
+ 30789 - 19968: 0xD0A9,
+ 30799 - 19968: 0xE6DA,
+ 30813 - 19968: 0xF5A6,
+ 30827 - 19968: 0xD7BC,
+ 30828 - 19968: 0xCCE3,
+ 30831 - 19968: 0xE6DB,
+ 30844 - 19968: 0xDDDD,
+ 30849 - 19968: 0xD1B3,
+ 30855 - 19968: 0xEFED,
+ 30860 - 19968: 0xD6DE,
+ 30861 - 19968: 0xE4F4,
+ 30862 - 19968: 0xE1EF,
+ 30865 - 19968: 0xDDF8,
+ 30871 - 19968: 0xE8CF,
+ 30883 - 19968: 0xCAE5,
+ 30887 - 19968: 0xDCA1,
+ 30889 - 19968: 0xE0B5,
+ 30906 - 19968: 0xFCAC,
+ 30907 - 19968: 0xFCAD,
+ 30908 - 19968: 0xD8A7,
+ 30913 - 19968: 0xEDB8,
+ 30917 - 19968: 0xDBB6,
+ 30922 - 19968: 0xD6F0,
+ 30923 - 19968: 0xF3AF,
+ 30926 - 19968: 0xCDA5,
+ 30928 - 19968: 0xDAF1,
+ 30952 - 19968: 0xD8A8,
+ 30956 - 19968: 0xCCE4,
+ 30959 - 19968: 0xD1B4,
+ 30965 - 19968: 0xCAD8,
+ 30971 - 19968: 0xDAF2,
+ 30977 - 19968: 0xF5A7,
+ 30990 - 19968: 0xF5A8,
+ 30998 - 19968: 0xE6A6,
+ 31018 - 19968: 0xD5EC,
+ 31019 - 19968: 0xD5F8,
+ 31020 - 19968: 0xDAF3,
+ 31034 - 19968: 0xE3C6,
+ 31038 - 19968: 0xDEE4,
+ 31040 - 19968: 0xDEE5,
+ 31041 - 19968: 0xD1B5,
+ 31047 - 19968: 0xD1B6,
+ 31048 - 19968: 0xD1B7,
+ 31049 - 19968: 0xF2B3,
+ 31056 - 19968: 0xE9DE,
+ 31062 - 19968: 0xF0D3,
+ 31063 - 19968: 0xF2B4,
+ 31066 - 19968: 0xF0D4,
+ 31067 - 19968: 0xCBE4,
+ 31068 - 19968: 0xFBD4,
+ 31069 - 19968: 0xF5E6,
+ 31070 - 19968: 0xE3EA,
+ 31072 - 19968: 0xDEE6,
+ 31077 - 19968: 0xDFD4,
+ 31080 - 19968: 0xF8F9,
+ 31085 - 19968: 0xF0AE,
+ 31098 - 19968: 0xD1B8,
+ 31103 - 19968: 0xD6DF,
+ 31105 - 19968: 0xD0D7,
+ 31117 - 19968: 0xFCA1,
+ 31118 - 19968: 0xEFEE,
+ 31119 - 19968: 0xDCD8,
+ 31121 - 19968: 0xE9DF,
+ 31142 - 19968: 0xE5DD,
+ 31143 - 19968: 0xFDFB,
+ 31146 - 19968: 0xE0C9,
+ 31150 - 19968: 0xD6C9,
+ 31153 - 19968: 0xD4AA,
+ 31155 - 19968: 0xE5CC,
+ 31161 - 19968: 0xE9E0,
+ 31165 - 19968: 0xD0D8,
+ 31166 - 19968: 0xFCA2,
+ 31167 - 19968: 0xD4BE,
+ 31168 - 19968: 0xE2B3,
+ 31169 - 19968: 0xDEE7,
+ 31177 - 19968: 0xDCBC,
+ 31178 - 19968: 0xD2B6,
+ 31179 - 19968: 0xF5D5,
+ 31185 - 19968: 0xCEA1,
+ 31186 - 19968: 0xF5A9,
+ 31189 - 19968: 0xDDF9,
+ 31192 - 19968: 0xDDFA,
+ 31199 - 19968: 0xF0D5,
+ 31204 - 19968: 0xF6DF,
+ 31206 - 19968: 0xF2DA,
+ 31207 - 19968: 0xE4EB,
+ 31209 - 19968: 0xF2F1,
+ 31227 - 19968: 0xECB9,
+ 31232 - 19968: 0xFDFC,
+ 31237 - 19968: 0xE1AA,
+ 31240 - 19968: 0xCAD9,
+ 31243 - 19968: 0xEFEF,
+ 31245 - 19968: 0xF5AA,
+ 31252 - 19968: 0xECF9,
+ 31255 - 19968: 0xF8AD,
+ 31257 - 19968: 0xF2C2,
+ 31258 - 19968: 0xF6C3,
+ 31260 - 19968: 0xD7D2,
+ 31263 - 19968: 0xF9A2,
+ 31264 - 19968: 0xF0D6,
+ 31278 - 19968: 0xF0FA,
+ 31281 - 19968: 0xF6E0,
+ 31286 - 19968: 0xE9F3,
+ 31287 - 19968: 0xF2C3,
+ 31291 - 19968: 0xD4AB,
+ 31292 - 19968: 0xCAB3,
+ 31293 - 19968: 0xCDA6,
+ 31295 - 19968: 0xCDC3,
+ 31296 - 19968: 0xCDDA,
+ 31302 - 19968: 0xD9CF,
+ 31305 - 19968: 0xF6C4,
+ 31309 - 19968: 0xEEDD,
+ 31310 - 19968: 0xE7C4,
+ 31319 - 19968: 0xE2B4,
+ 31329 - 19968: 0xDFE2,
+ 31330 - 19968: 0xE7DB,
+ 31337 - 19968: 0xE8B1,
+ 31339 - 19968: 0xFCAE,
+ 31344 - 19968: 0xE5CD,
+ 31348 - 19968: 0xFAEB,
+ 31350 - 19968: 0xCFBC,
+ 31353 - 19968: 0xCFE2,
+ 31354 - 19968: 0xCDF6,
+ 31357 - 19968: 0xEFF0,
+ 31359 - 19968: 0xF4BE,
+ 31361 - 19968: 0xD4CD,
+ 31364 - 19968: 0xF3B8,
+ 31368 - 19968: 0xE9A1,
+ 31378 - 19968: 0xF2F2,
+ 31379 - 19968: 0xF3EB,
+ 31381 - 19968: 0xF0D7,
+ 31384 - 19968: 0xCFD7,
+ 31391 - 19968: 0xCFDF,
+ 31401 - 19968: 0xE8C0,
+ 31402 - 19968: 0xE8C1,
+ 31406 - 19968: 0xCFE3,
+ 31407 - 19968: 0xE9A2,
+ 31418 - 19968: 0xD0AA,
+ 31428 - 19968: 0xF3C1,
+ 31429 - 19968: 0xD0AB,
+ 31431 - 19968: 0xD4E4,
+ 31434 - 19968: 0xEFBC,
+ 31435 - 19968: 0xD8A1,
+ 31447 - 19968: 0xD9DF,
+ 31449 - 19968: 0xF3D7,
+ 31453 - 19968: 0xDCBD,
+ 31455 - 19968: 0xCCE5,
+ 31456 - 19968: 0xEDF1,
+ 31459 - 19968: 0xF1E2,
+ 31461 - 19968: 0xD4DB,
+ 31466 - 19968: 0xE2B5,
+ 31469 - 19968: 0xCAE6,
+ 31471 - 19968: 0xD3AE,
+ 31478 - 19968: 0xCCE6,
+ 31481 - 19968: 0xF1D3,
+ 31482 - 19968: 0xF5E7,
+ 31487 - 19968: 0xCADA,
+ 31503 - 19968: 0xFBEE,
+ 31505 - 19968: 0xE1C5,
+ 31513 - 19968: 0xDFE9,
+ 31515 - 19968: 0xEEDE,
+ 31518 - 19968: 0xF7C2,
+ 31520 - 19968: 0xD8A2,
+ 31526 - 19968: 0xDDAC,
+ 31532 - 19968: 0xF0AF,
+ 31533 - 19968: 0xD6BD,
+ 31545 - 19968: 0xE1AB,
+ 31558 - 19968: 0xF9B6,
+ 31561 - 19968: 0xD4F5,
+ 31563 - 19968: 0xD0C9,
+ 31564 - 19968: 0xEFA7,
+ 31565 - 19968: 0xE2EC,
+ 31567 - 19968: 0xDBEA,
+ 31568 - 19968: 0xCECC,
+ 31569 - 19968: 0xF5E8,
+ 31570 - 19968: 0xF7D5,
+ 31572 - 19968: 0xD3CD,
+ 31574 - 19968: 0xF3FE,
+ 31584 - 19968: 0xD0B5,
+ 31596 - 19968: 0xE0FE,
+ 31598 - 19968: 0xDFFB,
+ 31605 - 19968: 0xE6DD,
+ 31613 - 19968: 0xE8A4,
+ 31623 - 19968: 0xCBCD,
+ 31627 - 19968: 0xEFA8,
+ 31631 - 19968: 0xEEB4,
+ 31636 - 19968: 0xDAD8,
+ 31637 - 19968: 0xD1B9,
+ 31639 - 19968: 0xDFA9,
+ 31642 - 19968: 0xF3B0,
+ 31645 - 19968: 0xCCC4,
+ 31649 - 19968: 0xCEB7,
+ 31661 - 19968: 0xEFA9,
+ 31665 - 19968: 0xDFD5,
+ 31668 - 19968: 0xEDD7,
+ 31672 - 19968: 0xEEC6,
+ 31680 - 19968: 0xEFBD,
+ 31681 - 19968: 0xFCD6,
+ 31684 - 19968: 0xDBF4,
+ 31686 - 19968: 0xEFAA,
+ 31687 - 19968: 0xF8B9,
+ 31689 - 19968: 0xF5E9,
+ 31698 - 19968: 0xE3D9,
+ 31712 - 19968: 0xE1C6,
+ 31716 - 19968: 0xD4BF,
+ 31721 - 19968: 0xDEE8,
+ 31751 - 19968: 0xF0EA,
+ 31762 - 19968: 0xF3C2,
+ 31774 - 19968: 0xD3AF,
+ 31777 - 19968: 0xCADB,
+ 31783 - 19968: 0xFCD7,
+ 31786 - 19968: 0xEDD8,
+ 31787 - 19968: 0xE1C7,
+ 31805 - 19968: 0xF4D8,
+ 31806 - 19968: 0xD6B3,
+ 31807 - 19968: 0xDDAD,
+ 31811 - 19968: 0xD5BE,
+ 31820 - 19968: 0xF1C3,
+ 31821 - 19968: 0xEEDF,
+ 31840 - 19968: 0xD6EB,
+ 31844 - 19968: 0xF4D9,
+ 31852 - 19968: 0xD7E6,
+ 31859 - 19968: 0xDAB7,
+ 31875 - 19968: 0xDDFB,
+ 31881 - 19968: 0xDDCF,
+ 31890 - 19968: 0xD8A3,
+ 31893 - 19968: 0xDAD9,
+ 31895 - 19968: 0xF0D8,
+ 31896 - 19968: 0xEFC4,
+ 31903 - 19968: 0xE1D8,
+ 31909 - 19968: 0xF1D4,
+ 31911 - 19968: 0xEDF2,
+ 31918 - 19968: 0xD5DB,
+ 31921 - 19968: 0xD5DC,
+ 31922 - 19968: 0xF3C4,
+ 31923 - 19968: 0xCBD7,
+ 31929 - 19968: 0xE2B6,
+ 31934 - 19968: 0xEFF1,
+ 31946 - 19968: 0xFBD5,
+ 31958 - 19968: 0xD3D8,
+ 31966 - 19968: 0xDDD0,
+ 31967 - 19968: 0xF0D9,
+ 31968 - 19968: 0xCBB3,
+ 31975 - 19968: 0xD5DD,
+ 31995 - 19968: 0xCDA7,
+ 31998 - 19968: 0xD0AC,
+ 32000 - 19968: 0xD1BA,
+ 32002 - 19968: 0xF1C4,
+ 32004 - 19968: 0xE5B3,
+ 32005 - 19968: 0xFBF5,
+ 32006 - 19968: 0xE9E1,
+ 32007 - 19968: 0xFDE0,
+ 32008 - 19968: 0xFCBC,
+ 32010 - 19968: 0xDAA2,
+ 32011 - 19968: 0xDAA3,
+ 32013 - 19968: 0xD2A1,
+ 32016 - 19968: 0xD2EF,
+ 32020 - 19968: 0xE2ED,
+ 32023 - 19968: 0xDEE9,
+ 32024 - 19968: 0xCEDC,
+ 32025 - 19968: 0xF2B5,
+ 32026 - 19968: 0xD0E4,
+ 32027 - 19968: 0xDDD1,
+ 32032 - 19968: 0xE1C8,
+ 32033 - 19968: 0xDBB7,
+ 32034 - 19968: 0xDFE3,
+ 32043 - 19968: 0xEDB9,
+ 32044 - 19968: 0xF1C5,
+ 32046 - 19968: 0xF3CF,
+ 32047 - 19968: 0xD7AB,
+ 32048 - 19968: 0xE1AC,
+ 32051 - 19968: 0xE3EB,
+ 32053 - 19968: 0xEEC7,
+ 32057 - 19968: 0xE1C9,
+ 32058 - 19968: 0xCAFA,
+ 32066 - 19968: 0xF0FB,
+ 32067 - 19968: 0xFAE1,
+ 32068 - 19968: 0xF0DA,
+ 32069 - 19968: 0xCCE7,
+ 32070 - 19968: 0xDAF4,
+ 32080 - 19968: 0xCCBF,
+ 32094 - 19968: 0xCEED,
+ 32097 - 19968: 0xD5A9,
+ 32098 - 19968: 0xFAE2,
+ 32102 - 19968: 0xD0E5,
+ 32104 - 19968: 0xEBD6,
+ 32106 - 19968: 0xECDF,
+ 32110 - 19968: 0xDFFC,
+ 32113 - 19968: 0xF7D6,
+ 32114 - 19968: 0xDEEA,
+ 32115 - 19968: 0xCBB4,
+ 32118 - 19968: 0xEFBE,
+ 32121 - 19968: 0xCCB5,
+ 32127 - 19968: 0xCFBD,
+ 32142 - 19968: 0xEFF2,
+ 32143 - 19968: 0xE2B7,
+ 32147 - 19968: 0xCCE8,
+ 32156 - 19968: 0xF0FC,
+ 32160 - 19968: 0xD6E0,
+ 32162 - 19968: 0xF1C6,
+ 32172 - 19968: 0xE2B8,
+ 32173 - 19968: 0xEBAB,
+ 32177 - 19968: 0xCBB5,
+ 32178 - 19968: 0xD8D1,
+ 32180 - 19968: 0xF4CE,
+ 32181 - 19968: 0xF3F7,
+ 32184 - 19968: 0xD7C6,
+ 32186 - 19968: 0xD1BB,
+ 32187 - 19968: 0xF7AA,
+ 32189 - 19968: 0xEDCA,
+ 32190 - 19968: 0xD7D3,
+ 32191 - 19968: 0xD8FA,
+ 32199 - 19968: 0xF6C5,
+ 32202 - 19968: 0xD1CC,
+ 32203 - 19968: 0xDDFC,
+ 32214 - 19968: 0xDFFD,
+ 32216 - 19968: 0xF9E5,
+ 32218 - 19968: 0xE0CA,
+ 32221 - 19968: 0xF2FD,
+ 32222 - 19968: 0xD3B0,
+ 32224 - 19968: 0xF4F3,
+ 32225 - 19968: 0xDAC9,
+ 32227 - 19968: 0xE6DE,
+ 32232 - 19968: 0xF8BA,
+ 32233 - 19968: 0xE8D0,
+ 32236 - 19968: 0xD8FB,
+ 32239 - 19968: 0xEAD5,
+ 32244 - 19968: 0xD6A3,
+ 32251 - 19968: 0xF6C6,
+ 32265 - 19968: 0xF2DB,
+ 32266 - 19968: 0xE4FC,
+ 32277 - 19968: 0xE8B2,
+ 32283 - 19968: 0xDADA,
+ 32285 - 19968: 0xF2DC,
+ 32286 - 19968: 0xFBD6,
+ 32287 - 19968: 0xE9B2,
+ 32289 - 19968: 0xEEAD,
+ 32291 - 19968: 0xFAE3,
+ 32299 - 19968: 0xDCEE,
+ 32302 - 19968: 0xF5EA,
+ 32303 - 19968: 0xE6E0,
+ 32305 - 19968: 0xF0FD,
+ 32311 - 19968: 0xD7AC,
+ 32317 - 19968: 0xF5C5,
+ 32318 - 19968: 0xEEE0,
+ 32321 - 19968: 0xDBE5,
+ 32323 - 19968: 0xDDDE,
+ 32326 - 19968: 0xD9F0,
+ 32327 - 19968: 0xE9A3,
+ 32338 - 19968: 0xF1F9,
+ 32340 - 19968: 0xF2C4,
+ 32341 - 19968: 0xE0CB,
+ 32350 - 19968: 0xE9A4,
+ 32353 - 19968: 0xE2B9,
+ 32361 - 19968: 0xE3B1,
+ 32362 - 19968: 0xFCEB,
+ 32363 - 19968: 0xCDA8,
+ 32365 - 19968: 0xCCB6,
+ 32368 - 19968: 0xF0DB,
+ 32377 - 19968: 0xE6BA,
+ 32380 - 19968: 0xCDA9,
+ 32386 - 19968: 0xF3C3,
+ 32396 - 19968: 0xE1D9,
+ 32399 - 19968: 0xEFAB,
+ 32403 - 19968: 0xE7C5,
+ 32406 - 19968: 0xE0E9,
+ 32408 - 19968: 0xF3C5,
+ 32411 - 19968: 0xD4C0,
+ 32412 - 19968: 0xD5BF,
+ 32566 - 19968: 0xDDAE,
+ 32568 - 19968: 0xF9FC,
+ 32570 - 19968: 0xCCC0,
+ 32588 - 19968: 0xE5A2,
+ 32592 - 19968: 0xCEB8,
+ 32596 - 19968: 0xD8D2,
+ 32597 - 19968: 0xF9D6,
+ 32618 - 19968: 0xF1AA,
+ 32619 - 19968: 0xCED1,
+ 32622 - 19968: 0xF6C7,
+ 32624 - 19968: 0xDBEB,
+ 32626 - 19968: 0xDFFE,
+ 32629 - 19968: 0xD8E1,
+ 32631 - 19968: 0xF7F3,
+ 32633 - 19968: 0xD7E7,
+ 32645 - 19968: 0xD4FE,
+ 32648 - 19968: 0xD1BC,
+ 32650 - 19968: 0xE5CF,
+ 32652 - 19968: 0xCBB6,
+ 32654 - 19968: 0xDAB8,
+ 32660 - 19968: 0xCDC4,
+ 32666 - 19968: 0xD6BE,
+ 32670 - 19968: 0xE2BA,
+ 32676 - 19968: 0xCFD8,
+ 32680 - 19968: 0xE0CC,
+ 32681 - 19968: 0xEBF9,
+ 32690 - 19968: 0xFDFD,
+ 32696 - 19968: 0xD7E8,
+ 32697 - 19968: 0xCBD8,
+ 32701 - 19968: 0xE9E2,
+ 32705 - 19968: 0xE8BA,
+ 32709 - 19968: 0xE3C7,
+ 32714 - 19968: 0xECCD,
+ 32716 - 19968: 0xECCE,
+ 32718 - 19968: 0xD6BF,
+ 32722 - 19968: 0xE3A7,
+ 32724 - 19968: 0xDFD6,
+ 32725 - 19968: 0xFDE8,
+ 32735 - 19968: 0xEEE1,
+ 32736 - 19968: 0xF6A8,
+ 32737 - 19968: 0xDDFD,
+ 32745 - 19968: 0xF8BB,
+ 32747 - 19968: 0xE8D1,
+ 32752 - 19968: 0xF9D7,
+ 32761 - 19968: 0xCEEE,
+ 32764 - 19968: 0xECCF,
+ 32768 - 19968: 0xE9A5,
+ 32769 - 19968: 0xD6D5,
+ 32771 - 19968: 0xCDC5,
+ 32773 - 19968: 0xEDBA,
+ 32774 - 19968: 0xD1BD,
+ 32777 - 19968: 0xCFBE,
+ 32780 - 19968: 0xECBB,
+ 32784 - 19968: 0xD2B1,
+ 32789 - 19968: 0xCCE9,
+ 32791 - 19968: 0xD9C4,
+ 32792 - 19968: 0xE9FC,
+ 32813 - 19968: 0xD1BE,
+ 32819 - 19968: 0xECBC,
+ 32822 - 19968: 0xE5AD,
+ 32829 - 19968: 0xF7B0,
+ 32831 - 19968: 0xCCEA,
+ 32835 - 19968: 0xD3C4,
+ 32838 - 19968: 0xD6C0,
+ 32842 - 19968: 0xD6FD,
+ 32854 - 19968: 0xE1A1,
+ 32856 - 19968: 0xDEBD,
+ 32858 - 19968: 0xF6A9,
+ 32862 - 19968: 0xDAA4,
+ 32879 - 19968: 0xD6A4,
+ 32880 - 19968: 0xF5C6,
+ 32882 - 19968: 0xE1A2,
+ 32883 - 19968: 0xE9C6,
+ 32887 - 19968: 0xF2C5,
+ 32893 - 19968: 0xF4E9,
+ 32894 - 19968: 0xD6EC,
+ 32895 - 19968: 0xEBD3,
+ 32900 - 19968: 0xECBD,
+ 32901 - 19968: 0xE2DC,
+ 32902 - 19968: 0xDEEB,
+ 32903 - 19968: 0xF0DC,
+ 32905 - 19968: 0xEBBF,
+ 32907 - 19968: 0xD7CE,
+ 32908 - 19968: 0xD1BF,
+ 32918 - 19968: 0xF5AB,
+ 32923 - 19968: 0xF9FD,
+ 32925 - 19968: 0xCADC,
+ 32929 - 19968: 0xCDC6,
+ 32930 - 19968: 0xF2B6,
+ 32933 - 19968: 0xDDFE,
+ 32937 - 19968: 0xCCB7,
+ 32938 - 19968: 0xDBB8,
+ 32943 - 19968: 0xD0E9,
+ 32945 - 19968: 0xCEDD,
+ 32946 - 19968: 0xEBC0,
+ 32948 - 19968: 0xFDA2,
+ 32954 - 19968: 0xF8CB,
+ 32963 - 19968: 0xEAD6,
+ 32964 - 19968: 0xF1B0,
+ 32972 - 19968: 0xDBCE,
+ 32974 - 19968: 0xF7C3,
+ 32986 - 19968: 0xDBCF,
+ 32987 - 19968: 0xCBA4,
+ 32990 - 19968: 0xF8E0,
+ 32993 - 19968: 0xFBD7,
+ 32996 - 19968: 0xEBCA,
+ 32997 - 19968: 0xE0A1,
+ 33009 - 19968: 0xCECD,
+ 33012 - 19968: 0xD4DC,
+ 33016 - 19968: 0xFDD8,
+ 33021 - 19968: 0xD2F6,
+ 33026 - 19968: 0xF2B7,
+ 33029 - 19968: 0xFAF6,
+ 33030 - 19968: 0xF6AA,
+ 33031 - 19968: 0xFAF7,
+ 33032 - 19968: 0xD8E6,
+ 33034 - 19968: 0xF4B1,
+ 33048 - 19968: 0xE8D2,
+ 33050 - 19968: 0xCAC5,
+ 33051 - 19968: 0xCCEB,
+ 33059 - 19968: 0xE2EE,
+ 33065 - 19968: 0xE2BB,
+ 33067 - 19968: 0xF7AD,
+ 33071 - 19968: 0xF8E1,
+ 33081 - 19968: 0xF3EC,
+ 33086 - 19968: 0xDEA1,
+ 33099 - 19968: 0xE4FD,
+ 33102 - 19968: 0xE3EC,
+ 33104 - 19968: 0xDDAF,
+ 33105 - 19968: 0xDDB0,
+ 33108 - 19968: 0xCBB7,
+ 33109 - 19968: 0xE8D3,
+ 33125 - 19968: 0xE1A3,
+ 33126 - 19968: 0xD2E0,
+ 33131 - 19968: 0xF0FE,
+ 33136 - 19968: 0xE9A6,
+ 33137 - 19968: 0xCBF2,
+ 33144 - 19968: 0xEDF3,
+ 33145 - 19968: 0xDCD9,
+ 33146 - 19968: 0xE0CD,
+ 33151 - 19968: 0xF7DA,
+ 33152 - 19968: 0xDBB9,
+ 33160 - 19968: 0xCCAE,
+ 33162 - 19968: 0xDADB,
+ 33167 - 19968: 0xCDC7,
+ 33178 - 19968: 0xDDB1,
+ 33180 - 19968: 0xD8AF,
+ 33181 - 19968: 0xE3A3,
+ 33184 - 19968: 0xCEEF,
+ 33187 - 19968: 0xF2F3,
+ 33192 - 19968: 0xF8B3,
+ 33203 - 19968: 0xE0CE,
+ 33205 - 19968: 0xF5FD,
+ 33210 - 19968: 0xEBEC,
+ 33213 - 19968: 0xD3C5,
+ 33214 - 19968: 0xFCEC,
+ 33215 - 19968: 0xD2DB,
+ 33216 - 19968: 0xD4EB,
+ 33218 - 19968: 0xDEA2,
+ 33222 - 19968: 0xE5E6,
+ 33229 - 19968: 0xF0B0,
+ 33240 - 19968: 0xD5C4,
+ 33247 - 19968: 0xEDF4,
+ 33251 - 19968: 0xE3ED,
+ 33253 - 19968: 0xE8C2,
+ 33255 - 19968: 0xEDF5,
+ 33256 - 19968: 0xD7FC,
+ 33258 - 19968: 0xEDBB,
+ 33261 - 19968: 0xF6AB,
+ 33267 - 19968: 0xF2B8,
+ 33268 - 19968: 0xF6C8,
+ 33274 - 19968: 0xD3E6,
+ 33275 - 19968: 0xF2DD,
+ 33276 - 19968: 0xCFBF,
+ 33278 - 19968: 0xEBAC,
+ 33285 - 19968: 0xCFC0,
+ 33287 - 19968: 0xE6A8,
+ 33288 - 19968: 0xFDE9,
+ 33290 - 19968: 0xCFC1,
+ 33292 - 19968: 0xE0DF,
+ 33293 - 19968: 0xDEEC,
+ 33298 - 19968: 0xE0A2,
+ 33307 - 19968: 0xF4BF,
+ 33308 - 19968: 0xE2EF,
+ 33310 - 19968: 0xD9F1,
+ 33311 - 19968: 0xF1C7,
+ 33313 - 19968: 0xCBB8,
+ 33322 - 19968: 0xF9FE,
+ 33323 - 19968: 0xDBBA,
+ 33324 - 19968: 0xDAF5,
+ 33333 - 19968: 0xF6EC,
+ 33334 - 19968: 0xDADC,
+ 33335 - 19968: 0xFAE4,
+ 33337 - 19968: 0xE0CF,
+ 33344 - 19968: 0xDDB2,
+ 33349 - 19968: 0xE6A9,
+ 33351 - 19968: 0xEFF3,
+ 33369 - 19968: 0xF3ED,
+ 33380 - 19968: 0xEBFA,
+ 33382 - 19968: 0xF9E6,
+ 33390 - 19968: 0xCADD,
+ 33391 - 19968: 0xD5DE,
+ 33393 - 19968: 0xCADE,
+ 33394 - 19968: 0xDFE4,
+ 33398 - 19968: 0xE6FD,
+ 33400 - 19968: 0xF5AC,
+ 33406 - 19968: 0xE4F5,
+ 33419 - 19968: 0xE9E3,
+ 33421 - 19968: 0xEDCB,
+ 33422 - 19968: 0xCFE4,
+ 33426 - 19968: 0xD8D3,
+ 33433 - 19968: 0xDDB3,
+ 33434 - 19968: 0xD4EC,
+ 33437 - 19968: 0xF2B9,
+ 33439 - 19968: 0xDFB7,
+ 33445 - 19968: 0xCBCE,
+ 33446 - 19968: 0xFBD8,
+ 33449 - 19968: 0xD0D9,
+ 33452 - 19968: 0xDDD2,
+ 33453 - 19968: 0xF7F4,
+ 33454 - 19968: 0xE7DC,
+ 33455 - 19968: 0xE4A5,
+ 33457 - 19968: 0xFCA3,
+ 33459 - 19968: 0xDBBB,
+ 33463 - 19968: 0xF2BA,
+ 33464 - 19968: 0xE9FD,
+ 33465 - 19968: 0xD0CA,
+ 33467 - 19968: 0xF5D6,
+ 33468 - 19968: 0xD9C5,
+ 33469 - 19968: 0xE4B4,
+ 33471 - 19968: 0xEDA7,
+ 33489 - 19968: 0xEABD,
+ 33490 - 19968: 0xE6FE,
+ 33492 - 19968: 0xF7C4,
+ 33493 - 19968: 0xF5AD,
+ 33495 - 19968: 0xD9E0,
+ 33499 - 19968: 0xCAB4,
+ 33502 - 19968: 0xF8E2,
+ 33503 - 19968: 0xCFC2,
+ 33505 - 19968: 0xECBE,
+ 33509 - 19968: 0xE5B4,
+ 33510 - 19968: 0xCDC8,
+ 33511 - 19968: 0xEEC8,
+ 33521 - 19968: 0xE7C8,
+ 33533 - 19968: 0xCDC9,
+ 33534 - 19968: 0xF9B7,
+ 33537 - 19968: 0xF1E8,
+ 33538 - 19968: 0xD9F2,
+ 33539 - 19968: 0xDBF5,
+ 33540 - 19968: 0xCAB5,
+ 33541 - 19968: 0xD9C6,
+ 33545 - 19968: 0xD8C9,
+ 33559 - 19968: 0xD9AB,
+ 33576 - 19968: 0xEDBC,
+ 33579 - 19968: 0xD8D4,
+ 33583 - 19968: 0xDCDA,
+ 33585 - 19968: 0xE2BC,
+ 33588 - 19968: 0xFCED,
+ 33589 - 19968: 0xECE0,
+ 33590 - 19968: 0xD2FE,
+ 33592 - 19968: 0xE9C7,
+ 33593 - 19968: 0xE6AA,
+ 33600 - 19968: 0xE2F0,
+ 33607 - 19968: 0xFABB,
+ 33609 - 19968: 0xF5AE,
+ 33610 - 19968: 0xFBAA,
+ 33615 - 19968: 0xECFB,
+ 33617 - 19968: 0xECBF,
+ 33618 - 19968: 0xFCD8,
+ 33651 - 19968: 0xD4E5,
+ 33655 - 19968: 0xF9C3,
+ 33659 - 19968: 0xEEE2,
+ 33673 - 19968: 0xD7E9,
+ 33674 - 19968: 0xEDF6,
+ 33678 - 19968: 0xDEED,
+ 33686 - 19968: 0xCCEC,
+ 33688 - 19968: 0xE3EE,
+ 33694 - 19968: 0xE8D4,
+ 33698 - 19968: 0xFAF8,
+ 33705 - 19968: 0xDDB4,
+ 33706 - 19968: 0xE4B5,
+ 33707 - 19968: 0xD8B0,
+ 33725 - 19968: 0xD8D5,
+ 33729 - 19968: 0xF4EA,
+ 33733 - 19968: 0xCEB9,
+ 33737 - 19968: 0xD6E1,
+ 33738 - 19968: 0xCFD2,
+ 33740 - 19968: 0xD0B6,
+ 33747 - 19968: 0xCEA2,
+ 33750 - 19968: 0xF3EE,
+ 33756 - 19968: 0xF3F8,
+ 33769 - 19968: 0xDCCC,
+ 33771 - 19968: 0xD0CB,
+ 33775 - 19968: 0xFCA4,
+ 33776 - 19968: 0xCDCA,
+ 33777 - 19968: 0xD7D4,
+ 33778 - 19968: 0xDEA3,
+ 33780 - 19968: 0xE4E0,
+ 33785 - 19968: 0xEEC9,
+ 33789 - 19968: 0xE2DD,
+ 33795 - 19968: 0xF5FE,
+ 33796 - 19968: 0xD4AC,
+ 33802 - 19968: 0xD5D1,
+ 33804 - 19968: 0xD8F0,
+ 33805 - 19968: 0xF8C3,
+ 33806 - 19968: 0xEAD7,
+ 33833 - 19968: 0xF5D7,
+ 33836 - 19968: 0xD8BF,
+ 33841 - 19968: 0xFDC0,
+ 33848 - 19968: 0xEBAD,
+ 33853 - 19968: 0xD5AA,
+ 33865 - 19968: 0xE7A8,
+ 33879 - 19968: 0xEECA,
+ 33883 - 19968: 0xCAE7,
+ 33889 - 19968: 0xF8E3,
+ 33891 - 19968: 0xD4DD,
+ 33894 - 19968: 0xEAD8,
+ 33899 - 19968: 0xFBD9,
+ 33900 - 19968: 0xEDF7,
+ 33903 - 19968: 0xE5B5,
+ 33909 - 19968: 0xD0AD,
+ 33914 - 19968: 0xF1F1,
+ 33936 - 19968: 0xE2BD,
+ 33940 - 19968: 0xE3C8,
+ 33945 - 19968: 0xD9D5,
+ 33948 - 19968: 0xDFAA,
+ 33953 - 19968: 0xDBBC,
+ 33970 - 19968: 0xF8E4,
+ 33976 - 19968: 0xF1FA,
+ 33979 - 19968: 0xE5B6,
+ 33980 - 19968: 0xF3EF,
+ 33983 - 19968: 0xFBDA,
+ 33984 - 19968: 0xE1E0,
+ 33986 - 19968: 0xD9AC,
+ 33988 - 19968: 0xF5EB,
+ 33990 - 19968: 0xE0B6,
+ 33993 - 19968: 0xE9C8,
+ 33995 - 19968: 0xCBCF,
+ 33997 - 19968: 0xE3C9,
+ 34001 - 19968: 0xDEEE,
+ 34010 - 19968: 0xE2BE,
+ 34028 - 19968: 0xDCEF,
+ 34030 - 19968: 0xD6A5,
+ 34036 - 19968: 0xE2F1,
+ 34044 - 19968: 0xD6FE,
+ 34065 - 19968: 0xD9A1,
+ 34067 - 19968: 0xD8C0,
+ 34068 - 19968: 0xDCDB,
+ 34071 - 19968: 0xEDBD,
+ 34072 - 19968: 0xDFB8,
+ 34074 - 19968: 0xEAA5,
+ 34078 - 19968: 0xD7AD,
+ 34081 - 19968: 0xF3F9,
+ 34083 - 19968: 0xEDF8,
+ 34085 - 19968: 0xF5C7,
+ 34092 - 19968: 0xE1CA,
+ 34093 - 19968: 0xEBE3,
+ 34095 - 19968: 0xF2DE,
+ 34109 - 19968: 0xF8CC,
+ 34111 - 19968: 0xEAD9,
+ 34113 - 19968: 0xD3C6,
+ 34115 - 19968: 0xDBE6,
+ 34121 - 19968: 0xF5AF,
+ 34126 - 19968: 0xCEF0,
+ 34131 - 19968: 0xE9FE,
+ 34137 - 19968: 0xFBB6,
+ 34147 - 19968: 0xE2F2,
+ 34152 - 19968: 0xCFF2,
+ 34153 - 19968: 0xF7B9,
+ 34154 - 19968: 0xD9F3,
+ 34157 - 19968: 0xE1CB,
+ 34180 - 19968: 0xDADD,
+ 34183 - 19968: 0xDAB9,
+ 34191 - 19968: 0xEBFB,
+ 34193 - 19968: 0xCBB9,
+ 34196 - 19968: 0xEDF9,
+ 34203 - 19968: 0xE0E0,
+ 34214 - 19968: 0xF4C0,
+ 34216 - 19968: 0xFDBC,
+ 34217 - 19968: 0xDFB1,
+ 34218 - 19968: 0xE3EF,
+ 34223 - 19968: 0xE0A3,
+ 34224 - 19968: 0xFDB9,
+ 34234 - 19968: 0xF0B1,
+ 34241 - 19968: 0xCDCB,
+ 34249 - 19968: 0xEDBE,
+ 34253 - 19968: 0xD5C0,
+ 34254 - 19968: 0xE3F0,
+ 34255 - 19968: 0xEDFA,
+ 34261 - 19968: 0xE9E4,
+ 34268 - 19968: 0xD5ED,
+ 34269 - 19968: 0xE7DD,
+ 34276 - 19968: 0xD4F6,
+ 34277 - 19968: 0xE5B7,
+ 34281 - 19968: 0xDBE7,
+ 34282 - 19968: 0xE2BF,
+ 34295 - 19968: 0xEECB,
+ 34298 - 19968: 0xD7F4,
+ 34299 - 19968: 0xF0DD,
+ 34303 - 19968: 0xCEAB,
+ 34306 - 19968: 0xE7DE,
+ 34310 - 19968: 0xD6D6,
+ 34311 - 19968: 0xE1CC,
+ 34314 - 19968: 0xE8B3,
+ 34326 - 19968: 0xE5EE,
+ 34327 - 19968: 0xDCA2,
+ 34330 - 19968: 0xE0D0,
+ 34349 - 19968: 0xD5B5,
+ 34367 - 19968: 0xD5A1,
+ 34382 - 19968: 0xFBDB,
+ 34384 - 19968: 0xF9CB,
+ 34388 - 19968: 0xCBF3,
+ 34389 - 19968: 0xF4A5,
+ 34395 - 19968: 0xFAC8,
+ 34396 - 19968: 0xD6D7,
+ 34398 - 19968: 0xE9E5,
+ 34399 - 19968: 0xFBDC,
+ 34407 - 19968: 0xFDD0,
+ 34425 - 19968: 0xFBF6,
+ 34442 - 19968: 0xDAA5,
+ 34444 - 19968: 0xDBBD,
+ 34451 - 19968: 0xECE2,
+ 34467 - 19968: 0xCDF7,
+ 34468 - 19968: 0xF0DE,
+ 34473 - 19968: 0xF6C9,
+ 34503 - 19968: 0xDEEF,
+ 34507 - 19968: 0xD3B1,
+ 34516 - 19968: 0xFCEE,
+ 34521 - 19968: 0xE8C3,
+ 34523 - 19968: 0xF1C8,
+ 34527 - 19968: 0xCEF1,
+ 34532 - 19968: 0xF9ED,
+ 34541 - 19968: 0xF2F4,
+ 34558 - 19968: 0xE4B6,
+ 34560 - 19968: 0xF5B9,
+ 34562 - 19968: 0xDCF0,
+ 34563 - 19968: 0xE3F1,
+ 34568 - 19968: 0xE8A5,
+ 34584 - 19968: 0xF2BB,
+ 34586 - 19968: 0xDEA4,
+ 34588 - 19968: 0xDACC,
+ 34638 - 19968: 0xCAE9,
+ 34645 - 19968: 0xE3DA,
+ 34647 - 19968: 0xFCD9,
+ 34655 - 19968: 0xEADA,
+ 34662 - 19968: 0xF9C4,
+ 34664 - 19968: 0xE3A4,
+ 34676 - 19968: 0xFBDD,
+ 34678 - 19968: 0xEFCA,
+ 34680 - 19968: 0xE8C4,
+ 34690 - 19968: 0xD5CC,
+ 34701 - 19968: 0xEBD7,
+ 34719 - 19968: 0xD9AD,
+ 34722 - 19968: 0xFBAB,
+ 34739 - 19968: 0xD3D9,
+ 34746 - 19968: 0xD5A2,
+ 34756 - 19968: 0xF6DE,
+ 34784 - 19968: 0xDAF6,
+ 34796 - 19968: 0xE0D1,
+ 34799 - 19968: 0xE9A8,
+ 34802 - 19968: 0xF5F9,
+ 34809 - 19968: 0xFAAF,
+ 34811 - 19968: 0xEBFC,
+ 34814 - 19968: 0xE0EA,
+ 34821 - 19968: 0xE3B2,
+ 34847 - 19968: 0xD5C5,
+ 34850 - 19968: 0xF1E3,
+ 34851 - 19968: 0xD5EE,
+ 34865 - 19968: 0xCDCC,
+ 34870 - 19968: 0xEDD9,
+ 34875 - 19968: 0xD8C1,
+ 34880 - 19968: 0xFAEC,
+ 34886 - 19968: 0xF1EB,
+ 34892 - 19968: 0xFABC,
+ 34893 - 19968: 0xE6E2,
+ 34898 - 19968: 0xFAE5,
+ 34899 - 19968: 0xE2FA,
+ 34903 - 19968: 0xCAB6,
+ 34905 - 19968: 0xE4B7,
+ 34907 - 19968: 0xEADB,
+ 34909 - 19968: 0xF5FA,
+ 34913 - 19968: 0xFBAC,
+ 34914 - 19968: 0xCFC3,
+ 34915 - 19968: 0xEBFD,
+ 34920 - 19968: 0xF8FA,
+ 34923 - 19968: 0xDFB9,
+ 34928 - 19968: 0xE1F1,
+ 34930 - 19968: 0xD2A4,
+ 34935 - 19968: 0xF5FB,
+ 34942 - 19968: 0xD0DA,
+ 34943 - 19968: 0xD0DB,
+ 34945 - 19968: 0xEABE,
+ 34946 - 19968: 0xD9B1,
+ 34952 - 19968: 0xCAB7,
+ 34955 - 19968: 0xD3E7,
+ 34957 - 19968: 0xF8E5,
+ 34962 - 19968: 0xD3B2,
+ 34966 - 19968: 0xE2C0,
+ 34967 - 19968: 0xF2DF,
+ 34974 - 19968: 0xCDE5,
+ 34987 - 19968: 0xF9AC,
+ 34996 - 19968: 0xCDCD,
+ 35009 - 19968: 0xEEAE,
+ 35010 - 19968: 0xD6AE,
+ 35023 - 19968: 0xD7EA,
+ 35028 - 19968: 0xE7E0,
+ 35029 - 19968: 0xEBAE,
+ 35033 - 19968: 0xCFD9,
+ 35036 - 19968: 0xDCCD,
+ 35037 - 19968: 0xEDFB,
+ 35039 - 19968: 0xDEF0,
+ 35041 - 19968: 0xD7EB,
+ 35048 - 19968: 0xDEA5,
+ 35059 - 19968: 0xDFD7,
+ 35060 - 19968: 0xDBD0,
+ 35061 - 19968: 0xDBD1,
+ 35064 - 19968: 0xD5A3,
+ 35069 - 19968: 0xF0B2,
+ 35079 - 19968: 0xDCDC,
+ 35088 - 19968: 0xCAE8,
+ 35090 - 19968: 0xF8E6,
+ 35091 - 19968: 0xDCCE,
+ 35096 - 19968: 0xEADC,
+ 35097 - 19968: 0xDBD2,
+ 35109 - 19968: 0xE9B3,
+ 35114 - 19968: 0xF7DB,
+ 35126 - 19968: 0xE3A8,
+ 35128 - 19968: 0xD7AE,
+ 35131 - 19968: 0xE0E1,
+ 35137 - 19968: 0xCBBA,
+ 35140 - 19968: 0xE5D1,
+ 35167 - 19968: 0xD0DC,
+ 35172 - 19968: 0xD5C1,
+ 35178 - 19968: 0xD8CA,
+ 35186 - 19968: 0xE3A9,
+ 35199 - 19968: 0xE0A4,
+ 35201 - 19968: 0xE9A9,
+ 35203 - 19968: 0xD3C7,
+ 35206 - 19968: 0xDCDD,
+ 35207 - 19968: 0xF8AE,
+ 35211 - 19968: 0xCCB8,
+ 35215 - 19968: 0xD0AE,
+ 35219 - 19968: 0xD8F2,
+ 35222 - 19968: 0xE3CA,
+ 35233 - 19968: 0xCCAF,
+ 35241 - 19968: 0xD4AD,
+ 35242 - 19968: 0xF6D1,
+ 35250 - 19968: 0xD0CC,
+ 35258 - 19968: 0xCAC6,
+ 35261 - 19968: 0xD5C2,
+ 35264 - 19968: 0xCEBA,
+ 35282 - 19968: 0xCAC7,
+ 35299 - 19968: 0xFAB0,
+ 35316 - 19968: 0xDFD8,
+ 35320 - 19968: 0xF5BA,
+ 35328 - 19968: 0xE5EB,
+ 35330 - 19968: 0xEFF4,
+ 35331 - 19968: 0xDDB5,
+ 35336 - 19968: 0xCDAA,
+ 35338 - 19968: 0xE3F2,
+ 35340 - 19968: 0xFBF7,
+ 35342 - 19968: 0xF7D0,
+ 35347 - 19968: 0xFDBA,
+ 35350 - 19968: 0xFDE1,
+ 35351 - 19968: 0xF6FE,
+ 35352 - 19968: 0xD1C0,
+ 35355 - 19968: 0xE8C5,
+ 35357 - 19968: 0xE4B8,
+ 35359 - 19968: 0xE1E8,
+ 35363 - 19968: 0xCCC1,
+ 35365 - 19968: 0xD2ED,
+ 35370 - 19968: 0xDBBE,
+ 35373 - 19968: 0xE0E2,
+ 35377 - 19968: 0xFAC9,
+ 35380 - 19968: 0xE1CD,
+ 35382 - 19968: 0xCAB8,
+ 35386 - 19968: 0xF2E0,
+ 35387 - 19968: 0xF1C9,
+ 35408 - 19968: 0xDEF1,
+ 35412 - 19968: 0xF0DF,
+ 35413 - 19968: 0xF8C4,
+ 35419 - 19968: 0xEECC,
+ 35422 - 19968: 0xDEF2,
+ 35424 - 19968: 0xE7C9,
+ 35426 - 19968: 0xE2F3,
+ 35427 - 19968: 0xE7E1,
+ 35430 - 19968: 0xE3CB,
+ 35433 - 19968: 0xE3CC,
+ 35437 - 19968: 0xCFF8,
+ 35438 - 19968: 0xEFAC,
+ 35440 - 19968: 0xFDFE,
+ 35441 - 19968: 0xFCA5,
+ 35442 - 19968: 0xFAB1,
+ 35443 - 19968: 0xDFD9,
+ 35445 - 19968: 0xE0D2,
+ 35449 - 19968: 0xF4DA,
+ 35461 - 19968: 0xF1CA,
+ 35463 - 19968: 0xCEA3,
+ 35468 - 19968: 0xF2BC,
+ 35469 - 19968: 0xECE3,
+ 35475 - 19968: 0xE0A5,
+ 35477 - 19968: 0xF7AB,
+ 35480 - 19968: 0xEBAF,
+ 35486 - 19968: 0xE5DE,
+ 35488 - 19968: 0xE1A4,
+ 35489 - 19968: 0xCDAB,
+ 35491 - 19968: 0xD9F4,
+ 35492 - 19968: 0xE8A6,
+ 35493 - 19968: 0xCDCE,
+ 35494 - 19968: 0xE1E9,
+ 35496 - 19968: 0xFCEF,
+ 35498 - 19968: 0xE0E3,
+ 35504 - 19968: 0xE2C1,
+ 35506 - 19968: 0xCEA4,
+ 35513 - 19968: 0xDEA6,
+ 35516 - 19968: 0xEBFE,
+ 35518 - 19968: 0xEBDD,
+ 35519 - 19968: 0xF0E0,
+ 35522 - 19968: 0xF4DB,
+ 35524 - 19968: 0xE2F4,
+ 35527 - 19968: 0xD3C8,
+ 35531 - 19968: 0xF4EB,
+ 35533 - 19968: 0xEEB5,
+ 35535 - 19968: 0xF5D8,
+ 35538 - 19968: 0xD5DF,
+ 35542 - 19968: 0xD6E5,
+ 35547 - 19968: 0xEBB0,
+ 35548 - 19968: 0xF4E3,
+ 35553 - 19968: 0xE3CD,
+ 35558 - 19968: 0xF4F4,
+ 35559 - 19968: 0xFAB2,
+ 35562 - 19968: 0xEFF5,
+ 35563 - 19968: 0xCADF,
+ 35565 - 19968: 0xEBB1,
+ 35566 - 19968: 0xEDBF,
+ 35569 - 19968: 0xFDC9,
+ 35574 - 19968: 0xE4A6,
+ 35575 - 19968: 0xF9A4,
+ 35576 - 19968: 0xF0B3,
+ 35578 - 19968: 0xE5EC,
+ 35582 - 19968: 0xD1E7,
+ 35584 - 19968: 0xD9C7,
+ 35585 - 19968: 0xE4D7,
+ 35586 - 19968: 0xEADD,
+ 35588 - 19968: 0xD4F7,
+ 35598 - 19968: 0xDABA,
+ 35600 - 19968: 0xDACD,
+ 35604 - 19968: 0xF9CC,
+ 35606 - 19968: 0xE1DA,
+ 35607 - 19968: 0xDBBF,
+ 35609 - 19968: 0xCCC5,
+ 35610 - 19968: 0xECD0,
+ 35611 - 19968: 0xCBBB,
+ 35613 - 19968: 0xDEF3,
+ 35616 - 19968: 0xE9AA,
+ 35624 - 19968: 0xD9C8,
+ 35627 - 19968: 0xEEE3,
+ 35628 - 19968: 0xD7BD,
+ 35635 - 19968: 0xCFC4,
+ 35641 - 19968: 0xD0CD,
+ 35649 - 19968: 0xFCA6,
+ 35657 - 19968: 0xF1FB,
+ 35662 - 19968: 0xFDD2,
+ 35663 - 19968: 0xD1C1,
+ 35672 - 19968: 0xE3DB,
+ 35674 - 19968: 0xD3C9,
+ 35676 - 19968: 0xDCCF,
+ 35686 - 19968: 0xCCED,
+ 35692 - 19968: 0xDEA7,
+ 35695 - 19968: 0xE6BB,
+ 35696 - 19968: 0xECA1,
+ 35700 - 19968: 0xCCB9,
+ 35703 - 19968: 0xFBDE,
+ 35709 - 19968: 0xE7E2,
+ 35712 - 19968: 0xD4C1,
+ 35722 - 19968: 0xDCA8,
+ 35728 - 19968: 0xE2C2,
+ 35730 - 19968: 0xF3D8,
+ 35731 - 19968: 0xE5D3,
+ 35734 - 19968: 0xF3D9,
+ 35738 - 19968: 0xF3C6,
+ 35895 - 19968: 0xCDDB,
+ 35903 - 19968: 0xCDAC,
+ 35905 - 19968: 0xFCC3,
+ 35910 - 19968: 0xD4E7,
+ 35912 - 19968: 0xD1C2,
+ 35914 - 19968: 0xF9A5,
+ 35916 - 19968: 0xE8D5,
+ 35925 - 19968: 0xE3CE,
+ 35930 - 19968: 0xD4CA,
+ 35937 - 19968: 0xDFDA,
+ 35946 - 19968: 0xFBDF,
+ 35947 - 19968: 0xE7E3,
+ 35961 - 19968: 0xF8FB,
+ 35962 - 19968: 0xE3CF,
+ 35970 - 19968: 0xF5B0,
+ 35978 - 19968: 0xD8E7,
+ 35980 - 19968: 0xD9C9,
+ 35997 - 19968: 0xF8AF,
+ 35998 - 19968: 0xEFF6,
+ 36000 - 19968: 0xDDB6,
+ 36001 - 19968: 0xEEAF,
+ 36002 - 19968: 0xCDF8,
+ 36007 - 19968: 0xDEB8,
+ 36008 - 19968: 0xFCA7,
+ 36009 - 19968: 0xF7FC,
+ 36010 - 19968: 0xF7B1,
+ 36011 - 19968: 0xCEBB,
+ 36012 - 19968: 0xF4A1,
+ 36015 - 19968: 0xEECD,
+ 36016 - 19968: 0xE1AE,
+ 36019 - 19968: 0xECC3,
+ 36020 - 19968: 0xCFFE,
+ 36022 - 19968: 0xF8BF,
+ 36023 - 19968: 0xD8E2,
+ 36024 - 19968: 0xD3E8,
+ 36027 - 19968: 0xDEA8,
+ 36028 - 19968: 0xF4E4,
+ 36029 - 19968: 0xECC2,
+ 36031 - 19968: 0xD9F5,
+ 36032 - 19968: 0xF9C5,
+ 36033 - 19968: 0xDDD3,
+ 36034 - 19968: 0xD6F1,
+ 36035 - 19968: 0xECFC,
+ 36036 - 19968: 0xFCF0,
+ 36039 - 19968: 0xEDC0,
+ 36040 - 19968: 0xCAB9,
+ 36042 - 19968: 0xEEE4,
+ 36049 - 19968: 0xF2E1,
+ 36051 - 19968: 0xDEB9,
+ 36058 - 19968: 0xD6F2,
+ 36060 - 19968: 0xDEF4,
+ 36062 - 19968: 0xDFDB,
+ 36064 - 19968: 0xDBD3,
+ 36066 - 19968: 0xFAE7,
+ 36067 - 19968: 0xD8E3,
+ 36068 - 19968: 0xF4C1,
+ 36070 - 19968: 0xDDB7,
+ 36074 - 19968: 0xF2F5,
+ 36077 - 19968: 0xD4AE,
+ 36084 - 19968: 0xD6F3,
+ 36091 - 19968: 0xDDB8,
+ 36092 - 19968: 0xCFC5,
+ 36093 - 19968: 0xDFDF,
+ 36100 - 19968: 0xF2BE,
+ 36101 - 19968: 0xF6A1,
+ 36103 - 19968: 0xEBCB,
+ 36104 - 19968: 0xF1FC,
+ 36106 - 19968: 0xF3C7,
+ 36109 - 19968: 0xE0EB,
+ 36115 - 19968: 0xEDFC,
+ 36118 - 19968: 0xE1DB,
+ 36196 - 19968: 0xEEE5,
+ 36198 - 19968: 0xDEF5,
+ 36203 - 19968: 0xFAD3,
+ 36208 - 19968: 0xF1CB,
+ 36211 - 19968: 0xD0AF,
+ 36212 - 19968: 0xDDB9,
+ 36215 - 19968: 0xD1C3,
+ 36229 - 19968: 0xF5B1,
+ 36234 - 19968: 0xEAC6,
+ 36249 - 19968: 0xF0E1,
+ 36259 - 19968: 0xF6AC,
+ 36264 - 19968: 0xF5D9,
+ 36275 - 19968: 0xF0EB,
+ 36282 - 19968: 0xDDBA,
+ 36286 - 19968: 0xF2BF,
+ 36294 - 19968: 0xF7C5,
+ 36299 - 19968: 0xDBA2,
+ 36300 - 19968: 0xF2F6,
+ 36303 - 19968: 0xCABA,
+ 36315 - 19968: 0xF7F5,
+ 36317 - 19968: 0xCBE5,
+ 36321 - 19968: 0xEEE6,
+ 36323 - 19968: 0xE0D3,
+ 36328 - 19968: 0xCEA5,
+ 36335 - 19968: 0xD6D8,
+ 36339 - 19968: 0xD4AF,
+ 36362 - 19968: 0xE9C9,
+ 36367 - 19968: 0xD3CE,
+ 36368 - 19968: 0xF4C2,
+ 36382 - 19968: 0xCBE6,
+ 36394 - 19968: 0xF1A1,
+ 36400 - 19968: 0xEBB2,
+ 36405 - 19968: 0xF1A2,
+ 36418 - 19968: 0xEBB3,
+ 36420 - 19968: 0xF0B4,
+ 36423 - 19968: 0xCBF4,
+ 36424 - 19968: 0xD4B0,
+ 36425 - 19968: 0xF3B2,
+ 36426 - 19968: 0xFBB7,
+ 36441 - 19968: 0xF5EC,
+ 36447 - 19968: 0xEEE7,
+ 36448 - 19968: 0xF4B2,
+ 36468 - 19968: 0xF5ED,
+ 36470 - 19968: 0xCFF3,
+ 36481 - 19968: 0xF0E2,
+ 36487 - 19968: 0xEECE,
+ 36490 - 19968: 0xF1CC,
+ 36493 - 19968: 0xE5B8,
+ 36522 - 19968: 0xD7F5,
+ 36523 - 19968: 0xE3F3,
+ 36524 - 19968: 0xCFE5,
+ 36544 - 19968: 0xCFC6,
+ 36554 - 19968: 0xF3B3,
+ 36555 - 19968: 0xE4D8,
+ 36556 - 19968: 0xCFF9,
+ 36557 - 19968: 0xCFDA,
+ 36562 - 19968: 0xFACD,
+ 36575 - 19968: 0xE6E3,
+ 36587 - 19968: 0xF2E2,
+ 36600 - 19968: 0xF5EE,
+ 36603 - 19968: 0xCABB,
+ 36606 - 19968: 0xE3DC,
+ 36611 - 19968: 0xCEF2,
+ 36613 - 19968: 0xD6D9,
+ 36617 - 19968: 0xEEB0,
+ 36626 - 19968: 0xF4E5,
+ 36627 - 19968: 0xD8C2,
+ 36628 - 19968: 0xDCD0,
+ 36629 - 19968: 0xCCEE,
+ 36635 - 19968: 0xD5E0,
+ 36636 - 19968: 0xF6CA,
+ 36637 - 19968: 0xFDCA,
+ 36638 - 19968: 0xD8D6,
+ 36639 - 19968: 0xF4CF,
+ 36646 - 19968: 0xD6A6,
+ 36647 - 19968: 0xDCBE,
+ 36649 - 19968: 0xDBD4,
+ 36650 - 19968: 0xD7C7,
+ 36655 - 19968: 0xF2FE,
+ 36659 - 19968: 0xF1CD,
+ 36664 - 19968: 0xE2C3,
+ 36665 - 19968: 0xDCDE,
+ 36667 - 19968: 0xDCDF,
+ 36670 - 19968: 0xEFAD,
+ 36671 - 19968: 0xE6AB,
+ 36676 - 19968: 0xF9DD,
+ 36677 - 19968: 0xEABF,
+ 36681 - 19968: 0xEFAE,
+ 36685 - 19968: 0xF4D0,
+ 36686 - 19968: 0xCEF3,
+ 36701 - 19968: 0xE6AC,
+ 36703 - 19968: 0xCEDE,
+ 36706 - 19968: 0xD5F9,
+ 36763 - 19968: 0xE3F4,
+ 36764 - 19968: 0xCDD0,
+ 36771 - 19968: 0xD5B8,
+ 36774 - 19968: 0xF7FD,
+ 36776 - 19968: 0xDCA9,
+ 36781 - 19968: 0xDEF6,
+ 36783 - 19968: 0xDCAA,
+ 36784 - 19968: 0xF2E3,
+ 36785 - 19968: 0xE9B4,
+ 36786 - 19968: 0xD2DC,
+ 36802 - 19968: 0xE9E6,
+ 36805 - 19968: 0xE3F6,
+ 36814 - 19968: 0xE7CA,
+ 36817 - 19968: 0xD0CE,
+ 36820 - 19968: 0xDAF7,
+ 36838 - 19968: 0xCABC,
+ 36842 - 19968: 0xEEE8,
+ 36843 - 19968: 0xDADE,
+ 36845 - 19968: 0xF2F7,
+ 36848 - 19968: 0xE2FB,
+ 36850 - 19968: 0xCCA6,
+ 36855 - 19968: 0xDABB,
+ 36857 - 19968: 0xEEE9,
+ 36861 - 19968: 0xF5DA,
+ 36864 - 19968: 0xF7DC,
+ 36865 - 19968: 0xE1EA,
+ 36866 - 19968: 0xCEC1,
+ 36867 - 19968: 0xD4B1,
+ 36869 - 19968: 0xFDB1,
+ 36870 - 19968: 0xE6BD,
+ 36872 - 19968: 0xFBAD,
+ 36875 - 19968: 0xF8E7,
+ 36877 - 19968: 0xE1CE,
+ 36879 - 19968: 0xF7E2,
+ 36880 - 19968: 0xF5EF,
+ 36881 - 19968: 0xCFC7,
+ 36884 - 19968: 0xD4B2,
+ 36885 - 19968: 0xCCEF,
+ 36887 - 19968: 0xD4E8,
+ 36889 - 19968: 0xEECF,
+ 36890 - 19968: 0xF7D7,
+ 36893 - 19968: 0xE0A6,
+ 36894 - 19968: 0xD6C1,
+ 36895 - 19968: 0xE1DC,
+ 36896 - 19968: 0xF0E3,
+ 36897 - 19968: 0xF1E4,
+ 36898 - 19968: 0xDCF1,
+ 36899 - 19968: 0xD6A7,
+ 36910 - 19968: 0xF4F5,
+ 36913 - 19968: 0xF1CE,
+ 36914 - 19968: 0xF2E4,
+ 36917 - 19968: 0xD0B0,
+ 36920 - 19968: 0xECEF,
+ 36924 - 19968: 0xF9BA,
+ 36926 - 19968: 0xEBB5,
+ 36929 - 19968: 0xD4ED,
+ 36930 - 19968: 0xE2C4,
+ 36935 - 19968: 0xE9E7,
+ 36938 - 19968: 0xEBB4,
+ 36939 - 19968: 0xEAA1,
+ 36941 - 19968: 0xF8BC,
+ 36942 - 19968: 0xCEA6,
+ 36944 - 19968: 0xF9C6,
+ 36945 - 19968: 0xFCDA,
+ 36947 - 19968: 0xD4B3,
+ 36948 - 19968: 0xD3B9,
+ 36949 - 19968: 0xEADE,
+ 36953 - 19968: 0xE9AB,
+ 36956 - 19968: 0xE1E1,
+ 36957 - 19968: 0xD3CF,
+ 36958 - 19968: 0xF4F6,
+ 36960 - 19968: 0xEAC0,
+ 36961 - 19968: 0xE1CF,
+ 36963 - 19968: 0xCCBA,
+ 36969 - 19968: 0xEEEA,
+ 36973 - 19968: 0xF0E4,
+ 36974 - 19968: 0xF3B4,
+ 36975 - 19968: 0xD4EE,
+ 36978 - 19968: 0xF2C0,
+ 36981 - 19968: 0xF1E5,
+ 36983 - 19968: 0xF4C3,
+ 36984 - 19968: 0xE0D4,
+ 36986 - 19968: 0xEBB6,
+ 36988 - 19968: 0xD7A1,
+ 36989 - 19968: 0xCBE8,
+ 36991 - 19968: 0xF9AD,
+ 36992 - 19968: 0xE9AD,
+ 36993 - 19968: 0xD8E4,
+ 36994 - 19968: 0xFAB3,
+ 36995 - 19968: 0xE2C5,
+ 36996 - 19968: 0xFCBD,
+ 36999 - 19968: 0xECC4,
+ 37000 - 19968: 0xD8B1,
+ 37002 - 19968: 0xDCAB,
+ 37007 - 19968: 0xD5A4,
+ 37009 - 19968: 0xEBE9,
+ 37013 - 19968: 0xE8BB,
+ 37017 - 19968: 0xD8D7,
+ 37026 - 19968: 0xFBAE,
+ 37027 - 19968: 0xD1E1,
+ 37030 - 19968: 0xDBC0,
+ 37032 - 19968: 0xF5BE,
+ 37034 - 19968: 0xDEF7,
+ 37039 - 19968: 0xCAFB,
+ 37040 - 19968: 0xF7C6,
+ 37041 - 19968: 0xCFC8,
+ 37045 - 19968: 0xE1D0,
+ 37048 - 19968: 0xEED0,
+ 37057 - 19968: 0xE9F4,
+ 37066 - 19968: 0xCEF4,
+ 37086 - 19968: 0xD5CD,
+ 37089 - 19968: 0xCFDB,
+ 37096 - 19968: 0xDDBB,
+ 37101 - 19968: 0xCEAC,
+ 37109 - 19968: 0xE9E8,
+ 37117 - 19968: 0xD4B4,
+ 37122 - 19968: 0xE4C7,
+ 37138 - 19968: 0xF5DB,
+ 37141 - 19968: 0xFAC1,
+ 37145 - 19968: 0xDEA9,
+ 37159 - 19968: 0xD4F8,
+ 37165 - 19968: 0xEFF7,
+ 37170 - 19968: 0xD3B3,
+ 37193 - 19968: 0xEBB7,
+ 37194 - 19968: 0xEFF8,
+ 37195 - 19968: 0xF5DC,
+ 37196 - 19968: 0xEDCC,
+ 37197 - 19968: 0xDBD5,
+ 37198 - 19968: 0xF1CF,
+ 37202 - 19968: 0xF1D0,
+ 37218 - 19968: 0xF5B2,
+ 37225 - 19968: 0xD9AE,
+ 37226 - 19968: 0xD5AC,
+ 37228 - 19968: 0xE2C6,
+ 37237 - 19968: 0xFDA3,
+ 37239 - 19968: 0xFBE5,
+ 37240 - 19968: 0xDFAB,
+ 37255 - 19968: 0xE2F5,
+ 37257 - 19968: 0xF6AD,
+ 37259 - 19968: 0xF5B3,
+ 37261 - 19968: 0xF0B5,
+ 37266 - 19968: 0xE1A5,
+ 37276 - 19968: 0xF5DD,
+ 37291 - 19968: 0xECA2,
+ 37292 - 19968: 0xEDFD,
+ 37294 - 19968: 0xF5B4,
+ 37295 - 19968: 0xFBB8,
+ 37297 - 19968: 0xDBA3,
+ 37300 - 19968: 0xD6CA,
+ 37301 - 19968: 0xCBD9,
+ 37312 - 19968: 0xE5D4,
+ 37319 - 19968: 0xF3FA,
+ 37321 - 19968: 0xEBB8,
+ 37323 - 19968: 0xE0B7,
+ 37324 - 19968: 0xD7EC,
+ 37325 - 19968: 0xF1EC,
+ 37326 - 19968: 0xE5AF,
+ 37327 - 19968: 0xD5E1,
+ 37328 - 19968: 0xD7ED,
+ 37329 - 19968: 0xD1D1,
+ 37335 - 19968: 0xE1F2,
+ 37336 - 19968: 0xEFF9,
+ 37340 - 19968: 0xDDBC,
+ 37341 - 19968: 0xF6DC,
+ 37347 - 19968: 0xF0E5,
+ 37351 - 19968: 0xF4C4,
+ 37354 - 19968: 0xE9E9,
+ 37365 - 19968: 0xF3FB,
+ 37389 - 19968: 0xD4EF,
+ 37392 - 19968: 0xCCA2,
+ 37393 - 19968: 0xF7FE,
+ 37394 - 19968: 0xDFBC,
+ 37399 - 19968: 0xEBCD,
+ 37406 - 19968: 0xD0B7,
+ 37428 - 19968: 0xD6C2,
+ 37434 - 19968: 0xE8AD,
+ 37439 - 19968: 0xEFAF,
+ 37440 - 19968: 0xCBA5,
+ 37445 - 19968: 0xCBE9,
+ 37449 - 19968: 0xFAE8,
+ 37463 - 19968: 0xCCC6,
+ 37467 - 19968: 0xE6E7,
+ 37470 - 19968: 0xEAC7,
+ 37474 - 19968: 0xDBA4,
+ 37476 - 19968: 0xCFC9,
+ 37477 - 19968: 0xE2FC,
+ 37478 - 19968: 0xEFFA,
+ 37504 - 19968: 0xEBDE,
+ 37507 - 19968: 0xF5C8,
+ 37509 - 19968: 0xD4DE,
+ 37521 - 19968: 0xE0D5,
+ 37523 - 19968: 0xEFB0,
+ 37526 - 19968: 0xE2C7,
+ 37528 - 19968: 0xD9AF,
+ 37532 - 19968: 0xF9E7,
+ 37555 - 19968: 0xE7E5,
+ 37558 - 19968: 0xCFCA,
+ 37559 - 19968: 0xE1D1,
+ 37561 - 19968: 0xE2C8,
+ 37580 - 19968: 0xEFFB,
+ 37583 - 19968: 0xFAF9,
+ 37586 - 19968: 0xDCF2,
+ 37604 - 19968: 0xE0A7,
+ 37610 - 19968: 0xF8E8,
+ 37624 - 19968: 0xCBEA,
+ 37628 - 19968: 0xCBBC,
+ 37636 - 19968: 0xD6E2,
+ 37648 - 19968: 0xF5DE,
+ 37656 - 19968: 0xF5DF,
+ 37658 - 19968: 0xEEB6,
+ 37662 - 19968: 0xE2F6,
+ 37663 - 19968: 0xD3CA,
+ 37664 - 19968: 0xEFFC,
+ 37665 - 19968: 0xD1C4,
+ 37666 - 19968: 0xEFB1,
+ 37668 - 19968: 0xD1C5,
+ 37670 - 19968: 0xD0DE,
+ 37672 - 19968: 0xD9E1,
+ 37675 - 19968: 0xE0B8,
+ 37678 - 19968: 0xCDD1,
+ 37679 - 19968: 0xF3B9,
+ 37704 - 19968: 0xE7CC,
+ 37706 - 19968: 0xD6A8,
+ 37707 - 19968: 0xCEA7,
+ 37709 - 19968: 0xD4B5,
+ 37716 - 19968: 0xE4C8,
+ 37723 - 19968: 0xD3B4,
+ 37742 - 19968: 0xEBB9,
+ 37749 - 19968: 0xCBF5,
+ 37756 - 19968: 0xF6DD,
+ 37758 - 19968: 0xF1A3,
+ 37772 - 19968: 0xCCC7,
+ 37780 - 19968: 0xE9CA,
+ 37782 - 19968: 0xE1F0,
+ 37786 - 19968: 0xF5E0,
+ 37795 - 19968: 0xFBAF,
+ 37799 - 19968: 0xCBD1,
+ 37804 - 19968: 0xFBE0,
+ 37805 - 19968: 0xF2E5,
+ 37808 - 19968: 0xECF0,
+ 37827 - 19968: 0xF0EC,
+ 37841 - 19968: 0xEEEB,
+ 37854 - 19968: 0xE9CB,
+ 37857 - 19968: 0xCCF0,
+ 37860 - 19968: 0xD7AF,
+ 37878 - 19968: 0xF3A1,
+ 37892 - 19968: 0xFCF5,
+ 37912 - 19968: 0xF1A4,
+ 37925 - 19968: 0xE0D6,
+ 37931 - 19968: 0xEFB2,
+ 37941 - 19968: 0xF4D1,
+ 37944 - 19968: 0xF7A1,
+ 37956 - 19968: 0xF1D1,
+ 37969 - 19968: 0xCAFC,
+ 37970 - 19968: 0xCAFD,
+ 37979 - 19968: 0xCECE,
+ 38013 - 19968: 0xF3C8,
+ 38015 - 19968: 0xF3BA,
+ 38263 - 19968: 0xEDFE,
+ 38272 - 19968: 0xDAA6,
+ 38275 - 19968: 0xE0EC,
+ 38281 - 19968: 0xF8CD,
+ 38283 - 19968: 0xCBD2,
+ 38287 - 19968: 0xEBCE,
+ 38289 - 19968: 0xF9D8,
+ 38290 - 19968: 0xF9D9,
+ 38291 - 19968: 0xCAE0,
+ 38292 - 19968: 0xDACA,
+ 38296 - 19968: 0xCBA6,
+ 38307 - 19968: 0xCAC8,
+ 38308 - 19968: 0xF9EE,
+ 38309 - 19968: 0xDBEC,
+ 38312 - 19968: 0xD0B1,
+ 38317 - 19968: 0xD5EF,
+ 38321 - 19968: 0xE6F3,
+ 38331 - 19968: 0xE7A2,
+ 38332 - 19968: 0xE4D9,
+ 38343 - 19968: 0xE4E1,
+ 38346 - 19968: 0xFCC4,
+ 38356 - 19968: 0xF9EF,
+ 38357 - 19968: 0xCFF4,
+ 38358 - 19968: 0xF7E6,
+ 38364 - 19968: 0xCEBC,
+ 38369 - 19968: 0xF4C5,
+ 38370 - 19968: 0xDCA3,
+ 38428 - 19968: 0xDDBD,
+ 38433 - 19968: 0xF4C6,
+ 38442 - 19968: 0xF8A1,
+ 38446 - 19968: 0xE8D6,
+ 38450 - 19968: 0xDBC1,
+ 38459 - 19968: 0xF0E6,
+ 38463 - 19968: 0xE4B9,
+ 38464 - 19968: 0xF6ED,
+ 38466 - 19968: 0xF9AE,
+ 38468 - 19968: 0xDDBE,
+ 38475 - 19968: 0xD7B0,
+ 38476 - 19968: 0xD8E8,
+ 38477 - 19968: 0xCBBD,
+ 38480 - 19968: 0xF9DA,
+ 38491 - 19968: 0xF8CE,
+ 38492 - 19968: 0xF9F0,
+ 38493 - 19968: 0xE0ED,
+ 38494 - 19968: 0xE3B3,
+ 38495 - 19968: 0xF4B3,
+ 38498 - 19968: 0xEAC2,
+ 38499 - 19968: 0xF2E6,
+ 38500 - 19968: 0xF0B6,
+ 38506 - 19968: 0xDBD6,
+ 38512 - 19968: 0xEBE4,
+ 38515 - 19968: 0xF2E7,
+ 38517 - 19968: 0xD7D5,
+ 38518 - 19968: 0xD4B6,
+ 38519 - 19968: 0xF9E8,
+ 38520 - 19968: 0xD7C1,
+ 38525 - 19968: 0xE5D5,
+ 38533 - 19968: 0xE9EA,
+ 38534 - 19968: 0xD7CC,
+ 38538 - 19968: 0xD3E9,
+ 38539 - 19968: 0xE2C9,
+ 38541 - 19968: 0xFCDB,
+ 38542 - 19968: 0xCDAD,
+ 38548 - 19968: 0xCCB0,
+ 38549 - 19968: 0xEAA2,
+ 38552 - 19968: 0xE4F6,
+ 38553 - 19968: 0xD0C0,
+ 38555 - 19968: 0xF0B7,
+ 38556 - 19968: 0xEEA1,
+ 38563 - 19968: 0xD7F6,
+ 38567 - 19968: 0xE2CA,
+ 38568 - 19968: 0xE2CB,
+ 38570 - 19968: 0xFACF,
+ 38577 - 19968: 0xEBDF,
+ 38583 - 19968: 0xD6CB,
+ 38587 - 19968: 0xF4B4,
+ 38592 - 19968: 0xEDCD,
+ 38593 - 19968: 0xE4D2,
+ 38596 - 19968: 0xEAA9,
+ 38597 - 19968: 0xE4BA,
+ 38598 - 19968: 0xF3A2,
+ 38599 - 19968: 0xCDD2,
+ 38601 - 19968: 0xF6CB,
+ 38603 - 19968: 0xF1E6,
+ 38604 - 19968: 0xEDC1,
+ 38605 - 19968: 0xE8BC,
+ 38606 - 19968: 0xEED1,
+ 38613 - 19968: 0xF0E7,
+ 38614 - 19968: 0xE2CC,
+ 38617 - 19968: 0xE4AA,
+ 38619 - 19968: 0xF5E1,
+ 38620 - 19968: 0xEDDA,
+ 38626 - 19968: 0xD7EE,
+ 38627 - 19968: 0xD1F1,
+ 38632 - 19968: 0xE9EB,
+ 38633 - 19968: 0xE9EC,
+ 38634 - 19968: 0xE0E4,
+ 38639 - 19968: 0xDAA7,
+ 38640 - 19968: 0xDDD4,
+ 38642 - 19968: 0xEAA3,
+ 38646 - 19968: 0xD6C3,
+ 38647 - 19968: 0xD6F4,
+ 38649 - 19968: 0xDADF,
+ 38651 - 19968: 0xEFB3,
+ 38656 - 19968: 0xE2CD,
+ 38662 - 19968: 0xEFFD,
+ 38663 - 19968: 0xF2E8,
+ 38673 - 19968: 0xEFC5,
+ 38675 - 19968: 0xE7E7,
+ 38678 - 19968: 0xD7FD,
+ 38681 - 19968: 0xE7CE,
+ 38684 - 19968: 0xDFDC,
+ 38686 - 19968: 0xF9C7,
+ 38695 - 19968: 0xD9F6,
+ 38704 - 19968: 0xDFAC,
+ 38706 - 19968: 0xD6DA,
+ 38713 - 19968: 0xDCA4,
+ 38717 - 19968: 0xF0B8,
+ 38722 - 19968: 0xD5FA,
+ 38724 - 19968: 0xE4F7,
+ 38728 - 19968: 0xD6C4,
+ 38737 - 19968: 0xF4EC,
+ 38742 - 19968: 0xEFFE,
+ 38748 - 19968: 0xF0A1,
+ 38750 - 19968: 0xDEAA,
+ 38753 - 19968: 0xDABC,
+ 38754 - 19968: 0xD8FC,
+ 38761 - 19968: 0xFAD4,
+ 38765 - 19968: 0xECE5,
+ 38772 - 19968: 0xFCA8,
+ 38775 - 19968: 0xECE6,
+ 38778 - 19968: 0xD8CB,
+ 38795 - 19968: 0xFBB9,
+ 38797 - 19968: 0xE4D3,
+ 38799 - 19968: 0xCDF9,
+ 38816 - 19968: 0xCFD3,
+ 38824 - 19968: 0xCAEA,
+ 38827 - 19968: 0xCFD4,
+ 38829 - 19968: 0xF8BD,
+ 38854 - 19968: 0xF4C7,
+ 38859 - 19968: 0xEADF,
+ 38867 - 19968: 0xF9DB,
+ 38876 - 19968: 0xD4B7,
+ 38899 - 19968: 0xEBE5,
+ 38902 - 19968: 0xE1D2,
+ 38907 - 19968: 0xEAA4,
+ 38911 - 19968: 0xFAC2,
+ 38912 - 19968: 0xFBE1,
+ 38913 - 19968: 0xFAED,
+ 38914 - 19968: 0xF0A2,
+ 38915 - 19968: 0xCCF1,
+ 38917 - 19968: 0xFAA3,
+ 38918 - 19968: 0xE2F7,
+ 38920 - 19968: 0xE2CE,
+ 38922 - 19968: 0xE9F5,
+ 38924 - 19968: 0xE1EB,
+ 38928 - 19968: 0xE7E8,
+ 38929 - 19968: 0xE8D7,
+ 38930 - 19968: 0xDAF8,
+ 38931 - 19968: 0xD4CB,
+ 38935 - 19968: 0xF7F6,
+ 38936 - 19968: 0xD6C5,
+ 38957 - 19968: 0xD4E9,
+ 38960 - 19968: 0xFAFA,
+ 38968 - 19968: 0xCCF2,
+ 38969 - 19968: 0xF7DD,
+ 38971 - 19968: 0xDEBA,
+ 38982 - 19968: 0xCEA8,
+ 38988 - 19968: 0xF0B9,
+ 38989 - 19968: 0xE4FE,
+ 38990 - 19968: 0xE4C9,
+ 38996 - 19968: 0xE4D4,
+ 39000 - 19968: 0xEAC3,
+ 39002 - 19968: 0xEFB4,
+ 39006 - 19968: 0xD7BE,
+ 39013 - 19968: 0xFBE2,
+ 39015 - 19968: 0xCDD3,
+ 39019 - 19968: 0xEFB5,
+ 39023 - 19968: 0xFAE9,
+ 39080 - 19968: 0xF9A6,
+ 39087 - 19968: 0xDFBD,
+ 39089 - 19968: 0xF7C7,
+ 39108 - 19968: 0xF8FD,
+ 39111 - 19968: 0xF8FC,
+ 39131 - 19968: 0xDEAB,
+ 39132 - 19968: 0xDBE8,
+ 39135 - 19968: 0xE3DD,
+ 39137 - 19968: 0xE1E2,
+ 39138 - 19968: 0xD1C6,
+ 39149 - 19968: 0xF6D0,
+ 39150 - 19968: 0xEBE6,
+ 39151 - 19968: 0xDAF9,
+ 39156 - 19968: 0xECC7,
+ 39164 - 19968: 0xDEF8,
+ 39165 - 19968: 0xF8E9,
+ 39166 - 19968: 0xE3DE,
+ 39171 - 19968: 0xCEF5,
+ 39177 - 19968: 0xFAC3,
+ 39178 - 19968: 0xE5D7,
+ 39180 - 19968: 0xECC8,
+ 39184 - 19968: 0xF3C9,
+ 39187 - 19968: 0xE4BB,
+ 39192 - 19968: 0xE6AE,
+ 39198 - 19968: 0xEFB6,
+ 39200 - 19968: 0xDCBF,
+ 39208 - 19968: 0xCEBD,
+ 39237 - 19968: 0xD8C3,
+ 39241 - 19968: 0xD0CF,
+ 39243 - 19968: 0xCFFA,
+ 39244 - 19968: 0xF3CA,
+ 39245 - 19968: 0xE0D7,
+ 39249 - 19968: 0xD1C7,
+ 39250 - 19968: 0xE9AE,
+ 39252 - 19968: 0xE8BD,
+ 39255 - 19968: 0xFAC4,
+ 39318 - 19968: 0xE2CF,
+ 39321 - 19968: 0xFAC5,
+ 39325 - 19968: 0xF9B8,
+ 39333 - 19968: 0xDCE0,
+ 39336 - 19968: 0xFBB0,
+ 39340 - 19968: 0xD8A9,
+ 39341 - 19968: 0xE5DF,
+ 39342 - 19968: 0xF9A7,
+ 39345 - 19968: 0xF6EE,
+ 39347 - 19968: 0xF6CC,
+ 39348 - 19968: 0xE2F8,
+ 39353 - 19968: 0xECF1,
+ 39361 - 19968: 0xDAE0,
+ 39376 - 19968: 0xF1D2,
+ 39377 - 19968: 0xD2CC,
+ 39378 - 19968: 0xCFCB,
+ 39381 - 19968: 0xCABD,
+ 39385 - 19968: 0xDDBF,
+ 39389 - 19968: 0xF6EF,
+ 39391 - 19968: 0xDEF9,
+ 39405 - 19968: 0xFAB4,
+ 39409 - 19968: 0xD5AD,
+ 39423 - 19968: 0xF1E7,
+ 39425 - 19968: 0xDEBE,
+ 39432 - 19968: 0xDCC0,
+ 39438 - 19968: 0xD1C8,
+ 39439 - 19968: 0xD1C9,
+ 39449 - 19968: 0xF8BE,
+ 39467 - 19968: 0xCBF6,
+ 39472 - 19968: 0xD4F9,
+ 39478 - 19968: 0xF5E2,
+ 39479 - 19968: 0xE1D3,
+ 39488 - 19968: 0xD8E9,
+ 39491 - 19968: 0xF8FE,
+ 39493 - 19968: 0xCFCC,
+ 39501 - 19968: 0xFDA4,
+ 39509 - 19968: 0xCEF6,
+ 39511 - 19968: 0xFAD0,
+ 39514 - 19968: 0xCCF3,
+ 39515 - 19968: 0xE6BE,
+ 39519 - 19968: 0xF6AE,
+ 39522 - 19968: 0xD5F0,
+ 39525 - 19968: 0xD1CA,
+ 39529 - 19968: 0xFCBE,
+ 39530 - 19968: 0xD5F1,
+ 39592 - 19968: 0xCDE9,
+ 39608 - 19968: 0xFAB5,
+ 39635 - 19968: 0xE2D0,
+ 39636 - 19968: 0xF4F7,
+ 39640 - 19968: 0xCDD4,
+ 39653 - 19968: 0xE7A3,
+ 39662 - 19968: 0xDBA5,
+ 39706 - 19968: 0xE2D1,
+ 39719 - 19968: 0xD7A2,
+ 39722 - 19968: 0xF7E3,
+ 39729 - 19968: 0xEAA6,
+ 39740 - 19968: 0xD0A1,
+ 39745 - 19968: 0xCEDA,
+ 39746 - 19968: 0xFBEB,
+ 39747 - 19968: 0xDBA6,
+ 39748 - 19968: 0xDBDE,
+ 39749 - 19968: 0xD8E5,
+ 39759 - 19968: 0xEAE0,
+ 39764 - 19968: 0xD8AA,
+ 39770 - 19968: 0xE5E0,
+ 39791 - 19968: 0xD6DB,
+ 39822 - 19968: 0xEFC6,
+ 39825 - 19968: 0xF8EA,
+ 39839 - 19968: 0xE4D5,
+ 39851 - 19968: 0xCEF7,
+ 39854 - 19968: 0xE0D8,
+ 39881 - 19968: 0xD7EF,
+ 39894 - 19968: 0xF4ED,
+ 39908 - 19968: 0xCDE6,
+ 39912 - 19968: 0xCCF4,
+ 39949 - 19968: 0xF5E3,
+ 39952 - 19968: 0xE4CA,
+ 39954 - 19968: 0xDCE1,
+ 39957 - 19968: 0xF9C8,
+ 39973 - 19968: 0xFCBF,
+ 39986 - 19968: 0xE8A7,
+ 39995 - 19968: 0xD8C4,
+ 40007 - 19968: 0xCBBE,
+ 40009 - 19968: 0xDCAE,
+ 40023 - 19968: 0xD7F7,
+ 40165 - 19968: 0xF0E8,
+ 40167 - 19968: 0xDDC0,
+ 40169 - 19968: 0xCFCD,
+ 40179 - 19968: 0xDCF3,
+ 40180 - 19968: 0xD9B0,
+ 40182 - 19968: 0xE6E9,
+ 40201 - 19968: 0xE4BC,
+ 40219 - 19968: 0xEAC4,
+ 40230 - 19968: 0xE4EC,
+ 40232 - 19968: 0xE4E5,
+ 40251 - 19968: 0xFBF8,
+ 40273 - 19968: 0xCCBB,
+ 40285 - 19968: 0xE4BD,
+ 40288 - 19968: 0xCDDC,
+ 40289 - 19968: 0xD9F7,
+ 40300 - 19968: 0xDDDF,
+ 40306 - 19968: 0xEDCE,
+ 40361 - 19968: 0xD9D0,
+ 40367 - 19968: 0xE5A3,
+ 40372 - 19968: 0xF9CD,
+ 40388 - 19968: 0xCDAE,
+ 40407 - 19968: 0xCFCE,
+ 40434 - 19968: 0xF6AF,
+ 40440 - 19968: 0xFDD3,
+ 40441 - 19968: 0xEBED,
+ 40442 - 19968: 0xD6DC,
+ 40474 - 19968: 0xE5A4,
+ 40478 - 19968: 0xD5B6,
+ 40565 - 19968: 0xD6DD,
+ 40569 - 19968: 0xF9E9,
+ 40573 - 19968: 0xE7A4,
+ 40575 - 19968: 0xD6E3,
+ 40594 - 19968: 0xD1CB,
+ 40595 - 19968: 0xD6E4,
+ 40599 - 19968: 0xD5F2,
+ 40605 - 19968: 0xDEFA,
+ 40607 - 19968: 0xD7F8,
+ 40613 - 19968: 0xD8EA,
+ 40628 - 19968: 0xCFD5,
+ 40629 - 19968: 0xD8FD,
+ 40635 - 19968: 0xD8AB,
+ 40638 - 19968: 0xFDCB,
+ 40643 - 19968: 0xFCDC,
+ 40653 - 19968: 0xE0A8,
+ 40654 - 19968: 0xD5F3,
+ 40657 - 19968: 0xFDD9,
+ 40660 - 19968: 0xCCA3,
+ 40664 - 19968: 0xD9F9,
+ 40667 - 19968: 0xD3EA,
+ 40668 - 19968: 0xF5F5,
+ 40670 - 19968: 0xEFC7,
+ 40680 - 19968: 0xD3DA,
+ 40692 - 19968: 0xDABD,
+ 40711 - 19968: 0xE8A8,
+ 40712 - 19968: 0xDCAF,
+ 40718 - 19968: 0xF0A3,
+ 40723 - 19968: 0xCDD5,
+ 40736 - 19968: 0xE0A9,
+ 40763 - 19968: 0xDEAC,
+ 40778 - 19968: 0xF0BA,
+ 40779 - 19968: 0xEEB1,
+ 40782 - 19968: 0xEEB2,
+ 40786 - 19968: 0xF6CD,
+ 40799 - 19968: 0xEED2,
+ 40801 - 19968: 0xD6C6,
+ 40807 - 19968: 0xE0E5,
+ 40810 - 19968: 0xF3BB,
+ 40812 - 19968: 0xE5E1,
+ 40823 - 19968: 0xE4CB,
+ 40845 - 19968: 0xD7A3,
+ 40848 - 19968: 0xDBC2,
+ 40853 - 19968: 0xCAFE,
+ 40860 - 19968: 0xCFCF,
+}
+
+const encode1Low, encode1High = 44032, 55204
+
+var encode1 = [...]uint16{
+ 44032 - 44032: 0xB0A1,
+ 44033 - 44032: 0xB0A2,
+ 44034 - 44032: 0x8141,
+ 44035 - 44032: 0x8142,
+ 44036 - 44032: 0xB0A3,
+ 44037 - 44032: 0x8143,
+ 44038 - 44032: 0x8144,
+ 44039 - 44032: 0xB0A4,
+ 44040 - 44032: 0xB0A5,
+ 44041 - 44032: 0xB0A6,
+ 44042 - 44032: 0xB0A7,
+ 44043 - 44032: 0x8145,
+ 44044 - 44032: 0x8146,
+ 44045 - 44032: 0x8147,
+ 44046 - 44032: 0x8148,
+ 44047 - 44032: 0x8149,
+ 44048 - 44032: 0xB0A8,
+ 44049 - 44032: 0xB0A9,
+ 44050 - 44032: 0xB0AA,
+ 44051 - 44032: 0xB0AB,
+ 44052 - 44032: 0xB0AC,
+ 44053 - 44032: 0xB0AD,
+ 44054 - 44032: 0xB0AE,
+ 44055 - 44032: 0xB0AF,
+ 44056 - 44032: 0x814A,
+ 44057 - 44032: 0xB0B0,
+ 44058 - 44032: 0xB0B1,
+ 44059 - 44032: 0xB0B2,
+ 44060 - 44032: 0xB0B3,
+ 44061 - 44032: 0xB0B4,
+ 44062 - 44032: 0x814B,
+ 44063 - 44032: 0x814C,
+ 44064 - 44032: 0xB0B5,
+ 44065 - 44032: 0x814D,
+ 44066 - 44032: 0x814E,
+ 44067 - 44032: 0x814F,
+ 44068 - 44032: 0xB0B6,
+ 44069 - 44032: 0x8150,
+ 44070 - 44032: 0x8151,
+ 44071 - 44032: 0x8152,
+ 44072 - 44032: 0x8153,
+ 44073 - 44032: 0x8154,
+ 44074 - 44032: 0x8155,
+ 44075 - 44032: 0x8156,
+ 44076 - 44032: 0xB0B7,
+ 44077 - 44032: 0xB0B8,
+ 44078 - 44032: 0x8157,
+ 44079 - 44032: 0xB0B9,
+ 44080 - 44032: 0xB0BA,
+ 44081 - 44032: 0xB0BB,
+ 44082 - 44032: 0x8158,
+ 44083 - 44032: 0x8159,
+ 44084 - 44032: 0x815A,
+ 44085 - 44032: 0x8161,
+ 44086 - 44032: 0x8162,
+ 44087 - 44032: 0x8163,
+ 44088 - 44032: 0xB0BC,
+ 44089 - 44032: 0xB0BD,
+ 44090 - 44032: 0x8164,
+ 44091 - 44032: 0x8165,
+ 44092 - 44032: 0xB0BE,
+ 44093 - 44032: 0x8166,
+ 44094 - 44032: 0x8167,
+ 44095 - 44032: 0x8168,
+ 44096 - 44032: 0xB0BF,
+ 44097 - 44032: 0x8169,
+ 44098 - 44032: 0x816A,
+ 44099 - 44032: 0x816B,
+ 44100 - 44032: 0x816C,
+ 44101 - 44032: 0x816D,
+ 44102 - 44032: 0x816E,
+ 44103 - 44032: 0x816F,
+ 44104 - 44032: 0x8170,
+ 44105 - 44032: 0x8171,
+ 44106 - 44032: 0x8172,
+ 44107 - 44032: 0xB0C0,
+ 44108 - 44032: 0x8173,
+ 44109 - 44032: 0xB0C1,
+ 44110 - 44032: 0x8174,
+ 44111 - 44032: 0x8175,
+ 44112 - 44032: 0x8176,
+ 44113 - 44032: 0x8177,
+ 44114 - 44032: 0x8178,
+ 44115 - 44032: 0x8179,
+ 44116 - 44032: 0xB0C2,
+ 44117 - 44032: 0x817A,
+ 44118 - 44032: 0x8181,
+ 44119 - 44032: 0x8182,
+ 44120 - 44032: 0xB0C3,
+ 44121 - 44032: 0x8183,
+ 44122 - 44032: 0x8184,
+ 44123 - 44032: 0x8185,
+ 44124 - 44032: 0xB0C4,
+ 44125 - 44032: 0x8186,
+ 44126 - 44032: 0x8187,
+ 44127 - 44032: 0x8188,
+ 44128 - 44032: 0x8189,
+ 44129 - 44032: 0x818A,
+ 44130 - 44032: 0x818B,
+ 44131 - 44032: 0x818C,
+ 44132 - 44032: 0x818D,
+ 44133 - 44032: 0x818E,
+ 44134 - 44032: 0x818F,
+ 44135 - 44032: 0x8190,
+ 44136 - 44032: 0x8191,
+ 44137 - 44032: 0x8192,
+ 44138 - 44032: 0x8193,
+ 44139 - 44032: 0x8194,
+ 44140 - 44032: 0x8195,
+ 44141 - 44032: 0x8196,
+ 44142 - 44032: 0x8197,
+ 44143 - 44032: 0x8198,
+ 44144 - 44032: 0xB0C5,
+ 44145 - 44032: 0xB0C6,
+ 44146 - 44032: 0x8199,
+ 44147 - 44032: 0x819A,
+ 44148 - 44032: 0xB0C7,
+ 44149 - 44032: 0x819B,
+ 44150 - 44032: 0x819C,
+ 44151 - 44032: 0xB0C8,
+ 44152 - 44032: 0xB0C9,
+ 44153 - 44032: 0x819D,
+ 44154 - 44032: 0xB0CA,
+ 44155 - 44032: 0x819E,
+ 44156 - 44032: 0x819F,
+ 44157 - 44032: 0x81A0,
+ 44158 - 44032: 0x81A1,
+ 44159 - 44032: 0x81A2,
+ 44160 - 44032: 0xB0CB,
+ 44161 - 44032: 0xB0CC,
+ 44162 - 44032: 0x81A3,
+ 44163 - 44032: 0xB0CD,
+ 44164 - 44032: 0xB0CE,
+ 44165 - 44032: 0xB0CF,
+ 44166 - 44032: 0xB0D0,
+ 44167 - 44032: 0x81A4,
+ 44168 - 44032: 0x81A5,
+ 44169 - 44032: 0xB0D1,
+ 44170 - 44032: 0xB0D2,
+ 44171 - 44032: 0xB0D3,
+ 44172 - 44032: 0xB0D4,
+ 44173 - 44032: 0x81A6,
+ 44174 - 44032: 0x81A7,
+ 44175 - 44032: 0x81A8,
+ 44176 - 44032: 0xB0D5,
+ 44177 - 44032: 0x81A9,
+ 44178 - 44032: 0x81AA,
+ 44179 - 44032: 0x81AB,
+ 44180 - 44032: 0xB0D6,
+ 44181 - 44032: 0x81AC,
+ 44182 - 44032: 0x81AD,
+ 44183 - 44032: 0x81AE,
+ 44184 - 44032: 0x81AF,
+ 44185 - 44032: 0x81B0,
+ 44186 - 44032: 0x81B1,
+ 44187 - 44032: 0x81B2,
+ 44188 - 44032: 0xB0D7,
+ 44189 - 44032: 0xB0D8,
+ 44190 - 44032: 0x81B3,
+ 44191 - 44032: 0xB0D9,
+ 44192 - 44032: 0xB0DA,
+ 44193 - 44032: 0xB0DB,
+ 44194 - 44032: 0x81B4,
+ 44195 - 44032: 0x81B5,
+ 44196 - 44032: 0x81B6,
+ 44197 - 44032: 0x81B7,
+ 44198 - 44032: 0x81B8,
+ 44199 - 44032: 0x81B9,
+ 44200 - 44032: 0xB0DC,
+ 44201 - 44032: 0xB0DD,
+ 44202 - 44032: 0xB0DE,
+ 44203 - 44032: 0x81BA,
+ 44204 - 44032: 0xB0DF,
+ 44205 - 44032: 0x81BB,
+ 44206 - 44032: 0x81BC,
+ 44207 - 44032: 0xB0E0,
+ 44208 - 44032: 0xB0E1,
+ 44209 - 44032: 0x81BD,
+ 44210 - 44032: 0x81BE,
+ 44211 - 44032: 0x81BF,
+ 44212 - 44032: 0x81C0,
+ 44213 - 44032: 0x81C1,
+ 44214 - 44032: 0x81C2,
+ 44215 - 44032: 0x81C3,
+ 44216 - 44032: 0xB0E2,
+ 44217 - 44032: 0xB0E3,
+ 44218 - 44032: 0x81C4,
+ 44219 - 44032: 0xB0E4,
+ 44220 - 44032: 0xB0E5,
+ 44221 - 44032: 0xB0E6,
+ 44222 - 44032: 0x81C5,
+ 44223 - 44032: 0x81C6,
+ 44224 - 44032: 0x81C7,
+ 44225 - 44032: 0xB0E7,
+ 44226 - 44032: 0x81C8,
+ 44227 - 44032: 0x81C9,
+ 44228 - 44032: 0xB0E8,
+ 44229 - 44032: 0x81CA,
+ 44230 - 44032: 0x81CB,
+ 44231 - 44032: 0x81CC,
+ 44232 - 44032: 0xB0E9,
+ 44233 - 44032: 0x81CD,
+ 44234 - 44032: 0x81CE,
+ 44235 - 44032: 0x81CF,
+ 44236 - 44032: 0xB0EA,
+ 44237 - 44032: 0x81D0,
+ 44238 - 44032: 0x81D1,
+ 44239 - 44032: 0x81D2,
+ 44240 - 44032: 0x81D3,
+ 44241 - 44032: 0x81D4,
+ 44242 - 44032: 0x81D5,
+ 44243 - 44032: 0x81D6,
+ 44244 - 44032: 0x81D7,
+ 44245 - 44032: 0xB0EB,
+ 44246 - 44032: 0x81D8,
+ 44247 - 44032: 0xB0EC,
+ 44248 - 44032: 0x81D9,
+ 44249 - 44032: 0x81DA,
+ 44250 - 44032: 0x81DB,
+ 44251 - 44032: 0x81DC,
+ 44252 - 44032: 0x81DD,
+ 44253 - 44032: 0x81DE,
+ 44254 - 44032: 0x81DF,
+ 44255 - 44032: 0x81E0,
+ 44256 - 44032: 0xB0ED,
+ 44257 - 44032: 0xB0EE,
+ 44258 - 44032: 0x81E1,
+ 44259 - 44032: 0x81E2,
+ 44260 - 44032: 0xB0EF,
+ 44261 - 44032: 0x81E3,
+ 44262 - 44032: 0x81E4,
+ 44263 - 44032: 0xB0F0,
+ 44264 - 44032: 0xB0F1,
+ 44265 - 44032: 0x81E5,
+ 44266 - 44032: 0xB0F2,
+ 44267 - 44032: 0x81E6,
+ 44268 - 44032: 0xB0F3,
+ 44269 - 44032: 0x81E7,
+ 44270 - 44032: 0x81E8,
+ 44271 - 44032: 0xB0F4,
+ 44272 - 44032: 0xB0F5,
+ 44273 - 44032: 0xB0F6,
+ 44274 - 44032: 0x81E9,
+ 44275 - 44032: 0xB0F7,
+ 44276 - 44032: 0x81EA,
+ 44277 - 44032: 0xB0F8,
+ 44278 - 44032: 0xB0F9,
+ 44279 - 44032: 0x81EB,
+ 44280 - 44032: 0x81EC,
+ 44281 - 44032: 0x81ED,
+ 44282 - 44032: 0x81EE,
+ 44283 - 44032: 0x81EF,
+ 44284 - 44032: 0xB0FA,
+ 44285 - 44032: 0xB0FB,
+ 44286 - 44032: 0x81F0,
+ 44287 - 44032: 0x81F1,
+ 44288 - 44032: 0xB0FC,
+ 44289 - 44032: 0x81F2,
+ 44290 - 44032: 0x81F3,
+ 44291 - 44032: 0x81F4,
+ 44292 - 44032: 0xB0FD,
+ 44293 - 44032: 0x81F5,
+ 44294 - 44032: 0xB0FE,
+ 44295 - 44032: 0x81F6,
+ 44296 - 44032: 0x81F7,
+ 44297 - 44032: 0x81F8,
+ 44298 - 44032: 0x81F9,
+ 44299 - 44032: 0x81FA,
+ 44300 - 44032: 0xB1A1,
+ 44301 - 44032: 0xB1A2,
+ 44302 - 44032: 0x81FB,
+ 44303 - 44032: 0xB1A3,
+ 44304 - 44032: 0x81FC,
+ 44305 - 44032: 0xB1A4,
+ 44306 - 44032: 0x81FD,
+ 44307 - 44032: 0x81FE,
+ 44308 - 44032: 0x8241,
+ 44309 - 44032: 0x8242,
+ 44310 - 44032: 0x8243,
+ 44311 - 44032: 0x8244,
+ 44312 - 44032: 0xB1A5,
+ 44313 - 44032: 0x8245,
+ 44314 - 44032: 0x8246,
+ 44315 - 44032: 0x8247,
+ 44316 - 44032: 0xB1A6,
+ 44317 - 44032: 0x8248,
+ 44318 - 44032: 0x8249,
+ 44319 - 44032: 0x824A,
+ 44320 - 44032: 0xB1A7,
+ 44321 - 44032: 0x824B,
+ 44322 - 44032: 0x824C,
+ 44323 - 44032: 0x824D,
+ 44324 - 44032: 0x824E,
+ 44325 - 44032: 0x824F,
+ 44326 - 44032: 0x8250,
+ 44327 - 44032: 0x8251,
+ 44328 - 44032: 0x8252,
+ 44329 - 44032: 0xB1A8,
+ 44330 - 44032: 0x8253,
+ 44331 - 44032: 0x8254,
+ 44332 - 44032: 0xB1A9,
+ 44333 - 44032: 0xB1AA,
+ 44334 - 44032: 0x8255,
+ 44335 - 44032: 0x8256,
+ 44336 - 44032: 0x8257,
+ 44337 - 44032: 0x8258,
+ 44338 - 44032: 0x8259,
+ 44339 - 44032: 0x825A,
+ 44340 - 44032: 0xB1AB,
+ 44341 - 44032: 0xB1AC,
+ 44342 - 44032: 0x8261,
+ 44343 - 44032: 0x8262,
+ 44344 - 44032: 0xB1AD,
+ 44345 - 44032: 0x8263,
+ 44346 - 44032: 0x8264,
+ 44347 - 44032: 0x8265,
+ 44348 - 44032: 0xB1AE,
+ 44349 - 44032: 0x8266,
+ 44350 - 44032: 0x8267,
+ 44351 - 44032: 0x8268,
+ 44352 - 44032: 0x8269,
+ 44353 - 44032: 0x826A,
+ 44354 - 44032: 0x826B,
+ 44355 - 44032: 0x826C,
+ 44356 - 44032: 0xB1AF,
+ 44357 - 44032: 0xB1B0,
+ 44358 - 44032: 0x826D,
+ 44359 - 44032: 0xB1B1,
+ 44360 - 44032: 0x826E,
+ 44361 - 44032: 0xB1B2,
+ 44362 - 44032: 0x826F,
+ 44363 - 44032: 0x8270,
+ 44364 - 44032: 0x8271,
+ 44365 - 44032: 0x8272,
+ 44366 - 44032: 0x8273,
+ 44367 - 44032: 0x8274,
+ 44368 - 44032: 0xB1B3,
+ 44369 - 44032: 0x8275,
+ 44370 - 44032: 0x8276,
+ 44371 - 44032: 0x8277,
+ 44372 - 44032: 0xB1B4,
+ 44373 - 44032: 0x8278,
+ 44374 - 44032: 0x8279,
+ 44375 - 44032: 0x827A,
+ 44376 - 44032: 0xB1B5,
+ 44377 - 44032: 0x8281,
+ 44378 - 44032: 0x8282,
+ 44379 - 44032: 0x8283,
+ 44380 - 44032: 0x8284,
+ 44381 - 44032: 0x8285,
+ 44382 - 44032: 0x8286,
+ 44383 - 44032: 0x8287,
+ 44384 - 44032: 0x8288,
+ 44385 - 44032: 0xB1B6,
+ 44386 - 44032: 0x8289,
+ 44387 - 44032: 0xB1B7,
+ 44388 - 44032: 0x828A,
+ 44389 - 44032: 0x828B,
+ 44390 - 44032: 0x828C,
+ 44391 - 44032: 0x828D,
+ 44392 - 44032: 0x828E,
+ 44393 - 44032: 0x828F,
+ 44394 - 44032: 0x8290,
+ 44395 - 44032: 0x8291,
+ 44396 - 44032: 0xB1B8,
+ 44397 - 44032: 0xB1B9,
+ 44398 - 44032: 0x8292,
+ 44399 - 44032: 0x8293,
+ 44400 - 44032: 0xB1BA,
+ 44401 - 44032: 0x8294,
+ 44402 - 44032: 0x8295,
+ 44403 - 44032: 0xB1BB,
+ 44404 - 44032: 0xB1BC,
+ 44405 - 44032: 0xB1BD,
+ 44406 - 44032: 0xB1BE,
+ 44407 - 44032: 0x8296,
+ 44408 - 44032: 0x8297,
+ 44409 - 44032: 0x8298,
+ 44410 - 44032: 0x8299,
+ 44411 - 44032: 0xB1BF,
+ 44412 - 44032: 0xB1C0,
+ 44413 - 44032: 0xB1C1,
+ 44414 - 44032: 0x829A,
+ 44415 - 44032: 0xB1C2,
+ 44416 - 44032: 0x829B,
+ 44417 - 44032: 0xB1C3,
+ 44418 - 44032: 0xB1C4,
+ 44419 - 44032: 0x829C,
+ 44420 - 44032: 0x829D,
+ 44421 - 44032: 0x829E,
+ 44422 - 44032: 0x829F,
+ 44423 - 44032: 0x82A0,
+ 44424 - 44032: 0xB1C5,
+ 44425 - 44032: 0xB1C6,
+ 44426 - 44032: 0x82A1,
+ 44427 - 44032: 0x82A2,
+ 44428 - 44032: 0xB1C7,
+ 44429 - 44032: 0x82A3,
+ 44430 - 44032: 0x82A4,
+ 44431 - 44032: 0x82A5,
+ 44432 - 44032: 0xB1C8,
+ 44433 - 44032: 0x82A6,
+ 44434 - 44032: 0x82A7,
+ 44435 - 44032: 0x82A8,
+ 44436 - 44032: 0x82A9,
+ 44437 - 44032: 0x82AA,
+ 44438 - 44032: 0x82AB,
+ 44439 - 44032: 0x82AC,
+ 44440 - 44032: 0x82AD,
+ 44441 - 44032: 0x82AE,
+ 44442 - 44032: 0x82AF,
+ 44443 - 44032: 0x82B0,
+ 44444 - 44032: 0xB1C9,
+ 44445 - 44032: 0xB1CA,
+ 44446 - 44032: 0x82B1,
+ 44447 - 44032: 0x82B2,
+ 44448 - 44032: 0x82B3,
+ 44449 - 44032: 0x82B4,
+ 44450 - 44032: 0x82B5,
+ 44451 - 44032: 0x82B6,
+ 44452 - 44032: 0xB1CB,
+ 44453 - 44032: 0x82B7,
+ 44454 - 44032: 0x82B8,
+ 44455 - 44032: 0x82B9,
+ 44456 - 44032: 0x82BA,
+ 44457 - 44032: 0x82BB,
+ 44458 - 44032: 0x82BC,
+ 44459 - 44032: 0x82BD,
+ 44460 - 44032: 0x82BE,
+ 44461 - 44032: 0x82BF,
+ 44462 - 44032: 0x82C0,
+ 44463 - 44032: 0x82C1,
+ 44464 - 44032: 0x82C2,
+ 44465 - 44032: 0x82C3,
+ 44466 - 44032: 0x82C4,
+ 44467 - 44032: 0x82C5,
+ 44468 - 44032: 0x82C6,
+ 44469 - 44032: 0x82C7,
+ 44470 - 44032: 0x82C8,
+ 44471 - 44032: 0xB1CC,
+ 44472 - 44032: 0x82C9,
+ 44473 - 44032: 0x82CA,
+ 44474 - 44032: 0x82CB,
+ 44475 - 44032: 0x82CC,
+ 44476 - 44032: 0x82CD,
+ 44477 - 44032: 0x82CE,
+ 44478 - 44032: 0x82CF,
+ 44479 - 44032: 0x82D0,
+ 44480 - 44032: 0xB1CD,
+ 44481 - 44032: 0xB1CE,
+ 44482 - 44032: 0x82D1,
+ 44483 - 44032: 0x82D2,
+ 44484 - 44032: 0xB1CF,
+ 44485 - 44032: 0x82D3,
+ 44486 - 44032: 0x82D4,
+ 44487 - 44032: 0x82D5,
+ 44488 - 44032: 0xB1D0,
+ 44489 - 44032: 0x82D6,
+ 44490 - 44032: 0x82D7,
+ 44491 - 44032: 0x82D8,
+ 44492 - 44032: 0x82D9,
+ 44493 - 44032: 0x82DA,
+ 44494 - 44032: 0x82DB,
+ 44495 - 44032: 0x82DC,
+ 44496 - 44032: 0xB1D1,
+ 44497 - 44032: 0xB1D2,
+ 44498 - 44032: 0x82DD,
+ 44499 - 44032: 0xB1D3,
+ 44500 - 44032: 0x82DE,
+ 44501 - 44032: 0x82DF,
+ 44502 - 44032: 0x82E0,
+ 44503 - 44032: 0x82E1,
+ 44504 - 44032: 0x82E2,
+ 44505 - 44032: 0x82E3,
+ 44506 - 44032: 0x82E4,
+ 44507 - 44032: 0x82E5,
+ 44508 - 44032: 0xB1D4,
+ 44509 - 44032: 0x82E6,
+ 44510 - 44032: 0x82E7,
+ 44511 - 44032: 0x82E8,
+ 44512 - 44032: 0xB1D5,
+ 44513 - 44032: 0x82E9,
+ 44514 - 44032: 0x82EA,
+ 44515 - 44032: 0x82EB,
+ 44516 - 44032: 0xB1D6,
+ 44517 - 44032: 0x82EC,
+ 44518 - 44032: 0x82ED,
+ 44519 - 44032: 0x82EE,
+ 44520 - 44032: 0x82EF,
+ 44521 - 44032: 0x82F0,
+ 44522 - 44032: 0x82F1,
+ 44523 - 44032: 0x82F2,
+ 44524 - 44032: 0x82F3,
+ 44525 - 44032: 0x82F4,
+ 44526 - 44032: 0x82F5,
+ 44527 - 44032: 0x82F6,
+ 44528 - 44032: 0x82F7,
+ 44529 - 44032: 0x82F8,
+ 44530 - 44032: 0x82F9,
+ 44531 - 44032: 0x82FA,
+ 44532 - 44032: 0x82FB,
+ 44533 - 44032: 0x82FC,
+ 44534 - 44032: 0x82FD,
+ 44535 - 44032: 0x82FE,
+ 44536 - 44032: 0xB1D7,
+ 44537 - 44032: 0xB1D8,
+ 44538 - 44032: 0x8341,
+ 44539 - 44032: 0x8342,
+ 44540 - 44032: 0xB1D9,
+ 44541 - 44032: 0x8343,
+ 44542 - 44032: 0x8344,
+ 44543 - 44032: 0xB1DA,
+ 44544 - 44032: 0xB1DB,
+ 44545 - 44032: 0xB1DC,
+ 44546 - 44032: 0x8345,
+ 44547 - 44032: 0x8346,
+ 44548 - 44032: 0x8347,
+ 44549 - 44032: 0x8348,
+ 44550 - 44032: 0x8349,
+ 44551 - 44032: 0x834A,
+ 44552 - 44032: 0xB1DD,
+ 44553 - 44032: 0xB1DE,
+ 44554 - 44032: 0x834B,
+ 44555 - 44032: 0xB1DF,
+ 44556 - 44032: 0x834C,
+ 44557 - 44032: 0xB1E0,
+ 44558 - 44032: 0x834D,
+ 44559 - 44032: 0x834E,
+ 44560 - 44032: 0x834F,
+ 44561 - 44032: 0x8350,
+ 44562 - 44032: 0x8351,
+ 44563 - 44032: 0x8352,
+ 44564 - 44032: 0xB1E1,
+ 44565 - 44032: 0x8353,
+ 44566 - 44032: 0x8354,
+ 44567 - 44032: 0x8355,
+ 44568 - 44032: 0x8356,
+ 44569 - 44032: 0x8357,
+ 44570 - 44032: 0x8358,
+ 44571 - 44032: 0x8359,
+ 44572 - 44032: 0x835A,
+ 44573 - 44032: 0x8361,
+ 44574 - 44032: 0x8362,
+ 44575 - 44032: 0x8363,
+ 44576 - 44032: 0x8364,
+ 44577 - 44032: 0x8365,
+ 44578 - 44032: 0x8366,
+ 44579 - 44032: 0x8367,
+ 44580 - 44032: 0x8368,
+ 44581 - 44032: 0x8369,
+ 44582 - 44032: 0x836A,
+ 44583 - 44032: 0x836B,
+ 44584 - 44032: 0x836C,
+ 44585 - 44032: 0x836D,
+ 44586 - 44032: 0x836E,
+ 44587 - 44032: 0x836F,
+ 44588 - 44032: 0x8370,
+ 44589 - 44032: 0x8371,
+ 44590 - 44032: 0x8372,
+ 44591 - 44032: 0x8373,
+ 44592 - 44032: 0xB1E2,
+ 44593 - 44032: 0xB1E3,
+ 44594 - 44032: 0x8374,
+ 44595 - 44032: 0x8375,
+ 44596 - 44032: 0xB1E4,
+ 44597 - 44032: 0x8376,
+ 44598 - 44032: 0x8377,
+ 44599 - 44032: 0xB1E5,
+ 44600 - 44032: 0xB1E6,
+ 44601 - 44032: 0x8378,
+ 44602 - 44032: 0xB1E7,
+ 44603 - 44032: 0x8379,
+ 44604 - 44032: 0x837A,
+ 44605 - 44032: 0x8381,
+ 44606 - 44032: 0x8382,
+ 44607 - 44032: 0x8383,
+ 44608 - 44032: 0xB1E8,
+ 44609 - 44032: 0xB1E9,
+ 44610 - 44032: 0x8384,
+ 44611 - 44032: 0xB1EA,
+ 44612 - 44032: 0x8385,
+ 44613 - 44032: 0xB1EB,
+ 44614 - 44032: 0xB1EC,
+ 44615 - 44032: 0x8386,
+ 44616 - 44032: 0x8387,
+ 44617 - 44032: 0x8388,
+ 44618 - 44032: 0xB1ED,
+ 44619 - 44032: 0x8389,
+ 44620 - 44032: 0xB1EE,
+ 44621 - 44032: 0xB1EF,
+ 44622 - 44032: 0xB1F0,
+ 44623 - 44032: 0x838A,
+ 44624 - 44032: 0xB1F1,
+ 44625 - 44032: 0x838B,
+ 44626 - 44032: 0x838C,
+ 44627 - 44032: 0x838D,
+ 44628 - 44032: 0xB1F2,
+ 44629 - 44032: 0x838E,
+ 44630 - 44032: 0xB1F3,
+ 44631 - 44032: 0x838F,
+ 44632 - 44032: 0x8390,
+ 44633 - 44032: 0x8391,
+ 44634 - 44032: 0x8392,
+ 44635 - 44032: 0x8393,
+ 44636 - 44032: 0xB1F4,
+ 44637 - 44032: 0xB1F5,
+ 44638 - 44032: 0x8394,
+ 44639 - 44032: 0xB1F6,
+ 44640 - 44032: 0xB1F7,
+ 44641 - 44032: 0xB1F8,
+ 44642 - 44032: 0x8395,
+ 44643 - 44032: 0x8396,
+ 44644 - 44032: 0x8397,
+ 44645 - 44032: 0xB1F9,
+ 44646 - 44032: 0x8398,
+ 44647 - 44032: 0x8399,
+ 44648 - 44032: 0xB1FA,
+ 44649 - 44032: 0xB1FB,
+ 44650 - 44032: 0x839A,
+ 44651 - 44032: 0x839B,
+ 44652 - 44032: 0xB1FC,
+ 44653 - 44032: 0x839C,
+ 44654 - 44032: 0x839D,
+ 44655 - 44032: 0x839E,
+ 44656 - 44032: 0xB1FD,
+ 44657 - 44032: 0x839F,
+ 44658 - 44032: 0x83A0,
+ 44659 - 44032: 0x83A1,
+ 44660 - 44032: 0x83A2,
+ 44661 - 44032: 0x83A3,
+ 44662 - 44032: 0x83A4,
+ 44663 - 44032: 0x83A5,
+ 44664 - 44032: 0xB1FE,
+ 44665 - 44032: 0xB2A1,
+ 44666 - 44032: 0x83A6,
+ 44667 - 44032: 0xB2A2,
+ 44668 - 44032: 0xB2A3,
+ 44669 - 44032: 0xB2A4,
+ 44670 - 44032: 0x83A7,
+ 44671 - 44032: 0x83A8,
+ 44672 - 44032: 0x83A9,
+ 44673 - 44032: 0x83AA,
+ 44674 - 44032: 0x83AB,
+ 44675 - 44032: 0x83AC,
+ 44676 - 44032: 0xB2A5,
+ 44677 - 44032: 0xB2A6,
+ 44678 - 44032: 0x83AD,
+ 44679 - 44032: 0x83AE,
+ 44680 - 44032: 0x83AF,
+ 44681 - 44032: 0x83B0,
+ 44682 - 44032: 0x83B1,
+ 44683 - 44032: 0x83B2,
+ 44684 - 44032: 0xB2A7,
+ 44685 - 44032: 0x83B3,
+ 44686 - 44032: 0x83B4,
+ 44687 - 44032: 0x83B5,
+ 44688 - 44032: 0x83B6,
+ 44689 - 44032: 0x83B7,
+ 44690 - 44032: 0x83B8,
+ 44691 - 44032: 0x83B9,
+ 44692 - 44032: 0x83BA,
+ 44693 - 44032: 0x83BB,
+ 44694 - 44032: 0x83BC,
+ 44695 - 44032: 0x83BD,
+ 44696 - 44032: 0x83BE,
+ 44697 - 44032: 0x83BF,
+ 44698 - 44032: 0x83C0,
+ 44699 - 44032: 0x83C1,
+ 44700 - 44032: 0x83C2,
+ 44701 - 44032: 0x83C3,
+ 44702 - 44032: 0x83C4,
+ 44703 - 44032: 0x83C5,
+ 44704 - 44032: 0x83C6,
+ 44705 - 44032: 0x83C7,
+ 44706 - 44032: 0x83C8,
+ 44707 - 44032: 0x83C9,
+ 44708 - 44032: 0x83CA,
+ 44709 - 44032: 0x83CB,
+ 44710 - 44032: 0x83CC,
+ 44711 - 44032: 0x83CD,
+ 44712 - 44032: 0x83CE,
+ 44713 - 44032: 0x83CF,
+ 44714 - 44032: 0x83D0,
+ 44715 - 44032: 0x83D1,
+ 44716 - 44032: 0x83D2,
+ 44717 - 44032: 0x83D3,
+ 44718 - 44032: 0x83D4,
+ 44719 - 44032: 0x83D5,
+ 44720 - 44032: 0x83D6,
+ 44721 - 44032: 0x83D7,
+ 44722 - 44032: 0x83D8,
+ 44723 - 44032: 0x83D9,
+ 44724 - 44032: 0x83DA,
+ 44725 - 44032: 0x83DB,
+ 44726 - 44032: 0x83DC,
+ 44727 - 44032: 0x83DD,
+ 44728 - 44032: 0x83DE,
+ 44729 - 44032: 0x83DF,
+ 44730 - 44032: 0x83E0,
+ 44731 - 44032: 0x83E1,
+ 44732 - 44032: 0xB2A8,
+ 44733 - 44032: 0xB2A9,
+ 44734 - 44032: 0xB2AA,
+ 44735 - 44032: 0x83E2,
+ 44736 - 44032: 0xB2AB,
+ 44737 - 44032: 0x83E3,
+ 44738 - 44032: 0x83E4,
+ 44739 - 44032: 0x83E5,
+ 44740 - 44032: 0xB2AC,
+ 44741 - 44032: 0x83E6,
+ 44742 - 44032: 0x83E7,
+ 44743 - 44032: 0x83E8,
+ 44744 - 44032: 0x83E9,
+ 44745 - 44032: 0x83EA,
+ 44746 - 44032: 0x83EB,
+ 44747 - 44032: 0x83EC,
+ 44748 - 44032: 0xB2AD,
+ 44749 - 44032: 0xB2AE,
+ 44750 - 44032: 0x83ED,
+ 44751 - 44032: 0xB2AF,
+ 44752 - 44032: 0xB2B0,
+ 44753 - 44032: 0xB2B1,
+ 44754 - 44032: 0x83EE,
+ 44755 - 44032: 0x83EF,
+ 44756 - 44032: 0x83F0,
+ 44757 - 44032: 0x83F1,
+ 44758 - 44032: 0x83F2,
+ 44759 - 44032: 0x83F3,
+ 44760 - 44032: 0xB2B2,
+ 44761 - 44032: 0xB2B3,
+ 44762 - 44032: 0x83F4,
+ 44763 - 44032: 0x83F5,
+ 44764 - 44032: 0xB2B4,
+ 44765 - 44032: 0x83F6,
+ 44766 - 44032: 0x83F7,
+ 44767 - 44032: 0x83F8,
+ 44768 - 44032: 0x83F9,
+ 44769 - 44032: 0x83FA,
+ 44770 - 44032: 0x83FB,
+ 44771 - 44032: 0x83FC,
+ 44772 - 44032: 0x83FD,
+ 44773 - 44032: 0x83FE,
+ 44774 - 44032: 0x8441,
+ 44775 - 44032: 0x8442,
+ 44776 - 44032: 0xB2B5,
+ 44777 - 44032: 0x8443,
+ 44778 - 44032: 0x8444,
+ 44779 - 44032: 0xB2B6,
+ 44780 - 44032: 0x8445,
+ 44781 - 44032: 0xB2B7,
+ 44782 - 44032: 0x8446,
+ 44783 - 44032: 0x8447,
+ 44784 - 44032: 0x8448,
+ 44785 - 44032: 0x8449,
+ 44786 - 44032: 0x844A,
+ 44787 - 44032: 0x844B,
+ 44788 - 44032: 0xB2B8,
+ 44789 - 44032: 0x844C,
+ 44790 - 44032: 0x844D,
+ 44791 - 44032: 0x844E,
+ 44792 - 44032: 0xB2B9,
+ 44793 - 44032: 0x844F,
+ 44794 - 44032: 0x8450,
+ 44795 - 44032: 0x8451,
+ 44796 - 44032: 0xB2BA,
+ 44797 - 44032: 0x8452,
+ 44798 - 44032: 0x8453,
+ 44799 - 44032: 0x8454,
+ 44800 - 44032: 0x8455,
+ 44801 - 44032: 0x8456,
+ 44802 - 44032: 0x8457,
+ 44803 - 44032: 0x8458,
+ 44804 - 44032: 0x8459,
+ 44805 - 44032: 0x845A,
+ 44806 - 44032: 0x8461,
+ 44807 - 44032: 0xB2BB,
+ 44808 - 44032: 0xB2BC,
+ 44809 - 44032: 0x8462,
+ 44810 - 44032: 0x8463,
+ 44811 - 44032: 0x8464,
+ 44812 - 44032: 0x8465,
+ 44813 - 44032: 0xB2BD,
+ 44814 - 44032: 0x8466,
+ 44815 - 44032: 0x8467,
+ 44816 - 44032: 0xB2BE,
+ 44817 - 44032: 0x8468,
+ 44818 - 44032: 0x8469,
+ 44819 - 44032: 0x846A,
+ 44820 - 44032: 0x846B,
+ 44821 - 44032: 0x846C,
+ 44822 - 44032: 0x846D,
+ 44823 - 44032: 0x846E,
+ 44824 - 44032: 0x846F,
+ 44825 - 44032: 0x8470,
+ 44826 - 44032: 0x8471,
+ 44827 - 44032: 0x8472,
+ 44828 - 44032: 0x8473,
+ 44829 - 44032: 0x8474,
+ 44830 - 44032: 0x8475,
+ 44831 - 44032: 0x8476,
+ 44832 - 44032: 0x8477,
+ 44833 - 44032: 0x8478,
+ 44834 - 44032: 0x8479,
+ 44835 - 44032: 0x847A,
+ 44836 - 44032: 0x8481,
+ 44837 - 44032: 0x8482,
+ 44838 - 44032: 0x8483,
+ 44839 - 44032: 0x8484,
+ 44840 - 44032: 0x8485,
+ 44841 - 44032: 0x8486,
+ 44842 - 44032: 0x8487,
+ 44843 - 44032: 0x8488,
+ 44844 - 44032: 0xB2BF,
+ 44845 - 44032: 0xB2C0,
+ 44846 - 44032: 0x8489,
+ 44847 - 44032: 0x848A,
+ 44848 - 44032: 0xB2C1,
+ 44849 - 44032: 0x848B,
+ 44850 - 44032: 0xB2C2,
+ 44851 - 44032: 0x848C,
+ 44852 - 44032: 0xB2C3,
+ 44853 - 44032: 0x848D,
+ 44854 - 44032: 0x848E,
+ 44855 - 44032: 0x848F,
+ 44856 - 44032: 0x8490,
+ 44857 - 44032: 0x8491,
+ 44858 - 44032: 0x8492,
+ 44859 - 44032: 0x8493,
+ 44860 - 44032: 0xB2C4,
+ 44861 - 44032: 0xB2C5,
+ 44862 - 44032: 0x8494,
+ 44863 - 44032: 0xB2C6,
+ 44864 - 44032: 0x8495,
+ 44865 - 44032: 0xB2C7,
+ 44866 - 44032: 0xB2C8,
+ 44867 - 44032: 0xB2C9,
+ 44868 - 44032: 0x8496,
+ 44869 - 44032: 0x8497,
+ 44870 - 44032: 0x8498,
+ 44871 - 44032: 0x8499,
+ 44872 - 44032: 0xB2CA,
+ 44873 - 44032: 0xB2CB,
+ 44874 - 44032: 0x849A,
+ 44875 - 44032: 0x849B,
+ 44876 - 44032: 0x849C,
+ 44877 - 44032: 0x849D,
+ 44878 - 44032: 0x849E,
+ 44879 - 44032: 0x849F,
+ 44880 - 44032: 0xB2CC,
+ 44881 - 44032: 0x84A0,
+ 44882 - 44032: 0x84A1,
+ 44883 - 44032: 0x84A2,
+ 44884 - 44032: 0x84A3,
+ 44885 - 44032: 0x84A4,
+ 44886 - 44032: 0x84A5,
+ 44887 - 44032: 0x84A6,
+ 44888 - 44032: 0x84A7,
+ 44889 - 44032: 0x84A8,
+ 44890 - 44032: 0x84A9,
+ 44891 - 44032: 0x84AA,
+ 44892 - 44032: 0xB2CD,
+ 44893 - 44032: 0xB2CE,
+ 44894 - 44032: 0x84AB,
+ 44895 - 44032: 0x84AC,
+ 44896 - 44032: 0x84AD,
+ 44897 - 44032: 0x84AE,
+ 44898 - 44032: 0x84AF,
+ 44899 - 44032: 0x84B0,
+ 44900 - 44032: 0xB2CF,
+ 44901 - 44032: 0xB2D0,
+ 44902 - 44032: 0x84B1,
+ 44903 - 44032: 0x84B2,
+ 44904 - 44032: 0x84B3,
+ 44905 - 44032: 0x84B4,
+ 44906 - 44032: 0x84B5,
+ 44907 - 44032: 0x84B6,
+ 44908 - 44032: 0x84B7,
+ 44909 - 44032: 0x84B8,
+ 44910 - 44032: 0x84B9,
+ 44911 - 44032: 0x84BA,
+ 44912 - 44032: 0x84BB,
+ 44913 - 44032: 0x84BC,
+ 44914 - 44032: 0x84BD,
+ 44915 - 44032: 0x84BE,
+ 44916 - 44032: 0x84BF,
+ 44917 - 44032: 0x84C0,
+ 44918 - 44032: 0x84C1,
+ 44919 - 44032: 0x84C2,
+ 44920 - 44032: 0x84C3,
+ 44921 - 44032: 0xB2D1,
+ 44922 - 44032: 0x84C4,
+ 44923 - 44032: 0x84C5,
+ 44924 - 44032: 0x84C6,
+ 44925 - 44032: 0x84C7,
+ 44926 - 44032: 0x84C8,
+ 44927 - 44032: 0x84C9,
+ 44928 - 44032: 0xB2D2,
+ 44929 - 44032: 0x84CA,
+ 44930 - 44032: 0x84CB,
+ 44931 - 44032: 0x84CC,
+ 44932 - 44032: 0xB2D3,
+ 44933 - 44032: 0x84CD,
+ 44934 - 44032: 0x84CE,
+ 44935 - 44032: 0x84CF,
+ 44936 - 44032: 0xB2D4,
+ 44937 - 44032: 0x84D0,
+ 44938 - 44032: 0x84D1,
+ 44939 - 44032: 0x84D2,
+ 44940 - 44032: 0x84D3,
+ 44941 - 44032: 0x84D4,
+ 44942 - 44032: 0x84D5,
+ 44943 - 44032: 0x84D6,
+ 44944 - 44032: 0xB2D5,
+ 44945 - 44032: 0xB2D6,
+ 44946 - 44032: 0x84D7,
+ 44947 - 44032: 0x84D8,
+ 44948 - 44032: 0x84D9,
+ 44949 - 44032: 0xB2D7,
+ 44950 - 44032: 0x84DA,
+ 44951 - 44032: 0x84DB,
+ 44952 - 44032: 0x84DC,
+ 44953 - 44032: 0x84DD,
+ 44954 - 44032: 0x84DE,
+ 44955 - 44032: 0x84DF,
+ 44956 - 44032: 0xB2D8,
+ 44957 - 44032: 0x84E0,
+ 44958 - 44032: 0x84E1,
+ 44959 - 44032: 0x84E2,
+ 44960 - 44032: 0x84E3,
+ 44961 - 44032: 0x84E4,
+ 44962 - 44032: 0x84E5,
+ 44963 - 44032: 0x84E6,
+ 44964 - 44032: 0x84E7,
+ 44965 - 44032: 0x84E8,
+ 44966 - 44032: 0x84E9,
+ 44967 - 44032: 0x84EA,
+ 44968 - 44032: 0x84EB,
+ 44969 - 44032: 0x84EC,
+ 44970 - 44032: 0x84ED,
+ 44971 - 44032: 0x84EE,
+ 44972 - 44032: 0x84EF,
+ 44973 - 44032: 0x84F0,
+ 44974 - 44032: 0x84F1,
+ 44975 - 44032: 0x84F2,
+ 44976 - 44032: 0x84F3,
+ 44977 - 44032: 0x84F4,
+ 44978 - 44032: 0x84F5,
+ 44979 - 44032: 0x84F6,
+ 44980 - 44032: 0x84F7,
+ 44981 - 44032: 0x84F8,
+ 44982 - 44032: 0x84F9,
+ 44983 - 44032: 0x84FA,
+ 44984 - 44032: 0xB2D9,
+ 44985 - 44032: 0xB2DA,
+ 44986 - 44032: 0x84FB,
+ 44987 - 44032: 0x84FC,
+ 44988 - 44032: 0xB2DB,
+ 44989 - 44032: 0x84FD,
+ 44990 - 44032: 0x84FE,
+ 44991 - 44032: 0x8541,
+ 44992 - 44032: 0xB2DC,
+ 44993 - 44032: 0x8542,
+ 44994 - 44032: 0x8543,
+ 44995 - 44032: 0x8544,
+ 44996 - 44032: 0x8545,
+ 44997 - 44032: 0x8546,
+ 44998 - 44032: 0x8547,
+ 44999 - 44032: 0xB2DD,
+ 45000 - 44032: 0xB2DE,
+ 45001 - 44032: 0xB2DF,
+ 45002 - 44032: 0x8548,
+ 45003 - 44032: 0xB2E0,
+ 45004 - 44032: 0x8549,
+ 45005 - 44032: 0xB2E1,
+ 45006 - 44032: 0xB2E2,
+ 45007 - 44032: 0x854A,
+ 45008 - 44032: 0x854B,
+ 45009 - 44032: 0x854C,
+ 45010 - 44032: 0x854D,
+ 45011 - 44032: 0x854E,
+ 45012 - 44032: 0xB2E3,
+ 45013 - 44032: 0x854F,
+ 45014 - 44032: 0x8550,
+ 45015 - 44032: 0x8551,
+ 45016 - 44032: 0x8552,
+ 45017 - 44032: 0x8553,
+ 45018 - 44032: 0x8554,
+ 45019 - 44032: 0x8555,
+ 45020 - 44032: 0xB2E4,
+ 45021 - 44032: 0x8556,
+ 45022 - 44032: 0x8557,
+ 45023 - 44032: 0x8558,
+ 45024 - 44032: 0x8559,
+ 45025 - 44032: 0x855A,
+ 45026 - 44032: 0x8561,
+ 45027 - 44032: 0x8562,
+ 45028 - 44032: 0x8563,
+ 45029 - 44032: 0x8564,
+ 45030 - 44032: 0x8565,
+ 45031 - 44032: 0x8566,
+ 45032 - 44032: 0xB2E5,
+ 45033 - 44032: 0xB2E6,
+ 45034 - 44032: 0x8567,
+ 45035 - 44032: 0x8568,
+ 45036 - 44032: 0x8569,
+ 45037 - 44032: 0x856A,
+ 45038 - 44032: 0x856B,
+ 45039 - 44032: 0x856C,
+ 45040 - 44032: 0xB2E7,
+ 45041 - 44032: 0xB2E8,
+ 45042 - 44032: 0x856D,
+ 45043 - 44032: 0x856E,
+ 45044 - 44032: 0xB2E9,
+ 45045 - 44032: 0x856F,
+ 45046 - 44032: 0x8570,
+ 45047 - 44032: 0x8571,
+ 45048 - 44032: 0xB2EA,
+ 45049 - 44032: 0x8572,
+ 45050 - 44032: 0x8573,
+ 45051 - 44032: 0x8574,
+ 45052 - 44032: 0x8575,
+ 45053 - 44032: 0x8576,
+ 45054 - 44032: 0x8577,
+ 45055 - 44032: 0x8578,
+ 45056 - 44032: 0xB2EB,
+ 45057 - 44032: 0xB2EC,
+ 45058 - 44032: 0x8579,
+ 45059 - 44032: 0x857A,
+ 45060 - 44032: 0xB2ED,
+ 45061 - 44032: 0x8581,
+ 45062 - 44032: 0x8582,
+ 45063 - 44032: 0x8583,
+ 45064 - 44032: 0x8584,
+ 45065 - 44032: 0x8585,
+ 45066 - 44032: 0x8586,
+ 45067 - 44032: 0x8587,
+ 45068 - 44032: 0xB2EE,
+ 45069 - 44032: 0x8588,
+ 45070 - 44032: 0x8589,
+ 45071 - 44032: 0x858A,
+ 45072 - 44032: 0xB2EF,
+ 45073 - 44032: 0x858B,
+ 45074 - 44032: 0x858C,
+ 45075 - 44032: 0x858D,
+ 45076 - 44032: 0xB2F0,
+ 45077 - 44032: 0x858E,
+ 45078 - 44032: 0x858F,
+ 45079 - 44032: 0x8590,
+ 45080 - 44032: 0x8591,
+ 45081 - 44032: 0x8592,
+ 45082 - 44032: 0x8593,
+ 45083 - 44032: 0x8594,
+ 45084 - 44032: 0xB2F1,
+ 45085 - 44032: 0xB2F2,
+ 45086 - 44032: 0x8595,
+ 45087 - 44032: 0x8596,
+ 45088 - 44032: 0x8597,
+ 45089 - 44032: 0x8598,
+ 45090 - 44032: 0x8599,
+ 45091 - 44032: 0x859A,
+ 45092 - 44032: 0x859B,
+ 45093 - 44032: 0x859C,
+ 45094 - 44032: 0x859D,
+ 45095 - 44032: 0x859E,
+ 45096 - 44032: 0xB2F3,
+ 45097 - 44032: 0x859F,
+ 45098 - 44032: 0x85A0,
+ 45099 - 44032: 0x85A1,
+ 45100 - 44032: 0x85A2,
+ 45101 - 44032: 0x85A3,
+ 45102 - 44032: 0x85A4,
+ 45103 - 44032: 0x85A5,
+ 45104 - 44032: 0x85A6,
+ 45105 - 44032: 0x85A7,
+ 45106 - 44032: 0x85A8,
+ 45107 - 44032: 0x85A9,
+ 45108 - 44032: 0x85AA,
+ 45109 - 44032: 0x85AB,
+ 45110 - 44032: 0x85AC,
+ 45111 - 44032: 0x85AD,
+ 45112 - 44032: 0x85AE,
+ 45113 - 44032: 0x85AF,
+ 45114 - 44032: 0x85B0,
+ 45115 - 44032: 0x85B1,
+ 45116 - 44032: 0x85B2,
+ 45117 - 44032: 0x85B3,
+ 45118 - 44032: 0x85B4,
+ 45119 - 44032: 0x85B5,
+ 45120 - 44032: 0x85B6,
+ 45121 - 44032: 0x85B7,
+ 45122 - 44032: 0x85B8,
+ 45123 - 44032: 0x85B9,
+ 45124 - 44032: 0xB2F4,
+ 45125 - 44032: 0xB2F5,
+ 45126 - 44032: 0x85BA,
+ 45127 - 44032: 0x85BB,
+ 45128 - 44032: 0xB2F6,
+ 45129 - 44032: 0x85BC,
+ 45130 - 44032: 0xB2F7,
+ 45131 - 44032: 0x85BD,
+ 45132 - 44032: 0xB2F8,
+ 45133 - 44032: 0x85BE,
+ 45134 - 44032: 0xB2F9,
+ 45135 - 44032: 0x85BF,
+ 45136 - 44032: 0x85C0,
+ 45137 - 44032: 0x85C1,
+ 45138 - 44032: 0x85C2,
+ 45139 - 44032: 0xB2FA,
+ 45140 - 44032: 0xB2FB,
+ 45141 - 44032: 0xB2FC,
+ 45142 - 44032: 0x85C3,
+ 45143 - 44032: 0xB2FD,
+ 45144 - 44032: 0x85C4,
+ 45145 - 44032: 0xB2FE,
+ 45146 - 44032: 0x85C5,
+ 45147 - 44032: 0x85C6,
+ 45148 - 44032: 0x85C7,
+ 45149 - 44032: 0xB3A1,
+ 45150 - 44032: 0x85C8,
+ 45151 - 44032: 0x85C9,
+ 45152 - 44032: 0x85CA,
+ 45153 - 44032: 0x85CB,
+ 45154 - 44032: 0x85CC,
+ 45155 - 44032: 0x85CD,
+ 45156 - 44032: 0x85CE,
+ 45157 - 44032: 0x85CF,
+ 45158 - 44032: 0x85D0,
+ 45159 - 44032: 0x85D1,
+ 45160 - 44032: 0x85D2,
+ 45161 - 44032: 0x85D3,
+ 45162 - 44032: 0x85D4,
+ 45163 - 44032: 0x85D5,
+ 45164 - 44032: 0x85D6,
+ 45165 - 44032: 0x85D7,
+ 45166 - 44032: 0x85D8,
+ 45167 - 44032: 0x85D9,
+ 45168 - 44032: 0x85DA,
+ 45169 - 44032: 0x85DB,
+ 45170 - 44032: 0x85DC,
+ 45171 - 44032: 0x85DD,
+ 45172 - 44032: 0x85DE,
+ 45173 - 44032: 0x85DF,
+ 45174 - 44032: 0x85E0,
+ 45175 - 44032: 0x85E1,
+ 45176 - 44032: 0x85E2,
+ 45177 - 44032: 0x85E3,
+ 45178 - 44032: 0x85E4,
+ 45179 - 44032: 0x85E5,
+ 45180 - 44032: 0xB3A2,
+ 45181 - 44032: 0xB3A3,
+ 45182 - 44032: 0x85E6,
+ 45183 - 44032: 0x85E7,
+ 45184 - 44032: 0xB3A4,
+ 45185 - 44032: 0x85E8,
+ 45186 - 44032: 0x85E9,
+ 45187 - 44032: 0x85EA,
+ 45188 - 44032: 0xB3A5,
+ 45189 - 44032: 0x85EB,
+ 45190 - 44032: 0x85EC,
+ 45191 - 44032: 0x85ED,
+ 45192 - 44032: 0x85EE,
+ 45193 - 44032: 0x85EF,
+ 45194 - 44032: 0x85F0,
+ 45195 - 44032: 0x85F1,
+ 45196 - 44032: 0xB3A6,
+ 45197 - 44032: 0xB3A7,
+ 45198 - 44032: 0x85F2,
+ 45199 - 44032: 0xB3A8,
+ 45200 - 44032: 0x85F3,
+ 45201 - 44032: 0xB3A9,
+ 45202 - 44032: 0x85F4,
+ 45203 - 44032: 0x85F5,
+ 45204 - 44032: 0x85F6,
+ 45205 - 44032: 0x85F7,
+ 45206 - 44032: 0x85F8,
+ 45207 - 44032: 0x85F9,
+ 45208 - 44032: 0xB3AA,
+ 45209 - 44032: 0xB3AB,
+ 45210 - 44032: 0xB3AC,
+ 45211 - 44032: 0x85FA,
+ 45212 - 44032: 0xB3AD,
+ 45213 - 44032: 0x85FB,
+ 45214 - 44032: 0x85FC,
+ 45215 - 44032: 0xB3AE,
+ 45216 - 44032: 0xB3AF,
+ 45217 - 44032: 0xB3B0,
+ 45218 - 44032: 0xB3B1,
+ 45219 - 44032: 0x85FD,
+ 45220 - 44032: 0x85FE,
+ 45221 - 44032: 0x8641,
+ 45222 - 44032: 0x8642,
+ 45223 - 44032: 0x8643,
+ 45224 - 44032: 0xB3B2,
+ 45225 - 44032: 0xB3B3,
+ 45226 - 44032: 0x8644,
+ 45227 - 44032: 0xB3B4,
+ 45228 - 44032: 0xB3B5,
+ 45229 - 44032: 0xB3B6,
+ 45230 - 44032: 0xB3B7,
+ 45231 - 44032: 0xB3B8,
+ 45232 - 44032: 0x8645,
+ 45233 - 44032: 0xB3B9,
+ 45234 - 44032: 0x8646,
+ 45235 - 44032: 0xB3BA,
+ 45236 - 44032: 0xB3BB,
+ 45237 - 44032: 0xB3BC,
+ 45238 - 44032: 0x8647,
+ 45239 - 44032: 0x8648,
+ 45240 - 44032: 0xB3BD,
+ 45241 - 44032: 0x8649,
+ 45242 - 44032: 0x864A,
+ 45243 - 44032: 0x864B,
+ 45244 - 44032: 0xB3BE,
+ 45245 - 44032: 0x864C,
+ 45246 - 44032: 0x864D,
+ 45247 - 44032: 0x864E,
+ 45248 - 44032: 0x864F,
+ 45249 - 44032: 0x8650,
+ 45250 - 44032: 0x8651,
+ 45251 - 44032: 0x8652,
+ 45252 - 44032: 0xB3BF,
+ 45253 - 44032: 0xB3C0,
+ 45254 - 44032: 0x8653,
+ 45255 - 44032: 0xB3C1,
+ 45256 - 44032: 0xB3C2,
+ 45257 - 44032: 0xB3C3,
+ 45258 - 44032: 0x8654,
+ 45259 - 44032: 0x8655,
+ 45260 - 44032: 0x8656,
+ 45261 - 44032: 0x8657,
+ 45262 - 44032: 0x8658,
+ 45263 - 44032: 0x8659,
+ 45264 - 44032: 0xB3C4,
+ 45265 - 44032: 0xB3C5,
+ 45266 - 44032: 0x865A,
+ 45267 - 44032: 0x8661,
+ 45268 - 44032: 0xB3C6,
+ 45269 - 44032: 0x8662,
+ 45270 - 44032: 0x8663,
+ 45271 - 44032: 0x8664,
+ 45272 - 44032: 0xB3C7,
+ 45273 - 44032: 0x8665,
+ 45274 - 44032: 0x8666,
+ 45275 - 44032: 0x8667,
+ 45276 - 44032: 0x8668,
+ 45277 - 44032: 0x8669,
+ 45278 - 44032: 0x866A,
+ 45279 - 44032: 0x866B,
+ 45280 - 44032: 0xB3C8,
+ 45281 - 44032: 0x866C,
+ 45282 - 44032: 0x866D,
+ 45283 - 44032: 0x866E,
+ 45284 - 44032: 0x866F,
+ 45285 - 44032: 0xB3C9,
+ 45286 - 44032: 0x8670,
+ 45287 - 44032: 0x8671,
+ 45288 - 44032: 0x8672,
+ 45289 - 44032: 0x8673,
+ 45290 - 44032: 0x8674,
+ 45291 - 44032: 0x8675,
+ 45292 - 44032: 0x8676,
+ 45293 - 44032: 0x8677,
+ 45294 - 44032: 0x8678,
+ 45295 - 44032: 0x8679,
+ 45296 - 44032: 0x867A,
+ 45297 - 44032: 0x8681,
+ 45298 - 44032: 0x8682,
+ 45299 - 44032: 0x8683,
+ 45300 - 44032: 0x8684,
+ 45301 - 44032: 0x8685,
+ 45302 - 44032: 0x8686,
+ 45303 - 44032: 0x8687,
+ 45304 - 44032: 0x8688,
+ 45305 - 44032: 0x8689,
+ 45306 - 44032: 0x868A,
+ 45307 - 44032: 0x868B,
+ 45308 - 44032: 0x868C,
+ 45309 - 44032: 0x868D,
+ 45310 - 44032: 0x868E,
+ 45311 - 44032: 0x868F,
+ 45312 - 44032: 0x8690,
+ 45313 - 44032: 0x8691,
+ 45314 - 44032: 0x8692,
+ 45315 - 44032: 0x8693,
+ 45316 - 44032: 0x8694,
+ 45317 - 44032: 0x8695,
+ 45318 - 44032: 0x8696,
+ 45319 - 44032: 0x8697,
+ 45320 - 44032: 0xB3CA,
+ 45321 - 44032: 0xB3CB,
+ 45322 - 44032: 0x8698,
+ 45323 - 44032: 0xB3CC,
+ 45324 - 44032: 0xB3CD,
+ 45325 - 44032: 0x8699,
+ 45326 - 44032: 0x869A,
+ 45327 - 44032: 0x869B,
+ 45328 - 44032: 0xB3CE,
+ 45329 - 44032: 0x869C,
+ 45330 - 44032: 0xB3CF,
+ 45331 - 44032: 0xB3D0,
+ 45332 - 44032: 0x869D,
+ 45333 - 44032: 0x869E,
+ 45334 - 44032: 0x869F,
+ 45335 - 44032: 0x86A0,
+ 45336 - 44032: 0xB3D1,
+ 45337 - 44032: 0xB3D2,
+ 45338 - 44032: 0x86A1,
+ 45339 - 44032: 0xB3D3,
+ 45340 - 44032: 0xB3D4,
+ 45341 - 44032: 0xB3D5,
+ 45342 - 44032: 0x86A2,
+ 45343 - 44032: 0x86A3,
+ 45344 - 44032: 0x86A4,
+ 45345 - 44032: 0x86A5,
+ 45346 - 44032: 0x86A6,
+ 45347 - 44032: 0xB3D6,
+ 45348 - 44032: 0xB3D7,
+ 45349 - 44032: 0xB3D8,
+ 45350 - 44032: 0x86A7,
+ 45351 - 44032: 0x86A8,
+ 45352 - 44032: 0xB3D9,
+ 45353 - 44032: 0x86A9,
+ 45354 - 44032: 0x86AA,
+ 45355 - 44032: 0x86AB,
+ 45356 - 44032: 0xB3DA,
+ 45357 - 44032: 0x86AC,
+ 45358 - 44032: 0x86AD,
+ 45359 - 44032: 0x86AE,
+ 45360 - 44032: 0x86AF,
+ 45361 - 44032: 0x86B0,
+ 45362 - 44032: 0x86B1,
+ 45363 - 44032: 0x86B2,
+ 45364 - 44032: 0xB3DB,
+ 45365 - 44032: 0xB3DC,
+ 45366 - 44032: 0x86B3,
+ 45367 - 44032: 0xB3DD,
+ 45368 - 44032: 0xB3DE,
+ 45369 - 44032: 0xB3DF,
+ 45370 - 44032: 0x86B4,
+ 45371 - 44032: 0x86B5,
+ 45372 - 44032: 0x86B6,
+ 45373 - 44032: 0x86B7,
+ 45374 - 44032: 0x86B8,
+ 45375 - 44032: 0x86B9,
+ 45376 - 44032: 0xB3E0,
+ 45377 - 44032: 0xB3E1,
+ 45378 - 44032: 0x86BA,
+ 45379 - 44032: 0x86BB,
+ 45380 - 44032: 0xB3E2,
+ 45381 - 44032: 0x86BC,
+ 45382 - 44032: 0x86BD,
+ 45383 - 44032: 0x86BE,
+ 45384 - 44032: 0xB3E3,
+ 45385 - 44032: 0x86BF,
+ 45386 - 44032: 0x86C0,
+ 45387 - 44032: 0x86C1,
+ 45388 - 44032: 0x86C2,
+ 45389 - 44032: 0x86C3,
+ 45390 - 44032: 0x86C4,
+ 45391 - 44032: 0x86C5,
+ 45392 - 44032: 0xB3E4,
+ 45393 - 44032: 0xB3E5,
+ 45394 - 44032: 0x86C6,
+ 45395 - 44032: 0x86C7,
+ 45396 - 44032: 0xB3E6,
+ 45397 - 44032: 0xB3E7,
+ 45398 - 44032: 0x86C8,
+ 45399 - 44032: 0x86C9,
+ 45400 - 44032: 0xB3E8,
+ 45401 - 44032: 0x86CA,
+ 45402 - 44032: 0x86CB,
+ 45403 - 44032: 0x86CC,
+ 45404 - 44032: 0xB3E9,
+ 45405 - 44032: 0x86CD,
+ 45406 - 44032: 0x86CE,
+ 45407 - 44032: 0x86CF,
+ 45408 - 44032: 0xB3EA,
+ 45409 - 44032: 0x86D0,
+ 45410 - 44032: 0x86D1,
+ 45411 - 44032: 0x86D2,
+ 45412 - 44032: 0x86D3,
+ 45413 - 44032: 0x86D4,
+ 45414 - 44032: 0x86D5,
+ 45415 - 44032: 0x86D6,
+ 45416 - 44032: 0x86D7,
+ 45417 - 44032: 0x86D8,
+ 45418 - 44032: 0x86D9,
+ 45419 - 44032: 0x86DA,
+ 45420 - 44032: 0x86DB,
+ 45421 - 44032: 0x86DC,
+ 45422 - 44032: 0x86DD,
+ 45423 - 44032: 0x86DE,
+ 45424 - 44032: 0x86DF,
+ 45425 - 44032: 0x86E0,
+ 45426 - 44032: 0x86E1,
+ 45427 - 44032: 0x86E2,
+ 45428 - 44032: 0x86E3,
+ 45429 - 44032: 0x86E4,
+ 45430 - 44032: 0x86E5,
+ 45431 - 44032: 0x86E6,
+ 45432 - 44032: 0xB3EB,
+ 45433 - 44032: 0xB3EC,
+ 45434 - 44032: 0x86E7,
+ 45435 - 44032: 0x86E8,
+ 45436 - 44032: 0xB3ED,
+ 45437 - 44032: 0x86E9,
+ 45438 - 44032: 0x86EA,
+ 45439 - 44032: 0x86EB,
+ 45440 - 44032: 0xB3EE,
+ 45441 - 44032: 0x86EC,
+ 45442 - 44032: 0xB3EF,
+ 45443 - 44032: 0x86ED,
+ 45444 - 44032: 0x86EE,
+ 45445 - 44032: 0x86EF,
+ 45446 - 44032: 0x86F0,
+ 45447 - 44032: 0x86F1,
+ 45448 - 44032: 0xB3F0,
+ 45449 - 44032: 0xB3F1,
+ 45450 - 44032: 0x86F2,
+ 45451 - 44032: 0xB3F2,
+ 45452 - 44032: 0x86F3,
+ 45453 - 44032: 0xB3F3,
+ 45454 - 44032: 0x86F4,
+ 45455 - 44032: 0x86F5,
+ 45456 - 44032: 0x86F6,
+ 45457 - 44032: 0x86F7,
+ 45458 - 44032: 0xB3F4,
+ 45459 - 44032: 0xB3F5,
+ 45460 - 44032: 0xB3F6,
+ 45461 - 44032: 0x86F8,
+ 45462 - 44032: 0x86F9,
+ 45463 - 44032: 0x86FA,
+ 45464 - 44032: 0xB3F7,
+ 45465 - 44032: 0x86FB,
+ 45466 - 44032: 0x86FC,
+ 45467 - 44032: 0x86FD,
+ 45468 - 44032: 0xB3F8,
+ 45469 - 44032: 0x86FE,
+ 45470 - 44032: 0x8741,
+ 45471 - 44032: 0x8742,
+ 45472 - 44032: 0x8743,
+ 45473 - 44032: 0x8744,
+ 45474 - 44032: 0x8745,
+ 45475 - 44032: 0x8746,
+ 45476 - 44032: 0x8747,
+ 45477 - 44032: 0x8748,
+ 45478 - 44032: 0x8749,
+ 45479 - 44032: 0x874A,
+ 45480 - 44032: 0xB3F9,
+ 45481 - 44032: 0x874B,
+ 45482 - 44032: 0x874C,
+ 45483 - 44032: 0x874D,
+ 45484 - 44032: 0x874E,
+ 45485 - 44032: 0x874F,
+ 45486 - 44032: 0x8750,
+ 45487 - 44032: 0x8751,
+ 45488 - 44032: 0x8752,
+ 45489 - 44032: 0x8753,
+ 45490 - 44032: 0x8754,
+ 45491 - 44032: 0x8755,
+ 45492 - 44032: 0x8756,
+ 45493 - 44032: 0x8757,
+ 45494 - 44032: 0x8758,
+ 45495 - 44032: 0x8759,
+ 45496 - 44032: 0x875A,
+ 45497 - 44032: 0x8761,
+ 45498 - 44032: 0x8762,
+ 45499 - 44032: 0x8763,
+ 45500 - 44032: 0x8764,
+ 45501 - 44032: 0x8765,
+ 45502 - 44032: 0x8766,
+ 45503 - 44032: 0x8767,
+ 45504 - 44032: 0x8768,
+ 45505 - 44032: 0x8769,
+ 45506 - 44032: 0x876A,
+ 45507 - 44032: 0x876B,
+ 45508 - 44032: 0x876C,
+ 45509 - 44032: 0x876D,
+ 45510 - 44032: 0x876E,
+ 45511 - 44032: 0x876F,
+ 45512 - 44032: 0x8770,
+ 45513 - 44032: 0x8771,
+ 45514 - 44032: 0x8772,
+ 45515 - 44032: 0x8773,
+ 45516 - 44032: 0xB3FA,
+ 45517 - 44032: 0x8774,
+ 45518 - 44032: 0x8775,
+ 45519 - 44032: 0x8776,
+ 45520 - 44032: 0xB3FB,
+ 45521 - 44032: 0x8777,
+ 45522 - 44032: 0x8778,
+ 45523 - 44032: 0x8779,
+ 45524 - 44032: 0xB3FC,
+ 45525 - 44032: 0x877A,
+ 45526 - 44032: 0x8781,
+ 45527 - 44032: 0x8782,
+ 45528 - 44032: 0x8783,
+ 45529 - 44032: 0x8784,
+ 45530 - 44032: 0x8785,
+ 45531 - 44032: 0x8786,
+ 45532 - 44032: 0xB3FD,
+ 45533 - 44032: 0xB3FE,
+ 45534 - 44032: 0x8787,
+ 45535 - 44032: 0xB4A1,
+ 45536 - 44032: 0x8788,
+ 45537 - 44032: 0x8789,
+ 45538 - 44032: 0x878A,
+ 45539 - 44032: 0x878B,
+ 45540 - 44032: 0x878C,
+ 45541 - 44032: 0x878D,
+ 45542 - 44032: 0x878E,
+ 45543 - 44032: 0x878F,
+ 45544 - 44032: 0xB4A2,
+ 45545 - 44032: 0xB4A3,
+ 45546 - 44032: 0x8790,
+ 45547 - 44032: 0x8791,
+ 45548 - 44032: 0xB4A4,
+ 45549 - 44032: 0x8792,
+ 45550 - 44032: 0x8793,
+ 45551 - 44032: 0x8794,
+ 45552 - 44032: 0xB4A5,
+ 45553 - 44032: 0x8795,
+ 45554 - 44032: 0x8796,
+ 45555 - 44032: 0x8797,
+ 45556 - 44032: 0x8798,
+ 45557 - 44032: 0x8799,
+ 45558 - 44032: 0x879A,
+ 45559 - 44032: 0x879B,
+ 45560 - 44032: 0x879C,
+ 45561 - 44032: 0xB4A6,
+ 45562 - 44032: 0x879D,
+ 45563 - 44032: 0xB4A7,
+ 45564 - 44032: 0x879E,
+ 45565 - 44032: 0xB4A8,
+ 45566 - 44032: 0x879F,
+ 45567 - 44032: 0x87A0,
+ 45568 - 44032: 0x87A1,
+ 45569 - 44032: 0x87A2,
+ 45570 - 44032: 0x87A3,
+ 45571 - 44032: 0x87A4,
+ 45572 - 44032: 0xB4A9,
+ 45573 - 44032: 0xB4AA,
+ 45574 - 44032: 0x87A5,
+ 45575 - 44032: 0x87A6,
+ 45576 - 44032: 0xB4AB,
+ 45577 - 44032: 0x87A7,
+ 45578 - 44032: 0x87A8,
+ 45579 - 44032: 0xB4AC,
+ 45580 - 44032: 0xB4AD,
+ 45581 - 44032: 0x87A9,
+ 45582 - 44032: 0x87AA,
+ 45583 - 44032: 0x87AB,
+ 45584 - 44032: 0x87AC,
+ 45585 - 44032: 0x87AD,
+ 45586 - 44032: 0x87AE,
+ 45587 - 44032: 0x87AF,
+ 45588 - 44032: 0xB4AE,
+ 45589 - 44032: 0xB4AF,
+ 45590 - 44032: 0x87B0,
+ 45591 - 44032: 0xB4B0,
+ 45592 - 44032: 0x87B1,
+ 45593 - 44032: 0xB4B1,
+ 45594 - 44032: 0x87B2,
+ 45595 - 44032: 0x87B3,
+ 45596 - 44032: 0x87B4,
+ 45597 - 44032: 0x87B5,
+ 45598 - 44032: 0x87B6,
+ 45599 - 44032: 0x87B7,
+ 45600 - 44032: 0xB4B2,
+ 45601 - 44032: 0x87B8,
+ 45602 - 44032: 0x87B9,
+ 45603 - 44032: 0x87BA,
+ 45604 - 44032: 0x87BB,
+ 45605 - 44032: 0x87BC,
+ 45606 - 44032: 0x87BD,
+ 45607 - 44032: 0x87BE,
+ 45608 - 44032: 0x87BF,
+ 45609 - 44032: 0x87C0,
+ 45610 - 44032: 0x87C1,
+ 45611 - 44032: 0x87C2,
+ 45612 - 44032: 0x87C3,
+ 45613 - 44032: 0x87C4,
+ 45614 - 44032: 0x87C5,
+ 45615 - 44032: 0x87C6,
+ 45616 - 44032: 0x87C7,
+ 45617 - 44032: 0x87C8,
+ 45618 - 44032: 0x87C9,
+ 45619 - 44032: 0x87CA,
+ 45620 - 44032: 0xB4B3,
+ 45621 - 44032: 0x87CB,
+ 45622 - 44032: 0x87CC,
+ 45623 - 44032: 0x87CD,
+ 45624 - 44032: 0x87CE,
+ 45625 - 44032: 0x87CF,
+ 45626 - 44032: 0x87D0,
+ 45627 - 44032: 0x87D1,
+ 45628 - 44032: 0xB4B4,
+ 45629 - 44032: 0x87D2,
+ 45630 - 44032: 0x87D3,
+ 45631 - 44032: 0x87D4,
+ 45632 - 44032: 0x87D5,
+ 45633 - 44032: 0x87D6,
+ 45634 - 44032: 0x87D7,
+ 45635 - 44032: 0x87D8,
+ 45636 - 44032: 0x87D9,
+ 45637 - 44032: 0x87DA,
+ 45638 - 44032: 0x87DB,
+ 45639 - 44032: 0x87DC,
+ 45640 - 44032: 0x87DD,
+ 45641 - 44032: 0x87DE,
+ 45642 - 44032: 0x87DF,
+ 45643 - 44032: 0x87E0,
+ 45644 - 44032: 0x87E1,
+ 45645 - 44032: 0x87E2,
+ 45646 - 44032: 0x87E3,
+ 45647 - 44032: 0x87E4,
+ 45648 - 44032: 0x87E5,
+ 45649 - 44032: 0x87E6,
+ 45650 - 44032: 0x87E7,
+ 45651 - 44032: 0x87E8,
+ 45652 - 44032: 0x87E9,
+ 45653 - 44032: 0x87EA,
+ 45654 - 44032: 0x87EB,
+ 45655 - 44032: 0x87EC,
+ 45656 - 44032: 0xB4B5,
+ 45657 - 44032: 0x87ED,
+ 45658 - 44032: 0x87EE,
+ 45659 - 44032: 0x87EF,
+ 45660 - 44032: 0xB4B6,
+ 45661 - 44032: 0x87F0,
+ 45662 - 44032: 0x87F1,
+ 45663 - 44032: 0x87F2,
+ 45664 - 44032: 0xB4B7,
+ 45665 - 44032: 0x87F3,
+ 45666 - 44032: 0x87F4,
+ 45667 - 44032: 0x87F5,
+ 45668 - 44032: 0x87F6,
+ 45669 - 44032: 0x87F7,
+ 45670 - 44032: 0x87F8,
+ 45671 - 44032: 0x87F9,
+ 45672 - 44032: 0xB4B8,
+ 45673 - 44032: 0xB4B9,
+ 45674 - 44032: 0x87FA,
+ 45675 - 44032: 0x87FB,
+ 45676 - 44032: 0x87FC,
+ 45677 - 44032: 0x87FD,
+ 45678 - 44032: 0x87FE,
+ 45679 - 44032: 0x8841,
+ 45680 - 44032: 0x8842,
+ 45681 - 44032: 0x8843,
+ 45682 - 44032: 0x8844,
+ 45683 - 44032: 0x8845,
+ 45684 - 44032: 0xB4BA,
+ 45685 - 44032: 0xB4BB,
+ 45686 - 44032: 0x8846,
+ 45687 - 44032: 0x8847,
+ 45688 - 44032: 0x8848,
+ 45689 - 44032: 0x8849,
+ 45690 - 44032: 0x884A,
+ 45691 - 44032: 0x884B,
+ 45692 - 44032: 0xB4BC,
+ 45693 - 44032: 0x884C,
+ 45694 - 44032: 0x884D,
+ 45695 - 44032: 0x884E,
+ 45696 - 44032: 0x884F,
+ 45697 - 44032: 0x8850,
+ 45698 - 44032: 0x8851,
+ 45699 - 44032: 0x8852,
+ 45700 - 44032: 0xB4BD,
+ 45701 - 44032: 0xB4BE,
+ 45702 - 44032: 0x8853,
+ 45703 - 44032: 0x8854,
+ 45704 - 44032: 0x8855,
+ 45705 - 44032: 0xB4BF,
+ 45706 - 44032: 0x8856,
+ 45707 - 44032: 0x8857,
+ 45708 - 44032: 0x8858,
+ 45709 - 44032: 0x8859,
+ 45710 - 44032: 0x885A,
+ 45711 - 44032: 0x8861,
+ 45712 - 44032: 0xB4C0,
+ 45713 - 44032: 0xB4C1,
+ 45714 - 44032: 0x8862,
+ 45715 - 44032: 0x8863,
+ 45716 - 44032: 0xB4C2,
+ 45717 - 44032: 0x8864,
+ 45718 - 44032: 0x8865,
+ 45719 - 44032: 0x8866,
+ 45720 - 44032: 0xB4C3,
+ 45721 - 44032: 0xB4C4,
+ 45722 - 44032: 0xB4C5,
+ 45723 - 44032: 0x8867,
+ 45724 - 44032: 0x8868,
+ 45725 - 44032: 0x8869,
+ 45726 - 44032: 0x886A,
+ 45727 - 44032: 0x886B,
+ 45728 - 44032: 0xB4C6,
+ 45729 - 44032: 0xB4C7,
+ 45730 - 44032: 0x886C,
+ 45731 - 44032: 0xB4C8,
+ 45732 - 44032: 0x886D,
+ 45733 - 44032: 0xB4C9,
+ 45734 - 44032: 0xB4CA,
+ 45735 - 44032: 0x886E,
+ 45736 - 44032: 0x886F,
+ 45737 - 44032: 0x8870,
+ 45738 - 44032: 0xB4CB,
+ 45739 - 44032: 0x8871,
+ 45740 - 44032: 0xB4CC,
+ 45741 - 44032: 0x8872,
+ 45742 - 44032: 0x8873,
+ 45743 - 44032: 0x8874,
+ 45744 - 44032: 0xB4CD,
+ 45745 - 44032: 0x8875,
+ 45746 - 44032: 0x8876,
+ 45747 - 44032: 0x8877,
+ 45748 - 44032: 0xB4CE,
+ 45749 - 44032: 0x8878,
+ 45750 - 44032: 0x8879,
+ 45751 - 44032: 0x887A,
+ 45752 - 44032: 0x8881,
+ 45753 - 44032: 0x8882,
+ 45754 - 44032: 0x8883,
+ 45755 - 44032: 0x8884,
+ 45756 - 44032: 0x8885,
+ 45757 - 44032: 0x8886,
+ 45758 - 44032: 0x8887,
+ 45759 - 44032: 0x8888,
+ 45760 - 44032: 0x8889,
+ 45761 - 44032: 0x888A,
+ 45762 - 44032: 0x888B,
+ 45763 - 44032: 0x888C,
+ 45764 - 44032: 0x888D,
+ 45765 - 44032: 0x888E,
+ 45766 - 44032: 0x888F,
+ 45767 - 44032: 0x8890,
+ 45768 - 44032: 0xB4CF,
+ 45769 - 44032: 0xB4D0,
+ 45770 - 44032: 0x8891,
+ 45771 - 44032: 0x8892,
+ 45772 - 44032: 0xB4D1,
+ 45773 - 44032: 0x8893,
+ 45774 - 44032: 0x8894,
+ 45775 - 44032: 0x8895,
+ 45776 - 44032: 0xB4D2,
+ 45777 - 44032: 0x8896,
+ 45778 - 44032: 0xB4D3,
+ 45779 - 44032: 0x8897,
+ 45780 - 44032: 0x8898,
+ 45781 - 44032: 0x8899,
+ 45782 - 44032: 0x889A,
+ 45783 - 44032: 0x889B,
+ 45784 - 44032: 0xB4D4,
+ 45785 - 44032: 0xB4D5,
+ 45786 - 44032: 0x889C,
+ 45787 - 44032: 0xB4D6,
+ 45788 - 44032: 0x889D,
+ 45789 - 44032: 0xB4D7,
+ 45790 - 44032: 0x889E,
+ 45791 - 44032: 0x889F,
+ 45792 - 44032: 0x88A0,
+ 45793 - 44032: 0x88A1,
+ 45794 - 44032: 0xB4D8,
+ 45795 - 44032: 0x88A2,
+ 45796 - 44032: 0xB4D9,
+ 45797 - 44032: 0xB4DA,
+ 45798 - 44032: 0xB4DB,
+ 45799 - 44032: 0x88A3,
+ 45800 - 44032: 0xB4DC,
+ 45801 - 44032: 0x88A4,
+ 45802 - 44032: 0x88A5,
+ 45803 - 44032: 0xB4DD,
+ 45804 - 44032: 0xB4DE,
+ 45805 - 44032: 0xB4DF,
+ 45806 - 44032: 0xB4E0,
+ 45807 - 44032: 0xB4E1,
+ 45808 - 44032: 0x88A6,
+ 45809 - 44032: 0x88A7,
+ 45810 - 44032: 0x88A8,
+ 45811 - 44032: 0xB4E2,
+ 45812 - 44032: 0xB4E3,
+ 45813 - 44032: 0xB4E4,
+ 45814 - 44032: 0x88A9,
+ 45815 - 44032: 0xB4E5,
+ 45816 - 44032: 0xB4E6,
+ 45817 - 44032: 0xB4E7,
+ 45818 - 44032: 0xB4E8,
+ 45819 - 44032: 0xB4E9,
+ 45820 - 44032: 0x88AA,
+ 45821 - 44032: 0x88AB,
+ 45822 - 44032: 0x88AC,
+ 45823 - 44032: 0xB4EA,
+ 45824 - 44032: 0xB4EB,
+ 45825 - 44032: 0xB4EC,
+ 45826 - 44032: 0x88AD,
+ 45827 - 44032: 0x88AE,
+ 45828 - 44032: 0xB4ED,
+ 45829 - 44032: 0x88AF,
+ 45830 - 44032: 0x88B0,
+ 45831 - 44032: 0x88B1,
+ 45832 - 44032: 0xB4EE,
+ 45833 - 44032: 0x88B2,
+ 45834 - 44032: 0x88B3,
+ 45835 - 44032: 0x88B4,
+ 45836 - 44032: 0x88B5,
+ 45837 - 44032: 0x88B6,
+ 45838 - 44032: 0x88B7,
+ 45839 - 44032: 0x88B8,
+ 45840 - 44032: 0xB4EF,
+ 45841 - 44032: 0xB4F0,
+ 45842 - 44032: 0x88B9,
+ 45843 - 44032: 0xB4F1,
+ 45844 - 44032: 0xB4F2,
+ 45845 - 44032: 0xB4F3,
+ 45846 - 44032: 0x88BA,
+ 45847 - 44032: 0x88BB,
+ 45848 - 44032: 0x88BC,
+ 45849 - 44032: 0x88BD,
+ 45850 - 44032: 0x88BE,
+ 45851 - 44032: 0x88BF,
+ 45852 - 44032: 0xB4F4,
+ 45853 - 44032: 0x88C0,
+ 45854 - 44032: 0x88C1,
+ 45855 - 44032: 0x88C2,
+ 45856 - 44032: 0x88C3,
+ 45857 - 44032: 0x88C4,
+ 45858 - 44032: 0x88C5,
+ 45859 - 44032: 0x88C6,
+ 45860 - 44032: 0x88C7,
+ 45861 - 44032: 0x88C8,
+ 45862 - 44032: 0x88C9,
+ 45863 - 44032: 0x88CA,
+ 45864 - 44032: 0x88CB,
+ 45865 - 44032: 0x88CC,
+ 45866 - 44032: 0x88CD,
+ 45867 - 44032: 0x88CE,
+ 45868 - 44032: 0x88CF,
+ 45869 - 44032: 0x88D0,
+ 45870 - 44032: 0x88D1,
+ 45871 - 44032: 0x88D2,
+ 45872 - 44032: 0x88D3,
+ 45873 - 44032: 0x88D4,
+ 45874 - 44032: 0x88D5,
+ 45875 - 44032: 0x88D6,
+ 45876 - 44032: 0x88D7,
+ 45877 - 44032: 0x88D8,
+ 45878 - 44032: 0x88D9,
+ 45879 - 44032: 0x88DA,
+ 45880 - 44032: 0x88DB,
+ 45881 - 44032: 0x88DC,
+ 45882 - 44032: 0x88DD,
+ 45883 - 44032: 0x88DE,
+ 45884 - 44032: 0x88DF,
+ 45885 - 44032: 0x88E0,
+ 45886 - 44032: 0x88E1,
+ 45887 - 44032: 0x88E2,
+ 45888 - 44032: 0x88E3,
+ 45889 - 44032: 0x88E4,
+ 45890 - 44032: 0x88E5,
+ 45891 - 44032: 0x88E6,
+ 45892 - 44032: 0x88E7,
+ 45893 - 44032: 0x88E8,
+ 45894 - 44032: 0x88E9,
+ 45895 - 44032: 0x88EA,
+ 45896 - 44032: 0x88EB,
+ 45897 - 44032: 0x88EC,
+ 45898 - 44032: 0x88ED,
+ 45899 - 44032: 0x88EE,
+ 45900 - 44032: 0x88EF,
+ 45901 - 44032: 0x88F0,
+ 45902 - 44032: 0x88F1,
+ 45903 - 44032: 0x88F2,
+ 45904 - 44032: 0x88F3,
+ 45905 - 44032: 0x88F4,
+ 45906 - 44032: 0x88F5,
+ 45907 - 44032: 0x88F6,
+ 45908 - 44032: 0xB4F5,
+ 45909 - 44032: 0xB4F6,
+ 45910 - 44032: 0xB4F7,
+ 45911 - 44032: 0x88F7,
+ 45912 - 44032: 0xB4F8,
+ 45913 - 44032: 0x88F8,
+ 45914 - 44032: 0x88F9,
+ 45915 - 44032: 0xB4F9,
+ 45916 - 44032: 0xB4FA,
+ 45917 - 44032: 0x88FA,
+ 45918 - 44032: 0xB4FB,
+ 45919 - 44032: 0xB4FC,
+ 45920 - 44032: 0x88FB,
+ 45921 - 44032: 0x88FC,
+ 45922 - 44032: 0x88FD,
+ 45923 - 44032: 0x88FE,
+ 45924 - 44032: 0xB4FD,
+ 45925 - 44032: 0xB4FE,
+ 45926 - 44032: 0x8941,
+ 45927 - 44032: 0xB5A1,
+ 45928 - 44032: 0x8942,
+ 45929 - 44032: 0xB5A2,
+ 45930 - 44032: 0x8943,
+ 45931 - 44032: 0xB5A3,
+ 45932 - 44032: 0x8944,
+ 45933 - 44032: 0x8945,
+ 45934 - 44032: 0xB5A4,
+ 45935 - 44032: 0x8946,
+ 45936 - 44032: 0xB5A5,
+ 45937 - 44032: 0xB5A6,
+ 45938 - 44032: 0x8947,
+ 45939 - 44032: 0x8948,
+ 45940 - 44032: 0xB5A7,
+ 45941 - 44032: 0x8949,
+ 45942 - 44032: 0x894A,
+ 45943 - 44032: 0x894B,
+ 45944 - 44032: 0xB5A8,
+ 45945 - 44032: 0x894C,
+ 45946 - 44032: 0x894D,
+ 45947 - 44032: 0x894E,
+ 45948 - 44032: 0x894F,
+ 45949 - 44032: 0x8950,
+ 45950 - 44032: 0x8951,
+ 45951 - 44032: 0x8952,
+ 45952 - 44032: 0xB5A9,
+ 45953 - 44032: 0xB5AA,
+ 45954 - 44032: 0x8953,
+ 45955 - 44032: 0xB5AB,
+ 45956 - 44032: 0xB5AC,
+ 45957 - 44032: 0xB5AD,
+ 45958 - 44032: 0x8954,
+ 45959 - 44032: 0x8955,
+ 45960 - 44032: 0x8956,
+ 45961 - 44032: 0x8957,
+ 45962 - 44032: 0x8958,
+ 45963 - 44032: 0x8959,
+ 45964 - 44032: 0xB5AE,
+ 45965 - 44032: 0x895A,
+ 45966 - 44032: 0x8961,
+ 45967 - 44032: 0x8962,
+ 45968 - 44032: 0xB5AF,
+ 45969 - 44032: 0x8963,
+ 45970 - 44032: 0x8964,
+ 45971 - 44032: 0x8965,
+ 45972 - 44032: 0xB5B0,
+ 45973 - 44032: 0x8966,
+ 45974 - 44032: 0x8967,
+ 45975 - 44032: 0x8968,
+ 45976 - 44032: 0x8969,
+ 45977 - 44032: 0x896A,
+ 45978 - 44032: 0x896B,
+ 45979 - 44032: 0x896C,
+ 45980 - 44032: 0x896D,
+ 45981 - 44032: 0x896E,
+ 45982 - 44032: 0x896F,
+ 45983 - 44032: 0x8970,
+ 45984 - 44032: 0xB5B1,
+ 45985 - 44032: 0xB5B2,
+ 45986 - 44032: 0x8971,
+ 45987 - 44032: 0x8972,
+ 45988 - 44032: 0x8973,
+ 45989 - 44032: 0x8974,
+ 45990 - 44032: 0x8975,
+ 45991 - 44032: 0x8976,
+ 45992 - 44032: 0xB5B3,
+ 45993 - 44032: 0x8977,
+ 45994 - 44032: 0x8978,
+ 45995 - 44032: 0x8979,
+ 45996 - 44032: 0xB5B4,
+ 45997 - 44032: 0x897A,
+ 45998 - 44032: 0x8981,
+ 45999 - 44032: 0x8982,
+ 46000 - 44032: 0x8983,
+ 46001 - 44032: 0x8984,
+ 46002 - 44032: 0x8985,
+ 46003 - 44032: 0x8986,
+ 46004 - 44032: 0x8987,
+ 46005 - 44032: 0x8988,
+ 46006 - 44032: 0x8989,
+ 46007 - 44032: 0x898A,
+ 46008 - 44032: 0x898B,
+ 46009 - 44032: 0x898C,
+ 46010 - 44032: 0x898D,
+ 46011 - 44032: 0x898E,
+ 46012 - 44032: 0x898F,
+ 46013 - 44032: 0x8990,
+ 46014 - 44032: 0x8991,
+ 46015 - 44032: 0x8992,
+ 46016 - 44032: 0x8993,
+ 46017 - 44032: 0x8994,
+ 46018 - 44032: 0x8995,
+ 46019 - 44032: 0x8996,
+ 46020 - 44032: 0xB5B5,
+ 46021 - 44032: 0xB5B6,
+ 46022 - 44032: 0x8997,
+ 46023 - 44032: 0x8998,
+ 46024 - 44032: 0xB5B7,
+ 46025 - 44032: 0x8999,
+ 46026 - 44032: 0x899A,
+ 46027 - 44032: 0xB5B8,
+ 46028 - 44032: 0xB5B9,
+ 46029 - 44032: 0x899B,
+ 46030 - 44032: 0xB5BA,
+ 46031 - 44032: 0x899C,
+ 46032 - 44032: 0xB5BB,
+ 46033 - 44032: 0x899D,
+ 46034 - 44032: 0x899E,
+ 46035 - 44032: 0x899F,
+ 46036 - 44032: 0xB5BC,
+ 46037 - 44032: 0xB5BD,
+ 46038 - 44032: 0x89A0,
+ 46039 - 44032: 0xB5BE,
+ 46040 - 44032: 0x89A1,
+ 46041 - 44032: 0xB5BF,
+ 46042 - 44032: 0x89A2,
+ 46043 - 44032: 0xB5C0,
+ 46044 - 44032: 0x89A3,
+ 46045 - 44032: 0xB5C1,
+ 46046 - 44032: 0x89A4,
+ 46047 - 44032: 0x89A5,
+ 46048 - 44032: 0xB5C2,
+ 46049 - 44032: 0x89A6,
+ 46050 - 44032: 0x89A7,
+ 46051 - 44032: 0x89A8,
+ 46052 - 44032: 0xB5C3,
+ 46053 - 44032: 0x89A9,
+ 46054 - 44032: 0x89AA,
+ 46055 - 44032: 0x89AB,
+ 46056 - 44032: 0xB5C4,
+ 46057 - 44032: 0x89AC,
+ 46058 - 44032: 0x89AD,
+ 46059 - 44032: 0x89AE,
+ 46060 - 44032: 0x89AF,
+ 46061 - 44032: 0x89B0,
+ 46062 - 44032: 0x89B1,
+ 46063 - 44032: 0x89B2,
+ 46064 - 44032: 0x89B3,
+ 46065 - 44032: 0x89B4,
+ 46066 - 44032: 0x89B5,
+ 46067 - 44032: 0x89B6,
+ 46068 - 44032: 0x89B7,
+ 46069 - 44032: 0x89B8,
+ 46070 - 44032: 0x89B9,
+ 46071 - 44032: 0x89BA,
+ 46072 - 44032: 0x89BB,
+ 46073 - 44032: 0x89BC,
+ 46074 - 44032: 0x89BD,
+ 46075 - 44032: 0x89BE,
+ 46076 - 44032: 0xB5C5,
+ 46077 - 44032: 0x89BF,
+ 46078 - 44032: 0x89C0,
+ 46079 - 44032: 0x89C1,
+ 46080 - 44032: 0x89C2,
+ 46081 - 44032: 0x89C3,
+ 46082 - 44032: 0x89C4,
+ 46083 - 44032: 0x89C5,
+ 46084 - 44032: 0x89C6,
+ 46085 - 44032: 0x89C7,
+ 46086 - 44032: 0x89C8,
+ 46087 - 44032: 0x89C9,
+ 46088 - 44032: 0x89CA,
+ 46089 - 44032: 0x89CB,
+ 46090 - 44032: 0x89CC,
+ 46091 - 44032: 0x89CD,
+ 46092 - 44032: 0x89CE,
+ 46093 - 44032: 0x89CF,
+ 46094 - 44032: 0x89D0,
+ 46095 - 44032: 0x89D1,
+ 46096 - 44032: 0xB5C6,
+ 46097 - 44032: 0x89D2,
+ 46098 - 44032: 0x89D3,
+ 46099 - 44032: 0x89D4,
+ 46100 - 44032: 0x89D5,
+ 46101 - 44032: 0x89D6,
+ 46102 - 44032: 0x89D7,
+ 46103 - 44032: 0x89D8,
+ 46104 - 44032: 0xB5C7,
+ 46105 - 44032: 0x89D9,
+ 46106 - 44032: 0x89DA,
+ 46107 - 44032: 0x89DB,
+ 46108 - 44032: 0xB5C8,
+ 46109 - 44032: 0x89DC,
+ 46110 - 44032: 0x89DD,
+ 46111 - 44032: 0x89DE,
+ 46112 - 44032: 0xB5C9,
+ 46113 - 44032: 0x89DF,
+ 46114 - 44032: 0x89E0,
+ 46115 - 44032: 0x89E1,
+ 46116 - 44032: 0x89E2,
+ 46117 - 44032: 0x89E3,
+ 46118 - 44032: 0x89E4,
+ 46119 - 44032: 0x89E5,
+ 46120 - 44032: 0xB5CA,
+ 46121 - 44032: 0xB5CB,
+ 46122 - 44032: 0x89E6,
+ 46123 - 44032: 0xB5CC,
+ 46124 - 44032: 0x89E7,
+ 46125 - 44032: 0x89E8,
+ 46126 - 44032: 0x89E9,
+ 46127 - 44032: 0x89EA,
+ 46128 - 44032: 0x89EB,
+ 46129 - 44032: 0x89EC,
+ 46130 - 44032: 0x89ED,
+ 46131 - 44032: 0x89EE,
+ 46132 - 44032: 0xB5CD,
+ 46133 - 44032: 0x89EF,
+ 46134 - 44032: 0x89F0,
+ 46135 - 44032: 0x89F1,
+ 46136 - 44032: 0x89F2,
+ 46137 - 44032: 0x89F3,
+ 46138 - 44032: 0x89F4,
+ 46139 - 44032: 0x89F5,
+ 46140 - 44032: 0x89F6,
+ 46141 - 44032: 0x89F7,
+ 46142 - 44032: 0x89F8,
+ 46143 - 44032: 0x89F9,
+ 46144 - 44032: 0x89FA,
+ 46145 - 44032: 0x89FB,
+ 46146 - 44032: 0x89FC,
+ 46147 - 44032: 0x89FD,
+ 46148 - 44032: 0x89FE,
+ 46149 - 44032: 0x8A41,
+ 46150 - 44032: 0x8A42,
+ 46151 - 44032: 0x8A43,
+ 46152 - 44032: 0x8A44,
+ 46153 - 44032: 0x8A45,
+ 46154 - 44032: 0x8A46,
+ 46155 - 44032: 0x8A47,
+ 46156 - 44032: 0x8A48,
+ 46157 - 44032: 0x8A49,
+ 46158 - 44032: 0x8A4A,
+ 46159 - 44032: 0x8A4B,
+ 46160 - 44032: 0xB5CE,
+ 46161 - 44032: 0xB5CF,
+ 46162 - 44032: 0x8A4C,
+ 46163 - 44032: 0x8A4D,
+ 46164 - 44032: 0xB5D0,
+ 46165 - 44032: 0x8A4E,
+ 46166 - 44032: 0x8A4F,
+ 46167 - 44032: 0x8A50,
+ 46168 - 44032: 0xB5D1,
+ 46169 - 44032: 0x8A51,
+ 46170 - 44032: 0x8A52,
+ 46171 - 44032: 0x8A53,
+ 46172 - 44032: 0x8A54,
+ 46173 - 44032: 0x8A55,
+ 46174 - 44032: 0x8A56,
+ 46175 - 44032: 0x8A57,
+ 46176 - 44032: 0xB5D2,
+ 46177 - 44032: 0xB5D3,
+ 46178 - 44032: 0x8A58,
+ 46179 - 44032: 0xB5D4,
+ 46180 - 44032: 0x8A59,
+ 46181 - 44032: 0xB5D5,
+ 46182 - 44032: 0x8A5A,
+ 46183 - 44032: 0x8A61,
+ 46184 - 44032: 0x8A62,
+ 46185 - 44032: 0x8A63,
+ 46186 - 44032: 0x8A64,
+ 46187 - 44032: 0x8A65,
+ 46188 - 44032: 0xB5D6,
+ 46189 - 44032: 0x8A66,
+ 46190 - 44032: 0x8A67,
+ 46191 - 44032: 0x8A68,
+ 46192 - 44032: 0x8A69,
+ 46193 - 44032: 0x8A6A,
+ 46194 - 44032: 0x8A6B,
+ 46195 - 44032: 0x8A6C,
+ 46196 - 44032: 0x8A6D,
+ 46197 - 44032: 0x8A6E,
+ 46198 - 44032: 0x8A6F,
+ 46199 - 44032: 0x8A70,
+ 46200 - 44032: 0x8A71,
+ 46201 - 44032: 0x8A72,
+ 46202 - 44032: 0x8A73,
+ 46203 - 44032: 0x8A74,
+ 46204 - 44032: 0x8A75,
+ 46205 - 44032: 0x8A76,
+ 46206 - 44032: 0x8A77,
+ 46207 - 44032: 0x8A78,
+ 46208 - 44032: 0xB5D7,
+ 46209 - 44032: 0x8A79,
+ 46210 - 44032: 0x8A7A,
+ 46211 - 44032: 0x8A81,
+ 46212 - 44032: 0x8A82,
+ 46213 - 44032: 0x8A83,
+ 46214 - 44032: 0x8A84,
+ 46215 - 44032: 0x8A85,
+ 46216 - 44032: 0xB5D8,
+ 46217 - 44032: 0x8A86,
+ 46218 - 44032: 0x8A87,
+ 46219 - 44032: 0x8A88,
+ 46220 - 44032: 0x8A89,
+ 46221 - 44032: 0x8A8A,
+ 46222 - 44032: 0x8A8B,
+ 46223 - 44032: 0x8A8C,
+ 46224 - 44032: 0x8A8D,
+ 46225 - 44032: 0x8A8E,
+ 46226 - 44032: 0x8A8F,
+ 46227 - 44032: 0x8A90,
+ 46228 - 44032: 0x8A91,
+ 46229 - 44032: 0x8A92,
+ 46230 - 44032: 0x8A93,
+ 46231 - 44032: 0x8A94,
+ 46232 - 44032: 0x8A95,
+ 46233 - 44032: 0x8A96,
+ 46234 - 44032: 0x8A97,
+ 46235 - 44032: 0x8A98,
+ 46236 - 44032: 0x8A99,
+ 46237 - 44032: 0xB5D9,
+ 46238 - 44032: 0x8A9A,
+ 46239 - 44032: 0x8A9B,
+ 46240 - 44032: 0x8A9C,
+ 46241 - 44032: 0x8A9D,
+ 46242 - 44032: 0x8A9E,
+ 46243 - 44032: 0x8A9F,
+ 46244 - 44032: 0xB5DA,
+ 46245 - 44032: 0x8AA0,
+ 46246 - 44032: 0x8AA1,
+ 46247 - 44032: 0x8AA2,
+ 46248 - 44032: 0xB5DB,
+ 46249 - 44032: 0x8AA3,
+ 46250 - 44032: 0x8AA4,
+ 46251 - 44032: 0x8AA5,
+ 46252 - 44032: 0xB5DC,
+ 46253 - 44032: 0x8AA6,
+ 46254 - 44032: 0x8AA7,
+ 46255 - 44032: 0x8AA8,
+ 46256 - 44032: 0x8AA9,
+ 46257 - 44032: 0x8AAA,
+ 46258 - 44032: 0x8AAB,
+ 46259 - 44032: 0x8AAC,
+ 46260 - 44032: 0x8AAD,
+ 46261 - 44032: 0xB5DD,
+ 46262 - 44032: 0x8AAE,
+ 46263 - 44032: 0xB5DE,
+ 46264 - 44032: 0x8AAF,
+ 46265 - 44032: 0xB5DF,
+ 46266 - 44032: 0x8AB0,
+ 46267 - 44032: 0x8AB1,
+ 46268 - 44032: 0x8AB2,
+ 46269 - 44032: 0x8AB3,
+ 46270 - 44032: 0x8AB4,
+ 46271 - 44032: 0x8AB5,
+ 46272 - 44032: 0xB5E0,
+ 46273 - 44032: 0x8AB6,
+ 46274 - 44032: 0x8AB7,
+ 46275 - 44032: 0x8AB8,
+ 46276 - 44032: 0xB5E1,
+ 46277 - 44032: 0x8AB9,
+ 46278 - 44032: 0x8ABA,
+ 46279 - 44032: 0x8ABB,
+ 46280 - 44032: 0xB5E2,
+ 46281 - 44032: 0x8ABC,
+ 46282 - 44032: 0x8ABD,
+ 46283 - 44032: 0x8ABE,
+ 46284 - 44032: 0x8ABF,
+ 46285 - 44032: 0x8AC0,
+ 46286 - 44032: 0x8AC1,
+ 46287 - 44032: 0x8AC2,
+ 46288 - 44032: 0xB5E3,
+ 46289 - 44032: 0x8AC3,
+ 46290 - 44032: 0x8AC4,
+ 46291 - 44032: 0x8AC5,
+ 46292 - 44032: 0x8AC6,
+ 46293 - 44032: 0xB5E4,
+ 46294 - 44032: 0x8AC7,
+ 46295 - 44032: 0x8AC8,
+ 46296 - 44032: 0x8AC9,
+ 46297 - 44032: 0x8ACA,
+ 46298 - 44032: 0x8ACB,
+ 46299 - 44032: 0x8ACC,
+ 46300 - 44032: 0xB5E5,
+ 46301 - 44032: 0xB5E6,
+ 46302 - 44032: 0x8ACD,
+ 46303 - 44032: 0x8ACE,
+ 46304 - 44032: 0xB5E7,
+ 46305 - 44032: 0x8ACF,
+ 46306 - 44032: 0x8AD0,
+ 46307 - 44032: 0xB5E8,
+ 46308 - 44032: 0xB5E9,
+ 46309 - 44032: 0x8AD1,
+ 46310 - 44032: 0xB5EA,
+ 46311 - 44032: 0x8AD2,
+ 46312 - 44032: 0x8AD3,
+ 46313 - 44032: 0x8AD4,
+ 46314 - 44032: 0x8AD5,
+ 46315 - 44032: 0x8AD6,
+ 46316 - 44032: 0xB5EB,
+ 46317 - 44032: 0xB5EC,
+ 46318 - 44032: 0x8AD7,
+ 46319 - 44032: 0xB5ED,
+ 46320 - 44032: 0x8AD8,
+ 46321 - 44032: 0xB5EE,
+ 46322 - 44032: 0x8AD9,
+ 46323 - 44032: 0x8ADA,
+ 46324 - 44032: 0x8ADB,
+ 46325 - 44032: 0x8ADC,
+ 46326 - 44032: 0x8ADD,
+ 46327 - 44032: 0x8ADE,
+ 46328 - 44032: 0xB5EF,
+ 46329 - 44032: 0x8ADF,
+ 46330 - 44032: 0x8AE0,
+ 46331 - 44032: 0x8AE1,
+ 46332 - 44032: 0x8AE2,
+ 46333 - 44032: 0x8AE3,
+ 46334 - 44032: 0x8AE4,
+ 46335 - 44032: 0x8AE5,
+ 46336 - 44032: 0x8AE6,
+ 46337 - 44032: 0x8AE7,
+ 46338 - 44032: 0x8AE8,
+ 46339 - 44032: 0x8AE9,
+ 46340 - 44032: 0x8AEA,
+ 46341 - 44032: 0x8AEB,
+ 46342 - 44032: 0x8AEC,
+ 46343 - 44032: 0x8AED,
+ 46344 - 44032: 0x8AEE,
+ 46345 - 44032: 0x8AEF,
+ 46346 - 44032: 0x8AF0,
+ 46347 - 44032: 0x8AF1,
+ 46348 - 44032: 0x8AF2,
+ 46349 - 44032: 0x8AF3,
+ 46350 - 44032: 0x8AF4,
+ 46351 - 44032: 0x8AF5,
+ 46352 - 44032: 0x8AF6,
+ 46353 - 44032: 0x8AF7,
+ 46354 - 44032: 0x8AF8,
+ 46355 - 44032: 0x8AF9,
+ 46356 - 44032: 0xB5F0,
+ 46357 - 44032: 0xB5F1,
+ 46358 - 44032: 0x8AFA,
+ 46359 - 44032: 0x8AFB,
+ 46360 - 44032: 0xB5F2,
+ 46361 - 44032: 0x8AFC,
+ 46362 - 44032: 0x8AFD,
+ 46363 - 44032: 0xB5F3,
+ 46364 - 44032: 0xB5F4,
+ 46365 - 44032: 0x8AFE,
+ 46366 - 44032: 0x8B41,
+ 46367 - 44032: 0x8B42,
+ 46368 - 44032: 0x8B43,
+ 46369 - 44032: 0x8B44,
+ 46370 - 44032: 0x8B45,
+ 46371 - 44032: 0x8B46,
+ 46372 - 44032: 0xB5F5,
+ 46373 - 44032: 0xB5F6,
+ 46374 - 44032: 0x8B47,
+ 46375 - 44032: 0xB5F7,
+ 46376 - 44032: 0xB5F8,
+ 46377 - 44032: 0xB5F9,
+ 46378 - 44032: 0xB5FA,
+ 46379 - 44032: 0x8B48,
+ 46380 - 44032: 0x8B49,
+ 46381 - 44032: 0x8B4A,
+ 46382 - 44032: 0x8B4B,
+ 46383 - 44032: 0x8B4C,
+ 46384 - 44032: 0xB5FB,
+ 46385 - 44032: 0xB5FC,
+ 46386 - 44032: 0x8B4D,
+ 46387 - 44032: 0x8B4E,
+ 46388 - 44032: 0xB5FD,
+ 46389 - 44032: 0x8B4F,
+ 46390 - 44032: 0x8B50,
+ 46391 - 44032: 0x8B51,
+ 46392 - 44032: 0xB5FE,
+ 46393 - 44032: 0x8B52,
+ 46394 - 44032: 0x8B53,
+ 46395 - 44032: 0x8B54,
+ 46396 - 44032: 0x8B55,
+ 46397 - 44032: 0x8B56,
+ 46398 - 44032: 0x8B57,
+ 46399 - 44032: 0x8B58,
+ 46400 - 44032: 0xB6A1,
+ 46401 - 44032: 0xB6A2,
+ 46402 - 44032: 0x8B59,
+ 46403 - 44032: 0xB6A3,
+ 46404 - 44032: 0xB6A4,
+ 46405 - 44032: 0xB6A5,
+ 46406 - 44032: 0x8B5A,
+ 46407 - 44032: 0x8B61,
+ 46408 - 44032: 0x8B62,
+ 46409 - 44032: 0x8B63,
+ 46410 - 44032: 0x8B64,
+ 46411 - 44032: 0xB6A6,
+ 46412 - 44032: 0xB6A7,
+ 46413 - 44032: 0xB6A8,
+ 46414 - 44032: 0x8B65,
+ 46415 - 44032: 0x8B66,
+ 46416 - 44032: 0xB6A9,
+ 46417 - 44032: 0x8B67,
+ 46418 - 44032: 0x8B68,
+ 46419 - 44032: 0x8B69,
+ 46420 - 44032: 0xB6AA,
+ 46421 - 44032: 0x8B6A,
+ 46422 - 44032: 0x8B6B,
+ 46423 - 44032: 0x8B6C,
+ 46424 - 44032: 0x8B6D,
+ 46425 - 44032: 0x8B6E,
+ 46426 - 44032: 0x8B6F,
+ 46427 - 44032: 0x8B70,
+ 46428 - 44032: 0xB6AB,
+ 46429 - 44032: 0xB6AC,
+ 46430 - 44032: 0x8B71,
+ 46431 - 44032: 0xB6AD,
+ 46432 - 44032: 0xB6AE,
+ 46433 - 44032: 0xB6AF,
+ 46434 - 44032: 0x8B72,
+ 46435 - 44032: 0x8B73,
+ 46436 - 44032: 0x8B74,
+ 46437 - 44032: 0x8B75,
+ 46438 - 44032: 0x8B76,
+ 46439 - 44032: 0x8B77,
+ 46440 - 44032: 0x8B78,
+ 46441 - 44032: 0x8B79,
+ 46442 - 44032: 0x8B7A,
+ 46443 - 44032: 0x8B81,
+ 46444 - 44032: 0x8B82,
+ 46445 - 44032: 0x8B83,
+ 46446 - 44032: 0x8B84,
+ 46447 - 44032: 0x8B85,
+ 46448 - 44032: 0x8B86,
+ 46449 - 44032: 0x8B87,
+ 46450 - 44032: 0x8B88,
+ 46451 - 44032: 0x8B89,
+ 46452 - 44032: 0x8B8A,
+ 46453 - 44032: 0x8B8B,
+ 46454 - 44032: 0x8B8C,
+ 46455 - 44032: 0x8B8D,
+ 46456 - 44032: 0x8B8E,
+ 46457 - 44032: 0x8B8F,
+ 46458 - 44032: 0x8B90,
+ 46459 - 44032: 0x8B91,
+ 46460 - 44032: 0x8B92,
+ 46461 - 44032: 0x8B93,
+ 46462 - 44032: 0x8B94,
+ 46463 - 44032: 0x8B95,
+ 46464 - 44032: 0x8B96,
+ 46465 - 44032: 0x8B97,
+ 46466 - 44032: 0x8B98,
+ 46467 - 44032: 0x8B99,
+ 46468 - 44032: 0x8B9A,
+ 46469 - 44032: 0x8B9B,
+ 46470 - 44032: 0x8B9C,
+ 46471 - 44032: 0x8B9D,
+ 46472 - 44032: 0x8B9E,
+ 46473 - 44032: 0x8B9F,
+ 46474 - 44032: 0x8BA0,
+ 46475 - 44032: 0x8BA1,
+ 46476 - 44032: 0x8BA2,
+ 46477 - 44032: 0x8BA3,
+ 46478 - 44032: 0x8BA4,
+ 46479 - 44032: 0x8BA5,
+ 46480 - 44032: 0x8BA6,
+ 46481 - 44032: 0x8BA7,
+ 46482 - 44032: 0x8BA8,
+ 46483 - 44032: 0x8BA9,
+ 46484 - 44032: 0x8BAA,
+ 46485 - 44032: 0x8BAB,
+ 46486 - 44032: 0x8BAC,
+ 46487 - 44032: 0x8BAD,
+ 46488 - 44032: 0x8BAE,
+ 46489 - 44032: 0x8BAF,
+ 46490 - 44032: 0x8BB0,
+ 46491 - 44032: 0x8BB1,
+ 46492 - 44032: 0x8BB2,
+ 46493 - 44032: 0x8BB3,
+ 46494 - 44032: 0x8BB4,
+ 46495 - 44032: 0x8BB5,
+ 46496 - 44032: 0xB6B0,
+ 46497 - 44032: 0xB6B1,
+ 46498 - 44032: 0x8BB6,
+ 46499 - 44032: 0x8BB7,
+ 46500 - 44032: 0xB6B2,
+ 46501 - 44032: 0x8BB8,
+ 46502 - 44032: 0x8BB9,
+ 46503 - 44032: 0x8BBA,
+ 46504 - 44032: 0xB6B3,
+ 46505 - 44032: 0x8BBB,
+ 46506 - 44032: 0xB6B4,
+ 46507 - 44032: 0xB6B5,
+ 46508 - 44032: 0x8BBC,
+ 46509 - 44032: 0x8BBD,
+ 46510 - 44032: 0x8BBE,
+ 46511 - 44032: 0x8BBF,
+ 46512 - 44032: 0xB6B6,
+ 46513 - 44032: 0xB6B7,
+ 46514 - 44032: 0x8BC0,
+ 46515 - 44032: 0xB6B8,
+ 46516 - 44032: 0xB6B9,
+ 46517 - 44032: 0xB6BA,
+ 46518 - 44032: 0x8BC1,
+ 46519 - 44032: 0x8BC2,
+ 46520 - 44032: 0x8BC3,
+ 46521 - 44032: 0x8BC4,
+ 46522 - 44032: 0x8BC5,
+ 46523 - 44032: 0xB6BB,
+ 46524 - 44032: 0xB6BC,
+ 46525 - 44032: 0xB6BD,
+ 46526 - 44032: 0x8BC6,
+ 46527 - 44032: 0x8BC7,
+ 46528 - 44032: 0xB6BE,
+ 46529 - 44032: 0x8BC8,
+ 46530 - 44032: 0x8BC9,
+ 46531 - 44032: 0x8BCA,
+ 46532 - 44032: 0xB6BF,
+ 46533 - 44032: 0x8BCB,
+ 46534 - 44032: 0x8BCC,
+ 46535 - 44032: 0x8BCD,
+ 46536 - 44032: 0x8BCE,
+ 46537 - 44032: 0x8BCF,
+ 46538 - 44032: 0x8BD0,
+ 46539 - 44032: 0x8BD1,
+ 46540 - 44032: 0xB6C0,
+ 46541 - 44032: 0xB6C1,
+ 46542 - 44032: 0x8BD2,
+ 46543 - 44032: 0xB6C2,
+ 46544 - 44032: 0xB6C3,
+ 46545 - 44032: 0xB6C4,
+ 46546 - 44032: 0x8BD3,
+ 46547 - 44032: 0x8BD4,
+ 46548 - 44032: 0x8BD5,
+ 46549 - 44032: 0x8BD6,
+ 46550 - 44032: 0x8BD7,
+ 46551 - 44032: 0x8BD8,
+ 46552 - 44032: 0xB6C5,
+ 46553 - 44032: 0x8BD9,
+ 46554 - 44032: 0x8BDA,
+ 46555 - 44032: 0x8BDB,
+ 46556 - 44032: 0x8BDC,
+ 46557 - 44032: 0x8BDD,
+ 46558 - 44032: 0x8BDE,
+ 46559 - 44032: 0x8BDF,
+ 46560 - 44032: 0x8BE0,
+ 46561 - 44032: 0x8BE1,
+ 46562 - 44032: 0x8BE2,
+ 46563 - 44032: 0x8BE3,
+ 46564 - 44032: 0x8BE4,
+ 46565 - 44032: 0x8BE5,
+ 46566 - 44032: 0x8BE6,
+ 46567 - 44032: 0x8BE7,
+ 46568 - 44032: 0x8BE8,
+ 46569 - 44032: 0x8BE9,
+ 46570 - 44032: 0x8BEA,
+ 46571 - 44032: 0x8BEB,
+ 46572 - 44032: 0xB6C6,
+ 46573 - 44032: 0x8BEC,
+ 46574 - 44032: 0x8BED,
+ 46575 - 44032: 0x8BEE,
+ 46576 - 44032: 0x8BEF,
+ 46577 - 44032: 0x8BF0,
+ 46578 - 44032: 0x8BF1,
+ 46579 - 44032: 0x8BF2,
+ 46580 - 44032: 0x8BF3,
+ 46581 - 44032: 0x8BF4,
+ 46582 - 44032: 0x8BF5,
+ 46583 - 44032: 0x8BF6,
+ 46584 - 44032: 0x8BF7,
+ 46585 - 44032: 0x8BF8,
+ 46586 - 44032: 0x8BF9,
+ 46587 - 44032: 0x8BFA,
+ 46588 - 44032: 0x8BFB,
+ 46589 - 44032: 0x8BFC,
+ 46590 - 44032: 0x8BFD,
+ 46591 - 44032: 0x8BFE,
+ 46592 - 44032: 0x8C41,
+ 46593 - 44032: 0x8C42,
+ 46594 - 44032: 0x8C43,
+ 46595 - 44032: 0x8C44,
+ 46596 - 44032: 0x8C45,
+ 46597 - 44032: 0x8C46,
+ 46598 - 44032: 0x8C47,
+ 46599 - 44032: 0x8C48,
+ 46600 - 44032: 0x8C49,
+ 46601 - 44032: 0x8C4A,
+ 46602 - 44032: 0x8C4B,
+ 46603 - 44032: 0x8C4C,
+ 46604 - 44032: 0x8C4D,
+ 46605 - 44032: 0x8C4E,
+ 46606 - 44032: 0x8C4F,
+ 46607 - 44032: 0x8C50,
+ 46608 - 44032: 0xB6C7,
+ 46609 - 44032: 0xB6C8,
+ 46610 - 44032: 0x8C51,
+ 46611 - 44032: 0x8C52,
+ 46612 - 44032: 0xB6C9,
+ 46613 - 44032: 0x8C53,
+ 46614 - 44032: 0x8C54,
+ 46615 - 44032: 0x8C55,
+ 46616 - 44032: 0xB6CA,
+ 46617 - 44032: 0x8C56,
+ 46618 - 44032: 0x8C57,
+ 46619 - 44032: 0x8C58,
+ 46620 - 44032: 0x8C59,
+ 46621 - 44032: 0x8C5A,
+ 46622 - 44032: 0x8C61,
+ 46623 - 44032: 0x8C62,
+ 46624 - 44032: 0x8C63,
+ 46625 - 44032: 0x8C64,
+ 46626 - 44032: 0x8C65,
+ 46627 - 44032: 0x8C66,
+ 46628 - 44032: 0x8C67,
+ 46629 - 44032: 0xB6CB,
+ 46630 - 44032: 0x8C68,
+ 46631 - 44032: 0x8C69,
+ 46632 - 44032: 0x8C6A,
+ 46633 - 44032: 0x8C6B,
+ 46634 - 44032: 0x8C6C,
+ 46635 - 44032: 0x8C6D,
+ 46636 - 44032: 0xB6CC,
+ 46637 - 44032: 0x8C6E,
+ 46638 - 44032: 0x8C6F,
+ 46639 - 44032: 0x8C70,
+ 46640 - 44032: 0x8C71,
+ 46641 - 44032: 0x8C72,
+ 46642 - 44032: 0x8C73,
+ 46643 - 44032: 0x8C74,
+ 46644 - 44032: 0xB6CD,
+ 46645 - 44032: 0x8C75,
+ 46646 - 44032: 0x8C76,
+ 46647 - 44032: 0x8C77,
+ 46648 - 44032: 0x8C78,
+ 46649 - 44032: 0x8C79,
+ 46650 - 44032: 0x8C7A,
+ 46651 - 44032: 0x8C81,
+ 46652 - 44032: 0x8C82,
+ 46653 - 44032: 0x8C83,
+ 46654 - 44032: 0x8C84,
+ 46655 - 44032: 0x8C85,
+ 46656 - 44032: 0x8C86,
+ 46657 - 44032: 0x8C87,
+ 46658 - 44032: 0x8C88,
+ 46659 - 44032: 0x8C89,
+ 46660 - 44032: 0x8C8A,
+ 46661 - 44032: 0x8C8B,
+ 46662 - 44032: 0x8C8C,
+ 46663 - 44032: 0x8C8D,
+ 46664 - 44032: 0xB6CE,
+ 46665 - 44032: 0x8C8E,
+ 46666 - 44032: 0x8C8F,
+ 46667 - 44032: 0x8C90,
+ 46668 - 44032: 0x8C91,
+ 46669 - 44032: 0x8C92,
+ 46670 - 44032: 0x8C93,
+ 46671 - 44032: 0x8C94,
+ 46672 - 44032: 0x8C95,
+ 46673 - 44032: 0x8C96,
+ 46674 - 44032: 0x8C97,
+ 46675 - 44032: 0x8C98,
+ 46676 - 44032: 0x8C99,
+ 46677 - 44032: 0x8C9A,
+ 46678 - 44032: 0x8C9B,
+ 46679 - 44032: 0x8C9C,
+ 46680 - 44032: 0x8C9D,
+ 46681 - 44032: 0x8C9E,
+ 46682 - 44032: 0x8C9F,
+ 46683 - 44032: 0x8CA0,
+ 46684 - 44032: 0x8CA1,
+ 46685 - 44032: 0x8CA2,
+ 46686 - 44032: 0x8CA3,
+ 46687 - 44032: 0x8CA4,
+ 46688 - 44032: 0x8CA5,
+ 46689 - 44032: 0x8CA6,
+ 46690 - 44032: 0x8CA7,
+ 46691 - 44032: 0x8CA8,
+ 46692 - 44032: 0xB6CF,
+ 46693 - 44032: 0x8CA9,
+ 46694 - 44032: 0x8CAA,
+ 46695 - 44032: 0x8CAB,
+ 46696 - 44032: 0xB6D0,
+ 46697 - 44032: 0x8CAC,
+ 46698 - 44032: 0x8CAD,
+ 46699 - 44032: 0x8CAE,
+ 46700 - 44032: 0x8CAF,
+ 46701 - 44032: 0x8CB0,
+ 46702 - 44032: 0x8CB1,
+ 46703 - 44032: 0x8CB2,
+ 46704 - 44032: 0x8CB3,
+ 46705 - 44032: 0x8CB4,
+ 46706 - 44032: 0x8CB5,
+ 46707 - 44032: 0x8CB6,
+ 46708 - 44032: 0x8CB7,
+ 46709 - 44032: 0x8CB8,
+ 46710 - 44032: 0x8CB9,
+ 46711 - 44032: 0x8CBA,
+ 46712 - 44032: 0x8CBB,
+ 46713 - 44032: 0x8CBC,
+ 46714 - 44032: 0x8CBD,
+ 46715 - 44032: 0x8CBE,
+ 46716 - 44032: 0x8CBF,
+ 46717 - 44032: 0x8CC0,
+ 46718 - 44032: 0x8CC1,
+ 46719 - 44032: 0x8CC2,
+ 46720 - 44032: 0x8CC3,
+ 46721 - 44032: 0x8CC4,
+ 46722 - 44032: 0x8CC5,
+ 46723 - 44032: 0x8CC6,
+ 46724 - 44032: 0x8CC7,
+ 46725 - 44032: 0x8CC8,
+ 46726 - 44032: 0x8CC9,
+ 46727 - 44032: 0x8CCA,
+ 46728 - 44032: 0x8CCB,
+ 46729 - 44032: 0x8CCC,
+ 46730 - 44032: 0x8CCD,
+ 46731 - 44032: 0x8CCE,
+ 46732 - 44032: 0x8CCF,
+ 46733 - 44032: 0x8CD0,
+ 46734 - 44032: 0x8CD1,
+ 46735 - 44032: 0x8CD2,
+ 46736 - 44032: 0x8CD3,
+ 46737 - 44032: 0x8CD4,
+ 46738 - 44032: 0x8CD5,
+ 46739 - 44032: 0x8CD6,
+ 46740 - 44032: 0x8CD7,
+ 46741 - 44032: 0x8CD8,
+ 46742 - 44032: 0x8CD9,
+ 46743 - 44032: 0x8CDA,
+ 46744 - 44032: 0x8CDB,
+ 46745 - 44032: 0x8CDC,
+ 46746 - 44032: 0x8CDD,
+ 46747 - 44032: 0x8CDE,
+ 46748 - 44032: 0xB6D1,
+ 46749 - 44032: 0xB6D2,
+ 46750 - 44032: 0x8CDF,
+ 46751 - 44032: 0x8CE0,
+ 46752 - 44032: 0xB6D3,
+ 46753 - 44032: 0x8CE1,
+ 46754 - 44032: 0x8CE2,
+ 46755 - 44032: 0x8CE3,
+ 46756 - 44032: 0xB6D4,
+ 46757 - 44032: 0x8CE4,
+ 46758 - 44032: 0x8CE5,
+ 46759 - 44032: 0x8CE6,
+ 46760 - 44032: 0x8CE7,
+ 46761 - 44032: 0x8CE8,
+ 46762 - 44032: 0x8CE9,
+ 46763 - 44032: 0xB6D5,
+ 46764 - 44032: 0xB6D6,
+ 46765 - 44032: 0x8CEA,
+ 46766 - 44032: 0x8CEB,
+ 46767 - 44032: 0x8CEC,
+ 46768 - 44032: 0x8CED,
+ 46769 - 44032: 0xB6D7,
+ 46770 - 44032: 0x8CEE,
+ 46771 - 44032: 0x8CEF,
+ 46772 - 44032: 0x8CF0,
+ 46773 - 44032: 0x8CF1,
+ 46774 - 44032: 0x8CF2,
+ 46775 - 44032: 0x8CF3,
+ 46776 - 44032: 0x8CF4,
+ 46777 - 44032: 0x8CF5,
+ 46778 - 44032: 0x8CF6,
+ 46779 - 44032: 0x8CF7,
+ 46780 - 44032: 0x8CF8,
+ 46781 - 44032: 0x8CF9,
+ 46782 - 44032: 0x8CFA,
+ 46783 - 44032: 0x8CFB,
+ 46784 - 44032: 0x8CFC,
+ 46785 - 44032: 0x8CFD,
+ 46786 - 44032: 0x8CFE,
+ 46787 - 44032: 0x8D41,
+ 46788 - 44032: 0x8D42,
+ 46789 - 44032: 0x8D43,
+ 46790 - 44032: 0x8D44,
+ 46791 - 44032: 0x8D45,
+ 46792 - 44032: 0x8D46,
+ 46793 - 44032: 0x8D47,
+ 46794 - 44032: 0x8D48,
+ 46795 - 44032: 0x8D49,
+ 46796 - 44032: 0x8D4A,
+ 46797 - 44032: 0x8D4B,
+ 46798 - 44032: 0x8D4C,
+ 46799 - 44032: 0x8D4D,
+ 46800 - 44032: 0x8D4E,
+ 46801 - 44032: 0x8D4F,
+ 46802 - 44032: 0x8D50,
+ 46803 - 44032: 0x8D51,
+ 46804 - 44032: 0xB6D8,
+ 46805 - 44032: 0x8D52,
+ 46806 - 44032: 0x8D53,
+ 46807 - 44032: 0x8D54,
+ 46808 - 44032: 0x8D55,
+ 46809 - 44032: 0x8D56,
+ 46810 - 44032: 0x8D57,
+ 46811 - 44032: 0x8D58,
+ 46812 - 44032: 0x8D59,
+ 46813 - 44032: 0x8D5A,
+ 46814 - 44032: 0x8D61,
+ 46815 - 44032: 0x8D62,
+ 46816 - 44032: 0x8D63,
+ 46817 - 44032: 0x8D64,
+ 46818 - 44032: 0x8D65,
+ 46819 - 44032: 0x8D66,
+ 46820 - 44032: 0x8D67,
+ 46821 - 44032: 0x8D68,
+ 46822 - 44032: 0x8D69,
+ 46823 - 44032: 0x8D6A,
+ 46824 - 44032: 0x8D6B,
+ 46825 - 44032: 0x8D6C,
+ 46826 - 44032: 0x8D6D,
+ 46827 - 44032: 0x8D6E,
+ 46828 - 44032: 0x8D6F,
+ 46829 - 44032: 0x8D70,
+ 46830 - 44032: 0x8D71,
+ 46831 - 44032: 0x8D72,
+ 46832 - 44032: 0xB6D9,
+ 46833 - 44032: 0x8D73,
+ 46834 - 44032: 0x8D74,
+ 46835 - 44032: 0x8D75,
+ 46836 - 44032: 0xB6DA,
+ 46837 - 44032: 0x8D76,
+ 46838 - 44032: 0x8D77,
+ 46839 - 44032: 0x8D78,
+ 46840 - 44032: 0xB6DB,
+ 46841 - 44032: 0x8D79,
+ 46842 - 44032: 0x8D7A,
+ 46843 - 44032: 0x8D81,
+ 46844 - 44032: 0x8D82,
+ 46845 - 44032: 0x8D83,
+ 46846 - 44032: 0x8D84,
+ 46847 - 44032: 0x8D85,
+ 46848 - 44032: 0xB6DC,
+ 46849 - 44032: 0xB6DD,
+ 46850 - 44032: 0x8D86,
+ 46851 - 44032: 0x8D87,
+ 46852 - 44032: 0x8D88,
+ 46853 - 44032: 0xB6DE,
+ 46854 - 44032: 0x8D89,
+ 46855 - 44032: 0x8D8A,
+ 46856 - 44032: 0x8D8B,
+ 46857 - 44032: 0x8D8C,
+ 46858 - 44032: 0x8D8D,
+ 46859 - 44032: 0x8D8E,
+ 46860 - 44032: 0x8D8F,
+ 46861 - 44032: 0x8D90,
+ 46862 - 44032: 0x8D91,
+ 46863 - 44032: 0x8D92,
+ 46864 - 44032: 0x8D93,
+ 46865 - 44032: 0x8D94,
+ 46866 - 44032: 0x8D95,
+ 46867 - 44032: 0x8D96,
+ 46868 - 44032: 0x8D97,
+ 46869 - 44032: 0x8D98,
+ 46870 - 44032: 0x8D99,
+ 46871 - 44032: 0x8D9A,
+ 46872 - 44032: 0x8D9B,
+ 46873 - 44032: 0x8D9C,
+ 46874 - 44032: 0x8D9D,
+ 46875 - 44032: 0x8D9E,
+ 46876 - 44032: 0x8D9F,
+ 46877 - 44032: 0x8DA0,
+ 46878 - 44032: 0x8DA1,
+ 46879 - 44032: 0x8DA2,
+ 46880 - 44032: 0x8DA3,
+ 46881 - 44032: 0x8DA4,
+ 46882 - 44032: 0x8DA5,
+ 46883 - 44032: 0x8DA6,
+ 46884 - 44032: 0x8DA7,
+ 46885 - 44032: 0x8DA8,
+ 46886 - 44032: 0x8DA9,
+ 46887 - 44032: 0x8DAA,
+ 46888 - 44032: 0xB6DF,
+ 46889 - 44032: 0xB6E0,
+ 46890 - 44032: 0x8DAB,
+ 46891 - 44032: 0x8DAC,
+ 46892 - 44032: 0xB6E1,
+ 46893 - 44032: 0x8DAD,
+ 46894 - 44032: 0x8DAE,
+ 46895 - 44032: 0xB6E2,
+ 46896 - 44032: 0xB6E3,
+ 46897 - 44032: 0x8DAF,
+ 46898 - 44032: 0x8DB0,
+ 46899 - 44032: 0x8DB1,
+ 46900 - 44032: 0x8DB2,
+ 46901 - 44032: 0x8DB3,
+ 46902 - 44032: 0x8DB4,
+ 46903 - 44032: 0x8DB5,
+ 46904 - 44032: 0xB6E4,
+ 46905 - 44032: 0xB6E5,
+ 46906 - 44032: 0x8DB6,
+ 46907 - 44032: 0xB6E6,
+ 46908 - 44032: 0x8DB7,
+ 46909 - 44032: 0x8DB8,
+ 46910 - 44032: 0x8DB9,
+ 46911 - 44032: 0x8DBA,
+ 46912 - 44032: 0x8DBB,
+ 46913 - 44032: 0x8DBC,
+ 46914 - 44032: 0x8DBD,
+ 46915 - 44032: 0x8DBE,
+ 46916 - 44032: 0xB6E7,
+ 46917 - 44032: 0x8DBF,
+ 46918 - 44032: 0x8DC0,
+ 46919 - 44032: 0x8DC1,
+ 46920 - 44032: 0xB6E8,
+ 46921 - 44032: 0x8DC2,
+ 46922 - 44032: 0x8DC3,
+ 46923 - 44032: 0x8DC4,
+ 46924 - 44032: 0xB6E9,
+ 46925 - 44032: 0x8DC5,
+ 46926 - 44032: 0x8DC6,
+ 46927 - 44032: 0x8DC7,
+ 46928 - 44032: 0x8DC8,
+ 46929 - 44032: 0x8DC9,
+ 46930 - 44032: 0x8DCA,
+ 46931 - 44032: 0x8DCB,
+ 46932 - 44032: 0xB6EA,
+ 46933 - 44032: 0xB6EB,
+ 46934 - 44032: 0x8DCC,
+ 46935 - 44032: 0x8DCD,
+ 46936 - 44032: 0x8DCE,
+ 46937 - 44032: 0x8DCF,
+ 46938 - 44032: 0x8DD0,
+ 46939 - 44032: 0x8DD1,
+ 46940 - 44032: 0x8DD2,
+ 46941 - 44032: 0x8DD3,
+ 46942 - 44032: 0x8DD4,
+ 46943 - 44032: 0x8DD5,
+ 46944 - 44032: 0xB6EC,
+ 46945 - 44032: 0x8DD6,
+ 46946 - 44032: 0x8DD7,
+ 46947 - 44032: 0x8DD8,
+ 46948 - 44032: 0xB6ED,
+ 46949 - 44032: 0x8DD9,
+ 46950 - 44032: 0x8DDA,
+ 46951 - 44032: 0x8DDB,
+ 46952 - 44032: 0xB6EE,
+ 46953 - 44032: 0x8DDC,
+ 46954 - 44032: 0x8DDD,
+ 46955 - 44032: 0x8DDE,
+ 46956 - 44032: 0x8DDF,
+ 46957 - 44032: 0x8DE0,
+ 46958 - 44032: 0x8DE1,
+ 46959 - 44032: 0x8DE2,
+ 46960 - 44032: 0xB6EF,
+ 46961 - 44032: 0xB6F0,
+ 46962 - 44032: 0x8DE3,
+ 46963 - 44032: 0xB6F1,
+ 46964 - 44032: 0x8DE4,
+ 46965 - 44032: 0xB6F2,
+ 46966 - 44032: 0x8DE5,
+ 46967 - 44032: 0x8DE6,
+ 46968 - 44032: 0x8DE7,
+ 46969 - 44032: 0x8DE8,
+ 46970 - 44032: 0x8DE9,
+ 46971 - 44032: 0x8DEA,
+ 46972 - 44032: 0xB6F3,
+ 46973 - 44032: 0xB6F4,
+ 46974 - 44032: 0x8DEB,
+ 46975 - 44032: 0x8DEC,
+ 46976 - 44032: 0xB6F5,
+ 46977 - 44032: 0x8DED,
+ 46978 - 44032: 0x8DEE,
+ 46979 - 44032: 0x8DEF,
+ 46980 - 44032: 0xB6F6,
+ 46981 - 44032: 0x8DF0,
+ 46982 - 44032: 0x8DF1,
+ 46983 - 44032: 0x8DF2,
+ 46984 - 44032: 0x8DF3,
+ 46985 - 44032: 0x8DF4,
+ 46986 - 44032: 0x8DF5,
+ 46987 - 44032: 0x8DF6,
+ 46988 - 44032: 0xB6F7,
+ 46989 - 44032: 0xB6F8,
+ 46990 - 44032: 0x8DF7,
+ 46991 - 44032: 0xB6F9,
+ 46992 - 44032: 0xB6FA,
+ 46993 - 44032: 0xB6FB,
+ 46994 - 44032: 0xB6FC,
+ 46995 - 44032: 0x8DF8,
+ 46996 - 44032: 0x8DF9,
+ 46997 - 44032: 0x8DFA,
+ 46998 - 44032: 0xB6FD,
+ 46999 - 44032: 0xB6FE,
+ 47000 - 44032: 0xB7A1,
+ 47001 - 44032: 0xB7A2,
+ 47002 - 44032: 0x8DFB,
+ 47003 - 44032: 0x8DFC,
+ 47004 - 44032: 0xB7A3,
+ 47005 - 44032: 0x8DFD,
+ 47006 - 44032: 0x8DFE,
+ 47007 - 44032: 0x8E41,
+ 47008 - 44032: 0xB7A4,
+ 47009 - 44032: 0x8E42,
+ 47010 - 44032: 0x8E43,
+ 47011 - 44032: 0x8E44,
+ 47012 - 44032: 0x8E45,
+ 47013 - 44032: 0x8E46,
+ 47014 - 44032: 0x8E47,
+ 47015 - 44032: 0x8E48,
+ 47016 - 44032: 0xB7A5,
+ 47017 - 44032: 0xB7A6,
+ 47018 - 44032: 0x8E49,
+ 47019 - 44032: 0xB7A7,
+ 47020 - 44032: 0xB7A8,
+ 47021 - 44032: 0xB7A9,
+ 47022 - 44032: 0x8E4A,
+ 47023 - 44032: 0x8E4B,
+ 47024 - 44032: 0x8E4C,
+ 47025 - 44032: 0x8E4D,
+ 47026 - 44032: 0x8E4E,
+ 47027 - 44032: 0x8E4F,
+ 47028 - 44032: 0xB7AA,
+ 47029 - 44032: 0xB7AB,
+ 47030 - 44032: 0x8E50,
+ 47031 - 44032: 0x8E51,
+ 47032 - 44032: 0xB7AC,
+ 47033 - 44032: 0x8E52,
+ 47034 - 44032: 0x8E53,
+ 47035 - 44032: 0x8E54,
+ 47036 - 44032: 0x8E55,
+ 47037 - 44032: 0x8E56,
+ 47038 - 44032: 0x8E57,
+ 47039 - 44032: 0x8E58,
+ 47040 - 44032: 0x8E59,
+ 47041 - 44032: 0x8E5A,
+ 47042 - 44032: 0x8E61,
+ 47043 - 44032: 0x8E62,
+ 47044 - 44032: 0x8E63,
+ 47045 - 44032: 0x8E64,
+ 47046 - 44032: 0x8E65,
+ 47047 - 44032: 0xB7AD,
+ 47048 - 44032: 0x8E66,
+ 47049 - 44032: 0xB7AE,
+ 47050 - 44032: 0x8E67,
+ 47051 - 44032: 0x8E68,
+ 47052 - 44032: 0x8E69,
+ 47053 - 44032: 0x8E6A,
+ 47054 - 44032: 0x8E6B,
+ 47055 - 44032: 0x8E6C,
+ 47056 - 44032: 0x8E6D,
+ 47057 - 44032: 0x8E6E,
+ 47058 - 44032: 0x8E6F,
+ 47059 - 44032: 0x8E70,
+ 47060 - 44032: 0x8E71,
+ 47061 - 44032: 0x8E72,
+ 47062 - 44032: 0x8E73,
+ 47063 - 44032: 0x8E74,
+ 47064 - 44032: 0x8E75,
+ 47065 - 44032: 0x8E76,
+ 47066 - 44032: 0x8E77,
+ 47067 - 44032: 0x8E78,
+ 47068 - 44032: 0x8E79,
+ 47069 - 44032: 0x8E7A,
+ 47070 - 44032: 0x8E81,
+ 47071 - 44032: 0x8E82,
+ 47072 - 44032: 0x8E83,
+ 47073 - 44032: 0x8E84,
+ 47074 - 44032: 0x8E85,
+ 47075 - 44032: 0x8E86,
+ 47076 - 44032: 0x8E87,
+ 47077 - 44032: 0x8E88,
+ 47078 - 44032: 0x8E89,
+ 47079 - 44032: 0x8E8A,
+ 47080 - 44032: 0x8E8B,
+ 47081 - 44032: 0x8E8C,
+ 47082 - 44032: 0x8E8D,
+ 47083 - 44032: 0x8E8E,
+ 47084 - 44032: 0xB7AF,
+ 47085 - 44032: 0xB7B0,
+ 47086 - 44032: 0x8E8F,
+ 47087 - 44032: 0x8E90,
+ 47088 - 44032: 0xB7B1,
+ 47089 - 44032: 0x8E91,
+ 47090 - 44032: 0x8E92,
+ 47091 - 44032: 0x8E93,
+ 47092 - 44032: 0xB7B2,
+ 47093 - 44032: 0x8E94,
+ 47094 - 44032: 0x8E95,
+ 47095 - 44032: 0x8E96,
+ 47096 - 44032: 0x8E97,
+ 47097 - 44032: 0x8E98,
+ 47098 - 44032: 0x8E99,
+ 47099 - 44032: 0x8E9A,
+ 47100 - 44032: 0xB7B3,
+ 47101 - 44032: 0xB7B4,
+ 47102 - 44032: 0x8E9B,
+ 47103 - 44032: 0xB7B5,
+ 47104 - 44032: 0xB7B6,
+ 47105 - 44032: 0xB7B7,
+ 47106 - 44032: 0x8E9C,
+ 47107 - 44032: 0x8E9D,
+ 47108 - 44032: 0x8E9E,
+ 47109 - 44032: 0x8E9F,
+ 47110 - 44032: 0x8EA0,
+ 47111 - 44032: 0xB7B8,
+ 47112 - 44032: 0xB7B9,
+ 47113 - 44032: 0xB7BA,
+ 47114 - 44032: 0x8EA1,
+ 47115 - 44032: 0x8EA2,
+ 47116 - 44032: 0xB7BB,
+ 47117 - 44032: 0x8EA3,
+ 47118 - 44032: 0x8EA4,
+ 47119 - 44032: 0x8EA5,
+ 47120 - 44032: 0xB7BC,
+ 47121 - 44032: 0x8EA6,
+ 47122 - 44032: 0x8EA7,
+ 47123 - 44032: 0x8EA8,
+ 47124 - 44032: 0x8EA9,
+ 47125 - 44032: 0x8EAA,
+ 47126 - 44032: 0x8EAB,
+ 47127 - 44032: 0x8EAC,
+ 47128 - 44032: 0xB7BD,
+ 47129 - 44032: 0xB7BE,
+ 47130 - 44032: 0x8EAD,
+ 47131 - 44032: 0xB7BF,
+ 47132 - 44032: 0x8EAE,
+ 47133 - 44032: 0xB7C0,
+ 47134 - 44032: 0x8EAF,
+ 47135 - 44032: 0x8EB0,
+ 47136 - 44032: 0x8EB1,
+ 47137 - 44032: 0x8EB2,
+ 47138 - 44032: 0x8EB3,
+ 47139 - 44032: 0x8EB4,
+ 47140 - 44032: 0xB7C1,
+ 47141 - 44032: 0xB7C2,
+ 47142 - 44032: 0x8EB5,
+ 47143 - 44032: 0x8EB6,
+ 47144 - 44032: 0xB7C3,
+ 47145 - 44032: 0x8EB7,
+ 47146 - 44032: 0x8EB8,
+ 47147 - 44032: 0x8EB9,
+ 47148 - 44032: 0xB7C4,
+ 47149 - 44032: 0x8EBA,
+ 47150 - 44032: 0x8EBB,
+ 47151 - 44032: 0x8EBC,
+ 47152 - 44032: 0x8EBD,
+ 47153 - 44032: 0x8EBE,
+ 47154 - 44032: 0x8EBF,
+ 47155 - 44032: 0x8EC0,
+ 47156 - 44032: 0xB7C5,
+ 47157 - 44032: 0xB7C6,
+ 47158 - 44032: 0x8EC1,
+ 47159 - 44032: 0xB7C7,
+ 47160 - 44032: 0xB7C8,
+ 47161 - 44032: 0xB7C9,
+ 47162 - 44032: 0x8EC2,
+ 47163 - 44032: 0x8EC3,
+ 47164 - 44032: 0x8EC4,
+ 47165 - 44032: 0x8EC5,
+ 47166 - 44032: 0x8EC6,
+ 47167 - 44032: 0x8EC7,
+ 47168 - 44032: 0xB7CA,
+ 47169 - 44032: 0x8EC8,
+ 47170 - 44032: 0x8EC9,
+ 47171 - 44032: 0x8ECA,
+ 47172 - 44032: 0xB7CB,
+ 47173 - 44032: 0x8ECB,
+ 47174 - 44032: 0x8ECC,
+ 47175 - 44032: 0x8ECD,
+ 47176 - 44032: 0x8ECE,
+ 47177 - 44032: 0x8ECF,
+ 47178 - 44032: 0x8ED0,
+ 47179 - 44032: 0x8ED1,
+ 47180 - 44032: 0x8ED2,
+ 47181 - 44032: 0x8ED3,
+ 47182 - 44032: 0x8ED4,
+ 47183 - 44032: 0x8ED5,
+ 47184 - 44032: 0x8ED6,
+ 47185 - 44032: 0xB7CC,
+ 47186 - 44032: 0x8ED7,
+ 47187 - 44032: 0xB7CD,
+ 47188 - 44032: 0x8ED8,
+ 47189 - 44032: 0x8ED9,
+ 47190 - 44032: 0x8EDA,
+ 47191 - 44032: 0x8EDB,
+ 47192 - 44032: 0x8EDC,
+ 47193 - 44032: 0x8EDD,
+ 47194 - 44032: 0x8EDE,
+ 47195 - 44032: 0x8EDF,
+ 47196 - 44032: 0xB7CE,
+ 47197 - 44032: 0xB7CF,
+ 47198 - 44032: 0x8EE0,
+ 47199 - 44032: 0x8EE1,
+ 47200 - 44032: 0xB7D0,
+ 47201 - 44032: 0x8EE2,
+ 47202 - 44032: 0x8EE3,
+ 47203 - 44032: 0x8EE4,
+ 47204 - 44032: 0xB7D1,
+ 47205 - 44032: 0x8EE5,
+ 47206 - 44032: 0x8EE6,
+ 47207 - 44032: 0x8EE7,
+ 47208 - 44032: 0x8EE8,
+ 47209 - 44032: 0x8EE9,
+ 47210 - 44032: 0x8EEA,
+ 47211 - 44032: 0x8EEB,
+ 47212 - 44032: 0xB7D2,
+ 47213 - 44032: 0xB7D3,
+ 47214 - 44032: 0x8EEC,
+ 47215 - 44032: 0xB7D4,
+ 47216 - 44032: 0x8EED,
+ 47217 - 44032: 0xB7D5,
+ 47218 - 44032: 0x8EEE,
+ 47219 - 44032: 0x8EEF,
+ 47220 - 44032: 0x8EF0,
+ 47221 - 44032: 0x8EF1,
+ 47222 - 44032: 0x8EF2,
+ 47223 - 44032: 0x8EF3,
+ 47224 - 44032: 0xB7D6,
+ 47225 - 44032: 0x8EF4,
+ 47226 - 44032: 0x8EF5,
+ 47227 - 44032: 0x8EF6,
+ 47228 - 44032: 0xB7D7,
+ 47229 - 44032: 0x8EF7,
+ 47230 - 44032: 0x8EF8,
+ 47231 - 44032: 0x8EF9,
+ 47232 - 44032: 0x8EFA,
+ 47233 - 44032: 0x8EFB,
+ 47234 - 44032: 0x8EFC,
+ 47235 - 44032: 0x8EFD,
+ 47236 - 44032: 0x8EFE,
+ 47237 - 44032: 0x8F41,
+ 47238 - 44032: 0x8F42,
+ 47239 - 44032: 0x8F43,
+ 47240 - 44032: 0x8F44,
+ 47241 - 44032: 0x8F45,
+ 47242 - 44032: 0x8F46,
+ 47243 - 44032: 0x8F47,
+ 47244 - 44032: 0x8F48,
+ 47245 - 44032: 0xB7D8,
+ 47246 - 44032: 0x8F49,
+ 47247 - 44032: 0x8F4A,
+ 47248 - 44032: 0x8F4B,
+ 47249 - 44032: 0x8F4C,
+ 47250 - 44032: 0x8F4D,
+ 47251 - 44032: 0x8F4E,
+ 47252 - 44032: 0x8F4F,
+ 47253 - 44032: 0x8F50,
+ 47254 - 44032: 0x8F51,
+ 47255 - 44032: 0x8F52,
+ 47256 - 44032: 0x8F53,
+ 47257 - 44032: 0x8F54,
+ 47258 - 44032: 0x8F55,
+ 47259 - 44032: 0x8F56,
+ 47260 - 44032: 0x8F57,
+ 47261 - 44032: 0x8F58,
+ 47262 - 44032: 0x8F59,
+ 47263 - 44032: 0x8F5A,
+ 47264 - 44032: 0x8F61,
+ 47265 - 44032: 0x8F62,
+ 47266 - 44032: 0x8F63,
+ 47267 - 44032: 0x8F64,
+ 47268 - 44032: 0x8F65,
+ 47269 - 44032: 0x8F66,
+ 47270 - 44032: 0x8F67,
+ 47271 - 44032: 0x8F68,
+ 47272 - 44032: 0xB7D9,
+ 47273 - 44032: 0x8F69,
+ 47274 - 44032: 0x8F6A,
+ 47275 - 44032: 0x8F6B,
+ 47276 - 44032: 0x8F6C,
+ 47277 - 44032: 0x8F6D,
+ 47278 - 44032: 0x8F6E,
+ 47279 - 44032: 0x8F6F,
+ 47280 - 44032: 0xB7DA,
+ 47281 - 44032: 0x8F70,
+ 47282 - 44032: 0x8F71,
+ 47283 - 44032: 0x8F72,
+ 47284 - 44032: 0xB7DB,
+ 47285 - 44032: 0x8F73,
+ 47286 - 44032: 0x8F74,
+ 47287 - 44032: 0x8F75,
+ 47288 - 44032: 0xB7DC,
+ 47289 - 44032: 0x8F76,
+ 47290 - 44032: 0x8F77,
+ 47291 - 44032: 0x8F78,
+ 47292 - 44032: 0x8F79,
+ 47293 - 44032: 0x8F7A,
+ 47294 - 44032: 0x8F81,
+ 47295 - 44032: 0x8F82,
+ 47296 - 44032: 0xB7DD,
+ 47297 - 44032: 0xB7DE,
+ 47298 - 44032: 0x8F83,
+ 47299 - 44032: 0xB7DF,
+ 47300 - 44032: 0x8F84,
+ 47301 - 44032: 0xB7E0,
+ 47302 - 44032: 0x8F85,
+ 47303 - 44032: 0x8F86,
+ 47304 - 44032: 0x8F87,
+ 47305 - 44032: 0x8F88,
+ 47306 - 44032: 0x8F89,
+ 47307 - 44032: 0x8F8A,
+ 47308 - 44032: 0xB7E1,
+ 47309 - 44032: 0x8F8B,
+ 47310 - 44032: 0x8F8C,
+ 47311 - 44032: 0x8F8D,
+ 47312 - 44032: 0xB7E2,
+ 47313 - 44032: 0x8F8E,
+ 47314 - 44032: 0x8F8F,
+ 47315 - 44032: 0x8F90,
+ 47316 - 44032: 0xB7E3,
+ 47317 - 44032: 0x8F91,
+ 47318 - 44032: 0x8F92,
+ 47319 - 44032: 0x8F93,
+ 47320 - 44032: 0x8F94,
+ 47321 - 44032: 0x8F95,
+ 47322 - 44032: 0x8F96,
+ 47323 - 44032: 0x8F97,
+ 47324 - 44032: 0x8F98,
+ 47325 - 44032: 0xB7E4,
+ 47326 - 44032: 0x8F99,
+ 47327 - 44032: 0xB7E5,
+ 47328 - 44032: 0x8F9A,
+ 47329 - 44032: 0xB7E6,
+ 47330 - 44032: 0x8F9B,
+ 47331 - 44032: 0x8F9C,
+ 47332 - 44032: 0x8F9D,
+ 47333 - 44032: 0x8F9E,
+ 47334 - 44032: 0x8F9F,
+ 47335 - 44032: 0x8FA0,
+ 47336 - 44032: 0xB7E7,
+ 47337 - 44032: 0xB7E8,
+ 47338 - 44032: 0x8FA1,
+ 47339 - 44032: 0x8FA2,
+ 47340 - 44032: 0xB7E9,
+ 47341 - 44032: 0x8FA3,
+ 47342 - 44032: 0x8FA4,
+ 47343 - 44032: 0x8FA5,
+ 47344 - 44032: 0xB7EA,
+ 47345 - 44032: 0x8FA6,
+ 47346 - 44032: 0x8FA7,
+ 47347 - 44032: 0x8FA8,
+ 47348 - 44032: 0x8FA9,
+ 47349 - 44032: 0x8FAA,
+ 47350 - 44032: 0x8FAB,
+ 47351 - 44032: 0x8FAC,
+ 47352 - 44032: 0xB7EB,
+ 47353 - 44032: 0xB7EC,
+ 47354 - 44032: 0x8FAD,
+ 47355 - 44032: 0xB7ED,
+ 47356 - 44032: 0x8FAE,
+ 47357 - 44032: 0xB7EE,
+ 47358 - 44032: 0x8FAF,
+ 47359 - 44032: 0x8FB0,
+ 47360 - 44032: 0x8FB1,
+ 47361 - 44032: 0x8FB2,
+ 47362 - 44032: 0x8FB3,
+ 47363 - 44032: 0x8FB4,
+ 47364 - 44032: 0xB7EF,
+ 47365 - 44032: 0x8FB5,
+ 47366 - 44032: 0x8FB6,
+ 47367 - 44032: 0x8FB7,
+ 47368 - 44032: 0x8FB8,
+ 47369 - 44032: 0x8FB9,
+ 47370 - 44032: 0x8FBA,
+ 47371 - 44032: 0x8FBB,
+ 47372 - 44032: 0x8FBC,
+ 47373 - 44032: 0x8FBD,
+ 47374 - 44032: 0x8FBE,
+ 47375 - 44032: 0x8FBF,
+ 47376 - 44032: 0x8FC0,
+ 47377 - 44032: 0x8FC1,
+ 47378 - 44032: 0x8FC2,
+ 47379 - 44032: 0x8FC3,
+ 47380 - 44032: 0x8FC4,
+ 47381 - 44032: 0x8FC5,
+ 47382 - 44032: 0x8FC6,
+ 47383 - 44032: 0x8FC7,
+ 47384 - 44032: 0xB7F0,
+ 47385 - 44032: 0x8FC8,
+ 47386 - 44032: 0x8FC9,
+ 47387 - 44032: 0x8FCA,
+ 47388 - 44032: 0x8FCB,
+ 47389 - 44032: 0x8FCC,
+ 47390 - 44032: 0x8FCD,
+ 47391 - 44032: 0x8FCE,
+ 47392 - 44032: 0xB7F1,
+ 47393 - 44032: 0x8FCF,
+ 47394 - 44032: 0x8FD0,
+ 47395 - 44032: 0x8FD1,
+ 47396 - 44032: 0x8FD2,
+ 47397 - 44032: 0x8FD3,
+ 47398 - 44032: 0x8FD4,
+ 47399 - 44032: 0x8FD5,
+ 47400 - 44032: 0x8FD6,
+ 47401 - 44032: 0x8FD7,
+ 47402 - 44032: 0x8FD8,
+ 47403 - 44032: 0x8FD9,
+ 47404 - 44032: 0x8FDA,
+ 47405 - 44032: 0x8FDB,
+ 47406 - 44032: 0x8FDC,
+ 47407 - 44032: 0x8FDD,
+ 47408 - 44032: 0x8FDE,
+ 47409 - 44032: 0x8FDF,
+ 47410 - 44032: 0x8FE0,
+ 47411 - 44032: 0x8FE1,
+ 47412 - 44032: 0x8FE2,
+ 47413 - 44032: 0x8FE3,
+ 47414 - 44032: 0x8FE4,
+ 47415 - 44032: 0x8FE5,
+ 47416 - 44032: 0x8FE6,
+ 47417 - 44032: 0x8FE7,
+ 47418 - 44032: 0x8FE8,
+ 47419 - 44032: 0x8FE9,
+ 47420 - 44032: 0xB7F2,
+ 47421 - 44032: 0xB7F3,
+ 47422 - 44032: 0x8FEA,
+ 47423 - 44032: 0x8FEB,
+ 47424 - 44032: 0xB7F4,
+ 47425 - 44032: 0x8FEC,
+ 47426 - 44032: 0x8FED,
+ 47427 - 44032: 0x8FEE,
+ 47428 - 44032: 0xB7F5,
+ 47429 - 44032: 0x8FEF,
+ 47430 - 44032: 0x8FF0,
+ 47431 - 44032: 0x8FF1,
+ 47432 - 44032: 0x8FF2,
+ 47433 - 44032: 0x8FF3,
+ 47434 - 44032: 0x8FF4,
+ 47435 - 44032: 0x8FF5,
+ 47436 - 44032: 0xB7F6,
+ 47437 - 44032: 0x8FF6,
+ 47438 - 44032: 0x8FF7,
+ 47439 - 44032: 0xB7F7,
+ 47440 - 44032: 0x8FF8,
+ 47441 - 44032: 0xB7F8,
+ 47442 - 44032: 0x8FF9,
+ 47443 - 44032: 0x8FFA,
+ 47444 - 44032: 0x8FFB,
+ 47445 - 44032: 0x8FFC,
+ 47446 - 44032: 0x8FFD,
+ 47447 - 44032: 0x8FFE,
+ 47448 - 44032: 0xB7F9,
+ 47449 - 44032: 0xB7FA,
+ 47450 - 44032: 0x9041,
+ 47451 - 44032: 0x9042,
+ 47452 - 44032: 0xB7FB,
+ 47453 - 44032: 0x9043,
+ 47454 - 44032: 0x9044,
+ 47455 - 44032: 0x9045,
+ 47456 - 44032: 0xB7FC,
+ 47457 - 44032: 0x9046,
+ 47458 - 44032: 0x9047,
+ 47459 - 44032: 0x9048,
+ 47460 - 44032: 0x9049,
+ 47461 - 44032: 0x904A,
+ 47462 - 44032: 0x904B,
+ 47463 - 44032: 0x904C,
+ 47464 - 44032: 0xB7FD,
+ 47465 - 44032: 0xB7FE,
+ 47466 - 44032: 0x904D,
+ 47467 - 44032: 0xB8A1,
+ 47468 - 44032: 0x904E,
+ 47469 - 44032: 0xB8A2,
+ 47470 - 44032: 0x904F,
+ 47471 - 44032: 0x9050,
+ 47472 - 44032: 0x9051,
+ 47473 - 44032: 0x9052,
+ 47474 - 44032: 0x9053,
+ 47475 - 44032: 0x9054,
+ 47476 - 44032: 0xB8A3,
+ 47477 - 44032: 0xB8A4,
+ 47478 - 44032: 0x9055,
+ 47479 - 44032: 0x9056,
+ 47480 - 44032: 0xB8A5,
+ 47481 - 44032: 0x9057,
+ 47482 - 44032: 0x9058,
+ 47483 - 44032: 0x9059,
+ 47484 - 44032: 0xB8A6,
+ 47485 - 44032: 0x905A,
+ 47486 - 44032: 0x9061,
+ 47487 - 44032: 0x9062,
+ 47488 - 44032: 0x9063,
+ 47489 - 44032: 0x9064,
+ 47490 - 44032: 0x9065,
+ 47491 - 44032: 0x9066,
+ 47492 - 44032: 0xB8A7,
+ 47493 - 44032: 0xB8A8,
+ 47494 - 44032: 0x9067,
+ 47495 - 44032: 0xB8A9,
+ 47496 - 44032: 0x9068,
+ 47497 - 44032: 0xB8AA,
+ 47498 - 44032: 0xB8AB,
+ 47499 - 44032: 0x9069,
+ 47500 - 44032: 0x906A,
+ 47501 - 44032: 0xB8AC,
+ 47502 - 44032: 0xB8AD,
+ 47503 - 44032: 0x906B,
+ 47504 - 44032: 0x906C,
+ 47505 - 44032: 0x906D,
+ 47506 - 44032: 0x906E,
+ 47507 - 44032: 0x906F,
+ 47508 - 44032: 0x9070,
+ 47509 - 44032: 0x9071,
+ 47510 - 44032: 0x9072,
+ 47511 - 44032: 0x9073,
+ 47512 - 44032: 0x9074,
+ 47513 - 44032: 0x9075,
+ 47514 - 44032: 0x9076,
+ 47515 - 44032: 0x9077,
+ 47516 - 44032: 0x9078,
+ 47517 - 44032: 0x9079,
+ 47518 - 44032: 0x907A,
+ 47519 - 44032: 0x9081,
+ 47520 - 44032: 0x9082,
+ 47521 - 44032: 0x9083,
+ 47522 - 44032: 0x9084,
+ 47523 - 44032: 0x9085,
+ 47524 - 44032: 0x9086,
+ 47525 - 44032: 0x9087,
+ 47526 - 44032: 0x9088,
+ 47527 - 44032: 0x9089,
+ 47528 - 44032: 0x908A,
+ 47529 - 44032: 0x908B,
+ 47530 - 44032: 0x908C,
+ 47531 - 44032: 0x908D,
+ 47532 - 44032: 0xB8AE,
+ 47533 - 44032: 0xB8AF,
+ 47534 - 44032: 0x908E,
+ 47535 - 44032: 0x908F,
+ 47536 - 44032: 0xB8B0,
+ 47537 - 44032: 0x9090,
+ 47538 - 44032: 0x9091,
+ 47539 - 44032: 0x9092,
+ 47540 - 44032: 0xB8B1,
+ 47541 - 44032: 0x9093,
+ 47542 - 44032: 0x9094,
+ 47543 - 44032: 0x9095,
+ 47544 - 44032: 0x9096,
+ 47545 - 44032: 0x9097,
+ 47546 - 44032: 0x9098,
+ 47547 - 44032: 0x9099,
+ 47548 - 44032: 0xB8B2,
+ 47549 - 44032: 0xB8B3,
+ 47550 - 44032: 0x909A,
+ 47551 - 44032: 0xB8B4,
+ 47552 - 44032: 0x909B,
+ 47553 - 44032: 0xB8B5,
+ 47554 - 44032: 0x909C,
+ 47555 - 44032: 0x909D,
+ 47556 - 44032: 0x909E,
+ 47557 - 44032: 0x909F,
+ 47558 - 44032: 0x90A0,
+ 47559 - 44032: 0x90A1,
+ 47560 - 44032: 0xB8B6,
+ 47561 - 44032: 0xB8B7,
+ 47562 - 44032: 0x90A2,
+ 47563 - 44032: 0x90A3,
+ 47564 - 44032: 0xB8B8,
+ 47565 - 44032: 0x90A4,
+ 47566 - 44032: 0xB8B9,
+ 47567 - 44032: 0xB8BA,
+ 47568 - 44032: 0xB8BB,
+ 47569 - 44032: 0xB8BC,
+ 47570 - 44032: 0xB8BD,
+ 47571 - 44032: 0x90A5,
+ 47572 - 44032: 0x90A6,
+ 47573 - 44032: 0x90A7,
+ 47574 - 44032: 0x90A8,
+ 47575 - 44032: 0x90A9,
+ 47576 - 44032: 0xB8BE,
+ 47577 - 44032: 0xB8BF,
+ 47578 - 44032: 0x90AA,
+ 47579 - 44032: 0xB8C0,
+ 47580 - 44032: 0x90AB,
+ 47581 - 44032: 0xB8C1,
+ 47582 - 44032: 0xB8C2,
+ 47583 - 44032: 0x90AC,
+ 47584 - 44032: 0x90AD,
+ 47585 - 44032: 0xB8C3,
+ 47586 - 44032: 0x90AE,
+ 47587 - 44032: 0xB8C4,
+ 47588 - 44032: 0xB8C5,
+ 47589 - 44032: 0xB8C6,
+ 47590 - 44032: 0x90AF,
+ 47591 - 44032: 0x90B0,
+ 47592 - 44032: 0xB8C7,
+ 47593 - 44032: 0x90B1,
+ 47594 - 44032: 0x90B2,
+ 47595 - 44032: 0x90B3,
+ 47596 - 44032: 0xB8C8,
+ 47597 - 44032: 0x90B4,
+ 47598 - 44032: 0x90B5,
+ 47599 - 44032: 0x90B6,
+ 47600 - 44032: 0x90B7,
+ 47601 - 44032: 0x90B8,
+ 47602 - 44032: 0x90B9,
+ 47603 - 44032: 0x90BA,
+ 47604 - 44032: 0xB8C9,
+ 47605 - 44032: 0xB8CA,
+ 47606 - 44032: 0x90BB,
+ 47607 - 44032: 0xB8CB,
+ 47608 - 44032: 0xB8CC,
+ 47609 - 44032: 0xB8CD,
+ 47610 - 44032: 0xB8CE,
+ 47611 - 44032: 0x90BC,
+ 47612 - 44032: 0x90BD,
+ 47613 - 44032: 0x90BE,
+ 47614 - 44032: 0x90BF,
+ 47615 - 44032: 0x90C0,
+ 47616 - 44032: 0xB8CF,
+ 47617 - 44032: 0xB8D0,
+ 47618 - 44032: 0x90C1,
+ 47619 - 44032: 0x90C2,
+ 47620 - 44032: 0x90C3,
+ 47621 - 44032: 0x90C4,
+ 47622 - 44032: 0x90C5,
+ 47623 - 44032: 0x90C6,
+ 47624 - 44032: 0xB8D1,
+ 47625 - 44032: 0x90C7,
+ 47626 - 44032: 0x90C8,
+ 47627 - 44032: 0x90C9,
+ 47628 - 44032: 0x90CA,
+ 47629 - 44032: 0x90CB,
+ 47630 - 44032: 0x90CC,
+ 47631 - 44032: 0x90CD,
+ 47632 - 44032: 0x90CE,
+ 47633 - 44032: 0x90CF,
+ 47634 - 44032: 0x90D0,
+ 47635 - 44032: 0x90D1,
+ 47636 - 44032: 0x90D2,
+ 47637 - 44032: 0xB8D2,
+ 47638 - 44032: 0x90D3,
+ 47639 - 44032: 0x90D4,
+ 47640 - 44032: 0x90D5,
+ 47641 - 44032: 0x90D6,
+ 47642 - 44032: 0x90D7,
+ 47643 - 44032: 0x90D8,
+ 47644 - 44032: 0x90D9,
+ 47645 - 44032: 0x90DA,
+ 47646 - 44032: 0x90DB,
+ 47647 - 44032: 0x90DC,
+ 47648 - 44032: 0x90DD,
+ 47649 - 44032: 0x90DE,
+ 47650 - 44032: 0x90DF,
+ 47651 - 44032: 0x90E0,
+ 47652 - 44032: 0x90E1,
+ 47653 - 44032: 0x90E2,
+ 47654 - 44032: 0x90E3,
+ 47655 - 44032: 0x90E4,
+ 47656 - 44032: 0x90E5,
+ 47657 - 44032: 0x90E6,
+ 47658 - 44032: 0x90E7,
+ 47659 - 44032: 0x90E8,
+ 47660 - 44032: 0x90E9,
+ 47661 - 44032: 0x90EA,
+ 47662 - 44032: 0x90EB,
+ 47663 - 44032: 0x90EC,
+ 47664 - 44032: 0x90ED,
+ 47665 - 44032: 0x90EE,
+ 47666 - 44032: 0x90EF,
+ 47667 - 44032: 0x90F0,
+ 47668 - 44032: 0x90F1,
+ 47669 - 44032: 0x90F2,
+ 47670 - 44032: 0x90F3,
+ 47671 - 44032: 0x90F4,
+ 47672 - 44032: 0xB8D3,
+ 47673 - 44032: 0xB8D4,
+ 47674 - 44032: 0x90F5,
+ 47675 - 44032: 0x90F6,
+ 47676 - 44032: 0xB8D5,
+ 47677 - 44032: 0x90F7,
+ 47678 - 44032: 0x90F8,
+ 47679 - 44032: 0x90F9,
+ 47680 - 44032: 0xB8D6,
+ 47681 - 44032: 0x90FA,
+ 47682 - 44032: 0xB8D7,
+ 47683 - 44032: 0x90FB,
+ 47684 - 44032: 0x90FC,
+ 47685 - 44032: 0x90FD,
+ 47686 - 44032: 0x90FE,
+ 47687 - 44032: 0x9141,
+ 47688 - 44032: 0xB8D8,
+ 47689 - 44032: 0xB8D9,
+ 47690 - 44032: 0x9142,
+ 47691 - 44032: 0xB8DA,
+ 47692 - 44032: 0x9143,
+ 47693 - 44032: 0xB8DB,
+ 47694 - 44032: 0xB8DC,
+ 47695 - 44032: 0x9144,
+ 47696 - 44032: 0x9145,
+ 47697 - 44032: 0x9146,
+ 47698 - 44032: 0x9147,
+ 47699 - 44032: 0xB8DD,
+ 47700 - 44032: 0xB8DE,
+ 47701 - 44032: 0xB8DF,
+ 47702 - 44032: 0x9148,
+ 47703 - 44032: 0x9149,
+ 47704 - 44032: 0xB8E0,
+ 47705 - 44032: 0x914A,
+ 47706 - 44032: 0x914B,
+ 47707 - 44032: 0x914C,
+ 47708 - 44032: 0xB8E1,
+ 47709 - 44032: 0x914D,
+ 47710 - 44032: 0x914E,
+ 47711 - 44032: 0x914F,
+ 47712 - 44032: 0x9150,
+ 47713 - 44032: 0x9151,
+ 47714 - 44032: 0x9152,
+ 47715 - 44032: 0x9153,
+ 47716 - 44032: 0xB8E2,
+ 47717 - 44032: 0xB8E3,
+ 47718 - 44032: 0x9154,
+ 47719 - 44032: 0xB8E4,
+ 47720 - 44032: 0xB8E5,
+ 47721 - 44032: 0xB8E6,
+ 47722 - 44032: 0x9155,
+ 47723 - 44032: 0x9156,
+ 47724 - 44032: 0x9157,
+ 47725 - 44032: 0x9158,
+ 47726 - 44032: 0x9159,
+ 47727 - 44032: 0x915A,
+ 47728 - 44032: 0xB8E7,
+ 47729 - 44032: 0xB8E8,
+ 47730 - 44032: 0x9161,
+ 47731 - 44032: 0x9162,
+ 47732 - 44032: 0xB8E9,
+ 47733 - 44032: 0x9163,
+ 47734 - 44032: 0x9164,
+ 47735 - 44032: 0x9165,
+ 47736 - 44032: 0xB8EA,
+ 47737 - 44032: 0x9166,
+ 47738 - 44032: 0x9167,
+ 47739 - 44032: 0x9168,
+ 47740 - 44032: 0x9169,
+ 47741 - 44032: 0x916A,
+ 47742 - 44032: 0x916B,
+ 47743 - 44032: 0x916C,
+ 47744 - 44032: 0x916D,
+ 47745 - 44032: 0x916E,
+ 47746 - 44032: 0x916F,
+ 47747 - 44032: 0xB8EB,
+ 47748 - 44032: 0xB8EC,
+ 47749 - 44032: 0xB8ED,
+ 47750 - 44032: 0x9170,
+ 47751 - 44032: 0xB8EE,
+ 47752 - 44032: 0x9171,
+ 47753 - 44032: 0x9172,
+ 47754 - 44032: 0x9173,
+ 47755 - 44032: 0x9174,
+ 47756 - 44032: 0xB8EF,
+ 47757 - 44032: 0x9175,
+ 47758 - 44032: 0x9176,
+ 47759 - 44032: 0x9177,
+ 47760 - 44032: 0x9178,
+ 47761 - 44032: 0x9179,
+ 47762 - 44032: 0x917A,
+ 47763 - 44032: 0x9181,
+ 47764 - 44032: 0x9182,
+ 47765 - 44032: 0x9183,
+ 47766 - 44032: 0x9184,
+ 47767 - 44032: 0x9185,
+ 47768 - 44032: 0x9186,
+ 47769 - 44032: 0x9187,
+ 47770 - 44032: 0x9188,
+ 47771 - 44032: 0x9189,
+ 47772 - 44032: 0x918A,
+ 47773 - 44032: 0x918B,
+ 47774 - 44032: 0x918C,
+ 47775 - 44032: 0x918D,
+ 47776 - 44032: 0x918E,
+ 47777 - 44032: 0x918F,
+ 47778 - 44032: 0x9190,
+ 47779 - 44032: 0x9191,
+ 47780 - 44032: 0x9192,
+ 47781 - 44032: 0x9193,
+ 47782 - 44032: 0x9194,
+ 47783 - 44032: 0x9195,
+ 47784 - 44032: 0xB8F0,
+ 47785 - 44032: 0xB8F1,
+ 47786 - 44032: 0x9196,
+ 47787 - 44032: 0xB8F2,
+ 47788 - 44032: 0xB8F3,
+ 47789 - 44032: 0x9197,
+ 47790 - 44032: 0x9198,
+ 47791 - 44032: 0x9199,
+ 47792 - 44032: 0xB8F4,
+ 47793 - 44032: 0x919A,
+ 47794 - 44032: 0xB8F5,
+ 47795 - 44032: 0x919B,
+ 47796 - 44032: 0x919C,
+ 47797 - 44032: 0x919D,
+ 47798 - 44032: 0x919E,
+ 47799 - 44032: 0x919F,
+ 47800 - 44032: 0xB8F6,
+ 47801 - 44032: 0xB8F7,
+ 47802 - 44032: 0x91A0,
+ 47803 - 44032: 0xB8F8,
+ 47804 - 44032: 0x91A1,
+ 47805 - 44032: 0xB8F9,
+ 47806 - 44032: 0x91A2,
+ 47807 - 44032: 0x91A3,
+ 47808 - 44032: 0x91A4,
+ 47809 - 44032: 0x91A5,
+ 47810 - 44032: 0x91A6,
+ 47811 - 44032: 0x91A7,
+ 47812 - 44032: 0xB8FA,
+ 47813 - 44032: 0x91A8,
+ 47814 - 44032: 0x91A9,
+ 47815 - 44032: 0x91AA,
+ 47816 - 44032: 0xB8FB,
+ 47817 - 44032: 0x91AB,
+ 47818 - 44032: 0x91AC,
+ 47819 - 44032: 0x91AD,
+ 47820 - 44032: 0x91AE,
+ 47821 - 44032: 0x91AF,
+ 47822 - 44032: 0x91B0,
+ 47823 - 44032: 0x91B1,
+ 47824 - 44032: 0x91B2,
+ 47825 - 44032: 0x91B3,
+ 47826 - 44032: 0x91B4,
+ 47827 - 44032: 0x91B5,
+ 47828 - 44032: 0x91B6,
+ 47829 - 44032: 0x91B7,
+ 47830 - 44032: 0x91B8,
+ 47831 - 44032: 0x91B9,
+ 47832 - 44032: 0xB8FC,
+ 47833 - 44032: 0xB8FD,
+ 47834 - 44032: 0x91BA,
+ 47835 - 44032: 0x91BB,
+ 47836 - 44032: 0x91BC,
+ 47837 - 44032: 0x91BD,
+ 47838 - 44032: 0x91BE,
+ 47839 - 44032: 0x91BF,
+ 47840 - 44032: 0x91C0,
+ 47841 - 44032: 0x91C1,
+ 47842 - 44032: 0x91C2,
+ 47843 - 44032: 0x91C3,
+ 47844 - 44032: 0x91C4,
+ 47845 - 44032: 0x91C5,
+ 47846 - 44032: 0x91C6,
+ 47847 - 44032: 0x91C7,
+ 47848 - 44032: 0x91C8,
+ 47849 - 44032: 0x91C9,
+ 47850 - 44032: 0x91CA,
+ 47851 - 44032: 0x91CB,
+ 47852 - 44032: 0x91CC,
+ 47853 - 44032: 0x91CD,
+ 47854 - 44032: 0x91CE,
+ 47855 - 44032: 0x91CF,
+ 47856 - 44032: 0x91D0,
+ 47857 - 44032: 0x91D1,
+ 47858 - 44032: 0x91D2,
+ 47859 - 44032: 0x91D3,
+ 47860 - 44032: 0x91D4,
+ 47861 - 44032: 0x91D5,
+ 47862 - 44032: 0x91D6,
+ 47863 - 44032: 0x91D7,
+ 47864 - 44032: 0x91D8,
+ 47865 - 44032: 0x91D9,
+ 47866 - 44032: 0x91DA,
+ 47867 - 44032: 0x91DB,
+ 47868 - 44032: 0xB8FE,
+ 47869 - 44032: 0x91DC,
+ 47870 - 44032: 0x91DD,
+ 47871 - 44032: 0x91DE,
+ 47872 - 44032: 0xB9A1,
+ 47873 - 44032: 0x91DF,
+ 47874 - 44032: 0x91E0,
+ 47875 - 44032: 0x91E1,
+ 47876 - 44032: 0xB9A2,
+ 47877 - 44032: 0x91E2,
+ 47878 - 44032: 0x91E3,
+ 47879 - 44032: 0x91E4,
+ 47880 - 44032: 0x91E5,
+ 47881 - 44032: 0x91E6,
+ 47882 - 44032: 0x91E7,
+ 47883 - 44032: 0x91E8,
+ 47884 - 44032: 0x91E9,
+ 47885 - 44032: 0xB9A3,
+ 47886 - 44032: 0x91EA,
+ 47887 - 44032: 0xB9A4,
+ 47888 - 44032: 0x91EB,
+ 47889 - 44032: 0xB9A5,
+ 47890 - 44032: 0x91EC,
+ 47891 - 44032: 0x91ED,
+ 47892 - 44032: 0x91EE,
+ 47893 - 44032: 0x91EF,
+ 47894 - 44032: 0x91F0,
+ 47895 - 44032: 0x91F1,
+ 47896 - 44032: 0xB9A6,
+ 47897 - 44032: 0x91F2,
+ 47898 - 44032: 0x91F3,
+ 47899 - 44032: 0x91F4,
+ 47900 - 44032: 0xB9A7,
+ 47901 - 44032: 0x91F5,
+ 47902 - 44032: 0x91F6,
+ 47903 - 44032: 0x91F7,
+ 47904 - 44032: 0xB9A8,
+ 47905 - 44032: 0x91F8,
+ 47906 - 44032: 0x91F9,
+ 47907 - 44032: 0x91FA,
+ 47908 - 44032: 0x91FB,
+ 47909 - 44032: 0x91FC,
+ 47910 - 44032: 0x91FD,
+ 47911 - 44032: 0x91FE,
+ 47912 - 44032: 0x9241,
+ 47913 - 44032: 0xB9A9,
+ 47914 - 44032: 0x9242,
+ 47915 - 44032: 0xB9AA,
+ 47916 - 44032: 0x9243,
+ 47917 - 44032: 0x9244,
+ 47918 - 44032: 0x9245,
+ 47919 - 44032: 0x9246,
+ 47920 - 44032: 0x9247,
+ 47921 - 44032: 0x9248,
+ 47922 - 44032: 0x9249,
+ 47923 - 44032: 0x924A,
+ 47924 - 44032: 0xB9AB,
+ 47925 - 44032: 0xB9AC,
+ 47926 - 44032: 0xB9AD,
+ 47927 - 44032: 0x924B,
+ 47928 - 44032: 0xB9AE,
+ 47929 - 44032: 0x924C,
+ 47930 - 44032: 0x924D,
+ 47931 - 44032: 0xB9AF,
+ 47932 - 44032: 0xB9B0,
+ 47933 - 44032: 0xB9B1,
+ 47934 - 44032: 0xB9B2,
+ 47935 - 44032: 0x924E,
+ 47936 - 44032: 0x924F,
+ 47937 - 44032: 0x9250,
+ 47938 - 44032: 0x9251,
+ 47939 - 44032: 0x9252,
+ 47940 - 44032: 0xB9B3,
+ 47941 - 44032: 0xB9B4,
+ 47942 - 44032: 0x9253,
+ 47943 - 44032: 0xB9B5,
+ 47944 - 44032: 0x9254,
+ 47945 - 44032: 0xB9B6,
+ 47946 - 44032: 0x9255,
+ 47947 - 44032: 0x9256,
+ 47948 - 44032: 0x9257,
+ 47949 - 44032: 0xB9B7,
+ 47950 - 44032: 0x9258,
+ 47951 - 44032: 0xB9B8,
+ 47952 - 44032: 0xB9B9,
+ 47953 - 44032: 0x9259,
+ 47954 - 44032: 0x925A,
+ 47955 - 44032: 0x9261,
+ 47956 - 44032: 0xB9BA,
+ 47957 - 44032: 0x9262,
+ 47958 - 44032: 0x9263,
+ 47959 - 44032: 0x9264,
+ 47960 - 44032: 0xB9BB,
+ 47961 - 44032: 0x9265,
+ 47962 - 44032: 0x9266,
+ 47963 - 44032: 0x9267,
+ 47964 - 44032: 0x9268,
+ 47965 - 44032: 0x9269,
+ 47966 - 44032: 0x926A,
+ 47967 - 44032: 0x926B,
+ 47968 - 44032: 0x926C,
+ 47969 - 44032: 0xB9BC,
+ 47970 - 44032: 0x926D,
+ 47971 - 44032: 0xB9BD,
+ 47972 - 44032: 0x926E,
+ 47973 - 44032: 0x926F,
+ 47974 - 44032: 0x9270,
+ 47975 - 44032: 0x9271,
+ 47976 - 44032: 0x9272,
+ 47977 - 44032: 0x9273,
+ 47978 - 44032: 0x9274,
+ 47979 - 44032: 0x9275,
+ 47980 - 44032: 0xB9BE,
+ 47981 - 44032: 0x9276,
+ 47982 - 44032: 0x9277,
+ 47983 - 44032: 0x9278,
+ 47984 - 44032: 0x9279,
+ 47985 - 44032: 0x927A,
+ 47986 - 44032: 0x9281,
+ 47987 - 44032: 0x9282,
+ 47988 - 44032: 0x9283,
+ 47989 - 44032: 0x9284,
+ 47990 - 44032: 0x9285,
+ 47991 - 44032: 0x9286,
+ 47992 - 44032: 0x9287,
+ 47993 - 44032: 0x9288,
+ 47994 - 44032: 0x9289,
+ 47995 - 44032: 0x928A,
+ 47996 - 44032: 0x928B,
+ 47997 - 44032: 0x928C,
+ 47998 - 44032: 0x928D,
+ 47999 - 44032: 0x928E,
+ 48000 - 44032: 0x928F,
+ 48001 - 44032: 0x9290,
+ 48002 - 44032: 0x9291,
+ 48003 - 44032: 0x9292,
+ 48004 - 44032: 0x9293,
+ 48005 - 44032: 0x9294,
+ 48006 - 44032: 0x9295,
+ 48007 - 44032: 0x9296,
+ 48008 - 44032: 0xB9BF,
+ 48009 - 44032: 0x9297,
+ 48010 - 44032: 0x9298,
+ 48011 - 44032: 0x9299,
+ 48012 - 44032: 0xB9C0,
+ 48013 - 44032: 0x929A,
+ 48014 - 44032: 0x929B,
+ 48015 - 44032: 0x929C,
+ 48016 - 44032: 0xB9C1,
+ 48017 - 44032: 0x929D,
+ 48018 - 44032: 0x929E,
+ 48019 - 44032: 0x929F,
+ 48020 - 44032: 0x92A0,
+ 48021 - 44032: 0x92A1,
+ 48022 - 44032: 0x92A2,
+ 48023 - 44032: 0x92A3,
+ 48024 - 44032: 0x92A4,
+ 48025 - 44032: 0x92A5,
+ 48026 - 44032: 0x92A6,
+ 48027 - 44032: 0x92A7,
+ 48028 - 44032: 0x92A8,
+ 48029 - 44032: 0x92A9,
+ 48030 - 44032: 0x92AA,
+ 48031 - 44032: 0x92AB,
+ 48032 - 44032: 0x92AC,
+ 48033 - 44032: 0x92AD,
+ 48034 - 44032: 0x92AE,
+ 48035 - 44032: 0x92AF,
+ 48036 - 44032: 0xB9C2,
+ 48037 - 44032: 0x92B0,
+ 48038 - 44032: 0x92B1,
+ 48039 - 44032: 0x92B2,
+ 48040 - 44032: 0xB9C3,
+ 48041 - 44032: 0x92B3,
+ 48042 - 44032: 0x92B4,
+ 48043 - 44032: 0x92B5,
+ 48044 - 44032: 0xB9C4,
+ 48045 - 44032: 0x92B6,
+ 48046 - 44032: 0x92B7,
+ 48047 - 44032: 0x92B8,
+ 48048 - 44032: 0x92B9,
+ 48049 - 44032: 0x92BA,
+ 48050 - 44032: 0x92BB,
+ 48051 - 44032: 0x92BC,
+ 48052 - 44032: 0xB9C5,
+ 48053 - 44032: 0x92BD,
+ 48054 - 44032: 0x92BE,
+ 48055 - 44032: 0xB9C6,
+ 48056 - 44032: 0x92BF,
+ 48057 - 44032: 0x92C0,
+ 48058 - 44032: 0x92C1,
+ 48059 - 44032: 0x92C2,
+ 48060 - 44032: 0x92C3,
+ 48061 - 44032: 0x92C4,
+ 48062 - 44032: 0x92C5,
+ 48063 - 44032: 0x92C6,
+ 48064 - 44032: 0xB9C7,
+ 48065 - 44032: 0x92C7,
+ 48066 - 44032: 0x92C8,
+ 48067 - 44032: 0x92C9,
+ 48068 - 44032: 0xB9C8,
+ 48069 - 44032: 0x92CA,
+ 48070 - 44032: 0x92CB,
+ 48071 - 44032: 0x92CC,
+ 48072 - 44032: 0xB9C9,
+ 48073 - 44032: 0x92CD,
+ 48074 - 44032: 0x92CE,
+ 48075 - 44032: 0x92CF,
+ 48076 - 44032: 0x92D0,
+ 48077 - 44032: 0x92D1,
+ 48078 - 44032: 0x92D2,
+ 48079 - 44032: 0x92D3,
+ 48080 - 44032: 0xB9CA,
+ 48081 - 44032: 0x92D4,
+ 48082 - 44032: 0x92D5,
+ 48083 - 44032: 0xB9CB,
+ 48084 - 44032: 0x92D6,
+ 48085 - 44032: 0x92D7,
+ 48086 - 44032: 0x92D8,
+ 48087 - 44032: 0x92D9,
+ 48088 - 44032: 0x92DA,
+ 48089 - 44032: 0x92DB,
+ 48090 - 44032: 0x92DC,
+ 48091 - 44032: 0x92DD,
+ 48092 - 44032: 0x92DE,
+ 48093 - 44032: 0x92DF,
+ 48094 - 44032: 0x92E0,
+ 48095 - 44032: 0x92E1,
+ 48096 - 44032: 0x92E2,
+ 48097 - 44032: 0x92E3,
+ 48098 - 44032: 0x92E4,
+ 48099 - 44032: 0x92E5,
+ 48100 - 44032: 0x92E6,
+ 48101 - 44032: 0x92E7,
+ 48102 - 44032: 0x92E8,
+ 48103 - 44032: 0x92E9,
+ 48104 - 44032: 0x92EA,
+ 48105 - 44032: 0x92EB,
+ 48106 - 44032: 0x92EC,
+ 48107 - 44032: 0x92ED,
+ 48108 - 44032: 0x92EE,
+ 48109 - 44032: 0x92EF,
+ 48110 - 44032: 0x92F0,
+ 48111 - 44032: 0x92F1,
+ 48112 - 44032: 0x92F2,
+ 48113 - 44032: 0x92F3,
+ 48114 - 44032: 0x92F4,
+ 48115 - 44032: 0x92F5,
+ 48116 - 44032: 0x92F6,
+ 48117 - 44032: 0x92F7,
+ 48118 - 44032: 0x92F8,
+ 48119 - 44032: 0x92F9,
+ 48120 - 44032: 0xB9CC,
+ 48121 - 44032: 0xB9CD,
+ 48122 - 44032: 0x92FA,
+ 48123 - 44032: 0x92FB,
+ 48124 - 44032: 0xB9CE,
+ 48125 - 44032: 0x92FC,
+ 48126 - 44032: 0x92FD,
+ 48127 - 44032: 0xB9CF,
+ 48128 - 44032: 0xB9D0,
+ 48129 - 44032: 0x92FE,
+ 48130 - 44032: 0xB9D1,
+ 48131 - 44032: 0x9341,
+ 48132 - 44032: 0x9342,
+ 48133 - 44032: 0x9343,
+ 48134 - 44032: 0x9344,
+ 48135 - 44032: 0x9345,
+ 48136 - 44032: 0xB9D2,
+ 48137 - 44032: 0xB9D3,
+ 48138 - 44032: 0x9346,
+ 48139 - 44032: 0xB9D4,
+ 48140 - 44032: 0xB9D5,
+ 48141 - 44032: 0xB9D6,
+ 48142 - 44032: 0x9347,
+ 48143 - 44032: 0xB9D7,
+ 48144 - 44032: 0x9348,
+ 48145 - 44032: 0xB9D8,
+ 48146 - 44032: 0x9349,
+ 48147 - 44032: 0x934A,
+ 48148 - 44032: 0xB9D9,
+ 48149 - 44032: 0xB9DA,
+ 48150 - 44032: 0xB9DB,
+ 48151 - 44032: 0xB9DC,
+ 48152 - 44032: 0xB9DD,
+ 48153 - 44032: 0x934B,
+ 48154 - 44032: 0x934C,
+ 48155 - 44032: 0xB9DE,
+ 48156 - 44032: 0xB9DF,
+ 48157 - 44032: 0xB9E0,
+ 48158 - 44032: 0xB9E1,
+ 48159 - 44032: 0xB9E2,
+ 48160 - 44032: 0x934D,
+ 48161 - 44032: 0x934E,
+ 48162 - 44032: 0x934F,
+ 48163 - 44032: 0x9350,
+ 48164 - 44032: 0xB9E3,
+ 48165 - 44032: 0xB9E4,
+ 48166 - 44032: 0x9351,
+ 48167 - 44032: 0xB9E5,
+ 48168 - 44032: 0x9352,
+ 48169 - 44032: 0xB9E6,
+ 48170 - 44032: 0x9353,
+ 48171 - 44032: 0x9354,
+ 48172 - 44032: 0x9355,
+ 48173 - 44032: 0xB9E7,
+ 48174 - 44032: 0x9356,
+ 48175 - 44032: 0x9357,
+ 48176 - 44032: 0xB9E8,
+ 48177 - 44032: 0xB9E9,
+ 48178 - 44032: 0x9358,
+ 48179 - 44032: 0x9359,
+ 48180 - 44032: 0xB9EA,
+ 48181 - 44032: 0x935A,
+ 48182 - 44032: 0x9361,
+ 48183 - 44032: 0x9362,
+ 48184 - 44032: 0xB9EB,
+ 48185 - 44032: 0x9363,
+ 48186 - 44032: 0x9364,
+ 48187 - 44032: 0x9365,
+ 48188 - 44032: 0x9366,
+ 48189 - 44032: 0x9367,
+ 48190 - 44032: 0x9368,
+ 48191 - 44032: 0x9369,
+ 48192 - 44032: 0xB9EC,
+ 48193 - 44032: 0xB9ED,
+ 48194 - 44032: 0x936A,
+ 48195 - 44032: 0xB9EE,
+ 48196 - 44032: 0xB9EF,
+ 48197 - 44032: 0xB9F0,
+ 48198 - 44032: 0x936B,
+ 48199 - 44032: 0x936C,
+ 48200 - 44032: 0x936D,
+ 48201 - 44032: 0xB9F1,
+ 48202 - 44032: 0x936E,
+ 48203 - 44032: 0x936F,
+ 48204 - 44032: 0xB9F2,
+ 48205 - 44032: 0xB9F3,
+ 48206 - 44032: 0x9370,
+ 48207 - 44032: 0x9371,
+ 48208 - 44032: 0xB9F4,
+ 48209 - 44032: 0x9372,
+ 48210 - 44032: 0x9373,
+ 48211 - 44032: 0x9374,
+ 48212 - 44032: 0x9375,
+ 48213 - 44032: 0x9376,
+ 48214 - 44032: 0x9377,
+ 48215 - 44032: 0x9378,
+ 48216 - 44032: 0x9379,
+ 48217 - 44032: 0x937A,
+ 48218 - 44032: 0x9381,
+ 48219 - 44032: 0x9382,
+ 48220 - 44032: 0x9383,
+ 48221 - 44032: 0xB9F5,
+ 48222 - 44032: 0x9384,
+ 48223 - 44032: 0x9385,
+ 48224 - 44032: 0x9386,
+ 48225 - 44032: 0x9387,
+ 48226 - 44032: 0x9388,
+ 48227 - 44032: 0x9389,
+ 48228 - 44032: 0x938A,
+ 48229 - 44032: 0x938B,
+ 48230 - 44032: 0x938C,
+ 48231 - 44032: 0x938D,
+ 48232 - 44032: 0x938E,
+ 48233 - 44032: 0x938F,
+ 48234 - 44032: 0x9390,
+ 48235 - 44032: 0x9391,
+ 48236 - 44032: 0x9392,
+ 48237 - 44032: 0x9393,
+ 48238 - 44032: 0x9394,
+ 48239 - 44032: 0x9395,
+ 48240 - 44032: 0x9396,
+ 48241 - 44032: 0x9397,
+ 48242 - 44032: 0x9398,
+ 48243 - 44032: 0x9399,
+ 48244 - 44032: 0x939A,
+ 48245 - 44032: 0x939B,
+ 48246 - 44032: 0x939C,
+ 48247 - 44032: 0x939D,
+ 48248 - 44032: 0x939E,
+ 48249 - 44032: 0x939F,
+ 48250 - 44032: 0x93A0,
+ 48251 - 44032: 0x93A1,
+ 48252 - 44032: 0x93A2,
+ 48253 - 44032: 0x93A3,
+ 48254 - 44032: 0x93A4,
+ 48255 - 44032: 0x93A5,
+ 48256 - 44032: 0x93A6,
+ 48257 - 44032: 0x93A7,
+ 48258 - 44032: 0x93A8,
+ 48259 - 44032: 0x93A9,
+ 48260 - 44032: 0xB9F6,
+ 48261 - 44032: 0xB9F7,
+ 48262 - 44032: 0x93AA,
+ 48263 - 44032: 0x93AB,
+ 48264 - 44032: 0xB9F8,
+ 48265 - 44032: 0x93AC,
+ 48266 - 44032: 0x93AD,
+ 48267 - 44032: 0xB9F9,
+ 48268 - 44032: 0xB9FA,
+ 48269 - 44032: 0x93AE,
+ 48270 - 44032: 0xB9FB,
+ 48271 - 44032: 0x93AF,
+ 48272 - 44032: 0x93B0,
+ 48273 - 44032: 0x93B1,
+ 48274 - 44032: 0x93B2,
+ 48275 - 44032: 0x93B3,
+ 48276 - 44032: 0xB9FC,
+ 48277 - 44032: 0xB9FD,
+ 48278 - 44032: 0x93B4,
+ 48279 - 44032: 0xB9FE,
+ 48280 - 44032: 0x93B5,
+ 48281 - 44032: 0xBAA1,
+ 48282 - 44032: 0xBAA2,
+ 48283 - 44032: 0x93B6,
+ 48284 - 44032: 0x93B7,
+ 48285 - 44032: 0x93B8,
+ 48286 - 44032: 0x93B9,
+ 48287 - 44032: 0x93BA,
+ 48288 - 44032: 0xBAA3,
+ 48289 - 44032: 0xBAA4,
+ 48290 - 44032: 0x93BB,
+ 48291 - 44032: 0x93BC,
+ 48292 - 44032: 0xBAA5,
+ 48293 - 44032: 0x93BD,
+ 48294 - 44032: 0x93BE,
+ 48295 - 44032: 0xBAA6,
+ 48296 - 44032: 0xBAA7,
+ 48297 - 44032: 0x93BF,
+ 48298 - 44032: 0x93C0,
+ 48299 - 44032: 0x93C1,
+ 48300 - 44032: 0x93C2,
+ 48301 - 44032: 0x93C3,
+ 48302 - 44032: 0x93C4,
+ 48303 - 44032: 0x93C5,
+ 48304 - 44032: 0xBAA8,
+ 48305 - 44032: 0xBAA9,
+ 48306 - 44032: 0x93C6,
+ 48307 - 44032: 0xBAAA,
+ 48308 - 44032: 0xBAAB,
+ 48309 - 44032: 0xBAAC,
+ 48310 - 44032: 0x93C7,
+ 48311 - 44032: 0x93C8,
+ 48312 - 44032: 0x93C9,
+ 48313 - 44032: 0x93CA,
+ 48314 - 44032: 0x93CB,
+ 48315 - 44032: 0x93CC,
+ 48316 - 44032: 0xBAAD,
+ 48317 - 44032: 0xBAAE,
+ 48318 - 44032: 0x93CD,
+ 48319 - 44032: 0x93CE,
+ 48320 - 44032: 0xBAAF,
+ 48321 - 44032: 0x93CF,
+ 48322 - 44032: 0x93D0,
+ 48323 - 44032: 0x93D1,
+ 48324 - 44032: 0xBAB0,
+ 48325 - 44032: 0x93D2,
+ 48326 - 44032: 0x93D3,
+ 48327 - 44032: 0x93D4,
+ 48328 - 44032: 0x93D5,
+ 48329 - 44032: 0x93D6,
+ 48330 - 44032: 0x93D7,
+ 48331 - 44032: 0x93D8,
+ 48332 - 44032: 0x93D9,
+ 48333 - 44032: 0xBAB1,
+ 48334 - 44032: 0x93DA,
+ 48335 - 44032: 0xBAB2,
+ 48336 - 44032: 0xBAB3,
+ 48337 - 44032: 0xBAB4,
+ 48338 - 44032: 0x93DB,
+ 48339 - 44032: 0x93DC,
+ 48340 - 44032: 0x93DD,
+ 48341 - 44032: 0xBAB5,
+ 48342 - 44032: 0x93DE,
+ 48343 - 44032: 0x93DF,
+ 48344 - 44032: 0xBAB6,
+ 48345 - 44032: 0x93E0,
+ 48346 - 44032: 0x93E1,
+ 48347 - 44032: 0x93E2,
+ 48348 - 44032: 0xBAB7,
+ 48349 - 44032: 0x93E3,
+ 48350 - 44032: 0x93E4,
+ 48351 - 44032: 0x93E5,
+ 48352 - 44032: 0x93E6,
+ 48353 - 44032: 0x93E7,
+ 48354 - 44032: 0x93E8,
+ 48355 - 44032: 0x93E9,
+ 48356 - 44032: 0x93EA,
+ 48357 - 44032: 0x93EB,
+ 48358 - 44032: 0x93EC,
+ 48359 - 44032: 0x93ED,
+ 48360 - 44032: 0x93EE,
+ 48361 - 44032: 0x93EF,
+ 48362 - 44032: 0x93F0,
+ 48363 - 44032: 0x93F1,
+ 48364 - 44032: 0x93F2,
+ 48365 - 44032: 0x93F3,
+ 48366 - 44032: 0x93F4,
+ 48367 - 44032: 0x93F5,
+ 48368 - 44032: 0x93F6,
+ 48369 - 44032: 0x93F7,
+ 48370 - 44032: 0x93F8,
+ 48371 - 44032: 0x93F9,
+ 48372 - 44032: 0xBAB8,
+ 48373 - 44032: 0xBAB9,
+ 48374 - 44032: 0xBABA,
+ 48375 - 44032: 0x93FA,
+ 48376 - 44032: 0xBABB,
+ 48377 - 44032: 0x93FB,
+ 48378 - 44032: 0x93FC,
+ 48379 - 44032: 0x93FD,
+ 48380 - 44032: 0xBABC,
+ 48381 - 44032: 0x93FE,
+ 48382 - 44032: 0x9441,
+ 48383 - 44032: 0x9442,
+ 48384 - 44032: 0x9443,
+ 48385 - 44032: 0x9444,
+ 48386 - 44032: 0x9445,
+ 48387 - 44032: 0x9446,
+ 48388 - 44032: 0xBABD,
+ 48389 - 44032: 0xBABE,
+ 48390 - 44032: 0x9447,
+ 48391 - 44032: 0xBABF,
+ 48392 - 44032: 0x9448,
+ 48393 - 44032: 0xBAC0,
+ 48394 - 44032: 0x9449,
+ 48395 - 44032: 0x944A,
+ 48396 - 44032: 0x944B,
+ 48397 - 44032: 0x944C,
+ 48398 - 44032: 0x944D,
+ 48399 - 44032: 0x944E,
+ 48400 - 44032: 0xBAC1,
+ 48401 - 44032: 0x944F,
+ 48402 - 44032: 0x9450,
+ 48403 - 44032: 0x9451,
+ 48404 - 44032: 0xBAC2,
+ 48405 - 44032: 0x9452,
+ 48406 - 44032: 0x9453,
+ 48407 - 44032: 0x9454,
+ 48408 - 44032: 0x9455,
+ 48409 - 44032: 0x9456,
+ 48410 - 44032: 0x9457,
+ 48411 - 44032: 0x9458,
+ 48412 - 44032: 0x9459,
+ 48413 - 44032: 0x945A,
+ 48414 - 44032: 0x9461,
+ 48415 - 44032: 0x9462,
+ 48416 - 44032: 0x9463,
+ 48417 - 44032: 0x9464,
+ 48418 - 44032: 0x9465,
+ 48419 - 44032: 0x9466,
+ 48420 - 44032: 0xBAC3,
+ 48421 - 44032: 0x9467,
+ 48422 - 44032: 0x9468,
+ 48423 - 44032: 0x9469,
+ 48424 - 44032: 0x946A,
+ 48425 - 44032: 0x946B,
+ 48426 - 44032: 0x946C,
+ 48427 - 44032: 0x946D,
+ 48428 - 44032: 0xBAC4,
+ 48429 - 44032: 0x946E,
+ 48430 - 44032: 0x946F,
+ 48431 - 44032: 0x9470,
+ 48432 - 44032: 0x9471,
+ 48433 - 44032: 0x9472,
+ 48434 - 44032: 0x9473,
+ 48435 - 44032: 0x9474,
+ 48436 - 44032: 0x9475,
+ 48437 - 44032: 0x9476,
+ 48438 - 44032: 0x9477,
+ 48439 - 44032: 0x9478,
+ 48440 - 44032: 0x9479,
+ 48441 - 44032: 0x947A,
+ 48442 - 44032: 0x9481,
+ 48443 - 44032: 0x9482,
+ 48444 - 44032: 0x9483,
+ 48445 - 44032: 0x9484,
+ 48446 - 44032: 0x9485,
+ 48447 - 44032: 0x9486,
+ 48448 - 44032: 0xBAC5,
+ 48449 - 44032: 0x9487,
+ 48450 - 44032: 0x9488,
+ 48451 - 44032: 0x9489,
+ 48452 - 44032: 0x948A,
+ 48453 - 44032: 0x948B,
+ 48454 - 44032: 0x948C,
+ 48455 - 44032: 0x948D,
+ 48456 - 44032: 0xBAC6,
+ 48457 - 44032: 0xBAC7,
+ 48458 - 44032: 0x948E,
+ 48459 - 44032: 0x948F,
+ 48460 - 44032: 0xBAC8,
+ 48461 - 44032: 0x9490,
+ 48462 - 44032: 0x9491,
+ 48463 - 44032: 0x9492,
+ 48464 - 44032: 0xBAC9,
+ 48465 - 44032: 0x9493,
+ 48466 - 44032: 0x9494,
+ 48467 - 44032: 0x9495,
+ 48468 - 44032: 0x9496,
+ 48469 - 44032: 0x9497,
+ 48470 - 44032: 0x9498,
+ 48471 - 44032: 0x9499,
+ 48472 - 44032: 0xBACA,
+ 48473 - 44032: 0xBACB,
+ 48474 - 44032: 0x949A,
+ 48475 - 44032: 0x949B,
+ 48476 - 44032: 0x949C,
+ 48477 - 44032: 0x949D,
+ 48478 - 44032: 0x949E,
+ 48479 - 44032: 0x949F,
+ 48480 - 44032: 0x94A0,
+ 48481 - 44032: 0x94A1,
+ 48482 - 44032: 0x94A2,
+ 48483 - 44032: 0x94A3,
+ 48484 - 44032: 0xBACC,
+ 48485 - 44032: 0x94A4,
+ 48486 - 44032: 0x94A5,
+ 48487 - 44032: 0x94A6,
+ 48488 - 44032: 0xBACD,
+ 48489 - 44032: 0x94A7,
+ 48490 - 44032: 0x94A8,
+ 48491 - 44032: 0x94A9,
+ 48492 - 44032: 0x94AA,
+ 48493 - 44032: 0x94AB,
+ 48494 - 44032: 0x94AC,
+ 48495 - 44032: 0x94AD,
+ 48496 - 44032: 0x94AE,
+ 48497 - 44032: 0x94AF,
+ 48498 - 44032: 0x94B0,
+ 48499 - 44032: 0x94B1,
+ 48500 - 44032: 0x94B2,
+ 48501 - 44032: 0x94B3,
+ 48502 - 44032: 0x94B4,
+ 48503 - 44032: 0x94B5,
+ 48504 - 44032: 0x94B6,
+ 48505 - 44032: 0x94B7,
+ 48506 - 44032: 0x94B8,
+ 48507 - 44032: 0x94B9,
+ 48508 - 44032: 0x94BA,
+ 48509 - 44032: 0x94BB,
+ 48510 - 44032: 0x94BC,
+ 48511 - 44032: 0x94BD,
+ 48512 - 44032: 0xBACE,
+ 48513 - 44032: 0xBACF,
+ 48514 - 44032: 0x94BE,
+ 48515 - 44032: 0x94BF,
+ 48516 - 44032: 0xBAD0,
+ 48517 - 44032: 0x94C0,
+ 48518 - 44032: 0x94C1,
+ 48519 - 44032: 0xBAD1,
+ 48520 - 44032: 0xBAD2,
+ 48521 - 44032: 0xBAD3,
+ 48522 - 44032: 0xBAD4,
+ 48523 - 44032: 0x94C2,
+ 48524 - 44032: 0x94C3,
+ 48525 - 44032: 0x94C4,
+ 48526 - 44032: 0x94C5,
+ 48527 - 44032: 0x94C6,
+ 48528 - 44032: 0xBAD5,
+ 48529 - 44032: 0xBAD6,
+ 48530 - 44032: 0x94C7,
+ 48531 - 44032: 0xBAD7,
+ 48532 - 44032: 0x94C8,
+ 48533 - 44032: 0xBAD8,
+ 48534 - 44032: 0x94C9,
+ 48535 - 44032: 0x94CA,
+ 48536 - 44032: 0x94CB,
+ 48537 - 44032: 0xBAD9,
+ 48538 - 44032: 0xBADA,
+ 48539 - 44032: 0x94CC,
+ 48540 - 44032: 0xBADB,
+ 48541 - 44032: 0x94CD,
+ 48542 - 44032: 0x94CE,
+ 48543 - 44032: 0x94CF,
+ 48544 - 44032: 0x94D0,
+ 48545 - 44032: 0x94D1,
+ 48546 - 44032: 0x94D2,
+ 48547 - 44032: 0x94D3,
+ 48548 - 44032: 0xBADC,
+ 48549 - 44032: 0x94D4,
+ 48550 - 44032: 0x94D5,
+ 48551 - 44032: 0x94D6,
+ 48552 - 44032: 0x94D7,
+ 48553 - 44032: 0x94D8,
+ 48554 - 44032: 0x94D9,
+ 48555 - 44032: 0x94DA,
+ 48556 - 44032: 0x94DB,
+ 48557 - 44032: 0x94DC,
+ 48558 - 44032: 0x94DD,
+ 48559 - 44032: 0x94DE,
+ 48560 - 44032: 0xBADD,
+ 48561 - 44032: 0x94DF,
+ 48562 - 44032: 0x94E0,
+ 48563 - 44032: 0x94E1,
+ 48564 - 44032: 0x94E2,
+ 48565 - 44032: 0x94E3,
+ 48566 - 44032: 0x94E4,
+ 48567 - 44032: 0x94E5,
+ 48568 - 44032: 0xBADE,
+ 48569 - 44032: 0x94E6,
+ 48570 - 44032: 0x94E7,
+ 48571 - 44032: 0x94E8,
+ 48572 - 44032: 0x94E9,
+ 48573 - 44032: 0x94EA,
+ 48574 - 44032: 0x94EB,
+ 48575 - 44032: 0x94EC,
+ 48576 - 44032: 0x94ED,
+ 48577 - 44032: 0x94EE,
+ 48578 - 44032: 0x94EF,
+ 48579 - 44032: 0x94F0,
+ 48580 - 44032: 0x94F1,
+ 48581 - 44032: 0x94F2,
+ 48582 - 44032: 0x94F3,
+ 48583 - 44032: 0x94F4,
+ 48584 - 44032: 0x94F5,
+ 48585 - 44032: 0x94F6,
+ 48586 - 44032: 0x94F7,
+ 48587 - 44032: 0x94F8,
+ 48588 - 44032: 0x94F9,
+ 48589 - 44032: 0x94FA,
+ 48590 - 44032: 0x94FB,
+ 48591 - 44032: 0x94FC,
+ 48592 - 44032: 0x94FD,
+ 48593 - 44032: 0x94FE,
+ 48594 - 44032: 0x9541,
+ 48595 - 44032: 0x9542,
+ 48596 - 44032: 0xBADF,
+ 48597 - 44032: 0xBAE0,
+ 48598 - 44032: 0x9543,
+ 48599 - 44032: 0x9544,
+ 48600 - 44032: 0xBAE1,
+ 48601 - 44032: 0x9545,
+ 48602 - 44032: 0x9546,
+ 48603 - 44032: 0x9547,
+ 48604 - 44032: 0xBAE2,
+ 48605 - 44032: 0x9548,
+ 48606 - 44032: 0x9549,
+ 48607 - 44032: 0x954A,
+ 48608 - 44032: 0x954B,
+ 48609 - 44032: 0x954C,
+ 48610 - 44032: 0x954D,
+ 48611 - 44032: 0x954E,
+ 48612 - 44032: 0x954F,
+ 48613 - 44032: 0x9550,
+ 48614 - 44032: 0x9551,
+ 48615 - 44032: 0x9552,
+ 48616 - 44032: 0x9553,
+ 48617 - 44032: 0xBAE3,
+ 48618 - 44032: 0x9554,
+ 48619 - 44032: 0x9555,
+ 48620 - 44032: 0x9556,
+ 48621 - 44032: 0x9557,
+ 48622 - 44032: 0x9558,
+ 48623 - 44032: 0x9559,
+ 48624 - 44032: 0xBAE4,
+ 48625 - 44032: 0x955A,
+ 48626 - 44032: 0x9561,
+ 48627 - 44032: 0x9562,
+ 48628 - 44032: 0xBAE5,
+ 48629 - 44032: 0x9563,
+ 48630 - 44032: 0x9564,
+ 48631 - 44032: 0x9565,
+ 48632 - 44032: 0xBAE6,
+ 48633 - 44032: 0x9566,
+ 48634 - 44032: 0x9567,
+ 48635 - 44032: 0x9568,
+ 48636 - 44032: 0x9569,
+ 48637 - 44032: 0x956A,
+ 48638 - 44032: 0x956B,
+ 48639 - 44032: 0x956C,
+ 48640 - 44032: 0xBAE7,
+ 48641 - 44032: 0x956D,
+ 48642 - 44032: 0x956E,
+ 48643 - 44032: 0xBAE8,
+ 48644 - 44032: 0x956F,
+ 48645 - 44032: 0xBAE9,
+ 48646 - 44032: 0x9570,
+ 48647 - 44032: 0x9571,
+ 48648 - 44032: 0x9572,
+ 48649 - 44032: 0x9573,
+ 48650 - 44032: 0x9574,
+ 48651 - 44032: 0x9575,
+ 48652 - 44032: 0xBAEA,
+ 48653 - 44032: 0xBAEB,
+ 48654 - 44032: 0x9576,
+ 48655 - 44032: 0x9577,
+ 48656 - 44032: 0xBAEC,
+ 48657 - 44032: 0x9578,
+ 48658 - 44032: 0x9579,
+ 48659 - 44032: 0x957A,
+ 48660 - 44032: 0xBAED,
+ 48661 - 44032: 0x9581,
+ 48662 - 44032: 0x9582,
+ 48663 - 44032: 0x9583,
+ 48664 - 44032: 0x9584,
+ 48665 - 44032: 0x9585,
+ 48666 - 44032: 0x9586,
+ 48667 - 44032: 0x9587,
+ 48668 - 44032: 0xBAEE,
+ 48669 - 44032: 0xBAEF,
+ 48670 - 44032: 0x9588,
+ 48671 - 44032: 0xBAF0,
+ 48672 - 44032: 0x9589,
+ 48673 - 44032: 0x958A,
+ 48674 - 44032: 0x958B,
+ 48675 - 44032: 0x958C,
+ 48676 - 44032: 0x958D,
+ 48677 - 44032: 0x958E,
+ 48678 - 44032: 0x958F,
+ 48679 - 44032: 0x9590,
+ 48680 - 44032: 0x9591,
+ 48681 - 44032: 0x9592,
+ 48682 - 44032: 0x9593,
+ 48683 - 44032: 0x9594,
+ 48684 - 44032: 0x9595,
+ 48685 - 44032: 0x9596,
+ 48686 - 44032: 0x9597,
+ 48687 - 44032: 0x9598,
+ 48688 - 44032: 0x9599,
+ 48689 - 44032: 0x959A,
+ 48690 - 44032: 0x959B,
+ 48691 - 44032: 0x959C,
+ 48692 - 44032: 0x959D,
+ 48693 - 44032: 0x959E,
+ 48694 - 44032: 0x959F,
+ 48695 - 44032: 0x95A0,
+ 48696 - 44032: 0x95A1,
+ 48697 - 44032: 0x95A2,
+ 48698 - 44032: 0x95A3,
+ 48699 - 44032: 0x95A4,
+ 48700 - 44032: 0x95A5,
+ 48701 - 44032: 0x95A6,
+ 48702 - 44032: 0x95A7,
+ 48703 - 44032: 0x95A8,
+ 48704 - 44032: 0x95A9,
+ 48705 - 44032: 0x95AA,
+ 48706 - 44032: 0x95AB,
+ 48707 - 44032: 0x95AC,
+ 48708 - 44032: 0xBAF1,
+ 48709 - 44032: 0xBAF2,
+ 48710 - 44032: 0x95AD,
+ 48711 - 44032: 0x95AE,
+ 48712 - 44032: 0xBAF3,
+ 48713 - 44032: 0x95AF,
+ 48714 - 44032: 0x95B0,
+ 48715 - 44032: 0x95B1,
+ 48716 - 44032: 0xBAF4,
+ 48717 - 44032: 0x95B2,
+ 48718 - 44032: 0xBAF5,
+ 48719 - 44032: 0x95B3,
+ 48720 - 44032: 0x95B4,
+ 48721 - 44032: 0x95B5,
+ 48722 - 44032: 0x95B6,
+ 48723 - 44032: 0x95B7,
+ 48724 - 44032: 0xBAF6,
+ 48725 - 44032: 0xBAF7,
+ 48726 - 44032: 0x95B8,
+ 48727 - 44032: 0xBAF8,
+ 48728 - 44032: 0x95B9,
+ 48729 - 44032: 0xBAF9,
+ 48730 - 44032: 0xBAFA,
+ 48731 - 44032: 0xBAFB,
+ 48732 - 44032: 0x95BA,
+ 48733 - 44032: 0x95BB,
+ 48734 - 44032: 0x95BC,
+ 48735 - 44032: 0x95BD,
+ 48736 - 44032: 0xBAFC,
+ 48737 - 44032: 0xBAFD,
+ 48738 - 44032: 0x95BE,
+ 48739 - 44032: 0x95BF,
+ 48740 - 44032: 0xBAFE,
+ 48741 - 44032: 0x95C0,
+ 48742 - 44032: 0x95C1,
+ 48743 - 44032: 0x95C2,
+ 48744 - 44032: 0xBBA1,
+ 48745 - 44032: 0x95C3,
+ 48746 - 44032: 0xBBA2,
+ 48747 - 44032: 0x95C4,
+ 48748 - 44032: 0x95C5,
+ 48749 - 44032: 0x95C6,
+ 48750 - 44032: 0x95C7,
+ 48751 - 44032: 0x95C8,
+ 48752 - 44032: 0xBBA3,
+ 48753 - 44032: 0xBBA4,
+ 48754 - 44032: 0x95C9,
+ 48755 - 44032: 0xBBA5,
+ 48756 - 44032: 0xBBA6,
+ 48757 - 44032: 0xBBA7,
+ 48758 - 44032: 0x95CA,
+ 48759 - 44032: 0x95CB,
+ 48760 - 44032: 0x95CC,
+ 48761 - 44032: 0x95CD,
+ 48762 - 44032: 0x95CE,
+ 48763 - 44032: 0xBBA8,
+ 48764 - 44032: 0xBBA9,
+ 48765 - 44032: 0xBBAA,
+ 48766 - 44032: 0x95CF,
+ 48767 - 44032: 0x95D0,
+ 48768 - 44032: 0xBBAB,
+ 48769 - 44032: 0x95D1,
+ 48770 - 44032: 0x95D2,
+ 48771 - 44032: 0x95D3,
+ 48772 - 44032: 0xBBAC,
+ 48773 - 44032: 0x95D4,
+ 48774 - 44032: 0x95D5,
+ 48775 - 44032: 0x95D6,
+ 48776 - 44032: 0x95D7,
+ 48777 - 44032: 0x95D8,
+ 48778 - 44032: 0x95D9,
+ 48779 - 44032: 0x95DA,
+ 48780 - 44032: 0xBBAD,
+ 48781 - 44032: 0xBBAE,
+ 48782 - 44032: 0x95DB,
+ 48783 - 44032: 0xBBAF,
+ 48784 - 44032: 0xBBB0,
+ 48785 - 44032: 0xBBB1,
+ 48786 - 44032: 0x95DC,
+ 48787 - 44032: 0x95DD,
+ 48788 - 44032: 0x95DE,
+ 48789 - 44032: 0x95DF,
+ 48790 - 44032: 0x95E0,
+ 48791 - 44032: 0x95E1,
+ 48792 - 44032: 0xBBB2,
+ 48793 - 44032: 0xBBB3,
+ 48794 - 44032: 0x95E2,
+ 48795 - 44032: 0x95E3,
+ 48796 - 44032: 0x95E4,
+ 48797 - 44032: 0x95E5,
+ 48798 - 44032: 0x95E6,
+ 48799 - 44032: 0x95E7,
+ 48800 - 44032: 0x95E8,
+ 48801 - 44032: 0x95E9,
+ 48802 - 44032: 0x95EA,
+ 48803 - 44032: 0x95EB,
+ 48804 - 44032: 0x95EC,
+ 48805 - 44032: 0x95ED,
+ 48806 - 44032: 0x95EE,
+ 48807 - 44032: 0x95EF,
+ 48808 - 44032: 0xBBB4,
+ 48809 - 44032: 0x95F0,
+ 48810 - 44032: 0x95F1,
+ 48811 - 44032: 0x95F2,
+ 48812 - 44032: 0x95F3,
+ 48813 - 44032: 0x95F4,
+ 48814 - 44032: 0x95F5,
+ 48815 - 44032: 0x95F6,
+ 48816 - 44032: 0x95F7,
+ 48817 - 44032: 0x95F8,
+ 48818 - 44032: 0x95F9,
+ 48819 - 44032: 0x95FA,
+ 48820 - 44032: 0x95FB,
+ 48821 - 44032: 0x95FC,
+ 48822 - 44032: 0x95FD,
+ 48823 - 44032: 0x95FE,
+ 48824 - 44032: 0x9641,
+ 48825 - 44032: 0x9642,
+ 48826 - 44032: 0x9643,
+ 48827 - 44032: 0x9644,
+ 48828 - 44032: 0x9645,
+ 48829 - 44032: 0x9646,
+ 48830 - 44032: 0x9647,
+ 48831 - 44032: 0x9648,
+ 48832 - 44032: 0x9649,
+ 48833 - 44032: 0x964A,
+ 48834 - 44032: 0x964B,
+ 48835 - 44032: 0x964C,
+ 48836 - 44032: 0x964D,
+ 48837 - 44032: 0x964E,
+ 48838 - 44032: 0x964F,
+ 48839 - 44032: 0x9650,
+ 48840 - 44032: 0x9651,
+ 48841 - 44032: 0x9652,
+ 48842 - 44032: 0x9653,
+ 48843 - 44032: 0x9654,
+ 48844 - 44032: 0x9655,
+ 48845 - 44032: 0x9656,
+ 48846 - 44032: 0x9657,
+ 48847 - 44032: 0x9658,
+ 48848 - 44032: 0xBBB5,
+ 48849 - 44032: 0xBBB6,
+ 48850 - 44032: 0x9659,
+ 48851 - 44032: 0x965A,
+ 48852 - 44032: 0xBBB7,
+ 48853 - 44032: 0x9661,
+ 48854 - 44032: 0x9662,
+ 48855 - 44032: 0xBBB8,
+ 48856 - 44032: 0xBBB9,
+ 48857 - 44032: 0x9663,
+ 48858 - 44032: 0x9664,
+ 48859 - 44032: 0x9665,
+ 48860 - 44032: 0x9666,
+ 48861 - 44032: 0x9667,
+ 48862 - 44032: 0x9668,
+ 48863 - 44032: 0x9669,
+ 48864 - 44032: 0xBBBA,
+ 48865 - 44032: 0x966A,
+ 48866 - 44032: 0x966B,
+ 48867 - 44032: 0xBBBB,
+ 48868 - 44032: 0xBBBC,
+ 48869 - 44032: 0xBBBD,
+ 48870 - 44032: 0x966C,
+ 48871 - 44032: 0x966D,
+ 48872 - 44032: 0x966E,
+ 48873 - 44032: 0x966F,
+ 48874 - 44032: 0x9670,
+ 48875 - 44032: 0x9671,
+ 48876 - 44032: 0xBBBE,
+ 48877 - 44032: 0x9672,
+ 48878 - 44032: 0x9673,
+ 48879 - 44032: 0x9674,
+ 48880 - 44032: 0x9675,
+ 48881 - 44032: 0x9676,
+ 48882 - 44032: 0x9677,
+ 48883 - 44032: 0x9678,
+ 48884 - 44032: 0x9679,
+ 48885 - 44032: 0x967A,
+ 48886 - 44032: 0x9681,
+ 48887 - 44032: 0x9682,
+ 48888 - 44032: 0x9683,
+ 48889 - 44032: 0x9684,
+ 48890 - 44032: 0x9685,
+ 48891 - 44032: 0x9686,
+ 48892 - 44032: 0x9687,
+ 48893 - 44032: 0x9688,
+ 48894 - 44032: 0x9689,
+ 48895 - 44032: 0x968A,
+ 48896 - 44032: 0x968B,
+ 48897 - 44032: 0xBBBF,
+ 48898 - 44032: 0x968C,
+ 48899 - 44032: 0x968D,
+ 48900 - 44032: 0x968E,
+ 48901 - 44032: 0x968F,
+ 48902 - 44032: 0x9690,
+ 48903 - 44032: 0x9691,
+ 48904 - 44032: 0xBBC0,
+ 48905 - 44032: 0xBBC1,
+ 48906 - 44032: 0x9692,
+ 48907 - 44032: 0x9693,
+ 48908 - 44032: 0x9694,
+ 48909 - 44032: 0x9695,
+ 48910 - 44032: 0x9696,
+ 48911 - 44032: 0x9697,
+ 48912 - 44032: 0x9698,
+ 48913 - 44032: 0x9699,
+ 48914 - 44032: 0x969A,
+ 48915 - 44032: 0x969B,
+ 48916 - 44032: 0x969C,
+ 48917 - 44032: 0x969D,
+ 48918 - 44032: 0x969E,
+ 48919 - 44032: 0x969F,
+ 48920 - 44032: 0xBBC2,
+ 48921 - 44032: 0xBBC3,
+ 48922 - 44032: 0x96A0,
+ 48923 - 44032: 0xBBC4,
+ 48924 - 44032: 0xBBC5,
+ 48925 - 44032: 0xBBC6,
+ 48926 - 44032: 0x96A1,
+ 48927 - 44032: 0x96A2,
+ 48928 - 44032: 0x96A3,
+ 48929 - 44032: 0x96A4,
+ 48930 - 44032: 0x96A5,
+ 48931 - 44032: 0x96A6,
+ 48932 - 44032: 0x96A7,
+ 48933 - 44032: 0x96A8,
+ 48934 - 44032: 0x96A9,
+ 48935 - 44032: 0x96AA,
+ 48936 - 44032: 0x96AB,
+ 48937 - 44032: 0x96AC,
+ 48938 - 44032: 0x96AD,
+ 48939 - 44032: 0x96AE,
+ 48940 - 44032: 0x96AF,
+ 48941 - 44032: 0x96B0,
+ 48942 - 44032: 0x96B1,
+ 48943 - 44032: 0x96B2,
+ 48944 - 44032: 0x96B3,
+ 48945 - 44032: 0x96B4,
+ 48946 - 44032: 0x96B5,
+ 48947 - 44032: 0x96B6,
+ 48948 - 44032: 0x96B7,
+ 48949 - 44032: 0x96B8,
+ 48950 - 44032: 0x96B9,
+ 48951 - 44032: 0x96BA,
+ 48952 - 44032: 0x96BB,
+ 48953 - 44032: 0x96BC,
+ 48954 - 44032: 0x96BD,
+ 48955 - 44032: 0x96BE,
+ 48956 - 44032: 0x96BF,
+ 48957 - 44032: 0x96C0,
+ 48958 - 44032: 0x96C1,
+ 48959 - 44032: 0x96C2,
+ 48960 - 44032: 0xBBC7,
+ 48961 - 44032: 0xBBC8,
+ 48962 - 44032: 0x96C3,
+ 48963 - 44032: 0x96C4,
+ 48964 - 44032: 0xBBC9,
+ 48965 - 44032: 0x96C5,
+ 48966 - 44032: 0x96C6,
+ 48967 - 44032: 0x96C7,
+ 48968 - 44032: 0xBBCA,
+ 48969 - 44032: 0x96C8,
+ 48970 - 44032: 0x96C9,
+ 48971 - 44032: 0x96CA,
+ 48972 - 44032: 0x96CB,
+ 48973 - 44032: 0x96CC,
+ 48974 - 44032: 0x96CD,
+ 48975 - 44032: 0x96CE,
+ 48976 - 44032: 0xBBCB,
+ 48977 - 44032: 0xBBCC,
+ 48978 - 44032: 0x96CF,
+ 48979 - 44032: 0x96D0,
+ 48980 - 44032: 0x96D1,
+ 48981 - 44032: 0xBBCD,
+ 48982 - 44032: 0x96D2,
+ 48983 - 44032: 0x96D3,
+ 48984 - 44032: 0x96D4,
+ 48985 - 44032: 0x96D5,
+ 48986 - 44032: 0x96D6,
+ 48987 - 44032: 0x96D7,
+ 48988 - 44032: 0x96D8,
+ 48989 - 44032: 0x96D9,
+ 48990 - 44032: 0x96DA,
+ 48991 - 44032: 0x96DB,
+ 48992 - 44032: 0x96DC,
+ 48993 - 44032: 0x96DD,
+ 48994 - 44032: 0x96DE,
+ 48995 - 44032: 0x96DF,
+ 48996 - 44032: 0x96E0,
+ 48997 - 44032: 0x96E1,
+ 48998 - 44032: 0x96E2,
+ 48999 - 44032: 0x96E3,
+ 49000 - 44032: 0x96E4,
+ 49001 - 44032: 0x96E5,
+ 49002 - 44032: 0x96E6,
+ 49003 - 44032: 0x96E7,
+ 49004 - 44032: 0x96E8,
+ 49005 - 44032: 0x96E9,
+ 49006 - 44032: 0x96EA,
+ 49007 - 44032: 0x96EB,
+ 49008 - 44032: 0x96EC,
+ 49009 - 44032: 0x96ED,
+ 49010 - 44032: 0x96EE,
+ 49011 - 44032: 0x96EF,
+ 49012 - 44032: 0x96F0,
+ 49013 - 44032: 0x96F1,
+ 49014 - 44032: 0x96F2,
+ 49015 - 44032: 0x96F3,
+ 49016 - 44032: 0x96F4,
+ 49017 - 44032: 0x96F5,
+ 49018 - 44032: 0x96F6,
+ 49019 - 44032: 0x96F7,
+ 49020 - 44032: 0x96F8,
+ 49021 - 44032: 0x96F9,
+ 49022 - 44032: 0x96FA,
+ 49023 - 44032: 0x96FB,
+ 49024 - 44032: 0x96FC,
+ 49025 - 44032: 0x96FD,
+ 49026 - 44032: 0x96FE,
+ 49027 - 44032: 0x9741,
+ 49028 - 44032: 0x9742,
+ 49029 - 44032: 0x9743,
+ 49030 - 44032: 0x9744,
+ 49031 - 44032: 0x9745,
+ 49032 - 44032: 0x9746,
+ 49033 - 44032: 0x9747,
+ 49034 - 44032: 0x9748,
+ 49035 - 44032: 0x9749,
+ 49036 - 44032: 0x974A,
+ 49037 - 44032: 0x974B,
+ 49038 - 44032: 0x974C,
+ 49039 - 44032: 0x974D,
+ 49040 - 44032: 0x974E,
+ 49041 - 44032: 0x974F,
+ 49042 - 44032: 0x9750,
+ 49043 - 44032: 0x9751,
+ 49044 - 44032: 0xBBCE,
+ 49045 - 44032: 0x9752,
+ 49046 - 44032: 0x9753,
+ 49047 - 44032: 0x9754,
+ 49048 - 44032: 0x9755,
+ 49049 - 44032: 0x9756,
+ 49050 - 44032: 0x9757,
+ 49051 - 44032: 0x9758,
+ 49052 - 44032: 0x9759,
+ 49053 - 44032: 0x975A,
+ 49054 - 44032: 0x9761,
+ 49055 - 44032: 0x9762,
+ 49056 - 44032: 0x9763,
+ 49057 - 44032: 0x9764,
+ 49058 - 44032: 0x9765,
+ 49059 - 44032: 0x9766,
+ 49060 - 44032: 0x9767,
+ 49061 - 44032: 0x9768,
+ 49062 - 44032: 0x9769,
+ 49063 - 44032: 0x976A,
+ 49064 - 44032: 0x976B,
+ 49065 - 44032: 0x976C,
+ 49066 - 44032: 0x976D,
+ 49067 - 44032: 0x976E,
+ 49068 - 44032: 0x976F,
+ 49069 - 44032: 0x9770,
+ 49070 - 44032: 0x9771,
+ 49071 - 44032: 0x9772,
+ 49072 - 44032: 0xBBCF,
+ 49073 - 44032: 0x9773,
+ 49074 - 44032: 0x9774,
+ 49075 - 44032: 0x9775,
+ 49076 - 44032: 0x9776,
+ 49077 - 44032: 0x9777,
+ 49078 - 44032: 0x9778,
+ 49079 - 44032: 0x9779,
+ 49080 - 44032: 0x977A,
+ 49081 - 44032: 0x9781,
+ 49082 - 44032: 0x9782,
+ 49083 - 44032: 0x9783,
+ 49084 - 44032: 0x9784,
+ 49085 - 44032: 0x9785,
+ 49086 - 44032: 0x9786,
+ 49087 - 44032: 0x9787,
+ 49088 - 44032: 0x9788,
+ 49089 - 44032: 0x9789,
+ 49090 - 44032: 0x978A,
+ 49091 - 44032: 0x978B,
+ 49092 - 44032: 0x978C,
+ 49093 - 44032: 0xBBD0,
+ 49094 - 44032: 0x978D,
+ 49095 - 44032: 0x978E,
+ 49096 - 44032: 0x978F,
+ 49097 - 44032: 0x9790,
+ 49098 - 44032: 0x9791,
+ 49099 - 44032: 0x9792,
+ 49100 - 44032: 0xBBD1,
+ 49101 - 44032: 0xBBD2,
+ 49102 - 44032: 0x9793,
+ 49103 - 44032: 0x9794,
+ 49104 - 44032: 0xBBD3,
+ 49105 - 44032: 0x9795,
+ 49106 - 44032: 0x9796,
+ 49107 - 44032: 0x9797,
+ 49108 - 44032: 0xBBD4,
+ 49109 - 44032: 0x9798,
+ 49110 - 44032: 0x9799,
+ 49111 - 44032: 0x979A,
+ 49112 - 44032: 0x979B,
+ 49113 - 44032: 0x979C,
+ 49114 - 44032: 0x979D,
+ 49115 - 44032: 0x979E,
+ 49116 - 44032: 0xBBD5,
+ 49117 - 44032: 0x979F,
+ 49118 - 44032: 0x97A0,
+ 49119 - 44032: 0xBBD6,
+ 49120 - 44032: 0x97A1,
+ 49121 - 44032: 0xBBD7,
+ 49122 - 44032: 0x97A2,
+ 49123 - 44032: 0x97A3,
+ 49124 - 44032: 0x97A4,
+ 49125 - 44032: 0x97A5,
+ 49126 - 44032: 0x97A6,
+ 49127 - 44032: 0x97A7,
+ 49128 - 44032: 0x97A8,
+ 49129 - 44032: 0x97A9,
+ 49130 - 44032: 0x97AA,
+ 49131 - 44032: 0x97AB,
+ 49132 - 44032: 0x97AC,
+ 49133 - 44032: 0x97AD,
+ 49134 - 44032: 0x97AE,
+ 49135 - 44032: 0x97AF,
+ 49136 - 44032: 0x97B0,
+ 49137 - 44032: 0x97B1,
+ 49138 - 44032: 0x97B2,
+ 49139 - 44032: 0x97B3,
+ 49140 - 44032: 0x97B4,
+ 49141 - 44032: 0x97B5,
+ 49142 - 44032: 0x97B6,
+ 49143 - 44032: 0x97B7,
+ 49144 - 44032: 0x97B8,
+ 49145 - 44032: 0x97B9,
+ 49146 - 44032: 0x97BA,
+ 49147 - 44032: 0x97BB,
+ 49148 - 44032: 0x97BC,
+ 49149 - 44032: 0x97BD,
+ 49150 - 44032: 0x97BE,
+ 49151 - 44032: 0x97BF,
+ 49152 - 44032: 0x97C0,
+ 49153 - 44032: 0x97C1,
+ 49154 - 44032: 0x97C2,
+ 49155 - 44032: 0x97C3,
+ 49156 - 44032: 0x97C4,
+ 49157 - 44032: 0x97C5,
+ 49158 - 44032: 0x97C6,
+ 49159 - 44032: 0x97C7,
+ 49160 - 44032: 0x97C8,
+ 49161 - 44032: 0x97C9,
+ 49162 - 44032: 0x97CA,
+ 49163 - 44032: 0x97CB,
+ 49164 - 44032: 0x97CC,
+ 49165 - 44032: 0x97CD,
+ 49166 - 44032: 0x97CE,
+ 49167 - 44032: 0x97CF,
+ 49168 - 44032: 0x97D0,
+ 49169 - 44032: 0x97D1,
+ 49170 - 44032: 0x97D2,
+ 49171 - 44032: 0x97D3,
+ 49172 - 44032: 0x97D4,
+ 49173 - 44032: 0x97D5,
+ 49174 - 44032: 0x97D6,
+ 49175 - 44032: 0x97D7,
+ 49176 - 44032: 0x97D8,
+ 49177 - 44032: 0x97D9,
+ 49178 - 44032: 0x97DA,
+ 49179 - 44032: 0x97DB,
+ 49180 - 44032: 0x97DC,
+ 49181 - 44032: 0x97DD,
+ 49182 - 44032: 0x97DE,
+ 49183 - 44032: 0x97DF,
+ 49184 - 44032: 0x97E0,
+ 49185 - 44032: 0x97E1,
+ 49186 - 44032: 0x97E2,
+ 49187 - 44032: 0x97E3,
+ 49188 - 44032: 0x97E4,
+ 49189 - 44032: 0x97E5,
+ 49190 - 44032: 0x97E6,
+ 49191 - 44032: 0x97E7,
+ 49192 - 44032: 0x97E8,
+ 49193 - 44032: 0x97E9,
+ 49194 - 44032: 0x97EA,
+ 49195 - 44032: 0x97EB,
+ 49196 - 44032: 0x97EC,
+ 49197 - 44032: 0x97ED,
+ 49198 - 44032: 0x97EE,
+ 49199 - 44032: 0x97EF,
+ 49200 - 44032: 0x97F0,
+ 49201 - 44032: 0x97F1,
+ 49202 - 44032: 0x97F2,
+ 49203 - 44032: 0x97F3,
+ 49204 - 44032: 0x97F4,
+ 49205 - 44032: 0x97F5,
+ 49206 - 44032: 0x97F6,
+ 49207 - 44032: 0x97F7,
+ 49208 - 44032: 0x97F8,
+ 49209 - 44032: 0x97F9,
+ 49210 - 44032: 0x97FA,
+ 49211 - 44032: 0x97FB,
+ 49212 - 44032: 0xBBD8,
+ 49213 - 44032: 0x97FC,
+ 49214 - 44032: 0x97FD,
+ 49215 - 44032: 0x97FE,
+ 49216 - 44032: 0x9841,
+ 49217 - 44032: 0x9842,
+ 49218 - 44032: 0x9843,
+ 49219 - 44032: 0x9844,
+ 49220 - 44032: 0x9845,
+ 49221 - 44032: 0x9846,
+ 49222 - 44032: 0x9847,
+ 49223 - 44032: 0x9848,
+ 49224 - 44032: 0x9849,
+ 49225 - 44032: 0x984A,
+ 49226 - 44032: 0x984B,
+ 49227 - 44032: 0x984C,
+ 49228 - 44032: 0x984D,
+ 49229 - 44032: 0x984E,
+ 49230 - 44032: 0x984F,
+ 49231 - 44032: 0x9850,
+ 49232 - 44032: 0x9851,
+ 49233 - 44032: 0xBBD9,
+ 49234 - 44032: 0x9852,
+ 49235 - 44032: 0x9853,
+ 49236 - 44032: 0x9854,
+ 49237 - 44032: 0x9855,
+ 49238 - 44032: 0x9856,
+ 49239 - 44032: 0x9857,
+ 49240 - 44032: 0xBBDA,
+ 49241 - 44032: 0x9858,
+ 49242 - 44032: 0x9859,
+ 49243 - 44032: 0x985A,
+ 49244 - 44032: 0xBBDB,
+ 49245 - 44032: 0x9861,
+ 49246 - 44032: 0x9862,
+ 49247 - 44032: 0x9863,
+ 49248 - 44032: 0xBBDC,
+ 49249 - 44032: 0x9864,
+ 49250 - 44032: 0x9865,
+ 49251 - 44032: 0x9866,
+ 49252 - 44032: 0x9867,
+ 49253 - 44032: 0x9868,
+ 49254 - 44032: 0x9869,
+ 49255 - 44032: 0x986A,
+ 49256 - 44032: 0xBBDD,
+ 49257 - 44032: 0xBBDE,
+ 49258 - 44032: 0x986B,
+ 49259 - 44032: 0x986C,
+ 49260 - 44032: 0x986D,
+ 49261 - 44032: 0x986E,
+ 49262 - 44032: 0x986F,
+ 49263 - 44032: 0x9870,
+ 49264 - 44032: 0x9871,
+ 49265 - 44032: 0x9872,
+ 49266 - 44032: 0x9873,
+ 49267 - 44032: 0x9874,
+ 49268 - 44032: 0x9875,
+ 49269 - 44032: 0x9876,
+ 49270 - 44032: 0x9877,
+ 49271 - 44032: 0x9878,
+ 49272 - 44032: 0x9879,
+ 49273 - 44032: 0x987A,
+ 49274 - 44032: 0x9881,
+ 49275 - 44032: 0x9882,
+ 49276 - 44032: 0x9883,
+ 49277 - 44032: 0x9884,
+ 49278 - 44032: 0x9885,
+ 49279 - 44032: 0x9886,
+ 49280 - 44032: 0x9887,
+ 49281 - 44032: 0x9888,
+ 49282 - 44032: 0x9889,
+ 49283 - 44032: 0x988A,
+ 49284 - 44032: 0x988B,
+ 49285 - 44032: 0x988C,
+ 49286 - 44032: 0x988D,
+ 49287 - 44032: 0x988E,
+ 49288 - 44032: 0x988F,
+ 49289 - 44032: 0x9890,
+ 49290 - 44032: 0x9891,
+ 49291 - 44032: 0x9892,
+ 49292 - 44032: 0x9893,
+ 49293 - 44032: 0x9894,
+ 49294 - 44032: 0x9895,
+ 49295 - 44032: 0x9896,
+ 49296 - 44032: 0xBBDF,
+ 49297 - 44032: 0xBBE0,
+ 49298 - 44032: 0x9897,
+ 49299 - 44032: 0x9898,
+ 49300 - 44032: 0xBBE1,
+ 49301 - 44032: 0x9899,
+ 49302 - 44032: 0x989A,
+ 49303 - 44032: 0x989B,
+ 49304 - 44032: 0xBBE2,
+ 49305 - 44032: 0x989C,
+ 49306 - 44032: 0x989D,
+ 49307 - 44032: 0x989E,
+ 49308 - 44032: 0x989F,
+ 49309 - 44032: 0x98A0,
+ 49310 - 44032: 0x98A1,
+ 49311 - 44032: 0x98A2,
+ 49312 - 44032: 0xBBE3,
+ 49313 - 44032: 0xBBE4,
+ 49314 - 44032: 0x98A3,
+ 49315 - 44032: 0xBBE5,
+ 49316 - 44032: 0x98A4,
+ 49317 - 44032: 0xBBE6,
+ 49318 - 44032: 0x98A5,
+ 49319 - 44032: 0x98A6,
+ 49320 - 44032: 0x98A7,
+ 49321 - 44032: 0x98A8,
+ 49322 - 44032: 0x98A9,
+ 49323 - 44032: 0x98AA,
+ 49324 - 44032: 0xBBE7,
+ 49325 - 44032: 0xBBE8,
+ 49326 - 44032: 0x98AB,
+ 49327 - 44032: 0xBBE9,
+ 49328 - 44032: 0xBBEA,
+ 49329 - 44032: 0x98AC,
+ 49330 - 44032: 0x98AD,
+ 49331 - 44032: 0xBBEB,
+ 49332 - 44032: 0xBBEC,
+ 49333 - 44032: 0xBBED,
+ 49334 - 44032: 0xBBEE,
+ 49335 - 44032: 0x98AE,
+ 49336 - 44032: 0x98AF,
+ 49337 - 44032: 0x98B0,
+ 49338 - 44032: 0x98B1,
+ 49339 - 44032: 0x98B2,
+ 49340 - 44032: 0xBBEF,
+ 49341 - 44032: 0xBBF0,
+ 49342 - 44032: 0x98B3,
+ 49343 - 44032: 0xBBF1,
+ 49344 - 44032: 0xBBF2,
+ 49345 - 44032: 0xBBF3,
+ 49346 - 44032: 0x98B4,
+ 49347 - 44032: 0x98B5,
+ 49348 - 44032: 0x98B6,
+ 49349 - 44032: 0xBBF4,
+ 49350 - 44032: 0x98B7,
+ 49351 - 44032: 0x98B8,
+ 49352 - 44032: 0xBBF5,
+ 49353 - 44032: 0xBBF6,
+ 49354 - 44032: 0x98B9,
+ 49355 - 44032: 0x98BA,
+ 49356 - 44032: 0xBBF7,
+ 49357 - 44032: 0x98BB,
+ 49358 - 44032: 0x98BC,
+ 49359 - 44032: 0x98BD,
+ 49360 - 44032: 0xBBF8,
+ 49361 - 44032: 0x98BE,
+ 49362 - 44032: 0x98BF,
+ 49363 - 44032: 0x98C0,
+ 49364 - 44032: 0x98C1,
+ 49365 - 44032: 0x98C2,
+ 49366 - 44032: 0x98C3,
+ 49367 - 44032: 0x98C4,
+ 49368 - 44032: 0xBBF9,
+ 49369 - 44032: 0xBBFA,
+ 49370 - 44032: 0x98C5,
+ 49371 - 44032: 0xBBFB,
+ 49372 - 44032: 0xBBFC,
+ 49373 - 44032: 0xBBFD,
+ 49374 - 44032: 0x98C6,
+ 49375 - 44032: 0x98C7,
+ 49376 - 44032: 0x98C8,
+ 49377 - 44032: 0x98C9,
+ 49378 - 44032: 0x98CA,
+ 49379 - 44032: 0x98CB,
+ 49380 - 44032: 0xBBFE,
+ 49381 - 44032: 0xBCA1,
+ 49382 - 44032: 0x98CC,
+ 49383 - 44032: 0x98CD,
+ 49384 - 44032: 0xBCA2,
+ 49385 - 44032: 0x98CE,
+ 49386 - 44032: 0x98CF,
+ 49387 - 44032: 0x98D0,
+ 49388 - 44032: 0xBCA3,
+ 49389 - 44032: 0x98D1,
+ 49390 - 44032: 0x98D2,
+ 49391 - 44032: 0x98D3,
+ 49392 - 44032: 0x98D4,
+ 49393 - 44032: 0x98D5,
+ 49394 - 44032: 0x98D6,
+ 49395 - 44032: 0x98D7,
+ 49396 - 44032: 0xBCA4,
+ 49397 - 44032: 0xBCA5,
+ 49398 - 44032: 0x98D8,
+ 49399 - 44032: 0xBCA6,
+ 49400 - 44032: 0x98D9,
+ 49401 - 44032: 0xBCA7,
+ 49402 - 44032: 0x98DA,
+ 49403 - 44032: 0x98DB,
+ 49404 - 44032: 0x98DC,
+ 49405 - 44032: 0x98DD,
+ 49406 - 44032: 0x98DE,
+ 49407 - 44032: 0x98DF,
+ 49408 - 44032: 0xBCA8,
+ 49409 - 44032: 0x98E0,
+ 49410 - 44032: 0x98E1,
+ 49411 - 44032: 0x98E2,
+ 49412 - 44032: 0xBCA9,
+ 49413 - 44032: 0x98E3,
+ 49414 - 44032: 0x98E4,
+ 49415 - 44032: 0x98E5,
+ 49416 - 44032: 0xBCAA,
+ 49417 - 44032: 0x98E6,
+ 49418 - 44032: 0x98E7,
+ 49419 - 44032: 0x98E8,
+ 49420 - 44032: 0x98E9,
+ 49421 - 44032: 0x98EA,
+ 49422 - 44032: 0x98EB,
+ 49423 - 44032: 0x98EC,
+ 49424 - 44032: 0xBCAB,
+ 49425 - 44032: 0x98ED,
+ 49426 - 44032: 0x98EE,
+ 49427 - 44032: 0x98EF,
+ 49428 - 44032: 0x98F0,
+ 49429 - 44032: 0xBCAC,
+ 49430 - 44032: 0x98F1,
+ 49431 - 44032: 0x98F2,
+ 49432 - 44032: 0x98F3,
+ 49433 - 44032: 0x98F4,
+ 49434 - 44032: 0x98F5,
+ 49435 - 44032: 0x98F6,
+ 49436 - 44032: 0xBCAD,
+ 49437 - 44032: 0xBCAE,
+ 49438 - 44032: 0xBCAF,
+ 49439 - 44032: 0xBCB0,
+ 49440 - 44032: 0xBCB1,
+ 49441 - 44032: 0x98F7,
+ 49442 - 44032: 0x98F8,
+ 49443 - 44032: 0xBCB2,
+ 49444 - 44032: 0xBCB3,
+ 49445 - 44032: 0x98F9,
+ 49446 - 44032: 0xBCB4,
+ 49447 - 44032: 0xBCB5,
+ 49448 - 44032: 0x98FA,
+ 49449 - 44032: 0x98FB,
+ 49450 - 44032: 0x98FC,
+ 49451 - 44032: 0x98FD,
+ 49452 - 44032: 0xBCB6,
+ 49453 - 44032: 0xBCB7,
+ 49454 - 44032: 0x98FE,
+ 49455 - 44032: 0xBCB8,
+ 49456 - 44032: 0xBCB9,
+ 49457 - 44032: 0xBCBA,
+ 49458 - 44032: 0x9941,
+ 49459 - 44032: 0x9942,
+ 49460 - 44032: 0x9943,
+ 49461 - 44032: 0x9944,
+ 49462 - 44032: 0xBCBB,
+ 49463 - 44032: 0x9945,
+ 49464 - 44032: 0xBCBC,
+ 49465 - 44032: 0xBCBD,
+ 49466 - 44032: 0x9946,
+ 49467 - 44032: 0x9947,
+ 49468 - 44032: 0xBCBE,
+ 49469 - 44032: 0x9948,
+ 49470 - 44032: 0x9949,
+ 49471 - 44032: 0x994A,
+ 49472 - 44032: 0xBCBF,
+ 49473 - 44032: 0x994B,
+ 49474 - 44032: 0x994C,
+ 49475 - 44032: 0x994D,
+ 49476 - 44032: 0x994E,
+ 49477 - 44032: 0x994F,
+ 49478 - 44032: 0x9950,
+ 49479 - 44032: 0x9951,
+ 49480 - 44032: 0xBCC0,
+ 49481 - 44032: 0xBCC1,
+ 49482 - 44032: 0x9952,
+ 49483 - 44032: 0xBCC2,
+ 49484 - 44032: 0xBCC3,
+ 49485 - 44032: 0xBCC4,
+ 49486 - 44032: 0x9953,
+ 49487 - 44032: 0x9954,
+ 49488 - 44032: 0x9955,
+ 49489 - 44032: 0x9956,
+ 49490 - 44032: 0x9957,
+ 49491 - 44032: 0x9958,
+ 49492 - 44032: 0xBCC5,
+ 49493 - 44032: 0xBCC6,
+ 49494 - 44032: 0x9959,
+ 49495 - 44032: 0x995A,
+ 49496 - 44032: 0xBCC7,
+ 49497 - 44032: 0x9961,
+ 49498 - 44032: 0x9962,
+ 49499 - 44032: 0x9963,
+ 49500 - 44032: 0xBCC8,
+ 49501 - 44032: 0x9964,
+ 49502 - 44032: 0x9965,
+ 49503 - 44032: 0x9966,
+ 49504 - 44032: 0x9967,
+ 49505 - 44032: 0x9968,
+ 49506 - 44032: 0x9969,
+ 49507 - 44032: 0x996A,
+ 49508 - 44032: 0xBCC9,
+ 49509 - 44032: 0xBCCA,
+ 49510 - 44032: 0x996B,
+ 49511 - 44032: 0xBCCB,
+ 49512 - 44032: 0xBCCC,
+ 49513 - 44032: 0xBCCD,
+ 49514 - 44032: 0x996C,
+ 49515 - 44032: 0x996D,
+ 49516 - 44032: 0x996E,
+ 49517 - 44032: 0x996F,
+ 49518 - 44032: 0x9970,
+ 49519 - 44032: 0x9971,
+ 49520 - 44032: 0xBCCE,
+ 49521 - 44032: 0x9972,
+ 49522 - 44032: 0x9973,
+ 49523 - 44032: 0x9974,
+ 49524 - 44032: 0xBCCF,
+ 49525 - 44032: 0x9975,
+ 49526 - 44032: 0x9976,
+ 49527 - 44032: 0x9977,
+ 49528 - 44032: 0xBCD0,
+ 49529 - 44032: 0x9978,
+ 49530 - 44032: 0x9979,
+ 49531 - 44032: 0x997A,
+ 49532 - 44032: 0x9981,
+ 49533 - 44032: 0x9982,
+ 49534 - 44032: 0x9983,
+ 49535 - 44032: 0x9984,
+ 49536 - 44032: 0x9985,
+ 49537 - 44032: 0x9986,
+ 49538 - 44032: 0x9987,
+ 49539 - 44032: 0x9988,
+ 49540 - 44032: 0x9989,
+ 49541 - 44032: 0xBCD1,
+ 49542 - 44032: 0x998A,
+ 49543 - 44032: 0x998B,
+ 49544 - 44032: 0x998C,
+ 49545 - 44032: 0x998D,
+ 49546 - 44032: 0x998E,
+ 49547 - 44032: 0x998F,
+ 49548 - 44032: 0xBCD2,
+ 49549 - 44032: 0xBCD3,
+ 49550 - 44032: 0xBCD4,
+ 49551 - 44032: 0x9990,
+ 49552 - 44032: 0xBCD5,
+ 49553 - 44032: 0x9991,
+ 49554 - 44032: 0x9992,
+ 49555 - 44032: 0x9993,
+ 49556 - 44032: 0xBCD6,
+ 49557 - 44032: 0x9994,
+ 49558 - 44032: 0xBCD7,
+ 49559 - 44032: 0x9995,
+ 49560 - 44032: 0x9996,
+ 49561 - 44032: 0x9997,
+ 49562 - 44032: 0x9998,
+ 49563 - 44032: 0x9999,
+ 49564 - 44032: 0xBCD8,
+ 49565 - 44032: 0xBCD9,
+ 49566 - 44032: 0x999A,
+ 49567 - 44032: 0xBCDA,
+ 49568 - 44032: 0x999B,
+ 49569 - 44032: 0xBCDB,
+ 49570 - 44032: 0x999C,
+ 49571 - 44032: 0x999D,
+ 49572 - 44032: 0x999E,
+ 49573 - 44032: 0xBCDC,
+ 49574 - 44032: 0x999F,
+ 49575 - 44032: 0x99A0,
+ 49576 - 44032: 0xBCDD,
+ 49577 - 44032: 0xBCDE,
+ 49578 - 44032: 0x99A1,
+ 49579 - 44032: 0x99A2,
+ 49580 - 44032: 0xBCDF,
+ 49581 - 44032: 0x99A3,
+ 49582 - 44032: 0x99A4,
+ 49583 - 44032: 0x99A5,
+ 49584 - 44032: 0xBCE0,
+ 49585 - 44032: 0x99A6,
+ 49586 - 44032: 0x99A7,
+ 49587 - 44032: 0x99A8,
+ 49588 - 44032: 0x99A9,
+ 49589 - 44032: 0x99AA,
+ 49590 - 44032: 0x99AB,
+ 49591 - 44032: 0x99AC,
+ 49592 - 44032: 0x99AD,
+ 49593 - 44032: 0x99AE,
+ 49594 - 44032: 0x99AF,
+ 49595 - 44032: 0x99B0,
+ 49596 - 44032: 0x99B1,
+ 49597 - 44032: 0xBCE1,
+ 49598 - 44032: 0x99B2,
+ 49599 - 44032: 0x99B3,
+ 49600 - 44032: 0x99B4,
+ 49601 - 44032: 0x99B5,
+ 49602 - 44032: 0x99B6,
+ 49603 - 44032: 0x99B7,
+ 49604 - 44032: 0xBCE2,
+ 49605 - 44032: 0x99B8,
+ 49606 - 44032: 0x99B9,
+ 49607 - 44032: 0x99BA,
+ 49608 - 44032: 0xBCE3,
+ 49609 - 44032: 0x99BB,
+ 49610 - 44032: 0x99BC,
+ 49611 - 44032: 0x99BD,
+ 49612 - 44032: 0xBCE4,
+ 49613 - 44032: 0x99BE,
+ 49614 - 44032: 0x99BF,
+ 49615 - 44032: 0x99C0,
+ 49616 - 44032: 0x99C1,
+ 49617 - 44032: 0x99C2,
+ 49618 - 44032: 0x99C3,
+ 49619 - 44032: 0x99C4,
+ 49620 - 44032: 0xBCE5,
+ 49621 - 44032: 0x99C5,
+ 49622 - 44032: 0x99C6,
+ 49623 - 44032: 0xBCE6,
+ 49624 - 44032: 0xBCE7,
+ 49625 - 44032: 0x99C7,
+ 49626 - 44032: 0x99C8,
+ 49627 - 44032: 0x99C9,
+ 49628 - 44032: 0x99CA,
+ 49629 - 44032: 0x99CB,
+ 49630 - 44032: 0x99CC,
+ 49631 - 44032: 0x99CD,
+ 49632 - 44032: 0xBCE8,
+ 49633 - 44032: 0x99CE,
+ 49634 - 44032: 0x99CF,
+ 49635 - 44032: 0x99D0,
+ 49636 - 44032: 0xBCE9,
+ 49637 - 44032: 0x99D1,
+ 49638 - 44032: 0x99D2,
+ 49639 - 44032: 0x99D3,
+ 49640 - 44032: 0xBCEA,
+ 49641 - 44032: 0x99D4,
+ 49642 - 44032: 0x99D5,
+ 49643 - 44032: 0x99D6,
+ 49644 - 44032: 0x99D7,
+ 49645 - 44032: 0x99D8,
+ 49646 - 44032: 0x99D9,
+ 49647 - 44032: 0x99DA,
+ 49648 - 44032: 0xBCEB,
+ 49649 - 44032: 0xBCEC,
+ 49650 - 44032: 0x99DB,
+ 49651 - 44032: 0xBCED,
+ 49652 - 44032: 0x99DC,
+ 49653 - 44032: 0x99DD,
+ 49654 - 44032: 0x99DE,
+ 49655 - 44032: 0x99DF,
+ 49656 - 44032: 0x99E0,
+ 49657 - 44032: 0x99E1,
+ 49658 - 44032: 0x99E2,
+ 49659 - 44032: 0x99E3,
+ 49660 - 44032: 0xBCEE,
+ 49661 - 44032: 0xBCEF,
+ 49662 - 44032: 0x99E4,
+ 49663 - 44032: 0x99E5,
+ 49664 - 44032: 0xBCF0,
+ 49665 - 44032: 0x99E6,
+ 49666 - 44032: 0x99E7,
+ 49667 - 44032: 0x99E8,
+ 49668 - 44032: 0xBCF1,
+ 49669 - 44032: 0x99E9,
+ 49670 - 44032: 0x99EA,
+ 49671 - 44032: 0x99EB,
+ 49672 - 44032: 0x99EC,
+ 49673 - 44032: 0x99ED,
+ 49674 - 44032: 0x99EE,
+ 49675 - 44032: 0x99EF,
+ 49676 - 44032: 0xBCF2,
+ 49677 - 44032: 0xBCF3,
+ 49678 - 44032: 0x99F0,
+ 49679 - 44032: 0xBCF4,
+ 49680 - 44032: 0x99F1,
+ 49681 - 44032: 0xBCF5,
+ 49682 - 44032: 0x99F2,
+ 49683 - 44032: 0x99F3,
+ 49684 - 44032: 0x99F4,
+ 49685 - 44032: 0x99F5,
+ 49686 - 44032: 0x99F6,
+ 49687 - 44032: 0x99F7,
+ 49688 - 44032: 0xBCF6,
+ 49689 - 44032: 0xBCF7,
+ 49690 - 44032: 0x99F8,
+ 49691 - 44032: 0x99F9,
+ 49692 - 44032: 0xBCF8,
+ 49693 - 44032: 0x99FA,
+ 49694 - 44032: 0x99FB,
+ 49695 - 44032: 0xBCF9,
+ 49696 - 44032: 0xBCFA,
+ 49697 - 44032: 0x99FC,
+ 49698 - 44032: 0x99FD,
+ 49699 - 44032: 0x99FE,
+ 49700 - 44032: 0x9A41,
+ 49701 - 44032: 0x9A42,
+ 49702 - 44032: 0x9A43,
+ 49703 - 44032: 0x9A44,
+ 49704 - 44032: 0xBCFB,
+ 49705 - 44032: 0xBCFC,
+ 49706 - 44032: 0x9A45,
+ 49707 - 44032: 0xBCFD,
+ 49708 - 44032: 0x9A46,
+ 49709 - 44032: 0xBCFE,
+ 49710 - 44032: 0x9A47,
+ 49711 - 44032: 0xBDA1,
+ 49712 - 44032: 0x9A48,
+ 49713 - 44032: 0xBDA2,
+ 49714 - 44032: 0xBDA3,
+ 49715 - 44032: 0x9A49,
+ 49716 - 44032: 0xBDA4,
+ 49717 - 44032: 0x9A4A,
+ 49718 - 44032: 0x9A4B,
+ 49719 - 44032: 0x9A4C,
+ 49720 - 44032: 0x9A4D,
+ 49721 - 44032: 0x9A4E,
+ 49722 - 44032: 0x9A4F,
+ 49723 - 44032: 0x9A50,
+ 49724 - 44032: 0x9A51,
+ 49725 - 44032: 0x9A52,
+ 49726 - 44032: 0x9A53,
+ 49727 - 44032: 0x9A54,
+ 49728 - 44032: 0x9A55,
+ 49729 - 44032: 0x9A56,
+ 49730 - 44032: 0x9A57,
+ 49731 - 44032: 0x9A58,
+ 49732 - 44032: 0x9A59,
+ 49733 - 44032: 0x9A5A,
+ 49734 - 44032: 0x9A61,
+ 49735 - 44032: 0x9A62,
+ 49736 - 44032: 0xBDA5,
+ 49737 - 44032: 0x9A63,
+ 49738 - 44032: 0x9A64,
+ 49739 - 44032: 0x9A65,
+ 49740 - 44032: 0x9A66,
+ 49741 - 44032: 0x9A67,
+ 49742 - 44032: 0x9A68,
+ 49743 - 44032: 0x9A69,
+ 49744 - 44032: 0xBDA6,
+ 49745 - 44032: 0xBDA7,
+ 49746 - 44032: 0x9A6A,
+ 49747 - 44032: 0x9A6B,
+ 49748 - 44032: 0xBDA8,
+ 49749 - 44032: 0x9A6C,
+ 49750 - 44032: 0x9A6D,
+ 49751 - 44032: 0x9A6E,
+ 49752 - 44032: 0xBDA9,
+ 49753 - 44032: 0x9A6F,
+ 49754 - 44032: 0x9A70,
+ 49755 - 44032: 0x9A71,
+ 49756 - 44032: 0x9A72,
+ 49757 - 44032: 0x9A73,
+ 49758 - 44032: 0x9A74,
+ 49759 - 44032: 0x9A75,
+ 49760 - 44032: 0xBDAA,
+ 49761 - 44032: 0x9A76,
+ 49762 - 44032: 0x9A77,
+ 49763 - 44032: 0x9A78,
+ 49764 - 44032: 0x9A79,
+ 49765 - 44032: 0xBDAB,
+ 49766 - 44032: 0x9A7A,
+ 49767 - 44032: 0x9A81,
+ 49768 - 44032: 0x9A82,
+ 49769 - 44032: 0x9A83,
+ 49770 - 44032: 0x9A84,
+ 49771 - 44032: 0x9A85,
+ 49772 - 44032: 0xBDAC,
+ 49773 - 44032: 0xBDAD,
+ 49774 - 44032: 0x9A86,
+ 49775 - 44032: 0x9A87,
+ 49776 - 44032: 0xBDAE,
+ 49777 - 44032: 0x9A88,
+ 49778 - 44032: 0x9A89,
+ 49779 - 44032: 0x9A8A,
+ 49780 - 44032: 0xBDAF,
+ 49781 - 44032: 0x9A8B,
+ 49782 - 44032: 0x9A8C,
+ 49783 - 44032: 0x9A8D,
+ 49784 - 44032: 0x9A8E,
+ 49785 - 44032: 0x9A8F,
+ 49786 - 44032: 0x9A90,
+ 49787 - 44032: 0x9A91,
+ 49788 - 44032: 0xBDB0,
+ 49789 - 44032: 0xBDB1,
+ 49790 - 44032: 0x9A92,
+ 49791 - 44032: 0xBDB2,
+ 49792 - 44032: 0x9A93,
+ 49793 - 44032: 0xBDB3,
+ 49794 - 44032: 0x9A94,
+ 49795 - 44032: 0x9A95,
+ 49796 - 44032: 0x9A96,
+ 49797 - 44032: 0x9A97,
+ 49798 - 44032: 0x9A98,
+ 49799 - 44032: 0x9A99,
+ 49800 - 44032: 0xBDB4,
+ 49801 - 44032: 0xBDB5,
+ 49802 - 44032: 0x9A9A,
+ 49803 - 44032: 0x9A9B,
+ 49804 - 44032: 0x9A9C,
+ 49805 - 44032: 0x9A9D,
+ 49806 - 44032: 0x9A9E,
+ 49807 - 44032: 0x9A9F,
+ 49808 - 44032: 0xBDB6,
+ 49809 - 44032: 0x9AA0,
+ 49810 - 44032: 0x9AA1,
+ 49811 - 44032: 0x9AA2,
+ 49812 - 44032: 0x9AA3,
+ 49813 - 44032: 0x9AA4,
+ 49814 - 44032: 0x9AA5,
+ 49815 - 44032: 0x9AA6,
+ 49816 - 44032: 0xBDB7,
+ 49817 - 44032: 0x9AA7,
+ 49818 - 44032: 0x9AA8,
+ 49819 - 44032: 0xBDB8,
+ 49820 - 44032: 0x9AA9,
+ 49821 - 44032: 0xBDB9,
+ 49822 - 44032: 0x9AAA,
+ 49823 - 44032: 0x9AAB,
+ 49824 - 44032: 0x9AAC,
+ 49825 - 44032: 0x9AAD,
+ 49826 - 44032: 0x9AAE,
+ 49827 - 44032: 0x9AAF,
+ 49828 - 44032: 0xBDBA,
+ 49829 - 44032: 0xBDBB,
+ 49830 - 44032: 0x9AB0,
+ 49831 - 44032: 0x9AB1,
+ 49832 - 44032: 0xBDBC,
+ 49833 - 44032: 0x9AB2,
+ 49834 - 44032: 0x9AB3,
+ 49835 - 44032: 0x9AB4,
+ 49836 - 44032: 0xBDBD,
+ 49837 - 44032: 0xBDBE,
+ 49838 - 44032: 0x9AB5,
+ 49839 - 44032: 0x9AB6,
+ 49840 - 44032: 0x9AB7,
+ 49841 - 44032: 0x9AB8,
+ 49842 - 44032: 0x9AB9,
+ 49843 - 44032: 0x9ABA,
+ 49844 - 44032: 0xBDBF,
+ 49845 - 44032: 0xBDC0,
+ 49846 - 44032: 0x9ABB,
+ 49847 - 44032: 0xBDC1,
+ 49848 - 44032: 0x9ABC,
+ 49849 - 44032: 0xBDC2,
+ 49850 - 44032: 0x9ABD,
+ 49851 - 44032: 0x9ABE,
+ 49852 - 44032: 0x9ABF,
+ 49853 - 44032: 0x9AC0,
+ 49854 - 44032: 0x9AC1,
+ 49855 - 44032: 0x9AC2,
+ 49856 - 44032: 0x9AC3,
+ 49857 - 44032: 0x9AC4,
+ 49858 - 44032: 0x9AC5,
+ 49859 - 44032: 0x9AC6,
+ 49860 - 44032: 0x9AC7,
+ 49861 - 44032: 0x9AC8,
+ 49862 - 44032: 0x9AC9,
+ 49863 - 44032: 0x9ACA,
+ 49864 - 44032: 0x9ACB,
+ 49865 - 44032: 0x9ACC,
+ 49866 - 44032: 0x9ACD,
+ 49867 - 44032: 0x9ACE,
+ 49868 - 44032: 0x9ACF,
+ 49869 - 44032: 0x9AD0,
+ 49870 - 44032: 0x9AD1,
+ 49871 - 44032: 0x9AD2,
+ 49872 - 44032: 0x9AD3,
+ 49873 - 44032: 0x9AD4,
+ 49874 - 44032: 0x9AD5,
+ 49875 - 44032: 0x9AD6,
+ 49876 - 44032: 0x9AD7,
+ 49877 - 44032: 0x9AD8,
+ 49878 - 44032: 0x9AD9,
+ 49879 - 44032: 0x9ADA,
+ 49880 - 44032: 0x9ADB,
+ 49881 - 44032: 0x9ADC,
+ 49882 - 44032: 0x9ADD,
+ 49883 - 44032: 0x9ADE,
+ 49884 - 44032: 0xBDC3,
+ 49885 - 44032: 0xBDC4,
+ 49886 - 44032: 0x9ADF,
+ 49887 - 44032: 0x9AE0,
+ 49888 - 44032: 0xBDC5,
+ 49889 - 44032: 0x9AE1,
+ 49890 - 44032: 0x9AE2,
+ 49891 - 44032: 0xBDC6,
+ 49892 - 44032: 0xBDC7,
+ 49893 - 44032: 0x9AE3,
+ 49894 - 44032: 0x9AE4,
+ 49895 - 44032: 0x9AE5,
+ 49896 - 44032: 0x9AE6,
+ 49897 - 44032: 0x9AE7,
+ 49898 - 44032: 0x9AE8,
+ 49899 - 44032: 0xBDC8,
+ 49900 - 44032: 0xBDC9,
+ 49901 - 44032: 0xBDCA,
+ 49902 - 44032: 0x9AE9,
+ 49903 - 44032: 0xBDCB,
+ 49904 - 44032: 0x9AEA,
+ 49905 - 44032: 0xBDCC,
+ 49906 - 44032: 0x9AEB,
+ 49907 - 44032: 0x9AEC,
+ 49908 - 44032: 0x9AED,
+ 49909 - 44032: 0x9AEE,
+ 49910 - 44032: 0xBDCD,
+ 49911 - 44032: 0x9AEF,
+ 49912 - 44032: 0xBDCE,
+ 49913 - 44032: 0xBDCF,
+ 49914 - 44032: 0x9AF0,
+ 49915 - 44032: 0xBDD0,
+ 49916 - 44032: 0xBDD1,
+ 49917 - 44032: 0x9AF1,
+ 49918 - 44032: 0x9AF2,
+ 49919 - 44032: 0x9AF3,
+ 49920 - 44032: 0xBDD2,
+ 49921 - 44032: 0x9AF4,
+ 49922 - 44032: 0x9AF5,
+ 49923 - 44032: 0x9AF6,
+ 49924 - 44032: 0x9AF7,
+ 49925 - 44032: 0x9AF8,
+ 49926 - 44032: 0x9AF9,
+ 49927 - 44032: 0x9AFA,
+ 49928 - 44032: 0xBDD3,
+ 49929 - 44032: 0xBDD4,
+ 49930 - 44032: 0x9AFB,
+ 49931 - 44032: 0x9AFC,
+ 49932 - 44032: 0xBDD5,
+ 49933 - 44032: 0xBDD6,
+ 49934 - 44032: 0x9AFD,
+ 49935 - 44032: 0x9AFE,
+ 49936 - 44032: 0x9B41,
+ 49937 - 44032: 0x9B42,
+ 49938 - 44032: 0x9B43,
+ 49939 - 44032: 0xBDD7,
+ 49940 - 44032: 0xBDD8,
+ 49941 - 44032: 0xBDD9,
+ 49942 - 44032: 0x9B44,
+ 49943 - 44032: 0x9B45,
+ 49944 - 44032: 0xBDDA,
+ 49945 - 44032: 0x9B46,
+ 49946 - 44032: 0x9B47,
+ 49947 - 44032: 0x9B48,
+ 49948 - 44032: 0xBDDB,
+ 49949 - 44032: 0x9B49,
+ 49950 - 44032: 0x9B4A,
+ 49951 - 44032: 0x9B4B,
+ 49952 - 44032: 0x9B4C,
+ 49953 - 44032: 0x9B4D,
+ 49954 - 44032: 0x9B4E,
+ 49955 - 44032: 0x9B4F,
+ 49956 - 44032: 0xBDDC,
+ 49957 - 44032: 0xBDDD,
+ 49958 - 44032: 0x9B50,
+ 49959 - 44032: 0x9B51,
+ 49960 - 44032: 0xBDDE,
+ 49961 - 44032: 0xBDDF,
+ 49962 - 44032: 0x9B52,
+ 49963 - 44032: 0x9B53,
+ 49964 - 44032: 0x9B54,
+ 49965 - 44032: 0x9B55,
+ 49966 - 44032: 0x9B56,
+ 49967 - 44032: 0x9B57,
+ 49968 - 44032: 0x9B58,
+ 49969 - 44032: 0x9B59,
+ 49970 - 44032: 0x9B5A,
+ 49971 - 44032: 0x9B61,
+ 49972 - 44032: 0x9B62,
+ 49973 - 44032: 0x9B63,
+ 49974 - 44032: 0x9B64,
+ 49975 - 44032: 0x9B65,
+ 49976 - 44032: 0x9B66,
+ 49977 - 44032: 0x9B67,
+ 49978 - 44032: 0x9B68,
+ 49979 - 44032: 0x9B69,
+ 49980 - 44032: 0x9B6A,
+ 49981 - 44032: 0x9B6B,
+ 49982 - 44032: 0x9B6C,
+ 49983 - 44032: 0x9B6D,
+ 49984 - 44032: 0x9B6E,
+ 49985 - 44032: 0x9B6F,
+ 49986 - 44032: 0x9B70,
+ 49987 - 44032: 0x9B71,
+ 49988 - 44032: 0x9B72,
+ 49989 - 44032: 0xBDE0,
+ 49990 - 44032: 0x9B73,
+ 49991 - 44032: 0x9B74,
+ 49992 - 44032: 0x9B75,
+ 49993 - 44032: 0x9B76,
+ 49994 - 44032: 0x9B77,
+ 49995 - 44032: 0x9B78,
+ 49996 - 44032: 0x9B79,
+ 49997 - 44032: 0x9B7A,
+ 49998 - 44032: 0x9B81,
+ 49999 - 44032: 0x9B82,
+ 50000 - 44032: 0x9B83,
+ 50001 - 44032: 0x9B84,
+ 50002 - 44032: 0x9B85,
+ 50003 - 44032: 0x9B86,
+ 50004 - 44032: 0x9B87,
+ 50005 - 44032: 0x9B88,
+ 50006 - 44032: 0x9B89,
+ 50007 - 44032: 0x9B8A,
+ 50008 - 44032: 0x9B8B,
+ 50009 - 44032: 0x9B8C,
+ 50010 - 44032: 0x9B8D,
+ 50011 - 44032: 0x9B8E,
+ 50012 - 44032: 0x9B8F,
+ 50013 - 44032: 0x9B90,
+ 50014 - 44032: 0x9B91,
+ 50015 - 44032: 0x9B92,
+ 50016 - 44032: 0x9B93,
+ 50017 - 44032: 0x9B94,
+ 50018 - 44032: 0x9B95,
+ 50019 - 44032: 0x9B96,
+ 50020 - 44032: 0x9B97,
+ 50021 - 44032: 0x9B98,
+ 50022 - 44032: 0x9B99,
+ 50023 - 44032: 0x9B9A,
+ 50024 - 44032: 0xBDE1,
+ 50025 - 44032: 0xBDE2,
+ 50026 - 44032: 0x9B9B,
+ 50027 - 44032: 0x9B9C,
+ 50028 - 44032: 0xBDE3,
+ 50029 - 44032: 0x9B9D,
+ 50030 - 44032: 0x9B9E,
+ 50031 - 44032: 0x9B9F,
+ 50032 - 44032: 0xBDE4,
+ 50033 - 44032: 0x9BA0,
+ 50034 - 44032: 0xBDE5,
+ 50035 - 44032: 0x9BA1,
+ 50036 - 44032: 0x9BA2,
+ 50037 - 44032: 0x9BA3,
+ 50038 - 44032: 0x9BA4,
+ 50039 - 44032: 0x9BA5,
+ 50040 - 44032: 0xBDE6,
+ 50041 - 44032: 0xBDE7,
+ 50042 - 44032: 0x9BA6,
+ 50043 - 44032: 0x9BA7,
+ 50044 - 44032: 0xBDE8,
+ 50045 - 44032: 0xBDE9,
+ 50046 - 44032: 0x9BA8,
+ 50047 - 44032: 0x9BA9,
+ 50048 - 44032: 0x9BAA,
+ 50049 - 44032: 0x9BAB,
+ 50050 - 44032: 0x9BAC,
+ 50051 - 44032: 0x9BAD,
+ 50052 - 44032: 0xBDEA,
+ 50053 - 44032: 0x9BAE,
+ 50054 - 44032: 0x9BAF,
+ 50055 - 44032: 0x9BB0,
+ 50056 - 44032: 0xBDEB,
+ 50057 - 44032: 0x9BB1,
+ 50058 - 44032: 0x9BB2,
+ 50059 - 44032: 0x9BB3,
+ 50060 - 44032: 0xBDEC,
+ 50061 - 44032: 0x9BB4,
+ 50062 - 44032: 0x9BB5,
+ 50063 - 44032: 0x9BB6,
+ 50064 - 44032: 0x9BB7,
+ 50065 - 44032: 0x9BB8,
+ 50066 - 44032: 0x9BB9,
+ 50067 - 44032: 0x9BBA,
+ 50068 - 44032: 0x9BBB,
+ 50069 - 44032: 0x9BBC,
+ 50070 - 44032: 0x9BBD,
+ 50071 - 44032: 0x9BBE,
+ 50072 - 44032: 0x9BBF,
+ 50073 - 44032: 0x9BC0,
+ 50074 - 44032: 0x9BC1,
+ 50075 - 44032: 0x9BC2,
+ 50076 - 44032: 0x9BC3,
+ 50077 - 44032: 0x9BC4,
+ 50078 - 44032: 0x9BC5,
+ 50079 - 44032: 0x9BC6,
+ 50080 - 44032: 0x9BC7,
+ 50081 - 44032: 0x9BC8,
+ 50082 - 44032: 0x9BC9,
+ 50083 - 44032: 0x9BCA,
+ 50084 - 44032: 0x9BCB,
+ 50085 - 44032: 0x9BCC,
+ 50086 - 44032: 0x9BCD,
+ 50087 - 44032: 0x9BCE,
+ 50088 - 44032: 0x9BCF,
+ 50089 - 44032: 0x9BD0,
+ 50090 - 44032: 0x9BD1,
+ 50091 - 44032: 0x9BD2,
+ 50092 - 44032: 0x9BD3,
+ 50093 - 44032: 0x9BD4,
+ 50094 - 44032: 0x9BD5,
+ 50095 - 44032: 0x9BD6,
+ 50096 - 44032: 0x9BD7,
+ 50097 - 44032: 0x9BD8,
+ 50098 - 44032: 0x9BD9,
+ 50099 - 44032: 0x9BDA,
+ 50100 - 44032: 0x9BDB,
+ 50101 - 44032: 0x9BDC,
+ 50102 - 44032: 0x9BDD,
+ 50103 - 44032: 0x9BDE,
+ 50104 - 44032: 0x9BDF,
+ 50105 - 44032: 0x9BE0,
+ 50106 - 44032: 0x9BE1,
+ 50107 - 44032: 0x9BE2,
+ 50108 - 44032: 0x9BE3,
+ 50109 - 44032: 0x9BE4,
+ 50110 - 44032: 0x9BE5,
+ 50111 - 44032: 0x9BE6,
+ 50112 - 44032: 0xBDED,
+ 50113 - 44032: 0x9BE7,
+ 50114 - 44032: 0x9BE8,
+ 50115 - 44032: 0x9BE9,
+ 50116 - 44032: 0x9BEA,
+ 50117 - 44032: 0x9BEB,
+ 50118 - 44032: 0x9BEC,
+ 50119 - 44032: 0x9BED,
+ 50120 - 44032: 0x9BEE,
+ 50121 - 44032: 0x9BEF,
+ 50122 - 44032: 0x9BF0,
+ 50123 - 44032: 0x9BF1,
+ 50124 - 44032: 0x9BF2,
+ 50125 - 44032: 0x9BF3,
+ 50126 - 44032: 0x9BF4,
+ 50127 - 44032: 0x9BF5,
+ 50128 - 44032: 0x9BF6,
+ 50129 - 44032: 0x9BF7,
+ 50130 - 44032: 0x9BF8,
+ 50131 - 44032: 0x9BF9,
+ 50132 - 44032: 0x9BFA,
+ 50133 - 44032: 0x9BFB,
+ 50134 - 44032: 0x9BFC,
+ 50135 - 44032: 0x9BFD,
+ 50136 - 44032: 0xBDEE,
+ 50137 - 44032: 0xBDEF,
+ 50138 - 44032: 0x9BFE,
+ 50139 - 44032: 0x9C41,
+ 50140 - 44032: 0xBDF0,
+ 50141 - 44032: 0x9C42,
+ 50142 - 44032: 0x9C43,
+ 50143 - 44032: 0xBDF1,
+ 50144 - 44032: 0xBDF2,
+ 50145 - 44032: 0x9C44,
+ 50146 - 44032: 0xBDF3,
+ 50147 - 44032: 0x9C45,
+ 50148 - 44032: 0x9C46,
+ 50149 - 44032: 0x9C47,
+ 50150 - 44032: 0x9C48,
+ 50151 - 44032: 0x9C49,
+ 50152 - 44032: 0xBDF4,
+ 50153 - 44032: 0xBDF5,
+ 50154 - 44032: 0x9C4A,
+ 50155 - 44032: 0x9C4B,
+ 50156 - 44032: 0x9C4C,
+ 50157 - 44032: 0xBDF6,
+ 50158 - 44032: 0x9C4D,
+ 50159 - 44032: 0x9C4E,
+ 50160 - 44032: 0x9C4F,
+ 50161 - 44032: 0x9C50,
+ 50162 - 44032: 0x9C51,
+ 50163 - 44032: 0x9C52,
+ 50164 - 44032: 0xBDF7,
+ 50165 - 44032: 0xBDF8,
+ 50166 - 44032: 0x9C53,
+ 50167 - 44032: 0x9C54,
+ 50168 - 44032: 0xBDF9,
+ 50169 - 44032: 0x9C55,
+ 50170 - 44032: 0x9C56,
+ 50171 - 44032: 0x9C57,
+ 50172 - 44032: 0x9C58,
+ 50173 - 44032: 0x9C59,
+ 50174 - 44032: 0x9C5A,
+ 50175 - 44032: 0x9C61,
+ 50176 - 44032: 0x9C62,
+ 50177 - 44032: 0x9C63,
+ 50178 - 44032: 0x9C64,
+ 50179 - 44032: 0x9C65,
+ 50180 - 44032: 0x9C66,
+ 50181 - 44032: 0x9C67,
+ 50182 - 44032: 0x9C68,
+ 50183 - 44032: 0x9C69,
+ 50184 - 44032: 0xBDFA,
+ 50185 - 44032: 0x9C6A,
+ 50186 - 44032: 0x9C6B,
+ 50187 - 44032: 0x9C6C,
+ 50188 - 44032: 0x9C6D,
+ 50189 - 44032: 0x9C6E,
+ 50190 - 44032: 0x9C6F,
+ 50191 - 44032: 0x9C70,
+ 50192 - 44032: 0xBDFB,
+ 50193 - 44032: 0x9C71,
+ 50194 - 44032: 0x9C72,
+ 50195 - 44032: 0x9C73,
+ 50196 - 44032: 0x9C74,
+ 50197 - 44032: 0x9C75,
+ 50198 - 44032: 0x9C76,
+ 50199 - 44032: 0x9C77,
+ 50200 - 44032: 0x9C78,
+ 50201 - 44032: 0x9C79,
+ 50202 - 44032: 0x9C7A,
+ 50203 - 44032: 0x9C81,
+ 50204 - 44032: 0x9C82,
+ 50205 - 44032: 0x9C83,
+ 50206 - 44032: 0x9C84,
+ 50207 - 44032: 0x9C85,
+ 50208 - 44032: 0x9C86,
+ 50209 - 44032: 0x9C87,
+ 50210 - 44032: 0x9C88,
+ 50211 - 44032: 0x9C89,
+ 50212 - 44032: 0xBDFC,
+ 50213 - 44032: 0x9C8A,
+ 50214 - 44032: 0x9C8B,
+ 50215 - 44032: 0x9C8C,
+ 50216 - 44032: 0x9C8D,
+ 50217 - 44032: 0x9C8E,
+ 50218 - 44032: 0x9C8F,
+ 50219 - 44032: 0x9C90,
+ 50220 - 44032: 0xBDFD,
+ 50221 - 44032: 0x9C91,
+ 50222 - 44032: 0x9C92,
+ 50223 - 44032: 0x9C93,
+ 50224 - 44032: 0xBDFE,
+ 50225 - 44032: 0x9C94,
+ 50226 - 44032: 0x9C95,
+ 50227 - 44032: 0x9C96,
+ 50228 - 44032: 0xBEA1,
+ 50229 - 44032: 0x9C97,
+ 50230 - 44032: 0x9C98,
+ 50231 - 44032: 0x9C99,
+ 50232 - 44032: 0x9C9A,
+ 50233 - 44032: 0x9C9B,
+ 50234 - 44032: 0x9C9C,
+ 50235 - 44032: 0x9C9D,
+ 50236 - 44032: 0xBEA2,
+ 50237 - 44032: 0xBEA3,
+ 50238 - 44032: 0x9C9E,
+ 50239 - 44032: 0x9C9F,
+ 50240 - 44032: 0x9CA0,
+ 50241 - 44032: 0x9CA1,
+ 50242 - 44032: 0x9CA2,
+ 50243 - 44032: 0x9CA3,
+ 50244 - 44032: 0x9CA4,
+ 50245 - 44032: 0x9CA5,
+ 50246 - 44032: 0x9CA6,
+ 50247 - 44032: 0x9CA7,
+ 50248 - 44032: 0xBEA4,
+ 50249 - 44032: 0x9CA8,
+ 50250 - 44032: 0x9CA9,
+ 50251 - 44032: 0x9CAA,
+ 50252 - 44032: 0x9CAB,
+ 50253 - 44032: 0x9CAC,
+ 50254 - 44032: 0x9CAD,
+ 50255 - 44032: 0x9CAE,
+ 50256 - 44032: 0x9CAF,
+ 50257 - 44032: 0x9CB0,
+ 50258 - 44032: 0x9CB1,
+ 50259 - 44032: 0x9CB2,
+ 50260 - 44032: 0x9CB3,
+ 50261 - 44032: 0x9CB4,
+ 50262 - 44032: 0x9CB5,
+ 50263 - 44032: 0x9CB6,
+ 50264 - 44032: 0x9CB7,
+ 50265 - 44032: 0x9CB8,
+ 50266 - 44032: 0x9CB9,
+ 50267 - 44032: 0x9CBA,
+ 50268 - 44032: 0x9CBB,
+ 50269 - 44032: 0x9CBC,
+ 50270 - 44032: 0x9CBD,
+ 50271 - 44032: 0x9CBE,
+ 50272 - 44032: 0x9CBF,
+ 50273 - 44032: 0x9CC0,
+ 50274 - 44032: 0x9CC1,
+ 50275 - 44032: 0x9CC2,
+ 50276 - 44032: 0xBEA5,
+ 50277 - 44032: 0xBEA6,
+ 50278 - 44032: 0x9CC3,
+ 50279 - 44032: 0x9CC4,
+ 50280 - 44032: 0xBEA7,
+ 50281 - 44032: 0x9CC5,
+ 50282 - 44032: 0x9CC6,
+ 50283 - 44032: 0x9CC7,
+ 50284 - 44032: 0xBEA8,
+ 50285 - 44032: 0x9CC8,
+ 50286 - 44032: 0x9CC9,
+ 50287 - 44032: 0x9CCA,
+ 50288 - 44032: 0x9CCB,
+ 50289 - 44032: 0x9CCC,
+ 50290 - 44032: 0x9CCD,
+ 50291 - 44032: 0x9CCE,
+ 50292 - 44032: 0xBEA9,
+ 50293 - 44032: 0xBEAA,
+ 50294 - 44032: 0x9CCF,
+ 50295 - 44032: 0x9CD0,
+ 50296 - 44032: 0x9CD1,
+ 50297 - 44032: 0xBEAB,
+ 50298 - 44032: 0x9CD2,
+ 50299 - 44032: 0x9CD3,
+ 50300 - 44032: 0x9CD4,
+ 50301 - 44032: 0x9CD5,
+ 50302 - 44032: 0x9CD6,
+ 50303 - 44032: 0x9CD7,
+ 50304 - 44032: 0xBEAC,
+ 50305 - 44032: 0x9CD8,
+ 50306 - 44032: 0x9CD9,
+ 50307 - 44032: 0x9CDA,
+ 50308 - 44032: 0x9CDB,
+ 50309 - 44032: 0x9CDC,
+ 50310 - 44032: 0x9CDD,
+ 50311 - 44032: 0x9CDE,
+ 50312 - 44032: 0x9CDF,
+ 50313 - 44032: 0x9CE0,
+ 50314 - 44032: 0x9CE1,
+ 50315 - 44032: 0x9CE2,
+ 50316 - 44032: 0x9CE3,
+ 50317 - 44032: 0x9CE4,
+ 50318 - 44032: 0x9CE5,
+ 50319 - 44032: 0x9CE6,
+ 50320 - 44032: 0x9CE7,
+ 50321 - 44032: 0x9CE8,
+ 50322 - 44032: 0x9CE9,
+ 50323 - 44032: 0x9CEA,
+ 50324 - 44032: 0xBEAD,
+ 50325 - 44032: 0x9CEB,
+ 50326 - 44032: 0x9CEC,
+ 50327 - 44032: 0x9CED,
+ 50328 - 44032: 0x9CEE,
+ 50329 - 44032: 0x9CEF,
+ 50330 - 44032: 0x9CF0,
+ 50331 - 44032: 0x9CF1,
+ 50332 - 44032: 0xBEAE,
+ 50333 - 44032: 0x9CF2,
+ 50334 - 44032: 0x9CF3,
+ 50335 - 44032: 0x9CF4,
+ 50336 - 44032: 0x9CF5,
+ 50337 - 44032: 0x9CF6,
+ 50338 - 44032: 0x9CF7,
+ 50339 - 44032: 0x9CF8,
+ 50340 - 44032: 0x9CF9,
+ 50341 - 44032: 0x9CFA,
+ 50342 - 44032: 0x9CFB,
+ 50343 - 44032: 0x9CFC,
+ 50344 - 44032: 0x9CFD,
+ 50345 - 44032: 0x9CFE,
+ 50346 - 44032: 0x9D41,
+ 50347 - 44032: 0x9D42,
+ 50348 - 44032: 0x9D43,
+ 50349 - 44032: 0x9D44,
+ 50350 - 44032: 0x9D45,
+ 50351 - 44032: 0x9D46,
+ 50352 - 44032: 0x9D47,
+ 50353 - 44032: 0x9D48,
+ 50354 - 44032: 0x9D49,
+ 50355 - 44032: 0x9D4A,
+ 50356 - 44032: 0x9D4B,
+ 50357 - 44032: 0x9D4C,
+ 50358 - 44032: 0x9D4D,
+ 50359 - 44032: 0x9D4E,
+ 50360 - 44032: 0xBEAF,
+ 50361 - 44032: 0x9D4F,
+ 50362 - 44032: 0x9D50,
+ 50363 - 44032: 0x9D51,
+ 50364 - 44032: 0xBEB0,
+ 50365 - 44032: 0x9D52,
+ 50366 - 44032: 0x9D53,
+ 50367 - 44032: 0x9D54,
+ 50368 - 44032: 0x9D55,
+ 50369 - 44032: 0x9D56,
+ 50370 - 44032: 0x9D57,
+ 50371 - 44032: 0x9D58,
+ 50372 - 44032: 0x9D59,
+ 50373 - 44032: 0x9D5A,
+ 50374 - 44032: 0x9D61,
+ 50375 - 44032: 0x9D62,
+ 50376 - 44032: 0x9D63,
+ 50377 - 44032: 0x9D64,
+ 50378 - 44032: 0x9D65,
+ 50379 - 44032: 0x9D66,
+ 50380 - 44032: 0x9D67,
+ 50381 - 44032: 0x9D68,
+ 50382 - 44032: 0x9D69,
+ 50383 - 44032: 0x9D6A,
+ 50384 - 44032: 0x9D6B,
+ 50385 - 44032: 0x9D6C,
+ 50386 - 44032: 0x9D6D,
+ 50387 - 44032: 0x9D6E,
+ 50388 - 44032: 0x9D6F,
+ 50389 - 44032: 0x9D70,
+ 50390 - 44032: 0x9D71,
+ 50391 - 44032: 0x9D72,
+ 50392 - 44032: 0x9D73,
+ 50393 - 44032: 0x9D74,
+ 50394 - 44032: 0x9D75,
+ 50395 - 44032: 0x9D76,
+ 50396 - 44032: 0x9D77,
+ 50397 - 44032: 0x9D78,
+ 50398 - 44032: 0x9D79,
+ 50399 - 44032: 0x9D7A,
+ 50400 - 44032: 0x9D81,
+ 50401 - 44032: 0x9D82,
+ 50402 - 44032: 0x9D83,
+ 50403 - 44032: 0x9D84,
+ 50404 - 44032: 0x9D85,
+ 50405 - 44032: 0x9D86,
+ 50406 - 44032: 0x9D87,
+ 50407 - 44032: 0x9D88,
+ 50408 - 44032: 0x9D89,
+ 50409 - 44032: 0xBEB1,
+ 50410 - 44032: 0x9D8A,
+ 50411 - 44032: 0x9D8B,
+ 50412 - 44032: 0x9D8C,
+ 50413 - 44032: 0x9D8D,
+ 50414 - 44032: 0x9D8E,
+ 50415 - 44032: 0x9D8F,
+ 50416 - 44032: 0xBEB2,
+ 50417 - 44032: 0xBEB3,
+ 50418 - 44032: 0x9D90,
+ 50419 - 44032: 0x9D91,
+ 50420 - 44032: 0xBEB4,
+ 50421 - 44032: 0x9D92,
+ 50422 - 44032: 0x9D93,
+ 50423 - 44032: 0x9D94,
+ 50424 - 44032: 0xBEB5,
+ 50425 - 44032: 0x9D95,
+ 50426 - 44032: 0xBEB6,
+ 50427 - 44032: 0x9D96,
+ 50428 - 44032: 0x9D97,
+ 50429 - 44032: 0x9D98,
+ 50430 - 44032: 0x9D99,
+ 50431 - 44032: 0xBEB7,
+ 50432 - 44032: 0xBEB8,
+ 50433 - 44032: 0xBEB9,
+ 50434 - 44032: 0x9D9A,
+ 50435 - 44032: 0x9D9B,
+ 50436 - 44032: 0x9D9C,
+ 50437 - 44032: 0x9D9D,
+ 50438 - 44032: 0x9D9E,
+ 50439 - 44032: 0x9D9F,
+ 50440 - 44032: 0x9DA0,
+ 50441 - 44032: 0x9DA1,
+ 50442 - 44032: 0x9DA2,
+ 50443 - 44032: 0x9DA3,
+ 50444 - 44032: 0xBEBA,
+ 50445 - 44032: 0x9DA4,
+ 50446 - 44032: 0x9DA5,
+ 50447 - 44032: 0x9DA6,
+ 50448 - 44032: 0xBEBB,
+ 50449 - 44032: 0x9DA7,
+ 50450 - 44032: 0x9DA8,
+ 50451 - 44032: 0x9DA9,
+ 50452 - 44032: 0xBEBC,
+ 50453 - 44032: 0x9DAA,
+ 50454 - 44032: 0x9DAB,
+ 50455 - 44032: 0x9DAC,
+ 50456 - 44032: 0x9DAD,
+ 50457 - 44032: 0x9DAE,
+ 50458 - 44032: 0x9DAF,
+ 50459 - 44032: 0x9DB0,
+ 50460 - 44032: 0xBEBD,
+ 50461 - 44032: 0x9DB1,
+ 50462 - 44032: 0x9DB2,
+ 50463 - 44032: 0x9DB3,
+ 50464 - 44032: 0x9DB4,
+ 50465 - 44032: 0x9DB5,
+ 50466 - 44032: 0x9DB6,
+ 50467 - 44032: 0x9DB7,
+ 50468 - 44032: 0x9DB8,
+ 50469 - 44032: 0x9DB9,
+ 50470 - 44032: 0x9DBA,
+ 50471 - 44032: 0x9DBB,
+ 50472 - 44032: 0xBEBE,
+ 50473 - 44032: 0xBEBF,
+ 50474 - 44032: 0x9DBC,
+ 50475 - 44032: 0x9DBD,
+ 50476 - 44032: 0xBEC0,
+ 50477 - 44032: 0x9DBE,
+ 50478 - 44032: 0x9DBF,
+ 50479 - 44032: 0x9DC0,
+ 50480 - 44032: 0xBEC1,
+ 50481 - 44032: 0x9DC1,
+ 50482 - 44032: 0x9DC2,
+ 50483 - 44032: 0x9DC3,
+ 50484 - 44032: 0x9DC4,
+ 50485 - 44032: 0x9DC5,
+ 50486 - 44032: 0x9DC6,
+ 50487 - 44032: 0x9DC7,
+ 50488 - 44032: 0xBEC2,
+ 50489 - 44032: 0xBEC3,
+ 50490 - 44032: 0x9DC8,
+ 50491 - 44032: 0xBEC4,
+ 50492 - 44032: 0x9DC9,
+ 50493 - 44032: 0xBEC5,
+ 50494 - 44032: 0x9DCA,
+ 50495 - 44032: 0x9DCB,
+ 50496 - 44032: 0x9DCC,
+ 50497 - 44032: 0x9DCD,
+ 50498 - 44032: 0x9DCE,
+ 50499 - 44032: 0x9DCF,
+ 50500 - 44032: 0xBEC6,
+ 50501 - 44032: 0xBEC7,
+ 50502 - 44032: 0x9DD0,
+ 50503 - 44032: 0x9DD1,
+ 50504 - 44032: 0xBEC8,
+ 50505 - 44032: 0xBEC9,
+ 50506 - 44032: 0xBECA,
+ 50507 - 44032: 0x9DD2,
+ 50508 - 44032: 0xBECB,
+ 50509 - 44032: 0xBECC,
+ 50510 - 44032: 0xBECD,
+ 50511 - 44032: 0x9DD3,
+ 50512 - 44032: 0x9DD4,
+ 50513 - 44032: 0x9DD5,
+ 50514 - 44032: 0x9DD6,
+ 50515 - 44032: 0xBECE,
+ 50516 - 44032: 0xBECF,
+ 50517 - 44032: 0xBED0,
+ 50518 - 44032: 0x9DD7,
+ 50519 - 44032: 0xBED1,
+ 50520 - 44032: 0xBED2,
+ 50521 - 44032: 0xBED3,
+ 50522 - 44032: 0x9DD8,
+ 50523 - 44032: 0x9DD9,
+ 50524 - 44032: 0x9DDA,
+ 50525 - 44032: 0xBED4,
+ 50526 - 44032: 0xBED5,
+ 50527 - 44032: 0x9DDB,
+ 50528 - 44032: 0xBED6,
+ 50529 - 44032: 0xBED7,
+ 50530 - 44032: 0x9DDC,
+ 50531 - 44032: 0x9DDD,
+ 50532 - 44032: 0xBED8,
+ 50533 - 44032: 0x9DDE,
+ 50534 - 44032: 0x9DDF,
+ 50535 - 44032: 0x9DE0,
+ 50536 - 44032: 0xBED9,
+ 50537 - 44032: 0x9DE1,
+ 50538 - 44032: 0x9DE2,
+ 50539 - 44032: 0x9DE3,
+ 50540 - 44032: 0x9DE4,
+ 50541 - 44032: 0x9DE5,
+ 50542 - 44032: 0x9DE6,
+ 50543 - 44032: 0x9DE7,
+ 50544 - 44032: 0xBEDA,
+ 50545 - 44032: 0xBEDB,
+ 50546 - 44032: 0x9DE8,
+ 50547 - 44032: 0xBEDC,
+ 50548 - 44032: 0xBEDD,
+ 50549 - 44032: 0xBEDE,
+ 50550 - 44032: 0x9DE9,
+ 50551 - 44032: 0x9DEA,
+ 50552 - 44032: 0x9DEB,
+ 50553 - 44032: 0x9DEC,
+ 50554 - 44032: 0x9DED,
+ 50555 - 44032: 0x9DEE,
+ 50556 - 44032: 0xBEDF,
+ 50557 - 44032: 0xBEE0,
+ 50558 - 44032: 0x9DEF,
+ 50559 - 44032: 0x9DF0,
+ 50560 - 44032: 0xBEE1,
+ 50561 - 44032: 0x9DF1,
+ 50562 - 44032: 0x9DF2,
+ 50563 - 44032: 0x9DF3,
+ 50564 - 44032: 0xBEE2,
+ 50565 - 44032: 0x9DF4,
+ 50566 - 44032: 0x9DF5,
+ 50567 - 44032: 0xBEE3,
+ 50568 - 44032: 0x9DF6,
+ 50569 - 44032: 0x9DF7,
+ 50570 - 44032: 0x9DF8,
+ 50571 - 44032: 0x9DF9,
+ 50572 - 44032: 0xBEE4,
+ 50573 - 44032: 0xBEE5,
+ 50574 - 44032: 0x9DFA,
+ 50575 - 44032: 0xBEE6,
+ 50576 - 44032: 0x9DFB,
+ 50577 - 44032: 0xBEE7,
+ 50578 - 44032: 0x9DFC,
+ 50579 - 44032: 0x9DFD,
+ 50580 - 44032: 0x9DFE,
+ 50581 - 44032: 0xBEE8,
+ 50582 - 44032: 0x9E41,
+ 50583 - 44032: 0xBEE9,
+ 50584 - 44032: 0xBEEA,
+ 50585 - 44032: 0x9E42,
+ 50586 - 44032: 0x9E43,
+ 50587 - 44032: 0x9E44,
+ 50588 - 44032: 0xBEEB,
+ 50589 - 44032: 0x9E45,
+ 50590 - 44032: 0x9E46,
+ 50591 - 44032: 0x9E47,
+ 50592 - 44032: 0xBEEC,
+ 50593 - 44032: 0x9E48,
+ 50594 - 44032: 0x9E49,
+ 50595 - 44032: 0x9E4A,
+ 50596 - 44032: 0x9E4B,
+ 50597 - 44032: 0x9E4C,
+ 50598 - 44032: 0x9E4D,
+ 50599 - 44032: 0x9E4E,
+ 50600 - 44032: 0x9E4F,
+ 50601 - 44032: 0xBEED,
+ 50602 - 44032: 0x9E50,
+ 50603 - 44032: 0x9E51,
+ 50604 - 44032: 0x9E52,
+ 50605 - 44032: 0x9E53,
+ 50606 - 44032: 0x9E54,
+ 50607 - 44032: 0x9E55,
+ 50608 - 44032: 0x9E56,
+ 50609 - 44032: 0x9E57,
+ 50610 - 44032: 0x9E58,
+ 50611 - 44032: 0x9E59,
+ 50612 - 44032: 0xBEEE,
+ 50613 - 44032: 0xBEEF,
+ 50614 - 44032: 0x9E5A,
+ 50615 - 44032: 0x9E61,
+ 50616 - 44032: 0xBEF0,
+ 50617 - 44032: 0xBEF1,
+ 50618 - 44032: 0x9E62,
+ 50619 - 44032: 0xBEF2,
+ 50620 - 44032: 0xBEF3,
+ 50621 - 44032: 0xBEF4,
+ 50622 - 44032: 0xBEF5,
+ 50623 - 44032: 0x9E63,
+ 50624 - 44032: 0x9E64,
+ 50625 - 44032: 0x9E65,
+ 50626 - 44032: 0x9E66,
+ 50627 - 44032: 0x9E67,
+ 50628 - 44032: 0xBEF6,
+ 50629 - 44032: 0xBEF7,
+ 50630 - 44032: 0xBEF8,
+ 50631 - 44032: 0xBEF9,
+ 50632 - 44032: 0xBEFA,
+ 50633 - 44032: 0xBEFB,
+ 50634 - 44032: 0xBEFC,
+ 50635 - 44032: 0x9E68,
+ 50636 - 44032: 0xBEFD,
+ 50637 - 44032: 0x9E69,
+ 50638 - 44032: 0xBEFE,
+ 50639 - 44032: 0x9E6A,
+ 50640 - 44032: 0xBFA1,
+ 50641 - 44032: 0xBFA2,
+ 50642 - 44032: 0x9E6B,
+ 50643 - 44032: 0x9E6C,
+ 50644 - 44032: 0xBFA3,
+ 50645 - 44032: 0x9E6D,
+ 50646 - 44032: 0x9E6E,
+ 50647 - 44032: 0x9E6F,
+ 50648 - 44032: 0xBFA4,
+ 50649 - 44032: 0x9E70,
+ 50650 - 44032: 0x9E71,
+ 50651 - 44032: 0x9E72,
+ 50652 - 44032: 0x9E73,
+ 50653 - 44032: 0x9E74,
+ 50654 - 44032: 0x9E75,
+ 50655 - 44032: 0x9E76,
+ 50656 - 44032: 0xBFA5,
+ 50657 - 44032: 0xBFA6,
+ 50658 - 44032: 0x9E77,
+ 50659 - 44032: 0xBFA7,
+ 50660 - 44032: 0x9E78,
+ 50661 - 44032: 0xBFA8,
+ 50662 - 44032: 0x9E79,
+ 50663 - 44032: 0x9E7A,
+ 50664 - 44032: 0x9E81,
+ 50665 - 44032: 0x9E82,
+ 50666 - 44032: 0x9E83,
+ 50667 - 44032: 0x9E84,
+ 50668 - 44032: 0xBFA9,
+ 50669 - 44032: 0xBFAA,
+ 50670 - 44032: 0xBFAB,
+ 50671 - 44032: 0x9E85,
+ 50672 - 44032: 0xBFAC,
+ 50673 - 44032: 0x9E86,
+ 50674 - 44032: 0x9E87,
+ 50675 - 44032: 0x9E88,
+ 50676 - 44032: 0xBFAD,
+ 50677 - 44032: 0x9E89,
+ 50678 - 44032: 0xBFAE,
+ 50679 - 44032: 0xBFAF,
+ 50680 - 44032: 0x9E8A,
+ 50681 - 44032: 0x9E8B,
+ 50682 - 44032: 0x9E8C,
+ 50683 - 44032: 0x9E8D,
+ 50684 - 44032: 0xBFB0,
+ 50685 - 44032: 0xBFB1,
+ 50686 - 44032: 0xBFB2,
+ 50687 - 44032: 0xBFB3,
+ 50688 - 44032: 0xBFB4,
+ 50689 - 44032: 0xBFB5,
+ 50690 - 44032: 0x9E8E,
+ 50691 - 44032: 0x9E8F,
+ 50692 - 44032: 0x9E90,
+ 50693 - 44032: 0xBFB6,
+ 50694 - 44032: 0xBFB7,
+ 50695 - 44032: 0xBFB8,
+ 50696 - 44032: 0xBFB9,
+ 50697 - 44032: 0x9E91,
+ 50698 - 44032: 0x9E92,
+ 50699 - 44032: 0x9E93,
+ 50700 - 44032: 0xBFBA,
+ 50701 - 44032: 0x9E94,
+ 50702 - 44032: 0x9E95,
+ 50703 - 44032: 0x9E96,
+ 50704 - 44032: 0xBFBB,
+ 50705 - 44032: 0x9E97,
+ 50706 - 44032: 0x9E98,
+ 50707 - 44032: 0x9E99,
+ 50708 - 44032: 0x9E9A,
+ 50709 - 44032: 0x9E9B,
+ 50710 - 44032: 0x9E9C,
+ 50711 - 44032: 0x9E9D,
+ 50712 - 44032: 0xBFBC,
+ 50713 - 44032: 0xBFBD,
+ 50714 - 44032: 0x9E9E,
+ 50715 - 44032: 0xBFBE,
+ 50716 - 44032: 0xBFBF,
+ 50717 - 44032: 0x9E9F,
+ 50718 - 44032: 0x9EA0,
+ 50719 - 44032: 0x9EA1,
+ 50720 - 44032: 0x9EA2,
+ 50721 - 44032: 0x9EA3,
+ 50722 - 44032: 0x9EA4,
+ 50723 - 44032: 0x9EA5,
+ 50724 - 44032: 0xBFC0,
+ 50725 - 44032: 0xBFC1,
+ 50726 - 44032: 0x9EA6,
+ 50727 - 44032: 0x9EA7,
+ 50728 - 44032: 0xBFC2,
+ 50729 - 44032: 0x9EA8,
+ 50730 - 44032: 0x9EA9,
+ 50731 - 44032: 0x9EAA,
+ 50732 - 44032: 0xBFC3,
+ 50733 - 44032: 0xBFC4,
+ 50734 - 44032: 0xBFC5,
+ 50735 - 44032: 0x9EAB,
+ 50736 - 44032: 0xBFC6,
+ 50737 - 44032: 0x9EAC,
+ 50738 - 44032: 0x9EAD,
+ 50739 - 44032: 0xBFC7,
+ 50740 - 44032: 0xBFC8,
+ 50741 - 44032: 0xBFC9,
+ 50742 - 44032: 0x9EAE,
+ 50743 - 44032: 0xBFCA,
+ 50744 - 44032: 0x9EAF,
+ 50745 - 44032: 0xBFCB,
+ 50746 - 44032: 0x9EB0,
+ 50747 - 44032: 0xBFCC,
+ 50748 - 44032: 0x9EB1,
+ 50749 - 44032: 0x9EB2,
+ 50750 - 44032: 0x9EB3,
+ 50751 - 44032: 0x9EB4,
+ 50752 - 44032: 0xBFCD,
+ 50753 - 44032: 0xBFCE,
+ 50754 - 44032: 0x9EB5,
+ 50755 - 44032: 0x9EB6,
+ 50756 - 44032: 0xBFCF,
+ 50757 - 44032: 0x9EB7,
+ 50758 - 44032: 0x9EB8,
+ 50759 - 44032: 0x9EB9,
+ 50760 - 44032: 0xBFD0,
+ 50761 - 44032: 0x9EBA,
+ 50762 - 44032: 0x9EBB,
+ 50763 - 44032: 0x9EBC,
+ 50764 - 44032: 0x9EBD,
+ 50765 - 44032: 0x9EBE,
+ 50766 - 44032: 0x9EBF,
+ 50767 - 44032: 0x9EC0,
+ 50768 - 44032: 0xBFD1,
+ 50769 - 44032: 0xBFD2,
+ 50770 - 44032: 0x9EC1,
+ 50771 - 44032: 0xBFD3,
+ 50772 - 44032: 0xBFD4,
+ 50773 - 44032: 0xBFD5,
+ 50774 - 44032: 0x9EC2,
+ 50775 - 44032: 0x9EC3,
+ 50776 - 44032: 0x9EC4,
+ 50777 - 44032: 0x9EC5,
+ 50778 - 44032: 0x9EC6,
+ 50779 - 44032: 0x9EC7,
+ 50780 - 44032: 0xBFD6,
+ 50781 - 44032: 0xBFD7,
+ 50782 - 44032: 0x9EC8,
+ 50783 - 44032: 0x9EC9,
+ 50784 - 44032: 0xBFD8,
+ 50785 - 44032: 0x9ECA,
+ 50786 - 44032: 0x9ECB,
+ 50787 - 44032: 0x9ECC,
+ 50788 - 44032: 0x9ECD,
+ 50789 - 44032: 0x9ECE,
+ 50790 - 44032: 0x9ECF,
+ 50791 - 44032: 0x9ED0,
+ 50792 - 44032: 0x9ED1,
+ 50793 - 44032: 0x9ED2,
+ 50794 - 44032: 0x9ED3,
+ 50795 - 44032: 0x9ED4,
+ 50796 - 44032: 0xBFD9,
+ 50797 - 44032: 0x9ED5,
+ 50798 - 44032: 0x9ED6,
+ 50799 - 44032: 0xBFDA,
+ 50800 - 44032: 0x9ED7,
+ 50801 - 44032: 0xBFDB,
+ 50802 - 44032: 0x9ED8,
+ 50803 - 44032: 0x9ED9,
+ 50804 - 44032: 0x9EDA,
+ 50805 - 44032: 0x9EDB,
+ 50806 - 44032: 0x9EDC,
+ 50807 - 44032: 0x9EDD,
+ 50808 - 44032: 0xBFDC,
+ 50809 - 44032: 0xBFDD,
+ 50810 - 44032: 0x9EDE,
+ 50811 - 44032: 0x9EDF,
+ 50812 - 44032: 0xBFDE,
+ 50813 - 44032: 0x9EE0,
+ 50814 - 44032: 0x9EE1,
+ 50815 - 44032: 0x9EE2,
+ 50816 - 44032: 0xBFDF,
+ 50817 - 44032: 0x9EE3,
+ 50818 - 44032: 0x9EE4,
+ 50819 - 44032: 0x9EE5,
+ 50820 - 44032: 0x9EE6,
+ 50821 - 44032: 0x9EE7,
+ 50822 - 44032: 0x9EE8,
+ 50823 - 44032: 0x9EE9,
+ 50824 - 44032: 0xBFE0,
+ 50825 - 44032: 0xBFE1,
+ 50826 - 44032: 0x9EEA,
+ 50827 - 44032: 0xBFE2,
+ 50828 - 44032: 0x9EEB,
+ 50829 - 44032: 0xBFE3,
+ 50830 - 44032: 0x9EEC,
+ 50831 - 44032: 0x9EED,
+ 50832 - 44032: 0x9EEE,
+ 50833 - 44032: 0x9EEF,
+ 50834 - 44032: 0x9EF0,
+ 50835 - 44032: 0x9EF1,
+ 50836 - 44032: 0xBFE4,
+ 50837 - 44032: 0xBFE5,
+ 50838 - 44032: 0x9EF2,
+ 50839 - 44032: 0x9EF3,
+ 50840 - 44032: 0xBFE6,
+ 50841 - 44032: 0x9EF4,
+ 50842 - 44032: 0x9EF5,
+ 50843 - 44032: 0x9EF6,
+ 50844 - 44032: 0xBFE7,
+ 50845 - 44032: 0x9EF7,
+ 50846 - 44032: 0x9EF8,
+ 50847 - 44032: 0x9EF9,
+ 50848 - 44032: 0x9EFA,
+ 50849 - 44032: 0x9EFB,
+ 50850 - 44032: 0x9EFC,
+ 50851 - 44032: 0x9EFD,
+ 50852 - 44032: 0xBFE8,
+ 50853 - 44032: 0xBFE9,
+ 50854 - 44032: 0x9EFE,
+ 50855 - 44032: 0xBFEA,
+ 50856 - 44032: 0x9F41,
+ 50857 - 44032: 0xBFEB,
+ 50858 - 44032: 0x9F42,
+ 50859 - 44032: 0x9F43,
+ 50860 - 44032: 0x9F44,
+ 50861 - 44032: 0x9F45,
+ 50862 - 44032: 0x9F46,
+ 50863 - 44032: 0x9F47,
+ 50864 - 44032: 0xBFEC,
+ 50865 - 44032: 0xBFED,
+ 50866 - 44032: 0x9F48,
+ 50867 - 44032: 0x9F49,
+ 50868 - 44032: 0xBFEE,
+ 50869 - 44032: 0x9F4A,
+ 50870 - 44032: 0x9F4B,
+ 50871 - 44032: 0x9F4C,
+ 50872 - 44032: 0xBFEF,
+ 50873 - 44032: 0xBFF0,
+ 50874 - 44032: 0xBFF1,
+ 50875 - 44032: 0x9F4D,
+ 50876 - 44032: 0x9F4E,
+ 50877 - 44032: 0x9F4F,
+ 50878 - 44032: 0x9F50,
+ 50879 - 44032: 0x9F51,
+ 50880 - 44032: 0xBFF2,
+ 50881 - 44032: 0xBFF3,
+ 50882 - 44032: 0x9F52,
+ 50883 - 44032: 0xBFF4,
+ 50884 - 44032: 0x9F53,
+ 50885 - 44032: 0xBFF5,
+ 50886 - 44032: 0x9F54,
+ 50887 - 44032: 0x9F55,
+ 50888 - 44032: 0x9F56,
+ 50889 - 44032: 0x9F57,
+ 50890 - 44032: 0x9F58,
+ 50891 - 44032: 0x9F59,
+ 50892 - 44032: 0xBFF6,
+ 50893 - 44032: 0xBFF7,
+ 50894 - 44032: 0x9F5A,
+ 50895 - 44032: 0x9F61,
+ 50896 - 44032: 0xBFF8,
+ 50897 - 44032: 0x9F62,
+ 50898 - 44032: 0x9F63,
+ 50899 - 44032: 0x9F64,
+ 50900 - 44032: 0xBFF9,
+ 50901 - 44032: 0x9F65,
+ 50902 - 44032: 0x9F66,
+ 50903 - 44032: 0x9F67,
+ 50904 - 44032: 0x9F68,
+ 50905 - 44032: 0x9F69,
+ 50906 - 44032: 0x9F6A,
+ 50907 - 44032: 0x9F6B,
+ 50908 - 44032: 0xBFFA,
+ 50909 - 44032: 0xBFFB,
+ 50910 - 44032: 0x9F6C,
+ 50911 - 44032: 0x9F6D,
+ 50912 - 44032: 0xBFFC,
+ 50913 - 44032: 0xBFFD,
+ 50914 - 44032: 0x9F6E,
+ 50915 - 44032: 0x9F6F,
+ 50916 - 44032: 0x9F70,
+ 50917 - 44032: 0x9F71,
+ 50918 - 44032: 0x9F72,
+ 50919 - 44032: 0x9F73,
+ 50920 - 44032: 0xBFFE,
+ 50921 - 44032: 0xC0A1,
+ 50922 - 44032: 0x9F74,
+ 50923 - 44032: 0x9F75,
+ 50924 - 44032: 0xC0A2,
+ 50925 - 44032: 0x9F76,
+ 50926 - 44032: 0x9F77,
+ 50927 - 44032: 0x9F78,
+ 50928 - 44032: 0xC0A3,
+ 50929 - 44032: 0x9F79,
+ 50930 - 44032: 0x9F7A,
+ 50931 - 44032: 0x9F81,
+ 50932 - 44032: 0x9F82,
+ 50933 - 44032: 0x9F83,
+ 50934 - 44032: 0x9F84,
+ 50935 - 44032: 0x9F85,
+ 50936 - 44032: 0xC0A4,
+ 50937 - 44032: 0xC0A5,
+ 50938 - 44032: 0x9F86,
+ 50939 - 44032: 0x9F87,
+ 50940 - 44032: 0x9F88,
+ 50941 - 44032: 0xC0A6,
+ 50942 - 44032: 0x9F89,
+ 50943 - 44032: 0x9F8A,
+ 50944 - 44032: 0x9F8B,
+ 50945 - 44032: 0x9F8C,
+ 50946 - 44032: 0x9F8D,
+ 50947 - 44032: 0x9F8E,
+ 50948 - 44032: 0xC0A7,
+ 50949 - 44032: 0xC0A8,
+ 50950 - 44032: 0x9F8F,
+ 50951 - 44032: 0x9F90,
+ 50952 - 44032: 0xC0A9,
+ 50953 - 44032: 0x9F91,
+ 50954 - 44032: 0x9F92,
+ 50955 - 44032: 0x9F93,
+ 50956 - 44032: 0xC0AA,
+ 50957 - 44032: 0x9F94,
+ 50958 - 44032: 0x9F95,
+ 50959 - 44032: 0x9F96,
+ 50960 - 44032: 0x9F97,
+ 50961 - 44032: 0x9F98,
+ 50962 - 44032: 0x9F99,
+ 50963 - 44032: 0x9F9A,
+ 50964 - 44032: 0xC0AB,
+ 50965 - 44032: 0xC0AC,
+ 50966 - 44032: 0x9F9B,
+ 50967 - 44032: 0xC0AD,
+ 50968 - 44032: 0x9F9C,
+ 50969 - 44032: 0xC0AE,
+ 50970 - 44032: 0x9F9D,
+ 50971 - 44032: 0x9F9E,
+ 50972 - 44032: 0x9F9F,
+ 50973 - 44032: 0x9FA0,
+ 50974 - 44032: 0x9FA1,
+ 50975 - 44032: 0x9FA2,
+ 50976 - 44032: 0xC0AF,
+ 50977 - 44032: 0xC0B0,
+ 50978 - 44032: 0x9FA3,
+ 50979 - 44032: 0x9FA4,
+ 50980 - 44032: 0xC0B1,
+ 50981 - 44032: 0x9FA5,
+ 50982 - 44032: 0x9FA6,
+ 50983 - 44032: 0x9FA7,
+ 50984 - 44032: 0xC0B2,
+ 50985 - 44032: 0x9FA8,
+ 50986 - 44032: 0x9FA9,
+ 50987 - 44032: 0x9FAA,
+ 50988 - 44032: 0x9FAB,
+ 50989 - 44032: 0x9FAC,
+ 50990 - 44032: 0x9FAD,
+ 50991 - 44032: 0x9FAE,
+ 50992 - 44032: 0xC0B3,
+ 50993 - 44032: 0xC0B4,
+ 50994 - 44032: 0x9FAF,
+ 50995 - 44032: 0xC0B5,
+ 50996 - 44032: 0x9FB0,
+ 50997 - 44032: 0xC0B6,
+ 50998 - 44032: 0x9FB1,
+ 50999 - 44032: 0xC0B7,
+ 51000 - 44032: 0x9FB2,
+ 51001 - 44032: 0x9FB3,
+ 51002 - 44032: 0x9FB4,
+ 51003 - 44032: 0x9FB5,
+ 51004 - 44032: 0xC0B8,
+ 51005 - 44032: 0xC0B9,
+ 51006 - 44032: 0x9FB6,
+ 51007 - 44032: 0x9FB7,
+ 51008 - 44032: 0xC0BA,
+ 51009 - 44032: 0x9FB8,
+ 51010 - 44032: 0x9FB9,
+ 51011 - 44032: 0x9FBA,
+ 51012 - 44032: 0xC0BB,
+ 51013 - 44032: 0x9FBB,
+ 51014 - 44032: 0x9FBC,
+ 51015 - 44032: 0x9FBD,
+ 51016 - 44032: 0x9FBE,
+ 51017 - 44032: 0x9FBF,
+ 51018 - 44032: 0xC0BC,
+ 51019 - 44032: 0x9FC0,
+ 51020 - 44032: 0xC0BD,
+ 51021 - 44032: 0xC0BE,
+ 51022 - 44032: 0x9FC1,
+ 51023 - 44032: 0xC0BF,
+ 51024 - 44032: 0x9FC2,
+ 51025 - 44032: 0xC0C0,
+ 51026 - 44032: 0xC0C1,
+ 51027 - 44032: 0xC0C2,
+ 51028 - 44032: 0xC0C3,
+ 51029 - 44032: 0xC0C4,
+ 51030 - 44032: 0xC0C5,
+ 51031 - 44032: 0xC0C6,
+ 51032 - 44032: 0xC0C7,
+ 51033 - 44032: 0x9FC3,
+ 51034 - 44032: 0x9FC4,
+ 51035 - 44032: 0x9FC5,
+ 51036 - 44032: 0xC0C8,
+ 51037 - 44032: 0x9FC6,
+ 51038 - 44032: 0x9FC7,
+ 51039 - 44032: 0x9FC8,
+ 51040 - 44032: 0xC0C9,
+ 51041 - 44032: 0x9FC9,
+ 51042 - 44032: 0x9FCA,
+ 51043 - 44032: 0x9FCB,
+ 51044 - 44032: 0x9FCC,
+ 51045 - 44032: 0x9FCD,
+ 51046 - 44032: 0x9FCE,
+ 51047 - 44032: 0x9FCF,
+ 51048 - 44032: 0xC0CA,
+ 51049 - 44032: 0x9FD0,
+ 51050 - 44032: 0x9FD1,
+ 51051 - 44032: 0xC0CB,
+ 51052 - 44032: 0x9FD2,
+ 51053 - 44032: 0x9FD3,
+ 51054 - 44032: 0x9FD4,
+ 51055 - 44032: 0x9FD5,
+ 51056 - 44032: 0x9FD6,
+ 51057 - 44032: 0x9FD7,
+ 51058 - 44032: 0x9FD8,
+ 51059 - 44032: 0x9FD9,
+ 51060 - 44032: 0xC0CC,
+ 51061 - 44032: 0xC0CD,
+ 51062 - 44032: 0x9FDA,
+ 51063 - 44032: 0x9FDB,
+ 51064 - 44032: 0xC0CE,
+ 51065 - 44032: 0x9FDC,
+ 51066 - 44032: 0x9FDD,
+ 51067 - 44032: 0x9FDE,
+ 51068 - 44032: 0xC0CF,
+ 51069 - 44032: 0xC0D0,
+ 51070 - 44032: 0xC0D1,
+ 51071 - 44032: 0x9FDF,
+ 51072 - 44032: 0x9FE0,
+ 51073 - 44032: 0x9FE1,
+ 51074 - 44032: 0x9FE2,
+ 51075 - 44032: 0xC0D2,
+ 51076 - 44032: 0xC0D3,
+ 51077 - 44032: 0xC0D4,
+ 51078 - 44032: 0x9FE3,
+ 51079 - 44032: 0xC0D5,
+ 51080 - 44032: 0xC0D6,
+ 51081 - 44032: 0xC0D7,
+ 51082 - 44032: 0xC0D8,
+ 51083 - 44032: 0x9FE4,
+ 51084 - 44032: 0x9FE5,
+ 51085 - 44032: 0x9FE6,
+ 51086 - 44032: 0xC0D9,
+ 51087 - 44032: 0x9FE7,
+ 51088 - 44032: 0xC0DA,
+ 51089 - 44032: 0xC0DB,
+ 51090 - 44032: 0x9FE8,
+ 51091 - 44032: 0x9FE9,
+ 51092 - 44032: 0xC0DC,
+ 51093 - 44032: 0x9FEA,
+ 51094 - 44032: 0xC0DD,
+ 51095 - 44032: 0xC0DE,
+ 51096 - 44032: 0xC0DF,
+ 51097 - 44032: 0x9FEB,
+ 51098 - 44032: 0xC0E0,
+ 51099 - 44032: 0x9FEC,
+ 51100 - 44032: 0x9FED,
+ 51101 - 44032: 0x9FEE,
+ 51102 - 44032: 0x9FEF,
+ 51103 - 44032: 0x9FF0,
+ 51104 - 44032: 0xC0E1,
+ 51105 - 44032: 0xC0E2,
+ 51106 - 44032: 0x9FF1,
+ 51107 - 44032: 0xC0E3,
+ 51108 - 44032: 0xC0E4,
+ 51109 - 44032: 0xC0E5,
+ 51110 - 44032: 0xC0E6,
+ 51111 - 44032: 0x9FF2,
+ 51112 - 44032: 0x9FF3,
+ 51113 - 44032: 0x9FF4,
+ 51114 - 44032: 0x9FF5,
+ 51115 - 44032: 0x9FF6,
+ 51116 - 44032: 0xC0E7,
+ 51117 - 44032: 0xC0E8,
+ 51118 - 44032: 0x9FF7,
+ 51119 - 44032: 0x9FF8,
+ 51120 - 44032: 0xC0E9,
+ 51121 - 44032: 0x9FF9,
+ 51122 - 44032: 0x9FFA,
+ 51123 - 44032: 0x9FFB,
+ 51124 - 44032: 0xC0EA,
+ 51125 - 44032: 0x9FFC,
+ 51126 - 44032: 0x9FFD,
+ 51127 - 44032: 0x9FFE,
+ 51128 - 44032: 0xA041,
+ 51129 - 44032: 0xA042,
+ 51130 - 44032: 0xA043,
+ 51131 - 44032: 0xA044,
+ 51132 - 44032: 0xC0EB,
+ 51133 - 44032: 0xC0EC,
+ 51134 - 44032: 0xA045,
+ 51135 - 44032: 0xC0ED,
+ 51136 - 44032: 0xC0EE,
+ 51137 - 44032: 0xC0EF,
+ 51138 - 44032: 0xA046,
+ 51139 - 44032: 0xA047,
+ 51140 - 44032: 0xA048,
+ 51141 - 44032: 0xA049,
+ 51142 - 44032: 0xA04A,
+ 51143 - 44032: 0xA04B,
+ 51144 - 44032: 0xC0F0,
+ 51145 - 44032: 0xC0F1,
+ 51146 - 44032: 0xA04C,
+ 51147 - 44032: 0xA04D,
+ 51148 - 44032: 0xC0F2,
+ 51149 - 44032: 0xA04E,
+ 51150 - 44032: 0xC0F3,
+ 51151 - 44032: 0xA04F,
+ 51152 - 44032: 0xC0F4,
+ 51153 - 44032: 0xA050,
+ 51154 - 44032: 0xA051,
+ 51155 - 44032: 0xA052,
+ 51156 - 44032: 0xA053,
+ 51157 - 44032: 0xA054,
+ 51158 - 44032: 0xA055,
+ 51159 - 44032: 0xA056,
+ 51160 - 44032: 0xC0F5,
+ 51161 - 44032: 0xA057,
+ 51162 - 44032: 0xA058,
+ 51163 - 44032: 0xA059,
+ 51164 - 44032: 0xA05A,
+ 51165 - 44032: 0xC0F6,
+ 51166 - 44032: 0xA061,
+ 51167 - 44032: 0xA062,
+ 51168 - 44032: 0xA063,
+ 51169 - 44032: 0xA064,
+ 51170 - 44032: 0xA065,
+ 51171 - 44032: 0xA066,
+ 51172 - 44032: 0xC0F7,
+ 51173 - 44032: 0xA067,
+ 51174 - 44032: 0xA068,
+ 51175 - 44032: 0xA069,
+ 51176 - 44032: 0xC0F8,
+ 51177 - 44032: 0xA06A,
+ 51178 - 44032: 0xA06B,
+ 51179 - 44032: 0xA06C,
+ 51180 - 44032: 0xC0F9,
+ 51181 - 44032: 0xA06D,
+ 51182 - 44032: 0xA06E,
+ 51183 - 44032: 0xA06F,
+ 51184 - 44032: 0xA070,
+ 51185 - 44032: 0xA071,
+ 51186 - 44032: 0xA072,
+ 51187 - 44032: 0xA073,
+ 51188 - 44032: 0xA074,
+ 51189 - 44032: 0xA075,
+ 51190 - 44032: 0xA076,
+ 51191 - 44032: 0xA077,
+ 51192 - 44032: 0xA078,
+ 51193 - 44032: 0xA079,
+ 51194 - 44032: 0xA07A,
+ 51195 - 44032: 0xA081,
+ 51196 - 44032: 0xA082,
+ 51197 - 44032: 0xA083,
+ 51198 - 44032: 0xA084,
+ 51199 - 44032: 0xA085,
+ 51200 - 44032: 0xC0FA,
+ 51201 - 44032: 0xC0FB,
+ 51202 - 44032: 0xA086,
+ 51203 - 44032: 0xA087,
+ 51204 - 44032: 0xC0FC,
+ 51205 - 44032: 0xA088,
+ 51206 - 44032: 0xA089,
+ 51207 - 44032: 0xA08A,
+ 51208 - 44032: 0xC0FD,
+ 51209 - 44032: 0xA08B,
+ 51210 - 44032: 0xC0FE,
+ 51211 - 44032: 0xA08C,
+ 51212 - 44032: 0xA08D,
+ 51213 - 44032: 0xA08E,
+ 51214 - 44032: 0xA08F,
+ 51215 - 44032: 0xA090,
+ 51216 - 44032: 0xC1A1,
+ 51217 - 44032: 0xC1A2,
+ 51218 - 44032: 0xA091,
+ 51219 - 44032: 0xC1A3,
+ 51220 - 44032: 0xA092,
+ 51221 - 44032: 0xC1A4,
+ 51222 - 44032: 0xC1A5,
+ 51223 - 44032: 0xA093,
+ 51224 - 44032: 0xA094,
+ 51225 - 44032: 0xA095,
+ 51226 - 44032: 0xA096,
+ 51227 - 44032: 0xA097,
+ 51228 - 44032: 0xC1A6,
+ 51229 - 44032: 0xC1A7,
+ 51230 - 44032: 0xA098,
+ 51231 - 44032: 0xA099,
+ 51232 - 44032: 0xC1A8,
+ 51233 - 44032: 0xA09A,
+ 51234 - 44032: 0xA09B,
+ 51235 - 44032: 0xA09C,
+ 51236 - 44032: 0xC1A9,
+ 51237 - 44032: 0xA09D,
+ 51238 - 44032: 0xA09E,
+ 51239 - 44032: 0xA09F,
+ 51240 - 44032: 0xA0A0,
+ 51241 - 44032: 0xA0A1,
+ 51242 - 44032: 0xA0A2,
+ 51243 - 44032: 0xA0A3,
+ 51244 - 44032: 0xC1AA,
+ 51245 - 44032: 0xC1AB,
+ 51246 - 44032: 0xA0A4,
+ 51247 - 44032: 0xC1AC,
+ 51248 - 44032: 0xA0A5,
+ 51249 - 44032: 0xC1AD,
+ 51250 - 44032: 0xA0A6,
+ 51251 - 44032: 0xA0A7,
+ 51252 - 44032: 0xA0A8,
+ 51253 - 44032: 0xA0A9,
+ 51254 - 44032: 0xA0AA,
+ 51255 - 44032: 0xA0AB,
+ 51256 - 44032: 0xC1AE,
+ 51257 - 44032: 0xA0AC,
+ 51258 - 44032: 0xA0AD,
+ 51259 - 44032: 0xA0AE,
+ 51260 - 44032: 0xC1AF,
+ 51261 - 44032: 0xA0AF,
+ 51262 - 44032: 0xA0B0,
+ 51263 - 44032: 0xA0B1,
+ 51264 - 44032: 0xC1B0,
+ 51265 - 44032: 0xA0B2,
+ 51266 - 44032: 0xA0B3,
+ 51267 - 44032: 0xA0B4,
+ 51268 - 44032: 0xA0B5,
+ 51269 - 44032: 0xA0B6,
+ 51270 - 44032: 0xA0B7,
+ 51271 - 44032: 0xA0B8,
+ 51272 - 44032: 0xC1B1,
+ 51273 - 44032: 0xC1B2,
+ 51274 - 44032: 0xA0B9,
+ 51275 - 44032: 0xA0BA,
+ 51276 - 44032: 0xC1B3,
+ 51277 - 44032: 0xC1B4,
+ 51278 - 44032: 0xA0BB,
+ 51279 - 44032: 0xA0BC,
+ 51280 - 44032: 0xA0BD,
+ 51281 - 44032: 0xA0BE,
+ 51282 - 44032: 0xA0BF,
+ 51283 - 44032: 0xA0C0,
+ 51284 - 44032: 0xC1B5,
+ 51285 - 44032: 0xA0C1,
+ 51286 - 44032: 0xA0C2,
+ 51287 - 44032: 0xA0C3,
+ 51288 - 44032: 0xA0C4,
+ 51289 - 44032: 0xA0C5,
+ 51290 - 44032: 0xA0C6,
+ 51291 - 44032: 0xA0C7,
+ 51292 - 44032: 0xA0C8,
+ 51293 - 44032: 0xA0C9,
+ 51294 - 44032: 0xA0CA,
+ 51295 - 44032: 0xA0CB,
+ 51296 - 44032: 0xA0CC,
+ 51297 - 44032: 0xA0CD,
+ 51298 - 44032: 0xA0CE,
+ 51299 - 44032: 0xA0CF,
+ 51300 - 44032: 0xA0D0,
+ 51301 - 44032: 0xA0D1,
+ 51302 - 44032: 0xA0D2,
+ 51303 - 44032: 0xA0D3,
+ 51304 - 44032: 0xA0D4,
+ 51305 - 44032: 0xA0D5,
+ 51306 - 44032: 0xA0D6,
+ 51307 - 44032: 0xA0D7,
+ 51308 - 44032: 0xA0D8,
+ 51309 - 44032: 0xA0D9,
+ 51310 - 44032: 0xA0DA,
+ 51311 - 44032: 0xA0DB,
+ 51312 - 44032: 0xC1B6,
+ 51313 - 44032: 0xC1B7,
+ 51314 - 44032: 0xA0DC,
+ 51315 - 44032: 0xA0DD,
+ 51316 - 44032: 0xC1B8,
+ 51317 - 44032: 0xA0DE,
+ 51318 - 44032: 0xA0DF,
+ 51319 - 44032: 0xA0E0,
+ 51320 - 44032: 0xC1B9,
+ 51321 - 44032: 0xA0E1,
+ 51322 - 44032: 0xC1BA,
+ 51323 - 44032: 0xA0E2,
+ 51324 - 44032: 0xA0E3,
+ 51325 - 44032: 0xA0E4,
+ 51326 - 44032: 0xA0E5,
+ 51327 - 44032: 0xA0E6,
+ 51328 - 44032: 0xC1BB,
+ 51329 - 44032: 0xC1BC,
+ 51330 - 44032: 0xA0E7,
+ 51331 - 44032: 0xC1BD,
+ 51332 - 44032: 0xA0E8,
+ 51333 - 44032: 0xC1BE,
+ 51334 - 44032: 0xC1BF,
+ 51335 - 44032: 0xC1C0,
+ 51336 - 44032: 0xA0E9,
+ 51337 - 44032: 0xA0EA,
+ 51338 - 44032: 0xA0EB,
+ 51339 - 44032: 0xC1C1,
+ 51340 - 44032: 0xC1C2,
+ 51341 - 44032: 0xC1C3,
+ 51342 - 44032: 0xA0EC,
+ 51343 - 44032: 0xA0ED,
+ 51344 - 44032: 0xA0EE,
+ 51345 - 44032: 0xA0EF,
+ 51346 - 44032: 0xA0F0,
+ 51347 - 44032: 0xA0F1,
+ 51348 - 44032: 0xC1C4,
+ 51349 - 44032: 0xA0F2,
+ 51350 - 44032: 0xA0F3,
+ 51351 - 44032: 0xA0F4,
+ 51352 - 44032: 0xA0F5,
+ 51353 - 44032: 0xA0F6,
+ 51354 - 44032: 0xA0F7,
+ 51355 - 44032: 0xA0F8,
+ 51356 - 44032: 0xA0F9,
+ 51357 - 44032: 0xC1C5,
+ 51358 - 44032: 0xA0FA,
+ 51359 - 44032: 0xC1C6,
+ 51360 - 44032: 0xA0FB,
+ 51361 - 44032: 0xC1C7,
+ 51362 - 44032: 0xA0FC,
+ 51363 - 44032: 0xA0FD,
+ 51364 - 44032: 0xA0FE,
+ 51365 - 44032: 0xA141,
+ 51366 - 44032: 0xA142,
+ 51367 - 44032: 0xA143,
+ 51368 - 44032: 0xC1C8,
+ 51369 - 44032: 0xA144,
+ 51370 - 44032: 0xA145,
+ 51371 - 44032: 0xA146,
+ 51372 - 44032: 0xA147,
+ 51373 - 44032: 0xA148,
+ 51374 - 44032: 0xA149,
+ 51375 - 44032: 0xA14A,
+ 51376 - 44032: 0xA14B,
+ 51377 - 44032: 0xA14C,
+ 51378 - 44032: 0xA14D,
+ 51379 - 44032: 0xA14E,
+ 51380 - 44032: 0xA14F,
+ 51381 - 44032: 0xA150,
+ 51382 - 44032: 0xA151,
+ 51383 - 44032: 0xA152,
+ 51384 - 44032: 0xA153,
+ 51385 - 44032: 0xA154,
+ 51386 - 44032: 0xA155,
+ 51387 - 44032: 0xA156,
+ 51388 - 44032: 0xC1C9,
+ 51389 - 44032: 0xC1CA,
+ 51390 - 44032: 0xA157,
+ 51391 - 44032: 0xA158,
+ 51392 - 44032: 0xA159,
+ 51393 - 44032: 0xA15A,
+ 51394 - 44032: 0xA161,
+ 51395 - 44032: 0xA162,
+ 51396 - 44032: 0xC1CB,
+ 51397 - 44032: 0xA163,
+ 51398 - 44032: 0xA164,
+ 51399 - 44032: 0xA165,
+ 51400 - 44032: 0xC1CC,
+ 51401 - 44032: 0xA166,
+ 51402 - 44032: 0xA167,
+ 51403 - 44032: 0xA168,
+ 51404 - 44032: 0xC1CD,
+ 51405 - 44032: 0xA169,
+ 51406 - 44032: 0xA16A,
+ 51407 - 44032: 0xA16B,
+ 51408 - 44032: 0xA16C,
+ 51409 - 44032: 0xA16D,
+ 51410 - 44032: 0xA16E,
+ 51411 - 44032: 0xA16F,
+ 51412 - 44032: 0xC1CE,
+ 51413 - 44032: 0xC1CF,
+ 51414 - 44032: 0xA170,
+ 51415 - 44032: 0xC1D0,
+ 51416 - 44032: 0xA171,
+ 51417 - 44032: 0xC1D1,
+ 51418 - 44032: 0xA172,
+ 51419 - 44032: 0xA173,
+ 51420 - 44032: 0xA174,
+ 51421 - 44032: 0xA175,
+ 51422 - 44032: 0xA176,
+ 51423 - 44032: 0xA177,
+ 51424 - 44032: 0xC1D2,
+ 51425 - 44032: 0xC1D3,
+ 51426 - 44032: 0xA178,
+ 51427 - 44032: 0xA179,
+ 51428 - 44032: 0xC1D4,
+ 51429 - 44032: 0xA17A,
+ 51430 - 44032: 0xA181,
+ 51431 - 44032: 0xA182,
+ 51432 - 44032: 0xA183,
+ 51433 - 44032: 0xA184,
+ 51434 - 44032: 0xA185,
+ 51435 - 44032: 0xA186,
+ 51436 - 44032: 0xA187,
+ 51437 - 44032: 0xA188,
+ 51438 - 44032: 0xA189,
+ 51439 - 44032: 0xA18A,
+ 51440 - 44032: 0xA18B,
+ 51441 - 44032: 0xA18C,
+ 51442 - 44032: 0xA18D,
+ 51443 - 44032: 0xA18E,
+ 51444 - 44032: 0xA18F,
+ 51445 - 44032: 0xC1D5,
+ 51446 - 44032: 0xA190,
+ 51447 - 44032: 0xA191,
+ 51448 - 44032: 0xA192,
+ 51449 - 44032: 0xA193,
+ 51450 - 44032: 0xA194,
+ 51451 - 44032: 0xA195,
+ 51452 - 44032: 0xC1D6,
+ 51453 - 44032: 0xC1D7,
+ 51454 - 44032: 0xA196,
+ 51455 - 44032: 0xA197,
+ 51456 - 44032: 0xC1D8,
+ 51457 - 44032: 0xA198,
+ 51458 - 44032: 0xA199,
+ 51459 - 44032: 0xA19A,
+ 51460 - 44032: 0xC1D9,
+ 51461 - 44032: 0xC1DA,
+ 51462 - 44032: 0xC1DB,
+ 51463 - 44032: 0xA19B,
+ 51464 - 44032: 0xA19C,
+ 51465 - 44032: 0xA19D,
+ 51466 - 44032: 0xA19E,
+ 51467 - 44032: 0xA19F,
+ 51468 - 44032: 0xC1DC,
+ 51469 - 44032: 0xC1DD,
+ 51470 - 44032: 0xA1A0,
+ 51471 - 44032: 0xC1DE,
+ 51472 - 44032: 0xA241,
+ 51473 - 44032: 0xC1DF,
+ 51474 - 44032: 0xA242,
+ 51475 - 44032: 0xA243,
+ 51476 - 44032: 0xA244,
+ 51477 - 44032: 0xA245,
+ 51478 - 44032: 0xA246,
+ 51479 - 44032: 0xA247,
+ 51480 - 44032: 0xC1E0,
+ 51481 - 44032: 0xA248,
+ 51482 - 44032: 0xA249,
+ 51483 - 44032: 0xA24A,
+ 51484 - 44032: 0xA24B,
+ 51485 - 44032: 0xA24C,
+ 51486 - 44032: 0xA24D,
+ 51487 - 44032: 0xA24E,
+ 51488 - 44032: 0xA24F,
+ 51489 - 44032: 0xA250,
+ 51490 - 44032: 0xA251,
+ 51491 - 44032: 0xA252,
+ 51492 - 44032: 0xA253,
+ 51493 - 44032: 0xA254,
+ 51494 - 44032: 0xA255,
+ 51495 - 44032: 0xA256,
+ 51496 - 44032: 0xA257,
+ 51497 - 44032: 0xA258,
+ 51498 - 44032: 0xA259,
+ 51499 - 44032: 0xA25A,
+ 51500 - 44032: 0xC1E1,
+ 51501 - 44032: 0xA261,
+ 51502 - 44032: 0xA262,
+ 51503 - 44032: 0xA263,
+ 51504 - 44032: 0xA264,
+ 51505 - 44032: 0xA265,
+ 51506 - 44032: 0xA266,
+ 51507 - 44032: 0xA267,
+ 51508 - 44032: 0xC1E2,
+ 51509 - 44032: 0xA268,
+ 51510 - 44032: 0xA269,
+ 51511 - 44032: 0xA26A,
+ 51512 - 44032: 0xA26B,
+ 51513 - 44032: 0xA26C,
+ 51514 - 44032: 0xA26D,
+ 51515 - 44032: 0xA26E,
+ 51516 - 44032: 0xA26F,
+ 51517 - 44032: 0xA270,
+ 51518 - 44032: 0xA271,
+ 51519 - 44032: 0xA272,
+ 51520 - 44032: 0xA273,
+ 51521 - 44032: 0xA274,
+ 51522 - 44032: 0xA275,
+ 51523 - 44032: 0xA276,
+ 51524 - 44032: 0xA277,
+ 51525 - 44032: 0xA278,
+ 51526 - 44032: 0xA279,
+ 51527 - 44032: 0xA27A,
+ 51528 - 44032: 0xA281,
+ 51529 - 44032: 0xA282,
+ 51530 - 44032: 0xA283,
+ 51531 - 44032: 0xA284,
+ 51532 - 44032: 0xA285,
+ 51533 - 44032: 0xA286,
+ 51534 - 44032: 0xA287,
+ 51535 - 44032: 0xA288,
+ 51536 - 44032: 0xC1E3,
+ 51537 - 44032: 0xC1E4,
+ 51538 - 44032: 0xA289,
+ 51539 - 44032: 0xA28A,
+ 51540 - 44032: 0xC1E5,
+ 51541 - 44032: 0xA28B,
+ 51542 - 44032: 0xA28C,
+ 51543 - 44032: 0xA28D,
+ 51544 - 44032: 0xC1E6,
+ 51545 - 44032: 0xA28E,
+ 51546 - 44032: 0xA28F,
+ 51547 - 44032: 0xA290,
+ 51548 - 44032: 0xA291,
+ 51549 - 44032: 0xA292,
+ 51550 - 44032: 0xA293,
+ 51551 - 44032: 0xA294,
+ 51552 - 44032: 0xC1E7,
+ 51553 - 44032: 0xC1E8,
+ 51554 - 44032: 0xA295,
+ 51555 - 44032: 0xC1E9,
+ 51556 - 44032: 0xA296,
+ 51557 - 44032: 0xA297,
+ 51558 - 44032: 0xA298,
+ 51559 - 44032: 0xA299,
+ 51560 - 44032: 0xA29A,
+ 51561 - 44032: 0xA29B,
+ 51562 - 44032: 0xA29C,
+ 51563 - 44032: 0xA29D,
+ 51564 - 44032: 0xC1EA,
+ 51565 - 44032: 0xA29E,
+ 51566 - 44032: 0xA29F,
+ 51567 - 44032: 0xA2A0,
+ 51568 - 44032: 0xC1EB,
+ 51569 - 44032: 0xA341,
+ 51570 - 44032: 0xA342,
+ 51571 - 44032: 0xA343,
+ 51572 - 44032: 0xC1EC,
+ 51573 - 44032: 0xA344,
+ 51574 - 44032: 0xA345,
+ 51575 - 44032: 0xA346,
+ 51576 - 44032: 0xA347,
+ 51577 - 44032: 0xA348,
+ 51578 - 44032: 0xA349,
+ 51579 - 44032: 0xA34A,
+ 51580 - 44032: 0xC1ED,
+ 51581 - 44032: 0xA34B,
+ 51582 - 44032: 0xA34C,
+ 51583 - 44032: 0xA34D,
+ 51584 - 44032: 0xA34E,
+ 51585 - 44032: 0xA34F,
+ 51586 - 44032: 0xA350,
+ 51587 - 44032: 0xA351,
+ 51588 - 44032: 0xA352,
+ 51589 - 44032: 0xA353,
+ 51590 - 44032: 0xA354,
+ 51591 - 44032: 0xA355,
+ 51592 - 44032: 0xC1EE,
+ 51593 - 44032: 0xC1EF,
+ 51594 - 44032: 0xA356,
+ 51595 - 44032: 0xA357,
+ 51596 - 44032: 0xC1F0,
+ 51597 - 44032: 0xA358,
+ 51598 - 44032: 0xA359,
+ 51599 - 44032: 0xA35A,
+ 51600 - 44032: 0xC1F1,
+ 51601 - 44032: 0xA361,
+ 51602 - 44032: 0xA362,
+ 51603 - 44032: 0xA363,
+ 51604 - 44032: 0xA364,
+ 51605 - 44032: 0xA365,
+ 51606 - 44032: 0xA366,
+ 51607 - 44032: 0xA367,
+ 51608 - 44032: 0xC1F2,
+ 51609 - 44032: 0xC1F3,
+ 51610 - 44032: 0xA368,
+ 51611 - 44032: 0xC1F4,
+ 51612 - 44032: 0xA369,
+ 51613 - 44032: 0xC1F5,
+ 51614 - 44032: 0xA36A,
+ 51615 - 44032: 0xA36B,
+ 51616 - 44032: 0xA36C,
+ 51617 - 44032: 0xA36D,
+ 51618 - 44032: 0xA36E,
+ 51619 - 44032: 0xA36F,
+ 51620 - 44032: 0xA370,
+ 51621 - 44032: 0xA371,
+ 51622 - 44032: 0xA372,
+ 51623 - 44032: 0xA373,
+ 51624 - 44032: 0xA374,
+ 51625 - 44032: 0xA375,
+ 51626 - 44032: 0xA376,
+ 51627 - 44032: 0xA377,
+ 51628 - 44032: 0xA378,
+ 51629 - 44032: 0xA379,
+ 51630 - 44032: 0xA37A,
+ 51631 - 44032: 0xA381,
+ 51632 - 44032: 0xA382,
+ 51633 - 44032: 0xA383,
+ 51634 - 44032: 0xA384,
+ 51635 - 44032: 0xA385,
+ 51636 - 44032: 0xA386,
+ 51637 - 44032: 0xA387,
+ 51638 - 44032: 0xA388,
+ 51639 - 44032: 0xA389,
+ 51640 - 44032: 0xA38A,
+ 51641 - 44032: 0xA38B,
+ 51642 - 44032: 0xA38C,
+ 51643 - 44032: 0xA38D,
+ 51644 - 44032: 0xA38E,
+ 51645 - 44032: 0xA38F,
+ 51646 - 44032: 0xA390,
+ 51647 - 44032: 0xA391,
+ 51648 - 44032: 0xC1F6,
+ 51649 - 44032: 0xC1F7,
+ 51650 - 44032: 0xA392,
+ 51651 - 44032: 0xA393,
+ 51652 - 44032: 0xC1F8,
+ 51653 - 44032: 0xA394,
+ 51654 - 44032: 0xA395,
+ 51655 - 44032: 0xC1F9,
+ 51656 - 44032: 0xC1FA,
+ 51657 - 44032: 0xA396,
+ 51658 - 44032: 0xC1FB,
+ 51659 - 44032: 0xA397,
+ 51660 - 44032: 0xA398,
+ 51661 - 44032: 0xA399,
+ 51662 - 44032: 0xA39A,
+ 51663 - 44032: 0xA39B,
+ 51664 - 44032: 0xC1FC,
+ 51665 - 44032: 0xC1FD,
+ 51666 - 44032: 0xA39C,
+ 51667 - 44032: 0xC1FE,
+ 51668 - 44032: 0xA39D,
+ 51669 - 44032: 0xC2A1,
+ 51670 - 44032: 0xC2A2,
+ 51671 - 44032: 0xA39E,
+ 51672 - 44032: 0xA39F,
+ 51673 - 44032: 0xC2A3,
+ 51674 - 44032: 0xC2A4,
+ 51675 - 44032: 0xA3A0,
+ 51676 - 44032: 0xC2A5,
+ 51677 - 44032: 0xC2A6,
+ 51678 - 44032: 0xA441,
+ 51679 - 44032: 0xA442,
+ 51680 - 44032: 0xC2A7,
+ 51681 - 44032: 0xA443,
+ 51682 - 44032: 0xC2A8,
+ 51683 - 44032: 0xA444,
+ 51684 - 44032: 0xC2A9,
+ 51685 - 44032: 0xA445,
+ 51686 - 44032: 0xA446,
+ 51687 - 44032: 0xC2AA,
+ 51688 - 44032: 0xA447,
+ 51689 - 44032: 0xA448,
+ 51690 - 44032: 0xA449,
+ 51691 - 44032: 0xA44A,
+ 51692 - 44032: 0xC2AB,
+ 51693 - 44032: 0xC2AC,
+ 51694 - 44032: 0xA44B,
+ 51695 - 44032: 0xC2AD,
+ 51696 - 44032: 0xC2AE,
+ 51697 - 44032: 0xC2AF,
+ 51698 - 44032: 0xA44C,
+ 51699 - 44032: 0xA44D,
+ 51700 - 44032: 0xA44E,
+ 51701 - 44032: 0xA44F,
+ 51702 - 44032: 0xA450,
+ 51703 - 44032: 0xA451,
+ 51704 - 44032: 0xC2B0,
+ 51705 - 44032: 0xC2B1,
+ 51706 - 44032: 0xA452,
+ 51707 - 44032: 0xA453,
+ 51708 - 44032: 0xC2B2,
+ 51709 - 44032: 0xA454,
+ 51710 - 44032: 0xA455,
+ 51711 - 44032: 0xA456,
+ 51712 - 44032: 0xC2B3,
+ 51713 - 44032: 0xA457,
+ 51714 - 44032: 0xA458,
+ 51715 - 44032: 0xA459,
+ 51716 - 44032: 0xA45A,
+ 51717 - 44032: 0xA461,
+ 51718 - 44032: 0xA462,
+ 51719 - 44032: 0xA463,
+ 51720 - 44032: 0xC2B4,
+ 51721 - 44032: 0xC2B5,
+ 51722 - 44032: 0xA464,
+ 51723 - 44032: 0xC2B6,
+ 51724 - 44032: 0xC2B7,
+ 51725 - 44032: 0xC2B8,
+ 51726 - 44032: 0xA465,
+ 51727 - 44032: 0xA466,
+ 51728 - 44032: 0xA467,
+ 51729 - 44032: 0xA468,
+ 51730 - 44032: 0xA469,
+ 51731 - 44032: 0xA46A,
+ 51732 - 44032: 0xC2B9,
+ 51733 - 44032: 0xA46B,
+ 51734 - 44032: 0xA46C,
+ 51735 - 44032: 0xA46D,
+ 51736 - 44032: 0xC2BA,
+ 51737 - 44032: 0xA46E,
+ 51738 - 44032: 0xA46F,
+ 51739 - 44032: 0xA470,
+ 51740 - 44032: 0xA471,
+ 51741 - 44032: 0xA472,
+ 51742 - 44032: 0xA473,
+ 51743 - 44032: 0xA474,
+ 51744 - 44032: 0xA475,
+ 51745 - 44032: 0xA476,
+ 51746 - 44032: 0xA477,
+ 51747 - 44032: 0xA478,
+ 51748 - 44032: 0xA479,
+ 51749 - 44032: 0xA47A,
+ 51750 - 44032: 0xA481,
+ 51751 - 44032: 0xA482,
+ 51752 - 44032: 0xA483,
+ 51753 - 44032: 0xC2BB,
+ 51754 - 44032: 0xA484,
+ 51755 - 44032: 0xA485,
+ 51756 - 44032: 0xA486,
+ 51757 - 44032: 0xA487,
+ 51758 - 44032: 0xA488,
+ 51759 - 44032: 0xA489,
+ 51760 - 44032: 0xA48A,
+ 51761 - 44032: 0xA48B,
+ 51762 - 44032: 0xA48C,
+ 51763 - 44032: 0xA48D,
+ 51764 - 44032: 0xA48E,
+ 51765 - 44032: 0xA48F,
+ 51766 - 44032: 0xA490,
+ 51767 - 44032: 0xA491,
+ 51768 - 44032: 0xA492,
+ 51769 - 44032: 0xA493,
+ 51770 - 44032: 0xA494,
+ 51771 - 44032: 0xA495,
+ 51772 - 44032: 0xA496,
+ 51773 - 44032: 0xA497,
+ 51774 - 44032: 0xA498,
+ 51775 - 44032: 0xA499,
+ 51776 - 44032: 0xA49A,
+ 51777 - 44032: 0xA49B,
+ 51778 - 44032: 0xA49C,
+ 51779 - 44032: 0xA49D,
+ 51780 - 44032: 0xA49E,
+ 51781 - 44032: 0xA49F,
+ 51782 - 44032: 0xA4A0,
+ 51783 - 44032: 0xA541,
+ 51784 - 44032: 0xA542,
+ 51785 - 44032: 0xA543,
+ 51786 - 44032: 0xA544,
+ 51787 - 44032: 0xA545,
+ 51788 - 44032: 0xC2BC,
+ 51789 - 44032: 0xC2BD,
+ 51790 - 44032: 0xA546,
+ 51791 - 44032: 0xA547,
+ 51792 - 44032: 0xC2BE,
+ 51793 - 44032: 0xA548,
+ 51794 - 44032: 0xA549,
+ 51795 - 44032: 0xA54A,
+ 51796 - 44032: 0xC2BF,
+ 51797 - 44032: 0xA54B,
+ 51798 - 44032: 0xA54C,
+ 51799 - 44032: 0xA54D,
+ 51800 - 44032: 0xA54E,
+ 51801 - 44032: 0xA54F,
+ 51802 - 44032: 0xA550,
+ 51803 - 44032: 0xA551,
+ 51804 - 44032: 0xC2C0,
+ 51805 - 44032: 0xC2C1,
+ 51806 - 44032: 0xA552,
+ 51807 - 44032: 0xC2C2,
+ 51808 - 44032: 0xC2C3,
+ 51809 - 44032: 0xC2C4,
+ 51810 - 44032: 0xA553,
+ 51811 - 44032: 0xA554,
+ 51812 - 44032: 0xA555,
+ 51813 - 44032: 0xA556,
+ 51814 - 44032: 0xA557,
+ 51815 - 44032: 0xA558,
+ 51816 - 44032: 0xC2C5,
+ 51817 - 44032: 0xA559,
+ 51818 - 44032: 0xA55A,
+ 51819 - 44032: 0xA561,
+ 51820 - 44032: 0xA562,
+ 51821 - 44032: 0xA563,
+ 51822 - 44032: 0xA564,
+ 51823 - 44032: 0xA565,
+ 51824 - 44032: 0xA566,
+ 51825 - 44032: 0xA567,
+ 51826 - 44032: 0xA568,
+ 51827 - 44032: 0xA569,
+ 51828 - 44032: 0xA56A,
+ 51829 - 44032: 0xA56B,
+ 51830 - 44032: 0xA56C,
+ 51831 - 44032: 0xA56D,
+ 51832 - 44032: 0xA56E,
+ 51833 - 44032: 0xA56F,
+ 51834 - 44032: 0xA570,
+ 51835 - 44032: 0xA571,
+ 51836 - 44032: 0xA572,
+ 51837 - 44032: 0xC2C6,
+ 51838 - 44032: 0xA573,
+ 51839 - 44032: 0xA574,
+ 51840 - 44032: 0xA575,
+ 51841 - 44032: 0xA576,
+ 51842 - 44032: 0xA577,
+ 51843 - 44032: 0xA578,
+ 51844 - 44032: 0xC2C7,
+ 51845 - 44032: 0xA579,
+ 51846 - 44032: 0xA57A,
+ 51847 - 44032: 0xA581,
+ 51848 - 44032: 0xA582,
+ 51849 - 44032: 0xA583,
+ 51850 - 44032: 0xA584,
+ 51851 - 44032: 0xA585,
+ 51852 - 44032: 0xA586,
+ 51853 - 44032: 0xA587,
+ 51854 - 44032: 0xA588,
+ 51855 - 44032: 0xA589,
+ 51856 - 44032: 0xA58A,
+ 51857 - 44032: 0xA58B,
+ 51858 - 44032: 0xA58C,
+ 51859 - 44032: 0xA58D,
+ 51860 - 44032: 0xA58E,
+ 51861 - 44032: 0xA58F,
+ 51862 - 44032: 0xA590,
+ 51863 - 44032: 0xA591,
+ 51864 - 44032: 0xC2C8,
+ 51865 - 44032: 0xA592,
+ 51866 - 44032: 0xA593,
+ 51867 - 44032: 0xA594,
+ 51868 - 44032: 0xA595,
+ 51869 - 44032: 0xA596,
+ 51870 - 44032: 0xA597,
+ 51871 - 44032: 0xA598,
+ 51872 - 44032: 0xA599,
+ 51873 - 44032: 0xA59A,
+ 51874 - 44032: 0xA59B,
+ 51875 - 44032: 0xA59C,
+ 51876 - 44032: 0xA59D,
+ 51877 - 44032: 0xA59E,
+ 51878 - 44032: 0xA59F,
+ 51879 - 44032: 0xA5A0,
+ 51880 - 44032: 0xA641,
+ 51881 - 44032: 0xA642,
+ 51882 - 44032: 0xA643,
+ 51883 - 44032: 0xA644,
+ 51884 - 44032: 0xA645,
+ 51885 - 44032: 0xA646,
+ 51886 - 44032: 0xA647,
+ 51887 - 44032: 0xA648,
+ 51888 - 44032: 0xA649,
+ 51889 - 44032: 0xA64A,
+ 51890 - 44032: 0xA64B,
+ 51891 - 44032: 0xA64C,
+ 51892 - 44032: 0xA64D,
+ 51893 - 44032: 0xA64E,
+ 51894 - 44032: 0xA64F,
+ 51895 - 44032: 0xA650,
+ 51896 - 44032: 0xA651,
+ 51897 - 44032: 0xA652,
+ 51898 - 44032: 0xA653,
+ 51899 - 44032: 0xA654,
+ 51900 - 44032: 0xC2C9,
+ 51901 - 44032: 0xC2CA,
+ 51902 - 44032: 0xA655,
+ 51903 - 44032: 0xA656,
+ 51904 - 44032: 0xC2CB,
+ 51905 - 44032: 0xA657,
+ 51906 - 44032: 0xA658,
+ 51907 - 44032: 0xA659,
+ 51908 - 44032: 0xC2CC,
+ 51909 - 44032: 0xA65A,
+ 51910 - 44032: 0xA661,
+ 51911 - 44032: 0xA662,
+ 51912 - 44032: 0xA663,
+ 51913 - 44032: 0xA664,
+ 51914 - 44032: 0xA665,
+ 51915 - 44032: 0xA666,
+ 51916 - 44032: 0xC2CD,
+ 51917 - 44032: 0xC2CE,
+ 51918 - 44032: 0xA667,
+ 51919 - 44032: 0xC2CF,
+ 51920 - 44032: 0xA668,
+ 51921 - 44032: 0xC2D0,
+ 51922 - 44032: 0xA669,
+ 51923 - 44032: 0xC2D1,
+ 51924 - 44032: 0xA66A,
+ 51925 - 44032: 0xA66B,
+ 51926 - 44032: 0xA66C,
+ 51927 - 44032: 0xA66D,
+ 51928 - 44032: 0xC2D2,
+ 51929 - 44032: 0xC2D3,
+ 51930 - 44032: 0xA66E,
+ 51931 - 44032: 0xA66F,
+ 51932 - 44032: 0xA670,
+ 51933 - 44032: 0xA671,
+ 51934 - 44032: 0xA672,
+ 51935 - 44032: 0xA673,
+ 51936 - 44032: 0xC2D4,
+ 51937 - 44032: 0xA674,
+ 51938 - 44032: 0xA675,
+ 51939 - 44032: 0xA676,
+ 51940 - 44032: 0xA677,
+ 51941 - 44032: 0xA678,
+ 51942 - 44032: 0xA679,
+ 51943 - 44032: 0xA67A,
+ 51944 - 44032: 0xA681,
+ 51945 - 44032: 0xA682,
+ 51946 - 44032: 0xA683,
+ 51947 - 44032: 0xA684,
+ 51948 - 44032: 0xC2D5,
+ 51949 - 44032: 0xA685,
+ 51950 - 44032: 0xA686,
+ 51951 - 44032: 0xA687,
+ 51952 - 44032: 0xA688,
+ 51953 - 44032: 0xA689,
+ 51954 - 44032: 0xA68A,
+ 51955 - 44032: 0xA68B,
+ 51956 - 44032: 0xC2D6,
+ 51957 - 44032: 0xA68C,
+ 51958 - 44032: 0xA68D,
+ 51959 - 44032: 0xA68E,
+ 51960 - 44032: 0xA68F,
+ 51961 - 44032: 0xA690,
+ 51962 - 44032: 0xA691,
+ 51963 - 44032: 0xA692,
+ 51964 - 44032: 0xA693,
+ 51965 - 44032: 0xA694,
+ 51966 - 44032: 0xA695,
+ 51967 - 44032: 0xA696,
+ 51968 - 44032: 0xA697,
+ 51969 - 44032: 0xA698,
+ 51970 - 44032: 0xA699,
+ 51971 - 44032: 0xA69A,
+ 51972 - 44032: 0xA69B,
+ 51973 - 44032: 0xA69C,
+ 51974 - 44032: 0xA69D,
+ 51975 - 44032: 0xA69E,
+ 51976 - 44032: 0xC2D7,
+ 51977 - 44032: 0xA69F,
+ 51978 - 44032: 0xA6A0,
+ 51979 - 44032: 0xA741,
+ 51980 - 44032: 0xA742,
+ 51981 - 44032: 0xA743,
+ 51982 - 44032: 0xA744,
+ 51983 - 44032: 0xA745,
+ 51984 - 44032: 0xC2D8,
+ 51985 - 44032: 0xA746,
+ 51986 - 44032: 0xA747,
+ 51987 - 44032: 0xA748,
+ 51988 - 44032: 0xC2D9,
+ 51989 - 44032: 0xA749,
+ 51990 - 44032: 0xA74A,
+ 51991 - 44032: 0xA74B,
+ 51992 - 44032: 0xC2DA,
+ 51993 - 44032: 0xA74C,
+ 51994 - 44032: 0xA74D,
+ 51995 - 44032: 0xA74E,
+ 51996 - 44032: 0xA74F,
+ 51997 - 44032: 0xA750,
+ 51998 - 44032: 0xA751,
+ 51999 - 44032: 0xA752,
+ 52000 - 44032: 0xC2DB,
+ 52001 - 44032: 0xC2DC,
+ 52002 - 44032: 0xA753,
+ 52003 - 44032: 0xA754,
+ 52004 - 44032: 0xA755,
+ 52005 - 44032: 0xA756,
+ 52006 - 44032: 0xA757,
+ 52007 - 44032: 0xA758,
+ 52008 - 44032: 0xA759,
+ 52009 - 44032: 0xA75A,
+ 52010 - 44032: 0xA761,
+ 52011 - 44032: 0xA762,
+ 52012 - 44032: 0xA763,
+ 52013 - 44032: 0xA764,
+ 52014 - 44032: 0xA765,
+ 52015 - 44032: 0xA766,
+ 52016 - 44032: 0xA767,
+ 52017 - 44032: 0xA768,
+ 52018 - 44032: 0xA769,
+ 52019 - 44032: 0xA76A,
+ 52020 - 44032: 0xA76B,
+ 52021 - 44032: 0xA76C,
+ 52022 - 44032: 0xA76D,
+ 52023 - 44032: 0xA76E,
+ 52024 - 44032: 0xA76F,
+ 52025 - 44032: 0xA770,
+ 52026 - 44032: 0xA771,
+ 52027 - 44032: 0xA772,
+ 52028 - 44032: 0xA773,
+ 52029 - 44032: 0xA774,
+ 52030 - 44032: 0xA775,
+ 52031 - 44032: 0xA776,
+ 52032 - 44032: 0xA777,
+ 52033 - 44032: 0xC2DD,
+ 52034 - 44032: 0xA778,
+ 52035 - 44032: 0xA779,
+ 52036 - 44032: 0xA77A,
+ 52037 - 44032: 0xA781,
+ 52038 - 44032: 0xA782,
+ 52039 - 44032: 0xA783,
+ 52040 - 44032: 0xC2DE,
+ 52041 - 44032: 0xC2DF,
+ 52042 - 44032: 0xA784,
+ 52043 - 44032: 0xA785,
+ 52044 - 44032: 0xC2E0,
+ 52045 - 44032: 0xA786,
+ 52046 - 44032: 0xA787,
+ 52047 - 44032: 0xA788,
+ 52048 - 44032: 0xC2E1,
+ 52049 - 44032: 0xA789,
+ 52050 - 44032: 0xA78A,
+ 52051 - 44032: 0xA78B,
+ 52052 - 44032: 0xA78C,
+ 52053 - 44032: 0xA78D,
+ 52054 - 44032: 0xA78E,
+ 52055 - 44032: 0xA78F,
+ 52056 - 44032: 0xC2E2,
+ 52057 - 44032: 0xC2E3,
+ 52058 - 44032: 0xA790,
+ 52059 - 44032: 0xA791,
+ 52060 - 44032: 0xA792,
+ 52061 - 44032: 0xC2E4,
+ 52062 - 44032: 0xA793,
+ 52063 - 44032: 0xA794,
+ 52064 - 44032: 0xA795,
+ 52065 - 44032: 0xA796,
+ 52066 - 44032: 0xA797,
+ 52067 - 44032: 0xA798,
+ 52068 - 44032: 0xC2E5,
+ 52069 - 44032: 0xA799,
+ 52070 - 44032: 0xA79A,
+ 52071 - 44032: 0xA79B,
+ 52072 - 44032: 0xA79C,
+ 52073 - 44032: 0xA79D,
+ 52074 - 44032: 0xA79E,
+ 52075 - 44032: 0xA79F,
+ 52076 - 44032: 0xA7A0,
+ 52077 - 44032: 0xA841,
+ 52078 - 44032: 0xA842,
+ 52079 - 44032: 0xA843,
+ 52080 - 44032: 0xA844,
+ 52081 - 44032: 0xA845,
+ 52082 - 44032: 0xA846,
+ 52083 - 44032: 0xA847,
+ 52084 - 44032: 0xA848,
+ 52085 - 44032: 0xA849,
+ 52086 - 44032: 0xA84A,
+ 52087 - 44032: 0xA84B,
+ 52088 - 44032: 0xC2E6,
+ 52089 - 44032: 0xC2E7,
+ 52090 - 44032: 0xA84C,
+ 52091 - 44032: 0xA84D,
+ 52092 - 44032: 0xA84E,
+ 52093 - 44032: 0xA84F,
+ 52094 - 44032: 0xA850,
+ 52095 - 44032: 0xA851,
+ 52096 - 44032: 0xA852,
+ 52097 - 44032: 0xA853,
+ 52098 - 44032: 0xA854,
+ 52099 - 44032: 0xA855,
+ 52100 - 44032: 0xA856,
+ 52101 - 44032: 0xA857,
+ 52102 - 44032: 0xA858,
+ 52103 - 44032: 0xA859,
+ 52104 - 44032: 0xA85A,
+ 52105 - 44032: 0xA861,
+ 52106 - 44032: 0xA862,
+ 52107 - 44032: 0xA863,
+ 52108 - 44032: 0xA864,
+ 52109 - 44032: 0xA865,
+ 52110 - 44032: 0xA866,
+ 52111 - 44032: 0xA867,
+ 52112 - 44032: 0xA868,
+ 52113 - 44032: 0xA869,
+ 52114 - 44032: 0xA86A,
+ 52115 - 44032: 0xA86B,
+ 52116 - 44032: 0xA86C,
+ 52117 - 44032: 0xA86D,
+ 52118 - 44032: 0xA86E,
+ 52119 - 44032: 0xA86F,
+ 52120 - 44032: 0xA870,
+ 52121 - 44032: 0xA871,
+ 52122 - 44032: 0xA872,
+ 52123 - 44032: 0xA873,
+ 52124 - 44032: 0xC2E8,
+ 52125 - 44032: 0xA874,
+ 52126 - 44032: 0xA875,
+ 52127 - 44032: 0xA876,
+ 52128 - 44032: 0xA877,
+ 52129 - 44032: 0xA878,
+ 52130 - 44032: 0xA879,
+ 52131 - 44032: 0xA87A,
+ 52132 - 44032: 0xA881,
+ 52133 - 44032: 0xA882,
+ 52134 - 44032: 0xA883,
+ 52135 - 44032: 0xA884,
+ 52136 - 44032: 0xA885,
+ 52137 - 44032: 0xA886,
+ 52138 - 44032: 0xA887,
+ 52139 - 44032: 0xA888,
+ 52140 - 44032: 0xA889,
+ 52141 - 44032: 0xA88A,
+ 52142 - 44032: 0xA88B,
+ 52143 - 44032: 0xA88C,
+ 52144 - 44032: 0xA88D,
+ 52145 - 44032: 0xA88E,
+ 52146 - 44032: 0xA88F,
+ 52147 - 44032: 0xA890,
+ 52148 - 44032: 0xA891,
+ 52149 - 44032: 0xA892,
+ 52150 - 44032: 0xA893,
+ 52151 - 44032: 0xA894,
+ 52152 - 44032: 0xC2E9,
+ 52153 - 44032: 0xA895,
+ 52154 - 44032: 0xA896,
+ 52155 - 44032: 0xA897,
+ 52156 - 44032: 0xA898,
+ 52157 - 44032: 0xA899,
+ 52158 - 44032: 0xA89A,
+ 52159 - 44032: 0xA89B,
+ 52160 - 44032: 0xA89C,
+ 52161 - 44032: 0xA89D,
+ 52162 - 44032: 0xA89E,
+ 52163 - 44032: 0xA89F,
+ 52164 - 44032: 0xA8A0,
+ 52165 - 44032: 0xA941,
+ 52166 - 44032: 0xA942,
+ 52167 - 44032: 0xA943,
+ 52168 - 44032: 0xA944,
+ 52169 - 44032: 0xA945,
+ 52170 - 44032: 0xA946,
+ 52171 - 44032: 0xA947,
+ 52172 - 44032: 0xA948,
+ 52173 - 44032: 0xA949,
+ 52174 - 44032: 0xA94A,
+ 52175 - 44032: 0xA94B,
+ 52176 - 44032: 0xA94C,
+ 52177 - 44032: 0xA94D,
+ 52178 - 44032: 0xA94E,
+ 52179 - 44032: 0xA94F,
+ 52180 - 44032: 0xC2EA,
+ 52181 - 44032: 0xA950,
+ 52182 - 44032: 0xA951,
+ 52183 - 44032: 0xA952,
+ 52184 - 44032: 0xA953,
+ 52185 - 44032: 0xA954,
+ 52186 - 44032: 0xA955,
+ 52187 - 44032: 0xA956,
+ 52188 - 44032: 0xA957,
+ 52189 - 44032: 0xA958,
+ 52190 - 44032: 0xA959,
+ 52191 - 44032: 0xA95A,
+ 52192 - 44032: 0xA961,
+ 52193 - 44032: 0xA962,
+ 52194 - 44032: 0xA963,
+ 52195 - 44032: 0xA964,
+ 52196 - 44032: 0xC2EB,
+ 52197 - 44032: 0xA965,
+ 52198 - 44032: 0xA966,
+ 52199 - 44032: 0xC2EC,
+ 52200 - 44032: 0xA967,
+ 52201 - 44032: 0xC2ED,
+ 52202 - 44032: 0xA968,
+ 52203 - 44032: 0xA969,
+ 52204 - 44032: 0xA96A,
+ 52205 - 44032: 0xA96B,
+ 52206 - 44032: 0xA96C,
+ 52207 - 44032: 0xA96D,
+ 52208 - 44032: 0xA96E,
+ 52209 - 44032: 0xA96F,
+ 52210 - 44032: 0xA970,
+ 52211 - 44032: 0xA971,
+ 52212 - 44032: 0xA972,
+ 52213 - 44032: 0xA973,
+ 52214 - 44032: 0xA974,
+ 52215 - 44032: 0xA975,
+ 52216 - 44032: 0xA976,
+ 52217 - 44032: 0xA977,
+ 52218 - 44032: 0xA978,
+ 52219 - 44032: 0xA979,
+ 52220 - 44032: 0xA97A,
+ 52221 - 44032: 0xA981,
+ 52222 - 44032: 0xA982,
+ 52223 - 44032: 0xA983,
+ 52224 - 44032: 0xA984,
+ 52225 - 44032: 0xA985,
+ 52226 - 44032: 0xA986,
+ 52227 - 44032: 0xA987,
+ 52228 - 44032: 0xA988,
+ 52229 - 44032: 0xA989,
+ 52230 - 44032: 0xA98A,
+ 52231 - 44032: 0xA98B,
+ 52232 - 44032: 0xA98C,
+ 52233 - 44032: 0xA98D,
+ 52234 - 44032: 0xA98E,
+ 52235 - 44032: 0xA98F,
+ 52236 - 44032: 0xC2EE,
+ 52237 - 44032: 0xC2EF,
+ 52238 - 44032: 0xA990,
+ 52239 - 44032: 0xA991,
+ 52240 - 44032: 0xC2F0,
+ 52241 - 44032: 0xA992,
+ 52242 - 44032: 0xA993,
+ 52243 - 44032: 0xA994,
+ 52244 - 44032: 0xC2F1,
+ 52245 - 44032: 0xA995,
+ 52246 - 44032: 0xA996,
+ 52247 - 44032: 0xA997,
+ 52248 - 44032: 0xA998,
+ 52249 - 44032: 0xA999,
+ 52250 - 44032: 0xA99A,
+ 52251 - 44032: 0xA99B,
+ 52252 - 44032: 0xC2F2,
+ 52253 - 44032: 0xC2F3,
+ 52254 - 44032: 0xA99C,
+ 52255 - 44032: 0xA99D,
+ 52256 - 44032: 0xA99E,
+ 52257 - 44032: 0xC2F4,
+ 52258 - 44032: 0xC2F5,
+ 52259 - 44032: 0xA99F,
+ 52260 - 44032: 0xA9A0,
+ 52261 - 44032: 0xAA41,
+ 52262 - 44032: 0xAA42,
+ 52263 - 44032: 0xC2F6,
+ 52264 - 44032: 0xC2F7,
+ 52265 - 44032: 0xC2F8,
+ 52266 - 44032: 0xAA43,
+ 52267 - 44032: 0xAA44,
+ 52268 - 44032: 0xC2F9,
+ 52269 - 44032: 0xAA45,
+ 52270 - 44032: 0xC2FA,
+ 52271 - 44032: 0xAA46,
+ 52272 - 44032: 0xC2FB,
+ 52273 - 44032: 0xAA47,
+ 52274 - 44032: 0xAA48,
+ 52275 - 44032: 0xAA49,
+ 52276 - 44032: 0xAA4A,
+ 52277 - 44032: 0xAA4B,
+ 52278 - 44032: 0xAA4C,
+ 52279 - 44032: 0xAA4D,
+ 52280 - 44032: 0xC2FC,
+ 52281 - 44032: 0xC2FD,
+ 52282 - 44032: 0xAA4E,
+ 52283 - 44032: 0xC2FE,
+ 52284 - 44032: 0xC3A1,
+ 52285 - 44032: 0xC3A2,
+ 52286 - 44032: 0xC3A3,
+ 52287 - 44032: 0xAA4F,
+ 52288 - 44032: 0xAA50,
+ 52289 - 44032: 0xAA51,
+ 52290 - 44032: 0xAA52,
+ 52291 - 44032: 0xAA53,
+ 52292 - 44032: 0xC3A4,
+ 52293 - 44032: 0xC3A5,
+ 52294 - 44032: 0xAA54,
+ 52295 - 44032: 0xAA55,
+ 52296 - 44032: 0xC3A6,
+ 52297 - 44032: 0xAA56,
+ 52298 - 44032: 0xAA57,
+ 52299 - 44032: 0xAA58,
+ 52300 - 44032: 0xC3A7,
+ 52301 - 44032: 0xAA59,
+ 52302 - 44032: 0xAA5A,
+ 52303 - 44032: 0xAA61,
+ 52304 - 44032: 0xAA62,
+ 52305 - 44032: 0xAA63,
+ 52306 - 44032: 0xAA64,
+ 52307 - 44032: 0xAA65,
+ 52308 - 44032: 0xC3A8,
+ 52309 - 44032: 0xC3A9,
+ 52310 - 44032: 0xAA66,
+ 52311 - 44032: 0xC3AA,
+ 52312 - 44032: 0xC3AB,
+ 52313 - 44032: 0xC3AC,
+ 52314 - 44032: 0xAA67,
+ 52315 - 44032: 0xAA68,
+ 52316 - 44032: 0xAA69,
+ 52317 - 44032: 0xAA6A,
+ 52318 - 44032: 0xAA6B,
+ 52319 - 44032: 0xAA6C,
+ 52320 - 44032: 0xC3AD,
+ 52321 - 44032: 0xAA6D,
+ 52322 - 44032: 0xAA6E,
+ 52323 - 44032: 0xAA6F,
+ 52324 - 44032: 0xC3AE,
+ 52325 - 44032: 0xAA70,
+ 52326 - 44032: 0xC3AF,
+ 52327 - 44032: 0xAA71,
+ 52328 - 44032: 0xC3B0,
+ 52329 - 44032: 0xAA72,
+ 52330 - 44032: 0xAA73,
+ 52331 - 44032: 0xAA74,
+ 52332 - 44032: 0xAA75,
+ 52333 - 44032: 0xAA76,
+ 52334 - 44032: 0xAA77,
+ 52335 - 44032: 0xAA78,
+ 52336 - 44032: 0xC3B1,
+ 52337 - 44032: 0xAA79,
+ 52338 - 44032: 0xAA7A,
+ 52339 - 44032: 0xAA81,
+ 52340 - 44032: 0xAA82,
+ 52341 - 44032: 0xC3B2,
+ 52342 - 44032: 0xAA83,
+ 52343 - 44032: 0xAA84,
+ 52344 - 44032: 0xAA85,
+ 52345 - 44032: 0xAA86,
+ 52346 - 44032: 0xAA87,
+ 52347 - 44032: 0xAA88,
+ 52348 - 44032: 0xAA89,
+ 52349 - 44032: 0xAA8A,
+ 52350 - 44032: 0xAA8B,
+ 52351 - 44032: 0xAA8C,
+ 52352 - 44032: 0xAA8D,
+ 52353 - 44032: 0xAA8E,
+ 52354 - 44032: 0xAA8F,
+ 52355 - 44032: 0xAA90,
+ 52356 - 44032: 0xAA91,
+ 52357 - 44032: 0xAA92,
+ 52358 - 44032: 0xAA93,
+ 52359 - 44032: 0xAA94,
+ 52360 - 44032: 0xAA95,
+ 52361 - 44032: 0xAA96,
+ 52362 - 44032: 0xAA97,
+ 52363 - 44032: 0xAA98,
+ 52364 - 44032: 0xAA99,
+ 52365 - 44032: 0xAA9A,
+ 52366 - 44032: 0xAA9B,
+ 52367 - 44032: 0xAA9C,
+ 52368 - 44032: 0xAA9D,
+ 52369 - 44032: 0xAA9E,
+ 52370 - 44032: 0xAA9F,
+ 52371 - 44032: 0xAAA0,
+ 52372 - 44032: 0xAB41,
+ 52373 - 44032: 0xAB42,
+ 52374 - 44032: 0xAB43,
+ 52375 - 44032: 0xAB44,
+ 52376 - 44032: 0xC3B3,
+ 52377 - 44032: 0xC3B4,
+ 52378 - 44032: 0xAB45,
+ 52379 - 44032: 0xAB46,
+ 52380 - 44032: 0xC3B5,
+ 52381 - 44032: 0xAB47,
+ 52382 - 44032: 0xAB48,
+ 52383 - 44032: 0xAB49,
+ 52384 - 44032: 0xC3B6,
+ 52385 - 44032: 0xAB4A,
+ 52386 - 44032: 0xAB4B,
+ 52387 - 44032: 0xAB4C,
+ 52388 - 44032: 0xAB4D,
+ 52389 - 44032: 0xAB4E,
+ 52390 - 44032: 0xAB4F,
+ 52391 - 44032: 0xAB50,
+ 52392 - 44032: 0xC3B7,
+ 52393 - 44032: 0xC3B8,
+ 52394 - 44032: 0xAB51,
+ 52395 - 44032: 0xC3B9,
+ 52396 - 44032: 0xC3BA,
+ 52397 - 44032: 0xC3BB,
+ 52398 - 44032: 0xAB52,
+ 52399 - 44032: 0xAB53,
+ 52400 - 44032: 0xAB54,
+ 52401 - 44032: 0xAB55,
+ 52402 - 44032: 0xAB56,
+ 52403 - 44032: 0xAB57,
+ 52404 - 44032: 0xC3BC,
+ 52405 - 44032: 0xC3BD,
+ 52406 - 44032: 0xAB58,
+ 52407 - 44032: 0xAB59,
+ 52408 - 44032: 0xC3BE,
+ 52409 - 44032: 0xAB5A,
+ 52410 - 44032: 0xAB61,
+ 52411 - 44032: 0xAB62,
+ 52412 - 44032: 0xC3BF,
+ 52413 - 44032: 0xAB63,
+ 52414 - 44032: 0xAB64,
+ 52415 - 44032: 0xAB65,
+ 52416 - 44032: 0xAB66,
+ 52417 - 44032: 0xAB67,
+ 52418 - 44032: 0xAB68,
+ 52419 - 44032: 0xAB69,
+ 52420 - 44032: 0xC3C0,
+ 52421 - 44032: 0xC3C1,
+ 52422 - 44032: 0xAB6A,
+ 52423 - 44032: 0xC3C2,
+ 52424 - 44032: 0xAB6B,
+ 52425 - 44032: 0xC3C3,
+ 52426 - 44032: 0xAB6C,
+ 52427 - 44032: 0xAB6D,
+ 52428 - 44032: 0xAB6E,
+ 52429 - 44032: 0xAB6F,
+ 52430 - 44032: 0xAB70,
+ 52431 - 44032: 0xAB71,
+ 52432 - 44032: 0xC3C4,
+ 52433 - 44032: 0xAB72,
+ 52434 - 44032: 0xAB73,
+ 52435 - 44032: 0xAB74,
+ 52436 - 44032: 0xC3C5,
+ 52437 - 44032: 0xAB75,
+ 52438 - 44032: 0xAB76,
+ 52439 - 44032: 0xAB77,
+ 52440 - 44032: 0xAB78,
+ 52441 - 44032: 0xAB79,
+ 52442 - 44032: 0xAB7A,
+ 52443 - 44032: 0xAB81,
+ 52444 - 44032: 0xAB82,
+ 52445 - 44032: 0xAB83,
+ 52446 - 44032: 0xAB84,
+ 52447 - 44032: 0xAB85,
+ 52448 - 44032: 0xAB86,
+ 52449 - 44032: 0xAB87,
+ 52450 - 44032: 0xAB88,
+ 52451 - 44032: 0xAB89,
+ 52452 - 44032: 0xC3C6,
+ 52453 - 44032: 0xAB8A,
+ 52454 - 44032: 0xAB8B,
+ 52455 - 44032: 0xAB8C,
+ 52456 - 44032: 0xAB8D,
+ 52457 - 44032: 0xAB8E,
+ 52458 - 44032: 0xAB8F,
+ 52459 - 44032: 0xAB90,
+ 52460 - 44032: 0xC3C7,
+ 52461 - 44032: 0xAB91,
+ 52462 - 44032: 0xAB92,
+ 52463 - 44032: 0xAB93,
+ 52464 - 44032: 0xC3C8,
+ 52465 - 44032: 0xAB94,
+ 52466 - 44032: 0xAB95,
+ 52467 - 44032: 0xAB96,
+ 52468 - 44032: 0xAB97,
+ 52469 - 44032: 0xAB98,
+ 52470 - 44032: 0xAB99,
+ 52471 - 44032: 0xAB9A,
+ 52472 - 44032: 0xAB9B,
+ 52473 - 44032: 0xAB9C,
+ 52474 - 44032: 0xAB9D,
+ 52475 - 44032: 0xAB9E,
+ 52476 - 44032: 0xAB9F,
+ 52477 - 44032: 0xABA0,
+ 52478 - 44032: 0xAC41,
+ 52479 - 44032: 0xAC42,
+ 52480 - 44032: 0xAC43,
+ 52481 - 44032: 0xC3C9,
+ 52482 - 44032: 0xAC44,
+ 52483 - 44032: 0xAC45,
+ 52484 - 44032: 0xAC46,
+ 52485 - 44032: 0xAC47,
+ 52486 - 44032: 0xAC48,
+ 52487 - 44032: 0xAC49,
+ 52488 - 44032: 0xC3CA,
+ 52489 - 44032: 0xC3CB,
+ 52490 - 44032: 0xAC4A,
+ 52491 - 44032: 0xAC4B,
+ 52492 - 44032: 0xC3CC,
+ 52493 - 44032: 0xAC4C,
+ 52494 - 44032: 0xAC4D,
+ 52495 - 44032: 0xAC4E,
+ 52496 - 44032: 0xC3CD,
+ 52497 - 44032: 0xAC4F,
+ 52498 - 44032: 0xAC50,
+ 52499 - 44032: 0xAC51,
+ 52500 - 44032: 0xAC52,
+ 52501 - 44032: 0xAC53,
+ 52502 - 44032: 0xAC54,
+ 52503 - 44032: 0xAC55,
+ 52504 - 44032: 0xC3CE,
+ 52505 - 44032: 0xC3CF,
+ 52506 - 44032: 0xAC56,
+ 52507 - 44032: 0xC3D0,
+ 52508 - 44032: 0xAC57,
+ 52509 - 44032: 0xC3D1,
+ 52510 - 44032: 0xAC58,
+ 52511 - 44032: 0xAC59,
+ 52512 - 44032: 0xAC5A,
+ 52513 - 44032: 0xAC61,
+ 52514 - 44032: 0xAC62,
+ 52515 - 44032: 0xAC63,
+ 52516 - 44032: 0xC3D2,
+ 52517 - 44032: 0xAC64,
+ 52518 - 44032: 0xAC65,
+ 52519 - 44032: 0xAC66,
+ 52520 - 44032: 0xC3D3,
+ 52521 - 44032: 0xAC67,
+ 52522 - 44032: 0xAC68,
+ 52523 - 44032: 0xAC69,
+ 52524 - 44032: 0xC3D4,
+ 52525 - 44032: 0xAC6A,
+ 52526 - 44032: 0xAC6B,
+ 52527 - 44032: 0xAC6C,
+ 52528 - 44032: 0xAC6D,
+ 52529 - 44032: 0xAC6E,
+ 52530 - 44032: 0xAC6F,
+ 52531 - 44032: 0xAC70,
+ 52532 - 44032: 0xAC71,
+ 52533 - 44032: 0xAC72,
+ 52534 - 44032: 0xAC73,
+ 52535 - 44032: 0xAC74,
+ 52536 - 44032: 0xAC75,
+ 52537 - 44032: 0xC3D5,
+ 52538 - 44032: 0xAC76,
+ 52539 - 44032: 0xAC77,
+ 52540 - 44032: 0xAC78,
+ 52541 - 44032: 0xAC79,
+ 52542 - 44032: 0xAC7A,
+ 52543 - 44032: 0xAC81,
+ 52544 - 44032: 0xAC82,
+ 52545 - 44032: 0xAC83,
+ 52546 - 44032: 0xAC84,
+ 52547 - 44032: 0xAC85,
+ 52548 - 44032: 0xAC86,
+ 52549 - 44032: 0xAC87,
+ 52550 - 44032: 0xAC88,
+ 52551 - 44032: 0xAC89,
+ 52552 - 44032: 0xAC8A,
+ 52553 - 44032: 0xAC8B,
+ 52554 - 44032: 0xAC8C,
+ 52555 - 44032: 0xAC8D,
+ 52556 - 44032: 0xAC8E,
+ 52557 - 44032: 0xAC8F,
+ 52558 - 44032: 0xAC90,
+ 52559 - 44032: 0xAC91,
+ 52560 - 44032: 0xAC92,
+ 52561 - 44032: 0xAC93,
+ 52562 - 44032: 0xAC94,
+ 52563 - 44032: 0xAC95,
+ 52564 - 44032: 0xAC96,
+ 52565 - 44032: 0xAC97,
+ 52566 - 44032: 0xAC98,
+ 52567 - 44032: 0xAC99,
+ 52568 - 44032: 0xAC9A,
+ 52569 - 44032: 0xAC9B,
+ 52570 - 44032: 0xAC9C,
+ 52571 - 44032: 0xAC9D,
+ 52572 - 44032: 0xC3D6,
+ 52573 - 44032: 0xAC9E,
+ 52574 - 44032: 0xAC9F,
+ 52575 - 44032: 0xACA0,
+ 52576 - 44032: 0xC3D7,
+ 52577 - 44032: 0xAD41,
+ 52578 - 44032: 0xAD42,
+ 52579 - 44032: 0xAD43,
+ 52580 - 44032: 0xC3D8,
+ 52581 - 44032: 0xAD44,
+ 52582 - 44032: 0xAD45,
+ 52583 - 44032: 0xAD46,
+ 52584 - 44032: 0xAD47,
+ 52585 - 44032: 0xAD48,
+ 52586 - 44032: 0xAD49,
+ 52587 - 44032: 0xAD4A,
+ 52588 - 44032: 0xC3D9,
+ 52589 - 44032: 0xC3DA,
+ 52590 - 44032: 0xAD4B,
+ 52591 - 44032: 0xC3DB,
+ 52592 - 44032: 0xAD4C,
+ 52593 - 44032: 0xC3DC,
+ 52594 - 44032: 0xAD4D,
+ 52595 - 44032: 0xAD4E,
+ 52596 - 44032: 0xAD4F,
+ 52597 - 44032: 0xAD50,
+ 52598 - 44032: 0xAD51,
+ 52599 - 44032: 0xAD52,
+ 52600 - 44032: 0xC3DD,
+ 52601 - 44032: 0xAD53,
+ 52602 - 44032: 0xAD54,
+ 52603 - 44032: 0xAD55,
+ 52604 - 44032: 0xAD56,
+ 52605 - 44032: 0xAD57,
+ 52606 - 44032: 0xAD58,
+ 52607 - 44032: 0xAD59,
+ 52608 - 44032: 0xAD5A,
+ 52609 - 44032: 0xAD61,
+ 52610 - 44032: 0xAD62,
+ 52611 - 44032: 0xAD63,
+ 52612 - 44032: 0xAD64,
+ 52613 - 44032: 0xAD65,
+ 52614 - 44032: 0xAD66,
+ 52615 - 44032: 0xAD67,
+ 52616 - 44032: 0xC3DE,
+ 52617 - 44032: 0xAD68,
+ 52618 - 44032: 0xAD69,
+ 52619 - 44032: 0xAD6A,
+ 52620 - 44032: 0xAD6B,
+ 52621 - 44032: 0xAD6C,
+ 52622 - 44032: 0xAD6D,
+ 52623 - 44032: 0xAD6E,
+ 52624 - 44032: 0xAD6F,
+ 52625 - 44032: 0xAD70,
+ 52626 - 44032: 0xAD71,
+ 52627 - 44032: 0xAD72,
+ 52628 - 44032: 0xC3DF,
+ 52629 - 44032: 0xC3E0,
+ 52630 - 44032: 0xAD73,
+ 52631 - 44032: 0xAD74,
+ 52632 - 44032: 0xC3E1,
+ 52633 - 44032: 0xAD75,
+ 52634 - 44032: 0xAD76,
+ 52635 - 44032: 0xAD77,
+ 52636 - 44032: 0xC3E2,
+ 52637 - 44032: 0xAD78,
+ 52638 - 44032: 0xAD79,
+ 52639 - 44032: 0xAD7A,
+ 52640 - 44032: 0xAD81,
+ 52641 - 44032: 0xAD82,
+ 52642 - 44032: 0xAD83,
+ 52643 - 44032: 0xAD84,
+ 52644 - 44032: 0xC3E3,
+ 52645 - 44032: 0xC3E4,
+ 52646 - 44032: 0xAD85,
+ 52647 - 44032: 0xC3E5,
+ 52648 - 44032: 0xAD86,
+ 52649 - 44032: 0xC3E6,
+ 52650 - 44032: 0xAD87,
+ 52651 - 44032: 0xAD88,
+ 52652 - 44032: 0xAD89,
+ 52653 - 44032: 0xAD8A,
+ 52654 - 44032: 0xAD8B,
+ 52655 - 44032: 0xAD8C,
+ 52656 - 44032: 0xC3E7,
+ 52657 - 44032: 0xAD8D,
+ 52658 - 44032: 0xAD8E,
+ 52659 - 44032: 0xAD8F,
+ 52660 - 44032: 0xAD90,
+ 52661 - 44032: 0xAD91,
+ 52662 - 44032: 0xAD92,
+ 52663 - 44032: 0xAD93,
+ 52664 - 44032: 0xAD94,
+ 52665 - 44032: 0xAD95,
+ 52666 - 44032: 0xAD96,
+ 52667 - 44032: 0xAD97,
+ 52668 - 44032: 0xAD98,
+ 52669 - 44032: 0xAD99,
+ 52670 - 44032: 0xAD9A,
+ 52671 - 44032: 0xAD9B,
+ 52672 - 44032: 0xAD9C,
+ 52673 - 44032: 0xAD9D,
+ 52674 - 44032: 0xAD9E,
+ 52675 - 44032: 0xAD9F,
+ 52676 - 44032: 0xC3E8,
+ 52677 - 44032: 0xADA0,
+ 52678 - 44032: 0xAE41,
+ 52679 - 44032: 0xAE42,
+ 52680 - 44032: 0xAE43,
+ 52681 - 44032: 0xAE44,
+ 52682 - 44032: 0xAE45,
+ 52683 - 44032: 0xAE46,
+ 52684 - 44032: 0xC3E9,
+ 52685 - 44032: 0xAE47,
+ 52686 - 44032: 0xAE48,
+ 52687 - 44032: 0xAE49,
+ 52688 - 44032: 0xC3EA,
+ 52689 - 44032: 0xAE4A,
+ 52690 - 44032: 0xAE4B,
+ 52691 - 44032: 0xAE4C,
+ 52692 - 44032: 0xAE4D,
+ 52693 - 44032: 0xAE4E,
+ 52694 - 44032: 0xAE4F,
+ 52695 - 44032: 0xAE50,
+ 52696 - 44032: 0xAE51,
+ 52697 - 44032: 0xAE52,
+ 52698 - 44032: 0xAE53,
+ 52699 - 44032: 0xAE54,
+ 52700 - 44032: 0xAE55,
+ 52701 - 44032: 0xAE56,
+ 52702 - 44032: 0xAE57,
+ 52703 - 44032: 0xAE58,
+ 52704 - 44032: 0xAE59,
+ 52705 - 44032: 0xAE5A,
+ 52706 - 44032: 0xAE61,
+ 52707 - 44032: 0xAE62,
+ 52708 - 44032: 0xAE63,
+ 52709 - 44032: 0xAE64,
+ 52710 - 44032: 0xAE65,
+ 52711 - 44032: 0xAE66,
+ 52712 - 44032: 0xC3EB,
+ 52713 - 44032: 0xAE67,
+ 52714 - 44032: 0xAE68,
+ 52715 - 44032: 0xAE69,
+ 52716 - 44032: 0xC3EC,
+ 52717 - 44032: 0xAE6A,
+ 52718 - 44032: 0xAE6B,
+ 52719 - 44032: 0xAE6C,
+ 52720 - 44032: 0xC3ED,
+ 52721 - 44032: 0xAE6D,
+ 52722 - 44032: 0xAE6E,
+ 52723 - 44032: 0xAE6F,
+ 52724 - 44032: 0xAE70,
+ 52725 - 44032: 0xAE71,
+ 52726 - 44032: 0xAE72,
+ 52727 - 44032: 0xAE73,
+ 52728 - 44032: 0xC3EE,
+ 52729 - 44032: 0xC3EF,
+ 52730 - 44032: 0xAE74,
+ 52731 - 44032: 0xC3F0,
+ 52732 - 44032: 0xAE75,
+ 52733 - 44032: 0xC3F1,
+ 52734 - 44032: 0xAE76,
+ 52735 - 44032: 0xAE77,
+ 52736 - 44032: 0xAE78,
+ 52737 - 44032: 0xAE79,
+ 52738 - 44032: 0xAE7A,
+ 52739 - 44032: 0xAE81,
+ 52740 - 44032: 0xC3F2,
+ 52741 - 44032: 0xAE82,
+ 52742 - 44032: 0xAE83,
+ 52743 - 44032: 0xAE84,
+ 52744 - 44032: 0xC3F3,
+ 52745 - 44032: 0xAE85,
+ 52746 - 44032: 0xAE86,
+ 52747 - 44032: 0xAE87,
+ 52748 - 44032: 0xC3F4,
+ 52749 - 44032: 0xAE88,
+ 52750 - 44032: 0xAE89,
+ 52751 - 44032: 0xAE8A,
+ 52752 - 44032: 0xAE8B,
+ 52753 - 44032: 0xAE8C,
+ 52754 - 44032: 0xAE8D,
+ 52755 - 44032: 0xAE8E,
+ 52756 - 44032: 0xC3F5,
+ 52757 - 44032: 0xAE8F,
+ 52758 - 44032: 0xAE90,
+ 52759 - 44032: 0xAE91,
+ 52760 - 44032: 0xAE92,
+ 52761 - 44032: 0xC3F6,
+ 52762 - 44032: 0xAE93,
+ 52763 - 44032: 0xAE94,
+ 52764 - 44032: 0xAE95,
+ 52765 - 44032: 0xAE96,
+ 52766 - 44032: 0xAE97,
+ 52767 - 44032: 0xAE98,
+ 52768 - 44032: 0xC3F7,
+ 52769 - 44032: 0xC3F8,
+ 52770 - 44032: 0xAE99,
+ 52771 - 44032: 0xAE9A,
+ 52772 - 44032: 0xC3F9,
+ 52773 - 44032: 0xAE9B,
+ 52774 - 44032: 0xAE9C,
+ 52775 - 44032: 0xAE9D,
+ 52776 - 44032: 0xC3FA,
+ 52777 - 44032: 0xAE9E,
+ 52778 - 44032: 0xAE9F,
+ 52779 - 44032: 0xAEA0,
+ 52780 - 44032: 0xAF41,
+ 52781 - 44032: 0xAF42,
+ 52782 - 44032: 0xAF43,
+ 52783 - 44032: 0xAF44,
+ 52784 - 44032: 0xC3FB,
+ 52785 - 44032: 0xC3FC,
+ 52786 - 44032: 0xAF45,
+ 52787 - 44032: 0xC3FD,
+ 52788 - 44032: 0xAF46,
+ 52789 - 44032: 0xC3FE,
+ 52790 - 44032: 0xAF47,
+ 52791 - 44032: 0xAF48,
+ 52792 - 44032: 0xAF49,
+ 52793 - 44032: 0xAF4A,
+ 52794 - 44032: 0xAF4B,
+ 52795 - 44032: 0xAF4C,
+ 52796 - 44032: 0xAF4D,
+ 52797 - 44032: 0xAF4E,
+ 52798 - 44032: 0xAF4F,
+ 52799 - 44032: 0xAF50,
+ 52800 - 44032: 0xAF51,
+ 52801 - 44032: 0xAF52,
+ 52802 - 44032: 0xAF53,
+ 52803 - 44032: 0xAF54,
+ 52804 - 44032: 0xAF55,
+ 52805 - 44032: 0xAF56,
+ 52806 - 44032: 0xAF57,
+ 52807 - 44032: 0xAF58,
+ 52808 - 44032: 0xAF59,
+ 52809 - 44032: 0xAF5A,
+ 52810 - 44032: 0xAF61,
+ 52811 - 44032: 0xAF62,
+ 52812 - 44032: 0xAF63,
+ 52813 - 44032: 0xAF64,
+ 52814 - 44032: 0xAF65,
+ 52815 - 44032: 0xAF66,
+ 52816 - 44032: 0xAF67,
+ 52817 - 44032: 0xAF68,
+ 52818 - 44032: 0xAF69,
+ 52819 - 44032: 0xAF6A,
+ 52820 - 44032: 0xAF6B,
+ 52821 - 44032: 0xAF6C,
+ 52822 - 44032: 0xAF6D,
+ 52823 - 44032: 0xAF6E,
+ 52824 - 44032: 0xC4A1,
+ 52825 - 44032: 0xC4A2,
+ 52826 - 44032: 0xAF6F,
+ 52827 - 44032: 0xAF70,
+ 52828 - 44032: 0xC4A3,
+ 52829 - 44032: 0xAF71,
+ 52830 - 44032: 0xAF72,
+ 52831 - 44032: 0xC4A4,
+ 52832 - 44032: 0xC4A5,
+ 52833 - 44032: 0xC4A6,
+ 52834 - 44032: 0xAF73,
+ 52835 - 44032: 0xAF74,
+ 52836 - 44032: 0xAF75,
+ 52837 - 44032: 0xAF76,
+ 52838 - 44032: 0xAF77,
+ 52839 - 44032: 0xAF78,
+ 52840 - 44032: 0xC4A7,
+ 52841 - 44032: 0xC4A8,
+ 52842 - 44032: 0xAF79,
+ 52843 - 44032: 0xC4A9,
+ 52844 - 44032: 0xAF7A,
+ 52845 - 44032: 0xC4AA,
+ 52846 - 44032: 0xAF81,
+ 52847 - 44032: 0xAF82,
+ 52848 - 44032: 0xAF83,
+ 52849 - 44032: 0xAF84,
+ 52850 - 44032: 0xAF85,
+ 52851 - 44032: 0xAF86,
+ 52852 - 44032: 0xC4AB,
+ 52853 - 44032: 0xC4AC,
+ 52854 - 44032: 0xAF87,
+ 52855 - 44032: 0xAF88,
+ 52856 - 44032: 0xC4AD,
+ 52857 - 44032: 0xAF89,
+ 52858 - 44032: 0xAF8A,
+ 52859 - 44032: 0xAF8B,
+ 52860 - 44032: 0xC4AE,
+ 52861 - 44032: 0xAF8C,
+ 52862 - 44032: 0xAF8D,
+ 52863 - 44032: 0xAF8E,
+ 52864 - 44032: 0xAF8F,
+ 52865 - 44032: 0xAF90,
+ 52866 - 44032: 0xAF91,
+ 52867 - 44032: 0xAF92,
+ 52868 - 44032: 0xC4AF,
+ 52869 - 44032: 0xC4B0,
+ 52870 - 44032: 0xAF93,
+ 52871 - 44032: 0xC4B1,
+ 52872 - 44032: 0xAF94,
+ 52873 - 44032: 0xC4B2,
+ 52874 - 44032: 0xAF95,
+ 52875 - 44032: 0xAF96,
+ 52876 - 44032: 0xAF97,
+ 52877 - 44032: 0xAF98,
+ 52878 - 44032: 0xAF99,
+ 52879 - 44032: 0xAF9A,
+ 52880 - 44032: 0xC4B3,
+ 52881 - 44032: 0xC4B4,
+ 52882 - 44032: 0xAF9B,
+ 52883 - 44032: 0xAF9C,
+ 52884 - 44032: 0xC4B5,
+ 52885 - 44032: 0xAF9D,
+ 52886 - 44032: 0xAF9E,
+ 52887 - 44032: 0xAF9F,
+ 52888 - 44032: 0xC4B6,
+ 52889 - 44032: 0xAFA0,
+ 52890 - 44032: 0xB041,
+ 52891 - 44032: 0xB042,
+ 52892 - 44032: 0xB043,
+ 52893 - 44032: 0xB044,
+ 52894 - 44032: 0xB045,
+ 52895 - 44032: 0xB046,
+ 52896 - 44032: 0xC4B7,
+ 52897 - 44032: 0xC4B8,
+ 52898 - 44032: 0xB047,
+ 52899 - 44032: 0xC4B9,
+ 52900 - 44032: 0xC4BA,
+ 52901 - 44032: 0xC4BB,
+ 52902 - 44032: 0xB048,
+ 52903 - 44032: 0xB049,
+ 52904 - 44032: 0xB04A,
+ 52905 - 44032: 0xB04B,
+ 52906 - 44032: 0xB04C,
+ 52907 - 44032: 0xB04D,
+ 52908 - 44032: 0xC4BC,
+ 52909 - 44032: 0xC4BD,
+ 52910 - 44032: 0xB04E,
+ 52911 - 44032: 0xB04F,
+ 52912 - 44032: 0xB050,
+ 52913 - 44032: 0xB051,
+ 52914 - 44032: 0xB052,
+ 52915 - 44032: 0xB053,
+ 52916 - 44032: 0xB054,
+ 52917 - 44032: 0xB055,
+ 52918 - 44032: 0xB056,
+ 52919 - 44032: 0xB057,
+ 52920 - 44032: 0xB058,
+ 52921 - 44032: 0xB059,
+ 52922 - 44032: 0xB05A,
+ 52923 - 44032: 0xB061,
+ 52924 - 44032: 0xB062,
+ 52925 - 44032: 0xB063,
+ 52926 - 44032: 0xB064,
+ 52927 - 44032: 0xB065,
+ 52928 - 44032: 0xB066,
+ 52929 - 44032: 0xC4BE,
+ 52930 - 44032: 0xB067,
+ 52931 - 44032: 0xB068,
+ 52932 - 44032: 0xB069,
+ 52933 - 44032: 0xB06A,
+ 52934 - 44032: 0xB06B,
+ 52935 - 44032: 0xB06C,
+ 52936 - 44032: 0xB06D,
+ 52937 - 44032: 0xB06E,
+ 52938 - 44032: 0xB06F,
+ 52939 - 44032: 0xB070,
+ 52940 - 44032: 0xB071,
+ 52941 - 44032: 0xB072,
+ 52942 - 44032: 0xB073,
+ 52943 - 44032: 0xB074,
+ 52944 - 44032: 0xB075,
+ 52945 - 44032: 0xB076,
+ 52946 - 44032: 0xB077,
+ 52947 - 44032: 0xB078,
+ 52948 - 44032: 0xB079,
+ 52949 - 44032: 0xB07A,
+ 52950 - 44032: 0xB081,
+ 52951 - 44032: 0xB082,
+ 52952 - 44032: 0xB083,
+ 52953 - 44032: 0xB084,
+ 52954 - 44032: 0xB085,
+ 52955 - 44032: 0xB086,
+ 52956 - 44032: 0xB087,
+ 52957 - 44032: 0xB088,
+ 52958 - 44032: 0xB089,
+ 52959 - 44032: 0xB08A,
+ 52960 - 44032: 0xB08B,
+ 52961 - 44032: 0xB08C,
+ 52962 - 44032: 0xB08D,
+ 52963 - 44032: 0xB08E,
+ 52964 - 44032: 0xC4BF,
+ 52965 - 44032: 0xC4C0,
+ 52966 - 44032: 0xB08F,
+ 52967 - 44032: 0xB090,
+ 52968 - 44032: 0xC4C1,
+ 52969 - 44032: 0xB091,
+ 52970 - 44032: 0xB092,
+ 52971 - 44032: 0xC4C2,
+ 52972 - 44032: 0xC4C3,
+ 52973 - 44032: 0xB093,
+ 52974 - 44032: 0xB094,
+ 52975 - 44032: 0xB095,
+ 52976 - 44032: 0xB096,
+ 52977 - 44032: 0xB097,
+ 52978 - 44032: 0xB098,
+ 52979 - 44032: 0xB099,
+ 52980 - 44032: 0xC4C4,
+ 52981 - 44032: 0xC4C5,
+ 52982 - 44032: 0xB09A,
+ 52983 - 44032: 0xC4C6,
+ 52984 - 44032: 0xC4C7,
+ 52985 - 44032: 0xC4C8,
+ 52986 - 44032: 0xB09B,
+ 52987 - 44032: 0xB09C,
+ 52988 - 44032: 0xB09D,
+ 52989 - 44032: 0xB09E,
+ 52990 - 44032: 0xB09F,
+ 52991 - 44032: 0xB0A0,
+ 52992 - 44032: 0xC4C9,
+ 52993 - 44032: 0xC4CA,
+ 52994 - 44032: 0xB141,
+ 52995 - 44032: 0xB142,
+ 52996 - 44032: 0xC4CB,
+ 52997 - 44032: 0xB143,
+ 52998 - 44032: 0xB144,
+ 52999 - 44032: 0xB145,
+ 53000 - 44032: 0xC4CC,
+ 53001 - 44032: 0xB146,
+ 53002 - 44032: 0xB147,
+ 53003 - 44032: 0xB148,
+ 53004 - 44032: 0xB149,
+ 53005 - 44032: 0xB14A,
+ 53006 - 44032: 0xB14B,
+ 53007 - 44032: 0xB14C,
+ 53008 - 44032: 0xC4CD,
+ 53009 - 44032: 0xC4CE,
+ 53010 - 44032: 0xB14D,
+ 53011 - 44032: 0xC4CF,
+ 53012 - 44032: 0xB14E,
+ 53013 - 44032: 0xC4D0,
+ 53014 - 44032: 0xB14F,
+ 53015 - 44032: 0xB150,
+ 53016 - 44032: 0xB151,
+ 53017 - 44032: 0xB152,
+ 53018 - 44032: 0xB153,
+ 53019 - 44032: 0xB154,
+ 53020 - 44032: 0xC4D1,
+ 53021 - 44032: 0xB155,
+ 53022 - 44032: 0xB156,
+ 53023 - 44032: 0xB157,
+ 53024 - 44032: 0xC4D2,
+ 53025 - 44032: 0xB158,
+ 53026 - 44032: 0xB159,
+ 53027 - 44032: 0xB15A,
+ 53028 - 44032: 0xC4D3,
+ 53029 - 44032: 0xB161,
+ 53030 - 44032: 0xB162,
+ 53031 - 44032: 0xB163,
+ 53032 - 44032: 0xB164,
+ 53033 - 44032: 0xB165,
+ 53034 - 44032: 0xB166,
+ 53035 - 44032: 0xB167,
+ 53036 - 44032: 0xC4D4,
+ 53037 - 44032: 0xC4D5,
+ 53038 - 44032: 0xB168,
+ 53039 - 44032: 0xC4D6,
+ 53040 - 44032: 0xC4D7,
+ 53041 - 44032: 0xC4D8,
+ 53042 - 44032: 0xB169,
+ 53043 - 44032: 0xB16A,
+ 53044 - 44032: 0xB16B,
+ 53045 - 44032: 0xB16C,
+ 53046 - 44032: 0xB16D,
+ 53047 - 44032: 0xB16E,
+ 53048 - 44032: 0xC4D9,
+ 53049 - 44032: 0xB16F,
+ 53050 - 44032: 0xB170,
+ 53051 - 44032: 0xB171,
+ 53052 - 44032: 0xB172,
+ 53053 - 44032: 0xB173,
+ 53054 - 44032: 0xB174,
+ 53055 - 44032: 0xB175,
+ 53056 - 44032: 0xB176,
+ 53057 - 44032: 0xB177,
+ 53058 - 44032: 0xB178,
+ 53059 - 44032: 0xB179,
+ 53060 - 44032: 0xB17A,
+ 53061 - 44032: 0xB181,
+ 53062 - 44032: 0xB182,
+ 53063 - 44032: 0xB183,
+ 53064 - 44032: 0xB184,
+ 53065 - 44032: 0xB185,
+ 53066 - 44032: 0xB186,
+ 53067 - 44032: 0xB187,
+ 53068 - 44032: 0xB188,
+ 53069 - 44032: 0xB189,
+ 53070 - 44032: 0xB18A,
+ 53071 - 44032: 0xB18B,
+ 53072 - 44032: 0xB18C,
+ 53073 - 44032: 0xB18D,
+ 53074 - 44032: 0xB18E,
+ 53075 - 44032: 0xB18F,
+ 53076 - 44032: 0xC4DA,
+ 53077 - 44032: 0xC4DB,
+ 53078 - 44032: 0xB190,
+ 53079 - 44032: 0xB191,
+ 53080 - 44032: 0xC4DC,
+ 53081 - 44032: 0xB192,
+ 53082 - 44032: 0xB193,
+ 53083 - 44032: 0xB194,
+ 53084 - 44032: 0xC4DD,
+ 53085 - 44032: 0xB195,
+ 53086 - 44032: 0xB196,
+ 53087 - 44032: 0xB197,
+ 53088 - 44032: 0xB198,
+ 53089 - 44032: 0xB199,
+ 53090 - 44032: 0xB19A,
+ 53091 - 44032: 0xB19B,
+ 53092 - 44032: 0xC4DE,
+ 53093 - 44032: 0xC4DF,
+ 53094 - 44032: 0xB19C,
+ 53095 - 44032: 0xC4E0,
+ 53096 - 44032: 0xB19D,
+ 53097 - 44032: 0xC4E1,
+ 53098 - 44032: 0xB19E,
+ 53099 - 44032: 0xB19F,
+ 53100 - 44032: 0xB1A0,
+ 53101 - 44032: 0xB241,
+ 53102 - 44032: 0xB242,
+ 53103 - 44032: 0xB243,
+ 53104 - 44032: 0xC4E2,
+ 53105 - 44032: 0xC4E3,
+ 53106 - 44032: 0xB244,
+ 53107 - 44032: 0xB245,
+ 53108 - 44032: 0xC4E4,
+ 53109 - 44032: 0xB246,
+ 53110 - 44032: 0xB247,
+ 53111 - 44032: 0xB248,
+ 53112 - 44032: 0xC4E5,
+ 53113 - 44032: 0xB249,
+ 53114 - 44032: 0xB24A,
+ 53115 - 44032: 0xB24B,
+ 53116 - 44032: 0xB24C,
+ 53117 - 44032: 0xB24D,
+ 53118 - 44032: 0xB24E,
+ 53119 - 44032: 0xB24F,
+ 53120 - 44032: 0xC4E6,
+ 53121 - 44032: 0xB250,
+ 53122 - 44032: 0xB251,
+ 53123 - 44032: 0xB252,
+ 53124 - 44032: 0xB253,
+ 53125 - 44032: 0xC4E7,
+ 53126 - 44032: 0xB254,
+ 53127 - 44032: 0xB255,
+ 53128 - 44032: 0xB256,
+ 53129 - 44032: 0xB257,
+ 53130 - 44032: 0xB258,
+ 53131 - 44032: 0xB259,
+ 53132 - 44032: 0xC4E8,
+ 53133 - 44032: 0xB25A,
+ 53134 - 44032: 0xB261,
+ 53135 - 44032: 0xB262,
+ 53136 - 44032: 0xB263,
+ 53137 - 44032: 0xB264,
+ 53138 - 44032: 0xB265,
+ 53139 - 44032: 0xB266,
+ 53140 - 44032: 0xB267,
+ 53141 - 44032: 0xB268,
+ 53142 - 44032: 0xB269,
+ 53143 - 44032: 0xB26A,
+ 53144 - 44032: 0xB26B,
+ 53145 - 44032: 0xB26C,
+ 53146 - 44032: 0xB26D,
+ 53147 - 44032: 0xB26E,
+ 53148 - 44032: 0xB26F,
+ 53149 - 44032: 0xB270,
+ 53150 - 44032: 0xB271,
+ 53151 - 44032: 0xB272,
+ 53152 - 44032: 0xB273,
+ 53153 - 44032: 0xC4E9,
+ 53154 - 44032: 0xB274,
+ 53155 - 44032: 0xB275,
+ 53156 - 44032: 0xB276,
+ 53157 - 44032: 0xB277,
+ 53158 - 44032: 0xB278,
+ 53159 - 44032: 0xB279,
+ 53160 - 44032: 0xC4EA,
+ 53161 - 44032: 0xB27A,
+ 53162 - 44032: 0xB281,
+ 53163 - 44032: 0xB282,
+ 53164 - 44032: 0xB283,
+ 53165 - 44032: 0xB284,
+ 53166 - 44032: 0xB285,
+ 53167 - 44032: 0xB286,
+ 53168 - 44032: 0xC4EB,
+ 53169 - 44032: 0xB287,
+ 53170 - 44032: 0xB288,
+ 53171 - 44032: 0xB289,
+ 53172 - 44032: 0xB28A,
+ 53173 - 44032: 0xB28B,
+ 53174 - 44032: 0xB28C,
+ 53175 - 44032: 0xB28D,
+ 53176 - 44032: 0xB28E,
+ 53177 - 44032: 0xB28F,
+ 53178 - 44032: 0xB290,
+ 53179 - 44032: 0xB291,
+ 53180 - 44032: 0xB292,
+ 53181 - 44032: 0xB293,
+ 53182 - 44032: 0xB294,
+ 53183 - 44032: 0xB295,
+ 53184 - 44032: 0xB296,
+ 53185 - 44032: 0xB297,
+ 53186 - 44032: 0xB298,
+ 53187 - 44032: 0xB299,
+ 53188 - 44032: 0xC4EC,
+ 53189 - 44032: 0xB29A,
+ 53190 - 44032: 0xB29B,
+ 53191 - 44032: 0xB29C,
+ 53192 - 44032: 0xB29D,
+ 53193 - 44032: 0xB29E,
+ 53194 - 44032: 0xB29F,
+ 53195 - 44032: 0xB2A0,
+ 53196 - 44032: 0xB341,
+ 53197 - 44032: 0xB342,
+ 53198 - 44032: 0xB343,
+ 53199 - 44032: 0xB344,
+ 53200 - 44032: 0xB345,
+ 53201 - 44032: 0xB346,
+ 53202 - 44032: 0xB347,
+ 53203 - 44032: 0xB348,
+ 53204 - 44032: 0xB349,
+ 53205 - 44032: 0xB34A,
+ 53206 - 44032: 0xB34B,
+ 53207 - 44032: 0xB34C,
+ 53208 - 44032: 0xB34D,
+ 53209 - 44032: 0xB34E,
+ 53210 - 44032: 0xB34F,
+ 53211 - 44032: 0xB350,
+ 53212 - 44032: 0xB351,
+ 53213 - 44032: 0xB352,
+ 53214 - 44032: 0xB353,
+ 53215 - 44032: 0xB354,
+ 53216 - 44032: 0xC4ED,
+ 53217 - 44032: 0xC4EE,
+ 53218 - 44032: 0xB355,
+ 53219 - 44032: 0xB356,
+ 53220 - 44032: 0xC4EF,
+ 53221 - 44032: 0xB357,
+ 53222 - 44032: 0xB358,
+ 53223 - 44032: 0xB359,
+ 53224 - 44032: 0xC4F0,
+ 53225 - 44032: 0xB35A,
+ 53226 - 44032: 0xB361,
+ 53227 - 44032: 0xB362,
+ 53228 - 44032: 0xB363,
+ 53229 - 44032: 0xB364,
+ 53230 - 44032: 0xB365,
+ 53231 - 44032: 0xB366,
+ 53232 - 44032: 0xC4F1,
+ 53233 - 44032: 0xC4F2,
+ 53234 - 44032: 0xB367,
+ 53235 - 44032: 0xC4F3,
+ 53236 - 44032: 0xB368,
+ 53237 - 44032: 0xC4F4,
+ 53238 - 44032: 0xB369,
+ 53239 - 44032: 0xB36A,
+ 53240 - 44032: 0xB36B,
+ 53241 - 44032: 0xB36C,
+ 53242 - 44032: 0xB36D,
+ 53243 - 44032: 0xB36E,
+ 53244 - 44032: 0xC4F5,
+ 53245 - 44032: 0xB36F,
+ 53246 - 44032: 0xB370,
+ 53247 - 44032: 0xB371,
+ 53248 - 44032: 0xC4F6,
+ 53249 - 44032: 0xB372,
+ 53250 - 44032: 0xB373,
+ 53251 - 44032: 0xB374,
+ 53252 - 44032: 0xC4F7,
+ 53253 - 44032: 0xB375,
+ 53254 - 44032: 0xB376,
+ 53255 - 44032: 0xB377,
+ 53256 - 44032: 0xB378,
+ 53257 - 44032: 0xB379,
+ 53258 - 44032: 0xB37A,
+ 53259 - 44032: 0xB381,
+ 53260 - 44032: 0xB382,
+ 53261 - 44032: 0xB383,
+ 53262 - 44032: 0xB384,
+ 53263 - 44032: 0xB385,
+ 53264 - 44032: 0xB386,
+ 53265 - 44032: 0xC4F8,
+ 53266 - 44032: 0xB387,
+ 53267 - 44032: 0xB388,
+ 53268 - 44032: 0xB389,
+ 53269 - 44032: 0xB38A,
+ 53270 - 44032: 0xB38B,
+ 53271 - 44032: 0xB38C,
+ 53272 - 44032: 0xC4F9,
+ 53273 - 44032: 0xB38D,
+ 53274 - 44032: 0xB38E,
+ 53275 - 44032: 0xB38F,
+ 53276 - 44032: 0xB390,
+ 53277 - 44032: 0xB391,
+ 53278 - 44032: 0xB392,
+ 53279 - 44032: 0xB393,
+ 53280 - 44032: 0xB394,
+ 53281 - 44032: 0xB395,
+ 53282 - 44032: 0xB396,
+ 53283 - 44032: 0xB397,
+ 53284 - 44032: 0xB398,
+ 53285 - 44032: 0xB399,
+ 53286 - 44032: 0xB39A,
+ 53287 - 44032: 0xB39B,
+ 53288 - 44032: 0xB39C,
+ 53289 - 44032: 0xB39D,
+ 53290 - 44032: 0xB39E,
+ 53291 - 44032: 0xB39F,
+ 53292 - 44032: 0xB3A0,
+ 53293 - 44032: 0xC4FA,
+ 53294 - 44032: 0xB441,
+ 53295 - 44032: 0xB442,
+ 53296 - 44032: 0xB443,
+ 53297 - 44032: 0xB444,
+ 53298 - 44032: 0xB445,
+ 53299 - 44032: 0xB446,
+ 53300 - 44032: 0xC4FB,
+ 53301 - 44032: 0xC4FC,
+ 53302 - 44032: 0xB447,
+ 53303 - 44032: 0xB448,
+ 53304 - 44032: 0xC4FD,
+ 53305 - 44032: 0xB449,
+ 53306 - 44032: 0xB44A,
+ 53307 - 44032: 0xB44B,
+ 53308 - 44032: 0xC4FE,
+ 53309 - 44032: 0xB44C,
+ 53310 - 44032: 0xB44D,
+ 53311 - 44032: 0xB44E,
+ 53312 - 44032: 0xB44F,
+ 53313 - 44032: 0xB450,
+ 53314 - 44032: 0xB451,
+ 53315 - 44032: 0xB452,
+ 53316 - 44032: 0xC5A1,
+ 53317 - 44032: 0xC5A2,
+ 53318 - 44032: 0xB453,
+ 53319 - 44032: 0xC5A3,
+ 53320 - 44032: 0xB454,
+ 53321 - 44032: 0xC5A4,
+ 53322 - 44032: 0xB455,
+ 53323 - 44032: 0xB456,
+ 53324 - 44032: 0xB457,
+ 53325 - 44032: 0xB458,
+ 53326 - 44032: 0xB459,
+ 53327 - 44032: 0xB45A,
+ 53328 - 44032: 0xC5A5,
+ 53329 - 44032: 0xB461,
+ 53330 - 44032: 0xB462,
+ 53331 - 44032: 0xB463,
+ 53332 - 44032: 0xC5A6,
+ 53333 - 44032: 0xB464,
+ 53334 - 44032: 0xB465,
+ 53335 - 44032: 0xB466,
+ 53336 - 44032: 0xC5A7,
+ 53337 - 44032: 0xB467,
+ 53338 - 44032: 0xB468,
+ 53339 - 44032: 0xB469,
+ 53340 - 44032: 0xB46A,
+ 53341 - 44032: 0xB46B,
+ 53342 - 44032: 0xB46C,
+ 53343 - 44032: 0xB46D,
+ 53344 - 44032: 0xC5A8,
+ 53345 - 44032: 0xB46E,
+ 53346 - 44032: 0xB46F,
+ 53347 - 44032: 0xB470,
+ 53348 - 44032: 0xB471,
+ 53349 - 44032: 0xB472,
+ 53350 - 44032: 0xB473,
+ 53351 - 44032: 0xB474,
+ 53352 - 44032: 0xB475,
+ 53353 - 44032: 0xB476,
+ 53354 - 44032: 0xB477,
+ 53355 - 44032: 0xB478,
+ 53356 - 44032: 0xC5A9,
+ 53357 - 44032: 0xC5AA,
+ 53358 - 44032: 0xB479,
+ 53359 - 44032: 0xB47A,
+ 53360 - 44032: 0xC5AB,
+ 53361 - 44032: 0xB481,
+ 53362 - 44032: 0xB482,
+ 53363 - 44032: 0xB483,
+ 53364 - 44032: 0xC5AC,
+ 53365 - 44032: 0xB484,
+ 53366 - 44032: 0xB485,
+ 53367 - 44032: 0xB486,
+ 53368 - 44032: 0xB487,
+ 53369 - 44032: 0xB488,
+ 53370 - 44032: 0xB489,
+ 53371 - 44032: 0xB48A,
+ 53372 - 44032: 0xC5AD,
+ 53373 - 44032: 0xC5AE,
+ 53374 - 44032: 0xB48B,
+ 53375 - 44032: 0xB48C,
+ 53376 - 44032: 0xB48D,
+ 53377 - 44032: 0xC5AF,
+ 53378 - 44032: 0xB48E,
+ 53379 - 44032: 0xB48F,
+ 53380 - 44032: 0xB490,
+ 53381 - 44032: 0xB491,
+ 53382 - 44032: 0xB492,
+ 53383 - 44032: 0xB493,
+ 53384 - 44032: 0xB494,
+ 53385 - 44032: 0xB495,
+ 53386 - 44032: 0xB496,
+ 53387 - 44032: 0xB497,
+ 53388 - 44032: 0xB498,
+ 53389 - 44032: 0xB499,
+ 53390 - 44032: 0xB49A,
+ 53391 - 44032: 0xB49B,
+ 53392 - 44032: 0xB49C,
+ 53393 - 44032: 0xB49D,
+ 53394 - 44032: 0xB49E,
+ 53395 - 44032: 0xB49F,
+ 53396 - 44032: 0xB4A0,
+ 53397 - 44032: 0xB541,
+ 53398 - 44032: 0xB542,
+ 53399 - 44032: 0xB543,
+ 53400 - 44032: 0xB544,
+ 53401 - 44032: 0xB545,
+ 53402 - 44032: 0xB546,
+ 53403 - 44032: 0xB547,
+ 53404 - 44032: 0xB548,
+ 53405 - 44032: 0xB549,
+ 53406 - 44032: 0xB54A,
+ 53407 - 44032: 0xB54B,
+ 53408 - 44032: 0xB54C,
+ 53409 - 44032: 0xB54D,
+ 53410 - 44032: 0xB54E,
+ 53411 - 44032: 0xB54F,
+ 53412 - 44032: 0xC5B0,
+ 53413 - 44032: 0xC5B1,
+ 53414 - 44032: 0xB550,
+ 53415 - 44032: 0xB551,
+ 53416 - 44032: 0xC5B2,
+ 53417 - 44032: 0xB552,
+ 53418 - 44032: 0xB553,
+ 53419 - 44032: 0xB554,
+ 53420 - 44032: 0xC5B3,
+ 53421 - 44032: 0xB555,
+ 53422 - 44032: 0xB556,
+ 53423 - 44032: 0xB557,
+ 53424 - 44032: 0xB558,
+ 53425 - 44032: 0xB559,
+ 53426 - 44032: 0xB55A,
+ 53427 - 44032: 0xB561,
+ 53428 - 44032: 0xC5B4,
+ 53429 - 44032: 0xC5B5,
+ 53430 - 44032: 0xB562,
+ 53431 - 44032: 0xC5B6,
+ 53432 - 44032: 0xB563,
+ 53433 - 44032: 0xC5B7,
+ 53434 - 44032: 0xB564,
+ 53435 - 44032: 0xB565,
+ 53436 - 44032: 0xB566,
+ 53437 - 44032: 0xB567,
+ 53438 - 44032: 0xB568,
+ 53439 - 44032: 0xB569,
+ 53440 - 44032: 0xC5B8,
+ 53441 - 44032: 0xC5B9,
+ 53442 - 44032: 0xB56A,
+ 53443 - 44032: 0xB56B,
+ 53444 - 44032: 0xC5BA,
+ 53445 - 44032: 0xB56C,
+ 53446 - 44032: 0xB56D,
+ 53447 - 44032: 0xB56E,
+ 53448 - 44032: 0xC5BB,
+ 53449 - 44032: 0xC5BC,
+ 53450 - 44032: 0xB56F,
+ 53451 - 44032: 0xB570,
+ 53452 - 44032: 0xB571,
+ 53453 - 44032: 0xB572,
+ 53454 - 44032: 0xB573,
+ 53455 - 44032: 0xB574,
+ 53456 - 44032: 0xC5BD,
+ 53457 - 44032: 0xC5BE,
+ 53458 - 44032: 0xB575,
+ 53459 - 44032: 0xC5BF,
+ 53460 - 44032: 0xC5C0,
+ 53461 - 44032: 0xC5C1,
+ 53462 - 44032: 0xB576,
+ 53463 - 44032: 0xB577,
+ 53464 - 44032: 0xB578,
+ 53465 - 44032: 0xB579,
+ 53466 - 44032: 0xB57A,
+ 53467 - 44032: 0xB581,
+ 53468 - 44032: 0xC5C2,
+ 53469 - 44032: 0xC5C3,
+ 53470 - 44032: 0xB582,
+ 53471 - 44032: 0xB583,
+ 53472 - 44032: 0xC5C4,
+ 53473 - 44032: 0xB584,
+ 53474 - 44032: 0xB585,
+ 53475 - 44032: 0xB586,
+ 53476 - 44032: 0xC5C5,
+ 53477 - 44032: 0xB587,
+ 53478 - 44032: 0xB588,
+ 53479 - 44032: 0xB589,
+ 53480 - 44032: 0xB58A,
+ 53481 - 44032: 0xB58B,
+ 53482 - 44032: 0xB58C,
+ 53483 - 44032: 0xB58D,
+ 53484 - 44032: 0xC5C6,
+ 53485 - 44032: 0xC5C7,
+ 53486 - 44032: 0xB58E,
+ 53487 - 44032: 0xC5C8,
+ 53488 - 44032: 0xC5C9,
+ 53489 - 44032: 0xC5CA,
+ 53490 - 44032: 0xB58F,
+ 53491 - 44032: 0xB590,
+ 53492 - 44032: 0xB591,
+ 53493 - 44032: 0xB592,
+ 53494 - 44032: 0xB593,
+ 53495 - 44032: 0xB594,
+ 53496 - 44032: 0xC5CB,
+ 53497 - 44032: 0xB595,
+ 53498 - 44032: 0xB596,
+ 53499 - 44032: 0xB597,
+ 53500 - 44032: 0xB598,
+ 53501 - 44032: 0xB599,
+ 53502 - 44032: 0xB59A,
+ 53503 - 44032: 0xB59B,
+ 53504 - 44032: 0xB59C,
+ 53505 - 44032: 0xB59D,
+ 53506 - 44032: 0xB59E,
+ 53507 - 44032: 0xB59F,
+ 53508 - 44032: 0xB5A0,
+ 53509 - 44032: 0xB641,
+ 53510 - 44032: 0xB642,
+ 53511 - 44032: 0xB643,
+ 53512 - 44032: 0xB644,
+ 53513 - 44032: 0xB645,
+ 53514 - 44032: 0xB646,
+ 53515 - 44032: 0xB647,
+ 53516 - 44032: 0xB648,
+ 53517 - 44032: 0xC5CC,
+ 53518 - 44032: 0xB649,
+ 53519 - 44032: 0xB64A,
+ 53520 - 44032: 0xB64B,
+ 53521 - 44032: 0xB64C,
+ 53522 - 44032: 0xB64D,
+ 53523 - 44032: 0xB64E,
+ 53524 - 44032: 0xB64F,
+ 53525 - 44032: 0xB650,
+ 53526 - 44032: 0xB651,
+ 53527 - 44032: 0xB652,
+ 53528 - 44032: 0xB653,
+ 53529 - 44032: 0xB654,
+ 53530 - 44032: 0xB655,
+ 53531 - 44032: 0xB656,
+ 53532 - 44032: 0xB657,
+ 53533 - 44032: 0xB658,
+ 53534 - 44032: 0xB659,
+ 53535 - 44032: 0xB65A,
+ 53536 - 44032: 0xB661,
+ 53537 - 44032: 0xB662,
+ 53538 - 44032: 0xB663,
+ 53539 - 44032: 0xB664,
+ 53540 - 44032: 0xB665,
+ 53541 - 44032: 0xB666,
+ 53542 - 44032: 0xB667,
+ 53543 - 44032: 0xB668,
+ 53544 - 44032: 0xB669,
+ 53545 - 44032: 0xB66A,
+ 53546 - 44032: 0xB66B,
+ 53547 - 44032: 0xB66C,
+ 53548 - 44032: 0xB66D,
+ 53549 - 44032: 0xB66E,
+ 53550 - 44032: 0xB66F,
+ 53551 - 44032: 0xB670,
+ 53552 - 44032: 0xC5CD,
+ 53553 - 44032: 0xC5CE,
+ 53554 - 44032: 0xB671,
+ 53555 - 44032: 0xB672,
+ 53556 - 44032: 0xC5CF,
+ 53557 - 44032: 0xB673,
+ 53558 - 44032: 0xB674,
+ 53559 - 44032: 0xB675,
+ 53560 - 44032: 0xC5D0,
+ 53561 - 44032: 0xB676,
+ 53562 - 44032: 0xC5D1,
+ 53563 - 44032: 0xB677,
+ 53564 - 44032: 0xB678,
+ 53565 - 44032: 0xB679,
+ 53566 - 44032: 0xB67A,
+ 53567 - 44032: 0xB681,
+ 53568 - 44032: 0xC5D2,
+ 53569 - 44032: 0xC5D3,
+ 53570 - 44032: 0xB682,
+ 53571 - 44032: 0xC5D4,
+ 53572 - 44032: 0xC5D5,
+ 53573 - 44032: 0xC5D6,
+ 53574 - 44032: 0xB683,
+ 53575 - 44032: 0xB684,
+ 53576 - 44032: 0xB685,
+ 53577 - 44032: 0xB686,
+ 53578 - 44032: 0xB687,
+ 53579 - 44032: 0xB688,
+ 53580 - 44032: 0xC5D7,
+ 53581 - 44032: 0xC5D8,
+ 53582 - 44032: 0xB689,
+ 53583 - 44032: 0xB68A,
+ 53584 - 44032: 0xC5D9,
+ 53585 - 44032: 0xB68B,
+ 53586 - 44032: 0xB68C,
+ 53587 - 44032: 0xB68D,
+ 53588 - 44032: 0xC5DA,
+ 53589 - 44032: 0xB68E,
+ 53590 - 44032: 0xB68F,
+ 53591 - 44032: 0xB690,
+ 53592 - 44032: 0xB691,
+ 53593 - 44032: 0xB692,
+ 53594 - 44032: 0xB693,
+ 53595 - 44032: 0xB694,
+ 53596 - 44032: 0xC5DB,
+ 53597 - 44032: 0xC5DC,
+ 53598 - 44032: 0xB695,
+ 53599 - 44032: 0xC5DD,
+ 53600 - 44032: 0xB696,
+ 53601 - 44032: 0xC5DE,
+ 53602 - 44032: 0xB697,
+ 53603 - 44032: 0xB698,
+ 53604 - 44032: 0xB699,
+ 53605 - 44032: 0xB69A,
+ 53606 - 44032: 0xB69B,
+ 53607 - 44032: 0xB69C,
+ 53608 - 44032: 0xC5DF,
+ 53609 - 44032: 0xB69D,
+ 53610 - 44032: 0xB69E,
+ 53611 - 44032: 0xB69F,
+ 53612 - 44032: 0xC5E0,
+ 53613 - 44032: 0xB6A0,
+ 53614 - 44032: 0xB741,
+ 53615 - 44032: 0xB742,
+ 53616 - 44032: 0xB743,
+ 53617 - 44032: 0xB744,
+ 53618 - 44032: 0xB745,
+ 53619 - 44032: 0xB746,
+ 53620 - 44032: 0xB747,
+ 53621 - 44032: 0xB748,
+ 53622 - 44032: 0xB749,
+ 53623 - 44032: 0xB74A,
+ 53624 - 44032: 0xB74B,
+ 53625 - 44032: 0xB74C,
+ 53626 - 44032: 0xB74D,
+ 53627 - 44032: 0xB74E,
+ 53628 - 44032: 0xC5E1,
+ 53629 - 44032: 0xB74F,
+ 53630 - 44032: 0xB750,
+ 53631 - 44032: 0xB751,
+ 53632 - 44032: 0xB752,
+ 53633 - 44032: 0xB753,
+ 53634 - 44032: 0xB754,
+ 53635 - 44032: 0xB755,
+ 53636 - 44032: 0xC5E2,
+ 53637 - 44032: 0xB756,
+ 53638 - 44032: 0xB757,
+ 53639 - 44032: 0xB758,
+ 53640 - 44032: 0xC5E3,
+ 53641 - 44032: 0xB759,
+ 53642 - 44032: 0xB75A,
+ 53643 - 44032: 0xB761,
+ 53644 - 44032: 0xB762,
+ 53645 - 44032: 0xB763,
+ 53646 - 44032: 0xB764,
+ 53647 - 44032: 0xB765,
+ 53648 - 44032: 0xB766,
+ 53649 - 44032: 0xB767,
+ 53650 - 44032: 0xB768,
+ 53651 - 44032: 0xB769,
+ 53652 - 44032: 0xB76A,
+ 53653 - 44032: 0xB76B,
+ 53654 - 44032: 0xB76C,
+ 53655 - 44032: 0xB76D,
+ 53656 - 44032: 0xB76E,
+ 53657 - 44032: 0xB76F,
+ 53658 - 44032: 0xB770,
+ 53659 - 44032: 0xB771,
+ 53660 - 44032: 0xB772,
+ 53661 - 44032: 0xB773,
+ 53662 - 44032: 0xB774,
+ 53663 - 44032: 0xB775,
+ 53664 - 44032: 0xC5E4,
+ 53665 - 44032: 0xC5E5,
+ 53666 - 44032: 0xB776,
+ 53667 - 44032: 0xB777,
+ 53668 - 44032: 0xC5E6,
+ 53669 - 44032: 0xB778,
+ 53670 - 44032: 0xB779,
+ 53671 - 44032: 0xB77A,
+ 53672 - 44032: 0xC5E7,
+ 53673 - 44032: 0xB781,
+ 53674 - 44032: 0xB782,
+ 53675 - 44032: 0xB783,
+ 53676 - 44032: 0xB784,
+ 53677 - 44032: 0xB785,
+ 53678 - 44032: 0xB786,
+ 53679 - 44032: 0xB787,
+ 53680 - 44032: 0xC5E8,
+ 53681 - 44032: 0xC5E9,
+ 53682 - 44032: 0xB788,
+ 53683 - 44032: 0xC5EA,
+ 53684 - 44032: 0xB789,
+ 53685 - 44032: 0xC5EB,
+ 53686 - 44032: 0xB78A,
+ 53687 - 44032: 0xB78B,
+ 53688 - 44032: 0xB78C,
+ 53689 - 44032: 0xB78D,
+ 53690 - 44032: 0xC5EC,
+ 53691 - 44032: 0xB78E,
+ 53692 - 44032: 0xC5ED,
+ 53693 - 44032: 0xB78F,
+ 53694 - 44032: 0xB790,
+ 53695 - 44032: 0xB791,
+ 53696 - 44032: 0xC5EE,
+ 53697 - 44032: 0xB792,
+ 53698 - 44032: 0xB793,
+ 53699 - 44032: 0xB794,
+ 53700 - 44032: 0xB795,
+ 53701 - 44032: 0xB796,
+ 53702 - 44032: 0xB797,
+ 53703 - 44032: 0xB798,
+ 53704 - 44032: 0xB799,
+ 53705 - 44032: 0xB79A,
+ 53706 - 44032: 0xB79B,
+ 53707 - 44032: 0xB79C,
+ 53708 - 44032: 0xB79D,
+ 53709 - 44032: 0xB79E,
+ 53710 - 44032: 0xB79F,
+ 53711 - 44032: 0xB7A0,
+ 53712 - 44032: 0xB841,
+ 53713 - 44032: 0xB842,
+ 53714 - 44032: 0xB843,
+ 53715 - 44032: 0xB844,
+ 53716 - 44032: 0xB845,
+ 53717 - 44032: 0xB846,
+ 53718 - 44032: 0xB847,
+ 53719 - 44032: 0xB848,
+ 53720 - 44032: 0xC5EF,
+ 53721 - 44032: 0xB849,
+ 53722 - 44032: 0xB84A,
+ 53723 - 44032: 0xB84B,
+ 53724 - 44032: 0xB84C,
+ 53725 - 44032: 0xB84D,
+ 53726 - 44032: 0xB84E,
+ 53727 - 44032: 0xB84F,
+ 53728 - 44032: 0xB850,
+ 53729 - 44032: 0xB851,
+ 53730 - 44032: 0xB852,
+ 53731 - 44032: 0xB853,
+ 53732 - 44032: 0xB854,
+ 53733 - 44032: 0xB855,
+ 53734 - 44032: 0xB856,
+ 53735 - 44032: 0xB857,
+ 53736 - 44032: 0xB858,
+ 53737 - 44032: 0xB859,
+ 53738 - 44032: 0xB85A,
+ 53739 - 44032: 0xB861,
+ 53740 - 44032: 0xB862,
+ 53741 - 44032: 0xB863,
+ 53742 - 44032: 0xB864,
+ 53743 - 44032: 0xB865,
+ 53744 - 44032: 0xB866,
+ 53745 - 44032: 0xB867,
+ 53746 - 44032: 0xB868,
+ 53747 - 44032: 0xB869,
+ 53748 - 44032: 0xC5F0,
+ 53749 - 44032: 0xB86A,
+ 53750 - 44032: 0xB86B,
+ 53751 - 44032: 0xB86C,
+ 53752 - 44032: 0xC5F1,
+ 53753 - 44032: 0xB86D,
+ 53754 - 44032: 0xB86E,
+ 53755 - 44032: 0xB86F,
+ 53756 - 44032: 0xB870,
+ 53757 - 44032: 0xB871,
+ 53758 - 44032: 0xB872,
+ 53759 - 44032: 0xB873,
+ 53760 - 44032: 0xB874,
+ 53761 - 44032: 0xB875,
+ 53762 - 44032: 0xB876,
+ 53763 - 44032: 0xB877,
+ 53764 - 44032: 0xB878,
+ 53765 - 44032: 0xB879,
+ 53766 - 44032: 0xB87A,
+ 53767 - 44032: 0xC5F2,
+ 53768 - 44032: 0xB881,
+ 53769 - 44032: 0xC5F3,
+ 53770 - 44032: 0xB882,
+ 53771 - 44032: 0xB883,
+ 53772 - 44032: 0xB884,
+ 53773 - 44032: 0xB885,
+ 53774 - 44032: 0xB886,
+ 53775 - 44032: 0xB887,
+ 53776 - 44032: 0xC5F4,
+ 53777 - 44032: 0xB888,
+ 53778 - 44032: 0xB889,
+ 53779 - 44032: 0xB88A,
+ 53780 - 44032: 0xB88B,
+ 53781 - 44032: 0xB88C,
+ 53782 - 44032: 0xB88D,
+ 53783 - 44032: 0xB88E,
+ 53784 - 44032: 0xB88F,
+ 53785 - 44032: 0xB890,
+ 53786 - 44032: 0xB891,
+ 53787 - 44032: 0xB892,
+ 53788 - 44032: 0xB893,
+ 53789 - 44032: 0xB894,
+ 53790 - 44032: 0xB895,
+ 53791 - 44032: 0xB896,
+ 53792 - 44032: 0xB897,
+ 53793 - 44032: 0xB898,
+ 53794 - 44032: 0xB899,
+ 53795 - 44032: 0xB89A,
+ 53796 - 44032: 0xB89B,
+ 53797 - 44032: 0xB89C,
+ 53798 - 44032: 0xB89D,
+ 53799 - 44032: 0xB89E,
+ 53800 - 44032: 0xB89F,
+ 53801 - 44032: 0xB8A0,
+ 53802 - 44032: 0xB941,
+ 53803 - 44032: 0xB942,
+ 53804 - 44032: 0xC5F5,
+ 53805 - 44032: 0xC5F6,
+ 53806 - 44032: 0xB943,
+ 53807 - 44032: 0xB944,
+ 53808 - 44032: 0xC5F7,
+ 53809 - 44032: 0xB945,
+ 53810 - 44032: 0xB946,
+ 53811 - 44032: 0xB947,
+ 53812 - 44032: 0xC5F8,
+ 53813 - 44032: 0xB948,
+ 53814 - 44032: 0xB949,
+ 53815 - 44032: 0xB94A,
+ 53816 - 44032: 0xB94B,
+ 53817 - 44032: 0xB94C,
+ 53818 - 44032: 0xB94D,
+ 53819 - 44032: 0xB94E,
+ 53820 - 44032: 0xC5F9,
+ 53821 - 44032: 0xC5FA,
+ 53822 - 44032: 0xB94F,
+ 53823 - 44032: 0xC5FB,
+ 53824 - 44032: 0xB950,
+ 53825 - 44032: 0xC5FC,
+ 53826 - 44032: 0xB951,
+ 53827 - 44032: 0xB952,
+ 53828 - 44032: 0xB953,
+ 53829 - 44032: 0xB954,
+ 53830 - 44032: 0xB955,
+ 53831 - 44032: 0xB956,
+ 53832 - 44032: 0xC5FD,
+ 53833 - 44032: 0xB957,
+ 53834 - 44032: 0xB958,
+ 53835 - 44032: 0xB959,
+ 53836 - 44032: 0xB95A,
+ 53837 - 44032: 0xB961,
+ 53838 - 44032: 0xB962,
+ 53839 - 44032: 0xB963,
+ 53840 - 44032: 0xB964,
+ 53841 - 44032: 0xB965,
+ 53842 - 44032: 0xB966,
+ 53843 - 44032: 0xB967,
+ 53844 - 44032: 0xB968,
+ 53845 - 44032: 0xB969,
+ 53846 - 44032: 0xB96A,
+ 53847 - 44032: 0xB96B,
+ 53848 - 44032: 0xB96C,
+ 53849 - 44032: 0xB96D,
+ 53850 - 44032: 0xB96E,
+ 53851 - 44032: 0xB96F,
+ 53852 - 44032: 0xC5FE,
+ 53853 - 44032: 0xB970,
+ 53854 - 44032: 0xB971,
+ 53855 - 44032: 0xB972,
+ 53856 - 44032: 0xB973,
+ 53857 - 44032: 0xB974,
+ 53858 - 44032: 0xB975,
+ 53859 - 44032: 0xB976,
+ 53860 - 44032: 0xC6A1,
+ 53861 - 44032: 0xB977,
+ 53862 - 44032: 0xB978,
+ 53863 - 44032: 0xB979,
+ 53864 - 44032: 0xB97A,
+ 53865 - 44032: 0xB981,
+ 53866 - 44032: 0xB982,
+ 53867 - 44032: 0xB983,
+ 53868 - 44032: 0xB984,
+ 53869 - 44032: 0xB985,
+ 53870 - 44032: 0xB986,
+ 53871 - 44032: 0xB987,
+ 53872 - 44032: 0xB988,
+ 53873 - 44032: 0xB989,
+ 53874 - 44032: 0xB98A,
+ 53875 - 44032: 0xB98B,
+ 53876 - 44032: 0xB98C,
+ 53877 - 44032: 0xB98D,
+ 53878 - 44032: 0xB98E,
+ 53879 - 44032: 0xB98F,
+ 53880 - 44032: 0xB990,
+ 53881 - 44032: 0xB991,
+ 53882 - 44032: 0xB992,
+ 53883 - 44032: 0xB993,
+ 53884 - 44032: 0xB994,
+ 53885 - 44032: 0xB995,
+ 53886 - 44032: 0xB996,
+ 53887 - 44032: 0xB997,
+ 53888 - 44032: 0xC6A2,
+ 53889 - 44032: 0xC6A3,
+ 53890 - 44032: 0xB998,
+ 53891 - 44032: 0xB999,
+ 53892 - 44032: 0xC6A4,
+ 53893 - 44032: 0xB99A,
+ 53894 - 44032: 0xB99B,
+ 53895 - 44032: 0xB99C,
+ 53896 - 44032: 0xC6A5,
+ 53897 - 44032: 0xB99D,
+ 53898 - 44032: 0xB99E,
+ 53899 - 44032: 0xB99F,
+ 53900 - 44032: 0xB9A0,
+ 53901 - 44032: 0xBA41,
+ 53902 - 44032: 0xBA42,
+ 53903 - 44032: 0xBA43,
+ 53904 - 44032: 0xC6A6,
+ 53905 - 44032: 0xC6A7,
+ 53906 - 44032: 0xBA44,
+ 53907 - 44032: 0xBA45,
+ 53908 - 44032: 0xBA46,
+ 53909 - 44032: 0xC6A8,
+ 53910 - 44032: 0xBA47,
+ 53911 - 44032: 0xBA48,
+ 53912 - 44032: 0xBA49,
+ 53913 - 44032: 0xBA4A,
+ 53914 - 44032: 0xBA4B,
+ 53915 - 44032: 0xBA4C,
+ 53916 - 44032: 0xC6A9,
+ 53917 - 44032: 0xBA4D,
+ 53918 - 44032: 0xBA4E,
+ 53919 - 44032: 0xBA4F,
+ 53920 - 44032: 0xC6AA,
+ 53921 - 44032: 0xBA50,
+ 53922 - 44032: 0xBA51,
+ 53923 - 44032: 0xBA52,
+ 53924 - 44032: 0xC6AB,
+ 53925 - 44032: 0xBA53,
+ 53926 - 44032: 0xBA54,
+ 53927 - 44032: 0xBA55,
+ 53928 - 44032: 0xBA56,
+ 53929 - 44032: 0xBA57,
+ 53930 - 44032: 0xBA58,
+ 53931 - 44032: 0xBA59,
+ 53932 - 44032: 0xC6AC,
+ 53933 - 44032: 0xBA5A,
+ 53934 - 44032: 0xBA61,
+ 53935 - 44032: 0xBA62,
+ 53936 - 44032: 0xBA63,
+ 53937 - 44032: 0xC6AD,
+ 53938 - 44032: 0xBA64,
+ 53939 - 44032: 0xBA65,
+ 53940 - 44032: 0xBA66,
+ 53941 - 44032: 0xBA67,
+ 53942 - 44032: 0xBA68,
+ 53943 - 44032: 0xBA69,
+ 53944 - 44032: 0xC6AE,
+ 53945 - 44032: 0xC6AF,
+ 53946 - 44032: 0xBA6A,
+ 53947 - 44032: 0xBA6B,
+ 53948 - 44032: 0xC6B0,
+ 53949 - 44032: 0xBA6C,
+ 53950 - 44032: 0xBA6D,
+ 53951 - 44032: 0xC6B1,
+ 53952 - 44032: 0xC6B2,
+ 53953 - 44032: 0xBA6E,
+ 53954 - 44032: 0xC6B3,
+ 53955 - 44032: 0xBA6F,
+ 53956 - 44032: 0xBA70,
+ 53957 - 44032: 0xBA71,
+ 53958 - 44032: 0xBA72,
+ 53959 - 44032: 0xBA73,
+ 53960 - 44032: 0xC6B4,
+ 53961 - 44032: 0xC6B5,
+ 53962 - 44032: 0xBA74,
+ 53963 - 44032: 0xC6B6,
+ 53964 - 44032: 0xBA75,
+ 53965 - 44032: 0xBA76,
+ 53966 - 44032: 0xBA77,
+ 53967 - 44032: 0xBA78,
+ 53968 - 44032: 0xBA79,
+ 53969 - 44032: 0xBA7A,
+ 53970 - 44032: 0xBA81,
+ 53971 - 44032: 0xBA82,
+ 53972 - 44032: 0xC6B7,
+ 53973 - 44032: 0xBA83,
+ 53974 - 44032: 0xBA84,
+ 53975 - 44032: 0xBA85,
+ 53976 - 44032: 0xC6B8,
+ 53977 - 44032: 0xBA86,
+ 53978 - 44032: 0xBA87,
+ 53979 - 44032: 0xBA88,
+ 53980 - 44032: 0xC6B9,
+ 53981 - 44032: 0xBA89,
+ 53982 - 44032: 0xBA8A,
+ 53983 - 44032: 0xBA8B,
+ 53984 - 44032: 0xBA8C,
+ 53985 - 44032: 0xBA8D,
+ 53986 - 44032: 0xBA8E,
+ 53987 - 44032: 0xBA8F,
+ 53988 - 44032: 0xC6BA,
+ 53989 - 44032: 0xC6BB,
+ 53990 - 44032: 0xBA90,
+ 53991 - 44032: 0xBA91,
+ 53992 - 44032: 0xBA92,
+ 53993 - 44032: 0xBA93,
+ 53994 - 44032: 0xBA94,
+ 53995 - 44032: 0xBA95,
+ 53996 - 44032: 0xBA96,
+ 53997 - 44032: 0xBA97,
+ 53998 - 44032: 0xBA98,
+ 53999 - 44032: 0xBA99,
+ 54000 - 44032: 0xC6BC,
+ 54001 - 44032: 0xC6BD,
+ 54002 - 44032: 0xBA9A,
+ 54003 - 44032: 0xBA9B,
+ 54004 - 44032: 0xC6BE,
+ 54005 - 44032: 0xBA9C,
+ 54006 - 44032: 0xBA9D,
+ 54007 - 44032: 0xBA9E,
+ 54008 - 44032: 0xC6BF,
+ 54009 - 44032: 0xBA9F,
+ 54010 - 44032: 0xBAA0,
+ 54011 - 44032: 0xBB41,
+ 54012 - 44032: 0xBB42,
+ 54013 - 44032: 0xBB43,
+ 54014 - 44032: 0xBB44,
+ 54015 - 44032: 0xBB45,
+ 54016 - 44032: 0xC6C0,
+ 54017 - 44032: 0xC6C1,
+ 54018 - 44032: 0xBB46,
+ 54019 - 44032: 0xC6C2,
+ 54020 - 44032: 0xBB47,
+ 54021 - 44032: 0xC6C3,
+ 54022 - 44032: 0xBB48,
+ 54023 - 44032: 0xBB49,
+ 54024 - 44032: 0xBB4A,
+ 54025 - 44032: 0xBB4B,
+ 54026 - 44032: 0xBB4C,
+ 54027 - 44032: 0xBB4D,
+ 54028 - 44032: 0xC6C4,
+ 54029 - 44032: 0xC6C5,
+ 54030 - 44032: 0xC6C6,
+ 54031 - 44032: 0xBB4E,
+ 54032 - 44032: 0xC6C7,
+ 54033 - 44032: 0xBB4F,
+ 54034 - 44032: 0xBB50,
+ 54035 - 44032: 0xBB51,
+ 54036 - 44032: 0xC6C8,
+ 54037 - 44032: 0xBB52,
+ 54038 - 44032: 0xC6C9,
+ 54039 - 44032: 0xBB53,
+ 54040 - 44032: 0xBB54,
+ 54041 - 44032: 0xBB55,
+ 54042 - 44032: 0xBB56,
+ 54043 - 44032: 0xBB57,
+ 54044 - 44032: 0xC6CA,
+ 54045 - 44032: 0xC6CB,
+ 54046 - 44032: 0xBB58,
+ 54047 - 44032: 0xC6CC,
+ 54048 - 44032: 0xC6CD,
+ 54049 - 44032: 0xC6CE,
+ 54050 - 44032: 0xBB59,
+ 54051 - 44032: 0xBB5A,
+ 54052 - 44032: 0xBB61,
+ 54053 - 44032: 0xC6CF,
+ 54054 - 44032: 0xBB62,
+ 54055 - 44032: 0xBB63,
+ 54056 - 44032: 0xC6D0,
+ 54057 - 44032: 0xC6D1,
+ 54058 - 44032: 0xBB64,
+ 54059 - 44032: 0xBB65,
+ 54060 - 44032: 0xC6D2,
+ 54061 - 44032: 0xBB66,
+ 54062 - 44032: 0xBB67,
+ 54063 - 44032: 0xBB68,
+ 54064 - 44032: 0xC6D3,
+ 54065 - 44032: 0xBB69,
+ 54066 - 44032: 0xBB6A,
+ 54067 - 44032: 0xBB6B,
+ 54068 - 44032: 0xBB6C,
+ 54069 - 44032: 0xBB6D,
+ 54070 - 44032: 0xBB6E,
+ 54071 - 44032: 0xBB6F,
+ 54072 - 44032: 0xC6D4,
+ 54073 - 44032: 0xC6D5,
+ 54074 - 44032: 0xBB70,
+ 54075 - 44032: 0xC6D6,
+ 54076 - 44032: 0xC6D7,
+ 54077 - 44032: 0xC6D8,
+ 54078 - 44032: 0xBB71,
+ 54079 - 44032: 0xBB72,
+ 54080 - 44032: 0xBB73,
+ 54081 - 44032: 0xBB74,
+ 54082 - 44032: 0xBB75,
+ 54083 - 44032: 0xBB76,
+ 54084 - 44032: 0xC6D9,
+ 54085 - 44032: 0xC6DA,
+ 54086 - 44032: 0xBB77,
+ 54087 - 44032: 0xBB78,
+ 54088 - 44032: 0xBB79,
+ 54089 - 44032: 0xBB7A,
+ 54090 - 44032: 0xBB81,
+ 54091 - 44032: 0xBB82,
+ 54092 - 44032: 0xBB83,
+ 54093 - 44032: 0xBB84,
+ 54094 - 44032: 0xBB85,
+ 54095 - 44032: 0xBB86,
+ 54096 - 44032: 0xBB87,
+ 54097 - 44032: 0xBB88,
+ 54098 - 44032: 0xBB89,
+ 54099 - 44032: 0xBB8A,
+ 54100 - 44032: 0xBB8B,
+ 54101 - 44032: 0xBB8C,
+ 54102 - 44032: 0xBB8D,
+ 54103 - 44032: 0xBB8E,
+ 54104 - 44032: 0xBB8F,
+ 54105 - 44032: 0xBB90,
+ 54106 - 44032: 0xBB91,
+ 54107 - 44032: 0xBB92,
+ 54108 - 44032: 0xBB93,
+ 54109 - 44032: 0xBB94,
+ 54110 - 44032: 0xBB95,
+ 54111 - 44032: 0xBB96,
+ 54112 - 44032: 0xBB97,
+ 54113 - 44032: 0xBB98,
+ 54114 - 44032: 0xBB99,
+ 54115 - 44032: 0xBB9A,
+ 54116 - 44032: 0xBB9B,
+ 54117 - 44032: 0xBB9C,
+ 54118 - 44032: 0xBB9D,
+ 54119 - 44032: 0xBB9E,
+ 54120 - 44032: 0xBB9F,
+ 54121 - 44032: 0xBBA0,
+ 54122 - 44032: 0xBC41,
+ 54123 - 44032: 0xBC42,
+ 54124 - 44032: 0xBC43,
+ 54125 - 44032: 0xBC44,
+ 54126 - 44032: 0xBC45,
+ 54127 - 44032: 0xBC46,
+ 54128 - 44032: 0xBC47,
+ 54129 - 44032: 0xBC48,
+ 54130 - 44032: 0xBC49,
+ 54131 - 44032: 0xBC4A,
+ 54132 - 44032: 0xBC4B,
+ 54133 - 44032: 0xBC4C,
+ 54134 - 44032: 0xBC4D,
+ 54135 - 44032: 0xBC4E,
+ 54136 - 44032: 0xBC4F,
+ 54137 - 44032: 0xBC50,
+ 54138 - 44032: 0xBC51,
+ 54139 - 44032: 0xBC52,
+ 54140 - 44032: 0xC6DB,
+ 54141 - 44032: 0xC6DC,
+ 54142 - 44032: 0xBC53,
+ 54143 - 44032: 0xBC54,
+ 54144 - 44032: 0xC6DD,
+ 54145 - 44032: 0xBC55,
+ 54146 - 44032: 0xBC56,
+ 54147 - 44032: 0xBC57,
+ 54148 - 44032: 0xC6DE,
+ 54149 - 44032: 0xBC58,
+ 54150 - 44032: 0xBC59,
+ 54151 - 44032: 0xBC5A,
+ 54152 - 44032: 0xBC61,
+ 54153 - 44032: 0xBC62,
+ 54154 - 44032: 0xBC63,
+ 54155 - 44032: 0xBC64,
+ 54156 - 44032: 0xC6DF,
+ 54157 - 44032: 0xC6E0,
+ 54158 - 44032: 0xBC65,
+ 54159 - 44032: 0xC6E1,
+ 54160 - 44032: 0xC6E2,
+ 54161 - 44032: 0xC6E3,
+ 54162 - 44032: 0xBC66,
+ 54163 - 44032: 0xBC67,
+ 54164 - 44032: 0xBC68,
+ 54165 - 44032: 0xBC69,
+ 54166 - 44032: 0xBC6A,
+ 54167 - 44032: 0xBC6B,
+ 54168 - 44032: 0xC6E4,
+ 54169 - 44032: 0xC6E5,
+ 54170 - 44032: 0xBC6C,
+ 54171 - 44032: 0xBC6D,
+ 54172 - 44032: 0xC6E6,
+ 54173 - 44032: 0xBC6E,
+ 54174 - 44032: 0xBC6F,
+ 54175 - 44032: 0xBC70,
+ 54176 - 44032: 0xC6E7,
+ 54177 - 44032: 0xBC71,
+ 54178 - 44032: 0xBC72,
+ 54179 - 44032: 0xBC73,
+ 54180 - 44032: 0xBC74,
+ 54181 - 44032: 0xBC75,
+ 54182 - 44032: 0xBC76,
+ 54183 - 44032: 0xBC77,
+ 54184 - 44032: 0xC6E8,
+ 54185 - 44032: 0xC6E9,
+ 54186 - 44032: 0xBC78,
+ 54187 - 44032: 0xC6EA,
+ 54188 - 44032: 0xBC79,
+ 54189 - 44032: 0xC6EB,
+ 54190 - 44032: 0xBC7A,
+ 54191 - 44032: 0xBC81,
+ 54192 - 44032: 0xBC82,
+ 54193 - 44032: 0xBC83,
+ 54194 - 44032: 0xBC84,
+ 54195 - 44032: 0xBC85,
+ 54196 - 44032: 0xC6EC,
+ 54197 - 44032: 0xBC86,
+ 54198 - 44032: 0xBC87,
+ 54199 - 44032: 0xBC88,
+ 54200 - 44032: 0xC6ED,
+ 54201 - 44032: 0xBC89,
+ 54202 - 44032: 0xBC8A,
+ 54203 - 44032: 0xBC8B,
+ 54204 - 44032: 0xC6EE,
+ 54205 - 44032: 0xBC8C,
+ 54206 - 44032: 0xBC8D,
+ 54207 - 44032: 0xBC8E,
+ 54208 - 44032: 0xBC8F,
+ 54209 - 44032: 0xBC90,
+ 54210 - 44032: 0xBC91,
+ 54211 - 44032: 0xBC92,
+ 54212 - 44032: 0xC6EF,
+ 54213 - 44032: 0xC6F0,
+ 54214 - 44032: 0xBC93,
+ 54215 - 44032: 0xBC94,
+ 54216 - 44032: 0xC6F1,
+ 54217 - 44032: 0xC6F2,
+ 54218 - 44032: 0xBC95,
+ 54219 - 44032: 0xBC96,
+ 54220 - 44032: 0xBC97,
+ 54221 - 44032: 0xBC98,
+ 54222 - 44032: 0xBC99,
+ 54223 - 44032: 0xBC9A,
+ 54224 - 44032: 0xC6F3,
+ 54225 - 44032: 0xBC9B,
+ 54226 - 44032: 0xBC9C,
+ 54227 - 44032: 0xBC9D,
+ 54228 - 44032: 0xBC9E,
+ 54229 - 44032: 0xBC9F,
+ 54230 - 44032: 0xBCA0,
+ 54231 - 44032: 0xBD41,
+ 54232 - 44032: 0xC6F4,
+ 54233 - 44032: 0xBD42,
+ 54234 - 44032: 0xBD43,
+ 54235 - 44032: 0xBD44,
+ 54236 - 44032: 0xBD45,
+ 54237 - 44032: 0xBD46,
+ 54238 - 44032: 0xBD47,
+ 54239 - 44032: 0xBD48,
+ 54240 - 44032: 0xBD49,
+ 54241 - 44032: 0xC6F5,
+ 54242 - 44032: 0xBD4A,
+ 54243 - 44032: 0xC6F6,
+ 54244 - 44032: 0xBD4B,
+ 54245 - 44032: 0xBD4C,
+ 54246 - 44032: 0xBD4D,
+ 54247 - 44032: 0xBD4E,
+ 54248 - 44032: 0xBD4F,
+ 54249 - 44032: 0xBD50,
+ 54250 - 44032: 0xBD51,
+ 54251 - 44032: 0xBD52,
+ 54252 - 44032: 0xC6F7,
+ 54253 - 44032: 0xC6F8,
+ 54254 - 44032: 0xBD53,
+ 54255 - 44032: 0xBD54,
+ 54256 - 44032: 0xC6F9,
+ 54257 - 44032: 0xBD55,
+ 54258 - 44032: 0xBD56,
+ 54259 - 44032: 0xBD57,
+ 54260 - 44032: 0xC6FA,
+ 54261 - 44032: 0xBD58,
+ 54262 - 44032: 0xBD59,
+ 54263 - 44032: 0xBD5A,
+ 54264 - 44032: 0xBD61,
+ 54265 - 44032: 0xBD62,
+ 54266 - 44032: 0xBD63,
+ 54267 - 44032: 0xBD64,
+ 54268 - 44032: 0xC6FB,
+ 54269 - 44032: 0xC6FC,
+ 54270 - 44032: 0xBD65,
+ 54271 - 44032: 0xC6FD,
+ 54272 - 44032: 0xBD66,
+ 54273 - 44032: 0xC6FE,
+ 54274 - 44032: 0xBD67,
+ 54275 - 44032: 0xBD68,
+ 54276 - 44032: 0xBD69,
+ 54277 - 44032: 0xBD6A,
+ 54278 - 44032: 0xBD6B,
+ 54279 - 44032: 0xBD6C,
+ 54280 - 44032: 0xC7A1,
+ 54281 - 44032: 0xBD6D,
+ 54282 - 44032: 0xBD6E,
+ 54283 - 44032: 0xBD6F,
+ 54284 - 44032: 0xBD70,
+ 54285 - 44032: 0xBD71,
+ 54286 - 44032: 0xBD72,
+ 54287 - 44032: 0xBD73,
+ 54288 - 44032: 0xBD74,
+ 54289 - 44032: 0xBD75,
+ 54290 - 44032: 0xBD76,
+ 54291 - 44032: 0xBD77,
+ 54292 - 44032: 0xBD78,
+ 54293 - 44032: 0xBD79,
+ 54294 - 44032: 0xBD7A,
+ 54295 - 44032: 0xBD81,
+ 54296 - 44032: 0xBD82,
+ 54297 - 44032: 0xBD83,
+ 54298 - 44032: 0xBD84,
+ 54299 - 44032: 0xBD85,
+ 54300 - 44032: 0xBD86,
+ 54301 - 44032: 0xC7A2,
+ 54302 - 44032: 0xBD87,
+ 54303 - 44032: 0xBD88,
+ 54304 - 44032: 0xBD89,
+ 54305 - 44032: 0xBD8A,
+ 54306 - 44032: 0xBD8B,
+ 54307 - 44032: 0xBD8C,
+ 54308 - 44032: 0xBD8D,
+ 54309 - 44032: 0xBD8E,
+ 54310 - 44032: 0xBD8F,
+ 54311 - 44032: 0xBD90,
+ 54312 - 44032: 0xBD91,
+ 54313 - 44032: 0xBD92,
+ 54314 - 44032: 0xBD93,
+ 54315 - 44032: 0xBD94,
+ 54316 - 44032: 0xBD95,
+ 54317 - 44032: 0xBD96,
+ 54318 - 44032: 0xBD97,
+ 54319 - 44032: 0xBD98,
+ 54320 - 44032: 0xBD99,
+ 54321 - 44032: 0xBD9A,
+ 54322 - 44032: 0xBD9B,
+ 54323 - 44032: 0xBD9C,
+ 54324 - 44032: 0xBD9D,
+ 54325 - 44032: 0xBD9E,
+ 54326 - 44032: 0xBD9F,
+ 54327 - 44032: 0xBDA0,
+ 54328 - 44032: 0xBE41,
+ 54329 - 44032: 0xBE42,
+ 54330 - 44032: 0xBE43,
+ 54331 - 44032: 0xBE44,
+ 54332 - 44032: 0xBE45,
+ 54333 - 44032: 0xBE46,
+ 54334 - 44032: 0xBE47,
+ 54335 - 44032: 0xBE48,
+ 54336 - 44032: 0xC7A3,
+ 54337 - 44032: 0xBE49,
+ 54338 - 44032: 0xBE4A,
+ 54339 - 44032: 0xBE4B,
+ 54340 - 44032: 0xC7A4,
+ 54341 - 44032: 0xBE4C,
+ 54342 - 44032: 0xBE4D,
+ 54343 - 44032: 0xBE4E,
+ 54344 - 44032: 0xBE4F,
+ 54345 - 44032: 0xBE50,
+ 54346 - 44032: 0xBE51,
+ 54347 - 44032: 0xBE52,
+ 54348 - 44032: 0xBE53,
+ 54349 - 44032: 0xBE54,
+ 54350 - 44032: 0xBE55,
+ 54351 - 44032: 0xBE56,
+ 54352 - 44032: 0xBE57,
+ 54353 - 44032: 0xBE58,
+ 54354 - 44032: 0xBE59,
+ 54355 - 44032: 0xBE5A,
+ 54356 - 44032: 0xBE61,
+ 54357 - 44032: 0xBE62,
+ 54358 - 44032: 0xBE63,
+ 54359 - 44032: 0xBE64,
+ 54360 - 44032: 0xBE65,
+ 54361 - 44032: 0xBE66,
+ 54362 - 44032: 0xBE67,
+ 54363 - 44032: 0xBE68,
+ 54364 - 44032: 0xC7A5,
+ 54365 - 44032: 0xBE69,
+ 54366 - 44032: 0xBE6A,
+ 54367 - 44032: 0xBE6B,
+ 54368 - 44032: 0xC7A6,
+ 54369 - 44032: 0xBE6C,
+ 54370 - 44032: 0xBE6D,
+ 54371 - 44032: 0xBE6E,
+ 54372 - 44032: 0xC7A7,
+ 54373 - 44032: 0xBE6F,
+ 54374 - 44032: 0xBE70,
+ 54375 - 44032: 0xBE71,
+ 54376 - 44032: 0xBE72,
+ 54377 - 44032: 0xBE73,
+ 54378 - 44032: 0xBE74,
+ 54379 - 44032: 0xBE75,
+ 54380 - 44032: 0xBE76,
+ 54381 - 44032: 0xC7A8,
+ 54382 - 44032: 0xBE77,
+ 54383 - 44032: 0xC7A9,
+ 54384 - 44032: 0xBE78,
+ 54385 - 44032: 0xBE79,
+ 54386 - 44032: 0xBE7A,
+ 54387 - 44032: 0xBE81,
+ 54388 - 44032: 0xBE82,
+ 54389 - 44032: 0xBE83,
+ 54390 - 44032: 0xBE84,
+ 54391 - 44032: 0xBE85,
+ 54392 - 44032: 0xC7AA,
+ 54393 - 44032: 0xC7AB,
+ 54394 - 44032: 0xBE86,
+ 54395 - 44032: 0xBE87,
+ 54396 - 44032: 0xC7AC,
+ 54397 - 44032: 0xBE88,
+ 54398 - 44032: 0xBE89,
+ 54399 - 44032: 0xC7AD,
+ 54400 - 44032: 0xC7AE,
+ 54401 - 44032: 0xBE8A,
+ 54402 - 44032: 0xC7AF,
+ 54403 - 44032: 0xBE8B,
+ 54404 - 44032: 0xBE8C,
+ 54405 - 44032: 0xBE8D,
+ 54406 - 44032: 0xBE8E,
+ 54407 - 44032: 0xBE8F,
+ 54408 - 44032: 0xC7B0,
+ 54409 - 44032: 0xC7B1,
+ 54410 - 44032: 0xBE90,
+ 54411 - 44032: 0xC7B2,
+ 54412 - 44032: 0xBE91,
+ 54413 - 44032: 0xC7B3,
+ 54414 - 44032: 0xBE92,
+ 54415 - 44032: 0xBE93,
+ 54416 - 44032: 0xBE94,
+ 54417 - 44032: 0xBE95,
+ 54418 - 44032: 0xBE96,
+ 54419 - 44032: 0xBE97,
+ 54420 - 44032: 0xC7B4,
+ 54421 - 44032: 0xBE98,
+ 54422 - 44032: 0xBE99,
+ 54423 - 44032: 0xBE9A,
+ 54424 - 44032: 0xBE9B,
+ 54425 - 44032: 0xBE9C,
+ 54426 - 44032: 0xBE9D,
+ 54427 - 44032: 0xBE9E,
+ 54428 - 44032: 0xBE9F,
+ 54429 - 44032: 0xBEA0,
+ 54430 - 44032: 0xBF41,
+ 54431 - 44032: 0xBF42,
+ 54432 - 44032: 0xBF43,
+ 54433 - 44032: 0xBF44,
+ 54434 - 44032: 0xBF45,
+ 54435 - 44032: 0xBF46,
+ 54436 - 44032: 0xBF47,
+ 54437 - 44032: 0xBF48,
+ 54438 - 44032: 0xBF49,
+ 54439 - 44032: 0xBF4A,
+ 54440 - 44032: 0xBF4B,
+ 54441 - 44032: 0xC7B5,
+ 54442 - 44032: 0xBF4C,
+ 54443 - 44032: 0xBF4D,
+ 54444 - 44032: 0xBF4E,
+ 54445 - 44032: 0xBF4F,
+ 54446 - 44032: 0xBF50,
+ 54447 - 44032: 0xBF51,
+ 54448 - 44032: 0xBF52,
+ 54449 - 44032: 0xBF53,
+ 54450 - 44032: 0xBF54,
+ 54451 - 44032: 0xBF55,
+ 54452 - 44032: 0xBF56,
+ 54453 - 44032: 0xBF57,
+ 54454 - 44032: 0xBF58,
+ 54455 - 44032: 0xBF59,
+ 54456 - 44032: 0xBF5A,
+ 54457 - 44032: 0xBF61,
+ 54458 - 44032: 0xBF62,
+ 54459 - 44032: 0xBF63,
+ 54460 - 44032: 0xBF64,
+ 54461 - 44032: 0xBF65,
+ 54462 - 44032: 0xBF66,
+ 54463 - 44032: 0xBF67,
+ 54464 - 44032: 0xBF68,
+ 54465 - 44032: 0xBF69,
+ 54466 - 44032: 0xBF6A,
+ 54467 - 44032: 0xBF6B,
+ 54468 - 44032: 0xBF6C,
+ 54469 - 44032: 0xBF6D,
+ 54470 - 44032: 0xBF6E,
+ 54471 - 44032: 0xBF6F,
+ 54472 - 44032: 0xBF70,
+ 54473 - 44032: 0xBF71,
+ 54474 - 44032: 0xBF72,
+ 54475 - 44032: 0xBF73,
+ 54476 - 44032: 0xC7B6,
+ 54477 - 44032: 0xBF74,
+ 54478 - 44032: 0xBF75,
+ 54479 - 44032: 0xBF76,
+ 54480 - 44032: 0xC7B7,
+ 54481 - 44032: 0xBF77,
+ 54482 - 44032: 0xBF78,
+ 54483 - 44032: 0xBF79,
+ 54484 - 44032: 0xC7B8,
+ 54485 - 44032: 0xBF7A,
+ 54486 - 44032: 0xBF81,
+ 54487 - 44032: 0xBF82,
+ 54488 - 44032: 0xBF83,
+ 54489 - 44032: 0xBF84,
+ 54490 - 44032: 0xBF85,
+ 54491 - 44032: 0xBF86,
+ 54492 - 44032: 0xC7B9,
+ 54493 - 44032: 0xBF87,
+ 54494 - 44032: 0xBF88,
+ 54495 - 44032: 0xC7BA,
+ 54496 - 44032: 0xBF89,
+ 54497 - 44032: 0xBF8A,
+ 54498 - 44032: 0xBF8B,
+ 54499 - 44032: 0xBF8C,
+ 54500 - 44032: 0xBF8D,
+ 54501 - 44032: 0xBF8E,
+ 54502 - 44032: 0xBF8F,
+ 54503 - 44032: 0xBF90,
+ 54504 - 44032: 0xC7BB,
+ 54505 - 44032: 0xBF91,
+ 54506 - 44032: 0xBF92,
+ 54507 - 44032: 0xBF93,
+ 54508 - 44032: 0xC7BC,
+ 54509 - 44032: 0xBF94,
+ 54510 - 44032: 0xBF95,
+ 54511 - 44032: 0xBF96,
+ 54512 - 44032: 0xC7BD,
+ 54513 - 44032: 0xBF97,
+ 54514 - 44032: 0xBF98,
+ 54515 - 44032: 0xBF99,
+ 54516 - 44032: 0xBF9A,
+ 54517 - 44032: 0xBF9B,
+ 54518 - 44032: 0xBF9C,
+ 54519 - 44032: 0xBF9D,
+ 54520 - 44032: 0xC7BE,
+ 54521 - 44032: 0xBF9E,
+ 54522 - 44032: 0xBF9F,
+ 54523 - 44032: 0xC7BF,
+ 54524 - 44032: 0xBFA0,
+ 54525 - 44032: 0xC7C0,
+ 54526 - 44032: 0xC041,
+ 54527 - 44032: 0xC042,
+ 54528 - 44032: 0xC043,
+ 54529 - 44032: 0xC044,
+ 54530 - 44032: 0xC045,
+ 54531 - 44032: 0xC046,
+ 54532 - 44032: 0xC7C1,
+ 54533 - 44032: 0xC047,
+ 54534 - 44032: 0xC048,
+ 54535 - 44032: 0xC049,
+ 54536 - 44032: 0xC7C2,
+ 54537 - 44032: 0xC04A,
+ 54538 - 44032: 0xC04B,
+ 54539 - 44032: 0xC04C,
+ 54540 - 44032: 0xC7C3,
+ 54541 - 44032: 0xC04D,
+ 54542 - 44032: 0xC04E,
+ 54543 - 44032: 0xC04F,
+ 54544 - 44032: 0xC050,
+ 54545 - 44032: 0xC051,
+ 54546 - 44032: 0xC052,
+ 54547 - 44032: 0xC053,
+ 54548 - 44032: 0xC7C4,
+ 54549 - 44032: 0xC7C5,
+ 54550 - 44032: 0xC054,
+ 54551 - 44032: 0xC7C6,
+ 54552 - 44032: 0xC055,
+ 54553 - 44032: 0xC056,
+ 54554 - 44032: 0xC057,
+ 54555 - 44032: 0xC058,
+ 54556 - 44032: 0xC059,
+ 54557 - 44032: 0xC05A,
+ 54558 - 44032: 0xC061,
+ 54559 - 44032: 0xC062,
+ 54560 - 44032: 0xC063,
+ 54561 - 44032: 0xC064,
+ 54562 - 44032: 0xC065,
+ 54563 - 44032: 0xC066,
+ 54564 - 44032: 0xC067,
+ 54565 - 44032: 0xC068,
+ 54566 - 44032: 0xC069,
+ 54567 - 44032: 0xC06A,
+ 54568 - 44032: 0xC06B,
+ 54569 - 44032: 0xC06C,
+ 54570 - 44032: 0xC06D,
+ 54571 - 44032: 0xC06E,
+ 54572 - 44032: 0xC06F,
+ 54573 - 44032: 0xC070,
+ 54574 - 44032: 0xC071,
+ 54575 - 44032: 0xC072,
+ 54576 - 44032: 0xC073,
+ 54577 - 44032: 0xC074,
+ 54578 - 44032: 0xC075,
+ 54579 - 44032: 0xC076,
+ 54580 - 44032: 0xC077,
+ 54581 - 44032: 0xC078,
+ 54582 - 44032: 0xC079,
+ 54583 - 44032: 0xC07A,
+ 54584 - 44032: 0xC081,
+ 54585 - 44032: 0xC082,
+ 54586 - 44032: 0xC083,
+ 54587 - 44032: 0xC084,
+ 54588 - 44032: 0xC7C7,
+ 54589 - 44032: 0xC7C8,
+ 54590 - 44032: 0xC085,
+ 54591 - 44032: 0xC086,
+ 54592 - 44032: 0xC7C9,
+ 54593 - 44032: 0xC087,
+ 54594 - 44032: 0xC088,
+ 54595 - 44032: 0xC089,
+ 54596 - 44032: 0xC7CA,
+ 54597 - 44032: 0xC08A,
+ 54598 - 44032: 0xC08B,
+ 54599 - 44032: 0xC08C,
+ 54600 - 44032: 0xC08D,
+ 54601 - 44032: 0xC08E,
+ 54602 - 44032: 0xC08F,
+ 54603 - 44032: 0xC090,
+ 54604 - 44032: 0xC7CB,
+ 54605 - 44032: 0xC7CC,
+ 54606 - 44032: 0xC091,
+ 54607 - 44032: 0xC7CD,
+ 54608 - 44032: 0xC092,
+ 54609 - 44032: 0xC7CE,
+ 54610 - 44032: 0xC093,
+ 54611 - 44032: 0xC094,
+ 54612 - 44032: 0xC095,
+ 54613 - 44032: 0xC096,
+ 54614 - 44032: 0xC097,
+ 54615 - 44032: 0xC098,
+ 54616 - 44032: 0xC7CF,
+ 54617 - 44032: 0xC7D0,
+ 54618 - 44032: 0xC099,
+ 54619 - 44032: 0xC09A,
+ 54620 - 44032: 0xC7D1,
+ 54621 - 44032: 0xC09B,
+ 54622 - 44032: 0xC09C,
+ 54623 - 44032: 0xC09D,
+ 54624 - 44032: 0xC7D2,
+ 54625 - 44032: 0xC09E,
+ 54626 - 44032: 0xC09F,
+ 54627 - 44032: 0xC0A0,
+ 54628 - 44032: 0xC141,
+ 54629 - 44032: 0xC7D3,
+ 54630 - 44032: 0xC142,
+ 54631 - 44032: 0xC143,
+ 54632 - 44032: 0xC7D4,
+ 54633 - 44032: 0xC7D5,
+ 54634 - 44032: 0xC144,
+ 54635 - 44032: 0xC7D6,
+ 54636 - 44032: 0xC145,
+ 54637 - 44032: 0xC7D7,
+ 54638 - 44032: 0xC146,
+ 54639 - 44032: 0xC147,
+ 54640 - 44032: 0xC148,
+ 54641 - 44032: 0xC149,
+ 54642 - 44032: 0xC14A,
+ 54643 - 44032: 0xC14B,
+ 54644 - 44032: 0xC7D8,
+ 54645 - 44032: 0xC7D9,
+ 54646 - 44032: 0xC14C,
+ 54647 - 44032: 0xC14D,
+ 54648 - 44032: 0xC7DA,
+ 54649 - 44032: 0xC14E,
+ 54650 - 44032: 0xC14F,
+ 54651 - 44032: 0xC150,
+ 54652 - 44032: 0xC7DB,
+ 54653 - 44032: 0xC151,
+ 54654 - 44032: 0xC152,
+ 54655 - 44032: 0xC153,
+ 54656 - 44032: 0xC154,
+ 54657 - 44032: 0xC155,
+ 54658 - 44032: 0xC156,
+ 54659 - 44032: 0xC157,
+ 54660 - 44032: 0xC7DC,
+ 54661 - 44032: 0xC7DD,
+ 54662 - 44032: 0xC158,
+ 54663 - 44032: 0xC7DE,
+ 54664 - 44032: 0xC7DF,
+ 54665 - 44032: 0xC7E0,
+ 54666 - 44032: 0xC159,
+ 54667 - 44032: 0xC15A,
+ 54668 - 44032: 0xC161,
+ 54669 - 44032: 0xC162,
+ 54670 - 44032: 0xC163,
+ 54671 - 44032: 0xC164,
+ 54672 - 44032: 0xC7E1,
+ 54673 - 44032: 0xC165,
+ 54674 - 44032: 0xC166,
+ 54675 - 44032: 0xC167,
+ 54676 - 44032: 0xC168,
+ 54677 - 44032: 0xC169,
+ 54678 - 44032: 0xC16A,
+ 54679 - 44032: 0xC16B,
+ 54680 - 44032: 0xC16C,
+ 54681 - 44032: 0xC16D,
+ 54682 - 44032: 0xC16E,
+ 54683 - 44032: 0xC16F,
+ 54684 - 44032: 0xC170,
+ 54685 - 44032: 0xC171,
+ 54686 - 44032: 0xC172,
+ 54687 - 44032: 0xC173,
+ 54688 - 44032: 0xC174,
+ 54689 - 44032: 0xC175,
+ 54690 - 44032: 0xC176,
+ 54691 - 44032: 0xC177,
+ 54692 - 44032: 0xC178,
+ 54693 - 44032: 0xC7E2,
+ 54694 - 44032: 0xC179,
+ 54695 - 44032: 0xC17A,
+ 54696 - 44032: 0xC181,
+ 54697 - 44032: 0xC182,
+ 54698 - 44032: 0xC183,
+ 54699 - 44032: 0xC184,
+ 54700 - 44032: 0xC185,
+ 54701 - 44032: 0xC186,
+ 54702 - 44032: 0xC187,
+ 54703 - 44032: 0xC188,
+ 54704 - 44032: 0xC189,
+ 54705 - 44032: 0xC18A,
+ 54706 - 44032: 0xC18B,
+ 54707 - 44032: 0xC18C,
+ 54708 - 44032: 0xC18D,
+ 54709 - 44032: 0xC18E,
+ 54710 - 44032: 0xC18F,
+ 54711 - 44032: 0xC190,
+ 54712 - 44032: 0xC191,
+ 54713 - 44032: 0xC192,
+ 54714 - 44032: 0xC193,
+ 54715 - 44032: 0xC194,
+ 54716 - 44032: 0xC195,
+ 54717 - 44032: 0xC196,
+ 54718 - 44032: 0xC197,
+ 54719 - 44032: 0xC198,
+ 54720 - 44032: 0xC199,
+ 54721 - 44032: 0xC19A,
+ 54722 - 44032: 0xC19B,
+ 54723 - 44032: 0xC19C,
+ 54724 - 44032: 0xC19D,
+ 54725 - 44032: 0xC19E,
+ 54726 - 44032: 0xC19F,
+ 54727 - 44032: 0xC1A0,
+ 54728 - 44032: 0xC7E3,
+ 54729 - 44032: 0xC7E4,
+ 54730 - 44032: 0xC241,
+ 54731 - 44032: 0xC242,
+ 54732 - 44032: 0xC7E5,
+ 54733 - 44032: 0xC243,
+ 54734 - 44032: 0xC244,
+ 54735 - 44032: 0xC245,
+ 54736 - 44032: 0xC7E6,
+ 54737 - 44032: 0xC246,
+ 54738 - 44032: 0xC7E7,
+ 54739 - 44032: 0xC247,
+ 54740 - 44032: 0xC248,
+ 54741 - 44032: 0xC249,
+ 54742 - 44032: 0xC24A,
+ 54743 - 44032: 0xC24B,
+ 54744 - 44032: 0xC7E8,
+ 54745 - 44032: 0xC7E9,
+ 54746 - 44032: 0xC24C,
+ 54747 - 44032: 0xC7EA,
+ 54748 - 44032: 0xC24D,
+ 54749 - 44032: 0xC7EB,
+ 54750 - 44032: 0xC24E,
+ 54751 - 44032: 0xC24F,
+ 54752 - 44032: 0xC250,
+ 54753 - 44032: 0xC251,
+ 54754 - 44032: 0xC252,
+ 54755 - 44032: 0xC253,
+ 54756 - 44032: 0xC7EC,
+ 54757 - 44032: 0xC7ED,
+ 54758 - 44032: 0xC254,
+ 54759 - 44032: 0xC255,
+ 54760 - 44032: 0xC7EE,
+ 54761 - 44032: 0xC256,
+ 54762 - 44032: 0xC257,
+ 54763 - 44032: 0xC258,
+ 54764 - 44032: 0xC7EF,
+ 54765 - 44032: 0xC259,
+ 54766 - 44032: 0xC25A,
+ 54767 - 44032: 0xC261,
+ 54768 - 44032: 0xC262,
+ 54769 - 44032: 0xC263,
+ 54770 - 44032: 0xC264,
+ 54771 - 44032: 0xC265,
+ 54772 - 44032: 0xC7F0,
+ 54773 - 44032: 0xC7F1,
+ 54774 - 44032: 0xC266,
+ 54775 - 44032: 0xC7F2,
+ 54776 - 44032: 0xC267,
+ 54777 - 44032: 0xC7F3,
+ 54778 - 44032: 0xC268,
+ 54779 - 44032: 0xC269,
+ 54780 - 44032: 0xC26A,
+ 54781 - 44032: 0xC26B,
+ 54782 - 44032: 0xC26C,
+ 54783 - 44032: 0xC26D,
+ 54784 - 44032: 0xC7F4,
+ 54785 - 44032: 0xC7F5,
+ 54786 - 44032: 0xC26E,
+ 54787 - 44032: 0xC26F,
+ 54788 - 44032: 0xC7F6,
+ 54789 - 44032: 0xC270,
+ 54790 - 44032: 0xC271,
+ 54791 - 44032: 0xC272,
+ 54792 - 44032: 0xC7F7,
+ 54793 - 44032: 0xC273,
+ 54794 - 44032: 0xC274,
+ 54795 - 44032: 0xC275,
+ 54796 - 44032: 0xC276,
+ 54797 - 44032: 0xC277,
+ 54798 - 44032: 0xC278,
+ 54799 - 44032: 0xC279,
+ 54800 - 44032: 0xC7F8,
+ 54801 - 44032: 0xC7F9,
+ 54802 - 44032: 0xC27A,
+ 54803 - 44032: 0xC7FA,
+ 54804 - 44032: 0xC7FB,
+ 54805 - 44032: 0xC7FC,
+ 54806 - 44032: 0xC281,
+ 54807 - 44032: 0xC282,
+ 54808 - 44032: 0xC283,
+ 54809 - 44032: 0xC284,
+ 54810 - 44032: 0xC285,
+ 54811 - 44032: 0xC286,
+ 54812 - 44032: 0xC7FD,
+ 54813 - 44032: 0xC287,
+ 54814 - 44032: 0xC288,
+ 54815 - 44032: 0xC289,
+ 54816 - 44032: 0xC7FE,
+ 54817 - 44032: 0xC28A,
+ 54818 - 44032: 0xC28B,
+ 54819 - 44032: 0xC28C,
+ 54820 - 44032: 0xC8A1,
+ 54821 - 44032: 0xC28D,
+ 54822 - 44032: 0xC28E,
+ 54823 - 44032: 0xC28F,
+ 54824 - 44032: 0xC290,
+ 54825 - 44032: 0xC291,
+ 54826 - 44032: 0xC292,
+ 54827 - 44032: 0xC293,
+ 54828 - 44032: 0xC294,
+ 54829 - 44032: 0xC8A2,
+ 54830 - 44032: 0xC295,
+ 54831 - 44032: 0xC296,
+ 54832 - 44032: 0xC297,
+ 54833 - 44032: 0xC298,
+ 54834 - 44032: 0xC299,
+ 54835 - 44032: 0xC29A,
+ 54836 - 44032: 0xC29B,
+ 54837 - 44032: 0xC29C,
+ 54838 - 44032: 0xC29D,
+ 54839 - 44032: 0xC29E,
+ 54840 - 44032: 0xC8A3,
+ 54841 - 44032: 0xC8A4,
+ 54842 - 44032: 0xC29F,
+ 54843 - 44032: 0xC2A0,
+ 54844 - 44032: 0xC8A5,
+ 54845 - 44032: 0xC341,
+ 54846 - 44032: 0xC342,
+ 54847 - 44032: 0xC343,
+ 54848 - 44032: 0xC8A6,
+ 54849 - 44032: 0xC344,
+ 54850 - 44032: 0xC345,
+ 54851 - 44032: 0xC346,
+ 54852 - 44032: 0xC347,
+ 54853 - 44032: 0xC8A7,
+ 54854 - 44032: 0xC348,
+ 54855 - 44032: 0xC349,
+ 54856 - 44032: 0xC8A8,
+ 54857 - 44032: 0xC8A9,
+ 54858 - 44032: 0xC34A,
+ 54859 - 44032: 0xC8AA,
+ 54860 - 44032: 0xC34B,
+ 54861 - 44032: 0xC8AB,
+ 54862 - 44032: 0xC34C,
+ 54863 - 44032: 0xC34D,
+ 54864 - 44032: 0xC34E,
+ 54865 - 44032: 0xC8AC,
+ 54866 - 44032: 0xC34F,
+ 54867 - 44032: 0xC350,
+ 54868 - 44032: 0xC8AD,
+ 54869 - 44032: 0xC8AE,
+ 54870 - 44032: 0xC351,
+ 54871 - 44032: 0xC352,
+ 54872 - 44032: 0xC8AF,
+ 54873 - 44032: 0xC353,
+ 54874 - 44032: 0xC354,
+ 54875 - 44032: 0xC355,
+ 54876 - 44032: 0xC8B0,
+ 54877 - 44032: 0xC356,
+ 54878 - 44032: 0xC357,
+ 54879 - 44032: 0xC358,
+ 54880 - 44032: 0xC359,
+ 54881 - 44032: 0xC35A,
+ 54882 - 44032: 0xC361,
+ 54883 - 44032: 0xC362,
+ 54884 - 44032: 0xC363,
+ 54885 - 44032: 0xC364,
+ 54886 - 44032: 0xC365,
+ 54887 - 44032: 0xC8B1,
+ 54888 - 44032: 0xC366,
+ 54889 - 44032: 0xC8B2,
+ 54890 - 44032: 0xC367,
+ 54891 - 44032: 0xC368,
+ 54892 - 44032: 0xC369,
+ 54893 - 44032: 0xC36A,
+ 54894 - 44032: 0xC36B,
+ 54895 - 44032: 0xC36C,
+ 54896 - 44032: 0xC8B3,
+ 54897 - 44032: 0xC8B4,
+ 54898 - 44032: 0xC36D,
+ 54899 - 44032: 0xC36E,
+ 54900 - 44032: 0xC8B5,
+ 54901 - 44032: 0xC36F,
+ 54902 - 44032: 0xC370,
+ 54903 - 44032: 0xC371,
+ 54904 - 44032: 0xC372,
+ 54905 - 44032: 0xC373,
+ 54906 - 44032: 0xC374,
+ 54907 - 44032: 0xC375,
+ 54908 - 44032: 0xC376,
+ 54909 - 44032: 0xC377,
+ 54910 - 44032: 0xC378,
+ 54911 - 44032: 0xC379,
+ 54912 - 44032: 0xC37A,
+ 54913 - 44032: 0xC381,
+ 54914 - 44032: 0xC382,
+ 54915 - 44032: 0xC8B6,
+ 54916 - 44032: 0xC383,
+ 54917 - 44032: 0xC8B7,
+ 54918 - 44032: 0xC384,
+ 54919 - 44032: 0xC385,
+ 54920 - 44032: 0xC386,
+ 54921 - 44032: 0xC387,
+ 54922 - 44032: 0xC388,
+ 54923 - 44032: 0xC389,
+ 54924 - 44032: 0xC8B8,
+ 54925 - 44032: 0xC8B9,
+ 54926 - 44032: 0xC38A,
+ 54927 - 44032: 0xC38B,
+ 54928 - 44032: 0xC8BA,
+ 54929 - 44032: 0xC38C,
+ 54930 - 44032: 0xC38D,
+ 54931 - 44032: 0xC38E,
+ 54932 - 44032: 0xC8BB,
+ 54933 - 44032: 0xC38F,
+ 54934 - 44032: 0xC390,
+ 54935 - 44032: 0xC391,
+ 54936 - 44032: 0xC392,
+ 54937 - 44032: 0xC393,
+ 54938 - 44032: 0xC394,
+ 54939 - 44032: 0xC395,
+ 54940 - 44032: 0xC396,
+ 54941 - 44032: 0xC8BC,
+ 54942 - 44032: 0xC397,
+ 54943 - 44032: 0xC8BD,
+ 54944 - 44032: 0xC398,
+ 54945 - 44032: 0xC8BE,
+ 54946 - 44032: 0xC399,
+ 54947 - 44032: 0xC39A,
+ 54948 - 44032: 0xC39B,
+ 54949 - 44032: 0xC39C,
+ 54950 - 44032: 0xC39D,
+ 54951 - 44032: 0xC39E,
+ 54952 - 44032: 0xC8BF,
+ 54953 - 44032: 0xC39F,
+ 54954 - 44032: 0xC3A0,
+ 54955 - 44032: 0xC441,
+ 54956 - 44032: 0xC8C0,
+ 54957 - 44032: 0xC442,
+ 54958 - 44032: 0xC443,
+ 54959 - 44032: 0xC444,
+ 54960 - 44032: 0xC8C1,
+ 54961 - 44032: 0xC445,
+ 54962 - 44032: 0xC446,
+ 54963 - 44032: 0xC447,
+ 54964 - 44032: 0xC448,
+ 54965 - 44032: 0xC449,
+ 54966 - 44032: 0xC44A,
+ 54967 - 44032: 0xC44B,
+ 54968 - 44032: 0xC44C,
+ 54969 - 44032: 0xC8C2,
+ 54970 - 44032: 0xC44D,
+ 54971 - 44032: 0xC8C3,
+ 54972 - 44032: 0xC44E,
+ 54973 - 44032: 0xC44F,
+ 54974 - 44032: 0xC450,
+ 54975 - 44032: 0xC451,
+ 54976 - 44032: 0xC452,
+ 54977 - 44032: 0xC453,
+ 54978 - 44032: 0xC454,
+ 54979 - 44032: 0xC455,
+ 54980 - 44032: 0xC8C4,
+ 54981 - 44032: 0xC8C5,
+ 54982 - 44032: 0xC456,
+ 54983 - 44032: 0xC457,
+ 54984 - 44032: 0xC8C6,
+ 54985 - 44032: 0xC458,
+ 54986 - 44032: 0xC459,
+ 54987 - 44032: 0xC45A,
+ 54988 - 44032: 0xC8C7,
+ 54989 - 44032: 0xC461,
+ 54990 - 44032: 0xC462,
+ 54991 - 44032: 0xC463,
+ 54992 - 44032: 0xC464,
+ 54993 - 44032: 0xC8C8,
+ 54994 - 44032: 0xC465,
+ 54995 - 44032: 0xC466,
+ 54996 - 44032: 0xC8C9,
+ 54997 - 44032: 0xC467,
+ 54998 - 44032: 0xC468,
+ 54999 - 44032: 0xC8CA,
+ 55000 - 44032: 0xC469,
+ 55001 - 44032: 0xC8CB,
+ 55002 - 44032: 0xC46A,
+ 55003 - 44032: 0xC46B,
+ 55004 - 44032: 0xC46C,
+ 55005 - 44032: 0xC46D,
+ 55006 - 44032: 0xC46E,
+ 55007 - 44032: 0xC46F,
+ 55008 - 44032: 0xC8CC,
+ 55009 - 44032: 0xC470,
+ 55010 - 44032: 0xC471,
+ 55011 - 44032: 0xC472,
+ 55012 - 44032: 0xC8CD,
+ 55013 - 44032: 0xC473,
+ 55014 - 44032: 0xC474,
+ 55015 - 44032: 0xC475,
+ 55016 - 44032: 0xC8CE,
+ 55017 - 44032: 0xC476,
+ 55018 - 44032: 0xC477,
+ 55019 - 44032: 0xC478,
+ 55020 - 44032: 0xC479,
+ 55021 - 44032: 0xC47A,
+ 55022 - 44032: 0xC481,
+ 55023 - 44032: 0xC482,
+ 55024 - 44032: 0xC8CF,
+ 55025 - 44032: 0xC483,
+ 55026 - 44032: 0xC484,
+ 55027 - 44032: 0xC485,
+ 55028 - 44032: 0xC486,
+ 55029 - 44032: 0xC8D0,
+ 55030 - 44032: 0xC487,
+ 55031 - 44032: 0xC488,
+ 55032 - 44032: 0xC489,
+ 55033 - 44032: 0xC48A,
+ 55034 - 44032: 0xC48B,
+ 55035 - 44032: 0xC48C,
+ 55036 - 44032: 0xC8D1,
+ 55037 - 44032: 0xC8D2,
+ 55038 - 44032: 0xC48D,
+ 55039 - 44032: 0xC48E,
+ 55040 - 44032: 0xC8D3,
+ 55041 - 44032: 0xC48F,
+ 55042 - 44032: 0xC490,
+ 55043 - 44032: 0xC491,
+ 55044 - 44032: 0xC8D4,
+ 55045 - 44032: 0xC492,
+ 55046 - 44032: 0xC493,
+ 55047 - 44032: 0xC494,
+ 55048 - 44032: 0xC495,
+ 55049 - 44032: 0xC496,
+ 55050 - 44032: 0xC497,
+ 55051 - 44032: 0xC498,
+ 55052 - 44032: 0xC499,
+ 55053 - 44032: 0xC49A,
+ 55054 - 44032: 0xC49B,
+ 55055 - 44032: 0xC49C,
+ 55056 - 44032: 0xC49D,
+ 55057 - 44032: 0xC8D5,
+ 55058 - 44032: 0xC49E,
+ 55059 - 44032: 0xC49F,
+ 55060 - 44032: 0xC4A0,
+ 55061 - 44032: 0xC541,
+ 55062 - 44032: 0xC542,
+ 55063 - 44032: 0xC543,
+ 55064 - 44032: 0xC8D6,
+ 55065 - 44032: 0xC8D7,
+ 55066 - 44032: 0xC544,
+ 55067 - 44032: 0xC545,
+ 55068 - 44032: 0xC8D8,
+ 55069 - 44032: 0xC546,
+ 55070 - 44032: 0xC547,
+ 55071 - 44032: 0xC548,
+ 55072 - 44032: 0xC8D9,
+ 55073 - 44032: 0xC549,
+ 55074 - 44032: 0xC54A,
+ 55075 - 44032: 0xC54B,
+ 55076 - 44032: 0xC54C,
+ 55077 - 44032: 0xC54D,
+ 55078 - 44032: 0xC54E,
+ 55079 - 44032: 0xC54F,
+ 55080 - 44032: 0xC8DA,
+ 55081 - 44032: 0xC8DB,
+ 55082 - 44032: 0xC550,
+ 55083 - 44032: 0xC8DC,
+ 55084 - 44032: 0xC551,
+ 55085 - 44032: 0xC8DD,
+ 55086 - 44032: 0xC552,
+ 55087 - 44032: 0xC553,
+ 55088 - 44032: 0xC554,
+ 55089 - 44032: 0xC555,
+ 55090 - 44032: 0xC556,
+ 55091 - 44032: 0xC557,
+ 55092 - 44032: 0xC8DE,
+ 55093 - 44032: 0xC8DF,
+ 55094 - 44032: 0xC558,
+ 55095 - 44032: 0xC559,
+ 55096 - 44032: 0xC8E0,
+ 55097 - 44032: 0xC55A,
+ 55098 - 44032: 0xC561,
+ 55099 - 44032: 0xC562,
+ 55100 - 44032: 0xC8E1,
+ 55101 - 44032: 0xC563,
+ 55102 - 44032: 0xC564,
+ 55103 - 44032: 0xC565,
+ 55104 - 44032: 0xC566,
+ 55105 - 44032: 0xC567,
+ 55106 - 44032: 0xC568,
+ 55107 - 44032: 0xC569,
+ 55108 - 44032: 0xC8E2,
+ 55109 - 44032: 0xC56A,
+ 55110 - 44032: 0xC56B,
+ 55111 - 44032: 0xC8E3,
+ 55112 - 44032: 0xC56C,
+ 55113 - 44032: 0xC8E4,
+ 55114 - 44032: 0xC56D,
+ 55115 - 44032: 0xC56E,
+ 55116 - 44032: 0xC56F,
+ 55117 - 44032: 0xC570,
+ 55118 - 44032: 0xC571,
+ 55119 - 44032: 0xC572,
+ 55120 - 44032: 0xC8E5,
+ 55121 - 44032: 0xC8E6,
+ 55122 - 44032: 0xC573,
+ 55123 - 44032: 0xC574,
+ 55124 - 44032: 0xC8E7,
+ 55125 - 44032: 0xC575,
+ 55126 - 44032: 0xC8E8,
+ 55127 - 44032: 0xC8E9,
+ 55128 - 44032: 0xC8EA,
+ 55129 - 44032: 0xC8EB,
+ 55130 - 44032: 0xC576,
+ 55131 - 44032: 0xC577,
+ 55132 - 44032: 0xC578,
+ 55133 - 44032: 0xC579,
+ 55134 - 44032: 0xC57A,
+ 55135 - 44032: 0xC581,
+ 55136 - 44032: 0xC8EC,
+ 55137 - 44032: 0xC8ED,
+ 55138 - 44032: 0xC582,
+ 55139 - 44032: 0xC8EE,
+ 55140 - 44032: 0xC583,
+ 55141 - 44032: 0xC8EF,
+ 55142 - 44032: 0xC584,
+ 55143 - 44032: 0xC585,
+ 55144 - 44032: 0xC586,
+ 55145 - 44032: 0xC8F0,
+ 55146 - 44032: 0xC587,
+ 55147 - 44032: 0xC588,
+ 55148 - 44032: 0xC8F1,
+ 55149 - 44032: 0xC589,
+ 55150 - 44032: 0xC58A,
+ 55151 - 44032: 0xC58B,
+ 55152 - 44032: 0xC8F2,
+ 55153 - 44032: 0xC58C,
+ 55154 - 44032: 0xC58D,
+ 55155 - 44032: 0xC58E,
+ 55156 - 44032: 0xC8F3,
+ 55157 - 44032: 0xC58F,
+ 55158 - 44032: 0xC590,
+ 55159 - 44032: 0xC591,
+ 55160 - 44032: 0xC592,
+ 55161 - 44032: 0xC593,
+ 55162 - 44032: 0xC594,
+ 55163 - 44032: 0xC595,
+ 55164 - 44032: 0xC8F4,
+ 55165 - 44032: 0xC8F5,
+ 55166 - 44032: 0xC596,
+ 55167 - 44032: 0xC597,
+ 55168 - 44032: 0xC598,
+ 55169 - 44032: 0xC8F6,
+ 55170 - 44032: 0xC599,
+ 55171 - 44032: 0xC59A,
+ 55172 - 44032: 0xC59B,
+ 55173 - 44032: 0xC59C,
+ 55174 - 44032: 0xC59D,
+ 55175 - 44032: 0xC59E,
+ 55176 - 44032: 0xC8F7,
+ 55177 - 44032: 0xC8F8,
+ 55178 - 44032: 0xC59F,
+ 55179 - 44032: 0xC5A0,
+ 55180 - 44032: 0xC8F9,
+ 55181 - 44032: 0xC641,
+ 55182 - 44032: 0xC642,
+ 55183 - 44032: 0xC643,
+ 55184 - 44032: 0xC8FA,
+ 55185 - 44032: 0xC644,
+ 55186 - 44032: 0xC645,
+ 55187 - 44032: 0xC646,
+ 55188 - 44032: 0xC647,
+ 55189 - 44032: 0xC648,
+ 55190 - 44032: 0xC649,
+ 55191 - 44032: 0xC64A,
+ 55192 - 44032: 0xC8FB,
+ 55193 - 44032: 0xC8FC,
+ 55194 - 44032: 0xC64B,
+ 55195 - 44032: 0xC8FD,
+ 55196 - 44032: 0xC64C,
+ 55197 - 44032: 0xC8FE,
+ 55198 - 44032: 0xC64D,
+ 55199 - 44032: 0xC64E,
+ 55200 - 44032: 0xC64F,
+ 55201 - 44032: 0xC650,
+ 55202 - 44032: 0xC651,
+ 55203 - 44032: 0xC652,
+}
+
+const encode2Low, encode2High = 8213, 9838
+
+var encode2 = [...]uint16{
+ 8213 - 8213: 0xA1AA,
+ 8216 - 8213: 0xA1AE,
+ 8217 - 8213: 0xA1AF,
+ 8220 - 8213: 0xA1B0,
+ 8221 - 8213: 0xA1B1,
+ 8224 - 8213: 0xA2D3,
+ 8225 - 8213: 0xA2D4,
+ 8229 - 8213: 0xA1A5,
+ 8230 - 8213: 0xA1A6,
+ 8240 - 8213: 0xA2B6,
+ 8242 - 8213: 0xA1C7,
+ 8243 - 8213: 0xA1C8,
+ 8251 - 8213: 0xA1D8,
+ 8308 - 8213: 0xA9F9,
+ 8319 - 8213: 0xA9FA,
+ 8321 - 8213: 0xA9FB,
+ 8322 - 8213: 0xA9FC,
+ 8323 - 8213: 0xA9FD,
+ 8324 - 8213: 0xA9FE,
+ 8364 - 8213: 0xA2E6,
+ 8451 - 8213: 0xA1C9,
+ 8457 - 8213: 0xA2B5,
+ 8467 - 8213: 0xA7A4,
+ 8470 - 8213: 0xA2E0,
+ 8481 - 8213: 0xA2E5,
+ 8482 - 8213: 0xA2E2,
+ 8486 - 8213: 0xA7D9,
+ 8491 - 8213: 0xA1CA,
+ 8531 - 8213: 0xA8F7,
+ 8532 - 8213: 0xA8F8,
+ 8539 - 8213: 0xA8FB,
+ 8540 - 8213: 0xA8FC,
+ 8541 - 8213: 0xA8FD,
+ 8542 - 8213: 0xA8FE,
+ 8544 - 8213: 0xA5B0,
+ 8545 - 8213: 0xA5B1,
+ 8546 - 8213: 0xA5B2,
+ 8547 - 8213: 0xA5B3,
+ 8548 - 8213: 0xA5B4,
+ 8549 - 8213: 0xA5B5,
+ 8550 - 8213: 0xA5B6,
+ 8551 - 8213: 0xA5B7,
+ 8552 - 8213: 0xA5B8,
+ 8553 - 8213: 0xA5B9,
+ 8560 - 8213: 0xA5A1,
+ 8561 - 8213: 0xA5A2,
+ 8562 - 8213: 0xA5A3,
+ 8563 - 8213: 0xA5A4,
+ 8564 - 8213: 0xA5A5,
+ 8565 - 8213: 0xA5A6,
+ 8566 - 8213: 0xA5A7,
+ 8567 - 8213: 0xA5A8,
+ 8568 - 8213: 0xA5A9,
+ 8569 - 8213: 0xA5AA,
+ 8592 - 8213: 0xA1E7,
+ 8593 - 8213: 0xA1E8,
+ 8594 - 8213: 0xA1E6,
+ 8595 - 8213: 0xA1E9,
+ 8596 - 8213: 0xA1EA,
+ 8597 - 8213: 0xA2D5,
+ 8598 - 8213: 0xA2D8,
+ 8599 - 8213: 0xA2D6,
+ 8600 - 8213: 0xA2D9,
+ 8601 - 8213: 0xA2D7,
+ 8658 - 8213: 0xA2A1,
+ 8660 - 8213: 0xA2A2,
+ 8704 - 8213: 0xA2A3,
+ 8706 - 8213: 0xA1D3,
+ 8707 - 8213: 0xA2A4,
+ 8711 - 8213: 0xA1D4,
+ 8712 - 8213: 0xA1F4,
+ 8715 - 8213: 0xA1F5,
+ 8719 - 8213: 0xA2B3,
+ 8721 - 8213: 0xA2B2,
+ 8730 - 8213: 0xA1EE,
+ 8733 - 8213: 0xA1F0,
+ 8734 - 8213: 0xA1C4,
+ 8736 - 8213: 0xA1D0,
+ 8741 - 8213: 0xA1AB,
+ 8743 - 8213: 0xA1FC,
+ 8744 - 8213: 0xA1FD,
+ 8745 - 8213: 0xA1FB,
+ 8746 - 8213: 0xA1FA,
+ 8747 - 8213: 0xA1F2,
+ 8748 - 8213: 0xA1F3,
+ 8750 - 8213: 0xA2B1,
+ 8756 - 8213: 0xA1C5,
+ 8757 - 8213: 0xA1F1,
+ 8764 - 8213: 0xA1AD,
+ 8765 - 8213: 0xA1EF,
+ 8786 - 8213: 0xA1D6,
+ 8800 - 8213: 0xA1C1,
+ 8801 - 8213: 0xA1D5,
+ 8804 - 8213: 0xA1C2,
+ 8805 - 8213: 0xA1C3,
+ 8810 - 8213: 0xA1EC,
+ 8811 - 8213: 0xA1ED,
+ 8834 - 8213: 0xA1F8,
+ 8835 - 8213: 0xA1F9,
+ 8838 - 8213: 0xA1F6,
+ 8839 - 8213: 0xA1F7,
+ 8857 - 8213: 0xA2C1,
+ 8869 - 8213: 0xA1D1,
+ 8978 - 8213: 0xA1D2,
+ 9312 - 8213: 0xA8E7,
+ 9313 - 8213: 0xA8E8,
+ 9314 - 8213: 0xA8E9,
+ 9315 - 8213: 0xA8EA,
+ 9316 - 8213: 0xA8EB,
+ 9317 - 8213: 0xA8EC,
+ 9318 - 8213: 0xA8ED,
+ 9319 - 8213: 0xA8EE,
+ 9320 - 8213: 0xA8EF,
+ 9321 - 8213: 0xA8F0,
+ 9322 - 8213: 0xA8F1,
+ 9323 - 8213: 0xA8F2,
+ 9324 - 8213: 0xA8F3,
+ 9325 - 8213: 0xA8F4,
+ 9326 - 8213: 0xA8F5,
+ 9332 - 8213: 0xA9E7,
+ 9333 - 8213: 0xA9E8,
+ 9334 - 8213: 0xA9E9,
+ 9335 - 8213: 0xA9EA,
+ 9336 - 8213: 0xA9EB,
+ 9337 - 8213: 0xA9EC,
+ 9338 - 8213: 0xA9ED,
+ 9339 - 8213: 0xA9EE,
+ 9340 - 8213: 0xA9EF,
+ 9341 - 8213: 0xA9F0,
+ 9342 - 8213: 0xA9F1,
+ 9343 - 8213: 0xA9F2,
+ 9344 - 8213: 0xA9F3,
+ 9345 - 8213: 0xA9F4,
+ 9346 - 8213: 0xA9F5,
+ 9372 - 8213: 0xA9CD,
+ 9373 - 8213: 0xA9CE,
+ 9374 - 8213: 0xA9CF,
+ 9375 - 8213: 0xA9D0,
+ 9376 - 8213: 0xA9D1,
+ 9377 - 8213: 0xA9D2,
+ 9378 - 8213: 0xA9D3,
+ 9379 - 8213: 0xA9D4,
+ 9380 - 8213: 0xA9D5,
+ 9381 - 8213: 0xA9D6,
+ 9382 - 8213: 0xA9D7,
+ 9383 - 8213: 0xA9D8,
+ 9384 - 8213: 0xA9D9,
+ 9385 - 8213: 0xA9DA,
+ 9386 - 8213: 0xA9DB,
+ 9387 - 8213: 0xA9DC,
+ 9388 - 8213: 0xA9DD,
+ 9389 - 8213: 0xA9DE,
+ 9390 - 8213: 0xA9DF,
+ 9391 - 8213: 0xA9E0,
+ 9392 - 8213: 0xA9E1,
+ 9393 - 8213: 0xA9E2,
+ 9394 - 8213: 0xA9E3,
+ 9395 - 8213: 0xA9E4,
+ 9396 - 8213: 0xA9E5,
+ 9397 - 8213: 0xA9E6,
+ 9424 - 8213: 0xA8CD,
+ 9425 - 8213: 0xA8CE,
+ 9426 - 8213: 0xA8CF,
+ 9427 - 8213: 0xA8D0,
+ 9428 - 8213: 0xA8D1,
+ 9429 - 8213: 0xA8D2,
+ 9430 - 8213: 0xA8D3,
+ 9431 - 8213: 0xA8D4,
+ 9432 - 8213: 0xA8D5,
+ 9433 - 8213: 0xA8D6,
+ 9434 - 8213: 0xA8D7,
+ 9435 - 8213: 0xA8D8,
+ 9436 - 8213: 0xA8D9,
+ 9437 - 8213: 0xA8DA,
+ 9438 - 8213: 0xA8DB,
+ 9439 - 8213: 0xA8DC,
+ 9440 - 8213: 0xA8DD,
+ 9441 - 8213: 0xA8DE,
+ 9442 - 8213: 0xA8DF,
+ 9443 - 8213: 0xA8E0,
+ 9444 - 8213: 0xA8E1,
+ 9445 - 8213: 0xA8E2,
+ 9446 - 8213: 0xA8E3,
+ 9447 - 8213: 0xA8E4,
+ 9448 - 8213: 0xA8E5,
+ 9449 - 8213: 0xA8E6,
+ 9472 - 8213: 0xA6A1,
+ 9473 - 8213: 0xA6AC,
+ 9474 - 8213: 0xA6A2,
+ 9475 - 8213: 0xA6AD,
+ 9484 - 8213: 0xA6A3,
+ 9485 - 8213: 0xA6C8,
+ 9486 - 8213: 0xA6C7,
+ 9487 - 8213: 0xA6AE,
+ 9488 - 8213: 0xA6A4,
+ 9489 - 8213: 0xA6C2,
+ 9490 - 8213: 0xA6C1,
+ 9491 - 8213: 0xA6AF,
+ 9492 - 8213: 0xA6A6,
+ 9493 - 8213: 0xA6C6,
+ 9494 - 8213: 0xA6C5,
+ 9495 - 8213: 0xA6B1,
+ 9496 - 8213: 0xA6A5,
+ 9497 - 8213: 0xA6C4,
+ 9498 - 8213: 0xA6C3,
+ 9499 - 8213: 0xA6B0,
+ 9500 - 8213: 0xA6A7,
+ 9501 - 8213: 0xA6BC,
+ 9502 - 8213: 0xA6C9,
+ 9503 - 8213: 0xA6CA,
+ 9504 - 8213: 0xA6B7,
+ 9505 - 8213: 0xA6CB,
+ 9506 - 8213: 0xA6CC,
+ 9507 - 8213: 0xA6B2,
+ 9508 - 8213: 0xA6A9,
+ 9509 - 8213: 0xA6BE,
+ 9510 - 8213: 0xA6CD,
+ 9511 - 8213: 0xA6CE,
+ 9512 - 8213: 0xA6B9,
+ 9513 - 8213: 0xA6CF,
+ 9514 - 8213: 0xA6D0,
+ 9515 - 8213: 0xA6B4,
+ 9516 - 8213: 0xA6A8,
+ 9517 - 8213: 0xA6D1,
+ 9518 - 8213: 0xA6D2,
+ 9519 - 8213: 0xA6B8,
+ 9520 - 8213: 0xA6BD,
+ 9521 - 8213: 0xA6D3,
+ 9522 - 8213: 0xA6D4,
+ 9523 - 8213: 0xA6B3,
+ 9524 - 8213: 0xA6AA,
+ 9525 - 8213: 0xA6D5,
+ 9526 - 8213: 0xA6D6,
+ 9527 - 8213: 0xA6BA,
+ 9528 - 8213: 0xA6BF,
+ 9529 - 8213: 0xA6D7,
+ 9530 - 8213: 0xA6D8,
+ 9531 - 8213: 0xA6B5,
+ 9532 - 8213: 0xA6AB,
+ 9533 - 8213: 0xA6D9,
+ 9534 - 8213: 0xA6DA,
+ 9535 - 8213: 0xA6BB,
+ 9536 - 8213: 0xA6DB,
+ 9537 - 8213: 0xA6DC,
+ 9538 - 8213: 0xA6C0,
+ 9539 - 8213: 0xA6DD,
+ 9540 - 8213: 0xA6DE,
+ 9541 - 8213: 0xA6DF,
+ 9542 - 8213: 0xA6E0,
+ 9543 - 8213: 0xA6E1,
+ 9544 - 8213: 0xA6E2,
+ 9545 - 8213: 0xA6E3,
+ 9546 - 8213: 0xA6E4,
+ 9547 - 8213: 0xA6B6,
+ 9618 - 8213: 0xA2C6,
+ 9632 - 8213: 0xA1E1,
+ 9633 - 8213: 0xA1E0,
+ 9635 - 8213: 0xA2C3,
+ 9636 - 8213: 0xA2C7,
+ 9637 - 8213: 0xA2C8,
+ 9638 - 8213: 0xA2CB,
+ 9639 - 8213: 0xA2CA,
+ 9640 - 8213: 0xA2C9,
+ 9641 - 8213: 0xA2CC,
+ 9650 - 8213: 0xA1E3,
+ 9651 - 8213: 0xA1E2,
+ 9654 - 8213: 0xA2BA,
+ 9655 - 8213: 0xA2B9,
+ 9660 - 8213: 0xA1E5,
+ 9661 - 8213: 0xA1E4,
+ 9664 - 8213: 0xA2B8,
+ 9665 - 8213: 0xA2B7,
+ 9670 - 8213: 0xA1DF,
+ 9671 - 8213: 0xA1DE,
+ 9672 - 8213: 0xA2C2,
+ 9675 - 8213: 0xA1DB,
+ 9678 - 8213: 0xA1DD,
+ 9679 - 8213: 0xA1DC,
+ 9680 - 8213: 0xA2C4,
+ 9681 - 8213: 0xA2C5,
+ 9733 - 8213: 0xA1DA,
+ 9734 - 8213: 0xA1D9,
+ 9742 - 8213: 0xA2CF,
+ 9743 - 8213: 0xA2CE,
+ 9756 - 8213: 0xA2D0,
+ 9758 - 8213: 0xA2D1,
+ 9792 - 8213: 0xA1CF,
+ 9794 - 8213: 0xA1CE,
+ 9824 - 8213: 0xA2BC,
+ 9825 - 8213: 0xA2BD,
+ 9827 - 8213: 0xA2C0,
+ 9828 - 8213: 0xA2BB,
+ 9829 - 8213: 0xA2BE,
+ 9831 - 8213: 0xA2BF,
+ 9832 - 8213: 0xA2CD,
+ 9833 - 8213: 0xA2DB,
+ 9834 - 8213: 0xA2DC,
+ 9836 - 8213: 0xA2DD,
+ 9837 - 8213: 0xA2DA,
+}
+
+const encode3Low, encode3High = 12288, 13278
+
+var encode3 = [...]uint16{
+ 12288 - 12288: 0xA1A1,
+ 12289 - 12288: 0xA1A2,
+ 12290 - 12288: 0xA1A3,
+ 12291 - 12288: 0xA1A8,
+ 12296 - 12288: 0xA1B4,
+ 12297 - 12288: 0xA1B5,
+ 12298 - 12288: 0xA1B6,
+ 12299 - 12288: 0xA1B7,
+ 12300 - 12288: 0xA1B8,
+ 12301 - 12288: 0xA1B9,
+ 12302 - 12288: 0xA1BA,
+ 12303 - 12288: 0xA1BB,
+ 12304 - 12288: 0xA1BC,
+ 12305 - 12288: 0xA1BD,
+ 12307 - 12288: 0xA1EB,
+ 12308 - 12288: 0xA1B2,
+ 12309 - 12288: 0xA1B3,
+ 12353 - 12288: 0xAAA1,
+ 12354 - 12288: 0xAAA2,
+ 12355 - 12288: 0xAAA3,
+ 12356 - 12288: 0xAAA4,
+ 12357 - 12288: 0xAAA5,
+ 12358 - 12288: 0xAAA6,
+ 12359 - 12288: 0xAAA7,
+ 12360 - 12288: 0xAAA8,
+ 12361 - 12288: 0xAAA9,
+ 12362 - 12288: 0xAAAA,
+ 12363 - 12288: 0xAAAB,
+ 12364 - 12288: 0xAAAC,
+ 12365 - 12288: 0xAAAD,
+ 12366 - 12288: 0xAAAE,
+ 12367 - 12288: 0xAAAF,
+ 12368 - 12288: 0xAAB0,
+ 12369 - 12288: 0xAAB1,
+ 12370 - 12288: 0xAAB2,
+ 12371 - 12288: 0xAAB3,
+ 12372 - 12288: 0xAAB4,
+ 12373 - 12288: 0xAAB5,
+ 12374 - 12288: 0xAAB6,
+ 12375 - 12288: 0xAAB7,
+ 12376 - 12288: 0xAAB8,
+ 12377 - 12288: 0xAAB9,
+ 12378 - 12288: 0xAABA,
+ 12379 - 12288: 0xAABB,
+ 12380 - 12288: 0xAABC,
+ 12381 - 12288: 0xAABD,
+ 12382 - 12288: 0xAABE,
+ 12383 - 12288: 0xAABF,
+ 12384 - 12288: 0xAAC0,
+ 12385 - 12288: 0xAAC1,
+ 12386 - 12288: 0xAAC2,
+ 12387 - 12288: 0xAAC3,
+ 12388 - 12288: 0xAAC4,
+ 12389 - 12288: 0xAAC5,
+ 12390 - 12288: 0xAAC6,
+ 12391 - 12288: 0xAAC7,
+ 12392 - 12288: 0xAAC8,
+ 12393 - 12288: 0xAAC9,
+ 12394 - 12288: 0xAACA,
+ 12395 - 12288: 0xAACB,
+ 12396 - 12288: 0xAACC,
+ 12397 - 12288: 0xAACD,
+ 12398 - 12288: 0xAACE,
+ 12399 - 12288: 0xAACF,
+ 12400 - 12288: 0xAAD0,
+ 12401 - 12288: 0xAAD1,
+ 12402 - 12288: 0xAAD2,
+ 12403 - 12288: 0xAAD3,
+ 12404 - 12288: 0xAAD4,
+ 12405 - 12288: 0xAAD5,
+ 12406 - 12288: 0xAAD6,
+ 12407 - 12288: 0xAAD7,
+ 12408 - 12288: 0xAAD8,
+ 12409 - 12288: 0xAAD9,
+ 12410 - 12288: 0xAADA,
+ 12411 - 12288: 0xAADB,
+ 12412 - 12288: 0xAADC,
+ 12413 - 12288: 0xAADD,
+ 12414 - 12288: 0xAADE,
+ 12415 - 12288: 0xAADF,
+ 12416 - 12288: 0xAAE0,
+ 12417 - 12288: 0xAAE1,
+ 12418 - 12288: 0xAAE2,
+ 12419 - 12288: 0xAAE3,
+ 12420 - 12288: 0xAAE4,
+ 12421 - 12288: 0xAAE5,
+ 12422 - 12288: 0xAAE6,
+ 12423 - 12288: 0xAAE7,
+ 12424 - 12288: 0xAAE8,
+ 12425 - 12288: 0xAAE9,
+ 12426 - 12288: 0xAAEA,
+ 12427 - 12288: 0xAAEB,
+ 12428 - 12288: 0xAAEC,
+ 12429 - 12288: 0xAAED,
+ 12430 - 12288: 0xAAEE,
+ 12431 - 12288: 0xAAEF,
+ 12432 - 12288: 0xAAF0,
+ 12433 - 12288: 0xAAF1,
+ 12434 - 12288: 0xAAF2,
+ 12435 - 12288: 0xAAF3,
+ 12449 - 12288: 0xABA1,
+ 12450 - 12288: 0xABA2,
+ 12451 - 12288: 0xABA3,
+ 12452 - 12288: 0xABA4,
+ 12453 - 12288: 0xABA5,
+ 12454 - 12288: 0xABA6,
+ 12455 - 12288: 0xABA7,
+ 12456 - 12288: 0xABA8,
+ 12457 - 12288: 0xABA9,
+ 12458 - 12288: 0xABAA,
+ 12459 - 12288: 0xABAB,
+ 12460 - 12288: 0xABAC,
+ 12461 - 12288: 0xABAD,
+ 12462 - 12288: 0xABAE,
+ 12463 - 12288: 0xABAF,
+ 12464 - 12288: 0xABB0,
+ 12465 - 12288: 0xABB1,
+ 12466 - 12288: 0xABB2,
+ 12467 - 12288: 0xABB3,
+ 12468 - 12288: 0xABB4,
+ 12469 - 12288: 0xABB5,
+ 12470 - 12288: 0xABB6,
+ 12471 - 12288: 0xABB7,
+ 12472 - 12288: 0xABB8,
+ 12473 - 12288: 0xABB9,
+ 12474 - 12288: 0xABBA,
+ 12475 - 12288: 0xABBB,
+ 12476 - 12288: 0xABBC,
+ 12477 - 12288: 0xABBD,
+ 12478 - 12288: 0xABBE,
+ 12479 - 12288: 0xABBF,
+ 12480 - 12288: 0xABC0,
+ 12481 - 12288: 0xABC1,
+ 12482 - 12288: 0xABC2,
+ 12483 - 12288: 0xABC3,
+ 12484 - 12288: 0xABC4,
+ 12485 - 12288: 0xABC5,
+ 12486 - 12288: 0xABC6,
+ 12487 - 12288: 0xABC7,
+ 12488 - 12288: 0xABC8,
+ 12489 - 12288: 0xABC9,
+ 12490 - 12288: 0xABCA,
+ 12491 - 12288: 0xABCB,
+ 12492 - 12288: 0xABCC,
+ 12493 - 12288: 0xABCD,
+ 12494 - 12288: 0xABCE,
+ 12495 - 12288: 0xABCF,
+ 12496 - 12288: 0xABD0,
+ 12497 - 12288: 0xABD1,
+ 12498 - 12288: 0xABD2,
+ 12499 - 12288: 0xABD3,
+ 12500 - 12288: 0xABD4,
+ 12501 - 12288: 0xABD5,
+ 12502 - 12288: 0xABD6,
+ 12503 - 12288: 0xABD7,
+ 12504 - 12288: 0xABD8,
+ 12505 - 12288: 0xABD9,
+ 12506 - 12288: 0xABDA,
+ 12507 - 12288: 0xABDB,
+ 12508 - 12288: 0xABDC,
+ 12509 - 12288: 0xABDD,
+ 12510 - 12288: 0xABDE,
+ 12511 - 12288: 0xABDF,
+ 12512 - 12288: 0xABE0,
+ 12513 - 12288: 0xABE1,
+ 12514 - 12288: 0xABE2,
+ 12515 - 12288: 0xABE3,
+ 12516 - 12288: 0xABE4,
+ 12517 - 12288: 0xABE5,
+ 12518 - 12288: 0xABE6,
+ 12519 - 12288: 0xABE7,
+ 12520 - 12288: 0xABE8,
+ 12521 - 12288: 0xABE9,
+ 12522 - 12288: 0xABEA,
+ 12523 - 12288: 0xABEB,
+ 12524 - 12288: 0xABEC,
+ 12525 - 12288: 0xABED,
+ 12526 - 12288: 0xABEE,
+ 12527 - 12288: 0xABEF,
+ 12528 - 12288: 0xABF0,
+ 12529 - 12288: 0xABF1,
+ 12530 - 12288: 0xABF2,
+ 12531 - 12288: 0xABF3,
+ 12532 - 12288: 0xABF4,
+ 12533 - 12288: 0xABF5,
+ 12534 - 12288: 0xABF6,
+ 12593 - 12288: 0xA4A1,
+ 12594 - 12288: 0xA4A2,
+ 12595 - 12288: 0xA4A3,
+ 12596 - 12288: 0xA4A4,
+ 12597 - 12288: 0xA4A5,
+ 12598 - 12288: 0xA4A6,
+ 12599 - 12288: 0xA4A7,
+ 12600 - 12288: 0xA4A8,
+ 12601 - 12288: 0xA4A9,
+ 12602 - 12288: 0xA4AA,
+ 12603 - 12288: 0xA4AB,
+ 12604 - 12288: 0xA4AC,
+ 12605 - 12288: 0xA4AD,
+ 12606 - 12288: 0xA4AE,
+ 12607 - 12288: 0xA4AF,
+ 12608 - 12288: 0xA4B0,
+ 12609 - 12288: 0xA4B1,
+ 12610 - 12288: 0xA4B2,
+ 12611 - 12288: 0xA4B3,
+ 12612 - 12288: 0xA4B4,
+ 12613 - 12288: 0xA4B5,
+ 12614 - 12288: 0xA4B6,
+ 12615 - 12288: 0xA4B7,
+ 12616 - 12288: 0xA4B8,
+ 12617 - 12288: 0xA4B9,
+ 12618 - 12288: 0xA4BA,
+ 12619 - 12288: 0xA4BB,
+ 12620 - 12288: 0xA4BC,
+ 12621 - 12288: 0xA4BD,
+ 12622 - 12288: 0xA4BE,
+ 12623 - 12288: 0xA4BF,
+ 12624 - 12288: 0xA4C0,
+ 12625 - 12288: 0xA4C1,
+ 12626 - 12288: 0xA4C2,
+ 12627 - 12288: 0xA4C3,
+ 12628 - 12288: 0xA4C4,
+ 12629 - 12288: 0xA4C5,
+ 12630 - 12288: 0xA4C6,
+ 12631 - 12288: 0xA4C7,
+ 12632 - 12288: 0xA4C8,
+ 12633 - 12288: 0xA4C9,
+ 12634 - 12288: 0xA4CA,
+ 12635 - 12288: 0xA4CB,
+ 12636 - 12288: 0xA4CC,
+ 12637 - 12288: 0xA4CD,
+ 12638 - 12288: 0xA4CE,
+ 12639 - 12288: 0xA4CF,
+ 12640 - 12288: 0xA4D0,
+ 12641 - 12288: 0xA4D1,
+ 12642 - 12288: 0xA4D2,
+ 12643 - 12288: 0xA4D3,
+ 12644 - 12288: 0xA4D4,
+ 12645 - 12288: 0xA4D5,
+ 12646 - 12288: 0xA4D6,
+ 12647 - 12288: 0xA4D7,
+ 12648 - 12288: 0xA4D8,
+ 12649 - 12288: 0xA4D9,
+ 12650 - 12288: 0xA4DA,
+ 12651 - 12288: 0xA4DB,
+ 12652 - 12288: 0xA4DC,
+ 12653 - 12288: 0xA4DD,
+ 12654 - 12288: 0xA4DE,
+ 12655 - 12288: 0xA4DF,
+ 12656 - 12288: 0xA4E0,
+ 12657 - 12288: 0xA4E1,
+ 12658 - 12288: 0xA4E2,
+ 12659 - 12288: 0xA4E3,
+ 12660 - 12288: 0xA4E4,
+ 12661 - 12288: 0xA4E5,
+ 12662 - 12288: 0xA4E6,
+ 12663 - 12288: 0xA4E7,
+ 12664 - 12288: 0xA4E8,
+ 12665 - 12288: 0xA4E9,
+ 12666 - 12288: 0xA4EA,
+ 12667 - 12288: 0xA4EB,
+ 12668 - 12288: 0xA4EC,
+ 12669 - 12288: 0xA4ED,
+ 12670 - 12288: 0xA4EE,
+ 12671 - 12288: 0xA4EF,
+ 12672 - 12288: 0xA4F0,
+ 12673 - 12288: 0xA4F1,
+ 12674 - 12288: 0xA4F2,
+ 12675 - 12288: 0xA4F3,
+ 12676 - 12288: 0xA4F4,
+ 12677 - 12288: 0xA4F5,
+ 12678 - 12288: 0xA4F6,
+ 12679 - 12288: 0xA4F7,
+ 12680 - 12288: 0xA4F8,
+ 12681 - 12288: 0xA4F9,
+ 12682 - 12288: 0xA4FA,
+ 12683 - 12288: 0xA4FB,
+ 12684 - 12288: 0xA4FC,
+ 12685 - 12288: 0xA4FD,
+ 12686 - 12288: 0xA4FE,
+ 12800 - 12288: 0xA9B1,
+ 12801 - 12288: 0xA9B2,
+ 12802 - 12288: 0xA9B3,
+ 12803 - 12288: 0xA9B4,
+ 12804 - 12288: 0xA9B5,
+ 12805 - 12288: 0xA9B6,
+ 12806 - 12288: 0xA9B7,
+ 12807 - 12288: 0xA9B8,
+ 12808 - 12288: 0xA9B9,
+ 12809 - 12288: 0xA9BA,
+ 12810 - 12288: 0xA9BB,
+ 12811 - 12288: 0xA9BC,
+ 12812 - 12288: 0xA9BD,
+ 12813 - 12288: 0xA9BE,
+ 12814 - 12288: 0xA9BF,
+ 12815 - 12288: 0xA9C0,
+ 12816 - 12288: 0xA9C1,
+ 12817 - 12288: 0xA9C2,
+ 12818 - 12288: 0xA9C3,
+ 12819 - 12288: 0xA9C4,
+ 12820 - 12288: 0xA9C5,
+ 12821 - 12288: 0xA9C6,
+ 12822 - 12288: 0xA9C7,
+ 12823 - 12288: 0xA9C8,
+ 12824 - 12288: 0xA9C9,
+ 12825 - 12288: 0xA9CA,
+ 12826 - 12288: 0xA9CB,
+ 12827 - 12288: 0xA9CC,
+ 12828 - 12288: 0xA2DF,
+ 12896 - 12288: 0xA8B1,
+ 12897 - 12288: 0xA8B2,
+ 12898 - 12288: 0xA8B3,
+ 12899 - 12288: 0xA8B4,
+ 12900 - 12288: 0xA8B5,
+ 12901 - 12288: 0xA8B6,
+ 12902 - 12288: 0xA8B7,
+ 12903 - 12288: 0xA8B8,
+ 12904 - 12288: 0xA8B9,
+ 12905 - 12288: 0xA8BA,
+ 12906 - 12288: 0xA8BB,
+ 12907 - 12288: 0xA8BC,
+ 12908 - 12288: 0xA8BD,
+ 12909 - 12288: 0xA8BE,
+ 12910 - 12288: 0xA8BF,
+ 12911 - 12288: 0xA8C0,
+ 12912 - 12288: 0xA8C1,
+ 12913 - 12288: 0xA8C2,
+ 12914 - 12288: 0xA8C3,
+ 12915 - 12288: 0xA8C4,
+ 12916 - 12288: 0xA8C5,
+ 12917 - 12288: 0xA8C6,
+ 12918 - 12288: 0xA8C7,
+ 12919 - 12288: 0xA8C8,
+ 12920 - 12288: 0xA8C9,
+ 12921 - 12288: 0xA8CA,
+ 12922 - 12288: 0xA8CB,
+ 12923 - 12288: 0xA8CC,
+ 12927 - 12288: 0xA2DE,
+ 13184 - 12288: 0xA7C9,
+ 13185 - 12288: 0xA7CA,
+ 13186 - 12288: 0xA7CB,
+ 13187 - 12288: 0xA7CC,
+ 13188 - 12288: 0xA7CD,
+ 13192 - 12288: 0xA7BA,
+ 13193 - 12288: 0xA7BB,
+ 13194 - 12288: 0xA7DC,
+ 13195 - 12288: 0xA7DD,
+ 13196 - 12288: 0xA7DE,
+ 13197 - 12288: 0xA7B6,
+ 13198 - 12288: 0xA7B7,
+ 13199 - 12288: 0xA7B8,
+ 13200 - 12288: 0xA7D4,
+ 13201 - 12288: 0xA7D5,
+ 13202 - 12288: 0xA7D6,
+ 13203 - 12288: 0xA7D7,
+ 13204 - 12288: 0xA7D8,
+ 13205 - 12288: 0xA7A1,
+ 13206 - 12288: 0xA7A2,
+ 13207 - 12288: 0xA7A3,
+ 13208 - 12288: 0xA7A5,
+ 13209 - 12288: 0xA7AB,
+ 13210 - 12288: 0xA7AC,
+ 13211 - 12288: 0xA7AD,
+ 13212 - 12288: 0xA7AE,
+ 13213 - 12288: 0xA7AF,
+ 13214 - 12288: 0xA7B0,
+ 13215 - 12288: 0xA7B1,
+ 13216 - 12288: 0xA7B2,
+ 13217 - 12288: 0xA7B3,
+ 13218 - 12288: 0xA7B4,
+ 13219 - 12288: 0xA7A7,
+ 13220 - 12288: 0xA7A8,
+ 13221 - 12288: 0xA7A9,
+ 13222 - 12288: 0xA7AA,
+ 13223 - 12288: 0xA7BD,
+ 13224 - 12288: 0xA7BE,
+ 13225 - 12288: 0xA7E5,
+ 13226 - 12288: 0xA7E6,
+ 13227 - 12288: 0xA7E7,
+ 13228 - 12288: 0xA7E8,
+ 13229 - 12288: 0xA7E1,
+ 13230 - 12288: 0xA7E2,
+ 13231 - 12288: 0xA7E3,
+ 13232 - 12288: 0xA7BF,
+ 13233 - 12288: 0xA7C0,
+ 13234 - 12288: 0xA7C1,
+ 13235 - 12288: 0xA7C2,
+ 13236 - 12288: 0xA7C3,
+ 13237 - 12288: 0xA7C4,
+ 13238 - 12288: 0xA7C5,
+ 13239 - 12288: 0xA7C6,
+ 13240 - 12288: 0xA7C7,
+ 13241 - 12288: 0xA7C8,
+ 13242 - 12288: 0xA7CE,
+ 13243 - 12288: 0xA7CF,
+ 13244 - 12288: 0xA7D0,
+ 13245 - 12288: 0xA7D1,
+ 13246 - 12288: 0xA7D2,
+ 13247 - 12288: 0xA7D3,
+ 13248 - 12288: 0xA7DA,
+ 13249 - 12288: 0xA7DB,
+ 13250 - 12288: 0xA2E3,
+ 13251 - 12288: 0xA7EC,
+ 13252 - 12288: 0xA7A6,
+ 13253 - 12288: 0xA7E0,
+ 13254 - 12288: 0xA7EF,
+ 13255 - 12288: 0xA2E1,
+ 13256 - 12288: 0xA7BC,
+ 13257 - 12288: 0xA7ED,
+ 13258 - 12288: 0xA7B5,
+ 13263 - 12288: 0xA7B9,
+ 13264 - 12288: 0xA7EA,
+ 13267 - 12288: 0xA7EB,
+ 13270 - 12288: 0xA7DF,
+ 13272 - 12288: 0xA2E4,
+ 13275 - 12288: 0xA7E4,
+ 13276 - 12288: 0xA7EE,
+ 13277 - 12288: 0xA7E9,
+}
+
+const encode4Low, encode4High = 161, 1106
+
+var encode4 = [...]uint16{
+ 161 - 161: 0xA2AE,
+ 164 - 161: 0xA2B4,
+ 167 - 161: 0xA1D7,
+ 168 - 161: 0xA1A7,
+ 170 - 161: 0xA8A3,
+ 173 - 161: 0xA1A9,
+ 174 - 161: 0xA2E7,
+ 176 - 161: 0xA1C6,
+ 177 - 161: 0xA1BE,
+ 178 - 161: 0xA9F7,
+ 179 - 161: 0xA9F8,
+ 180 - 161: 0xA2A5,
+ 182 - 161: 0xA2D2,
+ 183 - 161: 0xA1A4,
+ 184 - 161: 0xA2AC,
+ 185 - 161: 0xA9F6,
+ 186 - 161: 0xA8AC,
+ 188 - 161: 0xA8F9,
+ 189 - 161: 0xA8F6,
+ 190 - 161: 0xA8FA,
+ 191 - 161: 0xA2AF,
+ 198 - 161: 0xA8A1,
+ 208 - 161: 0xA8A2,
+ 215 - 161: 0xA1BF,
+ 216 - 161: 0xA8AA,
+ 222 - 161: 0xA8AD,
+ 223 - 161: 0xA9AC,
+ 230 - 161: 0xA9A1,
+ 240 - 161: 0xA9A3,
+ 247 - 161: 0xA1C0,
+ 248 - 161: 0xA9AA,
+ 254 - 161: 0xA9AD,
+ 273 - 161: 0xA9A2,
+ 294 - 161: 0xA8A4,
+ 295 - 161: 0xA9A4,
+ 305 - 161: 0xA9A5,
+ 306 - 161: 0xA8A6,
+ 307 - 161: 0xA9A6,
+ 312 - 161: 0xA9A7,
+ 319 - 161: 0xA8A8,
+ 320 - 161: 0xA9A8,
+ 321 - 161: 0xA8A9,
+ 322 - 161: 0xA9A9,
+ 329 - 161: 0xA9B0,
+ 330 - 161: 0xA8AF,
+ 331 - 161: 0xA9AF,
+ 338 - 161: 0xA8AB,
+ 339 - 161: 0xA9AB,
+ 358 - 161: 0xA8AE,
+ 359 - 161: 0xA9AE,
+ 711 - 161: 0xA2A7,
+ 720 - 161: 0xA2B0,
+ 728 - 161: 0xA2A8,
+ 729 - 161: 0xA2AB,
+ 730 - 161: 0xA2AA,
+ 731 - 161: 0xA2AD,
+ 733 - 161: 0xA2A9,
+ 913 - 161: 0xA5C1,
+ 914 - 161: 0xA5C2,
+ 915 - 161: 0xA5C3,
+ 916 - 161: 0xA5C4,
+ 917 - 161: 0xA5C5,
+ 918 - 161: 0xA5C6,
+ 919 - 161: 0xA5C7,
+ 920 - 161: 0xA5C8,
+ 921 - 161: 0xA5C9,
+ 922 - 161: 0xA5CA,
+ 923 - 161: 0xA5CB,
+ 924 - 161: 0xA5CC,
+ 925 - 161: 0xA5CD,
+ 926 - 161: 0xA5CE,
+ 927 - 161: 0xA5CF,
+ 928 - 161: 0xA5D0,
+ 929 - 161: 0xA5D1,
+ 931 - 161: 0xA5D2,
+ 932 - 161: 0xA5D3,
+ 933 - 161: 0xA5D4,
+ 934 - 161: 0xA5D5,
+ 935 - 161: 0xA5D6,
+ 936 - 161: 0xA5D7,
+ 937 - 161: 0xA5D8,
+ 945 - 161: 0xA5E1,
+ 946 - 161: 0xA5E2,
+ 947 - 161: 0xA5E3,
+ 948 - 161: 0xA5E4,
+ 949 - 161: 0xA5E5,
+ 950 - 161: 0xA5E6,
+ 951 - 161: 0xA5E7,
+ 952 - 161: 0xA5E8,
+ 953 - 161: 0xA5E9,
+ 954 - 161: 0xA5EA,
+ 955 - 161: 0xA5EB,
+ 956 - 161: 0xA5EC,
+ 957 - 161: 0xA5ED,
+ 958 - 161: 0xA5EE,
+ 959 - 161: 0xA5EF,
+ 960 - 161: 0xA5F0,
+ 961 - 161: 0xA5F1,
+ 963 - 161: 0xA5F2,
+ 964 - 161: 0xA5F3,
+ 965 - 161: 0xA5F4,
+ 966 - 161: 0xA5F5,
+ 967 - 161: 0xA5F6,
+ 968 - 161: 0xA5F7,
+ 969 - 161: 0xA5F8,
+ 1025 - 161: 0xACA7,
+ 1040 - 161: 0xACA1,
+ 1041 - 161: 0xACA2,
+ 1042 - 161: 0xACA3,
+ 1043 - 161: 0xACA4,
+ 1044 - 161: 0xACA5,
+ 1045 - 161: 0xACA6,
+ 1046 - 161: 0xACA8,
+ 1047 - 161: 0xACA9,
+ 1048 - 161: 0xACAA,
+ 1049 - 161: 0xACAB,
+ 1050 - 161: 0xACAC,
+ 1051 - 161: 0xACAD,
+ 1052 - 161: 0xACAE,
+ 1053 - 161: 0xACAF,
+ 1054 - 161: 0xACB0,
+ 1055 - 161: 0xACB1,
+ 1056 - 161: 0xACB2,
+ 1057 - 161: 0xACB3,
+ 1058 - 161: 0xACB4,
+ 1059 - 161: 0xACB5,
+ 1060 - 161: 0xACB6,
+ 1061 - 161: 0xACB7,
+ 1062 - 161: 0xACB8,
+ 1063 - 161: 0xACB9,
+ 1064 - 161: 0xACBA,
+ 1065 - 161: 0xACBB,
+ 1066 - 161: 0xACBC,
+ 1067 - 161: 0xACBD,
+ 1068 - 161: 0xACBE,
+ 1069 - 161: 0xACBF,
+ 1070 - 161: 0xACC0,
+ 1071 - 161: 0xACC1,
+ 1072 - 161: 0xACD1,
+ 1073 - 161: 0xACD2,
+ 1074 - 161: 0xACD3,
+ 1075 - 161: 0xACD4,
+ 1076 - 161: 0xACD5,
+ 1077 - 161: 0xACD6,
+ 1078 - 161: 0xACD8,
+ 1079 - 161: 0xACD9,
+ 1080 - 161: 0xACDA,
+ 1081 - 161: 0xACDB,
+ 1082 - 161: 0xACDC,
+ 1083 - 161: 0xACDD,
+ 1084 - 161: 0xACDE,
+ 1085 - 161: 0xACDF,
+ 1086 - 161: 0xACE0,
+ 1087 - 161: 0xACE1,
+ 1088 - 161: 0xACE2,
+ 1089 - 161: 0xACE3,
+ 1090 - 161: 0xACE4,
+ 1091 - 161: 0xACE5,
+ 1092 - 161: 0xACE6,
+ 1093 - 161: 0xACE7,
+ 1094 - 161: 0xACE8,
+ 1095 - 161: 0xACE9,
+ 1096 - 161: 0xACEA,
+ 1097 - 161: 0xACEB,
+ 1098 - 161: 0xACEC,
+ 1099 - 161: 0xACED,
+ 1100 - 161: 0xACEE,
+ 1101 - 161: 0xACEF,
+ 1102 - 161: 0xACF0,
+ 1103 - 161: 0xACF1,
+ 1105 - 161: 0xACD7,
+}
+
+const encode5Low, encode5High = 63744, 64012
+
+var encode5 = [...]uint16{
+ 63744 - 63744: 0xCBD0,
+ 63745 - 63744: 0xCBD6,
+ 63746 - 63744: 0xCBE7,
+ 63747 - 63744: 0xCDCF,
+ 63748 - 63744: 0xCDE8,
+ 63749 - 63744: 0xCEAD,
+ 63750 - 63744: 0xCFFB,
+ 63751 - 63744: 0xD0A2,
+ 63752 - 63744: 0xD0B8,
+ 63753 - 63744: 0xD0D0,
+ 63754 - 63744: 0xD0DD,
+ 63755 - 63744: 0xD1D4,
+ 63756 - 63744: 0xD1D5,
+ 63757 - 63744: 0xD1D8,
+ 63758 - 63744: 0xD1DB,
+ 63759 - 63744: 0xD1DC,
+ 63760 - 63744: 0xD1DD,
+ 63761 - 63744: 0xD1DE,
+ 63762 - 63744: 0xD1DF,
+ 63763 - 63744: 0xD1E0,
+ 63764 - 63744: 0xD1E2,
+ 63765 - 63744: 0xD1E3,
+ 63766 - 63744: 0xD1E4,
+ 63767 - 63744: 0xD1E5,
+ 63768 - 63744: 0xD1E6,
+ 63769 - 63744: 0xD1E8,
+ 63770 - 63744: 0xD1E9,
+ 63771 - 63744: 0xD1EA,
+ 63772 - 63744: 0xD1EB,
+ 63773 - 63744: 0xD1ED,
+ 63774 - 63744: 0xD1EF,
+ 63775 - 63744: 0xD1F0,
+ 63776 - 63744: 0xD1F2,
+ 63777 - 63744: 0xD1F6,
+ 63778 - 63744: 0xD1FA,
+ 63779 - 63744: 0xD1FC,
+ 63780 - 63744: 0xD1FD,
+ 63781 - 63744: 0xD1FE,
+ 63782 - 63744: 0xD2A2,
+ 63783 - 63744: 0xD2A3,
+ 63784 - 63744: 0xD2A7,
+ 63785 - 63744: 0xD2A8,
+ 63786 - 63744: 0xD2A9,
+ 63787 - 63744: 0xD2AA,
+ 63788 - 63744: 0xD2AB,
+ 63789 - 63744: 0xD2AD,
+ 63790 - 63744: 0xD2B2,
+ 63791 - 63744: 0xD2BE,
+ 63792 - 63744: 0xD2C2,
+ 63793 - 63744: 0xD2C3,
+ 63794 - 63744: 0xD2C4,
+ 63795 - 63744: 0xD2C6,
+ 63796 - 63744: 0xD2C7,
+ 63797 - 63744: 0xD2C8,
+ 63798 - 63744: 0xD2C9,
+ 63799 - 63744: 0xD2CA,
+ 63800 - 63744: 0xD2CB,
+ 63801 - 63744: 0xD2CD,
+ 63802 - 63744: 0xD2CE,
+ 63803 - 63744: 0xD2CF,
+ 63804 - 63744: 0xD2D0,
+ 63805 - 63744: 0xD2D1,
+ 63806 - 63744: 0xD2D2,
+ 63807 - 63744: 0xD2D3,
+ 63808 - 63744: 0xD2D4,
+ 63809 - 63744: 0xD2D5,
+ 63810 - 63744: 0xD2D6,
+ 63811 - 63744: 0xD2D7,
+ 63812 - 63744: 0xD2D9,
+ 63813 - 63744: 0xD2DA,
+ 63814 - 63744: 0xD2DE,
+ 63815 - 63744: 0xD2DF,
+ 63816 - 63744: 0xD2E1,
+ 63817 - 63744: 0xD2E2,
+ 63818 - 63744: 0xD2E4,
+ 63819 - 63744: 0xD2E5,
+ 63820 - 63744: 0xD2E6,
+ 63821 - 63744: 0xD2E7,
+ 63822 - 63744: 0xD2E8,
+ 63823 - 63744: 0xD2E9,
+ 63824 - 63744: 0xD2EA,
+ 63825 - 63744: 0xD2EB,
+ 63826 - 63744: 0xD2F0,
+ 63827 - 63744: 0xD2F1,
+ 63828 - 63744: 0xD2F2,
+ 63829 - 63744: 0xD2F3,
+ 63830 - 63744: 0xD2F4,
+ 63831 - 63744: 0xD2F5,
+ 63832 - 63744: 0xD2F7,
+ 63833 - 63744: 0xD2F8,
+ 63834 - 63744: 0xD4E6,
+ 63835 - 63744: 0xD4FC,
+ 63836 - 63744: 0xD5A5,
+ 63837 - 63744: 0xD5AB,
+ 63838 - 63744: 0xD5AE,
+ 63839 - 63744: 0xD6B8,
+ 63840 - 63744: 0xD6CD,
+ 63841 - 63744: 0xD7CB,
+ 63842 - 63744: 0xD7E4,
+ 63843 - 63744: 0xDBC5,
+ 63844 - 63744: 0xDBE4,
+ 63845 - 63744: 0xDCA5,
+ 63846 - 63744: 0xDDA5,
+ 63847 - 63744: 0xDDD5,
+ 63848 - 63744: 0xDDF4,
+ 63849 - 63744: 0xDEFC,
+ 63850 - 63744: 0xDEFE,
+ 63851 - 63744: 0xDFB3,
+ 63852 - 63744: 0xDFE1,
+ 63853 - 63744: 0xDFE8,
+ 63854 - 63744: 0xE0F1,
+ 63855 - 63744: 0xE1AD,
+ 63856 - 63744: 0xE1ED,
+ 63857 - 63744: 0xE3F5,
+ 63858 - 63744: 0xE4A1,
+ 63859 - 63744: 0xE4A9,
+ 63860 - 63744: 0xE5AE,
+ 63861 - 63744: 0xE5B1,
+ 63862 - 63744: 0xE5B2,
+ 63863 - 63744: 0xE5B9,
+ 63864 - 63744: 0xE5BB,
+ 63865 - 63744: 0xE5BC,
+ 63866 - 63744: 0xE5C4,
+ 63867 - 63744: 0xE5CE,
+ 63868 - 63744: 0xE5D0,
+ 63869 - 63744: 0xE5D2,
+ 63870 - 63744: 0xE5D6,
+ 63871 - 63744: 0xE5FA,
+ 63872 - 63744: 0xE5FB,
+ 63873 - 63744: 0xE5FC,
+ 63874 - 63744: 0xE5FE,
+ 63875 - 63744: 0xE6A1,
+ 63876 - 63744: 0xE6A4,
+ 63877 - 63744: 0xE6A7,
+ 63878 - 63744: 0xE6AD,
+ 63879 - 63744: 0xE6AF,
+ 63880 - 63744: 0xE6B0,
+ 63881 - 63744: 0xE6B1,
+ 63882 - 63744: 0xE6B3,
+ 63883 - 63744: 0xE6B7,
+ 63884 - 63744: 0xE6B8,
+ 63885 - 63744: 0xE6BC,
+ 63886 - 63744: 0xE6C4,
+ 63887 - 63744: 0xE6C6,
+ 63888 - 63744: 0xE6C7,
+ 63889 - 63744: 0xE6CA,
+ 63890 - 63744: 0xE6D2,
+ 63891 - 63744: 0xE6D6,
+ 63892 - 63744: 0xE6D9,
+ 63893 - 63744: 0xE6DC,
+ 63894 - 63744: 0xE6DF,
+ 63895 - 63744: 0xE6E1,
+ 63896 - 63744: 0xE6E4,
+ 63897 - 63744: 0xE6E5,
+ 63898 - 63744: 0xE6E6,
+ 63899 - 63744: 0xE6E8,
+ 63900 - 63744: 0xE6EA,
+ 63901 - 63744: 0xE6EB,
+ 63902 - 63744: 0xE6EC,
+ 63903 - 63744: 0xE6EF,
+ 63904 - 63744: 0xE6F1,
+ 63905 - 63744: 0xE6F2,
+ 63906 - 63744: 0xE6F5,
+ 63907 - 63744: 0xE6F6,
+ 63908 - 63744: 0xE6F7,
+ 63909 - 63744: 0xE6F9,
+ 63910 - 63744: 0xE7A1,
+ 63911 - 63744: 0xE7A6,
+ 63912 - 63744: 0xE7A9,
+ 63913 - 63744: 0xE7AA,
+ 63914 - 63744: 0xE7AC,
+ 63915 - 63744: 0xE7AD,
+ 63916 - 63744: 0xE7B0,
+ 63917 - 63744: 0xE7BF,
+ 63918 - 63744: 0xE7C1,
+ 63919 - 63744: 0xE7C6,
+ 63920 - 63744: 0xE7C7,
+ 63921 - 63744: 0xE7CB,
+ 63922 - 63744: 0xE7CD,
+ 63923 - 63744: 0xE7CF,
+ 63924 - 63744: 0xE7D0,
+ 63925 - 63744: 0xE7D3,
+ 63926 - 63744: 0xE7DF,
+ 63927 - 63744: 0xE7E4,
+ 63928 - 63744: 0xE7E6,
+ 63929 - 63744: 0xE7F7,
+ 63930 - 63744: 0xE8E7,
+ 63931 - 63744: 0xE8E8,
+ 63932 - 63744: 0xE8F0,
+ 63933 - 63744: 0xE8F1,
+ 63934 - 63744: 0xE8F7,
+ 63935 - 63744: 0xE8F9,
+ 63936 - 63744: 0xE8FB,
+ 63937 - 63744: 0xE8FE,
+ 63938 - 63744: 0xE9A7,
+ 63939 - 63744: 0xE9AC,
+ 63940 - 63744: 0xE9CC,
+ 63941 - 63744: 0xE9F7,
+ 63942 - 63744: 0xEAC1,
+ 63943 - 63744: 0xEAE5,
+ 63944 - 63744: 0xEAF4,
+ 63945 - 63744: 0xEAF7,
+ 63946 - 63744: 0xEAFC,
+ 63947 - 63744: 0xEAFE,
+ 63948 - 63744: 0xEBA4,
+ 63949 - 63744: 0xEBA7,
+ 63950 - 63744: 0xEBA9,
+ 63951 - 63744: 0xEBAA,
+ 63952 - 63744: 0xEBBA,
+ 63953 - 63744: 0xEBBB,
+ 63954 - 63744: 0xEBBD,
+ 63955 - 63744: 0xEBC1,
+ 63956 - 63744: 0xEBC2,
+ 63957 - 63744: 0xEBC6,
+ 63958 - 63744: 0xEBC7,
+ 63959 - 63744: 0xEBCC,
+ 63960 - 63744: 0xEBCF,
+ 63961 - 63744: 0xEBD0,
+ 63962 - 63744: 0xEBD1,
+ 63963 - 63744: 0xEBD2,
+ 63964 - 63744: 0xEBD8,
+ 63965 - 63744: 0xECA6,
+ 63966 - 63744: 0xECA7,
+ 63967 - 63744: 0xECAA,
+ 63968 - 63744: 0xECAF,
+ 63969 - 63744: 0xECB0,
+ 63970 - 63744: 0xECB1,
+ 63971 - 63744: 0xECB2,
+ 63972 - 63744: 0xECB5,
+ 63973 - 63744: 0xECB8,
+ 63974 - 63744: 0xECBA,
+ 63975 - 63744: 0xECC0,
+ 63976 - 63744: 0xECC1,
+ 63977 - 63744: 0xECC5,
+ 63978 - 63744: 0xECC6,
+ 63979 - 63744: 0xECC9,
+ 63980 - 63744: 0xECCA,
+ 63981 - 63744: 0xECD5,
+ 63982 - 63744: 0xECDD,
+ 63983 - 63744: 0xECDE,
+ 63984 - 63744: 0xECE1,
+ 63985 - 63744: 0xECE4,
+ 63986 - 63744: 0xECE7,
+ 63987 - 63744: 0xECE8,
+ 63988 - 63744: 0xECF7,
+ 63989 - 63744: 0xECF8,
+ 63990 - 63744: 0xECFA,
+ 63991 - 63744: 0xEDA1,
+ 63992 - 63744: 0xEDA2,
+ 63993 - 63744: 0xEDA3,
+ 63994 - 63744: 0xEDEE,
+ 63995 - 63744: 0xEEDB,
+ 63996 - 63744: 0xF2BD,
+ 63997 - 63744: 0xF2FA,
+ 63998 - 63744: 0xF3B1,
+ 63999 - 63744: 0xF4A7,
+ 64000 - 63744: 0xF4EE,
+ 64001 - 63744: 0xF6F4,
+ 64002 - 63744: 0xF6F6,
+ 64003 - 63744: 0xF7B8,
+ 64004 - 63744: 0xF7C8,
+ 64005 - 63744: 0xF7D3,
+ 64006 - 63744: 0xF8DB,
+ 64007 - 63744: 0xF8F0,
+ 64008 - 63744: 0xFAA1,
+ 64009 - 63744: 0xFAA2,
+ 64010 - 63744: 0xFAE6,
+ 64011 - 63744: 0xFCA9,
+}
+
+const encode6Low, encode6High = 65281, 65511
+
+var encode6 = [...]uint16{
+ 65281 - 65281: 0xA3A1,
+ 65282 - 65281: 0xA3A2,
+ 65283 - 65281: 0xA3A3,
+ 65284 - 65281: 0xA3A4,
+ 65285 - 65281: 0xA3A5,
+ 65286 - 65281: 0xA3A6,
+ 65287 - 65281: 0xA3A7,
+ 65288 - 65281: 0xA3A8,
+ 65289 - 65281: 0xA3A9,
+ 65290 - 65281: 0xA3AA,
+ 65291 - 65281: 0xA3AB,
+ 65292 - 65281: 0xA3AC,
+ 65293 - 65281: 0xA3AD,
+ 65294 - 65281: 0xA3AE,
+ 65295 - 65281: 0xA3AF,
+ 65296 - 65281: 0xA3B0,
+ 65297 - 65281: 0xA3B1,
+ 65298 - 65281: 0xA3B2,
+ 65299 - 65281: 0xA3B3,
+ 65300 - 65281: 0xA3B4,
+ 65301 - 65281: 0xA3B5,
+ 65302 - 65281: 0xA3B6,
+ 65303 - 65281: 0xA3B7,
+ 65304 - 65281: 0xA3B8,
+ 65305 - 65281: 0xA3B9,
+ 65306 - 65281: 0xA3BA,
+ 65307 - 65281: 0xA3BB,
+ 65308 - 65281: 0xA3BC,
+ 65309 - 65281: 0xA3BD,
+ 65310 - 65281: 0xA3BE,
+ 65311 - 65281: 0xA3BF,
+ 65312 - 65281: 0xA3C0,
+ 65313 - 65281: 0xA3C1,
+ 65314 - 65281: 0xA3C2,
+ 65315 - 65281: 0xA3C3,
+ 65316 - 65281: 0xA3C4,
+ 65317 - 65281: 0xA3C5,
+ 65318 - 65281: 0xA3C6,
+ 65319 - 65281: 0xA3C7,
+ 65320 - 65281: 0xA3C8,
+ 65321 - 65281: 0xA3C9,
+ 65322 - 65281: 0xA3CA,
+ 65323 - 65281: 0xA3CB,
+ 65324 - 65281: 0xA3CC,
+ 65325 - 65281: 0xA3CD,
+ 65326 - 65281: 0xA3CE,
+ 65327 - 65281: 0xA3CF,
+ 65328 - 65281: 0xA3D0,
+ 65329 - 65281: 0xA3D1,
+ 65330 - 65281: 0xA3D2,
+ 65331 - 65281: 0xA3D3,
+ 65332 - 65281: 0xA3D4,
+ 65333 - 65281: 0xA3D5,
+ 65334 - 65281: 0xA3D6,
+ 65335 - 65281: 0xA3D7,
+ 65336 - 65281: 0xA3D8,
+ 65337 - 65281: 0xA3D9,
+ 65338 - 65281: 0xA3DA,
+ 65339 - 65281: 0xA3DB,
+ 65340 - 65281: 0xA1AC,
+ 65341 - 65281: 0xA3DD,
+ 65342 - 65281: 0xA3DE,
+ 65343 - 65281: 0xA3DF,
+ 65344 - 65281: 0xA3E0,
+ 65345 - 65281: 0xA3E1,
+ 65346 - 65281: 0xA3E2,
+ 65347 - 65281: 0xA3E3,
+ 65348 - 65281: 0xA3E4,
+ 65349 - 65281: 0xA3E5,
+ 65350 - 65281: 0xA3E6,
+ 65351 - 65281: 0xA3E7,
+ 65352 - 65281: 0xA3E8,
+ 65353 - 65281: 0xA3E9,
+ 65354 - 65281: 0xA3EA,
+ 65355 - 65281: 0xA3EB,
+ 65356 - 65281: 0xA3EC,
+ 65357 - 65281: 0xA3ED,
+ 65358 - 65281: 0xA3EE,
+ 65359 - 65281: 0xA3EF,
+ 65360 - 65281: 0xA3F0,
+ 65361 - 65281: 0xA3F1,
+ 65362 - 65281: 0xA3F2,
+ 65363 - 65281: 0xA3F3,
+ 65364 - 65281: 0xA3F4,
+ 65365 - 65281: 0xA3F5,
+ 65366 - 65281: 0xA3F6,
+ 65367 - 65281: 0xA3F7,
+ 65368 - 65281: 0xA3F8,
+ 65369 - 65281: 0xA3F9,
+ 65370 - 65281: 0xA3FA,
+ 65371 - 65281: 0xA3FB,
+ 65372 - 65281: 0xA3FC,
+ 65373 - 65281: 0xA3FD,
+ 65374 - 65281: 0xA2A6,
+ 65504 - 65281: 0xA1CB,
+ 65505 - 65281: 0xA1CC,
+ 65506 - 65281: 0xA1FE,
+ 65507 - 65281: 0xA3FE,
+ 65509 - 65281: 0xA1CD,
+ 65510 - 65281: 0xA3DC,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go
new file mode 100644
index 00000000..5ecc526c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go
@@ -0,0 +1,12 @@
+// 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 simplifiedchinese
+
+import (
+ "golang.org/x/text/encoding"
+)
+
+// All is a list of all defined encodings in this package.
+var All = []encoding.Encoding{GB18030, GBK, HZGB2312}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
new file mode 100644
index 00000000..b89c45b0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
@@ -0,0 +1,269 @@
+// 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 simplifiedchinese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+var (
+ // GB18030 is the GB18030 encoding.
+ GB18030 encoding.Encoding = &gbk18030
+ // GBK is the GBK encoding. It encodes an extension of the GB2312 character set
+ // and is also known as Code Page 936.
+ GBK encoding.Encoding = &gbk
+)
+
+var gbk = internal.Encoding{
+ &internal.SimpleEncoding{
+ gbkDecoder{gb18030: false},
+ gbkEncoder{gb18030: false},
+ },
+ "GBK",
+ identifier.GBK,
+}
+
+var gbk18030 = internal.Encoding{
+ &internal.SimpleEncoding{
+ gbkDecoder{gb18030: true},
+ gbkEncoder{gb18030: true},
+ },
+ "GB18030",
+ identifier.GB18030,
+}
+
+type gbkDecoder struct {
+ transform.NopResetter
+ gb18030 bool
+}
+
+func (d gbkDecoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ switch c0 := src[nSrc]; {
+ case c0 < utf8.RuneSelf:
+ r, size = rune(c0), 1
+
+ // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC
+ // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk
+ // says to treat "gbk" as Code Page 936.
+ case c0 == 0x80:
+ r, size = '€', 1
+
+ case c0 < 0xff:
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ c1 := src[nSrc+1]
+ switch {
+ case 0x40 <= c1 && c1 < 0x7f:
+ c1 -= 0x40
+ case 0x80 <= c1 && c1 < 0xff:
+ c1 -= 0x41
+ case d.gb18030 && 0x30 <= c1 && c1 < 0x40:
+ if nSrc+3 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ // The second byte here is always ASCII, so we can set size
+ // to 1 in all cases.
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ c2 := src[nSrc+2]
+ if c2 < 0x81 || 0xff <= c2 {
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ c3 := src[nSrc+3]
+ if c3 < 0x30 || 0x3a <= c3 {
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ size = 4
+ r = ((rune(c0-0x81)*10+rune(c1-0x30))*126+rune(c2-0x81))*10 + rune(c3-0x30)
+ if r < 39420 {
+ i, j := 0, len(gb18030)
+ for i < j {
+ h := i + (j-i)/2
+ if r >= rune(gb18030[h][0]) {
+ i = h + 1
+ } else {
+ j = h
+ }
+ }
+ dec := &gb18030[i-1]
+ r += rune(dec[1]) - rune(dec[0])
+ goto write
+ }
+ r -= 189000
+ if 0 <= r && r < 0x100000 {
+ r += 0x10000
+ } else {
+ r, size = utf8.RuneError, 1
+ }
+ goto write
+ default:
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ r, size = '\ufffd', 2
+ if i := int(c0-0x81)*190 + int(c1); i < len(decode) {
+ r = rune(decode[i])
+ if r == 0 {
+ r = '\ufffd'
+ }
+ }
+
+ default:
+ r, size = utf8.RuneError, 1
+ }
+
+ write:
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type gbkEncoder struct {
+ transform.NopResetter
+ gb18030 bool
+}
+
+func (e gbkEncoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, r2, size := rune(0), rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r2 = rune(encode0[r-encode0Low]); r2 != 0 {
+ goto write2
+ }
+ case encode1Low <= r && r < encode1High:
+ // Microsoft's Code Page 936 extends GBK 1.0 to encode the euro sign U+20AC
+ // as 0x80. The HTML5 specification at http://encoding.spec.whatwg.org/#gbk
+ // says to treat "gbk" as Code Page 936.
+ if r == '€' {
+ r = 0x80
+ goto write1
+ }
+ if r2 = rune(encode1[r-encode1Low]); r2 != 0 {
+ goto write2
+ }
+ case encode2Low <= r && r < encode2High:
+ if r2 = rune(encode2[r-encode2Low]); r2 != 0 {
+ goto write2
+ }
+ case encode3Low <= r && r < encode3High:
+ if r2 = rune(encode3[r-encode3Low]); r2 != 0 {
+ goto write2
+ }
+ case encode4Low <= r && r < encode4High:
+ if r2 = rune(encode4[r-encode4Low]); r2 != 0 {
+ goto write2
+ }
+ }
+
+ if e.gb18030 {
+ if r < 0x10000 {
+ i, j := 0, len(gb18030)
+ for i < j {
+ h := i + (j-i)/2
+ if r >= rune(gb18030[h][1]) {
+ i = h + 1
+ } else {
+ j = h
+ }
+ }
+ dec := &gb18030[i-1]
+ r += rune(dec[0]) - rune(dec[1])
+ goto write4
+ } else if r < 0x110000 {
+ r += 189000 - 0x10000
+ goto write4
+ }
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ write1:
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ write2:
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = uint8(r2 >> 8)
+ dst[nDst+1] = uint8(r2)
+ nDst += 2
+ continue
+
+ write4:
+ if nDst+4 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+3] = uint8(r%10 + 0x30)
+ r /= 10
+ dst[nDst+2] = uint8(r%126 + 0x81)
+ r /= 126
+ dst[nDst+1] = uint8(r%10 + 0x30)
+ r /= 10
+ dst[nDst+0] = uint8(r + 0x81)
+ nDst += 4
+ continue
+ }
+ return nDst, nSrc, err
+}
+
+func init() {
+ // Check that the hard-coded encode switch covers all tables.
+ if numEncodeTables != 5 {
+ panic("bad numEncodeTables")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
new file mode 100644
index 00000000..eb3157f0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
@@ -0,0 +1,245 @@
+// 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 simplifiedchinese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// HZGB2312 is the HZ-GB2312 encoding.
+var HZGB2312 encoding.Encoding = &hzGB2312
+
+var hzGB2312 = internal.Encoding{
+ internal.FuncEncoding{hzGB2312NewDecoder, hzGB2312NewEncoder},
+ "HZ-GB2312",
+ identifier.HZGB2312,
+}
+
+func hzGB2312NewDecoder() transform.Transformer {
+ return new(hzGB2312Decoder)
+}
+
+func hzGB2312NewEncoder() transform.Transformer {
+ return new(hzGB2312Encoder)
+}
+
+const (
+ asciiState = iota
+ gbState
+)
+
+type hzGB2312Decoder int
+
+func (d *hzGB2312Decoder) Reset() {
+ *d = asciiState
+}
+
+func (d *hzGB2312Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ c0 := src[nSrc]
+ if c0 >= utf8.RuneSelf {
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+
+ if c0 == '~' {
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r = utf8.RuneError
+ goto write
+ }
+ size = 2
+ switch src[nSrc+1] {
+ case '{':
+ *d = gbState
+ continue
+ case '}':
+ *d = asciiState
+ continue
+ case '~':
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ dst[nDst] = '~'
+ nDst++
+ continue
+ case '\n':
+ continue
+ default:
+ r = utf8.RuneError
+ goto write
+ }
+ }
+
+ if *d == asciiState {
+ r, size = rune(c0), 1
+ } else {
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ size = 2
+ c1 := src[nSrc+1]
+ if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 {
+ // error
+ } else if i := int(c0-0x01)*190 + int(c1+0x3f); i < len(decode) {
+ r = rune(decode[i])
+ if r != 0 {
+ goto write
+ }
+ }
+ if c1 > utf8.RuneSelf {
+ // Be consistent and always treat non-ASCII as a single error.
+ size = 1
+ }
+ r = utf8.RuneError
+ }
+
+ write:
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ }
+ return nDst, nSrc, err
+}
+
+type hzGB2312Encoder int
+
+func (d *hzGB2312Encoder) Reset() {
+ *d = asciiState
+}
+
+func (e *hzGB2312Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+ if r == '~' {
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = '~'
+ dst[nDst+1] = '~'
+ nDst += 2
+ continue
+ } else if *e != asciiState {
+ if nDst+3 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = asciiState
+ dst[nDst+0] = '~'
+ dst[nDst+1] = '}'
+ nDst += 2
+ } else if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst += 1
+ continue
+
+ }
+
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r != 0 {
+ goto writeGB
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r != 0 {
+ goto writeGB
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r != 0 {
+ goto writeGB
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r != 0 {
+ goto writeGB
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r != 0 {
+ goto writeGB
+ }
+ }
+
+ terminateInASCIIState:
+ // Switch back to ASCII state in case of error so that an ASCII
+ // replacement character can be written in the correct state.
+ if *e != asciiState {
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = '~'
+ dst[nDst+1] = '}'
+ nDst += 2
+ }
+ err = internal.ErrASCIIReplacement
+ break
+
+ writeGB:
+ c0 := uint8(r>>8) - 0x80
+ c1 := uint8(r) - 0x80
+ if c0 < 0x21 || 0x7e <= c0 || c1 < 0x21 || 0x7f <= c1 {
+ goto terminateInASCIIState
+ }
+ if *e == asciiState {
+ if nDst+4 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ *e = gbState
+ dst[nDst+0] = '~'
+ dst[nDst+1] = '{'
+ nDst += 2
+ } else if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = c0
+ dst[nDst+1] = c1
+ nDst += 2
+ continue
+ }
+ // TODO: should one always terminate in ASCII state to make it safe to
+ // concatenate two HZ-GB2312-encoded strings?
+ return nDst, nSrc, err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go
new file mode 100644
index 00000000..415f52a1
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go
@@ -0,0 +1,43999 @@
+// generated by go run maketables.go; DO NOT EDIT
+
+// Package simplifiedchinese provides Simplified Chinese encodings such as GBK.
+package simplifiedchinese // import "golang.org/x/text/encoding/simplifiedchinese"
+
+// gb18030 is the table from http://encoding.spec.whatwg.org/index-gb18030.txt
+var gb18030 = [...][2]uint16{
+ {0x0000, 0x0080},
+ {0x0024, 0x00a5},
+ {0x0026, 0x00a9},
+ {0x002d, 0x00b2},
+ {0x0032, 0x00b8},
+ {0x0051, 0x00d8},
+ {0x0059, 0x00e2},
+ {0x005f, 0x00eb},
+ {0x0060, 0x00ee},
+ {0x0064, 0x00f4},
+ {0x0067, 0x00f8},
+ {0x0068, 0x00fb},
+ {0x0069, 0x00fd},
+ {0x006d, 0x0102},
+ {0x007e, 0x0114},
+ {0x0085, 0x011c},
+ {0x0094, 0x012c},
+ {0x00ac, 0x0145},
+ {0x00af, 0x0149},
+ {0x00b3, 0x014e},
+ {0x00d0, 0x016c},
+ {0x0132, 0x01cf},
+ {0x0133, 0x01d1},
+ {0x0134, 0x01d3},
+ {0x0135, 0x01d5},
+ {0x0136, 0x01d7},
+ {0x0137, 0x01d9},
+ {0x0138, 0x01db},
+ {0x0139, 0x01dd},
+ {0x0155, 0x01fa},
+ {0x01ac, 0x0252},
+ {0x01bb, 0x0262},
+ {0x0220, 0x02c8},
+ {0x0221, 0x02cc},
+ {0x022e, 0x02da},
+ {0x02e5, 0x03a2},
+ {0x02e6, 0x03aa},
+ {0x02ed, 0x03c2},
+ {0x02ee, 0x03ca},
+ {0x0325, 0x0402},
+ {0x0333, 0x0450},
+ {0x0334, 0x0452},
+ {0x1ef2, 0x2011},
+ {0x1ef4, 0x2017},
+ {0x1ef5, 0x201a},
+ {0x1ef7, 0x201e},
+ {0x1efe, 0x2027},
+ {0x1f07, 0x2031},
+ {0x1f08, 0x2034},
+ {0x1f09, 0x2036},
+ {0x1f0e, 0x203c},
+ {0x1f7e, 0x20ad},
+ {0x1fd4, 0x2104},
+ {0x1fd5, 0x2106},
+ {0x1fd8, 0x210a},
+ {0x1fe4, 0x2117},
+ {0x1fee, 0x2122},
+ {0x202c, 0x216c},
+ {0x2030, 0x217a},
+ {0x2046, 0x2194},
+ {0x2048, 0x219a},
+ {0x20b6, 0x2209},
+ {0x20bc, 0x2210},
+ {0x20bd, 0x2212},
+ {0x20c0, 0x2216},
+ {0x20c4, 0x221b},
+ {0x20c6, 0x2221},
+ {0x20c8, 0x2224},
+ {0x20c9, 0x2226},
+ {0x20ca, 0x222c},
+ {0x20cc, 0x222f},
+ {0x20d1, 0x2238},
+ {0x20d6, 0x223e},
+ {0x20e0, 0x2249},
+ {0x20e3, 0x224d},
+ {0x20e8, 0x2253},
+ {0x20f5, 0x2262},
+ {0x20f7, 0x2268},
+ {0x20fd, 0x2270},
+ {0x2122, 0x2296},
+ {0x2125, 0x229a},
+ {0x2130, 0x22a6},
+ {0x2149, 0x22c0},
+ {0x219b, 0x2313},
+ {0x22e8, 0x246a},
+ {0x22f2, 0x249c},
+ {0x2356, 0x254c},
+ {0x235a, 0x2574},
+ {0x2367, 0x2590},
+ {0x236a, 0x2596},
+ {0x2374, 0x25a2},
+ {0x2384, 0x25b4},
+ {0x238c, 0x25be},
+ {0x2394, 0x25c8},
+ {0x2397, 0x25cc},
+ {0x2399, 0x25d0},
+ {0x23ab, 0x25e6},
+ {0x23ca, 0x2607},
+ {0x23cc, 0x260a},
+ {0x2402, 0x2641},
+ {0x2403, 0x2643},
+ {0x2c41, 0x2e82},
+ {0x2c43, 0x2e85},
+ {0x2c46, 0x2e89},
+ {0x2c48, 0x2e8d},
+ {0x2c52, 0x2e98},
+ {0x2c61, 0x2ea8},
+ {0x2c63, 0x2eab},
+ {0x2c66, 0x2eaf},
+ {0x2c6a, 0x2eb4},
+ {0x2c6c, 0x2eb8},
+ {0x2c6f, 0x2ebc},
+ {0x2c7d, 0x2ecb},
+ {0x2da2, 0x2ffc},
+ {0x2da6, 0x3004},
+ {0x2da7, 0x3018},
+ {0x2dac, 0x301f},
+ {0x2dae, 0x302a},
+ {0x2dc2, 0x303f},
+ {0x2dc4, 0x3094},
+ {0x2dcb, 0x309f},
+ {0x2dcd, 0x30f7},
+ {0x2dd2, 0x30ff},
+ {0x2dd8, 0x312a},
+ {0x2ece, 0x322a},
+ {0x2ed5, 0x3232},
+ {0x2f46, 0x32a4},
+ {0x3030, 0x3390},
+ {0x303c, 0x339f},
+ {0x303e, 0x33a2},
+ {0x3060, 0x33c5},
+ {0x3069, 0x33cf},
+ {0x306b, 0x33d3},
+ {0x306d, 0x33d6},
+ {0x30de, 0x3448},
+ {0x3109, 0x3474},
+ {0x3233, 0x359f},
+ {0x32a2, 0x360f},
+ {0x32ad, 0x361b},
+ {0x35aa, 0x3919},
+ {0x35ff, 0x396f},
+ {0x365f, 0x39d1},
+ {0x366d, 0x39e0},
+ {0x3700, 0x3a74},
+ {0x37da, 0x3b4f},
+ {0x38f9, 0x3c6f},
+ {0x396a, 0x3ce1},
+ {0x3cdf, 0x4057},
+ {0x3de7, 0x4160},
+ {0x3fbe, 0x4338},
+ {0x4032, 0x43ad},
+ {0x4036, 0x43b2},
+ {0x4061, 0x43de},
+ {0x4159, 0x44d7},
+ {0x42ce, 0x464d},
+ {0x42e2, 0x4662},
+ {0x43a3, 0x4724},
+ {0x43a8, 0x472a},
+ {0x43fa, 0x477d},
+ {0x440a, 0x478e},
+ {0x45c3, 0x4948},
+ {0x45f5, 0x497b},
+ {0x45f7, 0x497e},
+ {0x45fb, 0x4984},
+ {0x45fc, 0x4987},
+ {0x4610, 0x499c},
+ {0x4613, 0x49a0},
+ {0x4629, 0x49b8},
+ {0x48e8, 0x4c78},
+ {0x490f, 0x4ca4},
+ {0x497e, 0x4d1a},
+ {0x4a12, 0x4daf},
+ {0x4a63, 0x9fa6},
+ {0x82bd, 0xe76c},
+ {0x82be, 0xe7c8},
+ {0x82bf, 0xe7e7},
+ {0x82cc, 0xe815},
+ {0x82cd, 0xe819},
+ {0x82d2, 0xe81f},
+ {0x82d9, 0xe827},
+ {0x82dd, 0xe82d},
+ {0x82e1, 0xe833},
+ {0x82e9, 0xe83c},
+ {0x82f0, 0xe844},
+ {0x8300, 0xe856},
+ {0x830e, 0xe865},
+ {0x93d5, 0xf92d},
+ {0x9421, 0xf97a},
+ {0x943c, 0xf996},
+ {0x948d, 0xf9e8},
+ {0x9496, 0xf9f2},
+ {0x94b0, 0xfa10},
+ {0x94b1, 0xfa12},
+ {0x94b2, 0xfa15},
+ {0x94b5, 0xfa19},
+ {0x94bb, 0xfa22},
+ {0x94bc, 0xfa25},
+ {0x94be, 0xfa2a},
+ {0x98c4, 0xfe32},
+ {0x98c5, 0xfe45},
+ {0x98c9, 0xfe53},
+ {0x98ca, 0xfe58},
+ {0x98cb, 0xfe67},
+ {0x98cc, 0xfe6c},
+ {0x9961, 0xff5f},
+ {0x99e2, 0xffe6},
+}
+
+// decode is the decoding table from GBK code to Unicode.
+// It is defined at http://encoding.spec.whatwg.org/index-gbk.txt
+var decode = [...]uint16{
+ 0: 0x4E02,
+ 1: 0x4E04,
+ 2: 0x4E05,
+ 3: 0x4E06,
+ 4: 0x4E0F,
+ 5: 0x4E12,
+ 6: 0x4E17,
+ 7: 0x4E1F,
+ 8: 0x4E20,
+ 9: 0x4E21,
+ 10: 0x4E23,
+ 11: 0x4E26,
+ 12: 0x4E29,
+ 13: 0x4E2E,
+ 14: 0x4E2F,
+ 15: 0x4E31,
+ 16: 0x4E33,
+ 17: 0x4E35,
+ 18: 0x4E37,
+ 19: 0x4E3C,
+ 20: 0x4E40,
+ 21: 0x4E41,
+ 22: 0x4E42,
+ 23: 0x4E44,
+ 24: 0x4E46,
+ 25: 0x4E4A,
+ 26: 0x4E51,
+ 27: 0x4E55,
+ 28: 0x4E57,
+ 29: 0x4E5A,
+ 30: 0x4E5B,
+ 31: 0x4E62,
+ 32: 0x4E63,
+ 33: 0x4E64,
+ 34: 0x4E65,
+ 35: 0x4E67,
+ 36: 0x4E68,
+ 37: 0x4E6A,
+ 38: 0x4E6B,
+ 39: 0x4E6C,
+ 40: 0x4E6D,
+ 41: 0x4E6E,
+ 42: 0x4E6F,
+ 43: 0x4E72,
+ 44: 0x4E74,
+ 45: 0x4E75,
+ 46: 0x4E76,
+ 47: 0x4E77,
+ 48: 0x4E78,
+ 49: 0x4E79,
+ 50: 0x4E7A,
+ 51: 0x4E7B,
+ 52: 0x4E7C,
+ 53: 0x4E7D,
+ 54: 0x4E7F,
+ 55: 0x4E80,
+ 56: 0x4E81,
+ 57: 0x4E82,
+ 58: 0x4E83,
+ 59: 0x4E84,
+ 60: 0x4E85,
+ 61: 0x4E87,
+ 62: 0x4E8A,
+ 63: 0x4E90,
+ 64: 0x4E96,
+ 65: 0x4E97,
+ 66: 0x4E99,
+ 67: 0x4E9C,
+ 68: 0x4E9D,
+ 69: 0x4E9E,
+ 70: 0x4EA3,
+ 71: 0x4EAA,
+ 72: 0x4EAF,
+ 73: 0x4EB0,
+ 74: 0x4EB1,
+ 75: 0x4EB4,
+ 76: 0x4EB6,
+ 77: 0x4EB7,
+ 78: 0x4EB8,
+ 79: 0x4EB9,
+ 80: 0x4EBC,
+ 81: 0x4EBD,
+ 82: 0x4EBE,
+ 83: 0x4EC8,
+ 84: 0x4ECC,
+ 85: 0x4ECF,
+ 86: 0x4ED0,
+ 87: 0x4ED2,
+ 88: 0x4EDA,
+ 89: 0x4EDB,
+ 90: 0x4EDC,
+ 91: 0x4EE0,
+ 92: 0x4EE2,
+ 93: 0x4EE6,
+ 94: 0x4EE7,
+ 95: 0x4EE9,
+ 96: 0x4EED,
+ 97: 0x4EEE,
+ 98: 0x4EEF,
+ 99: 0x4EF1,
+ 100: 0x4EF4,
+ 101: 0x4EF8,
+ 102: 0x4EF9,
+ 103: 0x4EFA,
+ 104: 0x4EFC,
+ 105: 0x4EFE,
+ 106: 0x4F00,
+ 107: 0x4F02,
+ 108: 0x4F03,
+ 109: 0x4F04,
+ 110: 0x4F05,
+ 111: 0x4F06,
+ 112: 0x4F07,
+ 113: 0x4F08,
+ 114: 0x4F0B,
+ 115: 0x4F0C,
+ 116: 0x4F12,
+ 117: 0x4F13,
+ 118: 0x4F14,
+ 119: 0x4F15,
+ 120: 0x4F16,
+ 121: 0x4F1C,
+ 122: 0x4F1D,
+ 123: 0x4F21,
+ 124: 0x4F23,
+ 125: 0x4F28,
+ 126: 0x4F29,
+ 127: 0x4F2C,
+ 128: 0x4F2D,
+ 129: 0x4F2E,
+ 130: 0x4F31,
+ 131: 0x4F33,
+ 132: 0x4F35,
+ 133: 0x4F37,
+ 134: 0x4F39,
+ 135: 0x4F3B,
+ 136: 0x4F3E,
+ 137: 0x4F3F,
+ 138: 0x4F40,
+ 139: 0x4F41,
+ 140: 0x4F42,
+ 141: 0x4F44,
+ 142: 0x4F45,
+ 143: 0x4F47,
+ 144: 0x4F48,
+ 145: 0x4F49,
+ 146: 0x4F4A,
+ 147: 0x4F4B,
+ 148: 0x4F4C,
+ 149: 0x4F52,
+ 150: 0x4F54,
+ 151: 0x4F56,
+ 152: 0x4F61,
+ 153: 0x4F62,
+ 154: 0x4F66,
+ 155: 0x4F68,
+ 156: 0x4F6A,
+ 157: 0x4F6B,
+ 158: 0x4F6D,
+ 159: 0x4F6E,
+ 160: 0x4F71,
+ 161: 0x4F72,
+ 162: 0x4F75,
+ 163: 0x4F77,
+ 164: 0x4F78,
+ 165: 0x4F79,
+ 166: 0x4F7A,
+ 167: 0x4F7D,
+ 168: 0x4F80,
+ 169: 0x4F81,
+ 170: 0x4F82,
+ 171: 0x4F85,
+ 172: 0x4F86,
+ 173: 0x4F87,
+ 174: 0x4F8A,
+ 175: 0x4F8C,
+ 176: 0x4F8E,
+ 177: 0x4F90,
+ 178: 0x4F92,
+ 179: 0x4F93,
+ 180: 0x4F95,
+ 181: 0x4F96,
+ 182: 0x4F98,
+ 183: 0x4F99,
+ 184: 0x4F9A,
+ 185: 0x4F9C,
+ 186: 0x4F9E,
+ 187: 0x4F9F,
+ 188: 0x4FA1,
+ 189: 0x4FA2,
+ 190: 0x4FA4,
+ 191: 0x4FAB,
+ 192: 0x4FAD,
+ 193: 0x4FB0,
+ 194: 0x4FB1,
+ 195: 0x4FB2,
+ 196: 0x4FB3,
+ 197: 0x4FB4,
+ 198: 0x4FB6,
+ 199: 0x4FB7,
+ 200: 0x4FB8,
+ 201: 0x4FB9,
+ 202: 0x4FBA,
+ 203: 0x4FBB,
+ 204: 0x4FBC,
+ 205: 0x4FBD,
+ 206: 0x4FBE,
+ 207: 0x4FC0,
+ 208: 0x4FC1,
+ 209: 0x4FC2,
+ 210: 0x4FC6,
+ 211: 0x4FC7,
+ 212: 0x4FC8,
+ 213: 0x4FC9,
+ 214: 0x4FCB,
+ 215: 0x4FCC,
+ 216: 0x4FCD,
+ 217: 0x4FD2,
+ 218: 0x4FD3,
+ 219: 0x4FD4,
+ 220: 0x4FD5,
+ 221: 0x4FD6,
+ 222: 0x4FD9,
+ 223: 0x4FDB,
+ 224: 0x4FE0,
+ 225: 0x4FE2,
+ 226: 0x4FE4,
+ 227: 0x4FE5,
+ 228: 0x4FE7,
+ 229: 0x4FEB,
+ 230: 0x4FEC,
+ 231: 0x4FF0,
+ 232: 0x4FF2,
+ 233: 0x4FF4,
+ 234: 0x4FF5,
+ 235: 0x4FF6,
+ 236: 0x4FF7,
+ 237: 0x4FF9,
+ 238: 0x4FFB,
+ 239: 0x4FFC,
+ 240: 0x4FFD,
+ 241: 0x4FFF,
+ 242: 0x5000,
+ 243: 0x5001,
+ 244: 0x5002,
+ 245: 0x5003,
+ 246: 0x5004,
+ 247: 0x5005,
+ 248: 0x5006,
+ 249: 0x5007,
+ 250: 0x5008,
+ 251: 0x5009,
+ 252: 0x500A,
+ 253: 0x500B,
+ 254: 0x500E,
+ 255: 0x5010,
+ 256: 0x5011,
+ 257: 0x5013,
+ 258: 0x5015,
+ 259: 0x5016,
+ 260: 0x5017,
+ 261: 0x501B,
+ 262: 0x501D,
+ 263: 0x501E,
+ 264: 0x5020,
+ 265: 0x5022,
+ 266: 0x5023,
+ 267: 0x5024,
+ 268: 0x5027,
+ 269: 0x502B,
+ 270: 0x502F,
+ 271: 0x5030,
+ 272: 0x5031,
+ 273: 0x5032,
+ 274: 0x5033,
+ 275: 0x5034,
+ 276: 0x5035,
+ 277: 0x5036,
+ 278: 0x5037,
+ 279: 0x5038,
+ 280: 0x5039,
+ 281: 0x503B,
+ 282: 0x503D,
+ 283: 0x503F,
+ 284: 0x5040,
+ 285: 0x5041,
+ 286: 0x5042,
+ 287: 0x5044,
+ 288: 0x5045,
+ 289: 0x5046,
+ 290: 0x5049,
+ 291: 0x504A,
+ 292: 0x504B,
+ 293: 0x504D,
+ 294: 0x5050,
+ 295: 0x5051,
+ 296: 0x5052,
+ 297: 0x5053,
+ 298: 0x5054,
+ 299: 0x5056,
+ 300: 0x5057,
+ 301: 0x5058,
+ 302: 0x5059,
+ 303: 0x505B,
+ 304: 0x505D,
+ 305: 0x505E,
+ 306: 0x505F,
+ 307: 0x5060,
+ 308: 0x5061,
+ 309: 0x5062,
+ 310: 0x5063,
+ 311: 0x5064,
+ 312: 0x5066,
+ 313: 0x5067,
+ 314: 0x5068,
+ 315: 0x5069,
+ 316: 0x506A,
+ 317: 0x506B,
+ 318: 0x506D,
+ 319: 0x506E,
+ 320: 0x506F,
+ 321: 0x5070,
+ 322: 0x5071,
+ 323: 0x5072,
+ 324: 0x5073,
+ 325: 0x5074,
+ 326: 0x5075,
+ 327: 0x5078,
+ 328: 0x5079,
+ 329: 0x507A,
+ 330: 0x507C,
+ 331: 0x507D,
+ 332: 0x5081,
+ 333: 0x5082,
+ 334: 0x5083,
+ 335: 0x5084,
+ 336: 0x5086,
+ 337: 0x5087,
+ 338: 0x5089,
+ 339: 0x508A,
+ 340: 0x508B,
+ 341: 0x508C,
+ 342: 0x508E,
+ 343: 0x508F,
+ 344: 0x5090,
+ 345: 0x5091,
+ 346: 0x5092,
+ 347: 0x5093,
+ 348: 0x5094,
+ 349: 0x5095,
+ 350: 0x5096,
+ 351: 0x5097,
+ 352: 0x5098,
+ 353: 0x5099,
+ 354: 0x509A,
+ 355: 0x509B,
+ 356: 0x509C,
+ 357: 0x509D,
+ 358: 0x509E,
+ 359: 0x509F,
+ 360: 0x50A0,
+ 361: 0x50A1,
+ 362: 0x50A2,
+ 363: 0x50A4,
+ 364: 0x50A6,
+ 365: 0x50AA,
+ 366: 0x50AB,
+ 367: 0x50AD,
+ 368: 0x50AE,
+ 369: 0x50AF,
+ 370: 0x50B0,
+ 371: 0x50B1,
+ 372: 0x50B3,
+ 373: 0x50B4,
+ 374: 0x50B5,
+ 375: 0x50B6,
+ 376: 0x50B7,
+ 377: 0x50B8,
+ 378: 0x50B9,
+ 379: 0x50BC,
+ 380: 0x50BD,
+ 381: 0x50BE,
+ 382: 0x50BF,
+ 383: 0x50C0,
+ 384: 0x50C1,
+ 385: 0x50C2,
+ 386: 0x50C3,
+ 387: 0x50C4,
+ 388: 0x50C5,
+ 389: 0x50C6,
+ 390: 0x50C7,
+ 391: 0x50C8,
+ 392: 0x50C9,
+ 393: 0x50CA,
+ 394: 0x50CB,
+ 395: 0x50CC,
+ 396: 0x50CD,
+ 397: 0x50CE,
+ 398: 0x50D0,
+ 399: 0x50D1,
+ 400: 0x50D2,
+ 401: 0x50D3,
+ 402: 0x50D4,
+ 403: 0x50D5,
+ 404: 0x50D7,
+ 405: 0x50D8,
+ 406: 0x50D9,
+ 407: 0x50DB,
+ 408: 0x50DC,
+ 409: 0x50DD,
+ 410: 0x50DE,
+ 411: 0x50DF,
+ 412: 0x50E0,
+ 413: 0x50E1,
+ 414: 0x50E2,
+ 415: 0x50E3,
+ 416: 0x50E4,
+ 417: 0x50E5,
+ 418: 0x50E8,
+ 419: 0x50E9,
+ 420: 0x50EA,
+ 421: 0x50EB,
+ 422: 0x50EF,
+ 423: 0x50F0,
+ 424: 0x50F1,
+ 425: 0x50F2,
+ 426: 0x50F4,
+ 427: 0x50F6,
+ 428: 0x50F7,
+ 429: 0x50F8,
+ 430: 0x50F9,
+ 431: 0x50FA,
+ 432: 0x50FC,
+ 433: 0x50FD,
+ 434: 0x50FE,
+ 435: 0x50FF,
+ 436: 0x5100,
+ 437: 0x5101,
+ 438: 0x5102,
+ 439: 0x5103,
+ 440: 0x5104,
+ 441: 0x5105,
+ 442: 0x5108,
+ 443: 0x5109,
+ 444: 0x510A,
+ 445: 0x510C,
+ 446: 0x510D,
+ 447: 0x510E,
+ 448: 0x510F,
+ 449: 0x5110,
+ 450: 0x5111,
+ 451: 0x5113,
+ 452: 0x5114,
+ 453: 0x5115,
+ 454: 0x5116,
+ 455: 0x5117,
+ 456: 0x5118,
+ 457: 0x5119,
+ 458: 0x511A,
+ 459: 0x511B,
+ 460: 0x511C,
+ 461: 0x511D,
+ 462: 0x511E,
+ 463: 0x511F,
+ 464: 0x5120,
+ 465: 0x5122,
+ 466: 0x5123,
+ 467: 0x5124,
+ 468: 0x5125,
+ 469: 0x5126,
+ 470: 0x5127,
+ 471: 0x5128,
+ 472: 0x5129,
+ 473: 0x512A,
+ 474: 0x512B,
+ 475: 0x512C,
+ 476: 0x512D,
+ 477: 0x512E,
+ 478: 0x512F,
+ 479: 0x5130,
+ 480: 0x5131,
+ 481: 0x5132,
+ 482: 0x5133,
+ 483: 0x5134,
+ 484: 0x5135,
+ 485: 0x5136,
+ 486: 0x5137,
+ 487: 0x5138,
+ 488: 0x5139,
+ 489: 0x513A,
+ 490: 0x513B,
+ 491: 0x513C,
+ 492: 0x513D,
+ 493: 0x513E,
+ 494: 0x5142,
+ 495: 0x5147,
+ 496: 0x514A,
+ 497: 0x514C,
+ 498: 0x514E,
+ 499: 0x514F,
+ 500: 0x5150,
+ 501: 0x5152,
+ 502: 0x5153,
+ 503: 0x5157,
+ 504: 0x5158,
+ 505: 0x5159,
+ 506: 0x515B,
+ 507: 0x515D,
+ 508: 0x515E,
+ 509: 0x515F,
+ 510: 0x5160,
+ 511: 0x5161,
+ 512: 0x5163,
+ 513: 0x5164,
+ 514: 0x5166,
+ 515: 0x5167,
+ 516: 0x5169,
+ 517: 0x516A,
+ 518: 0x516F,
+ 519: 0x5172,
+ 520: 0x517A,
+ 521: 0x517E,
+ 522: 0x517F,
+ 523: 0x5183,
+ 524: 0x5184,
+ 525: 0x5186,
+ 526: 0x5187,
+ 527: 0x518A,
+ 528: 0x518B,
+ 529: 0x518E,
+ 530: 0x518F,
+ 531: 0x5190,
+ 532: 0x5191,
+ 533: 0x5193,
+ 534: 0x5194,
+ 535: 0x5198,
+ 536: 0x519A,
+ 537: 0x519D,
+ 538: 0x519E,
+ 539: 0x519F,
+ 540: 0x51A1,
+ 541: 0x51A3,
+ 542: 0x51A6,
+ 543: 0x51A7,
+ 544: 0x51A8,
+ 545: 0x51A9,
+ 546: 0x51AA,
+ 547: 0x51AD,
+ 548: 0x51AE,
+ 549: 0x51B4,
+ 550: 0x51B8,
+ 551: 0x51B9,
+ 552: 0x51BA,
+ 553: 0x51BE,
+ 554: 0x51BF,
+ 555: 0x51C1,
+ 556: 0x51C2,
+ 557: 0x51C3,
+ 558: 0x51C5,
+ 559: 0x51C8,
+ 560: 0x51CA,
+ 561: 0x51CD,
+ 562: 0x51CE,
+ 563: 0x51D0,
+ 564: 0x51D2,
+ 565: 0x51D3,
+ 566: 0x51D4,
+ 567: 0x51D5,
+ 568: 0x51D6,
+ 569: 0x51D7,
+ 570: 0x51D8,
+ 571: 0x51D9,
+ 572: 0x51DA,
+ 573: 0x51DC,
+ 574: 0x51DE,
+ 575: 0x51DF,
+ 576: 0x51E2,
+ 577: 0x51E3,
+ 578: 0x51E5,
+ 579: 0x51E6,
+ 580: 0x51E7,
+ 581: 0x51E8,
+ 582: 0x51E9,
+ 583: 0x51EA,
+ 584: 0x51EC,
+ 585: 0x51EE,
+ 586: 0x51F1,
+ 587: 0x51F2,
+ 588: 0x51F4,
+ 589: 0x51F7,
+ 590: 0x51FE,
+ 591: 0x5204,
+ 592: 0x5205,
+ 593: 0x5209,
+ 594: 0x520B,
+ 595: 0x520C,
+ 596: 0x520F,
+ 597: 0x5210,
+ 598: 0x5213,
+ 599: 0x5214,
+ 600: 0x5215,
+ 601: 0x521C,
+ 602: 0x521E,
+ 603: 0x521F,
+ 604: 0x5221,
+ 605: 0x5222,
+ 606: 0x5223,
+ 607: 0x5225,
+ 608: 0x5226,
+ 609: 0x5227,
+ 610: 0x522A,
+ 611: 0x522C,
+ 612: 0x522F,
+ 613: 0x5231,
+ 614: 0x5232,
+ 615: 0x5234,
+ 616: 0x5235,
+ 617: 0x523C,
+ 618: 0x523E,
+ 619: 0x5244,
+ 620: 0x5245,
+ 621: 0x5246,
+ 622: 0x5247,
+ 623: 0x5248,
+ 624: 0x5249,
+ 625: 0x524B,
+ 626: 0x524E,
+ 627: 0x524F,
+ 628: 0x5252,
+ 629: 0x5253,
+ 630: 0x5255,
+ 631: 0x5257,
+ 632: 0x5258,
+ 633: 0x5259,
+ 634: 0x525A,
+ 635: 0x525B,
+ 636: 0x525D,
+ 637: 0x525F,
+ 638: 0x5260,
+ 639: 0x5262,
+ 640: 0x5263,
+ 641: 0x5264,
+ 642: 0x5266,
+ 643: 0x5268,
+ 644: 0x526B,
+ 645: 0x526C,
+ 646: 0x526D,
+ 647: 0x526E,
+ 648: 0x5270,
+ 649: 0x5271,
+ 650: 0x5273,
+ 651: 0x5274,
+ 652: 0x5275,
+ 653: 0x5276,
+ 654: 0x5277,
+ 655: 0x5278,
+ 656: 0x5279,
+ 657: 0x527A,
+ 658: 0x527B,
+ 659: 0x527C,
+ 660: 0x527E,
+ 661: 0x5280,
+ 662: 0x5283,
+ 663: 0x5284,
+ 664: 0x5285,
+ 665: 0x5286,
+ 666: 0x5287,
+ 667: 0x5289,
+ 668: 0x528A,
+ 669: 0x528B,
+ 670: 0x528C,
+ 671: 0x528D,
+ 672: 0x528E,
+ 673: 0x528F,
+ 674: 0x5291,
+ 675: 0x5292,
+ 676: 0x5294,
+ 677: 0x5295,
+ 678: 0x5296,
+ 679: 0x5297,
+ 680: 0x5298,
+ 681: 0x5299,
+ 682: 0x529A,
+ 683: 0x529C,
+ 684: 0x52A4,
+ 685: 0x52A5,
+ 686: 0x52A6,
+ 687: 0x52A7,
+ 688: 0x52AE,
+ 689: 0x52AF,
+ 690: 0x52B0,
+ 691: 0x52B4,
+ 692: 0x52B5,
+ 693: 0x52B6,
+ 694: 0x52B7,
+ 695: 0x52B8,
+ 696: 0x52B9,
+ 697: 0x52BA,
+ 698: 0x52BB,
+ 699: 0x52BC,
+ 700: 0x52BD,
+ 701: 0x52C0,
+ 702: 0x52C1,
+ 703: 0x52C2,
+ 704: 0x52C4,
+ 705: 0x52C5,
+ 706: 0x52C6,
+ 707: 0x52C8,
+ 708: 0x52CA,
+ 709: 0x52CC,
+ 710: 0x52CD,
+ 711: 0x52CE,
+ 712: 0x52CF,
+ 713: 0x52D1,
+ 714: 0x52D3,
+ 715: 0x52D4,
+ 716: 0x52D5,
+ 717: 0x52D7,
+ 718: 0x52D9,
+ 719: 0x52DA,
+ 720: 0x52DB,
+ 721: 0x52DC,
+ 722: 0x52DD,
+ 723: 0x52DE,
+ 724: 0x52E0,
+ 725: 0x52E1,
+ 726: 0x52E2,
+ 727: 0x52E3,
+ 728: 0x52E5,
+ 729: 0x52E6,
+ 730: 0x52E7,
+ 731: 0x52E8,
+ 732: 0x52E9,
+ 733: 0x52EA,
+ 734: 0x52EB,
+ 735: 0x52EC,
+ 736: 0x52ED,
+ 737: 0x52EE,
+ 738: 0x52EF,
+ 739: 0x52F1,
+ 740: 0x52F2,
+ 741: 0x52F3,
+ 742: 0x52F4,
+ 743: 0x52F5,
+ 744: 0x52F6,
+ 745: 0x52F7,
+ 746: 0x52F8,
+ 747: 0x52FB,
+ 748: 0x52FC,
+ 749: 0x52FD,
+ 750: 0x5301,
+ 751: 0x5302,
+ 752: 0x5303,
+ 753: 0x5304,
+ 754: 0x5307,
+ 755: 0x5309,
+ 756: 0x530A,
+ 757: 0x530B,
+ 758: 0x530C,
+ 759: 0x530E,
+ 760: 0x5311,
+ 761: 0x5312,
+ 762: 0x5313,
+ 763: 0x5314,
+ 764: 0x5318,
+ 765: 0x531B,
+ 766: 0x531C,
+ 767: 0x531E,
+ 768: 0x531F,
+ 769: 0x5322,
+ 770: 0x5324,
+ 771: 0x5325,
+ 772: 0x5327,
+ 773: 0x5328,
+ 774: 0x5329,
+ 775: 0x532B,
+ 776: 0x532C,
+ 777: 0x532D,
+ 778: 0x532F,
+ 779: 0x5330,
+ 780: 0x5331,
+ 781: 0x5332,
+ 782: 0x5333,
+ 783: 0x5334,
+ 784: 0x5335,
+ 785: 0x5336,
+ 786: 0x5337,
+ 787: 0x5338,
+ 788: 0x533C,
+ 789: 0x533D,
+ 790: 0x5340,
+ 791: 0x5342,
+ 792: 0x5344,
+ 793: 0x5346,
+ 794: 0x534B,
+ 795: 0x534C,
+ 796: 0x534D,
+ 797: 0x5350,
+ 798: 0x5354,
+ 799: 0x5358,
+ 800: 0x5359,
+ 801: 0x535B,
+ 802: 0x535D,
+ 803: 0x5365,
+ 804: 0x5368,
+ 805: 0x536A,
+ 806: 0x536C,
+ 807: 0x536D,
+ 808: 0x5372,
+ 809: 0x5376,
+ 810: 0x5379,
+ 811: 0x537B,
+ 812: 0x537C,
+ 813: 0x537D,
+ 814: 0x537E,
+ 815: 0x5380,
+ 816: 0x5381,
+ 817: 0x5383,
+ 818: 0x5387,
+ 819: 0x5388,
+ 820: 0x538A,
+ 821: 0x538E,
+ 822: 0x538F,
+ 823: 0x5390,
+ 824: 0x5391,
+ 825: 0x5392,
+ 826: 0x5393,
+ 827: 0x5394,
+ 828: 0x5396,
+ 829: 0x5397,
+ 830: 0x5399,
+ 831: 0x539B,
+ 832: 0x539C,
+ 833: 0x539E,
+ 834: 0x53A0,
+ 835: 0x53A1,
+ 836: 0x53A4,
+ 837: 0x53A7,
+ 838: 0x53AA,
+ 839: 0x53AB,
+ 840: 0x53AC,
+ 841: 0x53AD,
+ 842: 0x53AF,
+ 843: 0x53B0,
+ 844: 0x53B1,
+ 845: 0x53B2,
+ 846: 0x53B3,
+ 847: 0x53B4,
+ 848: 0x53B5,
+ 849: 0x53B7,
+ 850: 0x53B8,
+ 851: 0x53B9,
+ 852: 0x53BA,
+ 853: 0x53BC,
+ 854: 0x53BD,
+ 855: 0x53BE,
+ 856: 0x53C0,
+ 857: 0x53C3,
+ 858: 0x53C4,
+ 859: 0x53C5,
+ 860: 0x53C6,
+ 861: 0x53C7,
+ 862: 0x53CE,
+ 863: 0x53CF,
+ 864: 0x53D0,
+ 865: 0x53D2,
+ 866: 0x53D3,
+ 867: 0x53D5,
+ 868: 0x53DA,
+ 869: 0x53DC,
+ 870: 0x53DD,
+ 871: 0x53DE,
+ 872: 0x53E1,
+ 873: 0x53E2,
+ 874: 0x53E7,
+ 875: 0x53F4,
+ 876: 0x53FA,
+ 877: 0x53FE,
+ 878: 0x53FF,
+ 879: 0x5400,
+ 880: 0x5402,
+ 881: 0x5405,
+ 882: 0x5407,
+ 883: 0x540B,
+ 884: 0x5414,
+ 885: 0x5418,
+ 886: 0x5419,
+ 887: 0x541A,
+ 888: 0x541C,
+ 889: 0x5422,
+ 890: 0x5424,
+ 891: 0x5425,
+ 892: 0x542A,
+ 893: 0x5430,
+ 894: 0x5433,
+ 895: 0x5436,
+ 896: 0x5437,
+ 897: 0x543A,
+ 898: 0x543D,
+ 899: 0x543F,
+ 900: 0x5441,
+ 901: 0x5442,
+ 902: 0x5444,
+ 903: 0x5445,
+ 904: 0x5447,
+ 905: 0x5449,
+ 906: 0x544C,
+ 907: 0x544D,
+ 908: 0x544E,
+ 909: 0x544F,
+ 910: 0x5451,
+ 911: 0x545A,
+ 912: 0x545D,
+ 913: 0x545E,
+ 914: 0x545F,
+ 915: 0x5460,
+ 916: 0x5461,
+ 917: 0x5463,
+ 918: 0x5465,
+ 919: 0x5467,
+ 920: 0x5469,
+ 921: 0x546A,
+ 922: 0x546B,
+ 923: 0x546C,
+ 924: 0x546D,
+ 925: 0x546E,
+ 926: 0x546F,
+ 927: 0x5470,
+ 928: 0x5474,
+ 929: 0x5479,
+ 930: 0x547A,
+ 931: 0x547E,
+ 932: 0x547F,
+ 933: 0x5481,
+ 934: 0x5483,
+ 935: 0x5485,
+ 936: 0x5487,
+ 937: 0x5488,
+ 938: 0x5489,
+ 939: 0x548A,
+ 940: 0x548D,
+ 941: 0x5491,
+ 942: 0x5493,
+ 943: 0x5497,
+ 944: 0x5498,
+ 945: 0x549C,
+ 946: 0x549E,
+ 947: 0x549F,
+ 948: 0x54A0,
+ 949: 0x54A1,
+ 950: 0x54A2,
+ 951: 0x54A5,
+ 952: 0x54AE,
+ 953: 0x54B0,
+ 954: 0x54B2,
+ 955: 0x54B5,
+ 956: 0x54B6,
+ 957: 0x54B7,
+ 958: 0x54B9,
+ 959: 0x54BA,
+ 960: 0x54BC,
+ 961: 0x54BE,
+ 962: 0x54C3,
+ 963: 0x54C5,
+ 964: 0x54CA,
+ 965: 0x54CB,
+ 966: 0x54D6,
+ 967: 0x54D8,
+ 968: 0x54DB,
+ 969: 0x54E0,
+ 970: 0x54E1,
+ 971: 0x54E2,
+ 972: 0x54E3,
+ 973: 0x54E4,
+ 974: 0x54EB,
+ 975: 0x54EC,
+ 976: 0x54EF,
+ 977: 0x54F0,
+ 978: 0x54F1,
+ 979: 0x54F4,
+ 980: 0x54F5,
+ 981: 0x54F6,
+ 982: 0x54F7,
+ 983: 0x54F8,
+ 984: 0x54F9,
+ 985: 0x54FB,
+ 986: 0x54FE,
+ 987: 0x5500,
+ 988: 0x5502,
+ 989: 0x5503,
+ 990: 0x5504,
+ 991: 0x5505,
+ 992: 0x5508,
+ 993: 0x550A,
+ 994: 0x550B,
+ 995: 0x550C,
+ 996: 0x550D,
+ 997: 0x550E,
+ 998: 0x5512,
+ 999: 0x5513,
+ 1000: 0x5515,
+ 1001: 0x5516,
+ 1002: 0x5517,
+ 1003: 0x5518,
+ 1004: 0x5519,
+ 1005: 0x551A,
+ 1006: 0x551C,
+ 1007: 0x551D,
+ 1008: 0x551E,
+ 1009: 0x551F,
+ 1010: 0x5521,
+ 1011: 0x5525,
+ 1012: 0x5526,
+ 1013: 0x5528,
+ 1014: 0x5529,
+ 1015: 0x552B,
+ 1016: 0x552D,
+ 1017: 0x5532,
+ 1018: 0x5534,
+ 1019: 0x5535,
+ 1020: 0x5536,
+ 1021: 0x5538,
+ 1022: 0x5539,
+ 1023: 0x553A,
+ 1024: 0x553B,
+ 1025: 0x553D,
+ 1026: 0x5540,
+ 1027: 0x5542,
+ 1028: 0x5545,
+ 1029: 0x5547,
+ 1030: 0x5548,
+ 1031: 0x554B,
+ 1032: 0x554C,
+ 1033: 0x554D,
+ 1034: 0x554E,
+ 1035: 0x554F,
+ 1036: 0x5551,
+ 1037: 0x5552,
+ 1038: 0x5553,
+ 1039: 0x5554,
+ 1040: 0x5557,
+ 1041: 0x5558,
+ 1042: 0x5559,
+ 1043: 0x555A,
+ 1044: 0x555B,
+ 1045: 0x555D,
+ 1046: 0x555E,
+ 1047: 0x555F,
+ 1048: 0x5560,
+ 1049: 0x5562,
+ 1050: 0x5563,
+ 1051: 0x5568,
+ 1052: 0x5569,
+ 1053: 0x556B,
+ 1054: 0x556F,
+ 1055: 0x5570,
+ 1056: 0x5571,
+ 1057: 0x5572,
+ 1058: 0x5573,
+ 1059: 0x5574,
+ 1060: 0x5579,
+ 1061: 0x557A,
+ 1062: 0x557D,
+ 1063: 0x557F,
+ 1064: 0x5585,
+ 1065: 0x5586,
+ 1066: 0x558C,
+ 1067: 0x558D,
+ 1068: 0x558E,
+ 1069: 0x5590,
+ 1070: 0x5592,
+ 1071: 0x5593,
+ 1072: 0x5595,
+ 1073: 0x5596,
+ 1074: 0x5597,
+ 1075: 0x559A,
+ 1076: 0x559B,
+ 1077: 0x559E,
+ 1078: 0x55A0,
+ 1079: 0x55A1,
+ 1080: 0x55A2,
+ 1081: 0x55A3,
+ 1082: 0x55A4,
+ 1083: 0x55A5,
+ 1084: 0x55A6,
+ 1085: 0x55A8,
+ 1086: 0x55A9,
+ 1087: 0x55AA,
+ 1088: 0x55AB,
+ 1089: 0x55AC,
+ 1090: 0x55AD,
+ 1091: 0x55AE,
+ 1092: 0x55AF,
+ 1093: 0x55B0,
+ 1094: 0x55B2,
+ 1095: 0x55B4,
+ 1096: 0x55B6,
+ 1097: 0x55B8,
+ 1098: 0x55BA,
+ 1099: 0x55BC,
+ 1100: 0x55BF,
+ 1101: 0x55C0,
+ 1102: 0x55C1,
+ 1103: 0x55C2,
+ 1104: 0x55C3,
+ 1105: 0x55C6,
+ 1106: 0x55C7,
+ 1107: 0x55C8,
+ 1108: 0x55CA,
+ 1109: 0x55CB,
+ 1110: 0x55CE,
+ 1111: 0x55CF,
+ 1112: 0x55D0,
+ 1113: 0x55D5,
+ 1114: 0x55D7,
+ 1115: 0x55D8,
+ 1116: 0x55D9,
+ 1117: 0x55DA,
+ 1118: 0x55DB,
+ 1119: 0x55DE,
+ 1120: 0x55E0,
+ 1121: 0x55E2,
+ 1122: 0x55E7,
+ 1123: 0x55E9,
+ 1124: 0x55ED,
+ 1125: 0x55EE,
+ 1126: 0x55F0,
+ 1127: 0x55F1,
+ 1128: 0x55F4,
+ 1129: 0x55F6,
+ 1130: 0x55F8,
+ 1131: 0x55F9,
+ 1132: 0x55FA,
+ 1133: 0x55FB,
+ 1134: 0x55FC,
+ 1135: 0x55FF,
+ 1136: 0x5602,
+ 1137: 0x5603,
+ 1138: 0x5604,
+ 1139: 0x5605,
+ 1140: 0x5606,
+ 1141: 0x5607,
+ 1142: 0x560A,
+ 1143: 0x560B,
+ 1144: 0x560D,
+ 1145: 0x5610,
+ 1146: 0x5611,
+ 1147: 0x5612,
+ 1148: 0x5613,
+ 1149: 0x5614,
+ 1150: 0x5615,
+ 1151: 0x5616,
+ 1152: 0x5617,
+ 1153: 0x5619,
+ 1154: 0x561A,
+ 1155: 0x561C,
+ 1156: 0x561D,
+ 1157: 0x5620,
+ 1158: 0x5621,
+ 1159: 0x5622,
+ 1160: 0x5625,
+ 1161: 0x5626,
+ 1162: 0x5628,
+ 1163: 0x5629,
+ 1164: 0x562A,
+ 1165: 0x562B,
+ 1166: 0x562E,
+ 1167: 0x562F,
+ 1168: 0x5630,
+ 1169: 0x5633,
+ 1170: 0x5635,
+ 1171: 0x5637,
+ 1172: 0x5638,
+ 1173: 0x563A,
+ 1174: 0x563C,
+ 1175: 0x563D,
+ 1176: 0x563E,
+ 1177: 0x5640,
+ 1178: 0x5641,
+ 1179: 0x5642,
+ 1180: 0x5643,
+ 1181: 0x5644,
+ 1182: 0x5645,
+ 1183: 0x5646,
+ 1184: 0x5647,
+ 1185: 0x5648,
+ 1186: 0x5649,
+ 1187: 0x564A,
+ 1188: 0x564B,
+ 1189: 0x564F,
+ 1190: 0x5650,
+ 1191: 0x5651,
+ 1192: 0x5652,
+ 1193: 0x5653,
+ 1194: 0x5655,
+ 1195: 0x5656,
+ 1196: 0x565A,
+ 1197: 0x565B,
+ 1198: 0x565D,
+ 1199: 0x565E,
+ 1200: 0x565F,
+ 1201: 0x5660,
+ 1202: 0x5661,
+ 1203: 0x5663,
+ 1204: 0x5665,
+ 1205: 0x5666,
+ 1206: 0x5667,
+ 1207: 0x566D,
+ 1208: 0x566E,
+ 1209: 0x566F,
+ 1210: 0x5670,
+ 1211: 0x5672,
+ 1212: 0x5673,
+ 1213: 0x5674,
+ 1214: 0x5675,
+ 1215: 0x5677,
+ 1216: 0x5678,
+ 1217: 0x5679,
+ 1218: 0x567A,
+ 1219: 0x567D,
+ 1220: 0x567E,
+ 1221: 0x567F,
+ 1222: 0x5680,
+ 1223: 0x5681,
+ 1224: 0x5682,
+ 1225: 0x5683,
+ 1226: 0x5684,
+ 1227: 0x5687,
+ 1228: 0x5688,
+ 1229: 0x5689,
+ 1230: 0x568A,
+ 1231: 0x568B,
+ 1232: 0x568C,
+ 1233: 0x568D,
+ 1234: 0x5690,
+ 1235: 0x5691,
+ 1236: 0x5692,
+ 1237: 0x5694,
+ 1238: 0x5695,
+ 1239: 0x5696,
+ 1240: 0x5697,
+ 1241: 0x5698,
+ 1242: 0x5699,
+ 1243: 0x569A,
+ 1244: 0x569B,
+ 1245: 0x569C,
+ 1246: 0x569D,
+ 1247: 0x569E,
+ 1248: 0x569F,
+ 1249: 0x56A0,
+ 1250: 0x56A1,
+ 1251: 0x56A2,
+ 1252: 0x56A4,
+ 1253: 0x56A5,
+ 1254: 0x56A6,
+ 1255: 0x56A7,
+ 1256: 0x56A8,
+ 1257: 0x56A9,
+ 1258: 0x56AA,
+ 1259: 0x56AB,
+ 1260: 0x56AC,
+ 1261: 0x56AD,
+ 1262: 0x56AE,
+ 1263: 0x56B0,
+ 1264: 0x56B1,
+ 1265: 0x56B2,
+ 1266: 0x56B3,
+ 1267: 0x56B4,
+ 1268: 0x56B5,
+ 1269: 0x56B6,
+ 1270: 0x56B8,
+ 1271: 0x56B9,
+ 1272: 0x56BA,
+ 1273: 0x56BB,
+ 1274: 0x56BD,
+ 1275: 0x56BE,
+ 1276: 0x56BF,
+ 1277: 0x56C0,
+ 1278: 0x56C1,
+ 1279: 0x56C2,
+ 1280: 0x56C3,
+ 1281: 0x56C4,
+ 1282: 0x56C5,
+ 1283: 0x56C6,
+ 1284: 0x56C7,
+ 1285: 0x56C8,
+ 1286: 0x56C9,
+ 1287: 0x56CB,
+ 1288: 0x56CC,
+ 1289: 0x56CD,
+ 1290: 0x56CE,
+ 1291: 0x56CF,
+ 1292: 0x56D0,
+ 1293: 0x56D1,
+ 1294: 0x56D2,
+ 1295: 0x56D3,
+ 1296: 0x56D5,
+ 1297: 0x56D6,
+ 1298: 0x56D8,
+ 1299: 0x56D9,
+ 1300: 0x56DC,
+ 1301: 0x56E3,
+ 1302: 0x56E5,
+ 1303: 0x56E6,
+ 1304: 0x56E7,
+ 1305: 0x56E8,
+ 1306: 0x56E9,
+ 1307: 0x56EA,
+ 1308: 0x56EC,
+ 1309: 0x56EE,
+ 1310: 0x56EF,
+ 1311: 0x56F2,
+ 1312: 0x56F3,
+ 1313: 0x56F6,
+ 1314: 0x56F7,
+ 1315: 0x56F8,
+ 1316: 0x56FB,
+ 1317: 0x56FC,
+ 1318: 0x5700,
+ 1319: 0x5701,
+ 1320: 0x5702,
+ 1321: 0x5705,
+ 1322: 0x5707,
+ 1323: 0x570B,
+ 1324: 0x570C,
+ 1325: 0x570D,
+ 1326: 0x570E,
+ 1327: 0x570F,
+ 1328: 0x5710,
+ 1329: 0x5711,
+ 1330: 0x5712,
+ 1331: 0x5713,
+ 1332: 0x5714,
+ 1333: 0x5715,
+ 1334: 0x5716,
+ 1335: 0x5717,
+ 1336: 0x5718,
+ 1337: 0x5719,
+ 1338: 0x571A,
+ 1339: 0x571B,
+ 1340: 0x571D,
+ 1341: 0x571E,
+ 1342: 0x5720,
+ 1343: 0x5721,
+ 1344: 0x5722,
+ 1345: 0x5724,
+ 1346: 0x5725,
+ 1347: 0x5726,
+ 1348: 0x5727,
+ 1349: 0x572B,
+ 1350: 0x5731,
+ 1351: 0x5732,
+ 1352: 0x5734,
+ 1353: 0x5735,
+ 1354: 0x5736,
+ 1355: 0x5737,
+ 1356: 0x5738,
+ 1357: 0x573C,
+ 1358: 0x573D,
+ 1359: 0x573F,
+ 1360: 0x5741,
+ 1361: 0x5743,
+ 1362: 0x5744,
+ 1363: 0x5745,
+ 1364: 0x5746,
+ 1365: 0x5748,
+ 1366: 0x5749,
+ 1367: 0x574B,
+ 1368: 0x5752,
+ 1369: 0x5753,
+ 1370: 0x5754,
+ 1371: 0x5755,
+ 1372: 0x5756,
+ 1373: 0x5758,
+ 1374: 0x5759,
+ 1375: 0x5762,
+ 1376: 0x5763,
+ 1377: 0x5765,
+ 1378: 0x5767,
+ 1379: 0x576C,
+ 1380: 0x576E,
+ 1381: 0x5770,
+ 1382: 0x5771,
+ 1383: 0x5772,
+ 1384: 0x5774,
+ 1385: 0x5775,
+ 1386: 0x5778,
+ 1387: 0x5779,
+ 1388: 0x577A,
+ 1389: 0x577D,
+ 1390: 0x577E,
+ 1391: 0x577F,
+ 1392: 0x5780,
+ 1393: 0x5781,
+ 1394: 0x5787,
+ 1395: 0x5788,
+ 1396: 0x5789,
+ 1397: 0x578A,
+ 1398: 0x578D,
+ 1399: 0x578E,
+ 1400: 0x578F,
+ 1401: 0x5790,
+ 1402: 0x5791,
+ 1403: 0x5794,
+ 1404: 0x5795,
+ 1405: 0x5796,
+ 1406: 0x5797,
+ 1407: 0x5798,
+ 1408: 0x5799,
+ 1409: 0x579A,
+ 1410: 0x579C,
+ 1411: 0x579D,
+ 1412: 0x579E,
+ 1413: 0x579F,
+ 1414: 0x57A5,
+ 1415: 0x57A8,
+ 1416: 0x57AA,
+ 1417: 0x57AC,
+ 1418: 0x57AF,
+ 1419: 0x57B0,
+ 1420: 0x57B1,
+ 1421: 0x57B3,
+ 1422: 0x57B5,
+ 1423: 0x57B6,
+ 1424: 0x57B7,
+ 1425: 0x57B9,
+ 1426: 0x57BA,
+ 1427: 0x57BB,
+ 1428: 0x57BC,
+ 1429: 0x57BD,
+ 1430: 0x57BE,
+ 1431: 0x57BF,
+ 1432: 0x57C0,
+ 1433: 0x57C1,
+ 1434: 0x57C4,
+ 1435: 0x57C5,
+ 1436: 0x57C6,
+ 1437: 0x57C7,
+ 1438: 0x57C8,
+ 1439: 0x57C9,
+ 1440: 0x57CA,
+ 1441: 0x57CC,
+ 1442: 0x57CD,
+ 1443: 0x57D0,
+ 1444: 0x57D1,
+ 1445: 0x57D3,
+ 1446: 0x57D6,
+ 1447: 0x57D7,
+ 1448: 0x57DB,
+ 1449: 0x57DC,
+ 1450: 0x57DE,
+ 1451: 0x57E1,
+ 1452: 0x57E2,
+ 1453: 0x57E3,
+ 1454: 0x57E5,
+ 1455: 0x57E6,
+ 1456: 0x57E7,
+ 1457: 0x57E8,
+ 1458: 0x57E9,
+ 1459: 0x57EA,
+ 1460: 0x57EB,
+ 1461: 0x57EC,
+ 1462: 0x57EE,
+ 1463: 0x57F0,
+ 1464: 0x57F1,
+ 1465: 0x57F2,
+ 1466: 0x57F3,
+ 1467: 0x57F5,
+ 1468: 0x57F6,
+ 1469: 0x57F7,
+ 1470: 0x57FB,
+ 1471: 0x57FC,
+ 1472: 0x57FE,
+ 1473: 0x57FF,
+ 1474: 0x5801,
+ 1475: 0x5803,
+ 1476: 0x5804,
+ 1477: 0x5805,
+ 1478: 0x5808,
+ 1479: 0x5809,
+ 1480: 0x580A,
+ 1481: 0x580C,
+ 1482: 0x580E,
+ 1483: 0x580F,
+ 1484: 0x5810,
+ 1485: 0x5812,
+ 1486: 0x5813,
+ 1487: 0x5814,
+ 1488: 0x5816,
+ 1489: 0x5817,
+ 1490: 0x5818,
+ 1491: 0x581A,
+ 1492: 0x581B,
+ 1493: 0x581C,
+ 1494: 0x581D,
+ 1495: 0x581F,
+ 1496: 0x5822,
+ 1497: 0x5823,
+ 1498: 0x5825,
+ 1499: 0x5826,
+ 1500: 0x5827,
+ 1501: 0x5828,
+ 1502: 0x5829,
+ 1503: 0x582B,
+ 1504: 0x582C,
+ 1505: 0x582D,
+ 1506: 0x582E,
+ 1507: 0x582F,
+ 1508: 0x5831,
+ 1509: 0x5832,
+ 1510: 0x5833,
+ 1511: 0x5834,
+ 1512: 0x5836,
+ 1513: 0x5837,
+ 1514: 0x5838,
+ 1515: 0x5839,
+ 1516: 0x583A,
+ 1517: 0x583B,
+ 1518: 0x583C,
+ 1519: 0x583D,
+ 1520: 0x583E,
+ 1521: 0x583F,
+ 1522: 0x5840,
+ 1523: 0x5841,
+ 1524: 0x5842,
+ 1525: 0x5843,
+ 1526: 0x5845,
+ 1527: 0x5846,
+ 1528: 0x5847,
+ 1529: 0x5848,
+ 1530: 0x5849,
+ 1531: 0x584A,
+ 1532: 0x584B,
+ 1533: 0x584E,
+ 1534: 0x584F,
+ 1535: 0x5850,
+ 1536: 0x5852,
+ 1537: 0x5853,
+ 1538: 0x5855,
+ 1539: 0x5856,
+ 1540: 0x5857,
+ 1541: 0x5859,
+ 1542: 0x585A,
+ 1543: 0x585B,
+ 1544: 0x585C,
+ 1545: 0x585D,
+ 1546: 0x585F,
+ 1547: 0x5860,
+ 1548: 0x5861,
+ 1549: 0x5862,
+ 1550: 0x5863,
+ 1551: 0x5864,
+ 1552: 0x5866,
+ 1553: 0x5867,
+ 1554: 0x5868,
+ 1555: 0x5869,
+ 1556: 0x586A,
+ 1557: 0x586D,
+ 1558: 0x586E,
+ 1559: 0x586F,
+ 1560: 0x5870,
+ 1561: 0x5871,
+ 1562: 0x5872,
+ 1563: 0x5873,
+ 1564: 0x5874,
+ 1565: 0x5875,
+ 1566: 0x5876,
+ 1567: 0x5877,
+ 1568: 0x5878,
+ 1569: 0x5879,
+ 1570: 0x587A,
+ 1571: 0x587B,
+ 1572: 0x587C,
+ 1573: 0x587D,
+ 1574: 0x587F,
+ 1575: 0x5882,
+ 1576: 0x5884,
+ 1577: 0x5886,
+ 1578: 0x5887,
+ 1579: 0x5888,
+ 1580: 0x588A,
+ 1581: 0x588B,
+ 1582: 0x588C,
+ 1583: 0x588D,
+ 1584: 0x588E,
+ 1585: 0x588F,
+ 1586: 0x5890,
+ 1587: 0x5891,
+ 1588: 0x5894,
+ 1589: 0x5895,
+ 1590: 0x5896,
+ 1591: 0x5897,
+ 1592: 0x5898,
+ 1593: 0x589B,
+ 1594: 0x589C,
+ 1595: 0x589D,
+ 1596: 0x58A0,
+ 1597: 0x58A1,
+ 1598: 0x58A2,
+ 1599: 0x58A3,
+ 1600: 0x58A4,
+ 1601: 0x58A5,
+ 1602: 0x58A6,
+ 1603: 0x58A7,
+ 1604: 0x58AA,
+ 1605: 0x58AB,
+ 1606: 0x58AC,
+ 1607: 0x58AD,
+ 1608: 0x58AE,
+ 1609: 0x58AF,
+ 1610: 0x58B0,
+ 1611: 0x58B1,
+ 1612: 0x58B2,
+ 1613: 0x58B3,
+ 1614: 0x58B4,
+ 1615: 0x58B5,
+ 1616: 0x58B6,
+ 1617: 0x58B7,
+ 1618: 0x58B8,
+ 1619: 0x58B9,
+ 1620: 0x58BA,
+ 1621: 0x58BB,
+ 1622: 0x58BD,
+ 1623: 0x58BE,
+ 1624: 0x58BF,
+ 1625: 0x58C0,
+ 1626: 0x58C2,
+ 1627: 0x58C3,
+ 1628: 0x58C4,
+ 1629: 0x58C6,
+ 1630: 0x58C7,
+ 1631: 0x58C8,
+ 1632: 0x58C9,
+ 1633: 0x58CA,
+ 1634: 0x58CB,
+ 1635: 0x58CC,
+ 1636: 0x58CD,
+ 1637: 0x58CE,
+ 1638: 0x58CF,
+ 1639: 0x58D0,
+ 1640: 0x58D2,
+ 1641: 0x58D3,
+ 1642: 0x58D4,
+ 1643: 0x58D6,
+ 1644: 0x58D7,
+ 1645: 0x58D8,
+ 1646: 0x58D9,
+ 1647: 0x58DA,
+ 1648: 0x58DB,
+ 1649: 0x58DC,
+ 1650: 0x58DD,
+ 1651: 0x58DE,
+ 1652: 0x58DF,
+ 1653: 0x58E0,
+ 1654: 0x58E1,
+ 1655: 0x58E2,
+ 1656: 0x58E3,
+ 1657: 0x58E5,
+ 1658: 0x58E6,
+ 1659: 0x58E7,
+ 1660: 0x58E8,
+ 1661: 0x58E9,
+ 1662: 0x58EA,
+ 1663: 0x58ED,
+ 1664: 0x58EF,
+ 1665: 0x58F1,
+ 1666: 0x58F2,
+ 1667: 0x58F4,
+ 1668: 0x58F5,
+ 1669: 0x58F7,
+ 1670: 0x58F8,
+ 1671: 0x58FA,
+ 1672: 0x58FB,
+ 1673: 0x58FC,
+ 1674: 0x58FD,
+ 1675: 0x58FE,
+ 1676: 0x58FF,
+ 1677: 0x5900,
+ 1678: 0x5901,
+ 1679: 0x5903,
+ 1680: 0x5905,
+ 1681: 0x5906,
+ 1682: 0x5908,
+ 1683: 0x5909,
+ 1684: 0x590A,
+ 1685: 0x590B,
+ 1686: 0x590C,
+ 1687: 0x590E,
+ 1688: 0x5910,
+ 1689: 0x5911,
+ 1690: 0x5912,
+ 1691: 0x5913,
+ 1692: 0x5917,
+ 1693: 0x5918,
+ 1694: 0x591B,
+ 1695: 0x591D,
+ 1696: 0x591E,
+ 1697: 0x5920,
+ 1698: 0x5921,
+ 1699: 0x5922,
+ 1700: 0x5923,
+ 1701: 0x5926,
+ 1702: 0x5928,
+ 1703: 0x592C,
+ 1704: 0x5930,
+ 1705: 0x5932,
+ 1706: 0x5933,
+ 1707: 0x5935,
+ 1708: 0x5936,
+ 1709: 0x593B,
+ 1710: 0x593D,
+ 1711: 0x593E,
+ 1712: 0x593F,
+ 1713: 0x5940,
+ 1714: 0x5943,
+ 1715: 0x5945,
+ 1716: 0x5946,
+ 1717: 0x594A,
+ 1718: 0x594C,
+ 1719: 0x594D,
+ 1720: 0x5950,
+ 1721: 0x5952,
+ 1722: 0x5953,
+ 1723: 0x5959,
+ 1724: 0x595B,
+ 1725: 0x595C,
+ 1726: 0x595D,
+ 1727: 0x595E,
+ 1728: 0x595F,
+ 1729: 0x5961,
+ 1730: 0x5963,
+ 1731: 0x5964,
+ 1732: 0x5966,
+ 1733: 0x5967,
+ 1734: 0x5968,
+ 1735: 0x5969,
+ 1736: 0x596A,
+ 1737: 0x596B,
+ 1738: 0x596C,
+ 1739: 0x596D,
+ 1740: 0x596E,
+ 1741: 0x596F,
+ 1742: 0x5970,
+ 1743: 0x5971,
+ 1744: 0x5972,
+ 1745: 0x5975,
+ 1746: 0x5977,
+ 1747: 0x597A,
+ 1748: 0x597B,
+ 1749: 0x597C,
+ 1750: 0x597E,
+ 1751: 0x597F,
+ 1752: 0x5980,
+ 1753: 0x5985,
+ 1754: 0x5989,
+ 1755: 0x598B,
+ 1756: 0x598C,
+ 1757: 0x598E,
+ 1758: 0x598F,
+ 1759: 0x5990,
+ 1760: 0x5991,
+ 1761: 0x5994,
+ 1762: 0x5995,
+ 1763: 0x5998,
+ 1764: 0x599A,
+ 1765: 0x599B,
+ 1766: 0x599C,
+ 1767: 0x599D,
+ 1768: 0x599F,
+ 1769: 0x59A0,
+ 1770: 0x59A1,
+ 1771: 0x59A2,
+ 1772: 0x59A6,
+ 1773: 0x59A7,
+ 1774: 0x59AC,
+ 1775: 0x59AD,
+ 1776: 0x59B0,
+ 1777: 0x59B1,
+ 1778: 0x59B3,
+ 1779: 0x59B4,
+ 1780: 0x59B5,
+ 1781: 0x59B6,
+ 1782: 0x59B7,
+ 1783: 0x59B8,
+ 1784: 0x59BA,
+ 1785: 0x59BC,
+ 1786: 0x59BD,
+ 1787: 0x59BF,
+ 1788: 0x59C0,
+ 1789: 0x59C1,
+ 1790: 0x59C2,
+ 1791: 0x59C3,
+ 1792: 0x59C4,
+ 1793: 0x59C5,
+ 1794: 0x59C7,
+ 1795: 0x59C8,
+ 1796: 0x59C9,
+ 1797: 0x59CC,
+ 1798: 0x59CD,
+ 1799: 0x59CE,
+ 1800: 0x59CF,
+ 1801: 0x59D5,
+ 1802: 0x59D6,
+ 1803: 0x59D9,
+ 1804: 0x59DB,
+ 1805: 0x59DE,
+ 1806: 0x59DF,
+ 1807: 0x59E0,
+ 1808: 0x59E1,
+ 1809: 0x59E2,
+ 1810: 0x59E4,
+ 1811: 0x59E6,
+ 1812: 0x59E7,
+ 1813: 0x59E9,
+ 1814: 0x59EA,
+ 1815: 0x59EB,
+ 1816: 0x59ED,
+ 1817: 0x59EE,
+ 1818: 0x59EF,
+ 1819: 0x59F0,
+ 1820: 0x59F1,
+ 1821: 0x59F2,
+ 1822: 0x59F3,
+ 1823: 0x59F4,
+ 1824: 0x59F5,
+ 1825: 0x59F6,
+ 1826: 0x59F7,
+ 1827: 0x59F8,
+ 1828: 0x59FA,
+ 1829: 0x59FC,
+ 1830: 0x59FD,
+ 1831: 0x59FE,
+ 1832: 0x5A00,
+ 1833: 0x5A02,
+ 1834: 0x5A0A,
+ 1835: 0x5A0B,
+ 1836: 0x5A0D,
+ 1837: 0x5A0E,
+ 1838: 0x5A0F,
+ 1839: 0x5A10,
+ 1840: 0x5A12,
+ 1841: 0x5A14,
+ 1842: 0x5A15,
+ 1843: 0x5A16,
+ 1844: 0x5A17,
+ 1845: 0x5A19,
+ 1846: 0x5A1A,
+ 1847: 0x5A1B,
+ 1848: 0x5A1D,
+ 1849: 0x5A1E,
+ 1850: 0x5A21,
+ 1851: 0x5A22,
+ 1852: 0x5A24,
+ 1853: 0x5A26,
+ 1854: 0x5A27,
+ 1855: 0x5A28,
+ 1856: 0x5A2A,
+ 1857: 0x5A2B,
+ 1858: 0x5A2C,
+ 1859: 0x5A2D,
+ 1860: 0x5A2E,
+ 1861: 0x5A2F,
+ 1862: 0x5A30,
+ 1863: 0x5A33,
+ 1864: 0x5A35,
+ 1865: 0x5A37,
+ 1866: 0x5A38,
+ 1867: 0x5A39,
+ 1868: 0x5A3A,
+ 1869: 0x5A3B,
+ 1870: 0x5A3D,
+ 1871: 0x5A3E,
+ 1872: 0x5A3F,
+ 1873: 0x5A41,
+ 1874: 0x5A42,
+ 1875: 0x5A43,
+ 1876: 0x5A44,
+ 1877: 0x5A45,
+ 1878: 0x5A47,
+ 1879: 0x5A48,
+ 1880: 0x5A4B,
+ 1881: 0x5A4C,
+ 1882: 0x5A4D,
+ 1883: 0x5A4E,
+ 1884: 0x5A4F,
+ 1885: 0x5A50,
+ 1886: 0x5A51,
+ 1887: 0x5A52,
+ 1888: 0x5A53,
+ 1889: 0x5A54,
+ 1890: 0x5A56,
+ 1891: 0x5A57,
+ 1892: 0x5A58,
+ 1893: 0x5A59,
+ 1894: 0x5A5B,
+ 1895: 0x5A5C,
+ 1896: 0x5A5D,
+ 1897: 0x5A5E,
+ 1898: 0x5A5F,
+ 1899: 0x5A60,
+ 1900: 0x5A61,
+ 1901: 0x5A63,
+ 1902: 0x5A64,
+ 1903: 0x5A65,
+ 1904: 0x5A66,
+ 1905: 0x5A68,
+ 1906: 0x5A69,
+ 1907: 0x5A6B,
+ 1908: 0x5A6C,
+ 1909: 0x5A6D,
+ 1910: 0x5A6E,
+ 1911: 0x5A6F,
+ 1912: 0x5A70,
+ 1913: 0x5A71,
+ 1914: 0x5A72,
+ 1915: 0x5A73,
+ 1916: 0x5A78,
+ 1917: 0x5A79,
+ 1918: 0x5A7B,
+ 1919: 0x5A7C,
+ 1920: 0x5A7D,
+ 1921: 0x5A7E,
+ 1922: 0x5A80,
+ 1923: 0x5A81,
+ 1924: 0x5A82,
+ 1925: 0x5A83,
+ 1926: 0x5A84,
+ 1927: 0x5A85,
+ 1928: 0x5A86,
+ 1929: 0x5A87,
+ 1930: 0x5A88,
+ 1931: 0x5A89,
+ 1932: 0x5A8A,
+ 1933: 0x5A8B,
+ 1934: 0x5A8C,
+ 1935: 0x5A8D,
+ 1936: 0x5A8E,
+ 1937: 0x5A8F,
+ 1938: 0x5A90,
+ 1939: 0x5A91,
+ 1940: 0x5A93,
+ 1941: 0x5A94,
+ 1942: 0x5A95,
+ 1943: 0x5A96,
+ 1944: 0x5A97,
+ 1945: 0x5A98,
+ 1946: 0x5A99,
+ 1947: 0x5A9C,
+ 1948: 0x5A9D,
+ 1949: 0x5A9E,
+ 1950: 0x5A9F,
+ 1951: 0x5AA0,
+ 1952: 0x5AA1,
+ 1953: 0x5AA2,
+ 1954: 0x5AA3,
+ 1955: 0x5AA4,
+ 1956: 0x5AA5,
+ 1957: 0x5AA6,
+ 1958: 0x5AA7,
+ 1959: 0x5AA8,
+ 1960: 0x5AA9,
+ 1961: 0x5AAB,
+ 1962: 0x5AAC,
+ 1963: 0x5AAD,
+ 1964: 0x5AAE,
+ 1965: 0x5AAF,
+ 1966: 0x5AB0,
+ 1967: 0x5AB1,
+ 1968: 0x5AB4,
+ 1969: 0x5AB6,
+ 1970: 0x5AB7,
+ 1971: 0x5AB9,
+ 1972: 0x5ABA,
+ 1973: 0x5ABB,
+ 1974: 0x5ABC,
+ 1975: 0x5ABD,
+ 1976: 0x5ABF,
+ 1977: 0x5AC0,
+ 1978: 0x5AC3,
+ 1979: 0x5AC4,
+ 1980: 0x5AC5,
+ 1981: 0x5AC6,
+ 1982: 0x5AC7,
+ 1983: 0x5AC8,
+ 1984: 0x5ACA,
+ 1985: 0x5ACB,
+ 1986: 0x5ACD,
+ 1987: 0x5ACE,
+ 1988: 0x5ACF,
+ 1989: 0x5AD0,
+ 1990: 0x5AD1,
+ 1991: 0x5AD3,
+ 1992: 0x5AD5,
+ 1993: 0x5AD7,
+ 1994: 0x5AD9,
+ 1995: 0x5ADA,
+ 1996: 0x5ADB,
+ 1997: 0x5ADD,
+ 1998: 0x5ADE,
+ 1999: 0x5ADF,
+ 2000: 0x5AE2,
+ 2001: 0x5AE4,
+ 2002: 0x5AE5,
+ 2003: 0x5AE7,
+ 2004: 0x5AE8,
+ 2005: 0x5AEA,
+ 2006: 0x5AEC,
+ 2007: 0x5AED,
+ 2008: 0x5AEE,
+ 2009: 0x5AEF,
+ 2010: 0x5AF0,
+ 2011: 0x5AF2,
+ 2012: 0x5AF3,
+ 2013: 0x5AF4,
+ 2014: 0x5AF5,
+ 2015: 0x5AF6,
+ 2016: 0x5AF7,
+ 2017: 0x5AF8,
+ 2018: 0x5AF9,
+ 2019: 0x5AFA,
+ 2020: 0x5AFB,
+ 2021: 0x5AFC,
+ 2022: 0x5AFD,
+ 2023: 0x5AFE,
+ 2024: 0x5AFF,
+ 2025: 0x5B00,
+ 2026: 0x5B01,
+ 2027: 0x5B02,
+ 2028: 0x5B03,
+ 2029: 0x5B04,
+ 2030: 0x5B05,
+ 2031: 0x5B06,
+ 2032: 0x5B07,
+ 2033: 0x5B08,
+ 2034: 0x5B0A,
+ 2035: 0x5B0B,
+ 2036: 0x5B0C,
+ 2037: 0x5B0D,
+ 2038: 0x5B0E,
+ 2039: 0x5B0F,
+ 2040: 0x5B10,
+ 2041: 0x5B11,
+ 2042: 0x5B12,
+ 2043: 0x5B13,
+ 2044: 0x5B14,
+ 2045: 0x5B15,
+ 2046: 0x5B18,
+ 2047: 0x5B19,
+ 2048: 0x5B1A,
+ 2049: 0x5B1B,
+ 2050: 0x5B1C,
+ 2051: 0x5B1D,
+ 2052: 0x5B1E,
+ 2053: 0x5B1F,
+ 2054: 0x5B20,
+ 2055: 0x5B21,
+ 2056: 0x5B22,
+ 2057: 0x5B23,
+ 2058: 0x5B24,
+ 2059: 0x5B25,
+ 2060: 0x5B26,
+ 2061: 0x5B27,
+ 2062: 0x5B28,
+ 2063: 0x5B29,
+ 2064: 0x5B2A,
+ 2065: 0x5B2B,
+ 2066: 0x5B2C,
+ 2067: 0x5B2D,
+ 2068: 0x5B2E,
+ 2069: 0x5B2F,
+ 2070: 0x5B30,
+ 2071: 0x5B31,
+ 2072: 0x5B33,
+ 2073: 0x5B35,
+ 2074: 0x5B36,
+ 2075: 0x5B38,
+ 2076: 0x5B39,
+ 2077: 0x5B3A,
+ 2078: 0x5B3B,
+ 2079: 0x5B3C,
+ 2080: 0x5B3D,
+ 2081: 0x5B3E,
+ 2082: 0x5B3F,
+ 2083: 0x5B41,
+ 2084: 0x5B42,
+ 2085: 0x5B43,
+ 2086: 0x5B44,
+ 2087: 0x5B45,
+ 2088: 0x5B46,
+ 2089: 0x5B47,
+ 2090: 0x5B48,
+ 2091: 0x5B49,
+ 2092: 0x5B4A,
+ 2093: 0x5B4B,
+ 2094: 0x5B4C,
+ 2095: 0x5B4D,
+ 2096: 0x5B4E,
+ 2097: 0x5B4F,
+ 2098: 0x5B52,
+ 2099: 0x5B56,
+ 2100: 0x5B5E,
+ 2101: 0x5B60,
+ 2102: 0x5B61,
+ 2103: 0x5B67,
+ 2104: 0x5B68,
+ 2105: 0x5B6B,
+ 2106: 0x5B6D,
+ 2107: 0x5B6E,
+ 2108: 0x5B6F,
+ 2109: 0x5B72,
+ 2110: 0x5B74,
+ 2111: 0x5B76,
+ 2112: 0x5B77,
+ 2113: 0x5B78,
+ 2114: 0x5B79,
+ 2115: 0x5B7B,
+ 2116: 0x5B7C,
+ 2117: 0x5B7E,
+ 2118: 0x5B7F,
+ 2119: 0x5B82,
+ 2120: 0x5B86,
+ 2121: 0x5B8A,
+ 2122: 0x5B8D,
+ 2123: 0x5B8E,
+ 2124: 0x5B90,
+ 2125: 0x5B91,
+ 2126: 0x5B92,
+ 2127: 0x5B94,
+ 2128: 0x5B96,
+ 2129: 0x5B9F,
+ 2130: 0x5BA7,
+ 2131: 0x5BA8,
+ 2132: 0x5BA9,
+ 2133: 0x5BAC,
+ 2134: 0x5BAD,
+ 2135: 0x5BAE,
+ 2136: 0x5BAF,
+ 2137: 0x5BB1,
+ 2138: 0x5BB2,
+ 2139: 0x5BB7,
+ 2140: 0x5BBA,
+ 2141: 0x5BBB,
+ 2142: 0x5BBC,
+ 2143: 0x5BC0,
+ 2144: 0x5BC1,
+ 2145: 0x5BC3,
+ 2146: 0x5BC8,
+ 2147: 0x5BC9,
+ 2148: 0x5BCA,
+ 2149: 0x5BCB,
+ 2150: 0x5BCD,
+ 2151: 0x5BCE,
+ 2152: 0x5BCF,
+ 2153: 0x5BD1,
+ 2154: 0x5BD4,
+ 2155: 0x5BD5,
+ 2156: 0x5BD6,
+ 2157: 0x5BD7,
+ 2158: 0x5BD8,
+ 2159: 0x5BD9,
+ 2160: 0x5BDA,
+ 2161: 0x5BDB,
+ 2162: 0x5BDC,
+ 2163: 0x5BE0,
+ 2164: 0x5BE2,
+ 2165: 0x5BE3,
+ 2166: 0x5BE6,
+ 2167: 0x5BE7,
+ 2168: 0x5BE9,
+ 2169: 0x5BEA,
+ 2170: 0x5BEB,
+ 2171: 0x5BEC,
+ 2172: 0x5BED,
+ 2173: 0x5BEF,
+ 2174: 0x5BF1,
+ 2175: 0x5BF2,
+ 2176: 0x5BF3,
+ 2177: 0x5BF4,
+ 2178: 0x5BF5,
+ 2179: 0x5BF6,
+ 2180: 0x5BF7,
+ 2181: 0x5BFD,
+ 2182: 0x5BFE,
+ 2183: 0x5C00,
+ 2184: 0x5C02,
+ 2185: 0x5C03,
+ 2186: 0x5C05,
+ 2187: 0x5C07,
+ 2188: 0x5C08,
+ 2189: 0x5C0B,
+ 2190: 0x5C0C,
+ 2191: 0x5C0D,
+ 2192: 0x5C0E,
+ 2193: 0x5C10,
+ 2194: 0x5C12,
+ 2195: 0x5C13,
+ 2196: 0x5C17,
+ 2197: 0x5C19,
+ 2198: 0x5C1B,
+ 2199: 0x5C1E,
+ 2200: 0x5C1F,
+ 2201: 0x5C20,
+ 2202: 0x5C21,
+ 2203: 0x5C23,
+ 2204: 0x5C26,
+ 2205: 0x5C28,
+ 2206: 0x5C29,
+ 2207: 0x5C2A,
+ 2208: 0x5C2B,
+ 2209: 0x5C2D,
+ 2210: 0x5C2E,
+ 2211: 0x5C2F,
+ 2212: 0x5C30,
+ 2213: 0x5C32,
+ 2214: 0x5C33,
+ 2215: 0x5C35,
+ 2216: 0x5C36,
+ 2217: 0x5C37,
+ 2218: 0x5C43,
+ 2219: 0x5C44,
+ 2220: 0x5C46,
+ 2221: 0x5C47,
+ 2222: 0x5C4C,
+ 2223: 0x5C4D,
+ 2224: 0x5C52,
+ 2225: 0x5C53,
+ 2226: 0x5C54,
+ 2227: 0x5C56,
+ 2228: 0x5C57,
+ 2229: 0x5C58,
+ 2230: 0x5C5A,
+ 2231: 0x5C5B,
+ 2232: 0x5C5C,
+ 2233: 0x5C5D,
+ 2234: 0x5C5F,
+ 2235: 0x5C62,
+ 2236: 0x5C64,
+ 2237: 0x5C67,
+ 2238: 0x5C68,
+ 2239: 0x5C69,
+ 2240: 0x5C6A,
+ 2241: 0x5C6B,
+ 2242: 0x5C6C,
+ 2243: 0x5C6D,
+ 2244: 0x5C70,
+ 2245: 0x5C72,
+ 2246: 0x5C73,
+ 2247: 0x5C74,
+ 2248: 0x5C75,
+ 2249: 0x5C76,
+ 2250: 0x5C77,
+ 2251: 0x5C78,
+ 2252: 0x5C7B,
+ 2253: 0x5C7C,
+ 2254: 0x5C7D,
+ 2255: 0x5C7E,
+ 2256: 0x5C80,
+ 2257: 0x5C83,
+ 2258: 0x5C84,
+ 2259: 0x5C85,
+ 2260: 0x5C86,
+ 2261: 0x5C87,
+ 2262: 0x5C89,
+ 2263: 0x5C8A,
+ 2264: 0x5C8B,
+ 2265: 0x5C8E,
+ 2266: 0x5C8F,
+ 2267: 0x5C92,
+ 2268: 0x5C93,
+ 2269: 0x5C95,
+ 2270: 0x5C9D,
+ 2271: 0x5C9E,
+ 2272: 0x5C9F,
+ 2273: 0x5CA0,
+ 2274: 0x5CA1,
+ 2275: 0x5CA4,
+ 2276: 0x5CA5,
+ 2277: 0x5CA6,
+ 2278: 0x5CA7,
+ 2279: 0x5CA8,
+ 2280: 0x5CAA,
+ 2281: 0x5CAE,
+ 2282: 0x5CAF,
+ 2283: 0x5CB0,
+ 2284: 0x5CB2,
+ 2285: 0x5CB4,
+ 2286: 0x5CB6,
+ 2287: 0x5CB9,
+ 2288: 0x5CBA,
+ 2289: 0x5CBB,
+ 2290: 0x5CBC,
+ 2291: 0x5CBE,
+ 2292: 0x5CC0,
+ 2293: 0x5CC2,
+ 2294: 0x5CC3,
+ 2295: 0x5CC5,
+ 2296: 0x5CC6,
+ 2297: 0x5CC7,
+ 2298: 0x5CC8,
+ 2299: 0x5CC9,
+ 2300: 0x5CCA,
+ 2301: 0x5CCC,
+ 2302: 0x5CCD,
+ 2303: 0x5CCE,
+ 2304: 0x5CCF,
+ 2305: 0x5CD0,
+ 2306: 0x5CD1,
+ 2307: 0x5CD3,
+ 2308: 0x5CD4,
+ 2309: 0x5CD5,
+ 2310: 0x5CD6,
+ 2311: 0x5CD7,
+ 2312: 0x5CD8,
+ 2313: 0x5CDA,
+ 2314: 0x5CDB,
+ 2315: 0x5CDC,
+ 2316: 0x5CDD,
+ 2317: 0x5CDE,
+ 2318: 0x5CDF,
+ 2319: 0x5CE0,
+ 2320: 0x5CE2,
+ 2321: 0x5CE3,
+ 2322: 0x5CE7,
+ 2323: 0x5CE9,
+ 2324: 0x5CEB,
+ 2325: 0x5CEC,
+ 2326: 0x5CEE,
+ 2327: 0x5CEF,
+ 2328: 0x5CF1,
+ 2329: 0x5CF2,
+ 2330: 0x5CF3,
+ 2331: 0x5CF4,
+ 2332: 0x5CF5,
+ 2333: 0x5CF6,
+ 2334: 0x5CF7,
+ 2335: 0x5CF8,
+ 2336: 0x5CF9,
+ 2337: 0x5CFA,
+ 2338: 0x5CFC,
+ 2339: 0x5CFD,
+ 2340: 0x5CFE,
+ 2341: 0x5CFF,
+ 2342: 0x5D00,
+ 2343: 0x5D01,
+ 2344: 0x5D04,
+ 2345: 0x5D05,
+ 2346: 0x5D08,
+ 2347: 0x5D09,
+ 2348: 0x5D0A,
+ 2349: 0x5D0B,
+ 2350: 0x5D0C,
+ 2351: 0x5D0D,
+ 2352: 0x5D0F,
+ 2353: 0x5D10,
+ 2354: 0x5D11,
+ 2355: 0x5D12,
+ 2356: 0x5D13,
+ 2357: 0x5D15,
+ 2358: 0x5D17,
+ 2359: 0x5D18,
+ 2360: 0x5D19,
+ 2361: 0x5D1A,
+ 2362: 0x5D1C,
+ 2363: 0x5D1D,
+ 2364: 0x5D1F,
+ 2365: 0x5D20,
+ 2366: 0x5D21,
+ 2367: 0x5D22,
+ 2368: 0x5D23,
+ 2369: 0x5D25,
+ 2370: 0x5D28,
+ 2371: 0x5D2A,
+ 2372: 0x5D2B,
+ 2373: 0x5D2C,
+ 2374: 0x5D2F,
+ 2375: 0x5D30,
+ 2376: 0x5D31,
+ 2377: 0x5D32,
+ 2378: 0x5D33,
+ 2379: 0x5D35,
+ 2380: 0x5D36,
+ 2381: 0x5D37,
+ 2382: 0x5D38,
+ 2383: 0x5D39,
+ 2384: 0x5D3A,
+ 2385: 0x5D3B,
+ 2386: 0x5D3C,
+ 2387: 0x5D3F,
+ 2388: 0x5D40,
+ 2389: 0x5D41,
+ 2390: 0x5D42,
+ 2391: 0x5D43,
+ 2392: 0x5D44,
+ 2393: 0x5D45,
+ 2394: 0x5D46,
+ 2395: 0x5D48,
+ 2396: 0x5D49,
+ 2397: 0x5D4D,
+ 2398: 0x5D4E,
+ 2399: 0x5D4F,
+ 2400: 0x5D50,
+ 2401: 0x5D51,
+ 2402: 0x5D52,
+ 2403: 0x5D53,
+ 2404: 0x5D54,
+ 2405: 0x5D55,
+ 2406: 0x5D56,
+ 2407: 0x5D57,
+ 2408: 0x5D59,
+ 2409: 0x5D5A,
+ 2410: 0x5D5C,
+ 2411: 0x5D5E,
+ 2412: 0x5D5F,
+ 2413: 0x5D60,
+ 2414: 0x5D61,
+ 2415: 0x5D62,
+ 2416: 0x5D63,
+ 2417: 0x5D64,
+ 2418: 0x5D65,
+ 2419: 0x5D66,
+ 2420: 0x5D67,
+ 2421: 0x5D68,
+ 2422: 0x5D6A,
+ 2423: 0x5D6D,
+ 2424: 0x5D6E,
+ 2425: 0x5D70,
+ 2426: 0x5D71,
+ 2427: 0x5D72,
+ 2428: 0x5D73,
+ 2429: 0x5D75,
+ 2430: 0x5D76,
+ 2431: 0x5D77,
+ 2432: 0x5D78,
+ 2433: 0x5D79,
+ 2434: 0x5D7A,
+ 2435: 0x5D7B,
+ 2436: 0x5D7C,
+ 2437: 0x5D7D,
+ 2438: 0x5D7E,
+ 2439: 0x5D7F,
+ 2440: 0x5D80,
+ 2441: 0x5D81,
+ 2442: 0x5D83,
+ 2443: 0x5D84,
+ 2444: 0x5D85,
+ 2445: 0x5D86,
+ 2446: 0x5D87,
+ 2447: 0x5D88,
+ 2448: 0x5D89,
+ 2449: 0x5D8A,
+ 2450: 0x5D8B,
+ 2451: 0x5D8C,
+ 2452: 0x5D8D,
+ 2453: 0x5D8E,
+ 2454: 0x5D8F,
+ 2455: 0x5D90,
+ 2456: 0x5D91,
+ 2457: 0x5D92,
+ 2458: 0x5D93,
+ 2459: 0x5D94,
+ 2460: 0x5D95,
+ 2461: 0x5D96,
+ 2462: 0x5D97,
+ 2463: 0x5D98,
+ 2464: 0x5D9A,
+ 2465: 0x5D9B,
+ 2466: 0x5D9C,
+ 2467: 0x5D9E,
+ 2468: 0x5D9F,
+ 2469: 0x5DA0,
+ 2470: 0x5DA1,
+ 2471: 0x5DA2,
+ 2472: 0x5DA3,
+ 2473: 0x5DA4,
+ 2474: 0x5DA5,
+ 2475: 0x5DA6,
+ 2476: 0x5DA7,
+ 2477: 0x5DA8,
+ 2478: 0x5DA9,
+ 2479: 0x5DAA,
+ 2480: 0x5DAB,
+ 2481: 0x5DAC,
+ 2482: 0x5DAD,
+ 2483: 0x5DAE,
+ 2484: 0x5DAF,
+ 2485: 0x5DB0,
+ 2486: 0x5DB1,
+ 2487: 0x5DB2,
+ 2488: 0x5DB3,
+ 2489: 0x5DB4,
+ 2490: 0x5DB5,
+ 2491: 0x5DB6,
+ 2492: 0x5DB8,
+ 2493: 0x5DB9,
+ 2494: 0x5DBA,
+ 2495: 0x5DBB,
+ 2496: 0x5DBC,
+ 2497: 0x5DBD,
+ 2498: 0x5DBE,
+ 2499: 0x5DBF,
+ 2500: 0x5DC0,
+ 2501: 0x5DC1,
+ 2502: 0x5DC2,
+ 2503: 0x5DC3,
+ 2504: 0x5DC4,
+ 2505: 0x5DC6,
+ 2506: 0x5DC7,
+ 2507: 0x5DC8,
+ 2508: 0x5DC9,
+ 2509: 0x5DCA,
+ 2510: 0x5DCB,
+ 2511: 0x5DCC,
+ 2512: 0x5DCE,
+ 2513: 0x5DCF,
+ 2514: 0x5DD0,
+ 2515: 0x5DD1,
+ 2516: 0x5DD2,
+ 2517: 0x5DD3,
+ 2518: 0x5DD4,
+ 2519: 0x5DD5,
+ 2520: 0x5DD6,
+ 2521: 0x5DD7,
+ 2522: 0x5DD8,
+ 2523: 0x5DD9,
+ 2524: 0x5DDA,
+ 2525: 0x5DDC,
+ 2526: 0x5DDF,
+ 2527: 0x5DE0,
+ 2528: 0x5DE3,
+ 2529: 0x5DE4,
+ 2530: 0x5DEA,
+ 2531: 0x5DEC,
+ 2532: 0x5DED,
+ 2533: 0x5DF0,
+ 2534: 0x5DF5,
+ 2535: 0x5DF6,
+ 2536: 0x5DF8,
+ 2537: 0x5DF9,
+ 2538: 0x5DFA,
+ 2539: 0x5DFB,
+ 2540: 0x5DFC,
+ 2541: 0x5DFF,
+ 2542: 0x5E00,
+ 2543: 0x5E04,
+ 2544: 0x5E07,
+ 2545: 0x5E09,
+ 2546: 0x5E0A,
+ 2547: 0x5E0B,
+ 2548: 0x5E0D,
+ 2549: 0x5E0E,
+ 2550: 0x5E12,
+ 2551: 0x5E13,
+ 2552: 0x5E17,
+ 2553: 0x5E1E,
+ 2554: 0x5E1F,
+ 2555: 0x5E20,
+ 2556: 0x5E21,
+ 2557: 0x5E22,
+ 2558: 0x5E23,
+ 2559: 0x5E24,
+ 2560: 0x5E25,
+ 2561: 0x5E28,
+ 2562: 0x5E29,
+ 2563: 0x5E2A,
+ 2564: 0x5E2B,
+ 2565: 0x5E2C,
+ 2566: 0x5E2F,
+ 2567: 0x5E30,
+ 2568: 0x5E32,
+ 2569: 0x5E33,
+ 2570: 0x5E34,
+ 2571: 0x5E35,
+ 2572: 0x5E36,
+ 2573: 0x5E39,
+ 2574: 0x5E3A,
+ 2575: 0x5E3E,
+ 2576: 0x5E3F,
+ 2577: 0x5E40,
+ 2578: 0x5E41,
+ 2579: 0x5E43,
+ 2580: 0x5E46,
+ 2581: 0x5E47,
+ 2582: 0x5E48,
+ 2583: 0x5E49,
+ 2584: 0x5E4A,
+ 2585: 0x5E4B,
+ 2586: 0x5E4D,
+ 2587: 0x5E4E,
+ 2588: 0x5E4F,
+ 2589: 0x5E50,
+ 2590: 0x5E51,
+ 2591: 0x5E52,
+ 2592: 0x5E53,
+ 2593: 0x5E56,
+ 2594: 0x5E57,
+ 2595: 0x5E58,
+ 2596: 0x5E59,
+ 2597: 0x5E5A,
+ 2598: 0x5E5C,
+ 2599: 0x5E5D,
+ 2600: 0x5E5F,
+ 2601: 0x5E60,
+ 2602: 0x5E63,
+ 2603: 0x5E64,
+ 2604: 0x5E65,
+ 2605: 0x5E66,
+ 2606: 0x5E67,
+ 2607: 0x5E68,
+ 2608: 0x5E69,
+ 2609: 0x5E6A,
+ 2610: 0x5E6B,
+ 2611: 0x5E6C,
+ 2612: 0x5E6D,
+ 2613: 0x5E6E,
+ 2614: 0x5E6F,
+ 2615: 0x5E70,
+ 2616: 0x5E71,
+ 2617: 0x5E75,
+ 2618: 0x5E77,
+ 2619: 0x5E79,
+ 2620: 0x5E7E,
+ 2621: 0x5E81,
+ 2622: 0x5E82,
+ 2623: 0x5E83,
+ 2624: 0x5E85,
+ 2625: 0x5E88,
+ 2626: 0x5E89,
+ 2627: 0x5E8C,
+ 2628: 0x5E8D,
+ 2629: 0x5E8E,
+ 2630: 0x5E92,
+ 2631: 0x5E98,
+ 2632: 0x5E9B,
+ 2633: 0x5E9D,
+ 2634: 0x5EA1,
+ 2635: 0x5EA2,
+ 2636: 0x5EA3,
+ 2637: 0x5EA4,
+ 2638: 0x5EA8,
+ 2639: 0x5EA9,
+ 2640: 0x5EAA,
+ 2641: 0x5EAB,
+ 2642: 0x5EAC,
+ 2643: 0x5EAE,
+ 2644: 0x5EAF,
+ 2645: 0x5EB0,
+ 2646: 0x5EB1,
+ 2647: 0x5EB2,
+ 2648: 0x5EB4,
+ 2649: 0x5EBA,
+ 2650: 0x5EBB,
+ 2651: 0x5EBC,
+ 2652: 0x5EBD,
+ 2653: 0x5EBF,
+ 2654: 0x5EC0,
+ 2655: 0x5EC1,
+ 2656: 0x5EC2,
+ 2657: 0x5EC3,
+ 2658: 0x5EC4,
+ 2659: 0x5EC5,
+ 2660: 0x5EC6,
+ 2661: 0x5EC7,
+ 2662: 0x5EC8,
+ 2663: 0x5ECB,
+ 2664: 0x5ECC,
+ 2665: 0x5ECD,
+ 2666: 0x5ECE,
+ 2667: 0x5ECF,
+ 2668: 0x5ED0,
+ 2669: 0x5ED4,
+ 2670: 0x5ED5,
+ 2671: 0x5ED7,
+ 2672: 0x5ED8,
+ 2673: 0x5ED9,
+ 2674: 0x5EDA,
+ 2675: 0x5EDC,
+ 2676: 0x5EDD,
+ 2677: 0x5EDE,
+ 2678: 0x5EDF,
+ 2679: 0x5EE0,
+ 2680: 0x5EE1,
+ 2681: 0x5EE2,
+ 2682: 0x5EE3,
+ 2683: 0x5EE4,
+ 2684: 0x5EE5,
+ 2685: 0x5EE6,
+ 2686: 0x5EE7,
+ 2687: 0x5EE9,
+ 2688: 0x5EEB,
+ 2689: 0x5EEC,
+ 2690: 0x5EED,
+ 2691: 0x5EEE,
+ 2692: 0x5EEF,
+ 2693: 0x5EF0,
+ 2694: 0x5EF1,
+ 2695: 0x5EF2,
+ 2696: 0x5EF3,
+ 2697: 0x5EF5,
+ 2698: 0x5EF8,
+ 2699: 0x5EF9,
+ 2700: 0x5EFB,
+ 2701: 0x5EFC,
+ 2702: 0x5EFD,
+ 2703: 0x5F05,
+ 2704: 0x5F06,
+ 2705: 0x5F07,
+ 2706: 0x5F09,
+ 2707: 0x5F0C,
+ 2708: 0x5F0D,
+ 2709: 0x5F0E,
+ 2710: 0x5F10,
+ 2711: 0x5F12,
+ 2712: 0x5F14,
+ 2713: 0x5F16,
+ 2714: 0x5F19,
+ 2715: 0x5F1A,
+ 2716: 0x5F1C,
+ 2717: 0x5F1D,
+ 2718: 0x5F1E,
+ 2719: 0x5F21,
+ 2720: 0x5F22,
+ 2721: 0x5F23,
+ 2722: 0x5F24,
+ 2723: 0x5F28,
+ 2724: 0x5F2B,
+ 2725: 0x5F2C,
+ 2726: 0x5F2E,
+ 2727: 0x5F30,
+ 2728: 0x5F32,
+ 2729: 0x5F33,
+ 2730: 0x5F34,
+ 2731: 0x5F35,
+ 2732: 0x5F36,
+ 2733: 0x5F37,
+ 2734: 0x5F38,
+ 2735: 0x5F3B,
+ 2736: 0x5F3D,
+ 2737: 0x5F3E,
+ 2738: 0x5F3F,
+ 2739: 0x5F41,
+ 2740: 0x5F42,
+ 2741: 0x5F43,
+ 2742: 0x5F44,
+ 2743: 0x5F45,
+ 2744: 0x5F46,
+ 2745: 0x5F47,
+ 2746: 0x5F48,
+ 2747: 0x5F49,
+ 2748: 0x5F4A,
+ 2749: 0x5F4B,
+ 2750: 0x5F4C,
+ 2751: 0x5F4D,
+ 2752: 0x5F4E,
+ 2753: 0x5F4F,
+ 2754: 0x5F51,
+ 2755: 0x5F54,
+ 2756: 0x5F59,
+ 2757: 0x5F5A,
+ 2758: 0x5F5B,
+ 2759: 0x5F5C,
+ 2760: 0x5F5E,
+ 2761: 0x5F5F,
+ 2762: 0x5F60,
+ 2763: 0x5F63,
+ 2764: 0x5F65,
+ 2765: 0x5F67,
+ 2766: 0x5F68,
+ 2767: 0x5F6B,
+ 2768: 0x5F6E,
+ 2769: 0x5F6F,
+ 2770: 0x5F72,
+ 2771: 0x5F74,
+ 2772: 0x5F75,
+ 2773: 0x5F76,
+ 2774: 0x5F78,
+ 2775: 0x5F7A,
+ 2776: 0x5F7D,
+ 2777: 0x5F7E,
+ 2778: 0x5F7F,
+ 2779: 0x5F83,
+ 2780: 0x5F86,
+ 2781: 0x5F8D,
+ 2782: 0x5F8E,
+ 2783: 0x5F8F,
+ 2784: 0x5F91,
+ 2785: 0x5F93,
+ 2786: 0x5F94,
+ 2787: 0x5F96,
+ 2788: 0x5F9A,
+ 2789: 0x5F9B,
+ 2790: 0x5F9D,
+ 2791: 0x5F9E,
+ 2792: 0x5F9F,
+ 2793: 0x5FA0,
+ 2794: 0x5FA2,
+ 2795: 0x5FA3,
+ 2796: 0x5FA4,
+ 2797: 0x5FA5,
+ 2798: 0x5FA6,
+ 2799: 0x5FA7,
+ 2800: 0x5FA9,
+ 2801: 0x5FAB,
+ 2802: 0x5FAC,
+ 2803: 0x5FAF,
+ 2804: 0x5FB0,
+ 2805: 0x5FB1,
+ 2806: 0x5FB2,
+ 2807: 0x5FB3,
+ 2808: 0x5FB4,
+ 2809: 0x5FB6,
+ 2810: 0x5FB8,
+ 2811: 0x5FB9,
+ 2812: 0x5FBA,
+ 2813: 0x5FBB,
+ 2814: 0x5FBE,
+ 2815: 0x5FBF,
+ 2816: 0x5FC0,
+ 2817: 0x5FC1,
+ 2818: 0x5FC2,
+ 2819: 0x5FC7,
+ 2820: 0x5FC8,
+ 2821: 0x5FCA,
+ 2822: 0x5FCB,
+ 2823: 0x5FCE,
+ 2824: 0x5FD3,
+ 2825: 0x5FD4,
+ 2826: 0x5FD5,
+ 2827: 0x5FDA,
+ 2828: 0x5FDB,
+ 2829: 0x5FDC,
+ 2830: 0x5FDE,
+ 2831: 0x5FDF,
+ 2832: 0x5FE2,
+ 2833: 0x5FE3,
+ 2834: 0x5FE5,
+ 2835: 0x5FE6,
+ 2836: 0x5FE8,
+ 2837: 0x5FE9,
+ 2838: 0x5FEC,
+ 2839: 0x5FEF,
+ 2840: 0x5FF0,
+ 2841: 0x5FF2,
+ 2842: 0x5FF3,
+ 2843: 0x5FF4,
+ 2844: 0x5FF6,
+ 2845: 0x5FF7,
+ 2846: 0x5FF9,
+ 2847: 0x5FFA,
+ 2848: 0x5FFC,
+ 2849: 0x6007,
+ 2850: 0x6008,
+ 2851: 0x6009,
+ 2852: 0x600B,
+ 2853: 0x600C,
+ 2854: 0x6010,
+ 2855: 0x6011,
+ 2856: 0x6013,
+ 2857: 0x6017,
+ 2858: 0x6018,
+ 2859: 0x601A,
+ 2860: 0x601E,
+ 2861: 0x601F,
+ 2862: 0x6022,
+ 2863: 0x6023,
+ 2864: 0x6024,
+ 2865: 0x602C,
+ 2866: 0x602D,
+ 2867: 0x602E,
+ 2868: 0x6030,
+ 2869: 0x6031,
+ 2870: 0x6032,
+ 2871: 0x6033,
+ 2872: 0x6034,
+ 2873: 0x6036,
+ 2874: 0x6037,
+ 2875: 0x6038,
+ 2876: 0x6039,
+ 2877: 0x603A,
+ 2878: 0x603D,
+ 2879: 0x603E,
+ 2880: 0x6040,
+ 2881: 0x6044,
+ 2882: 0x6045,
+ 2883: 0x6046,
+ 2884: 0x6047,
+ 2885: 0x6048,
+ 2886: 0x6049,
+ 2887: 0x604A,
+ 2888: 0x604C,
+ 2889: 0x604E,
+ 2890: 0x604F,
+ 2891: 0x6051,
+ 2892: 0x6053,
+ 2893: 0x6054,
+ 2894: 0x6056,
+ 2895: 0x6057,
+ 2896: 0x6058,
+ 2897: 0x605B,
+ 2898: 0x605C,
+ 2899: 0x605E,
+ 2900: 0x605F,
+ 2901: 0x6060,
+ 2902: 0x6061,
+ 2903: 0x6065,
+ 2904: 0x6066,
+ 2905: 0x606E,
+ 2906: 0x6071,
+ 2907: 0x6072,
+ 2908: 0x6074,
+ 2909: 0x6075,
+ 2910: 0x6077,
+ 2911: 0x607E,
+ 2912: 0x6080,
+ 2913: 0x6081,
+ 2914: 0x6082,
+ 2915: 0x6085,
+ 2916: 0x6086,
+ 2917: 0x6087,
+ 2918: 0x6088,
+ 2919: 0x608A,
+ 2920: 0x608B,
+ 2921: 0x608E,
+ 2922: 0x608F,
+ 2923: 0x6090,
+ 2924: 0x6091,
+ 2925: 0x6093,
+ 2926: 0x6095,
+ 2927: 0x6097,
+ 2928: 0x6098,
+ 2929: 0x6099,
+ 2930: 0x609C,
+ 2931: 0x609E,
+ 2932: 0x60A1,
+ 2933: 0x60A2,
+ 2934: 0x60A4,
+ 2935: 0x60A5,
+ 2936: 0x60A7,
+ 2937: 0x60A9,
+ 2938: 0x60AA,
+ 2939: 0x60AE,
+ 2940: 0x60B0,
+ 2941: 0x60B3,
+ 2942: 0x60B5,
+ 2943: 0x60B6,
+ 2944: 0x60B7,
+ 2945: 0x60B9,
+ 2946: 0x60BA,
+ 2947: 0x60BD,
+ 2948: 0x60BE,
+ 2949: 0x60BF,
+ 2950: 0x60C0,
+ 2951: 0x60C1,
+ 2952: 0x60C2,
+ 2953: 0x60C3,
+ 2954: 0x60C4,
+ 2955: 0x60C7,
+ 2956: 0x60C8,
+ 2957: 0x60C9,
+ 2958: 0x60CC,
+ 2959: 0x60CD,
+ 2960: 0x60CE,
+ 2961: 0x60CF,
+ 2962: 0x60D0,
+ 2963: 0x60D2,
+ 2964: 0x60D3,
+ 2965: 0x60D4,
+ 2966: 0x60D6,
+ 2967: 0x60D7,
+ 2968: 0x60D9,
+ 2969: 0x60DB,
+ 2970: 0x60DE,
+ 2971: 0x60E1,
+ 2972: 0x60E2,
+ 2973: 0x60E3,
+ 2974: 0x60E4,
+ 2975: 0x60E5,
+ 2976: 0x60EA,
+ 2977: 0x60F1,
+ 2978: 0x60F2,
+ 2979: 0x60F5,
+ 2980: 0x60F7,
+ 2981: 0x60F8,
+ 2982: 0x60FB,
+ 2983: 0x60FC,
+ 2984: 0x60FD,
+ 2985: 0x60FE,
+ 2986: 0x60FF,
+ 2987: 0x6102,
+ 2988: 0x6103,
+ 2989: 0x6104,
+ 2990: 0x6105,
+ 2991: 0x6107,
+ 2992: 0x610A,
+ 2993: 0x610B,
+ 2994: 0x610C,
+ 2995: 0x6110,
+ 2996: 0x6111,
+ 2997: 0x6112,
+ 2998: 0x6113,
+ 2999: 0x6114,
+ 3000: 0x6116,
+ 3001: 0x6117,
+ 3002: 0x6118,
+ 3003: 0x6119,
+ 3004: 0x611B,
+ 3005: 0x611C,
+ 3006: 0x611D,
+ 3007: 0x611E,
+ 3008: 0x6121,
+ 3009: 0x6122,
+ 3010: 0x6125,
+ 3011: 0x6128,
+ 3012: 0x6129,
+ 3013: 0x612A,
+ 3014: 0x612C,
+ 3015: 0x612D,
+ 3016: 0x612E,
+ 3017: 0x612F,
+ 3018: 0x6130,
+ 3019: 0x6131,
+ 3020: 0x6132,
+ 3021: 0x6133,
+ 3022: 0x6134,
+ 3023: 0x6135,
+ 3024: 0x6136,
+ 3025: 0x6137,
+ 3026: 0x6138,
+ 3027: 0x6139,
+ 3028: 0x613A,
+ 3029: 0x613B,
+ 3030: 0x613C,
+ 3031: 0x613D,
+ 3032: 0x613E,
+ 3033: 0x6140,
+ 3034: 0x6141,
+ 3035: 0x6142,
+ 3036: 0x6143,
+ 3037: 0x6144,
+ 3038: 0x6145,
+ 3039: 0x6146,
+ 3040: 0x6147,
+ 3041: 0x6149,
+ 3042: 0x614B,
+ 3043: 0x614D,
+ 3044: 0x614F,
+ 3045: 0x6150,
+ 3046: 0x6152,
+ 3047: 0x6153,
+ 3048: 0x6154,
+ 3049: 0x6156,
+ 3050: 0x6157,
+ 3051: 0x6158,
+ 3052: 0x6159,
+ 3053: 0x615A,
+ 3054: 0x615B,
+ 3055: 0x615C,
+ 3056: 0x615E,
+ 3057: 0x615F,
+ 3058: 0x6160,
+ 3059: 0x6161,
+ 3060: 0x6163,
+ 3061: 0x6164,
+ 3062: 0x6165,
+ 3063: 0x6166,
+ 3064: 0x6169,
+ 3065: 0x616A,
+ 3066: 0x616B,
+ 3067: 0x616C,
+ 3068: 0x616D,
+ 3069: 0x616E,
+ 3070: 0x616F,
+ 3071: 0x6171,
+ 3072: 0x6172,
+ 3073: 0x6173,
+ 3074: 0x6174,
+ 3075: 0x6176,
+ 3076: 0x6178,
+ 3077: 0x6179,
+ 3078: 0x617A,
+ 3079: 0x617B,
+ 3080: 0x617C,
+ 3081: 0x617D,
+ 3082: 0x617E,
+ 3083: 0x617F,
+ 3084: 0x6180,
+ 3085: 0x6181,
+ 3086: 0x6182,
+ 3087: 0x6183,
+ 3088: 0x6184,
+ 3089: 0x6185,
+ 3090: 0x6186,
+ 3091: 0x6187,
+ 3092: 0x6188,
+ 3093: 0x6189,
+ 3094: 0x618A,
+ 3095: 0x618C,
+ 3096: 0x618D,
+ 3097: 0x618F,
+ 3098: 0x6190,
+ 3099: 0x6191,
+ 3100: 0x6192,
+ 3101: 0x6193,
+ 3102: 0x6195,
+ 3103: 0x6196,
+ 3104: 0x6197,
+ 3105: 0x6198,
+ 3106: 0x6199,
+ 3107: 0x619A,
+ 3108: 0x619B,
+ 3109: 0x619C,
+ 3110: 0x619E,
+ 3111: 0x619F,
+ 3112: 0x61A0,
+ 3113: 0x61A1,
+ 3114: 0x61A2,
+ 3115: 0x61A3,
+ 3116: 0x61A4,
+ 3117: 0x61A5,
+ 3118: 0x61A6,
+ 3119: 0x61AA,
+ 3120: 0x61AB,
+ 3121: 0x61AD,
+ 3122: 0x61AE,
+ 3123: 0x61AF,
+ 3124: 0x61B0,
+ 3125: 0x61B1,
+ 3126: 0x61B2,
+ 3127: 0x61B3,
+ 3128: 0x61B4,
+ 3129: 0x61B5,
+ 3130: 0x61B6,
+ 3131: 0x61B8,
+ 3132: 0x61B9,
+ 3133: 0x61BA,
+ 3134: 0x61BB,
+ 3135: 0x61BC,
+ 3136: 0x61BD,
+ 3137: 0x61BF,
+ 3138: 0x61C0,
+ 3139: 0x61C1,
+ 3140: 0x61C3,
+ 3141: 0x61C4,
+ 3142: 0x61C5,
+ 3143: 0x61C6,
+ 3144: 0x61C7,
+ 3145: 0x61C9,
+ 3146: 0x61CC,
+ 3147: 0x61CD,
+ 3148: 0x61CE,
+ 3149: 0x61CF,
+ 3150: 0x61D0,
+ 3151: 0x61D3,
+ 3152: 0x61D5,
+ 3153: 0x61D6,
+ 3154: 0x61D7,
+ 3155: 0x61D8,
+ 3156: 0x61D9,
+ 3157: 0x61DA,
+ 3158: 0x61DB,
+ 3159: 0x61DC,
+ 3160: 0x61DD,
+ 3161: 0x61DE,
+ 3162: 0x61DF,
+ 3163: 0x61E0,
+ 3164: 0x61E1,
+ 3165: 0x61E2,
+ 3166: 0x61E3,
+ 3167: 0x61E4,
+ 3168: 0x61E5,
+ 3169: 0x61E7,
+ 3170: 0x61E8,
+ 3171: 0x61E9,
+ 3172: 0x61EA,
+ 3173: 0x61EB,
+ 3174: 0x61EC,
+ 3175: 0x61ED,
+ 3176: 0x61EE,
+ 3177: 0x61EF,
+ 3178: 0x61F0,
+ 3179: 0x61F1,
+ 3180: 0x61F2,
+ 3181: 0x61F3,
+ 3182: 0x61F4,
+ 3183: 0x61F6,
+ 3184: 0x61F7,
+ 3185: 0x61F8,
+ 3186: 0x61F9,
+ 3187: 0x61FA,
+ 3188: 0x61FB,
+ 3189: 0x61FC,
+ 3190: 0x61FD,
+ 3191: 0x61FE,
+ 3192: 0x6200,
+ 3193: 0x6201,
+ 3194: 0x6202,
+ 3195: 0x6203,
+ 3196: 0x6204,
+ 3197: 0x6205,
+ 3198: 0x6207,
+ 3199: 0x6209,
+ 3200: 0x6213,
+ 3201: 0x6214,
+ 3202: 0x6219,
+ 3203: 0x621C,
+ 3204: 0x621D,
+ 3205: 0x621E,
+ 3206: 0x6220,
+ 3207: 0x6223,
+ 3208: 0x6226,
+ 3209: 0x6227,
+ 3210: 0x6228,
+ 3211: 0x6229,
+ 3212: 0x622B,
+ 3213: 0x622D,
+ 3214: 0x622F,
+ 3215: 0x6230,
+ 3216: 0x6231,
+ 3217: 0x6232,
+ 3218: 0x6235,
+ 3219: 0x6236,
+ 3220: 0x6238,
+ 3221: 0x6239,
+ 3222: 0x623A,
+ 3223: 0x623B,
+ 3224: 0x623C,
+ 3225: 0x6242,
+ 3226: 0x6244,
+ 3227: 0x6245,
+ 3228: 0x6246,
+ 3229: 0x624A,
+ 3230: 0x624F,
+ 3231: 0x6250,
+ 3232: 0x6255,
+ 3233: 0x6256,
+ 3234: 0x6257,
+ 3235: 0x6259,
+ 3236: 0x625A,
+ 3237: 0x625C,
+ 3238: 0x625D,
+ 3239: 0x625E,
+ 3240: 0x625F,
+ 3241: 0x6260,
+ 3242: 0x6261,
+ 3243: 0x6262,
+ 3244: 0x6264,
+ 3245: 0x6265,
+ 3246: 0x6268,
+ 3247: 0x6271,
+ 3248: 0x6272,
+ 3249: 0x6274,
+ 3250: 0x6275,
+ 3251: 0x6277,
+ 3252: 0x6278,
+ 3253: 0x627A,
+ 3254: 0x627B,
+ 3255: 0x627D,
+ 3256: 0x6281,
+ 3257: 0x6282,
+ 3258: 0x6283,
+ 3259: 0x6285,
+ 3260: 0x6286,
+ 3261: 0x6287,
+ 3262: 0x6288,
+ 3263: 0x628B,
+ 3264: 0x628C,
+ 3265: 0x628D,
+ 3266: 0x628E,
+ 3267: 0x628F,
+ 3268: 0x6290,
+ 3269: 0x6294,
+ 3270: 0x6299,
+ 3271: 0x629C,
+ 3272: 0x629D,
+ 3273: 0x629E,
+ 3274: 0x62A3,
+ 3275: 0x62A6,
+ 3276: 0x62A7,
+ 3277: 0x62A9,
+ 3278: 0x62AA,
+ 3279: 0x62AD,
+ 3280: 0x62AE,
+ 3281: 0x62AF,
+ 3282: 0x62B0,
+ 3283: 0x62B2,
+ 3284: 0x62B3,
+ 3285: 0x62B4,
+ 3286: 0x62B6,
+ 3287: 0x62B7,
+ 3288: 0x62B8,
+ 3289: 0x62BA,
+ 3290: 0x62BE,
+ 3291: 0x62C0,
+ 3292: 0x62C1,
+ 3293: 0x62C3,
+ 3294: 0x62CB,
+ 3295: 0x62CF,
+ 3296: 0x62D1,
+ 3297: 0x62D5,
+ 3298: 0x62DD,
+ 3299: 0x62DE,
+ 3300: 0x62E0,
+ 3301: 0x62E1,
+ 3302: 0x62E4,
+ 3303: 0x62EA,
+ 3304: 0x62EB,
+ 3305: 0x62F0,
+ 3306: 0x62F2,
+ 3307: 0x62F5,
+ 3308: 0x62F8,
+ 3309: 0x62F9,
+ 3310: 0x62FA,
+ 3311: 0x62FB,
+ 3312: 0x6300,
+ 3313: 0x6303,
+ 3314: 0x6304,
+ 3315: 0x6305,
+ 3316: 0x6306,
+ 3317: 0x630A,
+ 3318: 0x630B,
+ 3319: 0x630C,
+ 3320: 0x630D,
+ 3321: 0x630F,
+ 3322: 0x6310,
+ 3323: 0x6312,
+ 3324: 0x6313,
+ 3325: 0x6314,
+ 3326: 0x6315,
+ 3327: 0x6317,
+ 3328: 0x6318,
+ 3329: 0x6319,
+ 3330: 0x631C,
+ 3331: 0x6326,
+ 3332: 0x6327,
+ 3333: 0x6329,
+ 3334: 0x632C,
+ 3335: 0x632D,
+ 3336: 0x632E,
+ 3337: 0x6330,
+ 3338: 0x6331,
+ 3339: 0x6333,
+ 3340: 0x6334,
+ 3341: 0x6335,
+ 3342: 0x6336,
+ 3343: 0x6337,
+ 3344: 0x6338,
+ 3345: 0x633B,
+ 3346: 0x633C,
+ 3347: 0x633E,
+ 3348: 0x633F,
+ 3349: 0x6340,
+ 3350: 0x6341,
+ 3351: 0x6344,
+ 3352: 0x6347,
+ 3353: 0x6348,
+ 3354: 0x634A,
+ 3355: 0x6351,
+ 3356: 0x6352,
+ 3357: 0x6353,
+ 3358: 0x6354,
+ 3359: 0x6356,
+ 3360: 0x6357,
+ 3361: 0x6358,
+ 3362: 0x6359,
+ 3363: 0x635A,
+ 3364: 0x635B,
+ 3365: 0x635C,
+ 3366: 0x635D,
+ 3367: 0x6360,
+ 3368: 0x6364,
+ 3369: 0x6365,
+ 3370: 0x6366,
+ 3371: 0x6368,
+ 3372: 0x636A,
+ 3373: 0x636B,
+ 3374: 0x636C,
+ 3375: 0x636F,
+ 3376: 0x6370,
+ 3377: 0x6372,
+ 3378: 0x6373,
+ 3379: 0x6374,
+ 3380: 0x6375,
+ 3381: 0x6378,
+ 3382: 0x6379,
+ 3383: 0x637C,
+ 3384: 0x637D,
+ 3385: 0x637E,
+ 3386: 0x637F,
+ 3387: 0x6381,
+ 3388: 0x6383,
+ 3389: 0x6384,
+ 3390: 0x6385,
+ 3391: 0x6386,
+ 3392: 0x638B,
+ 3393: 0x638D,
+ 3394: 0x6391,
+ 3395: 0x6393,
+ 3396: 0x6394,
+ 3397: 0x6395,
+ 3398: 0x6397,
+ 3399: 0x6399,
+ 3400: 0x639A,
+ 3401: 0x639B,
+ 3402: 0x639C,
+ 3403: 0x639D,
+ 3404: 0x639E,
+ 3405: 0x639F,
+ 3406: 0x63A1,
+ 3407: 0x63A4,
+ 3408: 0x63A6,
+ 3409: 0x63AB,
+ 3410: 0x63AF,
+ 3411: 0x63B1,
+ 3412: 0x63B2,
+ 3413: 0x63B5,
+ 3414: 0x63B6,
+ 3415: 0x63B9,
+ 3416: 0x63BB,
+ 3417: 0x63BD,
+ 3418: 0x63BF,
+ 3419: 0x63C0,
+ 3420: 0x63C1,
+ 3421: 0x63C2,
+ 3422: 0x63C3,
+ 3423: 0x63C5,
+ 3424: 0x63C7,
+ 3425: 0x63C8,
+ 3426: 0x63CA,
+ 3427: 0x63CB,
+ 3428: 0x63CC,
+ 3429: 0x63D1,
+ 3430: 0x63D3,
+ 3431: 0x63D4,
+ 3432: 0x63D5,
+ 3433: 0x63D7,
+ 3434: 0x63D8,
+ 3435: 0x63D9,
+ 3436: 0x63DA,
+ 3437: 0x63DB,
+ 3438: 0x63DC,
+ 3439: 0x63DD,
+ 3440: 0x63DF,
+ 3441: 0x63E2,
+ 3442: 0x63E4,
+ 3443: 0x63E5,
+ 3444: 0x63E6,
+ 3445: 0x63E7,
+ 3446: 0x63E8,
+ 3447: 0x63EB,
+ 3448: 0x63EC,
+ 3449: 0x63EE,
+ 3450: 0x63EF,
+ 3451: 0x63F0,
+ 3452: 0x63F1,
+ 3453: 0x63F3,
+ 3454: 0x63F5,
+ 3455: 0x63F7,
+ 3456: 0x63F9,
+ 3457: 0x63FA,
+ 3458: 0x63FB,
+ 3459: 0x63FC,
+ 3460: 0x63FE,
+ 3461: 0x6403,
+ 3462: 0x6404,
+ 3463: 0x6406,
+ 3464: 0x6407,
+ 3465: 0x6408,
+ 3466: 0x6409,
+ 3467: 0x640A,
+ 3468: 0x640D,
+ 3469: 0x640E,
+ 3470: 0x6411,
+ 3471: 0x6412,
+ 3472: 0x6415,
+ 3473: 0x6416,
+ 3474: 0x6417,
+ 3475: 0x6418,
+ 3476: 0x6419,
+ 3477: 0x641A,
+ 3478: 0x641D,
+ 3479: 0x641F,
+ 3480: 0x6422,
+ 3481: 0x6423,
+ 3482: 0x6424,
+ 3483: 0x6425,
+ 3484: 0x6427,
+ 3485: 0x6428,
+ 3486: 0x6429,
+ 3487: 0x642B,
+ 3488: 0x642E,
+ 3489: 0x642F,
+ 3490: 0x6430,
+ 3491: 0x6431,
+ 3492: 0x6432,
+ 3493: 0x6433,
+ 3494: 0x6435,
+ 3495: 0x6436,
+ 3496: 0x6437,
+ 3497: 0x6438,
+ 3498: 0x6439,
+ 3499: 0x643B,
+ 3500: 0x643C,
+ 3501: 0x643E,
+ 3502: 0x6440,
+ 3503: 0x6442,
+ 3504: 0x6443,
+ 3505: 0x6449,
+ 3506: 0x644B,
+ 3507: 0x644C,
+ 3508: 0x644D,
+ 3509: 0x644E,
+ 3510: 0x644F,
+ 3511: 0x6450,
+ 3512: 0x6451,
+ 3513: 0x6453,
+ 3514: 0x6455,
+ 3515: 0x6456,
+ 3516: 0x6457,
+ 3517: 0x6459,
+ 3518: 0x645A,
+ 3519: 0x645B,
+ 3520: 0x645C,
+ 3521: 0x645D,
+ 3522: 0x645F,
+ 3523: 0x6460,
+ 3524: 0x6461,
+ 3525: 0x6462,
+ 3526: 0x6463,
+ 3527: 0x6464,
+ 3528: 0x6465,
+ 3529: 0x6466,
+ 3530: 0x6468,
+ 3531: 0x646A,
+ 3532: 0x646B,
+ 3533: 0x646C,
+ 3534: 0x646E,
+ 3535: 0x646F,
+ 3536: 0x6470,
+ 3537: 0x6471,
+ 3538: 0x6472,
+ 3539: 0x6473,
+ 3540: 0x6474,
+ 3541: 0x6475,
+ 3542: 0x6476,
+ 3543: 0x6477,
+ 3544: 0x647B,
+ 3545: 0x647C,
+ 3546: 0x647D,
+ 3547: 0x647E,
+ 3548: 0x647F,
+ 3549: 0x6480,
+ 3550: 0x6481,
+ 3551: 0x6483,
+ 3552: 0x6486,
+ 3553: 0x6488,
+ 3554: 0x6489,
+ 3555: 0x648A,
+ 3556: 0x648B,
+ 3557: 0x648C,
+ 3558: 0x648D,
+ 3559: 0x648E,
+ 3560: 0x648F,
+ 3561: 0x6490,
+ 3562: 0x6493,
+ 3563: 0x6494,
+ 3564: 0x6497,
+ 3565: 0x6498,
+ 3566: 0x649A,
+ 3567: 0x649B,
+ 3568: 0x649C,
+ 3569: 0x649D,
+ 3570: 0x649F,
+ 3571: 0x64A0,
+ 3572: 0x64A1,
+ 3573: 0x64A2,
+ 3574: 0x64A3,
+ 3575: 0x64A5,
+ 3576: 0x64A6,
+ 3577: 0x64A7,
+ 3578: 0x64A8,
+ 3579: 0x64AA,
+ 3580: 0x64AB,
+ 3581: 0x64AF,
+ 3582: 0x64B1,
+ 3583: 0x64B2,
+ 3584: 0x64B3,
+ 3585: 0x64B4,
+ 3586: 0x64B6,
+ 3587: 0x64B9,
+ 3588: 0x64BB,
+ 3589: 0x64BD,
+ 3590: 0x64BE,
+ 3591: 0x64BF,
+ 3592: 0x64C1,
+ 3593: 0x64C3,
+ 3594: 0x64C4,
+ 3595: 0x64C6,
+ 3596: 0x64C7,
+ 3597: 0x64C8,
+ 3598: 0x64C9,
+ 3599: 0x64CA,
+ 3600: 0x64CB,
+ 3601: 0x64CC,
+ 3602: 0x64CF,
+ 3603: 0x64D1,
+ 3604: 0x64D3,
+ 3605: 0x64D4,
+ 3606: 0x64D5,
+ 3607: 0x64D6,
+ 3608: 0x64D9,
+ 3609: 0x64DA,
+ 3610: 0x64DB,
+ 3611: 0x64DC,
+ 3612: 0x64DD,
+ 3613: 0x64DF,
+ 3614: 0x64E0,
+ 3615: 0x64E1,
+ 3616: 0x64E3,
+ 3617: 0x64E5,
+ 3618: 0x64E7,
+ 3619: 0x64E8,
+ 3620: 0x64E9,
+ 3621: 0x64EA,
+ 3622: 0x64EB,
+ 3623: 0x64EC,
+ 3624: 0x64ED,
+ 3625: 0x64EE,
+ 3626: 0x64EF,
+ 3627: 0x64F0,
+ 3628: 0x64F1,
+ 3629: 0x64F2,
+ 3630: 0x64F3,
+ 3631: 0x64F4,
+ 3632: 0x64F5,
+ 3633: 0x64F6,
+ 3634: 0x64F7,
+ 3635: 0x64F8,
+ 3636: 0x64F9,
+ 3637: 0x64FA,
+ 3638: 0x64FB,
+ 3639: 0x64FC,
+ 3640: 0x64FD,
+ 3641: 0x64FE,
+ 3642: 0x64FF,
+ 3643: 0x6501,
+ 3644: 0x6502,
+ 3645: 0x6503,
+ 3646: 0x6504,
+ 3647: 0x6505,
+ 3648: 0x6506,
+ 3649: 0x6507,
+ 3650: 0x6508,
+ 3651: 0x650A,
+ 3652: 0x650B,
+ 3653: 0x650C,
+ 3654: 0x650D,
+ 3655: 0x650E,
+ 3656: 0x650F,
+ 3657: 0x6510,
+ 3658: 0x6511,
+ 3659: 0x6513,
+ 3660: 0x6514,
+ 3661: 0x6515,
+ 3662: 0x6516,
+ 3663: 0x6517,
+ 3664: 0x6519,
+ 3665: 0x651A,
+ 3666: 0x651B,
+ 3667: 0x651C,
+ 3668: 0x651D,
+ 3669: 0x651E,
+ 3670: 0x651F,
+ 3671: 0x6520,
+ 3672: 0x6521,
+ 3673: 0x6522,
+ 3674: 0x6523,
+ 3675: 0x6524,
+ 3676: 0x6526,
+ 3677: 0x6527,
+ 3678: 0x6528,
+ 3679: 0x6529,
+ 3680: 0x652A,
+ 3681: 0x652C,
+ 3682: 0x652D,
+ 3683: 0x6530,
+ 3684: 0x6531,
+ 3685: 0x6532,
+ 3686: 0x6533,
+ 3687: 0x6537,
+ 3688: 0x653A,
+ 3689: 0x653C,
+ 3690: 0x653D,
+ 3691: 0x6540,
+ 3692: 0x6541,
+ 3693: 0x6542,
+ 3694: 0x6543,
+ 3695: 0x6544,
+ 3696: 0x6546,
+ 3697: 0x6547,
+ 3698: 0x654A,
+ 3699: 0x654B,
+ 3700: 0x654D,
+ 3701: 0x654E,
+ 3702: 0x6550,
+ 3703: 0x6552,
+ 3704: 0x6553,
+ 3705: 0x6554,
+ 3706: 0x6557,
+ 3707: 0x6558,
+ 3708: 0x655A,
+ 3709: 0x655C,
+ 3710: 0x655F,
+ 3711: 0x6560,
+ 3712: 0x6561,
+ 3713: 0x6564,
+ 3714: 0x6565,
+ 3715: 0x6567,
+ 3716: 0x6568,
+ 3717: 0x6569,
+ 3718: 0x656A,
+ 3719: 0x656D,
+ 3720: 0x656E,
+ 3721: 0x656F,
+ 3722: 0x6571,
+ 3723: 0x6573,
+ 3724: 0x6575,
+ 3725: 0x6576,
+ 3726: 0x6578,
+ 3727: 0x6579,
+ 3728: 0x657A,
+ 3729: 0x657B,
+ 3730: 0x657C,
+ 3731: 0x657D,
+ 3732: 0x657E,
+ 3733: 0x657F,
+ 3734: 0x6580,
+ 3735: 0x6581,
+ 3736: 0x6582,
+ 3737: 0x6583,
+ 3738: 0x6584,
+ 3739: 0x6585,
+ 3740: 0x6586,
+ 3741: 0x6588,
+ 3742: 0x6589,
+ 3743: 0x658A,
+ 3744: 0x658D,
+ 3745: 0x658E,
+ 3746: 0x658F,
+ 3747: 0x6592,
+ 3748: 0x6594,
+ 3749: 0x6595,
+ 3750: 0x6596,
+ 3751: 0x6598,
+ 3752: 0x659A,
+ 3753: 0x659D,
+ 3754: 0x659E,
+ 3755: 0x65A0,
+ 3756: 0x65A2,
+ 3757: 0x65A3,
+ 3758: 0x65A6,
+ 3759: 0x65A8,
+ 3760: 0x65AA,
+ 3761: 0x65AC,
+ 3762: 0x65AE,
+ 3763: 0x65B1,
+ 3764: 0x65B2,
+ 3765: 0x65B3,
+ 3766: 0x65B4,
+ 3767: 0x65B5,
+ 3768: 0x65B6,
+ 3769: 0x65B7,
+ 3770: 0x65B8,
+ 3771: 0x65BA,
+ 3772: 0x65BB,
+ 3773: 0x65BE,
+ 3774: 0x65BF,
+ 3775: 0x65C0,
+ 3776: 0x65C2,
+ 3777: 0x65C7,
+ 3778: 0x65C8,
+ 3779: 0x65C9,
+ 3780: 0x65CA,
+ 3781: 0x65CD,
+ 3782: 0x65D0,
+ 3783: 0x65D1,
+ 3784: 0x65D3,
+ 3785: 0x65D4,
+ 3786: 0x65D5,
+ 3787: 0x65D8,
+ 3788: 0x65D9,
+ 3789: 0x65DA,
+ 3790: 0x65DB,
+ 3791: 0x65DC,
+ 3792: 0x65DD,
+ 3793: 0x65DE,
+ 3794: 0x65DF,
+ 3795: 0x65E1,
+ 3796: 0x65E3,
+ 3797: 0x65E4,
+ 3798: 0x65EA,
+ 3799: 0x65EB,
+ 3800: 0x65F2,
+ 3801: 0x65F3,
+ 3802: 0x65F4,
+ 3803: 0x65F5,
+ 3804: 0x65F8,
+ 3805: 0x65F9,
+ 3806: 0x65FB,
+ 3807: 0x65FC,
+ 3808: 0x65FD,
+ 3809: 0x65FE,
+ 3810: 0x65FF,
+ 3811: 0x6601,
+ 3812: 0x6604,
+ 3813: 0x6605,
+ 3814: 0x6607,
+ 3815: 0x6608,
+ 3816: 0x6609,
+ 3817: 0x660B,
+ 3818: 0x660D,
+ 3819: 0x6610,
+ 3820: 0x6611,
+ 3821: 0x6612,
+ 3822: 0x6616,
+ 3823: 0x6617,
+ 3824: 0x6618,
+ 3825: 0x661A,
+ 3826: 0x661B,
+ 3827: 0x661C,
+ 3828: 0x661E,
+ 3829: 0x6621,
+ 3830: 0x6622,
+ 3831: 0x6623,
+ 3832: 0x6624,
+ 3833: 0x6626,
+ 3834: 0x6629,
+ 3835: 0x662A,
+ 3836: 0x662B,
+ 3837: 0x662C,
+ 3838: 0x662E,
+ 3839: 0x6630,
+ 3840: 0x6632,
+ 3841: 0x6633,
+ 3842: 0x6637,
+ 3843: 0x6638,
+ 3844: 0x6639,
+ 3845: 0x663A,
+ 3846: 0x663B,
+ 3847: 0x663D,
+ 3848: 0x663F,
+ 3849: 0x6640,
+ 3850: 0x6642,
+ 3851: 0x6644,
+ 3852: 0x6645,
+ 3853: 0x6646,
+ 3854: 0x6647,
+ 3855: 0x6648,
+ 3856: 0x6649,
+ 3857: 0x664A,
+ 3858: 0x664D,
+ 3859: 0x664E,
+ 3860: 0x6650,
+ 3861: 0x6651,
+ 3862: 0x6658,
+ 3863: 0x6659,
+ 3864: 0x665B,
+ 3865: 0x665C,
+ 3866: 0x665D,
+ 3867: 0x665E,
+ 3868: 0x6660,
+ 3869: 0x6662,
+ 3870: 0x6663,
+ 3871: 0x6665,
+ 3872: 0x6667,
+ 3873: 0x6669,
+ 3874: 0x666A,
+ 3875: 0x666B,
+ 3876: 0x666C,
+ 3877: 0x666D,
+ 3878: 0x6671,
+ 3879: 0x6672,
+ 3880: 0x6673,
+ 3881: 0x6675,
+ 3882: 0x6678,
+ 3883: 0x6679,
+ 3884: 0x667B,
+ 3885: 0x667C,
+ 3886: 0x667D,
+ 3887: 0x667F,
+ 3888: 0x6680,
+ 3889: 0x6681,
+ 3890: 0x6683,
+ 3891: 0x6685,
+ 3892: 0x6686,
+ 3893: 0x6688,
+ 3894: 0x6689,
+ 3895: 0x668A,
+ 3896: 0x668B,
+ 3897: 0x668D,
+ 3898: 0x668E,
+ 3899: 0x668F,
+ 3900: 0x6690,
+ 3901: 0x6692,
+ 3902: 0x6693,
+ 3903: 0x6694,
+ 3904: 0x6695,
+ 3905: 0x6698,
+ 3906: 0x6699,
+ 3907: 0x669A,
+ 3908: 0x669B,
+ 3909: 0x669C,
+ 3910: 0x669E,
+ 3911: 0x669F,
+ 3912: 0x66A0,
+ 3913: 0x66A1,
+ 3914: 0x66A2,
+ 3915: 0x66A3,
+ 3916: 0x66A4,
+ 3917: 0x66A5,
+ 3918: 0x66A6,
+ 3919: 0x66A9,
+ 3920: 0x66AA,
+ 3921: 0x66AB,
+ 3922: 0x66AC,
+ 3923: 0x66AD,
+ 3924: 0x66AF,
+ 3925: 0x66B0,
+ 3926: 0x66B1,
+ 3927: 0x66B2,
+ 3928: 0x66B3,
+ 3929: 0x66B5,
+ 3930: 0x66B6,
+ 3931: 0x66B7,
+ 3932: 0x66B8,
+ 3933: 0x66BA,
+ 3934: 0x66BB,
+ 3935: 0x66BC,
+ 3936: 0x66BD,
+ 3937: 0x66BF,
+ 3938: 0x66C0,
+ 3939: 0x66C1,
+ 3940: 0x66C2,
+ 3941: 0x66C3,
+ 3942: 0x66C4,
+ 3943: 0x66C5,
+ 3944: 0x66C6,
+ 3945: 0x66C7,
+ 3946: 0x66C8,
+ 3947: 0x66C9,
+ 3948: 0x66CA,
+ 3949: 0x66CB,
+ 3950: 0x66CC,
+ 3951: 0x66CD,
+ 3952: 0x66CE,
+ 3953: 0x66CF,
+ 3954: 0x66D0,
+ 3955: 0x66D1,
+ 3956: 0x66D2,
+ 3957: 0x66D3,
+ 3958: 0x66D4,
+ 3959: 0x66D5,
+ 3960: 0x66D6,
+ 3961: 0x66D7,
+ 3962: 0x66D8,
+ 3963: 0x66DA,
+ 3964: 0x66DE,
+ 3965: 0x66DF,
+ 3966: 0x66E0,
+ 3967: 0x66E1,
+ 3968: 0x66E2,
+ 3969: 0x66E3,
+ 3970: 0x66E4,
+ 3971: 0x66E5,
+ 3972: 0x66E7,
+ 3973: 0x66E8,
+ 3974: 0x66EA,
+ 3975: 0x66EB,
+ 3976: 0x66EC,
+ 3977: 0x66ED,
+ 3978: 0x66EE,
+ 3979: 0x66EF,
+ 3980: 0x66F1,
+ 3981: 0x66F5,
+ 3982: 0x66F6,
+ 3983: 0x66F8,
+ 3984: 0x66FA,
+ 3985: 0x66FB,
+ 3986: 0x66FD,
+ 3987: 0x6701,
+ 3988: 0x6702,
+ 3989: 0x6703,
+ 3990: 0x6704,
+ 3991: 0x6705,
+ 3992: 0x6706,
+ 3993: 0x6707,
+ 3994: 0x670C,
+ 3995: 0x670E,
+ 3996: 0x670F,
+ 3997: 0x6711,
+ 3998: 0x6712,
+ 3999: 0x6713,
+ 4000: 0x6716,
+ 4001: 0x6718,
+ 4002: 0x6719,
+ 4003: 0x671A,
+ 4004: 0x671C,
+ 4005: 0x671E,
+ 4006: 0x6720,
+ 4007: 0x6721,
+ 4008: 0x6722,
+ 4009: 0x6723,
+ 4010: 0x6724,
+ 4011: 0x6725,
+ 4012: 0x6727,
+ 4013: 0x6729,
+ 4014: 0x672E,
+ 4015: 0x6730,
+ 4016: 0x6732,
+ 4017: 0x6733,
+ 4018: 0x6736,
+ 4019: 0x6737,
+ 4020: 0x6738,
+ 4021: 0x6739,
+ 4022: 0x673B,
+ 4023: 0x673C,
+ 4024: 0x673E,
+ 4025: 0x673F,
+ 4026: 0x6741,
+ 4027: 0x6744,
+ 4028: 0x6745,
+ 4029: 0x6747,
+ 4030: 0x674A,
+ 4031: 0x674B,
+ 4032: 0x674D,
+ 4033: 0x6752,
+ 4034: 0x6754,
+ 4035: 0x6755,
+ 4036: 0x6757,
+ 4037: 0x6758,
+ 4038: 0x6759,
+ 4039: 0x675A,
+ 4040: 0x675B,
+ 4041: 0x675D,
+ 4042: 0x6762,
+ 4043: 0x6763,
+ 4044: 0x6764,
+ 4045: 0x6766,
+ 4046: 0x6767,
+ 4047: 0x676B,
+ 4048: 0x676C,
+ 4049: 0x676E,
+ 4050: 0x6771,
+ 4051: 0x6774,
+ 4052: 0x6776,
+ 4053: 0x6778,
+ 4054: 0x6779,
+ 4055: 0x677A,
+ 4056: 0x677B,
+ 4057: 0x677D,
+ 4058: 0x6780,
+ 4059: 0x6782,
+ 4060: 0x6783,
+ 4061: 0x6785,
+ 4062: 0x6786,
+ 4063: 0x6788,
+ 4064: 0x678A,
+ 4065: 0x678C,
+ 4066: 0x678D,
+ 4067: 0x678E,
+ 4068: 0x678F,
+ 4069: 0x6791,
+ 4070: 0x6792,
+ 4071: 0x6793,
+ 4072: 0x6794,
+ 4073: 0x6796,
+ 4074: 0x6799,
+ 4075: 0x679B,
+ 4076: 0x679F,
+ 4077: 0x67A0,
+ 4078: 0x67A1,
+ 4079: 0x67A4,
+ 4080: 0x67A6,
+ 4081: 0x67A9,
+ 4082: 0x67AC,
+ 4083: 0x67AE,
+ 4084: 0x67B1,
+ 4085: 0x67B2,
+ 4086: 0x67B4,
+ 4087: 0x67B9,
+ 4088: 0x67BA,
+ 4089: 0x67BB,
+ 4090: 0x67BC,
+ 4091: 0x67BD,
+ 4092: 0x67BE,
+ 4093: 0x67BF,
+ 4094: 0x67C0,
+ 4095: 0x67C2,
+ 4096: 0x67C5,
+ 4097: 0x67C6,
+ 4098: 0x67C7,
+ 4099: 0x67C8,
+ 4100: 0x67C9,
+ 4101: 0x67CA,
+ 4102: 0x67CB,
+ 4103: 0x67CC,
+ 4104: 0x67CD,
+ 4105: 0x67CE,
+ 4106: 0x67D5,
+ 4107: 0x67D6,
+ 4108: 0x67D7,
+ 4109: 0x67DB,
+ 4110: 0x67DF,
+ 4111: 0x67E1,
+ 4112: 0x67E3,
+ 4113: 0x67E4,
+ 4114: 0x67E6,
+ 4115: 0x67E7,
+ 4116: 0x67E8,
+ 4117: 0x67EA,
+ 4118: 0x67EB,
+ 4119: 0x67ED,
+ 4120: 0x67EE,
+ 4121: 0x67F2,
+ 4122: 0x67F5,
+ 4123: 0x67F6,
+ 4124: 0x67F7,
+ 4125: 0x67F8,
+ 4126: 0x67F9,
+ 4127: 0x67FA,
+ 4128: 0x67FB,
+ 4129: 0x67FC,
+ 4130: 0x67FE,
+ 4131: 0x6801,
+ 4132: 0x6802,
+ 4133: 0x6803,
+ 4134: 0x6804,
+ 4135: 0x6806,
+ 4136: 0x680D,
+ 4137: 0x6810,
+ 4138: 0x6812,
+ 4139: 0x6814,
+ 4140: 0x6815,
+ 4141: 0x6818,
+ 4142: 0x6819,
+ 4143: 0x681A,
+ 4144: 0x681B,
+ 4145: 0x681C,
+ 4146: 0x681E,
+ 4147: 0x681F,
+ 4148: 0x6820,
+ 4149: 0x6822,
+ 4150: 0x6823,
+ 4151: 0x6824,
+ 4152: 0x6825,
+ 4153: 0x6826,
+ 4154: 0x6827,
+ 4155: 0x6828,
+ 4156: 0x682B,
+ 4157: 0x682C,
+ 4158: 0x682D,
+ 4159: 0x682E,
+ 4160: 0x682F,
+ 4161: 0x6830,
+ 4162: 0x6831,
+ 4163: 0x6834,
+ 4164: 0x6835,
+ 4165: 0x6836,
+ 4166: 0x683A,
+ 4167: 0x683B,
+ 4168: 0x683F,
+ 4169: 0x6847,
+ 4170: 0x684B,
+ 4171: 0x684D,
+ 4172: 0x684F,
+ 4173: 0x6852,
+ 4174: 0x6856,
+ 4175: 0x6857,
+ 4176: 0x6858,
+ 4177: 0x6859,
+ 4178: 0x685A,
+ 4179: 0x685B,
+ 4180: 0x685C,
+ 4181: 0x685D,
+ 4182: 0x685E,
+ 4183: 0x685F,
+ 4184: 0x686A,
+ 4185: 0x686C,
+ 4186: 0x686D,
+ 4187: 0x686E,
+ 4188: 0x686F,
+ 4189: 0x6870,
+ 4190: 0x6871,
+ 4191: 0x6872,
+ 4192: 0x6873,
+ 4193: 0x6875,
+ 4194: 0x6878,
+ 4195: 0x6879,
+ 4196: 0x687A,
+ 4197: 0x687B,
+ 4198: 0x687C,
+ 4199: 0x687D,
+ 4200: 0x687E,
+ 4201: 0x687F,
+ 4202: 0x6880,
+ 4203: 0x6882,
+ 4204: 0x6884,
+ 4205: 0x6887,
+ 4206: 0x6888,
+ 4207: 0x6889,
+ 4208: 0x688A,
+ 4209: 0x688B,
+ 4210: 0x688C,
+ 4211: 0x688D,
+ 4212: 0x688E,
+ 4213: 0x6890,
+ 4214: 0x6891,
+ 4215: 0x6892,
+ 4216: 0x6894,
+ 4217: 0x6895,
+ 4218: 0x6896,
+ 4219: 0x6898,
+ 4220: 0x6899,
+ 4221: 0x689A,
+ 4222: 0x689B,
+ 4223: 0x689C,
+ 4224: 0x689D,
+ 4225: 0x689E,
+ 4226: 0x689F,
+ 4227: 0x68A0,
+ 4228: 0x68A1,
+ 4229: 0x68A3,
+ 4230: 0x68A4,
+ 4231: 0x68A5,
+ 4232: 0x68A9,
+ 4233: 0x68AA,
+ 4234: 0x68AB,
+ 4235: 0x68AC,
+ 4236: 0x68AE,
+ 4237: 0x68B1,
+ 4238: 0x68B2,
+ 4239: 0x68B4,
+ 4240: 0x68B6,
+ 4241: 0x68B7,
+ 4242: 0x68B8,
+ 4243: 0x68B9,
+ 4244: 0x68BA,
+ 4245: 0x68BB,
+ 4246: 0x68BC,
+ 4247: 0x68BD,
+ 4248: 0x68BE,
+ 4249: 0x68BF,
+ 4250: 0x68C1,
+ 4251: 0x68C3,
+ 4252: 0x68C4,
+ 4253: 0x68C5,
+ 4254: 0x68C6,
+ 4255: 0x68C7,
+ 4256: 0x68C8,
+ 4257: 0x68CA,
+ 4258: 0x68CC,
+ 4259: 0x68CE,
+ 4260: 0x68CF,
+ 4261: 0x68D0,
+ 4262: 0x68D1,
+ 4263: 0x68D3,
+ 4264: 0x68D4,
+ 4265: 0x68D6,
+ 4266: 0x68D7,
+ 4267: 0x68D9,
+ 4268: 0x68DB,
+ 4269: 0x68DC,
+ 4270: 0x68DD,
+ 4271: 0x68DE,
+ 4272: 0x68DF,
+ 4273: 0x68E1,
+ 4274: 0x68E2,
+ 4275: 0x68E4,
+ 4276: 0x68E5,
+ 4277: 0x68E6,
+ 4278: 0x68E7,
+ 4279: 0x68E8,
+ 4280: 0x68E9,
+ 4281: 0x68EA,
+ 4282: 0x68EB,
+ 4283: 0x68EC,
+ 4284: 0x68ED,
+ 4285: 0x68EF,
+ 4286: 0x68F2,
+ 4287: 0x68F3,
+ 4288: 0x68F4,
+ 4289: 0x68F6,
+ 4290: 0x68F7,
+ 4291: 0x68F8,
+ 4292: 0x68FB,
+ 4293: 0x68FD,
+ 4294: 0x68FE,
+ 4295: 0x68FF,
+ 4296: 0x6900,
+ 4297: 0x6902,
+ 4298: 0x6903,
+ 4299: 0x6904,
+ 4300: 0x6906,
+ 4301: 0x6907,
+ 4302: 0x6908,
+ 4303: 0x6909,
+ 4304: 0x690A,
+ 4305: 0x690C,
+ 4306: 0x690F,
+ 4307: 0x6911,
+ 4308: 0x6913,
+ 4309: 0x6914,
+ 4310: 0x6915,
+ 4311: 0x6916,
+ 4312: 0x6917,
+ 4313: 0x6918,
+ 4314: 0x6919,
+ 4315: 0x691A,
+ 4316: 0x691B,
+ 4317: 0x691C,
+ 4318: 0x691D,
+ 4319: 0x691E,
+ 4320: 0x6921,
+ 4321: 0x6922,
+ 4322: 0x6923,
+ 4323: 0x6925,
+ 4324: 0x6926,
+ 4325: 0x6927,
+ 4326: 0x6928,
+ 4327: 0x6929,
+ 4328: 0x692A,
+ 4329: 0x692B,
+ 4330: 0x692C,
+ 4331: 0x692E,
+ 4332: 0x692F,
+ 4333: 0x6931,
+ 4334: 0x6932,
+ 4335: 0x6933,
+ 4336: 0x6935,
+ 4337: 0x6936,
+ 4338: 0x6937,
+ 4339: 0x6938,
+ 4340: 0x693A,
+ 4341: 0x693B,
+ 4342: 0x693C,
+ 4343: 0x693E,
+ 4344: 0x6940,
+ 4345: 0x6941,
+ 4346: 0x6943,
+ 4347: 0x6944,
+ 4348: 0x6945,
+ 4349: 0x6946,
+ 4350: 0x6947,
+ 4351: 0x6948,
+ 4352: 0x6949,
+ 4353: 0x694A,
+ 4354: 0x694B,
+ 4355: 0x694C,
+ 4356: 0x694D,
+ 4357: 0x694E,
+ 4358: 0x694F,
+ 4359: 0x6950,
+ 4360: 0x6951,
+ 4361: 0x6952,
+ 4362: 0x6953,
+ 4363: 0x6955,
+ 4364: 0x6956,
+ 4365: 0x6958,
+ 4366: 0x6959,
+ 4367: 0x695B,
+ 4368: 0x695C,
+ 4369: 0x695F,
+ 4370: 0x6961,
+ 4371: 0x6962,
+ 4372: 0x6964,
+ 4373: 0x6965,
+ 4374: 0x6967,
+ 4375: 0x6968,
+ 4376: 0x6969,
+ 4377: 0x696A,
+ 4378: 0x696C,
+ 4379: 0x696D,
+ 4380: 0x696F,
+ 4381: 0x6970,
+ 4382: 0x6972,
+ 4383: 0x6973,
+ 4384: 0x6974,
+ 4385: 0x6975,
+ 4386: 0x6976,
+ 4387: 0x697A,
+ 4388: 0x697B,
+ 4389: 0x697D,
+ 4390: 0x697E,
+ 4391: 0x697F,
+ 4392: 0x6981,
+ 4393: 0x6983,
+ 4394: 0x6985,
+ 4395: 0x698A,
+ 4396: 0x698B,
+ 4397: 0x698C,
+ 4398: 0x698E,
+ 4399: 0x698F,
+ 4400: 0x6990,
+ 4401: 0x6991,
+ 4402: 0x6992,
+ 4403: 0x6993,
+ 4404: 0x6996,
+ 4405: 0x6997,
+ 4406: 0x6999,
+ 4407: 0x699A,
+ 4408: 0x699D,
+ 4409: 0x699E,
+ 4410: 0x699F,
+ 4411: 0x69A0,
+ 4412: 0x69A1,
+ 4413: 0x69A2,
+ 4414: 0x69A3,
+ 4415: 0x69A4,
+ 4416: 0x69A5,
+ 4417: 0x69A6,
+ 4418: 0x69A9,
+ 4419: 0x69AA,
+ 4420: 0x69AC,
+ 4421: 0x69AE,
+ 4422: 0x69AF,
+ 4423: 0x69B0,
+ 4424: 0x69B2,
+ 4425: 0x69B3,
+ 4426: 0x69B5,
+ 4427: 0x69B6,
+ 4428: 0x69B8,
+ 4429: 0x69B9,
+ 4430: 0x69BA,
+ 4431: 0x69BC,
+ 4432: 0x69BD,
+ 4433: 0x69BE,
+ 4434: 0x69BF,
+ 4435: 0x69C0,
+ 4436: 0x69C2,
+ 4437: 0x69C3,
+ 4438: 0x69C4,
+ 4439: 0x69C5,
+ 4440: 0x69C6,
+ 4441: 0x69C7,
+ 4442: 0x69C8,
+ 4443: 0x69C9,
+ 4444: 0x69CB,
+ 4445: 0x69CD,
+ 4446: 0x69CF,
+ 4447: 0x69D1,
+ 4448: 0x69D2,
+ 4449: 0x69D3,
+ 4450: 0x69D5,
+ 4451: 0x69D6,
+ 4452: 0x69D7,
+ 4453: 0x69D8,
+ 4454: 0x69D9,
+ 4455: 0x69DA,
+ 4456: 0x69DC,
+ 4457: 0x69DD,
+ 4458: 0x69DE,
+ 4459: 0x69E1,
+ 4460: 0x69E2,
+ 4461: 0x69E3,
+ 4462: 0x69E4,
+ 4463: 0x69E5,
+ 4464: 0x69E6,
+ 4465: 0x69E7,
+ 4466: 0x69E8,
+ 4467: 0x69E9,
+ 4468: 0x69EA,
+ 4469: 0x69EB,
+ 4470: 0x69EC,
+ 4471: 0x69EE,
+ 4472: 0x69EF,
+ 4473: 0x69F0,
+ 4474: 0x69F1,
+ 4475: 0x69F3,
+ 4476: 0x69F4,
+ 4477: 0x69F5,
+ 4478: 0x69F6,
+ 4479: 0x69F7,
+ 4480: 0x69F8,
+ 4481: 0x69F9,
+ 4482: 0x69FA,
+ 4483: 0x69FB,
+ 4484: 0x69FC,
+ 4485: 0x69FE,
+ 4486: 0x6A00,
+ 4487: 0x6A01,
+ 4488: 0x6A02,
+ 4489: 0x6A03,
+ 4490: 0x6A04,
+ 4491: 0x6A05,
+ 4492: 0x6A06,
+ 4493: 0x6A07,
+ 4494: 0x6A08,
+ 4495: 0x6A09,
+ 4496: 0x6A0B,
+ 4497: 0x6A0C,
+ 4498: 0x6A0D,
+ 4499: 0x6A0E,
+ 4500: 0x6A0F,
+ 4501: 0x6A10,
+ 4502: 0x6A11,
+ 4503: 0x6A12,
+ 4504: 0x6A13,
+ 4505: 0x6A14,
+ 4506: 0x6A15,
+ 4507: 0x6A16,
+ 4508: 0x6A19,
+ 4509: 0x6A1A,
+ 4510: 0x6A1B,
+ 4511: 0x6A1C,
+ 4512: 0x6A1D,
+ 4513: 0x6A1E,
+ 4514: 0x6A20,
+ 4515: 0x6A22,
+ 4516: 0x6A23,
+ 4517: 0x6A24,
+ 4518: 0x6A25,
+ 4519: 0x6A26,
+ 4520: 0x6A27,
+ 4521: 0x6A29,
+ 4522: 0x6A2B,
+ 4523: 0x6A2C,
+ 4524: 0x6A2D,
+ 4525: 0x6A2E,
+ 4526: 0x6A30,
+ 4527: 0x6A32,
+ 4528: 0x6A33,
+ 4529: 0x6A34,
+ 4530: 0x6A36,
+ 4531: 0x6A37,
+ 4532: 0x6A38,
+ 4533: 0x6A39,
+ 4534: 0x6A3A,
+ 4535: 0x6A3B,
+ 4536: 0x6A3C,
+ 4537: 0x6A3F,
+ 4538: 0x6A40,
+ 4539: 0x6A41,
+ 4540: 0x6A42,
+ 4541: 0x6A43,
+ 4542: 0x6A45,
+ 4543: 0x6A46,
+ 4544: 0x6A48,
+ 4545: 0x6A49,
+ 4546: 0x6A4A,
+ 4547: 0x6A4B,
+ 4548: 0x6A4C,
+ 4549: 0x6A4D,
+ 4550: 0x6A4E,
+ 4551: 0x6A4F,
+ 4552: 0x6A51,
+ 4553: 0x6A52,
+ 4554: 0x6A53,
+ 4555: 0x6A54,
+ 4556: 0x6A55,
+ 4557: 0x6A56,
+ 4558: 0x6A57,
+ 4559: 0x6A5A,
+ 4560: 0x6A5C,
+ 4561: 0x6A5D,
+ 4562: 0x6A5E,
+ 4563: 0x6A5F,
+ 4564: 0x6A60,
+ 4565: 0x6A62,
+ 4566: 0x6A63,
+ 4567: 0x6A64,
+ 4568: 0x6A66,
+ 4569: 0x6A67,
+ 4570: 0x6A68,
+ 4571: 0x6A69,
+ 4572: 0x6A6A,
+ 4573: 0x6A6B,
+ 4574: 0x6A6C,
+ 4575: 0x6A6D,
+ 4576: 0x6A6E,
+ 4577: 0x6A6F,
+ 4578: 0x6A70,
+ 4579: 0x6A72,
+ 4580: 0x6A73,
+ 4581: 0x6A74,
+ 4582: 0x6A75,
+ 4583: 0x6A76,
+ 4584: 0x6A77,
+ 4585: 0x6A78,
+ 4586: 0x6A7A,
+ 4587: 0x6A7B,
+ 4588: 0x6A7D,
+ 4589: 0x6A7E,
+ 4590: 0x6A7F,
+ 4591: 0x6A81,
+ 4592: 0x6A82,
+ 4593: 0x6A83,
+ 4594: 0x6A85,
+ 4595: 0x6A86,
+ 4596: 0x6A87,
+ 4597: 0x6A88,
+ 4598: 0x6A89,
+ 4599: 0x6A8A,
+ 4600: 0x6A8B,
+ 4601: 0x6A8C,
+ 4602: 0x6A8D,
+ 4603: 0x6A8F,
+ 4604: 0x6A92,
+ 4605: 0x6A93,
+ 4606: 0x6A94,
+ 4607: 0x6A95,
+ 4608: 0x6A96,
+ 4609: 0x6A98,
+ 4610: 0x6A99,
+ 4611: 0x6A9A,
+ 4612: 0x6A9B,
+ 4613: 0x6A9C,
+ 4614: 0x6A9D,
+ 4615: 0x6A9E,
+ 4616: 0x6A9F,
+ 4617: 0x6AA1,
+ 4618: 0x6AA2,
+ 4619: 0x6AA3,
+ 4620: 0x6AA4,
+ 4621: 0x6AA5,
+ 4622: 0x6AA6,
+ 4623: 0x6AA7,
+ 4624: 0x6AA8,
+ 4625: 0x6AAA,
+ 4626: 0x6AAD,
+ 4627: 0x6AAE,
+ 4628: 0x6AAF,
+ 4629: 0x6AB0,
+ 4630: 0x6AB1,
+ 4631: 0x6AB2,
+ 4632: 0x6AB3,
+ 4633: 0x6AB4,
+ 4634: 0x6AB5,
+ 4635: 0x6AB6,
+ 4636: 0x6AB7,
+ 4637: 0x6AB8,
+ 4638: 0x6AB9,
+ 4639: 0x6ABA,
+ 4640: 0x6ABB,
+ 4641: 0x6ABC,
+ 4642: 0x6ABD,
+ 4643: 0x6ABE,
+ 4644: 0x6ABF,
+ 4645: 0x6AC0,
+ 4646: 0x6AC1,
+ 4647: 0x6AC2,
+ 4648: 0x6AC3,
+ 4649: 0x6AC4,
+ 4650: 0x6AC5,
+ 4651: 0x6AC6,
+ 4652: 0x6AC7,
+ 4653: 0x6AC8,
+ 4654: 0x6AC9,
+ 4655: 0x6ACA,
+ 4656: 0x6ACB,
+ 4657: 0x6ACC,
+ 4658: 0x6ACD,
+ 4659: 0x6ACE,
+ 4660: 0x6ACF,
+ 4661: 0x6AD0,
+ 4662: 0x6AD1,
+ 4663: 0x6AD2,
+ 4664: 0x6AD3,
+ 4665: 0x6AD4,
+ 4666: 0x6AD5,
+ 4667: 0x6AD6,
+ 4668: 0x6AD7,
+ 4669: 0x6AD8,
+ 4670: 0x6AD9,
+ 4671: 0x6ADA,
+ 4672: 0x6ADB,
+ 4673: 0x6ADC,
+ 4674: 0x6ADD,
+ 4675: 0x6ADE,
+ 4676: 0x6ADF,
+ 4677: 0x6AE0,
+ 4678: 0x6AE1,
+ 4679: 0x6AE2,
+ 4680: 0x6AE3,
+ 4681: 0x6AE4,
+ 4682: 0x6AE5,
+ 4683: 0x6AE6,
+ 4684: 0x6AE7,
+ 4685: 0x6AE8,
+ 4686: 0x6AE9,
+ 4687: 0x6AEA,
+ 4688: 0x6AEB,
+ 4689: 0x6AEC,
+ 4690: 0x6AED,
+ 4691: 0x6AEE,
+ 4692: 0x6AEF,
+ 4693: 0x6AF0,
+ 4694: 0x6AF1,
+ 4695: 0x6AF2,
+ 4696: 0x6AF3,
+ 4697: 0x6AF4,
+ 4698: 0x6AF5,
+ 4699: 0x6AF6,
+ 4700: 0x6AF7,
+ 4701: 0x6AF8,
+ 4702: 0x6AF9,
+ 4703: 0x6AFA,
+ 4704: 0x6AFB,
+ 4705: 0x6AFC,
+ 4706: 0x6AFD,
+ 4707: 0x6AFE,
+ 4708: 0x6AFF,
+ 4709: 0x6B00,
+ 4710: 0x6B01,
+ 4711: 0x6B02,
+ 4712: 0x6B03,
+ 4713: 0x6B04,
+ 4714: 0x6B05,
+ 4715: 0x6B06,
+ 4716: 0x6B07,
+ 4717: 0x6B08,
+ 4718: 0x6B09,
+ 4719: 0x6B0A,
+ 4720: 0x6B0B,
+ 4721: 0x6B0C,
+ 4722: 0x6B0D,
+ 4723: 0x6B0E,
+ 4724: 0x6B0F,
+ 4725: 0x6B10,
+ 4726: 0x6B11,
+ 4727: 0x6B12,
+ 4728: 0x6B13,
+ 4729: 0x6B14,
+ 4730: 0x6B15,
+ 4731: 0x6B16,
+ 4732: 0x6B17,
+ 4733: 0x6B18,
+ 4734: 0x6B19,
+ 4735: 0x6B1A,
+ 4736: 0x6B1B,
+ 4737: 0x6B1C,
+ 4738: 0x6B1D,
+ 4739: 0x6B1E,
+ 4740: 0x6B1F,
+ 4741: 0x6B25,
+ 4742: 0x6B26,
+ 4743: 0x6B28,
+ 4744: 0x6B29,
+ 4745: 0x6B2A,
+ 4746: 0x6B2B,
+ 4747: 0x6B2C,
+ 4748: 0x6B2D,
+ 4749: 0x6B2E,
+ 4750: 0x6B2F,
+ 4751: 0x6B30,
+ 4752: 0x6B31,
+ 4753: 0x6B33,
+ 4754: 0x6B34,
+ 4755: 0x6B35,
+ 4756: 0x6B36,
+ 4757: 0x6B38,
+ 4758: 0x6B3B,
+ 4759: 0x6B3C,
+ 4760: 0x6B3D,
+ 4761: 0x6B3F,
+ 4762: 0x6B40,
+ 4763: 0x6B41,
+ 4764: 0x6B42,
+ 4765: 0x6B44,
+ 4766: 0x6B45,
+ 4767: 0x6B48,
+ 4768: 0x6B4A,
+ 4769: 0x6B4B,
+ 4770: 0x6B4D,
+ 4771: 0x6B4E,
+ 4772: 0x6B4F,
+ 4773: 0x6B50,
+ 4774: 0x6B51,
+ 4775: 0x6B52,
+ 4776: 0x6B53,
+ 4777: 0x6B54,
+ 4778: 0x6B55,
+ 4779: 0x6B56,
+ 4780: 0x6B57,
+ 4781: 0x6B58,
+ 4782: 0x6B5A,
+ 4783: 0x6B5B,
+ 4784: 0x6B5C,
+ 4785: 0x6B5D,
+ 4786: 0x6B5E,
+ 4787: 0x6B5F,
+ 4788: 0x6B60,
+ 4789: 0x6B61,
+ 4790: 0x6B68,
+ 4791: 0x6B69,
+ 4792: 0x6B6B,
+ 4793: 0x6B6C,
+ 4794: 0x6B6D,
+ 4795: 0x6B6E,
+ 4796: 0x6B6F,
+ 4797: 0x6B70,
+ 4798: 0x6B71,
+ 4799: 0x6B72,
+ 4800: 0x6B73,
+ 4801: 0x6B74,
+ 4802: 0x6B75,
+ 4803: 0x6B76,
+ 4804: 0x6B77,
+ 4805: 0x6B78,
+ 4806: 0x6B7A,
+ 4807: 0x6B7D,
+ 4808: 0x6B7E,
+ 4809: 0x6B7F,
+ 4810: 0x6B80,
+ 4811: 0x6B85,
+ 4812: 0x6B88,
+ 4813: 0x6B8C,
+ 4814: 0x6B8E,
+ 4815: 0x6B8F,
+ 4816: 0x6B90,
+ 4817: 0x6B91,
+ 4818: 0x6B94,
+ 4819: 0x6B95,
+ 4820: 0x6B97,
+ 4821: 0x6B98,
+ 4822: 0x6B99,
+ 4823: 0x6B9C,
+ 4824: 0x6B9D,
+ 4825: 0x6B9E,
+ 4826: 0x6B9F,
+ 4827: 0x6BA0,
+ 4828: 0x6BA2,
+ 4829: 0x6BA3,
+ 4830: 0x6BA4,
+ 4831: 0x6BA5,
+ 4832: 0x6BA6,
+ 4833: 0x6BA7,
+ 4834: 0x6BA8,
+ 4835: 0x6BA9,
+ 4836: 0x6BAB,
+ 4837: 0x6BAC,
+ 4838: 0x6BAD,
+ 4839: 0x6BAE,
+ 4840: 0x6BAF,
+ 4841: 0x6BB0,
+ 4842: 0x6BB1,
+ 4843: 0x6BB2,
+ 4844: 0x6BB6,
+ 4845: 0x6BB8,
+ 4846: 0x6BB9,
+ 4847: 0x6BBA,
+ 4848: 0x6BBB,
+ 4849: 0x6BBC,
+ 4850: 0x6BBD,
+ 4851: 0x6BBE,
+ 4852: 0x6BC0,
+ 4853: 0x6BC3,
+ 4854: 0x6BC4,
+ 4855: 0x6BC6,
+ 4856: 0x6BC7,
+ 4857: 0x6BC8,
+ 4858: 0x6BC9,
+ 4859: 0x6BCA,
+ 4860: 0x6BCC,
+ 4861: 0x6BCE,
+ 4862: 0x6BD0,
+ 4863: 0x6BD1,
+ 4864: 0x6BD8,
+ 4865: 0x6BDA,
+ 4866: 0x6BDC,
+ 4867: 0x6BDD,
+ 4868: 0x6BDE,
+ 4869: 0x6BDF,
+ 4870: 0x6BE0,
+ 4871: 0x6BE2,
+ 4872: 0x6BE3,
+ 4873: 0x6BE4,
+ 4874: 0x6BE5,
+ 4875: 0x6BE6,
+ 4876: 0x6BE7,
+ 4877: 0x6BE8,
+ 4878: 0x6BE9,
+ 4879: 0x6BEC,
+ 4880: 0x6BED,
+ 4881: 0x6BEE,
+ 4882: 0x6BF0,
+ 4883: 0x6BF1,
+ 4884: 0x6BF2,
+ 4885: 0x6BF4,
+ 4886: 0x6BF6,
+ 4887: 0x6BF7,
+ 4888: 0x6BF8,
+ 4889: 0x6BFA,
+ 4890: 0x6BFB,
+ 4891: 0x6BFC,
+ 4892: 0x6BFE,
+ 4893: 0x6BFF,
+ 4894: 0x6C00,
+ 4895: 0x6C01,
+ 4896: 0x6C02,
+ 4897: 0x6C03,
+ 4898: 0x6C04,
+ 4899: 0x6C08,
+ 4900: 0x6C09,
+ 4901: 0x6C0A,
+ 4902: 0x6C0B,
+ 4903: 0x6C0C,
+ 4904: 0x6C0E,
+ 4905: 0x6C12,
+ 4906: 0x6C17,
+ 4907: 0x6C1C,
+ 4908: 0x6C1D,
+ 4909: 0x6C1E,
+ 4910: 0x6C20,
+ 4911: 0x6C23,
+ 4912: 0x6C25,
+ 4913: 0x6C2B,
+ 4914: 0x6C2C,
+ 4915: 0x6C2D,
+ 4916: 0x6C31,
+ 4917: 0x6C33,
+ 4918: 0x6C36,
+ 4919: 0x6C37,
+ 4920: 0x6C39,
+ 4921: 0x6C3A,
+ 4922: 0x6C3B,
+ 4923: 0x6C3C,
+ 4924: 0x6C3E,
+ 4925: 0x6C3F,
+ 4926: 0x6C43,
+ 4927: 0x6C44,
+ 4928: 0x6C45,
+ 4929: 0x6C48,
+ 4930: 0x6C4B,
+ 4931: 0x6C4C,
+ 4932: 0x6C4D,
+ 4933: 0x6C4E,
+ 4934: 0x6C4F,
+ 4935: 0x6C51,
+ 4936: 0x6C52,
+ 4937: 0x6C53,
+ 4938: 0x6C56,
+ 4939: 0x6C58,
+ 4940: 0x6C59,
+ 4941: 0x6C5A,
+ 4942: 0x6C62,
+ 4943: 0x6C63,
+ 4944: 0x6C65,
+ 4945: 0x6C66,
+ 4946: 0x6C67,
+ 4947: 0x6C6B,
+ 4948: 0x6C6C,
+ 4949: 0x6C6D,
+ 4950: 0x6C6E,
+ 4951: 0x6C6F,
+ 4952: 0x6C71,
+ 4953: 0x6C73,
+ 4954: 0x6C75,
+ 4955: 0x6C77,
+ 4956: 0x6C78,
+ 4957: 0x6C7A,
+ 4958: 0x6C7B,
+ 4959: 0x6C7C,
+ 4960: 0x6C7F,
+ 4961: 0x6C80,
+ 4962: 0x6C84,
+ 4963: 0x6C87,
+ 4964: 0x6C8A,
+ 4965: 0x6C8B,
+ 4966: 0x6C8D,
+ 4967: 0x6C8E,
+ 4968: 0x6C91,
+ 4969: 0x6C92,
+ 4970: 0x6C95,
+ 4971: 0x6C96,
+ 4972: 0x6C97,
+ 4973: 0x6C98,
+ 4974: 0x6C9A,
+ 4975: 0x6C9C,
+ 4976: 0x6C9D,
+ 4977: 0x6C9E,
+ 4978: 0x6CA0,
+ 4979: 0x6CA2,
+ 4980: 0x6CA8,
+ 4981: 0x6CAC,
+ 4982: 0x6CAF,
+ 4983: 0x6CB0,
+ 4984: 0x6CB4,
+ 4985: 0x6CB5,
+ 4986: 0x6CB6,
+ 4987: 0x6CB7,
+ 4988: 0x6CBA,
+ 4989: 0x6CC0,
+ 4990: 0x6CC1,
+ 4991: 0x6CC2,
+ 4992: 0x6CC3,
+ 4993: 0x6CC6,
+ 4994: 0x6CC7,
+ 4995: 0x6CC8,
+ 4996: 0x6CCB,
+ 4997: 0x6CCD,
+ 4998: 0x6CCE,
+ 4999: 0x6CCF,
+ 5000: 0x6CD1,
+ 5001: 0x6CD2,
+ 5002: 0x6CD8,
+ 5003: 0x6CD9,
+ 5004: 0x6CDA,
+ 5005: 0x6CDC,
+ 5006: 0x6CDD,
+ 5007: 0x6CDF,
+ 5008: 0x6CE4,
+ 5009: 0x6CE6,
+ 5010: 0x6CE7,
+ 5011: 0x6CE9,
+ 5012: 0x6CEC,
+ 5013: 0x6CED,
+ 5014: 0x6CF2,
+ 5015: 0x6CF4,
+ 5016: 0x6CF9,
+ 5017: 0x6CFF,
+ 5018: 0x6D00,
+ 5019: 0x6D02,
+ 5020: 0x6D03,
+ 5021: 0x6D05,
+ 5022: 0x6D06,
+ 5023: 0x6D08,
+ 5024: 0x6D09,
+ 5025: 0x6D0A,
+ 5026: 0x6D0D,
+ 5027: 0x6D0F,
+ 5028: 0x6D10,
+ 5029: 0x6D11,
+ 5030: 0x6D13,
+ 5031: 0x6D14,
+ 5032: 0x6D15,
+ 5033: 0x6D16,
+ 5034: 0x6D18,
+ 5035: 0x6D1C,
+ 5036: 0x6D1D,
+ 5037: 0x6D1F,
+ 5038: 0x6D20,
+ 5039: 0x6D21,
+ 5040: 0x6D22,
+ 5041: 0x6D23,
+ 5042: 0x6D24,
+ 5043: 0x6D26,
+ 5044: 0x6D28,
+ 5045: 0x6D29,
+ 5046: 0x6D2C,
+ 5047: 0x6D2D,
+ 5048: 0x6D2F,
+ 5049: 0x6D30,
+ 5050: 0x6D34,
+ 5051: 0x6D36,
+ 5052: 0x6D37,
+ 5053: 0x6D38,
+ 5054: 0x6D3A,
+ 5055: 0x6D3F,
+ 5056: 0x6D40,
+ 5057: 0x6D42,
+ 5058: 0x6D44,
+ 5059: 0x6D49,
+ 5060: 0x6D4C,
+ 5061: 0x6D50,
+ 5062: 0x6D55,
+ 5063: 0x6D56,
+ 5064: 0x6D57,
+ 5065: 0x6D58,
+ 5066: 0x6D5B,
+ 5067: 0x6D5D,
+ 5068: 0x6D5F,
+ 5069: 0x6D61,
+ 5070: 0x6D62,
+ 5071: 0x6D64,
+ 5072: 0x6D65,
+ 5073: 0x6D67,
+ 5074: 0x6D68,
+ 5075: 0x6D6B,
+ 5076: 0x6D6C,
+ 5077: 0x6D6D,
+ 5078: 0x6D70,
+ 5079: 0x6D71,
+ 5080: 0x6D72,
+ 5081: 0x6D73,
+ 5082: 0x6D75,
+ 5083: 0x6D76,
+ 5084: 0x6D79,
+ 5085: 0x6D7A,
+ 5086: 0x6D7B,
+ 5087: 0x6D7D,
+ 5088: 0x6D7E,
+ 5089: 0x6D7F,
+ 5090: 0x6D80,
+ 5091: 0x6D81,
+ 5092: 0x6D83,
+ 5093: 0x6D84,
+ 5094: 0x6D86,
+ 5095: 0x6D87,
+ 5096: 0x6D8A,
+ 5097: 0x6D8B,
+ 5098: 0x6D8D,
+ 5099: 0x6D8F,
+ 5100: 0x6D90,
+ 5101: 0x6D92,
+ 5102: 0x6D96,
+ 5103: 0x6D97,
+ 5104: 0x6D98,
+ 5105: 0x6D99,
+ 5106: 0x6D9A,
+ 5107: 0x6D9C,
+ 5108: 0x6DA2,
+ 5109: 0x6DA5,
+ 5110: 0x6DAC,
+ 5111: 0x6DAD,
+ 5112: 0x6DB0,
+ 5113: 0x6DB1,
+ 5114: 0x6DB3,
+ 5115: 0x6DB4,
+ 5116: 0x6DB6,
+ 5117: 0x6DB7,
+ 5118: 0x6DB9,
+ 5119: 0x6DBA,
+ 5120: 0x6DBB,
+ 5121: 0x6DBC,
+ 5122: 0x6DBD,
+ 5123: 0x6DBE,
+ 5124: 0x6DC1,
+ 5125: 0x6DC2,
+ 5126: 0x6DC3,
+ 5127: 0x6DC8,
+ 5128: 0x6DC9,
+ 5129: 0x6DCA,
+ 5130: 0x6DCD,
+ 5131: 0x6DCE,
+ 5132: 0x6DCF,
+ 5133: 0x6DD0,
+ 5134: 0x6DD2,
+ 5135: 0x6DD3,
+ 5136: 0x6DD4,
+ 5137: 0x6DD5,
+ 5138: 0x6DD7,
+ 5139: 0x6DDA,
+ 5140: 0x6DDB,
+ 5141: 0x6DDC,
+ 5142: 0x6DDF,
+ 5143: 0x6DE2,
+ 5144: 0x6DE3,
+ 5145: 0x6DE5,
+ 5146: 0x6DE7,
+ 5147: 0x6DE8,
+ 5148: 0x6DE9,
+ 5149: 0x6DEA,
+ 5150: 0x6DED,
+ 5151: 0x6DEF,
+ 5152: 0x6DF0,
+ 5153: 0x6DF2,
+ 5154: 0x6DF4,
+ 5155: 0x6DF5,
+ 5156: 0x6DF6,
+ 5157: 0x6DF8,
+ 5158: 0x6DFA,
+ 5159: 0x6DFD,
+ 5160: 0x6DFE,
+ 5161: 0x6DFF,
+ 5162: 0x6E00,
+ 5163: 0x6E01,
+ 5164: 0x6E02,
+ 5165: 0x6E03,
+ 5166: 0x6E04,
+ 5167: 0x6E06,
+ 5168: 0x6E07,
+ 5169: 0x6E08,
+ 5170: 0x6E09,
+ 5171: 0x6E0B,
+ 5172: 0x6E0F,
+ 5173: 0x6E12,
+ 5174: 0x6E13,
+ 5175: 0x6E15,
+ 5176: 0x6E18,
+ 5177: 0x6E19,
+ 5178: 0x6E1B,
+ 5179: 0x6E1C,
+ 5180: 0x6E1E,
+ 5181: 0x6E1F,
+ 5182: 0x6E22,
+ 5183: 0x6E26,
+ 5184: 0x6E27,
+ 5185: 0x6E28,
+ 5186: 0x6E2A,
+ 5187: 0x6E2C,
+ 5188: 0x6E2E,
+ 5189: 0x6E30,
+ 5190: 0x6E31,
+ 5191: 0x6E33,
+ 5192: 0x6E35,
+ 5193: 0x6E36,
+ 5194: 0x6E37,
+ 5195: 0x6E39,
+ 5196: 0x6E3B,
+ 5197: 0x6E3C,
+ 5198: 0x6E3D,
+ 5199: 0x6E3E,
+ 5200: 0x6E3F,
+ 5201: 0x6E40,
+ 5202: 0x6E41,
+ 5203: 0x6E42,
+ 5204: 0x6E45,
+ 5205: 0x6E46,
+ 5206: 0x6E47,
+ 5207: 0x6E48,
+ 5208: 0x6E49,
+ 5209: 0x6E4A,
+ 5210: 0x6E4B,
+ 5211: 0x6E4C,
+ 5212: 0x6E4F,
+ 5213: 0x6E50,
+ 5214: 0x6E51,
+ 5215: 0x6E52,
+ 5216: 0x6E55,
+ 5217: 0x6E57,
+ 5218: 0x6E59,
+ 5219: 0x6E5A,
+ 5220: 0x6E5C,
+ 5221: 0x6E5D,
+ 5222: 0x6E5E,
+ 5223: 0x6E60,
+ 5224: 0x6E61,
+ 5225: 0x6E62,
+ 5226: 0x6E63,
+ 5227: 0x6E64,
+ 5228: 0x6E65,
+ 5229: 0x6E66,
+ 5230: 0x6E67,
+ 5231: 0x6E68,
+ 5232: 0x6E69,
+ 5233: 0x6E6A,
+ 5234: 0x6E6C,
+ 5235: 0x6E6D,
+ 5236: 0x6E6F,
+ 5237: 0x6E70,
+ 5238: 0x6E71,
+ 5239: 0x6E72,
+ 5240: 0x6E73,
+ 5241: 0x6E74,
+ 5242: 0x6E75,
+ 5243: 0x6E76,
+ 5244: 0x6E77,
+ 5245: 0x6E78,
+ 5246: 0x6E79,
+ 5247: 0x6E7A,
+ 5248: 0x6E7B,
+ 5249: 0x6E7C,
+ 5250: 0x6E7D,
+ 5251: 0x6E80,
+ 5252: 0x6E81,
+ 5253: 0x6E82,
+ 5254: 0x6E84,
+ 5255: 0x6E87,
+ 5256: 0x6E88,
+ 5257: 0x6E8A,
+ 5258: 0x6E8B,
+ 5259: 0x6E8C,
+ 5260: 0x6E8D,
+ 5261: 0x6E8E,
+ 5262: 0x6E91,
+ 5263: 0x6E92,
+ 5264: 0x6E93,
+ 5265: 0x6E94,
+ 5266: 0x6E95,
+ 5267: 0x6E96,
+ 5268: 0x6E97,
+ 5269: 0x6E99,
+ 5270: 0x6E9A,
+ 5271: 0x6E9B,
+ 5272: 0x6E9D,
+ 5273: 0x6E9E,
+ 5274: 0x6EA0,
+ 5275: 0x6EA1,
+ 5276: 0x6EA3,
+ 5277: 0x6EA4,
+ 5278: 0x6EA6,
+ 5279: 0x6EA8,
+ 5280: 0x6EA9,
+ 5281: 0x6EAB,
+ 5282: 0x6EAC,
+ 5283: 0x6EAD,
+ 5284: 0x6EAE,
+ 5285: 0x6EB0,
+ 5286: 0x6EB3,
+ 5287: 0x6EB5,
+ 5288: 0x6EB8,
+ 5289: 0x6EB9,
+ 5290: 0x6EBC,
+ 5291: 0x6EBE,
+ 5292: 0x6EBF,
+ 5293: 0x6EC0,
+ 5294: 0x6EC3,
+ 5295: 0x6EC4,
+ 5296: 0x6EC5,
+ 5297: 0x6EC6,
+ 5298: 0x6EC8,
+ 5299: 0x6EC9,
+ 5300: 0x6ECA,
+ 5301: 0x6ECC,
+ 5302: 0x6ECD,
+ 5303: 0x6ECE,
+ 5304: 0x6ED0,
+ 5305: 0x6ED2,
+ 5306: 0x6ED6,
+ 5307: 0x6ED8,
+ 5308: 0x6ED9,
+ 5309: 0x6EDB,
+ 5310: 0x6EDC,
+ 5311: 0x6EDD,
+ 5312: 0x6EE3,
+ 5313: 0x6EE7,
+ 5314: 0x6EEA,
+ 5315: 0x6EEB,
+ 5316: 0x6EEC,
+ 5317: 0x6EED,
+ 5318: 0x6EEE,
+ 5319: 0x6EEF,
+ 5320: 0x6EF0,
+ 5321: 0x6EF1,
+ 5322: 0x6EF2,
+ 5323: 0x6EF3,
+ 5324: 0x6EF5,
+ 5325: 0x6EF6,
+ 5326: 0x6EF7,
+ 5327: 0x6EF8,
+ 5328: 0x6EFA,
+ 5329: 0x6EFB,
+ 5330: 0x6EFC,
+ 5331: 0x6EFD,
+ 5332: 0x6EFE,
+ 5333: 0x6EFF,
+ 5334: 0x6F00,
+ 5335: 0x6F01,
+ 5336: 0x6F03,
+ 5337: 0x6F04,
+ 5338: 0x6F05,
+ 5339: 0x6F07,
+ 5340: 0x6F08,
+ 5341: 0x6F0A,
+ 5342: 0x6F0B,
+ 5343: 0x6F0C,
+ 5344: 0x6F0D,
+ 5345: 0x6F0E,
+ 5346: 0x6F10,
+ 5347: 0x6F11,
+ 5348: 0x6F12,
+ 5349: 0x6F16,
+ 5350: 0x6F17,
+ 5351: 0x6F18,
+ 5352: 0x6F19,
+ 5353: 0x6F1A,
+ 5354: 0x6F1B,
+ 5355: 0x6F1C,
+ 5356: 0x6F1D,
+ 5357: 0x6F1E,
+ 5358: 0x6F1F,
+ 5359: 0x6F21,
+ 5360: 0x6F22,
+ 5361: 0x6F23,
+ 5362: 0x6F25,
+ 5363: 0x6F26,
+ 5364: 0x6F27,
+ 5365: 0x6F28,
+ 5366: 0x6F2C,
+ 5367: 0x6F2E,
+ 5368: 0x6F30,
+ 5369: 0x6F32,
+ 5370: 0x6F34,
+ 5371: 0x6F35,
+ 5372: 0x6F37,
+ 5373: 0x6F38,
+ 5374: 0x6F39,
+ 5375: 0x6F3A,
+ 5376: 0x6F3B,
+ 5377: 0x6F3C,
+ 5378: 0x6F3D,
+ 5379: 0x6F3F,
+ 5380: 0x6F40,
+ 5381: 0x6F41,
+ 5382: 0x6F42,
+ 5383: 0x6F43,
+ 5384: 0x6F44,
+ 5385: 0x6F45,
+ 5386: 0x6F48,
+ 5387: 0x6F49,
+ 5388: 0x6F4A,
+ 5389: 0x6F4C,
+ 5390: 0x6F4E,
+ 5391: 0x6F4F,
+ 5392: 0x6F50,
+ 5393: 0x6F51,
+ 5394: 0x6F52,
+ 5395: 0x6F53,
+ 5396: 0x6F54,
+ 5397: 0x6F55,
+ 5398: 0x6F56,
+ 5399: 0x6F57,
+ 5400: 0x6F59,
+ 5401: 0x6F5A,
+ 5402: 0x6F5B,
+ 5403: 0x6F5D,
+ 5404: 0x6F5F,
+ 5405: 0x6F60,
+ 5406: 0x6F61,
+ 5407: 0x6F63,
+ 5408: 0x6F64,
+ 5409: 0x6F65,
+ 5410: 0x6F67,
+ 5411: 0x6F68,
+ 5412: 0x6F69,
+ 5413: 0x6F6A,
+ 5414: 0x6F6B,
+ 5415: 0x6F6C,
+ 5416: 0x6F6F,
+ 5417: 0x6F70,
+ 5418: 0x6F71,
+ 5419: 0x6F73,
+ 5420: 0x6F75,
+ 5421: 0x6F76,
+ 5422: 0x6F77,
+ 5423: 0x6F79,
+ 5424: 0x6F7B,
+ 5425: 0x6F7D,
+ 5426: 0x6F7E,
+ 5427: 0x6F7F,
+ 5428: 0x6F80,
+ 5429: 0x6F81,
+ 5430: 0x6F82,
+ 5431: 0x6F83,
+ 5432: 0x6F85,
+ 5433: 0x6F86,
+ 5434: 0x6F87,
+ 5435: 0x6F8A,
+ 5436: 0x6F8B,
+ 5437: 0x6F8F,
+ 5438: 0x6F90,
+ 5439: 0x6F91,
+ 5440: 0x6F92,
+ 5441: 0x6F93,
+ 5442: 0x6F94,
+ 5443: 0x6F95,
+ 5444: 0x6F96,
+ 5445: 0x6F97,
+ 5446: 0x6F98,
+ 5447: 0x6F99,
+ 5448: 0x6F9A,
+ 5449: 0x6F9B,
+ 5450: 0x6F9D,
+ 5451: 0x6F9E,
+ 5452: 0x6F9F,
+ 5453: 0x6FA0,
+ 5454: 0x6FA2,
+ 5455: 0x6FA3,
+ 5456: 0x6FA4,
+ 5457: 0x6FA5,
+ 5458: 0x6FA6,
+ 5459: 0x6FA8,
+ 5460: 0x6FA9,
+ 5461: 0x6FAA,
+ 5462: 0x6FAB,
+ 5463: 0x6FAC,
+ 5464: 0x6FAD,
+ 5465: 0x6FAE,
+ 5466: 0x6FAF,
+ 5467: 0x6FB0,
+ 5468: 0x6FB1,
+ 5469: 0x6FB2,
+ 5470: 0x6FB4,
+ 5471: 0x6FB5,
+ 5472: 0x6FB7,
+ 5473: 0x6FB8,
+ 5474: 0x6FBA,
+ 5475: 0x6FBB,
+ 5476: 0x6FBC,
+ 5477: 0x6FBD,
+ 5478: 0x6FBE,
+ 5479: 0x6FBF,
+ 5480: 0x6FC1,
+ 5481: 0x6FC3,
+ 5482: 0x6FC4,
+ 5483: 0x6FC5,
+ 5484: 0x6FC6,
+ 5485: 0x6FC7,
+ 5486: 0x6FC8,
+ 5487: 0x6FCA,
+ 5488: 0x6FCB,
+ 5489: 0x6FCC,
+ 5490: 0x6FCD,
+ 5491: 0x6FCE,
+ 5492: 0x6FCF,
+ 5493: 0x6FD0,
+ 5494: 0x6FD3,
+ 5495: 0x6FD4,
+ 5496: 0x6FD5,
+ 5497: 0x6FD6,
+ 5498: 0x6FD7,
+ 5499: 0x6FD8,
+ 5500: 0x6FD9,
+ 5501: 0x6FDA,
+ 5502: 0x6FDB,
+ 5503: 0x6FDC,
+ 5504: 0x6FDD,
+ 5505: 0x6FDF,
+ 5506: 0x6FE2,
+ 5507: 0x6FE3,
+ 5508: 0x6FE4,
+ 5509: 0x6FE5,
+ 5510: 0x6FE6,
+ 5511: 0x6FE7,
+ 5512: 0x6FE8,
+ 5513: 0x6FE9,
+ 5514: 0x6FEA,
+ 5515: 0x6FEB,
+ 5516: 0x6FEC,
+ 5517: 0x6FED,
+ 5518: 0x6FF0,
+ 5519: 0x6FF1,
+ 5520: 0x6FF2,
+ 5521: 0x6FF3,
+ 5522: 0x6FF4,
+ 5523: 0x6FF5,
+ 5524: 0x6FF6,
+ 5525: 0x6FF7,
+ 5526: 0x6FF8,
+ 5527: 0x6FF9,
+ 5528: 0x6FFA,
+ 5529: 0x6FFB,
+ 5530: 0x6FFC,
+ 5531: 0x6FFD,
+ 5532: 0x6FFE,
+ 5533: 0x6FFF,
+ 5534: 0x7000,
+ 5535: 0x7001,
+ 5536: 0x7002,
+ 5537: 0x7003,
+ 5538: 0x7004,
+ 5539: 0x7005,
+ 5540: 0x7006,
+ 5541: 0x7007,
+ 5542: 0x7008,
+ 5543: 0x7009,
+ 5544: 0x700A,
+ 5545: 0x700B,
+ 5546: 0x700C,
+ 5547: 0x700D,
+ 5548: 0x700E,
+ 5549: 0x700F,
+ 5550: 0x7010,
+ 5551: 0x7012,
+ 5552: 0x7013,
+ 5553: 0x7014,
+ 5554: 0x7015,
+ 5555: 0x7016,
+ 5556: 0x7017,
+ 5557: 0x7018,
+ 5558: 0x7019,
+ 5559: 0x701C,
+ 5560: 0x701D,
+ 5561: 0x701E,
+ 5562: 0x701F,
+ 5563: 0x7020,
+ 5564: 0x7021,
+ 5565: 0x7022,
+ 5566: 0x7024,
+ 5567: 0x7025,
+ 5568: 0x7026,
+ 5569: 0x7027,
+ 5570: 0x7028,
+ 5571: 0x7029,
+ 5572: 0x702A,
+ 5573: 0x702B,
+ 5574: 0x702C,
+ 5575: 0x702D,
+ 5576: 0x702E,
+ 5577: 0x702F,
+ 5578: 0x7030,
+ 5579: 0x7031,
+ 5580: 0x7032,
+ 5581: 0x7033,
+ 5582: 0x7034,
+ 5583: 0x7036,
+ 5584: 0x7037,
+ 5585: 0x7038,
+ 5586: 0x703A,
+ 5587: 0x703B,
+ 5588: 0x703C,
+ 5589: 0x703D,
+ 5590: 0x703E,
+ 5591: 0x703F,
+ 5592: 0x7040,
+ 5593: 0x7041,
+ 5594: 0x7042,
+ 5595: 0x7043,
+ 5596: 0x7044,
+ 5597: 0x7045,
+ 5598: 0x7046,
+ 5599: 0x7047,
+ 5600: 0x7048,
+ 5601: 0x7049,
+ 5602: 0x704A,
+ 5603: 0x704B,
+ 5604: 0x704D,
+ 5605: 0x704E,
+ 5606: 0x7050,
+ 5607: 0x7051,
+ 5608: 0x7052,
+ 5609: 0x7053,
+ 5610: 0x7054,
+ 5611: 0x7055,
+ 5612: 0x7056,
+ 5613: 0x7057,
+ 5614: 0x7058,
+ 5615: 0x7059,
+ 5616: 0x705A,
+ 5617: 0x705B,
+ 5618: 0x705C,
+ 5619: 0x705D,
+ 5620: 0x705F,
+ 5621: 0x7060,
+ 5622: 0x7061,
+ 5623: 0x7062,
+ 5624: 0x7063,
+ 5625: 0x7064,
+ 5626: 0x7065,
+ 5627: 0x7066,
+ 5628: 0x7067,
+ 5629: 0x7068,
+ 5630: 0x7069,
+ 5631: 0x706A,
+ 5632: 0x706E,
+ 5633: 0x7071,
+ 5634: 0x7072,
+ 5635: 0x7073,
+ 5636: 0x7074,
+ 5637: 0x7077,
+ 5638: 0x7079,
+ 5639: 0x707A,
+ 5640: 0x707B,
+ 5641: 0x707D,
+ 5642: 0x7081,
+ 5643: 0x7082,
+ 5644: 0x7083,
+ 5645: 0x7084,
+ 5646: 0x7086,
+ 5647: 0x7087,
+ 5648: 0x7088,
+ 5649: 0x708B,
+ 5650: 0x708C,
+ 5651: 0x708D,
+ 5652: 0x708F,
+ 5653: 0x7090,
+ 5654: 0x7091,
+ 5655: 0x7093,
+ 5656: 0x7097,
+ 5657: 0x7098,
+ 5658: 0x709A,
+ 5659: 0x709B,
+ 5660: 0x709E,
+ 5661: 0x709F,
+ 5662: 0x70A0,
+ 5663: 0x70A1,
+ 5664: 0x70A2,
+ 5665: 0x70A3,
+ 5666: 0x70A4,
+ 5667: 0x70A5,
+ 5668: 0x70A6,
+ 5669: 0x70A7,
+ 5670: 0x70A8,
+ 5671: 0x70A9,
+ 5672: 0x70AA,
+ 5673: 0x70B0,
+ 5674: 0x70B2,
+ 5675: 0x70B4,
+ 5676: 0x70B5,
+ 5677: 0x70B6,
+ 5678: 0x70BA,
+ 5679: 0x70BE,
+ 5680: 0x70BF,
+ 5681: 0x70C4,
+ 5682: 0x70C5,
+ 5683: 0x70C6,
+ 5684: 0x70C7,
+ 5685: 0x70C9,
+ 5686: 0x70CB,
+ 5687: 0x70CC,
+ 5688: 0x70CD,
+ 5689: 0x70CE,
+ 5690: 0x70CF,
+ 5691: 0x70D0,
+ 5692: 0x70D1,
+ 5693: 0x70D2,
+ 5694: 0x70D3,
+ 5695: 0x70D4,
+ 5696: 0x70D5,
+ 5697: 0x70D6,
+ 5698: 0x70D7,
+ 5699: 0x70DA,
+ 5700: 0x70DC,
+ 5701: 0x70DD,
+ 5702: 0x70DE,
+ 5703: 0x70E0,
+ 5704: 0x70E1,
+ 5705: 0x70E2,
+ 5706: 0x70E3,
+ 5707: 0x70E5,
+ 5708: 0x70EA,
+ 5709: 0x70EE,
+ 5710: 0x70F0,
+ 5711: 0x70F1,
+ 5712: 0x70F2,
+ 5713: 0x70F3,
+ 5714: 0x70F4,
+ 5715: 0x70F5,
+ 5716: 0x70F6,
+ 5717: 0x70F8,
+ 5718: 0x70FA,
+ 5719: 0x70FB,
+ 5720: 0x70FC,
+ 5721: 0x70FE,
+ 5722: 0x70FF,
+ 5723: 0x7100,
+ 5724: 0x7101,
+ 5725: 0x7102,
+ 5726: 0x7103,
+ 5727: 0x7104,
+ 5728: 0x7105,
+ 5729: 0x7106,
+ 5730: 0x7107,
+ 5731: 0x7108,
+ 5732: 0x710B,
+ 5733: 0x710C,
+ 5734: 0x710D,
+ 5735: 0x710E,
+ 5736: 0x710F,
+ 5737: 0x7111,
+ 5738: 0x7112,
+ 5739: 0x7114,
+ 5740: 0x7117,
+ 5741: 0x711B,
+ 5742: 0x711C,
+ 5743: 0x711D,
+ 5744: 0x711E,
+ 5745: 0x711F,
+ 5746: 0x7120,
+ 5747: 0x7121,
+ 5748: 0x7122,
+ 5749: 0x7123,
+ 5750: 0x7124,
+ 5751: 0x7125,
+ 5752: 0x7127,
+ 5753: 0x7128,
+ 5754: 0x7129,
+ 5755: 0x712A,
+ 5756: 0x712B,
+ 5757: 0x712C,
+ 5758: 0x712D,
+ 5759: 0x712E,
+ 5760: 0x7132,
+ 5761: 0x7133,
+ 5762: 0x7134,
+ 5763: 0x7135,
+ 5764: 0x7137,
+ 5765: 0x7138,
+ 5766: 0x7139,
+ 5767: 0x713A,
+ 5768: 0x713B,
+ 5769: 0x713C,
+ 5770: 0x713D,
+ 5771: 0x713E,
+ 5772: 0x713F,
+ 5773: 0x7140,
+ 5774: 0x7141,
+ 5775: 0x7142,
+ 5776: 0x7143,
+ 5777: 0x7144,
+ 5778: 0x7146,
+ 5779: 0x7147,
+ 5780: 0x7148,
+ 5781: 0x7149,
+ 5782: 0x714B,
+ 5783: 0x714D,
+ 5784: 0x714F,
+ 5785: 0x7150,
+ 5786: 0x7151,
+ 5787: 0x7152,
+ 5788: 0x7153,
+ 5789: 0x7154,
+ 5790: 0x7155,
+ 5791: 0x7156,
+ 5792: 0x7157,
+ 5793: 0x7158,
+ 5794: 0x7159,
+ 5795: 0x715A,
+ 5796: 0x715B,
+ 5797: 0x715D,
+ 5798: 0x715F,
+ 5799: 0x7160,
+ 5800: 0x7161,
+ 5801: 0x7162,
+ 5802: 0x7163,
+ 5803: 0x7165,
+ 5804: 0x7169,
+ 5805: 0x716A,
+ 5806: 0x716B,
+ 5807: 0x716C,
+ 5808: 0x716D,
+ 5809: 0x716F,
+ 5810: 0x7170,
+ 5811: 0x7171,
+ 5812: 0x7174,
+ 5813: 0x7175,
+ 5814: 0x7176,
+ 5815: 0x7177,
+ 5816: 0x7179,
+ 5817: 0x717B,
+ 5818: 0x717C,
+ 5819: 0x717E,
+ 5820: 0x717F,
+ 5821: 0x7180,
+ 5822: 0x7181,
+ 5823: 0x7182,
+ 5824: 0x7183,
+ 5825: 0x7185,
+ 5826: 0x7186,
+ 5827: 0x7187,
+ 5828: 0x7188,
+ 5829: 0x7189,
+ 5830: 0x718B,
+ 5831: 0x718C,
+ 5832: 0x718D,
+ 5833: 0x718E,
+ 5834: 0x7190,
+ 5835: 0x7191,
+ 5836: 0x7192,
+ 5837: 0x7193,
+ 5838: 0x7195,
+ 5839: 0x7196,
+ 5840: 0x7197,
+ 5841: 0x719A,
+ 5842: 0x719B,
+ 5843: 0x719C,
+ 5844: 0x719D,
+ 5845: 0x719E,
+ 5846: 0x71A1,
+ 5847: 0x71A2,
+ 5848: 0x71A3,
+ 5849: 0x71A4,
+ 5850: 0x71A5,
+ 5851: 0x71A6,
+ 5852: 0x71A7,
+ 5853: 0x71A9,
+ 5854: 0x71AA,
+ 5855: 0x71AB,
+ 5856: 0x71AD,
+ 5857: 0x71AE,
+ 5858: 0x71AF,
+ 5859: 0x71B0,
+ 5860: 0x71B1,
+ 5861: 0x71B2,
+ 5862: 0x71B4,
+ 5863: 0x71B6,
+ 5864: 0x71B7,
+ 5865: 0x71B8,
+ 5866: 0x71BA,
+ 5867: 0x71BB,
+ 5868: 0x71BC,
+ 5869: 0x71BD,
+ 5870: 0x71BE,
+ 5871: 0x71BF,
+ 5872: 0x71C0,
+ 5873: 0x71C1,
+ 5874: 0x71C2,
+ 5875: 0x71C4,
+ 5876: 0x71C5,
+ 5877: 0x71C6,
+ 5878: 0x71C7,
+ 5879: 0x71C8,
+ 5880: 0x71C9,
+ 5881: 0x71CA,
+ 5882: 0x71CB,
+ 5883: 0x71CC,
+ 5884: 0x71CD,
+ 5885: 0x71CF,
+ 5886: 0x71D0,
+ 5887: 0x71D1,
+ 5888: 0x71D2,
+ 5889: 0x71D3,
+ 5890: 0x71D6,
+ 5891: 0x71D7,
+ 5892: 0x71D8,
+ 5893: 0x71D9,
+ 5894: 0x71DA,
+ 5895: 0x71DB,
+ 5896: 0x71DC,
+ 5897: 0x71DD,
+ 5898: 0x71DE,
+ 5899: 0x71DF,
+ 5900: 0x71E1,
+ 5901: 0x71E2,
+ 5902: 0x71E3,
+ 5903: 0x71E4,
+ 5904: 0x71E6,
+ 5905: 0x71E8,
+ 5906: 0x71E9,
+ 5907: 0x71EA,
+ 5908: 0x71EB,
+ 5909: 0x71EC,
+ 5910: 0x71ED,
+ 5911: 0x71EF,
+ 5912: 0x71F0,
+ 5913: 0x71F1,
+ 5914: 0x71F2,
+ 5915: 0x71F3,
+ 5916: 0x71F4,
+ 5917: 0x71F5,
+ 5918: 0x71F6,
+ 5919: 0x71F7,
+ 5920: 0x71F8,
+ 5921: 0x71FA,
+ 5922: 0x71FB,
+ 5923: 0x71FC,
+ 5924: 0x71FD,
+ 5925: 0x71FE,
+ 5926: 0x71FF,
+ 5927: 0x7200,
+ 5928: 0x7201,
+ 5929: 0x7202,
+ 5930: 0x7203,
+ 5931: 0x7204,
+ 5932: 0x7205,
+ 5933: 0x7207,
+ 5934: 0x7208,
+ 5935: 0x7209,
+ 5936: 0x720A,
+ 5937: 0x720B,
+ 5938: 0x720C,
+ 5939: 0x720D,
+ 5940: 0x720E,
+ 5941: 0x720F,
+ 5942: 0x7210,
+ 5943: 0x7211,
+ 5944: 0x7212,
+ 5945: 0x7213,
+ 5946: 0x7214,
+ 5947: 0x7215,
+ 5948: 0x7216,
+ 5949: 0x7217,
+ 5950: 0x7218,
+ 5951: 0x7219,
+ 5952: 0x721A,
+ 5953: 0x721B,
+ 5954: 0x721C,
+ 5955: 0x721E,
+ 5956: 0x721F,
+ 5957: 0x7220,
+ 5958: 0x7221,
+ 5959: 0x7222,
+ 5960: 0x7223,
+ 5961: 0x7224,
+ 5962: 0x7225,
+ 5963: 0x7226,
+ 5964: 0x7227,
+ 5965: 0x7229,
+ 5966: 0x722B,
+ 5967: 0x722D,
+ 5968: 0x722E,
+ 5969: 0x722F,
+ 5970: 0x7232,
+ 5971: 0x7233,
+ 5972: 0x7234,
+ 5973: 0x723A,
+ 5974: 0x723C,
+ 5975: 0x723E,
+ 5976: 0x7240,
+ 5977: 0x7241,
+ 5978: 0x7242,
+ 5979: 0x7243,
+ 5980: 0x7244,
+ 5981: 0x7245,
+ 5982: 0x7246,
+ 5983: 0x7249,
+ 5984: 0x724A,
+ 5985: 0x724B,
+ 5986: 0x724E,
+ 5987: 0x724F,
+ 5988: 0x7250,
+ 5989: 0x7251,
+ 5990: 0x7253,
+ 5991: 0x7254,
+ 5992: 0x7255,
+ 5993: 0x7257,
+ 5994: 0x7258,
+ 5995: 0x725A,
+ 5996: 0x725C,
+ 5997: 0x725E,
+ 5998: 0x7260,
+ 5999: 0x7263,
+ 6000: 0x7264,
+ 6001: 0x7265,
+ 6002: 0x7268,
+ 6003: 0x726A,
+ 6004: 0x726B,
+ 6005: 0x726C,
+ 6006: 0x726D,
+ 6007: 0x7270,
+ 6008: 0x7271,
+ 6009: 0x7273,
+ 6010: 0x7274,
+ 6011: 0x7276,
+ 6012: 0x7277,
+ 6013: 0x7278,
+ 6014: 0x727B,
+ 6015: 0x727C,
+ 6016: 0x727D,
+ 6017: 0x7282,
+ 6018: 0x7283,
+ 6019: 0x7285,
+ 6020: 0x7286,
+ 6021: 0x7287,
+ 6022: 0x7288,
+ 6023: 0x7289,
+ 6024: 0x728C,
+ 6025: 0x728E,
+ 6026: 0x7290,
+ 6027: 0x7291,
+ 6028: 0x7293,
+ 6029: 0x7294,
+ 6030: 0x7295,
+ 6031: 0x7296,
+ 6032: 0x7297,
+ 6033: 0x7298,
+ 6034: 0x7299,
+ 6035: 0x729A,
+ 6036: 0x729B,
+ 6037: 0x729C,
+ 6038: 0x729D,
+ 6039: 0x729E,
+ 6040: 0x72A0,
+ 6041: 0x72A1,
+ 6042: 0x72A2,
+ 6043: 0x72A3,
+ 6044: 0x72A4,
+ 6045: 0x72A5,
+ 6046: 0x72A6,
+ 6047: 0x72A7,
+ 6048: 0x72A8,
+ 6049: 0x72A9,
+ 6050: 0x72AA,
+ 6051: 0x72AB,
+ 6052: 0x72AE,
+ 6053: 0x72B1,
+ 6054: 0x72B2,
+ 6055: 0x72B3,
+ 6056: 0x72B5,
+ 6057: 0x72BA,
+ 6058: 0x72BB,
+ 6059: 0x72BC,
+ 6060: 0x72BD,
+ 6061: 0x72BE,
+ 6062: 0x72BF,
+ 6063: 0x72C0,
+ 6064: 0x72C5,
+ 6065: 0x72C6,
+ 6066: 0x72C7,
+ 6067: 0x72C9,
+ 6068: 0x72CA,
+ 6069: 0x72CB,
+ 6070: 0x72CC,
+ 6071: 0x72CF,
+ 6072: 0x72D1,
+ 6073: 0x72D3,
+ 6074: 0x72D4,
+ 6075: 0x72D5,
+ 6076: 0x72D6,
+ 6077: 0x72D8,
+ 6078: 0x72DA,
+ 6079: 0x72DB,
+ 6176: 0x3000,
+ 6177: 0x3001,
+ 6178: 0x3002,
+ 6179: 0x00B7,
+ 6180: 0x02C9,
+ 6181: 0x02C7,
+ 6182: 0x00A8,
+ 6183: 0x3003,
+ 6184: 0x3005,
+ 6185: 0x2014,
+ 6186: 0xFF5E,
+ 6187: 0x2016,
+ 6188: 0x2026,
+ 6189: 0x2018,
+ 6190: 0x2019,
+ 6191: 0x201C,
+ 6192: 0x201D,
+ 6193: 0x3014,
+ 6194: 0x3015,
+ 6195: 0x3008,
+ 6196: 0x3009,
+ 6197: 0x300A,
+ 6198: 0x300B,
+ 6199: 0x300C,
+ 6200: 0x300D,
+ 6201: 0x300E,
+ 6202: 0x300F,
+ 6203: 0x3016,
+ 6204: 0x3017,
+ 6205: 0x3010,
+ 6206: 0x3011,
+ 6207: 0x00B1,
+ 6208: 0x00D7,
+ 6209: 0x00F7,
+ 6210: 0x2236,
+ 6211: 0x2227,
+ 6212: 0x2228,
+ 6213: 0x2211,
+ 6214: 0x220F,
+ 6215: 0x222A,
+ 6216: 0x2229,
+ 6217: 0x2208,
+ 6218: 0x2237,
+ 6219: 0x221A,
+ 6220: 0x22A5,
+ 6221: 0x2225,
+ 6222: 0x2220,
+ 6223: 0x2312,
+ 6224: 0x2299,
+ 6225: 0x222B,
+ 6226: 0x222E,
+ 6227: 0x2261,
+ 6228: 0x224C,
+ 6229: 0x2248,
+ 6230: 0x223D,
+ 6231: 0x221D,
+ 6232: 0x2260,
+ 6233: 0x226E,
+ 6234: 0x226F,
+ 6235: 0x2264,
+ 6236: 0x2265,
+ 6237: 0x221E,
+ 6238: 0x2235,
+ 6239: 0x2234,
+ 6240: 0x2642,
+ 6241: 0x2640,
+ 6242: 0x00B0,
+ 6243: 0x2032,
+ 6244: 0x2033,
+ 6245: 0x2103,
+ 6246: 0xFF04,
+ 6247: 0x00A4,
+ 6248: 0xFFE0,
+ 6249: 0xFFE1,
+ 6250: 0x2030,
+ 6251: 0x00A7,
+ 6252: 0x2116,
+ 6253: 0x2606,
+ 6254: 0x2605,
+ 6255: 0x25CB,
+ 6256: 0x25CF,
+ 6257: 0x25CE,
+ 6258: 0x25C7,
+ 6259: 0x25C6,
+ 6260: 0x25A1,
+ 6261: 0x25A0,
+ 6262: 0x25B3,
+ 6263: 0x25B2,
+ 6264: 0x203B,
+ 6265: 0x2192,
+ 6266: 0x2190,
+ 6267: 0x2191,
+ 6268: 0x2193,
+ 6269: 0x3013,
+ 6366: 0x2170,
+ 6367: 0x2171,
+ 6368: 0x2172,
+ 6369: 0x2173,
+ 6370: 0x2174,
+ 6371: 0x2175,
+ 6372: 0x2176,
+ 6373: 0x2177,
+ 6374: 0x2178,
+ 6375: 0x2179,
+ 6382: 0x2488,
+ 6383: 0x2489,
+ 6384: 0x248A,
+ 6385: 0x248B,
+ 6386: 0x248C,
+ 6387: 0x248D,
+ 6388: 0x248E,
+ 6389: 0x248F,
+ 6390: 0x2490,
+ 6391: 0x2491,
+ 6392: 0x2492,
+ 6393: 0x2493,
+ 6394: 0x2494,
+ 6395: 0x2495,
+ 6396: 0x2496,
+ 6397: 0x2497,
+ 6398: 0x2498,
+ 6399: 0x2499,
+ 6400: 0x249A,
+ 6401: 0x249B,
+ 6402: 0x2474,
+ 6403: 0x2475,
+ 6404: 0x2476,
+ 6405: 0x2477,
+ 6406: 0x2478,
+ 6407: 0x2479,
+ 6408: 0x247A,
+ 6409: 0x247B,
+ 6410: 0x247C,
+ 6411: 0x247D,
+ 6412: 0x247E,
+ 6413: 0x247F,
+ 6414: 0x2480,
+ 6415: 0x2481,
+ 6416: 0x2482,
+ 6417: 0x2483,
+ 6418: 0x2484,
+ 6419: 0x2485,
+ 6420: 0x2486,
+ 6421: 0x2487,
+ 6422: 0x2460,
+ 6423: 0x2461,
+ 6424: 0x2462,
+ 6425: 0x2463,
+ 6426: 0x2464,
+ 6427: 0x2465,
+ 6428: 0x2466,
+ 6429: 0x2467,
+ 6430: 0x2468,
+ 6431: 0x2469,
+ 6432: 0x20AC,
+ 6434: 0x3220,
+ 6435: 0x3221,
+ 6436: 0x3222,
+ 6437: 0x3223,
+ 6438: 0x3224,
+ 6439: 0x3225,
+ 6440: 0x3226,
+ 6441: 0x3227,
+ 6442: 0x3228,
+ 6443: 0x3229,
+ 6446: 0x2160,
+ 6447: 0x2161,
+ 6448: 0x2162,
+ 6449: 0x2163,
+ 6450: 0x2164,
+ 6451: 0x2165,
+ 6452: 0x2166,
+ 6453: 0x2167,
+ 6454: 0x2168,
+ 6455: 0x2169,
+ 6456: 0x216A,
+ 6457: 0x216B,
+ 6555: 0x3000,
+ 6556: 0xFF01,
+ 6557: 0xFF02,
+ 6558: 0xFF03,
+ 6559: 0xFFE5,
+ 6560: 0xFF05,
+ 6561: 0xFF06,
+ 6562: 0xFF07,
+ 6563: 0xFF08,
+ 6564: 0xFF09,
+ 6565: 0xFF0A,
+ 6566: 0xFF0B,
+ 6567: 0xFF0C,
+ 6568: 0xFF0D,
+ 6569: 0xFF0E,
+ 6570: 0xFF0F,
+ 6571: 0xFF10,
+ 6572: 0xFF11,
+ 6573: 0xFF12,
+ 6574: 0xFF13,
+ 6575: 0xFF14,
+ 6576: 0xFF15,
+ 6577: 0xFF16,
+ 6578: 0xFF17,
+ 6579: 0xFF18,
+ 6580: 0xFF19,
+ 6581: 0xFF1A,
+ 6582: 0xFF1B,
+ 6583: 0xFF1C,
+ 6584: 0xFF1D,
+ 6585: 0xFF1E,
+ 6586: 0xFF1F,
+ 6587: 0xFF20,
+ 6588: 0xFF21,
+ 6589: 0xFF22,
+ 6590: 0xFF23,
+ 6591: 0xFF24,
+ 6592: 0xFF25,
+ 6593: 0xFF26,
+ 6594: 0xFF27,
+ 6595: 0xFF28,
+ 6596: 0xFF29,
+ 6597: 0xFF2A,
+ 6598: 0xFF2B,
+ 6599: 0xFF2C,
+ 6600: 0xFF2D,
+ 6601: 0xFF2E,
+ 6602: 0xFF2F,
+ 6603: 0xFF30,
+ 6604: 0xFF31,
+ 6605: 0xFF32,
+ 6606: 0xFF33,
+ 6607: 0xFF34,
+ 6608: 0xFF35,
+ 6609: 0xFF36,
+ 6610: 0xFF37,
+ 6611: 0xFF38,
+ 6612: 0xFF39,
+ 6613: 0xFF3A,
+ 6614: 0xFF3B,
+ 6615: 0xFF3C,
+ 6616: 0xFF3D,
+ 6617: 0xFF3E,
+ 6618: 0xFF3F,
+ 6619: 0xFF40,
+ 6620: 0xFF41,
+ 6621: 0xFF42,
+ 6622: 0xFF43,
+ 6623: 0xFF44,
+ 6624: 0xFF45,
+ 6625: 0xFF46,
+ 6626: 0xFF47,
+ 6627: 0xFF48,
+ 6628: 0xFF49,
+ 6629: 0xFF4A,
+ 6630: 0xFF4B,
+ 6631: 0xFF4C,
+ 6632: 0xFF4D,
+ 6633: 0xFF4E,
+ 6634: 0xFF4F,
+ 6635: 0xFF50,
+ 6636: 0xFF51,
+ 6637: 0xFF52,
+ 6638: 0xFF53,
+ 6639: 0xFF54,
+ 6640: 0xFF55,
+ 6641: 0xFF56,
+ 6642: 0xFF57,
+ 6643: 0xFF58,
+ 6644: 0xFF59,
+ 6645: 0xFF5A,
+ 6646: 0xFF5B,
+ 6647: 0xFF5C,
+ 6648: 0xFF5D,
+ 6649: 0xFFE3,
+ 6746: 0x3041,
+ 6747: 0x3042,
+ 6748: 0x3043,
+ 6749: 0x3044,
+ 6750: 0x3045,
+ 6751: 0x3046,
+ 6752: 0x3047,
+ 6753: 0x3048,
+ 6754: 0x3049,
+ 6755: 0x304A,
+ 6756: 0x304B,
+ 6757: 0x304C,
+ 6758: 0x304D,
+ 6759: 0x304E,
+ 6760: 0x304F,
+ 6761: 0x3050,
+ 6762: 0x3051,
+ 6763: 0x3052,
+ 6764: 0x3053,
+ 6765: 0x3054,
+ 6766: 0x3055,
+ 6767: 0x3056,
+ 6768: 0x3057,
+ 6769: 0x3058,
+ 6770: 0x3059,
+ 6771: 0x305A,
+ 6772: 0x305B,
+ 6773: 0x305C,
+ 6774: 0x305D,
+ 6775: 0x305E,
+ 6776: 0x305F,
+ 6777: 0x3060,
+ 6778: 0x3061,
+ 6779: 0x3062,
+ 6780: 0x3063,
+ 6781: 0x3064,
+ 6782: 0x3065,
+ 6783: 0x3066,
+ 6784: 0x3067,
+ 6785: 0x3068,
+ 6786: 0x3069,
+ 6787: 0x306A,
+ 6788: 0x306B,
+ 6789: 0x306C,
+ 6790: 0x306D,
+ 6791: 0x306E,
+ 6792: 0x306F,
+ 6793: 0x3070,
+ 6794: 0x3071,
+ 6795: 0x3072,
+ 6796: 0x3073,
+ 6797: 0x3074,
+ 6798: 0x3075,
+ 6799: 0x3076,
+ 6800: 0x3077,
+ 6801: 0x3078,
+ 6802: 0x3079,
+ 6803: 0x307A,
+ 6804: 0x307B,
+ 6805: 0x307C,
+ 6806: 0x307D,
+ 6807: 0x307E,
+ 6808: 0x307F,
+ 6809: 0x3080,
+ 6810: 0x3081,
+ 6811: 0x3082,
+ 6812: 0x3083,
+ 6813: 0x3084,
+ 6814: 0x3085,
+ 6815: 0x3086,
+ 6816: 0x3087,
+ 6817: 0x3088,
+ 6818: 0x3089,
+ 6819: 0x308A,
+ 6820: 0x308B,
+ 6821: 0x308C,
+ 6822: 0x308D,
+ 6823: 0x308E,
+ 6824: 0x308F,
+ 6825: 0x3090,
+ 6826: 0x3091,
+ 6827: 0x3092,
+ 6828: 0x3093,
+ 6936: 0x30A1,
+ 6937: 0x30A2,
+ 6938: 0x30A3,
+ 6939: 0x30A4,
+ 6940: 0x30A5,
+ 6941: 0x30A6,
+ 6942: 0x30A7,
+ 6943: 0x30A8,
+ 6944: 0x30A9,
+ 6945: 0x30AA,
+ 6946: 0x30AB,
+ 6947: 0x30AC,
+ 6948: 0x30AD,
+ 6949: 0x30AE,
+ 6950: 0x30AF,
+ 6951: 0x30B0,
+ 6952: 0x30B1,
+ 6953: 0x30B2,
+ 6954: 0x30B3,
+ 6955: 0x30B4,
+ 6956: 0x30B5,
+ 6957: 0x30B6,
+ 6958: 0x30B7,
+ 6959: 0x30B8,
+ 6960: 0x30B9,
+ 6961: 0x30BA,
+ 6962: 0x30BB,
+ 6963: 0x30BC,
+ 6964: 0x30BD,
+ 6965: 0x30BE,
+ 6966: 0x30BF,
+ 6967: 0x30C0,
+ 6968: 0x30C1,
+ 6969: 0x30C2,
+ 6970: 0x30C3,
+ 6971: 0x30C4,
+ 6972: 0x30C5,
+ 6973: 0x30C6,
+ 6974: 0x30C7,
+ 6975: 0x30C8,
+ 6976: 0x30C9,
+ 6977: 0x30CA,
+ 6978: 0x30CB,
+ 6979: 0x30CC,
+ 6980: 0x30CD,
+ 6981: 0x30CE,
+ 6982: 0x30CF,
+ 6983: 0x30D0,
+ 6984: 0x30D1,
+ 6985: 0x30D2,
+ 6986: 0x30D3,
+ 6987: 0x30D4,
+ 6988: 0x30D5,
+ 6989: 0x30D6,
+ 6990: 0x30D7,
+ 6991: 0x30D8,
+ 6992: 0x30D9,
+ 6993: 0x30DA,
+ 6994: 0x30DB,
+ 6995: 0x30DC,
+ 6996: 0x30DD,
+ 6997: 0x30DE,
+ 6998: 0x30DF,
+ 6999: 0x30E0,
+ 7000: 0x30E1,
+ 7001: 0x30E2,
+ 7002: 0x30E3,
+ 7003: 0x30E4,
+ 7004: 0x30E5,
+ 7005: 0x30E6,
+ 7006: 0x30E7,
+ 7007: 0x30E8,
+ 7008: 0x30E9,
+ 7009: 0x30EA,
+ 7010: 0x30EB,
+ 7011: 0x30EC,
+ 7012: 0x30ED,
+ 7013: 0x30EE,
+ 7014: 0x30EF,
+ 7015: 0x30F0,
+ 7016: 0x30F1,
+ 7017: 0x30F2,
+ 7018: 0x30F3,
+ 7019: 0x30F4,
+ 7020: 0x30F5,
+ 7021: 0x30F6,
+ 7126: 0x0391,
+ 7127: 0x0392,
+ 7128: 0x0393,
+ 7129: 0x0394,
+ 7130: 0x0395,
+ 7131: 0x0396,
+ 7132: 0x0397,
+ 7133: 0x0398,
+ 7134: 0x0399,
+ 7135: 0x039A,
+ 7136: 0x039B,
+ 7137: 0x039C,
+ 7138: 0x039D,
+ 7139: 0x039E,
+ 7140: 0x039F,
+ 7141: 0x03A0,
+ 7142: 0x03A1,
+ 7143: 0x03A3,
+ 7144: 0x03A4,
+ 7145: 0x03A5,
+ 7146: 0x03A6,
+ 7147: 0x03A7,
+ 7148: 0x03A8,
+ 7149: 0x03A9,
+ 7158: 0x03B1,
+ 7159: 0x03B2,
+ 7160: 0x03B3,
+ 7161: 0x03B4,
+ 7162: 0x03B5,
+ 7163: 0x03B6,
+ 7164: 0x03B7,
+ 7165: 0x03B8,
+ 7166: 0x03B9,
+ 7167: 0x03BA,
+ 7168: 0x03BB,
+ 7169: 0x03BC,
+ 7170: 0x03BD,
+ 7171: 0x03BE,
+ 7172: 0x03BF,
+ 7173: 0x03C0,
+ 7174: 0x03C1,
+ 7175: 0x03C3,
+ 7176: 0x03C4,
+ 7177: 0x03C5,
+ 7178: 0x03C6,
+ 7179: 0x03C7,
+ 7180: 0x03C8,
+ 7181: 0x03C9,
+ 7189: 0xFE35,
+ 7190: 0xFE36,
+ 7191: 0xFE39,
+ 7192: 0xFE3A,
+ 7193: 0xFE3F,
+ 7194: 0xFE40,
+ 7195: 0xFE3D,
+ 7196: 0xFE3E,
+ 7197: 0xFE41,
+ 7198: 0xFE42,
+ 7199: 0xFE43,
+ 7200: 0xFE44,
+ 7203: 0xFE3B,
+ 7204: 0xFE3C,
+ 7205: 0xFE37,
+ 7206: 0xFE38,
+ 7207: 0xFE31,
+ 7209: 0xFE33,
+ 7210: 0xFE34,
+ 7316: 0x0410,
+ 7317: 0x0411,
+ 7318: 0x0412,
+ 7319: 0x0413,
+ 7320: 0x0414,
+ 7321: 0x0415,
+ 7322: 0x0401,
+ 7323: 0x0416,
+ 7324: 0x0417,
+ 7325: 0x0418,
+ 7326: 0x0419,
+ 7327: 0x041A,
+ 7328: 0x041B,
+ 7329: 0x041C,
+ 7330: 0x041D,
+ 7331: 0x041E,
+ 7332: 0x041F,
+ 7333: 0x0420,
+ 7334: 0x0421,
+ 7335: 0x0422,
+ 7336: 0x0423,
+ 7337: 0x0424,
+ 7338: 0x0425,
+ 7339: 0x0426,
+ 7340: 0x0427,
+ 7341: 0x0428,
+ 7342: 0x0429,
+ 7343: 0x042A,
+ 7344: 0x042B,
+ 7345: 0x042C,
+ 7346: 0x042D,
+ 7347: 0x042E,
+ 7348: 0x042F,
+ 7364: 0x0430,
+ 7365: 0x0431,
+ 7366: 0x0432,
+ 7367: 0x0433,
+ 7368: 0x0434,
+ 7369: 0x0435,
+ 7370: 0x0451,
+ 7371: 0x0436,
+ 7372: 0x0437,
+ 7373: 0x0438,
+ 7374: 0x0439,
+ 7375: 0x043A,
+ 7376: 0x043B,
+ 7377: 0x043C,
+ 7378: 0x043D,
+ 7379: 0x043E,
+ 7380: 0x043F,
+ 7381: 0x0440,
+ 7382: 0x0441,
+ 7383: 0x0442,
+ 7384: 0x0443,
+ 7385: 0x0444,
+ 7386: 0x0445,
+ 7387: 0x0446,
+ 7388: 0x0447,
+ 7389: 0x0448,
+ 7390: 0x0449,
+ 7391: 0x044A,
+ 7392: 0x044B,
+ 7393: 0x044C,
+ 7394: 0x044D,
+ 7395: 0x044E,
+ 7396: 0x044F,
+ 7410: 0x02CA,
+ 7411: 0x02CB,
+ 7412: 0x02D9,
+ 7413: 0x2013,
+ 7414: 0x2015,
+ 7415: 0x2025,
+ 7416: 0x2035,
+ 7417: 0x2105,
+ 7418: 0x2109,
+ 7419: 0x2196,
+ 7420: 0x2197,
+ 7421: 0x2198,
+ 7422: 0x2199,
+ 7423: 0x2215,
+ 7424: 0x221F,
+ 7425: 0x2223,
+ 7426: 0x2252,
+ 7427: 0x2266,
+ 7428: 0x2267,
+ 7429: 0x22BF,
+ 7430: 0x2550,
+ 7431: 0x2551,
+ 7432: 0x2552,
+ 7433: 0x2553,
+ 7434: 0x2554,
+ 7435: 0x2555,
+ 7436: 0x2556,
+ 7437: 0x2557,
+ 7438: 0x2558,
+ 7439: 0x2559,
+ 7440: 0x255A,
+ 7441: 0x255B,
+ 7442: 0x255C,
+ 7443: 0x255D,
+ 7444: 0x255E,
+ 7445: 0x255F,
+ 7446: 0x2560,
+ 7447: 0x2561,
+ 7448: 0x2562,
+ 7449: 0x2563,
+ 7450: 0x2564,
+ 7451: 0x2565,
+ 7452: 0x2566,
+ 7453: 0x2567,
+ 7454: 0x2568,
+ 7455: 0x2569,
+ 7456: 0x256A,
+ 7457: 0x256B,
+ 7458: 0x256C,
+ 7459: 0x256D,
+ 7460: 0x256E,
+ 7461: 0x256F,
+ 7462: 0x2570,
+ 7463: 0x2571,
+ 7464: 0x2572,
+ 7465: 0x2573,
+ 7466: 0x2581,
+ 7467: 0x2582,
+ 7468: 0x2583,
+ 7469: 0x2584,
+ 7470: 0x2585,
+ 7471: 0x2586,
+ 7472: 0x2587,
+ 7473: 0x2588,
+ 7474: 0x2589,
+ 7475: 0x258A,
+ 7476: 0x258B,
+ 7477: 0x258C,
+ 7478: 0x258D,
+ 7479: 0x258E,
+ 7480: 0x258F,
+ 7481: 0x2593,
+ 7482: 0x2594,
+ 7483: 0x2595,
+ 7484: 0x25BC,
+ 7485: 0x25BD,
+ 7486: 0x25E2,
+ 7487: 0x25E3,
+ 7488: 0x25E4,
+ 7489: 0x25E5,
+ 7490: 0x2609,
+ 7491: 0x2295,
+ 7492: 0x3012,
+ 7493: 0x301D,
+ 7494: 0x301E,
+ 7506: 0x0101,
+ 7507: 0x00E1,
+ 7508: 0x01CE,
+ 7509: 0x00E0,
+ 7510: 0x0113,
+ 7511: 0x00E9,
+ 7512: 0x011B,
+ 7513: 0x00E8,
+ 7514: 0x012B,
+ 7515: 0x00ED,
+ 7516: 0x01D0,
+ 7517: 0x00EC,
+ 7518: 0x014D,
+ 7519: 0x00F3,
+ 7520: 0x01D2,
+ 7521: 0x00F2,
+ 7522: 0x016B,
+ 7523: 0x00FA,
+ 7524: 0x01D4,
+ 7525: 0x00F9,
+ 7526: 0x01D6,
+ 7527: 0x01D8,
+ 7528: 0x01DA,
+ 7529: 0x01DC,
+ 7530: 0x00FC,
+ 7531: 0x00EA,
+ 7532: 0x0251,
+ 7534: 0x0144,
+ 7535: 0x0148,
+ 7536: 0x01F9,
+ 7537: 0x0261,
+ 7542: 0x3105,
+ 7543: 0x3106,
+ 7544: 0x3107,
+ 7545: 0x3108,
+ 7546: 0x3109,
+ 7547: 0x310A,
+ 7548: 0x310B,
+ 7549: 0x310C,
+ 7550: 0x310D,
+ 7551: 0x310E,
+ 7552: 0x310F,
+ 7553: 0x3110,
+ 7554: 0x3111,
+ 7555: 0x3112,
+ 7556: 0x3113,
+ 7557: 0x3114,
+ 7558: 0x3115,
+ 7559: 0x3116,
+ 7560: 0x3117,
+ 7561: 0x3118,
+ 7562: 0x3119,
+ 7563: 0x311A,
+ 7564: 0x311B,
+ 7565: 0x311C,
+ 7566: 0x311D,
+ 7567: 0x311E,
+ 7568: 0x311F,
+ 7569: 0x3120,
+ 7570: 0x3121,
+ 7571: 0x3122,
+ 7572: 0x3123,
+ 7573: 0x3124,
+ 7574: 0x3125,
+ 7575: 0x3126,
+ 7576: 0x3127,
+ 7577: 0x3128,
+ 7578: 0x3129,
+ 7600: 0x3021,
+ 7601: 0x3022,
+ 7602: 0x3023,
+ 7603: 0x3024,
+ 7604: 0x3025,
+ 7605: 0x3026,
+ 7606: 0x3027,
+ 7607: 0x3028,
+ 7608: 0x3029,
+ 7609: 0x32A3,
+ 7610: 0x338E,
+ 7611: 0x338F,
+ 7612: 0x339C,
+ 7613: 0x339D,
+ 7614: 0x339E,
+ 7615: 0x33A1,
+ 7616: 0x33C4,
+ 7617: 0x33CE,
+ 7618: 0x33D1,
+ 7619: 0x33D2,
+ 7620: 0x33D5,
+ 7621: 0xFE30,
+ 7622: 0xFFE2,
+ 7623: 0xFFE4,
+ 7625: 0x2121,
+ 7626: 0x3231,
+ 7628: 0x2010,
+ 7632: 0x30FC,
+ 7633: 0x309B,
+ 7634: 0x309C,
+ 7635: 0x30FD,
+ 7636: 0x30FE,
+ 7637: 0x3006,
+ 7638: 0x309D,
+ 7639: 0x309E,
+ 7640: 0xFE49,
+ 7641: 0xFE4A,
+ 7642: 0xFE4B,
+ 7643: 0xFE4C,
+ 7644: 0xFE4D,
+ 7645: 0xFE4E,
+ 7646: 0xFE4F,
+ 7647: 0xFE50,
+ 7648: 0xFE51,
+ 7649: 0xFE52,
+ 7650: 0xFE54,
+ 7651: 0xFE55,
+ 7652: 0xFE56,
+ 7653: 0xFE57,
+ 7654: 0xFE59,
+ 7655: 0xFE5A,
+ 7656: 0xFE5B,
+ 7657: 0xFE5C,
+ 7658: 0xFE5D,
+ 7659: 0xFE5E,
+ 7660: 0xFE5F,
+ 7661: 0xFE60,
+ 7662: 0xFE61,
+ 7663: 0xFE62,
+ 7664: 0xFE63,
+ 7665: 0xFE64,
+ 7666: 0xFE65,
+ 7667: 0xFE66,
+ 7668: 0xFE68,
+ 7669: 0xFE69,
+ 7670: 0xFE6A,
+ 7671: 0xFE6B,
+ 7672: 0x303E,
+ 7673: 0x2FF0,
+ 7674: 0x2FF1,
+ 7675: 0x2FF2,
+ 7676: 0x2FF3,
+ 7677: 0x2FF4,
+ 7678: 0x2FF5,
+ 7679: 0x2FF6,
+ 7680: 0x2FF7,
+ 7681: 0x2FF8,
+ 7682: 0x2FF9,
+ 7683: 0x2FFA,
+ 7684: 0x2FFB,
+ 7685: 0x3007,
+ 7699: 0x2500,
+ 7700: 0x2501,
+ 7701: 0x2502,
+ 7702: 0x2503,
+ 7703: 0x2504,
+ 7704: 0x2505,
+ 7705: 0x2506,
+ 7706: 0x2507,
+ 7707: 0x2508,
+ 7708: 0x2509,
+ 7709: 0x250A,
+ 7710: 0x250B,
+ 7711: 0x250C,
+ 7712: 0x250D,
+ 7713: 0x250E,
+ 7714: 0x250F,
+ 7715: 0x2510,
+ 7716: 0x2511,
+ 7717: 0x2512,
+ 7718: 0x2513,
+ 7719: 0x2514,
+ 7720: 0x2515,
+ 7721: 0x2516,
+ 7722: 0x2517,
+ 7723: 0x2518,
+ 7724: 0x2519,
+ 7725: 0x251A,
+ 7726: 0x251B,
+ 7727: 0x251C,
+ 7728: 0x251D,
+ 7729: 0x251E,
+ 7730: 0x251F,
+ 7731: 0x2520,
+ 7732: 0x2521,
+ 7733: 0x2522,
+ 7734: 0x2523,
+ 7735: 0x2524,
+ 7736: 0x2525,
+ 7737: 0x2526,
+ 7738: 0x2527,
+ 7739: 0x2528,
+ 7740: 0x2529,
+ 7741: 0x252A,
+ 7742: 0x252B,
+ 7743: 0x252C,
+ 7744: 0x252D,
+ 7745: 0x252E,
+ 7746: 0x252F,
+ 7747: 0x2530,
+ 7748: 0x2531,
+ 7749: 0x2532,
+ 7750: 0x2533,
+ 7751: 0x2534,
+ 7752: 0x2535,
+ 7753: 0x2536,
+ 7754: 0x2537,
+ 7755: 0x2538,
+ 7756: 0x2539,
+ 7757: 0x253A,
+ 7758: 0x253B,
+ 7759: 0x253C,
+ 7760: 0x253D,
+ 7761: 0x253E,
+ 7762: 0x253F,
+ 7763: 0x2540,
+ 7764: 0x2541,
+ 7765: 0x2542,
+ 7766: 0x2543,
+ 7767: 0x2544,
+ 7768: 0x2545,
+ 7769: 0x2546,
+ 7770: 0x2547,
+ 7771: 0x2548,
+ 7772: 0x2549,
+ 7773: 0x254A,
+ 7774: 0x254B,
+ 7790: 0x72DC,
+ 7791: 0x72DD,
+ 7792: 0x72DF,
+ 7793: 0x72E2,
+ 7794: 0x72E3,
+ 7795: 0x72E4,
+ 7796: 0x72E5,
+ 7797: 0x72E6,
+ 7798: 0x72E7,
+ 7799: 0x72EA,
+ 7800: 0x72EB,
+ 7801: 0x72F5,
+ 7802: 0x72F6,
+ 7803: 0x72F9,
+ 7804: 0x72FD,
+ 7805: 0x72FE,
+ 7806: 0x72FF,
+ 7807: 0x7300,
+ 7808: 0x7302,
+ 7809: 0x7304,
+ 7810: 0x7305,
+ 7811: 0x7306,
+ 7812: 0x7307,
+ 7813: 0x7308,
+ 7814: 0x7309,
+ 7815: 0x730B,
+ 7816: 0x730C,
+ 7817: 0x730D,
+ 7818: 0x730F,
+ 7819: 0x7310,
+ 7820: 0x7311,
+ 7821: 0x7312,
+ 7822: 0x7314,
+ 7823: 0x7318,
+ 7824: 0x7319,
+ 7825: 0x731A,
+ 7826: 0x731F,
+ 7827: 0x7320,
+ 7828: 0x7323,
+ 7829: 0x7324,
+ 7830: 0x7326,
+ 7831: 0x7327,
+ 7832: 0x7328,
+ 7833: 0x732D,
+ 7834: 0x732F,
+ 7835: 0x7330,
+ 7836: 0x7332,
+ 7837: 0x7333,
+ 7838: 0x7335,
+ 7839: 0x7336,
+ 7840: 0x733A,
+ 7841: 0x733B,
+ 7842: 0x733C,
+ 7843: 0x733D,
+ 7844: 0x7340,
+ 7845: 0x7341,
+ 7846: 0x7342,
+ 7847: 0x7343,
+ 7848: 0x7344,
+ 7849: 0x7345,
+ 7850: 0x7346,
+ 7851: 0x7347,
+ 7852: 0x7348,
+ 7853: 0x7349,
+ 7854: 0x734A,
+ 7855: 0x734B,
+ 7856: 0x734C,
+ 7857: 0x734E,
+ 7858: 0x734F,
+ 7859: 0x7351,
+ 7860: 0x7353,
+ 7861: 0x7354,
+ 7862: 0x7355,
+ 7863: 0x7356,
+ 7864: 0x7358,
+ 7865: 0x7359,
+ 7866: 0x735A,
+ 7867: 0x735B,
+ 7868: 0x735C,
+ 7869: 0x735D,
+ 7870: 0x735E,
+ 7871: 0x735F,
+ 7872: 0x7361,
+ 7873: 0x7362,
+ 7874: 0x7363,
+ 7875: 0x7364,
+ 7876: 0x7365,
+ 7877: 0x7366,
+ 7878: 0x7367,
+ 7879: 0x7368,
+ 7880: 0x7369,
+ 7881: 0x736A,
+ 7882: 0x736B,
+ 7883: 0x736E,
+ 7884: 0x7370,
+ 7885: 0x7371,
+ 7980: 0x7372,
+ 7981: 0x7373,
+ 7982: 0x7374,
+ 7983: 0x7375,
+ 7984: 0x7376,
+ 7985: 0x7377,
+ 7986: 0x7378,
+ 7987: 0x7379,
+ 7988: 0x737A,
+ 7989: 0x737B,
+ 7990: 0x737C,
+ 7991: 0x737D,
+ 7992: 0x737F,
+ 7993: 0x7380,
+ 7994: 0x7381,
+ 7995: 0x7382,
+ 7996: 0x7383,
+ 7997: 0x7385,
+ 7998: 0x7386,
+ 7999: 0x7388,
+ 8000: 0x738A,
+ 8001: 0x738C,
+ 8002: 0x738D,
+ 8003: 0x738F,
+ 8004: 0x7390,
+ 8005: 0x7392,
+ 8006: 0x7393,
+ 8007: 0x7394,
+ 8008: 0x7395,
+ 8009: 0x7397,
+ 8010: 0x7398,
+ 8011: 0x7399,
+ 8012: 0x739A,
+ 8013: 0x739C,
+ 8014: 0x739D,
+ 8015: 0x739E,
+ 8016: 0x73A0,
+ 8017: 0x73A1,
+ 8018: 0x73A3,
+ 8019: 0x73A4,
+ 8020: 0x73A5,
+ 8021: 0x73A6,
+ 8022: 0x73A7,
+ 8023: 0x73A8,
+ 8024: 0x73AA,
+ 8025: 0x73AC,
+ 8026: 0x73AD,
+ 8027: 0x73B1,
+ 8028: 0x73B4,
+ 8029: 0x73B5,
+ 8030: 0x73B6,
+ 8031: 0x73B8,
+ 8032: 0x73B9,
+ 8033: 0x73BC,
+ 8034: 0x73BD,
+ 8035: 0x73BE,
+ 8036: 0x73BF,
+ 8037: 0x73C1,
+ 8038: 0x73C3,
+ 8039: 0x73C4,
+ 8040: 0x73C5,
+ 8041: 0x73C6,
+ 8042: 0x73C7,
+ 8043: 0x73CB,
+ 8044: 0x73CC,
+ 8045: 0x73CE,
+ 8046: 0x73D2,
+ 8047: 0x73D3,
+ 8048: 0x73D4,
+ 8049: 0x73D5,
+ 8050: 0x73D6,
+ 8051: 0x73D7,
+ 8052: 0x73D8,
+ 8053: 0x73DA,
+ 8054: 0x73DB,
+ 8055: 0x73DC,
+ 8056: 0x73DD,
+ 8057: 0x73DF,
+ 8058: 0x73E1,
+ 8059: 0x73E2,
+ 8060: 0x73E3,
+ 8061: 0x73E4,
+ 8062: 0x73E6,
+ 8063: 0x73E8,
+ 8064: 0x73EA,
+ 8065: 0x73EB,
+ 8066: 0x73EC,
+ 8067: 0x73EE,
+ 8068: 0x73EF,
+ 8069: 0x73F0,
+ 8070: 0x73F1,
+ 8071: 0x73F3,
+ 8072: 0x73F4,
+ 8073: 0x73F5,
+ 8074: 0x73F6,
+ 8075: 0x73F7,
+ 8170: 0x73F8,
+ 8171: 0x73F9,
+ 8172: 0x73FA,
+ 8173: 0x73FB,
+ 8174: 0x73FC,
+ 8175: 0x73FD,
+ 8176: 0x73FE,
+ 8177: 0x73FF,
+ 8178: 0x7400,
+ 8179: 0x7401,
+ 8180: 0x7402,
+ 8181: 0x7404,
+ 8182: 0x7407,
+ 8183: 0x7408,
+ 8184: 0x740B,
+ 8185: 0x740C,
+ 8186: 0x740D,
+ 8187: 0x740E,
+ 8188: 0x7411,
+ 8189: 0x7412,
+ 8190: 0x7413,
+ 8191: 0x7414,
+ 8192: 0x7415,
+ 8193: 0x7416,
+ 8194: 0x7417,
+ 8195: 0x7418,
+ 8196: 0x7419,
+ 8197: 0x741C,
+ 8198: 0x741D,
+ 8199: 0x741E,
+ 8200: 0x741F,
+ 8201: 0x7420,
+ 8202: 0x7421,
+ 8203: 0x7423,
+ 8204: 0x7424,
+ 8205: 0x7427,
+ 8206: 0x7429,
+ 8207: 0x742B,
+ 8208: 0x742D,
+ 8209: 0x742F,
+ 8210: 0x7431,
+ 8211: 0x7432,
+ 8212: 0x7437,
+ 8213: 0x7438,
+ 8214: 0x7439,
+ 8215: 0x743A,
+ 8216: 0x743B,
+ 8217: 0x743D,
+ 8218: 0x743E,
+ 8219: 0x743F,
+ 8220: 0x7440,
+ 8221: 0x7442,
+ 8222: 0x7443,
+ 8223: 0x7444,
+ 8224: 0x7445,
+ 8225: 0x7446,
+ 8226: 0x7447,
+ 8227: 0x7448,
+ 8228: 0x7449,
+ 8229: 0x744A,
+ 8230: 0x744B,
+ 8231: 0x744C,
+ 8232: 0x744D,
+ 8233: 0x744E,
+ 8234: 0x744F,
+ 8235: 0x7450,
+ 8236: 0x7451,
+ 8237: 0x7452,
+ 8238: 0x7453,
+ 8239: 0x7454,
+ 8240: 0x7456,
+ 8241: 0x7458,
+ 8242: 0x745D,
+ 8243: 0x7460,
+ 8244: 0x7461,
+ 8245: 0x7462,
+ 8246: 0x7463,
+ 8247: 0x7464,
+ 8248: 0x7465,
+ 8249: 0x7466,
+ 8250: 0x7467,
+ 8251: 0x7468,
+ 8252: 0x7469,
+ 8253: 0x746A,
+ 8254: 0x746B,
+ 8255: 0x746C,
+ 8256: 0x746E,
+ 8257: 0x746F,
+ 8258: 0x7471,
+ 8259: 0x7472,
+ 8260: 0x7473,
+ 8261: 0x7474,
+ 8262: 0x7475,
+ 8263: 0x7478,
+ 8264: 0x7479,
+ 8265: 0x747A,
+ 8360: 0x747B,
+ 8361: 0x747C,
+ 8362: 0x747D,
+ 8363: 0x747F,
+ 8364: 0x7482,
+ 8365: 0x7484,
+ 8366: 0x7485,
+ 8367: 0x7486,
+ 8368: 0x7488,
+ 8369: 0x7489,
+ 8370: 0x748A,
+ 8371: 0x748C,
+ 8372: 0x748D,
+ 8373: 0x748F,
+ 8374: 0x7491,
+ 8375: 0x7492,
+ 8376: 0x7493,
+ 8377: 0x7494,
+ 8378: 0x7495,
+ 8379: 0x7496,
+ 8380: 0x7497,
+ 8381: 0x7498,
+ 8382: 0x7499,
+ 8383: 0x749A,
+ 8384: 0x749B,
+ 8385: 0x749D,
+ 8386: 0x749F,
+ 8387: 0x74A0,
+ 8388: 0x74A1,
+ 8389: 0x74A2,
+ 8390: 0x74A3,
+ 8391: 0x74A4,
+ 8392: 0x74A5,
+ 8393: 0x74A6,
+ 8394: 0x74AA,
+ 8395: 0x74AB,
+ 8396: 0x74AC,
+ 8397: 0x74AD,
+ 8398: 0x74AE,
+ 8399: 0x74AF,
+ 8400: 0x74B0,
+ 8401: 0x74B1,
+ 8402: 0x74B2,
+ 8403: 0x74B3,
+ 8404: 0x74B4,
+ 8405: 0x74B5,
+ 8406: 0x74B6,
+ 8407: 0x74B7,
+ 8408: 0x74B8,
+ 8409: 0x74B9,
+ 8410: 0x74BB,
+ 8411: 0x74BC,
+ 8412: 0x74BD,
+ 8413: 0x74BE,
+ 8414: 0x74BF,
+ 8415: 0x74C0,
+ 8416: 0x74C1,
+ 8417: 0x74C2,
+ 8418: 0x74C3,
+ 8419: 0x74C4,
+ 8420: 0x74C5,
+ 8421: 0x74C6,
+ 8422: 0x74C7,
+ 8423: 0x74C8,
+ 8424: 0x74C9,
+ 8425: 0x74CA,
+ 8426: 0x74CB,
+ 8427: 0x74CC,
+ 8428: 0x74CD,
+ 8429: 0x74CE,
+ 8430: 0x74CF,
+ 8431: 0x74D0,
+ 8432: 0x74D1,
+ 8433: 0x74D3,
+ 8434: 0x74D4,
+ 8435: 0x74D5,
+ 8436: 0x74D6,
+ 8437: 0x74D7,
+ 8438: 0x74D8,
+ 8439: 0x74D9,
+ 8440: 0x74DA,
+ 8441: 0x74DB,
+ 8442: 0x74DD,
+ 8443: 0x74DF,
+ 8444: 0x74E1,
+ 8445: 0x74E5,
+ 8446: 0x74E7,
+ 8447: 0x74E8,
+ 8448: 0x74E9,
+ 8449: 0x74EA,
+ 8450: 0x74EB,
+ 8451: 0x74EC,
+ 8452: 0x74ED,
+ 8453: 0x74F0,
+ 8454: 0x74F1,
+ 8455: 0x74F2,
+ 8550: 0x74F3,
+ 8551: 0x74F5,
+ 8552: 0x74F8,
+ 8553: 0x74F9,
+ 8554: 0x74FA,
+ 8555: 0x74FB,
+ 8556: 0x74FC,
+ 8557: 0x74FD,
+ 8558: 0x74FE,
+ 8559: 0x7500,
+ 8560: 0x7501,
+ 8561: 0x7502,
+ 8562: 0x7503,
+ 8563: 0x7505,
+ 8564: 0x7506,
+ 8565: 0x7507,
+ 8566: 0x7508,
+ 8567: 0x7509,
+ 8568: 0x750A,
+ 8569: 0x750B,
+ 8570: 0x750C,
+ 8571: 0x750E,
+ 8572: 0x7510,
+ 8573: 0x7512,
+ 8574: 0x7514,
+ 8575: 0x7515,
+ 8576: 0x7516,
+ 8577: 0x7517,
+ 8578: 0x751B,
+ 8579: 0x751D,
+ 8580: 0x751E,
+ 8581: 0x7520,
+ 8582: 0x7521,
+ 8583: 0x7522,
+ 8584: 0x7523,
+ 8585: 0x7524,
+ 8586: 0x7526,
+ 8587: 0x7527,
+ 8588: 0x752A,
+ 8589: 0x752E,
+ 8590: 0x7534,
+ 8591: 0x7536,
+ 8592: 0x7539,
+ 8593: 0x753C,
+ 8594: 0x753D,
+ 8595: 0x753F,
+ 8596: 0x7541,
+ 8597: 0x7542,
+ 8598: 0x7543,
+ 8599: 0x7544,
+ 8600: 0x7546,
+ 8601: 0x7547,
+ 8602: 0x7549,
+ 8603: 0x754A,
+ 8604: 0x754D,
+ 8605: 0x7550,
+ 8606: 0x7551,
+ 8607: 0x7552,
+ 8608: 0x7553,
+ 8609: 0x7555,
+ 8610: 0x7556,
+ 8611: 0x7557,
+ 8612: 0x7558,
+ 8613: 0x755D,
+ 8614: 0x755E,
+ 8615: 0x755F,
+ 8616: 0x7560,
+ 8617: 0x7561,
+ 8618: 0x7562,
+ 8619: 0x7563,
+ 8620: 0x7564,
+ 8621: 0x7567,
+ 8622: 0x7568,
+ 8623: 0x7569,
+ 8624: 0x756B,
+ 8625: 0x756C,
+ 8626: 0x756D,
+ 8627: 0x756E,
+ 8628: 0x756F,
+ 8629: 0x7570,
+ 8630: 0x7571,
+ 8631: 0x7573,
+ 8632: 0x7575,
+ 8633: 0x7576,
+ 8634: 0x7577,
+ 8635: 0x757A,
+ 8636: 0x757B,
+ 8637: 0x757C,
+ 8638: 0x757D,
+ 8639: 0x757E,
+ 8640: 0x7580,
+ 8641: 0x7581,
+ 8642: 0x7582,
+ 8643: 0x7584,
+ 8644: 0x7585,
+ 8645: 0x7587,
+ 8740: 0x7588,
+ 8741: 0x7589,
+ 8742: 0x758A,
+ 8743: 0x758C,
+ 8744: 0x758D,
+ 8745: 0x758E,
+ 8746: 0x7590,
+ 8747: 0x7593,
+ 8748: 0x7595,
+ 8749: 0x7598,
+ 8750: 0x759B,
+ 8751: 0x759C,
+ 8752: 0x759E,
+ 8753: 0x75A2,
+ 8754: 0x75A6,
+ 8755: 0x75A7,
+ 8756: 0x75A8,
+ 8757: 0x75A9,
+ 8758: 0x75AA,
+ 8759: 0x75AD,
+ 8760: 0x75B6,
+ 8761: 0x75B7,
+ 8762: 0x75BA,
+ 8763: 0x75BB,
+ 8764: 0x75BF,
+ 8765: 0x75C0,
+ 8766: 0x75C1,
+ 8767: 0x75C6,
+ 8768: 0x75CB,
+ 8769: 0x75CC,
+ 8770: 0x75CE,
+ 8771: 0x75CF,
+ 8772: 0x75D0,
+ 8773: 0x75D1,
+ 8774: 0x75D3,
+ 8775: 0x75D7,
+ 8776: 0x75D9,
+ 8777: 0x75DA,
+ 8778: 0x75DC,
+ 8779: 0x75DD,
+ 8780: 0x75DF,
+ 8781: 0x75E0,
+ 8782: 0x75E1,
+ 8783: 0x75E5,
+ 8784: 0x75E9,
+ 8785: 0x75EC,
+ 8786: 0x75ED,
+ 8787: 0x75EE,
+ 8788: 0x75EF,
+ 8789: 0x75F2,
+ 8790: 0x75F3,
+ 8791: 0x75F5,
+ 8792: 0x75F6,
+ 8793: 0x75F7,
+ 8794: 0x75F8,
+ 8795: 0x75FA,
+ 8796: 0x75FB,
+ 8797: 0x75FD,
+ 8798: 0x75FE,
+ 8799: 0x7602,
+ 8800: 0x7604,
+ 8801: 0x7606,
+ 8802: 0x7607,
+ 8803: 0x7608,
+ 8804: 0x7609,
+ 8805: 0x760B,
+ 8806: 0x760D,
+ 8807: 0x760E,
+ 8808: 0x760F,
+ 8809: 0x7611,
+ 8810: 0x7612,
+ 8811: 0x7613,
+ 8812: 0x7614,
+ 8813: 0x7616,
+ 8814: 0x761A,
+ 8815: 0x761C,
+ 8816: 0x761D,
+ 8817: 0x761E,
+ 8818: 0x7621,
+ 8819: 0x7623,
+ 8820: 0x7627,
+ 8821: 0x7628,
+ 8822: 0x762C,
+ 8823: 0x762E,
+ 8824: 0x762F,
+ 8825: 0x7631,
+ 8826: 0x7632,
+ 8827: 0x7636,
+ 8828: 0x7637,
+ 8829: 0x7639,
+ 8830: 0x763A,
+ 8831: 0x763B,
+ 8832: 0x763D,
+ 8833: 0x7641,
+ 8834: 0x7642,
+ 8835: 0x7644,
+ 8930: 0x7645,
+ 8931: 0x7646,
+ 8932: 0x7647,
+ 8933: 0x7648,
+ 8934: 0x7649,
+ 8935: 0x764A,
+ 8936: 0x764B,
+ 8937: 0x764E,
+ 8938: 0x764F,
+ 8939: 0x7650,
+ 8940: 0x7651,
+ 8941: 0x7652,
+ 8942: 0x7653,
+ 8943: 0x7655,
+ 8944: 0x7657,
+ 8945: 0x7658,
+ 8946: 0x7659,
+ 8947: 0x765A,
+ 8948: 0x765B,
+ 8949: 0x765D,
+ 8950: 0x765F,
+ 8951: 0x7660,
+ 8952: 0x7661,
+ 8953: 0x7662,
+ 8954: 0x7664,
+ 8955: 0x7665,
+ 8956: 0x7666,
+ 8957: 0x7667,
+ 8958: 0x7668,
+ 8959: 0x7669,
+ 8960: 0x766A,
+ 8961: 0x766C,
+ 8962: 0x766D,
+ 8963: 0x766E,
+ 8964: 0x7670,
+ 8965: 0x7671,
+ 8966: 0x7672,
+ 8967: 0x7673,
+ 8968: 0x7674,
+ 8969: 0x7675,
+ 8970: 0x7676,
+ 8971: 0x7677,
+ 8972: 0x7679,
+ 8973: 0x767A,
+ 8974: 0x767C,
+ 8975: 0x767F,
+ 8976: 0x7680,
+ 8977: 0x7681,
+ 8978: 0x7683,
+ 8979: 0x7685,
+ 8980: 0x7689,
+ 8981: 0x768A,
+ 8982: 0x768C,
+ 8983: 0x768D,
+ 8984: 0x768F,
+ 8985: 0x7690,
+ 8986: 0x7692,
+ 8987: 0x7694,
+ 8988: 0x7695,
+ 8989: 0x7697,
+ 8990: 0x7698,
+ 8991: 0x769A,
+ 8992: 0x769B,
+ 8993: 0x769C,
+ 8994: 0x769D,
+ 8995: 0x769E,
+ 8996: 0x769F,
+ 8997: 0x76A0,
+ 8998: 0x76A1,
+ 8999: 0x76A2,
+ 9000: 0x76A3,
+ 9001: 0x76A5,
+ 9002: 0x76A6,
+ 9003: 0x76A7,
+ 9004: 0x76A8,
+ 9005: 0x76A9,
+ 9006: 0x76AA,
+ 9007: 0x76AB,
+ 9008: 0x76AC,
+ 9009: 0x76AD,
+ 9010: 0x76AF,
+ 9011: 0x76B0,
+ 9012: 0x76B3,
+ 9013: 0x76B5,
+ 9014: 0x76B6,
+ 9015: 0x76B7,
+ 9016: 0x76B8,
+ 9017: 0x76B9,
+ 9018: 0x76BA,
+ 9019: 0x76BB,
+ 9020: 0x76BC,
+ 9021: 0x76BD,
+ 9022: 0x76BE,
+ 9023: 0x76C0,
+ 9024: 0x76C1,
+ 9025: 0x76C3,
+ 9026: 0x554A,
+ 9027: 0x963F,
+ 9028: 0x57C3,
+ 9029: 0x6328,
+ 9030: 0x54CE,
+ 9031: 0x5509,
+ 9032: 0x54C0,
+ 9033: 0x7691,
+ 9034: 0x764C,
+ 9035: 0x853C,
+ 9036: 0x77EE,
+ 9037: 0x827E,
+ 9038: 0x788D,
+ 9039: 0x7231,
+ 9040: 0x9698,
+ 9041: 0x978D,
+ 9042: 0x6C28,
+ 9043: 0x5B89,
+ 9044: 0x4FFA,
+ 9045: 0x6309,
+ 9046: 0x6697,
+ 9047: 0x5CB8,
+ 9048: 0x80FA,
+ 9049: 0x6848,
+ 9050: 0x80AE,
+ 9051: 0x6602,
+ 9052: 0x76CE,
+ 9053: 0x51F9,
+ 9054: 0x6556,
+ 9055: 0x71AC,
+ 9056: 0x7FF1,
+ 9057: 0x8884,
+ 9058: 0x50B2,
+ 9059: 0x5965,
+ 9060: 0x61CA,
+ 9061: 0x6FB3,
+ 9062: 0x82AD,
+ 9063: 0x634C,
+ 9064: 0x6252,
+ 9065: 0x53ED,
+ 9066: 0x5427,
+ 9067: 0x7B06,
+ 9068: 0x516B,
+ 9069: 0x75A4,
+ 9070: 0x5DF4,
+ 9071: 0x62D4,
+ 9072: 0x8DCB,
+ 9073: 0x9776,
+ 9074: 0x628A,
+ 9075: 0x8019,
+ 9076: 0x575D,
+ 9077: 0x9738,
+ 9078: 0x7F62,
+ 9079: 0x7238,
+ 9080: 0x767D,
+ 9081: 0x67CF,
+ 9082: 0x767E,
+ 9083: 0x6446,
+ 9084: 0x4F70,
+ 9085: 0x8D25,
+ 9086: 0x62DC,
+ 9087: 0x7A17,
+ 9088: 0x6591,
+ 9089: 0x73ED,
+ 9090: 0x642C,
+ 9091: 0x6273,
+ 9092: 0x822C,
+ 9093: 0x9881,
+ 9094: 0x677F,
+ 9095: 0x7248,
+ 9096: 0x626E,
+ 9097: 0x62CC,
+ 9098: 0x4F34,
+ 9099: 0x74E3,
+ 9100: 0x534A,
+ 9101: 0x529E,
+ 9102: 0x7ECA,
+ 9103: 0x90A6,
+ 9104: 0x5E2E,
+ 9105: 0x6886,
+ 9106: 0x699C,
+ 9107: 0x8180,
+ 9108: 0x7ED1,
+ 9109: 0x68D2,
+ 9110: 0x78C5,
+ 9111: 0x868C,
+ 9112: 0x9551,
+ 9113: 0x508D,
+ 9114: 0x8C24,
+ 9115: 0x82DE,
+ 9116: 0x80DE,
+ 9117: 0x5305,
+ 9118: 0x8912,
+ 9119: 0x5265,
+ 9120: 0x76C4,
+ 9121: 0x76C7,
+ 9122: 0x76C9,
+ 9123: 0x76CB,
+ 9124: 0x76CC,
+ 9125: 0x76D3,
+ 9126: 0x76D5,
+ 9127: 0x76D9,
+ 9128: 0x76DA,
+ 9129: 0x76DC,
+ 9130: 0x76DD,
+ 9131: 0x76DE,
+ 9132: 0x76E0,
+ 9133: 0x76E1,
+ 9134: 0x76E2,
+ 9135: 0x76E3,
+ 9136: 0x76E4,
+ 9137: 0x76E6,
+ 9138: 0x76E7,
+ 9139: 0x76E8,
+ 9140: 0x76E9,
+ 9141: 0x76EA,
+ 9142: 0x76EB,
+ 9143: 0x76EC,
+ 9144: 0x76ED,
+ 9145: 0x76F0,
+ 9146: 0x76F3,
+ 9147: 0x76F5,
+ 9148: 0x76F6,
+ 9149: 0x76F7,
+ 9150: 0x76FA,
+ 9151: 0x76FB,
+ 9152: 0x76FD,
+ 9153: 0x76FF,
+ 9154: 0x7700,
+ 9155: 0x7702,
+ 9156: 0x7703,
+ 9157: 0x7705,
+ 9158: 0x7706,
+ 9159: 0x770A,
+ 9160: 0x770C,
+ 9161: 0x770E,
+ 9162: 0x770F,
+ 9163: 0x7710,
+ 9164: 0x7711,
+ 9165: 0x7712,
+ 9166: 0x7713,
+ 9167: 0x7714,
+ 9168: 0x7715,
+ 9169: 0x7716,
+ 9170: 0x7717,
+ 9171: 0x7718,
+ 9172: 0x771B,
+ 9173: 0x771C,
+ 9174: 0x771D,
+ 9175: 0x771E,
+ 9176: 0x7721,
+ 9177: 0x7723,
+ 9178: 0x7724,
+ 9179: 0x7725,
+ 9180: 0x7727,
+ 9181: 0x772A,
+ 9182: 0x772B,
+ 9183: 0x772C,
+ 9184: 0x772E,
+ 9185: 0x7730,
+ 9186: 0x7731,
+ 9187: 0x7732,
+ 9188: 0x7733,
+ 9189: 0x7734,
+ 9190: 0x7739,
+ 9191: 0x773B,
+ 9192: 0x773D,
+ 9193: 0x773E,
+ 9194: 0x773F,
+ 9195: 0x7742,
+ 9196: 0x7744,
+ 9197: 0x7745,
+ 9198: 0x7746,
+ 9199: 0x7748,
+ 9200: 0x7749,
+ 9201: 0x774A,
+ 9202: 0x774B,
+ 9203: 0x774C,
+ 9204: 0x774D,
+ 9205: 0x774E,
+ 9206: 0x774F,
+ 9207: 0x7752,
+ 9208: 0x7753,
+ 9209: 0x7754,
+ 9210: 0x7755,
+ 9211: 0x7756,
+ 9212: 0x7757,
+ 9213: 0x7758,
+ 9214: 0x7759,
+ 9215: 0x775C,
+ 9216: 0x8584,
+ 9217: 0x96F9,
+ 9218: 0x4FDD,
+ 9219: 0x5821,
+ 9220: 0x9971,
+ 9221: 0x5B9D,
+ 9222: 0x62B1,
+ 9223: 0x62A5,
+ 9224: 0x66B4,
+ 9225: 0x8C79,
+ 9226: 0x9C8D,
+ 9227: 0x7206,
+ 9228: 0x676F,
+ 9229: 0x7891,
+ 9230: 0x60B2,
+ 9231: 0x5351,
+ 9232: 0x5317,
+ 9233: 0x8F88,
+ 9234: 0x80CC,
+ 9235: 0x8D1D,
+ 9236: 0x94A1,
+ 9237: 0x500D,
+ 9238: 0x72C8,
+ 9239: 0x5907,
+ 9240: 0x60EB,
+ 9241: 0x7119,
+ 9242: 0x88AB,
+ 9243: 0x5954,
+ 9244: 0x82EF,
+ 9245: 0x672C,
+ 9246: 0x7B28,
+ 9247: 0x5D29,
+ 9248: 0x7EF7,
+ 9249: 0x752D,
+ 9250: 0x6CF5,
+ 9251: 0x8E66,
+ 9252: 0x8FF8,
+ 9253: 0x903C,
+ 9254: 0x9F3B,
+ 9255: 0x6BD4,
+ 9256: 0x9119,
+ 9257: 0x7B14,
+ 9258: 0x5F7C,
+ 9259: 0x78A7,
+ 9260: 0x84D6,
+ 9261: 0x853D,
+ 9262: 0x6BD5,
+ 9263: 0x6BD9,
+ 9264: 0x6BD6,
+ 9265: 0x5E01,
+ 9266: 0x5E87,
+ 9267: 0x75F9,
+ 9268: 0x95ED,
+ 9269: 0x655D,
+ 9270: 0x5F0A,
+ 9271: 0x5FC5,
+ 9272: 0x8F9F,
+ 9273: 0x58C1,
+ 9274: 0x81C2,
+ 9275: 0x907F,
+ 9276: 0x965B,
+ 9277: 0x97AD,
+ 9278: 0x8FB9,
+ 9279: 0x7F16,
+ 9280: 0x8D2C,
+ 9281: 0x6241,
+ 9282: 0x4FBF,
+ 9283: 0x53D8,
+ 9284: 0x535E,
+ 9285: 0x8FA8,
+ 9286: 0x8FA9,
+ 9287: 0x8FAB,
+ 9288: 0x904D,
+ 9289: 0x6807,
+ 9290: 0x5F6A,
+ 9291: 0x8198,
+ 9292: 0x8868,
+ 9293: 0x9CD6,
+ 9294: 0x618B,
+ 9295: 0x522B,
+ 9296: 0x762A,
+ 9297: 0x5F6C,
+ 9298: 0x658C,
+ 9299: 0x6FD2,
+ 9300: 0x6EE8,
+ 9301: 0x5BBE,
+ 9302: 0x6448,
+ 9303: 0x5175,
+ 9304: 0x51B0,
+ 9305: 0x67C4,
+ 9306: 0x4E19,
+ 9307: 0x79C9,
+ 9308: 0x997C,
+ 9309: 0x70B3,
+ 9310: 0x775D,
+ 9311: 0x775E,
+ 9312: 0x775F,
+ 9313: 0x7760,
+ 9314: 0x7764,
+ 9315: 0x7767,
+ 9316: 0x7769,
+ 9317: 0x776A,
+ 9318: 0x776D,
+ 9319: 0x776E,
+ 9320: 0x776F,
+ 9321: 0x7770,
+ 9322: 0x7771,
+ 9323: 0x7772,
+ 9324: 0x7773,
+ 9325: 0x7774,
+ 9326: 0x7775,
+ 9327: 0x7776,
+ 9328: 0x7777,
+ 9329: 0x7778,
+ 9330: 0x777A,
+ 9331: 0x777B,
+ 9332: 0x777C,
+ 9333: 0x7781,
+ 9334: 0x7782,
+ 9335: 0x7783,
+ 9336: 0x7786,
+ 9337: 0x7787,
+ 9338: 0x7788,
+ 9339: 0x7789,
+ 9340: 0x778A,
+ 9341: 0x778B,
+ 9342: 0x778F,
+ 9343: 0x7790,
+ 9344: 0x7793,
+ 9345: 0x7794,
+ 9346: 0x7795,
+ 9347: 0x7796,
+ 9348: 0x7797,
+ 9349: 0x7798,
+ 9350: 0x7799,
+ 9351: 0x779A,
+ 9352: 0x779B,
+ 9353: 0x779C,
+ 9354: 0x779D,
+ 9355: 0x779E,
+ 9356: 0x77A1,
+ 9357: 0x77A3,
+ 9358: 0x77A4,
+ 9359: 0x77A6,
+ 9360: 0x77A8,
+ 9361: 0x77AB,
+ 9362: 0x77AD,
+ 9363: 0x77AE,
+ 9364: 0x77AF,
+ 9365: 0x77B1,
+ 9366: 0x77B2,
+ 9367: 0x77B4,
+ 9368: 0x77B6,
+ 9369: 0x77B7,
+ 9370: 0x77B8,
+ 9371: 0x77B9,
+ 9372: 0x77BA,
+ 9373: 0x77BC,
+ 9374: 0x77BE,
+ 9375: 0x77C0,
+ 9376: 0x77C1,
+ 9377: 0x77C2,
+ 9378: 0x77C3,
+ 9379: 0x77C4,
+ 9380: 0x77C5,
+ 9381: 0x77C6,
+ 9382: 0x77C7,
+ 9383: 0x77C8,
+ 9384: 0x77C9,
+ 9385: 0x77CA,
+ 9386: 0x77CB,
+ 9387: 0x77CC,
+ 9388: 0x77CE,
+ 9389: 0x77CF,
+ 9390: 0x77D0,
+ 9391: 0x77D1,
+ 9392: 0x77D2,
+ 9393: 0x77D3,
+ 9394: 0x77D4,
+ 9395: 0x77D5,
+ 9396: 0x77D6,
+ 9397: 0x77D8,
+ 9398: 0x77D9,
+ 9399: 0x77DA,
+ 9400: 0x77DD,
+ 9401: 0x77DE,
+ 9402: 0x77DF,
+ 9403: 0x77E0,
+ 9404: 0x77E1,
+ 9405: 0x77E4,
+ 9406: 0x75C5,
+ 9407: 0x5E76,
+ 9408: 0x73BB,
+ 9409: 0x83E0,
+ 9410: 0x64AD,
+ 9411: 0x62E8,
+ 9412: 0x94B5,
+ 9413: 0x6CE2,
+ 9414: 0x535A,
+ 9415: 0x52C3,
+ 9416: 0x640F,
+ 9417: 0x94C2,
+ 9418: 0x7B94,
+ 9419: 0x4F2F,
+ 9420: 0x5E1B,
+ 9421: 0x8236,
+ 9422: 0x8116,
+ 9423: 0x818A,
+ 9424: 0x6E24,
+ 9425: 0x6CCA,
+ 9426: 0x9A73,
+ 9427: 0x6355,
+ 9428: 0x535C,
+ 9429: 0x54FA,
+ 9430: 0x8865,
+ 9431: 0x57E0,
+ 9432: 0x4E0D,
+ 9433: 0x5E03,
+ 9434: 0x6B65,
+ 9435: 0x7C3F,
+ 9436: 0x90E8,
+ 9437: 0x6016,
+ 9438: 0x64E6,
+ 9439: 0x731C,
+ 9440: 0x88C1,
+ 9441: 0x6750,
+ 9442: 0x624D,
+ 9443: 0x8D22,
+ 9444: 0x776C,
+ 9445: 0x8E29,
+ 9446: 0x91C7,
+ 9447: 0x5F69,
+ 9448: 0x83DC,
+ 9449: 0x8521,
+ 9450: 0x9910,
+ 9451: 0x53C2,
+ 9452: 0x8695,
+ 9453: 0x6B8B,
+ 9454: 0x60ED,
+ 9455: 0x60E8,
+ 9456: 0x707F,
+ 9457: 0x82CD,
+ 9458: 0x8231,
+ 9459: 0x4ED3,
+ 9460: 0x6CA7,
+ 9461: 0x85CF,
+ 9462: 0x64CD,
+ 9463: 0x7CD9,
+ 9464: 0x69FD,
+ 9465: 0x66F9,
+ 9466: 0x8349,
+ 9467: 0x5395,
+ 9468: 0x7B56,
+ 9469: 0x4FA7,
+ 9470: 0x518C,
+ 9471: 0x6D4B,
+ 9472: 0x5C42,
+ 9473: 0x8E6D,
+ 9474: 0x63D2,
+ 9475: 0x53C9,
+ 9476: 0x832C,
+ 9477: 0x8336,
+ 9478: 0x67E5,
+ 9479: 0x78B4,
+ 9480: 0x643D,
+ 9481: 0x5BDF,
+ 9482: 0x5C94,
+ 9483: 0x5DEE,
+ 9484: 0x8BE7,
+ 9485: 0x62C6,
+ 9486: 0x67F4,
+ 9487: 0x8C7A,
+ 9488: 0x6400,
+ 9489: 0x63BA,
+ 9490: 0x8749,
+ 9491: 0x998B,
+ 9492: 0x8C17,
+ 9493: 0x7F20,
+ 9494: 0x94F2,
+ 9495: 0x4EA7,
+ 9496: 0x9610,
+ 9497: 0x98A4,
+ 9498: 0x660C,
+ 9499: 0x7316,
+ 9500: 0x77E6,
+ 9501: 0x77E8,
+ 9502: 0x77EA,
+ 9503: 0x77EF,
+ 9504: 0x77F0,
+ 9505: 0x77F1,
+ 9506: 0x77F2,
+ 9507: 0x77F4,
+ 9508: 0x77F5,
+ 9509: 0x77F7,
+ 9510: 0x77F9,
+ 9511: 0x77FA,
+ 9512: 0x77FB,
+ 9513: 0x77FC,
+ 9514: 0x7803,
+ 9515: 0x7804,
+ 9516: 0x7805,
+ 9517: 0x7806,
+ 9518: 0x7807,
+ 9519: 0x7808,
+ 9520: 0x780A,
+ 9521: 0x780B,
+ 9522: 0x780E,
+ 9523: 0x780F,
+ 9524: 0x7810,
+ 9525: 0x7813,
+ 9526: 0x7815,
+ 9527: 0x7819,
+ 9528: 0x781B,
+ 9529: 0x781E,
+ 9530: 0x7820,
+ 9531: 0x7821,
+ 9532: 0x7822,
+ 9533: 0x7824,
+ 9534: 0x7828,
+ 9535: 0x782A,
+ 9536: 0x782B,
+ 9537: 0x782E,
+ 9538: 0x782F,
+ 9539: 0x7831,
+ 9540: 0x7832,
+ 9541: 0x7833,
+ 9542: 0x7835,
+ 9543: 0x7836,
+ 9544: 0x783D,
+ 9545: 0x783F,
+ 9546: 0x7841,
+ 9547: 0x7842,
+ 9548: 0x7843,
+ 9549: 0x7844,
+ 9550: 0x7846,
+ 9551: 0x7848,
+ 9552: 0x7849,
+ 9553: 0x784A,
+ 9554: 0x784B,
+ 9555: 0x784D,
+ 9556: 0x784F,
+ 9557: 0x7851,
+ 9558: 0x7853,
+ 9559: 0x7854,
+ 9560: 0x7858,
+ 9561: 0x7859,
+ 9562: 0x785A,
+ 9563: 0x785B,
+ 9564: 0x785C,
+ 9565: 0x785E,
+ 9566: 0x785F,
+ 9567: 0x7860,
+ 9568: 0x7861,
+ 9569: 0x7862,
+ 9570: 0x7863,
+ 9571: 0x7864,
+ 9572: 0x7865,
+ 9573: 0x7866,
+ 9574: 0x7867,
+ 9575: 0x7868,
+ 9576: 0x7869,
+ 9577: 0x786F,
+ 9578: 0x7870,
+ 9579: 0x7871,
+ 9580: 0x7872,
+ 9581: 0x7873,
+ 9582: 0x7874,
+ 9583: 0x7875,
+ 9584: 0x7876,
+ 9585: 0x7878,
+ 9586: 0x7879,
+ 9587: 0x787A,
+ 9588: 0x787B,
+ 9589: 0x787D,
+ 9590: 0x787E,
+ 9591: 0x787F,
+ 9592: 0x7880,
+ 9593: 0x7881,
+ 9594: 0x7882,
+ 9595: 0x7883,
+ 9596: 0x573A,
+ 9597: 0x5C1D,
+ 9598: 0x5E38,
+ 9599: 0x957F,
+ 9600: 0x507F,
+ 9601: 0x80A0,
+ 9602: 0x5382,
+ 9603: 0x655E,
+ 9604: 0x7545,
+ 9605: 0x5531,
+ 9606: 0x5021,
+ 9607: 0x8D85,
+ 9608: 0x6284,
+ 9609: 0x949E,
+ 9610: 0x671D,
+ 9611: 0x5632,
+ 9612: 0x6F6E,
+ 9613: 0x5DE2,
+ 9614: 0x5435,
+ 9615: 0x7092,
+ 9616: 0x8F66,
+ 9617: 0x626F,
+ 9618: 0x64A4,
+ 9619: 0x63A3,
+ 9620: 0x5F7B,
+ 9621: 0x6F88,
+ 9622: 0x90F4,
+ 9623: 0x81E3,
+ 9624: 0x8FB0,
+ 9625: 0x5C18,
+ 9626: 0x6668,
+ 9627: 0x5FF1,
+ 9628: 0x6C89,
+ 9629: 0x9648,
+ 9630: 0x8D81,
+ 9631: 0x886C,
+ 9632: 0x6491,
+ 9633: 0x79F0,
+ 9634: 0x57CE,
+ 9635: 0x6A59,
+ 9636: 0x6210,
+ 9637: 0x5448,
+ 9638: 0x4E58,
+ 9639: 0x7A0B,
+ 9640: 0x60E9,
+ 9641: 0x6F84,
+ 9642: 0x8BDA,
+ 9643: 0x627F,
+ 9644: 0x901E,
+ 9645: 0x9A8B,
+ 9646: 0x79E4,
+ 9647: 0x5403,
+ 9648: 0x75F4,
+ 9649: 0x6301,
+ 9650: 0x5319,
+ 9651: 0x6C60,
+ 9652: 0x8FDF,
+ 9653: 0x5F1B,
+ 9654: 0x9A70,
+ 9655: 0x803B,
+ 9656: 0x9F7F,
+ 9657: 0x4F88,
+ 9658: 0x5C3A,
+ 9659: 0x8D64,
+ 9660: 0x7FC5,
+ 9661: 0x65A5,
+ 9662: 0x70BD,
+ 9663: 0x5145,
+ 9664: 0x51B2,
+ 9665: 0x866B,
+ 9666: 0x5D07,
+ 9667: 0x5BA0,
+ 9668: 0x62BD,
+ 9669: 0x916C,
+ 9670: 0x7574,
+ 9671: 0x8E0C,
+ 9672: 0x7A20,
+ 9673: 0x6101,
+ 9674: 0x7B79,
+ 9675: 0x4EC7,
+ 9676: 0x7EF8,
+ 9677: 0x7785,
+ 9678: 0x4E11,
+ 9679: 0x81ED,
+ 9680: 0x521D,
+ 9681: 0x51FA,
+ 9682: 0x6A71,
+ 9683: 0x53A8,
+ 9684: 0x8E87,
+ 9685: 0x9504,
+ 9686: 0x96CF,
+ 9687: 0x6EC1,
+ 9688: 0x9664,
+ 9689: 0x695A,
+ 9690: 0x7884,
+ 9691: 0x7885,
+ 9692: 0x7886,
+ 9693: 0x7888,
+ 9694: 0x788A,
+ 9695: 0x788B,
+ 9696: 0x788F,
+ 9697: 0x7890,
+ 9698: 0x7892,
+ 9699: 0x7894,
+ 9700: 0x7895,
+ 9701: 0x7896,
+ 9702: 0x7899,
+ 9703: 0x789D,
+ 9704: 0x789E,
+ 9705: 0x78A0,
+ 9706: 0x78A2,
+ 9707: 0x78A4,
+ 9708: 0x78A6,
+ 9709: 0x78A8,
+ 9710: 0x78A9,
+ 9711: 0x78AA,
+ 9712: 0x78AB,
+ 9713: 0x78AC,
+ 9714: 0x78AD,
+ 9715: 0x78AE,
+ 9716: 0x78AF,
+ 9717: 0x78B5,
+ 9718: 0x78B6,
+ 9719: 0x78B7,
+ 9720: 0x78B8,
+ 9721: 0x78BA,
+ 9722: 0x78BB,
+ 9723: 0x78BC,
+ 9724: 0x78BD,
+ 9725: 0x78BF,
+ 9726: 0x78C0,
+ 9727: 0x78C2,
+ 9728: 0x78C3,
+ 9729: 0x78C4,
+ 9730: 0x78C6,
+ 9731: 0x78C7,
+ 9732: 0x78C8,
+ 9733: 0x78CC,
+ 9734: 0x78CD,
+ 9735: 0x78CE,
+ 9736: 0x78CF,
+ 9737: 0x78D1,
+ 9738: 0x78D2,
+ 9739: 0x78D3,
+ 9740: 0x78D6,
+ 9741: 0x78D7,
+ 9742: 0x78D8,
+ 9743: 0x78DA,
+ 9744: 0x78DB,
+ 9745: 0x78DC,
+ 9746: 0x78DD,
+ 9747: 0x78DE,
+ 9748: 0x78DF,
+ 9749: 0x78E0,
+ 9750: 0x78E1,
+ 9751: 0x78E2,
+ 9752: 0x78E3,
+ 9753: 0x78E4,
+ 9754: 0x78E5,
+ 9755: 0x78E6,
+ 9756: 0x78E7,
+ 9757: 0x78E9,
+ 9758: 0x78EA,
+ 9759: 0x78EB,
+ 9760: 0x78ED,
+ 9761: 0x78EE,
+ 9762: 0x78EF,
+ 9763: 0x78F0,
+ 9764: 0x78F1,
+ 9765: 0x78F3,
+ 9766: 0x78F5,
+ 9767: 0x78F6,
+ 9768: 0x78F8,
+ 9769: 0x78F9,
+ 9770: 0x78FB,
+ 9771: 0x78FC,
+ 9772: 0x78FD,
+ 9773: 0x78FE,
+ 9774: 0x78FF,
+ 9775: 0x7900,
+ 9776: 0x7902,
+ 9777: 0x7903,
+ 9778: 0x7904,
+ 9779: 0x7906,
+ 9780: 0x7907,
+ 9781: 0x7908,
+ 9782: 0x7909,
+ 9783: 0x790A,
+ 9784: 0x790B,
+ 9785: 0x790C,
+ 9786: 0x7840,
+ 9787: 0x50A8,
+ 9788: 0x77D7,
+ 9789: 0x6410,
+ 9790: 0x89E6,
+ 9791: 0x5904,
+ 9792: 0x63E3,
+ 9793: 0x5DDD,
+ 9794: 0x7A7F,
+ 9795: 0x693D,
+ 9796: 0x4F20,
+ 9797: 0x8239,
+ 9798: 0x5598,
+ 9799: 0x4E32,
+ 9800: 0x75AE,
+ 9801: 0x7A97,
+ 9802: 0x5E62,
+ 9803: 0x5E8A,
+ 9804: 0x95EF,
+ 9805: 0x521B,
+ 9806: 0x5439,
+ 9807: 0x708A,
+ 9808: 0x6376,
+ 9809: 0x9524,
+ 9810: 0x5782,
+ 9811: 0x6625,
+ 9812: 0x693F,
+ 9813: 0x9187,
+ 9814: 0x5507,
+ 9815: 0x6DF3,
+ 9816: 0x7EAF,
+ 9817: 0x8822,
+ 9818: 0x6233,
+ 9819: 0x7EF0,
+ 9820: 0x75B5,
+ 9821: 0x8328,
+ 9822: 0x78C1,
+ 9823: 0x96CC,
+ 9824: 0x8F9E,
+ 9825: 0x6148,
+ 9826: 0x74F7,
+ 9827: 0x8BCD,
+ 9828: 0x6B64,
+ 9829: 0x523A,
+ 9830: 0x8D50,
+ 9831: 0x6B21,
+ 9832: 0x806A,
+ 9833: 0x8471,
+ 9834: 0x56F1,
+ 9835: 0x5306,
+ 9836: 0x4ECE,
+ 9837: 0x4E1B,
+ 9838: 0x51D1,
+ 9839: 0x7C97,
+ 9840: 0x918B,
+ 9841: 0x7C07,
+ 9842: 0x4FC3,
+ 9843: 0x8E7F,
+ 9844: 0x7BE1,
+ 9845: 0x7A9C,
+ 9846: 0x6467,
+ 9847: 0x5D14,
+ 9848: 0x50AC,
+ 9849: 0x8106,
+ 9850: 0x7601,
+ 9851: 0x7CB9,
+ 9852: 0x6DEC,
+ 9853: 0x7FE0,
+ 9854: 0x6751,
+ 9855: 0x5B58,
+ 9856: 0x5BF8,
+ 9857: 0x78CB,
+ 9858: 0x64AE,
+ 9859: 0x6413,
+ 9860: 0x63AA,
+ 9861: 0x632B,
+ 9862: 0x9519,
+ 9863: 0x642D,
+ 9864: 0x8FBE,
+ 9865: 0x7B54,
+ 9866: 0x7629,
+ 9867: 0x6253,
+ 9868: 0x5927,
+ 9869: 0x5446,
+ 9870: 0x6B79,
+ 9871: 0x50A3,
+ 9872: 0x6234,
+ 9873: 0x5E26,
+ 9874: 0x6B86,
+ 9875: 0x4EE3,
+ 9876: 0x8D37,
+ 9877: 0x888B,
+ 9878: 0x5F85,
+ 9879: 0x902E,
+ 9880: 0x790D,
+ 9881: 0x790E,
+ 9882: 0x790F,
+ 9883: 0x7910,
+ 9884: 0x7911,
+ 9885: 0x7912,
+ 9886: 0x7914,
+ 9887: 0x7915,
+ 9888: 0x7916,
+ 9889: 0x7917,
+ 9890: 0x7918,
+ 9891: 0x7919,
+ 9892: 0x791A,
+ 9893: 0x791B,
+ 9894: 0x791C,
+ 9895: 0x791D,
+ 9896: 0x791F,
+ 9897: 0x7920,
+ 9898: 0x7921,
+ 9899: 0x7922,
+ 9900: 0x7923,
+ 9901: 0x7925,
+ 9902: 0x7926,
+ 9903: 0x7927,
+ 9904: 0x7928,
+ 9905: 0x7929,
+ 9906: 0x792A,
+ 9907: 0x792B,
+ 9908: 0x792C,
+ 9909: 0x792D,
+ 9910: 0x792E,
+ 9911: 0x792F,
+ 9912: 0x7930,
+ 9913: 0x7931,
+ 9914: 0x7932,
+ 9915: 0x7933,
+ 9916: 0x7935,
+ 9917: 0x7936,
+ 9918: 0x7937,
+ 9919: 0x7938,
+ 9920: 0x7939,
+ 9921: 0x793D,
+ 9922: 0x793F,
+ 9923: 0x7942,
+ 9924: 0x7943,
+ 9925: 0x7944,
+ 9926: 0x7945,
+ 9927: 0x7947,
+ 9928: 0x794A,
+ 9929: 0x794B,
+ 9930: 0x794C,
+ 9931: 0x794D,
+ 9932: 0x794E,
+ 9933: 0x794F,
+ 9934: 0x7950,
+ 9935: 0x7951,
+ 9936: 0x7952,
+ 9937: 0x7954,
+ 9938: 0x7955,
+ 9939: 0x7958,
+ 9940: 0x7959,
+ 9941: 0x7961,
+ 9942: 0x7963,
+ 9943: 0x7964,
+ 9944: 0x7966,
+ 9945: 0x7969,
+ 9946: 0x796A,
+ 9947: 0x796B,
+ 9948: 0x796C,
+ 9949: 0x796E,
+ 9950: 0x7970,
+ 9951: 0x7971,
+ 9952: 0x7972,
+ 9953: 0x7973,
+ 9954: 0x7974,
+ 9955: 0x7975,
+ 9956: 0x7976,
+ 9957: 0x7979,
+ 9958: 0x797B,
+ 9959: 0x797C,
+ 9960: 0x797D,
+ 9961: 0x797E,
+ 9962: 0x797F,
+ 9963: 0x7982,
+ 9964: 0x7983,
+ 9965: 0x7986,
+ 9966: 0x7987,
+ 9967: 0x7988,
+ 9968: 0x7989,
+ 9969: 0x798B,
+ 9970: 0x798C,
+ 9971: 0x798D,
+ 9972: 0x798E,
+ 9973: 0x7990,
+ 9974: 0x7991,
+ 9975: 0x7992,
+ 9976: 0x6020,
+ 9977: 0x803D,
+ 9978: 0x62C5,
+ 9979: 0x4E39,
+ 9980: 0x5355,
+ 9981: 0x90F8,
+ 9982: 0x63B8,
+ 9983: 0x80C6,
+ 9984: 0x65E6,
+ 9985: 0x6C2E,
+ 9986: 0x4F46,
+ 9987: 0x60EE,
+ 9988: 0x6DE1,
+ 9989: 0x8BDE,
+ 9990: 0x5F39,
+ 9991: 0x86CB,
+ 9992: 0x5F53,
+ 9993: 0x6321,
+ 9994: 0x515A,
+ 9995: 0x8361,
+ 9996: 0x6863,
+ 9997: 0x5200,
+ 9998: 0x6363,
+ 9999: 0x8E48,
+ 10000: 0x5012,
+ 10001: 0x5C9B,
+ 10002: 0x7977,
+ 10003: 0x5BFC,
+ 10004: 0x5230,
+ 10005: 0x7A3B,
+ 10006: 0x60BC,
+ 10007: 0x9053,
+ 10008: 0x76D7,
+ 10009: 0x5FB7,
+ 10010: 0x5F97,
+ 10011: 0x7684,
+ 10012: 0x8E6C,
+ 10013: 0x706F,
+ 10014: 0x767B,
+ 10015: 0x7B49,
+ 10016: 0x77AA,
+ 10017: 0x51F3,
+ 10018: 0x9093,
+ 10019: 0x5824,
+ 10020: 0x4F4E,
+ 10021: 0x6EF4,
+ 10022: 0x8FEA,
+ 10023: 0x654C,
+ 10024: 0x7B1B,
+ 10025: 0x72C4,
+ 10026: 0x6DA4,
+ 10027: 0x7FDF,
+ 10028: 0x5AE1,
+ 10029: 0x62B5,
+ 10030: 0x5E95,
+ 10031: 0x5730,
+ 10032: 0x8482,
+ 10033: 0x7B2C,
+ 10034: 0x5E1D,
+ 10035: 0x5F1F,
+ 10036: 0x9012,
+ 10037: 0x7F14,
+ 10038: 0x98A0,
+ 10039: 0x6382,
+ 10040: 0x6EC7,
+ 10041: 0x7898,
+ 10042: 0x70B9,
+ 10043: 0x5178,
+ 10044: 0x975B,
+ 10045: 0x57AB,
+ 10046: 0x7535,
+ 10047: 0x4F43,
+ 10048: 0x7538,
+ 10049: 0x5E97,
+ 10050: 0x60E6,
+ 10051: 0x5960,
+ 10052: 0x6DC0,
+ 10053: 0x6BBF,
+ 10054: 0x7889,
+ 10055: 0x53FC,
+ 10056: 0x96D5,
+ 10057: 0x51CB,
+ 10058: 0x5201,
+ 10059: 0x6389,
+ 10060: 0x540A,
+ 10061: 0x9493,
+ 10062: 0x8C03,
+ 10063: 0x8DCC,
+ 10064: 0x7239,
+ 10065: 0x789F,
+ 10066: 0x8776,
+ 10067: 0x8FED,
+ 10068: 0x8C0D,
+ 10069: 0x53E0,
+ 10070: 0x7993,
+ 10071: 0x7994,
+ 10072: 0x7995,
+ 10073: 0x7996,
+ 10074: 0x7997,
+ 10075: 0x7998,
+ 10076: 0x7999,
+ 10077: 0x799B,
+ 10078: 0x799C,
+ 10079: 0x799D,
+ 10080: 0x799E,
+ 10081: 0x799F,
+ 10082: 0x79A0,
+ 10083: 0x79A1,
+ 10084: 0x79A2,
+ 10085: 0x79A3,
+ 10086: 0x79A4,
+ 10087: 0x79A5,
+ 10088: 0x79A6,
+ 10089: 0x79A8,
+ 10090: 0x79A9,
+ 10091: 0x79AA,
+ 10092: 0x79AB,
+ 10093: 0x79AC,
+ 10094: 0x79AD,
+ 10095: 0x79AE,
+ 10096: 0x79AF,
+ 10097: 0x79B0,
+ 10098: 0x79B1,
+ 10099: 0x79B2,
+ 10100: 0x79B4,
+ 10101: 0x79B5,
+ 10102: 0x79B6,
+ 10103: 0x79B7,
+ 10104: 0x79B8,
+ 10105: 0x79BC,
+ 10106: 0x79BF,
+ 10107: 0x79C2,
+ 10108: 0x79C4,
+ 10109: 0x79C5,
+ 10110: 0x79C7,
+ 10111: 0x79C8,
+ 10112: 0x79CA,
+ 10113: 0x79CC,
+ 10114: 0x79CE,
+ 10115: 0x79CF,
+ 10116: 0x79D0,
+ 10117: 0x79D3,
+ 10118: 0x79D4,
+ 10119: 0x79D6,
+ 10120: 0x79D7,
+ 10121: 0x79D9,
+ 10122: 0x79DA,
+ 10123: 0x79DB,
+ 10124: 0x79DC,
+ 10125: 0x79DD,
+ 10126: 0x79DE,
+ 10127: 0x79E0,
+ 10128: 0x79E1,
+ 10129: 0x79E2,
+ 10130: 0x79E5,
+ 10131: 0x79E8,
+ 10132: 0x79EA,
+ 10133: 0x79EC,
+ 10134: 0x79EE,
+ 10135: 0x79F1,
+ 10136: 0x79F2,
+ 10137: 0x79F3,
+ 10138: 0x79F4,
+ 10139: 0x79F5,
+ 10140: 0x79F6,
+ 10141: 0x79F7,
+ 10142: 0x79F9,
+ 10143: 0x79FA,
+ 10144: 0x79FC,
+ 10145: 0x79FE,
+ 10146: 0x79FF,
+ 10147: 0x7A01,
+ 10148: 0x7A04,
+ 10149: 0x7A05,
+ 10150: 0x7A07,
+ 10151: 0x7A08,
+ 10152: 0x7A09,
+ 10153: 0x7A0A,
+ 10154: 0x7A0C,
+ 10155: 0x7A0F,
+ 10156: 0x7A10,
+ 10157: 0x7A11,
+ 10158: 0x7A12,
+ 10159: 0x7A13,
+ 10160: 0x7A15,
+ 10161: 0x7A16,
+ 10162: 0x7A18,
+ 10163: 0x7A19,
+ 10164: 0x7A1B,
+ 10165: 0x7A1C,
+ 10166: 0x4E01,
+ 10167: 0x76EF,
+ 10168: 0x53EE,
+ 10169: 0x9489,
+ 10170: 0x9876,
+ 10171: 0x9F0E,
+ 10172: 0x952D,
+ 10173: 0x5B9A,
+ 10174: 0x8BA2,
+ 10175: 0x4E22,
+ 10176: 0x4E1C,
+ 10177: 0x51AC,
+ 10178: 0x8463,
+ 10179: 0x61C2,
+ 10180: 0x52A8,
+ 10181: 0x680B,
+ 10182: 0x4F97,
+ 10183: 0x606B,
+ 10184: 0x51BB,
+ 10185: 0x6D1E,
+ 10186: 0x515C,
+ 10187: 0x6296,
+ 10188: 0x6597,
+ 10189: 0x9661,
+ 10190: 0x8C46,
+ 10191: 0x9017,
+ 10192: 0x75D8,
+ 10193: 0x90FD,
+ 10194: 0x7763,
+ 10195: 0x6BD2,
+ 10196: 0x728A,
+ 10197: 0x72EC,
+ 10198: 0x8BFB,
+ 10199: 0x5835,
+ 10200: 0x7779,
+ 10201: 0x8D4C,
+ 10202: 0x675C,
+ 10203: 0x9540,
+ 10204: 0x809A,
+ 10205: 0x5EA6,
+ 10206: 0x6E21,
+ 10207: 0x5992,
+ 10208: 0x7AEF,
+ 10209: 0x77ED,
+ 10210: 0x953B,
+ 10211: 0x6BB5,
+ 10212: 0x65AD,
+ 10213: 0x7F0E,
+ 10214: 0x5806,
+ 10215: 0x5151,
+ 10216: 0x961F,
+ 10217: 0x5BF9,
+ 10218: 0x58A9,
+ 10219: 0x5428,
+ 10220: 0x8E72,
+ 10221: 0x6566,
+ 10222: 0x987F,
+ 10223: 0x56E4,
+ 10224: 0x949D,
+ 10225: 0x76FE,
+ 10226: 0x9041,
+ 10227: 0x6387,
+ 10228: 0x54C6,
+ 10229: 0x591A,
+ 10230: 0x593A,
+ 10231: 0x579B,
+ 10232: 0x8EB2,
+ 10233: 0x6735,
+ 10234: 0x8DFA,
+ 10235: 0x8235,
+ 10236: 0x5241,
+ 10237: 0x60F0,
+ 10238: 0x5815,
+ 10239: 0x86FE,
+ 10240: 0x5CE8,
+ 10241: 0x9E45,
+ 10242: 0x4FC4,
+ 10243: 0x989D,
+ 10244: 0x8BB9,
+ 10245: 0x5A25,
+ 10246: 0x6076,
+ 10247: 0x5384,
+ 10248: 0x627C,
+ 10249: 0x904F,
+ 10250: 0x9102,
+ 10251: 0x997F,
+ 10252: 0x6069,
+ 10253: 0x800C,
+ 10254: 0x513F,
+ 10255: 0x8033,
+ 10256: 0x5C14,
+ 10257: 0x9975,
+ 10258: 0x6D31,
+ 10259: 0x4E8C,
+ 10260: 0x7A1D,
+ 10261: 0x7A1F,
+ 10262: 0x7A21,
+ 10263: 0x7A22,
+ 10264: 0x7A24,
+ 10265: 0x7A25,
+ 10266: 0x7A26,
+ 10267: 0x7A27,
+ 10268: 0x7A28,
+ 10269: 0x7A29,
+ 10270: 0x7A2A,
+ 10271: 0x7A2B,
+ 10272: 0x7A2C,
+ 10273: 0x7A2D,
+ 10274: 0x7A2E,
+ 10275: 0x7A2F,
+ 10276: 0x7A30,
+ 10277: 0x7A31,
+ 10278: 0x7A32,
+ 10279: 0x7A34,
+ 10280: 0x7A35,
+ 10281: 0x7A36,
+ 10282: 0x7A38,
+ 10283: 0x7A3A,
+ 10284: 0x7A3E,
+ 10285: 0x7A40,
+ 10286: 0x7A41,
+ 10287: 0x7A42,
+ 10288: 0x7A43,
+ 10289: 0x7A44,
+ 10290: 0x7A45,
+ 10291: 0x7A47,
+ 10292: 0x7A48,
+ 10293: 0x7A49,
+ 10294: 0x7A4A,
+ 10295: 0x7A4B,
+ 10296: 0x7A4C,
+ 10297: 0x7A4D,
+ 10298: 0x7A4E,
+ 10299: 0x7A4F,
+ 10300: 0x7A50,
+ 10301: 0x7A52,
+ 10302: 0x7A53,
+ 10303: 0x7A54,
+ 10304: 0x7A55,
+ 10305: 0x7A56,
+ 10306: 0x7A58,
+ 10307: 0x7A59,
+ 10308: 0x7A5A,
+ 10309: 0x7A5B,
+ 10310: 0x7A5C,
+ 10311: 0x7A5D,
+ 10312: 0x7A5E,
+ 10313: 0x7A5F,
+ 10314: 0x7A60,
+ 10315: 0x7A61,
+ 10316: 0x7A62,
+ 10317: 0x7A63,
+ 10318: 0x7A64,
+ 10319: 0x7A65,
+ 10320: 0x7A66,
+ 10321: 0x7A67,
+ 10322: 0x7A68,
+ 10323: 0x7A69,
+ 10324: 0x7A6A,
+ 10325: 0x7A6B,
+ 10326: 0x7A6C,
+ 10327: 0x7A6D,
+ 10328: 0x7A6E,
+ 10329: 0x7A6F,
+ 10330: 0x7A71,
+ 10331: 0x7A72,
+ 10332: 0x7A73,
+ 10333: 0x7A75,
+ 10334: 0x7A7B,
+ 10335: 0x7A7C,
+ 10336: 0x7A7D,
+ 10337: 0x7A7E,
+ 10338: 0x7A82,
+ 10339: 0x7A85,
+ 10340: 0x7A87,
+ 10341: 0x7A89,
+ 10342: 0x7A8A,
+ 10343: 0x7A8B,
+ 10344: 0x7A8C,
+ 10345: 0x7A8E,
+ 10346: 0x7A8F,
+ 10347: 0x7A90,
+ 10348: 0x7A93,
+ 10349: 0x7A94,
+ 10350: 0x7A99,
+ 10351: 0x7A9A,
+ 10352: 0x7A9B,
+ 10353: 0x7A9E,
+ 10354: 0x7AA1,
+ 10355: 0x7AA2,
+ 10356: 0x8D30,
+ 10357: 0x53D1,
+ 10358: 0x7F5A,
+ 10359: 0x7B4F,
+ 10360: 0x4F10,
+ 10361: 0x4E4F,
+ 10362: 0x9600,
+ 10363: 0x6CD5,
+ 10364: 0x73D0,
+ 10365: 0x85E9,
+ 10366: 0x5E06,
+ 10367: 0x756A,
+ 10368: 0x7FFB,
+ 10369: 0x6A0A,
+ 10370: 0x77FE,
+ 10371: 0x9492,
+ 10372: 0x7E41,
+ 10373: 0x51E1,
+ 10374: 0x70E6,
+ 10375: 0x53CD,
+ 10376: 0x8FD4,
+ 10377: 0x8303,
+ 10378: 0x8D29,
+ 10379: 0x72AF,
+ 10380: 0x996D,
+ 10381: 0x6CDB,
+ 10382: 0x574A,
+ 10383: 0x82B3,
+ 10384: 0x65B9,
+ 10385: 0x80AA,
+ 10386: 0x623F,
+ 10387: 0x9632,
+ 10388: 0x59A8,
+ 10389: 0x4EFF,
+ 10390: 0x8BBF,
+ 10391: 0x7EBA,
+ 10392: 0x653E,
+ 10393: 0x83F2,
+ 10394: 0x975E,
+ 10395: 0x5561,
+ 10396: 0x98DE,
+ 10397: 0x80A5,
+ 10398: 0x532A,
+ 10399: 0x8BFD,
+ 10400: 0x5420,
+ 10401: 0x80BA,
+ 10402: 0x5E9F,
+ 10403: 0x6CB8,
+ 10404: 0x8D39,
+ 10405: 0x82AC,
+ 10406: 0x915A,
+ 10407: 0x5429,
+ 10408: 0x6C1B,
+ 10409: 0x5206,
+ 10410: 0x7EB7,
+ 10411: 0x575F,
+ 10412: 0x711A,
+ 10413: 0x6C7E,
+ 10414: 0x7C89,
+ 10415: 0x594B,
+ 10416: 0x4EFD,
+ 10417: 0x5FFF,
+ 10418: 0x6124,
+ 10419: 0x7CAA,
+ 10420: 0x4E30,
+ 10421: 0x5C01,
+ 10422: 0x67AB,
+ 10423: 0x8702,
+ 10424: 0x5CF0,
+ 10425: 0x950B,
+ 10426: 0x98CE,
+ 10427: 0x75AF,
+ 10428: 0x70FD,
+ 10429: 0x9022,
+ 10430: 0x51AF,
+ 10431: 0x7F1D,
+ 10432: 0x8BBD,
+ 10433: 0x5949,
+ 10434: 0x51E4,
+ 10435: 0x4F5B,
+ 10436: 0x5426,
+ 10437: 0x592B,
+ 10438: 0x6577,
+ 10439: 0x80A4,
+ 10440: 0x5B75,
+ 10441: 0x6276,
+ 10442: 0x62C2,
+ 10443: 0x8F90,
+ 10444: 0x5E45,
+ 10445: 0x6C1F,
+ 10446: 0x7B26,
+ 10447: 0x4F0F,
+ 10448: 0x4FD8,
+ 10449: 0x670D,
+ 10450: 0x7AA3,
+ 10451: 0x7AA4,
+ 10452: 0x7AA7,
+ 10453: 0x7AA9,
+ 10454: 0x7AAA,
+ 10455: 0x7AAB,
+ 10456: 0x7AAE,
+ 10457: 0x7AAF,
+ 10458: 0x7AB0,
+ 10459: 0x7AB1,
+ 10460: 0x7AB2,
+ 10461: 0x7AB4,
+ 10462: 0x7AB5,
+ 10463: 0x7AB6,
+ 10464: 0x7AB7,
+ 10465: 0x7AB8,
+ 10466: 0x7AB9,
+ 10467: 0x7ABA,
+ 10468: 0x7ABB,
+ 10469: 0x7ABC,
+ 10470: 0x7ABD,
+ 10471: 0x7ABE,
+ 10472: 0x7AC0,
+ 10473: 0x7AC1,
+ 10474: 0x7AC2,
+ 10475: 0x7AC3,
+ 10476: 0x7AC4,
+ 10477: 0x7AC5,
+ 10478: 0x7AC6,
+ 10479: 0x7AC7,
+ 10480: 0x7AC8,
+ 10481: 0x7AC9,
+ 10482: 0x7ACA,
+ 10483: 0x7ACC,
+ 10484: 0x7ACD,
+ 10485: 0x7ACE,
+ 10486: 0x7ACF,
+ 10487: 0x7AD0,
+ 10488: 0x7AD1,
+ 10489: 0x7AD2,
+ 10490: 0x7AD3,
+ 10491: 0x7AD4,
+ 10492: 0x7AD5,
+ 10493: 0x7AD7,
+ 10494: 0x7AD8,
+ 10495: 0x7ADA,
+ 10496: 0x7ADB,
+ 10497: 0x7ADC,
+ 10498: 0x7ADD,
+ 10499: 0x7AE1,
+ 10500: 0x7AE2,
+ 10501: 0x7AE4,
+ 10502: 0x7AE7,
+ 10503: 0x7AE8,
+ 10504: 0x7AE9,
+ 10505: 0x7AEA,
+ 10506: 0x7AEB,
+ 10507: 0x7AEC,
+ 10508: 0x7AEE,
+ 10509: 0x7AF0,
+ 10510: 0x7AF1,
+ 10511: 0x7AF2,
+ 10512: 0x7AF3,
+ 10513: 0x7AF4,
+ 10514: 0x7AF5,
+ 10515: 0x7AF6,
+ 10516: 0x7AF7,
+ 10517: 0x7AF8,
+ 10518: 0x7AFB,
+ 10519: 0x7AFC,
+ 10520: 0x7AFE,
+ 10521: 0x7B00,
+ 10522: 0x7B01,
+ 10523: 0x7B02,
+ 10524: 0x7B05,
+ 10525: 0x7B07,
+ 10526: 0x7B09,
+ 10527: 0x7B0C,
+ 10528: 0x7B0D,
+ 10529: 0x7B0E,
+ 10530: 0x7B10,
+ 10531: 0x7B12,
+ 10532: 0x7B13,
+ 10533: 0x7B16,
+ 10534: 0x7B17,
+ 10535: 0x7B18,
+ 10536: 0x7B1A,
+ 10537: 0x7B1C,
+ 10538: 0x7B1D,
+ 10539: 0x7B1F,
+ 10540: 0x7B21,
+ 10541: 0x7B22,
+ 10542: 0x7B23,
+ 10543: 0x7B27,
+ 10544: 0x7B29,
+ 10545: 0x7B2D,
+ 10546: 0x6D6E,
+ 10547: 0x6DAA,
+ 10548: 0x798F,
+ 10549: 0x88B1,
+ 10550: 0x5F17,
+ 10551: 0x752B,
+ 10552: 0x629A,
+ 10553: 0x8F85,
+ 10554: 0x4FEF,
+ 10555: 0x91DC,
+ 10556: 0x65A7,
+ 10557: 0x812F,
+ 10558: 0x8151,
+ 10559: 0x5E9C,
+ 10560: 0x8150,
+ 10561: 0x8D74,
+ 10562: 0x526F,
+ 10563: 0x8986,
+ 10564: 0x8D4B,
+ 10565: 0x590D,
+ 10566: 0x5085,
+ 10567: 0x4ED8,
+ 10568: 0x961C,
+ 10569: 0x7236,
+ 10570: 0x8179,
+ 10571: 0x8D1F,
+ 10572: 0x5BCC,
+ 10573: 0x8BA3,
+ 10574: 0x9644,
+ 10575: 0x5987,
+ 10576: 0x7F1A,
+ 10577: 0x5490,
+ 10578: 0x5676,
+ 10579: 0x560E,
+ 10580: 0x8BE5,
+ 10581: 0x6539,
+ 10582: 0x6982,
+ 10583: 0x9499,
+ 10584: 0x76D6,
+ 10585: 0x6E89,
+ 10586: 0x5E72,
+ 10587: 0x7518,
+ 10588: 0x6746,
+ 10589: 0x67D1,
+ 10590: 0x7AFF,
+ 10591: 0x809D,
+ 10592: 0x8D76,
+ 10593: 0x611F,
+ 10594: 0x79C6,
+ 10595: 0x6562,
+ 10596: 0x8D63,
+ 10597: 0x5188,
+ 10598: 0x521A,
+ 10599: 0x94A2,
+ 10600: 0x7F38,
+ 10601: 0x809B,
+ 10602: 0x7EB2,
+ 10603: 0x5C97,
+ 10604: 0x6E2F,
+ 10605: 0x6760,
+ 10606: 0x7BD9,
+ 10607: 0x768B,
+ 10608: 0x9AD8,
+ 10609: 0x818F,
+ 10610: 0x7F94,
+ 10611: 0x7CD5,
+ 10612: 0x641E,
+ 10613: 0x9550,
+ 10614: 0x7A3F,
+ 10615: 0x544A,
+ 10616: 0x54E5,
+ 10617: 0x6B4C,
+ 10618: 0x6401,
+ 10619: 0x6208,
+ 10620: 0x9E3D,
+ 10621: 0x80F3,
+ 10622: 0x7599,
+ 10623: 0x5272,
+ 10624: 0x9769,
+ 10625: 0x845B,
+ 10626: 0x683C,
+ 10627: 0x86E4,
+ 10628: 0x9601,
+ 10629: 0x9694,
+ 10630: 0x94EC,
+ 10631: 0x4E2A,
+ 10632: 0x5404,
+ 10633: 0x7ED9,
+ 10634: 0x6839,
+ 10635: 0x8DDF,
+ 10636: 0x8015,
+ 10637: 0x66F4,
+ 10638: 0x5E9A,
+ 10639: 0x7FB9,
+ 10640: 0x7B2F,
+ 10641: 0x7B30,
+ 10642: 0x7B32,
+ 10643: 0x7B34,
+ 10644: 0x7B35,
+ 10645: 0x7B36,
+ 10646: 0x7B37,
+ 10647: 0x7B39,
+ 10648: 0x7B3B,
+ 10649: 0x7B3D,
+ 10650: 0x7B3F,
+ 10651: 0x7B40,
+ 10652: 0x7B41,
+ 10653: 0x7B42,
+ 10654: 0x7B43,
+ 10655: 0x7B44,
+ 10656: 0x7B46,
+ 10657: 0x7B48,
+ 10658: 0x7B4A,
+ 10659: 0x7B4D,
+ 10660: 0x7B4E,
+ 10661: 0x7B53,
+ 10662: 0x7B55,
+ 10663: 0x7B57,
+ 10664: 0x7B59,
+ 10665: 0x7B5C,
+ 10666: 0x7B5E,
+ 10667: 0x7B5F,
+ 10668: 0x7B61,
+ 10669: 0x7B63,
+ 10670: 0x7B64,
+ 10671: 0x7B65,
+ 10672: 0x7B66,
+ 10673: 0x7B67,
+ 10674: 0x7B68,
+ 10675: 0x7B69,
+ 10676: 0x7B6A,
+ 10677: 0x7B6B,
+ 10678: 0x7B6C,
+ 10679: 0x7B6D,
+ 10680: 0x7B6F,
+ 10681: 0x7B70,
+ 10682: 0x7B73,
+ 10683: 0x7B74,
+ 10684: 0x7B76,
+ 10685: 0x7B78,
+ 10686: 0x7B7A,
+ 10687: 0x7B7C,
+ 10688: 0x7B7D,
+ 10689: 0x7B7F,
+ 10690: 0x7B81,
+ 10691: 0x7B82,
+ 10692: 0x7B83,
+ 10693: 0x7B84,
+ 10694: 0x7B86,
+ 10695: 0x7B87,
+ 10696: 0x7B88,
+ 10697: 0x7B89,
+ 10698: 0x7B8A,
+ 10699: 0x7B8B,
+ 10700: 0x7B8C,
+ 10701: 0x7B8E,
+ 10702: 0x7B8F,
+ 10703: 0x7B91,
+ 10704: 0x7B92,
+ 10705: 0x7B93,
+ 10706: 0x7B96,
+ 10707: 0x7B98,
+ 10708: 0x7B99,
+ 10709: 0x7B9A,
+ 10710: 0x7B9B,
+ 10711: 0x7B9E,
+ 10712: 0x7B9F,
+ 10713: 0x7BA0,
+ 10714: 0x7BA3,
+ 10715: 0x7BA4,
+ 10716: 0x7BA5,
+ 10717: 0x7BAE,
+ 10718: 0x7BAF,
+ 10719: 0x7BB0,
+ 10720: 0x7BB2,
+ 10721: 0x7BB3,
+ 10722: 0x7BB5,
+ 10723: 0x7BB6,
+ 10724: 0x7BB7,
+ 10725: 0x7BB9,
+ 10726: 0x7BBA,
+ 10727: 0x7BBB,
+ 10728: 0x7BBC,
+ 10729: 0x7BBD,
+ 10730: 0x7BBE,
+ 10731: 0x7BBF,
+ 10732: 0x7BC0,
+ 10733: 0x7BC2,
+ 10734: 0x7BC3,
+ 10735: 0x7BC4,
+ 10736: 0x57C2,
+ 10737: 0x803F,
+ 10738: 0x6897,
+ 10739: 0x5DE5,
+ 10740: 0x653B,
+ 10741: 0x529F,
+ 10742: 0x606D,
+ 10743: 0x9F9A,
+ 10744: 0x4F9B,
+ 10745: 0x8EAC,
+ 10746: 0x516C,
+ 10747: 0x5BAB,
+ 10748: 0x5F13,
+ 10749: 0x5DE9,
+ 10750: 0x6C5E,
+ 10751: 0x62F1,
+ 10752: 0x8D21,
+ 10753: 0x5171,
+ 10754: 0x94A9,
+ 10755: 0x52FE,
+ 10756: 0x6C9F,
+ 10757: 0x82DF,
+ 10758: 0x72D7,
+ 10759: 0x57A2,
+ 10760: 0x6784,
+ 10761: 0x8D2D,
+ 10762: 0x591F,
+ 10763: 0x8F9C,
+ 10764: 0x83C7,
+ 10765: 0x5495,
+ 10766: 0x7B8D,
+ 10767: 0x4F30,
+ 10768: 0x6CBD,
+ 10769: 0x5B64,
+ 10770: 0x59D1,
+ 10771: 0x9F13,
+ 10772: 0x53E4,
+ 10773: 0x86CA,
+ 10774: 0x9AA8,
+ 10775: 0x8C37,
+ 10776: 0x80A1,
+ 10777: 0x6545,
+ 10778: 0x987E,
+ 10779: 0x56FA,
+ 10780: 0x96C7,
+ 10781: 0x522E,
+ 10782: 0x74DC,
+ 10783: 0x5250,
+ 10784: 0x5BE1,
+ 10785: 0x6302,
+ 10786: 0x8902,
+ 10787: 0x4E56,
+ 10788: 0x62D0,
+ 10789: 0x602A,
+ 10790: 0x68FA,
+ 10791: 0x5173,
+ 10792: 0x5B98,
+ 10793: 0x51A0,
+ 10794: 0x89C2,
+ 10795: 0x7BA1,
+ 10796: 0x9986,
+ 10797: 0x7F50,
+ 10798: 0x60EF,
+ 10799: 0x704C,
+ 10800: 0x8D2F,
+ 10801: 0x5149,
+ 10802: 0x5E7F,
+ 10803: 0x901B,
+ 10804: 0x7470,
+ 10805: 0x89C4,
+ 10806: 0x572D,
+ 10807: 0x7845,
+ 10808: 0x5F52,
+ 10809: 0x9F9F,
+ 10810: 0x95FA,
+ 10811: 0x8F68,
+ 10812: 0x9B3C,
+ 10813: 0x8BE1,
+ 10814: 0x7678,
+ 10815: 0x6842,
+ 10816: 0x67DC,
+ 10817: 0x8DEA,
+ 10818: 0x8D35,
+ 10819: 0x523D,
+ 10820: 0x8F8A,
+ 10821: 0x6EDA,
+ 10822: 0x68CD,
+ 10823: 0x9505,
+ 10824: 0x90ED,
+ 10825: 0x56FD,
+ 10826: 0x679C,
+ 10827: 0x88F9,
+ 10828: 0x8FC7,
+ 10829: 0x54C8,
+ 10830: 0x7BC5,
+ 10831: 0x7BC8,
+ 10832: 0x7BC9,
+ 10833: 0x7BCA,
+ 10834: 0x7BCB,
+ 10835: 0x7BCD,
+ 10836: 0x7BCE,
+ 10837: 0x7BCF,
+ 10838: 0x7BD0,
+ 10839: 0x7BD2,
+ 10840: 0x7BD4,
+ 10841: 0x7BD5,
+ 10842: 0x7BD6,
+ 10843: 0x7BD7,
+ 10844: 0x7BD8,
+ 10845: 0x7BDB,
+ 10846: 0x7BDC,
+ 10847: 0x7BDE,
+ 10848: 0x7BDF,
+ 10849: 0x7BE0,
+ 10850: 0x7BE2,
+ 10851: 0x7BE3,
+ 10852: 0x7BE4,
+ 10853: 0x7BE7,
+ 10854: 0x7BE8,
+ 10855: 0x7BE9,
+ 10856: 0x7BEB,
+ 10857: 0x7BEC,
+ 10858: 0x7BED,
+ 10859: 0x7BEF,
+ 10860: 0x7BF0,
+ 10861: 0x7BF2,
+ 10862: 0x7BF3,
+ 10863: 0x7BF4,
+ 10864: 0x7BF5,
+ 10865: 0x7BF6,
+ 10866: 0x7BF8,
+ 10867: 0x7BF9,
+ 10868: 0x7BFA,
+ 10869: 0x7BFB,
+ 10870: 0x7BFD,
+ 10871: 0x7BFF,
+ 10872: 0x7C00,
+ 10873: 0x7C01,
+ 10874: 0x7C02,
+ 10875: 0x7C03,
+ 10876: 0x7C04,
+ 10877: 0x7C05,
+ 10878: 0x7C06,
+ 10879: 0x7C08,
+ 10880: 0x7C09,
+ 10881: 0x7C0A,
+ 10882: 0x7C0D,
+ 10883: 0x7C0E,
+ 10884: 0x7C10,
+ 10885: 0x7C11,
+ 10886: 0x7C12,
+ 10887: 0x7C13,
+ 10888: 0x7C14,
+ 10889: 0x7C15,
+ 10890: 0x7C17,
+ 10891: 0x7C18,
+ 10892: 0x7C19,
+ 10893: 0x7C1A,
+ 10894: 0x7C1B,
+ 10895: 0x7C1C,
+ 10896: 0x7C1D,
+ 10897: 0x7C1E,
+ 10898: 0x7C20,
+ 10899: 0x7C21,
+ 10900: 0x7C22,
+ 10901: 0x7C23,
+ 10902: 0x7C24,
+ 10903: 0x7C25,
+ 10904: 0x7C28,
+ 10905: 0x7C29,
+ 10906: 0x7C2B,
+ 10907: 0x7C2C,
+ 10908: 0x7C2D,
+ 10909: 0x7C2E,
+ 10910: 0x7C2F,
+ 10911: 0x7C30,
+ 10912: 0x7C31,
+ 10913: 0x7C32,
+ 10914: 0x7C33,
+ 10915: 0x7C34,
+ 10916: 0x7C35,
+ 10917: 0x7C36,
+ 10918: 0x7C37,
+ 10919: 0x7C39,
+ 10920: 0x7C3A,
+ 10921: 0x7C3B,
+ 10922: 0x7C3C,
+ 10923: 0x7C3D,
+ 10924: 0x7C3E,
+ 10925: 0x7C42,
+ 10926: 0x9AB8,
+ 10927: 0x5B69,
+ 10928: 0x6D77,
+ 10929: 0x6C26,
+ 10930: 0x4EA5,
+ 10931: 0x5BB3,
+ 10932: 0x9A87,
+ 10933: 0x9163,
+ 10934: 0x61A8,
+ 10935: 0x90AF,
+ 10936: 0x97E9,
+ 10937: 0x542B,
+ 10938: 0x6DB5,
+ 10939: 0x5BD2,
+ 10940: 0x51FD,
+ 10941: 0x558A,
+ 10942: 0x7F55,
+ 10943: 0x7FF0,
+ 10944: 0x64BC,
+ 10945: 0x634D,
+ 10946: 0x65F1,
+ 10947: 0x61BE,
+ 10948: 0x608D,
+ 10949: 0x710A,
+ 10950: 0x6C57,
+ 10951: 0x6C49,
+ 10952: 0x592F,
+ 10953: 0x676D,
+ 10954: 0x822A,
+ 10955: 0x58D5,
+ 10956: 0x568E,
+ 10957: 0x8C6A,
+ 10958: 0x6BEB,
+ 10959: 0x90DD,
+ 10960: 0x597D,
+ 10961: 0x8017,
+ 10962: 0x53F7,
+ 10963: 0x6D69,
+ 10964: 0x5475,
+ 10965: 0x559D,
+ 10966: 0x8377,
+ 10967: 0x83CF,
+ 10968: 0x6838,
+ 10969: 0x79BE,
+ 10970: 0x548C,
+ 10971: 0x4F55,
+ 10972: 0x5408,
+ 10973: 0x76D2,
+ 10974: 0x8C89,
+ 10975: 0x9602,
+ 10976: 0x6CB3,
+ 10977: 0x6DB8,
+ 10978: 0x8D6B,
+ 10979: 0x8910,
+ 10980: 0x9E64,
+ 10981: 0x8D3A,
+ 10982: 0x563F,
+ 10983: 0x9ED1,
+ 10984: 0x75D5,
+ 10985: 0x5F88,
+ 10986: 0x72E0,
+ 10987: 0x6068,
+ 10988: 0x54FC,
+ 10989: 0x4EA8,
+ 10990: 0x6A2A,
+ 10991: 0x8861,
+ 10992: 0x6052,
+ 10993: 0x8F70,
+ 10994: 0x54C4,
+ 10995: 0x70D8,
+ 10996: 0x8679,
+ 10997: 0x9E3F,
+ 10998: 0x6D2A,
+ 10999: 0x5B8F,
+ 11000: 0x5F18,
+ 11001: 0x7EA2,
+ 11002: 0x5589,
+ 11003: 0x4FAF,
+ 11004: 0x7334,
+ 11005: 0x543C,
+ 11006: 0x539A,
+ 11007: 0x5019,
+ 11008: 0x540E,
+ 11009: 0x547C,
+ 11010: 0x4E4E,
+ 11011: 0x5FFD,
+ 11012: 0x745A,
+ 11013: 0x58F6,
+ 11014: 0x846B,
+ 11015: 0x80E1,
+ 11016: 0x8774,
+ 11017: 0x72D0,
+ 11018: 0x7CCA,
+ 11019: 0x6E56,
+ 11020: 0x7C43,
+ 11021: 0x7C44,
+ 11022: 0x7C45,
+ 11023: 0x7C46,
+ 11024: 0x7C47,
+ 11025: 0x7C48,
+ 11026: 0x7C49,
+ 11027: 0x7C4A,
+ 11028: 0x7C4B,
+ 11029: 0x7C4C,
+ 11030: 0x7C4E,
+ 11031: 0x7C4F,
+ 11032: 0x7C50,
+ 11033: 0x7C51,
+ 11034: 0x7C52,
+ 11035: 0x7C53,
+ 11036: 0x7C54,
+ 11037: 0x7C55,
+ 11038: 0x7C56,
+ 11039: 0x7C57,
+ 11040: 0x7C58,
+ 11041: 0x7C59,
+ 11042: 0x7C5A,
+ 11043: 0x7C5B,
+ 11044: 0x7C5C,
+ 11045: 0x7C5D,
+ 11046: 0x7C5E,
+ 11047: 0x7C5F,
+ 11048: 0x7C60,
+ 11049: 0x7C61,
+ 11050: 0x7C62,
+ 11051: 0x7C63,
+ 11052: 0x7C64,
+ 11053: 0x7C65,
+ 11054: 0x7C66,
+ 11055: 0x7C67,
+ 11056: 0x7C68,
+ 11057: 0x7C69,
+ 11058: 0x7C6A,
+ 11059: 0x7C6B,
+ 11060: 0x7C6C,
+ 11061: 0x7C6D,
+ 11062: 0x7C6E,
+ 11063: 0x7C6F,
+ 11064: 0x7C70,
+ 11065: 0x7C71,
+ 11066: 0x7C72,
+ 11067: 0x7C75,
+ 11068: 0x7C76,
+ 11069: 0x7C77,
+ 11070: 0x7C78,
+ 11071: 0x7C79,
+ 11072: 0x7C7A,
+ 11073: 0x7C7E,
+ 11074: 0x7C7F,
+ 11075: 0x7C80,
+ 11076: 0x7C81,
+ 11077: 0x7C82,
+ 11078: 0x7C83,
+ 11079: 0x7C84,
+ 11080: 0x7C85,
+ 11081: 0x7C86,
+ 11082: 0x7C87,
+ 11083: 0x7C88,
+ 11084: 0x7C8A,
+ 11085: 0x7C8B,
+ 11086: 0x7C8C,
+ 11087: 0x7C8D,
+ 11088: 0x7C8E,
+ 11089: 0x7C8F,
+ 11090: 0x7C90,
+ 11091: 0x7C93,
+ 11092: 0x7C94,
+ 11093: 0x7C96,
+ 11094: 0x7C99,
+ 11095: 0x7C9A,
+ 11096: 0x7C9B,
+ 11097: 0x7CA0,
+ 11098: 0x7CA1,
+ 11099: 0x7CA3,
+ 11100: 0x7CA6,
+ 11101: 0x7CA7,
+ 11102: 0x7CA8,
+ 11103: 0x7CA9,
+ 11104: 0x7CAB,
+ 11105: 0x7CAC,
+ 11106: 0x7CAD,
+ 11107: 0x7CAF,
+ 11108: 0x7CB0,
+ 11109: 0x7CB4,
+ 11110: 0x7CB5,
+ 11111: 0x7CB6,
+ 11112: 0x7CB7,
+ 11113: 0x7CB8,
+ 11114: 0x7CBA,
+ 11115: 0x7CBB,
+ 11116: 0x5F27,
+ 11117: 0x864E,
+ 11118: 0x552C,
+ 11119: 0x62A4,
+ 11120: 0x4E92,
+ 11121: 0x6CAA,
+ 11122: 0x6237,
+ 11123: 0x82B1,
+ 11124: 0x54D7,
+ 11125: 0x534E,
+ 11126: 0x733E,
+ 11127: 0x6ED1,
+ 11128: 0x753B,
+ 11129: 0x5212,
+ 11130: 0x5316,
+ 11131: 0x8BDD,
+ 11132: 0x69D0,
+ 11133: 0x5F8A,
+ 11134: 0x6000,
+ 11135: 0x6DEE,
+ 11136: 0x574F,
+ 11137: 0x6B22,
+ 11138: 0x73AF,
+ 11139: 0x6853,
+ 11140: 0x8FD8,
+ 11141: 0x7F13,
+ 11142: 0x6362,
+ 11143: 0x60A3,
+ 11144: 0x5524,
+ 11145: 0x75EA,
+ 11146: 0x8C62,
+ 11147: 0x7115,
+ 11148: 0x6DA3,
+ 11149: 0x5BA6,
+ 11150: 0x5E7B,
+ 11151: 0x8352,
+ 11152: 0x614C,
+ 11153: 0x9EC4,
+ 11154: 0x78FA,
+ 11155: 0x8757,
+ 11156: 0x7C27,
+ 11157: 0x7687,
+ 11158: 0x51F0,
+ 11159: 0x60F6,
+ 11160: 0x714C,
+ 11161: 0x6643,
+ 11162: 0x5E4C,
+ 11163: 0x604D,
+ 11164: 0x8C0E,
+ 11165: 0x7070,
+ 11166: 0x6325,
+ 11167: 0x8F89,
+ 11168: 0x5FBD,
+ 11169: 0x6062,
+ 11170: 0x86D4,
+ 11171: 0x56DE,
+ 11172: 0x6BC1,
+ 11173: 0x6094,
+ 11174: 0x6167,
+ 11175: 0x5349,
+ 11176: 0x60E0,
+ 11177: 0x6666,
+ 11178: 0x8D3F,
+ 11179: 0x79FD,
+ 11180: 0x4F1A,
+ 11181: 0x70E9,
+ 11182: 0x6C47,
+ 11183: 0x8BB3,
+ 11184: 0x8BF2,
+ 11185: 0x7ED8,
+ 11186: 0x8364,
+ 11187: 0x660F,
+ 11188: 0x5A5A,
+ 11189: 0x9B42,
+ 11190: 0x6D51,
+ 11191: 0x6DF7,
+ 11192: 0x8C41,
+ 11193: 0x6D3B,
+ 11194: 0x4F19,
+ 11195: 0x706B,
+ 11196: 0x83B7,
+ 11197: 0x6216,
+ 11198: 0x60D1,
+ 11199: 0x970D,
+ 11200: 0x8D27,
+ 11201: 0x7978,
+ 11202: 0x51FB,
+ 11203: 0x573E,
+ 11204: 0x57FA,
+ 11205: 0x673A,
+ 11206: 0x7578,
+ 11207: 0x7A3D,
+ 11208: 0x79EF,
+ 11209: 0x7B95,
+ 11210: 0x7CBF,
+ 11211: 0x7CC0,
+ 11212: 0x7CC2,
+ 11213: 0x7CC3,
+ 11214: 0x7CC4,
+ 11215: 0x7CC6,
+ 11216: 0x7CC9,
+ 11217: 0x7CCB,
+ 11218: 0x7CCE,
+ 11219: 0x7CCF,
+ 11220: 0x7CD0,
+ 11221: 0x7CD1,
+ 11222: 0x7CD2,
+ 11223: 0x7CD3,
+ 11224: 0x7CD4,
+ 11225: 0x7CD8,
+ 11226: 0x7CDA,
+ 11227: 0x7CDB,
+ 11228: 0x7CDD,
+ 11229: 0x7CDE,
+ 11230: 0x7CE1,
+ 11231: 0x7CE2,
+ 11232: 0x7CE3,
+ 11233: 0x7CE4,
+ 11234: 0x7CE5,
+ 11235: 0x7CE6,
+ 11236: 0x7CE7,
+ 11237: 0x7CE9,
+ 11238: 0x7CEA,
+ 11239: 0x7CEB,
+ 11240: 0x7CEC,
+ 11241: 0x7CED,
+ 11242: 0x7CEE,
+ 11243: 0x7CF0,
+ 11244: 0x7CF1,
+ 11245: 0x7CF2,
+ 11246: 0x7CF3,
+ 11247: 0x7CF4,
+ 11248: 0x7CF5,
+ 11249: 0x7CF6,
+ 11250: 0x7CF7,
+ 11251: 0x7CF9,
+ 11252: 0x7CFA,
+ 11253: 0x7CFC,
+ 11254: 0x7CFD,
+ 11255: 0x7CFE,
+ 11256: 0x7CFF,
+ 11257: 0x7D00,
+ 11258: 0x7D01,
+ 11259: 0x7D02,
+ 11260: 0x7D03,
+ 11261: 0x7D04,
+ 11262: 0x7D05,
+ 11263: 0x7D06,
+ 11264: 0x7D07,
+ 11265: 0x7D08,
+ 11266: 0x7D09,
+ 11267: 0x7D0B,
+ 11268: 0x7D0C,
+ 11269: 0x7D0D,
+ 11270: 0x7D0E,
+ 11271: 0x7D0F,
+ 11272: 0x7D10,
+ 11273: 0x7D11,
+ 11274: 0x7D12,
+ 11275: 0x7D13,
+ 11276: 0x7D14,
+ 11277: 0x7D15,
+ 11278: 0x7D16,
+ 11279: 0x7D17,
+ 11280: 0x7D18,
+ 11281: 0x7D19,
+ 11282: 0x7D1A,
+ 11283: 0x7D1B,
+ 11284: 0x7D1C,
+ 11285: 0x7D1D,
+ 11286: 0x7D1E,
+ 11287: 0x7D1F,
+ 11288: 0x7D21,
+ 11289: 0x7D23,
+ 11290: 0x7D24,
+ 11291: 0x7D25,
+ 11292: 0x7D26,
+ 11293: 0x7D28,
+ 11294: 0x7D29,
+ 11295: 0x7D2A,
+ 11296: 0x7D2C,
+ 11297: 0x7D2D,
+ 11298: 0x7D2E,
+ 11299: 0x7D30,
+ 11300: 0x7D31,
+ 11301: 0x7D32,
+ 11302: 0x7D33,
+ 11303: 0x7D34,
+ 11304: 0x7D35,
+ 11305: 0x7D36,
+ 11306: 0x808C,
+ 11307: 0x9965,
+ 11308: 0x8FF9,
+ 11309: 0x6FC0,
+ 11310: 0x8BA5,
+ 11311: 0x9E21,
+ 11312: 0x59EC,
+ 11313: 0x7EE9,
+ 11314: 0x7F09,
+ 11315: 0x5409,
+ 11316: 0x6781,
+ 11317: 0x68D8,
+ 11318: 0x8F91,
+ 11319: 0x7C4D,
+ 11320: 0x96C6,
+ 11321: 0x53CA,
+ 11322: 0x6025,
+ 11323: 0x75BE,
+ 11324: 0x6C72,
+ 11325: 0x5373,
+ 11326: 0x5AC9,
+ 11327: 0x7EA7,
+ 11328: 0x6324,
+ 11329: 0x51E0,
+ 11330: 0x810A,
+ 11331: 0x5DF1,
+ 11332: 0x84DF,
+ 11333: 0x6280,
+ 11334: 0x5180,
+ 11335: 0x5B63,
+ 11336: 0x4F0E,
+ 11337: 0x796D,
+ 11338: 0x5242,
+ 11339: 0x60B8,
+ 11340: 0x6D4E,
+ 11341: 0x5BC4,
+ 11342: 0x5BC2,
+ 11343: 0x8BA1,
+ 11344: 0x8BB0,
+ 11345: 0x65E2,
+ 11346: 0x5FCC,
+ 11347: 0x9645,
+ 11348: 0x5993,
+ 11349: 0x7EE7,
+ 11350: 0x7EAA,
+ 11351: 0x5609,
+ 11352: 0x67B7,
+ 11353: 0x5939,
+ 11354: 0x4F73,
+ 11355: 0x5BB6,
+ 11356: 0x52A0,
+ 11357: 0x835A,
+ 11358: 0x988A,
+ 11359: 0x8D3E,
+ 11360: 0x7532,
+ 11361: 0x94BE,
+ 11362: 0x5047,
+ 11363: 0x7A3C,
+ 11364: 0x4EF7,
+ 11365: 0x67B6,
+ 11366: 0x9A7E,
+ 11367: 0x5AC1,
+ 11368: 0x6B7C,
+ 11369: 0x76D1,
+ 11370: 0x575A,
+ 11371: 0x5C16,
+ 11372: 0x7B3A,
+ 11373: 0x95F4,
+ 11374: 0x714E,
+ 11375: 0x517C,
+ 11376: 0x80A9,
+ 11377: 0x8270,
+ 11378: 0x5978,
+ 11379: 0x7F04,
+ 11380: 0x8327,
+ 11381: 0x68C0,
+ 11382: 0x67EC,
+ 11383: 0x78B1,
+ 11384: 0x7877,
+ 11385: 0x62E3,
+ 11386: 0x6361,
+ 11387: 0x7B80,
+ 11388: 0x4FED,
+ 11389: 0x526A,
+ 11390: 0x51CF,
+ 11391: 0x8350,
+ 11392: 0x69DB,
+ 11393: 0x9274,
+ 11394: 0x8DF5,
+ 11395: 0x8D31,
+ 11396: 0x89C1,
+ 11397: 0x952E,
+ 11398: 0x7BAD,
+ 11399: 0x4EF6,
+ 11400: 0x7D37,
+ 11401: 0x7D38,
+ 11402: 0x7D39,
+ 11403: 0x7D3A,
+ 11404: 0x7D3B,
+ 11405: 0x7D3C,
+ 11406: 0x7D3D,
+ 11407: 0x7D3E,
+ 11408: 0x7D3F,
+ 11409: 0x7D40,
+ 11410: 0x7D41,
+ 11411: 0x7D42,
+ 11412: 0x7D43,
+ 11413: 0x7D44,
+ 11414: 0x7D45,
+ 11415: 0x7D46,
+ 11416: 0x7D47,
+ 11417: 0x7D48,
+ 11418: 0x7D49,
+ 11419: 0x7D4A,
+ 11420: 0x7D4B,
+ 11421: 0x7D4C,
+ 11422: 0x7D4D,
+ 11423: 0x7D4E,
+ 11424: 0x7D4F,
+ 11425: 0x7D50,
+ 11426: 0x7D51,
+ 11427: 0x7D52,
+ 11428: 0x7D53,
+ 11429: 0x7D54,
+ 11430: 0x7D55,
+ 11431: 0x7D56,
+ 11432: 0x7D57,
+ 11433: 0x7D58,
+ 11434: 0x7D59,
+ 11435: 0x7D5A,
+ 11436: 0x7D5B,
+ 11437: 0x7D5C,
+ 11438: 0x7D5D,
+ 11439: 0x7D5E,
+ 11440: 0x7D5F,
+ 11441: 0x7D60,
+ 11442: 0x7D61,
+ 11443: 0x7D62,
+ 11444: 0x7D63,
+ 11445: 0x7D64,
+ 11446: 0x7D65,
+ 11447: 0x7D66,
+ 11448: 0x7D67,
+ 11449: 0x7D68,
+ 11450: 0x7D69,
+ 11451: 0x7D6A,
+ 11452: 0x7D6B,
+ 11453: 0x7D6C,
+ 11454: 0x7D6D,
+ 11455: 0x7D6F,
+ 11456: 0x7D70,
+ 11457: 0x7D71,
+ 11458: 0x7D72,
+ 11459: 0x7D73,
+ 11460: 0x7D74,
+ 11461: 0x7D75,
+ 11462: 0x7D76,
+ 11463: 0x7D78,
+ 11464: 0x7D79,
+ 11465: 0x7D7A,
+ 11466: 0x7D7B,
+ 11467: 0x7D7C,
+ 11468: 0x7D7D,
+ 11469: 0x7D7E,
+ 11470: 0x7D7F,
+ 11471: 0x7D80,
+ 11472: 0x7D81,
+ 11473: 0x7D82,
+ 11474: 0x7D83,
+ 11475: 0x7D84,
+ 11476: 0x7D85,
+ 11477: 0x7D86,
+ 11478: 0x7D87,
+ 11479: 0x7D88,
+ 11480: 0x7D89,
+ 11481: 0x7D8A,
+ 11482: 0x7D8B,
+ 11483: 0x7D8C,
+ 11484: 0x7D8D,
+ 11485: 0x7D8E,
+ 11486: 0x7D8F,
+ 11487: 0x7D90,
+ 11488: 0x7D91,
+ 11489: 0x7D92,
+ 11490: 0x7D93,
+ 11491: 0x7D94,
+ 11492: 0x7D95,
+ 11493: 0x7D96,
+ 11494: 0x7D97,
+ 11495: 0x7D98,
+ 11496: 0x5065,
+ 11497: 0x8230,
+ 11498: 0x5251,
+ 11499: 0x996F,
+ 11500: 0x6E10,
+ 11501: 0x6E85,
+ 11502: 0x6DA7,
+ 11503: 0x5EFA,
+ 11504: 0x50F5,
+ 11505: 0x59DC,
+ 11506: 0x5C06,
+ 11507: 0x6D46,
+ 11508: 0x6C5F,
+ 11509: 0x7586,
+ 11510: 0x848B,
+ 11511: 0x6868,
+ 11512: 0x5956,
+ 11513: 0x8BB2,
+ 11514: 0x5320,
+ 11515: 0x9171,
+ 11516: 0x964D,
+ 11517: 0x8549,
+ 11518: 0x6912,
+ 11519: 0x7901,
+ 11520: 0x7126,
+ 11521: 0x80F6,
+ 11522: 0x4EA4,
+ 11523: 0x90CA,
+ 11524: 0x6D47,
+ 11525: 0x9A84,
+ 11526: 0x5A07,
+ 11527: 0x56BC,
+ 11528: 0x6405,
+ 11529: 0x94F0,
+ 11530: 0x77EB,
+ 11531: 0x4FA5,
+ 11532: 0x811A,
+ 11533: 0x72E1,
+ 11534: 0x89D2,
+ 11535: 0x997A,
+ 11536: 0x7F34,
+ 11537: 0x7EDE,
+ 11538: 0x527F,
+ 11539: 0x6559,
+ 11540: 0x9175,
+ 11541: 0x8F7F,
+ 11542: 0x8F83,
+ 11543: 0x53EB,
+ 11544: 0x7A96,
+ 11545: 0x63ED,
+ 11546: 0x63A5,
+ 11547: 0x7686,
+ 11548: 0x79F8,
+ 11549: 0x8857,
+ 11550: 0x9636,
+ 11551: 0x622A,
+ 11552: 0x52AB,
+ 11553: 0x8282,
+ 11554: 0x6854,
+ 11555: 0x6770,
+ 11556: 0x6377,
+ 11557: 0x776B,
+ 11558: 0x7AED,
+ 11559: 0x6D01,
+ 11560: 0x7ED3,
+ 11561: 0x89E3,
+ 11562: 0x59D0,
+ 11563: 0x6212,
+ 11564: 0x85C9,
+ 11565: 0x82A5,
+ 11566: 0x754C,
+ 11567: 0x501F,
+ 11568: 0x4ECB,
+ 11569: 0x75A5,
+ 11570: 0x8BEB,
+ 11571: 0x5C4A,
+ 11572: 0x5DFE,
+ 11573: 0x7B4B,
+ 11574: 0x65A4,
+ 11575: 0x91D1,
+ 11576: 0x4ECA,
+ 11577: 0x6D25,
+ 11578: 0x895F,
+ 11579: 0x7D27,
+ 11580: 0x9526,
+ 11581: 0x4EC5,
+ 11582: 0x8C28,
+ 11583: 0x8FDB,
+ 11584: 0x9773,
+ 11585: 0x664B,
+ 11586: 0x7981,
+ 11587: 0x8FD1,
+ 11588: 0x70EC,
+ 11589: 0x6D78,
+ 11590: 0x7D99,
+ 11591: 0x7D9A,
+ 11592: 0x7D9B,
+ 11593: 0x7D9C,
+ 11594: 0x7D9D,
+ 11595: 0x7D9E,
+ 11596: 0x7D9F,
+ 11597: 0x7DA0,
+ 11598: 0x7DA1,
+ 11599: 0x7DA2,
+ 11600: 0x7DA3,
+ 11601: 0x7DA4,
+ 11602: 0x7DA5,
+ 11603: 0x7DA7,
+ 11604: 0x7DA8,
+ 11605: 0x7DA9,
+ 11606: 0x7DAA,
+ 11607: 0x7DAB,
+ 11608: 0x7DAC,
+ 11609: 0x7DAD,
+ 11610: 0x7DAF,
+ 11611: 0x7DB0,
+ 11612: 0x7DB1,
+ 11613: 0x7DB2,
+ 11614: 0x7DB3,
+ 11615: 0x7DB4,
+ 11616: 0x7DB5,
+ 11617: 0x7DB6,
+ 11618: 0x7DB7,
+ 11619: 0x7DB8,
+ 11620: 0x7DB9,
+ 11621: 0x7DBA,
+ 11622: 0x7DBB,
+ 11623: 0x7DBC,
+ 11624: 0x7DBD,
+ 11625: 0x7DBE,
+ 11626: 0x7DBF,
+ 11627: 0x7DC0,
+ 11628: 0x7DC1,
+ 11629: 0x7DC2,
+ 11630: 0x7DC3,
+ 11631: 0x7DC4,
+ 11632: 0x7DC5,
+ 11633: 0x7DC6,
+ 11634: 0x7DC7,
+ 11635: 0x7DC8,
+ 11636: 0x7DC9,
+ 11637: 0x7DCA,
+ 11638: 0x7DCB,
+ 11639: 0x7DCC,
+ 11640: 0x7DCD,
+ 11641: 0x7DCE,
+ 11642: 0x7DCF,
+ 11643: 0x7DD0,
+ 11644: 0x7DD1,
+ 11645: 0x7DD2,
+ 11646: 0x7DD3,
+ 11647: 0x7DD4,
+ 11648: 0x7DD5,
+ 11649: 0x7DD6,
+ 11650: 0x7DD7,
+ 11651: 0x7DD8,
+ 11652: 0x7DD9,
+ 11653: 0x7DDA,
+ 11654: 0x7DDB,
+ 11655: 0x7DDC,
+ 11656: 0x7DDD,
+ 11657: 0x7DDE,
+ 11658: 0x7DDF,
+ 11659: 0x7DE0,
+ 11660: 0x7DE1,
+ 11661: 0x7DE2,
+ 11662: 0x7DE3,
+ 11663: 0x7DE4,
+ 11664: 0x7DE5,
+ 11665: 0x7DE6,
+ 11666: 0x7DE7,
+ 11667: 0x7DE8,
+ 11668: 0x7DE9,
+ 11669: 0x7DEA,
+ 11670: 0x7DEB,
+ 11671: 0x7DEC,
+ 11672: 0x7DED,
+ 11673: 0x7DEE,
+ 11674: 0x7DEF,
+ 11675: 0x7DF0,
+ 11676: 0x7DF1,
+ 11677: 0x7DF2,
+ 11678: 0x7DF3,
+ 11679: 0x7DF4,
+ 11680: 0x7DF5,
+ 11681: 0x7DF6,
+ 11682: 0x7DF7,
+ 11683: 0x7DF8,
+ 11684: 0x7DF9,
+ 11685: 0x7DFA,
+ 11686: 0x5C3D,
+ 11687: 0x52B2,
+ 11688: 0x8346,
+ 11689: 0x5162,
+ 11690: 0x830E,
+ 11691: 0x775B,
+ 11692: 0x6676,
+ 11693: 0x9CB8,
+ 11694: 0x4EAC,
+ 11695: 0x60CA,
+ 11696: 0x7CBE,
+ 11697: 0x7CB3,
+ 11698: 0x7ECF,
+ 11699: 0x4E95,
+ 11700: 0x8B66,
+ 11701: 0x666F,
+ 11702: 0x9888,
+ 11703: 0x9759,
+ 11704: 0x5883,
+ 11705: 0x656C,
+ 11706: 0x955C,
+ 11707: 0x5F84,
+ 11708: 0x75C9,
+ 11709: 0x9756,
+ 11710: 0x7ADF,
+ 11711: 0x7ADE,
+ 11712: 0x51C0,
+ 11713: 0x70AF,
+ 11714: 0x7A98,
+ 11715: 0x63EA,
+ 11716: 0x7A76,
+ 11717: 0x7EA0,
+ 11718: 0x7396,
+ 11719: 0x97ED,
+ 11720: 0x4E45,
+ 11721: 0x7078,
+ 11722: 0x4E5D,
+ 11723: 0x9152,
+ 11724: 0x53A9,
+ 11725: 0x6551,
+ 11726: 0x65E7,
+ 11727: 0x81FC,
+ 11728: 0x8205,
+ 11729: 0x548E,
+ 11730: 0x5C31,
+ 11731: 0x759A,
+ 11732: 0x97A0,
+ 11733: 0x62D8,
+ 11734: 0x72D9,
+ 11735: 0x75BD,
+ 11736: 0x5C45,
+ 11737: 0x9A79,
+ 11738: 0x83CA,
+ 11739: 0x5C40,
+ 11740: 0x5480,
+ 11741: 0x77E9,
+ 11742: 0x4E3E,
+ 11743: 0x6CAE,
+ 11744: 0x805A,
+ 11745: 0x62D2,
+ 11746: 0x636E,
+ 11747: 0x5DE8,
+ 11748: 0x5177,
+ 11749: 0x8DDD,
+ 11750: 0x8E1E,
+ 11751: 0x952F,
+ 11752: 0x4FF1,
+ 11753: 0x53E5,
+ 11754: 0x60E7,
+ 11755: 0x70AC,
+ 11756: 0x5267,
+ 11757: 0x6350,
+ 11758: 0x9E43,
+ 11759: 0x5A1F,
+ 11760: 0x5026,
+ 11761: 0x7737,
+ 11762: 0x5377,
+ 11763: 0x7EE2,
+ 11764: 0x6485,
+ 11765: 0x652B,
+ 11766: 0x6289,
+ 11767: 0x6398,
+ 11768: 0x5014,
+ 11769: 0x7235,
+ 11770: 0x89C9,
+ 11771: 0x51B3,
+ 11772: 0x8BC0,
+ 11773: 0x7EDD,
+ 11774: 0x5747,
+ 11775: 0x83CC,
+ 11776: 0x94A7,
+ 11777: 0x519B,
+ 11778: 0x541B,
+ 11779: 0x5CFB,
+ 11780: 0x7DFB,
+ 11781: 0x7DFC,
+ 11782: 0x7DFD,
+ 11783: 0x7DFE,
+ 11784: 0x7DFF,
+ 11785: 0x7E00,
+ 11786: 0x7E01,
+ 11787: 0x7E02,
+ 11788: 0x7E03,
+ 11789: 0x7E04,
+ 11790: 0x7E05,
+ 11791: 0x7E06,
+ 11792: 0x7E07,
+ 11793: 0x7E08,
+ 11794: 0x7E09,
+ 11795: 0x7E0A,
+ 11796: 0x7E0B,
+ 11797: 0x7E0C,
+ 11798: 0x7E0D,
+ 11799: 0x7E0E,
+ 11800: 0x7E0F,
+ 11801: 0x7E10,
+ 11802: 0x7E11,
+ 11803: 0x7E12,
+ 11804: 0x7E13,
+ 11805: 0x7E14,
+ 11806: 0x7E15,
+ 11807: 0x7E16,
+ 11808: 0x7E17,
+ 11809: 0x7E18,
+ 11810: 0x7E19,
+ 11811: 0x7E1A,
+ 11812: 0x7E1B,
+ 11813: 0x7E1C,
+ 11814: 0x7E1D,
+ 11815: 0x7E1E,
+ 11816: 0x7E1F,
+ 11817: 0x7E20,
+ 11818: 0x7E21,
+ 11819: 0x7E22,
+ 11820: 0x7E23,
+ 11821: 0x7E24,
+ 11822: 0x7E25,
+ 11823: 0x7E26,
+ 11824: 0x7E27,
+ 11825: 0x7E28,
+ 11826: 0x7E29,
+ 11827: 0x7E2A,
+ 11828: 0x7E2B,
+ 11829: 0x7E2C,
+ 11830: 0x7E2D,
+ 11831: 0x7E2E,
+ 11832: 0x7E2F,
+ 11833: 0x7E30,
+ 11834: 0x7E31,
+ 11835: 0x7E32,
+ 11836: 0x7E33,
+ 11837: 0x7E34,
+ 11838: 0x7E35,
+ 11839: 0x7E36,
+ 11840: 0x7E37,
+ 11841: 0x7E38,
+ 11842: 0x7E39,
+ 11843: 0x7E3A,
+ 11844: 0x7E3C,
+ 11845: 0x7E3D,
+ 11846: 0x7E3E,
+ 11847: 0x7E3F,
+ 11848: 0x7E40,
+ 11849: 0x7E42,
+ 11850: 0x7E43,
+ 11851: 0x7E44,
+ 11852: 0x7E45,
+ 11853: 0x7E46,
+ 11854: 0x7E48,
+ 11855: 0x7E49,
+ 11856: 0x7E4A,
+ 11857: 0x7E4B,
+ 11858: 0x7E4C,
+ 11859: 0x7E4D,
+ 11860: 0x7E4E,
+ 11861: 0x7E4F,
+ 11862: 0x7E50,
+ 11863: 0x7E51,
+ 11864: 0x7E52,
+ 11865: 0x7E53,
+ 11866: 0x7E54,
+ 11867: 0x7E55,
+ 11868: 0x7E56,
+ 11869: 0x7E57,
+ 11870: 0x7E58,
+ 11871: 0x7E59,
+ 11872: 0x7E5A,
+ 11873: 0x7E5B,
+ 11874: 0x7E5C,
+ 11875: 0x7E5D,
+ 11876: 0x4FCA,
+ 11877: 0x7AE3,
+ 11878: 0x6D5A,
+ 11879: 0x90E1,
+ 11880: 0x9A8F,
+ 11881: 0x5580,
+ 11882: 0x5496,
+ 11883: 0x5361,
+ 11884: 0x54AF,
+ 11885: 0x5F00,
+ 11886: 0x63E9,
+ 11887: 0x6977,
+ 11888: 0x51EF,
+ 11889: 0x6168,
+ 11890: 0x520A,
+ 11891: 0x582A,
+ 11892: 0x52D8,
+ 11893: 0x574E,
+ 11894: 0x780D,
+ 11895: 0x770B,
+ 11896: 0x5EB7,
+ 11897: 0x6177,
+ 11898: 0x7CE0,
+ 11899: 0x625B,
+ 11900: 0x6297,
+ 11901: 0x4EA2,
+ 11902: 0x7095,
+ 11903: 0x8003,
+ 11904: 0x62F7,
+ 11905: 0x70E4,
+ 11906: 0x9760,
+ 11907: 0x5777,
+ 11908: 0x82DB,
+ 11909: 0x67EF,
+ 11910: 0x68F5,
+ 11911: 0x78D5,
+ 11912: 0x9897,
+ 11913: 0x79D1,
+ 11914: 0x58F3,
+ 11915: 0x54B3,
+ 11916: 0x53EF,
+ 11917: 0x6E34,
+ 11918: 0x514B,
+ 11919: 0x523B,
+ 11920: 0x5BA2,
+ 11921: 0x8BFE,
+ 11922: 0x80AF,
+ 11923: 0x5543,
+ 11924: 0x57A6,
+ 11925: 0x6073,
+ 11926: 0x5751,
+ 11927: 0x542D,
+ 11928: 0x7A7A,
+ 11929: 0x6050,
+ 11930: 0x5B54,
+ 11931: 0x63A7,
+ 11932: 0x62A0,
+ 11933: 0x53E3,
+ 11934: 0x6263,
+ 11935: 0x5BC7,
+ 11936: 0x67AF,
+ 11937: 0x54ED,
+ 11938: 0x7A9F,
+ 11939: 0x82E6,
+ 11940: 0x9177,
+ 11941: 0x5E93,
+ 11942: 0x88E4,
+ 11943: 0x5938,
+ 11944: 0x57AE,
+ 11945: 0x630E,
+ 11946: 0x8DE8,
+ 11947: 0x80EF,
+ 11948: 0x5757,
+ 11949: 0x7B77,
+ 11950: 0x4FA9,
+ 11951: 0x5FEB,
+ 11952: 0x5BBD,
+ 11953: 0x6B3E,
+ 11954: 0x5321,
+ 11955: 0x7B50,
+ 11956: 0x72C2,
+ 11957: 0x6846,
+ 11958: 0x77FF,
+ 11959: 0x7736,
+ 11960: 0x65F7,
+ 11961: 0x51B5,
+ 11962: 0x4E8F,
+ 11963: 0x76D4,
+ 11964: 0x5CBF,
+ 11965: 0x7AA5,
+ 11966: 0x8475,
+ 11967: 0x594E,
+ 11968: 0x9B41,
+ 11969: 0x5080,
+ 11970: 0x7E5E,
+ 11971: 0x7E5F,
+ 11972: 0x7E60,
+ 11973: 0x7E61,
+ 11974: 0x7E62,
+ 11975: 0x7E63,
+ 11976: 0x7E64,
+ 11977: 0x7E65,
+ 11978: 0x7E66,
+ 11979: 0x7E67,
+ 11980: 0x7E68,
+ 11981: 0x7E69,
+ 11982: 0x7E6A,
+ 11983: 0x7E6B,
+ 11984: 0x7E6C,
+ 11985: 0x7E6D,
+ 11986: 0x7E6E,
+ 11987: 0x7E6F,
+ 11988: 0x7E70,
+ 11989: 0x7E71,
+ 11990: 0x7E72,
+ 11991: 0x7E73,
+ 11992: 0x7E74,
+ 11993: 0x7E75,
+ 11994: 0x7E76,
+ 11995: 0x7E77,
+ 11996: 0x7E78,
+ 11997: 0x7E79,
+ 11998: 0x7E7A,
+ 11999: 0x7E7B,
+ 12000: 0x7E7C,
+ 12001: 0x7E7D,
+ 12002: 0x7E7E,
+ 12003: 0x7E7F,
+ 12004: 0x7E80,
+ 12005: 0x7E81,
+ 12006: 0x7E83,
+ 12007: 0x7E84,
+ 12008: 0x7E85,
+ 12009: 0x7E86,
+ 12010: 0x7E87,
+ 12011: 0x7E88,
+ 12012: 0x7E89,
+ 12013: 0x7E8A,
+ 12014: 0x7E8B,
+ 12015: 0x7E8C,
+ 12016: 0x7E8D,
+ 12017: 0x7E8E,
+ 12018: 0x7E8F,
+ 12019: 0x7E90,
+ 12020: 0x7E91,
+ 12021: 0x7E92,
+ 12022: 0x7E93,
+ 12023: 0x7E94,
+ 12024: 0x7E95,
+ 12025: 0x7E96,
+ 12026: 0x7E97,
+ 12027: 0x7E98,
+ 12028: 0x7E99,
+ 12029: 0x7E9A,
+ 12030: 0x7E9C,
+ 12031: 0x7E9D,
+ 12032: 0x7E9E,
+ 12033: 0x7EAE,
+ 12034: 0x7EB4,
+ 12035: 0x7EBB,
+ 12036: 0x7EBC,
+ 12037: 0x7ED6,
+ 12038: 0x7EE4,
+ 12039: 0x7EEC,
+ 12040: 0x7EF9,
+ 12041: 0x7F0A,
+ 12042: 0x7F10,
+ 12043: 0x7F1E,
+ 12044: 0x7F37,
+ 12045: 0x7F39,
+ 12046: 0x7F3B,
+ 12047: 0x7F3C,
+ 12048: 0x7F3D,
+ 12049: 0x7F3E,
+ 12050: 0x7F3F,
+ 12051: 0x7F40,
+ 12052: 0x7F41,
+ 12053: 0x7F43,
+ 12054: 0x7F46,
+ 12055: 0x7F47,
+ 12056: 0x7F48,
+ 12057: 0x7F49,
+ 12058: 0x7F4A,
+ 12059: 0x7F4B,
+ 12060: 0x7F4C,
+ 12061: 0x7F4D,
+ 12062: 0x7F4E,
+ 12063: 0x7F4F,
+ 12064: 0x7F52,
+ 12065: 0x7F53,
+ 12066: 0x9988,
+ 12067: 0x6127,
+ 12068: 0x6E83,
+ 12069: 0x5764,
+ 12070: 0x6606,
+ 12071: 0x6346,
+ 12072: 0x56F0,
+ 12073: 0x62EC,
+ 12074: 0x6269,
+ 12075: 0x5ED3,
+ 12076: 0x9614,
+ 12077: 0x5783,
+ 12078: 0x62C9,
+ 12079: 0x5587,
+ 12080: 0x8721,
+ 12081: 0x814A,
+ 12082: 0x8FA3,
+ 12083: 0x5566,
+ 12084: 0x83B1,
+ 12085: 0x6765,
+ 12086: 0x8D56,
+ 12087: 0x84DD,
+ 12088: 0x5A6A,
+ 12089: 0x680F,
+ 12090: 0x62E6,
+ 12091: 0x7BEE,
+ 12092: 0x9611,
+ 12093: 0x5170,
+ 12094: 0x6F9C,
+ 12095: 0x8C30,
+ 12096: 0x63FD,
+ 12097: 0x89C8,
+ 12098: 0x61D2,
+ 12099: 0x7F06,
+ 12100: 0x70C2,
+ 12101: 0x6EE5,
+ 12102: 0x7405,
+ 12103: 0x6994,
+ 12104: 0x72FC,
+ 12105: 0x5ECA,
+ 12106: 0x90CE,
+ 12107: 0x6717,
+ 12108: 0x6D6A,
+ 12109: 0x635E,
+ 12110: 0x52B3,
+ 12111: 0x7262,
+ 12112: 0x8001,
+ 12113: 0x4F6C,
+ 12114: 0x59E5,
+ 12115: 0x916A,
+ 12116: 0x70D9,
+ 12117: 0x6D9D,
+ 12118: 0x52D2,
+ 12119: 0x4E50,
+ 12120: 0x96F7,
+ 12121: 0x956D,
+ 12122: 0x857E,
+ 12123: 0x78CA,
+ 12124: 0x7D2F,
+ 12125: 0x5121,
+ 12126: 0x5792,
+ 12127: 0x64C2,
+ 12128: 0x808B,
+ 12129: 0x7C7B,
+ 12130: 0x6CEA,
+ 12131: 0x68F1,
+ 12132: 0x695E,
+ 12133: 0x51B7,
+ 12134: 0x5398,
+ 12135: 0x68A8,
+ 12136: 0x7281,
+ 12137: 0x9ECE,
+ 12138: 0x7BF1,
+ 12139: 0x72F8,
+ 12140: 0x79BB,
+ 12141: 0x6F13,
+ 12142: 0x7406,
+ 12143: 0x674E,
+ 12144: 0x91CC,
+ 12145: 0x9CA4,
+ 12146: 0x793C,
+ 12147: 0x8389,
+ 12148: 0x8354,
+ 12149: 0x540F,
+ 12150: 0x6817,
+ 12151: 0x4E3D,
+ 12152: 0x5389,
+ 12153: 0x52B1,
+ 12154: 0x783E,
+ 12155: 0x5386,
+ 12156: 0x5229,
+ 12157: 0x5088,
+ 12158: 0x4F8B,
+ 12159: 0x4FD0,
+ 12160: 0x7F56,
+ 12161: 0x7F59,
+ 12162: 0x7F5B,
+ 12163: 0x7F5C,
+ 12164: 0x7F5D,
+ 12165: 0x7F5E,
+ 12166: 0x7F60,
+ 12167: 0x7F63,
+ 12168: 0x7F64,
+ 12169: 0x7F65,
+ 12170: 0x7F66,
+ 12171: 0x7F67,
+ 12172: 0x7F6B,
+ 12173: 0x7F6C,
+ 12174: 0x7F6D,
+ 12175: 0x7F6F,
+ 12176: 0x7F70,
+ 12177: 0x7F73,
+ 12178: 0x7F75,
+ 12179: 0x7F76,
+ 12180: 0x7F77,
+ 12181: 0x7F78,
+ 12182: 0x7F7A,
+ 12183: 0x7F7B,
+ 12184: 0x7F7C,
+ 12185: 0x7F7D,
+ 12186: 0x7F7F,
+ 12187: 0x7F80,
+ 12188: 0x7F82,
+ 12189: 0x7F83,
+ 12190: 0x7F84,
+ 12191: 0x7F85,
+ 12192: 0x7F86,
+ 12193: 0x7F87,
+ 12194: 0x7F88,
+ 12195: 0x7F89,
+ 12196: 0x7F8B,
+ 12197: 0x7F8D,
+ 12198: 0x7F8F,
+ 12199: 0x7F90,
+ 12200: 0x7F91,
+ 12201: 0x7F92,
+ 12202: 0x7F93,
+ 12203: 0x7F95,
+ 12204: 0x7F96,
+ 12205: 0x7F97,
+ 12206: 0x7F98,
+ 12207: 0x7F99,
+ 12208: 0x7F9B,
+ 12209: 0x7F9C,
+ 12210: 0x7FA0,
+ 12211: 0x7FA2,
+ 12212: 0x7FA3,
+ 12213: 0x7FA5,
+ 12214: 0x7FA6,
+ 12215: 0x7FA8,
+ 12216: 0x7FA9,
+ 12217: 0x7FAA,
+ 12218: 0x7FAB,
+ 12219: 0x7FAC,
+ 12220: 0x7FAD,
+ 12221: 0x7FAE,
+ 12222: 0x7FB1,
+ 12223: 0x7FB3,
+ 12224: 0x7FB4,
+ 12225: 0x7FB5,
+ 12226: 0x7FB6,
+ 12227: 0x7FB7,
+ 12228: 0x7FBA,
+ 12229: 0x7FBB,
+ 12230: 0x7FBE,
+ 12231: 0x7FC0,
+ 12232: 0x7FC2,
+ 12233: 0x7FC3,
+ 12234: 0x7FC4,
+ 12235: 0x7FC6,
+ 12236: 0x7FC7,
+ 12237: 0x7FC8,
+ 12238: 0x7FC9,
+ 12239: 0x7FCB,
+ 12240: 0x7FCD,
+ 12241: 0x7FCF,
+ 12242: 0x7FD0,
+ 12243: 0x7FD1,
+ 12244: 0x7FD2,
+ 12245: 0x7FD3,
+ 12246: 0x7FD6,
+ 12247: 0x7FD7,
+ 12248: 0x7FD9,
+ 12249: 0x7FDA,
+ 12250: 0x7FDB,
+ 12251: 0x7FDC,
+ 12252: 0x7FDD,
+ 12253: 0x7FDE,
+ 12254: 0x7FE2,
+ 12255: 0x7FE3,
+ 12256: 0x75E2,
+ 12257: 0x7ACB,
+ 12258: 0x7C92,
+ 12259: 0x6CA5,
+ 12260: 0x96B6,
+ 12261: 0x529B,
+ 12262: 0x7483,
+ 12263: 0x54E9,
+ 12264: 0x4FE9,
+ 12265: 0x8054,
+ 12266: 0x83B2,
+ 12267: 0x8FDE,
+ 12268: 0x9570,
+ 12269: 0x5EC9,
+ 12270: 0x601C,
+ 12271: 0x6D9F,
+ 12272: 0x5E18,
+ 12273: 0x655B,
+ 12274: 0x8138,
+ 12275: 0x94FE,
+ 12276: 0x604B,
+ 12277: 0x70BC,
+ 12278: 0x7EC3,
+ 12279: 0x7CAE,
+ 12280: 0x51C9,
+ 12281: 0x6881,
+ 12282: 0x7CB1,
+ 12283: 0x826F,
+ 12284: 0x4E24,
+ 12285: 0x8F86,
+ 12286: 0x91CF,
+ 12287: 0x667E,
+ 12288: 0x4EAE,
+ 12289: 0x8C05,
+ 12290: 0x64A9,
+ 12291: 0x804A,
+ 12292: 0x50DA,
+ 12293: 0x7597,
+ 12294: 0x71CE,
+ 12295: 0x5BE5,
+ 12296: 0x8FBD,
+ 12297: 0x6F66,
+ 12298: 0x4E86,
+ 12299: 0x6482,
+ 12300: 0x9563,
+ 12301: 0x5ED6,
+ 12302: 0x6599,
+ 12303: 0x5217,
+ 12304: 0x88C2,
+ 12305: 0x70C8,
+ 12306: 0x52A3,
+ 12307: 0x730E,
+ 12308: 0x7433,
+ 12309: 0x6797,
+ 12310: 0x78F7,
+ 12311: 0x9716,
+ 12312: 0x4E34,
+ 12313: 0x90BB,
+ 12314: 0x9CDE,
+ 12315: 0x6DCB,
+ 12316: 0x51DB,
+ 12317: 0x8D41,
+ 12318: 0x541D,
+ 12319: 0x62CE,
+ 12320: 0x73B2,
+ 12321: 0x83F1,
+ 12322: 0x96F6,
+ 12323: 0x9F84,
+ 12324: 0x94C3,
+ 12325: 0x4F36,
+ 12326: 0x7F9A,
+ 12327: 0x51CC,
+ 12328: 0x7075,
+ 12329: 0x9675,
+ 12330: 0x5CAD,
+ 12331: 0x9886,
+ 12332: 0x53E6,
+ 12333: 0x4EE4,
+ 12334: 0x6E9C,
+ 12335: 0x7409,
+ 12336: 0x69B4,
+ 12337: 0x786B,
+ 12338: 0x998F,
+ 12339: 0x7559,
+ 12340: 0x5218,
+ 12341: 0x7624,
+ 12342: 0x6D41,
+ 12343: 0x67F3,
+ 12344: 0x516D,
+ 12345: 0x9F99,
+ 12346: 0x804B,
+ 12347: 0x5499,
+ 12348: 0x7B3C,
+ 12349: 0x7ABF,
+ 12350: 0x7FE4,
+ 12351: 0x7FE7,
+ 12352: 0x7FE8,
+ 12353: 0x7FEA,
+ 12354: 0x7FEB,
+ 12355: 0x7FEC,
+ 12356: 0x7FED,
+ 12357: 0x7FEF,
+ 12358: 0x7FF2,
+ 12359: 0x7FF4,
+ 12360: 0x7FF5,
+ 12361: 0x7FF6,
+ 12362: 0x7FF7,
+ 12363: 0x7FF8,
+ 12364: 0x7FF9,
+ 12365: 0x7FFA,
+ 12366: 0x7FFD,
+ 12367: 0x7FFE,
+ 12368: 0x7FFF,
+ 12369: 0x8002,
+ 12370: 0x8007,
+ 12371: 0x8008,
+ 12372: 0x8009,
+ 12373: 0x800A,
+ 12374: 0x800E,
+ 12375: 0x800F,
+ 12376: 0x8011,
+ 12377: 0x8013,
+ 12378: 0x801A,
+ 12379: 0x801B,
+ 12380: 0x801D,
+ 12381: 0x801E,
+ 12382: 0x801F,
+ 12383: 0x8021,
+ 12384: 0x8023,
+ 12385: 0x8024,
+ 12386: 0x802B,
+ 12387: 0x802C,
+ 12388: 0x802D,
+ 12389: 0x802E,
+ 12390: 0x802F,
+ 12391: 0x8030,
+ 12392: 0x8032,
+ 12393: 0x8034,
+ 12394: 0x8039,
+ 12395: 0x803A,
+ 12396: 0x803C,
+ 12397: 0x803E,
+ 12398: 0x8040,
+ 12399: 0x8041,
+ 12400: 0x8044,
+ 12401: 0x8045,
+ 12402: 0x8047,
+ 12403: 0x8048,
+ 12404: 0x8049,
+ 12405: 0x804E,
+ 12406: 0x804F,
+ 12407: 0x8050,
+ 12408: 0x8051,
+ 12409: 0x8053,
+ 12410: 0x8055,
+ 12411: 0x8056,
+ 12412: 0x8057,
+ 12413: 0x8059,
+ 12414: 0x805B,
+ 12415: 0x805C,
+ 12416: 0x805D,
+ 12417: 0x805E,
+ 12418: 0x805F,
+ 12419: 0x8060,
+ 12420: 0x8061,
+ 12421: 0x8062,
+ 12422: 0x8063,
+ 12423: 0x8064,
+ 12424: 0x8065,
+ 12425: 0x8066,
+ 12426: 0x8067,
+ 12427: 0x8068,
+ 12428: 0x806B,
+ 12429: 0x806C,
+ 12430: 0x806D,
+ 12431: 0x806E,
+ 12432: 0x806F,
+ 12433: 0x8070,
+ 12434: 0x8072,
+ 12435: 0x8073,
+ 12436: 0x8074,
+ 12437: 0x8075,
+ 12438: 0x8076,
+ 12439: 0x8077,
+ 12440: 0x8078,
+ 12441: 0x8079,
+ 12442: 0x807A,
+ 12443: 0x807B,
+ 12444: 0x807C,
+ 12445: 0x807D,
+ 12446: 0x9686,
+ 12447: 0x5784,
+ 12448: 0x62E2,
+ 12449: 0x9647,
+ 12450: 0x697C,
+ 12451: 0x5A04,
+ 12452: 0x6402,
+ 12453: 0x7BD3,
+ 12454: 0x6F0F,
+ 12455: 0x964B,
+ 12456: 0x82A6,
+ 12457: 0x5362,
+ 12458: 0x9885,
+ 12459: 0x5E90,
+ 12460: 0x7089,
+ 12461: 0x63B3,
+ 12462: 0x5364,
+ 12463: 0x864F,
+ 12464: 0x9C81,
+ 12465: 0x9E93,
+ 12466: 0x788C,
+ 12467: 0x9732,
+ 12468: 0x8DEF,
+ 12469: 0x8D42,
+ 12470: 0x9E7F,
+ 12471: 0x6F5E,
+ 12472: 0x7984,
+ 12473: 0x5F55,
+ 12474: 0x9646,
+ 12475: 0x622E,
+ 12476: 0x9A74,
+ 12477: 0x5415,
+ 12478: 0x94DD,
+ 12479: 0x4FA3,
+ 12480: 0x65C5,
+ 12481: 0x5C65,
+ 12482: 0x5C61,
+ 12483: 0x7F15,
+ 12484: 0x8651,
+ 12485: 0x6C2F,
+ 12486: 0x5F8B,
+ 12487: 0x7387,
+ 12488: 0x6EE4,
+ 12489: 0x7EFF,
+ 12490: 0x5CE6,
+ 12491: 0x631B,
+ 12492: 0x5B6A,
+ 12493: 0x6EE6,
+ 12494: 0x5375,
+ 12495: 0x4E71,
+ 12496: 0x63A0,
+ 12497: 0x7565,
+ 12498: 0x62A1,
+ 12499: 0x8F6E,
+ 12500: 0x4F26,
+ 12501: 0x4ED1,
+ 12502: 0x6CA6,
+ 12503: 0x7EB6,
+ 12504: 0x8BBA,
+ 12505: 0x841D,
+ 12506: 0x87BA,
+ 12507: 0x7F57,
+ 12508: 0x903B,
+ 12509: 0x9523,
+ 12510: 0x7BA9,
+ 12511: 0x9AA1,
+ 12512: 0x88F8,
+ 12513: 0x843D,
+ 12514: 0x6D1B,
+ 12515: 0x9A86,
+ 12516: 0x7EDC,
+ 12517: 0x5988,
+ 12518: 0x9EBB,
+ 12519: 0x739B,
+ 12520: 0x7801,
+ 12521: 0x8682,
+ 12522: 0x9A6C,
+ 12523: 0x9A82,
+ 12524: 0x561B,
+ 12525: 0x5417,
+ 12526: 0x57CB,
+ 12527: 0x4E70,
+ 12528: 0x9EA6,
+ 12529: 0x5356,
+ 12530: 0x8FC8,
+ 12531: 0x8109,
+ 12532: 0x7792,
+ 12533: 0x9992,
+ 12534: 0x86EE,
+ 12535: 0x6EE1,
+ 12536: 0x8513,
+ 12537: 0x66FC,
+ 12538: 0x6162,
+ 12539: 0x6F2B,
+ 12540: 0x807E,
+ 12541: 0x8081,
+ 12542: 0x8082,
+ 12543: 0x8085,
+ 12544: 0x8088,
+ 12545: 0x808A,
+ 12546: 0x808D,
+ 12547: 0x808E,
+ 12548: 0x808F,
+ 12549: 0x8090,
+ 12550: 0x8091,
+ 12551: 0x8092,
+ 12552: 0x8094,
+ 12553: 0x8095,
+ 12554: 0x8097,
+ 12555: 0x8099,
+ 12556: 0x809E,
+ 12557: 0x80A3,
+ 12558: 0x80A6,
+ 12559: 0x80A7,
+ 12560: 0x80A8,
+ 12561: 0x80AC,
+ 12562: 0x80B0,
+ 12563: 0x80B3,
+ 12564: 0x80B5,
+ 12565: 0x80B6,
+ 12566: 0x80B8,
+ 12567: 0x80B9,
+ 12568: 0x80BB,
+ 12569: 0x80C5,
+ 12570: 0x80C7,
+ 12571: 0x80C8,
+ 12572: 0x80C9,
+ 12573: 0x80CA,
+ 12574: 0x80CB,
+ 12575: 0x80CF,
+ 12576: 0x80D0,
+ 12577: 0x80D1,
+ 12578: 0x80D2,
+ 12579: 0x80D3,
+ 12580: 0x80D4,
+ 12581: 0x80D5,
+ 12582: 0x80D8,
+ 12583: 0x80DF,
+ 12584: 0x80E0,
+ 12585: 0x80E2,
+ 12586: 0x80E3,
+ 12587: 0x80E6,
+ 12588: 0x80EE,
+ 12589: 0x80F5,
+ 12590: 0x80F7,
+ 12591: 0x80F9,
+ 12592: 0x80FB,
+ 12593: 0x80FE,
+ 12594: 0x80FF,
+ 12595: 0x8100,
+ 12596: 0x8101,
+ 12597: 0x8103,
+ 12598: 0x8104,
+ 12599: 0x8105,
+ 12600: 0x8107,
+ 12601: 0x8108,
+ 12602: 0x810B,
+ 12603: 0x810C,
+ 12604: 0x8115,
+ 12605: 0x8117,
+ 12606: 0x8119,
+ 12607: 0x811B,
+ 12608: 0x811C,
+ 12609: 0x811D,
+ 12610: 0x811F,
+ 12611: 0x8120,
+ 12612: 0x8121,
+ 12613: 0x8122,
+ 12614: 0x8123,
+ 12615: 0x8124,
+ 12616: 0x8125,
+ 12617: 0x8126,
+ 12618: 0x8127,
+ 12619: 0x8128,
+ 12620: 0x8129,
+ 12621: 0x812A,
+ 12622: 0x812B,
+ 12623: 0x812D,
+ 12624: 0x812E,
+ 12625: 0x8130,
+ 12626: 0x8133,
+ 12627: 0x8134,
+ 12628: 0x8135,
+ 12629: 0x8137,
+ 12630: 0x8139,
+ 12631: 0x813A,
+ 12632: 0x813B,
+ 12633: 0x813C,
+ 12634: 0x813D,
+ 12635: 0x813F,
+ 12636: 0x8C29,
+ 12637: 0x8292,
+ 12638: 0x832B,
+ 12639: 0x76F2,
+ 12640: 0x6C13,
+ 12641: 0x5FD9,
+ 12642: 0x83BD,
+ 12643: 0x732B,
+ 12644: 0x8305,
+ 12645: 0x951A,
+ 12646: 0x6BDB,
+ 12647: 0x77DB,
+ 12648: 0x94C6,
+ 12649: 0x536F,
+ 12650: 0x8302,
+ 12651: 0x5192,
+ 12652: 0x5E3D,
+ 12653: 0x8C8C,
+ 12654: 0x8D38,
+ 12655: 0x4E48,
+ 12656: 0x73AB,
+ 12657: 0x679A,
+ 12658: 0x6885,
+ 12659: 0x9176,
+ 12660: 0x9709,
+ 12661: 0x7164,
+ 12662: 0x6CA1,
+ 12663: 0x7709,
+ 12664: 0x5A92,
+ 12665: 0x9541,
+ 12666: 0x6BCF,
+ 12667: 0x7F8E,
+ 12668: 0x6627,
+ 12669: 0x5BD0,
+ 12670: 0x59B9,
+ 12671: 0x5A9A,
+ 12672: 0x95E8,
+ 12673: 0x95F7,
+ 12674: 0x4EEC,
+ 12675: 0x840C,
+ 12676: 0x8499,
+ 12677: 0x6AAC,
+ 12678: 0x76DF,
+ 12679: 0x9530,
+ 12680: 0x731B,
+ 12681: 0x68A6,
+ 12682: 0x5B5F,
+ 12683: 0x772F,
+ 12684: 0x919A,
+ 12685: 0x9761,
+ 12686: 0x7CDC,
+ 12687: 0x8FF7,
+ 12688: 0x8C1C,
+ 12689: 0x5F25,
+ 12690: 0x7C73,
+ 12691: 0x79D8,
+ 12692: 0x89C5,
+ 12693: 0x6CCC,
+ 12694: 0x871C,
+ 12695: 0x5BC6,
+ 12696: 0x5E42,
+ 12697: 0x68C9,
+ 12698: 0x7720,
+ 12699: 0x7EF5,
+ 12700: 0x5195,
+ 12701: 0x514D,
+ 12702: 0x52C9,
+ 12703: 0x5A29,
+ 12704: 0x7F05,
+ 12705: 0x9762,
+ 12706: 0x82D7,
+ 12707: 0x63CF,
+ 12708: 0x7784,
+ 12709: 0x85D0,
+ 12710: 0x79D2,
+ 12711: 0x6E3A,
+ 12712: 0x5E99,
+ 12713: 0x5999,
+ 12714: 0x8511,
+ 12715: 0x706D,
+ 12716: 0x6C11,
+ 12717: 0x62BF,
+ 12718: 0x76BF,
+ 12719: 0x654F,
+ 12720: 0x60AF,
+ 12721: 0x95FD,
+ 12722: 0x660E,
+ 12723: 0x879F,
+ 12724: 0x9E23,
+ 12725: 0x94ED,
+ 12726: 0x540D,
+ 12727: 0x547D,
+ 12728: 0x8C2C,
+ 12729: 0x6478,
+ 12730: 0x8140,
+ 12731: 0x8141,
+ 12732: 0x8142,
+ 12733: 0x8143,
+ 12734: 0x8144,
+ 12735: 0x8145,
+ 12736: 0x8147,
+ 12737: 0x8149,
+ 12738: 0x814D,
+ 12739: 0x814E,
+ 12740: 0x814F,
+ 12741: 0x8152,
+ 12742: 0x8156,
+ 12743: 0x8157,
+ 12744: 0x8158,
+ 12745: 0x815B,
+ 12746: 0x815C,
+ 12747: 0x815D,
+ 12748: 0x815E,
+ 12749: 0x815F,
+ 12750: 0x8161,
+ 12751: 0x8162,
+ 12752: 0x8163,
+ 12753: 0x8164,
+ 12754: 0x8166,
+ 12755: 0x8168,
+ 12756: 0x816A,
+ 12757: 0x816B,
+ 12758: 0x816C,
+ 12759: 0x816F,
+ 12760: 0x8172,
+ 12761: 0x8173,
+ 12762: 0x8175,
+ 12763: 0x8176,
+ 12764: 0x8177,
+ 12765: 0x8178,
+ 12766: 0x8181,
+ 12767: 0x8183,
+ 12768: 0x8184,
+ 12769: 0x8185,
+ 12770: 0x8186,
+ 12771: 0x8187,
+ 12772: 0x8189,
+ 12773: 0x818B,
+ 12774: 0x818C,
+ 12775: 0x818D,
+ 12776: 0x818E,
+ 12777: 0x8190,
+ 12778: 0x8192,
+ 12779: 0x8193,
+ 12780: 0x8194,
+ 12781: 0x8195,
+ 12782: 0x8196,
+ 12783: 0x8197,
+ 12784: 0x8199,
+ 12785: 0x819A,
+ 12786: 0x819E,
+ 12787: 0x819F,
+ 12788: 0x81A0,
+ 12789: 0x81A1,
+ 12790: 0x81A2,
+ 12791: 0x81A4,
+ 12792: 0x81A5,
+ 12793: 0x81A7,
+ 12794: 0x81A9,
+ 12795: 0x81AB,
+ 12796: 0x81AC,
+ 12797: 0x81AD,
+ 12798: 0x81AE,
+ 12799: 0x81AF,
+ 12800: 0x81B0,
+ 12801: 0x81B1,
+ 12802: 0x81B2,
+ 12803: 0x81B4,
+ 12804: 0x81B5,
+ 12805: 0x81B6,
+ 12806: 0x81B7,
+ 12807: 0x81B8,
+ 12808: 0x81B9,
+ 12809: 0x81BC,
+ 12810: 0x81BD,
+ 12811: 0x81BE,
+ 12812: 0x81BF,
+ 12813: 0x81C4,
+ 12814: 0x81C5,
+ 12815: 0x81C7,
+ 12816: 0x81C8,
+ 12817: 0x81C9,
+ 12818: 0x81CB,
+ 12819: 0x81CD,
+ 12820: 0x81CE,
+ 12821: 0x81CF,
+ 12822: 0x81D0,
+ 12823: 0x81D1,
+ 12824: 0x81D2,
+ 12825: 0x81D3,
+ 12826: 0x6479,
+ 12827: 0x8611,
+ 12828: 0x6A21,
+ 12829: 0x819C,
+ 12830: 0x78E8,
+ 12831: 0x6469,
+ 12832: 0x9B54,
+ 12833: 0x62B9,
+ 12834: 0x672B,
+ 12835: 0x83AB,
+ 12836: 0x58A8,
+ 12837: 0x9ED8,
+ 12838: 0x6CAB,
+ 12839: 0x6F20,
+ 12840: 0x5BDE,
+ 12841: 0x964C,
+ 12842: 0x8C0B,
+ 12843: 0x725F,
+ 12844: 0x67D0,
+ 12845: 0x62C7,
+ 12846: 0x7261,
+ 12847: 0x4EA9,
+ 12848: 0x59C6,
+ 12849: 0x6BCD,
+ 12850: 0x5893,
+ 12851: 0x66AE,
+ 12852: 0x5E55,
+ 12853: 0x52DF,
+ 12854: 0x6155,
+ 12855: 0x6728,
+ 12856: 0x76EE,
+ 12857: 0x7766,
+ 12858: 0x7267,
+ 12859: 0x7A46,
+ 12860: 0x62FF,
+ 12861: 0x54EA,
+ 12862: 0x5450,
+ 12863: 0x94A0,
+ 12864: 0x90A3,
+ 12865: 0x5A1C,
+ 12866: 0x7EB3,
+ 12867: 0x6C16,
+ 12868: 0x4E43,
+ 12869: 0x5976,
+ 12870: 0x8010,
+ 12871: 0x5948,
+ 12872: 0x5357,
+ 12873: 0x7537,
+ 12874: 0x96BE,
+ 12875: 0x56CA,
+ 12876: 0x6320,
+ 12877: 0x8111,
+ 12878: 0x607C,
+ 12879: 0x95F9,
+ 12880: 0x6DD6,
+ 12881: 0x5462,
+ 12882: 0x9981,
+ 12883: 0x5185,
+ 12884: 0x5AE9,
+ 12885: 0x80FD,
+ 12886: 0x59AE,
+ 12887: 0x9713,
+ 12888: 0x502A,
+ 12889: 0x6CE5,
+ 12890: 0x5C3C,
+ 12891: 0x62DF,
+ 12892: 0x4F60,
+ 12893: 0x533F,
+ 12894: 0x817B,
+ 12895: 0x9006,
+ 12896: 0x6EBA,
+ 12897: 0x852B,
+ 12898: 0x62C8,
+ 12899: 0x5E74,
+ 12900: 0x78BE,
+ 12901: 0x64B5,
+ 12902: 0x637B,
+ 12903: 0x5FF5,
+ 12904: 0x5A18,
+ 12905: 0x917F,
+ 12906: 0x9E1F,
+ 12907: 0x5C3F,
+ 12908: 0x634F,
+ 12909: 0x8042,
+ 12910: 0x5B7D,
+ 12911: 0x556E,
+ 12912: 0x954A,
+ 12913: 0x954D,
+ 12914: 0x6D85,
+ 12915: 0x60A8,
+ 12916: 0x67E0,
+ 12917: 0x72DE,
+ 12918: 0x51DD,
+ 12919: 0x5B81,
+ 12920: 0x81D4,
+ 12921: 0x81D5,
+ 12922: 0x81D6,
+ 12923: 0x81D7,
+ 12924: 0x81D8,
+ 12925: 0x81D9,
+ 12926: 0x81DA,
+ 12927: 0x81DB,
+ 12928: 0x81DC,
+ 12929: 0x81DD,
+ 12930: 0x81DE,
+ 12931: 0x81DF,
+ 12932: 0x81E0,
+ 12933: 0x81E1,
+ 12934: 0x81E2,
+ 12935: 0x81E4,
+ 12936: 0x81E5,
+ 12937: 0x81E6,
+ 12938: 0x81E8,
+ 12939: 0x81E9,
+ 12940: 0x81EB,
+ 12941: 0x81EE,
+ 12942: 0x81EF,
+ 12943: 0x81F0,
+ 12944: 0x81F1,
+ 12945: 0x81F2,
+ 12946: 0x81F5,
+ 12947: 0x81F6,
+ 12948: 0x81F7,
+ 12949: 0x81F8,
+ 12950: 0x81F9,
+ 12951: 0x81FA,
+ 12952: 0x81FD,
+ 12953: 0x81FF,
+ 12954: 0x8203,
+ 12955: 0x8207,
+ 12956: 0x8208,
+ 12957: 0x8209,
+ 12958: 0x820A,
+ 12959: 0x820B,
+ 12960: 0x820E,
+ 12961: 0x820F,
+ 12962: 0x8211,
+ 12963: 0x8213,
+ 12964: 0x8215,
+ 12965: 0x8216,
+ 12966: 0x8217,
+ 12967: 0x8218,
+ 12968: 0x8219,
+ 12969: 0x821A,
+ 12970: 0x821D,
+ 12971: 0x8220,
+ 12972: 0x8224,
+ 12973: 0x8225,
+ 12974: 0x8226,
+ 12975: 0x8227,
+ 12976: 0x8229,
+ 12977: 0x822E,
+ 12978: 0x8232,
+ 12979: 0x823A,
+ 12980: 0x823C,
+ 12981: 0x823D,
+ 12982: 0x823F,
+ 12983: 0x8240,
+ 12984: 0x8241,
+ 12985: 0x8242,
+ 12986: 0x8243,
+ 12987: 0x8245,
+ 12988: 0x8246,
+ 12989: 0x8248,
+ 12990: 0x824A,
+ 12991: 0x824C,
+ 12992: 0x824D,
+ 12993: 0x824E,
+ 12994: 0x8250,
+ 12995: 0x8251,
+ 12996: 0x8252,
+ 12997: 0x8253,
+ 12998: 0x8254,
+ 12999: 0x8255,
+ 13000: 0x8256,
+ 13001: 0x8257,
+ 13002: 0x8259,
+ 13003: 0x825B,
+ 13004: 0x825C,
+ 13005: 0x825D,
+ 13006: 0x825E,
+ 13007: 0x8260,
+ 13008: 0x8261,
+ 13009: 0x8262,
+ 13010: 0x8263,
+ 13011: 0x8264,
+ 13012: 0x8265,
+ 13013: 0x8266,
+ 13014: 0x8267,
+ 13015: 0x8269,
+ 13016: 0x62E7,
+ 13017: 0x6CDE,
+ 13018: 0x725B,
+ 13019: 0x626D,
+ 13020: 0x94AE,
+ 13021: 0x7EBD,
+ 13022: 0x8113,
+ 13023: 0x6D53,
+ 13024: 0x519C,
+ 13025: 0x5F04,
+ 13026: 0x5974,
+ 13027: 0x52AA,
+ 13028: 0x6012,
+ 13029: 0x5973,
+ 13030: 0x6696,
+ 13031: 0x8650,
+ 13032: 0x759F,
+ 13033: 0x632A,
+ 13034: 0x61E6,
+ 13035: 0x7CEF,
+ 13036: 0x8BFA,
+ 13037: 0x54E6,
+ 13038: 0x6B27,
+ 13039: 0x9E25,
+ 13040: 0x6BB4,
+ 13041: 0x85D5,
+ 13042: 0x5455,
+ 13043: 0x5076,
+ 13044: 0x6CA4,
+ 13045: 0x556A,
+ 13046: 0x8DB4,
+ 13047: 0x722C,
+ 13048: 0x5E15,
+ 13049: 0x6015,
+ 13050: 0x7436,
+ 13051: 0x62CD,
+ 13052: 0x6392,
+ 13053: 0x724C,
+ 13054: 0x5F98,
+ 13055: 0x6E43,
+ 13056: 0x6D3E,
+ 13057: 0x6500,
+ 13058: 0x6F58,
+ 13059: 0x76D8,
+ 13060: 0x78D0,
+ 13061: 0x76FC,
+ 13062: 0x7554,
+ 13063: 0x5224,
+ 13064: 0x53DB,
+ 13065: 0x4E53,
+ 13066: 0x5E9E,
+ 13067: 0x65C1,
+ 13068: 0x802A,
+ 13069: 0x80D6,
+ 13070: 0x629B,
+ 13071: 0x5486,
+ 13072: 0x5228,
+ 13073: 0x70AE,
+ 13074: 0x888D,
+ 13075: 0x8DD1,
+ 13076: 0x6CE1,
+ 13077: 0x5478,
+ 13078: 0x80DA,
+ 13079: 0x57F9,
+ 13080: 0x88F4,
+ 13081: 0x8D54,
+ 13082: 0x966A,
+ 13083: 0x914D,
+ 13084: 0x4F69,
+ 13085: 0x6C9B,
+ 13086: 0x55B7,
+ 13087: 0x76C6,
+ 13088: 0x7830,
+ 13089: 0x62A8,
+ 13090: 0x70F9,
+ 13091: 0x6F8E,
+ 13092: 0x5F6D,
+ 13093: 0x84EC,
+ 13094: 0x68DA,
+ 13095: 0x787C,
+ 13096: 0x7BF7,
+ 13097: 0x81A8,
+ 13098: 0x670B,
+ 13099: 0x9E4F,
+ 13100: 0x6367,
+ 13101: 0x78B0,
+ 13102: 0x576F,
+ 13103: 0x7812,
+ 13104: 0x9739,
+ 13105: 0x6279,
+ 13106: 0x62AB,
+ 13107: 0x5288,
+ 13108: 0x7435,
+ 13109: 0x6BD7,
+ 13110: 0x826A,
+ 13111: 0x826B,
+ 13112: 0x826C,
+ 13113: 0x826D,
+ 13114: 0x8271,
+ 13115: 0x8275,
+ 13116: 0x8276,
+ 13117: 0x8277,
+ 13118: 0x8278,
+ 13119: 0x827B,
+ 13120: 0x827C,
+ 13121: 0x8280,
+ 13122: 0x8281,
+ 13123: 0x8283,
+ 13124: 0x8285,
+ 13125: 0x8286,
+ 13126: 0x8287,
+ 13127: 0x8289,
+ 13128: 0x828C,
+ 13129: 0x8290,
+ 13130: 0x8293,
+ 13131: 0x8294,
+ 13132: 0x8295,
+ 13133: 0x8296,
+ 13134: 0x829A,
+ 13135: 0x829B,
+ 13136: 0x829E,
+ 13137: 0x82A0,
+ 13138: 0x82A2,
+ 13139: 0x82A3,
+ 13140: 0x82A7,
+ 13141: 0x82B2,
+ 13142: 0x82B5,
+ 13143: 0x82B6,
+ 13144: 0x82BA,
+ 13145: 0x82BB,
+ 13146: 0x82BC,
+ 13147: 0x82BF,
+ 13148: 0x82C0,
+ 13149: 0x82C2,
+ 13150: 0x82C3,
+ 13151: 0x82C5,
+ 13152: 0x82C6,
+ 13153: 0x82C9,
+ 13154: 0x82D0,
+ 13155: 0x82D6,
+ 13156: 0x82D9,
+ 13157: 0x82DA,
+ 13158: 0x82DD,
+ 13159: 0x82E2,
+ 13160: 0x82E7,
+ 13161: 0x82E8,
+ 13162: 0x82E9,
+ 13163: 0x82EA,
+ 13164: 0x82EC,
+ 13165: 0x82ED,
+ 13166: 0x82EE,
+ 13167: 0x82F0,
+ 13168: 0x82F2,
+ 13169: 0x82F3,
+ 13170: 0x82F5,
+ 13171: 0x82F6,
+ 13172: 0x82F8,
+ 13173: 0x82FA,
+ 13174: 0x82FC,
+ 13175: 0x82FD,
+ 13176: 0x82FE,
+ 13177: 0x82FF,
+ 13178: 0x8300,
+ 13179: 0x830A,
+ 13180: 0x830B,
+ 13181: 0x830D,
+ 13182: 0x8310,
+ 13183: 0x8312,
+ 13184: 0x8313,
+ 13185: 0x8316,
+ 13186: 0x8318,
+ 13187: 0x8319,
+ 13188: 0x831D,
+ 13189: 0x831E,
+ 13190: 0x831F,
+ 13191: 0x8320,
+ 13192: 0x8321,
+ 13193: 0x8322,
+ 13194: 0x8323,
+ 13195: 0x8324,
+ 13196: 0x8325,
+ 13197: 0x8326,
+ 13198: 0x8329,
+ 13199: 0x832A,
+ 13200: 0x832E,
+ 13201: 0x8330,
+ 13202: 0x8332,
+ 13203: 0x8337,
+ 13204: 0x833B,
+ 13205: 0x833D,
+ 13206: 0x5564,
+ 13207: 0x813E,
+ 13208: 0x75B2,
+ 13209: 0x76AE,
+ 13210: 0x5339,
+ 13211: 0x75DE,
+ 13212: 0x50FB,
+ 13213: 0x5C41,
+ 13214: 0x8B6C,
+ 13215: 0x7BC7,
+ 13216: 0x504F,
+ 13217: 0x7247,
+ 13218: 0x9A97,
+ 13219: 0x98D8,
+ 13220: 0x6F02,
+ 13221: 0x74E2,
+ 13222: 0x7968,
+ 13223: 0x6487,
+ 13224: 0x77A5,
+ 13225: 0x62FC,
+ 13226: 0x9891,
+ 13227: 0x8D2B,
+ 13228: 0x54C1,
+ 13229: 0x8058,
+ 13230: 0x4E52,
+ 13231: 0x576A,
+ 13232: 0x82F9,
+ 13233: 0x840D,
+ 13234: 0x5E73,
+ 13235: 0x51ED,
+ 13236: 0x74F6,
+ 13237: 0x8BC4,
+ 13238: 0x5C4F,
+ 13239: 0x5761,
+ 13240: 0x6CFC,
+ 13241: 0x9887,
+ 13242: 0x5A46,
+ 13243: 0x7834,
+ 13244: 0x9B44,
+ 13245: 0x8FEB,
+ 13246: 0x7C95,
+ 13247: 0x5256,
+ 13248: 0x6251,
+ 13249: 0x94FA,
+ 13250: 0x4EC6,
+ 13251: 0x8386,
+ 13252: 0x8461,
+ 13253: 0x83E9,
+ 13254: 0x84B2,
+ 13255: 0x57D4,
+ 13256: 0x6734,
+ 13257: 0x5703,
+ 13258: 0x666E,
+ 13259: 0x6D66,
+ 13260: 0x8C31,
+ 13261: 0x66DD,
+ 13262: 0x7011,
+ 13263: 0x671F,
+ 13264: 0x6B3A,
+ 13265: 0x6816,
+ 13266: 0x621A,
+ 13267: 0x59BB,
+ 13268: 0x4E03,
+ 13269: 0x51C4,
+ 13270: 0x6F06,
+ 13271: 0x67D2,
+ 13272: 0x6C8F,
+ 13273: 0x5176,
+ 13274: 0x68CB,
+ 13275: 0x5947,
+ 13276: 0x6B67,
+ 13277: 0x7566,
+ 13278: 0x5D0E,
+ 13279: 0x8110,
+ 13280: 0x9F50,
+ 13281: 0x65D7,
+ 13282: 0x7948,
+ 13283: 0x7941,
+ 13284: 0x9A91,
+ 13285: 0x8D77,
+ 13286: 0x5C82,
+ 13287: 0x4E5E,
+ 13288: 0x4F01,
+ 13289: 0x542F,
+ 13290: 0x5951,
+ 13291: 0x780C,
+ 13292: 0x5668,
+ 13293: 0x6C14,
+ 13294: 0x8FC4,
+ 13295: 0x5F03,
+ 13296: 0x6C7D,
+ 13297: 0x6CE3,
+ 13298: 0x8BAB,
+ 13299: 0x6390,
+ 13300: 0x833E,
+ 13301: 0x833F,
+ 13302: 0x8341,
+ 13303: 0x8342,
+ 13304: 0x8344,
+ 13305: 0x8345,
+ 13306: 0x8348,
+ 13307: 0x834A,
+ 13308: 0x834B,
+ 13309: 0x834C,
+ 13310: 0x834D,
+ 13311: 0x834E,
+ 13312: 0x8353,
+ 13313: 0x8355,
+ 13314: 0x8356,
+ 13315: 0x8357,
+ 13316: 0x8358,
+ 13317: 0x8359,
+ 13318: 0x835D,
+ 13319: 0x8362,
+ 13320: 0x8370,
+ 13321: 0x8371,
+ 13322: 0x8372,
+ 13323: 0x8373,
+ 13324: 0x8374,
+ 13325: 0x8375,
+ 13326: 0x8376,
+ 13327: 0x8379,
+ 13328: 0x837A,
+ 13329: 0x837E,
+ 13330: 0x837F,
+ 13331: 0x8380,
+ 13332: 0x8381,
+ 13333: 0x8382,
+ 13334: 0x8383,
+ 13335: 0x8384,
+ 13336: 0x8387,
+ 13337: 0x8388,
+ 13338: 0x838A,
+ 13339: 0x838B,
+ 13340: 0x838C,
+ 13341: 0x838D,
+ 13342: 0x838F,
+ 13343: 0x8390,
+ 13344: 0x8391,
+ 13345: 0x8394,
+ 13346: 0x8395,
+ 13347: 0x8396,
+ 13348: 0x8397,
+ 13349: 0x8399,
+ 13350: 0x839A,
+ 13351: 0x839D,
+ 13352: 0x839F,
+ 13353: 0x83A1,
+ 13354: 0x83A2,
+ 13355: 0x83A3,
+ 13356: 0x83A4,
+ 13357: 0x83A5,
+ 13358: 0x83A6,
+ 13359: 0x83A7,
+ 13360: 0x83AC,
+ 13361: 0x83AD,
+ 13362: 0x83AE,
+ 13363: 0x83AF,
+ 13364: 0x83B5,
+ 13365: 0x83BB,
+ 13366: 0x83BE,
+ 13367: 0x83BF,
+ 13368: 0x83C2,
+ 13369: 0x83C3,
+ 13370: 0x83C4,
+ 13371: 0x83C6,
+ 13372: 0x83C8,
+ 13373: 0x83C9,
+ 13374: 0x83CB,
+ 13375: 0x83CD,
+ 13376: 0x83CE,
+ 13377: 0x83D0,
+ 13378: 0x83D1,
+ 13379: 0x83D2,
+ 13380: 0x83D3,
+ 13381: 0x83D5,
+ 13382: 0x83D7,
+ 13383: 0x83D9,
+ 13384: 0x83DA,
+ 13385: 0x83DB,
+ 13386: 0x83DE,
+ 13387: 0x83E2,
+ 13388: 0x83E3,
+ 13389: 0x83E4,
+ 13390: 0x83E6,
+ 13391: 0x83E7,
+ 13392: 0x83E8,
+ 13393: 0x83EB,
+ 13394: 0x83EC,
+ 13395: 0x83ED,
+ 13396: 0x6070,
+ 13397: 0x6D3D,
+ 13398: 0x7275,
+ 13399: 0x6266,
+ 13400: 0x948E,
+ 13401: 0x94C5,
+ 13402: 0x5343,
+ 13403: 0x8FC1,
+ 13404: 0x7B7E,
+ 13405: 0x4EDF,
+ 13406: 0x8C26,
+ 13407: 0x4E7E,
+ 13408: 0x9ED4,
+ 13409: 0x94B1,
+ 13410: 0x94B3,
+ 13411: 0x524D,
+ 13412: 0x6F5C,
+ 13413: 0x9063,
+ 13414: 0x6D45,
+ 13415: 0x8C34,
+ 13416: 0x5811,
+ 13417: 0x5D4C,
+ 13418: 0x6B20,
+ 13419: 0x6B49,
+ 13420: 0x67AA,
+ 13421: 0x545B,
+ 13422: 0x8154,
+ 13423: 0x7F8C,
+ 13424: 0x5899,
+ 13425: 0x8537,
+ 13426: 0x5F3A,
+ 13427: 0x62A2,
+ 13428: 0x6A47,
+ 13429: 0x9539,
+ 13430: 0x6572,
+ 13431: 0x6084,
+ 13432: 0x6865,
+ 13433: 0x77A7,
+ 13434: 0x4E54,
+ 13435: 0x4FA8,
+ 13436: 0x5DE7,
+ 13437: 0x9798,
+ 13438: 0x64AC,
+ 13439: 0x7FD8,
+ 13440: 0x5CED,
+ 13441: 0x4FCF,
+ 13442: 0x7A8D,
+ 13443: 0x5207,
+ 13444: 0x8304,
+ 13445: 0x4E14,
+ 13446: 0x602F,
+ 13447: 0x7A83,
+ 13448: 0x94A6,
+ 13449: 0x4FB5,
+ 13450: 0x4EB2,
+ 13451: 0x79E6,
+ 13452: 0x7434,
+ 13453: 0x52E4,
+ 13454: 0x82B9,
+ 13455: 0x64D2,
+ 13456: 0x79BD,
+ 13457: 0x5BDD,
+ 13458: 0x6C81,
+ 13459: 0x9752,
+ 13460: 0x8F7B,
+ 13461: 0x6C22,
+ 13462: 0x503E,
+ 13463: 0x537F,
+ 13464: 0x6E05,
+ 13465: 0x64CE,
+ 13466: 0x6674,
+ 13467: 0x6C30,
+ 13468: 0x60C5,
+ 13469: 0x9877,
+ 13470: 0x8BF7,
+ 13471: 0x5E86,
+ 13472: 0x743C,
+ 13473: 0x7A77,
+ 13474: 0x79CB,
+ 13475: 0x4E18,
+ 13476: 0x90B1,
+ 13477: 0x7403,
+ 13478: 0x6C42,
+ 13479: 0x56DA,
+ 13480: 0x914B,
+ 13481: 0x6CC5,
+ 13482: 0x8D8B,
+ 13483: 0x533A,
+ 13484: 0x86C6,
+ 13485: 0x66F2,
+ 13486: 0x8EAF,
+ 13487: 0x5C48,
+ 13488: 0x9A71,
+ 13489: 0x6E20,
+ 13490: 0x83EE,
+ 13491: 0x83EF,
+ 13492: 0x83F3,
+ 13493: 0x83F4,
+ 13494: 0x83F5,
+ 13495: 0x83F6,
+ 13496: 0x83F7,
+ 13497: 0x83FA,
+ 13498: 0x83FB,
+ 13499: 0x83FC,
+ 13500: 0x83FE,
+ 13501: 0x83FF,
+ 13502: 0x8400,
+ 13503: 0x8402,
+ 13504: 0x8405,
+ 13505: 0x8407,
+ 13506: 0x8408,
+ 13507: 0x8409,
+ 13508: 0x840A,
+ 13509: 0x8410,
+ 13510: 0x8412,
+ 13511: 0x8413,
+ 13512: 0x8414,
+ 13513: 0x8415,
+ 13514: 0x8416,
+ 13515: 0x8417,
+ 13516: 0x8419,
+ 13517: 0x841A,
+ 13518: 0x841B,
+ 13519: 0x841E,
+ 13520: 0x841F,
+ 13521: 0x8420,
+ 13522: 0x8421,
+ 13523: 0x8422,
+ 13524: 0x8423,
+ 13525: 0x8429,
+ 13526: 0x842A,
+ 13527: 0x842B,
+ 13528: 0x842C,
+ 13529: 0x842D,
+ 13530: 0x842E,
+ 13531: 0x842F,
+ 13532: 0x8430,
+ 13533: 0x8432,
+ 13534: 0x8433,
+ 13535: 0x8434,
+ 13536: 0x8435,
+ 13537: 0x8436,
+ 13538: 0x8437,
+ 13539: 0x8439,
+ 13540: 0x843A,
+ 13541: 0x843B,
+ 13542: 0x843E,
+ 13543: 0x843F,
+ 13544: 0x8440,
+ 13545: 0x8441,
+ 13546: 0x8442,
+ 13547: 0x8443,
+ 13548: 0x8444,
+ 13549: 0x8445,
+ 13550: 0x8447,
+ 13551: 0x8448,
+ 13552: 0x8449,
+ 13553: 0x844A,
+ 13554: 0x844B,
+ 13555: 0x844C,
+ 13556: 0x844D,
+ 13557: 0x844E,
+ 13558: 0x844F,
+ 13559: 0x8450,
+ 13560: 0x8452,
+ 13561: 0x8453,
+ 13562: 0x8454,
+ 13563: 0x8455,
+ 13564: 0x8456,
+ 13565: 0x8458,
+ 13566: 0x845D,
+ 13567: 0x845E,
+ 13568: 0x845F,
+ 13569: 0x8460,
+ 13570: 0x8462,
+ 13571: 0x8464,
+ 13572: 0x8465,
+ 13573: 0x8466,
+ 13574: 0x8467,
+ 13575: 0x8468,
+ 13576: 0x846A,
+ 13577: 0x846E,
+ 13578: 0x846F,
+ 13579: 0x8470,
+ 13580: 0x8472,
+ 13581: 0x8474,
+ 13582: 0x8477,
+ 13583: 0x8479,
+ 13584: 0x847B,
+ 13585: 0x847C,
+ 13586: 0x53D6,
+ 13587: 0x5A36,
+ 13588: 0x9F8B,
+ 13589: 0x8DA3,
+ 13590: 0x53BB,
+ 13591: 0x5708,
+ 13592: 0x98A7,
+ 13593: 0x6743,
+ 13594: 0x919B,
+ 13595: 0x6CC9,
+ 13596: 0x5168,
+ 13597: 0x75CA,
+ 13598: 0x62F3,
+ 13599: 0x72AC,
+ 13600: 0x5238,
+ 13601: 0x529D,
+ 13602: 0x7F3A,
+ 13603: 0x7094,
+ 13604: 0x7638,
+ 13605: 0x5374,
+ 13606: 0x9E4A,
+ 13607: 0x69B7,
+ 13608: 0x786E,
+ 13609: 0x96C0,
+ 13610: 0x88D9,
+ 13611: 0x7FA4,
+ 13612: 0x7136,
+ 13613: 0x71C3,
+ 13614: 0x5189,
+ 13615: 0x67D3,
+ 13616: 0x74E4,
+ 13617: 0x58E4,
+ 13618: 0x6518,
+ 13619: 0x56B7,
+ 13620: 0x8BA9,
+ 13621: 0x9976,
+ 13622: 0x6270,
+ 13623: 0x7ED5,
+ 13624: 0x60F9,
+ 13625: 0x70ED,
+ 13626: 0x58EC,
+ 13627: 0x4EC1,
+ 13628: 0x4EBA,
+ 13629: 0x5FCD,
+ 13630: 0x97E7,
+ 13631: 0x4EFB,
+ 13632: 0x8BA4,
+ 13633: 0x5203,
+ 13634: 0x598A,
+ 13635: 0x7EAB,
+ 13636: 0x6254,
+ 13637: 0x4ECD,
+ 13638: 0x65E5,
+ 13639: 0x620E,
+ 13640: 0x8338,
+ 13641: 0x84C9,
+ 13642: 0x8363,
+ 13643: 0x878D,
+ 13644: 0x7194,
+ 13645: 0x6EB6,
+ 13646: 0x5BB9,
+ 13647: 0x7ED2,
+ 13648: 0x5197,
+ 13649: 0x63C9,
+ 13650: 0x67D4,
+ 13651: 0x8089,
+ 13652: 0x8339,
+ 13653: 0x8815,
+ 13654: 0x5112,
+ 13655: 0x5B7A,
+ 13656: 0x5982,
+ 13657: 0x8FB1,
+ 13658: 0x4E73,
+ 13659: 0x6C5D,
+ 13660: 0x5165,
+ 13661: 0x8925,
+ 13662: 0x8F6F,
+ 13663: 0x962E,
+ 13664: 0x854A,
+ 13665: 0x745E,
+ 13666: 0x9510,
+ 13667: 0x95F0,
+ 13668: 0x6DA6,
+ 13669: 0x82E5,
+ 13670: 0x5F31,
+ 13671: 0x6492,
+ 13672: 0x6D12,
+ 13673: 0x8428,
+ 13674: 0x816E,
+ 13675: 0x9CC3,
+ 13676: 0x585E,
+ 13677: 0x8D5B,
+ 13678: 0x4E09,
+ 13679: 0x53C1,
+ 13680: 0x847D,
+ 13681: 0x847E,
+ 13682: 0x847F,
+ 13683: 0x8480,
+ 13684: 0x8481,
+ 13685: 0x8483,
+ 13686: 0x8484,
+ 13687: 0x8485,
+ 13688: 0x8486,
+ 13689: 0x848A,
+ 13690: 0x848D,
+ 13691: 0x848F,
+ 13692: 0x8490,
+ 13693: 0x8491,
+ 13694: 0x8492,
+ 13695: 0x8493,
+ 13696: 0x8494,
+ 13697: 0x8495,
+ 13698: 0x8496,
+ 13699: 0x8498,
+ 13700: 0x849A,
+ 13701: 0x849B,
+ 13702: 0x849D,
+ 13703: 0x849E,
+ 13704: 0x849F,
+ 13705: 0x84A0,
+ 13706: 0x84A2,
+ 13707: 0x84A3,
+ 13708: 0x84A4,
+ 13709: 0x84A5,
+ 13710: 0x84A6,
+ 13711: 0x84A7,
+ 13712: 0x84A8,
+ 13713: 0x84A9,
+ 13714: 0x84AA,
+ 13715: 0x84AB,
+ 13716: 0x84AC,
+ 13717: 0x84AD,
+ 13718: 0x84AE,
+ 13719: 0x84B0,
+ 13720: 0x84B1,
+ 13721: 0x84B3,
+ 13722: 0x84B5,
+ 13723: 0x84B6,
+ 13724: 0x84B7,
+ 13725: 0x84BB,
+ 13726: 0x84BC,
+ 13727: 0x84BE,
+ 13728: 0x84C0,
+ 13729: 0x84C2,
+ 13730: 0x84C3,
+ 13731: 0x84C5,
+ 13732: 0x84C6,
+ 13733: 0x84C7,
+ 13734: 0x84C8,
+ 13735: 0x84CB,
+ 13736: 0x84CC,
+ 13737: 0x84CE,
+ 13738: 0x84CF,
+ 13739: 0x84D2,
+ 13740: 0x84D4,
+ 13741: 0x84D5,
+ 13742: 0x84D7,
+ 13743: 0x84D8,
+ 13744: 0x84D9,
+ 13745: 0x84DA,
+ 13746: 0x84DB,
+ 13747: 0x84DC,
+ 13748: 0x84DE,
+ 13749: 0x84E1,
+ 13750: 0x84E2,
+ 13751: 0x84E4,
+ 13752: 0x84E7,
+ 13753: 0x84E8,
+ 13754: 0x84E9,
+ 13755: 0x84EA,
+ 13756: 0x84EB,
+ 13757: 0x84ED,
+ 13758: 0x84EE,
+ 13759: 0x84EF,
+ 13760: 0x84F1,
+ 13761: 0x84F2,
+ 13762: 0x84F3,
+ 13763: 0x84F4,
+ 13764: 0x84F5,
+ 13765: 0x84F6,
+ 13766: 0x84F7,
+ 13767: 0x84F8,
+ 13768: 0x84F9,
+ 13769: 0x84FA,
+ 13770: 0x84FB,
+ 13771: 0x84FD,
+ 13772: 0x84FE,
+ 13773: 0x8500,
+ 13774: 0x8501,
+ 13775: 0x8502,
+ 13776: 0x4F1E,
+ 13777: 0x6563,
+ 13778: 0x6851,
+ 13779: 0x55D3,
+ 13780: 0x4E27,
+ 13781: 0x6414,
+ 13782: 0x9A9A,
+ 13783: 0x626B,
+ 13784: 0x5AC2,
+ 13785: 0x745F,
+ 13786: 0x8272,
+ 13787: 0x6DA9,
+ 13788: 0x68EE,
+ 13789: 0x50E7,
+ 13790: 0x838E,
+ 13791: 0x7802,
+ 13792: 0x6740,
+ 13793: 0x5239,
+ 13794: 0x6C99,
+ 13795: 0x7EB1,
+ 13796: 0x50BB,
+ 13797: 0x5565,
+ 13798: 0x715E,
+ 13799: 0x7B5B,
+ 13800: 0x6652,
+ 13801: 0x73CA,
+ 13802: 0x82EB,
+ 13803: 0x6749,
+ 13804: 0x5C71,
+ 13805: 0x5220,
+ 13806: 0x717D,
+ 13807: 0x886B,
+ 13808: 0x95EA,
+ 13809: 0x9655,
+ 13810: 0x64C5,
+ 13811: 0x8D61,
+ 13812: 0x81B3,
+ 13813: 0x5584,
+ 13814: 0x6C55,
+ 13815: 0x6247,
+ 13816: 0x7F2E,
+ 13817: 0x5892,
+ 13818: 0x4F24,
+ 13819: 0x5546,
+ 13820: 0x8D4F,
+ 13821: 0x664C,
+ 13822: 0x4E0A,
+ 13823: 0x5C1A,
+ 13824: 0x88F3,
+ 13825: 0x68A2,
+ 13826: 0x634E,
+ 13827: 0x7A0D,
+ 13828: 0x70E7,
+ 13829: 0x828D,
+ 13830: 0x52FA,
+ 13831: 0x97F6,
+ 13832: 0x5C11,
+ 13833: 0x54E8,
+ 13834: 0x90B5,
+ 13835: 0x7ECD,
+ 13836: 0x5962,
+ 13837: 0x8D4A,
+ 13838: 0x86C7,
+ 13839: 0x820C,
+ 13840: 0x820D,
+ 13841: 0x8D66,
+ 13842: 0x6444,
+ 13843: 0x5C04,
+ 13844: 0x6151,
+ 13845: 0x6D89,
+ 13846: 0x793E,
+ 13847: 0x8BBE,
+ 13848: 0x7837,
+ 13849: 0x7533,
+ 13850: 0x547B,
+ 13851: 0x4F38,
+ 13852: 0x8EAB,
+ 13853: 0x6DF1,
+ 13854: 0x5A20,
+ 13855: 0x7EC5,
+ 13856: 0x795E,
+ 13857: 0x6C88,
+ 13858: 0x5BA1,
+ 13859: 0x5A76,
+ 13860: 0x751A,
+ 13861: 0x80BE,
+ 13862: 0x614E,
+ 13863: 0x6E17,
+ 13864: 0x58F0,
+ 13865: 0x751F,
+ 13866: 0x7525,
+ 13867: 0x7272,
+ 13868: 0x5347,
+ 13869: 0x7EF3,
+ 13870: 0x8503,
+ 13871: 0x8504,
+ 13872: 0x8505,
+ 13873: 0x8506,
+ 13874: 0x8507,
+ 13875: 0x8508,
+ 13876: 0x8509,
+ 13877: 0x850A,
+ 13878: 0x850B,
+ 13879: 0x850D,
+ 13880: 0x850E,
+ 13881: 0x850F,
+ 13882: 0x8510,
+ 13883: 0x8512,
+ 13884: 0x8514,
+ 13885: 0x8515,
+ 13886: 0x8516,
+ 13887: 0x8518,
+ 13888: 0x8519,
+ 13889: 0x851B,
+ 13890: 0x851C,
+ 13891: 0x851D,
+ 13892: 0x851E,
+ 13893: 0x8520,
+ 13894: 0x8522,
+ 13895: 0x8523,
+ 13896: 0x8524,
+ 13897: 0x8525,
+ 13898: 0x8526,
+ 13899: 0x8527,
+ 13900: 0x8528,
+ 13901: 0x8529,
+ 13902: 0x852A,
+ 13903: 0x852D,
+ 13904: 0x852E,
+ 13905: 0x852F,
+ 13906: 0x8530,
+ 13907: 0x8531,
+ 13908: 0x8532,
+ 13909: 0x8533,
+ 13910: 0x8534,
+ 13911: 0x8535,
+ 13912: 0x8536,
+ 13913: 0x853E,
+ 13914: 0x853F,
+ 13915: 0x8540,
+ 13916: 0x8541,
+ 13917: 0x8542,
+ 13918: 0x8544,
+ 13919: 0x8545,
+ 13920: 0x8546,
+ 13921: 0x8547,
+ 13922: 0x854B,
+ 13923: 0x854C,
+ 13924: 0x854D,
+ 13925: 0x854E,
+ 13926: 0x854F,
+ 13927: 0x8550,
+ 13928: 0x8551,
+ 13929: 0x8552,
+ 13930: 0x8553,
+ 13931: 0x8554,
+ 13932: 0x8555,
+ 13933: 0x8557,
+ 13934: 0x8558,
+ 13935: 0x855A,
+ 13936: 0x855B,
+ 13937: 0x855C,
+ 13938: 0x855D,
+ 13939: 0x855F,
+ 13940: 0x8560,
+ 13941: 0x8561,
+ 13942: 0x8562,
+ 13943: 0x8563,
+ 13944: 0x8565,
+ 13945: 0x8566,
+ 13946: 0x8567,
+ 13947: 0x8569,
+ 13948: 0x856A,
+ 13949: 0x856B,
+ 13950: 0x856C,
+ 13951: 0x856D,
+ 13952: 0x856E,
+ 13953: 0x856F,
+ 13954: 0x8570,
+ 13955: 0x8571,
+ 13956: 0x8573,
+ 13957: 0x8575,
+ 13958: 0x8576,
+ 13959: 0x8577,
+ 13960: 0x8578,
+ 13961: 0x857C,
+ 13962: 0x857D,
+ 13963: 0x857F,
+ 13964: 0x8580,
+ 13965: 0x8581,
+ 13966: 0x7701,
+ 13967: 0x76DB,
+ 13968: 0x5269,
+ 13969: 0x80DC,
+ 13970: 0x5723,
+ 13971: 0x5E08,
+ 13972: 0x5931,
+ 13973: 0x72EE,
+ 13974: 0x65BD,
+ 13975: 0x6E7F,
+ 13976: 0x8BD7,
+ 13977: 0x5C38,
+ 13978: 0x8671,
+ 13979: 0x5341,
+ 13980: 0x77F3,
+ 13981: 0x62FE,
+ 13982: 0x65F6,
+ 13983: 0x4EC0,
+ 13984: 0x98DF,
+ 13985: 0x8680,
+ 13986: 0x5B9E,
+ 13987: 0x8BC6,
+ 13988: 0x53F2,
+ 13989: 0x77E2,
+ 13990: 0x4F7F,
+ 13991: 0x5C4E,
+ 13992: 0x9A76,
+ 13993: 0x59CB,
+ 13994: 0x5F0F,
+ 13995: 0x793A,
+ 13996: 0x58EB,
+ 13997: 0x4E16,
+ 13998: 0x67FF,
+ 13999: 0x4E8B,
+ 14000: 0x62ED,
+ 14001: 0x8A93,
+ 14002: 0x901D,
+ 14003: 0x52BF,
+ 14004: 0x662F,
+ 14005: 0x55DC,
+ 14006: 0x566C,
+ 14007: 0x9002,
+ 14008: 0x4ED5,
+ 14009: 0x4F8D,
+ 14010: 0x91CA,
+ 14011: 0x9970,
+ 14012: 0x6C0F,
+ 14013: 0x5E02,
+ 14014: 0x6043,
+ 14015: 0x5BA4,
+ 14016: 0x89C6,
+ 14017: 0x8BD5,
+ 14018: 0x6536,
+ 14019: 0x624B,
+ 14020: 0x9996,
+ 14021: 0x5B88,
+ 14022: 0x5BFF,
+ 14023: 0x6388,
+ 14024: 0x552E,
+ 14025: 0x53D7,
+ 14026: 0x7626,
+ 14027: 0x517D,
+ 14028: 0x852C,
+ 14029: 0x67A2,
+ 14030: 0x68B3,
+ 14031: 0x6B8A,
+ 14032: 0x6292,
+ 14033: 0x8F93,
+ 14034: 0x53D4,
+ 14035: 0x8212,
+ 14036: 0x6DD1,
+ 14037: 0x758F,
+ 14038: 0x4E66,
+ 14039: 0x8D4E,
+ 14040: 0x5B70,
+ 14041: 0x719F,
+ 14042: 0x85AF,
+ 14043: 0x6691,
+ 14044: 0x66D9,
+ 14045: 0x7F72,
+ 14046: 0x8700,
+ 14047: 0x9ECD,
+ 14048: 0x9F20,
+ 14049: 0x5C5E,
+ 14050: 0x672F,
+ 14051: 0x8FF0,
+ 14052: 0x6811,
+ 14053: 0x675F,
+ 14054: 0x620D,
+ 14055: 0x7AD6,
+ 14056: 0x5885,
+ 14057: 0x5EB6,
+ 14058: 0x6570,
+ 14059: 0x6F31,
+ 14060: 0x8582,
+ 14061: 0x8583,
+ 14062: 0x8586,
+ 14063: 0x8588,
+ 14064: 0x8589,
+ 14065: 0x858A,
+ 14066: 0x858B,
+ 14067: 0x858C,
+ 14068: 0x858D,
+ 14069: 0x858E,
+ 14070: 0x8590,
+ 14071: 0x8591,
+ 14072: 0x8592,
+ 14073: 0x8593,
+ 14074: 0x8594,
+ 14075: 0x8595,
+ 14076: 0x8596,
+ 14077: 0x8597,
+ 14078: 0x8598,
+ 14079: 0x8599,
+ 14080: 0x859A,
+ 14081: 0x859D,
+ 14082: 0x859E,
+ 14083: 0x859F,
+ 14084: 0x85A0,
+ 14085: 0x85A1,
+ 14086: 0x85A2,
+ 14087: 0x85A3,
+ 14088: 0x85A5,
+ 14089: 0x85A6,
+ 14090: 0x85A7,
+ 14091: 0x85A9,
+ 14092: 0x85AB,
+ 14093: 0x85AC,
+ 14094: 0x85AD,
+ 14095: 0x85B1,
+ 14096: 0x85B2,
+ 14097: 0x85B3,
+ 14098: 0x85B4,
+ 14099: 0x85B5,
+ 14100: 0x85B6,
+ 14101: 0x85B8,
+ 14102: 0x85BA,
+ 14103: 0x85BB,
+ 14104: 0x85BC,
+ 14105: 0x85BD,
+ 14106: 0x85BE,
+ 14107: 0x85BF,
+ 14108: 0x85C0,
+ 14109: 0x85C2,
+ 14110: 0x85C3,
+ 14111: 0x85C4,
+ 14112: 0x85C5,
+ 14113: 0x85C6,
+ 14114: 0x85C7,
+ 14115: 0x85C8,
+ 14116: 0x85CA,
+ 14117: 0x85CB,
+ 14118: 0x85CC,
+ 14119: 0x85CD,
+ 14120: 0x85CE,
+ 14121: 0x85D1,
+ 14122: 0x85D2,
+ 14123: 0x85D4,
+ 14124: 0x85D6,
+ 14125: 0x85D7,
+ 14126: 0x85D8,
+ 14127: 0x85D9,
+ 14128: 0x85DA,
+ 14129: 0x85DB,
+ 14130: 0x85DD,
+ 14131: 0x85DE,
+ 14132: 0x85DF,
+ 14133: 0x85E0,
+ 14134: 0x85E1,
+ 14135: 0x85E2,
+ 14136: 0x85E3,
+ 14137: 0x85E5,
+ 14138: 0x85E6,
+ 14139: 0x85E7,
+ 14140: 0x85E8,
+ 14141: 0x85EA,
+ 14142: 0x85EB,
+ 14143: 0x85EC,
+ 14144: 0x85ED,
+ 14145: 0x85EE,
+ 14146: 0x85EF,
+ 14147: 0x85F0,
+ 14148: 0x85F1,
+ 14149: 0x85F2,
+ 14150: 0x85F3,
+ 14151: 0x85F4,
+ 14152: 0x85F5,
+ 14153: 0x85F6,
+ 14154: 0x85F7,
+ 14155: 0x85F8,
+ 14156: 0x6055,
+ 14157: 0x5237,
+ 14158: 0x800D,
+ 14159: 0x6454,
+ 14160: 0x8870,
+ 14161: 0x7529,
+ 14162: 0x5E05,
+ 14163: 0x6813,
+ 14164: 0x62F4,
+ 14165: 0x971C,
+ 14166: 0x53CC,
+ 14167: 0x723D,
+ 14168: 0x8C01,
+ 14169: 0x6C34,
+ 14170: 0x7761,
+ 14171: 0x7A0E,
+ 14172: 0x542E,
+ 14173: 0x77AC,
+ 14174: 0x987A,
+ 14175: 0x821C,
+ 14176: 0x8BF4,
+ 14177: 0x7855,
+ 14178: 0x6714,
+ 14179: 0x70C1,
+ 14180: 0x65AF,
+ 14181: 0x6495,
+ 14182: 0x5636,
+ 14183: 0x601D,
+ 14184: 0x79C1,
+ 14185: 0x53F8,
+ 14186: 0x4E1D,
+ 14187: 0x6B7B,
+ 14188: 0x8086,
+ 14189: 0x5BFA,
+ 14190: 0x55E3,
+ 14191: 0x56DB,
+ 14192: 0x4F3A,
+ 14193: 0x4F3C,
+ 14194: 0x9972,
+ 14195: 0x5DF3,
+ 14196: 0x677E,
+ 14197: 0x8038,
+ 14198: 0x6002,
+ 14199: 0x9882,
+ 14200: 0x9001,
+ 14201: 0x5B8B,
+ 14202: 0x8BBC,
+ 14203: 0x8BF5,
+ 14204: 0x641C,
+ 14205: 0x8258,
+ 14206: 0x64DE,
+ 14207: 0x55FD,
+ 14208: 0x82CF,
+ 14209: 0x9165,
+ 14210: 0x4FD7,
+ 14211: 0x7D20,
+ 14212: 0x901F,
+ 14213: 0x7C9F,
+ 14214: 0x50F3,
+ 14215: 0x5851,
+ 14216: 0x6EAF,
+ 14217: 0x5BBF,
+ 14218: 0x8BC9,
+ 14219: 0x8083,
+ 14220: 0x9178,
+ 14221: 0x849C,
+ 14222: 0x7B97,
+ 14223: 0x867D,
+ 14224: 0x968B,
+ 14225: 0x968F,
+ 14226: 0x7EE5,
+ 14227: 0x9AD3,
+ 14228: 0x788E,
+ 14229: 0x5C81,
+ 14230: 0x7A57,
+ 14231: 0x9042,
+ 14232: 0x96A7,
+ 14233: 0x795F,
+ 14234: 0x5B59,
+ 14235: 0x635F,
+ 14236: 0x7B0B,
+ 14237: 0x84D1,
+ 14238: 0x68AD,
+ 14239: 0x5506,
+ 14240: 0x7F29,
+ 14241: 0x7410,
+ 14242: 0x7D22,
+ 14243: 0x9501,
+ 14244: 0x6240,
+ 14245: 0x584C,
+ 14246: 0x4ED6,
+ 14247: 0x5B83,
+ 14248: 0x5979,
+ 14249: 0x5854,
+ 14250: 0x85F9,
+ 14251: 0x85FA,
+ 14252: 0x85FC,
+ 14253: 0x85FD,
+ 14254: 0x85FE,
+ 14255: 0x8600,
+ 14256: 0x8601,
+ 14257: 0x8602,
+ 14258: 0x8603,
+ 14259: 0x8604,
+ 14260: 0x8606,
+ 14261: 0x8607,
+ 14262: 0x8608,
+ 14263: 0x8609,
+ 14264: 0x860A,
+ 14265: 0x860B,
+ 14266: 0x860C,
+ 14267: 0x860D,
+ 14268: 0x860E,
+ 14269: 0x860F,
+ 14270: 0x8610,
+ 14271: 0x8612,
+ 14272: 0x8613,
+ 14273: 0x8614,
+ 14274: 0x8615,
+ 14275: 0x8617,
+ 14276: 0x8618,
+ 14277: 0x8619,
+ 14278: 0x861A,
+ 14279: 0x861B,
+ 14280: 0x861C,
+ 14281: 0x861D,
+ 14282: 0x861E,
+ 14283: 0x861F,
+ 14284: 0x8620,
+ 14285: 0x8621,
+ 14286: 0x8622,
+ 14287: 0x8623,
+ 14288: 0x8624,
+ 14289: 0x8625,
+ 14290: 0x8626,
+ 14291: 0x8628,
+ 14292: 0x862A,
+ 14293: 0x862B,
+ 14294: 0x862C,
+ 14295: 0x862D,
+ 14296: 0x862E,
+ 14297: 0x862F,
+ 14298: 0x8630,
+ 14299: 0x8631,
+ 14300: 0x8632,
+ 14301: 0x8633,
+ 14302: 0x8634,
+ 14303: 0x8635,
+ 14304: 0x8636,
+ 14305: 0x8637,
+ 14306: 0x8639,
+ 14307: 0x863A,
+ 14308: 0x863B,
+ 14309: 0x863D,
+ 14310: 0x863E,
+ 14311: 0x863F,
+ 14312: 0x8640,
+ 14313: 0x8641,
+ 14314: 0x8642,
+ 14315: 0x8643,
+ 14316: 0x8644,
+ 14317: 0x8645,
+ 14318: 0x8646,
+ 14319: 0x8647,
+ 14320: 0x8648,
+ 14321: 0x8649,
+ 14322: 0x864A,
+ 14323: 0x864B,
+ 14324: 0x864C,
+ 14325: 0x8652,
+ 14326: 0x8653,
+ 14327: 0x8655,
+ 14328: 0x8656,
+ 14329: 0x8657,
+ 14330: 0x8658,
+ 14331: 0x8659,
+ 14332: 0x865B,
+ 14333: 0x865C,
+ 14334: 0x865D,
+ 14335: 0x865F,
+ 14336: 0x8660,
+ 14337: 0x8661,
+ 14338: 0x8663,
+ 14339: 0x8664,
+ 14340: 0x8665,
+ 14341: 0x8666,
+ 14342: 0x8667,
+ 14343: 0x8668,
+ 14344: 0x8669,
+ 14345: 0x866A,
+ 14346: 0x736D,
+ 14347: 0x631E,
+ 14348: 0x8E4B,
+ 14349: 0x8E0F,
+ 14350: 0x80CE,
+ 14351: 0x82D4,
+ 14352: 0x62AC,
+ 14353: 0x53F0,
+ 14354: 0x6CF0,
+ 14355: 0x915E,
+ 14356: 0x592A,
+ 14357: 0x6001,
+ 14358: 0x6C70,
+ 14359: 0x574D,
+ 14360: 0x644A,
+ 14361: 0x8D2A,
+ 14362: 0x762B,
+ 14363: 0x6EE9,
+ 14364: 0x575B,
+ 14365: 0x6A80,
+ 14366: 0x75F0,
+ 14367: 0x6F6D,
+ 14368: 0x8C2D,
+ 14369: 0x8C08,
+ 14370: 0x5766,
+ 14371: 0x6BEF,
+ 14372: 0x8892,
+ 14373: 0x78B3,
+ 14374: 0x63A2,
+ 14375: 0x53F9,
+ 14376: 0x70AD,
+ 14377: 0x6C64,
+ 14378: 0x5858,
+ 14379: 0x642A,
+ 14380: 0x5802,
+ 14381: 0x68E0,
+ 14382: 0x819B,
+ 14383: 0x5510,
+ 14384: 0x7CD6,
+ 14385: 0x5018,
+ 14386: 0x8EBA,
+ 14387: 0x6DCC,
+ 14388: 0x8D9F,
+ 14389: 0x70EB,
+ 14390: 0x638F,
+ 14391: 0x6D9B,
+ 14392: 0x6ED4,
+ 14393: 0x7EE6,
+ 14394: 0x8404,
+ 14395: 0x6843,
+ 14396: 0x9003,
+ 14397: 0x6DD8,
+ 14398: 0x9676,
+ 14399: 0x8BA8,
+ 14400: 0x5957,
+ 14401: 0x7279,
+ 14402: 0x85E4,
+ 14403: 0x817E,
+ 14404: 0x75BC,
+ 14405: 0x8A8A,
+ 14406: 0x68AF,
+ 14407: 0x5254,
+ 14408: 0x8E22,
+ 14409: 0x9511,
+ 14410: 0x63D0,
+ 14411: 0x9898,
+ 14412: 0x8E44,
+ 14413: 0x557C,
+ 14414: 0x4F53,
+ 14415: 0x66FF,
+ 14416: 0x568F,
+ 14417: 0x60D5,
+ 14418: 0x6D95,
+ 14419: 0x5243,
+ 14420: 0x5C49,
+ 14421: 0x5929,
+ 14422: 0x6DFB,
+ 14423: 0x586B,
+ 14424: 0x7530,
+ 14425: 0x751C,
+ 14426: 0x606C,
+ 14427: 0x8214,
+ 14428: 0x8146,
+ 14429: 0x6311,
+ 14430: 0x6761,
+ 14431: 0x8FE2,
+ 14432: 0x773A,
+ 14433: 0x8DF3,
+ 14434: 0x8D34,
+ 14435: 0x94C1,
+ 14436: 0x5E16,
+ 14437: 0x5385,
+ 14438: 0x542C,
+ 14439: 0x70C3,
+ 14440: 0x866D,
+ 14441: 0x866F,
+ 14442: 0x8670,
+ 14443: 0x8672,
+ 14444: 0x8673,
+ 14445: 0x8674,
+ 14446: 0x8675,
+ 14447: 0x8676,
+ 14448: 0x8677,
+ 14449: 0x8678,
+ 14450: 0x8683,
+ 14451: 0x8684,
+ 14452: 0x8685,
+ 14453: 0x8686,
+ 14454: 0x8687,
+ 14455: 0x8688,
+ 14456: 0x8689,
+ 14457: 0x868E,
+ 14458: 0x868F,
+ 14459: 0x8690,
+ 14460: 0x8691,
+ 14461: 0x8692,
+ 14462: 0x8694,
+ 14463: 0x8696,
+ 14464: 0x8697,
+ 14465: 0x8698,
+ 14466: 0x8699,
+ 14467: 0x869A,
+ 14468: 0x869B,
+ 14469: 0x869E,
+ 14470: 0x869F,
+ 14471: 0x86A0,
+ 14472: 0x86A1,
+ 14473: 0x86A2,
+ 14474: 0x86A5,
+ 14475: 0x86A6,
+ 14476: 0x86AB,
+ 14477: 0x86AD,
+ 14478: 0x86AE,
+ 14479: 0x86B2,
+ 14480: 0x86B3,
+ 14481: 0x86B7,
+ 14482: 0x86B8,
+ 14483: 0x86B9,
+ 14484: 0x86BB,
+ 14485: 0x86BC,
+ 14486: 0x86BD,
+ 14487: 0x86BE,
+ 14488: 0x86BF,
+ 14489: 0x86C1,
+ 14490: 0x86C2,
+ 14491: 0x86C3,
+ 14492: 0x86C5,
+ 14493: 0x86C8,
+ 14494: 0x86CC,
+ 14495: 0x86CD,
+ 14496: 0x86D2,
+ 14497: 0x86D3,
+ 14498: 0x86D5,
+ 14499: 0x86D6,
+ 14500: 0x86D7,
+ 14501: 0x86DA,
+ 14502: 0x86DC,
+ 14503: 0x86DD,
+ 14504: 0x86E0,
+ 14505: 0x86E1,
+ 14506: 0x86E2,
+ 14507: 0x86E3,
+ 14508: 0x86E5,
+ 14509: 0x86E6,
+ 14510: 0x86E7,
+ 14511: 0x86E8,
+ 14512: 0x86EA,
+ 14513: 0x86EB,
+ 14514: 0x86EC,
+ 14515: 0x86EF,
+ 14516: 0x86F5,
+ 14517: 0x86F6,
+ 14518: 0x86F7,
+ 14519: 0x86FA,
+ 14520: 0x86FB,
+ 14521: 0x86FC,
+ 14522: 0x86FD,
+ 14523: 0x86FF,
+ 14524: 0x8701,
+ 14525: 0x8704,
+ 14526: 0x8705,
+ 14527: 0x8706,
+ 14528: 0x870B,
+ 14529: 0x870C,
+ 14530: 0x870E,
+ 14531: 0x870F,
+ 14532: 0x8710,
+ 14533: 0x8711,
+ 14534: 0x8714,
+ 14535: 0x8716,
+ 14536: 0x6C40,
+ 14537: 0x5EF7,
+ 14538: 0x505C,
+ 14539: 0x4EAD,
+ 14540: 0x5EAD,
+ 14541: 0x633A,
+ 14542: 0x8247,
+ 14543: 0x901A,
+ 14544: 0x6850,
+ 14545: 0x916E,
+ 14546: 0x77B3,
+ 14547: 0x540C,
+ 14548: 0x94DC,
+ 14549: 0x5F64,
+ 14550: 0x7AE5,
+ 14551: 0x6876,
+ 14552: 0x6345,
+ 14553: 0x7B52,
+ 14554: 0x7EDF,
+ 14555: 0x75DB,
+ 14556: 0x5077,
+ 14557: 0x6295,
+ 14558: 0x5934,
+ 14559: 0x900F,
+ 14560: 0x51F8,
+ 14561: 0x79C3,
+ 14562: 0x7A81,
+ 14563: 0x56FE,
+ 14564: 0x5F92,
+ 14565: 0x9014,
+ 14566: 0x6D82,
+ 14567: 0x5C60,
+ 14568: 0x571F,
+ 14569: 0x5410,
+ 14570: 0x5154,
+ 14571: 0x6E4D,
+ 14572: 0x56E2,
+ 14573: 0x63A8,
+ 14574: 0x9893,
+ 14575: 0x817F,
+ 14576: 0x8715,
+ 14577: 0x892A,
+ 14578: 0x9000,
+ 14579: 0x541E,
+ 14580: 0x5C6F,
+ 14581: 0x81C0,
+ 14582: 0x62D6,
+ 14583: 0x6258,
+ 14584: 0x8131,
+ 14585: 0x9E35,
+ 14586: 0x9640,
+ 14587: 0x9A6E,
+ 14588: 0x9A7C,
+ 14589: 0x692D,
+ 14590: 0x59A5,
+ 14591: 0x62D3,
+ 14592: 0x553E,
+ 14593: 0x6316,
+ 14594: 0x54C7,
+ 14595: 0x86D9,
+ 14596: 0x6D3C,
+ 14597: 0x5A03,
+ 14598: 0x74E6,
+ 14599: 0x889C,
+ 14600: 0x6B6A,
+ 14601: 0x5916,
+ 14602: 0x8C4C,
+ 14603: 0x5F2F,
+ 14604: 0x6E7E,
+ 14605: 0x73A9,
+ 14606: 0x987D,
+ 14607: 0x4E38,
+ 14608: 0x70F7,
+ 14609: 0x5B8C,
+ 14610: 0x7897,
+ 14611: 0x633D,
+ 14612: 0x665A,
+ 14613: 0x7696,
+ 14614: 0x60CB,
+ 14615: 0x5B9B,
+ 14616: 0x5A49,
+ 14617: 0x4E07,
+ 14618: 0x8155,
+ 14619: 0x6C6A,
+ 14620: 0x738B,
+ 14621: 0x4EA1,
+ 14622: 0x6789,
+ 14623: 0x7F51,
+ 14624: 0x5F80,
+ 14625: 0x65FA,
+ 14626: 0x671B,
+ 14627: 0x5FD8,
+ 14628: 0x5984,
+ 14629: 0x5A01,
+ 14630: 0x8719,
+ 14631: 0x871B,
+ 14632: 0x871D,
+ 14633: 0x871F,
+ 14634: 0x8720,
+ 14635: 0x8724,
+ 14636: 0x8726,
+ 14637: 0x8727,
+ 14638: 0x8728,
+ 14639: 0x872A,
+ 14640: 0x872B,
+ 14641: 0x872C,
+ 14642: 0x872D,
+ 14643: 0x872F,
+ 14644: 0x8730,
+ 14645: 0x8732,
+ 14646: 0x8733,
+ 14647: 0x8735,
+ 14648: 0x8736,
+ 14649: 0x8738,
+ 14650: 0x8739,
+ 14651: 0x873A,
+ 14652: 0x873C,
+ 14653: 0x873D,
+ 14654: 0x8740,
+ 14655: 0x8741,
+ 14656: 0x8742,
+ 14657: 0x8743,
+ 14658: 0x8744,
+ 14659: 0x8745,
+ 14660: 0x8746,
+ 14661: 0x874A,
+ 14662: 0x874B,
+ 14663: 0x874D,
+ 14664: 0x874F,
+ 14665: 0x8750,
+ 14666: 0x8751,
+ 14667: 0x8752,
+ 14668: 0x8754,
+ 14669: 0x8755,
+ 14670: 0x8756,
+ 14671: 0x8758,
+ 14672: 0x875A,
+ 14673: 0x875B,
+ 14674: 0x875C,
+ 14675: 0x875D,
+ 14676: 0x875E,
+ 14677: 0x875F,
+ 14678: 0x8761,
+ 14679: 0x8762,
+ 14680: 0x8766,
+ 14681: 0x8767,
+ 14682: 0x8768,
+ 14683: 0x8769,
+ 14684: 0x876A,
+ 14685: 0x876B,
+ 14686: 0x876C,
+ 14687: 0x876D,
+ 14688: 0x876F,
+ 14689: 0x8771,
+ 14690: 0x8772,
+ 14691: 0x8773,
+ 14692: 0x8775,
+ 14693: 0x8777,
+ 14694: 0x8778,
+ 14695: 0x8779,
+ 14696: 0x877A,
+ 14697: 0x877F,
+ 14698: 0x8780,
+ 14699: 0x8781,
+ 14700: 0x8784,
+ 14701: 0x8786,
+ 14702: 0x8787,
+ 14703: 0x8789,
+ 14704: 0x878A,
+ 14705: 0x878C,
+ 14706: 0x878E,
+ 14707: 0x878F,
+ 14708: 0x8790,
+ 14709: 0x8791,
+ 14710: 0x8792,
+ 14711: 0x8794,
+ 14712: 0x8795,
+ 14713: 0x8796,
+ 14714: 0x8798,
+ 14715: 0x8799,
+ 14716: 0x879A,
+ 14717: 0x879B,
+ 14718: 0x879C,
+ 14719: 0x879D,
+ 14720: 0x879E,
+ 14721: 0x87A0,
+ 14722: 0x87A1,
+ 14723: 0x87A2,
+ 14724: 0x87A3,
+ 14725: 0x87A4,
+ 14726: 0x5DCD,
+ 14727: 0x5FAE,
+ 14728: 0x5371,
+ 14729: 0x97E6,
+ 14730: 0x8FDD,
+ 14731: 0x6845,
+ 14732: 0x56F4,
+ 14733: 0x552F,
+ 14734: 0x60DF,
+ 14735: 0x4E3A,
+ 14736: 0x6F4D,
+ 14737: 0x7EF4,
+ 14738: 0x82C7,
+ 14739: 0x840E,
+ 14740: 0x59D4,
+ 14741: 0x4F1F,
+ 14742: 0x4F2A,
+ 14743: 0x5C3E,
+ 14744: 0x7EAC,
+ 14745: 0x672A,
+ 14746: 0x851A,
+ 14747: 0x5473,
+ 14748: 0x754F,
+ 14749: 0x80C3,
+ 14750: 0x5582,
+ 14751: 0x9B4F,
+ 14752: 0x4F4D,
+ 14753: 0x6E2D,
+ 14754: 0x8C13,
+ 14755: 0x5C09,
+ 14756: 0x6170,
+ 14757: 0x536B,
+ 14758: 0x761F,
+ 14759: 0x6E29,
+ 14760: 0x868A,
+ 14761: 0x6587,
+ 14762: 0x95FB,
+ 14763: 0x7EB9,
+ 14764: 0x543B,
+ 14765: 0x7A33,
+ 14766: 0x7D0A,
+ 14767: 0x95EE,
+ 14768: 0x55E1,
+ 14769: 0x7FC1,
+ 14770: 0x74EE,
+ 14771: 0x631D,
+ 14772: 0x8717,
+ 14773: 0x6DA1,
+ 14774: 0x7A9D,
+ 14775: 0x6211,
+ 14776: 0x65A1,
+ 14777: 0x5367,
+ 14778: 0x63E1,
+ 14779: 0x6C83,
+ 14780: 0x5DEB,
+ 14781: 0x545C,
+ 14782: 0x94A8,
+ 14783: 0x4E4C,
+ 14784: 0x6C61,
+ 14785: 0x8BEC,
+ 14786: 0x5C4B,
+ 14787: 0x65E0,
+ 14788: 0x829C,
+ 14789: 0x68A7,
+ 14790: 0x543E,
+ 14791: 0x5434,
+ 14792: 0x6BCB,
+ 14793: 0x6B66,
+ 14794: 0x4E94,
+ 14795: 0x6342,
+ 14796: 0x5348,
+ 14797: 0x821E,
+ 14798: 0x4F0D,
+ 14799: 0x4FAE,
+ 14800: 0x575E,
+ 14801: 0x620A,
+ 14802: 0x96FE,
+ 14803: 0x6664,
+ 14804: 0x7269,
+ 14805: 0x52FF,
+ 14806: 0x52A1,
+ 14807: 0x609F,
+ 14808: 0x8BEF,
+ 14809: 0x6614,
+ 14810: 0x7199,
+ 14811: 0x6790,
+ 14812: 0x897F,
+ 14813: 0x7852,
+ 14814: 0x77FD,
+ 14815: 0x6670,
+ 14816: 0x563B,
+ 14817: 0x5438,
+ 14818: 0x9521,
+ 14819: 0x727A,
+ 14820: 0x87A5,
+ 14821: 0x87A6,
+ 14822: 0x87A7,
+ 14823: 0x87A9,
+ 14824: 0x87AA,
+ 14825: 0x87AE,
+ 14826: 0x87B0,
+ 14827: 0x87B1,
+ 14828: 0x87B2,
+ 14829: 0x87B4,
+ 14830: 0x87B6,
+ 14831: 0x87B7,
+ 14832: 0x87B8,
+ 14833: 0x87B9,
+ 14834: 0x87BB,
+ 14835: 0x87BC,
+ 14836: 0x87BE,
+ 14837: 0x87BF,
+ 14838: 0x87C1,
+ 14839: 0x87C2,
+ 14840: 0x87C3,
+ 14841: 0x87C4,
+ 14842: 0x87C5,
+ 14843: 0x87C7,
+ 14844: 0x87C8,
+ 14845: 0x87C9,
+ 14846: 0x87CC,
+ 14847: 0x87CD,
+ 14848: 0x87CE,
+ 14849: 0x87CF,
+ 14850: 0x87D0,
+ 14851: 0x87D4,
+ 14852: 0x87D5,
+ 14853: 0x87D6,
+ 14854: 0x87D7,
+ 14855: 0x87D8,
+ 14856: 0x87D9,
+ 14857: 0x87DA,
+ 14858: 0x87DC,
+ 14859: 0x87DD,
+ 14860: 0x87DE,
+ 14861: 0x87DF,
+ 14862: 0x87E1,
+ 14863: 0x87E2,
+ 14864: 0x87E3,
+ 14865: 0x87E4,
+ 14866: 0x87E6,
+ 14867: 0x87E7,
+ 14868: 0x87E8,
+ 14869: 0x87E9,
+ 14870: 0x87EB,
+ 14871: 0x87EC,
+ 14872: 0x87ED,
+ 14873: 0x87EF,
+ 14874: 0x87F0,
+ 14875: 0x87F1,
+ 14876: 0x87F2,
+ 14877: 0x87F3,
+ 14878: 0x87F4,
+ 14879: 0x87F5,
+ 14880: 0x87F6,
+ 14881: 0x87F7,
+ 14882: 0x87F8,
+ 14883: 0x87FA,
+ 14884: 0x87FB,
+ 14885: 0x87FC,
+ 14886: 0x87FD,
+ 14887: 0x87FF,
+ 14888: 0x8800,
+ 14889: 0x8801,
+ 14890: 0x8802,
+ 14891: 0x8804,
+ 14892: 0x8805,
+ 14893: 0x8806,
+ 14894: 0x8807,
+ 14895: 0x8808,
+ 14896: 0x8809,
+ 14897: 0x880B,
+ 14898: 0x880C,
+ 14899: 0x880D,
+ 14900: 0x880E,
+ 14901: 0x880F,
+ 14902: 0x8810,
+ 14903: 0x8811,
+ 14904: 0x8812,
+ 14905: 0x8814,
+ 14906: 0x8817,
+ 14907: 0x8818,
+ 14908: 0x8819,
+ 14909: 0x881A,
+ 14910: 0x881C,
+ 14911: 0x881D,
+ 14912: 0x881E,
+ 14913: 0x881F,
+ 14914: 0x8820,
+ 14915: 0x8823,
+ 14916: 0x7A00,
+ 14917: 0x606F,
+ 14918: 0x5E0C,
+ 14919: 0x6089,
+ 14920: 0x819D,
+ 14921: 0x5915,
+ 14922: 0x60DC,
+ 14923: 0x7184,
+ 14924: 0x70EF,
+ 14925: 0x6EAA,
+ 14926: 0x6C50,
+ 14927: 0x7280,
+ 14928: 0x6A84,
+ 14929: 0x88AD,
+ 14930: 0x5E2D,
+ 14931: 0x4E60,
+ 14932: 0x5AB3,
+ 14933: 0x559C,
+ 14934: 0x94E3,
+ 14935: 0x6D17,
+ 14936: 0x7CFB,
+ 14937: 0x9699,
+ 14938: 0x620F,
+ 14939: 0x7EC6,
+ 14940: 0x778E,
+ 14941: 0x867E,
+ 14942: 0x5323,
+ 14943: 0x971E,
+ 14944: 0x8F96,
+ 14945: 0x6687,
+ 14946: 0x5CE1,
+ 14947: 0x4FA0,
+ 14948: 0x72ED,
+ 14949: 0x4E0B,
+ 14950: 0x53A6,
+ 14951: 0x590F,
+ 14952: 0x5413,
+ 14953: 0x6380,
+ 14954: 0x9528,
+ 14955: 0x5148,
+ 14956: 0x4ED9,
+ 14957: 0x9C9C,
+ 14958: 0x7EA4,
+ 14959: 0x54B8,
+ 14960: 0x8D24,
+ 14961: 0x8854,
+ 14962: 0x8237,
+ 14963: 0x95F2,
+ 14964: 0x6D8E,
+ 14965: 0x5F26,
+ 14966: 0x5ACC,
+ 14967: 0x663E,
+ 14968: 0x9669,
+ 14969: 0x73B0,
+ 14970: 0x732E,
+ 14971: 0x53BF,
+ 14972: 0x817A,
+ 14973: 0x9985,
+ 14974: 0x7FA1,
+ 14975: 0x5BAA,
+ 14976: 0x9677,
+ 14977: 0x9650,
+ 14978: 0x7EBF,
+ 14979: 0x76F8,
+ 14980: 0x53A2,
+ 14981: 0x9576,
+ 14982: 0x9999,
+ 14983: 0x7BB1,
+ 14984: 0x8944,
+ 14985: 0x6E58,
+ 14986: 0x4E61,
+ 14987: 0x7FD4,
+ 14988: 0x7965,
+ 14989: 0x8BE6,
+ 14990: 0x60F3,
+ 14991: 0x54CD,
+ 14992: 0x4EAB,
+ 14993: 0x9879,
+ 14994: 0x5DF7,
+ 14995: 0x6A61,
+ 14996: 0x50CF,
+ 14997: 0x5411,
+ 14998: 0x8C61,
+ 14999: 0x8427,
+ 15000: 0x785D,
+ 15001: 0x9704,
+ 15002: 0x524A,
+ 15003: 0x54EE,
+ 15004: 0x56A3,
+ 15005: 0x9500,
+ 15006: 0x6D88,
+ 15007: 0x5BB5,
+ 15008: 0x6DC6,
+ 15009: 0x6653,
+ 15010: 0x8824,
+ 15011: 0x8825,
+ 15012: 0x8826,
+ 15013: 0x8827,
+ 15014: 0x8828,
+ 15015: 0x8829,
+ 15016: 0x882A,
+ 15017: 0x882B,
+ 15018: 0x882C,
+ 15019: 0x882D,
+ 15020: 0x882E,
+ 15021: 0x882F,
+ 15022: 0x8830,
+ 15023: 0x8831,
+ 15024: 0x8833,
+ 15025: 0x8834,
+ 15026: 0x8835,
+ 15027: 0x8836,
+ 15028: 0x8837,
+ 15029: 0x8838,
+ 15030: 0x883A,
+ 15031: 0x883B,
+ 15032: 0x883D,
+ 15033: 0x883E,
+ 15034: 0x883F,
+ 15035: 0x8841,
+ 15036: 0x8842,
+ 15037: 0x8843,
+ 15038: 0x8846,
+ 15039: 0x8847,
+ 15040: 0x8848,
+ 15041: 0x8849,
+ 15042: 0x884A,
+ 15043: 0x884B,
+ 15044: 0x884E,
+ 15045: 0x884F,
+ 15046: 0x8850,
+ 15047: 0x8851,
+ 15048: 0x8852,
+ 15049: 0x8853,
+ 15050: 0x8855,
+ 15051: 0x8856,
+ 15052: 0x8858,
+ 15053: 0x885A,
+ 15054: 0x885B,
+ 15055: 0x885C,
+ 15056: 0x885D,
+ 15057: 0x885E,
+ 15058: 0x885F,
+ 15059: 0x8860,
+ 15060: 0x8866,
+ 15061: 0x8867,
+ 15062: 0x886A,
+ 15063: 0x886D,
+ 15064: 0x886F,
+ 15065: 0x8871,
+ 15066: 0x8873,
+ 15067: 0x8874,
+ 15068: 0x8875,
+ 15069: 0x8876,
+ 15070: 0x8878,
+ 15071: 0x8879,
+ 15072: 0x887A,
+ 15073: 0x887B,
+ 15074: 0x887C,
+ 15075: 0x8880,
+ 15076: 0x8883,
+ 15077: 0x8886,
+ 15078: 0x8887,
+ 15079: 0x8889,
+ 15080: 0x888A,
+ 15081: 0x888C,
+ 15082: 0x888E,
+ 15083: 0x888F,
+ 15084: 0x8890,
+ 15085: 0x8891,
+ 15086: 0x8893,
+ 15087: 0x8894,
+ 15088: 0x8895,
+ 15089: 0x8897,
+ 15090: 0x8898,
+ 15091: 0x8899,
+ 15092: 0x889A,
+ 15093: 0x889B,
+ 15094: 0x889D,
+ 15095: 0x889E,
+ 15096: 0x889F,
+ 15097: 0x88A0,
+ 15098: 0x88A1,
+ 15099: 0x88A3,
+ 15100: 0x88A5,
+ 15101: 0x88A6,
+ 15102: 0x88A7,
+ 15103: 0x88A8,
+ 15104: 0x88A9,
+ 15105: 0x88AA,
+ 15106: 0x5C0F,
+ 15107: 0x5B5D,
+ 15108: 0x6821,
+ 15109: 0x8096,
+ 15110: 0x5578,
+ 15111: 0x7B11,
+ 15112: 0x6548,
+ 15113: 0x6954,
+ 15114: 0x4E9B,
+ 15115: 0x6B47,
+ 15116: 0x874E,
+ 15117: 0x978B,
+ 15118: 0x534F,
+ 15119: 0x631F,
+ 15120: 0x643A,
+ 15121: 0x90AA,
+ 15122: 0x659C,
+ 15123: 0x80C1,
+ 15124: 0x8C10,
+ 15125: 0x5199,
+ 15126: 0x68B0,
+ 15127: 0x5378,
+ 15128: 0x87F9,
+ 15129: 0x61C8,
+ 15130: 0x6CC4,
+ 15131: 0x6CFB,
+ 15132: 0x8C22,
+ 15133: 0x5C51,
+ 15134: 0x85AA,
+ 15135: 0x82AF,
+ 15136: 0x950C,
+ 15137: 0x6B23,
+ 15138: 0x8F9B,
+ 15139: 0x65B0,
+ 15140: 0x5FFB,
+ 15141: 0x5FC3,
+ 15142: 0x4FE1,
+ 15143: 0x8845,
+ 15144: 0x661F,
+ 15145: 0x8165,
+ 15146: 0x7329,
+ 15147: 0x60FA,
+ 15148: 0x5174,
+ 15149: 0x5211,
+ 15150: 0x578B,
+ 15151: 0x5F62,
+ 15152: 0x90A2,
+ 15153: 0x884C,
+ 15154: 0x9192,
+ 15155: 0x5E78,
+ 15156: 0x674F,
+ 15157: 0x6027,
+ 15158: 0x59D3,
+ 15159: 0x5144,
+ 15160: 0x51F6,
+ 15161: 0x80F8,
+ 15162: 0x5308,
+ 15163: 0x6C79,
+ 15164: 0x96C4,
+ 15165: 0x718A,
+ 15166: 0x4F11,
+ 15167: 0x4FEE,
+ 15168: 0x7F9E,
+ 15169: 0x673D,
+ 15170: 0x55C5,
+ 15171: 0x9508,
+ 15172: 0x79C0,
+ 15173: 0x8896,
+ 15174: 0x7EE3,
+ 15175: 0x589F,
+ 15176: 0x620C,
+ 15177: 0x9700,
+ 15178: 0x865A,
+ 15179: 0x5618,
+ 15180: 0x987B,
+ 15181: 0x5F90,
+ 15182: 0x8BB8,
+ 15183: 0x84C4,
+ 15184: 0x9157,
+ 15185: 0x53D9,
+ 15186: 0x65ED,
+ 15187: 0x5E8F,
+ 15188: 0x755C,
+ 15189: 0x6064,
+ 15190: 0x7D6E,
+ 15191: 0x5A7F,
+ 15192: 0x7EEA,
+ 15193: 0x7EED,
+ 15194: 0x8F69,
+ 15195: 0x55A7,
+ 15196: 0x5BA3,
+ 15197: 0x60AC,
+ 15198: 0x65CB,
+ 15199: 0x7384,
+ 15200: 0x88AC,
+ 15201: 0x88AE,
+ 15202: 0x88AF,
+ 15203: 0x88B0,
+ 15204: 0x88B2,
+ 15205: 0x88B3,
+ 15206: 0x88B4,
+ 15207: 0x88B5,
+ 15208: 0x88B6,
+ 15209: 0x88B8,
+ 15210: 0x88B9,
+ 15211: 0x88BA,
+ 15212: 0x88BB,
+ 15213: 0x88BD,
+ 15214: 0x88BE,
+ 15215: 0x88BF,
+ 15216: 0x88C0,
+ 15217: 0x88C3,
+ 15218: 0x88C4,
+ 15219: 0x88C7,
+ 15220: 0x88C8,
+ 15221: 0x88CA,
+ 15222: 0x88CB,
+ 15223: 0x88CC,
+ 15224: 0x88CD,
+ 15225: 0x88CF,
+ 15226: 0x88D0,
+ 15227: 0x88D1,
+ 15228: 0x88D3,
+ 15229: 0x88D6,
+ 15230: 0x88D7,
+ 15231: 0x88DA,
+ 15232: 0x88DB,
+ 15233: 0x88DC,
+ 15234: 0x88DD,
+ 15235: 0x88DE,
+ 15236: 0x88E0,
+ 15237: 0x88E1,
+ 15238: 0x88E6,
+ 15239: 0x88E7,
+ 15240: 0x88E9,
+ 15241: 0x88EA,
+ 15242: 0x88EB,
+ 15243: 0x88EC,
+ 15244: 0x88ED,
+ 15245: 0x88EE,
+ 15246: 0x88EF,
+ 15247: 0x88F2,
+ 15248: 0x88F5,
+ 15249: 0x88F6,
+ 15250: 0x88F7,
+ 15251: 0x88FA,
+ 15252: 0x88FB,
+ 15253: 0x88FD,
+ 15254: 0x88FF,
+ 15255: 0x8900,
+ 15256: 0x8901,
+ 15257: 0x8903,
+ 15258: 0x8904,
+ 15259: 0x8905,
+ 15260: 0x8906,
+ 15261: 0x8907,
+ 15262: 0x8908,
+ 15263: 0x8909,
+ 15264: 0x890B,
+ 15265: 0x890C,
+ 15266: 0x890D,
+ 15267: 0x890E,
+ 15268: 0x890F,
+ 15269: 0x8911,
+ 15270: 0x8914,
+ 15271: 0x8915,
+ 15272: 0x8916,
+ 15273: 0x8917,
+ 15274: 0x8918,
+ 15275: 0x891C,
+ 15276: 0x891D,
+ 15277: 0x891E,
+ 15278: 0x891F,
+ 15279: 0x8920,
+ 15280: 0x8922,
+ 15281: 0x8923,
+ 15282: 0x8924,
+ 15283: 0x8926,
+ 15284: 0x8927,
+ 15285: 0x8928,
+ 15286: 0x8929,
+ 15287: 0x892C,
+ 15288: 0x892D,
+ 15289: 0x892E,
+ 15290: 0x892F,
+ 15291: 0x8931,
+ 15292: 0x8932,
+ 15293: 0x8933,
+ 15294: 0x8935,
+ 15295: 0x8937,
+ 15296: 0x9009,
+ 15297: 0x7663,
+ 15298: 0x7729,
+ 15299: 0x7EDA,
+ 15300: 0x9774,
+ 15301: 0x859B,
+ 15302: 0x5B66,
+ 15303: 0x7A74,
+ 15304: 0x96EA,
+ 15305: 0x8840,
+ 15306: 0x52CB,
+ 15307: 0x718F,
+ 15308: 0x5FAA,
+ 15309: 0x65EC,
+ 15310: 0x8BE2,
+ 15311: 0x5BFB,
+ 15312: 0x9A6F,
+ 15313: 0x5DE1,
+ 15314: 0x6B89,
+ 15315: 0x6C5B,
+ 15316: 0x8BAD,
+ 15317: 0x8BAF,
+ 15318: 0x900A,
+ 15319: 0x8FC5,
+ 15320: 0x538B,
+ 15321: 0x62BC,
+ 15322: 0x9E26,
+ 15323: 0x9E2D,
+ 15324: 0x5440,
+ 15325: 0x4E2B,
+ 15326: 0x82BD,
+ 15327: 0x7259,
+ 15328: 0x869C,
+ 15329: 0x5D16,
+ 15330: 0x8859,
+ 15331: 0x6DAF,
+ 15332: 0x96C5,
+ 15333: 0x54D1,
+ 15334: 0x4E9A,
+ 15335: 0x8BB6,
+ 15336: 0x7109,
+ 15337: 0x54BD,
+ 15338: 0x9609,
+ 15339: 0x70DF,
+ 15340: 0x6DF9,
+ 15341: 0x76D0,
+ 15342: 0x4E25,
+ 15343: 0x7814,
+ 15344: 0x8712,
+ 15345: 0x5CA9,
+ 15346: 0x5EF6,
+ 15347: 0x8A00,
+ 15348: 0x989C,
+ 15349: 0x960E,
+ 15350: 0x708E,
+ 15351: 0x6CBF,
+ 15352: 0x5944,
+ 15353: 0x63A9,
+ 15354: 0x773C,
+ 15355: 0x884D,
+ 15356: 0x6F14,
+ 15357: 0x8273,
+ 15358: 0x5830,
+ 15359: 0x71D5,
+ 15360: 0x538C,
+ 15361: 0x781A,
+ 15362: 0x96C1,
+ 15363: 0x5501,
+ 15364: 0x5F66,
+ 15365: 0x7130,
+ 15366: 0x5BB4,
+ 15367: 0x8C1A,
+ 15368: 0x9A8C,
+ 15369: 0x6B83,
+ 15370: 0x592E,
+ 15371: 0x9E2F,
+ 15372: 0x79E7,
+ 15373: 0x6768,
+ 15374: 0x626C,
+ 15375: 0x4F6F,
+ 15376: 0x75A1,
+ 15377: 0x7F8A,
+ 15378: 0x6D0B,
+ 15379: 0x9633,
+ 15380: 0x6C27,
+ 15381: 0x4EF0,
+ 15382: 0x75D2,
+ 15383: 0x517B,
+ 15384: 0x6837,
+ 15385: 0x6F3E,
+ 15386: 0x9080,
+ 15387: 0x8170,
+ 15388: 0x5996,
+ 15389: 0x7476,
+ 15390: 0x8938,
+ 15391: 0x8939,
+ 15392: 0x893A,
+ 15393: 0x893B,
+ 15394: 0x893C,
+ 15395: 0x893D,
+ 15396: 0x893E,
+ 15397: 0x893F,
+ 15398: 0x8940,
+ 15399: 0x8942,
+ 15400: 0x8943,
+ 15401: 0x8945,
+ 15402: 0x8946,
+ 15403: 0x8947,
+ 15404: 0x8948,
+ 15405: 0x8949,
+ 15406: 0x894A,
+ 15407: 0x894B,
+ 15408: 0x894C,
+ 15409: 0x894D,
+ 15410: 0x894E,
+ 15411: 0x894F,
+ 15412: 0x8950,
+ 15413: 0x8951,
+ 15414: 0x8952,
+ 15415: 0x8953,
+ 15416: 0x8954,
+ 15417: 0x8955,
+ 15418: 0x8956,
+ 15419: 0x8957,
+ 15420: 0x8958,
+ 15421: 0x8959,
+ 15422: 0x895A,
+ 15423: 0x895B,
+ 15424: 0x895C,
+ 15425: 0x895D,
+ 15426: 0x8960,
+ 15427: 0x8961,
+ 15428: 0x8962,
+ 15429: 0x8963,
+ 15430: 0x8964,
+ 15431: 0x8965,
+ 15432: 0x8967,
+ 15433: 0x8968,
+ 15434: 0x8969,
+ 15435: 0x896A,
+ 15436: 0x896B,
+ 15437: 0x896C,
+ 15438: 0x896D,
+ 15439: 0x896E,
+ 15440: 0x896F,
+ 15441: 0x8970,
+ 15442: 0x8971,
+ 15443: 0x8972,
+ 15444: 0x8973,
+ 15445: 0x8974,
+ 15446: 0x8975,
+ 15447: 0x8976,
+ 15448: 0x8977,
+ 15449: 0x8978,
+ 15450: 0x8979,
+ 15451: 0x897A,
+ 15452: 0x897C,
+ 15453: 0x897D,
+ 15454: 0x897E,
+ 15455: 0x8980,
+ 15456: 0x8982,
+ 15457: 0x8984,
+ 15458: 0x8985,
+ 15459: 0x8987,
+ 15460: 0x8988,
+ 15461: 0x8989,
+ 15462: 0x898A,
+ 15463: 0x898B,
+ 15464: 0x898C,
+ 15465: 0x898D,
+ 15466: 0x898E,
+ 15467: 0x898F,
+ 15468: 0x8990,
+ 15469: 0x8991,
+ 15470: 0x8992,
+ 15471: 0x8993,
+ 15472: 0x8994,
+ 15473: 0x8995,
+ 15474: 0x8996,
+ 15475: 0x8997,
+ 15476: 0x8998,
+ 15477: 0x8999,
+ 15478: 0x899A,
+ 15479: 0x899B,
+ 15480: 0x899C,
+ 15481: 0x899D,
+ 15482: 0x899E,
+ 15483: 0x899F,
+ 15484: 0x89A0,
+ 15485: 0x89A1,
+ 15486: 0x6447,
+ 15487: 0x5C27,
+ 15488: 0x9065,
+ 15489: 0x7A91,
+ 15490: 0x8C23,
+ 15491: 0x59DA,
+ 15492: 0x54AC,
+ 15493: 0x8200,
+ 15494: 0x836F,
+ 15495: 0x8981,
+ 15496: 0x8000,
+ 15497: 0x6930,
+ 15498: 0x564E,
+ 15499: 0x8036,
+ 15500: 0x7237,
+ 15501: 0x91CE,
+ 15502: 0x51B6,
+ 15503: 0x4E5F,
+ 15504: 0x9875,
+ 15505: 0x6396,
+ 15506: 0x4E1A,
+ 15507: 0x53F6,
+ 15508: 0x66F3,
+ 15509: 0x814B,
+ 15510: 0x591C,
+ 15511: 0x6DB2,
+ 15512: 0x4E00,
+ 15513: 0x58F9,
+ 15514: 0x533B,
+ 15515: 0x63D6,
+ 15516: 0x94F1,
+ 15517: 0x4F9D,
+ 15518: 0x4F0A,
+ 15519: 0x8863,
+ 15520: 0x9890,
+ 15521: 0x5937,
+ 15522: 0x9057,
+ 15523: 0x79FB,
+ 15524: 0x4EEA,
+ 15525: 0x80F0,
+ 15526: 0x7591,
+ 15527: 0x6C82,
+ 15528: 0x5B9C,
+ 15529: 0x59E8,
+ 15530: 0x5F5D,
+ 15531: 0x6905,
+ 15532: 0x8681,
+ 15533: 0x501A,
+ 15534: 0x5DF2,
+ 15535: 0x4E59,
+ 15536: 0x77E3,
+ 15537: 0x4EE5,
+ 15538: 0x827A,
+ 15539: 0x6291,
+ 15540: 0x6613,
+ 15541: 0x9091,
+ 15542: 0x5C79,
+ 15543: 0x4EBF,
+ 15544: 0x5F79,
+ 15545: 0x81C6,
+ 15546: 0x9038,
+ 15547: 0x8084,
+ 15548: 0x75AB,
+ 15549: 0x4EA6,
+ 15550: 0x88D4,
+ 15551: 0x610F,
+ 15552: 0x6BC5,
+ 15553: 0x5FC6,
+ 15554: 0x4E49,
+ 15555: 0x76CA,
+ 15556: 0x6EA2,
+ 15557: 0x8BE3,
+ 15558: 0x8BAE,
+ 15559: 0x8C0A,
+ 15560: 0x8BD1,
+ 15561: 0x5F02,
+ 15562: 0x7FFC,
+ 15563: 0x7FCC,
+ 15564: 0x7ECE,
+ 15565: 0x8335,
+ 15566: 0x836B,
+ 15567: 0x56E0,
+ 15568: 0x6BB7,
+ 15569: 0x97F3,
+ 15570: 0x9634,
+ 15571: 0x59FB,
+ 15572: 0x541F,
+ 15573: 0x94F6,
+ 15574: 0x6DEB,
+ 15575: 0x5BC5,
+ 15576: 0x996E,
+ 15577: 0x5C39,
+ 15578: 0x5F15,
+ 15579: 0x9690,
+ 15580: 0x89A2,
+ 15581: 0x89A3,
+ 15582: 0x89A4,
+ 15583: 0x89A5,
+ 15584: 0x89A6,
+ 15585: 0x89A7,
+ 15586: 0x89A8,
+ 15587: 0x89A9,
+ 15588: 0x89AA,
+ 15589: 0x89AB,
+ 15590: 0x89AC,
+ 15591: 0x89AD,
+ 15592: 0x89AE,
+ 15593: 0x89AF,
+ 15594: 0x89B0,
+ 15595: 0x89B1,
+ 15596: 0x89B2,
+ 15597: 0x89B3,
+ 15598: 0x89B4,
+ 15599: 0x89B5,
+ 15600: 0x89B6,
+ 15601: 0x89B7,
+ 15602: 0x89B8,
+ 15603: 0x89B9,
+ 15604: 0x89BA,
+ 15605: 0x89BB,
+ 15606: 0x89BC,
+ 15607: 0x89BD,
+ 15608: 0x89BE,
+ 15609: 0x89BF,
+ 15610: 0x89C0,
+ 15611: 0x89C3,
+ 15612: 0x89CD,
+ 15613: 0x89D3,
+ 15614: 0x89D4,
+ 15615: 0x89D5,
+ 15616: 0x89D7,
+ 15617: 0x89D8,
+ 15618: 0x89D9,
+ 15619: 0x89DB,
+ 15620: 0x89DD,
+ 15621: 0x89DF,
+ 15622: 0x89E0,
+ 15623: 0x89E1,
+ 15624: 0x89E2,
+ 15625: 0x89E4,
+ 15626: 0x89E7,
+ 15627: 0x89E8,
+ 15628: 0x89E9,
+ 15629: 0x89EA,
+ 15630: 0x89EC,
+ 15631: 0x89ED,
+ 15632: 0x89EE,
+ 15633: 0x89F0,
+ 15634: 0x89F1,
+ 15635: 0x89F2,
+ 15636: 0x89F4,
+ 15637: 0x89F5,
+ 15638: 0x89F6,
+ 15639: 0x89F7,
+ 15640: 0x89F8,
+ 15641: 0x89F9,
+ 15642: 0x89FA,
+ 15643: 0x89FB,
+ 15644: 0x89FC,
+ 15645: 0x89FD,
+ 15646: 0x89FE,
+ 15647: 0x89FF,
+ 15648: 0x8A01,
+ 15649: 0x8A02,
+ 15650: 0x8A03,
+ 15651: 0x8A04,
+ 15652: 0x8A05,
+ 15653: 0x8A06,
+ 15654: 0x8A08,
+ 15655: 0x8A09,
+ 15656: 0x8A0A,
+ 15657: 0x8A0B,
+ 15658: 0x8A0C,
+ 15659: 0x8A0D,
+ 15660: 0x8A0E,
+ 15661: 0x8A0F,
+ 15662: 0x8A10,
+ 15663: 0x8A11,
+ 15664: 0x8A12,
+ 15665: 0x8A13,
+ 15666: 0x8A14,
+ 15667: 0x8A15,
+ 15668: 0x8A16,
+ 15669: 0x8A17,
+ 15670: 0x8A18,
+ 15671: 0x8A19,
+ 15672: 0x8A1A,
+ 15673: 0x8A1B,
+ 15674: 0x8A1C,
+ 15675: 0x8A1D,
+ 15676: 0x5370,
+ 15677: 0x82F1,
+ 15678: 0x6A31,
+ 15679: 0x5A74,
+ 15680: 0x9E70,
+ 15681: 0x5E94,
+ 15682: 0x7F28,
+ 15683: 0x83B9,
+ 15684: 0x8424,
+ 15685: 0x8425,
+ 15686: 0x8367,
+ 15687: 0x8747,
+ 15688: 0x8FCE,
+ 15689: 0x8D62,
+ 15690: 0x76C8,
+ 15691: 0x5F71,
+ 15692: 0x9896,
+ 15693: 0x786C,
+ 15694: 0x6620,
+ 15695: 0x54DF,
+ 15696: 0x62E5,
+ 15697: 0x4F63,
+ 15698: 0x81C3,
+ 15699: 0x75C8,
+ 15700: 0x5EB8,
+ 15701: 0x96CD,
+ 15702: 0x8E0A,
+ 15703: 0x86F9,
+ 15704: 0x548F,
+ 15705: 0x6CF3,
+ 15706: 0x6D8C,
+ 15707: 0x6C38,
+ 15708: 0x607F,
+ 15709: 0x52C7,
+ 15710: 0x7528,
+ 15711: 0x5E7D,
+ 15712: 0x4F18,
+ 15713: 0x60A0,
+ 15714: 0x5FE7,
+ 15715: 0x5C24,
+ 15716: 0x7531,
+ 15717: 0x90AE,
+ 15718: 0x94C0,
+ 15719: 0x72B9,
+ 15720: 0x6CB9,
+ 15721: 0x6E38,
+ 15722: 0x9149,
+ 15723: 0x6709,
+ 15724: 0x53CB,
+ 15725: 0x53F3,
+ 15726: 0x4F51,
+ 15727: 0x91C9,
+ 15728: 0x8BF1,
+ 15729: 0x53C8,
+ 15730: 0x5E7C,
+ 15731: 0x8FC2,
+ 15732: 0x6DE4,
+ 15733: 0x4E8E,
+ 15734: 0x76C2,
+ 15735: 0x6986,
+ 15736: 0x865E,
+ 15737: 0x611A,
+ 15738: 0x8206,
+ 15739: 0x4F59,
+ 15740: 0x4FDE,
+ 15741: 0x903E,
+ 15742: 0x9C7C,
+ 15743: 0x6109,
+ 15744: 0x6E1D,
+ 15745: 0x6E14,
+ 15746: 0x9685,
+ 15747: 0x4E88,
+ 15748: 0x5A31,
+ 15749: 0x96E8,
+ 15750: 0x4E0E,
+ 15751: 0x5C7F,
+ 15752: 0x79B9,
+ 15753: 0x5B87,
+ 15754: 0x8BED,
+ 15755: 0x7FBD,
+ 15756: 0x7389,
+ 15757: 0x57DF,
+ 15758: 0x828B,
+ 15759: 0x90C1,
+ 15760: 0x5401,
+ 15761: 0x9047,
+ 15762: 0x55BB,
+ 15763: 0x5CEA,
+ 15764: 0x5FA1,
+ 15765: 0x6108,
+ 15766: 0x6B32,
+ 15767: 0x72F1,
+ 15768: 0x80B2,
+ 15769: 0x8A89,
+ 15770: 0x8A1E,
+ 15771: 0x8A1F,
+ 15772: 0x8A20,
+ 15773: 0x8A21,
+ 15774: 0x8A22,
+ 15775: 0x8A23,
+ 15776: 0x8A24,
+ 15777: 0x8A25,
+ 15778: 0x8A26,
+ 15779: 0x8A27,
+ 15780: 0x8A28,
+ 15781: 0x8A29,
+ 15782: 0x8A2A,
+ 15783: 0x8A2B,
+ 15784: 0x8A2C,
+ 15785: 0x8A2D,
+ 15786: 0x8A2E,
+ 15787: 0x8A2F,
+ 15788: 0x8A30,
+ 15789: 0x8A31,
+ 15790: 0x8A32,
+ 15791: 0x8A33,
+ 15792: 0x8A34,
+ 15793: 0x8A35,
+ 15794: 0x8A36,
+ 15795: 0x8A37,
+ 15796: 0x8A38,
+ 15797: 0x8A39,
+ 15798: 0x8A3A,
+ 15799: 0x8A3B,
+ 15800: 0x8A3C,
+ 15801: 0x8A3D,
+ 15802: 0x8A3F,
+ 15803: 0x8A40,
+ 15804: 0x8A41,
+ 15805: 0x8A42,
+ 15806: 0x8A43,
+ 15807: 0x8A44,
+ 15808: 0x8A45,
+ 15809: 0x8A46,
+ 15810: 0x8A47,
+ 15811: 0x8A49,
+ 15812: 0x8A4A,
+ 15813: 0x8A4B,
+ 15814: 0x8A4C,
+ 15815: 0x8A4D,
+ 15816: 0x8A4E,
+ 15817: 0x8A4F,
+ 15818: 0x8A50,
+ 15819: 0x8A51,
+ 15820: 0x8A52,
+ 15821: 0x8A53,
+ 15822: 0x8A54,
+ 15823: 0x8A55,
+ 15824: 0x8A56,
+ 15825: 0x8A57,
+ 15826: 0x8A58,
+ 15827: 0x8A59,
+ 15828: 0x8A5A,
+ 15829: 0x8A5B,
+ 15830: 0x8A5C,
+ 15831: 0x8A5D,
+ 15832: 0x8A5E,
+ 15833: 0x8A5F,
+ 15834: 0x8A60,
+ 15835: 0x8A61,
+ 15836: 0x8A62,
+ 15837: 0x8A63,
+ 15838: 0x8A64,
+ 15839: 0x8A65,
+ 15840: 0x8A66,
+ 15841: 0x8A67,
+ 15842: 0x8A68,
+ 15843: 0x8A69,
+ 15844: 0x8A6A,
+ 15845: 0x8A6B,
+ 15846: 0x8A6C,
+ 15847: 0x8A6D,
+ 15848: 0x8A6E,
+ 15849: 0x8A6F,
+ 15850: 0x8A70,
+ 15851: 0x8A71,
+ 15852: 0x8A72,
+ 15853: 0x8A73,
+ 15854: 0x8A74,
+ 15855: 0x8A75,
+ 15856: 0x8A76,
+ 15857: 0x8A77,
+ 15858: 0x8A78,
+ 15859: 0x8A7A,
+ 15860: 0x8A7B,
+ 15861: 0x8A7C,
+ 15862: 0x8A7D,
+ 15863: 0x8A7E,
+ 15864: 0x8A7F,
+ 15865: 0x8A80,
+ 15866: 0x6D74,
+ 15867: 0x5BD3,
+ 15868: 0x88D5,
+ 15869: 0x9884,
+ 15870: 0x8C6B,
+ 15871: 0x9A6D,
+ 15872: 0x9E33,
+ 15873: 0x6E0A,
+ 15874: 0x51A4,
+ 15875: 0x5143,
+ 15876: 0x57A3,
+ 15877: 0x8881,
+ 15878: 0x539F,
+ 15879: 0x63F4,
+ 15880: 0x8F95,
+ 15881: 0x56ED,
+ 15882: 0x5458,
+ 15883: 0x5706,
+ 15884: 0x733F,
+ 15885: 0x6E90,
+ 15886: 0x7F18,
+ 15887: 0x8FDC,
+ 15888: 0x82D1,
+ 15889: 0x613F,
+ 15890: 0x6028,
+ 15891: 0x9662,
+ 15892: 0x66F0,
+ 15893: 0x7EA6,
+ 15894: 0x8D8A,
+ 15895: 0x8DC3,
+ 15896: 0x94A5,
+ 15897: 0x5CB3,
+ 15898: 0x7CA4,
+ 15899: 0x6708,
+ 15900: 0x60A6,
+ 15901: 0x9605,
+ 15902: 0x8018,
+ 15903: 0x4E91,
+ 15904: 0x90E7,
+ 15905: 0x5300,
+ 15906: 0x9668,
+ 15907: 0x5141,
+ 15908: 0x8FD0,
+ 15909: 0x8574,
+ 15910: 0x915D,
+ 15911: 0x6655,
+ 15912: 0x97F5,
+ 15913: 0x5B55,
+ 15914: 0x531D,
+ 15915: 0x7838,
+ 15916: 0x6742,
+ 15917: 0x683D,
+ 15918: 0x54C9,
+ 15919: 0x707E,
+ 15920: 0x5BB0,
+ 15921: 0x8F7D,
+ 15922: 0x518D,
+ 15923: 0x5728,
+ 15924: 0x54B1,
+ 15925: 0x6512,
+ 15926: 0x6682,
+ 15927: 0x8D5E,
+ 15928: 0x8D43,
+ 15929: 0x810F,
+ 15930: 0x846C,
+ 15931: 0x906D,
+ 15932: 0x7CDF,
+ 15933: 0x51FF,
+ 15934: 0x85FB,
+ 15935: 0x67A3,
+ 15936: 0x65E9,
+ 15937: 0x6FA1,
+ 15938: 0x86A4,
+ 15939: 0x8E81,
+ 15940: 0x566A,
+ 15941: 0x9020,
+ 15942: 0x7682,
+ 15943: 0x7076,
+ 15944: 0x71E5,
+ 15945: 0x8D23,
+ 15946: 0x62E9,
+ 15947: 0x5219,
+ 15948: 0x6CFD,
+ 15949: 0x8D3C,
+ 15950: 0x600E,
+ 15951: 0x589E,
+ 15952: 0x618E,
+ 15953: 0x66FE,
+ 15954: 0x8D60,
+ 15955: 0x624E,
+ 15956: 0x55B3,
+ 15957: 0x6E23,
+ 15958: 0x672D,
+ 15959: 0x8F67,
+ 15960: 0x8A81,
+ 15961: 0x8A82,
+ 15962: 0x8A83,
+ 15963: 0x8A84,
+ 15964: 0x8A85,
+ 15965: 0x8A86,
+ 15966: 0x8A87,
+ 15967: 0x8A88,
+ 15968: 0x8A8B,
+ 15969: 0x8A8C,
+ 15970: 0x8A8D,
+ 15971: 0x8A8E,
+ 15972: 0x8A8F,
+ 15973: 0x8A90,
+ 15974: 0x8A91,
+ 15975: 0x8A92,
+ 15976: 0x8A94,
+ 15977: 0x8A95,
+ 15978: 0x8A96,
+ 15979: 0x8A97,
+ 15980: 0x8A98,
+ 15981: 0x8A99,
+ 15982: 0x8A9A,
+ 15983: 0x8A9B,
+ 15984: 0x8A9C,
+ 15985: 0x8A9D,
+ 15986: 0x8A9E,
+ 15987: 0x8A9F,
+ 15988: 0x8AA0,
+ 15989: 0x8AA1,
+ 15990: 0x8AA2,
+ 15991: 0x8AA3,
+ 15992: 0x8AA4,
+ 15993: 0x8AA5,
+ 15994: 0x8AA6,
+ 15995: 0x8AA7,
+ 15996: 0x8AA8,
+ 15997: 0x8AA9,
+ 15998: 0x8AAA,
+ 15999: 0x8AAB,
+ 16000: 0x8AAC,
+ 16001: 0x8AAD,
+ 16002: 0x8AAE,
+ 16003: 0x8AAF,
+ 16004: 0x8AB0,
+ 16005: 0x8AB1,
+ 16006: 0x8AB2,
+ 16007: 0x8AB3,
+ 16008: 0x8AB4,
+ 16009: 0x8AB5,
+ 16010: 0x8AB6,
+ 16011: 0x8AB7,
+ 16012: 0x8AB8,
+ 16013: 0x8AB9,
+ 16014: 0x8ABA,
+ 16015: 0x8ABB,
+ 16016: 0x8ABC,
+ 16017: 0x8ABD,
+ 16018: 0x8ABE,
+ 16019: 0x8ABF,
+ 16020: 0x8AC0,
+ 16021: 0x8AC1,
+ 16022: 0x8AC2,
+ 16023: 0x8AC3,
+ 16024: 0x8AC4,
+ 16025: 0x8AC5,
+ 16026: 0x8AC6,
+ 16027: 0x8AC7,
+ 16028: 0x8AC8,
+ 16029: 0x8AC9,
+ 16030: 0x8ACA,
+ 16031: 0x8ACB,
+ 16032: 0x8ACC,
+ 16033: 0x8ACD,
+ 16034: 0x8ACE,
+ 16035: 0x8ACF,
+ 16036: 0x8AD0,
+ 16037: 0x8AD1,
+ 16038: 0x8AD2,
+ 16039: 0x8AD3,
+ 16040: 0x8AD4,
+ 16041: 0x8AD5,
+ 16042: 0x8AD6,
+ 16043: 0x8AD7,
+ 16044: 0x8AD8,
+ 16045: 0x8AD9,
+ 16046: 0x8ADA,
+ 16047: 0x8ADB,
+ 16048: 0x8ADC,
+ 16049: 0x8ADD,
+ 16050: 0x8ADE,
+ 16051: 0x8ADF,
+ 16052: 0x8AE0,
+ 16053: 0x8AE1,
+ 16054: 0x8AE2,
+ 16055: 0x8AE3,
+ 16056: 0x94E1,
+ 16057: 0x95F8,
+ 16058: 0x7728,
+ 16059: 0x6805,
+ 16060: 0x69A8,
+ 16061: 0x548B,
+ 16062: 0x4E4D,
+ 16063: 0x70B8,
+ 16064: 0x8BC8,
+ 16065: 0x6458,
+ 16066: 0x658B,
+ 16067: 0x5B85,
+ 16068: 0x7A84,
+ 16069: 0x503A,
+ 16070: 0x5BE8,
+ 16071: 0x77BB,
+ 16072: 0x6BE1,
+ 16073: 0x8A79,
+ 16074: 0x7C98,
+ 16075: 0x6CBE,
+ 16076: 0x76CF,
+ 16077: 0x65A9,
+ 16078: 0x8F97,
+ 16079: 0x5D2D,
+ 16080: 0x5C55,
+ 16081: 0x8638,
+ 16082: 0x6808,
+ 16083: 0x5360,
+ 16084: 0x6218,
+ 16085: 0x7AD9,
+ 16086: 0x6E5B,
+ 16087: 0x7EFD,
+ 16088: 0x6A1F,
+ 16089: 0x7AE0,
+ 16090: 0x5F70,
+ 16091: 0x6F33,
+ 16092: 0x5F20,
+ 16093: 0x638C,
+ 16094: 0x6DA8,
+ 16095: 0x6756,
+ 16096: 0x4E08,
+ 16097: 0x5E10,
+ 16098: 0x8D26,
+ 16099: 0x4ED7,
+ 16100: 0x80C0,
+ 16101: 0x7634,
+ 16102: 0x969C,
+ 16103: 0x62DB,
+ 16104: 0x662D,
+ 16105: 0x627E,
+ 16106: 0x6CBC,
+ 16107: 0x8D75,
+ 16108: 0x7167,
+ 16109: 0x7F69,
+ 16110: 0x5146,
+ 16111: 0x8087,
+ 16112: 0x53EC,
+ 16113: 0x906E,
+ 16114: 0x6298,
+ 16115: 0x54F2,
+ 16116: 0x86F0,
+ 16117: 0x8F99,
+ 16118: 0x8005,
+ 16119: 0x9517,
+ 16120: 0x8517,
+ 16121: 0x8FD9,
+ 16122: 0x6D59,
+ 16123: 0x73CD,
+ 16124: 0x659F,
+ 16125: 0x771F,
+ 16126: 0x7504,
+ 16127: 0x7827,
+ 16128: 0x81FB,
+ 16129: 0x8D1E,
+ 16130: 0x9488,
+ 16131: 0x4FA6,
+ 16132: 0x6795,
+ 16133: 0x75B9,
+ 16134: 0x8BCA,
+ 16135: 0x9707,
+ 16136: 0x632F,
+ 16137: 0x9547,
+ 16138: 0x9635,
+ 16139: 0x84B8,
+ 16140: 0x6323,
+ 16141: 0x7741,
+ 16142: 0x5F81,
+ 16143: 0x72F0,
+ 16144: 0x4E89,
+ 16145: 0x6014,
+ 16146: 0x6574,
+ 16147: 0x62EF,
+ 16148: 0x6B63,
+ 16149: 0x653F,
+ 16150: 0x8AE4,
+ 16151: 0x8AE5,
+ 16152: 0x8AE6,
+ 16153: 0x8AE7,
+ 16154: 0x8AE8,
+ 16155: 0x8AE9,
+ 16156: 0x8AEA,
+ 16157: 0x8AEB,
+ 16158: 0x8AEC,
+ 16159: 0x8AED,
+ 16160: 0x8AEE,
+ 16161: 0x8AEF,
+ 16162: 0x8AF0,
+ 16163: 0x8AF1,
+ 16164: 0x8AF2,
+ 16165: 0x8AF3,
+ 16166: 0x8AF4,
+ 16167: 0x8AF5,
+ 16168: 0x8AF6,
+ 16169: 0x8AF7,
+ 16170: 0x8AF8,
+ 16171: 0x8AF9,
+ 16172: 0x8AFA,
+ 16173: 0x8AFB,
+ 16174: 0x8AFC,
+ 16175: 0x8AFD,
+ 16176: 0x8AFE,
+ 16177: 0x8AFF,
+ 16178: 0x8B00,
+ 16179: 0x8B01,
+ 16180: 0x8B02,
+ 16181: 0x8B03,
+ 16182: 0x8B04,
+ 16183: 0x8B05,
+ 16184: 0x8B06,
+ 16185: 0x8B08,
+ 16186: 0x8B09,
+ 16187: 0x8B0A,
+ 16188: 0x8B0B,
+ 16189: 0x8B0C,
+ 16190: 0x8B0D,
+ 16191: 0x8B0E,
+ 16192: 0x8B0F,
+ 16193: 0x8B10,
+ 16194: 0x8B11,
+ 16195: 0x8B12,
+ 16196: 0x8B13,
+ 16197: 0x8B14,
+ 16198: 0x8B15,
+ 16199: 0x8B16,
+ 16200: 0x8B17,
+ 16201: 0x8B18,
+ 16202: 0x8B19,
+ 16203: 0x8B1A,
+ 16204: 0x8B1B,
+ 16205: 0x8B1C,
+ 16206: 0x8B1D,
+ 16207: 0x8B1E,
+ 16208: 0x8B1F,
+ 16209: 0x8B20,
+ 16210: 0x8B21,
+ 16211: 0x8B22,
+ 16212: 0x8B23,
+ 16213: 0x8B24,
+ 16214: 0x8B25,
+ 16215: 0x8B27,
+ 16216: 0x8B28,
+ 16217: 0x8B29,
+ 16218: 0x8B2A,
+ 16219: 0x8B2B,
+ 16220: 0x8B2C,
+ 16221: 0x8B2D,
+ 16222: 0x8B2E,
+ 16223: 0x8B2F,
+ 16224: 0x8B30,
+ 16225: 0x8B31,
+ 16226: 0x8B32,
+ 16227: 0x8B33,
+ 16228: 0x8B34,
+ 16229: 0x8B35,
+ 16230: 0x8B36,
+ 16231: 0x8B37,
+ 16232: 0x8B38,
+ 16233: 0x8B39,
+ 16234: 0x8B3A,
+ 16235: 0x8B3B,
+ 16236: 0x8B3C,
+ 16237: 0x8B3D,
+ 16238: 0x8B3E,
+ 16239: 0x8B3F,
+ 16240: 0x8B40,
+ 16241: 0x8B41,
+ 16242: 0x8B42,
+ 16243: 0x8B43,
+ 16244: 0x8B44,
+ 16245: 0x8B45,
+ 16246: 0x5E27,
+ 16247: 0x75C7,
+ 16248: 0x90D1,
+ 16249: 0x8BC1,
+ 16250: 0x829D,
+ 16251: 0x679D,
+ 16252: 0x652F,
+ 16253: 0x5431,
+ 16254: 0x8718,
+ 16255: 0x77E5,
+ 16256: 0x80A2,
+ 16257: 0x8102,
+ 16258: 0x6C41,
+ 16259: 0x4E4B,
+ 16260: 0x7EC7,
+ 16261: 0x804C,
+ 16262: 0x76F4,
+ 16263: 0x690D,
+ 16264: 0x6B96,
+ 16265: 0x6267,
+ 16266: 0x503C,
+ 16267: 0x4F84,
+ 16268: 0x5740,
+ 16269: 0x6307,
+ 16270: 0x6B62,
+ 16271: 0x8DBE,
+ 16272: 0x53EA,
+ 16273: 0x65E8,
+ 16274: 0x7EB8,
+ 16275: 0x5FD7,
+ 16276: 0x631A,
+ 16277: 0x63B7,
+ 16278: 0x81F3,
+ 16279: 0x81F4,
+ 16280: 0x7F6E,
+ 16281: 0x5E1C,
+ 16282: 0x5CD9,
+ 16283: 0x5236,
+ 16284: 0x667A,
+ 16285: 0x79E9,
+ 16286: 0x7A1A,
+ 16287: 0x8D28,
+ 16288: 0x7099,
+ 16289: 0x75D4,
+ 16290: 0x6EDE,
+ 16291: 0x6CBB,
+ 16292: 0x7A92,
+ 16293: 0x4E2D,
+ 16294: 0x76C5,
+ 16295: 0x5FE0,
+ 16296: 0x949F,
+ 16297: 0x8877,
+ 16298: 0x7EC8,
+ 16299: 0x79CD,
+ 16300: 0x80BF,
+ 16301: 0x91CD,
+ 16302: 0x4EF2,
+ 16303: 0x4F17,
+ 16304: 0x821F,
+ 16305: 0x5468,
+ 16306: 0x5DDE,
+ 16307: 0x6D32,
+ 16308: 0x8BCC,
+ 16309: 0x7CA5,
+ 16310: 0x8F74,
+ 16311: 0x8098,
+ 16312: 0x5E1A,
+ 16313: 0x5492,
+ 16314: 0x76B1,
+ 16315: 0x5B99,
+ 16316: 0x663C,
+ 16317: 0x9AA4,
+ 16318: 0x73E0,
+ 16319: 0x682A,
+ 16320: 0x86DB,
+ 16321: 0x6731,
+ 16322: 0x732A,
+ 16323: 0x8BF8,
+ 16324: 0x8BDB,
+ 16325: 0x9010,
+ 16326: 0x7AF9,
+ 16327: 0x70DB,
+ 16328: 0x716E,
+ 16329: 0x62C4,
+ 16330: 0x77A9,
+ 16331: 0x5631,
+ 16332: 0x4E3B,
+ 16333: 0x8457,
+ 16334: 0x67F1,
+ 16335: 0x52A9,
+ 16336: 0x86C0,
+ 16337: 0x8D2E,
+ 16338: 0x94F8,
+ 16339: 0x7B51,
+ 16340: 0x8B46,
+ 16341: 0x8B47,
+ 16342: 0x8B48,
+ 16343: 0x8B49,
+ 16344: 0x8B4A,
+ 16345: 0x8B4B,
+ 16346: 0x8B4C,
+ 16347: 0x8B4D,
+ 16348: 0x8B4E,
+ 16349: 0x8B4F,
+ 16350: 0x8B50,
+ 16351: 0x8B51,
+ 16352: 0x8B52,
+ 16353: 0x8B53,
+ 16354: 0x8B54,
+ 16355: 0x8B55,
+ 16356: 0x8B56,
+ 16357: 0x8B57,
+ 16358: 0x8B58,
+ 16359: 0x8B59,
+ 16360: 0x8B5A,
+ 16361: 0x8B5B,
+ 16362: 0x8B5C,
+ 16363: 0x8B5D,
+ 16364: 0x8B5E,
+ 16365: 0x8B5F,
+ 16366: 0x8B60,
+ 16367: 0x8B61,
+ 16368: 0x8B62,
+ 16369: 0x8B63,
+ 16370: 0x8B64,
+ 16371: 0x8B65,
+ 16372: 0x8B67,
+ 16373: 0x8B68,
+ 16374: 0x8B69,
+ 16375: 0x8B6A,
+ 16376: 0x8B6B,
+ 16377: 0x8B6D,
+ 16378: 0x8B6E,
+ 16379: 0x8B6F,
+ 16380: 0x8B70,
+ 16381: 0x8B71,
+ 16382: 0x8B72,
+ 16383: 0x8B73,
+ 16384: 0x8B74,
+ 16385: 0x8B75,
+ 16386: 0x8B76,
+ 16387: 0x8B77,
+ 16388: 0x8B78,
+ 16389: 0x8B79,
+ 16390: 0x8B7A,
+ 16391: 0x8B7B,
+ 16392: 0x8B7C,
+ 16393: 0x8B7D,
+ 16394: 0x8B7E,
+ 16395: 0x8B7F,
+ 16396: 0x8B80,
+ 16397: 0x8B81,
+ 16398: 0x8B82,
+ 16399: 0x8B83,
+ 16400: 0x8B84,
+ 16401: 0x8B85,
+ 16402: 0x8B86,
+ 16403: 0x8B87,
+ 16404: 0x8B88,
+ 16405: 0x8B89,
+ 16406: 0x8B8A,
+ 16407: 0x8B8B,
+ 16408: 0x8B8C,
+ 16409: 0x8B8D,
+ 16410: 0x8B8E,
+ 16411: 0x8B8F,
+ 16412: 0x8B90,
+ 16413: 0x8B91,
+ 16414: 0x8B92,
+ 16415: 0x8B93,
+ 16416: 0x8B94,
+ 16417: 0x8B95,
+ 16418: 0x8B96,
+ 16419: 0x8B97,
+ 16420: 0x8B98,
+ 16421: 0x8B99,
+ 16422: 0x8B9A,
+ 16423: 0x8B9B,
+ 16424: 0x8B9C,
+ 16425: 0x8B9D,
+ 16426: 0x8B9E,
+ 16427: 0x8B9F,
+ 16428: 0x8BAC,
+ 16429: 0x8BB1,
+ 16430: 0x8BBB,
+ 16431: 0x8BC7,
+ 16432: 0x8BD0,
+ 16433: 0x8BEA,
+ 16434: 0x8C09,
+ 16435: 0x8C1E,
+ 16436: 0x4F4F,
+ 16437: 0x6CE8,
+ 16438: 0x795D,
+ 16439: 0x9A7B,
+ 16440: 0x6293,
+ 16441: 0x722A,
+ 16442: 0x62FD,
+ 16443: 0x4E13,
+ 16444: 0x7816,
+ 16445: 0x8F6C,
+ 16446: 0x64B0,
+ 16447: 0x8D5A,
+ 16448: 0x7BC6,
+ 16449: 0x6869,
+ 16450: 0x5E84,
+ 16451: 0x88C5,
+ 16452: 0x5986,
+ 16453: 0x649E,
+ 16454: 0x58EE,
+ 16455: 0x72B6,
+ 16456: 0x690E,
+ 16457: 0x9525,
+ 16458: 0x8FFD,
+ 16459: 0x8D58,
+ 16460: 0x5760,
+ 16461: 0x7F00,
+ 16462: 0x8C06,
+ 16463: 0x51C6,
+ 16464: 0x6349,
+ 16465: 0x62D9,
+ 16466: 0x5353,
+ 16467: 0x684C,
+ 16468: 0x7422,
+ 16469: 0x8301,
+ 16470: 0x914C,
+ 16471: 0x5544,
+ 16472: 0x7740,
+ 16473: 0x707C,
+ 16474: 0x6D4A,
+ 16475: 0x5179,
+ 16476: 0x54A8,
+ 16477: 0x8D44,
+ 16478: 0x59FF,
+ 16479: 0x6ECB,
+ 16480: 0x6DC4,
+ 16481: 0x5B5C,
+ 16482: 0x7D2B,
+ 16483: 0x4ED4,
+ 16484: 0x7C7D,
+ 16485: 0x6ED3,
+ 16486: 0x5B50,
+ 16487: 0x81EA,
+ 16488: 0x6E0D,
+ 16489: 0x5B57,
+ 16490: 0x9B03,
+ 16491: 0x68D5,
+ 16492: 0x8E2A,
+ 16493: 0x5B97,
+ 16494: 0x7EFC,
+ 16495: 0x603B,
+ 16496: 0x7EB5,
+ 16497: 0x90B9,
+ 16498: 0x8D70,
+ 16499: 0x594F,
+ 16500: 0x63CD,
+ 16501: 0x79DF,
+ 16502: 0x8DB3,
+ 16503: 0x5352,
+ 16504: 0x65CF,
+ 16505: 0x7956,
+ 16506: 0x8BC5,
+ 16507: 0x963B,
+ 16508: 0x7EC4,
+ 16509: 0x94BB,
+ 16510: 0x7E82,
+ 16511: 0x5634,
+ 16512: 0x9189,
+ 16513: 0x6700,
+ 16514: 0x7F6A,
+ 16515: 0x5C0A,
+ 16516: 0x9075,
+ 16517: 0x6628,
+ 16518: 0x5DE6,
+ 16519: 0x4F50,
+ 16520: 0x67DE,
+ 16521: 0x505A,
+ 16522: 0x4F5C,
+ 16523: 0x5750,
+ 16524: 0x5EA7,
+ 16530: 0x8C38,
+ 16531: 0x8C39,
+ 16532: 0x8C3A,
+ 16533: 0x8C3B,
+ 16534: 0x8C3C,
+ 16535: 0x8C3D,
+ 16536: 0x8C3E,
+ 16537: 0x8C3F,
+ 16538: 0x8C40,
+ 16539: 0x8C42,
+ 16540: 0x8C43,
+ 16541: 0x8C44,
+ 16542: 0x8C45,
+ 16543: 0x8C48,
+ 16544: 0x8C4A,
+ 16545: 0x8C4B,
+ 16546: 0x8C4D,
+ 16547: 0x8C4E,
+ 16548: 0x8C4F,
+ 16549: 0x8C50,
+ 16550: 0x8C51,
+ 16551: 0x8C52,
+ 16552: 0x8C53,
+ 16553: 0x8C54,
+ 16554: 0x8C56,
+ 16555: 0x8C57,
+ 16556: 0x8C58,
+ 16557: 0x8C59,
+ 16558: 0x8C5B,
+ 16559: 0x8C5C,
+ 16560: 0x8C5D,
+ 16561: 0x8C5E,
+ 16562: 0x8C5F,
+ 16563: 0x8C60,
+ 16564: 0x8C63,
+ 16565: 0x8C64,
+ 16566: 0x8C65,
+ 16567: 0x8C66,
+ 16568: 0x8C67,
+ 16569: 0x8C68,
+ 16570: 0x8C69,
+ 16571: 0x8C6C,
+ 16572: 0x8C6D,
+ 16573: 0x8C6E,
+ 16574: 0x8C6F,
+ 16575: 0x8C70,
+ 16576: 0x8C71,
+ 16577: 0x8C72,
+ 16578: 0x8C74,
+ 16579: 0x8C75,
+ 16580: 0x8C76,
+ 16581: 0x8C77,
+ 16582: 0x8C7B,
+ 16583: 0x8C7C,
+ 16584: 0x8C7D,
+ 16585: 0x8C7E,
+ 16586: 0x8C7F,
+ 16587: 0x8C80,
+ 16588: 0x8C81,
+ 16589: 0x8C83,
+ 16590: 0x8C84,
+ 16591: 0x8C86,
+ 16592: 0x8C87,
+ 16593: 0x8C88,
+ 16594: 0x8C8B,
+ 16595: 0x8C8D,
+ 16596: 0x8C8E,
+ 16597: 0x8C8F,
+ 16598: 0x8C90,
+ 16599: 0x8C91,
+ 16600: 0x8C92,
+ 16601: 0x8C93,
+ 16602: 0x8C95,
+ 16603: 0x8C96,
+ 16604: 0x8C97,
+ 16605: 0x8C99,
+ 16606: 0x8C9A,
+ 16607: 0x8C9B,
+ 16608: 0x8C9C,
+ 16609: 0x8C9D,
+ 16610: 0x8C9E,
+ 16611: 0x8C9F,
+ 16612: 0x8CA0,
+ 16613: 0x8CA1,
+ 16614: 0x8CA2,
+ 16615: 0x8CA3,
+ 16616: 0x8CA4,
+ 16617: 0x8CA5,
+ 16618: 0x8CA6,
+ 16619: 0x8CA7,
+ 16620: 0x8CA8,
+ 16621: 0x8CA9,
+ 16622: 0x8CAA,
+ 16623: 0x8CAB,
+ 16624: 0x8CAC,
+ 16625: 0x8CAD,
+ 16626: 0x4E8D,
+ 16627: 0x4E0C,
+ 16628: 0x5140,
+ 16629: 0x4E10,
+ 16630: 0x5EFF,
+ 16631: 0x5345,
+ 16632: 0x4E15,
+ 16633: 0x4E98,
+ 16634: 0x4E1E,
+ 16635: 0x9B32,
+ 16636: 0x5B6C,
+ 16637: 0x5669,
+ 16638: 0x4E28,
+ 16639: 0x79BA,
+ 16640: 0x4E3F,
+ 16641: 0x5315,
+ 16642: 0x4E47,
+ 16643: 0x592D,
+ 16644: 0x723B,
+ 16645: 0x536E,
+ 16646: 0x6C10,
+ 16647: 0x56DF,
+ 16648: 0x80E4,
+ 16649: 0x9997,
+ 16650: 0x6BD3,
+ 16651: 0x777E,
+ 16652: 0x9F17,
+ 16653: 0x4E36,
+ 16654: 0x4E9F,
+ 16655: 0x9F10,
+ 16656: 0x4E5C,
+ 16657: 0x4E69,
+ 16658: 0x4E93,
+ 16659: 0x8288,
+ 16660: 0x5B5B,
+ 16661: 0x556C,
+ 16662: 0x560F,
+ 16663: 0x4EC4,
+ 16664: 0x538D,
+ 16665: 0x539D,
+ 16666: 0x53A3,
+ 16667: 0x53A5,
+ 16668: 0x53AE,
+ 16669: 0x9765,
+ 16670: 0x8D5D,
+ 16671: 0x531A,
+ 16672: 0x53F5,
+ 16673: 0x5326,
+ 16674: 0x532E,
+ 16675: 0x533E,
+ 16676: 0x8D5C,
+ 16677: 0x5366,
+ 16678: 0x5363,
+ 16679: 0x5202,
+ 16680: 0x5208,
+ 16681: 0x520E,
+ 16682: 0x522D,
+ 16683: 0x5233,
+ 16684: 0x523F,
+ 16685: 0x5240,
+ 16686: 0x524C,
+ 16687: 0x525E,
+ 16688: 0x5261,
+ 16689: 0x525C,
+ 16690: 0x84AF,
+ 16691: 0x527D,
+ 16692: 0x5282,
+ 16693: 0x5281,
+ 16694: 0x5290,
+ 16695: 0x5293,
+ 16696: 0x5182,
+ 16697: 0x7F54,
+ 16698: 0x4EBB,
+ 16699: 0x4EC3,
+ 16700: 0x4EC9,
+ 16701: 0x4EC2,
+ 16702: 0x4EE8,
+ 16703: 0x4EE1,
+ 16704: 0x4EEB,
+ 16705: 0x4EDE,
+ 16706: 0x4F1B,
+ 16707: 0x4EF3,
+ 16708: 0x4F22,
+ 16709: 0x4F64,
+ 16710: 0x4EF5,
+ 16711: 0x4F25,
+ 16712: 0x4F27,
+ 16713: 0x4F09,
+ 16714: 0x4F2B,
+ 16715: 0x4F5E,
+ 16716: 0x4F67,
+ 16717: 0x6538,
+ 16718: 0x4F5A,
+ 16719: 0x4F5D,
+ 16720: 0x8CAE,
+ 16721: 0x8CAF,
+ 16722: 0x8CB0,
+ 16723: 0x8CB1,
+ 16724: 0x8CB2,
+ 16725: 0x8CB3,
+ 16726: 0x8CB4,
+ 16727: 0x8CB5,
+ 16728: 0x8CB6,
+ 16729: 0x8CB7,
+ 16730: 0x8CB8,
+ 16731: 0x8CB9,
+ 16732: 0x8CBA,
+ 16733: 0x8CBB,
+ 16734: 0x8CBC,
+ 16735: 0x8CBD,
+ 16736: 0x8CBE,
+ 16737: 0x8CBF,
+ 16738: 0x8CC0,
+ 16739: 0x8CC1,
+ 16740: 0x8CC2,
+ 16741: 0x8CC3,
+ 16742: 0x8CC4,
+ 16743: 0x8CC5,
+ 16744: 0x8CC6,
+ 16745: 0x8CC7,
+ 16746: 0x8CC8,
+ 16747: 0x8CC9,
+ 16748: 0x8CCA,
+ 16749: 0x8CCB,
+ 16750: 0x8CCC,
+ 16751: 0x8CCD,
+ 16752: 0x8CCE,
+ 16753: 0x8CCF,
+ 16754: 0x8CD0,
+ 16755: 0x8CD1,
+ 16756: 0x8CD2,
+ 16757: 0x8CD3,
+ 16758: 0x8CD4,
+ 16759: 0x8CD5,
+ 16760: 0x8CD6,
+ 16761: 0x8CD7,
+ 16762: 0x8CD8,
+ 16763: 0x8CD9,
+ 16764: 0x8CDA,
+ 16765: 0x8CDB,
+ 16766: 0x8CDC,
+ 16767: 0x8CDD,
+ 16768: 0x8CDE,
+ 16769: 0x8CDF,
+ 16770: 0x8CE0,
+ 16771: 0x8CE1,
+ 16772: 0x8CE2,
+ 16773: 0x8CE3,
+ 16774: 0x8CE4,
+ 16775: 0x8CE5,
+ 16776: 0x8CE6,
+ 16777: 0x8CE7,
+ 16778: 0x8CE8,
+ 16779: 0x8CE9,
+ 16780: 0x8CEA,
+ 16781: 0x8CEB,
+ 16782: 0x8CEC,
+ 16783: 0x8CED,
+ 16784: 0x8CEE,
+ 16785: 0x8CEF,
+ 16786: 0x8CF0,
+ 16787: 0x8CF1,
+ 16788: 0x8CF2,
+ 16789: 0x8CF3,
+ 16790: 0x8CF4,
+ 16791: 0x8CF5,
+ 16792: 0x8CF6,
+ 16793: 0x8CF7,
+ 16794: 0x8CF8,
+ 16795: 0x8CF9,
+ 16796: 0x8CFA,
+ 16797: 0x8CFB,
+ 16798: 0x8CFC,
+ 16799: 0x8CFD,
+ 16800: 0x8CFE,
+ 16801: 0x8CFF,
+ 16802: 0x8D00,
+ 16803: 0x8D01,
+ 16804: 0x8D02,
+ 16805: 0x8D03,
+ 16806: 0x8D04,
+ 16807: 0x8D05,
+ 16808: 0x8D06,
+ 16809: 0x8D07,
+ 16810: 0x8D08,
+ 16811: 0x8D09,
+ 16812: 0x8D0A,
+ 16813: 0x8D0B,
+ 16814: 0x8D0C,
+ 16815: 0x8D0D,
+ 16816: 0x4F5F,
+ 16817: 0x4F57,
+ 16818: 0x4F32,
+ 16819: 0x4F3D,
+ 16820: 0x4F76,
+ 16821: 0x4F74,
+ 16822: 0x4F91,
+ 16823: 0x4F89,
+ 16824: 0x4F83,
+ 16825: 0x4F8F,
+ 16826: 0x4F7E,
+ 16827: 0x4F7B,
+ 16828: 0x4FAA,
+ 16829: 0x4F7C,
+ 16830: 0x4FAC,
+ 16831: 0x4F94,
+ 16832: 0x4FE6,
+ 16833: 0x4FE8,
+ 16834: 0x4FEA,
+ 16835: 0x4FC5,
+ 16836: 0x4FDA,
+ 16837: 0x4FE3,
+ 16838: 0x4FDC,
+ 16839: 0x4FD1,
+ 16840: 0x4FDF,
+ 16841: 0x4FF8,
+ 16842: 0x5029,
+ 16843: 0x504C,
+ 16844: 0x4FF3,
+ 16845: 0x502C,
+ 16846: 0x500F,
+ 16847: 0x502E,
+ 16848: 0x502D,
+ 16849: 0x4FFE,
+ 16850: 0x501C,
+ 16851: 0x500C,
+ 16852: 0x5025,
+ 16853: 0x5028,
+ 16854: 0x507E,
+ 16855: 0x5043,
+ 16856: 0x5055,
+ 16857: 0x5048,
+ 16858: 0x504E,
+ 16859: 0x506C,
+ 16860: 0x507B,
+ 16861: 0x50A5,
+ 16862: 0x50A7,
+ 16863: 0x50A9,
+ 16864: 0x50BA,
+ 16865: 0x50D6,
+ 16866: 0x5106,
+ 16867: 0x50ED,
+ 16868: 0x50EC,
+ 16869: 0x50E6,
+ 16870: 0x50EE,
+ 16871: 0x5107,
+ 16872: 0x510B,
+ 16873: 0x4EDD,
+ 16874: 0x6C3D,
+ 16875: 0x4F58,
+ 16876: 0x4F65,
+ 16877: 0x4FCE,
+ 16878: 0x9FA0,
+ 16879: 0x6C46,
+ 16880: 0x7C74,
+ 16881: 0x516E,
+ 16882: 0x5DFD,
+ 16883: 0x9EC9,
+ 16884: 0x9998,
+ 16885: 0x5181,
+ 16886: 0x5914,
+ 16887: 0x52F9,
+ 16888: 0x530D,
+ 16889: 0x8A07,
+ 16890: 0x5310,
+ 16891: 0x51EB,
+ 16892: 0x5919,
+ 16893: 0x5155,
+ 16894: 0x4EA0,
+ 16895: 0x5156,
+ 16896: 0x4EB3,
+ 16897: 0x886E,
+ 16898: 0x88A4,
+ 16899: 0x4EB5,
+ 16900: 0x8114,
+ 16901: 0x88D2,
+ 16902: 0x7980,
+ 16903: 0x5B34,
+ 16904: 0x8803,
+ 16905: 0x7FB8,
+ 16906: 0x51AB,
+ 16907: 0x51B1,
+ 16908: 0x51BD,
+ 16909: 0x51BC,
+ 16910: 0x8D0E,
+ 16911: 0x8D0F,
+ 16912: 0x8D10,
+ 16913: 0x8D11,
+ 16914: 0x8D12,
+ 16915: 0x8D13,
+ 16916: 0x8D14,
+ 16917: 0x8D15,
+ 16918: 0x8D16,
+ 16919: 0x8D17,
+ 16920: 0x8D18,
+ 16921: 0x8D19,
+ 16922: 0x8D1A,
+ 16923: 0x8D1B,
+ 16924: 0x8D1C,
+ 16925: 0x8D20,
+ 16926: 0x8D51,
+ 16927: 0x8D52,
+ 16928: 0x8D57,
+ 16929: 0x8D5F,
+ 16930: 0x8D65,
+ 16931: 0x8D68,
+ 16932: 0x8D69,
+ 16933: 0x8D6A,
+ 16934: 0x8D6C,
+ 16935: 0x8D6E,
+ 16936: 0x8D6F,
+ 16937: 0x8D71,
+ 16938: 0x8D72,
+ 16939: 0x8D78,
+ 16940: 0x8D79,
+ 16941: 0x8D7A,
+ 16942: 0x8D7B,
+ 16943: 0x8D7C,
+ 16944: 0x8D7D,
+ 16945: 0x8D7E,
+ 16946: 0x8D7F,
+ 16947: 0x8D80,
+ 16948: 0x8D82,
+ 16949: 0x8D83,
+ 16950: 0x8D86,
+ 16951: 0x8D87,
+ 16952: 0x8D88,
+ 16953: 0x8D89,
+ 16954: 0x8D8C,
+ 16955: 0x8D8D,
+ 16956: 0x8D8E,
+ 16957: 0x8D8F,
+ 16958: 0x8D90,
+ 16959: 0x8D92,
+ 16960: 0x8D93,
+ 16961: 0x8D95,
+ 16962: 0x8D96,
+ 16963: 0x8D97,
+ 16964: 0x8D98,
+ 16965: 0x8D99,
+ 16966: 0x8D9A,
+ 16967: 0x8D9B,
+ 16968: 0x8D9C,
+ 16969: 0x8D9D,
+ 16970: 0x8D9E,
+ 16971: 0x8DA0,
+ 16972: 0x8DA1,
+ 16973: 0x8DA2,
+ 16974: 0x8DA4,
+ 16975: 0x8DA5,
+ 16976: 0x8DA6,
+ 16977: 0x8DA7,
+ 16978: 0x8DA8,
+ 16979: 0x8DA9,
+ 16980: 0x8DAA,
+ 16981: 0x8DAB,
+ 16982: 0x8DAC,
+ 16983: 0x8DAD,
+ 16984: 0x8DAE,
+ 16985: 0x8DAF,
+ 16986: 0x8DB0,
+ 16987: 0x8DB2,
+ 16988: 0x8DB6,
+ 16989: 0x8DB7,
+ 16990: 0x8DB9,
+ 16991: 0x8DBB,
+ 16992: 0x8DBD,
+ 16993: 0x8DC0,
+ 16994: 0x8DC1,
+ 16995: 0x8DC2,
+ 16996: 0x8DC5,
+ 16997: 0x8DC7,
+ 16998: 0x8DC8,
+ 16999: 0x8DC9,
+ 17000: 0x8DCA,
+ 17001: 0x8DCD,
+ 17002: 0x8DD0,
+ 17003: 0x8DD2,
+ 17004: 0x8DD3,
+ 17005: 0x8DD4,
+ 17006: 0x51C7,
+ 17007: 0x5196,
+ 17008: 0x51A2,
+ 17009: 0x51A5,
+ 17010: 0x8BA0,
+ 17011: 0x8BA6,
+ 17012: 0x8BA7,
+ 17013: 0x8BAA,
+ 17014: 0x8BB4,
+ 17015: 0x8BB5,
+ 17016: 0x8BB7,
+ 17017: 0x8BC2,
+ 17018: 0x8BC3,
+ 17019: 0x8BCB,
+ 17020: 0x8BCF,
+ 17021: 0x8BCE,
+ 17022: 0x8BD2,
+ 17023: 0x8BD3,
+ 17024: 0x8BD4,
+ 17025: 0x8BD6,
+ 17026: 0x8BD8,
+ 17027: 0x8BD9,
+ 17028: 0x8BDC,
+ 17029: 0x8BDF,
+ 17030: 0x8BE0,
+ 17031: 0x8BE4,
+ 17032: 0x8BE8,
+ 17033: 0x8BE9,
+ 17034: 0x8BEE,
+ 17035: 0x8BF0,
+ 17036: 0x8BF3,
+ 17037: 0x8BF6,
+ 17038: 0x8BF9,
+ 17039: 0x8BFC,
+ 17040: 0x8BFF,
+ 17041: 0x8C00,
+ 17042: 0x8C02,
+ 17043: 0x8C04,
+ 17044: 0x8C07,
+ 17045: 0x8C0C,
+ 17046: 0x8C0F,
+ 17047: 0x8C11,
+ 17048: 0x8C12,
+ 17049: 0x8C14,
+ 17050: 0x8C15,
+ 17051: 0x8C16,
+ 17052: 0x8C19,
+ 17053: 0x8C1B,
+ 17054: 0x8C18,
+ 17055: 0x8C1D,
+ 17056: 0x8C1F,
+ 17057: 0x8C20,
+ 17058: 0x8C21,
+ 17059: 0x8C25,
+ 17060: 0x8C27,
+ 17061: 0x8C2A,
+ 17062: 0x8C2B,
+ 17063: 0x8C2E,
+ 17064: 0x8C2F,
+ 17065: 0x8C32,
+ 17066: 0x8C33,
+ 17067: 0x8C35,
+ 17068: 0x8C36,
+ 17069: 0x5369,
+ 17070: 0x537A,
+ 17071: 0x961D,
+ 17072: 0x9622,
+ 17073: 0x9621,
+ 17074: 0x9631,
+ 17075: 0x962A,
+ 17076: 0x963D,
+ 17077: 0x963C,
+ 17078: 0x9642,
+ 17079: 0x9649,
+ 17080: 0x9654,
+ 17081: 0x965F,
+ 17082: 0x9667,
+ 17083: 0x966C,
+ 17084: 0x9672,
+ 17085: 0x9674,
+ 17086: 0x9688,
+ 17087: 0x968D,
+ 17088: 0x9697,
+ 17089: 0x96B0,
+ 17090: 0x9097,
+ 17091: 0x909B,
+ 17092: 0x909D,
+ 17093: 0x9099,
+ 17094: 0x90AC,
+ 17095: 0x90A1,
+ 17096: 0x90B4,
+ 17097: 0x90B3,
+ 17098: 0x90B6,
+ 17099: 0x90BA,
+ 17100: 0x8DD5,
+ 17101: 0x8DD8,
+ 17102: 0x8DD9,
+ 17103: 0x8DDC,
+ 17104: 0x8DE0,
+ 17105: 0x8DE1,
+ 17106: 0x8DE2,
+ 17107: 0x8DE5,
+ 17108: 0x8DE6,
+ 17109: 0x8DE7,
+ 17110: 0x8DE9,
+ 17111: 0x8DED,
+ 17112: 0x8DEE,
+ 17113: 0x8DF0,
+ 17114: 0x8DF1,
+ 17115: 0x8DF2,
+ 17116: 0x8DF4,
+ 17117: 0x8DF6,
+ 17118: 0x8DFC,
+ 17119: 0x8DFE,
+ 17120: 0x8DFF,
+ 17121: 0x8E00,
+ 17122: 0x8E01,
+ 17123: 0x8E02,
+ 17124: 0x8E03,
+ 17125: 0x8E04,
+ 17126: 0x8E06,
+ 17127: 0x8E07,
+ 17128: 0x8E08,
+ 17129: 0x8E0B,
+ 17130: 0x8E0D,
+ 17131: 0x8E0E,
+ 17132: 0x8E10,
+ 17133: 0x8E11,
+ 17134: 0x8E12,
+ 17135: 0x8E13,
+ 17136: 0x8E15,
+ 17137: 0x8E16,
+ 17138: 0x8E17,
+ 17139: 0x8E18,
+ 17140: 0x8E19,
+ 17141: 0x8E1A,
+ 17142: 0x8E1B,
+ 17143: 0x8E1C,
+ 17144: 0x8E20,
+ 17145: 0x8E21,
+ 17146: 0x8E24,
+ 17147: 0x8E25,
+ 17148: 0x8E26,
+ 17149: 0x8E27,
+ 17150: 0x8E28,
+ 17151: 0x8E2B,
+ 17152: 0x8E2D,
+ 17153: 0x8E30,
+ 17154: 0x8E32,
+ 17155: 0x8E33,
+ 17156: 0x8E34,
+ 17157: 0x8E36,
+ 17158: 0x8E37,
+ 17159: 0x8E38,
+ 17160: 0x8E3B,
+ 17161: 0x8E3C,
+ 17162: 0x8E3E,
+ 17163: 0x8E3F,
+ 17164: 0x8E43,
+ 17165: 0x8E45,
+ 17166: 0x8E46,
+ 17167: 0x8E4C,
+ 17168: 0x8E4D,
+ 17169: 0x8E4E,
+ 17170: 0x8E4F,
+ 17171: 0x8E50,
+ 17172: 0x8E53,
+ 17173: 0x8E54,
+ 17174: 0x8E55,
+ 17175: 0x8E56,
+ 17176: 0x8E57,
+ 17177: 0x8E58,
+ 17178: 0x8E5A,
+ 17179: 0x8E5B,
+ 17180: 0x8E5C,
+ 17181: 0x8E5D,
+ 17182: 0x8E5E,
+ 17183: 0x8E5F,
+ 17184: 0x8E60,
+ 17185: 0x8E61,
+ 17186: 0x8E62,
+ 17187: 0x8E63,
+ 17188: 0x8E64,
+ 17189: 0x8E65,
+ 17190: 0x8E67,
+ 17191: 0x8E68,
+ 17192: 0x8E6A,
+ 17193: 0x8E6B,
+ 17194: 0x8E6E,
+ 17195: 0x8E71,
+ 17196: 0x90B8,
+ 17197: 0x90B0,
+ 17198: 0x90CF,
+ 17199: 0x90C5,
+ 17200: 0x90BE,
+ 17201: 0x90D0,
+ 17202: 0x90C4,
+ 17203: 0x90C7,
+ 17204: 0x90D3,
+ 17205: 0x90E6,
+ 17206: 0x90E2,
+ 17207: 0x90DC,
+ 17208: 0x90D7,
+ 17209: 0x90DB,
+ 17210: 0x90EB,
+ 17211: 0x90EF,
+ 17212: 0x90FE,
+ 17213: 0x9104,
+ 17214: 0x9122,
+ 17215: 0x911E,
+ 17216: 0x9123,
+ 17217: 0x9131,
+ 17218: 0x912F,
+ 17219: 0x9139,
+ 17220: 0x9143,
+ 17221: 0x9146,
+ 17222: 0x520D,
+ 17223: 0x5942,
+ 17224: 0x52A2,
+ 17225: 0x52AC,
+ 17226: 0x52AD,
+ 17227: 0x52BE,
+ 17228: 0x54FF,
+ 17229: 0x52D0,
+ 17230: 0x52D6,
+ 17231: 0x52F0,
+ 17232: 0x53DF,
+ 17233: 0x71EE,
+ 17234: 0x77CD,
+ 17235: 0x5EF4,
+ 17236: 0x51F5,
+ 17237: 0x51FC,
+ 17238: 0x9B2F,
+ 17239: 0x53B6,
+ 17240: 0x5F01,
+ 17241: 0x755A,
+ 17242: 0x5DEF,
+ 17243: 0x574C,
+ 17244: 0x57A9,
+ 17245: 0x57A1,
+ 17246: 0x587E,
+ 17247: 0x58BC,
+ 17248: 0x58C5,
+ 17249: 0x58D1,
+ 17250: 0x5729,
+ 17251: 0x572C,
+ 17252: 0x572A,
+ 17253: 0x5733,
+ 17254: 0x5739,
+ 17255: 0x572E,
+ 17256: 0x572F,
+ 17257: 0x575C,
+ 17258: 0x573B,
+ 17259: 0x5742,
+ 17260: 0x5769,
+ 17261: 0x5785,
+ 17262: 0x576B,
+ 17263: 0x5786,
+ 17264: 0x577C,
+ 17265: 0x577B,
+ 17266: 0x5768,
+ 17267: 0x576D,
+ 17268: 0x5776,
+ 17269: 0x5773,
+ 17270: 0x57AD,
+ 17271: 0x57A4,
+ 17272: 0x578C,
+ 17273: 0x57B2,
+ 17274: 0x57CF,
+ 17275: 0x57A7,
+ 17276: 0x57B4,
+ 17277: 0x5793,
+ 17278: 0x57A0,
+ 17279: 0x57D5,
+ 17280: 0x57D8,
+ 17281: 0x57DA,
+ 17282: 0x57D9,
+ 17283: 0x57D2,
+ 17284: 0x57B8,
+ 17285: 0x57F4,
+ 17286: 0x57EF,
+ 17287: 0x57F8,
+ 17288: 0x57E4,
+ 17289: 0x57DD,
+ 17290: 0x8E73,
+ 17291: 0x8E75,
+ 17292: 0x8E77,
+ 17293: 0x8E78,
+ 17294: 0x8E79,
+ 17295: 0x8E7A,
+ 17296: 0x8E7B,
+ 17297: 0x8E7D,
+ 17298: 0x8E7E,
+ 17299: 0x8E80,
+ 17300: 0x8E82,
+ 17301: 0x8E83,
+ 17302: 0x8E84,
+ 17303: 0x8E86,
+ 17304: 0x8E88,
+ 17305: 0x8E89,
+ 17306: 0x8E8A,
+ 17307: 0x8E8B,
+ 17308: 0x8E8C,
+ 17309: 0x8E8D,
+ 17310: 0x8E8E,
+ 17311: 0x8E91,
+ 17312: 0x8E92,
+ 17313: 0x8E93,
+ 17314: 0x8E95,
+ 17315: 0x8E96,
+ 17316: 0x8E97,
+ 17317: 0x8E98,
+ 17318: 0x8E99,
+ 17319: 0x8E9A,
+ 17320: 0x8E9B,
+ 17321: 0x8E9D,
+ 17322: 0x8E9F,
+ 17323: 0x8EA0,
+ 17324: 0x8EA1,
+ 17325: 0x8EA2,
+ 17326: 0x8EA3,
+ 17327: 0x8EA4,
+ 17328: 0x8EA5,
+ 17329: 0x8EA6,
+ 17330: 0x8EA7,
+ 17331: 0x8EA8,
+ 17332: 0x8EA9,
+ 17333: 0x8EAA,
+ 17334: 0x8EAD,
+ 17335: 0x8EAE,
+ 17336: 0x8EB0,
+ 17337: 0x8EB1,
+ 17338: 0x8EB3,
+ 17339: 0x8EB4,
+ 17340: 0x8EB5,
+ 17341: 0x8EB6,
+ 17342: 0x8EB7,
+ 17343: 0x8EB8,
+ 17344: 0x8EB9,
+ 17345: 0x8EBB,
+ 17346: 0x8EBC,
+ 17347: 0x8EBD,
+ 17348: 0x8EBE,
+ 17349: 0x8EBF,
+ 17350: 0x8EC0,
+ 17351: 0x8EC1,
+ 17352: 0x8EC2,
+ 17353: 0x8EC3,
+ 17354: 0x8EC4,
+ 17355: 0x8EC5,
+ 17356: 0x8EC6,
+ 17357: 0x8EC7,
+ 17358: 0x8EC8,
+ 17359: 0x8EC9,
+ 17360: 0x8ECA,
+ 17361: 0x8ECB,
+ 17362: 0x8ECC,
+ 17363: 0x8ECD,
+ 17364: 0x8ECF,
+ 17365: 0x8ED0,
+ 17366: 0x8ED1,
+ 17367: 0x8ED2,
+ 17368: 0x8ED3,
+ 17369: 0x8ED4,
+ 17370: 0x8ED5,
+ 17371: 0x8ED6,
+ 17372: 0x8ED7,
+ 17373: 0x8ED8,
+ 17374: 0x8ED9,
+ 17375: 0x8EDA,
+ 17376: 0x8EDB,
+ 17377: 0x8EDC,
+ 17378: 0x8EDD,
+ 17379: 0x8EDE,
+ 17380: 0x8EDF,
+ 17381: 0x8EE0,
+ 17382: 0x8EE1,
+ 17383: 0x8EE2,
+ 17384: 0x8EE3,
+ 17385: 0x8EE4,
+ 17386: 0x580B,
+ 17387: 0x580D,
+ 17388: 0x57FD,
+ 17389: 0x57ED,
+ 17390: 0x5800,
+ 17391: 0x581E,
+ 17392: 0x5819,
+ 17393: 0x5844,
+ 17394: 0x5820,
+ 17395: 0x5865,
+ 17396: 0x586C,
+ 17397: 0x5881,
+ 17398: 0x5889,
+ 17399: 0x589A,
+ 17400: 0x5880,
+ 17401: 0x99A8,
+ 17402: 0x9F19,
+ 17403: 0x61FF,
+ 17404: 0x8279,
+ 17405: 0x827D,
+ 17406: 0x827F,
+ 17407: 0x828F,
+ 17408: 0x828A,
+ 17409: 0x82A8,
+ 17410: 0x8284,
+ 17411: 0x828E,
+ 17412: 0x8291,
+ 17413: 0x8297,
+ 17414: 0x8299,
+ 17415: 0x82AB,
+ 17416: 0x82B8,
+ 17417: 0x82BE,
+ 17418: 0x82B0,
+ 17419: 0x82C8,
+ 17420: 0x82CA,
+ 17421: 0x82E3,
+ 17422: 0x8298,
+ 17423: 0x82B7,
+ 17424: 0x82AE,
+ 17425: 0x82CB,
+ 17426: 0x82CC,
+ 17427: 0x82C1,
+ 17428: 0x82A9,
+ 17429: 0x82B4,
+ 17430: 0x82A1,
+ 17431: 0x82AA,
+ 17432: 0x829F,
+ 17433: 0x82C4,
+ 17434: 0x82CE,
+ 17435: 0x82A4,
+ 17436: 0x82E1,
+ 17437: 0x8309,
+ 17438: 0x82F7,
+ 17439: 0x82E4,
+ 17440: 0x830F,
+ 17441: 0x8307,
+ 17442: 0x82DC,
+ 17443: 0x82F4,
+ 17444: 0x82D2,
+ 17445: 0x82D8,
+ 17446: 0x830C,
+ 17447: 0x82FB,
+ 17448: 0x82D3,
+ 17449: 0x8311,
+ 17450: 0x831A,
+ 17451: 0x8306,
+ 17452: 0x8314,
+ 17453: 0x8315,
+ 17454: 0x82E0,
+ 17455: 0x82D5,
+ 17456: 0x831C,
+ 17457: 0x8351,
+ 17458: 0x835B,
+ 17459: 0x835C,
+ 17460: 0x8308,
+ 17461: 0x8392,
+ 17462: 0x833C,
+ 17463: 0x8334,
+ 17464: 0x8331,
+ 17465: 0x839B,
+ 17466: 0x835E,
+ 17467: 0x832F,
+ 17468: 0x834F,
+ 17469: 0x8347,
+ 17470: 0x8343,
+ 17471: 0x835F,
+ 17472: 0x8340,
+ 17473: 0x8317,
+ 17474: 0x8360,
+ 17475: 0x832D,
+ 17476: 0x833A,
+ 17477: 0x8333,
+ 17478: 0x8366,
+ 17479: 0x8365,
+ 17480: 0x8EE5,
+ 17481: 0x8EE6,
+ 17482: 0x8EE7,
+ 17483: 0x8EE8,
+ 17484: 0x8EE9,
+ 17485: 0x8EEA,
+ 17486: 0x8EEB,
+ 17487: 0x8EEC,
+ 17488: 0x8EED,
+ 17489: 0x8EEE,
+ 17490: 0x8EEF,
+ 17491: 0x8EF0,
+ 17492: 0x8EF1,
+ 17493: 0x8EF2,
+ 17494: 0x8EF3,
+ 17495: 0x8EF4,
+ 17496: 0x8EF5,
+ 17497: 0x8EF6,
+ 17498: 0x8EF7,
+ 17499: 0x8EF8,
+ 17500: 0x8EF9,
+ 17501: 0x8EFA,
+ 17502: 0x8EFB,
+ 17503: 0x8EFC,
+ 17504: 0x8EFD,
+ 17505: 0x8EFE,
+ 17506: 0x8EFF,
+ 17507: 0x8F00,
+ 17508: 0x8F01,
+ 17509: 0x8F02,
+ 17510: 0x8F03,
+ 17511: 0x8F04,
+ 17512: 0x8F05,
+ 17513: 0x8F06,
+ 17514: 0x8F07,
+ 17515: 0x8F08,
+ 17516: 0x8F09,
+ 17517: 0x8F0A,
+ 17518: 0x8F0B,
+ 17519: 0x8F0C,
+ 17520: 0x8F0D,
+ 17521: 0x8F0E,
+ 17522: 0x8F0F,
+ 17523: 0x8F10,
+ 17524: 0x8F11,
+ 17525: 0x8F12,
+ 17526: 0x8F13,
+ 17527: 0x8F14,
+ 17528: 0x8F15,
+ 17529: 0x8F16,
+ 17530: 0x8F17,
+ 17531: 0x8F18,
+ 17532: 0x8F19,
+ 17533: 0x8F1A,
+ 17534: 0x8F1B,
+ 17535: 0x8F1C,
+ 17536: 0x8F1D,
+ 17537: 0x8F1E,
+ 17538: 0x8F1F,
+ 17539: 0x8F20,
+ 17540: 0x8F21,
+ 17541: 0x8F22,
+ 17542: 0x8F23,
+ 17543: 0x8F24,
+ 17544: 0x8F25,
+ 17545: 0x8F26,
+ 17546: 0x8F27,
+ 17547: 0x8F28,
+ 17548: 0x8F29,
+ 17549: 0x8F2A,
+ 17550: 0x8F2B,
+ 17551: 0x8F2C,
+ 17552: 0x8F2D,
+ 17553: 0x8F2E,
+ 17554: 0x8F2F,
+ 17555: 0x8F30,
+ 17556: 0x8F31,
+ 17557: 0x8F32,
+ 17558: 0x8F33,
+ 17559: 0x8F34,
+ 17560: 0x8F35,
+ 17561: 0x8F36,
+ 17562: 0x8F37,
+ 17563: 0x8F38,
+ 17564: 0x8F39,
+ 17565: 0x8F3A,
+ 17566: 0x8F3B,
+ 17567: 0x8F3C,
+ 17568: 0x8F3D,
+ 17569: 0x8F3E,
+ 17570: 0x8F3F,
+ 17571: 0x8F40,
+ 17572: 0x8F41,
+ 17573: 0x8F42,
+ 17574: 0x8F43,
+ 17575: 0x8F44,
+ 17576: 0x8368,
+ 17577: 0x831B,
+ 17578: 0x8369,
+ 17579: 0x836C,
+ 17580: 0x836A,
+ 17581: 0x836D,
+ 17582: 0x836E,
+ 17583: 0x83B0,
+ 17584: 0x8378,
+ 17585: 0x83B3,
+ 17586: 0x83B4,
+ 17587: 0x83A0,
+ 17588: 0x83AA,
+ 17589: 0x8393,
+ 17590: 0x839C,
+ 17591: 0x8385,
+ 17592: 0x837C,
+ 17593: 0x83B6,
+ 17594: 0x83A9,
+ 17595: 0x837D,
+ 17596: 0x83B8,
+ 17597: 0x837B,
+ 17598: 0x8398,
+ 17599: 0x839E,
+ 17600: 0x83A8,
+ 17601: 0x83BA,
+ 17602: 0x83BC,
+ 17603: 0x83C1,
+ 17604: 0x8401,
+ 17605: 0x83E5,
+ 17606: 0x83D8,
+ 17607: 0x5807,
+ 17608: 0x8418,
+ 17609: 0x840B,
+ 17610: 0x83DD,
+ 17611: 0x83FD,
+ 17612: 0x83D6,
+ 17613: 0x841C,
+ 17614: 0x8438,
+ 17615: 0x8411,
+ 17616: 0x8406,
+ 17617: 0x83D4,
+ 17618: 0x83DF,
+ 17619: 0x840F,
+ 17620: 0x8403,
+ 17621: 0x83F8,
+ 17622: 0x83F9,
+ 17623: 0x83EA,
+ 17624: 0x83C5,
+ 17625: 0x83C0,
+ 17626: 0x8426,
+ 17627: 0x83F0,
+ 17628: 0x83E1,
+ 17629: 0x845C,
+ 17630: 0x8451,
+ 17631: 0x845A,
+ 17632: 0x8459,
+ 17633: 0x8473,
+ 17634: 0x8487,
+ 17635: 0x8488,
+ 17636: 0x847A,
+ 17637: 0x8489,
+ 17638: 0x8478,
+ 17639: 0x843C,
+ 17640: 0x8446,
+ 17641: 0x8469,
+ 17642: 0x8476,
+ 17643: 0x848C,
+ 17644: 0x848E,
+ 17645: 0x8431,
+ 17646: 0x846D,
+ 17647: 0x84C1,
+ 17648: 0x84CD,
+ 17649: 0x84D0,
+ 17650: 0x84E6,
+ 17651: 0x84BD,
+ 17652: 0x84D3,
+ 17653: 0x84CA,
+ 17654: 0x84BF,
+ 17655: 0x84BA,
+ 17656: 0x84E0,
+ 17657: 0x84A1,
+ 17658: 0x84B9,
+ 17659: 0x84B4,
+ 17660: 0x8497,
+ 17661: 0x84E5,
+ 17662: 0x84E3,
+ 17663: 0x850C,
+ 17664: 0x750D,
+ 17665: 0x8538,
+ 17666: 0x84F0,
+ 17667: 0x8539,
+ 17668: 0x851F,
+ 17669: 0x853A,
+ 17670: 0x8F45,
+ 17671: 0x8F46,
+ 17672: 0x8F47,
+ 17673: 0x8F48,
+ 17674: 0x8F49,
+ 17675: 0x8F4A,
+ 17676: 0x8F4B,
+ 17677: 0x8F4C,
+ 17678: 0x8F4D,
+ 17679: 0x8F4E,
+ 17680: 0x8F4F,
+ 17681: 0x8F50,
+ 17682: 0x8F51,
+ 17683: 0x8F52,
+ 17684: 0x8F53,
+ 17685: 0x8F54,
+ 17686: 0x8F55,
+ 17687: 0x8F56,
+ 17688: 0x8F57,
+ 17689: 0x8F58,
+ 17690: 0x8F59,
+ 17691: 0x8F5A,
+ 17692: 0x8F5B,
+ 17693: 0x8F5C,
+ 17694: 0x8F5D,
+ 17695: 0x8F5E,
+ 17696: 0x8F5F,
+ 17697: 0x8F60,
+ 17698: 0x8F61,
+ 17699: 0x8F62,
+ 17700: 0x8F63,
+ 17701: 0x8F64,
+ 17702: 0x8F65,
+ 17703: 0x8F6A,
+ 17704: 0x8F80,
+ 17705: 0x8F8C,
+ 17706: 0x8F92,
+ 17707: 0x8F9D,
+ 17708: 0x8FA0,
+ 17709: 0x8FA1,
+ 17710: 0x8FA2,
+ 17711: 0x8FA4,
+ 17712: 0x8FA5,
+ 17713: 0x8FA6,
+ 17714: 0x8FA7,
+ 17715: 0x8FAA,
+ 17716: 0x8FAC,
+ 17717: 0x8FAD,
+ 17718: 0x8FAE,
+ 17719: 0x8FAF,
+ 17720: 0x8FB2,
+ 17721: 0x8FB3,
+ 17722: 0x8FB4,
+ 17723: 0x8FB5,
+ 17724: 0x8FB7,
+ 17725: 0x8FB8,
+ 17726: 0x8FBA,
+ 17727: 0x8FBB,
+ 17728: 0x8FBC,
+ 17729: 0x8FBF,
+ 17730: 0x8FC0,
+ 17731: 0x8FC3,
+ 17732: 0x8FC6,
+ 17733: 0x8FC9,
+ 17734: 0x8FCA,
+ 17735: 0x8FCB,
+ 17736: 0x8FCC,
+ 17737: 0x8FCD,
+ 17738: 0x8FCF,
+ 17739: 0x8FD2,
+ 17740: 0x8FD6,
+ 17741: 0x8FD7,
+ 17742: 0x8FDA,
+ 17743: 0x8FE0,
+ 17744: 0x8FE1,
+ 17745: 0x8FE3,
+ 17746: 0x8FE7,
+ 17747: 0x8FEC,
+ 17748: 0x8FEF,
+ 17749: 0x8FF1,
+ 17750: 0x8FF2,
+ 17751: 0x8FF4,
+ 17752: 0x8FF5,
+ 17753: 0x8FF6,
+ 17754: 0x8FFA,
+ 17755: 0x8FFB,
+ 17756: 0x8FFC,
+ 17757: 0x8FFE,
+ 17758: 0x8FFF,
+ 17759: 0x9007,
+ 17760: 0x9008,
+ 17761: 0x900C,
+ 17762: 0x900E,
+ 17763: 0x9013,
+ 17764: 0x9015,
+ 17765: 0x9018,
+ 17766: 0x8556,
+ 17767: 0x853B,
+ 17768: 0x84FF,
+ 17769: 0x84FC,
+ 17770: 0x8559,
+ 17771: 0x8548,
+ 17772: 0x8568,
+ 17773: 0x8564,
+ 17774: 0x855E,
+ 17775: 0x857A,
+ 17776: 0x77A2,
+ 17777: 0x8543,
+ 17778: 0x8572,
+ 17779: 0x857B,
+ 17780: 0x85A4,
+ 17781: 0x85A8,
+ 17782: 0x8587,
+ 17783: 0x858F,
+ 17784: 0x8579,
+ 17785: 0x85AE,
+ 17786: 0x859C,
+ 17787: 0x8585,
+ 17788: 0x85B9,
+ 17789: 0x85B7,
+ 17790: 0x85B0,
+ 17791: 0x85D3,
+ 17792: 0x85C1,
+ 17793: 0x85DC,
+ 17794: 0x85FF,
+ 17795: 0x8627,
+ 17796: 0x8605,
+ 17797: 0x8629,
+ 17798: 0x8616,
+ 17799: 0x863C,
+ 17800: 0x5EFE,
+ 17801: 0x5F08,
+ 17802: 0x593C,
+ 17803: 0x5941,
+ 17804: 0x8037,
+ 17805: 0x5955,
+ 17806: 0x595A,
+ 17807: 0x5958,
+ 17808: 0x530F,
+ 17809: 0x5C22,
+ 17810: 0x5C25,
+ 17811: 0x5C2C,
+ 17812: 0x5C34,
+ 17813: 0x624C,
+ 17814: 0x626A,
+ 17815: 0x629F,
+ 17816: 0x62BB,
+ 17817: 0x62CA,
+ 17818: 0x62DA,
+ 17819: 0x62D7,
+ 17820: 0x62EE,
+ 17821: 0x6322,
+ 17822: 0x62F6,
+ 17823: 0x6339,
+ 17824: 0x634B,
+ 17825: 0x6343,
+ 17826: 0x63AD,
+ 17827: 0x63F6,
+ 17828: 0x6371,
+ 17829: 0x637A,
+ 17830: 0x638E,
+ 17831: 0x63B4,
+ 17832: 0x636D,
+ 17833: 0x63AC,
+ 17834: 0x638A,
+ 17835: 0x6369,
+ 17836: 0x63AE,
+ 17837: 0x63BC,
+ 17838: 0x63F2,
+ 17839: 0x63F8,
+ 17840: 0x63E0,
+ 17841: 0x63FF,
+ 17842: 0x63C4,
+ 17843: 0x63DE,
+ 17844: 0x63CE,
+ 17845: 0x6452,
+ 17846: 0x63C6,
+ 17847: 0x63BE,
+ 17848: 0x6445,
+ 17849: 0x6441,
+ 17850: 0x640B,
+ 17851: 0x641B,
+ 17852: 0x6420,
+ 17853: 0x640C,
+ 17854: 0x6426,
+ 17855: 0x6421,
+ 17856: 0x645E,
+ 17857: 0x6484,
+ 17858: 0x646D,
+ 17859: 0x6496,
+ 17860: 0x9019,
+ 17861: 0x901C,
+ 17862: 0x9023,
+ 17863: 0x9024,
+ 17864: 0x9025,
+ 17865: 0x9027,
+ 17866: 0x9028,
+ 17867: 0x9029,
+ 17868: 0x902A,
+ 17869: 0x902B,
+ 17870: 0x902C,
+ 17871: 0x9030,
+ 17872: 0x9031,
+ 17873: 0x9032,
+ 17874: 0x9033,
+ 17875: 0x9034,
+ 17876: 0x9037,
+ 17877: 0x9039,
+ 17878: 0x903A,
+ 17879: 0x903D,
+ 17880: 0x903F,
+ 17881: 0x9040,
+ 17882: 0x9043,
+ 17883: 0x9045,
+ 17884: 0x9046,
+ 17885: 0x9048,
+ 17886: 0x9049,
+ 17887: 0x904A,
+ 17888: 0x904B,
+ 17889: 0x904C,
+ 17890: 0x904E,
+ 17891: 0x9054,
+ 17892: 0x9055,
+ 17893: 0x9056,
+ 17894: 0x9059,
+ 17895: 0x905A,
+ 17896: 0x905C,
+ 17897: 0x905D,
+ 17898: 0x905E,
+ 17899: 0x905F,
+ 17900: 0x9060,
+ 17901: 0x9061,
+ 17902: 0x9064,
+ 17903: 0x9066,
+ 17904: 0x9067,
+ 17905: 0x9069,
+ 17906: 0x906A,
+ 17907: 0x906B,
+ 17908: 0x906C,
+ 17909: 0x906F,
+ 17910: 0x9070,
+ 17911: 0x9071,
+ 17912: 0x9072,
+ 17913: 0x9073,
+ 17914: 0x9076,
+ 17915: 0x9077,
+ 17916: 0x9078,
+ 17917: 0x9079,
+ 17918: 0x907A,
+ 17919: 0x907B,
+ 17920: 0x907C,
+ 17921: 0x907E,
+ 17922: 0x9081,
+ 17923: 0x9084,
+ 17924: 0x9085,
+ 17925: 0x9086,
+ 17926: 0x9087,
+ 17927: 0x9089,
+ 17928: 0x908A,
+ 17929: 0x908C,
+ 17930: 0x908D,
+ 17931: 0x908E,
+ 17932: 0x908F,
+ 17933: 0x9090,
+ 17934: 0x9092,
+ 17935: 0x9094,
+ 17936: 0x9096,
+ 17937: 0x9098,
+ 17938: 0x909A,
+ 17939: 0x909C,
+ 17940: 0x909E,
+ 17941: 0x909F,
+ 17942: 0x90A0,
+ 17943: 0x90A4,
+ 17944: 0x90A5,
+ 17945: 0x90A7,
+ 17946: 0x90A8,
+ 17947: 0x90A9,
+ 17948: 0x90AB,
+ 17949: 0x90AD,
+ 17950: 0x90B2,
+ 17951: 0x90B7,
+ 17952: 0x90BC,
+ 17953: 0x90BD,
+ 17954: 0x90BF,
+ 17955: 0x90C0,
+ 17956: 0x647A,
+ 17957: 0x64B7,
+ 17958: 0x64B8,
+ 17959: 0x6499,
+ 17960: 0x64BA,
+ 17961: 0x64C0,
+ 17962: 0x64D0,
+ 17963: 0x64D7,
+ 17964: 0x64E4,
+ 17965: 0x64E2,
+ 17966: 0x6509,
+ 17967: 0x6525,
+ 17968: 0x652E,
+ 17969: 0x5F0B,
+ 17970: 0x5FD2,
+ 17971: 0x7519,
+ 17972: 0x5F11,
+ 17973: 0x535F,
+ 17974: 0x53F1,
+ 17975: 0x53FD,
+ 17976: 0x53E9,
+ 17977: 0x53E8,
+ 17978: 0x53FB,
+ 17979: 0x5412,
+ 17980: 0x5416,
+ 17981: 0x5406,
+ 17982: 0x544B,
+ 17983: 0x5452,
+ 17984: 0x5453,
+ 17985: 0x5454,
+ 17986: 0x5456,
+ 17987: 0x5443,
+ 17988: 0x5421,
+ 17989: 0x5457,
+ 17990: 0x5459,
+ 17991: 0x5423,
+ 17992: 0x5432,
+ 17993: 0x5482,
+ 17994: 0x5494,
+ 17995: 0x5477,
+ 17996: 0x5471,
+ 17997: 0x5464,
+ 17998: 0x549A,
+ 17999: 0x549B,
+ 18000: 0x5484,
+ 18001: 0x5476,
+ 18002: 0x5466,
+ 18003: 0x549D,
+ 18004: 0x54D0,
+ 18005: 0x54AD,
+ 18006: 0x54C2,
+ 18007: 0x54B4,
+ 18008: 0x54D2,
+ 18009: 0x54A7,
+ 18010: 0x54A6,
+ 18011: 0x54D3,
+ 18012: 0x54D4,
+ 18013: 0x5472,
+ 18014: 0x54A3,
+ 18015: 0x54D5,
+ 18016: 0x54BB,
+ 18017: 0x54BF,
+ 18018: 0x54CC,
+ 18019: 0x54D9,
+ 18020: 0x54DA,
+ 18021: 0x54DC,
+ 18022: 0x54A9,
+ 18023: 0x54AA,
+ 18024: 0x54A4,
+ 18025: 0x54DD,
+ 18026: 0x54CF,
+ 18027: 0x54DE,
+ 18028: 0x551B,
+ 18029: 0x54E7,
+ 18030: 0x5520,
+ 18031: 0x54FD,
+ 18032: 0x5514,
+ 18033: 0x54F3,
+ 18034: 0x5522,
+ 18035: 0x5523,
+ 18036: 0x550F,
+ 18037: 0x5511,
+ 18038: 0x5527,
+ 18039: 0x552A,
+ 18040: 0x5567,
+ 18041: 0x558F,
+ 18042: 0x55B5,
+ 18043: 0x5549,
+ 18044: 0x556D,
+ 18045: 0x5541,
+ 18046: 0x5555,
+ 18047: 0x553F,
+ 18048: 0x5550,
+ 18049: 0x553C,
+ 18050: 0x90C2,
+ 18051: 0x90C3,
+ 18052: 0x90C6,
+ 18053: 0x90C8,
+ 18054: 0x90C9,
+ 18055: 0x90CB,
+ 18056: 0x90CC,
+ 18057: 0x90CD,
+ 18058: 0x90D2,
+ 18059: 0x90D4,
+ 18060: 0x90D5,
+ 18061: 0x90D6,
+ 18062: 0x90D8,
+ 18063: 0x90D9,
+ 18064: 0x90DA,
+ 18065: 0x90DE,
+ 18066: 0x90DF,
+ 18067: 0x90E0,
+ 18068: 0x90E3,
+ 18069: 0x90E4,
+ 18070: 0x90E5,
+ 18071: 0x90E9,
+ 18072: 0x90EA,
+ 18073: 0x90EC,
+ 18074: 0x90EE,
+ 18075: 0x90F0,
+ 18076: 0x90F1,
+ 18077: 0x90F2,
+ 18078: 0x90F3,
+ 18079: 0x90F5,
+ 18080: 0x90F6,
+ 18081: 0x90F7,
+ 18082: 0x90F9,
+ 18083: 0x90FA,
+ 18084: 0x90FB,
+ 18085: 0x90FC,
+ 18086: 0x90FF,
+ 18087: 0x9100,
+ 18088: 0x9101,
+ 18089: 0x9103,
+ 18090: 0x9105,
+ 18091: 0x9106,
+ 18092: 0x9107,
+ 18093: 0x9108,
+ 18094: 0x9109,
+ 18095: 0x910A,
+ 18096: 0x910B,
+ 18097: 0x910C,
+ 18098: 0x910D,
+ 18099: 0x910E,
+ 18100: 0x910F,
+ 18101: 0x9110,
+ 18102: 0x9111,
+ 18103: 0x9112,
+ 18104: 0x9113,
+ 18105: 0x9114,
+ 18106: 0x9115,
+ 18107: 0x9116,
+ 18108: 0x9117,
+ 18109: 0x9118,
+ 18110: 0x911A,
+ 18111: 0x911B,
+ 18112: 0x911C,
+ 18113: 0x911D,
+ 18114: 0x911F,
+ 18115: 0x9120,
+ 18116: 0x9121,
+ 18117: 0x9124,
+ 18118: 0x9125,
+ 18119: 0x9126,
+ 18120: 0x9127,
+ 18121: 0x9128,
+ 18122: 0x9129,
+ 18123: 0x912A,
+ 18124: 0x912B,
+ 18125: 0x912C,
+ 18126: 0x912D,
+ 18127: 0x912E,
+ 18128: 0x9130,
+ 18129: 0x9132,
+ 18130: 0x9133,
+ 18131: 0x9134,
+ 18132: 0x9135,
+ 18133: 0x9136,
+ 18134: 0x9137,
+ 18135: 0x9138,
+ 18136: 0x913A,
+ 18137: 0x913B,
+ 18138: 0x913C,
+ 18139: 0x913D,
+ 18140: 0x913E,
+ 18141: 0x913F,
+ 18142: 0x9140,
+ 18143: 0x9141,
+ 18144: 0x9142,
+ 18145: 0x9144,
+ 18146: 0x5537,
+ 18147: 0x5556,
+ 18148: 0x5575,
+ 18149: 0x5576,
+ 18150: 0x5577,
+ 18151: 0x5533,
+ 18152: 0x5530,
+ 18153: 0x555C,
+ 18154: 0x558B,
+ 18155: 0x55D2,
+ 18156: 0x5583,
+ 18157: 0x55B1,
+ 18158: 0x55B9,
+ 18159: 0x5588,
+ 18160: 0x5581,
+ 18161: 0x559F,
+ 18162: 0x557E,
+ 18163: 0x55D6,
+ 18164: 0x5591,
+ 18165: 0x557B,
+ 18166: 0x55DF,
+ 18167: 0x55BD,
+ 18168: 0x55BE,
+ 18169: 0x5594,
+ 18170: 0x5599,
+ 18171: 0x55EA,
+ 18172: 0x55F7,
+ 18173: 0x55C9,
+ 18174: 0x561F,
+ 18175: 0x55D1,
+ 18176: 0x55EB,
+ 18177: 0x55EC,
+ 18178: 0x55D4,
+ 18179: 0x55E6,
+ 18180: 0x55DD,
+ 18181: 0x55C4,
+ 18182: 0x55EF,
+ 18183: 0x55E5,
+ 18184: 0x55F2,
+ 18185: 0x55F3,
+ 18186: 0x55CC,
+ 18187: 0x55CD,
+ 18188: 0x55E8,
+ 18189: 0x55F5,
+ 18190: 0x55E4,
+ 18191: 0x8F94,
+ 18192: 0x561E,
+ 18193: 0x5608,
+ 18194: 0x560C,
+ 18195: 0x5601,
+ 18196: 0x5624,
+ 18197: 0x5623,
+ 18198: 0x55FE,
+ 18199: 0x5600,
+ 18200: 0x5627,
+ 18201: 0x562D,
+ 18202: 0x5658,
+ 18203: 0x5639,
+ 18204: 0x5657,
+ 18205: 0x562C,
+ 18206: 0x564D,
+ 18207: 0x5662,
+ 18208: 0x5659,
+ 18209: 0x565C,
+ 18210: 0x564C,
+ 18211: 0x5654,
+ 18212: 0x5686,
+ 18213: 0x5664,
+ 18214: 0x5671,
+ 18215: 0x566B,
+ 18216: 0x567B,
+ 18217: 0x567C,
+ 18218: 0x5685,
+ 18219: 0x5693,
+ 18220: 0x56AF,
+ 18221: 0x56D4,
+ 18222: 0x56D7,
+ 18223: 0x56DD,
+ 18224: 0x56E1,
+ 18225: 0x56F5,
+ 18226: 0x56EB,
+ 18227: 0x56F9,
+ 18228: 0x56FF,
+ 18229: 0x5704,
+ 18230: 0x570A,
+ 18231: 0x5709,
+ 18232: 0x571C,
+ 18233: 0x5E0F,
+ 18234: 0x5E19,
+ 18235: 0x5E14,
+ 18236: 0x5E11,
+ 18237: 0x5E31,
+ 18238: 0x5E3B,
+ 18239: 0x5E3C,
+ 18240: 0x9145,
+ 18241: 0x9147,
+ 18242: 0x9148,
+ 18243: 0x9151,
+ 18244: 0x9153,
+ 18245: 0x9154,
+ 18246: 0x9155,
+ 18247: 0x9156,
+ 18248: 0x9158,
+ 18249: 0x9159,
+ 18250: 0x915B,
+ 18251: 0x915C,
+ 18252: 0x915F,
+ 18253: 0x9160,
+ 18254: 0x9166,
+ 18255: 0x9167,
+ 18256: 0x9168,
+ 18257: 0x916B,
+ 18258: 0x916D,
+ 18259: 0x9173,
+ 18260: 0x917A,
+ 18261: 0x917B,
+ 18262: 0x917C,
+ 18263: 0x9180,
+ 18264: 0x9181,
+ 18265: 0x9182,
+ 18266: 0x9183,
+ 18267: 0x9184,
+ 18268: 0x9186,
+ 18269: 0x9188,
+ 18270: 0x918A,
+ 18271: 0x918E,
+ 18272: 0x918F,
+ 18273: 0x9193,
+ 18274: 0x9194,
+ 18275: 0x9195,
+ 18276: 0x9196,
+ 18277: 0x9197,
+ 18278: 0x9198,
+ 18279: 0x9199,
+ 18280: 0x919C,
+ 18281: 0x919D,
+ 18282: 0x919E,
+ 18283: 0x919F,
+ 18284: 0x91A0,
+ 18285: 0x91A1,
+ 18286: 0x91A4,
+ 18287: 0x91A5,
+ 18288: 0x91A6,
+ 18289: 0x91A7,
+ 18290: 0x91A8,
+ 18291: 0x91A9,
+ 18292: 0x91AB,
+ 18293: 0x91AC,
+ 18294: 0x91B0,
+ 18295: 0x91B1,
+ 18296: 0x91B2,
+ 18297: 0x91B3,
+ 18298: 0x91B6,
+ 18299: 0x91B7,
+ 18300: 0x91B8,
+ 18301: 0x91B9,
+ 18302: 0x91BB,
+ 18303: 0x91BC,
+ 18304: 0x91BD,
+ 18305: 0x91BE,
+ 18306: 0x91BF,
+ 18307: 0x91C0,
+ 18308: 0x91C1,
+ 18309: 0x91C2,
+ 18310: 0x91C3,
+ 18311: 0x91C4,
+ 18312: 0x91C5,
+ 18313: 0x91C6,
+ 18314: 0x91C8,
+ 18315: 0x91CB,
+ 18316: 0x91D0,
+ 18317: 0x91D2,
+ 18318: 0x91D3,
+ 18319: 0x91D4,
+ 18320: 0x91D5,
+ 18321: 0x91D6,
+ 18322: 0x91D7,
+ 18323: 0x91D8,
+ 18324: 0x91D9,
+ 18325: 0x91DA,
+ 18326: 0x91DB,
+ 18327: 0x91DD,
+ 18328: 0x91DE,
+ 18329: 0x91DF,
+ 18330: 0x91E0,
+ 18331: 0x91E1,
+ 18332: 0x91E2,
+ 18333: 0x91E3,
+ 18334: 0x91E4,
+ 18335: 0x91E5,
+ 18336: 0x5E37,
+ 18337: 0x5E44,
+ 18338: 0x5E54,
+ 18339: 0x5E5B,
+ 18340: 0x5E5E,
+ 18341: 0x5E61,
+ 18342: 0x5C8C,
+ 18343: 0x5C7A,
+ 18344: 0x5C8D,
+ 18345: 0x5C90,
+ 18346: 0x5C96,
+ 18347: 0x5C88,
+ 18348: 0x5C98,
+ 18349: 0x5C99,
+ 18350: 0x5C91,
+ 18351: 0x5C9A,
+ 18352: 0x5C9C,
+ 18353: 0x5CB5,
+ 18354: 0x5CA2,
+ 18355: 0x5CBD,
+ 18356: 0x5CAC,
+ 18357: 0x5CAB,
+ 18358: 0x5CB1,
+ 18359: 0x5CA3,
+ 18360: 0x5CC1,
+ 18361: 0x5CB7,
+ 18362: 0x5CC4,
+ 18363: 0x5CD2,
+ 18364: 0x5CE4,
+ 18365: 0x5CCB,
+ 18366: 0x5CE5,
+ 18367: 0x5D02,
+ 18368: 0x5D03,
+ 18369: 0x5D27,
+ 18370: 0x5D26,
+ 18371: 0x5D2E,
+ 18372: 0x5D24,
+ 18373: 0x5D1E,
+ 18374: 0x5D06,
+ 18375: 0x5D1B,
+ 18376: 0x5D58,
+ 18377: 0x5D3E,
+ 18378: 0x5D34,
+ 18379: 0x5D3D,
+ 18380: 0x5D6C,
+ 18381: 0x5D5B,
+ 18382: 0x5D6F,
+ 18383: 0x5D5D,
+ 18384: 0x5D6B,
+ 18385: 0x5D4B,
+ 18386: 0x5D4A,
+ 18387: 0x5D69,
+ 18388: 0x5D74,
+ 18389: 0x5D82,
+ 18390: 0x5D99,
+ 18391: 0x5D9D,
+ 18392: 0x8C73,
+ 18393: 0x5DB7,
+ 18394: 0x5DC5,
+ 18395: 0x5F73,
+ 18396: 0x5F77,
+ 18397: 0x5F82,
+ 18398: 0x5F87,
+ 18399: 0x5F89,
+ 18400: 0x5F8C,
+ 18401: 0x5F95,
+ 18402: 0x5F99,
+ 18403: 0x5F9C,
+ 18404: 0x5FA8,
+ 18405: 0x5FAD,
+ 18406: 0x5FB5,
+ 18407: 0x5FBC,
+ 18408: 0x8862,
+ 18409: 0x5F61,
+ 18410: 0x72AD,
+ 18411: 0x72B0,
+ 18412: 0x72B4,
+ 18413: 0x72B7,
+ 18414: 0x72B8,
+ 18415: 0x72C3,
+ 18416: 0x72C1,
+ 18417: 0x72CE,
+ 18418: 0x72CD,
+ 18419: 0x72D2,
+ 18420: 0x72E8,
+ 18421: 0x72EF,
+ 18422: 0x72E9,
+ 18423: 0x72F2,
+ 18424: 0x72F4,
+ 18425: 0x72F7,
+ 18426: 0x7301,
+ 18427: 0x72F3,
+ 18428: 0x7303,
+ 18429: 0x72FA,
+ 18430: 0x91E6,
+ 18431: 0x91E7,
+ 18432: 0x91E8,
+ 18433: 0x91E9,
+ 18434: 0x91EA,
+ 18435: 0x91EB,
+ 18436: 0x91EC,
+ 18437: 0x91ED,
+ 18438: 0x91EE,
+ 18439: 0x91EF,
+ 18440: 0x91F0,
+ 18441: 0x91F1,
+ 18442: 0x91F2,
+ 18443: 0x91F3,
+ 18444: 0x91F4,
+ 18445: 0x91F5,
+ 18446: 0x91F6,
+ 18447: 0x91F7,
+ 18448: 0x91F8,
+ 18449: 0x91F9,
+ 18450: 0x91FA,
+ 18451: 0x91FB,
+ 18452: 0x91FC,
+ 18453: 0x91FD,
+ 18454: 0x91FE,
+ 18455: 0x91FF,
+ 18456: 0x9200,
+ 18457: 0x9201,
+ 18458: 0x9202,
+ 18459: 0x9203,
+ 18460: 0x9204,
+ 18461: 0x9205,
+ 18462: 0x9206,
+ 18463: 0x9207,
+ 18464: 0x9208,
+ 18465: 0x9209,
+ 18466: 0x920A,
+ 18467: 0x920B,
+ 18468: 0x920C,
+ 18469: 0x920D,
+ 18470: 0x920E,
+ 18471: 0x920F,
+ 18472: 0x9210,
+ 18473: 0x9211,
+ 18474: 0x9212,
+ 18475: 0x9213,
+ 18476: 0x9214,
+ 18477: 0x9215,
+ 18478: 0x9216,
+ 18479: 0x9217,
+ 18480: 0x9218,
+ 18481: 0x9219,
+ 18482: 0x921A,
+ 18483: 0x921B,
+ 18484: 0x921C,
+ 18485: 0x921D,
+ 18486: 0x921E,
+ 18487: 0x921F,
+ 18488: 0x9220,
+ 18489: 0x9221,
+ 18490: 0x9222,
+ 18491: 0x9223,
+ 18492: 0x9224,
+ 18493: 0x9225,
+ 18494: 0x9226,
+ 18495: 0x9227,
+ 18496: 0x9228,
+ 18497: 0x9229,
+ 18498: 0x922A,
+ 18499: 0x922B,
+ 18500: 0x922C,
+ 18501: 0x922D,
+ 18502: 0x922E,
+ 18503: 0x922F,
+ 18504: 0x9230,
+ 18505: 0x9231,
+ 18506: 0x9232,
+ 18507: 0x9233,
+ 18508: 0x9234,
+ 18509: 0x9235,
+ 18510: 0x9236,
+ 18511: 0x9237,
+ 18512: 0x9238,
+ 18513: 0x9239,
+ 18514: 0x923A,
+ 18515: 0x923B,
+ 18516: 0x923C,
+ 18517: 0x923D,
+ 18518: 0x923E,
+ 18519: 0x923F,
+ 18520: 0x9240,
+ 18521: 0x9241,
+ 18522: 0x9242,
+ 18523: 0x9243,
+ 18524: 0x9244,
+ 18525: 0x9245,
+ 18526: 0x72FB,
+ 18527: 0x7317,
+ 18528: 0x7313,
+ 18529: 0x7321,
+ 18530: 0x730A,
+ 18531: 0x731E,
+ 18532: 0x731D,
+ 18533: 0x7315,
+ 18534: 0x7322,
+ 18535: 0x7339,
+ 18536: 0x7325,
+ 18537: 0x732C,
+ 18538: 0x7338,
+ 18539: 0x7331,
+ 18540: 0x7350,
+ 18541: 0x734D,
+ 18542: 0x7357,
+ 18543: 0x7360,
+ 18544: 0x736C,
+ 18545: 0x736F,
+ 18546: 0x737E,
+ 18547: 0x821B,
+ 18548: 0x5925,
+ 18549: 0x98E7,
+ 18550: 0x5924,
+ 18551: 0x5902,
+ 18552: 0x9963,
+ 18553: 0x9967,
+ 18554: 0x9968,
+ 18555: 0x9969,
+ 18556: 0x996A,
+ 18557: 0x996B,
+ 18558: 0x996C,
+ 18559: 0x9974,
+ 18560: 0x9977,
+ 18561: 0x997D,
+ 18562: 0x9980,
+ 18563: 0x9984,
+ 18564: 0x9987,
+ 18565: 0x998A,
+ 18566: 0x998D,
+ 18567: 0x9990,
+ 18568: 0x9991,
+ 18569: 0x9993,
+ 18570: 0x9994,
+ 18571: 0x9995,
+ 18572: 0x5E80,
+ 18573: 0x5E91,
+ 18574: 0x5E8B,
+ 18575: 0x5E96,
+ 18576: 0x5EA5,
+ 18577: 0x5EA0,
+ 18578: 0x5EB9,
+ 18579: 0x5EB5,
+ 18580: 0x5EBE,
+ 18581: 0x5EB3,
+ 18582: 0x8D53,
+ 18583: 0x5ED2,
+ 18584: 0x5ED1,
+ 18585: 0x5EDB,
+ 18586: 0x5EE8,
+ 18587: 0x5EEA,
+ 18588: 0x81BA,
+ 18589: 0x5FC4,
+ 18590: 0x5FC9,
+ 18591: 0x5FD6,
+ 18592: 0x5FCF,
+ 18593: 0x6003,
+ 18594: 0x5FEE,
+ 18595: 0x6004,
+ 18596: 0x5FE1,
+ 18597: 0x5FE4,
+ 18598: 0x5FFE,
+ 18599: 0x6005,
+ 18600: 0x6006,
+ 18601: 0x5FEA,
+ 18602: 0x5FED,
+ 18603: 0x5FF8,
+ 18604: 0x6019,
+ 18605: 0x6035,
+ 18606: 0x6026,
+ 18607: 0x601B,
+ 18608: 0x600F,
+ 18609: 0x600D,
+ 18610: 0x6029,
+ 18611: 0x602B,
+ 18612: 0x600A,
+ 18613: 0x603F,
+ 18614: 0x6021,
+ 18615: 0x6078,
+ 18616: 0x6079,
+ 18617: 0x607B,
+ 18618: 0x607A,
+ 18619: 0x6042,
+ 18620: 0x9246,
+ 18621: 0x9247,
+ 18622: 0x9248,
+ 18623: 0x9249,
+ 18624: 0x924A,
+ 18625: 0x924B,
+ 18626: 0x924C,
+ 18627: 0x924D,
+ 18628: 0x924E,
+ 18629: 0x924F,
+ 18630: 0x9250,
+ 18631: 0x9251,
+ 18632: 0x9252,
+ 18633: 0x9253,
+ 18634: 0x9254,
+ 18635: 0x9255,
+ 18636: 0x9256,
+ 18637: 0x9257,
+ 18638: 0x9258,
+ 18639: 0x9259,
+ 18640: 0x925A,
+ 18641: 0x925B,
+ 18642: 0x925C,
+ 18643: 0x925D,
+ 18644: 0x925E,
+ 18645: 0x925F,
+ 18646: 0x9260,
+ 18647: 0x9261,
+ 18648: 0x9262,
+ 18649: 0x9263,
+ 18650: 0x9264,
+ 18651: 0x9265,
+ 18652: 0x9266,
+ 18653: 0x9267,
+ 18654: 0x9268,
+ 18655: 0x9269,
+ 18656: 0x926A,
+ 18657: 0x926B,
+ 18658: 0x926C,
+ 18659: 0x926D,
+ 18660: 0x926E,
+ 18661: 0x926F,
+ 18662: 0x9270,
+ 18663: 0x9271,
+ 18664: 0x9272,
+ 18665: 0x9273,
+ 18666: 0x9275,
+ 18667: 0x9276,
+ 18668: 0x9277,
+ 18669: 0x9278,
+ 18670: 0x9279,
+ 18671: 0x927A,
+ 18672: 0x927B,
+ 18673: 0x927C,
+ 18674: 0x927D,
+ 18675: 0x927E,
+ 18676: 0x927F,
+ 18677: 0x9280,
+ 18678: 0x9281,
+ 18679: 0x9282,
+ 18680: 0x9283,
+ 18681: 0x9284,
+ 18682: 0x9285,
+ 18683: 0x9286,
+ 18684: 0x9287,
+ 18685: 0x9288,
+ 18686: 0x9289,
+ 18687: 0x928A,
+ 18688: 0x928B,
+ 18689: 0x928C,
+ 18690: 0x928D,
+ 18691: 0x928F,
+ 18692: 0x9290,
+ 18693: 0x9291,
+ 18694: 0x9292,
+ 18695: 0x9293,
+ 18696: 0x9294,
+ 18697: 0x9295,
+ 18698: 0x9296,
+ 18699: 0x9297,
+ 18700: 0x9298,
+ 18701: 0x9299,
+ 18702: 0x929A,
+ 18703: 0x929B,
+ 18704: 0x929C,
+ 18705: 0x929D,
+ 18706: 0x929E,
+ 18707: 0x929F,
+ 18708: 0x92A0,
+ 18709: 0x92A1,
+ 18710: 0x92A2,
+ 18711: 0x92A3,
+ 18712: 0x92A4,
+ 18713: 0x92A5,
+ 18714: 0x92A6,
+ 18715: 0x92A7,
+ 18716: 0x606A,
+ 18717: 0x607D,
+ 18718: 0x6096,
+ 18719: 0x609A,
+ 18720: 0x60AD,
+ 18721: 0x609D,
+ 18722: 0x6083,
+ 18723: 0x6092,
+ 18724: 0x608C,
+ 18725: 0x609B,
+ 18726: 0x60EC,
+ 18727: 0x60BB,
+ 18728: 0x60B1,
+ 18729: 0x60DD,
+ 18730: 0x60D8,
+ 18731: 0x60C6,
+ 18732: 0x60DA,
+ 18733: 0x60B4,
+ 18734: 0x6120,
+ 18735: 0x6126,
+ 18736: 0x6115,
+ 18737: 0x6123,
+ 18738: 0x60F4,
+ 18739: 0x6100,
+ 18740: 0x610E,
+ 18741: 0x612B,
+ 18742: 0x614A,
+ 18743: 0x6175,
+ 18744: 0x61AC,
+ 18745: 0x6194,
+ 18746: 0x61A7,
+ 18747: 0x61B7,
+ 18748: 0x61D4,
+ 18749: 0x61F5,
+ 18750: 0x5FDD,
+ 18751: 0x96B3,
+ 18752: 0x95E9,
+ 18753: 0x95EB,
+ 18754: 0x95F1,
+ 18755: 0x95F3,
+ 18756: 0x95F5,
+ 18757: 0x95F6,
+ 18758: 0x95FC,
+ 18759: 0x95FE,
+ 18760: 0x9603,
+ 18761: 0x9604,
+ 18762: 0x9606,
+ 18763: 0x9608,
+ 18764: 0x960A,
+ 18765: 0x960B,
+ 18766: 0x960C,
+ 18767: 0x960D,
+ 18768: 0x960F,
+ 18769: 0x9612,
+ 18770: 0x9615,
+ 18771: 0x9616,
+ 18772: 0x9617,
+ 18773: 0x9619,
+ 18774: 0x961A,
+ 18775: 0x4E2C,
+ 18776: 0x723F,
+ 18777: 0x6215,
+ 18778: 0x6C35,
+ 18779: 0x6C54,
+ 18780: 0x6C5C,
+ 18781: 0x6C4A,
+ 18782: 0x6CA3,
+ 18783: 0x6C85,
+ 18784: 0x6C90,
+ 18785: 0x6C94,
+ 18786: 0x6C8C,
+ 18787: 0x6C68,
+ 18788: 0x6C69,
+ 18789: 0x6C74,
+ 18790: 0x6C76,
+ 18791: 0x6C86,
+ 18792: 0x6CA9,
+ 18793: 0x6CD0,
+ 18794: 0x6CD4,
+ 18795: 0x6CAD,
+ 18796: 0x6CF7,
+ 18797: 0x6CF8,
+ 18798: 0x6CF1,
+ 18799: 0x6CD7,
+ 18800: 0x6CB2,
+ 18801: 0x6CE0,
+ 18802: 0x6CD6,
+ 18803: 0x6CFA,
+ 18804: 0x6CEB,
+ 18805: 0x6CEE,
+ 18806: 0x6CB1,
+ 18807: 0x6CD3,
+ 18808: 0x6CEF,
+ 18809: 0x6CFE,
+ 18810: 0x92A8,
+ 18811: 0x92A9,
+ 18812: 0x92AA,
+ 18813: 0x92AB,
+ 18814: 0x92AC,
+ 18815: 0x92AD,
+ 18816: 0x92AF,
+ 18817: 0x92B0,
+ 18818: 0x92B1,
+ 18819: 0x92B2,
+ 18820: 0x92B3,
+ 18821: 0x92B4,
+ 18822: 0x92B5,
+ 18823: 0x92B6,
+ 18824: 0x92B7,
+ 18825: 0x92B8,
+ 18826: 0x92B9,
+ 18827: 0x92BA,
+ 18828: 0x92BB,
+ 18829: 0x92BC,
+ 18830: 0x92BD,
+ 18831: 0x92BE,
+ 18832: 0x92BF,
+ 18833: 0x92C0,
+ 18834: 0x92C1,
+ 18835: 0x92C2,
+ 18836: 0x92C3,
+ 18837: 0x92C4,
+ 18838: 0x92C5,
+ 18839: 0x92C6,
+ 18840: 0x92C7,
+ 18841: 0x92C9,
+ 18842: 0x92CA,
+ 18843: 0x92CB,
+ 18844: 0x92CC,
+ 18845: 0x92CD,
+ 18846: 0x92CE,
+ 18847: 0x92CF,
+ 18848: 0x92D0,
+ 18849: 0x92D1,
+ 18850: 0x92D2,
+ 18851: 0x92D3,
+ 18852: 0x92D4,
+ 18853: 0x92D5,
+ 18854: 0x92D6,
+ 18855: 0x92D7,
+ 18856: 0x92D8,
+ 18857: 0x92D9,
+ 18858: 0x92DA,
+ 18859: 0x92DB,
+ 18860: 0x92DC,
+ 18861: 0x92DD,
+ 18862: 0x92DE,
+ 18863: 0x92DF,
+ 18864: 0x92E0,
+ 18865: 0x92E1,
+ 18866: 0x92E2,
+ 18867: 0x92E3,
+ 18868: 0x92E4,
+ 18869: 0x92E5,
+ 18870: 0x92E6,
+ 18871: 0x92E7,
+ 18872: 0x92E8,
+ 18873: 0x92E9,
+ 18874: 0x92EA,
+ 18875: 0x92EB,
+ 18876: 0x92EC,
+ 18877: 0x92ED,
+ 18878: 0x92EE,
+ 18879: 0x92EF,
+ 18880: 0x92F0,
+ 18881: 0x92F1,
+ 18882: 0x92F2,
+ 18883: 0x92F3,
+ 18884: 0x92F4,
+ 18885: 0x92F5,
+ 18886: 0x92F6,
+ 18887: 0x92F7,
+ 18888: 0x92F8,
+ 18889: 0x92F9,
+ 18890: 0x92FA,
+ 18891: 0x92FB,
+ 18892: 0x92FC,
+ 18893: 0x92FD,
+ 18894: 0x92FE,
+ 18895: 0x92FF,
+ 18896: 0x9300,
+ 18897: 0x9301,
+ 18898: 0x9302,
+ 18899: 0x9303,
+ 18900: 0x9304,
+ 18901: 0x9305,
+ 18902: 0x9306,
+ 18903: 0x9307,
+ 18904: 0x9308,
+ 18905: 0x9309,
+ 18906: 0x6D39,
+ 18907: 0x6D27,
+ 18908: 0x6D0C,
+ 18909: 0x6D43,
+ 18910: 0x6D48,
+ 18911: 0x6D07,
+ 18912: 0x6D04,
+ 18913: 0x6D19,
+ 18914: 0x6D0E,
+ 18915: 0x6D2B,
+ 18916: 0x6D4D,
+ 18917: 0x6D2E,
+ 18918: 0x6D35,
+ 18919: 0x6D1A,
+ 18920: 0x6D4F,
+ 18921: 0x6D52,
+ 18922: 0x6D54,
+ 18923: 0x6D33,
+ 18924: 0x6D91,
+ 18925: 0x6D6F,
+ 18926: 0x6D9E,
+ 18927: 0x6DA0,
+ 18928: 0x6D5E,
+ 18929: 0x6D93,
+ 18930: 0x6D94,
+ 18931: 0x6D5C,
+ 18932: 0x6D60,
+ 18933: 0x6D7C,
+ 18934: 0x6D63,
+ 18935: 0x6E1A,
+ 18936: 0x6DC7,
+ 18937: 0x6DC5,
+ 18938: 0x6DDE,
+ 18939: 0x6E0E,
+ 18940: 0x6DBF,
+ 18941: 0x6DE0,
+ 18942: 0x6E11,
+ 18943: 0x6DE6,
+ 18944: 0x6DDD,
+ 18945: 0x6DD9,
+ 18946: 0x6E16,
+ 18947: 0x6DAB,
+ 18948: 0x6E0C,
+ 18949: 0x6DAE,
+ 18950: 0x6E2B,
+ 18951: 0x6E6E,
+ 18952: 0x6E4E,
+ 18953: 0x6E6B,
+ 18954: 0x6EB2,
+ 18955: 0x6E5F,
+ 18956: 0x6E86,
+ 18957: 0x6E53,
+ 18958: 0x6E54,
+ 18959: 0x6E32,
+ 18960: 0x6E25,
+ 18961: 0x6E44,
+ 18962: 0x6EDF,
+ 18963: 0x6EB1,
+ 18964: 0x6E98,
+ 18965: 0x6EE0,
+ 18966: 0x6F2D,
+ 18967: 0x6EE2,
+ 18968: 0x6EA5,
+ 18969: 0x6EA7,
+ 18970: 0x6EBD,
+ 18971: 0x6EBB,
+ 18972: 0x6EB7,
+ 18973: 0x6ED7,
+ 18974: 0x6EB4,
+ 18975: 0x6ECF,
+ 18976: 0x6E8F,
+ 18977: 0x6EC2,
+ 18978: 0x6E9F,
+ 18979: 0x6F62,
+ 18980: 0x6F46,
+ 18981: 0x6F47,
+ 18982: 0x6F24,
+ 18983: 0x6F15,
+ 18984: 0x6EF9,
+ 18985: 0x6F2F,
+ 18986: 0x6F36,
+ 18987: 0x6F4B,
+ 18988: 0x6F74,
+ 18989: 0x6F2A,
+ 18990: 0x6F09,
+ 18991: 0x6F29,
+ 18992: 0x6F89,
+ 18993: 0x6F8D,
+ 18994: 0x6F8C,
+ 18995: 0x6F78,
+ 18996: 0x6F72,
+ 18997: 0x6F7C,
+ 18998: 0x6F7A,
+ 18999: 0x6FD1,
+ 19000: 0x930A,
+ 19001: 0x930B,
+ 19002: 0x930C,
+ 19003: 0x930D,
+ 19004: 0x930E,
+ 19005: 0x930F,
+ 19006: 0x9310,
+ 19007: 0x9311,
+ 19008: 0x9312,
+ 19009: 0x9313,
+ 19010: 0x9314,
+ 19011: 0x9315,
+ 19012: 0x9316,
+ 19013: 0x9317,
+ 19014: 0x9318,
+ 19015: 0x9319,
+ 19016: 0x931A,
+ 19017: 0x931B,
+ 19018: 0x931C,
+ 19019: 0x931D,
+ 19020: 0x931E,
+ 19021: 0x931F,
+ 19022: 0x9320,
+ 19023: 0x9321,
+ 19024: 0x9322,
+ 19025: 0x9323,
+ 19026: 0x9324,
+ 19027: 0x9325,
+ 19028: 0x9326,
+ 19029: 0x9327,
+ 19030: 0x9328,
+ 19031: 0x9329,
+ 19032: 0x932A,
+ 19033: 0x932B,
+ 19034: 0x932C,
+ 19035: 0x932D,
+ 19036: 0x932E,
+ 19037: 0x932F,
+ 19038: 0x9330,
+ 19039: 0x9331,
+ 19040: 0x9332,
+ 19041: 0x9333,
+ 19042: 0x9334,
+ 19043: 0x9335,
+ 19044: 0x9336,
+ 19045: 0x9337,
+ 19046: 0x9338,
+ 19047: 0x9339,
+ 19048: 0x933A,
+ 19049: 0x933B,
+ 19050: 0x933C,
+ 19051: 0x933D,
+ 19052: 0x933F,
+ 19053: 0x9340,
+ 19054: 0x9341,
+ 19055: 0x9342,
+ 19056: 0x9343,
+ 19057: 0x9344,
+ 19058: 0x9345,
+ 19059: 0x9346,
+ 19060: 0x9347,
+ 19061: 0x9348,
+ 19062: 0x9349,
+ 19063: 0x934A,
+ 19064: 0x934B,
+ 19065: 0x934C,
+ 19066: 0x934D,
+ 19067: 0x934E,
+ 19068: 0x934F,
+ 19069: 0x9350,
+ 19070: 0x9351,
+ 19071: 0x9352,
+ 19072: 0x9353,
+ 19073: 0x9354,
+ 19074: 0x9355,
+ 19075: 0x9356,
+ 19076: 0x9357,
+ 19077: 0x9358,
+ 19078: 0x9359,
+ 19079: 0x935A,
+ 19080: 0x935B,
+ 19081: 0x935C,
+ 19082: 0x935D,
+ 19083: 0x935E,
+ 19084: 0x935F,
+ 19085: 0x9360,
+ 19086: 0x9361,
+ 19087: 0x9362,
+ 19088: 0x9363,
+ 19089: 0x9364,
+ 19090: 0x9365,
+ 19091: 0x9366,
+ 19092: 0x9367,
+ 19093: 0x9368,
+ 19094: 0x9369,
+ 19095: 0x936B,
+ 19096: 0x6FC9,
+ 19097: 0x6FA7,
+ 19098: 0x6FB9,
+ 19099: 0x6FB6,
+ 19100: 0x6FC2,
+ 19101: 0x6FE1,
+ 19102: 0x6FEE,
+ 19103: 0x6FDE,
+ 19104: 0x6FE0,
+ 19105: 0x6FEF,
+ 19106: 0x701A,
+ 19107: 0x7023,
+ 19108: 0x701B,
+ 19109: 0x7039,
+ 19110: 0x7035,
+ 19111: 0x704F,
+ 19112: 0x705E,
+ 19113: 0x5B80,
+ 19114: 0x5B84,
+ 19115: 0x5B95,
+ 19116: 0x5B93,
+ 19117: 0x5BA5,
+ 19118: 0x5BB8,
+ 19119: 0x752F,
+ 19120: 0x9A9E,
+ 19121: 0x6434,
+ 19122: 0x5BE4,
+ 19123: 0x5BEE,
+ 19124: 0x8930,
+ 19125: 0x5BF0,
+ 19126: 0x8E47,
+ 19127: 0x8B07,
+ 19128: 0x8FB6,
+ 19129: 0x8FD3,
+ 19130: 0x8FD5,
+ 19131: 0x8FE5,
+ 19132: 0x8FEE,
+ 19133: 0x8FE4,
+ 19134: 0x8FE9,
+ 19135: 0x8FE6,
+ 19136: 0x8FF3,
+ 19137: 0x8FE8,
+ 19138: 0x9005,
+ 19139: 0x9004,
+ 19140: 0x900B,
+ 19141: 0x9026,
+ 19142: 0x9011,
+ 19143: 0x900D,
+ 19144: 0x9016,
+ 19145: 0x9021,
+ 19146: 0x9035,
+ 19147: 0x9036,
+ 19148: 0x902D,
+ 19149: 0x902F,
+ 19150: 0x9044,
+ 19151: 0x9051,
+ 19152: 0x9052,
+ 19153: 0x9050,
+ 19154: 0x9068,
+ 19155: 0x9058,
+ 19156: 0x9062,
+ 19157: 0x905B,
+ 19158: 0x66B9,
+ 19159: 0x9074,
+ 19160: 0x907D,
+ 19161: 0x9082,
+ 19162: 0x9088,
+ 19163: 0x9083,
+ 19164: 0x908B,
+ 19165: 0x5F50,
+ 19166: 0x5F57,
+ 19167: 0x5F56,
+ 19168: 0x5F58,
+ 19169: 0x5C3B,
+ 19170: 0x54AB,
+ 19171: 0x5C50,
+ 19172: 0x5C59,
+ 19173: 0x5B71,
+ 19174: 0x5C63,
+ 19175: 0x5C66,
+ 19176: 0x7FBC,
+ 19177: 0x5F2A,
+ 19178: 0x5F29,
+ 19179: 0x5F2D,
+ 19180: 0x8274,
+ 19181: 0x5F3C,
+ 19182: 0x9B3B,
+ 19183: 0x5C6E,
+ 19184: 0x5981,
+ 19185: 0x5983,
+ 19186: 0x598D,
+ 19187: 0x59A9,
+ 19188: 0x59AA,
+ 19189: 0x59A3,
+ 19190: 0x936C,
+ 19191: 0x936D,
+ 19192: 0x936E,
+ 19193: 0x936F,
+ 19194: 0x9370,
+ 19195: 0x9371,
+ 19196: 0x9372,
+ 19197: 0x9373,
+ 19198: 0x9374,
+ 19199: 0x9375,
+ 19200: 0x9376,
+ 19201: 0x9377,
+ 19202: 0x9378,
+ 19203: 0x9379,
+ 19204: 0x937A,
+ 19205: 0x937B,
+ 19206: 0x937C,
+ 19207: 0x937D,
+ 19208: 0x937E,
+ 19209: 0x937F,
+ 19210: 0x9380,
+ 19211: 0x9381,
+ 19212: 0x9382,
+ 19213: 0x9383,
+ 19214: 0x9384,
+ 19215: 0x9385,
+ 19216: 0x9386,
+ 19217: 0x9387,
+ 19218: 0x9388,
+ 19219: 0x9389,
+ 19220: 0x938A,
+ 19221: 0x938B,
+ 19222: 0x938C,
+ 19223: 0x938D,
+ 19224: 0x938E,
+ 19225: 0x9390,
+ 19226: 0x9391,
+ 19227: 0x9392,
+ 19228: 0x9393,
+ 19229: 0x9394,
+ 19230: 0x9395,
+ 19231: 0x9396,
+ 19232: 0x9397,
+ 19233: 0x9398,
+ 19234: 0x9399,
+ 19235: 0x939A,
+ 19236: 0x939B,
+ 19237: 0x939C,
+ 19238: 0x939D,
+ 19239: 0x939E,
+ 19240: 0x939F,
+ 19241: 0x93A0,
+ 19242: 0x93A1,
+ 19243: 0x93A2,
+ 19244: 0x93A3,
+ 19245: 0x93A4,
+ 19246: 0x93A5,
+ 19247: 0x93A6,
+ 19248: 0x93A7,
+ 19249: 0x93A8,
+ 19250: 0x93A9,
+ 19251: 0x93AA,
+ 19252: 0x93AB,
+ 19253: 0x93AC,
+ 19254: 0x93AD,
+ 19255: 0x93AE,
+ 19256: 0x93AF,
+ 19257: 0x93B0,
+ 19258: 0x93B1,
+ 19259: 0x93B2,
+ 19260: 0x93B3,
+ 19261: 0x93B4,
+ 19262: 0x93B5,
+ 19263: 0x93B6,
+ 19264: 0x93B7,
+ 19265: 0x93B8,
+ 19266: 0x93B9,
+ 19267: 0x93BA,
+ 19268: 0x93BB,
+ 19269: 0x93BC,
+ 19270: 0x93BD,
+ 19271: 0x93BE,
+ 19272: 0x93BF,
+ 19273: 0x93C0,
+ 19274: 0x93C1,
+ 19275: 0x93C2,
+ 19276: 0x93C3,
+ 19277: 0x93C4,
+ 19278: 0x93C5,
+ 19279: 0x93C6,
+ 19280: 0x93C7,
+ 19281: 0x93C8,
+ 19282: 0x93C9,
+ 19283: 0x93CB,
+ 19284: 0x93CC,
+ 19285: 0x93CD,
+ 19286: 0x5997,
+ 19287: 0x59CA,
+ 19288: 0x59AB,
+ 19289: 0x599E,
+ 19290: 0x59A4,
+ 19291: 0x59D2,
+ 19292: 0x59B2,
+ 19293: 0x59AF,
+ 19294: 0x59D7,
+ 19295: 0x59BE,
+ 19296: 0x5A05,
+ 19297: 0x5A06,
+ 19298: 0x59DD,
+ 19299: 0x5A08,
+ 19300: 0x59E3,
+ 19301: 0x59D8,
+ 19302: 0x59F9,
+ 19303: 0x5A0C,
+ 19304: 0x5A09,
+ 19305: 0x5A32,
+ 19306: 0x5A34,
+ 19307: 0x5A11,
+ 19308: 0x5A23,
+ 19309: 0x5A13,
+ 19310: 0x5A40,
+ 19311: 0x5A67,
+ 19312: 0x5A4A,
+ 19313: 0x5A55,
+ 19314: 0x5A3C,
+ 19315: 0x5A62,
+ 19316: 0x5A75,
+ 19317: 0x80EC,
+ 19318: 0x5AAA,
+ 19319: 0x5A9B,
+ 19320: 0x5A77,
+ 19321: 0x5A7A,
+ 19322: 0x5ABE,
+ 19323: 0x5AEB,
+ 19324: 0x5AB2,
+ 19325: 0x5AD2,
+ 19326: 0x5AD4,
+ 19327: 0x5AB8,
+ 19328: 0x5AE0,
+ 19329: 0x5AE3,
+ 19330: 0x5AF1,
+ 19331: 0x5AD6,
+ 19332: 0x5AE6,
+ 19333: 0x5AD8,
+ 19334: 0x5ADC,
+ 19335: 0x5B09,
+ 19336: 0x5B17,
+ 19337: 0x5B16,
+ 19338: 0x5B32,
+ 19339: 0x5B37,
+ 19340: 0x5B40,
+ 19341: 0x5C15,
+ 19342: 0x5C1C,
+ 19343: 0x5B5A,
+ 19344: 0x5B65,
+ 19345: 0x5B73,
+ 19346: 0x5B51,
+ 19347: 0x5B53,
+ 19348: 0x5B62,
+ 19349: 0x9A75,
+ 19350: 0x9A77,
+ 19351: 0x9A78,
+ 19352: 0x9A7A,
+ 19353: 0x9A7F,
+ 19354: 0x9A7D,
+ 19355: 0x9A80,
+ 19356: 0x9A81,
+ 19357: 0x9A85,
+ 19358: 0x9A88,
+ 19359: 0x9A8A,
+ 19360: 0x9A90,
+ 19361: 0x9A92,
+ 19362: 0x9A93,
+ 19363: 0x9A96,
+ 19364: 0x9A98,
+ 19365: 0x9A9B,
+ 19366: 0x9A9C,
+ 19367: 0x9A9D,
+ 19368: 0x9A9F,
+ 19369: 0x9AA0,
+ 19370: 0x9AA2,
+ 19371: 0x9AA3,
+ 19372: 0x9AA5,
+ 19373: 0x9AA7,
+ 19374: 0x7E9F,
+ 19375: 0x7EA1,
+ 19376: 0x7EA3,
+ 19377: 0x7EA5,
+ 19378: 0x7EA8,
+ 19379: 0x7EA9,
+ 19380: 0x93CE,
+ 19381: 0x93CF,
+ 19382: 0x93D0,
+ 19383: 0x93D1,
+ 19384: 0x93D2,
+ 19385: 0x93D3,
+ 19386: 0x93D4,
+ 19387: 0x93D5,
+ 19388: 0x93D7,
+ 19389: 0x93D8,
+ 19390: 0x93D9,
+ 19391: 0x93DA,
+ 19392: 0x93DB,
+ 19393: 0x93DC,
+ 19394: 0x93DD,
+ 19395: 0x93DE,
+ 19396: 0x93DF,
+ 19397: 0x93E0,
+ 19398: 0x93E1,
+ 19399: 0x93E2,
+ 19400: 0x93E3,
+ 19401: 0x93E4,
+ 19402: 0x93E5,
+ 19403: 0x93E6,
+ 19404: 0x93E7,
+ 19405: 0x93E8,
+ 19406: 0x93E9,
+ 19407: 0x93EA,
+ 19408: 0x93EB,
+ 19409: 0x93EC,
+ 19410: 0x93ED,
+ 19411: 0x93EE,
+ 19412: 0x93EF,
+ 19413: 0x93F0,
+ 19414: 0x93F1,
+ 19415: 0x93F2,
+ 19416: 0x93F3,
+ 19417: 0x93F4,
+ 19418: 0x93F5,
+ 19419: 0x93F6,
+ 19420: 0x93F7,
+ 19421: 0x93F8,
+ 19422: 0x93F9,
+ 19423: 0x93FA,
+ 19424: 0x93FB,
+ 19425: 0x93FC,
+ 19426: 0x93FD,
+ 19427: 0x93FE,
+ 19428: 0x93FF,
+ 19429: 0x9400,
+ 19430: 0x9401,
+ 19431: 0x9402,
+ 19432: 0x9403,
+ 19433: 0x9404,
+ 19434: 0x9405,
+ 19435: 0x9406,
+ 19436: 0x9407,
+ 19437: 0x9408,
+ 19438: 0x9409,
+ 19439: 0x940A,
+ 19440: 0x940B,
+ 19441: 0x940C,
+ 19442: 0x940D,
+ 19443: 0x940E,
+ 19444: 0x940F,
+ 19445: 0x9410,
+ 19446: 0x9411,
+ 19447: 0x9412,
+ 19448: 0x9413,
+ 19449: 0x9414,
+ 19450: 0x9415,
+ 19451: 0x9416,
+ 19452: 0x9417,
+ 19453: 0x9418,
+ 19454: 0x9419,
+ 19455: 0x941A,
+ 19456: 0x941B,
+ 19457: 0x941C,
+ 19458: 0x941D,
+ 19459: 0x941E,
+ 19460: 0x941F,
+ 19461: 0x9420,
+ 19462: 0x9421,
+ 19463: 0x9422,
+ 19464: 0x9423,
+ 19465: 0x9424,
+ 19466: 0x9425,
+ 19467: 0x9426,
+ 19468: 0x9427,
+ 19469: 0x9428,
+ 19470: 0x9429,
+ 19471: 0x942A,
+ 19472: 0x942B,
+ 19473: 0x942C,
+ 19474: 0x942D,
+ 19475: 0x942E,
+ 19476: 0x7EAD,
+ 19477: 0x7EB0,
+ 19478: 0x7EBE,
+ 19479: 0x7EC0,
+ 19480: 0x7EC1,
+ 19481: 0x7EC2,
+ 19482: 0x7EC9,
+ 19483: 0x7ECB,
+ 19484: 0x7ECC,
+ 19485: 0x7ED0,
+ 19486: 0x7ED4,
+ 19487: 0x7ED7,
+ 19488: 0x7EDB,
+ 19489: 0x7EE0,
+ 19490: 0x7EE1,
+ 19491: 0x7EE8,
+ 19492: 0x7EEB,
+ 19493: 0x7EEE,
+ 19494: 0x7EEF,
+ 19495: 0x7EF1,
+ 19496: 0x7EF2,
+ 19497: 0x7F0D,
+ 19498: 0x7EF6,
+ 19499: 0x7EFA,
+ 19500: 0x7EFB,
+ 19501: 0x7EFE,
+ 19502: 0x7F01,
+ 19503: 0x7F02,
+ 19504: 0x7F03,
+ 19505: 0x7F07,
+ 19506: 0x7F08,
+ 19507: 0x7F0B,
+ 19508: 0x7F0C,
+ 19509: 0x7F0F,
+ 19510: 0x7F11,
+ 19511: 0x7F12,
+ 19512: 0x7F17,
+ 19513: 0x7F19,
+ 19514: 0x7F1C,
+ 19515: 0x7F1B,
+ 19516: 0x7F1F,
+ 19517: 0x7F21,
+ 19518: 0x7F22,
+ 19519: 0x7F23,
+ 19520: 0x7F24,
+ 19521: 0x7F25,
+ 19522: 0x7F26,
+ 19523: 0x7F27,
+ 19524: 0x7F2A,
+ 19525: 0x7F2B,
+ 19526: 0x7F2C,
+ 19527: 0x7F2D,
+ 19528: 0x7F2F,
+ 19529: 0x7F30,
+ 19530: 0x7F31,
+ 19531: 0x7F32,
+ 19532: 0x7F33,
+ 19533: 0x7F35,
+ 19534: 0x5E7A,
+ 19535: 0x757F,
+ 19536: 0x5DDB,
+ 19537: 0x753E,
+ 19538: 0x9095,
+ 19539: 0x738E,
+ 19540: 0x7391,
+ 19541: 0x73AE,
+ 19542: 0x73A2,
+ 19543: 0x739F,
+ 19544: 0x73CF,
+ 19545: 0x73C2,
+ 19546: 0x73D1,
+ 19547: 0x73B7,
+ 19548: 0x73B3,
+ 19549: 0x73C0,
+ 19550: 0x73C9,
+ 19551: 0x73C8,
+ 19552: 0x73E5,
+ 19553: 0x73D9,
+ 19554: 0x987C,
+ 19555: 0x740A,
+ 19556: 0x73E9,
+ 19557: 0x73E7,
+ 19558: 0x73DE,
+ 19559: 0x73BA,
+ 19560: 0x73F2,
+ 19561: 0x740F,
+ 19562: 0x742A,
+ 19563: 0x745B,
+ 19564: 0x7426,
+ 19565: 0x7425,
+ 19566: 0x7428,
+ 19567: 0x7430,
+ 19568: 0x742E,
+ 19569: 0x742C,
+ 19570: 0x942F,
+ 19571: 0x9430,
+ 19572: 0x9431,
+ 19573: 0x9432,
+ 19574: 0x9433,
+ 19575: 0x9434,
+ 19576: 0x9435,
+ 19577: 0x9436,
+ 19578: 0x9437,
+ 19579: 0x9438,
+ 19580: 0x9439,
+ 19581: 0x943A,
+ 19582: 0x943B,
+ 19583: 0x943C,
+ 19584: 0x943D,
+ 19585: 0x943F,
+ 19586: 0x9440,
+ 19587: 0x9441,
+ 19588: 0x9442,
+ 19589: 0x9443,
+ 19590: 0x9444,
+ 19591: 0x9445,
+ 19592: 0x9446,
+ 19593: 0x9447,
+ 19594: 0x9448,
+ 19595: 0x9449,
+ 19596: 0x944A,
+ 19597: 0x944B,
+ 19598: 0x944C,
+ 19599: 0x944D,
+ 19600: 0x944E,
+ 19601: 0x944F,
+ 19602: 0x9450,
+ 19603: 0x9451,
+ 19604: 0x9452,
+ 19605: 0x9453,
+ 19606: 0x9454,
+ 19607: 0x9455,
+ 19608: 0x9456,
+ 19609: 0x9457,
+ 19610: 0x9458,
+ 19611: 0x9459,
+ 19612: 0x945A,
+ 19613: 0x945B,
+ 19614: 0x945C,
+ 19615: 0x945D,
+ 19616: 0x945E,
+ 19617: 0x945F,
+ 19618: 0x9460,
+ 19619: 0x9461,
+ 19620: 0x9462,
+ 19621: 0x9463,
+ 19622: 0x9464,
+ 19623: 0x9465,
+ 19624: 0x9466,
+ 19625: 0x9467,
+ 19626: 0x9468,
+ 19627: 0x9469,
+ 19628: 0x946A,
+ 19629: 0x946C,
+ 19630: 0x946D,
+ 19631: 0x946E,
+ 19632: 0x946F,
+ 19633: 0x9470,
+ 19634: 0x9471,
+ 19635: 0x9472,
+ 19636: 0x9473,
+ 19637: 0x9474,
+ 19638: 0x9475,
+ 19639: 0x9476,
+ 19640: 0x9477,
+ 19641: 0x9478,
+ 19642: 0x9479,
+ 19643: 0x947A,
+ 19644: 0x947B,
+ 19645: 0x947C,
+ 19646: 0x947D,
+ 19647: 0x947E,
+ 19648: 0x947F,
+ 19649: 0x9480,
+ 19650: 0x9481,
+ 19651: 0x9482,
+ 19652: 0x9483,
+ 19653: 0x9484,
+ 19654: 0x9491,
+ 19655: 0x9496,
+ 19656: 0x9498,
+ 19657: 0x94C7,
+ 19658: 0x94CF,
+ 19659: 0x94D3,
+ 19660: 0x94D4,
+ 19661: 0x94DA,
+ 19662: 0x94E6,
+ 19663: 0x94FB,
+ 19664: 0x951C,
+ 19665: 0x9520,
+ 19666: 0x741B,
+ 19667: 0x741A,
+ 19668: 0x7441,
+ 19669: 0x745C,
+ 19670: 0x7457,
+ 19671: 0x7455,
+ 19672: 0x7459,
+ 19673: 0x7477,
+ 19674: 0x746D,
+ 19675: 0x747E,
+ 19676: 0x749C,
+ 19677: 0x748E,
+ 19678: 0x7480,
+ 19679: 0x7481,
+ 19680: 0x7487,
+ 19681: 0x748B,
+ 19682: 0x749E,
+ 19683: 0x74A8,
+ 19684: 0x74A9,
+ 19685: 0x7490,
+ 19686: 0x74A7,
+ 19687: 0x74D2,
+ 19688: 0x74BA,
+ 19689: 0x97EA,
+ 19690: 0x97EB,
+ 19691: 0x97EC,
+ 19692: 0x674C,
+ 19693: 0x6753,
+ 19694: 0x675E,
+ 19695: 0x6748,
+ 19696: 0x6769,
+ 19697: 0x67A5,
+ 19698: 0x6787,
+ 19699: 0x676A,
+ 19700: 0x6773,
+ 19701: 0x6798,
+ 19702: 0x67A7,
+ 19703: 0x6775,
+ 19704: 0x67A8,
+ 19705: 0x679E,
+ 19706: 0x67AD,
+ 19707: 0x678B,
+ 19708: 0x6777,
+ 19709: 0x677C,
+ 19710: 0x67F0,
+ 19711: 0x6809,
+ 19712: 0x67D8,
+ 19713: 0x680A,
+ 19714: 0x67E9,
+ 19715: 0x67B0,
+ 19716: 0x680C,
+ 19717: 0x67D9,
+ 19718: 0x67B5,
+ 19719: 0x67DA,
+ 19720: 0x67B3,
+ 19721: 0x67DD,
+ 19722: 0x6800,
+ 19723: 0x67C3,
+ 19724: 0x67B8,
+ 19725: 0x67E2,
+ 19726: 0x680E,
+ 19727: 0x67C1,
+ 19728: 0x67FD,
+ 19729: 0x6832,
+ 19730: 0x6833,
+ 19731: 0x6860,
+ 19732: 0x6861,
+ 19733: 0x684E,
+ 19734: 0x6862,
+ 19735: 0x6844,
+ 19736: 0x6864,
+ 19737: 0x6883,
+ 19738: 0x681D,
+ 19739: 0x6855,
+ 19740: 0x6866,
+ 19741: 0x6841,
+ 19742: 0x6867,
+ 19743: 0x6840,
+ 19744: 0x683E,
+ 19745: 0x684A,
+ 19746: 0x6849,
+ 19747: 0x6829,
+ 19748: 0x68B5,
+ 19749: 0x688F,
+ 19750: 0x6874,
+ 19751: 0x6877,
+ 19752: 0x6893,
+ 19753: 0x686B,
+ 19754: 0x68C2,
+ 19755: 0x696E,
+ 19756: 0x68FC,
+ 19757: 0x691F,
+ 19758: 0x6920,
+ 19759: 0x68F9,
+ 19760: 0x9527,
+ 19761: 0x9533,
+ 19762: 0x953D,
+ 19763: 0x9543,
+ 19764: 0x9548,
+ 19765: 0x954B,
+ 19766: 0x9555,
+ 19767: 0x955A,
+ 19768: 0x9560,
+ 19769: 0x956E,
+ 19770: 0x9574,
+ 19771: 0x9575,
+ 19772: 0x9577,
+ 19773: 0x9578,
+ 19774: 0x9579,
+ 19775: 0x957A,
+ 19776: 0x957B,
+ 19777: 0x957C,
+ 19778: 0x957D,
+ 19779: 0x957E,
+ 19780: 0x9580,
+ 19781: 0x9581,
+ 19782: 0x9582,
+ 19783: 0x9583,
+ 19784: 0x9584,
+ 19785: 0x9585,
+ 19786: 0x9586,
+ 19787: 0x9587,
+ 19788: 0x9588,
+ 19789: 0x9589,
+ 19790: 0x958A,
+ 19791: 0x958B,
+ 19792: 0x958C,
+ 19793: 0x958D,
+ 19794: 0x958E,
+ 19795: 0x958F,
+ 19796: 0x9590,
+ 19797: 0x9591,
+ 19798: 0x9592,
+ 19799: 0x9593,
+ 19800: 0x9594,
+ 19801: 0x9595,
+ 19802: 0x9596,
+ 19803: 0x9597,
+ 19804: 0x9598,
+ 19805: 0x9599,
+ 19806: 0x959A,
+ 19807: 0x959B,
+ 19808: 0x959C,
+ 19809: 0x959D,
+ 19810: 0x959E,
+ 19811: 0x959F,
+ 19812: 0x95A0,
+ 19813: 0x95A1,
+ 19814: 0x95A2,
+ 19815: 0x95A3,
+ 19816: 0x95A4,
+ 19817: 0x95A5,
+ 19818: 0x95A6,
+ 19819: 0x95A7,
+ 19820: 0x95A8,
+ 19821: 0x95A9,
+ 19822: 0x95AA,
+ 19823: 0x95AB,
+ 19824: 0x95AC,
+ 19825: 0x95AD,
+ 19826: 0x95AE,
+ 19827: 0x95AF,
+ 19828: 0x95B0,
+ 19829: 0x95B1,
+ 19830: 0x95B2,
+ 19831: 0x95B3,
+ 19832: 0x95B4,
+ 19833: 0x95B5,
+ 19834: 0x95B6,
+ 19835: 0x95B7,
+ 19836: 0x95B8,
+ 19837: 0x95B9,
+ 19838: 0x95BA,
+ 19839: 0x95BB,
+ 19840: 0x95BC,
+ 19841: 0x95BD,
+ 19842: 0x95BE,
+ 19843: 0x95BF,
+ 19844: 0x95C0,
+ 19845: 0x95C1,
+ 19846: 0x95C2,
+ 19847: 0x95C3,
+ 19848: 0x95C4,
+ 19849: 0x95C5,
+ 19850: 0x95C6,
+ 19851: 0x95C7,
+ 19852: 0x95C8,
+ 19853: 0x95C9,
+ 19854: 0x95CA,
+ 19855: 0x95CB,
+ 19856: 0x6924,
+ 19857: 0x68F0,
+ 19858: 0x690B,
+ 19859: 0x6901,
+ 19860: 0x6957,
+ 19861: 0x68E3,
+ 19862: 0x6910,
+ 19863: 0x6971,
+ 19864: 0x6939,
+ 19865: 0x6960,
+ 19866: 0x6942,
+ 19867: 0x695D,
+ 19868: 0x6984,
+ 19869: 0x696B,
+ 19870: 0x6980,
+ 19871: 0x6998,
+ 19872: 0x6978,
+ 19873: 0x6934,
+ 19874: 0x69CC,
+ 19875: 0x6987,
+ 19876: 0x6988,
+ 19877: 0x69CE,
+ 19878: 0x6989,
+ 19879: 0x6966,
+ 19880: 0x6963,
+ 19881: 0x6979,
+ 19882: 0x699B,
+ 19883: 0x69A7,
+ 19884: 0x69BB,
+ 19885: 0x69AB,
+ 19886: 0x69AD,
+ 19887: 0x69D4,
+ 19888: 0x69B1,
+ 19889: 0x69C1,
+ 19890: 0x69CA,
+ 19891: 0x69DF,
+ 19892: 0x6995,
+ 19893: 0x69E0,
+ 19894: 0x698D,
+ 19895: 0x69FF,
+ 19896: 0x6A2F,
+ 19897: 0x69ED,
+ 19898: 0x6A17,
+ 19899: 0x6A18,
+ 19900: 0x6A65,
+ 19901: 0x69F2,
+ 19902: 0x6A44,
+ 19903: 0x6A3E,
+ 19904: 0x6AA0,
+ 19905: 0x6A50,
+ 19906: 0x6A5B,
+ 19907: 0x6A35,
+ 19908: 0x6A8E,
+ 19909: 0x6A79,
+ 19910: 0x6A3D,
+ 19911: 0x6A28,
+ 19912: 0x6A58,
+ 19913: 0x6A7C,
+ 19914: 0x6A91,
+ 19915: 0x6A90,
+ 19916: 0x6AA9,
+ 19917: 0x6A97,
+ 19918: 0x6AAB,
+ 19919: 0x7337,
+ 19920: 0x7352,
+ 19921: 0x6B81,
+ 19922: 0x6B82,
+ 19923: 0x6B87,
+ 19924: 0x6B84,
+ 19925: 0x6B92,
+ 19926: 0x6B93,
+ 19927: 0x6B8D,
+ 19928: 0x6B9A,
+ 19929: 0x6B9B,
+ 19930: 0x6BA1,
+ 19931: 0x6BAA,
+ 19932: 0x8F6B,
+ 19933: 0x8F6D,
+ 19934: 0x8F71,
+ 19935: 0x8F72,
+ 19936: 0x8F73,
+ 19937: 0x8F75,
+ 19938: 0x8F76,
+ 19939: 0x8F78,
+ 19940: 0x8F77,
+ 19941: 0x8F79,
+ 19942: 0x8F7A,
+ 19943: 0x8F7C,
+ 19944: 0x8F7E,
+ 19945: 0x8F81,
+ 19946: 0x8F82,
+ 19947: 0x8F84,
+ 19948: 0x8F87,
+ 19949: 0x8F8B,
+ 19950: 0x95CC,
+ 19951: 0x95CD,
+ 19952: 0x95CE,
+ 19953: 0x95CF,
+ 19954: 0x95D0,
+ 19955: 0x95D1,
+ 19956: 0x95D2,
+ 19957: 0x95D3,
+ 19958: 0x95D4,
+ 19959: 0x95D5,
+ 19960: 0x95D6,
+ 19961: 0x95D7,
+ 19962: 0x95D8,
+ 19963: 0x95D9,
+ 19964: 0x95DA,
+ 19965: 0x95DB,
+ 19966: 0x95DC,
+ 19967: 0x95DD,
+ 19968: 0x95DE,
+ 19969: 0x95DF,
+ 19970: 0x95E0,
+ 19971: 0x95E1,
+ 19972: 0x95E2,
+ 19973: 0x95E3,
+ 19974: 0x95E4,
+ 19975: 0x95E5,
+ 19976: 0x95E6,
+ 19977: 0x95E7,
+ 19978: 0x95EC,
+ 19979: 0x95FF,
+ 19980: 0x9607,
+ 19981: 0x9613,
+ 19982: 0x9618,
+ 19983: 0x961B,
+ 19984: 0x961E,
+ 19985: 0x9620,
+ 19986: 0x9623,
+ 19987: 0x9624,
+ 19988: 0x9625,
+ 19989: 0x9626,
+ 19990: 0x9627,
+ 19991: 0x9628,
+ 19992: 0x9629,
+ 19993: 0x962B,
+ 19994: 0x962C,
+ 19995: 0x962D,
+ 19996: 0x962F,
+ 19997: 0x9630,
+ 19998: 0x9637,
+ 19999: 0x9638,
+ 20000: 0x9639,
+ 20001: 0x963A,
+ 20002: 0x963E,
+ 20003: 0x9641,
+ 20004: 0x9643,
+ 20005: 0x964A,
+ 20006: 0x964E,
+ 20007: 0x964F,
+ 20008: 0x9651,
+ 20009: 0x9652,
+ 20010: 0x9653,
+ 20011: 0x9656,
+ 20012: 0x9657,
+ 20013: 0x9658,
+ 20014: 0x9659,
+ 20015: 0x965A,
+ 20016: 0x965C,
+ 20017: 0x965D,
+ 20018: 0x965E,
+ 20019: 0x9660,
+ 20020: 0x9663,
+ 20021: 0x9665,
+ 20022: 0x9666,
+ 20023: 0x966B,
+ 20024: 0x966D,
+ 20025: 0x966E,
+ 20026: 0x966F,
+ 20027: 0x9670,
+ 20028: 0x9671,
+ 20029: 0x9673,
+ 20030: 0x9678,
+ 20031: 0x9679,
+ 20032: 0x967A,
+ 20033: 0x967B,
+ 20034: 0x967C,
+ 20035: 0x967D,
+ 20036: 0x967E,
+ 20037: 0x967F,
+ 20038: 0x9680,
+ 20039: 0x9681,
+ 20040: 0x9682,
+ 20041: 0x9683,
+ 20042: 0x9684,
+ 20043: 0x9687,
+ 20044: 0x9689,
+ 20045: 0x968A,
+ 20046: 0x8F8D,
+ 20047: 0x8F8E,
+ 20048: 0x8F8F,
+ 20049: 0x8F98,
+ 20050: 0x8F9A,
+ 20051: 0x8ECE,
+ 20052: 0x620B,
+ 20053: 0x6217,
+ 20054: 0x621B,
+ 20055: 0x621F,
+ 20056: 0x6222,
+ 20057: 0x6221,
+ 20058: 0x6225,
+ 20059: 0x6224,
+ 20060: 0x622C,
+ 20061: 0x81E7,
+ 20062: 0x74EF,
+ 20063: 0x74F4,
+ 20064: 0x74FF,
+ 20065: 0x750F,
+ 20066: 0x7511,
+ 20067: 0x7513,
+ 20068: 0x6534,
+ 20069: 0x65EE,
+ 20070: 0x65EF,
+ 20071: 0x65F0,
+ 20072: 0x660A,
+ 20073: 0x6619,
+ 20074: 0x6772,
+ 20075: 0x6603,
+ 20076: 0x6615,
+ 20077: 0x6600,
+ 20078: 0x7085,
+ 20079: 0x66F7,
+ 20080: 0x661D,
+ 20081: 0x6634,
+ 20082: 0x6631,
+ 20083: 0x6636,
+ 20084: 0x6635,
+ 20085: 0x8006,
+ 20086: 0x665F,
+ 20087: 0x6654,
+ 20088: 0x6641,
+ 20089: 0x664F,
+ 20090: 0x6656,
+ 20091: 0x6661,
+ 20092: 0x6657,
+ 20093: 0x6677,
+ 20094: 0x6684,
+ 20095: 0x668C,
+ 20096: 0x66A7,
+ 20097: 0x669D,
+ 20098: 0x66BE,
+ 20099: 0x66DB,
+ 20100: 0x66DC,
+ 20101: 0x66E6,
+ 20102: 0x66E9,
+ 20103: 0x8D32,
+ 20104: 0x8D33,
+ 20105: 0x8D36,
+ 20106: 0x8D3B,
+ 20107: 0x8D3D,
+ 20108: 0x8D40,
+ 20109: 0x8D45,
+ 20110: 0x8D46,
+ 20111: 0x8D48,
+ 20112: 0x8D49,
+ 20113: 0x8D47,
+ 20114: 0x8D4D,
+ 20115: 0x8D55,
+ 20116: 0x8D59,
+ 20117: 0x89C7,
+ 20118: 0x89CA,
+ 20119: 0x89CB,
+ 20120: 0x89CC,
+ 20121: 0x89CE,
+ 20122: 0x89CF,
+ 20123: 0x89D0,
+ 20124: 0x89D1,
+ 20125: 0x726E,
+ 20126: 0x729F,
+ 20127: 0x725D,
+ 20128: 0x7266,
+ 20129: 0x726F,
+ 20130: 0x727E,
+ 20131: 0x727F,
+ 20132: 0x7284,
+ 20133: 0x728B,
+ 20134: 0x728D,
+ 20135: 0x728F,
+ 20136: 0x7292,
+ 20137: 0x6308,
+ 20138: 0x6332,
+ 20139: 0x63B0,
+ 20140: 0x968C,
+ 20141: 0x968E,
+ 20142: 0x9691,
+ 20143: 0x9692,
+ 20144: 0x9693,
+ 20145: 0x9695,
+ 20146: 0x9696,
+ 20147: 0x969A,
+ 20148: 0x969B,
+ 20149: 0x969D,
+ 20150: 0x969E,
+ 20151: 0x969F,
+ 20152: 0x96A0,
+ 20153: 0x96A1,
+ 20154: 0x96A2,
+ 20155: 0x96A3,
+ 20156: 0x96A4,
+ 20157: 0x96A5,
+ 20158: 0x96A6,
+ 20159: 0x96A8,
+ 20160: 0x96A9,
+ 20161: 0x96AA,
+ 20162: 0x96AB,
+ 20163: 0x96AC,
+ 20164: 0x96AD,
+ 20165: 0x96AE,
+ 20166: 0x96AF,
+ 20167: 0x96B1,
+ 20168: 0x96B2,
+ 20169: 0x96B4,
+ 20170: 0x96B5,
+ 20171: 0x96B7,
+ 20172: 0x96B8,
+ 20173: 0x96BA,
+ 20174: 0x96BB,
+ 20175: 0x96BF,
+ 20176: 0x96C2,
+ 20177: 0x96C3,
+ 20178: 0x96C8,
+ 20179: 0x96CA,
+ 20180: 0x96CB,
+ 20181: 0x96D0,
+ 20182: 0x96D1,
+ 20183: 0x96D3,
+ 20184: 0x96D4,
+ 20185: 0x96D6,
+ 20186: 0x96D7,
+ 20187: 0x96D8,
+ 20188: 0x96D9,
+ 20189: 0x96DA,
+ 20190: 0x96DB,
+ 20191: 0x96DC,
+ 20192: 0x96DD,
+ 20193: 0x96DE,
+ 20194: 0x96DF,
+ 20195: 0x96E1,
+ 20196: 0x96E2,
+ 20197: 0x96E3,
+ 20198: 0x96E4,
+ 20199: 0x96E5,
+ 20200: 0x96E6,
+ 20201: 0x96E7,
+ 20202: 0x96EB,
+ 20203: 0x96EC,
+ 20204: 0x96ED,
+ 20205: 0x96EE,
+ 20206: 0x96F0,
+ 20207: 0x96F1,
+ 20208: 0x96F2,
+ 20209: 0x96F4,
+ 20210: 0x96F5,
+ 20211: 0x96F8,
+ 20212: 0x96FA,
+ 20213: 0x96FB,
+ 20214: 0x96FC,
+ 20215: 0x96FD,
+ 20216: 0x96FF,
+ 20217: 0x9702,
+ 20218: 0x9703,
+ 20219: 0x9705,
+ 20220: 0x970A,
+ 20221: 0x970B,
+ 20222: 0x970C,
+ 20223: 0x9710,
+ 20224: 0x9711,
+ 20225: 0x9712,
+ 20226: 0x9714,
+ 20227: 0x9715,
+ 20228: 0x9717,
+ 20229: 0x9718,
+ 20230: 0x9719,
+ 20231: 0x971A,
+ 20232: 0x971B,
+ 20233: 0x971D,
+ 20234: 0x971F,
+ 20235: 0x9720,
+ 20236: 0x643F,
+ 20237: 0x64D8,
+ 20238: 0x8004,
+ 20239: 0x6BEA,
+ 20240: 0x6BF3,
+ 20241: 0x6BFD,
+ 20242: 0x6BF5,
+ 20243: 0x6BF9,
+ 20244: 0x6C05,
+ 20245: 0x6C07,
+ 20246: 0x6C06,
+ 20247: 0x6C0D,
+ 20248: 0x6C15,
+ 20249: 0x6C18,
+ 20250: 0x6C19,
+ 20251: 0x6C1A,
+ 20252: 0x6C21,
+ 20253: 0x6C29,
+ 20254: 0x6C24,
+ 20255: 0x6C2A,
+ 20256: 0x6C32,
+ 20257: 0x6535,
+ 20258: 0x6555,
+ 20259: 0x656B,
+ 20260: 0x724D,
+ 20261: 0x7252,
+ 20262: 0x7256,
+ 20263: 0x7230,
+ 20264: 0x8662,
+ 20265: 0x5216,
+ 20266: 0x809F,
+ 20267: 0x809C,
+ 20268: 0x8093,
+ 20269: 0x80BC,
+ 20270: 0x670A,
+ 20271: 0x80BD,
+ 20272: 0x80B1,
+ 20273: 0x80AB,
+ 20274: 0x80AD,
+ 20275: 0x80B4,
+ 20276: 0x80B7,
+ 20277: 0x80E7,
+ 20278: 0x80E8,
+ 20279: 0x80E9,
+ 20280: 0x80EA,
+ 20281: 0x80DB,
+ 20282: 0x80C2,
+ 20283: 0x80C4,
+ 20284: 0x80D9,
+ 20285: 0x80CD,
+ 20286: 0x80D7,
+ 20287: 0x6710,
+ 20288: 0x80DD,
+ 20289: 0x80EB,
+ 20290: 0x80F1,
+ 20291: 0x80F4,
+ 20292: 0x80ED,
+ 20293: 0x810D,
+ 20294: 0x810E,
+ 20295: 0x80F2,
+ 20296: 0x80FC,
+ 20297: 0x6715,
+ 20298: 0x8112,
+ 20299: 0x8C5A,
+ 20300: 0x8136,
+ 20301: 0x811E,
+ 20302: 0x812C,
+ 20303: 0x8118,
+ 20304: 0x8132,
+ 20305: 0x8148,
+ 20306: 0x814C,
+ 20307: 0x8153,
+ 20308: 0x8174,
+ 20309: 0x8159,
+ 20310: 0x815A,
+ 20311: 0x8171,
+ 20312: 0x8160,
+ 20313: 0x8169,
+ 20314: 0x817C,
+ 20315: 0x817D,
+ 20316: 0x816D,
+ 20317: 0x8167,
+ 20318: 0x584D,
+ 20319: 0x5AB5,
+ 20320: 0x8188,
+ 20321: 0x8182,
+ 20322: 0x8191,
+ 20323: 0x6ED5,
+ 20324: 0x81A3,
+ 20325: 0x81AA,
+ 20326: 0x81CC,
+ 20327: 0x6726,
+ 20328: 0x81CA,
+ 20329: 0x81BB,
+ 20330: 0x9721,
+ 20331: 0x9722,
+ 20332: 0x9723,
+ 20333: 0x9724,
+ 20334: 0x9725,
+ 20335: 0x9726,
+ 20336: 0x9727,
+ 20337: 0x9728,
+ 20338: 0x9729,
+ 20339: 0x972B,
+ 20340: 0x972C,
+ 20341: 0x972E,
+ 20342: 0x972F,
+ 20343: 0x9731,
+ 20344: 0x9733,
+ 20345: 0x9734,
+ 20346: 0x9735,
+ 20347: 0x9736,
+ 20348: 0x9737,
+ 20349: 0x973A,
+ 20350: 0x973B,
+ 20351: 0x973C,
+ 20352: 0x973D,
+ 20353: 0x973F,
+ 20354: 0x9740,
+ 20355: 0x9741,
+ 20356: 0x9742,
+ 20357: 0x9743,
+ 20358: 0x9744,
+ 20359: 0x9745,
+ 20360: 0x9746,
+ 20361: 0x9747,
+ 20362: 0x9748,
+ 20363: 0x9749,
+ 20364: 0x974A,
+ 20365: 0x974B,
+ 20366: 0x974C,
+ 20367: 0x974D,
+ 20368: 0x974E,
+ 20369: 0x974F,
+ 20370: 0x9750,
+ 20371: 0x9751,
+ 20372: 0x9754,
+ 20373: 0x9755,
+ 20374: 0x9757,
+ 20375: 0x9758,
+ 20376: 0x975A,
+ 20377: 0x975C,
+ 20378: 0x975D,
+ 20379: 0x975F,
+ 20380: 0x9763,
+ 20381: 0x9764,
+ 20382: 0x9766,
+ 20383: 0x9767,
+ 20384: 0x9768,
+ 20385: 0x976A,
+ 20386: 0x976B,
+ 20387: 0x976C,
+ 20388: 0x976D,
+ 20389: 0x976E,
+ 20390: 0x976F,
+ 20391: 0x9770,
+ 20392: 0x9771,
+ 20393: 0x9772,
+ 20394: 0x9775,
+ 20395: 0x9777,
+ 20396: 0x9778,
+ 20397: 0x9779,
+ 20398: 0x977A,
+ 20399: 0x977B,
+ 20400: 0x977D,
+ 20401: 0x977E,
+ 20402: 0x977F,
+ 20403: 0x9780,
+ 20404: 0x9781,
+ 20405: 0x9782,
+ 20406: 0x9783,
+ 20407: 0x9784,
+ 20408: 0x9786,
+ 20409: 0x9787,
+ 20410: 0x9788,
+ 20411: 0x9789,
+ 20412: 0x978A,
+ 20413: 0x978C,
+ 20414: 0x978E,
+ 20415: 0x978F,
+ 20416: 0x9790,
+ 20417: 0x9793,
+ 20418: 0x9795,
+ 20419: 0x9796,
+ 20420: 0x9797,
+ 20421: 0x9799,
+ 20422: 0x979A,
+ 20423: 0x979B,
+ 20424: 0x979C,
+ 20425: 0x979D,
+ 20426: 0x81C1,
+ 20427: 0x81A6,
+ 20428: 0x6B24,
+ 20429: 0x6B37,
+ 20430: 0x6B39,
+ 20431: 0x6B43,
+ 20432: 0x6B46,
+ 20433: 0x6B59,
+ 20434: 0x98D1,
+ 20435: 0x98D2,
+ 20436: 0x98D3,
+ 20437: 0x98D5,
+ 20438: 0x98D9,
+ 20439: 0x98DA,
+ 20440: 0x6BB3,
+ 20441: 0x5F40,
+ 20442: 0x6BC2,
+ 20443: 0x89F3,
+ 20444: 0x6590,
+ 20445: 0x9F51,
+ 20446: 0x6593,
+ 20447: 0x65BC,
+ 20448: 0x65C6,
+ 20449: 0x65C4,
+ 20450: 0x65C3,
+ 20451: 0x65CC,
+ 20452: 0x65CE,
+ 20453: 0x65D2,
+ 20454: 0x65D6,
+ 20455: 0x7080,
+ 20456: 0x709C,
+ 20457: 0x7096,
+ 20458: 0x709D,
+ 20459: 0x70BB,
+ 20460: 0x70C0,
+ 20461: 0x70B7,
+ 20462: 0x70AB,
+ 20463: 0x70B1,
+ 20464: 0x70E8,
+ 20465: 0x70CA,
+ 20466: 0x7110,
+ 20467: 0x7113,
+ 20468: 0x7116,
+ 20469: 0x712F,
+ 20470: 0x7131,
+ 20471: 0x7173,
+ 20472: 0x715C,
+ 20473: 0x7168,
+ 20474: 0x7145,
+ 20475: 0x7172,
+ 20476: 0x714A,
+ 20477: 0x7178,
+ 20478: 0x717A,
+ 20479: 0x7198,
+ 20480: 0x71B3,
+ 20481: 0x71B5,
+ 20482: 0x71A8,
+ 20483: 0x71A0,
+ 20484: 0x71E0,
+ 20485: 0x71D4,
+ 20486: 0x71E7,
+ 20487: 0x71F9,
+ 20488: 0x721D,
+ 20489: 0x7228,
+ 20490: 0x706C,
+ 20491: 0x7118,
+ 20492: 0x7166,
+ 20493: 0x71B9,
+ 20494: 0x623E,
+ 20495: 0x623D,
+ 20496: 0x6243,
+ 20497: 0x6248,
+ 20498: 0x6249,
+ 20499: 0x793B,
+ 20500: 0x7940,
+ 20501: 0x7946,
+ 20502: 0x7949,
+ 20503: 0x795B,
+ 20504: 0x795C,
+ 20505: 0x7953,
+ 20506: 0x795A,
+ 20507: 0x7962,
+ 20508: 0x7957,
+ 20509: 0x7960,
+ 20510: 0x796F,
+ 20511: 0x7967,
+ 20512: 0x797A,
+ 20513: 0x7985,
+ 20514: 0x798A,
+ 20515: 0x799A,
+ 20516: 0x79A7,
+ 20517: 0x79B3,
+ 20518: 0x5FD1,
+ 20519: 0x5FD0,
+ 20520: 0x979E,
+ 20521: 0x979F,
+ 20522: 0x97A1,
+ 20523: 0x97A2,
+ 20524: 0x97A4,
+ 20525: 0x97A5,
+ 20526: 0x97A6,
+ 20527: 0x97A7,
+ 20528: 0x97A8,
+ 20529: 0x97A9,
+ 20530: 0x97AA,
+ 20531: 0x97AC,
+ 20532: 0x97AE,
+ 20533: 0x97B0,
+ 20534: 0x97B1,
+ 20535: 0x97B3,
+ 20536: 0x97B5,
+ 20537: 0x97B6,
+ 20538: 0x97B7,
+ 20539: 0x97B8,
+ 20540: 0x97B9,
+ 20541: 0x97BA,
+ 20542: 0x97BB,
+ 20543: 0x97BC,
+ 20544: 0x97BD,
+ 20545: 0x97BE,
+ 20546: 0x97BF,
+ 20547: 0x97C0,
+ 20548: 0x97C1,
+ 20549: 0x97C2,
+ 20550: 0x97C3,
+ 20551: 0x97C4,
+ 20552: 0x97C5,
+ 20553: 0x97C6,
+ 20554: 0x97C7,
+ 20555: 0x97C8,
+ 20556: 0x97C9,
+ 20557: 0x97CA,
+ 20558: 0x97CB,
+ 20559: 0x97CC,
+ 20560: 0x97CD,
+ 20561: 0x97CE,
+ 20562: 0x97CF,
+ 20563: 0x97D0,
+ 20564: 0x97D1,
+ 20565: 0x97D2,
+ 20566: 0x97D3,
+ 20567: 0x97D4,
+ 20568: 0x97D5,
+ 20569: 0x97D6,
+ 20570: 0x97D7,
+ 20571: 0x97D8,
+ 20572: 0x97D9,
+ 20573: 0x97DA,
+ 20574: 0x97DB,
+ 20575: 0x97DC,
+ 20576: 0x97DD,
+ 20577: 0x97DE,
+ 20578: 0x97DF,
+ 20579: 0x97E0,
+ 20580: 0x97E1,
+ 20581: 0x97E2,
+ 20582: 0x97E3,
+ 20583: 0x97E4,
+ 20584: 0x97E5,
+ 20585: 0x97E8,
+ 20586: 0x97EE,
+ 20587: 0x97EF,
+ 20588: 0x97F0,
+ 20589: 0x97F1,
+ 20590: 0x97F2,
+ 20591: 0x97F4,
+ 20592: 0x97F7,
+ 20593: 0x97F8,
+ 20594: 0x97F9,
+ 20595: 0x97FA,
+ 20596: 0x97FB,
+ 20597: 0x97FC,
+ 20598: 0x97FD,
+ 20599: 0x97FE,
+ 20600: 0x97FF,
+ 20601: 0x9800,
+ 20602: 0x9801,
+ 20603: 0x9802,
+ 20604: 0x9803,
+ 20605: 0x9804,
+ 20606: 0x9805,
+ 20607: 0x9806,
+ 20608: 0x9807,
+ 20609: 0x9808,
+ 20610: 0x9809,
+ 20611: 0x980A,
+ 20612: 0x980B,
+ 20613: 0x980C,
+ 20614: 0x980D,
+ 20615: 0x980E,
+ 20616: 0x603C,
+ 20617: 0x605D,
+ 20618: 0x605A,
+ 20619: 0x6067,
+ 20620: 0x6041,
+ 20621: 0x6059,
+ 20622: 0x6063,
+ 20623: 0x60AB,
+ 20624: 0x6106,
+ 20625: 0x610D,
+ 20626: 0x615D,
+ 20627: 0x61A9,
+ 20628: 0x619D,
+ 20629: 0x61CB,
+ 20630: 0x61D1,
+ 20631: 0x6206,
+ 20632: 0x8080,
+ 20633: 0x807F,
+ 20634: 0x6C93,
+ 20635: 0x6CF6,
+ 20636: 0x6DFC,
+ 20637: 0x77F6,
+ 20638: 0x77F8,
+ 20639: 0x7800,
+ 20640: 0x7809,
+ 20641: 0x7817,
+ 20642: 0x7818,
+ 20643: 0x7811,
+ 20644: 0x65AB,
+ 20645: 0x782D,
+ 20646: 0x781C,
+ 20647: 0x781D,
+ 20648: 0x7839,
+ 20649: 0x783A,
+ 20650: 0x783B,
+ 20651: 0x781F,
+ 20652: 0x783C,
+ 20653: 0x7825,
+ 20654: 0x782C,
+ 20655: 0x7823,
+ 20656: 0x7829,
+ 20657: 0x784E,
+ 20658: 0x786D,
+ 20659: 0x7856,
+ 20660: 0x7857,
+ 20661: 0x7826,
+ 20662: 0x7850,
+ 20663: 0x7847,
+ 20664: 0x784C,
+ 20665: 0x786A,
+ 20666: 0x789B,
+ 20667: 0x7893,
+ 20668: 0x789A,
+ 20669: 0x7887,
+ 20670: 0x789C,
+ 20671: 0x78A1,
+ 20672: 0x78A3,
+ 20673: 0x78B2,
+ 20674: 0x78B9,
+ 20675: 0x78A5,
+ 20676: 0x78D4,
+ 20677: 0x78D9,
+ 20678: 0x78C9,
+ 20679: 0x78EC,
+ 20680: 0x78F2,
+ 20681: 0x7905,
+ 20682: 0x78F4,
+ 20683: 0x7913,
+ 20684: 0x7924,
+ 20685: 0x791E,
+ 20686: 0x7934,
+ 20687: 0x9F9B,
+ 20688: 0x9EF9,
+ 20689: 0x9EFB,
+ 20690: 0x9EFC,
+ 20691: 0x76F1,
+ 20692: 0x7704,
+ 20693: 0x770D,
+ 20694: 0x76F9,
+ 20695: 0x7707,
+ 20696: 0x7708,
+ 20697: 0x771A,
+ 20698: 0x7722,
+ 20699: 0x7719,
+ 20700: 0x772D,
+ 20701: 0x7726,
+ 20702: 0x7735,
+ 20703: 0x7738,
+ 20704: 0x7750,
+ 20705: 0x7751,
+ 20706: 0x7747,
+ 20707: 0x7743,
+ 20708: 0x775A,
+ 20709: 0x7768,
+ 20710: 0x980F,
+ 20711: 0x9810,
+ 20712: 0x9811,
+ 20713: 0x9812,
+ 20714: 0x9813,
+ 20715: 0x9814,
+ 20716: 0x9815,
+ 20717: 0x9816,
+ 20718: 0x9817,
+ 20719: 0x9818,
+ 20720: 0x9819,
+ 20721: 0x981A,
+ 20722: 0x981B,
+ 20723: 0x981C,
+ 20724: 0x981D,
+ 20725: 0x981E,
+ 20726: 0x981F,
+ 20727: 0x9820,
+ 20728: 0x9821,
+ 20729: 0x9822,
+ 20730: 0x9823,
+ 20731: 0x9824,
+ 20732: 0x9825,
+ 20733: 0x9826,
+ 20734: 0x9827,
+ 20735: 0x9828,
+ 20736: 0x9829,
+ 20737: 0x982A,
+ 20738: 0x982B,
+ 20739: 0x982C,
+ 20740: 0x982D,
+ 20741: 0x982E,
+ 20742: 0x982F,
+ 20743: 0x9830,
+ 20744: 0x9831,
+ 20745: 0x9832,
+ 20746: 0x9833,
+ 20747: 0x9834,
+ 20748: 0x9835,
+ 20749: 0x9836,
+ 20750: 0x9837,
+ 20751: 0x9838,
+ 20752: 0x9839,
+ 20753: 0x983A,
+ 20754: 0x983B,
+ 20755: 0x983C,
+ 20756: 0x983D,
+ 20757: 0x983E,
+ 20758: 0x983F,
+ 20759: 0x9840,
+ 20760: 0x9841,
+ 20761: 0x9842,
+ 20762: 0x9843,
+ 20763: 0x9844,
+ 20764: 0x9845,
+ 20765: 0x9846,
+ 20766: 0x9847,
+ 20767: 0x9848,
+ 20768: 0x9849,
+ 20769: 0x984A,
+ 20770: 0x984B,
+ 20771: 0x984C,
+ 20772: 0x984D,
+ 20773: 0x984E,
+ 20774: 0x984F,
+ 20775: 0x9850,
+ 20776: 0x9851,
+ 20777: 0x9852,
+ 20778: 0x9853,
+ 20779: 0x9854,
+ 20780: 0x9855,
+ 20781: 0x9856,
+ 20782: 0x9857,
+ 20783: 0x9858,
+ 20784: 0x9859,
+ 20785: 0x985A,
+ 20786: 0x985B,
+ 20787: 0x985C,
+ 20788: 0x985D,
+ 20789: 0x985E,
+ 20790: 0x985F,
+ 20791: 0x9860,
+ 20792: 0x9861,
+ 20793: 0x9862,
+ 20794: 0x9863,
+ 20795: 0x9864,
+ 20796: 0x9865,
+ 20797: 0x9866,
+ 20798: 0x9867,
+ 20799: 0x9868,
+ 20800: 0x9869,
+ 20801: 0x986A,
+ 20802: 0x986B,
+ 20803: 0x986C,
+ 20804: 0x986D,
+ 20805: 0x986E,
+ 20806: 0x7762,
+ 20807: 0x7765,
+ 20808: 0x777F,
+ 20809: 0x778D,
+ 20810: 0x777D,
+ 20811: 0x7780,
+ 20812: 0x778C,
+ 20813: 0x7791,
+ 20814: 0x779F,
+ 20815: 0x77A0,
+ 20816: 0x77B0,
+ 20817: 0x77B5,
+ 20818: 0x77BD,
+ 20819: 0x753A,
+ 20820: 0x7540,
+ 20821: 0x754E,
+ 20822: 0x754B,
+ 20823: 0x7548,
+ 20824: 0x755B,
+ 20825: 0x7572,
+ 20826: 0x7579,
+ 20827: 0x7583,
+ 20828: 0x7F58,
+ 20829: 0x7F61,
+ 20830: 0x7F5F,
+ 20831: 0x8A48,
+ 20832: 0x7F68,
+ 20833: 0x7F74,
+ 20834: 0x7F71,
+ 20835: 0x7F79,
+ 20836: 0x7F81,
+ 20837: 0x7F7E,
+ 20838: 0x76CD,
+ 20839: 0x76E5,
+ 20840: 0x8832,
+ 20841: 0x9485,
+ 20842: 0x9486,
+ 20843: 0x9487,
+ 20844: 0x948B,
+ 20845: 0x948A,
+ 20846: 0x948C,
+ 20847: 0x948D,
+ 20848: 0x948F,
+ 20849: 0x9490,
+ 20850: 0x9494,
+ 20851: 0x9497,
+ 20852: 0x9495,
+ 20853: 0x949A,
+ 20854: 0x949B,
+ 20855: 0x949C,
+ 20856: 0x94A3,
+ 20857: 0x94A4,
+ 20858: 0x94AB,
+ 20859: 0x94AA,
+ 20860: 0x94AD,
+ 20861: 0x94AC,
+ 20862: 0x94AF,
+ 20863: 0x94B0,
+ 20864: 0x94B2,
+ 20865: 0x94B4,
+ 20866: 0x94B6,
+ 20867: 0x94B7,
+ 20868: 0x94B8,
+ 20869: 0x94B9,
+ 20870: 0x94BA,
+ 20871: 0x94BC,
+ 20872: 0x94BD,
+ 20873: 0x94BF,
+ 20874: 0x94C4,
+ 20875: 0x94C8,
+ 20876: 0x94C9,
+ 20877: 0x94CA,
+ 20878: 0x94CB,
+ 20879: 0x94CC,
+ 20880: 0x94CD,
+ 20881: 0x94CE,
+ 20882: 0x94D0,
+ 20883: 0x94D1,
+ 20884: 0x94D2,
+ 20885: 0x94D5,
+ 20886: 0x94D6,
+ 20887: 0x94D7,
+ 20888: 0x94D9,
+ 20889: 0x94D8,
+ 20890: 0x94DB,
+ 20891: 0x94DE,
+ 20892: 0x94DF,
+ 20893: 0x94E0,
+ 20894: 0x94E2,
+ 20895: 0x94E4,
+ 20896: 0x94E5,
+ 20897: 0x94E7,
+ 20898: 0x94E8,
+ 20899: 0x94EA,
+ 20900: 0x986F,
+ 20901: 0x9870,
+ 20902: 0x9871,
+ 20903: 0x9872,
+ 20904: 0x9873,
+ 20905: 0x9874,
+ 20906: 0x988B,
+ 20907: 0x988E,
+ 20908: 0x9892,
+ 20909: 0x9895,
+ 20910: 0x9899,
+ 20911: 0x98A3,
+ 20912: 0x98A8,
+ 20913: 0x98A9,
+ 20914: 0x98AA,
+ 20915: 0x98AB,
+ 20916: 0x98AC,
+ 20917: 0x98AD,
+ 20918: 0x98AE,
+ 20919: 0x98AF,
+ 20920: 0x98B0,
+ 20921: 0x98B1,
+ 20922: 0x98B2,
+ 20923: 0x98B3,
+ 20924: 0x98B4,
+ 20925: 0x98B5,
+ 20926: 0x98B6,
+ 20927: 0x98B7,
+ 20928: 0x98B8,
+ 20929: 0x98B9,
+ 20930: 0x98BA,
+ 20931: 0x98BB,
+ 20932: 0x98BC,
+ 20933: 0x98BD,
+ 20934: 0x98BE,
+ 20935: 0x98BF,
+ 20936: 0x98C0,
+ 20937: 0x98C1,
+ 20938: 0x98C2,
+ 20939: 0x98C3,
+ 20940: 0x98C4,
+ 20941: 0x98C5,
+ 20942: 0x98C6,
+ 20943: 0x98C7,
+ 20944: 0x98C8,
+ 20945: 0x98C9,
+ 20946: 0x98CA,
+ 20947: 0x98CB,
+ 20948: 0x98CC,
+ 20949: 0x98CD,
+ 20950: 0x98CF,
+ 20951: 0x98D0,
+ 20952: 0x98D4,
+ 20953: 0x98D6,
+ 20954: 0x98D7,
+ 20955: 0x98DB,
+ 20956: 0x98DC,
+ 20957: 0x98DD,
+ 20958: 0x98E0,
+ 20959: 0x98E1,
+ 20960: 0x98E2,
+ 20961: 0x98E3,
+ 20962: 0x98E4,
+ 20963: 0x98E5,
+ 20964: 0x98E6,
+ 20965: 0x98E9,
+ 20966: 0x98EA,
+ 20967: 0x98EB,
+ 20968: 0x98EC,
+ 20969: 0x98ED,
+ 20970: 0x98EE,
+ 20971: 0x98EF,
+ 20972: 0x98F0,
+ 20973: 0x98F1,
+ 20974: 0x98F2,
+ 20975: 0x98F3,
+ 20976: 0x98F4,
+ 20977: 0x98F5,
+ 20978: 0x98F6,
+ 20979: 0x98F7,
+ 20980: 0x98F8,
+ 20981: 0x98F9,
+ 20982: 0x98FA,
+ 20983: 0x98FB,
+ 20984: 0x98FC,
+ 20985: 0x98FD,
+ 20986: 0x98FE,
+ 20987: 0x98FF,
+ 20988: 0x9900,
+ 20989: 0x9901,
+ 20990: 0x9902,
+ 20991: 0x9903,
+ 20992: 0x9904,
+ 20993: 0x9905,
+ 20994: 0x9906,
+ 20995: 0x9907,
+ 20996: 0x94E9,
+ 20997: 0x94EB,
+ 20998: 0x94EE,
+ 20999: 0x94EF,
+ 21000: 0x94F3,
+ 21001: 0x94F4,
+ 21002: 0x94F5,
+ 21003: 0x94F7,
+ 21004: 0x94F9,
+ 21005: 0x94FC,
+ 21006: 0x94FD,
+ 21007: 0x94FF,
+ 21008: 0x9503,
+ 21009: 0x9502,
+ 21010: 0x9506,
+ 21011: 0x9507,
+ 21012: 0x9509,
+ 21013: 0x950A,
+ 21014: 0x950D,
+ 21015: 0x950E,
+ 21016: 0x950F,
+ 21017: 0x9512,
+ 21018: 0x9513,
+ 21019: 0x9514,
+ 21020: 0x9515,
+ 21021: 0x9516,
+ 21022: 0x9518,
+ 21023: 0x951B,
+ 21024: 0x951D,
+ 21025: 0x951E,
+ 21026: 0x951F,
+ 21027: 0x9522,
+ 21028: 0x952A,
+ 21029: 0x952B,
+ 21030: 0x9529,
+ 21031: 0x952C,
+ 21032: 0x9531,
+ 21033: 0x9532,
+ 21034: 0x9534,
+ 21035: 0x9536,
+ 21036: 0x9537,
+ 21037: 0x9538,
+ 21038: 0x953C,
+ 21039: 0x953E,
+ 21040: 0x953F,
+ 21041: 0x9542,
+ 21042: 0x9535,
+ 21043: 0x9544,
+ 21044: 0x9545,
+ 21045: 0x9546,
+ 21046: 0x9549,
+ 21047: 0x954C,
+ 21048: 0x954E,
+ 21049: 0x954F,
+ 21050: 0x9552,
+ 21051: 0x9553,
+ 21052: 0x9554,
+ 21053: 0x9556,
+ 21054: 0x9557,
+ 21055: 0x9558,
+ 21056: 0x9559,
+ 21057: 0x955B,
+ 21058: 0x955E,
+ 21059: 0x955F,
+ 21060: 0x955D,
+ 21061: 0x9561,
+ 21062: 0x9562,
+ 21063: 0x9564,
+ 21064: 0x9565,
+ 21065: 0x9566,
+ 21066: 0x9567,
+ 21067: 0x9568,
+ 21068: 0x9569,
+ 21069: 0x956A,
+ 21070: 0x956B,
+ 21071: 0x956C,
+ 21072: 0x956F,
+ 21073: 0x9571,
+ 21074: 0x9572,
+ 21075: 0x9573,
+ 21076: 0x953A,
+ 21077: 0x77E7,
+ 21078: 0x77EC,
+ 21079: 0x96C9,
+ 21080: 0x79D5,
+ 21081: 0x79ED,
+ 21082: 0x79E3,
+ 21083: 0x79EB,
+ 21084: 0x7A06,
+ 21085: 0x5D47,
+ 21086: 0x7A03,
+ 21087: 0x7A02,
+ 21088: 0x7A1E,
+ 21089: 0x7A14,
+ 21090: 0x9908,
+ 21091: 0x9909,
+ 21092: 0x990A,
+ 21093: 0x990B,
+ 21094: 0x990C,
+ 21095: 0x990E,
+ 21096: 0x990F,
+ 21097: 0x9911,
+ 21098: 0x9912,
+ 21099: 0x9913,
+ 21100: 0x9914,
+ 21101: 0x9915,
+ 21102: 0x9916,
+ 21103: 0x9917,
+ 21104: 0x9918,
+ 21105: 0x9919,
+ 21106: 0x991A,
+ 21107: 0x991B,
+ 21108: 0x991C,
+ 21109: 0x991D,
+ 21110: 0x991E,
+ 21111: 0x991F,
+ 21112: 0x9920,
+ 21113: 0x9921,
+ 21114: 0x9922,
+ 21115: 0x9923,
+ 21116: 0x9924,
+ 21117: 0x9925,
+ 21118: 0x9926,
+ 21119: 0x9927,
+ 21120: 0x9928,
+ 21121: 0x9929,
+ 21122: 0x992A,
+ 21123: 0x992B,
+ 21124: 0x992C,
+ 21125: 0x992D,
+ 21126: 0x992F,
+ 21127: 0x9930,
+ 21128: 0x9931,
+ 21129: 0x9932,
+ 21130: 0x9933,
+ 21131: 0x9934,
+ 21132: 0x9935,
+ 21133: 0x9936,
+ 21134: 0x9937,
+ 21135: 0x9938,
+ 21136: 0x9939,
+ 21137: 0x993A,
+ 21138: 0x993B,
+ 21139: 0x993C,
+ 21140: 0x993D,
+ 21141: 0x993E,
+ 21142: 0x993F,
+ 21143: 0x9940,
+ 21144: 0x9941,
+ 21145: 0x9942,
+ 21146: 0x9943,
+ 21147: 0x9944,
+ 21148: 0x9945,
+ 21149: 0x9946,
+ 21150: 0x9947,
+ 21151: 0x9948,
+ 21152: 0x9949,
+ 21153: 0x994A,
+ 21154: 0x994B,
+ 21155: 0x994C,
+ 21156: 0x994D,
+ 21157: 0x994E,
+ 21158: 0x994F,
+ 21159: 0x9950,
+ 21160: 0x9951,
+ 21161: 0x9952,
+ 21162: 0x9953,
+ 21163: 0x9956,
+ 21164: 0x9957,
+ 21165: 0x9958,
+ 21166: 0x9959,
+ 21167: 0x995A,
+ 21168: 0x995B,
+ 21169: 0x995C,
+ 21170: 0x995D,
+ 21171: 0x995E,
+ 21172: 0x995F,
+ 21173: 0x9960,
+ 21174: 0x9961,
+ 21175: 0x9962,
+ 21176: 0x9964,
+ 21177: 0x9966,
+ 21178: 0x9973,
+ 21179: 0x9978,
+ 21180: 0x9979,
+ 21181: 0x997B,
+ 21182: 0x997E,
+ 21183: 0x9982,
+ 21184: 0x9983,
+ 21185: 0x9989,
+ 21186: 0x7A39,
+ 21187: 0x7A37,
+ 21188: 0x7A51,
+ 21189: 0x9ECF,
+ 21190: 0x99A5,
+ 21191: 0x7A70,
+ 21192: 0x7688,
+ 21193: 0x768E,
+ 21194: 0x7693,
+ 21195: 0x7699,
+ 21196: 0x76A4,
+ 21197: 0x74DE,
+ 21198: 0x74E0,
+ 21199: 0x752C,
+ 21200: 0x9E20,
+ 21201: 0x9E22,
+ 21202: 0x9E28,
+ 21203: 0x9E29,
+ 21204: 0x9E2A,
+ 21205: 0x9E2B,
+ 21206: 0x9E2C,
+ 21207: 0x9E32,
+ 21208: 0x9E31,
+ 21209: 0x9E36,
+ 21210: 0x9E38,
+ 21211: 0x9E37,
+ 21212: 0x9E39,
+ 21213: 0x9E3A,
+ 21214: 0x9E3E,
+ 21215: 0x9E41,
+ 21216: 0x9E42,
+ 21217: 0x9E44,
+ 21218: 0x9E46,
+ 21219: 0x9E47,
+ 21220: 0x9E48,
+ 21221: 0x9E49,
+ 21222: 0x9E4B,
+ 21223: 0x9E4C,
+ 21224: 0x9E4E,
+ 21225: 0x9E51,
+ 21226: 0x9E55,
+ 21227: 0x9E57,
+ 21228: 0x9E5A,
+ 21229: 0x9E5B,
+ 21230: 0x9E5C,
+ 21231: 0x9E5E,
+ 21232: 0x9E63,
+ 21233: 0x9E66,
+ 21234: 0x9E67,
+ 21235: 0x9E68,
+ 21236: 0x9E69,
+ 21237: 0x9E6A,
+ 21238: 0x9E6B,
+ 21239: 0x9E6C,
+ 21240: 0x9E71,
+ 21241: 0x9E6D,
+ 21242: 0x9E73,
+ 21243: 0x7592,
+ 21244: 0x7594,
+ 21245: 0x7596,
+ 21246: 0x75A0,
+ 21247: 0x759D,
+ 21248: 0x75AC,
+ 21249: 0x75A3,
+ 21250: 0x75B3,
+ 21251: 0x75B4,
+ 21252: 0x75B8,
+ 21253: 0x75C4,
+ 21254: 0x75B1,
+ 21255: 0x75B0,
+ 21256: 0x75C3,
+ 21257: 0x75C2,
+ 21258: 0x75D6,
+ 21259: 0x75CD,
+ 21260: 0x75E3,
+ 21261: 0x75E8,
+ 21262: 0x75E6,
+ 21263: 0x75E4,
+ 21264: 0x75EB,
+ 21265: 0x75E7,
+ 21266: 0x7603,
+ 21267: 0x75F1,
+ 21268: 0x75FC,
+ 21269: 0x75FF,
+ 21270: 0x7610,
+ 21271: 0x7600,
+ 21272: 0x7605,
+ 21273: 0x760C,
+ 21274: 0x7617,
+ 21275: 0x760A,
+ 21276: 0x7625,
+ 21277: 0x7618,
+ 21278: 0x7615,
+ 21279: 0x7619,
+ 21280: 0x998C,
+ 21281: 0x998E,
+ 21282: 0x999A,
+ 21283: 0x999B,
+ 21284: 0x999C,
+ 21285: 0x999D,
+ 21286: 0x999E,
+ 21287: 0x999F,
+ 21288: 0x99A0,
+ 21289: 0x99A1,
+ 21290: 0x99A2,
+ 21291: 0x99A3,
+ 21292: 0x99A4,
+ 21293: 0x99A6,
+ 21294: 0x99A7,
+ 21295: 0x99A9,
+ 21296: 0x99AA,
+ 21297: 0x99AB,
+ 21298: 0x99AC,
+ 21299: 0x99AD,
+ 21300: 0x99AE,
+ 21301: 0x99AF,
+ 21302: 0x99B0,
+ 21303: 0x99B1,
+ 21304: 0x99B2,
+ 21305: 0x99B3,
+ 21306: 0x99B4,
+ 21307: 0x99B5,
+ 21308: 0x99B6,
+ 21309: 0x99B7,
+ 21310: 0x99B8,
+ 21311: 0x99B9,
+ 21312: 0x99BA,
+ 21313: 0x99BB,
+ 21314: 0x99BC,
+ 21315: 0x99BD,
+ 21316: 0x99BE,
+ 21317: 0x99BF,
+ 21318: 0x99C0,
+ 21319: 0x99C1,
+ 21320: 0x99C2,
+ 21321: 0x99C3,
+ 21322: 0x99C4,
+ 21323: 0x99C5,
+ 21324: 0x99C6,
+ 21325: 0x99C7,
+ 21326: 0x99C8,
+ 21327: 0x99C9,
+ 21328: 0x99CA,
+ 21329: 0x99CB,
+ 21330: 0x99CC,
+ 21331: 0x99CD,
+ 21332: 0x99CE,
+ 21333: 0x99CF,
+ 21334: 0x99D0,
+ 21335: 0x99D1,
+ 21336: 0x99D2,
+ 21337: 0x99D3,
+ 21338: 0x99D4,
+ 21339: 0x99D5,
+ 21340: 0x99D6,
+ 21341: 0x99D7,
+ 21342: 0x99D8,
+ 21343: 0x99D9,
+ 21344: 0x99DA,
+ 21345: 0x99DB,
+ 21346: 0x99DC,
+ 21347: 0x99DD,
+ 21348: 0x99DE,
+ 21349: 0x99DF,
+ 21350: 0x99E0,
+ 21351: 0x99E1,
+ 21352: 0x99E2,
+ 21353: 0x99E3,
+ 21354: 0x99E4,
+ 21355: 0x99E5,
+ 21356: 0x99E6,
+ 21357: 0x99E7,
+ 21358: 0x99E8,
+ 21359: 0x99E9,
+ 21360: 0x99EA,
+ 21361: 0x99EB,
+ 21362: 0x99EC,
+ 21363: 0x99ED,
+ 21364: 0x99EE,
+ 21365: 0x99EF,
+ 21366: 0x99F0,
+ 21367: 0x99F1,
+ 21368: 0x99F2,
+ 21369: 0x99F3,
+ 21370: 0x99F4,
+ 21371: 0x99F5,
+ 21372: 0x99F6,
+ 21373: 0x99F7,
+ 21374: 0x99F8,
+ 21375: 0x99F9,
+ 21376: 0x761B,
+ 21377: 0x763C,
+ 21378: 0x7622,
+ 21379: 0x7620,
+ 21380: 0x7640,
+ 21381: 0x762D,
+ 21382: 0x7630,
+ 21383: 0x763F,
+ 21384: 0x7635,
+ 21385: 0x7643,
+ 21386: 0x763E,
+ 21387: 0x7633,
+ 21388: 0x764D,
+ 21389: 0x765E,
+ 21390: 0x7654,
+ 21391: 0x765C,
+ 21392: 0x7656,
+ 21393: 0x766B,
+ 21394: 0x766F,
+ 21395: 0x7FCA,
+ 21396: 0x7AE6,
+ 21397: 0x7A78,
+ 21398: 0x7A79,
+ 21399: 0x7A80,
+ 21400: 0x7A86,
+ 21401: 0x7A88,
+ 21402: 0x7A95,
+ 21403: 0x7AA6,
+ 21404: 0x7AA0,
+ 21405: 0x7AAC,
+ 21406: 0x7AA8,
+ 21407: 0x7AAD,
+ 21408: 0x7AB3,
+ 21409: 0x8864,
+ 21410: 0x8869,
+ 21411: 0x8872,
+ 21412: 0x887D,
+ 21413: 0x887F,
+ 21414: 0x8882,
+ 21415: 0x88A2,
+ 21416: 0x88C6,
+ 21417: 0x88B7,
+ 21418: 0x88BC,
+ 21419: 0x88C9,
+ 21420: 0x88E2,
+ 21421: 0x88CE,
+ 21422: 0x88E3,
+ 21423: 0x88E5,
+ 21424: 0x88F1,
+ 21425: 0x891A,
+ 21426: 0x88FC,
+ 21427: 0x88E8,
+ 21428: 0x88FE,
+ 21429: 0x88F0,
+ 21430: 0x8921,
+ 21431: 0x8919,
+ 21432: 0x8913,
+ 21433: 0x891B,
+ 21434: 0x890A,
+ 21435: 0x8934,
+ 21436: 0x892B,
+ 21437: 0x8936,
+ 21438: 0x8941,
+ 21439: 0x8966,
+ 21440: 0x897B,
+ 21441: 0x758B,
+ 21442: 0x80E5,
+ 21443: 0x76B2,
+ 21444: 0x76B4,
+ 21445: 0x77DC,
+ 21446: 0x8012,
+ 21447: 0x8014,
+ 21448: 0x8016,
+ 21449: 0x801C,
+ 21450: 0x8020,
+ 21451: 0x8022,
+ 21452: 0x8025,
+ 21453: 0x8026,
+ 21454: 0x8027,
+ 21455: 0x8029,
+ 21456: 0x8028,
+ 21457: 0x8031,
+ 21458: 0x800B,
+ 21459: 0x8035,
+ 21460: 0x8043,
+ 21461: 0x8046,
+ 21462: 0x804D,
+ 21463: 0x8052,
+ 21464: 0x8069,
+ 21465: 0x8071,
+ 21466: 0x8983,
+ 21467: 0x9878,
+ 21468: 0x9880,
+ 21469: 0x9883,
+ 21470: 0x99FA,
+ 21471: 0x99FB,
+ 21472: 0x99FC,
+ 21473: 0x99FD,
+ 21474: 0x99FE,
+ 21475: 0x99FF,
+ 21476: 0x9A00,
+ 21477: 0x9A01,
+ 21478: 0x9A02,
+ 21479: 0x9A03,
+ 21480: 0x9A04,
+ 21481: 0x9A05,
+ 21482: 0x9A06,
+ 21483: 0x9A07,
+ 21484: 0x9A08,
+ 21485: 0x9A09,
+ 21486: 0x9A0A,
+ 21487: 0x9A0B,
+ 21488: 0x9A0C,
+ 21489: 0x9A0D,
+ 21490: 0x9A0E,
+ 21491: 0x9A0F,
+ 21492: 0x9A10,
+ 21493: 0x9A11,
+ 21494: 0x9A12,
+ 21495: 0x9A13,
+ 21496: 0x9A14,
+ 21497: 0x9A15,
+ 21498: 0x9A16,
+ 21499: 0x9A17,
+ 21500: 0x9A18,
+ 21501: 0x9A19,
+ 21502: 0x9A1A,
+ 21503: 0x9A1B,
+ 21504: 0x9A1C,
+ 21505: 0x9A1D,
+ 21506: 0x9A1E,
+ 21507: 0x9A1F,
+ 21508: 0x9A20,
+ 21509: 0x9A21,
+ 21510: 0x9A22,
+ 21511: 0x9A23,
+ 21512: 0x9A24,
+ 21513: 0x9A25,
+ 21514: 0x9A26,
+ 21515: 0x9A27,
+ 21516: 0x9A28,
+ 21517: 0x9A29,
+ 21518: 0x9A2A,
+ 21519: 0x9A2B,
+ 21520: 0x9A2C,
+ 21521: 0x9A2D,
+ 21522: 0x9A2E,
+ 21523: 0x9A2F,
+ 21524: 0x9A30,
+ 21525: 0x9A31,
+ 21526: 0x9A32,
+ 21527: 0x9A33,
+ 21528: 0x9A34,
+ 21529: 0x9A35,
+ 21530: 0x9A36,
+ 21531: 0x9A37,
+ 21532: 0x9A38,
+ 21533: 0x9A39,
+ 21534: 0x9A3A,
+ 21535: 0x9A3B,
+ 21536: 0x9A3C,
+ 21537: 0x9A3D,
+ 21538: 0x9A3E,
+ 21539: 0x9A3F,
+ 21540: 0x9A40,
+ 21541: 0x9A41,
+ 21542: 0x9A42,
+ 21543: 0x9A43,
+ 21544: 0x9A44,
+ 21545: 0x9A45,
+ 21546: 0x9A46,
+ 21547: 0x9A47,
+ 21548: 0x9A48,
+ 21549: 0x9A49,
+ 21550: 0x9A4A,
+ 21551: 0x9A4B,
+ 21552: 0x9A4C,
+ 21553: 0x9A4D,
+ 21554: 0x9A4E,
+ 21555: 0x9A4F,
+ 21556: 0x9A50,
+ 21557: 0x9A51,
+ 21558: 0x9A52,
+ 21559: 0x9A53,
+ 21560: 0x9A54,
+ 21561: 0x9A55,
+ 21562: 0x9A56,
+ 21563: 0x9A57,
+ 21564: 0x9A58,
+ 21565: 0x9A59,
+ 21566: 0x9889,
+ 21567: 0x988C,
+ 21568: 0x988D,
+ 21569: 0x988F,
+ 21570: 0x9894,
+ 21571: 0x989A,
+ 21572: 0x989B,
+ 21573: 0x989E,
+ 21574: 0x989F,
+ 21575: 0x98A1,
+ 21576: 0x98A2,
+ 21577: 0x98A5,
+ 21578: 0x98A6,
+ 21579: 0x864D,
+ 21580: 0x8654,
+ 21581: 0x866C,
+ 21582: 0x866E,
+ 21583: 0x867F,
+ 21584: 0x867A,
+ 21585: 0x867C,
+ 21586: 0x867B,
+ 21587: 0x86A8,
+ 21588: 0x868D,
+ 21589: 0x868B,
+ 21590: 0x86AC,
+ 21591: 0x869D,
+ 21592: 0x86A7,
+ 21593: 0x86A3,
+ 21594: 0x86AA,
+ 21595: 0x8693,
+ 21596: 0x86A9,
+ 21597: 0x86B6,
+ 21598: 0x86C4,
+ 21599: 0x86B5,
+ 21600: 0x86CE,
+ 21601: 0x86B0,
+ 21602: 0x86BA,
+ 21603: 0x86B1,
+ 21604: 0x86AF,
+ 21605: 0x86C9,
+ 21606: 0x86CF,
+ 21607: 0x86B4,
+ 21608: 0x86E9,
+ 21609: 0x86F1,
+ 21610: 0x86F2,
+ 21611: 0x86ED,
+ 21612: 0x86F3,
+ 21613: 0x86D0,
+ 21614: 0x8713,
+ 21615: 0x86DE,
+ 21616: 0x86F4,
+ 21617: 0x86DF,
+ 21618: 0x86D8,
+ 21619: 0x86D1,
+ 21620: 0x8703,
+ 21621: 0x8707,
+ 21622: 0x86F8,
+ 21623: 0x8708,
+ 21624: 0x870A,
+ 21625: 0x870D,
+ 21626: 0x8709,
+ 21627: 0x8723,
+ 21628: 0x873B,
+ 21629: 0x871E,
+ 21630: 0x8725,
+ 21631: 0x872E,
+ 21632: 0x871A,
+ 21633: 0x873E,
+ 21634: 0x8748,
+ 21635: 0x8734,
+ 21636: 0x8731,
+ 21637: 0x8729,
+ 21638: 0x8737,
+ 21639: 0x873F,
+ 21640: 0x8782,
+ 21641: 0x8722,
+ 21642: 0x877D,
+ 21643: 0x877E,
+ 21644: 0x877B,
+ 21645: 0x8760,
+ 21646: 0x8770,
+ 21647: 0x874C,
+ 21648: 0x876E,
+ 21649: 0x878B,
+ 21650: 0x8753,
+ 21651: 0x8763,
+ 21652: 0x877C,
+ 21653: 0x8764,
+ 21654: 0x8759,
+ 21655: 0x8765,
+ 21656: 0x8793,
+ 21657: 0x87AF,
+ 21658: 0x87A8,
+ 21659: 0x87D2,
+ 21660: 0x9A5A,
+ 21661: 0x9A5B,
+ 21662: 0x9A5C,
+ 21663: 0x9A5D,
+ 21664: 0x9A5E,
+ 21665: 0x9A5F,
+ 21666: 0x9A60,
+ 21667: 0x9A61,
+ 21668: 0x9A62,
+ 21669: 0x9A63,
+ 21670: 0x9A64,
+ 21671: 0x9A65,
+ 21672: 0x9A66,
+ 21673: 0x9A67,
+ 21674: 0x9A68,
+ 21675: 0x9A69,
+ 21676: 0x9A6A,
+ 21677: 0x9A6B,
+ 21678: 0x9A72,
+ 21679: 0x9A83,
+ 21680: 0x9A89,
+ 21681: 0x9A8D,
+ 21682: 0x9A8E,
+ 21683: 0x9A94,
+ 21684: 0x9A95,
+ 21685: 0x9A99,
+ 21686: 0x9AA6,
+ 21687: 0x9AA9,
+ 21688: 0x9AAA,
+ 21689: 0x9AAB,
+ 21690: 0x9AAC,
+ 21691: 0x9AAD,
+ 21692: 0x9AAE,
+ 21693: 0x9AAF,
+ 21694: 0x9AB2,
+ 21695: 0x9AB3,
+ 21696: 0x9AB4,
+ 21697: 0x9AB5,
+ 21698: 0x9AB9,
+ 21699: 0x9ABB,
+ 21700: 0x9ABD,
+ 21701: 0x9ABE,
+ 21702: 0x9ABF,
+ 21703: 0x9AC3,
+ 21704: 0x9AC4,
+ 21705: 0x9AC6,
+ 21706: 0x9AC7,
+ 21707: 0x9AC8,
+ 21708: 0x9AC9,
+ 21709: 0x9ACA,
+ 21710: 0x9ACD,
+ 21711: 0x9ACE,
+ 21712: 0x9ACF,
+ 21713: 0x9AD0,
+ 21714: 0x9AD2,
+ 21715: 0x9AD4,
+ 21716: 0x9AD5,
+ 21717: 0x9AD6,
+ 21718: 0x9AD7,
+ 21719: 0x9AD9,
+ 21720: 0x9ADA,
+ 21721: 0x9ADB,
+ 21722: 0x9ADC,
+ 21723: 0x9ADD,
+ 21724: 0x9ADE,
+ 21725: 0x9AE0,
+ 21726: 0x9AE2,
+ 21727: 0x9AE3,
+ 21728: 0x9AE4,
+ 21729: 0x9AE5,
+ 21730: 0x9AE7,
+ 21731: 0x9AE8,
+ 21732: 0x9AE9,
+ 21733: 0x9AEA,
+ 21734: 0x9AEC,
+ 21735: 0x9AEE,
+ 21736: 0x9AF0,
+ 21737: 0x9AF1,
+ 21738: 0x9AF2,
+ 21739: 0x9AF3,
+ 21740: 0x9AF4,
+ 21741: 0x9AF5,
+ 21742: 0x9AF6,
+ 21743: 0x9AF7,
+ 21744: 0x9AF8,
+ 21745: 0x9AFA,
+ 21746: 0x9AFC,
+ 21747: 0x9AFD,
+ 21748: 0x9AFE,
+ 21749: 0x9AFF,
+ 21750: 0x9B00,
+ 21751: 0x9B01,
+ 21752: 0x9B02,
+ 21753: 0x9B04,
+ 21754: 0x9B05,
+ 21755: 0x9B06,
+ 21756: 0x87C6,
+ 21757: 0x8788,
+ 21758: 0x8785,
+ 21759: 0x87AD,
+ 21760: 0x8797,
+ 21761: 0x8783,
+ 21762: 0x87AB,
+ 21763: 0x87E5,
+ 21764: 0x87AC,
+ 21765: 0x87B5,
+ 21766: 0x87B3,
+ 21767: 0x87CB,
+ 21768: 0x87D3,
+ 21769: 0x87BD,
+ 21770: 0x87D1,
+ 21771: 0x87C0,
+ 21772: 0x87CA,
+ 21773: 0x87DB,
+ 21774: 0x87EA,
+ 21775: 0x87E0,
+ 21776: 0x87EE,
+ 21777: 0x8816,
+ 21778: 0x8813,
+ 21779: 0x87FE,
+ 21780: 0x880A,
+ 21781: 0x881B,
+ 21782: 0x8821,
+ 21783: 0x8839,
+ 21784: 0x883C,
+ 21785: 0x7F36,
+ 21786: 0x7F42,
+ 21787: 0x7F44,
+ 21788: 0x7F45,
+ 21789: 0x8210,
+ 21790: 0x7AFA,
+ 21791: 0x7AFD,
+ 21792: 0x7B08,
+ 21793: 0x7B03,
+ 21794: 0x7B04,
+ 21795: 0x7B15,
+ 21796: 0x7B0A,
+ 21797: 0x7B2B,
+ 21798: 0x7B0F,
+ 21799: 0x7B47,
+ 21800: 0x7B38,
+ 21801: 0x7B2A,
+ 21802: 0x7B19,
+ 21803: 0x7B2E,
+ 21804: 0x7B31,
+ 21805: 0x7B20,
+ 21806: 0x7B25,
+ 21807: 0x7B24,
+ 21808: 0x7B33,
+ 21809: 0x7B3E,
+ 21810: 0x7B1E,
+ 21811: 0x7B58,
+ 21812: 0x7B5A,
+ 21813: 0x7B45,
+ 21814: 0x7B75,
+ 21815: 0x7B4C,
+ 21816: 0x7B5D,
+ 21817: 0x7B60,
+ 21818: 0x7B6E,
+ 21819: 0x7B7B,
+ 21820: 0x7B62,
+ 21821: 0x7B72,
+ 21822: 0x7B71,
+ 21823: 0x7B90,
+ 21824: 0x7BA6,
+ 21825: 0x7BA7,
+ 21826: 0x7BB8,
+ 21827: 0x7BAC,
+ 21828: 0x7B9D,
+ 21829: 0x7BA8,
+ 21830: 0x7B85,
+ 21831: 0x7BAA,
+ 21832: 0x7B9C,
+ 21833: 0x7BA2,
+ 21834: 0x7BAB,
+ 21835: 0x7BB4,
+ 21836: 0x7BD1,
+ 21837: 0x7BC1,
+ 21838: 0x7BCC,
+ 21839: 0x7BDD,
+ 21840: 0x7BDA,
+ 21841: 0x7BE5,
+ 21842: 0x7BE6,
+ 21843: 0x7BEA,
+ 21844: 0x7C0C,
+ 21845: 0x7BFE,
+ 21846: 0x7BFC,
+ 21847: 0x7C0F,
+ 21848: 0x7C16,
+ 21849: 0x7C0B,
+ 21850: 0x9B07,
+ 21851: 0x9B09,
+ 21852: 0x9B0A,
+ 21853: 0x9B0B,
+ 21854: 0x9B0C,
+ 21855: 0x9B0D,
+ 21856: 0x9B0E,
+ 21857: 0x9B10,
+ 21858: 0x9B11,
+ 21859: 0x9B12,
+ 21860: 0x9B14,
+ 21861: 0x9B15,
+ 21862: 0x9B16,
+ 21863: 0x9B17,
+ 21864: 0x9B18,
+ 21865: 0x9B19,
+ 21866: 0x9B1A,
+ 21867: 0x9B1B,
+ 21868: 0x9B1C,
+ 21869: 0x9B1D,
+ 21870: 0x9B1E,
+ 21871: 0x9B20,
+ 21872: 0x9B21,
+ 21873: 0x9B22,
+ 21874: 0x9B24,
+ 21875: 0x9B25,
+ 21876: 0x9B26,
+ 21877: 0x9B27,
+ 21878: 0x9B28,
+ 21879: 0x9B29,
+ 21880: 0x9B2A,
+ 21881: 0x9B2B,
+ 21882: 0x9B2C,
+ 21883: 0x9B2D,
+ 21884: 0x9B2E,
+ 21885: 0x9B30,
+ 21886: 0x9B31,
+ 21887: 0x9B33,
+ 21888: 0x9B34,
+ 21889: 0x9B35,
+ 21890: 0x9B36,
+ 21891: 0x9B37,
+ 21892: 0x9B38,
+ 21893: 0x9B39,
+ 21894: 0x9B3A,
+ 21895: 0x9B3D,
+ 21896: 0x9B3E,
+ 21897: 0x9B3F,
+ 21898: 0x9B40,
+ 21899: 0x9B46,
+ 21900: 0x9B4A,
+ 21901: 0x9B4B,
+ 21902: 0x9B4C,
+ 21903: 0x9B4E,
+ 21904: 0x9B50,
+ 21905: 0x9B52,
+ 21906: 0x9B53,
+ 21907: 0x9B55,
+ 21908: 0x9B56,
+ 21909: 0x9B57,
+ 21910: 0x9B58,
+ 21911: 0x9B59,
+ 21912: 0x9B5A,
+ 21913: 0x9B5B,
+ 21914: 0x9B5C,
+ 21915: 0x9B5D,
+ 21916: 0x9B5E,
+ 21917: 0x9B5F,
+ 21918: 0x9B60,
+ 21919: 0x9B61,
+ 21920: 0x9B62,
+ 21921: 0x9B63,
+ 21922: 0x9B64,
+ 21923: 0x9B65,
+ 21924: 0x9B66,
+ 21925: 0x9B67,
+ 21926: 0x9B68,
+ 21927: 0x9B69,
+ 21928: 0x9B6A,
+ 21929: 0x9B6B,
+ 21930: 0x9B6C,
+ 21931: 0x9B6D,
+ 21932: 0x9B6E,
+ 21933: 0x9B6F,
+ 21934: 0x9B70,
+ 21935: 0x9B71,
+ 21936: 0x9B72,
+ 21937: 0x9B73,
+ 21938: 0x9B74,
+ 21939: 0x9B75,
+ 21940: 0x9B76,
+ 21941: 0x9B77,
+ 21942: 0x9B78,
+ 21943: 0x9B79,
+ 21944: 0x9B7A,
+ 21945: 0x9B7B,
+ 21946: 0x7C1F,
+ 21947: 0x7C2A,
+ 21948: 0x7C26,
+ 21949: 0x7C38,
+ 21950: 0x7C41,
+ 21951: 0x7C40,
+ 21952: 0x81FE,
+ 21953: 0x8201,
+ 21954: 0x8202,
+ 21955: 0x8204,
+ 21956: 0x81EC,
+ 21957: 0x8844,
+ 21958: 0x8221,
+ 21959: 0x8222,
+ 21960: 0x8223,
+ 21961: 0x822D,
+ 21962: 0x822F,
+ 21963: 0x8228,
+ 21964: 0x822B,
+ 21965: 0x8238,
+ 21966: 0x823B,
+ 21967: 0x8233,
+ 21968: 0x8234,
+ 21969: 0x823E,
+ 21970: 0x8244,
+ 21971: 0x8249,
+ 21972: 0x824B,
+ 21973: 0x824F,
+ 21974: 0x825A,
+ 21975: 0x825F,
+ 21976: 0x8268,
+ 21977: 0x887E,
+ 21978: 0x8885,
+ 21979: 0x8888,
+ 21980: 0x88D8,
+ 21981: 0x88DF,
+ 21982: 0x895E,
+ 21983: 0x7F9D,
+ 21984: 0x7F9F,
+ 21985: 0x7FA7,
+ 21986: 0x7FAF,
+ 21987: 0x7FB0,
+ 21988: 0x7FB2,
+ 21989: 0x7C7C,
+ 21990: 0x6549,
+ 21991: 0x7C91,
+ 21992: 0x7C9D,
+ 21993: 0x7C9C,
+ 21994: 0x7C9E,
+ 21995: 0x7CA2,
+ 21996: 0x7CB2,
+ 21997: 0x7CBC,
+ 21998: 0x7CBD,
+ 21999: 0x7CC1,
+ 22000: 0x7CC7,
+ 22001: 0x7CCC,
+ 22002: 0x7CCD,
+ 22003: 0x7CC8,
+ 22004: 0x7CC5,
+ 22005: 0x7CD7,
+ 22006: 0x7CE8,
+ 22007: 0x826E,
+ 22008: 0x66A8,
+ 22009: 0x7FBF,
+ 22010: 0x7FCE,
+ 22011: 0x7FD5,
+ 22012: 0x7FE5,
+ 22013: 0x7FE1,
+ 22014: 0x7FE6,
+ 22015: 0x7FE9,
+ 22016: 0x7FEE,
+ 22017: 0x7FF3,
+ 22018: 0x7CF8,
+ 22019: 0x7D77,
+ 22020: 0x7DA6,
+ 22021: 0x7DAE,
+ 22022: 0x7E47,
+ 22023: 0x7E9B,
+ 22024: 0x9EB8,
+ 22025: 0x9EB4,
+ 22026: 0x8D73,
+ 22027: 0x8D84,
+ 22028: 0x8D94,
+ 22029: 0x8D91,
+ 22030: 0x8DB1,
+ 22031: 0x8D67,
+ 22032: 0x8D6D,
+ 22033: 0x8C47,
+ 22034: 0x8C49,
+ 22035: 0x914A,
+ 22036: 0x9150,
+ 22037: 0x914E,
+ 22038: 0x914F,
+ 22039: 0x9164,
+ 22040: 0x9B7C,
+ 22041: 0x9B7D,
+ 22042: 0x9B7E,
+ 22043: 0x9B7F,
+ 22044: 0x9B80,
+ 22045: 0x9B81,
+ 22046: 0x9B82,
+ 22047: 0x9B83,
+ 22048: 0x9B84,
+ 22049: 0x9B85,
+ 22050: 0x9B86,
+ 22051: 0x9B87,
+ 22052: 0x9B88,
+ 22053: 0x9B89,
+ 22054: 0x9B8A,
+ 22055: 0x9B8B,
+ 22056: 0x9B8C,
+ 22057: 0x9B8D,
+ 22058: 0x9B8E,
+ 22059: 0x9B8F,
+ 22060: 0x9B90,
+ 22061: 0x9B91,
+ 22062: 0x9B92,
+ 22063: 0x9B93,
+ 22064: 0x9B94,
+ 22065: 0x9B95,
+ 22066: 0x9B96,
+ 22067: 0x9B97,
+ 22068: 0x9B98,
+ 22069: 0x9B99,
+ 22070: 0x9B9A,
+ 22071: 0x9B9B,
+ 22072: 0x9B9C,
+ 22073: 0x9B9D,
+ 22074: 0x9B9E,
+ 22075: 0x9B9F,
+ 22076: 0x9BA0,
+ 22077: 0x9BA1,
+ 22078: 0x9BA2,
+ 22079: 0x9BA3,
+ 22080: 0x9BA4,
+ 22081: 0x9BA5,
+ 22082: 0x9BA6,
+ 22083: 0x9BA7,
+ 22084: 0x9BA8,
+ 22085: 0x9BA9,
+ 22086: 0x9BAA,
+ 22087: 0x9BAB,
+ 22088: 0x9BAC,
+ 22089: 0x9BAD,
+ 22090: 0x9BAE,
+ 22091: 0x9BAF,
+ 22092: 0x9BB0,
+ 22093: 0x9BB1,
+ 22094: 0x9BB2,
+ 22095: 0x9BB3,
+ 22096: 0x9BB4,
+ 22097: 0x9BB5,
+ 22098: 0x9BB6,
+ 22099: 0x9BB7,
+ 22100: 0x9BB8,
+ 22101: 0x9BB9,
+ 22102: 0x9BBA,
+ 22103: 0x9BBB,
+ 22104: 0x9BBC,
+ 22105: 0x9BBD,
+ 22106: 0x9BBE,
+ 22107: 0x9BBF,
+ 22108: 0x9BC0,
+ 22109: 0x9BC1,
+ 22110: 0x9BC2,
+ 22111: 0x9BC3,
+ 22112: 0x9BC4,
+ 22113: 0x9BC5,
+ 22114: 0x9BC6,
+ 22115: 0x9BC7,
+ 22116: 0x9BC8,
+ 22117: 0x9BC9,
+ 22118: 0x9BCA,
+ 22119: 0x9BCB,
+ 22120: 0x9BCC,
+ 22121: 0x9BCD,
+ 22122: 0x9BCE,
+ 22123: 0x9BCF,
+ 22124: 0x9BD0,
+ 22125: 0x9BD1,
+ 22126: 0x9BD2,
+ 22127: 0x9BD3,
+ 22128: 0x9BD4,
+ 22129: 0x9BD5,
+ 22130: 0x9BD6,
+ 22131: 0x9BD7,
+ 22132: 0x9BD8,
+ 22133: 0x9BD9,
+ 22134: 0x9BDA,
+ 22135: 0x9BDB,
+ 22136: 0x9162,
+ 22137: 0x9161,
+ 22138: 0x9170,
+ 22139: 0x9169,
+ 22140: 0x916F,
+ 22141: 0x917D,
+ 22142: 0x917E,
+ 22143: 0x9172,
+ 22144: 0x9174,
+ 22145: 0x9179,
+ 22146: 0x918C,
+ 22147: 0x9185,
+ 22148: 0x9190,
+ 22149: 0x918D,
+ 22150: 0x9191,
+ 22151: 0x91A2,
+ 22152: 0x91A3,
+ 22153: 0x91AA,
+ 22154: 0x91AD,
+ 22155: 0x91AE,
+ 22156: 0x91AF,
+ 22157: 0x91B5,
+ 22158: 0x91B4,
+ 22159: 0x91BA,
+ 22160: 0x8C55,
+ 22161: 0x9E7E,
+ 22162: 0x8DB8,
+ 22163: 0x8DEB,
+ 22164: 0x8E05,
+ 22165: 0x8E59,
+ 22166: 0x8E69,
+ 22167: 0x8DB5,
+ 22168: 0x8DBF,
+ 22169: 0x8DBC,
+ 22170: 0x8DBA,
+ 22171: 0x8DC4,
+ 22172: 0x8DD6,
+ 22173: 0x8DD7,
+ 22174: 0x8DDA,
+ 22175: 0x8DDE,
+ 22176: 0x8DCE,
+ 22177: 0x8DCF,
+ 22178: 0x8DDB,
+ 22179: 0x8DC6,
+ 22180: 0x8DEC,
+ 22181: 0x8DF7,
+ 22182: 0x8DF8,
+ 22183: 0x8DE3,
+ 22184: 0x8DF9,
+ 22185: 0x8DFB,
+ 22186: 0x8DE4,
+ 22187: 0x8E09,
+ 22188: 0x8DFD,
+ 22189: 0x8E14,
+ 22190: 0x8E1D,
+ 22191: 0x8E1F,
+ 22192: 0x8E2C,
+ 22193: 0x8E2E,
+ 22194: 0x8E23,
+ 22195: 0x8E2F,
+ 22196: 0x8E3A,
+ 22197: 0x8E40,
+ 22198: 0x8E39,
+ 22199: 0x8E35,
+ 22200: 0x8E3D,
+ 22201: 0x8E31,
+ 22202: 0x8E49,
+ 22203: 0x8E41,
+ 22204: 0x8E42,
+ 22205: 0x8E51,
+ 22206: 0x8E52,
+ 22207: 0x8E4A,
+ 22208: 0x8E70,
+ 22209: 0x8E76,
+ 22210: 0x8E7C,
+ 22211: 0x8E6F,
+ 22212: 0x8E74,
+ 22213: 0x8E85,
+ 22214: 0x8E8F,
+ 22215: 0x8E94,
+ 22216: 0x8E90,
+ 22217: 0x8E9C,
+ 22218: 0x8E9E,
+ 22219: 0x8C78,
+ 22220: 0x8C82,
+ 22221: 0x8C8A,
+ 22222: 0x8C85,
+ 22223: 0x8C98,
+ 22224: 0x8C94,
+ 22225: 0x659B,
+ 22226: 0x89D6,
+ 22227: 0x89DE,
+ 22228: 0x89DA,
+ 22229: 0x89DC,
+ 22230: 0x9BDC,
+ 22231: 0x9BDD,
+ 22232: 0x9BDE,
+ 22233: 0x9BDF,
+ 22234: 0x9BE0,
+ 22235: 0x9BE1,
+ 22236: 0x9BE2,
+ 22237: 0x9BE3,
+ 22238: 0x9BE4,
+ 22239: 0x9BE5,
+ 22240: 0x9BE6,
+ 22241: 0x9BE7,
+ 22242: 0x9BE8,
+ 22243: 0x9BE9,
+ 22244: 0x9BEA,
+ 22245: 0x9BEB,
+ 22246: 0x9BEC,
+ 22247: 0x9BED,
+ 22248: 0x9BEE,
+ 22249: 0x9BEF,
+ 22250: 0x9BF0,
+ 22251: 0x9BF1,
+ 22252: 0x9BF2,
+ 22253: 0x9BF3,
+ 22254: 0x9BF4,
+ 22255: 0x9BF5,
+ 22256: 0x9BF6,
+ 22257: 0x9BF7,
+ 22258: 0x9BF8,
+ 22259: 0x9BF9,
+ 22260: 0x9BFA,
+ 22261: 0x9BFB,
+ 22262: 0x9BFC,
+ 22263: 0x9BFD,
+ 22264: 0x9BFE,
+ 22265: 0x9BFF,
+ 22266: 0x9C00,
+ 22267: 0x9C01,
+ 22268: 0x9C02,
+ 22269: 0x9C03,
+ 22270: 0x9C04,
+ 22271: 0x9C05,
+ 22272: 0x9C06,
+ 22273: 0x9C07,
+ 22274: 0x9C08,
+ 22275: 0x9C09,
+ 22276: 0x9C0A,
+ 22277: 0x9C0B,
+ 22278: 0x9C0C,
+ 22279: 0x9C0D,
+ 22280: 0x9C0E,
+ 22281: 0x9C0F,
+ 22282: 0x9C10,
+ 22283: 0x9C11,
+ 22284: 0x9C12,
+ 22285: 0x9C13,
+ 22286: 0x9C14,
+ 22287: 0x9C15,
+ 22288: 0x9C16,
+ 22289: 0x9C17,
+ 22290: 0x9C18,
+ 22291: 0x9C19,
+ 22292: 0x9C1A,
+ 22293: 0x9C1B,
+ 22294: 0x9C1C,
+ 22295: 0x9C1D,
+ 22296: 0x9C1E,
+ 22297: 0x9C1F,
+ 22298: 0x9C20,
+ 22299: 0x9C21,
+ 22300: 0x9C22,
+ 22301: 0x9C23,
+ 22302: 0x9C24,
+ 22303: 0x9C25,
+ 22304: 0x9C26,
+ 22305: 0x9C27,
+ 22306: 0x9C28,
+ 22307: 0x9C29,
+ 22308: 0x9C2A,
+ 22309: 0x9C2B,
+ 22310: 0x9C2C,
+ 22311: 0x9C2D,
+ 22312: 0x9C2E,
+ 22313: 0x9C2F,
+ 22314: 0x9C30,
+ 22315: 0x9C31,
+ 22316: 0x9C32,
+ 22317: 0x9C33,
+ 22318: 0x9C34,
+ 22319: 0x9C35,
+ 22320: 0x9C36,
+ 22321: 0x9C37,
+ 22322: 0x9C38,
+ 22323: 0x9C39,
+ 22324: 0x9C3A,
+ 22325: 0x9C3B,
+ 22326: 0x89E5,
+ 22327: 0x89EB,
+ 22328: 0x89EF,
+ 22329: 0x8A3E,
+ 22330: 0x8B26,
+ 22331: 0x9753,
+ 22332: 0x96E9,
+ 22333: 0x96F3,
+ 22334: 0x96EF,
+ 22335: 0x9706,
+ 22336: 0x9701,
+ 22337: 0x9708,
+ 22338: 0x970F,
+ 22339: 0x970E,
+ 22340: 0x972A,
+ 22341: 0x972D,
+ 22342: 0x9730,
+ 22343: 0x973E,
+ 22344: 0x9F80,
+ 22345: 0x9F83,
+ 22346: 0x9F85,
+ 22347: 0x9F86,
+ 22348: 0x9F87,
+ 22349: 0x9F88,
+ 22350: 0x9F89,
+ 22351: 0x9F8A,
+ 22352: 0x9F8C,
+ 22353: 0x9EFE,
+ 22354: 0x9F0B,
+ 22355: 0x9F0D,
+ 22356: 0x96B9,
+ 22357: 0x96BC,
+ 22358: 0x96BD,
+ 22359: 0x96CE,
+ 22360: 0x96D2,
+ 22361: 0x77BF,
+ 22362: 0x96E0,
+ 22363: 0x928E,
+ 22364: 0x92AE,
+ 22365: 0x92C8,
+ 22366: 0x933E,
+ 22367: 0x936A,
+ 22368: 0x93CA,
+ 22369: 0x938F,
+ 22370: 0x943E,
+ 22371: 0x946B,
+ 22372: 0x9C7F,
+ 22373: 0x9C82,
+ 22374: 0x9C85,
+ 22375: 0x9C86,
+ 22376: 0x9C87,
+ 22377: 0x9C88,
+ 22378: 0x7A23,
+ 22379: 0x9C8B,
+ 22380: 0x9C8E,
+ 22381: 0x9C90,
+ 22382: 0x9C91,
+ 22383: 0x9C92,
+ 22384: 0x9C94,
+ 22385: 0x9C95,
+ 22386: 0x9C9A,
+ 22387: 0x9C9B,
+ 22388: 0x9C9E,
+ 22389: 0x9C9F,
+ 22390: 0x9CA0,
+ 22391: 0x9CA1,
+ 22392: 0x9CA2,
+ 22393: 0x9CA3,
+ 22394: 0x9CA5,
+ 22395: 0x9CA6,
+ 22396: 0x9CA7,
+ 22397: 0x9CA8,
+ 22398: 0x9CA9,
+ 22399: 0x9CAB,
+ 22400: 0x9CAD,
+ 22401: 0x9CAE,
+ 22402: 0x9CB0,
+ 22403: 0x9CB1,
+ 22404: 0x9CB2,
+ 22405: 0x9CB3,
+ 22406: 0x9CB4,
+ 22407: 0x9CB5,
+ 22408: 0x9CB6,
+ 22409: 0x9CB7,
+ 22410: 0x9CBA,
+ 22411: 0x9CBB,
+ 22412: 0x9CBC,
+ 22413: 0x9CBD,
+ 22414: 0x9CC4,
+ 22415: 0x9CC5,
+ 22416: 0x9CC6,
+ 22417: 0x9CC7,
+ 22418: 0x9CCA,
+ 22419: 0x9CCB,
+ 22420: 0x9C3C,
+ 22421: 0x9C3D,
+ 22422: 0x9C3E,
+ 22423: 0x9C3F,
+ 22424: 0x9C40,
+ 22425: 0x9C41,
+ 22426: 0x9C42,
+ 22427: 0x9C43,
+ 22428: 0x9C44,
+ 22429: 0x9C45,
+ 22430: 0x9C46,
+ 22431: 0x9C47,
+ 22432: 0x9C48,
+ 22433: 0x9C49,
+ 22434: 0x9C4A,
+ 22435: 0x9C4B,
+ 22436: 0x9C4C,
+ 22437: 0x9C4D,
+ 22438: 0x9C4E,
+ 22439: 0x9C4F,
+ 22440: 0x9C50,
+ 22441: 0x9C51,
+ 22442: 0x9C52,
+ 22443: 0x9C53,
+ 22444: 0x9C54,
+ 22445: 0x9C55,
+ 22446: 0x9C56,
+ 22447: 0x9C57,
+ 22448: 0x9C58,
+ 22449: 0x9C59,
+ 22450: 0x9C5A,
+ 22451: 0x9C5B,
+ 22452: 0x9C5C,
+ 22453: 0x9C5D,
+ 22454: 0x9C5E,
+ 22455: 0x9C5F,
+ 22456: 0x9C60,
+ 22457: 0x9C61,
+ 22458: 0x9C62,
+ 22459: 0x9C63,
+ 22460: 0x9C64,
+ 22461: 0x9C65,
+ 22462: 0x9C66,
+ 22463: 0x9C67,
+ 22464: 0x9C68,
+ 22465: 0x9C69,
+ 22466: 0x9C6A,
+ 22467: 0x9C6B,
+ 22468: 0x9C6C,
+ 22469: 0x9C6D,
+ 22470: 0x9C6E,
+ 22471: 0x9C6F,
+ 22472: 0x9C70,
+ 22473: 0x9C71,
+ 22474: 0x9C72,
+ 22475: 0x9C73,
+ 22476: 0x9C74,
+ 22477: 0x9C75,
+ 22478: 0x9C76,
+ 22479: 0x9C77,
+ 22480: 0x9C78,
+ 22481: 0x9C79,
+ 22482: 0x9C7A,
+ 22483: 0x9C7B,
+ 22484: 0x9C7D,
+ 22485: 0x9C7E,
+ 22486: 0x9C80,
+ 22487: 0x9C83,
+ 22488: 0x9C84,
+ 22489: 0x9C89,
+ 22490: 0x9C8A,
+ 22491: 0x9C8C,
+ 22492: 0x9C8F,
+ 22493: 0x9C93,
+ 22494: 0x9C96,
+ 22495: 0x9C97,
+ 22496: 0x9C98,
+ 22497: 0x9C99,
+ 22498: 0x9C9D,
+ 22499: 0x9CAA,
+ 22500: 0x9CAC,
+ 22501: 0x9CAF,
+ 22502: 0x9CB9,
+ 22503: 0x9CBE,
+ 22504: 0x9CBF,
+ 22505: 0x9CC0,
+ 22506: 0x9CC1,
+ 22507: 0x9CC2,
+ 22508: 0x9CC8,
+ 22509: 0x9CC9,
+ 22510: 0x9CD1,
+ 22511: 0x9CD2,
+ 22512: 0x9CDA,
+ 22513: 0x9CDB,
+ 22514: 0x9CE0,
+ 22515: 0x9CE1,
+ 22516: 0x9CCC,
+ 22517: 0x9CCD,
+ 22518: 0x9CCE,
+ 22519: 0x9CCF,
+ 22520: 0x9CD0,
+ 22521: 0x9CD3,
+ 22522: 0x9CD4,
+ 22523: 0x9CD5,
+ 22524: 0x9CD7,
+ 22525: 0x9CD8,
+ 22526: 0x9CD9,
+ 22527: 0x9CDC,
+ 22528: 0x9CDD,
+ 22529: 0x9CDF,
+ 22530: 0x9CE2,
+ 22531: 0x977C,
+ 22532: 0x9785,
+ 22533: 0x9791,
+ 22534: 0x9792,
+ 22535: 0x9794,
+ 22536: 0x97AF,
+ 22537: 0x97AB,
+ 22538: 0x97A3,
+ 22539: 0x97B2,
+ 22540: 0x97B4,
+ 22541: 0x9AB1,
+ 22542: 0x9AB0,
+ 22543: 0x9AB7,
+ 22544: 0x9E58,
+ 22545: 0x9AB6,
+ 22546: 0x9ABA,
+ 22547: 0x9ABC,
+ 22548: 0x9AC1,
+ 22549: 0x9AC0,
+ 22550: 0x9AC5,
+ 22551: 0x9AC2,
+ 22552: 0x9ACB,
+ 22553: 0x9ACC,
+ 22554: 0x9AD1,
+ 22555: 0x9B45,
+ 22556: 0x9B43,
+ 22557: 0x9B47,
+ 22558: 0x9B49,
+ 22559: 0x9B48,
+ 22560: 0x9B4D,
+ 22561: 0x9B51,
+ 22562: 0x98E8,
+ 22563: 0x990D,
+ 22564: 0x992E,
+ 22565: 0x9955,
+ 22566: 0x9954,
+ 22567: 0x9ADF,
+ 22568: 0x9AE1,
+ 22569: 0x9AE6,
+ 22570: 0x9AEF,
+ 22571: 0x9AEB,
+ 22572: 0x9AFB,
+ 22573: 0x9AED,
+ 22574: 0x9AF9,
+ 22575: 0x9B08,
+ 22576: 0x9B0F,
+ 22577: 0x9B13,
+ 22578: 0x9B1F,
+ 22579: 0x9B23,
+ 22580: 0x9EBD,
+ 22581: 0x9EBE,
+ 22582: 0x7E3B,
+ 22583: 0x9E82,
+ 22584: 0x9E87,
+ 22585: 0x9E88,
+ 22586: 0x9E8B,
+ 22587: 0x9E92,
+ 22588: 0x93D6,
+ 22589: 0x9E9D,
+ 22590: 0x9E9F,
+ 22591: 0x9EDB,
+ 22592: 0x9EDC,
+ 22593: 0x9EDD,
+ 22594: 0x9EE0,
+ 22595: 0x9EDF,
+ 22596: 0x9EE2,
+ 22597: 0x9EE9,
+ 22598: 0x9EE7,
+ 22599: 0x9EE5,
+ 22600: 0x9EEA,
+ 22601: 0x9EEF,
+ 22602: 0x9F22,
+ 22603: 0x9F2C,
+ 22604: 0x9F2F,
+ 22605: 0x9F39,
+ 22606: 0x9F37,
+ 22607: 0x9F3D,
+ 22608: 0x9F3E,
+ 22609: 0x9F44,
+ 22610: 0x9CE3,
+ 22611: 0x9CE4,
+ 22612: 0x9CE5,
+ 22613: 0x9CE6,
+ 22614: 0x9CE7,
+ 22615: 0x9CE8,
+ 22616: 0x9CE9,
+ 22617: 0x9CEA,
+ 22618: 0x9CEB,
+ 22619: 0x9CEC,
+ 22620: 0x9CED,
+ 22621: 0x9CEE,
+ 22622: 0x9CEF,
+ 22623: 0x9CF0,
+ 22624: 0x9CF1,
+ 22625: 0x9CF2,
+ 22626: 0x9CF3,
+ 22627: 0x9CF4,
+ 22628: 0x9CF5,
+ 22629: 0x9CF6,
+ 22630: 0x9CF7,
+ 22631: 0x9CF8,
+ 22632: 0x9CF9,
+ 22633: 0x9CFA,
+ 22634: 0x9CFB,
+ 22635: 0x9CFC,
+ 22636: 0x9CFD,
+ 22637: 0x9CFE,
+ 22638: 0x9CFF,
+ 22639: 0x9D00,
+ 22640: 0x9D01,
+ 22641: 0x9D02,
+ 22642: 0x9D03,
+ 22643: 0x9D04,
+ 22644: 0x9D05,
+ 22645: 0x9D06,
+ 22646: 0x9D07,
+ 22647: 0x9D08,
+ 22648: 0x9D09,
+ 22649: 0x9D0A,
+ 22650: 0x9D0B,
+ 22651: 0x9D0C,
+ 22652: 0x9D0D,
+ 22653: 0x9D0E,
+ 22654: 0x9D0F,
+ 22655: 0x9D10,
+ 22656: 0x9D11,
+ 22657: 0x9D12,
+ 22658: 0x9D13,
+ 22659: 0x9D14,
+ 22660: 0x9D15,
+ 22661: 0x9D16,
+ 22662: 0x9D17,
+ 22663: 0x9D18,
+ 22664: 0x9D19,
+ 22665: 0x9D1A,
+ 22666: 0x9D1B,
+ 22667: 0x9D1C,
+ 22668: 0x9D1D,
+ 22669: 0x9D1E,
+ 22670: 0x9D1F,
+ 22671: 0x9D20,
+ 22672: 0x9D21,
+ 22673: 0x9D22,
+ 22674: 0x9D23,
+ 22675: 0x9D24,
+ 22676: 0x9D25,
+ 22677: 0x9D26,
+ 22678: 0x9D27,
+ 22679: 0x9D28,
+ 22680: 0x9D29,
+ 22681: 0x9D2A,
+ 22682: 0x9D2B,
+ 22683: 0x9D2C,
+ 22684: 0x9D2D,
+ 22685: 0x9D2E,
+ 22686: 0x9D2F,
+ 22687: 0x9D30,
+ 22688: 0x9D31,
+ 22689: 0x9D32,
+ 22690: 0x9D33,
+ 22691: 0x9D34,
+ 22692: 0x9D35,
+ 22693: 0x9D36,
+ 22694: 0x9D37,
+ 22695: 0x9D38,
+ 22696: 0x9D39,
+ 22697: 0x9D3A,
+ 22698: 0x9D3B,
+ 22699: 0x9D3C,
+ 22700: 0x9D3D,
+ 22701: 0x9D3E,
+ 22702: 0x9D3F,
+ 22703: 0x9D40,
+ 22704: 0x9D41,
+ 22705: 0x9D42,
+ 22800: 0x9D43,
+ 22801: 0x9D44,
+ 22802: 0x9D45,
+ 22803: 0x9D46,
+ 22804: 0x9D47,
+ 22805: 0x9D48,
+ 22806: 0x9D49,
+ 22807: 0x9D4A,
+ 22808: 0x9D4B,
+ 22809: 0x9D4C,
+ 22810: 0x9D4D,
+ 22811: 0x9D4E,
+ 22812: 0x9D4F,
+ 22813: 0x9D50,
+ 22814: 0x9D51,
+ 22815: 0x9D52,
+ 22816: 0x9D53,
+ 22817: 0x9D54,
+ 22818: 0x9D55,
+ 22819: 0x9D56,
+ 22820: 0x9D57,
+ 22821: 0x9D58,
+ 22822: 0x9D59,
+ 22823: 0x9D5A,
+ 22824: 0x9D5B,
+ 22825: 0x9D5C,
+ 22826: 0x9D5D,
+ 22827: 0x9D5E,
+ 22828: 0x9D5F,
+ 22829: 0x9D60,
+ 22830: 0x9D61,
+ 22831: 0x9D62,
+ 22832: 0x9D63,
+ 22833: 0x9D64,
+ 22834: 0x9D65,
+ 22835: 0x9D66,
+ 22836: 0x9D67,
+ 22837: 0x9D68,
+ 22838: 0x9D69,
+ 22839: 0x9D6A,
+ 22840: 0x9D6B,
+ 22841: 0x9D6C,
+ 22842: 0x9D6D,
+ 22843: 0x9D6E,
+ 22844: 0x9D6F,
+ 22845: 0x9D70,
+ 22846: 0x9D71,
+ 22847: 0x9D72,
+ 22848: 0x9D73,
+ 22849: 0x9D74,
+ 22850: 0x9D75,
+ 22851: 0x9D76,
+ 22852: 0x9D77,
+ 22853: 0x9D78,
+ 22854: 0x9D79,
+ 22855: 0x9D7A,
+ 22856: 0x9D7B,
+ 22857: 0x9D7C,
+ 22858: 0x9D7D,
+ 22859: 0x9D7E,
+ 22860: 0x9D7F,
+ 22861: 0x9D80,
+ 22862: 0x9D81,
+ 22863: 0x9D82,
+ 22864: 0x9D83,
+ 22865: 0x9D84,
+ 22866: 0x9D85,
+ 22867: 0x9D86,
+ 22868: 0x9D87,
+ 22869: 0x9D88,
+ 22870: 0x9D89,
+ 22871: 0x9D8A,
+ 22872: 0x9D8B,
+ 22873: 0x9D8C,
+ 22874: 0x9D8D,
+ 22875: 0x9D8E,
+ 22876: 0x9D8F,
+ 22877: 0x9D90,
+ 22878: 0x9D91,
+ 22879: 0x9D92,
+ 22880: 0x9D93,
+ 22881: 0x9D94,
+ 22882: 0x9D95,
+ 22883: 0x9D96,
+ 22884: 0x9D97,
+ 22885: 0x9D98,
+ 22886: 0x9D99,
+ 22887: 0x9D9A,
+ 22888: 0x9D9B,
+ 22889: 0x9D9C,
+ 22890: 0x9D9D,
+ 22891: 0x9D9E,
+ 22892: 0x9D9F,
+ 22893: 0x9DA0,
+ 22894: 0x9DA1,
+ 22895: 0x9DA2,
+ 22990: 0x9DA3,
+ 22991: 0x9DA4,
+ 22992: 0x9DA5,
+ 22993: 0x9DA6,
+ 22994: 0x9DA7,
+ 22995: 0x9DA8,
+ 22996: 0x9DA9,
+ 22997: 0x9DAA,
+ 22998: 0x9DAB,
+ 22999: 0x9DAC,
+ 23000: 0x9DAD,
+ 23001: 0x9DAE,
+ 23002: 0x9DAF,
+ 23003: 0x9DB0,
+ 23004: 0x9DB1,
+ 23005: 0x9DB2,
+ 23006: 0x9DB3,
+ 23007: 0x9DB4,
+ 23008: 0x9DB5,
+ 23009: 0x9DB6,
+ 23010: 0x9DB7,
+ 23011: 0x9DB8,
+ 23012: 0x9DB9,
+ 23013: 0x9DBA,
+ 23014: 0x9DBB,
+ 23015: 0x9DBC,
+ 23016: 0x9DBD,
+ 23017: 0x9DBE,
+ 23018: 0x9DBF,
+ 23019: 0x9DC0,
+ 23020: 0x9DC1,
+ 23021: 0x9DC2,
+ 23022: 0x9DC3,
+ 23023: 0x9DC4,
+ 23024: 0x9DC5,
+ 23025: 0x9DC6,
+ 23026: 0x9DC7,
+ 23027: 0x9DC8,
+ 23028: 0x9DC9,
+ 23029: 0x9DCA,
+ 23030: 0x9DCB,
+ 23031: 0x9DCC,
+ 23032: 0x9DCD,
+ 23033: 0x9DCE,
+ 23034: 0x9DCF,
+ 23035: 0x9DD0,
+ 23036: 0x9DD1,
+ 23037: 0x9DD2,
+ 23038: 0x9DD3,
+ 23039: 0x9DD4,
+ 23040: 0x9DD5,
+ 23041: 0x9DD6,
+ 23042: 0x9DD7,
+ 23043: 0x9DD8,
+ 23044: 0x9DD9,
+ 23045: 0x9DDA,
+ 23046: 0x9DDB,
+ 23047: 0x9DDC,
+ 23048: 0x9DDD,
+ 23049: 0x9DDE,
+ 23050: 0x9DDF,
+ 23051: 0x9DE0,
+ 23052: 0x9DE1,
+ 23053: 0x9DE2,
+ 23054: 0x9DE3,
+ 23055: 0x9DE4,
+ 23056: 0x9DE5,
+ 23057: 0x9DE6,
+ 23058: 0x9DE7,
+ 23059: 0x9DE8,
+ 23060: 0x9DE9,
+ 23061: 0x9DEA,
+ 23062: 0x9DEB,
+ 23063: 0x9DEC,
+ 23064: 0x9DED,
+ 23065: 0x9DEE,
+ 23066: 0x9DEF,
+ 23067: 0x9DF0,
+ 23068: 0x9DF1,
+ 23069: 0x9DF2,
+ 23070: 0x9DF3,
+ 23071: 0x9DF4,
+ 23072: 0x9DF5,
+ 23073: 0x9DF6,
+ 23074: 0x9DF7,
+ 23075: 0x9DF8,
+ 23076: 0x9DF9,
+ 23077: 0x9DFA,
+ 23078: 0x9DFB,
+ 23079: 0x9DFC,
+ 23080: 0x9DFD,
+ 23081: 0x9DFE,
+ 23082: 0x9DFF,
+ 23083: 0x9E00,
+ 23084: 0x9E01,
+ 23085: 0x9E02,
+ 23180: 0x9E03,
+ 23181: 0x9E04,
+ 23182: 0x9E05,
+ 23183: 0x9E06,
+ 23184: 0x9E07,
+ 23185: 0x9E08,
+ 23186: 0x9E09,
+ 23187: 0x9E0A,
+ 23188: 0x9E0B,
+ 23189: 0x9E0C,
+ 23190: 0x9E0D,
+ 23191: 0x9E0E,
+ 23192: 0x9E0F,
+ 23193: 0x9E10,
+ 23194: 0x9E11,
+ 23195: 0x9E12,
+ 23196: 0x9E13,
+ 23197: 0x9E14,
+ 23198: 0x9E15,
+ 23199: 0x9E16,
+ 23200: 0x9E17,
+ 23201: 0x9E18,
+ 23202: 0x9E19,
+ 23203: 0x9E1A,
+ 23204: 0x9E1B,
+ 23205: 0x9E1C,
+ 23206: 0x9E1D,
+ 23207: 0x9E1E,
+ 23208: 0x9E24,
+ 23209: 0x9E27,
+ 23210: 0x9E2E,
+ 23211: 0x9E30,
+ 23212: 0x9E34,
+ 23213: 0x9E3B,
+ 23214: 0x9E3C,
+ 23215: 0x9E40,
+ 23216: 0x9E4D,
+ 23217: 0x9E50,
+ 23218: 0x9E52,
+ 23219: 0x9E53,
+ 23220: 0x9E54,
+ 23221: 0x9E56,
+ 23222: 0x9E59,
+ 23223: 0x9E5D,
+ 23224: 0x9E5F,
+ 23225: 0x9E60,
+ 23226: 0x9E61,
+ 23227: 0x9E62,
+ 23228: 0x9E65,
+ 23229: 0x9E6E,
+ 23230: 0x9E6F,
+ 23231: 0x9E72,
+ 23232: 0x9E74,
+ 23233: 0x9E75,
+ 23234: 0x9E76,
+ 23235: 0x9E77,
+ 23236: 0x9E78,
+ 23237: 0x9E79,
+ 23238: 0x9E7A,
+ 23239: 0x9E7B,
+ 23240: 0x9E7C,
+ 23241: 0x9E7D,
+ 23242: 0x9E80,
+ 23243: 0x9E81,
+ 23244: 0x9E83,
+ 23245: 0x9E84,
+ 23246: 0x9E85,
+ 23247: 0x9E86,
+ 23248: 0x9E89,
+ 23249: 0x9E8A,
+ 23250: 0x9E8C,
+ 23251: 0x9E8D,
+ 23252: 0x9E8E,
+ 23253: 0x9E8F,
+ 23254: 0x9E90,
+ 23255: 0x9E91,
+ 23256: 0x9E94,
+ 23257: 0x9E95,
+ 23258: 0x9E96,
+ 23259: 0x9E97,
+ 23260: 0x9E98,
+ 23261: 0x9E99,
+ 23262: 0x9E9A,
+ 23263: 0x9E9B,
+ 23264: 0x9E9C,
+ 23265: 0x9E9E,
+ 23266: 0x9EA0,
+ 23267: 0x9EA1,
+ 23268: 0x9EA2,
+ 23269: 0x9EA3,
+ 23270: 0x9EA4,
+ 23271: 0x9EA5,
+ 23272: 0x9EA7,
+ 23273: 0x9EA8,
+ 23274: 0x9EA9,
+ 23275: 0x9EAA,
+ 23370: 0x9EAB,
+ 23371: 0x9EAC,
+ 23372: 0x9EAD,
+ 23373: 0x9EAE,
+ 23374: 0x9EAF,
+ 23375: 0x9EB0,
+ 23376: 0x9EB1,
+ 23377: 0x9EB2,
+ 23378: 0x9EB3,
+ 23379: 0x9EB5,
+ 23380: 0x9EB6,
+ 23381: 0x9EB7,
+ 23382: 0x9EB9,
+ 23383: 0x9EBA,
+ 23384: 0x9EBC,
+ 23385: 0x9EBF,
+ 23386: 0x9EC0,
+ 23387: 0x9EC1,
+ 23388: 0x9EC2,
+ 23389: 0x9EC3,
+ 23390: 0x9EC5,
+ 23391: 0x9EC6,
+ 23392: 0x9EC7,
+ 23393: 0x9EC8,
+ 23394: 0x9ECA,
+ 23395: 0x9ECB,
+ 23396: 0x9ECC,
+ 23397: 0x9ED0,
+ 23398: 0x9ED2,
+ 23399: 0x9ED3,
+ 23400: 0x9ED5,
+ 23401: 0x9ED6,
+ 23402: 0x9ED7,
+ 23403: 0x9ED9,
+ 23404: 0x9EDA,
+ 23405: 0x9EDE,
+ 23406: 0x9EE1,
+ 23407: 0x9EE3,
+ 23408: 0x9EE4,
+ 23409: 0x9EE6,
+ 23410: 0x9EE8,
+ 23411: 0x9EEB,
+ 23412: 0x9EEC,
+ 23413: 0x9EED,
+ 23414: 0x9EEE,
+ 23415: 0x9EF0,
+ 23416: 0x9EF1,
+ 23417: 0x9EF2,
+ 23418: 0x9EF3,
+ 23419: 0x9EF4,
+ 23420: 0x9EF5,
+ 23421: 0x9EF6,
+ 23422: 0x9EF7,
+ 23423: 0x9EF8,
+ 23424: 0x9EFA,
+ 23425: 0x9EFD,
+ 23426: 0x9EFF,
+ 23427: 0x9F00,
+ 23428: 0x9F01,
+ 23429: 0x9F02,
+ 23430: 0x9F03,
+ 23431: 0x9F04,
+ 23432: 0x9F05,
+ 23433: 0x9F06,
+ 23434: 0x9F07,
+ 23435: 0x9F08,
+ 23436: 0x9F09,
+ 23437: 0x9F0A,
+ 23438: 0x9F0C,
+ 23439: 0x9F0F,
+ 23440: 0x9F11,
+ 23441: 0x9F12,
+ 23442: 0x9F14,
+ 23443: 0x9F15,
+ 23444: 0x9F16,
+ 23445: 0x9F18,
+ 23446: 0x9F1A,
+ 23447: 0x9F1B,
+ 23448: 0x9F1C,
+ 23449: 0x9F1D,
+ 23450: 0x9F1E,
+ 23451: 0x9F1F,
+ 23452: 0x9F21,
+ 23453: 0x9F23,
+ 23454: 0x9F24,
+ 23455: 0x9F25,
+ 23456: 0x9F26,
+ 23457: 0x9F27,
+ 23458: 0x9F28,
+ 23459: 0x9F29,
+ 23460: 0x9F2A,
+ 23461: 0x9F2B,
+ 23462: 0x9F2D,
+ 23463: 0x9F2E,
+ 23464: 0x9F30,
+ 23465: 0x9F31,
+ 23560: 0x9F32,
+ 23561: 0x9F33,
+ 23562: 0x9F34,
+ 23563: 0x9F35,
+ 23564: 0x9F36,
+ 23565: 0x9F38,
+ 23566: 0x9F3A,
+ 23567: 0x9F3C,
+ 23568: 0x9F3F,
+ 23569: 0x9F40,
+ 23570: 0x9F41,
+ 23571: 0x9F42,
+ 23572: 0x9F43,
+ 23573: 0x9F45,
+ 23574: 0x9F46,
+ 23575: 0x9F47,
+ 23576: 0x9F48,
+ 23577: 0x9F49,
+ 23578: 0x9F4A,
+ 23579: 0x9F4B,
+ 23580: 0x9F4C,
+ 23581: 0x9F4D,
+ 23582: 0x9F4E,
+ 23583: 0x9F4F,
+ 23584: 0x9F52,
+ 23585: 0x9F53,
+ 23586: 0x9F54,
+ 23587: 0x9F55,
+ 23588: 0x9F56,
+ 23589: 0x9F57,
+ 23590: 0x9F58,
+ 23591: 0x9F59,
+ 23592: 0x9F5A,
+ 23593: 0x9F5B,
+ 23594: 0x9F5C,
+ 23595: 0x9F5D,
+ 23596: 0x9F5E,
+ 23597: 0x9F5F,
+ 23598: 0x9F60,
+ 23599: 0x9F61,
+ 23600: 0x9F62,
+ 23601: 0x9F63,
+ 23602: 0x9F64,
+ 23603: 0x9F65,
+ 23604: 0x9F66,
+ 23605: 0x9F67,
+ 23606: 0x9F68,
+ 23607: 0x9F69,
+ 23608: 0x9F6A,
+ 23609: 0x9F6B,
+ 23610: 0x9F6C,
+ 23611: 0x9F6D,
+ 23612: 0x9F6E,
+ 23613: 0x9F6F,
+ 23614: 0x9F70,
+ 23615: 0x9F71,
+ 23616: 0x9F72,
+ 23617: 0x9F73,
+ 23618: 0x9F74,
+ 23619: 0x9F75,
+ 23620: 0x9F76,
+ 23621: 0x9F77,
+ 23622: 0x9F78,
+ 23623: 0x9F79,
+ 23624: 0x9F7A,
+ 23625: 0x9F7B,
+ 23626: 0x9F7C,
+ 23627: 0x9F7D,
+ 23628: 0x9F7E,
+ 23629: 0x9F81,
+ 23630: 0x9F82,
+ 23631: 0x9F8D,
+ 23632: 0x9F8E,
+ 23633: 0x9F8F,
+ 23634: 0x9F90,
+ 23635: 0x9F91,
+ 23636: 0x9F92,
+ 23637: 0x9F93,
+ 23638: 0x9F94,
+ 23639: 0x9F95,
+ 23640: 0x9F96,
+ 23641: 0x9F97,
+ 23642: 0x9F98,
+ 23643: 0x9F9C,
+ 23644: 0x9F9D,
+ 23645: 0x9F9E,
+ 23646: 0x9FA1,
+ 23647: 0x9FA2,
+ 23648: 0x9FA3,
+ 23649: 0x9FA4,
+ 23650: 0x9FA5,
+ 23651: 0xF92C,
+ 23652: 0xF979,
+ 23653: 0xF995,
+ 23654: 0xF9E7,
+ 23655: 0xF9F1,
+ 23750: 0xFA0C,
+ 23751: 0xFA0D,
+ 23752: 0xFA0E,
+ 23753: 0xFA0F,
+ 23754: 0xFA11,
+ 23755: 0xFA13,
+ 23756: 0xFA14,
+ 23757: 0xFA18,
+ 23758: 0xFA1F,
+ 23759: 0xFA20,
+ 23760: 0xFA21,
+ 23761: 0xFA23,
+ 23762: 0xFA24,
+ 23763: 0xFA27,
+ 23764: 0xFA28,
+ 23765: 0xFA29,
+ 23766: 0x2E81,
+ 23770: 0x2E84,
+ 23771: 0x3473,
+ 23772: 0x3447,
+ 23773: 0x2E88,
+ 23774: 0x2E8B,
+ 23776: 0x359E,
+ 23777: 0x361A,
+ 23778: 0x360E,
+ 23779: 0x2E8C,
+ 23780: 0x2E97,
+ 23781: 0x396E,
+ 23782: 0x3918,
+ 23784: 0x39CF,
+ 23785: 0x39DF,
+ 23786: 0x3A73,
+ 23787: 0x39D0,
+ 23790: 0x3B4E,
+ 23791: 0x3C6E,
+ 23792: 0x3CE0,
+ 23793: 0x2EA7,
+ 23796: 0x2EAA,
+ 23797: 0x4056,
+ 23798: 0x415F,
+ 23799: 0x2EAE,
+ 23800: 0x4337,
+ 23801: 0x2EB3,
+ 23802: 0x2EB6,
+ 23803: 0x2EB7,
+ 23805: 0x43B1,
+ 23806: 0x43AC,
+ 23807: 0x2EBB,
+ 23808: 0x43DD,
+ 23809: 0x44D6,
+ 23810: 0x4661,
+ 23811: 0x464C,
+ 23813: 0x4723,
+ 23814: 0x4729,
+ 23815: 0x477C,
+ 23816: 0x478D,
+ 23817: 0x2ECA,
+ 23818: 0x4947,
+ 23819: 0x497A,
+ 23820: 0x497D,
+ 23821: 0x4982,
+ 23822: 0x4983,
+ 23823: 0x4985,
+ 23824: 0x4986,
+ 23825: 0x499F,
+ 23826: 0x499B,
+ 23827: 0x49B7,
+ 23828: 0x49B6,
+ 23831: 0x4CA3,
+ 23832: 0x4C9F,
+ 23833: 0x4CA0,
+ 23834: 0x4CA1,
+ 23835: 0x4C77,
+ 23836: 0x4CA2,
+ 23837: 0x4D13,
+ 23838: 0x4D14,
+ 23839: 0x4D15,
+ 23840: 0x4D16,
+ 23841: 0x4D17,
+ 23842: 0x4D18,
+ 23843: 0x4D19,
+ 23844: 0x4DAE,
+}
+
+const numEncodeTables = 5
+
+// encodeX are the encoding tables from Unicode to GBK code,
+// sorted by decreasing length.
+// encode0: 28965 entries for runes in [11905, 40870).
+// encode1: 1587 entries for runes in [ 8208, 9795).
+// encode2: 942 entries for runes in [ 164, 1106).
+// encode3: 438 entries for runes in [65072, 65510).
+// encode4: 254 entries for runes in [63788, 64042).
+
+const encode0Low, encode0High = 11905, 40870
+
+var encode0 = [...]uint16{
+ 11905 - 11905: 0xFE50,
+ 11908 - 11905: 0xFE54,
+ 11912 - 11905: 0xFE57,
+ 11915 - 11905: 0xFE58,
+ 11916 - 11905: 0xFE5D,
+ 11927 - 11905: 0xFE5E,
+ 11943 - 11905: 0xFE6B,
+ 11946 - 11905: 0xFE6E,
+ 11950 - 11905: 0xFE71,
+ 11955 - 11905: 0xFE73,
+ 11958 - 11905: 0xFE74,
+ 11959 - 11905: 0xFE75,
+ 11963 - 11905: 0xFE79,
+ 11978 - 11905: 0xFE84,
+ 12272 - 11905: 0xA98A,
+ 12273 - 11905: 0xA98B,
+ 12274 - 11905: 0xA98C,
+ 12275 - 11905: 0xA98D,
+ 12276 - 11905: 0xA98E,
+ 12277 - 11905: 0xA98F,
+ 12278 - 11905: 0xA990,
+ 12279 - 11905: 0xA991,
+ 12280 - 11905: 0xA992,
+ 12281 - 11905: 0xA993,
+ 12282 - 11905: 0xA994,
+ 12283 - 11905: 0xA995,
+ 12288 - 11905: 0xA1A1,
+ 12289 - 11905: 0xA1A2,
+ 12290 - 11905: 0xA1A3,
+ 12291 - 11905: 0xA1A8,
+ 12293 - 11905: 0xA1A9,
+ 12294 - 11905: 0xA965,
+ 12295 - 11905: 0xA996,
+ 12296 - 11905: 0xA1B4,
+ 12297 - 11905: 0xA1B5,
+ 12298 - 11905: 0xA1B6,
+ 12299 - 11905: 0xA1B7,
+ 12300 - 11905: 0xA1B8,
+ 12301 - 11905: 0xA1B9,
+ 12302 - 11905: 0xA1BA,
+ 12303 - 11905: 0xA1BB,
+ 12304 - 11905: 0xA1BE,
+ 12305 - 11905: 0xA1BF,
+ 12306 - 11905: 0xA893,
+ 12307 - 11905: 0xA1FE,
+ 12308 - 11905: 0xA1B2,
+ 12309 - 11905: 0xA1B3,
+ 12310 - 11905: 0xA1BC,
+ 12311 - 11905: 0xA1BD,
+ 12317 - 11905: 0xA894,
+ 12318 - 11905: 0xA895,
+ 12321 - 11905: 0xA940,
+ 12322 - 11905: 0xA941,
+ 12323 - 11905: 0xA942,
+ 12324 - 11905: 0xA943,
+ 12325 - 11905: 0xA944,
+ 12326 - 11905: 0xA945,
+ 12327 - 11905: 0xA946,
+ 12328 - 11905: 0xA947,
+ 12329 - 11905: 0xA948,
+ 12350 - 11905: 0xA989,
+ 12353 - 11905: 0xA4A1,
+ 12354 - 11905: 0xA4A2,
+ 12355 - 11905: 0xA4A3,
+ 12356 - 11905: 0xA4A4,
+ 12357 - 11905: 0xA4A5,
+ 12358 - 11905: 0xA4A6,
+ 12359 - 11905: 0xA4A7,
+ 12360 - 11905: 0xA4A8,
+ 12361 - 11905: 0xA4A9,
+ 12362 - 11905: 0xA4AA,
+ 12363 - 11905: 0xA4AB,
+ 12364 - 11905: 0xA4AC,
+ 12365 - 11905: 0xA4AD,
+ 12366 - 11905: 0xA4AE,
+ 12367 - 11905: 0xA4AF,
+ 12368 - 11905: 0xA4B0,
+ 12369 - 11905: 0xA4B1,
+ 12370 - 11905: 0xA4B2,
+ 12371 - 11905: 0xA4B3,
+ 12372 - 11905: 0xA4B4,
+ 12373 - 11905: 0xA4B5,
+ 12374 - 11905: 0xA4B6,
+ 12375 - 11905: 0xA4B7,
+ 12376 - 11905: 0xA4B8,
+ 12377 - 11905: 0xA4B9,
+ 12378 - 11905: 0xA4BA,
+ 12379 - 11905: 0xA4BB,
+ 12380 - 11905: 0xA4BC,
+ 12381 - 11905: 0xA4BD,
+ 12382 - 11905: 0xA4BE,
+ 12383 - 11905: 0xA4BF,
+ 12384 - 11905: 0xA4C0,
+ 12385 - 11905: 0xA4C1,
+ 12386 - 11905: 0xA4C2,
+ 12387 - 11905: 0xA4C3,
+ 12388 - 11905: 0xA4C4,
+ 12389 - 11905: 0xA4C5,
+ 12390 - 11905: 0xA4C6,
+ 12391 - 11905: 0xA4C7,
+ 12392 - 11905: 0xA4C8,
+ 12393 - 11905: 0xA4C9,
+ 12394 - 11905: 0xA4CA,
+ 12395 - 11905: 0xA4CB,
+ 12396 - 11905: 0xA4CC,
+ 12397 - 11905: 0xA4CD,
+ 12398 - 11905: 0xA4CE,
+ 12399 - 11905: 0xA4CF,
+ 12400 - 11905: 0xA4D0,
+ 12401 - 11905: 0xA4D1,
+ 12402 - 11905: 0xA4D2,
+ 12403 - 11905: 0xA4D3,
+ 12404 - 11905: 0xA4D4,
+ 12405 - 11905: 0xA4D5,
+ 12406 - 11905: 0xA4D6,
+ 12407 - 11905: 0xA4D7,
+ 12408 - 11905: 0xA4D8,
+ 12409 - 11905: 0xA4D9,
+ 12410 - 11905: 0xA4DA,
+ 12411 - 11905: 0xA4DB,
+ 12412 - 11905: 0xA4DC,
+ 12413 - 11905: 0xA4DD,
+ 12414 - 11905: 0xA4DE,
+ 12415 - 11905: 0xA4DF,
+ 12416 - 11905: 0xA4E0,
+ 12417 - 11905: 0xA4E1,
+ 12418 - 11905: 0xA4E2,
+ 12419 - 11905: 0xA4E3,
+ 12420 - 11905: 0xA4E4,
+ 12421 - 11905: 0xA4E5,
+ 12422 - 11905: 0xA4E6,
+ 12423 - 11905: 0xA4E7,
+ 12424 - 11905: 0xA4E8,
+ 12425 - 11905: 0xA4E9,
+ 12426 - 11905: 0xA4EA,
+ 12427 - 11905: 0xA4EB,
+ 12428 - 11905: 0xA4EC,
+ 12429 - 11905: 0xA4ED,
+ 12430 - 11905: 0xA4EE,
+ 12431 - 11905: 0xA4EF,
+ 12432 - 11905: 0xA4F0,
+ 12433 - 11905: 0xA4F1,
+ 12434 - 11905: 0xA4F2,
+ 12435 - 11905: 0xA4F3,
+ 12443 - 11905: 0xA961,
+ 12444 - 11905: 0xA962,
+ 12445 - 11905: 0xA966,
+ 12446 - 11905: 0xA967,
+ 12449 - 11905: 0xA5A1,
+ 12450 - 11905: 0xA5A2,
+ 12451 - 11905: 0xA5A3,
+ 12452 - 11905: 0xA5A4,
+ 12453 - 11905: 0xA5A5,
+ 12454 - 11905: 0xA5A6,
+ 12455 - 11905: 0xA5A7,
+ 12456 - 11905: 0xA5A8,
+ 12457 - 11905: 0xA5A9,
+ 12458 - 11905: 0xA5AA,
+ 12459 - 11905: 0xA5AB,
+ 12460 - 11905: 0xA5AC,
+ 12461 - 11905: 0xA5AD,
+ 12462 - 11905: 0xA5AE,
+ 12463 - 11905: 0xA5AF,
+ 12464 - 11905: 0xA5B0,
+ 12465 - 11905: 0xA5B1,
+ 12466 - 11905: 0xA5B2,
+ 12467 - 11905: 0xA5B3,
+ 12468 - 11905: 0xA5B4,
+ 12469 - 11905: 0xA5B5,
+ 12470 - 11905: 0xA5B6,
+ 12471 - 11905: 0xA5B7,
+ 12472 - 11905: 0xA5B8,
+ 12473 - 11905: 0xA5B9,
+ 12474 - 11905: 0xA5BA,
+ 12475 - 11905: 0xA5BB,
+ 12476 - 11905: 0xA5BC,
+ 12477 - 11905: 0xA5BD,
+ 12478 - 11905: 0xA5BE,
+ 12479 - 11905: 0xA5BF,
+ 12480 - 11905: 0xA5C0,
+ 12481 - 11905: 0xA5C1,
+ 12482 - 11905: 0xA5C2,
+ 12483 - 11905: 0xA5C3,
+ 12484 - 11905: 0xA5C4,
+ 12485 - 11905: 0xA5C5,
+ 12486 - 11905: 0xA5C6,
+ 12487 - 11905: 0xA5C7,
+ 12488 - 11905: 0xA5C8,
+ 12489 - 11905: 0xA5C9,
+ 12490 - 11905: 0xA5CA,
+ 12491 - 11905: 0xA5CB,
+ 12492 - 11905: 0xA5CC,
+ 12493 - 11905: 0xA5CD,
+ 12494 - 11905: 0xA5CE,
+ 12495 - 11905: 0xA5CF,
+ 12496 - 11905: 0xA5D0,
+ 12497 - 11905: 0xA5D1,
+ 12498 - 11905: 0xA5D2,
+ 12499 - 11905: 0xA5D3,
+ 12500 - 11905: 0xA5D4,
+ 12501 - 11905: 0xA5D5,
+ 12502 - 11905: 0xA5D6,
+ 12503 - 11905: 0xA5D7,
+ 12504 - 11905: 0xA5D8,
+ 12505 - 11905: 0xA5D9,
+ 12506 - 11905: 0xA5DA,
+ 12507 - 11905: 0xA5DB,
+ 12508 - 11905: 0xA5DC,
+ 12509 - 11905: 0xA5DD,
+ 12510 - 11905: 0xA5DE,
+ 12511 - 11905: 0xA5DF,
+ 12512 - 11905: 0xA5E0,
+ 12513 - 11905: 0xA5E1,
+ 12514 - 11905: 0xA5E2,
+ 12515 - 11905: 0xA5E3,
+ 12516 - 11905: 0xA5E4,
+ 12517 - 11905: 0xA5E5,
+ 12518 - 11905: 0xA5E6,
+ 12519 - 11905: 0xA5E7,
+ 12520 - 11905: 0xA5E8,
+ 12521 - 11905: 0xA5E9,
+ 12522 - 11905: 0xA5EA,
+ 12523 - 11905: 0xA5EB,
+ 12524 - 11905: 0xA5EC,
+ 12525 - 11905: 0xA5ED,
+ 12526 - 11905: 0xA5EE,
+ 12527 - 11905: 0xA5EF,
+ 12528 - 11905: 0xA5F0,
+ 12529 - 11905: 0xA5F1,
+ 12530 - 11905: 0xA5F2,
+ 12531 - 11905: 0xA5F3,
+ 12532 - 11905: 0xA5F4,
+ 12533 - 11905: 0xA5F5,
+ 12534 - 11905: 0xA5F6,
+ 12540 - 11905: 0xA960,
+ 12541 - 11905: 0xA963,
+ 12542 - 11905: 0xA964,
+ 12549 - 11905: 0xA8C5,
+ 12550 - 11905: 0xA8C6,
+ 12551 - 11905: 0xA8C7,
+ 12552 - 11905: 0xA8C8,
+ 12553 - 11905: 0xA8C9,
+ 12554 - 11905: 0xA8CA,
+ 12555 - 11905: 0xA8CB,
+ 12556 - 11905: 0xA8CC,
+ 12557 - 11905: 0xA8CD,
+ 12558 - 11905: 0xA8CE,
+ 12559 - 11905: 0xA8CF,
+ 12560 - 11905: 0xA8D0,
+ 12561 - 11905: 0xA8D1,
+ 12562 - 11905: 0xA8D2,
+ 12563 - 11905: 0xA8D3,
+ 12564 - 11905: 0xA8D4,
+ 12565 - 11905: 0xA8D5,
+ 12566 - 11905: 0xA8D6,
+ 12567 - 11905: 0xA8D7,
+ 12568 - 11905: 0xA8D8,
+ 12569 - 11905: 0xA8D9,
+ 12570 - 11905: 0xA8DA,
+ 12571 - 11905: 0xA8DB,
+ 12572 - 11905: 0xA8DC,
+ 12573 - 11905: 0xA8DD,
+ 12574 - 11905: 0xA8DE,
+ 12575 - 11905: 0xA8DF,
+ 12576 - 11905: 0xA8E0,
+ 12577 - 11905: 0xA8E1,
+ 12578 - 11905: 0xA8E2,
+ 12579 - 11905: 0xA8E3,
+ 12580 - 11905: 0xA8E4,
+ 12581 - 11905: 0xA8E5,
+ 12582 - 11905: 0xA8E6,
+ 12583 - 11905: 0xA8E7,
+ 12584 - 11905: 0xA8E8,
+ 12585 - 11905: 0xA8E9,
+ 12832 - 11905: 0xA2E5,
+ 12833 - 11905: 0xA2E6,
+ 12834 - 11905: 0xA2E7,
+ 12835 - 11905: 0xA2E8,
+ 12836 - 11905: 0xA2E9,
+ 12837 - 11905: 0xA2EA,
+ 12838 - 11905: 0xA2EB,
+ 12839 - 11905: 0xA2EC,
+ 12840 - 11905: 0xA2ED,
+ 12841 - 11905: 0xA2EE,
+ 12849 - 11905: 0xA95A,
+ 12963 - 11905: 0xA949,
+ 13198 - 11905: 0xA94A,
+ 13199 - 11905: 0xA94B,
+ 13212 - 11905: 0xA94C,
+ 13213 - 11905: 0xA94D,
+ 13214 - 11905: 0xA94E,
+ 13217 - 11905: 0xA94F,
+ 13252 - 11905: 0xA950,
+ 13262 - 11905: 0xA951,
+ 13265 - 11905: 0xA952,
+ 13266 - 11905: 0xA953,
+ 13269 - 11905: 0xA954,
+ 13383 - 11905: 0xFE56,
+ 13427 - 11905: 0xFE55,
+ 13726 - 11905: 0xFE5A,
+ 13838 - 11905: 0xFE5C,
+ 13850 - 11905: 0xFE5B,
+ 14616 - 11905: 0xFE60,
+ 14702 - 11905: 0xFE5F,
+ 14799 - 11905: 0xFE62,
+ 14800 - 11905: 0xFE65,
+ 14815 - 11905: 0xFE63,
+ 14963 - 11905: 0xFE64,
+ 15182 - 11905: 0xFE68,
+ 15470 - 11905: 0xFE69,
+ 15584 - 11905: 0xFE6A,
+ 16470 - 11905: 0xFE6F,
+ 16735 - 11905: 0xFE70,
+ 17207 - 11905: 0xFE72,
+ 17324 - 11905: 0xFE78,
+ 17329 - 11905: 0xFE77,
+ 17373 - 11905: 0xFE7A,
+ 17622 - 11905: 0xFE7B,
+ 17996 - 11905: 0xFE7D,
+ 18017 - 11905: 0xFE7C,
+ 18211 - 11905: 0xFE80,
+ 18217 - 11905: 0xFE81,
+ 18300 - 11905: 0xFE82,
+ 18317 - 11905: 0xFE83,
+ 18759 - 11905: 0xFE85,
+ 18810 - 11905: 0xFE86,
+ 18813 - 11905: 0xFE87,
+ 18818 - 11905: 0xFE88,
+ 18819 - 11905: 0xFE89,
+ 18821 - 11905: 0xFE8A,
+ 18822 - 11905: 0xFE8B,
+ 18843 - 11905: 0xFE8D,
+ 18847 - 11905: 0xFE8C,
+ 18870 - 11905: 0xFE8F,
+ 18871 - 11905: 0xFE8E,
+ 19575 - 11905: 0xFE96,
+ 19615 - 11905: 0xFE93,
+ 19616 - 11905: 0xFE94,
+ 19617 - 11905: 0xFE95,
+ 19618 - 11905: 0xFE97,
+ 19619 - 11905: 0xFE92,
+ 19731 - 11905: 0xFE98,
+ 19732 - 11905: 0xFE99,
+ 19733 - 11905: 0xFE9A,
+ 19734 - 11905: 0xFE9B,
+ 19735 - 11905: 0xFE9C,
+ 19736 - 11905: 0xFE9D,
+ 19737 - 11905: 0xFE9E,
+ 19886 - 11905: 0xFE9F,
+ 19968 - 11905: 0xD2BB,
+ 19969 - 11905: 0xB6A1,
+ 19970 - 11905: 0x8140,
+ 19971 - 11905: 0xC6DF,
+ 19972 - 11905: 0x8141,
+ 19973 - 11905: 0x8142,
+ 19974 - 11905: 0x8143,
+ 19975 - 11905: 0xCDF2,
+ 19976 - 11905: 0xD5C9,
+ 19977 - 11905: 0xC8FD,
+ 19978 - 11905: 0xC9CF,
+ 19979 - 11905: 0xCFC2,
+ 19980 - 11905: 0xD8A2,
+ 19981 - 11905: 0xB2BB,
+ 19982 - 11905: 0xD3EB,
+ 19983 - 11905: 0x8144,
+ 19984 - 11905: 0xD8A4,
+ 19985 - 11905: 0xB3F3,
+ 19986 - 11905: 0x8145,
+ 19987 - 11905: 0xD7A8,
+ 19988 - 11905: 0xC7D2,
+ 19989 - 11905: 0xD8A7,
+ 19990 - 11905: 0xCAC0,
+ 19991 - 11905: 0x8146,
+ 19992 - 11905: 0xC7F0,
+ 19993 - 11905: 0xB1FB,
+ 19994 - 11905: 0xD2B5,
+ 19995 - 11905: 0xB4D4,
+ 19996 - 11905: 0xB6AB,
+ 19997 - 11905: 0xCBBF,
+ 19998 - 11905: 0xD8A9,
+ 19999 - 11905: 0x8147,
+ 20000 - 11905: 0x8148,
+ 20001 - 11905: 0x8149,
+ 20002 - 11905: 0xB6AA,
+ 20003 - 11905: 0x814A,
+ 20004 - 11905: 0xC1BD,
+ 20005 - 11905: 0xD1CF,
+ 20006 - 11905: 0x814B,
+ 20007 - 11905: 0xC9A5,
+ 20008 - 11905: 0xD8AD,
+ 20009 - 11905: 0x814C,
+ 20010 - 11905: 0xB8F6,
+ 20011 - 11905: 0xD1BE,
+ 20012 - 11905: 0xE3DC,
+ 20013 - 11905: 0xD6D0,
+ 20014 - 11905: 0x814D,
+ 20015 - 11905: 0x814E,
+ 20016 - 11905: 0xB7E1,
+ 20017 - 11905: 0x814F,
+ 20018 - 11905: 0xB4AE,
+ 20019 - 11905: 0x8150,
+ 20020 - 11905: 0xC1D9,
+ 20021 - 11905: 0x8151,
+ 20022 - 11905: 0xD8BC,
+ 20023 - 11905: 0x8152,
+ 20024 - 11905: 0xCDE8,
+ 20025 - 11905: 0xB5A4,
+ 20026 - 11905: 0xCEAA,
+ 20027 - 11905: 0xD6F7,
+ 20028 - 11905: 0x8153,
+ 20029 - 11905: 0xC0F6,
+ 20030 - 11905: 0xBED9,
+ 20031 - 11905: 0xD8AF,
+ 20032 - 11905: 0x8154,
+ 20033 - 11905: 0x8155,
+ 20034 - 11905: 0x8156,
+ 20035 - 11905: 0xC4CB,
+ 20036 - 11905: 0x8157,
+ 20037 - 11905: 0xBEC3,
+ 20038 - 11905: 0x8158,
+ 20039 - 11905: 0xD8B1,
+ 20040 - 11905: 0xC3B4,
+ 20041 - 11905: 0xD2E5,
+ 20042 - 11905: 0x8159,
+ 20043 - 11905: 0xD6AE,
+ 20044 - 11905: 0xCEDA,
+ 20045 - 11905: 0xD5A7,
+ 20046 - 11905: 0xBAF5,
+ 20047 - 11905: 0xB7A6,
+ 20048 - 11905: 0xC0D6,
+ 20049 - 11905: 0x815A,
+ 20050 - 11905: 0xC6B9,
+ 20051 - 11905: 0xC5D2,
+ 20052 - 11905: 0xC7C7,
+ 20053 - 11905: 0x815B,
+ 20054 - 11905: 0xB9D4,
+ 20055 - 11905: 0x815C,
+ 20056 - 11905: 0xB3CB,
+ 20057 - 11905: 0xD2D2,
+ 20058 - 11905: 0x815D,
+ 20059 - 11905: 0x815E,
+ 20060 - 11905: 0xD8BF,
+ 20061 - 11905: 0xBEC5,
+ 20062 - 11905: 0xC6F2,
+ 20063 - 11905: 0xD2B2,
+ 20064 - 11905: 0xCFB0,
+ 20065 - 11905: 0xCFE7,
+ 20066 - 11905: 0x815F,
+ 20067 - 11905: 0x8160,
+ 20068 - 11905: 0x8161,
+ 20069 - 11905: 0x8162,
+ 20070 - 11905: 0xCAE9,
+ 20071 - 11905: 0x8163,
+ 20072 - 11905: 0x8164,
+ 20073 - 11905: 0xD8C0,
+ 20074 - 11905: 0x8165,
+ 20075 - 11905: 0x8166,
+ 20076 - 11905: 0x8167,
+ 20077 - 11905: 0x8168,
+ 20078 - 11905: 0x8169,
+ 20079 - 11905: 0x816A,
+ 20080 - 11905: 0xC2F2,
+ 20081 - 11905: 0xC2D2,
+ 20082 - 11905: 0x816B,
+ 20083 - 11905: 0xC8E9,
+ 20084 - 11905: 0x816C,
+ 20085 - 11905: 0x816D,
+ 20086 - 11905: 0x816E,
+ 20087 - 11905: 0x816F,
+ 20088 - 11905: 0x8170,
+ 20089 - 11905: 0x8171,
+ 20090 - 11905: 0x8172,
+ 20091 - 11905: 0x8173,
+ 20092 - 11905: 0x8174,
+ 20093 - 11905: 0x8175,
+ 20094 - 11905: 0xC7AC,
+ 20095 - 11905: 0x8176,
+ 20096 - 11905: 0x8177,
+ 20097 - 11905: 0x8178,
+ 20098 - 11905: 0x8179,
+ 20099 - 11905: 0x817A,
+ 20100 - 11905: 0x817B,
+ 20101 - 11905: 0x817C,
+ 20102 - 11905: 0xC1CB,
+ 20103 - 11905: 0x817D,
+ 20104 - 11905: 0xD3E8,
+ 20105 - 11905: 0xD5F9,
+ 20106 - 11905: 0x817E,
+ 20107 - 11905: 0xCAC2,
+ 20108 - 11905: 0xB6FE,
+ 20109 - 11905: 0xD8A1,
+ 20110 - 11905: 0xD3DA,
+ 20111 - 11905: 0xBFF7,
+ 20112 - 11905: 0x8180,
+ 20113 - 11905: 0xD4C6,
+ 20114 - 11905: 0xBBA5,
+ 20115 - 11905: 0xD8C1,
+ 20116 - 11905: 0xCEE5,
+ 20117 - 11905: 0xBEAE,
+ 20118 - 11905: 0x8181,
+ 20119 - 11905: 0x8182,
+ 20120 - 11905: 0xD8A8,
+ 20121 - 11905: 0x8183,
+ 20122 - 11905: 0xD1C7,
+ 20123 - 11905: 0xD0A9,
+ 20124 - 11905: 0x8184,
+ 20125 - 11905: 0x8185,
+ 20126 - 11905: 0x8186,
+ 20127 - 11905: 0xD8BD,
+ 20128 - 11905: 0xD9EF,
+ 20129 - 11905: 0xCDF6,
+ 20130 - 11905: 0xBFBA,
+ 20131 - 11905: 0x8187,
+ 20132 - 11905: 0xBDBB,
+ 20133 - 11905: 0xBAA5,
+ 20134 - 11905: 0xD2E0,
+ 20135 - 11905: 0xB2FA,
+ 20136 - 11905: 0xBAE0,
+ 20137 - 11905: 0xC4B6,
+ 20138 - 11905: 0x8188,
+ 20139 - 11905: 0xCFED,
+ 20140 - 11905: 0xBEA9,
+ 20141 - 11905: 0xCDA4,
+ 20142 - 11905: 0xC1C1,
+ 20143 - 11905: 0x8189,
+ 20144 - 11905: 0x818A,
+ 20145 - 11905: 0x818B,
+ 20146 - 11905: 0xC7D7,
+ 20147 - 11905: 0xD9F1,
+ 20148 - 11905: 0x818C,
+ 20149 - 11905: 0xD9F4,
+ 20150 - 11905: 0x818D,
+ 20151 - 11905: 0x818E,
+ 20152 - 11905: 0x818F,
+ 20153 - 11905: 0x8190,
+ 20154 - 11905: 0xC8CB,
+ 20155 - 11905: 0xD8E9,
+ 20156 - 11905: 0x8191,
+ 20157 - 11905: 0x8192,
+ 20158 - 11905: 0x8193,
+ 20159 - 11905: 0xD2DA,
+ 20160 - 11905: 0xCAB2,
+ 20161 - 11905: 0xC8CA,
+ 20162 - 11905: 0xD8EC,
+ 20163 - 11905: 0xD8EA,
+ 20164 - 11905: 0xD8C6,
+ 20165 - 11905: 0xBDF6,
+ 20166 - 11905: 0xC6CD,
+ 20167 - 11905: 0xB3F0,
+ 20168 - 11905: 0x8194,
+ 20169 - 11905: 0xD8EB,
+ 20170 - 11905: 0xBDF1,
+ 20171 - 11905: 0xBDE9,
+ 20172 - 11905: 0x8195,
+ 20173 - 11905: 0xC8D4,
+ 20174 - 11905: 0xB4D3,
+ 20175 - 11905: 0x8196,
+ 20176 - 11905: 0x8197,
+ 20177 - 11905: 0xC2D8,
+ 20178 - 11905: 0x8198,
+ 20179 - 11905: 0xB2D6,
+ 20180 - 11905: 0xD7D0,
+ 20181 - 11905: 0xCACB,
+ 20182 - 11905: 0xCBFB,
+ 20183 - 11905: 0xD5CC,
+ 20184 - 11905: 0xB8B6,
+ 20185 - 11905: 0xCFC9,
+ 20186 - 11905: 0x8199,
+ 20187 - 11905: 0x819A,
+ 20188 - 11905: 0x819B,
+ 20189 - 11905: 0xD9DA,
+ 20190 - 11905: 0xD8F0,
+ 20191 - 11905: 0xC7AA,
+ 20192 - 11905: 0x819C,
+ 20193 - 11905: 0xD8EE,
+ 20194 - 11905: 0x819D,
+ 20195 - 11905: 0xB4FA,
+ 20196 - 11905: 0xC1EE,
+ 20197 - 11905: 0xD2D4,
+ 20198 - 11905: 0x819E,
+ 20199 - 11905: 0x819F,
+ 20200 - 11905: 0xD8ED,
+ 20201 - 11905: 0x81A0,
+ 20202 - 11905: 0xD2C7,
+ 20203 - 11905: 0xD8EF,
+ 20204 - 11905: 0xC3C7,
+ 20205 - 11905: 0x81A1,
+ 20206 - 11905: 0x81A2,
+ 20207 - 11905: 0x81A3,
+ 20208 - 11905: 0xD1F6,
+ 20209 - 11905: 0x81A4,
+ 20210 - 11905: 0xD6D9,
+ 20211 - 11905: 0xD8F2,
+ 20212 - 11905: 0x81A5,
+ 20213 - 11905: 0xD8F5,
+ 20214 - 11905: 0xBCFE,
+ 20215 - 11905: 0xBCDB,
+ 20216 - 11905: 0x81A6,
+ 20217 - 11905: 0x81A7,
+ 20218 - 11905: 0x81A8,
+ 20219 - 11905: 0xC8CE,
+ 20220 - 11905: 0x81A9,
+ 20221 - 11905: 0xB7DD,
+ 20222 - 11905: 0x81AA,
+ 20223 - 11905: 0xB7C2,
+ 20224 - 11905: 0x81AB,
+ 20225 - 11905: 0xC6F3,
+ 20226 - 11905: 0x81AC,
+ 20227 - 11905: 0x81AD,
+ 20228 - 11905: 0x81AE,
+ 20229 - 11905: 0x81AF,
+ 20230 - 11905: 0x81B0,
+ 20231 - 11905: 0x81B1,
+ 20232 - 11905: 0x81B2,
+ 20233 - 11905: 0xD8F8,
+ 20234 - 11905: 0xD2C1,
+ 20235 - 11905: 0x81B3,
+ 20236 - 11905: 0x81B4,
+ 20237 - 11905: 0xCEE9,
+ 20238 - 11905: 0xBCBF,
+ 20239 - 11905: 0xB7FC,
+ 20240 - 11905: 0xB7A5,
+ 20241 - 11905: 0xD0DD,
+ 20242 - 11905: 0x81B5,
+ 20243 - 11905: 0x81B6,
+ 20244 - 11905: 0x81B7,
+ 20245 - 11905: 0x81B8,
+ 20246 - 11905: 0x81B9,
+ 20247 - 11905: 0xD6DA,
+ 20248 - 11905: 0xD3C5,
+ 20249 - 11905: 0xBBEF,
+ 20250 - 11905: 0xBBE1,
+ 20251 - 11905: 0xD8F1,
+ 20252 - 11905: 0x81BA,
+ 20253 - 11905: 0x81BB,
+ 20254 - 11905: 0xC9A1,
+ 20255 - 11905: 0xCEB0,
+ 20256 - 11905: 0xB4AB,
+ 20257 - 11905: 0x81BC,
+ 20258 - 11905: 0xD8F3,
+ 20259 - 11905: 0x81BD,
+ 20260 - 11905: 0xC9CB,
+ 20261 - 11905: 0xD8F6,
+ 20262 - 11905: 0xC2D7,
+ 20263 - 11905: 0xD8F7,
+ 20264 - 11905: 0x81BE,
+ 20265 - 11905: 0x81BF,
+ 20266 - 11905: 0xCEB1,
+ 20267 - 11905: 0xD8F9,
+ 20268 - 11905: 0x81C0,
+ 20269 - 11905: 0x81C1,
+ 20270 - 11905: 0x81C2,
+ 20271 - 11905: 0xB2AE,
+ 20272 - 11905: 0xB9C0,
+ 20273 - 11905: 0x81C3,
+ 20274 - 11905: 0xD9A3,
+ 20275 - 11905: 0x81C4,
+ 20276 - 11905: 0xB0E9,
+ 20277 - 11905: 0x81C5,
+ 20278 - 11905: 0xC1E6,
+ 20279 - 11905: 0x81C6,
+ 20280 - 11905: 0xC9EC,
+ 20281 - 11905: 0x81C7,
+ 20282 - 11905: 0xCBC5,
+ 20283 - 11905: 0x81C8,
+ 20284 - 11905: 0xCBC6,
+ 20285 - 11905: 0xD9A4,
+ 20286 - 11905: 0x81C9,
+ 20287 - 11905: 0x81CA,
+ 20288 - 11905: 0x81CB,
+ 20289 - 11905: 0x81CC,
+ 20290 - 11905: 0x81CD,
+ 20291 - 11905: 0xB5E8,
+ 20292 - 11905: 0x81CE,
+ 20293 - 11905: 0x81CF,
+ 20294 - 11905: 0xB5AB,
+ 20295 - 11905: 0x81D0,
+ 20296 - 11905: 0x81D1,
+ 20297 - 11905: 0x81D2,
+ 20298 - 11905: 0x81D3,
+ 20299 - 11905: 0x81D4,
+ 20300 - 11905: 0x81D5,
+ 20301 - 11905: 0xCEBB,
+ 20302 - 11905: 0xB5CD,
+ 20303 - 11905: 0xD7A1,
+ 20304 - 11905: 0xD7F4,
+ 20305 - 11905: 0xD3D3,
+ 20306 - 11905: 0x81D6,
+ 20307 - 11905: 0xCCE5,
+ 20308 - 11905: 0x81D7,
+ 20309 - 11905: 0xBACE,
+ 20310 - 11905: 0x81D8,
+ 20311 - 11905: 0xD9A2,
+ 20312 - 11905: 0xD9DC,
+ 20313 - 11905: 0xD3E0,
+ 20314 - 11905: 0xD8FD,
+ 20315 - 11905: 0xB7F0,
+ 20316 - 11905: 0xD7F7,
+ 20317 - 11905: 0xD8FE,
+ 20318 - 11905: 0xD8FA,
+ 20319 - 11905: 0xD9A1,
+ 20320 - 11905: 0xC4E3,
+ 20321 - 11905: 0x81D9,
+ 20322 - 11905: 0x81DA,
+ 20323 - 11905: 0xD3B6,
+ 20324 - 11905: 0xD8F4,
+ 20325 - 11905: 0xD9DD,
+ 20326 - 11905: 0x81DB,
+ 20327 - 11905: 0xD8FB,
+ 20328 - 11905: 0x81DC,
+ 20329 - 11905: 0xC5E5,
+ 20330 - 11905: 0x81DD,
+ 20331 - 11905: 0x81DE,
+ 20332 - 11905: 0xC0D0,
+ 20333 - 11905: 0x81DF,
+ 20334 - 11905: 0x81E0,
+ 20335 - 11905: 0xD1F0,
+ 20336 - 11905: 0xB0DB,
+ 20337 - 11905: 0x81E1,
+ 20338 - 11905: 0x81E2,
+ 20339 - 11905: 0xBCD1,
+ 20340 - 11905: 0xD9A6,
+ 20341 - 11905: 0x81E3,
+ 20342 - 11905: 0xD9A5,
+ 20343 - 11905: 0x81E4,
+ 20344 - 11905: 0x81E5,
+ 20345 - 11905: 0x81E6,
+ 20346 - 11905: 0x81E7,
+ 20347 - 11905: 0xD9AC,
+ 20348 - 11905: 0xD9AE,
+ 20349 - 11905: 0x81E8,
+ 20350 - 11905: 0xD9AB,
+ 20351 - 11905: 0xCAB9,
+ 20352 - 11905: 0x81E9,
+ 20353 - 11905: 0x81EA,
+ 20354 - 11905: 0x81EB,
+ 20355 - 11905: 0xD9A9,
+ 20356 - 11905: 0xD6B6,
+ 20357 - 11905: 0x81EC,
+ 20358 - 11905: 0x81ED,
+ 20359 - 11905: 0x81EE,
+ 20360 - 11905: 0xB3DE,
+ 20361 - 11905: 0xD9A8,
+ 20362 - 11905: 0x81EF,
+ 20363 - 11905: 0xC0FD,
+ 20364 - 11905: 0x81F0,
+ 20365 - 11905: 0xCACC,
+ 20366 - 11905: 0x81F1,
+ 20367 - 11905: 0xD9AA,
+ 20368 - 11905: 0x81F2,
+ 20369 - 11905: 0xD9A7,
+ 20370 - 11905: 0x81F3,
+ 20371 - 11905: 0x81F4,
+ 20372 - 11905: 0xD9B0,
+ 20373 - 11905: 0x81F5,
+ 20374 - 11905: 0x81F6,
+ 20375 - 11905: 0xB6B1,
+ 20376 - 11905: 0x81F7,
+ 20377 - 11905: 0x81F8,
+ 20378 - 11905: 0x81F9,
+ 20379 - 11905: 0xB9A9,
+ 20380 - 11905: 0x81FA,
+ 20381 - 11905: 0xD2C0,
+ 20382 - 11905: 0x81FB,
+ 20383 - 11905: 0x81FC,
+ 20384 - 11905: 0xCFC0,
+ 20385 - 11905: 0x81FD,
+ 20386 - 11905: 0x81FE,
+ 20387 - 11905: 0xC2C2,
+ 20388 - 11905: 0x8240,
+ 20389 - 11905: 0xBDC4,
+ 20390 - 11905: 0xD5EC,
+ 20391 - 11905: 0xB2E0,
+ 20392 - 11905: 0xC7C8,
+ 20393 - 11905: 0xBFEB,
+ 20394 - 11905: 0xD9AD,
+ 20395 - 11905: 0x8241,
+ 20396 - 11905: 0xD9AF,
+ 20397 - 11905: 0x8242,
+ 20398 - 11905: 0xCEEA,
+ 20399 - 11905: 0xBAEE,
+ 20400 - 11905: 0x8243,
+ 20401 - 11905: 0x8244,
+ 20402 - 11905: 0x8245,
+ 20403 - 11905: 0x8246,
+ 20404 - 11905: 0x8247,
+ 20405 - 11905: 0xC7D6,
+ 20406 - 11905: 0x8248,
+ 20407 - 11905: 0x8249,
+ 20408 - 11905: 0x824A,
+ 20409 - 11905: 0x824B,
+ 20410 - 11905: 0x824C,
+ 20411 - 11905: 0x824D,
+ 20412 - 11905: 0x824E,
+ 20413 - 11905: 0x824F,
+ 20414 - 11905: 0x8250,
+ 20415 - 11905: 0xB1E3,
+ 20416 - 11905: 0x8251,
+ 20417 - 11905: 0x8252,
+ 20418 - 11905: 0x8253,
+ 20419 - 11905: 0xB4D9,
+ 20420 - 11905: 0xB6ED,
+ 20421 - 11905: 0xD9B4,
+ 20422 - 11905: 0x8254,
+ 20423 - 11905: 0x8255,
+ 20424 - 11905: 0x8256,
+ 20425 - 11905: 0x8257,
+ 20426 - 11905: 0xBFA1,
+ 20427 - 11905: 0x8258,
+ 20428 - 11905: 0x8259,
+ 20429 - 11905: 0x825A,
+ 20430 - 11905: 0xD9DE,
+ 20431 - 11905: 0xC7CE,
+ 20432 - 11905: 0xC0FE,
+ 20433 - 11905: 0xD9B8,
+ 20434 - 11905: 0x825B,
+ 20435 - 11905: 0x825C,
+ 20436 - 11905: 0x825D,
+ 20437 - 11905: 0x825E,
+ 20438 - 11905: 0x825F,
+ 20439 - 11905: 0xCBD7,
+ 20440 - 11905: 0xB7FD,
+ 20441 - 11905: 0x8260,
+ 20442 - 11905: 0xD9B5,
+ 20443 - 11905: 0x8261,
+ 20444 - 11905: 0xD9B7,
+ 20445 - 11905: 0xB1A3,
+ 20446 - 11905: 0xD3E1,
+ 20447 - 11905: 0xD9B9,
+ 20448 - 11905: 0x8262,
+ 20449 - 11905: 0xD0C5,
+ 20450 - 11905: 0x8263,
+ 20451 - 11905: 0xD9B6,
+ 20452 - 11905: 0x8264,
+ 20453 - 11905: 0x8265,
+ 20454 - 11905: 0xD9B1,
+ 20455 - 11905: 0x8266,
+ 20456 - 11905: 0xD9B2,
+ 20457 - 11905: 0xC1A9,
+ 20458 - 11905: 0xD9B3,
+ 20459 - 11905: 0x8267,
+ 20460 - 11905: 0x8268,
+ 20461 - 11905: 0xBCF3,
+ 20462 - 11905: 0xD0DE,
+ 20463 - 11905: 0xB8A9,
+ 20464 - 11905: 0x8269,
+ 20465 - 11905: 0xBEE3,
+ 20466 - 11905: 0x826A,
+ 20467 - 11905: 0xD9BD,
+ 20468 - 11905: 0x826B,
+ 20469 - 11905: 0x826C,
+ 20470 - 11905: 0x826D,
+ 20471 - 11905: 0x826E,
+ 20472 - 11905: 0xD9BA,
+ 20473 - 11905: 0x826F,
+ 20474 - 11905: 0xB0B3,
+ 20475 - 11905: 0x8270,
+ 20476 - 11905: 0x8271,
+ 20477 - 11905: 0x8272,
+ 20478 - 11905: 0xD9C2,
+ 20479 - 11905: 0x8273,
+ 20480 - 11905: 0x8274,
+ 20481 - 11905: 0x8275,
+ 20482 - 11905: 0x8276,
+ 20483 - 11905: 0x8277,
+ 20484 - 11905: 0x8278,
+ 20485 - 11905: 0x8279,
+ 20486 - 11905: 0x827A,
+ 20487 - 11905: 0x827B,
+ 20488 - 11905: 0x827C,
+ 20489 - 11905: 0x827D,
+ 20490 - 11905: 0x827E,
+ 20491 - 11905: 0x8280,
+ 20492 - 11905: 0xD9C4,
+ 20493 - 11905: 0xB1B6,
+ 20494 - 11905: 0x8281,
+ 20495 - 11905: 0xD9BF,
+ 20496 - 11905: 0x8282,
+ 20497 - 11905: 0x8283,
+ 20498 - 11905: 0xB5B9,
+ 20499 - 11905: 0x8284,
+ 20500 - 11905: 0xBEF3,
+ 20501 - 11905: 0x8285,
+ 20502 - 11905: 0x8286,
+ 20503 - 11905: 0x8287,
+ 20504 - 11905: 0xCCC8,
+ 20505 - 11905: 0xBAF2,
+ 20506 - 11905: 0xD2D0,
+ 20507 - 11905: 0x8288,
+ 20508 - 11905: 0xD9C3,
+ 20509 - 11905: 0x8289,
+ 20510 - 11905: 0x828A,
+ 20511 - 11905: 0xBDE8,
+ 20512 - 11905: 0x828B,
+ 20513 - 11905: 0xB3AB,
+ 20514 - 11905: 0x828C,
+ 20515 - 11905: 0x828D,
+ 20516 - 11905: 0x828E,
+ 20517 - 11905: 0xD9C5,
+ 20518 - 11905: 0xBEEB,
+ 20519 - 11905: 0x828F,
+ 20520 - 11905: 0xD9C6,
+ 20521 - 11905: 0xD9BB,
+ 20522 - 11905: 0xC4DF,
+ 20523 - 11905: 0x8290,
+ 20524 - 11905: 0xD9BE,
+ 20525 - 11905: 0xD9C1,
+ 20526 - 11905: 0xD9C0,
+ 20527 - 11905: 0x8291,
+ 20528 - 11905: 0x8292,
+ 20529 - 11905: 0x8293,
+ 20530 - 11905: 0x8294,
+ 20531 - 11905: 0x8295,
+ 20532 - 11905: 0x8296,
+ 20533 - 11905: 0x8297,
+ 20534 - 11905: 0x8298,
+ 20535 - 11905: 0x8299,
+ 20536 - 11905: 0x829A,
+ 20537 - 11905: 0x829B,
+ 20538 - 11905: 0xD5AE,
+ 20539 - 11905: 0x829C,
+ 20540 - 11905: 0xD6B5,
+ 20541 - 11905: 0x829D,
+ 20542 - 11905: 0xC7E3,
+ 20543 - 11905: 0x829E,
+ 20544 - 11905: 0x829F,
+ 20545 - 11905: 0x82A0,
+ 20546 - 11905: 0x82A1,
+ 20547 - 11905: 0xD9C8,
+ 20548 - 11905: 0x82A2,
+ 20549 - 11905: 0x82A3,
+ 20550 - 11905: 0x82A4,
+ 20551 - 11905: 0xBCD9,
+ 20552 - 11905: 0xD9CA,
+ 20553 - 11905: 0x82A5,
+ 20554 - 11905: 0x82A6,
+ 20555 - 11905: 0x82A7,
+ 20556 - 11905: 0xD9BC,
+ 20557 - 11905: 0x82A8,
+ 20558 - 11905: 0xD9CB,
+ 20559 - 11905: 0xC6AB,
+ 20560 - 11905: 0x82A9,
+ 20561 - 11905: 0x82AA,
+ 20562 - 11905: 0x82AB,
+ 20563 - 11905: 0x82AC,
+ 20564 - 11905: 0x82AD,
+ 20565 - 11905: 0xD9C9,
+ 20566 - 11905: 0x82AE,
+ 20567 - 11905: 0x82AF,
+ 20568 - 11905: 0x82B0,
+ 20569 - 11905: 0x82B1,
+ 20570 - 11905: 0xD7F6,
+ 20571 - 11905: 0x82B2,
+ 20572 - 11905: 0xCDA3,
+ 20573 - 11905: 0x82B3,
+ 20574 - 11905: 0x82B4,
+ 20575 - 11905: 0x82B5,
+ 20576 - 11905: 0x82B6,
+ 20577 - 11905: 0x82B7,
+ 20578 - 11905: 0x82B8,
+ 20579 - 11905: 0x82B9,
+ 20580 - 11905: 0x82BA,
+ 20581 - 11905: 0xBDA1,
+ 20582 - 11905: 0x82BB,
+ 20583 - 11905: 0x82BC,
+ 20584 - 11905: 0x82BD,
+ 20585 - 11905: 0x82BE,
+ 20586 - 11905: 0x82BF,
+ 20587 - 11905: 0x82C0,
+ 20588 - 11905: 0xD9CC,
+ 20589 - 11905: 0x82C1,
+ 20590 - 11905: 0x82C2,
+ 20591 - 11905: 0x82C3,
+ 20592 - 11905: 0x82C4,
+ 20593 - 11905: 0x82C5,
+ 20594 - 11905: 0x82C6,
+ 20595 - 11905: 0x82C7,
+ 20596 - 11905: 0x82C8,
+ 20597 - 11905: 0x82C9,
+ 20598 - 11905: 0xC5BC,
+ 20599 - 11905: 0xCDB5,
+ 20600 - 11905: 0x82CA,
+ 20601 - 11905: 0x82CB,
+ 20602 - 11905: 0x82CC,
+ 20603 - 11905: 0xD9CD,
+ 20604 - 11905: 0x82CD,
+ 20605 - 11905: 0x82CE,
+ 20606 - 11905: 0xD9C7,
+ 20607 - 11905: 0xB3A5,
+ 20608 - 11905: 0xBFFE,
+ 20609 - 11905: 0x82CF,
+ 20610 - 11905: 0x82D0,
+ 20611 - 11905: 0x82D1,
+ 20612 - 11905: 0x82D2,
+ 20613 - 11905: 0xB8B5,
+ 20614 - 11905: 0x82D3,
+ 20615 - 11905: 0x82D4,
+ 20616 - 11905: 0xC0FC,
+ 20617 - 11905: 0x82D5,
+ 20618 - 11905: 0x82D6,
+ 20619 - 11905: 0x82D7,
+ 20620 - 11905: 0x82D8,
+ 20621 - 11905: 0xB0F8,
+ 20622 - 11905: 0x82D9,
+ 20623 - 11905: 0x82DA,
+ 20624 - 11905: 0x82DB,
+ 20625 - 11905: 0x82DC,
+ 20626 - 11905: 0x82DD,
+ 20627 - 11905: 0x82DE,
+ 20628 - 11905: 0x82DF,
+ 20629 - 11905: 0x82E0,
+ 20630 - 11905: 0x82E1,
+ 20631 - 11905: 0x82E2,
+ 20632 - 11905: 0x82E3,
+ 20633 - 11905: 0x82E4,
+ 20634 - 11905: 0x82E5,
+ 20635 - 11905: 0x82E6,
+ 20636 - 11905: 0x82E7,
+ 20637 - 11905: 0x82E8,
+ 20638 - 11905: 0x82E9,
+ 20639 - 11905: 0x82EA,
+ 20640 - 11905: 0x82EB,
+ 20641 - 11905: 0x82EC,
+ 20642 - 11905: 0x82ED,
+ 20643 - 11905: 0xB4F6,
+ 20644 - 11905: 0x82EE,
+ 20645 - 11905: 0xD9CE,
+ 20646 - 11905: 0x82EF,
+ 20647 - 11905: 0xD9CF,
+ 20648 - 11905: 0xB4A2,
+ 20649 - 11905: 0xD9D0,
+ 20650 - 11905: 0x82F0,
+ 20651 - 11905: 0x82F1,
+ 20652 - 11905: 0xB4DF,
+ 20653 - 11905: 0x82F2,
+ 20654 - 11905: 0x82F3,
+ 20655 - 11905: 0x82F4,
+ 20656 - 11905: 0x82F5,
+ 20657 - 11905: 0x82F6,
+ 20658 - 11905: 0xB0C1,
+ 20659 - 11905: 0x82F7,
+ 20660 - 11905: 0x82F8,
+ 20661 - 11905: 0x82F9,
+ 20662 - 11905: 0x82FA,
+ 20663 - 11905: 0x82FB,
+ 20664 - 11905: 0x82FC,
+ 20665 - 11905: 0x82FD,
+ 20666 - 11905: 0xD9D1,
+ 20667 - 11905: 0xC9B5,
+ 20668 - 11905: 0x82FE,
+ 20669 - 11905: 0x8340,
+ 20670 - 11905: 0x8341,
+ 20671 - 11905: 0x8342,
+ 20672 - 11905: 0x8343,
+ 20673 - 11905: 0x8344,
+ 20674 - 11905: 0x8345,
+ 20675 - 11905: 0x8346,
+ 20676 - 11905: 0x8347,
+ 20677 - 11905: 0x8348,
+ 20678 - 11905: 0x8349,
+ 20679 - 11905: 0x834A,
+ 20680 - 11905: 0x834B,
+ 20681 - 11905: 0x834C,
+ 20682 - 11905: 0x834D,
+ 20683 - 11905: 0x834E,
+ 20684 - 11905: 0x834F,
+ 20685 - 11905: 0x8350,
+ 20686 - 11905: 0x8351,
+ 20687 - 11905: 0xCFF1,
+ 20688 - 11905: 0x8352,
+ 20689 - 11905: 0x8353,
+ 20690 - 11905: 0x8354,
+ 20691 - 11905: 0x8355,
+ 20692 - 11905: 0x8356,
+ 20693 - 11905: 0x8357,
+ 20694 - 11905: 0xD9D2,
+ 20695 - 11905: 0x8358,
+ 20696 - 11905: 0x8359,
+ 20697 - 11905: 0x835A,
+ 20698 - 11905: 0xC1C5,
+ 20699 - 11905: 0x835B,
+ 20700 - 11905: 0x835C,
+ 20701 - 11905: 0x835D,
+ 20702 - 11905: 0x835E,
+ 20703 - 11905: 0x835F,
+ 20704 - 11905: 0x8360,
+ 20705 - 11905: 0x8361,
+ 20706 - 11905: 0x8362,
+ 20707 - 11905: 0x8363,
+ 20708 - 11905: 0x8364,
+ 20709 - 11905: 0x8365,
+ 20710 - 11905: 0xD9D6,
+ 20711 - 11905: 0xC9AE,
+ 20712 - 11905: 0x8366,
+ 20713 - 11905: 0x8367,
+ 20714 - 11905: 0x8368,
+ 20715 - 11905: 0x8369,
+ 20716 - 11905: 0xD9D5,
+ 20717 - 11905: 0xD9D4,
+ 20718 - 11905: 0xD9D7,
+ 20719 - 11905: 0x836A,
+ 20720 - 11905: 0x836B,
+ 20721 - 11905: 0x836C,
+ 20722 - 11905: 0x836D,
+ 20723 - 11905: 0xCBDB,
+ 20724 - 11905: 0x836E,
+ 20725 - 11905: 0xBDA9,
+ 20726 - 11905: 0x836F,
+ 20727 - 11905: 0x8370,
+ 20728 - 11905: 0x8371,
+ 20729 - 11905: 0x8372,
+ 20730 - 11905: 0x8373,
+ 20731 - 11905: 0xC6A7,
+ 20732 - 11905: 0x8374,
+ 20733 - 11905: 0x8375,
+ 20734 - 11905: 0x8376,
+ 20735 - 11905: 0x8377,
+ 20736 - 11905: 0x8378,
+ 20737 - 11905: 0x8379,
+ 20738 - 11905: 0x837A,
+ 20739 - 11905: 0x837B,
+ 20740 - 11905: 0x837C,
+ 20741 - 11905: 0x837D,
+ 20742 - 11905: 0xD9D3,
+ 20743 - 11905: 0xD9D8,
+ 20744 - 11905: 0x837E,
+ 20745 - 11905: 0x8380,
+ 20746 - 11905: 0x8381,
+ 20747 - 11905: 0xD9D9,
+ 20748 - 11905: 0x8382,
+ 20749 - 11905: 0x8383,
+ 20750 - 11905: 0x8384,
+ 20751 - 11905: 0x8385,
+ 20752 - 11905: 0x8386,
+ 20753 - 11905: 0x8387,
+ 20754 - 11905: 0xC8E5,
+ 20755 - 11905: 0x8388,
+ 20756 - 11905: 0x8389,
+ 20757 - 11905: 0x838A,
+ 20758 - 11905: 0x838B,
+ 20759 - 11905: 0x838C,
+ 20760 - 11905: 0x838D,
+ 20761 - 11905: 0x838E,
+ 20762 - 11905: 0x838F,
+ 20763 - 11905: 0x8390,
+ 20764 - 11905: 0x8391,
+ 20765 - 11905: 0x8392,
+ 20766 - 11905: 0x8393,
+ 20767 - 11905: 0x8394,
+ 20768 - 11905: 0x8395,
+ 20769 - 11905: 0xC0DC,
+ 20770 - 11905: 0x8396,
+ 20771 - 11905: 0x8397,
+ 20772 - 11905: 0x8398,
+ 20773 - 11905: 0x8399,
+ 20774 - 11905: 0x839A,
+ 20775 - 11905: 0x839B,
+ 20776 - 11905: 0x839C,
+ 20777 - 11905: 0x839D,
+ 20778 - 11905: 0x839E,
+ 20779 - 11905: 0x839F,
+ 20780 - 11905: 0x83A0,
+ 20781 - 11905: 0x83A1,
+ 20782 - 11905: 0x83A2,
+ 20783 - 11905: 0x83A3,
+ 20784 - 11905: 0x83A4,
+ 20785 - 11905: 0x83A5,
+ 20786 - 11905: 0x83A6,
+ 20787 - 11905: 0x83A7,
+ 20788 - 11905: 0x83A8,
+ 20789 - 11905: 0x83A9,
+ 20790 - 11905: 0x83AA,
+ 20791 - 11905: 0x83AB,
+ 20792 - 11905: 0x83AC,
+ 20793 - 11905: 0x83AD,
+ 20794 - 11905: 0x83AE,
+ 20795 - 11905: 0x83AF,
+ 20796 - 11905: 0x83B0,
+ 20797 - 11905: 0x83B1,
+ 20798 - 11905: 0x83B2,
+ 20799 - 11905: 0xB6F9,
+ 20800 - 11905: 0xD8A3,
+ 20801 - 11905: 0xD4CA,
+ 20802 - 11905: 0x83B3,
+ 20803 - 11905: 0xD4AA,
+ 20804 - 11905: 0xD0D6,
+ 20805 - 11905: 0xB3E4,
+ 20806 - 11905: 0xD5D7,
+ 20807 - 11905: 0x83B4,
+ 20808 - 11905: 0xCFC8,
+ 20809 - 11905: 0xB9E2,
+ 20810 - 11905: 0x83B5,
+ 20811 - 11905: 0xBFCB,
+ 20812 - 11905: 0x83B6,
+ 20813 - 11905: 0xC3E2,
+ 20814 - 11905: 0x83B7,
+ 20815 - 11905: 0x83B8,
+ 20816 - 11905: 0x83B9,
+ 20817 - 11905: 0xB6D2,
+ 20818 - 11905: 0x83BA,
+ 20819 - 11905: 0x83BB,
+ 20820 - 11905: 0xCDC3,
+ 20821 - 11905: 0xD9EE,
+ 20822 - 11905: 0xD9F0,
+ 20823 - 11905: 0x83BC,
+ 20824 - 11905: 0x83BD,
+ 20825 - 11905: 0x83BE,
+ 20826 - 11905: 0xB5B3,
+ 20827 - 11905: 0x83BF,
+ 20828 - 11905: 0xB6B5,
+ 20829 - 11905: 0x83C0,
+ 20830 - 11905: 0x83C1,
+ 20831 - 11905: 0x83C2,
+ 20832 - 11905: 0x83C3,
+ 20833 - 11905: 0x83C4,
+ 20834 - 11905: 0xBEA4,
+ 20835 - 11905: 0x83C5,
+ 20836 - 11905: 0x83C6,
+ 20837 - 11905: 0xC8EB,
+ 20838 - 11905: 0x83C7,
+ 20839 - 11905: 0x83C8,
+ 20840 - 11905: 0xC8AB,
+ 20841 - 11905: 0x83C9,
+ 20842 - 11905: 0x83CA,
+ 20843 - 11905: 0xB0CB,
+ 20844 - 11905: 0xB9AB,
+ 20845 - 11905: 0xC1F9,
+ 20846 - 11905: 0xD9E2,
+ 20847 - 11905: 0x83CB,
+ 20848 - 11905: 0xC0BC,
+ 20849 - 11905: 0xB9B2,
+ 20850 - 11905: 0x83CC,
+ 20851 - 11905: 0xB9D8,
+ 20852 - 11905: 0xD0CB,
+ 20853 - 11905: 0xB1F8,
+ 20854 - 11905: 0xC6E4,
+ 20855 - 11905: 0xBEDF,
+ 20856 - 11905: 0xB5E4,
+ 20857 - 11905: 0xD7C8,
+ 20858 - 11905: 0x83CD,
+ 20859 - 11905: 0xD1F8,
+ 20860 - 11905: 0xBCE6,
+ 20861 - 11905: 0xCADE,
+ 20862 - 11905: 0x83CE,
+ 20863 - 11905: 0x83CF,
+ 20864 - 11905: 0xBCBD,
+ 20865 - 11905: 0xD9E6,
+ 20866 - 11905: 0xD8E7,
+ 20867 - 11905: 0x83D0,
+ 20868 - 11905: 0x83D1,
+ 20869 - 11905: 0xC4DA,
+ 20870 - 11905: 0x83D2,
+ 20871 - 11905: 0x83D3,
+ 20872 - 11905: 0xB8D4,
+ 20873 - 11905: 0xC8BD,
+ 20874 - 11905: 0x83D4,
+ 20875 - 11905: 0x83D5,
+ 20876 - 11905: 0xB2E1,
+ 20877 - 11905: 0xD4D9,
+ 20878 - 11905: 0x83D6,
+ 20879 - 11905: 0x83D7,
+ 20880 - 11905: 0x83D8,
+ 20881 - 11905: 0x83D9,
+ 20882 - 11905: 0xC3B0,
+ 20883 - 11905: 0x83DA,
+ 20884 - 11905: 0x83DB,
+ 20885 - 11905: 0xC3E1,
+ 20886 - 11905: 0xDAA2,
+ 20887 - 11905: 0xC8DF,
+ 20888 - 11905: 0x83DC,
+ 20889 - 11905: 0xD0B4,
+ 20890 - 11905: 0x83DD,
+ 20891 - 11905: 0xBEFC,
+ 20892 - 11905: 0xC5A9,
+ 20893 - 11905: 0x83DE,
+ 20894 - 11905: 0x83DF,
+ 20895 - 11905: 0x83E0,
+ 20896 - 11905: 0xB9DA,
+ 20897 - 11905: 0x83E1,
+ 20898 - 11905: 0xDAA3,
+ 20899 - 11905: 0x83E2,
+ 20900 - 11905: 0xD4A9,
+ 20901 - 11905: 0xDAA4,
+ 20902 - 11905: 0x83E3,
+ 20903 - 11905: 0x83E4,
+ 20904 - 11905: 0x83E5,
+ 20905 - 11905: 0x83E6,
+ 20906 - 11905: 0x83E7,
+ 20907 - 11905: 0xD9FB,
+ 20908 - 11905: 0xB6AC,
+ 20909 - 11905: 0x83E8,
+ 20910 - 11905: 0x83E9,
+ 20911 - 11905: 0xB7EB,
+ 20912 - 11905: 0xB1F9,
+ 20913 - 11905: 0xD9FC,
+ 20914 - 11905: 0xB3E5,
+ 20915 - 11905: 0xBEF6,
+ 20916 - 11905: 0x83EA,
+ 20917 - 11905: 0xBFF6,
+ 20918 - 11905: 0xD2B1,
+ 20919 - 11905: 0xC0E4,
+ 20920 - 11905: 0x83EB,
+ 20921 - 11905: 0x83EC,
+ 20922 - 11905: 0x83ED,
+ 20923 - 11905: 0xB6B3,
+ 20924 - 11905: 0xD9FE,
+ 20925 - 11905: 0xD9FD,
+ 20926 - 11905: 0x83EE,
+ 20927 - 11905: 0x83EF,
+ 20928 - 11905: 0xBEBB,
+ 20929 - 11905: 0x83F0,
+ 20930 - 11905: 0x83F1,
+ 20931 - 11905: 0x83F2,
+ 20932 - 11905: 0xC6E0,
+ 20933 - 11905: 0x83F3,
+ 20934 - 11905: 0xD7BC,
+ 20935 - 11905: 0xDAA1,
+ 20936 - 11905: 0x83F4,
+ 20937 - 11905: 0xC1B9,
+ 20938 - 11905: 0x83F5,
+ 20939 - 11905: 0xB5F2,
+ 20940 - 11905: 0xC1E8,
+ 20941 - 11905: 0x83F6,
+ 20942 - 11905: 0x83F7,
+ 20943 - 11905: 0xBCF5,
+ 20944 - 11905: 0x83F8,
+ 20945 - 11905: 0xB4D5,
+ 20946 - 11905: 0x83F9,
+ 20947 - 11905: 0x83FA,
+ 20948 - 11905: 0x83FB,
+ 20949 - 11905: 0x83FC,
+ 20950 - 11905: 0x83FD,
+ 20951 - 11905: 0x83FE,
+ 20952 - 11905: 0x8440,
+ 20953 - 11905: 0x8441,
+ 20954 - 11905: 0x8442,
+ 20955 - 11905: 0xC1DD,
+ 20956 - 11905: 0x8443,
+ 20957 - 11905: 0xC4FD,
+ 20958 - 11905: 0x8444,
+ 20959 - 11905: 0x8445,
+ 20960 - 11905: 0xBCB8,
+ 20961 - 11905: 0xB7B2,
+ 20962 - 11905: 0x8446,
+ 20963 - 11905: 0x8447,
+ 20964 - 11905: 0xB7EF,
+ 20965 - 11905: 0x8448,
+ 20966 - 11905: 0x8449,
+ 20967 - 11905: 0x844A,
+ 20968 - 11905: 0x844B,
+ 20969 - 11905: 0x844C,
+ 20970 - 11905: 0x844D,
+ 20971 - 11905: 0xD9EC,
+ 20972 - 11905: 0x844E,
+ 20973 - 11905: 0xC6BE,
+ 20974 - 11905: 0x844F,
+ 20975 - 11905: 0xBFAD,
+ 20976 - 11905: 0xBBCB,
+ 20977 - 11905: 0x8450,
+ 20978 - 11905: 0x8451,
+ 20979 - 11905: 0xB5CA,
+ 20980 - 11905: 0x8452,
+ 20981 - 11905: 0xDBC9,
+ 20982 - 11905: 0xD0D7,
+ 20983 - 11905: 0x8453,
+ 20984 - 11905: 0xCDB9,
+ 20985 - 11905: 0xB0BC,
+ 20986 - 11905: 0xB3F6,
+ 20987 - 11905: 0xBBF7,
+ 20988 - 11905: 0xDBCA,
+ 20989 - 11905: 0xBAAF,
+ 20990 - 11905: 0x8454,
+ 20991 - 11905: 0xD4E4,
+ 20992 - 11905: 0xB5B6,
+ 20993 - 11905: 0xB5F3,
+ 20994 - 11905: 0xD8D6,
+ 20995 - 11905: 0xC8D0,
+ 20996 - 11905: 0x8455,
+ 20997 - 11905: 0x8456,
+ 20998 - 11905: 0xB7D6,
+ 20999 - 11905: 0xC7D0,
+ 21000 - 11905: 0xD8D7,
+ 21001 - 11905: 0x8457,
+ 21002 - 11905: 0xBFAF,
+ 21003 - 11905: 0x8458,
+ 21004 - 11905: 0x8459,
+ 21005 - 11905: 0xDBBB,
+ 21006 - 11905: 0xD8D8,
+ 21007 - 11905: 0x845A,
+ 21008 - 11905: 0x845B,
+ 21009 - 11905: 0xD0CC,
+ 21010 - 11905: 0xBBAE,
+ 21011 - 11905: 0x845C,
+ 21012 - 11905: 0x845D,
+ 21013 - 11905: 0x845E,
+ 21014 - 11905: 0xEBBE,
+ 21015 - 11905: 0xC1D0,
+ 21016 - 11905: 0xC1F5,
+ 21017 - 11905: 0xD4F2,
+ 21018 - 11905: 0xB8D5,
+ 21019 - 11905: 0xB4B4,
+ 21020 - 11905: 0x845F,
+ 21021 - 11905: 0xB3F5,
+ 21022 - 11905: 0x8460,
+ 21023 - 11905: 0x8461,
+ 21024 - 11905: 0xC9BE,
+ 21025 - 11905: 0x8462,
+ 21026 - 11905: 0x8463,
+ 21027 - 11905: 0x8464,
+ 21028 - 11905: 0xC5D0,
+ 21029 - 11905: 0x8465,
+ 21030 - 11905: 0x8466,
+ 21031 - 11905: 0x8467,
+ 21032 - 11905: 0xC5D9,
+ 21033 - 11905: 0xC0FB,
+ 21034 - 11905: 0x8468,
+ 21035 - 11905: 0xB1F0,
+ 21036 - 11905: 0x8469,
+ 21037 - 11905: 0xD8D9,
+ 21038 - 11905: 0xB9CE,
+ 21039 - 11905: 0x846A,
+ 21040 - 11905: 0xB5BD,
+ 21041 - 11905: 0x846B,
+ 21042 - 11905: 0x846C,
+ 21043 - 11905: 0xD8DA,
+ 21044 - 11905: 0x846D,
+ 21045 - 11905: 0x846E,
+ 21046 - 11905: 0xD6C6,
+ 21047 - 11905: 0xCBA2,
+ 21048 - 11905: 0xC8AF,
+ 21049 - 11905: 0xC9B2,
+ 21050 - 11905: 0xB4CC,
+ 21051 - 11905: 0xBFCC,
+ 21052 - 11905: 0x846F,
+ 21053 - 11905: 0xB9F4,
+ 21054 - 11905: 0x8470,
+ 21055 - 11905: 0xD8DB,
+ 21056 - 11905: 0xD8DC,
+ 21057 - 11905: 0xB6E7,
+ 21058 - 11905: 0xBCC1,
+ 21059 - 11905: 0xCCEA,
+ 21060 - 11905: 0x8471,
+ 21061 - 11905: 0x8472,
+ 21062 - 11905: 0x8473,
+ 21063 - 11905: 0x8474,
+ 21064 - 11905: 0x8475,
+ 21065 - 11905: 0x8476,
+ 21066 - 11905: 0xCFF7,
+ 21067 - 11905: 0x8477,
+ 21068 - 11905: 0xD8DD,
+ 21069 - 11905: 0xC7B0,
+ 21070 - 11905: 0x8478,
+ 21071 - 11905: 0x8479,
+ 21072 - 11905: 0xB9D0,
+ 21073 - 11905: 0xBDA3,
+ 21074 - 11905: 0x847A,
+ 21075 - 11905: 0x847B,
+ 21076 - 11905: 0xCCDE,
+ 21077 - 11905: 0x847C,
+ 21078 - 11905: 0xC6CA,
+ 21079 - 11905: 0x847D,
+ 21080 - 11905: 0x847E,
+ 21081 - 11905: 0x8480,
+ 21082 - 11905: 0x8481,
+ 21083 - 11905: 0x8482,
+ 21084 - 11905: 0xD8E0,
+ 21085 - 11905: 0x8483,
+ 21086 - 11905: 0xD8DE,
+ 21087 - 11905: 0x8484,
+ 21088 - 11905: 0x8485,
+ 21089 - 11905: 0xD8DF,
+ 21090 - 11905: 0x8486,
+ 21091 - 11905: 0x8487,
+ 21092 - 11905: 0x8488,
+ 21093 - 11905: 0xB0FE,
+ 21094 - 11905: 0x8489,
+ 21095 - 11905: 0xBEE7,
+ 21096 - 11905: 0x848A,
+ 21097 - 11905: 0xCAA3,
+ 21098 - 11905: 0xBCF4,
+ 21099 - 11905: 0x848B,
+ 21100 - 11905: 0x848C,
+ 21101 - 11905: 0x848D,
+ 21102 - 11905: 0x848E,
+ 21103 - 11905: 0xB8B1,
+ 21104 - 11905: 0x848F,
+ 21105 - 11905: 0x8490,
+ 21106 - 11905: 0xB8EE,
+ 21107 - 11905: 0x8491,
+ 21108 - 11905: 0x8492,
+ 21109 - 11905: 0x8493,
+ 21110 - 11905: 0x8494,
+ 21111 - 11905: 0x8495,
+ 21112 - 11905: 0x8496,
+ 21113 - 11905: 0x8497,
+ 21114 - 11905: 0x8498,
+ 21115 - 11905: 0x8499,
+ 21116 - 11905: 0x849A,
+ 21117 - 11905: 0xD8E2,
+ 21118 - 11905: 0x849B,
+ 21119 - 11905: 0xBDCB,
+ 21120 - 11905: 0x849C,
+ 21121 - 11905: 0xD8E4,
+ 21122 - 11905: 0xD8E3,
+ 21123 - 11905: 0x849D,
+ 21124 - 11905: 0x849E,
+ 21125 - 11905: 0x849F,
+ 21126 - 11905: 0x84A0,
+ 21127 - 11905: 0x84A1,
+ 21128 - 11905: 0xC5FC,
+ 21129 - 11905: 0x84A2,
+ 21130 - 11905: 0x84A3,
+ 21131 - 11905: 0x84A4,
+ 21132 - 11905: 0x84A5,
+ 21133 - 11905: 0x84A6,
+ 21134 - 11905: 0x84A7,
+ 21135 - 11905: 0x84A8,
+ 21136 - 11905: 0xD8E5,
+ 21137 - 11905: 0x84A9,
+ 21138 - 11905: 0x84AA,
+ 21139 - 11905: 0xD8E6,
+ 21140 - 11905: 0x84AB,
+ 21141 - 11905: 0x84AC,
+ 21142 - 11905: 0x84AD,
+ 21143 - 11905: 0x84AE,
+ 21144 - 11905: 0x84AF,
+ 21145 - 11905: 0x84B0,
+ 21146 - 11905: 0x84B1,
+ 21147 - 11905: 0xC1A6,
+ 21148 - 11905: 0x84B2,
+ 21149 - 11905: 0xC8B0,
+ 21150 - 11905: 0xB0EC,
+ 21151 - 11905: 0xB9A6,
+ 21152 - 11905: 0xBCD3,
+ 21153 - 11905: 0xCEF1,
+ 21154 - 11905: 0xDBBD,
+ 21155 - 11905: 0xC1D3,
+ 21156 - 11905: 0x84B3,
+ 21157 - 11905: 0x84B4,
+ 21158 - 11905: 0x84B5,
+ 21159 - 11905: 0x84B6,
+ 21160 - 11905: 0xB6AF,
+ 21161 - 11905: 0xD6FA,
+ 21162 - 11905: 0xC5AC,
+ 21163 - 11905: 0xBDD9,
+ 21164 - 11905: 0xDBBE,
+ 21165 - 11905: 0xDBBF,
+ 21166 - 11905: 0x84B7,
+ 21167 - 11905: 0x84B8,
+ 21168 - 11905: 0x84B9,
+ 21169 - 11905: 0xC0F8,
+ 21170 - 11905: 0xBEA2,
+ 21171 - 11905: 0xC0CD,
+ 21172 - 11905: 0x84BA,
+ 21173 - 11905: 0x84BB,
+ 21174 - 11905: 0x84BC,
+ 21175 - 11905: 0x84BD,
+ 21176 - 11905: 0x84BE,
+ 21177 - 11905: 0x84BF,
+ 21178 - 11905: 0x84C0,
+ 21179 - 11905: 0x84C1,
+ 21180 - 11905: 0x84C2,
+ 21181 - 11905: 0x84C3,
+ 21182 - 11905: 0xDBC0,
+ 21183 - 11905: 0xCAC6,
+ 21184 - 11905: 0x84C4,
+ 21185 - 11905: 0x84C5,
+ 21186 - 11905: 0x84C6,
+ 21187 - 11905: 0xB2AA,
+ 21188 - 11905: 0x84C7,
+ 21189 - 11905: 0x84C8,
+ 21190 - 11905: 0x84C9,
+ 21191 - 11905: 0xD3C2,
+ 21192 - 11905: 0x84CA,
+ 21193 - 11905: 0xC3E3,
+ 21194 - 11905: 0x84CB,
+ 21195 - 11905: 0xD1AB,
+ 21196 - 11905: 0x84CC,
+ 21197 - 11905: 0x84CD,
+ 21198 - 11905: 0x84CE,
+ 21199 - 11905: 0x84CF,
+ 21200 - 11905: 0xDBC2,
+ 21201 - 11905: 0x84D0,
+ 21202 - 11905: 0xC0D5,
+ 21203 - 11905: 0x84D1,
+ 21204 - 11905: 0x84D2,
+ 21205 - 11905: 0x84D3,
+ 21206 - 11905: 0xDBC3,
+ 21207 - 11905: 0x84D4,
+ 21208 - 11905: 0xBFB1,
+ 21209 - 11905: 0x84D5,
+ 21210 - 11905: 0x84D6,
+ 21211 - 11905: 0x84D7,
+ 21212 - 11905: 0x84D8,
+ 21213 - 11905: 0x84D9,
+ 21214 - 11905: 0x84DA,
+ 21215 - 11905: 0xC4BC,
+ 21216 - 11905: 0x84DB,
+ 21217 - 11905: 0x84DC,
+ 21218 - 11905: 0x84DD,
+ 21219 - 11905: 0x84DE,
+ 21220 - 11905: 0xC7DA,
+ 21221 - 11905: 0x84DF,
+ 21222 - 11905: 0x84E0,
+ 21223 - 11905: 0x84E1,
+ 21224 - 11905: 0x84E2,
+ 21225 - 11905: 0x84E3,
+ 21226 - 11905: 0x84E4,
+ 21227 - 11905: 0x84E5,
+ 21228 - 11905: 0x84E6,
+ 21229 - 11905: 0x84E7,
+ 21230 - 11905: 0x84E8,
+ 21231 - 11905: 0x84E9,
+ 21232 - 11905: 0xDBC4,
+ 21233 - 11905: 0x84EA,
+ 21234 - 11905: 0x84EB,
+ 21235 - 11905: 0x84EC,
+ 21236 - 11905: 0x84ED,
+ 21237 - 11905: 0x84EE,
+ 21238 - 11905: 0x84EF,
+ 21239 - 11905: 0x84F0,
+ 21240 - 11905: 0x84F1,
+ 21241 - 11905: 0xD9E8,
+ 21242 - 11905: 0xC9D7,
+ 21243 - 11905: 0x84F2,
+ 21244 - 11905: 0x84F3,
+ 21245 - 11905: 0x84F4,
+ 21246 - 11905: 0xB9B4,
+ 21247 - 11905: 0xCEF0,
+ 21248 - 11905: 0xD4C8,
+ 21249 - 11905: 0x84F5,
+ 21250 - 11905: 0x84F6,
+ 21251 - 11905: 0x84F7,
+ 21252 - 11905: 0x84F8,
+ 21253 - 11905: 0xB0FC,
+ 21254 - 11905: 0xB4D2,
+ 21255 - 11905: 0x84F9,
+ 21256 - 11905: 0xD0D9,
+ 21257 - 11905: 0x84FA,
+ 21258 - 11905: 0x84FB,
+ 21259 - 11905: 0x84FC,
+ 21260 - 11905: 0x84FD,
+ 21261 - 11905: 0xD9E9,
+ 21262 - 11905: 0x84FE,
+ 21263 - 11905: 0xDECB,
+ 21264 - 11905: 0xD9EB,
+ 21265 - 11905: 0x8540,
+ 21266 - 11905: 0x8541,
+ 21267 - 11905: 0x8542,
+ 21268 - 11905: 0x8543,
+ 21269 - 11905: 0xD8B0,
+ 21270 - 11905: 0xBBAF,
+ 21271 - 11905: 0xB1B1,
+ 21272 - 11905: 0x8544,
+ 21273 - 11905: 0xB3D7,
+ 21274 - 11905: 0xD8CE,
+ 21275 - 11905: 0x8545,
+ 21276 - 11905: 0x8546,
+ 21277 - 11905: 0xD4D1,
+ 21278 - 11905: 0x8547,
+ 21279 - 11905: 0x8548,
+ 21280 - 11905: 0xBDB3,
+ 21281 - 11905: 0xBFEF,
+ 21282 - 11905: 0x8549,
+ 21283 - 11905: 0xCFBB,
+ 21284 - 11905: 0x854A,
+ 21285 - 11905: 0x854B,
+ 21286 - 11905: 0xD8D0,
+ 21287 - 11905: 0x854C,
+ 21288 - 11905: 0x854D,
+ 21289 - 11905: 0x854E,
+ 21290 - 11905: 0xB7CB,
+ 21291 - 11905: 0x854F,
+ 21292 - 11905: 0x8550,
+ 21293 - 11905: 0x8551,
+ 21294 - 11905: 0xD8D1,
+ 21295 - 11905: 0x8552,
+ 21296 - 11905: 0x8553,
+ 21297 - 11905: 0x8554,
+ 21298 - 11905: 0x8555,
+ 21299 - 11905: 0x8556,
+ 21300 - 11905: 0x8557,
+ 21301 - 11905: 0x8558,
+ 21302 - 11905: 0x8559,
+ 21303 - 11905: 0x855A,
+ 21304 - 11905: 0x855B,
+ 21305 - 11905: 0xC6A5,
+ 21306 - 11905: 0xC7F8,
+ 21307 - 11905: 0xD2BD,
+ 21308 - 11905: 0x855C,
+ 21309 - 11905: 0x855D,
+ 21310 - 11905: 0xD8D2,
+ 21311 - 11905: 0xC4E4,
+ 21312 - 11905: 0x855E,
+ 21313 - 11905: 0xCAAE,
+ 21314 - 11905: 0x855F,
+ 21315 - 11905: 0xC7A7,
+ 21316 - 11905: 0x8560,
+ 21317 - 11905: 0xD8A6,
+ 21318 - 11905: 0x8561,
+ 21319 - 11905: 0xC9FD,
+ 21320 - 11905: 0xCEE7,
+ 21321 - 11905: 0xBBDC,
+ 21322 - 11905: 0xB0EB,
+ 21323 - 11905: 0x8562,
+ 21324 - 11905: 0x8563,
+ 21325 - 11905: 0x8564,
+ 21326 - 11905: 0xBBAA,
+ 21327 - 11905: 0xD0AD,
+ 21328 - 11905: 0x8565,
+ 21329 - 11905: 0xB1B0,
+ 21330 - 11905: 0xD7E4,
+ 21331 - 11905: 0xD7BF,
+ 21332 - 11905: 0x8566,
+ 21333 - 11905: 0xB5A5,
+ 21334 - 11905: 0xC2F4,
+ 21335 - 11905: 0xC4CF,
+ 21336 - 11905: 0x8567,
+ 21337 - 11905: 0x8568,
+ 21338 - 11905: 0xB2A9,
+ 21339 - 11905: 0x8569,
+ 21340 - 11905: 0xB2B7,
+ 21341 - 11905: 0x856A,
+ 21342 - 11905: 0xB1E5,
+ 21343 - 11905: 0xDFB2,
+ 21344 - 11905: 0xD5BC,
+ 21345 - 11905: 0xBFA8,
+ 21346 - 11905: 0xC2AC,
+ 21347 - 11905: 0xD8D5,
+ 21348 - 11905: 0xC2B1,
+ 21349 - 11905: 0x856B,
+ 21350 - 11905: 0xD8D4,
+ 21351 - 11905: 0xCED4,
+ 21352 - 11905: 0x856C,
+ 21353 - 11905: 0xDAE0,
+ 21354 - 11905: 0x856D,
+ 21355 - 11905: 0xCEC0,
+ 21356 - 11905: 0x856E,
+ 21357 - 11905: 0x856F,
+ 21358 - 11905: 0xD8B4,
+ 21359 - 11905: 0xC3AE,
+ 21360 - 11905: 0xD3A1,
+ 21361 - 11905: 0xCEA3,
+ 21362 - 11905: 0x8570,
+ 21363 - 11905: 0xBCB4,
+ 21364 - 11905: 0xC8B4,
+ 21365 - 11905: 0xC2D1,
+ 21366 - 11905: 0x8571,
+ 21367 - 11905: 0xBEED,
+ 21368 - 11905: 0xD0B6,
+ 21369 - 11905: 0x8572,
+ 21370 - 11905: 0xDAE1,
+ 21371 - 11905: 0x8573,
+ 21372 - 11905: 0x8574,
+ 21373 - 11905: 0x8575,
+ 21374 - 11905: 0x8576,
+ 21375 - 11905: 0xC7E4,
+ 21376 - 11905: 0x8577,
+ 21377 - 11905: 0x8578,
+ 21378 - 11905: 0xB3A7,
+ 21379 - 11905: 0x8579,
+ 21380 - 11905: 0xB6F2,
+ 21381 - 11905: 0xCCFC,
+ 21382 - 11905: 0xC0FA,
+ 21383 - 11905: 0x857A,
+ 21384 - 11905: 0x857B,
+ 21385 - 11905: 0xC0F7,
+ 21386 - 11905: 0x857C,
+ 21387 - 11905: 0xD1B9,
+ 21388 - 11905: 0xD1E1,
+ 21389 - 11905: 0xD8C7,
+ 21390 - 11905: 0x857D,
+ 21391 - 11905: 0x857E,
+ 21392 - 11905: 0x8580,
+ 21393 - 11905: 0x8581,
+ 21394 - 11905: 0x8582,
+ 21395 - 11905: 0x8583,
+ 21396 - 11905: 0x8584,
+ 21397 - 11905: 0xB2DE,
+ 21398 - 11905: 0x8585,
+ 21399 - 11905: 0x8586,
+ 21400 - 11905: 0xC0E5,
+ 21401 - 11905: 0x8587,
+ 21402 - 11905: 0xBAF1,
+ 21403 - 11905: 0x8588,
+ 21404 - 11905: 0x8589,
+ 21405 - 11905: 0xD8C8,
+ 21406 - 11905: 0x858A,
+ 21407 - 11905: 0xD4AD,
+ 21408 - 11905: 0x858B,
+ 21409 - 11905: 0x858C,
+ 21410 - 11905: 0xCFE1,
+ 21411 - 11905: 0xD8C9,
+ 21412 - 11905: 0x858D,
+ 21413 - 11905: 0xD8CA,
+ 21414 - 11905: 0xCFC3,
+ 21415 - 11905: 0x858E,
+ 21416 - 11905: 0xB3F8,
+ 21417 - 11905: 0xBEC7,
+ 21418 - 11905: 0x858F,
+ 21419 - 11905: 0x8590,
+ 21420 - 11905: 0x8591,
+ 21421 - 11905: 0x8592,
+ 21422 - 11905: 0xD8CB,
+ 21423 - 11905: 0x8593,
+ 21424 - 11905: 0x8594,
+ 21425 - 11905: 0x8595,
+ 21426 - 11905: 0x8596,
+ 21427 - 11905: 0x8597,
+ 21428 - 11905: 0x8598,
+ 21429 - 11905: 0x8599,
+ 21430 - 11905: 0xDBCC,
+ 21431 - 11905: 0x859A,
+ 21432 - 11905: 0x859B,
+ 21433 - 11905: 0x859C,
+ 21434 - 11905: 0x859D,
+ 21435 - 11905: 0xC8A5,
+ 21436 - 11905: 0x859E,
+ 21437 - 11905: 0x859F,
+ 21438 - 11905: 0x85A0,
+ 21439 - 11905: 0xCFD8,
+ 21440 - 11905: 0x85A1,
+ 21441 - 11905: 0xC8FE,
+ 21442 - 11905: 0xB2CE,
+ 21443 - 11905: 0x85A2,
+ 21444 - 11905: 0x85A3,
+ 21445 - 11905: 0x85A4,
+ 21446 - 11905: 0x85A5,
+ 21447 - 11905: 0x85A6,
+ 21448 - 11905: 0xD3D6,
+ 21449 - 11905: 0xB2E6,
+ 21450 - 11905: 0xBCB0,
+ 21451 - 11905: 0xD3D1,
+ 21452 - 11905: 0xCBAB,
+ 21453 - 11905: 0xB7B4,
+ 21454 - 11905: 0x85A7,
+ 21455 - 11905: 0x85A8,
+ 21456 - 11905: 0x85A9,
+ 21457 - 11905: 0xB7A2,
+ 21458 - 11905: 0x85AA,
+ 21459 - 11905: 0x85AB,
+ 21460 - 11905: 0xCAE5,
+ 21461 - 11905: 0x85AC,
+ 21462 - 11905: 0xC8A1,
+ 21463 - 11905: 0xCADC,
+ 21464 - 11905: 0xB1E4,
+ 21465 - 11905: 0xD0F0,
+ 21466 - 11905: 0x85AD,
+ 21467 - 11905: 0xC5D1,
+ 21468 - 11905: 0x85AE,
+ 21469 - 11905: 0x85AF,
+ 21470 - 11905: 0x85B0,
+ 21471 - 11905: 0xDBC5,
+ 21472 - 11905: 0xB5FE,
+ 21473 - 11905: 0x85B1,
+ 21474 - 11905: 0x85B2,
+ 21475 - 11905: 0xBFDA,
+ 21476 - 11905: 0xB9C5,
+ 21477 - 11905: 0xBEE4,
+ 21478 - 11905: 0xC1ED,
+ 21479 - 11905: 0x85B3,
+ 21480 - 11905: 0xDFB6,
+ 21481 - 11905: 0xDFB5,
+ 21482 - 11905: 0xD6BB,
+ 21483 - 11905: 0xBDD0,
+ 21484 - 11905: 0xD5D9,
+ 21485 - 11905: 0xB0C8,
+ 21486 - 11905: 0xB6A3,
+ 21487 - 11905: 0xBFC9,
+ 21488 - 11905: 0xCCA8,
+ 21489 - 11905: 0xDFB3,
+ 21490 - 11905: 0xCAB7,
+ 21491 - 11905: 0xD3D2,
+ 21492 - 11905: 0x85B4,
+ 21493 - 11905: 0xD8CF,
+ 21494 - 11905: 0xD2B6,
+ 21495 - 11905: 0xBAC5,
+ 21496 - 11905: 0xCBBE,
+ 21497 - 11905: 0xCCBE,
+ 21498 - 11905: 0x85B5,
+ 21499 - 11905: 0xDFB7,
+ 21500 - 11905: 0xB5F0,
+ 21501 - 11905: 0xDFB4,
+ 21502 - 11905: 0x85B6,
+ 21503 - 11905: 0x85B7,
+ 21504 - 11905: 0x85B8,
+ 21505 - 11905: 0xD3F5,
+ 21506 - 11905: 0x85B9,
+ 21507 - 11905: 0xB3D4,
+ 21508 - 11905: 0xB8F7,
+ 21509 - 11905: 0x85BA,
+ 21510 - 11905: 0xDFBA,
+ 21511 - 11905: 0x85BB,
+ 21512 - 11905: 0xBACF,
+ 21513 - 11905: 0xBCAA,
+ 21514 - 11905: 0xB5F5,
+ 21515 - 11905: 0x85BC,
+ 21516 - 11905: 0xCDAC,
+ 21517 - 11905: 0xC3FB,
+ 21518 - 11905: 0xBAF3,
+ 21519 - 11905: 0xC0F4,
+ 21520 - 11905: 0xCDC2,
+ 21521 - 11905: 0xCFF2,
+ 21522 - 11905: 0xDFB8,
+ 21523 - 11905: 0xCFC5,
+ 21524 - 11905: 0x85BD,
+ 21525 - 11905: 0xC2C0,
+ 21526 - 11905: 0xDFB9,
+ 21527 - 11905: 0xC2F0,
+ 21528 - 11905: 0x85BE,
+ 21529 - 11905: 0x85BF,
+ 21530 - 11905: 0x85C0,
+ 21531 - 11905: 0xBEFD,
+ 21532 - 11905: 0x85C1,
+ 21533 - 11905: 0xC1DF,
+ 21534 - 11905: 0xCDCC,
+ 21535 - 11905: 0xD2F7,
+ 21536 - 11905: 0xB7CD,
+ 21537 - 11905: 0xDFC1,
+ 21538 - 11905: 0x85C2,
+ 21539 - 11905: 0xDFC4,
+ 21540 - 11905: 0x85C3,
+ 21541 - 11905: 0x85C4,
+ 21542 - 11905: 0xB7F1,
+ 21543 - 11905: 0xB0C9,
+ 21544 - 11905: 0xB6D6,
+ 21545 - 11905: 0xB7D4,
+ 21546 - 11905: 0x85C5,
+ 21547 - 11905: 0xBAAC,
+ 21548 - 11905: 0xCCFD,
+ 21549 - 11905: 0xBFD4,
+ 21550 - 11905: 0xCBB1,
+ 21551 - 11905: 0xC6F4,
+ 21552 - 11905: 0x85C6,
+ 21553 - 11905: 0xD6A8,
+ 21554 - 11905: 0xDFC5,
+ 21555 - 11905: 0x85C7,
+ 21556 - 11905: 0xCEE2,
+ 21557 - 11905: 0xB3B3,
+ 21558 - 11905: 0x85C8,
+ 21559 - 11905: 0x85C9,
+ 21560 - 11905: 0xCEFC,
+ 21561 - 11905: 0xB4B5,
+ 21562 - 11905: 0x85CA,
+ 21563 - 11905: 0xCEC7,
+ 21564 - 11905: 0xBAF0,
+ 21565 - 11905: 0x85CB,
+ 21566 - 11905: 0xCEE1,
+ 21567 - 11905: 0x85CC,
+ 21568 - 11905: 0xD1BD,
+ 21569 - 11905: 0x85CD,
+ 21570 - 11905: 0x85CE,
+ 21571 - 11905: 0xDFC0,
+ 21572 - 11905: 0x85CF,
+ 21573 - 11905: 0x85D0,
+ 21574 - 11905: 0xB4F4,
+ 21575 - 11905: 0x85D1,
+ 21576 - 11905: 0xB3CA,
+ 21577 - 11905: 0x85D2,
+ 21578 - 11905: 0xB8E6,
+ 21579 - 11905: 0xDFBB,
+ 21580 - 11905: 0x85D3,
+ 21581 - 11905: 0x85D4,
+ 21582 - 11905: 0x85D5,
+ 21583 - 11905: 0x85D6,
+ 21584 - 11905: 0xC4C5,
+ 21585 - 11905: 0x85D7,
+ 21586 - 11905: 0xDFBC,
+ 21587 - 11905: 0xDFBD,
+ 21588 - 11905: 0xDFBE,
+ 21589 - 11905: 0xC5BB,
+ 21590 - 11905: 0xDFBF,
+ 21591 - 11905: 0xDFC2,
+ 21592 - 11905: 0xD4B1,
+ 21593 - 11905: 0xDFC3,
+ 21594 - 11905: 0x85D8,
+ 21595 - 11905: 0xC7BA,
+ 21596 - 11905: 0xCED8,
+ 21597 - 11905: 0x85D9,
+ 21598 - 11905: 0x85DA,
+ 21599 - 11905: 0x85DB,
+ 21600 - 11905: 0x85DC,
+ 21601 - 11905: 0x85DD,
+ 21602 - 11905: 0xC4D8,
+ 21603 - 11905: 0x85DE,
+ 21604 - 11905: 0xDFCA,
+ 21605 - 11905: 0x85DF,
+ 21606 - 11905: 0xDFCF,
+ 21607 - 11905: 0x85E0,
+ 21608 - 11905: 0xD6DC,
+ 21609 - 11905: 0x85E1,
+ 21610 - 11905: 0x85E2,
+ 21611 - 11905: 0x85E3,
+ 21612 - 11905: 0x85E4,
+ 21613 - 11905: 0x85E5,
+ 21614 - 11905: 0x85E6,
+ 21615 - 11905: 0x85E7,
+ 21616 - 11905: 0x85E8,
+ 21617 - 11905: 0xDFC9,
+ 21618 - 11905: 0xDFDA,
+ 21619 - 11905: 0xCEB6,
+ 21620 - 11905: 0x85E9,
+ 21621 - 11905: 0xBAC7,
+ 21622 - 11905: 0xDFCE,
+ 21623 - 11905: 0xDFC8,
+ 21624 - 11905: 0xC5DE,
+ 21625 - 11905: 0x85EA,
+ 21626 - 11905: 0x85EB,
+ 21627 - 11905: 0xC9EB,
+ 21628 - 11905: 0xBAF4,
+ 21629 - 11905: 0xC3FC,
+ 21630 - 11905: 0x85EC,
+ 21631 - 11905: 0x85ED,
+ 21632 - 11905: 0xBED7,
+ 21633 - 11905: 0x85EE,
+ 21634 - 11905: 0xDFC6,
+ 21635 - 11905: 0x85EF,
+ 21636 - 11905: 0xDFCD,
+ 21637 - 11905: 0x85F0,
+ 21638 - 11905: 0xC5D8,
+ 21639 - 11905: 0x85F1,
+ 21640 - 11905: 0x85F2,
+ 21641 - 11905: 0x85F3,
+ 21642 - 11905: 0x85F4,
+ 21643 - 11905: 0xD5A6,
+ 21644 - 11905: 0xBACD,
+ 21645 - 11905: 0x85F5,
+ 21646 - 11905: 0xBECC,
+ 21647 - 11905: 0xD3BD,
+ 21648 - 11905: 0xB8C0,
+ 21649 - 11905: 0x85F6,
+ 21650 - 11905: 0xD6E4,
+ 21651 - 11905: 0x85F7,
+ 21652 - 11905: 0xDFC7,
+ 21653 - 11905: 0xB9BE,
+ 21654 - 11905: 0xBFA7,
+ 21655 - 11905: 0x85F8,
+ 21656 - 11905: 0x85F9,
+ 21657 - 11905: 0xC1FC,
+ 21658 - 11905: 0xDFCB,
+ 21659 - 11905: 0xDFCC,
+ 21660 - 11905: 0x85FA,
+ 21661 - 11905: 0xDFD0,
+ 21662 - 11905: 0x85FB,
+ 21663 - 11905: 0x85FC,
+ 21664 - 11905: 0x85FD,
+ 21665 - 11905: 0x85FE,
+ 21666 - 11905: 0x8640,
+ 21667 - 11905: 0xDFDB,
+ 21668 - 11905: 0xDFE5,
+ 21669 - 11905: 0x8641,
+ 21670 - 11905: 0xDFD7,
+ 21671 - 11905: 0xDFD6,
+ 21672 - 11905: 0xD7C9,
+ 21673 - 11905: 0xDFE3,
+ 21674 - 11905: 0xDFE4,
+ 21675 - 11905: 0xE5EB,
+ 21676 - 11905: 0xD2A7,
+ 21677 - 11905: 0xDFD2,
+ 21678 - 11905: 0x8642,
+ 21679 - 11905: 0xBFA9,
+ 21680 - 11905: 0x8643,
+ 21681 - 11905: 0xD4DB,
+ 21682 - 11905: 0x8644,
+ 21683 - 11905: 0xBFC8,
+ 21684 - 11905: 0xDFD4,
+ 21685 - 11905: 0x8645,
+ 21686 - 11905: 0x8646,
+ 21687 - 11905: 0x8647,
+ 21688 - 11905: 0xCFCC,
+ 21689 - 11905: 0x8648,
+ 21690 - 11905: 0x8649,
+ 21691 - 11905: 0xDFDD,
+ 21692 - 11905: 0x864A,
+ 21693 - 11905: 0xD1CA,
+ 21694 - 11905: 0x864B,
+ 21695 - 11905: 0xDFDE,
+ 21696 - 11905: 0xB0A7,
+ 21697 - 11905: 0xC6B7,
+ 21698 - 11905: 0xDFD3,
+ 21699 - 11905: 0x864C,
+ 21700 - 11905: 0xBAE5,
+ 21701 - 11905: 0x864D,
+ 21702 - 11905: 0xB6DF,
+ 21703 - 11905: 0xCDDB,
+ 21704 - 11905: 0xB9FE,
+ 21705 - 11905: 0xD4D5,
+ 21706 - 11905: 0x864E,
+ 21707 - 11905: 0x864F,
+ 21708 - 11905: 0xDFDF,
+ 21709 - 11905: 0xCFEC,
+ 21710 - 11905: 0xB0A5,
+ 21711 - 11905: 0xDFE7,
+ 21712 - 11905: 0xDFD1,
+ 21713 - 11905: 0xD1C6,
+ 21714 - 11905: 0xDFD5,
+ 21715 - 11905: 0xDFD8,
+ 21716 - 11905: 0xDFD9,
+ 21717 - 11905: 0xDFDC,
+ 21718 - 11905: 0x8650,
+ 21719 - 11905: 0xBBA9,
+ 21720 - 11905: 0x8651,
+ 21721 - 11905: 0xDFE0,
+ 21722 - 11905: 0xDFE1,
+ 21723 - 11905: 0x8652,
+ 21724 - 11905: 0xDFE2,
+ 21725 - 11905: 0xDFE6,
+ 21726 - 11905: 0xDFE8,
+ 21727 - 11905: 0xD3B4,
+ 21728 - 11905: 0x8653,
+ 21729 - 11905: 0x8654,
+ 21730 - 11905: 0x8655,
+ 21731 - 11905: 0x8656,
+ 21732 - 11905: 0x8657,
+ 21733 - 11905: 0xB8E7,
+ 21734 - 11905: 0xC5B6,
+ 21735 - 11905: 0xDFEA,
+ 21736 - 11905: 0xC9DA,
+ 21737 - 11905: 0xC1A8,
+ 21738 - 11905: 0xC4C4,
+ 21739 - 11905: 0x8658,
+ 21740 - 11905: 0x8659,
+ 21741 - 11905: 0xBFDE,
+ 21742 - 11905: 0xCFF8,
+ 21743 - 11905: 0x865A,
+ 21744 - 11905: 0x865B,
+ 21745 - 11905: 0x865C,
+ 21746 - 11905: 0xD5DC,
+ 21747 - 11905: 0xDFEE,
+ 21748 - 11905: 0x865D,
+ 21749 - 11905: 0x865E,
+ 21750 - 11905: 0x865F,
+ 21751 - 11905: 0x8660,
+ 21752 - 11905: 0x8661,
+ 21753 - 11905: 0x8662,
+ 21754 - 11905: 0xB2B8,
+ 21755 - 11905: 0x8663,
+ 21756 - 11905: 0xBADF,
+ 21757 - 11905: 0xDFEC,
+ 21758 - 11905: 0x8664,
+ 21759 - 11905: 0xDBC1,
+ 21760 - 11905: 0x8665,
+ 21761 - 11905: 0xD1E4,
+ 21762 - 11905: 0x8666,
+ 21763 - 11905: 0x8667,
+ 21764 - 11905: 0x8668,
+ 21765 - 11905: 0x8669,
+ 21766 - 11905: 0xCBF4,
+ 21767 - 11905: 0xB4BD,
+ 21768 - 11905: 0x866A,
+ 21769 - 11905: 0xB0A6,
+ 21770 - 11905: 0x866B,
+ 21771 - 11905: 0x866C,
+ 21772 - 11905: 0x866D,
+ 21773 - 11905: 0x866E,
+ 21774 - 11905: 0x866F,
+ 21775 - 11905: 0xDFF1,
+ 21776 - 11905: 0xCCC6,
+ 21777 - 11905: 0xDFF2,
+ 21778 - 11905: 0x8670,
+ 21779 - 11905: 0x8671,
+ 21780 - 11905: 0xDFED,
+ 21781 - 11905: 0x8672,
+ 21782 - 11905: 0x8673,
+ 21783 - 11905: 0x8674,
+ 21784 - 11905: 0x8675,
+ 21785 - 11905: 0x8676,
+ 21786 - 11905: 0x8677,
+ 21787 - 11905: 0xDFE9,
+ 21788 - 11905: 0x8678,
+ 21789 - 11905: 0x8679,
+ 21790 - 11905: 0x867A,
+ 21791 - 11905: 0x867B,
+ 21792 - 11905: 0xDFEB,
+ 21793 - 11905: 0x867C,
+ 21794 - 11905: 0xDFEF,
+ 21795 - 11905: 0xDFF0,
+ 21796 - 11905: 0xBBBD,
+ 21797 - 11905: 0x867D,
+ 21798 - 11905: 0x867E,
+ 21799 - 11905: 0xDFF3,
+ 21800 - 11905: 0x8680,
+ 21801 - 11905: 0x8681,
+ 21802 - 11905: 0xDFF4,
+ 21803 - 11905: 0x8682,
+ 21804 - 11905: 0xBBA3,
+ 21805 - 11905: 0x8683,
+ 21806 - 11905: 0xCADB,
+ 21807 - 11905: 0xCEA8,
+ 21808 - 11905: 0xE0A7,
+ 21809 - 11905: 0xB3AA,
+ 21810 - 11905: 0x8684,
+ 21811 - 11905: 0xE0A6,
+ 21812 - 11905: 0x8685,
+ 21813 - 11905: 0x8686,
+ 21814 - 11905: 0x8687,
+ 21815 - 11905: 0xE0A1,
+ 21816 - 11905: 0x8688,
+ 21817 - 11905: 0x8689,
+ 21818 - 11905: 0x868A,
+ 21819 - 11905: 0x868B,
+ 21820 - 11905: 0xDFFE,
+ 21821 - 11905: 0x868C,
+ 21822 - 11905: 0xCDD9,
+ 21823 - 11905: 0xDFFC,
+ 21824 - 11905: 0x868D,
+ 21825 - 11905: 0xDFFA,
+ 21826 - 11905: 0x868E,
+ 21827 - 11905: 0xBFD0,
+ 21828 - 11905: 0xD7C4,
+ 21829 - 11905: 0x868F,
+ 21830 - 11905: 0xC9CC,
+ 21831 - 11905: 0x8690,
+ 21832 - 11905: 0x8691,
+ 21833 - 11905: 0xDFF8,
+ 21834 - 11905: 0xB0A1,
+ 21835 - 11905: 0x8692,
+ 21836 - 11905: 0x8693,
+ 21837 - 11905: 0x8694,
+ 21838 - 11905: 0x8695,
+ 21839 - 11905: 0x8696,
+ 21840 - 11905: 0xDFFD,
+ 21841 - 11905: 0x8697,
+ 21842 - 11905: 0x8698,
+ 21843 - 11905: 0x8699,
+ 21844 - 11905: 0x869A,
+ 21845 - 11905: 0xDFFB,
+ 21846 - 11905: 0xE0A2,
+ 21847 - 11905: 0x869B,
+ 21848 - 11905: 0x869C,
+ 21849 - 11905: 0x869D,
+ 21850 - 11905: 0x869E,
+ 21851 - 11905: 0x869F,
+ 21852 - 11905: 0xE0A8,
+ 21853 - 11905: 0x86A0,
+ 21854 - 11905: 0x86A1,
+ 21855 - 11905: 0x86A2,
+ 21856 - 11905: 0x86A3,
+ 21857 - 11905: 0xB7C8,
+ 21858 - 11905: 0x86A4,
+ 21859 - 11905: 0x86A5,
+ 21860 - 11905: 0xC6A1,
+ 21861 - 11905: 0xC9B6,
+ 21862 - 11905: 0xC0B2,
+ 21863 - 11905: 0xDFF5,
+ 21864 - 11905: 0x86A6,
+ 21865 - 11905: 0x86A7,
+ 21866 - 11905: 0xC5BE,
+ 21867 - 11905: 0x86A8,
+ 21868 - 11905: 0xD8C4,
+ 21869 - 11905: 0xDFF9,
+ 21870 - 11905: 0xC4F6,
+ 21871 - 11905: 0x86A9,
+ 21872 - 11905: 0x86AA,
+ 21873 - 11905: 0x86AB,
+ 21874 - 11905: 0x86AC,
+ 21875 - 11905: 0x86AD,
+ 21876 - 11905: 0x86AE,
+ 21877 - 11905: 0xE0A3,
+ 21878 - 11905: 0xE0A4,
+ 21879 - 11905: 0xE0A5,
+ 21880 - 11905: 0xD0A5,
+ 21881 - 11905: 0x86AF,
+ 21882 - 11905: 0x86B0,
+ 21883 - 11905: 0xE0B4,
+ 21884 - 11905: 0xCCE4,
+ 21885 - 11905: 0x86B1,
+ 21886 - 11905: 0xE0B1,
+ 21887 - 11905: 0x86B2,
+ 21888 - 11905: 0xBFA6,
+ 21889 - 11905: 0xE0AF,
+ 21890 - 11905: 0xCEB9,
+ 21891 - 11905: 0xE0AB,
+ 21892 - 11905: 0xC9C6,
+ 21893 - 11905: 0x86B3,
+ 21894 - 11905: 0x86B4,
+ 21895 - 11905: 0xC0AE,
+ 21896 - 11905: 0xE0AE,
+ 21897 - 11905: 0xBAED,
+ 21898 - 11905: 0xBAB0,
+ 21899 - 11905: 0xE0A9,
+ 21900 - 11905: 0x86B5,
+ 21901 - 11905: 0x86B6,
+ 21902 - 11905: 0x86B7,
+ 21903 - 11905: 0xDFF6,
+ 21904 - 11905: 0x86B8,
+ 21905 - 11905: 0xE0B3,
+ 21906 - 11905: 0x86B9,
+ 21907 - 11905: 0x86BA,
+ 21908 - 11905: 0xE0B8,
+ 21909 - 11905: 0x86BB,
+ 21910 - 11905: 0x86BC,
+ 21911 - 11905: 0x86BD,
+ 21912 - 11905: 0xB4AD,
+ 21913 - 11905: 0xE0B9,
+ 21914 - 11905: 0x86BE,
+ 21915 - 11905: 0x86BF,
+ 21916 - 11905: 0xCFB2,
+ 21917 - 11905: 0xBAC8,
+ 21918 - 11905: 0x86C0,
+ 21919 - 11905: 0xE0B0,
+ 21920 - 11905: 0x86C1,
+ 21921 - 11905: 0x86C2,
+ 21922 - 11905: 0x86C3,
+ 21923 - 11905: 0x86C4,
+ 21924 - 11905: 0x86C5,
+ 21925 - 11905: 0x86C6,
+ 21926 - 11905: 0x86C7,
+ 21927 - 11905: 0xD0FA,
+ 21928 - 11905: 0x86C8,
+ 21929 - 11905: 0x86C9,
+ 21930 - 11905: 0x86CA,
+ 21931 - 11905: 0x86CB,
+ 21932 - 11905: 0x86CC,
+ 21933 - 11905: 0x86CD,
+ 21934 - 11905: 0x86CE,
+ 21935 - 11905: 0x86CF,
+ 21936 - 11905: 0x86D0,
+ 21937 - 11905: 0xE0AC,
+ 21938 - 11905: 0x86D1,
+ 21939 - 11905: 0xD4FB,
+ 21940 - 11905: 0x86D2,
+ 21941 - 11905: 0xDFF7,
+ 21942 - 11905: 0x86D3,
+ 21943 - 11905: 0xC5E7,
+ 21944 - 11905: 0x86D4,
+ 21945 - 11905: 0xE0AD,
+ 21946 - 11905: 0x86D5,
+ 21947 - 11905: 0xD3F7,
+ 21948 - 11905: 0x86D6,
+ 21949 - 11905: 0xE0B6,
+ 21950 - 11905: 0xE0B7,
+ 21951 - 11905: 0x86D7,
+ 21952 - 11905: 0x86D8,
+ 21953 - 11905: 0x86D9,
+ 21954 - 11905: 0x86DA,
+ 21955 - 11905: 0x86DB,
+ 21956 - 11905: 0xE0C4,
+ 21957 - 11905: 0xD0E1,
+ 21958 - 11905: 0x86DC,
+ 21959 - 11905: 0x86DD,
+ 21960 - 11905: 0x86DE,
+ 21961 - 11905: 0xE0BC,
+ 21962 - 11905: 0x86DF,
+ 21963 - 11905: 0x86E0,
+ 21964 - 11905: 0xE0C9,
+ 21965 - 11905: 0xE0CA,
+ 21966 - 11905: 0x86E1,
+ 21967 - 11905: 0x86E2,
+ 21968 - 11905: 0x86E3,
+ 21969 - 11905: 0xE0BE,
+ 21970 - 11905: 0xE0AA,
+ 21971 - 11905: 0xC9A4,
+ 21972 - 11905: 0xE0C1,
+ 21973 - 11905: 0x86E4,
+ 21974 - 11905: 0xE0B2,
+ 21975 - 11905: 0x86E5,
+ 21976 - 11905: 0x86E6,
+ 21977 - 11905: 0x86E7,
+ 21978 - 11905: 0x86E8,
+ 21979 - 11905: 0x86E9,
+ 21980 - 11905: 0xCAC8,
+ 21981 - 11905: 0xE0C3,
+ 21982 - 11905: 0x86EA,
+ 21983 - 11905: 0xE0B5,
+ 21984 - 11905: 0x86EB,
+ 21985 - 11905: 0xCECB,
+ 21986 - 11905: 0x86EC,
+ 21987 - 11905: 0xCBC3,
+ 21988 - 11905: 0xE0CD,
+ 21989 - 11905: 0xE0C6,
+ 21990 - 11905: 0xE0C2,
+ 21991 - 11905: 0x86ED,
+ 21992 - 11905: 0xE0CB,
+ 21993 - 11905: 0x86EE,
+ 21994 - 11905: 0xE0BA,
+ 21995 - 11905: 0xE0BF,
+ 21996 - 11905: 0xE0C0,
+ 21997 - 11905: 0x86EF,
+ 21998 - 11905: 0x86F0,
+ 21999 - 11905: 0xE0C5,
+ 22000 - 11905: 0x86F1,
+ 22001 - 11905: 0x86F2,
+ 22002 - 11905: 0xE0C7,
+ 22003 - 11905: 0xE0C8,
+ 22004 - 11905: 0x86F3,
+ 22005 - 11905: 0xE0CC,
+ 22006 - 11905: 0x86F4,
+ 22007 - 11905: 0xE0BB,
+ 22008 - 11905: 0x86F5,
+ 22009 - 11905: 0x86F6,
+ 22010 - 11905: 0x86F7,
+ 22011 - 11905: 0x86F8,
+ 22012 - 11905: 0x86F9,
+ 22013 - 11905: 0xCBD4,
+ 22014 - 11905: 0xE0D5,
+ 22015 - 11905: 0x86FA,
+ 22016 - 11905: 0xE0D6,
+ 22017 - 11905: 0xE0D2,
+ 22018 - 11905: 0x86FB,
+ 22019 - 11905: 0x86FC,
+ 22020 - 11905: 0x86FD,
+ 22021 - 11905: 0x86FE,
+ 22022 - 11905: 0x8740,
+ 22023 - 11905: 0x8741,
+ 22024 - 11905: 0xE0D0,
+ 22025 - 11905: 0xBCCE,
+ 22026 - 11905: 0x8742,
+ 22027 - 11905: 0x8743,
+ 22028 - 11905: 0xE0D1,
+ 22029 - 11905: 0x8744,
+ 22030 - 11905: 0xB8C2,
+ 22031 - 11905: 0xD8C5,
+ 22032 - 11905: 0x8745,
+ 22033 - 11905: 0x8746,
+ 22034 - 11905: 0x8747,
+ 22035 - 11905: 0x8748,
+ 22036 - 11905: 0x8749,
+ 22037 - 11905: 0x874A,
+ 22038 - 11905: 0x874B,
+ 22039 - 11905: 0x874C,
+ 22040 - 11905: 0xD0EA,
+ 22041 - 11905: 0x874D,
+ 22042 - 11905: 0x874E,
+ 22043 - 11905: 0xC2EF,
+ 22044 - 11905: 0x874F,
+ 22045 - 11905: 0x8750,
+ 22046 - 11905: 0xE0CF,
+ 22047 - 11905: 0xE0BD,
+ 22048 - 11905: 0x8751,
+ 22049 - 11905: 0x8752,
+ 22050 - 11905: 0x8753,
+ 22051 - 11905: 0xE0D4,
+ 22052 - 11905: 0xE0D3,
+ 22053 - 11905: 0x8754,
+ 22054 - 11905: 0x8755,
+ 22055 - 11905: 0xE0D7,
+ 22056 - 11905: 0x8756,
+ 22057 - 11905: 0x8757,
+ 22058 - 11905: 0x8758,
+ 22059 - 11905: 0x8759,
+ 22060 - 11905: 0xE0DC,
+ 22061 - 11905: 0xE0D8,
+ 22062 - 11905: 0x875A,
+ 22063 - 11905: 0x875B,
+ 22064 - 11905: 0x875C,
+ 22065 - 11905: 0xD6F6,
+ 22066 - 11905: 0xB3B0,
+ 22067 - 11905: 0x875D,
+ 22068 - 11905: 0xD7EC,
+ 22069 - 11905: 0x875E,
+ 22070 - 11905: 0xCBBB,
+ 22071 - 11905: 0x875F,
+ 22072 - 11905: 0x8760,
+ 22073 - 11905: 0xE0DA,
+ 22074 - 11905: 0x8761,
+ 22075 - 11905: 0xCEFB,
+ 22076 - 11905: 0x8762,
+ 22077 - 11905: 0x8763,
+ 22078 - 11905: 0x8764,
+ 22079 - 11905: 0xBAD9,
+ 22080 - 11905: 0x8765,
+ 22081 - 11905: 0x8766,
+ 22082 - 11905: 0x8767,
+ 22083 - 11905: 0x8768,
+ 22084 - 11905: 0x8769,
+ 22085 - 11905: 0x876A,
+ 22086 - 11905: 0x876B,
+ 22087 - 11905: 0x876C,
+ 22088 - 11905: 0x876D,
+ 22089 - 11905: 0x876E,
+ 22090 - 11905: 0x876F,
+ 22091 - 11905: 0x8770,
+ 22092 - 11905: 0xE0E1,
+ 22093 - 11905: 0xE0DD,
+ 22094 - 11905: 0xD2AD,
+ 22095 - 11905: 0x8771,
+ 22096 - 11905: 0x8772,
+ 22097 - 11905: 0x8773,
+ 22098 - 11905: 0x8774,
+ 22099 - 11905: 0x8775,
+ 22100 - 11905: 0xE0E2,
+ 22101 - 11905: 0x8776,
+ 22102 - 11905: 0x8777,
+ 22103 - 11905: 0xE0DB,
+ 22104 - 11905: 0xE0D9,
+ 22105 - 11905: 0xE0DF,
+ 22106 - 11905: 0x8778,
+ 22107 - 11905: 0x8779,
+ 22108 - 11905: 0xE0E0,
+ 22109 - 11905: 0x877A,
+ 22110 - 11905: 0x877B,
+ 22111 - 11905: 0x877C,
+ 22112 - 11905: 0x877D,
+ 22113 - 11905: 0x877E,
+ 22114 - 11905: 0xE0DE,
+ 22115 - 11905: 0x8780,
+ 22116 - 11905: 0xE0E4,
+ 22117 - 11905: 0x8781,
+ 22118 - 11905: 0x8782,
+ 22119 - 11905: 0x8783,
+ 22120 - 11905: 0xC6F7,
+ 22121 - 11905: 0xD8AC,
+ 22122 - 11905: 0xD4EB,
+ 22123 - 11905: 0xE0E6,
+ 22124 - 11905: 0xCAC9,
+ 22125 - 11905: 0x8784,
+ 22126 - 11905: 0x8785,
+ 22127 - 11905: 0x8786,
+ 22128 - 11905: 0x8787,
+ 22129 - 11905: 0xE0E5,
+ 22130 - 11905: 0x8788,
+ 22131 - 11905: 0x8789,
+ 22132 - 11905: 0x878A,
+ 22133 - 11905: 0x878B,
+ 22134 - 11905: 0xB8C1,
+ 22135 - 11905: 0x878C,
+ 22136 - 11905: 0x878D,
+ 22137 - 11905: 0x878E,
+ 22138 - 11905: 0x878F,
+ 22139 - 11905: 0xE0E7,
+ 22140 - 11905: 0xE0E8,
+ 22141 - 11905: 0x8790,
+ 22142 - 11905: 0x8791,
+ 22143 - 11905: 0x8792,
+ 22144 - 11905: 0x8793,
+ 22145 - 11905: 0x8794,
+ 22146 - 11905: 0x8795,
+ 22147 - 11905: 0x8796,
+ 22148 - 11905: 0x8797,
+ 22149 - 11905: 0xE0E9,
+ 22150 - 11905: 0xE0E3,
+ 22151 - 11905: 0x8798,
+ 22152 - 11905: 0x8799,
+ 22153 - 11905: 0x879A,
+ 22154 - 11905: 0x879B,
+ 22155 - 11905: 0x879C,
+ 22156 - 11905: 0x879D,
+ 22157 - 11905: 0x879E,
+ 22158 - 11905: 0xBABF,
+ 22159 - 11905: 0xCCE7,
+ 22160 - 11905: 0x879F,
+ 22161 - 11905: 0x87A0,
+ 22162 - 11905: 0x87A1,
+ 22163 - 11905: 0xE0EA,
+ 22164 - 11905: 0x87A2,
+ 22165 - 11905: 0x87A3,
+ 22166 - 11905: 0x87A4,
+ 22167 - 11905: 0x87A5,
+ 22168 - 11905: 0x87A6,
+ 22169 - 11905: 0x87A7,
+ 22170 - 11905: 0x87A8,
+ 22171 - 11905: 0x87A9,
+ 22172 - 11905: 0x87AA,
+ 22173 - 11905: 0x87AB,
+ 22174 - 11905: 0x87AC,
+ 22175 - 11905: 0x87AD,
+ 22176 - 11905: 0x87AE,
+ 22177 - 11905: 0x87AF,
+ 22178 - 11905: 0x87B0,
+ 22179 - 11905: 0xCFF9,
+ 22180 - 11905: 0x87B1,
+ 22181 - 11905: 0x87B2,
+ 22182 - 11905: 0x87B3,
+ 22183 - 11905: 0x87B4,
+ 22184 - 11905: 0x87B5,
+ 22185 - 11905: 0x87B6,
+ 22186 - 11905: 0x87B7,
+ 22187 - 11905: 0x87B8,
+ 22188 - 11905: 0x87B9,
+ 22189 - 11905: 0x87BA,
+ 22190 - 11905: 0x87BB,
+ 22191 - 11905: 0xE0EB,
+ 22192 - 11905: 0x87BC,
+ 22193 - 11905: 0x87BD,
+ 22194 - 11905: 0x87BE,
+ 22195 - 11905: 0x87BF,
+ 22196 - 11905: 0x87C0,
+ 22197 - 11905: 0x87C1,
+ 22198 - 11905: 0x87C2,
+ 22199 - 11905: 0xC8C2,
+ 22200 - 11905: 0x87C3,
+ 22201 - 11905: 0x87C4,
+ 22202 - 11905: 0x87C5,
+ 22203 - 11905: 0x87C6,
+ 22204 - 11905: 0xBDC0,
+ 22205 - 11905: 0x87C7,
+ 22206 - 11905: 0x87C8,
+ 22207 - 11905: 0x87C9,
+ 22208 - 11905: 0x87CA,
+ 22209 - 11905: 0x87CB,
+ 22210 - 11905: 0x87CC,
+ 22211 - 11905: 0x87CD,
+ 22212 - 11905: 0x87CE,
+ 22213 - 11905: 0x87CF,
+ 22214 - 11905: 0x87D0,
+ 22215 - 11905: 0x87D1,
+ 22216 - 11905: 0x87D2,
+ 22217 - 11905: 0x87D3,
+ 22218 - 11905: 0xC4D2,
+ 22219 - 11905: 0x87D4,
+ 22220 - 11905: 0x87D5,
+ 22221 - 11905: 0x87D6,
+ 22222 - 11905: 0x87D7,
+ 22223 - 11905: 0x87D8,
+ 22224 - 11905: 0x87D9,
+ 22225 - 11905: 0x87DA,
+ 22226 - 11905: 0x87DB,
+ 22227 - 11905: 0x87DC,
+ 22228 - 11905: 0xE0EC,
+ 22229 - 11905: 0x87DD,
+ 22230 - 11905: 0x87DE,
+ 22231 - 11905: 0xE0ED,
+ 22232 - 11905: 0x87DF,
+ 22233 - 11905: 0x87E0,
+ 22234 - 11905: 0xC7F4,
+ 22235 - 11905: 0xCBC4,
+ 22236 - 11905: 0x87E1,
+ 22237 - 11905: 0xE0EE,
+ 22238 - 11905: 0xBBD8,
+ 22239 - 11905: 0xD8B6,
+ 22240 - 11905: 0xD2F2,
+ 22241 - 11905: 0xE0EF,
+ 22242 - 11905: 0xCDC5,
+ 22243 - 11905: 0x87E2,
+ 22244 - 11905: 0xB6DA,
+ 22245 - 11905: 0x87E3,
+ 22246 - 11905: 0x87E4,
+ 22247 - 11905: 0x87E5,
+ 22248 - 11905: 0x87E6,
+ 22249 - 11905: 0x87E7,
+ 22250 - 11905: 0x87E8,
+ 22251 - 11905: 0xE0F1,
+ 22252 - 11905: 0x87E9,
+ 22253 - 11905: 0xD4B0,
+ 22254 - 11905: 0x87EA,
+ 22255 - 11905: 0x87EB,
+ 22256 - 11905: 0xC0A7,
+ 22257 - 11905: 0xB4D1,
+ 22258 - 11905: 0x87EC,
+ 22259 - 11905: 0x87ED,
+ 22260 - 11905: 0xCEA7,
+ 22261 - 11905: 0xE0F0,
+ 22262 - 11905: 0x87EE,
+ 22263 - 11905: 0x87EF,
+ 22264 - 11905: 0x87F0,
+ 22265 - 11905: 0xE0F2,
+ 22266 - 11905: 0xB9CC,
+ 22267 - 11905: 0x87F1,
+ 22268 - 11905: 0x87F2,
+ 22269 - 11905: 0xB9FA,
+ 22270 - 11905: 0xCDBC,
+ 22271 - 11905: 0xE0F3,
+ 22272 - 11905: 0x87F3,
+ 22273 - 11905: 0x87F4,
+ 22274 - 11905: 0x87F5,
+ 22275 - 11905: 0xC6D4,
+ 22276 - 11905: 0xE0F4,
+ 22277 - 11905: 0x87F6,
+ 22278 - 11905: 0xD4B2,
+ 22279 - 11905: 0x87F7,
+ 22280 - 11905: 0xC8A6,
+ 22281 - 11905: 0xE0F6,
+ 22282 - 11905: 0xE0F5,
+ 22283 - 11905: 0x87F8,
+ 22284 - 11905: 0x87F9,
+ 22285 - 11905: 0x87FA,
+ 22286 - 11905: 0x87FB,
+ 22287 - 11905: 0x87FC,
+ 22288 - 11905: 0x87FD,
+ 22289 - 11905: 0x87FE,
+ 22290 - 11905: 0x8840,
+ 22291 - 11905: 0x8841,
+ 22292 - 11905: 0x8842,
+ 22293 - 11905: 0x8843,
+ 22294 - 11905: 0x8844,
+ 22295 - 11905: 0x8845,
+ 22296 - 11905: 0x8846,
+ 22297 - 11905: 0x8847,
+ 22298 - 11905: 0x8848,
+ 22299 - 11905: 0x8849,
+ 22300 - 11905: 0xE0F7,
+ 22301 - 11905: 0x884A,
+ 22302 - 11905: 0x884B,
+ 22303 - 11905: 0xCDC1,
+ 22304 - 11905: 0x884C,
+ 22305 - 11905: 0x884D,
+ 22306 - 11905: 0x884E,
+ 22307 - 11905: 0xCAA5,
+ 22308 - 11905: 0x884F,
+ 22309 - 11905: 0x8850,
+ 22310 - 11905: 0x8851,
+ 22311 - 11905: 0x8852,
+ 22312 - 11905: 0xD4DA,
+ 22313 - 11905: 0xDBD7,
+ 22314 - 11905: 0xDBD9,
+ 22315 - 11905: 0x8853,
+ 22316 - 11905: 0xDBD8,
+ 22317 - 11905: 0xB9E7,
+ 22318 - 11905: 0xDBDC,
+ 22319 - 11905: 0xDBDD,
+ 22320 - 11905: 0xB5D8,
+ 22321 - 11905: 0x8854,
+ 22322 - 11905: 0x8855,
+ 22323 - 11905: 0xDBDA,
+ 22324 - 11905: 0x8856,
+ 22325 - 11905: 0x8857,
+ 22326 - 11905: 0x8858,
+ 22327 - 11905: 0x8859,
+ 22328 - 11905: 0x885A,
+ 22329 - 11905: 0xDBDB,
+ 22330 - 11905: 0xB3A1,
+ 22331 - 11905: 0xDBDF,
+ 22332 - 11905: 0x885B,
+ 22333 - 11905: 0x885C,
+ 22334 - 11905: 0xBBF8,
+ 22335 - 11905: 0x885D,
+ 22336 - 11905: 0xD6B7,
+ 22337 - 11905: 0x885E,
+ 22338 - 11905: 0xDBE0,
+ 22339 - 11905: 0x885F,
+ 22340 - 11905: 0x8860,
+ 22341 - 11905: 0x8861,
+ 22342 - 11905: 0x8862,
+ 22343 - 11905: 0xBEF9,
+ 22344 - 11905: 0x8863,
+ 22345 - 11905: 0x8864,
+ 22346 - 11905: 0xB7BB,
+ 22347 - 11905: 0x8865,
+ 22348 - 11905: 0xDBD0,
+ 22349 - 11905: 0xCCAE,
+ 22350 - 11905: 0xBFB2,
+ 22351 - 11905: 0xBBB5,
+ 22352 - 11905: 0xD7F8,
+ 22353 - 11905: 0xBFD3,
+ 22354 - 11905: 0x8866,
+ 22355 - 11905: 0x8867,
+ 22356 - 11905: 0x8868,
+ 22357 - 11905: 0x8869,
+ 22358 - 11905: 0x886A,
+ 22359 - 11905: 0xBFE9,
+ 22360 - 11905: 0x886B,
+ 22361 - 11905: 0x886C,
+ 22362 - 11905: 0xBCE1,
+ 22363 - 11905: 0xCCB3,
+ 22364 - 11905: 0xDBDE,
+ 22365 - 11905: 0xB0D3,
+ 22366 - 11905: 0xCEEB,
+ 22367 - 11905: 0xB7D8,
+ 22368 - 11905: 0xD7B9,
+ 22369 - 11905: 0xC6C2,
+ 22370 - 11905: 0x886D,
+ 22371 - 11905: 0x886E,
+ 22372 - 11905: 0xC0A4,
+ 22373 - 11905: 0x886F,
+ 22374 - 11905: 0xCCB9,
+ 22375 - 11905: 0x8870,
+ 22376 - 11905: 0xDBE7,
+ 22377 - 11905: 0xDBE1,
+ 22378 - 11905: 0xC6BA,
+ 22379 - 11905: 0xDBE3,
+ 22380 - 11905: 0x8871,
+ 22381 - 11905: 0xDBE8,
+ 22382 - 11905: 0x8872,
+ 22383 - 11905: 0xC5F7,
+ 22384 - 11905: 0x8873,
+ 22385 - 11905: 0x8874,
+ 22386 - 11905: 0x8875,
+ 22387 - 11905: 0xDBEA,
+ 22388 - 11905: 0x8876,
+ 22389 - 11905: 0x8877,
+ 22390 - 11905: 0xDBE9,
+ 22391 - 11905: 0xBFC0,
+ 22392 - 11905: 0x8878,
+ 22393 - 11905: 0x8879,
+ 22394 - 11905: 0x887A,
+ 22395 - 11905: 0xDBE6,
+ 22396 - 11905: 0xDBE5,
+ 22397 - 11905: 0x887B,
+ 22398 - 11905: 0x887C,
+ 22399 - 11905: 0x887D,
+ 22400 - 11905: 0x887E,
+ 22401 - 11905: 0x8880,
+ 22402 - 11905: 0xB4B9,
+ 22403 - 11905: 0xC0AC,
+ 22404 - 11905: 0xC2A2,
+ 22405 - 11905: 0xDBE2,
+ 22406 - 11905: 0xDBE4,
+ 22407 - 11905: 0x8881,
+ 22408 - 11905: 0x8882,
+ 22409 - 11905: 0x8883,
+ 22410 - 11905: 0x8884,
+ 22411 - 11905: 0xD0CD,
+ 22412 - 11905: 0xDBED,
+ 22413 - 11905: 0x8885,
+ 22414 - 11905: 0x8886,
+ 22415 - 11905: 0x8887,
+ 22416 - 11905: 0x8888,
+ 22417 - 11905: 0x8889,
+ 22418 - 11905: 0xC0DD,
+ 22419 - 11905: 0xDBF2,
+ 22420 - 11905: 0x888A,
+ 22421 - 11905: 0x888B,
+ 22422 - 11905: 0x888C,
+ 22423 - 11905: 0x888D,
+ 22424 - 11905: 0x888E,
+ 22425 - 11905: 0x888F,
+ 22426 - 11905: 0x8890,
+ 22427 - 11905: 0xB6E2,
+ 22428 - 11905: 0x8891,
+ 22429 - 11905: 0x8892,
+ 22430 - 11905: 0x8893,
+ 22431 - 11905: 0x8894,
+ 22432 - 11905: 0xDBF3,
+ 22433 - 11905: 0xDBD2,
+ 22434 - 11905: 0xB9B8,
+ 22435 - 11905: 0xD4AB,
+ 22436 - 11905: 0xDBEC,
+ 22437 - 11905: 0x8895,
+ 22438 - 11905: 0xBFD1,
+ 22439 - 11905: 0xDBF0,
+ 22440 - 11905: 0x8896,
+ 22441 - 11905: 0xDBD1,
+ 22442 - 11905: 0x8897,
+ 22443 - 11905: 0xB5E6,
+ 22444 - 11905: 0x8898,
+ 22445 - 11905: 0xDBEB,
+ 22446 - 11905: 0xBFE5,
+ 22447 - 11905: 0x8899,
+ 22448 - 11905: 0x889A,
+ 22449 - 11905: 0x889B,
+ 22450 - 11905: 0xDBEE,
+ 22451 - 11905: 0x889C,
+ 22452 - 11905: 0xDBF1,
+ 22453 - 11905: 0x889D,
+ 22454 - 11905: 0x889E,
+ 22455 - 11905: 0x889F,
+ 22456 - 11905: 0xDBF9,
+ 22457 - 11905: 0x88A0,
+ 22458 - 11905: 0x88A1,
+ 22459 - 11905: 0x88A2,
+ 22460 - 11905: 0x88A3,
+ 22461 - 11905: 0x88A4,
+ 22462 - 11905: 0x88A5,
+ 22463 - 11905: 0x88A6,
+ 22464 - 11905: 0x88A7,
+ 22465 - 11905: 0x88A8,
+ 22466 - 11905: 0xB9A1,
+ 22467 - 11905: 0xB0A3,
+ 22468 - 11905: 0x88A9,
+ 22469 - 11905: 0x88AA,
+ 22470 - 11905: 0x88AB,
+ 22471 - 11905: 0x88AC,
+ 22472 - 11905: 0x88AD,
+ 22473 - 11905: 0x88AE,
+ 22474 - 11905: 0x88AF,
+ 22475 - 11905: 0xC2F1,
+ 22476 - 11905: 0x88B0,
+ 22477 - 11905: 0x88B1,
+ 22478 - 11905: 0xB3C7,
+ 22479 - 11905: 0xDBEF,
+ 22480 - 11905: 0x88B2,
+ 22481 - 11905: 0x88B3,
+ 22482 - 11905: 0xDBF8,
+ 22483 - 11905: 0x88B4,
+ 22484 - 11905: 0xC6D2,
+ 22485 - 11905: 0xDBF4,
+ 22486 - 11905: 0x88B5,
+ 22487 - 11905: 0x88B6,
+ 22488 - 11905: 0xDBF5,
+ 22489 - 11905: 0xDBF7,
+ 22490 - 11905: 0xDBF6,
+ 22491 - 11905: 0x88B7,
+ 22492 - 11905: 0x88B8,
+ 22493 - 11905: 0xDBFE,
+ 22494 - 11905: 0x88B9,
+ 22495 - 11905: 0xD3F2,
+ 22496 - 11905: 0xB2BA,
+ 22497 - 11905: 0x88BA,
+ 22498 - 11905: 0x88BB,
+ 22499 - 11905: 0x88BC,
+ 22500 - 11905: 0xDBFD,
+ 22501 - 11905: 0x88BD,
+ 22502 - 11905: 0x88BE,
+ 22503 - 11905: 0x88BF,
+ 22504 - 11905: 0x88C0,
+ 22505 - 11905: 0x88C1,
+ 22506 - 11905: 0x88C2,
+ 22507 - 11905: 0x88C3,
+ 22508 - 11905: 0x88C4,
+ 22509 - 11905: 0xDCA4,
+ 22510 - 11905: 0x88C5,
+ 22511 - 11905: 0xDBFB,
+ 22512 - 11905: 0x88C6,
+ 22513 - 11905: 0x88C7,
+ 22514 - 11905: 0x88C8,
+ 22515 - 11905: 0x88C9,
+ 22516 - 11905: 0xDBFA,
+ 22517 - 11905: 0x88CA,
+ 22518 - 11905: 0x88CB,
+ 22519 - 11905: 0x88CC,
+ 22520 - 11905: 0xDBFC,
+ 22521 - 11905: 0xC5E0,
+ 22522 - 11905: 0xBBF9,
+ 22523 - 11905: 0x88CD,
+ 22524 - 11905: 0x88CE,
+ 22525 - 11905: 0xDCA3,
+ 22526 - 11905: 0x88CF,
+ 22527 - 11905: 0x88D0,
+ 22528 - 11905: 0xDCA5,
+ 22529 - 11905: 0x88D1,
+ 22530 - 11905: 0xCCC3,
+ 22531 - 11905: 0x88D2,
+ 22532 - 11905: 0x88D3,
+ 22533 - 11905: 0x88D4,
+ 22534 - 11905: 0xB6D1,
+ 22535 - 11905: 0xDDC0,
+ 22536 - 11905: 0x88D5,
+ 22537 - 11905: 0x88D6,
+ 22538 - 11905: 0x88D7,
+ 22539 - 11905: 0xDCA1,
+ 22540 - 11905: 0x88D8,
+ 22541 - 11905: 0xDCA2,
+ 22542 - 11905: 0x88D9,
+ 22543 - 11905: 0x88DA,
+ 22544 - 11905: 0x88DB,
+ 22545 - 11905: 0xC7B5,
+ 22546 - 11905: 0x88DC,
+ 22547 - 11905: 0x88DD,
+ 22548 - 11905: 0x88DE,
+ 22549 - 11905: 0xB6E9,
+ 22550 - 11905: 0x88DF,
+ 22551 - 11905: 0x88E0,
+ 22552 - 11905: 0x88E1,
+ 22553 - 11905: 0xDCA7,
+ 22554 - 11905: 0x88E2,
+ 22555 - 11905: 0x88E3,
+ 22556 - 11905: 0x88E4,
+ 22557 - 11905: 0x88E5,
+ 22558 - 11905: 0xDCA6,
+ 22559 - 11905: 0x88E6,
+ 22560 - 11905: 0xDCA9,
+ 22561 - 11905: 0xB1A4,
+ 22562 - 11905: 0x88E7,
+ 22563 - 11905: 0x88E8,
+ 22564 - 11905: 0xB5CC,
+ 22565 - 11905: 0x88E9,
+ 22566 - 11905: 0x88EA,
+ 22567 - 11905: 0x88EB,
+ 22568 - 11905: 0x88EC,
+ 22569 - 11905: 0x88ED,
+ 22570 - 11905: 0xBFB0,
+ 22571 - 11905: 0x88EE,
+ 22572 - 11905: 0x88EF,
+ 22573 - 11905: 0x88F0,
+ 22574 - 11905: 0x88F1,
+ 22575 - 11905: 0x88F2,
+ 22576 - 11905: 0xD1DF,
+ 22577 - 11905: 0x88F3,
+ 22578 - 11905: 0x88F4,
+ 22579 - 11905: 0x88F5,
+ 22580 - 11905: 0x88F6,
+ 22581 - 11905: 0xB6C2,
+ 22582 - 11905: 0x88F7,
+ 22583 - 11905: 0x88F8,
+ 22584 - 11905: 0x88F9,
+ 22585 - 11905: 0x88FA,
+ 22586 - 11905: 0x88FB,
+ 22587 - 11905: 0x88FC,
+ 22588 - 11905: 0x88FD,
+ 22589 - 11905: 0x88FE,
+ 22590 - 11905: 0x8940,
+ 22591 - 11905: 0x8941,
+ 22592 - 11905: 0x8942,
+ 22593 - 11905: 0x8943,
+ 22594 - 11905: 0x8944,
+ 22595 - 11905: 0x8945,
+ 22596 - 11905: 0xDCA8,
+ 22597 - 11905: 0x8946,
+ 22598 - 11905: 0x8947,
+ 22599 - 11905: 0x8948,
+ 22600 - 11905: 0x8949,
+ 22601 - 11905: 0x894A,
+ 22602 - 11905: 0x894B,
+ 22603 - 11905: 0x894C,
+ 22604 - 11905: 0xCBFA,
+ 22605 - 11905: 0xEBF3,
+ 22606 - 11905: 0x894D,
+ 22607 - 11905: 0x894E,
+ 22608 - 11905: 0x894F,
+ 22609 - 11905: 0xCBDC,
+ 22610 - 11905: 0x8950,
+ 22611 - 11905: 0x8951,
+ 22612 - 11905: 0xCBFE,
+ 22613 - 11905: 0x8952,
+ 22614 - 11905: 0x8953,
+ 22615 - 11905: 0x8954,
+ 22616 - 11905: 0xCCC1,
+ 22617 - 11905: 0x8955,
+ 22618 - 11905: 0x8956,
+ 22619 - 11905: 0x8957,
+ 22620 - 11905: 0x8958,
+ 22621 - 11905: 0x8959,
+ 22622 - 11905: 0xC8FB,
+ 22623 - 11905: 0x895A,
+ 22624 - 11905: 0x895B,
+ 22625 - 11905: 0x895C,
+ 22626 - 11905: 0x895D,
+ 22627 - 11905: 0x895E,
+ 22628 - 11905: 0x895F,
+ 22629 - 11905: 0xDCAA,
+ 22630 - 11905: 0x8960,
+ 22631 - 11905: 0x8961,
+ 22632 - 11905: 0x8962,
+ 22633 - 11905: 0x8963,
+ 22634 - 11905: 0x8964,
+ 22635 - 11905: 0xCCEE,
+ 22636 - 11905: 0xDCAB,
+ 22637 - 11905: 0x8965,
+ 22638 - 11905: 0x8966,
+ 22639 - 11905: 0x8967,
+ 22640 - 11905: 0x8968,
+ 22641 - 11905: 0x8969,
+ 22642 - 11905: 0x896A,
+ 22643 - 11905: 0x896B,
+ 22644 - 11905: 0x896C,
+ 22645 - 11905: 0x896D,
+ 22646 - 11905: 0x896E,
+ 22647 - 11905: 0x896F,
+ 22648 - 11905: 0x8970,
+ 22649 - 11905: 0x8971,
+ 22650 - 11905: 0x8972,
+ 22651 - 11905: 0x8973,
+ 22652 - 11905: 0x8974,
+ 22653 - 11905: 0x8975,
+ 22654 - 11905: 0xDBD3,
+ 22655 - 11905: 0x8976,
+ 22656 - 11905: 0xDCAF,
+ 22657 - 11905: 0xDCAC,
+ 22658 - 11905: 0x8977,
+ 22659 - 11905: 0xBEB3,
+ 22660 - 11905: 0x8978,
+ 22661 - 11905: 0xCAFB,
+ 22662 - 11905: 0x8979,
+ 22663 - 11905: 0x897A,
+ 22664 - 11905: 0x897B,
+ 22665 - 11905: 0xDCAD,
+ 22666 - 11905: 0x897C,
+ 22667 - 11905: 0x897D,
+ 22668 - 11905: 0x897E,
+ 22669 - 11905: 0x8980,
+ 22670 - 11905: 0x8981,
+ 22671 - 11905: 0x8982,
+ 22672 - 11905: 0x8983,
+ 22673 - 11905: 0x8984,
+ 22674 - 11905: 0xC9CA,
+ 22675 - 11905: 0xC4B9,
+ 22676 - 11905: 0x8985,
+ 22677 - 11905: 0x8986,
+ 22678 - 11905: 0x8987,
+ 22679 - 11905: 0x8988,
+ 22680 - 11905: 0x8989,
+ 22681 - 11905: 0xC7BD,
+ 22682 - 11905: 0xDCAE,
+ 22683 - 11905: 0x898A,
+ 22684 - 11905: 0x898B,
+ 22685 - 11905: 0x898C,
+ 22686 - 11905: 0xD4F6,
+ 22687 - 11905: 0xD0E6,
+ 22688 - 11905: 0x898D,
+ 22689 - 11905: 0x898E,
+ 22690 - 11905: 0x898F,
+ 22691 - 11905: 0x8990,
+ 22692 - 11905: 0x8991,
+ 22693 - 11905: 0x8992,
+ 22694 - 11905: 0x8993,
+ 22695 - 11905: 0x8994,
+ 22696 - 11905: 0xC4AB,
+ 22697 - 11905: 0xB6D5,
+ 22698 - 11905: 0x8995,
+ 22699 - 11905: 0x8996,
+ 22700 - 11905: 0x8997,
+ 22701 - 11905: 0x8998,
+ 22702 - 11905: 0x8999,
+ 22703 - 11905: 0x899A,
+ 22704 - 11905: 0x899B,
+ 22705 - 11905: 0x899C,
+ 22706 - 11905: 0x899D,
+ 22707 - 11905: 0x899E,
+ 22708 - 11905: 0x899F,
+ 22709 - 11905: 0x89A0,
+ 22710 - 11905: 0x89A1,
+ 22711 - 11905: 0x89A2,
+ 22712 - 11905: 0x89A3,
+ 22713 - 11905: 0x89A4,
+ 22714 - 11905: 0x89A5,
+ 22715 - 11905: 0x89A6,
+ 22716 - 11905: 0xDBD4,
+ 22717 - 11905: 0x89A7,
+ 22718 - 11905: 0x89A8,
+ 22719 - 11905: 0x89A9,
+ 22720 - 11905: 0x89AA,
+ 22721 - 11905: 0xB1DA,
+ 22722 - 11905: 0x89AB,
+ 22723 - 11905: 0x89AC,
+ 22724 - 11905: 0x89AD,
+ 22725 - 11905: 0xDBD5,
+ 22726 - 11905: 0x89AE,
+ 22727 - 11905: 0x89AF,
+ 22728 - 11905: 0x89B0,
+ 22729 - 11905: 0x89B1,
+ 22730 - 11905: 0x89B2,
+ 22731 - 11905: 0x89B3,
+ 22732 - 11905: 0x89B4,
+ 22733 - 11905: 0x89B5,
+ 22734 - 11905: 0x89B6,
+ 22735 - 11905: 0x89B7,
+ 22736 - 11905: 0x89B8,
+ 22737 - 11905: 0xDBD6,
+ 22738 - 11905: 0x89B9,
+ 22739 - 11905: 0x89BA,
+ 22740 - 11905: 0x89BB,
+ 22741 - 11905: 0xBABE,
+ 22742 - 11905: 0x89BC,
+ 22743 - 11905: 0x89BD,
+ 22744 - 11905: 0x89BE,
+ 22745 - 11905: 0x89BF,
+ 22746 - 11905: 0x89C0,
+ 22747 - 11905: 0x89C1,
+ 22748 - 11905: 0x89C2,
+ 22749 - 11905: 0x89C3,
+ 22750 - 11905: 0x89C4,
+ 22751 - 11905: 0x89C5,
+ 22752 - 11905: 0x89C6,
+ 22753 - 11905: 0x89C7,
+ 22754 - 11905: 0x89C8,
+ 22755 - 11905: 0x89C9,
+ 22756 - 11905: 0xC8C0,
+ 22757 - 11905: 0x89CA,
+ 22758 - 11905: 0x89CB,
+ 22759 - 11905: 0x89CC,
+ 22760 - 11905: 0x89CD,
+ 22761 - 11905: 0x89CE,
+ 22762 - 11905: 0x89CF,
+ 22763 - 11905: 0xCABF,
+ 22764 - 11905: 0xC8C9,
+ 22765 - 11905: 0x89D0,
+ 22766 - 11905: 0xD7B3,
+ 22767 - 11905: 0x89D1,
+ 22768 - 11905: 0xC9F9,
+ 22769 - 11905: 0x89D2,
+ 22770 - 11905: 0x89D3,
+ 22771 - 11905: 0xBFC7,
+ 22772 - 11905: 0x89D4,
+ 22773 - 11905: 0x89D5,
+ 22774 - 11905: 0xBAF8,
+ 22775 - 11905: 0x89D6,
+ 22776 - 11905: 0x89D7,
+ 22777 - 11905: 0xD2BC,
+ 22778 - 11905: 0x89D8,
+ 22779 - 11905: 0x89D9,
+ 22780 - 11905: 0x89DA,
+ 22781 - 11905: 0x89DB,
+ 22782 - 11905: 0x89DC,
+ 22783 - 11905: 0x89DD,
+ 22784 - 11905: 0x89DE,
+ 22785 - 11905: 0x89DF,
+ 22786 - 11905: 0xE2BA,
+ 22787 - 11905: 0x89E0,
+ 22788 - 11905: 0xB4A6,
+ 22789 - 11905: 0x89E1,
+ 22790 - 11905: 0x89E2,
+ 22791 - 11905: 0xB1B8,
+ 22792 - 11905: 0x89E3,
+ 22793 - 11905: 0x89E4,
+ 22794 - 11905: 0x89E5,
+ 22795 - 11905: 0x89E6,
+ 22796 - 11905: 0x89E7,
+ 22797 - 11905: 0xB8B4,
+ 22798 - 11905: 0x89E8,
+ 22799 - 11905: 0xCFC4,
+ 22800 - 11905: 0x89E9,
+ 22801 - 11905: 0x89EA,
+ 22802 - 11905: 0x89EB,
+ 22803 - 11905: 0x89EC,
+ 22804 - 11905: 0xD9E7,
+ 22805 - 11905: 0xCFA6,
+ 22806 - 11905: 0xCDE2,
+ 22807 - 11905: 0x89ED,
+ 22808 - 11905: 0x89EE,
+ 22809 - 11905: 0xD9ED,
+ 22810 - 11905: 0xB6E0,
+ 22811 - 11905: 0x89EF,
+ 22812 - 11905: 0xD2B9,
+ 22813 - 11905: 0x89F0,
+ 22814 - 11905: 0x89F1,
+ 22815 - 11905: 0xB9BB,
+ 22816 - 11905: 0x89F2,
+ 22817 - 11905: 0x89F3,
+ 22818 - 11905: 0x89F4,
+ 22819 - 11905: 0x89F5,
+ 22820 - 11905: 0xE2B9,
+ 22821 - 11905: 0xE2B7,
+ 22822 - 11905: 0x89F6,
+ 22823 - 11905: 0xB4F3,
+ 22824 - 11905: 0x89F7,
+ 22825 - 11905: 0xCCEC,
+ 22826 - 11905: 0xCCAB,
+ 22827 - 11905: 0xB7F2,
+ 22828 - 11905: 0x89F8,
+ 22829 - 11905: 0xD8B2,
+ 22830 - 11905: 0xD1EB,
+ 22831 - 11905: 0xBABB,
+ 22832 - 11905: 0x89F9,
+ 22833 - 11905: 0xCAA7,
+ 22834 - 11905: 0x89FA,
+ 22835 - 11905: 0x89FB,
+ 22836 - 11905: 0xCDB7,
+ 22837 - 11905: 0x89FC,
+ 22838 - 11905: 0x89FD,
+ 22839 - 11905: 0xD2C4,
+ 22840 - 11905: 0xBFE4,
+ 22841 - 11905: 0xBCD0,
+ 22842 - 11905: 0xB6E1,
+ 22843 - 11905: 0x89FE,
+ 22844 - 11905: 0xDEC5,
+ 22845 - 11905: 0x8A40,
+ 22846 - 11905: 0x8A41,
+ 22847 - 11905: 0x8A42,
+ 22848 - 11905: 0x8A43,
+ 22849 - 11905: 0xDEC6,
+ 22850 - 11905: 0xDBBC,
+ 22851 - 11905: 0x8A44,
+ 22852 - 11905: 0xD1D9,
+ 22853 - 11905: 0x8A45,
+ 22854 - 11905: 0x8A46,
+ 22855 - 11905: 0xC6E6,
+ 22856 - 11905: 0xC4CE,
+ 22857 - 11905: 0xB7EE,
+ 22858 - 11905: 0x8A47,
+ 22859 - 11905: 0xB7DC,
+ 22860 - 11905: 0x8A48,
+ 22861 - 11905: 0x8A49,
+ 22862 - 11905: 0xBFFC,
+ 22863 - 11905: 0xD7E0,
+ 22864 - 11905: 0x8A4A,
+ 22865 - 11905: 0xC6F5,
+ 22866 - 11905: 0x8A4B,
+ 22867 - 11905: 0x8A4C,
+ 22868 - 11905: 0xB1BC,
+ 22869 - 11905: 0xDEC8,
+ 22870 - 11905: 0xBDB1,
+ 22871 - 11905: 0xCCD7,
+ 22872 - 11905: 0xDECA,
+ 22873 - 11905: 0x8A4D,
+ 22874 - 11905: 0xDEC9,
+ 22875 - 11905: 0x8A4E,
+ 22876 - 11905: 0x8A4F,
+ 22877 - 11905: 0x8A50,
+ 22878 - 11905: 0x8A51,
+ 22879 - 11905: 0x8A52,
+ 22880 - 11905: 0xB5EC,
+ 22881 - 11905: 0x8A53,
+ 22882 - 11905: 0xC9DD,
+ 22883 - 11905: 0x8A54,
+ 22884 - 11905: 0x8A55,
+ 22885 - 11905: 0xB0C2,
+ 22886 - 11905: 0x8A56,
+ 22887 - 11905: 0x8A57,
+ 22888 - 11905: 0x8A58,
+ 22889 - 11905: 0x8A59,
+ 22890 - 11905: 0x8A5A,
+ 22891 - 11905: 0x8A5B,
+ 22892 - 11905: 0x8A5C,
+ 22893 - 11905: 0x8A5D,
+ 22894 - 11905: 0x8A5E,
+ 22895 - 11905: 0x8A5F,
+ 22896 - 11905: 0x8A60,
+ 22897 - 11905: 0x8A61,
+ 22898 - 11905: 0x8A62,
+ 22899 - 11905: 0xC5AE,
+ 22900 - 11905: 0xC5AB,
+ 22901 - 11905: 0x8A63,
+ 22902 - 11905: 0xC4CC,
+ 22903 - 11905: 0x8A64,
+ 22904 - 11905: 0xBCE9,
+ 22905 - 11905: 0xCBFD,
+ 22906 - 11905: 0x8A65,
+ 22907 - 11905: 0x8A66,
+ 22908 - 11905: 0x8A67,
+ 22909 - 11905: 0xBAC3,
+ 22910 - 11905: 0x8A68,
+ 22911 - 11905: 0x8A69,
+ 22912 - 11905: 0x8A6A,
+ 22913 - 11905: 0xE5F9,
+ 22914 - 11905: 0xC8E7,
+ 22915 - 11905: 0xE5FA,
+ 22916 - 11905: 0xCDFD,
+ 22917 - 11905: 0x8A6B,
+ 22918 - 11905: 0xD7B1,
+ 22919 - 11905: 0xB8BE,
+ 22920 - 11905: 0xC2E8,
+ 22921 - 11905: 0x8A6C,
+ 22922 - 11905: 0xC8D1,
+ 22923 - 11905: 0x8A6D,
+ 22924 - 11905: 0x8A6E,
+ 22925 - 11905: 0xE5FB,
+ 22926 - 11905: 0x8A6F,
+ 22927 - 11905: 0x8A70,
+ 22928 - 11905: 0x8A71,
+ 22929 - 11905: 0x8A72,
+ 22930 - 11905: 0xB6CA,
+ 22931 - 11905: 0xBCCB,
+ 22932 - 11905: 0x8A73,
+ 22933 - 11905: 0x8A74,
+ 22934 - 11905: 0xD1FD,
+ 22935 - 11905: 0xE6A1,
+ 22936 - 11905: 0x8A75,
+ 22937 - 11905: 0xC3EE,
+ 22938 - 11905: 0x8A76,
+ 22939 - 11905: 0x8A77,
+ 22940 - 11905: 0x8A78,
+ 22941 - 11905: 0x8A79,
+ 22942 - 11905: 0xE6A4,
+ 22943 - 11905: 0x8A7A,
+ 22944 - 11905: 0x8A7B,
+ 22945 - 11905: 0x8A7C,
+ 22946 - 11905: 0x8A7D,
+ 22947 - 11905: 0xE5FE,
+ 22948 - 11905: 0xE6A5,
+ 22949 - 11905: 0xCDD7,
+ 22950 - 11905: 0x8A7E,
+ 22951 - 11905: 0x8A80,
+ 22952 - 11905: 0xB7C1,
+ 22953 - 11905: 0xE5FC,
+ 22954 - 11905: 0xE5FD,
+ 22955 - 11905: 0xE6A3,
+ 22956 - 11905: 0x8A81,
+ 22957 - 11905: 0x8A82,
+ 22958 - 11905: 0xC4DD,
+ 22959 - 11905: 0xE6A8,
+ 22960 - 11905: 0x8A83,
+ 22961 - 11905: 0x8A84,
+ 22962 - 11905: 0xE6A7,
+ 22963 - 11905: 0x8A85,
+ 22964 - 11905: 0x8A86,
+ 22965 - 11905: 0x8A87,
+ 22966 - 11905: 0x8A88,
+ 22967 - 11905: 0x8A89,
+ 22968 - 11905: 0x8A8A,
+ 22969 - 11905: 0xC3C3,
+ 22970 - 11905: 0x8A8B,
+ 22971 - 11905: 0xC6DE,
+ 22972 - 11905: 0x8A8C,
+ 22973 - 11905: 0x8A8D,
+ 22974 - 11905: 0xE6AA,
+ 22975 - 11905: 0x8A8E,
+ 22976 - 11905: 0x8A8F,
+ 22977 - 11905: 0x8A90,
+ 22978 - 11905: 0x8A91,
+ 22979 - 11905: 0x8A92,
+ 22980 - 11905: 0x8A93,
+ 22981 - 11905: 0x8A94,
+ 22982 - 11905: 0xC4B7,
+ 22983 - 11905: 0x8A95,
+ 22984 - 11905: 0x8A96,
+ 22985 - 11905: 0x8A97,
+ 22986 - 11905: 0xE6A2,
+ 22987 - 11905: 0xCABC,
+ 22988 - 11905: 0x8A98,
+ 22989 - 11905: 0x8A99,
+ 22990 - 11905: 0x8A9A,
+ 22991 - 11905: 0x8A9B,
+ 22992 - 11905: 0xBDE3,
+ 22993 - 11905: 0xB9C3,
+ 22994 - 11905: 0xE6A6,
+ 22995 - 11905: 0xD0D5,
+ 22996 - 11905: 0xCEAF,
+ 22997 - 11905: 0x8A9C,
+ 22998 - 11905: 0x8A9D,
+ 22999 - 11905: 0xE6A9,
+ 23000 - 11905: 0xE6B0,
+ 23001 - 11905: 0x8A9E,
+ 23002 - 11905: 0xD2A6,
+ 23003 - 11905: 0x8A9F,
+ 23004 - 11905: 0xBDAA,
+ 23005 - 11905: 0xE6AD,
+ 23006 - 11905: 0x8AA0,
+ 23007 - 11905: 0x8AA1,
+ 23008 - 11905: 0x8AA2,
+ 23009 - 11905: 0x8AA3,
+ 23010 - 11905: 0x8AA4,
+ 23011 - 11905: 0xE6AF,
+ 23012 - 11905: 0x8AA5,
+ 23013 - 11905: 0xC0D1,
+ 23014 - 11905: 0x8AA6,
+ 23015 - 11905: 0x8AA7,
+ 23016 - 11905: 0xD2CC,
+ 23017 - 11905: 0x8AA8,
+ 23018 - 11905: 0x8AA9,
+ 23019 - 11905: 0x8AAA,
+ 23020 - 11905: 0xBCA7,
+ 23021 - 11905: 0x8AAB,
+ 23022 - 11905: 0x8AAC,
+ 23023 - 11905: 0x8AAD,
+ 23024 - 11905: 0x8AAE,
+ 23025 - 11905: 0x8AAF,
+ 23026 - 11905: 0x8AB0,
+ 23027 - 11905: 0x8AB1,
+ 23028 - 11905: 0x8AB2,
+ 23029 - 11905: 0x8AB3,
+ 23030 - 11905: 0x8AB4,
+ 23031 - 11905: 0x8AB5,
+ 23032 - 11905: 0x8AB6,
+ 23033 - 11905: 0xE6B1,
+ 23034 - 11905: 0x8AB7,
+ 23035 - 11905: 0xD2F6,
+ 23036 - 11905: 0x8AB8,
+ 23037 - 11905: 0x8AB9,
+ 23038 - 11905: 0x8ABA,
+ 23039 - 11905: 0xD7CB,
+ 23040 - 11905: 0x8ABB,
+ 23041 - 11905: 0xCDFE,
+ 23042 - 11905: 0x8ABC,
+ 23043 - 11905: 0xCDDE,
+ 23044 - 11905: 0xC2A6,
+ 23045 - 11905: 0xE6AB,
+ 23046 - 11905: 0xE6AC,
+ 23047 - 11905: 0xBDBF,
+ 23048 - 11905: 0xE6AE,
+ 23049 - 11905: 0xE6B3,
+ 23050 - 11905: 0x8ABD,
+ 23051 - 11905: 0x8ABE,
+ 23052 - 11905: 0xE6B2,
+ 23053 - 11905: 0x8ABF,
+ 23054 - 11905: 0x8AC0,
+ 23055 - 11905: 0x8AC1,
+ 23056 - 11905: 0x8AC2,
+ 23057 - 11905: 0xE6B6,
+ 23058 - 11905: 0x8AC3,
+ 23059 - 11905: 0xE6B8,
+ 23060 - 11905: 0x8AC4,
+ 23061 - 11905: 0x8AC5,
+ 23062 - 11905: 0x8AC6,
+ 23063 - 11905: 0x8AC7,
+ 23064 - 11905: 0xC4EF,
+ 23065 - 11905: 0x8AC8,
+ 23066 - 11905: 0x8AC9,
+ 23067 - 11905: 0x8ACA,
+ 23068 - 11905: 0xC4C8,
+ 23069 - 11905: 0x8ACB,
+ 23070 - 11905: 0x8ACC,
+ 23071 - 11905: 0xBEEA,
+ 23072 - 11905: 0xC9EF,
+ 23073 - 11905: 0x8ACD,
+ 23074 - 11905: 0x8ACE,
+ 23075 - 11905: 0xE6B7,
+ 23076 - 11905: 0x8ACF,
+ 23077 - 11905: 0xB6F0,
+ 23078 - 11905: 0x8AD0,
+ 23079 - 11905: 0x8AD1,
+ 23080 - 11905: 0x8AD2,
+ 23081 - 11905: 0xC3E4,
+ 23082 - 11905: 0x8AD3,
+ 23083 - 11905: 0x8AD4,
+ 23084 - 11905: 0x8AD5,
+ 23085 - 11905: 0x8AD6,
+ 23086 - 11905: 0x8AD7,
+ 23087 - 11905: 0x8AD8,
+ 23088 - 11905: 0x8AD9,
+ 23089 - 11905: 0xD3E9,
+ 23090 - 11905: 0xE6B4,
+ 23091 - 11905: 0x8ADA,
+ 23092 - 11905: 0xE6B5,
+ 23093 - 11905: 0x8ADB,
+ 23094 - 11905: 0xC8A2,
+ 23095 - 11905: 0x8ADC,
+ 23096 - 11905: 0x8ADD,
+ 23097 - 11905: 0x8ADE,
+ 23098 - 11905: 0x8ADF,
+ 23099 - 11905: 0x8AE0,
+ 23100 - 11905: 0xE6BD,
+ 23101 - 11905: 0x8AE1,
+ 23102 - 11905: 0x8AE2,
+ 23103 - 11905: 0x8AE3,
+ 23104 - 11905: 0xE6B9,
+ 23105 - 11905: 0x8AE4,
+ 23106 - 11905: 0x8AE5,
+ 23107 - 11905: 0x8AE6,
+ 23108 - 11905: 0x8AE7,
+ 23109 - 11905: 0x8AE8,
+ 23110 - 11905: 0xC6C5,
+ 23111 - 11905: 0x8AE9,
+ 23112 - 11905: 0x8AEA,
+ 23113 - 11905: 0xCDF1,
+ 23114 - 11905: 0xE6BB,
+ 23115 - 11905: 0x8AEB,
+ 23116 - 11905: 0x8AEC,
+ 23117 - 11905: 0x8AED,
+ 23118 - 11905: 0x8AEE,
+ 23119 - 11905: 0x8AEF,
+ 23120 - 11905: 0x8AF0,
+ 23121 - 11905: 0x8AF1,
+ 23122 - 11905: 0x8AF2,
+ 23123 - 11905: 0x8AF3,
+ 23124 - 11905: 0x8AF4,
+ 23125 - 11905: 0xE6BC,
+ 23126 - 11905: 0x8AF5,
+ 23127 - 11905: 0x8AF6,
+ 23128 - 11905: 0x8AF7,
+ 23129 - 11905: 0x8AF8,
+ 23130 - 11905: 0xBBE9,
+ 23131 - 11905: 0x8AF9,
+ 23132 - 11905: 0x8AFA,
+ 23133 - 11905: 0x8AFB,
+ 23134 - 11905: 0x8AFC,
+ 23135 - 11905: 0x8AFD,
+ 23136 - 11905: 0x8AFE,
+ 23137 - 11905: 0x8B40,
+ 23138 - 11905: 0xE6BE,
+ 23139 - 11905: 0x8B41,
+ 23140 - 11905: 0x8B42,
+ 23141 - 11905: 0x8B43,
+ 23142 - 11905: 0x8B44,
+ 23143 - 11905: 0xE6BA,
+ 23144 - 11905: 0x8B45,
+ 23145 - 11905: 0x8B46,
+ 23146 - 11905: 0xC0B7,
+ 23147 - 11905: 0x8B47,
+ 23148 - 11905: 0x8B48,
+ 23149 - 11905: 0x8B49,
+ 23150 - 11905: 0x8B4A,
+ 23151 - 11905: 0x8B4B,
+ 23152 - 11905: 0x8B4C,
+ 23153 - 11905: 0x8B4D,
+ 23154 - 11905: 0x8B4E,
+ 23155 - 11905: 0x8B4F,
+ 23156 - 11905: 0xD3A4,
+ 23157 - 11905: 0xE6BF,
+ 23158 - 11905: 0xC9F4,
+ 23159 - 11905: 0xE6C3,
+ 23160 - 11905: 0x8B50,
+ 23161 - 11905: 0x8B51,
+ 23162 - 11905: 0xE6C4,
+ 23163 - 11905: 0x8B52,
+ 23164 - 11905: 0x8B53,
+ 23165 - 11905: 0x8B54,
+ 23166 - 11905: 0x8B55,
+ 23167 - 11905: 0xD0F6,
+ 23168 - 11905: 0x8B56,
+ 23169 - 11905: 0x8B57,
+ 23170 - 11905: 0x8B58,
+ 23171 - 11905: 0x8B59,
+ 23172 - 11905: 0x8B5A,
+ 23173 - 11905: 0x8B5B,
+ 23174 - 11905: 0x8B5C,
+ 23175 - 11905: 0x8B5D,
+ 23176 - 11905: 0x8B5E,
+ 23177 - 11905: 0x8B5F,
+ 23178 - 11905: 0x8B60,
+ 23179 - 11905: 0x8B61,
+ 23180 - 11905: 0x8B62,
+ 23181 - 11905: 0x8B63,
+ 23182 - 11905: 0x8B64,
+ 23183 - 11905: 0x8B65,
+ 23184 - 11905: 0x8B66,
+ 23185 - 11905: 0x8B67,
+ 23186 - 11905: 0xC3BD,
+ 23187 - 11905: 0x8B68,
+ 23188 - 11905: 0x8B69,
+ 23189 - 11905: 0x8B6A,
+ 23190 - 11905: 0x8B6B,
+ 23191 - 11905: 0x8B6C,
+ 23192 - 11905: 0x8B6D,
+ 23193 - 11905: 0x8B6E,
+ 23194 - 11905: 0xC3C4,
+ 23195 - 11905: 0xE6C2,
+ 23196 - 11905: 0x8B6F,
+ 23197 - 11905: 0x8B70,
+ 23198 - 11905: 0x8B71,
+ 23199 - 11905: 0x8B72,
+ 23200 - 11905: 0x8B73,
+ 23201 - 11905: 0x8B74,
+ 23202 - 11905: 0x8B75,
+ 23203 - 11905: 0x8B76,
+ 23204 - 11905: 0x8B77,
+ 23205 - 11905: 0x8B78,
+ 23206 - 11905: 0x8B79,
+ 23207 - 11905: 0x8B7A,
+ 23208 - 11905: 0x8B7B,
+ 23209 - 11905: 0x8B7C,
+ 23210 - 11905: 0xE6C1,
+ 23211 - 11905: 0x8B7D,
+ 23212 - 11905: 0x8B7E,
+ 23213 - 11905: 0x8B80,
+ 23214 - 11905: 0x8B81,
+ 23215 - 11905: 0x8B82,
+ 23216 - 11905: 0x8B83,
+ 23217 - 11905: 0x8B84,
+ 23218 - 11905: 0xE6C7,
+ 23219 - 11905: 0xCFB1,
+ 23220 - 11905: 0x8B85,
+ 23221 - 11905: 0xEBF4,
+ 23222 - 11905: 0x8B86,
+ 23223 - 11905: 0x8B87,
+ 23224 - 11905: 0xE6CA,
+ 23225 - 11905: 0x8B88,
+ 23226 - 11905: 0x8B89,
+ 23227 - 11905: 0x8B8A,
+ 23228 - 11905: 0x8B8B,
+ 23229 - 11905: 0x8B8C,
+ 23230 - 11905: 0xE6C5,
+ 23231 - 11905: 0x8B8D,
+ 23232 - 11905: 0x8B8E,
+ 23233 - 11905: 0xBCDE,
+ 23234 - 11905: 0xC9A9,
+ 23235 - 11905: 0x8B8F,
+ 23236 - 11905: 0x8B90,
+ 23237 - 11905: 0x8B91,
+ 23238 - 11905: 0x8B92,
+ 23239 - 11905: 0x8B93,
+ 23240 - 11905: 0x8B94,
+ 23241 - 11905: 0xBCB5,
+ 23242 - 11905: 0x8B95,
+ 23243 - 11905: 0x8B96,
+ 23244 - 11905: 0xCFD3,
+ 23245 - 11905: 0x8B97,
+ 23246 - 11905: 0x8B98,
+ 23247 - 11905: 0x8B99,
+ 23248 - 11905: 0x8B9A,
+ 23249 - 11905: 0x8B9B,
+ 23250 - 11905: 0xE6C8,
+ 23251 - 11905: 0x8B9C,
+ 23252 - 11905: 0xE6C9,
+ 23253 - 11905: 0x8B9D,
+ 23254 - 11905: 0xE6CE,
+ 23255 - 11905: 0x8B9E,
+ 23256 - 11905: 0xE6D0,
+ 23257 - 11905: 0x8B9F,
+ 23258 - 11905: 0x8BA0,
+ 23259 - 11905: 0x8BA1,
+ 23260 - 11905: 0xE6D1,
+ 23261 - 11905: 0x8BA2,
+ 23262 - 11905: 0x8BA3,
+ 23263 - 11905: 0x8BA4,
+ 23264 - 11905: 0xE6CB,
+ 23265 - 11905: 0xB5D5,
+ 23266 - 11905: 0x8BA5,
+ 23267 - 11905: 0xE6CC,
+ 23268 - 11905: 0x8BA6,
+ 23269 - 11905: 0x8BA7,
+ 23270 - 11905: 0xE6CF,
+ 23271 - 11905: 0x8BA8,
+ 23272 - 11905: 0x8BA9,
+ 23273 - 11905: 0xC4DB,
+ 23274 - 11905: 0x8BAA,
+ 23275 - 11905: 0xE6C6,
+ 23276 - 11905: 0x8BAB,
+ 23277 - 11905: 0x8BAC,
+ 23278 - 11905: 0x8BAD,
+ 23279 - 11905: 0x8BAE,
+ 23280 - 11905: 0x8BAF,
+ 23281 - 11905: 0xE6CD,
+ 23282 - 11905: 0x8BB0,
+ 23283 - 11905: 0x8BB1,
+ 23284 - 11905: 0x8BB2,
+ 23285 - 11905: 0x8BB3,
+ 23286 - 11905: 0x8BB4,
+ 23287 - 11905: 0x8BB5,
+ 23288 - 11905: 0x8BB6,
+ 23289 - 11905: 0x8BB7,
+ 23290 - 11905: 0x8BB8,
+ 23291 - 11905: 0x8BB9,
+ 23292 - 11905: 0x8BBA,
+ 23293 - 11905: 0x8BBB,
+ 23294 - 11905: 0x8BBC,
+ 23295 - 11905: 0x8BBD,
+ 23296 - 11905: 0x8BBE,
+ 23297 - 11905: 0x8BBF,
+ 23298 - 11905: 0x8BC0,
+ 23299 - 11905: 0x8BC1,
+ 23300 - 11905: 0x8BC2,
+ 23301 - 11905: 0x8BC3,
+ 23302 - 11905: 0x8BC4,
+ 23303 - 11905: 0x8BC5,
+ 23304 - 11905: 0x8BC6,
+ 23305 - 11905: 0xE6D2,
+ 23306 - 11905: 0x8BC7,
+ 23307 - 11905: 0x8BC8,
+ 23308 - 11905: 0x8BC9,
+ 23309 - 11905: 0x8BCA,
+ 23310 - 11905: 0x8BCB,
+ 23311 - 11905: 0x8BCC,
+ 23312 - 11905: 0x8BCD,
+ 23313 - 11905: 0x8BCE,
+ 23314 - 11905: 0x8BCF,
+ 23315 - 11905: 0x8BD0,
+ 23316 - 11905: 0x8BD1,
+ 23317 - 11905: 0x8BD2,
+ 23318 - 11905: 0xE6D4,
+ 23319 - 11905: 0xE6D3,
+ 23320 - 11905: 0x8BD3,
+ 23321 - 11905: 0x8BD4,
+ 23322 - 11905: 0x8BD5,
+ 23323 - 11905: 0x8BD6,
+ 23324 - 11905: 0x8BD7,
+ 23325 - 11905: 0x8BD8,
+ 23326 - 11905: 0x8BD9,
+ 23327 - 11905: 0x8BDA,
+ 23328 - 11905: 0x8BDB,
+ 23329 - 11905: 0x8BDC,
+ 23330 - 11905: 0x8BDD,
+ 23331 - 11905: 0x8BDE,
+ 23332 - 11905: 0x8BDF,
+ 23333 - 11905: 0x8BE0,
+ 23334 - 11905: 0x8BE1,
+ 23335 - 11905: 0x8BE2,
+ 23336 - 11905: 0x8BE3,
+ 23337 - 11905: 0x8BE4,
+ 23338 - 11905: 0x8BE5,
+ 23339 - 11905: 0x8BE6,
+ 23340 - 11905: 0x8BE7,
+ 23341 - 11905: 0x8BE8,
+ 23342 - 11905: 0x8BE9,
+ 23343 - 11905: 0x8BEA,
+ 23344 - 11905: 0x8BEB,
+ 23345 - 11905: 0x8BEC,
+ 23346 - 11905: 0xE6D5,
+ 23347 - 11905: 0x8BED,
+ 23348 - 11905: 0xD9F8,
+ 23349 - 11905: 0x8BEE,
+ 23350 - 11905: 0x8BEF,
+ 23351 - 11905: 0xE6D6,
+ 23352 - 11905: 0x8BF0,
+ 23353 - 11905: 0x8BF1,
+ 23354 - 11905: 0x8BF2,
+ 23355 - 11905: 0x8BF3,
+ 23356 - 11905: 0x8BF4,
+ 23357 - 11905: 0x8BF5,
+ 23358 - 11905: 0x8BF6,
+ 23359 - 11905: 0x8BF7,
+ 23360 - 11905: 0xE6D7,
+ 23361 - 11905: 0x8BF8,
+ 23362 - 11905: 0x8BF9,
+ 23363 - 11905: 0x8BFA,
+ 23364 - 11905: 0x8BFB,
+ 23365 - 11905: 0x8BFC,
+ 23366 - 11905: 0x8BFD,
+ 23367 - 11905: 0x8BFE,
+ 23368 - 11905: 0x8C40,
+ 23369 - 11905: 0x8C41,
+ 23370 - 11905: 0x8C42,
+ 23371 - 11905: 0x8C43,
+ 23372 - 11905: 0x8C44,
+ 23373 - 11905: 0x8C45,
+ 23374 - 11905: 0x8C46,
+ 23375 - 11905: 0x8C47,
+ 23376 - 11905: 0xD7D3,
+ 23377 - 11905: 0xE6DD,
+ 23378 - 11905: 0x8C48,
+ 23379 - 11905: 0xE6DE,
+ 23380 - 11905: 0xBFD7,
+ 23381 - 11905: 0xD4D0,
+ 23382 - 11905: 0x8C49,
+ 23383 - 11905: 0xD7D6,
+ 23384 - 11905: 0xB4E6,
+ 23385 - 11905: 0xCBEF,
+ 23386 - 11905: 0xE6DA,
+ 23387 - 11905: 0xD8C3,
+ 23388 - 11905: 0xD7CE,
+ 23389 - 11905: 0xD0A2,
+ 23390 - 11905: 0x8C4A,
+ 23391 - 11905: 0xC3CF,
+ 23392 - 11905: 0x8C4B,
+ 23393 - 11905: 0x8C4C,
+ 23394 - 11905: 0xE6DF,
+ 23395 - 11905: 0xBCBE,
+ 23396 - 11905: 0xB9C2,
+ 23397 - 11905: 0xE6DB,
+ 23398 - 11905: 0xD1A7,
+ 23399 - 11905: 0x8C4D,
+ 23400 - 11905: 0x8C4E,
+ 23401 - 11905: 0xBAA2,
+ 23402 - 11905: 0xC2CF,
+ 23403 - 11905: 0x8C4F,
+ 23404 - 11905: 0xD8AB,
+ 23405 - 11905: 0x8C50,
+ 23406 - 11905: 0x8C51,
+ 23407 - 11905: 0x8C52,
+ 23408 - 11905: 0xCAEB,
+ 23409 - 11905: 0xE5EE,
+ 23410 - 11905: 0x8C53,
+ 23411 - 11905: 0xE6DC,
+ 23412 - 11905: 0x8C54,
+ 23413 - 11905: 0xB7F5,
+ 23414 - 11905: 0x8C55,
+ 23415 - 11905: 0x8C56,
+ 23416 - 11905: 0x8C57,
+ 23417 - 11905: 0x8C58,
+ 23418 - 11905: 0xC8E6,
+ 23419 - 11905: 0x8C59,
+ 23420 - 11905: 0x8C5A,
+ 23421 - 11905: 0xC4F5,
+ 23422 - 11905: 0x8C5B,
+ 23423 - 11905: 0x8C5C,
+ 23424 - 11905: 0xE5B2,
+ 23425 - 11905: 0xC4FE,
+ 23426 - 11905: 0x8C5D,
+ 23427 - 11905: 0xCBFC,
+ 23428 - 11905: 0xE5B3,
+ 23429 - 11905: 0xD5AC,
+ 23430 - 11905: 0x8C5E,
+ 23431 - 11905: 0xD3EE,
+ 23432 - 11905: 0xCAD8,
+ 23433 - 11905: 0xB0B2,
+ 23434 - 11905: 0x8C5F,
+ 23435 - 11905: 0xCBCE,
+ 23436 - 11905: 0xCDEA,
+ 23437 - 11905: 0x8C60,
+ 23438 - 11905: 0x8C61,
+ 23439 - 11905: 0xBAEA,
+ 23440 - 11905: 0x8C62,
+ 23441 - 11905: 0x8C63,
+ 23442 - 11905: 0x8C64,
+ 23443 - 11905: 0xE5B5,
+ 23444 - 11905: 0x8C65,
+ 23445 - 11905: 0xE5B4,
+ 23446 - 11905: 0x8C66,
+ 23447 - 11905: 0xD7DA,
+ 23448 - 11905: 0xB9D9,
+ 23449 - 11905: 0xD6E6,
+ 23450 - 11905: 0xB6A8,
+ 23451 - 11905: 0xCDF0,
+ 23452 - 11905: 0xD2CB,
+ 23453 - 11905: 0xB1A6,
+ 23454 - 11905: 0xCAB5,
+ 23455 - 11905: 0x8C67,
+ 23456 - 11905: 0xB3E8,
+ 23457 - 11905: 0xC9F3,
+ 23458 - 11905: 0xBFCD,
+ 23459 - 11905: 0xD0FB,
+ 23460 - 11905: 0xCAD2,
+ 23461 - 11905: 0xE5B6,
+ 23462 - 11905: 0xBBC2,
+ 23463 - 11905: 0x8C68,
+ 23464 - 11905: 0x8C69,
+ 23465 - 11905: 0x8C6A,
+ 23466 - 11905: 0xCFDC,
+ 23467 - 11905: 0xB9AC,
+ 23468 - 11905: 0x8C6B,
+ 23469 - 11905: 0x8C6C,
+ 23470 - 11905: 0x8C6D,
+ 23471 - 11905: 0x8C6E,
+ 23472 - 11905: 0xD4D7,
+ 23473 - 11905: 0x8C6F,
+ 23474 - 11905: 0x8C70,
+ 23475 - 11905: 0xBAA6,
+ 23476 - 11905: 0xD1E7,
+ 23477 - 11905: 0xCFFC,
+ 23478 - 11905: 0xBCD2,
+ 23479 - 11905: 0x8C71,
+ 23480 - 11905: 0xE5B7,
+ 23481 - 11905: 0xC8DD,
+ 23482 - 11905: 0x8C72,
+ 23483 - 11905: 0x8C73,
+ 23484 - 11905: 0x8C74,
+ 23485 - 11905: 0xBFED,
+ 23486 - 11905: 0xB1F6,
+ 23487 - 11905: 0xCBDE,
+ 23488 - 11905: 0x8C75,
+ 23489 - 11905: 0x8C76,
+ 23490 - 11905: 0xBCC5,
+ 23491 - 11905: 0x8C77,
+ 23492 - 11905: 0xBCC4,
+ 23493 - 11905: 0xD2FA,
+ 23494 - 11905: 0xC3DC,
+ 23495 - 11905: 0xBFDC,
+ 23496 - 11905: 0x8C78,
+ 23497 - 11905: 0x8C79,
+ 23498 - 11905: 0x8C7A,
+ 23499 - 11905: 0x8C7B,
+ 23500 - 11905: 0xB8BB,
+ 23501 - 11905: 0x8C7C,
+ 23502 - 11905: 0x8C7D,
+ 23503 - 11905: 0x8C7E,
+ 23504 - 11905: 0xC3C2,
+ 23505 - 11905: 0x8C80,
+ 23506 - 11905: 0xBAAE,
+ 23507 - 11905: 0xD4A2,
+ 23508 - 11905: 0x8C81,
+ 23509 - 11905: 0x8C82,
+ 23510 - 11905: 0x8C83,
+ 23511 - 11905: 0x8C84,
+ 23512 - 11905: 0x8C85,
+ 23513 - 11905: 0x8C86,
+ 23514 - 11905: 0x8C87,
+ 23515 - 11905: 0x8C88,
+ 23516 - 11905: 0x8C89,
+ 23517 - 11905: 0xC7DE,
+ 23518 - 11905: 0xC4AF,
+ 23519 - 11905: 0xB2EC,
+ 23520 - 11905: 0x8C8A,
+ 23521 - 11905: 0xB9D1,
+ 23522 - 11905: 0x8C8B,
+ 23523 - 11905: 0x8C8C,
+ 23524 - 11905: 0xE5BB,
+ 23525 - 11905: 0xC1C8,
+ 23526 - 11905: 0x8C8D,
+ 23527 - 11905: 0x8C8E,
+ 23528 - 11905: 0xD5AF,
+ 23529 - 11905: 0x8C8F,
+ 23530 - 11905: 0x8C90,
+ 23531 - 11905: 0x8C91,
+ 23532 - 11905: 0x8C92,
+ 23533 - 11905: 0x8C93,
+ 23534 - 11905: 0xE5BC,
+ 23535 - 11905: 0x8C94,
+ 23536 - 11905: 0xE5BE,
+ 23537 - 11905: 0x8C95,
+ 23538 - 11905: 0x8C96,
+ 23539 - 11905: 0x8C97,
+ 23540 - 11905: 0x8C98,
+ 23541 - 11905: 0x8C99,
+ 23542 - 11905: 0x8C9A,
+ 23543 - 11905: 0x8C9B,
+ 23544 - 11905: 0xB4E7,
+ 23545 - 11905: 0xB6D4,
+ 23546 - 11905: 0xCBC2,
+ 23547 - 11905: 0xD1B0,
+ 23548 - 11905: 0xB5BC,
+ 23549 - 11905: 0x8C9C,
+ 23550 - 11905: 0x8C9D,
+ 23551 - 11905: 0xCAD9,
+ 23552 - 11905: 0x8C9E,
+ 23553 - 11905: 0xB7E2,
+ 23554 - 11905: 0x8C9F,
+ 23555 - 11905: 0x8CA0,
+ 23556 - 11905: 0xC9E4,
+ 23557 - 11905: 0x8CA1,
+ 23558 - 11905: 0xBDAB,
+ 23559 - 11905: 0x8CA2,
+ 23560 - 11905: 0x8CA3,
+ 23561 - 11905: 0xCEBE,
+ 23562 - 11905: 0xD7F0,
+ 23563 - 11905: 0x8CA4,
+ 23564 - 11905: 0x8CA5,
+ 23565 - 11905: 0x8CA6,
+ 23566 - 11905: 0x8CA7,
+ 23567 - 11905: 0xD0A1,
+ 23568 - 11905: 0x8CA8,
+ 23569 - 11905: 0xC9D9,
+ 23570 - 11905: 0x8CA9,
+ 23571 - 11905: 0x8CAA,
+ 23572 - 11905: 0xB6FB,
+ 23573 - 11905: 0xE6D8,
+ 23574 - 11905: 0xBCE2,
+ 23575 - 11905: 0x8CAB,
+ 23576 - 11905: 0xB3BE,
+ 23577 - 11905: 0x8CAC,
+ 23578 - 11905: 0xC9D0,
+ 23579 - 11905: 0x8CAD,
+ 23580 - 11905: 0xE6D9,
+ 23581 - 11905: 0xB3A2,
+ 23582 - 11905: 0x8CAE,
+ 23583 - 11905: 0x8CAF,
+ 23584 - 11905: 0x8CB0,
+ 23585 - 11905: 0x8CB1,
+ 23586 - 11905: 0xDECC,
+ 23587 - 11905: 0x8CB2,
+ 23588 - 11905: 0xD3C8,
+ 23589 - 11905: 0xDECD,
+ 23590 - 11905: 0x8CB3,
+ 23591 - 11905: 0xD2A2,
+ 23592 - 11905: 0x8CB4,
+ 23593 - 11905: 0x8CB5,
+ 23594 - 11905: 0x8CB6,
+ 23595 - 11905: 0x8CB7,
+ 23596 - 11905: 0xDECE,
+ 23597 - 11905: 0x8CB8,
+ 23598 - 11905: 0x8CB9,
+ 23599 - 11905: 0x8CBA,
+ 23600 - 11905: 0x8CBB,
+ 23601 - 11905: 0xBECD,
+ 23602 - 11905: 0x8CBC,
+ 23603 - 11905: 0x8CBD,
+ 23604 - 11905: 0xDECF,
+ 23605 - 11905: 0x8CBE,
+ 23606 - 11905: 0x8CBF,
+ 23607 - 11905: 0x8CC0,
+ 23608 - 11905: 0xCAAC,
+ 23609 - 11905: 0xD2FC,
+ 23610 - 11905: 0xB3DF,
+ 23611 - 11905: 0xE5EA,
+ 23612 - 11905: 0xC4E1,
+ 23613 - 11905: 0xBEA1,
+ 23614 - 11905: 0xCEB2,
+ 23615 - 11905: 0xC4F2,
+ 23616 - 11905: 0xBED6,
+ 23617 - 11905: 0xC6A8,
+ 23618 - 11905: 0xB2E3,
+ 23619 - 11905: 0x8CC1,
+ 23620 - 11905: 0x8CC2,
+ 23621 - 11905: 0xBED3,
+ 23622 - 11905: 0x8CC3,
+ 23623 - 11905: 0x8CC4,
+ 23624 - 11905: 0xC7FC,
+ 23625 - 11905: 0xCCEB,
+ 23626 - 11905: 0xBDEC,
+ 23627 - 11905: 0xCEDD,
+ 23628 - 11905: 0x8CC5,
+ 23629 - 11905: 0x8CC6,
+ 23630 - 11905: 0xCABA,
+ 23631 - 11905: 0xC6C1,
+ 23632 - 11905: 0xE5EC,
+ 23633 - 11905: 0xD0BC,
+ 23634 - 11905: 0x8CC7,
+ 23635 - 11905: 0x8CC8,
+ 23636 - 11905: 0x8CC9,
+ 23637 - 11905: 0xD5B9,
+ 23638 - 11905: 0x8CCA,
+ 23639 - 11905: 0x8CCB,
+ 23640 - 11905: 0x8CCC,
+ 23641 - 11905: 0xE5ED,
+ 23642 - 11905: 0x8CCD,
+ 23643 - 11905: 0x8CCE,
+ 23644 - 11905: 0x8CCF,
+ 23645 - 11905: 0x8CD0,
+ 23646 - 11905: 0xCAF4,
+ 23647 - 11905: 0x8CD1,
+ 23648 - 11905: 0xCDC0,
+ 23649 - 11905: 0xC2C5,
+ 23650 - 11905: 0x8CD2,
+ 23651 - 11905: 0xE5EF,
+ 23652 - 11905: 0x8CD3,
+ 23653 - 11905: 0xC2C4,
+ 23654 - 11905: 0xE5F0,
+ 23655 - 11905: 0x8CD4,
+ 23656 - 11905: 0x8CD5,
+ 23657 - 11905: 0x8CD6,
+ 23658 - 11905: 0x8CD7,
+ 23659 - 11905: 0x8CD8,
+ 23660 - 11905: 0x8CD9,
+ 23661 - 11905: 0x8CDA,
+ 23662 - 11905: 0xE5F8,
+ 23663 - 11905: 0xCDCD,
+ 23664 - 11905: 0x8CDB,
+ 23665 - 11905: 0xC9BD,
+ 23666 - 11905: 0x8CDC,
+ 23667 - 11905: 0x8CDD,
+ 23668 - 11905: 0x8CDE,
+ 23669 - 11905: 0x8CDF,
+ 23670 - 11905: 0x8CE0,
+ 23671 - 11905: 0x8CE1,
+ 23672 - 11905: 0x8CE2,
+ 23673 - 11905: 0xD2D9,
+ 23674 - 11905: 0xE1A8,
+ 23675 - 11905: 0x8CE3,
+ 23676 - 11905: 0x8CE4,
+ 23677 - 11905: 0x8CE5,
+ 23678 - 11905: 0x8CE6,
+ 23679 - 11905: 0xD3EC,
+ 23680 - 11905: 0x8CE7,
+ 23681 - 11905: 0xCBEA,
+ 23682 - 11905: 0xC6F1,
+ 23683 - 11905: 0x8CE8,
+ 23684 - 11905: 0x8CE9,
+ 23685 - 11905: 0x8CEA,
+ 23686 - 11905: 0x8CEB,
+ 23687 - 11905: 0x8CEC,
+ 23688 - 11905: 0xE1AC,
+ 23689 - 11905: 0x8CED,
+ 23690 - 11905: 0x8CEE,
+ 23691 - 11905: 0x8CEF,
+ 23692 - 11905: 0xE1A7,
+ 23693 - 11905: 0xE1A9,
+ 23694 - 11905: 0x8CF0,
+ 23695 - 11905: 0x8CF1,
+ 23696 - 11905: 0xE1AA,
+ 23697 - 11905: 0xE1AF,
+ 23698 - 11905: 0x8CF2,
+ 23699 - 11905: 0x8CF3,
+ 23700 - 11905: 0xB2ED,
+ 23701 - 11905: 0x8CF4,
+ 23702 - 11905: 0xE1AB,
+ 23703 - 11905: 0xB8DA,
+ 23704 - 11905: 0xE1AD,
+ 23705 - 11905: 0xE1AE,
+ 23706 - 11905: 0xE1B0,
+ 23707 - 11905: 0xB5BA,
+ 23708 - 11905: 0xE1B1,
+ 23709 - 11905: 0x8CF5,
+ 23710 - 11905: 0x8CF6,
+ 23711 - 11905: 0x8CF7,
+ 23712 - 11905: 0x8CF8,
+ 23713 - 11905: 0x8CF9,
+ 23714 - 11905: 0xE1B3,
+ 23715 - 11905: 0xE1B8,
+ 23716 - 11905: 0x8CFA,
+ 23717 - 11905: 0x8CFB,
+ 23718 - 11905: 0x8CFC,
+ 23719 - 11905: 0x8CFD,
+ 23720 - 11905: 0x8CFE,
+ 23721 - 11905: 0xD1D2,
+ 23722 - 11905: 0x8D40,
+ 23723 - 11905: 0xE1B6,
+ 23724 - 11905: 0xE1B5,
+ 23725 - 11905: 0xC1EB,
+ 23726 - 11905: 0x8D41,
+ 23727 - 11905: 0x8D42,
+ 23728 - 11905: 0x8D43,
+ 23729 - 11905: 0xE1B7,
+ 23730 - 11905: 0x8D44,
+ 23731 - 11905: 0xD4C0,
+ 23732 - 11905: 0x8D45,
+ 23733 - 11905: 0xE1B2,
+ 23734 - 11905: 0x8D46,
+ 23735 - 11905: 0xE1BA,
+ 23736 - 11905: 0xB0B6,
+ 23737 - 11905: 0x8D47,
+ 23738 - 11905: 0x8D48,
+ 23739 - 11905: 0x8D49,
+ 23740 - 11905: 0x8D4A,
+ 23741 - 11905: 0xE1B4,
+ 23742 - 11905: 0x8D4B,
+ 23743 - 11905: 0xBFF9,
+ 23744 - 11905: 0x8D4C,
+ 23745 - 11905: 0xE1B9,
+ 23746 - 11905: 0x8D4D,
+ 23747 - 11905: 0x8D4E,
+ 23748 - 11905: 0xE1BB,
+ 23749 - 11905: 0x8D4F,
+ 23750 - 11905: 0x8D50,
+ 23751 - 11905: 0x8D51,
+ 23752 - 11905: 0x8D52,
+ 23753 - 11905: 0x8D53,
+ 23754 - 11905: 0x8D54,
+ 23755 - 11905: 0xE1BE,
+ 23756 - 11905: 0x8D55,
+ 23757 - 11905: 0x8D56,
+ 23758 - 11905: 0x8D57,
+ 23759 - 11905: 0x8D58,
+ 23760 - 11905: 0x8D59,
+ 23761 - 11905: 0x8D5A,
+ 23762 - 11905: 0xE1BC,
+ 23763 - 11905: 0x8D5B,
+ 23764 - 11905: 0x8D5C,
+ 23765 - 11905: 0x8D5D,
+ 23766 - 11905: 0x8D5E,
+ 23767 - 11905: 0x8D5F,
+ 23768 - 11905: 0x8D60,
+ 23769 - 11905: 0xD6C5,
+ 23770 - 11905: 0x8D61,
+ 23771 - 11905: 0x8D62,
+ 23772 - 11905: 0x8D63,
+ 23773 - 11905: 0x8D64,
+ 23774 - 11905: 0x8D65,
+ 23775 - 11905: 0x8D66,
+ 23776 - 11905: 0x8D67,
+ 23777 - 11905: 0xCFBF,
+ 23778 - 11905: 0x8D68,
+ 23779 - 11905: 0x8D69,
+ 23780 - 11905: 0xE1BD,
+ 23781 - 11905: 0xE1BF,
+ 23782 - 11905: 0xC2CD,
+ 23783 - 11905: 0x8D6A,
+ 23784 - 11905: 0xB6EB,
+ 23785 - 11905: 0x8D6B,
+ 23786 - 11905: 0xD3F8,
+ 23787 - 11905: 0x8D6C,
+ 23788 - 11905: 0x8D6D,
+ 23789 - 11905: 0xC7CD,
+ 23790 - 11905: 0x8D6E,
+ 23791 - 11905: 0x8D6F,
+ 23792 - 11905: 0xB7E5,
+ 23793 - 11905: 0x8D70,
+ 23794 - 11905: 0x8D71,
+ 23795 - 11905: 0x8D72,
+ 23796 - 11905: 0x8D73,
+ 23797 - 11905: 0x8D74,
+ 23798 - 11905: 0x8D75,
+ 23799 - 11905: 0x8D76,
+ 23800 - 11905: 0x8D77,
+ 23801 - 11905: 0x8D78,
+ 23802 - 11905: 0x8D79,
+ 23803 - 11905: 0xBEFE,
+ 23804 - 11905: 0x8D7A,
+ 23805 - 11905: 0x8D7B,
+ 23806 - 11905: 0x8D7C,
+ 23807 - 11905: 0x8D7D,
+ 23808 - 11905: 0x8D7E,
+ 23809 - 11905: 0x8D80,
+ 23810 - 11905: 0xE1C0,
+ 23811 - 11905: 0xE1C1,
+ 23812 - 11905: 0x8D81,
+ 23813 - 11905: 0x8D82,
+ 23814 - 11905: 0xE1C7,
+ 23815 - 11905: 0xB3E7,
+ 23816 - 11905: 0x8D83,
+ 23817 - 11905: 0x8D84,
+ 23818 - 11905: 0x8D85,
+ 23819 - 11905: 0x8D86,
+ 23820 - 11905: 0x8D87,
+ 23821 - 11905: 0x8D88,
+ 23822 - 11905: 0xC6E9,
+ 23823 - 11905: 0x8D89,
+ 23824 - 11905: 0x8D8A,
+ 23825 - 11905: 0x8D8B,
+ 23826 - 11905: 0x8D8C,
+ 23827 - 11905: 0x8D8D,
+ 23828 - 11905: 0xB4DE,
+ 23829 - 11905: 0x8D8E,
+ 23830 - 11905: 0xD1C2,
+ 23831 - 11905: 0x8D8F,
+ 23832 - 11905: 0x8D90,
+ 23833 - 11905: 0x8D91,
+ 23834 - 11905: 0x8D92,
+ 23835 - 11905: 0xE1C8,
+ 23836 - 11905: 0x8D93,
+ 23837 - 11905: 0x8D94,
+ 23838 - 11905: 0xE1C6,
+ 23839 - 11905: 0x8D95,
+ 23840 - 11905: 0x8D96,
+ 23841 - 11905: 0x8D97,
+ 23842 - 11905: 0x8D98,
+ 23843 - 11905: 0x8D99,
+ 23844 - 11905: 0xE1C5,
+ 23845 - 11905: 0x8D9A,
+ 23846 - 11905: 0xE1C3,
+ 23847 - 11905: 0xE1C2,
+ 23848 - 11905: 0x8D9B,
+ 23849 - 11905: 0xB1C0,
+ 23850 - 11905: 0x8D9C,
+ 23851 - 11905: 0x8D9D,
+ 23852 - 11905: 0x8D9E,
+ 23853 - 11905: 0xD5B8,
+ 23854 - 11905: 0xE1C4,
+ 23855 - 11905: 0x8D9F,
+ 23856 - 11905: 0x8DA0,
+ 23857 - 11905: 0x8DA1,
+ 23858 - 11905: 0x8DA2,
+ 23859 - 11905: 0x8DA3,
+ 23860 - 11905: 0xE1CB,
+ 23861 - 11905: 0x8DA4,
+ 23862 - 11905: 0x8DA5,
+ 23863 - 11905: 0x8DA6,
+ 23864 - 11905: 0x8DA7,
+ 23865 - 11905: 0x8DA8,
+ 23866 - 11905: 0x8DA9,
+ 23867 - 11905: 0x8DAA,
+ 23868 - 11905: 0x8DAB,
+ 23869 - 11905: 0xE1CC,
+ 23870 - 11905: 0xE1CA,
+ 23871 - 11905: 0x8DAC,
+ 23872 - 11905: 0x8DAD,
+ 23873 - 11905: 0x8DAE,
+ 23874 - 11905: 0x8DAF,
+ 23875 - 11905: 0x8DB0,
+ 23876 - 11905: 0x8DB1,
+ 23877 - 11905: 0x8DB2,
+ 23878 - 11905: 0x8DB3,
+ 23879 - 11905: 0xEFFA,
+ 23880 - 11905: 0x8DB4,
+ 23881 - 11905: 0x8DB5,
+ 23882 - 11905: 0xE1D3,
+ 23883 - 11905: 0xE1D2,
+ 23884 - 11905: 0xC7B6,
+ 23885 - 11905: 0x8DB6,
+ 23886 - 11905: 0x8DB7,
+ 23887 - 11905: 0x8DB8,
+ 23888 - 11905: 0x8DB9,
+ 23889 - 11905: 0x8DBA,
+ 23890 - 11905: 0x8DBB,
+ 23891 - 11905: 0x8DBC,
+ 23892 - 11905: 0x8DBD,
+ 23893 - 11905: 0x8DBE,
+ 23894 - 11905: 0x8DBF,
+ 23895 - 11905: 0x8DC0,
+ 23896 - 11905: 0xE1C9,
+ 23897 - 11905: 0x8DC1,
+ 23898 - 11905: 0x8DC2,
+ 23899 - 11905: 0xE1CE,
+ 23900 - 11905: 0x8DC3,
+ 23901 - 11905: 0xE1D0,
+ 23902 - 11905: 0x8DC4,
+ 23903 - 11905: 0x8DC5,
+ 23904 - 11905: 0x8DC6,
+ 23905 - 11905: 0x8DC7,
+ 23906 - 11905: 0x8DC8,
+ 23907 - 11905: 0x8DC9,
+ 23908 - 11905: 0x8DCA,
+ 23909 - 11905: 0x8DCB,
+ 23910 - 11905: 0x8DCC,
+ 23911 - 11905: 0x8DCD,
+ 23912 - 11905: 0x8DCE,
+ 23913 - 11905: 0xE1D4,
+ 23914 - 11905: 0x8DCF,
+ 23915 - 11905: 0xE1D1,
+ 23916 - 11905: 0xE1CD,
+ 23917 - 11905: 0x8DD0,
+ 23918 - 11905: 0x8DD1,
+ 23919 - 11905: 0xE1CF,
+ 23920 - 11905: 0x8DD2,
+ 23921 - 11905: 0x8DD3,
+ 23922 - 11905: 0x8DD4,
+ 23923 - 11905: 0x8DD5,
+ 23924 - 11905: 0xE1D5,
+ 23925 - 11905: 0x8DD6,
+ 23926 - 11905: 0x8DD7,
+ 23927 - 11905: 0x8DD8,
+ 23928 - 11905: 0x8DD9,
+ 23929 - 11905: 0x8DDA,
+ 23930 - 11905: 0x8DDB,
+ 23931 - 11905: 0x8DDC,
+ 23932 - 11905: 0x8DDD,
+ 23933 - 11905: 0x8DDE,
+ 23934 - 11905: 0x8DDF,
+ 23935 - 11905: 0x8DE0,
+ 23936 - 11905: 0x8DE1,
+ 23937 - 11905: 0x8DE2,
+ 23938 - 11905: 0xE1D6,
+ 23939 - 11905: 0x8DE3,
+ 23940 - 11905: 0x8DE4,
+ 23941 - 11905: 0x8DE5,
+ 23942 - 11905: 0x8DE6,
+ 23943 - 11905: 0x8DE7,
+ 23944 - 11905: 0x8DE8,
+ 23945 - 11905: 0x8DE9,
+ 23946 - 11905: 0x8DEA,
+ 23947 - 11905: 0x8DEB,
+ 23948 - 11905: 0x8DEC,
+ 23949 - 11905: 0x8DED,
+ 23950 - 11905: 0x8DEE,
+ 23951 - 11905: 0x8DEF,
+ 23952 - 11905: 0x8DF0,
+ 23953 - 11905: 0x8DF1,
+ 23954 - 11905: 0x8DF2,
+ 23955 - 11905: 0x8DF3,
+ 23956 - 11905: 0x8DF4,
+ 23957 - 11905: 0x8DF5,
+ 23958 - 11905: 0x8DF6,
+ 23959 - 11905: 0x8DF7,
+ 23960 - 11905: 0x8DF8,
+ 23961 - 11905: 0xE1D7,
+ 23962 - 11905: 0x8DF9,
+ 23963 - 11905: 0x8DFA,
+ 23964 - 11905: 0x8DFB,
+ 23965 - 11905: 0xE1D8,
+ 23966 - 11905: 0x8DFC,
+ 23967 - 11905: 0x8DFD,
+ 23968 - 11905: 0x8DFE,
+ 23969 - 11905: 0x8E40,
+ 23970 - 11905: 0x8E41,
+ 23971 - 11905: 0x8E42,
+ 23972 - 11905: 0x8E43,
+ 23973 - 11905: 0x8E44,
+ 23974 - 11905: 0x8E45,
+ 23975 - 11905: 0x8E46,
+ 23976 - 11905: 0x8E47,
+ 23977 - 11905: 0x8E48,
+ 23978 - 11905: 0x8E49,
+ 23979 - 11905: 0x8E4A,
+ 23980 - 11905: 0x8E4B,
+ 23981 - 11905: 0x8E4C,
+ 23982 - 11905: 0x8E4D,
+ 23983 - 11905: 0x8E4E,
+ 23984 - 11905: 0x8E4F,
+ 23985 - 11905: 0x8E50,
+ 23986 - 11905: 0x8E51,
+ 23987 - 11905: 0x8E52,
+ 23988 - 11905: 0x8E53,
+ 23989 - 11905: 0x8E54,
+ 23990 - 11905: 0x8E55,
+ 23991 - 11905: 0xE1DA,
+ 23992 - 11905: 0x8E56,
+ 23993 - 11905: 0x8E57,
+ 23994 - 11905: 0x8E58,
+ 23995 - 11905: 0x8E59,
+ 23996 - 11905: 0x8E5A,
+ 23997 - 11905: 0x8E5B,
+ 23998 - 11905: 0x8E5C,
+ 23999 - 11905: 0x8E5D,
+ 24000 - 11905: 0x8E5E,
+ 24001 - 11905: 0x8E5F,
+ 24002 - 11905: 0x8E60,
+ 24003 - 11905: 0x8E61,
+ 24004 - 11905: 0x8E62,
+ 24005 - 11905: 0xE1DB,
+ 24006 - 11905: 0x8E63,
+ 24007 - 11905: 0x8E64,
+ 24008 - 11905: 0x8E65,
+ 24009 - 11905: 0x8E66,
+ 24010 - 11905: 0x8E67,
+ 24011 - 11905: 0x8E68,
+ 24012 - 11905: 0x8E69,
+ 24013 - 11905: 0xCEA1,
+ 24014 - 11905: 0x8E6A,
+ 24015 - 11905: 0x8E6B,
+ 24016 - 11905: 0x8E6C,
+ 24017 - 11905: 0x8E6D,
+ 24018 - 11905: 0x8E6E,
+ 24019 - 11905: 0x8E6F,
+ 24020 - 11905: 0x8E70,
+ 24021 - 11905: 0x8E71,
+ 24022 - 11905: 0x8E72,
+ 24023 - 11905: 0x8E73,
+ 24024 - 11905: 0x8E74,
+ 24025 - 11905: 0x8E75,
+ 24026 - 11905: 0x8E76,
+ 24027 - 11905: 0xE7DD,
+ 24028 - 11905: 0x8E77,
+ 24029 - 11905: 0xB4A8,
+ 24030 - 11905: 0xD6DD,
+ 24031 - 11905: 0x8E78,
+ 24032 - 11905: 0x8E79,
+ 24033 - 11905: 0xD1B2,
+ 24034 - 11905: 0xB3B2,
+ 24035 - 11905: 0x8E7A,
+ 24036 - 11905: 0x8E7B,
+ 24037 - 11905: 0xB9A4,
+ 24038 - 11905: 0xD7F3,
+ 24039 - 11905: 0xC7C9,
+ 24040 - 11905: 0xBEDE,
+ 24041 - 11905: 0xB9AE,
+ 24042 - 11905: 0x8E7C,
+ 24043 - 11905: 0xCED7,
+ 24044 - 11905: 0x8E7D,
+ 24045 - 11905: 0x8E7E,
+ 24046 - 11905: 0xB2EE,
+ 24047 - 11905: 0xDBCF,
+ 24048 - 11905: 0x8E80,
+ 24049 - 11905: 0xBCBA,
+ 24050 - 11905: 0xD2D1,
+ 24051 - 11905: 0xCBC8,
+ 24052 - 11905: 0xB0CD,
+ 24053 - 11905: 0x8E81,
+ 24054 - 11905: 0x8E82,
+ 24055 - 11905: 0xCFEF,
+ 24056 - 11905: 0x8E83,
+ 24057 - 11905: 0x8E84,
+ 24058 - 11905: 0x8E85,
+ 24059 - 11905: 0x8E86,
+ 24060 - 11905: 0x8E87,
+ 24061 - 11905: 0xD9E3,
+ 24062 - 11905: 0xBDED,
+ 24063 - 11905: 0x8E88,
+ 24064 - 11905: 0x8E89,
+ 24065 - 11905: 0xB1D2,
+ 24066 - 11905: 0xCAD0,
+ 24067 - 11905: 0xB2BC,
+ 24068 - 11905: 0x8E8A,
+ 24069 - 11905: 0xCBA7,
+ 24070 - 11905: 0xB7AB,
+ 24071 - 11905: 0x8E8B,
+ 24072 - 11905: 0xCAA6,
+ 24073 - 11905: 0x8E8C,
+ 24074 - 11905: 0x8E8D,
+ 24075 - 11905: 0x8E8E,
+ 24076 - 11905: 0xCFA3,
+ 24077 - 11905: 0x8E8F,
+ 24078 - 11905: 0x8E90,
+ 24079 - 11905: 0xE0F8,
+ 24080 - 11905: 0xD5CA,
+ 24081 - 11905: 0xE0FB,
+ 24082 - 11905: 0x8E91,
+ 24083 - 11905: 0x8E92,
+ 24084 - 11905: 0xE0FA,
+ 24085 - 11905: 0xC5C1,
+ 24086 - 11905: 0xCCFB,
+ 24087 - 11905: 0x8E93,
+ 24088 - 11905: 0xC1B1,
+ 24089 - 11905: 0xE0F9,
+ 24090 - 11905: 0xD6E3,
+ 24091 - 11905: 0xB2AF,
+ 24092 - 11905: 0xD6C4,
+ 24093 - 11905: 0xB5DB,
+ 24094 - 11905: 0x8E94,
+ 24095 - 11905: 0x8E95,
+ 24096 - 11905: 0x8E96,
+ 24097 - 11905: 0x8E97,
+ 24098 - 11905: 0x8E98,
+ 24099 - 11905: 0x8E99,
+ 24100 - 11905: 0x8E9A,
+ 24101 - 11905: 0x8E9B,
+ 24102 - 11905: 0xB4F8,
+ 24103 - 11905: 0xD6A1,
+ 24104 - 11905: 0x8E9C,
+ 24105 - 11905: 0x8E9D,
+ 24106 - 11905: 0x8E9E,
+ 24107 - 11905: 0x8E9F,
+ 24108 - 11905: 0x8EA0,
+ 24109 - 11905: 0xCFAF,
+ 24110 - 11905: 0xB0EF,
+ 24111 - 11905: 0x8EA1,
+ 24112 - 11905: 0x8EA2,
+ 24113 - 11905: 0xE0FC,
+ 24114 - 11905: 0x8EA3,
+ 24115 - 11905: 0x8EA4,
+ 24116 - 11905: 0x8EA5,
+ 24117 - 11905: 0x8EA6,
+ 24118 - 11905: 0x8EA7,
+ 24119 - 11905: 0xE1A1,
+ 24120 - 11905: 0xB3A3,
+ 24121 - 11905: 0x8EA8,
+ 24122 - 11905: 0x8EA9,
+ 24123 - 11905: 0xE0FD,
+ 24124 - 11905: 0xE0FE,
+ 24125 - 11905: 0xC3B1,
+ 24126 - 11905: 0x8EAA,
+ 24127 - 11905: 0x8EAB,
+ 24128 - 11905: 0x8EAC,
+ 24129 - 11905: 0x8EAD,
+ 24130 - 11905: 0xC3DD,
+ 24131 - 11905: 0x8EAE,
+ 24132 - 11905: 0xE1A2,
+ 24133 - 11905: 0xB7F9,
+ 24134 - 11905: 0x8EAF,
+ 24135 - 11905: 0x8EB0,
+ 24136 - 11905: 0x8EB1,
+ 24137 - 11905: 0x8EB2,
+ 24138 - 11905: 0x8EB3,
+ 24139 - 11905: 0x8EB4,
+ 24140 - 11905: 0xBBCF,
+ 24141 - 11905: 0x8EB5,
+ 24142 - 11905: 0x8EB6,
+ 24143 - 11905: 0x8EB7,
+ 24144 - 11905: 0x8EB8,
+ 24145 - 11905: 0x8EB9,
+ 24146 - 11905: 0x8EBA,
+ 24147 - 11905: 0x8EBB,
+ 24148 - 11905: 0xE1A3,
+ 24149 - 11905: 0xC4BB,
+ 24150 - 11905: 0x8EBC,
+ 24151 - 11905: 0x8EBD,
+ 24152 - 11905: 0x8EBE,
+ 24153 - 11905: 0x8EBF,
+ 24154 - 11905: 0x8EC0,
+ 24155 - 11905: 0xE1A4,
+ 24156 - 11905: 0x8EC1,
+ 24157 - 11905: 0x8EC2,
+ 24158 - 11905: 0xE1A5,
+ 24159 - 11905: 0x8EC3,
+ 24160 - 11905: 0x8EC4,
+ 24161 - 11905: 0xE1A6,
+ 24162 - 11905: 0xB4B1,
+ 24163 - 11905: 0x8EC5,
+ 24164 - 11905: 0x8EC6,
+ 24165 - 11905: 0x8EC7,
+ 24166 - 11905: 0x8EC8,
+ 24167 - 11905: 0x8EC9,
+ 24168 - 11905: 0x8ECA,
+ 24169 - 11905: 0x8ECB,
+ 24170 - 11905: 0x8ECC,
+ 24171 - 11905: 0x8ECD,
+ 24172 - 11905: 0x8ECE,
+ 24173 - 11905: 0x8ECF,
+ 24174 - 11905: 0x8ED0,
+ 24175 - 11905: 0x8ED1,
+ 24176 - 11905: 0x8ED2,
+ 24177 - 11905: 0x8ED3,
+ 24178 - 11905: 0xB8C9,
+ 24179 - 11905: 0xC6BD,
+ 24180 - 11905: 0xC4EA,
+ 24181 - 11905: 0x8ED4,
+ 24182 - 11905: 0xB2A2,
+ 24183 - 11905: 0x8ED5,
+ 24184 - 11905: 0xD0D2,
+ 24185 - 11905: 0x8ED6,
+ 24186 - 11905: 0xE7DB,
+ 24187 - 11905: 0xBBC3,
+ 24188 - 11905: 0xD3D7,
+ 24189 - 11905: 0xD3C4,
+ 24190 - 11905: 0x8ED7,
+ 24191 - 11905: 0xB9E3,
+ 24192 - 11905: 0xE2CF,
+ 24193 - 11905: 0x8ED8,
+ 24194 - 11905: 0x8ED9,
+ 24195 - 11905: 0x8EDA,
+ 24196 - 11905: 0xD7AF,
+ 24197 - 11905: 0x8EDB,
+ 24198 - 11905: 0xC7EC,
+ 24199 - 11905: 0xB1D3,
+ 24200 - 11905: 0x8EDC,
+ 24201 - 11905: 0x8EDD,
+ 24202 - 11905: 0xB4B2,
+ 24203 - 11905: 0xE2D1,
+ 24204 - 11905: 0x8EDE,
+ 24205 - 11905: 0x8EDF,
+ 24206 - 11905: 0x8EE0,
+ 24207 - 11905: 0xD0F2,
+ 24208 - 11905: 0xC2AE,
+ 24209 - 11905: 0xE2D0,
+ 24210 - 11905: 0x8EE1,
+ 24211 - 11905: 0xBFE2,
+ 24212 - 11905: 0xD3A6,
+ 24213 - 11905: 0xB5D7,
+ 24214 - 11905: 0xE2D2,
+ 24215 - 11905: 0xB5EA,
+ 24216 - 11905: 0x8EE2,
+ 24217 - 11905: 0xC3ED,
+ 24218 - 11905: 0xB8FD,
+ 24219 - 11905: 0x8EE3,
+ 24220 - 11905: 0xB8AE,
+ 24221 - 11905: 0x8EE4,
+ 24222 - 11905: 0xC5D3,
+ 24223 - 11905: 0xB7CF,
+ 24224 - 11905: 0xE2D4,
+ 24225 - 11905: 0x8EE5,
+ 24226 - 11905: 0x8EE6,
+ 24227 - 11905: 0x8EE7,
+ 24228 - 11905: 0x8EE8,
+ 24229 - 11905: 0xE2D3,
+ 24230 - 11905: 0xB6C8,
+ 24231 - 11905: 0xD7F9,
+ 24232 - 11905: 0x8EE9,
+ 24233 - 11905: 0x8EEA,
+ 24234 - 11905: 0x8EEB,
+ 24235 - 11905: 0x8EEC,
+ 24236 - 11905: 0x8EED,
+ 24237 - 11905: 0xCDA5,
+ 24238 - 11905: 0x8EEE,
+ 24239 - 11905: 0x8EEF,
+ 24240 - 11905: 0x8EF0,
+ 24241 - 11905: 0x8EF1,
+ 24242 - 11905: 0x8EF2,
+ 24243 - 11905: 0xE2D8,
+ 24244 - 11905: 0x8EF3,
+ 24245 - 11905: 0xE2D6,
+ 24246 - 11905: 0xCAFC,
+ 24247 - 11905: 0xBFB5,
+ 24248 - 11905: 0xD3B9,
+ 24249 - 11905: 0xE2D5,
+ 24250 - 11905: 0x8EF4,
+ 24251 - 11905: 0x8EF5,
+ 24252 - 11905: 0x8EF6,
+ 24253 - 11905: 0x8EF7,
+ 24254 - 11905: 0xE2D7,
+ 24255 - 11905: 0x8EF8,
+ 24256 - 11905: 0x8EF9,
+ 24257 - 11905: 0x8EFA,
+ 24258 - 11905: 0x8EFB,
+ 24259 - 11905: 0x8EFC,
+ 24260 - 11905: 0x8EFD,
+ 24261 - 11905: 0x8EFE,
+ 24262 - 11905: 0x8F40,
+ 24263 - 11905: 0x8F41,
+ 24264 - 11905: 0x8F42,
+ 24265 - 11905: 0xC1AE,
+ 24266 - 11905: 0xC0C8,
+ 24267 - 11905: 0x8F43,
+ 24268 - 11905: 0x8F44,
+ 24269 - 11905: 0x8F45,
+ 24270 - 11905: 0x8F46,
+ 24271 - 11905: 0x8F47,
+ 24272 - 11905: 0x8F48,
+ 24273 - 11905: 0xE2DB,
+ 24274 - 11905: 0xE2DA,
+ 24275 - 11905: 0xC0AA,
+ 24276 - 11905: 0x8F49,
+ 24277 - 11905: 0x8F4A,
+ 24278 - 11905: 0xC1CE,
+ 24279 - 11905: 0x8F4B,
+ 24280 - 11905: 0x8F4C,
+ 24281 - 11905: 0x8F4D,
+ 24282 - 11905: 0x8F4E,
+ 24283 - 11905: 0xE2DC,
+ 24284 - 11905: 0x8F4F,
+ 24285 - 11905: 0x8F50,
+ 24286 - 11905: 0x8F51,
+ 24287 - 11905: 0x8F52,
+ 24288 - 11905: 0x8F53,
+ 24289 - 11905: 0x8F54,
+ 24290 - 11905: 0x8F55,
+ 24291 - 11905: 0x8F56,
+ 24292 - 11905: 0x8F57,
+ 24293 - 11905: 0x8F58,
+ 24294 - 11905: 0x8F59,
+ 24295 - 11905: 0x8F5A,
+ 24296 - 11905: 0xE2DD,
+ 24297 - 11905: 0x8F5B,
+ 24298 - 11905: 0xE2DE,
+ 24299 - 11905: 0x8F5C,
+ 24300 - 11905: 0x8F5D,
+ 24301 - 11905: 0x8F5E,
+ 24302 - 11905: 0x8F5F,
+ 24303 - 11905: 0x8F60,
+ 24304 - 11905: 0x8F61,
+ 24305 - 11905: 0x8F62,
+ 24306 - 11905: 0x8F63,
+ 24307 - 11905: 0x8F64,
+ 24308 - 11905: 0xDBC8,
+ 24309 - 11905: 0x8F65,
+ 24310 - 11905: 0xD1D3,
+ 24311 - 11905: 0xCDA2,
+ 24312 - 11905: 0x8F66,
+ 24313 - 11905: 0x8F67,
+ 24314 - 11905: 0xBDA8,
+ 24315 - 11905: 0x8F68,
+ 24316 - 11905: 0x8F69,
+ 24317 - 11905: 0x8F6A,
+ 24318 - 11905: 0xDEC3,
+ 24319 - 11905: 0xD8A5,
+ 24320 - 11905: 0xBFAA,
+ 24321 - 11905: 0xDBCD,
+ 24322 - 11905: 0xD2EC,
+ 24323 - 11905: 0xC6FA,
+ 24324 - 11905: 0xC5AA,
+ 24325 - 11905: 0x8F6B,
+ 24326 - 11905: 0x8F6C,
+ 24327 - 11905: 0x8F6D,
+ 24328 - 11905: 0xDEC4,
+ 24329 - 11905: 0x8F6E,
+ 24330 - 11905: 0xB1D7,
+ 24331 - 11905: 0xDFAE,
+ 24332 - 11905: 0x8F6F,
+ 24333 - 11905: 0x8F70,
+ 24334 - 11905: 0x8F71,
+ 24335 - 11905: 0xCABD,
+ 24336 - 11905: 0x8F72,
+ 24337 - 11905: 0xDFB1,
+ 24338 - 11905: 0x8F73,
+ 24339 - 11905: 0xB9AD,
+ 24340 - 11905: 0x8F74,
+ 24341 - 11905: 0xD2FD,
+ 24342 - 11905: 0x8F75,
+ 24343 - 11905: 0xB8A5,
+ 24344 - 11905: 0xBAEB,
+ 24345 - 11905: 0x8F76,
+ 24346 - 11905: 0x8F77,
+ 24347 - 11905: 0xB3DA,
+ 24348 - 11905: 0x8F78,
+ 24349 - 11905: 0x8F79,
+ 24350 - 11905: 0x8F7A,
+ 24351 - 11905: 0xB5DC,
+ 24352 - 11905: 0xD5C5,
+ 24353 - 11905: 0x8F7B,
+ 24354 - 11905: 0x8F7C,
+ 24355 - 11905: 0x8F7D,
+ 24356 - 11905: 0x8F7E,
+ 24357 - 11905: 0xC3D6,
+ 24358 - 11905: 0xCFD2,
+ 24359 - 11905: 0xBBA1,
+ 24360 - 11905: 0x8F80,
+ 24361 - 11905: 0xE5F3,
+ 24362 - 11905: 0xE5F2,
+ 24363 - 11905: 0x8F81,
+ 24364 - 11905: 0x8F82,
+ 24365 - 11905: 0xE5F4,
+ 24366 - 11905: 0x8F83,
+ 24367 - 11905: 0xCDE4,
+ 24368 - 11905: 0x8F84,
+ 24369 - 11905: 0xC8F5,
+ 24370 - 11905: 0x8F85,
+ 24371 - 11905: 0x8F86,
+ 24372 - 11905: 0x8F87,
+ 24373 - 11905: 0x8F88,
+ 24374 - 11905: 0x8F89,
+ 24375 - 11905: 0x8F8A,
+ 24376 - 11905: 0x8F8B,
+ 24377 - 11905: 0xB5AF,
+ 24378 - 11905: 0xC7BF,
+ 24379 - 11905: 0x8F8C,
+ 24380 - 11905: 0xE5F6,
+ 24381 - 11905: 0x8F8D,
+ 24382 - 11905: 0x8F8E,
+ 24383 - 11905: 0x8F8F,
+ 24384 - 11905: 0xECB0,
+ 24385 - 11905: 0x8F90,
+ 24386 - 11905: 0x8F91,
+ 24387 - 11905: 0x8F92,
+ 24388 - 11905: 0x8F93,
+ 24389 - 11905: 0x8F94,
+ 24390 - 11905: 0x8F95,
+ 24391 - 11905: 0x8F96,
+ 24392 - 11905: 0x8F97,
+ 24393 - 11905: 0x8F98,
+ 24394 - 11905: 0x8F99,
+ 24395 - 11905: 0x8F9A,
+ 24396 - 11905: 0x8F9B,
+ 24397 - 11905: 0x8F9C,
+ 24398 - 11905: 0x8F9D,
+ 24399 - 11905: 0x8F9E,
+ 24400 - 11905: 0xE5E6,
+ 24401 - 11905: 0x8F9F,
+ 24402 - 11905: 0xB9E9,
+ 24403 - 11905: 0xB5B1,
+ 24404 - 11905: 0x8FA0,
+ 24405 - 11905: 0xC2BC,
+ 24406 - 11905: 0xE5E8,
+ 24407 - 11905: 0xE5E7,
+ 24408 - 11905: 0xE5E9,
+ 24409 - 11905: 0x8FA1,
+ 24410 - 11905: 0x8FA2,
+ 24411 - 11905: 0x8FA3,
+ 24412 - 11905: 0x8FA4,
+ 24413 - 11905: 0xD2CD,
+ 24414 - 11905: 0x8FA5,
+ 24415 - 11905: 0x8FA6,
+ 24416 - 11905: 0x8FA7,
+ 24417 - 11905: 0xE1EA,
+ 24418 - 11905: 0xD0CE,
+ 24419 - 11905: 0x8FA8,
+ 24420 - 11905: 0xCDAE,
+ 24421 - 11905: 0x8FA9,
+ 24422 - 11905: 0xD1E5,
+ 24423 - 11905: 0x8FAA,
+ 24424 - 11905: 0x8FAB,
+ 24425 - 11905: 0xB2CA,
+ 24426 - 11905: 0xB1EB,
+ 24427 - 11905: 0x8FAC,
+ 24428 - 11905: 0xB1F2,
+ 24429 - 11905: 0xC5ED,
+ 24430 - 11905: 0x8FAD,
+ 24431 - 11905: 0x8FAE,
+ 24432 - 11905: 0xD5C3,
+ 24433 - 11905: 0xD3B0,
+ 24434 - 11905: 0x8FAF,
+ 24435 - 11905: 0xE1DC,
+ 24436 - 11905: 0x8FB0,
+ 24437 - 11905: 0x8FB1,
+ 24438 - 11905: 0x8FB2,
+ 24439 - 11905: 0xE1DD,
+ 24440 - 11905: 0x8FB3,
+ 24441 - 11905: 0xD2DB,
+ 24442 - 11905: 0x8FB4,
+ 24443 - 11905: 0xB3B9,
+ 24444 - 11905: 0xB1CB,
+ 24445 - 11905: 0x8FB5,
+ 24446 - 11905: 0x8FB6,
+ 24447 - 11905: 0x8FB7,
+ 24448 - 11905: 0xCDF9,
+ 24449 - 11905: 0xD5F7,
+ 24450 - 11905: 0xE1DE,
+ 24451 - 11905: 0x8FB8,
+ 24452 - 11905: 0xBEB6,
+ 24453 - 11905: 0xB4FD,
+ 24454 - 11905: 0x8FB9,
+ 24455 - 11905: 0xE1DF,
+ 24456 - 11905: 0xBADC,
+ 24457 - 11905: 0xE1E0,
+ 24458 - 11905: 0xBBB2,
+ 24459 - 11905: 0xC2C9,
+ 24460 - 11905: 0xE1E1,
+ 24461 - 11905: 0x8FBA,
+ 24462 - 11905: 0x8FBB,
+ 24463 - 11905: 0x8FBC,
+ 24464 - 11905: 0xD0EC,
+ 24465 - 11905: 0x8FBD,
+ 24466 - 11905: 0xCDBD,
+ 24467 - 11905: 0x8FBE,
+ 24468 - 11905: 0x8FBF,
+ 24469 - 11905: 0xE1E2,
+ 24470 - 11905: 0x8FC0,
+ 24471 - 11905: 0xB5C3,
+ 24472 - 11905: 0xC5C7,
+ 24473 - 11905: 0xE1E3,
+ 24474 - 11905: 0x8FC1,
+ 24475 - 11905: 0x8FC2,
+ 24476 - 11905: 0xE1E4,
+ 24477 - 11905: 0x8FC3,
+ 24478 - 11905: 0x8FC4,
+ 24479 - 11905: 0x8FC5,
+ 24480 - 11905: 0x8FC6,
+ 24481 - 11905: 0xD3F9,
+ 24482 - 11905: 0x8FC7,
+ 24483 - 11905: 0x8FC8,
+ 24484 - 11905: 0x8FC9,
+ 24485 - 11905: 0x8FCA,
+ 24486 - 11905: 0x8FCB,
+ 24487 - 11905: 0x8FCC,
+ 24488 - 11905: 0xE1E5,
+ 24489 - 11905: 0x8FCD,
+ 24490 - 11905: 0xD1AD,
+ 24491 - 11905: 0x8FCE,
+ 24492 - 11905: 0x8FCF,
+ 24493 - 11905: 0xE1E6,
+ 24494 - 11905: 0xCEA2,
+ 24495 - 11905: 0x8FD0,
+ 24496 - 11905: 0x8FD1,
+ 24497 - 11905: 0x8FD2,
+ 24498 - 11905: 0x8FD3,
+ 24499 - 11905: 0x8FD4,
+ 24500 - 11905: 0x8FD5,
+ 24501 - 11905: 0xE1E7,
+ 24502 - 11905: 0x8FD6,
+ 24503 - 11905: 0xB5C2,
+ 24504 - 11905: 0x8FD7,
+ 24505 - 11905: 0x8FD8,
+ 24506 - 11905: 0x8FD9,
+ 24507 - 11905: 0x8FDA,
+ 24508 - 11905: 0xE1E8,
+ 24509 - 11905: 0xBBD5,
+ 24510 - 11905: 0x8FDB,
+ 24511 - 11905: 0x8FDC,
+ 24512 - 11905: 0x8FDD,
+ 24513 - 11905: 0x8FDE,
+ 24514 - 11905: 0x8FDF,
+ 24515 - 11905: 0xD0C4,
+ 24516 - 11905: 0xE2E0,
+ 24517 - 11905: 0xB1D8,
+ 24518 - 11905: 0xD2E4,
+ 24519 - 11905: 0x8FE0,
+ 24520 - 11905: 0x8FE1,
+ 24521 - 11905: 0xE2E1,
+ 24522 - 11905: 0x8FE2,
+ 24523 - 11905: 0x8FE3,
+ 24524 - 11905: 0xBCC9,
+ 24525 - 11905: 0xC8CC,
+ 24526 - 11905: 0x8FE4,
+ 24527 - 11905: 0xE2E3,
+ 24528 - 11905: 0xECFE,
+ 24529 - 11905: 0xECFD,
+ 24530 - 11905: 0xDFAF,
+ 24531 - 11905: 0x8FE5,
+ 24532 - 11905: 0x8FE6,
+ 24533 - 11905: 0x8FE7,
+ 24534 - 11905: 0xE2E2,
+ 24535 - 11905: 0xD6BE,
+ 24536 - 11905: 0xCDFC,
+ 24537 - 11905: 0xC3A6,
+ 24538 - 11905: 0x8FE8,
+ 24539 - 11905: 0x8FE9,
+ 24540 - 11905: 0x8FEA,
+ 24541 - 11905: 0xE3C3,
+ 24542 - 11905: 0x8FEB,
+ 24543 - 11905: 0x8FEC,
+ 24544 - 11905: 0xD6D2,
+ 24545 - 11905: 0xE2E7,
+ 24546 - 11905: 0x8FED,
+ 24547 - 11905: 0x8FEE,
+ 24548 - 11905: 0xE2E8,
+ 24549 - 11905: 0x8FEF,
+ 24550 - 11905: 0x8FF0,
+ 24551 - 11905: 0xD3C7,
+ 24552 - 11905: 0x8FF1,
+ 24553 - 11905: 0x8FF2,
+ 24554 - 11905: 0xE2EC,
+ 24555 - 11905: 0xBFEC,
+ 24556 - 11905: 0x8FF3,
+ 24557 - 11905: 0xE2ED,
+ 24558 - 11905: 0xE2E5,
+ 24559 - 11905: 0x8FF4,
+ 24560 - 11905: 0x8FF5,
+ 24561 - 11905: 0xB3C0,
+ 24562 - 11905: 0x8FF6,
+ 24563 - 11905: 0x8FF7,
+ 24564 - 11905: 0x8FF8,
+ 24565 - 11905: 0xC4EE,
+ 24566 - 11905: 0x8FF9,
+ 24567 - 11905: 0x8FFA,
+ 24568 - 11905: 0xE2EE,
+ 24569 - 11905: 0x8FFB,
+ 24570 - 11905: 0x8FFC,
+ 24571 - 11905: 0xD0C3,
+ 24572 - 11905: 0x8FFD,
+ 24573 - 11905: 0xBAF6,
+ 24574 - 11905: 0xE2E9,
+ 24575 - 11905: 0xB7DE,
+ 24576 - 11905: 0xBBB3,
+ 24577 - 11905: 0xCCAC,
+ 24578 - 11905: 0xCBCB,
+ 24579 - 11905: 0xE2E4,
+ 24580 - 11905: 0xE2E6,
+ 24581 - 11905: 0xE2EA,
+ 24582 - 11905: 0xE2EB,
+ 24583 - 11905: 0x8FFE,
+ 24584 - 11905: 0x9040,
+ 24585 - 11905: 0x9041,
+ 24586 - 11905: 0xE2F7,
+ 24587 - 11905: 0x9042,
+ 24588 - 11905: 0x9043,
+ 24589 - 11905: 0xE2F4,
+ 24590 - 11905: 0xD4F5,
+ 24591 - 11905: 0xE2F3,
+ 24592 - 11905: 0x9044,
+ 24593 - 11905: 0x9045,
+ 24594 - 11905: 0xC5AD,
+ 24595 - 11905: 0x9046,
+ 24596 - 11905: 0xD5FA,
+ 24597 - 11905: 0xC5C2,
+ 24598 - 11905: 0xB2C0,
+ 24599 - 11905: 0x9047,
+ 24600 - 11905: 0x9048,
+ 24601 - 11905: 0xE2EF,
+ 24602 - 11905: 0x9049,
+ 24603 - 11905: 0xE2F2,
+ 24604 - 11905: 0xC1AF,
+ 24605 - 11905: 0xCBBC,
+ 24606 - 11905: 0x904A,
+ 24607 - 11905: 0x904B,
+ 24608 - 11905: 0xB5A1,
+ 24609 - 11905: 0xE2F9,
+ 24610 - 11905: 0x904C,
+ 24611 - 11905: 0x904D,
+ 24612 - 11905: 0x904E,
+ 24613 - 11905: 0xBCB1,
+ 24614 - 11905: 0xE2F1,
+ 24615 - 11905: 0xD0D4,
+ 24616 - 11905: 0xD4B9,
+ 24617 - 11905: 0xE2F5,
+ 24618 - 11905: 0xB9D6,
+ 24619 - 11905: 0xE2F6,
+ 24620 - 11905: 0x904F,
+ 24621 - 11905: 0x9050,
+ 24622 - 11905: 0x9051,
+ 24623 - 11905: 0xC7D3,
+ 24624 - 11905: 0x9052,
+ 24625 - 11905: 0x9053,
+ 24626 - 11905: 0x9054,
+ 24627 - 11905: 0x9055,
+ 24628 - 11905: 0x9056,
+ 24629 - 11905: 0xE2F0,
+ 24630 - 11905: 0x9057,
+ 24631 - 11905: 0x9058,
+ 24632 - 11905: 0x9059,
+ 24633 - 11905: 0x905A,
+ 24634 - 11905: 0x905B,
+ 24635 - 11905: 0xD7DC,
+ 24636 - 11905: 0xEDA1,
+ 24637 - 11905: 0x905C,
+ 24638 - 11905: 0x905D,
+ 24639 - 11905: 0xE2F8,
+ 24640 - 11905: 0x905E,
+ 24641 - 11905: 0xEDA5,
+ 24642 - 11905: 0xE2FE,
+ 24643 - 11905: 0xCAD1,
+ 24644 - 11905: 0x905F,
+ 24645 - 11905: 0x9060,
+ 24646 - 11905: 0x9061,
+ 24647 - 11905: 0x9062,
+ 24648 - 11905: 0x9063,
+ 24649 - 11905: 0x9064,
+ 24650 - 11905: 0x9065,
+ 24651 - 11905: 0xC1B5,
+ 24652 - 11905: 0x9066,
+ 24653 - 11905: 0xBBD0,
+ 24654 - 11905: 0x9067,
+ 24655 - 11905: 0x9068,
+ 24656 - 11905: 0xBFD6,
+ 24657 - 11905: 0x9069,
+ 24658 - 11905: 0xBAE3,
+ 24659 - 11905: 0x906A,
+ 24660 - 11905: 0x906B,
+ 24661 - 11905: 0xCBA1,
+ 24662 - 11905: 0x906C,
+ 24663 - 11905: 0x906D,
+ 24664 - 11905: 0x906E,
+ 24665 - 11905: 0xEDA6,
+ 24666 - 11905: 0xEDA3,
+ 24667 - 11905: 0x906F,
+ 24668 - 11905: 0x9070,
+ 24669 - 11905: 0xEDA2,
+ 24670 - 11905: 0x9071,
+ 24671 - 11905: 0x9072,
+ 24672 - 11905: 0x9073,
+ 24673 - 11905: 0x9074,
+ 24674 - 11905: 0xBBD6,
+ 24675 - 11905: 0xEDA7,
+ 24676 - 11905: 0xD0F4,
+ 24677 - 11905: 0x9075,
+ 24678 - 11905: 0x9076,
+ 24679 - 11905: 0xEDA4,
+ 24680 - 11905: 0xBADE,
+ 24681 - 11905: 0xB6F7,
+ 24682 - 11905: 0xE3A1,
+ 24683 - 11905: 0xB6B2,
+ 24684 - 11905: 0xCCF1,
+ 24685 - 11905: 0xB9A7,
+ 24686 - 11905: 0x9077,
+ 24687 - 11905: 0xCFA2,
+ 24688 - 11905: 0xC7A1,
+ 24689 - 11905: 0x9078,
+ 24690 - 11905: 0x9079,
+ 24691 - 11905: 0xBFD2,
+ 24692 - 11905: 0x907A,
+ 24693 - 11905: 0x907B,
+ 24694 - 11905: 0xB6F1,
+ 24695 - 11905: 0x907C,
+ 24696 - 11905: 0xE2FA,
+ 24697 - 11905: 0xE2FB,
+ 24698 - 11905: 0xE2FD,
+ 24699 - 11905: 0xE2FC,
+ 24700 - 11905: 0xC4D5,
+ 24701 - 11905: 0xE3A2,
+ 24702 - 11905: 0x907D,
+ 24703 - 11905: 0xD3C1,
+ 24704 - 11905: 0x907E,
+ 24705 - 11905: 0x9080,
+ 24706 - 11905: 0x9081,
+ 24707 - 11905: 0xE3A7,
+ 24708 - 11905: 0xC7C4,
+ 24709 - 11905: 0x9082,
+ 24710 - 11905: 0x9083,
+ 24711 - 11905: 0x9084,
+ 24712 - 11905: 0x9085,
+ 24713 - 11905: 0xCFA4,
+ 24714 - 11905: 0x9086,
+ 24715 - 11905: 0x9087,
+ 24716 - 11905: 0xE3A9,
+ 24717 - 11905: 0xBAB7,
+ 24718 - 11905: 0x9088,
+ 24719 - 11905: 0x9089,
+ 24720 - 11905: 0x908A,
+ 24721 - 11905: 0x908B,
+ 24722 - 11905: 0xE3A8,
+ 24723 - 11905: 0x908C,
+ 24724 - 11905: 0xBBDA,
+ 24725 - 11905: 0x908D,
+ 24726 - 11905: 0xE3A3,
+ 24727 - 11905: 0x908E,
+ 24728 - 11905: 0x908F,
+ 24729 - 11905: 0x9090,
+ 24730 - 11905: 0xE3A4,
+ 24731 - 11905: 0xE3AA,
+ 24732 - 11905: 0x9091,
+ 24733 - 11905: 0xE3A6,
+ 24734 - 11905: 0x9092,
+ 24735 - 11905: 0xCEF2,
+ 24736 - 11905: 0xD3C6,
+ 24737 - 11905: 0x9093,
+ 24738 - 11905: 0x9094,
+ 24739 - 11905: 0xBBBC,
+ 24740 - 11905: 0x9095,
+ 24741 - 11905: 0x9096,
+ 24742 - 11905: 0xD4C3,
+ 24743 - 11905: 0x9097,
+ 24744 - 11905: 0xC4FA,
+ 24745 - 11905: 0x9098,
+ 24746 - 11905: 0x9099,
+ 24747 - 11905: 0xEDA8,
+ 24748 - 11905: 0xD0FC,
+ 24749 - 11905: 0xE3A5,
+ 24750 - 11905: 0x909A,
+ 24751 - 11905: 0xC3F5,
+ 24752 - 11905: 0x909B,
+ 24753 - 11905: 0xE3AD,
+ 24754 - 11905: 0xB1AF,
+ 24755 - 11905: 0x909C,
+ 24756 - 11905: 0xE3B2,
+ 24757 - 11905: 0x909D,
+ 24758 - 11905: 0x909E,
+ 24759 - 11905: 0x909F,
+ 24760 - 11905: 0xBCC2,
+ 24761 - 11905: 0x90A0,
+ 24762 - 11905: 0x90A1,
+ 24763 - 11905: 0xE3AC,
+ 24764 - 11905: 0xB5BF,
+ 24765 - 11905: 0x90A2,
+ 24766 - 11905: 0x90A3,
+ 24767 - 11905: 0x90A4,
+ 24768 - 11905: 0x90A5,
+ 24769 - 11905: 0x90A6,
+ 24770 - 11905: 0x90A7,
+ 24771 - 11905: 0x90A8,
+ 24772 - 11905: 0x90A9,
+ 24773 - 11905: 0xC7E9,
+ 24774 - 11905: 0xE3B0,
+ 24775 - 11905: 0x90AA,
+ 24776 - 11905: 0x90AB,
+ 24777 - 11905: 0x90AC,
+ 24778 - 11905: 0xBEAA,
+ 24779 - 11905: 0xCDEF,
+ 24780 - 11905: 0x90AD,
+ 24781 - 11905: 0x90AE,
+ 24782 - 11905: 0x90AF,
+ 24783 - 11905: 0x90B0,
+ 24784 - 11905: 0x90B1,
+ 24785 - 11905: 0xBBF3,
+ 24786 - 11905: 0x90B2,
+ 24787 - 11905: 0x90B3,
+ 24788 - 11905: 0x90B4,
+ 24789 - 11905: 0xCCE8,
+ 24790 - 11905: 0x90B5,
+ 24791 - 11905: 0x90B6,
+ 24792 - 11905: 0xE3AF,
+ 24793 - 11905: 0x90B7,
+ 24794 - 11905: 0xE3B1,
+ 24795 - 11905: 0x90B8,
+ 24796 - 11905: 0xCFA7,
+ 24797 - 11905: 0xE3AE,
+ 24798 - 11905: 0x90B9,
+ 24799 - 11905: 0xCEA9,
+ 24800 - 11905: 0xBBDD,
+ 24801 - 11905: 0x90BA,
+ 24802 - 11905: 0x90BB,
+ 24803 - 11905: 0x90BC,
+ 24804 - 11905: 0x90BD,
+ 24805 - 11905: 0x90BE,
+ 24806 - 11905: 0xB5EB,
+ 24807 - 11905: 0xBEE5,
+ 24808 - 11905: 0xB2D2,
+ 24809 - 11905: 0xB3CD,
+ 24810 - 11905: 0x90BF,
+ 24811 - 11905: 0xB1B9,
+ 24812 - 11905: 0xE3AB,
+ 24813 - 11905: 0xB2D1,
+ 24814 - 11905: 0xB5AC,
+ 24815 - 11905: 0xB9DF,
+ 24816 - 11905: 0xB6E8,
+ 24817 - 11905: 0x90C0,
+ 24818 - 11905: 0x90C1,
+ 24819 - 11905: 0xCFEB,
+ 24820 - 11905: 0xE3B7,
+ 24821 - 11905: 0x90C2,
+ 24822 - 11905: 0xBBCC,
+ 24823 - 11905: 0x90C3,
+ 24824 - 11905: 0x90C4,
+ 24825 - 11905: 0xC8C7,
+ 24826 - 11905: 0xD0CA,
+ 24827 - 11905: 0x90C5,
+ 24828 - 11905: 0x90C6,
+ 24829 - 11905: 0x90C7,
+ 24830 - 11905: 0x90C8,
+ 24831 - 11905: 0x90C9,
+ 24832 - 11905: 0xE3B8,
+ 24833 - 11905: 0xB3EE,
+ 24834 - 11905: 0x90CA,
+ 24835 - 11905: 0x90CB,
+ 24836 - 11905: 0x90CC,
+ 24837 - 11905: 0x90CD,
+ 24838 - 11905: 0xEDA9,
+ 24839 - 11905: 0x90CE,
+ 24840 - 11905: 0xD3FA,
+ 24841 - 11905: 0xD3E4,
+ 24842 - 11905: 0x90CF,
+ 24843 - 11905: 0x90D0,
+ 24844 - 11905: 0x90D1,
+ 24845 - 11905: 0xEDAA,
+ 24846 - 11905: 0xE3B9,
+ 24847 - 11905: 0xD2E2,
+ 24848 - 11905: 0x90D2,
+ 24849 - 11905: 0x90D3,
+ 24850 - 11905: 0x90D4,
+ 24851 - 11905: 0x90D5,
+ 24852 - 11905: 0x90D6,
+ 24853 - 11905: 0xE3B5,
+ 24854 - 11905: 0x90D7,
+ 24855 - 11905: 0x90D8,
+ 24856 - 11905: 0x90D9,
+ 24857 - 11905: 0x90DA,
+ 24858 - 11905: 0xD3DE,
+ 24859 - 11905: 0x90DB,
+ 24860 - 11905: 0x90DC,
+ 24861 - 11905: 0x90DD,
+ 24862 - 11905: 0x90DE,
+ 24863 - 11905: 0xB8D0,
+ 24864 - 11905: 0xE3B3,
+ 24865 - 11905: 0x90DF,
+ 24866 - 11905: 0x90E0,
+ 24867 - 11905: 0xE3B6,
+ 24868 - 11905: 0xB7DF,
+ 24869 - 11905: 0x90E1,
+ 24870 - 11905: 0xE3B4,
+ 24871 - 11905: 0xC0A2,
+ 24872 - 11905: 0x90E2,
+ 24873 - 11905: 0x90E3,
+ 24874 - 11905: 0x90E4,
+ 24875 - 11905: 0xE3BA,
+ 24876 - 11905: 0x90E5,
+ 24877 - 11905: 0x90E6,
+ 24878 - 11905: 0x90E7,
+ 24879 - 11905: 0x90E8,
+ 24880 - 11905: 0x90E9,
+ 24881 - 11905: 0x90EA,
+ 24882 - 11905: 0x90EB,
+ 24883 - 11905: 0x90EC,
+ 24884 - 11905: 0x90ED,
+ 24885 - 11905: 0x90EE,
+ 24886 - 11905: 0x90EF,
+ 24887 - 11905: 0x90F0,
+ 24888 - 11905: 0x90F1,
+ 24889 - 11905: 0x90F2,
+ 24890 - 11905: 0x90F3,
+ 24891 - 11905: 0x90F4,
+ 24892 - 11905: 0x90F5,
+ 24893 - 11905: 0x90F6,
+ 24894 - 11905: 0x90F7,
+ 24895 - 11905: 0xD4B8,
+ 24896 - 11905: 0x90F8,
+ 24897 - 11905: 0x90F9,
+ 24898 - 11905: 0x90FA,
+ 24899 - 11905: 0x90FB,
+ 24900 - 11905: 0x90FC,
+ 24901 - 11905: 0x90FD,
+ 24902 - 11905: 0x90FE,
+ 24903 - 11905: 0x9140,
+ 24904 - 11905: 0xB4C8,
+ 24905 - 11905: 0x9141,
+ 24906 - 11905: 0xE3BB,
+ 24907 - 11905: 0x9142,
+ 24908 - 11905: 0xBBC5,
+ 24909 - 11905: 0x9143,
+ 24910 - 11905: 0xC9F7,
+ 24911 - 11905: 0x9144,
+ 24912 - 11905: 0x9145,
+ 24913 - 11905: 0xC9E5,
+ 24914 - 11905: 0x9146,
+ 24915 - 11905: 0x9147,
+ 24916 - 11905: 0x9148,
+ 24917 - 11905: 0xC4BD,
+ 24918 - 11905: 0x9149,
+ 24919 - 11905: 0x914A,
+ 24920 - 11905: 0x914B,
+ 24921 - 11905: 0x914C,
+ 24922 - 11905: 0x914D,
+ 24923 - 11905: 0x914E,
+ 24924 - 11905: 0x914F,
+ 24925 - 11905: 0xEDAB,
+ 24926 - 11905: 0x9150,
+ 24927 - 11905: 0x9151,
+ 24928 - 11905: 0x9152,
+ 24929 - 11905: 0x9153,
+ 24930 - 11905: 0xC2FD,
+ 24931 - 11905: 0x9154,
+ 24932 - 11905: 0x9155,
+ 24933 - 11905: 0x9156,
+ 24934 - 11905: 0x9157,
+ 24935 - 11905: 0xBBDB,
+ 24936 - 11905: 0xBFAE,
+ 24937 - 11905: 0x9158,
+ 24938 - 11905: 0x9159,
+ 24939 - 11905: 0x915A,
+ 24940 - 11905: 0x915B,
+ 24941 - 11905: 0x915C,
+ 24942 - 11905: 0x915D,
+ 24943 - 11905: 0x915E,
+ 24944 - 11905: 0xCEBF,
+ 24945 - 11905: 0x915F,
+ 24946 - 11905: 0x9160,
+ 24947 - 11905: 0x9161,
+ 24948 - 11905: 0x9162,
+ 24949 - 11905: 0xE3BC,
+ 24950 - 11905: 0x9163,
+ 24951 - 11905: 0xBFB6,
+ 24952 - 11905: 0x9164,
+ 24953 - 11905: 0x9165,
+ 24954 - 11905: 0x9166,
+ 24955 - 11905: 0x9167,
+ 24956 - 11905: 0x9168,
+ 24957 - 11905: 0x9169,
+ 24958 - 11905: 0x916A,
+ 24959 - 11905: 0x916B,
+ 24960 - 11905: 0x916C,
+ 24961 - 11905: 0x916D,
+ 24962 - 11905: 0x916E,
+ 24963 - 11905: 0x916F,
+ 24964 - 11905: 0x9170,
+ 24965 - 11905: 0x9171,
+ 24966 - 11905: 0x9172,
+ 24967 - 11905: 0x9173,
+ 24968 - 11905: 0x9174,
+ 24969 - 11905: 0x9175,
+ 24970 - 11905: 0x9176,
+ 24971 - 11905: 0xB1EF,
+ 24972 - 11905: 0x9177,
+ 24973 - 11905: 0x9178,
+ 24974 - 11905: 0xD4F7,
+ 24975 - 11905: 0x9179,
+ 24976 - 11905: 0x917A,
+ 24977 - 11905: 0x917B,
+ 24978 - 11905: 0x917C,
+ 24979 - 11905: 0x917D,
+ 24980 - 11905: 0xE3BE,
+ 24981 - 11905: 0x917E,
+ 24982 - 11905: 0x9180,
+ 24983 - 11905: 0x9181,
+ 24984 - 11905: 0x9182,
+ 24985 - 11905: 0x9183,
+ 24986 - 11905: 0x9184,
+ 24987 - 11905: 0x9185,
+ 24988 - 11905: 0x9186,
+ 24989 - 11905: 0xEDAD,
+ 24990 - 11905: 0x9187,
+ 24991 - 11905: 0x9188,
+ 24992 - 11905: 0x9189,
+ 24993 - 11905: 0x918A,
+ 24994 - 11905: 0x918B,
+ 24995 - 11905: 0x918C,
+ 24996 - 11905: 0x918D,
+ 24997 - 11905: 0x918E,
+ 24998 - 11905: 0x918F,
+ 24999 - 11905: 0xE3BF,
+ 25000 - 11905: 0xBAA9,
+ 25001 - 11905: 0xEDAC,
+ 25002 - 11905: 0x9190,
+ 25003 - 11905: 0x9191,
+ 25004 - 11905: 0xE3BD,
+ 25005 - 11905: 0x9192,
+ 25006 - 11905: 0x9193,
+ 25007 - 11905: 0x9194,
+ 25008 - 11905: 0x9195,
+ 25009 - 11905: 0x9196,
+ 25010 - 11905: 0x9197,
+ 25011 - 11905: 0x9198,
+ 25012 - 11905: 0x9199,
+ 25013 - 11905: 0x919A,
+ 25014 - 11905: 0x919B,
+ 25015 - 11905: 0xE3C0,
+ 25016 - 11905: 0x919C,
+ 25017 - 11905: 0x919D,
+ 25018 - 11905: 0x919E,
+ 25019 - 11905: 0x919F,
+ 25020 - 11905: 0x91A0,
+ 25021 - 11905: 0x91A1,
+ 25022 - 11905: 0xBAB6,
+ 25023 - 11905: 0x91A2,
+ 25024 - 11905: 0x91A3,
+ 25025 - 11905: 0x91A4,
+ 25026 - 11905: 0xB6AE,
+ 25027 - 11905: 0x91A5,
+ 25028 - 11905: 0x91A6,
+ 25029 - 11905: 0x91A7,
+ 25030 - 11905: 0x91A8,
+ 25031 - 11905: 0x91A9,
+ 25032 - 11905: 0xD0B8,
+ 25033 - 11905: 0x91AA,
+ 25034 - 11905: 0xB0C3,
+ 25035 - 11905: 0xEDAE,
+ 25036 - 11905: 0x91AB,
+ 25037 - 11905: 0x91AC,
+ 25038 - 11905: 0x91AD,
+ 25039 - 11905: 0x91AE,
+ 25040 - 11905: 0x91AF,
+ 25041 - 11905: 0xEDAF,
+ 25042 - 11905: 0xC0C1,
+ 25043 - 11905: 0x91B0,
+ 25044 - 11905: 0xE3C1,
+ 25045 - 11905: 0x91B1,
+ 25046 - 11905: 0x91B2,
+ 25047 - 11905: 0x91B3,
+ 25048 - 11905: 0x91B4,
+ 25049 - 11905: 0x91B5,
+ 25050 - 11905: 0x91B6,
+ 25051 - 11905: 0x91B7,
+ 25052 - 11905: 0x91B8,
+ 25053 - 11905: 0x91B9,
+ 25054 - 11905: 0x91BA,
+ 25055 - 11905: 0x91BB,
+ 25056 - 11905: 0x91BC,
+ 25057 - 11905: 0x91BD,
+ 25058 - 11905: 0x91BE,
+ 25059 - 11905: 0x91BF,
+ 25060 - 11905: 0x91C0,
+ 25061 - 11905: 0x91C1,
+ 25062 - 11905: 0xC5B3,
+ 25063 - 11905: 0x91C2,
+ 25064 - 11905: 0x91C3,
+ 25065 - 11905: 0x91C4,
+ 25066 - 11905: 0x91C5,
+ 25067 - 11905: 0x91C6,
+ 25068 - 11905: 0x91C7,
+ 25069 - 11905: 0x91C8,
+ 25070 - 11905: 0x91C9,
+ 25071 - 11905: 0x91CA,
+ 25072 - 11905: 0x91CB,
+ 25073 - 11905: 0x91CC,
+ 25074 - 11905: 0x91CD,
+ 25075 - 11905: 0x91CE,
+ 25076 - 11905: 0x91CF,
+ 25077 - 11905: 0xE3C2,
+ 25078 - 11905: 0x91D0,
+ 25079 - 11905: 0x91D1,
+ 25080 - 11905: 0x91D2,
+ 25081 - 11905: 0x91D3,
+ 25082 - 11905: 0x91D4,
+ 25083 - 11905: 0x91D5,
+ 25084 - 11905: 0x91D6,
+ 25085 - 11905: 0x91D7,
+ 25086 - 11905: 0x91D8,
+ 25087 - 11905: 0xDCB2,
+ 25088 - 11905: 0x91D9,
+ 25089 - 11905: 0x91DA,
+ 25090 - 11905: 0x91DB,
+ 25091 - 11905: 0x91DC,
+ 25092 - 11905: 0x91DD,
+ 25093 - 11905: 0x91DE,
+ 25094 - 11905: 0xEDB0,
+ 25095 - 11905: 0x91DF,
+ 25096 - 11905: 0xB8EA,
+ 25097 - 11905: 0x91E0,
+ 25098 - 11905: 0xCEEC,
+ 25099 - 11905: 0xEAA7,
+ 25100 - 11905: 0xD0E7,
+ 25101 - 11905: 0xCAF9,
+ 25102 - 11905: 0xC8D6,
+ 25103 - 11905: 0xCFB7,
+ 25104 - 11905: 0xB3C9,
+ 25105 - 11905: 0xCED2,
+ 25106 - 11905: 0xBDE4,
+ 25107 - 11905: 0x91E1,
+ 25108 - 11905: 0x91E2,
+ 25109 - 11905: 0xE3DE,
+ 25110 - 11905: 0xBBF2,
+ 25111 - 11905: 0xEAA8,
+ 25112 - 11905: 0xD5BD,
+ 25113 - 11905: 0x91E3,
+ 25114 - 11905: 0xC6DD,
+ 25115 - 11905: 0xEAA9,
+ 25116 - 11905: 0x91E4,
+ 25117 - 11905: 0x91E5,
+ 25118 - 11905: 0x91E6,
+ 25119 - 11905: 0xEAAA,
+ 25120 - 11905: 0x91E7,
+ 25121 - 11905: 0xEAAC,
+ 25122 - 11905: 0xEAAB,
+ 25123 - 11905: 0x91E8,
+ 25124 - 11905: 0xEAAE,
+ 25125 - 11905: 0xEAAD,
+ 25126 - 11905: 0x91E9,
+ 25127 - 11905: 0x91EA,
+ 25128 - 11905: 0x91EB,
+ 25129 - 11905: 0x91EC,
+ 25130 - 11905: 0xBDD8,
+ 25131 - 11905: 0x91ED,
+ 25132 - 11905: 0xEAAF,
+ 25133 - 11905: 0x91EE,
+ 25134 - 11905: 0xC2BE,
+ 25135 - 11905: 0x91EF,
+ 25136 - 11905: 0x91F0,
+ 25137 - 11905: 0x91F1,
+ 25138 - 11905: 0x91F2,
+ 25139 - 11905: 0xB4C1,
+ 25140 - 11905: 0xB4F7,
+ 25141 - 11905: 0x91F3,
+ 25142 - 11905: 0x91F4,
+ 25143 - 11905: 0xBBA7,
+ 25144 - 11905: 0x91F5,
+ 25145 - 11905: 0x91F6,
+ 25146 - 11905: 0x91F7,
+ 25147 - 11905: 0x91F8,
+ 25148 - 11905: 0x91F9,
+ 25149 - 11905: 0xECE6,
+ 25150 - 11905: 0xECE5,
+ 25151 - 11905: 0xB7BF,
+ 25152 - 11905: 0xCBF9,
+ 25153 - 11905: 0xB1E2,
+ 25154 - 11905: 0x91FA,
+ 25155 - 11905: 0xECE7,
+ 25156 - 11905: 0x91FB,
+ 25157 - 11905: 0x91FC,
+ 25158 - 11905: 0x91FD,
+ 25159 - 11905: 0xC9C8,
+ 25160 - 11905: 0xECE8,
+ 25161 - 11905: 0xECE9,
+ 25162 - 11905: 0x91FE,
+ 25163 - 11905: 0xCAD6,
+ 25164 - 11905: 0xDED0,
+ 25165 - 11905: 0xB2C5,
+ 25166 - 11905: 0xD4FA,
+ 25167 - 11905: 0x9240,
+ 25168 - 11905: 0x9241,
+ 25169 - 11905: 0xC6CB,
+ 25170 - 11905: 0xB0C7,
+ 25171 - 11905: 0xB4F2,
+ 25172 - 11905: 0xC8D3,
+ 25173 - 11905: 0x9242,
+ 25174 - 11905: 0x9243,
+ 25175 - 11905: 0x9244,
+ 25176 - 11905: 0xCDD0,
+ 25177 - 11905: 0x9245,
+ 25178 - 11905: 0x9246,
+ 25179 - 11905: 0xBFB8,
+ 25180 - 11905: 0x9247,
+ 25181 - 11905: 0x9248,
+ 25182 - 11905: 0x9249,
+ 25183 - 11905: 0x924A,
+ 25184 - 11905: 0x924B,
+ 25185 - 11905: 0x924C,
+ 25186 - 11905: 0x924D,
+ 25187 - 11905: 0xBFDB,
+ 25188 - 11905: 0x924E,
+ 25189 - 11905: 0x924F,
+ 25190 - 11905: 0xC7A4,
+ 25191 - 11905: 0xD6B4,
+ 25192 - 11905: 0x9250,
+ 25193 - 11905: 0xC0A9,
+ 25194 - 11905: 0xDED1,
+ 25195 - 11905: 0xC9A8,
+ 25196 - 11905: 0xD1EF,
+ 25197 - 11905: 0xC5A4,
+ 25198 - 11905: 0xB0E7,
+ 25199 - 11905: 0xB3B6,
+ 25200 - 11905: 0xC8C5,
+ 25201 - 11905: 0x9251,
+ 25202 - 11905: 0x9252,
+ 25203 - 11905: 0xB0E2,
+ 25204 - 11905: 0x9253,
+ 25205 - 11905: 0x9254,
+ 25206 - 11905: 0xB7F6,
+ 25207 - 11905: 0x9255,
+ 25208 - 11905: 0x9256,
+ 25209 - 11905: 0xC5FA,
+ 25210 - 11905: 0x9257,
+ 25211 - 11905: 0x9258,
+ 25212 - 11905: 0xB6F3,
+ 25213 - 11905: 0x9259,
+ 25214 - 11905: 0xD5D2,
+ 25215 - 11905: 0xB3D0,
+ 25216 - 11905: 0xBCBC,
+ 25217 - 11905: 0x925A,
+ 25218 - 11905: 0x925B,
+ 25219 - 11905: 0x925C,
+ 25220 - 11905: 0xB3AD,
+ 25221 - 11905: 0x925D,
+ 25222 - 11905: 0x925E,
+ 25223 - 11905: 0x925F,
+ 25224 - 11905: 0x9260,
+ 25225 - 11905: 0xBEF1,
+ 25226 - 11905: 0xB0D1,
+ 25227 - 11905: 0x9261,
+ 25228 - 11905: 0x9262,
+ 25229 - 11905: 0x9263,
+ 25230 - 11905: 0x9264,
+ 25231 - 11905: 0x9265,
+ 25232 - 11905: 0x9266,
+ 25233 - 11905: 0xD2D6,
+ 25234 - 11905: 0xCAE3,
+ 25235 - 11905: 0xD7A5,
+ 25236 - 11905: 0x9267,
+ 25237 - 11905: 0xCDB6,
+ 25238 - 11905: 0xB6B6,
+ 25239 - 11905: 0xBFB9,
+ 25240 - 11905: 0xD5DB,
+ 25241 - 11905: 0x9268,
+ 25242 - 11905: 0xB8A7,
+ 25243 - 11905: 0xC5D7,
+ 25244 - 11905: 0x9269,
+ 25245 - 11905: 0x926A,
+ 25246 - 11905: 0x926B,
+ 25247 - 11905: 0xDED2,
+ 25248 - 11905: 0xBFD9,
+ 25249 - 11905: 0xC2D5,
+ 25250 - 11905: 0xC7C0,
+ 25251 - 11905: 0x926C,
+ 25252 - 11905: 0xBBA4,
+ 25253 - 11905: 0xB1A8,
+ 25254 - 11905: 0x926D,
+ 25255 - 11905: 0x926E,
+ 25256 - 11905: 0xC5EA,
+ 25257 - 11905: 0x926F,
+ 25258 - 11905: 0x9270,
+ 25259 - 11905: 0xC5FB,
+ 25260 - 11905: 0xCCA7,
+ 25261 - 11905: 0x9271,
+ 25262 - 11905: 0x9272,
+ 25263 - 11905: 0x9273,
+ 25264 - 11905: 0x9274,
+ 25265 - 11905: 0xB1A7,
+ 25266 - 11905: 0x9275,
+ 25267 - 11905: 0x9276,
+ 25268 - 11905: 0x9277,
+ 25269 - 11905: 0xB5D6,
+ 25270 - 11905: 0x9278,
+ 25271 - 11905: 0x9279,
+ 25272 - 11905: 0x927A,
+ 25273 - 11905: 0xC4A8,
+ 25274 - 11905: 0x927B,
+ 25275 - 11905: 0xDED3,
+ 25276 - 11905: 0xD1BA,
+ 25277 - 11905: 0xB3E9,
+ 25278 - 11905: 0x927C,
+ 25279 - 11905: 0xC3F2,
+ 25280 - 11905: 0x927D,
+ 25281 - 11905: 0x927E,
+ 25282 - 11905: 0xB7F7,
+ 25283 - 11905: 0x9280,
+ 25284 - 11905: 0xD6F4,
+ 25285 - 11905: 0xB5A3,
+ 25286 - 11905: 0xB2F0,
+ 25287 - 11905: 0xC4B4,
+ 25288 - 11905: 0xC4E9,
+ 25289 - 11905: 0xC0AD,
+ 25290 - 11905: 0xDED4,
+ 25291 - 11905: 0x9281,
+ 25292 - 11905: 0xB0E8,
+ 25293 - 11905: 0xC5C4,
+ 25294 - 11905: 0xC1E0,
+ 25295 - 11905: 0x9282,
+ 25296 - 11905: 0xB9D5,
+ 25297 - 11905: 0x9283,
+ 25298 - 11905: 0xBEDC,
+ 25299 - 11905: 0xCDD8,
+ 25300 - 11905: 0xB0CE,
+ 25301 - 11905: 0x9284,
+ 25302 - 11905: 0xCDCF,
+ 25303 - 11905: 0xDED6,
+ 25304 - 11905: 0xBED0,
+ 25305 - 11905: 0xD7BE,
+ 25306 - 11905: 0xDED5,
+ 25307 - 11905: 0xD5D0,
+ 25308 - 11905: 0xB0DD,
+ 25309 - 11905: 0x9285,
+ 25310 - 11905: 0x9286,
+ 25311 - 11905: 0xC4E2,
+ 25312 - 11905: 0x9287,
+ 25313 - 11905: 0x9288,
+ 25314 - 11905: 0xC2A3,
+ 25315 - 11905: 0xBCF0,
+ 25316 - 11905: 0x9289,
+ 25317 - 11905: 0xD3B5,
+ 25318 - 11905: 0xC0B9,
+ 25319 - 11905: 0xC5A1,
+ 25320 - 11905: 0xB2A6,
+ 25321 - 11905: 0xD4F1,
+ 25322 - 11905: 0x928A,
+ 25323 - 11905: 0x928B,
+ 25324 - 11905: 0xC0A8,
+ 25325 - 11905: 0xCAC3,
+ 25326 - 11905: 0xDED7,
+ 25327 - 11905: 0xD5FC,
+ 25328 - 11905: 0x928C,
+ 25329 - 11905: 0xB9B0,
+ 25330 - 11905: 0x928D,
+ 25331 - 11905: 0xC8AD,
+ 25332 - 11905: 0xCBA9,
+ 25333 - 11905: 0x928E,
+ 25334 - 11905: 0xDED9,
+ 25335 - 11905: 0xBFBD,
+ 25336 - 11905: 0x928F,
+ 25337 - 11905: 0x9290,
+ 25338 - 11905: 0x9291,
+ 25339 - 11905: 0x9292,
+ 25340 - 11905: 0xC6B4,
+ 25341 - 11905: 0xD7A7,
+ 25342 - 11905: 0xCAB0,
+ 25343 - 11905: 0xC4C3,
+ 25344 - 11905: 0x9293,
+ 25345 - 11905: 0xB3D6,
+ 25346 - 11905: 0xB9D2,
+ 25347 - 11905: 0x9294,
+ 25348 - 11905: 0x9295,
+ 25349 - 11905: 0x9296,
+ 25350 - 11905: 0x9297,
+ 25351 - 11905: 0xD6B8,
+ 25352 - 11905: 0xEAFC,
+ 25353 - 11905: 0xB0B4,
+ 25354 - 11905: 0x9298,
+ 25355 - 11905: 0x9299,
+ 25356 - 11905: 0x929A,
+ 25357 - 11905: 0x929B,
+ 25358 - 11905: 0xBFE6,
+ 25359 - 11905: 0x929C,
+ 25360 - 11905: 0x929D,
+ 25361 - 11905: 0xCCF4,
+ 25362 - 11905: 0x929E,
+ 25363 - 11905: 0x929F,
+ 25364 - 11905: 0x92A0,
+ 25365 - 11905: 0x92A1,
+ 25366 - 11905: 0xCDDA,
+ 25367 - 11905: 0x92A2,
+ 25368 - 11905: 0x92A3,
+ 25369 - 11905: 0x92A4,
+ 25370 - 11905: 0xD6BF,
+ 25371 - 11905: 0xC2CE,
+ 25372 - 11905: 0x92A5,
+ 25373 - 11905: 0xCECE,
+ 25374 - 11905: 0xCCA2,
+ 25375 - 11905: 0xD0AE,
+ 25376 - 11905: 0xC4D3,
+ 25377 - 11905: 0xB5B2,
+ 25378 - 11905: 0xDED8,
+ 25379 - 11905: 0xD5F5,
+ 25380 - 11905: 0xBCB7,
+ 25381 - 11905: 0xBBD3,
+ 25382 - 11905: 0x92A6,
+ 25383 - 11905: 0x92A7,
+ 25384 - 11905: 0xB0A4,
+ 25385 - 11905: 0x92A8,
+ 25386 - 11905: 0xC5B2,
+ 25387 - 11905: 0xB4EC,
+ 25388 - 11905: 0x92A9,
+ 25389 - 11905: 0x92AA,
+ 25390 - 11905: 0x92AB,
+ 25391 - 11905: 0xD5F1,
+ 25392 - 11905: 0x92AC,
+ 25393 - 11905: 0x92AD,
+ 25394 - 11905: 0xEAFD,
+ 25395 - 11905: 0x92AE,
+ 25396 - 11905: 0x92AF,
+ 25397 - 11905: 0x92B0,
+ 25398 - 11905: 0x92B1,
+ 25399 - 11905: 0x92B2,
+ 25400 - 11905: 0x92B3,
+ 25401 - 11905: 0xDEDA,
+ 25402 - 11905: 0xCDA6,
+ 25403 - 11905: 0x92B4,
+ 25404 - 11905: 0x92B5,
+ 25405 - 11905: 0xCDEC,
+ 25406 - 11905: 0x92B6,
+ 25407 - 11905: 0x92B7,
+ 25408 - 11905: 0x92B8,
+ 25409 - 11905: 0x92B9,
+ 25410 - 11905: 0xCEE6,
+ 25411 - 11905: 0xDEDC,
+ 25412 - 11905: 0x92BA,
+ 25413 - 11905: 0xCDB1,
+ 25414 - 11905: 0xC0A6,
+ 25415 - 11905: 0x92BB,
+ 25416 - 11905: 0x92BC,
+ 25417 - 11905: 0xD7BD,
+ 25418 - 11905: 0x92BD,
+ 25419 - 11905: 0xDEDB,
+ 25420 - 11905: 0xB0C6,
+ 25421 - 11905: 0xBAB4,
+ 25422 - 11905: 0xC9D3,
+ 25423 - 11905: 0xC4F3,
+ 25424 - 11905: 0xBEE8,
+ 25425 - 11905: 0x92BE,
+ 25426 - 11905: 0x92BF,
+ 25427 - 11905: 0x92C0,
+ 25428 - 11905: 0x92C1,
+ 25429 - 11905: 0xB2B6,
+ 25430 - 11905: 0x92C2,
+ 25431 - 11905: 0x92C3,
+ 25432 - 11905: 0x92C4,
+ 25433 - 11905: 0x92C5,
+ 25434 - 11905: 0x92C6,
+ 25435 - 11905: 0x92C7,
+ 25436 - 11905: 0x92C8,
+ 25437 - 11905: 0x92C9,
+ 25438 - 11905: 0xC0CC,
+ 25439 - 11905: 0xCBF0,
+ 25440 - 11905: 0x92CA,
+ 25441 - 11905: 0xBCF1,
+ 25442 - 11905: 0xBBBB,
+ 25443 - 11905: 0xB5B7,
+ 25444 - 11905: 0x92CB,
+ 25445 - 11905: 0x92CC,
+ 25446 - 11905: 0x92CD,
+ 25447 - 11905: 0xC5F5,
+ 25448 - 11905: 0x92CE,
+ 25449 - 11905: 0xDEE6,
+ 25450 - 11905: 0x92CF,
+ 25451 - 11905: 0x92D0,
+ 25452 - 11905: 0x92D1,
+ 25453 - 11905: 0xDEE3,
+ 25454 - 11905: 0xBEDD,
+ 25455 - 11905: 0x92D2,
+ 25456 - 11905: 0x92D3,
+ 25457 - 11905: 0xDEDF,
+ 25458 - 11905: 0x92D4,
+ 25459 - 11905: 0x92D5,
+ 25460 - 11905: 0x92D6,
+ 25461 - 11905: 0x92D7,
+ 25462 - 11905: 0xB4B7,
+ 25463 - 11905: 0xBDDD,
+ 25464 - 11905: 0x92D8,
+ 25465 - 11905: 0x92D9,
+ 25466 - 11905: 0xDEE0,
+ 25467 - 11905: 0xC4ED,
+ 25468 - 11905: 0x92DA,
+ 25469 - 11905: 0x92DB,
+ 25470 - 11905: 0x92DC,
+ 25471 - 11905: 0x92DD,
+ 25472 - 11905: 0xCFC6,
+ 25473 - 11905: 0x92DE,
+ 25474 - 11905: 0xB5E0,
+ 25475 - 11905: 0x92DF,
+ 25476 - 11905: 0x92E0,
+ 25477 - 11905: 0x92E1,
+ 25478 - 11905: 0x92E2,
+ 25479 - 11905: 0xB6DE,
+ 25480 - 11905: 0xCADA,
+ 25481 - 11905: 0xB5F4,
+ 25482 - 11905: 0xDEE5,
+ 25483 - 11905: 0x92E3,
+ 25484 - 11905: 0xD5C6,
+ 25485 - 11905: 0x92E4,
+ 25486 - 11905: 0xDEE1,
+ 25487 - 11905: 0xCCCD,
+ 25488 - 11905: 0xC6FE,
+ 25489 - 11905: 0x92E5,
+ 25490 - 11905: 0xC5C5,
+ 25491 - 11905: 0x92E6,
+ 25492 - 11905: 0x92E7,
+ 25493 - 11905: 0x92E8,
+ 25494 - 11905: 0xD2B4,
+ 25495 - 11905: 0x92E9,
+ 25496 - 11905: 0xBEF2,
+ 25497 - 11905: 0x92EA,
+ 25498 - 11905: 0x92EB,
+ 25499 - 11905: 0x92EC,
+ 25500 - 11905: 0x92ED,
+ 25501 - 11905: 0x92EE,
+ 25502 - 11905: 0x92EF,
+ 25503 - 11905: 0x92F0,
+ 25504 - 11905: 0xC2D3,
+ 25505 - 11905: 0x92F1,
+ 25506 - 11905: 0xCCBD,
+ 25507 - 11905: 0xB3B8,
+ 25508 - 11905: 0x92F2,
+ 25509 - 11905: 0xBDD3,
+ 25510 - 11905: 0x92F3,
+ 25511 - 11905: 0xBFD8,
+ 25512 - 11905: 0xCDC6,
+ 25513 - 11905: 0xD1DA,
+ 25514 - 11905: 0xB4EB,
+ 25515 - 11905: 0x92F4,
+ 25516 - 11905: 0xDEE4,
+ 25517 - 11905: 0xDEDD,
+ 25518 - 11905: 0xDEE7,
+ 25519 - 11905: 0x92F5,
+ 25520 - 11905: 0xEAFE,
+ 25521 - 11905: 0x92F6,
+ 25522 - 11905: 0x92F7,
+ 25523 - 11905: 0xC2B0,
+ 25524 - 11905: 0xDEE2,
+ 25525 - 11905: 0x92F8,
+ 25526 - 11905: 0x92F9,
+ 25527 - 11905: 0xD6C0,
+ 25528 - 11905: 0xB5A7,
+ 25529 - 11905: 0x92FA,
+ 25530 - 11905: 0xB2F4,
+ 25531 - 11905: 0x92FB,
+ 25532 - 11905: 0xDEE8,
+ 25533 - 11905: 0x92FC,
+ 25534 - 11905: 0xDEF2,
+ 25535 - 11905: 0x92FD,
+ 25536 - 11905: 0x92FE,
+ 25537 - 11905: 0x9340,
+ 25538 - 11905: 0x9341,
+ 25539 - 11905: 0x9342,
+ 25540 - 11905: 0xDEED,
+ 25541 - 11905: 0x9343,
+ 25542 - 11905: 0xDEF1,
+ 25543 - 11905: 0x9344,
+ 25544 - 11905: 0x9345,
+ 25545 - 11905: 0xC8E0,
+ 25546 - 11905: 0x9346,
+ 25547 - 11905: 0x9347,
+ 25548 - 11905: 0x9348,
+ 25549 - 11905: 0xD7E1,
+ 25550 - 11905: 0xDEEF,
+ 25551 - 11905: 0xC3E8,
+ 25552 - 11905: 0xCCE1,
+ 25553 - 11905: 0x9349,
+ 25554 - 11905: 0xB2E5,
+ 25555 - 11905: 0x934A,
+ 25556 - 11905: 0x934B,
+ 25557 - 11905: 0x934C,
+ 25558 - 11905: 0xD2BE,
+ 25559 - 11905: 0x934D,
+ 25560 - 11905: 0x934E,
+ 25561 - 11905: 0x934F,
+ 25562 - 11905: 0x9350,
+ 25563 - 11905: 0x9351,
+ 25564 - 11905: 0x9352,
+ 25565 - 11905: 0x9353,
+ 25566 - 11905: 0xDEEE,
+ 25567 - 11905: 0x9354,
+ 25568 - 11905: 0xDEEB,
+ 25569 - 11905: 0xCED5,
+ 25570 - 11905: 0x9355,
+ 25571 - 11905: 0xB4A7,
+ 25572 - 11905: 0x9356,
+ 25573 - 11905: 0x9357,
+ 25574 - 11905: 0x9358,
+ 25575 - 11905: 0x9359,
+ 25576 - 11905: 0x935A,
+ 25577 - 11905: 0xBFAB,
+ 25578 - 11905: 0xBEBE,
+ 25579 - 11905: 0x935B,
+ 25580 - 11905: 0x935C,
+ 25581 - 11905: 0xBDD2,
+ 25582 - 11905: 0x935D,
+ 25583 - 11905: 0x935E,
+ 25584 - 11905: 0x935F,
+ 25585 - 11905: 0x9360,
+ 25586 - 11905: 0xDEE9,
+ 25587 - 11905: 0x9361,
+ 25588 - 11905: 0xD4AE,
+ 25589 - 11905: 0x9362,
+ 25590 - 11905: 0xDEDE,
+ 25591 - 11905: 0x9363,
+ 25592 - 11905: 0xDEEA,
+ 25593 - 11905: 0x9364,
+ 25594 - 11905: 0x9365,
+ 25595 - 11905: 0x9366,
+ 25596 - 11905: 0x9367,
+ 25597 - 11905: 0xC0BF,
+ 25598 - 11905: 0x9368,
+ 25599 - 11905: 0xDEEC,
+ 25600 - 11905: 0xB2F3,
+ 25601 - 11905: 0xB8E9,
+ 25602 - 11905: 0xC2A7,
+ 25603 - 11905: 0x9369,
+ 25604 - 11905: 0x936A,
+ 25605 - 11905: 0xBDC1,
+ 25606 - 11905: 0x936B,
+ 25607 - 11905: 0x936C,
+ 25608 - 11905: 0x936D,
+ 25609 - 11905: 0x936E,
+ 25610 - 11905: 0x936F,
+ 25611 - 11905: 0xDEF5,
+ 25612 - 11905: 0xDEF8,
+ 25613 - 11905: 0x9370,
+ 25614 - 11905: 0x9371,
+ 25615 - 11905: 0xB2AB,
+ 25616 - 11905: 0xB4A4,
+ 25617 - 11905: 0x9372,
+ 25618 - 11905: 0x9373,
+ 25619 - 11905: 0xB4EA,
+ 25620 - 11905: 0xC9A6,
+ 25621 - 11905: 0x9374,
+ 25622 - 11905: 0x9375,
+ 25623 - 11905: 0x9376,
+ 25624 - 11905: 0x9377,
+ 25625 - 11905: 0x9378,
+ 25626 - 11905: 0x9379,
+ 25627 - 11905: 0xDEF6,
+ 25628 - 11905: 0xCBD1,
+ 25629 - 11905: 0x937A,
+ 25630 - 11905: 0xB8E3,
+ 25631 - 11905: 0x937B,
+ 25632 - 11905: 0xDEF7,
+ 25633 - 11905: 0xDEFA,
+ 25634 - 11905: 0x937C,
+ 25635 - 11905: 0x937D,
+ 25636 - 11905: 0x937E,
+ 25637 - 11905: 0x9380,
+ 25638 - 11905: 0xDEF9,
+ 25639 - 11905: 0x9381,
+ 25640 - 11905: 0x9382,
+ 25641 - 11905: 0x9383,
+ 25642 - 11905: 0xCCC2,
+ 25643 - 11905: 0x9384,
+ 25644 - 11905: 0xB0E1,
+ 25645 - 11905: 0xB4EE,
+ 25646 - 11905: 0x9385,
+ 25647 - 11905: 0x9386,
+ 25648 - 11905: 0x9387,
+ 25649 - 11905: 0x9388,
+ 25650 - 11905: 0x9389,
+ 25651 - 11905: 0x938A,
+ 25652 - 11905: 0xE5BA,
+ 25653 - 11905: 0x938B,
+ 25654 - 11905: 0x938C,
+ 25655 - 11905: 0x938D,
+ 25656 - 11905: 0x938E,
+ 25657 - 11905: 0x938F,
+ 25658 - 11905: 0xD0AF,
+ 25659 - 11905: 0x9390,
+ 25660 - 11905: 0x9391,
+ 25661 - 11905: 0xB2EB,
+ 25662 - 11905: 0x9392,
+ 25663 - 11905: 0xEBA1,
+ 25664 - 11905: 0x9393,
+ 25665 - 11905: 0xDEF4,
+ 25666 - 11905: 0x9394,
+ 25667 - 11905: 0x9395,
+ 25668 - 11905: 0xC9E3,
+ 25669 - 11905: 0xDEF3,
+ 25670 - 11905: 0xB0DA,
+ 25671 - 11905: 0xD2A1,
+ 25672 - 11905: 0xB1F7,
+ 25673 - 11905: 0x9396,
+ 25674 - 11905: 0xCCAF,
+ 25675 - 11905: 0x9397,
+ 25676 - 11905: 0x9398,
+ 25677 - 11905: 0x9399,
+ 25678 - 11905: 0x939A,
+ 25679 - 11905: 0x939B,
+ 25680 - 11905: 0x939C,
+ 25681 - 11905: 0x939D,
+ 25682 - 11905: 0xDEF0,
+ 25683 - 11905: 0x939E,
+ 25684 - 11905: 0xCBA4,
+ 25685 - 11905: 0x939F,
+ 25686 - 11905: 0x93A0,
+ 25687 - 11905: 0x93A1,
+ 25688 - 11905: 0xD5AA,
+ 25689 - 11905: 0x93A2,
+ 25690 - 11905: 0x93A3,
+ 25691 - 11905: 0x93A4,
+ 25692 - 11905: 0x93A5,
+ 25693 - 11905: 0x93A6,
+ 25694 - 11905: 0xDEFB,
+ 25695 - 11905: 0x93A7,
+ 25696 - 11905: 0x93A8,
+ 25697 - 11905: 0x93A9,
+ 25698 - 11905: 0x93AA,
+ 25699 - 11905: 0x93AB,
+ 25700 - 11905: 0x93AC,
+ 25701 - 11905: 0x93AD,
+ 25702 - 11905: 0x93AE,
+ 25703 - 11905: 0xB4DD,
+ 25704 - 11905: 0x93AF,
+ 25705 - 11905: 0xC4A6,
+ 25706 - 11905: 0x93B0,
+ 25707 - 11905: 0x93B1,
+ 25708 - 11905: 0x93B2,
+ 25709 - 11905: 0xDEFD,
+ 25710 - 11905: 0x93B3,
+ 25711 - 11905: 0x93B4,
+ 25712 - 11905: 0x93B5,
+ 25713 - 11905: 0x93B6,
+ 25714 - 11905: 0x93B7,
+ 25715 - 11905: 0x93B8,
+ 25716 - 11905: 0x93B9,
+ 25717 - 11905: 0x93BA,
+ 25718 - 11905: 0x93BB,
+ 25719 - 11905: 0x93BC,
+ 25720 - 11905: 0xC3FE,
+ 25721 - 11905: 0xC4A1,
+ 25722 - 11905: 0xDFA1,
+ 25723 - 11905: 0x93BD,
+ 25724 - 11905: 0x93BE,
+ 25725 - 11905: 0x93BF,
+ 25726 - 11905: 0x93C0,
+ 25727 - 11905: 0x93C1,
+ 25728 - 11905: 0x93C2,
+ 25729 - 11905: 0x93C3,
+ 25730 - 11905: 0xC1CC,
+ 25731 - 11905: 0x93C4,
+ 25732 - 11905: 0xDEFC,
+ 25733 - 11905: 0xBEEF,
+ 25734 - 11905: 0x93C5,
+ 25735 - 11905: 0xC6B2,
+ 25736 - 11905: 0x93C6,
+ 25737 - 11905: 0x93C7,
+ 25738 - 11905: 0x93C8,
+ 25739 - 11905: 0x93C9,
+ 25740 - 11905: 0x93CA,
+ 25741 - 11905: 0x93CB,
+ 25742 - 11905: 0x93CC,
+ 25743 - 11905: 0x93CD,
+ 25744 - 11905: 0x93CE,
+ 25745 - 11905: 0xB3C5,
+ 25746 - 11905: 0xC8F6,
+ 25747 - 11905: 0x93CF,
+ 25748 - 11905: 0x93D0,
+ 25749 - 11905: 0xCBBA,
+ 25750 - 11905: 0xDEFE,
+ 25751 - 11905: 0x93D1,
+ 25752 - 11905: 0x93D2,
+ 25753 - 11905: 0xDFA4,
+ 25754 - 11905: 0x93D3,
+ 25755 - 11905: 0x93D4,
+ 25756 - 11905: 0x93D5,
+ 25757 - 11905: 0x93D6,
+ 25758 - 11905: 0xD7B2,
+ 25759 - 11905: 0x93D7,
+ 25760 - 11905: 0x93D8,
+ 25761 - 11905: 0x93D9,
+ 25762 - 11905: 0x93DA,
+ 25763 - 11905: 0x93DB,
+ 25764 - 11905: 0xB3B7,
+ 25765 - 11905: 0x93DC,
+ 25766 - 11905: 0x93DD,
+ 25767 - 11905: 0x93DE,
+ 25768 - 11905: 0x93DF,
+ 25769 - 11905: 0xC1C3,
+ 25770 - 11905: 0x93E0,
+ 25771 - 11905: 0x93E1,
+ 25772 - 11905: 0xC7CB,
+ 25773 - 11905: 0xB2A5,
+ 25774 - 11905: 0xB4E9,
+ 25775 - 11905: 0x93E2,
+ 25776 - 11905: 0xD7AB,
+ 25777 - 11905: 0x93E3,
+ 25778 - 11905: 0x93E4,
+ 25779 - 11905: 0x93E5,
+ 25780 - 11905: 0x93E6,
+ 25781 - 11905: 0xC4EC,
+ 25782 - 11905: 0x93E7,
+ 25783 - 11905: 0xDFA2,
+ 25784 - 11905: 0xDFA3,
+ 25785 - 11905: 0x93E8,
+ 25786 - 11905: 0xDFA5,
+ 25787 - 11905: 0x93E9,
+ 25788 - 11905: 0xBAB3,
+ 25789 - 11905: 0x93EA,
+ 25790 - 11905: 0x93EB,
+ 25791 - 11905: 0x93EC,
+ 25792 - 11905: 0xDFA6,
+ 25793 - 11905: 0x93ED,
+ 25794 - 11905: 0xC0DE,
+ 25795 - 11905: 0x93EE,
+ 25796 - 11905: 0x93EF,
+ 25797 - 11905: 0xC9C3,
+ 25798 - 11905: 0x93F0,
+ 25799 - 11905: 0x93F1,
+ 25800 - 11905: 0x93F2,
+ 25801 - 11905: 0x93F3,
+ 25802 - 11905: 0x93F4,
+ 25803 - 11905: 0x93F5,
+ 25804 - 11905: 0x93F6,
+ 25805 - 11905: 0xB2D9,
+ 25806 - 11905: 0xC7E6,
+ 25807 - 11905: 0x93F7,
+ 25808 - 11905: 0xDFA7,
+ 25809 - 11905: 0x93F8,
+ 25810 - 11905: 0xC7DC,
+ 25811 - 11905: 0x93F9,
+ 25812 - 11905: 0x93FA,
+ 25813 - 11905: 0x93FB,
+ 25814 - 11905: 0x93FC,
+ 25815 - 11905: 0xDFA8,
+ 25816 - 11905: 0xEBA2,
+ 25817 - 11905: 0x93FD,
+ 25818 - 11905: 0x93FE,
+ 25819 - 11905: 0x9440,
+ 25820 - 11905: 0x9441,
+ 25821 - 11905: 0x9442,
+ 25822 - 11905: 0xCBD3,
+ 25823 - 11905: 0x9443,
+ 25824 - 11905: 0x9444,
+ 25825 - 11905: 0x9445,
+ 25826 - 11905: 0xDFAA,
+ 25827 - 11905: 0x9446,
+ 25828 - 11905: 0xDFA9,
+ 25829 - 11905: 0x9447,
+ 25830 - 11905: 0xB2C1,
+ 25831 - 11905: 0x9448,
+ 25832 - 11905: 0x9449,
+ 25833 - 11905: 0x944A,
+ 25834 - 11905: 0x944B,
+ 25835 - 11905: 0x944C,
+ 25836 - 11905: 0x944D,
+ 25837 - 11905: 0x944E,
+ 25838 - 11905: 0x944F,
+ 25839 - 11905: 0x9450,
+ 25840 - 11905: 0x9451,
+ 25841 - 11905: 0x9452,
+ 25842 - 11905: 0x9453,
+ 25843 - 11905: 0x9454,
+ 25844 - 11905: 0x9455,
+ 25845 - 11905: 0x9456,
+ 25846 - 11905: 0x9457,
+ 25847 - 11905: 0x9458,
+ 25848 - 11905: 0x9459,
+ 25849 - 11905: 0x945A,
+ 25850 - 11905: 0x945B,
+ 25851 - 11905: 0x945C,
+ 25852 - 11905: 0x945D,
+ 25853 - 11905: 0x945E,
+ 25854 - 11905: 0x945F,
+ 25855 - 11905: 0x9460,
+ 25856 - 11905: 0xC5CA,
+ 25857 - 11905: 0x9461,
+ 25858 - 11905: 0x9462,
+ 25859 - 11905: 0x9463,
+ 25860 - 11905: 0x9464,
+ 25861 - 11905: 0x9465,
+ 25862 - 11905: 0x9466,
+ 25863 - 11905: 0x9467,
+ 25864 - 11905: 0x9468,
+ 25865 - 11905: 0xDFAB,
+ 25866 - 11905: 0x9469,
+ 25867 - 11905: 0x946A,
+ 25868 - 11905: 0x946B,
+ 25869 - 11905: 0x946C,
+ 25870 - 11905: 0x946D,
+ 25871 - 11905: 0x946E,
+ 25872 - 11905: 0x946F,
+ 25873 - 11905: 0x9470,
+ 25874 - 11905: 0xD4DC,
+ 25875 - 11905: 0x9471,
+ 25876 - 11905: 0x9472,
+ 25877 - 11905: 0x9473,
+ 25878 - 11905: 0x9474,
+ 25879 - 11905: 0x9475,
+ 25880 - 11905: 0xC8C1,
+ 25881 - 11905: 0x9476,
+ 25882 - 11905: 0x9477,
+ 25883 - 11905: 0x9478,
+ 25884 - 11905: 0x9479,
+ 25885 - 11905: 0x947A,
+ 25886 - 11905: 0x947B,
+ 25887 - 11905: 0x947C,
+ 25888 - 11905: 0x947D,
+ 25889 - 11905: 0x947E,
+ 25890 - 11905: 0x9480,
+ 25891 - 11905: 0x9481,
+ 25892 - 11905: 0x9482,
+ 25893 - 11905: 0xDFAC,
+ 25894 - 11905: 0x9483,
+ 25895 - 11905: 0x9484,
+ 25896 - 11905: 0x9485,
+ 25897 - 11905: 0x9486,
+ 25898 - 11905: 0x9487,
+ 25899 - 11905: 0xBEF0,
+ 25900 - 11905: 0x9488,
+ 25901 - 11905: 0x9489,
+ 25902 - 11905: 0xDFAD,
+ 25903 - 11905: 0xD6A7,
+ 25904 - 11905: 0x948A,
+ 25905 - 11905: 0x948B,
+ 25906 - 11905: 0x948C,
+ 25907 - 11905: 0x948D,
+ 25908 - 11905: 0xEAB7,
+ 25909 - 11905: 0xEBB6,
+ 25910 - 11905: 0xCAD5,
+ 25911 - 11905: 0x948E,
+ 25912 - 11905: 0xD8FC,
+ 25913 - 11905: 0xB8C4,
+ 25914 - 11905: 0x948F,
+ 25915 - 11905: 0xB9A5,
+ 25916 - 11905: 0x9490,
+ 25917 - 11905: 0x9491,
+ 25918 - 11905: 0xB7C5,
+ 25919 - 11905: 0xD5FE,
+ 25920 - 11905: 0x9492,
+ 25921 - 11905: 0x9493,
+ 25922 - 11905: 0x9494,
+ 25923 - 11905: 0x9495,
+ 25924 - 11905: 0x9496,
+ 25925 - 11905: 0xB9CA,
+ 25926 - 11905: 0x9497,
+ 25927 - 11905: 0x9498,
+ 25928 - 11905: 0xD0A7,
+ 25929 - 11905: 0xF4CD,
+ 25930 - 11905: 0x9499,
+ 25931 - 11905: 0x949A,
+ 25932 - 11905: 0xB5D0,
+ 25933 - 11905: 0x949B,
+ 25934 - 11905: 0x949C,
+ 25935 - 11905: 0xC3F4,
+ 25936 - 11905: 0x949D,
+ 25937 - 11905: 0xBEC8,
+ 25938 - 11905: 0x949E,
+ 25939 - 11905: 0x949F,
+ 25940 - 11905: 0x94A0,
+ 25941 - 11905: 0xEBB7,
+ 25942 - 11905: 0xB0BD,
+ 25943 - 11905: 0x94A1,
+ 25944 - 11905: 0x94A2,
+ 25945 - 11905: 0xBDCC,
+ 25946 - 11905: 0x94A3,
+ 25947 - 11905: 0xC1B2,
+ 25948 - 11905: 0x94A4,
+ 25949 - 11905: 0xB1D6,
+ 25950 - 11905: 0xB3A8,
+ 25951 - 11905: 0x94A5,
+ 25952 - 11905: 0x94A6,
+ 25953 - 11905: 0x94A7,
+ 25954 - 11905: 0xB8D2,
+ 25955 - 11905: 0xC9A2,
+ 25956 - 11905: 0x94A8,
+ 25957 - 11905: 0x94A9,
+ 25958 - 11905: 0xB6D8,
+ 25959 - 11905: 0x94AA,
+ 25960 - 11905: 0x94AB,
+ 25961 - 11905: 0x94AC,
+ 25962 - 11905: 0x94AD,
+ 25963 - 11905: 0xEBB8,
+ 25964 - 11905: 0xBEB4,
+ 25965 - 11905: 0x94AE,
+ 25966 - 11905: 0x94AF,
+ 25967 - 11905: 0x94B0,
+ 25968 - 11905: 0xCAFD,
+ 25969 - 11905: 0x94B1,
+ 25970 - 11905: 0xC7C3,
+ 25971 - 11905: 0x94B2,
+ 25972 - 11905: 0xD5FB,
+ 25973 - 11905: 0x94B3,
+ 25974 - 11905: 0x94B4,
+ 25975 - 11905: 0xB7F3,
+ 25976 - 11905: 0x94B5,
+ 25977 - 11905: 0x94B6,
+ 25978 - 11905: 0x94B7,
+ 25979 - 11905: 0x94B8,
+ 25980 - 11905: 0x94B9,
+ 25981 - 11905: 0x94BA,
+ 25982 - 11905: 0x94BB,
+ 25983 - 11905: 0x94BC,
+ 25984 - 11905: 0x94BD,
+ 25985 - 11905: 0x94BE,
+ 25986 - 11905: 0x94BF,
+ 25987 - 11905: 0x94C0,
+ 25988 - 11905: 0x94C1,
+ 25989 - 11905: 0x94C2,
+ 25990 - 11905: 0x94C3,
+ 25991 - 11905: 0xCEC4,
+ 25992 - 11905: 0x94C4,
+ 25993 - 11905: 0x94C5,
+ 25994 - 11905: 0x94C6,
+ 25995 - 11905: 0xD5AB,
+ 25996 - 11905: 0xB1F3,
+ 25997 - 11905: 0x94C7,
+ 25998 - 11905: 0x94C8,
+ 25999 - 11905: 0x94C9,
+ 26000 - 11905: 0xECB3,
+ 26001 - 11905: 0xB0DF,
+ 26002 - 11905: 0x94CA,
+ 26003 - 11905: 0xECB5,
+ 26004 - 11905: 0x94CB,
+ 26005 - 11905: 0x94CC,
+ 26006 - 11905: 0x94CD,
+ 26007 - 11905: 0xB6B7,
+ 26008 - 11905: 0x94CE,
+ 26009 - 11905: 0xC1CF,
+ 26010 - 11905: 0x94CF,
+ 26011 - 11905: 0xF5FA,
+ 26012 - 11905: 0xD0B1,
+ 26013 - 11905: 0x94D0,
+ 26014 - 11905: 0x94D1,
+ 26015 - 11905: 0xD5E5,
+ 26016 - 11905: 0x94D2,
+ 26017 - 11905: 0xCED3,
+ 26018 - 11905: 0x94D3,
+ 26019 - 11905: 0x94D4,
+ 26020 - 11905: 0xBDEF,
+ 26021 - 11905: 0xB3E2,
+ 26022 - 11905: 0x94D5,
+ 26023 - 11905: 0xB8AB,
+ 26024 - 11905: 0x94D6,
+ 26025 - 11905: 0xD5B6,
+ 26026 - 11905: 0x94D7,
+ 26027 - 11905: 0xEDBD,
+ 26028 - 11905: 0x94D8,
+ 26029 - 11905: 0xB6CF,
+ 26030 - 11905: 0x94D9,
+ 26031 - 11905: 0xCBB9,
+ 26032 - 11905: 0xD0C2,
+ 26033 - 11905: 0x94DA,
+ 26034 - 11905: 0x94DB,
+ 26035 - 11905: 0x94DC,
+ 26036 - 11905: 0x94DD,
+ 26037 - 11905: 0x94DE,
+ 26038 - 11905: 0x94DF,
+ 26039 - 11905: 0x94E0,
+ 26040 - 11905: 0x94E1,
+ 26041 - 11905: 0xB7BD,
+ 26042 - 11905: 0x94E2,
+ 26043 - 11905: 0x94E3,
+ 26044 - 11905: 0xECB6,
+ 26045 - 11905: 0xCAA9,
+ 26046 - 11905: 0x94E4,
+ 26047 - 11905: 0x94E5,
+ 26048 - 11905: 0x94E6,
+ 26049 - 11905: 0xC5D4,
+ 26050 - 11905: 0x94E7,
+ 26051 - 11905: 0xECB9,
+ 26052 - 11905: 0xECB8,
+ 26053 - 11905: 0xC2C3,
+ 26054 - 11905: 0xECB7,
+ 26055 - 11905: 0x94E8,
+ 26056 - 11905: 0x94E9,
+ 26057 - 11905: 0x94EA,
+ 26058 - 11905: 0x94EB,
+ 26059 - 11905: 0xD0FD,
+ 26060 - 11905: 0xECBA,
+ 26061 - 11905: 0x94EC,
+ 26062 - 11905: 0xECBB,
+ 26063 - 11905: 0xD7E5,
+ 26064 - 11905: 0x94ED,
+ 26065 - 11905: 0x94EE,
+ 26066 - 11905: 0xECBC,
+ 26067 - 11905: 0x94EF,
+ 26068 - 11905: 0x94F0,
+ 26069 - 11905: 0x94F1,
+ 26070 - 11905: 0xECBD,
+ 26071 - 11905: 0xC6EC,
+ 26072 - 11905: 0x94F2,
+ 26073 - 11905: 0x94F3,
+ 26074 - 11905: 0x94F4,
+ 26075 - 11905: 0x94F5,
+ 26076 - 11905: 0x94F6,
+ 26077 - 11905: 0x94F7,
+ 26078 - 11905: 0x94F8,
+ 26079 - 11905: 0x94F9,
+ 26080 - 11905: 0xCEDE,
+ 26081 - 11905: 0x94FA,
+ 26082 - 11905: 0xBCC8,
+ 26083 - 11905: 0x94FB,
+ 26084 - 11905: 0x94FC,
+ 26085 - 11905: 0xC8D5,
+ 26086 - 11905: 0xB5A9,
+ 26087 - 11905: 0xBEC9,
+ 26088 - 11905: 0xD6BC,
+ 26089 - 11905: 0xD4E7,
+ 26090 - 11905: 0x94FD,
+ 26091 - 11905: 0x94FE,
+ 26092 - 11905: 0xD1AE,
+ 26093 - 11905: 0xD0F1,
+ 26094 - 11905: 0xEAB8,
+ 26095 - 11905: 0xEAB9,
+ 26096 - 11905: 0xEABA,
+ 26097 - 11905: 0xBAB5,
+ 26098 - 11905: 0x9540,
+ 26099 - 11905: 0x9541,
+ 26100 - 11905: 0x9542,
+ 26101 - 11905: 0x9543,
+ 26102 - 11905: 0xCAB1,
+ 26103 - 11905: 0xBFF5,
+ 26104 - 11905: 0x9544,
+ 26105 - 11905: 0x9545,
+ 26106 - 11905: 0xCDFA,
+ 26107 - 11905: 0x9546,
+ 26108 - 11905: 0x9547,
+ 26109 - 11905: 0x9548,
+ 26110 - 11905: 0x9549,
+ 26111 - 11905: 0x954A,
+ 26112 - 11905: 0xEAC0,
+ 26113 - 11905: 0x954B,
+ 26114 - 11905: 0xB0BA,
+ 26115 - 11905: 0xEABE,
+ 26116 - 11905: 0x954C,
+ 26117 - 11905: 0x954D,
+ 26118 - 11905: 0xC0A5,
+ 26119 - 11905: 0x954E,
+ 26120 - 11905: 0x954F,
+ 26121 - 11905: 0x9550,
+ 26122 - 11905: 0xEABB,
+ 26123 - 11905: 0x9551,
+ 26124 - 11905: 0xB2FD,
+ 26125 - 11905: 0x9552,
+ 26126 - 11905: 0xC3F7,
+ 26127 - 11905: 0xBBE8,
+ 26128 - 11905: 0x9553,
+ 26129 - 11905: 0x9554,
+ 26130 - 11905: 0x9555,
+ 26131 - 11905: 0xD2D7,
+ 26132 - 11905: 0xCEF4,
+ 26133 - 11905: 0xEABF,
+ 26134 - 11905: 0x9556,
+ 26135 - 11905: 0x9557,
+ 26136 - 11905: 0x9558,
+ 26137 - 11905: 0xEABC,
+ 26138 - 11905: 0x9559,
+ 26139 - 11905: 0x955A,
+ 26140 - 11905: 0x955B,
+ 26141 - 11905: 0xEAC3,
+ 26142 - 11905: 0x955C,
+ 26143 - 11905: 0xD0C7,
+ 26144 - 11905: 0xD3B3,
+ 26145 - 11905: 0x955D,
+ 26146 - 11905: 0x955E,
+ 26147 - 11905: 0x955F,
+ 26148 - 11905: 0x9560,
+ 26149 - 11905: 0xB4BA,
+ 26150 - 11905: 0x9561,
+ 26151 - 11905: 0xC3C1,
+ 26152 - 11905: 0xD7F2,
+ 26153 - 11905: 0x9562,
+ 26154 - 11905: 0x9563,
+ 26155 - 11905: 0x9564,
+ 26156 - 11905: 0x9565,
+ 26157 - 11905: 0xD5D1,
+ 26158 - 11905: 0x9566,
+ 26159 - 11905: 0xCAC7,
+ 26160 - 11905: 0x9567,
+ 26161 - 11905: 0xEAC5,
+ 26162 - 11905: 0x9568,
+ 26163 - 11905: 0x9569,
+ 26164 - 11905: 0xEAC4,
+ 26165 - 11905: 0xEAC7,
+ 26166 - 11905: 0xEAC6,
+ 26167 - 11905: 0x956A,
+ 26168 - 11905: 0x956B,
+ 26169 - 11905: 0x956C,
+ 26170 - 11905: 0x956D,
+ 26171 - 11905: 0x956E,
+ 26172 - 11905: 0xD6E7,
+ 26173 - 11905: 0x956F,
+ 26174 - 11905: 0xCFD4,
+ 26175 - 11905: 0x9570,
+ 26176 - 11905: 0x9571,
+ 26177 - 11905: 0xEACB,
+ 26178 - 11905: 0x9572,
+ 26179 - 11905: 0xBBCE,
+ 26180 - 11905: 0x9573,
+ 26181 - 11905: 0x9574,
+ 26182 - 11905: 0x9575,
+ 26183 - 11905: 0x9576,
+ 26184 - 11905: 0x9577,
+ 26185 - 11905: 0x9578,
+ 26186 - 11905: 0x9579,
+ 26187 - 11905: 0xBDFA,
+ 26188 - 11905: 0xC9CE,
+ 26189 - 11905: 0x957A,
+ 26190 - 11905: 0x957B,
+ 26191 - 11905: 0xEACC,
+ 26192 - 11905: 0x957C,
+ 26193 - 11905: 0x957D,
+ 26194 - 11905: 0xC9B9,
+ 26195 - 11905: 0xCFFE,
+ 26196 - 11905: 0xEACA,
+ 26197 - 11905: 0xD4CE,
+ 26198 - 11905: 0xEACD,
+ 26199 - 11905: 0xEACF,
+ 26200 - 11905: 0x957E,
+ 26201 - 11905: 0x9580,
+ 26202 - 11905: 0xCDED,
+ 26203 - 11905: 0x9581,
+ 26204 - 11905: 0x9582,
+ 26205 - 11905: 0x9583,
+ 26206 - 11905: 0x9584,
+ 26207 - 11905: 0xEAC9,
+ 26208 - 11905: 0x9585,
+ 26209 - 11905: 0xEACE,
+ 26210 - 11905: 0x9586,
+ 26211 - 11905: 0x9587,
+ 26212 - 11905: 0xCEEE,
+ 26213 - 11905: 0x9588,
+ 26214 - 11905: 0xBBDE,
+ 26215 - 11905: 0x9589,
+ 26216 - 11905: 0xB3BF,
+ 26217 - 11905: 0x958A,
+ 26218 - 11905: 0x958B,
+ 26219 - 11905: 0x958C,
+ 26220 - 11905: 0x958D,
+ 26221 - 11905: 0x958E,
+ 26222 - 11905: 0xC6D5,
+ 26223 - 11905: 0xBEB0,
+ 26224 - 11905: 0xCEFA,
+ 26225 - 11905: 0x958F,
+ 26226 - 11905: 0x9590,
+ 26227 - 11905: 0x9591,
+ 26228 - 11905: 0xC7E7,
+ 26229 - 11905: 0x9592,
+ 26230 - 11905: 0xBEA7,
+ 26231 - 11905: 0xEAD0,
+ 26232 - 11905: 0x9593,
+ 26233 - 11905: 0x9594,
+ 26234 - 11905: 0xD6C7,
+ 26235 - 11905: 0x9595,
+ 26236 - 11905: 0x9596,
+ 26237 - 11905: 0x9597,
+ 26238 - 11905: 0xC1C0,
+ 26239 - 11905: 0x9598,
+ 26240 - 11905: 0x9599,
+ 26241 - 11905: 0x959A,
+ 26242 - 11905: 0xD4DD,
+ 26243 - 11905: 0x959B,
+ 26244 - 11905: 0xEAD1,
+ 26245 - 11905: 0x959C,
+ 26246 - 11905: 0x959D,
+ 26247 - 11905: 0xCFBE,
+ 26248 - 11905: 0x959E,
+ 26249 - 11905: 0x959F,
+ 26250 - 11905: 0x95A0,
+ 26251 - 11905: 0x95A1,
+ 26252 - 11905: 0xEAD2,
+ 26253 - 11905: 0x95A2,
+ 26254 - 11905: 0x95A3,
+ 26255 - 11905: 0x95A4,
+ 26256 - 11905: 0x95A5,
+ 26257 - 11905: 0xCAEE,
+ 26258 - 11905: 0x95A6,
+ 26259 - 11905: 0x95A7,
+ 26260 - 11905: 0x95A8,
+ 26261 - 11905: 0x95A9,
+ 26262 - 11905: 0xC5AF,
+ 26263 - 11905: 0xB0B5,
+ 26264 - 11905: 0x95AA,
+ 26265 - 11905: 0x95AB,
+ 26266 - 11905: 0x95AC,
+ 26267 - 11905: 0x95AD,
+ 26268 - 11905: 0x95AE,
+ 26269 - 11905: 0xEAD4,
+ 26270 - 11905: 0x95AF,
+ 26271 - 11905: 0x95B0,
+ 26272 - 11905: 0x95B1,
+ 26273 - 11905: 0x95B2,
+ 26274 - 11905: 0x95B3,
+ 26275 - 11905: 0x95B4,
+ 26276 - 11905: 0x95B5,
+ 26277 - 11905: 0x95B6,
+ 26278 - 11905: 0x95B7,
+ 26279 - 11905: 0xEAD3,
+ 26280 - 11905: 0xF4DF,
+ 26281 - 11905: 0x95B8,
+ 26282 - 11905: 0x95B9,
+ 26283 - 11905: 0x95BA,
+ 26284 - 11905: 0x95BB,
+ 26285 - 11905: 0x95BC,
+ 26286 - 11905: 0xC4BA,
+ 26287 - 11905: 0x95BD,
+ 26288 - 11905: 0x95BE,
+ 26289 - 11905: 0x95BF,
+ 26290 - 11905: 0x95C0,
+ 26291 - 11905: 0x95C1,
+ 26292 - 11905: 0xB1A9,
+ 26293 - 11905: 0x95C2,
+ 26294 - 11905: 0x95C3,
+ 26295 - 11905: 0x95C4,
+ 26296 - 11905: 0x95C5,
+ 26297 - 11905: 0xE5DF,
+ 26298 - 11905: 0x95C6,
+ 26299 - 11905: 0x95C7,
+ 26300 - 11905: 0x95C8,
+ 26301 - 11905: 0x95C9,
+ 26302 - 11905: 0xEAD5,
+ 26303 - 11905: 0x95CA,
+ 26304 - 11905: 0x95CB,
+ 26305 - 11905: 0x95CC,
+ 26306 - 11905: 0x95CD,
+ 26307 - 11905: 0x95CE,
+ 26308 - 11905: 0x95CF,
+ 26309 - 11905: 0x95D0,
+ 26310 - 11905: 0x95D1,
+ 26311 - 11905: 0x95D2,
+ 26312 - 11905: 0x95D3,
+ 26313 - 11905: 0x95D4,
+ 26314 - 11905: 0x95D5,
+ 26315 - 11905: 0x95D6,
+ 26316 - 11905: 0x95D7,
+ 26317 - 11905: 0x95D8,
+ 26318 - 11905: 0x95D9,
+ 26319 - 11905: 0x95DA,
+ 26320 - 11905: 0x95DB,
+ 26321 - 11905: 0x95DC,
+ 26322 - 11905: 0x95DD,
+ 26323 - 11905: 0x95DE,
+ 26324 - 11905: 0x95DF,
+ 26325 - 11905: 0x95E0,
+ 26326 - 11905: 0x95E1,
+ 26327 - 11905: 0x95E2,
+ 26328 - 11905: 0x95E3,
+ 26329 - 11905: 0xCAEF,
+ 26330 - 11905: 0x95E4,
+ 26331 - 11905: 0xEAD6,
+ 26332 - 11905: 0xEAD7,
+ 26333 - 11905: 0xC6D8,
+ 26334 - 11905: 0x95E5,
+ 26335 - 11905: 0x95E6,
+ 26336 - 11905: 0x95E7,
+ 26337 - 11905: 0x95E8,
+ 26338 - 11905: 0x95E9,
+ 26339 - 11905: 0x95EA,
+ 26340 - 11905: 0x95EB,
+ 26341 - 11905: 0x95EC,
+ 26342 - 11905: 0xEAD8,
+ 26343 - 11905: 0x95ED,
+ 26344 - 11905: 0x95EE,
+ 26345 - 11905: 0xEAD9,
+ 26346 - 11905: 0x95EF,
+ 26347 - 11905: 0x95F0,
+ 26348 - 11905: 0x95F1,
+ 26349 - 11905: 0x95F2,
+ 26350 - 11905: 0x95F3,
+ 26351 - 11905: 0x95F4,
+ 26352 - 11905: 0xD4BB,
+ 26353 - 11905: 0x95F5,
+ 26354 - 11905: 0xC7FA,
+ 26355 - 11905: 0xD2B7,
+ 26356 - 11905: 0xB8FC,
+ 26357 - 11905: 0x95F6,
+ 26358 - 11905: 0x95F7,
+ 26359 - 11905: 0xEAC2,
+ 26360 - 11905: 0x95F8,
+ 26361 - 11905: 0xB2DC,
+ 26362 - 11905: 0x95F9,
+ 26363 - 11905: 0x95FA,
+ 26364 - 11905: 0xC2FC,
+ 26365 - 11905: 0x95FB,
+ 26366 - 11905: 0xD4F8,
+ 26367 - 11905: 0xCCE6,
+ 26368 - 11905: 0xD7EE,
+ 26369 - 11905: 0x95FC,
+ 26370 - 11905: 0x95FD,
+ 26371 - 11905: 0x95FE,
+ 26372 - 11905: 0x9640,
+ 26373 - 11905: 0x9641,
+ 26374 - 11905: 0x9642,
+ 26375 - 11905: 0x9643,
+ 26376 - 11905: 0xD4C2,
+ 26377 - 11905: 0xD3D0,
+ 26378 - 11905: 0xEBC3,
+ 26379 - 11905: 0xC5F3,
+ 26380 - 11905: 0x9644,
+ 26381 - 11905: 0xB7FE,
+ 26382 - 11905: 0x9645,
+ 26383 - 11905: 0x9646,
+ 26384 - 11905: 0xEBD4,
+ 26385 - 11905: 0x9647,
+ 26386 - 11905: 0x9648,
+ 26387 - 11905: 0x9649,
+ 26388 - 11905: 0xCBB7,
+ 26389 - 11905: 0xEBDE,
+ 26390 - 11905: 0x964A,
+ 26391 - 11905: 0xC0CA,
+ 26392 - 11905: 0x964B,
+ 26393 - 11905: 0x964C,
+ 26394 - 11905: 0x964D,
+ 26395 - 11905: 0xCDFB,
+ 26396 - 11905: 0x964E,
+ 26397 - 11905: 0xB3AF,
+ 26398 - 11905: 0x964F,
+ 26399 - 11905: 0xC6DA,
+ 26400 - 11905: 0x9650,
+ 26401 - 11905: 0x9651,
+ 26402 - 11905: 0x9652,
+ 26403 - 11905: 0x9653,
+ 26404 - 11905: 0x9654,
+ 26405 - 11905: 0x9655,
+ 26406 - 11905: 0xEBFC,
+ 26407 - 11905: 0x9656,
+ 26408 - 11905: 0xC4BE,
+ 26409 - 11905: 0x9657,
+ 26410 - 11905: 0xCEB4,
+ 26411 - 11905: 0xC4A9,
+ 26412 - 11905: 0xB1BE,
+ 26413 - 11905: 0xD4FD,
+ 26414 - 11905: 0x9658,
+ 26415 - 11905: 0xCAF5,
+ 26416 - 11905: 0x9659,
+ 26417 - 11905: 0xD6EC,
+ 26418 - 11905: 0x965A,
+ 26419 - 11905: 0x965B,
+ 26420 - 11905: 0xC6D3,
+ 26421 - 11905: 0xB6E4,
+ 26422 - 11905: 0x965C,
+ 26423 - 11905: 0x965D,
+ 26424 - 11905: 0x965E,
+ 26425 - 11905: 0x965F,
+ 26426 - 11905: 0xBBFA,
+ 26427 - 11905: 0x9660,
+ 26428 - 11905: 0x9661,
+ 26429 - 11905: 0xD0E0,
+ 26430 - 11905: 0x9662,
+ 26431 - 11905: 0x9663,
+ 26432 - 11905: 0xC9B1,
+ 26433 - 11905: 0x9664,
+ 26434 - 11905: 0xD4D3,
+ 26435 - 11905: 0xC8A8,
+ 26436 - 11905: 0x9665,
+ 26437 - 11905: 0x9666,
+ 26438 - 11905: 0xB8CB,
+ 26439 - 11905: 0x9667,
+ 26440 - 11905: 0xE8BE,
+ 26441 - 11905: 0xC9BC,
+ 26442 - 11905: 0x9668,
+ 26443 - 11905: 0x9669,
+ 26444 - 11905: 0xE8BB,
+ 26445 - 11905: 0x966A,
+ 26446 - 11905: 0xC0EE,
+ 26447 - 11905: 0xD0D3,
+ 26448 - 11905: 0xB2C4,
+ 26449 - 11905: 0xB4E5,
+ 26450 - 11905: 0x966B,
+ 26451 - 11905: 0xE8BC,
+ 26452 - 11905: 0x966C,
+ 26453 - 11905: 0x966D,
+ 26454 - 11905: 0xD5C8,
+ 26455 - 11905: 0x966E,
+ 26456 - 11905: 0x966F,
+ 26457 - 11905: 0x9670,
+ 26458 - 11905: 0x9671,
+ 26459 - 11905: 0x9672,
+ 26460 - 11905: 0xB6C5,
+ 26461 - 11905: 0x9673,
+ 26462 - 11905: 0xE8BD,
+ 26463 - 11905: 0xCAF8,
+ 26464 - 11905: 0xB8DC,
+ 26465 - 11905: 0xCCF5,
+ 26466 - 11905: 0x9674,
+ 26467 - 11905: 0x9675,
+ 26468 - 11905: 0x9676,
+ 26469 - 11905: 0xC0B4,
+ 26470 - 11905: 0x9677,
+ 26471 - 11905: 0x9678,
+ 26472 - 11905: 0xD1EE,
+ 26473 - 11905: 0xE8BF,
+ 26474 - 11905: 0xE8C2,
+ 26475 - 11905: 0x9679,
+ 26476 - 11905: 0x967A,
+ 26477 - 11905: 0xBABC,
+ 26478 - 11905: 0x967B,
+ 26479 - 11905: 0xB1AD,
+ 26480 - 11905: 0xBDDC,
+ 26481 - 11905: 0x967C,
+ 26482 - 11905: 0xEABD,
+ 26483 - 11905: 0xE8C3,
+ 26484 - 11905: 0x967D,
+ 26485 - 11905: 0xE8C6,
+ 26486 - 11905: 0x967E,
+ 26487 - 11905: 0xE8CB,
+ 26488 - 11905: 0x9680,
+ 26489 - 11905: 0x9681,
+ 26490 - 11905: 0x9682,
+ 26491 - 11905: 0x9683,
+ 26492 - 11905: 0xE8CC,
+ 26493 - 11905: 0x9684,
+ 26494 - 11905: 0xCBC9,
+ 26495 - 11905: 0xB0E5,
+ 26496 - 11905: 0x9685,
+ 26497 - 11905: 0xBCAB,
+ 26498 - 11905: 0x9686,
+ 26499 - 11905: 0x9687,
+ 26500 - 11905: 0xB9B9,
+ 26501 - 11905: 0x9688,
+ 26502 - 11905: 0x9689,
+ 26503 - 11905: 0xE8C1,
+ 26504 - 11905: 0x968A,
+ 26505 - 11905: 0xCDF7,
+ 26506 - 11905: 0x968B,
+ 26507 - 11905: 0xE8CA,
+ 26508 - 11905: 0x968C,
+ 26509 - 11905: 0x968D,
+ 26510 - 11905: 0x968E,
+ 26511 - 11905: 0x968F,
+ 26512 - 11905: 0xCEF6,
+ 26513 - 11905: 0x9690,
+ 26514 - 11905: 0x9691,
+ 26515 - 11905: 0x9692,
+ 26516 - 11905: 0x9693,
+ 26517 - 11905: 0xD5ED,
+ 26518 - 11905: 0x9694,
+ 26519 - 11905: 0xC1D6,
+ 26520 - 11905: 0xE8C4,
+ 26521 - 11905: 0x9695,
+ 26522 - 11905: 0xC3B6,
+ 26523 - 11905: 0x9696,
+ 26524 - 11905: 0xB9FB,
+ 26525 - 11905: 0xD6A6,
+ 26526 - 11905: 0xE8C8,
+ 26527 - 11905: 0x9697,
+ 26528 - 11905: 0x9698,
+ 26529 - 11905: 0x9699,
+ 26530 - 11905: 0xCAE0,
+ 26531 - 11905: 0xD4E6,
+ 26532 - 11905: 0x969A,
+ 26533 - 11905: 0xE8C0,
+ 26534 - 11905: 0x969B,
+ 26535 - 11905: 0xE8C5,
+ 26536 - 11905: 0xE8C7,
+ 26537 - 11905: 0x969C,
+ 26538 - 11905: 0xC7B9,
+ 26539 - 11905: 0xB7E3,
+ 26540 - 11905: 0x969D,
+ 26541 - 11905: 0xE8C9,
+ 26542 - 11905: 0x969E,
+ 26543 - 11905: 0xBFDD,
+ 26544 - 11905: 0xE8D2,
+ 26545 - 11905: 0x969F,
+ 26546 - 11905: 0x96A0,
+ 26547 - 11905: 0xE8D7,
+ 26548 - 11905: 0x96A1,
+ 26549 - 11905: 0xE8D5,
+ 26550 - 11905: 0xBCDC,
+ 26551 - 11905: 0xBCCF,
+ 26552 - 11905: 0xE8DB,
+ 26553 - 11905: 0x96A2,
+ 26554 - 11905: 0x96A3,
+ 26555 - 11905: 0x96A4,
+ 26556 - 11905: 0x96A5,
+ 26557 - 11905: 0x96A6,
+ 26558 - 11905: 0x96A7,
+ 26559 - 11905: 0x96A8,
+ 26560 - 11905: 0x96A9,
+ 26561 - 11905: 0xE8DE,
+ 26562 - 11905: 0x96AA,
+ 26563 - 11905: 0xE8DA,
+ 26564 - 11905: 0xB1FA,
+ 26565 - 11905: 0x96AB,
+ 26566 - 11905: 0x96AC,
+ 26567 - 11905: 0x96AD,
+ 26568 - 11905: 0x96AE,
+ 26569 - 11905: 0x96AF,
+ 26570 - 11905: 0x96B0,
+ 26571 - 11905: 0x96B1,
+ 26572 - 11905: 0x96B2,
+ 26573 - 11905: 0x96B3,
+ 26574 - 11905: 0x96B4,
+ 26575 - 11905: 0xB0D8,
+ 26576 - 11905: 0xC4B3,
+ 26577 - 11905: 0xB8CC,
+ 26578 - 11905: 0xC6E2,
+ 26579 - 11905: 0xC8BE,
+ 26580 - 11905: 0xC8E1,
+ 26581 - 11905: 0x96B5,
+ 26582 - 11905: 0x96B6,
+ 26583 - 11905: 0x96B7,
+ 26584 - 11905: 0xE8CF,
+ 26585 - 11905: 0xE8D4,
+ 26586 - 11905: 0xE8D6,
+ 26587 - 11905: 0x96B8,
+ 26588 - 11905: 0xB9F1,
+ 26589 - 11905: 0xE8D8,
+ 26590 - 11905: 0xD7F5,
+ 26591 - 11905: 0x96B9,
+ 26592 - 11905: 0xC4FB,
+ 26593 - 11905: 0x96BA,
+ 26594 - 11905: 0xE8DC,
+ 26595 - 11905: 0x96BB,
+ 26596 - 11905: 0x96BC,
+ 26597 - 11905: 0xB2E9,
+ 26598 - 11905: 0x96BD,
+ 26599 - 11905: 0x96BE,
+ 26600 - 11905: 0x96BF,
+ 26601 - 11905: 0xE8D1,
+ 26602 - 11905: 0x96C0,
+ 26603 - 11905: 0x96C1,
+ 26604 - 11905: 0xBCED,
+ 26605 - 11905: 0x96C2,
+ 26606 - 11905: 0x96C3,
+ 26607 - 11905: 0xBFC2,
+ 26608 - 11905: 0xE8CD,
+ 26609 - 11905: 0xD6F9,
+ 26610 - 11905: 0x96C4,
+ 26611 - 11905: 0xC1F8,
+ 26612 - 11905: 0xB2F1,
+ 26613 - 11905: 0x96C5,
+ 26614 - 11905: 0x96C6,
+ 26615 - 11905: 0x96C7,
+ 26616 - 11905: 0x96C8,
+ 26617 - 11905: 0x96C9,
+ 26618 - 11905: 0x96CA,
+ 26619 - 11905: 0x96CB,
+ 26620 - 11905: 0x96CC,
+ 26621 - 11905: 0xE8DF,
+ 26622 - 11905: 0x96CD,
+ 26623 - 11905: 0xCAC1,
+ 26624 - 11905: 0xE8D9,
+ 26625 - 11905: 0x96CE,
+ 26626 - 11905: 0x96CF,
+ 26627 - 11905: 0x96D0,
+ 26628 - 11905: 0x96D1,
+ 26629 - 11905: 0xD5A4,
+ 26630 - 11905: 0x96D2,
+ 26631 - 11905: 0xB1EA,
+ 26632 - 11905: 0xD5BB,
+ 26633 - 11905: 0xE8CE,
+ 26634 - 11905: 0xE8D0,
+ 26635 - 11905: 0xB6B0,
+ 26636 - 11905: 0xE8D3,
+ 26637 - 11905: 0x96D3,
+ 26638 - 11905: 0xE8DD,
+ 26639 - 11905: 0xC0B8,
+ 26640 - 11905: 0x96D4,
+ 26641 - 11905: 0xCAF7,
+ 26642 - 11905: 0x96D5,
+ 26643 - 11905: 0xCBA8,
+ 26644 - 11905: 0x96D6,
+ 26645 - 11905: 0x96D7,
+ 26646 - 11905: 0xC6DC,
+ 26647 - 11905: 0xC0F5,
+ 26648 - 11905: 0x96D8,
+ 26649 - 11905: 0x96D9,
+ 26650 - 11905: 0x96DA,
+ 26651 - 11905: 0x96DB,
+ 26652 - 11905: 0x96DC,
+ 26653 - 11905: 0xE8E9,
+ 26654 - 11905: 0x96DD,
+ 26655 - 11905: 0x96DE,
+ 26656 - 11905: 0x96DF,
+ 26657 - 11905: 0xD0A3,
+ 26658 - 11905: 0x96E0,
+ 26659 - 11905: 0x96E1,
+ 26660 - 11905: 0x96E2,
+ 26661 - 11905: 0x96E3,
+ 26662 - 11905: 0x96E4,
+ 26663 - 11905: 0x96E5,
+ 26664 - 11905: 0x96E6,
+ 26665 - 11905: 0xE8F2,
+ 26666 - 11905: 0xD6EA,
+ 26667 - 11905: 0x96E7,
+ 26668 - 11905: 0x96E8,
+ 26669 - 11905: 0x96E9,
+ 26670 - 11905: 0x96EA,
+ 26671 - 11905: 0x96EB,
+ 26672 - 11905: 0x96EC,
+ 26673 - 11905: 0x96ED,
+ 26674 - 11905: 0xE8E0,
+ 26675 - 11905: 0xE8E1,
+ 26676 - 11905: 0x96EE,
+ 26677 - 11905: 0x96EF,
+ 26678 - 11905: 0x96F0,
+ 26679 - 11905: 0xD1F9,
+ 26680 - 11905: 0xBACB,
+ 26681 - 11905: 0xB8F9,
+ 26682 - 11905: 0x96F1,
+ 26683 - 11905: 0x96F2,
+ 26684 - 11905: 0xB8F1,
+ 26685 - 11905: 0xD4D4,
+ 26686 - 11905: 0xE8EF,
+ 26687 - 11905: 0x96F3,
+ 26688 - 11905: 0xE8EE,
+ 26689 - 11905: 0xE8EC,
+ 26690 - 11905: 0xB9F0,
+ 26691 - 11905: 0xCCD2,
+ 26692 - 11905: 0xE8E6,
+ 26693 - 11905: 0xCEA6,
+ 26694 - 11905: 0xBFF2,
+ 26695 - 11905: 0x96F4,
+ 26696 - 11905: 0xB0B8,
+ 26697 - 11905: 0xE8F1,
+ 26698 - 11905: 0xE8F0,
+ 26699 - 11905: 0x96F5,
+ 26700 - 11905: 0xD7C0,
+ 26701 - 11905: 0x96F6,
+ 26702 - 11905: 0xE8E4,
+ 26703 - 11905: 0x96F7,
+ 26704 - 11905: 0xCDA9,
+ 26705 - 11905: 0xC9A3,
+ 26706 - 11905: 0x96F8,
+ 26707 - 11905: 0xBBB8,
+ 26708 - 11905: 0xBDDB,
+ 26709 - 11905: 0xE8EA,
+ 26710 - 11905: 0x96F9,
+ 26711 - 11905: 0x96FA,
+ 26712 - 11905: 0x96FB,
+ 26713 - 11905: 0x96FC,
+ 26714 - 11905: 0x96FD,
+ 26715 - 11905: 0x96FE,
+ 26716 - 11905: 0x9740,
+ 26717 - 11905: 0x9741,
+ 26718 - 11905: 0x9742,
+ 26719 - 11905: 0x9743,
+ 26720 - 11905: 0xE8E2,
+ 26721 - 11905: 0xE8E3,
+ 26722 - 11905: 0xE8E5,
+ 26723 - 11905: 0xB5B5,
+ 26724 - 11905: 0xE8E7,
+ 26725 - 11905: 0xC7C5,
+ 26726 - 11905: 0xE8EB,
+ 26727 - 11905: 0xE8ED,
+ 26728 - 11905: 0xBDB0,
+ 26729 - 11905: 0xD7AE,
+ 26730 - 11905: 0x9744,
+ 26731 - 11905: 0xE8F8,
+ 26732 - 11905: 0x9745,
+ 26733 - 11905: 0x9746,
+ 26734 - 11905: 0x9747,
+ 26735 - 11905: 0x9748,
+ 26736 - 11905: 0x9749,
+ 26737 - 11905: 0x974A,
+ 26738 - 11905: 0x974B,
+ 26739 - 11905: 0x974C,
+ 26740 - 11905: 0xE8F5,
+ 26741 - 11905: 0x974D,
+ 26742 - 11905: 0xCDB0,
+ 26743 - 11905: 0xE8F6,
+ 26744 - 11905: 0x974E,
+ 26745 - 11905: 0x974F,
+ 26746 - 11905: 0x9750,
+ 26747 - 11905: 0x9751,
+ 26748 - 11905: 0x9752,
+ 26749 - 11905: 0x9753,
+ 26750 - 11905: 0x9754,
+ 26751 - 11905: 0x9755,
+ 26752 - 11905: 0x9756,
+ 26753 - 11905: 0xC1BA,
+ 26754 - 11905: 0x9757,
+ 26755 - 11905: 0xE8E8,
+ 26756 - 11905: 0x9758,
+ 26757 - 11905: 0xC3B7,
+ 26758 - 11905: 0xB0F0,
+ 26759 - 11905: 0x9759,
+ 26760 - 11905: 0x975A,
+ 26761 - 11905: 0x975B,
+ 26762 - 11905: 0x975C,
+ 26763 - 11905: 0x975D,
+ 26764 - 11905: 0x975E,
+ 26765 - 11905: 0x975F,
+ 26766 - 11905: 0x9760,
+ 26767 - 11905: 0xE8F4,
+ 26768 - 11905: 0x9761,
+ 26769 - 11905: 0x9762,
+ 26770 - 11905: 0x9763,
+ 26771 - 11905: 0xE8F7,
+ 26772 - 11905: 0x9764,
+ 26773 - 11905: 0x9765,
+ 26774 - 11905: 0x9766,
+ 26775 - 11905: 0xB9A3,
+ 26776 - 11905: 0x9767,
+ 26777 - 11905: 0x9768,
+ 26778 - 11905: 0x9769,
+ 26779 - 11905: 0x976A,
+ 26780 - 11905: 0x976B,
+ 26781 - 11905: 0x976C,
+ 26782 - 11905: 0x976D,
+ 26783 - 11905: 0x976E,
+ 26784 - 11905: 0x976F,
+ 26785 - 11905: 0x9770,
+ 26786 - 11905: 0xC9D2,
+ 26787 - 11905: 0x9771,
+ 26788 - 11905: 0x9772,
+ 26789 - 11905: 0x9773,
+ 26790 - 11905: 0xC3CE,
+ 26791 - 11905: 0xCEE0,
+ 26792 - 11905: 0xC0E6,
+ 26793 - 11905: 0x9774,
+ 26794 - 11905: 0x9775,
+ 26795 - 11905: 0x9776,
+ 26796 - 11905: 0x9777,
+ 26797 - 11905: 0xCBF3,
+ 26798 - 11905: 0x9778,
+ 26799 - 11905: 0xCCDD,
+ 26800 - 11905: 0xD0B5,
+ 26801 - 11905: 0x9779,
+ 26802 - 11905: 0x977A,
+ 26803 - 11905: 0xCAE1,
+ 26804 - 11905: 0x977B,
+ 26805 - 11905: 0xE8F3,
+ 26806 - 11905: 0x977C,
+ 26807 - 11905: 0x977D,
+ 26808 - 11905: 0x977E,
+ 26809 - 11905: 0x9780,
+ 26810 - 11905: 0x9781,
+ 26811 - 11905: 0x9782,
+ 26812 - 11905: 0x9783,
+ 26813 - 11905: 0x9784,
+ 26814 - 11905: 0x9785,
+ 26815 - 11905: 0x9786,
+ 26816 - 11905: 0xBCEC,
+ 26817 - 11905: 0x9787,
+ 26818 - 11905: 0xE8F9,
+ 26819 - 11905: 0x9788,
+ 26820 - 11905: 0x9789,
+ 26821 - 11905: 0x978A,
+ 26822 - 11905: 0x978B,
+ 26823 - 11905: 0x978C,
+ 26824 - 11905: 0x978D,
+ 26825 - 11905: 0xC3DE,
+ 26826 - 11905: 0x978E,
+ 26827 - 11905: 0xC6E5,
+ 26828 - 11905: 0x978F,
+ 26829 - 11905: 0xB9F7,
+ 26830 - 11905: 0x9790,
+ 26831 - 11905: 0x9791,
+ 26832 - 11905: 0x9792,
+ 26833 - 11905: 0x9793,
+ 26834 - 11905: 0xB0F4,
+ 26835 - 11905: 0x9794,
+ 26836 - 11905: 0x9795,
+ 26837 - 11905: 0xD7D8,
+ 26838 - 11905: 0x9796,
+ 26839 - 11905: 0x9797,
+ 26840 - 11905: 0xBCAC,
+ 26841 - 11905: 0x9798,
+ 26842 - 11905: 0xC5EF,
+ 26843 - 11905: 0x9799,
+ 26844 - 11905: 0x979A,
+ 26845 - 11905: 0x979B,
+ 26846 - 11905: 0x979C,
+ 26847 - 11905: 0x979D,
+ 26848 - 11905: 0xCCC4,
+ 26849 - 11905: 0x979E,
+ 26850 - 11905: 0x979F,
+ 26851 - 11905: 0xE9A6,
+ 26852 - 11905: 0x97A0,
+ 26853 - 11905: 0x97A1,
+ 26854 - 11905: 0x97A2,
+ 26855 - 11905: 0x97A3,
+ 26856 - 11905: 0x97A4,
+ 26857 - 11905: 0x97A5,
+ 26858 - 11905: 0x97A6,
+ 26859 - 11905: 0x97A7,
+ 26860 - 11905: 0x97A8,
+ 26861 - 11905: 0x97A9,
+ 26862 - 11905: 0xC9AD,
+ 26863 - 11905: 0x97AA,
+ 26864 - 11905: 0xE9A2,
+ 26865 - 11905: 0xC0E2,
+ 26866 - 11905: 0x97AB,
+ 26867 - 11905: 0x97AC,
+ 26868 - 11905: 0x97AD,
+ 26869 - 11905: 0xBFC3,
+ 26870 - 11905: 0x97AE,
+ 26871 - 11905: 0x97AF,
+ 26872 - 11905: 0x97B0,
+ 26873 - 11905: 0xE8FE,
+ 26874 - 11905: 0xB9D7,
+ 26875 - 11905: 0x97B1,
+ 26876 - 11905: 0xE8FB,
+ 26877 - 11905: 0x97B2,
+ 26878 - 11905: 0x97B3,
+ 26879 - 11905: 0x97B4,
+ 26880 - 11905: 0x97B5,
+ 26881 - 11905: 0xE9A4,
+ 26882 - 11905: 0x97B6,
+ 26883 - 11905: 0x97B7,
+ 26884 - 11905: 0x97B8,
+ 26885 - 11905: 0xD2CE,
+ 26886 - 11905: 0x97B9,
+ 26887 - 11905: 0x97BA,
+ 26888 - 11905: 0x97BB,
+ 26889 - 11905: 0x97BC,
+ 26890 - 11905: 0x97BD,
+ 26891 - 11905: 0xE9A3,
+ 26892 - 11905: 0x97BE,
+ 26893 - 11905: 0xD6B2,
+ 26894 - 11905: 0xD7B5,
+ 26895 - 11905: 0x97BF,
+ 26896 - 11905: 0xE9A7,
+ 26897 - 11905: 0x97C0,
+ 26898 - 11905: 0xBDB7,
+ 26899 - 11905: 0x97C1,
+ 26900 - 11905: 0x97C2,
+ 26901 - 11905: 0x97C3,
+ 26902 - 11905: 0x97C4,
+ 26903 - 11905: 0x97C5,
+ 26904 - 11905: 0x97C6,
+ 26905 - 11905: 0x97C7,
+ 26906 - 11905: 0x97C8,
+ 26907 - 11905: 0x97C9,
+ 26908 - 11905: 0x97CA,
+ 26909 - 11905: 0x97CB,
+ 26910 - 11905: 0x97CC,
+ 26911 - 11905: 0xE8FC,
+ 26912 - 11905: 0xE8FD,
+ 26913 - 11905: 0x97CD,
+ 26914 - 11905: 0x97CE,
+ 26915 - 11905: 0x97CF,
+ 26916 - 11905: 0xE9A1,
+ 26917 - 11905: 0x97D0,
+ 26918 - 11905: 0x97D1,
+ 26919 - 11905: 0x97D2,
+ 26920 - 11905: 0x97D3,
+ 26921 - 11905: 0x97D4,
+ 26922 - 11905: 0x97D5,
+ 26923 - 11905: 0x97D6,
+ 26924 - 11905: 0x97D7,
+ 26925 - 11905: 0xCDD6,
+ 26926 - 11905: 0x97D8,
+ 26927 - 11905: 0x97D9,
+ 26928 - 11905: 0xD2AC,
+ 26929 - 11905: 0x97DA,
+ 26930 - 11905: 0x97DB,
+ 26931 - 11905: 0x97DC,
+ 26932 - 11905: 0xE9B2,
+ 26933 - 11905: 0x97DD,
+ 26934 - 11905: 0x97DE,
+ 26935 - 11905: 0x97DF,
+ 26936 - 11905: 0x97E0,
+ 26937 - 11905: 0xE9A9,
+ 26938 - 11905: 0x97E1,
+ 26939 - 11905: 0x97E2,
+ 26940 - 11905: 0x97E3,
+ 26941 - 11905: 0xB4AA,
+ 26942 - 11905: 0x97E4,
+ 26943 - 11905: 0xB4BB,
+ 26944 - 11905: 0x97E5,
+ 26945 - 11905: 0x97E6,
+ 26946 - 11905: 0xE9AB,
+ 26947 - 11905: 0x97E7,
+ 26948 - 11905: 0x97E8,
+ 26949 - 11905: 0x97E9,
+ 26950 - 11905: 0x97EA,
+ 26951 - 11905: 0x97EB,
+ 26952 - 11905: 0x97EC,
+ 26953 - 11905: 0x97ED,
+ 26954 - 11905: 0x97EE,
+ 26955 - 11905: 0x97EF,
+ 26956 - 11905: 0x97F0,
+ 26957 - 11905: 0x97F1,
+ 26958 - 11905: 0x97F2,
+ 26959 - 11905: 0x97F3,
+ 26960 - 11905: 0x97F4,
+ 26961 - 11905: 0x97F5,
+ 26962 - 11905: 0x97F6,
+ 26963 - 11905: 0x97F7,
+ 26964 - 11905: 0xD0A8,
+ 26965 - 11905: 0x97F8,
+ 26966 - 11905: 0x97F9,
+ 26967 - 11905: 0xE9A5,
+ 26968 - 11905: 0x97FA,
+ 26969 - 11905: 0x97FB,
+ 26970 - 11905: 0xB3FE,
+ 26971 - 11905: 0x97FC,
+ 26972 - 11905: 0x97FD,
+ 26973 - 11905: 0xE9AC,
+ 26974 - 11905: 0xC0E3,
+ 26975 - 11905: 0x97FE,
+ 26976 - 11905: 0xE9AA,
+ 26977 - 11905: 0x9840,
+ 26978 - 11905: 0x9841,
+ 26979 - 11905: 0xE9B9,
+ 26980 - 11905: 0x9842,
+ 26981 - 11905: 0x9843,
+ 26982 - 11905: 0xE9B8,
+ 26983 - 11905: 0x9844,
+ 26984 - 11905: 0x9845,
+ 26985 - 11905: 0x9846,
+ 26986 - 11905: 0x9847,
+ 26987 - 11905: 0xE9AE,
+ 26988 - 11905: 0x9848,
+ 26989 - 11905: 0x9849,
+ 26990 - 11905: 0xE8FA,
+ 26991 - 11905: 0x984A,
+ 26992 - 11905: 0x984B,
+ 26993 - 11905: 0xE9A8,
+ 26994 - 11905: 0x984C,
+ 26995 - 11905: 0x984D,
+ 26996 - 11905: 0x984E,
+ 26997 - 11905: 0x984F,
+ 26998 - 11905: 0x9850,
+ 26999 - 11905: 0xBFAC,
+ 27000 - 11905: 0xE9B1,
+ 27001 - 11905: 0xE9BA,
+ 27002 - 11905: 0x9851,
+ 27003 - 11905: 0x9852,
+ 27004 - 11905: 0xC2A5,
+ 27005 - 11905: 0x9853,
+ 27006 - 11905: 0x9854,
+ 27007 - 11905: 0x9855,
+ 27008 - 11905: 0xE9AF,
+ 27009 - 11905: 0x9856,
+ 27010 - 11905: 0xB8C5,
+ 27011 - 11905: 0x9857,
+ 27012 - 11905: 0xE9AD,
+ 27013 - 11905: 0x9858,
+ 27014 - 11905: 0xD3DC,
+ 27015 - 11905: 0xE9B4,
+ 27016 - 11905: 0xE9B5,
+ 27017 - 11905: 0xE9B7,
+ 27018 - 11905: 0x9859,
+ 27019 - 11905: 0x985A,
+ 27020 - 11905: 0x985B,
+ 27021 - 11905: 0xE9C7,
+ 27022 - 11905: 0x985C,
+ 27023 - 11905: 0x985D,
+ 27024 - 11905: 0x985E,
+ 27025 - 11905: 0x985F,
+ 27026 - 11905: 0x9860,
+ 27027 - 11905: 0x9861,
+ 27028 - 11905: 0xC0C6,
+ 27029 - 11905: 0xE9C5,
+ 27030 - 11905: 0x9862,
+ 27031 - 11905: 0x9863,
+ 27032 - 11905: 0xE9B0,
+ 27033 - 11905: 0x9864,
+ 27034 - 11905: 0x9865,
+ 27035 - 11905: 0xE9BB,
+ 27036 - 11905: 0xB0F1,
+ 27037 - 11905: 0x9866,
+ 27038 - 11905: 0x9867,
+ 27039 - 11905: 0x9868,
+ 27040 - 11905: 0x9869,
+ 27041 - 11905: 0x986A,
+ 27042 - 11905: 0x986B,
+ 27043 - 11905: 0x986C,
+ 27044 - 11905: 0x986D,
+ 27045 - 11905: 0x986E,
+ 27046 - 11905: 0x986F,
+ 27047 - 11905: 0xE9BC,
+ 27048 - 11905: 0xD5A5,
+ 27049 - 11905: 0x9870,
+ 27050 - 11905: 0x9871,
+ 27051 - 11905: 0xE9BE,
+ 27052 - 11905: 0x9872,
+ 27053 - 11905: 0xE9BF,
+ 27054 - 11905: 0x9873,
+ 27055 - 11905: 0x9874,
+ 27056 - 11905: 0x9875,
+ 27057 - 11905: 0xE9C1,
+ 27058 - 11905: 0x9876,
+ 27059 - 11905: 0x9877,
+ 27060 - 11905: 0xC1F1,
+ 27061 - 11905: 0x9878,
+ 27062 - 11905: 0x9879,
+ 27063 - 11905: 0xC8B6,
+ 27064 - 11905: 0x987A,
+ 27065 - 11905: 0x987B,
+ 27066 - 11905: 0x987C,
+ 27067 - 11905: 0xE9BD,
+ 27068 - 11905: 0x987D,
+ 27069 - 11905: 0x987E,
+ 27070 - 11905: 0x9880,
+ 27071 - 11905: 0x9881,
+ 27072 - 11905: 0x9882,
+ 27073 - 11905: 0xE9C2,
+ 27074 - 11905: 0x9883,
+ 27075 - 11905: 0x9884,
+ 27076 - 11905: 0x9885,
+ 27077 - 11905: 0x9886,
+ 27078 - 11905: 0x9887,
+ 27079 - 11905: 0x9888,
+ 27080 - 11905: 0x9889,
+ 27081 - 11905: 0x988A,
+ 27082 - 11905: 0xE9C3,
+ 27083 - 11905: 0x988B,
+ 27084 - 11905: 0xE9B3,
+ 27085 - 11905: 0x988C,
+ 27086 - 11905: 0xE9B6,
+ 27087 - 11905: 0x988D,
+ 27088 - 11905: 0xBBB1,
+ 27089 - 11905: 0x988E,
+ 27090 - 11905: 0x988F,
+ 27091 - 11905: 0x9890,
+ 27092 - 11905: 0xE9C0,
+ 27093 - 11905: 0x9891,
+ 27094 - 11905: 0x9892,
+ 27095 - 11905: 0x9893,
+ 27096 - 11905: 0x9894,
+ 27097 - 11905: 0x9895,
+ 27098 - 11905: 0x9896,
+ 27099 - 11905: 0xBCF7,
+ 27100 - 11905: 0x9897,
+ 27101 - 11905: 0x9898,
+ 27102 - 11905: 0x9899,
+ 27103 - 11905: 0xE9C4,
+ 27104 - 11905: 0xE9C6,
+ 27105 - 11905: 0x989A,
+ 27106 - 11905: 0x989B,
+ 27107 - 11905: 0x989C,
+ 27108 - 11905: 0x989D,
+ 27109 - 11905: 0x989E,
+ 27110 - 11905: 0x989F,
+ 27111 - 11905: 0x98A0,
+ 27112 - 11905: 0x98A1,
+ 27113 - 11905: 0x98A2,
+ 27114 - 11905: 0x98A3,
+ 27115 - 11905: 0x98A4,
+ 27116 - 11905: 0x98A5,
+ 27117 - 11905: 0xE9CA,
+ 27118 - 11905: 0x98A6,
+ 27119 - 11905: 0x98A7,
+ 27120 - 11905: 0x98A8,
+ 27121 - 11905: 0x98A9,
+ 27122 - 11905: 0xE9CE,
+ 27123 - 11905: 0x98AA,
+ 27124 - 11905: 0x98AB,
+ 27125 - 11905: 0x98AC,
+ 27126 - 11905: 0x98AD,
+ 27127 - 11905: 0x98AE,
+ 27128 - 11905: 0x98AF,
+ 27129 - 11905: 0x98B0,
+ 27130 - 11905: 0x98B1,
+ 27131 - 11905: 0x98B2,
+ 27132 - 11905: 0x98B3,
+ 27133 - 11905: 0xB2DB,
+ 27134 - 11905: 0x98B4,
+ 27135 - 11905: 0xE9C8,
+ 27136 - 11905: 0x98B5,
+ 27137 - 11905: 0x98B6,
+ 27138 - 11905: 0x98B7,
+ 27139 - 11905: 0x98B8,
+ 27140 - 11905: 0x98B9,
+ 27141 - 11905: 0x98BA,
+ 27142 - 11905: 0x98BB,
+ 27143 - 11905: 0x98BC,
+ 27144 - 11905: 0x98BD,
+ 27145 - 11905: 0x98BE,
+ 27146 - 11905: 0xB7AE,
+ 27147 - 11905: 0x98BF,
+ 27148 - 11905: 0x98C0,
+ 27149 - 11905: 0x98C1,
+ 27150 - 11905: 0x98C2,
+ 27151 - 11905: 0x98C3,
+ 27152 - 11905: 0x98C4,
+ 27153 - 11905: 0x98C5,
+ 27154 - 11905: 0x98C6,
+ 27155 - 11905: 0x98C7,
+ 27156 - 11905: 0x98C8,
+ 27157 - 11905: 0x98C9,
+ 27158 - 11905: 0x98CA,
+ 27159 - 11905: 0xE9CB,
+ 27160 - 11905: 0xE9CC,
+ 27161 - 11905: 0x98CB,
+ 27162 - 11905: 0x98CC,
+ 27163 - 11905: 0x98CD,
+ 27164 - 11905: 0x98CE,
+ 27165 - 11905: 0x98CF,
+ 27166 - 11905: 0x98D0,
+ 27167 - 11905: 0xD5C1,
+ 27168 - 11905: 0x98D1,
+ 27169 - 11905: 0xC4A3,
+ 27170 - 11905: 0x98D2,
+ 27171 - 11905: 0x98D3,
+ 27172 - 11905: 0x98D4,
+ 27173 - 11905: 0x98D5,
+ 27174 - 11905: 0x98D6,
+ 27175 - 11905: 0x98D7,
+ 27176 - 11905: 0xE9D8,
+ 27177 - 11905: 0x98D8,
+ 27178 - 11905: 0xBAE1,
+ 27179 - 11905: 0x98D9,
+ 27180 - 11905: 0x98DA,
+ 27181 - 11905: 0x98DB,
+ 27182 - 11905: 0x98DC,
+ 27183 - 11905: 0xE9C9,
+ 27184 - 11905: 0x98DD,
+ 27185 - 11905: 0xD3A3,
+ 27186 - 11905: 0x98DE,
+ 27187 - 11905: 0x98DF,
+ 27188 - 11905: 0x98E0,
+ 27189 - 11905: 0xE9D4,
+ 27190 - 11905: 0x98E1,
+ 27191 - 11905: 0x98E2,
+ 27192 - 11905: 0x98E3,
+ 27193 - 11905: 0x98E4,
+ 27194 - 11905: 0x98E5,
+ 27195 - 11905: 0x98E6,
+ 27196 - 11905: 0x98E7,
+ 27197 - 11905: 0xE9D7,
+ 27198 - 11905: 0xE9D0,
+ 27199 - 11905: 0x98E8,
+ 27200 - 11905: 0x98E9,
+ 27201 - 11905: 0x98EA,
+ 27202 - 11905: 0x98EB,
+ 27203 - 11905: 0x98EC,
+ 27204 - 11905: 0xE9CF,
+ 27205 - 11905: 0x98ED,
+ 27206 - 11905: 0x98EE,
+ 27207 - 11905: 0xC7C1,
+ 27208 - 11905: 0x98EF,
+ 27209 - 11905: 0x98F0,
+ 27210 - 11905: 0x98F1,
+ 27211 - 11905: 0x98F2,
+ 27212 - 11905: 0x98F3,
+ 27213 - 11905: 0x98F4,
+ 27214 - 11905: 0x98F5,
+ 27215 - 11905: 0x98F6,
+ 27216 - 11905: 0xE9D2,
+ 27217 - 11905: 0x98F7,
+ 27218 - 11905: 0x98F8,
+ 27219 - 11905: 0x98F9,
+ 27220 - 11905: 0x98FA,
+ 27221 - 11905: 0x98FB,
+ 27222 - 11905: 0x98FC,
+ 27223 - 11905: 0x98FD,
+ 27224 - 11905: 0xE9D9,
+ 27225 - 11905: 0xB3C8,
+ 27226 - 11905: 0x98FE,
+ 27227 - 11905: 0xE9D3,
+ 27228 - 11905: 0x9940,
+ 27229 - 11905: 0x9941,
+ 27230 - 11905: 0x9942,
+ 27231 - 11905: 0x9943,
+ 27232 - 11905: 0x9944,
+ 27233 - 11905: 0xCFF0,
+ 27234 - 11905: 0x9945,
+ 27235 - 11905: 0x9946,
+ 27236 - 11905: 0x9947,
+ 27237 - 11905: 0xE9CD,
+ 27238 - 11905: 0x9948,
+ 27239 - 11905: 0x9949,
+ 27240 - 11905: 0x994A,
+ 27241 - 11905: 0x994B,
+ 27242 - 11905: 0x994C,
+ 27243 - 11905: 0x994D,
+ 27244 - 11905: 0x994E,
+ 27245 - 11905: 0x994F,
+ 27246 - 11905: 0x9950,
+ 27247 - 11905: 0x9951,
+ 27248 - 11905: 0x9952,
+ 27249 - 11905: 0xB3F7,
+ 27250 - 11905: 0x9953,
+ 27251 - 11905: 0x9954,
+ 27252 - 11905: 0x9955,
+ 27253 - 11905: 0x9956,
+ 27254 - 11905: 0x9957,
+ 27255 - 11905: 0x9958,
+ 27256 - 11905: 0x9959,
+ 27257 - 11905: 0xE9D6,
+ 27258 - 11905: 0x995A,
+ 27259 - 11905: 0x995B,
+ 27260 - 11905: 0xE9DA,
+ 27261 - 11905: 0x995C,
+ 27262 - 11905: 0x995D,
+ 27263 - 11905: 0x995E,
+ 27264 - 11905: 0xCCB4,
+ 27265 - 11905: 0x995F,
+ 27266 - 11905: 0x9960,
+ 27267 - 11905: 0x9961,
+ 27268 - 11905: 0xCFAD,
+ 27269 - 11905: 0x9962,
+ 27270 - 11905: 0x9963,
+ 27271 - 11905: 0x9964,
+ 27272 - 11905: 0x9965,
+ 27273 - 11905: 0x9966,
+ 27274 - 11905: 0x9967,
+ 27275 - 11905: 0x9968,
+ 27276 - 11905: 0x9969,
+ 27277 - 11905: 0x996A,
+ 27278 - 11905: 0xE9D5,
+ 27279 - 11905: 0x996B,
+ 27280 - 11905: 0xE9DC,
+ 27281 - 11905: 0xE9DB,
+ 27282 - 11905: 0x996C,
+ 27283 - 11905: 0x996D,
+ 27284 - 11905: 0x996E,
+ 27285 - 11905: 0x996F,
+ 27286 - 11905: 0x9970,
+ 27287 - 11905: 0xE9DE,
+ 27288 - 11905: 0x9971,
+ 27289 - 11905: 0x9972,
+ 27290 - 11905: 0x9973,
+ 27291 - 11905: 0x9974,
+ 27292 - 11905: 0x9975,
+ 27293 - 11905: 0x9976,
+ 27294 - 11905: 0x9977,
+ 27295 - 11905: 0x9978,
+ 27296 - 11905: 0xE9D1,
+ 27297 - 11905: 0x9979,
+ 27298 - 11905: 0x997A,
+ 27299 - 11905: 0x997B,
+ 27300 - 11905: 0x997C,
+ 27301 - 11905: 0x997D,
+ 27302 - 11905: 0x997E,
+ 27303 - 11905: 0x9980,
+ 27304 - 11905: 0x9981,
+ 27305 - 11905: 0xE9DD,
+ 27306 - 11905: 0x9982,
+ 27307 - 11905: 0xE9DF,
+ 27308 - 11905: 0xC3CA,
+ 27309 - 11905: 0x9983,
+ 27310 - 11905: 0x9984,
+ 27311 - 11905: 0x9985,
+ 27312 - 11905: 0x9986,
+ 27313 - 11905: 0x9987,
+ 27314 - 11905: 0x9988,
+ 27315 - 11905: 0x9989,
+ 27316 - 11905: 0x998A,
+ 27317 - 11905: 0x998B,
+ 27318 - 11905: 0x998C,
+ 27319 - 11905: 0x998D,
+ 27320 - 11905: 0x998E,
+ 27321 - 11905: 0x998F,
+ 27322 - 11905: 0x9990,
+ 27323 - 11905: 0x9991,
+ 27324 - 11905: 0x9992,
+ 27325 - 11905: 0x9993,
+ 27326 - 11905: 0x9994,
+ 27327 - 11905: 0x9995,
+ 27328 - 11905: 0x9996,
+ 27329 - 11905: 0x9997,
+ 27330 - 11905: 0x9998,
+ 27331 - 11905: 0x9999,
+ 27332 - 11905: 0x999A,
+ 27333 - 11905: 0x999B,
+ 27334 - 11905: 0x999C,
+ 27335 - 11905: 0x999D,
+ 27336 - 11905: 0x999E,
+ 27337 - 11905: 0x999F,
+ 27338 - 11905: 0x99A0,
+ 27339 - 11905: 0x99A1,
+ 27340 - 11905: 0x99A2,
+ 27341 - 11905: 0x99A3,
+ 27342 - 11905: 0x99A4,
+ 27343 - 11905: 0x99A5,
+ 27344 - 11905: 0x99A6,
+ 27345 - 11905: 0x99A7,
+ 27346 - 11905: 0x99A8,
+ 27347 - 11905: 0x99A9,
+ 27348 - 11905: 0x99AA,
+ 27349 - 11905: 0x99AB,
+ 27350 - 11905: 0x99AC,
+ 27351 - 11905: 0x99AD,
+ 27352 - 11905: 0x99AE,
+ 27353 - 11905: 0x99AF,
+ 27354 - 11905: 0x99B0,
+ 27355 - 11905: 0x99B1,
+ 27356 - 11905: 0x99B2,
+ 27357 - 11905: 0x99B3,
+ 27358 - 11905: 0x99B4,
+ 27359 - 11905: 0x99B5,
+ 27360 - 11905: 0x99B6,
+ 27361 - 11905: 0x99B7,
+ 27362 - 11905: 0x99B8,
+ 27363 - 11905: 0x99B9,
+ 27364 - 11905: 0x99BA,
+ 27365 - 11905: 0x99BB,
+ 27366 - 11905: 0x99BC,
+ 27367 - 11905: 0x99BD,
+ 27368 - 11905: 0x99BE,
+ 27369 - 11905: 0x99BF,
+ 27370 - 11905: 0x99C0,
+ 27371 - 11905: 0x99C1,
+ 27372 - 11905: 0x99C2,
+ 27373 - 11905: 0x99C3,
+ 27374 - 11905: 0x99C4,
+ 27375 - 11905: 0x99C5,
+ 27376 - 11905: 0x99C6,
+ 27377 - 11905: 0x99C7,
+ 27378 - 11905: 0x99C8,
+ 27379 - 11905: 0x99C9,
+ 27380 - 11905: 0x99CA,
+ 27381 - 11905: 0x99CB,
+ 27382 - 11905: 0x99CC,
+ 27383 - 11905: 0x99CD,
+ 27384 - 11905: 0x99CE,
+ 27385 - 11905: 0x99CF,
+ 27386 - 11905: 0x99D0,
+ 27387 - 11905: 0x99D1,
+ 27388 - 11905: 0x99D2,
+ 27389 - 11905: 0x99D3,
+ 27390 - 11905: 0x99D4,
+ 27391 - 11905: 0x99D5,
+ 27392 - 11905: 0x99D6,
+ 27393 - 11905: 0x99D7,
+ 27394 - 11905: 0x99D8,
+ 27395 - 11905: 0x99D9,
+ 27396 - 11905: 0x99DA,
+ 27397 - 11905: 0x99DB,
+ 27398 - 11905: 0x99DC,
+ 27399 - 11905: 0x99DD,
+ 27400 - 11905: 0x99DE,
+ 27401 - 11905: 0x99DF,
+ 27402 - 11905: 0x99E0,
+ 27403 - 11905: 0x99E1,
+ 27404 - 11905: 0x99E2,
+ 27405 - 11905: 0x99E3,
+ 27406 - 11905: 0x99E4,
+ 27407 - 11905: 0x99E5,
+ 27408 - 11905: 0x99E6,
+ 27409 - 11905: 0x99E7,
+ 27410 - 11905: 0x99E8,
+ 27411 - 11905: 0x99E9,
+ 27412 - 11905: 0x99EA,
+ 27413 - 11905: 0x99EB,
+ 27414 - 11905: 0x99EC,
+ 27415 - 11905: 0x99ED,
+ 27416 - 11905: 0x99EE,
+ 27417 - 11905: 0x99EF,
+ 27418 - 11905: 0x99F0,
+ 27419 - 11905: 0x99F1,
+ 27420 - 11905: 0x99F2,
+ 27421 - 11905: 0x99F3,
+ 27422 - 11905: 0x99F4,
+ 27423 - 11905: 0x99F5,
+ 27424 - 11905: 0xC7B7,
+ 27425 - 11905: 0xB4CE,
+ 27426 - 11905: 0xBBB6,
+ 27427 - 11905: 0xD0C0,
+ 27428 - 11905: 0xECA3,
+ 27429 - 11905: 0x99F6,
+ 27430 - 11905: 0x99F7,
+ 27431 - 11905: 0xC5B7,
+ 27432 - 11905: 0x99F8,
+ 27433 - 11905: 0x99F9,
+ 27434 - 11905: 0x99FA,
+ 27435 - 11905: 0x99FB,
+ 27436 - 11905: 0x99FC,
+ 27437 - 11905: 0x99FD,
+ 27438 - 11905: 0x99FE,
+ 27439 - 11905: 0x9A40,
+ 27440 - 11905: 0x9A41,
+ 27441 - 11905: 0x9A42,
+ 27442 - 11905: 0xD3FB,
+ 27443 - 11905: 0x9A43,
+ 27444 - 11905: 0x9A44,
+ 27445 - 11905: 0x9A45,
+ 27446 - 11905: 0x9A46,
+ 27447 - 11905: 0xECA4,
+ 27448 - 11905: 0x9A47,
+ 27449 - 11905: 0xECA5,
+ 27450 - 11905: 0xC6DB,
+ 27451 - 11905: 0x9A48,
+ 27452 - 11905: 0x9A49,
+ 27453 - 11905: 0x9A4A,
+ 27454 - 11905: 0xBFEE,
+ 27455 - 11905: 0x9A4B,
+ 27456 - 11905: 0x9A4C,
+ 27457 - 11905: 0x9A4D,
+ 27458 - 11905: 0x9A4E,
+ 27459 - 11905: 0xECA6,
+ 27460 - 11905: 0x9A4F,
+ 27461 - 11905: 0x9A50,
+ 27462 - 11905: 0xECA7,
+ 27463 - 11905: 0xD0AA,
+ 27464 - 11905: 0x9A51,
+ 27465 - 11905: 0xC7B8,
+ 27466 - 11905: 0x9A52,
+ 27467 - 11905: 0x9A53,
+ 27468 - 11905: 0xB8E8,
+ 27469 - 11905: 0x9A54,
+ 27470 - 11905: 0x9A55,
+ 27471 - 11905: 0x9A56,
+ 27472 - 11905: 0x9A57,
+ 27473 - 11905: 0x9A58,
+ 27474 - 11905: 0x9A59,
+ 27475 - 11905: 0x9A5A,
+ 27476 - 11905: 0x9A5B,
+ 27477 - 11905: 0x9A5C,
+ 27478 - 11905: 0x9A5D,
+ 27479 - 11905: 0x9A5E,
+ 27480 - 11905: 0x9A5F,
+ 27481 - 11905: 0xECA8,
+ 27482 - 11905: 0x9A60,
+ 27483 - 11905: 0x9A61,
+ 27484 - 11905: 0x9A62,
+ 27485 - 11905: 0x9A63,
+ 27486 - 11905: 0x9A64,
+ 27487 - 11905: 0x9A65,
+ 27488 - 11905: 0x9A66,
+ 27489 - 11905: 0x9A67,
+ 27490 - 11905: 0xD6B9,
+ 27491 - 11905: 0xD5FD,
+ 27492 - 11905: 0xB4CB,
+ 27493 - 11905: 0xB2BD,
+ 27494 - 11905: 0xCEE4,
+ 27495 - 11905: 0xC6E7,
+ 27496 - 11905: 0x9A68,
+ 27497 - 11905: 0x9A69,
+ 27498 - 11905: 0xCDE1,
+ 27499 - 11905: 0x9A6A,
+ 27500 - 11905: 0x9A6B,
+ 27501 - 11905: 0x9A6C,
+ 27502 - 11905: 0x9A6D,
+ 27503 - 11905: 0x9A6E,
+ 27504 - 11905: 0x9A6F,
+ 27505 - 11905: 0x9A70,
+ 27506 - 11905: 0x9A71,
+ 27507 - 11905: 0x9A72,
+ 27508 - 11905: 0x9A73,
+ 27509 - 11905: 0x9A74,
+ 27510 - 11905: 0x9A75,
+ 27511 - 11905: 0x9A76,
+ 27512 - 11905: 0x9A77,
+ 27513 - 11905: 0xB4F5,
+ 27514 - 11905: 0x9A78,
+ 27515 - 11905: 0xCBC0,
+ 27516 - 11905: 0xBCDF,
+ 27517 - 11905: 0x9A79,
+ 27518 - 11905: 0x9A7A,
+ 27519 - 11905: 0x9A7B,
+ 27520 - 11905: 0x9A7C,
+ 27521 - 11905: 0xE9E2,
+ 27522 - 11905: 0xE9E3,
+ 27523 - 11905: 0xD1EA,
+ 27524 - 11905: 0xE9E5,
+ 27525 - 11905: 0x9A7D,
+ 27526 - 11905: 0xB4F9,
+ 27527 - 11905: 0xE9E4,
+ 27528 - 11905: 0x9A7E,
+ 27529 - 11905: 0xD1B3,
+ 27530 - 11905: 0xCAE2,
+ 27531 - 11905: 0xB2D0,
+ 27532 - 11905: 0x9A80,
+ 27533 - 11905: 0xE9E8,
+ 27534 - 11905: 0x9A81,
+ 27535 - 11905: 0x9A82,
+ 27536 - 11905: 0x9A83,
+ 27537 - 11905: 0x9A84,
+ 27538 - 11905: 0xE9E6,
+ 27539 - 11905: 0xE9E7,
+ 27540 - 11905: 0x9A85,
+ 27541 - 11905: 0x9A86,
+ 27542 - 11905: 0xD6B3,
+ 27543 - 11905: 0x9A87,
+ 27544 - 11905: 0x9A88,
+ 27545 - 11905: 0x9A89,
+ 27546 - 11905: 0xE9E9,
+ 27547 - 11905: 0xE9EA,
+ 27548 - 11905: 0x9A8A,
+ 27549 - 11905: 0x9A8B,
+ 27550 - 11905: 0x9A8C,
+ 27551 - 11905: 0x9A8D,
+ 27552 - 11905: 0x9A8E,
+ 27553 - 11905: 0xE9EB,
+ 27554 - 11905: 0x9A8F,
+ 27555 - 11905: 0x9A90,
+ 27556 - 11905: 0x9A91,
+ 27557 - 11905: 0x9A92,
+ 27558 - 11905: 0x9A93,
+ 27559 - 11905: 0x9A94,
+ 27560 - 11905: 0x9A95,
+ 27561 - 11905: 0x9A96,
+ 27562 - 11905: 0xE9EC,
+ 27563 - 11905: 0x9A97,
+ 27564 - 11905: 0x9A98,
+ 27565 - 11905: 0x9A99,
+ 27566 - 11905: 0x9A9A,
+ 27567 - 11905: 0x9A9B,
+ 27568 - 11905: 0x9A9C,
+ 27569 - 11905: 0x9A9D,
+ 27570 - 11905: 0x9A9E,
+ 27571 - 11905: 0xECAF,
+ 27572 - 11905: 0xC5B9,
+ 27573 - 11905: 0xB6CE,
+ 27574 - 11905: 0x9A9F,
+ 27575 - 11905: 0xD2F3,
+ 27576 - 11905: 0x9AA0,
+ 27577 - 11905: 0x9AA1,
+ 27578 - 11905: 0x9AA2,
+ 27579 - 11905: 0x9AA3,
+ 27580 - 11905: 0x9AA4,
+ 27581 - 11905: 0x9AA5,
+ 27582 - 11905: 0x9AA6,
+ 27583 - 11905: 0xB5EE,
+ 27584 - 11905: 0x9AA7,
+ 27585 - 11905: 0xBBD9,
+ 27586 - 11905: 0xECB1,
+ 27587 - 11905: 0x9AA8,
+ 27588 - 11905: 0x9AA9,
+ 27589 - 11905: 0xD2E3,
+ 27590 - 11905: 0x9AAA,
+ 27591 - 11905: 0x9AAB,
+ 27592 - 11905: 0x9AAC,
+ 27593 - 11905: 0x9AAD,
+ 27594 - 11905: 0x9AAE,
+ 27595 - 11905: 0xCEE3,
+ 27596 - 11905: 0x9AAF,
+ 27597 - 11905: 0xC4B8,
+ 27598 - 11905: 0x9AB0,
+ 27599 - 11905: 0xC3BF,
+ 27600 - 11905: 0x9AB1,
+ 27601 - 11905: 0x9AB2,
+ 27602 - 11905: 0xB6BE,
+ 27603 - 11905: 0xD8B9,
+ 27604 - 11905: 0xB1C8,
+ 27605 - 11905: 0xB1CF,
+ 27606 - 11905: 0xB1D1,
+ 27607 - 11905: 0xC5FE,
+ 27608 - 11905: 0x9AB3,
+ 27609 - 11905: 0xB1D0,
+ 27610 - 11905: 0x9AB4,
+ 27611 - 11905: 0xC3AB,
+ 27612 - 11905: 0x9AB5,
+ 27613 - 11905: 0x9AB6,
+ 27614 - 11905: 0x9AB7,
+ 27615 - 11905: 0x9AB8,
+ 27616 - 11905: 0x9AB9,
+ 27617 - 11905: 0xD5B1,
+ 27618 - 11905: 0x9ABA,
+ 27619 - 11905: 0x9ABB,
+ 27620 - 11905: 0x9ABC,
+ 27621 - 11905: 0x9ABD,
+ 27622 - 11905: 0x9ABE,
+ 27623 - 11905: 0x9ABF,
+ 27624 - 11905: 0x9AC0,
+ 27625 - 11905: 0x9AC1,
+ 27626 - 11905: 0xEBA4,
+ 27627 - 11905: 0xBAC1,
+ 27628 - 11905: 0x9AC2,
+ 27629 - 11905: 0x9AC3,
+ 27630 - 11905: 0x9AC4,
+ 27631 - 11905: 0xCCBA,
+ 27632 - 11905: 0x9AC5,
+ 27633 - 11905: 0x9AC6,
+ 27634 - 11905: 0x9AC7,
+ 27635 - 11905: 0xEBA5,
+ 27636 - 11905: 0x9AC8,
+ 27637 - 11905: 0xEBA7,
+ 27638 - 11905: 0x9AC9,
+ 27639 - 11905: 0x9ACA,
+ 27640 - 11905: 0x9ACB,
+ 27641 - 11905: 0xEBA8,
+ 27642 - 11905: 0x9ACC,
+ 27643 - 11905: 0x9ACD,
+ 27644 - 11905: 0x9ACE,
+ 27645 - 11905: 0xEBA6,
+ 27646 - 11905: 0x9ACF,
+ 27647 - 11905: 0x9AD0,
+ 27648 - 11905: 0x9AD1,
+ 27649 - 11905: 0x9AD2,
+ 27650 - 11905: 0x9AD3,
+ 27651 - 11905: 0x9AD4,
+ 27652 - 11905: 0x9AD5,
+ 27653 - 11905: 0xEBA9,
+ 27654 - 11905: 0xEBAB,
+ 27655 - 11905: 0xEBAA,
+ 27656 - 11905: 0x9AD6,
+ 27657 - 11905: 0x9AD7,
+ 27658 - 11905: 0x9AD8,
+ 27659 - 11905: 0x9AD9,
+ 27660 - 11905: 0x9ADA,
+ 27661 - 11905: 0xEBAC,
+ 27662 - 11905: 0x9ADB,
+ 27663 - 11905: 0xCACF,
+ 27664 - 11905: 0xD8B5,
+ 27665 - 11905: 0xC3F1,
+ 27666 - 11905: 0x9ADC,
+ 27667 - 11905: 0xC3A5,
+ 27668 - 11905: 0xC6F8,
+ 27669 - 11905: 0xEBAD,
+ 27670 - 11905: 0xC4CA,
+ 27671 - 11905: 0x9ADD,
+ 27672 - 11905: 0xEBAE,
+ 27673 - 11905: 0xEBAF,
+ 27674 - 11905: 0xEBB0,
+ 27675 - 11905: 0xB7D5,
+ 27676 - 11905: 0x9ADE,
+ 27677 - 11905: 0x9ADF,
+ 27678 - 11905: 0x9AE0,
+ 27679 - 11905: 0xB7FA,
+ 27680 - 11905: 0x9AE1,
+ 27681 - 11905: 0xEBB1,
+ 27682 - 11905: 0xC7E2,
+ 27683 - 11905: 0x9AE2,
+ 27684 - 11905: 0xEBB3,
+ 27685 - 11905: 0x9AE3,
+ 27686 - 11905: 0xBAA4,
+ 27687 - 11905: 0xD1F5,
+ 27688 - 11905: 0xB0B1,
+ 27689 - 11905: 0xEBB2,
+ 27690 - 11905: 0xEBB4,
+ 27691 - 11905: 0x9AE4,
+ 27692 - 11905: 0x9AE5,
+ 27693 - 11905: 0x9AE6,
+ 27694 - 11905: 0xB5AA,
+ 27695 - 11905: 0xC2C8,
+ 27696 - 11905: 0xC7E8,
+ 27697 - 11905: 0x9AE7,
+ 27698 - 11905: 0xEBB5,
+ 27699 - 11905: 0x9AE8,
+ 27700 - 11905: 0xCBAE,
+ 27701 - 11905: 0xE3DF,
+ 27702 - 11905: 0x9AE9,
+ 27703 - 11905: 0x9AEA,
+ 27704 - 11905: 0xD3C0,
+ 27705 - 11905: 0x9AEB,
+ 27706 - 11905: 0x9AEC,
+ 27707 - 11905: 0x9AED,
+ 27708 - 11905: 0x9AEE,
+ 27709 - 11905: 0xD9DB,
+ 27710 - 11905: 0x9AEF,
+ 27711 - 11905: 0x9AF0,
+ 27712 - 11905: 0xCDA1,
+ 27713 - 11905: 0xD6AD,
+ 27714 - 11905: 0xC7F3,
+ 27715 - 11905: 0x9AF1,
+ 27716 - 11905: 0x9AF2,
+ 27717 - 11905: 0x9AF3,
+ 27718 - 11905: 0xD9E0,
+ 27719 - 11905: 0xBBE3,
+ 27720 - 11905: 0x9AF4,
+ 27721 - 11905: 0xBABA,
+ 27722 - 11905: 0xE3E2,
+ 27723 - 11905: 0x9AF5,
+ 27724 - 11905: 0x9AF6,
+ 27725 - 11905: 0x9AF7,
+ 27726 - 11905: 0x9AF8,
+ 27727 - 11905: 0x9AF9,
+ 27728 - 11905: 0xCFAB,
+ 27729 - 11905: 0x9AFA,
+ 27730 - 11905: 0x9AFB,
+ 27731 - 11905: 0x9AFC,
+ 27732 - 11905: 0xE3E0,
+ 27733 - 11905: 0xC9C7,
+ 27734 - 11905: 0x9AFD,
+ 27735 - 11905: 0xBAB9,
+ 27736 - 11905: 0x9AFE,
+ 27737 - 11905: 0x9B40,
+ 27738 - 11905: 0x9B41,
+ 27739 - 11905: 0xD1B4,
+ 27740 - 11905: 0xE3E1,
+ 27741 - 11905: 0xC8EA,
+ 27742 - 11905: 0xB9AF,
+ 27743 - 11905: 0xBDAD,
+ 27744 - 11905: 0xB3D8,
+ 27745 - 11905: 0xCEDB,
+ 27746 - 11905: 0x9B42,
+ 27747 - 11905: 0x9B43,
+ 27748 - 11905: 0xCCC0,
+ 27749 - 11905: 0x9B44,
+ 27750 - 11905: 0x9B45,
+ 27751 - 11905: 0x9B46,
+ 27752 - 11905: 0xE3E8,
+ 27753 - 11905: 0xE3E9,
+ 27754 - 11905: 0xCDF4,
+ 27755 - 11905: 0x9B47,
+ 27756 - 11905: 0x9B48,
+ 27757 - 11905: 0x9B49,
+ 27758 - 11905: 0x9B4A,
+ 27759 - 11905: 0x9B4B,
+ 27760 - 11905: 0xCCAD,
+ 27761 - 11905: 0x9B4C,
+ 27762 - 11905: 0xBCB3,
+ 27763 - 11905: 0x9B4D,
+ 27764 - 11905: 0xE3EA,
+ 27765 - 11905: 0x9B4E,
+ 27766 - 11905: 0xE3EB,
+ 27767 - 11905: 0x9B4F,
+ 27768 - 11905: 0x9B50,
+ 27769 - 11905: 0xD0DA,
+ 27770 - 11905: 0x9B51,
+ 27771 - 11905: 0x9B52,
+ 27772 - 11905: 0x9B53,
+ 27773 - 11905: 0xC6FB,
+ 27774 - 11905: 0xB7DA,
+ 27775 - 11905: 0x9B54,
+ 27776 - 11905: 0x9B55,
+ 27777 - 11905: 0xC7DF,
+ 27778 - 11905: 0xD2CA,
+ 27779 - 11905: 0xCED6,
+ 27780 - 11905: 0x9B56,
+ 27781 - 11905: 0xE3E4,
+ 27782 - 11905: 0xE3EC,
+ 27783 - 11905: 0x9B57,
+ 27784 - 11905: 0xC9F2,
+ 27785 - 11905: 0xB3C1,
+ 27786 - 11905: 0x9B58,
+ 27787 - 11905: 0x9B59,
+ 27788 - 11905: 0xE3E7,
+ 27789 - 11905: 0x9B5A,
+ 27790 - 11905: 0x9B5B,
+ 27791 - 11905: 0xC6E3,
+ 27792 - 11905: 0xE3E5,
+ 27793 - 11905: 0x9B5C,
+ 27794 - 11905: 0x9B5D,
+ 27795 - 11905: 0xEDB3,
+ 27796 - 11905: 0xE3E6,
+ 27797 - 11905: 0x9B5E,
+ 27798 - 11905: 0x9B5F,
+ 27799 - 11905: 0x9B60,
+ 27800 - 11905: 0x9B61,
+ 27801 - 11905: 0xC9B3,
+ 27802 - 11905: 0x9B62,
+ 27803 - 11905: 0xC5E6,
+ 27804 - 11905: 0x9B63,
+ 27805 - 11905: 0x9B64,
+ 27806 - 11905: 0x9B65,
+ 27807 - 11905: 0xB9B5,
+ 27808 - 11905: 0x9B66,
+ 27809 - 11905: 0xC3BB,
+ 27810 - 11905: 0x9B67,
+ 27811 - 11905: 0xE3E3,
+ 27812 - 11905: 0xC5BD,
+ 27813 - 11905: 0xC1A4,
+ 27814 - 11905: 0xC2D9,
+ 27815 - 11905: 0xB2D7,
+ 27816 - 11905: 0x9B68,
+ 27817 - 11905: 0xE3ED,
+ 27818 - 11905: 0xBBA6,
+ 27819 - 11905: 0xC4AD,
+ 27820 - 11905: 0x9B69,
+ 27821 - 11905: 0xE3F0,
+ 27822 - 11905: 0xBEDA,
+ 27823 - 11905: 0x9B6A,
+ 27824 - 11905: 0x9B6B,
+ 27825 - 11905: 0xE3FB,
+ 27826 - 11905: 0xE3F5,
+ 27827 - 11905: 0xBAD3,
+ 27828 - 11905: 0x9B6C,
+ 27829 - 11905: 0x9B6D,
+ 27830 - 11905: 0x9B6E,
+ 27831 - 11905: 0x9B6F,
+ 27832 - 11905: 0xB7D0,
+ 27833 - 11905: 0xD3CD,
+ 27834 - 11905: 0x9B70,
+ 27835 - 11905: 0xD6CE,
+ 27836 - 11905: 0xD5D3,
+ 27837 - 11905: 0xB9C1,
+ 27838 - 11905: 0xD5B4,
+ 27839 - 11905: 0xD1D8,
+ 27840 - 11905: 0x9B71,
+ 27841 - 11905: 0x9B72,
+ 27842 - 11905: 0x9B73,
+ 27843 - 11905: 0x9B74,
+ 27844 - 11905: 0xD0B9,
+ 27845 - 11905: 0xC7F6,
+ 27846 - 11905: 0x9B75,
+ 27847 - 11905: 0x9B76,
+ 27848 - 11905: 0x9B77,
+ 27849 - 11905: 0xC8AA,
+ 27850 - 11905: 0xB2B4,
+ 27851 - 11905: 0x9B78,
+ 27852 - 11905: 0xC3DA,
+ 27853 - 11905: 0x9B79,
+ 27854 - 11905: 0x9B7A,
+ 27855 - 11905: 0x9B7B,
+ 27856 - 11905: 0xE3EE,
+ 27857 - 11905: 0x9B7C,
+ 27858 - 11905: 0x9B7D,
+ 27859 - 11905: 0xE3FC,
+ 27860 - 11905: 0xE3EF,
+ 27861 - 11905: 0xB7A8,
+ 27862 - 11905: 0xE3F7,
+ 27863 - 11905: 0xE3F4,
+ 27864 - 11905: 0x9B7E,
+ 27865 - 11905: 0x9B80,
+ 27866 - 11905: 0x9B81,
+ 27867 - 11905: 0xB7BA,
+ 27868 - 11905: 0x9B82,
+ 27869 - 11905: 0x9B83,
+ 27870 - 11905: 0xC5A2,
+ 27871 - 11905: 0x9B84,
+ 27872 - 11905: 0xE3F6,
+ 27873 - 11905: 0xC5DD,
+ 27874 - 11905: 0xB2A8,
+ 27875 - 11905: 0xC6FC,
+ 27876 - 11905: 0x9B85,
+ 27877 - 11905: 0xC4E0,
+ 27878 - 11905: 0x9B86,
+ 27879 - 11905: 0x9B87,
+ 27880 - 11905: 0xD7A2,
+ 27881 - 11905: 0x9B88,
+ 27882 - 11905: 0xC0E1,
+ 27883 - 11905: 0xE3F9,
+ 27884 - 11905: 0x9B89,
+ 27885 - 11905: 0x9B8A,
+ 27886 - 11905: 0xE3FA,
+ 27887 - 11905: 0xE3FD,
+ 27888 - 11905: 0xCCA9,
+ 27889 - 11905: 0xE3F3,
+ 27890 - 11905: 0x9B8B,
+ 27891 - 11905: 0xD3BE,
+ 27892 - 11905: 0x9B8C,
+ 27893 - 11905: 0xB1C3,
+ 27894 - 11905: 0xEDB4,
+ 27895 - 11905: 0xE3F1,
+ 27896 - 11905: 0xE3F2,
+ 27897 - 11905: 0x9B8D,
+ 27898 - 11905: 0xE3F8,
+ 27899 - 11905: 0xD0BA,
+ 27900 - 11905: 0xC6C3,
+ 27901 - 11905: 0xD4F3,
+ 27902 - 11905: 0xE3FE,
+ 27903 - 11905: 0x9B8E,
+ 27904 - 11905: 0x9B8F,
+ 27905 - 11905: 0xBDE0,
+ 27906 - 11905: 0x9B90,
+ 27907 - 11905: 0x9B91,
+ 27908 - 11905: 0xE4A7,
+ 27909 - 11905: 0x9B92,
+ 27910 - 11905: 0x9B93,
+ 27911 - 11905: 0xE4A6,
+ 27912 - 11905: 0x9B94,
+ 27913 - 11905: 0x9B95,
+ 27914 - 11905: 0x9B96,
+ 27915 - 11905: 0xD1F3,
+ 27916 - 11905: 0xE4A3,
+ 27917 - 11905: 0x9B97,
+ 27918 - 11905: 0xE4A9,
+ 27919 - 11905: 0x9B98,
+ 27920 - 11905: 0x9B99,
+ 27921 - 11905: 0x9B9A,
+ 27922 - 11905: 0xC8F7,
+ 27923 - 11905: 0x9B9B,
+ 27924 - 11905: 0x9B9C,
+ 27925 - 11905: 0x9B9D,
+ 27926 - 11905: 0x9B9E,
+ 27927 - 11905: 0xCFB4,
+ 27928 - 11905: 0x9B9F,
+ 27929 - 11905: 0xE4A8,
+ 27930 - 11905: 0xE4AE,
+ 27931 - 11905: 0xC2E5,
+ 27932 - 11905: 0x9BA0,
+ 27933 - 11905: 0x9BA1,
+ 27934 - 11905: 0xB6B4,
+ 27935 - 11905: 0x9BA2,
+ 27936 - 11905: 0x9BA3,
+ 27937 - 11905: 0x9BA4,
+ 27938 - 11905: 0x9BA5,
+ 27939 - 11905: 0x9BA6,
+ 27940 - 11905: 0x9BA7,
+ 27941 - 11905: 0xBDF2,
+ 27942 - 11905: 0x9BA8,
+ 27943 - 11905: 0xE4A2,
+ 27944 - 11905: 0x9BA9,
+ 27945 - 11905: 0x9BAA,
+ 27946 - 11905: 0xBAE9,
+ 27947 - 11905: 0xE4AA,
+ 27948 - 11905: 0x9BAB,
+ 27949 - 11905: 0x9BAC,
+ 27950 - 11905: 0xE4AC,
+ 27951 - 11905: 0x9BAD,
+ 27952 - 11905: 0x9BAE,
+ 27953 - 11905: 0xB6FD,
+ 27954 - 11905: 0xD6DE,
+ 27955 - 11905: 0xE4B2,
+ 27956 - 11905: 0x9BAF,
+ 27957 - 11905: 0xE4AD,
+ 27958 - 11905: 0x9BB0,
+ 27959 - 11905: 0x9BB1,
+ 27960 - 11905: 0x9BB2,
+ 27961 - 11905: 0xE4A1,
+ 27962 - 11905: 0x9BB3,
+ 27963 - 11905: 0xBBEE,
+ 27964 - 11905: 0xCDDD,
+ 27965 - 11905: 0xC7A2,
+ 27966 - 11905: 0xC5C9,
+ 27967 - 11905: 0x9BB4,
+ 27968 - 11905: 0x9BB5,
+ 27969 - 11905: 0xC1F7,
+ 27970 - 11905: 0x9BB6,
+ 27971 - 11905: 0xE4A4,
+ 27972 - 11905: 0x9BB7,
+ 27973 - 11905: 0xC7B3,
+ 27974 - 11905: 0xBDAC,
+ 27975 - 11905: 0xBDBD,
+ 27976 - 11905: 0xE4A5,
+ 27977 - 11905: 0x9BB8,
+ 27978 - 11905: 0xD7C7,
+ 27979 - 11905: 0xB2E2,
+ 27980 - 11905: 0x9BB9,
+ 27981 - 11905: 0xE4AB,
+ 27982 - 11905: 0xBCC3,
+ 27983 - 11905: 0xE4AF,
+ 27984 - 11905: 0x9BBA,
+ 27985 - 11905: 0xBBEB,
+ 27986 - 11905: 0xE4B0,
+ 27987 - 11905: 0xC5A8,
+ 27988 - 11905: 0xE4B1,
+ 27989 - 11905: 0x9BBB,
+ 27990 - 11905: 0x9BBC,
+ 27991 - 11905: 0x9BBD,
+ 27992 - 11905: 0x9BBE,
+ 27993 - 11905: 0xD5E3,
+ 27994 - 11905: 0xBFA3,
+ 27995 - 11905: 0x9BBF,
+ 27996 - 11905: 0xE4BA,
+ 27997 - 11905: 0x9BC0,
+ 27998 - 11905: 0xE4B7,
+ 27999 - 11905: 0x9BC1,
+ 28000 - 11905: 0xE4BB,
+ 28001 - 11905: 0x9BC2,
+ 28002 - 11905: 0x9BC3,
+ 28003 - 11905: 0xE4BD,
+ 28004 - 11905: 0x9BC4,
+ 28005 - 11905: 0x9BC5,
+ 28006 - 11905: 0xC6D6,
+ 28007 - 11905: 0x9BC6,
+ 28008 - 11905: 0x9BC7,
+ 28009 - 11905: 0xBAC6,
+ 28010 - 11905: 0xC0CB,
+ 28011 - 11905: 0x9BC8,
+ 28012 - 11905: 0x9BC9,
+ 28013 - 11905: 0x9BCA,
+ 28014 - 11905: 0xB8A1,
+ 28015 - 11905: 0xE4B4,
+ 28016 - 11905: 0x9BCB,
+ 28017 - 11905: 0x9BCC,
+ 28018 - 11905: 0x9BCD,
+ 28019 - 11905: 0x9BCE,
+ 28020 - 11905: 0xD4A1,
+ 28021 - 11905: 0x9BCF,
+ 28022 - 11905: 0x9BD0,
+ 28023 - 11905: 0xBAA3,
+ 28024 - 11905: 0xBDFE,
+ 28025 - 11905: 0x9BD1,
+ 28026 - 11905: 0x9BD2,
+ 28027 - 11905: 0x9BD3,
+ 28028 - 11905: 0xE4BC,
+ 28029 - 11905: 0x9BD4,
+ 28030 - 11905: 0x9BD5,
+ 28031 - 11905: 0x9BD6,
+ 28032 - 11905: 0x9BD7,
+ 28033 - 11905: 0x9BD8,
+ 28034 - 11905: 0xCDBF,
+ 28035 - 11905: 0x9BD9,
+ 28036 - 11905: 0x9BDA,
+ 28037 - 11905: 0xC4F9,
+ 28038 - 11905: 0x9BDB,
+ 28039 - 11905: 0x9BDC,
+ 28040 - 11905: 0xCFFB,
+ 28041 - 11905: 0xC9E6,
+ 28042 - 11905: 0x9BDD,
+ 28043 - 11905: 0x9BDE,
+ 28044 - 11905: 0xD3BF,
+ 28045 - 11905: 0x9BDF,
+ 28046 - 11905: 0xCFD1,
+ 28047 - 11905: 0x9BE0,
+ 28048 - 11905: 0x9BE1,
+ 28049 - 11905: 0xE4B3,
+ 28050 - 11905: 0x9BE2,
+ 28051 - 11905: 0xE4B8,
+ 28052 - 11905: 0xE4B9,
+ 28053 - 11905: 0xCCE9,
+ 28054 - 11905: 0x9BE3,
+ 28055 - 11905: 0x9BE4,
+ 28056 - 11905: 0x9BE5,
+ 28057 - 11905: 0x9BE6,
+ 28058 - 11905: 0x9BE7,
+ 28059 - 11905: 0xCCCE,
+ 28060 - 11905: 0x9BE8,
+ 28061 - 11905: 0xC0D4,
+ 28062 - 11905: 0xE4B5,
+ 28063 - 11905: 0xC1B0,
+ 28064 - 11905: 0xE4B6,
+ 28065 - 11905: 0xCED0,
+ 28066 - 11905: 0x9BE9,
+ 28067 - 11905: 0xBBC1,
+ 28068 - 11905: 0xB5D3,
+ 28069 - 11905: 0x9BEA,
+ 28070 - 11905: 0xC8F3,
+ 28071 - 11905: 0xBDA7,
+ 28072 - 11905: 0xD5C7,
+ 28073 - 11905: 0xC9AC,
+ 28074 - 11905: 0xB8A2,
+ 28075 - 11905: 0xE4CA,
+ 28076 - 11905: 0x9BEB,
+ 28077 - 11905: 0x9BEC,
+ 28078 - 11905: 0xE4CC,
+ 28079 - 11905: 0xD1C4,
+ 28080 - 11905: 0x9BED,
+ 28081 - 11905: 0x9BEE,
+ 28082 - 11905: 0xD2BA,
+ 28083 - 11905: 0x9BEF,
+ 28084 - 11905: 0x9BF0,
+ 28085 - 11905: 0xBAAD,
+ 28086 - 11905: 0x9BF1,
+ 28087 - 11905: 0x9BF2,
+ 28088 - 11905: 0xBAD4,
+ 28089 - 11905: 0x9BF3,
+ 28090 - 11905: 0x9BF4,
+ 28091 - 11905: 0x9BF5,
+ 28092 - 11905: 0x9BF6,
+ 28093 - 11905: 0x9BF7,
+ 28094 - 11905: 0x9BF8,
+ 28095 - 11905: 0xE4C3,
+ 28096 - 11905: 0xB5ED,
+ 28097 - 11905: 0x9BF9,
+ 28098 - 11905: 0x9BFA,
+ 28099 - 11905: 0x9BFB,
+ 28100 - 11905: 0xD7CD,
+ 28101 - 11905: 0xE4C0,
+ 28102 - 11905: 0xCFFD,
+ 28103 - 11905: 0xE4BF,
+ 28104 - 11905: 0x9BFC,
+ 28105 - 11905: 0x9BFD,
+ 28106 - 11905: 0x9BFE,
+ 28107 - 11905: 0xC1DC,
+ 28108 - 11905: 0xCCCA,
+ 28109 - 11905: 0x9C40,
+ 28110 - 11905: 0x9C41,
+ 28111 - 11905: 0x9C42,
+ 28112 - 11905: 0x9C43,
+ 28113 - 11905: 0xCAE7,
+ 28114 - 11905: 0x9C44,
+ 28115 - 11905: 0x9C45,
+ 28116 - 11905: 0x9C46,
+ 28117 - 11905: 0x9C47,
+ 28118 - 11905: 0xC4D7,
+ 28119 - 11905: 0x9C48,
+ 28120 - 11905: 0xCCD4,
+ 28121 - 11905: 0xE4C8,
+ 28122 - 11905: 0x9C49,
+ 28123 - 11905: 0x9C4A,
+ 28124 - 11905: 0x9C4B,
+ 28125 - 11905: 0xE4C7,
+ 28126 - 11905: 0xE4C1,
+ 28127 - 11905: 0x9C4C,
+ 28128 - 11905: 0xE4C4,
+ 28129 - 11905: 0xB5AD,
+ 28130 - 11905: 0x9C4D,
+ 28131 - 11905: 0x9C4E,
+ 28132 - 11905: 0xD3D9,
+ 28133 - 11905: 0x9C4F,
+ 28134 - 11905: 0xE4C6,
+ 28135 - 11905: 0x9C50,
+ 28136 - 11905: 0x9C51,
+ 28137 - 11905: 0x9C52,
+ 28138 - 11905: 0x9C53,
+ 28139 - 11905: 0xD2F9,
+ 28140 - 11905: 0xB4E3,
+ 28141 - 11905: 0x9C54,
+ 28142 - 11905: 0xBBB4,
+ 28143 - 11905: 0x9C55,
+ 28144 - 11905: 0x9C56,
+ 28145 - 11905: 0xC9EE,
+ 28146 - 11905: 0x9C57,
+ 28147 - 11905: 0xB4BE,
+ 28148 - 11905: 0x9C58,
+ 28149 - 11905: 0x9C59,
+ 28150 - 11905: 0x9C5A,
+ 28151 - 11905: 0xBBEC,
+ 28152 - 11905: 0x9C5B,
+ 28153 - 11905: 0xD1CD,
+ 28154 - 11905: 0x9C5C,
+ 28155 - 11905: 0xCCED,
+ 28156 - 11905: 0xEDB5,
+ 28157 - 11905: 0x9C5D,
+ 28158 - 11905: 0x9C5E,
+ 28159 - 11905: 0x9C5F,
+ 28160 - 11905: 0x9C60,
+ 28161 - 11905: 0x9C61,
+ 28162 - 11905: 0x9C62,
+ 28163 - 11905: 0x9C63,
+ 28164 - 11905: 0x9C64,
+ 28165 - 11905: 0xC7E5,
+ 28166 - 11905: 0x9C65,
+ 28167 - 11905: 0x9C66,
+ 28168 - 11905: 0x9C67,
+ 28169 - 11905: 0x9C68,
+ 28170 - 11905: 0xD4A8,
+ 28171 - 11905: 0x9C69,
+ 28172 - 11905: 0xE4CB,
+ 28173 - 11905: 0xD7D5,
+ 28174 - 11905: 0xE4C2,
+ 28175 - 11905: 0x9C6A,
+ 28176 - 11905: 0xBDA5,
+ 28177 - 11905: 0xE4C5,
+ 28178 - 11905: 0x9C6B,
+ 28179 - 11905: 0x9C6C,
+ 28180 - 11905: 0xD3E6,
+ 28181 - 11905: 0x9C6D,
+ 28182 - 11905: 0xE4C9,
+ 28183 - 11905: 0xC9F8,
+ 28184 - 11905: 0x9C6E,
+ 28185 - 11905: 0x9C6F,
+ 28186 - 11905: 0xE4BE,
+ 28187 - 11905: 0x9C70,
+ 28188 - 11905: 0x9C71,
+ 28189 - 11905: 0xD3E5,
+ 28190 - 11905: 0x9C72,
+ 28191 - 11905: 0x9C73,
+ 28192 - 11905: 0xC7FE,
+ 28193 - 11905: 0xB6C9,
+ 28194 - 11905: 0x9C74,
+ 28195 - 11905: 0xD4FC,
+ 28196 - 11905: 0xB2B3,
+ 28197 - 11905: 0xE4D7,
+ 28198 - 11905: 0x9C75,
+ 28199 - 11905: 0x9C76,
+ 28200 - 11905: 0x9C77,
+ 28201 - 11905: 0xCEC2,
+ 28202 - 11905: 0x9C78,
+ 28203 - 11905: 0xE4CD,
+ 28204 - 11905: 0x9C79,
+ 28205 - 11905: 0xCEBC,
+ 28206 - 11905: 0x9C7A,
+ 28207 - 11905: 0xB8DB,
+ 28208 - 11905: 0x9C7B,
+ 28209 - 11905: 0x9C7C,
+ 28210 - 11905: 0xE4D6,
+ 28211 - 11905: 0x9C7D,
+ 28212 - 11905: 0xBFCA,
+ 28213 - 11905: 0x9C7E,
+ 28214 - 11905: 0x9C80,
+ 28215 - 11905: 0x9C81,
+ 28216 - 11905: 0xD3CE,
+ 28217 - 11905: 0x9C82,
+ 28218 - 11905: 0xC3EC,
+ 28219 - 11905: 0x9C83,
+ 28220 - 11905: 0x9C84,
+ 28221 - 11905: 0x9C85,
+ 28222 - 11905: 0x9C86,
+ 28223 - 11905: 0x9C87,
+ 28224 - 11905: 0x9C88,
+ 28225 - 11905: 0x9C89,
+ 28226 - 11905: 0x9C8A,
+ 28227 - 11905: 0xC5C8,
+ 28228 - 11905: 0xE4D8,
+ 28229 - 11905: 0x9C8B,
+ 28230 - 11905: 0x9C8C,
+ 28231 - 11905: 0x9C8D,
+ 28232 - 11905: 0x9C8E,
+ 28233 - 11905: 0x9C8F,
+ 28234 - 11905: 0x9C90,
+ 28235 - 11905: 0x9C91,
+ 28236 - 11905: 0x9C92,
+ 28237 - 11905: 0xCDC4,
+ 28238 - 11905: 0xE4CF,
+ 28239 - 11905: 0x9C93,
+ 28240 - 11905: 0x9C94,
+ 28241 - 11905: 0x9C95,
+ 28242 - 11905: 0x9C96,
+ 28243 - 11905: 0xE4D4,
+ 28244 - 11905: 0xE4D5,
+ 28245 - 11905: 0x9C97,
+ 28246 - 11905: 0xBAFE,
+ 28247 - 11905: 0x9C98,
+ 28248 - 11905: 0xCFE6,
+ 28249 - 11905: 0x9C99,
+ 28250 - 11905: 0x9C9A,
+ 28251 - 11905: 0xD5BF,
+ 28252 - 11905: 0x9C9B,
+ 28253 - 11905: 0x9C9C,
+ 28254 - 11905: 0x9C9D,
+ 28255 - 11905: 0xE4D2,
+ 28256 - 11905: 0x9C9E,
+ 28257 - 11905: 0x9C9F,
+ 28258 - 11905: 0x9CA0,
+ 28259 - 11905: 0x9CA1,
+ 28260 - 11905: 0x9CA2,
+ 28261 - 11905: 0x9CA3,
+ 28262 - 11905: 0x9CA4,
+ 28263 - 11905: 0x9CA5,
+ 28264 - 11905: 0x9CA6,
+ 28265 - 11905: 0x9CA7,
+ 28266 - 11905: 0x9CA8,
+ 28267 - 11905: 0xE4D0,
+ 28268 - 11905: 0x9CA9,
+ 28269 - 11905: 0x9CAA,
+ 28270 - 11905: 0xE4CE,
+ 28271 - 11905: 0x9CAB,
+ 28272 - 11905: 0x9CAC,
+ 28273 - 11905: 0x9CAD,
+ 28274 - 11905: 0x9CAE,
+ 28275 - 11905: 0x9CAF,
+ 28276 - 11905: 0x9CB0,
+ 28277 - 11905: 0x9CB1,
+ 28278 - 11905: 0x9CB2,
+ 28279 - 11905: 0x9CB3,
+ 28280 - 11905: 0x9CB4,
+ 28281 - 11905: 0x9CB5,
+ 28282 - 11905: 0x9CB6,
+ 28283 - 11905: 0x9CB7,
+ 28284 - 11905: 0x9CB8,
+ 28285 - 11905: 0x9CB9,
+ 28286 - 11905: 0xCDE5,
+ 28287 - 11905: 0xCAAA,
+ 28288 - 11905: 0x9CBA,
+ 28289 - 11905: 0x9CBB,
+ 28290 - 11905: 0x9CBC,
+ 28291 - 11905: 0xC0A3,
+ 28292 - 11905: 0x9CBD,
+ 28293 - 11905: 0xBDA6,
+ 28294 - 11905: 0xE4D3,
+ 28295 - 11905: 0x9CBE,
+ 28296 - 11905: 0x9CBF,
+ 28297 - 11905: 0xB8C8,
+ 28298 - 11905: 0x9CC0,
+ 28299 - 11905: 0x9CC1,
+ 28300 - 11905: 0x9CC2,
+ 28301 - 11905: 0x9CC3,
+ 28302 - 11905: 0x9CC4,
+ 28303 - 11905: 0xE4E7,
+ 28304 - 11905: 0xD4B4,
+ 28305 - 11905: 0x9CC5,
+ 28306 - 11905: 0x9CC6,
+ 28307 - 11905: 0x9CC7,
+ 28308 - 11905: 0x9CC8,
+ 28309 - 11905: 0x9CC9,
+ 28310 - 11905: 0x9CCA,
+ 28311 - 11905: 0x9CCB,
+ 28312 - 11905: 0xE4DB,
+ 28313 - 11905: 0x9CCC,
+ 28314 - 11905: 0x9CCD,
+ 28315 - 11905: 0x9CCE,
+ 28316 - 11905: 0xC1EF,
+ 28317 - 11905: 0x9CCF,
+ 28318 - 11905: 0x9CD0,
+ 28319 - 11905: 0xE4E9,
+ 28320 - 11905: 0x9CD1,
+ 28321 - 11905: 0x9CD2,
+ 28322 - 11905: 0xD2E7,
+ 28323 - 11905: 0x9CD3,
+ 28324 - 11905: 0x9CD4,
+ 28325 - 11905: 0xE4DF,
+ 28326 - 11905: 0x9CD5,
+ 28327 - 11905: 0xE4E0,
+ 28328 - 11905: 0x9CD6,
+ 28329 - 11905: 0x9CD7,
+ 28330 - 11905: 0xCFAA,
+ 28331 - 11905: 0x9CD8,
+ 28332 - 11905: 0x9CD9,
+ 28333 - 11905: 0x9CDA,
+ 28334 - 11905: 0x9CDB,
+ 28335 - 11905: 0xCBDD,
+ 28336 - 11905: 0x9CDC,
+ 28337 - 11905: 0xE4DA,
+ 28338 - 11905: 0xE4D1,
+ 28339 - 11905: 0x9CDD,
+ 28340 - 11905: 0xE4E5,
+ 28341 - 11905: 0x9CDE,
+ 28342 - 11905: 0xC8DC,
+ 28343 - 11905: 0xE4E3,
+ 28344 - 11905: 0x9CDF,
+ 28345 - 11905: 0x9CE0,
+ 28346 - 11905: 0xC4E7,
+ 28347 - 11905: 0xE4E2,
+ 28348 - 11905: 0x9CE1,
+ 28349 - 11905: 0xE4E1,
+ 28350 - 11905: 0x9CE2,
+ 28351 - 11905: 0x9CE3,
+ 28352 - 11905: 0x9CE4,
+ 28353 - 11905: 0xB3FC,
+ 28354 - 11905: 0xE4E8,
+ 28355 - 11905: 0x9CE5,
+ 28356 - 11905: 0x9CE6,
+ 28357 - 11905: 0x9CE7,
+ 28358 - 11905: 0x9CE8,
+ 28359 - 11905: 0xB5E1,
+ 28360 - 11905: 0x9CE9,
+ 28361 - 11905: 0x9CEA,
+ 28362 - 11905: 0x9CEB,
+ 28363 - 11905: 0xD7CC,
+ 28364 - 11905: 0x9CEC,
+ 28365 - 11905: 0x9CED,
+ 28366 - 11905: 0x9CEE,
+ 28367 - 11905: 0xE4E6,
+ 28368 - 11905: 0x9CEF,
+ 28369 - 11905: 0xBBAC,
+ 28370 - 11905: 0x9CF0,
+ 28371 - 11905: 0xD7D2,
+ 28372 - 11905: 0xCCCF,
+ 28373 - 11905: 0xEBF8,
+ 28374 - 11905: 0x9CF1,
+ 28375 - 11905: 0xE4E4,
+ 28376 - 11905: 0x9CF2,
+ 28377 - 11905: 0x9CF3,
+ 28378 - 11905: 0xB9F6,
+ 28379 - 11905: 0x9CF4,
+ 28380 - 11905: 0x9CF5,
+ 28381 - 11905: 0x9CF6,
+ 28382 - 11905: 0xD6CD,
+ 28383 - 11905: 0xE4D9,
+ 28384 - 11905: 0xE4DC,
+ 28385 - 11905: 0xC2FA,
+ 28386 - 11905: 0xE4DE,
+ 28387 - 11905: 0x9CF7,
+ 28388 - 11905: 0xC2CB,
+ 28389 - 11905: 0xC0C4,
+ 28390 - 11905: 0xC2D0,
+ 28391 - 11905: 0x9CF8,
+ 28392 - 11905: 0xB1F5,
+ 28393 - 11905: 0xCCB2,
+ 28394 - 11905: 0x9CF9,
+ 28395 - 11905: 0x9CFA,
+ 28396 - 11905: 0x9CFB,
+ 28397 - 11905: 0x9CFC,
+ 28398 - 11905: 0x9CFD,
+ 28399 - 11905: 0x9CFE,
+ 28400 - 11905: 0x9D40,
+ 28401 - 11905: 0x9D41,
+ 28402 - 11905: 0x9D42,
+ 28403 - 11905: 0x9D43,
+ 28404 - 11905: 0xB5CE,
+ 28405 - 11905: 0x9D44,
+ 28406 - 11905: 0x9D45,
+ 28407 - 11905: 0x9D46,
+ 28408 - 11905: 0x9D47,
+ 28409 - 11905: 0xE4EF,
+ 28410 - 11905: 0x9D48,
+ 28411 - 11905: 0x9D49,
+ 28412 - 11905: 0x9D4A,
+ 28413 - 11905: 0x9D4B,
+ 28414 - 11905: 0x9D4C,
+ 28415 - 11905: 0x9D4D,
+ 28416 - 11905: 0x9D4E,
+ 28417 - 11905: 0x9D4F,
+ 28418 - 11905: 0xC6AF,
+ 28419 - 11905: 0x9D50,
+ 28420 - 11905: 0x9D51,
+ 28421 - 11905: 0x9D52,
+ 28422 - 11905: 0xC6E1,
+ 28423 - 11905: 0x9D53,
+ 28424 - 11905: 0x9D54,
+ 28425 - 11905: 0xE4F5,
+ 28426 - 11905: 0x9D55,
+ 28427 - 11905: 0x9D56,
+ 28428 - 11905: 0x9D57,
+ 28429 - 11905: 0x9D58,
+ 28430 - 11905: 0x9D59,
+ 28431 - 11905: 0xC2A9,
+ 28432 - 11905: 0x9D5A,
+ 28433 - 11905: 0x9D5B,
+ 28434 - 11905: 0x9D5C,
+ 28435 - 11905: 0xC0EC,
+ 28436 - 11905: 0xD1DD,
+ 28437 - 11905: 0xE4EE,
+ 28438 - 11905: 0x9D5D,
+ 28439 - 11905: 0x9D5E,
+ 28440 - 11905: 0x9D5F,
+ 28441 - 11905: 0x9D60,
+ 28442 - 11905: 0x9D61,
+ 28443 - 11905: 0x9D62,
+ 28444 - 11905: 0x9D63,
+ 28445 - 11905: 0x9D64,
+ 28446 - 11905: 0x9D65,
+ 28447 - 11905: 0x9D66,
+ 28448 - 11905: 0xC4AE,
+ 28449 - 11905: 0x9D67,
+ 28450 - 11905: 0x9D68,
+ 28451 - 11905: 0x9D69,
+ 28452 - 11905: 0xE4ED,
+ 28453 - 11905: 0x9D6A,
+ 28454 - 11905: 0x9D6B,
+ 28455 - 11905: 0x9D6C,
+ 28456 - 11905: 0x9D6D,
+ 28457 - 11905: 0xE4F6,
+ 28458 - 11905: 0xE4F4,
+ 28459 - 11905: 0xC2FE,
+ 28460 - 11905: 0x9D6E,
+ 28461 - 11905: 0xE4DD,
+ 28462 - 11905: 0x9D6F,
+ 28463 - 11905: 0xE4F0,
+ 28464 - 11905: 0x9D70,
+ 28465 - 11905: 0xCAFE,
+ 28466 - 11905: 0x9D71,
+ 28467 - 11905: 0xD5C4,
+ 28468 - 11905: 0x9D72,
+ 28469 - 11905: 0x9D73,
+ 28470 - 11905: 0xE4F1,
+ 28471 - 11905: 0x9D74,
+ 28472 - 11905: 0x9D75,
+ 28473 - 11905: 0x9D76,
+ 28474 - 11905: 0x9D77,
+ 28475 - 11905: 0x9D78,
+ 28476 - 11905: 0x9D79,
+ 28477 - 11905: 0x9D7A,
+ 28478 - 11905: 0xD1FA,
+ 28479 - 11905: 0x9D7B,
+ 28480 - 11905: 0x9D7C,
+ 28481 - 11905: 0x9D7D,
+ 28482 - 11905: 0x9D7E,
+ 28483 - 11905: 0x9D80,
+ 28484 - 11905: 0x9D81,
+ 28485 - 11905: 0x9D82,
+ 28486 - 11905: 0xE4EB,
+ 28487 - 11905: 0xE4EC,
+ 28488 - 11905: 0x9D83,
+ 28489 - 11905: 0x9D84,
+ 28490 - 11905: 0x9D85,
+ 28491 - 11905: 0xE4F2,
+ 28492 - 11905: 0x9D86,
+ 28493 - 11905: 0xCEAB,
+ 28494 - 11905: 0x9D87,
+ 28495 - 11905: 0x9D88,
+ 28496 - 11905: 0x9D89,
+ 28497 - 11905: 0x9D8A,
+ 28498 - 11905: 0x9D8B,
+ 28499 - 11905: 0x9D8C,
+ 28500 - 11905: 0x9D8D,
+ 28501 - 11905: 0x9D8E,
+ 28502 - 11905: 0x9D8F,
+ 28503 - 11905: 0x9D90,
+ 28504 - 11905: 0xC5CB,
+ 28505 - 11905: 0x9D91,
+ 28506 - 11905: 0x9D92,
+ 28507 - 11905: 0x9D93,
+ 28508 - 11905: 0xC7B1,
+ 28509 - 11905: 0x9D94,
+ 28510 - 11905: 0xC2BA,
+ 28511 - 11905: 0x9D95,
+ 28512 - 11905: 0x9D96,
+ 28513 - 11905: 0x9D97,
+ 28514 - 11905: 0xE4EA,
+ 28515 - 11905: 0x9D98,
+ 28516 - 11905: 0x9D99,
+ 28517 - 11905: 0x9D9A,
+ 28518 - 11905: 0xC1CA,
+ 28519 - 11905: 0x9D9B,
+ 28520 - 11905: 0x9D9C,
+ 28521 - 11905: 0x9D9D,
+ 28522 - 11905: 0x9D9E,
+ 28523 - 11905: 0x9D9F,
+ 28524 - 11905: 0x9DA0,
+ 28525 - 11905: 0xCCB6,
+ 28526 - 11905: 0xB3B1,
+ 28527 - 11905: 0x9DA1,
+ 28528 - 11905: 0x9DA2,
+ 28529 - 11905: 0x9DA3,
+ 28530 - 11905: 0xE4FB,
+ 28531 - 11905: 0x9DA4,
+ 28532 - 11905: 0xE4F3,
+ 28533 - 11905: 0x9DA5,
+ 28534 - 11905: 0x9DA6,
+ 28535 - 11905: 0x9DA7,
+ 28536 - 11905: 0xE4FA,
+ 28537 - 11905: 0x9DA8,
+ 28538 - 11905: 0xE4FD,
+ 28539 - 11905: 0x9DA9,
+ 28540 - 11905: 0xE4FC,
+ 28541 - 11905: 0x9DAA,
+ 28542 - 11905: 0x9DAB,
+ 28543 - 11905: 0x9DAC,
+ 28544 - 11905: 0x9DAD,
+ 28545 - 11905: 0x9DAE,
+ 28546 - 11905: 0x9DAF,
+ 28547 - 11905: 0x9DB0,
+ 28548 - 11905: 0xB3CE,
+ 28549 - 11905: 0x9DB1,
+ 28550 - 11905: 0x9DB2,
+ 28551 - 11905: 0x9DB3,
+ 28552 - 11905: 0xB3BA,
+ 28553 - 11905: 0xE4F7,
+ 28554 - 11905: 0x9DB4,
+ 28555 - 11905: 0x9DB5,
+ 28556 - 11905: 0xE4F9,
+ 28557 - 11905: 0xE4F8,
+ 28558 - 11905: 0xC5EC,
+ 28559 - 11905: 0x9DB6,
+ 28560 - 11905: 0x9DB7,
+ 28561 - 11905: 0x9DB8,
+ 28562 - 11905: 0x9DB9,
+ 28563 - 11905: 0x9DBA,
+ 28564 - 11905: 0x9DBB,
+ 28565 - 11905: 0x9DBC,
+ 28566 - 11905: 0x9DBD,
+ 28567 - 11905: 0x9DBE,
+ 28568 - 11905: 0x9DBF,
+ 28569 - 11905: 0x9DC0,
+ 28570 - 11905: 0x9DC1,
+ 28571 - 11905: 0x9DC2,
+ 28572 - 11905: 0xC0BD,
+ 28573 - 11905: 0x9DC3,
+ 28574 - 11905: 0x9DC4,
+ 28575 - 11905: 0x9DC5,
+ 28576 - 11905: 0x9DC6,
+ 28577 - 11905: 0xD4E8,
+ 28578 - 11905: 0x9DC7,
+ 28579 - 11905: 0x9DC8,
+ 28580 - 11905: 0x9DC9,
+ 28581 - 11905: 0x9DCA,
+ 28582 - 11905: 0x9DCB,
+ 28583 - 11905: 0xE5A2,
+ 28584 - 11905: 0x9DCC,
+ 28585 - 11905: 0x9DCD,
+ 28586 - 11905: 0x9DCE,
+ 28587 - 11905: 0x9DCF,
+ 28588 - 11905: 0x9DD0,
+ 28589 - 11905: 0x9DD1,
+ 28590 - 11905: 0x9DD2,
+ 28591 - 11905: 0x9DD3,
+ 28592 - 11905: 0x9DD4,
+ 28593 - 11905: 0x9DD5,
+ 28594 - 11905: 0x9DD6,
+ 28595 - 11905: 0xB0C4,
+ 28596 - 11905: 0x9DD7,
+ 28597 - 11905: 0x9DD8,
+ 28598 - 11905: 0xE5A4,
+ 28599 - 11905: 0x9DD9,
+ 28600 - 11905: 0x9DDA,
+ 28601 - 11905: 0xE5A3,
+ 28602 - 11905: 0x9DDB,
+ 28603 - 11905: 0x9DDC,
+ 28604 - 11905: 0x9DDD,
+ 28605 - 11905: 0x9DDE,
+ 28606 - 11905: 0x9DDF,
+ 28607 - 11905: 0x9DE0,
+ 28608 - 11905: 0xBCA4,
+ 28609 - 11905: 0x9DE1,
+ 28610 - 11905: 0xE5A5,
+ 28611 - 11905: 0x9DE2,
+ 28612 - 11905: 0x9DE3,
+ 28613 - 11905: 0x9DE4,
+ 28614 - 11905: 0x9DE5,
+ 28615 - 11905: 0x9DE6,
+ 28616 - 11905: 0x9DE7,
+ 28617 - 11905: 0xE5A1,
+ 28618 - 11905: 0x9DE8,
+ 28619 - 11905: 0x9DE9,
+ 28620 - 11905: 0x9DEA,
+ 28621 - 11905: 0x9DEB,
+ 28622 - 11905: 0x9DEC,
+ 28623 - 11905: 0x9DED,
+ 28624 - 11905: 0x9DEE,
+ 28625 - 11905: 0xE4FE,
+ 28626 - 11905: 0xB1F4,
+ 28627 - 11905: 0x9DEF,
+ 28628 - 11905: 0x9DF0,
+ 28629 - 11905: 0x9DF1,
+ 28630 - 11905: 0x9DF2,
+ 28631 - 11905: 0x9DF3,
+ 28632 - 11905: 0x9DF4,
+ 28633 - 11905: 0x9DF5,
+ 28634 - 11905: 0x9DF6,
+ 28635 - 11905: 0x9DF7,
+ 28636 - 11905: 0x9DF8,
+ 28637 - 11905: 0x9DF9,
+ 28638 - 11905: 0xE5A8,
+ 28639 - 11905: 0x9DFA,
+ 28640 - 11905: 0xE5A9,
+ 28641 - 11905: 0xE5A6,
+ 28642 - 11905: 0x9DFB,
+ 28643 - 11905: 0x9DFC,
+ 28644 - 11905: 0x9DFD,
+ 28645 - 11905: 0x9DFE,
+ 28646 - 11905: 0x9E40,
+ 28647 - 11905: 0x9E41,
+ 28648 - 11905: 0x9E42,
+ 28649 - 11905: 0x9E43,
+ 28650 - 11905: 0x9E44,
+ 28651 - 11905: 0x9E45,
+ 28652 - 11905: 0x9E46,
+ 28653 - 11905: 0x9E47,
+ 28654 - 11905: 0xE5A7,
+ 28655 - 11905: 0xE5AA,
+ 28656 - 11905: 0x9E48,
+ 28657 - 11905: 0x9E49,
+ 28658 - 11905: 0x9E4A,
+ 28659 - 11905: 0x9E4B,
+ 28660 - 11905: 0x9E4C,
+ 28661 - 11905: 0x9E4D,
+ 28662 - 11905: 0x9E4E,
+ 28663 - 11905: 0x9E4F,
+ 28664 - 11905: 0x9E50,
+ 28665 - 11905: 0x9E51,
+ 28666 - 11905: 0x9E52,
+ 28667 - 11905: 0x9E53,
+ 28668 - 11905: 0x9E54,
+ 28669 - 11905: 0x9E55,
+ 28670 - 11905: 0x9E56,
+ 28671 - 11905: 0x9E57,
+ 28672 - 11905: 0x9E58,
+ 28673 - 11905: 0x9E59,
+ 28674 - 11905: 0x9E5A,
+ 28675 - 11905: 0x9E5B,
+ 28676 - 11905: 0x9E5C,
+ 28677 - 11905: 0x9E5D,
+ 28678 - 11905: 0x9E5E,
+ 28679 - 11905: 0x9E5F,
+ 28680 - 11905: 0x9E60,
+ 28681 - 11905: 0x9E61,
+ 28682 - 11905: 0x9E62,
+ 28683 - 11905: 0x9E63,
+ 28684 - 11905: 0x9E64,
+ 28685 - 11905: 0x9E65,
+ 28686 - 11905: 0x9E66,
+ 28687 - 11905: 0x9E67,
+ 28688 - 11905: 0x9E68,
+ 28689 - 11905: 0xC6D9,
+ 28690 - 11905: 0x9E69,
+ 28691 - 11905: 0x9E6A,
+ 28692 - 11905: 0x9E6B,
+ 28693 - 11905: 0x9E6C,
+ 28694 - 11905: 0x9E6D,
+ 28695 - 11905: 0x9E6E,
+ 28696 - 11905: 0x9E6F,
+ 28697 - 11905: 0x9E70,
+ 28698 - 11905: 0xE5AB,
+ 28699 - 11905: 0xE5AD,
+ 28700 - 11905: 0x9E71,
+ 28701 - 11905: 0x9E72,
+ 28702 - 11905: 0x9E73,
+ 28703 - 11905: 0x9E74,
+ 28704 - 11905: 0x9E75,
+ 28705 - 11905: 0x9E76,
+ 28706 - 11905: 0x9E77,
+ 28707 - 11905: 0xE5AC,
+ 28708 - 11905: 0x9E78,
+ 28709 - 11905: 0x9E79,
+ 28710 - 11905: 0x9E7A,
+ 28711 - 11905: 0x9E7B,
+ 28712 - 11905: 0x9E7C,
+ 28713 - 11905: 0x9E7D,
+ 28714 - 11905: 0x9E7E,
+ 28715 - 11905: 0x9E80,
+ 28716 - 11905: 0x9E81,
+ 28717 - 11905: 0x9E82,
+ 28718 - 11905: 0x9E83,
+ 28719 - 11905: 0x9E84,
+ 28720 - 11905: 0x9E85,
+ 28721 - 11905: 0x9E86,
+ 28722 - 11905: 0x9E87,
+ 28723 - 11905: 0x9E88,
+ 28724 - 11905: 0x9E89,
+ 28725 - 11905: 0xE5AF,
+ 28726 - 11905: 0x9E8A,
+ 28727 - 11905: 0x9E8B,
+ 28728 - 11905: 0x9E8C,
+ 28729 - 11905: 0xE5AE,
+ 28730 - 11905: 0x9E8D,
+ 28731 - 11905: 0x9E8E,
+ 28732 - 11905: 0x9E8F,
+ 28733 - 11905: 0x9E90,
+ 28734 - 11905: 0x9E91,
+ 28735 - 11905: 0x9E92,
+ 28736 - 11905: 0x9E93,
+ 28737 - 11905: 0x9E94,
+ 28738 - 11905: 0x9E95,
+ 28739 - 11905: 0x9E96,
+ 28740 - 11905: 0x9E97,
+ 28741 - 11905: 0x9E98,
+ 28742 - 11905: 0x9E99,
+ 28743 - 11905: 0x9E9A,
+ 28744 - 11905: 0x9E9B,
+ 28745 - 11905: 0x9E9C,
+ 28746 - 11905: 0x9E9D,
+ 28747 - 11905: 0x9E9E,
+ 28748 - 11905: 0xB9E0,
+ 28749 - 11905: 0x9E9F,
+ 28750 - 11905: 0x9EA0,
+ 28751 - 11905: 0xE5B0,
+ 28752 - 11905: 0x9EA1,
+ 28753 - 11905: 0x9EA2,
+ 28754 - 11905: 0x9EA3,
+ 28755 - 11905: 0x9EA4,
+ 28756 - 11905: 0x9EA5,
+ 28757 - 11905: 0x9EA6,
+ 28758 - 11905: 0x9EA7,
+ 28759 - 11905: 0x9EA8,
+ 28760 - 11905: 0x9EA9,
+ 28761 - 11905: 0x9EAA,
+ 28762 - 11905: 0x9EAB,
+ 28763 - 11905: 0x9EAC,
+ 28764 - 11905: 0x9EAD,
+ 28765 - 11905: 0x9EAE,
+ 28766 - 11905: 0xE5B1,
+ 28767 - 11905: 0x9EAF,
+ 28768 - 11905: 0x9EB0,
+ 28769 - 11905: 0x9EB1,
+ 28770 - 11905: 0x9EB2,
+ 28771 - 11905: 0x9EB3,
+ 28772 - 11905: 0x9EB4,
+ 28773 - 11905: 0x9EB5,
+ 28774 - 11905: 0x9EB6,
+ 28775 - 11905: 0x9EB7,
+ 28776 - 11905: 0x9EB8,
+ 28777 - 11905: 0x9EB9,
+ 28778 - 11905: 0x9EBA,
+ 28779 - 11905: 0xBBF0,
+ 28780 - 11905: 0xECE1,
+ 28781 - 11905: 0xC3F0,
+ 28782 - 11905: 0x9EBB,
+ 28783 - 11905: 0xB5C6,
+ 28784 - 11905: 0xBBD2,
+ 28785 - 11905: 0x9EBC,
+ 28786 - 11905: 0x9EBD,
+ 28787 - 11905: 0x9EBE,
+ 28788 - 11905: 0x9EBF,
+ 28789 - 11905: 0xC1E9,
+ 28790 - 11905: 0xD4EE,
+ 28791 - 11905: 0x9EC0,
+ 28792 - 11905: 0xBEC4,
+ 28793 - 11905: 0x9EC1,
+ 28794 - 11905: 0x9EC2,
+ 28795 - 11905: 0x9EC3,
+ 28796 - 11905: 0xD7C6,
+ 28797 - 11905: 0x9EC4,
+ 28798 - 11905: 0xD4D6,
+ 28799 - 11905: 0xB2D3,
+ 28800 - 11905: 0xECBE,
+ 28801 - 11905: 0x9EC5,
+ 28802 - 11905: 0x9EC6,
+ 28803 - 11905: 0x9EC7,
+ 28804 - 11905: 0x9EC8,
+ 28805 - 11905: 0xEAC1,
+ 28806 - 11905: 0x9EC9,
+ 28807 - 11905: 0x9ECA,
+ 28808 - 11905: 0x9ECB,
+ 28809 - 11905: 0xC2AF,
+ 28810 - 11905: 0xB4B6,
+ 28811 - 11905: 0x9ECC,
+ 28812 - 11905: 0x9ECD,
+ 28813 - 11905: 0x9ECE,
+ 28814 - 11905: 0xD1D7,
+ 28815 - 11905: 0x9ECF,
+ 28816 - 11905: 0x9ED0,
+ 28817 - 11905: 0x9ED1,
+ 28818 - 11905: 0xB3B4,
+ 28819 - 11905: 0x9ED2,
+ 28820 - 11905: 0xC8B2,
+ 28821 - 11905: 0xBFBB,
+ 28822 - 11905: 0xECC0,
+ 28823 - 11905: 0x9ED3,
+ 28824 - 11905: 0x9ED4,
+ 28825 - 11905: 0xD6CB,
+ 28826 - 11905: 0x9ED5,
+ 28827 - 11905: 0x9ED6,
+ 28828 - 11905: 0xECBF,
+ 28829 - 11905: 0xECC1,
+ 28830 - 11905: 0x9ED7,
+ 28831 - 11905: 0x9ED8,
+ 28832 - 11905: 0x9ED9,
+ 28833 - 11905: 0x9EDA,
+ 28834 - 11905: 0x9EDB,
+ 28835 - 11905: 0x9EDC,
+ 28836 - 11905: 0x9EDD,
+ 28837 - 11905: 0x9EDE,
+ 28838 - 11905: 0x9EDF,
+ 28839 - 11905: 0x9EE0,
+ 28840 - 11905: 0x9EE1,
+ 28841 - 11905: 0x9EE2,
+ 28842 - 11905: 0x9EE3,
+ 28843 - 11905: 0xECC5,
+ 28844 - 11905: 0xBEE6,
+ 28845 - 11905: 0xCCBF,
+ 28846 - 11905: 0xC5DA,
+ 28847 - 11905: 0xBEBC,
+ 28848 - 11905: 0x9EE4,
+ 28849 - 11905: 0xECC6,
+ 28850 - 11905: 0x9EE5,
+ 28851 - 11905: 0xB1FE,
+ 28852 - 11905: 0x9EE6,
+ 28853 - 11905: 0x9EE7,
+ 28854 - 11905: 0x9EE8,
+ 28855 - 11905: 0xECC4,
+ 28856 - 11905: 0xD5A8,
+ 28857 - 11905: 0xB5E3,
+ 28858 - 11905: 0x9EE9,
+ 28859 - 11905: 0xECC2,
+ 28860 - 11905: 0xC1B6,
+ 28861 - 11905: 0xB3E3,
+ 28862 - 11905: 0x9EEA,
+ 28863 - 11905: 0x9EEB,
+ 28864 - 11905: 0xECC3,
+ 28865 - 11905: 0xCBB8,
+ 28866 - 11905: 0xC0C3,
+ 28867 - 11905: 0xCCFE,
+ 28868 - 11905: 0x9EEC,
+ 28869 - 11905: 0x9EED,
+ 28870 - 11905: 0x9EEE,
+ 28871 - 11905: 0x9EEF,
+ 28872 - 11905: 0xC1D2,
+ 28873 - 11905: 0x9EF0,
+ 28874 - 11905: 0xECC8,
+ 28875 - 11905: 0x9EF1,
+ 28876 - 11905: 0x9EF2,
+ 28877 - 11905: 0x9EF3,
+ 28878 - 11905: 0x9EF4,
+ 28879 - 11905: 0x9EF5,
+ 28880 - 11905: 0x9EF6,
+ 28881 - 11905: 0x9EF7,
+ 28882 - 11905: 0x9EF8,
+ 28883 - 11905: 0x9EF9,
+ 28884 - 11905: 0x9EFA,
+ 28885 - 11905: 0x9EFB,
+ 28886 - 11905: 0x9EFC,
+ 28887 - 11905: 0x9EFD,
+ 28888 - 11905: 0xBAE6,
+ 28889 - 11905: 0xC0D3,
+ 28890 - 11905: 0x9EFE,
+ 28891 - 11905: 0xD6F2,
+ 28892 - 11905: 0x9F40,
+ 28893 - 11905: 0x9F41,
+ 28894 - 11905: 0x9F42,
+ 28895 - 11905: 0xD1CC,
+ 28896 - 11905: 0x9F43,
+ 28897 - 11905: 0x9F44,
+ 28898 - 11905: 0x9F45,
+ 28899 - 11905: 0x9F46,
+ 28900 - 11905: 0xBFBE,
+ 28901 - 11905: 0x9F47,
+ 28902 - 11905: 0xB7B3,
+ 28903 - 11905: 0xC9D5,
+ 28904 - 11905: 0xECC7,
+ 28905 - 11905: 0xBBE2,
+ 28906 - 11905: 0x9F48,
+ 28907 - 11905: 0xCCCC,
+ 28908 - 11905: 0xBDFD,
+ 28909 - 11905: 0xC8C8,
+ 28910 - 11905: 0x9F49,
+ 28911 - 11905: 0xCFA9,
+ 28912 - 11905: 0x9F4A,
+ 28913 - 11905: 0x9F4B,
+ 28914 - 11905: 0x9F4C,
+ 28915 - 11905: 0x9F4D,
+ 28916 - 11905: 0x9F4E,
+ 28917 - 11905: 0x9F4F,
+ 28918 - 11905: 0x9F50,
+ 28919 - 11905: 0xCDE9,
+ 28920 - 11905: 0x9F51,
+ 28921 - 11905: 0xC5EB,
+ 28922 - 11905: 0x9F52,
+ 28923 - 11905: 0x9F53,
+ 28924 - 11905: 0x9F54,
+ 28925 - 11905: 0xB7E9,
+ 28926 - 11905: 0x9F55,
+ 28927 - 11905: 0x9F56,
+ 28928 - 11905: 0x9F57,
+ 28929 - 11905: 0x9F58,
+ 28930 - 11905: 0x9F59,
+ 28931 - 11905: 0x9F5A,
+ 28932 - 11905: 0x9F5B,
+ 28933 - 11905: 0x9F5C,
+ 28934 - 11905: 0x9F5D,
+ 28935 - 11905: 0x9F5E,
+ 28936 - 11905: 0x9F5F,
+ 28937 - 11905: 0xD1C9,
+ 28938 - 11905: 0xBAB8,
+ 28939 - 11905: 0x9F60,
+ 28940 - 11905: 0x9F61,
+ 28941 - 11905: 0x9F62,
+ 28942 - 11905: 0x9F63,
+ 28943 - 11905: 0x9F64,
+ 28944 - 11905: 0xECC9,
+ 28945 - 11905: 0x9F65,
+ 28946 - 11905: 0x9F66,
+ 28947 - 11905: 0xECCA,
+ 28948 - 11905: 0x9F67,
+ 28949 - 11905: 0xBBC0,
+ 28950 - 11905: 0xECCB,
+ 28951 - 11905: 0x9F68,
+ 28952 - 11905: 0xECE2,
+ 28953 - 11905: 0xB1BA,
+ 28954 - 11905: 0xB7D9,
+ 28955 - 11905: 0x9F69,
+ 28956 - 11905: 0x9F6A,
+ 28957 - 11905: 0x9F6B,
+ 28958 - 11905: 0x9F6C,
+ 28959 - 11905: 0x9F6D,
+ 28960 - 11905: 0x9F6E,
+ 28961 - 11905: 0x9F6F,
+ 28962 - 11905: 0x9F70,
+ 28963 - 11905: 0x9F71,
+ 28964 - 11905: 0x9F72,
+ 28965 - 11905: 0x9F73,
+ 28966 - 11905: 0xBDB9,
+ 28967 - 11905: 0x9F74,
+ 28968 - 11905: 0x9F75,
+ 28969 - 11905: 0x9F76,
+ 28970 - 11905: 0x9F77,
+ 28971 - 11905: 0x9F78,
+ 28972 - 11905: 0x9F79,
+ 28973 - 11905: 0x9F7A,
+ 28974 - 11905: 0x9F7B,
+ 28975 - 11905: 0xECCC,
+ 28976 - 11905: 0xD1E6,
+ 28977 - 11905: 0xECCD,
+ 28978 - 11905: 0x9F7C,
+ 28979 - 11905: 0x9F7D,
+ 28980 - 11905: 0x9F7E,
+ 28981 - 11905: 0x9F80,
+ 28982 - 11905: 0xC8BB,
+ 28983 - 11905: 0x9F81,
+ 28984 - 11905: 0x9F82,
+ 28985 - 11905: 0x9F83,
+ 28986 - 11905: 0x9F84,
+ 28987 - 11905: 0x9F85,
+ 28988 - 11905: 0x9F86,
+ 28989 - 11905: 0x9F87,
+ 28990 - 11905: 0x9F88,
+ 28991 - 11905: 0x9F89,
+ 28992 - 11905: 0x9F8A,
+ 28993 - 11905: 0x9F8B,
+ 28994 - 11905: 0x9F8C,
+ 28995 - 11905: 0x9F8D,
+ 28996 - 11905: 0x9F8E,
+ 28997 - 11905: 0xECD1,
+ 28998 - 11905: 0x9F8F,
+ 28999 - 11905: 0x9F90,
+ 29000 - 11905: 0x9F91,
+ 29001 - 11905: 0x9F92,
+ 29002 - 11905: 0xECD3,
+ 29003 - 11905: 0x9F93,
+ 29004 - 11905: 0xBBCD,
+ 29005 - 11905: 0x9F94,
+ 29006 - 11905: 0xBCE5,
+ 29007 - 11905: 0x9F95,
+ 29008 - 11905: 0x9F96,
+ 29009 - 11905: 0x9F97,
+ 29010 - 11905: 0x9F98,
+ 29011 - 11905: 0x9F99,
+ 29012 - 11905: 0x9F9A,
+ 29013 - 11905: 0x9F9B,
+ 29014 - 11905: 0x9F9C,
+ 29015 - 11905: 0x9F9D,
+ 29016 - 11905: 0x9F9E,
+ 29017 - 11905: 0x9F9F,
+ 29018 - 11905: 0x9FA0,
+ 29019 - 11905: 0x9FA1,
+ 29020 - 11905: 0xECCF,
+ 29021 - 11905: 0x9FA2,
+ 29022 - 11905: 0xC9B7,
+ 29023 - 11905: 0x9FA3,
+ 29024 - 11905: 0x9FA4,
+ 29025 - 11905: 0x9FA5,
+ 29026 - 11905: 0x9FA6,
+ 29027 - 11905: 0x9FA7,
+ 29028 - 11905: 0xC3BA,
+ 29029 - 11905: 0x9FA8,
+ 29030 - 11905: 0xECE3,
+ 29031 - 11905: 0xD5D5,
+ 29032 - 11905: 0xECD0,
+ 29033 - 11905: 0x9FA9,
+ 29034 - 11905: 0x9FAA,
+ 29035 - 11905: 0x9FAB,
+ 29036 - 11905: 0x9FAC,
+ 29037 - 11905: 0x9FAD,
+ 29038 - 11905: 0xD6F3,
+ 29039 - 11905: 0x9FAE,
+ 29040 - 11905: 0x9FAF,
+ 29041 - 11905: 0x9FB0,
+ 29042 - 11905: 0xECD2,
+ 29043 - 11905: 0xECCE,
+ 29044 - 11905: 0x9FB1,
+ 29045 - 11905: 0x9FB2,
+ 29046 - 11905: 0x9FB3,
+ 29047 - 11905: 0x9FB4,
+ 29048 - 11905: 0xECD4,
+ 29049 - 11905: 0x9FB5,
+ 29050 - 11905: 0xECD5,
+ 29051 - 11905: 0x9FB6,
+ 29052 - 11905: 0x9FB7,
+ 29053 - 11905: 0xC9BF,
+ 29054 - 11905: 0x9FB8,
+ 29055 - 11905: 0x9FB9,
+ 29056 - 11905: 0x9FBA,
+ 29057 - 11905: 0x9FBB,
+ 29058 - 11905: 0x9FBC,
+ 29059 - 11905: 0x9FBD,
+ 29060 - 11905: 0xCFA8,
+ 29061 - 11905: 0x9FBE,
+ 29062 - 11905: 0x9FBF,
+ 29063 - 11905: 0x9FC0,
+ 29064 - 11905: 0x9FC1,
+ 29065 - 11905: 0x9FC2,
+ 29066 - 11905: 0xD0DC,
+ 29067 - 11905: 0x9FC3,
+ 29068 - 11905: 0x9FC4,
+ 29069 - 11905: 0x9FC5,
+ 29070 - 11905: 0x9FC6,
+ 29071 - 11905: 0xD1AC,
+ 29072 - 11905: 0x9FC7,
+ 29073 - 11905: 0x9FC8,
+ 29074 - 11905: 0x9FC9,
+ 29075 - 11905: 0x9FCA,
+ 29076 - 11905: 0xC8DB,
+ 29077 - 11905: 0x9FCB,
+ 29078 - 11905: 0x9FCC,
+ 29079 - 11905: 0x9FCD,
+ 29080 - 11905: 0xECD6,
+ 29081 - 11905: 0xCEF5,
+ 29082 - 11905: 0x9FCE,
+ 29083 - 11905: 0x9FCF,
+ 29084 - 11905: 0x9FD0,
+ 29085 - 11905: 0x9FD1,
+ 29086 - 11905: 0x9FD2,
+ 29087 - 11905: 0xCAEC,
+ 29088 - 11905: 0xECDA,
+ 29089 - 11905: 0x9FD3,
+ 29090 - 11905: 0x9FD4,
+ 29091 - 11905: 0x9FD5,
+ 29092 - 11905: 0x9FD6,
+ 29093 - 11905: 0x9FD7,
+ 29094 - 11905: 0x9FD8,
+ 29095 - 11905: 0x9FD9,
+ 29096 - 11905: 0xECD9,
+ 29097 - 11905: 0x9FDA,
+ 29098 - 11905: 0x9FDB,
+ 29099 - 11905: 0x9FDC,
+ 29100 - 11905: 0xB0BE,
+ 29101 - 11905: 0x9FDD,
+ 29102 - 11905: 0x9FDE,
+ 29103 - 11905: 0x9FDF,
+ 29104 - 11905: 0x9FE0,
+ 29105 - 11905: 0x9FE1,
+ 29106 - 11905: 0x9FE2,
+ 29107 - 11905: 0xECD7,
+ 29108 - 11905: 0x9FE3,
+ 29109 - 11905: 0xECD8,
+ 29110 - 11905: 0x9FE4,
+ 29111 - 11905: 0x9FE5,
+ 29112 - 11905: 0x9FE6,
+ 29113 - 11905: 0xECE4,
+ 29114 - 11905: 0x9FE7,
+ 29115 - 11905: 0x9FE8,
+ 29116 - 11905: 0x9FE9,
+ 29117 - 11905: 0x9FEA,
+ 29118 - 11905: 0x9FEB,
+ 29119 - 11905: 0x9FEC,
+ 29120 - 11905: 0x9FED,
+ 29121 - 11905: 0x9FEE,
+ 29122 - 11905: 0x9FEF,
+ 29123 - 11905: 0xC8BC,
+ 29124 - 11905: 0x9FF0,
+ 29125 - 11905: 0x9FF1,
+ 29126 - 11905: 0x9FF2,
+ 29127 - 11905: 0x9FF3,
+ 29128 - 11905: 0x9FF4,
+ 29129 - 11905: 0x9FF5,
+ 29130 - 11905: 0x9FF6,
+ 29131 - 11905: 0x9FF7,
+ 29132 - 11905: 0x9FF8,
+ 29133 - 11905: 0x9FF9,
+ 29134 - 11905: 0xC1C7,
+ 29135 - 11905: 0x9FFA,
+ 29136 - 11905: 0x9FFB,
+ 29137 - 11905: 0x9FFC,
+ 29138 - 11905: 0x9FFD,
+ 29139 - 11905: 0x9FFE,
+ 29140 - 11905: 0xECDC,
+ 29141 - 11905: 0xD1E0,
+ 29142 - 11905: 0xA040,
+ 29143 - 11905: 0xA041,
+ 29144 - 11905: 0xA042,
+ 29145 - 11905: 0xA043,
+ 29146 - 11905: 0xA044,
+ 29147 - 11905: 0xA045,
+ 29148 - 11905: 0xA046,
+ 29149 - 11905: 0xA047,
+ 29150 - 11905: 0xA048,
+ 29151 - 11905: 0xA049,
+ 29152 - 11905: 0xECDB,
+ 29153 - 11905: 0xA04A,
+ 29154 - 11905: 0xA04B,
+ 29155 - 11905: 0xA04C,
+ 29156 - 11905: 0xA04D,
+ 29157 - 11905: 0xD4EF,
+ 29158 - 11905: 0xA04E,
+ 29159 - 11905: 0xECDD,
+ 29160 - 11905: 0xA04F,
+ 29161 - 11905: 0xA050,
+ 29162 - 11905: 0xA051,
+ 29163 - 11905: 0xA052,
+ 29164 - 11905: 0xA053,
+ 29165 - 11905: 0xA054,
+ 29166 - 11905: 0xDBC6,
+ 29167 - 11905: 0xA055,
+ 29168 - 11905: 0xA056,
+ 29169 - 11905: 0xA057,
+ 29170 - 11905: 0xA058,
+ 29171 - 11905: 0xA059,
+ 29172 - 11905: 0xA05A,
+ 29173 - 11905: 0xA05B,
+ 29174 - 11905: 0xA05C,
+ 29175 - 11905: 0xA05D,
+ 29176 - 11905: 0xA05E,
+ 29177 - 11905: 0xECDE,
+ 29178 - 11905: 0xA05F,
+ 29179 - 11905: 0xA060,
+ 29180 - 11905: 0xA061,
+ 29181 - 11905: 0xA062,
+ 29182 - 11905: 0xA063,
+ 29183 - 11905: 0xA064,
+ 29184 - 11905: 0xA065,
+ 29185 - 11905: 0xA066,
+ 29186 - 11905: 0xA067,
+ 29187 - 11905: 0xA068,
+ 29188 - 11905: 0xA069,
+ 29189 - 11905: 0xA06A,
+ 29190 - 11905: 0xB1AC,
+ 29191 - 11905: 0xA06B,
+ 29192 - 11905: 0xA06C,
+ 29193 - 11905: 0xA06D,
+ 29194 - 11905: 0xA06E,
+ 29195 - 11905: 0xA06F,
+ 29196 - 11905: 0xA070,
+ 29197 - 11905: 0xA071,
+ 29198 - 11905: 0xA072,
+ 29199 - 11905: 0xA073,
+ 29200 - 11905: 0xA074,
+ 29201 - 11905: 0xA075,
+ 29202 - 11905: 0xA076,
+ 29203 - 11905: 0xA077,
+ 29204 - 11905: 0xA078,
+ 29205 - 11905: 0xA079,
+ 29206 - 11905: 0xA07A,
+ 29207 - 11905: 0xA07B,
+ 29208 - 11905: 0xA07C,
+ 29209 - 11905: 0xA07D,
+ 29210 - 11905: 0xA07E,
+ 29211 - 11905: 0xA080,
+ 29212 - 11905: 0xA081,
+ 29213 - 11905: 0xECDF,
+ 29214 - 11905: 0xA082,
+ 29215 - 11905: 0xA083,
+ 29216 - 11905: 0xA084,
+ 29217 - 11905: 0xA085,
+ 29218 - 11905: 0xA086,
+ 29219 - 11905: 0xA087,
+ 29220 - 11905: 0xA088,
+ 29221 - 11905: 0xA089,
+ 29222 - 11905: 0xA08A,
+ 29223 - 11905: 0xA08B,
+ 29224 - 11905: 0xECE0,
+ 29225 - 11905: 0xA08C,
+ 29226 - 11905: 0xD7A6,
+ 29227 - 11905: 0xA08D,
+ 29228 - 11905: 0xC5C0,
+ 29229 - 11905: 0xA08E,
+ 29230 - 11905: 0xA08F,
+ 29231 - 11905: 0xA090,
+ 29232 - 11905: 0xEBBC,
+ 29233 - 11905: 0xB0AE,
+ 29234 - 11905: 0xA091,
+ 29235 - 11905: 0xA092,
+ 29236 - 11905: 0xA093,
+ 29237 - 11905: 0xBEF4,
+ 29238 - 11905: 0xB8B8,
+ 29239 - 11905: 0xD2AF,
+ 29240 - 11905: 0xB0D6,
+ 29241 - 11905: 0xB5F9,
+ 29242 - 11905: 0xA094,
+ 29243 - 11905: 0xD8B3,
+ 29244 - 11905: 0xA095,
+ 29245 - 11905: 0xCBAC,
+ 29246 - 11905: 0xA096,
+ 29247 - 11905: 0xE3DD,
+ 29248 - 11905: 0xA097,
+ 29249 - 11905: 0xA098,
+ 29250 - 11905: 0xA099,
+ 29251 - 11905: 0xA09A,
+ 29252 - 11905: 0xA09B,
+ 29253 - 11905: 0xA09C,
+ 29254 - 11905: 0xA09D,
+ 29255 - 11905: 0xC6AC,
+ 29256 - 11905: 0xB0E6,
+ 29257 - 11905: 0xA09E,
+ 29258 - 11905: 0xA09F,
+ 29259 - 11905: 0xA0A0,
+ 29260 - 11905: 0xC5C6,
+ 29261 - 11905: 0xEBB9,
+ 29262 - 11905: 0xA0A1,
+ 29263 - 11905: 0xA0A2,
+ 29264 - 11905: 0xA0A3,
+ 29265 - 11905: 0xA0A4,
+ 29266 - 11905: 0xEBBA,
+ 29267 - 11905: 0xA0A5,
+ 29268 - 11905: 0xA0A6,
+ 29269 - 11905: 0xA0A7,
+ 29270 - 11905: 0xEBBB,
+ 29271 - 11905: 0xA0A8,
+ 29272 - 11905: 0xA0A9,
+ 29273 - 11905: 0xD1C0,
+ 29274 - 11905: 0xA0AA,
+ 29275 - 11905: 0xC5A3,
+ 29276 - 11905: 0xA0AB,
+ 29277 - 11905: 0xEAF2,
+ 29278 - 11905: 0xA0AC,
+ 29279 - 11905: 0xC4B2,
+ 29280 - 11905: 0xA0AD,
+ 29281 - 11905: 0xC4B5,
+ 29282 - 11905: 0xC0CE,
+ 29283 - 11905: 0xA0AE,
+ 29284 - 11905: 0xA0AF,
+ 29285 - 11905: 0xA0B0,
+ 29286 - 11905: 0xEAF3,
+ 29287 - 11905: 0xC4C1,
+ 29288 - 11905: 0xA0B1,
+ 29289 - 11905: 0xCEEF,
+ 29290 - 11905: 0xA0B2,
+ 29291 - 11905: 0xA0B3,
+ 29292 - 11905: 0xA0B4,
+ 29293 - 11905: 0xA0B5,
+ 29294 - 11905: 0xEAF0,
+ 29295 - 11905: 0xEAF4,
+ 29296 - 11905: 0xA0B6,
+ 29297 - 11905: 0xA0B7,
+ 29298 - 11905: 0xC9FC,
+ 29299 - 11905: 0xA0B8,
+ 29300 - 11905: 0xA0B9,
+ 29301 - 11905: 0xC7A3,
+ 29302 - 11905: 0xA0BA,
+ 29303 - 11905: 0xA0BB,
+ 29304 - 11905: 0xA0BC,
+ 29305 - 11905: 0xCCD8,
+ 29306 - 11905: 0xCEFE,
+ 29307 - 11905: 0xA0BD,
+ 29308 - 11905: 0xA0BE,
+ 29309 - 11905: 0xA0BF,
+ 29310 - 11905: 0xEAF5,
+ 29311 - 11905: 0xEAF6,
+ 29312 - 11905: 0xCFAC,
+ 29313 - 11905: 0xC0E7,
+ 29314 - 11905: 0xA0C0,
+ 29315 - 11905: 0xA0C1,
+ 29316 - 11905: 0xEAF7,
+ 29317 - 11905: 0xA0C2,
+ 29318 - 11905: 0xA0C3,
+ 29319 - 11905: 0xA0C4,
+ 29320 - 11905: 0xA0C5,
+ 29321 - 11905: 0xA0C6,
+ 29322 - 11905: 0xB6BF,
+ 29323 - 11905: 0xEAF8,
+ 29324 - 11905: 0xA0C7,
+ 29325 - 11905: 0xEAF9,
+ 29326 - 11905: 0xA0C8,
+ 29327 - 11905: 0xEAFA,
+ 29328 - 11905: 0xA0C9,
+ 29329 - 11905: 0xA0CA,
+ 29330 - 11905: 0xEAFB,
+ 29331 - 11905: 0xA0CB,
+ 29332 - 11905: 0xA0CC,
+ 29333 - 11905: 0xA0CD,
+ 29334 - 11905: 0xA0CE,
+ 29335 - 11905: 0xA0CF,
+ 29336 - 11905: 0xA0D0,
+ 29337 - 11905: 0xA0D1,
+ 29338 - 11905: 0xA0D2,
+ 29339 - 11905: 0xA0D3,
+ 29340 - 11905: 0xA0D4,
+ 29341 - 11905: 0xA0D5,
+ 29342 - 11905: 0xA0D6,
+ 29343 - 11905: 0xEAF1,
+ 29344 - 11905: 0xA0D7,
+ 29345 - 11905: 0xA0D8,
+ 29346 - 11905: 0xA0D9,
+ 29347 - 11905: 0xA0DA,
+ 29348 - 11905: 0xA0DB,
+ 29349 - 11905: 0xA0DC,
+ 29350 - 11905: 0xA0DD,
+ 29351 - 11905: 0xA0DE,
+ 29352 - 11905: 0xA0DF,
+ 29353 - 11905: 0xA0E0,
+ 29354 - 11905: 0xA0E1,
+ 29355 - 11905: 0xA0E2,
+ 29356 - 11905: 0xC8AE,
+ 29357 - 11905: 0xE1EB,
+ 29358 - 11905: 0xA0E3,
+ 29359 - 11905: 0xB7B8,
+ 29360 - 11905: 0xE1EC,
+ 29361 - 11905: 0xA0E4,
+ 29362 - 11905: 0xA0E5,
+ 29363 - 11905: 0xA0E6,
+ 29364 - 11905: 0xE1ED,
+ 29365 - 11905: 0xA0E7,
+ 29366 - 11905: 0xD7B4,
+ 29367 - 11905: 0xE1EE,
+ 29368 - 11905: 0xE1EF,
+ 29369 - 11905: 0xD3CC,
+ 29370 - 11905: 0xA0E8,
+ 29371 - 11905: 0xA0E9,
+ 29372 - 11905: 0xA0EA,
+ 29373 - 11905: 0xA0EB,
+ 29374 - 11905: 0xA0EC,
+ 29375 - 11905: 0xA0ED,
+ 29376 - 11905: 0xA0EE,
+ 29377 - 11905: 0xE1F1,
+ 29378 - 11905: 0xBFF1,
+ 29379 - 11905: 0xE1F0,
+ 29380 - 11905: 0xB5D2,
+ 29381 - 11905: 0xA0EF,
+ 29382 - 11905: 0xA0F0,
+ 29383 - 11905: 0xA0F1,
+ 29384 - 11905: 0xB1B7,
+ 29385 - 11905: 0xA0F2,
+ 29386 - 11905: 0xA0F3,
+ 29387 - 11905: 0xA0F4,
+ 29388 - 11905: 0xA0F5,
+ 29389 - 11905: 0xE1F3,
+ 29390 - 11905: 0xE1F2,
+ 29391 - 11905: 0xA0F6,
+ 29392 - 11905: 0xBAFC,
+ 29393 - 11905: 0xA0F7,
+ 29394 - 11905: 0xE1F4,
+ 29395 - 11905: 0xA0F8,
+ 29396 - 11905: 0xA0F9,
+ 29397 - 11905: 0xA0FA,
+ 29398 - 11905: 0xA0FB,
+ 29399 - 11905: 0xB9B7,
+ 29400 - 11905: 0xA0FC,
+ 29401 - 11905: 0xBED1,
+ 29402 - 11905: 0xA0FD,
+ 29403 - 11905: 0xA0FE,
+ 29404 - 11905: 0xAA40,
+ 29405 - 11905: 0xAA41,
+ 29406 - 11905: 0xC4FC,
+ 29407 - 11905: 0xAA42,
+ 29408 - 11905: 0xBADD,
+ 29409 - 11905: 0xBDC6,
+ 29410 - 11905: 0xAA43,
+ 29411 - 11905: 0xAA44,
+ 29412 - 11905: 0xAA45,
+ 29413 - 11905: 0xAA46,
+ 29414 - 11905: 0xAA47,
+ 29415 - 11905: 0xAA48,
+ 29416 - 11905: 0xE1F5,
+ 29417 - 11905: 0xE1F7,
+ 29418 - 11905: 0xAA49,
+ 29419 - 11905: 0xAA4A,
+ 29420 - 11905: 0xB6C0,
+ 29421 - 11905: 0xCFC1,
+ 29422 - 11905: 0xCAA8,
+ 29423 - 11905: 0xE1F6,
+ 29424 - 11905: 0xD5F8,
+ 29425 - 11905: 0xD3FC,
+ 29426 - 11905: 0xE1F8,
+ 29427 - 11905: 0xE1FC,
+ 29428 - 11905: 0xE1F9,
+ 29429 - 11905: 0xAA4B,
+ 29430 - 11905: 0xAA4C,
+ 29431 - 11905: 0xE1FA,
+ 29432 - 11905: 0xC0EA,
+ 29433 - 11905: 0xAA4D,
+ 29434 - 11905: 0xE1FE,
+ 29435 - 11905: 0xE2A1,
+ 29436 - 11905: 0xC0C7,
+ 29437 - 11905: 0xAA4E,
+ 29438 - 11905: 0xAA4F,
+ 29439 - 11905: 0xAA50,
+ 29440 - 11905: 0xAA51,
+ 29441 - 11905: 0xE1FB,
+ 29442 - 11905: 0xAA52,
+ 29443 - 11905: 0xE1FD,
+ 29444 - 11905: 0xAA53,
+ 29445 - 11905: 0xAA54,
+ 29446 - 11905: 0xAA55,
+ 29447 - 11905: 0xAA56,
+ 29448 - 11905: 0xAA57,
+ 29449 - 11905: 0xAA58,
+ 29450 - 11905: 0xE2A5,
+ 29451 - 11905: 0xAA59,
+ 29452 - 11905: 0xAA5A,
+ 29453 - 11905: 0xAA5B,
+ 29454 - 11905: 0xC1D4,
+ 29455 - 11905: 0xAA5C,
+ 29456 - 11905: 0xAA5D,
+ 29457 - 11905: 0xAA5E,
+ 29458 - 11905: 0xAA5F,
+ 29459 - 11905: 0xE2A3,
+ 29460 - 11905: 0xAA60,
+ 29461 - 11905: 0xE2A8,
+ 29462 - 11905: 0xB2FE,
+ 29463 - 11905: 0xE2A2,
+ 29464 - 11905: 0xAA61,
+ 29465 - 11905: 0xAA62,
+ 29466 - 11905: 0xAA63,
+ 29467 - 11905: 0xC3CD,
+ 29468 - 11905: 0xB2C2,
+ 29469 - 11905: 0xE2A7,
+ 29470 - 11905: 0xE2A6,
+ 29471 - 11905: 0xAA64,
+ 29472 - 11905: 0xAA65,
+ 29473 - 11905: 0xE2A4,
+ 29474 - 11905: 0xE2A9,
+ 29475 - 11905: 0xAA66,
+ 29476 - 11905: 0xAA67,
+ 29477 - 11905: 0xE2AB,
+ 29478 - 11905: 0xAA68,
+ 29479 - 11905: 0xAA69,
+ 29480 - 11905: 0xAA6A,
+ 29481 - 11905: 0xD0C9,
+ 29482 - 11905: 0xD6ED,
+ 29483 - 11905: 0xC3A8,
+ 29484 - 11905: 0xE2AC,
+ 29485 - 11905: 0xAA6B,
+ 29486 - 11905: 0xCFD7,
+ 29487 - 11905: 0xAA6C,
+ 29488 - 11905: 0xAA6D,
+ 29489 - 11905: 0xE2AE,
+ 29490 - 11905: 0xAA6E,
+ 29491 - 11905: 0xAA6F,
+ 29492 - 11905: 0xBAEF,
+ 29493 - 11905: 0xAA70,
+ 29494 - 11905: 0xAA71,
+ 29495 - 11905: 0xE9E0,
+ 29496 - 11905: 0xE2AD,
+ 29497 - 11905: 0xE2AA,
+ 29498 - 11905: 0xAA72,
+ 29499 - 11905: 0xAA73,
+ 29500 - 11905: 0xAA74,
+ 29501 - 11905: 0xAA75,
+ 29502 - 11905: 0xBBAB,
+ 29503 - 11905: 0xD4B3,
+ 29504 - 11905: 0xAA76,
+ 29505 - 11905: 0xAA77,
+ 29506 - 11905: 0xAA78,
+ 29507 - 11905: 0xAA79,
+ 29508 - 11905: 0xAA7A,
+ 29509 - 11905: 0xAA7B,
+ 29510 - 11905: 0xAA7C,
+ 29511 - 11905: 0xAA7D,
+ 29512 - 11905: 0xAA7E,
+ 29513 - 11905: 0xAA80,
+ 29514 - 11905: 0xAA81,
+ 29515 - 11905: 0xAA82,
+ 29516 - 11905: 0xAA83,
+ 29517 - 11905: 0xE2B0,
+ 29518 - 11905: 0xAA84,
+ 29519 - 11905: 0xAA85,
+ 29520 - 11905: 0xE2AF,
+ 29521 - 11905: 0xAA86,
+ 29522 - 11905: 0xE9E1,
+ 29523 - 11905: 0xAA87,
+ 29524 - 11905: 0xAA88,
+ 29525 - 11905: 0xAA89,
+ 29526 - 11905: 0xAA8A,
+ 29527 - 11905: 0xE2B1,
+ 29528 - 11905: 0xAA8B,
+ 29529 - 11905: 0xAA8C,
+ 29530 - 11905: 0xAA8D,
+ 29531 - 11905: 0xAA8E,
+ 29532 - 11905: 0xAA8F,
+ 29533 - 11905: 0xAA90,
+ 29534 - 11905: 0xAA91,
+ 29535 - 11905: 0xAA92,
+ 29536 - 11905: 0xE2B2,
+ 29537 - 11905: 0xAA93,
+ 29538 - 11905: 0xAA94,
+ 29539 - 11905: 0xAA95,
+ 29540 - 11905: 0xAA96,
+ 29541 - 11905: 0xAA97,
+ 29542 - 11905: 0xAA98,
+ 29543 - 11905: 0xAA99,
+ 29544 - 11905: 0xAA9A,
+ 29545 - 11905: 0xAA9B,
+ 29546 - 11905: 0xAA9C,
+ 29547 - 11905: 0xAA9D,
+ 29548 - 11905: 0xE2B3,
+ 29549 - 11905: 0xCCA1,
+ 29550 - 11905: 0xAA9E,
+ 29551 - 11905: 0xE2B4,
+ 29552 - 11905: 0xAA9F,
+ 29553 - 11905: 0xAAA0,
+ 29554 - 11905: 0xAB40,
+ 29555 - 11905: 0xAB41,
+ 29556 - 11905: 0xAB42,
+ 29557 - 11905: 0xAB43,
+ 29558 - 11905: 0xAB44,
+ 29559 - 11905: 0xAB45,
+ 29560 - 11905: 0xAB46,
+ 29561 - 11905: 0xAB47,
+ 29562 - 11905: 0xAB48,
+ 29563 - 11905: 0xAB49,
+ 29564 - 11905: 0xAB4A,
+ 29565 - 11905: 0xAB4B,
+ 29566 - 11905: 0xE2B5,
+ 29567 - 11905: 0xAB4C,
+ 29568 - 11905: 0xAB4D,
+ 29569 - 11905: 0xAB4E,
+ 29570 - 11905: 0xAB4F,
+ 29571 - 11905: 0xAB50,
+ 29572 - 11905: 0xD0FE,
+ 29573 - 11905: 0xAB51,
+ 29574 - 11905: 0xAB52,
+ 29575 - 11905: 0xC2CA,
+ 29576 - 11905: 0xAB53,
+ 29577 - 11905: 0xD3F1,
+ 29578 - 11905: 0xAB54,
+ 29579 - 11905: 0xCDF5,
+ 29580 - 11905: 0xAB55,
+ 29581 - 11905: 0xAB56,
+ 29582 - 11905: 0xE7E0,
+ 29583 - 11905: 0xAB57,
+ 29584 - 11905: 0xAB58,
+ 29585 - 11905: 0xE7E1,
+ 29586 - 11905: 0xAB59,
+ 29587 - 11905: 0xAB5A,
+ 29588 - 11905: 0xAB5B,
+ 29589 - 11905: 0xAB5C,
+ 29590 - 11905: 0xBEC1,
+ 29591 - 11905: 0xAB5D,
+ 29592 - 11905: 0xAB5E,
+ 29593 - 11905: 0xAB5F,
+ 29594 - 11905: 0xAB60,
+ 29595 - 11905: 0xC2EA,
+ 29596 - 11905: 0xAB61,
+ 29597 - 11905: 0xAB62,
+ 29598 - 11905: 0xAB63,
+ 29599 - 11905: 0xE7E4,
+ 29600 - 11905: 0xAB64,
+ 29601 - 11905: 0xAB65,
+ 29602 - 11905: 0xE7E3,
+ 29603 - 11905: 0xAB66,
+ 29604 - 11905: 0xAB67,
+ 29605 - 11905: 0xAB68,
+ 29606 - 11905: 0xAB69,
+ 29607 - 11905: 0xAB6A,
+ 29608 - 11905: 0xAB6B,
+ 29609 - 11905: 0xCDE6,
+ 29610 - 11905: 0xAB6C,
+ 29611 - 11905: 0xC3B5,
+ 29612 - 11905: 0xAB6D,
+ 29613 - 11905: 0xAB6E,
+ 29614 - 11905: 0xE7E2,
+ 29615 - 11905: 0xBBB7,
+ 29616 - 11905: 0xCFD6,
+ 29617 - 11905: 0xAB6F,
+ 29618 - 11905: 0xC1E1,
+ 29619 - 11905: 0xE7E9,
+ 29620 - 11905: 0xAB70,
+ 29621 - 11905: 0xAB71,
+ 29622 - 11905: 0xAB72,
+ 29623 - 11905: 0xE7E8,
+ 29624 - 11905: 0xAB73,
+ 29625 - 11905: 0xAB74,
+ 29626 - 11905: 0xE7F4,
+ 29627 - 11905: 0xB2A3,
+ 29628 - 11905: 0xAB75,
+ 29629 - 11905: 0xAB76,
+ 29630 - 11905: 0xAB77,
+ 29631 - 11905: 0xAB78,
+ 29632 - 11905: 0xE7EA,
+ 29633 - 11905: 0xAB79,
+ 29634 - 11905: 0xE7E6,
+ 29635 - 11905: 0xAB7A,
+ 29636 - 11905: 0xAB7B,
+ 29637 - 11905: 0xAB7C,
+ 29638 - 11905: 0xAB7D,
+ 29639 - 11905: 0xAB7E,
+ 29640 - 11905: 0xE7EC,
+ 29641 - 11905: 0xE7EB,
+ 29642 - 11905: 0xC9BA,
+ 29643 - 11905: 0xAB80,
+ 29644 - 11905: 0xAB81,
+ 29645 - 11905: 0xD5E4,
+ 29646 - 11905: 0xAB82,
+ 29647 - 11905: 0xE7E5,
+ 29648 - 11905: 0xB7A9,
+ 29649 - 11905: 0xE7E7,
+ 29650 - 11905: 0xAB83,
+ 29651 - 11905: 0xAB84,
+ 29652 - 11905: 0xAB85,
+ 29653 - 11905: 0xAB86,
+ 29654 - 11905: 0xAB87,
+ 29655 - 11905: 0xAB88,
+ 29656 - 11905: 0xAB89,
+ 29657 - 11905: 0xE7EE,
+ 29658 - 11905: 0xAB8A,
+ 29659 - 11905: 0xAB8B,
+ 29660 - 11905: 0xAB8C,
+ 29661 - 11905: 0xAB8D,
+ 29662 - 11905: 0xE7F3,
+ 29663 - 11905: 0xAB8E,
+ 29664 - 11905: 0xD6E9,
+ 29665 - 11905: 0xAB8F,
+ 29666 - 11905: 0xAB90,
+ 29667 - 11905: 0xAB91,
+ 29668 - 11905: 0xAB92,
+ 29669 - 11905: 0xE7ED,
+ 29670 - 11905: 0xAB93,
+ 29671 - 11905: 0xE7F2,
+ 29672 - 11905: 0xAB94,
+ 29673 - 11905: 0xE7F1,
+ 29674 - 11905: 0xAB95,
+ 29675 - 11905: 0xAB96,
+ 29676 - 11905: 0xAB97,
+ 29677 - 11905: 0xB0E0,
+ 29678 - 11905: 0xAB98,
+ 29679 - 11905: 0xAB99,
+ 29680 - 11905: 0xAB9A,
+ 29681 - 11905: 0xAB9B,
+ 29682 - 11905: 0xE7F5,
+ 29683 - 11905: 0xAB9C,
+ 29684 - 11905: 0xAB9D,
+ 29685 - 11905: 0xAB9E,
+ 29686 - 11905: 0xAB9F,
+ 29687 - 11905: 0xABA0,
+ 29688 - 11905: 0xAC40,
+ 29689 - 11905: 0xAC41,
+ 29690 - 11905: 0xAC42,
+ 29691 - 11905: 0xAC43,
+ 29692 - 11905: 0xAC44,
+ 29693 - 11905: 0xAC45,
+ 29694 - 11905: 0xAC46,
+ 29695 - 11905: 0xAC47,
+ 29696 - 11905: 0xAC48,
+ 29697 - 11905: 0xAC49,
+ 29698 - 11905: 0xAC4A,
+ 29699 - 11905: 0xC7F2,
+ 29700 - 11905: 0xAC4B,
+ 29701 - 11905: 0xC0C5,
+ 29702 - 11905: 0xC0ED,
+ 29703 - 11905: 0xAC4C,
+ 29704 - 11905: 0xAC4D,
+ 29705 - 11905: 0xC1F0,
+ 29706 - 11905: 0xE7F0,
+ 29707 - 11905: 0xAC4E,
+ 29708 - 11905: 0xAC4F,
+ 29709 - 11905: 0xAC50,
+ 29710 - 11905: 0xAC51,
+ 29711 - 11905: 0xE7F6,
+ 29712 - 11905: 0xCBF6,
+ 29713 - 11905: 0xAC52,
+ 29714 - 11905: 0xAC53,
+ 29715 - 11905: 0xAC54,
+ 29716 - 11905: 0xAC55,
+ 29717 - 11905: 0xAC56,
+ 29718 - 11905: 0xAC57,
+ 29719 - 11905: 0xAC58,
+ 29720 - 11905: 0xAC59,
+ 29721 - 11905: 0xAC5A,
+ 29722 - 11905: 0xE8A2,
+ 29723 - 11905: 0xE8A1,
+ 29724 - 11905: 0xAC5B,
+ 29725 - 11905: 0xAC5C,
+ 29726 - 11905: 0xAC5D,
+ 29727 - 11905: 0xAC5E,
+ 29728 - 11905: 0xAC5F,
+ 29729 - 11905: 0xAC60,
+ 29730 - 11905: 0xD7C1,
+ 29731 - 11905: 0xAC61,
+ 29732 - 11905: 0xAC62,
+ 29733 - 11905: 0xE7FA,
+ 29734 - 11905: 0xE7F9,
+ 29735 - 11905: 0xAC63,
+ 29736 - 11905: 0xE7FB,
+ 29737 - 11905: 0xAC64,
+ 29738 - 11905: 0xE7F7,
+ 29739 - 11905: 0xAC65,
+ 29740 - 11905: 0xE7FE,
+ 29741 - 11905: 0xAC66,
+ 29742 - 11905: 0xE7FD,
+ 29743 - 11905: 0xAC67,
+ 29744 - 11905: 0xE7FC,
+ 29745 - 11905: 0xAC68,
+ 29746 - 11905: 0xAC69,
+ 29747 - 11905: 0xC1D5,
+ 29748 - 11905: 0xC7D9,
+ 29749 - 11905: 0xC5FD,
+ 29750 - 11905: 0xC5C3,
+ 29751 - 11905: 0xAC6A,
+ 29752 - 11905: 0xAC6B,
+ 29753 - 11905: 0xAC6C,
+ 29754 - 11905: 0xAC6D,
+ 29755 - 11905: 0xAC6E,
+ 29756 - 11905: 0xC7ED,
+ 29757 - 11905: 0xAC6F,
+ 29758 - 11905: 0xAC70,
+ 29759 - 11905: 0xAC71,
+ 29760 - 11905: 0xAC72,
+ 29761 - 11905: 0xE8A3,
+ 29762 - 11905: 0xAC73,
+ 29763 - 11905: 0xAC74,
+ 29764 - 11905: 0xAC75,
+ 29765 - 11905: 0xAC76,
+ 29766 - 11905: 0xAC77,
+ 29767 - 11905: 0xAC78,
+ 29768 - 11905: 0xAC79,
+ 29769 - 11905: 0xAC7A,
+ 29770 - 11905: 0xAC7B,
+ 29771 - 11905: 0xAC7C,
+ 29772 - 11905: 0xAC7D,
+ 29773 - 11905: 0xAC7E,
+ 29774 - 11905: 0xAC80,
+ 29775 - 11905: 0xAC81,
+ 29776 - 11905: 0xAC82,
+ 29777 - 11905: 0xAC83,
+ 29778 - 11905: 0xAC84,
+ 29779 - 11905: 0xAC85,
+ 29780 - 11905: 0xAC86,
+ 29781 - 11905: 0xE8A6,
+ 29782 - 11905: 0xAC87,
+ 29783 - 11905: 0xE8A5,
+ 29784 - 11905: 0xAC88,
+ 29785 - 11905: 0xE8A7,
+ 29786 - 11905: 0xBAF7,
+ 29787 - 11905: 0xE7F8,
+ 29788 - 11905: 0xE8A4,
+ 29789 - 11905: 0xAC89,
+ 29790 - 11905: 0xC8F0,
+ 29791 - 11905: 0xC9AA,
+ 29792 - 11905: 0xAC8A,
+ 29793 - 11905: 0xAC8B,
+ 29794 - 11905: 0xAC8C,
+ 29795 - 11905: 0xAC8D,
+ 29796 - 11905: 0xAC8E,
+ 29797 - 11905: 0xAC8F,
+ 29798 - 11905: 0xAC90,
+ 29799 - 11905: 0xAC91,
+ 29800 - 11905: 0xAC92,
+ 29801 - 11905: 0xAC93,
+ 29802 - 11905: 0xAC94,
+ 29803 - 11905: 0xAC95,
+ 29804 - 11905: 0xAC96,
+ 29805 - 11905: 0xE8A9,
+ 29806 - 11905: 0xAC97,
+ 29807 - 11905: 0xAC98,
+ 29808 - 11905: 0xB9E5,
+ 29809 - 11905: 0xAC99,
+ 29810 - 11905: 0xAC9A,
+ 29811 - 11905: 0xAC9B,
+ 29812 - 11905: 0xAC9C,
+ 29813 - 11905: 0xAC9D,
+ 29814 - 11905: 0xD1FE,
+ 29815 - 11905: 0xE8A8,
+ 29816 - 11905: 0xAC9E,
+ 29817 - 11905: 0xAC9F,
+ 29818 - 11905: 0xACA0,
+ 29819 - 11905: 0xAD40,
+ 29820 - 11905: 0xAD41,
+ 29821 - 11905: 0xAD42,
+ 29822 - 11905: 0xE8AA,
+ 29823 - 11905: 0xAD43,
+ 29824 - 11905: 0xE8AD,
+ 29825 - 11905: 0xE8AE,
+ 29826 - 11905: 0xAD44,
+ 29827 - 11905: 0xC1A7,
+ 29828 - 11905: 0xAD45,
+ 29829 - 11905: 0xAD46,
+ 29830 - 11905: 0xAD47,
+ 29831 - 11905: 0xE8AF,
+ 29832 - 11905: 0xAD48,
+ 29833 - 11905: 0xAD49,
+ 29834 - 11905: 0xAD4A,
+ 29835 - 11905: 0xE8B0,
+ 29836 - 11905: 0xAD4B,
+ 29837 - 11905: 0xAD4C,
+ 29838 - 11905: 0xE8AC,
+ 29839 - 11905: 0xAD4D,
+ 29840 - 11905: 0xE8B4,
+ 29841 - 11905: 0xAD4E,
+ 29842 - 11905: 0xAD4F,
+ 29843 - 11905: 0xAD50,
+ 29844 - 11905: 0xAD51,
+ 29845 - 11905: 0xAD52,
+ 29846 - 11905: 0xAD53,
+ 29847 - 11905: 0xAD54,
+ 29848 - 11905: 0xAD55,
+ 29849 - 11905: 0xAD56,
+ 29850 - 11905: 0xAD57,
+ 29851 - 11905: 0xAD58,
+ 29852 - 11905: 0xE8AB,
+ 29853 - 11905: 0xAD59,
+ 29854 - 11905: 0xE8B1,
+ 29855 - 11905: 0xAD5A,
+ 29856 - 11905: 0xAD5B,
+ 29857 - 11905: 0xAD5C,
+ 29858 - 11905: 0xAD5D,
+ 29859 - 11905: 0xAD5E,
+ 29860 - 11905: 0xAD5F,
+ 29861 - 11905: 0xAD60,
+ 29862 - 11905: 0xAD61,
+ 29863 - 11905: 0xE8B5,
+ 29864 - 11905: 0xE8B2,
+ 29865 - 11905: 0xE8B3,
+ 29866 - 11905: 0xAD62,
+ 29867 - 11905: 0xAD63,
+ 29868 - 11905: 0xAD64,
+ 29869 - 11905: 0xAD65,
+ 29870 - 11905: 0xAD66,
+ 29871 - 11905: 0xAD67,
+ 29872 - 11905: 0xAD68,
+ 29873 - 11905: 0xAD69,
+ 29874 - 11905: 0xAD6A,
+ 29875 - 11905: 0xAD6B,
+ 29876 - 11905: 0xAD6C,
+ 29877 - 11905: 0xAD6D,
+ 29878 - 11905: 0xAD6E,
+ 29879 - 11905: 0xAD6F,
+ 29880 - 11905: 0xAD70,
+ 29881 - 11905: 0xAD71,
+ 29882 - 11905: 0xE8B7,
+ 29883 - 11905: 0xAD72,
+ 29884 - 11905: 0xAD73,
+ 29885 - 11905: 0xAD74,
+ 29886 - 11905: 0xAD75,
+ 29887 - 11905: 0xAD76,
+ 29888 - 11905: 0xAD77,
+ 29889 - 11905: 0xAD78,
+ 29890 - 11905: 0xAD79,
+ 29891 - 11905: 0xAD7A,
+ 29892 - 11905: 0xAD7B,
+ 29893 - 11905: 0xAD7C,
+ 29894 - 11905: 0xAD7D,
+ 29895 - 11905: 0xAD7E,
+ 29896 - 11905: 0xAD80,
+ 29897 - 11905: 0xAD81,
+ 29898 - 11905: 0xAD82,
+ 29899 - 11905: 0xAD83,
+ 29900 - 11905: 0xAD84,
+ 29901 - 11905: 0xAD85,
+ 29902 - 11905: 0xAD86,
+ 29903 - 11905: 0xAD87,
+ 29904 - 11905: 0xAD88,
+ 29905 - 11905: 0xAD89,
+ 29906 - 11905: 0xE8B6,
+ 29907 - 11905: 0xAD8A,
+ 29908 - 11905: 0xAD8B,
+ 29909 - 11905: 0xAD8C,
+ 29910 - 11905: 0xAD8D,
+ 29911 - 11905: 0xAD8E,
+ 29912 - 11905: 0xAD8F,
+ 29913 - 11905: 0xAD90,
+ 29914 - 11905: 0xAD91,
+ 29915 - 11905: 0xAD92,
+ 29916 - 11905: 0xB9CF,
+ 29917 - 11905: 0xAD93,
+ 29918 - 11905: 0xF0AC,
+ 29919 - 11905: 0xAD94,
+ 29920 - 11905: 0xF0AD,
+ 29921 - 11905: 0xAD95,
+ 29922 - 11905: 0xC6B0,
+ 29923 - 11905: 0xB0EA,
+ 29924 - 11905: 0xC8BF,
+ 29925 - 11905: 0xAD96,
+ 29926 - 11905: 0xCDDF,
+ 29927 - 11905: 0xAD97,
+ 29928 - 11905: 0xAD98,
+ 29929 - 11905: 0xAD99,
+ 29930 - 11905: 0xAD9A,
+ 29931 - 11905: 0xAD9B,
+ 29932 - 11905: 0xAD9C,
+ 29933 - 11905: 0xAD9D,
+ 29934 - 11905: 0xCECD,
+ 29935 - 11905: 0xEAB1,
+ 29936 - 11905: 0xAD9E,
+ 29937 - 11905: 0xAD9F,
+ 29938 - 11905: 0xADA0,
+ 29939 - 11905: 0xAE40,
+ 29940 - 11905: 0xEAB2,
+ 29941 - 11905: 0xAE41,
+ 29942 - 11905: 0xC6BF,
+ 29943 - 11905: 0xB4C9,
+ 29944 - 11905: 0xAE42,
+ 29945 - 11905: 0xAE43,
+ 29946 - 11905: 0xAE44,
+ 29947 - 11905: 0xAE45,
+ 29948 - 11905: 0xAE46,
+ 29949 - 11905: 0xAE47,
+ 29950 - 11905: 0xAE48,
+ 29951 - 11905: 0xEAB3,
+ 29952 - 11905: 0xAE49,
+ 29953 - 11905: 0xAE4A,
+ 29954 - 11905: 0xAE4B,
+ 29955 - 11905: 0xAE4C,
+ 29956 - 11905: 0xD5E7,
+ 29957 - 11905: 0xAE4D,
+ 29958 - 11905: 0xAE4E,
+ 29959 - 11905: 0xAE4F,
+ 29960 - 11905: 0xAE50,
+ 29961 - 11905: 0xAE51,
+ 29962 - 11905: 0xAE52,
+ 29963 - 11905: 0xAE53,
+ 29964 - 11905: 0xAE54,
+ 29965 - 11905: 0xDDF9,
+ 29966 - 11905: 0xAE55,
+ 29967 - 11905: 0xEAB4,
+ 29968 - 11905: 0xAE56,
+ 29969 - 11905: 0xEAB5,
+ 29970 - 11905: 0xAE57,
+ 29971 - 11905: 0xEAB6,
+ 29972 - 11905: 0xAE58,
+ 29973 - 11905: 0xAE59,
+ 29974 - 11905: 0xAE5A,
+ 29975 - 11905: 0xAE5B,
+ 29976 - 11905: 0xB8CA,
+ 29977 - 11905: 0xDFB0,
+ 29978 - 11905: 0xC9F5,
+ 29979 - 11905: 0xAE5C,
+ 29980 - 11905: 0xCCF0,
+ 29981 - 11905: 0xAE5D,
+ 29982 - 11905: 0xAE5E,
+ 29983 - 11905: 0xC9FA,
+ 29984 - 11905: 0xAE5F,
+ 29985 - 11905: 0xAE60,
+ 29986 - 11905: 0xAE61,
+ 29987 - 11905: 0xAE62,
+ 29988 - 11905: 0xAE63,
+ 29989 - 11905: 0xC9FB,
+ 29990 - 11905: 0xAE64,
+ 29991 - 11905: 0xAE65,
+ 29992 - 11905: 0xD3C3,
+ 29993 - 11905: 0xCBA6,
+ 29994 - 11905: 0xAE66,
+ 29995 - 11905: 0xB8A6,
+ 29996 - 11905: 0xF0AE,
+ 29997 - 11905: 0xB1C2,
+ 29998 - 11905: 0xAE67,
+ 29999 - 11905: 0xE5B8,
+ 30000 - 11905: 0xCCEF,
+ 30001 - 11905: 0xD3C9,
+ 30002 - 11905: 0xBCD7,
+ 30003 - 11905: 0xC9EA,
+ 30004 - 11905: 0xAE68,
+ 30005 - 11905: 0xB5E7,
+ 30006 - 11905: 0xAE69,
+ 30007 - 11905: 0xC4D0,
+ 30008 - 11905: 0xB5E9,
+ 30009 - 11905: 0xAE6A,
+ 30010 - 11905: 0xEEAE,
+ 30011 - 11905: 0xBBAD,
+ 30012 - 11905: 0xAE6B,
+ 30013 - 11905: 0xAE6C,
+ 30014 - 11905: 0xE7DE,
+ 30015 - 11905: 0xAE6D,
+ 30016 - 11905: 0xEEAF,
+ 30017 - 11905: 0xAE6E,
+ 30018 - 11905: 0xAE6F,
+ 30019 - 11905: 0xAE70,
+ 30020 - 11905: 0xAE71,
+ 30021 - 11905: 0xB3A9,
+ 30022 - 11905: 0xAE72,
+ 30023 - 11905: 0xAE73,
+ 30024 - 11905: 0xEEB2,
+ 30025 - 11905: 0xAE74,
+ 30026 - 11905: 0xAE75,
+ 30027 - 11905: 0xEEB1,
+ 30028 - 11905: 0xBDE7,
+ 30029 - 11905: 0xAE76,
+ 30030 - 11905: 0xEEB0,
+ 30031 - 11905: 0xCEB7,
+ 30032 - 11905: 0xAE77,
+ 30033 - 11905: 0xAE78,
+ 30034 - 11905: 0xAE79,
+ 30035 - 11905: 0xAE7A,
+ 30036 - 11905: 0xC5CF,
+ 30037 - 11905: 0xAE7B,
+ 30038 - 11905: 0xAE7C,
+ 30039 - 11905: 0xAE7D,
+ 30040 - 11905: 0xAE7E,
+ 30041 - 11905: 0xC1F4,
+ 30042 - 11905: 0xDBCE,
+ 30043 - 11905: 0xEEB3,
+ 30044 - 11905: 0xD0F3,
+ 30045 - 11905: 0xAE80,
+ 30046 - 11905: 0xAE81,
+ 30047 - 11905: 0xAE82,
+ 30048 - 11905: 0xAE83,
+ 30049 - 11905: 0xAE84,
+ 30050 - 11905: 0xAE85,
+ 30051 - 11905: 0xAE86,
+ 30052 - 11905: 0xAE87,
+ 30053 - 11905: 0xC2D4,
+ 30054 - 11905: 0xC6E8,
+ 30055 - 11905: 0xAE88,
+ 30056 - 11905: 0xAE89,
+ 30057 - 11905: 0xAE8A,
+ 30058 - 11905: 0xB7AC,
+ 30059 - 11905: 0xAE8B,
+ 30060 - 11905: 0xAE8C,
+ 30061 - 11905: 0xAE8D,
+ 30062 - 11905: 0xAE8E,
+ 30063 - 11905: 0xAE8F,
+ 30064 - 11905: 0xAE90,
+ 30065 - 11905: 0xAE91,
+ 30066 - 11905: 0xEEB4,
+ 30067 - 11905: 0xAE92,
+ 30068 - 11905: 0xB3EB,
+ 30069 - 11905: 0xAE93,
+ 30070 - 11905: 0xAE94,
+ 30071 - 11905: 0xAE95,
+ 30072 - 11905: 0xBBFB,
+ 30073 - 11905: 0xEEB5,
+ 30074 - 11905: 0xAE96,
+ 30075 - 11905: 0xAE97,
+ 30076 - 11905: 0xAE98,
+ 30077 - 11905: 0xAE99,
+ 30078 - 11905: 0xAE9A,
+ 30079 - 11905: 0xE7DC,
+ 30080 - 11905: 0xAE9B,
+ 30081 - 11905: 0xAE9C,
+ 30082 - 11905: 0xAE9D,
+ 30083 - 11905: 0xEEB6,
+ 30084 - 11905: 0xAE9E,
+ 30085 - 11905: 0xAE9F,
+ 30086 - 11905: 0xBDAE,
+ 30087 - 11905: 0xAEA0,
+ 30088 - 11905: 0xAF40,
+ 30089 - 11905: 0xAF41,
+ 30090 - 11905: 0xAF42,
+ 30091 - 11905: 0xF1E2,
+ 30092 - 11905: 0xAF43,
+ 30093 - 11905: 0xAF44,
+ 30094 - 11905: 0xAF45,
+ 30095 - 11905: 0xCAE8,
+ 30096 - 11905: 0xAF46,
+ 30097 - 11905: 0xD2C9,
+ 30098 - 11905: 0xF0DA,
+ 30099 - 11905: 0xAF47,
+ 30100 - 11905: 0xF0DB,
+ 30101 - 11905: 0xAF48,
+ 30102 - 11905: 0xF0DC,
+ 30103 - 11905: 0xC1C6,
+ 30104 - 11905: 0xAF49,
+ 30105 - 11905: 0xB8ED,
+ 30106 - 11905: 0xBECE,
+ 30107 - 11905: 0xAF4A,
+ 30108 - 11905: 0xAF4B,
+ 30109 - 11905: 0xF0DE,
+ 30110 - 11905: 0xAF4C,
+ 30111 - 11905: 0xC5B1,
+ 30112 - 11905: 0xF0DD,
+ 30113 - 11905: 0xD1F1,
+ 30114 - 11905: 0xAF4D,
+ 30115 - 11905: 0xF0E0,
+ 30116 - 11905: 0xB0CC,
+ 30117 - 11905: 0xBDEA,
+ 30118 - 11905: 0xAF4E,
+ 30119 - 11905: 0xAF4F,
+ 30120 - 11905: 0xAF50,
+ 30121 - 11905: 0xAF51,
+ 30122 - 11905: 0xAF52,
+ 30123 - 11905: 0xD2DF,
+ 30124 - 11905: 0xF0DF,
+ 30125 - 11905: 0xAF53,
+ 30126 - 11905: 0xB4AF,
+ 30127 - 11905: 0xB7E8,
+ 30128 - 11905: 0xF0E6,
+ 30129 - 11905: 0xF0E5,
+ 30130 - 11905: 0xC6A3,
+ 30131 - 11905: 0xF0E1,
+ 30132 - 11905: 0xF0E2,
+ 30133 - 11905: 0xB4C3,
+ 30134 - 11905: 0xAF54,
+ 30135 - 11905: 0xAF55,
+ 30136 - 11905: 0xF0E3,
+ 30137 - 11905: 0xD5EE,
+ 30138 - 11905: 0xAF56,
+ 30139 - 11905: 0xAF57,
+ 30140 - 11905: 0xCCDB,
+ 30141 - 11905: 0xBED2,
+ 30142 - 11905: 0xBCB2,
+ 30143 - 11905: 0xAF58,
+ 30144 - 11905: 0xAF59,
+ 30145 - 11905: 0xAF5A,
+ 30146 - 11905: 0xF0E8,
+ 30147 - 11905: 0xF0E7,
+ 30148 - 11905: 0xF0E4,
+ 30149 - 11905: 0xB2A1,
+ 30150 - 11905: 0xAF5B,
+ 30151 - 11905: 0xD6A2,
+ 30152 - 11905: 0xD3B8,
+ 30153 - 11905: 0xBEB7,
+ 30154 - 11905: 0xC8AC,
+ 30155 - 11905: 0xAF5C,
+ 30156 - 11905: 0xAF5D,
+ 30157 - 11905: 0xF0EA,
+ 30158 - 11905: 0xAF5E,
+ 30159 - 11905: 0xAF5F,
+ 30160 - 11905: 0xAF60,
+ 30161 - 11905: 0xAF61,
+ 30162 - 11905: 0xD1F7,
+ 30163 - 11905: 0xAF62,
+ 30164 - 11905: 0xD6CC,
+ 30165 - 11905: 0xBADB,
+ 30166 - 11905: 0xF0E9,
+ 30167 - 11905: 0xAF63,
+ 30168 - 11905: 0xB6BB,
+ 30169 - 11905: 0xAF64,
+ 30170 - 11905: 0xAF65,
+ 30171 - 11905: 0xCDB4,
+ 30172 - 11905: 0xAF66,
+ 30173 - 11905: 0xAF67,
+ 30174 - 11905: 0xC6A6,
+ 30175 - 11905: 0xAF68,
+ 30176 - 11905: 0xAF69,
+ 30177 - 11905: 0xAF6A,
+ 30178 - 11905: 0xC1A1,
+ 30179 - 11905: 0xF0EB,
+ 30180 - 11905: 0xF0EE,
+ 30181 - 11905: 0xAF6B,
+ 30182 - 11905: 0xF0ED,
+ 30183 - 11905: 0xF0F0,
+ 30184 - 11905: 0xF0EC,
+ 30185 - 11905: 0xAF6C,
+ 30186 - 11905: 0xBBBE,
+ 30187 - 11905: 0xF0EF,
+ 30188 - 11905: 0xAF6D,
+ 30189 - 11905: 0xAF6E,
+ 30190 - 11905: 0xAF6F,
+ 30191 - 11905: 0xAF70,
+ 30192 - 11905: 0xCCB5,
+ 30193 - 11905: 0xF0F2,
+ 30194 - 11905: 0xAF71,
+ 30195 - 11905: 0xAF72,
+ 30196 - 11905: 0xB3D5,
+ 30197 - 11905: 0xAF73,
+ 30198 - 11905: 0xAF74,
+ 30199 - 11905: 0xAF75,
+ 30200 - 11905: 0xAF76,
+ 30201 - 11905: 0xB1D4,
+ 30202 - 11905: 0xAF77,
+ 30203 - 11905: 0xAF78,
+ 30204 - 11905: 0xF0F3,
+ 30205 - 11905: 0xAF79,
+ 30206 - 11905: 0xAF7A,
+ 30207 - 11905: 0xF0F4,
+ 30208 - 11905: 0xF0F6,
+ 30209 - 11905: 0xB4E1,
+ 30210 - 11905: 0xAF7B,
+ 30211 - 11905: 0xF0F1,
+ 30212 - 11905: 0xAF7C,
+ 30213 - 11905: 0xF0F7,
+ 30214 - 11905: 0xAF7D,
+ 30215 - 11905: 0xAF7E,
+ 30216 - 11905: 0xAF80,
+ 30217 - 11905: 0xAF81,
+ 30218 - 11905: 0xF0FA,
+ 30219 - 11905: 0xAF82,
+ 30220 - 11905: 0xF0F8,
+ 30221 - 11905: 0xAF83,
+ 30222 - 11905: 0xAF84,
+ 30223 - 11905: 0xAF85,
+ 30224 - 11905: 0xF0F5,
+ 30225 - 11905: 0xAF86,
+ 30226 - 11905: 0xAF87,
+ 30227 - 11905: 0xAF88,
+ 30228 - 11905: 0xAF89,
+ 30229 - 11905: 0xF0FD,
+ 30230 - 11905: 0xAF8A,
+ 30231 - 11905: 0xF0F9,
+ 30232 - 11905: 0xF0FC,
+ 30233 - 11905: 0xF0FE,
+ 30234 - 11905: 0xAF8B,
+ 30235 - 11905: 0xF1A1,
+ 30236 - 11905: 0xAF8C,
+ 30237 - 11905: 0xAF8D,
+ 30238 - 11905: 0xAF8E,
+ 30239 - 11905: 0xCEC1,
+ 30240 - 11905: 0xF1A4,
+ 30241 - 11905: 0xAF8F,
+ 30242 - 11905: 0xF1A3,
+ 30243 - 11905: 0xAF90,
+ 30244 - 11905: 0xC1F6,
+ 30245 - 11905: 0xF0FB,
+ 30246 - 11905: 0xCADD,
+ 30247 - 11905: 0xAF91,
+ 30248 - 11905: 0xAF92,
+ 30249 - 11905: 0xB4F1,
+ 30250 - 11905: 0xB1F1,
+ 30251 - 11905: 0xCCB1,
+ 30252 - 11905: 0xAF93,
+ 30253 - 11905: 0xF1A6,
+ 30254 - 11905: 0xAF94,
+ 30255 - 11905: 0xAF95,
+ 30256 - 11905: 0xF1A7,
+ 30257 - 11905: 0xAF96,
+ 30258 - 11905: 0xAF97,
+ 30259 - 11905: 0xF1AC,
+ 30260 - 11905: 0xD5CE,
+ 30261 - 11905: 0xF1A9,
+ 30262 - 11905: 0xAF98,
+ 30263 - 11905: 0xAF99,
+ 30264 - 11905: 0xC8B3,
+ 30265 - 11905: 0xAF9A,
+ 30266 - 11905: 0xAF9B,
+ 30267 - 11905: 0xAF9C,
+ 30268 - 11905: 0xF1A2,
+ 30269 - 11905: 0xAF9D,
+ 30270 - 11905: 0xF1AB,
+ 30271 - 11905: 0xF1A8,
+ 30272 - 11905: 0xF1A5,
+ 30273 - 11905: 0xAF9E,
+ 30274 - 11905: 0xAF9F,
+ 30275 - 11905: 0xF1AA,
+ 30276 - 11905: 0xAFA0,
+ 30277 - 11905: 0xB040,
+ 30278 - 11905: 0xB041,
+ 30279 - 11905: 0xB042,
+ 30280 - 11905: 0xB043,
+ 30281 - 11905: 0xB044,
+ 30282 - 11905: 0xB045,
+ 30283 - 11905: 0xB046,
+ 30284 - 11905: 0xB0A9,
+ 30285 - 11905: 0xF1AD,
+ 30286 - 11905: 0xB047,
+ 30287 - 11905: 0xB048,
+ 30288 - 11905: 0xB049,
+ 30289 - 11905: 0xB04A,
+ 30290 - 11905: 0xB04B,
+ 30291 - 11905: 0xB04C,
+ 30292 - 11905: 0xF1AF,
+ 30293 - 11905: 0xB04D,
+ 30294 - 11905: 0xF1B1,
+ 30295 - 11905: 0xB04E,
+ 30296 - 11905: 0xB04F,
+ 30297 - 11905: 0xB050,
+ 30298 - 11905: 0xB051,
+ 30299 - 11905: 0xB052,
+ 30300 - 11905: 0xF1B0,
+ 30301 - 11905: 0xB053,
+ 30302 - 11905: 0xF1AE,
+ 30303 - 11905: 0xB054,
+ 30304 - 11905: 0xB055,
+ 30305 - 11905: 0xB056,
+ 30306 - 11905: 0xB057,
+ 30307 - 11905: 0xD1A2,
+ 30308 - 11905: 0xB058,
+ 30309 - 11905: 0xB059,
+ 30310 - 11905: 0xB05A,
+ 30311 - 11905: 0xB05B,
+ 30312 - 11905: 0xB05C,
+ 30313 - 11905: 0xB05D,
+ 30314 - 11905: 0xB05E,
+ 30315 - 11905: 0xF1B2,
+ 30316 - 11905: 0xB05F,
+ 30317 - 11905: 0xB060,
+ 30318 - 11905: 0xB061,
+ 30319 - 11905: 0xF1B3,
+ 30320 - 11905: 0xB062,
+ 30321 - 11905: 0xB063,
+ 30322 - 11905: 0xB064,
+ 30323 - 11905: 0xB065,
+ 30324 - 11905: 0xB066,
+ 30325 - 11905: 0xB067,
+ 30326 - 11905: 0xB068,
+ 30327 - 11905: 0xB069,
+ 30328 - 11905: 0xB9EF,
+ 30329 - 11905: 0xB06A,
+ 30330 - 11905: 0xB06B,
+ 30331 - 11905: 0xB5C7,
+ 30332 - 11905: 0xB06C,
+ 30333 - 11905: 0xB0D7,
+ 30334 - 11905: 0xB0D9,
+ 30335 - 11905: 0xB06D,
+ 30336 - 11905: 0xB06E,
+ 30337 - 11905: 0xB06F,
+ 30338 - 11905: 0xD4ED,
+ 30339 - 11905: 0xB070,
+ 30340 - 11905: 0xB5C4,
+ 30341 - 11905: 0xB071,
+ 30342 - 11905: 0xBDD4,
+ 30343 - 11905: 0xBBCA,
+ 30344 - 11905: 0xF0A7,
+ 30345 - 11905: 0xB072,
+ 30346 - 11905: 0xB073,
+ 30347 - 11905: 0xB8DE,
+ 30348 - 11905: 0xB074,
+ 30349 - 11905: 0xB075,
+ 30350 - 11905: 0xF0A8,
+ 30351 - 11905: 0xB076,
+ 30352 - 11905: 0xB077,
+ 30353 - 11905: 0xB0A8,
+ 30354 - 11905: 0xB078,
+ 30355 - 11905: 0xF0A9,
+ 30356 - 11905: 0xB079,
+ 30357 - 11905: 0xB07A,
+ 30358 - 11905: 0xCDEE,
+ 30359 - 11905: 0xB07B,
+ 30360 - 11905: 0xB07C,
+ 30361 - 11905: 0xF0AA,
+ 30362 - 11905: 0xB07D,
+ 30363 - 11905: 0xB07E,
+ 30364 - 11905: 0xB080,
+ 30365 - 11905: 0xB081,
+ 30366 - 11905: 0xB082,
+ 30367 - 11905: 0xB083,
+ 30368 - 11905: 0xB084,
+ 30369 - 11905: 0xB085,
+ 30370 - 11905: 0xB086,
+ 30371 - 11905: 0xB087,
+ 30372 - 11905: 0xF0AB,
+ 30373 - 11905: 0xB088,
+ 30374 - 11905: 0xB089,
+ 30375 - 11905: 0xB08A,
+ 30376 - 11905: 0xB08B,
+ 30377 - 11905: 0xB08C,
+ 30378 - 11905: 0xB08D,
+ 30379 - 11905: 0xB08E,
+ 30380 - 11905: 0xB08F,
+ 30381 - 11905: 0xB090,
+ 30382 - 11905: 0xC6A4,
+ 30383 - 11905: 0xB091,
+ 30384 - 11905: 0xB092,
+ 30385 - 11905: 0xD6E5,
+ 30386 - 11905: 0xF1E4,
+ 30387 - 11905: 0xB093,
+ 30388 - 11905: 0xF1E5,
+ 30389 - 11905: 0xB094,
+ 30390 - 11905: 0xB095,
+ 30391 - 11905: 0xB096,
+ 30392 - 11905: 0xB097,
+ 30393 - 11905: 0xB098,
+ 30394 - 11905: 0xB099,
+ 30395 - 11905: 0xB09A,
+ 30396 - 11905: 0xB09B,
+ 30397 - 11905: 0xB09C,
+ 30398 - 11905: 0xB09D,
+ 30399 - 11905: 0xC3F3,
+ 30400 - 11905: 0xB09E,
+ 30401 - 11905: 0xB09F,
+ 30402 - 11905: 0xD3DB,
+ 30403 - 11905: 0xB0A0,
+ 30404 - 11905: 0xB140,
+ 30405 - 11905: 0xD6D1,
+ 30406 - 11905: 0xC5E8,
+ 30407 - 11905: 0xB141,
+ 30408 - 11905: 0xD3AF,
+ 30409 - 11905: 0xB142,
+ 30410 - 11905: 0xD2E6,
+ 30411 - 11905: 0xB143,
+ 30412 - 11905: 0xB144,
+ 30413 - 11905: 0xEEC1,
+ 30414 - 11905: 0xB0BB,
+ 30415 - 11905: 0xD5B5,
+ 30416 - 11905: 0xD1CE,
+ 30417 - 11905: 0xBCE0,
+ 30418 - 11905: 0xBAD0,
+ 30419 - 11905: 0xB145,
+ 30420 - 11905: 0xBFF8,
+ 30421 - 11905: 0xB146,
+ 30422 - 11905: 0xB8C7,
+ 30423 - 11905: 0xB5C1,
+ 30424 - 11905: 0xC5CC,
+ 30425 - 11905: 0xB147,
+ 30426 - 11905: 0xB148,
+ 30427 - 11905: 0xCAA2,
+ 30428 - 11905: 0xB149,
+ 30429 - 11905: 0xB14A,
+ 30430 - 11905: 0xB14B,
+ 30431 - 11905: 0xC3CB,
+ 30432 - 11905: 0xB14C,
+ 30433 - 11905: 0xB14D,
+ 30434 - 11905: 0xB14E,
+ 30435 - 11905: 0xB14F,
+ 30436 - 11905: 0xB150,
+ 30437 - 11905: 0xEEC2,
+ 30438 - 11905: 0xB151,
+ 30439 - 11905: 0xB152,
+ 30440 - 11905: 0xB153,
+ 30441 - 11905: 0xB154,
+ 30442 - 11905: 0xB155,
+ 30443 - 11905: 0xB156,
+ 30444 - 11905: 0xB157,
+ 30445 - 11905: 0xB158,
+ 30446 - 11905: 0xC4BF,
+ 30447 - 11905: 0xB6A2,
+ 30448 - 11905: 0xB159,
+ 30449 - 11905: 0xEDEC,
+ 30450 - 11905: 0xC3A4,
+ 30451 - 11905: 0xB15A,
+ 30452 - 11905: 0xD6B1,
+ 30453 - 11905: 0xB15B,
+ 30454 - 11905: 0xB15C,
+ 30455 - 11905: 0xB15D,
+ 30456 - 11905: 0xCFE0,
+ 30457 - 11905: 0xEDEF,
+ 30458 - 11905: 0xB15E,
+ 30459 - 11905: 0xB15F,
+ 30460 - 11905: 0xC5CE,
+ 30461 - 11905: 0xB160,
+ 30462 - 11905: 0xB6DC,
+ 30463 - 11905: 0xB161,
+ 30464 - 11905: 0xB162,
+ 30465 - 11905: 0xCAA1,
+ 30466 - 11905: 0xB163,
+ 30467 - 11905: 0xB164,
+ 30468 - 11905: 0xEDED,
+ 30469 - 11905: 0xB165,
+ 30470 - 11905: 0xB166,
+ 30471 - 11905: 0xEDF0,
+ 30472 - 11905: 0xEDF1,
+ 30473 - 11905: 0xC3BC,
+ 30474 - 11905: 0xB167,
+ 30475 - 11905: 0xBFB4,
+ 30476 - 11905: 0xB168,
+ 30477 - 11905: 0xEDEE,
+ 30478 - 11905: 0xB169,
+ 30479 - 11905: 0xB16A,
+ 30480 - 11905: 0xB16B,
+ 30481 - 11905: 0xB16C,
+ 30482 - 11905: 0xB16D,
+ 30483 - 11905: 0xB16E,
+ 30484 - 11905: 0xB16F,
+ 30485 - 11905: 0xB170,
+ 30486 - 11905: 0xB171,
+ 30487 - 11905: 0xB172,
+ 30488 - 11905: 0xB173,
+ 30489 - 11905: 0xEDF4,
+ 30490 - 11905: 0xEDF2,
+ 30491 - 11905: 0xB174,
+ 30492 - 11905: 0xB175,
+ 30493 - 11905: 0xB176,
+ 30494 - 11905: 0xB177,
+ 30495 - 11905: 0xD5E6,
+ 30496 - 11905: 0xC3DF,
+ 30497 - 11905: 0xB178,
+ 30498 - 11905: 0xEDF3,
+ 30499 - 11905: 0xB179,
+ 30500 - 11905: 0xB17A,
+ 30501 - 11905: 0xB17B,
+ 30502 - 11905: 0xEDF6,
+ 30503 - 11905: 0xB17C,
+ 30504 - 11905: 0xD5A3,
+ 30505 - 11905: 0xD1A3,
+ 30506 - 11905: 0xB17D,
+ 30507 - 11905: 0xB17E,
+ 30508 - 11905: 0xB180,
+ 30509 - 11905: 0xEDF5,
+ 30510 - 11905: 0xB181,
+ 30511 - 11905: 0xC3D0,
+ 30512 - 11905: 0xB182,
+ 30513 - 11905: 0xB183,
+ 30514 - 11905: 0xB184,
+ 30515 - 11905: 0xB185,
+ 30516 - 11905: 0xB186,
+ 30517 - 11905: 0xEDF7,
+ 30518 - 11905: 0xBFF4,
+ 30519 - 11905: 0xBEEC,
+ 30520 - 11905: 0xEDF8,
+ 30521 - 11905: 0xB187,
+ 30522 - 11905: 0xCCF7,
+ 30523 - 11905: 0xB188,
+ 30524 - 11905: 0xD1DB,
+ 30525 - 11905: 0xB189,
+ 30526 - 11905: 0xB18A,
+ 30527 - 11905: 0xB18B,
+ 30528 - 11905: 0xD7C5,
+ 30529 - 11905: 0xD5F6,
+ 30530 - 11905: 0xB18C,
+ 30531 - 11905: 0xEDFC,
+ 30532 - 11905: 0xB18D,
+ 30533 - 11905: 0xB18E,
+ 30534 - 11905: 0xB18F,
+ 30535 - 11905: 0xEDFB,
+ 30536 - 11905: 0xB190,
+ 30537 - 11905: 0xB191,
+ 30538 - 11905: 0xB192,
+ 30539 - 11905: 0xB193,
+ 30540 - 11905: 0xB194,
+ 30541 - 11905: 0xB195,
+ 30542 - 11905: 0xB196,
+ 30543 - 11905: 0xB197,
+ 30544 - 11905: 0xEDF9,
+ 30545 - 11905: 0xEDFA,
+ 30546 - 11905: 0xB198,
+ 30547 - 11905: 0xB199,
+ 30548 - 11905: 0xB19A,
+ 30549 - 11905: 0xB19B,
+ 30550 - 11905: 0xB19C,
+ 30551 - 11905: 0xB19D,
+ 30552 - 11905: 0xB19E,
+ 30553 - 11905: 0xB19F,
+ 30554 - 11905: 0xEDFD,
+ 30555 - 11905: 0xBEA6,
+ 30556 - 11905: 0xB1A0,
+ 30557 - 11905: 0xB240,
+ 30558 - 11905: 0xB241,
+ 30559 - 11905: 0xB242,
+ 30560 - 11905: 0xB243,
+ 30561 - 11905: 0xCBAF,
+ 30562 - 11905: 0xEEA1,
+ 30563 - 11905: 0xB6BD,
+ 30564 - 11905: 0xB244,
+ 30565 - 11905: 0xEEA2,
+ 30566 - 11905: 0xC4C0,
+ 30567 - 11905: 0xB245,
+ 30568 - 11905: 0xEDFE,
+ 30569 - 11905: 0xB246,
+ 30570 - 11905: 0xB247,
+ 30571 - 11905: 0xBDDE,
+ 30572 - 11905: 0xB2C7,
+ 30573 - 11905: 0xB248,
+ 30574 - 11905: 0xB249,
+ 30575 - 11905: 0xB24A,
+ 30576 - 11905: 0xB24B,
+ 30577 - 11905: 0xB24C,
+ 30578 - 11905: 0xB24D,
+ 30579 - 11905: 0xB24E,
+ 30580 - 11905: 0xB24F,
+ 30581 - 11905: 0xB250,
+ 30582 - 11905: 0xB251,
+ 30583 - 11905: 0xB252,
+ 30584 - 11905: 0xB253,
+ 30585 - 11905: 0xB6C3,
+ 30586 - 11905: 0xB254,
+ 30587 - 11905: 0xB255,
+ 30588 - 11905: 0xB256,
+ 30589 - 11905: 0xEEA5,
+ 30590 - 11905: 0xD8BA,
+ 30591 - 11905: 0xEEA3,
+ 30592 - 11905: 0xEEA6,
+ 30593 - 11905: 0xB257,
+ 30594 - 11905: 0xB258,
+ 30595 - 11905: 0xB259,
+ 30596 - 11905: 0xC3E9,
+ 30597 - 11905: 0xB3F2,
+ 30598 - 11905: 0xB25A,
+ 30599 - 11905: 0xB25B,
+ 30600 - 11905: 0xB25C,
+ 30601 - 11905: 0xB25D,
+ 30602 - 11905: 0xB25E,
+ 30603 - 11905: 0xB25F,
+ 30604 - 11905: 0xEEA7,
+ 30605 - 11905: 0xEEA4,
+ 30606 - 11905: 0xCFB9,
+ 30607 - 11905: 0xB260,
+ 30608 - 11905: 0xB261,
+ 30609 - 11905: 0xEEA8,
+ 30610 - 11905: 0xC2F7,
+ 30611 - 11905: 0xB262,
+ 30612 - 11905: 0xB263,
+ 30613 - 11905: 0xB264,
+ 30614 - 11905: 0xB265,
+ 30615 - 11905: 0xB266,
+ 30616 - 11905: 0xB267,
+ 30617 - 11905: 0xB268,
+ 30618 - 11905: 0xB269,
+ 30619 - 11905: 0xB26A,
+ 30620 - 11905: 0xB26B,
+ 30621 - 11905: 0xB26C,
+ 30622 - 11905: 0xB26D,
+ 30623 - 11905: 0xEEA9,
+ 30624 - 11905: 0xEEAA,
+ 30625 - 11905: 0xB26E,
+ 30626 - 11905: 0xDEAB,
+ 30627 - 11905: 0xB26F,
+ 30628 - 11905: 0xB270,
+ 30629 - 11905: 0xC6B3,
+ 30630 - 11905: 0xB271,
+ 30631 - 11905: 0xC7C6,
+ 30632 - 11905: 0xB272,
+ 30633 - 11905: 0xD6F5,
+ 30634 - 11905: 0xB5C9,
+ 30635 - 11905: 0xB273,
+ 30636 - 11905: 0xCBB2,
+ 30637 - 11905: 0xB274,
+ 30638 - 11905: 0xB275,
+ 30639 - 11905: 0xB276,
+ 30640 - 11905: 0xEEAB,
+ 30641 - 11905: 0xB277,
+ 30642 - 11905: 0xB278,
+ 30643 - 11905: 0xCDAB,
+ 30644 - 11905: 0xB279,
+ 30645 - 11905: 0xEEAC,
+ 30646 - 11905: 0xB27A,
+ 30647 - 11905: 0xB27B,
+ 30648 - 11905: 0xB27C,
+ 30649 - 11905: 0xB27D,
+ 30650 - 11905: 0xB27E,
+ 30651 - 11905: 0xD5B0,
+ 30652 - 11905: 0xB280,
+ 30653 - 11905: 0xEEAD,
+ 30654 - 11905: 0xB281,
+ 30655 - 11905: 0xF6C4,
+ 30656 - 11905: 0xB282,
+ 30657 - 11905: 0xB283,
+ 30658 - 11905: 0xB284,
+ 30659 - 11905: 0xB285,
+ 30660 - 11905: 0xB286,
+ 30661 - 11905: 0xB287,
+ 30662 - 11905: 0xB288,
+ 30663 - 11905: 0xB289,
+ 30664 - 11905: 0xB28A,
+ 30665 - 11905: 0xB28B,
+ 30666 - 11905: 0xB28C,
+ 30667 - 11905: 0xB28D,
+ 30668 - 11905: 0xB28E,
+ 30669 - 11905: 0xDBC7,
+ 30670 - 11905: 0xB28F,
+ 30671 - 11905: 0xB290,
+ 30672 - 11905: 0xB291,
+ 30673 - 11905: 0xB292,
+ 30674 - 11905: 0xB293,
+ 30675 - 11905: 0xB294,
+ 30676 - 11905: 0xB295,
+ 30677 - 11905: 0xB296,
+ 30678 - 11905: 0xB297,
+ 30679 - 11905: 0xB4A3,
+ 30680 - 11905: 0xB298,
+ 30681 - 11905: 0xB299,
+ 30682 - 11905: 0xB29A,
+ 30683 - 11905: 0xC3AC,
+ 30684 - 11905: 0xF1E6,
+ 30685 - 11905: 0xB29B,
+ 30686 - 11905: 0xB29C,
+ 30687 - 11905: 0xB29D,
+ 30688 - 11905: 0xB29E,
+ 30689 - 11905: 0xB29F,
+ 30690 - 11905: 0xCAB8,
+ 30691 - 11905: 0xD2D3,
+ 30692 - 11905: 0xB2A0,
+ 30693 - 11905: 0xD6AA,
+ 30694 - 11905: 0xB340,
+ 30695 - 11905: 0xEFF2,
+ 30696 - 11905: 0xB341,
+ 30697 - 11905: 0xBED8,
+ 30698 - 11905: 0xB342,
+ 30699 - 11905: 0xBDC3,
+ 30700 - 11905: 0xEFF3,
+ 30701 - 11905: 0xB6CC,
+ 30702 - 11905: 0xB0AB,
+ 30703 - 11905: 0xB343,
+ 30704 - 11905: 0xB344,
+ 30705 - 11905: 0xB345,
+ 30706 - 11905: 0xB346,
+ 30707 - 11905: 0xCAAF,
+ 30708 - 11905: 0xB347,
+ 30709 - 11905: 0xB348,
+ 30710 - 11905: 0xEDB6,
+ 30711 - 11905: 0xB349,
+ 30712 - 11905: 0xEDB7,
+ 30713 - 11905: 0xB34A,
+ 30714 - 11905: 0xB34B,
+ 30715 - 11905: 0xB34C,
+ 30716 - 11905: 0xB34D,
+ 30717 - 11905: 0xCEF9,
+ 30718 - 11905: 0xB7AF,
+ 30719 - 11905: 0xBFF3,
+ 30720 - 11905: 0xEDB8,
+ 30721 - 11905: 0xC2EB,
+ 30722 - 11905: 0xC9B0,
+ 30723 - 11905: 0xB34E,
+ 30724 - 11905: 0xB34F,
+ 30725 - 11905: 0xB350,
+ 30726 - 11905: 0xB351,
+ 30727 - 11905: 0xB352,
+ 30728 - 11905: 0xB353,
+ 30729 - 11905: 0xEDB9,
+ 30730 - 11905: 0xB354,
+ 30731 - 11905: 0xB355,
+ 30732 - 11905: 0xC6F6,
+ 30733 - 11905: 0xBFB3,
+ 30734 - 11905: 0xB356,
+ 30735 - 11905: 0xB357,
+ 30736 - 11905: 0xB358,
+ 30737 - 11905: 0xEDBC,
+ 30738 - 11905: 0xC5F8,
+ 30739 - 11905: 0xB359,
+ 30740 - 11905: 0xD1D0,
+ 30741 - 11905: 0xB35A,
+ 30742 - 11905: 0xD7A9,
+ 30743 - 11905: 0xEDBA,
+ 30744 - 11905: 0xEDBB,
+ 30745 - 11905: 0xB35B,
+ 30746 - 11905: 0xD1E2,
+ 30747 - 11905: 0xB35C,
+ 30748 - 11905: 0xEDBF,
+ 30749 - 11905: 0xEDC0,
+ 30750 - 11905: 0xB35D,
+ 30751 - 11905: 0xEDC4,
+ 30752 - 11905: 0xB35E,
+ 30753 - 11905: 0xB35F,
+ 30754 - 11905: 0xB360,
+ 30755 - 11905: 0xEDC8,
+ 30756 - 11905: 0xB361,
+ 30757 - 11905: 0xEDC6,
+ 30758 - 11905: 0xEDCE,
+ 30759 - 11905: 0xD5E8,
+ 30760 - 11905: 0xB362,
+ 30761 - 11905: 0xEDC9,
+ 30762 - 11905: 0xB363,
+ 30763 - 11905: 0xB364,
+ 30764 - 11905: 0xEDC7,
+ 30765 - 11905: 0xEDBE,
+ 30766 - 11905: 0xB365,
+ 30767 - 11905: 0xB366,
+ 30768 - 11905: 0xC5E9,
+ 30769 - 11905: 0xB367,
+ 30770 - 11905: 0xB368,
+ 30771 - 11905: 0xB369,
+ 30772 - 11905: 0xC6C6,
+ 30773 - 11905: 0xB36A,
+ 30774 - 11905: 0xB36B,
+ 30775 - 11905: 0xC9E9,
+ 30776 - 11905: 0xD4D2,
+ 30777 - 11905: 0xEDC1,
+ 30778 - 11905: 0xEDC2,
+ 30779 - 11905: 0xEDC3,
+ 30780 - 11905: 0xEDC5,
+ 30781 - 11905: 0xB36C,
+ 30782 - 11905: 0xC0F9,
+ 30783 - 11905: 0xB36D,
+ 30784 - 11905: 0xB4A1,
+ 30785 - 11905: 0xB36E,
+ 30786 - 11905: 0xB36F,
+ 30787 - 11905: 0xB370,
+ 30788 - 11905: 0xB371,
+ 30789 - 11905: 0xB9E8,
+ 30790 - 11905: 0xB372,
+ 30791 - 11905: 0xEDD0,
+ 30792 - 11905: 0xB373,
+ 30793 - 11905: 0xB374,
+ 30794 - 11905: 0xB375,
+ 30795 - 11905: 0xB376,
+ 30796 - 11905: 0xEDD1,
+ 30797 - 11905: 0xB377,
+ 30798 - 11905: 0xEDCA,
+ 30799 - 11905: 0xB378,
+ 30800 - 11905: 0xEDCF,
+ 30801 - 11905: 0xB379,
+ 30802 - 11905: 0xCEF8,
+ 30803 - 11905: 0xB37A,
+ 30804 - 11905: 0xB37B,
+ 30805 - 11905: 0xCBB6,
+ 30806 - 11905: 0xEDCC,
+ 30807 - 11905: 0xEDCD,
+ 30808 - 11905: 0xB37C,
+ 30809 - 11905: 0xB37D,
+ 30810 - 11905: 0xB37E,
+ 30811 - 11905: 0xB380,
+ 30812 - 11905: 0xB381,
+ 30813 - 11905: 0xCFF5,
+ 30814 - 11905: 0xB382,
+ 30815 - 11905: 0xB383,
+ 30816 - 11905: 0xB384,
+ 30817 - 11905: 0xB385,
+ 30818 - 11905: 0xB386,
+ 30819 - 11905: 0xB387,
+ 30820 - 11905: 0xB388,
+ 30821 - 11905: 0xB389,
+ 30822 - 11905: 0xB38A,
+ 30823 - 11905: 0xB38B,
+ 30824 - 11905: 0xB38C,
+ 30825 - 11905: 0xB38D,
+ 30826 - 11905: 0xEDD2,
+ 30827 - 11905: 0xC1F2,
+ 30828 - 11905: 0xD3B2,
+ 30829 - 11905: 0xEDCB,
+ 30830 - 11905: 0xC8B7,
+ 30831 - 11905: 0xB38E,
+ 30832 - 11905: 0xB38F,
+ 30833 - 11905: 0xB390,
+ 30834 - 11905: 0xB391,
+ 30835 - 11905: 0xB392,
+ 30836 - 11905: 0xB393,
+ 30837 - 11905: 0xB394,
+ 30838 - 11905: 0xB395,
+ 30839 - 11905: 0xBCEF,
+ 30840 - 11905: 0xB396,
+ 30841 - 11905: 0xB397,
+ 30842 - 11905: 0xB398,
+ 30843 - 11905: 0xB399,
+ 30844 - 11905: 0xC5F0,
+ 30845 - 11905: 0xB39A,
+ 30846 - 11905: 0xB39B,
+ 30847 - 11905: 0xB39C,
+ 30848 - 11905: 0xB39D,
+ 30849 - 11905: 0xB39E,
+ 30850 - 11905: 0xB39F,
+ 30851 - 11905: 0xB3A0,
+ 30852 - 11905: 0xB440,
+ 30853 - 11905: 0xB441,
+ 30854 - 11905: 0xB442,
+ 30855 - 11905: 0xEDD6,
+ 30856 - 11905: 0xB443,
+ 30857 - 11905: 0xB5EF,
+ 30858 - 11905: 0xB444,
+ 30859 - 11905: 0xB445,
+ 30860 - 11905: 0xC2B5,
+ 30861 - 11905: 0xB0AD,
+ 30862 - 11905: 0xCBE9,
+ 30863 - 11905: 0xB446,
+ 30864 - 11905: 0xB447,
+ 30865 - 11905: 0xB1AE,
+ 30866 - 11905: 0xB448,
+ 30867 - 11905: 0xEDD4,
+ 30868 - 11905: 0xB449,
+ 30869 - 11905: 0xB44A,
+ 30870 - 11905: 0xB44B,
+ 30871 - 11905: 0xCDEB,
+ 30872 - 11905: 0xB5E2,
+ 30873 - 11905: 0xB44C,
+ 30874 - 11905: 0xEDD5,
+ 30875 - 11905: 0xEDD3,
+ 30876 - 11905: 0xEDD7,
+ 30877 - 11905: 0xB44D,
+ 30878 - 11905: 0xB44E,
+ 30879 - 11905: 0xB5FA,
+ 30880 - 11905: 0xB44F,
+ 30881 - 11905: 0xEDD8,
+ 30882 - 11905: 0xB450,
+ 30883 - 11905: 0xEDD9,
+ 30884 - 11905: 0xB451,
+ 30885 - 11905: 0xEDDC,
+ 30886 - 11905: 0xB452,
+ 30887 - 11905: 0xB1CC,
+ 30888 - 11905: 0xB453,
+ 30889 - 11905: 0xB454,
+ 30890 - 11905: 0xB455,
+ 30891 - 11905: 0xB456,
+ 30892 - 11905: 0xB457,
+ 30893 - 11905: 0xB458,
+ 30894 - 11905: 0xB459,
+ 30895 - 11905: 0xB45A,
+ 30896 - 11905: 0xC5F6,
+ 30897 - 11905: 0xBCEE,
+ 30898 - 11905: 0xEDDA,
+ 30899 - 11905: 0xCCBC,
+ 30900 - 11905: 0xB2EA,
+ 30901 - 11905: 0xB45B,
+ 30902 - 11905: 0xB45C,
+ 30903 - 11905: 0xB45D,
+ 30904 - 11905: 0xB45E,
+ 30905 - 11905: 0xEDDB,
+ 30906 - 11905: 0xB45F,
+ 30907 - 11905: 0xB460,
+ 30908 - 11905: 0xB461,
+ 30909 - 11905: 0xB462,
+ 30910 - 11905: 0xC4EB,
+ 30911 - 11905: 0xB463,
+ 30912 - 11905: 0xB464,
+ 30913 - 11905: 0xB4C5,
+ 30914 - 11905: 0xB465,
+ 30915 - 11905: 0xB466,
+ 30916 - 11905: 0xB467,
+ 30917 - 11905: 0xB0F5,
+ 30918 - 11905: 0xB468,
+ 30919 - 11905: 0xB469,
+ 30920 - 11905: 0xB46A,
+ 30921 - 11905: 0xEDDF,
+ 30922 - 11905: 0xC0DA,
+ 30923 - 11905: 0xB4E8,
+ 30924 - 11905: 0xB46B,
+ 30925 - 11905: 0xB46C,
+ 30926 - 11905: 0xB46D,
+ 30927 - 11905: 0xB46E,
+ 30928 - 11905: 0xC5CD,
+ 30929 - 11905: 0xB46F,
+ 30930 - 11905: 0xB470,
+ 30931 - 11905: 0xB471,
+ 30932 - 11905: 0xEDDD,
+ 30933 - 11905: 0xBFC4,
+ 30934 - 11905: 0xB472,
+ 30935 - 11905: 0xB473,
+ 30936 - 11905: 0xB474,
+ 30937 - 11905: 0xEDDE,
+ 30938 - 11905: 0xB475,
+ 30939 - 11905: 0xB476,
+ 30940 - 11905: 0xB477,
+ 30941 - 11905: 0xB478,
+ 30942 - 11905: 0xB479,
+ 30943 - 11905: 0xB47A,
+ 30944 - 11905: 0xB47B,
+ 30945 - 11905: 0xB47C,
+ 30946 - 11905: 0xB47D,
+ 30947 - 11905: 0xB47E,
+ 30948 - 11905: 0xB480,
+ 30949 - 11905: 0xB481,
+ 30950 - 11905: 0xB482,
+ 30951 - 11905: 0xB483,
+ 30952 - 11905: 0xC4A5,
+ 30953 - 11905: 0xB484,
+ 30954 - 11905: 0xB485,
+ 30955 - 11905: 0xB486,
+ 30956 - 11905: 0xEDE0,
+ 30957 - 11905: 0xB487,
+ 30958 - 11905: 0xB488,
+ 30959 - 11905: 0xB489,
+ 30960 - 11905: 0xB48A,
+ 30961 - 11905: 0xB48B,
+ 30962 - 11905: 0xEDE1,
+ 30963 - 11905: 0xB48C,
+ 30964 - 11905: 0xEDE3,
+ 30965 - 11905: 0xB48D,
+ 30966 - 11905: 0xB48E,
+ 30967 - 11905: 0xC1D7,
+ 30968 - 11905: 0xB48F,
+ 30969 - 11905: 0xB490,
+ 30970 - 11905: 0xBBC7,
+ 30971 - 11905: 0xB491,
+ 30972 - 11905: 0xB492,
+ 30973 - 11905: 0xB493,
+ 30974 - 11905: 0xB494,
+ 30975 - 11905: 0xB495,
+ 30976 - 11905: 0xB496,
+ 30977 - 11905: 0xBDB8,
+ 30978 - 11905: 0xB497,
+ 30979 - 11905: 0xB498,
+ 30980 - 11905: 0xB499,
+ 30981 - 11905: 0xEDE2,
+ 30982 - 11905: 0xB49A,
+ 30983 - 11905: 0xB49B,
+ 30984 - 11905: 0xB49C,
+ 30985 - 11905: 0xB49D,
+ 30986 - 11905: 0xB49E,
+ 30987 - 11905: 0xB49F,
+ 30988 - 11905: 0xB4A0,
+ 30989 - 11905: 0xB540,
+ 30990 - 11905: 0xB541,
+ 30991 - 11905: 0xB542,
+ 30992 - 11905: 0xB543,
+ 30993 - 11905: 0xB544,
+ 30994 - 11905: 0xB545,
+ 30995 - 11905: 0xEDE4,
+ 30996 - 11905: 0xB546,
+ 30997 - 11905: 0xB547,
+ 30998 - 11905: 0xB548,
+ 30999 - 11905: 0xB549,
+ 31000 - 11905: 0xB54A,
+ 31001 - 11905: 0xB54B,
+ 31002 - 11905: 0xB54C,
+ 31003 - 11905: 0xB54D,
+ 31004 - 11905: 0xB54E,
+ 31005 - 11905: 0xB54F,
+ 31006 - 11905: 0xEDE6,
+ 31007 - 11905: 0xB550,
+ 31008 - 11905: 0xB551,
+ 31009 - 11905: 0xB552,
+ 31010 - 11905: 0xB553,
+ 31011 - 11905: 0xB554,
+ 31012 - 11905: 0xEDE5,
+ 31013 - 11905: 0xB555,
+ 31014 - 11905: 0xB556,
+ 31015 - 11905: 0xB557,
+ 31016 - 11905: 0xB558,
+ 31017 - 11905: 0xB559,
+ 31018 - 11905: 0xB55A,
+ 31019 - 11905: 0xB55B,
+ 31020 - 11905: 0xB55C,
+ 31021 - 11905: 0xB55D,
+ 31022 - 11905: 0xB55E,
+ 31023 - 11905: 0xB55F,
+ 31024 - 11905: 0xB560,
+ 31025 - 11905: 0xB561,
+ 31026 - 11905: 0xB562,
+ 31027 - 11905: 0xB563,
+ 31028 - 11905: 0xEDE7,
+ 31029 - 11905: 0xB564,
+ 31030 - 11905: 0xB565,
+ 31031 - 11905: 0xB566,
+ 31032 - 11905: 0xB567,
+ 31033 - 11905: 0xB568,
+ 31034 - 11905: 0xCABE,
+ 31035 - 11905: 0xECEA,
+ 31036 - 11905: 0xC0F1,
+ 31037 - 11905: 0xB569,
+ 31038 - 11905: 0xC9E7,
+ 31039 - 11905: 0xB56A,
+ 31040 - 11905: 0xECEB,
+ 31041 - 11905: 0xC6EE,
+ 31042 - 11905: 0xB56B,
+ 31043 - 11905: 0xB56C,
+ 31044 - 11905: 0xB56D,
+ 31045 - 11905: 0xB56E,
+ 31046 - 11905: 0xECEC,
+ 31047 - 11905: 0xB56F,
+ 31048 - 11905: 0xC6ED,
+ 31049 - 11905: 0xECED,
+ 31050 - 11905: 0xB570,
+ 31051 - 11905: 0xB571,
+ 31052 - 11905: 0xB572,
+ 31053 - 11905: 0xB573,
+ 31054 - 11905: 0xB574,
+ 31055 - 11905: 0xB575,
+ 31056 - 11905: 0xB576,
+ 31057 - 11905: 0xB577,
+ 31058 - 11905: 0xB578,
+ 31059 - 11905: 0xECF0,
+ 31060 - 11905: 0xB579,
+ 31061 - 11905: 0xB57A,
+ 31062 - 11905: 0xD7E6,
+ 31063 - 11905: 0xECF3,
+ 31064 - 11905: 0xB57B,
+ 31065 - 11905: 0xB57C,
+ 31066 - 11905: 0xECF1,
+ 31067 - 11905: 0xECEE,
+ 31068 - 11905: 0xECEF,
+ 31069 - 11905: 0xD7A3,
+ 31070 - 11905: 0xC9F1,
+ 31071 - 11905: 0xCBEE,
+ 31072 - 11905: 0xECF4,
+ 31073 - 11905: 0xB57D,
+ 31074 - 11905: 0xECF2,
+ 31075 - 11905: 0xB57E,
+ 31076 - 11905: 0xB580,
+ 31077 - 11905: 0xCFE9,
+ 31078 - 11905: 0xB581,
+ 31079 - 11905: 0xECF6,
+ 31080 - 11905: 0xC6B1,
+ 31081 - 11905: 0xB582,
+ 31082 - 11905: 0xB583,
+ 31083 - 11905: 0xB584,
+ 31084 - 11905: 0xB585,
+ 31085 - 11905: 0xBCC0,
+ 31086 - 11905: 0xB586,
+ 31087 - 11905: 0xECF5,
+ 31088 - 11905: 0xB587,
+ 31089 - 11905: 0xB588,
+ 31090 - 11905: 0xB589,
+ 31091 - 11905: 0xB58A,
+ 31092 - 11905: 0xB58B,
+ 31093 - 11905: 0xB58C,
+ 31094 - 11905: 0xB58D,
+ 31095 - 11905: 0xB5BB,
+ 31096 - 11905: 0xBBF6,
+ 31097 - 11905: 0xB58E,
+ 31098 - 11905: 0xECF7,
+ 31099 - 11905: 0xB58F,
+ 31100 - 11905: 0xB590,
+ 31101 - 11905: 0xB591,
+ 31102 - 11905: 0xB592,
+ 31103 - 11905: 0xB593,
+ 31104 - 11905: 0xD9F7,
+ 31105 - 11905: 0xBDFB,
+ 31106 - 11905: 0xB594,
+ 31107 - 11905: 0xB595,
+ 31108 - 11905: 0xC2BB,
+ 31109 - 11905: 0xECF8,
+ 31110 - 11905: 0xB596,
+ 31111 - 11905: 0xB597,
+ 31112 - 11905: 0xB598,
+ 31113 - 11905: 0xB599,
+ 31114 - 11905: 0xECF9,
+ 31115 - 11905: 0xB59A,
+ 31116 - 11905: 0xB59B,
+ 31117 - 11905: 0xB59C,
+ 31118 - 11905: 0xB59D,
+ 31119 - 11905: 0xB8A3,
+ 31120 - 11905: 0xB59E,
+ 31121 - 11905: 0xB59F,
+ 31122 - 11905: 0xB5A0,
+ 31123 - 11905: 0xB640,
+ 31124 - 11905: 0xB641,
+ 31125 - 11905: 0xB642,
+ 31126 - 11905: 0xB643,
+ 31127 - 11905: 0xB644,
+ 31128 - 11905: 0xB645,
+ 31129 - 11905: 0xB646,
+ 31130 - 11905: 0xECFA,
+ 31131 - 11905: 0xB647,
+ 31132 - 11905: 0xB648,
+ 31133 - 11905: 0xB649,
+ 31134 - 11905: 0xB64A,
+ 31135 - 11905: 0xB64B,
+ 31136 - 11905: 0xB64C,
+ 31137 - 11905: 0xB64D,
+ 31138 - 11905: 0xB64E,
+ 31139 - 11905: 0xB64F,
+ 31140 - 11905: 0xB650,
+ 31141 - 11905: 0xB651,
+ 31142 - 11905: 0xB652,
+ 31143 - 11905: 0xECFB,
+ 31144 - 11905: 0xB653,
+ 31145 - 11905: 0xB654,
+ 31146 - 11905: 0xB655,
+ 31147 - 11905: 0xB656,
+ 31148 - 11905: 0xB657,
+ 31149 - 11905: 0xB658,
+ 31150 - 11905: 0xB659,
+ 31151 - 11905: 0xB65A,
+ 31152 - 11905: 0xB65B,
+ 31153 - 11905: 0xB65C,
+ 31154 - 11905: 0xB65D,
+ 31155 - 11905: 0xECFC,
+ 31156 - 11905: 0xB65E,
+ 31157 - 11905: 0xB65F,
+ 31158 - 11905: 0xB660,
+ 31159 - 11905: 0xB661,
+ 31160 - 11905: 0xB662,
+ 31161 - 11905: 0xD3ED,
+ 31162 - 11905: 0xD8AE,
+ 31163 - 11905: 0xC0EB,
+ 31164 - 11905: 0xB663,
+ 31165 - 11905: 0xC7DD,
+ 31166 - 11905: 0xBACC,
+ 31167 - 11905: 0xB664,
+ 31168 - 11905: 0xD0E3,
+ 31169 - 11905: 0xCBBD,
+ 31170 - 11905: 0xB665,
+ 31171 - 11905: 0xCDBA,
+ 31172 - 11905: 0xB666,
+ 31173 - 11905: 0xB667,
+ 31174 - 11905: 0xB8D1,
+ 31175 - 11905: 0xB668,
+ 31176 - 11905: 0xB669,
+ 31177 - 11905: 0xB1FC,
+ 31178 - 11905: 0xB66A,
+ 31179 - 11905: 0xC7EF,
+ 31180 - 11905: 0xB66B,
+ 31181 - 11905: 0xD6D6,
+ 31182 - 11905: 0xB66C,
+ 31183 - 11905: 0xB66D,
+ 31184 - 11905: 0xB66E,
+ 31185 - 11905: 0xBFC6,
+ 31186 - 11905: 0xC3EB,
+ 31187 - 11905: 0xB66F,
+ 31188 - 11905: 0xB670,
+ 31189 - 11905: 0xEFF5,
+ 31190 - 11905: 0xB671,
+ 31191 - 11905: 0xB672,
+ 31192 - 11905: 0xC3D8,
+ 31193 - 11905: 0xB673,
+ 31194 - 11905: 0xB674,
+ 31195 - 11905: 0xB675,
+ 31196 - 11905: 0xB676,
+ 31197 - 11905: 0xB677,
+ 31198 - 11905: 0xB678,
+ 31199 - 11905: 0xD7E2,
+ 31200 - 11905: 0xB679,
+ 31201 - 11905: 0xB67A,
+ 31202 - 11905: 0xB67B,
+ 31203 - 11905: 0xEFF7,
+ 31204 - 11905: 0xB3D3,
+ 31205 - 11905: 0xB67C,
+ 31206 - 11905: 0xC7D8,
+ 31207 - 11905: 0xD1ED,
+ 31208 - 11905: 0xB67D,
+ 31209 - 11905: 0xD6C8,
+ 31210 - 11905: 0xB67E,
+ 31211 - 11905: 0xEFF8,
+ 31212 - 11905: 0xB680,
+ 31213 - 11905: 0xEFF6,
+ 31214 - 11905: 0xB681,
+ 31215 - 11905: 0xBBFD,
+ 31216 - 11905: 0xB3C6,
+ 31217 - 11905: 0xB682,
+ 31218 - 11905: 0xB683,
+ 31219 - 11905: 0xB684,
+ 31220 - 11905: 0xB685,
+ 31221 - 11905: 0xB686,
+ 31222 - 11905: 0xB687,
+ 31223 - 11905: 0xB688,
+ 31224 - 11905: 0xBDD5,
+ 31225 - 11905: 0xB689,
+ 31226 - 11905: 0xB68A,
+ 31227 - 11905: 0xD2C6,
+ 31228 - 11905: 0xB68B,
+ 31229 - 11905: 0xBBE0,
+ 31230 - 11905: 0xB68C,
+ 31231 - 11905: 0xB68D,
+ 31232 - 11905: 0xCFA1,
+ 31233 - 11905: 0xB68E,
+ 31234 - 11905: 0xEFFC,
+ 31235 - 11905: 0xEFFB,
+ 31236 - 11905: 0xB68F,
+ 31237 - 11905: 0xB690,
+ 31238 - 11905: 0xEFF9,
+ 31239 - 11905: 0xB691,
+ 31240 - 11905: 0xB692,
+ 31241 - 11905: 0xB693,
+ 31242 - 11905: 0xB694,
+ 31243 - 11905: 0xB3CC,
+ 31244 - 11905: 0xB695,
+ 31245 - 11905: 0xC9D4,
+ 31246 - 11905: 0xCBB0,
+ 31247 - 11905: 0xB696,
+ 31248 - 11905: 0xB697,
+ 31249 - 11905: 0xB698,
+ 31250 - 11905: 0xB699,
+ 31251 - 11905: 0xB69A,
+ 31252 - 11905: 0xEFFE,
+ 31253 - 11905: 0xB69B,
+ 31254 - 11905: 0xB69C,
+ 31255 - 11905: 0xB0DE,
+ 31256 - 11905: 0xB69D,
+ 31257 - 11905: 0xB69E,
+ 31258 - 11905: 0xD6C9,
+ 31259 - 11905: 0xB69F,
+ 31260 - 11905: 0xB6A0,
+ 31261 - 11905: 0xB740,
+ 31262 - 11905: 0xEFFD,
+ 31263 - 11905: 0xB741,
+ 31264 - 11905: 0xB3ED,
+ 31265 - 11905: 0xB742,
+ 31266 - 11905: 0xB743,
+ 31267 - 11905: 0xF6D5,
+ 31268 - 11905: 0xB744,
+ 31269 - 11905: 0xB745,
+ 31270 - 11905: 0xB746,
+ 31271 - 11905: 0xB747,
+ 31272 - 11905: 0xB748,
+ 31273 - 11905: 0xB749,
+ 31274 - 11905: 0xB74A,
+ 31275 - 11905: 0xB74B,
+ 31276 - 11905: 0xB74C,
+ 31277 - 11905: 0xB74D,
+ 31278 - 11905: 0xB74E,
+ 31279 - 11905: 0xB74F,
+ 31280 - 11905: 0xB750,
+ 31281 - 11905: 0xB751,
+ 31282 - 11905: 0xB752,
+ 31283 - 11905: 0xCEC8,
+ 31284 - 11905: 0xB753,
+ 31285 - 11905: 0xB754,
+ 31286 - 11905: 0xB755,
+ 31287 - 11905: 0xF0A2,
+ 31288 - 11905: 0xB756,
+ 31289 - 11905: 0xF0A1,
+ 31290 - 11905: 0xB757,
+ 31291 - 11905: 0xB5BE,
+ 31292 - 11905: 0xBCDA,
+ 31293 - 11905: 0xBBFC,
+ 31294 - 11905: 0xB758,
+ 31295 - 11905: 0xB8E5,
+ 31296 - 11905: 0xB759,
+ 31297 - 11905: 0xB75A,
+ 31298 - 11905: 0xB75B,
+ 31299 - 11905: 0xB75C,
+ 31300 - 11905: 0xB75D,
+ 31301 - 11905: 0xB75E,
+ 31302 - 11905: 0xC4C2,
+ 31303 - 11905: 0xB75F,
+ 31304 - 11905: 0xB760,
+ 31305 - 11905: 0xB761,
+ 31306 - 11905: 0xB762,
+ 31307 - 11905: 0xB763,
+ 31308 - 11905: 0xB764,
+ 31309 - 11905: 0xB765,
+ 31310 - 11905: 0xB766,
+ 31311 - 11905: 0xB767,
+ 31312 - 11905: 0xB768,
+ 31313 - 11905: 0xF0A3,
+ 31314 - 11905: 0xB769,
+ 31315 - 11905: 0xB76A,
+ 31316 - 11905: 0xB76B,
+ 31317 - 11905: 0xB76C,
+ 31318 - 11905: 0xB76D,
+ 31319 - 11905: 0xCBEB,
+ 31320 - 11905: 0xB76E,
+ 31321 - 11905: 0xB76F,
+ 31322 - 11905: 0xB770,
+ 31323 - 11905: 0xB771,
+ 31324 - 11905: 0xB772,
+ 31325 - 11905: 0xB773,
+ 31326 - 11905: 0xB774,
+ 31327 - 11905: 0xB775,
+ 31328 - 11905: 0xB776,
+ 31329 - 11905: 0xB777,
+ 31330 - 11905: 0xB778,
+ 31331 - 11905: 0xB779,
+ 31332 - 11905: 0xB77A,
+ 31333 - 11905: 0xB77B,
+ 31334 - 11905: 0xB77C,
+ 31335 - 11905: 0xB77D,
+ 31336 - 11905: 0xB77E,
+ 31337 - 11905: 0xB780,
+ 31338 - 11905: 0xB781,
+ 31339 - 11905: 0xB782,
+ 31340 - 11905: 0xB783,
+ 31341 - 11905: 0xB784,
+ 31342 - 11905: 0xB785,
+ 31343 - 11905: 0xB786,
+ 31344 - 11905: 0xF0A6,
+ 31345 - 11905: 0xB787,
+ 31346 - 11905: 0xB788,
+ 31347 - 11905: 0xB789,
+ 31348 - 11905: 0xD1A8,
+ 31349 - 11905: 0xB78A,
+ 31350 - 11905: 0xBEBF,
+ 31351 - 11905: 0xC7EE,
+ 31352 - 11905: 0xF1B6,
+ 31353 - 11905: 0xF1B7,
+ 31354 - 11905: 0xBFD5,
+ 31355 - 11905: 0xB78B,
+ 31356 - 11905: 0xB78C,
+ 31357 - 11905: 0xB78D,
+ 31358 - 11905: 0xB78E,
+ 31359 - 11905: 0xB4A9,
+ 31360 - 11905: 0xF1B8,
+ 31361 - 11905: 0xCDBB,
+ 31362 - 11905: 0xB78F,
+ 31363 - 11905: 0xC7D4,
+ 31364 - 11905: 0xD5AD,
+ 31365 - 11905: 0xB790,
+ 31366 - 11905: 0xF1B9,
+ 31367 - 11905: 0xB791,
+ 31368 - 11905: 0xF1BA,
+ 31369 - 11905: 0xB792,
+ 31370 - 11905: 0xB793,
+ 31371 - 11905: 0xB794,
+ 31372 - 11905: 0xB795,
+ 31373 - 11905: 0xC7CF,
+ 31374 - 11905: 0xB796,
+ 31375 - 11905: 0xB797,
+ 31376 - 11905: 0xB798,
+ 31377 - 11905: 0xD2A4,
+ 31378 - 11905: 0xD6CF,
+ 31379 - 11905: 0xB799,
+ 31380 - 11905: 0xB79A,
+ 31381 - 11905: 0xF1BB,
+ 31382 - 11905: 0xBDD1,
+ 31383 - 11905: 0xB4B0,
+ 31384 - 11905: 0xBEBD,
+ 31385 - 11905: 0xB79B,
+ 31386 - 11905: 0xB79C,
+ 31387 - 11905: 0xB79D,
+ 31388 - 11905: 0xB4DC,
+ 31389 - 11905: 0xCED1,
+ 31390 - 11905: 0xB79E,
+ 31391 - 11905: 0xBFDF,
+ 31392 - 11905: 0xF1BD,
+ 31393 - 11905: 0xB79F,
+ 31394 - 11905: 0xB7A0,
+ 31395 - 11905: 0xB840,
+ 31396 - 11905: 0xB841,
+ 31397 - 11905: 0xBFFA,
+ 31398 - 11905: 0xF1BC,
+ 31399 - 11905: 0xB842,
+ 31400 - 11905: 0xF1BF,
+ 31401 - 11905: 0xB843,
+ 31402 - 11905: 0xB844,
+ 31403 - 11905: 0xB845,
+ 31404 - 11905: 0xF1BE,
+ 31405 - 11905: 0xF1C0,
+ 31406 - 11905: 0xB846,
+ 31407 - 11905: 0xB847,
+ 31408 - 11905: 0xB848,
+ 31409 - 11905: 0xB849,
+ 31410 - 11905: 0xB84A,
+ 31411 - 11905: 0xF1C1,
+ 31412 - 11905: 0xB84B,
+ 31413 - 11905: 0xB84C,
+ 31414 - 11905: 0xB84D,
+ 31415 - 11905: 0xB84E,
+ 31416 - 11905: 0xB84F,
+ 31417 - 11905: 0xB850,
+ 31418 - 11905: 0xB851,
+ 31419 - 11905: 0xB852,
+ 31420 - 11905: 0xB853,
+ 31421 - 11905: 0xB854,
+ 31422 - 11905: 0xB855,
+ 31423 - 11905: 0xC1FE,
+ 31424 - 11905: 0xB856,
+ 31425 - 11905: 0xB857,
+ 31426 - 11905: 0xB858,
+ 31427 - 11905: 0xB859,
+ 31428 - 11905: 0xB85A,
+ 31429 - 11905: 0xB85B,
+ 31430 - 11905: 0xB85C,
+ 31431 - 11905: 0xB85D,
+ 31432 - 11905: 0xB85E,
+ 31433 - 11905: 0xB85F,
+ 31434 - 11905: 0xB860,
+ 31435 - 11905: 0xC1A2,
+ 31436 - 11905: 0xB861,
+ 31437 - 11905: 0xB862,
+ 31438 - 11905: 0xB863,
+ 31439 - 11905: 0xB864,
+ 31440 - 11905: 0xB865,
+ 31441 - 11905: 0xB866,
+ 31442 - 11905: 0xB867,
+ 31443 - 11905: 0xB868,
+ 31444 - 11905: 0xB869,
+ 31445 - 11905: 0xB86A,
+ 31446 - 11905: 0xCAFA,
+ 31447 - 11905: 0xB86B,
+ 31448 - 11905: 0xB86C,
+ 31449 - 11905: 0xD5BE,
+ 31450 - 11905: 0xB86D,
+ 31451 - 11905: 0xB86E,
+ 31452 - 11905: 0xB86F,
+ 31453 - 11905: 0xB870,
+ 31454 - 11905: 0xBEBA,
+ 31455 - 11905: 0xBEB9,
+ 31456 - 11905: 0xD5C2,
+ 31457 - 11905: 0xB871,
+ 31458 - 11905: 0xB872,
+ 31459 - 11905: 0xBFA2,
+ 31460 - 11905: 0xB873,
+ 31461 - 11905: 0xCDAF,
+ 31462 - 11905: 0xF1B5,
+ 31463 - 11905: 0xB874,
+ 31464 - 11905: 0xB875,
+ 31465 - 11905: 0xB876,
+ 31466 - 11905: 0xB877,
+ 31467 - 11905: 0xB878,
+ 31468 - 11905: 0xB879,
+ 31469 - 11905: 0xBDDF,
+ 31470 - 11905: 0xB87A,
+ 31471 - 11905: 0xB6CB,
+ 31472 - 11905: 0xB87B,
+ 31473 - 11905: 0xB87C,
+ 31474 - 11905: 0xB87D,
+ 31475 - 11905: 0xB87E,
+ 31476 - 11905: 0xB880,
+ 31477 - 11905: 0xB881,
+ 31478 - 11905: 0xB882,
+ 31479 - 11905: 0xB883,
+ 31480 - 11905: 0xB884,
+ 31481 - 11905: 0xD6F1,
+ 31482 - 11905: 0xF3C3,
+ 31483 - 11905: 0xB885,
+ 31484 - 11905: 0xB886,
+ 31485 - 11905: 0xF3C4,
+ 31486 - 11905: 0xB887,
+ 31487 - 11905: 0xB8CD,
+ 31488 - 11905: 0xB888,
+ 31489 - 11905: 0xB889,
+ 31490 - 11905: 0xB88A,
+ 31491 - 11905: 0xF3C6,
+ 31492 - 11905: 0xF3C7,
+ 31493 - 11905: 0xB88B,
+ 31494 - 11905: 0xB0CA,
+ 31495 - 11905: 0xB88C,
+ 31496 - 11905: 0xF3C5,
+ 31497 - 11905: 0xB88D,
+ 31498 - 11905: 0xF3C9,
+ 31499 - 11905: 0xCBF1,
+ 31500 - 11905: 0xB88E,
+ 31501 - 11905: 0xB88F,
+ 31502 - 11905: 0xB890,
+ 31503 - 11905: 0xF3CB,
+ 31504 - 11905: 0xB891,
+ 31505 - 11905: 0xD0A6,
+ 31506 - 11905: 0xB892,
+ 31507 - 11905: 0xB893,
+ 31508 - 11905: 0xB1CA,
+ 31509 - 11905: 0xF3C8,
+ 31510 - 11905: 0xB894,
+ 31511 - 11905: 0xB895,
+ 31512 - 11905: 0xB896,
+ 31513 - 11905: 0xF3CF,
+ 31514 - 11905: 0xB897,
+ 31515 - 11905: 0xB5D1,
+ 31516 - 11905: 0xB898,
+ 31517 - 11905: 0xB899,
+ 31518 - 11905: 0xF3D7,
+ 31519 - 11905: 0xB89A,
+ 31520 - 11905: 0xF3D2,
+ 31521 - 11905: 0xB89B,
+ 31522 - 11905: 0xB89C,
+ 31523 - 11905: 0xB89D,
+ 31524 - 11905: 0xF3D4,
+ 31525 - 11905: 0xF3D3,
+ 31526 - 11905: 0xB7FB,
+ 31527 - 11905: 0xB89E,
+ 31528 - 11905: 0xB1BF,
+ 31529 - 11905: 0xB89F,
+ 31530 - 11905: 0xF3CE,
+ 31531 - 11905: 0xF3CA,
+ 31532 - 11905: 0xB5DA,
+ 31533 - 11905: 0xB8A0,
+ 31534 - 11905: 0xF3D0,
+ 31535 - 11905: 0xB940,
+ 31536 - 11905: 0xB941,
+ 31537 - 11905: 0xF3D1,
+ 31538 - 11905: 0xB942,
+ 31539 - 11905: 0xF3D5,
+ 31540 - 11905: 0xB943,
+ 31541 - 11905: 0xB944,
+ 31542 - 11905: 0xB945,
+ 31543 - 11905: 0xB946,
+ 31544 - 11905: 0xF3CD,
+ 31545 - 11905: 0xB947,
+ 31546 - 11905: 0xBCE3,
+ 31547 - 11905: 0xB948,
+ 31548 - 11905: 0xC1FD,
+ 31549 - 11905: 0xB949,
+ 31550 - 11905: 0xF3D6,
+ 31551 - 11905: 0xB94A,
+ 31552 - 11905: 0xB94B,
+ 31553 - 11905: 0xB94C,
+ 31554 - 11905: 0xB94D,
+ 31555 - 11905: 0xB94E,
+ 31556 - 11905: 0xB94F,
+ 31557 - 11905: 0xF3DA,
+ 31558 - 11905: 0xB950,
+ 31559 - 11905: 0xF3CC,
+ 31560 - 11905: 0xB951,
+ 31561 - 11905: 0xB5C8,
+ 31562 - 11905: 0xB952,
+ 31563 - 11905: 0xBDEE,
+ 31564 - 11905: 0xF3DC,
+ 31565 - 11905: 0xB953,
+ 31566 - 11905: 0xB954,
+ 31567 - 11905: 0xB7A4,
+ 31568 - 11905: 0xBFF0,
+ 31569 - 11905: 0xD6FE,
+ 31570 - 11905: 0xCDB2,
+ 31571 - 11905: 0xB955,
+ 31572 - 11905: 0xB4F0,
+ 31573 - 11905: 0xB956,
+ 31574 - 11905: 0xB2DF,
+ 31575 - 11905: 0xB957,
+ 31576 - 11905: 0xF3D8,
+ 31577 - 11905: 0xB958,
+ 31578 - 11905: 0xF3D9,
+ 31579 - 11905: 0xC9B8,
+ 31580 - 11905: 0xB959,
+ 31581 - 11905: 0xF3DD,
+ 31582 - 11905: 0xB95A,
+ 31583 - 11905: 0xB95B,
+ 31584 - 11905: 0xF3DE,
+ 31585 - 11905: 0xB95C,
+ 31586 - 11905: 0xF3E1,
+ 31587 - 11905: 0xB95D,
+ 31588 - 11905: 0xB95E,
+ 31589 - 11905: 0xB95F,
+ 31590 - 11905: 0xB960,
+ 31591 - 11905: 0xB961,
+ 31592 - 11905: 0xB962,
+ 31593 - 11905: 0xB963,
+ 31594 - 11905: 0xB964,
+ 31595 - 11905: 0xB965,
+ 31596 - 11905: 0xB966,
+ 31597 - 11905: 0xB967,
+ 31598 - 11905: 0xF3DF,
+ 31599 - 11905: 0xB968,
+ 31600 - 11905: 0xB969,
+ 31601 - 11905: 0xF3E3,
+ 31602 - 11905: 0xF3E2,
+ 31603 - 11905: 0xB96A,
+ 31604 - 11905: 0xB96B,
+ 31605 - 11905: 0xF3DB,
+ 31606 - 11905: 0xB96C,
+ 31607 - 11905: 0xBFEA,
+ 31608 - 11905: 0xB96D,
+ 31609 - 11905: 0xB3EF,
+ 31610 - 11905: 0xB96E,
+ 31611 - 11905: 0xF3E0,
+ 31612 - 11905: 0xB96F,
+ 31613 - 11905: 0xB970,
+ 31614 - 11905: 0xC7A9,
+ 31615 - 11905: 0xB971,
+ 31616 - 11905: 0xBCF2,
+ 31617 - 11905: 0xB972,
+ 31618 - 11905: 0xB973,
+ 31619 - 11905: 0xB974,
+ 31620 - 11905: 0xB975,
+ 31621 - 11905: 0xF3EB,
+ 31622 - 11905: 0xB976,
+ 31623 - 11905: 0xB977,
+ 31624 - 11905: 0xB978,
+ 31625 - 11905: 0xB979,
+ 31626 - 11905: 0xB97A,
+ 31627 - 11905: 0xB97B,
+ 31628 - 11905: 0xB97C,
+ 31629 - 11905: 0xB9BF,
+ 31630 - 11905: 0xB97D,
+ 31631 - 11905: 0xB97E,
+ 31632 - 11905: 0xF3E4,
+ 31633 - 11905: 0xB980,
+ 31634 - 11905: 0xB981,
+ 31635 - 11905: 0xB982,
+ 31636 - 11905: 0xB2AD,
+ 31637 - 11905: 0xBBFE,
+ 31638 - 11905: 0xB983,
+ 31639 - 11905: 0xCBE3,
+ 31640 - 11905: 0xB984,
+ 31641 - 11905: 0xB985,
+ 31642 - 11905: 0xB986,
+ 31643 - 11905: 0xB987,
+ 31644 - 11905: 0xF3ED,
+ 31645 - 11905: 0xF3E9,
+ 31646 - 11905: 0xB988,
+ 31647 - 11905: 0xB989,
+ 31648 - 11905: 0xB98A,
+ 31649 - 11905: 0xB9DC,
+ 31650 - 11905: 0xF3EE,
+ 31651 - 11905: 0xB98B,
+ 31652 - 11905: 0xB98C,
+ 31653 - 11905: 0xB98D,
+ 31654 - 11905: 0xF3E5,
+ 31655 - 11905: 0xF3E6,
+ 31656 - 11905: 0xF3EA,
+ 31657 - 11905: 0xC2E1,
+ 31658 - 11905: 0xF3EC,
+ 31659 - 11905: 0xF3EF,
+ 31660 - 11905: 0xF3E8,
+ 31661 - 11905: 0xBCFD,
+ 31662 - 11905: 0xB98E,
+ 31663 - 11905: 0xB98F,
+ 31664 - 11905: 0xB990,
+ 31665 - 11905: 0xCFE4,
+ 31666 - 11905: 0xB991,
+ 31667 - 11905: 0xB992,
+ 31668 - 11905: 0xF3F0,
+ 31669 - 11905: 0xB993,
+ 31670 - 11905: 0xB994,
+ 31671 - 11905: 0xB995,
+ 31672 - 11905: 0xF3E7,
+ 31673 - 11905: 0xB996,
+ 31674 - 11905: 0xB997,
+ 31675 - 11905: 0xB998,
+ 31676 - 11905: 0xB999,
+ 31677 - 11905: 0xB99A,
+ 31678 - 11905: 0xB99B,
+ 31679 - 11905: 0xB99C,
+ 31680 - 11905: 0xB99D,
+ 31681 - 11905: 0xF3F2,
+ 31682 - 11905: 0xB99E,
+ 31683 - 11905: 0xB99F,
+ 31684 - 11905: 0xB9A0,
+ 31685 - 11905: 0xBA40,
+ 31686 - 11905: 0xD7AD,
+ 31687 - 11905: 0xC6AA,
+ 31688 - 11905: 0xBA41,
+ 31689 - 11905: 0xBA42,
+ 31690 - 11905: 0xBA43,
+ 31691 - 11905: 0xBA44,
+ 31692 - 11905: 0xF3F3,
+ 31693 - 11905: 0xBA45,
+ 31694 - 11905: 0xBA46,
+ 31695 - 11905: 0xBA47,
+ 31696 - 11905: 0xBA48,
+ 31697 - 11905: 0xF3F1,
+ 31698 - 11905: 0xBA49,
+ 31699 - 11905: 0xC2A8,
+ 31700 - 11905: 0xBA4A,
+ 31701 - 11905: 0xBA4B,
+ 31702 - 11905: 0xBA4C,
+ 31703 - 11905: 0xBA4D,
+ 31704 - 11905: 0xBA4E,
+ 31705 - 11905: 0xB8DD,
+ 31706 - 11905: 0xF3F5,
+ 31707 - 11905: 0xBA4F,
+ 31708 - 11905: 0xBA50,
+ 31709 - 11905: 0xF3F4,
+ 31710 - 11905: 0xBA51,
+ 31711 - 11905: 0xBA52,
+ 31712 - 11905: 0xBA53,
+ 31713 - 11905: 0xB4DB,
+ 31714 - 11905: 0xBA54,
+ 31715 - 11905: 0xBA55,
+ 31716 - 11905: 0xBA56,
+ 31717 - 11905: 0xF3F6,
+ 31718 - 11905: 0xF3F7,
+ 31719 - 11905: 0xBA57,
+ 31720 - 11905: 0xBA58,
+ 31721 - 11905: 0xBA59,
+ 31722 - 11905: 0xF3F8,
+ 31723 - 11905: 0xBA5A,
+ 31724 - 11905: 0xBA5B,
+ 31725 - 11905: 0xBA5C,
+ 31726 - 11905: 0xC0BA,
+ 31727 - 11905: 0xBA5D,
+ 31728 - 11905: 0xBA5E,
+ 31729 - 11905: 0xC0E9,
+ 31730 - 11905: 0xBA5F,
+ 31731 - 11905: 0xBA60,
+ 31732 - 11905: 0xBA61,
+ 31733 - 11905: 0xBA62,
+ 31734 - 11905: 0xBA63,
+ 31735 - 11905: 0xC5F1,
+ 31736 - 11905: 0xBA64,
+ 31737 - 11905: 0xBA65,
+ 31738 - 11905: 0xBA66,
+ 31739 - 11905: 0xBA67,
+ 31740 - 11905: 0xF3FB,
+ 31741 - 11905: 0xBA68,
+ 31742 - 11905: 0xF3FA,
+ 31743 - 11905: 0xBA69,
+ 31744 - 11905: 0xBA6A,
+ 31745 - 11905: 0xBA6B,
+ 31746 - 11905: 0xBA6C,
+ 31747 - 11905: 0xBA6D,
+ 31748 - 11905: 0xBA6E,
+ 31749 - 11905: 0xBA6F,
+ 31750 - 11905: 0xBA70,
+ 31751 - 11905: 0xB4D8,
+ 31752 - 11905: 0xBA71,
+ 31753 - 11905: 0xBA72,
+ 31754 - 11905: 0xBA73,
+ 31755 - 11905: 0xF3FE,
+ 31756 - 11905: 0xF3F9,
+ 31757 - 11905: 0xBA74,
+ 31758 - 11905: 0xBA75,
+ 31759 - 11905: 0xF3FC,
+ 31760 - 11905: 0xBA76,
+ 31761 - 11905: 0xBA77,
+ 31762 - 11905: 0xBA78,
+ 31763 - 11905: 0xBA79,
+ 31764 - 11905: 0xBA7A,
+ 31765 - 11905: 0xBA7B,
+ 31766 - 11905: 0xF3FD,
+ 31767 - 11905: 0xBA7C,
+ 31768 - 11905: 0xBA7D,
+ 31769 - 11905: 0xBA7E,
+ 31770 - 11905: 0xBA80,
+ 31771 - 11905: 0xBA81,
+ 31772 - 11905: 0xBA82,
+ 31773 - 11905: 0xBA83,
+ 31774 - 11905: 0xBA84,
+ 31775 - 11905: 0xF4A1,
+ 31776 - 11905: 0xBA85,
+ 31777 - 11905: 0xBA86,
+ 31778 - 11905: 0xBA87,
+ 31779 - 11905: 0xBA88,
+ 31780 - 11905: 0xBA89,
+ 31781 - 11905: 0xBA8A,
+ 31782 - 11905: 0xF4A3,
+ 31783 - 11905: 0xBBC9,
+ 31784 - 11905: 0xBA8B,
+ 31785 - 11905: 0xBA8C,
+ 31786 - 11905: 0xF4A2,
+ 31787 - 11905: 0xBA8D,
+ 31788 - 11905: 0xBA8E,
+ 31789 - 11905: 0xBA8F,
+ 31790 - 11905: 0xBA90,
+ 31791 - 11905: 0xBA91,
+ 31792 - 11905: 0xBA92,
+ 31793 - 11905: 0xBA93,
+ 31794 - 11905: 0xBA94,
+ 31795 - 11905: 0xBA95,
+ 31796 - 11905: 0xBA96,
+ 31797 - 11905: 0xBA97,
+ 31798 - 11905: 0xBA98,
+ 31799 - 11905: 0xBA99,
+ 31800 - 11905: 0xF4A4,
+ 31801 - 11905: 0xBA9A,
+ 31802 - 11905: 0xBA9B,
+ 31803 - 11905: 0xBA9C,
+ 31804 - 11905: 0xBA9D,
+ 31805 - 11905: 0xBA9E,
+ 31806 - 11905: 0xBA9F,
+ 31807 - 11905: 0xB2BE,
+ 31808 - 11905: 0xF4A6,
+ 31809 - 11905: 0xF4A5,
+ 31810 - 11905: 0xBAA0,
+ 31811 - 11905: 0xBB40,
+ 31812 - 11905: 0xBB41,
+ 31813 - 11905: 0xBB42,
+ 31814 - 11905: 0xBB43,
+ 31815 - 11905: 0xBB44,
+ 31816 - 11905: 0xBB45,
+ 31817 - 11905: 0xBB46,
+ 31818 - 11905: 0xBB47,
+ 31819 - 11905: 0xBB48,
+ 31820 - 11905: 0xBB49,
+ 31821 - 11905: 0xBCAE,
+ 31822 - 11905: 0xBB4A,
+ 31823 - 11905: 0xBB4B,
+ 31824 - 11905: 0xBB4C,
+ 31825 - 11905: 0xBB4D,
+ 31826 - 11905: 0xBB4E,
+ 31827 - 11905: 0xBB4F,
+ 31828 - 11905: 0xBB50,
+ 31829 - 11905: 0xBB51,
+ 31830 - 11905: 0xBB52,
+ 31831 - 11905: 0xBB53,
+ 31832 - 11905: 0xBB54,
+ 31833 - 11905: 0xBB55,
+ 31834 - 11905: 0xBB56,
+ 31835 - 11905: 0xBB57,
+ 31836 - 11905: 0xBB58,
+ 31837 - 11905: 0xBB59,
+ 31838 - 11905: 0xBB5A,
+ 31839 - 11905: 0xBB5B,
+ 31840 - 11905: 0xBB5C,
+ 31841 - 11905: 0xBB5D,
+ 31842 - 11905: 0xBB5E,
+ 31843 - 11905: 0xBB5F,
+ 31844 - 11905: 0xBB60,
+ 31845 - 11905: 0xBB61,
+ 31846 - 11905: 0xBB62,
+ 31847 - 11905: 0xBB63,
+ 31848 - 11905: 0xBB64,
+ 31849 - 11905: 0xBB65,
+ 31850 - 11905: 0xBB66,
+ 31851 - 11905: 0xBB67,
+ 31852 - 11905: 0xBB68,
+ 31853 - 11905: 0xBB69,
+ 31854 - 11905: 0xBB6A,
+ 31855 - 11905: 0xBB6B,
+ 31856 - 11905: 0xBB6C,
+ 31857 - 11905: 0xBB6D,
+ 31858 - 11905: 0xBB6E,
+ 31859 - 11905: 0xC3D7,
+ 31860 - 11905: 0xD9E1,
+ 31861 - 11905: 0xBB6F,
+ 31862 - 11905: 0xBB70,
+ 31863 - 11905: 0xBB71,
+ 31864 - 11905: 0xBB72,
+ 31865 - 11905: 0xBB73,
+ 31866 - 11905: 0xBB74,
+ 31867 - 11905: 0xC0E0,
+ 31868 - 11905: 0xF4CC,
+ 31869 - 11905: 0xD7D1,
+ 31870 - 11905: 0xBB75,
+ 31871 - 11905: 0xBB76,
+ 31872 - 11905: 0xBB77,
+ 31873 - 11905: 0xBB78,
+ 31874 - 11905: 0xBB79,
+ 31875 - 11905: 0xBB7A,
+ 31876 - 11905: 0xBB7B,
+ 31877 - 11905: 0xBB7C,
+ 31878 - 11905: 0xBB7D,
+ 31879 - 11905: 0xBB7E,
+ 31880 - 11905: 0xBB80,
+ 31881 - 11905: 0xB7DB,
+ 31882 - 11905: 0xBB81,
+ 31883 - 11905: 0xBB82,
+ 31884 - 11905: 0xBB83,
+ 31885 - 11905: 0xBB84,
+ 31886 - 11905: 0xBB85,
+ 31887 - 11905: 0xBB86,
+ 31888 - 11905: 0xBB87,
+ 31889 - 11905: 0xF4CE,
+ 31890 - 11905: 0xC1A3,
+ 31891 - 11905: 0xBB88,
+ 31892 - 11905: 0xBB89,
+ 31893 - 11905: 0xC6C9,
+ 31894 - 11905: 0xBB8A,
+ 31895 - 11905: 0xB4D6,
+ 31896 - 11905: 0xD5B3,
+ 31897 - 11905: 0xBB8B,
+ 31898 - 11905: 0xBB8C,
+ 31899 - 11905: 0xBB8D,
+ 31900 - 11905: 0xF4D0,
+ 31901 - 11905: 0xF4CF,
+ 31902 - 11905: 0xF4D1,
+ 31903 - 11905: 0xCBDA,
+ 31904 - 11905: 0xBB8E,
+ 31905 - 11905: 0xBB8F,
+ 31906 - 11905: 0xF4D2,
+ 31907 - 11905: 0xBB90,
+ 31908 - 11905: 0xD4C1,
+ 31909 - 11905: 0xD6E0,
+ 31910 - 11905: 0xBB91,
+ 31911 - 11905: 0xBB92,
+ 31912 - 11905: 0xBB93,
+ 31913 - 11905: 0xBB94,
+ 31914 - 11905: 0xB7E0,
+ 31915 - 11905: 0xBB95,
+ 31916 - 11905: 0xBB96,
+ 31917 - 11905: 0xBB97,
+ 31918 - 11905: 0xC1B8,
+ 31919 - 11905: 0xBB98,
+ 31920 - 11905: 0xBB99,
+ 31921 - 11905: 0xC1BB,
+ 31922 - 11905: 0xF4D3,
+ 31923 - 11905: 0xBEAC,
+ 31924 - 11905: 0xBB9A,
+ 31925 - 11905: 0xBB9B,
+ 31926 - 11905: 0xBB9C,
+ 31927 - 11905: 0xBB9D,
+ 31928 - 11905: 0xBB9E,
+ 31929 - 11905: 0xB4E2,
+ 31930 - 11905: 0xBB9F,
+ 31931 - 11905: 0xBBA0,
+ 31932 - 11905: 0xF4D4,
+ 31933 - 11905: 0xF4D5,
+ 31934 - 11905: 0xBEAB,
+ 31935 - 11905: 0xBC40,
+ 31936 - 11905: 0xBC41,
+ 31937 - 11905: 0xF4D6,
+ 31938 - 11905: 0xBC42,
+ 31939 - 11905: 0xBC43,
+ 31940 - 11905: 0xBC44,
+ 31941 - 11905: 0xF4DB,
+ 31942 - 11905: 0xBC45,
+ 31943 - 11905: 0xF4D7,
+ 31944 - 11905: 0xF4DA,
+ 31945 - 11905: 0xBC46,
+ 31946 - 11905: 0xBAFD,
+ 31947 - 11905: 0xBC47,
+ 31948 - 11905: 0xF4D8,
+ 31949 - 11905: 0xF4D9,
+ 31950 - 11905: 0xBC48,
+ 31951 - 11905: 0xBC49,
+ 31952 - 11905: 0xBC4A,
+ 31953 - 11905: 0xBC4B,
+ 31954 - 11905: 0xBC4C,
+ 31955 - 11905: 0xBC4D,
+ 31956 - 11905: 0xBC4E,
+ 31957 - 11905: 0xB8E2,
+ 31958 - 11905: 0xCCC7,
+ 31959 - 11905: 0xF4DC,
+ 31960 - 11905: 0xBC4F,
+ 31961 - 11905: 0xB2DA,
+ 31962 - 11905: 0xBC50,
+ 31963 - 11905: 0xBC51,
+ 31964 - 11905: 0xC3D3,
+ 31965 - 11905: 0xBC52,
+ 31966 - 11905: 0xBC53,
+ 31967 - 11905: 0xD4E3,
+ 31968 - 11905: 0xBFB7,
+ 31969 - 11905: 0xBC54,
+ 31970 - 11905: 0xBC55,
+ 31971 - 11905: 0xBC56,
+ 31972 - 11905: 0xBC57,
+ 31973 - 11905: 0xBC58,
+ 31974 - 11905: 0xBC59,
+ 31975 - 11905: 0xBC5A,
+ 31976 - 11905: 0xF4DD,
+ 31977 - 11905: 0xBC5B,
+ 31978 - 11905: 0xBC5C,
+ 31979 - 11905: 0xBC5D,
+ 31980 - 11905: 0xBC5E,
+ 31981 - 11905: 0xBC5F,
+ 31982 - 11905: 0xBC60,
+ 31983 - 11905: 0xC5B4,
+ 31984 - 11905: 0xBC61,
+ 31985 - 11905: 0xBC62,
+ 31986 - 11905: 0xBC63,
+ 31987 - 11905: 0xBC64,
+ 31988 - 11905: 0xBC65,
+ 31989 - 11905: 0xBC66,
+ 31990 - 11905: 0xBC67,
+ 31991 - 11905: 0xBC68,
+ 31992 - 11905: 0xF4E9,
+ 31993 - 11905: 0xBC69,
+ 31994 - 11905: 0xBC6A,
+ 31995 - 11905: 0xCFB5,
+ 31996 - 11905: 0xBC6B,
+ 31997 - 11905: 0xBC6C,
+ 31998 - 11905: 0xBC6D,
+ 31999 - 11905: 0xBC6E,
+ 32000 - 11905: 0xBC6F,
+ 32001 - 11905: 0xBC70,
+ 32002 - 11905: 0xBC71,
+ 32003 - 11905: 0xBC72,
+ 32004 - 11905: 0xBC73,
+ 32005 - 11905: 0xBC74,
+ 32006 - 11905: 0xBC75,
+ 32007 - 11905: 0xBC76,
+ 32008 - 11905: 0xBC77,
+ 32009 - 11905: 0xBC78,
+ 32010 - 11905: 0xCEC9,
+ 32011 - 11905: 0xBC79,
+ 32012 - 11905: 0xBC7A,
+ 32013 - 11905: 0xBC7B,
+ 32014 - 11905: 0xBC7C,
+ 32015 - 11905: 0xBC7D,
+ 32016 - 11905: 0xBC7E,
+ 32017 - 11905: 0xBC80,
+ 32018 - 11905: 0xBC81,
+ 32019 - 11905: 0xBC82,
+ 32020 - 11905: 0xBC83,
+ 32021 - 11905: 0xBC84,
+ 32022 - 11905: 0xBC85,
+ 32023 - 11905: 0xBC86,
+ 32024 - 11905: 0xBC87,
+ 32025 - 11905: 0xBC88,
+ 32026 - 11905: 0xBC89,
+ 32027 - 11905: 0xBC8A,
+ 32028 - 11905: 0xBC8B,
+ 32029 - 11905: 0xBC8C,
+ 32030 - 11905: 0xBC8D,
+ 32031 - 11905: 0xBC8E,
+ 32032 - 11905: 0xCBD8,
+ 32033 - 11905: 0xBC8F,
+ 32034 - 11905: 0xCBF7,
+ 32035 - 11905: 0xBC90,
+ 32036 - 11905: 0xBC91,
+ 32037 - 11905: 0xBC92,
+ 32038 - 11905: 0xBC93,
+ 32039 - 11905: 0xBDF4,
+ 32040 - 11905: 0xBC94,
+ 32041 - 11905: 0xBC95,
+ 32042 - 11905: 0xBC96,
+ 32043 - 11905: 0xD7CF,
+ 32044 - 11905: 0xBC97,
+ 32045 - 11905: 0xBC98,
+ 32046 - 11905: 0xBC99,
+ 32047 - 11905: 0xC0DB,
+ 32048 - 11905: 0xBC9A,
+ 32049 - 11905: 0xBC9B,
+ 32050 - 11905: 0xBC9C,
+ 32051 - 11905: 0xBC9D,
+ 32052 - 11905: 0xBC9E,
+ 32053 - 11905: 0xBC9F,
+ 32054 - 11905: 0xBCA0,
+ 32055 - 11905: 0xBD40,
+ 32056 - 11905: 0xBD41,
+ 32057 - 11905: 0xBD42,
+ 32058 - 11905: 0xBD43,
+ 32059 - 11905: 0xBD44,
+ 32060 - 11905: 0xBD45,
+ 32061 - 11905: 0xBD46,
+ 32062 - 11905: 0xBD47,
+ 32063 - 11905: 0xBD48,
+ 32064 - 11905: 0xBD49,
+ 32065 - 11905: 0xBD4A,
+ 32066 - 11905: 0xBD4B,
+ 32067 - 11905: 0xBD4C,
+ 32068 - 11905: 0xBD4D,
+ 32069 - 11905: 0xBD4E,
+ 32070 - 11905: 0xBD4F,
+ 32071 - 11905: 0xBD50,
+ 32072 - 11905: 0xBD51,
+ 32073 - 11905: 0xBD52,
+ 32074 - 11905: 0xBD53,
+ 32075 - 11905: 0xBD54,
+ 32076 - 11905: 0xBD55,
+ 32077 - 11905: 0xBD56,
+ 32078 - 11905: 0xBD57,
+ 32079 - 11905: 0xBD58,
+ 32080 - 11905: 0xBD59,
+ 32081 - 11905: 0xBD5A,
+ 32082 - 11905: 0xBD5B,
+ 32083 - 11905: 0xBD5C,
+ 32084 - 11905: 0xBD5D,
+ 32085 - 11905: 0xBD5E,
+ 32086 - 11905: 0xBD5F,
+ 32087 - 11905: 0xBD60,
+ 32088 - 11905: 0xBD61,
+ 32089 - 11905: 0xBD62,
+ 32090 - 11905: 0xBD63,
+ 32091 - 11905: 0xBD64,
+ 32092 - 11905: 0xBD65,
+ 32093 - 11905: 0xBD66,
+ 32094 - 11905: 0xBD67,
+ 32095 - 11905: 0xBD68,
+ 32096 - 11905: 0xBD69,
+ 32097 - 11905: 0xBD6A,
+ 32098 - 11905: 0xBD6B,
+ 32099 - 11905: 0xBD6C,
+ 32100 - 11905: 0xBD6D,
+ 32101 - 11905: 0xBD6E,
+ 32102 - 11905: 0xBD6F,
+ 32103 - 11905: 0xBD70,
+ 32104 - 11905: 0xBD71,
+ 32105 - 11905: 0xBD72,
+ 32106 - 11905: 0xBD73,
+ 32107 - 11905: 0xBD74,
+ 32108 - 11905: 0xBD75,
+ 32109 - 11905: 0xBD76,
+ 32110 - 11905: 0xD0F5,
+ 32111 - 11905: 0xBD77,
+ 32112 - 11905: 0xBD78,
+ 32113 - 11905: 0xBD79,
+ 32114 - 11905: 0xBD7A,
+ 32115 - 11905: 0xBD7B,
+ 32116 - 11905: 0xBD7C,
+ 32117 - 11905: 0xBD7D,
+ 32118 - 11905: 0xBD7E,
+ 32119 - 11905: 0xF4EA,
+ 32120 - 11905: 0xBD80,
+ 32121 - 11905: 0xBD81,
+ 32122 - 11905: 0xBD82,
+ 32123 - 11905: 0xBD83,
+ 32124 - 11905: 0xBD84,
+ 32125 - 11905: 0xBD85,
+ 32126 - 11905: 0xBD86,
+ 32127 - 11905: 0xBD87,
+ 32128 - 11905: 0xBD88,
+ 32129 - 11905: 0xBD89,
+ 32130 - 11905: 0xBD8A,
+ 32131 - 11905: 0xBD8B,
+ 32132 - 11905: 0xBD8C,
+ 32133 - 11905: 0xBD8D,
+ 32134 - 11905: 0xBD8E,
+ 32135 - 11905: 0xBD8F,
+ 32136 - 11905: 0xBD90,
+ 32137 - 11905: 0xBD91,
+ 32138 - 11905: 0xBD92,
+ 32139 - 11905: 0xBD93,
+ 32140 - 11905: 0xBD94,
+ 32141 - 11905: 0xBD95,
+ 32142 - 11905: 0xBD96,
+ 32143 - 11905: 0xBD97,
+ 32144 - 11905: 0xBD98,
+ 32145 - 11905: 0xBD99,
+ 32146 - 11905: 0xBD9A,
+ 32147 - 11905: 0xBD9B,
+ 32148 - 11905: 0xBD9C,
+ 32149 - 11905: 0xBD9D,
+ 32150 - 11905: 0xBD9E,
+ 32151 - 11905: 0xBD9F,
+ 32152 - 11905: 0xBDA0,
+ 32153 - 11905: 0xBE40,
+ 32154 - 11905: 0xBE41,
+ 32155 - 11905: 0xBE42,
+ 32156 - 11905: 0xBE43,
+ 32157 - 11905: 0xBE44,
+ 32158 - 11905: 0xBE45,
+ 32159 - 11905: 0xBE46,
+ 32160 - 11905: 0xBE47,
+ 32161 - 11905: 0xBE48,
+ 32162 - 11905: 0xBE49,
+ 32163 - 11905: 0xBE4A,
+ 32164 - 11905: 0xBE4B,
+ 32165 - 11905: 0xBE4C,
+ 32166 - 11905: 0xF4EB,
+ 32167 - 11905: 0xBE4D,
+ 32168 - 11905: 0xBE4E,
+ 32169 - 11905: 0xBE4F,
+ 32170 - 11905: 0xBE50,
+ 32171 - 11905: 0xBE51,
+ 32172 - 11905: 0xBE52,
+ 32173 - 11905: 0xBE53,
+ 32174 - 11905: 0xF4EC,
+ 32175 - 11905: 0xBE54,
+ 32176 - 11905: 0xBE55,
+ 32177 - 11905: 0xBE56,
+ 32178 - 11905: 0xBE57,
+ 32179 - 11905: 0xBE58,
+ 32180 - 11905: 0xBE59,
+ 32181 - 11905: 0xBE5A,
+ 32182 - 11905: 0xBE5B,
+ 32183 - 11905: 0xBE5C,
+ 32184 - 11905: 0xBE5D,
+ 32185 - 11905: 0xBE5E,
+ 32186 - 11905: 0xBE5F,
+ 32187 - 11905: 0xBE60,
+ 32188 - 11905: 0xBE61,
+ 32189 - 11905: 0xBE62,
+ 32190 - 11905: 0xBE63,
+ 32191 - 11905: 0xBE64,
+ 32192 - 11905: 0xBE65,
+ 32193 - 11905: 0xBE66,
+ 32194 - 11905: 0xBE67,
+ 32195 - 11905: 0xBE68,
+ 32196 - 11905: 0xBE69,
+ 32197 - 11905: 0xBE6A,
+ 32198 - 11905: 0xBE6B,
+ 32199 - 11905: 0xBE6C,
+ 32200 - 11905: 0xBE6D,
+ 32201 - 11905: 0xBE6E,
+ 32202 - 11905: 0xBE6F,
+ 32203 - 11905: 0xBE70,
+ 32204 - 11905: 0xBE71,
+ 32205 - 11905: 0xBE72,
+ 32206 - 11905: 0xBE73,
+ 32207 - 11905: 0xBE74,
+ 32208 - 11905: 0xBE75,
+ 32209 - 11905: 0xBE76,
+ 32210 - 11905: 0xBE77,
+ 32211 - 11905: 0xBE78,
+ 32212 - 11905: 0xBE79,
+ 32213 - 11905: 0xBE7A,
+ 32214 - 11905: 0xBE7B,
+ 32215 - 11905: 0xBE7C,
+ 32216 - 11905: 0xBE7D,
+ 32217 - 11905: 0xBE7E,
+ 32218 - 11905: 0xBE80,
+ 32219 - 11905: 0xBE81,
+ 32220 - 11905: 0xBE82,
+ 32221 - 11905: 0xBE83,
+ 32222 - 11905: 0xBE84,
+ 32223 - 11905: 0xBE85,
+ 32224 - 11905: 0xBE86,
+ 32225 - 11905: 0xBE87,
+ 32226 - 11905: 0xBE88,
+ 32227 - 11905: 0xBE89,
+ 32228 - 11905: 0xBE8A,
+ 32229 - 11905: 0xBE8B,
+ 32230 - 11905: 0xBE8C,
+ 32231 - 11905: 0xBE8D,
+ 32232 - 11905: 0xBE8E,
+ 32233 - 11905: 0xBE8F,
+ 32234 - 11905: 0xBE90,
+ 32235 - 11905: 0xBE91,
+ 32236 - 11905: 0xBE92,
+ 32237 - 11905: 0xBE93,
+ 32238 - 11905: 0xBE94,
+ 32239 - 11905: 0xBE95,
+ 32240 - 11905: 0xBE96,
+ 32241 - 11905: 0xBE97,
+ 32242 - 11905: 0xBE98,
+ 32243 - 11905: 0xBE99,
+ 32244 - 11905: 0xBE9A,
+ 32245 - 11905: 0xBE9B,
+ 32246 - 11905: 0xBE9C,
+ 32247 - 11905: 0xBE9D,
+ 32248 - 11905: 0xBE9E,
+ 32249 - 11905: 0xBE9F,
+ 32250 - 11905: 0xBEA0,
+ 32251 - 11905: 0xBF40,
+ 32252 - 11905: 0xBF41,
+ 32253 - 11905: 0xBF42,
+ 32254 - 11905: 0xBF43,
+ 32255 - 11905: 0xBF44,
+ 32256 - 11905: 0xBF45,
+ 32257 - 11905: 0xBF46,
+ 32258 - 11905: 0xBF47,
+ 32259 - 11905: 0xBF48,
+ 32260 - 11905: 0xBF49,
+ 32261 - 11905: 0xBF4A,
+ 32262 - 11905: 0xBF4B,
+ 32263 - 11905: 0xBF4C,
+ 32264 - 11905: 0xBF4D,
+ 32265 - 11905: 0xBF4E,
+ 32266 - 11905: 0xBF4F,
+ 32267 - 11905: 0xBF50,
+ 32268 - 11905: 0xBF51,
+ 32269 - 11905: 0xBF52,
+ 32270 - 11905: 0xBF53,
+ 32271 - 11905: 0xBF54,
+ 32272 - 11905: 0xBF55,
+ 32273 - 11905: 0xBF56,
+ 32274 - 11905: 0xBF57,
+ 32275 - 11905: 0xBF58,
+ 32276 - 11905: 0xBF59,
+ 32277 - 11905: 0xBF5A,
+ 32278 - 11905: 0xBF5B,
+ 32279 - 11905: 0xBF5C,
+ 32280 - 11905: 0xBF5D,
+ 32281 - 11905: 0xBF5E,
+ 32282 - 11905: 0xBF5F,
+ 32283 - 11905: 0xBF60,
+ 32284 - 11905: 0xBF61,
+ 32285 - 11905: 0xBF62,
+ 32286 - 11905: 0xBF63,
+ 32287 - 11905: 0xBF64,
+ 32288 - 11905: 0xBF65,
+ 32289 - 11905: 0xBF66,
+ 32290 - 11905: 0xBF67,
+ 32291 - 11905: 0xBF68,
+ 32292 - 11905: 0xBF69,
+ 32293 - 11905: 0xBF6A,
+ 32294 - 11905: 0xBF6B,
+ 32295 - 11905: 0xBF6C,
+ 32296 - 11905: 0xBF6D,
+ 32297 - 11905: 0xBF6E,
+ 32298 - 11905: 0xBF6F,
+ 32299 - 11905: 0xBF70,
+ 32300 - 11905: 0xBF71,
+ 32301 - 11905: 0xBF72,
+ 32302 - 11905: 0xBF73,
+ 32303 - 11905: 0xBF74,
+ 32304 - 11905: 0xBF75,
+ 32305 - 11905: 0xBF76,
+ 32306 - 11905: 0xBF77,
+ 32307 - 11905: 0xBF78,
+ 32308 - 11905: 0xBF79,
+ 32309 - 11905: 0xBF7A,
+ 32310 - 11905: 0xBF7B,
+ 32311 - 11905: 0xBF7C,
+ 32312 - 11905: 0xBF7D,
+ 32313 - 11905: 0xBF7E,
+ 32314 - 11905: 0xBF80,
+ 32315 - 11905: 0xF7E3,
+ 32316 - 11905: 0xBF81,
+ 32317 - 11905: 0xBF82,
+ 32318 - 11905: 0xBF83,
+ 32319 - 11905: 0xBF84,
+ 32320 - 11905: 0xBF85,
+ 32321 - 11905: 0xB7B1,
+ 32322 - 11905: 0xBF86,
+ 32323 - 11905: 0xBF87,
+ 32324 - 11905: 0xBF88,
+ 32325 - 11905: 0xBF89,
+ 32326 - 11905: 0xBF8A,
+ 32327 - 11905: 0xF4ED,
+ 32328 - 11905: 0xBF8B,
+ 32329 - 11905: 0xBF8C,
+ 32330 - 11905: 0xBF8D,
+ 32331 - 11905: 0xBF8E,
+ 32332 - 11905: 0xBF8F,
+ 32333 - 11905: 0xBF90,
+ 32334 - 11905: 0xBF91,
+ 32335 - 11905: 0xBF92,
+ 32336 - 11905: 0xBF93,
+ 32337 - 11905: 0xBF94,
+ 32338 - 11905: 0xBF95,
+ 32339 - 11905: 0xBF96,
+ 32340 - 11905: 0xBF97,
+ 32341 - 11905: 0xBF98,
+ 32342 - 11905: 0xBF99,
+ 32343 - 11905: 0xBF9A,
+ 32344 - 11905: 0xBF9B,
+ 32345 - 11905: 0xBF9C,
+ 32346 - 11905: 0xBF9D,
+ 32347 - 11905: 0xBF9E,
+ 32348 - 11905: 0xBF9F,
+ 32349 - 11905: 0xBFA0,
+ 32350 - 11905: 0xC040,
+ 32351 - 11905: 0xC041,
+ 32352 - 11905: 0xC042,
+ 32353 - 11905: 0xC043,
+ 32354 - 11905: 0xC044,
+ 32355 - 11905: 0xC045,
+ 32356 - 11905: 0xC046,
+ 32357 - 11905: 0xC047,
+ 32358 - 11905: 0xC048,
+ 32359 - 11905: 0xC049,
+ 32360 - 11905: 0xC04A,
+ 32361 - 11905: 0xC04B,
+ 32362 - 11905: 0xC04C,
+ 32363 - 11905: 0xC04D,
+ 32364 - 11905: 0xC04E,
+ 32365 - 11905: 0xC04F,
+ 32366 - 11905: 0xC050,
+ 32367 - 11905: 0xC051,
+ 32368 - 11905: 0xC052,
+ 32369 - 11905: 0xC053,
+ 32370 - 11905: 0xC054,
+ 32371 - 11905: 0xC055,
+ 32372 - 11905: 0xC056,
+ 32373 - 11905: 0xC057,
+ 32374 - 11905: 0xC058,
+ 32375 - 11905: 0xC059,
+ 32376 - 11905: 0xC05A,
+ 32377 - 11905: 0xC05B,
+ 32378 - 11905: 0xC05C,
+ 32379 - 11905: 0xC05D,
+ 32380 - 11905: 0xC05E,
+ 32381 - 11905: 0xC05F,
+ 32382 - 11905: 0xC060,
+ 32383 - 11905: 0xC061,
+ 32384 - 11905: 0xC062,
+ 32385 - 11905: 0xC063,
+ 32386 - 11905: 0xD7EB,
+ 32387 - 11905: 0xC064,
+ 32388 - 11905: 0xC065,
+ 32389 - 11905: 0xC066,
+ 32390 - 11905: 0xC067,
+ 32391 - 11905: 0xC068,
+ 32392 - 11905: 0xC069,
+ 32393 - 11905: 0xC06A,
+ 32394 - 11905: 0xC06B,
+ 32395 - 11905: 0xC06C,
+ 32396 - 11905: 0xC06D,
+ 32397 - 11905: 0xC06E,
+ 32398 - 11905: 0xC06F,
+ 32399 - 11905: 0xC070,
+ 32400 - 11905: 0xC071,
+ 32401 - 11905: 0xC072,
+ 32402 - 11905: 0xC073,
+ 32403 - 11905: 0xC074,
+ 32404 - 11905: 0xC075,
+ 32405 - 11905: 0xC076,
+ 32406 - 11905: 0xC077,
+ 32407 - 11905: 0xC078,
+ 32408 - 11905: 0xC079,
+ 32409 - 11905: 0xC07A,
+ 32410 - 11905: 0xC07B,
+ 32411 - 11905: 0xF4EE,
+ 32412 - 11905: 0xC07C,
+ 32413 - 11905: 0xC07D,
+ 32414 - 11905: 0xC07E,
+ 32415 - 11905: 0xE6F9,
+ 32416 - 11905: 0xBEC0,
+ 32417 - 11905: 0xE6FA,
+ 32418 - 11905: 0xBAEC,
+ 32419 - 11905: 0xE6FB,
+ 32420 - 11905: 0xCFCB,
+ 32421 - 11905: 0xE6FC,
+ 32422 - 11905: 0xD4BC,
+ 32423 - 11905: 0xBCB6,
+ 32424 - 11905: 0xE6FD,
+ 32425 - 11905: 0xE6FE,
+ 32426 - 11905: 0xBCCD,
+ 32427 - 11905: 0xC8D2,
+ 32428 - 11905: 0xCEB3,
+ 32429 - 11905: 0xE7A1,
+ 32430 - 11905: 0xC080,
+ 32431 - 11905: 0xB4BF,
+ 32432 - 11905: 0xE7A2,
+ 32433 - 11905: 0xC9B4,
+ 32434 - 11905: 0xB8D9,
+ 32435 - 11905: 0xC4C9,
+ 32436 - 11905: 0xC081,
+ 32437 - 11905: 0xD7DD,
+ 32438 - 11905: 0xC2DA,
+ 32439 - 11905: 0xB7D7,
+ 32440 - 11905: 0xD6BD,
+ 32441 - 11905: 0xCEC6,
+ 32442 - 11905: 0xB7C4,
+ 32443 - 11905: 0xC082,
+ 32444 - 11905: 0xC083,
+ 32445 - 11905: 0xC5A6,
+ 32446 - 11905: 0xE7A3,
+ 32447 - 11905: 0xCFDF,
+ 32448 - 11905: 0xE7A4,
+ 32449 - 11905: 0xE7A5,
+ 32450 - 11905: 0xE7A6,
+ 32451 - 11905: 0xC1B7,
+ 32452 - 11905: 0xD7E9,
+ 32453 - 11905: 0xC9F0,
+ 32454 - 11905: 0xCFB8,
+ 32455 - 11905: 0xD6AF,
+ 32456 - 11905: 0xD6D5,
+ 32457 - 11905: 0xE7A7,
+ 32458 - 11905: 0xB0ED,
+ 32459 - 11905: 0xE7A8,
+ 32460 - 11905: 0xE7A9,
+ 32461 - 11905: 0xC9DC,
+ 32462 - 11905: 0xD2EF,
+ 32463 - 11905: 0xBEAD,
+ 32464 - 11905: 0xE7AA,
+ 32465 - 11905: 0xB0F3,
+ 32466 - 11905: 0xC8DE,
+ 32467 - 11905: 0xBDE1,
+ 32468 - 11905: 0xE7AB,
+ 32469 - 11905: 0xC8C6,
+ 32470 - 11905: 0xC084,
+ 32471 - 11905: 0xE7AC,
+ 32472 - 11905: 0xBBE6,
+ 32473 - 11905: 0xB8F8,
+ 32474 - 11905: 0xD1A4,
+ 32475 - 11905: 0xE7AD,
+ 32476 - 11905: 0xC2E7,
+ 32477 - 11905: 0xBEF8,
+ 32478 - 11905: 0xBDCA,
+ 32479 - 11905: 0xCDB3,
+ 32480 - 11905: 0xE7AE,
+ 32481 - 11905: 0xE7AF,
+ 32482 - 11905: 0xBEEE,
+ 32483 - 11905: 0xD0E5,
+ 32484 - 11905: 0xC085,
+ 32485 - 11905: 0xCBE7,
+ 32486 - 11905: 0xCCD0,
+ 32487 - 11905: 0xBCCC,
+ 32488 - 11905: 0xE7B0,
+ 32489 - 11905: 0xBCA8,
+ 32490 - 11905: 0xD0F7,
+ 32491 - 11905: 0xE7B1,
+ 32492 - 11905: 0xC086,
+ 32493 - 11905: 0xD0F8,
+ 32494 - 11905: 0xE7B2,
+ 32495 - 11905: 0xE7B3,
+ 32496 - 11905: 0xB4C2,
+ 32497 - 11905: 0xE7B4,
+ 32498 - 11905: 0xE7B5,
+ 32499 - 11905: 0xC9FE,
+ 32500 - 11905: 0xCEAC,
+ 32501 - 11905: 0xC3E0,
+ 32502 - 11905: 0xE7B7,
+ 32503 - 11905: 0xB1C1,
+ 32504 - 11905: 0xB3F1,
+ 32505 - 11905: 0xC087,
+ 32506 - 11905: 0xE7B8,
+ 32507 - 11905: 0xE7B9,
+ 32508 - 11905: 0xD7DB,
+ 32509 - 11905: 0xD5C0,
+ 32510 - 11905: 0xE7BA,
+ 32511 - 11905: 0xC2CC,
+ 32512 - 11905: 0xD7BA,
+ 32513 - 11905: 0xE7BB,
+ 32514 - 11905: 0xE7BC,
+ 32515 - 11905: 0xE7BD,
+ 32516 - 11905: 0xBCEA,
+ 32517 - 11905: 0xC3E5,
+ 32518 - 11905: 0xC0C2,
+ 32519 - 11905: 0xE7BE,
+ 32520 - 11905: 0xE7BF,
+ 32521 - 11905: 0xBCA9,
+ 32522 - 11905: 0xC088,
+ 32523 - 11905: 0xE7C0,
+ 32524 - 11905: 0xE7C1,
+ 32525 - 11905: 0xE7B6,
+ 32526 - 11905: 0xB6D0,
+ 32527 - 11905: 0xE7C2,
+ 32528 - 11905: 0xC089,
+ 32529 - 11905: 0xE7C3,
+ 32530 - 11905: 0xE7C4,
+ 32531 - 11905: 0xBBBA,
+ 32532 - 11905: 0xB5DE,
+ 32533 - 11905: 0xC2C6,
+ 32534 - 11905: 0xB1E0,
+ 32535 - 11905: 0xE7C5,
+ 32536 - 11905: 0xD4B5,
+ 32537 - 11905: 0xE7C6,
+ 32538 - 11905: 0xB8BF,
+ 32539 - 11905: 0xE7C8,
+ 32540 - 11905: 0xE7C7,
+ 32541 - 11905: 0xB7EC,
+ 32542 - 11905: 0xC08A,
+ 32543 - 11905: 0xE7C9,
+ 32544 - 11905: 0xB2F8,
+ 32545 - 11905: 0xE7CA,
+ 32546 - 11905: 0xE7CB,
+ 32547 - 11905: 0xE7CC,
+ 32548 - 11905: 0xE7CD,
+ 32549 - 11905: 0xE7CE,
+ 32550 - 11905: 0xE7CF,
+ 32551 - 11905: 0xE7D0,
+ 32552 - 11905: 0xD3A7,
+ 32553 - 11905: 0xCBF5,
+ 32554 - 11905: 0xE7D1,
+ 32555 - 11905: 0xE7D2,
+ 32556 - 11905: 0xE7D3,
+ 32557 - 11905: 0xE7D4,
+ 32558 - 11905: 0xC9C9,
+ 32559 - 11905: 0xE7D5,
+ 32560 - 11905: 0xE7D6,
+ 32561 - 11905: 0xE7D7,
+ 32562 - 11905: 0xE7D8,
+ 32563 - 11905: 0xE7D9,
+ 32564 - 11905: 0xBDC9,
+ 32565 - 11905: 0xE7DA,
+ 32566 - 11905: 0xF3BE,
+ 32567 - 11905: 0xC08B,
+ 32568 - 11905: 0xB8D7,
+ 32569 - 11905: 0xC08C,
+ 32570 - 11905: 0xC8B1,
+ 32571 - 11905: 0xC08D,
+ 32572 - 11905: 0xC08E,
+ 32573 - 11905: 0xC08F,
+ 32574 - 11905: 0xC090,
+ 32575 - 11905: 0xC091,
+ 32576 - 11905: 0xC092,
+ 32577 - 11905: 0xC093,
+ 32578 - 11905: 0xF3BF,
+ 32579 - 11905: 0xC094,
+ 32580 - 11905: 0xF3C0,
+ 32581 - 11905: 0xF3C1,
+ 32582 - 11905: 0xC095,
+ 32583 - 11905: 0xC096,
+ 32584 - 11905: 0xC097,
+ 32585 - 11905: 0xC098,
+ 32586 - 11905: 0xC099,
+ 32587 - 11905: 0xC09A,
+ 32588 - 11905: 0xC09B,
+ 32589 - 11905: 0xC09C,
+ 32590 - 11905: 0xC09D,
+ 32591 - 11905: 0xC09E,
+ 32592 - 11905: 0xB9DE,
+ 32593 - 11905: 0xCDF8,
+ 32594 - 11905: 0xC09F,
+ 32595 - 11905: 0xC0A0,
+ 32596 - 11905: 0xD8E8,
+ 32597 - 11905: 0xBAB1,
+ 32598 - 11905: 0xC140,
+ 32599 - 11905: 0xC2DE,
+ 32600 - 11905: 0xEEB7,
+ 32601 - 11905: 0xC141,
+ 32602 - 11905: 0xB7A3,
+ 32603 - 11905: 0xC142,
+ 32604 - 11905: 0xC143,
+ 32605 - 11905: 0xC144,
+ 32606 - 11905: 0xC145,
+ 32607 - 11905: 0xEEB9,
+ 32608 - 11905: 0xC146,
+ 32609 - 11905: 0xEEB8,
+ 32610 - 11905: 0xB0D5,
+ 32611 - 11905: 0xC147,
+ 32612 - 11905: 0xC148,
+ 32613 - 11905: 0xC149,
+ 32614 - 11905: 0xC14A,
+ 32615 - 11905: 0xC14B,
+ 32616 - 11905: 0xEEBB,
+ 32617 - 11905: 0xD5D6,
+ 32618 - 11905: 0xD7EF,
+ 32619 - 11905: 0xC14C,
+ 32620 - 11905: 0xC14D,
+ 32621 - 11905: 0xC14E,
+ 32622 - 11905: 0xD6C3,
+ 32623 - 11905: 0xC14F,
+ 32624 - 11905: 0xC150,
+ 32625 - 11905: 0xEEBD,
+ 32626 - 11905: 0xCAF0,
+ 32627 - 11905: 0xC151,
+ 32628 - 11905: 0xEEBC,
+ 32629 - 11905: 0xC152,
+ 32630 - 11905: 0xC153,
+ 32631 - 11905: 0xC154,
+ 32632 - 11905: 0xC155,
+ 32633 - 11905: 0xEEBE,
+ 32634 - 11905: 0xC156,
+ 32635 - 11905: 0xC157,
+ 32636 - 11905: 0xC158,
+ 32637 - 11905: 0xC159,
+ 32638 - 11905: 0xEEC0,
+ 32639 - 11905: 0xC15A,
+ 32640 - 11905: 0xC15B,
+ 32641 - 11905: 0xEEBF,
+ 32642 - 11905: 0xC15C,
+ 32643 - 11905: 0xC15D,
+ 32644 - 11905: 0xC15E,
+ 32645 - 11905: 0xC15F,
+ 32646 - 11905: 0xC160,
+ 32647 - 11905: 0xC161,
+ 32648 - 11905: 0xC162,
+ 32649 - 11905: 0xC163,
+ 32650 - 11905: 0xD1F2,
+ 32651 - 11905: 0xC164,
+ 32652 - 11905: 0xC7BC,
+ 32653 - 11905: 0xC165,
+ 32654 - 11905: 0xC3C0,
+ 32655 - 11905: 0xC166,
+ 32656 - 11905: 0xC167,
+ 32657 - 11905: 0xC168,
+ 32658 - 11905: 0xC169,
+ 32659 - 11905: 0xC16A,
+ 32660 - 11905: 0xB8E1,
+ 32661 - 11905: 0xC16B,
+ 32662 - 11905: 0xC16C,
+ 32663 - 11905: 0xC16D,
+ 32664 - 11905: 0xC16E,
+ 32665 - 11905: 0xC16F,
+ 32666 - 11905: 0xC1E7,
+ 32667 - 11905: 0xC170,
+ 32668 - 11905: 0xC171,
+ 32669 - 11905: 0xF4C6,
+ 32670 - 11905: 0xD0DF,
+ 32671 - 11905: 0xF4C7,
+ 32672 - 11905: 0xC172,
+ 32673 - 11905: 0xCFDB,
+ 32674 - 11905: 0xC173,
+ 32675 - 11905: 0xC174,
+ 32676 - 11905: 0xC8BA,
+ 32677 - 11905: 0xC175,
+ 32678 - 11905: 0xC176,
+ 32679 - 11905: 0xF4C8,
+ 32680 - 11905: 0xC177,
+ 32681 - 11905: 0xC178,
+ 32682 - 11905: 0xC179,
+ 32683 - 11905: 0xC17A,
+ 32684 - 11905: 0xC17B,
+ 32685 - 11905: 0xC17C,
+ 32686 - 11905: 0xC17D,
+ 32687 - 11905: 0xF4C9,
+ 32688 - 11905: 0xF4CA,
+ 32689 - 11905: 0xC17E,
+ 32690 - 11905: 0xF4CB,
+ 32691 - 11905: 0xC180,
+ 32692 - 11905: 0xC181,
+ 32693 - 11905: 0xC182,
+ 32694 - 11905: 0xC183,
+ 32695 - 11905: 0xC184,
+ 32696 - 11905: 0xD9FA,
+ 32697 - 11905: 0xB8FE,
+ 32698 - 11905: 0xC185,
+ 32699 - 11905: 0xC186,
+ 32700 - 11905: 0xE5F1,
+ 32701 - 11905: 0xD3F0,
+ 32702 - 11905: 0xC187,
+ 32703 - 11905: 0xF4E0,
+ 32704 - 11905: 0xC188,
+ 32705 - 11905: 0xCECC,
+ 32706 - 11905: 0xC189,
+ 32707 - 11905: 0xC18A,
+ 32708 - 11905: 0xC18B,
+ 32709 - 11905: 0xB3E1,
+ 32710 - 11905: 0xC18C,
+ 32711 - 11905: 0xC18D,
+ 32712 - 11905: 0xC18E,
+ 32713 - 11905: 0xC18F,
+ 32714 - 11905: 0xF1B4,
+ 32715 - 11905: 0xC190,
+ 32716 - 11905: 0xD2EE,
+ 32717 - 11905: 0xC191,
+ 32718 - 11905: 0xF4E1,
+ 32719 - 11905: 0xC192,
+ 32720 - 11905: 0xC193,
+ 32721 - 11905: 0xC194,
+ 32722 - 11905: 0xC195,
+ 32723 - 11905: 0xC196,
+ 32724 - 11905: 0xCFE8,
+ 32725 - 11905: 0xF4E2,
+ 32726 - 11905: 0xC197,
+ 32727 - 11905: 0xC198,
+ 32728 - 11905: 0xC7CC,
+ 32729 - 11905: 0xC199,
+ 32730 - 11905: 0xC19A,
+ 32731 - 11905: 0xC19B,
+ 32732 - 11905: 0xC19C,
+ 32733 - 11905: 0xC19D,
+ 32734 - 11905: 0xC19E,
+ 32735 - 11905: 0xB5D4,
+ 32736 - 11905: 0xB4E4,
+ 32737 - 11905: 0xF4E4,
+ 32738 - 11905: 0xC19F,
+ 32739 - 11905: 0xC1A0,
+ 32740 - 11905: 0xC240,
+ 32741 - 11905: 0xF4E3,
+ 32742 - 11905: 0xF4E5,
+ 32743 - 11905: 0xC241,
+ 32744 - 11905: 0xC242,
+ 32745 - 11905: 0xF4E6,
+ 32746 - 11905: 0xC243,
+ 32747 - 11905: 0xC244,
+ 32748 - 11905: 0xC245,
+ 32749 - 11905: 0xC246,
+ 32750 - 11905: 0xF4E7,
+ 32751 - 11905: 0xC247,
+ 32752 - 11905: 0xBAB2,
+ 32753 - 11905: 0xB0BF,
+ 32754 - 11905: 0xC248,
+ 32755 - 11905: 0xF4E8,
+ 32756 - 11905: 0xC249,
+ 32757 - 11905: 0xC24A,
+ 32758 - 11905: 0xC24B,
+ 32759 - 11905: 0xC24C,
+ 32760 - 11905: 0xC24D,
+ 32761 - 11905: 0xC24E,
+ 32762 - 11905: 0xC24F,
+ 32763 - 11905: 0xB7AD,
+ 32764 - 11905: 0xD2ED,
+ 32765 - 11905: 0xC250,
+ 32766 - 11905: 0xC251,
+ 32767 - 11905: 0xC252,
+ 32768 - 11905: 0xD2AB,
+ 32769 - 11905: 0xC0CF,
+ 32770 - 11905: 0xC253,
+ 32771 - 11905: 0xBFBC,
+ 32772 - 11905: 0xEBA3,
+ 32773 - 11905: 0xD5DF,
+ 32774 - 11905: 0xEAC8,
+ 32775 - 11905: 0xC254,
+ 32776 - 11905: 0xC255,
+ 32777 - 11905: 0xC256,
+ 32778 - 11905: 0xC257,
+ 32779 - 11905: 0xF1F3,
+ 32780 - 11905: 0xB6F8,
+ 32781 - 11905: 0xCBA3,
+ 32782 - 11905: 0xC258,
+ 32783 - 11905: 0xC259,
+ 32784 - 11905: 0xC4CD,
+ 32785 - 11905: 0xC25A,
+ 32786 - 11905: 0xF1E7,
+ 32787 - 11905: 0xC25B,
+ 32788 - 11905: 0xF1E8,
+ 32789 - 11905: 0xB8FB,
+ 32790 - 11905: 0xF1E9,
+ 32791 - 11905: 0xBAC4,
+ 32792 - 11905: 0xD4C5,
+ 32793 - 11905: 0xB0D2,
+ 32794 - 11905: 0xC25C,
+ 32795 - 11905: 0xC25D,
+ 32796 - 11905: 0xF1EA,
+ 32797 - 11905: 0xC25E,
+ 32798 - 11905: 0xC25F,
+ 32799 - 11905: 0xC260,
+ 32800 - 11905: 0xF1EB,
+ 32801 - 11905: 0xC261,
+ 32802 - 11905: 0xF1EC,
+ 32803 - 11905: 0xC262,
+ 32804 - 11905: 0xC263,
+ 32805 - 11905: 0xF1ED,
+ 32806 - 11905: 0xF1EE,
+ 32807 - 11905: 0xF1EF,
+ 32808 - 11905: 0xF1F1,
+ 32809 - 11905: 0xF1F0,
+ 32810 - 11905: 0xC5D5,
+ 32811 - 11905: 0xC264,
+ 32812 - 11905: 0xC265,
+ 32813 - 11905: 0xC266,
+ 32814 - 11905: 0xC267,
+ 32815 - 11905: 0xC268,
+ 32816 - 11905: 0xC269,
+ 32817 - 11905: 0xF1F2,
+ 32818 - 11905: 0xC26A,
+ 32819 - 11905: 0xB6FA,
+ 32820 - 11905: 0xC26B,
+ 32821 - 11905: 0xF1F4,
+ 32822 - 11905: 0xD2AE,
+ 32823 - 11905: 0xDEC7,
+ 32824 - 11905: 0xCBCA,
+ 32825 - 11905: 0xC26C,
+ 32826 - 11905: 0xC26D,
+ 32827 - 11905: 0xB3DC,
+ 32828 - 11905: 0xC26E,
+ 32829 - 11905: 0xB5A2,
+ 32830 - 11905: 0xC26F,
+ 32831 - 11905: 0xB9A2,
+ 32832 - 11905: 0xC270,
+ 32833 - 11905: 0xC271,
+ 32834 - 11905: 0xC4F4,
+ 32835 - 11905: 0xF1F5,
+ 32836 - 11905: 0xC272,
+ 32837 - 11905: 0xC273,
+ 32838 - 11905: 0xF1F6,
+ 32839 - 11905: 0xC274,
+ 32840 - 11905: 0xC275,
+ 32841 - 11905: 0xC276,
+ 32842 - 11905: 0xC1C4,
+ 32843 - 11905: 0xC1FB,
+ 32844 - 11905: 0xD6B0,
+ 32845 - 11905: 0xF1F7,
+ 32846 - 11905: 0xC277,
+ 32847 - 11905: 0xC278,
+ 32848 - 11905: 0xC279,
+ 32849 - 11905: 0xC27A,
+ 32850 - 11905: 0xF1F8,
+ 32851 - 11905: 0xC27B,
+ 32852 - 11905: 0xC1AA,
+ 32853 - 11905: 0xC27C,
+ 32854 - 11905: 0xC27D,
+ 32855 - 11905: 0xC27E,
+ 32856 - 11905: 0xC6B8,
+ 32857 - 11905: 0xC280,
+ 32858 - 11905: 0xBEDB,
+ 32859 - 11905: 0xC281,
+ 32860 - 11905: 0xC282,
+ 32861 - 11905: 0xC283,
+ 32862 - 11905: 0xC284,
+ 32863 - 11905: 0xC285,
+ 32864 - 11905: 0xC286,
+ 32865 - 11905: 0xC287,
+ 32866 - 11905: 0xC288,
+ 32867 - 11905: 0xC289,
+ 32868 - 11905: 0xC28A,
+ 32869 - 11905: 0xC28B,
+ 32870 - 11905: 0xC28C,
+ 32871 - 11905: 0xC28D,
+ 32872 - 11905: 0xC28E,
+ 32873 - 11905: 0xF1F9,
+ 32874 - 11905: 0xB4CF,
+ 32875 - 11905: 0xC28F,
+ 32876 - 11905: 0xC290,
+ 32877 - 11905: 0xC291,
+ 32878 - 11905: 0xC292,
+ 32879 - 11905: 0xC293,
+ 32880 - 11905: 0xC294,
+ 32881 - 11905: 0xF1FA,
+ 32882 - 11905: 0xC295,
+ 32883 - 11905: 0xC296,
+ 32884 - 11905: 0xC297,
+ 32885 - 11905: 0xC298,
+ 32886 - 11905: 0xC299,
+ 32887 - 11905: 0xC29A,
+ 32888 - 11905: 0xC29B,
+ 32889 - 11905: 0xC29C,
+ 32890 - 11905: 0xC29D,
+ 32891 - 11905: 0xC29E,
+ 32892 - 11905: 0xC29F,
+ 32893 - 11905: 0xC2A0,
+ 32894 - 11905: 0xC340,
+ 32895 - 11905: 0xEDB2,
+ 32896 - 11905: 0xEDB1,
+ 32897 - 11905: 0xC341,
+ 32898 - 11905: 0xC342,
+ 32899 - 11905: 0xCBE0,
+ 32900 - 11905: 0xD2DE,
+ 32901 - 11905: 0xC343,
+ 32902 - 11905: 0xCBC1,
+ 32903 - 11905: 0xD5D8,
+ 32904 - 11905: 0xC344,
+ 32905 - 11905: 0xC8E2,
+ 32906 - 11905: 0xC345,
+ 32907 - 11905: 0xC0DF,
+ 32908 - 11905: 0xBCA1,
+ 32909 - 11905: 0xC346,
+ 32910 - 11905: 0xC347,
+ 32911 - 11905: 0xC348,
+ 32912 - 11905: 0xC349,
+ 32913 - 11905: 0xC34A,
+ 32914 - 11905: 0xC34B,
+ 32915 - 11905: 0xEBC1,
+ 32916 - 11905: 0xC34C,
+ 32917 - 11905: 0xC34D,
+ 32918 - 11905: 0xD0A4,
+ 32919 - 11905: 0xC34E,
+ 32920 - 11905: 0xD6E2,
+ 32921 - 11905: 0xC34F,
+ 32922 - 11905: 0xB6C7,
+ 32923 - 11905: 0xB8D8,
+ 32924 - 11905: 0xEBC0,
+ 32925 - 11905: 0xB8CE,
+ 32926 - 11905: 0xC350,
+ 32927 - 11905: 0xEBBF,
+ 32928 - 11905: 0xB3A6,
+ 32929 - 11905: 0xB9C9,
+ 32930 - 11905: 0xD6AB,
+ 32931 - 11905: 0xC351,
+ 32932 - 11905: 0xB7F4,
+ 32933 - 11905: 0xB7CA,
+ 32934 - 11905: 0xC352,
+ 32935 - 11905: 0xC353,
+ 32936 - 11905: 0xC354,
+ 32937 - 11905: 0xBCE7,
+ 32938 - 11905: 0xB7BE,
+ 32939 - 11905: 0xEBC6,
+ 32940 - 11905: 0xC355,
+ 32941 - 11905: 0xEBC7,
+ 32942 - 11905: 0xB0B9,
+ 32943 - 11905: 0xBFCF,
+ 32944 - 11905: 0xC356,
+ 32945 - 11905: 0xEBC5,
+ 32946 - 11905: 0xD3FD,
+ 32947 - 11905: 0xC357,
+ 32948 - 11905: 0xEBC8,
+ 32949 - 11905: 0xC358,
+ 32950 - 11905: 0xC359,
+ 32951 - 11905: 0xEBC9,
+ 32952 - 11905: 0xC35A,
+ 32953 - 11905: 0xC35B,
+ 32954 - 11905: 0xB7CE,
+ 32955 - 11905: 0xC35C,
+ 32956 - 11905: 0xEBC2,
+ 32957 - 11905: 0xEBC4,
+ 32958 - 11905: 0xC9F6,
+ 32959 - 11905: 0xD6D7,
+ 32960 - 11905: 0xD5CD,
+ 32961 - 11905: 0xD0B2,
+ 32962 - 11905: 0xEBCF,
+ 32963 - 11905: 0xCEB8,
+ 32964 - 11905: 0xEBD0,
+ 32965 - 11905: 0xC35D,
+ 32966 - 11905: 0xB5A8,
+ 32967 - 11905: 0xC35E,
+ 32968 - 11905: 0xC35F,
+ 32969 - 11905: 0xC360,
+ 32970 - 11905: 0xC361,
+ 32971 - 11905: 0xC362,
+ 32972 - 11905: 0xB1B3,
+ 32973 - 11905: 0xEBD2,
+ 32974 - 11905: 0xCCA5,
+ 32975 - 11905: 0xC363,
+ 32976 - 11905: 0xC364,
+ 32977 - 11905: 0xC365,
+ 32978 - 11905: 0xC366,
+ 32979 - 11905: 0xC367,
+ 32980 - 11905: 0xC368,
+ 32981 - 11905: 0xC369,
+ 32982 - 11905: 0xC5D6,
+ 32983 - 11905: 0xEBD3,
+ 32984 - 11905: 0xC36A,
+ 32985 - 11905: 0xEBD1,
+ 32986 - 11905: 0xC5DF,
+ 32987 - 11905: 0xEBCE,
+ 32988 - 11905: 0xCAA4,
+ 32989 - 11905: 0xEBD5,
+ 32990 - 11905: 0xB0FB,
+ 32991 - 11905: 0xC36B,
+ 32992 - 11905: 0xC36C,
+ 32993 - 11905: 0xBAFA,
+ 32994 - 11905: 0xC36D,
+ 32995 - 11905: 0xC36E,
+ 32996 - 11905: 0xD8B7,
+ 32997 - 11905: 0xF1E3,
+ 32998 - 11905: 0xC36F,
+ 32999 - 11905: 0xEBCA,
+ 33000 - 11905: 0xEBCB,
+ 33001 - 11905: 0xEBCC,
+ 33002 - 11905: 0xEBCD,
+ 33003 - 11905: 0xEBD6,
+ 33004 - 11905: 0xE6C0,
+ 33005 - 11905: 0xEBD9,
+ 33006 - 11905: 0xC370,
+ 33007 - 11905: 0xBFE8,
+ 33008 - 11905: 0xD2C8,
+ 33009 - 11905: 0xEBD7,
+ 33010 - 11905: 0xEBDC,
+ 33011 - 11905: 0xB8EC,
+ 33012 - 11905: 0xEBD8,
+ 33013 - 11905: 0xC371,
+ 33014 - 11905: 0xBDBA,
+ 33015 - 11905: 0xC372,
+ 33016 - 11905: 0xD0D8,
+ 33017 - 11905: 0xC373,
+ 33018 - 11905: 0xB0B7,
+ 33019 - 11905: 0xC374,
+ 33020 - 11905: 0xEBDD,
+ 33021 - 11905: 0xC4DC,
+ 33022 - 11905: 0xC375,
+ 33023 - 11905: 0xC376,
+ 33024 - 11905: 0xC377,
+ 33025 - 11905: 0xC378,
+ 33026 - 11905: 0xD6AC,
+ 33027 - 11905: 0xC379,
+ 33028 - 11905: 0xC37A,
+ 33029 - 11905: 0xC37B,
+ 33030 - 11905: 0xB4E0,
+ 33031 - 11905: 0xC37C,
+ 33032 - 11905: 0xC37D,
+ 33033 - 11905: 0xC2F6,
+ 33034 - 11905: 0xBCB9,
+ 33035 - 11905: 0xC37E,
+ 33036 - 11905: 0xC380,
+ 33037 - 11905: 0xEBDA,
+ 33038 - 11905: 0xEBDB,
+ 33039 - 11905: 0xD4E0,
+ 33040 - 11905: 0xC6EA,
+ 33041 - 11905: 0xC4D4,
+ 33042 - 11905: 0xEBDF,
+ 33043 - 11905: 0xC5A7,
+ 33044 - 11905: 0xD9F5,
+ 33045 - 11905: 0xC381,
+ 33046 - 11905: 0xB2B1,
+ 33047 - 11905: 0xC382,
+ 33048 - 11905: 0xEBE4,
+ 33049 - 11905: 0xC383,
+ 33050 - 11905: 0xBDC5,
+ 33051 - 11905: 0xC384,
+ 33052 - 11905: 0xC385,
+ 33053 - 11905: 0xC386,
+ 33054 - 11905: 0xEBE2,
+ 33055 - 11905: 0xC387,
+ 33056 - 11905: 0xC388,
+ 33057 - 11905: 0xC389,
+ 33058 - 11905: 0xC38A,
+ 33059 - 11905: 0xC38B,
+ 33060 - 11905: 0xC38C,
+ 33061 - 11905: 0xC38D,
+ 33062 - 11905: 0xC38E,
+ 33063 - 11905: 0xC38F,
+ 33064 - 11905: 0xC390,
+ 33065 - 11905: 0xC391,
+ 33066 - 11905: 0xC392,
+ 33067 - 11905: 0xC393,
+ 33068 - 11905: 0xEBE3,
+ 33069 - 11905: 0xC394,
+ 33070 - 11905: 0xC395,
+ 33071 - 11905: 0xB8AC,
+ 33072 - 11905: 0xC396,
+ 33073 - 11905: 0xCDD1,
+ 33074 - 11905: 0xEBE5,
+ 33075 - 11905: 0xC397,
+ 33076 - 11905: 0xC398,
+ 33077 - 11905: 0xC399,
+ 33078 - 11905: 0xEBE1,
+ 33079 - 11905: 0xC39A,
+ 33080 - 11905: 0xC1B3,
+ 33081 - 11905: 0xC39B,
+ 33082 - 11905: 0xC39C,
+ 33083 - 11905: 0xC39D,
+ 33084 - 11905: 0xC39E,
+ 33085 - 11905: 0xC39F,
+ 33086 - 11905: 0xC6A2,
+ 33087 - 11905: 0xC3A0,
+ 33088 - 11905: 0xC440,
+ 33089 - 11905: 0xC441,
+ 33090 - 11905: 0xC442,
+ 33091 - 11905: 0xC443,
+ 33092 - 11905: 0xC444,
+ 33093 - 11905: 0xC445,
+ 33094 - 11905: 0xCCF3,
+ 33095 - 11905: 0xC446,
+ 33096 - 11905: 0xEBE6,
+ 33097 - 11905: 0xC447,
+ 33098 - 11905: 0xC0B0,
+ 33099 - 11905: 0xD2B8,
+ 33100 - 11905: 0xEBE7,
+ 33101 - 11905: 0xC448,
+ 33102 - 11905: 0xC449,
+ 33103 - 11905: 0xC44A,
+ 33104 - 11905: 0xB8AF,
+ 33105 - 11905: 0xB8AD,
+ 33106 - 11905: 0xC44B,
+ 33107 - 11905: 0xEBE8,
+ 33108 - 11905: 0xC7BB,
+ 33109 - 11905: 0xCDF3,
+ 33110 - 11905: 0xC44C,
+ 33111 - 11905: 0xC44D,
+ 33112 - 11905: 0xC44E,
+ 33113 - 11905: 0xEBEA,
+ 33114 - 11905: 0xEBEB,
+ 33115 - 11905: 0xC44F,
+ 33116 - 11905: 0xC450,
+ 33117 - 11905: 0xC451,
+ 33118 - 11905: 0xC452,
+ 33119 - 11905: 0xC453,
+ 33120 - 11905: 0xEBED,
+ 33121 - 11905: 0xC454,
+ 33122 - 11905: 0xC455,
+ 33123 - 11905: 0xC456,
+ 33124 - 11905: 0xC457,
+ 33125 - 11905: 0xD0C8,
+ 33126 - 11905: 0xC458,
+ 33127 - 11905: 0xEBF2,
+ 33128 - 11905: 0xC459,
+ 33129 - 11905: 0xEBEE,
+ 33130 - 11905: 0xC45A,
+ 33131 - 11905: 0xC45B,
+ 33132 - 11905: 0xC45C,
+ 33133 - 11905: 0xEBF1,
+ 33134 - 11905: 0xC8F9,
+ 33135 - 11905: 0xC45D,
+ 33136 - 11905: 0xD1FC,
+ 33137 - 11905: 0xEBEC,
+ 33138 - 11905: 0xC45E,
+ 33139 - 11905: 0xC45F,
+ 33140 - 11905: 0xEBE9,
+ 33141 - 11905: 0xC460,
+ 33142 - 11905: 0xC461,
+ 33143 - 11905: 0xC462,
+ 33144 - 11905: 0xC463,
+ 33145 - 11905: 0xB8B9,
+ 33146 - 11905: 0xCFD9,
+ 33147 - 11905: 0xC4E5,
+ 33148 - 11905: 0xEBEF,
+ 33149 - 11905: 0xEBF0,
+ 33150 - 11905: 0xCCDA,
+ 33151 - 11905: 0xCDC8,
+ 33152 - 11905: 0xB0F2,
+ 33153 - 11905: 0xC464,
+ 33154 - 11905: 0xEBF6,
+ 33155 - 11905: 0xC465,
+ 33156 - 11905: 0xC466,
+ 33157 - 11905: 0xC467,
+ 33158 - 11905: 0xC468,
+ 33159 - 11905: 0xC469,
+ 33160 - 11905: 0xEBF5,
+ 33161 - 11905: 0xC46A,
+ 33162 - 11905: 0xB2B2,
+ 33163 - 11905: 0xC46B,
+ 33164 - 11905: 0xC46C,
+ 33165 - 11905: 0xC46D,
+ 33166 - 11905: 0xC46E,
+ 33167 - 11905: 0xB8E0,
+ 33168 - 11905: 0xC46F,
+ 33169 - 11905: 0xEBF7,
+ 33170 - 11905: 0xC470,
+ 33171 - 11905: 0xC471,
+ 33172 - 11905: 0xC472,
+ 33173 - 11905: 0xC473,
+ 33174 - 11905: 0xC474,
+ 33175 - 11905: 0xC475,
+ 33176 - 11905: 0xB1EC,
+ 33177 - 11905: 0xC476,
+ 33178 - 11905: 0xC477,
+ 33179 - 11905: 0xCCC5,
+ 33180 - 11905: 0xC4A4,
+ 33181 - 11905: 0xCFA5,
+ 33182 - 11905: 0xC478,
+ 33183 - 11905: 0xC479,
+ 33184 - 11905: 0xC47A,
+ 33185 - 11905: 0xC47B,
+ 33186 - 11905: 0xC47C,
+ 33187 - 11905: 0xEBF9,
+ 33188 - 11905: 0xC47D,
+ 33189 - 11905: 0xC47E,
+ 33190 - 11905: 0xECA2,
+ 33191 - 11905: 0xC480,
+ 33192 - 11905: 0xC5F2,
+ 33193 - 11905: 0xC481,
+ 33194 - 11905: 0xEBFA,
+ 33195 - 11905: 0xC482,
+ 33196 - 11905: 0xC483,
+ 33197 - 11905: 0xC484,
+ 33198 - 11905: 0xC485,
+ 33199 - 11905: 0xC486,
+ 33200 - 11905: 0xC487,
+ 33201 - 11905: 0xC488,
+ 33202 - 11905: 0xC489,
+ 33203 - 11905: 0xC9C5,
+ 33204 - 11905: 0xC48A,
+ 33205 - 11905: 0xC48B,
+ 33206 - 11905: 0xC48C,
+ 33207 - 11905: 0xC48D,
+ 33208 - 11905: 0xC48E,
+ 33209 - 11905: 0xC48F,
+ 33210 - 11905: 0xE2DF,
+ 33211 - 11905: 0xEBFE,
+ 33212 - 11905: 0xC490,
+ 33213 - 11905: 0xC491,
+ 33214 - 11905: 0xC492,
+ 33215 - 11905: 0xC493,
+ 33216 - 11905: 0xCDCE,
+ 33217 - 11905: 0xECA1,
+ 33218 - 11905: 0xB1DB,
+ 33219 - 11905: 0xD3B7,
+ 33220 - 11905: 0xC494,
+ 33221 - 11905: 0xC495,
+ 33222 - 11905: 0xD2DC,
+ 33223 - 11905: 0xC496,
+ 33224 - 11905: 0xC497,
+ 33225 - 11905: 0xC498,
+ 33226 - 11905: 0xEBFD,
+ 33227 - 11905: 0xC499,
+ 33228 - 11905: 0xEBFB,
+ 33229 - 11905: 0xC49A,
+ 33230 - 11905: 0xC49B,
+ 33231 - 11905: 0xC49C,
+ 33232 - 11905: 0xC49D,
+ 33233 - 11905: 0xC49E,
+ 33234 - 11905: 0xC49F,
+ 33235 - 11905: 0xC4A0,
+ 33236 - 11905: 0xC540,
+ 33237 - 11905: 0xC541,
+ 33238 - 11905: 0xC542,
+ 33239 - 11905: 0xC543,
+ 33240 - 11905: 0xC544,
+ 33241 - 11905: 0xC545,
+ 33242 - 11905: 0xC546,
+ 33243 - 11905: 0xC547,
+ 33244 - 11905: 0xC548,
+ 33245 - 11905: 0xC549,
+ 33246 - 11905: 0xC54A,
+ 33247 - 11905: 0xC54B,
+ 33248 - 11905: 0xC54C,
+ 33249 - 11905: 0xC54D,
+ 33250 - 11905: 0xC54E,
+ 33251 - 11905: 0xB3BC,
+ 33252 - 11905: 0xC54F,
+ 33253 - 11905: 0xC550,
+ 33254 - 11905: 0xC551,
+ 33255 - 11905: 0xEAB0,
+ 33256 - 11905: 0xC552,
+ 33257 - 11905: 0xC553,
+ 33258 - 11905: 0xD7D4,
+ 33259 - 11905: 0xC554,
+ 33260 - 11905: 0xF4AB,
+ 33261 - 11905: 0xB3F4,
+ 33262 - 11905: 0xC555,
+ 33263 - 11905: 0xC556,
+ 33264 - 11905: 0xC557,
+ 33265 - 11905: 0xC558,
+ 33266 - 11905: 0xC559,
+ 33267 - 11905: 0xD6C1,
+ 33268 - 11905: 0xD6C2,
+ 33269 - 11905: 0xC55A,
+ 33270 - 11905: 0xC55B,
+ 33271 - 11905: 0xC55C,
+ 33272 - 11905: 0xC55D,
+ 33273 - 11905: 0xC55E,
+ 33274 - 11905: 0xC55F,
+ 33275 - 11905: 0xD5E9,
+ 33276 - 11905: 0xBECA,
+ 33277 - 11905: 0xC560,
+ 33278 - 11905: 0xF4A7,
+ 33279 - 11905: 0xC561,
+ 33280 - 11905: 0xD2A8,
+ 33281 - 11905: 0xF4A8,
+ 33282 - 11905: 0xF4A9,
+ 33283 - 11905: 0xC562,
+ 33284 - 11905: 0xF4AA,
+ 33285 - 11905: 0xBECB,
+ 33286 - 11905: 0xD3DF,
+ 33287 - 11905: 0xC563,
+ 33288 - 11905: 0xC564,
+ 33289 - 11905: 0xC565,
+ 33290 - 11905: 0xC566,
+ 33291 - 11905: 0xC567,
+ 33292 - 11905: 0xC9E0,
+ 33293 - 11905: 0xC9E1,
+ 33294 - 11905: 0xC568,
+ 33295 - 11905: 0xC569,
+ 33296 - 11905: 0xF3C2,
+ 33297 - 11905: 0xC56A,
+ 33298 - 11905: 0xCAE6,
+ 33299 - 11905: 0xC56B,
+ 33300 - 11905: 0xCCF2,
+ 33301 - 11905: 0xC56C,
+ 33302 - 11905: 0xC56D,
+ 33303 - 11905: 0xC56E,
+ 33304 - 11905: 0xC56F,
+ 33305 - 11905: 0xC570,
+ 33306 - 11905: 0xC571,
+ 33307 - 11905: 0xE2B6,
+ 33308 - 11905: 0xCBB4,
+ 33309 - 11905: 0xC572,
+ 33310 - 11905: 0xCEE8,
+ 33311 - 11905: 0xD6DB,
+ 33312 - 11905: 0xC573,
+ 33313 - 11905: 0xF4AD,
+ 33314 - 11905: 0xF4AE,
+ 33315 - 11905: 0xF4AF,
+ 33316 - 11905: 0xC574,
+ 33317 - 11905: 0xC575,
+ 33318 - 11905: 0xC576,
+ 33319 - 11905: 0xC577,
+ 33320 - 11905: 0xF4B2,
+ 33321 - 11905: 0xC578,
+ 33322 - 11905: 0xBABD,
+ 33323 - 11905: 0xF4B3,
+ 33324 - 11905: 0xB0E3,
+ 33325 - 11905: 0xF4B0,
+ 33326 - 11905: 0xC579,
+ 33327 - 11905: 0xF4B1,
+ 33328 - 11905: 0xBDA2,
+ 33329 - 11905: 0xB2D5,
+ 33330 - 11905: 0xC57A,
+ 33331 - 11905: 0xF4B6,
+ 33332 - 11905: 0xF4B7,
+ 33333 - 11905: 0xB6E6,
+ 33334 - 11905: 0xB2B0,
+ 33335 - 11905: 0xCFCF,
+ 33336 - 11905: 0xF4B4,
+ 33337 - 11905: 0xB4AC,
+ 33338 - 11905: 0xC57B,
+ 33339 - 11905: 0xF4B5,
+ 33340 - 11905: 0xC57C,
+ 33341 - 11905: 0xC57D,
+ 33342 - 11905: 0xF4B8,
+ 33343 - 11905: 0xC57E,
+ 33344 - 11905: 0xC580,
+ 33345 - 11905: 0xC581,
+ 33346 - 11905: 0xC582,
+ 33347 - 11905: 0xC583,
+ 33348 - 11905: 0xF4B9,
+ 33349 - 11905: 0xC584,
+ 33350 - 11905: 0xC585,
+ 33351 - 11905: 0xCDA7,
+ 33352 - 11905: 0xC586,
+ 33353 - 11905: 0xF4BA,
+ 33354 - 11905: 0xC587,
+ 33355 - 11905: 0xF4BB,
+ 33356 - 11905: 0xC588,
+ 33357 - 11905: 0xC589,
+ 33358 - 11905: 0xC58A,
+ 33359 - 11905: 0xF4BC,
+ 33360 - 11905: 0xC58B,
+ 33361 - 11905: 0xC58C,
+ 33362 - 11905: 0xC58D,
+ 33363 - 11905: 0xC58E,
+ 33364 - 11905: 0xC58F,
+ 33365 - 11905: 0xC590,
+ 33366 - 11905: 0xC591,
+ 33367 - 11905: 0xC592,
+ 33368 - 11905: 0xCBD2,
+ 33369 - 11905: 0xC593,
+ 33370 - 11905: 0xF4BD,
+ 33371 - 11905: 0xC594,
+ 33372 - 11905: 0xC595,
+ 33373 - 11905: 0xC596,
+ 33374 - 11905: 0xC597,
+ 33375 - 11905: 0xF4BE,
+ 33376 - 11905: 0xC598,
+ 33377 - 11905: 0xC599,
+ 33378 - 11905: 0xC59A,
+ 33379 - 11905: 0xC59B,
+ 33380 - 11905: 0xC59C,
+ 33381 - 11905: 0xC59D,
+ 33382 - 11905: 0xC59E,
+ 33383 - 11905: 0xC59F,
+ 33384 - 11905: 0xF4BF,
+ 33385 - 11905: 0xC5A0,
+ 33386 - 11905: 0xC640,
+ 33387 - 11905: 0xC641,
+ 33388 - 11905: 0xC642,
+ 33389 - 11905: 0xC643,
+ 33390 - 11905: 0xF4DE,
+ 33391 - 11905: 0xC1BC,
+ 33392 - 11905: 0xBCE8,
+ 33393 - 11905: 0xC644,
+ 33394 - 11905: 0xC9AB,
+ 33395 - 11905: 0xD1DE,
+ 33396 - 11905: 0xE5F5,
+ 33397 - 11905: 0xC645,
+ 33398 - 11905: 0xC646,
+ 33399 - 11905: 0xC647,
+ 33400 - 11905: 0xC648,
+ 33401 - 11905: 0xDCB3,
+ 33402 - 11905: 0xD2D5,
+ 33403 - 11905: 0xC649,
+ 33404 - 11905: 0xC64A,
+ 33405 - 11905: 0xDCB4,
+ 33406 - 11905: 0xB0AC,
+ 33407 - 11905: 0xDCB5,
+ 33408 - 11905: 0xC64B,
+ 33409 - 11905: 0xC64C,
+ 33410 - 11905: 0xBDDA,
+ 33411 - 11905: 0xC64D,
+ 33412 - 11905: 0xDCB9,
+ 33413 - 11905: 0xC64E,
+ 33414 - 11905: 0xC64F,
+ 33415 - 11905: 0xC650,
+ 33416 - 11905: 0xD8C2,
+ 33417 - 11905: 0xC651,
+ 33418 - 11905: 0xDCB7,
+ 33419 - 11905: 0xD3F3,
+ 33420 - 11905: 0xC652,
+ 33421 - 11905: 0xC9D6,
+ 33422 - 11905: 0xDCBA,
+ 33423 - 11905: 0xDCB6,
+ 33424 - 11905: 0xC653,
+ 33425 - 11905: 0xDCBB,
+ 33426 - 11905: 0xC3A2,
+ 33427 - 11905: 0xC654,
+ 33428 - 11905: 0xC655,
+ 33429 - 11905: 0xC656,
+ 33430 - 11905: 0xC657,
+ 33431 - 11905: 0xDCBC,
+ 33432 - 11905: 0xDCC5,
+ 33433 - 11905: 0xDCBD,
+ 33434 - 11905: 0xC658,
+ 33435 - 11905: 0xC659,
+ 33436 - 11905: 0xCEDF,
+ 33437 - 11905: 0xD6A5,
+ 33438 - 11905: 0xC65A,
+ 33439 - 11905: 0xDCCF,
+ 33440 - 11905: 0xC65B,
+ 33441 - 11905: 0xDCCD,
+ 33442 - 11905: 0xC65C,
+ 33443 - 11905: 0xC65D,
+ 33444 - 11905: 0xDCD2,
+ 33445 - 11905: 0xBDE6,
+ 33446 - 11905: 0xC2AB,
+ 33447 - 11905: 0xC65E,
+ 33448 - 11905: 0xDCB8,
+ 33449 - 11905: 0xDCCB,
+ 33450 - 11905: 0xDCCE,
+ 33451 - 11905: 0xDCBE,
+ 33452 - 11905: 0xB7D2,
+ 33453 - 11905: 0xB0C5,
+ 33454 - 11905: 0xDCC7,
+ 33455 - 11905: 0xD0BE,
+ 33456 - 11905: 0xDCC1,
+ 33457 - 11905: 0xBBA8,
+ 33458 - 11905: 0xC65F,
+ 33459 - 11905: 0xB7BC,
+ 33460 - 11905: 0xDCCC,
+ 33461 - 11905: 0xC660,
+ 33462 - 11905: 0xC661,
+ 33463 - 11905: 0xDCC6,
+ 33464 - 11905: 0xDCBF,
+ 33465 - 11905: 0xC7DB,
+ 33466 - 11905: 0xC662,
+ 33467 - 11905: 0xC663,
+ 33468 - 11905: 0xC664,
+ 33469 - 11905: 0xD1BF,
+ 33470 - 11905: 0xDCC0,
+ 33471 - 11905: 0xC665,
+ 33472 - 11905: 0xC666,
+ 33473 - 11905: 0xDCCA,
+ 33474 - 11905: 0xC667,
+ 33475 - 11905: 0xC668,
+ 33476 - 11905: 0xDCD0,
+ 33477 - 11905: 0xC669,
+ 33478 - 11905: 0xC66A,
+ 33479 - 11905: 0xCEAD,
+ 33480 - 11905: 0xDCC2,
+ 33481 - 11905: 0xC66B,
+ 33482 - 11905: 0xDCC3,
+ 33483 - 11905: 0xDCC8,
+ 33484 - 11905: 0xDCC9,
+ 33485 - 11905: 0xB2D4,
+ 33486 - 11905: 0xDCD1,
+ 33487 - 11905: 0xCBD5,
+ 33488 - 11905: 0xC66C,
+ 33489 - 11905: 0xD4B7,
+ 33490 - 11905: 0xDCDB,
+ 33491 - 11905: 0xDCDF,
+ 33492 - 11905: 0xCCA6,
+ 33493 - 11905: 0xDCE6,
+ 33494 - 11905: 0xC66D,
+ 33495 - 11905: 0xC3E7,
+ 33496 - 11905: 0xDCDC,
+ 33497 - 11905: 0xC66E,
+ 33498 - 11905: 0xC66F,
+ 33499 - 11905: 0xBFC1,
+ 33500 - 11905: 0xDCD9,
+ 33501 - 11905: 0xC670,
+ 33502 - 11905: 0xB0FA,
+ 33503 - 11905: 0xB9B6,
+ 33504 - 11905: 0xDCE5,
+ 33505 - 11905: 0xDCD3,
+ 33506 - 11905: 0xC671,
+ 33507 - 11905: 0xDCC4,
+ 33508 - 11905: 0xDCD6,
+ 33509 - 11905: 0xC8F4,
+ 33510 - 11905: 0xBFE0,
+ 33511 - 11905: 0xC672,
+ 33512 - 11905: 0xC673,
+ 33513 - 11905: 0xC674,
+ 33514 - 11905: 0xC675,
+ 33515 - 11905: 0xC9BB,
+ 33516 - 11905: 0xC676,
+ 33517 - 11905: 0xC677,
+ 33518 - 11905: 0xC678,
+ 33519 - 11905: 0xB1BD,
+ 33520 - 11905: 0xC679,
+ 33521 - 11905: 0xD3A2,
+ 33522 - 11905: 0xC67A,
+ 33523 - 11905: 0xC67B,
+ 33524 - 11905: 0xDCDA,
+ 33525 - 11905: 0xC67C,
+ 33526 - 11905: 0xC67D,
+ 33527 - 11905: 0xDCD5,
+ 33528 - 11905: 0xC67E,
+ 33529 - 11905: 0xC6BB,
+ 33530 - 11905: 0xC680,
+ 33531 - 11905: 0xDCDE,
+ 33532 - 11905: 0xC681,
+ 33533 - 11905: 0xC682,
+ 33534 - 11905: 0xC683,
+ 33535 - 11905: 0xC684,
+ 33536 - 11905: 0xC685,
+ 33537 - 11905: 0xD7C2,
+ 33538 - 11905: 0xC3AF,
+ 33539 - 11905: 0xB7B6,
+ 33540 - 11905: 0xC7D1,
+ 33541 - 11905: 0xC3A9,
+ 33542 - 11905: 0xDCE2,
+ 33543 - 11905: 0xDCD8,
+ 33544 - 11905: 0xDCEB,
+ 33545 - 11905: 0xDCD4,
+ 33546 - 11905: 0xC686,
+ 33547 - 11905: 0xC687,
+ 33548 - 11905: 0xDCDD,
+ 33549 - 11905: 0xC688,
+ 33550 - 11905: 0xBEA5,
+ 33551 - 11905: 0xDCD7,
+ 33552 - 11905: 0xC689,
+ 33553 - 11905: 0xDCE0,
+ 33554 - 11905: 0xC68A,
+ 33555 - 11905: 0xC68B,
+ 33556 - 11905: 0xDCE3,
+ 33557 - 11905: 0xDCE4,
+ 33558 - 11905: 0xC68C,
+ 33559 - 11905: 0xDCF8,
+ 33560 - 11905: 0xC68D,
+ 33561 - 11905: 0xC68E,
+ 33562 - 11905: 0xDCE1,
+ 33563 - 11905: 0xDDA2,
+ 33564 - 11905: 0xDCE7,
+ 33565 - 11905: 0xC68F,
+ 33566 - 11905: 0xC690,
+ 33567 - 11905: 0xC691,
+ 33568 - 11905: 0xC692,
+ 33569 - 11905: 0xC693,
+ 33570 - 11905: 0xC694,
+ 33571 - 11905: 0xC695,
+ 33572 - 11905: 0xC696,
+ 33573 - 11905: 0xC697,
+ 33574 - 11905: 0xC698,
+ 33575 - 11905: 0xBCEB,
+ 33576 - 11905: 0xB4C4,
+ 33577 - 11905: 0xC699,
+ 33578 - 11905: 0xC69A,
+ 33579 - 11905: 0xC3A3,
+ 33580 - 11905: 0xB2E7,
+ 33581 - 11905: 0xDCFA,
+ 33582 - 11905: 0xC69B,
+ 33583 - 11905: 0xDCF2,
+ 33584 - 11905: 0xC69C,
+ 33585 - 11905: 0xDCEF,
+ 33586 - 11905: 0xC69D,
+ 33587 - 11905: 0xDCFC,
+ 33588 - 11905: 0xDCEE,
+ 33589 - 11905: 0xD2F0,
+ 33590 - 11905: 0xB2E8,
+ 33591 - 11905: 0xC69E,
+ 33592 - 11905: 0xC8D7,
+ 33593 - 11905: 0xC8E3,
+ 33594 - 11905: 0xDCFB,
+ 33595 - 11905: 0xC69F,
+ 33596 - 11905: 0xDCED,
+ 33597 - 11905: 0xC6A0,
+ 33598 - 11905: 0xC740,
+ 33599 - 11905: 0xC741,
+ 33600 - 11905: 0xDCF7,
+ 33601 - 11905: 0xC742,
+ 33602 - 11905: 0xC743,
+ 33603 - 11905: 0xDCF5,
+ 33604 - 11905: 0xC744,
+ 33605 - 11905: 0xC745,
+ 33606 - 11905: 0xBEA3,
+ 33607 - 11905: 0xDCF4,
+ 33608 - 11905: 0xC746,
+ 33609 - 11905: 0xB2DD,
+ 33610 - 11905: 0xC747,
+ 33611 - 11905: 0xC748,
+ 33612 - 11905: 0xC749,
+ 33613 - 11905: 0xC74A,
+ 33614 - 11905: 0xC74B,
+ 33615 - 11905: 0xDCF3,
+ 33616 - 11905: 0xBCF6,
+ 33617 - 11905: 0xDCE8,
+ 33618 - 11905: 0xBBC4,
+ 33619 - 11905: 0xC74C,
+ 33620 - 11905: 0xC0F3,
+ 33621 - 11905: 0xC74D,
+ 33622 - 11905: 0xC74E,
+ 33623 - 11905: 0xC74F,
+ 33624 - 11905: 0xC750,
+ 33625 - 11905: 0xC751,
+ 33626 - 11905: 0xBCD4,
+ 33627 - 11905: 0xDCE9,
+ 33628 - 11905: 0xDCEA,
+ 33629 - 11905: 0xC752,
+ 33630 - 11905: 0xDCF1,
+ 33631 - 11905: 0xDCF6,
+ 33632 - 11905: 0xDCF9,
+ 33633 - 11905: 0xB5B4,
+ 33634 - 11905: 0xC753,
+ 33635 - 11905: 0xC8D9,
+ 33636 - 11905: 0xBBE7,
+ 33637 - 11905: 0xDCFE,
+ 33638 - 11905: 0xDCFD,
+ 33639 - 11905: 0xD3AB,
+ 33640 - 11905: 0xDDA1,
+ 33641 - 11905: 0xDDA3,
+ 33642 - 11905: 0xDDA5,
+ 33643 - 11905: 0xD2F1,
+ 33644 - 11905: 0xDDA4,
+ 33645 - 11905: 0xDDA6,
+ 33646 - 11905: 0xDDA7,
+ 33647 - 11905: 0xD2A9,
+ 33648 - 11905: 0xC754,
+ 33649 - 11905: 0xC755,
+ 33650 - 11905: 0xC756,
+ 33651 - 11905: 0xC757,
+ 33652 - 11905: 0xC758,
+ 33653 - 11905: 0xC759,
+ 33654 - 11905: 0xC75A,
+ 33655 - 11905: 0xBAC9,
+ 33656 - 11905: 0xDDA9,
+ 33657 - 11905: 0xC75B,
+ 33658 - 11905: 0xC75C,
+ 33659 - 11905: 0xDDB6,
+ 33660 - 11905: 0xDDB1,
+ 33661 - 11905: 0xDDB4,
+ 33662 - 11905: 0xC75D,
+ 33663 - 11905: 0xC75E,
+ 33664 - 11905: 0xC75F,
+ 33665 - 11905: 0xC760,
+ 33666 - 11905: 0xC761,
+ 33667 - 11905: 0xC762,
+ 33668 - 11905: 0xC763,
+ 33669 - 11905: 0xDDB0,
+ 33670 - 11905: 0xC6CE,
+ 33671 - 11905: 0xC764,
+ 33672 - 11905: 0xC765,
+ 33673 - 11905: 0xC0F2,
+ 33674 - 11905: 0xC766,
+ 33675 - 11905: 0xC767,
+ 33676 - 11905: 0xC768,
+ 33677 - 11905: 0xC769,
+ 33678 - 11905: 0xC9AF,
+ 33679 - 11905: 0xC76A,
+ 33680 - 11905: 0xC76B,
+ 33681 - 11905: 0xC76C,
+ 33682 - 11905: 0xDCEC,
+ 33683 - 11905: 0xDDAE,
+ 33684 - 11905: 0xC76D,
+ 33685 - 11905: 0xC76E,
+ 33686 - 11905: 0xC76F,
+ 33687 - 11905: 0xC770,
+ 33688 - 11905: 0xDDB7,
+ 33689 - 11905: 0xC771,
+ 33690 - 11905: 0xC772,
+ 33691 - 11905: 0xDCF0,
+ 33692 - 11905: 0xDDAF,
+ 33693 - 11905: 0xC773,
+ 33694 - 11905: 0xDDB8,
+ 33695 - 11905: 0xC774,
+ 33696 - 11905: 0xDDAC,
+ 33697 - 11905: 0xC775,
+ 33698 - 11905: 0xC776,
+ 33699 - 11905: 0xC777,
+ 33700 - 11905: 0xC778,
+ 33701 - 11905: 0xC779,
+ 33702 - 11905: 0xC77A,
+ 33703 - 11905: 0xC77B,
+ 33704 - 11905: 0xDDB9,
+ 33705 - 11905: 0xDDB3,
+ 33706 - 11905: 0xDDAD,
+ 33707 - 11905: 0xC4AA,
+ 33708 - 11905: 0xC77C,
+ 33709 - 11905: 0xC77D,
+ 33710 - 11905: 0xC77E,
+ 33711 - 11905: 0xC780,
+ 33712 - 11905: 0xDDA8,
+ 33713 - 11905: 0xC0B3,
+ 33714 - 11905: 0xC1AB,
+ 33715 - 11905: 0xDDAA,
+ 33716 - 11905: 0xDDAB,
+ 33717 - 11905: 0xC781,
+ 33718 - 11905: 0xDDB2,
+ 33719 - 11905: 0xBBF1,
+ 33720 - 11905: 0xDDB5,
+ 33721 - 11905: 0xD3A8,
+ 33722 - 11905: 0xDDBA,
+ 33723 - 11905: 0xC782,
+ 33724 - 11905: 0xDDBB,
+ 33725 - 11905: 0xC3A7,
+ 33726 - 11905: 0xC783,
+ 33727 - 11905: 0xC784,
+ 33728 - 11905: 0xDDD2,
+ 33729 - 11905: 0xDDBC,
+ 33730 - 11905: 0xC785,
+ 33731 - 11905: 0xC786,
+ 33732 - 11905: 0xC787,
+ 33733 - 11905: 0xDDD1,
+ 33734 - 11905: 0xC788,
+ 33735 - 11905: 0xB9BD,
+ 33736 - 11905: 0xC789,
+ 33737 - 11905: 0xC78A,
+ 33738 - 11905: 0xBED5,
+ 33739 - 11905: 0xC78B,
+ 33740 - 11905: 0xBEFA,
+ 33741 - 11905: 0xC78C,
+ 33742 - 11905: 0xC78D,
+ 33743 - 11905: 0xBACA,
+ 33744 - 11905: 0xC78E,
+ 33745 - 11905: 0xC78F,
+ 33746 - 11905: 0xC790,
+ 33747 - 11905: 0xC791,
+ 33748 - 11905: 0xDDCA,
+ 33749 - 11905: 0xC792,
+ 33750 - 11905: 0xDDC5,
+ 33751 - 11905: 0xC793,
+ 33752 - 11905: 0xDDBF,
+ 33753 - 11905: 0xC794,
+ 33754 - 11905: 0xC795,
+ 33755 - 11905: 0xC796,
+ 33756 - 11905: 0xB2CB,
+ 33757 - 11905: 0xDDC3,
+ 33758 - 11905: 0xC797,
+ 33759 - 11905: 0xDDCB,
+ 33760 - 11905: 0xB2A4,
+ 33761 - 11905: 0xDDD5,
+ 33762 - 11905: 0xC798,
+ 33763 - 11905: 0xC799,
+ 33764 - 11905: 0xC79A,
+ 33765 - 11905: 0xDDBE,
+ 33766 - 11905: 0xC79B,
+ 33767 - 11905: 0xC79C,
+ 33768 - 11905: 0xC79D,
+ 33769 - 11905: 0xC6D0,
+ 33770 - 11905: 0xDDD0,
+ 33771 - 11905: 0xC79E,
+ 33772 - 11905: 0xC79F,
+ 33773 - 11905: 0xC7A0,
+ 33774 - 11905: 0xC840,
+ 33775 - 11905: 0xC841,
+ 33776 - 11905: 0xDDD4,
+ 33777 - 11905: 0xC1E2,
+ 33778 - 11905: 0xB7C6,
+ 33779 - 11905: 0xC842,
+ 33780 - 11905: 0xC843,
+ 33781 - 11905: 0xC844,
+ 33782 - 11905: 0xC845,
+ 33783 - 11905: 0xC846,
+ 33784 - 11905: 0xDDCE,
+ 33785 - 11905: 0xDDCF,
+ 33786 - 11905: 0xC847,
+ 33787 - 11905: 0xC848,
+ 33788 - 11905: 0xC849,
+ 33789 - 11905: 0xDDC4,
+ 33790 - 11905: 0xC84A,
+ 33791 - 11905: 0xC84B,
+ 33792 - 11905: 0xC84C,
+ 33793 - 11905: 0xDDBD,
+ 33794 - 11905: 0xC84D,
+ 33795 - 11905: 0xDDCD,
+ 33796 - 11905: 0xCCD1,
+ 33797 - 11905: 0xC84E,
+ 33798 - 11905: 0xDDC9,
+ 33799 - 11905: 0xC84F,
+ 33800 - 11905: 0xC850,
+ 33801 - 11905: 0xC851,
+ 33802 - 11905: 0xC852,
+ 33803 - 11905: 0xDDC2,
+ 33804 - 11905: 0xC3C8,
+ 33805 - 11905: 0xC6BC,
+ 33806 - 11905: 0xCEAE,
+ 33807 - 11905: 0xDDCC,
+ 33808 - 11905: 0xC853,
+ 33809 - 11905: 0xDDC8,
+ 33810 - 11905: 0xC854,
+ 33811 - 11905: 0xC855,
+ 33812 - 11905: 0xC856,
+ 33813 - 11905: 0xC857,
+ 33814 - 11905: 0xC858,
+ 33815 - 11905: 0xC859,
+ 33816 - 11905: 0xDDC1,
+ 33817 - 11905: 0xC85A,
+ 33818 - 11905: 0xC85B,
+ 33819 - 11905: 0xC85C,
+ 33820 - 11905: 0xDDC6,
+ 33821 - 11905: 0xC2DC,
+ 33822 - 11905: 0xC85D,
+ 33823 - 11905: 0xC85E,
+ 33824 - 11905: 0xC85F,
+ 33825 - 11905: 0xC860,
+ 33826 - 11905: 0xC861,
+ 33827 - 11905: 0xC862,
+ 33828 - 11905: 0xD3A9,
+ 33829 - 11905: 0xD3AA,
+ 33830 - 11905: 0xDDD3,
+ 33831 - 11905: 0xCFF4,
+ 33832 - 11905: 0xC8F8,
+ 33833 - 11905: 0xC863,
+ 33834 - 11905: 0xC864,
+ 33835 - 11905: 0xC865,
+ 33836 - 11905: 0xC866,
+ 33837 - 11905: 0xC867,
+ 33838 - 11905: 0xC868,
+ 33839 - 11905: 0xC869,
+ 33840 - 11905: 0xC86A,
+ 33841 - 11905: 0xDDE6,
+ 33842 - 11905: 0xC86B,
+ 33843 - 11905: 0xC86C,
+ 33844 - 11905: 0xC86D,
+ 33845 - 11905: 0xC86E,
+ 33846 - 11905: 0xC86F,
+ 33847 - 11905: 0xC870,
+ 33848 - 11905: 0xDDC7,
+ 33849 - 11905: 0xC871,
+ 33850 - 11905: 0xC872,
+ 33851 - 11905: 0xC873,
+ 33852 - 11905: 0xDDE0,
+ 33853 - 11905: 0xC2E4,
+ 33854 - 11905: 0xC874,
+ 33855 - 11905: 0xC875,
+ 33856 - 11905: 0xC876,
+ 33857 - 11905: 0xC877,
+ 33858 - 11905: 0xC878,
+ 33859 - 11905: 0xC879,
+ 33860 - 11905: 0xC87A,
+ 33861 - 11905: 0xC87B,
+ 33862 - 11905: 0xDDE1,
+ 33863 - 11905: 0xC87C,
+ 33864 - 11905: 0xC87D,
+ 33865 - 11905: 0xC87E,
+ 33866 - 11905: 0xC880,
+ 33867 - 11905: 0xC881,
+ 33868 - 11905: 0xC882,
+ 33869 - 11905: 0xC883,
+ 33870 - 11905: 0xC884,
+ 33871 - 11905: 0xC885,
+ 33872 - 11905: 0xC886,
+ 33873 - 11905: 0xDDD7,
+ 33874 - 11905: 0xC887,
+ 33875 - 11905: 0xC888,
+ 33876 - 11905: 0xC889,
+ 33877 - 11905: 0xC88A,
+ 33878 - 11905: 0xC88B,
+ 33879 - 11905: 0xD6F8,
+ 33880 - 11905: 0xC88C,
+ 33881 - 11905: 0xDDD9,
+ 33882 - 11905: 0xDDD8,
+ 33883 - 11905: 0xB8F0,
+ 33884 - 11905: 0xDDD6,
+ 33885 - 11905: 0xC88D,
+ 33886 - 11905: 0xC88E,
+ 33887 - 11905: 0xC88F,
+ 33888 - 11905: 0xC890,
+ 33889 - 11905: 0xC6CF,
+ 33890 - 11905: 0xC891,
+ 33891 - 11905: 0xB6AD,
+ 33892 - 11905: 0xC892,
+ 33893 - 11905: 0xC893,
+ 33894 - 11905: 0xC894,
+ 33895 - 11905: 0xC895,
+ 33896 - 11905: 0xC896,
+ 33897 - 11905: 0xDDE2,
+ 33898 - 11905: 0xC897,
+ 33899 - 11905: 0xBAF9,
+ 33900 - 11905: 0xD4E1,
+ 33901 - 11905: 0xDDE7,
+ 33902 - 11905: 0xC898,
+ 33903 - 11905: 0xC899,
+ 33904 - 11905: 0xC89A,
+ 33905 - 11905: 0xB4D0,
+ 33906 - 11905: 0xC89B,
+ 33907 - 11905: 0xDDDA,
+ 33908 - 11905: 0xC89C,
+ 33909 - 11905: 0xBFFB,
+ 33910 - 11905: 0xDDE3,
+ 33911 - 11905: 0xC89D,
+ 33912 - 11905: 0xDDDF,
+ 33913 - 11905: 0xC89E,
+ 33914 - 11905: 0xDDDD,
+ 33915 - 11905: 0xC89F,
+ 33916 - 11905: 0xC8A0,
+ 33917 - 11905: 0xC940,
+ 33918 - 11905: 0xC941,
+ 33919 - 11905: 0xC942,
+ 33920 - 11905: 0xC943,
+ 33921 - 11905: 0xC944,
+ 33922 - 11905: 0xB5D9,
+ 33923 - 11905: 0xC945,
+ 33924 - 11905: 0xC946,
+ 33925 - 11905: 0xC947,
+ 33926 - 11905: 0xC948,
+ 33927 - 11905: 0xDDDB,
+ 33928 - 11905: 0xDDDC,
+ 33929 - 11905: 0xDDDE,
+ 33930 - 11905: 0xC949,
+ 33931 - 11905: 0xBDAF,
+ 33932 - 11905: 0xDDE4,
+ 33933 - 11905: 0xC94A,
+ 33934 - 11905: 0xDDE5,
+ 33935 - 11905: 0xC94B,
+ 33936 - 11905: 0xC94C,
+ 33937 - 11905: 0xC94D,
+ 33938 - 11905: 0xC94E,
+ 33939 - 11905: 0xC94F,
+ 33940 - 11905: 0xC950,
+ 33941 - 11905: 0xC951,
+ 33942 - 11905: 0xC952,
+ 33943 - 11905: 0xDDF5,
+ 33944 - 11905: 0xC953,
+ 33945 - 11905: 0xC3C9,
+ 33946 - 11905: 0xC954,
+ 33947 - 11905: 0xC955,
+ 33948 - 11905: 0xCBE2,
+ 33949 - 11905: 0xC956,
+ 33950 - 11905: 0xC957,
+ 33951 - 11905: 0xC958,
+ 33952 - 11905: 0xC959,
+ 33953 - 11905: 0xDDF2,
+ 33954 - 11905: 0xC95A,
+ 33955 - 11905: 0xC95B,
+ 33956 - 11905: 0xC95C,
+ 33957 - 11905: 0xC95D,
+ 33958 - 11905: 0xC95E,
+ 33959 - 11905: 0xC95F,
+ 33960 - 11905: 0xC960,
+ 33961 - 11905: 0xC961,
+ 33962 - 11905: 0xC962,
+ 33963 - 11905: 0xC963,
+ 33964 - 11905: 0xC964,
+ 33965 - 11905: 0xC965,
+ 33966 - 11905: 0xC966,
+ 33967 - 11905: 0xD8E1,
+ 33968 - 11905: 0xC967,
+ 33969 - 11905: 0xC968,
+ 33970 - 11905: 0xC6D1,
+ 33971 - 11905: 0xC969,
+ 33972 - 11905: 0xDDF4,
+ 33973 - 11905: 0xC96A,
+ 33974 - 11905: 0xC96B,
+ 33975 - 11905: 0xC96C,
+ 33976 - 11905: 0xD5F4,
+ 33977 - 11905: 0xDDF3,
+ 33978 - 11905: 0xDDF0,
+ 33979 - 11905: 0xC96D,
+ 33980 - 11905: 0xC96E,
+ 33981 - 11905: 0xDDEC,
+ 33982 - 11905: 0xC96F,
+ 33983 - 11905: 0xDDEF,
+ 33984 - 11905: 0xC970,
+ 33985 - 11905: 0xDDE8,
+ 33986 - 11905: 0xC971,
+ 33987 - 11905: 0xC972,
+ 33988 - 11905: 0xD0EE,
+ 33989 - 11905: 0xC973,
+ 33990 - 11905: 0xC974,
+ 33991 - 11905: 0xC975,
+ 33992 - 11905: 0xC976,
+ 33993 - 11905: 0xC8D8,
+ 33994 - 11905: 0xDDEE,
+ 33995 - 11905: 0xC977,
+ 33996 - 11905: 0xC978,
+ 33997 - 11905: 0xDDE9,
+ 33998 - 11905: 0xC979,
+ 33999 - 11905: 0xC97A,
+ 34000 - 11905: 0xDDEA,
+ 34001 - 11905: 0xCBF2,
+ 34002 - 11905: 0xC97B,
+ 34003 - 11905: 0xDDED,
+ 34004 - 11905: 0xC97C,
+ 34005 - 11905: 0xC97D,
+ 34006 - 11905: 0xB1CD,
+ 34007 - 11905: 0xC97E,
+ 34008 - 11905: 0xC980,
+ 34009 - 11905: 0xC981,
+ 34010 - 11905: 0xC982,
+ 34011 - 11905: 0xC983,
+ 34012 - 11905: 0xC984,
+ 34013 - 11905: 0xC0B6,
+ 34014 - 11905: 0xC985,
+ 34015 - 11905: 0xBCBB,
+ 34016 - 11905: 0xDDF1,
+ 34017 - 11905: 0xC986,
+ 34018 - 11905: 0xC987,
+ 34019 - 11905: 0xDDF7,
+ 34020 - 11905: 0xC988,
+ 34021 - 11905: 0xDDF6,
+ 34022 - 11905: 0xDDEB,
+ 34023 - 11905: 0xC989,
+ 34024 - 11905: 0xC98A,
+ 34025 - 11905: 0xC98B,
+ 34026 - 11905: 0xC98C,
+ 34027 - 11905: 0xC98D,
+ 34028 - 11905: 0xC5EE,
+ 34029 - 11905: 0xC98E,
+ 34030 - 11905: 0xC98F,
+ 34031 - 11905: 0xC990,
+ 34032 - 11905: 0xDDFB,
+ 34033 - 11905: 0xC991,
+ 34034 - 11905: 0xC992,
+ 34035 - 11905: 0xC993,
+ 34036 - 11905: 0xC994,
+ 34037 - 11905: 0xC995,
+ 34038 - 11905: 0xC996,
+ 34039 - 11905: 0xC997,
+ 34040 - 11905: 0xC998,
+ 34041 - 11905: 0xC999,
+ 34042 - 11905: 0xC99A,
+ 34043 - 11905: 0xC99B,
+ 34044 - 11905: 0xDEA4,
+ 34045 - 11905: 0xC99C,
+ 34046 - 11905: 0xC99D,
+ 34047 - 11905: 0xDEA3,
+ 34048 - 11905: 0xC99E,
+ 34049 - 11905: 0xC99F,
+ 34050 - 11905: 0xC9A0,
+ 34051 - 11905: 0xCA40,
+ 34052 - 11905: 0xCA41,
+ 34053 - 11905: 0xCA42,
+ 34054 - 11905: 0xCA43,
+ 34055 - 11905: 0xCA44,
+ 34056 - 11905: 0xCA45,
+ 34057 - 11905: 0xCA46,
+ 34058 - 11905: 0xCA47,
+ 34059 - 11905: 0xCA48,
+ 34060 - 11905: 0xDDF8,
+ 34061 - 11905: 0xCA49,
+ 34062 - 11905: 0xCA4A,
+ 34063 - 11905: 0xCA4B,
+ 34064 - 11905: 0xCA4C,
+ 34065 - 11905: 0xC3EF,
+ 34066 - 11905: 0xCA4D,
+ 34067 - 11905: 0xC2FB,
+ 34068 - 11905: 0xCA4E,
+ 34069 - 11905: 0xCA4F,
+ 34070 - 11905: 0xCA50,
+ 34071 - 11905: 0xD5E1,
+ 34072 - 11905: 0xCA51,
+ 34073 - 11905: 0xCA52,
+ 34074 - 11905: 0xCEB5,
+ 34075 - 11905: 0xCA53,
+ 34076 - 11905: 0xCA54,
+ 34077 - 11905: 0xCA55,
+ 34078 - 11905: 0xCA56,
+ 34079 - 11905: 0xDDFD,
+ 34080 - 11905: 0xCA57,
+ 34081 - 11905: 0xB2CC,
+ 34082 - 11905: 0xCA58,
+ 34083 - 11905: 0xCA59,
+ 34084 - 11905: 0xCA5A,
+ 34085 - 11905: 0xCA5B,
+ 34086 - 11905: 0xCA5C,
+ 34087 - 11905: 0xCA5D,
+ 34088 - 11905: 0xCA5E,
+ 34089 - 11905: 0xCA5F,
+ 34090 - 11905: 0xCA60,
+ 34091 - 11905: 0xC4E8,
+ 34092 - 11905: 0xCADF,
+ 34093 - 11905: 0xCA61,
+ 34094 - 11905: 0xCA62,
+ 34095 - 11905: 0xCA63,
+ 34096 - 11905: 0xCA64,
+ 34097 - 11905: 0xCA65,
+ 34098 - 11905: 0xCA66,
+ 34099 - 11905: 0xCA67,
+ 34100 - 11905: 0xCA68,
+ 34101 - 11905: 0xCA69,
+ 34102 - 11905: 0xCA6A,
+ 34103 - 11905: 0xC7BE,
+ 34104 - 11905: 0xDDFA,
+ 34105 - 11905: 0xDDFC,
+ 34106 - 11905: 0xDDFE,
+ 34107 - 11905: 0xDEA2,
+ 34108 - 11905: 0xB0AA,
+ 34109 - 11905: 0xB1CE,
+ 34110 - 11905: 0xCA6B,
+ 34111 - 11905: 0xCA6C,
+ 34112 - 11905: 0xCA6D,
+ 34113 - 11905: 0xCA6E,
+ 34114 - 11905: 0xCA6F,
+ 34115 - 11905: 0xDEAC,
+ 34116 - 11905: 0xCA70,
+ 34117 - 11905: 0xCA71,
+ 34118 - 11905: 0xCA72,
+ 34119 - 11905: 0xCA73,
+ 34120 - 11905: 0xDEA6,
+ 34121 - 11905: 0xBDB6,
+ 34122 - 11905: 0xC8EF,
+ 34123 - 11905: 0xCA74,
+ 34124 - 11905: 0xCA75,
+ 34125 - 11905: 0xCA76,
+ 34126 - 11905: 0xCA77,
+ 34127 - 11905: 0xCA78,
+ 34128 - 11905: 0xCA79,
+ 34129 - 11905: 0xCA7A,
+ 34130 - 11905: 0xCA7B,
+ 34131 - 11905: 0xCA7C,
+ 34132 - 11905: 0xCA7D,
+ 34133 - 11905: 0xCA7E,
+ 34134 - 11905: 0xDEA1,
+ 34135 - 11905: 0xCA80,
+ 34136 - 11905: 0xCA81,
+ 34137 - 11905: 0xDEA5,
+ 34138 - 11905: 0xCA82,
+ 34139 - 11905: 0xCA83,
+ 34140 - 11905: 0xCA84,
+ 34141 - 11905: 0xCA85,
+ 34142 - 11905: 0xDEA9,
+ 34143 - 11905: 0xCA86,
+ 34144 - 11905: 0xCA87,
+ 34145 - 11905: 0xCA88,
+ 34146 - 11905: 0xCA89,
+ 34147 - 11905: 0xCA8A,
+ 34148 - 11905: 0xDEA8,
+ 34149 - 11905: 0xCA8B,
+ 34150 - 11905: 0xCA8C,
+ 34151 - 11905: 0xCA8D,
+ 34152 - 11905: 0xDEA7,
+ 34153 - 11905: 0xCA8E,
+ 34154 - 11905: 0xCA8F,
+ 34155 - 11905: 0xCA90,
+ 34156 - 11905: 0xCA91,
+ 34157 - 11905: 0xCA92,
+ 34158 - 11905: 0xCA93,
+ 34159 - 11905: 0xCA94,
+ 34160 - 11905: 0xCA95,
+ 34161 - 11905: 0xCA96,
+ 34162 - 11905: 0xDEAD,
+ 34163 - 11905: 0xCA97,
+ 34164 - 11905: 0xD4CC,
+ 34165 - 11905: 0xCA98,
+ 34166 - 11905: 0xCA99,
+ 34167 - 11905: 0xCA9A,
+ 34168 - 11905: 0xCA9B,
+ 34169 - 11905: 0xDEB3,
+ 34170 - 11905: 0xDEAA,
+ 34171 - 11905: 0xDEAE,
+ 34172 - 11905: 0xCA9C,
+ 34173 - 11905: 0xCA9D,
+ 34174 - 11905: 0xC0D9,
+ 34175 - 11905: 0xCA9E,
+ 34176 - 11905: 0xCA9F,
+ 34177 - 11905: 0xCAA0,
+ 34178 - 11905: 0xCB40,
+ 34179 - 11905: 0xCB41,
+ 34180 - 11905: 0xB1A1,
+ 34181 - 11905: 0xDEB6,
+ 34182 - 11905: 0xCB42,
+ 34183 - 11905: 0xDEB1,
+ 34184 - 11905: 0xCB43,
+ 34185 - 11905: 0xCB44,
+ 34186 - 11905: 0xCB45,
+ 34187 - 11905: 0xCB46,
+ 34188 - 11905: 0xCB47,
+ 34189 - 11905: 0xCB48,
+ 34190 - 11905: 0xCB49,
+ 34191 - 11905: 0xDEB2,
+ 34192 - 11905: 0xCB4A,
+ 34193 - 11905: 0xCB4B,
+ 34194 - 11905: 0xCB4C,
+ 34195 - 11905: 0xCB4D,
+ 34196 - 11905: 0xCB4E,
+ 34197 - 11905: 0xCB4F,
+ 34198 - 11905: 0xCB50,
+ 34199 - 11905: 0xCB51,
+ 34200 - 11905: 0xCB52,
+ 34201 - 11905: 0xCB53,
+ 34202 - 11905: 0xCB54,
+ 34203 - 11905: 0xD1A6,
+ 34204 - 11905: 0xDEB5,
+ 34205 - 11905: 0xCB55,
+ 34206 - 11905: 0xCB56,
+ 34207 - 11905: 0xCB57,
+ 34208 - 11905: 0xCB58,
+ 34209 - 11905: 0xCB59,
+ 34210 - 11905: 0xCB5A,
+ 34211 - 11905: 0xCB5B,
+ 34212 - 11905: 0xDEAF,
+ 34213 - 11905: 0xCB5C,
+ 34214 - 11905: 0xCB5D,
+ 34215 - 11905: 0xCB5E,
+ 34216 - 11905: 0xDEB0,
+ 34217 - 11905: 0xCB5F,
+ 34218 - 11905: 0xD0BD,
+ 34219 - 11905: 0xCB60,
+ 34220 - 11905: 0xCB61,
+ 34221 - 11905: 0xCB62,
+ 34222 - 11905: 0xDEB4,
+ 34223 - 11905: 0xCAED,
+ 34224 - 11905: 0xDEB9,
+ 34225 - 11905: 0xCB63,
+ 34226 - 11905: 0xCB64,
+ 34227 - 11905: 0xCB65,
+ 34228 - 11905: 0xCB66,
+ 34229 - 11905: 0xCB67,
+ 34230 - 11905: 0xCB68,
+ 34231 - 11905: 0xDEB8,
+ 34232 - 11905: 0xCB69,
+ 34233 - 11905: 0xDEB7,
+ 34234 - 11905: 0xCB6A,
+ 34235 - 11905: 0xCB6B,
+ 34236 - 11905: 0xCB6C,
+ 34237 - 11905: 0xCB6D,
+ 34238 - 11905: 0xCB6E,
+ 34239 - 11905: 0xCB6F,
+ 34240 - 11905: 0xCB70,
+ 34241 - 11905: 0xDEBB,
+ 34242 - 11905: 0xCB71,
+ 34243 - 11905: 0xCB72,
+ 34244 - 11905: 0xCB73,
+ 34245 - 11905: 0xCB74,
+ 34246 - 11905: 0xCB75,
+ 34247 - 11905: 0xCB76,
+ 34248 - 11905: 0xCB77,
+ 34249 - 11905: 0xBDE5,
+ 34250 - 11905: 0xCB78,
+ 34251 - 11905: 0xCB79,
+ 34252 - 11905: 0xCB7A,
+ 34253 - 11905: 0xCB7B,
+ 34254 - 11905: 0xCB7C,
+ 34255 - 11905: 0xB2D8,
+ 34256 - 11905: 0xC3EA,
+ 34257 - 11905: 0xCB7D,
+ 34258 - 11905: 0xCB7E,
+ 34259 - 11905: 0xDEBA,
+ 34260 - 11905: 0xCB80,
+ 34261 - 11905: 0xC5BA,
+ 34262 - 11905: 0xCB81,
+ 34263 - 11905: 0xCB82,
+ 34264 - 11905: 0xCB83,
+ 34265 - 11905: 0xCB84,
+ 34266 - 11905: 0xCB85,
+ 34267 - 11905: 0xCB86,
+ 34268 - 11905: 0xDEBC,
+ 34269 - 11905: 0xCB87,
+ 34270 - 11905: 0xCB88,
+ 34271 - 11905: 0xCB89,
+ 34272 - 11905: 0xCB8A,
+ 34273 - 11905: 0xCB8B,
+ 34274 - 11905: 0xCB8C,
+ 34275 - 11905: 0xCB8D,
+ 34276 - 11905: 0xCCD9,
+ 34277 - 11905: 0xCB8E,
+ 34278 - 11905: 0xCB8F,
+ 34279 - 11905: 0xCB90,
+ 34280 - 11905: 0xCB91,
+ 34281 - 11905: 0xB7AA,
+ 34282 - 11905: 0xCB92,
+ 34283 - 11905: 0xCB93,
+ 34284 - 11905: 0xCB94,
+ 34285 - 11905: 0xCB95,
+ 34286 - 11905: 0xCB96,
+ 34287 - 11905: 0xCB97,
+ 34288 - 11905: 0xCB98,
+ 34289 - 11905: 0xCB99,
+ 34290 - 11905: 0xCB9A,
+ 34291 - 11905: 0xCB9B,
+ 34292 - 11905: 0xCB9C,
+ 34293 - 11905: 0xCB9D,
+ 34294 - 11905: 0xCB9E,
+ 34295 - 11905: 0xCB9F,
+ 34296 - 11905: 0xCBA0,
+ 34297 - 11905: 0xCC40,
+ 34298 - 11905: 0xCC41,
+ 34299 - 11905: 0xD4E5,
+ 34300 - 11905: 0xCC42,
+ 34301 - 11905: 0xCC43,
+ 34302 - 11905: 0xCC44,
+ 34303 - 11905: 0xDEBD,
+ 34304 - 11905: 0xCC45,
+ 34305 - 11905: 0xCC46,
+ 34306 - 11905: 0xCC47,
+ 34307 - 11905: 0xCC48,
+ 34308 - 11905: 0xCC49,
+ 34309 - 11905: 0xDEBF,
+ 34310 - 11905: 0xCC4A,
+ 34311 - 11905: 0xCC4B,
+ 34312 - 11905: 0xCC4C,
+ 34313 - 11905: 0xCC4D,
+ 34314 - 11905: 0xCC4E,
+ 34315 - 11905: 0xCC4F,
+ 34316 - 11905: 0xCC50,
+ 34317 - 11905: 0xCC51,
+ 34318 - 11905: 0xCC52,
+ 34319 - 11905: 0xCC53,
+ 34320 - 11905: 0xCC54,
+ 34321 - 11905: 0xC4A2,
+ 34322 - 11905: 0xCC55,
+ 34323 - 11905: 0xCC56,
+ 34324 - 11905: 0xCC57,
+ 34325 - 11905: 0xCC58,
+ 34326 - 11905: 0xDEC1,
+ 34327 - 11905: 0xCC59,
+ 34328 - 11905: 0xCC5A,
+ 34329 - 11905: 0xCC5B,
+ 34330 - 11905: 0xCC5C,
+ 34331 - 11905: 0xCC5D,
+ 34332 - 11905: 0xCC5E,
+ 34333 - 11905: 0xCC5F,
+ 34334 - 11905: 0xCC60,
+ 34335 - 11905: 0xCC61,
+ 34336 - 11905: 0xCC62,
+ 34337 - 11905: 0xCC63,
+ 34338 - 11905: 0xCC64,
+ 34339 - 11905: 0xCC65,
+ 34340 - 11905: 0xCC66,
+ 34341 - 11905: 0xCC67,
+ 34342 - 11905: 0xCC68,
+ 34343 - 11905: 0xDEBE,
+ 34344 - 11905: 0xCC69,
+ 34345 - 11905: 0xDEC0,
+ 34346 - 11905: 0xCC6A,
+ 34347 - 11905: 0xCC6B,
+ 34348 - 11905: 0xCC6C,
+ 34349 - 11905: 0xCC6D,
+ 34350 - 11905: 0xCC6E,
+ 34351 - 11905: 0xCC6F,
+ 34352 - 11905: 0xCC70,
+ 34353 - 11905: 0xCC71,
+ 34354 - 11905: 0xCC72,
+ 34355 - 11905: 0xCC73,
+ 34356 - 11905: 0xCC74,
+ 34357 - 11905: 0xCC75,
+ 34358 - 11905: 0xCC76,
+ 34359 - 11905: 0xCC77,
+ 34360 - 11905: 0xD5BA,
+ 34361 - 11905: 0xCC78,
+ 34362 - 11905: 0xCC79,
+ 34363 - 11905: 0xCC7A,
+ 34364 - 11905: 0xDEC2,
+ 34365 - 11905: 0xCC7B,
+ 34366 - 11905: 0xCC7C,
+ 34367 - 11905: 0xCC7D,
+ 34368 - 11905: 0xCC7E,
+ 34369 - 11905: 0xCC80,
+ 34370 - 11905: 0xCC81,
+ 34371 - 11905: 0xCC82,
+ 34372 - 11905: 0xCC83,
+ 34373 - 11905: 0xCC84,
+ 34374 - 11905: 0xCC85,
+ 34375 - 11905: 0xCC86,
+ 34376 - 11905: 0xCC87,
+ 34377 - 11905: 0xCC88,
+ 34378 - 11905: 0xCC89,
+ 34379 - 11905: 0xCC8A,
+ 34380 - 11905: 0xCC8B,
+ 34381 - 11905: 0xF2AE,
+ 34382 - 11905: 0xBBA2,
+ 34383 - 11905: 0xC2B2,
+ 34384 - 11905: 0xC5B0,
+ 34385 - 11905: 0xC2C7,
+ 34386 - 11905: 0xCC8C,
+ 34387 - 11905: 0xCC8D,
+ 34388 - 11905: 0xF2AF,
+ 34389 - 11905: 0xCC8E,
+ 34390 - 11905: 0xCC8F,
+ 34391 - 11905: 0xCC90,
+ 34392 - 11905: 0xCC91,
+ 34393 - 11905: 0xCC92,
+ 34394 - 11905: 0xD0E9,
+ 34395 - 11905: 0xCC93,
+ 34396 - 11905: 0xCC94,
+ 34397 - 11905: 0xCC95,
+ 34398 - 11905: 0xD3DD,
+ 34399 - 11905: 0xCC96,
+ 34400 - 11905: 0xCC97,
+ 34401 - 11905: 0xCC98,
+ 34402 - 11905: 0xEBBD,
+ 34403 - 11905: 0xCC99,
+ 34404 - 11905: 0xCC9A,
+ 34405 - 11905: 0xCC9B,
+ 34406 - 11905: 0xCC9C,
+ 34407 - 11905: 0xCC9D,
+ 34408 - 11905: 0xCC9E,
+ 34409 - 11905: 0xCC9F,
+ 34410 - 11905: 0xCCA0,
+ 34411 - 11905: 0xB3E6,
+ 34412 - 11905: 0xF2B0,
+ 34413 - 11905: 0xCD40,
+ 34414 - 11905: 0xF2B1,
+ 34415 - 11905: 0xCD41,
+ 34416 - 11905: 0xCD42,
+ 34417 - 11905: 0xCAAD,
+ 34418 - 11905: 0xCD43,
+ 34419 - 11905: 0xCD44,
+ 34420 - 11905: 0xCD45,
+ 34421 - 11905: 0xCD46,
+ 34422 - 11905: 0xCD47,
+ 34423 - 11905: 0xCD48,
+ 34424 - 11905: 0xCD49,
+ 34425 - 11905: 0xBAE7,
+ 34426 - 11905: 0xF2B3,
+ 34427 - 11905: 0xF2B5,
+ 34428 - 11905: 0xF2B4,
+ 34429 - 11905: 0xCBE4,
+ 34430 - 11905: 0xCFBA,
+ 34431 - 11905: 0xF2B2,
+ 34432 - 11905: 0xCAB4,
+ 34433 - 11905: 0xD2CF,
+ 34434 - 11905: 0xC2EC,
+ 34435 - 11905: 0xCD4A,
+ 34436 - 11905: 0xCD4B,
+ 34437 - 11905: 0xCD4C,
+ 34438 - 11905: 0xCD4D,
+ 34439 - 11905: 0xCD4E,
+ 34440 - 11905: 0xCD4F,
+ 34441 - 11905: 0xCD50,
+ 34442 - 11905: 0xCEC3,
+ 34443 - 11905: 0xF2B8,
+ 34444 - 11905: 0xB0F6,
+ 34445 - 11905: 0xF2B7,
+ 34446 - 11905: 0xCD51,
+ 34447 - 11905: 0xCD52,
+ 34448 - 11905: 0xCD53,
+ 34449 - 11905: 0xCD54,
+ 34450 - 11905: 0xCD55,
+ 34451 - 11905: 0xF2BE,
+ 34452 - 11905: 0xCD56,
+ 34453 - 11905: 0xB2CF,
+ 34454 - 11905: 0xCD57,
+ 34455 - 11905: 0xCD58,
+ 34456 - 11905: 0xCD59,
+ 34457 - 11905: 0xCD5A,
+ 34458 - 11905: 0xCD5B,
+ 34459 - 11905: 0xCD5C,
+ 34460 - 11905: 0xD1C1,
+ 34461 - 11905: 0xF2BA,
+ 34462 - 11905: 0xCD5D,
+ 34463 - 11905: 0xCD5E,
+ 34464 - 11905: 0xCD5F,
+ 34465 - 11905: 0xCD60,
+ 34466 - 11905: 0xCD61,
+ 34467 - 11905: 0xF2BC,
+ 34468 - 11905: 0xD4E9,
+ 34469 - 11905: 0xCD62,
+ 34470 - 11905: 0xCD63,
+ 34471 - 11905: 0xF2BB,
+ 34472 - 11905: 0xF2B6,
+ 34473 - 11905: 0xF2BF,
+ 34474 - 11905: 0xF2BD,
+ 34475 - 11905: 0xCD64,
+ 34476 - 11905: 0xF2B9,
+ 34477 - 11905: 0xCD65,
+ 34478 - 11905: 0xCD66,
+ 34479 - 11905: 0xF2C7,
+ 34480 - 11905: 0xF2C4,
+ 34481 - 11905: 0xF2C6,
+ 34482 - 11905: 0xCD67,
+ 34483 - 11905: 0xCD68,
+ 34484 - 11905: 0xF2CA,
+ 34485 - 11905: 0xF2C2,
+ 34486 - 11905: 0xF2C0,
+ 34487 - 11905: 0xCD69,
+ 34488 - 11905: 0xCD6A,
+ 34489 - 11905: 0xCD6B,
+ 34490 - 11905: 0xF2C5,
+ 34491 - 11905: 0xCD6C,
+ 34492 - 11905: 0xCD6D,
+ 34493 - 11905: 0xCD6E,
+ 34494 - 11905: 0xCD6F,
+ 34495 - 11905: 0xCD70,
+ 34496 - 11905: 0xD6FB,
+ 34497 - 11905: 0xCD71,
+ 34498 - 11905: 0xCD72,
+ 34499 - 11905: 0xCD73,
+ 34500 - 11905: 0xF2C1,
+ 34501 - 11905: 0xCD74,
+ 34502 - 11905: 0xC7F9,
+ 34503 - 11905: 0xC9DF,
+ 34504 - 11905: 0xCD75,
+ 34505 - 11905: 0xF2C8,
+ 34506 - 11905: 0xB9C6,
+ 34507 - 11905: 0xB5B0,
+ 34508 - 11905: 0xCD76,
+ 34509 - 11905: 0xCD77,
+ 34510 - 11905: 0xF2C3,
+ 34511 - 11905: 0xF2C9,
+ 34512 - 11905: 0xF2D0,
+ 34513 - 11905: 0xF2D6,
+ 34514 - 11905: 0xCD78,
+ 34515 - 11905: 0xCD79,
+ 34516 - 11905: 0xBBD7,
+ 34517 - 11905: 0xCD7A,
+ 34518 - 11905: 0xCD7B,
+ 34519 - 11905: 0xCD7C,
+ 34520 - 11905: 0xF2D5,
+ 34521 - 11905: 0xCDDC,
+ 34522 - 11905: 0xCD7D,
+ 34523 - 11905: 0xD6EB,
+ 34524 - 11905: 0xCD7E,
+ 34525 - 11905: 0xCD80,
+ 34526 - 11905: 0xF2D2,
+ 34527 - 11905: 0xF2D4,
+ 34528 - 11905: 0xCD81,
+ 34529 - 11905: 0xCD82,
+ 34530 - 11905: 0xCD83,
+ 34531 - 11905: 0xCD84,
+ 34532 - 11905: 0xB8F2,
+ 34533 - 11905: 0xCD85,
+ 34534 - 11905: 0xCD86,
+ 34535 - 11905: 0xCD87,
+ 34536 - 11905: 0xCD88,
+ 34537 - 11905: 0xF2CB,
+ 34538 - 11905: 0xCD89,
+ 34539 - 11905: 0xCD8A,
+ 34540 - 11905: 0xCD8B,
+ 34541 - 11905: 0xF2CE,
+ 34542 - 11905: 0xC2F9,
+ 34543 - 11905: 0xCD8C,
+ 34544 - 11905: 0xD5DD,
+ 34545 - 11905: 0xF2CC,
+ 34546 - 11905: 0xF2CD,
+ 34547 - 11905: 0xF2CF,
+ 34548 - 11905: 0xF2D3,
+ 34549 - 11905: 0xCD8D,
+ 34550 - 11905: 0xCD8E,
+ 34551 - 11905: 0xCD8F,
+ 34552 - 11905: 0xF2D9,
+ 34553 - 11905: 0xD3BC,
+ 34554 - 11905: 0xCD90,
+ 34555 - 11905: 0xCD91,
+ 34556 - 11905: 0xCD92,
+ 34557 - 11905: 0xCD93,
+ 34558 - 11905: 0xB6EA,
+ 34559 - 11905: 0xCD94,
+ 34560 - 11905: 0xCAF1,
+ 34561 - 11905: 0xCD95,
+ 34562 - 11905: 0xB7E4,
+ 34563 - 11905: 0xF2D7,
+ 34564 - 11905: 0xCD96,
+ 34565 - 11905: 0xCD97,
+ 34566 - 11905: 0xCD98,
+ 34567 - 11905: 0xF2D8,
+ 34568 - 11905: 0xF2DA,
+ 34569 - 11905: 0xF2DD,
+ 34570 - 11905: 0xF2DB,
+ 34571 - 11905: 0xCD99,
+ 34572 - 11905: 0xCD9A,
+ 34573 - 11905: 0xF2DC,
+ 34574 - 11905: 0xCD9B,
+ 34575 - 11905: 0xCD9C,
+ 34576 - 11905: 0xCD9D,
+ 34577 - 11905: 0xCD9E,
+ 34578 - 11905: 0xD1D1,
+ 34579 - 11905: 0xF2D1,
+ 34580 - 11905: 0xCD9F,
+ 34581 - 11905: 0xCDC9,
+ 34582 - 11905: 0xCDA0,
+ 34583 - 11905: 0xCECF,
+ 34584 - 11905: 0xD6A9,
+ 34585 - 11905: 0xCE40,
+ 34586 - 11905: 0xF2E3,
+ 34587 - 11905: 0xCE41,
+ 34588 - 11905: 0xC3DB,
+ 34589 - 11905: 0xCE42,
+ 34590 - 11905: 0xF2E0,
+ 34591 - 11905: 0xCE43,
+ 34592 - 11905: 0xCE44,
+ 34593 - 11905: 0xC0AF,
+ 34594 - 11905: 0xF2EC,
+ 34595 - 11905: 0xF2DE,
+ 34596 - 11905: 0xCE45,
+ 34597 - 11905: 0xF2E1,
+ 34598 - 11905: 0xCE46,
+ 34599 - 11905: 0xCE47,
+ 34600 - 11905: 0xCE48,
+ 34601 - 11905: 0xF2E8,
+ 34602 - 11905: 0xCE49,
+ 34603 - 11905: 0xCE4A,
+ 34604 - 11905: 0xCE4B,
+ 34605 - 11905: 0xCE4C,
+ 34606 - 11905: 0xF2E2,
+ 34607 - 11905: 0xCE4D,
+ 34608 - 11905: 0xCE4E,
+ 34609 - 11905: 0xF2E7,
+ 34610 - 11905: 0xCE4F,
+ 34611 - 11905: 0xCE50,
+ 34612 - 11905: 0xF2E6,
+ 34613 - 11905: 0xCE51,
+ 34614 - 11905: 0xCE52,
+ 34615 - 11905: 0xF2E9,
+ 34616 - 11905: 0xCE53,
+ 34617 - 11905: 0xCE54,
+ 34618 - 11905: 0xCE55,
+ 34619 - 11905: 0xF2DF,
+ 34620 - 11905: 0xCE56,
+ 34621 - 11905: 0xCE57,
+ 34622 - 11905: 0xF2E4,
+ 34623 - 11905: 0xF2EA,
+ 34624 - 11905: 0xCE58,
+ 34625 - 11905: 0xCE59,
+ 34626 - 11905: 0xCE5A,
+ 34627 - 11905: 0xCE5B,
+ 34628 - 11905: 0xCE5C,
+ 34629 - 11905: 0xCE5D,
+ 34630 - 11905: 0xCE5E,
+ 34631 - 11905: 0xD3AC,
+ 34632 - 11905: 0xF2E5,
+ 34633 - 11905: 0xB2F5,
+ 34634 - 11905: 0xCE5F,
+ 34635 - 11905: 0xCE60,
+ 34636 - 11905: 0xF2F2,
+ 34637 - 11905: 0xCE61,
+ 34638 - 11905: 0xD0AB,
+ 34639 - 11905: 0xCE62,
+ 34640 - 11905: 0xCE63,
+ 34641 - 11905: 0xCE64,
+ 34642 - 11905: 0xCE65,
+ 34643 - 11905: 0xF2F5,
+ 34644 - 11905: 0xCE66,
+ 34645 - 11905: 0xCE67,
+ 34646 - 11905: 0xCE68,
+ 34647 - 11905: 0xBBC8,
+ 34648 - 11905: 0xCE69,
+ 34649 - 11905: 0xF2F9,
+ 34650 - 11905: 0xCE6A,
+ 34651 - 11905: 0xCE6B,
+ 34652 - 11905: 0xCE6C,
+ 34653 - 11905: 0xCE6D,
+ 34654 - 11905: 0xCE6E,
+ 34655 - 11905: 0xCE6F,
+ 34656 - 11905: 0xF2F0,
+ 34657 - 11905: 0xCE70,
+ 34658 - 11905: 0xCE71,
+ 34659 - 11905: 0xF2F6,
+ 34660 - 11905: 0xF2F8,
+ 34661 - 11905: 0xF2FA,
+ 34662 - 11905: 0xCE72,
+ 34663 - 11905: 0xCE73,
+ 34664 - 11905: 0xCE74,
+ 34665 - 11905: 0xCE75,
+ 34666 - 11905: 0xCE76,
+ 34667 - 11905: 0xCE77,
+ 34668 - 11905: 0xCE78,
+ 34669 - 11905: 0xCE79,
+ 34670 - 11905: 0xF2F3,
+ 34671 - 11905: 0xCE7A,
+ 34672 - 11905: 0xF2F1,
+ 34673 - 11905: 0xCE7B,
+ 34674 - 11905: 0xCE7C,
+ 34675 - 11905: 0xCE7D,
+ 34676 - 11905: 0xBAFB,
+ 34677 - 11905: 0xCE7E,
+ 34678 - 11905: 0xB5FB,
+ 34679 - 11905: 0xCE80,
+ 34680 - 11905: 0xCE81,
+ 34681 - 11905: 0xCE82,
+ 34682 - 11905: 0xCE83,
+ 34683 - 11905: 0xF2EF,
+ 34684 - 11905: 0xF2F7,
+ 34685 - 11905: 0xF2ED,
+ 34686 - 11905: 0xF2EE,
+ 34687 - 11905: 0xCE84,
+ 34688 - 11905: 0xCE85,
+ 34689 - 11905: 0xCE86,
+ 34690 - 11905: 0xF2EB,
+ 34691 - 11905: 0xF3A6,
+ 34692 - 11905: 0xCE87,
+ 34693 - 11905: 0xF3A3,
+ 34694 - 11905: 0xCE88,
+ 34695 - 11905: 0xCE89,
+ 34696 - 11905: 0xF3A2,
+ 34697 - 11905: 0xCE8A,
+ 34698 - 11905: 0xCE8B,
+ 34699 - 11905: 0xF2F4,
+ 34700 - 11905: 0xCE8C,
+ 34701 - 11905: 0xC8DA,
+ 34702 - 11905: 0xCE8D,
+ 34703 - 11905: 0xCE8E,
+ 34704 - 11905: 0xCE8F,
+ 34705 - 11905: 0xCE90,
+ 34706 - 11905: 0xCE91,
+ 34707 - 11905: 0xF2FB,
+ 34708 - 11905: 0xCE92,
+ 34709 - 11905: 0xCE93,
+ 34710 - 11905: 0xCE94,
+ 34711 - 11905: 0xF3A5,
+ 34712 - 11905: 0xCE95,
+ 34713 - 11905: 0xCE96,
+ 34714 - 11905: 0xCE97,
+ 34715 - 11905: 0xCE98,
+ 34716 - 11905: 0xCE99,
+ 34717 - 11905: 0xCE9A,
+ 34718 - 11905: 0xCE9B,
+ 34719 - 11905: 0xC3F8,
+ 34720 - 11905: 0xCE9C,
+ 34721 - 11905: 0xCE9D,
+ 34722 - 11905: 0xCE9E,
+ 34723 - 11905: 0xCE9F,
+ 34724 - 11905: 0xCEA0,
+ 34725 - 11905: 0xCF40,
+ 34726 - 11905: 0xCF41,
+ 34727 - 11905: 0xCF42,
+ 34728 - 11905: 0xF2FD,
+ 34729 - 11905: 0xCF43,
+ 34730 - 11905: 0xCF44,
+ 34731 - 11905: 0xF3A7,
+ 34732 - 11905: 0xF3A9,
+ 34733 - 11905: 0xF3A4,
+ 34734 - 11905: 0xCF45,
+ 34735 - 11905: 0xF2FC,
+ 34736 - 11905: 0xCF46,
+ 34737 - 11905: 0xCF47,
+ 34738 - 11905: 0xCF48,
+ 34739 - 11905: 0xF3AB,
+ 34740 - 11905: 0xCF49,
+ 34741 - 11905: 0xF3AA,
+ 34742 - 11905: 0xCF4A,
+ 34743 - 11905: 0xCF4B,
+ 34744 - 11905: 0xCF4C,
+ 34745 - 11905: 0xCF4D,
+ 34746 - 11905: 0xC2DD,
+ 34747 - 11905: 0xCF4E,
+ 34748 - 11905: 0xCF4F,
+ 34749 - 11905: 0xF3AE,
+ 34750 - 11905: 0xCF50,
+ 34751 - 11905: 0xCF51,
+ 34752 - 11905: 0xF3B0,
+ 34753 - 11905: 0xCF52,
+ 34754 - 11905: 0xCF53,
+ 34755 - 11905: 0xCF54,
+ 34756 - 11905: 0xCF55,
+ 34757 - 11905: 0xCF56,
+ 34758 - 11905: 0xF3A1,
+ 34759 - 11905: 0xCF57,
+ 34760 - 11905: 0xCF58,
+ 34761 - 11905: 0xCF59,
+ 34762 - 11905: 0xF3B1,
+ 34763 - 11905: 0xF3AC,
+ 34764 - 11905: 0xCF5A,
+ 34765 - 11905: 0xCF5B,
+ 34766 - 11905: 0xCF5C,
+ 34767 - 11905: 0xCF5D,
+ 34768 - 11905: 0xCF5E,
+ 34769 - 11905: 0xF3AF,
+ 34770 - 11905: 0xF2FE,
+ 34771 - 11905: 0xF3AD,
+ 34772 - 11905: 0xCF5F,
+ 34773 - 11905: 0xCF60,
+ 34774 - 11905: 0xCF61,
+ 34775 - 11905: 0xCF62,
+ 34776 - 11905: 0xCF63,
+ 34777 - 11905: 0xCF64,
+ 34778 - 11905: 0xCF65,
+ 34779 - 11905: 0xF3B2,
+ 34780 - 11905: 0xCF66,
+ 34781 - 11905: 0xCF67,
+ 34782 - 11905: 0xCF68,
+ 34783 - 11905: 0xCF69,
+ 34784 - 11905: 0xF3B4,
+ 34785 - 11905: 0xCF6A,
+ 34786 - 11905: 0xCF6B,
+ 34787 - 11905: 0xCF6C,
+ 34788 - 11905: 0xCF6D,
+ 34789 - 11905: 0xF3A8,
+ 34790 - 11905: 0xCF6E,
+ 34791 - 11905: 0xCF6F,
+ 34792 - 11905: 0xCF70,
+ 34793 - 11905: 0xCF71,
+ 34794 - 11905: 0xF3B3,
+ 34795 - 11905: 0xCF72,
+ 34796 - 11905: 0xCF73,
+ 34797 - 11905: 0xCF74,
+ 34798 - 11905: 0xF3B5,
+ 34799 - 11905: 0xCF75,
+ 34800 - 11905: 0xCF76,
+ 34801 - 11905: 0xCF77,
+ 34802 - 11905: 0xCF78,
+ 34803 - 11905: 0xCF79,
+ 34804 - 11905: 0xCF7A,
+ 34805 - 11905: 0xCF7B,
+ 34806 - 11905: 0xCF7C,
+ 34807 - 11905: 0xCF7D,
+ 34808 - 11905: 0xCF7E,
+ 34809 - 11905: 0xD0B7,
+ 34810 - 11905: 0xCF80,
+ 34811 - 11905: 0xCF81,
+ 34812 - 11905: 0xCF82,
+ 34813 - 11905: 0xCF83,
+ 34814 - 11905: 0xF3B8,
+ 34815 - 11905: 0xCF84,
+ 34816 - 11905: 0xCF85,
+ 34817 - 11905: 0xCF86,
+ 34818 - 11905: 0xCF87,
+ 34819 - 11905: 0xD9F9,
+ 34820 - 11905: 0xCF88,
+ 34821 - 11905: 0xCF89,
+ 34822 - 11905: 0xCF8A,
+ 34823 - 11905: 0xCF8B,
+ 34824 - 11905: 0xCF8C,
+ 34825 - 11905: 0xCF8D,
+ 34826 - 11905: 0xF3B9,
+ 34827 - 11905: 0xCF8E,
+ 34828 - 11905: 0xCF8F,
+ 34829 - 11905: 0xCF90,
+ 34830 - 11905: 0xCF91,
+ 34831 - 11905: 0xCF92,
+ 34832 - 11905: 0xCF93,
+ 34833 - 11905: 0xCF94,
+ 34834 - 11905: 0xCF95,
+ 34835 - 11905: 0xF3B7,
+ 34836 - 11905: 0xCF96,
+ 34837 - 11905: 0xC8E4,
+ 34838 - 11905: 0xF3B6,
+ 34839 - 11905: 0xCF97,
+ 34840 - 11905: 0xCF98,
+ 34841 - 11905: 0xCF99,
+ 34842 - 11905: 0xCF9A,
+ 34843 - 11905: 0xF3BA,
+ 34844 - 11905: 0xCF9B,
+ 34845 - 11905: 0xCF9C,
+ 34846 - 11905: 0xCF9D,
+ 34847 - 11905: 0xCF9E,
+ 34848 - 11905: 0xCF9F,
+ 34849 - 11905: 0xF3BB,
+ 34850 - 11905: 0xB4C0,
+ 34851 - 11905: 0xCFA0,
+ 34852 - 11905: 0xD040,
+ 34853 - 11905: 0xD041,
+ 34854 - 11905: 0xD042,
+ 34855 - 11905: 0xD043,
+ 34856 - 11905: 0xD044,
+ 34857 - 11905: 0xD045,
+ 34858 - 11905: 0xD046,
+ 34859 - 11905: 0xD047,
+ 34860 - 11905: 0xD048,
+ 34861 - 11905: 0xD049,
+ 34862 - 11905: 0xD04A,
+ 34863 - 11905: 0xD04B,
+ 34864 - 11905: 0xD04C,
+ 34865 - 11905: 0xD04D,
+ 34866 - 11905: 0xEEC3,
+ 34867 - 11905: 0xD04E,
+ 34868 - 11905: 0xD04F,
+ 34869 - 11905: 0xD050,
+ 34870 - 11905: 0xD051,
+ 34871 - 11905: 0xD052,
+ 34872 - 11905: 0xD053,
+ 34873 - 11905: 0xF3BC,
+ 34874 - 11905: 0xD054,
+ 34875 - 11905: 0xD055,
+ 34876 - 11905: 0xF3BD,
+ 34877 - 11905: 0xD056,
+ 34878 - 11905: 0xD057,
+ 34879 - 11905: 0xD058,
+ 34880 - 11905: 0xD1AA,
+ 34881 - 11905: 0xD059,
+ 34882 - 11905: 0xD05A,
+ 34883 - 11905: 0xD05B,
+ 34884 - 11905: 0xF4AC,
+ 34885 - 11905: 0xD0C6,
+ 34886 - 11905: 0xD05C,
+ 34887 - 11905: 0xD05D,
+ 34888 - 11905: 0xD05E,
+ 34889 - 11905: 0xD05F,
+ 34890 - 11905: 0xD060,
+ 34891 - 11905: 0xD061,
+ 34892 - 11905: 0xD0D0,
+ 34893 - 11905: 0xD1DC,
+ 34894 - 11905: 0xD062,
+ 34895 - 11905: 0xD063,
+ 34896 - 11905: 0xD064,
+ 34897 - 11905: 0xD065,
+ 34898 - 11905: 0xD066,
+ 34899 - 11905: 0xD067,
+ 34900 - 11905: 0xCFCE,
+ 34901 - 11905: 0xD068,
+ 34902 - 11905: 0xD069,
+ 34903 - 11905: 0xBDD6,
+ 34904 - 11905: 0xD06A,
+ 34905 - 11905: 0xD1C3,
+ 34906 - 11905: 0xD06B,
+ 34907 - 11905: 0xD06C,
+ 34908 - 11905: 0xD06D,
+ 34909 - 11905: 0xD06E,
+ 34910 - 11905: 0xD06F,
+ 34911 - 11905: 0xD070,
+ 34912 - 11905: 0xD071,
+ 34913 - 11905: 0xBAE2,
+ 34914 - 11905: 0xE1E9,
+ 34915 - 11905: 0xD2C2,
+ 34916 - 11905: 0xF1C2,
+ 34917 - 11905: 0xB2B9,
+ 34918 - 11905: 0xD072,
+ 34919 - 11905: 0xD073,
+ 34920 - 11905: 0xB1ED,
+ 34921 - 11905: 0xF1C3,
+ 34922 - 11905: 0xD074,
+ 34923 - 11905: 0xC9C0,
+ 34924 - 11905: 0xB3C4,
+ 34925 - 11905: 0xD075,
+ 34926 - 11905: 0xD9F2,
+ 34927 - 11905: 0xD076,
+ 34928 - 11905: 0xCBA5,
+ 34929 - 11905: 0xD077,
+ 34930 - 11905: 0xF1C4,
+ 34931 - 11905: 0xD078,
+ 34932 - 11905: 0xD079,
+ 34933 - 11905: 0xD07A,
+ 34934 - 11905: 0xD07B,
+ 34935 - 11905: 0xD6D4,
+ 34936 - 11905: 0xD07C,
+ 34937 - 11905: 0xD07D,
+ 34938 - 11905: 0xD07E,
+ 34939 - 11905: 0xD080,
+ 34940 - 11905: 0xD081,
+ 34941 - 11905: 0xF1C5,
+ 34942 - 11905: 0xF4C0,
+ 34943 - 11905: 0xF1C6,
+ 34944 - 11905: 0xD082,
+ 34945 - 11905: 0xD4AC,
+ 34946 - 11905: 0xF1C7,
+ 34947 - 11905: 0xD083,
+ 34948 - 11905: 0xB0C0,
+ 34949 - 11905: 0xF4C1,
+ 34950 - 11905: 0xD084,
+ 34951 - 11905: 0xD085,
+ 34952 - 11905: 0xF4C2,
+ 34953 - 11905: 0xD086,
+ 34954 - 11905: 0xD087,
+ 34955 - 11905: 0xB4FC,
+ 34956 - 11905: 0xD088,
+ 34957 - 11905: 0xC5DB,
+ 34958 - 11905: 0xD089,
+ 34959 - 11905: 0xD08A,
+ 34960 - 11905: 0xD08B,
+ 34961 - 11905: 0xD08C,
+ 34962 - 11905: 0xCCBB,
+ 34963 - 11905: 0xD08D,
+ 34964 - 11905: 0xD08E,
+ 34965 - 11905: 0xD08F,
+ 34966 - 11905: 0xD0E4,
+ 34967 - 11905: 0xD090,
+ 34968 - 11905: 0xD091,
+ 34969 - 11905: 0xD092,
+ 34970 - 11905: 0xD093,
+ 34971 - 11905: 0xD094,
+ 34972 - 11905: 0xCDE0,
+ 34973 - 11905: 0xD095,
+ 34974 - 11905: 0xD096,
+ 34975 - 11905: 0xD097,
+ 34976 - 11905: 0xD098,
+ 34977 - 11905: 0xD099,
+ 34978 - 11905: 0xF1C8,
+ 34979 - 11905: 0xD09A,
+ 34980 - 11905: 0xD9F3,
+ 34981 - 11905: 0xD09B,
+ 34982 - 11905: 0xD09C,
+ 34983 - 11905: 0xD09D,
+ 34984 - 11905: 0xD09E,
+ 34985 - 11905: 0xD09F,
+ 34986 - 11905: 0xD0A0,
+ 34987 - 11905: 0xB1BB,
+ 34988 - 11905: 0xD140,
+ 34989 - 11905: 0xCFAE,
+ 34990 - 11905: 0xD141,
+ 34991 - 11905: 0xD142,
+ 34992 - 11905: 0xD143,
+ 34993 - 11905: 0xB8A4,
+ 34994 - 11905: 0xD144,
+ 34995 - 11905: 0xD145,
+ 34996 - 11905: 0xD146,
+ 34997 - 11905: 0xD147,
+ 34998 - 11905: 0xD148,
+ 34999 - 11905: 0xF1CA,
+ 35000 - 11905: 0xD149,
+ 35001 - 11905: 0xD14A,
+ 35002 - 11905: 0xD14B,
+ 35003 - 11905: 0xD14C,
+ 35004 - 11905: 0xF1CB,
+ 35005 - 11905: 0xD14D,
+ 35006 - 11905: 0xD14E,
+ 35007 - 11905: 0xD14F,
+ 35008 - 11905: 0xD150,
+ 35009 - 11905: 0xB2C3,
+ 35010 - 11905: 0xC1D1,
+ 35011 - 11905: 0xD151,
+ 35012 - 11905: 0xD152,
+ 35013 - 11905: 0xD7B0,
+ 35014 - 11905: 0xF1C9,
+ 35015 - 11905: 0xD153,
+ 35016 - 11905: 0xD154,
+ 35017 - 11905: 0xF1CC,
+ 35018 - 11905: 0xD155,
+ 35019 - 11905: 0xD156,
+ 35020 - 11905: 0xD157,
+ 35021 - 11905: 0xD158,
+ 35022 - 11905: 0xF1CE,
+ 35023 - 11905: 0xD159,
+ 35024 - 11905: 0xD15A,
+ 35025 - 11905: 0xD15B,
+ 35026 - 11905: 0xD9F6,
+ 35027 - 11905: 0xD15C,
+ 35028 - 11905: 0xD2E1,
+ 35029 - 11905: 0xD4A3,
+ 35030 - 11905: 0xD15D,
+ 35031 - 11905: 0xD15E,
+ 35032 - 11905: 0xF4C3,
+ 35033 - 11905: 0xC8B9,
+ 35034 - 11905: 0xD15F,
+ 35035 - 11905: 0xD160,
+ 35036 - 11905: 0xD161,
+ 35037 - 11905: 0xD162,
+ 35038 - 11905: 0xD163,
+ 35039 - 11905: 0xF4C4,
+ 35040 - 11905: 0xD164,
+ 35041 - 11905: 0xD165,
+ 35042 - 11905: 0xF1CD,
+ 35043 - 11905: 0xF1CF,
+ 35044 - 11905: 0xBFE3,
+ 35045 - 11905: 0xF1D0,
+ 35046 - 11905: 0xD166,
+ 35047 - 11905: 0xD167,
+ 35048 - 11905: 0xF1D4,
+ 35049 - 11905: 0xD168,
+ 35050 - 11905: 0xD169,
+ 35051 - 11905: 0xD16A,
+ 35052 - 11905: 0xD16B,
+ 35053 - 11905: 0xD16C,
+ 35054 - 11905: 0xD16D,
+ 35055 - 11905: 0xD16E,
+ 35056 - 11905: 0xF1D6,
+ 35057 - 11905: 0xF1D1,
+ 35058 - 11905: 0xD16F,
+ 35059 - 11905: 0xC9D1,
+ 35060 - 11905: 0xC5E1,
+ 35061 - 11905: 0xD170,
+ 35062 - 11905: 0xD171,
+ 35063 - 11905: 0xD172,
+ 35064 - 11905: 0xC2E3,
+ 35065 - 11905: 0xB9FC,
+ 35066 - 11905: 0xD173,
+ 35067 - 11905: 0xD174,
+ 35068 - 11905: 0xF1D3,
+ 35069 - 11905: 0xD175,
+ 35070 - 11905: 0xF1D5,
+ 35071 - 11905: 0xD176,
+ 35072 - 11905: 0xD177,
+ 35073 - 11905: 0xD178,
+ 35074 - 11905: 0xB9D3,
+ 35075 - 11905: 0xD179,
+ 35076 - 11905: 0xD17A,
+ 35077 - 11905: 0xD17B,
+ 35078 - 11905: 0xD17C,
+ 35079 - 11905: 0xD17D,
+ 35080 - 11905: 0xD17E,
+ 35081 - 11905: 0xD180,
+ 35082 - 11905: 0xF1DB,
+ 35083 - 11905: 0xD181,
+ 35084 - 11905: 0xD182,
+ 35085 - 11905: 0xD183,
+ 35086 - 11905: 0xD184,
+ 35087 - 11905: 0xD185,
+ 35088 - 11905: 0xBAD6,
+ 35089 - 11905: 0xD186,
+ 35090 - 11905: 0xB0FD,
+ 35091 - 11905: 0xF1D9,
+ 35092 - 11905: 0xD187,
+ 35093 - 11905: 0xD188,
+ 35094 - 11905: 0xD189,
+ 35095 - 11905: 0xD18A,
+ 35096 - 11905: 0xD18B,
+ 35097 - 11905: 0xF1D8,
+ 35098 - 11905: 0xF1D2,
+ 35099 - 11905: 0xF1DA,
+ 35100 - 11905: 0xD18C,
+ 35101 - 11905: 0xD18D,
+ 35102 - 11905: 0xD18E,
+ 35103 - 11905: 0xD18F,
+ 35104 - 11905: 0xD190,
+ 35105 - 11905: 0xF1D7,
+ 35106 - 11905: 0xD191,
+ 35107 - 11905: 0xD192,
+ 35108 - 11905: 0xD193,
+ 35109 - 11905: 0xC8EC,
+ 35110 - 11905: 0xD194,
+ 35111 - 11905: 0xD195,
+ 35112 - 11905: 0xD196,
+ 35113 - 11905: 0xD197,
+ 35114 - 11905: 0xCDCA,
+ 35115 - 11905: 0xF1DD,
+ 35116 - 11905: 0xD198,
+ 35117 - 11905: 0xD199,
+ 35118 - 11905: 0xD19A,
+ 35119 - 11905: 0xD19B,
+ 35120 - 11905: 0xE5BD,
+ 35121 - 11905: 0xD19C,
+ 35122 - 11905: 0xD19D,
+ 35123 - 11905: 0xD19E,
+ 35124 - 11905: 0xF1DC,
+ 35125 - 11905: 0xD19F,
+ 35126 - 11905: 0xF1DE,
+ 35127 - 11905: 0xD1A0,
+ 35128 - 11905: 0xD240,
+ 35129 - 11905: 0xD241,
+ 35130 - 11905: 0xD242,
+ 35131 - 11905: 0xD243,
+ 35132 - 11905: 0xD244,
+ 35133 - 11905: 0xD245,
+ 35134 - 11905: 0xD246,
+ 35135 - 11905: 0xD247,
+ 35136 - 11905: 0xD248,
+ 35137 - 11905: 0xF1DF,
+ 35138 - 11905: 0xD249,
+ 35139 - 11905: 0xD24A,
+ 35140 - 11905: 0xCFE5,
+ 35141 - 11905: 0xD24B,
+ 35142 - 11905: 0xD24C,
+ 35143 - 11905: 0xD24D,
+ 35144 - 11905: 0xD24E,
+ 35145 - 11905: 0xD24F,
+ 35146 - 11905: 0xD250,
+ 35147 - 11905: 0xD251,
+ 35148 - 11905: 0xD252,
+ 35149 - 11905: 0xD253,
+ 35150 - 11905: 0xD254,
+ 35151 - 11905: 0xD255,
+ 35152 - 11905: 0xD256,
+ 35153 - 11905: 0xD257,
+ 35154 - 11905: 0xD258,
+ 35155 - 11905: 0xD259,
+ 35156 - 11905: 0xD25A,
+ 35157 - 11905: 0xD25B,
+ 35158 - 11905: 0xD25C,
+ 35159 - 11905: 0xD25D,
+ 35160 - 11905: 0xD25E,
+ 35161 - 11905: 0xD25F,
+ 35162 - 11905: 0xD260,
+ 35163 - 11905: 0xD261,
+ 35164 - 11905: 0xD262,
+ 35165 - 11905: 0xD263,
+ 35166 - 11905: 0xF4C5,
+ 35167 - 11905: 0xBDF3,
+ 35168 - 11905: 0xD264,
+ 35169 - 11905: 0xD265,
+ 35170 - 11905: 0xD266,
+ 35171 - 11905: 0xD267,
+ 35172 - 11905: 0xD268,
+ 35173 - 11905: 0xD269,
+ 35174 - 11905: 0xF1E0,
+ 35175 - 11905: 0xD26A,
+ 35176 - 11905: 0xD26B,
+ 35177 - 11905: 0xD26C,
+ 35178 - 11905: 0xD26D,
+ 35179 - 11905: 0xD26E,
+ 35180 - 11905: 0xD26F,
+ 35181 - 11905: 0xD270,
+ 35182 - 11905: 0xD271,
+ 35183 - 11905: 0xD272,
+ 35184 - 11905: 0xD273,
+ 35185 - 11905: 0xD274,
+ 35186 - 11905: 0xD275,
+ 35187 - 11905: 0xD276,
+ 35188 - 11905: 0xD277,
+ 35189 - 11905: 0xD278,
+ 35190 - 11905: 0xD279,
+ 35191 - 11905: 0xD27A,
+ 35192 - 11905: 0xD27B,
+ 35193 - 11905: 0xD27C,
+ 35194 - 11905: 0xD27D,
+ 35195 - 11905: 0xF1E1,
+ 35196 - 11905: 0xD27E,
+ 35197 - 11905: 0xD280,
+ 35198 - 11905: 0xD281,
+ 35199 - 11905: 0xCEF7,
+ 35200 - 11905: 0xD282,
+ 35201 - 11905: 0xD2AA,
+ 35202 - 11905: 0xD283,
+ 35203 - 11905: 0xF1FB,
+ 35204 - 11905: 0xD284,
+ 35205 - 11905: 0xD285,
+ 35206 - 11905: 0xB8B2,
+ 35207 - 11905: 0xD286,
+ 35208 - 11905: 0xD287,
+ 35209 - 11905: 0xD288,
+ 35210 - 11905: 0xD289,
+ 35211 - 11905: 0xD28A,
+ 35212 - 11905: 0xD28B,
+ 35213 - 11905: 0xD28C,
+ 35214 - 11905: 0xD28D,
+ 35215 - 11905: 0xD28E,
+ 35216 - 11905: 0xD28F,
+ 35217 - 11905: 0xD290,
+ 35218 - 11905: 0xD291,
+ 35219 - 11905: 0xD292,
+ 35220 - 11905: 0xD293,
+ 35221 - 11905: 0xD294,
+ 35222 - 11905: 0xD295,
+ 35223 - 11905: 0xD296,
+ 35224 - 11905: 0xD297,
+ 35225 - 11905: 0xD298,
+ 35226 - 11905: 0xD299,
+ 35227 - 11905: 0xD29A,
+ 35228 - 11905: 0xD29B,
+ 35229 - 11905: 0xD29C,
+ 35230 - 11905: 0xD29D,
+ 35231 - 11905: 0xD29E,
+ 35232 - 11905: 0xD29F,
+ 35233 - 11905: 0xD2A0,
+ 35234 - 11905: 0xD340,
+ 35235 - 11905: 0xD341,
+ 35236 - 11905: 0xD342,
+ 35237 - 11905: 0xD343,
+ 35238 - 11905: 0xD344,
+ 35239 - 11905: 0xD345,
+ 35240 - 11905: 0xD346,
+ 35241 - 11905: 0xD347,
+ 35242 - 11905: 0xD348,
+ 35243 - 11905: 0xD349,
+ 35244 - 11905: 0xD34A,
+ 35245 - 11905: 0xD34B,
+ 35246 - 11905: 0xD34C,
+ 35247 - 11905: 0xD34D,
+ 35248 - 11905: 0xD34E,
+ 35249 - 11905: 0xD34F,
+ 35250 - 11905: 0xD350,
+ 35251 - 11905: 0xD351,
+ 35252 - 11905: 0xD352,
+ 35253 - 11905: 0xD353,
+ 35254 - 11905: 0xD354,
+ 35255 - 11905: 0xD355,
+ 35256 - 11905: 0xD356,
+ 35257 - 11905: 0xD357,
+ 35258 - 11905: 0xD358,
+ 35259 - 11905: 0xD359,
+ 35260 - 11905: 0xD35A,
+ 35261 - 11905: 0xD35B,
+ 35262 - 11905: 0xD35C,
+ 35263 - 11905: 0xD35D,
+ 35264 - 11905: 0xD35E,
+ 35265 - 11905: 0xBCFB,
+ 35266 - 11905: 0xB9DB,
+ 35267 - 11905: 0xD35F,
+ 35268 - 11905: 0xB9E6,
+ 35269 - 11905: 0xC3D9,
+ 35270 - 11905: 0xCAD3,
+ 35271 - 11905: 0xEAE8,
+ 35272 - 11905: 0xC0C0,
+ 35273 - 11905: 0xBEF5,
+ 35274 - 11905: 0xEAE9,
+ 35275 - 11905: 0xEAEA,
+ 35276 - 11905: 0xEAEB,
+ 35277 - 11905: 0xD360,
+ 35278 - 11905: 0xEAEC,
+ 35279 - 11905: 0xEAED,
+ 35280 - 11905: 0xEAEE,
+ 35281 - 11905: 0xEAEF,
+ 35282 - 11905: 0xBDC7,
+ 35283 - 11905: 0xD361,
+ 35284 - 11905: 0xD362,
+ 35285 - 11905: 0xD363,
+ 35286 - 11905: 0xF5FB,
+ 35287 - 11905: 0xD364,
+ 35288 - 11905: 0xD365,
+ 35289 - 11905: 0xD366,
+ 35290 - 11905: 0xF5FD,
+ 35291 - 11905: 0xD367,
+ 35292 - 11905: 0xF5FE,
+ 35293 - 11905: 0xD368,
+ 35294 - 11905: 0xF5FC,
+ 35295 - 11905: 0xD369,
+ 35296 - 11905: 0xD36A,
+ 35297 - 11905: 0xD36B,
+ 35298 - 11905: 0xD36C,
+ 35299 - 11905: 0xBDE2,
+ 35300 - 11905: 0xD36D,
+ 35301 - 11905: 0xF6A1,
+ 35302 - 11905: 0xB4A5,
+ 35303 - 11905: 0xD36E,
+ 35304 - 11905: 0xD36F,
+ 35305 - 11905: 0xD370,
+ 35306 - 11905: 0xD371,
+ 35307 - 11905: 0xF6A2,
+ 35308 - 11905: 0xD372,
+ 35309 - 11905: 0xD373,
+ 35310 - 11905: 0xD374,
+ 35311 - 11905: 0xF6A3,
+ 35312 - 11905: 0xD375,
+ 35313 - 11905: 0xD376,
+ 35314 - 11905: 0xD377,
+ 35315 - 11905: 0xECB2,
+ 35316 - 11905: 0xD378,
+ 35317 - 11905: 0xD379,
+ 35318 - 11905: 0xD37A,
+ 35319 - 11905: 0xD37B,
+ 35320 - 11905: 0xD37C,
+ 35321 - 11905: 0xD37D,
+ 35322 - 11905: 0xD37E,
+ 35323 - 11905: 0xD380,
+ 35324 - 11905: 0xD381,
+ 35325 - 11905: 0xD382,
+ 35326 - 11905: 0xD383,
+ 35327 - 11905: 0xD384,
+ 35328 - 11905: 0xD1D4,
+ 35329 - 11905: 0xD385,
+ 35330 - 11905: 0xD386,
+ 35331 - 11905: 0xD387,
+ 35332 - 11905: 0xD388,
+ 35333 - 11905: 0xD389,
+ 35334 - 11905: 0xD38A,
+ 35335 - 11905: 0xD9EA,
+ 35336 - 11905: 0xD38B,
+ 35337 - 11905: 0xD38C,
+ 35338 - 11905: 0xD38D,
+ 35339 - 11905: 0xD38E,
+ 35340 - 11905: 0xD38F,
+ 35341 - 11905: 0xD390,
+ 35342 - 11905: 0xD391,
+ 35343 - 11905: 0xD392,
+ 35344 - 11905: 0xD393,
+ 35345 - 11905: 0xD394,
+ 35346 - 11905: 0xD395,
+ 35347 - 11905: 0xD396,
+ 35348 - 11905: 0xD397,
+ 35349 - 11905: 0xD398,
+ 35350 - 11905: 0xD399,
+ 35351 - 11905: 0xD39A,
+ 35352 - 11905: 0xD39B,
+ 35353 - 11905: 0xD39C,
+ 35354 - 11905: 0xD39D,
+ 35355 - 11905: 0xD39E,
+ 35356 - 11905: 0xD39F,
+ 35357 - 11905: 0xD3A0,
+ 35358 - 11905: 0xD440,
+ 35359 - 11905: 0xD441,
+ 35360 - 11905: 0xD442,
+ 35361 - 11905: 0xD443,
+ 35362 - 11905: 0xD444,
+ 35363 - 11905: 0xD445,
+ 35364 - 11905: 0xD446,
+ 35365 - 11905: 0xD447,
+ 35366 - 11905: 0xD448,
+ 35367 - 11905: 0xD449,
+ 35368 - 11905: 0xD44A,
+ 35369 - 11905: 0xD44B,
+ 35370 - 11905: 0xD44C,
+ 35371 - 11905: 0xD44D,
+ 35372 - 11905: 0xD44E,
+ 35373 - 11905: 0xD44F,
+ 35374 - 11905: 0xD450,
+ 35375 - 11905: 0xD451,
+ 35376 - 11905: 0xD452,
+ 35377 - 11905: 0xD453,
+ 35378 - 11905: 0xD454,
+ 35379 - 11905: 0xD455,
+ 35380 - 11905: 0xD456,
+ 35381 - 11905: 0xD457,
+ 35382 - 11905: 0xD458,
+ 35383 - 11905: 0xD459,
+ 35384 - 11905: 0xD45A,
+ 35385 - 11905: 0xD45B,
+ 35386 - 11905: 0xD45C,
+ 35387 - 11905: 0xD45D,
+ 35388 - 11905: 0xD45E,
+ 35389 - 11905: 0xD45F,
+ 35390 - 11905: 0xF6A4,
+ 35391 - 11905: 0xD460,
+ 35392 - 11905: 0xD461,
+ 35393 - 11905: 0xD462,
+ 35394 - 11905: 0xD463,
+ 35395 - 11905: 0xD464,
+ 35396 - 11905: 0xD465,
+ 35397 - 11905: 0xD466,
+ 35398 - 11905: 0xD467,
+ 35399 - 11905: 0xD468,
+ 35400 - 11905: 0xEEBA,
+ 35401 - 11905: 0xD469,
+ 35402 - 11905: 0xD46A,
+ 35403 - 11905: 0xD46B,
+ 35404 - 11905: 0xD46C,
+ 35405 - 11905: 0xD46D,
+ 35406 - 11905: 0xD46E,
+ 35407 - 11905: 0xD46F,
+ 35408 - 11905: 0xD470,
+ 35409 - 11905: 0xD471,
+ 35410 - 11905: 0xD472,
+ 35411 - 11905: 0xD473,
+ 35412 - 11905: 0xD474,
+ 35413 - 11905: 0xD475,
+ 35414 - 11905: 0xD476,
+ 35415 - 11905: 0xD477,
+ 35416 - 11905: 0xD478,
+ 35417 - 11905: 0xD479,
+ 35418 - 11905: 0xD47A,
+ 35419 - 11905: 0xD47B,
+ 35420 - 11905: 0xD47C,
+ 35421 - 11905: 0xD47D,
+ 35422 - 11905: 0xD47E,
+ 35423 - 11905: 0xD480,
+ 35424 - 11905: 0xD481,
+ 35425 - 11905: 0xD482,
+ 35426 - 11905: 0xD483,
+ 35427 - 11905: 0xD484,
+ 35428 - 11905: 0xD485,
+ 35429 - 11905: 0xD486,
+ 35430 - 11905: 0xD487,
+ 35431 - 11905: 0xD488,
+ 35432 - 11905: 0xD489,
+ 35433 - 11905: 0xD48A,
+ 35434 - 11905: 0xD48B,
+ 35435 - 11905: 0xD48C,
+ 35436 - 11905: 0xD48D,
+ 35437 - 11905: 0xD48E,
+ 35438 - 11905: 0xD48F,
+ 35439 - 11905: 0xD490,
+ 35440 - 11905: 0xD491,
+ 35441 - 11905: 0xD492,
+ 35442 - 11905: 0xD493,
+ 35443 - 11905: 0xD494,
+ 35444 - 11905: 0xD495,
+ 35445 - 11905: 0xD496,
+ 35446 - 11905: 0xD497,
+ 35447 - 11905: 0xD498,
+ 35448 - 11905: 0xD499,
+ 35449 - 11905: 0xD5B2,
+ 35450 - 11905: 0xD49A,
+ 35451 - 11905: 0xD49B,
+ 35452 - 11905: 0xD49C,
+ 35453 - 11905: 0xD49D,
+ 35454 - 11905: 0xD49E,
+ 35455 - 11905: 0xD49F,
+ 35456 - 11905: 0xD4A0,
+ 35457 - 11905: 0xD540,
+ 35458 - 11905: 0xD541,
+ 35459 - 11905: 0xD542,
+ 35460 - 11905: 0xD543,
+ 35461 - 11905: 0xD544,
+ 35462 - 11905: 0xD545,
+ 35463 - 11905: 0xD546,
+ 35464 - 11905: 0xD547,
+ 35465 - 11905: 0xD3FE,
+ 35466 - 11905: 0xCCDC,
+ 35467 - 11905: 0xD548,
+ 35468 - 11905: 0xD549,
+ 35469 - 11905: 0xD54A,
+ 35470 - 11905: 0xD54B,
+ 35471 - 11905: 0xD54C,
+ 35472 - 11905: 0xD54D,
+ 35473 - 11905: 0xD54E,
+ 35474 - 11905: 0xD54F,
+ 35475 - 11905: 0xCAC4,
+ 35476 - 11905: 0xD550,
+ 35477 - 11905: 0xD551,
+ 35478 - 11905: 0xD552,
+ 35479 - 11905: 0xD553,
+ 35480 - 11905: 0xD554,
+ 35481 - 11905: 0xD555,
+ 35482 - 11905: 0xD556,
+ 35483 - 11905: 0xD557,
+ 35484 - 11905: 0xD558,
+ 35485 - 11905: 0xD559,
+ 35486 - 11905: 0xD55A,
+ 35487 - 11905: 0xD55B,
+ 35488 - 11905: 0xD55C,
+ 35489 - 11905: 0xD55D,
+ 35490 - 11905: 0xD55E,
+ 35491 - 11905: 0xD55F,
+ 35492 - 11905: 0xD560,
+ 35493 - 11905: 0xD561,
+ 35494 - 11905: 0xD562,
+ 35495 - 11905: 0xD563,
+ 35496 - 11905: 0xD564,
+ 35497 - 11905: 0xD565,
+ 35498 - 11905: 0xD566,
+ 35499 - 11905: 0xD567,
+ 35500 - 11905: 0xD568,
+ 35501 - 11905: 0xD569,
+ 35502 - 11905: 0xD56A,
+ 35503 - 11905: 0xD56B,
+ 35504 - 11905: 0xD56C,
+ 35505 - 11905: 0xD56D,
+ 35506 - 11905: 0xD56E,
+ 35507 - 11905: 0xD56F,
+ 35508 - 11905: 0xD570,
+ 35509 - 11905: 0xD571,
+ 35510 - 11905: 0xD572,
+ 35511 - 11905: 0xD573,
+ 35512 - 11905: 0xD574,
+ 35513 - 11905: 0xD575,
+ 35514 - 11905: 0xD576,
+ 35515 - 11905: 0xD577,
+ 35516 - 11905: 0xD578,
+ 35517 - 11905: 0xD579,
+ 35518 - 11905: 0xD57A,
+ 35519 - 11905: 0xD57B,
+ 35520 - 11905: 0xD57C,
+ 35521 - 11905: 0xD57D,
+ 35522 - 11905: 0xD57E,
+ 35523 - 11905: 0xD580,
+ 35524 - 11905: 0xD581,
+ 35525 - 11905: 0xD582,
+ 35526 - 11905: 0xD583,
+ 35527 - 11905: 0xD584,
+ 35528 - 11905: 0xD585,
+ 35529 - 11905: 0xD586,
+ 35530 - 11905: 0xD587,
+ 35531 - 11905: 0xD588,
+ 35532 - 11905: 0xD589,
+ 35533 - 11905: 0xD58A,
+ 35534 - 11905: 0xD58B,
+ 35535 - 11905: 0xD58C,
+ 35536 - 11905: 0xD58D,
+ 35537 - 11905: 0xD58E,
+ 35538 - 11905: 0xD58F,
+ 35539 - 11905: 0xD590,
+ 35540 - 11905: 0xD591,
+ 35541 - 11905: 0xD592,
+ 35542 - 11905: 0xD593,
+ 35543 - 11905: 0xD594,
+ 35544 - 11905: 0xD595,
+ 35545 - 11905: 0xD596,
+ 35546 - 11905: 0xD597,
+ 35547 - 11905: 0xD598,
+ 35548 - 11905: 0xD599,
+ 35549 - 11905: 0xD59A,
+ 35550 - 11905: 0xD59B,
+ 35551 - 11905: 0xD59C,
+ 35552 - 11905: 0xD59D,
+ 35553 - 11905: 0xD59E,
+ 35554 - 11905: 0xD59F,
+ 35555 - 11905: 0xD5A0,
+ 35556 - 11905: 0xD640,
+ 35557 - 11905: 0xD641,
+ 35558 - 11905: 0xD642,
+ 35559 - 11905: 0xD643,
+ 35560 - 11905: 0xD644,
+ 35561 - 11905: 0xD645,
+ 35562 - 11905: 0xD646,
+ 35563 - 11905: 0xD647,
+ 35564 - 11905: 0xD648,
+ 35565 - 11905: 0xD649,
+ 35566 - 11905: 0xD64A,
+ 35567 - 11905: 0xD64B,
+ 35568 - 11905: 0xD64C,
+ 35569 - 11905: 0xD64D,
+ 35570 - 11905: 0xD64E,
+ 35571 - 11905: 0xD64F,
+ 35572 - 11905: 0xD650,
+ 35573 - 11905: 0xD651,
+ 35574 - 11905: 0xD652,
+ 35575 - 11905: 0xD653,
+ 35576 - 11905: 0xD654,
+ 35577 - 11905: 0xD655,
+ 35578 - 11905: 0xD656,
+ 35579 - 11905: 0xD657,
+ 35580 - 11905: 0xD658,
+ 35581 - 11905: 0xD659,
+ 35582 - 11905: 0xD65A,
+ 35583 - 11905: 0xD65B,
+ 35584 - 11905: 0xD65C,
+ 35585 - 11905: 0xD65D,
+ 35586 - 11905: 0xD65E,
+ 35587 - 11905: 0xD65F,
+ 35588 - 11905: 0xD660,
+ 35589 - 11905: 0xD661,
+ 35590 - 11905: 0xD662,
+ 35591 - 11905: 0xE5C0,
+ 35592 - 11905: 0xD663,
+ 35593 - 11905: 0xD664,
+ 35594 - 11905: 0xD665,
+ 35595 - 11905: 0xD666,
+ 35596 - 11905: 0xD667,
+ 35597 - 11905: 0xD668,
+ 35598 - 11905: 0xD669,
+ 35599 - 11905: 0xD66A,
+ 35600 - 11905: 0xD66B,
+ 35601 - 11905: 0xD66C,
+ 35602 - 11905: 0xD66D,
+ 35603 - 11905: 0xD66E,
+ 35604 - 11905: 0xD66F,
+ 35605 - 11905: 0xD670,
+ 35606 - 11905: 0xD671,
+ 35607 - 11905: 0xD672,
+ 35608 - 11905: 0xD673,
+ 35609 - 11905: 0xD674,
+ 35610 - 11905: 0xD675,
+ 35611 - 11905: 0xD676,
+ 35612 - 11905: 0xD677,
+ 35613 - 11905: 0xD678,
+ 35614 - 11905: 0xD679,
+ 35615 - 11905: 0xD67A,
+ 35616 - 11905: 0xD67B,
+ 35617 - 11905: 0xD67C,
+ 35618 - 11905: 0xD67D,
+ 35619 - 11905: 0xD67E,
+ 35620 - 11905: 0xD680,
+ 35621 - 11905: 0xD681,
+ 35622 - 11905: 0xF6A5,
+ 35623 - 11905: 0xD682,
+ 35624 - 11905: 0xD683,
+ 35625 - 11905: 0xD684,
+ 35626 - 11905: 0xD685,
+ 35627 - 11905: 0xD686,
+ 35628 - 11905: 0xD687,
+ 35629 - 11905: 0xD688,
+ 35630 - 11905: 0xD689,
+ 35631 - 11905: 0xD68A,
+ 35632 - 11905: 0xD68B,
+ 35633 - 11905: 0xD68C,
+ 35634 - 11905: 0xD68D,
+ 35635 - 11905: 0xD68E,
+ 35636 - 11905: 0xD68F,
+ 35637 - 11905: 0xD690,
+ 35638 - 11905: 0xD691,
+ 35639 - 11905: 0xD692,
+ 35640 - 11905: 0xD693,
+ 35641 - 11905: 0xD694,
+ 35642 - 11905: 0xD695,
+ 35643 - 11905: 0xD696,
+ 35644 - 11905: 0xD697,
+ 35645 - 11905: 0xD698,
+ 35646 - 11905: 0xD699,
+ 35647 - 11905: 0xD69A,
+ 35648 - 11905: 0xD69B,
+ 35649 - 11905: 0xD69C,
+ 35650 - 11905: 0xD69D,
+ 35651 - 11905: 0xD69E,
+ 35652 - 11905: 0xD69F,
+ 35653 - 11905: 0xD6A0,
+ 35654 - 11905: 0xD740,
+ 35655 - 11905: 0xD741,
+ 35656 - 11905: 0xD742,
+ 35657 - 11905: 0xD743,
+ 35658 - 11905: 0xD744,
+ 35659 - 11905: 0xD745,
+ 35660 - 11905: 0xD746,
+ 35661 - 11905: 0xD747,
+ 35662 - 11905: 0xD748,
+ 35663 - 11905: 0xD749,
+ 35664 - 11905: 0xD74A,
+ 35665 - 11905: 0xD74B,
+ 35666 - 11905: 0xD74C,
+ 35667 - 11905: 0xD74D,
+ 35668 - 11905: 0xD74E,
+ 35669 - 11905: 0xD74F,
+ 35670 - 11905: 0xD750,
+ 35671 - 11905: 0xD751,
+ 35672 - 11905: 0xD752,
+ 35673 - 11905: 0xD753,
+ 35674 - 11905: 0xD754,
+ 35675 - 11905: 0xD755,
+ 35676 - 11905: 0xD756,
+ 35677 - 11905: 0xD757,
+ 35678 - 11905: 0xD758,
+ 35679 - 11905: 0xD759,
+ 35680 - 11905: 0xD75A,
+ 35681 - 11905: 0xD75B,
+ 35682 - 11905: 0xD75C,
+ 35683 - 11905: 0xD75D,
+ 35684 - 11905: 0xD75E,
+ 35685 - 11905: 0xD75F,
+ 35686 - 11905: 0xBEAF,
+ 35687 - 11905: 0xD760,
+ 35688 - 11905: 0xD761,
+ 35689 - 11905: 0xD762,
+ 35690 - 11905: 0xD763,
+ 35691 - 11905: 0xD764,
+ 35692 - 11905: 0xC6A9,
+ 35693 - 11905: 0xD765,
+ 35694 - 11905: 0xD766,
+ 35695 - 11905: 0xD767,
+ 35696 - 11905: 0xD768,
+ 35697 - 11905: 0xD769,
+ 35698 - 11905: 0xD76A,
+ 35699 - 11905: 0xD76B,
+ 35700 - 11905: 0xD76C,
+ 35701 - 11905: 0xD76D,
+ 35702 - 11905: 0xD76E,
+ 35703 - 11905: 0xD76F,
+ 35704 - 11905: 0xD770,
+ 35705 - 11905: 0xD771,
+ 35706 - 11905: 0xD772,
+ 35707 - 11905: 0xD773,
+ 35708 - 11905: 0xD774,
+ 35709 - 11905: 0xD775,
+ 35710 - 11905: 0xD776,
+ 35711 - 11905: 0xD777,
+ 35712 - 11905: 0xD778,
+ 35713 - 11905: 0xD779,
+ 35714 - 11905: 0xD77A,
+ 35715 - 11905: 0xD77B,
+ 35716 - 11905: 0xD77C,
+ 35717 - 11905: 0xD77D,
+ 35718 - 11905: 0xD77E,
+ 35719 - 11905: 0xD780,
+ 35720 - 11905: 0xD781,
+ 35721 - 11905: 0xD782,
+ 35722 - 11905: 0xD783,
+ 35723 - 11905: 0xD784,
+ 35724 - 11905: 0xD785,
+ 35725 - 11905: 0xD786,
+ 35726 - 11905: 0xD787,
+ 35727 - 11905: 0xD788,
+ 35728 - 11905: 0xD789,
+ 35729 - 11905: 0xD78A,
+ 35730 - 11905: 0xD78B,
+ 35731 - 11905: 0xD78C,
+ 35732 - 11905: 0xD78D,
+ 35733 - 11905: 0xD78E,
+ 35734 - 11905: 0xD78F,
+ 35735 - 11905: 0xD790,
+ 35736 - 11905: 0xD791,
+ 35737 - 11905: 0xD792,
+ 35738 - 11905: 0xD793,
+ 35739 - 11905: 0xD794,
+ 35740 - 11905: 0xD795,
+ 35741 - 11905: 0xD796,
+ 35742 - 11905: 0xD797,
+ 35743 - 11905: 0xD798,
+ 35744 - 11905: 0xDAA5,
+ 35745 - 11905: 0xBCC6,
+ 35746 - 11905: 0xB6A9,
+ 35747 - 11905: 0xB8BC,
+ 35748 - 11905: 0xC8CF,
+ 35749 - 11905: 0xBCA5,
+ 35750 - 11905: 0xDAA6,
+ 35751 - 11905: 0xDAA7,
+ 35752 - 11905: 0xCCD6,
+ 35753 - 11905: 0xC8C3,
+ 35754 - 11905: 0xDAA8,
+ 35755 - 11905: 0xC6FD,
+ 35756 - 11905: 0xD799,
+ 35757 - 11905: 0xD1B5,
+ 35758 - 11905: 0xD2E9,
+ 35759 - 11905: 0xD1B6,
+ 35760 - 11905: 0xBCC7,
+ 35761 - 11905: 0xD79A,
+ 35762 - 11905: 0xBDB2,
+ 35763 - 11905: 0xBBE4,
+ 35764 - 11905: 0xDAA9,
+ 35765 - 11905: 0xDAAA,
+ 35766 - 11905: 0xD1C8,
+ 35767 - 11905: 0xDAAB,
+ 35768 - 11905: 0xD0ED,
+ 35769 - 11905: 0xB6EF,
+ 35770 - 11905: 0xC2DB,
+ 35771 - 11905: 0xD79B,
+ 35772 - 11905: 0xCBCF,
+ 35773 - 11905: 0xB7ED,
+ 35774 - 11905: 0xC9E8,
+ 35775 - 11905: 0xB7C3,
+ 35776 - 11905: 0xBEF7,
+ 35777 - 11905: 0xD6A4,
+ 35778 - 11905: 0xDAAC,
+ 35779 - 11905: 0xDAAD,
+ 35780 - 11905: 0xC6C0,
+ 35781 - 11905: 0xD7E7,
+ 35782 - 11905: 0xCAB6,
+ 35783 - 11905: 0xD79C,
+ 35784 - 11905: 0xD5A9,
+ 35785 - 11905: 0xCBDF,
+ 35786 - 11905: 0xD5EF,
+ 35787 - 11905: 0xDAAE,
+ 35788 - 11905: 0xD6DF,
+ 35789 - 11905: 0xB4CA,
+ 35790 - 11905: 0xDAB0,
+ 35791 - 11905: 0xDAAF,
+ 35792 - 11905: 0xD79D,
+ 35793 - 11905: 0xD2EB,
+ 35794 - 11905: 0xDAB1,
+ 35795 - 11905: 0xDAB2,
+ 35796 - 11905: 0xDAB3,
+ 35797 - 11905: 0xCAD4,
+ 35798 - 11905: 0xDAB4,
+ 35799 - 11905: 0xCAAB,
+ 35800 - 11905: 0xDAB5,
+ 35801 - 11905: 0xDAB6,
+ 35802 - 11905: 0xB3CF,
+ 35803 - 11905: 0xD6EF,
+ 35804 - 11905: 0xDAB7,
+ 35805 - 11905: 0xBBB0,
+ 35806 - 11905: 0xB5AE,
+ 35807 - 11905: 0xDAB8,
+ 35808 - 11905: 0xDAB9,
+ 35809 - 11905: 0xB9EE,
+ 35810 - 11905: 0xD1AF,
+ 35811 - 11905: 0xD2E8,
+ 35812 - 11905: 0xDABA,
+ 35813 - 11905: 0xB8C3,
+ 35814 - 11905: 0xCFEA,
+ 35815 - 11905: 0xB2EF,
+ 35816 - 11905: 0xDABB,
+ 35817 - 11905: 0xDABC,
+ 35818 - 11905: 0xD79E,
+ 35819 - 11905: 0xBDEB,
+ 35820 - 11905: 0xCEDC,
+ 35821 - 11905: 0xD3EF,
+ 35822 - 11905: 0xDABD,
+ 35823 - 11905: 0xCEF3,
+ 35824 - 11905: 0xDABE,
+ 35825 - 11905: 0xD3D5,
+ 35826 - 11905: 0xBBE5,
+ 35827 - 11905: 0xDABF,
+ 35828 - 11905: 0xCBB5,
+ 35829 - 11905: 0xCBD0,
+ 35830 - 11905: 0xDAC0,
+ 35831 - 11905: 0xC7EB,
+ 35832 - 11905: 0xD6EE,
+ 35833 - 11905: 0xDAC1,
+ 35834 - 11905: 0xC5B5,
+ 35835 - 11905: 0xB6C1,
+ 35836 - 11905: 0xDAC2,
+ 35837 - 11905: 0xB7CC,
+ 35838 - 11905: 0xBFCE,
+ 35839 - 11905: 0xDAC3,
+ 35840 - 11905: 0xDAC4,
+ 35841 - 11905: 0xCBAD,
+ 35842 - 11905: 0xDAC5,
+ 35843 - 11905: 0xB5F7,
+ 35844 - 11905: 0xDAC6,
+ 35845 - 11905: 0xC1C2,
+ 35846 - 11905: 0xD7BB,
+ 35847 - 11905: 0xDAC7,
+ 35848 - 11905: 0xCCB8,
+ 35849 - 11905: 0xD79F,
+ 35850 - 11905: 0xD2EA,
+ 35851 - 11905: 0xC4B1,
+ 35852 - 11905: 0xDAC8,
+ 35853 - 11905: 0xB5FD,
+ 35854 - 11905: 0xBBD1,
+ 35855 - 11905: 0xDAC9,
+ 35856 - 11905: 0xD0B3,
+ 35857 - 11905: 0xDACA,
+ 35858 - 11905: 0xDACB,
+ 35859 - 11905: 0xCEBD,
+ 35860 - 11905: 0xDACC,
+ 35861 - 11905: 0xDACD,
+ 35862 - 11905: 0xDACE,
+ 35863 - 11905: 0xB2F7,
+ 35864 - 11905: 0xDAD1,
+ 35865 - 11905: 0xDACF,
+ 35866 - 11905: 0xD1E8,
+ 35867 - 11905: 0xDAD0,
+ 35868 - 11905: 0xC3D5,
+ 35869 - 11905: 0xDAD2,
+ 35870 - 11905: 0xD7A0,
+ 35871 - 11905: 0xDAD3,
+ 35872 - 11905: 0xDAD4,
+ 35873 - 11905: 0xDAD5,
+ 35874 - 11905: 0xD0BB,
+ 35875 - 11905: 0xD2A5,
+ 35876 - 11905: 0xB0F9,
+ 35877 - 11905: 0xDAD6,
+ 35878 - 11905: 0xC7AB,
+ 35879 - 11905: 0xDAD7,
+ 35880 - 11905: 0xBDF7,
+ 35881 - 11905: 0xC3A1,
+ 35882 - 11905: 0xDAD8,
+ 35883 - 11905: 0xDAD9,
+ 35884 - 11905: 0xC3FD,
+ 35885 - 11905: 0xCCB7,
+ 35886 - 11905: 0xDADA,
+ 35887 - 11905: 0xDADB,
+ 35888 - 11905: 0xC0BE,
+ 35889 - 11905: 0xC6D7,
+ 35890 - 11905: 0xDADC,
+ 35891 - 11905: 0xDADD,
+ 35892 - 11905: 0xC7B4,
+ 35893 - 11905: 0xDADE,
+ 35894 - 11905: 0xDADF,
+ 35895 - 11905: 0xB9C8,
+ 35896 - 11905: 0xD840,
+ 35897 - 11905: 0xD841,
+ 35898 - 11905: 0xD842,
+ 35899 - 11905: 0xD843,
+ 35900 - 11905: 0xD844,
+ 35901 - 11905: 0xD845,
+ 35902 - 11905: 0xD846,
+ 35903 - 11905: 0xD847,
+ 35904 - 11905: 0xD848,
+ 35905 - 11905: 0xBBED,
+ 35906 - 11905: 0xD849,
+ 35907 - 11905: 0xD84A,
+ 35908 - 11905: 0xD84B,
+ 35909 - 11905: 0xD84C,
+ 35910 - 11905: 0xB6B9,
+ 35911 - 11905: 0xF4F8,
+ 35912 - 11905: 0xD84D,
+ 35913 - 11905: 0xF4F9,
+ 35914 - 11905: 0xD84E,
+ 35915 - 11905: 0xD84F,
+ 35916 - 11905: 0xCDE3,
+ 35917 - 11905: 0xD850,
+ 35918 - 11905: 0xD851,
+ 35919 - 11905: 0xD852,
+ 35920 - 11905: 0xD853,
+ 35921 - 11905: 0xD854,
+ 35922 - 11905: 0xD855,
+ 35923 - 11905: 0xD856,
+ 35924 - 11905: 0xD857,
+ 35925 - 11905: 0xF5B9,
+ 35926 - 11905: 0xD858,
+ 35927 - 11905: 0xD859,
+ 35928 - 11905: 0xD85A,
+ 35929 - 11905: 0xD85B,
+ 35930 - 11905: 0xEBE0,
+ 35931 - 11905: 0xD85C,
+ 35932 - 11905: 0xD85D,
+ 35933 - 11905: 0xD85E,
+ 35934 - 11905: 0xD85F,
+ 35935 - 11905: 0xD860,
+ 35936 - 11905: 0xD861,
+ 35937 - 11905: 0xCFF3,
+ 35938 - 11905: 0xBBBF,
+ 35939 - 11905: 0xD862,
+ 35940 - 11905: 0xD863,
+ 35941 - 11905: 0xD864,
+ 35942 - 11905: 0xD865,
+ 35943 - 11905: 0xD866,
+ 35944 - 11905: 0xD867,
+ 35945 - 11905: 0xD868,
+ 35946 - 11905: 0xBAC0,
+ 35947 - 11905: 0xD4A5,
+ 35948 - 11905: 0xD869,
+ 35949 - 11905: 0xD86A,
+ 35950 - 11905: 0xD86B,
+ 35951 - 11905: 0xD86C,
+ 35952 - 11905: 0xD86D,
+ 35953 - 11905: 0xD86E,
+ 35954 - 11905: 0xD86F,
+ 35955 - 11905: 0xE1D9,
+ 35956 - 11905: 0xD870,
+ 35957 - 11905: 0xD871,
+ 35958 - 11905: 0xD872,
+ 35959 - 11905: 0xD873,
+ 35960 - 11905: 0xF5F4,
+ 35961 - 11905: 0xB1AA,
+ 35962 - 11905: 0xB2F2,
+ 35963 - 11905: 0xD874,
+ 35964 - 11905: 0xD875,
+ 35965 - 11905: 0xD876,
+ 35966 - 11905: 0xD877,
+ 35967 - 11905: 0xD878,
+ 35968 - 11905: 0xD879,
+ 35969 - 11905: 0xD87A,
+ 35970 - 11905: 0xF5F5,
+ 35971 - 11905: 0xD87B,
+ 35972 - 11905: 0xD87C,
+ 35973 - 11905: 0xF5F7,
+ 35974 - 11905: 0xD87D,
+ 35975 - 11905: 0xD87E,
+ 35976 - 11905: 0xD880,
+ 35977 - 11905: 0xBAD1,
+ 35978 - 11905: 0xF5F6,
+ 35979 - 11905: 0xD881,
+ 35980 - 11905: 0xC3B2,
+ 35981 - 11905: 0xD882,
+ 35982 - 11905: 0xD883,
+ 35983 - 11905: 0xD884,
+ 35984 - 11905: 0xD885,
+ 35985 - 11905: 0xD886,
+ 35986 - 11905: 0xD887,
+ 35987 - 11905: 0xD888,
+ 35988 - 11905: 0xF5F9,
+ 35989 - 11905: 0xD889,
+ 35990 - 11905: 0xD88A,
+ 35991 - 11905: 0xD88B,
+ 35992 - 11905: 0xF5F8,
+ 35993 - 11905: 0xD88C,
+ 35994 - 11905: 0xD88D,
+ 35995 - 11905: 0xD88E,
+ 35996 - 11905: 0xD88F,
+ 35997 - 11905: 0xD890,
+ 35998 - 11905: 0xD891,
+ 35999 - 11905: 0xD892,
+ 36000 - 11905: 0xD893,
+ 36001 - 11905: 0xD894,
+ 36002 - 11905: 0xD895,
+ 36003 - 11905: 0xD896,
+ 36004 - 11905: 0xD897,
+ 36005 - 11905: 0xD898,
+ 36006 - 11905: 0xD899,
+ 36007 - 11905: 0xD89A,
+ 36008 - 11905: 0xD89B,
+ 36009 - 11905: 0xD89C,
+ 36010 - 11905: 0xD89D,
+ 36011 - 11905: 0xD89E,
+ 36012 - 11905: 0xD89F,
+ 36013 - 11905: 0xD8A0,
+ 36014 - 11905: 0xD940,
+ 36015 - 11905: 0xD941,
+ 36016 - 11905: 0xD942,
+ 36017 - 11905: 0xD943,
+ 36018 - 11905: 0xD944,
+ 36019 - 11905: 0xD945,
+ 36020 - 11905: 0xD946,
+ 36021 - 11905: 0xD947,
+ 36022 - 11905: 0xD948,
+ 36023 - 11905: 0xD949,
+ 36024 - 11905: 0xD94A,
+ 36025 - 11905: 0xD94B,
+ 36026 - 11905: 0xD94C,
+ 36027 - 11905: 0xD94D,
+ 36028 - 11905: 0xD94E,
+ 36029 - 11905: 0xD94F,
+ 36030 - 11905: 0xD950,
+ 36031 - 11905: 0xD951,
+ 36032 - 11905: 0xD952,
+ 36033 - 11905: 0xD953,
+ 36034 - 11905: 0xD954,
+ 36035 - 11905: 0xD955,
+ 36036 - 11905: 0xD956,
+ 36037 - 11905: 0xD957,
+ 36038 - 11905: 0xD958,
+ 36039 - 11905: 0xD959,
+ 36040 - 11905: 0xD95A,
+ 36041 - 11905: 0xD95B,
+ 36042 - 11905: 0xD95C,
+ 36043 - 11905: 0xD95D,
+ 36044 - 11905: 0xD95E,
+ 36045 - 11905: 0xD95F,
+ 36046 - 11905: 0xD960,
+ 36047 - 11905: 0xD961,
+ 36048 - 11905: 0xD962,
+ 36049 - 11905: 0xD963,
+ 36050 - 11905: 0xD964,
+ 36051 - 11905: 0xD965,
+ 36052 - 11905: 0xD966,
+ 36053 - 11905: 0xD967,
+ 36054 - 11905: 0xD968,
+ 36055 - 11905: 0xD969,
+ 36056 - 11905: 0xD96A,
+ 36057 - 11905: 0xD96B,
+ 36058 - 11905: 0xD96C,
+ 36059 - 11905: 0xD96D,
+ 36060 - 11905: 0xD96E,
+ 36061 - 11905: 0xD96F,
+ 36062 - 11905: 0xD970,
+ 36063 - 11905: 0xD971,
+ 36064 - 11905: 0xD972,
+ 36065 - 11905: 0xD973,
+ 36066 - 11905: 0xD974,
+ 36067 - 11905: 0xD975,
+ 36068 - 11905: 0xD976,
+ 36069 - 11905: 0xD977,
+ 36070 - 11905: 0xD978,
+ 36071 - 11905: 0xD979,
+ 36072 - 11905: 0xD97A,
+ 36073 - 11905: 0xD97B,
+ 36074 - 11905: 0xD97C,
+ 36075 - 11905: 0xD97D,
+ 36076 - 11905: 0xD97E,
+ 36077 - 11905: 0xD980,
+ 36078 - 11905: 0xD981,
+ 36079 - 11905: 0xD982,
+ 36080 - 11905: 0xD983,
+ 36081 - 11905: 0xD984,
+ 36082 - 11905: 0xD985,
+ 36083 - 11905: 0xD986,
+ 36084 - 11905: 0xD987,
+ 36085 - 11905: 0xD988,
+ 36086 - 11905: 0xD989,
+ 36087 - 11905: 0xD98A,
+ 36088 - 11905: 0xD98B,
+ 36089 - 11905: 0xD98C,
+ 36090 - 11905: 0xD98D,
+ 36091 - 11905: 0xD98E,
+ 36092 - 11905: 0xD98F,
+ 36093 - 11905: 0xD990,
+ 36094 - 11905: 0xD991,
+ 36095 - 11905: 0xD992,
+ 36096 - 11905: 0xD993,
+ 36097 - 11905: 0xD994,
+ 36098 - 11905: 0xD995,
+ 36099 - 11905: 0xD996,
+ 36100 - 11905: 0xD997,
+ 36101 - 11905: 0xD998,
+ 36102 - 11905: 0xD999,
+ 36103 - 11905: 0xD99A,
+ 36104 - 11905: 0xD99B,
+ 36105 - 11905: 0xD99C,
+ 36106 - 11905: 0xD99D,
+ 36107 - 11905: 0xD99E,
+ 36108 - 11905: 0xD99F,
+ 36109 - 11905: 0xD9A0,
+ 36110 - 11905: 0xDA40,
+ 36111 - 11905: 0xDA41,
+ 36112 - 11905: 0xDA42,
+ 36113 - 11905: 0xDA43,
+ 36114 - 11905: 0xDA44,
+ 36115 - 11905: 0xDA45,
+ 36116 - 11905: 0xDA46,
+ 36117 - 11905: 0xDA47,
+ 36118 - 11905: 0xDA48,
+ 36119 - 11905: 0xDA49,
+ 36120 - 11905: 0xDA4A,
+ 36121 - 11905: 0xDA4B,
+ 36122 - 11905: 0xDA4C,
+ 36123 - 11905: 0xDA4D,
+ 36124 - 11905: 0xDA4E,
+ 36125 - 11905: 0xB1B4,
+ 36126 - 11905: 0xD5EA,
+ 36127 - 11905: 0xB8BA,
+ 36128 - 11905: 0xDA4F,
+ 36129 - 11905: 0xB9B1,
+ 36130 - 11905: 0xB2C6,
+ 36131 - 11905: 0xD4F0,
+ 36132 - 11905: 0xCFCD,
+ 36133 - 11905: 0xB0DC,
+ 36134 - 11905: 0xD5CB,
+ 36135 - 11905: 0xBBF5,
+ 36136 - 11905: 0xD6CA,
+ 36137 - 11905: 0xB7B7,
+ 36138 - 11905: 0xCCB0,
+ 36139 - 11905: 0xC6B6,
+ 36140 - 11905: 0xB1E1,
+ 36141 - 11905: 0xB9BA,
+ 36142 - 11905: 0xD6FC,
+ 36143 - 11905: 0xB9E1,
+ 36144 - 11905: 0xB7A1,
+ 36145 - 11905: 0xBCFA,
+ 36146 - 11905: 0xEADA,
+ 36147 - 11905: 0xEADB,
+ 36148 - 11905: 0xCCF9,
+ 36149 - 11905: 0xB9F3,
+ 36150 - 11905: 0xEADC,
+ 36151 - 11905: 0xB4FB,
+ 36152 - 11905: 0xC3B3,
+ 36153 - 11905: 0xB7D1,
+ 36154 - 11905: 0xBAD8,
+ 36155 - 11905: 0xEADD,
+ 36156 - 11905: 0xD4F4,
+ 36157 - 11905: 0xEADE,
+ 36158 - 11905: 0xBCD6,
+ 36159 - 11905: 0xBBDF,
+ 36160 - 11905: 0xEADF,
+ 36161 - 11905: 0xC1DE,
+ 36162 - 11905: 0xC2B8,
+ 36163 - 11905: 0xD4DF,
+ 36164 - 11905: 0xD7CA,
+ 36165 - 11905: 0xEAE0,
+ 36166 - 11905: 0xEAE1,
+ 36167 - 11905: 0xEAE4,
+ 36168 - 11905: 0xEAE2,
+ 36169 - 11905: 0xEAE3,
+ 36170 - 11905: 0xC9DE,
+ 36171 - 11905: 0xB8B3,
+ 36172 - 11905: 0xB6C4,
+ 36173 - 11905: 0xEAE5,
+ 36174 - 11905: 0xCAEA,
+ 36175 - 11905: 0xC9CD,
+ 36176 - 11905: 0xB4CD,
+ 36177 - 11905: 0xDA50,
+ 36178 - 11905: 0xDA51,
+ 36179 - 11905: 0xE2D9,
+ 36180 - 11905: 0xC5E2,
+ 36181 - 11905: 0xEAE6,
+ 36182 - 11905: 0xC0B5,
+ 36183 - 11905: 0xDA52,
+ 36184 - 11905: 0xD7B8,
+ 36185 - 11905: 0xEAE7,
+ 36186 - 11905: 0xD7AC,
+ 36187 - 11905: 0xC8FC,
+ 36188 - 11905: 0xD8D3,
+ 36189 - 11905: 0xD8CD,
+ 36190 - 11905: 0xD4DE,
+ 36191 - 11905: 0xDA53,
+ 36192 - 11905: 0xD4F9,
+ 36193 - 11905: 0xC9C4,
+ 36194 - 11905: 0xD3AE,
+ 36195 - 11905: 0xB8D3,
+ 36196 - 11905: 0xB3E0,
+ 36197 - 11905: 0xDA54,
+ 36198 - 11905: 0xC9E2,
+ 36199 - 11905: 0xF4F6,
+ 36200 - 11905: 0xDA55,
+ 36201 - 11905: 0xDA56,
+ 36202 - 11905: 0xDA57,
+ 36203 - 11905: 0xBAD5,
+ 36204 - 11905: 0xDA58,
+ 36205 - 11905: 0xF4F7,
+ 36206 - 11905: 0xDA59,
+ 36207 - 11905: 0xDA5A,
+ 36208 - 11905: 0xD7DF,
+ 36209 - 11905: 0xDA5B,
+ 36210 - 11905: 0xDA5C,
+ 36211 - 11905: 0xF4F1,
+ 36212 - 11905: 0xB8B0,
+ 36213 - 11905: 0xD5D4,
+ 36214 - 11905: 0xB8CF,
+ 36215 - 11905: 0xC6F0,
+ 36216 - 11905: 0xDA5D,
+ 36217 - 11905: 0xDA5E,
+ 36218 - 11905: 0xDA5F,
+ 36219 - 11905: 0xDA60,
+ 36220 - 11905: 0xDA61,
+ 36221 - 11905: 0xDA62,
+ 36222 - 11905: 0xDA63,
+ 36223 - 11905: 0xDA64,
+ 36224 - 11905: 0xDA65,
+ 36225 - 11905: 0xB3C3,
+ 36226 - 11905: 0xDA66,
+ 36227 - 11905: 0xDA67,
+ 36228 - 11905: 0xF4F2,
+ 36229 - 11905: 0xB3AC,
+ 36230 - 11905: 0xDA68,
+ 36231 - 11905: 0xDA69,
+ 36232 - 11905: 0xDA6A,
+ 36233 - 11905: 0xDA6B,
+ 36234 - 11905: 0xD4BD,
+ 36235 - 11905: 0xC7F7,
+ 36236 - 11905: 0xDA6C,
+ 36237 - 11905: 0xDA6D,
+ 36238 - 11905: 0xDA6E,
+ 36239 - 11905: 0xDA6F,
+ 36240 - 11905: 0xDA70,
+ 36241 - 11905: 0xF4F4,
+ 36242 - 11905: 0xDA71,
+ 36243 - 11905: 0xDA72,
+ 36244 - 11905: 0xF4F3,
+ 36245 - 11905: 0xDA73,
+ 36246 - 11905: 0xDA74,
+ 36247 - 11905: 0xDA75,
+ 36248 - 11905: 0xDA76,
+ 36249 - 11905: 0xDA77,
+ 36250 - 11905: 0xDA78,
+ 36251 - 11905: 0xDA79,
+ 36252 - 11905: 0xDA7A,
+ 36253 - 11905: 0xDA7B,
+ 36254 - 11905: 0xDA7C,
+ 36255 - 11905: 0xCCCB,
+ 36256 - 11905: 0xDA7D,
+ 36257 - 11905: 0xDA7E,
+ 36258 - 11905: 0xDA80,
+ 36259 - 11905: 0xC8A4,
+ 36260 - 11905: 0xDA81,
+ 36261 - 11905: 0xDA82,
+ 36262 - 11905: 0xDA83,
+ 36263 - 11905: 0xDA84,
+ 36264 - 11905: 0xDA85,
+ 36265 - 11905: 0xDA86,
+ 36266 - 11905: 0xDA87,
+ 36267 - 11905: 0xDA88,
+ 36268 - 11905: 0xDA89,
+ 36269 - 11905: 0xDA8A,
+ 36270 - 11905: 0xDA8B,
+ 36271 - 11905: 0xDA8C,
+ 36272 - 11905: 0xDA8D,
+ 36273 - 11905: 0xF4F5,
+ 36274 - 11905: 0xDA8E,
+ 36275 - 11905: 0xD7E3,
+ 36276 - 11905: 0xC5BF,
+ 36277 - 11905: 0xF5C0,
+ 36278 - 11905: 0xDA8F,
+ 36279 - 11905: 0xDA90,
+ 36280 - 11905: 0xF5BB,
+ 36281 - 11905: 0xDA91,
+ 36282 - 11905: 0xF5C3,
+ 36283 - 11905: 0xDA92,
+ 36284 - 11905: 0xF5C2,
+ 36285 - 11905: 0xDA93,
+ 36286 - 11905: 0xD6BA,
+ 36287 - 11905: 0xF5C1,
+ 36288 - 11905: 0xDA94,
+ 36289 - 11905: 0xDA95,
+ 36290 - 11905: 0xDA96,
+ 36291 - 11905: 0xD4BE,
+ 36292 - 11905: 0xF5C4,
+ 36293 - 11905: 0xDA97,
+ 36294 - 11905: 0xF5CC,
+ 36295 - 11905: 0xDA98,
+ 36296 - 11905: 0xDA99,
+ 36297 - 11905: 0xDA9A,
+ 36298 - 11905: 0xDA9B,
+ 36299 - 11905: 0xB0CF,
+ 36300 - 11905: 0xB5F8,
+ 36301 - 11905: 0xDA9C,
+ 36302 - 11905: 0xF5C9,
+ 36303 - 11905: 0xF5CA,
+ 36304 - 11905: 0xDA9D,
+ 36305 - 11905: 0xC5DC,
+ 36306 - 11905: 0xDA9E,
+ 36307 - 11905: 0xDA9F,
+ 36308 - 11905: 0xDAA0,
+ 36309 - 11905: 0xDB40,
+ 36310 - 11905: 0xF5C5,
+ 36311 - 11905: 0xF5C6,
+ 36312 - 11905: 0xDB41,
+ 36313 - 11905: 0xDB42,
+ 36314 - 11905: 0xF5C7,
+ 36315 - 11905: 0xF5CB,
+ 36316 - 11905: 0xDB43,
+ 36317 - 11905: 0xBEE0,
+ 36318 - 11905: 0xF5C8,
+ 36319 - 11905: 0xB8FA,
+ 36320 - 11905: 0xDB44,
+ 36321 - 11905: 0xDB45,
+ 36322 - 11905: 0xDB46,
+ 36323 - 11905: 0xF5D0,
+ 36324 - 11905: 0xF5D3,
+ 36325 - 11905: 0xDB47,
+ 36326 - 11905: 0xDB48,
+ 36327 - 11905: 0xDB49,
+ 36328 - 11905: 0xBFE7,
+ 36329 - 11905: 0xDB4A,
+ 36330 - 11905: 0xB9F2,
+ 36331 - 11905: 0xF5BC,
+ 36332 - 11905: 0xF5CD,
+ 36333 - 11905: 0xDB4B,
+ 36334 - 11905: 0xDB4C,
+ 36335 - 11905: 0xC2B7,
+ 36336 - 11905: 0xDB4D,
+ 36337 - 11905: 0xDB4E,
+ 36338 - 11905: 0xDB4F,
+ 36339 - 11905: 0xCCF8,
+ 36340 - 11905: 0xDB50,
+ 36341 - 11905: 0xBCF9,
+ 36342 - 11905: 0xDB51,
+ 36343 - 11905: 0xF5CE,
+ 36344 - 11905: 0xF5CF,
+ 36345 - 11905: 0xF5D1,
+ 36346 - 11905: 0xB6E5,
+ 36347 - 11905: 0xF5D2,
+ 36348 - 11905: 0xDB52,
+ 36349 - 11905: 0xF5D5,
+ 36350 - 11905: 0xDB53,
+ 36351 - 11905: 0xDB54,
+ 36352 - 11905: 0xDB55,
+ 36353 - 11905: 0xDB56,
+ 36354 - 11905: 0xDB57,
+ 36355 - 11905: 0xDB58,
+ 36356 - 11905: 0xDB59,
+ 36357 - 11905: 0xF5BD,
+ 36358 - 11905: 0xDB5A,
+ 36359 - 11905: 0xDB5B,
+ 36360 - 11905: 0xDB5C,
+ 36361 - 11905: 0xF5D4,
+ 36362 - 11905: 0xD3BB,
+ 36363 - 11905: 0xDB5D,
+ 36364 - 11905: 0xB3EC,
+ 36365 - 11905: 0xDB5E,
+ 36366 - 11905: 0xDB5F,
+ 36367 - 11905: 0xCCA4,
+ 36368 - 11905: 0xDB60,
+ 36369 - 11905: 0xDB61,
+ 36370 - 11905: 0xDB62,
+ 36371 - 11905: 0xDB63,
+ 36372 - 11905: 0xF5D6,
+ 36373 - 11905: 0xDB64,
+ 36374 - 11905: 0xDB65,
+ 36375 - 11905: 0xDB66,
+ 36376 - 11905: 0xDB67,
+ 36377 - 11905: 0xDB68,
+ 36378 - 11905: 0xDB69,
+ 36379 - 11905: 0xDB6A,
+ 36380 - 11905: 0xDB6B,
+ 36381 - 11905: 0xF5D7,
+ 36382 - 11905: 0xBEE1,
+ 36383 - 11905: 0xF5D8,
+ 36384 - 11905: 0xDB6C,
+ 36385 - 11905: 0xDB6D,
+ 36386 - 11905: 0xCCDF,
+ 36387 - 11905: 0xF5DB,
+ 36388 - 11905: 0xDB6E,
+ 36389 - 11905: 0xDB6F,
+ 36390 - 11905: 0xDB70,
+ 36391 - 11905: 0xDB71,
+ 36392 - 11905: 0xDB72,
+ 36393 - 11905: 0xB2C8,
+ 36394 - 11905: 0xD7D9,
+ 36395 - 11905: 0xDB73,
+ 36396 - 11905: 0xF5D9,
+ 36397 - 11905: 0xDB74,
+ 36398 - 11905: 0xF5DA,
+ 36399 - 11905: 0xF5DC,
+ 36400 - 11905: 0xDB75,
+ 36401 - 11905: 0xF5E2,
+ 36402 - 11905: 0xDB76,
+ 36403 - 11905: 0xDB77,
+ 36404 - 11905: 0xDB78,
+ 36405 - 11905: 0xF5E0,
+ 36406 - 11905: 0xDB79,
+ 36407 - 11905: 0xDB7A,
+ 36408 - 11905: 0xDB7B,
+ 36409 - 11905: 0xF5DF,
+ 36410 - 11905: 0xF5DD,
+ 36411 - 11905: 0xDB7C,
+ 36412 - 11905: 0xDB7D,
+ 36413 - 11905: 0xF5E1,
+ 36414 - 11905: 0xDB7E,
+ 36415 - 11905: 0xDB80,
+ 36416 - 11905: 0xF5DE,
+ 36417 - 11905: 0xF5E4,
+ 36418 - 11905: 0xF5E5,
+ 36419 - 11905: 0xDB81,
+ 36420 - 11905: 0xCCE3,
+ 36421 - 11905: 0xDB82,
+ 36422 - 11905: 0xDB83,
+ 36423 - 11905: 0xE5BF,
+ 36424 - 11905: 0xB5B8,
+ 36425 - 11905: 0xF5E3,
+ 36426 - 11905: 0xF5E8,
+ 36427 - 11905: 0xCCA3,
+ 36428 - 11905: 0xDB84,
+ 36429 - 11905: 0xDB85,
+ 36430 - 11905: 0xDB86,
+ 36431 - 11905: 0xDB87,
+ 36432 - 11905: 0xDB88,
+ 36433 - 11905: 0xF5E6,
+ 36434 - 11905: 0xF5E7,
+ 36435 - 11905: 0xDB89,
+ 36436 - 11905: 0xDB8A,
+ 36437 - 11905: 0xDB8B,
+ 36438 - 11905: 0xDB8C,
+ 36439 - 11905: 0xDB8D,
+ 36440 - 11905: 0xDB8E,
+ 36441 - 11905: 0xF5BE,
+ 36442 - 11905: 0xDB8F,
+ 36443 - 11905: 0xDB90,
+ 36444 - 11905: 0xDB91,
+ 36445 - 11905: 0xDB92,
+ 36446 - 11905: 0xDB93,
+ 36447 - 11905: 0xDB94,
+ 36448 - 11905: 0xDB95,
+ 36449 - 11905: 0xDB96,
+ 36450 - 11905: 0xDB97,
+ 36451 - 11905: 0xDB98,
+ 36452 - 11905: 0xDB99,
+ 36453 - 11905: 0xDB9A,
+ 36454 - 11905: 0xB1C4,
+ 36455 - 11905: 0xDB9B,
+ 36456 - 11905: 0xDB9C,
+ 36457 - 11905: 0xF5BF,
+ 36458 - 11905: 0xDB9D,
+ 36459 - 11905: 0xDB9E,
+ 36460 - 11905: 0xB5C5,
+ 36461 - 11905: 0xB2E4,
+ 36462 - 11905: 0xDB9F,
+ 36463 - 11905: 0xF5EC,
+ 36464 - 11905: 0xF5E9,
+ 36465 - 11905: 0xDBA0,
+ 36466 - 11905: 0xB6D7,
+ 36467 - 11905: 0xDC40,
+ 36468 - 11905: 0xF5ED,
+ 36469 - 11905: 0xDC41,
+ 36470 - 11905: 0xF5EA,
+ 36471 - 11905: 0xDC42,
+ 36472 - 11905: 0xDC43,
+ 36473 - 11905: 0xDC44,
+ 36474 - 11905: 0xDC45,
+ 36475 - 11905: 0xDC46,
+ 36476 - 11905: 0xF5EB,
+ 36477 - 11905: 0xDC47,
+ 36478 - 11905: 0xDC48,
+ 36479 - 11905: 0xB4DA,
+ 36480 - 11905: 0xDC49,
+ 36481 - 11905: 0xD4EA,
+ 36482 - 11905: 0xDC4A,
+ 36483 - 11905: 0xDC4B,
+ 36484 - 11905: 0xDC4C,
+ 36485 - 11905: 0xF5EE,
+ 36486 - 11905: 0xDC4D,
+ 36487 - 11905: 0xB3F9,
+ 36488 - 11905: 0xDC4E,
+ 36489 - 11905: 0xDC4F,
+ 36490 - 11905: 0xDC50,
+ 36491 - 11905: 0xDC51,
+ 36492 - 11905: 0xDC52,
+ 36493 - 11905: 0xDC53,
+ 36494 - 11905: 0xDC54,
+ 36495 - 11905: 0xF5EF,
+ 36496 - 11905: 0xF5F1,
+ 36497 - 11905: 0xDC55,
+ 36498 - 11905: 0xDC56,
+ 36499 - 11905: 0xDC57,
+ 36500 - 11905: 0xF5F0,
+ 36501 - 11905: 0xDC58,
+ 36502 - 11905: 0xDC59,
+ 36503 - 11905: 0xDC5A,
+ 36504 - 11905: 0xDC5B,
+ 36505 - 11905: 0xDC5C,
+ 36506 - 11905: 0xDC5D,
+ 36507 - 11905: 0xDC5E,
+ 36508 - 11905: 0xF5F2,
+ 36509 - 11905: 0xDC5F,
+ 36510 - 11905: 0xF5F3,
+ 36511 - 11905: 0xDC60,
+ 36512 - 11905: 0xDC61,
+ 36513 - 11905: 0xDC62,
+ 36514 - 11905: 0xDC63,
+ 36515 - 11905: 0xDC64,
+ 36516 - 11905: 0xDC65,
+ 36517 - 11905: 0xDC66,
+ 36518 - 11905: 0xDC67,
+ 36519 - 11905: 0xDC68,
+ 36520 - 11905: 0xDC69,
+ 36521 - 11905: 0xDC6A,
+ 36522 - 11905: 0xDC6B,
+ 36523 - 11905: 0xC9ED,
+ 36524 - 11905: 0xB9AA,
+ 36525 - 11905: 0xDC6C,
+ 36526 - 11905: 0xDC6D,
+ 36527 - 11905: 0xC7FB,
+ 36528 - 11905: 0xDC6E,
+ 36529 - 11905: 0xDC6F,
+ 36530 - 11905: 0xB6E3,
+ 36531 - 11905: 0xDC70,
+ 36532 - 11905: 0xDC71,
+ 36533 - 11905: 0xDC72,
+ 36534 - 11905: 0xDC73,
+ 36535 - 11905: 0xDC74,
+ 36536 - 11905: 0xDC75,
+ 36537 - 11905: 0xDC76,
+ 36538 - 11905: 0xCCC9,
+ 36539 - 11905: 0xDC77,
+ 36540 - 11905: 0xDC78,
+ 36541 - 11905: 0xDC79,
+ 36542 - 11905: 0xDC7A,
+ 36543 - 11905: 0xDC7B,
+ 36544 - 11905: 0xDC7C,
+ 36545 - 11905: 0xDC7D,
+ 36546 - 11905: 0xDC7E,
+ 36547 - 11905: 0xDC80,
+ 36548 - 11905: 0xDC81,
+ 36549 - 11905: 0xDC82,
+ 36550 - 11905: 0xDC83,
+ 36551 - 11905: 0xDC84,
+ 36552 - 11905: 0xDC85,
+ 36553 - 11905: 0xDC86,
+ 36554 - 11905: 0xDC87,
+ 36555 - 11905: 0xDC88,
+ 36556 - 11905: 0xDC89,
+ 36557 - 11905: 0xDC8A,
+ 36558 - 11905: 0xEAA6,
+ 36559 - 11905: 0xDC8B,
+ 36560 - 11905: 0xDC8C,
+ 36561 - 11905: 0xDC8D,
+ 36562 - 11905: 0xDC8E,
+ 36563 - 11905: 0xDC8F,
+ 36564 - 11905: 0xDC90,
+ 36565 - 11905: 0xDC91,
+ 36566 - 11905: 0xDC92,
+ 36567 - 11905: 0xDC93,
+ 36568 - 11905: 0xDC94,
+ 36569 - 11905: 0xDC95,
+ 36570 - 11905: 0xDC96,
+ 36571 - 11905: 0xDC97,
+ 36572 - 11905: 0xDC98,
+ 36573 - 11905: 0xDC99,
+ 36574 - 11905: 0xDC9A,
+ 36575 - 11905: 0xDC9B,
+ 36576 - 11905: 0xDC9C,
+ 36577 - 11905: 0xDC9D,
+ 36578 - 11905: 0xDC9E,
+ 36579 - 11905: 0xDC9F,
+ 36580 - 11905: 0xDCA0,
+ 36581 - 11905: 0xDD40,
+ 36582 - 11905: 0xDD41,
+ 36583 - 11905: 0xDD42,
+ 36584 - 11905: 0xDD43,
+ 36585 - 11905: 0xDD44,
+ 36586 - 11905: 0xDD45,
+ 36587 - 11905: 0xDD46,
+ 36588 - 11905: 0xDD47,
+ 36589 - 11905: 0xDD48,
+ 36590 - 11905: 0xDD49,
+ 36591 - 11905: 0xDD4A,
+ 36592 - 11905: 0xDD4B,
+ 36593 - 11905: 0xDD4C,
+ 36594 - 11905: 0xDD4D,
+ 36595 - 11905: 0xDD4E,
+ 36596 - 11905: 0xDD4F,
+ 36597 - 11905: 0xDD50,
+ 36598 - 11905: 0xDD51,
+ 36599 - 11905: 0xDD52,
+ 36600 - 11905: 0xDD53,
+ 36601 - 11905: 0xDD54,
+ 36602 - 11905: 0xDD55,
+ 36603 - 11905: 0xDD56,
+ 36604 - 11905: 0xDD57,
+ 36605 - 11905: 0xDD58,
+ 36606 - 11905: 0xDD59,
+ 36607 - 11905: 0xDD5A,
+ 36608 - 11905: 0xDD5B,
+ 36609 - 11905: 0xDD5C,
+ 36610 - 11905: 0xDD5D,
+ 36611 - 11905: 0xDD5E,
+ 36612 - 11905: 0xDD5F,
+ 36613 - 11905: 0xDD60,
+ 36614 - 11905: 0xDD61,
+ 36615 - 11905: 0xDD62,
+ 36616 - 11905: 0xDD63,
+ 36617 - 11905: 0xDD64,
+ 36618 - 11905: 0xDD65,
+ 36619 - 11905: 0xDD66,
+ 36620 - 11905: 0xDD67,
+ 36621 - 11905: 0xDD68,
+ 36622 - 11905: 0xDD69,
+ 36623 - 11905: 0xDD6A,
+ 36624 - 11905: 0xDD6B,
+ 36625 - 11905: 0xDD6C,
+ 36626 - 11905: 0xDD6D,
+ 36627 - 11905: 0xDD6E,
+ 36628 - 11905: 0xDD6F,
+ 36629 - 11905: 0xDD70,
+ 36630 - 11905: 0xDD71,
+ 36631 - 11905: 0xDD72,
+ 36632 - 11905: 0xDD73,
+ 36633 - 11905: 0xDD74,
+ 36634 - 11905: 0xDD75,
+ 36635 - 11905: 0xDD76,
+ 36636 - 11905: 0xDD77,
+ 36637 - 11905: 0xDD78,
+ 36638 - 11905: 0xDD79,
+ 36639 - 11905: 0xDD7A,
+ 36640 - 11905: 0xDD7B,
+ 36641 - 11905: 0xDD7C,
+ 36642 - 11905: 0xDD7D,
+ 36643 - 11905: 0xDD7E,
+ 36644 - 11905: 0xDD80,
+ 36645 - 11905: 0xDD81,
+ 36646 - 11905: 0xDD82,
+ 36647 - 11905: 0xDD83,
+ 36648 - 11905: 0xDD84,
+ 36649 - 11905: 0xDD85,
+ 36650 - 11905: 0xDD86,
+ 36651 - 11905: 0xDD87,
+ 36652 - 11905: 0xDD88,
+ 36653 - 11905: 0xDD89,
+ 36654 - 11905: 0xDD8A,
+ 36655 - 11905: 0xDD8B,
+ 36656 - 11905: 0xDD8C,
+ 36657 - 11905: 0xDD8D,
+ 36658 - 11905: 0xDD8E,
+ 36659 - 11905: 0xDD8F,
+ 36660 - 11905: 0xDD90,
+ 36661 - 11905: 0xDD91,
+ 36662 - 11905: 0xDD92,
+ 36663 - 11905: 0xDD93,
+ 36664 - 11905: 0xDD94,
+ 36665 - 11905: 0xDD95,
+ 36666 - 11905: 0xDD96,
+ 36667 - 11905: 0xDD97,
+ 36668 - 11905: 0xDD98,
+ 36669 - 11905: 0xDD99,
+ 36670 - 11905: 0xDD9A,
+ 36671 - 11905: 0xDD9B,
+ 36672 - 11905: 0xDD9C,
+ 36673 - 11905: 0xDD9D,
+ 36674 - 11905: 0xDD9E,
+ 36675 - 11905: 0xDD9F,
+ 36676 - 11905: 0xDDA0,
+ 36677 - 11905: 0xDE40,
+ 36678 - 11905: 0xDE41,
+ 36679 - 11905: 0xDE42,
+ 36680 - 11905: 0xDE43,
+ 36681 - 11905: 0xDE44,
+ 36682 - 11905: 0xDE45,
+ 36683 - 11905: 0xDE46,
+ 36684 - 11905: 0xDE47,
+ 36685 - 11905: 0xDE48,
+ 36686 - 11905: 0xDE49,
+ 36687 - 11905: 0xDE4A,
+ 36688 - 11905: 0xDE4B,
+ 36689 - 11905: 0xDE4C,
+ 36690 - 11905: 0xDE4D,
+ 36691 - 11905: 0xDE4E,
+ 36692 - 11905: 0xDE4F,
+ 36693 - 11905: 0xDE50,
+ 36694 - 11905: 0xDE51,
+ 36695 - 11905: 0xDE52,
+ 36696 - 11905: 0xDE53,
+ 36697 - 11905: 0xDE54,
+ 36698 - 11905: 0xDE55,
+ 36699 - 11905: 0xDE56,
+ 36700 - 11905: 0xDE57,
+ 36701 - 11905: 0xDE58,
+ 36702 - 11905: 0xDE59,
+ 36703 - 11905: 0xDE5A,
+ 36704 - 11905: 0xDE5B,
+ 36705 - 11905: 0xDE5C,
+ 36706 - 11905: 0xDE5D,
+ 36707 - 11905: 0xDE5E,
+ 36708 - 11905: 0xDE5F,
+ 36709 - 11905: 0xDE60,
+ 36710 - 11905: 0xB3B5,
+ 36711 - 11905: 0xD4FE,
+ 36712 - 11905: 0xB9EC,
+ 36713 - 11905: 0xD0F9,
+ 36714 - 11905: 0xDE61,
+ 36715 - 11905: 0xE9ED,
+ 36716 - 11905: 0xD7AA,
+ 36717 - 11905: 0xE9EE,
+ 36718 - 11905: 0xC2D6,
+ 36719 - 11905: 0xC8ED,
+ 36720 - 11905: 0xBAE4,
+ 36721 - 11905: 0xE9EF,
+ 36722 - 11905: 0xE9F0,
+ 36723 - 11905: 0xE9F1,
+ 36724 - 11905: 0xD6E1,
+ 36725 - 11905: 0xE9F2,
+ 36726 - 11905: 0xE9F3,
+ 36727 - 11905: 0xE9F5,
+ 36728 - 11905: 0xE9F4,
+ 36729 - 11905: 0xE9F6,
+ 36730 - 11905: 0xE9F7,
+ 36731 - 11905: 0xC7E1,
+ 36732 - 11905: 0xE9F8,
+ 36733 - 11905: 0xD4D8,
+ 36734 - 11905: 0xE9F9,
+ 36735 - 11905: 0xBDCE,
+ 36736 - 11905: 0xDE62,
+ 36737 - 11905: 0xE9FA,
+ 36738 - 11905: 0xE9FB,
+ 36739 - 11905: 0xBDCF,
+ 36740 - 11905: 0xE9FC,
+ 36741 - 11905: 0xB8A8,
+ 36742 - 11905: 0xC1BE,
+ 36743 - 11905: 0xE9FD,
+ 36744 - 11905: 0xB1B2,
+ 36745 - 11905: 0xBBD4,
+ 36746 - 11905: 0xB9F5,
+ 36747 - 11905: 0xE9FE,
+ 36748 - 11905: 0xDE63,
+ 36749 - 11905: 0xEAA1,
+ 36750 - 11905: 0xEAA2,
+ 36751 - 11905: 0xEAA3,
+ 36752 - 11905: 0xB7F8,
+ 36753 - 11905: 0xBCAD,
+ 36754 - 11905: 0xDE64,
+ 36755 - 11905: 0xCAE4,
+ 36756 - 11905: 0xE0CE,
+ 36757 - 11905: 0xD4AF,
+ 36758 - 11905: 0xCFBD,
+ 36759 - 11905: 0xD5B7,
+ 36760 - 11905: 0xEAA4,
+ 36761 - 11905: 0xD5DE,
+ 36762 - 11905: 0xEAA5,
+ 36763 - 11905: 0xD0C1,
+ 36764 - 11905: 0xB9BC,
+ 36765 - 11905: 0xDE65,
+ 36766 - 11905: 0xB4C7,
+ 36767 - 11905: 0xB1D9,
+ 36768 - 11905: 0xDE66,
+ 36769 - 11905: 0xDE67,
+ 36770 - 11905: 0xDE68,
+ 36771 - 11905: 0xC0B1,
+ 36772 - 11905: 0xDE69,
+ 36773 - 11905: 0xDE6A,
+ 36774 - 11905: 0xDE6B,
+ 36775 - 11905: 0xDE6C,
+ 36776 - 11905: 0xB1E6,
+ 36777 - 11905: 0xB1E7,
+ 36778 - 11905: 0xDE6D,
+ 36779 - 11905: 0xB1E8,
+ 36780 - 11905: 0xDE6E,
+ 36781 - 11905: 0xDE6F,
+ 36782 - 11905: 0xDE70,
+ 36783 - 11905: 0xDE71,
+ 36784 - 11905: 0xB3BD,
+ 36785 - 11905: 0xC8E8,
+ 36786 - 11905: 0xDE72,
+ 36787 - 11905: 0xDE73,
+ 36788 - 11905: 0xDE74,
+ 36789 - 11905: 0xDE75,
+ 36790 - 11905: 0xE5C1,
+ 36791 - 11905: 0xDE76,
+ 36792 - 11905: 0xDE77,
+ 36793 - 11905: 0xB1DF,
+ 36794 - 11905: 0xDE78,
+ 36795 - 11905: 0xDE79,
+ 36796 - 11905: 0xDE7A,
+ 36797 - 11905: 0xC1C9,
+ 36798 - 11905: 0xB4EF,
+ 36799 - 11905: 0xDE7B,
+ 36800 - 11905: 0xDE7C,
+ 36801 - 11905: 0xC7A8,
+ 36802 - 11905: 0xD3D8,
+ 36803 - 11905: 0xDE7D,
+ 36804 - 11905: 0xC6F9,
+ 36805 - 11905: 0xD1B8,
+ 36806 - 11905: 0xDE7E,
+ 36807 - 11905: 0xB9FD,
+ 36808 - 11905: 0xC2F5,
+ 36809 - 11905: 0xDE80,
+ 36810 - 11905: 0xDE81,
+ 36811 - 11905: 0xDE82,
+ 36812 - 11905: 0xDE83,
+ 36813 - 11905: 0xDE84,
+ 36814 - 11905: 0xD3AD,
+ 36815 - 11905: 0xDE85,
+ 36816 - 11905: 0xD4CB,
+ 36817 - 11905: 0xBDFC,
+ 36818 - 11905: 0xDE86,
+ 36819 - 11905: 0xE5C2,
+ 36820 - 11905: 0xB7B5,
+ 36821 - 11905: 0xE5C3,
+ 36822 - 11905: 0xDE87,
+ 36823 - 11905: 0xDE88,
+ 36824 - 11905: 0xBBB9,
+ 36825 - 11905: 0xD5E2,
+ 36826 - 11905: 0xDE89,
+ 36827 - 11905: 0xBDF8,
+ 36828 - 11905: 0xD4B6,
+ 36829 - 11905: 0xCEA5,
+ 36830 - 11905: 0xC1AC,
+ 36831 - 11905: 0xB3D9,
+ 36832 - 11905: 0xDE8A,
+ 36833 - 11905: 0xDE8B,
+ 36834 - 11905: 0xCCF6,
+ 36835 - 11905: 0xDE8C,
+ 36836 - 11905: 0xE5C6,
+ 36837 - 11905: 0xE5C4,
+ 36838 - 11905: 0xE5C8,
+ 36839 - 11905: 0xDE8D,
+ 36840 - 11905: 0xE5CA,
+ 36841 - 11905: 0xE5C7,
+ 36842 - 11905: 0xB5CF,
+ 36843 - 11905: 0xC6C8,
+ 36844 - 11905: 0xDE8E,
+ 36845 - 11905: 0xB5FC,
+ 36846 - 11905: 0xE5C5,
+ 36847 - 11905: 0xDE8F,
+ 36848 - 11905: 0xCAF6,
+ 36849 - 11905: 0xDE90,
+ 36850 - 11905: 0xDE91,
+ 36851 - 11905: 0xE5C9,
+ 36852 - 11905: 0xDE92,
+ 36853 - 11905: 0xDE93,
+ 36854 - 11905: 0xDE94,
+ 36855 - 11905: 0xC3D4,
+ 36856 - 11905: 0xB1C5,
+ 36857 - 11905: 0xBCA3,
+ 36858 - 11905: 0xDE95,
+ 36859 - 11905: 0xDE96,
+ 36860 - 11905: 0xDE97,
+ 36861 - 11905: 0xD7B7,
+ 36862 - 11905: 0xDE98,
+ 36863 - 11905: 0xDE99,
+ 36864 - 11905: 0xCDCB,
+ 36865 - 11905: 0xCBCD,
+ 36866 - 11905: 0xCACA,
+ 36867 - 11905: 0xCCD3,
+ 36868 - 11905: 0xE5CC,
+ 36869 - 11905: 0xE5CB,
+ 36870 - 11905: 0xC4E6,
+ 36871 - 11905: 0xDE9A,
+ 36872 - 11905: 0xDE9B,
+ 36873 - 11905: 0xD1A1,
+ 36874 - 11905: 0xD1B7,
+ 36875 - 11905: 0xE5CD,
+ 36876 - 11905: 0xDE9C,
+ 36877 - 11905: 0xE5D0,
+ 36878 - 11905: 0xDE9D,
+ 36879 - 11905: 0xCDB8,
+ 36880 - 11905: 0xD6F0,
+ 36881 - 11905: 0xE5CF,
+ 36882 - 11905: 0xB5DD,
+ 36883 - 11905: 0xDE9E,
+ 36884 - 11905: 0xCDBE,
+ 36885 - 11905: 0xDE9F,
+ 36886 - 11905: 0xE5D1,
+ 36887 - 11905: 0xB6BA,
+ 36888 - 11905: 0xDEA0,
+ 36889 - 11905: 0xDF40,
+ 36890 - 11905: 0xCDA8,
+ 36891 - 11905: 0xB9E4,
+ 36892 - 11905: 0xDF41,
+ 36893 - 11905: 0xCAC5,
+ 36894 - 11905: 0xB3D1,
+ 36895 - 11905: 0xCBD9,
+ 36896 - 11905: 0xD4EC,
+ 36897 - 11905: 0xE5D2,
+ 36898 - 11905: 0xB7EA,
+ 36899 - 11905: 0xDF42,
+ 36900 - 11905: 0xDF43,
+ 36901 - 11905: 0xDF44,
+ 36902 - 11905: 0xE5CE,
+ 36903 - 11905: 0xDF45,
+ 36904 - 11905: 0xDF46,
+ 36905 - 11905: 0xDF47,
+ 36906 - 11905: 0xDF48,
+ 36907 - 11905: 0xDF49,
+ 36908 - 11905: 0xDF4A,
+ 36909 - 11905: 0xE5D5,
+ 36910 - 11905: 0xB4FE,
+ 36911 - 11905: 0xE5D6,
+ 36912 - 11905: 0xDF4B,
+ 36913 - 11905: 0xDF4C,
+ 36914 - 11905: 0xDF4D,
+ 36915 - 11905: 0xDF4E,
+ 36916 - 11905: 0xDF4F,
+ 36917 - 11905: 0xE5D3,
+ 36918 - 11905: 0xE5D4,
+ 36919 - 11905: 0xDF50,
+ 36920 - 11905: 0xD2DD,
+ 36921 - 11905: 0xDF51,
+ 36922 - 11905: 0xDF52,
+ 36923 - 11905: 0xC2DF,
+ 36924 - 11905: 0xB1C6,
+ 36925 - 11905: 0xDF53,
+ 36926 - 11905: 0xD3E2,
+ 36927 - 11905: 0xDF54,
+ 36928 - 11905: 0xDF55,
+ 36929 - 11905: 0xB6DD,
+ 36930 - 11905: 0xCBEC,
+ 36931 - 11905: 0xDF56,
+ 36932 - 11905: 0xE5D7,
+ 36933 - 11905: 0xDF57,
+ 36934 - 11905: 0xDF58,
+ 36935 - 11905: 0xD3F6,
+ 36936 - 11905: 0xDF59,
+ 36937 - 11905: 0xDF5A,
+ 36938 - 11905: 0xDF5B,
+ 36939 - 11905: 0xDF5C,
+ 36940 - 11905: 0xDF5D,
+ 36941 - 11905: 0xB1E9,
+ 36942 - 11905: 0xDF5E,
+ 36943 - 11905: 0xB6F4,
+ 36944 - 11905: 0xE5DA,
+ 36945 - 11905: 0xE5D8,
+ 36946 - 11905: 0xE5D9,
+ 36947 - 11905: 0xB5C0,
+ 36948 - 11905: 0xDF5F,
+ 36949 - 11905: 0xDF60,
+ 36950 - 11905: 0xDF61,
+ 36951 - 11905: 0xD2C5,
+ 36952 - 11905: 0xE5DC,
+ 36953 - 11905: 0xDF62,
+ 36954 - 11905: 0xDF63,
+ 36955 - 11905: 0xE5DE,
+ 36956 - 11905: 0xDF64,
+ 36957 - 11905: 0xDF65,
+ 36958 - 11905: 0xDF66,
+ 36959 - 11905: 0xDF67,
+ 36960 - 11905: 0xDF68,
+ 36961 - 11905: 0xDF69,
+ 36962 - 11905: 0xE5DD,
+ 36963 - 11905: 0xC7B2,
+ 36964 - 11905: 0xDF6A,
+ 36965 - 11905: 0xD2A3,
+ 36966 - 11905: 0xDF6B,
+ 36967 - 11905: 0xDF6C,
+ 36968 - 11905: 0xE5DB,
+ 36969 - 11905: 0xDF6D,
+ 36970 - 11905: 0xDF6E,
+ 36971 - 11905: 0xDF6F,
+ 36972 - 11905: 0xDF70,
+ 36973 - 11905: 0xD4E2,
+ 36974 - 11905: 0xD5DA,
+ 36975 - 11905: 0xDF71,
+ 36976 - 11905: 0xDF72,
+ 36977 - 11905: 0xDF73,
+ 36978 - 11905: 0xDF74,
+ 36979 - 11905: 0xDF75,
+ 36980 - 11905: 0xE5E0,
+ 36981 - 11905: 0xD7F1,
+ 36982 - 11905: 0xDF76,
+ 36983 - 11905: 0xDF77,
+ 36984 - 11905: 0xDF78,
+ 36985 - 11905: 0xDF79,
+ 36986 - 11905: 0xDF7A,
+ 36987 - 11905: 0xDF7B,
+ 36988 - 11905: 0xDF7C,
+ 36989 - 11905: 0xE5E1,
+ 36990 - 11905: 0xDF7D,
+ 36991 - 11905: 0xB1DC,
+ 36992 - 11905: 0xD1FB,
+ 36993 - 11905: 0xDF7E,
+ 36994 - 11905: 0xE5E2,
+ 36995 - 11905: 0xE5E4,
+ 36996 - 11905: 0xDF80,
+ 36997 - 11905: 0xDF81,
+ 36998 - 11905: 0xDF82,
+ 36999 - 11905: 0xDF83,
+ 37000 - 11905: 0xE5E3,
+ 37001 - 11905: 0xDF84,
+ 37002 - 11905: 0xDF85,
+ 37003 - 11905: 0xE5E5,
+ 37004 - 11905: 0xDF86,
+ 37005 - 11905: 0xDF87,
+ 37006 - 11905: 0xDF88,
+ 37007 - 11905: 0xDF89,
+ 37008 - 11905: 0xDF8A,
+ 37009 - 11905: 0xD2D8,
+ 37010 - 11905: 0xDF8B,
+ 37011 - 11905: 0xB5CB,
+ 37012 - 11905: 0xDF8C,
+ 37013 - 11905: 0xE7DF,
+ 37014 - 11905: 0xDF8D,
+ 37015 - 11905: 0xDAF5,
+ 37016 - 11905: 0xDF8E,
+ 37017 - 11905: 0xDAF8,
+ 37018 - 11905: 0xDF8F,
+ 37019 - 11905: 0xDAF6,
+ 37020 - 11905: 0xDF90,
+ 37021 - 11905: 0xDAF7,
+ 37022 - 11905: 0xDF91,
+ 37023 - 11905: 0xDF92,
+ 37024 - 11905: 0xDF93,
+ 37025 - 11905: 0xDAFA,
+ 37026 - 11905: 0xD0CF,
+ 37027 - 11905: 0xC4C7,
+ 37028 - 11905: 0xDF94,
+ 37029 - 11905: 0xDF95,
+ 37030 - 11905: 0xB0EE,
+ 37031 - 11905: 0xDF96,
+ 37032 - 11905: 0xDF97,
+ 37033 - 11905: 0xDF98,
+ 37034 - 11905: 0xD0B0,
+ 37035 - 11905: 0xDF99,
+ 37036 - 11905: 0xDAF9,
+ 37037 - 11905: 0xDF9A,
+ 37038 - 11905: 0xD3CA,
+ 37039 - 11905: 0xBAAA,
+ 37040 - 11905: 0xDBA2,
+ 37041 - 11905: 0xC7F1,
+ 37042 - 11905: 0xDF9B,
+ 37043 - 11905: 0xDAFC,
+ 37044 - 11905: 0xDAFB,
+ 37045 - 11905: 0xC9DB,
+ 37046 - 11905: 0xDAFD,
+ 37047 - 11905: 0xDF9C,
+ 37048 - 11905: 0xDBA1,
+ 37049 - 11905: 0xD7DE,
+ 37050 - 11905: 0xDAFE,
+ 37051 - 11905: 0xC1DA,
+ 37052 - 11905: 0xDF9D,
+ 37053 - 11905: 0xDF9E,
+ 37054 - 11905: 0xDBA5,
+ 37055 - 11905: 0xDF9F,
+ 37056 - 11905: 0xDFA0,
+ 37057 - 11905: 0xD3F4,
+ 37058 - 11905: 0xE040,
+ 37059 - 11905: 0xE041,
+ 37060 - 11905: 0xDBA7,
+ 37061 - 11905: 0xDBA4,
+ 37062 - 11905: 0xE042,
+ 37063 - 11905: 0xDBA8,
+ 37064 - 11905: 0xE043,
+ 37065 - 11905: 0xE044,
+ 37066 - 11905: 0xBDBC,
+ 37067 - 11905: 0xE045,
+ 37068 - 11905: 0xE046,
+ 37069 - 11905: 0xE047,
+ 37070 - 11905: 0xC0C9,
+ 37071 - 11905: 0xDBA3,
+ 37072 - 11905: 0xDBA6,
+ 37073 - 11905: 0xD6A3,
+ 37074 - 11905: 0xE048,
+ 37075 - 11905: 0xDBA9,
+ 37076 - 11905: 0xE049,
+ 37077 - 11905: 0xE04A,
+ 37078 - 11905: 0xE04B,
+ 37079 - 11905: 0xDBAD,
+ 37080 - 11905: 0xE04C,
+ 37081 - 11905: 0xE04D,
+ 37082 - 11905: 0xE04E,
+ 37083 - 11905: 0xDBAE,
+ 37084 - 11905: 0xDBAC,
+ 37085 - 11905: 0xBAC2,
+ 37086 - 11905: 0xE04F,
+ 37087 - 11905: 0xE050,
+ 37088 - 11905: 0xE051,
+ 37089 - 11905: 0xBFA4,
+ 37090 - 11905: 0xDBAB,
+ 37091 - 11905: 0xE052,
+ 37092 - 11905: 0xE053,
+ 37093 - 11905: 0xE054,
+ 37094 - 11905: 0xDBAA,
+ 37095 - 11905: 0xD4C7,
+ 37096 - 11905: 0xB2BF,
+ 37097 - 11905: 0xE055,
+ 37098 - 11905: 0xE056,
+ 37099 - 11905: 0xDBAF,
+ 37100 - 11905: 0xE057,
+ 37101 - 11905: 0xB9F9,
+ 37102 - 11905: 0xE058,
+ 37103 - 11905: 0xDBB0,
+ 37104 - 11905: 0xE059,
+ 37105 - 11905: 0xE05A,
+ 37106 - 11905: 0xE05B,
+ 37107 - 11905: 0xE05C,
+ 37108 - 11905: 0xB3BB,
+ 37109 - 11905: 0xE05D,
+ 37110 - 11905: 0xE05E,
+ 37111 - 11905: 0xE05F,
+ 37112 - 11905: 0xB5A6,
+ 37113 - 11905: 0xE060,
+ 37114 - 11905: 0xE061,
+ 37115 - 11905: 0xE062,
+ 37116 - 11905: 0xE063,
+ 37117 - 11905: 0xB6BC,
+ 37118 - 11905: 0xDBB1,
+ 37119 - 11905: 0xE064,
+ 37120 - 11905: 0xE065,
+ 37121 - 11905: 0xE066,
+ 37122 - 11905: 0xB6F5,
+ 37123 - 11905: 0xE067,
+ 37124 - 11905: 0xDBB2,
+ 37125 - 11905: 0xE068,
+ 37126 - 11905: 0xE069,
+ 37127 - 11905: 0xE06A,
+ 37128 - 11905: 0xE06B,
+ 37129 - 11905: 0xE06C,
+ 37130 - 11905: 0xE06D,
+ 37131 - 11905: 0xE06E,
+ 37132 - 11905: 0xE06F,
+ 37133 - 11905: 0xE070,
+ 37134 - 11905: 0xE071,
+ 37135 - 11905: 0xE072,
+ 37136 - 11905: 0xE073,
+ 37137 - 11905: 0xE074,
+ 37138 - 11905: 0xE075,
+ 37139 - 11905: 0xE076,
+ 37140 - 11905: 0xE077,
+ 37141 - 11905: 0xE078,
+ 37142 - 11905: 0xE079,
+ 37143 - 11905: 0xE07A,
+ 37144 - 11905: 0xE07B,
+ 37145 - 11905: 0xB1C9,
+ 37146 - 11905: 0xE07C,
+ 37147 - 11905: 0xE07D,
+ 37148 - 11905: 0xE07E,
+ 37149 - 11905: 0xE080,
+ 37150 - 11905: 0xDBB4,
+ 37151 - 11905: 0xE081,
+ 37152 - 11905: 0xE082,
+ 37153 - 11905: 0xE083,
+ 37154 - 11905: 0xDBB3,
+ 37155 - 11905: 0xDBB5,
+ 37156 - 11905: 0xE084,
+ 37157 - 11905: 0xE085,
+ 37158 - 11905: 0xE086,
+ 37159 - 11905: 0xE087,
+ 37160 - 11905: 0xE088,
+ 37161 - 11905: 0xE089,
+ 37162 - 11905: 0xE08A,
+ 37163 - 11905: 0xE08B,
+ 37164 - 11905: 0xE08C,
+ 37165 - 11905: 0xE08D,
+ 37166 - 11905: 0xE08E,
+ 37167 - 11905: 0xDBB7,
+ 37168 - 11905: 0xE08F,
+ 37169 - 11905: 0xDBB6,
+ 37170 - 11905: 0xE090,
+ 37171 - 11905: 0xE091,
+ 37172 - 11905: 0xE092,
+ 37173 - 11905: 0xE093,
+ 37174 - 11905: 0xE094,
+ 37175 - 11905: 0xE095,
+ 37176 - 11905: 0xE096,
+ 37177 - 11905: 0xDBB8,
+ 37178 - 11905: 0xE097,
+ 37179 - 11905: 0xE098,
+ 37180 - 11905: 0xE099,
+ 37181 - 11905: 0xE09A,
+ 37182 - 11905: 0xE09B,
+ 37183 - 11905: 0xE09C,
+ 37184 - 11905: 0xE09D,
+ 37185 - 11905: 0xE09E,
+ 37186 - 11905: 0xE09F,
+ 37187 - 11905: 0xDBB9,
+ 37188 - 11905: 0xE0A0,
+ 37189 - 11905: 0xE140,
+ 37190 - 11905: 0xDBBA,
+ 37191 - 11905: 0xE141,
+ 37192 - 11905: 0xE142,
+ 37193 - 11905: 0xD3CF,
+ 37194 - 11905: 0xF4FA,
+ 37195 - 11905: 0xC7F5,
+ 37196 - 11905: 0xD7C3,
+ 37197 - 11905: 0xC5E4,
+ 37198 - 11905: 0xF4FC,
+ 37199 - 11905: 0xF4FD,
+ 37200 - 11905: 0xF4FB,
+ 37201 - 11905: 0xE143,
+ 37202 - 11905: 0xBEC6,
+ 37203 - 11905: 0xE144,
+ 37204 - 11905: 0xE145,
+ 37205 - 11905: 0xE146,
+ 37206 - 11905: 0xE147,
+ 37207 - 11905: 0xD0EF,
+ 37208 - 11905: 0xE148,
+ 37209 - 11905: 0xE149,
+ 37210 - 11905: 0xB7D3,
+ 37211 - 11905: 0xE14A,
+ 37212 - 11905: 0xE14B,
+ 37213 - 11905: 0xD4CD,
+ 37214 - 11905: 0xCCAA,
+ 37215 - 11905: 0xE14C,
+ 37216 - 11905: 0xE14D,
+ 37217 - 11905: 0xF5A2,
+ 37218 - 11905: 0xF5A1,
+ 37219 - 11905: 0xBAA8,
+ 37220 - 11905: 0xF4FE,
+ 37221 - 11905: 0xCBD6,
+ 37222 - 11905: 0xE14E,
+ 37223 - 11905: 0xE14F,
+ 37224 - 11905: 0xE150,
+ 37225 - 11905: 0xF5A4,
+ 37226 - 11905: 0xC0D2,
+ 37227 - 11905: 0xE151,
+ 37228 - 11905: 0xB3EA,
+ 37229 - 11905: 0xE152,
+ 37230 - 11905: 0xCDAA,
+ 37231 - 11905: 0xF5A5,
+ 37232 - 11905: 0xF5A3,
+ 37233 - 11905: 0xBDB4,
+ 37234 - 11905: 0xF5A8,
+ 37235 - 11905: 0xE153,
+ 37236 - 11905: 0xF5A9,
+ 37237 - 11905: 0xBDCD,
+ 37238 - 11905: 0xC3B8,
+ 37239 - 11905: 0xBFE1,
+ 37240 - 11905: 0xCBE1,
+ 37241 - 11905: 0xF5AA,
+ 37242 - 11905: 0xE154,
+ 37243 - 11905: 0xE155,
+ 37244 - 11905: 0xE156,
+ 37245 - 11905: 0xF5A6,
+ 37246 - 11905: 0xF5A7,
+ 37247 - 11905: 0xC4F0,
+ 37248 - 11905: 0xE157,
+ 37249 - 11905: 0xE158,
+ 37250 - 11905: 0xE159,
+ 37251 - 11905: 0xE15A,
+ 37252 - 11905: 0xE15B,
+ 37253 - 11905: 0xF5AC,
+ 37254 - 11905: 0xE15C,
+ 37255 - 11905: 0xB4BC,
+ 37256 - 11905: 0xE15D,
+ 37257 - 11905: 0xD7ED,
+ 37258 - 11905: 0xE15E,
+ 37259 - 11905: 0xB4D7,
+ 37260 - 11905: 0xF5AB,
+ 37261 - 11905: 0xF5AE,
+ 37262 - 11905: 0xE15F,
+ 37263 - 11905: 0xE160,
+ 37264 - 11905: 0xF5AD,
+ 37265 - 11905: 0xF5AF,
+ 37266 - 11905: 0xD0D1,
+ 37267 - 11905: 0xE161,
+ 37268 - 11905: 0xE162,
+ 37269 - 11905: 0xE163,
+ 37270 - 11905: 0xE164,
+ 37271 - 11905: 0xE165,
+ 37272 - 11905: 0xE166,
+ 37273 - 11905: 0xE167,
+ 37274 - 11905: 0xC3D1,
+ 37275 - 11905: 0xC8A9,
+ 37276 - 11905: 0xE168,
+ 37277 - 11905: 0xE169,
+ 37278 - 11905: 0xE16A,
+ 37279 - 11905: 0xE16B,
+ 37280 - 11905: 0xE16C,
+ 37281 - 11905: 0xE16D,
+ 37282 - 11905: 0xF5B0,
+ 37283 - 11905: 0xF5B1,
+ 37284 - 11905: 0xE16E,
+ 37285 - 11905: 0xE16F,
+ 37286 - 11905: 0xE170,
+ 37287 - 11905: 0xE171,
+ 37288 - 11905: 0xE172,
+ 37289 - 11905: 0xE173,
+ 37290 - 11905: 0xF5B2,
+ 37291 - 11905: 0xE174,
+ 37292 - 11905: 0xE175,
+ 37293 - 11905: 0xF5B3,
+ 37294 - 11905: 0xF5B4,
+ 37295 - 11905: 0xF5B5,
+ 37296 - 11905: 0xE176,
+ 37297 - 11905: 0xE177,
+ 37298 - 11905: 0xE178,
+ 37299 - 11905: 0xE179,
+ 37300 - 11905: 0xF5B7,
+ 37301 - 11905: 0xF5B6,
+ 37302 - 11905: 0xE17A,
+ 37303 - 11905: 0xE17B,
+ 37304 - 11905: 0xE17C,
+ 37305 - 11905: 0xE17D,
+ 37306 - 11905: 0xF5B8,
+ 37307 - 11905: 0xE17E,
+ 37308 - 11905: 0xE180,
+ 37309 - 11905: 0xE181,
+ 37310 - 11905: 0xE182,
+ 37311 - 11905: 0xE183,
+ 37312 - 11905: 0xE184,
+ 37313 - 11905: 0xE185,
+ 37314 - 11905: 0xE186,
+ 37315 - 11905: 0xE187,
+ 37316 - 11905: 0xE188,
+ 37317 - 11905: 0xE189,
+ 37318 - 11905: 0xE18A,
+ 37319 - 11905: 0xB2C9,
+ 37320 - 11905: 0xE18B,
+ 37321 - 11905: 0xD3D4,
+ 37322 - 11905: 0xCACD,
+ 37323 - 11905: 0xE18C,
+ 37324 - 11905: 0xC0EF,
+ 37325 - 11905: 0xD6D8,
+ 37326 - 11905: 0xD2B0,
+ 37327 - 11905: 0xC1BF,
+ 37328 - 11905: 0xE18D,
+ 37329 - 11905: 0xBDF0,
+ 37330 - 11905: 0xE18E,
+ 37331 - 11905: 0xE18F,
+ 37332 - 11905: 0xE190,
+ 37333 - 11905: 0xE191,
+ 37334 - 11905: 0xE192,
+ 37335 - 11905: 0xE193,
+ 37336 - 11905: 0xE194,
+ 37337 - 11905: 0xE195,
+ 37338 - 11905: 0xE196,
+ 37339 - 11905: 0xE197,
+ 37340 - 11905: 0xB8AA,
+ 37341 - 11905: 0xE198,
+ 37342 - 11905: 0xE199,
+ 37343 - 11905: 0xE19A,
+ 37344 - 11905: 0xE19B,
+ 37345 - 11905: 0xE19C,
+ 37346 - 11905: 0xE19D,
+ 37347 - 11905: 0xE19E,
+ 37348 - 11905: 0xE19F,
+ 37349 - 11905: 0xE1A0,
+ 37350 - 11905: 0xE240,
+ 37351 - 11905: 0xE241,
+ 37352 - 11905: 0xE242,
+ 37353 - 11905: 0xE243,
+ 37354 - 11905: 0xE244,
+ 37355 - 11905: 0xE245,
+ 37356 - 11905: 0xE246,
+ 37357 - 11905: 0xE247,
+ 37358 - 11905: 0xE248,
+ 37359 - 11905: 0xE249,
+ 37360 - 11905: 0xE24A,
+ 37361 - 11905: 0xE24B,
+ 37362 - 11905: 0xE24C,
+ 37363 - 11905: 0xE24D,
+ 37364 - 11905: 0xE24E,
+ 37365 - 11905: 0xE24F,
+ 37366 - 11905: 0xE250,
+ 37367 - 11905: 0xE251,
+ 37368 - 11905: 0xE252,
+ 37369 - 11905: 0xE253,
+ 37370 - 11905: 0xE254,
+ 37371 - 11905: 0xE255,
+ 37372 - 11905: 0xE256,
+ 37373 - 11905: 0xE257,
+ 37374 - 11905: 0xE258,
+ 37375 - 11905: 0xE259,
+ 37376 - 11905: 0xE25A,
+ 37377 - 11905: 0xE25B,
+ 37378 - 11905: 0xE25C,
+ 37379 - 11905: 0xE25D,
+ 37380 - 11905: 0xE25E,
+ 37381 - 11905: 0xE25F,
+ 37382 - 11905: 0xE260,
+ 37383 - 11905: 0xE261,
+ 37384 - 11905: 0xE262,
+ 37385 - 11905: 0xE263,
+ 37386 - 11905: 0xE264,
+ 37387 - 11905: 0xE265,
+ 37388 - 11905: 0xE266,
+ 37389 - 11905: 0xE267,
+ 37390 - 11905: 0xE268,
+ 37391 - 11905: 0xE269,
+ 37392 - 11905: 0xE26A,
+ 37393 - 11905: 0xE26B,
+ 37394 - 11905: 0xE26C,
+ 37395 - 11905: 0xE26D,
+ 37396 - 11905: 0xE26E,
+ 37397 - 11905: 0xE26F,
+ 37398 - 11905: 0xE270,
+ 37399 - 11905: 0xE271,
+ 37400 - 11905: 0xE272,
+ 37401 - 11905: 0xE273,
+ 37402 - 11905: 0xE274,
+ 37403 - 11905: 0xE275,
+ 37404 - 11905: 0xE276,
+ 37405 - 11905: 0xE277,
+ 37406 - 11905: 0xE278,
+ 37407 - 11905: 0xE279,
+ 37408 - 11905: 0xE27A,
+ 37409 - 11905: 0xE27B,
+ 37410 - 11905: 0xE27C,
+ 37411 - 11905: 0xE27D,
+ 37412 - 11905: 0xE27E,
+ 37413 - 11905: 0xE280,
+ 37414 - 11905: 0xE281,
+ 37415 - 11905: 0xE282,
+ 37416 - 11905: 0xE283,
+ 37417 - 11905: 0xE284,
+ 37418 - 11905: 0xE285,
+ 37419 - 11905: 0xE286,
+ 37420 - 11905: 0xE287,
+ 37421 - 11905: 0xE288,
+ 37422 - 11905: 0xE289,
+ 37423 - 11905: 0xE28A,
+ 37424 - 11905: 0xE28B,
+ 37425 - 11905: 0xE28C,
+ 37426 - 11905: 0xE28D,
+ 37427 - 11905: 0xE28E,
+ 37428 - 11905: 0xE28F,
+ 37429 - 11905: 0xE290,
+ 37430 - 11905: 0xE291,
+ 37431 - 11905: 0xE292,
+ 37432 - 11905: 0xE293,
+ 37433 - 11905: 0xE294,
+ 37434 - 11905: 0xE295,
+ 37435 - 11905: 0xE296,
+ 37436 - 11905: 0xE297,
+ 37437 - 11905: 0xE298,
+ 37438 - 11905: 0xE299,
+ 37439 - 11905: 0xE29A,
+ 37440 - 11905: 0xE29B,
+ 37441 - 11905: 0xE29C,
+ 37442 - 11905: 0xE29D,
+ 37443 - 11905: 0xE29E,
+ 37444 - 11905: 0xE29F,
+ 37445 - 11905: 0xE2A0,
+ 37446 - 11905: 0xE340,
+ 37447 - 11905: 0xE341,
+ 37448 - 11905: 0xE342,
+ 37449 - 11905: 0xE343,
+ 37450 - 11905: 0xE344,
+ 37451 - 11905: 0xE345,
+ 37452 - 11905: 0xE346,
+ 37453 - 11905: 0xE347,
+ 37454 - 11905: 0xE348,
+ 37455 - 11905: 0xE349,
+ 37456 - 11905: 0xE34A,
+ 37457 - 11905: 0xE34B,
+ 37458 - 11905: 0xE34C,
+ 37459 - 11905: 0xE34D,
+ 37460 - 11905: 0xE34E,
+ 37461 - 11905: 0xE34F,
+ 37462 - 11905: 0xE350,
+ 37463 - 11905: 0xE351,
+ 37464 - 11905: 0xE352,
+ 37465 - 11905: 0xE353,
+ 37466 - 11905: 0xE354,
+ 37467 - 11905: 0xE355,
+ 37468 - 11905: 0xE356,
+ 37469 - 11905: 0xE357,
+ 37470 - 11905: 0xE358,
+ 37471 - 11905: 0xE359,
+ 37472 - 11905: 0xE35A,
+ 37473 - 11905: 0xE35B,
+ 37474 - 11905: 0xE35C,
+ 37475 - 11905: 0xE35D,
+ 37476 - 11905: 0xE35E,
+ 37477 - 11905: 0xE35F,
+ 37478 - 11905: 0xE360,
+ 37479 - 11905: 0xE361,
+ 37480 - 11905: 0xE362,
+ 37481 - 11905: 0xE363,
+ 37482 - 11905: 0xE364,
+ 37483 - 11905: 0xE365,
+ 37484 - 11905: 0xE366,
+ 37485 - 11905: 0xE367,
+ 37486 - 11905: 0xE368,
+ 37487 - 11905: 0xE369,
+ 37488 - 11905: 0xE36A,
+ 37489 - 11905: 0xE36B,
+ 37490 - 11905: 0xE36C,
+ 37491 - 11905: 0xE36D,
+ 37492 - 11905: 0xBCF8,
+ 37493 - 11905: 0xE36E,
+ 37494 - 11905: 0xE36F,
+ 37495 - 11905: 0xE370,
+ 37496 - 11905: 0xE371,
+ 37497 - 11905: 0xE372,
+ 37498 - 11905: 0xE373,
+ 37499 - 11905: 0xE374,
+ 37500 - 11905: 0xE375,
+ 37501 - 11905: 0xE376,
+ 37502 - 11905: 0xE377,
+ 37503 - 11905: 0xE378,
+ 37504 - 11905: 0xE379,
+ 37505 - 11905: 0xE37A,
+ 37506 - 11905: 0xE37B,
+ 37507 - 11905: 0xE37C,
+ 37508 - 11905: 0xE37D,
+ 37509 - 11905: 0xE37E,
+ 37510 - 11905: 0xE380,
+ 37511 - 11905: 0xE381,
+ 37512 - 11905: 0xE382,
+ 37513 - 11905: 0xE383,
+ 37514 - 11905: 0xE384,
+ 37515 - 11905: 0xE385,
+ 37516 - 11905: 0xE386,
+ 37517 - 11905: 0xE387,
+ 37518 - 11905: 0xF6C6,
+ 37519 - 11905: 0xE388,
+ 37520 - 11905: 0xE389,
+ 37521 - 11905: 0xE38A,
+ 37522 - 11905: 0xE38B,
+ 37523 - 11905: 0xE38C,
+ 37524 - 11905: 0xE38D,
+ 37525 - 11905: 0xE38E,
+ 37526 - 11905: 0xE38F,
+ 37527 - 11905: 0xE390,
+ 37528 - 11905: 0xE391,
+ 37529 - 11905: 0xE392,
+ 37530 - 11905: 0xE393,
+ 37531 - 11905: 0xE394,
+ 37532 - 11905: 0xE395,
+ 37533 - 11905: 0xE396,
+ 37534 - 11905: 0xE397,
+ 37535 - 11905: 0xE398,
+ 37536 - 11905: 0xE399,
+ 37537 - 11905: 0xE39A,
+ 37538 - 11905: 0xE39B,
+ 37539 - 11905: 0xE39C,
+ 37540 - 11905: 0xE39D,
+ 37541 - 11905: 0xE39E,
+ 37542 - 11905: 0xE39F,
+ 37543 - 11905: 0xE3A0,
+ 37544 - 11905: 0xE440,
+ 37545 - 11905: 0xE441,
+ 37546 - 11905: 0xE442,
+ 37547 - 11905: 0xE443,
+ 37548 - 11905: 0xE444,
+ 37549 - 11905: 0xE445,
+ 37550 - 11905: 0xF6C7,
+ 37551 - 11905: 0xE446,
+ 37552 - 11905: 0xE447,
+ 37553 - 11905: 0xE448,
+ 37554 - 11905: 0xE449,
+ 37555 - 11905: 0xE44A,
+ 37556 - 11905: 0xE44B,
+ 37557 - 11905: 0xE44C,
+ 37558 - 11905: 0xE44D,
+ 37559 - 11905: 0xE44E,
+ 37560 - 11905: 0xE44F,
+ 37561 - 11905: 0xE450,
+ 37562 - 11905: 0xE451,
+ 37563 - 11905: 0xE452,
+ 37564 - 11905: 0xE453,
+ 37565 - 11905: 0xE454,
+ 37566 - 11905: 0xE455,
+ 37567 - 11905: 0xE456,
+ 37568 - 11905: 0xE457,
+ 37569 - 11905: 0xE458,
+ 37570 - 11905: 0xE459,
+ 37571 - 11905: 0xE45A,
+ 37572 - 11905: 0xE45B,
+ 37573 - 11905: 0xE45C,
+ 37574 - 11905: 0xE45D,
+ 37575 - 11905: 0xE45E,
+ 37576 - 11905: 0xF6C8,
+ 37577 - 11905: 0xE45F,
+ 37578 - 11905: 0xE460,
+ 37579 - 11905: 0xE461,
+ 37580 - 11905: 0xE462,
+ 37581 - 11905: 0xE463,
+ 37582 - 11905: 0xE464,
+ 37583 - 11905: 0xE465,
+ 37584 - 11905: 0xE466,
+ 37585 - 11905: 0xE467,
+ 37586 - 11905: 0xE468,
+ 37587 - 11905: 0xE469,
+ 37588 - 11905: 0xE46A,
+ 37589 - 11905: 0xE46B,
+ 37590 - 11905: 0xE46C,
+ 37591 - 11905: 0xE46D,
+ 37592 - 11905: 0xE46E,
+ 37593 - 11905: 0xE46F,
+ 37594 - 11905: 0xE470,
+ 37595 - 11905: 0xE471,
+ 37596 - 11905: 0xE472,
+ 37597 - 11905: 0xE473,
+ 37598 - 11905: 0xE474,
+ 37599 - 11905: 0xE475,
+ 37600 - 11905: 0xE476,
+ 37601 - 11905: 0xE477,
+ 37602 - 11905: 0xE478,
+ 37603 - 11905: 0xE479,
+ 37604 - 11905: 0xE47A,
+ 37605 - 11905: 0xE47B,
+ 37606 - 11905: 0xE47C,
+ 37607 - 11905: 0xE47D,
+ 37608 - 11905: 0xE47E,
+ 37609 - 11905: 0xE480,
+ 37610 - 11905: 0xE481,
+ 37611 - 11905: 0xE482,
+ 37612 - 11905: 0xE483,
+ 37613 - 11905: 0xE484,
+ 37614 - 11905: 0xE485,
+ 37615 - 11905: 0xE486,
+ 37616 - 11905: 0xE487,
+ 37617 - 11905: 0xE488,
+ 37618 - 11905: 0xE489,
+ 37619 - 11905: 0xE48A,
+ 37620 - 11905: 0xE48B,
+ 37621 - 11905: 0xE48C,
+ 37622 - 11905: 0xE48D,
+ 37623 - 11905: 0xE48E,
+ 37624 - 11905: 0xE48F,
+ 37625 - 11905: 0xE490,
+ 37626 - 11905: 0xE491,
+ 37627 - 11905: 0xE492,
+ 37628 - 11905: 0xE493,
+ 37629 - 11905: 0xE494,
+ 37630 - 11905: 0xE495,
+ 37631 - 11905: 0xE496,
+ 37632 - 11905: 0xE497,
+ 37633 - 11905: 0xE498,
+ 37634 - 11905: 0xE499,
+ 37635 - 11905: 0xE49A,
+ 37636 - 11905: 0xE49B,
+ 37637 - 11905: 0xE49C,
+ 37638 - 11905: 0xE49D,
+ 37639 - 11905: 0xE49E,
+ 37640 - 11905: 0xE49F,
+ 37641 - 11905: 0xE4A0,
+ 37642 - 11905: 0xE540,
+ 37643 - 11905: 0xE541,
+ 37644 - 11905: 0xE542,
+ 37645 - 11905: 0xE543,
+ 37646 - 11905: 0xE544,
+ 37647 - 11905: 0xE545,
+ 37648 - 11905: 0xE546,
+ 37649 - 11905: 0xE547,
+ 37650 - 11905: 0xE548,
+ 37651 - 11905: 0xE549,
+ 37652 - 11905: 0xE54A,
+ 37653 - 11905: 0xE54B,
+ 37654 - 11905: 0xE54C,
+ 37655 - 11905: 0xE54D,
+ 37656 - 11905: 0xE54E,
+ 37657 - 11905: 0xE54F,
+ 37658 - 11905: 0xE550,
+ 37659 - 11905: 0xE551,
+ 37660 - 11905: 0xE552,
+ 37661 - 11905: 0xE553,
+ 37662 - 11905: 0xE554,
+ 37663 - 11905: 0xE555,
+ 37664 - 11905: 0xE556,
+ 37665 - 11905: 0xE557,
+ 37666 - 11905: 0xE558,
+ 37667 - 11905: 0xE559,
+ 37668 - 11905: 0xE55A,
+ 37669 - 11905: 0xE55B,
+ 37670 - 11905: 0xE55C,
+ 37671 - 11905: 0xE55D,
+ 37672 - 11905: 0xE55E,
+ 37673 - 11905: 0xE55F,
+ 37674 - 11905: 0xE560,
+ 37675 - 11905: 0xE561,
+ 37676 - 11905: 0xE562,
+ 37677 - 11905: 0xE563,
+ 37678 - 11905: 0xE564,
+ 37679 - 11905: 0xE565,
+ 37680 - 11905: 0xE566,
+ 37681 - 11905: 0xE567,
+ 37682 - 11905: 0xE568,
+ 37683 - 11905: 0xE569,
+ 37684 - 11905: 0xE56A,
+ 37685 - 11905: 0xE56B,
+ 37686 - 11905: 0xE56C,
+ 37687 - 11905: 0xE56D,
+ 37688 - 11905: 0xE56E,
+ 37689 - 11905: 0xE56F,
+ 37690 - 11905: 0xE570,
+ 37691 - 11905: 0xE571,
+ 37692 - 11905: 0xE572,
+ 37693 - 11905: 0xE573,
+ 37694 - 11905: 0xF6C9,
+ 37695 - 11905: 0xE574,
+ 37696 - 11905: 0xE575,
+ 37697 - 11905: 0xE576,
+ 37698 - 11905: 0xE577,
+ 37699 - 11905: 0xE578,
+ 37700 - 11905: 0xE579,
+ 37701 - 11905: 0xE57A,
+ 37702 - 11905: 0xE57B,
+ 37703 - 11905: 0xE57C,
+ 37704 - 11905: 0xE57D,
+ 37705 - 11905: 0xE57E,
+ 37706 - 11905: 0xE580,
+ 37707 - 11905: 0xE581,
+ 37708 - 11905: 0xE582,
+ 37709 - 11905: 0xE583,
+ 37710 - 11905: 0xE584,
+ 37711 - 11905: 0xE585,
+ 37712 - 11905: 0xE586,
+ 37713 - 11905: 0xE587,
+ 37714 - 11905: 0xE588,
+ 37715 - 11905: 0xE589,
+ 37716 - 11905: 0xE58A,
+ 37717 - 11905: 0xE58B,
+ 37718 - 11905: 0xE58C,
+ 37719 - 11905: 0xE58D,
+ 37720 - 11905: 0xE58E,
+ 37721 - 11905: 0xE58F,
+ 37722 - 11905: 0xE590,
+ 37723 - 11905: 0xE591,
+ 37724 - 11905: 0xE592,
+ 37725 - 11905: 0xE593,
+ 37726 - 11905: 0xE594,
+ 37727 - 11905: 0xE595,
+ 37728 - 11905: 0xE596,
+ 37729 - 11905: 0xE597,
+ 37730 - 11905: 0xE598,
+ 37731 - 11905: 0xE599,
+ 37732 - 11905: 0xE59A,
+ 37733 - 11905: 0xE59B,
+ 37734 - 11905: 0xE59C,
+ 37735 - 11905: 0xE59D,
+ 37736 - 11905: 0xE59E,
+ 37737 - 11905: 0xE59F,
+ 37738 - 11905: 0xF6CA,
+ 37739 - 11905: 0xE5A0,
+ 37740 - 11905: 0xE640,
+ 37741 - 11905: 0xE641,
+ 37742 - 11905: 0xE642,
+ 37743 - 11905: 0xE643,
+ 37744 - 11905: 0xE644,
+ 37745 - 11905: 0xE645,
+ 37746 - 11905: 0xE646,
+ 37747 - 11905: 0xE647,
+ 37748 - 11905: 0xE648,
+ 37749 - 11905: 0xE649,
+ 37750 - 11905: 0xE64A,
+ 37751 - 11905: 0xE64B,
+ 37752 - 11905: 0xE64C,
+ 37753 - 11905: 0xE64D,
+ 37754 - 11905: 0xE64E,
+ 37755 - 11905: 0xE64F,
+ 37756 - 11905: 0xE650,
+ 37757 - 11905: 0xE651,
+ 37758 - 11905: 0xE652,
+ 37759 - 11905: 0xE653,
+ 37760 - 11905: 0xE654,
+ 37761 - 11905: 0xE655,
+ 37762 - 11905: 0xE656,
+ 37763 - 11905: 0xE657,
+ 37764 - 11905: 0xE658,
+ 37765 - 11905: 0xE659,
+ 37766 - 11905: 0xE65A,
+ 37767 - 11905: 0xE65B,
+ 37768 - 11905: 0xE65C,
+ 37769 - 11905: 0xE65D,
+ 37770 - 11905: 0xE65E,
+ 37771 - 11905: 0xE65F,
+ 37772 - 11905: 0xE660,
+ 37773 - 11905: 0xE661,
+ 37774 - 11905: 0xE662,
+ 37775 - 11905: 0xF6CC,
+ 37776 - 11905: 0xE663,
+ 37777 - 11905: 0xE664,
+ 37778 - 11905: 0xE665,
+ 37779 - 11905: 0xE666,
+ 37780 - 11905: 0xE667,
+ 37781 - 11905: 0xE668,
+ 37782 - 11905: 0xE669,
+ 37783 - 11905: 0xE66A,
+ 37784 - 11905: 0xE66B,
+ 37785 - 11905: 0xE66C,
+ 37786 - 11905: 0xE66D,
+ 37787 - 11905: 0xE66E,
+ 37788 - 11905: 0xE66F,
+ 37789 - 11905: 0xE670,
+ 37790 - 11905: 0xE671,
+ 37791 - 11905: 0xE672,
+ 37792 - 11905: 0xE673,
+ 37793 - 11905: 0xE674,
+ 37794 - 11905: 0xE675,
+ 37795 - 11905: 0xE676,
+ 37796 - 11905: 0xE677,
+ 37797 - 11905: 0xE678,
+ 37798 - 11905: 0xE679,
+ 37799 - 11905: 0xE67A,
+ 37800 - 11905: 0xE67B,
+ 37801 - 11905: 0xE67C,
+ 37802 - 11905: 0xE67D,
+ 37803 - 11905: 0xE67E,
+ 37804 - 11905: 0xE680,
+ 37805 - 11905: 0xE681,
+ 37806 - 11905: 0xE682,
+ 37807 - 11905: 0xE683,
+ 37808 - 11905: 0xE684,
+ 37809 - 11905: 0xE685,
+ 37810 - 11905: 0xE686,
+ 37811 - 11905: 0xE687,
+ 37812 - 11905: 0xE688,
+ 37813 - 11905: 0xE689,
+ 37814 - 11905: 0xE68A,
+ 37815 - 11905: 0xE68B,
+ 37816 - 11905: 0xE68C,
+ 37817 - 11905: 0xE68D,
+ 37818 - 11905: 0xE68E,
+ 37819 - 11905: 0xE68F,
+ 37820 - 11905: 0xE690,
+ 37821 - 11905: 0xE691,
+ 37822 - 11905: 0xE692,
+ 37823 - 11905: 0xE693,
+ 37824 - 11905: 0xE694,
+ 37825 - 11905: 0xE695,
+ 37826 - 11905: 0xE696,
+ 37827 - 11905: 0xE697,
+ 37828 - 11905: 0xE698,
+ 37829 - 11905: 0xE699,
+ 37830 - 11905: 0xE69A,
+ 37831 - 11905: 0xE69B,
+ 37832 - 11905: 0xE69C,
+ 37833 - 11905: 0xE69D,
+ 37834 - 11905: 0xF6CB,
+ 37835 - 11905: 0xE69E,
+ 37836 - 11905: 0xE69F,
+ 37837 - 11905: 0xE6A0,
+ 37838 - 11905: 0xE740,
+ 37839 - 11905: 0xE741,
+ 37840 - 11905: 0xE742,
+ 37841 - 11905: 0xE743,
+ 37842 - 11905: 0xE744,
+ 37843 - 11905: 0xE745,
+ 37844 - 11905: 0xE746,
+ 37845 - 11905: 0xE747,
+ 37846 - 11905: 0xF7E9,
+ 37847 - 11905: 0xE748,
+ 37848 - 11905: 0xE749,
+ 37849 - 11905: 0xE74A,
+ 37850 - 11905: 0xE74B,
+ 37851 - 11905: 0xE74C,
+ 37852 - 11905: 0xE74D,
+ 37853 - 11905: 0xE74E,
+ 37854 - 11905: 0xE74F,
+ 37855 - 11905: 0xE750,
+ 37856 - 11905: 0xE751,
+ 37857 - 11905: 0xE752,
+ 37858 - 11905: 0xE753,
+ 37859 - 11905: 0xE754,
+ 37860 - 11905: 0xE755,
+ 37861 - 11905: 0xE756,
+ 37862 - 11905: 0xE757,
+ 37863 - 11905: 0xE758,
+ 37864 - 11905: 0xE759,
+ 37865 - 11905: 0xE75A,
+ 37866 - 11905: 0xE75B,
+ 37867 - 11905: 0xE75C,
+ 37868 - 11905: 0xE75D,
+ 37869 - 11905: 0xE75E,
+ 37870 - 11905: 0xE75F,
+ 37871 - 11905: 0xE760,
+ 37872 - 11905: 0xE761,
+ 37873 - 11905: 0xE762,
+ 37874 - 11905: 0xE763,
+ 37875 - 11905: 0xE764,
+ 37876 - 11905: 0xE765,
+ 37877 - 11905: 0xE766,
+ 37878 - 11905: 0xE767,
+ 37879 - 11905: 0xE768,
+ 37880 - 11905: 0xE769,
+ 37881 - 11905: 0xE76A,
+ 37882 - 11905: 0xE76B,
+ 37883 - 11905: 0xE76C,
+ 37884 - 11905: 0xE76D,
+ 37885 - 11905: 0xE76E,
+ 37886 - 11905: 0xE76F,
+ 37887 - 11905: 0xE770,
+ 37888 - 11905: 0xE771,
+ 37889 - 11905: 0xE772,
+ 37890 - 11905: 0xE773,
+ 37891 - 11905: 0xE774,
+ 37892 - 11905: 0xE775,
+ 37893 - 11905: 0xE776,
+ 37894 - 11905: 0xE777,
+ 37895 - 11905: 0xE778,
+ 37896 - 11905: 0xE779,
+ 37897 - 11905: 0xE77A,
+ 37898 - 11905: 0xE77B,
+ 37899 - 11905: 0xE77C,
+ 37900 - 11905: 0xE77D,
+ 37901 - 11905: 0xE77E,
+ 37902 - 11905: 0xE780,
+ 37903 - 11905: 0xE781,
+ 37904 - 11905: 0xE782,
+ 37905 - 11905: 0xE783,
+ 37906 - 11905: 0xE784,
+ 37907 - 11905: 0xE785,
+ 37908 - 11905: 0xE786,
+ 37909 - 11905: 0xE787,
+ 37910 - 11905: 0xE788,
+ 37911 - 11905: 0xE789,
+ 37912 - 11905: 0xE78A,
+ 37913 - 11905: 0xE78B,
+ 37914 - 11905: 0xE78C,
+ 37915 - 11905: 0xE78D,
+ 37916 - 11905: 0xE78E,
+ 37917 - 11905: 0xE78F,
+ 37918 - 11905: 0xE790,
+ 37919 - 11905: 0xE791,
+ 37920 - 11905: 0xE792,
+ 37921 - 11905: 0xE793,
+ 37922 - 11905: 0xE794,
+ 37923 - 11905: 0xE795,
+ 37924 - 11905: 0xE796,
+ 37925 - 11905: 0xE797,
+ 37926 - 11905: 0xE798,
+ 37927 - 11905: 0xE799,
+ 37928 - 11905: 0xE79A,
+ 37929 - 11905: 0xE79B,
+ 37930 - 11905: 0xE79C,
+ 37931 - 11905: 0xE79D,
+ 37932 - 11905: 0xE79E,
+ 37933 - 11905: 0xE79F,
+ 37934 - 11905: 0xE7A0,
+ 37935 - 11905: 0xE840,
+ 37936 - 11905: 0xE841,
+ 37937 - 11905: 0xE842,
+ 37938 - 11905: 0xE843,
+ 37939 - 11905: 0xE844,
+ 37940 - 11905: 0xE845,
+ 37941 - 11905: 0xE846,
+ 37942 - 11905: 0xE847,
+ 37943 - 11905: 0xE848,
+ 37944 - 11905: 0xE849,
+ 37945 - 11905: 0xE84A,
+ 37946 - 11905: 0xE84B,
+ 37947 - 11905: 0xE84C,
+ 37948 - 11905: 0xE84D,
+ 37949 - 11905: 0xE84E,
+ 37950 - 11905: 0xF6CD,
+ 37951 - 11905: 0xE84F,
+ 37952 - 11905: 0xE850,
+ 37953 - 11905: 0xE851,
+ 37954 - 11905: 0xE852,
+ 37955 - 11905: 0xE853,
+ 37956 - 11905: 0xE854,
+ 37957 - 11905: 0xE855,
+ 37958 - 11905: 0xE856,
+ 37959 - 11905: 0xE857,
+ 37960 - 11905: 0xE858,
+ 37961 - 11905: 0xE859,
+ 37962 - 11905: 0xE85A,
+ 37963 - 11905: 0xE85B,
+ 37964 - 11905: 0xE85C,
+ 37965 - 11905: 0xE85D,
+ 37966 - 11905: 0xE85E,
+ 37967 - 11905: 0xE85F,
+ 37968 - 11905: 0xE860,
+ 37969 - 11905: 0xE861,
+ 37970 - 11905: 0xE862,
+ 37971 - 11905: 0xE863,
+ 37972 - 11905: 0xE864,
+ 37973 - 11905: 0xE865,
+ 37974 - 11905: 0xE866,
+ 37975 - 11905: 0xE867,
+ 37976 - 11905: 0xE868,
+ 37977 - 11905: 0xE869,
+ 37978 - 11905: 0xE86A,
+ 37979 - 11905: 0xE86B,
+ 37980 - 11905: 0xE86C,
+ 37981 - 11905: 0xE86D,
+ 37982 - 11905: 0xE86E,
+ 37983 - 11905: 0xE86F,
+ 37984 - 11905: 0xE870,
+ 37985 - 11905: 0xE871,
+ 37986 - 11905: 0xE872,
+ 37987 - 11905: 0xE873,
+ 37988 - 11905: 0xE874,
+ 37989 - 11905: 0xE875,
+ 37990 - 11905: 0xE876,
+ 37991 - 11905: 0xE877,
+ 37992 - 11905: 0xE878,
+ 37993 - 11905: 0xE879,
+ 37994 - 11905: 0xE87A,
+ 37995 - 11905: 0xF6CE,
+ 37996 - 11905: 0xE87B,
+ 37997 - 11905: 0xE87C,
+ 37998 - 11905: 0xE87D,
+ 37999 - 11905: 0xE87E,
+ 38000 - 11905: 0xE880,
+ 38001 - 11905: 0xE881,
+ 38002 - 11905: 0xE882,
+ 38003 - 11905: 0xE883,
+ 38004 - 11905: 0xE884,
+ 38005 - 11905: 0xE885,
+ 38006 - 11905: 0xE886,
+ 38007 - 11905: 0xE887,
+ 38008 - 11905: 0xE888,
+ 38009 - 11905: 0xE889,
+ 38010 - 11905: 0xE88A,
+ 38011 - 11905: 0xE88B,
+ 38012 - 11905: 0xE88C,
+ 38013 - 11905: 0xE88D,
+ 38014 - 11905: 0xE88E,
+ 38015 - 11905: 0xE88F,
+ 38016 - 11905: 0xE890,
+ 38017 - 11905: 0xE891,
+ 38018 - 11905: 0xE892,
+ 38019 - 11905: 0xE893,
+ 38020 - 11905: 0xE894,
+ 38021 - 11905: 0xEEC4,
+ 38022 - 11905: 0xEEC5,
+ 38023 - 11905: 0xEEC6,
+ 38024 - 11905: 0xD5EB,
+ 38025 - 11905: 0xB6A4,
+ 38026 - 11905: 0xEEC8,
+ 38027 - 11905: 0xEEC7,
+ 38028 - 11905: 0xEEC9,
+ 38029 - 11905: 0xEECA,
+ 38030 - 11905: 0xC7A5,
+ 38031 - 11905: 0xEECB,
+ 38032 - 11905: 0xEECC,
+ 38033 - 11905: 0xE895,
+ 38034 - 11905: 0xB7B0,
+ 38035 - 11905: 0xB5F6,
+ 38036 - 11905: 0xEECD,
+ 38037 - 11905: 0xEECF,
+ 38038 - 11905: 0xE896,
+ 38039 - 11905: 0xEECE,
+ 38040 - 11905: 0xE897,
+ 38041 - 11905: 0xB8C6,
+ 38042 - 11905: 0xEED0,
+ 38043 - 11905: 0xEED1,
+ 38044 - 11905: 0xEED2,
+ 38045 - 11905: 0xB6DB,
+ 38046 - 11905: 0xB3AE,
+ 38047 - 11905: 0xD6D3,
+ 38048 - 11905: 0xC4C6,
+ 38049 - 11905: 0xB1B5,
+ 38050 - 11905: 0xB8D6,
+ 38051 - 11905: 0xEED3,
+ 38052 - 11905: 0xEED4,
+ 38053 - 11905: 0xD4BF,
+ 38054 - 11905: 0xC7D5,
+ 38055 - 11905: 0xBEFB,
+ 38056 - 11905: 0xCED9,
+ 38057 - 11905: 0xB9B3,
+ 38058 - 11905: 0xEED6,
+ 38059 - 11905: 0xEED5,
+ 38060 - 11905: 0xEED8,
+ 38061 - 11905: 0xEED7,
+ 38062 - 11905: 0xC5A5,
+ 38063 - 11905: 0xEED9,
+ 38064 - 11905: 0xEEDA,
+ 38065 - 11905: 0xC7AE,
+ 38066 - 11905: 0xEEDB,
+ 38067 - 11905: 0xC7AF,
+ 38068 - 11905: 0xEEDC,
+ 38069 - 11905: 0xB2A7,
+ 38070 - 11905: 0xEEDD,
+ 38071 - 11905: 0xEEDE,
+ 38072 - 11905: 0xEEDF,
+ 38073 - 11905: 0xEEE0,
+ 38074 - 11905: 0xEEE1,
+ 38075 - 11905: 0xD7EA,
+ 38076 - 11905: 0xEEE2,
+ 38077 - 11905: 0xEEE3,
+ 38078 - 11905: 0xBCD8,
+ 38079 - 11905: 0xEEE4,
+ 38080 - 11905: 0xD3CB,
+ 38081 - 11905: 0xCCFA,
+ 38082 - 11905: 0xB2AC,
+ 38083 - 11905: 0xC1E5,
+ 38084 - 11905: 0xEEE5,
+ 38085 - 11905: 0xC7A6,
+ 38086 - 11905: 0xC3AD,
+ 38087 - 11905: 0xE898,
+ 38088 - 11905: 0xEEE6,
+ 38089 - 11905: 0xEEE7,
+ 38090 - 11905: 0xEEE8,
+ 38091 - 11905: 0xEEE9,
+ 38092 - 11905: 0xEEEA,
+ 38093 - 11905: 0xEEEB,
+ 38094 - 11905: 0xEEEC,
+ 38095 - 11905: 0xE899,
+ 38096 - 11905: 0xEEED,
+ 38097 - 11905: 0xEEEE,
+ 38098 - 11905: 0xEEEF,
+ 38099 - 11905: 0xE89A,
+ 38100 - 11905: 0xE89B,
+ 38101 - 11905: 0xEEF0,
+ 38102 - 11905: 0xEEF1,
+ 38103 - 11905: 0xEEF2,
+ 38104 - 11905: 0xEEF4,
+ 38105 - 11905: 0xEEF3,
+ 38106 - 11905: 0xE89C,
+ 38107 - 11905: 0xEEF5,
+ 38108 - 11905: 0xCDAD,
+ 38109 - 11905: 0xC2C1,
+ 38110 - 11905: 0xEEF6,
+ 38111 - 11905: 0xEEF7,
+ 38112 - 11905: 0xEEF8,
+ 38113 - 11905: 0xD5A1,
+ 38114 - 11905: 0xEEF9,
+ 38115 - 11905: 0xCFB3,
+ 38116 - 11905: 0xEEFA,
+ 38117 - 11905: 0xEEFB,
+ 38118 - 11905: 0xE89D,
+ 38119 - 11905: 0xEEFC,
+ 38120 - 11905: 0xEEFD,
+ 38121 - 11905: 0xEFA1,
+ 38122 - 11905: 0xEEFE,
+ 38123 - 11905: 0xEFA2,
+ 38124 - 11905: 0xB8F5,
+ 38125 - 11905: 0xC3FA,
+ 38126 - 11905: 0xEFA3,
+ 38127 - 11905: 0xEFA4,
+ 38128 - 11905: 0xBDC2,
+ 38129 - 11905: 0xD2BF,
+ 38130 - 11905: 0xB2F9,
+ 38131 - 11905: 0xEFA5,
+ 38132 - 11905: 0xEFA6,
+ 38133 - 11905: 0xEFA7,
+ 38134 - 11905: 0xD2F8,
+ 38135 - 11905: 0xEFA8,
+ 38136 - 11905: 0xD6FD,
+ 38137 - 11905: 0xEFA9,
+ 38138 - 11905: 0xC6CC,
+ 38139 - 11905: 0xE89E,
+ 38140 - 11905: 0xEFAA,
+ 38141 - 11905: 0xEFAB,
+ 38142 - 11905: 0xC1B4,
+ 38143 - 11905: 0xEFAC,
+ 38144 - 11905: 0xCFFA,
+ 38145 - 11905: 0xCBF8,
+ 38146 - 11905: 0xEFAE,
+ 38147 - 11905: 0xEFAD,
+ 38148 - 11905: 0xB3FA,
+ 38149 - 11905: 0xB9F8,
+ 38150 - 11905: 0xEFAF,
+ 38151 - 11905: 0xEFB0,
+ 38152 - 11905: 0xD0E2,
+ 38153 - 11905: 0xEFB1,
+ 38154 - 11905: 0xEFB2,
+ 38155 - 11905: 0xB7E6,
+ 38156 - 11905: 0xD0BF,
+ 38157 - 11905: 0xEFB3,
+ 38158 - 11905: 0xEFB4,
+ 38159 - 11905: 0xEFB5,
+ 38160 - 11905: 0xC8F1,
+ 38161 - 11905: 0xCCE0,
+ 38162 - 11905: 0xEFB6,
+ 38163 - 11905: 0xEFB7,
+ 38164 - 11905: 0xEFB8,
+ 38165 - 11905: 0xEFB9,
+ 38166 - 11905: 0xEFBA,
+ 38167 - 11905: 0xD5E0,
+ 38168 - 11905: 0xEFBB,
+ 38169 - 11905: 0xB4ED,
+ 38170 - 11905: 0xC3AA,
+ 38171 - 11905: 0xEFBC,
+ 38172 - 11905: 0xE89F,
+ 38173 - 11905: 0xEFBD,
+ 38174 - 11905: 0xEFBE,
+ 38175 - 11905: 0xEFBF,
+ 38176 - 11905: 0xE8A0,
+ 38177 - 11905: 0xCEFD,
+ 38178 - 11905: 0xEFC0,
+ 38179 - 11905: 0xC2E0,
+ 38180 - 11905: 0xB4B8,
+ 38181 - 11905: 0xD7B6,
+ 38182 - 11905: 0xBDF5,
+ 38183 - 11905: 0xE940,
+ 38184 - 11905: 0xCFC7,
+ 38185 - 11905: 0xEFC3,
+ 38186 - 11905: 0xEFC1,
+ 38187 - 11905: 0xEFC2,
+ 38188 - 11905: 0xEFC4,
+ 38189 - 11905: 0xB6A7,
+ 38190 - 11905: 0xBCFC,
+ 38191 - 11905: 0xBEE2,
+ 38192 - 11905: 0xC3CC,
+ 38193 - 11905: 0xEFC5,
+ 38194 - 11905: 0xEFC6,
+ 38195 - 11905: 0xE941,
+ 38196 - 11905: 0xEFC7,
+ 38197 - 11905: 0xEFCF,
+ 38198 - 11905: 0xEFC8,
+ 38199 - 11905: 0xEFC9,
+ 38200 - 11905: 0xEFCA,
+ 38201 - 11905: 0xC7C2,
+ 38202 - 11905: 0xEFF1,
+ 38203 - 11905: 0xB6CD,
+ 38204 - 11905: 0xEFCB,
+ 38205 - 11905: 0xE942,
+ 38206 - 11905: 0xEFCC,
+ 38207 - 11905: 0xEFCD,
+ 38208 - 11905: 0xB6C6,
+ 38209 - 11905: 0xC3BE,
+ 38210 - 11905: 0xEFCE,
+ 38211 - 11905: 0xE943,
+ 38212 - 11905: 0xEFD0,
+ 38213 - 11905: 0xEFD1,
+ 38214 - 11905: 0xEFD2,
+ 38215 - 11905: 0xD5F2,
+ 38216 - 11905: 0xE944,
+ 38217 - 11905: 0xEFD3,
+ 38218 - 11905: 0xC4F7,
+ 38219 - 11905: 0xE945,
+ 38220 - 11905: 0xEFD4,
+ 38221 - 11905: 0xC4F8,
+ 38222 - 11905: 0xEFD5,
+ 38223 - 11905: 0xEFD6,
+ 38224 - 11905: 0xB8E4,
+ 38225 - 11905: 0xB0F7,
+ 38226 - 11905: 0xEFD7,
+ 38227 - 11905: 0xEFD8,
+ 38228 - 11905: 0xEFD9,
+ 38229 - 11905: 0xE946,
+ 38230 - 11905: 0xEFDA,
+ 38231 - 11905: 0xEFDB,
+ 38232 - 11905: 0xEFDC,
+ 38233 - 11905: 0xEFDD,
+ 38234 - 11905: 0xE947,
+ 38235 - 11905: 0xEFDE,
+ 38236 - 11905: 0xBEB5,
+ 38237 - 11905: 0xEFE1,
+ 38238 - 11905: 0xEFDF,
+ 38239 - 11905: 0xEFE0,
+ 38240 - 11905: 0xE948,
+ 38241 - 11905: 0xEFE2,
+ 38242 - 11905: 0xEFE3,
+ 38243 - 11905: 0xC1CD,
+ 38244 - 11905: 0xEFE4,
+ 38245 - 11905: 0xEFE5,
+ 38246 - 11905: 0xEFE6,
+ 38247 - 11905: 0xEFE7,
+ 38248 - 11905: 0xEFE8,
+ 38249 - 11905: 0xEFE9,
+ 38250 - 11905: 0xEFEA,
+ 38251 - 11905: 0xEFEB,
+ 38252 - 11905: 0xEFEC,
+ 38253 - 11905: 0xC0D8,
+ 38254 - 11905: 0xE949,
+ 38255 - 11905: 0xEFED,
+ 38256 - 11905: 0xC1AD,
+ 38257 - 11905: 0xEFEE,
+ 38258 - 11905: 0xEFEF,
+ 38259 - 11905: 0xEFF0,
+ 38260 - 11905: 0xE94A,
+ 38261 - 11905: 0xE94B,
+ 38262 - 11905: 0xCFE2,
+ 38263 - 11905: 0xE94C,
+ 38264 - 11905: 0xE94D,
+ 38265 - 11905: 0xE94E,
+ 38266 - 11905: 0xE94F,
+ 38267 - 11905: 0xE950,
+ 38268 - 11905: 0xE951,
+ 38269 - 11905: 0xE952,
+ 38270 - 11905: 0xE953,
+ 38271 - 11905: 0xB3A4,
+ 38272 - 11905: 0xE954,
+ 38273 - 11905: 0xE955,
+ 38274 - 11905: 0xE956,
+ 38275 - 11905: 0xE957,
+ 38276 - 11905: 0xE958,
+ 38277 - 11905: 0xE959,
+ 38278 - 11905: 0xE95A,
+ 38279 - 11905: 0xE95B,
+ 38280 - 11905: 0xE95C,
+ 38281 - 11905: 0xE95D,
+ 38282 - 11905: 0xE95E,
+ 38283 - 11905: 0xE95F,
+ 38284 - 11905: 0xE960,
+ 38285 - 11905: 0xE961,
+ 38286 - 11905: 0xE962,
+ 38287 - 11905: 0xE963,
+ 38288 - 11905: 0xE964,
+ 38289 - 11905: 0xE965,
+ 38290 - 11905: 0xE966,
+ 38291 - 11905: 0xE967,
+ 38292 - 11905: 0xE968,
+ 38293 - 11905: 0xE969,
+ 38294 - 11905: 0xE96A,
+ 38295 - 11905: 0xE96B,
+ 38296 - 11905: 0xE96C,
+ 38297 - 11905: 0xE96D,
+ 38298 - 11905: 0xE96E,
+ 38299 - 11905: 0xE96F,
+ 38300 - 11905: 0xE970,
+ 38301 - 11905: 0xE971,
+ 38302 - 11905: 0xE972,
+ 38303 - 11905: 0xE973,
+ 38304 - 11905: 0xE974,
+ 38305 - 11905: 0xE975,
+ 38306 - 11905: 0xE976,
+ 38307 - 11905: 0xE977,
+ 38308 - 11905: 0xE978,
+ 38309 - 11905: 0xE979,
+ 38310 - 11905: 0xE97A,
+ 38311 - 11905: 0xE97B,
+ 38312 - 11905: 0xE97C,
+ 38313 - 11905: 0xE97D,
+ 38314 - 11905: 0xE97E,
+ 38315 - 11905: 0xE980,
+ 38316 - 11905: 0xE981,
+ 38317 - 11905: 0xE982,
+ 38318 - 11905: 0xE983,
+ 38319 - 11905: 0xE984,
+ 38320 - 11905: 0xE985,
+ 38321 - 11905: 0xE986,
+ 38322 - 11905: 0xE987,
+ 38323 - 11905: 0xE988,
+ 38324 - 11905: 0xE989,
+ 38325 - 11905: 0xE98A,
+ 38326 - 11905: 0xE98B,
+ 38327 - 11905: 0xE98C,
+ 38328 - 11905: 0xE98D,
+ 38329 - 11905: 0xE98E,
+ 38330 - 11905: 0xE98F,
+ 38331 - 11905: 0xE990,
+ 38332 - 11905: 0xE991,
+ 38333 - 11905: 0xE992,
+ 38334 - 11905: 0xE993,
+ 38335 - 11905: 0xE994,
+ 38336 - 11905: 0xE995,
+ 38337 - 11905: 0xE996,
+ 38338 - 11905: 0xE997,
+ 38339 - 11905: 0xE998,
+ 38340 - 11905: 0xE999,
+ 38341 - 11905: 0xE99A,
+ 38342 - 11905: 0xE99B,
+ 38343 - 11905: 0xE99C,
+ 38344 - 11905: 0xE99D,
+ 38345 - 11905: 0xE99E,
+ 38346 - 11905: 0xE99F,
+ 38347 - 11905: 0xE9A0,
+ 38348 - 11905: 0xEA40,
+ 38349 - 11905: 0xEA41,
+ 38350 - 11905: 0xEA42,
+ 38351 - 11905: 0xEA43,
+ 38352 - 11905: 0xEA44,
+ 38353 - 11905: 0xEA45,
+ 38354 - 11905: 0xEA46,
+ 38355 - 11905: 0xEA47,
+ 38356 - 11905: 0xEA48,
+ 38357 - 11905: 0xEA49,
+ 38358 - 11905: 0xEA4A,
+ 38359 - 11905: 0xEA4B,
+ 38360 - 11905: 0xEA4C,
+ 38361 - 11905: 0xEA4D,
+ 38362 - 11905: 0xEA4E,
+ 38363 - 11905: 0xEA4F,
+ 38364 - 11905: 0xEA50,
+ 38365 - 11905: 0xEA51,
+ 38366 - 11905: 0xEA52,
+ 38367 - 11905: 0xEA53,
+ 38368 - 11905: 0xEA54,
+ 38369 - 11905: 0xEA55,
+ 38370 - 11905: 0xEA56,
+ 38371 - 11905: 0xEA57,
+ 38372 - 11905: 0xEA58,
+ 38373 - 11905: 0xEA59,
+ 38374 - 11905: 0xEA5A,
+ 38375 - 11905: 0xEA5B,
+ 38376 - 11905: 0xC3C5,
+ 38377 - 11905: 0xE3C5,
+ 38378 - 11905: 0xC9C1,
+ 38379 - 11905: 0xE3C6,
+ 38380 - 11905: 0xEA5C,
+ 38381 - 11905: 0xB1D5,
+ 38382 - 11905: 0xCECA,
+ 38383 - 11905: 0xB4B3,
+ 38384 - 11905: 0xC8F2,
+ 38385 - 11905: 0xE3C7,
+ 38386 - 11905: 0xCFD0,
+ 38387 - 11905: 0xE3C8,
+ 38388 - 11905: 0xBCE4,
+ 38389 - 11905: 0xE3C9,
+ 38390 - 11905: 0xE3CA,
+ 38391 - 11905: 0xC3C6,
+ 38392 - 11905: 0xD5A2,
+ 38393 - 11905: 0xC4D6,
+ 38394 - 11905: 0xB9EB,
+ 38395 - 11905: 0xCEC5,
+ 38396 - 11905: 0xE3CB,
+ 38397 - 11905: 0xC3F6,
+ 38398 - 11905: 0xE3CC,
+ 38399 - 11905: 0xEA5D,
+ 38400 - 11905: 0xB7A7,
+ 38401 - 11905: 0xB8F3,
+ 38402 - 11905: 0xBAD2,
+ 38403 - 11905: 0xE3CD,
+ 38404 - 11905: 0xE3CE,
+ 38405 - 11905: 0xD4C4,
+ 38406 - 11905: 0xE3CF,
+ 38407 - 11905: 0xEA5E,
+ 38408 - 11905: 0xE3D0,
+ 38409 - 11905: 0xD1CB,
+ 38410 - 11905: 0xE3D1,
+ 38411 - 11905: 0xE3D2,
+ 38412 - 11905: 0xE3D3,
+ 38413 - 11905: 0xE3D4,
+ 38414 - 11905: 0xD1D6,
+ 38415 - 11905: 0xE3D5,
+ 38416 - 11905: 0xB2FB,
+ 38417 - 11905: 0xC0BB,
+ 38418 - 11905: 0xE3D6,
+ 38419 - 11905: 0xEA5F,
+ 38420 - 11905: 0xC0AB,
+ 38421 - 11905: 0xE3D7,
+ 38422 - 11905: 0xE3D8,
+ 38423 - 11905: 0xE3D9,
+ 38424 - 11905: 0xEA60,
+ 38425 - 11905: 0xE3DA,
+ 38426 - 11905: 0xE3DB,
+ 38427 - 11905: 0xEA61,
+ 38428 - 11905: 0xB8B7,
+ 38429 - 11905: 0xDAE2,
+ 38430 - 11905: 0xEA62,
+ 38431 - 11905: 0xB6D3,
+ 38432 - 11905: 0xEA63,
+ 38433 - 11905: 0xDAE4,
+ 38434 - 11905: 0xDAE3,
+ 38435 - 11905: 0xEA64,
+ 38436 - 11905: 0xEA65,
+ 38437 - 11905: 0xEA66,
+ 38438 - 11905: 0xEA67,
+ 38439 - 11905: 0xEA68,
+ 38440 - 11905: 0xEA69,
+ 38441 - 11905: 0xEA6A,
+ 38442 - 11905: 0xDAE6,
+ 38443 - 11905: 0xEA6B,
+ 38444 - 11905: 0xEA6C,
+ 38445 - 11905: 0xEA6D,
+ 38446 - 11905: 0xC8EE,
+ 38447 - 11905: 0xEA6E,
+ 38448 - 11905: 0xEA6F,
+ 38449 - 11905: 0xDAE5,
+ 38450 - 11905: 0xB7C0,
+ 38451 - 11905: 0xD1F4,
+ 38452 - 11905: 0xD2F5,
+ 38453 - 11905: 0xD5F3,
+ 38454 - 11905: 0xBDD7,
+ 38455 - 11905: 0xEA70,
+ 38456 - 11905: 0xEA71,
+ 38457 - 11905: 0xEA72,
+ 38458 - 11905: 0xEA73,
+ 38459 - 11905: 0xD7E8,
+ 38460 - 11905: 0xDAE8,
+ 38461 - 11905: 0xDAE7,
+ 38462 - 11905: 0xEA74,
+ 38463 - 11905: 0xB0A2,
+ 38464 - 11905: 0xCDD3,
+ 38465 - 11905: 0xEA75,
+ 38466 - 11905: 0xDAE9,
+ 38467 - 11905: 0xEA76,
+ 38468 - 11905: 0xB8BD,
+ 38469 - 11905: 0xBCCA,
+ 38470 - 11905: 0xC2BD,
+ 38471 - 11905: 0xC2A4,
+ 38472 - 11905: 0xB3C2,
+ 38473 - 11905: 0xDAEA,
+ 38474 - 11905: 0xEA77,
+ 38475 - 11905: 0xC2AA,
+ 38476 - 11905: 0xC4B0,
+ 38477 - 11905: 0xBDB5,
+ 38478 - 11905: 0xEA78,
+ 38479 - 11905: 0xEA79,
+ 38480 - 11905: 0xCFDE,
+ 38481 - 11905: 0xEA7A,
+ 38482 - 11905: 0xEA7B,
+ 38483 - 11905: 0xEA7C,
+ 38484 - 11905: 0xDAEB,
+ 38485 - 11905: 0xC9C2,
+ 38486 - 11905: 0xEA7D,
+ 38487 - 11905: 0xEA7E,
+ 38488 - 11905: 0xEA80,
+ 38489 - 11905: 0xEA81,
+ 38490 - 11905: 0xEA82,
+ 38491 - 11905: 0xB1DD,
+ 38492 - 11905: 0xEA83,
+ 38493 - 11905: 0xEA84,
+ 38494 - 11905: 0xEA85,
+ 38495 - 11905: 0xDAEC,
+ 38496 - 11905: 0xEA86,
+ 38497 - 11905: 0xB6B8,
+ 38498 - 11905: 0xD4BA,
+ 38499 - 11905: 0xEA87,
+ 38500 - 11905: 0xB3FD,
+ 38501 - 11905: 0xEA88,
+ 38502 - 11905: 0xEA89,
+ 38503 - 11905: 0xDAED,
+ 38504 - 11905: 0xD4C9,
+ 38505 - 11905: 0xCFD5,
+ 38506 - 11905: 0xC5E3,
+ 38507 - 11905: 0xEA8A,
+ 38508 - 11905: 0xDAEE,
+ 38509 - 11905: 0xEA8B,
+ 38510 - 11905: 0xEA8C,
+ 38511 - 11905: 0xEA8D,
+ 38512 - 11905: 0xEA8E,
+ 38513 - 11905: 0xEA8F,
+ 38514 - 11905: 0xDAEF,
+ 38515 - 11905: 0xEA90,
+ 38516 - 11905: 0xDAF0,
+ 38517 - 11905: 0xC1EA,
+ 38518 - 11905: 0xCCD5,
+ 38519 - 11905: 0xCFDD,
+ 38520 - 11905: 0xEA91,
+ 38521 - 11905: 0xEA92,
+ 38522 - 11905: 0xEA93,
+ 38523 - 11905: 0xEA94,
+ 38524 - 11905: 0xEA95,
+ 38525 - 11905: 0xEA96,
+ 38526 - 11905: 0xEA97,
+ 38527 - 11905: 0xEA98,
+ 38528 - 11905: 0xEA99,
+ 38529 - 11905: 0xEA9A,
+ 38530 - 11905: 0xEA9B,
+ 38531 - 11905: 0xEA9C,
+ 38532 - 11905: 0xEA9D,
+ 38533 - 11905: 0xD3E7,
+ 38534 - 11905: 0xC2A1,
+ 38535 - 11905: 0xEA9E,
+ 38536 - 11905: 0xDAF1,
+ 38537 - 11905: 0xEA9F,
+ 38538 - 11905: 0xEAA0,
+ 38539 - 11905: 0xCBE5,
+ 38540 - 11905: 0xEB40,
+ 38541 - 11905: 0xDAF2,
+ 38542 - 11905: 0xEB41,
+ 38543 - 11905: 0xCBE6,
+ 38544 - 11905: 0xD2FE,
+ 38545 - 11905: 0xEB42,
+ 38546 - 11905: 0xEB43,
+ 38547 - 11905: 0xEB44,
+ 38548 - 11905: 0xB8F4,
+ 38549 - 11905: 0xEB45,
+ 38550 - 11905: 0xEB46,
+ 38551 - 11905: 0xDAF3,
+ 38552 - 11905: 0xB0AF,
+ 38553 - 11905: 0xCFB6,
+ 38554 - 11905: 0xEB47,
+ 38555 - 11905: 0xEB48,
+ 38556 - 11905: 0xD5CF,
+ 38557 - 11905: 0xEB49,
+ 38558 - 11905: 0xEB4A,
+ 38559 - 11905: 0xEB4B,
+ 38560 - 11905: 0xEB4C,
+ 38561 - 11905: 0xEB4D,
+ 38562 - 11905: 0xEB4E,
+ 38563 - 11905: 0xEB4F,
+ 38564 - 11905: 0xEB50,
+ 38565 - 11905: 0xEB51,
+ 38566 - 11905: 0xEB52,
+ 38567 - 11905: 0xCBED,
+ 38568 - 11905: 0xEB53,
+ 38569 - 11905: 0xEB54,
+ 38570 - 11905: 0xEB55,
+ 38571 - 11905: 0xEB56,
+ 38572 - 11905: 0xEB57,
+ 38573 - 11905: 0xEB58,
+ 38574 - 11905: 0xEB59,
+ 38575 - 11905: 0xEB5A,
+ 38576 - 11905: 0xDAF4,
+ 38577 - 11905: 0xEB5B,
+ 38578 - 11905: 0xEB5C,
+ 38579 - 11905: 0xE3C4,
+ 38580 - 11905: 0xEB5D,
+ 38581 - 11905: 0xEB5E,
+ 38582 - 11905: 0xC1A5,
+ 38583 - 11905: 0xEB5F,
+ 38584 - 11905: 0xEB60,
+ 38585 - 11905: 0xF6BF,
+ 38586 - 11905: 0xEB61,
+ 38587 - 11905: 0xEB62,
+ 38588 - 11905: 0xF6C0,
+ 38589 - 11905: 0xF6C1,
+ 38590 - 11905: 0xC4D1,
+ 38591 - 11905: 0xEB63,
+ 38592 - 11905: 0xC8B8,
+ 38593 - 11905: 0xD1E3,
+ 38594 - 11905: 0xEB64,
+ 38595 - 11905: 0xEB65,
+ 38596 - 11905: 0xD0DB,
+ 38597 - 11905: 0xD1C5,
+ 38598 - 11905: 0xBCAF,
+ 38599 - 11905: 0xB9CD,
+ 38600 - 11905: 0xEB66,
+ 38601 - 11905: 0xEFF4,
+ 38602 - 11905: 0xEB67,
+ 38603 - 11905: 0xEB68,
+ 38604 - 11905: 0xB4C6,
+ 38605 - 11905: 0xD3BA,
+ 38606 - 11905: 0xF6C2,
+ 38607 - 11905: 0xB3FB,
+ 38608 - 11905: 0xEB69,
+ 38609 - 11905: 0xEB6A,
+ 38610 - 11905: 0xF6C3,
+ 38611 - 11905: 0xEB6B,
+ 38612 - 11905: 0xEB6C,
+ 38613 - 11905: 0xB5F1,
+ 38614 - 11905: 0xEB6D,
+ 38615 - 11905: 0xEB6E,
+ 38616 - 11905: 0xEB6F,
+ 38617 - 11905: 0xEB70,
+ 38618 - 11905: 0xEB71,
+ 38619 - 11905: 0xEB72,
+ 38620 - 11905: 0xEB73,
+ 38621 - 11905: 0xEB74,
+ 38622 - 11905: 0xEB75,
+ 38623 - 11905: 0xEB76,
+ 38624 - 11905: 0xF6C5,
+ 38625 - 11905: 0xEB77,
+ 38626 - 11905: 0xEB78,
+ 38627 - 11905: 0xEB79,
+ 38628 - 11905: 0xEB7A,
+ 38629 - 11905: 0xEB7B,
+ 38630 - 11905: 0xEB7C,
+ 38631 - 11905: 0xEB7D,
+ 38632 - 11905: 0xD3EA,
+ 38633 - 11905: 0xF6A7,
+ 38634 - 11905: 0xD1A9,
+ 38635 - 11905: 0xEB7E,
+ 38636 - 11905: 0xEB80,
+ 38637 - 11905: 0xEB81,
+ 38638 - 11905: 0xEB82,
+ 38639 - 11905: 0xF6A9,
+ 38640 - 11905: 0xEB83,
+ 38641 - 11905: 0xEB84,
+ 38642 - 11905: 0xEB85,
+ 38643 - 11905: 0xF6A8,
+ 38644 - 11905: 0xEB86,
+ 38645 - 11905: 0xEB87,
+ 38646 - 11905: 0xC1E3,
+ 38647 - 11905: 0xC0D7,
+ 38648 - 11905: 0xEB88,
+ 38649 - 11905: 0xB1A2,
+ 38650 - 11905: 0xEB89,
+ 38651 - 11905: 0xEB8A,
+ 38652 - 11905: 0xEB8B,
+ 38653 - 11905: 0xEB8C,
+ 38654 - 11905: 0xCEED,
+ 38655 - 11905: 0xEB8D,
+ 38656 - 11905: 0xD0E8,
+ 38657 - 11905: 0xF6AB,
+ 38658 - 11905: 0xEB8E,
+ 38659 - 11905: 0xEB8F,
+ 38660 - 11905: 0xCFF6,
+ 38661 - 11905: 0xEB90,
+ 38662 - 11905: 0xF6AA,
+ 38663 - 11905: 0xD5F0,
+ 38664 - 11905: 0xF6AC,
+ 38665 - 11905: 0xC3B9,
+ 38666 - 11905: 0xEB91,
+ 38667 - 11905: 0xEB92,
+ 38668 - 11905: 0xEB93,
+ 38669 - 11905: 0xBBF4,
+ 38670 - 11905: 0xF6AE,
+ 38671 - 11905: 0xF6AD,
+ 38672 - 11905: 0xEB94,
+ 38673 - 11905: 0xEB95,
+ 38674 - 11905: 0xEB96,
+ 38675 - 11905: 0xC4DE,
+ 38676 - 11905: 0xEB97,
+ 38677 - 11905: 0xEB98,
+ 38678 - 11905: 0xC1D8,
+ 38679 - 11905: 0xEB99,
+ 38680 - 11905: 0xEB9A,
+ 38681 - 11905: 0xEB9B,
+ 38682 - 11905: 0xEB9C,
+ 38683 - 11905: 0xEB9D,
+ 38684 - 11905: 0xCBAA,
+ 38685 - 11905: 0xEB9E,
+ 38686 - 11905: 0xCFBC,
+ 38687 - 11905: 0xEB9F,
+ 38688 - 11905: 0xEBA0,
+ 38689 - 11905: 0xEC40,
+ 38690 - 11905: 0xEC41,
+ 38691 - 11905: 0xEC42,
+ 38692 - 11905: 0xEC43,
+ 38693 - 11905: 0xEC44,
+ 38694 - 11905: 0xEC45,
+ 38695 - 11905: 0xEC46,
+ 38696 - 11905: 0xEC47,
+ 38697 - 11905: 0xEC48,
+ 38698 - 11905: 0xF6AF,
+ 38699 - 11905: 0xEC49,
+ 38700 - 11905: 0xEC4A,
+ 38701 - 11905: 0xF6B0,
+ 38702 - 11905: 0xEC4B,
+ 38703 - 11905: 0xEC4C,
+ 38704 - 11905: 0xF6B1,
+ 38705 - 11905: 0xEC4D,
+ 38706 - 11905: 0xC2B6,
+ 38707 - 11905: 0xEC4E,
+ 38708 - 11905: 0xEC4F,
+ 38709 - 11905: 0xEC50,
+ 38710 - 11905: 0xEC51,
+ 38711 - 11905: 0xEC52,
+ 38712 - 11905: 0xB0D4,
+ 38713 - 11905: 0xC5F9,
+ 38714 - 11905: 0xEC53,
+ 38715 - 11905: 0xEC54,
+ 38716 - 11905: 0xEC55,
+ 38717 - 11905: 0xEC56,
+ 38718 - 11905: 0xF6B2,
+ 38719 - 11905: 0xEC57,
+ 38720 - 11905: 0xEC58,
+ 38721 - 11905: 0xEC59,
+ 38722 - 11905: 0xEC5A,
+ 38723 - 11905: 0xEC5B,
+ 38724 - 11905: 0xEC5C,
+ 38725 - 11905: 0xEC5D,
+ 38726 - 11905: 0xEC5E,
+ 38727 - 11905: 0xEC5F,
+ 38728 - 11905: 0xEC60,
+ 38729 - 11905: 0xEC61,
+ 38730 - 11905: 0xEC62,
+ 38731 - 11905: 0xEC63,
+ 38732 - 11905: 0xEC64,
+ 38733 - 11905: 0xEC65,
+ 38734 - 11905: 0xEC66,
+ 38735 - 11905: 0xEC67,
+ 38736 - 11905: 0xEC68,
+ 38737 - 11905: 0xEC69,
+ 38738 - 11905: 0xC7E0,
+ 38739 - 11905: 0xF6A6,
+ 38740 - 11905: 0xEC6A,
+ 38741 - 11905: 0xEC6B,
+ 38742 - 11905: 0xBEB8,
+ 38743 - 11905: 0xEC6C,
+ 38744 - 11905: 0xEC6D,
+ 38745 - 11905: 0xBEB2,
+ 38746 - 11905: 0xEC6E,
+ 38747 - 11905: 0xB5E5,
+ 38748 - 11905: 0xEC6F,
+ 38749 - 11905: 0xEC70,
+ 38750 - 11905: 0xB7C7,
+ 38751 - 11905: 0xEC71,
+ 38752 - 11905: 0xBFBF,
+ 38753 - 11905: 0xC3D2,
+ 38754 - 11905: 0xC3E6,
+ 38755 - 11905: 0xEC72,
+ 38756 - 11905: 0xEC73,
+ 38757 - 11905: 0xD8CC,
+ 38758 - 11905: 0xEC74,
+ 38759 - 11905: 0xEC75,
+ 38760 - 11905: 0xEC76,
+ 38761 - 11905: 0xB8EF,
+ 38762 - 11905: 0xEC77,
+ 38763 - 11905: 0xEC78,
+ 38764 - 11905: 0xEC79,
+ 38765 - 11905: 0xEC7A,
+ 38766 - 11905: 0xEC7B,
+ 38767 - 11905: 0xEC7C,
+ 38768 - 11905: 0xEC7D,
+ 38769 - 11905: 0xEC7E,
+ 38770 - 11905: 0xEC80,
+ 38771 - 11905: 0xBDF9,
+ 38772 - 11905: 0xD1A5,
+ 38773 - 11905: 0xEC81,
+ 38774 - 11905: 0xB0D0,
+ 38775 - 11905: 0xEC82,
+ 38776 - 11905: 0xEC83,
+ 38777 - 11905: 0xEC84,
+ 38778 - 11905: 0xEC85,
+ 38779 - 11905: 0xEC86,
+ 38780 - 11905: 0xF7B0,
+ 38781 - 11905: 0xEC87,
+ 38782 - 11905: 0xEC88,
+ 38783 - 11905: 0xEC89,
+ 38784 - 11905: 0xEC8A,
+ 38785 - 11905: 0xEC8B,
+ 38786 - 11905: 0xEC8C,
+ 38787 - 11905: 0xEC8D,
+ 38788 - 11905: 0xEC8E,
+ 38789 - 11905: 0xF7B1,
+ 38790 - 11905: 0xEC8F,
+ 38791 - 11905: 0xEC90,
+ 38792 - 11905: 0xEC91,
+ 38793 - 11905: 0xEC92,
+ 38794 - 11905: 0xEC93,
+ 38795 - 11905: 0xD0AC,
+ 38796 - 11905: 0xEC94,
+ 38797 - 11905: 0xB0B0,
+ 38798 - 11905: 0xEC95,
+ 38799 - 11905: 0xEC96,
+ 38800 - 11905: 0xEC97,
+ 38801 - 11905: 0xF7B2,
+ 38802 - 11905: 0xF7B3,
+ 38803 - 11905: 0xEC98,
+ 38804 - 11905: 0xF7B4,
+ 38805 - 11905: 0xEC99,
+ 38806 - 11905: 0xEC9A,
+ 38807 - 11905: 0xEC9B,
+ 38808 - 11905: 0xC7CA,
+ 38809 - 11905: 0xEC9C,
+ 38810 - 11905: 0xEC9D,
+ 38811 - 11905: 0xEC9E,
+ 38812 - 11905: 0xEC9F,
+ 38813 - 11905: 0xECA0,
+ 38814 - 11905: 0xED40,
+ 38815 - 11905: 0xED41,
+ 38816 - 11905: 0xBECF,
+ 38817 - 11905: 0xED42,
+ 38818 - 11905: 0xED43,
+ 38819 - 11905: 0xF7B7,
+ 38820 - 11905: 0xED44,
+ 38821 - 11905: 0xED45,
+ 38822 - 11905: 0xED46,
+ 38823 - 11905: 0xED47,
+ 38824 - 11905: 0xED48,
+ 38825 - 11905: 0xED49,
+ 38826 - 11905: 0xED4A,
+ 38827 - 11905: 0xF7B6,
+ 38828 - 11905: 0xED4B,
+ 38829 - 11905: 0xB1DE,
+ 38830 - 11905: 0xED4C,
+ 38831 - 11905: 0xF7B5,
+ 38832 - 11905: 0xED4D,
+ 38833 - 11905: 0xED4E,
+ 38834 - 11905: 0xF7B8,
+ 38835 - 11905: 0xED4F,
+ 38836 - 11905: 0xF7B9,
+ 38837 - 11905: 0xED50,
+ 38838 - 11905: 0xED51,
+ 38839 - 11905: 0xED52,
+ 38840 - 11905: 0xED53,
+ 38841 - 11905: 0xED54,
+ 38842 - 11905: 0xED55,
+ 38843 - 11905: 0xED56,
+ 38844 - 11905: 0xED57,
+ 38845 - 11905: 0xED58,
+ 38846 - 11905: 0xED59,
+ 38847 - 11905: 0xED5A,
+ 38848 - 11905: 0xED5B,
+ 38849 - 11905: 0xED5C,
+ 38850 - 11905: 0xED5D,
+ 38851 - 11905: 0xED5E,
+ 38852 - 11905: 0xED5F,
+ 38853 - 11905: 0xED60,
+ 38854 - 11905: 0xED61,
+ 38855 - 11905: 0xED62,
+ 38856 - 11905: 0xED63,
+ 38857 - 11905: 0xED64,
+ 38858 - 11905: 0xED65,
+ 38859 - 11905: 0xED66,
+ 38860 - 11905: 0xED67,
+ 38861 - 11905: 0xED68,
+ 38862 - 11905: 0xED69,
+ 38863 - 11905: 0xED6A,
+ 38864 - 11905: 0xED6B,
+ 38865 - 11905: 0xED6C,
+ 38866 - 11905: 0xED6D,
+ 38867 - 11905: 0xED6E,
+ 38868 - 11905: 0xED6F,
+ 38869 - 11905: 0xED70,
+ 38870 - 11905: 0xED71,
+ 38871 - 11905: 0xED72,
+ 38872 - 11905: 0xED73,
+ 38873 - 11905: 0xED74,
+ 38874 - 11905: 0xED75,
+ 38875 - 11905: 0xED76,
+ 38876 - 11905: 0xED77,
+ 38877 - 11905: 0xED78,
+ 38878 - 11905: 0xED79,
+ 38879 - 11905: 0xED7A,
+ 38880 - 11905: 0xED7B,
+ 38881 - 11905: 0xED7C,
+ 38882 - 11905: 0xED7D,
+ 38883 - 11905: 0xED7E,
+ 38884 - 11905: 0xED80,
+ 38885 - 11905: 0xED81,
+ 38886 - 11905: 0xCEA4,
+ 38887 - 11905: 0xC8CD,
+ 38888 - 11905: 0xED82,
+ 38889 - 11905: 0xBAAB,
+ 38890 - 11905: 0xE8B8,
+ 38891 - 11905: 0xE8B9,
+ 38892 - 11905: 0xE8BA,
+ 38893 - 11905: 0xBEC2,
+ 38894 - 11905: 0xED83,
+ 38895 - 11905: 0xED84,
+ 38896 - 11905: 0xED85,
+ 38897 - 11905: 0xED86,
+ 38898 - 11905: 0xED87,
+ 38899 - 11905: 0xD2F4,
+ 38900 - 11905: 0xED88,
+ 38901 - 11905: 0xD4CF,
+ 38902 - 11905: 0xC9D8,
+ 38903 - 11905: 0xED89,
+ 38904 - 11905: 0xED8A,
+ 38905 - 11905: 0xED8B,
+ 38906 - 11905: 0xED8C,
+ 38907 - 11905: 0xED8D,
+ 38908 - 11905: 0xED8E,
+ 38909 - 11905: 0xED8F,
+ 38910 - 11905: 0xED90,
+ 38911 - 11905: 0xED91,
+ 38912 - 11905: 0xED92,
+ 38913 - 11905: 0xED93,
+ 38914 - 11905: 0xED94,
+ 38915 - 11905: 0xED95,
+ 38916 - 11905: 0xED96,
+ 38917 - 11905: 0xED97,
+ 38918 - 11905: 0xED98,
+ 38919 - 11905: 0xED99,
+ 38920 - 11905: 0xED9A,
+ 38921 - 11905: 0xED9B,
+ 38922 - 11905: 0xED9C,
+ 38923 - 11905: 0xED9D,
+ 38924 - 11905: 0xED9E,
+ 38925 - 11905: 0xED9F,
+ 38926 - 11905: 0xEDA0,
+ 38927 - 11905: 0xEE40,
+ 38928 - 11905: 0xEE41,
+ 38929 - 11905: 0xEE42,
+ 38930 - 11905: 0xEE43,
+ 38931 - 11905: 0xEE44,
+ 38932 - 11905: 0xEE45,
+ 38933 - 11905: 0xEE46,
+ 38934 - 11905: 0xEE47,
+ 38935 - 11905: 0xEE48,
+ 38936 - 11905: 0xEE49,
+ 38937 - 11905: 0xEE4A,
+ 38938 - 11905: 0xEE4B,
+ 38939 - 11905: 0xEE4C,
+ 38940 - 11905: 0xEE4D,
+ 38941 - 11905: 0xEE4E,
+ 38942 - 11905: 0xEE4F,
+ 38943 - 11905: 0xEE50,
+ 38944 - 11905: 0xEE51,
+ 38945 - 11905: 0xEE52,
+ 38946 - 11905: 0xEE53,
+ 38947 - 11905: 0xEE54,
+ 38948 - 11905: 0xEE55,
+ 38949 - 11905: 0xEE56,
+ 38950 - 11905: 0xEE57,
+ 38951 - 11905: 0xEE58,
+ 38952 - 11905: 0xEE59,
+ 38953 - 11905: 0xEE5A,
+ 38954 - 11905: 0xEE5B,
+ 38955 - 11905: 0xEE5C,
+ 38956 - 11905: 0xEE5D,
+ 38957 - 11905: 0xEE5E,
+ 38958 - 11905: 0xEE5F,
+ 38959 - 11905: 0xEE60,
+ 38960 - 11905: 0xEE61,
+ 38961 - 11905: 0xEE62,
+ 38962 - 11905: 0xEE63,
+ 38963 - 11905: 0xEE64,
+ 38964 - 11905: 0xEE65,
+ 38965 - 11905: 0xEE66,
+ 38966 - 11905: 0xEE67,
+ 38967 - 11905: 0xEE68,
+ 38968 - 11905: 0xEE69,
+ 38969 - 11905: 0xEE6A,
+ 38970 - 11905: 0xEE6B,
+ 38971 - 11905: 0xEE6C,
+ 38972 - 11905: 0xEE6D,
+ 38973 - 11905: 0xEE6E,
+ 38974 - 11905: 0xEE6F,
+ 38975 - 11905: 0xEE70,
+ 38976 - 11905: 0xEE71,
+ 38977 - 11905: 0xEE72,
+ 38978 - 11905: 0xEE73,
+ 38979 - 11905: 0xEE74,
+ 38980 - 11905: 0xEE75,
+ 38981 - 11905: 0xEE76,
+ 38982 - 11905: 0xEE77,
+ 38983 - 11905: 0xEE78,
+ 38984 - 11905: 0xEE79,
+ 38985 - 11905: 0xEE7A,
+ 38986 - 11905: 0xEE7B,
+ 38987 - 11905: 0xEE7C,
+ 38988 - 11905: 0xEE7D,
+ 38989 - 11905: 0xEE7E,
+ 38990 - 11905: 0xEE80,
+ 38991 - 11905: 0xEE81,
+ 38992 - 11905: 0xEE82,
+ 38993 - 11905: 0xEE83,
+ 38994 - 11905: 0xEE84,
+ 38995 - 11905: 0xEE85,
+ 38996 - 11905: 0xEE86,
+ 38997 - 11905: 0xEE87,
+ 38998 - 11905: 0xEE88,
+ 38999 - 11905: 0xEE89,
+ 39000 - 11905: 0xEE8A,
+ 39001 - 11905: 0xEE8B,
+ 39002 - 11905: 0xEE8C,
+ 39003 - 11905: 0xEE8D,
+ 39004 - 11905: 0xEE8E,
+ 39005 - 11905: 0xEE8F,
+ 39006 - 11905: 0xEE90,
+ 39007 - 11905: 0xEE91,
+ 39008 - 11905: 0xEE92,
+ 39009 - 11905: 0xEE93,
+ 39010 - 11905: 0xEE94,
+ 39011 - 11905: 0xEE95,
+ 39012 - 11905: 0xEE96,
+ 39013 - 11905: 0xEE97,
+ 39014 - 11905: 0xEE98,
+ 39015 - 11905: 0xEE99,
+ 39016 - 11905: 0xEE9A,
+ 39017 - 11905: 0xEE9B,
+ 39018 - 11905: 0xEE9C,
+ 39019 - 11905: 0xEE9D,
+ 39020 - 11905: 0xEE9E,
+ 39021 - 11905: 0xEE9F,
+ 39022 - 11905: 0xEEA0,
+ 39023 - 11905: 0xEF40,
+ 39024 - 11905: 0xEF41,
+ 39025 - 11905: 0xEF42,
+ 39026 - 11905: 0xEF43,
+ 39027 - 11905: 0xEF44,
+ 39028 - 11905: 0xEF45,
+ 39029 - 11905: 0xD2B3,
+ 39030 - 11905: 0xB6A5,
+ 39031 - 11905: 0xC7EA,
+ 39032 - 11905: 0xF1FC,
+ 39033 - 11905: 0xCFEE,
+ 39034 - 11905: 0xCBB3,
+ 39035 - 11905: 0xD0EB,
+ 39036 - 11905: 0xE7EF,
+ 39037 - 11905: 0xCDE7,
+ 39038 - 11905: 0xB9CB,
+ 39039 - 11905: 0xB6D9,
+ 39040 - 11905: 0xF1FD,
+ 39041 - 11905: 0xB0E4,
+ 39042 - 11905: 0xCBCC,
+ 39043 - 11905: 0xF1FE,
+ 39044 - 11905: 0xD4A4,
+ 39045 - 11905: 0xC2AD,
+ 39046 - 11905: 0xC1EC,
+ 39047 - 11905: 0xC6C4,
+ 39048 - 11905: 0xBEB1,
+ 39049 - 11905: 0xF2A1,
+ 39050 - 11905: 0xBCD5,
+ 39051 - 11905: 0xEF46,
+ 39052 - 11905: 0xF2A2,
+ 39053 - 11905: 0xF2A3,
+ 39054 - 11905: 0xEF47,
+ 39055 - 11905: 0xF2A4,
+ 39056 - 11905: 0xD2C3,
+ 39057 - 11905: 0xC6B5,
+ 39058 - 11905: 0xEF48,
+ 39059 - 11905: 0xCDC7,
+ 39060 - 11905: 0xF2A5,
+ 39061 - 11905: 0xEF49,
+ 39062 - 11905: 0xD3B1,
+ 39063 - 11905: 0xBFC5,
+ 39064 - 11905: 0xCCE2,
+ 39065 - 11905: 0xEF4A,
+ 39066 - 11905: 0xF2A6,
+ 39067 - 11905: 0xF2A7,
+ 39068 - 11905: 0xD1D5,
+ 39069 - 11905: 0xB6EE,
+ 39070 - 11905: 0xF2A8,
+ 39071 - 11905: 0xF2A9,
+ 39072 - 11905: 0xB5DF,
+ 39073 - 11905: 0xF2AA,
+ 39074 - 11905: 0xF2AB,
+ 39075 - 11905: 0xEF4B,
+ 39076 - 11905: 0xB2FC,
+ 39077 - 11905: 0xF2AC,
+ 39078 - 11905: 0xF2AD,
+ 39079 - 11905: 0xC8A7,
+ 39080 - 11905: 0xEF4C,
+ 39081 - 11905: 0xEF4D,
+ 39082 - 11905: 0xEF4E,
+ 39083 - 11905: 0xEF4F,
+ 39084 - 11905: 0xEF50,
+ 39085 - 11905: 0xEF51,
+ 39086 - 11905: 0xEF52,
+ 39087 - 11905: 0xEF53,
+ 39088 - 11905: 0xEF54,
+ 39089 - 11905: 0xEF55,
+ 39090 - 11905: 0xEF56,
+ 39091 - 11905: 0xEF57,
+ 39092 - 11905: 0xEF58,
+ 39093 - 11905: 0xEF59,
+ 39094 - 11905: 0xEF5A,
+ 39095 - 11905: 0xEF5B,
+ 39096 - 11905: 0xEF5C,
+ 39097 - 11905: 0xEF5D,
+ 39098 - 11905: 0xEF5E,
+ 39099 - 11905: 0xEF5F,
+ 39100 - 11905: 0xEF60,
+ 39101 - 11905: 0xEF61,
+ 39102 - 11905: 0xEF62,
+ 39103 - 11905: 0xEF63,
+ 39104 - 11905: 0xEF64,
+ 39105 - 11905: 0xEF65,
+ 39106 - 11905: 0xEF66,
+ 39107 - 11905: 0xEF67,
+ 39108 - 11905: 0xEF68,
+ 39109 - 11905: 0xEF69,
+ 39110 - 11905: 0xEF6A,
+ 39111 - 11905: 0xEF6B,
+ 39112 - 11905: 0xEF6C,
+ 39113 - 11905: 0xEF6D,
+ 39114 - 11905: 0xEF6E,
+ 39115 - 11905: 0xEF6F,
+ 39116 - 11905: 0xEF70,
+ 39117 - 11905: 0xEF71,
+ 39118 - 11905: 0xB7E7,
+ 39119 - 11905: 0xEF72,
+ 39120 - 11905: 0xEF73,
+ 39121 - 11905: 0xECA9,
+ 39122 - 11905: 0xECAA,
+ 39123 - 11905: 0xECAB,
+ 39124 - 11905: 0xEF74,
+ 39125 - 11905: 0xECAC,
+ 39126 - 11905: 0xEF75,
+ 39127 - 11905: 0xEF76,
+ 39128 - 11905: 0xC6AE,
+ 39129 - 11905: 0xECAD,
+ 39130 - 11905: 0xECAE,
+ 39131 - 11905: 0xEF77,
+ 39132 - 11905: 0xEF78,
+ 39133 - 11905: 0xEF79,
+ 39134 - 11905: 0xB7C9,
+ 39135 - 11905: 0xCAB3,
+ 39136 - 11905: 0xEF7A,
+ 39137 - 11905: 0xEF7B,
+ 39138 - 11905: 0xEF7C,
+ 39139 - 11905: 0xEF7D,
+ 39140 - 11905: 0xEF7E,
+ 39141 - 11905: 0xEF80,
+ 39142 - 11905: 0xEF81,
+ 39143 - 11905: 0xE2B8,
+ 39144 - 11905: 0xF7CF,
+ 39145 - 11905: 0xEF82,
+ 39146 - 11905: 0xEF83,
+ 39147 - 11905: 0xEF84,
+ 39148 - 11905: 0xEF85,
+ 39149 - 11905: 0xEF86,
+ 39150 - 11905: 0xEF87,
+ 39151 - 11905: 0xEF88,
+ 39152 - 11905: 0xEF89,
+ 39153 - 11905: 0xEF8A,
+ 39154 - 11905: 0xEF8B,
+ 39155 - 11905: 0xEF8C,
+ 39156 - 11905: 0xEF8D,
+ 39157 - 11905: 0xEF8E,
+ 39158 - 11905: 0xEF8F,
+ 39159 - 11905: 0xEF90,
+ 39160 - 11905: 0xEF91,
+ 39161 - 11905: 0xEF92,
+ 39162 - 11905: 0xEF93,
+ 39163 - 11905: 0xEF94,
+ 39164 - 11905: 0xEF95,
+ 39165 - 11905: 0xEF96,
+ 39166 - 11905: 0xEF97,
+ 39167 - 11905: 0xEF98,
+ 39168 - 11905: 0xEF99,
+ 39169 - 11905: 0xEF9A,
+ 39170 - 11905: 0xEF9B,
+ 39171 - 11905: 0xEF9C,
+ 39172 - 11905: 0xEF9D,
+ 39173 - 11905: 0xEF9E,
+ 39174 - 11905: 0xEF9F,
+ 39175 - 11905: 0xEFA0,
+ 39176 - 11905: 0xF040,
+ 39177 - 11905: 0xF041,
+ 39178 - 11905: 0xF042,
+ 39179 - 11905: 0xF043,
+ 39180 - 11905: 0xF044,
+ 39181 - 11905: 0xF7D0,
+ 39182 - 11905: 0xF045,
+ 39183 - 11905: 0xF046,
+ 39184 - 11905: 0xB2CD,
+ 39185 - 11905: 0xF047,
+ 39186 - 11905: 0xF048,
+ 39187 - 11905: 0xF049,
+ 39188 - 11905: 0xF04A,
+ 39189 - 11905: 0xF04B,
+ 39190 - 11905: 0xF04C,
+ 39191 - 11905: 0xF04D,
+ 39192 - 11905: 0xF04E,
+ 39193 - 11905: 0xF04F,
+ 39194 - 11905: 0xF050,
+ 39195 - 11905: 0xF051,
+ 39196 - 11905: 0xF052,
+ 39197 - 11905: 0xF053,
+ 39198 - 11905: 0xF054,
+ 39199 - 11905: 0xF055,
+ 39200 - 11905: 0xF056,
+ 39201 - 11905: 0xF057,
+ 39202 - 11905: 0xF058,
+ 39203 - 11905: 0xF059,
+ 39204 - 11905: 0xF05A,
+ 39205 - 11905: 0xF05B,
+ 39206 - 11905: 0xF05C,
+ 39207 - 11905: 0xF05D,
+ 39208 - 11905: 0xF05E,
+ 39209 - 11905: 0xF05F,
+ 39210 - 11905: 0xF060,
+ 39211 - 11905: 0xF061,
+ 39212 - 11905: 0xF062,
+ 39213 - 11905: 0xF063,
+ 39214 - 11905: 0xF7D1,
+ 39215 - 11905: 0xF064,
+ 39216 - 11905: 0xF065,
+ 39217 - 11905: 0xF066,
+ 39218 - 11905: 0xF067,
+ 39219 - 11905: 0xF068,
+ 39220 - 11905: 0xF069,
+ 39221 - 11905: 0xF06A,
+ 39222 - 11905: 0xF06B,
+ 39223 - 11905: 0xF06C,
+ 39224 - 11905: 0xF06D,
+ 39225 - 11905: 0xF06E,
+ 39226 - 11905: 0xF06F,
+ 39227 - 11905: 0xF070,
+ 39228 - 11905: 0xF071,
+ 39229 - 11905: 0xF072,
+ 39230 - 11905: 0xF073,
+ 39231 - 11905: 0xF074,
+ 39232 - 11905: 0xF075,
+ 39233 - 11905: 0xF076,
+ 39234 - 11905: 0xF077,
+ 39235 - 11905: 0xF078,
+ 39236 - 11905: 0xF079,
+ 39237 - 11905: 0xF07A,
+ 39238 - 11905: 0xF07B,
+ 39239 - 11905: 0xF07C,
+ 39240 - 11905: 0xF07D,
+ 39241 - 11905: 0xF07E,
+ 39242 - 11905: 0xF080,
+ 39243 - 11905: 0xF081,
+ 39244 - 11905: 0xF082,
+ 39245 - 11905: 0xF083,
+ 39246 - 11905: 0xF084,
+ 39247 - 11905: 0xF085,
+ 39248 - 11905: 0xF086,
+ 39249 - 11905: 0xF087,
+ 39250 - 11905: 0xF088,
+ 39251 - 11905: 0xF089,
+ 39252 - 11905: 0xF7D3,
+ 39253 - 11905: 0xF7D2,
+ 39254 - 11905: 0xF08A,
+ 39255 - 11905: 0xF08B,
+ 39256 - 11905: 0xF08C,
+ 39257 - 11905: 0xF08D,
+ 39258 - 11905: 0xF08E,
+ 39259 - 11905: 0xF08F,
+ 39260 - 11905: 0xF090,
+ 39261 - 11905: 0xF091,
+ 39262 - 11905: 0xF092,
+ 39263 - 11905: 0xF093,
+ 39264 - 11905: 0xF094,
+ 39265 - 11905: 0xF095,
+ 39266 - 11905: 0xF096,
+ 39267 - 11905: 0xE2BB,
+ 39268 - 11905: 0xF097,
+ 39269 - 11905: 0xBCA2,
+ 39270 - 11905: 0xF098,
+ 39271 - 11905: 0xE2BC,
+ 39272 - 11905: 0xE2BD,
+ 39273 - 11905: 0xE2BE,
+ 39274 - 11905: 0xE2BF,
+ 39275 - 11905: 0xE2C0,
+ 39276 - 11905: 0xE2C1,
+ 39277 - 11905: 0xB7B9,
+ 39278 - 11905: 0xD2FB,
+ 39279 - 11905: 0xBDA4,
+ 39280 - 11905: 0xCACE,
+ 39281 - 11905: 0xB1A5,
+ 39282 - 11905: 0xCBC7,
+ 39283 - 11905: 0xF099,
+ 39284 - 11905: 0xE2C2,
+ 39285 - 11905: 0xB6FC,
+ 39286 - 11905: 0xC8C4,
+ 39287 - 11905: 0xE2C3,
+ 39288 - 11905: 0xF09A,
+ 39289 - 11905: 0xF09B,
+ 39290 - 11905: 0xBDC8,
+ 39291 - 11905: 0xF09C,
+ 39292 - 11905: 0xB1FD,
+ 39293 - 11905: 0xE2C4,
+ 39294 - 11905: 0xF09D,
+ 39295 - 11905: 0xB6F6,
+ 39296 - 11905: 0xE2C5,
+ 39297 - 11905: 0xC4D9,
+ 39298 - 11905: 0xF09E,
+ 39299 - 11905: 0xF09F,
+ 39300 - 11905: 0xE2C6,
+ 39301 - 11905: 0xCFDA,
+ 39302 - 11905: 0xB9DD,
+ 39303 - 11905: 0xE2C7,
+ 39304 - 11905: 0xC0A1,
+ 39305 - 11905: 0xF0A0,
+ 39306 - 11905: 0xE2C8,
+ 39307 - 11905: 0xB2F6,
+ 39308 - 11905: 0xF140,
+ 39309 - 11905: 0xE2C9,
+ 39310 - 11905: 0xF141,
+ 39311 - 11905: 0xC1F3,
+ 39312 - 11905: 0xE2CA,
+ 39313 - 11905: 0xE2CB,
+ 39314 - 11905: 0xC2F8,
+ 39315 - 11905: 0xE2CC,
+ 39316 - 11905: 0xE2CD,
+ 39317 - 11905: 0xE2CE,
+ 39318 - 11905: 0xCAD7,
+ 39319 - 11905: 0xD8B8,
+ 39320 - 11905: 0xD9E5,
+ 39321 - 11905: 0xCFE3,
+ 39322 - 11905: 0xF142,
+ 39323 - 11905: 0xF143,
+ 39324 - 11905: 0xF144,
+ 39325 - 11905: 0xF145,
+ 39326 - 11905: 0xF146,
+ 39327 - 11905: 0xF147,
+ 39328 - 11905: 0xF148,
+ 39329 - 11905: 0xF149,
+ 39330 - 11905: 0xF14A,
+ 39331 - 11905: 0xF14B,
+ 39332 - 11905: 0xF14C,
+ 39333 - 11905: 0xF0A5,
+ 39334 - 11905: 0xF14D,
+ 39335 - 11905: 0xF14E,
+ 39336 - 11905: 0xDCB0,
+ 39337 - 11905: 0xF14F,
+ 39338 - 11905: 0xF150,
+ 39339 - 11905: 0xF151,
+ 39340 - 11905: 0xF152,
+ 39341 - 11905: 0xF153,
+ 39342 - 11905: 0xF154,
+ 39343 - 11905: 0xF155,
+ 39344 - 11905: 0xF156,
+ 39345 - 11905: 0xF157,
+ 39346 - 11905: 0xF158,
+ 39347 - 11905: 0xF159,
+ 39348 - 11905: 0xF15A,
+ 39349 - 11905: 0xF15B,
+ 39350 - 11905: 0xF15C,
+ 39351 - 11905: 0xF15D,
+ 39352 - 11905: 0xF15E,
+ 39353 - 11905: 0xF15F,
+ 39354 - 11905: 0xF160,
+ 39355 - 11905: 0xF161,
+ 39356 - 11905: 0xF162,
+ 39357 - 11905: 0xF163,
+ 39358 - 11905: 0xF164,
+ 39359 - 11905: 0xF165,
+ 39360 - 11905: 0xF166,
+ 39361 - 11905: 0xF167,
+ 39362 - 11905: 0xF168,
+ 39363 - 11905: 0xF169,
+ 39364 - 11905: 0xF16A,
+ 39365 - 11905: 0xF16B,
+ 39366 - 11905: 0xF16C,
+ 39367 - 11905: 0xF16D,
+ 39368 - 11905: 0xF16E,
+ 39369 - 11905: 0xF16F,
+ 39370 - 11905: 0xF170,
+ 39371 - 11905: 0xF171,
+ 39372 - 11905: 0xF172,
+ 39373 - 11905: 0xF173,
+ 39374 - 11905: 0xF174,
+ 39375 - 11905: 0xF175,
+ 39376 - 11905: 0xF176,
+ 39377 - 11905: 0xF177,
+ 39378 - 11905: 0xF178,
+ 39379 - 11905: 0xF179,
+ 39380 - 11905: 0xF17A,
+ 39381 - 11905: 0xF17B,
+ 39382 - 11905: 0xF17C,
+ 39383 - 11905: 0xF17D,
+ 39384 - 11905: 0xF17E,
+ 39385 - 11905: 0xF180,
+ 39386 - 11905: 0xF181,
+ 39387 - 11905: 0xF182,
+ 39388 - 11905: 0xF183,
+ 39389 - 11905: 0xF184,
+ 39390 - 11905: 0xF185,
+ 39391 - 11905: 0xF186,
+ 39392 - 11905: 0xF187,
+ 39393 - 11905: 0xF188,
+ 39394 - 11905: 0xF189,
+ 39395 - 11905: 0xF18A,
+ 39396 - 11905: 0xF18B,
+ 39397 - 11905: 0xF18C,
+ 39398 - 11905: 0xF18D,
+ 39399 - 11905: 0xF18E,
+ 39400 - 11905: 0xF18F,
+ 39401 - 11905: 0xF190,
+ 39402 - 11905: 0xF191,
+ 39403 - 11905: 0xF192,
+ 39404 - 11905: 0xF193,
+ 39405 - 11905: 0xF194,
+ 39406 - 11905: 0xF195,
+ 39407 - 11905: 0xF196,
+ 39408 - 11905: 0xF197,
+ 39409 - 11905: 0xF198,
+ 39410 - 11905: 0xF199,
+ 39411 - 11905: 0xF19A,
+ 39412 - 11905: 0xF19B,
+ 39413 - 11905: 0xF19C,
+ 39414 - 11905: 0xF19D,
+ 39415 - 11905: 0xF19E,
+ 39416 - 11905: 0xF19F,
+ 39417 - 11905: 0xF1A0,
+ 39418 - 11905: 0xF240,
+ 39419 - 11905: 0xF241,
+ 39420 - 11905: 0xF242,
+ 39421 - 11905: 0xF243,
+ 39422 - 11905: 0xF244,
+ 39423 - 11905: 0xF245,
+ 39424 - 11905: 0xF246,
+ 39425 - 11905: 0xF247,
+ 39426 - 11905: 0xF248,
+ 39427 - 11905: 0xF249,
+ 39428 - 11905: 0xF24A,
+ 39429 - 11905: 0xF24B,
+ 39430 - 11905: 0xF24C,
+ 39431 - 11905: 0xF24D,
+ 39432 - 11905: 0xF24E,
+ 39433 - 11905: 0xF24F,
+ 39434 - 11905: 0xF250,
+ 39435 - 11905: 0xF251,
+ 39436 - 11905: 0xF252,
+ 39437 - 11905: 0xF253,
+ 39438 - 11905: 0xF254,
+ 39439 - 11905: 0xF255,
+ 39440 - 11905: 0xF256,
+ 39441 - 11905: 0xF257,
+ 39442 - 11905: 0xF258,
+ 39443 - 11905: 0xF259,
+ 39444 - 11905: 0xF25A,
+ 39445 - 11905: 0xF25B,
+ 39446 - 11905: 0xF25C,
+ 39447 - 11905: 0xF25D,
+ 39448 - 11905: 0xF25E,
+ 39449 - 11905: 0xF25F,
+ 39450 - 11905: 0xF260,
+ 39451 - 11905: 0xF261,
+ 39452 - 11905: 0xF262,
+ 39453 - 11905: 0xF263,
+ 39454 - 11905: 0xF264,
+ 39455 - 11905: 0xF265,
+ 39456 - 11905: 0xF266,
+ 39457 - 11905: 0xF267,
+ 39458 - 11905: 0xF268,
+ 39459 - 11905: 0xF269,
+ 39460 - 11905: 0xF26A,
+ 39461 - 11905: 0xF26B,
+ 39462 - 11905: 0xF26C,
+ 39463 - 11905: 0xF26D,
+ 39464 - 11905: 0xF26E,
+ 39465 - 11905: 0xF26F,
+ 39466 - 11905: 0xF270,
+ 39467 - 11905: 0xF271,
+ 39468 - 11905: 0xF272,
+ 39469 - 11905: 0xF273,
+ 39470 - 11905: 0xF274,
+ 39471 - 11905: 0xF275,
+ 39472 - 11905: 0xF276,
+ 39473 - 11905: 0xF277,
+ 39474 - 11905: 0xF278,
+ 39475 - 11905: 0xF279,
+ 39476 - 11905: 0xF27A,
+ 39477 - 11905: 0xF27B,
+ 39478 - 11905: 0xF27C,
+ 39479 - 11905: 0xF27D,
+ 39480 - 11905: 0xF27E,
+ 39481 - 11905: 0xF280,
+ 39482 - 11905: 0xF281,
+ 39483 - 11905: 0xF282,
+ 39484 - 11905: 0xF283,
+ 39485 - 11905: 0xF284,
+ 39486 - 11905: 0xF285,
+ 39487 - 11905: 0xF286,
+ 39488 - 11905: 0xF287,
+ 39489 - 11905: 0xF288,
+ 39490 - 11905: 0xF289,
+ 39491 - 11905: 0xF28A,
+ 39492 - 11905: 0xF28B,
+ 39493 - 11905: 0xF28C,
+ 39494 - 11905: 0xF28D,
+ 39495 - 11905: 0xF28E,
+ 39496 - 11905: 0xF28F,
+ 39497 - 11905: 0xF290,
+ 39498 - 11905: 0xF291,
+ 39499 - 11905: 0xF292,
+ 39500 - 11905: 0xF293,
+ 39501 - 11905: 0xF294,
+ 39502 - 11905: 0xF295,
+ 39503 - 11905: 0xF296,
+ 39504 - 11905: 0xF297,
+ 39505 - 11905: 0xF298,
+ 39506 - 11905: 0xF299,
+ 39507 - 11905: 0xF29A,
+ 39508 - 11905: 0xF29B,
+ 39509 - 11905: 0xF29C,
+ 39510 - 11905: 0xF29D,
+ 39511 - 11905: 0xF29E,
+ 39512 - 11905: 0xF29F,
+ 39513 - 11905: 0xF2A0,
+ 39514 - 11905: 0xF340,
+ 39515 - 11905: 0xF341,
+ 39516 - 11905: 0xF342,
+ 39517 - 11905: 0xF343,
+ 39518 - 11905: 0xF344,
+ 39519 - 11905: 0xF345,
+ 39520 - 11905: 0xF346,
+ 39521 - 11905: 0xF347,
+ 39522 - 11905: 0xF348,
+ 39523 - 11905: 0xF349,
+ 39524 - 11905: 0xF34A,
+ 39525 - 11905: 0xF34B,
+ 39526 - 11905: 0xF34C,
+ 39527 - 11905: 0xF34D,
+ 39528 - 11905: 0xF34E,
+ 39529 - 11905: 0xF34F,
+ 39530 - 11905: 0xF350,
+ 39531 - 11905: 0xF351,
+ 39532 - 11905: 0xC2ED,
+ 39533 - 11905: 0xD4A6,
+ 39534 - 11905: 0xCDD4,
+ 39535 - 11905: 0xD1B1,
+ 39536 - 11905: 0xB3DB,
+ 39537 - 11905: 0xC7FD,
+ 39538 - 11905: 0xF352,
+ 39539 - 11905: 0xB2B5,
+ 39540 - 11905: 0xC2BF,
+ 39541 - 11905: 0xE6E0,
+ 39542 - 11905: 0xCABB,
+ 39543 - 11905: 0xE6E1,
+ 39544 - 11905: 0xE6E2,
+ 39545 - 11905: 0xBED4,
+ 39546 - 11905: 0xE6E3,
+ 39547 - 11905: 0xD7A4,
+ 39548 - 11905: 0xCDD5,
+ 39549 - 11905: 0xE6E5,
+ 39550 - 11905: 0xBCDD,
+ 39551 - 11905: 0xE6E4,
+ 39552 - 11905: 0xE6E6,
+ 39553 - 11905: 0xE6E7,
+ 39554 - 11905: 0xC2EE,
+ 39555 - 11905: 0xF353,
+ 39556 - 11905: 0xBDBE,
+ 39557 - 11905: 0xE6E8,
+ 39558 - 11905: 0xC2E6,
+ 39559 - 11905: 0xBAA7,
+ 39560 - 11905: 0xE6E9,
+ 39561 - 11905: 0xF354,
+ 39562 - 11905: 0xE6EA,
+ 39563 - 11905: 0xB3D2,
+ 39564 - 11905: 0xD1E9,
+ 39565 - 11905: 0xF355,
+ 39566 - 11905: 0xF356,
+ 39567 - 11905: 0xBFA5,
+ 39568 - 11905: 0xE6EB,
+ 39569 - 11905: 0xC6EF,
+ 39570 - 11905: 0xE6EC,
+ 39571 - 11905: 0xE6ED,
+ 39572 - 11905: 0xF357,
+ 39573 - 11905: 0xF358,
+ 39574 - 11905: 0xE6EE,
+ 39575 - 11905: 0xC6AD,
+ 39576 - 11905: 0xE6EF,
+ 39577 - 11905: 0xF359,
+ 39578 - 11905: 0xC9A7,
+ 39579 - 11905: 0xE6F0,
+ 39580 - 11905: 0xE6F1,
+ 39581 - 11905: 0xE6F2,
+ 39582 - 11905: 0xE5B9,
+ 39583 - 11905: 0xE6F3,
+ 39584 - 11905: 0xE6F4,
+ 39585 - 11905: 0xC2E2,
+ 39586 - 11905: 0xE6F5,
+ 39587 - 11905: 0xE6F6,
+ 39588 - 11905: 0xD6E8,
+ 39589 - 11905: 0xE6F7,
+ 39590 - 11905: 0xF35A,
+ 39591 - 11905: 0xE6F8,
+ 39592 - 11905: 0xB9C7,
+ 39593 - 11905: 0xF35B,
+ 39594 - 11905: 0xF35C,
+ 39595 - 11905: 0xF35D,
+ 39596 - 11905: 0xF35E,
+ 39597 - 11905: 0xF35F,
+ 39598 - 11905: 0xF360,
+ 39599 - 11905: 0xF361,
+ 39600 - 11905: 0xF7BB,
+ 39601 - 11905: 0xF7BA,
+ 39602 - 11905: 0xF362,
+ 39603 - 11905: 0xF363,
+ 39604 - 11905: 0xF364,
+ 39605 - 11905: 0xF365,
+ 39606 - 11905: 0xF7BE,
+ 39607 - 11905: 0xF7BC,
+ 39608 - 11905: 0xBAA1,
+ 39609 - 11905: 0xF366,
+ 39610 - 11905: 0xF7BF,
+ 39611 - 11905: 0xF367,
+ 39612 - 11905: 0xF7C0,
+ 39613 - 11905: 0xF368,
+ 39614 - 11905: 0xF369,
+ 39615 - 11905: 0xF36A,
+ 39616 - 11905: 0xF7C2,
+ 39617 - 11905: 0xF7C1,
+ 39618 - 11905: 0xF7C4,
+ 39619 - 11905: 0xF36B,
+ 39620 - 11905: 0xF36C,
+ 39621 - 11905: 0xF7C3,
+ 39622 - 11905: 0xF36D,
+ 39623 - 11905: 0xF36E,
+ 39624 - 11905: 0xF36F,
+ 39625 - 11905: 0xF370,
+ 39626 - 11905: 0xF371,
+ 39627 - 11905: 0xF7C5,
+ 39628 - 11905: 0xF7C6,
+ 39629 - 11905: 0xF372,
+ 39630 - 11905: 0xF373,
+ 39631 - 11905: 0xF374,
+ 39632 - 11905: 0xF375,
+ 39633 - 11905: 0xF7C7,
+ 39634 - 11905: 0xF376,
+ 39635 - 11905: 0xCBE8,
+ 39636 - 11905: 0xF377,
+ 39637 - 11905: 0xF378,
+ 39638 - 11905: 0xF379,
+ 39639 - 11905: 0xF37A,
+ 39640 - 11905: 0xB8DF,
+ 39641 - 11905: 0xF37B,
+ 39642 - 11905: 0xF37C,
+ 39643 - 11905: 0xF37D,
+ 39644 - 11905: 0xF37E,
+ 39645 - 11905: 0xF380,
+ 39646 - 11905: 0xF381,
+ 39647 - 11905: 0xF7D4,
+ 39648 - 11905: 0xF382,
+ 39649 - 11905: 0xF7D5,
+ 39650 - 11905: 0xF383,
+ 39651 - 11905: 0xF384,
+ 39652 - 11905: 0xF385,
+ 39653 - 11905: 0xF386,
+ 39654 - 11905: 0xF7D6,
+ 39655 - 11905: 0xF387,
+ 39656 - 11905: 0xF388,
+ 39657 - 11905: 0xF389,
+ 39658 - 11905: 0xF38A,
+ 39659 - 11905: 0xF7D8,
+ 39660 - 11905: 0xF38B,
+ 39661 - 11905: 0xF7DA,
+ 39662 - 11905: 0xF38C,
+ 39663 - 11905: 0xF7D7,
+ 39664 - 11905: 0xF38D,
+ 39665 - 11905: 0xF38E,
+ 39666 - 11905: 0xF38F,
+ 39667 - 11905: 0xF390,
+ 39668 - 11905: 0xF391,
+ 39669 - 11905: 0xF392,
+ 39670 - 11905: 0xF393,
+ 39671 - 11905: 0xF394,
+ 39672 - 11905: 0xF395,
+ 39673 - 11905: 0xF7DB,
+ 39674 - 11905: 0xF396,
+ 39675 - 11905: 0xF7D9,
+ 39676 - 11905: 0xF397,
+ 39677 - 11905: 0xF398,
+ 39678 - 11905: 0xF399,
+ 39679 - 11905: 0xF39A,
+ 39680 - 11905: 0xF39B,
+ 39681 - 11905: 0xF39C,
+ 39682 - 11905: 0xF39D,
+ 39683 - 11905: 0xD7D7,
+ 39684 - 11905: 0xF39E,
+ 39685 - 11905: 0xF39F,
+ 39686 - 11905: 0xF3A0,
+ 39687 - 11905: 0xF440,
+ 39688 - 11905: 0xF7DC,
+ 39689 - 11905: 0xF441,
+ 39690 - 11905: 0xF442,
+ 39691 - 11905: 0xF443,
+ 39692 - 11905: 0xF444,
+ 39693 - 11905: 0xF445,
+ 39694 - 11905: 0xF446,
+ 39695 - 11905: 0xF7DD,
+ 39696 - 11905: 0xF447,
+ 39697 - 11905: 0xF448,
+ 39698 - 11905: 0xF449,
+ 39699 - 11905: 0xF7DE,
+ 39700 - 11905: 0xF44A,
+ 39701 - 11905: 0xF44B,
+ 39702 - 11905: 0xF44C,
+ 39703 - 11905: 0xF44D,
+ 39704 - 11905: 0xF44E,
+ 39705 - 11905: 0xF44F,
+ 39706 - 11905: 0xF450,
+ 39707 - 11905: 0xF451,
+ 39708 - 11905: 0xF452,
+ 39709 - 11905: 0xF453,
+ 39710 - 11905: 0xF454,
+ 39711 - 11905: 0xF7DF,
+ 39712 - 11905: 0xF455,
+ 39713 - 11905: 0xF456,
+ 39714 - 11905: 0xF457,
+ 39715 - 11905: 0xF7E0,
+ 39716 - 11905: 0xF458,
+ 39717 - 11905: 0xF459,
+ 39718 - 11905: 0xF45A,
+ 39719 - 11905: 0xF45B,
+ 39720 - 11905: 0xF45C,
+ 39721 - 11905: 0xF45D,
+ 39722 - 11905: 0xF45E,
+ 39723 - 11905: 0xF45F,
+ 39724 - 11905: 0xF460,
+ 39725 - 11905: 0xF461,
+ 39726 - 11905: 0xF462,
+ 39727 - 11905: 0xDBCB,
+ 39728 - 11905: 0xF463,
+ 39729 - 11905: 0xF464,
+ 39730 - 11905: 0xD8AA,
+ 39731 - 11905: 0xF465,
+ 39732 - 11905: 0xF466,
+ 39733 - 11905: 0xF467,
+ 39734 - 11905: 0xF468,
+ 39735 - 11905: 0xF469,
+ 39736 - 11905: 0xF46A,
+ 39737 - 11905: 0xF46B,
+ 39738 - 11905: 0xF46C,
+ 39739 - 11905: 0xE5F7,
+ 39740 - 11905: 0xB9ED,
+ 39741 - 11905: 0xF46D,
+ 39742 - 11905: 0xF46E,
+ 39743 - 11905: 0xF46F,
+ 39744 - 11905: 0xF470,
+ 39745 - 11905: 0xBFFD,
+ 39746 - 11905: 0xBBEA,
+ 39747 - 11905: 0xF7C9,
+ 39748 - 11905: 0xC6C7,
+ 39749 - 11905: 0xF7C8,
+ 39750 - 11905: 0xF471,
+ 39751 - 11905: 0xF7CA,
+ 39752 - 11905: 0xF7CC,
+ 39753 - 11905: 0xF7CB,
+ 39754 - 11905: 0xF472,
+ 39755 - 11905: 0xF473,
+ 39756 - 11905: 0xF474,
+ 39757 - 11905: 0xF7CD,
+ 39758 - 11905: 0xF475,
+ 39759 - 11905: 0xCEBA,
+ 39760 - 11905: 0xF476,
+ 39761 - 11905: 0xF7CE,
+ 39762 - 11905: 0xF477,
+ 39763 - 11905: 0xF478,
+ 39764 - 11905: 0xC4A7,
+ 39765 - 11905: 0xF479,
+ 39766 - 11905: 0xF47A,
+ 39767 - 11905: 0xF47B,
+ 39768 - 11905: 0xF47C,
+ 39769 - 11905: 0xF47D,
+ 39770 - 11905: 0xF47E,
+ 39771 - 11905: 0xF480,
+ 39772 - 11905: 0xF481,
+ 39773 - 11905: 0xF482,
+ 39774 - 11905: 0xF483,
+ 39775 - 11905: 0xF484,
+ 39776 - 11905: 0xF485,
+ 39777 - 11905: 0xF486,
+ 39778 - 11905: 0xF487,
+ 39779 - 11905: 0xF488,
+ 39780 - 11905: 0xF489,
+ 39781 - 11905: 0xF48A,
+ 39782 - 11905: 0xF48B,
+ 39783 - 11905: 0xF48C,
+ 39784 - 11905: 0xF48D,
+ 39785 - 11905: 0xF48E,
+ 39786 - 11905: 0xF48F,
+ 39787 - 11905: 0xF490,
+ 39788 - 11905: 0xF491,
+ 39789 - 11905: 0xF492,
+ 39790 - 11905: 0xF493,
+ 39791 - 11905: 0xF494,
+ 39792 - 11905: 0xF495,
+ 39793 - 11905: 0xF496,
+ 39794 - 11905: 0xF497,
+ 39795 - 11905: 0xF498,
+ 39796 - 11905: 0xF499,
+ 39797 - 11905: 0xF49A,
+ 39798 - 11905: 0xF49B,
+ 39799 - 11905: 0xF49C,
+ 39800 - 11905: 0xF49D,
+ 39801 - 11905: 0xF49E,
+ 39802 - 11905: 0xF49F,
+ 39803 - 11905: 0xF4A0,
+ 39804 - 11905: 0xF540,
+ 39805 - 11905: 0xF541,
+ 39806 - 11905: 0xF542,
+ 39807 - 11905: 0xF543,
+ 39808 - 11905: 0xF544,
+ 39809 - 11905: 0xF545,
+ 39810 - 11905: 0xF546,
+ 39811 - 11905: 0xF547,
+ 39812 - 11905: 0xF548,
+ 39813 - 11905: 0xF549,
+ 39814 - 11905: 0xF54A,
+ 39815 - 11905: 0xF54B,
+ 39816 - 11905: 0xF54C,
+ 39817 - 11905: 0xF54D,
+ 39818 - 11905: 0xF54E,
+ 39819 - 11905: 0xF54F,
+ 39820 - 11905: 0xF550,
+ 39821 - 11905: 0xF551,
+ 39822 - 11905: 0xF552,
+ 39823 - 11905: 0xF553,
+ 39824 - 11905: 0xF554,
+ 39825 - 11905: 0xF555,
+ 39826 - 11905: 0xF556,
+ 39827 - 11905: 0xF557,
+ 39828 - 11905: 0xF558,
+ 39829 - 11905: 0xF559,
+ 39830 - 11905: 0xF55A,
+ 39831 - 11905: 0xF55B,
+ 39832 - 11905: 0xF55C,
+ 39833 - 11905: 0xF55D,
+ 39834 - 11905: 0xF55E,
+ 39835 - 11905: 0xF55F,
+ 39836 - 11905: 0xF560,
+ 39837 - 11905: 0xF561,
+ 39838 - 11905: 0xF562,
+ 39839 - 11905: 0xF563,
+ 39840 - 11905: 0xF564,
+ 39841 - 11905: 0xF565,
+ 39842 - 11905: 0xF566,
+ 39843 - 11905: 0xF567,
+ 39844 - 11905: 0xF568,
+ 39845 - 11905: 0xF569,
+ 39846 - 11905: 0xF56A,
+ 39847 - 11905: 0xF56B,
+ 39848 - 11905: 0xF56C,
+ 39849 - 11905: 0xF56D,
+ 39850 - 11905: 0xF56E,
+ 39851 - 11905: 0xF56F,
+ 39852 - 11905: 0xF570,
+ 39853 - 11905: 0xF571,
+ 39854 - 11905: 0xF572,
+ 39855 - 11905: 0xF573,
+ 39856 - 11905: 0xF574,
+ 39857 - 11905: 0xF575,
+ 39858 - 11905: 0xF576,
+ 39859 - 11905: 0xF577,
+ 39860 - 11905: 0xF578,
+ 39861 - 11905: 0xF579,
+ 39862 - 11905: 0xF57A,
+ 39863 - 11905: 0xF57B,
+ 39864 - 11905: 0xF57C,
+ 39865 - 11905: 0xF57D,
+ 39866 - 11905: 0xF57E,
+ 39867 - 11905: 0xF580,
+ 39868 - 11905: 0xF581,
+ 39869 - 11905: 0xF582,
+ 39870 - 11905: 0xF583,
+ 39871 - 11905: 0xF584,
+ 39872 - 11905: 0xF585,
+ 39873 - 11905: 0xF586,
+ 39874 - 11905: 0xF587,
+ 39875 - 11905: 0xF588,
+ 39876 - 11905: 0xF589,
+ 39877 - 11905: 0xF58A,
+ 39878 - 11905: 0xF58B,
+ 39879 - 11905: 0xF58C,
+ 39880 - 11905: 0xF58D,
+ 39881 - 11905: 0xF58E,
+ 39882 - 11905: 0xF58F,
+ 39883 - 11905: 0xF590,
+ 39884 - 11905: 0xF591,
+ 39885 - 11905: 0xF592,
+ 39886 - 11905: 0xF593,
+ 39887 - 11905: 0xF594,
+ 39888 - 11905: 0xF595,
+ 39889 - 11905: 0xF596,
+ 39890 - 11905: 0xF597,
+ 39891 - 11905: 0xF598,
+ 39892 - 11905: 0xF599,
+ 39893 - 11905: 0xF59A,
+ 39894 - 11905: 0xF59B,
+ 39895 - 11905: 0xF59C,
+ 39896 - 11905: 0xF59D,
+ 39897 - 11905: 0xF59E,
+ 39898 - 11905: 0xF59F,
+ 39899 - 11905: 0xF5A0,
+ 39900 - 11905: 0xF640,
+ 39901 - 11905: 0xF641,
+ 39902 - 11905: 0xF642,
+ 39903 - 11905: 0xF643,
+ 39904 - 11905: 0xF644,
+ 39905 - 11905: 0xF645,
+ 39906 - 11905: 0xF646,
+ 39907 - 11905: 0xF647,
+ 39908 - 11905: 0xF648,
+ 39909 - 11905: 0xF649,
+ 39910 - 11905: 0xF64A,
+ 39911 - 11905: 0xF64B,
+ 39912 - 11905: 0xF64C,
+ 39913 - 11905: 0xF64D,
+ 39914 - 11905: 0xF64E,
+ 39915 - 11905: 0xF64F,
+ 39916 - 11905: 0xF650,
+ 39917 - 11905: 0xF651,
+ 39918 - 11905: 0xF652,
+ 39919 - 11905: 0xF653,
+ 39920 - 11905: 0xF654,
+ 39921 - 11905: 0xF655,
+ 39922 - 11905: 0xF656,
+ 39923 - 11905: 0xF657,
+ 39924 - 11905: 0xF658,
+ 39925 - 11905: 0xF659,
+ 39926 - 11905: 0xF65A,
+ 39927 - 11905: 0xF65B,
+ 39928 - 11905: 0xF65C,
+ 39929 - 11905: 0xF65D,
+ 39930 - 11905: 0xF65E,
+ 39931 - 11905: 0xF65F,
+ 39932 - 11905: 0xF660,
+ 39933 - 11905: 0xF661,
+ 39934 - 11905: 0xF662,
+ 39935 - 11905: 0xF663,
+ 39936 - 11905: 0xF664,
+ 39937 - 11905: 0xF665,
+ 39938 - 11905: 0xF666,
+ 39939 - 11905: 0xF667,
+ 39940 - 11905: 0xF668,
+ 39941 - 11905: 0xF669,
+ 39942 - 11905: 0xF66A,
+ 39943 - 11905: 0xF66B,
+ 39944 - 11905: 0xF66C,
+ 39945 - 11905: 0xF66D,
+ 39946 - 11905: 0xF66E,
+ 39947 - 11905: 0xF66F,
+ 39948 - 11905: 0xF670,
+ 39949 - 11905: 0xF671,
+ 39950 - 11905: 0xF672,
+ 39951 - 11905: 0xF673,
+ 39952 - 11905: 0xF674,
+ 39953 - 11905: 0xF675,
+ 39954 - 11905: 0xF676,
+ 39955 - 11905: 0xF677,
+ 39956 - 11905: 0xF678,
+ 39957 - 11905: 0xF679,
+ 39958 - 11905: 0xF67A,
+ 39959 - 11905: 0xF67B,
+ 39960 - 11905: 0xF67C,
+ 39961 - 11905: 0xF67D,
+ 39962 - 11905: 0xF67E,
+ 39963 - 11905: 0xF680,
+ 39964 - 11905: 0xF681,
+ 39965 - 11905: 0xF682,
+ 39966 - 11905: 0xF683,
+ 39967 - 11905: 0xF684,
+ 39968 - 11905: 0xF685,
+ 39969 - 11905: 0xF686,
+ 39970 - 11905: 0xF687,
+ 39971 - 11905: 0xF688,
+ 39972 - 11905: 0xF689,
+ 39973 - 11905: 0xF68A,
+ 39974 - 11905: 0xF68B,
+ 39975 - 11905: 0xF68C,
+ 39976 - 11905: 0xF68D,
+ 39977 - 11905: 0xF68E,
+ 39978 - 11905: 0xF68F,
+ 39979 - 11905: 0xF690,
+ 39980 - 11905: 0xF691,
+ 39981 - 11905: 0xF692,
+ 39982 - 11905: 0xF693,
+ 39983 - 11905: 0xF694,
+ 39984 - 11905: 0xF695,
+ 39985 - 11905: 0xF696,
+ 39986 - 11905: 0xF697,
+ 39987 - 11905: 0xF698,
+ 39988 - 11905: 0xF699,
+ 39989 - 11905: 0xF69A,
+ 39990 - 11905: 0xF69B,
+ 39991 - 11905: 0xF69C,
+ 39992 - 11905: 0xF69D,
+ 39993 - 11905: 0xF69E,
+ 39994 - 11905: 0xF69F,
+ 39995 - 11905: 0xF6A0,
+ 39996 - 11905: 0xF740,
+ 39997 - 11905: 0xF741,
+ 39998 - 11905: 0xF742,
+ 39999 - 11905: 0xF743,
+ 40000 - 11905: 0xF744,
+ 40001 - 11905: 0xF745,
+ 40002 - 11905: 0xF746,
+ 40003 - 11905: 0xF747,
+ 40004 - 11905: 0xF748,
+ 40005 - 11905: 0xF749,
+ 40006 - 11905: 0xF74A,
+ 40007 - 11905: 0xF74B,
+ 40008 - 11905: 0xF74C,
+ 40009 - 11905: 0xF74D,
+ 40010 - 11905: 0xF74E,
+ 40011 - 11905: 0xF74F,
+ 40012 - 11905: 0xF750,
+ 40013 - 11905: 0xF751,
+ 40014 - 11905: 0xF752,
+ 40015 - 11905: 0xF753,
+ 40016 - 11905: 0xF754,
+ 40017 - 11905: 0xF755,
+ 40018 - 11905: 0xF756,
+ 40019 - 11905: 0xF757,
+ 40020 - 11905: 0xF758,
+ 40021 - 11905: 0xF759,
+ 40022 - 11905: 0xF75A,
+ 40023 - 11905: 0xF75B,
+ 40024 - 11905: 0xF75C,
+ 40025 - 11905: 0xF75D,
+ 40026 - 11905: 0xF75E,
+ 40027 - 11905: 0xF75F,
+ 40028 - 11905: 0xF760,
+ 40029 - 11905: 0xF761,
+ 40030 - 11905: 0xF762,
+ 40031 - 11905: 0xF763,
+ 40032 - 11905: 0xF764,
+ 40033 - 11905: 0xF765,
+ 40034 - 11905: 0xF766,
+ 40035 - 11905: 0xF767,
+ 40036 - 11905: 0xF768,
+ 40037 - 11905: 0xF769,
+ 40038 - 11905: 0xF76A,
+ 40039 - 11905: 0xF76B,
+ 40040 - 11905: 0xF76C,
+ 40041 - 11905: 0xF76D,
+ 40042 - 11905: 0xF76E,
+ 40043 - 11905: 0xF76F,
+ 40044 - 11905: 0xF770,
+ 40045 - 11905: 0xF771,
+ 40046 - 11905: 0xF772,
+ 40047 - 11905: 0xF773,
+ 40048 - 11905: 0xF774,
+ 40049 - 11905: 0xF775,
+ 40050 - 11905: 0xF776,
+ 40051 - 11905: 0xF777,
+ 40052 - 11905: 0xF778,
+ 40053 - 11905: 0xF779,
+ 40054 - 11905: 0xF77A,
+ 40055 - 11905: 0xF77B,
+ 40056 - 11905: 0xF77C,
+ 40057 - 11905: 0xF77D,
+ 40058 - 11905: 0xF77E,
+ 40059 - 11905: 0xF780,
+ 40060 - 11905: 0xD3E3,
+ 40061 - 11905: 0xF781,
+ 40062 - 11905: 0xF782,
+ 40063 - 11905: 0xF6CF,
+ 40064 - 11905: 0xF783,
+ 40065 - 11905: 0xC2B3,
+ 40066 - 11905: 0xF6D0,
+ 40067 - 11905: 0xF784,
+ 40068 - 11905: 0xF785,
+ 40069 - 11905: 0xF6D1,
+ 40070 - 11905: 0xF6D2,
+ 40071 - 11905: 0xF6D3,
+ 40072 - 11905: 0xF6D4,
+ 40073 - 11905: 0xF786,
+ 40074 - 11905: 0xF787,
+ 40075 - 11905: 0xF6D6,
+ 40076 - 11905: 0xF788,
+ 40077 - 11905: 0xB1AB,
+ 40078 - 11905: 0xF6D7,
+ 40079 - 11905: 0xF789,
+ 40080 - 11905: 0xF6D8,
+ 40081 - 11905: 0xF6D9,
+ 40082 - 11905: 0xF6DA,
+ 40083 - 11905: 0xF78A,
+ 40084 - 11905: 0xF6DB,
+ 40085 - 11905: 0xF6DC,
+ 40086 - 11905: 0xF78B,
+ 40087 - 11905: 0xF78C,
+ 40088 - 11905: 0xF78D,
+ 40089 - 11905: 0xF78E,
+ 40090 - 11905: 0xF6DD,
+ 40091 - 11905: 0xF6DE,
+ 40092 - 11905: 0xCFCA,
+ 40093 - 11905: 0xF78F,
+ 40094 - 11905: 0xF6DF,
+ 40095 - 11905: 0xF6E0,
+ 40096 - 11905: 0xF6E1,
+ 40097 - 11905: 0xF6E2,
+ 40098 - 11905: 0xF6E3,
+ 40099 - 11905: 0xF6E4,
+ 40100 - 11905: 0xC0F0,
+ 40101 - 11905: 0xF6E5,
+ 40102 - 11905: 0xF6E6,
+ 40103 - 11905: 0xF6E7,
+ 40104 - 11905: 0xF6E8,
+ 40105 - 11905: 0xF6E9,
+ 40106 - 11905: 0xF790,
+ 40107 - 11905: 0xF6EA,
+ 40108 - 11905: 0xF791,
+ 40109 - 11905: 0xF6EB,
+ 40110 - 11905: 0xF6EC,
+ 40111 - 11905: 0xF792,
+ 40112 - 11905: 0xF6ED,
+ 40113 - 11905: 0xF6EE,
+ 40114 - 11905: 0xF6EF,
+ 40115 - 11905: 0xF6F0,
+ 40116 - 11905: 0xF6F1,
+ 40117 - 11905: 0xF6F2,
+ 40118 - 11905: 0xF6F3,
+ 40119 - 11905: 0xF6F4,
+ 40120 - 11905: 0xBEA8,
+ 40121 - 11905: 0xF793,
+ 40122 - 11905: 0xF6F5,
+ 40123 - 11905: 0xF6F6,
+ 40124 - 11905: 0xF6F7,
+ 40125 - 11905: 0xF6F8,
+ 40126 - 11905: 0xF794,
+ 40127 - 11905: 0xF795,
+ 40128 - 11905: 0xF796,
+ 40129 - 11905: 0xF797,
+ 40130 - 11905: 0xF798,
+ 40131 - 11905: 0xC8FA,
+ 40132 - 11905: 0xF6F9,
+ 40133 - 11905: 0xF6FA,
+ 40134 - 11905: 0xF6FB,
+ 40135 - 11905: 0xF6FC,
+ 40136 - 11905: 0xF799,
+ 40137 - 11905: 0xF79A,
+ 40138 - 11905: 0xF6FD,
+ 40139 - 11905: 0xF6FE,
+ 40140 - 11905: 0xF7A1,
+ 40141 - 11905: 0xF7A2,
+ 40142 - 11905: 0xF7A3,
+ 40143 - 11905: 0xF7A4,
+ 40144 - 11905: 0xF7A5,
+ 40145 - 11905: 0xF79B,
+ 40146 - 11905: 0xF79C,
+ 40147 - 11905: 0xF7A6,
+ 40148 - 11905: 0xF7A7,
+ 40149 - 11905: 0xF7A8,
+ 40150 - 11905: 0xB1EE,
+ 40151 - 11905: 0xF7A9,
+ 40152 - 11905: 0xF7AA,
+ 40153 - 11905: 0xF7AB,
+ 40154 - 11905: 0xF79D,
+ 40155 - 11905: 0xF79E,
+ 40156 - 11905: 0xF7AC,
+ 40157 - 11905: 0xF7AD,
+ 40158 - 11905: 0xC1DB,
+ 40159 - 11905: 0xF7AE,
+ 40160 - 11905: 0xF79F,
+ 40161 - 11905: 0xF7A0,
+ 40162 - 11905: 0xF7AF,
+ 40163 - 11905: 0xF840,
+ 40164 - 11905: 0xF841,
+ 40165 - 11905: 0xF842,
+ 40166 - 11905: 0xF843,
+ 40167 - 11905: 0xF844,
+ 40168 - 11905: 0xF845,
+ 40169 - 11905: 0xF846,
+ 40170 - 11905: 0xF847,
+ 40171 - 11905: 0xF848,
+ 40172 - 11905: 0xF849,
+ 40173 - 11905: 0xF84A,
+ 40174 - 11905: 0xF84B,
+ 40175 - 11905: 0xF84C,
+ 40176 - 11905: 0xF84D,
+ 40177 - 11905: 0xF84E,
+ 40178 - 11905: 0xF84F,
+ 40179 - 11905: 0xF850,
+ 40180 - 11905: 0xF851,
+ 40181 - 11905: 0xF852,
+ 40182 - 11905: 0xF853,
+ 40183 - 11905: 0xF854,
+ 40184 - 11905: 0xF855,
+ 40185 - 11905: 0xF856,
+ 40186 - 11905: 0xF857,
+ 40187 - 11905: 0xF858,
+ 40188 - 11905: 0xF859,
+ 40189 - 11905: 0xF85A,
+ 40190 - 11905: 0xF85B,
+ 40191 - 11905: 0xF85C,
+ 40192 - 11905: 0xF85D,
+ 40193 - 11905: 0xF85E,
+ 40194 - 11905: 0xF85F,
+ 40195 - 11905: 0xF860,
+ 40196 - 11905: 0xF861,
+ 40197 - 11905: 0xF862,
+ 40198 - 11905: 0xF863,
+ 40199 - 11905: 0xF864,
+ 40200 - 11905: 0xF865,
+ 40201 - 11905: 0xF866,
+ 40202 - 11905: 0xF867,
+ 40203 - 11905: 0xF868,
+ 40204 - 11905: 0xF869,
+ 40205 - 11905: 0xF86A,
+ 40206 - 11905: 0xF86B,
+ 40207 - 11905: 0xF86C,
+ 40208 - 11905: 0xF86D,
+ 40209 - 11905: 0xF86E,
+ 40210 - 11905: 0xF86F,
+ 40211 - 11905: 0xF870,
+ 40212 - 11905: 0xF871,
+ 40213 - 11905: 0xF872,
+ 40214 - 11905: 0xF873,
+ 40215 - 11905: 0xF874,
+ 40216 - 11905: 0xF875,
+ 40217 - 11905: 0xF876,
+ 40218 - 11905: 0xF877,
+ 40219 - 11905: 0xF878,
+ 40220 - 11905: 0xF879,
+ 40221 - 11905: 0xF87A,
+ 40222 - 11905: 0xF87B,
+ 40223 - 11905: 0xF87C,
+ 40224 - 11905: 0xF87D,
+ 40225 - 11905: 0xF87E,
+ 40226 - 11905: 0xF880,
+ 40227 - 11905: 0xF881,
+ 40228 - 11905: 0xF882,
+ 40229 - 11905: 0xF883,
+ 40230 - 11905: 0xF884,
+ 40231 - 11905: 0xF885,
+ 40232 - 11905: 0xF886,
+ 40233 - 11905: 0xF887,
+ 40234 - 11905: 0xF888,
+ 40235 - 11905: 0xF889,
+ 40236 - 11905: 0xF88A,
+ 40237 - 11905: 0xF88B,
+ 40238 - 11905: 0xF88C,
+ 40239 - 11905: 0xF88D,
+ 40240 - 11905: 0xF88E,
+ 40241 - 11905: 0xF88F,
+ 40242 - 11905: 0xF890,
+ 40243 - 11905: 0xF891,
+ 40244 - 11905: 0xF892,
+ 40245 - 11905: 0xF893,
+ 40246 - 11905: 0xF894,
+ 40247 - 11905: 0xF895,
+ 40248 - 11905: 0xF896,
+ 40249 - 11905: 0xF897,
+ 40250 - 11905: 0xF898,
+ 40251 - 11905: 0xF899,
+ 40252 - 11905: 0xF89A,
+ 40253 - 11905: 0xF89B,
+ 40254 - 11905: 0xF89C,
+ 40255 - 11905: 0xF89D,
+ 40256 - 11905: 0xF89E,
+ 40257 - 11905: 0xF89F,
+ 40258 - 11905: 0xF8A0,
+ 40259 - 11905: 0xF940,
+ 40260 - 11905: 0xF941,
+ 40261 - 11905: 0xF942,
+ 40262 - 11905: 0xF943,
+ 40263 - 11905: 0xF944,
+ 40264 - 11905: 0xF945,
+ 40265 - 11905: 0xF946,
+ 40266 - 11905: 0xF947,
+ 40267 - 11905: 0xF948,
+ 40268 - 11905: 0xF949,
+ 40269 - 11905: 0xF94A,
+ 40270 - 11905: 0xF94B,
+ 40271 - 11905: 0xF94C,
+ 40272 - 11905: 0xF94D,
+ 40273 - 11905: 0xF94E,
+ 40274 - 11905: 0xF94F,
+ 40275 - 11905: 0xF950,
+ 40276 - 11905: 0xF951,
+ 40277 - 11905: 0xF952,
+ 40278 - 11905: 0xF953,
+ 40279 - 11905: 0xF954,
+ 40280 - 11905: 0xF955,
+ 40281 - 11905: 0xF956,
+ 40282 - 11905: 0xF957,
+ 40283 - 11905: 0xF958,
+ 40284 - 11905: 0xF959,
+ 40285 - 11905: 0xF95A,
+ 40286 - 11905: 0xF95B,
+ 40287 - 11905: 0xF95C,
+ 40288 - 11905: 0xF95D,
+ 40289 - 11905: 0xF95E,
+ 40290 - 11905: 0xF95F,
+ 40291 - 11905: 0xF960,
+ 40292 - 11905: 0xF961,
+ 40293 - 11905: 0xF962,
+ 40294 - 11905: 0xF963,
+ 40295 - 11905: 0xF964,
+ 40296 - 11905: 0xF965,
+ 40297 - 11905: 0xF966,
+ 40298 - 11905: 0xF967,
+ 40299 - 11905: 0xF968,
+ 40300 - 11905: 0xF969,
+ 40301 - 11905: 0xF96A,
+ 40302 - 11905: 0xF96B,
+ 40303 - 11905: 0xF96C,
+ 40304 - 11905: 0xF96D,
+ 40305 - 11905: 0xF96E,
+ 40306 - 11905: 0xF96F,
+ 40307 - 11905: 0xF970,
+ 40308 - 11905: 0xF971,
+ 40309 - 11905: 0xF972,
+ 40310 - 11905: 0xF973,
+ 40311 - 11905: 0xF974,
+ 40312 - 11905: 0xF975,
+ 40313 - 11905: 0xF976,
+ 40314 - 11905: 0xF977,
+ 40315 - 11905: 0xF978,
+ 40316 - 11905: 0xF979,
+ 40317 - 11905: 0xF97A,
+ 40318 - 11905: 0xF97B,
+ 40319 - 11905: 0xF97C,
+ 40320 - 11905: 0xF97D,
+ 40321 - 11905: 0xF97E,
+ 40322 - 11905: 0xF980,
+ 40323 - 11905: 0xF981,
+ 40324 - 11905: 0xF982,
+ 40325 - 11905: 0xF983,
+ 40326 - 11905: 0xF984,
+ 40327 - 11905: 0xF985,
+ 40328 - 11905: 0xF986,
+ 40329 - 11905: 0xF987,
+ 40330 - 11905: 0xF988,
+ 40331 - 11905: 0xF989,
+ 40332 - 11905: 0xF98A,
+ 40333 - 11905: 0xF98B,
+ 40334 - 11905: 0xF98C,
+ 40335 - 11905: 0xF98D,
+ 40336 - 11905: 0xF98E,
+ 40337 - 11905: 0xF98F,
+ 40338 - 11905: 0xF990,
+ 40339 - 11905: 0xF991,
+ 40340 - 11905: 0xF992,
+ 40341 - 11905: 0xF993,
+ 40342 - 11905: 0xF994,
+ 40343 - 11905: 0xF995,
+ 40344 - 11905: 0xF996,
+ 40345 - 11905: 0xF997,
+ 40346 - 11905: 0xF998,
+ 40347 - 11905: 0xF999,
+ 40348 - 11905: 0xF99A,
+ 40349 - 11905: 0xF99B,
+ 40350 - 11905: 0xF99C,
+ 40351 - 11905: 0xF99D,
+ 40352 - 11905: 0xF99E,
+ 40353 - 11905: 0xF99F,
+ 40354 - 11905: 0xF9A0,
+ 40355 - 11905: 0xFA40,
+ 40356 - 11905: 0xFA41,
+ 40357 - 11905: 0xFA42,
+ 40358 - 11905: 0xFA43,
+ 40359 - 11905: 0xFA44,
+ 40360 - 11905: 0xFA45,
+ 40361 - 11905: 0xFA46,
+ 40362 - 11905: 0xFA47,
+ 40363 - 11905: 0xFA48,
+ 40364 - 11905: 0xFA49,
+ 40365 - 11905: 0xFA4A,
+ 40366 - 11905: 0xFA4B,
+ 40367 - 11905: 0xFA4C,
+ 40368 - 11905: 0xFA4D,
+ 40369 - 11905: 0xFA4E,
+ 40370 - 11905: 0xFA4F,
+ 40371 - 11905: 0xFA50,
+ 40372 - 11905: 0xFA51,
+ 40373 - 11905: 0xFA52,
+ 40374 - 11905: 0xFA53,
+ 40375 - 11905: 0xFA54,
+ 40376 - 11905: 0xFA55,
+ 40377 - 11905: 0xFA56,
+ 40378 - 11905: 0xFA57,
+ 40379 - 11905: 0xFA58,
+ 40380 - 11905: 0xFA59,
+ 40381 - 11905: 0xFA5A,
+ 40382 - 11905: 0xFA5B,
+ 40383 - 11905: 0xFA5C,
+ 40384 - 11905: 0xFA5D,
+ 40385 - 11905: 0xFA5E,
+ 40386 - 11905: 0xFA5F,
+ 40387 - 11905: 0xFA60,
+ 40388 - 11905: 0xFA61,
+ 40389 - 11905: 0xFA62,
+ 40390 - 11905: 0xFA63,
+ 40391 - 11905: 0xFA64,
+ 40392 - 11905: 0xFA65,
+ 40393 - 11905: 0xFA66,
+ 40394 - 11905: 0xFA67,
+ 40395 - 11905: 0xFA68,
+ 40396 - 11905: 0xFA69,
+ 40397 - 11905: 0xFA6A,
+ 40398 - 11905: 0xFA6B,
+ 40399 - 11905: 0xFA6C,
+ 40400 - 11905: 0xFA6D,
+ 40401 - 11905: 0xFA6E,
+ 40402 - 11905: 0xFA6F,
+ 40403 - 11905: 0xFA70,
+ 40404 - 11905: 0xFA71,
+ 40405 - 11905: 0xFA72,
+ 40406 - 11905: 0xFA73,
+ 40407 - 11905: 0xFA74,
+ 40408 - 11905: 0xFA75,
+ 40409 - 11905: 0xFA76,
+ 40410 - 11905: 0xFA77,
+ 40411 - 11905: 0xFA78,
+ 40412 - 11905: 0xFA79,
+ 40413 - 11905: 0xFA7A,
+ 40414 - 11905: 0xFA7B,
+ 40415 - 11905: 0xFA7C,
+ 40416 - 11905: 0xFA7D,
+ 40417 - 11905: 0xFA7E,
+ 40418 - 11905: 0xFA80,
+ 40419 - 11905: 0xFA81,
+ 40420 - 11905: 0xFA82,
+ 40421 - 11905: 0xFA83,
+ 40422 - 11905: 0xFA84,
+ 40423 - 11905: 0xFA85,
+ 40424 - 11905: 0xFA86,
+ 40425 - 11905: 0xFA87,
+ 40426 - 11905: 0xFA88,
+ 40427 - 11905: 0xFA89,
+ 40428 - 11905: 0xFA8A,
+ 40429 - 11905: 0xFA8B,
+ 40430 - 11905: 0xFA8C,
+ 40431 - 11905: 0xFA8D,
+ 40432 - 11905: 0xFA8E,
+ 40433 - 11905: 0xFA8F,
+ 40434 - 11905: 0xFA90,
+ 40435 - 11905: 0xFA91,
+ 40436 - 11905: 0xFA92,
+ 40437 - 11905: 0xFA93,
+ 40438 - 11905: 0xFA94,
+ 40439 - 11905: 0xFA95,
+ 40440 - 11905: 0xFA96,
+ 40441 - 11905: 0xFA97,
+ 40442 - 11905: 0xFA98,
+ 40443 - 11905: 0xFA99,
+ 40444 - 11905: 0xFA9A,
+ 40445 - 11905: 0xFA9B,
+ 40446 - 11905: 0xFA9C,
+ 40447 - 11905: 0xFA9D,
+ 40448 - 11905: 0xFA9E,
+ 40449 - 11905: 0xFA9F,
+ 40450 - 11905: 0xFAA0,
+ 40451 - 11905: 0xFB40,
+ 40452 - 11905: 0xFB41,
+ 40453 - 11905: 0xFB42,
+ 40454 - 11905: 0xFB43,
+ 40455 - 11905: 0xFB44,
+ 40456 - 11905: 0xFB45,
+ 40457 - 11905: 0xFB46,
+ 40458 - 11905: 0xFB47,
+ 40459 - 11905: 0xFB48,
+ 40460 - 11905: 0xFB49,
+ 40461 - 11905: 0xFB4A,
+ 40462 - 11905: 0xFB4B,
+ 40463 - 11905: 0xFB4C,
+ 40464 - 11905: 0xFB4D,
+ 40465 - 11905: 0xFB4E,
+ 40466 - 11905: 0xFB4F,
+ 40467 - 11905: 0xFB50,
+ 40468 - 11905: 0xFB51,
+ 40469 - 11905: 0xFB52,
+ 40470 - 11905: 0xFB53,
+ 40471 - 11905: 0xFB54,
+ 40472 - 11905: 0xFB55,
+ 40473 - 11905: 0xFB56,
+ 40474 - 11905: 0xFB57,
+ 40475 - 11905: 0xFB58,
+ 40476 - 11905: 0xFB59,
+ 40477 - 11905: 0xFB5A,
+ 40478 - 11905: 0xFB5B,
+ 40479 - 11905: 0xC4F1,
+ 40480 - 11905: 0xF0AF,
+ 40481 - 11905: 0xBCA6,
+ 40482 - 11905: 0xF0B0,
+ 40483 - 11905: 0xC3F9,
+ 40484 - 11905: 0xFB5C,
+ 40485 - 11905: 0xC5B8,
+ 40486 - 11905: 0xD1BB,
+ 40487 - 11905: 0xFB5D,
+ 40488 - 11905: 0xF0B1,
+ 40489 - 11905: 0xF0B2,
+ 40490 - 11905: 0xF0B3,
+ 40491 - 11905: 0xF0B4,
+ 40492 - 11905: 0xF0B5,
+ 40493 - 11905: 0xD1BC,
+ 40494 - 11905: 0xFB5E,
+ 40495 - 11905: 0xD1EC,
+ 40496 - 11905: 0xFB5F,
+ 40497 - 11905: 0xF0B7,
+ 40498 - 11905: 0xF0B6,
+ 40499 - 11905: 0xD4A7,
+ 40500 - 11905: 0xFB60,
+ 40501 - 11905: 0xCDD2,
+ 40502 - 11905: 0xF0B8,
+ 40503 - 11905: 0xF0BA,
+ 40504 - 11905: 0xF0B9,
+ 40505 - 11905: 0xF0BB,
+ 40506 - 11905: 0xF0BC,
+ 40507 - 11905: 0xFB61,
+ 40508 - 11905: 0xFB62,
+ 40509 - 11905: 0xB8EB,
+ 40510 - 11905: 0xF0BD,
+ 40511 - 11905: 0xBAE8,
+ 40512 - 11905: 0xFB63,
+ 40513 - 11905: 0xF0BE,
+ 40514 - 11905: 0xF0BF,
+ 40515 - 11905: 0xBEE9,
+ 40516 - 11905: 0xF0C0,
+ 40517 - 11905: 0xB6EC,
+ 40518 - 11905: 0xF0C1,
+ 40519 - 11905: 0xF0C2,
+ 40520 - 11905: 0xF0C3,
+ 40521 - 11905: 0xF0C4,
+ 40522 - 11905: 0xC8B5,
+ 40523 - 11905: 0xF0C5,
+ 40524 - 11905: 0xF0C6,
+ 40525 - 11905: 0xFB64,
+ 40526 - 11905: 0xF0C7,
+ 40527 - 11905: 0xC5F4,
+ 40528 - 11905: 0xFB65,
+ 40529 - 11905: 0xF0C8,
+ 40530 - 11905: 0xFB66,
+ 40531 - 11905: 0xFB67,
+ 40532 - 11905: 0xFB68,
+ 40533 - 11905: 0xF0C9,
+ 40534 - 11905: 0xFB69,
+ 40535 - 11905: 0xF0CA,
+ 40536 - 11905: 0xF7BD,
+ 40537 - 11905: 0xFB6A,
+ 40538 - 11905: 0xF0CB,
+ 40539 - 11905: 0xF0CC,
+ 40540 - 11905: 0xF0CD,
+ 40541 - 11905: 0xFB6B,
+ 40542 - 11905: 0xF0CE,
+ 40543 - 11905: 0xFB6C,
+ 40544 - 11905: 0xFB6D,
+ 40545 - 11905: 0xFB6E,
+ 40546 - 11905: 0xFB6F,
+ 40547 - 11905: 0xF0CF,
+ 40548 - 11905: 0xBAD7,
+ 40549 - 11905: 0xFB70,
+ 40550 - 11905: 0xF0D0,
+ 40551 - 11905: 0xF0D1,
+ 40552 - 11905: 0xF0D2,
+ 40553 - 11905: 0xF0D3,
+ 40554 - 11905: 0xF0D4,
+ 40555 - 11905: 0xF0D5,
+ 40556 - 11905: 0xF0D6,
+ 40557 - 11905: 0xF0D8,
+ 40558 - 11905: 0xFB71,
+ 40559 - 11905: 0xFB72,
+ 40560 - 11905: 0xD3A5,
+ 40561 - 11905: 0xF0D7,
+ 40562 - 11905: 0xFB73,
+ 40563 - 11905: 0xF0D9,
+ 40564 - 11905: 0xFB74,
+ 40565 - 11905: 0xFB75,
+ 40566 - 11905: 0xFB76,
+ 40567 - 11905: 0xFB77,
+ 40568 - 11905: 0xFB78,
+ 40569 - 11905: 0xFB79,
+ 40570 - 11905: 0xFB7A,
+ 40571 - 11905: 0xFB7B,
+ 40572 - 11905: 0xFB7C,
+ 40573 - 11905: 0xFB7D,
+ 40574 - 11905: 0xF5BA,
+ 40575 - 11905: 0xC2B9,
+ 40576 - 11905: 0xFB7E,
+ 40577 - 11905: 0xFB80,
+ 40578 - 11905: 0xF7E4,
+ 40579 - 11905: 0xFB81,
+ 40580 - 11905: 0xFB82,
+ 40581 - 11905: 0xFB83,
+ 40582 - 11905: 0xFB84,
+ 40583 - 11905: 0xF7E5,
+ 40584 - 11905: 0xF7E6,
+ 40585 - 11905: 0xFB85,
+ 40586 - 11905: 0xFB86,
+ 40587 - 11905: 0xF7E7,
+ 40588 - 11905: 0xFB87,
+ 40589 - 11905: 0xFB88,
+ 40590 - 11905: 0xFB89,
+ 40591 - 11905: 0xFB8A,
+ 40592 - 11905: 0xFB8B,
+ 40593 - 11905: 0xFB8C,
+ 40594 - 11905: 0xF7E8,
+ 40595 - 11905: 0xC2B4,
+ 40596 - 11905: 0xFB8D,
+ 40597 - 11905: 0xFB8E,
+ 40598 - 11905: 0xFB8F,
+ 40599 - 11905: 0xFB90,
+ 40600 - 11905: 0xFB91,
+ 40601 - 11905: 0xFB92,
+ 40602 - 11905: 0xFB93,
+ 40603 - 11905: 0xFB94,
+ 40604 - 11905: 0xFB95,
+ 40605 - 11905: 0xF7EA,
+ 40606 - 11905: 0xFB96,
+ 40607 - 11905: 0xF7EB,
+ 40608 - 11905: 0xFB97,
+ 40609 - 11905: 0xFB98,
+ 40610 - 11905: 0xFB99,
+ 40611 - 11905: 0xFB9A,
+ 40612 - 11905: 0xFB9B,
+ 40613 - 11905: 0xFB9C,
+ 40614 - 11905: 0xC2F3,
+ 40615 - 11905: 0xFB9D,
+ 40616 - 11905: 0xFB9E,
+ 40617 - 11905: 0xFB9F,
+ 40618 - 11905: 0xFBA0,
+ 40619 - 11905: 0xFC40,
+ 40620 - 11905: 0xFC41,
+ 40621 - 11905: 0xFC42,
+ 40622 - 11905: 0xFC43,
+ 40623 - 11905: 0xFC44,
+ 40624 - 11905: 0xFC45,
+ 40625 - 11905: 0xFC46,
+ 40626 - 11905: 0xFC47,
+ 40627 - 11905: 0xFC48,
+ 40628 - 11905: 0xF4F0,
+ 40629 - 11905: 0xFC49,
+ 40630 - 11905: 0xFC4A,
+ 40631 - 11905: 0xFC4B,
+ 40632 - 11905: 0xF4EF,
+ 40633 - 11905: 0xFC4C,
+ 40634 - 11905: 0xFC4D,
+ 40635 - 11905: 0xC2E9,
+ 40636 - 11905: 0xFC4E,
+ 40637 - 11905: 0xF7E1,
+ 40638 - 11905: 0xF7E2,
+ 40639 - 11905: 0xFC4F,
+ 40640 - 11905: 0xFC50,
+ 40641 - 11905: 0xFC51,
+ 40642 - 11905: 0xFC52,
+ 40643 - 11905: 0xFC53,
+ 40644 - 11905: 0xBBC6,
+ 40645 - 11905: 0xFC54,
+ 40646 - 11905: 0xFC55,
+ 40647 - 11905: 0xFC56,
+ 40648 - 11905: 0xFC57,
+ 40649 - 11905: 0xD9E4,
+ 40650 - 11905: 0xFC58,
+ 40651 - 11905: 0xFC59,
+ 40652 - 11905: 0xFC5A,
+ 40653 - 11905: 0xCAF2,
+ 40654 - 11905: 0xC0E8,
+ 40655 - 11905: 0xF0A4,
+ 40656 - 11905: 0xFC5B,
+ 40657 - 11905: 0xBADA,
+ 40658 - 11905: 0xFC5C,
+ 40659 - 11905: 0xFC5D,
+ 40660 - 11905: 0xC7AD,
+ 40661 - 11905: 0xFC5E,
+ 40662 - 11905: 0xFC5F,
+ 40663 - 11905: 0xFC60,
+ 40664 - 11905: 0xC4AC,
+ 40665 - 11905: 0xFC61,
+ 40666 - 11905: 0xFC62,
+ 40667 - 11905: 0xF7EC,
+ 40668 - 11905: 0xF7ED,
+ 40669 - 11905: 0xF7EE,
+ 40670 - 11905: 0xFC63,
+ 40671 - 11905: 0xF7F0,
+ 40672 - 11905: 0xF7EF,
+ 40673 - 11905: 0xFC64,
+ 40674 - 11905: 0xF7F1,
+ 40675 - 11905: 0xFC65,
+ 40676 - 11905: 0xFC66,
+ 40677 - 11905: 0xF7F4,
+ 40678 - 11905: 0xFC67,
+ 40679 - 11905: 0xF7F3,
+ 40680 - 11905: 0xFC68,
+ 40681 - 11905: 0xF7F2,
+ 40682 - 11905: 0xF7F5,
+ 40683 - 11905: 0xFC69,
+ 40684 - 11905: 0xFC6A,
+ 40685 - 11905: 0xFC6B,
+ 40686 - 11905: 0xFC6C,
+ 40687 - 11905: 0xF7F6,
+ 40688 - 11905: 0xFC6D,
+ 40689 - 11905: 0xFC6E,
+ 40690 - 11905: 0xFC6F,
+ 40691 - 11905: 0xFC70,
+ 40692 - 11905: 0xFC71,
+ 40693 - 11905: 0xFC72,
+ 40694 - 11905: 0xFC73,
+ 40695 - 11905: 0xFC74,
+ 40696 - 11905: 0xFC75,
+ 40697 - 11905: 0xEDE9,
+ 40698 - 11905: 0xFC76,
+ 40699 - 11905: 0xEDEA,
+ 40700 - 11905: 0xEDEB,
+ 40701 - 11905: 0xFC77,
+ 40702 - 11905: 0xF6BC,
+ 40703 - 11905: 0xFC78,
+ 40704 - 11905: 0xFC79,
+ 40705 - 11905: 0xFC7A,
+ 40706 - 11905: 0xFC7B,
+ 40707 - 11905: 0xFC7C,
+ 40708 - 11905: 0xFC7D,
+ 40709 - 11905: 0xFC7E,
+ 40710 - 11905: 0xFC80,
+ 40711 - 11905: 0xFC81,
+ 40712 - 11905: 0xFC82,
+ 40713 - 11905: 0xFC83,
+ 40714 - 11905: 0xFC84,
+ 40715 - 11905: 0xF6BD,
+ 40716 - 11905: 0xFC85,
+ 40717 - 11905: 0xF6BE,
+ 40718 - 11905: 0xB6A6,
+ 40719 - 11905: 0xFC86,
+ 40720 - 11905: 0xD8BE,
+ 40721 - 11905: 0xFC87,
+ 40722 - 11905: 0xFC88,
+ 40723 - 11905: 0xB9C4,
+ 40724 - 11905: 0xFC89,
+ 40725 - 11905: 0xFC8A,
+ 40726 - 11905: 0xFC8B,
+ 40727 - 11905: 0xD8BB,
+ 40728 - 11905: 0xFC8C,
+ 40729 - 11905: 0xDCB1,
+ 40730 - 11905: 0xFC8D,
+ 40731 - 11905: 0xFC8E,
+ 40732 - 11905: 0xFC8F,
+ 40733 - 11905: 0xFC90,
+ 40734 - 11905: 0xFC91,
+ 40735 - 11905: 0xFC92,
+ 40736 - 11905: 0xCAF3,
+ 40737 - 11905: 0xFC93,
+ 40738 - 11905: 0xF7F7,
+ 40739 - 11905: 0xFC94,
+ 40740 - 11905: 0xFC95,
+ 40741 - 11905: 0xFC96,
+ 40742 - 11905: 0xFC97,
+ 40743 - 11905: 0xFC98,
+ 40744 - 11905: 0xFC99,
+ 40745 - 11905: 0xFC9A,
+ 40746 - 11905: 0xFC9B,
+ 40747 - 11905: 0xFC9C,
+ 40748 - 11905: 0xF7F8,
+ 40749 - 11905: 0xFC9D,
+ 40750 - 11905: 0xFC9E,
+ 40751 - 11905: 0xF7F9,
+ 40752 - 11905: 0xFC9F,
+ 40753 - 11905: 0xFCA0,
+ 40754 - 11905: 0xFD40,
+ 40755 - 11905: 0xFD41,
+ 40756 - 11905: 0xFD42,
+ 40757 - 11905: 0xFD43,
+ 40758 - 11905: 0xFD44,
+ 40759 - 11905: 0xF7FB,
+ 40760 - 11905: 0xFD45,
+ 40761 - 11905: 0xF7FA,
+ 40762 - 11905: 0xFD46,
+ 40763 - 11905: 0xB1C7,
+ 40764 - 11905: 0xFD47,
+ 40765 - 11905: 0xF7FC,
+ 40766 - 11905: 0xF7FD,
+ 40767 - 11905: 0xFD48,
+ 40768 - 11905: 0xFD49,
+ 40769 - 11905: 0xFD4A,
+ 40770 - 11905: 0xFD4B,
+ 40771 - 11905: 0xFD4C,
+ 40772 - 11905: 0xF7FE,
+ 40773 - 11905: 0xFD4D,
+ 40774 - 11905: 0xFD4E,
+ 40775 - 11905: 0xFD4F,
+ 40776 - 11905: 0xFD50,
+ 40777 - 11905: 0xFD51,
+ 40778 - 11905: 0xFD52,
+ 40779 - 11905: 0xFD53,
+ 40780 - 11905: 0xFD54,
+ 40781 - 11905: 0xFD55,
+ 40782 - 11905: 0xFD56,
+ 40783 - 11905: 0xFD57,
+ 40784 - 11905: 0xC6EB,
+ 40785 - 11905: 0xECB4,
+ 40786 - 11905: 0xFD58,
+ 40787 - 11905: 0xFD59,
+ 40788 - 11905: 0xFD5A,
+ 40789 - 11905: 0xFD5B,
+ 40790 - 11905: 0xFD5C,
+ 40791 - 11905: 0xFD5D,
+ 40792 - 11905: 0xFD5E,
+ 40793 - 11905: 0xFD5F,
+ 40794 - 11905: 0xFD60,
+ 40795 - 11905: 0xFD61,
+ 40796 - 11905: 0xFD62,
+ 40797 - 11905: 0xFD63,
+ 40798 - 11905: 0xFD64,
+ 40799 - 11905: 0xFD65,
+ 40800 - 11905: 0xFD66,
+ 40801 - 11905: 0xFD67,
+ 40802 - 11905: 0xFD68,
+ 40803 - 11905: 0xFD69,
+ 40804 - 11905: 0xFD6A,
+ 40805 - 11905: 0xFD6B,
+ 40806 - 11905: 0xFD6C,
+ 40807 - 11905: 0xFD6D,
+ 40808 - 11905: 0xFD6E,
+ 40809 - 11905: 0xFD6F,
+ 40810 - 11905: 0xFD70,
+ 40811 - 11905: 0xFD71,
+ 40812 - 11905: 0xFD72,
+ 40813 - 11905: 0xFD73,
+ 40814 - 11905: 0xFD74,
+ 40815 - 11905: 0xFD75,
+ 40816 - 11905: 0xFD76,
+ 40817 - 11905: 0xFD77,
+ 40818 - 11905: 0xFD78,
+ 40819 - 11905: 0xFD79,
+ 40820 - 11905: 0xFD7A,
+ 40821 - 11905: 0xFD7B,
+ 40822 - 11905: 0xFD7C,
+ 40823 - 11905: 0xFD7D,
+ 40824 - 11905: 0xFD7E,
+ 40825 - 11905: 0xFD80,
+ 40826 - 11905: 0xFD81,
+ 40827 - 11905: 0xFD82,
+ 40828 - 11905: 0xFD83,
+ 40829 - 11905: 0xFD84,
+ 40830 - 11905: 0xFD85,
+ 40831 - 11905: 0xB3DD,
+ 40832 - 11905: 0xF6B3,
+ 40833 - 11905: 0xFD86,
+ 40834 - 11905: 0xFD87,
+ 40835 - 11905: 0xF6B4,
+ 40836 - 11905: 0xC1E4,
+ 40837 - 11905: 0xF6B5,
+ 40838 - 11905: 0xF6B6,
+ 40839 - 11905: 0xF6B7,
+ 40840 - 11905: 0xF6B8,
+ 40841 - 11905: 0xF6B9,
+ 40842 - 11905: 0xF6BA,
+ 40843 - 11905: 0xC8A3,
+ 40844 - 11905: 0xF6BB,
+ 40845 - 11905: 0xFD88,
+ 40846 - 11905: 0xFD89,
+ 40847 - 11905: 0xFD8A,
+ 40848 - 11905: 0xFD8B,
+ 40849 - 11905: 0xFD8C,
+ 40850 - 11905: 0xFD8D,
+ 40851 - 11905: 0xFD8E,
+ 40852 - 11905: 0xFD8F,
+ 40853 - 11905: 0xFD90,
+ 40854 - 11905: 0xFD91,
+ 40855 - 11905: 0xFD92,
+ 40856 - 11905: 0xFD93,
+ 40857 - 11905: 0xC1FA,
+ 40858 - 11905: 0xB9A8,
+ 40859 - 11905: 0xEDE8,
+ 40860 - 11905: 0xFD94,
+ 40861 - 11905: 0xFD95,
+ 40862 - 11905: 0xFD96,
+ 40863 - 11905: 0xB9EA,
+ 40864 - 11905: 0xD9DF,
+ 40865 - 11905: 0xFD97,
+ 40866 - 11905: 0xFD98,
+ 40867 - 11905: 0xFD99,
+ 40868 - 11905: 0xFD9A,
+ 40869 - 11905: 0xFD9B,
+}
+
+const encode1Low, encode1High = 8208, 9795
+
+var encode1 = [...]uint16{
+ 8208 - 8208: 0xA95C,
+ 8211 - 8208: 0xA843,
+ 8212 - 8208: 0xA1AA,
+ 8213 - 8208: 0xA844,
+ 8214 - 8208: 0xA1AC,
+ 8216 - 8208: 0xA1AE,
+ 8217 - 8208: 0xA1AF,
+ 8220 - 8208: 0xA1B0,
+ 8221 - 8208: 0xA1B1,
+ 8229 - 8208: 0xA845,
+ 8230 - 8208: 0xA1AD,
+ 8240 - 8208: 0xA1EB,
+ 8242 - 8208: 0xA1E4,
+ 8243 - 8208: 0xA1E5,
+ 8245 - 8208: 0xA846,
+ 8251 - 8208: 0xA1F9,
+ 8364 - 8208: 0xA2E3,
+ 8451 - 8208: 0xA1E6,
+ 8453 - 8208: 0xA847,
+ 8457 - 8208: 0xA848,
+ 8470 - 8208: 0xA1ED,
+ 8481 - 8208: 0xA959,
+ 8544 - 8208: 0xA2F1,
+ 8545 - 8208: 0xA2F2,
+ 8546 - 8208: 0xA2F3,
+ 8547 - 8208: 0xA2F4,
+ 8548 - 8208: 0xA2F5,
+ 8549 - 8208: 0xA2F6,
+ 8550 - 8208: 0xA2F7,
+ 8551 - 8208: 0xA2F8,
+ 8552 - 8208: 0xA2F9,
+ 8553 - 8208: 0xA2FA,
+ 8554 - 8208: 0xA2FB,
+ 8555 - 8208: 0xA2FC,
+ 8560 - 8208: 0xA2A1,
+ 8561 - 8208: 0xA2A2,
+ 8562 - 8208: 0xA2A3,
+ 8563 - 8208: 0xA2A4,
+ 8564 - 8208: 0xA2A5,
+ 8565 - 8208: 0xA2A6,
+ 8566 - 8208: 0xA2A7,
+ 8567 - 8208: 0xA2A8,
+ 8568 - 8208: 0xA2A9,
+ 8569 - 8208: 0xA2AA,
+ 8592 - 8208: 0xA1FB,
+ 8593 - 8208: 0xA1FC,
+ 8594 - 8208: 0xA1FA,
+ 8595 - 8208: 0xA1FD,
+ 8598 - 8208: 0xA849,
+ 8599 - 8208: 0xA84A,
+ 8600 - 8208: 0xA84B,
+ 8601 - 8208: 0xA84C,
+ 8712 - 8208: 0xA1CA,
+ 8719 - 8208: 0xA1C7,
+ 8721 - 8208: 0xA1C6,
+ 8725 - 8208: 0xA84D,
+ 8730 - 8208: 0xA1CC,
+ 8733 - 8208: 0xA1D8,
+ 8734 - 8208: 0xA1DE,
+ 8735 - 8208: 0xA84E,
+ 8736 - 8208: 0xA1CF,
+ 8739 - 8208: 0xA84F,
+ 8741 - 8208: 0xA1CE,
+ 8743 - 8208: 0xA1C4,
+ 8744 - 8208: 0xA1C5,
+ 8745 - 8208: 0xA1C9,
+ 8746 - 8208: 0xA1C8,
+ 8747 - 8208: 0xA1D2,
+ 8750 - 8208: 0xA1D3,
+ 8756 - 8208: 0xA1E0,
+ 8757 - 8208: 0xA1DF,
+ 8758 - 8208: 0xA1C3,
+ 8759 - 8208: 0xA1CB,
+ 8765 - 8208: 0xA1D7,
+ 8776 - 8208: 0xA1D6,
+ 8780 - 8208: 0xA1D5,
+ 8786 - 8208: 0xA850,
+ 8800 - 8208: 0xA1D9,
+ 8801 - 8208: 0xA1D4,
+ 8804 - 8208: 0xA1DC,
+ 8805 - 8208: 0xA1DD,
+ 8806 - 8208: 0xA851,
+ 8807 - 8208: 0xA852,
+ 8814 - 8208: 0xA1DA,
+ 8815 - 8208: 0xA1DB,
+ 8853 - 8208: 0xA892,
+ 8857 - 8208: 0xA1D1,
+ 8869 - 8208: 0xA1CD,
+ 8895 - 8208: 0xA853,
+ 8978 - 8208: 0xA1D0,
+ 9312 - 8208: 0xA2D9,
+ 9313 - 8208: 0xA2DA,
+ 9314 - 8208: 0xA2DB,
+ 9315 - 8208: 0xA2DC,
+ 9316 - 8208: 0xA2DD,
+ 9317 - 8208: 0xA2DE,
+ 9318 - 8208: 0xA2DF,
+ 9319 - 8208: 0xA2E0,
+ 9320 - 8208: 0xA2E1,
+ 9321 - 8208: 0xA2E2,
+ 9332 - 8208: 0xA2C5,
+ 9333 - 8208: 0xA2C6,
+ 9334 - 8208: 0xA2C7,
+ 9335 - 8208: 0xA2C8,
+ 9336 - 8208: 0xA2C9,
+ 9337 - 8208: 0xA2CA,
+ 9338 - 8208: 0xA2CB,
+ 9339 - 8208: 0xA2CC,
+ 9340 - 8208: 0xA2CD,
+ 9341 - 8208: 0xA2CE,
+ 9342 - 8208: 0xA2CF,
+ 9343 - 8208: 0xA2D0,
+ 9344 - 8208: 0xA2D1,
+ 9345 - 8208: 0xA2D2,
+ 9346 - 8208: 0xA2D3,
+ 9347 - 8208: 0xA2D4,
+ 9348 - 8208: 0xA2D5,
+ 9349 - 8208: 0xA2D6,
+ 9350 - 8208: 0xA2D7,
+ 9351 - 8208: 0xA2D8,
+ 9352 - 8208: 0xA2B1,
+ 9353 - 8208: 0xA2B2,
+ 9354 - 8208: 0xA2B3,
+ 9355 - 8208: 0xA2B4,
+ 9356 - 8208: 0xA2B5,
+ 9357 - 8208: 0xA2B6,
+ 9358 - 8208: 0xA2B7,
+ 9359 - 8208: 0xA2B8,
+ 9360 - 8208: 0xA2B9,
+ 9361 - 8208: 0xA2BA,
+ 9362 - 8208: 0xA2BB,
+ 9363 - 8208: 0xA2BC,
+ 9364 - 8208: 0xA2BD,
+ 9365 - 8208: 0xA2BE,
+ 9366 - 8208: 0xA2BF,
+ 9367 - 8208: 0xA2C0,
+ 9368 - 8208: 0xA2C1,
+ 9369 - 8208: 0xA2C2,
+ 9370 - 8208: 0xA2C3,
+ 9371 - 8208: 0xA2C4,
+ 9472 - 8208: 0xA9A4,
+ 9473 - 8208: 0xA9A5,
+ 9474 - 8208: 0xA9A6,
+ 9475 - 8208: 0xA9A7,
+ 9476 - 8208: 0xA9A8,
+ 9477 - 8208: 0xA9A9,
+ 9478 - 8208: 0xA9AA,
+ 9479 - 8208: 0xA9AB,
+ 9480 - 8208: 0xA9AC,
+ 9481 - 8208: 0xA9AD,
+ 9482 - 8208: 0xA9AE,
+ 9483 - 8208: 0xA9AF,
+ 9484 - 8208: 0xA9B0,
+ 9485 - 8208: 0xA9B1,
+ 9486 - 8208: 0xA9B2,
+ 9487 - 8208: 0xA9B3,
+ 9488 - 8208: 0xA9B4,
+ 9489 - 8208: 0xA9B5,
+ 9490 - 8208: 0xA9B6,
+ 9491 - 8208: 0xA9B7,
+ 9492 - 8208: 0xA9B8,
+ 9493 - 8208: 0xA9B9,
+ 9494 - 8208: 0xA9BA,
+ 9495 - 8208: 0xA9BB,
+ 9496 - 8208: 0xA9BC,
+ 9497 - 8208: 0xA9BD,
+ 9498 - 8208: 0xA9BE,
+ 9499 - 8208: 0xA9BF,
+ 9500 - 8208: 0xA9C0,
+ 9501 - 8208: 0xA9C1,
+ 9502 - 8208: 0xA9C2,
+ 9503 - 8208: 0xA9C3,
+ 9504 - 8208: 0xA9C4,
+ 9505 - 8208: 0xA9C5,
+ 9506 - 8208: 0xA9C6,
+ 9507 - 8208: 0xA9C7,
+ 9508 - 8208: 0xA9C8,
+ 9509 - 8208: 0xA9C9,
+ 9510 - 8208: 0xA9CA,
+ 9511 - 8208: 0xA9CB,
+ 9512 - 8208: 0xA9CC,
+ 9513 - 8208: 0xA9CD,
+ 9514 - 8208: 0xA9CE,
+ 9515 - 8208: 0xA9CF,
+ 9516 - 8208: 0xA9D0,
+ 9517 - 8208: 0xA9D1,
+ 9518 - 8208: 0xA9D2,
+ 9519 - 8208: 0xA9D3,
+ 9520 - 8208: 0xA9D4,
+ 9521 - 8208: 0xA9D5,
+ 9522 - 8208: 0xA9D6,
+ 9523 - 8208: 0xA9D7,
+ 9524 - 8208: 0xA9D8,
+ 9525 - 8208: 0xA9D9,
+ 9526 - 8208: 0xA9DA,
+ 9527 - 8208: 0xA9DB,
+ 9528 - 8208: 0xA9DC,
+ 9529 - 8208: 0xA9DD,
+ 9530 - 8208: 0xA9DE,
+ 9531 - 8208: 0xA9DF,
+ 9532 - 8208: 0xA9E0,
+ 9533 - 8208: 0xA9E1,
+ 9534 - 8208: 0xA9E2,
+ 9535 - 8208: 0xA9E3,
+ 9536 - 8208: 0xA9E4,
+ 9537 - 8208: 0xA9E5,
+ 9538 - 8208: 0xA9E6,
+ 9539 - 8208: 0xA9E7,
+ 9540 - 8208: 0xA9E8,
+ 9541 - 8208: 0xA9E9,
+ 9542 - 8208: 0xA9EA,
+ 9543 - 8208: 0xA9EB,
+ 9544 - 8208: 0xA9EC,
+ 9545 - 8208: 0xA9ED,
+ 9546 - 8208: 0xA9EE,
+ 9547 - 8208: 0xA9EF,
+ 9552 - 8208: 0xA854,
+ 9553 - 8208: 0xA855,
+ 9554 - 8208: 0xA856,
+ 9555 - 8208: 0xA857,
+ 9556 - 8208: 0xA858,
+ 9557 - 8208: 0xA859,
+ 9558 - 8208: 0xA85A,
+ 9559 - 8208: 0xA85B,
+ 9560 - 8208: 0xA85C,
+ 9561 - 8208: 0xA85D,
+ 9562 - 8208: 0xA85E,
+ 9563 - 8208: 0xA85F,
+ 9564 - 8208: 0xA860,
+ 9565 - 8208: 0xA861,
+ 9566 - 8208: 0xA862,
+ 9567 - 8208: 0xA863,
+ 9568 - 8208: 0xA864,
+ 9569 - 8208: 0xA865,
+ 9570 - 8208: 0xA866,
+ 9571 - 8208: 0xA867,
+ 9572 - 8208: 0xA868,
+ 9573 - 8208: 0xA869,
+ 9574 - 8208: 0xA86A,
+ 9575 - 8208: 0xA86B,
+ 9576 - 8208: 0xA86C,
+ 9577 - 8208: 0xA86D,
+ 9578 - 8208: 0xA86E,
+ 9579 - 8208: 0xA86F,
+ 9580 - 8208: 0xA870,
+ 9581 - 8208: 0xA871,
+ 9582 - 8208: 0xA872,
+ 9583 - 8208: 0xA873,
+ 9584 - 8208: 0xA874,
+ 9585 - 8208: 0xA875,
+ 9586 - 8208: 0xA876,
+ 9587 - 8208: 0xA877,
+ 9601 - 8208: 0xA878,
+ 9602 - 8208: 0xA879,
+ 9603 - 8208: 0xA87A,
+ 9604 - 8208: 0xA87B,
+ 9605 - 8208: 0xA87C,
+ 9606 - 8208: 0xA87D,
+ 9607 - 8208: 0xA87E,
+ 9608 - 8208: 0xA880,
+ 9609 - 8208: 0xA881,
+ 9610 - 8208: 0xA882,
+ 9611 - 8208: 0xA883,
+ 9612 - 8208: 0xA884,
+ 9613 - 8208: 0xA885,
+ 9614 - 8208: 0xA886,
+ 9615 - 8208: 0xA887,
+ 9619 - 8208: 0xA888,
+ 9620 - 8208: 0xA889,
+ 9621 - 8208: 0xA88A,
+ 9632 - 8208: 0xA1F6,
+ 9633 - 8208: 0xA1F5,
+ 9650 - 8208: 0xA1F8,
+ 9651 - 8208: 0xA1F7,
+ 9660 - 8208: 0xA88B,
+ 9661 - 8208: 0xA88C,
+ 9670 - 8208: 0xA1F4,
+ 9671 - 8208: 0xA1F3,
+ 9675 - 8208: 0xA1F0,
+ 9678 - 8208: 0xA1F2,
+ 9679 - 8208: 0xA1F1,
+ 9698 - 8208: 0xA88D,
+ 9699 - 8208: 0xA88E,
+ 9700 - 8208: 0xA88F,
+ 9701 - 8208: 0xA890,
+ 9733 - 8208: 0xA1EF,
+ 9734 - 8208: 0xA1EE,
+ 9737 - 8208: 0xA891,
+ 9792 - 8208: 0xA1E2,
+ 9794 - 8208: 0xA1E1,
+}
+
+const encode2Low, encode2High = 164, 1106
+
+var encode2 = [...]uint16{
+ 164 - 164: 0xA1E8,
+ 167 - 164: 0xA1EC,
+ 168 - 164: 0xA1A7,
+ 176 - 164: 0xA1E3,
+ 177 - 164: 0xA1C0,
+ 183 - 164: 0xA1A4,
+ 215 - 164: 0xA1C1,
+ 224 - 164: 0xA8A4,
+ 225 - 164: 0xA8A2,
+ 232 - 164: 0xA8A8,
+ 233 - 164: 0xA8A6,
+ 234 - 164: 0xA8BA,
+ 236 - 164: 0xA8AC,
+ 237 - 164: 0xA8AA,
+ 242 - 164: 0xA8B0,
+ 243 - 164: 0xA8AE,
+ 247 - 164: 0xA1C2,
+ 249 - 164: 0xA8B4,
+ 250 - 164: 0xA8B2,
+ 252 - 164: 0xA8B9,
+ 257 - 164: 0xA8A1,
+ 275 - 164: 0xA8A5,
+ 283 - 164: 0xA8A7,
+ 299 - 164: 0xA8A9,
+ 324 - 164: 0xA8BD,
+ 328 - 164: 0xA8BE,
+ 333 - 164: 0xA8AD,
+ 363 - 164: 0xA8B1,
+ 462 - 164: 0xA8A3,
+ 464 - 164: 0xA8AB,
+ 466 - 164: 0xA8AF,
+ 468 - 164: 0xA8B3,
+ 470 - 164: 0xA8B5,
+ 472 - 164: 0xA8B6,
+ 474 - 164: 0xA8B7,
+ 476 - 164: 0xA8B8,
+ 505 - 164: 0xA8BF,
+ 593 - 164: 0xA8BB,
+ 609 - 164: 0xA8C0,
+ 711 - 164: 0xA1A6,
+ 713 - 164: 0xA1A5,
+ 714 - 164: 0xA840,
+ 715 - 164: 0xA841,
+ 729 - 164: 0xA842,
+ 913 - 164: 0xA6A1,
+ 914 - 164: 0xA6A2,
+ 915 - 164: 0xA6A3,
+ 916 - 164: 0xA6A4,
+ 917 - 164: 0xA6A5,
+ 918 - 164: 0xA6A6,
+ 919 - 164: 0xA6A7,
+ 920 - 164: 0xA6A8,
+ 921 - 164: 0xA6A9,
+ 922 - 164: 0xA6AA,
+ 923 - 164: 0xA6AB,
+ 924 - 164: 0xA6AC,
+ 925 - 164: 0xA6AD,
+ 926 - 164: 0xA6AE,
+ 927 - 164: 0xA6AF,
+ 928 - 164: 0xA6B0,
+ 929 - 164: 0xA6B1,
+ 931 - 164: 0xA6B2,
+ 932 - 164: 0xA6B3,
+ 933 - 164: 0xA6B4,
+ 934 - 164: 0xA6B5,
+ 935 - 164: 0xA6B6,
+ 936 - 164: 0xA6B7,
+ 937 - 164: 0xA6B8,
+ 945 - 164: 0xA6C1,
+ 946 - 164: 0xA6C2,
+ 947 - 164: 0xA6C3,
+ 948 - 164: 0xA6C4,
+ 949 - 164: 0xA6C5,
+ 950 - 164: 0xA6C6,
+ 951 - 164: 0xA6C7,
+ 952 - 164: 0xA6C8,
+ 953 - 164: 0xA6C9,
+ 954 - 164: 0xA6CA,
+ 955 - 164: 0xA6CB,
+ 956 - 164: 0xA6CC,
+ 957 - 164: 0xA6CD,
+ 958 - 164: 0xA6CE,
+ 959 - 164: 0xA6CF,
+ 960 - 164: 0xA6D0,
+ 961 - 164: 0xA6D1,
+ 963 - 164: 0xA6D2,
+ 964 - 164: 0xA6D3,
+ 965 - 164: 0xA6D4,
+ 966 - 164: 0xA6D5,
+ 967 - 164: 0xA6D6,
+ 968 - 164: 0xA6D7,
+ 969 - 164: 0xA6D8,
+ 1025 - 164: 0xA7A7,
+ 1040 - 164: 0xA7A1,
+ 1041 - 164: 0xA7A2,
+ 1042 - 164: 0xA7A3,
+ 1043 - 164: 0xA7A4,
+ 1044 - 164: 0xA7A5,
+ 1045 - 164: 0xA7A6,
+ 1046 - 164: 0xA7A8,
+ 1047 - 164: 0xA7A9,
+ 1048 - 164: 0xA7AA,
+ 1049 - 164: 0xA7AB,
+ 1050 - 164: 0xA7AC,
+ 1051 - 164: 0xA7AD,
+ 1052 - 164: 0xA7AE,
+ 1053 - 164: 0xA7AF,
+ 1054 - 164: 0xA7B0,
+ 1055 - 164: 0xA7B1,
+ 1056 - 164: 0xA7B2,
+ 1057 - 164: 0xA7B3,
+ 1058 - 164: 0xA7B4,
+ 1059 - 164: 0xA7B5,
+ 1060 - 164: 0xA7B6,
+ 1061 - 164: 0xA7B7,
+ 1062 - 164: 0xA7B8,
+ 1063 - 164: 0xA7B9,
+ 1064 - 164: 0xA7BA,
+ 1065 - 164: 0xA7BB,
+ 1066 - 164: 0xA7BC,
+ 1067 - 164: 0xA7BD,
+ 1068 - 164: 0xA7BE,
+ 1069 - 164: 0xA7BF,
+ 1070 - 164: 0xA7C0,
+ 1071 - 164: 0xA7C1,
+ 1072 - 164: 0xA7D1,
+ 1073 - 164: 0xA7D2,
+ 1074 - 164: 0xA7D3,
+ 1075 - 164: 0xA7D4,
+ 1076 - 164: 0xA7D5,
+ 1077 - 164: 0xA7D6,
+ 1078 - 164: 0xA7D8,
+ 1079 - 164: 0xA7D9,
+ 1080 - 164: 0xA7DA,
+ 1081 - 164: 0xA7DB,
+ 1082 - 164: 0xA7DC,
+ 1083 - 164: 0xA7DD,
+ 1084 - 164: 0xA7DE,
+ 1085 - 164: 0xA7DF,
+ 1086 - 164: 0xA7E0,
+ 1087 - 164: 0xA7E1,
+ 1088 - 164: 0xA7E2,
+ 1089 - 164: 0xA7E3,
+ 1090 - 164: 0xA7E4,
+ 1091 - 164: 0xA7E5,
+ 1092 - 164: 0xA7E6,
+ 1093 - 164: 0xA7E7,
+ 1094 - 164: 0xA7E8,
+ 1095 - 164: 0xA7E9,
+ 1096 - 164: 0xA7EA,
+ 1097 - 164: 0xA7EB,
+ 1098 - 164: 0xA7EC,
+ 1099 - 164: 0xA7ED,
+ 1100 - 164: 0xA7EE,
+ 1101 - 164: 0xA7EF,
+ 1102 - 164: 0xA7F0,
+ 1103 - 164: 0xA7F1,
+ 1105 - 164: 0xA7D7,
+}
+
+const encode3Low, encode3High = 65072, 65510
+
+var encode3 = [...]uint16{
+ 65072 - 65072: 0xA955,
+ 65073 - 65072: 0xA6F2,
+ 65075 - 65072: 0xA6F4,
+ 65076 - 65072: 0xA6F5,
+ 65077 - 65072: 0xA6E0,
+ 65078 - 65072: 0xA6E1,
+ 65079 - 65072: 0xA6F0,
+ 65080 - 65072: 0xA6F1,
+ 65081 - 65072: 0xA6E2,
+ 65082 - 65072: 0xA6E3,
+ 65083 - 65072: 0xA6EE,
+ 65084 - 65072: 0xA6EF,
+ 65085 - 65072: 0xA6E6,
+ 65086 - 65072: 0xA6E7,
+ 65087 - 65072: 0xA6E4,
+ 65088 - 65072: 0xA6E5,
+ 65089 - 65072: 0xA6E8,
+ 65090 - 65072: 0xA6E9,
+ 65091 - 65072: 0xA6EA,
+ 65092 - 65072: 0xA6EB,
+ 65097 - 65072: 0xA968,
+ 65098 - 65072: 0xA969,
+ 65099 - 65072: 0xA96A,
+ 65100 - 65072: 0xA96B,
+ 65101 - 65072: 0xA96C,
+ 65102 - 65072: 0xA96D,
+ 65103 - 65072: 0xA96E,
+ 65104 - 65072: 0xA96F,
+ 65105 - 65072: 0xA970,
+ 65106 - 65072: 0xA971,
+ 65108 - 65072: 0xA972,
+ 65109 - 65072: 0xA973,
+ 65110 - 65072: 0xA974,
+ 65111 - 65072: 0xA975,
+ 65113 - 65072: 0xA976,
+ 65114 - 65072: 0xA977,
+ 65115 - 65072: 0xA978,
+ 65116 - 65072: 0xA979,
+ 65117 - 65072: 0xA97A,
+ 65118 - 65072: 0xA97B,
+ 65119 - 65072: 0xA97C,
+ 65120 - 65072: 0xA97D,
+ 65121 - 65072: 0xA97E,
+ 65122 - 65072: 0xA980,
+ 65123 - 65072: 0xA981,
+ 65124 - 65072: 0xA982,
+ 65125 - 65072: 0xA983,
+ 65126 - 65072: 0xA984,
+ 65128 - 65072: 0xA985,
+ 65129 - 65072: 0xA986,
+ 65130 - 65072: 0xA987,
+ 65131 - 65072: 0xA988,
+ 65281 - 65072: 0xA3A1,
+ 65282 - 65072: 0xA3A2,
+ 65283 - 65072: 0xA3A3,
+ 65284 - 65072: 0xA1E7,
+ 65285 - 65072: 0xA3A5,
+ 65286 - 65072: 0xA3A6,
+ 65287 - 65072: 0xA3A7,
+ 65288 - 65072: 0xA3A8,
+ 65289 - 65072: 0xA3A9,
+ 65290 - 65072: 0xA3AA,
+ 65291 - 65072: 0xA3AB,
+ 65292 - 65072: 0xA3AC,
+ 65293 - 65072: 0xA3AD,
+ 65294 - 65072: 0xA3AE,
+ 65295 - 65072: 0xA3AF,
+ 65296 - 65072: 0xA3B0,
+ 65297 - 65072: 0xA3B1,
+ 65298 - 65072: 0xA3B2,
+ 65299 - 65072: 0xA3B3,
+ 65300 - 65072: 0xA3B4,
+ 65301 - 65072: 0xA3B5,
+ 65302 - 65072: 0xA3B6,
+ 65303 - 65072: 0xA3B7,
+ 65304 - 65072: 0xA3B8,
+ 65305 - 65072: 0xA3B9,
+ 65306 - 65072: 0xA3BA,
+ 65307 - 65072: 0xA3BB,
+ 65308 - 65072: 0xA3BC,
+ 65309 - 65072: 0xA3BD,
+ 65310 - 65072: 0xA3BE,
+ 65311 - 65072: 0xA3BF,
+ 65312 - 65072: 0xA3C0,
+ 65313 - 65072: 0xA3C1,
+ 65314 - 65072: 0xA3C2,
+ 65315 - 65072: 0xA3C3,
+ 65316 - 65072: 0xA3C4,
+ 65317 - 65072: 0xA3C5,
+ 65318 - 65072: 0xA3C6,
+ 65319 - 65072: 0xA3C7,
+ 65320 - 65072: 0xA3C8,
+ 65321 - 65072: 0xA3C9,
+ 65322 - 65072: 0xA3CA,
+ 65323 - 65072: 0xA3CB,
+ 65324 - 65072: 0xA3CC,
+ 65325 - 65072: 0xA3CD,
+ 65326 - 65072: 0xA3CE,
+ 65327 - 65072: 0xA3CF,
+ 65328 - 65072: 0xA3D0,
+ 65329 - 65072: 0xA3D1,
+ 65330 - 65072: 0xA3D2,
+ 65331 - 65072: 0xA3D3,
+ 65332 - 65072: 0xA3D4,
+ 65333 - 65072: 0xA3D5,
+ 65334 - 65072: 0xA3D6,
+ 65335 - 65072: 0xA3D7,
+ 65336 - 65072: 0xA3D8,
+ 65337 - 65072: 0xA3D9,
+ 65338 - 65072: 0xA3DA,
+ 65339 - 65072: 0xA3DB,
+ 65340 - 65072: 0xA3DC,
+ 65341 - 65072: 0xA3DD,
+ 65342 - 65072: 0xA3DE,
+ 65343 - 65072: 0xA3DF,
+ 65344 - 65072: 0xA3E0,
+ 65345 - 65072: 0xA3E1,
+ 65346 - 65072: 0xA3E2,
+ 65347 - 65072: 0xA3E3,
+ 65348 - 65072: 0xA3E4,
+ 65349 - 65072: 0xA3E5,
+ 65350 - 65072: 0xA3E6,
+ 65351 - 65072: 0xA3E7,
+ 65352 - 65072: 0xA3E8,
+ 65353 - 65072: 0xA3E9,
+ 65354 - 65072: 0xA3EA,
+ 65355 - 65072: 0xA3EB,
+ 65356 - 65072: 0xA3EC,
+ 65357 - 65072: 0xA3ED,
+ 65358 - 65072: 0xA3EE,
+ 65359 - 65072: 0xA3EF,
+ 65360 - 65072: 0xA3F0,
+ 65361 - 65072: 0xA3F1,
+ 65362 - 65072: 0xA3F2,
+ 65363 - 65072: 0xA3F3,
+ 65364 - 65072: 0xA3F4,
+ 65365 - 65072: 0xA3F5,
+ 65366 - 65072: 0xA3F6,
+ 65367 - 65072: 0xA3F7,
+ 65368 - 65072: 0xA3F8,
+ 65369 - 65072: 0xA3F9,
+ 65370 - 65072: 0xA3FA,
+ 65371 - 65072: 0xA3FB,
+ 65372 - 65072: 0xA3FC,
+ 65373 - 65072: 0xA3FD,
+ 65374 - 65072: 0xA1AB,
+ 65504 - 65072: 0xA1E9,
+ 65505 - 65072: 0xA1EA,
+ 65506 - 65072: 0xA956,
+ 65507 - 65072: 0xA3FE,
+ 65508 - 65072: 0xA957,
+ 65509 - 65072: 0xA3A4,
+}
+
+const encode4Low, encode4High = 63788, 64042
+
+var encode4 = [...]uint16{
+ 63788 - 63788: 0xFD9C,
+ 63865 - 63788: 0xFD9D,
+ 63893 - 63788: 0xFD9E,
+ 63975 - 63788: 0xFD9F,
+ 63985 - 63788: 0xFDA0,
+ 64012 - 63788: 0xFE40,
+ 64013 - 63788: 0xFE41,
+ 64014 - 63788: 0xFE42,
+ 64015 - 63788: 0xFE43,
+ 64017 - 63788: 0xFE44,
+ 64019 - 63788: 0xFE45,
+ 64020 - 63788: 0xFE46,
+ 64024 - 63788: 0xFE47,
+ 64031 - 63788: 0xFE48,
+ 64032 - 63788: 0xFE49,
+ 64033 - 63788: 0xFE4A,
+ 64035 - 63788: 0xFE4B,
+ 64036 - 63788: 0xFE4C,
+ 64039 - 63788: 0xFE4D,
+ 64040 - 63788: 0xFE4E,
+ 64041 - 63788: 0xFE4F,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
new file mode 100644
index 00000000..1fcddde0
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
@@ -0,0 +1,199 @@
+// 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 traditionalchinese
+
+import (
+ "unicode/utf8"
+
+ "golang.org/x/text/encoding"
+ "golang.org/x/text/encoding/internal"
+ "golang.org/x/text/encoding/internal/identifier"
+ "golang.org/x/text/transform"
+)
+
+// All is a list of all defined encodings in this package.
+var All = []encoding.Encoding{Big5}
+
+// Big5 is the Big5 encoding, also known as Code Page 950.
+var Big5 encoding.Encoding = &big5
+
+var big5 = internal.Encoding{
+ &internal.SimpleEncoding{big5Decoder{}, big5Encoder{}},
+ "Big5",
+ identifier.Big5,
+}
+
+type big5Decoder struct{ transform.NopResetter }
+
+func (big5Decoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size, s := rune(0), 0, ""
+loop:
+ for ; nSrc < len(src); nSrc += size {
+ switch c0 := src[nSrc]; {
+ case c0 < utf8.RuneSelf:
+ r, size = rune(c0), 1
+
+ case 0x81 <= c0 && c0 < 0xff:
+ if nSrc+1 >= len(src) {
+ if !atEOF {
+ err = transform.ErrShortSrc
+ break loop
+ }
+ r, size = utf8.RuneError, 1
+ goto write
+ }
+ c1 := src[nSrc+1]
+ switch {
+ case 0x40 <= c1 && c1 < 0x7f:
+ c1 -= 0x40
+ case 0xa1 <= c1 && c1 < 0xff:
+ c1 -= 0x62
+ case c1 < 0x40:
+ r, size = utf8.RuneError, 1
+ goto write
+ default:
+ r, size = utf8.RuneError, 2
+ goto write
+ }
+ r, size = '\ufffd', 2
+ if i := int(c0-0x81)*157 + int(c1); i < len(decode) {
+ if 1133 <= i && i < 1167 {
+ // The two-rune special cases for LATIN CAPITAL / SMALL E WITH CIRCUMFLEX
+ // AND MACRON / CARON are from http://encoding.spec.whatwg.org/#big5
+ switch i {
+ case 1133:
+ s = "\u00CA\u0304"
+ goto writeStr
+ case 1135:
+ s = "\u00CA\u030C"
+ goto writeStr
+ case 1164:
+ s = "\u00EA\u0304"
+ goto writeStr
+ case 1166:
+ s = "\u00EA\u030C"
+ goto writeStr
+ }
+ }
+ r = rune(decode[i])
+ if r == 0 {
+ r = '\ufffd'
+ }
+ }
+
+ default:
+ r, size = utf8.RuneError, 1
+ }
+
+ write:
+ if nDst+utf8.RuneLen(r) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += utf8.EncodeRune(dst[nDst:], r)
+ continue loop
+
+ writeStr:
+ if nDst+len(s) > len(dst) {
+ err = transform.ErrShortDst
+ break loop
+ }
+ nDst += copy(dst[nDst:], s)
+ continue loop
+ }
+ return nDst, nSrc, err
+}
+
+type big5Encoder struct{ transform.NopResetter }
+
+func (big5Encoder) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error) {
+ r, size := rune(0), 0
+ for ; nSrc < len(src); nSrc += size {
+ r = rune(src[nSrc])
+
+ // Decode a 1-byte rune.
+ if r < utf8.RuneSelf {
+ size = 1
+ if nDst >= len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst] = uint8(r)
+ nDst++
+ continue
+
+ } else {
+ // Decode a multi-byte rune.
+ r, size = utf8.DecodeRune(src[nSrc:])
+ if size == 1 {
+ // All valid runes of size 1 (those below utf8.RuneSelf) were
+ // handled above. We have invalid UTF-8 or we haven't seen the
+ // full character yet.
+ if !atEOF && !utf8.FullRune(src[nSrc:]) {
+ err = transform.ErrShortSrc
+ break
+ }
+ }
+ }
+
+ if r >= utf8.RuneSelf {
+ // func init checks that the switch covers all tables.
+ switch {
+ case encode0Low <= r && r < encode0High:
+ if r = rune(encode0[r-encode0Low]); r != 0 {
+ goto write2
+ }
+ case encode1Low <= r && r < encode1High:
+ if r = rune(encode1[r-encode1Low]); r != 0 {
+ goto write2
+ }
+ case encode2Low <= r && r < encode2High:
+ if r = rune(encode2[r-encode2Low]); r != 0 {
+ goto write2
+ }
+ case encode3Low <= r && r < encode3High:
+ if r = rune(encode3[r-encode3Low]); r != 0 {
+ goto write2
+ }
+ case encode4Low <= r && r < encode4High:
+ if r = rune(encode4[r-encode4Low]); r != 0 {
+ goto write2
+ }
+ case encode5Low <= r && r < encode5High:
+ if r = rune(encode5[r-encode5Low]); r != 0 {
+ goto write2
+ }
+ case encode6Low <= r && r < encode6High:
+ if r = rune(encode6[r-encode6Low]); r != 0 {
+ goto write2
+ }
+ case encode7Low <= r && r < encode7High:
+ if r = rune(encode7[r-encode7Low]); r != 0 {
+ goto write2
+ }
+ }
+ err = internal.ErrASCIIReplacement
+ break
+ }
+
+ write2:
+ if nDst+2 > len(dst) {
+ err = transform.ErrShortDst
+ break
+ }
+ dst[nDst+0] = uint8(r >> 8)
+ dst[nDst+1] = uint8(r)
+ nDst += 2
+ continue
+ }
+ return nDst, nSrc, err
+}
+
+func init() {
+ // Check that the hard-coded encode switch covers all tables.
+ if numEncodeTables != 8 {
+ panic("bad numEncodeTables")
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go
new file mode 100644
index 00000000..d909e38e
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go
@@ -0,0 +1,37142 @@
+// generated by go run maketables.go; DO NOT EDIT
+
+// Package traditionalchinese provides Traditional Chinese encodings such as Big5.
+package traditionalchinese // import "golang.org/x/text/encoding/traditionalchinese"
+
+// decode is the decoding table from Big5 code to Unicode.
+// It is defined at http://encoding.spec.whatwg.org/index-big5.txt
+var decode = [...]uint32{
+ 942: 0x000043F0,
+ 943: 0x00004C32,
+ 944: 0x00004603,
+ 945: 0x000045A6,
+ 946: 0x00004578,
+ 947: 0x00027267,
+ 948: 0x00004D77,
+ 949: 0x000045B3,
+ 950: 0x00027CB1,
+ 951: 0x00004CE2,
+ 952: 0x00027CC5,
+ 953: 0x00003B95,
+ 954: 0x00004736,
+ 955: 0x00004744,
+ 956: 0x00004C47,
+ 957: 0x00004C40,
+ 958: 0x000242BF,
+ 959: 0x00023617,
+ 960: 0x00027352,
+ 961: 0x00026E8B,
+ 962: 0x000270D2,
+ 963: 0x00004C57,
+ 964: 0x0002A351,
+ 965: 0x0000474F,
+ 966: 0x000045DA,
+ 967: 0x00004C85,
+ 968: 0x00027C6C,
+ 969: 0x00004D07,
+ 970: 0x00004AA4,
+ 971: 0x000046A1,
+ 972: 0x00026B23,
+ 973: 0x00007225,
+ 974: 0x00025A54,
+ 975: 0x00021A63,
+ 976: 0x00023E06,
+ 977: 0x00023F61,
+ 978: 0x0000664D,
+ 979: 0x000056FB,
+ 981: 0x00007D95,
+ 982: 0x0000591D,
+ 983: 0x00028BB9,
+ 984: 0x00003DF4,
+ 985: 0x00009734,
+ 986: 0x00027BEF,
+ 987: 0x00005BDB,
+ 988: 0x00021D5E,
+ 989: 0x00005AA4,
+ 990: 0x00003625,
+ 991: 0x00029EB0,
+ 992: 0x00005AD1,
+ 993: 0x00005BB7,
+ 994: 0x00005CFC,
+ 995: 0x0000676E,
+ 996: 0x00008593,
+ 997: 0x00029945,
+ 998: 0x00007461,
+ 999: 0x0000749D,
+ 1000: 0x00003875,
+ 1001: 0x00021D53,
+ 1002: 0x0002369E,
+ 1003: 0x00026021,
+ 1004: 0x00003EEC,
+ 1005: 0x000258DE,
+ 1006: 0x00003AF5,
+ 1007: 0x00007AFC,
+ 1008: 0x00009F97,
+ 1009: 0x00024161,
+ 1010: 0x0002890D,
+ 1011: 0x000231EA,
+ 1012: 0x00020A8A,
+ 1013: 0x0002325E,
+ 1014: 0x0000430A,
+ 1015: 0x00008484,
+ 1016: 0x00009F96,
+ 1017: 0x0000942F,
+ 1018: 0x00004930,
+ 1019: 0x00008613,
+ 1020: 0x00005896,
+ 1021: 0x0000974A,
+ 1022: 0x00009218,
+ 1023: 0x000079D0,
+ 1024: 0x00007A32,
+ 1025: 0x00006660,
+ 1026: 0x00006A29,
+ 1027: 0x0000889D,
+ 1028: 0x0000744C,
+ 1029: 0x00007BC5,
+ 1030: 0x00006782,
+ 1031: 0x00007A2C,
+ 1032: 0x0000524F,
+ 1033: 0x00009046,
+ 1034: 0x000034E6,
+ 1035: 0x000073C4,
+ 1036: 0x00025DB9,
+ 1037: 0x000074C6,
+ 1038: 0x00009FC7,
+ 1039: 0x000057B3,
+ 1040: 0x0000492F,
+ 1041: 0x0000544C,
+ 1042: 0x00004131,
+ 1043: 0x0002368E,
+ 1044: 0x00005818,
+ 1045: 0x00007A72,
+ 1046: 0x00027B65,
+ 1047: 0x00008B8F,
+ 1048: 0x000046AE,
+ 1049: 0x00026E88,
+ 1050: 0x00004181,
+ 1051: 0x00025D99,
+ 1052: 0x00007BAE,
+ 1053: 0x000224BC,
+ 1054: 0x00009FC8,
+ 1055: 0x000224C1,
+ 1056: 0x000224C9,
+ 1057: 0x000224CC,
+ 1058: 0x00009FC9,
+ 1059: 0x00008504,
+ 1060: 0x000235BB,
+ 1061: 0x000040B4,
+ 1062: 0x00009FCA,
+ 1063: 0x000044E1,
+ 1064: 0x0002ADFF,
+ 1065: 0x000062C1,
+ 1066: 0x0000706E,
+ 1067: 0x00009FCB,
+ 1099: 0x000031C0,
+ 1100: 0x000031C1,
+ 1101: 0x000031C2,
+ 1102: 0x000031C3,
+ 1103: 0x000031C4,
+ 1104: 0x0002010C,
+ 1105: 0x000031C5,
+ 1106: 0x000200D1,
+ 1107: 0x000200CD,
+ 1108: 0x000031C6,
+ 1109: 0x000031C7,
+ 1110: 0x000200CB,
+ 1111: 0x00021FE8,
+ 1112: 0x000031C8,
+ 1113: 0x000200CA,
+ 1114: 0x000031C9,
+ 1115: 0x000031CA,
+ 1116: 0x000031CB,
+ 1117: 0x000031CC,
+ 1118: 0x0002010E,
+ 1119: 0x000031CD,
+ 1120: 0x000031CE,
+ 1121: 0x00000100,
+ 1122: 0x000000C1,
+ 1123: 0x000001CD,
+ 1124: 0x000000C0,
+ 1125: 0x00000112,
+ 1126: 0x000000C9,
+ 1127: 0x0000011A,
+ 1128: 0x000000C8,
+ 1129: 0x0000014C,
+ 1130: 0x000000D3,
+ 1131: 0x000001D1,
+ 1132: 0x000000D2,
+ 1134: 0x00001EBE,
+ 1136: 0x00001EC0,
+ 1137: 0x000000CA,
+ 1138: 0x00000101,
+ 1139: 0x000000E1,
+ 1140: 0x000001CE,
+ 1141: 0x000000E0,
+ 1142: 0x00000251,
+ 1143: 0x00000113,
+ 1144: 0x000000E9,
+ 1145: 0x0000011B,
+ 1146: 0x000000E8,
+ 1147: 0x0000012B,
+ 1148: 0x000000ED,
+ 1149: 0x000001D0,
+ 1150: 0x000000EC,
+ 1151: 0x0000014D,
+ 1152: 0x000000F3,
+ 1153: 0x000001D2,
+ 1154: 0x000000F2,
+ 1155: 0x0000016B,
+ 1156: 0x000000FA,
+ 1157: 0x000001D4,
+ 1158: 0x000000F9,
+ 1159: 0x000001D6,
+ 1160: 0x000001D8,
+ 1161: 0x000001DA,
+ 1162: 0x000001DC,
+ 1163: 0x000000FC,
+ 1165: 0x00001EBF,
+ 1167: 0x00001EC1,
+ 1168: 0x000000EA,
+ 1169: 0x00000261,
+ 1170: 0x000023DA,
+ 1171: 0x000023DB,
+ 1256: 0x0002A3A9,
+ 1257: 0x00021145,
+ 1259: 0x0000650A,
+ 1262: 0x00004E3D,
+ 1263: 0x00006EDD,
+ 1264: 0x00009D4E,
+ 1265: 0x000091DF,
+ 1268: 0x00027735,
+ 1269: 0x00006491,
+ 1270: 0x00004F1A,
+ 1271: 0x00004F28,
+ 1272: 0x00004FA8,
+ 1273: 0x00005156,
+ 1274: 0x00005174,
+ 1275: 0x0000519C,
+ 1276: 0x000051E4,
+ 1277: 0x000052A1,
+ 1278: 0x000052A8,
+ 1279: 0x0000533B,
+ 1280: 0x0000534E,
+ 1281: 0x000053D1,
+ 1282: 0x000053D8,
+ 1283: 0x000056E2,
+ 1284: 0x000058F0,
+ 1285: 0x00005904,
+ 1286: 0x00005907,
+ 1287: 0x00005932,
+ 1288: 0x00005934,
+ 1289: 0x00005B66,
+ 1290: 0x00005B9E,
+ 1291: 0x00005B9F,
+ 1292: 0x00005C9A,
+ 1293: 0x00005E86,
+ 1294: 0x0000603B,
+ 1295: 0x00006589,
+ 1296: 0x000067FE,
+ 1297: 0x00006804,
+ 1298: 0x00006865,
+ 1299: 0x00006D4E,
+ 1300: 0x000070BC,
+ 1301: 0x00007535,
+ 1302: 0x00007EA4,
+ 1303: 0x00007EAC,
+ 1304: 0x00007EBA,
+ 1305: 0x00007EC7,
+ 1306: 0x00007ECF,
+ 1307: 0x00007EDF,
+ 1308: 0x00007F06,
+ 1309: 0x00007F37,
+ 1310: 0x0000827A,
+ 1311: 0x000082CF,
+ 1312: 0x0000836F,
+ 1313: 0x000089C6,
+ 1314: 0x00008BBE,
+ 1315: 0x00008BE2,
+ 1316: 0x00008F66,
+ 1317: 0x00008F67,
+ 1318: 0x00008F6E,
+ 1319: 0x00007411,
+ 1320: 0x00007CFC,
+ 1321: 0x00007DCD,
+ 1322: 0x00006946,
+ 1323: 0x00007AC9,
+ 1324: 0x00005227,
+ 1329: 0x0000918C,
+ 1330: 0x000078B8,
+ 1331: 0x0000915E,
+ 1332: 0x000080BC,
+ 1334: 0x00008D0B,
+ 1335: 0x000080F6,
+ 1336: 0x000209E7,
+ 1339: 0x0000809F,
+ 1340: 0x00009EC7,
+ 1341: 0x00004CCD,
+ 1342: 0x00009DC9,
+ 1343: 0x00009E0C,
+ 1344: 0x00004C3E,
+ 1345: 0x00029DF6,
+ 1346: 0x0002700E,
+ 1347: 0x00009E0A,
+ 1348: 0x0002A133,
+ 1349: 0x000035C1,
+ 1351: 0x00006E9A,
+ 1352: 0x0000823E,
+ 1353: 0x00007519,
+ 1355: 0x00004911,
+ 1356: 0x00009A6C,
+ 1357: 0x00009A8F,
+ 1358: 0x00009F99,
+ 1359: 0x00007987,
+ 1360: 0x0002846C,
+ 1361: 0x00021DCA,
+ 1362: 0x000205D0,
+ 1363: 0x00022AE6,
+ 1364: 0x00004E24,
+ 1365: 0x00004E81,
+ 1366: 0x00004E80,
+ 1367: 0x00004E87,
+ 1368: 0x00004EBF,
+ 1369: 0x00004EEB,
+ 1370: 0x00004F37,
+ 1371: 0x0000344C,
+ 1372: 0x00004FBD,
+ 1373: 0x00003E48,
+ 1374: 0x00005003,
+ 1375: 0x00005088,
+ 1376: 0x0000347D,
+ 1377: 0x00003493,
+ 1378: 0x000034A5,
+ 1379: 0x00005186,
+ 1380: 0x00005905,
+ 1381: 0x000051DB,
+ 1382: 0x000051FC,
+ 1383: 0x00005205,
+ 1384: 0x00004E89,
+ 1385: 0x00005279,
+ 1386: 0x00005290,
+ 1387: 0x00005327,
+ 1388: 0x000035C7,
+ 1389: 0x000053A9,
+ 1390: 0x00003551,
+ 1391: 0x000053B0,
+ 1392: 0x00003553,
+ 1393: 0x000053C2,
+ 1394: 0x00005423,
+ 1395: 0x0000356D,
+ 1396: 0x00003572,
+ 1397: 0x00003681,
+ 1398: 0x00005493,
+ 1399: 0x000054A3,
+ 1400: 0x000054B4,
+ 1401: 0x000054B9,
+ 1402: 0x000054D0,
+ 1403: 0x000054EF,
+ 1404: 0x00005518,
+ 1405: 0x00005523,
+ 1406: 0x00005528,
+ 1407: 0x00003598,
+ 1408: 0x0000553F,
+ 1409: 0x000035A5,
+ 1410: 0x000035BF,
+ 1411: 0x000055D7,
+ 1412: 0x000035C5,
+ 1413: 0x00027D84,
+ 1414: 0x00005525,
+ 1416: 0x00020C42,
+ 1417: 0x00020D15,
+ 1418: 0x0002512B,
+ 1419: 0x00005590,
+ 1420: 0x00022CC6,
+ 1421: 0x000039EC,
+ 1422: 0x00020341,
+ 1423: 0x00008E46,
+ 1424: 0x00024DB8,
+ 1425: 0x000294E5,
+ 1426: 0x00004053,
+ 1427: 0x000280BE,
+ 1428: 0x0000777A,
+ 1429: 0x00022C38,
+ 1430: 0x00003A34,
+ 1431: 0x000047D5,
+ 1432: 0x0002815D,
+ 1433: 0x000269F2,
+ 1434: 0x00024DEA,
+ 1435: 0x000064DD,
+ 1436: 0x00020D7C,
+ 1437: 0x00020FB4,
+ 1438: 0x00020CD5,
+ 1439: 0x000210F4,
+ 1440: 0x0000648D,
+ 1441: 0x00008E7E,
+ 1442: 0x00020E96,
+ 1443: 0x00020C0B,
+ 1444: 0x00020F64,
+ 1445: 0x00022CA9,
+ 1446: 0x00028256,
+ 1447: 0x000244D3,
+ 1449: 0x00020D46,
+ 1450: 0x00029A4D,
+ 1451: 0x000280E9,
+ 1452: 0x000047F4,
+ 1453: 0x00024EA7,
+ 1454: 0x00022CC2,
+ 1455: 0x00009AB2,
+ 1456: 0x00003A67,
+ 1457: 0x000295F4,
+ 1458: 0x00003FED,
+ 1459: 0x00003506,
+ 1460: 0x000252C7,
+ 1461: 0x000297D4,
+ 1462: 0x000278C8,
+ 1463: 0x00022D44,
+ 1464: 0x00009D6E,
+ 1465: 0x00009815,
+ 1467: 0x000043D9,
+ 1468: 0x000260A5,
+ 1469: 0x000064B4,
+ 1470: 0x000054E3,
+ 1471: 0x00022D4C,
+ 1472: 0x00022BCA,
+ 1473: 0x00021077,
+ 1474: 0x000039FB,
+ 1475: 0x0002106F,
+ 1476: 0x000266DA,
+ 1477: 0x00026716,
+ 1478: 0x000279A0,
+ 1479: 0x000064EA,
+ 1480: 0x00025052,
+ 1481: 0x00020C43,
+ 1482: 0x00008E68,
+ 1483: 0x000221A1,
+ 1484: 0x00028B4C,
+ 1485: 0x00020731,
+ 1487: 0x0000480B,
+ 1488: 0x000201A9,
+ 1489: 0x00003FFA,
+ 1490: 0x00005873,
+ 1491: 0x00022D8D,
+ 1493: 0x000245C8,
+ 1494: 0x000204FC,
+ 1495: 0x00026097,
+ 1496: 0x00020F4C,
+ 1497: 0x00020D96,
+ 1498: 0x00005579,
+ 1499: 0x000040BB,
+ 1500: 0x000043BA,
+ 1502: 0x00004AB4,
+ 1503: 0x00022A66,
+ 1504: 0x0002109D,
+ 1505: 0x000081AA,
+ 1506: 0x000098F5,
+ 1507: 0x00020D9C,
+ 1508: 0x00006379,
+ 1509: 0x000039FE,
+ 1510: 0x00022775,
+ 1511: 0x00008DC0,
+ 1512: 0x000056A1,
+ 1513: 0x0000647C,
+ 1514: 0x00003E43,
+ 1516: 0x0002A601,
+ 1517: 0x00020E09,
+ 1518: 0x00022ACF,
+ 1519: 0x00022CC9,
+ 1521: 0x000210C8,
+ 1522: 0x000239C2,
+ 1523: 0x00003992,
+ 1524: 0x00003A06,
+ 1525: 0x0002829B,
+ 1526: 0x00003578,
+ 1527: 0x00025E49,
+ 1528: 0x000220C7,
+ 1529: 0x00005652,
+ 1530: 0x00020F31,
+ 1531: 0x00022CB2,
+ 1532: 0x00029720,
+ 1533: 0x000034BC,
+ 1534: 0x00006C3D,
+ 1535: 0x00024E3B,
+ 1538: 0x00027574,
+ 1539: 0x00022E8B,
+ 1540: 0x00022208,
+ 1541: 0x0002A65B,
+ 1542: 0x00028CCD,
+ 1543: 0x00020E7A,
+ 1544: 0x00020C34,
+ 1545: 0x0002681C,
+ 1546: 0x00007F93,
+ 1547: 0x000210CF,
+ 1548: 0x00022803,
+ 1549: 0x00022939,
+ 1550: 0x000035FB,
+ 1551: 0x000251E3,
+ 1552: 0x00020E8C,
+ 1553: 0x00020F8D,
+ 1554: 0x00020EAA,
+ 1555: 0x00003F93,
+ 1556: 0x00020F30,
+ 1557: 0x00020D47,
+ 1558: 0x0002114F,
+ 1559: 0x00020E4C,
+ 1561: 0x00020EAB,
+ 1562: 0x00020BA9,
+ 1563: 0x00020D48,
+ 1564: 0x000210C0,
+ 1565: 0x0002113D,
+ 1566: 0x00003FF9,
+ 1567: 0x00022696,
+ 1568: 0x00006432,
+ 1569: 0x00020FAD,
+ 1570: 0x000233F4,
+ 1571: 0x00027639,
+ 1572: 0x00022BCE,
+ 1573: 0x00020D7E,
+ 1574: 0x00020D7F,
+ 1575: 0x00022C51,
+ 1576: 0x00022C55,
+ 1577: 0x00003A18,
+ 1578: 0x00020E98,
+ 1579: 0x000210C7,
+ 1580: 0x00020F2E,
+ 1581: 0x0002A632,
+ 1582: 0x00026B50,
+ 1583: 0x00028CD2,
+ 1584: 0x00028D99,
+ 1585: 0x00028CCA,
+ 1586: 0x000095AA,
+ 1587: 0x000054CC,
+ 1588: 0x000082C4,
+ 1589: 0x000055B9,
+ 1591: 0x00029EC3,
+ 1592: 0x00009C26,
+ 1593: 0x00009AB6,
+ 1594: 0x0002775E,
+ 1595: 0x00022DEE,
+ 1596: 0x00007140,
+ 1597: 0x0000816D,
+ 1598: 0x000080EC,
+ 1599: 0x00005C1C,
+ 1600: 0x00026572,
+ 1601: 0x00008134,
+ 1602: 0x00003797,
+ 1603: 0x0000535F,
+ 1604: 0x000280BD,
+ 1605: 0x000091B6,
+ 1606: 0x00020EFA,
+ 1607: 0x00020E0F,
+ 1608: 0x00020E77,
+ 1609: 0x00020EFB,
+ 1610: 0x000035DD,
+ 1611: 0x00024DEB,
+ 1612: 0x00003609,
+ 1613: 0x00020CD6,
+ 1614: 0x000056AF,
+ 1615: 0x000227B5,
+ 1616: 0x000210C9,
+ 1617: 0x00020E10,
+ 1618: 0x00020E78,
+ 1619: 0x00021078,
+ 1620: 0x00021148,
+ 1621: 0x00028207,
+ 1622: 0x00021455,
+ 1623: 0x00020E79,
+ 1624: 0x00024E50,
+ 1625: 0x00022DA4,
+ 1626: 0x00005A54,
+ 1627: 0x0002101D,
+ 1628: 0x0002101E,
+ 1629: 0x000210F5,
+ 1630: 0x000210F6,
+ 1631: 0x0000579C,
+ 1632: 0x00020E11,
+ 1633: 0x00027694,
+ 1634: 0x000282CD,
+ 1635: 0x00020FB5,
+ 1636: 0x00020E7B,
+ 1637: 0x0002517E,
+ 1638: 0x00003703,
+ 1639: 0x00020FB6,
+ 1640: 0x00021180,
+ 1641: 0x000252D8,
+ 1642: 0x0002A2BD,
+ 1643: 0x000249DA,
+ 1644: 0x0002183A,
+ 1645: 0x00024177,
+ 1646: 0x0002827C,
+ 1647: 0x00005899,
+ 1648: 0x00005268,
+ 1649: 0x0000361A,
+ 1650: 0x0002573D,
+ 1651: 0x00007BB2,
+ 1652: 0x00005B68,
+ 1653: 0x00004800,
+ 1654: 0x00004B2C,
+ 1655: 0x00009F27,
+ 1656: 0x000049E7,
+ 1657: 0x00009C1F,
+ 1658: 0x00009B8D,
+ 1659: 0x00025B74,
+ 1660: 0x0002313D,
+ 1661: 0x000055FB,
+ 1662: 0x000035F2,
+ 1663: 0x00005689,
+ 1664: 0x00004E28,
+ 1665: 0x00005902,
+ 1666: 0x00021BC1,
+ 1667: 0x0002F878,
+ 1668: 0x00009751,
+ 1669: 0x00020086,
+ 1670: 0x00004E5B,
+ 1671: 0x00004EBB,
+ 1672: 0x0000353E,
+ 1673: 0x00005C23,
+ 1674: 0x00005F51,
+ 1675: 0x00005FC4,
+ 1676: 0x000038FA,
+ 1677: 0x0000624C,
+ 1678: 0x00006535,
+ 1679: 0x00006B7A,
+ 1680: 0x00006C35,
+ 1681: 0x00006C3A,
+ 1682: 0x0000706C,
+ 1683: 0x0000722B,
+ 1684: 0x00004E2C,
+ 1685: 0x000072AD,
+ 1686: 0x000248E9,
+ 1687: 0x00007F52,
+ 1688: 0x0000793B,
+ 1689: 0x00007CF9,
+ 1690: 0x00007F53,
+ 1691: 0x0002626A,
+ 1692: 0x000034C1,
+ 1694: 0x0002634B,
+ 1695: 0x00008002,
+ 1696: 0x00008080,
+ 1697: 0x00026612,
+ 1698: 0x00026951,
+ 1699: 0x0000535D,
+ 1700: 0x00008864,
+ 1701: 0x000089C1,
+ 1702: 0x000278B2,
+ 1703: 0x00008BA0,
+ 1704: 0x00008D1D,
+ 1705: 0x00009485,
+ 1706: 0x00009578,
+ 1707: 0x0000957F,
+ 1708: 0x000095E8,
+ 1709: 0x00028E0F,
+ 1710: 0x000097E6,
+ 1711: 0x00009875,
+ 1712: 0x000098CE,
+ 1713: 0x000098DE,
+ 1714: 0x00009963,
+ 1715: 0x00029810,
+ 1716: 0x00009C7C,
+ 1717: 0x00009E1F,
+ 1718: 0x00009EC4,
+ 1719: 0x00006B6F,
+ 1720: 0x0000F907,
+ 1721: 0x00004E37,
+ 1722: 0x00020087,
+ 1723: 0x0000961D,
+ 1724: 0x00006237,
+ 1725: 0x000094A2,
+ 1727: 0x0000503B,
+ 1728: 0x00006DFE,
+ 1729: 0x00029C73,
+ 1730: 0x00009FA6,
+ 1731: 0x00003DC9,
+ 1732: 0x0000888F,
+ 1733: 0x0002414E,
+ 1734: 0x00007077,
+ 1735: 0x00005CF5,
+ 1736: 0x00004B20,
+ 1737: 0x000251CD,
+ 1738: 0x00003559,
+ 1739: 0x00025D30,
+ 1740: 0x00006122,
+ 1741: 0x00028A32,
+ 1742: 0x00008FA7,
+ 1743: 0x000091F6,
+ 1744: 0x00007191,
+ 1745: 0x00006719,
+ 1746: 0x000073BA,
+ 1747: 0x00023281,
+ 1748: 0x0002A107,
+ 1749: 0x00003C8B,
+ 1750: 0x00021980,
+ 1751: 0x00004B10,
+ 1752: 0x000078E4,
+ 1753: 0x00007402,
+ 1754: 0x000051AE,
+ 1755: 0x0002870F,
+ 1756: 0x00004009,
+ 1757: 0x00006A63,
+ 1758: 0x0002A2BA,
+ 1759: 0x00004223,
+ 1760: 0x0000860F,
+ 1761: 0x00020A6F,
+ 1762: 0x00007A2A,
+ 1763: 0x00029947,
+ 1764: 0x00028AEA,
+ 1765: 0x00009755,
+ 1766: 0x0000704D,
+ 1767: 0x00005324,
+ 1768: 0x0002207E,
+ 1769: 0x000093F4,
+ 1770: 0x000076D9,
+ 1771: 0x000289E3,
+ 1772: 0x00009FA7,
+ 1773: 0x000077DD,
+ 1774: 0x00004EA3,
+ 1775: 0x00004FF0,
+ 1776: 0x000050BC,
+ 1777: 0x00004E2F,
+ 1778: 0x00004F17,
+ 1779: 0x00009FA8,
+ 1780: 0x00005434,
+ 1781: 0x00007D8B,
+ 1782: 0x00005892,
+ 1783: 0x000058D0,
+ 1784: 0x00021DB6,
+ 1785: 0x00005E92,
+ 1786: 0x00005E99,
+ 1787: 0x00005FC2,
+ 1788: 0x00022712,
+ 1789: 0x0000658B,
+ 1790: 0x000233F9,
+ 1791: 0x00006919,
+ 1792: 0x00006A43,
+ 1793: 0x00023C63,
+ 1794: 0x00006CFF,
+ 1796: 0x00007200,
+ 1797: 0x00024505,
+ 1798: 0x0000738C,
+ 1799: 0x00003EDB,
+ 1800: 0x00024A13,
+ 1801: 0x00005B15,
+ 1802: 0x000074B9,
+ 1803: 0x00008B83,
+ 1804: 0x00025CA4,
+ 1805: 0x00025695,
+ 1806: 0x00007A93,
+ 1807: 0x00007BEC,
+ 1808: 0x00007CC3,
+ 1809: 0x00007E6C,
+ 1810: 0x000082F8,
+ 1811: 0x00008597,
+ 1812: 0x00009FA9,
+ 1813: 0x00008890,
+ 1814: 0x00009FAA,
+ 1815: 0x00008EB9,
+ 1816: 0x00009FAB,
+ 1817: 0x00008FCF,
+ 1818: 0x0000855F,
+ 1819: 0x000099E0,
+ 1820: 0x00009221,
+ 1821: 0x00009FAC,
+ 1822: 0x00028DB9,
+ 1823: 0x0002143F,
+ 1824: 0x00004071,
+ 1825: 0x000042A2,
+ 1826: 0x00005A1A,
+ 1830: 0x00009868,
+ 1831: 0x0000676B,
+ 1832: 0x00004276,
+ 1833: 0x0000573D,
+ 1835: 0x000085D6,
+ 1836: 0x0002497B,
+ 1837: 0x000082BF,
+ 1838: 0x0002710D,
+ 1839: 0x00004C81,
+ 1840: 0x00026D74,
+ 1841: 0x00005D7B,
+ 1842: 0x00026B15,
+ 1843: 0x00026FBE,
+ 1844: 0x00009FAD,
+ 1845: 0x00009FAE,
+ 1846: 0x00005B96,
+ 1847: 0x00009FAF,
+ 1848: 0x000066E7,
+ 1849: 0x00007E5B,
+ 1850: 0x00006E57,
+ 1851: 0x000079CA,
+ 1852: 0x00003D88,
+ 1853: 0x000044C3,
+ 1854: 0x00023256,
+ 1855: 0x00022796,
+ 1856: 0x0000439A,
+ 1857: 0x00004536,
+ 1859: 0x00005CD5,
+ 1860: 0x00023B1A,
+ 1861: 0x00008AF9,
+ 1862: 0x00005C78,
+ 1863: 0x00003D12,
+ 1864: 0x00023551,
+ 1865: 0x00005D78,
+ 1866: 0x00009FB2,
+ 1867: 0x00007157,
+ 1868: 0x00004558,
+ 1869: 0x000240EC,
+ 1870: 0x00021E23,
+ 1871: 0x00004C77,
+ 1872: 0x00003978,
+ 1873: 0x0000344A,
+ 1874: 0x000201A4,
+ 1875: 0x00026C41,
+ 1876: 0x00008ACC,
+ 1877: 0x00004FB4,
+ 1878: 0x00020239,
+ 1879: 0x000059BF,
+ 1880: 0x0000816C,
+ 1881: 0x00009856,
+ 1882: 0x000298FA,
+ 1883: 0x00005F3B,
+ 1884: 0x00020B9F,
+ 1886: 0x000221C1,
+ 1887: 0x0002896D,
+ 1888: 0x00004102,
+ 1889: 0x000046BB,
+ 1890: 0x00029079,
+ 1891: 0x00003F07,
+ 1892: 0x00009FB3,
+ 1893: 0x0002A1B5,
+ 1894: 0x000040F8,
+ 1895: 0x000037D6,
+ 1896: 0x000046F7,
+ 1897: 0x00026C46,
+ 1898: 0x0000417C,
+ 1899: 0x000286B2,
+ 1900: 0x000273FF,
+ 1901: 0x0000456D,
+ 1902: 0x000038D4,
+ 1903: 0x0002549A,
+ 1904: 0x00004561,
+ 1905: 0x0000451B,
+ 1906: 0x00004D89,
+ 1907: 0x00004C7B,
+ 1908: 0x00004D76,
+ 1909: 0x000045EA,
+ 1910: 0x00003FC8,
+ 1911: 0x00024B0F,
+ 1912: 0x00003661,
+ 1913: 0x000044DE,
+ 1914: 0x000044BD,
+ 1915: 0x000041ED,
+ 1916: 0x00005D3E,
+ 1917: 0x00005D48,
+ 1918: 0x00005D56,
+ 1919: 0x00003DFC,
+ 1920: 0x0000380F,
+ 1921: 0x00005DA4,
+ 1922: 0x00005DB9,
+ 1923: 0x00003820,
+ 1924: 0x00003838,
+ 1925: 0x00005E42,
+ 1926: 0x00005EBD,
+ 1927: 0x00005F25,
+ 1928: 0x00005F83,
+ 1929: 0x00003908,
+ 1930: 0x00003914,
+ 1931: 0x0000393F,
+ 1932: 0x0000394D,
+ 1933: 0x000060D7,
+ 1934: 0x0000613D,
+ 1935: 0x00005CE5,
+ 1936: 0x00003989,
+ 1937: 0x000061B7,
+ 1938: 0x000061B9,
+ 1939: 0x000061CF,
+ 1940: 0x000039B8,
+ 1941: 0x0000622C,
+ 1942: 0x00006290,
+ 1943: 0x000062E5,
+ 1944: 0x00006318,
+ 1945: 0x000039F8,
+ 1946: 0x000056B1,
+ 1947: 0x00003A03,
+ 1948: 0x000063E2,
+ 1949: 0x000063FB,
+ 1950: 0x00006407,
+ 1951: 0x0000645A,
+ 1952: 0x00003A4B,
+ 1953: 0x000064C0,
+ 1954: 0x00005D15,
+ 1955: 0x00005621,
+ 1956: 0x00009F9F,
+ 1957: 0x00003A97,
+ 1958: 0x00006586,
+ 1959: 0x00003ABD,
+ 1960: 0x000065FF,
+ 1961: 0x00006653,
+ 1962: 0x00003AF2,
+ 1963: 0x00006692,
+ 1964: 0x00003B22,
+ 1965: 0x00006716,
+ 1966: 0x00003B42,
+ 1967: 0x000067A4,
+ 1968: 0x00006800,
+ 1969: 0x00003B58,
+ 1970: 0x0000684A,
+ 1971: 0x00006884,
+ 1972: 0x00003B72,
+ 1973: 0x00003B71,
+ 1974: 0x00003B7B,
+ 1975: 0x00006909,
+ 1976: 0x00006943,
+ 1977: 0x0000725C,
+ 1978: 0x00006964,
+ 1979: 0x0000699F,
+ 1980: 0x00006985,
+ 1981: 0x00003BBC,
+ 1982: 0x000069D6,
+ 1983: 0x00003BDD,
+ 1984: 0x00006A65,
+ 1985: 0x00006A74,
+ 1986: 0x00006A71,
+ 1987: 0x00006A82,
+ 1988: 0x00003BEC,
+ 1989: 0x00006A99,
+ 1990: 0x00003BF2,
+ 1991: 0x00006AAB,
+ 1992: 0x00006AB5,
+ 1993: 0x00006AD4,
+ 1994: 0x00006AF6,
+ 1995: 0x00006B81,
+ 1996: 0x00006BC1,
+ 1997: 0x00006BEA,
+ 1998: 0x00006C75,
+ 1999: 0x00006CAA,
+ 2000: 0x00003CCB,
+ 2001: 0x00006D02,
+ 2002: 0x00006D06,
+ 2003: 0x00006D26,
+ 2004: 0x00006D81,
+ 2005: 0x00003CEF,
+ 2006: 0x00006DA4,
+ 2007: 0x00006DB1,
+ 2008: 0x00006E15,
+ 2009: 0x00006E18,
+ 2010: 0x00006E29,
+ 2011: 0x00006E86,
+ 2012: 0x000289C0,
+ 2013: 0x00006EBB,
+ 2014: 0x00006EE2,
+ 2015: 0x00006EDA,
+ 2016: 0x00009F7F,
+ 2017: 0x00006EE8,
+ 2018: 0x00006EE9,
+ 2019: 0x00006F24,
+ 2020: 0x00006F34,
+ 2021: 0x00003D46,
+ 2022: 0x00023F41,
+ 2023: 0x00006F81,
+ 2024: 0x00006FBE,
+ 2025: 0x00003D6A,
+ 2026: 0x00003D75,
+ 2027: 0x000071B7,
+ 2028: 0x00005C99,
+ 2029: 0x00003D8A,
+ 2030: 0x0000702C,
+ 2031: 0x00003D91,
+ 2032: 0x00007050,
+ 2033: 0x00007054,
+ 2034: 0x0000706F,
+ 2035: 0x0000707F,
+ 2036: 0x00007089,
+ 2037: 0x00020325,
+ 2038: 0x000043C1,
+ 2039: 0x000035F1,
+ 2040: 0x00020ED8,
+ 2041: 0x00023ED7,
+ 2042: 0x000057BE,
+ 2043: 0x00026ED3,
+ 2044: 0x0000713E,
+ 2045: 0x000257E0,
+ 2046: 0x0000364E,
+ 2047: 0x000069A2,
+ 2048: 0x00028BE9,
+ 2049: 0x00005B74,
+ 2050: 0x00007A49,
+ 2051: 0x000258E1,
+ 2052: 0x000294D9,
+ 2053: 0x00007A65,
+ 2054: 0x00007A7D,
+ 2055: 0x000259AC,
+ 2056: 0x00007ABB,
+ 2057: 0x00007AB0,
+ 2058: 0x00007AC2,
+ 2059: 0x00007AC3,
+ 2060: 0x000071D1,
+ 2061: 0x0002648D,
+ 2062: 0x000041CA,
+ 2063: 0x00007ADA,
+ 2064: 0x00007ADD,
+ 2065: 0x00007AEA,
+ 2066: 0x000041EF,
+ 2067: 0x000054B2,
+ 2068: 0x00025C01,
+ 2069: 0x00007B0B,
+ 2070: 0x00007B55,
+ 2071: 0x00007B29,
+ 2072: 0x0002530E,
+ 2073: 0x00025CFE,
+ 2074: 0x00007BA2,
+ 2075: 0x00007B6F,
+ 2076: 0x0000839C,
+ 2077: 0x00025BB4,
+ 2078: 0x00026C7F,
+ 2079: 0x00007BD0,
+ 2080: 0x00008421,
+ 2081: 0x00007B92,
+ 2082: 0x00007BB8,
+ 2083: 0x00025D20,
+ 2084: 0x00003DAD,
+ 2085: 0x00025C65,
+ 2086: 0x00008492,
+ 2087: 0x00007BFA,
+ 2088: 0x00007C06,
+ 2089: 0x00007C35,
+ 2090: 0x00025CC1,
+ 2091: 0x00007C44,
+ 2092: 0x00007C83,
+ 2093: 0x00024882,
+ 2094: 0x00007CA6,
+ 2095: 0x0000667D,
+ 2096: 0x00024578,
+ 2097: 0x00007CC9,
+ 2098: 0x00007CC7,
+ 2099: 0x00007CE6,
+ 2100: 0x00007C74,
+ 2101: 0x00007CF3,
+ 2102: 0x00007CF5,
+ 2103: 0x00007CCE,
+ 2104: 0x00007E67,
+ 2105: 0x0000451D,
+ 2106: 0x00026E44,
+ 2107: 0x00007D5D,
+ 2108: 0x00026ED6,
+ 2109: 0x0000748D,
+ 2110: 0x00007D89,
+ 2111: 0x00007DAB,
+ 2112: 0x00007135,
+ 2113: 0x00007DB3,
+ 2114: 0x00007DD2,
+ 2115: 0x00024057,
+ 2116: 0x00026029,
+ 2117: 0x00007DE4,
+ 2118: 0x00003D13,
+ 2119: 0x00007DF5,
+ 2120: 0x000217F9,
+ 2121: 0x00007DE5,
+ 2122: 0x0002836D,
+ 2123: 0x00007E1D,
+ 2124: 0x00026121,
+ 2125: 0x0002615A,
+ 2126: 0x00007E6E,
+ 2127: 0x00007E92,
+ 2128: 0x0000432B,
+ 2129: 0x0000946C,
+ 2130: 0x00007E27,
+ 2131: 0x00007F40,
+ 2132: 0x00007F41,
+ 2133: 0x00007F47,
+ 2134: 0x00007936,
+ 2135: 0x000262D0,
+ 2136: 0x000099E1,
+ 2137: 0x00007F97,
+ 2138: 0x00026351,
+ 2139: 0x00007FA3,
+ 2140: 0x00021661,
+ 2141: 0x00020068,
+ 2142: 0x0000455C,
+ 2143: 0x00023766,
+ 2144: 0x00004503,
+ 2145: 0x0002833A,
+ 2146: 0x00007FFA,
+ 2147: 0x00026489,
+ 2148: 0x00008005,
+ 2149: 0x00008008,
+ 2150: 0x0000801D,
+ 2151: 0x00008028,
+ 2152: 0x0000802F,
+ 2153: 0x0002A087,
+ 2154: 0x00026CC3,
+ 2155: 0x0000803B,
+ 2156: 0x0000803C,
+ 2157: 0x00008061,
+ 2158: 0x00022714,
+ 2159: 0x00004989,
+ 2160: 0x00026626,
+ 2161: 0x00023DE3,
+ 2162: 0x000266E8,
+ 2163: 0x00006725,
+ 2164: 0x000080A7,
+ 2165: 0x00028A48,
+ 2166: 0x00008107,
+ 2167: 0x0000811A,
+ 2168: 0x000058B0,
+ 2169: 0x000226F6,
+ 2170: 0x00006C7F,
+ 2171: 0x00026498,
+ 2172: 0x00024FB8,
+ 2173: 0x000064E7,
+ 2174: 0x0002148A,
+ 2175: 0x00008218,
+ 2176: 0x0002185E,
+ 2177: 0x00006A53,
+ 2178: 0x00024A65,
+ 2179: 0x00024A95,
+ 2180: 0x0000447A,
+ 2181: 0x00008229,
+ 2182: 0x00020B0D,
+ 2183: 0x00026A52,
+ 2184: 0x00023D7E,
+ 2185: 0x00004FF9,
+ 2186: 0x000214FD,
+ 2187: 0x000084E2,
+ 2188: 0x00008362,
+ 2189: 0x00026B0A,
+ 2190: 0x000249A7,
+ 2191: 0x00023530,
+ 2192: 0x00021773,
+ 2193: 0x00023DF8,
+ 2194: 0x000082AA,
+ 2195: 0x0000691B,
+ 2196: 0x0002F994,
+ 2197: 0x000041DB,
+ 2198: 0x0000854B,
+ 2199: 0x000082D0,
+ 2200: 0x0000831A,
+ 2201: 0x00020E16,
+ 2202: 0x000217B4,
+ 2203: 0x000036C1,
+ 2204: 0x0002317D,
+ 2205: 0x0002355A,
+ 2206: 0x0000827B,
+ 2207: 0x000082E2,
+ 2208: 0x00008318,
+ 2209: 0x00023E8B,
+ 2210: 0x00026DA3,
+ 2211: 0x00026B05,
+ 2212: 0x00026B97,
+ 2213: 0x000235CE,
+ 2214: 0x00003DBF,
+ 2215: 0x0000831D,
+ 2216: 0x000055EC,
+ 2217: 0x00008385,
+ 2218: 0x0000450B,
+ 2219: 0x00026DA5,
+ 2220: 0x000083AC,
+ 2221: 0x000083C1,
+ 2222: 0x000083D3,
+ 2223: 0x0000347E,
+ 2224: 0x00026ED4,
+ 2225: 0x00006A57,
+ 2226: 0x0000855A,
+ 2227: 0x00003496,
+ 2228: 0x00026E42,
+ 2229: 0x00022EEF,
+ 2230: 0x00008458,
+ 2231: 0x00025BE4,
+ 2232: 0x00008471,
+ 2233: 0x00003DD3,
+ 2234: 0x000044E4,
+ 2235: 0x00006AA7,
+ 2236: 0x0000844A,
+ 2237: 0x00023CB5,
+ 2238: 0x00007958,
+ 2239: 0x000084A8,
+ 2240: 0x00026B96,
+ 2241: 0x00026E77,
+ 2242: 0x00026E43,
+ 2243: 0x000084DE,
+ 2244: 0x0000840F,
+ 2245: 0x00008391,
+ 2246: 0x000044A0,
+ 2247: 0x00008493,
+ 2248: 0x000084E4,
+ 2249: 0x00025C91,
+ 2250: 0x00004240,
+ 2251: 0x00025CC0,
+ 2252: 0x00004543,
+ 2253: 0x00008534,
+ 2254: 0x00005AF2,
+ 2255: 0x00026E99,
+ 2256: 0x00004527,
+ 2257: 0x00008573,
+ 2258: 0x00004516,
+ 2259: 0x000067BF,
+ 2260: 0x00008616,
+ 2261: 0x00028625,
+ 2262: 0x0002863B,
+ 2263: 0x000085C1,
+ 2264: 0x00027088,
+ 2265: 0x00008602,
+ 2266: 0x00021582,
+ 2267: 0x000270CD,
+ 2268: 0x0002F9B2,
+ 2269: 0x0000456A,
+ 2270: 0x00008628,
+ 2271: 0x00003648,
+ 2272: 0x000218A2,
+ 2273: 0x000053F7,
+ 2274: 0x0002739A,
+ 2275: 0x0000867E,
+ 2276: 0x00008771,
+ 2277: 0x0002A0F8,
+ 2278: 0x000087EE,
+ 2279: 0x00022C27,
+ 2280: 0x000087B1,
+ 2281: 0x000087DA,
+ 2282: 0x0000880F,
+ 2283: 0x00005661,
+ 2284: 0x0000866C,
+ 2285: 0x00006856,
+ 2286: 0x0000460F,
+ 2287: 0x00008845,
+ 2288: 0x00008846,
+ 2289: 0x000275E0,
+ 2290: 0x00023DB9,
+ 2291: 0x000275E4,
+ 2292: 0x0000885E,
+ 2293: 0x0000889C,
+ 2294: 0x0000465B,
+ 2295: 0x000088B4,
+ 2296: 0x000088B5,
+ 2297: 0x000063C1,
+ 2298: 0x000088C5,
+ 2299: 0x00007777,
+ 2300: 0x0002770F,
+ 2301: 0x00008987,
+ 2302: 0x0000898A,
+ 2303: 0x000089A6,
+ 2304: 0x000089A9,
+ 2305: 0x000089A7,
+ 2306: 0x000089BC,
+ 2307: 0x00028A25,
+ 2308: 0x000089E7,
+ 2309: 0x00027924,
+ 2310: 0x00027ABD,
+ 2311: 0x00008A9C,
+ 2312: 0x00007793,
+ 2313: 0x000091FE,
+ 2314: 0x00008A90,
+ 2315: 0x00027A59,
+ 2316: 0x00007AE9,
+ 2317: 0x00027B3A,
+ 2318: 0x00023F8F,
+ 2319: 0x00004713,
+ 2320: 0x00027B38,
+ 2321: 0x0000717C,
+ 2322: 0x00008B0C,
+ 2323: 0x00008B1F,
+ 2324: 0x00025430,
+ 2325: 0x00025565,
+ 2326: 0x00008B3F,
+ 2327: 0x00008B4C,
+ 2328: 0x00008B4D,
+ 2329: 0x00008AA9,
+ 2330: 0x00024A7A,
+ 2331: 0x00008B90,
+ 2332: 0x00008B9B,
+ 2333: 0x00008AAF,
+ 2334: 0x000216DF,
+ 2335: 0x00004615,
+ 2336: 0x0000884F,
+ 2337: 0x00008C9B,
+ 2338: 0x00027D54,
+ 2339: 0x00027D8F,
+ 2340: 0x0002F9D4,
+ 2341: 0x00003725,
+ 2342: 0x00027D53,
+ 2343: 0x00008CD6,
+ 2344: 0x00027D98,
+ 2345: 0x00027DBD,
+ 2346: 0x00008D12,
+ 2347: 0x00008D03,
+ 2348: 0x00021910,
+ 2349: 0x00008CDB,
+ 2350: 0x0000705C,
+ 2351: 0x00008D11,
+ 2352: 0x00024CC9,
+ 2353: 0x00003ED0,
+ 2354: 0x00008D77,
+ 2355: 0x00008DA9,
+ 2356: 0x00028002,
+ 2357: 0x00021014,
+ 2358: 0x0002498A,
+ 2359: 0x00003B7C,
+ 2360: 0x000281BC,
+ 2361: 0x0002710C,
+ 2362: 0x00007AE7,
+ 2363: 0x00008EAD,
+ 2364: 0x00008EB6,
+ 2365: 0x00008EC3,
+ 2366: 0x000092D4,
+ 2367: 0x00008F19,
+ 2368: 0x00008F2D,
+ 2369: 0x00028365,
+ 2370: 0x00028412,
+ 2371: 0x00008FA5,
+ 2372: 0x00009303,
+ 2373: 0x0002A29F,
+ 2374: 0x00020A50,
+ 2375: 0x00008FB3,
+ 2376: 0x0000492A,
+ 2377: 0x000289DE,
+ 2378: 0x0002853D,
+ 2379: 0x00023DBB,
+ 2380: 0x00005EF8,
+ 2381: 0x00023262,
+ 2382: 0x00008FF9,
+ 2383: 0x0002A014,
+ 2384: 0x000286BC,
+ 2385: 0x00028501,
+ 2386: 0x00022325,
+ 2387: 0x00003980,
+ 2388: 0x00026ED7,
+ 2389: 0x00009037,
+ 2390: 0x0002853C,
+ 2391: 0x00027ABE,
+ 2392: 0x00009061,
+ 2393: 0x0002856C,
+ 2394: 0x0002860B,
+ 2395: 0x000090A8,
+ 2396: 0x00028713,
+ 2397: 0x000090C4,
+ 2398: 0x000286E6,
+ 2399: 0x000090AE,
+ 2400: 0x000090FD,
+ 2401: 0x00009167,
+ 2402: 0x00003AF0,
+ 2403: 0x000091A9,
+ 2404: 0x000091C4,
+ 2405: 0x00007CAC,
+ 2406: 0x00028933,
+ 2407: 0x00021E89,
+ 2408: 0x0000920E,
+ 2409: 0x00006C9F,
+ 2410: 0x00009241,
+ 2411: 0x00009262,
+ 2412: 0x000255B9,
+ 2413: 0x000092B9,
+ 2414: 0x00028AC6,
+ 2415: 0x00023C9B,
+ 2416: 0x00028B0C,
+ 2417: 0x000255DB,
+ 2418: 0x00020D31,
+ 2419: 0x0000932C,
+ 2420: 0x0000936B,
+ 2421: 0x00028AE1,
+ 2422: 0x00028BEB,
+ 2423: 0x0000708F,
+ 2424: 0x00005AC3,
+ 2425: 0x00028AE2,
+ 2426: 0x00028AE5,
+ 2427: 0x00004965,
+ 2428: 0x00009244,
+ 2429: 0x00028BEC,
+ 2430: 0x00028C39,
+ 2431: 0x00028BFF,
+ 2432: 0x00009373,
+ 2433: 0x0000945B,
+ 2434: 0x00008EBC,
+ 2435: 0x00009585,
+ 2436: 0x000095A6,
+ 2437: 0x00009426,
+ 2438: 0x000095A0,
+ 2439: 0x00006FF6,
+ 2440: 0x000042B9,
+ 2441: 0x0002267A,
+ 2442: 0x000286D8,
+ 2443: 0x0002127C,
+ 2444: 0x00023E2E,
+ 2445: 0x000049DF,
+ 2446: 0x00006C1C,
+ 2447: 0x0000967B,
+ 2448: 0x00009696,
+ 2449: 0x0000416C,
+ 2450: 0x000096A3,
+ 2451: 0x00026ED5,
+ 2452: 0x000061DA,
+ 2453: 0x000096B6,
+ 2454: 0x000078F5,
+ 2455: 0x00028AE0,
+ 2456: 0x000096BD,
+ 2457: 0x000053CC,
+ 2458: 0x000049A1,
+ 2459: 0x00026CB8,
+ 2460: 0x00020274,
+ 2461: 0x00026410,
+ 2462: 0x000290AF,
+ 2463: 0x000290E5,
+ 2464: 0x00024AD1,
+ 2465: 0x00021915,
+ 2466: 0x0002330A,
+ 2467: 0x00009731,
+ 2468: 0x00008642,
+ 2469: 0x00009736,
+ 2470: 0x00004A0F,
+ 2471: 0x0000453D,
+ 2472: 0x00004585,
+ 2473: 0x00024AE9,
+ 2474: 0x00007075,
+ 2475: 0x00005B41,
+ 2476: 0x0000971B,
+ 2477: 0x0000975C,
+ 2478: 0x000291D5,
+ 2479: 0x00009757,
+ 2480: 0x00005B4A,
+ 2481: 0x000291EB,
+ 2482: 0x0000975F,
+ 2483: 0x00009425,
+ 2484: 0x000050D0,
+ 2485: 0x000230B7,
+ 2486: 0x000230BC,
+ 2487: 0x00009789,
+ 2488: 0x0000979F,
+ 2489: 0x000097B1,
+ 2490: 0x000097BE,
+ 2491: 0x000097C0,
+ 2492: 0x000097D2,
+ 2493: 0x000097E0,
+ 2494: 0x0002546C,
+ 2495: 0x000097EE,
+ 2496: 0x0000741C,
+ 2497: 0x00029433,
+ 2498: 0x000097FF,
+ 2499: 0x000097F5,
+ 2500: 0x0002941D,
+ 2501: 0x0002797A,
+ 2502: 0x00004AD1,
+ 2503: 0x00009834,
+ 2504: 0x00009833,
+ 2505: 0x0000984B,
+ 2506: 0x00009866,
+ 2507: 0x00003B0E,
+ 2508: 0x00027175,
+ 2509: 0x00003D51,
+ 2510: 0x00020630,
+ 2511: 0x0002415C,
+ 2512: 0x00025706,
+ 2513: 0x000098CA,
+ 2514: 0x000098B7,
+ 2515: 0x000098C8,
+ 2516: 0x000098C7,
+ 2517: 0x00004AFF,
+ 2518: 0x00026D27,
+ 2519: 0x000216D3,
+ 2520: 0x000055B0,
+ 2521: 0x000098E1,
+ 2522: 0x000098E6,
+ 2523: 0x000098EC,
+ 2524: 0x00009378,
+ 2525: 0x00009939,
+ 2526: 0x00024A29,
+ 2527: 0x00004B72,
+ 2528: 0x00029857,
+ 2529: 0x00029905,
+ 2530: 0x000099F5,
+ 2531: 0x00009A0C,
+ 2532: 0x00009A3B,
+ 2533: 0x00009A10,
+ 2534: 0x00009A58,
+ 2535: 0x00025725,
+ 2536: 0x000036C4,
+ 2537: 0x000290B1,
+ 2538: 0x00029BD5,
+ 2539: 0x00009AE0,
+ 2540: 0x00009AE2,
+ 2541: 0x00029B05,
+ 2542: 0x00009AF4,
+ 2543: 0x00004C0E,
+ 2544: 0x00009B14,
+ 2545: 0x00009B2D,
+ 2546: 0x00028600,
+ 2547: 0x00005034,
+ 2548: 0x00009B34,
+ 2549: 0x000269A8,
+ 2550: 0x000038C3,
+ 2551: 0x0002307D,
+ 2552: 0x00009B50,
+ 2553: 0x00009B40,
+ 2554: 0x00029D3E,
+ 2555: 0x00005A45,
+ 2556: 0x00021863,
+ 2557: 0x00009B8E,
+ 2558: 0x0002424B,
+ 2559: 0x00009C02,
+ 2560: 0x00009BFF,
+ 2561: 0x00009C0C,
+ 2562: 0x00029E68,
+ 2563: 0x00009DD4,
+ 2564: 0x00029FB7,
+ 2565: 0x0002A192,
+ 2566: 0x0002A1AB,
+ 2567: 0x0002A0E1,
+ 2568: 0x0002A123,
+ 2569: 0x0002A1DF,
+ 2570: 0x00009D7E,
+ 2571: 0x00009D83,
+ 2572: 0x0002A134,
+ 2573: 0x00009E0E,
+ 2574: 0x00006888,
+ 2575: 0x00009DC4,
+ 2576: 0x0002215B,
+ 2577: 0x0002A193,
+ 2578: 0x0002A220,
+ 2579: 0x0002193B,
+ 2580: 0x0002A233,
+ 2581: 0x00009D39,
+ 2582: 0x0002A0B9,
+ 2583: 0x0002A2B4,
+ 2584: 0x00009E90,
+ 2585: 0x00009E95,
+ 2586: 0x00009E9E,
+ 2587: 0x00009EA2,
+ 2588: 0x00004D34,
+ 2589: 0x00009EAA,
+ 2590: 0x00009EAF,
+ 2591: 0x00024364,
+ 2592: 0x00009EC1,
+ 2593: 0x00003B60,
+ 2594: 0x000039E5,
+ 2595: 0x00003D1D,
+ 2596: 0x00004F32,
+ 2597: 0x000037BE,
+ 2598: 0x00028C2B,
+ 2599: 0x00009F02,
+ 2600: 0x00009F08,
+ 2601: 0x00004B96,
+ 2602: 0x00009424,
+ 2603: 0x00026DA2,
+ 2604: 0x00009F17,
+ 2605: 0x00009F16,
+ 2606: 0x00009F39,
+ 2607: 0x0000569F,
+ 2608: 0x0000568A,
+ 2609: 0x00009F45,
+ 2610: 0x000099B8,
+ 2611: 0x0002908B,
+ 2612: 0x000097F2,
+ 2613: 0x0000847F,
+ 2614: 0x00009F62,
+ 2615: 0x00009F69,
+ 2616: 0x00007ADC,
+ 2617: 0x00009F8E,
+ 2618: 0x00007216,
+ 2619: 0x00004BBE,
+ 2620: 0x00024975,
+ 2621: 0x000249BB,
+ 2622: 0x00007177,
+ 2623: 0x000249F8,
+ 2624: 0x00024348,
+ 2625: 0x00024A51,
+ 2626: 0x0000739E,
+ 2627: 0x00028BDA,
+ 2628: 0x000218FA,
+ 2629: 0x0000799F,
+ 2630: 0x0002897E,
+ 2631: 0x00028E36,
+ 2632: 0x00009369,
+ 2633: 0x000093F3,
+ 2634: 0x00028A44,
+ 2635: 0x000092EC,
+ 2636: 0x00009381,
+ 2637: 0x000093CB,
+ 2638: 0x0002896C,
+ 2639: 0x000244B9,
+ 2640: 0x00007217,
+ 2641: 0x00003EEB,
+ 2642: 0x00007772,
+ 2643: 0x00007A43,
+ 2644: 0x000070D0,
+ 2645: 0x00024473,
+ 2646: 0x000243F8,
+ 2647: 0x0000717E,
+ 2648: 0x000217EF,
+ 2649: 0x000070A3,
+ 2650: 0x000218BE,
+ 2651: 0x00023599,
+ 2652: 0x00003EC7,
+ 2653: 0x00021885,
+ 2654: 0x0002542F,
+ 2655: 0x000217F8,
+ 2656: 0x00003722,
+ 2657: 0x000216FB,
+ 2658: 0x00021839,
+ 2659: 0x000036E1,
+ 2660: 0x00021774,
+ 2661: 0x000218D1,
+ 2662: 0x00025F4B,
+ 2663: 0x00003723,
+ 2664: 0x000216C0,
+ 2665: 0x0000575B,
+ 2666: 0x00024A25,
+ 2667: 0x000213FE,
+ 2668: 0x000212A8,
+ 2669: 0x000213C6,
+ 2670: 0x000214B6,
+ 2671: 0x00008503,
+ 2672: 0x000236A6,
+ 2673: 0x00008503,
+ 2674: 0x00008455,
+ 2675: 0x00024994,
+ 2676: 0x00027165,
+ 2677: 0x00023E31,
+ 2678: 0x0002555C,
+ 2679: 0x00023EFB,
+ 2680: 0x00027052,
+ 2681: 0x000044F4,
+ 2682: 0x000236EE,
+ 2683: 0x0002999D,
+ 2684: 0x00026F26,
+ 2685: 0x000067F9,
+ 2686: 0x00003733,
+ 2687: 0x00003C15,
+ 2688: 0x00003DE7,
+ 2689: 0x0000586C,
+ 2690: 0x00021922,
+ 2691: 0x00006810,
+ 2692: 0x00004057,
+ 2693: 0x0002373F,
+ 2694: 0x000240E1,
+ 2695: 0x0002408B,
+ 2696: 0x0002410F,
+ 2697: 0x00026C21,
+ 2698: 0x000054CB,
+ 2699: 0x0000569E,
+ 2700: 0x000266B1,
+ 2701: 0x00005692,
+ 2702: 0x00020FDF,
+ 2703: 0x00020BA8,
+ 2704: 0x00020E0D,
+ 2705: 0x000093C6,
+ 2706: 0x00028B13,
+ 2707: 0x0000939C,
+ 2708: 0x00004EF8,
+ 2709: 0x0000512B,
+ 2710: 0x00003819,
+ 2711: 0x00024436,
+ 2712: 0x00004EBC,
+ 2713: 0x00020465,
+ 2714: 0x0002037F,
+ 2715: 0x00004F4B,
+ 2716: 0x00004F8A,
+ 2717: 0x00025651,
+ 2718: 0x00005A68,
+ 2719: 0x000201AB,
+ 2720: 0x000203CB,
+ 2721: 0x00003999,
+ 2722: 0x0002030A,
+ 2723: 0x00020414,
+ 2724: 0x00003435,
+ 2725: 0x00004F29,
+ 2726: 0x000202C0,
+ 2727: 0x00028EB3,
+ 2728: 0x00020275,
+ 2729: 0x00008ADA,
+ 2730: 0x0002020C,
+ 2731: 0x00004E98,
+ 2732: 0x000050CD,
+ 2733: 0x0000510D,
+ 2734: 0x00004FA2,
+ 2735: 0x00004F03,
+ 2736: 0x00024A0E,
+ 2737: 0x00023E8A,
+ 2738: 0x00004F42,
+ 2739: 0x0000502E,
+ 2740: 0x0000506C,
+ 2741: 0x00005081,
+ 2742: 0x00004FCC,
+ 2743: 0x00004FE5,
+ 2744: 0x00005058,
+ 2745: 0x000050FC,
+ 2746: 0x00005159,
+ 2747: 0x0000515B,
+ 2748: 0x0000515D,
+ 2749: 0x0000515E,
+ 2750: 0x00006E76,
+ 2751: 0x00023595,
+ 2752: 0x00023E39,
+ 2753: 0x00023EBF,
+ 2754: 0x00006D72,
+ 2755: 0x00021884,
+ 2756: 0x00023E89,
+ 2757: 0x000051A8,
+ 2758: 0x000051C3,
+ 2759: 0x000205E0,
+ 2760: 0x000044DD,
+ 2761: 0x000204A3,
+ 2762: 0x00020492,
+ 2763: 0x00020491,
+ 2764: 0x00008D7A,
+ 2765: 0x00028A9C,
+ 2766: 0x0002070E,
+ 2767: 0x00005259,
+ 2768: 0x000052A4,
+ 2769: 0x00020873,
+ 2770: 0x000052E1,
+ 2771: 0x0000936E,
+ 2772: 0x0000467A,
+ 2773: 0x0000718C,
+ 2774: 0x0002438C,
+ 2775: 0x00020C20,
+ 2776: 0x000249AC,
+ 2777: 0x000210E4,
+ 2778: 0x000069D1,
+ 2779: 0x00020E1D,
+ 2780: 0x00007479,
+ 2781: 0x00003EDE,
+ 2782: 0x00007499,
+ 2783: 0x00007414,
+ 2784: 0x00007456,
+ 2785: 0x00007398,
+ 2786: 0x00004B8E,
+ 2787: 0x00024ABC,
+ 2788: 0x0002408D,
+ 2789: 0x000053D0,
+ 2790: 0x00003584,
+ 2791: 0x0000720F,
+ 2792: 0x000240C9,
+ 2793: 0x000055B4,
+ 2794: 0x00020345,
+ 2795: 0x000054CD,
+ 2796: 0x00020BC6,
+ 2797: 0x0000571D,
+ 2798: 0x0000925D,
+ 2799: 0x000096F4,
+ 2800: 0x00009366,
+ 2801: 0x000057DD,
+ 2802: 0x0000578D,
+ 2803: 0x0000577F,
+ 2804: 0x0000363E,
+ 2805: 0x000058CB,
+ 2806: 0x00005A99,
+ 2807: 0x00028A46,
+ 2808: 0x000216FA,
+ 2809: 0x0002176F,
+ 2810: 0x00021710,
+ 2811: 0x00005A2C,
+ 2812: 0x000059B8,
+ 2813: 0x0000928F,
+ 2814: 0x00005A7E,
+ 2815: 0x00005ACF,
+ 2816: 0x00005A12,
+ 2817: 0x00025946,
+ 2818: 0x000219F3,
+ 2819: 0x00021861,
+ 2820: 0x00024295,
+ 2821: 0x000036F5,
+ 2822: 0x00006D05,
+ 2823: 0x00007443,
+ 2824: 0x00005A21,
+ 2825: 0x00025E83,
+ 2826: 0x00005A81,
+ 2827: 0x00028BD7,
+ 2828: 0x00020413,
+ 2829: 0x000093E0,
+ 2830: 0x0000748C,
+ 2831: 0x00021303,
+ 2832: 0x00007105,
+ 2833: 0x00004972,
+ 2834: 0x00009408,
+ 2835: 0x000289FB,
+ 2836: 0x000093BD,
+ 2837: 0x000037A0,
+ 2838: 0x00005C1E,
+ 2839: 0x00005C9E,
+ 2840: 0x00005E5E,
+ 2841: 0x00005E48,
+ 2842: 0x00021996,
+ 2843: 0x0002197C,
+ 2844: 0x00023AEE,
+ 2845: 0x00005ECD,
+ 2846: 0x00005B4F,
+ 2847: 0x00021903,
+ 2848: 0x00021904,
+ 2849: 0x00003701,
+ 2850: 0x000218A0,
+ 2851: 0x000036DD,
+ 2852: 0x000216FE,
+ 2853: 0x000036D3,
+ 2854: 0x0000812A,
+ 2855: 0x00028A47,
+ 2856: 0x00021DBA,
+ 2857: 0x00023472,
+ 2858: 0x000289A8,
+ 2859: 0x00005F0C,
+ 2860: 0x00005F0E,
+ 2861: 0x00021927,
+ 2862: 0x000217AB,
+ 2863: 0x00005A6B,
+ 2864: 0x0002173B,
+ 2865: 0x00005B44,
+ 2866: 0x00008614,
+ 2867: 0x000275FD,
+ 2868: 0x00008860,
+ 2869: 0x0000607E,
+ 2870: 0x00022860,
+ 2871: 0x0002262B,
+ 2872: 0x00005FDB,
+ 2873: 0x00003EB8,
+ 2874: 0x000225AF,
+ 2875: 0x000225BE,
+ 2876: 0x00029088,
+ 2877: 0x00026F73,
+ 2878: 0x000061C0,
+ 2879: 0x0002003E,
+ 2880: 0x00020046,
+ 2881: 0x0002261B,
+ 2882: 0x00006199,
+ 2883: 0x00006198,
+ 2884: 0x00006075,
+ 2885: 0x00022C9B,
+ 2886: 0x00022D07,
+ 2887: 0x000246D4,
+ 2888: 0x0002914D,
+ 2889: 0x00006471,
+ 2890: 0x00024665,
+ 2891: 0x00022B6A,
+ 2892: 0x00003A29,
+ 2893: 0x00022B22,
+ 2894: 0x00023450,
+ 2895: 0x000298EA,
+ 2896: 0x00022E78,
+ 2897: 0x00006337,
+ 2898: 0x0002A45B,
+ 2899: 0x000064B6,
+ 2900: 0x00006331,
+ 2901: 0x000063D1,
+ 2902: 0x000249E3,
+ 2903: 0x00022D67,
+ 2904: 0x000062A4,
+ 2905: 0x00022CA1,
+ 2906: 0x0000643B,
+ 2907: 0x0000656B,
+ 2908: 0x00006972,
+ 2909: 0x00003BF4,
+ 2910: 0x0002308E,
+ 2911: 0x000232AD,
+ 2912: 0x00024989,
+ 2913: 0x000232AB,
+ 2914: 0x0000550D,
+ 2915: 0x000232E0,
+ 2916: 0x000218D9,
+ 2917: 0x0002943F,
+ 2918: 0x000066CE,
+ 2919: 0x00023289,
+ 2920: 0x000231B3,
+ 2921: 0x00003AE0,
+ 2922: 0x00004190,
+ 2923: 0x00025584,
+ 2924: 0x00028B22,
+ 2925: 0x0002558F,
+ 2926: 0x000216FC,
+ 2927: 0x0002555B,
+ 2928: 0x00025425,
+ 2929: 0x000078EE,
+ 2930: 0x00023103,
+ 2931: 0x0002182A,
+ 2932: 0x00023234,
+ 2933: 0x00003464,
+ 2934: 0x0002320F,
+ 2935: 0x00023182,
+ 2936: 0x000242C9,
+ 2937: 0x0000668E,
+ 2938: 0x00026D24,
+ 2939: 0x0000666B,
+ 2940: 0x00004B93,
+ 2941: 0x00006630,
+ 2942: 0x00027870,
+ 2943: 0x00021DEB,
+ 2944: 0x00006663,
+ 2945: 0x000232D2,
+ 2946: 0x000232E1,
+ 2947: 0x0000661E,
+ 2948: 0x00025872,
+ 2949: 0x000038D1,
+ 2950: 0x0002383A,
+ 2951: 0x000237BC,
+ 2952: 0x00003B99,
+ 2953: 0x000237A2,
+ 2954: 0x000233FE,
+ 2955: 0x000074D0,
+ 2956: 0x00003B96,
+ 2957: 0x0000678F,
+ 2958: 0x0002462A,
+ 2959: 0x000068B6,
+ 2960: 0x0000681E,
+ 2961: 0x00003BC4,
+ 2962: 0x00006ABE,
+ 2963: 0x00003863,
+ 2964: 0x000237D5,
+ 2965: 0x00024487,
+ 2966: 0x00006A33,
+ 2967: 0x00006A52,
+ 2968: 0x00006AC9,
+ 2969: 0x00006B05,
+ 2970: 0x00021912,
+ 2971: 0x00006511,
+ 2972: 0x00006898,
+ 2973: 0x00006A4C,
+ 2974: 0x00003BD7,
+ 2975: 0x00006A7A,
+ 2976: 0x00006B57,
+ 2977: 0x00023FC0,
+ 2978: 0x00023C9A,
+ 2979: 0x000093A0,
+ 2980: 0x000092F2,
+ 2981: 0x00028BEA,
+ 2982: 0x00028ACB,
+ 2983: 0x00009289,
+ 2984: 0x0002801E,
+ 2985: 0x000289DC,
+ 2986: 0x00009467,
+ 2987: 0x00006DA5,
+ 2988: 0x00006F0B,
+ 2989: 0x000249EC,
+ 2990: 0x00006D67,
+ 2991: 0x00023F7F,
+ 2992: 0x00003D8F,
+ 2993: 0x00006E04,
+ 2994: 0x0002403C,
+ 2995: 0x00005A3D,
+ 2996: 0x00006E0A,
+ 2997: 0x00005847,
+ 2998: 0x00006D24,
+ 2999: 0x00007842,
+ 3000: 0x0000713B,
+ 3001: 0x0002431A,
+ 3002: 0x00024276,
+ 3003: 0x000070F1,
+ 3004: 0x00007250,
+ 3005: 0x00007287,
+ 3006: 0x00007294,
+ 3007: 0x0002478F,
+ 3008: 0x00024725,
+ 3009: 0x00005179,
+ 3010: 0x00024AA4,
+ 3011: 0x000205EB,
+ 3012: 0x0000747A,
+ 3013: 0x00023EF8,
+ 3014: 0x0002365F,
+ 3015: 0x00024A4A,
+ 3016: 0x00024917,
+ 3017: 0x00025FE1,
+ 3018: 0x00003F06,
+ 3019: 0x00003EB1,
+ 3020: 0x00024ADF,
+ 3021: 0x00028C23,
+ 3022: 0x00023F35,
+ 3023: 0x000060A7,
+ 3024: 0x00003EF3,
+ 3025: 0x000074CC,
+ 3026: 0x0000743C,
+ 3027: 0x00009387,
+ 3028: 0x00007437,
+ 3029: 0x0000449F,
+ 3030: 0x00026DEA,
+ 3031: 0x00004551,
+ 3032: 0x00007583,
+ 3033: 0x00003F63,
+ 3034: 0x00024CD9,
+ 3035: 0x00024D06,
+ 3036: 0x00003F58,
+ 3037: 0x00007555,
+ 3038: 0x00007673,
+ 3039: 0x0002A5C6,
+ 3040: 0x00003B19,
+ 3041: 0x00007468,
+ 3042: 0x00028ACC,
+ 3043: 0x000249AB,
+ 3044: 0x0002498E,
+ 3045: 0x00003AFB,
+ 3046: 0x00003DCD,
+ 3047: 0x00024A4E,
+ 3048: 0x00003EFF,
+ 3049: 0x000249C5,
+ 3050: 0x000248F3,
+ 3051: 0x000091FA,
+ 3052: 0x00005732,
+ 3053: 0x00009342,
+ 3054: 0x00028AE3,
+ 3055: 0x00021864,
+ 3056: 0x000050DF,
+ 3057: 0x00025221,
+ 3058: 0x000251E7,
+ 3059: 0x00007778,
+ 3060: 0x00023232,
+ 3061: 0x0000770E,
+ 3062: 0x0000770F,
+ 3063: 0x0000777B,
+ 3064: 0x00024697,
+ 3065: 0x00023781,
+ 3066: 0x00003A5E,
+ 3067: 0x000248F0,
+ 3068: 0x00007438,
+ 3069: 0x0000749B,
+ 3070: 0x00003EBF,
+ 3071: 0x00024ABA,
+ 3072: 0x00024AC7,
+ 3073: 0x000040C8,
+ 3074: 0x00024A96,
+ 3075: 0x000261AE,
+ 3076: 0x00009307,
+ 3077: 0x00025581,
+ 3078: 0x0000781E,
+ 3079: 0x0000788D,
+ 3080: 0x00007888,
+ 3081: 0x000078D2,
+ 3082: 0x000073D0,
+ 3083: 0x00007959,
+ 3084: 0x00027741,
+ 3085: 0x000256E3,
+ 3086: 0x0000410E,
+ 3087: 0x0000799B,
+ 3088: 0x00008496,
+ 3089: 0x000079A5,
+ 3090: 0x00006A2D,
+ 3091: 0x00023EFA,
+ 3092: 0x00007A3A,
+ 3093: 0x000079F4,
+ 3094: 0x0000416E,
+ 3095: 0x000216E6,
+ 3096: 0x00004132,
+ 3097: 0x00009235,
+ 3098: 0x000079F1,
+ 3099: 0x00020D4C,
+ 3100: 0x0002498C,
+ 3101: 0x00020299,
+ 3102: 0x00023DBA,
+ 3103: 0x0002176E,
+ 3104: 0x00003597,
+ 3105: 0x0000556B,
+ 3106: 0x00003570,
+ 3107: 0x000036AA,
+ 3108: 0x000201D4,
+ 3109: 0x00020C0D,
+ 3110: 0x00007AE2,
+ 3111: 0x00005A59,
+ 3112: 0x000226F5,
+ 3113: 0x00025AAF,
+ 3114: 0x00025A9C,
+ 3115: 0x00005A0D,
+ 3116: 0x0002025B,
+ 3117: 0x000078F0,
+ 3118: 0x00005A2A,
+ 3119: 0x00025BC6,
+ 3120: 0x00007AFE,
+ 3121: 0x000041F9,
+ 3122: 0x00007C5D,
+ 3123: 0x00007C6D,
+ 3124: 0x00004211,
+ 3125: 0x00025BB3,
+ 3126: 0x00025EBC,
+ 3127: 0x00025EA6,
+ 3128: 0x00007CCD,
+ 3129: 0x000249F9,
+ 3130: 0x000217B0,
+ 3131: 0x00007C8E,
+ 3132: 0x00007C7C,
+ 3133: 0x00007CAE,
+ 3134: 0x00006AB2,
+ 3135: 0x00007DDC,
+ 3136: 0x00007E07,
+ 3137: 0x00007DD3,
+ 3138: 0x00007F4E,
+ 3139: 0x00026261,
+ 3140: 0x0002615C,
+ 3141: 0x00027B48,
+ 3142: 0x00007D97,
+ 3143: 0x00025E82,
+ 3144: 0x0000426A,
+ 3145: 0x00026B75,
+ 3146: 0x00020916,
+ 3147: 0x000067D6,
+ 3148: 0x0002004E,
+ 3149: 0x000235CF,
+ 3150: 0x000057C4,
+ 3151: 0x00026412,
+ 3152: 0x000263F8,
+ 3153: 0x00024962,
+ 3154: 0x00007FDD,
+ 3155: 0x00007B27,
+ 3156: 0x0002082C,
+ 3157: 0x00025AE9,
+ 3158: 0x00025D43,
+ 3159: 0x00007B0C,
+ 3160: 0x00025E0E,
+ 3161: 0x000099E6,
+ 3162: 0x00008645,
+ 3163: 0x00009A63,
+ 3164: 0x00006A1C,
+ 3165: 0x0002343F,
+ 3166: 0x000039E2,
+ 3167: 0x000249F7,
+ 3168: 0x000265AD,
+ 3169: 0x00009A1F,
+ 3170: 0x000265A0,
+ 3171: 0x00008480,
+ 3172: 0x00027127,
+ 3173: 0x00026CD1,
+ 3174: 0x000044EA,
+ 3175: 0x00008137,
+ 3176: 0x00004402,
+ 3177: 0x000080C6,
+ 3178: 0x00008109,
+ 3179: 0x00008142,
+ 3180: 0x000267B4,
+ 3181: 0x000098C3,
+ 3182: 0x00026A42,
+ 3183: 0x00008262,
+ 3184: 0x00008265,
+ 3185: 0x00026A51,
+ 3186: 0x00008453,
+ 3187: 0x00026DA7,
+ 3188: 0x00008610,
+ 3189: 0x0002721B,
+ 3190: 0x00005A86,
+ 3191: 0x0000417F,
+ 3192: 0x00021840,
+ 3193: 0x00005B2B,
+ 3194: 0x000218A1,
+ 3195: 0x00005AE4,
+ 3196: 0x000218D8,
+ 3197: 0x000086A0,
+ 3198: 0x0002F9BC,
+ 3199: 0x00023D8F,
+ 3200: 0x0000882D,
+ 3201: 0x00027422,
+ 3202: 0x00005A02,
+ 3203: 0x0000886E,
+ 3204: 0x00004F45,
+ 3205: 0x00008887,
+ 3206: 0x000088BF,
+ 3207: 0x000088E6,
+ 3208: 0x00008965,
+ 3209: 0x0000894D,
+ 3210: 0x00025683,
+ 3211: 0x00008954,
+ 3212: 0x00027785,
+ 3213: 0x00027784,
+ 3214: 0x00028BF5,
+ 3215: 0x00028BD9,
+ 3216: 0x00028B9C,
+ 3217: 0x000289F9,
+ 3218: 0x00003EAD,
+ 3219: 0x000084A3,
+ 3220: 0x000046F5,
+ 3221: 0x000046CF,
+ 3222: 0x000037F2,
+ 3223: 0x00008A3D,
+ 3224: 0x00008A1C,
+ 3225: 0x00029448,
+ 3226: 0x00005F4D,
+ 3227: 0x0000922B,
+ 3228: 0x00024284,
+ 3229: 0x000065D4,
+ 3230: 0x00007129,
+ 3231: 0x000070C4,
+ 3232: 0x00021845,
+ 3233: 0x00009D6D,
+ 3234: 0x00008C9F,
+ 3235: 0x00008CE9,
+ 3236: 0x00027DDC,
+ 3237: 0x0000599A,
+ 3238: 0x000077C3,
+ 3239: 0x000059F0,
+ 3240: 0x0000436E,
+ 3241: 0x000036D4,
+ 3242: 0x00008E2A,
+ 3243: 0x00008EA7,
+ 3244: 0x00024C09,
+ 3245: 0x00008F30,
+ 3246: 0x00008F4A,
+ 3247: 0x000042F4,
+ 3248: 0x00006C58,
+ 3249: 0x00006FBB,
+ 3250: 0x00022321,
+ 3251: 0x0000489B,
+ 3252: 0x00006F79,
+ 3253: 0x00006E8B,
+ 3254: 0x000217DA,
+ 3255: 0x00009BE9,
+ 3256: 0x000036B5,
+ 3257: 0x0002492F,
+ 3258: 0x000090BB,
+ 3259: 0x00009097,
+ 3260: 0x00005571,
+ 3261: 0x00004906,
+ 3262: 0x000091BB,
+ 3263: 0x00009404,
+ 3264: 0x00028A4B,
+ 3265: 0x00004062,
+ 3266: 0x00028AFC,
+ 3267: 0x00009427,
+ 3268: 0x00028C1D,
+ 3269: 0x00028C3B,
+ 3270: 0x000084E5,
+ 3271: 0x00008A2B,
+ 3272: 0x00009599,
+ 3273: 0x000095A7,
+ 3274: 0x00009597,
+ 3275: 0x00009596,
+ 3276: 0x00028D34,
+ 3277: 0x00007445,
+ 3278: 0x00003EC2,
+ 3279: 0x000248FF,
+ 3280: 0x00024A42,
+ 3281: 0x000243EA,
+ 3282: 0x00003EE7,
+ 3283: 0x00023225,
+ 3284: 0x0000968F,
+ 3285: 0x00028EE7,
+ 3286: 0x00028E66,
+ 3287: 0x00028E65,
+ 3288: 0x00003ECC,
+ 3289: 0x000249ED,
+ 3290: 0x00024A78,
+ 3291: 0x00023FEE,
+ 3292: 0x00007412,
+ 3293: 0x0000746B,
+ 3294: 0x00003EFC,
+ 3295: 0x00009741,
+ 3296: 0x000290B0,
+ 3297: 0x00006847,
+ 3298: 0x00004A1D,
+ 3299: 0x00029093,
+ 3300: 0x000257DF,
+ 3301: 0x0000975D,
+ 3302: 0x00009368,
+ 3303: 0x00028989,
+ 3304: 0x00028C26,
+ 3305: 0x00028B2F,
+ 3306: 0x000263BE,
+ 3307: 0x000092BA,
+ 3308: 0x00005B11,
+ 3309: 0x00008B69,
+ 3310: 0x0000493C,
+ 3311: 0x000073F9,
+ 3312: 0x0002421B,
+ 3313: 0x0000979B,
+ 3314: 0x00009771,
+ 3315: 0x00009938,
+ 3316: 0x00020F26,
+ 3317: 0x00005DC1,
+ 3318: 0x00028BC5,
+ 3319: 0x00024AB2,
+ 3320: 0x0000981F,
+ 3321: 0x000294DA,
+ 3322: 0x000092F6,
+ 3323: 0x000295D7,
+ 3324: 0x000091E5,
+ 3325: 0x000044C0,
+ 3326: 0x00028B50,
+ 3327: 0x00024A67,
+ 3328: 0x00028B64,
+ 3329: 0x000098DC,
+ 3330: 0x00028A45,
+ 3331: 0x00003F00,
+ 3332: 0x0000922A,
+ 3333: 0x00004925,
+ 3334: 0x00008414,
+ 3335: 0x0000993B,
+ 3336: 0x0000994D,
+ 3337: 0x00027B06,
+ 3338: 0x00003DFD,
+ 3339: 0x0000999B,
+ 3340: 0x00004B6F,
+ 3341: 0x000099AA,
+ 3342: 0x00009A5C,
+ 3343: 0x00028B65,
+ 3344: 0x000258C8,
+ 3345: 0x00006A8F,
+ 3346: 0x00009A21,
+ 3347: 0x00005AFE,
+ 3348: 0x00009A2F,
+ 3349: 0x000298F1,
+ 3350: 0x00004B90,
+ 3351: 0x00029948,
+ 3352: 0x000099BC,
+ 3353: 0x00004BBD,
+ 3354: 0x00004B97,
+ 3355: 0x0000937D,
+ 3356: 0x00005872,
+ 3357: 0x00021302,
+ 3358: 0x00005822,
+ 3359: 0x000249B8,
+ 3360: 0x000214E8,
+ 3361: 0x00007844,
+ 3362: 0x0002271F,
+ 3363: 0x00023DB8,
+ 3364: 0x000068C5,
+ 3365: 0x00003D7D,
+ 3366: 0x00009458,
+ 3367: 0x00003927,
+ 3368: 0x00006150,
+ 3369: 0x00022781,
+ 3370: 0x0002296B,
+ 3371: 0x00006107,
+ 3372: 0x00009C4F,
+ 3373: 0x00009C53,
+ 3374: 0x00009C7B,
+ 3375: 0x00009C35,
+ 3376: 0x00009C10,
+ 3377: 0x00009B7F,
+ 3378: 0x00009BCF,
+ 3379: 0x00029E2D,
+ 3380: 0x00009B9F,
+ 3381: 0x0002A1F5,
+ 3382: 0x0002A0FE,
+ 3383: 0x00009D21,
+ 3384: 0x00004CAE,
+ 3385: 0x00024104,
+ 3386: 0x00009E18,
+ 3387: 0x00004CB0,
+ 3388: 0x00009D0C,
+ 3389: 0x0002A1B4,
+ 3390: 0x0002A0ED,
+ 3391: 0x0002A0F3,
+ 3392: 0x0002992F,
+ 3393: 0x00009DA5,
+ 3394: 0x000084BD,
+ 3395: 0x00026E12,
+ 3396: 0x00026FDF,
+ 3397: 0x00026B82,
+ 3398: 0x000085FC,
+ 3399: 0x00004533,
+ 3400: 0x00026DA4,
+ 3401: 0x00026E84,
+ 3402: 0x00026DF0,
+ 3403: 0x00008420,
+ 3404: 0x000085EE,
+ 3405: 0x00026E00,
+ 3406: 0x000237D7,
+ 3407: 0x00026064,
+ 3408: 0x000079E2,
+ 3409: 0x0002359C,
+ 3410: 0x00023640,
+ 3411: 0x0000492D,
+ 3412: 0x000249DE,
+ 3413: 0x00003D62,
+ 3414: 0x000093DB,
+ 3415: 0x000092BE,
+ 3416: 0x00009348,
+ 3417: 0x000202BF,
+ 3418: 0x000078B9,
+ 3419: 0x00009277,
+ 3420: 0x0000944D,
+ 3421: 0x00004FE4,
+ 3422: 0x00003440,
+ 3423: 0x00009064,
+ 3424: 0x0002555D,
+ 3425: 0x0000783D,
+ 3426: 0x00007854,
+ 3427: 0x000078B6,
+ 3428: 0x0000784B,
+ 3429: 0x00021757,
+ 3430: 0x000231C9,
+ 3431: 0x00024941,
+ 3432: 0x0000369A,
+ 3433: 0x00004F72,
+ 3434: 0x00006FDA,
+ 3435: 0x00006FD9,
+ 3436: 0x0000701E,
+ 3437: 0x0000701E,
+ 3438: 0x00005414,
+ 3439: 0x000241B5,
+ 3440: 0x000057BB,
+ 3441: 0x000058F3,
+ 3442: 0x0000578A,
+ 3443: 0x00009D16,
+ 3444: 0x000057D7,
+ 3445: 0x00007134,
+ 3446: 0x000034AF,
+ 3447: 0x000241AC,
+ 3448: 0x000071EB,
+ 3449: 0x00026C40,
+ 3450: 0x00024F97,
+ 3451: 0x00005B28,
+ 3452: 0x000217B5,
+ 3453: 0x00028A49,
+ 3454: 0x0000610C,
+ 3455: 0x00005ACE,
+ 3456: 0x00005A0B,
+ 3457: 0x000042BC,
+ 3458: 0x00024488,
+ 3459: 0x0000372C,
+ 3460: 0x00004B7B,
+ 3461: 0x000289FC,
+ 3462: 0x000093BB,
+ 3463: 0x000093B8,
+ 3464: 0x000218D6,
+ 3465: 0x00020F1D,
+ 3466: 0x00008472,
+ 3467: 0x00026CC0,
+ 3468: 0x00021413,
+ 3469: 0x000242FA,
+ 3470: 0x00022C26,
+ 3471: 0x000243C1,
+ 3472: 0x00005994,
+ 3473: 0x00023DB7,
+ 3474: 0x00026741,
+ 3475: 0x00007DA8,
+ 3476: 0x0002615B,
+ 3477: 0x000260A4,
+ 3478: 0x000249B9,
+ 3479: 0x0002498B,
+ 3480: 0x000289FA,
+ 3481: 0x000092E5,
+ 3482: 0x000073E2,
+ 3483: 0x00003EE9,
+ 3484: 0x000074B4,
+ 3485: 0x00028B63,
+ 3486: 0x0002189F,
+ 3487: 0x00003EE1,
+ 3488: 0x00024AB3,
+ 3489: 0x00006AD8,
+ 3490: 0x000073F3,
+ 3491: 0x000073FB,
+ 3492: 0x00003ED6,
+ 3493: 0x00024A3E,
+ 3494: 0x00024A94,
+ 3495: 0x000217D9,
+ 3496: 0x00024A66,
+ 3497: 0x000203A7,
+ 3498: 0x00021424,
+ 3499: 0x000249E5,
+ 3500: 0x00007448,
+ 3501: 0x00024916,
+ 3502: 0x000070A5,
+ 3503: 0x00024976,
+ 3504: 0x00009284,
+ 3505: 0x000073E6,
+ 3506: 0x0000935F,
+ 3507: 0x000204FE,
+ 3508: 0x00009331,
+ 3509: 0x00028ACE,
+ 3510: 0x00028A16,
+ 3511: 0x00009386,
+ 3512: 0x00028BE7,
+ 3513: 0x000255D5,
+ 3514: 0x00004935,
+ 3515: 0x00028A82,
+ 3516: 0x0000716B,
+ 3517: 0x00024943,
+ 3518: 0x00020CFF,
+ 3519: 0x000056A4,
+ 3520: 0x0002061A,
+ 3521: 0x00020BEB,
+ 3522: 0x00020CB8,
+ 3523: 0x00005502,
+ 3524: 0x000079C4,
+ 3525: 0x000217FA,
+ 3526: 0x00007DFE,
+ 3527: 0x000216C2,
+ 3528: 0x00024A50,
+ 3529: 0x00021852,
+ 3530: 0x0000452E,
+ 3531: 0x00009401,
+ 3532: 0x0000370A,
+ 3533: 0x00028AC0,
+ 3534: 0x000249AD,
+ 3535: 0x000059B0,
+ 3536: 0x000218BF,
+ 3537: 0x00021883,
+ 3538: 0x00027484,
+ 3539: 0x00005AA1,
+ 3540: 0x000036E2,
+ 3541: 0x00023D5B,
+ 3542: 0x000036B0,
+ 3543: 0x0000925F,
+ 3544: 0x00005A79,
+ 3545: 0x00028A81,
+ 3546: 0x00021862,
+ 3547: 0x00009374,
+ 3548: 0x00003CCD,
+ 3549: 0x00020AB4,
+ 3550: 0x00004A96,
+ 3551: 0x0000398A,
+ 3552: 0x000050F4,
+ 3553: 0x00003D69,
+ 3554: 0x00003D4C,
+ 3555: 0x0002139C,
+ 3556: 0x00007175,
+ 3557: 0x000042FB,
+ 3558: 0x00028218,
+ 3559: 0x00006E0F,
+ 3560: 0x000290E4,
+ 3561: 0x000044EB,
+ 3562: 0x00006D57,
+ 3563: 0x00027E4F,
+ 3564: 0x00007067,
+ 3565: 0x00006CAF,
+ 3566: 0x00003CD6,
+ 3567: 0x00023FED,
+ 3568: 0x00023E2D,
+ 3569: 0x00006E02,
+ 3570: 0x00006F0C,
+ 3571: 0x00003D6F,
+ 3572: 0x000203F5,
+ 3573: 0x00007551,
+ 3574: 0x000036BC,
+ 3575: 0x000034C8,
+ 3576: 0x00004680,
+ 3577: 0x00003EDA,
+ 3578: 0x00004871,
+ 3579: 0x000059C4,
+ 3580: 0x0000926E,
+ 3581: 0x0000493E,
+ 3582: 0x00008F41,
+ 3583: 0x00028C1C,
+ 3584: 0x00026BC0,
+ 3585: 0x00005812,
+ 3586: 0x000057C8,
+ 3587: 0x000036D6,
+ 3588: 0x00021452,
+ 3589: 0x000070FE,
+ 3590: 0x00024362,
+ 3591: 0x00024A71,
+ 3592: 0x00022FE3,
+ 3593: 0x000212B0,
+ 3594: 0x000223BD,
+ 3595: 0x000068B9,
+ 3596: 0x00006967,
+ 3597: 0x00021398,
+ 3598: 0x000234E5,
+ 3599: 0x00027BF4,
+ 3600: 0x000236DF,
+ 3601: 0x00028A83,
+ 3602: 0x000237D6,
+ 3603: 0x000233FA,
+ 3604: 0x00024C9F,
+ 3605: 0x00006A1A,
+ 3606: 0x000236AD,
+ 3607: 0x00026CB7,
+ 3608: 0x0000843E,
+ 3609: 0x000044DF,
+ 3610: 0x000044CE,
+ 3611: 0x00026D26,
+ 3612: 0x00026D51,
+ 3613: 0x00026C82,
+ 3614: 0x00026FDE,
+ 3615: 0x00006F17,
+ 3616: 0x00027109,
+ 3617: 0x0000833D,
+ 3618: 0x0002173A,
+ 3619: 0x000083ED,
+ 3620: 0x00026C80,
+ 3621: 0x00027053,
+ 3622: 0x000217DB,
+ 3623: 0x00005989,
+ 3624: 0x00005A82,
+ 3625: 0x000217B3,
+ 3626: 0x00005A61,
+ 3627: 0x00005A71,
+ 3628: 0x00021905,
+ 3629: 0x000241FC,
+ 3630: 0x0000372D,
+ 3631: 0x000059EF,
+ 3632: 0x0002173C,
+ 3633: 0x000036C7,
+ 3634: 0x0000718E,
+ 3635: 0x00009390,
+ 3636: 0x0000669A,
+ 3637: 0x000242A5,
+ 3638: 0x00005A6E,
+ 3639: 0x00005A2B,
+ 3640: 0x00024293,
+ 3641: 0x00006A2B,
+ 3642: 0x00023EF9,
+ 3643: 0x00027736,
+ 3644: 0x0002445B,
+ 3645: 0x000242CA,
+ 3646: 0x0000711D,
+ 3647: 0x00024259,
+ 3648: 0x000289E1,
+ 3649: 0x00004FB0,
+ 3650: 0x00026D28,
+ 3651: 0x00005CC2,
+ 3652: 0x000244CE,
+ 3653: 0x00027E4D,
+ 3654: 0x000243BD,
+ 3655: 0x00006A0C,
+ 3656: 0x00024256,
+ 3657: 0x00021304,
+ 3658: 0x000070A6,
+ 3659: 0x00007133,
+ 3660: 0x000243E9,
+ 3661: 0x00003DA5,
+ 3662: 0x00006CDF,
+ 3663: 0x0002F825,
+ 3664: 0x00024A4F,
+ 3665: 0x00007E65,
+ 3666: 0x000059EB,
+ 3667: 0x00005D2F,
+ 3668: 0x00003DF3,
+ 3669: 0x00005F5C,
+ 3670: 0x00024A5D,
+ 3671: 0x000217DF,
+ 3672: 0x00007DA4,
+ 3673: 0x00008426,
+ 3674: 0x00005485,
+ 3675: 0x00023AFA,
+ 3676: 0x00023300,
+ 3677: 0x00020214,
+ 3678: 0x0000577E,
+ 3679: 0x000208D5,
+ 3680: 0x00020619,
+ 3681: 0x00003FE5,
+ 3682: 0x00021F9E,
+ 3683: 0x0002A2B6,
+ 3684: 0x00007003,
+ 3685: 0x0002915B,
+ 3686: 0x00005D70,
+ 3687: 0x0000738F,
+ 3688: 0x00007CD3,
+ 3689: 0x00028A59,
+ 3690: 0x00029420,
+ 3691: 0x00004FC8,
+ 3692: 0x00007FE7,
+ 3693: 0x000072CD,
+ 3694: 0x00007310,
+ 3695: 0x00027AF4,
+ 3696: 0x00007338,
+ 3697: 0x00007339,
+ 3698: 0x000256F6,
+ 3699: 0x00007341,
+ 3700: 0x00007348,
+ 3701: 0x00003EA9,
+ 3702: 0x00027B18,
+ 3703: 0x0000906C,
+ 3704: 0x000071F5,
+ 3705: 0x000248F2,
+ 3706: 0x000073E1,
+ 3707: 0x000081F6,
+ 3708: 0x00003ECA,
+ 3709: 0x0000770C,
+ 3710: 0x00003ED1,
+ 3711: 0x00006CA2,
+ 3712: 0x000056FD,
+ 3713: 0x00007419,
+ 3714: 0x0000741E,
+ 3715: 0x0000741F,
+ 3716: 0x00003EE2,
+ 3717: 0x00003EF0,
+ 3718: 0x00003EF4,
+ 3719: 0x00003EFA,
+ 3720: 0x000074D3,
+ 3721: 0x00003F0E,
+ 3722: 0x00003F53,
+ 3723: 0x00007542,
+ 3724: 0x0000756D,
+ 3725: 0x00007572,
+ 3726: 0x0000758D,
+ 3727: 0x00003F7C,
+ 3728: 0x000075C8,
+ 3729: 0x000075DC,
+ 3730: 0x00003FC0,
+ 3731: 0x0000764D,
+ 3732: 0x00003FD7,
+ 3733: 0x00007674,
+ 3734: 0x00003FDC,
+ 3735: 0x0000767A,
+ 3736: 0x00024F5C,
+ 3737: 0x00007188,
+ 3738: 0x00005623,
+ 3739: 0x00008980,
+ 3740: 0x00005869,
+ 3741: 0x0000401D,
+ 3742: 0x00007743,
+ 3743: 0x00004039,
+ 3744: 0x00006761,
+ 3745: 0x00004045,
+ 3746: 0x000035DB,
+ 3747: 0x00007798,
+ 3748: 0x0000406A,
+ 3749: 0x0000406F,
+ 3750: 0x00005C5E,
+ 3751: 0x000077BE,
+ 3752: 0x000077CB,
+ 3753: 0x000058F2,
+ 3754: 0x00007818,
+ 3755: 0x000070B9,
+ 3756: 0x0000781C,
+ 3757: 0x000040A8,
+ 3758: 0x00007839,
+ 3759: 0x00007847,
+ 3760: 0x00007851,
+ 3761: 0x00007866,
+ 3762: 0x00008448,
+ 3763: 0x00025535,
+ 3764: 0x00007933,
+ 3765: 0x00006803,
+ 3766: 0x00007932,
+ 3767: 0x00004103,
+ 3768: 0x00004109,
+ 3769: 0x00007991,
+ 3770: 0x00007999,
+ 3771: 0x00008FBB,
+ 3772: 0x00007A06,
+ 3773: 0x00008FBC,
+ 3774: 0x00004167,
+ 3775: 0x00007A91,
+ 3776: 0x000041B2,
+ 3777: 0x00007ABC,
+ 3778: 0x00008279,
+ 3779: 0x000041C4,
+ 3780: 0x00007ACF,
+ 3781: 0x00007ADB,
+ 3782: 0x000041CF,
+ 3783: 0x00004E21,
+ 3784: 0x00007B62,
+ 3785: 0x00007B6C,
+ 3786: 0x00007B7B,
+ 3787: 0x00007C12,
+ 3788: 0x00007C1B,
+ 3789: 0x00004260,
+ 3790: 0x0000427A,
+ 3791: 0x00007C7B,
+ 3792: 0x00007C9C,
+ 3793: 0x0000428C,
+ 3794: 0x00007CB8,
+ 3795: 0x00004294,
+ 3796: 0x00007CED,
+ 3797: 0x00008F93,
+ 3798: 0x000070C0,
+ 3799: 0x00020CCF,
+ 3800: 0x00007DCF,
+ 3801: 0x00007DD4,
+ 3802: 0x00007DD0,
+ 3803: 0x00007DFD,
+ 3804: 0x00007FAE,
+ 3805: 0x00007FB4,
+ 3806: 0x0000729F,
+ 3807: 0x00004397,
+ 3808: 0x00008020,
+ 3809: 0x00008025,
+ 3810: 0x00007B39,
+ 3811: 0x0000802E,
+ 3812: 0x00008031,
+ 3813: 0x00008054,
+ 3814: 0x00003DCC,
+ 3815: 0x000057B4,
+ 3816: 0x000070A0,
+ 3817: 0x000080B7,
+ 3818: 0x000080E9,
+ 3819: 0x000043ED,
+ 3820: 0x0000810C,
+ 3821: 0x0000732A,
+ 3822: 0x0000810E,
+ 3823: 0x00008112,
+ 3824: 0x00007560,
+ 3825: 0x00008114,
+ 3826: 0x00004401,
+ 3827: 0x00003B39,
+ 3828: 0x00008156,
+ 3829: 0x00008159,
+ 3830: 0x0000815A,
+ 3831: 0x00004413,
+ 3832: 0x0000583A,
+ 3833: 0x0000817C,
+ 3834: 0x00008184,
+ 3835: 0x00004425,
+ 3836: 0x00008193,
+ 3837: 0x0000442D,
+ 3838: 0x000081A5,
+ 3839: 0x000057EF,
+ 3840: 0x000081C1,
+ 3841: 0x000081E4,
+ 3842: 0x00008254,
+ 3843: 0x0000448F,
+ 3844: 0x000082A6,
+ 3845: 0x00008276,
+ 3846: 0x000082CA,
+ 3847: 0x000082D8,
+ 3848: 0x000082FF,
+ 3849: 0x000044B0,
+ 3850: 0x00008357,
+ 3851: 0x00009669,
+ 3852: 0x0000698A,
+ 3853: 0x00008405,
+ 3854: 0x000070F5,
+ 3855: 0x00008464,
+ 3856: 0x000060E3,
+ 3857: 0x00008488,
+ 3858: 0x00004504,
+ 3859: 0x000084BE,
+ 3860: 0x000084E1,
+ 3861: 0x000084F8,
+ 3862: 0x00008510,
+ 3863: 0x00008538,
+ 3864: 0x00008552,
+ 3865: 0x0000453B,
+ 3866: 0x0000856F,
+ 3867: 0x00008570,
+ 3868: 0x000085E0,
+ 3869: 0x00004577,
+ 3870: 0x00008672,
+ 3871: 0x00008692,
+ 3872: 0x000086B2,
+ 3873: 0x000086EF,
+ 3874: 0x00009645,
+ 3875: 0x0000878B,
+ 3876: 0x00004606,
+ 3877: 0x00004617,
+ 3878: 0x000088AE,
+ 3879: 0x000088FF,
+ 3880: 0x00008924,
+ 3881: 0x00008947,
+ 3882: 0x00008991,
+ 3883: 0x00027967,
+ 3884: 0x00008A29,
+ 3885: 0x00008A38,
+ 3886: 0x00008A94,
+ 3887: 0x00008AB4,
+ 3888: 0x00008C51,
+ 3889: 0x00008CD4,
+ 3890: 0x00008CF2,
+ 3891: 0x00008D1C,
+ 3892: 0x00004798,
+ 3893: 0x0000585F,
+ 3894: 0x00008DC3,
+ 3895: 0x000047ED,
+ 3896: 0x00004EEE,
+ 3897: 0x00008E3A,
+ 3898: 0x000055D8,
+ 3899: 0x00005754,
+ 3900: 0x00008E71,
+ 3901: 0x000055F5,
+ 3902: 0x00008EB0,
+ 3903: 0x00004837,
+ 3904: 0x00008ECE,
+ 3905: 0x00008EE2,
+ 3906: 0x00008EE4,
+ 3907: 0x00008EED,
+ 3908: 0x00008EF2,
+ 3909: 0x00008FB7,
+ 3910: 0x00008FC1,
+ 3911: 0x00008FCA,
+ 3912: 0x00008FCC,
+ 3913: 0x00009033,
+ 3914: 0x000099C4,
+ 3915: 0x000048AD,
+ 3916: 0x000098E0,
+ 3917: 0x00009213,
+ 3918: 0x0000491E,
+ 3919: 0x00009228,
+ 3920: 0x00009258,
+ 3921: 0x0000926B,
+ 3922: 0x000092B1,
+ 3923: 0x000092AE,
+ 3924: 0x000092BF,
+ 3925: 0x000092E3,
+ 3926: 0x000092EB,
+ 3927: 0x000092F3,
+ 3928: 0x000092F4,
+ 3929: 0x000092FD,
+ 3930: 0x00009343,
+ 3931: 0x00009384,
+ 3932: 0x000093AD,
+ 3933: 0x00004945,
+ 3934: 0x00004951,
+ 3935: 0x00009EBF,
+ 3936: 0x00009417,
+ 3937: 0x00005301,
+ 3938: 0x0000941D,
+ 3939: 0x0000942D,
+ 3940: 0x0000943E,
+ 3941: 0x0000496A,
+ 3942: 0x00009454,
+ 3943: 0x00009479,
+ 3944: 0x0000952D,
+ 3945: 0x000095A2,
+ 3946: 0x000049A7,
+ 3947: 0x000095F4,
+ 3948: 0x00009633,
+ 3949: 0x000049E5,
+ 3950: 0x000067A0,
+ 3951: 0x00004A24,
+ 3952: 0x00009740,
+ 3953: 0x00004A35,
+ 3954: 0x000097B2,
+ 3955: 0x000097C2,
+ 3956: 0x00005654,
+ 3957: 0x00004AE4,
+ 3958: 0x000060E8,
+ 3959: 0x000098B9,
+ 3960: 0x00004B19,
+ 3961: 0x000098F1,
+ 3962: 0x00005844,
+ 3963: 0x0000990E,
+ 3964: 0x00009919,
+ 3965: 0x000051B4,
+ 3966: 0x0000991C,
+ 3967: 0x00009937,
+ 3968: 0x00009942,
+ 3969: 0x0000995D,
+ 3970: 0x00009962,
+ 3971: 0x00004B70,
+ 3972: 0x000099C5,
+ 3973: 0x00004B9D,
+ 3974: 0x00009A3C,
+ 3975: 0x00009B0F,
+ 3976: 0x00007A83,
+ 3977: 0x00009B69,
+ 3978: 0x00009B81,
+ 3979: 0x00009BDD,
+ 3980: 0x00009BF1,
+ 3981: 0x00009BF4,
+ 3982: 0x00004C6D,
+ 3983: 0x00009C20,
+ 3984: 0x0000376F,
+ 3985: 0x00021BC2,
+ 3986: 0x00009D49,
+ 3987: 0x00009C3A,
+ 3988: 0x00009EFE,
+ 3989: 0x00005650,
+ 3990: 0x00009D93,
+ 3991: 0x00009DBD,
+ 3992: 0x00009DC0,
+ 3993: 0x00009DFC,
+ 3994: 0x000094F6,
+ 3995: 0x00008FB6,
+ 3996: 0x00009E7B,
+ 3997: 0x00009EAC,
+ 3998: 0x00009EB1,
+ 3999: 0x00009EBD,
+ 4000: 0x00009EC6,
+ 4001: 0x000094DC,
+ 4002: 0x00009EE2,
+ 4003: 0x00009EF1,
+ 4004: 0x00009EF8,
+ 4005: 0x00007AC8,
+ 4006: 0x00009F44,
+ 4007: 0x00020094,
+ 4008: 0x000202B7,
+ 4009: 0x000203A0,
+ 4010: 0x0000691A,
+ 4011: 0x000094C3,
+ 4012: 0x000059AC,
+ 4013: 0x000204D7,
+ 4014: 0x00005840,
+ 4015: 0x000094C1,
+ 4016: 0x000037B9,
+ 4017: 0x000205D5,
+ 4018: 0x00020615,
+ 4019: 0x00020676,
+ 4020: 0x000216BA,
+ 4021: 0x00005757,
+ 4022: 0x00007173,
+ 4023: 0x00020AC2,
+ 4024: 0x00020ACD,
+ 4025: 0x00020BBF,
+ 4026: 0x0000546A,
+ 4027: 0x0002F83B,
+ 4028: 0x00020BCB,
+ 4029: 0x0000549E,
+ 4030: 0x00020BFB,
+ 4031: 0x00020C3B,
+ 4032: 0x00020C53,
+ 4033: 0x00020C65,
+ 4034: 0x00020C7C,
+ 4035: 0x000060E7,
+ 4036: 0x00020C8D,
+ 4037: 0x0000567A,
+ 4038: 0x00020CB5,
+ 4039: 0x00020CDD,
+ 4040: 0x00020CED,
+ 4041: 0x00020D6F,
+ 4042: 0x00020DB2,
+ 4043: 0x00020DC8,
+ 4044: 0x00006955,
+ 4045: 0x00009C2F,
+ 4046: 0x000087A5,
+ 4047: 0x00020E04,
+ 4048: 0x00020E0E,
+ 4049: 0x00020ED7,
+ 4050: 0x00020F90,
+ 4051: 0x00020F2D,
+ 4052: 0x00020E73,
+ 4053: 0x00005C20,
+ 4054: 0x00020FBC,
+ 4055: 0x00005E0B,
+ 4056: 0x0002105C,
+ 4057: 0x0002104F,
+ 4058: 0x00021076,
+ 4059: 0x0000671E,
+ 4060: 0x0002107B,
+ 4061: 0x00021088,
+ 4062: 0x00021096,
+ 4063: 0x00003647,
+ 4064: 0x000210BF,
+ 4065: 0x000210D3,
+ 4066: 0x0002112F,
+ 4067: 0x0002113B,
+ 4068: 0x00005364,
+ 4069: 0x000084AD,
+ 4070: 0x000212E3,
+ 4071: 0x00021375,
+ 4072: 0x00021336,
+ 4073: 0x00008B81,
+ 4074: 0x00021577,
+ 4075: 0x00021619,
+ 4076: 0x000217C3,
+ 4077: 0x000217C7,
+ 4078: 0x00004E78,
+ 4079: 0x000070BB,
+ 4080: 0x0002182D,
+ 4081: 0x0002196A,
+ 4082: 0x00021A2D,
+ 4083: 0x00021A45,
+ 4084: 0x00021C2A,
+ 4085: 0x00021C70,
+ 4086: 0x00021CAC,
+ 4087: 0x00021EC8,
+ 4088: 0x000062C3,
+ 4089: 0x00021ED5,
+ 4090: 0x00021F15,
+ 4091: 0x00007198,
+ 4092: 0x00006855,
+ 4093: 0x00022045,
+ 4094: 0x000069E9,
+ 4095: 0x000036C8,
+ 4096: 0x0002227C,
+ 4097: 0x000223D7,
+ 4098: 0x000223FA,
+ 4099: 0x0002272A,
+ 4100: 0x00022871,
+ 4101: 0x0002294F,
+ 4102: 0x000082FD,
+ 4103: 0x00022967,
+ 4104: 0x00022993,
+ 4105: 0x00022AD5,
+ 4106: 0x000089A5,
+ 4107: 0x00022AE8,
+ 4108: 0x00008FA0,
+ 4109: 0x00022B0E,
+ 4110: 0x000097B8,
+ 4111: 0x00022B3F,
+ 4112: 0x00009847,
+ 4113: 0x00009ABD,
+ 4114: 0x00022C4C,
+ 4116: 0x00022C88,
+ 4117: 0x00022CB7,
+ 4118: 0x00025BE8,
+ 4119: 0x00022D08,
+ 4120: 0x00022D12,
+ 4121: 0x00022DB7,
+ 4122: 0x00022D95,
+ 4123: 0x00022E42,
+ 4124: 0x00022F74,
+ 4125: 0x00022FCC,
+ 4126: 0x00023033,
+ 4127: 0x00023066,
+ 4128: 0x0002331F,
+ 4129: 0x000233DE,
+ 4130: 0x00005FB1,
+ 4131: 0x00006648,
+ 4132: 0x000066BF,
+ 4133: 0x00027A79,
+ 4134: 0x00023567,
+ 4135: 0x000235F3,
+ 4136: 0x00007201,
+ 4137: 0x000249BA,
+ 4138: 0x000077D7,
+ 4139: 0x0002361A,
+ 4140: 0x00023716,
+ 4141: 0x00007E87,
+ 4142: 0x00020346,
+ 4143: 0x000058B5,
+ 4144: 0x0000670E,
+ 4145: 0x00006918,
+ 4146: 0x00023AA7,
+ 4147: 0x00027657,
+ 4148: 0x00025FE2,
+ 4149: 0x00023E11,
+ 4150: 0x00023EB9,
+ 4151: 0x000275FE,
+ 4152: 0x0002209A,
+ 4153: 0x000048D0,
+ 4154: 0x00004AB8,
+ 4155: 0x00024119,
+ 4156: 0x00028A9A,
+ 4157: 0x000242EE,
+ 4158: 0x0002430D,
+ 4159: 0x0002403B,
+ 4160: 0x00024334,
+ 4161: 0x00024396,
+ 4162: 0x00024A45,
+ 4163: 0x000205CA,
+ 4164: 0x000051D2,
+ 4165: 0x00020611,
+ 4166: 0x0000599F,
+ 4167: 0x00021EA8,
+ 4168: 0x00003BBE,
+ 4169: 0x00023CFF,
+ 4170: 0x00024404,
+ 4171: 0x000244D6,
+ 4172: 0x00005788,
+ 4173: 0x00024674,
+ 4174: 0x0000399B,
+ 4175: 0x0002472F,
+ 4176: 0x000285E8,
+ 4177: 0x000299C9,
+ 4178: 0x00003762,
+ 4179: 0x000221C3,
+ 4180: 0x00008B5E,
+ 4181: 0x00028B4E,
+ 4182: 0x000099D6,
+ 4183: 0x00024812,
+ 4184: 0x000248FB,
+ 4185: 0x00024A15,
+ 4186: 0x00007209,
+ 4187: 0x00024AC0,
+ 4188: 0x00020C78,
+ 4189: 0x00005965,
+ 4190: 0x00024EA5,
+ 4191: 0x00024F86,
+ 4192: 0x00020779,
+ 4193: 0x00008EDA,
+ 4194: 0x0002502C,
+ 4195: 0x0000528F,
+ 4196: 0x0000573F,
+ 4197: 0x00007171,
+ 4198: 0x00025299,
+ 4199: 0x00025419,
+ 4200: 0x00023F4A,
+ 4201: 0x00024AA7,
+ 4202: 0x000055BC,
+ 4203: 0x00025446,
+ 4204: 0x0002546E,
+ 4205: 0x00026B52,
+ 4206: 0x000091D4,
+ 4207: 0x00003473,
+ 4208: 0x0002553F,
+ 4209: 0x00027632,
+ 4210: 0x0002555E,
+ 4211: 0x00004718,
+ 4212: 0x00025562,
+ 4213: 0x00025566,
+ 4214: 0x000257C7,
+ 4215: 0x0002493F,
+ 4216: 0x0002585D,
+ 4217: 0x00005066,
+ 4218: 0x000034FB,
+ 4219: 0x000233CC,
+ 4220: 0x000060DE,
+ 4221: 0x00025903,
+ 4222: 0x0000477C,
+ 4223: 0x00028948,
+ 4224: 0x00025AAE,
+ 4225: 0x00025B89,
+ 4226: 0x00025C06,
+ 4227: 0x00021D90,
+ 4228: 0x000057A1,
+ 4229: 0x00007151,
+ 4230: 0x00006FB6,
+ 4231: 0x00026102,
+ 4232: 0x00027C12,
+ 4233: 0x00009056,
+ 4234: 0x000261B2,
+ 4235: 0x00024F9A,
+ 4236: 0x00008B62,
+ 4237: 0x00026402,
+ 4238: 0x0002644A,
+ 4239: 0x00005D5B,
+ 4240: 0x00026BF7,
+ 4241: 0x00008F36,
+ 4242: 0x00026484,
+ 4243: 0x0002191C,
+ 4244: 0x00008AEA,
+ 4245: 0x000249F6,
+ 4246: 0x00026488,
+ 4247: 0x00023FEF,
+ 4248: 0x00026512,
+ 4249: 0x00004BC0,
+ 4250: 0x000265BF,
+ 4251: 0x000266B5,
+ 4252: 0x0002271B,
+ 4253: 0x00009465,
+ 4254: 0x000257E1,
+ 4255: 0x00006195,
+ 4256: 0x00005A27,
+ 4257: 0x0002F8CD,
+ 4258: 0x00004FBB,
+ 4259: 0x000056B9,
+ 4260: 0x00024521,
+ 4261: 0x000266FC,
+ 4262: 0x00004E6A,
+ 4263: 0x00024934,
+ 4264: 0x00009656,
+ 4265: 0x00006D8F,
+ 4266: 0x00026CBD,
+ 4267: 0x00003618,
+ 4268: 0x00008977,
+ 4269: 0x00026799,
+ 4270: 0x0002686E,
+ 4271: 0x00026411,
+ 4272: 0x0002685E,
+ 4273: 0x000071DF,
+ 4274: 0x000268C7,
+ 4275: 0x00007B42,
+ 4276: 0x000290C0,
+ 4277: 0x00020A11,
+ 4278: 0x00026926,
+ 4279: 0x00009104,
+ 4280: 0x00026939,
+ 4281: 0x00007A45,
+ 4282: 0x00009DF0,
+ 4283: 0x000269FA,
+ 4284: 0x00009A26,
+ 4285: 0x00026A2D,
+ 4286: 0x0000365F,
+ 4287: 0x00026469,
+ 4288: 0x00020021,
+ 4289: 0x00007983,
+ 4290: 0x00026A34,
+ 4291: 0x00026B5B,
+ 4292: 0x00005D2C,
+ 4293: 0x00023519,
+ 4294: 0x000083CF,
+ 4295: 0x00026B9D,
+ 4296: 0x000046D0,
+ 4297: 0x00026CA4,
+ 4298: 0x0000753B,
+ 4299: 0x00008865,
+ 4300: 0x00026DAE,
+ 4301: 0x000058B6,
+ 4302: 0x0000371C,
+ 4303: 0x0002258D,
+ 4304: 0x0002704B,
+ 4305: 0x000271CD,
+ 4306: 0x00003C54,
+ 4307: 0x00027280,
+ 4308: 0x00027285,
+ 4309: 0x00009281,
+ 4310: 0x0002217A,
+ 4311: 0x0002728B,
+ 4312: 0x00009330,
+ 4313: 0x000272E6,
+ 4314: 0x000249D0,
+ 4315: 0x00006C39,
+ 4316: 0x0000949F,
+ 4317: 0x00027450,
+ 4318: 0x00020EF8,
+ 4319: 0x00008827,
+ 4320: 0x000088F5,
+ 4321: 0x00022926,
+ 4322: 0x00028473,
+ 4323: 0x000217B1,
+ 4324: 0x00006EB8,
+ 4325: 0x00024A2A,
+ 4326: 0x00021820,
+ 4327: 0x000039A4,
+ 4328: 0x000036B9,
+ 4329: 0x00005C10,
+ 4330: 0x000079E3,
+ 4331: 0x0000453F,
+ 4332: 0x000066B6,
+ 4333: 0x00029CAD,
+ 4334: 0x000298A4,
+ 4335: 0x00008943,
+ 4336: 0x000277CC,
+ 4337: 0x00027858,
+ 4338: 0x000056D6,
+ 4339: 0x000040DF,
+ 4340: 0x0002160A,
+ 4341: 0x000039A1,
+ 4342: 0x0002372F,
+ 4343: 0x000280E8,
+ 4344: 0x000213C5,
+ 4345: 0x000071AD,
+ 4346: 0x00008366,
+ 4347: 0x000279DD,
+ 4348: 0x000291A8,
+ 4349: 0x00005A67,
+ 4350: 0x00004CB7,
+ 4351: 0x000270AF,
+ 4352: 0x000289AB,
+ 4353: 0x000279FD,
+ 4354: 0x00027A0A,
+ 4355: 0x00027B0B,
+ 4356: 0x00027D66,
+ 4357: 0x0002417A,
+ 4358: 0x00007B43,
+ 4359: 0x0000797E,
+ 4360: 0x00028009,
+ 4361: 0x00006FB5,
+ 4362: 0x0002A2DF,
+ 4363: 0x00006A03,
+ 4364: 0x00028318,
+ 4365: 0x000053A2,
+ 4366: 0x00026E07,
+ 4367: 0x000093BF,
+ 4368: 0x00006836,
+ 4369: 0x0000975D,
+ 4370: 0x0002816F,
+ 4371: 0x00028023,
+ 4372: 0x000269B5,
+ 4373: 0x000213ED,
+ 4374: 0x0002322F,
+ 4375: 0x00028048,
+ 4376: 0x00005D85,
+ 4377: 0x00028C30,
+ 4378: 0x00028083,
+ 4379: 0x00005715,
+ 4380: 0x00009823,
+ 4381: 0x00028949,
+ 4382: 0x00005DAB,
+ 4383: 0x00024988,
+ 4384: 0x000065BE,
+ 4385: 0x000069D5,
+ 4386: 0x000053D2,
+ 4387: 0x00024AA5,
+ 4388: 0x00023F81,
+ 4389: 0x00003C11,
+ 4390: 0x00006736,
+ 4391: 0x00028090,
+ 4392: 0x000280F4,
+ 4393: 0x0002812E,
+ 4394: 0x00021FA1,
+ 4395: 0x0002814F,
+ 4396: 0x00028189,
+ 4397: 0x000281AF,
+ 4398: 0x0002821A,
+ 4399: 0x00028306,
+ 4400: 0x0002832F,
+ 4401: 0x0002838A,
+ 4402: 0x000035CA,
+ 4403: 0x00028468,
+ 4404: 0x000286AA,
+ 4405: 0x000048FA,
+ 4406: 0x000063E6,
+ 4407: 0x00028956,
+ 4408: 0x00007808,
+ 4409: 0x00009255,
+ 4410: 0x000289B8,
+ 4411: 0x000043F2,
+ 4412: 0x000289E7,
+ 4413: 0x000043DF,
+ 4414: 0x000289E8,
+ 4415: 0x00028B46,
+ 4416: 0x00028BD4,
+ 4417: 0x000059F8,
+ 4418: 0x00028C09,
+ 4419: 0x00008F0B,
+ 4420: 0x00028FC5,
+ 4421: 0x000290EC,
+ 4422: 0x00007B51,
+ 4423: 0x00029110,
+ 4424: 0x0002913C,
+ 4425: 0x00003DF7,
+ 4426: 0x0002915E,
+ 4427: 0x00024ACA,
+ 4428: 0x00008FD0,
+ 4429: 0x0000728F,
+ 4430: 0x0000568B,
+ 4431: 0x000294E7,
+ 4432: 0x000295E9,
+ 4433: 0x000295B0,
+ 4434: 0x000295B8,
+ 4435: 0x00029732,
+ 4436: 0x000298D1,
+ 4437: 0x00029949,
+ 4438: 0x0002996A,
+ 4439: 0x000299C3,
+ 4440: 0x00029A28,
+ 4441: 0x00029B0E,
+ 4442: 0x00029D5A,
+ 4443: 0x00029D9B,
+ 4444: 0x00007E9F,
+ 4445: 0x00029EF8,
+ 4446: 0x00029F23,
+ 4447: 0x00004CA4,
+ 4448: 0x00009547,
+ 4449: 0x0002A293,
+ 4450: 0x000071A2,
+ 4451: 0x0002A2FF,
+ 4452: 0x00004D91,
+ 4453: 0x00009012,
+ 4454: 0x0002A5CB,
+ 4455: 0x00004D9C,
+ 4456: 0x00020C9C,
+ 4457: 0x00008FBE,
+ 4458: 0x000055C1,
+ 4459: 0x00008FBA,
+ 4460: 0x000224B0,
+ 4461: 0x00008FB9,
+ 4462: 0x00024A93,
+ 4463: 0x00004509,
+ 4464: 0x00007E7F,
+ 4465: 0x00006F56,
+ 4466: 0x00006AB1,
+ 4467: 0x00004EEA,
+ 4468: 0x000034E4,
+ 4469: 0x00028B2C,
+ 4470: 0x0002789D,
+ 4471: 0x0000373A,
+ 4472: 0x00008E80,
+ 4473: 0x000217F5,
+ 4474: 0x00028024,
+ 4475: 0x00028B6C,
+ 4476: 0x00028B99,
+ 4477: 0x00027A3E,
+ 4478: 0x000266AF,
+ 4479: 0x00003DEB,
+ 4480: 0x00027655,
+ 4481: 0x00023CB7,
+ 4482: 0x00025635,
+ 4483: 0x00025956,
+ 4484: 0x00004E9A,
+ 4485: 0x00025E81,
+ 4486: 0x00026258,
+ 4487: 0x000056BF,
+ 4488: 0x00020E6D,
+ 4489: 0x00008E0E,
+ 4490: 0x00005B6D,
+ 4491: 0x00023E88,
+ 4492: 0x00024C9E,
+ 4493: 0x000063DE,
+ 4494: 0x000062D0,
+ 4495: 0x000217F6,
+ 4496: 0x0002187B,
+ 4497: 0x00006530,
+ 4498: 0x0000562D,
+ 4499: 0x00025C4A,
+ 4500: 0x0000541A,
+ 4501: 0x00025311,
+ 4502: 0x00003DC6,
+ 4503: 0x00029D98,
+ 4504: 0x00004C7D,
+ 4505: 0x00005622,
+ 4506: 0x0000561E,
+ 4507: 0x00007F49,
+ 4508: 0x00025ED8,
+ 4509: 0x00005975,
+ 4510: 0x00023D40,
+ 4511: 0x00008770,
+ 4512: 0x00004E1C,
+ 4513: 0x00020FEA,
+ 4514: 0x00020D49,
+ 4515: 0x000236BA,
+ 4516: 0x00008117,
+ 4517: 0x00009D5E,
+ 4518: 0x00008D18,
+ 4519: 0x0000763B,
+ 4520: 0x00009C45,
+ 4521: 0x0000764E,
+ 4522: 0x000077B9,
+ 4523: 0x00009345,
+ 4524: 0x00005432,
+ 4525: 0x00008148,
+ 4526: 0x000082F7,
+ 4527: 0x00005625,
+ 4528: 0x00008132,
+ 4529: 0x00008418,
+ 4530: 0x000080BD,
+ 4531: 0x000055EA,
+ 4532: 0x00007962,
+ 4533: 0x00005643,
+ 4534: 0x00005416,
+ 4535: 0x00020E9D,
+ 4536: 0x000035CE,
+ 4537: 0x00005605,
+ 4538: 0x000055F1,
+ 4539: 0x000066F1,
+ 4540: 0x000282E2,
+ 4541: 0x0000362D,
+ 4542: 0x00007534,
+ 4543: 0x000055F0,
+ 4544: 0x000055BA,
+ 4545: 0x00005497,
+ 4546: 0x00005572,
+ 4547: 0x00020C41,
+ 4548: 0x00020C96,
+ 4549: 0x00005ED0,
+ 4550: 0x00025148,
+ 4551: 0x00020E76,
+ 4552: 0x00022C62,
+ 4553: 0x00020EA2,
+ 4554: 0x00009EAB,
+ 4555: 0x00007D5A,
+ 4556: 0x000055DE,
+ 4557: 0x00021075,
+ 4558: 0x0000629D,
+ 4559: 0x0000976D,
+ 4560: 0x00005494,
+ 4561: 0x00008CCD,
+ 4562: 0x000071F6,
+ 4563: 0x00009176,
+ 4564: 0x000063FC,
+ 4565: 0x000063B9,
+ 4566: 0x000063FE,
+ 4567: 0x00005569,
+ 4568: 0x00022B43,
+ 4569: 0x00009C72,
+ 4570: 0x00022EB3,
+ 4571: 0x0000519A,
+ 4572: 0x000034DF,
+ 4573: 0x00020DA7,
+ 4574: 0x000051A7,
+ 4575: 0x0000544D,
+ 4576: 0x0000551E,
+ 4577: 0x00005513,
+ 4578: 0x00007666,
+ 4579: 0x00008E2D,
+ 4580: 0x0002688A,
+ 4581: 0x000075B1,
+ 4582: 0x000080B6,
+ 4583: 0x00008804,
+ 4584: 0x00008786,
+ 4585: 0x000088C7,
+ 4586: 0x000081B6,
+ 4587: 0x0000841C,
+ 4588: 0x000210C1,
+ 4589: 0x000044EC,
+ 4590: 0x00007304,
+ 4591: 0x00024706,
+ 4592: 0x00005B90,
+ 4593: 0x0000830B,
+ 4594: 0x00026893,
+ 4595: 0x0000567B,
+ 4596: 0x000226F4,
+ 4597: 0x00027D2F,
+ 4598: 0x000241A3,
+ 4599: 0x00027D73,
+ 4600: 0x00026ED0,
+ 4601: 0x000272B6,
+ 4602: 0x00009170,
+ 4603: 0x000211D9,
+ 4604: 0x00009208,
+ 4605: 0x00023CFC,
+ 4606: 0x0002A6A9,
+ 4607: 0x00020EAC,
+ 4608: 0x00020EF9,
+ 4609: 0x00007266,
+ 4610: 0x00021CA2,
+ 4611: 0x0000474E,
+ 4612: 0x00024FC2,
+ 4613: 0x00027FF9,
+ 4614: 0x00020FEB,
+ 4615: 0x000040FA,
+ 4616: 0x00009C5D,
+ 4617: 0x0000651F,
+ 4618: 0x00022DA0,
+ 4619: 0x000048F3,
+ 4620: 0x000247E0,
+ 4621: 0x00029D7C,
+ 4622: 0x00020FEC,
+ 4623: 0x00020E0A,
+ 4624: 0x00006062,
+ 4625: 0x000275A3,
+ 4626: 0x00020FED,
+ 4628: 0x00026048,
+ 4629: 0x00021187,
+ 4630: 0x000071A3,
+ 4631: 0x00007E8E,
+ 4632: 0x00009D50,
+ 4633: 0x00004E1A,
+ 4634: 0x00004E04,
+ 4635: 0x00003577,
+ 4636: 0x00005B0D,
+ 4637: 0x00006CB2,
+ 4638: 0x00005367,
+ 4639: 0x000036AC,
+ 4640: 0x000039DC,
+ 4641: 0x0000537D,
+ 4642: 0x000036A5,
+ 4643: 0x00024618,
+ 4644: 0x0000589A,
+ 4645: 0x00024B6E,
+ 4646: 0x0000822D,
+ 4647: 0x0000544B,
+ 4648: 0x000057AA,
+ 4649: 0x00025A95,
+ 4650: 0x00020979,
+ 4652: 0x00003A52,
+ 4653: 0x00022465,
+ 4654: 0x00007374,
+ 4655: 0x00029EAC,
+ 4656: 0x00004D09,
+ 4657: 0x00009BED,
+ 4658: 0x00023CFE,
+ 4659: 0x00029F30,
+ 4660: 0x00004C5B,
+ 4661: 0x00024FA9,
+ 4662: 0x0002959E,
+ 4663: 0x00029FDE,
+ 4664: 0x0000845C,
+ 4665: 0x00023DB6,
+ 4666: 0x000272B2,
+ 4667: 0x000267B3,
+ 4668: 0x00023720,
+ 4669: 0x0000632E,
+ 4670: 0x00007D25,
+ 4671: 0x00023EF7,
+ 4672: 0x00023E2C,
+ 4673: 0x00003A2A,
+ 4674: 0x00009008,
+ 4675: 0x000052CC,
+ 4676: 0x00003E74,
+ 4677: 0x0000367A,
+ 4678: 0x000045E9,
+ 4679: 0x0002048E,
+ 4680: 0x00007640,
+ 4681: 0x00005AF0,
+ 4682: 0x00020EB6,
+ 4683: 0x0000787A,
+ 4684: 0x00027F2E,
+ 4685: 0x000058A7,
+ 4686: 0x000040BF,
+ 4687: 0x0000567C,
+ 4688: 0x00009B8B,
+ 4689: 0x00005D74,
+ 4690: 0x00007654,
+ 4691: 0x0002A434,
+ 4692: 0x00009E85,
+ 4693: 0x00004CE1,
+ 4694: 0x000075F9,
+ 4695: 0x000037FB,
+ 4696: 0x00006119,
+ 4697: 0x000230DA,
+ 4698: 0x000243F2,
+ 4700: 0x0000565D,
+ 4701: 0x000212A9,
+ 4702: 0x000057A7,
+ 4703: 0x00024963,
+ 4704: 0x00029E06,
+ 4705: 0x00005234,
+ 4706: 0x000270AE,
+ 4707: 0x000035AD,
+ 4708: 0x00006C4A,
+ 4709: 0x00009D7C,
+ 4710: 0x00007C56,
+ 4711: 0x00009B39,
+ 4712: 0x000057DE,
+ 4713: 0x0002176C,
+ 4714: 0x00005C53,
+ 4715: 0x000064D3,
+ 4716: 0x000294D0,
+ 4717: 0x00026335,
+ 4718: 0x00027164,
+ 4719: 0x000086AD,
+ 4720: 0x00020D28,
+ 4721: 0x00026D22,
+ 4722: 0x00024AE2,
+ 4723: 0x00020D71,
+ 4725: 0x000051FE,
+ 4726: 0x00021F0F,
+ 4727: 0x00005D8E,
+ 4728: 0x00009703,
+ 4729: 0x00021DD1,
+ 4730: 0x00009E81,
+ 4731: 0x0000904C,
+ 4732: 0x00007B1F,
+ 4733: 0x00009B02,
+ 4734: 0x00005CD1,
+ 4735: 0x00007BA3,
+ 4736: 0x00006268,
+ 4737: 0x00006335,
+ 4738: 0x00009AFF,
+ 4739: 0x00007BCF,
+ 4740: 0x00009B2A,
+ 4741: 0x00007C7E,
+ 4742: 0x00009B2E,
+ 4743: 0x00007C42,
+ 4744: 0x00007C86,
+ 4745: 0x00009C15,
+ 4746: 0x00007BFC,
+ 4747: 0x00009B09,
+ 4748: 0x00009F17,
+ 4749: 0x00009C1B,
+ 4750: 0x0002493E,
+ 4751: 0x00009F5A,
+ 4752: 0x00005573,
+ 4753: 0x00005BC3,
+ 4754: 0x00004FFD,
+ 4755: 0x00009E98,
+ 4756: 0x00004FF2,
+ 4757: 0x00005260,
+ 4758: 0x00003E06,
+ 4759: 0x000052D1,
+ 4760: 0x00005767,
+ 4761: 0x00005056,
+ 4762: 0x000059B7,
+ 4763: 0x00005E12,
+ 4764: 0x000097C8,
+ 4765: 0x00009DAB,
+ 4766: 0x00008F5C,
+ 4767: 0x00005469,
+ 4768: 0x000097B4,
+ 4769: 0x00009940,
+ 4770: 0x000097BA,
+ 4771: 0x0000532C,
+ 4772: 0x00006130,
+ 4773: 0x0000692C,
+ 4774: 0x000053DA,
+ 4775: 0x00009C0A,
+ 4776: 0x00009D02,
+ 4777: 0x00004C3B,
+ 4778: 0x00009641,
+ 4779: 0x00006980,
+ 4780: 0x000050A6,
+ 4781: 0x00007546,
+ 4782: 0x0002176D,
+ 4783: 0x000099DA,
+ 4784: 0x00005273,
+ 4786: 0x00009159,
+ 4787: 0x00009681,
+ 4788: 0x0000915C,
+ 4790: 0x00009151,
+ 4791: 0x00028E97,
+ 4792: 0x0000637F,
+ 4793: 0x00026D23,
+ 4794: 0x00006ACA,
+ 4795: 0x00005611,
+ 4796: 0x0000918E,
+ 4797: 0x0000757A,
+ 4798: 0x00006285,
+ 4799: 0x000203FC,
+ 4800: 0x0000734F,
+ 4801: 0x00007C70,
+ 4802: 0x00025C21,
+ 4803: 0x00023CFD,
+ 4805: 0x00024919,
+ 4806: 0x000076D6,
+ 4807: 0x00009B9D,
+ 4808: 0x00004E2A,
+ 4809: 0x00020CD4,
+ 4810: 0x000083BE,
+ 4811: 0x00008842,
+ 4813: 0x00005C4A,
+ 4814: 0x000069C0,
+ 4815: 0x000050ED,
+ 4816: 0x0000577A,
+ 4817: 0x0000521F,
+ 4818: 0x00005DF5,
+ 4819: 0x00004ECE,
+ 4820: 0x00006C31,
+ 4821: 0x000201F2,
+ 4822: 0x00004F39,
+ 4823: 0x0000549C,
+ 4824: 0x000054DA,
+ 4825: 0x0000529A,
+ 4826: 0x00008D82,
+ 4827: 0x000035FE,
+ 4828: 0x00005F0C,
+ 4829: 0x000035F3,
+ 4831: 0x00006B52,
+ 4832: 0x0000917C,
+ 4833: 0x00009FA5,
+ 4834: 0x00009B97,
+ 4835: 0x0000982E,
+ 4836: 0x000098B4,
+ 4837: 0x00009ABA,
+ 4838: 0x00009EA8,
+ 4839: 0x00009E84,
+ 4840: 0x0000717A,
+ 4841: 0x00007B14,
+ 4843: 0x00006BFA,
+ 4844: 0x00008818,
+ 4845: 0x00007F78,
+ 4847: 0x00005620,
+ 4848: 0x0002A64A,
+ 4849: 0x00008E77,
+ 4850: 0x00009F53,
+ 4852: 0x00008DD4,
+ 4853: 0x00008E4F,
+ 4854: 0x00009E1C,
+ 4855: 0x00008E01,
+ 4856: 0x00006282,
+ 4857: 0x0002837D,
+ 4858: 0x00008E28,
+ 4859: 0x00008E75,
+ 4860: 0x00007AD3,
+ 4861: 0x00024A77,
+ 4862: 0x00007A3E,
+ 4863: 0x000078D8,
+ 4864: 0x00006CEA,
+ 4865: 0x00008A67,
+ 4866: 0x00007607,
+ 4867: 0x00028A5A,
+ 4868: 0x00009F26,
+ 4869: 0x00006CCE,
+ 4870: 0x000087D6,
+ 4871: 0x000075C3,
+ 4872: 0x0002A2B2,
+ 4873: 0x00007853,
+ 4874: 0x0002F840,
+ 4875: 0x00008D0C,
+ 4876: 0x000072E2,
+ 4877: 0x00007371,
+ 4878: 0x00008B2D,
+ 4879: 0x00007302,
+ 4880: 0x000074F1,
+ 4881: 0x00008CEB,
+ 4882: 0x00024ABB,
+ 4883: 0x0000862F,
+ 4884: 0x00005FBA,
+ 4885: 0x000088A0,
+ 4886: 0x000044B7,
+ 4888: 0x0002183B,
+ 4889: 0x00026E05,
+ 4891: 0x00008A7E,
+ 4892: 0x0002251B,
+ 4894: 0x000060FD,
+ 4895: 0x00007667,
+ 4896: 0x00009AD7,
+ 4897: 0x00009D44,
+ 4898: 0x0000936E,
+ 4899: 0x00009B8F,
+ 4900: 0x000087F5,
+ 4902: 0x0000880F,
+ 4903: 0x00008CF7,
+ 4904: 0x0000732C,
+ 4905: 0x00009721,
+ 4906: 0x00009BB0,
+ 4907: 0x000035D6,
+ 4908: 0x000072B2,
+ 4909: 0x00004C07,
+ 4910: 0x00007C51,
+ 4911: 0x0000994A,
+ 4912: 0x00026159,
+ 4913: 0x00006159,
+ 4914: 0x00004C04,
+ 4915: 0x00009E96,
+ 4916: 0x0000617D,
+ 4918: 0x0000575F,
+ 4919: 0x0000616F,
+ 4920: 0x000062A6,
+ 4921: 0x00006239,
+ 4922: 0x000062CE,
+ 4923: 0x00003A5C,
+ 4924: 0x000061E2,
+ 4925: 0x000053AA,
+ 4926: 0x000233F5,
+ 4927: 0x00006364,
+ 4928: 0x00006802,
+ 4929: 0x000035D2,
+ 4930: 0x00005D57,
+ 4931: 0x00028BC2,
+ 4932: 0x00008FDA,
+ 4933: 0x00028E39,
+ 4935: 0x000050D9,
+ 4936: 0x00021D46,
+ 4937: 0x00007906,
+ 4938: 0x00005332,
+ 4939: 0x00009638,
+ 4940: 0x00020F3B,
+ 4941: 0x00004065,
+ 4943: 0x000077FE,
+ 4945: 0x00007CC2,
+ 4946: 0x00025F1A,
+ 4947: 0x00007CDA,
+ 4948: 0x00007A2D,
+ 4949: 0x00008066,
+ 4950: 0x00008063,
+ 4951: 0x00007D4D,
+ 4952: 0x00007505,
+ 4953: 0x000074F2,
+ 4954: 0x00008994,
+ 4955: 0x0000821A,
+ 4956: 0x0000670C,
+ 4957: 0x00008062,
+ 4958: 0x00027486,
+ 4959: 0x0000805B,
+ 4960: 0x000074F0,
+ 4961: 0x00008103,
+ 4962: 0x00007724,
+ 4963: 0x00008989,
+ 4964: 0x000267CC,
+ 4965: 0x00007553,
+ 4966: 0x00026ED1,
+ 4967: 0x000087A9,
+ 4968: 0x000087CE,
+ 4969: 0x000081C8,
+ 4970: 0x0000878C,
+ 4971: 0x00008A49,
+ 4972: 0x00008CAD,
+ 4973: 0x00008B43,
+ 4974: 0x0000772B,
+ 4975: 0x000074F8,
+ 4976: 0x000084DA,
+ 4977: 0x00003635,
+ 4978: 0x000069B2,
+ 4979: 0x00008DA6,
+ 4981: 0x000089A9,
+ 4982: 0x00007468,
+ 4983: 0x00006DB9,
+ 4984: 0x000087C1,
+ 4985: 0x00024011,
+ 4986: 0x000074E7,
+ 4987: 0x00003DDB,
+ 4988: 0x00007176,
+ 4989: 0x000060A4,
+ 4990: 0x0000619C,
+ 4991: 0x00003CD1,
+ 4992: 0x00007162,
+ 4993: 0x00006077,
+ 4995: 0x00007F71,
+ 4996: 0x00028B2D,
+ 4997: 0x00007250,
+ 4998: 0x000060E9,
+ 4999: 0x00004B7E,
+ 5000: 0x00005220,
+ 5001: 0x00003C18,
+ 5002: 0x00023CC7,
+ 5003: 0x00025ED7,
+ 5004: 0x00027656,
+ 5005: 0x00025531,
+ 5006: 0x00021944,
+ 5007: 0x000212FE,
+ 5008: 0x00029903,
+ 5009: 0x00026DDC,
+ 5010: 0x000270AD,
+ 5011: 0x00005CC1,
+ 5012: 0x000261AD,
+ 5013: 0x00028A0F,
+ 5014: 0x00023677,
+ 5015: 0x000200EE,
+ 5016: 0x00026846,
+ 5017: 0x00024F0E,
+ 5018: 0x00004562,
+ 5019: 0x00005B1F,
+ 5020: 0x0002634C,
+ 5021: 0x00009F50,
+ 5022: 0x00009EA6,
+ 5023: 0x0002626B,
+ 5024: 0x00003000,
+ 5025: 0x0000FF0C,
+ 5026: 0x00003001,
+ 5027: 0x00003002,
+ 5028: 0x0000FF0E,
+ 5029: 0x00002027,
+ 5030: 0x0000FF1B,
+ 5031: 0x0000FF1A,
+ 5032: 0x0000FF1F,
+ 5033: 0x0000FF01,
+ 5034: 0x0000FE30,
+ 5035: 0x00002026,
+ 5036: 0x00002025,
+ 5037: 0x0000FE50,
+ 5038: 0x0000FE51,
+ 5039: 0x0000FE52,
+ 5040: 0x000000B7,
+ 5041: 0x0000FE54,
+ 5042: 0x0000FE55,
+ 5043: 0x0000FE56,
+ 5044: 0x0000FE57,
+ 5045: 0x0000FF5C,
+ 5046: 0x00002013,
+ 5047: 0x0000FE31,
+ 5048: 0x00002014,
+ 5049: 0x0000FE33,
+ 5050: 0x00002574,
+ 5051: 0x0000FE34,
+ 5052: 0x0000FE4F,
+ 5053: 0x0000FF08,
+ 5054: 0x0000FF09,
+ 5055: 0x0000FE35,
+ 5056: 0x0000FE36,
+ 5057: 0x0000FF5B,
+ 5058: 0x0000FF5D,
+ 5059: 0x0000FE37,
+ 5060: 0x0000FE38,
+ 5061: 0x00003014,
+ 5062: 0x00003015,
+ 5063: 0x0000FE39,
+ 5064: 0x0000FE3A,
+ 5065: 0x00003010,
+ 5066: 0x00003011,
+ 5067: 0x0000FE3B,
+ 5068: 0x0000FE3C,
+ 5069: 0x0000300A,
+ 5070: 0x0000300B,
+ 5071: 0x0000FE3D,
+ 5072: 0x0000FE3E,
+ 5073: 0x00003008,
+ 5074: 0x00003009,
+ 5075: 0x0000FE3F,
+ 5076: 0x0000FE40,
+ 5077: 0x0000300C,
+ 5078: 0x0000300D,
+ 5079: 0x0000FE41,
+ 5080: 0x0000FE42,
+ 5081: 0x0000300E,
+ 5082: 0x0000300F,
+ 5083: 0x0000FE43,
+ 5084: 0x0000FE44,
+ 5085: 0x0000FE59,
+ 5086: 0x0000FE5A,
+ 5087: 0x0000FE5B,
+ 5088: 0x0000FE5C,
+ 5089: 0x0000FE5D,
+ 5090: 0x0000FE5E,
+ 5091: 0x00002018,
+ 5092: 0x00002019,
+ 5093: 0x0000201C,
+ 5094: 0x0000201D,
+ 5095: 0x0000301D,
+ 5096: 0x0000301E,
+ 5097: 0x00002035,
+ 5098: 0x00002032,
+ 5099: 0x0000FF03,
+ 5100: 0x0000FF06,
+ 5101: 0x0000FF0A,
+ 5102: 0x0000203B,
+ 5103: 0x000000A7,
+ 5104: 0x00003003,
+ 5105: 0x000025CB,
+ 5106: 0x000025CF,
+ 5107: 0x000025B3,
+ 5108: 0x000025B2,
+ 5109: 0x000025CE,
+ 5110: 0x00002606,
+ 5111: 0x00002605,
+ 5112: 0x000025C7,
+ 5113: 0x000025C6,
+ 5114: 0x000025A1,
+ 5115: 0x000025A0,
+ 5116: 0x000025BD,
+ 5117: 0x000025BC,
+ 5118: 0x000032A3,
+ 5119: 0x00002105,
+ 5120: 0x000000AF,
+ 5121: 0x0000FFE3,
+ 5122: 0x0000FF3F,
+ 5123: 0x000002CD,
+ 5124: 0x0000FE49,
+ 5125: 0x0000FE4A,
+ 5126: 0x0000FE4D,
+ 5127: 0x0000FE4E,
+ 5128: 0x0000FE4B,
+ 5129: 0x0000FE4C,
+ 5130: 0x0000FE5F,
+ 5131: 0x0000FE60,
+ 5132: 0x0000FE61,
+ 5133: 0x0000FF0B,
+ 5134: 0x0000FF0D,
+ 5135: 0x000000D7,
+ 5136: 0x000000F7,
+ 5137: 0x000000B1,
+ 5138: 0x0000221A,
+ 5139: 0x0000FF1C,
+ 5140: 0x0000FF1E,
+ 5141: 0x0000FF1D,
+ 5142: 0x00002266,
+ 5143: 0x00002267,
+ 5144: 0x00002260,
+ 5145: 0x0000221E,
+ 5146: 0x00002252,
+ 5147: 0x00002261,
+ 5148: 0x0000FE62,
+ 5149: 0x0000FE63,
+ 5150: 0x0000FE64,
+ 5151: 0x0000FE65,
+ 5152: 0x0000FE66,
+ 5153: 0x0000FF5E,
+ 5154: 0x00002229,
+ 5155: 0x0000222A,
+ 5156: 0x000022A5,
+ 5157: 0x00002220,
+ 5158: 0x0000221F,
+ 5159: 0x000022BF,
+ 5160: 0x000033D2,
+ 5161: 0x000033D1,
+ 5162: 0x0000222B,
+ 5163: 0x0000222E,
+ 5164: 0x00002235,
+ 5165: 0x00002234,
+ 5166: 0x00002640,
+ 5167: 0x00002642,
+ 5168: 0x00002295,
+ 5169: 0x00002299,
+ 5170: 0x00002191,
+ 5171: 0x00002193,
+ 5172: 0x00002190,
+ 5173: 0x00002192,
+ 5174: 0x00002196,
+ 5175: 0x00002197,
+ 5176: 0x00002199,
+ 5177: 0x00002198,
+ 5178: 0x00002225,
+ 5179: 0x00002223,
+ 5180: 0x0000FF0F,
+ 5181: 0x0000FF3C,
+ 5182: 0x00002215,
+ 5183: 0x0000FE68,
+ 5184: 0x0000FF04,
+ 5185: 0x0000FFE5,
+ 5186: 0x00003012,
+ 5187: 0x0000FFE0,
+ 5188: 0x0000FFE1,
+ 5189: 0x0000FF05,
+ 5190: 0x0000FF20,
+ 5191: 0x00002103,
+ 5192: 0x00002109,
+ 5193: 0x0000FE69,
+ 5194: 0x0000FE6A,
+ 5195: 0x0000FE6B,
+ 5196: 0x000033D5,
+ 5197: 0x0000339C,
+ 5198: 0x0000339D,
+ 5199: 0x0000339E,
+ 5200: 0x000033CE,
+ 5201: 0x000033A1,
+ 5202: 0x0000338E,
+ 5203: 0x0000338F,
+ 5204: 0x000033C4,
+ 5205: 0x000000B0,
+ 5206: 0x00005159,
+ 5207: 0x0000515B,
+ 5208: 0x0000515E,
+ 5209: 0x0000515D,
+ 5210: 0x00005161,
+ 5211: 0x00005163,
+ 5212: 0x000055E7,
+ 5213: 0x000074E9,
+ 5214: 0x00007CCE,
+ 5215: 0x00002581,
+ 5216: 0x00002582,
+ 5217: 0x00002583,
+ 5218: 0x00002584,
+ 5219: 0x00002585,
+ 5220: 0x00002586,
+ 5221: 0x00002587,
+ 5222: 0x00002588,
+ 5223: 0x0000258F,
+ 5224: 0x0000258E,
+ 5225: 0x0000258D,
+ 5226: 0x0000258C,
+ 5227: 0x0000258B,
+ 5228: 0x0000258A,
+ 5229: 0x00002589,
+ 5230: 0x0000253C,
+ 5231: 0x00002534,
+ 5232: 0x0000252C,
+ 5233: 0x00002524,
+ 5234: 0x0000251C,
+ 5235: 0x00002594,
+ 5236: 0x00002500,
+ 5237: 0x00002502,
+ 5238: 0x00002595,
+ 5239: 0x0000250C,
+ 5240: 0x00002510,
+ 5241: 0x00002514,
+ 5242: 0x00002518,
+ 5243: 0x0000256D,
+ 5244: 0x0000256E,
+ 5245: 0x00002570,
+ 5246: 0x0000256F,
+ 5247: 0x00002550,
+ 5248: 0x0000255E,
+ 5249: 0x0000256A,
+ 5250: 0x00002561,
+ 5251: 0x000025E2,
+ 5252: 0x000025E3,
+ 5253: 0x000025E5,
+ 5254: 0x000025E4,
+ 5255: 0x00002571,
+ 5256: 0x00002572,
+ 5257: 0x00002573,
+ 5258: 0x0000FF10,
+ 5259: 0x0000FF11,
+ 5260: 0x0000FF12,
+ 5261: 0x0000FF13,
+ 5262: 0x0000FF14,
+ 5263: 0x0000FF15,
+ 5264: 0x0000FF16,
+ 5265: 0x0000FF17,
+ 5266: 0x0000FF18,
+ 5267: 0x0000FF19,
+ 5268: 0x00002160,
+ 5269: 0x00002161,
+ 5270: 0x00002162,
+ 5271: 0x00002163,
+ 5272: 0x00002164,
+ 5273: 0x00002165,
+ 5274: 0x00002166,
+ 5275: 0x00002167,
+ 5276: 0x00002168,
+ 5277: 0x00002169,
+ 5278: 0x00003021,
+ 5279: 0x00003022,
+ 5280: 0x00003023,
+ 5281: 0x00003024,
+ 5282: 0x00003025,
+ 5283: 0x00003026,
+ 5284: 0x00003027,
+ 5285: 0x00003028,
+ 5286: 0x00003029,
+ 5287: 0x00005341,
+ 5288: 0x00005344,
+ 5289: 0x00005345,
+ 5290: 0x0000FF21,
+ 5291: 0x0000FF22,
+ 5292: 0x0000FF23,
+ 5293: 0x0000FF24,
+ 5294: 0x0000FF25,
+ 5295: 0x0000FF26,
+ 5296: 0x0000FF27,
+ 5297: 0x0000FF28,
+ 5298: 0x0000FF29,
+ 5299: 0x0000FF2A,
+ 5300: 0x0000FF2B,
+ 5301: 0x0000FF2C,
+ 5302: 0x0000FF2D,
+ 5303: 0x0000FF2E,
+ 5304: 0x0000FF2F,
+ 5305: 0x0000FF30,
+ 5306: 0x0000FF31,
+ 5307: 0x0000FF32,
+ 5308: 0x0000FF33,
+ 5309: 0x0000FF34,
+ 5310: 0x0000FF35,
+ 5311: 0x0000FF36,
+ 5312: 0x0000FF37,
+ 5313: 0x0000FF38,
+ 5314: 0x0000FF39,
+ 5315: 0x0000FF3A,
+ 5316: 0x0000FF41,
+ 5317: 0x0000FF42,
+ 5318: 0x0000FF43,
+ 5319: 0x0000FF44,
+ 5320: 0x0000FF45,
+ 5321: 0x0000FF46,
+ 5322: 0x0000FF47,
+ 5323: 0x0000FF48,
+ 5324: 0x0000FF49,
+ 5325: 0x0000FF4A,
+ 5326: 0x0000FF4B,
+ 5327: 0x0000FF4C,
+ 5328: 0x0000FF4D,
+ 5329: 0x0000FF4E,
+ 5330: 0x0000FF4F,
+ 5331: 0x0000FF50,
+ 5332: 0x0000FF51,
+ 5333: 0x0000FF52,
+ 5334: 0x0000FF53,
+ 5335: 0x0000FF54,
+ 5336: 0x0000FF55,
+ 5337: 0x0000FF56,
+ 5338: 0x0000FF57,
+ 5339: 0x0000FF58,
+ 5340: 0x0000FF59,
+ 5341: 0x0000FF5A,
+ 5342: 0x00000391,
+ 5343: 0x00000392,
+ 5344: 0x00000393,
+ 5345: 0x00000394,
+ 5346: 0x00000395,
+ 5347: 0x00000396,
+ 5348: 0x00000397,
+ 5349: 0x00000398,
+ 5350: 0x00000399,
+ 5351: 0x0000039A,
+ 5352: 0x0000039B,
+ 5353: 0x0000039C,
+ 5354: 0x0000039D,
+ 5355: 0x0000039E,
+ 5356: 0x0000039F,
+ 5357: 0x000003A0,
+ 5358: 0x000003A1,
+ 5359: 0x000003A3,
+ 5360: 0x000003A4,
+ 5361: 0x000003A5,
+ 5362: 0x000003A6,
+ 5363: 0x000003A7,
+ 5364: 0x000003A8,
+ 5365: 0x000003A9,
+ 5366: 0x000003B1,
+ 5367: 0x000003B2,
+ 5368: 0x000003B3,
+ 5369: 0x000003B4,
+ 5370: 0x000003B5,
+ 5371: 0x000003B6,
+ 5372: 0x000003B7,
+ 5373: 0x000003B8,
+ 5374: 0x000003B9,
+ 5375: 0x000003BA,
+ 5376: 0x000003BB,
+ 5377: 0x000003BC,
+ 5378: 0x000003BD,
+ 5379: 0x000003BE,
+ 5380: 0x000003BF,
+ 5381: 0x000003C0,
+ 5382: 0x000003C1,
+ 5383: 0x000003C3,
+ 5384: 0x000003C4,
+ 5385: 0x000003C5,
+ 5386: 0x000003C6,
+ 5387: 0x000003C7,
+ 5388: 0x000003C8,
+ 5389: 0x000003C9,
+ 5390: 0x00003105,
+ 5391: 0x00003106,
+ 5392: 0x00003107,
+ 5393: 0x00003108,
+ 5394: 0x00003109,
+ 5395: 0x0000310A,
+ 5396: 0x0000310B,
+ 5397: 0x0000310C,
+ 5398: 0x0000310D,
+ 5399: 0x0000310E,
+ 5400: 0x0000310F,
+ 5401: 0x00003110,
+ 5402: 0x00003111,
+ 5403: 0x00003112,
+ 5404: 0x00003113,
+ 5405: 0x00003114,
+ 5406: 0x00003115,
+ 5407: 0x00003116,
+ 5408: 0x00003117,
+ 5409: 0x00003118,
+ 5410: 0x00003119,
+ 5411: 0x0000311A,
+ 5412: 0x0000311B,
+ 5413: 0x0000311C,
+ 5414: 0x0000311D,
+ 5415: 0x0000311E,
+ 5416: 0x0000311F,
+ 5417: 0x00003120,
+ 5418: 0x00003121,
+ 5419: 0x00003122,
+ 5420: 0x00003123,
+ 5421: 0x00003124,
+ 5422: 0x00003125,
+ 5423: 0x00003126,
+ 5424: 0x00003127,
+ 5425: 0x00003128,
+ 5426: 0x00003129,
+ 5427: 0x000002D9,
+ 5428: 0x000002C9,
+ 5429: 0x000002CA,
+ 5430: 0x000002C7,
+ 5431: 0x000002CB,
+ 5432: 0x00002400,
+ 5433: 0x00002401,
+ 5434: 0x00002402,
+ 5435: 0x00002403,
+ 5436: 0x00002404,
+ 5437: 0x00002405,
+ 5438: 0x00002406,
+ 5439: 0x00002407,
+ 5440: 0x00002408,
+ 5441: 0x00002409,
+ 5442: 0x0000240A,
+ 5443: 0x0000240B,
+ 5444: 0x0000240C,
+ 5445: 0x0000240D,
+ 5446: 0x0000240E,
+ 5447: 0x0000240F,
+ 5448: 0x00002410,
+ 5449: 0x00002411,
+ 5450: 0x00002412,
+ 5451: 0x00002413,
+ 5452: 0x00002414,
+ 5453: 0x00002415,
+ 5454: 0x00002416,
+ 5455: 0x00002417,
+ 5456: 0x00002418,
+ 5457: 0x00002419,
+ 5458: 0x0000241A,
+ 5459: 0x0000241B,
+ 5460: 0x0000241C,
+ 5461: 0x0000241D,
+ 5462: 0x0000241E,
+ 5463: 0x0000241F,
+ 5464: 0x00002421,
+ 5465: 0x000020AC,
+ 5495: 0x00004E00,
+ 5496: 0x00004E59,
+ 5497: 0x00004E01,
+ 5498: 0x00004E03,
+ 5499: 0x00004E43,
+ 5500: 0x00004E5D,
+ 5501: 0x00004E86,
+ 5502: 0x00004E8C,
+ 5503: 0x00004EBA,
+ 5504: 0x0000513F,
+ 5505: 0x00005165,
+ 5506: 0x0000516B,
+ 5507: 0x000051E0,
+ 5508: 0x00005200,
+ 5509: 0x00005201,
+ 5510: 0x0000529B,
+ 5511: 0x00005315,
+ 5512: 0x00005341,
+ 5513: 0x0000535C,
+ 5514: 0x000053C8,
+ 5515: 0x00004E09,
+ 5516: 0x00004E0B,
+ 5517: 0x00004E08,
+ 5518: 0x00004E0A,
+ 5519: 0x00004E2B,
+ 5520: 0x00004E38,
+ 5521: 0x000051E1,
+ 5522: 0x00004E45,
+ 5523: 0x00004E48,
+ 5524: 0x00004E5F,
+ 5525: 0x00004E5E,
+ 5526: 0x00004E8E,
+ 5527: 0x00004EA1,
+ 5528: 0x00005140,
+ 5529: 0x00005203,
+ 5530: 0x000052FA,
+ 5531: 0x00005343,
+ 5532: 0x000053C9,
+ 5533: 0x000053E3,
+ 5534: 0x0000571F,
+ 5535: 0x000058EB,
+ 5536: 0x00005915,
+ 5537: 0x00005927,
+ 5538: 0x00005973,
+ 5539: 0x00005B50,
+ 5540: 0x00005B51,
+ 5541: 0x00005B53,
+ 5542: 0x00005BF8,
+ 5543: 0x00005C0F,
+ 5544: 0x00005C22,
+ 5545: 0x00005C38,
+ 5546: 0x00005C71,
+ 5547: 0x00005DDD,
+ 5548: 0x00005DE5,
+ 5549: 0x00005DF1,
+ 5550: 0x00005DF2,
+ 5551: 0x00005DF3,
+ 5552: 0x00005DFE,
+ 5553: 0x00005E72,
+ 5554: 0x00005EFE,
+ 5555: 0x00005F0B,
+ 5556: 0x00005F13,
+ 5557: 0x0000624D,
+ 5558: 0x00004E11,
+ 5559: 0x00004E10,
+ 5560: 0x00004E0D,
+ 5561: 0x00004E2D,
+ 5562: 0x00004E30,
+ 5563: 0x00004E39,
+ 5564: 0x00004E4B,
+ 5565: 0x00005C39,
+ 5566: 0x00004E88,
+ 5567: 0x00004E91,
+ 5568: 0x00004E95,
+ 5569: 0x00004E92,
+ 5570: 0x00004E94,
+ 5571: 0x00004EA2,
+ 5572: 0x00004EC1,
+ 5573: 0x00004EC0,
+ 5574: 0x00004EC3,
+ 5575: 0x00004EC6,
+ 5576: 0x00004EC7,
+ 5577: 0x00004ECD,
+ 5578: 0x00004ECA,
+ 5579: 0x00004ECB,
+ 5580: 0x00004EC4,
+ 5581: 0x00005143,
+ 5582: 0x00005141,
+ 5583: 0x00005167,
+ 5584: 0x0000516D,
+ 5585: 0x0000516E,
+ 5586: 0x0000516C,
+ 5587: 0x00005197,
+ 5588: 0x000051F6,
+ 5589: 0x00005206,
+ 5590: 0x00005207,
+ 5591: 0x00005208,
+ 5592: 0x000052FB,
+ 5593: 0x000052FE,
+ 5594: 0x000052FF,
+ 5595: 0x00005316,
+ 5596: 0x00005339,
+ 5597: 0x00005348,
+ 5598: 0x00005347,
+ 5599: 0x00005345,
+ 5600: 0x0000535E,
+ 5601: 0x00005384,
+ 5602: 0x000053CB,
+ 5603: 0x000053CA,
+ 5604: 0x000053CD,
+ 5605: 0x000058EC,
+ 5606: 0x00005929,
+ 5607: 0x0000592B,
+ 5608: 0x0000592A,
+ 5609: 0x0000592D,
+ 5610: 0x00005B54,
+ 5611: 0x00005C11,
+ 5612: 0x00005C24,
+ 5613: 0x00005C3A,
+ 5614: 0x00005C6F,
+ 5615: 0x00005DF4,
+ 5616: 0x00005E7B,
+ 5617: 0x00005EFF,
+ 5618: 0x00005F14,
+ 5619: 0x00005F15,
+ 5620: 0x00005FC3,
+ 5621: 0x00006208,
+ 5622: 0x00006236,
+ 5623: 0x0000624B,
+ 5624: 0x0000624E,
+ 5625: 0x0000652F,
+ 5626: 0x00006587,
+ 5627: 0x00006597,
+ 5628: 0x000065A4,
+ 5629: 0x000065B9,
+ 5630: 0x000065E5,
+ 5631: 0x000066F0,
+ 5632: 0x00006708,
+ 5633: 0x00006728,
+ 5634: 0x00006B20,
+ 5635: 0x00006B62,
+ 5636: 0x00006B79,
+ 5637: 0x00006BCB,
+ 5638: 0x00006BD4,
+ 5639: 0x00006BDB,
+ 5640: 0x00006C0F,
+ 5641: 0x00006C34,
+ 5642: 0x0000706B,
+ 5643: 0x0000722A,
+ 5644: 0x00007236,
+ 5645: 0x0000723B,
+ 5646: 0x00007247,
+ 5647: 0x00007259,
+ 5648: 0x0000725B,
+ 5649: 0x000072AC,
+ 5650: 0x0000738B,
+ 5651: 0x00004E19,
+ 5652: 0x00004E16,
+ 5653: 0x00004E15,
+ 5654: 0x00004E14,
+ 5655: 0x00004E18,
+ 5656: 0x00004E3B,
+ 5657: 0x00004E4D,
+ 5658: 0x00004E4F,
+ 5659: 0x00004E4E,
+ 5660: 0x00004EE5,
+ 5661: 0x00004ED8,
+ 5662: 0x00004ED4,
+ 5663: 0x00004ED5,
+ 5664: 0x00004ED6,
+ 5665: 0x00004ED7,
+ 5666: 0x00004EE3,
+ 5667: 0x00004EE4,
+ 5668: 0x00004ED9,
+ 5669: 0x00004EDE,
+ 5670: 0x00005145,
+ 5671: 0x00005144,
+ 5672: 0x00005189,
+ 5673: 0x0000518A,
+ 5674: 0x000051AC,
+ 5675: 0x000051F9,
+ 5676: 0x000051FA,
+ 5677: 0x000051F8,
+ 5678: 0x0000520A,
+ 5679: 0x000052A0,
+ 5680: 0x0000529F,
+ 5681: 0x00005305,
+ 5682: 0x00005306,
+ 5683: 0x00005317,
+ 5684: 0x0000531D,
+ 5685: 0x00004EDF,
+ 5686: 0x0000534A,
+ 5687: 0x00005349,
+ 5688: 0x00005361,
+ 5689: 0x00005360,
+ 5690: 0x0000536F,
+ 5691: 0x0000536E,
+ 5692: 0x000053BB,
+ 5693: 0x000053EF,
+ 5694: 0x000053E4,
+ 5695: 0x000053F3,
+ 5696: 0x000053EC,
+ 5697: 0x000053EE,
+ 5698: 0x000053E9,
+ 5699: 0x000053E8,
+ 5700: 0x000053FC,
+ 5701: 0x000053F8,
+ 5702: 0x000053F5,
+ 5703: 0x000053EB,
+ 5704: 0x000053E6,
+ 5705: 0x000053EA,
+ 5706: 0x000053F2,
+ 5707: 0x000053F1,
+ 5708: 0x000053F0,
+ 5709: 0x000053E5,
+ 5710: 0x000053ED,
+ 5711: 0x000053FB,
+ 5712: 0x000056DB,
+ 5713: 0x000056DA,
+ 5714: 0x00005916,
+ 5715: 0x0000592E,
+ 5716: 0x00005931,
+ 5717: 0x00005974,
+ 5718: 0x00005976,
+ 5719: 0x00005B55,
+ 5720: 0x00005B83,
+ 5721: 0x00005C3C,
+ 5722: 0x00005DE8,
+ 5723: 0x00005DE7,
+ 5724: 0x00005DE6,
+ 5725: 0x00005E02,
+ 5726: 0x00005E03,
+ 5727: 0x00005E73,
+ 5728: 0x00005E7C,
+ 5729: 0x00005F01,
+ 5730: 0x00005F18,
+ 5731: 0x00005F17,
+ 5732: 0x00005FC5,
+ 5733: 0x0000620A,
+ 5734: 0x00006253,
+ 5735: 0x00006254,
+ 5736: 0x00006252,
+ 5737: 0x00006251,
+ 5738: 0x000065A5,
+ 5739: 0x000065E6,
+ 5740: 0x0000672E,
+ 5741: 0x0000672C,
+ 5742: 0x0000672A,
+ 5743: 0x0000672B,
+ 5744: 0x0000672D,
+ 5745: 0x00006B63,
+ 5746: 0x00006BCD,
+ 5747: 0x00006C11,
+ 5748: 0x00006C10,
+ 5749: 0x00006C38,
+ 5750: 0x00006C41,
+ 5751: 0x00006C40,
+ 5752: 0x00006C3E,
+ 5753: 0x000072AF,
+ 5754: 0x00007384,
+ 5755: 0x00007389,
+ 5756: 0x000074DC,
+ 5757: 0x000074E6,
+ 5758: 0x00007518,
+ 5759: 0x0000751F,
+ 5760: 0x00007528,
+ 5761: 0x00007529,
+ 5762: 0x00007530,
+ 5763: 0x00007531,
+ 5764: 0x00007532,
+ 5765: 0x00007533,
+ 5766: 0x0000758B,
+ 5767: 0x0000767D,
+ 5768: 0x000076AE,
+ 5769: 0x000076BF,
+ 5770: 0x000076EE,
+ 5771: 0x000077DB,
+ 5772: 0x000077E2,
+ 5773: 0x000077F3,
+ 5774: 0x0000793A,
+ 5775: 0x000079BE,
+ 5776: 0x00007A74,
+ 5777: 0x00007ACB,
+ 5778: 0x00004E1E,
+ 5779: 0x00004E1F,
+ 5780: 0x00004E52,
+ 5781: 0x00004E53,
+ 5782: 0x00004E69,
+ 5783: 0x00004E99,
+ 5784: 0x00004EA4,
+ 5785: 0x00004EA6,
+ 5786: 0x00004EA5,
+ 5787: 0x00004EFF,
+ 5788: 0x00004F09,
+ 5789: 0x00004F19,
+ 5790: 0x00004F0A,
+ 5791: 0x00004F15,
+ 5792: 0x00004F0D,
+ 5793: 0x00004F10,
+ 5794: 0x00004F11,
+ 5795: 0x00004F0F,
+ 5796: 0x00004EF2,
+ 5797: 0x00004EF6,
+ 5798: 0x00004EFB,
+ 5799: 0x00004EF0,
+ 5800: 0x00004EF3,
+ 5801: 0x00004EFD,
+ 5802: 0x00004F01,
+ 5803: 0x00004F0B,
+ 5804: 0x00005149,
+ 5805: 0x00005147,
+ 5806: 0x00005146,
+ 5807: 0x00005148,
+ 5808: 0x00005168,
+ 5809: 0x00005171,
+ 5810: 0x0000518D,
+ 5811: 0x000051B0,
+ 5812: 0x00005217,
+ 5813: 0x00005211,
+ 5814: 0x00005212,
+ 5815: 0x0000520E,
+ 5816: 0x00005216,
+ 5817: 0x000052A3,
+ 5818: 0x00005308,
+ 5819: 0x00005321,
+ 5820: 0x00005320,
+ 5821: 0x00005370,
+ 5822: 0x00005371,
+ 5823: 0x00005409,
+ 5824: 0x0000540F,
+ 5825: 0x0000540C,
+ 5826: 0x0000540A,
+ 5827: 0x00005410,
+ 5828: 0x00005401,
+ 5829: 0x0000540B,
+ 5830: 0x00005404,
+ 5831: 0x00005411,
+ 5832: 0x0000540D,
+ 5833: 0x00005408,
+ 5834: 0x00005403,
+ 5835: 0x0000540E,
+ 5836: 0x00005406,
+ 5837: 0x00005412,
+ 5838: 0x000056E0,
+ 5839: 0x000056DE,
+ 5840: 0x000056DD,
+ 5841: 0x00005733,
+ 5842: 0x00005730,
+ 5843: 0x00005728,
+ 5844: 0x0000572D,
+ 5845: 0x0000572C,
+ 5846: 0x0000572F,
+ 5847: 0x00005729,
+ 5848: 0x00005919,
+ 5849: 0x0000591A,
+ 5850: 0x00005937,
+ 5851: 0x00005938,
+ 5852: 0x00005984,
+ 5853: 0x00005978,
+ 5854: 0x00005983,
+ 5855: 0x0000597D,
+ 5856: 0x00005979,
+ 5857: 0x00005982,
+ 5858: 0x00005981,
+ 5859: 0x00005B57,
+ 5860: 0x00005B58,
+ 5861: 0x00005B87,
+ 5862: 0x00005B88,
+ 5863: 0x00005B85,
+ 5864: 0x00005B89,
+ 5865: 0x00005BFA,
+ 5866: 0x00005C16,
+ 5867: 0x00005C79,
+ 5868: 0x00005DDE,
+ 5869: 0x00005E06,
+ 5870: 0x00005E76,
+ 5871: 0x00005E74,
+ 5872: 0x00005F0F,
+ 5873: 0x00005F1B,
+ 5874: 0x00005FD9,
+ 5875: 0x00005FD6,
+ 5876: 0x0000620E,
+ 5877: 0x0000620C,
+ 5878: 0x0000620D,
+ 5879: 0x00006210,
+ 5880: 0x00006263,
+ 5881: 0x0000625B,
+ 5882: 0x00006258,
+ 5883: 0x00006536,
+ 5884: 0x000065E9,
+ 5885: 0x000065E8,
+ 5886: 0x000065EC,
+ 5887: 0x000065ED,
+ 5888: 0x000066F2,
+ 5889: 0x000066F3,
+ 5890: 0x00006709,
+ 5891: 0x0000673D,
+ 5892: 0x00006734,
+ 5893: 0x00006731,
+ 5894: 0x00006735,
+ 5895: 0x00006B21,
+ 5896: 0x00006B64,
+ 5897: 0x00006B7B,
+ 5898: 0x00006C16,
+ 5899: 0x00006C5D,
+ 5900: 0x00006C57,
+ 5901: 0x00006C59,
+ 5902: 0x00006C5F,
+ 5903: 0x00006C60,
+ 5904: 0x00006C50,
+ 5905: 0x00006C55,
+ 5906: 0x00006C61,
+ 5907: 0x00006C5B,
+ 5908: 0x00006C4D,
+ 5909: 0x00006C4E,
+ 5910: 0x00007070,
+ 5911: 0x0000725F,
+ 5912: 0x0000725D,
+ 5913: 0x0000767E,
+ 5914: 0x00007AF9,
+ 5915: 0x00007C73,
+ 5916: 0x00007CF8,
+ 5917: 0x00007F36,
+ 5918: 0x00007F8A,
+ 5919: 0x00007FBD,
+ 5920: 0x00008001,
+ 5921: 0x00008003,
+ 5922: 0x0000800C,
+ 5923: 0x00008012,
+ 5924: 0x00008033,
+ 5925: 0x0000807F,
+ 5926: 0x00008089,
+ 5927: 0x0000808B,
+ 5928: 0x0000808C,
+ 5929: 0x000081E3,
+ 5930: 0x000081EA,
+ 5931: 0x000081F3,
+ 5932: 0x000081FC,
+ 5933: 0x0000820C,
+ 5934: 0x0000821B,
+ 5935: 0x0000821F,
+ 5936: 0x0000826E,
+ 5937: 0x00008272,
+ 5938: 0x0000827E,
+ 5939: 0x0000866B,
+ 5940: 0x00008840,
+ 5941: 0x0000884C,
+ 5942: 0x00008863,
+ 5943: 0x0000897F,
+ 5944: 0x00009621,
+ 5945: 0x00004E32,
+ 5946: 0x00004EA8,
+ 5947: 0x00004F4D,
+ 5948: 0x00004F4F,
+ 5949: 0x00004F47,
+ 5950: 0x00004F57,
+ 5951: 0x00004F5E,
+ 5952: 0x00004F34,
+ 5953: 0x00004F5B,
+ 5954: 0x00004F55,
+ 5955: 0x00004F30,
+ 5956: 0x00004F50,
+ 5957: 0x00004F51,
+ 5958: 0x00004F3D,
+ 5959: 0x00004F3A,
+ 5960: 0x00004F38,
+ 5961: 0x00004F43,
+ 5962: 0x00004F54,
+ 5963: 0x00004F3C,
+ 5964: 0x00004F46,
+ 5965: 0x00004F63,
+ 5966: 0x00004F5C,
+ 5967: 0x00004F60,
+ 5968: 0x00004F2F,
+ 5969: 0x00004F4E,
+ 5970: 0x00004F36,
+ 5971: 0x00004F59,
+ 5972: 0x00004F5D,
+ 5973: 0x00004F48,
+ 5974: 0x00004F5A,
+ 5975: 0x0000514C,
+ 5976: 0x0000514B,
+ 5977: 0x0000514D,
+ 5978: 0x00005175,
+ 5979: 0x000051B6,
+ 5980: 0x000051B7,
+ 5981: 0x00005225,
+ 5982: 0x00005224,
+ 5983: 0x00005229,
+ 5984: 0x0000522A,
+ 5985: 0x00005228,
+ 5986: 0x000052AB,
+ 5987: 0x000052A9,
+ 5988: 0x000052AA,
+ 5989: 0x000052AC,
+ 5990: 0x00005323,
+ 5991: 0x00005373,
+ 5992: 0x00005375,
+ 5993: 0x0000541D,
+ 5994: 0x0000542D,
+ 5995: 0x0000541E,
+ 5996: 0x0000543E,
+ 5997: 0x00005426,
+ 5998: 0x0000544E,
+ 5999: 0x00005427,
+ 6000: 0x00005446,
+ 6001: 0x00005443,
+ 6002: 0x00005433,
+ 6003: 0x00005448,
+ 6004: 0x00005442,
+ 6005: 0x0000541B,
+ 6006: 0x00005429,
+ 6007: 0x0000544A,
+ 6008: 0x00005439,
+ 6009: 0x0000543B,
+ 6010: 0x00005438,
+ 6011: 0x0000542E,
+ 6012: 0x00005435,
+ 6013: 0x00005436,
+ 6014: 0x00005420,
+ 6015: 0x0000543C,
+ 6016: 0x00005440,
+ 6017: 0x00005431,
+ 6018: 0x0000542B,
+ 6019: 0x0000541F,
+ 6020: 0x0000542C,
+ 6021: 0x000056EA,
+ 6022: 0x000056F0,
+ 6023: 0x000056E4,
+ 6024: 0x000056EB,
+ 6025: 0x0000574A,
+ 6026: 0x00005751,
+ 6027: 0x00005740,
+ 6028: 0x0000574D,
+ 6029: 0x00005747,
+ 6030: 0x0000574E,
+ 6031: 0x0000573E,
+ 6032: 0x00005750,
+ 6033: 0x0000574F,
+ 6034: 0x0000573B,
+ 6035: 0x000058EF,
+ 6036: 0x0000593E,
+ 6037: 0x0000599D,
+ 6038: 0x00005992,
+ 6039: 0x000059A8,
+ 6040: 0x0000599E,
+ 6041: 0x000059A3,
+ 6042: 0x00005999,
+ 6043: 0x00005996,
+ 6044: 0x0000598D,
+ 6045: 0x000059A4,
+ 6046: 0x00005993,
+ 6047: 0x0000598A,
+ 6048: 0x000059A5,
+ 6049: 0x00005B5D,
+ 6050: 0x00005B5C,
+ 6051: 0x00005B5A,
+ 6052: 0x00005B5B,
+ 6053: 0x00005B8C,
+ 6054: 0x00005B8B,
+ 6055: 0x00005B8F,
+ 6056: 0x00005C2C,
+ 6057: 0x00005C40,
+ 6058: 0x00005C41,
+ 6059: 0x00005C3F,
+ 6060: 0x00005C3E,
+ 6061: 0x00005C90,
+ 6062: 0x00005C91,
+ 6063: 0x00005C94,
+ 6064: 0x00005C8C,
+ 6065: 0x00005DEB,
+ 6066: 0x00005E0C,
+ 6067: 0x00005E8F,
+ 6068: 0x00005E87,
+ 6069: 0x00005E8A,
+ 6070: 0x00005EF7,
+ 6071: 0x00005F04,
+ 6072: 0x00005F1F,
+ 6073: 0x00005F64,
+ 6074: 0x00005F62,
+ 6075: 0x00005F77,
+ 6076: 0x00005F79,
+ 6077: 0x00005FD8,
+ 6078: 0x00005FCC,
+ 6079: 0x00005FD7,
+ 6080: 0x00005FCD,
+ 6081: 0x00005FF1,
+ 6082: 0x00005FEB,
+ 6083: 0x00005FF8,
+ 6084: 0x00005FEA,
+ 6085: 0x00006212,
+ 6086: 0x00006211,
+ 6087: 0x00006284,
+ 6088: 0x00006297,
+ 6089: 0x00006296,
+ 6090: 0x00006280,
+ 6091: 0x00006276,
+ 6092: 0x00006289,
+ 6093: 0x0000626D,
+ 6094: 0x0000628A,
+ 6095: 0x0000627C,
+ 6096: 0x0000627E,
+ 6097: 0x00006279,
+ 6098: 0x00006273,
+ 6099: 0x00006292,
+ 6100: 0x0000626F,
+ 6101: 0x00006298,
+ 6102: 0x0000626E,
+ 6103: 0x00006295,
+ 6104: 0x00006293,
+ 6105: 0x00006291,
+ 6106: 0x00006286,
+ 6107: 0x00006539,
+ 6108: 0x0000653B,
+ 6109: 0x00006538,
+ 6110: 0x000065F1,
+ 6111: 0x000066F4,
+ 6112: 0x0000675F,
+ 6113: 0x0000674E,
+ 6114: 0x0000674F,
+ 6115: 0x00006750,
+ 6116: 0x00006751,
+ 6117: 0x0000675C,
+ 6118: 0x00006756,
+ 6119: 0x0000675E,
+ 6120: 0x00006749,
+ 6121: 0x00006746,
+ 6122: 0x00006760,
+ 6123: 0x00006753,
+ 6124: 0x00006757,
+ 6125: 0x00006B65,
+ 6126: 0x00006BCF,
+ 6127: 0x00006C42,
+ 6128: 0x00006C5E,
+ 6129: 0x00006C99,
+ 6130: 0x00006C81,
+ 6131: 0x00006C88,
+ 6132: 0x00006C89,
+ 6133: 0x00006C85,
+ 6134: 0x00006C9B,
+ 6135: 0x00006C6A,
+ 6136: 0x00006C7A,
+ 6137: 0x00006C90,
+ 6138: 0x00006C70,
+ 6139: 0x00006C8C,
+ 6140: 0x00006C68,
+ 6141: 0x00006C96,
+ 6142: 0x00006C92,
+ 6143: 0x00006C7D,
+ 6144: 0x00006C83,
+ 6145: 0x00006C72,
+ 6146: 0x00006C7E,
+ 6147: 0x00006C74,
+ 6148: 0x00006C86,
+ 6149: 0x00006C76,
+ 6150: 0x00006C8D,
+ 6151: 0x00006C94,
+ 6152: 0x00006C98,
+ 6153: 0x00006C82,
+ 6154: 0x00007076,
+ 6155: 0x0000707C,
+ 6156: 0x0000707D,
+ 6157: 0x00007078,
+ 6158: 0x00007262,
+ 6159: 0x00007261,
+ 6160: 0x00007260,
+ 6161: 0x000072C4,
+ 6162: 0x000072C2,
+ 6163: 0x00007396,
+ 6164: 0x0000752C,
+ 6165: 0x0000752B,
+ 6166: 0x00007537,
+ 6167: 0x00007538,
+ 6168: 0x00007682,
+ 6169: 0x000076EF,
+ 6170: 0x000077E3,
+ 6171: 0x000079C1,
+ 6172: 0x000079C0,
+ 6173: 0x000079BF,
+ 6174: 0x00007A76,
+ 6175: 0x00007CFB,
+ 6176: 0x00007F55,
+ 6177: 0x00008096,
+ 6178: 0x00008093,
+ 6179: 0x0000809D,
+ 6180: 0x00008098,
+ 6181: 0x0000809B,
+ 6182: 0x0000809A,
+ 6183: 0x000080B2,
+ 6184: 0x0000826F,
+ 6185: 0x00008292,
+ 6186: 0x0000828B,
+ 6187: 0x0000828D,
+ 6188: 0x0000898B,
+ 6189: 0x000089D2,
+ 6190: 0x00008A00,
+ 6191: 0x00008C37,
+ 6192: 0x00008C46,
+ 6193: 0x00008C55,
+ 6194: 0x00008C9D,
+ 6195: 0x00008D64,
+ 6196: 0x00008D70,
+ 6197: 0x00008DB3,
+ 6198: 0x00008EAB,
+ 6199: 0x00008ECA,
+ 6200: 0x00008F9B,
+ 6201: 0x00008FB0,
+ 6202: 0x00008FC2,
+ 6203: 0x00008FC6,
+ 6204: 0x00008FC5,
+ 6205: 0x00008FC4,
+ 6206: 0x00005DE1,
+ 6207: 0x00009091,
+ 6208: 0x000090A2,
+ 6209: 0x000090AA,
+ 6210: 0x000090A6,
+ 6211: 0x000090A3,
+ 6212: 0x00009149,
+ 6213: 0x000091C6,
+ 6214: 0x000091CC,
+ 6215: 0x00009632,
+ 6216: 0x0000962E,
+ 6217: 0x00009631,
+ 6218: 0x0000962A,
+ 6219: 0x0000962C,
+ 6220: 0x00004E26,
+ 6221: 0x00004E56,
+ 6222: 0x00004E73,
+ 6223: 0x00004E8B,
+ 6224: 0x00004E9B,
+ 6225: 0x00004E9E,
+ 6226: 0x00004EAB,
+ 6227: 0x00004EAC,
+ 6228: 0x00004F6F,
+ 6229: 0x00004F9D,
+ 6230: 0x00004F8D,
+ 6231: 0x00004F73,
+ 6232: 0x00004F7F,
+ 6233: 0x00004F6C,
+ 6234: 0x00004F9B,
+ 6235: 0x00004F8B,
+ 6236: 0x00004F86,
+ 6237: 0x00004F83,
+ 6238: 0x00004F70,
+ 6239: 0x00004F75,
+ 6240: 0x00004F88,
+ 6241: 0x00004F69,
+ 6242: 0x00004F7B,
+ 6243: 0x00004F96,
+ 6244: 0x00004F7E,
+ 6245: 0x00004F8F,
+ 6246: 0x00004F91,
+ 6247: 0x00004F7A,
+ 6248: 0x00005154,
+ 6249: 0x00005152,
+ 6250: 0x00005155,
+ 6251: 0x00005169,
+ 6252: 0x00005177,
+ 6253: 0x00005176,
+ 6254: 0x00005178,
+ 6255: 0x000051BD,
+ 6256: 0x000051FD,
+ 6257: 0x0000523B,
+ 6258: 0x00005238,
+ 6259: 0x00005237,
+ 6260: 0x0000523A,
+ 6261: 0x00005230,
+ 6262: 0x0000522E,
+ 6263: 0x00005236,
+ 6264: 0x00005241,
+ 6265: 0x000052BE,
+ 6266: 0x000052BB,
+ 6267: 0x00005352,
+ 6268: 0x00005354,
+ 6269: 0x00005353,
+ 6270: 0x00005351,
+ 6271: 0x00005366,
+ 6272: 0x00005377,
+ 6273: 0x00005378,
+ 6274: 0x00005379,
+ 6275: 0x000053D6,
+ 6276: 0x000053D4,
+ 6277: 0x000053D7,
+ 6278: 0x00005473,
+ 6279: 0x00005475,
+ 6280: 0x00005496,
+ 6281: 0x00005478,
+ 6282: 0x00005495,
+ 6283: 0x00005480,
+ 6284: 0x0000547B,
+ 6285: 0x00005477,
+ 6286: 0x00005484,
+ 6287: 0x00005492,
+ 6288: 0x00005486,
+ 6289: 0x0000547C,
+ 6290: 0x00005490,
+ 6291: 0x00005471,
+ 6292: 0x00005476,
+ 6293: 0x0000548C,
+ 6294: 0x0000549A,
+ 6295: 0x00005462,
+ 6296: 0x00005468,
+ 6297: 0x0000548B,
+ 6298: 0x0000547D,
+ 6299: 0x0000548E,
+ 6300: 0x000056FA,
+ 6301: 0x00005783,
+ 6302: 0x00005777,
+ 6303: 0x0000576A,
+ 6304: 0x00005769,
+ 6305: 0x00005761,
+ 6306: 0x00005766,
+ 6307: 0x00005764,
+ 6308: 0x0000577C,
+ 6309: 0x0000591C,
+ 6310: 0x00005949,
+ 6311: 0x00005947,
+ 6312: 0x00005948,
+ 6313: 0x00005944,
+ 6314: 0x00005954,
+ 6315: 0x000059BE,
+ 6316: 0x000059BB,
+ 6317: 0x000059D4,
+ 6318: 0x000059B9,
+ 6319: 0x000059AE,
+ 6320: 0x000059D1,
+ 6321: 0x000059C6,
+ 6322: 0x000059D0,
+ 6323: 0x000059CD,
+ 6324: 0x000059CB,
+ 6325: 0x000059D3,
+ 6326: 0x000059CA,
+ 6327: 0x000059AF,
+ 6328: 0x000059B3,
+ 6329: 0x000059D2,
+ 6330: 0x000059C5,
+ 6331: 0x00005B5F,
+ 6332: 0x00005B64,
+ 6333: 0x00005B63,
+ 6334: 0x00005B97,
+ 6335: 0x00005B9A,
+ 6336: 0x00005B98,
+ 6337: 0x00005B9C,
+ 6338: 0x00005B99,
+ 6339: 0x00005B9B,
+ 6340: 0x00005C1A,
+ 6341: 0x00005C48,
+ 6342: 0x00005C45,
+ 6343: 0x00005C46,
+ 6344: 0x00005CB7,
+ 6345: 0x00005CA1,
+ 6346: 0x00005CB8,
+ 6347: 0x00005CA9,
+ 6348: 0x00005CAB,
+ 6349: 0x00005CB1,
+ 6350: 0x00005CB3,
+ 6351: 0x00005E18,
+ 6352: 0x00005E1A,
+ 6353: 0x00005E16,
+ 6354: 0x00005E15,
+ 6355: 0x00005E1B,
+ 6356: 0x00005E11,
+ 6357: 0x00005E78,
+ 6358: 0x00005E9A,
+ 6359: 0x00005E97,
+ 6360: 0x00005E9C,
+ 6361: 0x00005E95,
+ 6362: 0x00005E96,
+ 6363: 0x00005EF6,
+ 6364: 0x00005F26,
+ 6365: 0x00005F27,
+ 6366: 0x00005F29,
+ 6367: 0x00005F80,
+ 6368: 0x00005F81,
+ 6369: 0x00005F7F,
+ 6370: 0x00005F7C,
+ 6371: 0x00005FDD,
+ 6372: 0x00005FE0,
+ 6373: 0x00005FFD,
+ 6374: 0x00005FF5,
+ 6375: 0x00005FFF,
+ 6376: 0x0000600F,
+ 6377: 0x00006014,
+ 6378: 0x0000602F,
+ 6379: 0x00006035,
+ 6380: 0x00006016,
+ 6381: 0x0000602A,
+ 6382: 0x00006015,
+ 6383: 0x00006021,
+ 6384: 0x00006027,
+ 6385: 0x00006029,
+ 6386: 0x0000602B,
+ 6387: 0x0000601B,
+ 6388: 0x00006216,
+ 6389: 0x00006215,
+ 6390: 0x0000623F,
+ 6391: 0x0000623E,
+ 6392: 0x00006240,
+ 6393: 0x0000627F,
+ 6394: 0x000062C9,
+ 6395: 0x000062CC,
+ 6396: 0x000062C4,
+ 6397: 0x000062BF,
+ 6398: 0x000062C2,
+ 6399: 0x000062B9,
+ 6400: 0x000062D2,
+ 6401: 0x000062DB,
+ 6402: 0x000062AB,
+ 6403: 0x000062D3,
+ 6404: 0x000062D4,
+ 6405: 0x000062CB,
+ 6406: 0x000062C8,
+ 6407: 0x000062A8,
+ 6408: 0x000062BD,
+ 6409: 0x000062BC,
+ 6410: 0x000062D0,
+ 6411: 0x000062D9,
+ 6412: 0x000062C7,
+ 6413: 0x000062CD,
+ 6414: 0x000062B5,
+ 6415: 0x000062DA,
+ 6416: 0x000062B1,
+ 6417: 0x000062D8,
+ 6418: 0x000062D6,
+ 6419: 0x000062D7,
+ 6420: 0x000062C6,
+ 6421: 0x000062AC,
+ 6422: 0x000062CE,
+ 6423: 0x0000653E,
+ 6424: 0x000065A7,
+ 6425: 0x000065BC,
+ 6426: 0x000065FA,
+ 6427: 0x00006614,
+ 6428: 0x00006613,
+ 6429: 0x0000660C,
+ 6430: 0x00006606,
+ 6431: 0x00006602,
+ 6432: 0x0000660E,
+ 6433: 0x00006600,
+ 6434: 0x0000660F,
+ 6435: 0x00006615,
+ 6436: 0x0000660A,
+ 6437: 0x00006607,
+ 6438: 0x0000670D,
+ 6439: 0x0000670B,
+ 6440: 0x0000676D,
+ 6441: 0x0000678B,
+ 6442: 0x00006795,
+ 6443: 0x00006771,
+ 6444: 0x0000679C,
+ 6445: 0x00006773,
+ 6446: 0x00006777,
+ 6447: 0x00006787,
+ 6448: 0x0000679D,
+ 6449: 0x00006797,
+ 6450: 0x0000676F,
+ 6451: 0x00006770,
+ 6452: 0x0000677F,
+ 6453: 0x00006789,
+ 6454: 0x0000677E,
+ 6455: 0x00006790,
+ 6456: 0x00006775,
+ 6457: 0x0000679A,
+ 6458: 0x00006793,
+ 6459: 0x0000677C,
+ 6460: 0x0000676A,
+ 6461: 0x00006772,
+ 6462: 0x00006B23,
+ 6463: 0x00006B66,
+ 6464: 0x00006B67,
+ 6465: 0x00006B7F,
+ 6466: 0x00006C13,
+ 6467: 0x00006C1B,
+ 6468: 0x00006CE3,
+ 6469: 0x00006CE8,
+ 6470: 0x00006CF3,
+ 6471: 0x00006CB1,
+ 6472: 0x00006CCC,
+ 6473: 0x00006CE5,
+ 6474: 0x00006CB3,
+ 6475: 0x00006CBD,
+ 6476: 0x00006CBE,
+ 6477: 0x00006CBC,
+ 6478: 0x00006CE2,
+ 6479: 0x00006CAB,
+ 6480: 0x00006CD5,
+ 6481: 0x00006CD3,
+ 6482: 0x00006CB8,
+ 6483: 0x00006CC4,
+ 6484: 0x00006CB9,
+ 6485: 0x00006CC1,
+ 6486: 0x00006CAE,
+ 6487: 0x00006CD7,
+ 6488: 0x00006CC5,
+ 6489: 0x00006CF1,
+ 6490: 0x00006CBF,
+ 6491: 0x00006CBB,
+ 6492: 0x00006CE1,
+ 6493: 0x00006CDB,
+ 6494: 0x00006CCA,
+ 6495: 0x00006CAC,
+ 6496: 0x00006CEF,
+ 6497: 0x00006CDC,
+ 6498: 0x00006CD6,
+ 6499: 0x00006CE0,
+ 6500: 0x00007095,
+ 6501: 0x0000708E,
+ 6502: 0x00007092,
+ 6503: 0x0000708A,
+ 6504: 0x00007099,
+ 6505: 0x0000722C,
+ 6506: 0x0000722D,
+ 6507: 0x00007238,
+ 6508: 0x00007248,
+ 6509: 0x00007267,
+ 6510: 0x00007269,
+ 6511: 0x000072C0,
+ 6512: 0x000072CE,
+ 6513: 0x000072D9,
+ 6514: 0x000072D7,
+ 6515: 0x000072D0,
+ 6516: 0x000073A9,
+ 6517: 0x000073A8,
+ 6518: 0x0000739F,
+ 6519: 0x000073AB,
+ 6520: 0x000073A5,
+ 6521: 0x0000753D,
+ 6522: 0x0000759D,
+ 6523: 0x00007599,
+ 6524: 0x0000759A,
+ 6525: 0x00007684,
+ 6526: 0x000076C2,
+ 6527: 0x000076F2,
+ 6528: 0x000076F4,
+ 6529: 0x000077E5,
+ 6530: 0x000077FD,
+ 6531: 0x0000793E,
+ 6532: 0x00007940,
+ 6533: 0x00007941,
+ 6534: 0x000079C9,
+ 6535: 0x000079C8,
+ 6536: 0x00007A7A,
+ 6537: 0x00007A79,
+ 6538: 0x00007AFA,
+ 6539: 0x00007CFE,
+ 6540: 0x00007F54,
+ 6541: 0x00007F8C,
+ 6542: 0x00007F8B,
+ 6543: 0x00008005,
+ 6544: 0x000080BA,
+ 6545: 0x000080A5,
+ 6546: 0x000080A2,
+ 6547: 0x000080B1,
+ 6548: 0x000080A1,
+ 6549: 0x000080AB,
+ 6550: 0x000080A9,
+ 6551: 0x000080B4,
+ 6552: 0x000080AA,
+ 6553: 0x000080AF,
+ 6554: 0x000081E5,
+ 6555: 0x000081FE,
+ 6556: 0x0000820D,
+ 6557: 0x000082B3,
+ 6558: 0x0000829D,
+ 6559: 0x00008299,
+ 6560: 0x000082AD,
+ 6561: 0x000082BD,
+ 6562: 0x0000829F,
+ 6563: 0x000082B9,
+ 6564: 0x000082B1,
+ 6565: 0x000082AC,
+ 6566: 0x000082A5,
+ 6567: 0x000082AF,
+ 6568: 0x000082B8,
+ 6569: 0x000082A3,
+ 6570: 0x000082B0,
+ 6571: 0x000082BE,
+ 6572: 0x000082B7,
+ 6573: 0x0000864E,
+ 6574: 0x00008671,
+ 6575: 0x0000521D,
+ 6576: 0x00008868,
+ 6577: 0x00008ECB,
+ 6578: 0x00008FCE,
+ 6579: 0x00008FD4,
+ 6580: 0x00008FD1,
+ 6581: 0x000090B5,
+ 6582: 0x000090B8,
+ 6583: 0x000090B1,
+ 6584: 0x000090B6,
+ 6585: 0x000091C7,
+ 6586: 0x000091D1,
+ 6587: 0x00009577,
+ 6588: 0x00009580,
+ 6589: 0x0000961C,
+ 6590: 0x00009640,
+ 6591: 0x0000963F,
+ 6592: 0x0000963B,
+ 6593: 0x00009644,
+ 6594: 0x00009642,
+ 6595: 0x000096B9,
+ 6596: 0x000096E8,
+ 6597: 0x00009752,
+ 6598: 0x0000975E,
+ 6599: 0x00004E9F,
+ 6600: 0x00004EAD,
+ 6601: 0x00004EAE,
+ 6602: 0x00004FE1,
+ 6603: 0x00004FB5,
+ 6604: 0x00004FAF,
+ 6605: 0x00004FBF,
+ 6606: 0x00004FE0,
+ 6607: 0x00004FD1,
+ 6608: 0x00004FCF,
+ 6609: 0x00004FDD,
+ 6610: 0x00004FC3,
+ 6611: 0x00004FB6,
+ 6612: 0x00004FD8,
+ 6613: 0x00004FDF,
+ 6614: 0x00004FCA,
+ 6615: 0x00004FD7,
+ 6616: 0x00004FAE,
+ 6617: 0x00004FD0,
+ 6618: 0x00004FC4,
+ 6619: 0x00004FC2,
+ 6620: 0x00004FDA,
+ 6621: 0x00004FCE,
+ 6622: 0x00004FDE,
+ 6623: 0x00004FB7,
+ 6624: 0x00005157,
+ 6625: 0x00005192,
+ 6626: 0x00005191,
+ 6627: 0x000051A0,
+ 6628: 0x0000524E,
+ 6629: 0x00005243,
+ 6630: 0x0000524A,
+ 6631: 0x0000524D,
+ 6632: 0x0000524C,
+ 6633: 0x0000524B,
+ 6634: 0x00005247,
+ 6635: 0x000052C7,
+ 6636: 0x000052C9,
+ 6637: 0x000052C3,
+ 6638: 0x000052C1,
+ 6639: 0x0000530D,
+ 6640: 0x00005357,
+ 6641: 0x0000537B,
+ 6642: 0x0000539A,
+ 6643: 0x000053DB,
+ 6644: 0x000054AC,
+ 6645: 0x000054C0,
+ 6646: 0x000054A8,
+ 6647: 0x000054CE,
+ 6648: 0x000054C9,
+ 6649: 0x000054B8,
+ 6650: 0x000054A6,
+ 6651: 0x000054B3,
+ 6652: 0x000054C7,
+ 6653: 0x000054C2,
+ 6654: 0x000054BD,
+ 6655: 0x000054AA,
+ 6656: 0x000054C1,
+ 6657: 0x000054C4,
+ 6658: 0x000054C8,
+ 6659: 0x000054AF,
+ 6660: 0x000054AB,
+ 6661: 0x000054B1,
+ 6662: 0x000054BB,
+ 6663: 0x000054A9,
+ 6664: 0x000054A7,
+ 6665: 0x000054BF,
+ 6666: 0x000056FF,
+ 6667: 0x00005782,
+ 6668: 0x0000578B,
+ 6669: 0x000057A0,
+ 6670: 0x000057A3,
+ 6671: 0x000057A2,
+ 6672: 0x000057CE,
+ 6673: 0x000057AE,
+ 6674: 0x00005793,
+ 6675: 0x00005955,
+ 6676: 0x00005951,
+ 6677: 0x0000594F,
+ 6678: 0x0000594E,
+ 6679: 0x00005950,
+ 6680: 0x000059DC,
+ 6681: 0x000059D8,
+ 6682: 0x000059FF,
+ 6683: 0x000059E3,
+ 6684: 0x000059E8,
+ 6685: 0x00005A03,
+ 6686: 0x000059E5,
+ 6687: 0x000059EA,
+ 6688: 0x000059DA,
+ 6689: 0x000059E6,
+ 6690: 0x00005A01,
+ 6691: 0x000059FB,
+ 6692: 0x00005B69,
+ 6693: 0x00005BA3,
+ 6694: 0x00005BA6,
+ 6695: 0x00005BA4,
+ 6696: 0x00005BA2,
+ 6697: 0x00005BA5,
+ 6698: 0x00005C01,
+ 6699: 0x00005C4E,
+ 6700: 0x00005C4F,
+ 6701: 0x00005C4D,
+ 6702: 0x00005C4B,
+ 6703: 0x00005CD9,
+ 6704: 0x00005CD2,
+ 6705: 0x00005DF7,
+ 6706: 0x00005E1D,
+ 6707: 0x00005E25,
+ 6708: 0x00005E1F,
+ 6709: 0x00005E7D,
+ 6710: 0x00005EA0,
+ 6711: 0x00005EA6,
+ 6712: 0x00005EFA,
+ 6713: 0x00005F08,
+ 6714: 0x00005F2D,
+ 6715: 0x00005F65,
+ 6716: 0x00005F88,
+ 6717: 0x00005F85,
+ 6718: 0x00005F8A,
+ 6719: 0x00005F8B,
+ 6720: 0x00005F87,
+ 6721: 0x00005F8C,
+ 6722: 0x00005F89,
+ 6723: 0x00006012,
+ 6724: 0x0000601D,
+ 6725: 0x00006020,
+ 6726: 0x00006025,
+ 6727: 0x0000600E,
+ 6728: 0x00006028,
+ 6729: 0x0000604D,
+ 6730: 0x00006070,
+ 6731: 0x00006068,
+ 6732: 0x00006062,
+ 6733: 0x00006046,
+ 6734: 0x00006043,
+ 6735: 0x0000606C,
+ 6736: 0x0000606B,
+ 6737: 0x0000606A,
+ 6738: 0x00006064,
+ 6739: 0x00006241,
+ 6740: 0x000062DC,
+ 6741: 0x00006316,
+ 6742: 0x00006309,
+ 6743: 0x000062FC,
+ 6744: 0x000062ED,
+ 6745: 0x00006301,
+ 6746: 0x000062EE,
+ 6747: 0x000062FD,
+ 6748: 0x00006307,
+ 6749: 0x000062F1,
+ 6750: 0x000062F7,
+ 6751: 0x000062EF,
+ 6752: 0x000062EC,
+ 6753: 0x000062FE,
+ 6754: 0x000062F4,
+ 6755: 0x00006311,
+ 6756: 0x00006302,
+ 6757: 0x0000653F,
+ 6758: 0x00006545,
+ 6759: 0x000065AB,
+ 6760: 0x000065BD,
+ 6761: 0x000065E2,
+ 6762: 0x00006625,
+ 6763: 0x0000662D,
+ 6764: 0x00006620,
+ 6765: 0x00006627,
+ 6766: 0x0000662F,
+ 6767: 0x0000661F,
+ 6768: 0x00006628,
+ 6769: 0x00006631,
+ 6770: 0x00006624,
+ 6771: 0x000066F7,
+ 6772: 0x000067FF,
+ 6773: 0x000067D3,
+ 6774: 0x000067F1,
+ 6775: 0x000067D4,
+ 6776: 0x000067D0,
+ 6777: 0x000067EC,
+ 6778: 0x000067B6,
+ 6779: 0x000067AF,
+ 6780: 0x000067F5,
+ 6781: 0x000067E9,
+ 6782: 0x000067EF,
+ 6783: 0x000067C4,
+ 6784: 0x000067D1,
+ 6785: 0x000067B4,
+ 6786: 0x000067DA,
+ 6787: 0x000067E5,
+ 6788: 0x000067B8,
+ 6789: 0x000067CF,
+ 6790: 0x000067DE,
+ 6791: 0x000067F3,
+ 6792: 0x000067B0,
+ 6793: 0x000067D9,
+ 6794: 0x000067E2,
+ 6795: 0x000067DD,
+ 6796: 0x000067D2,
+ 6797: 0x00006B6A,
+ 6798: 0x00006B83,
+ 6799: 0x00006B86,
+ 6800: 0x00006BB5,
+ 6801: 0x00006BD2,
+ 6802: 0x00006BD7,
+ 6803: 0x00006C1F,
+ 6804: 0x00006CC9,
+ 6805: 0x00006D0B,
+ 6806: 0x00006D32,
+ 6807: 0x00006D2A,
+ 6808: 0x00006D41,
+ 6809: 0x00006D25,
+ 6810: 0x00006D0C,
+ 6811: 0x00006D31,
+ 6812: 0x00006D1E,
+ 6813: 0x00006D17,
+ 6814: 0x00006D3B,
+ 6815: 0x00006D3D,
+ 6816: 0x00006D3E,
+ 6817: 0x00006D36,
+ 6818: 0x00006D1B,
+ 6819: 0x00006CF5,
+ 6820: 0x00006D39,
+ 6821: 0x00006D27,
+ 6822: 0x00006D38,
+ 6823: 0x00006D29,
+ 6824: 0x00006D2E,
+ 6825: 0x00006D35,
+ 6826: 0x00006D0E,
+ 6827: 0x00006D2B,
+ 6828: 0x000070AB,
+ 6829: 0x000070BA,
+ 6830: 0x000070B3,
+ 6831: 0x000070AC,
+ 6832: 0x000070AF,
+ 6833: 0x000070AD,
+ 6834: 0x000070B8,
+ 6835: 0x000070AE,
+ 6836: 0x000070A4,
+ 6837: 0x00007230,
+ 6838: 0x00007272,
+ 6839: 0x0000726F,
+ 6840: 0x00007274,
+ 6841: 0x000072E9,
+ 6842: 0x000072E0,
+ 6843: 0x000072E1,
+ 6844: 0x000073B7,
+ 6845: 0x000073CA,
+ 6846: 0x000073BB,
+ 6847: 0x000073B2,
+ 6848: 0x000073CD,
+ 6849: 0x000073C0,
+ 6850: 0x000073B3,
+ 6851: 0x0000751A,
+ 6852: 0x0000752D,
+ 6853: 0x0000754F,
+ 6854: 0x0000754C,
+ 6855: 0x0000754E,
+ 6856: 0x0000754B,
+ 6857: 0x000075AB,
+ 6858: 0x000075A4,
+ 6859: 0x000075A5,
+ 6860: 0x000075A2,
+ 6861: 0x000075A3,
+ 6862: 0x00007678,
+ 6863: 0x00007686,
+ 6864: 0x00007687,
+ 6865: 0x00007688,
+ 6866: 0x000076C8,
+ 6867: 0x000076C6,
+ 6868: 0x000076C3,
+ 6869: 0x000076C5,
+ 6870: 0x00007701,
+ 6871: 0x000076F9,
+ 6872: 0x000076F8,
+ 6873: 0x00007709,
+ 6874: 0x0000770B,
+ 6875: 0x000076FE,
+ 6876: 0x000076FC,
+ 6877: 0x00007707,
+ 6878: 0x000077DC,
+ 6879: 0x00007802,
+ 6880: 0x00007814,
+ 6881: 0x0000780C,
+ 6882: 0x0000780D,
+ 6883: 0x00007946,
+ 6884: 0x00007949,
+ 6885: 0x00007948,
+ 6886: 0x00007947,
+ 6887: 0x000079B9,
+ 6888: 0x000079BA,
+ 6889: 0x000079D1,
+ 6890: 0x000079D2,
+ 6891: 0x000079CB,
+ 6892: 0x00007A7F,
+ 6893: 0x00007A81,
+ 6894: 0x00007AFF,
+ 6895: 0x00007AFD,
+ 6896: 0x00007C7D,
+ 6897: 0x00007D02,
+ 6898: 0x00007D05,
+ 6899: 0x00007D00,
+ 6900: 0x00007D09,
+ 6901: 0x00007D07,
+ 6902: 0x00007D04,
+ 6903: 0x00007D06,
+ 6904: 0x00007F38,
+ 6905: 0x00007F8E,
+ 6906: 0x00007FBF,
+ 6907: 0x00008004,
+ 6908: 0x00008010,
+ 6909: 0x0000800D,
+ 6910: 0x00008011,
+ 6911: 0x00008036,
+ 6912: 0x000080D6,
+ 6913: 0x000080E5,
+ 6914: 0x000080DA,
+ 6915: 0x000080C3,
+ 6916: 0x000080C4,
+ 6917: 0x000080CC,
+ 6918: 0x000080E1,
+ 6919: 0x000080DB,
+ 6920: 0x000080CE,
+ 6921: 0x000080DE,
+ 6922: 0x000080E4,
+ 6923: 0x000080DD,
+ 6924: 0x000081F4,
+ 6925: 0x00008222,
+ 6926: 0x000082E7,
+ 6927: 0x00008303,
+ 6928: 0x00008305,
+ 6929: 0x000082E3,
+ 6930: 0x000082DB,
+ 6931: 0x000082E6,
+ 6932: 0x00008304,
+ 6933: 0x000082E5,
+ 6934: 0x00008302,
+ 6935: 0x00008309,
+ 6936: 0x000082D2,
+ 6937: 0x000082D7,
+ 6938: 0x000082F1,
+ 6939: 0x00008301,
+ 6940: 0x000082DC,
+ 6941: 0x000082D4,
+ 6942: 0x000082D1,
+ 6943: 0x000082DE,
+ 6944: 0x000082D3,
+ 6945: 0x000082DF,
+ 6946: 0x000082EF,
+ 6947: 0x00008306,
+ 6948: 0x00008650,
+ 6949: 0x00008679,
+ 6950: 0x0000867B,
+ 6951: 0x0000867A,
+ 6952: 0x0000884D,
+ 6953: 0x0000886B,
+ 6954: 0x00008981,
+ 6955: 0x000089D4,
+ 6956: 0x00008A08,
+ 6957: 0x00008A02,
+ 6958: 0x00008A03,
+ 6959: 0x00008C9E,
+ 6960: 0x00008CA0,
+ 6961: 0x00008D74,
+ 6962: 0x00008D73,
+ 6963: 0x00008DB4,
+ 6964: 0x00008ECD,
+ 6965: 0x00008ECC,
+ 6966: 0x00008FF0,
+ 6967: 0x00008FE6,
+ 6968: 0x00008FE2,
+ 6969: 0x00008FEA,
+ 6970: 0x00008FE5,
+ 6971: 0x00008FED,
+ 6972: 0x00008FEB,
+ 6973: 0x00008FE4,
+ 6974: 0x00008FE8,
+ 6975: 0x000090CA,
+ 6976: 0x000090CE,
+ 6977: 0x000090C1,
+ 6978: 0x000090C3,
+ 6979: 0x0000914B,
+ 6980: 0x0000914A,
+ 6981: 0x000091CD,
+ 6982: 0x00009582,
+ 6983: 0x00009650,
+ 6984: 0x0000964B,
+ 6985: 0x0000964C,
+ 6986: 0x0000964D,
+ 6987: 0x00009762,
+ 6988: 0x00009769,
+ 6989: 0x000097CB,
+ 6990: 0x000097ED,
+ 6991: 0x000097F3,
+ 6992: 0x00009801,
+ 6993: 0x000098A8,
+ 6994: 0x000098DB,
+ 6995: 0x000098DF,
+ 6996: 0x00009996,
+ 6997: 0x00009999,
+ 6998: 0x00004E58,
+ 6999: 0x00004EB3,
+ 7000: 0x0000500C,
+ 7001: 0x0000500D,
+ 7002: 0x00005023,
+ 7003: 0x00004FEF,
+ 7004: 0x00005026,
+ 7005: 0x00005025,
+ 7006: 0x00004FF8,
+ 7007: 0x00005029,
+ 7008: 0x00005016,
+ 7009: 0x00005006,
+ 7010: 0x0000503C,
+ 7011: 0x0000501F,
+ 7012: 0x0000501A,
+ 7013: 0x00005012,
+ 7014: 0x00005011,
+ 7015: 0x00004FFA,
+ 7016: 0x00005000,
+ 7017: 0x00005014,
+ 7018: 0x00005028,
+ 7019: 0x00004FF1,
+ 7020: 0x00005021,
+ 7021: 0x0000500B,
+ 7022: 0x00005019,
+ 7023: 0x00005018,
+ 7024: 0x00004FF3,
+ 7025: 0x00004FEE,
+ 7026: 0x0000502D,
+ 7027: 0x0000502A,
+ 7028: 0x00004FFE,
+ 7029: 0x0000502B,
+ 7030: 0x00005009,
+ 7031: 0x0000517C,
+ 7032: 0x000051A4,
+ 7033: 0x000051A5,
+ 7034: 0x000051A2,
+ 7035: 0x000051CD,
+ 7036: 0x000051CC,
+ 7037: 0x000051C6,
+ 7038: 0x000051CB,
+ 7039: 0x00005256,
+ 7040: 0x0000525C,
+ 7041: 0x00005254,
+ 7042: 0x0000525B,
+ 7043: 0x0000525D,
+ 7044: 0x0000532A,
+ 7045: 0x0000537F,
+ 7046: 0x0000539F,
+ 7047: 0x0000539D,
+ 7048: 0x000053DF,
+ 7049: 0x000054E8,
+ 7050: 0x00005510,
+ 7051: 0x00005501,
+ 7052: 0x00005537,
+ 7053: 0x000054FC,
+ 7054: 0x000054E5,
+ 7055: 0x000054F2,
+ 7056: 0x00005506,
+ 7057: 0x000054FA,
+ 7058: 0x00005514,
+ 7059: 0x000054E9,
+ 7060: 0x000054ED,
+ 7061: 0x000054E1,
+ 7062: 0x00005509,
+ 7063: 0x000054EE,
+ 7064: 0x000054EA,
+ 7065: 0x000054E6,
+ 7066: 0x00005527,
+ 7067: 0x00005507,
+ 7068: 0x000054FD,
+ 7069: 0x0000550F,
+ 7070: 0x00005703,
+ 7071: 0x00005704,
+ 7072: 0x000057C2,
+ 7073: 0x000057D4,
+ 7074: 0x000057CB,
+ 7075: 0x000057C3,
+ 7076: 0x00005809,
+ 7077: 0x0000590F,
+ 7078: 0x00005957,
+ 7079: 0x00005958,
+ 7080: 0x0000595A,
+ 7081: 0x00005A11,
+ 7082: 0x00005A18,
+ 7083: 0x00005A1C,
+ 7084: 0x00005A1F,
+ 7085: 0x00005A1B,
+ 7086: 0x00005A13,
+ 7087: 0x000059EC,
+ 7088: 0x00005A20,
+ 7089: 0x00005A23,
+ 7090: 0x00005A29,
+ 7091: 0x00005A25,
+ 7092: 0x00005A0C,
+ 7093: 0x00005A09,
+ 7094: 0x00005B6B,
+ 7095: 0x00005C58,
+ 7096: 0x00005BB0,
+ 7097: 0x00005BB3,
+ 7098: 0x00005BB6,
+ 7099: 0x00005BB4,
+ 7100: 0x00005BAE,
+ 7101: 0x00005BB5,
+ 7102: 0x00005BB9,
+ 7103: 0x00005BB8,
+ 7104: 0x00005C04,
+ 7105: 0x00005C51,
+ 7106: 0x00005C55,
+ 7107: 0x00005C50,
+ 7108: 0x00005CED,
+ 7109: 0x00005CFD,
+ 7110: 0x00005CFB,
+ 7111: 0x00005CEA,
+ 7112: 0x00005CE8,
+ 7113: 0x00005CF0,
+ 7114: 0x00005CF6,
+ 7115: 0x00005D01,
+ 7116: 0x00005CF4,
+ 7117: 0x00005DEE,
+ 7118: 0x00005E2D,
+ 7119: 0x00005E2B,
+ 7120: 0x00005EAB,
+ 7121: 0x00005EAD,
+ 7122: 0x00005EA7,
+ 7123: 0x00005F31,
+ 7124: 0x00005F92,
+ 7125: 0x00005F91,
+ 7126: 0x00005F90,
+ 7127: 0x00006059,
+ 7128: 0x00006063,
+ 7129: 0x00006065,
+ 7130: 0x00006050,
+ 7131: 0x00006055,
+ 7132: 0x0000606D,
+ 7133: 0x00006069,
+ 7134: 0x0000606F,
+ 7135: 0x00006084,
+ 7136: 0x0000609F,
+ 7137: 0x0000609A,
+ 7138: 0x0000608D,
+ 7139: 0x00006094,
+ 7140: 0x0000608C,
+ 7141: 0x00006085,
+ 7142: 0x00006096,
+ 7143: 0x00006247,
+ 7144: 0x000062F3,
+ 7145: 0x00006308,
+ 7146: 0x000062FF,
+ 7147: 0x0000634E,
+ 7148: 0x0000633E,
+ 7149: 0x0000632F,
+ 7150: 0x00006355,
+ 7151: 0x00006342,
+ 7152: 0x00006346,
+ 7153: 0x0000634F,
+ 7154: 0x00006349,
+ 7155: 0x0000633A,
+ 7156: 0x00006350,
+ 7157: 0x0000633D,
+ 7158: 0x0000632A,
+ 7159: 0x0000632B,
+ 7160: 0x00006328,
+ 7161: 0x0000634D,
+ 7162: 0x0000634C,
+ 7163: 0x00006548,
+ 7164: 0x00006549,
+ 7165: 0x00006599,
+ 7166: 0x000065C1,
+ 7167: 0x000065C5,
+ 7168: 0x00006642,
+ 7169: 0x00006649,
+ 7170: 0x0000664F,
+ 7171: 0x00006643,
+ 7172: 0x00006652,
+ 7173: 0x0000664C,
+ 7174: 0x00006645,
+ 7175: 0x00006641,
+ 7176: 0x000066F8,
+ 7177: 0x00006714,
+ 7178: 0x00006715,
+ 7179: 0x00006717,
+ 7180: 0x00006821,
+ 7181: 0x00006838,
+ 7182: 0x00006848,
+ 7183: 0x00006846,
+ 7184: 0x00006853,
+ 7185: 0x00006839,
+ 7186: 0x00006842,
+ 7187: 0x00006854,
+ 7188: 0x00006829,
+ 7189: 0x000068B3,
+ 7190: 0x00006817,
+ 7191: 0x0000684C,
+ 7192: 0x00006851,
+ 7193: 0x0000683D,
+ 7194: 0x000067F4,
+ 7195: 0x00006850,
+ 7196: 0x00006840,
+ 7197: 0x0000683C,
+ 7198: 0x00006843,
+ 7199: 0x0000682A,
+ 7200: 0x00006845,
+ 7201: 0x00006813,
+ 7202: 0x00006818,
+ 7203: 0x00006841,
+ 7204: 0x00006B8A,
+ 7205: 0x00006B89,
+ 7206: 0x00006BB7,
+ 7207: 0x00006C23,
+ 7208: 0x00006C27,
+ 7209: 0x00006C28,
+ 7210: 0x00006C26,
+ 7211: 0x00006C24,
+ 7212: 0x00006CF0,
+ 7213: 0x00006D6A,
+ 7214: 0x00006D95,
+ 7215: 0x00006D88,
+ 7216: 0x00006D87,
+ 7217: 0x00006D66,
+ 7218: 0x00006D78,
+ 7219: 0x00006D77,
+ 7220: 0x00006D59,
+ 7221: 0x00006D93,
+ 7222: 0x00006D6C,
+ 7223: 0x00006D89,
+ 7224: 0x00006D6E,
+ 7225: 0x00006D5A,
+ 7226: 0x00006D74,
+ 7227: 0x00006D69,
+ 7228: 0x00006D8C,
+ 7229: 0x00006D8A,
+ 7230: 0x00006D79,
+ 7231: 0x00006D85,
+ 7232: 0x00006D65,
+ 7233: 0x00006D94,
+ 7234: 0x000070CA,
+ 7235: 0x000070D8,
+ 7236: 0x000070E4,
+ 7237: 0x000070D9,
+ 7238: 0x000070C8,
+ 7239: 0x000070CF,
+ 7240: 0x00007239,
+ 7241: 0x00007279,
+ 7242: 0x000072FC,
+ 7243: 0x000072F9,
+ 7244: 0x000072FD,
+ 7245: 0x000072F8,
+ 7246: 0x000072F7,
+ 7247: 0x00007386,
+ 7248: 0x000073ED,
+ 7249: 0x00007409,
+ 7250: 0x000073EE,
+ 7251: 0x000073E0,
+ 7252: 0x000073EA,
+ 7253: 0x000073DE,
+ 7254: 0x00007554,
+ 7255: 0x0000755D,
+ 7256: 0x0000755C,
+ 7257: 0x0000755A,
+ 7258: 0x00007559,
+ 7259: 0x000075BE,
+ 7260: 0x000075C5,
+ 7261: 0x000075C7,
+ 7262: 0x000075B2,
+ 7263: 0x000075B3,
+ 7264: 0x000075BD,
+ 7265: 0x000075BC,
+ 7266: 0x000075B9,
+ 7267: 0x000075C2,
+ 7268: 0x000075B8,
+ 7269: 0x0000768B,
+ 7270: 0x000076B0,
+ 7271: 0x000076CA,
+ 7272: 0x000076CD,
+ 7273: 0x000076CE,
+ 7274: 0x00007729,
+ 7275: 0x0000771F,
+ 7276: 0x00007720,
+ 7277: 0x00007728,
+ 7278: 0x000077E9,
+ 7279: 0x00007830,
+ 7280: 0x00007827,
+ 7281: 0x00007838,
+ 7282: 0x0000781D,
+ 7283: 0x00007834,
+ 7284: 0x00007837,
+ 7285: 0x00007825,
+ 7286: 0x0000782D,
+ 7287: 0x00007820,
+ 7288: 0x0000781F,
+ 7289: 0x00007832,
+ 7290: 0x00007955,
+ 7291: 0x00007950,
+ 7292: 0x00007960,
+ 7293: 0x0000795F,
+ 7294: 0x00007956,
+ 7295: 0x0000795E,
+ 7296: 0x0000795D,
+ 7297: 0x00007957,
+ 7298: 0x0000795A,
+ 7299: 0x000079E4,
+ 7300: 0x000079E3,
+ 7301: 0x000079E7,
+ 7302: 0x000079DF,
+ 7303: 0x000079E6,
+ 7304: 0x000079E9,
+ 7305: 0x000079D8,
+ 7306: 0x00007A84,
+ 7307: 0x00007A88,
+ 7308: 0x00007AD9,
+ 7309: 0x00007B06,
+ 7310: 0x00007B11,
+ 7311: 0x00007C89,
+ 7312: 0x00007D21,
+ 7313: 0x00007D17,
+ 7314: 0x00007D0B,
+ 7315: 0x00007D0A,
+ 7316: 0x00007D20,
+ 7317: 0x00007D22,
+ 7318: 0x00007D14,
+ 7319: 0x00007D10,
+ 7320: 0x00007D15,
+ 7321: 0x00007D1A,
+ 7322: 0x00007D1C,
+ 7323: 0x00007D0D,
+ 7324: 0x00007D19,
+ 7325: 0x00007D1B,
+ 7326: 0x00007F3A,
+ 7327: 0x00007F5F,
+ 7328: 0x00007F94,
+ 7329: 0x00007FC5,
+ 7330: 0x00007FC1,
+ 7331: 0x00008006,
+ 7332: 0x00008018,
+ 7333: 0x00008015,
+ 7334: 0x00008019,
+ 7335: 0x00008017,
+ 7336: 0x0000803D,
+ 7337: 0x0000803F,
+ 7338: 0x000080F1,
+ 7339: 0x00008102,
+ 7340: 0x000080F0,
+ 7341: 0x00008105,
+ 7342: 0x000080ED,
+ 7343: 0x000080F4,
+ 7344: 0x00008106,
+ 7345: 0x000080F8,
+ 7346: 0x000080F3,
+ 7347: 0x00008108,
+ 7348: 0x000080FD,
+ 7349: 0x0000810A,
+ 7350: 0x000080FC,
+ 7351: 0x000080EF,
+ 7352: 0x000081ED,
+ 7353: 0x000081EC,
+ 7354: 0x00008200,
+ 7355: 0x00008210,
+ 7356: 0x0000822A,
+ 7357: 0x0000822B,
+ 7358: 0x00008228,
+ 7359: 0x0000822C,
+ 7360: 0x000082BB,
+ 7361: 0x0000832B,
+ 7362: 0x00008352,
+ 7363: 0x00008354,
+ 7364: 0x0000834A,
+ 7365: 0x00008338,
+ 7366: 0x00008350,
+ 7367: 0x00008349,
+ 7368: 0x00008335,
+ 7369: 0x00008334,
+ 7370: 0x0000834F,
+ 7371: 0x00008332,
+ 7372: 0x00008339,
+ 7373: 0x00008336,
+ 7374: 0x00008317,
+ 7375: 0x00008340,
+ 7376: 0x00008331,
+ 7377: 0x00008328,
+ 7378: 0x00008343,
+ 7379: 0x00008654,
+ 7380: 0x0000868A,
+ 7381: 0x000086AA,
+ 7382: 0x00008693,
+ 7383: 0x000086A4,
+ 7384: 0x000086A9,
+ 7385: 0x0000868C,
+ 7386: 0x000086A3,
+ 7387: 0x0000869C,
+ 7388: 0x00008870,
+ 7389: 0x00008877,
+ 7390: 0x00008881,
+ 7391: 0x00008882,
+ 7392: 0x0000887D,
+ 7393: 0x00008879,
+ 7394: 0x00008A18,
+ 7395: 0x00008A10,
+ 7396: 0x00008A0E,
+ 7397: 0x00008A0C,
+ 7398: 0x00008A15,
+ 7399: 0x00008A0A,
+ 7400: 0x00008A17,
+ 7401: 0x00008A13,
+ 7402: 0x00008A16,
+ 7403: 0x00008A0F,
+ 7404: 0x00008A11,
+ 7405: 0x00008C48,
+ 7406: 0x00008C7A,
+ 7407: 0x00008C79,
+ 7408: 0x00008CA1,
+ 7409: 0x00008CA2,
+ 7410: 0x00008D77,
+ 7411: 0x00008EAC,
+ 7412: 0x00008ED2,
+ 7413: 0x00008ED4,
+ 7414: 0x00008ECF,
+ 7415: 0x00008FB1,
+ 7416: 0x00009001,
+ 7417: 0x00009006,
+ 7418: 0x00008FF7,
+ 7419: 0x00009000,
+ 7420: 0x00008FFA,
+ 7421: 0x00008FF4,
+ 7422: 0x00009003,
+ 7423: 0x00008FFD,
+ 7424: 0x00009005,
+ 7425: 0x00008FF8,
+ 7426: 0x00009095,
+ 7427: 0x000090E1,
+ 7428: 0x000090DD,
+ 7429: 0x000090E2,
+ 7430: 0x00009152,
+ 7431: 0x0000914D,
+ 7432: 0x0000914C,
+ 7433: 0x000091D8,
+ 7434: 0x000091DD,
+ 7435: 0x000091D7,
+ 7436: 0x000091DC,
+ 7437: 0x000091D9,
+ 7438: 0x00009583,
+ 7439: 0x00009662,
+ 7440: 0x00009663,
+ 7441: 0x00009661,
+ 7442: 0x0000965B,
+ 7443: 0x0000965D,
+ 7444: 0x00009664,
+ 7445: 0x00009658,
+ 7446: 0x0000965E,
+ 7447: 0x000096BB,
+ 7448: 0x000098E2,
+ 7449: 0x000099AC,
+ 7450: 0x00009AA8,
+ 7451: 0x00009AD8,
+ 7452: 0x00009B25,
+ 7453: 0x00009B32,
+ 7454: 0x00009B3C,
+ 7455: 0x00004E7E,
+ 7456: 0x0000507A,
+ 7457: 0x0000507D,
+ 7458: 0x0000505C,
+ 7459: 0x00005047,
+ 7460: 0x00005043,
+ 7461: 0x0000504C,
+ 7462: 0x0000505A,
+ 7463: 0x00005049,
+ 7464: 0x00005065,
+ 7465: 0x00005076,
+ 7466: 0x0000504E,
+ 7467: 0x00005055,
+ 7468: 0x00005075,
+ 7469: 0x00005074,
+ 7470: 0x00005077,
+ 7471: 0x0000504F,
+ 7472: 0x0000500F,
+ 7473: 0x0000506F,
+ 7474: 0x0000506D,
+ 7475: 0x0000515C,
+ 7476: 0x00005195,
+ 7477: 0x000051F0,
+ 7478: 0x0000526A,
+ 7479: 0x0000526F,
+ 7480: 0x000052D2,
+ 7481: 0x000052D9,
+ 7482: 0x000052D8,
+ 7483: 0x000052D5,
+ 7484: 0x00005310,
+ 7485: 0x0000530F,
+ 7486: 0x00005319,
+ 7487: 0x0000533F,
+ 7488: 0x00005340,
+ 7489: 0x0000533E,
+ 7490: 0x000053C3,
+ 7491: 0x000066FC,
+ 7492: 0x00005546,
+ 7493: 0x0000556A,
+ 7494: 0x00005566,
+ 7495: 0x00005544,
+ 7496: 0x0000555E,
+ 7497: 0x00005561,
+ 7498: 0x00005543,
+ 7499: 0x0000554A,
+ 7500: 0x00005531,
+ 7501: 0x00005556,
+ 7502: 0x0000554F,
+ 7503: 0x00005555,
+ 7504: 0x0000552F,
+ 7505: 0x00005564,
+ 7506: 0x00005538,
+ 7507: 0x0000552E,
+ 7508: 0x0000555C,
+ 7509: 0x0000552C,
+ 7510: 0x00005563,
+ 7511: 0x00005533,
+ 7512: 0x00005541,
+ 7513: 0x00005557,
+ 7514: 0x00005708,
+ 7515: 0x0000570B,
+ 7516: 0x00005709,
+ 7517: 0x000057DF,
+ 7518: 0x00005805,
+ 7519: 0x0000580A,
+ 7520: 0x00005806,
+ 7521: 0x000057E0,
+ 7522: 0x000057E4,
+ 7523: 0x000057FA,
+ 7524: 0x00005802,
+ 7525: 0x00005835,
+ 7526: 0x000057F7,
+ 7527: 0x000057F9,
+ 7528: 0x00005920,
+ 7529: 0x00005962,
+ 7530: 0x00005A36,
+ 7531: 0x00005A41,
+ 7532: 0x00005A49,
+ 7533: 0x00005A66,
+ 7534: 0x00005A6A,
+ 7535: 0x00005A40,
+ 7536: 0x00005A3C,
+ 7537: 0x00005A62,
+ 7538: 0x00005A5A,
+ 7539: 0x00005A46,
+ 7540: 0x00005A4A,
+ 7541: 0x00005B70,
+ 7542: 0x00005BC7,
+ 7543: 0x00005BC5,
+ 7544: 0x00005BC4,
+ 7545: 0x00005BC2,
+ 7546: 0x00005BBF,
+ 7547: 0x00005BC6,
+ 7548: 0x00005C09,
+ 7549: 0x00005C08,
+ 7550: 0x00005C07,
+ 7551: 0x00005C60,
+ 7552: 0x00005C5C,
+ 7553: 0x00005C5D,
+ 7554: 0x00005D07,
+ 7555: 0x00005D06,
+ 7556: 0x00005D0E,
+ 7557: 0x00005D1B,
+ 7558: 0x00005D16,
+ 7559: 0x00005D22,
+ 7560: 0x00005D11,
+ 7561: 0x00005D29,
+ 7562: 0x00005D14,
+ 7563: 0x00005D19,
+ 7564: 0x00005D24,
+ 7565: 0x00005D27,
+ 7566: 0x00005D17,
+ 7567: 0x00005DE2,
+ 7568: 0x00005E38,
+ 7569: 0x00005E36,
+ 7570: 0x00005E33,
+ 7571: 0x00005E37,
+ 7572: 0x00005EB7,
+ 7573: 0x00005EB8,
+ 7574: 0x00005EB6,
+ 7575: 0x00005EB5,
+ 7576: 0x00005EBE,
+ 7577: 0x00005F35,
+ 7578: 0x00005F37,
+ 7579: 0x00005F57,
+ 7580: 0x00005F6C,
+ 7581: 0x00005F69,
+ 7582: 0x00005F6B,
+ 7583: 0x00005F97,
+ 7584: 0x00005F99,
+ 7585: 0x00005F9E,
+ 7586: 0x00005F98,
+ 7587: 0x00005FA1,
+ 7588: 0x00005FA0,
+ 7589: 0x00005F9C,
+ 7590: 0x0000607F,
+ 7591: 0x000060A3,
+ 7592: 0x00006089,
+ 7593: 0x000060A0,
+ 7594: 0x000060A8,
+ 7595: 0x000060CB,
+ 7596: 0x000060B4,
+ 7597: 0x000060E6,
+ 7598: 0x000060BD,
+ 7599: 0x000060C5,
+ 7600: 0x000060BB,
+ 7601: 0x000060B5,
+ 7602: 0x000060DC,
+ 7603: 0x000060BC,
+ 7604: 0x000060D8,
+ 7605: 0x000060D5,
+ 7606: 0x000060C6,
+ 7607: 0x000060DF,
+ 7608: 0x000060B8,
+ 7609: 0x000060DA,
+ 7610: 0x000060C7,
+ 7611: 0x0000621A,
+ 7612: 0x0000621B,
+ 7613: 0x00006248,
+ 7614: 0x000063A0,
+ 7615: 0x000063A7,
+ 7616: 0x00006372,
+ 7617: 0x00006396,
+ 7618: 0x000063A2,
+ 7619: 0x000063A5,
+ 7620: 0x00006377,
+ 7621: 0x00006367,
+ 7622: 0x00006398,
+ 7623: 0x000063AA,
+ 7624: 0x00006371,
+ 7625: 0x000063A9,
+ 7626: 0x00006389,
+ 7627: 0x00006383,
+ 7628: 0x0000639B,
+ 7629: 0x0000636B,
+ 7630: 0x000063A8,
+ 7631: 0x00006384,
+ 7632: 0x00006388,
+ 7633: 0x00006399,
+ 7634: 0x000063A1,
+ 7635: 0x000063AC,
+ 7636: 0x00006392,
+ 7637: 0x0000638F,
+ 7638: 0x00006380,
+ 7639: 0x0000637B,
+ 7640: 0x00006369,
+ 7641: 0x00006368,
+ 7642: 0x0000637A,
+ 7643: 0x0000655D,
+ 7644: 0x00006556,
+ 7645: 0x00006551,
+ 7646: 0x00006559,
+ 7647: 0x00006557,
+ 7648: 0x0000555F,
+ 7649: 0x0000654F,
+ 7650: 0x00006558,
+ 7651: 0x00006555,
+ 7652: 0x00006554,
+ 7653: 0x0000659C,
+ 7654: 0x0000659B,
+ 7655: 0x000065AC,
+ 7656: 0x000065CF,
+ 7657: 0x000065CB,
+ 7658: 0x000065CC,
+ 7659: 0x000065CE,
+ 7660: 0x0000665D,
+ 7661: 0x0000665A,
+ 7662: 0x00006664,
+ 7663: 0x00006668,
+ 7664: 0x00006666,
+ 7665: 0x0000665E,
+ 7666: 0x000066F9,
+ 7667: 0x000052D7,
+ 7668: 0x0000671B,
+ 7669: 0x00006881,
+ 7670: 0x000068AF,
+ 7671: 0x000068A2,
+ 7672: 0x00006893,
+ 7673: 0x000068B5,
+ 7674: 0x0000687F,
+ 7675: 0x00006876,
+ 7676: 0x000068B1,
+ 7677: 0x000068A7,
+ 7678: 0x00006897,
+ 7679: 0x000068B0,
+ 7680: 0x00006883,
+ 7681: 0x000068C4,
+ 7682: 0x000068AD,
+ 7683: 0x00006886,
+ 7684: 0x00006885,
+ 7685: 0x00006894,
+ 7686: 0x0000689D,
+ 7687: 0x000068A8,
+ 7688: 0x0000689F,
+ 7689: 0x000068A1,
+ 7690: 0x00006882,
+ 7691: 0x00006B32,
+ 7692: 0x00006BBA,
+ 7693: 0x00006BEB,
+ 7694: 0x00006BEC,
+ 7695: 0x00006C2B,
+ 7696: 0x00006D8E,
+ 7697: 0x00006DBC,
+ 7698: 0x00006DF3,
+ 7699: 0x00006DD9,
+ 7700: 0x00006DB2,
+ 7701: 0x00006DE1,
+ 7702: 0x00006DCC,
+ 7703: 0x00006DE4,
+ 7704: 0x00006DFB,
+ 7705: 0x00006DFA,
+ 7706: 0x00006E05,
+ 7707: 0x00006DC7,
+ 7708: 0x00006DCB,
+ 7709: 0x00006DAF,
+ 7710: 0x00006DD1,
+ 7711: 0x00006DAE,
+ 7712: 0x00006DDE,
+ 7713: 0x00006DF9,
+ 7714: 0x00006DB8,
+ 7715: 0x00006DF7,
+ 7716: 0x00006DF5,
+ 7717: 0x00006DC5,
+ 7718: 0x00006DD2,
+ 7719: 0x00006E1A,
+ 7720: 0x00006DB5,
+ 7721: 0x00006DDA,
+ 7722: 0x00006DEB,
+ 7723: 0x00006DD8,
+ 7724: 0x00006DEA,
+ 7725: 0x00006DF1,
+ 7726: 0x00006DEE,
+ 7727: 0x00006DE8,
+ 7728: 0x00006DC6,
+ 7729: 0x00006DC4,
+ 7730: 0x00006DAA,
+ 7731: 0x00006DEC,
+ 7732: 0x00006DBF,
+ 7733: 0x00006DE6,
+ 7734: 0x000070F9,
+ 7735: 0x00007109,
+ 7736: 0x0000710A,
+ 7737: 0x000070FD,
+ 7738: 0x000070EF,
+ 7739: 0x0000723D,
+ 7740: 0x0000727D,
+ 7741: 0x00007281,
+ 7742: 0x0000731C,
+ 7743: 0x0000731B,
+ 7744: 0x00007316,
+ 7745: 0x00007313,
+ 7746: 0x00007319,
+ 7747: 0x00007387,
+ 7748: 0x00007405,
+ 7749: 0x0000740A,
+ 7750: 0x00007403,
+ 7751: 0x00007406,
+ 7752: 0x000073FE,
+ 7753: 0x0000740D,
+ 7754: 0x000074E0,
+ 7755: 0x000074F6,
+ 7756: 0x000074F7,
+ 7757: 0x0000751C,
+ 7758: 0x00007522,
+ 7759: 0x00007565,
+ 7760: 0x00007566,
+ 7761: 0x00007562,
+ 7762: 0x00007570,
+ 7763: 0x0000758F,
+ 7764: 0x000075D4,
+ 7765: 0x000075D5,
+ 7766: 0x000075B5,
+ 7767: 0x000075CA,
+ 7768: 0x000075CD,
+ 7769: 0x0000768E,
+ 7770: 0x000076D4,
+ 7771: 0x000076D2,
+ 7772: 0x000076DB,
+ 7773: 0x00007737,
+ 7774: 0x0000773E,
+ 7775: 0x0000773C,
+ 7776: 0x00007736,
+ 7777: 0x00007738,
+ 7778: 0x0000773A,
+ 7779: 0x0000786B,
+ 7780: 0x00007843,
+ 7781: 0x0000784E,
+ 7782: 0x00007965,
+ 7783: 0x00007968,
+ 7784: 0x0000796D,
+ 7785: 0x000079FB,
+ 7786: 0x00007A92,
+ 7787: 0x00007A95,
+ 7788: 0x00007B20,
+ 7789: 0x00007B28,
+ 7790: 0x00007B1B,
+ 7791: 0x00007B2C,
+ 7792: 0x00007B26,
+ 7793: 0x00007B19,
+ 7794: 0x00007B1E,
+ 7795: 0x00007B2E,
+ 7796: 0x00007C92,
+ 7797: 0x00007C97,
+ 7798: 0x00007C95,
+ 7799: 0x00007D46,
+ 7800: 0x00007D43,
+ 7801: 0x00007D71,
+ 7802: 0x00007D2E,
+ 7803: 0x00007D39,
+ 7804: 0x00007D3C,
+ 7805: 0x00007D40,
+ 7806: 0x00007D30,
+ 7807: 0x00007D33,
+ 7808: 0x00007D44,
+ 7809: 0x00007D2F,
+ 7810: 0x00007D42,
+ 7811: 0x00007D32,
+ 7812: 0x00007D31,
+ 7813: 0x00007F3D,
+ 7814: 0x00007F9E,
+ 7815: 0x00007F9A,
+ 7816: 0x00007FCC,
+ 7817: 0x00007FCE,
+ 7818: 0x00007FD2,
+ 7819: 0x0000801C,
+ 7820: 0x0000804A,
+ 7821: 0x00008046,
+ 7822: 0x0000812F,
+ 7823: 0x00008116,
+ 7824: 0x00008123,
+ 7825: 0x0000812B,
+ 7826: 0x00008129,
+ 7827: 0x00008130,
+ 7828: 0x00008124,
+ 7829: 0x00008202,
+ 7830: 0x00008235,
+ 7831: 0x00008237,
+ 7832: 0x00008236,
+ 7833: 0x00008239,
+ 7834: 0x0000838E,
+ 7835: 0x0000839E,
+ 7836: 0x00008398,
+ 7837: 0x00008378,
+ 7838: 0x000083A2,
+ 7839: 0x00008396,
+ 7840: 0x000083BD,
+ 7841: 0x000083AB,
+ 7842: 0x00008392,
+ 7843: 0x0000838A,
+ 7844: 0x00008393,
+ 7845: 0x00008389,
+ 7846: 0x000083A0,
+ 7847: 0x00008377,
+ 7848: 0x0000837B,
+ 7849: 0x0000837C,
+ 7850: 0x00008386,
+ 7851: 0x000083A7,
+ 7852: 0x00008655,
+ 7853: 0x00005F6A,
+ 7854: 0x000086C7,
+ 7855: 0x000086C0,
+ 7856: 0x000086B6,
+ 7857: 0x000086C4,
+ 7858: 0x000086B5,
+ 7859: 0x000086C6,
+ 7860: 0x000086CB,
+ 7861: 0x000086B1,
+ 7862: 0x000086AF,
+ 7863: 0x000086C9,
+ 7864: 0x00008853,
+ 7865: 0x0000889E,
+ 7866: 0x00008888,
+ 7867: 0x000088AB,
+ 7868: 0x00008892,
+ 7869: 0x00008896,
+ 7870: 0x0000888D,
+ 7871: 0x0000888B,
+ 7872: 0x00008993,
+ 7873: 0x0000898F,
+ 7874: 0x00008A2A,
+ 7875: 0x00008A1D,
+ 7876: 0x00008A23,
+ 7877: 0x00008A25,
+ 7878: 0x00008A31,
+ 7879: 0x00008A2D,
+ 7880: 0x00008A1F,
+ 7881: 0x00008A1B,
+ 7882: 0x00008A22,
+ 7883: 0x00008C49,
+ 7884: 0x00008C5A,
+ 7885: 0x00008CA9,
+ 7886: 0x00008CAC,
+ 7887: 0x00008CAB,
+ 7888: 0x00008CA8,
+ 7889: 0x00008CAA,
+ 7890: 0x00008CA7,
+ 7891: 0x00008D67,
+ 7892: 0x00008D66,
+ 7893: 0x00008DBE,
+ 7894: 0x00008DBA,
+ 7895: 0x00008EDB,
+ 7896: 0x00008EDF,
+ 7897: 0x00009019,
+ 7898: 0x0000900D,
+ 7899: 0x0000901A,
+ 7900: 0x00009017,
+ 7901: 0x00009023,
+ 7902: 0x0000901F,
+ 7903: 0x0000901D,
+ 7904: 0x00009010,
+ 7905: 0x00009015,
+ 7906: 0x0000901E,
+ 7907: 0x00009020,
+ 7908: 0x0000900F,
+ 7909: 0x00009022,
+ 7910: 0x00009016,
+ 7911: 0x0000901B,
+ 7912: 0x00009014,
+ 7913: 0x000090E8,
+ 7914: 0x000090ED,
+ 7915: 0x000090FD,
+ 7916: 0x00009157,
+ 7917: 0x000091CE,
+ 7918: 0x000091F5,
+ 7919: 0x000091E6,
+ 7920: 0x000091E3,
+ 7921: 0x000091E7,
+ 7922: 0x000091ED,
+ 7923: 0x000091E9,
+ 7924: 0x00009589,
+ 7925: 0x0000966A,
+ 7926: 0x00009675,
+ 7927: 0x00009673,
+ 7928: 0x00009678,
+ 7929: 0x00009670,
+ 7930: 0x00009674,
+ 7931: 0x00009676,
+ 7932: 0x00009677,
+ 7933: 0x0000966C,
+ 7934: 0x000096C0,
+ 7935: 0x000096EA,
+ 7936: 0x000096E9,
+ 7937: 0x00007AE0,
+ 7938: 0x00007ADF,
+ 7939: 0x00009802,
+ 7940: 0x00009803,
+ 7941: 0x00009B5A,
+ 7942: 0x00009CE5,
+ 7943: 0x00009E75,
+ 7944: 0x00009E7F,
+ 7945: 0x00009EA5,
+ 7946: 0x00009EBB,
+ 7947: 0x000050A2,
+ 7948: 0x0000508D,
+ 7949: 0x00005085,
+ 7950: 0x00005099,
+ 7951: 0x00005091,
+ 7952: 0x00005080,
+ 7953: 0x00005096,
+ 7954: 0x00005098,
+ 7955: 0x0000509A,
+ 7956: 0x00006700,
+ 7957: 0x000051F1,
+ 7958: 0x00005272,
+ 7959: 0x00005274,
+ 7960: 0x00005275,
+ 7961: 0x00005269,
+ 7962: 0x000052DE,
+ 7963: 0x000052DD,
+ 7964: 0x000052DB,
+ 7965: 0x0000535A,
+ 7966: 0x000053A5,
+ 7967: 0x0000557B,
+ 7968: 0x00005580,
+ 7969: 0x000055A7,
+ 7970: 0x0000557C,
+ 7971: 0x0000558A,
+ 7972: 0x0000559D,
+ 7973: 0x00005598,
+ 7974: 0x00005582,
+ 7975: 0x0000559C,
+ 7976: 0x000055AA,
+ 7977: 0x00005594,
+ 7978: 0x00005587,
+ 7979: 0x0000558B,
+ 7980: 0x00005583,
+ 7981: 0x000055B3,
+ 7982: 0x000055AE,
+ 7983: 0x0000559F,
+ 7984: 0x0000553E,
+ 7985: 0x000055B2,
+ 7986: 0x0000559A,
+ 7987: 0x000055BB,
+ 7988: 0x000055AC,
+ 7989: 0x000055B1,
+ 7990: 0x0000557E,
+ 7991: 0x00005589,
+ 7992: 0x000055AB,
+ 7993: 0x00005599,
+ 7994: 0x0000570D,
+ 7995: 0x0000582F,
+ 7996: 0x0000582A,
+ 7997: 0x00005834,
+ 7998: 0x00005824,
+ 7999: 0x00005830,
+ 8000: 0x00005831,
+ 8001: 0x00005821,
+ 8002: 0x0000581D,
+ 8003: 0x00005820,
+ 8004: 0x000058F9,
+ 8005: 0x000058FA,
+ 8006: 0x00005960,
+ 8007: 0x00005A77,
+ 8008: 0x00005A9A,
+ 8009: 0x00005A7F,
+ 8010: 0x00005A92,
+ 8011: 0x00005A9B,
+ 8012: 0x00005AA7,
+ 8013: 0x00005B73,
+ 8014: 0x00005B71,
+ 8015: 0x00005BD2,
+ 8016: 0x00005BCC,
+ 8017: 0x00005BD3,
+ 8018: 0x00005BD0,
+ 8019: 0x00005C0A,
+ 8020: 0x00005C0B,
+ 8021: 0x00005C31,
+ 8022: 0x00005D4C,
+ 8023: 0x00005D50,
+ 8024: 0x00005D34,
+ 8025: 0x00005D47,
+ 8026: 0x00005DFD,
+ 8027: 0x00005E45,
+ 8028: 0x00005E3D,
+ 8029: 0x00005E40,
+ 8030: 0x00005E43,
+ 8031: 0x00005E7E,
+ 8032: 0x00005ECA,
+ 8033: 0x00005EC1,
+ 8034: 0x00005EC2,
+ 8035: 0x00005EC4,
+ 8036: 0x00005F3C,
+ 8037: 0x00005F6D,
+ 8038: 0x00005FA9,
+ 8039: 0x00005FAA,
+ 8040: 0x00005FA8,
+ 8041: 0x000060D1,
+ 8042: 0x000060E1,
+ 8043: 0x000060B2,
+ 8044: 0x000060B6,
+ 8045: 0x000060E0,
+ 8046: 0x0000611C,
+ 8047: 0x00006123,
+ 8048: 0x000060FA,
+ 8049: 0x00006115,
+ 8050: 0x000060F0,
+ 8051: 0x000060FB,
+ 8052: 0x000060F4,
+ 8053: 0x00006168,
+ 8054: 0x000060F1,
+ 8055: 0x0000610E,
+ 8056: 0x000060F6,
+ 8057: 0x00006109,
+ 8058: 0x00006100,
+ 8059: 0x00006112,
+ 8060: 0x0000621F,
+ 8061: 0x00006249,
+ 8062: 0x000063A3,
+ 8063: 0x0000638C,
+ 8064: 0x000063CF,
+ 8065: 0x000063C0,
+ 8066: 0x000063E9,
+ 8067: 0x000063C9,
+ 8068: 0x000063C6,
+ 8069: 0x000063CD,
+ 8070: 0x000063D2,
+ 8071: 0x000063E3,
+ 8072: 0x000063D0,
+ 8073: 0x000063E1,
+ 8074: 0x000063D6,
+ 8075: 0x000063ED,
+ 8076: 0x000063EE,
+ 8077: 0x00006376,
+ 8078: 0x000063F4,
+ 8079: 0x000063EA,
+ 8080: 0x000063DB,
+ 8081: 0x00006452,
+ 8082: 0x000063DA,
+ 8083: 0x000063F9,
+ 8084: 0x0000655E,
+ 8085: 0x00006566,
+ 8086: 0x00006562,
+ 8087: 0x00006563,
+ 8088: 0x00006591,
+ 8089: 0x00006590,
+ 8090: 0x000065AF,
+ 8091: 0x0000666E,
+ 8092: 0x00006670,
+ 8093: 0x00006674,
+ 8094: 0x00006676,
+ 8095: 0x0000666F,
+ 8096: 0x00006691,
+ 8097: 0x0000667A,
+ 8098: 0x0000667E,
+ 8099: 0x00006677,
+ 8100: 0x000066FE,
+ 8101: 0x000066FF,
+ 8102: 0x0000671F,
+ 8103: 0x0000671D,
+ 8104: 0x000068FA,
+ 8105: 0x000068D5,
+ 8106: 0x000068E0,
+ 8107: 0x000068D8,
+ 8108: 0x000068D7,
+ 8109: 0x00006905,
+ 8110: 0x000068DF,
+ 8111: 0x000068F5,
+ 8112: 0x000068EE,
+ 8113: 0x000068E7,
+ 8114: 0x000068F9,
+ 8115: 0x000068D2,
+ 8116: 0x000068F2,
+ 8117: 0x000068E3,
+ 8118: 0x000068CB,
+ 8119: 0x000068CD,
+ 8120: 0x0000690D,
+ 8121: 0x00006912,
+ 8122: 0x0000690E,
+ 8123: 0x000068C9,
+ 8124: 0x000068DA,
+ 8125: 0x0000696E,
+ 8126: 0x000068FB,
+ 8127: 0x00006B3E,
+ 8128: 0x00006B3A,
+ 8129: 0x00006B3D,
+ 8130: 0x00006B98,
+ 8131: 0x00006B96,
+ 8132: 0x00006BBC,
+ 8133: 0x00006BEF,
+ 8134: 0x00006C2E,
+ 8135: 0x00006C2F,
+ 8136: 0x00006C2C,
+ 8137: 0x00006E2F,
+ 8138: 0x00006E38,
+ 8139: 0x00006E54,
+ 8140: 0x00006E21,
+ 8141: 0x00006E32,
+ 8142: 0x00006E67,
+ 8143: 0x00006E4A,
+ 8144: 0x00006E20,
+ 8145: 0x00006E25,
+ 8146: 0x00006E23,
+ 8147: 0x00006E1B,
+ 8148: 0x00006E5B,
+ 8149: 0x00006E58,
+ 8150: 0x00006E24,
+ 8151: 0x00006E56,
+ 8152: 0x00006E6E,
+ 8153: 0x00006E2D,
+ 8154: 0x00006E26,
+ 8155: 0x00006E6F,
+ 8156: 0x00006E34,
+ 8157: 0x00006E4D,
+ 8158: 0x00006E3A,
+ 8159: 0x00006E2C,
+ 8160: 0x00006E43,
+ 8161: 0x00006E1D,
+ 8162: 0x00006E3E,
+ 8163: 0x00006ECB,
+ 8164: 0x00006E89,
+ 8165: 0x00006E19,
+ 8166: 0x00006E4E,
+ 8167: 0x00006E63,
+ 8168: 0x00006E44,
+ 8169: 0x00006E72,
+ 8170: 0x00006E69,
+ 8171: 0x00006E5F,
+ 8172: 0x00007119,
+ 8173: 0x0000711A,
+ 8174: 0x00007126,
+ 8175: 0x00007130,
+ 8176: 0x00007121,
+ 8177: 0x00007136,
+ 8178: 0x0000716E,
+ 8179: 0x0000711C,
+ 8180: 0x0000724C,
+ 8181: 0x00007284,
+ 8182: 0x00007280,
+ 8183: 0x00007336,
+ 8184: 0x00007325,
+ 8185: 0x00007334,
+ 8186: 0x00007329,
+ 8187: 0x0000743A,
+ 8188: 0x0000742A,
+ 8189: 0x00007433,
+ 8190: 0x00007422,
+ 8191: 0x00007425,
+ 8192: 0x00007435,
+ 8193: 0x00007436,
+ 8194: 0x00007434,
+ 8195: 0x0000742F,
+ 8196: 0x0000741B,
+ 8197: 0x00007426,
+ 8198: 0x00007428,
+ 8199: 0x00007525,
+ 8200: 0x00007526,
+ 8201: 0x0000756B,
+ 8202: 0x0000756A,
+ 8203: 0x000075E2,
+ 8204: 0x000075DB,
+ 8205: 0x000075E3,
+ 8206: 0x000075D9,
+ 8207: 0x000075D8,
+ 8208: 0x000075DE,
+ 8209: 0x000075E0,
+ 8210: 0x0000767B,
+ 8211: 0x0000767C,
+ 8212: 0x00007696,
+ 8213: 0x00007693,
+ 8214: 0x000076B4,
+ 8215: 0x000076DC,
+ 8216: 0x0000774F,
+ 8217: 0x000077ED,
+ 8218: 0x0000785D,
+ 8219: 0x0000786C,
+ 8220: 0x0000786F,
+ 8221: 0x00007A0D,
+ 8222: 0x00007A08,
+ 8223: 0x00007A0B,
+ 8224: 0x00007A05,
+ 8225: 0x00007A00,
+ 8226: 0x00007A98,
+ 8227: 0x00007A97,
+ 8228: 0x00007A96,
+ 8229: 0x00007AE5,
+ 8230: 0x00007AE3,
+ 8231: 0x00007B49,
+ 8232: 0x00007B56,
+ 8233: 0x00007B46,
+ 8234: 0x00007B50,
+ 8235: 0x00007B52,
+ 8236: 0x00007B54,
+ 8237: 0x00007B4D,
+ 8238: 0x00007B4B,
+ 8239: 0x00007B4F,
+ 8240: 0x00007B51,
+ 8241: 0x00007C9F,
+ 8242: 0x00007CA5,
+ 8243: 0x00007D5E,
+ 8244: 0x00007D50,
+ 8245: 0x00007D68,
+ 8246: 0x00007D55,
+ 8247: 0x00007D2B,
+ 8248: 0x00007D6E,
+ 8249: 0x00007D72,
+ 8250: 0x00007D61,
+ 8251: 0x00007D66,
+ 8252: 0x00007D62,
+ 8253: 0x00007D70,
+ 8254: 0x00007D73,
+ 8255: 0x00005584,
+ 8256: 0x00007FD4,
+ 8257: 0x00007FD5,
+ 8258: 0x0000800B,
+ 8259: 0x00008052,
+ 8260: 0x00008085,
+ 8261: 0x00008155,
+ 8262: 0x00008154,
+ 8263: 0x0000814B,
+ 8264: 0x00008151,
+ 8265: 0x0000814E,
+ 8266: 0x00008139,
+ 8267: 0x00008146,
+ 8268: 0x0000813E,
+ 8269: 0x0000814C,
+ 8270: 0x00008153,
+ 8271: 0x00008174,
+ 8272: 0x00008212,
+ 8273: 0x0000821C,
+ 8274: 0x000083E9,
+ 8275: 0x00008403,
+ 8276: 0x000083F8,
+ 8277: 0x0000840D,
+ 8278: 0x000083E0,
+ 8279: 0x000083C5,
+ 8280: 0x0000840B,
+ 8281: 0x000083C1,
+ 8282: 0x000083EF,
+ 8283: 0x000083F1,
+ 8284: 0x000083F4,
+ 8285: 0x00008457,
+ 8286: 0x0000840A,
+ 8287: 0x000083F0,
+ 8288: 0x0000840C,
+ 8289: 0x000083CC,
+ 8290: 0x000083FD,
+ 8291: 0x000083F2,
+ 8292: 0x000083CA,
+ 8293: 0x00008438,
+ 8294: 0x0000840E,
+ 8295: 0x00008404,
+ 8296: 0x000083DC,
+ 8297: 0x00008407,
+ 8298: 0x000083D4,
+ 8299: 0x000083DF,
+ 8300: 0x0000865B,
+ 8301: 0x000086DF,
+ 8302: 0x000086D9,
+ 8303: 0x000086ED,
+ 8304: 0x000086D4,
+ 8305: 0x000086DB,
+ 8306: 0x000086E4,
+ 8307: 0x000086D0,
+ 8308: 0x000086DE,
+ 8309: 0x00008857,
+ 8310: 0x000088C1,
+ 8311: 0x000088C2,
+ 8312: 0x000088B1,
+ 8313: 0x00008983,
+ 8314: 0x00008996,
+ 8315: 0x00008A3B,
+ 8316: 0x00008A60,
+ 8317: 0x00008A55,
+ 8318: 0x00008A5E,
+ 8319: 0x00008A3C,
+ 8320: 0x00008A41,
+ 8321: 0x00008A54,
+ 8322: 0x00008A5B,
+ 8323: 0x00008A50,
+ 8324: 0x00008A46,
+ 8325: 0x00008A34,
+ 8326: 0x00008A3A,
+ 8327: 0x00008A36,
+ 8328: 0x00008A56,
+ 8329: 0x00008C61,
+ 8330: 0x00008C82,
+ 8331: 0x00008CAF,
+ 8332: 0x00008CBC,
+ 8333: 0x00008CB3,
+ 8334: 0x00008CBD,
+ 8335: 0x00008CC1,
+ 8336: 0x00008CBB,
+ 8337: 0x00008CC0,
+ 8338: 0x00008CB4,
+ 8339: 0x00008CB7,
+ 8340: 0x00008CB6,
+ 8341: 0x00008CBF,
+ 8342: 0x00008CB8,
+ 8343: 0x00008D8A,
+ 8344: 0x00008D85,
+ 8345: 0x00008D81,
+ 8346: 0x00008DCE,
+ 8347: 0x00008DDD,
+ 8348: 0x00008DCB,
+ 8349: 0x00008DDA,
+ 8350: 0x00008DD1,
+ 8351: 0x00008DCC,
+ 8352: 0x00008DDB,
+ 8353: 0x00008DC6,
+ 8354: 0x00008EFB,
+ 8355: 0x00008EF8,
+ 8356: 0x00008EFC,
+ 8357: 0x00008F9C,
+ 8358: 0x0000902E,
+ 8359: 0x00009035,
+ 8360: 0x00009031,
+ 8361: 0x00009038,
+ 8362: 0x00009032,
+ 8363: 0x00009036,
+ 8364: 0x00009102,
+ 8365: 0x000090F5,
+ 8366: 0x00009109,
+ 8367: 0x000090FE,
+ 8368: 0x00009163,
+ 8369: 0x00009165,
+ 8370: 0x000091CF,
+ 8371: 0x00009214,
+ 8372: 0x00009215,
+ 8373: 0x00009223,
+ 8374: 0x00009209,
+ 8375: 0x0000921E,
+ 8376: 0x0000920D,
+ 8377: 0x00009210,
+ 8378: 0x00009207,
+ 8379: 0x00009211,
+ 8380: 0x00009594,
+ 8381: 0x0000958F,
+ 8382: 0x0000958B,
+ 8383: 0x00009591,
+ 8384: 0x00009593,
+ 8385: 0x00009592,
+ 8386: 0x0000958E,
+ 8387: 0x0000968A,
+ 8388: 0x0000968E,
+ 8389: 0x0000968B,
+ 8390: 0x0000967D,
+ 8391: 0x00009685,
+ 8392: 0x00009686,
+ 8393: 0x0000968D,
+ 8394: 0x00009672,
+ 8395: 0x00009684,
+ 8396: 0x000096C1,
+ 8397: 0x000096C5,
+ 8398: 0x000096C4,
+ 8399: 0x000096C6,
+ 8400: 0x000096C7,
+ 8401: 0x000096EF,
+ 8402: 0x000096F2,
+ 8403: 0x000097CC,
+ 8404: 0x00009805,
+ 8405: 0x00009806,
+ 8406: 0x00009808,
+ 8407: 0x000098E7,
+ 8408: 0x000098EA,
+ 8409: 0x000098EF,
+ 8410: 0x000098E9,
+ 8411: 0x000098F2,
+ 8412: 0x000098ED,
+ 8413: 0x000099AE,
+ 8414: 0x000099AD,
+ 8415: 0x00009EC3,
+ 8416: 0x00009ECD,
+ 8417: 0x00009ED1,
+ 8418: 0x00004E82,
+ 8419: 0x000050AD,
+ 8420: 0x000050B5,
+ 8421: 0x000050B2,
+ 8422: 0x000050B3,
+ 8423: 0x000050C5,
+ 8424: 0x000050BE,
+ 8425: 0x000050AC,
+ 8426: 0x000050B7,
+ 8427: 0x000050BB,
+ 8428: 0x000050AF,
+ 8429: 0x000050C7,
+ 8430: 0x0000527F,
+ 8431: 0x00005277,
+ 8432: 0x0000527D,
+ 8433: 0x000052DF,
+ 8434: 0x000052E6,
+ 8435: 0x000052E4,
+ 8436: 0x000052E2,
+ 8437: 0x000052E3,
+ 8438: 0x0000532F,
+ 8439: 0x000055DF,
+ 8440: 0x000055E8,
+ 8441: 0x000055D3,
+ 8442: 0x000055E6,
+ 8443: 0x000055CE,
+ 8444: 0x000055DC,
+ 8445: 0x000055C7,
+ 8446: 0x000055D1,
+ 8447: 0x000055E3,
+ 8448: 0x000055E4,
+ 8449: 0x000055EF,
+ 8450: 0x000055DA,
+ 8451: 0x000055E1,
+ 8452: 0x000055C5,
+ 8453: 0x000055C6,
+ 8454: 0x000055E5,
+ 8455: 0x000055C9,
+ 8456: 0x00005712,
+ 8457: 0x00005713,
+ 8458: 0x0000585E,
+ 8459: 0x00005851,
+ 8460: 0x00005858,
+ 8461: 0x00005857,
+ 8462: 0x0000585A,
+ 8463: 0x00005854,
+ 8464: 0x0000586B,
+ 8465: 0x0000584C,
+ 8466: 0x0000586D,
+ 8467: 0x0000584A,
+ 8468: 0x00005862,
+ 8469: 0x00005852,
+ 8470: 0x0000584B,
+ 8471: 0x00005967,
+ 8472: 0x00005AC1,
+ 8473: 0x00005AC9,
+ 8474: 0x00005ACC,
+ 8475: 0x00005ABE,
+ 8476: 0x00005ABD,
+ 8477: 0x00005ABC,
+ 8478: 0x00005AB3,
+ 8479: 0x00005AC2,
+ 8480: 0x00005AB2,
+ 8481: 0x00005D69,
+ 8482: 0x00005D6F,
+ 8483: 0x00005E4C,
+ 8484: 0x00005E79,
+ 8485: 0x00005EC9,
+ 8486: 0x00005EC8,
+ 8487: 0x00005F12,
+ 8488: 0x00005F59,
+ 8489: 0x00005FAC,
+ 8490: 0x00005FAE,
+ 8491: 0x0000611A,
+ 8492: 0x0000610F,
+ 8493: 0x00006148,
+ 8494: 0x0000611F,
+ 8495: 0x000060F3,
+ 8496: 0x0000611B,
+ 8497: 0x000060F9,
+ 8498: 0x00006101,
+ 8499: 0x00006108,
+ 8500: 0x0000614E,
+ 8501: 0x0000614C,
+ 8502: 0x00006144,
+ 8503: 0x0000614D,
+ 8504: 0x0000613E,
+ 8505: 0x00006134,
+ 8506: 0x00006127,
+ 8507: 0x0000610D,
+ 8508: 0x00006106,
+ 8509: 0x00006137,
+ 8510: 0x00006221,
+ 8511: 0x00006222,
+ 8512: 0x00006413,
+ 8513: 0x0000643E,
+ 8514: 0x0000641E,
+ 8515: 0x0000642A,
+ 8516: 0x0000642D,
+ 8517: 0x0000643D,
+ 8518: 0x0000642C,
+ 8519: 0x0000640F,
+ 8520: 0x0000641C,
+ 8521: 0x00006414,
+ 8522: 0x0000640D,
+ 8523: 0x00006436,
+ 8524: 0x00006416,
+ 8525: 0x00006417,
+ 8526: 0x00006406,
+ 8527: 0x0000656C,
+ 8528: 0x0000659F,
+ 8529: 0x000065B0,
+ 8530: 0x00006697,
+ 8531: 0x00006689,
+ 8532: 0x00006687,
+ 8533: 0x00006688,
+ 8534: 0x00006696,
+ 8535: 0x00006684,
+ 8536: 0x00006698,
+ 8537: 0x0000668D,
+ 8538: 0x00006703,
+ 8539: 0x00006994,
+ 8540: 0x0000696D,
+ 8541: 0x0000695A,
+ 8542: 0x00006977,
+ 8543: 0x00006960,
+ 8544: 0x00006954,
+ 8545: 0x00006975,
+ 8546: 0x00006930,
+ 8547: 0x00006982,
+ 8548: 0x0000694A,
+ 8549: 0x00006968,
+ 8550: 0x0000696B,
+ 8551: 0x0000695E,
+ 8552: 0x00006953,
+ 8553: 0x00006979,
+ 8554: 0x00006986,
+ 8555: 0x0000695D,
+ 8556: 0x00006963,
+ 8557: 0x0000695B,
+ 8558: 0x00006B47,
+ 8559: 0x00006B72,
+ 8560: 0x00006BC0,
+ 8561: 0x00006BBF,
+ 8562: 0x00006BD3,
+ 8563: 0x00006BFD,
+ 8564: 0x00006EA2,
+ 8565: 0x00006EAF,
+ 8566: 0x00006ED3,
+ 8567: 0x00006EB6,
+ 8568: 0x00006EC2,
+ 8569: 0x00006E90,
+ 8570: 0x00006E9D,
+ 8571: 0x00006EC7,
+ 8572: 0x00006EC5,
+ 8573: 0x00006EA5,
+ 8574: 0x00006E98,
+ 8575: 0x00006EBC,
+ 8576: 0x00006EBA,
+ 8577: 0x00006EAB,
+ 8578: 0x00006ED1,
+ 8579: 0x00006E96,
+ 8580: 0x00006E9C,
+ 8581: 0x00006EC4,
+ 8582: 0x00006ED4,
+ 8583: 0x00006EAA,
+ 8584: 0x00006EA7,
+ 8585: 0x00006EB4,
+ 8586: 0x0000714E,
+ 8587: 0x00007159,
+ 8588: 0x00007169,
+ 8589: 0x00007164,
+ 8590: 0x00007149,
+ 8591: 0x00007167,
+ 8592: 0x0000715C,
+ 8593: 0x0000716C,
+ 8594: 0x00007166,
+ 8595: 0x0000714C,
+ 8596: 0x00007165,
+ 8597: 0x0000715E,
+ 8598: 0x00007146,
+ 8599: 0x00007168,
+ 8600: 0x00007156,
+ 8601: 0x0000723A,
+ 8602: 0x00007252,
+ 8603: 0x00007337,
+ 8604: 0x00007345,
+ 8605: 0x0000733F,
+ 8606: 0x0000733E,
+ 8607: 0x0000746F,
+ 8608: 0x0000745A,
+ 8609: 0x00007455,
+ 8610: 0x0000745F,
+ 8611: 0x0000745E,
+ 8612: 0x00007441,
+ 8613: 0x0000743F,
+ 8614: 0x00007459,
+ 8615: 0x0000745B,
+ 8616: 0x0000745C,
+ 8617: 0x00007576,
+ 8618: 0x00007578,
+ 8619: 0x00007600,
+ 8620: 0x000075F0,
+ 8621: 0x00007601,
+ 8622: 0x000075F2,
+ 8623: 0x000075F1,
+ 8624: 0x000075FA,
+ 8625: 0x000075FF,
+ 8626: 0x000075F4,
+ 8627: 0x000075F3,
+ 8628: 0x000076DE,
+ 8629: 0x000076DF,
+ 8630: 0x0000775B,
+ 8631: 0x0000776B,
+ 8632: 0x00007766,
+ 8633: 0x0000775E,
+ 8634: 0x00007763,
+ 8635: 0x00007779,
+ 8636: 0x0000776A,
+ 8637: 0x0000776C,
+ 8638: 0x0000775C,
+ 8639: 0x00007765,
+ 8640: 0x00007768,
+ 8641: 0x00007762,
+ 8642: 0x000077EE,
+ 8643: 0x0000788E,
+ 8644: 0x000078B0,
+ 8645: 0x00007897,
+ 8646: 0x00007898,
+ 8647: 0x0000788C,
+ 8648: 0x00007889,
+ 8649: 0x0000787C,
+ 8650: 0x00007891,
+ 8651: 0x00007893,
+ 8652: 0x0000787F,
+ 8653: 0x0000797A,
+ 8654: 0x0000797F,
+ 8655: 0x00007981,
+ 8656: 0x0000842C,
+ 8657: 0x000079BD,
+ 8658: 0x00007A1C,
+ 8659: 0x00007A1A,
+ 8660: 0x00007A20,
+ 8661: 0x00007A14,
+ 8662: 0x00007A1F,
+ 8663: 0x00007A1E,
+ 8664: 0x00007A9F,
+ 8665: 0x00007AA0,
+ 8666: 0x00007B77,
+ 8667: 0x00007BC0,
+ 8668: 0x00007B60,
+ 8669: 0x00007B6E,
+ 8670: 0x00007B67,
+ 8671: 0x00007CB1,
+ 8672: 0x00007CB3,
+ 8673: 0x00007CB5,
+ 8674: 0x00007D93,
+ 8675: 0x00007D79,
+ 8676: 0x00007D91,
+ 8677: 0x00007D81,
+ 8678: 0x00007D8F,
+ 8679: 0x00007D5B,
+ 8680: 0x00007F6E,
+ 8681: 0x00007F69,
+ 8682: 0x00007F6A,
+ 8683: 0x00007F72,
+ 8684: 0x00007FA9,
+ 8685: 0x00007FA8,
+ 8686: 0x00007FA4,
+ 8687: 0x00008056,
+ 8688: 0x00008058,
+ 8689: 0x00008086,
+ 8690: 0x00008084,
+ 8691: 0x00008171,
+ 8692: 0x00008170,
+ 8693: 0x00008178,
+ 8694: 0x00008165,
+ 8695: 0x0000816E,
+ 8696: 0x00008173,
+ 8697: 0x0000816B,
+ 8698: 0x00008179,
+ 8699: 0x0000817A,
+ 8700: 0x00008166,
+ 8701: 0x00008205,
+ 8702: 0x00008247,
+ 8703: 0x00008482,
+ 8704: 0x00008477,
+ 8705: 0x0000843D,
+ 8706: 0x00008431,
+ 8707: 0x00008475,
+ 8708: 0x00008466,
+ 8709: 0x0000846B,
+ 8710: 0x00008449,
+ 8711: 0x0000846C,
+ 8712: 0x0000845B,
+ 8713: 0x0000843C,
+ 8714: 0x00008435,
+ 8715: 0x00008461,
+ 8716: 0x00008463,
+ 8717: 0x00008469,
+ 8718: 0x0000846D,
+ 8719: 0x00008446,
+ 8720: 0x0000865E,
+ 8721: 0x0000865C,
+ 8722: 0x0000865F,
+ 8723: 0x000086F9,
+ 8724: 0x00008713,
+ 8725: 0x00008708,
+ 8726: 0x00008707,
+ 8727: 0x00008700,
+ 8728: 0x000086FE,
+ 8729: 0x000086FB,
+ 8730: 0x00008702,
+ 8731: 0x00008703,
+ 8732: 0x00008706,
+ 8733: 0x0000870A,
+ 8734: 0x00008859,
+ 8735: 0x000088DF,
+ 8736: 0x000088D4,
+ 8737: 0x000088D9,
+ 8738: 0x000088DC,
+ 8739: 0x000088D8,
+ 8740: 0x000088DD,
+ 8741: 0x000088E1,
+ 8742: 0x000088CA,
+ 8743: 0x000088D5,
+ 8744: 0x000088D2,
+ 8745: 0x0000899C,
+ 8746: 0x000089E3,
+ 8747: 0x00008A6B,
+ 8748: 0x00008A72,
+ 8749: 0x00008A73,
+ 8750: 0x00008A66,
+ 8751: 0x00008A69,
+ 8752: 0x00008A70,
+ 8753: 0x00008A87,
+ 8754: 0x00008A7C,
+ 8755: 0x00008A63,
+ 8756: 0x00008AA0,
+ 8757: 0x00008A71,
+ 8758: 0x00008A85,
+ 8759: 0x00008A6D,
+ 8760: 0x00008A62,
+ 8761: 0x00008A6E,
+ 8762: 0x00008A6C,
+ 8763: 0x00008A79,
+ 8764: 0x00008A7B,
+ 8765: 0x00008A3E,
+ 8766: 0x00008A68,
+ 8767: 0x00008C62,
+ 8768: 0x00008C8A,
+ 8769: 0x00008C89,
+ 8770: 0x00008CCA,
+ 8771: 0x00008CC7,
+ 8772: 0x00008CC8,
+ 8773: 0x00008CC4,
+ 8774: 0x00008CB2,
+ 8775: 0x00008CC3,
+ 8776: 0x00008CC2,
+ 8777: 0x00008CC5,
+ 8778: 0x00008DE1,
+ 8779: 0x00008DDF,
+ 8780: 0x00008DE8,
+ 8781: 0x00008DEF,
+ 8782: 0x00008DF3,
+ 8783: 0x00008DFA,
+ 8784: 0x00008DEA,
+ 8785: 0x00008DE4,
+ 8786: 0x00008DE6,
+ 8787: 0x00008EB2,
+ 8788: 0x00008F03,
+ 8789: 0x00008F09,
+ 8790: 0x00008EFE,
+ 8791: 0x00008F0A,
+ 8792: 0x00008F9F,
+ 8793: 0x00008FB2,
+ 8794: 0x0000904B,
+ 8795: 0x0000904A,
+ 8796: 0x00009053,
+ 8797: 0x00009042,
+ 8798: 0x00009054,
+ 8799: 0x0000903C,
+ 8800: 0x00009055,
+ 8801: 0x00009050,
+ 8802: 0x00009047,
+ 8803: 0x0000904F,
+ 8804: 0x0000904E,
+ 8805: 0x0000904D,
+ 8806: 0x00009051,
+ 8807: 0x0000903E,
+ 8808: 0x00009041,
+ 8809: 0x00009112,
+ 8810: 0x00009117,
+ 8811: 0x0000916C,
+ 8812: 0x0000916A,
+ 8813: 0x00009169,
+ 8814: 0x000091C9,
+ 8815: 0x00009237,
+ 8816: 0x00009257,
+ 8817: 0x00009238,
+ 8818: 0x0000923D,
+ 8819: 0x00009240,
+ 8820: 0x0000923E,
+ 8821: 0x0000925B,
+ 8822: 0x0000924B,
+ 8823: 0x00009264,
+ 8824: 0x00009251,
+ 8825: 0x00009234,
+ 8826: 0x00009249,
+ 8827: 0x0000924D,
+ 8828: 0x00009245,
+ 8829: 0x00009239,
+ 8830: 0x0000923F,
+ 8831: 0x0000925A,
+ 8832: 0x00009598,
+ 8833: 0x00009698,
+ 8834: 0x00009694,
+ 8835: 0x00009695,
+ 8836: 0x000096CD,
+ 8837: 0x000096CB,
+ 8838: 0x000096C9,
+ 8839: 0x000096CA,
+ 8840: 0x000096F7,
+ 8841: 0x000096FB,
+ 8842: 0x000096F9,
+ 8843: 0x000096F6,
+ 8844: 0x00009756,
+ 8845: 0x00009774,
+ 8846: 0x00009776,
+ 8847: 0x00009810,
+ 8848: 0x00009811,
+ 8849: 0x00009813,
+ 8850: 0x0000980A,
+ 8851: 0x00009812,
+ 8852: 0x0000980C,
+ 8853: 0x000098FC,
+ 8854: 0x000098F4,
+ 8855: 0x000098FD,
+ 8856: 0x000098FE,
+ 8857: 0x000099B3,
+ 8858: 0x000099B1,
+ 8859: 0x000099B4,
+ 8860: 0x00009AE1,
+ 8861: 0x00009CE9,
+ 8862: 0x00009E82,
+ 8863: 0x00009F0E,
+ 8864: 0x00009F13,
+ 8865: 0x00009F20,
+ 8866: 0x000050E7,
+ 8867: 0x000050EE,
+ 8868: 0x000050E5,
+ 8869: 0x000050D6,
+ 8870: 0x000050ED,
+ 8871: 0x000050DA,
+ 8872: 0x000050D5,
+ 8873: 0x000050CF,
+ 8874: 0x000050D1,
+ 8875: 0x000050F1,
+ 8876: 0x000050CE,
+ 8877: 0x000050E9,
+ 8878: 0x00005162,
+ 8879: 0x000051F3,
+ 8880: 0x00005283,
+ 8881: 0x00005282,
+ 8882: 0x00005331,
+ 8883: 0x000053AD,
+ 8884: 0x000055FE,
+ 8885: 0x00005600,
+ 8886: 0x0000561B,
+ 8887: 0x00005617,
+ 8888: 0x000055FD,
+ 8889: 0x00005614,
+ 8890: 0x00005606,
+ 8891: 0x00005609,
+ 8892: 0x0000560D,
+ 8893: 0x0000560E,
+ 8894: 0x000055F7,
+ 8895: 0x00005616,
+ 8896: 0x0000561F,
+ 8897: 0x00005608,
+ 8898: 0x00005610,
+ 8899: 0x000055F6,
+ 8900: 0x00005718,
+ 8901: 0x00005716,
+ 8902: 0x00005875,
+ 8903: 0x0000587E,
+ 8904: 0x00005883,
+ 8905: 0x00005893,
+ 8906: 0x0000588A,
+ 8907: 0x00005879,
+ 8908: 0x00005885,
+ 8909: 0x0000587D,
+ 8910: 0x000058FD,
+ 8911: 0x00005925,
+ 8912: 0x00005922,
+ 8913: 0x00005924,
+ 8914: 0x0000596A,
+ 8915: 0x00005969,
+ 8916: 0x00005AE1,
+ 8917: 0x00005AE6,
+ 8918: 0x00005AE9,
+ 8919: 0x00005AD7,
+ 8920: 0x00005AD6,
+ 8921: 0x00005AD8,
+ 8922: 0x00005AE3,
+ 8923: 0x00005B75,
+ 8924: 0x00005BDE,
+ 8925: 0x00005BE7,
+ 8926: 0x00005BE1,
+ 8927: 0x00005BE5,
+ 8928: 0x00005BE6,
+ 8929: 0x00005BE8,
+ 8930: 0x00005BE2,
+ 8931: 0x00005BE4,
+ 8932: 0x00005BDF,
+ 8933: 0x00005C0D,
+ 8934: 0x00005C62,
+ 8935: 0x00005D84,
+ 8936: 0x00005D87,
+ 8937: 0x00005E5B,
+ 8938: 0x00005E63,
+ 8939: 0x00005E55,
+ 8940: 0x00005E57,
+ 8941: 0x00005E54,
+ 8942: 0x00005ED3,
+ 8943: 0x00005ED6,
+ 8944: 0x00005F0A,
+ 8945: 0x00005F46,
+ 8946: 0x00005F70,
+ 8947: 0x00005FB9,
+ 8948: 0x00006147,
+ 8949: 0x0000613F,
+ 8950: 0x0000614B,
+ 8951: 0x00006177,
+ 8952: 0x00006162,
+ 8953: 0x00006163,
+ 8954: 0x0000615F,
+ 8955: 0x0000615A,
+ 8956: 0x00006158,
+ 8957: 0x00006175,
+ 8958: 0x0000622A,
+ 8959: 0x00006487,
+ 8960: 0x00006458,
+ 8961: 0x00006454,
+ 8962: 0x000064A4,
+ 8963: 0x00006478,
+ 8964: 0x0000645F,
+ 8965: 0x0000647A,
+ 8966: 0x00006451,
+ 8967: 0x00006467,
+ 8968: 0x00006434,
+ 8969: 0x0000646D,
+ 8970: 0x0000647B,
+ 8971: 0x00006572,
+ 8972: 0x000065A1,
+ 8973: 0x000065D7,
+ 8974: 0x000065D6,
+ 8975: 0x000066A2,
+ 8976: 0x000066A8,
+ 8977: 0x0000669D,
+ 8978: 0x0000699C,
+ 8979: 0x000069A8,
+ 8980: 0x00006995,
+ 8981: 0x000069C1,
+ 8982: 0x000069AE,
+ 8983: 0x000069D3,
+ 8984: 0x000069CB,
+ 8985: 0x0000699B,
+ 8986: 0x000069B7,
+ 8987: 0x000069BB,
+ 8988: 0x000069AB,
+ 8989: 0x000069B4,
+ 8990: 0x000069D0,
+ 8991: 0x000069CD,
+ 8992: 0x000069AD,
+ 8993: 0x000069CC,
+ 8994: 0x000069A6,
+ 8995: 0x000069C3,
+ 8996: 0x000069A3,
+ 8997: 0x00006B49,
+ 8998: 0x00006B4C,
+ 8999: 0x00006C33,
+ 9000: 0x00006F33,
+ 9001: 0x00006F14,
+ 9002: 0x00006EFE,
+ 9003: 0x00006F13,
+ 9004: 0x00006EF4,
+ 9005: 0x00006F29,
+ 9006: 0x00006F3E,
+ 9007: 0x00006F20,
+ 9008: 0x00006F2C,
+ 9009: 0x00006F0F,
+ 9010: 0x00006F02,
+ 9011: 0x00006F22,
+ 9012: 0x00006EFF,
+ 9013: 0x00006EEF,
+ 9014: 0x00006F06,
+ 9015: 0x00006F31,
+ 9016: 0x00006F38,
+ 9017: 0x00006F32,
+ 9018: 0x00006F23,
+ 9019: 0x00006F15,
+ 9020: 0x00006F2B,
+ 9021: 0x00006F2F,
+ 9022: 0x00006F88,
+ 9023: 0x00006F2A,
+ 9024: 0x00006EEC,
+ 9025: 0x00006F01,
+ 9026: 0x00006EF2,
+ 9027: 0x00006ECC,
+ 9028: 0x00006EF7,
+ 9029: 0x00007194,
+ 9030: 0x00007199,
+ 9031: 0x0000717D,
+ 9032: 0x0000718A,
+ 9033: 0x00007184,
+ 9034: 0x00007192,
+ 9035: 0x0000723E,
+ 9036: 0x00007292,
+ 9037: 0x00007296,
+ 9038: 0x00007344,
+ 9039: 0x00007350,
+ 9040: 0x00007464,
+ 9041: 0x00007463,
+ 9042: 0x0000746A,
+ 9043: 0x00007470,
+ 9044: 0x0000746D,
+ 9045: 0x00007504,
+ 9046: 0x00007591,
+ 9047: 0x00007627,
+ 9048: 0x0000760D,
+ 9049: 0x0000760B,
+ 9050: 0x00007609,
+ 9051: 0x00007613,
+ 9052: 0x000076E1,
+ 9053: 0x000076E3,
+ 9054: 0x00007784,
+ 9055: 0x0000777D,
+ 9056: 0x0000777F,
+ 9057: 0x00007761,
+ 9058: 0x000078C1,
+ 9059: 0x0000789F,
+ 9060: 0x000078A7,
+ 9061: 0x000078B3,
+ 9062: 0x000078A9,
+ 9063: 0x000078A3,
+ 9064: 0x0000798E,
+ 9065: 0x0000798F,
+ 9066: 0x0000798D,
+ 9067: 0x00007A2E,
+ 9068: 0x00007A31,
+ 9069: 0x00007AAA,
+ 9070: 0x00007AA9,
+ 9071: 0x00007AED,
+ 9072: 0x00007AEF,
+ 9073: 0x00007BA1,
+ 9074: 0x00007B95,
+ 9075: 0x00007B8B,
+ 9076: 0x00007B75,
+ 9077: 0x00007B97,
+ 9078: 0x00007B9D,
+ 9079: 0x00007B94,
+ 9080: 0x00007B8F,
+ 9081: 0x00007BB8,
+ 9082: 0x00007B87,
+ 9083: 0x00007B84,
+ 9084: 0x00007CB9,
+ 9085: 0x00007CBD,
+ 9086: 0x00007CBE,
+ 9087: 0x00007DBB,
+ 9088: 0x00007DB0,
+ 9089: 0x00007D9C,
+ 9090: 0x00007DBD,
+ 9091: 0x00007DBE,
+ 9092: 0x00007DA0,
+ 9093: 0x00007DCA,
+ 9094: 0x00007DB4,
+ 9095: 0x00007DB2,
+ 9096: 0x00007DB1,
+ 9097: 0x00007DBA,
+ 9098: 0x00007DA2,
+ 9099: 0x00007DBF,
+ 9100: 0x00007DB5,
+ 9101: 0x00007DB8,
+ 9102: 0x00007DAD,
+ 9103: 0x00007DD2,
+ 9104: 0x00007DC7,
+ 9105: 0x00007DAC,
+ 9106: 0x00007F70,
+ 9107: 0x00007FE0,
+ 9108: 0x00007FE1,
+ 9109: 0x00007FDF,
+ 9110: 0x0000805E,
+ 9111: 0x0000805A,
+ 9112: 0x00008087,
+ 9113: 0x00008150,
+ 9114: 0x00008180,
+ 9115: 0x0000818F,
+ 9116: 0x00008188,
+ 9117: 0x0000818A,
+ 9118: 0x0000817F,
+ 9119: 0x00008182,
+ 9120: 0x000081E7,
+ 9121: 0x000081FA,
+ 9122: 0x00008207,
+ 9123: 0x00008214,
+ 9124: 0x0000821E,
+ 9125: 0x0000824B,
+ 9126: 0x000084C9,
+ 9127: 0x000084BF,
+ 9128: 0x000084C6,
+ 9129: 0x000084C4,
+ 9130: 0x00008499,
+ 9131: 0x0000849E,
+ 9132: 0x000084B2,
+ 9133: 0x0000849C,
+ 9134: 0x000084CB,
+ 9135: 0x000084B8,
+ 9136: 0x000084C0,
+ 9137: 0x000084D3,
+ 9138: 0x00008490,
+ 9139: 0x000084BC,
+ 9140: 0x000084D1,
+ 9141: 0x000084CA,
+ 9142: 0x0000873F,
+ 9143: 0x0000871C,
+ 9144: 0x0000873B,
+ 9145: 0x00008722,
+ 9146: 0x00008725,
+ 9147: 0x00008734,
+ 9148: 0x00008718,
+ 9149: 0x00008755,
+ 9150: 0x00008737,
+ 9151: 0x00008729,
+ 9152: 0x000088F3,
+ 9153: 0x00008902,
+ 9154: 0x000088F4,
+ 9155: 0x000088F9,
+ 9156: 0x000088F8,
+ 9157: 0x000088FD,
+ 9158: 0x000088E8,
+ 9159: 0x0000891A,
+ 9160: 0x000088EF,
+ 9161: 0x00008AA6,
+ 9162: 0x00008A8C,
+ 9163: 0x00008A9E,
+ 9164: 0x00008AA3,
+ 9165: 0x00008A8D,
+ 9166: 0x00008AA1,
+ 9167: 0x00008A93,
+ 9168: 0x00008AA4,
+ 9169: 0x00008AAA,
+ 9170: 0x00008AA5,
+ 9171: 0x00008AA8,
+ 9172: 0x00008A98,
+ 9173: 0x00008A91,
+ 9174: 0x00008A9A,
+ 9175: 0x00008AA7,
+ 9176: 0x00008C6A,
+ 9177: 0x00008C8D,
+ 9178: 0x00008C8C,
+ 9179: 0x00008CD3,
+ 9180: 0x00008CD1,
+ 9181: 0x00008CD2,
+ 9182: 0x00008D6B,
+ 9183: 0x00008D99,
+ 9184: 0x00008D95,
+ 9185: 0x00008DFC,
+ 9186: 0x00008F14,
+ 9187: 0x00008F12,
+ 9188: 0x00008F15,
+ 9189: 0x00008F13,
+ 9190: 0x00008FA3,
+ 9191: 0x00009060,
+ 9192: 0x00009058,
+ 9193: 0x0000905C,
+ 9194: 0x00009063,
+ 9195: 0x00009059,
+ 9196: 0x0000905E,
+ 9197: 0x00009062,
+ 9198: 0x0000905D,
+ 9199: 0x0000905B,
+ 9200: 0x00009119,
+ 9201: 0x00009118,
+ 9202: 0x0000911E,
+ 9203: 0x00009175,
+ 9204: 0x00009178,
+ 9205: 0x00009177,
+ 9206: 0x00009174,
+ 9207: 0x00009278,
+ 9208: 0x00009280,
+ 9209: 0x00009285,
+ 9210: 0x00009298,
+ 9211: 0x00009296,
+ 9212: 0x0000927B,
+ 9213: 0x00009293,
+ 9214: 0x0000929C,
+ 9215: 0x000092A8,
+ 9216: 0x0000927C,
+ 9217: 0x00009291,
+ 9218: 0x000095A1,
+ 9219: 0x000095A8,
+ 9220: 0x000095A9,
+ 9221: 0x000095A3,
+ 9222: 0x000095A5,
+ 9223: 0x000095A4,
+ 9224: 0x00009699,
+ 9225: 0x0000969C,
+ 9226: 0x0000969B,
+ 9227: 0x000096CC,
+ 9228: 0x000096D2,
+ 9229: 0x00009700,
+ 9230: 0x0000977C,
+ 9231: 0x00009785,
+ 9232: 0x000097F6,
+ 9233: 0x00009817,
+ 9234: 0x00009818,
+ 9235: 0x000098AF,
+ 9236: 0x000098B1,
+ 9237: 0x00009903,
+ 9238: 0x00009905,
+ 9239: 0x0000990C,
+ 9240: 0x00009909,
+ 9241: 0x000099C1,
+ 9242: 0x00009AAF,
+ 9243: 0x00009AB0,
+ 9244: 0x00009AE6,
+ 9245: 0x00009B41,
+ 9246: 0x00009B42,
+ 9247: 0x00009CF4,
+ 9248: 0x00009CF6,
+ 9249: 0x00009CF3,
+ 9250: 0x00009EBC,
+ 9251: 0x00009F3B,
+ 9252: 0x00009F4A,
+ 9253: 0x00005104,
+ 9254: 0x00005100,
+ 9255: 0x000050FB,
+ 9256: 0x000050F5,
+ 9257: 0x000050F9,
+ 9258: 0x00005102,
+ 9259: 0x00005108,
+ 9260: 0x00005109,
+ 9261: 0x00005105,
+ 9262: 0x000051DC,
+ 9263: 0x00005287,
+ 9264: 0x00005288,
+ 9265: 0x00005289,
+ 9266: 0x0000528D,
+ 9267: 0x0000528A,
+ 9268: 0x000052F0,
+ 9269: 0x000053B2,
+ 9270: 0x0000562E,
+ 9271: 0x0000563B,
+ 9272: 0x00005639,
+ 9273: 0x00005632,
+ 9274: 0x0000563F,
+ 9275: 0x00005634,
+ 9276: 0x00005629,
+ 9277: 0x00005653,
+ 9278: 0x0000564E,
+ 9279: 0x00005657,
+ 9280: 0x00005674,
+ 9281: 0x00005636,
+ 9282: 0x0000562F,
+ 9283: 0x00005630,
+ 9284: 0x00005880,
+ 9285: 0x0000589F,
+ 9286: 0x0000589E,
+ 9287: 0x000058B3,
+ 9288: 0x0000589C,
+ 9289: 0x000058AE,
+ 9290: 0x000058A9,
+ 9291: 0x000058A6,
+ 9292: 0x0000596D,
+ 9293: 0x00005B09,
+ 9294: 0x00005AFB,
+ 9295: 0x00005B0B,
+ 9296: 0x00005AF5,
+ 9297: 0x00005B0C,
+ 9298: 0x00005B08,
+ 9299: 0x00005BEE,
+ 9300: 0x00005BEC,
+ 9301: 0x00005BE9,
+ 9302: 0x00005BEB,
+ 9303: 0x00005C64,
+ 9304: 0x00005C65,
+ 9305: 0x00005D9D,
+ 9306: 0x00005D94,
+ 9307: 0x00005E62,
+ 9308: 0x00005E5F,
+ 9309: 0x00005E61,
+ 9310: 0x00005EE2,
+ 9311: 0x00005EDA,
+ 9312: 0x00005EDF,
+ 9313: 0x00005EDD,
+ 9314: 0x00005EE3,
+ 9315: 0x00005EE0,
+ 9316: 0x00005F48,
+ 9317: 0x00005F71,
+ 9318: 0x00005FB7,
+ 9319: 0x00005FB5,
+ 9320: 0x00006176,
+ 9321: 0x00006167,
+ 9322: 0x0000616E,
+ 9323: 0x0000615D,
+ 9324: 0x00006155,
+ 9325: 0x00006182,
+ 9326: 0x0000617C,
+ 9327: 0x00006170,
+ 9328: 0x0000616B,
+ 9329: 0x0000617E,
+ 9330: 0x000061A7,
+ 9331: 0x00006190,
+ 9332: 0x000061AB,
+ 9333: 0x0000618E,
+ 9334: 0x000061AC,
+ 9335: 0x0000619A,
+ 9336: 0x000061A4,
+ 9337: 0x00006194,
+ 9338: 0x000061AE,
+ 9339: 0x0000622E,
+ 9340: 0x00006469,
+ 9341: 0x0000646F,
+ 9342: 0x00006479,
+ 9343: 0x0000649E,
+ 9344: 0x000064B2,
+ 9345: 0x00006488,
+ 9346: 0x00006490,
+ 9347: 0x000064B0,
+ 9348: 0x000064A5,
+ 9349: 0x00006493,
+ 9350: 0x00006495,
+ 9351: 0x000064A9,
+ 9352: 0x00006492,
+ 9353: 0x000064AE,
+ 9354: 0x000064AD,
+ 9355: 0x000064AB,
+ 9356: 0x0000649A,
+ 9357: 0x000064AC,
+ 9358: 0x00006499,
+ 9359: 0x000064A2,
+ 9360: 0x000064B3,
+ 9361: 0x00006575,
+ 9362: 0x00006577,
+ 9363: 0x00006578,
+ 9364: 0x000066AE,
+ 9365: 0x000066AB,
+ 9366: 0x000066B4,
+ 9367: 0x000066B1,
+ 9368: 0x00006A23,
+ 9369: 0x00006A1F,
+ 9370: 0x000069E8,
+ 9371: 0x00006A01,
+ 9372: 0x00006A1E,
+ 9373: 0x00006A19,
+ 9374: 0x000069FD,
+ 9375: 0x00006A21,
+ 9376: 0x00006A13,
+ 9377: 0x00006A0A,
+ 9378: 0x000069F3,
+ 9379: 0x00006A02,
+ 9380: 0x00006A05,
+ 9381: 0x000069ED,
+ 9382: 0x00006A11,
+ 9383: 0x00006B50,
+ 9384: 0x00006B4E,
+ 9385: 0x00006BA4,
+ 9386: 0x00006BC5,
+ 9387: 0x00006BC6,
+ 9388: 0x00006F3F,
+ 9389: 0x00006F7C,
+ 9390: 0x00006F84,
+ 9391: 0x00006F51,
+ 9392: 0x00006F66,
+ 9393: 0x00006F54,
+ 9394: 0x00006F86,
+ 9395: 0x00006F6D,
+ 9396: 0x00006F5B,
+ 9397: 0x00006F78,
+ 9398: 0x00006F6E,
+ 9399: 0x00006F8E,
+ 9400: 0x00006F7A,
+ 9401: 0x00006F70,
+ 9402: 0x00006F64,
+ 9403: 0x00006F97,
+ 9404: 0x00006F58,
+ 9405: 0x00006ED5,
+ 9406: 0x00006F6F,
+ 9407: 0x00006F60,
+ 9408: 0x00006F5F,
+ 9409: 0x0000719F,
+ 9410: 0x000071AC,
+ 9411: 0x000071B1,
+ 9412: 0x000071A8,
+ 9413: 0x00007256,
+ 9414: 0x0000729B,
+ 9415: 0x0000734E,
+ 9416: 0x00007357,
+ 9417: 0x00007469,
+ 9418: 0x0000748B,
+ 9419: 0x00007483,
+ 9420: 0x0000747E,
+ 9421: 0x00007480,
+ 9422: 0x0000757F,
+ 9423: 0x00007620,
+ 9424: 0x00007629,
+ 9425: 0x0000761F,
+ 9426: 0x00007624,
+ 9427: 0x00007626,
+ 9428: 0x00007621,
+ 9429: 0x00007622,
+ 9430: 0x0000769A,
+ 9431: 0x000076BA,
+ 9432: 0x000076E4,
+ 9433: 0x0000778E,
+ 9434: 0x00007787,
+ 9435: 0x0000778C,
+ 9436: 0x00007791,
+ 9437: 0x0000778B,
+ 9438: 0x000078CB,
+ 9439: 0x000078C5,
+ 9440: 0x000078BA,
+ 9441: 0x000078CA,
+ 9442: 0x000078BE,
+ 9443: 0x000078D5,
+ 9444: 0x000078BC,
+ 9445: 0x000078D0,
+ 9446: 0x00007A3F,
+ 9447: 0x00007A3C,
+ 9448: 0x00007A40,
+ 9449: 0x00007A3D,
+ 9450: 0x00007A37,
+ 9451: 0x00007A3B,
+ 9452: 0x00007AAF,
+ 9453: 0x00007AAE,
+ 9454: 0x00007BAD,
+ 9455: 0x00007BB1,
+ 9456: 0x00007BC4,
+ 9457: 0x00007BB4,
+ 9458: 0x00007BC6,
+ 9459: 0x00007BC7,
+ 9460: 0x00007BC1,
+ 9461: 0x00007BA0,
+ 9462: 0x00007BCC,
+ 9463: 0x00007CCA,
+ 9464: 0x00007DE0,
+ 9465: 0x00007DF4,
+ 9466: 0x00007DEF,
+ 9467: 0x00007DFB,
+ 9468: 0x00007DD8,
+ 9469: 0x00007DEC,
+ 9470: 0x00007DDD,
+ 9471: 0x00007DE8,
+ 9472: 0x00007DE3,
+ 9473: 0x00007DDA,
+ 9474: 0x00007DDE,
+ 9475: 0x00007DE9,
+ 9476: 0x00007D9E,
+ 9477: 0x00007DD9,
+ 9478: 0x00007DF2,
+ 9479: 0x00007DF9,
+ 9480: 0x00007F75,
+ 9481: 0x00007F77,
+ 9482: 0x00007FAF,
+ 9483: 0x00007FE9,
+ 9484: 0x00008026,
+ 9485: 0x0000819B,
+ 9486: 0x0000819C,
+ 9487: 0x0000819D,
+ 9488: 0x000081A0,
+ 9489: 0x0000819A,
+ 9490: 0x00008198,
+ 9491: 0x00008517,
+ 9492: 0x0000853D,
+ 9493: 0x0000851A,
+ 9494: 0x000084EE,
+ 9495: 0x0000852C,
+ 9496: 0x0000852D,
+ 9497: 0x00008513,
+ 9498: 0x00008511,
+ 9499: 0x00008523,
+ 9500: 0x00008521,
+ 9501: 0x00008514,
+ 9502: 0x000084EC,
+ 9503: 0x00008525,
+ 9504: 0x000084FF,
+ 9505: 0x00008506,
+ 9506: 0x00008782,
+ 9507: 0x00008774,
+ 9508: 0x00008776,
+ 9509: 0x00008760,
+ 9510: 0x00008766,
+ 9511: 0x00008778,
+ 9512: 0x00008768,
+ 9513: 0x00008759,
+ 9514: 0x00008757,
+ 9515: 0x0000874C,
+ 9516: 0x00008753,
+ 9517: 0x0000885B,
+ 9518: 0x0000885D,
+ 9519: 0x00008910,
+ 9520: 0x00008907,
+ 9521: 0x00008912,
+ 9522: 0x00008913,
+ 9523: 0x00008915,
+ 9524: 0x0000890A,
+ 9525: 0x00008ABC,
+ 9526: 0x00008AD2,
+ 9527: 0x00008AC7,
+ 9528: 0x00008AC4,
+ 9529: 0x00008A95,
+ 9530: 0x00008ACB,
+ 9531: 0x00008AF8,
+ 9532: 0x00008AB2,
+ 9533: 0x00008AC9,
+ 9534: 0x00008AC2,
+ 9535: 0x00008ABF,
+ 9536: 0x00008AB0,
+ 9537: 0x00008AD6,
+ 9538: 0x00008ACD,
+ 9539: 0x00008AB6,
+ 9540: 0x00008AB9,
+ 9541: 0x00008ADB,
+ 9542: 0x00008C4C,
+ 9543: 0x00008C4E,
+ 9544: 0x00008C6C,
+ 9545: 0x00008CE0,
+ 9546: 0x00008CDE,
+ 9547: 0x00008CE6,
+ 9548: 0x00008CE4,
+ 9549: 0x00008CEC,
+ 9550: 0x00008CED,
+ 9551: 0x00008CE2,
+ 9552: 0x00008CE3,
+ 9553: 0x00008CDC,
+ 9554: 0x00008CEA,
+ 9555: 0x00008CE1,
+ 9556: 0x00008D6D,
+ 9557: 0x00008D9F,
+ 9558: 0x00008DA3,
+ 9559: 0x00008E2B,
+ 9560: 0x00008E10,
+ 9561: 0x00008E1D,
+ 9562: 0x00008E22,
+ 9563: 0x00008E0F,
+ 9564: 0x00008E29,
+ 9565: 0x00008E1F,
+ 9566: 0x00008E21,
+ 9567: 0x00008E1E,
+ 9568: 0x00008EBA,
+ 9569: 0x00008F1D,
+ 9570: 0x00008F1B,
+ 9571: 0x00008F1F,
+ 9572: 0x00008F29,
+ 9573: 0x00008F26,
+ 9574: 0x00008F2A,
+ 9575: 0x00008F1C,
+ 9576: 0x00008F1E,
+ 9577: 0x00008F25,
+ 9578: 0x00009069,
+ 9579: 0x0000906E,
+ 9580: 0x00009068,
+ 9581: 0x0000906D,
+ 9582: 0x00009077,
+ 9583: 0x00009130,
+ 9584: 0x0000912D,
+ 9585: 0x00009127,
+ 9586: 0x00009131,
+ 9587: 0x00009187,
+ 9588: 0x00009189,
+ 9589: 0x0000918B,
+ 9590: 0x00009183,
+ 9591: 0x000092C5,
+ 9592: 0x000092BB,
+ 9593: 0x000092B7,
+ 9594: 0x000092EA,
+ 9595: 0x000092AC,
+ 9596: 0x000092E4,
+ 9597: 0x000092C1,
+ 9598: 0x000092B3,
+ 9599: 0x000092BC,
+ 9600: 0x000092D2,
+ 9601: 0x000092C7,
+ 9602: 0x000092F0,
+ 9603: 0x000092B2,
+ 9604: 0x000095AD,
+ 9605: 0x000095B1,
+ 9606: 0x00009704,
+ 9607: 0x00009706,
+ 9608: 0x00009707,
+ 9609: 0x00009709,
+ 9610: 0x00009760,
+ 9611: 0x0000978D,
+ 9612: 0x0000978B,
+ 9613: 0x0000978F,
+ 9614: 0x00009821,
+ 9615: 0x0000982B,
+ 9616: 0x0000981C,
+ 9617: 0x000098B3,
+ 9618: 0x0000990A,
+ 9619: 0x00009913,
+ 9620: 0x00009912,
+ 9621: 0x00009918,
+ 9622: 0x000099DD,
+ 9623: 0x000099D0,
+ 9624: 0x000099DF,
+ 9625: 0x000099DB,
+ 9626: 0x000099D1,
+ 9627: 0x000099D5,
+ 9628: 0x000099D2,
+ 9629: 0x000099D9,
+ 9630: 0x00009AB7,
+ 9631: 0x00009AEE,
+ 9632: 0x00009AEF,
+ 9633: 0x00009B27,
+ 9634: 0x00009B45,
+ 9635: 0x00009B44,
+ 9636: 0x00009B77,
+ 9637: 0x00009B6F,
+ 9638: 0x00009D06,
+ 9639: 0x00009D09,
+ 9640: 0x00009D03,
+ 9641: 0x00009EA9,
+ 9642: 0x00009EBE,
+ 9643: 0x00009ECE,
+ 9644: 0x000058A8,
+ 9645: 0x00009F52,
+ 9646: 0x00005112,
+ 9647: 0x00005118,
+ 9648: 0x00005114,
+ 9649: 0x00005110,
+ 9650: 0x00005115,
+ 9651: 0x00005180,
+ 9652: 0x000051AA,
+ 9653: 0x000051DD,
+ 9654: 0x00005291,
+ 9655: 0x00005293,
+ 9656: 0x000052F3,
+ 9657: 0x00005659,
+ 9658: 0x0000566B,
+ 9659: 0x00005679,
+ 9660: 0x00005669,
+ 9661: 0x00005664,
+ 9662: 0x00005678,
+ 9663: 0x0000566A,
+ 9664: 0x00005668,
+ 9665: 0x00005665,
+ 9666: 0x00005671,
+ 9667: 0x0000566F,
+ 9668: 0x0000566C,
+ 9669: 0x00005662,
+ 9670: 0x00005676,
+ 9671: 0x000058C1,
+ 9672: 0x000058BE,
+ 9673: 0x000058C7,
+ 9674: 0x000058C5,
+ 9675: 0x0000596E,
+ 9676: 0x00005B1D,
+ 9677: 0x00005B34,
+ 9678: 0x00005B78,
+ 9679: 0x00005BF0,
+ 9680: 0x00005C0E,
+ 9681: 0x00005F4A,
+ 9682: 0x000061B2,
+ 9683: 0x00006191,
+ 9684: 0x000061A9,
+ 9685: 0x0000618A,
+ 9686: 0x000061CD,
+ 9687: 0x000061B6,
+ 9688: 0x000061BE,
+ 9689: 0x000061CA,
+ 9690: 0x000061C8,
+ 9691: 0x00006230,
+ 9692: 0x000064C5,
+ 9693: 0x000064C1,
+ 9694: 0x000064CB,
+ 9695: 0x000064BB,
+ 9696: 0x000064BC,
+ 9697: 0x000064DA,
+ 9698: 0x000064C4,
+ 9699: 0x000064C7,
+ 9700: 0x000064C2,
+ 9701: 0x000064CD,
+ 9702: 0x000064BF,
+ 9703: 0x000064D2,
+ 9704: 0x000064D4,
+ 9705: 0x000064BE,
+ 9706: 0x00006574,
+ 9707: 0x000066C6,
+ 9708: 0x000066C9,
+ 9709: 0x000066B9,
+ 9710: 0x000066C4,
+ 9711: 0x000066C7,
+ 9712: 0x000066B8,
+ 9713: 0x00006A3D,
+ 9714: 0x00006A38,
+ 9715: 0x00006A3A,
+ 9716: 0x00006A59,
+ 9717: 0x00006A6B,
+ 9718: 0x00006A58,
+ 9719: 0x00006A39,
+ 9720: 0x00006A44,
+ 9721: 0x00006A62,
+ 9722: 0x00006A61,
+ 9723: 0x00006A4B,
+ 9724: 0x00006A47,
+ 9725: 0x00006A35,
+ 9726: 0x00006A5F,
+ 9727: 0x00006A48,
+ 9728: 0x00006B59,
+ 9729: 0x00006B77,
+ 9730: 0x00006C05,
+ 9731: 0x00006FC2,
+ 9732: 0x00006FB1,
+ 9733: 0x00006FA1,
+ 9734: 0x00006FC3,
+ 9735: 0x00006FA4,
+ 9736: 0x00006FC1,
+ 9737: 0x00006FA7,
+ 9738: 0x00006FB3,
+ 9739: 0x00006FC0,
+ 9740: 0x00006FB9,
+ 9741: 0x00006FB6,
+ 9742: 0x00006FA6,
+ 9743: 0x00006FA0,
+ 9744: 0x00006FB4,
+ 9745: 0x000071BE,
+ 9746: 0x000071C9,
+ 9747: 0x000071D0,
+ 9748: 0x000071D2,
+ 9749: 0x000071C8,
+ 9750: 0x000071D5,
+ 9751: 0x000071B9,
+ 9752: 0x000071CE,
+ 9753: 0x000071D9,
+ 9754: 0x000071DC,
+ 9755: 0x000071C3,
+ 9756: 0x000071C4,
+ 9757: 0x00007368,
+ 9758: 0x0000749C,
+ 9759: 0x000074A3,
+ 9760: 0x00007498,
+ 9761: 0x0000749F,
+ 9762: 0x0000749E,
+ 9763: 0x000074E2,
+ 9764: 0x0000750C,
+ 9765: 0x0000750D,
+ 9766: 0x00007634,
+ 9767: 0x00007638,
+ 9768: 0x0000763A,
+ 9769: 0x000076E7,
+ 9770: 0x000076E5,
+ 9771: 0x000077A0,
+ 9772: 0x0000779E,
+ 9773: 0x0000779F,
+ 9774: 0x000077A5,
+ 9775: 0x000078E8,
+ 9776: 0x000078DA,
+ 9777: 0x000078EC,
+ 9778: 0x000078E7,
+ 9779: 0x000079A6,
+ 9780: 0x00007A4D,
+ 9781: 0x00007A4E,
+ 9782: 0x00007A46,
+ 9783: 0x00007A4C,
+ 9784: 0x00007A4B,
+ 9785: 0x00007ABA,
+ 9786: 0x00007BD9,
+ 9787: 0x00007C11,
+ 9788: 0x00007BC9,
+ 9789: 0x00007BE4,
+ 9790: 0x00007BDB,
+ 9791: 0x00007BE1,
+ 9792: 0x00007BE9,
+ 9793: 0x00007BE6,
+ 9794: 0x00007CD5,
+ 9795: 0x00007CD6,
+ 9796: 0x00007E0A,
+ 9797: 0x00007E11,
+ 9798: 0x00007E08,
+ 9799: 0x00007E1B,
+ 9800: 0x00007E23,
+ 9801: 0x00007E1E,
+ 9802: 0x00007E1D,
+ 9803: 0x00007E09,
+ 9804: 0x00007E10,
+ 9805: 0x00007F79,
+ 9806: 0x00007FB2,
+ 9807: 0x00007FF0,
+ 9808: 0x00007FF1,
+ 9809: 0x00007FEE,
+ 9810: 0x00008028,
+ 9811: 0x000081B3,
+ 9812: 0x000081A9,
+ 9813: 0x000081A8,
+ 9814: 0x000081FB,
+ 9815: 0x00008208,
+ 9816: 0x00008258,
+ 9817: 0x00008259,
+ 9818: 0x0000854A,
+ 9819: 0x00008559,
+ 9820: 0x00008548,
+ 9821: 0x00008568,
+ 9822: 0x00008569,
+ 9823: 0x00008543,
+ 9824: 0x00008549,
+ 9825: 0x0000856D,
+ 9826: 0x0000856A,
+ 9827: 0x0000855E,
+ 9828: 0x00008783,
+ 9829: 0x0000879F,
+ 9830: 0x0000879E,
+ 9831: 0x000087A2,
+ 9832: 0x0000878D,
+ 9833: 0x00008861,
+ 9834: 0x0000892A,
+ 9835: 0x00008932,
+ 9836: 0x00008925,
+ 9837: 0x0000892B,
+ 9838: 0x00008921,
+ 9839: 0x000089AA,
+ 9840: 0x000089A6,
+ 9841: 0x00008AE6,
+ 9842: 0x00008AFA,
+ 9843: 0x00008AEB,
+ 9844: 0x00008AF1,
+ 9845: 0x00008B00,
+ 9846: 0x00008ADC,
+ 9847: 0x00008AE7,
+ 9848: 0x00008AEE,
+ 9849: 0x00008AFE,
+ 9850: 0x00008B01,
+ 9851: 0x00008B02,
+ 9852: 0x00008AF7,
+ 9853: 0x00008AED,
+ 9854: 0x00008AF3,
+ 9855: 0x00008AF6,
+ 9856: 0x00008AFC,
+ 9857: 0x00008C6B,
+ 9858: 0x00008C6D,
+ 9859: 0x00008C93,
+ 9860: 0x00008CF4,
+ 9861: 0x00008E44,
+ 9862: 0x00008E31,
+ 9863: 0x00008E34,
+ 9864: 0x00008E42,
+ 9865: 0x00008E39,
+ 9866: 0x00008E35,
+ 9867: 0x00008F3B,
+ 9868: 0x00008F2F,
+ 9869: 0x00008F38,
+ 9870: 0x00008F33,
+ 9871: 0x00008FA8,
+ 9872: 0x00008FA6,
+ 9873: 0x00009075,
+ 9874: 0x00009074,
+ 9875: 0x00009078,
+ 9876: 0x00009072,
+ 9877: 0x0000907C,
+ 9878: 0x0000907A,
+ 9879: 0x00009134,
+ 9880: 0x00009192,
+ 9881: 0x00009320,
+ 9882: 0x00009336,
+ 9883: 0x000092F8,
+ 9884: 0x00009333,
+ 9885: 0x0000932F,
+ 9886: 0x00009322,
+ 9887: 0x000092FC,
+ 9888: 0x0000932B,
+ 9889: 0x00009304,
+ 9890: 0x0000931A,
+ 9891: 0x00009310,
+ 9892: 0x00009326,
+ 9893: 0x00009321,
+ 9894: 0x00009315,
+ 9895: 0x0000932E,
+ 9896: 0x00009319,
+ 9897: 0x000095BB,
+ 9898: 0x000096A7,
+ 9899: 0x000096A8,
+ 9900: 0x000096AA,
+ 9901: 0x000096D5,
+ 9902: 0x0000970E,
+ 9903: 0x00009711,
+ 9904: 0x00009716,
+ 9905: 0x0000970D,
+ 9906: 0x00009713,
+ 9907: 0x0000970F,
+ 9908: 0x0000975B,
+ 9909: 0x0000975C,
+ 9910: 0x00009766,
+ 9911: 0x00009798,
+ 9912: 0x00009830,
+ 9913: 0x00009838,
+ 9914: 0x0000983B,
+ 9915: 0x00009837,
+ 9916: 0x0000982D,
+ 9917: 0x00009839,
+ 9918: 0x00009824,
+ 9919: 0x00009910,
+ 9920: 0x00009928,
+ 9921: 0x0000991E,
+ 9922: 0x0000991B,
+ 9923: 0x00009921,
+ 9924: 0x0000991A,
+ 9925: 0x000099ED,
+ 9926: 0x000099E2,
+ 9927: 0x000099F1,
+ 9928: 0x00009AB8,
+ 9929: 0x00009ABC,
+ 9930: 0x00009AFB,
+ 9931: 0x00009AED,
+ 9932: 0x00009B28,
+ 9933: 0x00009B91,
+ 9934: 0x00009D15,
+ 9935: 0x00009D23,
+ 9936: 0x00009D26,
+ 9937: 0x00009D28,
+ 9938: 0x00009D12,
+ 9939: 0x00009D1B,
+ 9940: 0x00009ED8,
+ 9941: 0x00009ED4,
+ 9942: 0x00009F8D,
+ 9943: 0x00009F9C,
+ 9944: 0x0000512A,
+ 9945: 0x0000511F,
+ 9946: 0x00005121,
+ 9947: 0x00005132,
+ 9948: 0x000052F5,
+ 9949: 0x0000568E,
+ 9950: 0x00005680,
+ 9951: 0x00005690,
+ 9952: 0x00005685,
+ 9953: 0x00005687,
+ 9954: 0x0000568F,
+ 9955: 0x000058D5,
+ 9956: 0x000058D3,
+ 9957: 0x000058D1,
+ 9958: 0x000058CE,
+ 9959: 0x00005B30,
+ 9960: 0x00005B2A,
+ 9961: 0x00005B24,
+ 9962: 0x00005B7A,
+ 9963: 0x00005C37,
+ 9964: 0x00005C68,
+ 9965: 0x00005DBC,
+ 9966: 0x00005DBA,
+ 9967: 0x00005DBD,
+ 9968: 0x00005DB8,
+ 9969: 0x00005E6B,
+ 9970: 0x00005F4C,
+ 9971: 0x00005FBD,
+ 9972: 0x000061C9,
+ 9973: 0x000061C2,
+ 9974: 0x000061C7,
+ 9975: 0x000061E6,
+ 9976: 0x000061CB,
+ 9977: 0x00006232,
+ 9978: 0x00006234,
+ 9979: 0x000064CE,
+ 9980: 0x000064CA,
+ 9981: 0x000064D8,
+ 9982: 0x000064E0,
+ 9983: 0x000064F0,
+ 9984: 0x000064E6,
+ 9985: 0x000064EC,
+ 9986: 0x000064F1,
+ 9987: 0x000064E2,
+ 9988: 0x000064ED,
+ 9989: 0x00006582,
+ 9990: 0x00006583,
+ 9991: 0x000066D9,
+ 9992: 0x000066D6,
+ 9993: 0x00006A80,
+ 9994: 0x00006A94,
+ 9995: 0x00006A84,
+ 9996: 0x00006AA2,
+ 9997: 0x00006A9C,
+ 9998: 0x00006ADB,
+ 9999: 0x00006AA3,
+ 10000: 0x00006A7E,
+ 10001: 0x00006A97,
+ 10002: 0x00006A90,
+ 10003: 0x00006AA0,
+ 10004: 0x00006B5C,
+ 10005: 0x00006BAE,
+ 10006: 0x00006BDA,
+ 10007: 0x00006C08,
+ 10008: 0x00006FD8,
+ 10009: 0x00006FF1,
+ 10010: 0x00006FDF,
+ 10011: 0x00006FE0,
+ 10012: 0x00006FDB,
+ 10013: 0x00006FE4,
+ 10014: 0x00006FEB,
+ 10015: 0x00006FEF,
+ 10016: 0x00006F80,
+ 10017: 0x00006FEC,
+ 10018: 0x00006FE1,
+ 10019: 0x00006FE9,
+ 10020: 0x00006FD5,
+ 10021: 0x00006FEE,
+ 10022: 0x00006FF0,
+ 10023: 0x000071E7,
+ 10024: 0x000071DF,
+ 10025: 0x000071EE,
+ 10026: 0x000071E6,
+ 10027: 0x000071E5,
+ 10028: 0x000071ED,
+ 10029: 0x000071EC,
+ 10030: 0x000071F4,
+ 10031: 0x000071E0,
+ 10032: 0x00007235,
+ 10033: 0x00007246,
+ 10034: 0x00007370,
+ 10035: 0x00007372,
+ 10036: 0x000074A9,
+ 10037: 0x000074B0,
+ 10038: 0x000074A6,
+ 10039: 0x000074A8,
+ 10040: 0x00007646,
+ 10041: 0x00007642,
+ 10042: 0x0000764C,
+ 10043: 0x000076EA,
+ 10044: 0x000077B3,
+ 10045: 0x000077AA,
+ 10046: 0x000077B0,
+ 10047: 0x000077AC,
+ 10048: 0x000077A7,
+ 10049: 0x000077AD,
+ 10050: 0x000077EF,
+ 10051: 0x000078F7,
+ 10052: 0x000078FA,
+ 10053: 0x000078F4,
+ 10054: 0x000078EF,
+ 10055: 0x00007901,
+ 10056: 0x000079A7,
+ 10057: 0x000079AA,
+ 10058: 0x00007A57,
+ 10059: 0x00007ABF,
+ 10060: 0x00007C07,
+ 10061: 0x00007C0D,
+ 10062: 0x00007BFE,
+ 10063: 0x00007BF7,
+ 10064: 0x00007C0C,
+ 10065: 0x00007BE0,
+ 10066: 0x00007CE0,
+ 10067: 0x00007CDC,
+ 10068: 0x00007CDE,
+ 10069: 0x00007CE2,
+ 10070: 0x00007CDF,
+ 10071: 0x00007CD9,
+ 10072: 0x00007CDD,
+ 10073: 0x00007E2E,
+ 10074: 0x00007E3E,
+ 10075: 0x00007E46,
+ 10076: 0x00007E37,
+ 10077: 0x00007E32,
+ 10078: 0x00007E43,
+ 10079: 0x00007E2B,
+ 10080: 0x00007E3D,
+ 10081: 0x00007E31,
+ 10082: 0x00007E45,
+ 10083: 0x00007E41,
+ 10084: 0x00007E34,
+ 10085: 0x00007E39,
+ 10086: 0x00007E48,
+ 10087: 0x00007E35,
+ 10088: 0x00007E3F,
+ 10089: 0x00007E2F,
+ 10090: 0x00007F44,
+ 10091: 0x00007FF3,
+ 10092: 0x00007FFC,
+ 10093: 0x00008071,
+ 10094: 0x00008072,
+ 10095: 0x00008070,
+ 10096: 0x0000806F,
+ 10097: 0x00008073,
+ 10098: 0x000081C6,
+ 10099: 0x000081C3,
+ 10100: 0x000081BA,
+ 10101: 0x000081C2,
+ 10102: 0x000081C0,
+ 10103: 0x000081BF,
+ 10104: 0x000081BD,
+ 10105: 0x000081C9,
+ 10106: 0x000081BE,
+ 10107: 0x000081E8,
+ 10108: 0x00008209,
+ 10109: 0x00008271,
+ 10110: 0x000085AA,
+ 10111: 0x00008584,
+ 10112: 0x0000857E,
+ 10113: 0x0000859C,
+ 10114: 0x00008591,
+ 10115: 0x00008594,
+ 10116: 0x000085AF,
+ 10117: 0x0000859B,
+ 10118: 0x00008587,
+ 10119: 0x000085A8,
+ 10120: 0x0000858A,
+ 10121: 0x00008667,
+ 10122: 0x000087C0,
+ 10123: 0x000087D1,
+ 10124: 0x000087B3,
+ 10125: 0x000087D2,
+ 10126: 0x000087C6,
+ 10127: 0x000087AB,
+ 10128: 0x000087BB,
+ 10129: 0x000087BA,
+ 10130: 0x000087C8,
+ 10131: 0x000087CB,
+ 10132: 0x0000893B,
+ 10133: 0x00008936,
+ 10134: 0x00008944,
+ 10135: 0x00008938,
+ 10136: 0x0000893D,
+ 10137: 0x000089AC,
+ 10138: 0x00008B0E,
+ 10139: 0x00008B17,
+ 10140: 0x00008B19,
+ 10141: 0x00008B1B,
+ 10142: 0x00008B0A,
+ 10143: 0x00008B20,
+ 10144: 0x00008B1D,
+ 10145: 0x00008B04,
+ 10146: 0x00008B10,
+ 10147: 0x00008C41,
+ 10148: 0x00008C3F,
+ 10149: 0x00008C73,
+ 10150: 0x00008CFA,
+ 10151: 0x00008CFD,
+ 10152: 0x00008CFC,
+ 10153: 0x00008CF8,
+ 10154: 0x00008CFB,
+ 10155: 0x00008DA8,
+ 10156: 0x00008E49,
+ 10157: 0x00008E4B,
+ 10158: 0x00008E48,
+ 10159: 0x00008E4A,
+ 10160: 0x00008F44,
+ 10161: 0x00008F3E,
+ 10162: 0x00008F42,
+ 10163: 0x00008F45,
+ 10164: 0x00008F3F,
+ 10165: 0x0000907F,
+ 10166: 0x0000907D,
+ 10167: 0x00009084,
+ 10168: 0x00009081,
+ 10169: 0x00009082,
+ 10170: 0x00009080,
+ 10171: 0x00009139,
+ 10172: 0x000091A3,
+ 10173: 0x0000919E,
+ 10174: 0x0000919C,
+ 10175: 0x0000934D,
+ 10176: 0x00009382,
+ 10177: 0x00009328,
+ 10178: 0x00009375,
+ 10179: 0x0000934A,
+ 10180: 0x00009365,
+ 10181: 0x0000934B,
+ 10182: 0x00009318,
+ 10183: 0x0000937E,
+ 10184: 0x0000936C,
+ 10185: 0x0000935B,
+ 10186: 0x00009370,
+ 10187: 0x0000935A,
+ 10188: 0x00009354,
+ 10189: 0x000095CA,
+ 10190: 0x000095CB,
+ 10191: 0x000095CC,
+ 10192: 0x000095C8,
+ 10193: 0x000095C6,
+ 10194: 0x000096B1,
+ 10195: 0x000096B8,
+ 10196: 0x000096D6,
+ 10197: 0x0000971C,
+ 10198: 0x0000971E,
+ 10199: 0x000097A0,
+ 10200: 0x000097D3,
+ 10201: 0x00009846,
+ 10202: 0x000098B6,
+ 10203: 0x00009935,
+ 10204: 0x00009A01,
+ 10205: 0x000099FF,
+ 10206: 0x00009BAE,
+ 10207: 0x00009BAB,
+ 10208: 0x00009BAA,
+ 10209: 0x00009BAD,
+ 10210: 0x00009D3B,
+ 10211: 0x00009D3F,
+ 10212: 0x00009E8B,
+ 10213: 0x00009ECF,
+ 10214: 0x00009EDE,
+ 10215: 0x00009EDC,
+ 10216: 0x00009EDD,
+ 10217: 0x00009EDB,
+ 10218: 0x00009F3E,
+ 10219: 0x00009F4B,
+ 10220: 0x000053E2,
+ 10221: 0x00005695,
+ 10222: 0x000056AE,
+ 10223: 0x000058D9,
+ 10224: 0x000058D8,
+ 10225: 0x00005B38,
+ 10226: 0x00005F5D,
+ 10227: 0x000061E3,
+ 10228: 0x00006233,
+ 10229: 0x000064F4,
+ 10230: 0x000064F2,
+ 10231: 0x000064FE,
+ 10232: 0x00006506,
+ 10233: 0x000064FA,
+ 10234: 0x000064FB,
+ 10235: 0x000064F7,
+ 10236: 0x000065B7,
+ 10237: 0x000066DC,
+ 10238: 0x00006726,
+ 10239: 0x00006AB3,
+ 10240: 0x00006AAC,
+ 10241: 0x00006AC3,
+ 10242: 0x00006ABB,
+ 10243: 0x00006AB8,
+ 10244: 0x00006AC2,
+ 10245: 0x00006AAE,
+ 10246: 0x00006AAF,
+ 10247: 0x00006B5F,
+ 10248: 0x00006B78,
+ 10249: 0x00006BAF,
+ 10250: 0x00007009,
+ 10251: 0x0000700B,
+ 10252: 0x00006FFE,
+ 10253: 0x00007006,
+ 10254: 0x00006FFA,
+ 10255: 0x00007011,
+ 10256: 0x0000700F,
+ 10257: 0x000071FB,
+ 10258: 0x000071FC,
+ 10259: 0x000071FE,
+ 10260: 0x000071F8,
+ 10261: 0x00007377,
+ 10262: 0x00007375,
+ 10263: 0x000074A7,
+ 10264: 0x000074BF,
+ 10265: 0x00007515,
+ 10266: 0x00007656,
+ 10267: 0x00007658,
+ 10268: 0x00007652,
+ 10269: 0x000077BD,
+ 10270: 0x000077BF,
+ 10271: 0x000077BB,
+ 10272: 0x000077BC,
+ 10273: 0x0000790E,
+ 10274: 0x000079AE,
+ 10275: 0x00007A61,
+ 10276: 0x00007A62,
+ 10277: 0x00007A60,
+ 10278: 0x00007AC4,
+ 10279: 0x00007AC5,
+ 10280: 0x00007C2B,
+ 10281: 0x00007C27,
+ 10282: 0x00007C2A,
+ 10283: 0x00007C1E,
+ 10284: 0x00007C23,
+ 10285: 0x00007C21,
+ 10286: 0x00007CE7,
+ 10287: 0x00007E54,
+ 10288: 0x00007E55,
+ 10289: 0x00007E5E,
+ 10290: 0x00007E5A,
+ 10291: 0x00007E61,
+ 10292: 0x00007E52,
+ 10293: 0x00007E59,
+ 10294: 0x00007F48,
+ 10295: 0x00007FF9,
+ 10296: 0x00007FFB,
+ 10297: 0x00008077,
+ 10298: 0x00008076,
+ 10299: 0x000081CD,
+ 10300: 0x000081CF,
+ 10301: 0x0000820A,
+ 10302: 0x000085CF,
+ 10303: 0x000085A9,
+ 10304: 0x000085CD,
+ 10305: 0x000085D0,
+ 10306: 0x000085C9,
+ 10307: 0x000085B0,
+ 10308: 0x000085BA,
+ 10309: 0x000085B9,
+ 10310: 0x000085A6,
+ 10311: 0x000087EF,
+ 10312: 0x000087EC,
+ 10313: 0x000087F2,
+ 10314: 0x000087E0,
+ 10315: 0x00008986,
+ 10316: 0x000089B2,
+ 10317: 0x000089F4,
+ 10318: 0x00008B28,
+ 10319: 0x00008B39,
+ 10320: 0x00008B2C,
+ 10321: 0x00008B2B,
+ 10322: 0x00008C50,
+ 10323: 0x00008D05,
+ 10324: 0x00008E59,
+ 10325: 0x00008E63,
+ 10326: 0x00008E66,
+ 10327: 0x00008E64,
+ 10328: 0x00008E5F,
+ 10329: 0x00008E55,
+ 10330: 0x00008EC0,
+ 10331: 0x00008F49,
+ 10332: 0x00008F4D,
+ 10333: 0x00009087,
+ 10334: 0x00009083,
+ 10335: 0x00009088,
+ 10336: 0x000091AB,
+ 10337: 0x000091AC,
+ 10338: 0x000091D0,
+ 10339: 0x00009394,
+ 10340: 0x0000938A,
+ 10341: 0x00009396,
+ 10342: 0x000093A2,
+ 10343: 0x000093B3,
+ 10344: 0x000093AE,
+ 10345: 0x000093AC,
+ 10346: 0x000093B0,
+ 10347: 0x00009398,
+ 10348: 0x0000939A,
+ 10349: 0x00009397,
+ 10350: 0x000095D4,
+ 10351: 0x000095D6,
+ 10352: 0x000095D0,
+ 10353: 0x000095D5,
+ 10354: 0x000096E2,
+ 10355: 0x000096DC,
+ 10356: 0x000096D9,
+ 10357: 0x000096DB,
+ 10358: 0x000096DE,
+ 10359: 0x00009724,
+ 10360: 0x000097A3,
+ 10361: 0x000097A6,
+ 10362: 0x000097AD,
+ 10363: 0x000097F9,
+ 10364: 0x0000984D,
+ 10365: 0x0000984F,
+ 10366: 0x0000984C,
+ 10367: 0x0000984E,
+ 10368: 0x00009853,
+ 10369: 0x000098BA,
+ 10370: 0x0000993E,
+ 10371: 0x0000993F,
+ 10372: 0x0000993D,
+ 10373: 0x0000992E,
+ 10374: 0x000099A5,
+ 10375: 0x00009A0E,
+ 10376: 0x00009AC1,
+ 10377: 0x00009B03,
+ 10378: 0x00009B06,
+ 10379: 0x00009B4F,
+ 10380: 0x00009B4E,
+ 10381: 0x00009B4D,
+ 10382: 0x00009BCA,
+ 10383: 0x00009BC9,
+ 10384: 0x00009BFD,
+ 10385: 0x00009BC8,
+ 10386: 0x00009BC0,
+ 10387: 0x00009D51,
+ 10388: 0x00009D5D,
+ 10389: 0x00009D60,
+ 10390: 0x00009EE0,
+ 10391: 0x00009F15,
+ 10392: 0x00009F2C,
+ 10393: 0x00005133,
+ 10394: 0x000056A5,
+ 10395: 0x000058DE,
+ 10396: 0x000058DF,
+ 10397: 0x000058E2,
+ 10398: 0x00005BF5,
+ 10399: 0x00009F90,
+ 10400: 0x00005EEC,
+ 10401: 0x000061F2,
+ 10402: 0x000061F7,
+ 10403: 0x000061F6,
+ 10404: 0x000061F5,
+ 10405: 0x00006500,
+ 10406: 0x0000650F,
+ 10407: 0x000066E0,
+ 10408: 0x000066DD,
+ 10409: 0x00006AE5,
+ 10410: 0x00006ADD,
+ 10411: 0x00006ADA,
+ 10412: 0x00006AD3,
+ 10413: 0x0000701B,
+ 10414: 0x0000701F,
+ 10415: 0x00007028,
+ 10416: 0x0000701A,
+ 10417: 0x0000701D,
+ 10418: 0x00007015,
+ 10419: 0x00007018,
+ 10420: 0x00007206,
+ 10421: 0x0000720D,
+ 10422: 0x00007258,
+ 10423: 0x000072A2,
+ 10424: 0x00007378,
+ 10425: 0x0000737A,
+ 10426: 0x000074BD,
+ 10427: 0x000074CA,
+ 10428: 0x000074E3,
+ 10429: 0x00007587,
+ 10430: 0x00007586,
+ 10431: 0x0000765F,
+ 10432: 0x00007661,
+ 10433: 0x000077C7,
+ 10434: 0x00007919,
+ 10435: 0x000079B1,
+ 10436: 0x00007A6B,
+ 10437: 0x00007A69,
+ 10438: 0x00007C3E,
+ 10439: 0x00007C3F,
+ 10440: 0x00007C38,
+ 10441: 0x00007C3D,
+ 10442: 0x00007C37,
+ 10443: 0x00007C40,
+ 10444: 0x00007E6B,
+ 10445: 0x00007E6D,
+ 10446: 0x00007E79,
+ 10447: 0x00007E69,
+ 10448: 0x00007E6A,
+ 10449: 0x00007F85,
+ 10450: 0x00007E73,
+ 10451: 0x00007FB6,
+ 10452: 0x00007FB9,
+ 10453: 0x00007FB8,
+ 10454: 0x000081D8,
+ 10455: 0x000085E9,
+ 10456: 0x000085DD,
+ 10457: 0x000085EA,
+ 10458: 0x000085D5,
+ 10459: 0x000085E4,
+ 10460: 0x000085E5,
+ 10461: 0x000085F7,
+ 10462: 0x000087FB,
+ 10463: 0x00008805,
+ 10464: 0x0000880D,
+ 10465: 0x000087F9,
+ 10466: 0x000087FE,
+ 10467: 0x00008960,
+ 10468: 0x0000895F,
+ 10469: 0x00008956,
+ 10470: 0x0000895E,
+ 10471: 0x00008B41,
+ 10472: 0x00008B5C,
+ 10473: 0x00008B58,
+ 10474: 0x00008B49,
+ 10475: 0x00008B5A,
+ 10476: 0x00008B4E,
+ 10477: 0x00008B4F,
+ 10478: 0x00008B46,
+ 10479: 0x00008B59,
+ 10480: 0x00008D08,
+ 10481: 0x00008D0A,
+ 10482: 0x00008E7C,
+ 10483: 0x00008E72,
+ 10484: 0x00008E87,
+ 10485: 0x00008E76,
+ 10486: 0x00008E6C,
+ 10487: 0x00008E7A,
+ 10488: 0x00008E74,
+ 10489: 0x00008F54,
+ 10490: 0x00008F4E,
+ 10491: 0x00008FAD,
+ 10492: 0x0000908A,
+ 10493: 0x0000908B,
+ 10494: 0x000091B1,
+ 10495: 0x000091AE,
+ 10496: 0x000093E1,
+ 10497: 0x000093D1,
+ 10498: 0x000093DF,
+ 10499: 0x000093C3,
+ 10500: 0x000093C8,
+ 10501: 0x000093DC,
+ 10502: 0x000093DD,
+ 10503: 0x000093D6,
+ 10504: 0x000093E2,
+ 10505: 0x000093CD,
+ 10506: 0x000093D8,
+ 10507: 0x000093E4,
+ 10508: 0x000093D7,
+ 10509: 0x000093E8,
+ 10510: 0x000095DC,
+ 10511: 0x000096B4,
+ 10512: 0x000096E3,
+ 10513: 0x0000972A,
+ 10514: 0x00009727,
+ 10515: 0x00009761,
+ 10516: 0x000097DC,
+ 10517: 0x000097FB,
+ 10518: 0x0000985E,
+ 10519: 0x00009858,
+ 10520: 0x0000985B,
+ 10521: 0x000098BC,
+ 10522: 0x00009945,
+ 10523: 0x00009949,
+ 10524: 0x00009A16,
+ 10525: 0x00009A19,
+ 10526: 0x00009B0D,
+ 10527: 0x00009BE8,
+ 10528: 0x00009BE7,
+ 10529: 0x00009BD6,
+ 10530: 0x00009BDB,
+ 10531: 0x00009D89,
+ 10532: 0x00009D61,
+ 10533: 0x00009D72,
+ 10534: 0x00009D6A,
+ 10535: 0x00009D6C,
+ 10536: 0x00009E92,
+ 10537: 0x00009E97,
+ 10538: 0x00009E93,
+ 10539: 0x00009EB4,
+ 10540: 0x000052F8,
+ 10541: 0x000056A8,
+ 10542: 0x000056B7,
+ 10543: 0x000056B6,
+ 10544: 0x000056B4,
+ 10545: 0x000056BC,
+ 10546: 0x000058E4,
+ 10547: 0x00005B40,
+ 10548: 0x00005B43,
+ 10549: 0x00005B7D,
+ 10550: 0x00005BF6,
+ 10551: 0x00005DC9,
+ 10552: 0x000061F8,
+ 10553: 0x000061FA,
+ 10554: 0x00006518,
+ 10555: 0x00006514,
+ 10556: 0x00006519,
+ 10557: 0x000066E6,
+ 10558: 0x00006727,
+ 10559: 0x00006AEC,
+ 10560: 0x0000703E,
+ 10561: 0x00007030,
+ 10562: 0x00007032,
+ 10563: 0x00007210,
+ 10564: 0x0000737B,
+ 10565: 0x000074CF,
+ 10566: 0x00007662,
+ 10567: 0x00007665,
+ 10568: 0x00007926,
+ 10569: 0x0000792A,
+ 10570: 0x0000792C,
+ 10571: 0x0000792B,
+ 10572: 0x00007AC7,
+ 10573: 0x00007AF6,
+ 10574: 0x00007C4C,
+ 10575: 0x00007C43,
+ 10576: 0x00007C4D,
+ 10577: 0x00007CEF,
+ 10578: 0x00007CF0,
+ 10579: 0x00008FAE,
+ 10580: 0x00007E7D,
+ 10581: 0x00007E7C,
+ 10582: 0x00007E82,
+ 10583: 0x00007F4C,
+ 10584: 0x00008000,
+ 10585: 0x000081DA,
+ 10586: 0x00008266,
+ 10587: 0x000085FB,
+ 10588: 0x000085F9,
+ 10589: 0x00008611,
+ 10590: 0x000085FA,
+ 10591: 0x00008606,
+ 10592: 0x0000860B,
+ 10593: 0x00008607,
+ 10594: 0x0000860A,
+ 10595: 0x00008814,
+ 10596: 0x00008815,
+ 10597: 0x00008964,
+ 10598: 0x000089BA,
+ 10599: 0x000089F8,
+ 10600: 0x00008B70,
+ 10601: 0x00008B6C,
+ 10602: 0x00008B66,
+ 10603: 0x00008B6F,
+ 10604: 0x00008B5F,
+ 10605: 0x00008B6B,
+ 10606: 0x00008D0F,
+ 10607: 0x00008D0D,
+ 10608: 0x00008E89,
+ 10609: 0x00008E81,
+ 10610: 0x00008E85,
+ 10611: 0x00008E82,
+ 10612: 0x000091B4,
+ 10613: 0x000091CB,
+ 10614: 0x00009418,
+ 10615: 0x00009403,
+ 10616: 0x000093FD,
+ 10617: 0x000095E1,
+ 10618: 0x00009730,
+ 10619: 0x000098C4,
+ 10620: 0x00009952,
+ 10621: 0x00009951,
+ 10622: 0x000099A8,
+ 10623: 0x00009A2B,
+ 10624: 0x00009A30,
+ 10625: 0x00009A37,
+ 10626: 0x00009A35,
+ 10627: 0x00009C13,
+ 10628: 0x00009C0D,
+ 10629: 0x00009E79,
+ 10630: 0x00009EB5,
+ 10631: 0x00009EE8,
+ 10632: 0x00009F2F,
+ 10633: 0x00009F5F,
+ 10634: 0x00009F63,
+ 10635: 0x00009F61,
+ 10636: 0x00005137,
+ 10637: 0x00005138,
+ 10638: 0x000056C1,
+ 10639: 0x000056C0,
+ 10640: 0x000056C2,
+ 10641: 0x00005914,
+ 10642: 0x00005C6C,
+ 10643: 0x00005DCD,
+ 10644: 0x000061FC,
+ 10645: 0x000061FE,
+ 10646: 0x0000651D,
+ 10647: 0x0000651C,
+ 10648: 0x00006595,
+ 10649: 0x000066E9,
+ 10650: 0x00006AFB,
+ 10651: 0x00006B04,
+ 10652: 0x00006AFA,
+ 10653: 0x00006BB2,
+ 10654: 0x0000704C,
+ 10655: 0x0000721B,
+ 10656: 0x000072A7,
+ 10657: 0x000074D6,
+ 10658: 0x000074D4,
+ 10659: 0x00007669,
+ 10660: 0x000077D3,
+ 10661: 0x00007C50,
+ 10662: 0x00007E8F,
+ 10663: 0x00007E8C,
+ 10664: 0x00007FBC,
+ 10665: 0x00008617,
+ 10666: 0x0000862D,
+ 10667: 0x0000861A,
+ 10668: 0x00008823,
+ 10669: 0x00008822,
+ 10670: 0x00008821,
+ 10671: 0x0000881F,
+ 10672: 0x0000896A,
+ 10673: 0x0000896C,
+ 10674: 0x000089BD,
+ 10675: 0x00008B74,
+ 10676: 0x00008B77,
+ 10677: 0x00008B7D,
+ 10678: 0x00008D13,
+ 10679: 0x00008E8A,
+ 10680: 0x00008E8D,
+ 10681: 0x00008E8B,
+ 10682: 0x00008F5F,
+ 10683: 0x00008FAF,
+ 10684: 0x000091BA,
+ 10685: 0x0000942E,
+ 10686: 0x00009433,
+ 10687: 0x00009435,
+ 10688: 0x0000943A,
+ 10689: 0x00009438,
+ 10690: 0x00009432,
+ 10691: 0x0000942B,
+ 10692: 0x000095E2,
+ 10693: 0x00009738,
+ 10694: 0x00009739,
+ 10695: 0x00009732,
+ 10696: 0x000097FF,
+ 10697: 0x00009867,
+ 10698: 0x00009865,
+ 10699: 0x00009957,
+ 10700: 0x00009A45,
+ 10701: 0x00009A43,
+ 10702: 0x00009A40,
+ 10703: 0x00009A3E,
+ 10704: 0x00009ACF,
+ 10705: 0x00009B54,
+ 10706: 0x00009B51,
+ 10707: 0x00009C2D,
+ 10708: 0x00009C25,
+ 10709: 0x00009DAF,
+ 10710: 0x00009DB4,
+ 10711: 0x00009DC2,
+ 10712: 0x00009DB8,
+ 10713: 0x00009E9D,
+ 10714: 0x00009EEF,
+ 10715: 0x00009F19,
+ 10716: 0x00009F5C,
+ 10717: 0x00009F66,
+ 10718: 0x00009F67,
+ 10719: 0x0000513C,
+ 10720: 0x0000513B,
+ 10721: 0x000056C8,
+ 10722: 0x000056CA,
+ 10723: 0x000056C9,
+ 10724: 0x00005B7F,
+ 10725: 0x00005DD4,
+ 10726: 0x00005DD2,
+ 10727: 0x00005F4E,
+ 10728: 0x000061FF,
+ 10729: 0x00006524,
+ 10730: 0x00006B0A,
+ 10731: 0x00006B61,
+ 10732: 0x00007051,
+ 10733: 0x00007058,
+ 10734: 0x00007380,
+ 10735: 0x000074E4,
+ 10736: 0x0000758A,
+ 10737: 0x0000766E,
+ 10738: 0x0000766C,
+ 10739: 0x000079B3,
+ 10740: 0x00007C60,
+ 10741: 0x00007C5F,
+ 10742: 0x0000807E,
+ 10743: 0x0000807D,
+ 10744: 0x000081DF,
+ 10745: 0x00008972,
+ 10746: 0x0000896F,
+ 10747: 0x000089FC,
+ 10748: 0x00008B80,
+ 10749: 0x00008D16,
+ 10750: 0x00008D17,
+ 10751: 0x00008E91,
+ 10752: 0x00008E93,
+ 10753: 0x00008F61,
+ 10754: 0x00009148,
+ 10755: 0x00009444,
+ 10756: 0x00009451,
+ 10757: 0x00009452,
+ 10758: 0x0000973D,
+ 10759: 0x0000973E,
+ 10760: 0x000097C3,
+ 10761: 0x000097C1,
+ 10762: 0x0000986B,
+ 10763: 0x00009955,
+ 10764: 0x00009A55,
+ 10765: 0x00009A4D,
+ 10766: 0x00009AD2,
+ 10767: 0x00009B1A,
+ 10768: 0x00009C49,
+ 10769: 0x00009C31,
+ 10770: 0x00009C3E,
+ 10771: 0x00009C3B,
+ 10772: 0x00009DD3,
+ 10773: 0x00009DD7,
+ 10774: 0x00009F34,
+ 10775: 0x00009F6C,
+ 10776: 0x00009F6A,
+ 10777: 0x00009F94,
+ 10778: 0x000056CC,
+ 10779: 0x00005DD6,
+ 10780: 0x00006200,
+ 10781: 0x00006523,
+ 10782: 0x0000652B,
+ 10783: 0x0000652A,
+ 10784: 0x000066EC,
+ 10785: 0x00006B10,
+ 10786: 0x000074DA,
+ 10787: 0x00007ACA,
+ 10788: 0x00007C64,
+ 10789: 0x00007C63,
+ 10790: 0x00007C65,
+ 10791: 0x00007E93,
+ 10792: 0x00007E96,
+ 10793: 0x00007E94,
+ 10794: 0x000081E2,
+ 10795: 0x00008638,
+ 10796: 0x0000863F,
+ 10797: 0x00008831,
+ 10798: 0x00008B8A,
+ 10799: 0x00009090,
+ 10800: 0x0000908F,
+ 10801: 0x00009463,
+ 10802: 0x00009460,
+ 10803: 0x00009464,
+ 10804: 0x00009768,
+ 10805: 0x0000986F,
+ 10806: 0x0000995C,
+ 10807: 0x00009A5A,
+ 10808: 0x00009A5B,
+ 10809: 0x00009A57,
+ 10810: 0x00009AD3,
+ 10811: 0x00009AD4,
+ 10812: 0x00009AD1,
+ 10813: 0x00009C54,
+ 10814: 0x00009C57,
+ 10815: 0x00009C56,
+ 10816: 0x00009DE5,
+ 10817: 0x00009E9F,
+ 10818: 0x00009EF4,
+ 10819: 0x000056D1,
+ 10820: 0x000058E9,
+ 10821: 0x0000652C,
+ 10822: 0x0000705E,
+ 10823: 0x00007671,
+ 10824: 0x00007672,
+ 10825: 0x000077D7,
+ 10826: 0x00007F50,
+ 10827: 0x00007F88,
+ 10828: 0x00008836,
+ 10829: 0x00008839,
+ 10830: 0x00008862,
+ 10831: 0x00008B93,
+ 10832: 0x00008B92,
+ 10833: 0x00008B96,
+ 10834: 0x00008277,
+ 10835: 0x00008D1B,
+ 10836: 0x000091C0,
+ 10837: 0x0000946A,
+ 10838: 0x00009742,
+ 10839: 0x00009748,
+ 10840: 0x00009744,
+ 10841: 0x000097C6,
+ 10842: 0x00009870,
+ 10843: 0x00009A5F,
+ 10844: 0x00009B22,
+ 10845: 0x00009B58,
+ 10846: 0x00009C5F,
+ 10847: 0x00009DF9,
+ 10848: 0x00009DFA,
+ 10849: 0x00009E7C,
+ 10850: 0x00009E7D,
+ 10851: 0x00009F07,
+ 10852: 0x00009F77,
+ 10853: 0x00009F72,
+ 10854: 0x00005EF3,
+ 10855: 0x00006B16,
+ 10856: 0x00007063,
+ 10857: 0x00007C6C,
+ 10858: 0x00007C6E,
+ 10859: 0x0000883B,
+ 10860: 0x000089C0,
+ 10861: 0x00008EA1,
+ 10862: 0x000091C1,
+ 10863: 0x00009472,
+ 10864: 0x00009470,
+ 10865: 0x00009871,
+ 10866: 0x0000995E,
+ 10867: 0x00009AD6,
+ 10868: 0x00009B23,
+ 10869: 0x00009ECC,
+ 10870: 0x00007064,
+ 10871: 0x000077DA,
+ 10872: 0x00008B9A,
+ 10873: 0x00009477,
+ 10874: 0x000097C9,
+ 10875: 0x00009A62,
+ 10876: 0x00009A65,
+ 10877: 0x00007E9C,
+ 10878: 0x00008B9C,
+ 10879: 0x00008EAA,
+ 10880: 0x000091C5,
+ 10881: 0x0000947D,
+ 10882: 0x0000947E,
+ 10883: 0x0000947C,
+ 10884: 0x00009C77,
+ 10885: 0x00009C78,
+ 10886: 0x00009EF7,
+ 10887: 0x00008C54,
+ 10888: 0x0000947F,
+ 10889: 0x00009E1A,
+ 10890: 0x00007228,
+ 10891: 0x00009A6A,
+ 10892: 0x00009B31,
+ 10893: 0x00009E1B,
+ 10894: 0x00009E1E,
+ 10895: 0x00007C72,
+ 10896: 0x00002460,
+ 10897: 0x00002461,
+ 10898: 0x00002462,
+ 10899: 0x00002463,
+ 10900: 0x00002464,
+ 10901: 0x00002465,
+ 10902: 0x00002466,
+ 10903: 0x00002467,
+ 10904: 0x00002468,
+ 10905: 0x00002469,
+ 10906: 0x00002474,
+ 10907: 0x00002475,
+ 10908: 0x00002476,
+ 10909: 0x00002477,
+ 10910: 0x00002478,
+ 10911: 0x00002479,
+ 10912: 0x0000247A,
+ 10913: 0x0000247B,
+ 10914: 0x0000247C,
+ 10915: 0x0000247D,
+ 10916: 0x00002170,
+ 10917: 0x00002171,
+ 10918: 0x00002172,
+ 10919: 0x00002173,
+ 10920: 0x00002174,
+ 10921: 0x00002175,
+ 10922: 0x00002176,
+ 10923: 0x00002177,
+ 10924: 0x00002178,
+ 10925: 0x00002179,
+ 10926: 0x00004E36,
+ 10927: 0x00004E3F,
+ 10928: 0x00004E85,
+ 10929: 0x00004EA0,
+ 10930: 0x00005182,
+ 10931: 0x00005196,
+ 10932: 0x000051AB,
+ 10933: 0x000052F9,
+ 10934: 0x00005338,
+ 10935: 0x00005369,
+ 10936: 0x000053B6,
+ 10937: 0x0000590A,
+ 10938: 0x00005B80,
+ 10939: 0x00005DDB,
+ 10940: 0x00002F33,
+ 10941: 0x00005E7F,
+ 10942: 0x00005EF4,
+ 10943: 0x00005F50,
+ 10944: 0x00005F61,
+ 10945: 0x00006534,
+ 10946: 0x000065E0,
+ 10947: 0x00007592,
+ 10948: 0x00007676,
+ 10949: 0x00008FB5,
+ 10950: 0x000096B6,
+ 10951: 0x000000A8,
+ 10952: 0x000002C6,
+ 10953: 0x000030FD,
+ 10954: 0x000030FE,
+ 10955: 0x0000309D,
+ 10956: 0x0000309E,
+ 10957: 0x00003003,
+ 10958: 0x00004EDD,
+ 10959: 0x00003005,
+ 10960: 0x00003006,
+ 10961: 0x00003007,
+ 10962: 0x000030FC,
+ 10963: 0x0000FF3B,
+ 10964: 0x0000FF3D,
+ 10965: 0x0000273D,
+ 10966: 0x00003041,
+ 10967: 0x00003042,
+ 10968: 0x00003043,
+ 10969: 0x00003044,
+ 10970: 0x00003045,
+ 10971: 0x00003046,
+ 10972: 0x00003047,
+ 10973: 0x00003048,
+ 10974: 0x00003049,
+ 10975: 0x0000304A,
+ 10976: 0x0000304B,
+ 10977: 0x0000304C,
+ 10978: 0x0000304D,
+ 10979: 0x0000304E,
+ 10980: 0x0000304F,
+ 10981: 0x00003050,
+ 10982: 0x00003051,
+ 10983: 0x00003052,
+ 10984: 0x00003053,
+ 10985: 0x00003054,
+ 10986: 0x00003055,
+ 10987: 0x00003056,
+ 10988: 0x00003057,
+ 10989: 0x00003058,
+ 10990: 0x00003059,
+ 10991: 0x0000305A,
+ 10992: 0x0000305B,
+ 10993: 0x0000305C,
+ 10994: 0x0000305D,
+ 10995: 0x0000305E,
+ 10996: 0x0000305F,
+ 10997: 0x00003060,
+ 10998: 0x00003061,
+ 10999: 0x00003062,
+ 11000: 0x00003063,
+ 11001: 0x00003064,
+ 11002: 0x00003065,
+ 11003: 0x00003066,
+ 11004: 0x00003067,
+ 11005: 0x00003068,
+ 11006: 0x00003069,
+ 11007: 0x0000306A,
+ 11008: 0x0000306B,
+ 11009: 0x0000306C,
+ 11010: 0x0000306D,
+ 11011: 0x0000306E,
+ 11012: 0x0000306F,
+ 11013: 0x00003070,
+ 11014: 0x00003071,
+ 11015: 0x00003072,
+ 11016: 0x00003073,
+ 11017: 0x00003074,
+ 11018: 0x00003075,
+ 11019: 0x00003076,
+ 11020: 0x00003077,
+ 11021: 0x00003078,
+ 11022: 0x00003079,
+ 11023: 0x0000307A,
+ 11024: 0x0000307B,
+ 11025: 0x0000307C,
+ 11026: 0x0000307D,
+ 11027: 0x0000307E,
+ 11028: 0x0000307F,
+ 11029: 0x00003080,
+ 11030: 0x00003081,
+ 11031: 0x00003082,
+ 11032: 0x00003083,
+ 11033: 0x00003084,
+ 11034: 0x00003085,
+ 11035: 0x00003086,
+ 11036: 0x00003087,
+ 11037: 0x00003088,
+ 11038: 0x00003089,
+ 11039: 0x0000308A,
+ 11040: 0x0000308B,
+ 11041: 0x0000308C,
+ 11042: 0x0000308D,
+ 11043: 0x0000308E,
+ 11044: 0x0000308F,
+ 11045: 0x00003090,
+ 11046: 0x00003091,
+ 11047: 0x00003092,
+ 11048: 0x00003093,
+ 11049: 0x000030A1,
+ 11050: 0x000030A2,
+ 11051: 0x000030A3,
+ 11052: 0x000030A4,
+ 11053: 0x000030A5,
+ 11054: 0x000030A6,
+ 11055: 0x000030A7,
+ 11056: 0x000030A8,
+ 11057: 0x000030A9,
+ 11058: 0x000030AA,
+ 11059: 0x000030AB,
+ 11060: 0x000030AC,
+ 11061: 0x000030AD,
+ 11062: 0x000030AE,
+ 11063: 0x000030AF,
+ 11064: 0x000030B0,
+ 11065: 0x000030B1,
+ 11066: 0x000030B2,
+ 11067: 0x000030B3,
+ 11068: 0x000030B4,
+ 11069: 0x000030B5,
+ 11070: 0x000030B6,
+ 11071: 0x000030B7,
+ 11072: 0x000030B8,
+ 11073: 0x000030B9,
+ 11074: 0x000030BA,
+ 11075: 0x000030BB,
+ 11076: 0x000030BC,
+ 11077: 0x000030BD,
+ 11078: 0x000030BE,
+ 11079: 0x000030BF,
+ 11080: 0x000030C0,
+ 11081: 0x000030C1,
+ 11082: 0x000030C2,
+ 11083: 0x000030C3,
+ 11084: 0x000030C4,
+ 11085: 0x000030C5,
+ 11086: 0x000030C6,
+ 11087: 0x000030C7,
+ 11088: 0x000030C8,
+ 11089: 0x000030C9,
+ 11090: 0x000030CA,
+ 11091: 0x000030CB,
+ 11092: 0x000030CC,
+ 11093: 0x000030CD,
+ 11094: 0x000030CE,
+ 11095: 0x000030CF,
+ 11096: 0x000030D0,
+ 11097: 0x000030D1,
+ 11098: 0x000030D2,
+ 11099: 0x000030D3,
+ 11100: 0x000030D4,
+ 11101: 0x000030D5,
+ 11102: 0x000030D6,
+ 11103: 0x000030D7,
+ 11104: 0x000030D8,
+ 11105: 0x000030D9,
+ 11106: 0x000030DA,
+ 11107: 0x000030DB,
+ 11108: 0x000030DC,
+ 11109: 0x000030DD,
+ 11110: 0x000030DE,
+ 11111: 0x000030DF,
+ 11112: 0x000030E0,
+ 11113: 0x000030E1,
+ 11114: 0x000030E2,
+ 11115: 0x000030E3,
+ 11116: 0x000030E4,
+ 11117: 0x000030E5,
+ 11118: 0x000030E6,
+ 11119: 0x000030E7,
+ 11120: 0x000030E8,
+ 11121: 0x000030E9,
+ 11122: 0x000030EA,
+ 11123: 0x000030EB,
+ 11124: 0x000030EC,
+ 11125: 0x000030ED,
+ 11126: 0x000030EE,
+ 11127: 0x000030EF,
+ 11128: 0x000030F0,
+ 11129: 0x000030F1,
+ 11130: 0x000030F2,
+ 11131: 0x000030F3,
+ 11132: 0x000030F4,
+ 11133: 0x000030F5,
+ 11134: 0x000030F6,
+ 11135: 0x00000410,
+ 11136: 0x00000411,
+ 11137: 0x00000412,
+ 11138: 0x00000413,
+ 11139: 0x00000414,
+ 11140: 0x00000415,
+ 11141: 0x00000401,
+ 11142: 0x00000416,
+ 11143: 0x00000417,
+ 11144: 0x00000418,
+ 11145: 0x00000419,
+ 11146: 0x0000041A,
+ 11147: 0x0000041B,
+ 11148: 0x0000041C,
+ 11149: 0x0000041D,
+ 11150: 0x0000041E,
+ 11151: 0x0000041F,
+ 11152: 0x00000420,
+ 11153: 0x00000421,
+ 11154: 0x00000422,
+ 11155: 0x00000423,
+ 11156: 0x00000424,
+ 11157: 0x00000425,
+ 11158: 0x00000426,
+ 11159: 0x00000427,
+ 11160: 0x00000428,
+ 11161: 0x00000429,
+ 11162: 0x0000042A,
+ 11163: 0x0000042B,
+ 11164: 0x0000042C,
+ 11165: 0x0000042D,
+ 11166: 0x0000042E,
+ 11167: 0x0000042F,
+ 11168: 0x00000430,
+ 11169: 0x00000431,
+ 11170: 0x00000432,
+ 11171: 0x00000433,
+ 11172: 0x00000434,
+ 11173: 0x00000435,
+ 11174: 0x00000451,
+ 11175: 0x00000436,
+ 11176: 0x00000437,
+ 11177: 0x00000438,
+ 11178: 0x00000439,
+ 11179: 0x0000043A,
+ 11180: 0x0000043B,
+ 11181: 0x0000043C,
+ 11182: 0x0000043D,
+ 11183: 0x0000043E,
+ 11184: 0x0000043F,
+ 11185: 0x00000440,
+ 11186: 0x00000441,
+ 11187: 0x00000442,
+ 11188: 0x00000443,
+ 11189: 0x00000444,
+ 11190: 0x00000445,
+ 11191: 0x00000446,
+ 11192: 0x00000447,
+ 11193: 0x00000448,
+ 11194: 0x00000449,
+ 11195: 0x0000044A,
+ 11196: 0x0000044B,
+ 11197: 0x0000044C,
+ 11198: 0x0000044D,
+ 11199: 0x0000044E,
+ 11200: 0x0000044F,
+ 11201: 0x000021E7,
+ 11202: 0x000021B8,
+ 11203: 0x000021B9,
+ 11204: 0x000031CF,
+ 11205: 0x000200CC,
+ 11206: 0x00004E5A,
+ 11207: 0x0002008A,
+ 11208: 0x00005202,
+ 11209: 0x00004491,
+ 11210: 0x00009FB0,
+ 11211: 0x00005188,
+ 11212: 0x00009FB1,
+ 11213: 0x00027607,
+ 11254: 0x0000FFE2,
+ 11255: 0x0000FFE4,
+ 11256: 0x0000FF07,
+ 11257: 0x0000FF02,
+ 11258: 0x00003231,
+ 11259: 0x00002116,
+ 11260: 0x00002121,
+ 11261: 0x0000309B,
+ 11262: 0x0000309C,
+ 11263: 0x00002E80,
+ 11264: 0x00002E84,
+ 11265: 0x00002E86,
+ 11266: 0x00002E87,
+ 11267: 0x00002E88,
+ 11268: 0x00002E8A,
+ 11269: 0x00002E8C,
+ 11270: 0x00002E8D,
+ 11271: 0x00002E95,
+ 11272: 0x00002E9C,
+ 11273: 0x00002E9D,
+ 11274: 0x00002EA5,
+ 11275: 0x00002EA7,
+ 11276: 0x00002EAA,
+ 11277: 0x00002EAC,
+ 11278: 0x00002EAE,
+ 11279: 0x00002EB6,
+ 11280: 0x00002EBC,
+ 11281: 0x00002EBE,
+ 11282: 0x00002EC6,
+ 11283: 0x00002ECA,
+ 11284: 0x00002ECC,
+ 11285: 0x00002ECD,
+ 11286: 0x00002ECF,
+ 11287: 0x00002ED6,
+ 11288: 0x00002ED7,
+ 11289: 0x00002EDE,
+ 11290: 0x00002EE3,
+ 11294: 0x00000283,
+ 11295: 0x00000250,
+ 11296: 0x0000025B,
+ 11297: 0x00000254,
+ 11298: 0x00000275,
+ 11299: 0x00000153,
+ 11300: 0x000000F8,
+ 11301: 0x0000014B,
+ 11302: 0x0000028A,
+ 11303: 0x0000026A,
+ 11304: 0x00004E42,
+ 11305: 0x00004E5C,
+ 11306: 0x000051F5,
+ 11307: 0x0000531A,
+ 11308: 0x00005382,
+ 11309: 0x00004E07,
+ 11310: 0x00004E0C,
+ 11311: 0x00004E47,
+ 11312: 0x00004E8D,
+ 11313: 0x000056D7,
+ 11314: 0x0000FA0C,
+ 11315: 0x00005C6E,
+ 11316: 0x00005F73,
+ 11317: 0x00004E0F,
+ 11318: 0x00005187,
+ 11319: 0x00004E0E,
+ 11320: 0x00004E2E,
+ 11321: 0x00004E93,
+ 11322: 0x00004EC2,
+ 11323: 0x00004EC9,
+ 11324: 0x00004EC8,
+ 11325: 0x00005198,
+ 11326: 0x000052FC,
+ 11327: 0x0000536C,
+ 11328: 0x000053B9,
+ 11329: 0x00005720,
+ 11330: 0x00005903,
+ 11331: 0x0000592C,
+ 11332: 0x00005C10,
+ 11333: 0x00005DFF,
+ 11334: 0x000065E1,
+ 11335: 0x00006BB3,
+ 11336: 0x00006BCC,
+ 11337: 0x00006C14,
+ 11338: 0x0000723F,
+ 11339: 0x00004E31,
+ 11340: 0x00004E3C,
+ 11341: 0x00004EE8,
+ 11342: 0x00004EDC,
+ 11343: 0x00004EE9,
+ 11344: 0x00004EE1,
+ 11345: 0x00004EDD,
+ 11346: 0x00004EDA,
+ 11347: 0x0000520C,
+ 11348: 0x0000531C,
+ 11349: 0x0000534C,
+ 11350: 0x00005722,
+ 11351: 0x00005723,
+ 11352: 0x00005917,
+ 11353: 0x0000592F,
+ 11354: 0x00005B81,
+ 11355: 0x00005B84,
+ 11356: 0x00005C12,
+ 11357: 0x00005C3B,
+ 11358: 0x00005C74,
+ 11359: 0x00005C73,
+ 11360: 0x00005E04,
+ 11361: 0x00005E80,
+ 11362: 0x00005E82,
+ 11363: 0x00005FC9,
+ 11364: 0x00006209,
+ 11365: 0x00006250,
+ 11366: 0x00006C15,
+ 11367: 0x00006C36,
+ 11368: 0x00006C43,
+ 11369: 0x00006C3F,
+ 11370: 0x00006C3B,
+ 11371: 0x000072AE,
+ 11372: 0x000072B0,
+ 11373: 0x0000738A,
+ 11374: 0x000079B8,
+ 11375: 0x0000808A,
+ 11376: 0x0000961E,
+ 11377: 0x00004F0E,
+ 11378: 0x00004F18,
+ 11379: 0x00004F2C,
+ 11380: 0x00004EF5,
+ 11381: 0x00004F14,
+ 11382: 0x00004EF1,
+ 11383: 0x00004F00,
+ 11384: 0x00004EF7,
+ 11385: 0x00004F08,
+ 11386: 0x00004F1D,
+ 11387: 0x00004F02,
+ 11388: 0x00004F05,
+ 11389: 0x00004F22,
+ 11390: 0x00004F13,
+ 11391: 0x00004F04,
+ 11392: 0x00004EF4,
+ 11393: 0x00004F12,
+ 11394: 0x000051B1,
+ 11395: 0x00005213,
+ 11396: 0x00005209,
+ 11397: 0x00005210,
+ 11398: 0x000052A6,
+ 11399: 0x00005322,
+ 11400: 0x0000531F,
+ 11401: 0x0000534D,
+ 11402: 0x0000538A,
+ 11403: 0x00005407,
+ 11404: 0x000056E1,
+ 11405: 0x000056DF,
+ 11406: 0x0000572E,
+ 11407: 0x0000572A,
+ 11408: 0x00005734,
+ 11409: 0x0000593C,
+ 11410: 0x00005980,
+ 11411: 0x0000597C,
+ 11412: 0x00005985,
+ 11413: 0x0000597B,
+ 11414: 0x0000597E,
+ 11415: 0x00005977,
+ 11416: 0x0000597F,
+ 11417: 0x00005B56,
+ 11418: 0x00005C15,
+ 11419: 0x00005C25,
+ 11420: 0x00005C7C,
+ 11421: 0x00005C7A,
+ 11422: 0x00005C7B,
+ 11423: 0x00005C7E,
+ 11424: 0x00005DDF,
+ 11425: 0x00005E75,
+ 11426: 0x00005E84,
+ 11427: 0x00005F02,
+ 11428: 0x00005F1A,
+ 11429: 0x00005F74,
+ 11430: 0x00005FD5,
+ 11431: 0x00005FD4,
+ 11432: 0x00005FCF,
+ 11433: 0x0000625C,
+ 11434: 0x0000625E,
+ 11435: 0x00006264,
+ 11436: 0x00006261,
+ 11437: 0x00006266,
+ 11438: 0x00006262,
+ 11439: 0x00006259,
+ 11440: 0x00006260,
+ 11441: 0x0000625A,
+ 11442: 0x00006265,
+ 11443: 0x000065EF,
+ 11444: 0x000065EE,
+ 11445: 0x0000673E,
+ 11446: 0x00006739,
+ 11447: 0x00006738,
+ 11448: 0x0000673B,
+ 11449: 0x0000673A,
+ 11450: 0x0000673F,
+ 11451: 0x0000673C,
+ 11452: 0x00006733,
+ 11453: 0x00006C18,
+ 11454: 0x00006C46,
+ 11455: 0x00006C52,
+ 11456: 0x00006C5C,
+ 11457: 0x00006C4F,
+ 11458: 0x00006C4A,
+ 11459: 0x00006C54,
+ 11460: 0x00006C4B,
+ 11461: 0x00006C4C,
+ 11462: 0x00007071,
+ 11463: 0x0000725E,
+ 11464: 0x000072B4,
+ 11465: 0x000072B5,
+ 11466: 0x0000738E,
+ 11467: 0x0000752A,
+ 11468: 0x0000767F,
+ 11469: 0x00007A75,
+ 11470: 0x00007F51,
+ 11471: 0x00008278,
+ 11472: 0x0000827C,
+ 11473: 0x00008280,
+ 11474: 0x0000827D,
+ 11475: 0x0000827F,
+ 11476: 0x0000864D,
+ 11477: 0x0000897E,
+ 11478: 0x00009099,
+ 11479: 0x00009097,
+ 11480: 0x00009098,
+ 11481: 0x0000909B,
+ 11482: 0x00009094,
+ 11483: 0x00009622,
+ 11484: 0x00009624,
+ 11485: 0x00009620,
+ 11486: 0x00009623,
+ 11487: 0x00004F56,
+ 11488: 0x00004F3B,
+ 11489: 0x00004F62,
+ 11490: 0x00004F49,
+ 11491: 0x00004F53,
+ 11492: 0x00004F64,
+ 11493: 0x00004F3E,
+ 11494: 0x00004F67,
+ 11495: 0x00004F52,
+ 11496: 0x00004F5F,
+ 11497: 0x00004F41,
+ 11498: 0x00004F58,
+ 11499: 0x00004F2D,
+ 11500: 0x00004F33,
+ 11501: 0x00004F3F,
+ 11502: 0x00004F61,
+ 11503: 0x0000518F,
+ 11504: 0x000051B9,
+ 11505: 0x0000521C,
+ 11506: 0x0000521E,
+ 11507: 0x00005221,
+ 11508: 0x000052AD,
+ 11509: 0x000052AE,
+ 11510: 0x00005309,
+ 11511: 0x00005363,
+ 11512: 0x00005372,
+ 11513: 0x0000538E,
+ 11514: 0x0000538F,
+ 11515: 0x00005430,
+ 11516: 0x00005437,
+ 11517: 0x0000542A,
+ 11518: 0x00005454,
+ 11519: 0x00005445,
+ 11520: 0x00005419,
+ 11521: 0x0000541C,
+ 11522: 0x00005425,
+ 11523: 0x00005418,
+ 11524: 0x0000543D,
+ 11525: 0x0000544F,
+ 11526: 0x00005441,
+ 11527: 0x00005428,
+ 11528: 0x00005424,
+ 11529: 0x00005447,
+ 11530: 0x000056EE,
+ 11531: 0x000056E7,
+ 11532: 0x000056E5,
+ 11533: 0x00005741,
+ 11534: 0x00005745,
+ 11535: 0x0000574C,
+ 11536: 0x00005749,
+ 11537: 0x0000574B,
+ 11538: 0x00005752,
+ 11539: 0x00005906,
+ 11540: 0x00005940,
+ 11541: 0x000059A6,
+ 11542: 0x00005998,
+ 11543: 0x000059A0,
+ 11544: 0x00005997,
+ 11545: 0x0000598E,
+ 11546: 0x000059A2,
+ 11547: 0x00005990,
+ 11548: 0x0000598F,
+ 11549: 0x000059A7,
+ 11550: 0x000059A1,
+ 11551: 0x00005B8E,
+ 11552: 0x00005B92,
+ 11553: 0x00005C28,
+ 11554: 0x00005C2A,
+ 11555: 0x00005C8D,
+ 11556: 0x00005C8F,
+ 11557: 0x00005C88,
+ 11558: 0x00005C8B,
+ 11559: 0x00005C89,
+ 11560: 0x00005C92,
+ 11561: 0x00005C8A,
+ 11562: 0x00005C86,
+ 11563: 0x00005C93,
+ 11564: 0x00005C95,
+ 11565: 0x00005DE0,
+ 11566: 0x00005E0A,
+ 11567: 0x00005E0E,
+ 11568: 0x00005E8B,
+ 11569: 0x00005E89,
+ 11570: 0x00005E8C,
+ 11571: 0x00005E88,
+ 11572: 0x00005E8D,
+ 11573: 0x00005F05,
+ 11574: 0x00005F1D,
+ 11575: 0x00005F78,
+ 11576: 0x00005F76,
+ 11577: 0x00005FD2,
+ 11578: 0x00005FD1,
+ 11579: 0x00005FD0,
+ 11580: 0x00005FED,
+ 11581: 0x00005FE8,
+ 11582: 0x00005FEE,
+ 11583: 0x00005FF3,
+ 11584: 0x00005FE1,
+ 11585: 0x00005FE4,
+ 11586: 0x00005FE3,
+ 11587: 0x00005FFA,
+ 11588: 0x00005FEF,
+ 11589: 0x00005FF7,
+ 11590: 0x00005FFB,
+ 11591: 0x00006000,
+ 11592: 0x00005FF4,
+ 11593: 0x0000623A,
+ 11594: 0x00006283,
+ 11595: 0x0000628C,
+ 11596: 0x0000628E,
+ 11597: 0x0000628F,
+ 11598: 0x00006294,
+ 11599: 0x00006287,
+ 11600: 0x00006271,
+ 11601: 0x0000627B,
+ 11602: 0x0000627A,
+ 11603: 0x00006270,
+ 11604: 0x00006281,
+ 11605: 0x00006288,
+ 11606: 0x00006277,
+ 11607: 0x0000627D,
+ 11608: 0x00006272,
+ 11609: 0x00006274,
+ 11610: 0x00006537,
+ 11611: 0x000065F0,
+ 11612: 0x000065F4,
+ 11613: 0x000065F3,
+ 11614: 0x000065F2,
+ 11615: 0x000065F5,
+ 11616: 0x00006745,
+ 11617: 0x00006747,
+ 11618: 0x00006759,
+ 11619: 0x00006755,
+ 11620: 0x0000674C,
+ 11621: 0x00006748,
+ 11622: 0x0000675D,
+ 11623: 0x0000674D,
+ 11624: 0x0000675A,
+ 11625: 0x0000674B,
+ 11626: 0x00006BD0,
+ 11627: 0x00006C19,
+ 11628: 0x00006C1A,
+ 11629: 0x00006C78,
+ 11630: 0x00006C67,
+ 11631: 0x00006C6B,
+ 11632: 0x00006C84,
+ 11633: 0x00006C8B,
+ 11634: 0x00006C8F,
+ 11635: 0x00006C71,
+ 11636: 0x00006C6F,
+ 11637: 0x00006C69,
+ 11638: 0x00006C9A,
+ 11639: 0x00006C6D,
+ 11640: 0x00006C87,
+ 11641: 0x00006C95,
+ 11642: 0x00006C9C,
+ 11643: 0x00006C66,
+ 11644: 0x00006C73,
+ 11645: 0x00006C65,
+ 11646: 0x00006C7B,
+ 11647: 0x00006C8E,
+ 11648: 0x00007074,
+ 11649: 0x0000707A,
+ 11650: 0x00007263,
+ 11651: 0x000072BF,
+ 11652: 0x000072BD,
+ 11653: 0x000072C3,
+ 11654: 0x000072C6,
+ 11655: 0x000072C1,
+ 11656: 0x000072BA,
+ 11657: 0x000072C5,
+ 11658: 0x00007395,
+ 11659: 0x00007397,
+ 11660: 0x00007393,
+ 11661: 0x00007394,
+ 11662: 0x00007392,
+ 11663: 0x0000753A,
+ 11664: 0x00007539,
+ 11665: 0x00007594,
+ 11666: 0x00007595,
+ 11667: 0x00007681,
+ 11668: 0x0000793D,
+ 11669: 0x00008034,
+ 11670: 0x00008095,
+ 11671: 0x00008099,
+ 11672: 0x00008090,
+ 11673: 0x00008092,
+ 11674: 0x0000809C,
+ 11675: 0x00008290,
+ 11676: 0x0000828F,
+ 11677: 0x00008285,
+ 11678: 0x0000828E,
+ 11679: 0x00008291,
+ 11680: 0x00008293,
+ 11681: 0x0000828A,
+ 11682: 0x00008283,
+ 11683: 0x00008284,
+ 11684: 0x00008C78,
+ 11685: 0x00008FC9,
+ 11686: 0x00008FBF,
+ 11687: 0x0000909F,
+ 11688: 0x000090A1,
+ 11689: 0x000090A5,
+ 11690: 0x0000909E,
+ 11691: 0x000090A7,
+ 11692: 0x000090A0,
+ 11693: 0x00009630,
+ 11694: 0x00009628,
+ 11695: 0x0000962F,
+ 11696: 0x0000962D,
+ 11697: 0x00004E33,
+ 11698: 0x00004F98,
+ 11699: 0x00004F7C,
+ 11700: 0x00004F85,
+ 11701: 0x00004F7D,
+ 11702: 0x00004F80,
+ 11703: 0x00004F87,
+ 11704: 0x00004F76,
+ 11705: 0x00004F74,
+ 11706: 0x00004F89,
+ 11707: 0x00004F84,
+ 11708: 0x00004F77,
+ 11709: 0x00004F4C,
+ 11710: 0x00004F97,
+ 11711: 0x00004F6A,
+ 11712: 0x00004F9A,
+ 11713: 0x00004F79,
+ 11714: 0x00004F81,
+ 11715: 0x00004F78,
+ 11716: 0x00004F90,
+ 11717: 0x00004F9C,
+ 11718: 0x00004F94,
+ 11719: 0x00004F9E,
+ 11720: 0x00004F92,
+ 11721: 0x00004F82,
+ 11722: 0x00004F95,
+ 11723: 0x00004F6B,
+ 11724: 0x00004F6E,
+ 11725: 0x0000519E,
+ 11726: 0x000051BC,
+ 11727: 0x000051BE,
+ 11728: 0x00005235,
+ 11729: 0x00005232,
+ 11730: 0x00005233,
+ 11731: 0x00005246,
+ 11732: 0x00005231,
+ 11733: 0x000052BC,
+ 11734: 0x0000530A,
+ 11735: 0x0000530B,
+ 11736: 0x0000533C,
+ 11737: 0x00005392,
+ 11738: 0x00005394,
+ 11739: 0x00005487,
+ 11740: 0x0000547F,
+ 11741: 0x00005481,
+ 11742: 0x00005491,
+ 11743: 0x00005482,
+ 11744: 0x00005488,
+ 11745: 0x0000546B,
+ 11746: 0x0000547A,
+ 11747: 0x0000547E,
+ 11748: 0x00005465,
+ 11749: 0x0000546C,
+ 11750: 0x00005474,
+ 11751: 0x00005466,
+ 11752: 0x0000548D,
+ 11753: 0x0000546F,
+ 11754: 0x00005461,
+ 11755: 0x00005460,
+ 11756: 0x00005498,
+ 11757: 0x00005463,
+ 11758: 0x00005467,
+ 11759: 0x00005464,
+ 11760: 0x000056F7,
+ 11761: 0x000056F9,
+ 11762: 0x0000576F,
+ 11763: 0x00005772,
+ 11764: 0x0000576D,
+ 11765: 0x0000576B,
+ 11766: 0x00005771,
+ 11767: 0x00005770,
+ 11768: 0x00005776,
+ 11769: 0x00005780,
+ 11770: 0x00005775,
+ 11771: 0x0000577B,
+ 11772: 0x00005773,
+ 11773: 0x00005774,
+ 11774: 0x00005762,
+ 11775: 0x00005768,
+ 11776: 0x0000577D,
+ 11777: 0x0000590C,
+ 11778: 0x00005945,
+ 11779: 0x000059B5,
+ 11780: 0x000059BA,
+ 11781: 0x000059CF,
+ 11782: 0x000059CE,
+ 11783: 0x000059B2,
+ 11784: 0x000059CC,
+ 11785: 0x000059C1,
+ 11786: 0x000059B6,
+ 11787: 0x000059BC,
+ 11788: 0x000059C3,
+ 11789: 0x000059D6,
+ 11790: 0x000059B1,
+ 11791: 0x000059BD,
+ 11792: 0x000059C0,
+ 11793: 0x000059C8,
+ 11794: 0x000059B4,
+ 11795: 0x000059C7,
+ 11796: 0x00005B62,
+ 11797: 0x00005B65,
+ 11798: 0x00005B93,
+ 11799: 0x00005B95,
+ 11800: 0x00005C44,
+ 11801: 0x00005C47,
+ 11802: 0x00005CAE,
+ 11803: 0x00005CA4,
+ 11804: 0x00005CA0,
+ 11805: 0x00005CB5,
+ 11806: 0x00005CAF,
+ 11807: 0x00005CA8,
+ 11808: 0x00005CAC,
+ 11809: 0x00005C9F,
+ 11810: 0x00005CA3,
+ 11811: 0x00005CAD,
+ 11812: 0x00005CA2,
+ 11813: 0x00005CAA,
+ 11814: 0x00005CA7,
+ 11815: 0x00005C9D,
+ 11816: 0x00005CA5,
+ 11817: 0x00005CB6,
+ 11818: 0x00005CB0,
+ 11819: 0x00005CA6,
+ 11820: 0x00005E17,
+ 11821: 0x00005E14,
+ 11822: 0x00005E19,
+ 11823: 0x00005F28,
+ 11824: 0x00005F22,
+ 11825: 0x00005F23,
+ 11826: 0x00005F24,
+ 11827: 0x00005F54,
+ 11828: 0x00005F82,
+ 11829: 0x00005F7E,
+ 11830: 0x00005F7D,
+ 11831: 0x00005FDE,
+ 11832: 0x00005FE5,
+ 11833: 0x0000602D,
+ 11834: 0x00006026,
+ 11835: 0x00006019,
+ 11836: 0x00006032,
+ 11837: 0x0000600B,
+ 11838: 0x00006034,
+ 11839: 0x0000600A,
+ 11840: 0x00006017,
+ 11841: 0x00006033,
+ 11842: 0x0000601A,
+ 11843: 0x0000601E,
+ 11844: 0x0000602C,
+ 11845: 0x00006022,
+ 11846: 0x0000600D,
+ 11847: 0x00006010,
+ 11848: 0x0000602E,
+ 11849: 0x00006013,
+ 11850: 0x00006011,
+ 11851: 0x0000600C,
+ 11852: 0x00006009,
+ 11853: 0x0000601C,
+ 11854: 0x00006214,
+ 11855: 0x0000623D,
+ 11856: 0x000062AD,
+ 11857: 0x000062B4,
+ 11858: 0x000062D1,
+ 11859: 0x000062BE,
+ 11860: 0x000062AA,
+ 11861: 0x000062B6,
+ 11862: 0x000062CA,
+ 11863: 0x000062AE,
+ 11864: 0x000062B3,
+ 11865: 0x000062AF,
+ 11866: 0x000062BB,
+ 11867: 0x000062A9,
+ 11868: 0x000062B0,
+ 11869: 0x000062B8,
+ 11870: 0x0000653D,
+ 11871: 0x000065A8,
+ 11872: 0x000065BB,
+ 11873: 0x00006609,
+ 11874: 0x000065FC,
+ 11875: 0x00006604,
+ 11876: 0x00006612,
+ 11877: 0x00006608,
+ 11878: 0x000065FB,
+ 11879: 0x00006603,
+ 11880: 0x0000660B,
+ 11881: 0x0000660D,
+ 11882: 0x00006605,
+ 11883: 0x000065FD,
+ 11884: 0x00006611,
+ 11885: 0x00006610,
+ 11886: 0x000066F6,
+ 11887: 0x0000670A,
+ 11888: 0x00006785,
+ 11889: 0x0000676C,
+ 11890: 0x0000678E,
+ 11891: 0x00006792,
+ 11892: 0x00006776,
+ 11893: 0x0000677B,
+ 11894: 0x00006798,
+ 11895: 0x00006786,
+ 11896: 0x00006784,
+ 11897: 0x00006774,
+ 11898: 0x0000678D,
+ 11899: 0x0000678C,
+ 11900: 0x0000677A,
+ 11901: 0x0000679F,
+ 11902: 0x00006791,
+ 11903: 0x00006799,
+ 11904: 0x00006783,
+ 11905: 0x0000677D,
+ 11906: 0x00006781,
+ 11907: 0x00006778,
+ 11908: 0x00006779,
+ 11909: 0x00006794,
+ 11910: 0x00006B25,
+ 11911: 0x00006B80,
+ 11912: 0x00006B7E,
+ 11913: 0x00006BDE,
+ 11914: 0x00006C1D,
+ 11915: 0x00006C93,
+ 11916: 0x00006CEC,
+ 11917: 0x00006CEB,
+ 11918: 0x00006CEE,
+ 11919: 0x00006CD9,
+ 11920: 0x00006CB6,
+ 11921: 0x00006CD4,
+ 11922: 0x00006CAD,
+ 11923: 0x00006CE7,
+ 11924: 0x00006CB7,
+ 11925: 0x00006CD0,
+ 11926: 0x00006CC2,
+ 11927: 0x00006CBA,
+ 11928: 0x00006CC3,
+ 11929: 0x00006CC6,
+ 11930: 0x00006CED,
+ 11931: 0x00006CF2,
+ 11932: 0x00006CD2,
+ 11933: 0x00006CDD,
+ 11934: 0x00006CB4,
+ 11935: 0x00006C8A,
+ 11936: 0x00006C9D,
+ 11937: 0x00006C80,
+ 11938: 0x00006CDE,
+ 11939: 0x00006CC0,
+ 11940: 0x00006D30,
+ 11941: 0x00006CCD,
+ 11942: 0x00006CC7,
+ 11943: 0x00006CB0,
+ 11944: 0x00006CF9,
+ 11945: 0x00006CCF,
+ 11946: 0x00006CE9,
+ 11947: 0x00006CD1,
+ 11948: 0x00007094,
+ 11949: 0x00007098,
+ 11950: 0x00007085,
+ 11951: 0x00007093,
+ 11952: 0x00007086,
+ 11953: 0x00007084,
+ 11954: 0x00007091,
+ 11955: 0x00007096,
+ 11956: 0x00007082,
+ 11957: 0x0000709A,
+ 11958: 0x00007083,
+ 11959: 0x0000726A,
+ 11960: 0x000072D6,
+ 11961: 0x000072CB,
+ 11962: 0x000072D8,
+ 11963: 0x000072C9,
+ 11964: 0x000072DC,
+ 11965: 0x000072D2,
+ 11966: 0x000072D4,
+ 11967: 0x000072DA,
+ 11968: 0x000072CC,
+ 11969: 0x000072D1,
+ 11970: 0x000073A4,
+ 11971: 0x000073A1,
+ 11972: 0x000073AD,
+ 11973: 0x000073A6,
+ 11974: 0x000073A2,
+ 11975: 0x000073A0,
+ 11976: 0x000073AC,
+ 11977: 0x0000739D,
+ 11978: 0x000074DD,
+ 11979: 0x000074E8,
+ 11980: 0x0000753F,
+ 11981: 0x00007540,
+ 11982: 0x0000753E,
+ 11983: 0x0000758C,
+ 11984: 0x00007598,
+ 11985: 0x000076AF,
+ 11986: 0x000076F3,
+ 11987: 0x000076F1,
+ 11988: 0x000076F0,
+ 11989: 0x000076F5,
+ 11990: 0x000077F8,
+ 11991: 0x000077FC,
+ 11992: 0x000077F9,
+ 11993: 0x000077FB,
+ 11994: 0x000077FA,
+ 11995: 0x000077F7,
+ 11996: 0x00007942,
+ 11997: 0x0000793F,
+ 11998: 0x000079C5,
+ 11999: 0x00007A78,
+ 12000: 0x00007A7B,
+ 12001: 0x00007AFB,
+ 12002: 0x00007C75,
+ 12003: 0x00007CFD,
+ 12004: 0x00008035,
+ 12005: 0x0000808F,
+ 12006: 0x000080AE,
+ 12007: 0x000080A3,
+ 12008: 0x000080B8,
+ 12009: 0x000080B5,
+ 12010: 0x000080AD,
+ 12011: 0x00008220,
+ 12012: 0x000082A0,
+ 12013: 0x000082C0,
+ 12014: 0x000082AB,
+ 12015: 0x0000829A,
+ 12016: 0x00008298,
+ 12017: 0x0000829B,
+ 12018: 0x000082B5,
+ 12019: 0x000082A7,
+ 12020: 0x000082AE,
+ 12021: 0x000082BC,
+ 12022: 0x0000829E,
+ 12023: 0x000082BA,
+ 12024: 0x000082B4,
+ 12025: 0x000082A8,
+ 12026: 0x000082A1,
+ 12027: 0x000082A9,
+ 12028: 0x000082C2,
+ 12029: 0x000082A4,
+ 12030: 0x000082C3,
+ 12031: 0x000082B6,
+ 12032: 0x000082A2,
+ 12033: 0x00008670,
+ 12034: 0x0000866F,
+ 12035: 0x0000866D,
+ 12036: 0x0000866E,
+ 12037: 0x00008C56,
+ 12038: 0x00008FD2,
+ 12039: 0x00008FCB,
+ 12040: 0x00008FD3,
+ 12041: 0x00008FCD,
+ 12042: 0x00008FD6,
+ 12043: 0x00008FD5,
+ 12044: 0x00008FD7,
+ 12045: 0x000090B2,
+ 12046: 0x000090B4,
+ 12047: 0x000090AF,
+ 12048: 0x000090B3,
+ 12049: 0x000090B0,
+ 12050: 0x00009639,
+ 12051: 0x0000963D,
+ 12052: 0x0000963C,
+ 12053: 0x0000963A,
+ 12054: 0x00009643,
+ 12055: 0x00004FCD,
+ 12056: 0x00004FC5,
+ 12057: 0x00004FD3,
+ 12058: 0x00004FB2,
+ 12059: 0x00004FC9,
+ 12060: 0x00004FCB,
+ 12061: 0x00004FC1,
+ 12062: 0x00004FD4,
+ 12063: 0x00004FDC,
+ 12064: 0x00004FD9,
+ 12065: 0x00004FBB,
+ 12066: 0x00004FB3,
+ 12067: 0x00004FDB,
+ 12068: 0x00004FC7,
+ 12069: 0x00004FD6,
+ 12070: 0x00004FBA,
+ 12071: 0x00004FC0,
+ 12072: 0x00004FB9,
+ 12073: 0x00004FEC,
+ 12074: 0x00005244,
+ 12075: 0x00005249,
+ 12076: 0x000052C0,
+ 12077: 0x000052C2,
+ 12078: 0x0000533D,
+ 12079: 0x0000537C,
+ 12080: 0x00005397,
+ 12081: 0x00005396,
+ 12082: 0x00005399,
+ 12083: 0x00005398,
+ 12084: 0x000054BA,
+ 12085: 0x000054A1,
+ 12086: 0x000054AD,
+ 12087: 0x000054A5,
+ 12088: 0x000054CF,
+ 12089: 0x000054C3,
+ 12090: 0x0000830D,
+ 12091: 0x000054B7,
+ 12092: 0x000054AE,
+ 12093: 0x000054D6,
+ 12094: 0x000054B6,
+ 12095: 0x000054C5,
+ 12096: 0x000054C6,
+ 12097: 0x000054A0,
+ 12098: 0x00005470,
+ 12099: 0x000054BC,
+ 12100: 0x000054A2,
+ 12101: 0x000054BE,
+ 12102: 0x00005472,
+ 12103: 0x000054DE,
+ 12104: 0x000054B0,
+ 12105: 0x000057B5,
+ 12106: 0x0000579E,
+ 12107: 0x0000579F,
+ 12108: 0x000057A4,
+ 12109: 0x0000578C,
+ 12110: 0x00005797,
+ 12111: 0x0000579D,
+ 12112: 0x0000579B,
+ 12113: 0x00005794,
+ 12114: 0x00005798,
+ 12115: 0x0000578F,
+ 12116: 0x00005799,
+ 12117: 0x000057A5,
+ 12118: 0x0000579A,
+ 12119: 0x00005795,
+ 12120: 0x000058F4,
+ 12121: 0x0000590D,
+ 12122: 0x00005953,
+ 12123: 0x000059E1,
+ 12124: 0x000059DE,
+ 12125: 0x000059EE,
+ 12126: 0x00005A00,
+ 12127: 0x000059F1,
+ 12128: 0x000059DD,
+ 12129: 0x000059FA,
+ 12130: 0x000059FD,
+ 12131: 0x000059FC,
+ 12132: 0x000059F6,
+ 12133: 0x000059E4,
+ 12134: 0x000059F2,
+ 12135: 0x000059F7,
+ 12136: 0x000059DB,
+ 12137: 0x000059E9,
+ 12138: 0x000059F3,
+ 12139: 0x000059F5,
+ 12140: 0x000059E0,
+ 12141: 0x000059FE,
+ 12142: 0x000059F4,
+ 12143: 0x000059ED,
+ 12144: 0x00005BA8,
+ 12145: 0x00005C4C,
+ 12146: 0x00005CD0,
+ 12147: 0x00005CD8,
+ 12148: 0x00005CCC,
+ 12149: 0x00005CD7,
+ 12150: 0x00005CCB,
+ 12151: 0x00005CDB,
+ 12152: 0x00005CDE,
+ 12153: 0x00005CDA,
+ 12154: 0x00005CC9,
+ 12155: 0x00005CC7,
+ 12156: 0x00005CCA,
+ 12157: 0x00005CD6,
+ 12158: 0x00005CD3,
+ 12159: 0x00005CD4,
+ 12160: 0x00005CCF,
+ 12161: 0x00005CC8,
+ 12162: 0x00005CC6,
+ 12163: 0x00005CCE,
+ 12164: 0x00005CDF,
+ 12165: 0x00005CF8,
+ 12166: 0x00005DF9,
+ 12167: 0x00005E21,
+ 12168: 0x00005E22,
+ 12169: 0x00005E23,
+ 12170: 0x00005E20,
+ 12171: 0x00005E24,
+ 12172: 0x00005EB0,
+ 12173: 0x00005EA4,
+ 12174: 0x00005EA2,
+ 12175: 0x00005E9B,
+ 12176: 0x00005EA3,
+ 12177: 0x00005EA5,
+ 12178: 0x00005F07,
+ 12179: 0x00005F2E,
+ 12180: 0x00005F56,
+ 12181: 0x00005F86,
+ 12182: 0x00006037,
+ 12183: 0x00006039,
+ 12184: 0x00006054,
+ 12185: 0x00006072,
+ 12186: 0x0000605E,
+ 12187: 0x00006045,
+ 12188: 0x00006053,
+ 12189: 0x00006047,
+ 12190: 0x00006049,
+ 12191: 0x0000605B,
+ 12192: 0x0000604C,
+ 12193: 0x00006040,
+ 12194: 0x00006042,
+ 12195: 0x0000605F,
+ 12196: 0x00006024,
+ 12197: 0x00006044,
+ 12198: 0x00006058,
+ 12199: 0x00006066,
+ 12200: 0x0000606E,
+ 12201: 0x00006242,
+ 12202: 0x00006243,
+ 12203: 0x000062CF,
+ 12204: 0x0000630D,
+ 12205: 0x0000630B,
+ 12206: 0x000062F5,
+ 12207: 0x0000630E,
+ 12208: 0x00006303,
+ 12209: 0x000062EB,
+ 12210: 0x000062F9,
+ 12211: 0x0000630F,
+ 12212: 0x0000630C,
+ 12213: 0x000062F8,
+ 12214: 0x000062F6,
+ 12215: 0x00006300,
+ 12216: 0x00006313,
+ 12217: 0x00006314,
+ 12218: 0x000062FA,
+ 12219: 0x00006315,
+ 12220: 0x000062FB,
+ 12221: 0x000062F0,
+ 12222: 0x00006541,
+ 12223: 0x00006543,
+ 12224: 0x000065AA,
+ 12225: 0x000065BF,
+ 12226: 0x00006636,
+ 12227: 0x00006621,
+ 12228: 0x00006632,
+ 12229: 0x00006635,
+ 12230: 0x0000661C,
+ 12231: 0x00006626,
+ 12232: 0x00006622,
+ 12233: 0x00006633,
+ 12234: 0x0000662B,
+ 12235: 0x0000663A,
+ 12236: 0x0000661D,
+ 12237: 0x00006634,
+ 12238: 0x00006639,
+ 12239: 0x0000662E,
+ 12240: 0x0000670F,
+ 12241: 0x00006710,
+ 12242: 0x000067C1,
+ 12243: 0x000067F2,
+ 12244: 0x000067C8,
+ 12245: 0x000067BA,
+ 12246: 0x000067DC,
+ 12247: 0x000067BB,
+ 12248: 0x000067F8,
+ 12249: 0x000067D8,
+ 12250: 0x000067C0,
+ 12251: 0x000067B7,
+ 12252: 0x000067C5,
+ 12253: 0x000067EB,
+ 12254: 0x000067E4,
+ 12255: 0x000067DF,
+ 12256: 0x000067B5,
+ 12257: 0x000067CD,
+ 12258: 0x000067B3,
+ 12259: 0x000067F7,
+ 12260: 0x000067F6,
+ 12261: 0x000067EE,
+ 12262: 0x000067E3,
+ 12263: 0x000067C2,
+ 12264: 0x000067B9,
+ 12265: 0x000067CE,
+ 12266: 0x000067E7,
+ 12267: 0x000067F0,
+ 12268: 0x000067B2,
+ 12269: 0x000067FC,
+ 12270: 0x000067C6,
+ 12271: 0x000067ED,
+ 12272: 0x000067CC,
+ 12273: 0x000067AE,
+ 12274: 0x000067E6,
+ 12275: 0x000067DB,
+ 12276: 0x000067FA,
+ 12277: 0x000067C9,
+ 12278: 0x000067CA,
+ 12279: 0x000067C3,
+ 12280: 0x000067EA,
+ 12281: 0x000067CB,
+ 12282: 0x00006B28,
+ 12283: 0x00006B82,
+ 12284: 0x00006B84,
+ 12285: 0x00006BB6,
+ 12286: 0x00006BD6,
+ 12287: 0x00006BD8,
+ 12288: 0x00006BE0,
+ 12289: 0x00006C20,
+ 12290: 0x00006C21,
+ 12291: 0x00006D28,
+ 12292: 0x00006D34,
+ 12293: 0x00006D2D,
+ 12294: 0x00006D1F,
+ 12295: 0x00006D3C,
+ 12296: 0x00006D3F,
+ 12297: 0x00006D12,
+ 12298: 0x00006D0A,
+ 12299: 0x00006CDA,
+ 12300: 0x00006D33,
+ 12301: 0x00006D04,
+ 12302: 0x00006D19,
+ 12303: 0x00006D3A,
+ 12304: 0x00006D1A,
+ 12305: 0x00006D11,
+ 12306: 0x00006D00,
+ 12307: 0x00006D1D,
+ 12308: 0x00006D42,
+ 12309: 0x00006D01,
+ 12310: 0x00006D18,
+ 12311: 0x00006D37,
+ 12312: 0x00006D03,
+ 12313: 0x00006D0F,
+ 12314: 0x00006D40,
+ 12315: 0x00006D07,
+ 12316: 0x00006D20,
+ 12317: 0x00006D2C,
+ 12318: 0x00006D08,
+ 12319: 0x00006D22,
+ 12320: 0x00006D09,
+ 12321: 0x00006D10,
+ 12322: 0x000070B7,
+ 12323: 0x0000709F,
+ 12324: 0x000070BE,
+ 12325: 0x000070B1,
+ 12326: 0x000070B0,
+ 12327: 0x000070A1,
+ 12328: 0x000070B4,
+ 12329: 0x000070B5,
+ 12330: 0x000070A9,
+ 12331: 0x00007241,
+ 12332: 0x00007249,
+ 12333: 0x0000724A,
+ 12334: 0x0000726C,
+ 12335: 0x00007270,
+ 12336: 0x00007273,
+ 12337: 0x0000726E,
+ 12338: 0x000072CA,
+ 12339: 0x000072E4,
+ 12340: 0x000072E8,
+ 12341: 0x000072EB,
+ 12342: 0x000072DF,
+ 12343: 0x000072EA,
+ 12344: 0x000072E6,
+ 12345: 0x000072E3,
+ 12346: 0x00007385,
+ 12347: 0x000073CC,
+ 12348: 0x000073C2,
+ 12349: 0x000073C8,
+ 12350: 0x000073C5,
+ 12351: 0x000073B9,
+ 12352: 0x000073B6,
+ 12353: 0x000073B5,
+ 12354: 0x000073B4,
+ 12355: 0x000073EB,
+ 12356: 0x000073BF,
+ 12357: 0x000073C7,
+ 12358: 0x000073BE,
+ 12359: 0x000073C3,
+ 12360: 0x000073C6,
+ 12361: 0x000073B8,
+ 12362: 0x000073CB,
+ 12363: 0x000074EC,
+ 12364: 0x000074EE,
+ 12365: 0x0000752E,
+ 12366: 0x00007547,
+ 12367: 0x00007548,
+ 12368: 0x000075A7,
+ 12369: 0x000075AA,
+ 12370: 0x00007679,
+ 12371: 0x000076C4,
+ 12372: 0x00007708,
+ 12373: 0x00007703,
+ 12374: 0x00007704,
+ 12375: 0x00007705,
+ 12376: 0x0000770A,
+ 12377: 0x000076F7,
+ 12378: 0x000076FB,
+ 12379: 0x000076FA,
+ 12380: 0x000077E7,
+ 12381: 0x000077E8,
+ 12382: 0x00007806,
+ 12383: 0x00007811,
+ 12384: 0x00007812,
+ 12385: 0x00007805,
+ 12386: 0x00007810,
+ 12387: 0x0000780F,
+ 12388: 0x0000780E,
+ 12389: 0x00007809,
+ 12390: 0x00007803,
+ 12391: 0x00007813,
+ 12392: 0x0000794A,
+ 12393: 0x0000794C,
+ 12394: 0x0000794B,
+ 12395: 0x00007945,
+ 12396: 0x00007944,
+ 12397: 0x000079D5,
+ 12398: 0x000079CD,
+ 12399: 0x000079CF,
+ 12400: 0x000079D6,
+ 12401: 0x000079CE,
+ 12402: 0x00007A80,
+ 12403: 0x00007A7E,
+ 12404: 0x00007AD1,
+ 12405: 0x00007B00,
+ 12406: 0x00007B01,
+ 12407: 0x00007C7A,
+ 12408: 0x00007C78,
+ 12409: 0x00007C79,
+ 12410: 0x00007C7F,
+ 12411: 0x00007C80,
+ 12412: 0x00007C81,
+ 12413: 0x00007D03,
+ 12414: 0x00007D08,
+ 12415: 0x00007D01,
+ 12416: 0x00007F58,
+ 12417: 0x00007F91,
+ 12418: 0x00007F8D,
+ 12419: 0x00007FBE,
+ 12420: 0x00008007,
+ 12421: 0x0000800E,
+ 12422: 0x0000800F,
+ 12423: 0x00008014,
+ 12424: 0x00008037,
+ 12425: 0x000080D8,
+ 12426: 0x000080C7,
+ 12427: 0x000080E0,
+ 12428: 0x000080D1,
+ 12429: 0x000080C8,
+ 12430: 0x000080C2,
+ 12431: 0x000080D0,
+ 12432: 0x000080C5,
+ 12433: 0x000080E3,
+ 12434: 0x000080D9,
+ 12435: 0x000080DC,
+ 12436: 0x000080CA,
+ 12437: 0x000080D5,
+ 12438: 0x000080C9,
+ 12439: 0x000080CF,
+ 12440: 0x000080D7,
+ 12441: 0x000080E6,
+ 12442: 0x000080CD,
+ 12443: 0x000081FF,
+ 12444: 0x00008221,
+ 12445: 0x00008294,
+ 12446: 0x000082D9,
+ 12447: 0x000082FE,
+ 12448: 0x000082F9,
+ 12449: 0x00008307,
+ 12450: 0x000082E8,
+ 12451: 0x00008300,
+ 12452: 0x000082D5,
+ 12453: 0x0000833A,
+ 12454: 0x000082EB,
+ 12455: 0x000082D6,
+ 12456: 0x000082F4,
+ 12457: 0x000082EC,
+ 12458: 0x000082E1,
+ 12459: 0x000082F2,
+ 12460: 0x000082F5,
+ 12461: 0x0000830C,
+ 12462: 0x000082FB,
+ 12463: 0x000082F6,
+ 12464: 0x000082F0,
+ 12465: 0x000082EA,
+ 12466: 0x000082E4,
+ 12467: 0x000082E0,
+ 12468: 0x000082FA,
+ 12469: 0x000082F3,
+ 12470: 0x000082ED,
+ 12471: 0x00008677,
+ 12472: 0x00008674,
+ 12473: 0x0000867C,
+ 12474: 0x00008673,
+ 12475: 0x00008841,
+ 12476: 0x0000884E,
+ 12477: 0x00008867,
+ 12478: 0x0000886A,
+ 12479: 0x00008869,
+ 12480: 0x000089D3,
+ 12481: 0x00008A04,
+ 12482: 0x00008A07,
+ 12483: 0x00008D72,
+ 12484: 0x00008FE3,
+ 12485: 0x00008FE1,
+ 12486: 0x00008FEE,
+ 12487: 0x00008FE0,
+ 12488: 0x000090F1,
+ 12489: 0x000090BD,
+ 12490: 0x000090BF,
+ 12491: 0x000090D5,
+ 12492: 0x000090C5,
+ 12493: 0x000090BE,
+ 12494: 0x000090C7,
+ 12495: 0x000090CB,
+ 12496: 0x000090C8,
+ 12497: 0x000091D4,
+ 12498: 0x000091D3,
+ 12499: 0x00009654,
+ 12500: 0x0000964F,
+ 12501: 0x00009651,
+ 12502: 0x00009653,
+ 12503: 0x0000964A,
+ 12504: 0x0000964E,
+ 12505: 0x0000501E,
+ 12506: 0x00005005,
+ 12507: 0x00005007,
+ 12508: 0x00005013,
+ 12509: 0x00005022,
+ 12510: 0x00005030,
+ 12511: 0x0000501B,
+ 12512: 0x00004FF5,
+ 12513: 0x00004FF4,
+ 12514: 0x00005033,
+ 12515: 0x00005037,
+ 12516: 0x0000502C,
+ 12517: 0x00004FF6,
+ 12518: 0x00004FF7,
+ 12519: 0x00005017,
+ 12520: 0x0000501C,
+ 12521: 0x00005020,
+ 12522: 0x00005027,
+ 12523: 0x00005035,
+ 12524: 0x0000502F,
+ 12525: 0x00005031,
+ 12526: 0x0000500E,
+ 12527: 0x0000515A,
+ 12528: 0x00005194,
+ 12529: 0x00005193,
+ 12530: 0x000051CA,
+ 12531: 0x000051C4,
+ 12532: 0x000051C5,
+ 12533: 0x000051C8,
+ 12534: 0x000051CE,
+ 12535: 0x00005261,
+ 12536: 0x0000525A,
+ 12537: 0x00005252,
+ 12538: 0x0000525E,
+ 12539: 0x0000525F,
+ 12540: 0x00005255,
+ 12541: 0x00005262,
+ 12542: 0x000052CD,
+ 12543: 0x0000530E,
+ 12544: 0x0000539E,
+ 12545: 0x00005526,
+ 12546: 0x000054E2,
+ 12547: 0x00005517,
+ 12548: 0x00005512,
+ 12549: 0x000054E7,
+ 12550: 0x000054F3,
+ 12551: 0x000054E4,
+ 12552: 0x0000551A,
+ 12553: 0x000054FF,
+ 12554: 0x00005504,
+ 12555: 0x00005508,
+ 12556: 0x000054EB,
+ 12557: 0x00005511,
+ 12558: 0x00005505,
+ 12559: 0x000054F1,
+ 12560: 0x0000550A,
+ 12561: 0x000054FB,
+ 12562: 0x000054F7,
+ 12563: 0x000054F8,
+ 12564: 0x000054E0,
+ 12565: 0x0000550E,
+ 12566: 0x00005503,
+ 12567: 0x0000550B,
+ 12568: 0x00005701,
+ 12569: 0x00005702,
+ 12570: 0x000057CC,
+ 12571: 0x00005832,
+ 12572: 0x000057D5,
+ 12573: 0x000057D2,
+ 12574: 0x000057BA,
+ 12575: 0x000057C6,
+ 12576: 0x000057BD,
+ 12577: 0x000057BC,
+ 12578: 0x000057B8,
+ 12579: 0x000057B6,
+ 12580: 0x000057BF,
+ 12581: 0x000057C7,
+ 12582: 0x000057D0,
+ 12583: 0x000057B9,
+ 12584: 0x000057C1,
+ 12585: 0x0000590E,
+ 12586: 0x0000594A,
+ 12587: 0x00005A19,
+ 12588: 0x00005A16,
+ 12589: 0x00005A2D,
+ 12590: 0x00005A2E,
+ 12591: 0x00005A15,
+ 12592: 0x00005A0F,
+ 12593: 0x00005A17,
+ 12594: 0x00005A0A,
+ 12595: 0x00005A1E,
+ 12596: 0x00005A33,
+ 12597: 0x00005B6C,
+ 12598: 0x00005BA7,
+ 12599: 0x00005BAD,
+ 12600: 0x00005BAC,
+ 12601: 0x00005C03,
+ 12602: 0x00005C56,
+ 12603: 0x00005C54,
+ 12604: 0x00005CEC,
+ 12605: 0x00005CFF,
+ 12606: 0x00005CEE,
+ 12607: 0x00005CF1,
+ 12608: 0x00005CF7,
+ 12609: 0x00005D00,
+ 12610: 0x00005CF9,
+ 12611: 0x00005E29,
+ 12612: 0x00005E28,
+ 12613: 0x00005EA8,
+ 12614: 0x00005EAE,
+ 12615: 0x00005EAA,
+ 12616: 0x00005EAC,
+ 12617: 0x00005F33,
+ 12618: 0x00005F30,
+ 12619: 0x00005F67,
+ 12620: 0x0000605D,
+ 12621: 0x0000605A,
+ 12622: 0x00006067,
+ 12623: 0x00006041,
+ 12624: 0x000060A2,
+ 12625: 0x00006088,
+ 12626: 0x00006080,
+ 12627: 0x00006092,
+ 12628: 0x00006081,
+ 12629: 0x0000609D,
+ 12630: 0x00006083,
+ 12631: 0x00006095,
+ 12632: 0x0000609B,
+ 12633: 0x00006097,
+ 12634: 0x00006087,
+ 12635: 0x0000609C,
+ 12636: 0x0000608E,
+ 12637: 0x00006219,
+ 12638: 0x00006246,
+ 12639: 0x000062F2,
+ 12640: 0x00006310,
+ 12641: 0x00006356,
+ 12642: 0x0000632C,
+ 12643: 0x00006344,
+ 12644: 0x00006345,
+ 12645: 0x00006336,
+ 12646: 0x00006343,
+ 12647: 0x000063E4,
+ 12648: 0x00006339,
+ 12649: 0x0000634B,
+ 12650: 0x0000634A,
+ 12651: 0x0000633C,
+ 12652: 0x00006329,
+ 12653: 0x00006341,
+ 12654: 0x00006334,
+ 12655: 0x00006358,
+ 12656: 0x00006354,
+ 12657: 0x00006359,
+ 12658: 0x0000632D,
+ 12659: 0x00006347,
+ 12660: 0x00006333,
+ 12661: 0x0000635A,
+ 12662: 0x00006351,
+ 12663: 0x00006338,
+ 12664: 0x00006357,
+ 12665: 0x00006340,
+ 12666: 0x00006348,
+ 12667: 0x0000654A,
+ 12668: 0x00006546,
+ 12669: 0x000065C6,
+ 12670: 0x000065C3,
+ 12671: 0x000065C4,
+ 12672: 0x000065C2,
+ 12673: 0x0000664A,
+ 12674: 0x0000665F,
+ 12675: 0x00006647,
+ 12676: 0x00006651,
+ 12677: 0x00006712,
+ 12678: 0x00006713,
+ 12679: 0x0000681F,
+ 12680: 0x0000681A,
+ 12681: 0x00006849,
+ 12682: 0x00006832,
+ 12683: 0x00006833,
+ 12684: 0x0000683B,
+ 12685: 0x0000684B,
+ 12686: 0x0000684F,
+ 12687: 0x00006816,
+ 12688: 0x00006831,
+ 12689: 0x0000681C,
+ 12690: 0x00006835,
+ 12691: 0x0000682B,
+ 12692: 0x0000682D,
+ 12693: 0x0000682F,
+ 12694: 0x0000684E,
+ 12695: 0x00006844,
+ 12696: 0x00006834,
+ 12697: 0x0000681D,
+ 12698: 0x00006812,
+ 12699: 0x00006814,
+ 12700: 0x00006826,
+ 12701: 0x00006828,
+ 12702: 0x0000682E,
+ 12703: 0x0000684D,
+ 12704: 0x0000683A,
+ 12705: 0x00006825,
+ 12706: 0x00006820,
+ 12707: 0x00006B2C,
+ 12708: 0x00006B2F,
+ 12709: 0x00006B2D,
+ 12710: 0x00006B31,
+ 12711: 0x00006B34,
+ 12712: 0x00006B6D,
+ 12713: 0x00008082,
+ 12714: 0x00006B88,
+ 12715: 0x00006BE6,
+ 12716: 0x00006BE4,
+ 12717: 0x00006BE8,
+ 12718: 0x00006BE3,
+ 12719: 0x00006BE2,
+ 12720: 0x00006BE7,
+ 12721: 0x00006C25,
+ 12722: 0x00006D7A,
+ 12723: 0x00006D63,
+ 12724: 0x00006D64,
+ 12725: 0x00006D76,
+ 12726: 0x00006D0D,
+ 12727: 0x00006D61,
+ 12728: 0x00006D92,
+ 12729: 0x00006D58,
+ 12730: 0x00006D62,
+ 12731: 0x00006D6D,
+ 12732: 0x00006D6F,
+ 12733: 0x00006D91,
+ 12734: 0x00006D8D,
+ 12735: 0x00006DEF,
+ 12736: 0x00006D7F,
+ 12737: 0x00006D86,
+ 12738: 0x00006D5E,
+ 12739: 0x00006D67,
+ 12740: 0x00006D60,
+ 12741: 0x00006D97,
+ 12742: 0x00006D70,
+ 12743: 0x00006D7C,
+ 12744: 0x00006D5F,
+ 12745: 0x00006D82,
+ 12746: 0x00006D98,
+ 12747: 0x00006D2F,
+ 12748: 0x00006D68,
+ 12749: 0x00006D8B,
+ 12750: 0x00006D7E,
+ 12751: 0x00006D80,
+ 12752: 0x00006D84,
+ 12753: 0x00006D16,
+ 12754: 0x00006D83,
+ 12755: 0x00006D7B,
+ 12756: 0x00006D7D,
+ 12757: 0x00006D75,
+ 12758: 0x00006D90,
+ 12759: 0x000070DC,
+ 12760: 0x000070D3,
+ 12761: 0x000070D1,
+ 12762: 0x000070DD,
+ 12763: 0x000070CB,
+ 12764: 0x00007F39,
+ 12765: 0x000070E2,
+ 12766: 0x000070D7,
+ 12767: 0x000070D2,
+ 12768: 0x000070DE,
+ 12769: 0x000070E0,
+ 12770: 0x000070D4,
+ 12771: 0x000070CD,
+ 12772: 0x000070C5,
+ 12773: 0x000070C6,
+ 12774: 0x000070C7,
+ 12775: 0x000070DA,
+ 12776: 0x000070CE,
+ 12777: 0x000070E1,
+ 12778: 0x00007242,
+ 12779: 0x00007278,
+ 12780: 0x00007277,
+ 12781: 0x00007276,
+ 12782: 0x00007300,
+ 12783: 0x000072FA,
+ 12784: 0x000072F4,
+ 12785: 0x000072FE,
+ 12786: 0x000072F6,
+ 12787: 0x000072F3,
+ 12788: 0x000072FB,
+ 12789: 0x00007301,
+ 12790: 0x000073D3,
+ 12791: 0x000073D9,
+ 12792: 0x000073E5,
+ 12793: 0x000073D6,
+ 12794: 0x000073BC,
+ 12795: 0x000073E7,
+ 12796: 0x000073E3,
+ 12797: 0x000073E9,
+ 12798: 0x000073DC,
+ 12799: 0x000073D2,
+ 12800: 0x000073DB,
+ 12801: 0x000073D4,
+ 12802: 0x000073DD,
+ 12803: 0x000073DA,
+ 12804: 0x000073D7,
+ 12805: 0x000073D8,
+ 12806: 0x000073E8,
+ 12807: 0x000074DE,
+ 12808: 0x000074DF,
+ 12809: 0x000074F4,
+ 12810: 0x000074F5,
+ 12811: 0x00007521,
+ 12812: 0x0000755B,
+ 12813: 0x0000755F,
+ 12814: 0x000075B0,
+ 12815: 0x000075C1,
+ 12816: 0x000075BB,
+ 12817: 0x000075C4,
+ 12818: 0x000075C0,
+ 12819: 0x000075BF,
+ 12820: 0x000075B6,
+ 12821: 0x000075BA,
+ 12822: 0x0000768A,
+ 12823: 0x000076C9,
+ 12824: 0x0000771D,
+ 12825: 0x0000771B,
+ 12826: 0x00007710,
+ 12827: 0x00007713,
+ 12828: 0x00007712,
+ 12829: 0x00007723,
+ 12830: 0x00007711,
+ 12831: 0x00007715,
+ 12832: 0x00007719,
+ 12833: 0x0000771A,
+ 12834: 0x00007722,
+ 12835: 0x00007727,
+ 12836: 0x00007823,
+ 12837: 0x0000782C,
+ 12838: 0x00007822,
+ 12839: 0x00007835,
+ 12840: 0x0000782F,
+ 12841: 0x00007828,
+ 12842: 0x0000782E,
+ 12843: 0x0000782B,
+ 12844: 0x00007821,
+ 12845: 0x00007829,
+ 12846: 0x00007833,
+ 12847: 0x0000782A,
+ 12848: 0x00007831,
+ 12849: 0x00007954,
+ 12850: 0x0000795B,
+ 12851: 0x0000794F,
+ 12852: 0x0000795C,
+ 12853: 0x00007953,
+ 12854: 0x00007952,
+ 12855: 0x00007951,
+ 12856: 0x000079EB,
+ 12857: 0x000079EC,
+ 12858: 0x000079E0,
+ 12859: 0x000079EE,
+ 12860: 0x000079ED,
+ 12861: 0x000079EA,
+ 12862: 0x000079DC,
+ 12863: 0x000079DE,
+ 12864: 0x000079DD,
+ 12865: 0x00007A86,
+ 12866: 0x00007A89,
+ 12867: 0x00007A85,
+ 12868: 0x00007A8B,
+ 12869: 0x00007A8C,
+ 12870: 0x00007A8A,
+ 12871: 0x00007A87,
+ 12872: 0x00007AD8,
+ 12873: 0x00007B10,
+ 12874: 0x00007B04,
+ 12875: 0x00007B13,
+ 12876: 0x00007B05,
+ 12877: 0x00007B0F,
+ 12878: 0x00007B08,
+ 12879: 0x00007B0A,
+ 12880: 0x00007B0E,
+ 12881: 0x00007B09,
+ 12882: 0x00007B12,
+ 12883: 0x00007C84,
+ 12884: 0x00007C91,
+ 12885: 0x00007C8A,
+ 12886: 0x00007C8C,
+ 12887: 0x00007C88,
+ 12888: 0x00007C8D,
+ 12889: 0x00007C85,
+ 12890: 0x00007D1E,
+ 12891: 0x00007D1D,
+ 12892: 0x00007D11,
+ 12893: 0x00007D0E,
+ 12894: 0x00007D18,
+ 12895: 0x00007D16,
+ 12896: 0x00007D13,
+ 12897: 0x00007D1F,
+ 12898: 0x00007D12,
+ 12899: 0x00007D0F,
+ 12900: 0x00007D0C,
+ 12901: 0x00007F5C,
+ 12902: 0x00007F61,
+ 12903: 0x00007F5E,
+ 12904: 0x00007F60,
+ 12905: 0x00007F5D,
+ 12906: 0x00007F5B,
+ 12907: 0x00007F96,
+ 12908: 0x00007F92,
+ 12909: 0x00007FC3,
+ 12910: 0x00007FC2,
+ 12911: 0x00007FC0,
+ 12912: 0x00008016,
+ 12913: 0x0000803E,
+ 12914: 0x00008039,
+ 12915: 0x000080FA,
+ 12916: 0x000080F2,
+ 12917: 0x000080F9,
+ 12918: 0x000080F5,
+ 12919: 0x00008101,
+ 12920: 0x000080FB,
+ 12921: 0x00008100,
+ 12922: 0x00008201,
+ 12923: 0x0000822F,
+ 12924: 0x00008225,
+ 12925: 0x00008333,
+ 12926: 0x0000832D,
+ 12927: 0x00008344,
+ 12928: 0x00008319,
+ 12929: 0x00008351,
+ 12930: 0x00008325,
+ 12931: 0x00008356,
+ 12932: 0x0000833F,
+ 12933: 0x00008341,
+ 12934: 0x00008326,
+ 12935: 0x0000831C,
+ 12936: 0x00008322,
+ 12937: 0x00008342,
+ 12938: 0x0000834E,
+ 12939: 0x0000831B,
+ 12940: 0x0000832A,
+ 12941: 0x00008308,
+ 12942: 0x0000833C,
+ 12943: 0x0000834D,
+ 12944: 0x00008316,
+ 12945: 0x00008324,
+ 12946: 0x00008320,
+ 12947: 0x00008337,
+ 12948: 0x0000832F,
+ 12949: 0x00008329,
+ 12950: 0x00008347,
+ 12951: 0x00008345,
+ 12952: 0x0000834C,
+ 12953: 0x00008353,
+ 12954: 0x0000831E,
+ 12955: 0x0000832C,
+ 12956: 0x0000834B,
+ 12957: 0x00008327,
+ 12958: 0x00008348,
+ 12959: 0x00008653,
+ 12960: 0x00008652,
+ 12961: 0x000086A2,
+ 12962: 0x000086A8,
+ 12963: 0x00008696,
+ 12964: 0x0000868D,
+ 12965: 0x00008691,
+ 12966: 0x0000869E,
+ 12967: 0x00008687,
+ 12968: 0x00008697,
+ 12969: 0x00008686,
+ 12970: 0x0000868B,
+ 12971: 0x0000869A,
+ 12972: 0x00008685,
+ 12973: 0x000086A5,
+ 12974: 0x00008699,
+ 12975: 0x000086A1,
+ 12976: 0x000086A7,
+ 12977: 0x00008695,
+ 12978: 0x00008698,
+ 12979: 0x0000868E,
+ 12980: 0x0000869D,
+ 12981: 0x00008690,
+ 12982: 0x00008694,
+ 12983: 0x00008843,
+ 12984: 0x00008844,
+ 12985: 0x0000886D,
+ 12986: 0x00008875,
+ 12987: 0x00008876,
+ 12988: 0x00008872,
+ 12989: 0x00008880,
+ 12990: 0x00008871,
+ 12991: 0x0000887F,
+ 12992: 0x0000886F,
+ 12993: 0x00008883,
+ 12994: 0x0000887E,
+ 12995: 0x00008874,
+ 12996: 0x0000887C,
+ 12997: 0x00008A12,
+ 12998: 0x00008C47,
+ 12999: 0x00008C57,
+ 13000: 0x00008C7B,
+ 13001: 0x00008CA4,
+ 13002: 0x00008CA3,
+ 13003: 0x00008D76,
+ 13004: 0x00008D78,
+ 13005: 0x00008DB5,
+ 13006: 0x00008DB7,
+ 13007: 0x00008DB6,
+ 13008: 0x00008ED1,
+ 13009: 0x00008ED3,
+ 13010: 0x00008FFE,
+ 13011: 0x00008FF5,
+ 13012: 0x00009002,
+ 13013: 0x00008FFF,
+ 13014: 0x00008FFB,
+ 13015: 0x00009004,
+ 13016: 0x00008FFC,
+ 13017: 0x00008FF6,
+ 13018: 0x000090D6,
+ 13019: 0x000090E0,
+ 13020: 0x000090D9,
+ 13021: 0x000090DA,
+ 13022: 0x000090E3,
+ 13023: 0x000090DF,
+ 13024: 0x000090E5,
+ 13025: 0x000090D8,
+ 13026: 0x000090DB,
+ 13027: 0x000090D7,
+ 13028: 0x000090DC,
+ 13029: 0x000090E4,
+ 13030: 0x00009150,
+ 13031: 0x0000914E,
+ 13032: 0x0000914F,
+ 13033: 0x000091D5,
+ 13034: 0x000091E2,
+ 13035: 0x000091DA,
+ 13036: 0x0000965C,
+ 13037: 0x0000965F,
+ 13038: 0x000096BC,
+ 13039: 0x000098E3,
+ 13040: 0x00009ADF,
+ 13041: 0x00009B2F,
+ 13042: 0x00004E7F,
+ 13043: 0x00005070,
+ 13044: 0x0000506A,
+ 13045: 0x00005061,
+ 13046: 0x0000505E,
+ 13047: 0x00005060,
+ 13048: 0x00005053,
+ 13049: 0x0000504B,
+ 13050: 0x0000505D,
+ 13051: 0x00005072,
+ 13052: 0x00005048,
+ 13053: 0x0000504D,
+ 13054: 0x00005041,
+ 13055: 0x0000505B,
+ 13056: 0x0000504A,
+ 13057: 0x00005062,
+ 13058: 0x00005015,
+ 13059: 0x00005045,
+ 13060: 0x0000505F,
+ 13061: 0x00005069,
+ 13062: 0x0000506B,
+ 13063: 0x00005063,
+ 13064: 0x00005064,
+ 13065: 0x00005046,
+ 13066: 0x00005040,
+ 13067: 0x0000506E,
+ 13068: 0x00005073,
+ 13069: 0x00005057,
+ 13070: 0x00005051,
+ 13071: 0x000051D0,
+ 13072: 0x0000526B,
+ 13073: 0x0000526D,
+ 13074: 0x0000526C,
+ 13075: 0x0000526E,
+ 13076: 0x000052D6,
+ 13077: 0x000052D3,
+ 13078: 0x0000532D,
+ 13079: 0x0000539C,
+ 13080: 0x00005575,
+ 13081: 0x00005576,
+ 13082: 0x0000553C,
+ 13083: 0x0000554D,
+ 13084: 0x00005550,
+ 13085: 0x00005534,
+ 13086: 0x0000552A,
+ 13087: 0x00005551,
+ 13088: 0x00005562,
+ 13089: 0x00005536,
+ 13090: 0x00005535,
+ 13091: 0x00005530,
+ 13092: 0x00005552,
+ 13093: 0x00005545,
+ 13094: 0x0000550C,
+ 13095: 0x00005532,
+ 13096: 0x00005565,
+ 13097: 0x0000554E,
+ 13098: 0x00005539,
+ 13099: 0x00005548,
+ 13100: 0x0000552D,
+ 13101: 0x0000553B,
+ 13102: 0x00005540,
+ 13103: 0x0000554B,
+ 13104: 0x0000570A,
+ 13105: 0x00005707,
+ 13106: 0x000057FB,
+ 13107: 0x00005814,
+ 13108: 0x000057E2,
+ 13109: 0x000057F6,
+ 13110: 0x000057DC,
+ 13111: 0x000057F4,
+ 13112: 0x00005800,
+ 13113: 0x000057ED,
+ 13114: 0x000057FD,
+ 13115: 0x00005808,
+ 13116: 0x000057F8,
+ 13117: 0x0000580B,
+ 13118: 0x000057F3,
+ 13119: 0x000057CF,
+ 13120: 0x00005807,
+ 13121: 0x000057EE,
+ 13122: 0x000057E3,
+ 13123: 0x000057F2,
+ 13124: 0x000057E5,
+ 13125: 0x000057EC,
+ 13126: 0x000057E1,
+ 13127: 0x0000580E,
+ 13128: 0x000057FC,
+ 13129: 0x00005810,
+ 13130: 0x000057E7,
+ 13131: 0x00005801,
+ 13132: 0x0000580C,
+ 13133: 0x000057F1,
+ 13134: 0x000057E9,
+ 13135: 0x000057F0,
+ 13136: 0x0000580D,
+ 13137: 0x00005804,
+ 13138: 0x0000595C,
+ 13139: 0x00005A60,
+ 13140: 0x00005A58,
+ 13141: 0x00005A55,
+ 13142: 0x00005A67,
+ 13143: 0x00005A5E,
+ 13144: 0x00005A38,
+ 13145: 0x00005A35,
+ 13146: 0x00005A6D,
+ 13147: 0x00005A50,
+ 13148: 0x00005A5F,
+ 13149: 0x00005A65,
+ 13150: 0x00005A6C,
+ 13151: 0x00005A53,
+ 13152: 0x00005A64,
+ 13153: 0x00005A57,
+ 13154: 0x00005A43,
+ 13155: 0x00005A5D,
+ 13156: 0x00005A52,
+ 13157: 0x00005A44,
+ 13158: 0x00005A5B,
+ 13159: 0x00005A48,
+ 13160: 0x00005A8E,
+ 13161: 0x00005A3E,
+ 13162: 0x00005A4D,
+ 13163: 0x00005A39,
+ 13164: 0x00005A4C,
+ 13165: 0x00005A70,
+ 13166: 0x00005A69,
+ 13167: 0x00005A47,
+ 13168: 0x00005A51,
+ 13169: 0x00005A56,
+ 13170: 0x00005A42,
+ 13171: 0x00005A5C,
+ 13172: 0x00005B72,
+ 13173: 0x00005B6E,
+ 13174: 0x00005BC1,
+ 13175: 0x00005BC0,
+ 13176: 0x00005C59,
+ 13177: 0x00005D1E,
+ 13178: 0x00005D0B,
+ 13179: 0x00005D1D,
+ 13180: 0x00005D1A,
+ 13181: 0x00005D20,
+ 13182: 0x00005D0C,
+ 13183: 0x00005D28,
+ 13184: 0x00005D0D,
+ 13185: 0x00005D26,
+ 13186: 0x00005D25,
+ 13187: 0x00005D0F,
+ 13188: 0x00005D30,
+ 13189: 0x00005D12,
+ 13190: 0x00005D23,
+ 13191: 0x00005D1F,
+ 13192: 0x00005D2E,
+ 13193: 0x00005E3E,
+ 13194: 0x00005E34,
+ 13195: 0x00005EB1,
+ 13196: 0x00005EB4,
+ 13197: 0x00005EB9,
+ 13198: 0x00005EB2,
+ 13199: 0x00005EB3,
+ 13200: 0x00005F36,
+ 13201: 0x00005F38,
+ 13202: 0x00005F9B,
+ 13203: 0x00005F96,
+ 13204: 0x00005F9F,
+ 13205: 0x0000608A,
+ 13206: 0x00006090,
+ 13207: 0x00006086,
+ 13208: 0x000060BE,
+ 13209: 0x000060B0,
+ 13210: 0x000060BA,
+ 13211: 0x000060D3,
+ 13212: 0x000060D4,
+ 13213: 0x000060CF,
+ 13214: 0x000060E4,
+ 13215: 0x000060D9,
+ 13216: 0x000060DD,
+ 13217: 0x000060C8,
+ 13218: 0x000060B1,
+ 13219: 0x000060DB,
+ 13220: 0x000060B7,
+ 13221: 0x000060CA,
+ 13222: 0x000060BF,
+ 13223: 0x000060C3,
+ 13224: 0x000060CD,
+ 13225: 0x000060C0,
+ 13226: 0x00006332,
+ 13227: 0x00006365,
+ 13228: 0x0000638A,
+ 13229: 0x00006382,
+ 13230: 0x0000637D,
+ 13231: 0x000063BD,
+ 13232: 0x0000639E,
+ 13233: 0x000063AD,
+ 13234: 0x0000639D,
+ 13235: 0x00006397,
+ 13236: 0x000063AB,
+ 13237: 0x0000638E,
+ 13238: 0x0000636F,
+ 13239: 0x00006387,
+ 13240: 0x00006390,
+ 13241: 0x0000636E,
+ 13242: 0x000063AF,
+ 13243: 0x00006375,
+ 13244: 0x0000639C,
+ 13245: 0x0000636D,
+ 13246: 0x000063AE,
+ 13247: 0x0000637C,
+ 13248: 0x000063A4,
+ 13249: 0x0000633B,
+ 13250: 0x0000639F,
+ 13251: 0x00006378,
+ 13252: 0x00006385,
+ 13253: 0x00006381,
+ 13254: 0x00006391,
+ 13255: 0x0000638D,
+ 13256: 0x00006370,
+ 13257: 0x00006553,
+ 13258: 0x000065CD,
+ 13259: 0x00006665,
+ 13260: 0x00006661,
+ 13261: 0x0000665B,
+ 13262: 0x00006659,
+ 13263: 0x0000665C,
+ 13264: 0x00006662,
+ 13265: 0x00006718,
+ 13266: 0x00006879,
+ 13267: 0x00006887,
+ 13268: 0x00006890,
+ 13269: 0x0000689C,
+ 13270: 0x0000686D,
+ 13271: 0x0000686E,
+ 13272: 0x000068AE,
+ 13273: 0x000068AB,
+ 13274: 0x00006956,
+ 13275: 0x0000686F,
+ 13276: 0x000068A3,
+ 13277: 0x000068AC,
+ 13278: 0x000068A9,
+ 13279: 0x00006875,
+ 13280: 0x00006874,
+ 13281: 0x000068B2,
+ 13282: 0x0000688F,
+ 13283: 0x00006877,
+ 13284: 0x00006892,
+ 13285: 0x0000687C,
+ 13286: 0x0000686B,
+ 13287: 0x00006872,
+ 13288: 0x000068AA,
+ 13289: 0x00006880,
+ 13290: 0x00006871,
+ 13291: 0x0000687E,
+ 13292: 0x0000689B,
+ 13293: 0x00006896,
+ 13294: 0x0000688B,
+ 13295: 0x000068A0,
+ 13296: 0x00006889,
+ 13297: 0x000068A4,
+ 13298: 0x00006878,
+ 13299: 0x0000687B,
+ 13300: 0x00006891,
+ 13301: 0x0000688C,
+ 13302: 0x0000688A,
+ 13303: 0x0000687D,
+ 13304: 0x00006B36,
+ 13305: 0x00006B33,
+ 13306: 0x00006B37,
+ 13307: 0x00006B38,
+ 13308: 0x00006B91,
+ 13309: 0x00006B8F,
+ 13310: 0x00006B8D,
+ 13311: 0x00006B8E,
+ 13312: 0x00006B8C,
+ 13313: 0x00006C2A,
+ 13314: 0x00006DC0,
+ 13315: 0x00006DAB,
+ 13316: 0x00006DB4,
+ 13317: 0x00006DB3,
+ 13318: 0x00006E74,
+ 13319: 0x00006DAC,
+ 13320: 0x00006DE9,
+ 13321: 0x00006DE2,
+ 13322: 0x00006DB7,
+ 13323: 0x00006DF6,
+ 13324: 0x00006DD4,
+ 13325: 0x00006E00,
+ 13326: 0x00006DC8,
+ 13327: 0x00006DE0,
+ 13328: 0x00006DDF,
+ 13329: 0x00006DD6,
+ 13330: 0x00006DBE,
+ 13331: 0x00006DE5,
+ 13332: 0x00006DDC,
+ 13333: 0x00006DDD,
+ 13334: 0x00006DDB,
+ 13335: 0x00006DF4,
+ 13336: 0x00006DCA,
+ 13337: 0x00006DBD,
+ 13338: 0x00006DED,
+ 13339: 0x00006DF0,
+ 13340: 0x00006DBA,
+ 13341: 0x00006DD5,
+ 13342: 0x00006DC2,
+ 13343: 0x00006DCF,
+ 13344: 0x00006DC9,
+ 13345: 0x00006DD0,
+ 13346: 0x00006DF2,
+ 13347: 0x00006DD3,
+ 13348: 0x00006DFD,
+ 13349: 0x00006DD7,
+ 13350: 0x00006DCD,
+ 13351: 0x00006DE3,
+ 13352: 0x00006DBB,
+ 13353: 0x000070FA,
+ 13354: 0x0000710D,
+ 13355: 0x000070F7,
+ 13356: 0x00007117,
+ 13357: 0x000070F4,
+ 13358: 0x0000710C,
+ 13359: 0x000070F0,
+ 13360: 0x00007104,
+ 13361: 0x000070F3,
+ 13362: 0x00007110,
+ 13363: 0x000070FC,
+ 13364: 0x000070FF,
+ 13365: 0x00007106,
+ 13366: 0x00007113,
+ 13367: 0x00007100,
+ 13368: 0x000070F8,
+ 13369: 0x000070F6,
+ 13370: 0x0000710B,
+ 13371: 0x00007102,
+ 13372: 0x0000710E,
+ 13373: 0x0000727E,
+ 13374: 0x0000727B,
+ 13375: 0x0000727C,
+ 13376: 0x0000727F,
+ 13377: 0x0000731D,
+ 13378: 0x00007317,
+ 13379: 0x00007307,
+ 13380: 0x00007311,
+ 13381: 0x00007318,
+ 13382: 0x0000730A,
+ 13383: 0x00007308,
+ 13384: 0x000072FF,
+ 13385: 0x0000730F,
+ 13386: 0x0000731E,
+ 13387: 0x00007388,
+ 13388: 0x000073F6,
+ 13389: 0x000073F8,
+ 13390: 0x000073F5,
+ 13391: 0x00007404,
+ 13392: 0x00007401,
+ 13393: 0x000073FD,
+ 13394: 0x00007407,
+ 13395: 0x00007400,
+ 13396: 0x000073FA,
+ 13397: 0x000073FC,
+ 13398: 0x000073FF,
+ 13399: 0x0000740C,
+ 13400: 0x0000740B,
+ 13401: 0x000073F4,
+ 13402: 0x00007408,
+ 13403: 0x00007564,
+ 13404: 0x00007563,
+ 13405: 0x000075CE,
+ 13406: 0x000075D2,
+ 13407: 0x000075CF,
+ 13408: 0x000075CB,
+ 13409: 0x000075CC,
+ 13410: 0x000075D1,
+ 13411: 0x000075D0,
+ 13412: 0x0000768F,
+ 13413: 0x00007689,
+ 13414: 0x000076D3,
+ 13415: 0x00007739,
+ 13416: 0x0000772F,
+ 13417: 0x0000772D,
+ 13418: 0x00007731,
+ 13419: 0x00007732,
+ 13420: 0x00007734,
+ 13421: 0x00007733,
+ 13422: 0x0000773D,
+ 13423: 0x00007725,
+ 13424: 0x0000773B,
+ 13425: 0x00007735,
+ 13426: 0x00007848,
+ 13427: 0x00007852,
+ 13428: 0x00007849,
+ 13429: 0x0000784D,
+ 13430: 0x0000784A,
+ 13431: 0x0000784C,
+ 13432: 0x00007826,
+ 13433: 0x00007845,
+ 13434: 0x00007850,
+ 13435: 0x00007964,
+ 13436: 0x00007967,
+ 13437: 0x00007969,
+ 13438: 0x0000796A,
+ 13439: 0x00007963,
+ 13440: 0x0000796B,
+ 13441: 0x00007961,
+ 13442: 0x000079BB,
+ 13443: 0x000079FA,
+ 13444: 0x000079F8,
+ 13445: 0x000079F6,
+ 13446: 0x000079F7,
+ 13447: 0x00007A8F,
+ 13448: 0x00007A94,
+ 13449: 0x00007A90,
+ 13450: 0x00007B35,
+ 13451: 0x00007B47,
+ 13452: 0x00007B34,
+ 13453: 0x00007B25,
+ 13454: 0x00007B30,
+ 13455: 0x00007B22,
+ 13456: 0x00007B24,
+ 13457: 0x00007B33,
+ 13458: 0x00007B18,
+ 13459: 0x00007B2A,
+ 13460: 0x00007B1D,
+ 13461: 0x00007B31,
+ 13462: 0x00007B2B,
+ 13463: 0x00007B2D,
+ 13464: 0x00007B2F,
+ 13465: 0x00007B32,
+ 13466: 0x00007B38,
+ 13467: 0x00007B1A,
+ 13468: 0x00007B23,
+ 13469: 0x00007C94,
+ 13470: 0x00007C98,
+ 13471: 0x00007C96,
+ 13472: 0x00007CA3,
+ 13473: 0x00007D35,
+ 13474: 0x00007D3D,
+ 13475: 0x00007D38,
+ 13476: 0x00007D36,
+ 13477: 0x00007D3A,
+ 13478: 0x00007D45,
+ 13479: 0x00007D2C,
+ 13480: 0x00007D29,
+ 13481: 0x00007D41,
+ 13482: 0x00007D47,
+ 13483: 0x00007D3E,
+ 13484: 0x00007D3F,
+ 13485: 0x00007D4A,
+ 13486: 0x00007D3B,
+ 13487: 0x00007D28,
+ 13488: 0x00007F63,
+ 13489: 0x00007F95,
+ 13490: 0x00007F9C,
+ 13491: 0x00007F9D,
+ 13492: 0x00007F9B,
+ 13493: 0x00007FCA,
+ 13494: 0x00007FCB,
+ 13495: 0x00007FCD,
+ 13496: 0x00007FD0,
+ 13497: 0x00007FD1,
+ 13498: 0x00007FC7,
+ 13499: 0x00007FCF,
+ 13500: 0x00007FC9,
+ 13501: 0x0000801F,
+ 13502: 0x0000801E,
+ 13503: 0x0000801B,
+ 13504: 0x00008047,
+ 13505: 0x00008043,
+ 13506: 0x00008048,
+ 13507: 0x00008118,
+ 13508: 0x00008125,
+ 13509: 0x00008119,
+ 13510: 0x0000811B,
+ 13511: 0x0000812D,
+ 13512: 0x0000811F,
+ 13513: 0x0000812C,
+ 13514: 0x0000811E,
+ 13515: 0x00008121,
+ 13516: 0x00008115,
+ 13517: 0x00008127,
+ 13518: 0x0000811D,
+ 13519: 0x00008122,
+ 13520: 0x00008211,
+ 13521: 0x00008238,
+ 13522: 0x00008233,
+ 13523: 0x0000823A,
+ 13524: 0x00008234,
+ 13525: 0x00008232,
+ 13526: 0x00008274,
+ 13527: 0x00008390,
+ 13528: 0x000083A3,
+ 13529: 0x000083A8,
+ 13530: 0x0000838D,
+ 13531: 0x0000837A,
+ 13532: 0x00008373,
+ 13533: 0x000083A4,
+ 13534: 0x00008374,
+ 13535: 0x0000838F,
+ 13536: 0x00008381,
+ 13537: 0x00008395,
+ 13538: 0x00008399,
+ 13539: 0x00008375,
+ 13540: 0x00008394,
+ 13541: 0x000083A9,
+ 13542: 0x0000837D,
+ 13543: 0x00008383,
+ 13544: 0x0000838C,
+ 13545: 0x0000839D,
+ 13546: 0x0000839B,
+ 13547: 0x000083AA,
+ 13548: 0x0000838B,
+ 13549: 0x0000837E,
+ 13550: 0x000083A5,
+ 13551: 0x000083AF,
+ 13552: 0x00008388,
+ 13553: 0x00008397,
+ 13554: 0x000083B0,
+ 13555: 0x0000837F,
+ 13556: 0x000083A6,
+ 13557: 0x00008387,
+ 13558: 0x000083AE,
+ 13559: 0x00008376,
+ 13560: 0x0000839A,
+ 13561: 0x00008659,
+ 13562: 0x00008656,
+ 13563: 0x000086BF,
+ 13564: 0x000086B7,
+ 13565: 0x000086C2,
+ 13566: 0x000086C1,
+ 13567: 0x000086C5,
+ 13568: 0x000086BA,
+ 13569: 0x000086B0,
+ 13570: 0x000086C8,
+ 13571: 0x000086B9,
+ 13572: 0x000086B3,
+ 13573: 0x000086B8,
+ 13574: 0x000086CC,
+ 13575: 0x000086B4,
+ 13576: 0x000086BB,
+ 13577: 0x000086BC,
+ 13578: 0x000086C3,
+ 13579: 0x000086BD,
+ 13580: 0x000086BE,
+ 13581: 0x00008852,
+ 13582: 0x00008889,
+ 13583: 0x00008895,
+ 13584: 0x000088A8,
+ 13585: 0x000088A2,
+ 13586: 0x000088AA,
+ 13587: 0x0000889A,
+ 13588: 0x00008891,
+ 13589: 0x000088A1,
+ 13590: 0x0000889F,
+ 13591: 0x00008898,
+ 13592: 0x000088A7,
+ 13593: 0x00008899,
+ 13594: 0x0000889B,
+ 13595: 0x00008897,
+ 13596: 0x000088A4,
+ 13597: 0x000088AC,
+ 13598: 0x0000888C,
+ 13599: 0x00008893,
+ 13600: 0x0000888E,
+ 13601: 0x00008982,
+ 13602: 0x000089D6,
+ 13603: 0x000089D9,
+ 13604: 0x000089D5,
+ 13605: 0x00008A30,
+ 13606: 0x00008A27,
+ 13607: 0x00008A2C,
+ 13608: 0x00008A1E,
+ 13609: 0x00008C39,
+ 13610: 0x00008C3B,
+ 13611: 0x00008C5C,
+ 13612: 0x00008C5D,
+ 13613: 0x00008C7D,
+ 13614: 0x00008CA5,
+ 13615: 0x00008D7D,
+ 13616: 0x00008D7B,
+ 13617: 0x00008D79,
+ 13618: 0x00008DBC,
+ 13619: 0x00008DC2,
+ 13620: 0x00008DB9,
+ 13621: 0x00008DBF,
+ 13622: 0x00008DC1,
+ 13623: 0x00008ED8,
+ 13624: 0x00008EDE,
+ 13625: 0x00008EDD,
+ 13626: 0x00008EDC,
+ 13627: 0x00008ED7,
+ 13628: 0x00008EE0,
+ 13629: 0x00008EE1,
+ 13630: 0x00009024,
+ 13631: 0x0000900B,
+ 13632: 0x00009011,
+ 13633: 0x0000901C,
+ 13634: 0x0000900C,
+ 13635: 0x00009021,
+ 13636: 0x000090EF,
+ 13637: 0x000090EA,
+ 13638: 0x000090F0,
+ 13639: 0x000090F4,
+ 13640: 0x000090F2,
+ 13641: 0x000090F3,
+ 13642: 0x000090D4,
+ 13643: 0x000090EB,
+ 13644: 0x000090EC,
+ 13645: 0x000090E9,
+ 13646: 0x00009156,
+ 13647: 0x00009158,
+ 13648: 0x0000915A,
+ 13649: 0x00009153,
+ 13650: 0x00009155,
+ 13651: 0x000091EC,
+ 13652: 0x000091F4,
+ 13653: 0x000091F1,
+ 13654: 0x000091F3,
+ 13655: 0x000091F8,
+ 13656: 0x000091E4,
+ 13657: 0x000091F9,
+ 13658: 0x000091EA,
+ 13659: 0x000091EB,
+ 13660: 0x000091F7,
+ 13661: 0x000091E8,
+ 13662: 0x000091EE,
+ 13663: 0x0000957A,
+ 13664: 0x00009586,
+ 13665: 0x00009588,
+ 13666: 0x0000967C,
+ 13667: 0x0000966D,
+ 13668: 0x0000966B,
+ 13669: 0x00009671,
+ 13670: 0x0000966F,
+ 13671: 0x000096BF,
+ 13672: 0x0000976A,
+ 13673: 0x00009804,
+ 13674: 0x000098E5,
+ 13675: 0x00009997,
+ 13676: 0x0000509B,
+ 13677: 0x00005095,
+ 13678: 0x00005094,
+ 13679: 0x0000509E,
+ 13680: 0x0000508B,
+ 13681: 0x000050A3,
+ 13682: 0x00005083,
+ 13683: 0x0000508C,
+ 13684: 0x0000508E,
+ 13685: 0x0000509D,
+ 13686: 0x00005068,
+ 13687: 0x0000509C,
+ 13688: 0x00005092,
+ 13689: 0x00005082,
+ 13690: 0x00005087,
+ 13691: 0x0000515F,
+ 13692: 0x000051D4,
+ 13693: 0x00005312,
+ 13694: 0x00005311,
+ 13695: 0x000053A4,
+ 13696: 0x000053A7,
+ 13697: 0x00005591,
+ 13698: 0x000055A8,
+ 13699: 0x000055A5,
+ 13700: 0x000055AD,
+ 13701: 0x00005577,
+ 13702: 0x00005645,
+ 13703: 0x000055A2,
+ 13704: 0x00005593,
+ 13705: 0x00005588,
+ 13706: 0x0000558F,
+ 13707: 0x000055B5,
+ 13708: 0x00005581,
+ 13709: 0x000055A3,
+ 13710: 0x00005592,
+ 13711: 0x000055A4,
+ 13712: 0x0000557D,
+ 13713: 0x0000558C,
+ 13714: 0x000055A6,
+ 13715: 0x0000557F,
+ 13716: 0x00005595,
+ 13717: 0x000055A1,
+ 13718: 0x0000558E,
+ 13719: 0x0000570C,
+ 13720: 0x00005829,
+ 13721: 0x00005837,
+ 13722: 0x00005819,
+ 13723: 0x0000581E,
+ 13724: 0x00005827,
+ 13725: 0x00005823,
+ 13726: 0x00005828,
+ 13727: 0x000057F5,
+ 13728: 0x00005848,
+ 13729: 0x00005825,
+ 13730: 0x0000581C,
+ 13731: 0x0000581B,
+ 13732: 0x00005833,
+ 13733: 0x0000583F,
+ 13734: 0x00005836,
+ 13735: 0x0000582E,
+ 13736: 0x00005839,
+ 13737: 0x00005838,
+ 13738: 0x0000582D,
+ 13739: 0x0000582C,
+ 13740: 0x0000583B,
+ 13741: 0x00005961,
+ 13742: 0x00005AAF,
+ 13743: 0x00005A94,
+ 13744: 0x00005A9F,
+ 13745: 0x00005A7A,
+ 13746: 0x00005AA2,
+ 13747: 0x00005A9E,
+ 13748: 0x00005A78,
+ 13749: 0x00005AA6,
+ 13750: 0x00005A7C,
+ 13751: 0x00005AA5,
+ 13752: 0x00005AAC,
+ 13753: 0x00005A95,
+ 13754: 0x00005AAE,
+ 13755: 0x00005A37,
+ 13756: 0x00005A84,
+ 13757: 0x00005A8A,
+ 13758: 0x00005A97,
+ 13759: 0x00005A83,
+ 13760: 0x00005A8B,
+ 13761: 0x00005AA9,
+ 13762: 0x00005A7B,
+ 13763: 0x00005A7D,
+ 13764: 0x00005A8C,
+ 13765: 0x00005A9C,
+ 13766: 0x00005A8F,
+ 13767: 0x00005A93,
+ 13768: 0x00005A9D,
+ 13769: 0x00005BEA,
+ 13770: 0x00005BCD,
+ 13771: 0x00005BCB,
+ 13772: 0x00005BD4,
+ 13773: 0x00005BD1,
+ 13774: 0x00005BCA,
+ 13775: 0x00005BCE,
+ 13776: 0x00005C0C,
+ 13777: 0x00005C30,
+ 13778: 0x00005D37,
+ 13779: 0x00005D43,
+ 13780: 0x00005D6B,
+ 13781: 0x00005D41,
+ 13782: 0x00005D4B,
+ 13783: 0x00005D3F,
+ 13784: 0x00005D35,
+ 13785: 0x00005D51,
+ 13786: 0x00005D4E,
+ 13787: 0x00005D55,
+ 13788: 0x00005D33,
+ 13789: 0x00005D3A,
+ 13790: 0x00005D52,
+ 13791: 0x00005D3D,
+ 13792: 0x00005D31,
+ 13793: 0x00005D59,
+ 13794: 0x00005D42,
+ 13795: 0x00005D39,
+ 13796: 0x00005D49,
+ 13797: 0x00005D38,
+ 13798: 0x00005D3C,
+ 13799: 0x00005D32,
+ 13800: 0x00005D36,
+ 13801: 0x00005D40,
+ 13802: 0x00005D45,
+ 13803: 0x00005E44,
+ 13804: 0x00005E41,
+ 13805: 0x00005F58,
+ 13806: 0x00005FA6,
+ 13807: 0x00005FA5,
+ 13808: 0x00005FAB,
+ 13809: 0x000060C9,
+ 13810: 0x000060B9,
+ 13811: 0x000060CC,
+ 13812: 0x000060E2,
+ 13813: 0x000060CE,
+ 13814: 0x000060C4,
+ 13815: 0x00006114,
+ 13816: 0x000060F2,
+ 13817: 0x0000610A,
+ 13818: 0x00006116,
+ 13819: 0x00006105,
+ 13820: 0x000060F5,
+ 13821: 0x00006113,
+ 13822: 0x000060F8,
+ 13823: 0x000060FC,
+ 13824: 0x000060FE,
+ 13825: 0x000060C1,
+ 13826: 0x00006103,
+ 13827: 0x00006118,
+ 13828: 0x0000611D,
+ 13829: 0x00006110,
+ 13830: 0x000060FF,
+ 13831: 0x00006104,
+ 13832: 0x0000610B,
+ 13833: 0x0000624A,
+ 13834: 0x00006394,
+ 13835: 0x000063B1,
+ 13836: 0x000063B0,
+ 13837: 0x000063CE,
+ 13838: 0x000063E5,
+ 13839: 0x000063E8,
+ 13840: 0x000063EF,
+ 13841: 0x000063C3,
+ 13842: 0x0000649D,
+ 13843: 0x000063F3,
+ 13844: 0x000063CA,
+ 13845: 0x000063E0,
+ 13846: 0x000063F6,
+ 13847: 0x000063D5,
+ 13848: 0x000063F2,
+ 13849: 0x000063F5,
+ 13850: 0x00006461,
+ 13851: 0x000063DF,
+ 13852: 0x000063BE,
+ 13853: 0x000063DD,
+ 13854: 0x000063DC,
+ 13855: 0x000063C4,
+ 13856: 0x000063D8,
+ 13857: 0x000063D3,
+ 13858: 0x000063C2,
+ 13859: 0x000063C7,
+ 13860: 0x000063CC,
+ 13861: 0x000063CB,
+ 13862: 0x000063C8,
+ 13863: 0x000063F0,
+ 13864: 0x000063D7,
+ 13865: 0x000063D9,
+ 13866: 0x00006532,
+ 13867: 0x00006567,
+ 13868: 0x0000656A,
+ 13869: 0x00006564,
+ 13870: 0x0000655C,
+ 13871: 0x00006568,
+ 13872: 0x00006565,
+ 13873: 0x0000658C,
+ 13874: 0x0000659D,
+ 13875: 0x0000659E,
+ 13876: 0x000065AE,
+ 13877: 0x000065D0,
+ 13878: 0x000065D2,
+ 13879: 0x0000667C,
+ 13880: 0x0000666C,
+ 13881: 0x0000667B,
+ 13882: 0x00006680,
+ 13883: 0x00006671,
+ 13884: 0x00006679,
+ 13885: 0x0000666A,
+ 13886: 0x00006672,
+ 13887: 0x00006701,
+ 13888: 0x0000690C,
+ 13889: 0x000068D3,
+ 13890: 0x00006904,
+ 13891: 0x000068DC,
+ 13892: 0x0000692A,
+ 13893: 0x000068EC,
+ 13894: 0x000068EA,
+ 13895: 0x000068F1,
+ 13896: 0x0000690F,
+ 13897: 0x000068D6,
+ 13898: 0x000068F7,
+ 13899: 0x000068EB,
+ 13900: 0x000068E4,
+ 13901: 0x000068F6,
+ 13902: 0x00006913,
+ 13903: 0x00006910,
+ 13904: 0x000068F3,
+ 13905: 0x000068E1,
+ 13906: 0x00006907,
+ 13907: 0x000068CC,
+ 13908: 0x00006908,
+ 13909: 0x00006970,
+ 13910: 0x000068B4,
+ 13911: 0x00006911,
+ 13912: 0x000068EF,
+ 13913: 0x000068C6,
+ 13914: 0x00006914,
+ 13915: 0x000068F8,
+ 13916: 0x000068D0,
+ 13917: 0x000068FD,
+ 13918: 0x000068FC,
+ 13919: 0x000068E8,
+ 13920: 0x0000690B,
+ 13921: 0x0000690A,
+ 13922: 0x00006917,
+ 13923: 0x000068CE,
+ 13924: 0x000068C8,
+ 13925: 0x000068DD,
+ 13926: 0x000068DE,
+ 13927: 0x000068E6,
+ 13928: 0x000068F4,
+ 13929: 0x000068D1,
+ 13930: 0x00006906,
+ 13931: 0x000068D4,
+ 13932: 0x000068E9,
+ 13933: 0x00006915,
+ 13934: 0x00006925,
+ 13935: 0x000068C7,
+ 13936: 0x00006B39,
+ 13937: 0x00006B3B,
+ 13938: 0x00006B3F,
+ 13939: 0x00006B3C,
+ 13940: 0x00006B94,
+ 13941: 0x00006B97,
+ 13942: 0x00006B99,
+ 13943: 0x00006B95,
+ 13944: 0x00006BBD,
+ 13945: 0x00006BF0,
+ 13946: 0x00006BF2,
+ 13947: 0x00006BF3,
+ 13948: 0x00006C30,
+ 13949: 0x00006DFC,
+ 13950: 0x00006E46,
+ 13951: 0x00006E47,
+ 13952: 0x00006E1F,
+ 13953: 0x00006E49,
+ 13954: 0x00006E88,
+ 13955: 0x00006E3C,
+ 13956: 0x00006E3D,
+ 13957: 0x00006E45,
+ 13958: 0x00006E62,
+ 13959: 0x00006E2B,
+ 13960: 0x00006E3F,
+ 13961: 0x00006E41,
+ 13962: 0x00006E5D,
+ 13963: 0x00006E73,
+ 13964: 0x00006E1C,
+ 13965: 0x00006E33,
+ 13966: 0x00006E4B,
+ 13967: 0x00006E40,
+ 13968: 0x00006E51,
+ 13969: 0x00006E3B,
+ 13970: 0x00006E03,
+ 13971: 0x00006E2E,
+ 13972: 0x00006E5E,
+ 13973: 0x00006E68,
+ 13974: 0x00006E5C,
+ 13975: 0x00006E61,
+ 13976: 0x00006E31,
+ 13977: 0x00006E28,
+ 13978: 0x00006E60,
+ 13979: 0x00006E71,
+ 13980: 0x00006E6B,
+ 13981: 0x00006E39,
+ 13982: 0x00006E22,
+ 13983: 0x00006E30,
+ 13984: 0x00006E53,
+ 13985: 0x00006E65,
+ 13986: 0x00006E27,
+ 13987: 0x00006E78,
+ 13988: 0x00006E64,
+ 13989: 0x00006E77,
+ 13990: 0x00006E55,
+ 13991: 0x00006E79,
+ 13992: 0x00006E52,
+ 13993: 0x00006E66,
+ 13994: 0x00006E35,
+ 13995: 0x00006E36,
+ 13996: 0x00006E5A,
+ 13997: 0x00007120,
+ 13998: 0x0000711E,
+ 13999: 0x0000712F,
+ 14000: 0x000070FB,
+ 14001: 0x0000712E,
+ 14002: 0x00007131,
+ 14003: 0x00007123,
+ 14004: 0x00007125,
+ 14005: 0x00007122,
+ 14006: 0x00007132,
+ 14007: 0x0000711F,
+ 14008: 0x00007128,
+ 14009: 0x0000713A,
+ 14010: 0x0000711B,
+ 14011: 0x0000724B,
+ 14012: 0x0000725A,
+ 14013: 0x00007288,
+ 14014: 0x00007289,
+ 14015: 0x00007286,
+ 14016: 0x00007285,
+ 14017: 0x0000728B,
+ 14018: 0x00007312,
+ 14019: 0x0000730B,
+ 14020: 0x00007330,
+ 14021: 0x00007322,
+ 14022: 0x00007331,
+ 14023: 0x00007333,
+ 14024: 0x00007327,
+ 14025: 0x00007332,
+ 14026: 0x0000732D,
+ 14027: 0x00007326,
+ 14028: 0x00007323,
+ 14029: 0x00007335,
+ 14030: 0x0000730C,
+ 14031: 0x0000742E,
+ 14032: 0x0000742C,
+ 14033: 0x00007430,
+ 14034: 0x0000742B,
+ 14035: 0x00007416,
+ 14036: 0x0000741A,
+ 14037: 0x00007421,
+ 14038: 0x0000742D,
+ 14039: 0x00007431,
+ 14040: 0x00007424,
+ 14041: 0x00007423,
+ 14042: 0x0000741D,
+ 14043: 0x00007429,
+ 14044: 0x00007420,
+ 14045: 0x00007432,
+ 14046: 0x000074FB,
+ 14047: 0x0000752F,
+ 14048: 0x0000756F,
+ 14049: 0x0000756C,
+ 14050: 0x000075E7,
+ 14051: 0x000075DA,
+ 14052: 0x000075E1,
+ 14053: 0x000075E6,
+ 14054: 0x000075DD,
+ 14055: 0x000075DF,
+ 14056: 0x000075E4,
+ 14057: 0x000075D7,
+ 14058: 0x00007695,
+ 14059: 0x00007692,
+ 14060: 0x000076DA,
+ 14061: 0x00007746,
+ 14062: 0x00007747,
+ 14063: 0x00007744,
+ 14064: 0x0000774D,
+ 14065: 0x00007745,
+ 14066: 0x0000774A,
+ 14067: 0x0000774E,
+ 14068: 0x0000774B,
+ 14069: 0x0000774C,
+ 14070: 0x000077DE,
+ 14071: 0x000077EC,
+ 14072: 0x00007860,
+ 14073: 0x00007864,
+ 14074: 0x00007865,
+ 14075: 0x0000785C,
+ 14076: 0x0000786D,
+ 14077: 0x00007871,
+ 14078: 0x0000786A,
+ 14079: 0x0000786E,
+ 14080: 0x00007870,
+ 14081: 0x00007869,
+ 14082: 0x00007868,
+ 14083: 0x0000785E,
+ 14084: 0x00007862,
+ 14085: 0x00007974,
+ 14086: 0x00007973,
+ 14087: 0x00007972,
+ 14088: 0x00007970,
+ 14089: 0x00007A02,
+ 14090: 0x00007A0A,
+ 14091: 0x00007A03,
+ 14092: 0x00007A0C,
+ 14093: 0x00007A04,
+ 14094: 0x00007A99,
+ 14095: 0x00007AE6,
+ 14096: 0x00007AE4,
+ 14097: 0x00007B4A,
+ 14098: 0x00007B3B,
+ 14099: 0x00007B44,
+ 14100: 0x00007B48,
+ 14101: 0x00007B4C,
+ 14102: 0x00007B4E,
+ 14103: 0x00007B40,
+ 14104: 0x00007B58,
+ 14105: 0x00007B45,
+ 14106: 0x00007CA2,
+ 14107: 0x00007C9E,
+ 14108: 0x00007CA8,
+ 14109: 0x00007CA1,
+ 14110: 0x00007D58,
+ 14111: 0x00007D6F,
+ 14112: 0x00007D63,
+ 14113: 0x00007D53,
+ 14114: 0x00007D56,
+ 14115: 0x00007D67,
+ 14116: 0x00007D6A,
+ 14117: 0x00007D4F,
+ 14118: 0x00007D6D,
+ 14119: 0x00007D5C,
+ 14120: 0x00007D6B,
+ 14121: 0x00007D52,
+ 14122: 0x00007D54,
+ 14123: 0x00007D69,
+ 14124: 0x00007D51,
+ 14125: 0x00007D5F,
+ 14126: 0x00007D4E,
+ 14127: 0x00007F3E,
+ 14128: 0x00007F3F,
+ 14129: 0x00007F65,
+ 14130: 0x00007F66,
+ 14131: 0x00007FA2,
+ 14132: 0x00007FA0,
+ 14133: 0x00007FA1,
+ 14134: 0x00007FD7,
+ 14135: 0x00008051,
+ 14136: 0x0000804F,
+ 14137: 0x00008050,
+ 14138: 0x000080FE,
+ 14139: 0x000080D4,
+ 14140: 0x00008143,
+ 14141: 0x0000814A,
+ 14142: 0x00008152,
+ 14143: 0x0000814F,
+ 14144: 0x00008147,
+ 14145: 0x0000813D,
+ 14146: 0x0000814D,
+ 14147: 0x0000813A,
+ 14148: 0x000081E6,
+ 14149: 0x000081EE,
+ 14150: 0x000081F7,
+ 14151: 0x000081F8,
+ 14152: 0x000081F9,
+ 14153: 0x00008204,
+ 14154: 0x0000823C,
+ 14155: 0x0000823D,
+ 14156: 0x0000823F,
+ 14157: 0x00008275,
+ 14158: 0x0000833B,
+ 14159: 0x000083CF,
+ 14160: 0x000083F9,
+ 14161: 0x00008423,
+ 14162: 0x000083C0,
+ 14163: 0x000083E8,
+ 14164: 0x00008412,
+ 14165: 0x000083E7,
+ 14166: 0x000083E4,
+ 14167: 0x000083FC,
+ 14168: 0x000083F6,
+ 14169: 0x00008410,
+ 14170: 0x000083C6,
+ 14171: 0x000083C8,
+ 14172: 0x000083EB,
+ 14173: 0x000083E3,
+ 14174: 0x000083BF,
+ 14175: 0x00008401,
+ 14176: 0x000083DD,
+ 14177: 0x000083E5,
+ 14178: 0x000083D8,
+ 14179: 0x000083FF,
+ 14180: 0x000083E1,
+ 14181: 0x000083CB,
+ 14182: 0x000083CE,
+ 14183: 0x000083D6,
+ 14184: 0x000083F5,
+ 14185: 0x000083C9,
+ 14186: 0x00008409,
+ 14187: 0x0000840F,
+ 14188: 0x000083DE,
+ 14189: 0x00008411,
+ 14190: 0x00008406,
+ 14191: 0x000083C2,
+ 14192: 0x000083F3,
+ 14193: 0x000083D5,
+ 14194: 0x000083FA,
+ 14195: 0x000083C7,
+ 14196: 0x000083D1,
+ 14197: 0x000083EA,
+ 14198: 0x00008413,
+ 14199: 0x000083C3,
+ 14200: 0x000083EC,
+ 14201: 0x000083EE,
+ 14202: 0x000083C4,
+ 14203: 0x000083FB,
+ 14204: 0x000083D7,
+ 14205: 0x000083E2,
+ 14206: 0x0000841B,
+ 14207: 0x000083DB,
+ 14208: 0x000083FE,
+ 14209: 0x000086D8,
+ 14210: 0x000086E2,
+ 14211: 0x000086E6,
+ 14212: 0x000086D3,
+ 14213: 0x000086E3,
+ 14214: 0x000086DA,
+ 14215: 0x000086EA,
+ 14216: 0x000086DD,
+ 14217: 0x000086EB,
+ 14218: 0x000086DC,
+ 14219: 0x000086EC,
+ 14220: 0x000086E9,
+ 14221: 0x000086D7,
+ 14222: 0x000086E8,
+ 14223: 0x000086D1,
+ 14224: 0x00008848,
+ 14225: 0x00008856,
+ 14226: 0x00008855,
+ 14227: 0x000088BA,
+ 14228: 0x000088D7,
+ 14229: 0x000088B9,
+ 14230: 0x000088B8,
+ 14231: 0x000088C0,
+ 14232: 0x000088BE,
+ 14233: 0x000088B6,
+ 14234: 0x000088BC,
+ 14235: 0x000088B7,
+ 14236: 0x000088BD,
+ 14237: 0x000088B2,
+ 14238: 0x00008901,
+ 14239: 0x000088C9,
+ 14240: 0x00008995,
+ 14241: 0x00008998,
+ 14242: 0x00008997,
+ 14243: 0x000089DD,
+ 14244: 0x000089DA,
+ 14245: 0x000089DB,
+ 14246: 0x00008A4E,
+ 14247: 0x00008A4D,
+ 14248: 0x00008A39,
+ 14249: 0x00008A59,
+ 14250: 0x00008A40,
+ 14251: 0x00008A57,
+ 14252: 0x00008A58,
+ 14253: 0x00008A44,
+ 14254: 0x00008A45,
+ 14255: 0x00008A52,
+ 14256: 0x00008A48,
+ 14257: 0x00008A51,
+ 14258: 0x00008A4A,
+ 14259: 0x00008A4C,
+ 14260: 0x00008A4F,
+ 14261: 0x00008C5F,
+ 14262: 0x00008C81,
+ 14263: 0x00008C80,
+ 14264: 0x00008CBA,
+ 14265: 0x00008CBE,
+ 14266: 0x00008CB0,
+ 14267: 0x00008CB9,
+ 14268: 0x00008CB5,
+ 14269: 0x00008D84,
+ 14270: 0x00008D80,
+ 14271: 0x00008D89,
+ 14272: 0x00008DD8,
+ 14273: 0x00008DD3,
+ 14274: 0x00008DCD,
+ 14275: 0x00008DC7,
+ 14276: 0x00008DD6,
+ 14277: 0x00008DDC,
+ 14278: 0x00008DCF,
+ 14279: 0x00008DD5,
+ 14280: 0x00008DD9,
+ 14281: 0x00008DC8,
+ 14282: 0x00008DD7,
+ 14283: 0x00008DC5,
+ 14284: 0x00008EEF,
+ 14285: 0x00008EF7,
+ 14286: 0x00008EFA,
+ 14287: 0x00008EF9,
+ 14288: 0x00008EE6,
+ 14289: 0x00008EEE,
+ 14290: 0x00008EE5,
+ 14291: 0x00008EF5,
+ 14292: 0x00008EE7,
+ 14293: 0x00008EE8,
+ 14294: 0x00008EF6,
+ 14295: 0x00008EEB,
+ 14296: 0x00008EF1,
+ 14297: 0x00008EEC,
+ 14298: 0x00008EF4,
+ 14299: 0x00008EE9,
+ 14300: 0x0000902D,
+ 14301: 0x00009034,
+ 14302: 0x0000902F,
+ 14303: 0x00009106,
+ 14304: 0x0000912C,
+ 14305: 0x00009104,
+ 14306: 0x000090FF,
+ 14307: 0x000090FC,
+ 14308: 0x00009108,
+ 14309: 0x000090F9,
+ 14310: 0x000090FB,
+ 14311: 0x00009101,
+ 14312: 0x00009100,
+ 14313: 0x00009107,
+ 14314: 0x00009105,
+ 14315: 0x00009103,
+ 14316: 0x00009161,
+ 14317: 0x00009164,
+ 14318: 0x0000915F,
+ 14319: 0x00009162,
+ 14320: 0x00009160,
+ 14321: 0x00009201,
+ 14322: 0x0000920A,
+ 14323: 0x00009225,
+ 14324: 0x00009203,
+ 14325: 0x0000921A,
+ 14326: 0x00009226,
+ 14327: 0x0000920F,
+ 14328: 0x0000920C,
+ 14329: 0x00009200,
+ 14330: 0x00009212,
+ 14331: 0x000091FF,
+ 14332: 0x000091FD,
+ 14333: 0x00009206,
+ 14334: 0x00009204,
+ 14335: 0x00009227,
+ 14336: 0x00009202,
+ 14337: 0x0000921C,
+ 14338: 0x00009224,
+ 14339: 0x00009219,
+ 14340: 0x00009217,
+ 14341: 0x00009205,
+ 14342: 0x00009216,
+ 14343: 0x0000957B,
+ 14344: 0x0000958D,
+ 14345: 0x0000958C,
+ 14346: 0x00009590,
+ 14347: 0x00009687,
+ 14348: 0x0000967E,
+ 14349: 0x00009688,
+ 14350: 0x00009689,
+ 14351: 0x00009683,
+ 14352: 0x00009680,
+ 14353: 0x000096C2,
+ 14354: 0x000096C8,
+ 14355: 0x000096C3,
+ 14356: 0x000096F1,
+ 14357: 0x000096F0,
+ 14358: 0x0000976C,
+ 14359: 0x00009770,
+ 14360: 0x0000976E,
+ 14361: 0x00009807,
+ 14362: 0x000098A9,
+ 14363: 0x000098EB,
+ 14364: 0x00009CE6,
+ 14365: 0x00009EF9,
+ 14366: 0x00004E83,
+ 14367: 0x00004E84,
+ 14368: 0x00004EB6,
+ 14369: 0x000050BD,
+ 14370: 0x000050BF,
+ 14371: 0x000050C6,
+ 14372: 0x000050AE,
+ 14373: 0x000050C4,
+ 14374: 0x000050CA,
+ 14375: 0x000050B4,
+ 14376: 0x000050C8,
+ 14377: 0x000050C2,
+ 14378: 0x000050B0,
+ 14379: 0x000050C1,
+ 14380: 0x000050BA,
+ 14381: 0x000050B1,
+ 14382: 0x000050CB,
+ 14383: 0x000050C9,
+ 14384: 0x000050B6,
+ 14385: 0x000050B8,
+ 14386: 0x000051D7,
+ 14387: 0x0000527A,
+ 14388: 0x00005278,
+ 14389: 0x0000527B,
+ 14390: 0x0000527C,
+ 14391: 0x000055C3,
+ 14392: 0x000055DB,
+ 14393: 0x000055CC,
+ 14394: 0x000055D0,
+ 14395: 0x000055CB,
+ 14396: 0x000055CA,
+ 14397: 0x000055DD,
+ 14398: 0x000055C0,
+ 14399: 0x000055D4,
+ 14400: 0x000055C4,
+ 14401: 0x000055E9,
+ 14402: 0x000055BF,
+ 14403: 0x000055D2,
+ 14404: 0x0000558D,
+ 14405: 0x000055CF,
+ 14406: 0x000055D5,
+ 14407: 0x000055E2,
+ 14408: 0x000055D6,
+ 14409: 0x000055C8,
+ 14410: 0x000055F2,
+ 14411: 0x000055CD,
+ 14412: 0x000055D9,
+ 14413: 0x000055C2,
+ 14414: 0x00005714,
+ 14415: 0x00005853,
+ 14416: 0x00005868,
+ 14417: 0x00005864,
+ 14418: 0x0000584F,
+ 14419: 0x0000584D,
+ 14420: 0x00005849,
+ 14421: 0x0000586F,
+ 14422: 0x00005855,
+ 14423: 0x0000584E,
+ 14424: 0x0000585D,
+ 14425: 0x00005859,
+ 14426: 0x00005865,
+ 14427: 0x0000585B,
+ 14428: 0x0000583D,
+ 14429: 0x00005863,
+ 14430: 0x00005871,
+ 14431: 0x000058FC,
+ 14432: 0x00005AC7,
+ 14433: 0x00005AC4,
+ 14434: 0x00005ACB,
+ 14435: 0x00005ABA,
+ 14436: 0x00005AB8,
+ 14437: 0x00005AB1,
+ 14438: 0x00005AB5,
+ 14439: 0x00005AB0,
+ 14440: 0x00005ABF,
+ 14441: 0x00005AC8,
+ 14442: 0x00005ABB,
+ 14443: 0x00005AC6,
+ 14444: 0x00005AB7,
+ 14445: 0x00005AC0,
+ 14446: 0x00005ACA,
+ 14447: 0x00005AB4,
+ 14448: 0x00005AB6,
+ 14449: 0x00005ACD,
+ 14450: 0x00005AB9,
+ 14451: 0x00005A90,
+ 14452: 0x00005BD6,
+ 14453: 0x00005BD8,
+ 14454: 0x00005BD9,
+ 14455: 0x00005C1F,
+ 14456: 0x00005C33,
+ 14457: 0x00005D71,
+ 14458: 0x00005D63,
+ 14459: 0x00005D4A,
+ 14460: 0x00005D65,
+ 14461: 0x00005D72,
+ 14462: 0x00005D6C,
+ 14463: 0x00005D5E,
+ 14464: 0x00005D68,
+ 14465: 0x00005D67,
+ 14466: 0x00005D62,
+ 14467: 0x00005DF0,
+ 14468: 0x00005E4F,
+ 14469: 0x00005E4E,
+ 14470: 0x00005E4A,
+ 14471: 0x00005E4D,
+ 14472: 0x00005E4B,
+ 14473: 0x00005EC5,
+ 14474: 0x00005ECC,
+ 14475: 0x00005EC6,
+ 14476: 0x00005ECB,
+ 14477: 0x00005EC7,
+ 14478: 0x00005F40,
+ 14479: 0x00005FAF,
+ 14480: 0x00005FAD,
+ 14481: 0x000060F7,
+ 14482: 0x00006149,
+ 14483: 0x0000614A,
+ 14484: 0x0000612B,
+ 14485: 0x00006145,
+ 14486: 0x00006136,
+ 14487: 0x00006132,
+ 14488: 0x0000612E,
+ 14489: 0x00006146,
+ 14490: 0x0000612F,
+ 14491: 0x0000614F,
+ 14492: 0x00006129,
+ 14493: 0x00006140,
+ 14494: 0x00006220,
+ 14495: 0x00009168,
+ 14496: 0x00006223,
+ 14497: 0x00006225,
+ 14498: 0x00006224,
+ 14499: 0x000063C5,
+ 14500: 0x000063F1,
+ 14501: 0x000063EB,
+ 14502: 0x00006410,
+ 14503: 0x00006412,
+ 14504: 0x00006409,
+ 14505: 0x00006420,
+ 14506: 0x00006424,
+ 14507: 0x00006433,
+ 14508: 0x00006443,
+ 14509: 0x0000641F,
+ 14510: 0x00006415,
+ 14511: 0x00006418,
+ 14512: 0x00006439,
+ 14513: 0x00006437,
+ 14514: 0x00006422,
+ 14515: 0x00006423,
+ 14516: 0x0000640C,
+ 14517: 0x00006426,
+ 14518: 0x00006430,
+ 14519: 0x00006428,
+ 14520: 0x00006441,
+ 14521: 0x00006435,
+ 14522: 0x0000642F,
+ 14523: 0x0000640A,
+ 14524: 0x0000641A,
+ 14525: 0x00006440,
+ 14526: 0x00006425,
+ 14527: 0x00006427,
+ 14528: 0x0000640B,
+ 14529: 0x000063E7,
+ 14530: 0x0000641B,
+ 14531: 0x0000642E,
+ 14532: 0x00006421,
+ 14533: 0x0000640E,
+ 14534: 0x0000656F,
+ 14535: 0x00006592,
+ 14536: 0x000065D3,
+ 14537: 0x00006686,
+ 14538: 0x0000668C,
+ 14539: 0x00006695,
+ 14540: 0x00006690,
+ 14541: 0x0000668B,
+ 14542: 0x0000668A,
+ 14543: 0x00006699,
+ 14544: 0x00006694,
+ 14545: 0x00006678,
+ 14546: 0x00006720,
+ 14547: 0x00006966,
+ 14548: 0x0000695F,
+ 14549: 0x00006938,
+ 14550: 0x0000694E,
+ 14551: 0x00006962,
+ 14552: 0x00006971,
+ 14553: 0x0000693F,
+ 14554: 0x00006945,
+ 14555: 0x0000696A,
+ 14556: 0x00006939,
+ 14557: 0x00006942,
+ 14558: 0x00006957,
+ 14559: 0x00006959,
+ 14560: 0x0000697A,
+ 14561: 0x00006948,
+ 14562: 0x00006949,
+ 14563: 0x00006935,
+ 14564: 0x0000696C,
+ 14565: 0x00006933,
+ 14566: 0x0000693D,
+ 14567: 0x00006965,
+ 14568: 0x000068F0,
+ 14569: 0x00006978,
+ 14570: 0x00006934,
+ 14571: 0x00006969,
+ 14572: 0x00006940,
+ 14573: 0x0000696F,
+ 14574: 0x00006944,
+ 14575: 0x00006976,
+ 14576: 0x00006958,
+ 14577: 0x00006941,
+ 14578: 0x00006974,
+ 14579: 0x0000694C,
+ 14580: 0x0000693B,
+ 14581: 0x0000694B,
+ 14582: 0x00006937,
+ 14583: 0x0000695C,
+ 14584: 0x0000694F,
+ 14585: 0x00006951,
+ 14586: 0x00006932,
+ 14587: 0x00006952,
+ 14588: 0x0000692F,
+ 14589: 0x0000697B,
+ 14590: 0x0000693C,
+ 14591: 0x00006B46,
+ 14592: 0x00006B45,
+ 14593: 0x00006B43,
+ 14594: 0x00006B42,
+ 14595: 0x00006B48,
+ 14596: 0x00006B41,
+ 14597: 0x00006B9B,
+ 14598: 0x0000FA0D,
+ 14599: 0x00006BFB,
+ 14600: 0x00006BFC,
+ 14601: 0x00006BF9,
+ 14602: 0x00006BF7,
+ 14603: 0x00006BF8,
+ 14604: 0x00006E9B,
+ 14605: 0x00006ED6,
+ 14606: 0x00006EC8,
+ 14607: 0x00006E8F,
+ 14608: 0x00006EC0,
+ 14609: 0x00006E9F,
+ 14610: 0x00006E93,
+ 14611: 0x00006E94,
+ 14612: 0x00006EA0,
+ 14613: 0x00006EB1,
+ 14614: 0x00006EB9,
+ 14615: 0x00006EC6,
+ 14616: 0x00006ED2,
+ 14617: 0x00006EBD,
+ 14618: 0x00006EC1,
+ 14619: 0x00006E9E,
+ 14620: 0x00006EC9,
+ 14621: 0x00006EB7,
+ 14622: 0x00006EB0,
+ 14623: 0x00006ECD,
+ 14624: 0x00006EA6,
+ 14625: 0x00006ECF,
+ 14626: 0x00006EB2,
+ 14627: 0x00006EBE,
+ 14628: 0x00006EC3,
+ 14629: 0x00006EDC,
+ 14630: 0x00006ED8,
+ 14631: 0x00006E99,
+ 14632: 0x00006E92,
+ 14633: 0x00006E8E,
+ 14634: 0x00006E8D,
+ 14635: 0x00006EA4,
+ 14636: 0x00006EA1,
+ 14637: 0x00006EBF,
+ 14638: 0x00006EB3,
+ 14639: 0x00006ED0,
+ 14640: 0x00006ECA,
+ 14641: 0x00006E97,
+ 14642: 0x00006EAE,
+ 14643: 0x00006EA3,
+ 14644: 0x00007147,
+ 14645: 0x00007154,
+ 14646: 0x00007152,
+ 14647: 0x00007163,
+ 14648: 0x00007160,
+ 14649: 0x00007141,
+ 14650: 0x0000715D,
+ 14651: 0x00007162,
+ 14652: 0x00007172,
+ 14653: 0x00007178,
+ 14654: 0x0000716A,
+ 14655: 0x00007161,
+ 14656: 0x00007142,
+ 14657: 0x00007158,
+ 14658: 0x00007143,
+ 14659: 0x0000714B,
+ 14660: 0x00007170,
+ 14661: 0x0000715F,
+ 14662: 0x00007150,
+ 14663: 0x00007153,
+ 14664: 0x00007144,
+ 14665: 0x0000714D,
+ 14666: 0x0000715A,
+ 14667: 0x0000724F,
+ 14668: 0x0000728D,
+ 14669: 0x0000728C,
+ 14670: 0x00007291,
+ 14671: 0x00007290,
+ 14672: 0x0000728E,
+ 14673: 0x0000733C,
+ 14674: 0x00007342,
+ 14675: 0x0000733B,
+ 14676: 0x0000733A,
+ 14677: 0x00007340,
+ 14678: 0x0000734A,
+ 14679: 0x00007349,
+ 14680: 0x00007444,
+ 14681: 0x0000744A,
+ 14682: 0x0000744B,
+ 14683: 0x00007452,
+ 14684: 0x00007451,
+ 14685: 0x00007457,
+ 14686: 0x00007440,
+ 14687: 0x0000744F,
+ 14688: 0x00007450,
+ 14689: 0x0000744E,
+ 14690: 0x00007442,
+ 14691: 0x00007446,
+ 14692: 0x0000744D,
+ 14693: 0x00007454,
+ 14694: 0x000074E1,
+ 14695: 0x000074FF,
+ 14696: 0x000074FE,
+ 14697: 0x000074FD,
+ 14698: 0x0000751D,
+ 14699: 0x00007579,
+ 14700: 0x00007577,
+ 14701: 0x00006983,
+ 14702: 0x000075EF,
+ 14703: 0x0000760F,
+ 14704: 0x00007603,
+ 14705: 0x000075F7,
+ 14706: 0x000075FE,
+ 14707: 0x000075FC,
+ 14708: 0x000075F9,
+ 14709: 0x000075F8,
+ 14710: 0x00007610,
+ 14711: 0x000075FB,
+ 14712: 0x000075F6,
+ 14713: 0x000075ED,
+ 14714: 0x000075F5,
+ 14715: 0x000075FD,
+ 14716: 0x00007699,
+ 14717: 0x000076B5,
+ 14718: 0x000076DD,
+ 14719: 0x00007755,
+ 14720: 0x0000775F,
+ 14721: 0x00007760,
+ 14722: 0x00007752,
+ 14723: 0x00007756,
+ 14724: 0x0000775A,
+ 14725: 0x00007769,
+ 14726: 0x00007767,
+ 14727: 0x00007754,
+ 14728: 0x00007759,
+ 14729: 0x0000776D,
+ 14730: 0x000077E0,
+ 14731: 0x00007887,
+ 14732: 0x0000789A,
+ 14733: 0x00007894,
+ 14734: 0x0000788F,
+ 14735: 0x00007884,
+ 14736: 0x00007895,
+ 14737: 0x00007885,
+ 14738: 0x00007886,
+ 14739: 0x000078A1,
+ 14740: 0x00007883,
+ 14741: 0x00007879,
+ 14742: 0x00007899,
+ 14743: 0x00007880,
+ 14744: 0x00007896,
+ 14745: 0x0000787B,
+ 14746: 0x0000797C,
+ 14747: 0x00007982,
+ 14748: 0x0000797D,
+ 14749: 0x00007979,
+ 14750: 0x00007A11,
+ 14751: 0x00007A18,
+ 14752: 0x00007A19,
+ 14753: 0x00007A12,
+ 14754: 0x00007A17,
+ 14755: 0x00007A15,
+ 14756: 0x00007A22,
+ 14757: 0x00007A13,
+ 14758: 0x00007A1B,
+ 14759: 0x00007A10,
+ 14760: 0x00007AA3,
+ 14761: 0x00007AA2,
+ 14762: 0x00007A9E,
+ 14763: 0x00007AEB,
+ 14764: 0x00007B66,
+ 14765: 0x00007B64,
+ 14766: 0x00007B6D,
+ 14767: 0x00007B74,
+ 14768: 0x00007B69,
+ 14769: 0x00007B72,
+ 14770: 0x00007B65,
+ 14771: 0x00007B73,
+ 14772: 0x00007B71,
+ 14773: 0x00007B70,
+ 14774: 0x00007B61,
+ 14775: 0x00007B78,
+ 14776: 0x00007B76,
+ 14777: 0x00007B63,
+ 14778: 0x00007CB2,
+ 14779: 0x00007CB4,
+ 14780: 0x00007CAF,
+ 14781: 0x00007D88,
+ 14782: 0x00007D86,
+ 14783: 0x00007D80,
+ 14784: 0x00007D8D,
+ 14785: 0x00007D7F,
+ 14786: 0x00007D85,
+ 14787: 0x00007D7A,
+ 14788: 0x00007D8E,
+ 14789: 0x00007D7B,
+ 14790: 0x00007D83,
+ 14791: 0x00007D7C,
+ 14792: 0x00007D8C,
+ 14793: 0x00007D94,
+ 14794: 0x00007D84,
+ 14795: 0x00007D7D,
+ 14796: 0x00007D92,
+ 14797: 0x00007F6D,
+ 14798: 0x00007F6B,
+ 14799: 0x00007F67,
+ 14800: 0x00007F68,
+ 14801: 0x00007F6C,
+ 14802: 0x00007FA6,
+ 14803: 0x00007FA5,
+ 14804: 0x00007FA7,
+ 14805: 0x00007FDB,
+ 14806: 0x00007FDC,
+ 14807: 0x00008021,
+ 14808: 0x00008164,
+ 14809: 0x00008160,
+ 14810: 0x00008177,
+ 14811: 0x0000815C,
+ 14812: 0x00008169,
+ 14813: 0x0000815B,
+ 14814: 0x00008162,
+ 14815: 0x00008172,
+ 14816: 0x00006721,
+ 14817: 0x0000815E,
+ 14818: 0x00008176,
+ 14819: 0x00008167,
+ 14820: 0x0000816F,
+ 14821: 0x00008144,
+ 14822: 0x00008161,
+ 14823: 0x0000821D,
+ 14824: 0x00008249,
+ 14825: 0x00008244,
+ 14826: 0x00008240,
+ 14827: 0x00008242,
+ 14828: 0x00008245,
+ 14829: 0x000084F1,
+ 14830: 0x0000843F,
+ 14831: 0x00008456,
+ 14832: 0x00008476,
+ 14833: 0x00008479,
+ 14834: 0x0000848F,
+ 14835: 0x0000848D,
+ 14836: 0x00008465,
+ 14837: 0x00008451,
+ 14838: 0x00008440,
+ 14839: 0x00008486,
+ 14840: 0x00008467,
+ 14841: 0x00008430,
+ 14842: 0x0000844D,
+ 14843: 0x0000847D,
+ 14844: 0x0000845A,
+ 14845: 0x00008459,
+ 14846: 0x00008474,
+ 14847: 0x00008473,
+ 14848: 0x0000845D,
+ 14849: 0x00008507,
+ 14850: 0x0000845E,
+ 14851: 0x00008437,
+ 14852: 0x0000843A,
+ 14853: 0x00008434,
+ 14854: 0x0000847A,
+ 14855: 0x00008443,
+ 14856: 0x00008478,
+ 14857: 0x00008432,
+ 14858: 0x00008445,
+ 14859: 0x00008429,
+ 14860: 0x000083D9,
+ 14861: 0x0000844B,
+ 14862: 0x0000842F,
+ 14863: 0x00008442,
+ 14864: 0x0000842D,
+ 14865: 0x0000845F,
+ 14866: 0x00008470,
+ 14867: 0x00008439,
+ 14868: 0x0000844E,
+ 14869: 0x0000844C,
+ 14870: 0x00008452,
+ 14871: 0x0000846F,
+ 14872: 0x000084C5,
+ 14873: 0x0000848E,
+ 14874: 0x0000843B,
+ 14875: 0x00008447,
+ 14876: 0x00008436,
+ 14877: 0x00008433,
+ 14878: 0x00008468,
+ 14879: 0x0000847E,
+ 14880: 0x00008444,
+ 14881: 0x0000842B,
+ 14882: 0x00008460,
+ 14883: 0x00008454,
+ 14884: 0x0000846E,
+ 14885: 0x00008450,
+ 14886: 0x0000870B,
+ 14887: 0x00008704,
+ 14888: 0x000086F7,
+ 14889: 0x0000870C,
+ 14890: 0x000086FA,
+ 14891: 0x000086D6,
+ 14892: 0x000086F5,
+ 14893: 0x0000874D,
+ 14894: 0x000086F8,
+ 14895: 0x0000870E,
+ 14896: 0x00008709,
+ 14897: 0x00008701,
+ 14898: 0x000086F6,
+ 14899: 0x0000870D,
+ 14900: 0x00008705,
+ 14901: 0x000088D6,
+ 14902: 0x000088CB,
+ 14903: 0x000088CD,
+ 14904: 0x000088CE,
+ 14905: 0x000088DE,
+ 14906: 0x000088DB,
+ 14907: 0x000088DA,
+ 14908: 0x000088CC,
+ 14909: 0x000088D0,
+ 14910: 0x00008985,
+ 14911: 0x0000899B,
+ 14912: 0x000089DF,
+ 14913: 0x000089E5,
+ 14914: 0x000089E4,
+ 14915: 0x000089E1,
+ 14916: 0x000089E0,
+ 14917: 0x000089E2,
+ 14918: 0x000089DC,
+ 14919: 0x000089E6,
+ 14920: 0x00008A76,
+ 14921: 0x00008A86,
+ 14922: 0x00008A7F,
+ 14923: 0x00008A61,
+ 14924: 0x00008A3F,
+ 14925: 0x00008A77,
+ 14926: 0x00008A82,
+ 14927: 0x00008A84,
+ 14928: 0x00008A75,
+ 14929: 0x00008A83,
+ 14930: 0x00008A81,
+ 14931: 0x00008A74,
+ 14932: 0x00008A7A,
+ 14933: 0x00008C3C,
+ 14934: 0x00008C4B,
+ 14935: 0x00008C4A,
+ 14936: 0x00008C65,
+ 14937: 0x00008C64,
+ 14938: 0x00008C66,
+ 14939: 0x00008C86,
+ 14940: 0x00008C84,
+ 14941: 0x00008C85,
+ 14942: 0x00008CCC,
+ 14943: 0x00008D68,
+ 14944: 0x00008D69,
+ 14945: 0x00008D91,
+ 14946: 0x00008D8C,
+ 14947: 0x00008D8E,
+ 14948: 0x00008D8F,
+ 14949: 0x00008D8D,
+ 14950: 0x00008D93,
+ 14951: 0x00008D94,
+ 14952: 0x00008D90,
+ 14953: 0x00008D92,
+ 14954: 0x00008DF0,
+ 14955: 0x00008DE0,
+ 14956: 0x00008DEC,
+ 14957: 0x00008DF1,
+ 14958: 0x00008DEE,
+ 14959: 0x00008DD0,
+ 14960: 0x00008DE9,
+ 14961: 0x00008DE3,
+ 14962: 0x00008DE2,
+ 14963: 0x00008DE7,
+ 14964: 0x00008DF2,
+ 14965: 0x00008DEB,
+ 14966: 0x00008DF4,
+ 14967: 0x00008F06,
+ 14968: 0x00008EFF,
+ 14969: 0x00008F01,
+ 14970: 0x00008F00,
+ 14971: 0x00008F05,
+ 14972: 0x00008F07,
+ 14973: 0x00008F08,
+ 14974: 0x00008F02,
+ 14975: 0x00008F0B,
+ 14976: 0x00009052,
+ 14977: 0x0000903F,
+ 14978: 0x00009044,
+ 14979: 0x00009049,
+ 14980: 0x0000903D,
+ 14981: 0x00009110,
+ 14982: 0x0000910D,
+ 14983: 0x0000910F,
+ 14984: 0x00009111,
+ 14985: 0x00009116,
+ 14986: 0x00009114,
+ 14987: 0x0000910B,
+ 14988: 0x0000910E,
+ 14989: 0x0000916E,
+ 14990: 0x0000916F,
+ 14991: 0x00009248,
+ 14992: 0x00009252,
+ 14993: 0x00009230,
+ 14994: 0x0000923A,
+ 14995: 0x00009266,
+ 14996: 0x00009233,
+ 14997: 0x00009265,
+ 14998: 0x0000925E,
+ 14999: 0x00009283,
+ 15000: 0x0000922E,
+ 15001: 0x0000924A,
+ 15002: 0x00009246,
+ 15003: 0x0000926D,
+ 15004: 0x0000926C,
+ 15005: 0x0000924F,
+ 15006: 0x00009260,
+ 15007: 0x00009267,
+ 15008: 0x0000926F,
+ 15009: 0x00009236,
+ 15010: 0x00009261,
+ 15011: 0x00009270,
+ 15012: 0x00009231,
+ 15013: 0x00009254,
+ 15014: 0x00009263,
+ 15015: 0x00009250,
+ 15016: 0x00009272,
+ 15017: 0x0000924E,
+ 15018: 0x00009253,
+ 15019: 0x0000924C,
+ 15020: 0x00009256,
+ 15021: 0x00009232,
+ 15022: 0x0000959F,
+ 15023: 0x0000959C,
+ 15024: 0x0000959E,
+ 15025: 0x0000959B,
+ 15026: 0x00009692,
+ 15027: 0x00009693,
+ 15028: 0x00009691,
+ 15029: 0x00009697,
+ 15030: 0x000096CE,
+ 15031: 0x000096FA,
+ 15032: 0x000096FD,
+ 15033: 0x000096F8,
+ 15034: 0x000096F5,
+ 15035: 0x00009773,
+ 15036: 0x00009777,
+ 15037: 0x00009778,
+ 15038: 0x00009772,
+ 15039: 0x0000980F,
+ 15040: 0x0000980D,
+ 15041: 0x0000980E,
+ 15042: 0x000098AC,
+ 15043: 0x000098F6,
+ 15044: 0x000098F9,
+ 15045: 0x000099AF,
+ 15046: 0x000099B2,
+ 15047: 0x000099B0,
+ 15048: 0x000099B5,
+ 15049: 0x00009AAD,
+ 15050: 0x00009AAB,
+ 15051: 0x00009B5B,
+ 15052: 0x00009CEA,
+ 15053: 0x00009CED,
+ 15054: 0x00009CE7,
+ 15055: 0x00009E80,
+ 15056: 0x00009EFD,
+ 15057: 0x000050E6,
+ 15058: 0x000050D4,
+ 15059: 0x000050D7,
+ 15060: 0x000050E8,
+ 15061: 0x000050F3,
+ 15062: 0x000050DB,
+ 15063: 0x000050EA,
+ 15064: 0x000050DD,
+ 15065: 0x000050E4,
+ 15066: 0x000050D3,
+ 15067: 0x000050EC,
+ 15068: 0x000050F0,
+ 15069: 0x000050EF,
+ 15070: 0x000050E3,
+ 15071: 0x000050E0,
+ 15072: 0x000051D8,
+ 15073: 0x00005280,
+ 15074: 0x00005281,
+ 15075: 0x000052E9,
+ 15076: 0x000052EB,
+ 15077: 0x00005330,
+ 15078: 0x000053AC,
+ 15079: 0x00005627,
+ 15080: 0x00005615,
+ 15081: 0x0000560C,
+ 15082: 0x00005612,
+ 15083: 0x000055FC,
+ 15084: 0x0000560F,
+ 15085: 0x0000561C,
+ 15086: 0x00005601,
+ 15087: 0x00005613,
+ 15088: 0x00005602,
+ 15089: 0x000055FA,
+ 15090: 0x0000561D,
+ 15091: 0x00005604,
+ 15092: 0x000055FF,
+ 15093: 0x000055F9,
+ 15094: 0x00005889,
+ 15095: 0x0000587C,
+ 15096: 0x00005890,
+ 15097: 0x00005898,
+ 15098: 0x00005886,
+ 15099: 0x00005881,
+ 15100: 0x0000587F,
+ 15101: 0x00005874,
+ 15102: 0x0000588B,
+ 15103: 0x0000587A,
+ 15104: 0x00005887,
+ 15105: 0x00005891,
+ 15106: 0x0000588E,
+ 15107: 0x00005876,
+ 15108: 0x00005882,
+ 15109: 0x00005888,
+ 15110: 0x0000587B,
+ 15111: 0x00005894,
+ 15112: 0x0000588F,
+ 15113: 0x000058FE,
+ 15114: 0x0000596B,
+ 15115: 0x00005ADC,
+ 15116: 0x00005AEE,
+ 15117: 0x00005AE5,
+ 15118: 0x00005AD5,
+ 15119: 0x00005AEA,
+ 15120: 0x00005ADA,
+ 15121: 0x00005AED,
+ 15122: 0x00005AEB,
+ 15123: 0x00005AF3,
+ 15124: 0x00005AE2,
+ 15125: 0x00005AE0,
+ 15126: 0x00005ADB,
+ 15127: 0x00005AEC,
+ 15128: 0x00005ADE,
+ 15129: 0x00005ADD,
+ 15130: 0x00005AD9,
+ 15131: 0x00005AE8,
+ 15132: 0x00005ADF,
+ 15133: 0x00005B77,
+ 15134: 0x00005BE0,
+ 15135: 0x00005BE3,
+ 15136: 0x00005C63,
+ 15137: 0x00005D82,
+ 15138: 0x00005D80,
+ 15139: 0x00005D7D,
+ 15140: 0x00005D86,
+ 15141: 0x00005D7A,
+ 15142: 0x00005D81,
+ 15143: 0x00005D77,
+ 15144: 0x00005D8A,
+ 15145: 0x00005D89,
+ 15146: 0x00005D88,
+ 15147: 0x00005D7E,
+ 15148: 0x00005D7C,
+ 15149: 0x00005D8D,
+ 15150: 0x00005D79,
+ 15151: 0x00005D7F,
+ 15152: 0x00005E58,
+ 15153: 0x00005E59,
+ 15154: 0x00005E53,
+ 15155: 0x00005ED8,
+ 15156: 0x00005ED1,
+ 15157: 0x00005ED7,
+ 15158: 0x00005ECE,
+ 15159: 0x00005EDC,
+ 15160: 0x00005ED5,
+ 15161: 0x00005ED9,
+ 15162: 0x00005ED2,
+ 15163: 0x00005ED4,
+ 15164: 0x00005F44,
+ 15165: 0x00005F43,
+ 15166: 0x00005F6F,
+ 15167: 0x00005FB6,
+ 15168: 0x0000612C,
+ 15169: 0x00006128,
+ 15170: 0x00006141,
+ 15171: 0x0000615E,
+ 15172: 0x00006171,
+ 15173: 0x00006173,
+ 15174: 0x00006152,
+ 15175: 0x00006153,
+ 15176: 0x00006172,
+ 15177: 0x0000616C,
+ 15178: 0x00006180,
+ 15179: 0x00006174,
+ 15180: 0x00006154,
+ 15181: 0x0000617A,
+ 15182: 0x0000615B,
+ 15183: 0x00006165,
+ 15184: 0x0000613B,
+ 15185: 0x0000616A,
+ 15186: 0x00006161,
+ 15187: 0x00006156,
+ 15188: 0x00006229,
+ 15189: 0x00006227,
+ 15190: 0x0000622B,
+ 15191: 0x0000642B,
+ 15192: 0x0000644D,
+ 15193: 0x0000645B,
+ 15194: 0x0000645D,
+ 15195: 0x00006474,
+ 15196: 0x00006476,
+ 15197: 0x00006472,
+ 15198: 0x00006473,
+ 15199: 0x0000647D,
+ 15200: 0x00006475,
+ 15201: 0x00006466,
+ 15202: 0x000064A6,
+ 15203: 0x0000644E,
+ 15204: 0x00006482,
+ 15205: 0x0000645E,
+ 15206: 0x0000645C,
+ 15207: 0x0000644B,
+ 15208: 0x00006453,
+ 15209: 0x00006460,
+ 15210: 0x00006450,
+ 15211: 0x0000647F,
+ 15212: 0x0000643F,
+ 15213: 0x0000646C,
+ 15214: 0x0000646B,
+ 15215: 0x00006459,
+ 15216: 0x00006465,
+ 15217: 0x00006477,
+ 15218: 0x00006573,
+ 15219: 0x000065A0,
+ 15220: 0x000066A1,
+ 15221: 0x000066A0,
+ 15222: 0x0000669F,
+ 15223: 0x00006705,
+ 15224: 0x00006704,
+ 15225: 0x00006722,
+ 15226: 0x000069B1,
+ 15227: 0x000069B6,
+ 15228: 0x000069C9,
+ 15229: 0x000069A0,
+ 15230: 0x000069CE,
+ 15231: 0x00006996,
+ 15232: 0x000069B0,
+ 15233: 0x000069AC,
+ 15234: 0x000069BC,
+ 15235: 0x00006991,
+ 15236: 0x00006999,
+ 15237: 0x0000698E,
+ 15238: 0x000069A7,
+ 15239: 0x0000698D,
+ 15240: 0x000069A9,
+ 15241: 0x000069BE,
+ 15242: 0x000069AF,
+ 15243: 0x000069BF,
+ 15244: 0x000069C4,
+ 15245: 0x000069BD,
+ 15246: 0x000069A4,
+ 15247: 0x000069D4,
+ 15248: 0x000069B9,
+ 15249: 0x000069CA,
+ 15250: 0x0000699A,
+ 15251: 0x000069CF,
+ 15252: 0x000069B3,
+ 15253: 0x00006993,
+ 15254: 0x000069AA,
+ 15255: 0x000069A1,
+ 15256: 0x0000699E,
+ 15257: 0x000069D9,
+ 15258: 0x00006997,
+ 15259: 0x00006990,
+ 15260: 0x000069C2,
+ 15261: 0x000069B5,
+ 15262: 0x000069A5,
+ 15263: 0x000069C6,
+ 15264: 0x00006B4A,
+ 15265: 0x00006B4D,
+ 15266: 0x00006B4B,
+ 15267: 0x00006B9E,
+ 15268: 0x00006B9F,
+ 15269: 0x00006BA0,
+ 15270: 0x00006BC3,
+ 15271: 0x00006BC4,
+ 15272: 0x00006BFE,
+ 15273: 0x00006ECE,
+ 15274: 0x00006EF5,
+ 15275: 0x00006EF1,
+ 15276: 0x00006F03,
+ 15277: 0x00006F25,
+ 15278: 0x00006EF8,
+ 15279: 0x00006F37,
+ 15280: 0x00006EFB,
+ 15281: 0x00006F2E,
+ 15282: 0x00006F09,
+ 15283: 0x00006F4E,
+ 15284: 0x00006F19,
+ 15285: 0x00006F1A,
+ 15286: 0x00006F27,
+ 15287: 0x00006F18,
+ 15288: 0x00006F3B,
+ 15289: 0x00006F12,
+ 15290: 0x00006EED,
+ 15291: 0x00006F0A,
+ 15292: 0x00006F36,
+ 15293: 0x00006F73,
+ 15294: 0x00006EF9,
+ 15295: 0x00006EEE,
+ 15296: 0x00006F2D,
+ 15297: 0x00006F40,
+ 15298: 0x00006F30,
+ 15299: 0x00006F3C,
+ 15300: 0x00006F35,
+ 15301: 0x00006EEB,
+ 15302: 0x00006F07,
+ 15303: 0x00006F0E,
+ 15304: 0x00006F43,
+ 15305: 0x00006F05,
+ 15306: 0x00006EFD,
+ 15307: 0x00006EF6,
+ 15308: 0x00006F39,
+ 15309: 0x00006F1C,
+ 15310: 0x00006EFC,
+ 15311: 0x00006F3A,
+ 15312: 0x00006F1F,
+ 15313: 0x00006F0D,
+ 15314: 0x00006F1E,
+ 15315: 0x00006F08,
+ 15316: 0x00006F21,
+ 15317: 0x00007187,
+ 15318: 0x00007190,
+ 15319: 0x00007189,
+ 15320: 0x00007180,
+ 15321: 0x00007185,
+ 15322: 0x00007182,
+ 15323: 0x0000718F,
+ 15324: 0x0000717B,
+ 15325: 0x00007186,
+ 15326: 0x00007181,
+ 15327: 0x00007197,
+ 15328: 0x00007244,
+ 15329: 0x00007253,
+ 15330: 0x00007297,
+ 15331: 0x00007295,
+ 15332: 0x00007293,
+ 15333: 0x00007343,
+ 15334: 0x0000734D,
+ 15335: 0x00007351,
+ 15336: 0x0000734C,
+ 15337: 0x00007462,
+ 15338: 0x00007473,
+ 15339: 0x00007471,
+ 15340: 0x00007475,
+ 15341: 0x00007472,
+ 15342: 0x00007467,
+ 15343: 0x0000746E,
+ 15344: 0x00007500,
+ 15345: 0x00007502,
+ 15346: 0x00007503,
+ 15347: 0x0000757D,
+ 15348: 0x00007590,
+ 15349: 0x00007616,
+ 15350: 0x00007608,
+ 15351: 0x0000760C,
+ 15352: 0x00007615,
+ 15353: 0x00007611,
+ 15354: 0x0000760A,
+ 15355: 0x00007614,
+ 15356: 0x000076B8,
+ 15357: 0x00007781,
+ 15358: 0x0000777C,
+ 15359: 0x00007785,
+ 15360: 0x00007782,
+ 15361: 0x0000776E,
+ 15362: 0x00007780,
+ 15363: 0x0000776F,
+ 15364: 0x0000777E,
+ 15365: 0x00007783,
+ 15366: 0x000078B2,
+ 15367: 0x000078AA,
+ 15368: 0x000078B4,
+ 15369: 0x000078AD,
+ 15370: 0x000078A8,
+ 15371: 0x0000787E,
+ 15372: 0x000078AB,
+ 15373: 0x0000789E,
+ 15374: 0x000078A5,
+ 15375: 0x000078A0,
+ 15376: 0x000078AC,
+ 15377: 0x000078A2,
+ 15378: 0x000078A4,
+ 15379: 0x00007998,
+ 15380: 0x0000798A,
+ 15381: 0x0000798B,
+ 15382: 0x00007996,
+ 15383: 0x00007995,
+ 15384: 0x00007994,
+ 15385: 0x00007993,
+ 15386: 0x00007997,
+ 15387: 0x00007988,
+ 15388: 0x00007992,
+ 15389: 0x00007990,
+ 15390: 0x00007A2B,
+ 15391: 0x00007A4A,
+ 15392: 0x00007A30,
+ 15393: 0x00007A2F,
+ 15394: 0x00007A28,
+ 15395: 0x00007A26,
+ 15396: 0x00007AA8,
+ 15397: 0x00007AAB,
+ 15398: 0x00007AAC,
+ 15399: 0x00007AEE,
+ 15400: 0x00007B88,
+ 15401: 0x00007B9C,
+ 15402: 0x00007B8A,
+ 15403: 0x00007B91,
+ 15404: 0x00007B90,
+ 15405: 0x00007B96,
+ 15406: 0x00007B8D,
+ 15407: 0x00007B8C,
+ 15408: 0x00007B9B,
+ 15409: 0x00007B8E,
+ 15410: 0x00007B85,
+ 15411: 0x00007B98,
+ 15412: 0x00005284,
+ 15413: 0x00007B99,
+ 15414: 0x00007BA4,
+ 15415: 0x00007B82,
+ 15416: 0x00007CBB,
+ 15417: 0x00007CBF,
+ 15418: 0x00007CBC,
+ 15419: 0x00007CBA,
+ 15420: 0x00007DA7,
+ 15421: 0x00007DB7,
+ 15422: 0x00007DC2,
+ 15423: 0x00007DA3,
+ 15424: 0x00007DAA,
+ 15425: 0x00007DC1,
+ 15426: 0x00007DC0,
+ 15427: 0x00007DC5,
+ 15428: 0x00007D9D,
+ 15429: 0x00007DCE,
+ 15430: 0x00007DC4,
+ 15431: 0x00007DC6,
+ 15432: 0x00007DCB,
+ 15433: 0x00007DCC,
+ 15434: 0x00007DAF,
+ 15435: 0x00007DB9,
+ 15436: 0x00007D96,
+ 15437: 0x00007DBC,
+ 15438: 0x00007D9F,
+ 15439: 0x00007DA6,
+ 15440: 0x00007DAE,
+ 15441: 0x00007DA9,
+ 15442: 0x00007DA1,
+ 15443: 0x00007DC9,
+ 15444: 0x00007F73,
+ 15445: 0x00007FE2,
+ 15446: 0x00007FE3,
+ 15447: 0x00007FE5,
+ 15448: 0x00007FDE,
+ 15449: 0x00008024,
+ 15450: 0x0000805D,
+ 15451: 0x0000805C,
+ 15452: 0x00008189,
+ 15453: 0x00008186,
+ 15454: 0x00008183,
+ 15455: 0x00008187,
+ 15456: 0x0000818D,
+ 15457: 0x0000818C,
+ 15458: 0x0000818B,
+ 15459: 0x00008215,
+ 15460: 0x00008497,
+ 15461: 0x000084A4,
+ 15462: 0x000084A1,
+ 15463: 0x0000849F,
+ 15464: 0x000084BA,
+ 15465: 0x000084CE,
+ 15466: 0x000084C2,
+ 15467: 0x000084AC,
+ 15468: 0x000084AE,
+ 15469: 0x000084AB,
+ 15470: 0x000084B9,
+ 15471: 0x000084B4,
+ 15472: 0x000084C1,
+ 15473: 0x000084CD,
+ 15474: 0x000084AA,
+ 15475: 0x0000849A,
+ 15476: 0x000084B1,
+ 15477: 0x000084D0,
+ 15478: 0x0000849D,
+ 15479: 0x000084A7,
+ 15480: 0x000084BB,
+ 15481: 0x000084A2,
+ 15482: 0x00008494,
+ 15483: 0x000084C7,
+ 15484: 0x000084CC,
+ 15485: 0x0000849B,
+ 15486: 0x000084A9,
+ 15487: 0x000084AF,
+ 15488: 0x000084A8,
+ 15489: 0x000084D6,
+ 15490: 0x00008498,
+ 15491: 0x000084B6,
+ 15492: 0x000084CF,
+ 15493: 0x000084A0,
+ 15494: 0x000084D7,
+ 15495: 0x000084D4,
+ 15496: 0x000084D2,
+ 15497: 0x000084DB,
+ 15498: 0x000084B0,
+ 15499: 0x00008491,
+ 15500: 0x00008661,
+ 15501: 0x00008733,
+ 15502: 0x00008723,
+ 15503: 0x00008728,
+ 15504: 0x0000876B,
+ 15505: 0x00008740,
+ 15506: 0x0000872E,
+ 15507: 0x0000871E,
+ 15508: 0x00008721,
+ 15509: 0x00008719,
+ 15510: 0x0000871B,
+ 15511: 0x00008743,
+ 15512: 0x0000872C,
+ 15513: 0x00008741,
+ 15514: 0x0000873E,
+ 15515: 0x00008746,
+ 15516: 0x00008720,
+ 15517: 0x00008732,
+ 15518: 0x0000872A,
+ 15519: 0x0000872D,
+ 15520: 0x0000873C,
+ 15521: 0x00008712,
+ 15522: 0x0000873A,
+ 15523: 0x00008731,
+ 15524: 0x00008735,
+ 15525: 0x00008742,
+ 15526: 0x00008726,
+ 15527: 0x00008727,
+ 15528: 0x00008738,
+ 15529: 0x00008724,
+ 15530: 0x0000871A,
+ 15531: 0x00008730,
+ 15532: 0x00008711,
+ 15533: 0x000088F7,
+ 15534: 0x000088E7,
+ 15535: 0x000088F1,
+ 15536: 0x000088F2,
+ 15537: 0x000088FA,
+ 15538: 0x000088FE,
+ 15539: 0x000088EE,
+ 15540: 0x000088FC,
+ 15541: 0x000088F6,
+ 15542: 0x000088FB,
+ 15543: 0x000088F0,
+ 15544: 0x000088EC,
+ 15545: 0x000088EB,
+ 15546: 0x0000899D,
+ 15547: 0x000089A1,
+ 15548: 0x0000899F,
+ 15549: 0x0000899E,
+ 15550: 0x000089E9,
+ 15551: 0x000089EB,
+ 15552: 0x000089E8,
+ 15553: 0x00008AAB,
+ 15554: 0x00008A99,
+ 15555: 0x00008A8B,
+ 15556: 0x00008A92,
+ 15557: 0x00008A8F,
+ 15558: 0x00008A96,
+ 15559: 0x00008C3D,
+ 15560: 0x00008C68,
+ 15561: 0x00008C69,
+ 15562: 0x00008CD5,
+ 15563: 0x00008CCF,
+ 15564: 0x00008CD7,
+ 15565: 0x00008D96,
+ 15566: 0x00008E09,
+ 15567: 0x00008E02,
+ 15568: 0x00008DFF,
+ 15569: 0x00008E0D,
+ 15570: 0x00008DFD,
+ 15571: 0x00008E0A,
+ 15572: 0x00008E03,
+ 15573: 0x00008E07,
+ 15574: 0x00008E06,
+ 15575: 0x00008E05,
+ 15576: 0x00008DFE,
+ 15577: 0x00008E00,
+ 15578: 0x00008E04,
+ 15579: 0x00008F10,
+ 15580: 0x00008F11,
+ 15581: 0x00008F0E,
+ 15582: 0x00008F0D,
+ 15583: 0x00009123,
+ 15584: 0x0000911C,
+ 15585: 0x00009120,
+ 15586: 0x00009122,
+ 15587: 0x0000911F,
+ 15588: 0x0000911D,
+ 15589: 0x0000911A,
+ 15590: 0x00009124,
+ 15591: 0x00009121,
+ 15592: 0x0000911B,
+ 15593: 0x0000917A,
+ 15594: 0x00009172,
+ 15595: 0x00009179,
+ 15596: 0x00009173,
+ 15597: 0x000092A5,
+ 15598: 0x000092A4,
+ 15599: 0x00009276,
+ 15600: 0x0000929B,
+ 15601: 0x0000927A,
+ 15602: 0x000092A0,
+ 15603: 0x00009294,
+ 15604: 0x000092AA,
+ 15605: 0x0000928D,
+ 15606: 0x000092A6,
+ 15607: 0x0000929A,
+ 15608: 0x000092AB,
+ 15609: 0x00009279,
+ 15610: 0x00009297,
+ 15611: 0x0000927F,
+ 15612: 0x000092A3,
+ 15613: 0x000092EE,
+ 15614: 0x0000928E,
+ 15615: 0x00009282,
+ 15616: 0x00009295,
+ 15617: 0x000092A2,
+ 15618: 0x0000927D,
+ 15619: 0x00009288,
+ 15620: 0x000092A1,
+ 15621: 0x0000928A,
+ 15622: 0x00009286,
+ 15623: 0x0000928C,
+ 15624: 0x00009299,
+ 15625: 0x000092A7,
+ 15626: 0x0000927E,
+ 15627: 0x00009287,
+ 15628: 0x000092A9,
+ 15629: 0x0000929D,
+ 15630: 0x0000928B,
+ 15631: 0x0000922D,
+ 15632: 0x0000969E,
+ 15633: 0x000096A1,
+ 15634: 0x000096FF,
+ 15635: 0x00009758,
+ 15636: 0x0000977D,
+ 15637: 0x0000977A,
+ 15638: 0x0000977E,
+ 15639: 0x00009783,
+ 15640: 0x00009780,
+ 15641: 0x00009782,
+ 15642: 0x0000977B,
+ 15643: 0x00009784,
+ 15644: 0x00009781,
+ 15645: 0x0000977F,
+ 15646: 0x000097CE,
+ 15647: 0x000097CD,
+ 15648: 0x00009816,
+ 15649: 0x000098AD,
+ 15650: 0x000098AE,
+ 15651: 0x00009902,
+ 15652: 0x00009900,
+ 15653: 0x00009907,
+ 15654: 0x0000999D,
+ 15655: 0x0000999C,
+ 15656: 0x000099C3,
+ 15657: 0x000099B9,
+ 15658: 0x000099BB,
+ 15659: 0x000099BA,
+ 15660: 0x000099C2,
+ 15661: 0x000099BD,
+ 15662: 0x000099C7,
+ 15663: 0x00009AB1,
+ 15664: 0x00009AE3,
+ 15665: 0x00009AE7,
+ 15666: 0x00009B3E,
+ 15667: 0x00009B3F,
+ 15668: 0x00009B60,
+ 15669: 0x00009B61,
+ 15670: 0x00009B5F,
+ 15671: 0x00009CF1,
+ 15672: 0x00009CF2,
+ 15673: 0x00009CF5,
+ 15674: 0x00009EA7,
+ 15675: 0x000050FF,
+ 15676: 0x00005103,
+ 15677: 0x00005130,
+ 15678: 0x000050F8,
+ 15679: 0x00005106,
+ 15680: 0x00005107,
+ 15681: 0x000050F6,
+ 15682: 0x000050FE,
+ 15683: 0x0000510B,
+ 15684: 0x0000510C,
+ 15685: 0x000050FD,
+ 15686: 0x0000510A,
+ 15687: 0x0000528B,
+ 15688: 0x0000528C,
+ 15689: 0x000052F1,
+ 15690: 0x000052EF,
+ 15691: 0x00005648,
+ 15692: 0x00005642,
+ 15693: 0x0000564C,
+ 15694: 0x00005635,
+ 15695: 0x00005641,
+ 15696: 0x0000564A,
+ 15697: 0x00005649,
+ 15698: 0x00005646,
+ 15699: 0x00005658,
+ 15700: 0x0000565A,
+ 15701: 0x00005640,
+ 15702: 0x00005633,
+ 15703: 0x0000563D,
+ 15704: 0x0000562C,
+ 15705: 0x0000563E,
+ 15706: 0x00005638,
+ 15707: 0x0000562A,
+ 15708: 0x0000563A,
+ 15709: 0x0000571A,
+ 15710: 0x000058AB,
+ 15711: 0x0000589D,
+ 15712: 0x000058B1,
+ 15713: 0x000058A0,
+ 15714: 0x000058A3,
+ 15715: 0x000058AF,
+ 15716: 0x000058AC,
+ 15717: 0x000058A5,
+ 15718: 0x000058A1,
+ 15719: 0x000058FF,
+ 15720: 0x00005AFF,
+ 15721: 0x00005AF4,
+ 15722: 0x00005AFD,
+ 15723: 0x00005AF7,
+ 15724: 0x00005AF6,
+ 15725: 0x00005B03,
+ 15726: 0x00005AF8,
+ 15727: 0x00005B02,
+ 15728: 0x00005AF9,
+ 15729: 0x00005B01,
+ 15730: 0x00005B07,
+ 15731: 0x00005B05,
+ 15732: 0x00005B0F,
+ 15733: 0x00005C67,
+ 15734: 0x00005D99,
+ 15735: 0x00005D97,
+ 15736: 0x00005D9F,
+ 15737: 0x00005D92,
+ 15738: 0x00005DA2,
+ 15739: 0x00005D93,
+ 15740: 0x00005D95,
+ 15741: 0x00005DA0,
+ 15742: 0x00005D9C,
+ 15743: 0x00005DA1,
+ 15744: 0x00005D9A,
+ 15745: 0x00005D9E,
+ 15746: 0x00005E69,
+ 15747: 0x00005E5D,
+ 15748: 0x00005E60,
+ 15749: 0x00005E5C,
+ 15750: 0x00007DF3,
+ 15751: 0x00005EDB,
+ 15752: 0x00005EDE,
+ 15753: 0x00005EE1,
+ 15754: 0x00005F49,
+ 15755: 0x00005FB2,
+ 15756: 0x0000618B,
+ 15757: 0x00006183,
+ 15758: 0x00006179,
+ 15759: 0x000061B1,
+ 15760: 0x000061B0,
+ 15761: 0x000061A2,
+ 15762: 0x00006189,
+ 15763: 0x0000619B,
+ 15764: 0x00006193,
+ 15765: 0x000061AF,
+ 15766: 0x000061AD,
+ 15767: 0x0000619F,
+ 15768: 0x00006192,
+ 15769: 0x000061AA,
+ 15770: 0x000061A1,
+ 15771: 0x0000618D,
+ 15772: 0x00006166,
+ 15773: 0x000061B3,
+ 15774: 0x0000622D,
+ 15775: 0x0000646E,
+ 15776: 0x00006470,
+ 15777: 0x00006496,
+ 15778: 0x000064A0,
+ 15779: 0x00006485,
+ 15780: 0x00006497,
+ 15781: 0x0000649C,
+ 15782: 0x0000648F,
+ 15783: 0x0000648B,
+ 15784: 0x0000648A,
+ 15785: 0x0000648C,
+ 15786: 0x000064A3,
+ 15787: 0x0000649F,
+ 15788: 0x00006468,
+ 15789: 0x000064B1,
+ 15790: 0x00006498,
+ 15791: 0x00006576,
+ 15792: 0x0000657A,
+ 15793: 0x00006579,
+ 15794: 0x0000657B,
+ 15795: 0x000065B2,
+ 15796: 0x000065B3,
+ 15797: 0x000066B5,
+ 15798: 0x000066B0,
+ 15799: 0x000066A9,
+ 15800: 0x000066B2,
+ 15801: 0x000066B7,
+ 15802: 0x000066AA,
+ 15803: 0x000066AF,
+ 15804: 0x00006A00,
+ 15805: 0x00006A06,
+ 15806: 0x00006A17,
+ 15807: 0x000069E5,
+ 15808: 0x000069F8,
+ 15809: 0x00006A15,
+ 15810: 0x000069F1,
+ 15811: 0x000069E4,
+ 15812: 0x00006A20,
+ 15813: 0x000069FF,
+ 15814: 0x000069EC,
+ 15815: 0x000069E2,
+ 15816: 0x00006A1B,
+ 15817: 0x00006A1D,
+ 15818: 0x000069FE,
+ 15819: 0x00006A27,
+ 15820: 0x000069F2,
+ 15821: 0x000069EE,
+ 15822: 0x00006A14,
+ 15823: 0x000069F7,
+ 15824: 0x000069E7,
+ 15825: 0x00006A40,
+ 15826: 0x00006A08,
+ 15827: 0x000069E6,
+ 15828: 0x000069FB,
+ 15829: 0x00006A0D,
+ 15830: 0x000069FC,
+ 15831: 0x000069EB,
+ 15832: 0x00006A09,
+ 15833: 0x00006A04,
+ 15834: 0x00006A18,
+ 15835: 0x00006A25,
+ 15836: 0x00006A0F,
+ 15837: 0x000069F6,
+ 15838: 0x00006A26,
+ 15839: 0x00006A07,
+ 15840: 0x000069F4,
+ 15841: 0x00006A16,
+ 15842: 0x00006B51,
+ 15843: 0x00006BA5,
+ 15844: 0x00006BA3,
+ 15845: 0x00006BA2,
+ 15846: 0x00006BA6,
+ 15847: 0x00006C01,
+ 15848: 0x00006C00,
+ 15849: 0x00006BFF,
+ 15850: 0x00006C02,
+ 15851: 0x00006F41,
+ 15852: 0x00006F26,
+ 15853: 0x00006F7E,
+ 15854: 0x00006F87,
+ 15855: 0x00006FC6,
+ 15856: 0x00006F92,
+ 15857: 0x00006F8D,
+ 15858: 0x00006F89,
+ 15859: 0x00006F8C,
+ 15860: 0x00006F62,
+ 15861: 0x00006F4F,
+ 15862: 0x00006F85,
+ 15863: 0x00006F5A,
+ 15864: 0x00006F96,
+ 15865: 0x00006F76,
+ 15866: 0x00006F6C,
+ 15867: 0x00006F82,
+ 15868: 0x00006F55,
+ 15869: 0x00006F72,
+ 15870: 0x00006F52,
+ 15871: 0x00006F50,
+ 15872: 0x00006F57,
+ 15873: 0x00006F94,
+ 15874: 0x00006F93,
+ 15875: 0x00006F5D,
+ 15876: 0x00006F00,
+ 15877: 0x00006F61,
+ 15878: 0x00006F6B,
+ 15879: 0x00006F7D,
+ 15880: 0x00006F67,
+ 15881: 0x00006F90,
+ 15882: 0x00006F53,
+ 15883: 0x00006F8B,
+ 15884: 0x00006F69,
+ 15885: 0x00006F7F,
+ 15886: 0x00006F95,
+ 15887: 0x00006F63,
+ 15888: 0x00006F77,
+ 15889: 0x00006F6A,
+ 15890: 0x00006F7B,
+ 15891: 0x000071B2,
+ 15892: 0x000071AF,
+ 15893: 0x0000719B,
+ 15894: 0x000071B0,
+ 15895: 0x000071A0,
+ 15896: 0x0000719A,
+ 15897: 0x000071A9,
+ 15898: 0x000071B5,
+ 15899: 0x0000719D,
+ 15900: 0x000071A5,
+ 15901: 0x0000719E,
+ 15902: 0x000071A4,
+ 15903: 0x000071A1,
+ 15904: 0x000071AA,
+ 15905: 0x0000719C,
+ 15906: 0x000071A7,
+ 15907: 0x000071B3,
+ 15908: 0x00007298,
+ 15909: 0x0000729A,
+ 15910: 0x00007358,
+ 15911: 0x00007352,
+ 15912: 0x0000735E,
+ 15913: 0x0000735F,
+ 15914: 0x00007360,
+ 15915: 0x0000735D,
+ 15916: 0x0000735B,
+ 15917: 0x00007361,
+ 15918: 0x0000735A,
+ 15919: 0x00007359,
+ 15920: 0x00007362,
+ 15921: 0x00007487,
+ 15922: 0x00007489,
+ 15923: 0x0000748A,
+ 15924: 0x00007486,
+ 15925: 0x00007481,
+ 15926: 0x0000747D,
+ 15927: 0x00007485,
+ 15928: 0x00007488,
+ 15929: 0x0000747C,
+ 15930: 0x00007479,
+ 15931: 0x00007508,
+ 15932: 0x00007507,
+ 15933: 0x0000757E,
+ 15934: 0x00007625,
+ 15935: 0x0000761E,
+ 15936: 0x00007619,
+ 15937: 0x0000761D,
+ 15938: 0x0000761C,
+ 15939: 0x00007623,
+ 15940: 0x0000761A,
+ 15941: 0x00007628,
+ 15942: 0x0000761B,
+ 15943: 0x0000769C,
+ 15944: 0x0000769D,
+ 15945: 0x0000769E,
+ 15946: 0x0000769B,
+ 15947: 0x0000778D,
+ 15948: 0x0000778F,
+ 15949: 0x00007789,
+ 15950: 0x00007788,
+ 15951: 0x000078CD,
+ 15952: 0x000078BB,
+ 15953: 0x000078CF,
+ 15954: 0x000078CC,
+ 15955: 0x000078D1,
+ 15956: 0x000078CE,
+ 15957: 0x000078D4,
+ 15958: 0x000078C8,
+ 15959: 0x000078C3,
+ 15960: 0x000078C4,
+ 15961: 0x000078C9,
+ 15962: 0x0000799A,
+ 15963: 0x000079A1,
+ 15964: 0x000079A0,
+ 15965: 0x0000799C,
+ 15966: 0x000079A2,
+ 15967: 0x0000799B,
+ 15968: 0x00006B76,
+ 15969: 0x00007A39,
+ 15970: 0x00007AB2,
+ 15971: 0x00007AB4,
+ 15972: 0x00007AB3,
+ 15973: 0x00007BB7,
+ 15974: 0x00007BCB,
+ 15975: 0x00007BBE,
+ 15976: 0x00007BAC,
+ 15977: 0x00007BCE,
+ 15978: 0x00007BAF,
+ 15979: 0x00007BB9,
+ 15980: 0x00007BCA,
+ 15981: 0x00007BB5,
+ 15982: 0x00007CC5,
+ 15983: 0x00007CC8,
+ 15984: 0x00007CCC,
+ 15985: 0x00007CCB,
+ 15986: 0x00007DF7,
+ 15987: 0x00007DDB,
+ 15988: 0x00007DEA,
+ 15989: 0x00007DE7,
+ 15990: 0x00007DD7,
+ 15991: 0x00007DE1,
+ 15992: 0x00007E03,
+ 15993: 0x00007DFA,
+ 15994: 0x00007DE6,
+ 15995: 0x00007DF6,
+ 15996: 0x00007DF1,
+ 15997: 0x00007DF0,
+ 15998: 0x00007DEE,
+ 15999: 0x00007DDF,
+ 16000: 0x00007F76,
+ 16001: 0x00007FAC,
+ 16002: 0x00007FB0,
+ 16003: 0x00007FAD,
+ 16004: 0x00007FED,
+ 16005: 0x00007FEB,
+ 16006: 0x00007FEA,
+ 16007: 0x00007FEC,
+ 16008: 0x00007FE6,
+ 16009: 0x00007FE8,
+ 16010: 0x00008064,
+ 16011: 0x00008067,
+ 16012: 0x000081A3,
+ 16013: 0x0000819F,
+ 16014: 0x0000819E,
+ 16015: 0x00008195,
+ 16016: 0x000081A2,
+ 16017: 0x00008199,
+ 16018: 0x00008197,
+ 16019: 0x00008216,
+ 16020: 0x0000824F,
+ 16021: 0x00008253,
+ 16022: 0x00008252,
+ 16023: 0x00008250,
+ 16024: 0x0000824E,
+ 16025: 0x00008251,
+ 16026: 0x00008524,
+ 16027: 0x0000853B,
+ 16028: 0x0000850F,
+ 16029: 0x00008500,
+ 16030: 0x00008529,
+ 16031: 0x0000850E,
+ 16032: 0x00008509,
+ 16033: 0x0000850D,
+ 16034: 0x0000851F,
+ 16035: 0x0000850A,
+ 16036: 0x00008527,
+ 16037: 0x0000851C,
+ 16038: 0x000084FB,
+ 16039: 0x0000852B,
+ 16040: 0x000084FA,
+ 16041: 0x00008508,
+ 16042: 0x0000850C,
+ 16043: 0x000084F4,
+ 16044: 0x0000852A,
+ 16045: 0x000084F2,
+ 16046: 0x00008515,
+ 16047: 0x000084F7,
+ 16048: 0x000084EB,
+ 16049: 0x000084F3,
+ 16050: 0x000084FC,
+ 16051: 0x00008512,
+ 16052: 0x000084EA,
+ 16053: 0x000084E9,
+ 16054: 0x00008516,
+ 16055: 0x000084FE,
+ 16056: 0x00008528,
+ 16057: 0x0000851D,
+ 16058: 0x0000852E,
+ 16059: 0x00008502,
+ 16060: 0x000084FD,
+ 16061: 0x0000851E,
+ 16062: 0x000084F6,
+ 16063: 0x00008531,
+ 16064: 0x00008526,
+ 16065: 0x000084E7,
+ 16066: 0x000084E8,
+ 16067: 0x000084F0,
+ 16068: 0x000084EF,
+ 16069: 0x000084F9,
+ 16070: 0x00008518,
+ 16071: 0x00008520,
+ 16072: 0x00008530,
+ 16073: 0x0000850B,
+ 16074: 0x00008519,
+ 16075: 0x0000852F,
+ 16076: 0x00008662,
+ 16077: 0x00008756,
+ 16078: 0x00008763,
+ 16079: 0x00008764,
+ 16080: 0x00008777,
+ 16081: 0x000087E1,
+ 16082: 0x00008773,
+ 16083: 0x00008758,
+ 16084: 0x00008754,
+ 16085: 0x0000875B,
+ 16086: 0x00008752,
+ 16087: 0x00008761,
+ 16088: 0x0000875A,
+ 16089: 0x00008751,
+ 16090: 0x0000875E,
+ 16091: 0x0000876D,
+ 16092: 0x0000876A,
+ 16093: 0x00008750,
+ 16094: 0x0000874E,
+ 16095: 0x0000875F,
+ 16096: 0x0000875D,
+ 16097: 0x0000876F,
+ 16098: 0x0000876C,
+ 16099: 0x0000877A,
+ 16100: 0x0000876E,
+ 16101: 0x0000875C,
+ 16102: 0x00008765,
+ 16103: 0x0000874F,
+ 16104: 0x0000877B,
+ 16105: 0x00008775,
+ 16106: 0x00008762,
+ 16107: 0x00008767,
+ 16108: 0x00008769,
+ 16109: 0x0000885A,
+ 16110: 0x00008905,
+ 16111: 0x0000890C,
+ 16112: 0x00008914,
+ 16113: 0x0000890B,
+ 16114: 0x00008917,
+ 16115: 0x00008918,
+ 16116: 0x00008919,
+ 16117: 0x00008906,
+ 16118: 0x00008916,
+ 16119: 0x00008911,
+ 16120: 0x0000890E,
+ 16121: 0x00008909,
+ 16122: 0x000089A2,
+ 16123: 0x000089A4,
+ 16124: 0x000089A3,
+ 16125: 0x000089ED,
+ 16126: 0x000089F0,
+ 16127: 0x000089EC,
+ 16128: 0x00008ACF,
+ 16129: 0x00008AC6,
+ 16130: 0x00008AB8,
+ 16131: 0x00008AD3,
+ 16132: 0x00008AD1,
+ 16133: 0x00008AD4,
+ 16134: 0x00008AD5,
+ 16135: 0x00008ABB,
+ 16136: 0x00008AD7,
+ 16137: 0x00008ABE,
+ 16138: 0x00008AC0,
+ 16139: 0x00008AC5,
+ 16140: 0x00008AD8,
+ 16141: 0x00008AC3,
+ 16142: 0x00008ABA,
+ 16143: 0x00008ABD,
+ 16144: 0x00008AD9,
+ 16145: 0x00008C3E,
+ 16146: 0x00008C4D,
+ 16147: 0x00008C8F,
+ 16148: 0x00008CE5,
+ 16149: 0x00008CDF,
+ 16150: 0x00008CD9,
+ 16151: 0x00008CE8,
+ 16152: 0x00008CDA,
+ 16153: 0x00008CDD,
+ 16154: 0x00008CE7,
+ 16155: 0x00008DA0,
+ 16156: 0x00008D9C,
+ 16157: 0x00008DA1,
+ 16158: 0x00008D9B,
+ 16159: 0x00008E20,
+ 16160: 0x00008E23,
+ 16161: 0x00008E25,
+ 16162: 0x00008E24,
+ 16163: 0x00008E2E,
+ 16164: 0x00008E15,
+ 16165: 0x00008E1B,
+ 16166: 0x00008E16,
+ 16167: 0x00008E11,
+ 16168: 0x00008E19,
+ 16169: 0x00008E26,
+ 16170: 0x00008E27,
+ 16171: 0x00008E14,
+ 16172: 0x00008E12,
+ 16173: 0x00008E18,
+ 16174: 0x00008E13,
+ 16175: 0x00008E1C,
+ 16176: 0x00008E17,
+ 16177: 0x00008E1A,
+ 16178: 0x00008F2C,
+ 16179: 0x00008F24,
+ 16180: 0x00008F18,
+ 16181: 0x00008F1A,
+ 16182: 0x00008F20,
+ 16183: 0x00008F23,
+ 16184: 0x00008F16,
+ 16185: 0x00008F17,
+ 16186: 0x00009073,
+ 16187: 0x00009070,
+ 16188: 0x0000906F,
+ 16189: 0x00009067,
+ 16190: 0x0000906B,
+ 16191: 0x0000912F,
+ 16192: 0x0000912B,
+ 16193: 0x00009129,
+ 16194: 0x0000912A,
+ 16195: 0x00009132,
+ 16196: 0x00009126,
+ 16197: 0x0000912E,
+ 16198: 0x00009185,
+ 16199: 0x00009186,
+ 16200: 0x0000918A,
+ 16201: 0x00009181,
+ 16202: 0x00009182,
+ 16203: 0x00009184,
+ 16204: 0x00009180,
+ 16205: 0x000092D0,
+ 16206: 0x000092C3,
+ 16207: 0x000092C4,
+ 16208: 0x000092C0,
+ 16209: 0x000092D9,
+ 16210: 0x000092B6,
+ 16211: 0x000092CF,
+ 16212: 0x000092F1,
+ 16213: 0x000092DF,
+ 16214: 0x000092D8,
+ 16215: 0x000092E9,
+ 16216: 0x000092D7,
+ 16217: 0x000092DD,
+ 16218: 0x000092CC,
+ 16219: 0x000092EF,
+ 16220: 0x000092C2,
+ 16221: 0x000092E8,
+ 16222: 0x000092CA,
+ 16223: 0x000092C8,
+ 16224: 0x000092CE,
+ 16225: 0x000092E6,
+ 16226: 0x000092CD,
+ 16227: 0x000092D5,
+ 16228: 0x000092C9,
+ 16229: 0x000092E0,
+ 16230: 0x000092DE,
+ 16231: 0x000092E7,
+ 16232: 0x000092D1,
+ 16233: 0x000092D3,
+ 16234: 0x000092B5,
+ 16235: 0x000092E1,
+ 16236: 0x000092C6,
+ 16237: 0x000092B4,
+ 16238: 0x0000957C,
+ 16239: 0x000095AC,
+ 16240: 0x000095AB,
+ 16241: 0x000095AE,
+ 16242: 0x000095B0,
+ 16243: 0x000096A4,
+ 16244: 0x000096A2,
+ 16245: 0x000096D3,
+ 16246: 0x00009705,
+ 16247: 0x00009708,
+ 16248: 0x00009702,
+ 16249: 0x0000975A,
+ 16250: 0x0000978A,
+ 16251: 0x0000978E,
+ 16252: 0x00009788,
+ 16253: 0x000097D0,
+ 16254: 0x000097CF,
+ 16255: 0x0000981E,
+ 16256: 0x0000981D,
+ 16257: 0x00009826,
+ 16258: 0x00009829,
+ 16259: 0x00009828,
+ 16260: 0x00009820,
+ 16261: 0x0000981B,
+ 16262: 0x00009827,
+ 16263: 0x000098B2,
+ 16264: 0x00009908,
+ 16265: 0x000098FA,
+ 16266: 0x00009911,
+ 16267: 0x00009914,
+ 16268: 0x00009916,
+ 16269: 0x00009917,
+ 16270: 0x00009915,
+ 16271: 0x000099DC,
+ 16272: 0x000099CD,
+ 16273: 0x000099CF,
+ 16274: 0x000099D3,
+ 16275: 0x000099D4,
+ 16276: 0x000099CE,
+ 16277: 0x000099C9,
+ 16278: 0x000099D6,
+ 16279: 0x000099D8,
+ 16280: 0x000099CB,
+ 16281: 0x000099D7,
+ 16282: 0x000099CC,
+ 16283: 0x00009AB3,
+ 16284: 0x00009AEC,
+ 16285: 0x00009AEB,
+ 16286: 0x00009AF3,
+ 16287: 0x00009AF2,
+ 16288: 0x00009AF1,
+ 16289: 0x00009B46,
+ 16290: 0x00009B43,
+ 16291: 0x00009B67,
+ 16292: 0x00009B74,
+ 16293: 0x00009B71,
+ 16294: 0x00009B66,
+ 16295: 0x00009B76,
+ 16296: 0x00009B75,
+ 16297: 0x00009B70,
+ 16298: 0x00009B68,
+ 16299: 0x00009B64,
+ 16300: 0x00009B6C,
+ 16301: 0x00009CFC,
+ 16302: 0x00009CFA,
+ 16303: 0x00009CFD,
+ 16304: 0x00009CFF,
+ 16305: 0x00009CF7,
+ 16306: 0x00009D07,
+ 16307: 0x00009D00,
+ 16308: 0x00009CF9,
+ 16309: 0x00009CFB,
+ 16310: 0x00009D08,
+ 16311: 0x00009D05,
+ 16312: 0x00009D04,
+ 16313: 0x00009E83,
+ 16314: 0x00009ED3,
+ 16315: 0x00009F0F,
+ 16316: 0x00009F10,
+ 16317: 0x0000511C,
+ 16318: 0x00005113,
+ 16319: 0x00005117,
+ 16320: 0x0000511A,
+ 16321: 0x00005111,
+ 16322: 0x000051DE,
+ 16323: 0x00005334,
+ 16324: 0x000053E1,
+ 16325: 0x00005670,
+ 16326: 0x00005660,
+ 16327: 0x0000566E,
+ 16328: 0x00005673,
+ 16329: 0x00005666,
+ 16330: 0x00005663,
+ 16331: 0x0000566D,
+ 16332: 0x00005672,
+ 16333: 0x0000565E,
+ 16334: 0x00005677,
+ 16335: 0x0000571C,
+ 16336: 0x0000571B,
+ 16337: 0x000058C8,
+ 16338: 0x000058BD,
+ 16339: 0x000058C9,
+ 16340: 0x000058BF,
+ 16341: 0x000058BA,
+ 16342: 0x000058C2,
+ 16343: 0x000058BC,
+ 16344: 0x000058C6,
+ 16345: 0x00005B17,
+ 16346: 0x00005B19,
+ 16347: 0x00005B1B,
+ 16348: 0x00005B21,
+ 16349: 0x00005B14,
+ 16350: 0x00005B13,
+ 16351: 0x00005B10,
+ 16352: 0x00005B16,
+ 16353: 0x00005B28,
+ 16354: 0x00005B1A,
+ 16355: 0x00005B20,
+ 16356: 0x00005B1E,
+ 16357: 0x00005BEF,
+ 16358: 0x00005DAC,
+ 16359: 0x00005DB1,
+ 16360: 0x00005DA9,
+ 16361: 0x00005DA7,
+ 16362: 0x00005DB5,
+ 16363: 0x00005DB0,
+ 16364: 0x00005DAE,
+ 16365: 0x00005DAA,
+ 16366: 0x00005DA8,
+ 16367: 0x00005DB2,
+ 16368: 0x00005DAD,
+ 16369: 0x00005DAF,
+ 16370: 0x00005DB4,
+ 16371: 0x00005E67,
+ 16372: 0x00005E68,
+ 16373: 0x00005E66,
+ 16374: 0x00005E6F,
+ 16375: 0x00005EE9,
+ 16376: 0x00005EE7,
+ 16377: 0x00005EE6,
+ 16378: 0x00005EE8,
+ 16379: 0x00005EE5,
+ 16380: 0x00005F4B,
+ 16381: 0x00005FBC,
+ 16382: 0x0000619D,
+ 16383: 0x000061A8,
+ 16384: 0x00006196,
+ 16385: 0x000061C5,
+ 16386: 0x000061B4,
+ 16387: 0x000061C6,
+ 16388: 0x000061C1,
+ 16389: 0x000061CC,
+ 16390: 0x000061BA,
+ 16391: 0x000061BF,
+ 16392: 0x000061B8,
+ 16393: 0x0000618C,
+ 16394: 0x000064D7,
+ 16395: 0x000064D6,
+ 16396: 0x000064D0,
+ 16397: 0x000064CF,
+ 16398: 0x000064C9,
+ 16399: 0x000064BD,
+ 16400: 0x00006489,
+ 16401: 0x000064C3,
+ 16402: 0x000064DB,
+ 16403: 0x000064F3,
+ 16404: 0x000064D9,
+ 16405: 0x00006533,
+ 16406: 0x0000657F,
+ 16407: 0x0000657C,
+ 16408: 0x000065A2,
+ 16409: 0x000066C8,
+ 16410: 0x000066BE,
+ 16411: 0x000066C0,
+ 16412: 0x000066CA,
+ 16413: 0x000066CB,
+ 16414: 0x000066CF,
+ 16415: 0x000066BD,
+ 16416: 0x000066BB,
+ 16417: 0x000066BA,
+ 16418: 0x000066CC,
+ 16419: 0x00006723,
+ 16420: 0x00006A34,
+ 16421: 0x00006A66,
+ 16422: 0x00006A49,
+ 16423: 0x00006A67,
+ 16424: 0x00006A32,
+ 16425: 0x00006A68,
+ 16426: 0x00006A3E,
+ 16427: 0x00006A5D,
+ 16428: 0x00006A6D,
+ 16429: 0x00006A76,
+ 16430: 0x00006A5B,
+ 16431: 0x00006A51,
+ 16432: 0x00006A28,
+ 16433: 0x00006A5A,
+ 16434: 0x00006A3B,
+ 16435: 0x00006A3F,
+ 16436: 0x00006A41,
+ 16437: 0x00006A6A,
+ 16438: 0x00006A64,
+ 16439: 0x00006A50,
+ 16440: 0x00006A4F,
+ 16441: 0x00006A54,
+ 16442: 0x00006A6F,
+ 16443: 0x00006A69,
+ 16444: 0x00006A60,
+ 16445: 0x00006A3C,
+ 16446: 0x00006A5E,
+ 16447: 0x00006A56,
+ 16448: 0x00006A55,
+ 16449: 0x00006A4D,
+ 16450: 0x00006A4E,
+ 16451: 0x00006A46,
+ 16452: 0x00006B55,
+ 16453: 0x00006B54,
+ 16454: 0x00006B56,
+ 16455: 0x00006BA7,
+ 16456: 0x00006BAA,
+ 16457: 0x00006BAB,
+ 16458: 0x00006BC8,
+ 16459: 0x00006BC7,
+ 16460: 0x00006C04,
+ 16461: 0x00006C03,
+ 16462: 0x00006C06,
+ 16463: 0x00006FAD,
+ 16464: 0x00006FCB,
+ 16465: 0x00006FA3,
+ 16466: 0x00006FC7,
+ 16467: 0x00006FBC,
+ 16468: 0x00006FCE,
+ 16469: 0x00006FC8,
+ 16470: 0x00006F5E,
+ 16471: 0x00006FC4,
+ 16472: 0x00006FBD,
+ 16473: 0x00006F9E,
+ 16474: 0x00006FCA,
+ 16475: 0x00006FA8,
+ 16476: 0x00007004,
+ 16477: 0x00006FA5,
+ 16478: 0x00006FAE,
+ 16479: 0x00006FBA,
+ 16480: 0x00006FAC,
+ 16481: 0x00006FAA,
+ 16482: 0x00006FCF,
+ 16483: 0x00006FBF,
+ 16484: 0x00006FB8,
+ 16485: 0x00006FA2,
+ 16486: 0x00006FC9,
+ 16487: 0x00006FAB,
+ 16488: 0x00006FCD,
+ 16489: 0x00006FAF,
+ 16490: 0x00006FB2,
+ 16491: 0x00006FB0,
+ 16492: 0x000071C5,
+ 16493: 0x000071C2,
+ 16494: 0x000071BF,
+ 16495: 0x000071B8,
+ 16496: 0x000071D6,
+ 16497: 0x000071C0,
+ 16498: 0x000071C1,
+ 16499: 0x000071CB,
+ 16500: 0x000071D4,
+ 16501: 0x000071CA,
+ 16502: 0x000071C7,
+ 16503: 0x000071CF,
+ 16504: 0x000071BD,
+ 16505: 0x000071D8,
+ 16506: 0x000071BC,
+ 16507: 0x000071C6,
+ 16508: 0x000071DA,
+ 16509: 0x000071DB,
+ 16510: 0x0000729D,
+ 16511: 0x0000729E,
+ 16512: 0x00007369,
+ 16513: 0x00007366,
+ 16514: 0x00007367,
+ 16515: 0x0000736C,
+ 16516: 0x00007365,
+ 16517: 0x0000736B,
+ 16518: 0x0000736A,
+ 16519: 0x0000747F,
+ 16520: 0x0000749A,
+ 16521: 0x000074A0,
+ 16522: 0x00007494,
+ 16523: 0x00007492,
+ 16524: 0x00007495,
+ 16525: 0x000074A1,
+ 16526: 0x0000750B,
+ 16527: 0x00007580,
+ 16528: 0x0000762F,
+ 16529: 0x0000762D,
+ 16530: 0x00007631,
+ 16531: 0x0000763D,
+ 16532: 0x00007633,
+ 16533: 0x0000763C,
+ 16534: 0x00007635,
+ 16535: 0x00007632,
+ 16536: 0x00007630,
+ 16537: 0x000076BB,
+ 16538: 0x000076E6,
+ 16539: 0x0000779A,
+ 16540: 0x0000779D,
+ 16541: 0x000077A1,
+ 16542: 0x0000779C,
+ 16543: 0x0000779B,
+ 16544: 0x000077A2,
+ 16545: 0x000077A3,
+ 16546: 0x00007795,
+ 16547: 0x00007799,
+ 16548: 0x00007797,
+ 16549: 0x000078DD,
+ 16550: 0x000078E9,
+ 16551: 0x000078E5,
+ 16552: 0x000078EA,
+ 16553: 0x000078DE,
+ 16554: 0x000078E3,
+ 16555: 0x000078DB,
+ 16556: 0x000078E1,
+ 16557: 0x000078E2,
+ 16558: 0x000078ED,
+ 16559: 0x000078DF,
+ 16560: 0x000078E0,
+ 16561: 0x000079A4,
+ 16562: 0x00007A44,
+ 16563: 0x00007A48,
+ 16564: 0x00007A47,
+ 16565: 0x00007AB6,
+ 16566: 0x00007AB8,
+ 16567: 0x00007AB5,
+ 16568: 0x00007AB1,
+ 16569: 0x00007AB7,
+ 16570: 0x00007BDE,
+ 16571: 0x00007BE3,
+ 16572: 0x00007BE7,
+ 16573: 0x00007BDD,
+ 16574: 0x00007BD5,
+ 16575: 0x00007BE5,
+ 16576: 0x00007BDA,
+ 16577: 0x00007BE8,
+ 16578: 0x00007BF9,
+ 16579: 0x00007BD4,
+ 16580: 0x00007BEA,
+ 16581: 0x00007BE2,
+ 16582: 0x00007BDC,
+ 16583: 0x00007BEB,
+ 16584: 0x00007BD8,
+ 16585: 0x00007BDF,
+ 16586: 0x00007CD2,
+ 16587: 0x00007CD4,
+ 16588: 0x00007CD7,
+ 16589: 0x00007CD0,
+ 16590: 0x00007CD1,
+ 16591: 0x00007E12,
+ 16592: 0x00007E21,
+ 16593: 0x00007E17,
+ 16594: 0x00007E0C,
+ 16595: 0x00007E1F,
+ 16596: 0x00007E20,
+ 16597: 0x00007E13,
+ 16598: 0x00007E0E,
+ 16599: 0x00007E1C,
+ 16600: 0x00007E15,
+ 16601: 0x00007E1A,
+ 16602: 0x00007E22,
+ 16603: 0x00007E0B,
+ 16604: 0x00007E0F,
+ 16605: 0x00007E16,
+ 16606: 0x00007E0D,
+ 16607: 0x00007E14,
+ 16608: 0x00007E25,
+ 16609: 0x00007E24,
+ 16610: 0x00007F43,
+ 16611: 0x00007F7B,
+ 16612: 0x00007F7C,
+ 16613: 0x00007F7A,
+ 16614: 0x00007FB1,
+ 16615: 0x00007FEF,
+ 16616: 0x0000802A,
+ 16617: 0x00008029,
+ 16618: 0x0000806C,
+ 16619: 0x000081B1,
+ 16620: 0x000081A6,
+ 16621: 0x000081AE,
+ 16622: 0x000081B9,
+ 16623: 0x000081B5,
+ 16624: 0x000081AB,
+ 16625: 0x000081B0,
+ 16626: 0x000081AC,
+ 16627: 0x000081B4,
+ 16628: 0x000081B2,
+ 16629: 0x000081B7,
+ 16630: 0x000081A7,
+ 16631: 0x000081F2,
+ 16632: 0x00008255,
+ 16633: 0x00008256,
+ 16634: 0x00008257,
+ 16635: 0x00008556,
+ 16636: 0x00008545,
+ 16637: 0x0000856B,
+ 16638: 0x0000854D,
+ 16639: 0x00008553,
+ 16640: 0x00008561,
+ 16641: 0x00008558,
+ 16642: 0x00008540,
+ 16643: 0x00008546,
+ 16644: 0x00008564,
+ 16645: 0x00008541,
+ 16646: 0x00008562,
+ 16647: 0x00008544,
+ 16648: 0x00008551,
+ 16649: 0x00008547,
+ 16650: 0x00008563,
+ 16651: 0x0000853E,
+ 16652: 0x0000855B,
+ 16653: 0x00008571,
+ 16654: 0x0000854E,
+ 16655: 0x0000856E,
+ 16656: 0x00008575,
+ 16657: 0x00008555,
+ 16658: 0x00008567,
+ 16659: 0x00008560,
+ 16660: 0x0000858C,
+ 16661: 0x00008566,
+ 16662: 0x0000855D,
+ 16663: 0x00008554,
+ 16664: 0x00008565,
+ 16665: 0x0000856C,
+ 16666: 0x00008663,
+ 16667: 0x00008665,
+ 16668: 0x00008664,
+ 16669: 0x0000879B,
+ 16670: 0x0000878F,
+ 16671: 0x00008797,
+ 16672: 0x00008793,
+ 16673: 0x00008792,
+ 16674: 0x00008788,
+ 16675: 0x00008781,
+ 16676: 0x00008796,
+ 16677: 0x00008798,
+ 16678: 0x00008779,
+ 16679: 0x00008787,
+ 16680: 0x000087A3,
+ 16681: 0x00008785,
+ 16682: 0x00008790,
+ 16683: 0x00008791,
+ 16684: 0x0000879D,
+ 16685: 0x00008784,
+ 16686: 0x00008794,
+ 16687: 0x0000879C,
+ 16688: 0x0000879A,
+ 16689: 0x00008789,
+ 16690: 0x0000891E,
+ 16691: 0x00008926,
+ 16692: 0x00008930,
+ 16693: 0x0000892D,
+ 16694: 0x0000892E,
+ 16695: 0x00008927,
+ 16696: 0x00008931,
+ 16697: 0x00008922,
+ 16698: 0x00008929,
+ 16699: 0x00008923,
+ 16700: 0x0000892F,
+ 16701: 0x0000892C,
+ 16702: 0x0000891F,
+ 16703: 0x000089F1,
+ 16704: 0x00008AE0,
+ 16705: 0x00008AE2,
+ 16706: 0x00008AF2,
+ 16707: 0x00008AF4,
+ 16708: 0x00008AF5,
+ 16709: 0x00008ADD,
+ 16710: 0x00008B14,
+ 16711: 0x00008AE4,
+ 16712: 0x00008ADF,
+ 16713: 0x00008AF0,
+ 16714: 0x00008AC8,
+ 16715: 0x00008ADE,
+ 16716: 0x00008AE1,
+ 16717: 0x00008AE8,
+ 16718: 0x00008AFF,
+ 16719: 0x00008AEF,
+ 16720: 0x00008AFB,
+ 16721: 0x00008C91,
+ 16722: 0x00008C92,
+ 16723: 0x00008C90,
+ 16724: 0x00008CF5,
+ 16725: 0x00008CEE,
+ 16726: 0x00008CF1,
+ 16727: 0x00008CF0,
+ 16728: 0x00008CF3,
+ 16729: 0x00008D6C,
+ 16730: 0x00008D6E,
+ 16731: 0x00008DA5,
+ 16732: 0x00008DA7,
+ 16733: 0x00008E33,
+ 16734: 0x00008E3E,
+ 16735: 0x00008E38,
+ 16736: 0x00008E40,
+ 16737: 0x00008E45,
+ 16738: 0x00008E36,
+ 16739: 0x00008E3C,
+ 16740: 0x00008E3D,
+ 16741: 0x00008E41,
+ 16742: 0x00008E30,
+ 16743: 0x00008E3F,
+ 16744: 0x00008EBD,
+ 16745: 0x00008F36,
+ 16746: 0x00008F2E,
+ 16747: 0x00008F35,
+ 16748: 0x00008F32,
+ 16749: 0x00008F39,
+ 16750: 0x00008F37,
+ 16751: 0x00008F34,
+ 16752: 0x00009076,
+ 16753: 0x00009079,
+ 16754: 0x0000907B,
+ 16755: 0x00009086,
+ 16756: 0x000090FA,
+ 16757: 0x00009133,
+ 16758: 0x00009135,
+ 16759: 0x00009136,
+ 16760: 0x00009193,
+ 16761: 0x00009190,
+ 16762: 0x00009191,
+ 16763: 0x0000918D,
+ 16764: 0x0000918F,
+ 16765: 0x00009327,
+ 16766: 0x0000931E,
+ 16767: 0x00009308,
+ 16768: 0x0000931F,
+ 16769: 0x00009306,
+ 16770: 0x0000930F,
+ 16771: 0x0000937A,
+ 16772: 0x00009338,
+ 16773: 0x0000933C,
+ 16774: 0x0000931B,
+ 16775: 0x00009323,
+ 16776: 0x00009312,
+ 16777: 0x00009301,
+ 16778: 0x00009346,
+ 16779: 0x0000932D,
+ 16780: 0x0000930E,
+ 16781: 0x0000930D,
+ 16782: 0x000092CB,
+ 16783: 0x0000931D,
+ 16784: 0x000092FA,
+ 16785: 0x00009325,
+ 16786: 0x00009313,
+ 16787: 0x000092F9,
+ 16788: 0x000092F7,
+ 16789: 0x00009334,
+ 16790: 0x00009302,
+ 16791: 0x00009324,
+ 16792: 0x000092FF,
+ 16793: 0x00009329,
+ 16794: 0x00009339,
+ 16795: 0x00009335,
+ 16796: 0x0000932A,
+ 16797: 0x00009314,
+ 16798: 0x0000930C,
+ 16799: 0x0000930B,
+ 16800: 0x000092FE,
+ 16801: 0x00009309,
+ 16802: 0x00009300,
+ 16803: 0x000092FB,
+ 16804: 0x00009316,
+ 16805: 0x000095BC,
+ 16806: 0x000095CD,
+ 16807: 0x000095BE,
+ 16808: 0x000095B9,
+ 16809: 0x000095BA,
+ 16810: 0x000095B6,
+ 16811: 0x000095BF,
+ 16812: 0x000095B5,
+ 16813: 0x000095BD,
+ 16814: 0x000096A9,
+ 16815: 0x000096D4,
+ 16816: 0x0000970B,
+ 16817: 0x00009712,
+ 16818: 0x00009710,
+ 16819: 0x00009799,
+ 16820: 0x00009797,
+ 16821: 0x00009794,
+ 16822: 0x000097F0,
+ 16823: 0x000097F8,
+ 16824: 0x00009835,
+ 16825: 0x0000982F,
+ 16826: 0x00009832,
+ 16827: 0x00009924,
+ 16828: 0x0000991F,
+ 16829: 0x00009927,
+ 16830: 0x00009929,
+ 16831: 0x0000999E,
+ 16832: 0x000099EE,
+ 16833: 0x000099EC,
+ 16834: 0x000099E5,
+ 16835: 0x000099E4,
+ 16836: 0x000099F0,
+ 16837: 0x000099E3,
+ 16838: 0x000099EA,
+ 16839: 0x000099E9,
+ 16840: 0x000099E7,
+ 16841: 0x00009AB9,
+ 16842: 0x00009ABF,
+ 16843: 0x00009AB4,
+ 16844: 0x00009ABB,
+ 16845: 0x00009AF6,
+ 16846: 0x00009AFA,
+ 16847: 0x00009AF9,
+ 16848: 0x00009AF7,
+ 16849: 0x00009B33,
+ 16850: 0x00009B80,
+ 16851: 0x00009B85,
+ 16852: 0x00009B87,
+ 16853: 0x00009B7C,
+ 16854: 0x00009B7E,
+ 16855: 0x00009B7B,
+ 16856: 0x00009B82,
+ 16857: 0x00009B93,
+ 16858: 0x00009B92,
+ 16859: 0x00009B90,
+ 16860: 0x00009B7A,
+ 16861: 0x00009B95,
+ 16862: 0x00009B7D,
+ 16863: 0x00009B88,
+ 16864: 0x00009D25,
+ 16865: 0x00009D17,
+ 16866: 0x00009D20,
+ 16867: 0x00009D1E,
+ 16868: 0x00009D14,
+ 16869: 0x00009D29,
+ 16870: 0x00009D1D,
+ 16871: 0x00009D18,
+ 16872: 0x00009D22,
+ 16873: 0x00009D10,
+ 16874: 0x00009D19,
+ 16875: 0x00009D1F,
+ 16876: 0x00009E88,
+ 16877: 0x00009E86,
+ 16878: 0x00009E87,
+ 16879: 0x00009EAE,
+ 16880: 0x00009EAD,
+ 16881: 0x00009ED5,
+ 16882: 0x00009ED6,
+ 16883: 0x00009EFA,
+ 16884: 0x00009F12,
+ 16885: 0x00009F3D,
+ 16886: 0x00005126,
+ 16887: 0x00005125,
+ 16888: 0x00005122,
+ 16889: 0x00005124,
+ 16890: 0x00005120,
+ 16891: 0x00005129,
+ 16892: 0x000052F4,
+ 16893: 0x00005693,
+ 16894: 0x0000568C,
+ 16895: 0x0000568D,
+ 16896: 0x00005686,
+ 16897: 0x00005684,
+ 16898: 0x00005683,
+ 16899: 0x0000567E,
+ 16900: 0x00005682,
+ 16901: 0x0000567F,
+ 16902: 0x00005681,
+ 16903: 0x000058D6,
+ 16904: 0x000058D4,
+ 16905: 0x000058CF,
+ 16906: 0x000058D2,
+ 16907: 0x00005B2D,
+ 16908: 0x00005B25,
+ 16909: 0x00005B32,
+ 16910: 0x00005B23,
+ 16911: 0x00005B2C,
+ 16912: 0x00005B27,
+ 16913: 0x00005B26,
+ 16914: 0x00005B2F,
+ 16915: 0x00005B2E,
+ 16916: 0x00005B7B,
+ 16917: 0x00005BF1,
+ 16918: 0x00005BF2,
+ 16919: 0x00005DB7,
+ 16920: 0x00005E6C,
+ 16921: 0x00005E6A,
+ 16922: 0x00005FBE,
+ 16923: 0x00005FBB,
+ 16924: 0x000061C3,
+ 16925: 0x000061B5,
+ 16926: 0x000061BC,
+ 16927: 0x000061E7,
+ 16928: 0x000061E0,
+ 16929: 0x000061E5,
+ 16930: 0x000061E4,
+ 16931: 0x000061E8,
+ 16932: 0x000061DE,
+ 16933: 0x000064EF,
+ 16934: 0x000064E9,
+ 16935: 0x000064E3,
+ 16936: 0x000064EB,
+ 16937: 0x000064E4,
+ 16938: 0x000064E8,
+ 16939: 0x00006581,
+ 16940: 0x00006580,
+ 16941: 0x000065B6,
+ 16942: 0x000065DA,
+ 16943: 0x000066D2,
+ 16944: 0x00006A8D,
+ 16945: 0x00006A96,
+ 16946: 0x00006A81,
+ 16947: 0x00006AA5,
+ 16948: 0x00006A89,
+ 16949: 0x00006A9F,
+ 16950: 0x00006A9B,
+ 16951: 0x00006AA1,
+ 16952: 0x00006A9E,
+ 16953: 0x00006A87,
+ 16954: 0x00006A93,
+ 16955: 0x00006A8E,
+ 16956: 0x00006A95,
+ 16957: 0x00006A83,
+ 16958: 0x00006AA8,
+ 16959: 0x00006AA4,
+ 16960: 0x00006A91,
+ 16961: 0x00006A7F,
+ 16962: 0x00006AA6,
+ 16963: 0x00006A9A,
+ 16964: 0x00006A85,
+ 16965: 0x00006A8C,
+ 16966: 0x00006A92,
+ 16967: 0x00006B5B,
+ 16968: 0x00006BAD,
+ 16969: 0x00006C09,
+ 16970: 0x00006FCC,
+ 16971: 0x00006FA9,
+ 16972: 0x00006FF4,
+ 16973: 0x00006FD4,
+ 16974: 0x00006FE3,
+ 16975: 0x00006FDC,
+ 16976: 0x00006FED,
+ 16977: 0x00006FE7,
+ 16978: 0x00006FE6,
+ 16979: 0x00006FDE,
+ 16980: 0x00006FF2,
+ 16981: 0x00006FDD,
+ 16982: 0x00006FE2,
+ 16983: 0x00006FE8,
+ 16984: 0x000071E1,
+ 16985: 0x000071F1,
+ 16986: 0x000071E8,
+ 16987: 0x000071F2,
+ 16988: 0x000071E4,
+ 16989: 0x000071F0,
+ 16990: 0x000071E2,
+ 16991: 0x00007373,
+ 16992: 0x0000736E,
+ 16993: 0x0000736F,
+ 16994: 0x00007497,
+ 16995: 0x000074B2,
+ 16996: 0x000074AB,
+ 16997: 0x00007490,
+ 16998: 0x000074AA,
+ 16999: 0x000074AD,
+ 17000: 0x000074B1,
+ 17001: 0x000074A5,
+ 17002: 0x000074AF,
+ 17003: 0x00007510,
+ 17004: 0x00007511,
+ 17005: 0x00007512,
+ 17006: 0x0000750F,
+ 17007: 0x00007584,
+ 17008: 0x00007643,
+ 17009: 0x00007648,
+ 17010: 0x00007649,
+ 17011: 0x00007647,
+ 17012: 0x000076A4,
+ 17013: 0x000076E9,
+ 17014: 0x000077B5,
+ 17015: 0x000077AB,
+ 17016: 0x000077B2,
+ 17017: 0x000077B7,
+ 17018: 0x000077B6,
+ 17019: 0x000077B4,
+ 17020: 0x000077B1,
+ 17021: 0x000077A8,
+ 17022: 0x000077F0,
+ 17023: 0x000078F3,
+ 17024: 0x000078FD,
+ 17025: 0x00007902,
+ 17026: 0x000078FB,
+ 17027: 0x000078FC,
+ 17028: 0x000078F2,
+ 17029: 0x00007905,
+ 17030: 0x000078F9,
+ 17031: 0x000078FE,
+ 17032: 0x00007904,
+ 17033: 0x000079AB,
+ 17034: 0x000079A8,
+ 17035: 0x00007A5C,
+ 17036: 0x00007A5B,
+ 17037: 0x00007A56,
+ 17038: 0x00007A58,
+ 17039: 0x00007A54,
+ 17040: 0x00007A5A,
+ 17041: 0x00007ABE,
+ 17042: 0x00007AC0,
+ 17043: 0x00007AC1,
+ 17044: 0x00007C05,
+ 17045: 0x00007C0F,
+ 17046: 0x00007BF2,
+ 17047: 0x00007C00,
+ 17048: 0x00007BFF,
+ 17049: 0x00007BFB,
+ 17050: 0x00007C0E,
+ 17051: 0x00007BF4,
+ 17052: 0x00007C0B,
+ 17053: 0x00007BF3,
+ 17054: 0x00007C02,
+ 17055: 0x00007C09,
+ 17056: 0x00007C03,
+ 17057: 0x00007C01,
+ 17058: 0x00007BF8,
+ 17059: 0x00007BFD,
+ 17060: 0x00007C06,
+ 17061: 0x00007BF0,
+ 17062: 0x00007BF1,
+ 17063: 0x00007C10,
+ 17064: 0x00007C0A,
+ 17065: 0x00007CE8,
+ 17066: 0x00007E2D,
+ 17067: 0x00007E3C,
+ 17068: 0x00007E42,
+ 17069: 0x00007E33,
+ 17070: 0x00009848,
+ 17071: 0x00007E38,
+ 17072: 0x00007E2A,
+ 17073: 0x00007E49,
+ 17074: 0x00007E40,
+ 17075: 0x00007E47,
+ 17076: 0x00007E29,
+ 17077: 0x00007E4C,
+ 17078: 0x00007E30,
+ 17079: 0x00007E3B,
+ 17080: 0x00007E36,
+ 17081: 0x00007E44,
+ 17082: 0x00007E3A,
+ 17083: 0x00007F45,
+ 17084: 0x00007F7F,
+ 17085: 0x00007F7E,
+ 17086: 0x00007F7D,
+ 17087: 0x00007FF4,
+ 17088: 0x00007FF2,
+ 17089: 0x0000802C,
+ 17090: 0x000081BB,
+ 17091: 0x000081C4,
+ 17092: 0x000081CC,
+ 17093: 0x000081CA,
+ 17094: 0x000081C5,
+ 17095: 0x000081C7,
+ 17096: 0x000081BC,
+ 17097: 0x000081E9,
+ 17098: 0x0000825B,
+ 17099: 0x0000825A,
+ 17100: 0x0000825C,
+ 17101: 0x00008583,
+ 17102: 0x00008580,
+ 17103: 0x0000858F,
+ 17104: 0x000085A7,
+ 17105: 0x00008595,
+ 17106: 0x000085A0,
+ 17107: 0x0000858B,
+ 17108: 0x000085A3,
+ 17109: 0x0000857B,
+ 17110: 0x000085A4,
+ 17111: 0x0000859A,
+ 17112: 0x0000859E,
+ 17113: 0x00008577,
+ 17114: 0x0000857C,
+ 17115: 0x00008589,
+ 17116: 0x000085A1,
+ 17117: 0x0000857A,
+ 17118: 0x00008578,
+ 17119: 0x00008557,
+ 17120: 0x0000858E,
+ 17121: 0x00008596,
+ 17122: 0x00008586,
+ 17123: 0x0000858D,
+ 17124: 0x00008599,
+ 17125: 0x0000859D,
+ 17126: 0x00008581,
+ 17127: 0x000085A2,
+ 17128: 0x00008582,
+ 17129: 0x00008588,
+ 17130: 0x00008585,
+ 17131: 0x00008579,
+ 17132: 0x00008576,
+ 17133: 0x00008598,
+ 17134: 0x00008590,
+ 17135: 0x0000859F,
+ 17136: 0x00008668,
+ 17137: 0x000087BE,
+ 17138: 0x000087AA,
+ 17139: 0x000087AD,
+ 17140: 0x000087C5,
+ 17141: 0x000087B0,
+ 17142: 0x000087AC,
+ 17143: 0x000087B9,
+ 17144: 0x000087B5,
+ 17145: 0x000087BC,
+ 17146: 0x000087AE,
+ 17147: 0x000087C9,
+ 17148: 0x000087C3,
+ 17149: 0x000087C2,
+ 17150: 0x000087CC,
+ 17151: 0x000087B7,
+ 17152: 0x000087AF,
+ 17153: 0x000087C4,
+ 17154: 0x000087CA,
+ 17155: 0x000087B4,
+ 17156: 0x000087B6,
+ 17157: 0x000087BF,
+ 17158: 0x000087B8,
+ 17159: 0x000087BD,
+ 17160: 0x000087DE,
+ 17161: 0x000087B2,
+ 17162: 0x00008935,
+ 17163: 0x00008933,
+ 17164: 0x0000893C,
+ 17165: 0x0000893E,
+ 17166: 0x00008941,
+ 17167: 0x00008952,
+ 17168: 0x00008937,
+ 17169: 0x00008942,
+ 17170: 0x000089AD,
+ 17171: 0x000089AF,
+ 17172: 0x000089AE,
+ 17173: 0x000089F2,
+ 17174: 0x000089F3,
+ 17175: 0x00008B1E,
+ 17176: 0x00008B18,
+ 17177: 0x00008B16,
+ 17178: 0x00008B11,
+ 17179: 0x00008B05,
+ 17180: 0x00008B0B,
+ 17181: 0x00008B22,
+ 17182: 0x00008B0F,
+ 17183: 0x00008B12,
+ 17184: 0x00008B15,
+ 17185: 0x00008B07,
+ 17186: 0x00008B0D,
+ 17187: 0x00008B08,
+ 17188: 0x00008B06,
+ 17189: 0x00008B1C,
+ 17190: 0x00008B13,
+ 17191: 0x00008B1A,
+ 17192: 0x00008C4F,
+ 17193: 0x00008C70,
+ 17194: 0x00008C72,
+ 17195: 0x00008C71,
+ 17196: 0x00008C6F,
+ 17197: 0x00008C95,
+ 17198: 0x00008C94,
+ 17199: 0x00008CF9,
+ 17200: 0x00008D6F,
+ 17201: 0x00008E4E,
+ 17202: 0x00008E4D,
+ 17203: 0x00008E53,
+ 17204: 0x00008E50,
+ 17205: 0x00008E4C,
+ 17206: 0x00008E47,
+ 17207: 0x00008F43,
+ 17208: 0x00008F40,
+ 17209: 0x00009085,
+ 17210: 0x0000907E,
+ 17211: 0x00009138,
+ 17212: 0x0000919A,
+ 17213: 0x000091A2,
+ 17214: 0x0000919B,
+ 17215: 0x00009199,
+ 17216: 0x0000919F,
+ 17217: 0x000091A1,
+ 17218: 0x0000919D,
+ 17219: 0x000091A0,
+ 17220: 0x000093A1,
+ 17221: 0x00009383,
+ 17222: 0x000093AF,
+ 17223: 0x00009364,
+ 17224: 0x00009356,
+ 17225: 0x00009347,
+ 17226: 0x0000937C,
+ 17227: 0x00009358,
+ 17228: 0x0000935C,
+ 17229: 0x00009376,
+ 17230: 0x00009349,
+ 17231: 0x00009350,
+ 17232: 0x00009351,
+ 17233: 0x00009360,
+ 17234: 0x0000936D,
+ 17235: 0x0000938F,
+ 17236: 0x0000934C,
+ 17237: 0x0000936A,
+ 17238: 0x00009379,
+ 17239: 0x00009357,
+ 17240: 0x00009355,
+ 17241: 0x00009352,
+ 17242: 0x0000934F,
+ 17243: 0x00009371,
+ 17244: 0x00009377,
+ 17245: 0x0000937B,
+ 17246: 0x00009361,
+ 17247: 0x0000935E,
+ 17248: 0x00009363,
+ 17249: 0x00009367,
+ 17250: 0x00009380,
+ 17251: 0x0000934E,
+ 17252: 0x00009359,
+ 17253: 0x000095C7,
+ 17254: 0x000095C0,
+ 17255: 0x000095C9,
+ 17256: 0x000095C3,
+ 17257: 0x000095C5,
+ 17258: 0x000095B7,
+ 17259: 0x000096AE,
+ 17260: 0x000096B0,
+ 17261: 0x000096AC,
+ 17262: 0x00009720,
+ 17263: 0x0000971F,
+ 17264: 0x00009718,
+ 17265: 0x0000971D,
+ 17266: 0x00009719,
+ 17267: 0x0000979A,
+ 17268: 0x000097A1,
+ 17269: 0x0000979C,
+ 17270: 0x0000979E,
+ 17271: 0x0000979D,
+ 17272: 0x000097D5,
+ 17273: 0x000097D4,
+ 17274: 0x000097F1,
+ 17275: 0x00009841,
+ 17276: 0x00009844,
+ 17277: 0x0000984A,
+ 17278: 0x00009849,
+ 17279: 0x00009845,
+ 17280: 0x00009843,
+ 17281: 0x00009925,
+ 17282: 0x0000992B,
+ 17283: 0x0000992C,
+ 17284: 0x0000992A,
+ 17285: 0x00009933,
+ 17286: 0x00009932,
+ 17287: 0x0000992F,
+ 17288: 0x0000992D,
+ 17289: 0x00009931,
+ 17290: 0x00009930,
+ 17291: 0x00009998,
+ 17292: 0x000099A3,
+ 17293: 0x000099A1,
+ 17294: 0x00009A02,
+ 17295: 0x000099FA,
+ 17296: 0x000099F4,
+ 17297: 0x000099F7,
+ 17298: 0x000099F9,
+ 17299: 0x000099F8,
+ 17300: 0x000099F6,
+ 17301: 0x000099FB,
+ 17302: 0x000099FD,
+ 17303: 0x000099FE,
+ 17304: 0x000099FC,
+ 17305: 0x00009A03,
+ 17306: 0x00009ABE,
+ 17307: 0x00009AFE,
+ 17308: 0x00009AFD,
+ 17309: 0x00009B01,
+ 17310: 0x00009AFC,
+ 17311: 0x00009B48,
+ 17312: 0x00009B9A,
+ 17313: 0x00009BA8,
+ 17314: 0x00009B9E,
+ 17315: 0x00009B9B,
+ 17316: 0x00009BA6,
+ 17317: 0x00009BA1,
+ 17318: 0x00009BA5,
+ 17319: 0x00009BA4,
+ 17320: 0x00009B86,
+ 17321: 0x00009BA2,
+ 17322: 0x00009BA0,
+ 17323: 0x00009BAF,
+ 17324: 0x00009D33,
+ 17325: 0x00009D41,
+ 17326: 0x00009D67,
+ 17327: 0x00009D36,
+ 17328: 0x00009D2E,
+ 17329: 0x00009D2F,
+ 17330: 0x00009D31,
+ 17331: 0x00009D38,
+ 17332: 0x00009D30,
+ 17333: 0x00009D45,
+ 17334: 0x00009D42,
+ 17335: 0x00009D43,
+ 17336: 0x00009D3E,
+ 17337: 0x00009D37,
+ 17338: 0x00009D40,
+ 17339: 0x00009D3D,
+ 17340: 0x00007FF5,
+ 17341: 0x00009D2D,
+ 17342: 0x00009E8A,
+ 17343: 0x00009E89,
+ 17344: 0x00009E8D,
+ 17345: 0x00009EB0,
+ 17346: 0x00009EC8,
+ 17347: 0x00009EDA,
+ 17348: 0x00009EFB,
+ 17349: 0x00009EFF,
+ 17350: 0x00009F24,
+ 17351: 0x00009F23,
+ 17352: 0x00009F22,
+ 17353: 0x00009F54,
+ 17354: 0x00009FA0,
+ 17355: 0x00005131,
+ 17356: 0x0000512D,
+ 17357: 0x0000512E,
+ 17358: 0x00005698,
+ 17359: 0x0000569C,
+ 17360: 0x00005697,
+ 17361: 0x0000569A,
+ 17362: 0x0000569D,
+ 17363: 0x00005699,
+ 17364: 0x00005970,
+ 17365: 0x00005B3C,
+ 17366: 0x00005C69,
+ 17367: 0x00005C6A,
+ 17368: 0x00005DC0,
+ 17369: 0x00005E6D,
+ 17370: 0x00005E6E,
+ 17371: 0x000061D8,
+ 17372: 0x000061DF,
+ 17373: 0x000061ED,
+ 17374: 0x000061EE,
+ 17375: 0x000061F1,
+ 17376: 0x000061EA,
+ 17377: 0x000061F0,
+ 17378: 0x000061EB,
+ 17379: 0x000061D6,
+ 17380: 0x000061E9,
+ 17381: 0x000064FF,
+ 17382: 0x00006504,
+ 17383: 0x000064FD,
+ 17384: 0x000064F8,
+ 17385: 0x00006501,
+ 17386: 0x00006503,
+ 17387: 0x000064FC,
+ 17388: 0x00006594,
+ 17389: 0x000065DB,
+ 17390: 0x000066DA,
+ 17391: 0x000066DB,
+ 17392: 0x000066D8,
+ 17393: 0x00006AC5,
+ 17394: 0x00006AB9,
+ 17395: 0x00006ABD,
+ 17396: 0x00006AE1,
+ 17397: 0x00006AC6,
+ 17398: 0x00006ABA,
+ 17399: 0x00006AB6,
+ 17400: 0x00006AB7,
+ 17401: 0x00006AC7,
+ 17402: 0x00006AB4,
+ 17403: 0x00006AAD,
+ 17404: 0x00006B5E,
+ 17405: 0x00006BC9,
+ 17406: 0x00006C0B,
+ 17407: 0x00007007,
+ 17408: 0x0000700C,
+ 17409: 0x0000700D,
+ 17410: 0x00007001,
+ 17411: 0x00007005,
+ 17412: 0x00007014,
+ 17413: 0x0000700E,
+ 17414: 0x00006FFF,
+ 17415: 0x00007000,
+ 17416: 0x00006FFB,
+ 17417: 0x00007026,
+ 17418: 0x00006FFC,
+ 17419: 0x00006FF7,
+ 17420: 0x0000700A,
+ 17421: 0x00007201,
+ 17422: 0x000071FF,
+ 17423: 0x000071F9,
+ 17424: 0x00007203,
+ 17425: 0x000071FD,
+ 17426: 0x00007376,
+ 17427: 0x000074B8,
+ 17428: 0x000074C0,
+ 17429: 0x000074B5,
+ 17430: 0x000074C1,
+ 17431: 0x000074BE,
+ 17432: 0x000074B6,
+ 17433: 0x000074BB,
+ 17434: 0x000074C2,
+ 17435: 0x00007514,
+ 17436: 0x00007513,
+ 17437: 0x0000765C,
+ 17438: 0x00007664,
+ 17439: 0x00007659,
+ 17440: 0x00007650,
+ 17441: 0x00007653,
+ 17442: 0x00007657,
+ 17443: 0x0000765A,
+ 17444: 0x000076A6,
+ 17445: 0x000076BD,
+ 17446: 0x000076EC,
+ 17447: 0x000077C2,
+ 17448: 0x000077BA,
+ 17449: 0x000078FF,
+ 17450: 0x0000790C,
+ 17451: 0x00007913,
+ 17452: 0x00007914,
+ 17453: 0x00007909,
+ 17454: 0x00007910,
+ 17455: 0x00007912,
+ 17456: 0x00007911,
+ 17457: 0x000079AD,
+ 17458: 0x000079AC,
+ 17459: 0x00007A5F,
+ 17460: 0x00007C1C,
+ 17461: 0x00007C29,
+ 17462: 0x00007C19,
+ 17463: 0x00007C20,
+ 17464: 0x00007C1F,
+ 17465: 0x00007C2D,
+ 17466: 0x00007C1D,
+ 17467: 0x00007C26,
+ 17468: 0x00007C28,
+ 17469: 0x00007C22,
+ 17470: 0x00007C25,
+ 17471: 0x00007C30,
+ 17472: 0x00007E5C,
+ 17473: 0x00007E50,
+ 17474: 0x00007E56,
+ 17475: 0x00007E63,
+ 17476: 0x00007E58,
+ 17477: 0x00007E62,
+ 17478: 0x00007E5F,
+ 17479: 0x00007E51,
+ 17480: 0x00007E60,
+ 17481: 0x00007E57,
+ 17482: 0x00007E53,
+ 17483: 0x00007FB5,
+ 17484: 0x00007FB3,
+ 17485: 0x00007FF7,
+ 17486: 0x00007FF8,
+ 17487: 0x00008075,
+ 17488: 0x000081D1,
+ 17489: 0x000081D2,
+ 17490: 0x000081D0,
+ 17491: 0x0000825F,
+ 17492: 0x0000825E,
+ 17493: 0x000085B4,
+ 17494: 0x000085C6,
+ 17495: 0x000085C0,
+ 17496: 0x000085C3,
+ 17497: 0x000085C2,
+ 17498: 0x000085B3,
+ 17499: 0x000085B5,
+ 17500: 0x000085BD,
+ 17501: 0x000085C7,
+ 17502: 0x000085C4,
+ 17503: 0x000085BF,
+ 17504: 0x000085CB,
+ 17505: 0x000085CE,
+ 17506: 0x000085C8,
+ 17507: 0x000085C5,
+ 17508: 0x000085B1,
+ 17509: 0x000085B6,
+ 17510: 0x000085D2,
+ 17511: 0x00008624,
+ 17512: 0x000085B8,
+ 17513: 0x000085B7,
+ 17514: 0x000085BE,
+ 17515: 0x00008669,
+ 17516: 0x000087E7,
+ 17517: 0x000087E6,
+ 17518: 0x000087E2,
+ 17519: 0x000087DB,
+ 17520: 0x000087EB,
+ 17521: 0x000087EA,
+ 17522: 0x000087E5,
+ 17523: 0x000087DF,
+ 17524: 0x000087F3,
+ 17525: 0x000087E4,
+ 17526: 0x000087D4,
+ 17527: 0x000087DC,
+ 17528: 0x000087D3,
+ 17529: 0x000087ED,
+ 17530: 0x000087D8,
+ 17531: 0x000087E3,
+ 17532: 0x000087A4,
+ 17533: 0x000087D7,
+ 17534: 0x000087D9,
+ 17535: 0x00008801,
+ 17536: 0x000087F4,
+ 17537: 0x000087E8,
+ 17538: 0x000087DD,
+ 17539: 0x00008953,
+ 17540: 0x0000894B,
+ 17541: 0x0000894F,
+ 17542: 0x0000894C,
+ 17543: 0x00008946,
+ 17544: 0x00008950,
+ 17545: 0x00008951,
+ 17546: 0x00008949,
+ 17547: 0x00008B2A,
+ 17548: 0x00008B27,
+ 17549: 0x00008B23,
+ 17550: 0x00008B33,
+ 17551: 0x00008B30,
+ 17552: 0x00008B35,
+ 17553: 0x00008B47,
+ 17554: 0x00008B2F,
+ 17555: 0x00008B3C,
+ 17556: 0x00008B3E,
+ 17557: 0x00008B31,
+ 17558: 0x00008B25,
+ 17559: 0x00008B37,
+ 17560: 0x00008B26,
+ 17561: 0x00008B36,
+ 17562: 0x00008B2E,
+ 17563: 0x00008B24,
+ 17564: 0x00008B3B,
+ 17565: 0x00008B3D,
+ 17566: 0x00008B3A,
+ 17567: 0x00008C42,
+ 17568: 0x00008C75,
+ 17569: 0x00008C99,
+ 17570: 0x00008C98,
+ 17571: 0x00008C97,
+ 17572: 0x00008CFE,
+ 17573: 0x00008D04,
+ 17574: 0x00008D02,
+ 17575: 0x00008D00,
+ 17576: 0x00008E5C,
+ 17577: 0x00008E62,
+ 17578: 0x00008E60,
+ 17579: 0x00008E57,
+ 17580: 0x00008E56,
+ 17581: 0x00008E5E,
+ 17582: 0x00008E65,
+ 17583: 0x00008E67,
+ 17584: 0x00008E5B,
+ 17585: 0x00008E5A,
+ 17586: 0x00008E61,
+ 17587: 0x00008E5D,
+ 17588: 0x00008E69,
+ 17589: 0x00008E54,
+ 17590: 0x00008F46,
+ 17591: 0x00008F47,
+ 17592: 0x00008F48,
+ 17593: 0x00008F4B,
+ 17594: 0x00009128,
+ 17595: 0x0000913A,
+ 17596: 0x0000913B,
+ 17597: 0x0000913E,
+ 17598: 0x000091A8,
+ 17599: 0x000091A5,
+ 17600: 0x000091A7,
+ 17601: 0x000091AF,
+ 17602: 0x000091AA,
+ 17603: 0x000093B5,
+ 17604: 0x0000938C,
+ 17605: 0x00009392,
+ 17606: 0x000093B7,
+ 17607: 0x0000939B,
+ 17608: 0x0000939D,
+ 17609: 0x00009389,
+ 17610: 0x000093A7,
+ 17611: 0x0000938E,
+ 17612: 0x000093AA,
+ 17613: 0x0000939E,
+ 17614: 0x000093A6,
+ 17615: 0x00009395,
+ 17616: 0x00009388,
+ 17617: 0x00009399,
+ 17618: 0x0000939F,
+ 17619: 0x0000938D,
+ 17620: 0x000093B1,
+ 17621: 0x00009391,
+ 17622: 0x000093B2,
+ 17623: 0x000093A4,
+ 17624: 0x000093A8,
+ 17625: 0x000093B4,
+ 17626: 0x000093A3,
+ 17627: 0x000093A5,
+ 17628: 0x000095D2,
+ 17629: 0x000095D3,
+ 17630: 0x000095D1,
+ 17631: 0x000096B3,
+ 17632: 0x000096D7,
+ 17633: 0x000096DA,
+ 17634: 0x00005DC2,
+ 17635: 0x000096DF,
+ 17636: 0x000096D8,
+ 17637: 0x000096DD,
+ 17638: 0x00009723,
+ 17639: 0x00009722,
+ 17640: 0x00009725,
+ 17641: 0x000097AC,
+ 17642: 0x000097AE,
+ 17643: 0x000097A8,
+ 17644: 0x000097AB,
+ 17645: 0x000097A4,
+ 17646: 0x000097AA,
+ 17647: 0x000097A2,
+ 17648: 0x000097A5,
+ 17649: 0x000097D7,
+ 17650: 0x000097D9,
+ 17651: 0x000097D6,
+ 17652: 0x000097D8,
+ 17653: 0x000097FA,
+ 17654: 0x00009850,
+ 17655: 0x00009851,
+ 17656: 0x00009852,
+ 17657: 0x000098B8,
+ 17658: 0x00009941,
+ 17659: 0x0000993C,
+ 17660: 0x0000993A,
+ 17661: 0x00009A0F,
+ 17662: 0x00009A0B,
+ 17663: 0x00009A09,
+ 17664: 0x00009A0D,
+ 17665: 0x00009A04,
+ 17666: 0x00009A11,
+ 17667: 0x00009A0A,
+ 17668: 0x00009A05,
+ 17669: 0x00009A07,
+ 17670: 0x00009A06,
+ 17671: 0x00009AC0,
+ 17672: 0x00009ADC,
+ 17673: 0x00009B08,
+ 17674: 0x00009B04,
+ 17675: 0x00009B05,
+ 17676: 0x00009B29,
+ 17677: 0x00009B35,
+ 17678: 0x00009B4A,
+ 17679: 0x00009B4C,
+ 17680: 0x00009B4B,
+ 17681: 0x00009BC7,
+ 17682: 0x00009BC6,
+ 17683: 0x00009BC3,
+ 17684: 0x00009BBF,
+ 17685: 0x00009BC1,
+ 17686: 0x00009BB5,
+ 17687: 0x00009BB8,
+ 17688: 0x00009BD3,
+ 17689: 0x00009BB6,
+ 17690: 0x00009BC4,
+ 17691: 0x00009BB9,
+ 17692: 0x00009BBD,
+ 17693: 0x00009D5C,
+ 17694: 0x00009D53,
+ 17695: 0x00009D4F,
+ 17696: 0x00009D4A,
+ 17697: 0x00009D5B,
+ 17698: 0x00009D4B,
+ 17699: 0x00009D59,
+ 17700: 0x00009D56,
+ 17701: 0x00009D4C,
+ 17702: 0x00009D57,
+ 17703: 0x00009D52,
+ 17704: 0x00009D54,
+ 17705: 0x00009D5F,
+ 17706: 0x00009D58,
+ 17707: 0x00009D5A,
+ 17708: 0x00009E8E,
+ 17709: 0x00009E8C,
+ 17710: 0x00009EDF,
+ 17711: 0x00009F01,
+ 17712: 0x00009F00,
+ 17713: 0x00009F16,
+ 17714: 0x00009F25,
+ 17715: 0x00009F2B,
+ 17716: 0x00009F2A,
+ 17717: 0x00009F29,
+ 17718: 0x00009F28,
+ 17719: 0x00009F4C,
+ 17720: 0x00009F55,
+ 17721: 0x00005134,
+ 17722: 0x00005135,
+ 17723: 0x00005296,
+ 17724: 0x000052F7,
+ 17725: 0x000053B4,
+ 17726: 0x000056AB,
+ 17727: 0x000056AD,
+ 17728: 0x000056A6,
+ 17729: 0x000056A7,
+ 17730: 0x000056AA,
+ 17731: 0x000056AC,
+ 17732: 0x000058DA,
+ 17733: 0x000058DD,
+ 17734: 0x000058DB,
+ 17735: 0x00005912,
+ 17736: 0x00005B3D,
+ 17737: 0x00005B3E,
+ 17738: 0x00005B3F,
+ 17739: 0x00005DC3,
+ 17740: 0x00005E70,
+ 17741: 0x00005FBF,
+ 17742: 0x000061FB,
+ 17743: 0x00006507,
+ 17744: 0x00006510,
+ 17745: 0x0000650D,
+ 17746: 0x00006509,
+ 17747: 0x0000650C,
+ 17748: 0x0000650E,
+ 17749: 0x00006584,
+ 17750: 0x000065DE,
+ 17751: 0x000065DD,
+ 17752: 0x000066DE,
+ 17753: 0x00006AE7,
+ 17754: 0x00006AE0,
+ 17755: 0x00006ACC,
+ 17756: 0x00006AD1,
+ 17757: 0x00006AD9,
+ 17758: 0x00006ACB,
+ 17759: 0x00006ADF,
+ 17760: 0x00006ADC,
+ 17761: 0x00006AD0,
+ 17762: 0x00006AEB,
+ 17763: 0x00006ACF,
+ 17764: 0x00006ACD,
+ 17765: 0x00006ADE,
+ 17766: 0x00006B60,
+ 17767: 0x00006BB0,
+ 17768: 0x00006C0C,
+ 17769: 0x00007019,
+ 17770: 0x00007027,
+ 17771: 0x00007020,
+ 17772: 0x00007016,
+ 17773: 0x0000702B,
+ 17774: 0x00007021,
+ 17775: 0x00007022,
+ 17776: 0x00007023,
+ 17777: 0x00007029,
+ 17778: 0x00007017,
+ 17779: 0x00007024,
+ 17780: 0x0000701C,
+ 17781: 0x0000702A,
+ 17782: 0x0000720C,
+ 17783: 0x0000720A,
+ 17784: 0x00007207,
+ 17785: 0x00007202,
+ 17786: 0x00007205,
+ 17787: 0x000072A5,
+ 17788: 0x000072A6,
+ 17789: 0x000072A4,
+ 17790: 0x000072A3,
+ 17791: 0x000072A1,
+ 17792: 0x000074CB,
+ 17793: 0x000074C5,
+ 17794: 0x000074B7,
+ 17795: 0x000074C3,
+ 17796: 0x00007516,
+ 17797: 0x00007660,
+ 17798: 0x000077C9,
+ 17799: 0x000077CA,
+ 17800: 0x000077C4,
+ 17801: 0x000077F1,
+ 17802: 0x0000791D,
+ 17803: 0x0000791B,
+ 17804: 0x00007921,
+ 17805: 0x0000791C,
+ 17806: 0x00007917,
+ 17807: 0x0000791E,
+ 17808: 0x000079B0,
+ 17809: 0x00007A67,
+ 17810: 0x00007A68,
+ 17811: 0x00007C33,
+ 17812: 0x00007C3C,
+ 17813: 0x00007C39,
+ 17814: 0x00007C2C,
+ 17815: 0x00007C3B,
+ 17816: 0x00007CEC,
+ 17817: 0x00007CEA,
+ 17818: 0x00007E76,
+ 17819: 0x00007E75,
+ 17820: 0x00007E78,
+ 17821: 0x00007E70,
+ 17822: 0x00007E77,
+ 17823: 0x00007E6F,
+ 17824: 0x00007E7A,
+ 17825: 0x00007E72,
+ 17826: 0x00007E74,
+ 17827: 0x00007E68,
+ 17828: 0x00007F4B,
+ 17829: 0x00007F4A,
+ 17830: 0x00007F83,
+ 17831: 0x00007F86,
+ 17832: 0x00007FB7,
+ 17833: 0x00007FFD,
+ 17834: 0x00007FFE,
+ 17835: 0x00008078,
+ 17836: 0x000081D7,
+ 17837: 0x000081D5,
+ 17838: 0x00008264,
+ 17839: 0x00008261,
+ 17840: 0x00008263,
+ 17841: 0x000085EB,
+ 17842: 0x000085F1,
+ 17843: 0x000085ED,
+ 17844: 0x000085D9,
+ 17845: 0x000085E1,
+ 17846: 0x000085E8,
+ 17847: 0x000085DA,
+ 17848: 0x000085D7,
+ 17849: 0x000085EC,
+ 17850: 0x000085F2,
+ 17851: 0x000085F8,
+ 17852: 0x000085D8,
+ 17853: 0x000085DF,
+ 17854: 0x000085E3,
+ 17855: 0x000085DC,
+ 17856: 0x000085D1,
+ 17857: 0x000085F0,
+ 17858: 0x000085E6,
+ 17859: 0x000085EF,
+ 17860: 0x000085DE,
+ 17861: 0x000085E2,
+ 17862: 0x00008800,
+ 17863: 0x000087FA,
+ 17864: 0x00008803,
+ 17865: 0x000087F6,
+ 17866: 0x000087F7,
+ 17867: 0x00008809,
+ 17868: 0x0000880C,
+ 17869: 0x0000880B,
+ 17870: 0x00008806,
+ 17871: 0x000087FC,
+ 17872: 0x00008808,
+ 17873: 0x000087FF,
+ 17874: 0x0000880A,
+ 17875: 0x00008802,
+ 17876: 0x00008962,
+ 17877: 0x0000895A,
+ 17878: 0x0000895B,
+ 17879: 0x00008957,
+ 17880: 0x00008961,
+ 17881: 0x0000895C,
+ 17882: 0x00008958,
+ 17883: 0x0000895D,
+ 17884: 0x00008959,
+ 17885: 0x00008988,
+ 17886: 0x000089B7,
+ 17887: 0x000089B6,
+ 17888: 0x000089F6,
+ 17889: 0x00008B50,
+ 17890: 0x00008B48,
+ 17891: 0x00008B4A,
+ 17892: 0x00008B40,
+ 17893: 0x00008B53,
+ 17894: 0x00008B56,
+ 17895: 0x00008B54,
+ 17896: 0x00008B4B,
+ 17897: 0x00008B55,
+ 17898: 0x00008B51,
+ 17899: 0x00008B42,
+ 17900: 0x00008B52,
+ 17901: 0x00008B57,
+ 17902: 0x00008C43,
+ 17903: 0x00008C77,
+ 17904: 0x00008C76,
+ 17905: 0x00008C9A,
+ 17906: 0x00008D06,
+ 17907: 0x00008D07,
+ 17908: 0x00008D09,
+ 17909: 0x00008DAC,
+ 17910: 0x00008DAA,
+ 17911: 0x00008DAD,
+ 17912: 0x00008DAB,
+ 17913: 0x00008E6D,
+ 17914: 0x00008E78,
+ 17915: 0x00008E73,
+ 17916: 0x00008E6A,
+ 17917: 0x00008E6F,
+ 17918: 0x00008E7B,
+ 17919: 0x00008EC2,
+ 17920: 0x00008F52,
+ 17921: 0x00008F51,
+ 17922: 0x00008F4F,
+ 17923: 0x00008F50,
+ 17924: 0x00008F53,
+ 17925: 0x00008FB4,
+ 17926: 0x00009140,
+ 17927: 0x0000913F,
+ 17928: 0x000091B0,
+ 17929: 0x000091AD,
+ 17930: 0x000093DE,
+ 17931: 0x000093C7,
+ 17932: 0x000093CF,
+ 17933: 0x000093C2,
+ 17934: 0x000093DA,
+ 17935: 0x000093D0,
+ 17936: 0x000093F9,
+ 17937: 0x000093EC,
+ 17938: 0x000093CC,
+ 17939: 0x000093D9,
+ 17940: 0x000093A9,
+ 17941: 0x000093E6,
+ 17942: 0x000093CA,
+ 17943: 0x000093D4,
+ 17944: 0x000093EE,
+ 17945: 0x000093E3,
+ 17946: 0x000093D5,
+ 17947: 0x000093C4,
+ 17948: 0x000093CE,
+ 17949: 0x000093C0,
+ 17950: 0x000093D2,
+ 17951: 0x000093E7,
+ 17952: 0x0000957D,
+ 17953: 0x000095DA,
+ 17954: 0x000095DB,
+ 17955: 0x000096E1,
+ 17956: 0x00009729,
+ 17957: 0x0000972B,
+ 17958: 0x0000972C,
+ 17959: 0x00009728,
+ 17960: 0x00009726,
+ 17961: 0x000097B3,
+ 17962: 0x000097B7,
+ 17963: 0x000097B6,
+ 17964: 0x000097DD,
+ 17965: 0x000097DE,
+ 17966: 0x000097DF,
+ 17967: 0x0000985C,
+ 17968: 0x00009859,
+ 17969: 0x0000985D,
+ 17970: 0x00009857,
+ 17971: 0x000098BF,
+ 17972: 0x000098BD,
+ 17973: 0x000098BB,
+ 17974: 0x000098BE,
+ 17975: 0x00009948,
+ 17976: 0x00009947,
+ 17977: 0x00009943,
+ 17978: 0x000099A6,
+ 17979: 0x000099A7,
+ 17980: 0x00009A1A,
+ 17981: 0x00009A15,
+ 17982: 0x00009A25,
+ 17983: 0x00009A1D,
+ 17984: 0x00009A24,
+ 17985: 0x00009A1B,
+ 17986: 0x00009A22,
+ 17987: 0x00009A20,
+ 17988: 0x00009A27,
+ 17989: 0x00009A23,
+ 17990: 0x00009A1E,
+ 17991: 0x00009A1C,
+ 17992: 0x00009A14,
+ 17993: 0x00009AC2,
+ 17994: 0x00009B0B,
+ 17995: 0x00009B0A,
+ 17996: 0x00009B0E,
+ 17997: 0x00009B0C,
+ 17998: 0x00009B37,
+ 17999: 0x00009BEA,
+ 18000: 0x00009BEB,
+ 18001: 0x00009BE0,
+ 18002: 0x00009BDE,
+ 18003: 0x00009BE4,
+ 18004: 0x00009BE6,
+ 18005: 0x00009BE2,
+ 18006: 0x00009BF0,
+ 18007: 0x00009BD4,
+ 18008: 0x00009BD7,
+ 18009: 0x00009BEC,
+ 18010: 0x00009BDC,
+ 18011: 0x00009BD9,
+ 18012: 0x00009BE5,
+ 18013: 0x00009BD5,
+ 18014: 0x00009BE1,
+ 18015: 0x00009BDA,
+ 18016: 0x00009D77,
+ 18017: 0x00009D81,
+ 18018: 0x00009D8A,
+ 18019: 0x00009D84,
+ 18020: 0x00009D88,
+ 18021: 0x00009D71,
+ 18022: 0x00009D80,
+ 18023: 0x00009D78,
+ 18024: 0x00009D86,
+ 18025: 0x00009D8B,
+ 18026: 0x00009D8C,
+ 18027: 0x00009D7D,
+ 18028: 0x00009D6B,
+ 18029: 0x00009D74,
+ 18030: 0x00009D75,
+ 18031: 0x00009D70,
+ 18032: 0x00009D69,
+ 18033: 0x00009D85,
+ 18034: 0x00009D73,
+ 18035: 0x00009D7B,
+ 18036: 0x00009D82,
+ 18037: 0x00009D6F,
+ 18038: 0x00009D79,
+ 18039: 0x00009D7F,
+ 18040: 0x00009D87,
+ 18041: 0x00009D68,
+ 18042: 0x00009E94,
+ 18043: 0x00009E91,
+ 18044: 0x00009EC0,
+ 18045: 0x00009EFC,
+ 18046: 0x00009F2D,
+ 18047: 0x00009F40,
+ 18048: 0x00009F41,
+ 18049: 0x00009F4D,
+ 18050: 0x00009F56,
+ 18051: 0x00009F57,
+ 18052: 0x00009F58,
+ 18053: 0x00005337,
+ 18054: 0x000056B2,
+ 18055: 0x000056B5,
+ 18056: 0x000056B3,
+ 18057: 0x000058E3,
+ 18058: 0x00005B45,
+ 18059: 0x00005DC6,
+ 18060: 0x00005DC7,
+ 18061: 0x00005EEE,
+ 18062: 0x00005EEF,
+ 18063: 0x00005FC0,
+ 18064: 0x00005FC1,
+ 18065: 0x000061F9,
+ 18066: 0x00006517,
+ 18067: 0x00006516,
+ 18068: 0x00006515,
+ 18069: 0x00006513,
+ 18070: 0x000065DF,
+ 18071: 0x000066E8,
+ 18072: 0x000066E3,
+ 18073: 0x000066E4,
+ 18074: 0x00006AF3,
+ 18075: 0x00006AF0,
+ 18076: 0x00006AEA,
+ 18077: 0x00006AE8,
+ 18078: 0x00006AF9,
+ 18079: 0x00006AF1,
+ 18080: 0x00006AEE,
+ 18081: 0x00006AEF,
+ 18082: 0x0000703C,
+ 18083: 0x00007035,
+ 18084: 0x0000702F,
+ 18085: 0x00007037,
+ 18086: 0x00007034,
+ 18087: 0x00007031,
+ 18088: 0x00007042,
+ 18089: 0x00007038,
+ 18090: 0x0000703F,
+ 18091: 0x0000703A,
+ 18092: 0x00007039,
+ 18093: 0x00007040,
+ 18094: 0x0000703B,
+ 18095: 0x00007033,
+ 18096: 0x00007041,
+ 18097: 0x00007213,
+ 18098: 0x00007214,
+ 18099: 0x000072A8,
+ 18100: 0x0000737D,
+ 18101: 0x0000737C,
+ 18102: 0x000074BA,
+ 18103: 0x000076AB,
+ 18104: 0x000076AA,
+ 18105: 0x000076BE,
+ 18106: 0x000076ED,
+ 18107: 0x000077CC,
+ 18108: 0x000077CE,
+ 18109: 0x000077CF,
+ 18110: 0x000077CD,
+ 18111: 0x000077F2,
+ 18112: 0x00007925,
+ 18113: 0x00007923,
+ 18114: 0x00007927,
+ 18115: 0x00007928,
+ 18116: 0x00007924,
+ 18117: 0x00007929,
+ 18118: 0x000079B2,
+ 18119: 0x00007A6E,
+ 18120: 0x00007A6C,
+ 18121: 0x00007A6D,
+ 18122: 0x00007AF7,
+ 18123: 0x00007C49,
+ 18124: 0x00007C48,
+ 18125: 0x00007C4A,
+ 18126: 0x00007C47,
+ 18127: 0x00007C45,
+ 18128: 0x00007CEE,
+ 18129: 0x00007E7B,
+ 18130: 0x00007E7E,
+ 18131: 0x00007E81,
+ 18132: 0x00007E80,
+ 18133: 0x00007FBA,
+ 18134: 0x00007FFF,
+ 18135: 0x00008079,
+ 18136: 0x000081DB,
+ 18137: 0x000081D9,
+ 18138: 0x0000820B,
+ 18139: 0x00008268,
+ 18140: 0x00008269,
+ 18141: 0x00008622,
+ 18142: 0x000085FF,
+ 18143: 0x00008601,
+ 18144: 0x000085FE,
+ 18145: 0x0000861B,
+ 18146: 0x00008600,
+ 18147: 0x000085F6,
+ 18148: 0x00008604,
+ 18149: 0x00008609,
+ 18150: 0x00008605,
+ 18151: 0x0000860C,
+ 18152: 0x000085FD,
+ 18153: 0x00008819,
+ 18154: 0x00008810,
+ 18155: 0x00008811,
+ 18156: 0x00008817,
+ 18157: 0x00008813,
+ 18158: 0x00008816,
+ 18159: 0x00008963,
+ 18160: 0x00008966,
+ 18161: 0x000089B9,
+ 18162: 0x000089F7,
+ 18163: 0x00008B60,
+ 18164: 0x00008B6A,
+ 18165: 0x00008B5D,
+ 18166: 0x00008B68,
+ 18167: 0x00008B63,
+ 18168: 0x00008B65,
+ 18169: 0x00008B67,
+ 18170: 0x00008B6D,
+ 18171: 0x00008DAE,
+ 18172: 0x00008E86,
+ 18173: 0x00008E88,
+ 18174: 0x00008E84,
+ 18175: 0x00008F59,
+ 18176: 0x00008F56,
+ 18177: 0x00008F57,
+ 18178: 0x00008F55,
+ 18179: 0x00008F58,
+ 18180: 0x00008F5A,
+ 18181: 0x0000908D,
+ 18182: 0x00009143,
+ 18183: 0x00009141,
+ 18184: 0x000091B7,
+ 18185: 0x000091B5,
+ 18186: 0x000091B2,
+ 18187: 0x000091B3,
+ 18188: 0x0000940B,
+ 18189: 0x00009413,
+ 18190: 0x000093FB,
+ 18191: 0x00009420,
+ 18192: 0x0000940F,
+ 18193: 0x00009414,
+ 18194: 0x000093FE,
+ 18195: 0x00009415,
+ 18196: 0x00009410,
+ 18197: 0x00009428,
+ 18198: 0x00009419,
+ 18199: 0x0000940D,
+ 18200: 0x000093F5,
+ 18201: 0x00009400,
+ 18202: 0x000093F7,
+ 18203: 0x00009407,
+ 18204: 0x0000940E,
+ 18205: 0x00009416,
+ 18206: 0x00009412,
+ 18207: 0x000093FA,
+ 18208: 0x00009409,
+ 18209: 0x000093F8,
+ 18210: 0x0000940A,
+ 18211: 0x000093FF,
+ 18212: 0x000093FC,
+ 18213: 0x0000940C,
+ 18214: 0x000093F6,
+ 18215: 0x00009411,
+ 18216: 0x00009406,
+ 18217: 0x000095DE,
+ 18218: 0x000095E0,
+ 18219: 0x000095DF,
+ 18220: 0x0000972E,
+ 18221: 0x0000972F,
+ 18222: 0x000097B9,
+ 18223: 0x000097BB,
+ 18224: 0x000097FD,
+ 18225: 0x000097FE,
+ 18226: 0x00009860,
+ 18227: 0x00009862,
+ 18228: 0x00009863,
+ 18229: 0x0000985F,
+ 18230: 0x000098C1,
+ 18231: 0x000098C2,
+ 18232: 0x00009950,
+ 18233: 0x0000994E,
+ 18234: 0x00009959,
+ 18235: 0x0000994C,
+ 18236: 0x0000994B,
+ 18237: 0x00009953,
+ 18238: 0x00009A32,
+ 18239: 0x00009A34,
+ 18240: 0x00009A31,
+ 18241: 0x00009A2C,
+ 18242: 0x00009A2A,
+ 18243: 0x00009A36,
+ 18244: 0x00009A29,
+ 18245: 0x00009A2E,
+ 18246: 0x00009A38,
+ 18247: 0x00009A2D,
+ 18248: 0x00009AC7,
+ 18249: 0x00009ACA,
+ 18250: 0x00009AC6,
+ 18251: 0x00009B10,
+ 18252: 0x00009B12,
+ 18253: 0x00009B11,
+ 18254: 0x00009C0B,
+ 18255: 0x00009C08,
+ 18256: 0x00009BF7,
+ 18257: 0x00009C05,
+ 18258: 0x00009C12,
+ 18259: 0x00009BF8,
+ 18260: 0x00009C40,
+ 18261: 0x00009C07,
+ 18262: 0x00009C0E,
+ 18263: 0x00009C06,
+ 18264: 0x00009C17,
+ 18265: 0x00009C14,
+ 18266: 0x00009C09,
+ 18267: 0x00009D9F,
+ 18268: 0x00009D99,
+ 18269: 0x00009DA4,
+ 18270: 0x00009D9D,
+ 18271: 0x00009D92,
+ 18272: 0x00009D98,
+ 18273: 0x00009D90,
+ 18274: 0x00009D9B,
+ 18275: 0x00009DA0,
+ 18276: 0x00009D94,
+ 18277: 0x00009D9C,
+ 18278: 0x00009DAA,
+ 18279: 0x00009D97,
+ 18280: 0x00009DA1,
+ 18281: 0x00009D9A,
+ 18282: 0x00009DA2,
+ 18283: 0x00009DA8,
+ 18284: 0x00009D9E,
+ 18285: 0x00009DA3,
+ 18286: 0x00009DBF,
+ 18287: 0x00009DA9,
+ 18288: 0x00009D96,
+ 18289: 0x00009DA6,
+ 18290: 0x00009DA7,
+ 18291: 0x00009E99,
+ 18292: 0x00009E9B,
+ 18293: 0x00009E9A,
+ 18294: 0x00009EE5,
+ 18295: 0x00009EE4,
+ 18296: 0x00009EE7,
+ 18297: 0x00009EE6,
+ 18298: 0x00009F30,
+ 18299: 0x00009F2E,
+ 18300: 0x00009F5B,
+ 18301: 0x00009F60,
+ 18302: 0x00009F5E,
+ 18303: 0x00009F5D,
+ 18304: 0x00009F59,
+ 18305: 0x00009F91,
+ 18306: 0x0000513A,
+ 18307: 0x00005139,
+ 18308: 0x00005298,
+ 18309: 0x00005297,
+ 18310: 0x000056C3,
+ 18311: 0x000056BD,
+ 18312: 0x000056BE,
+ 18313: 0x00005B48,
+ 18314: 0x00005B47,
+ 18315: 0x00005DCB,
+ 18316: 0x00005DCF,
+ 18317: 0x00005EF1,
+ 18318: 0x000061FD,
+ 18319: 0x0000651B,
+ 18320: 0x00006B02,
+ 18321: 0x00006AFC,
+ 18322: 0x00006B03,
+ 18323: 0x00006AF8,
+ 18324: 0x00006B00,
+ 18325: 0x00007043,
+ 18326: 0x00007044,
+ 18327: 0x0000704A,
+ 18328: 0x00007048,
+ 18329: 0x00007049,
+ 18330: 0x00007045,
+ 18331: 0x00007046,
+ 18332: 0x0000721D,
+ 18333: 0x0000721A,
+ 18334: 0x00007219,
+ 18335: 0x0000737E,
+ 18336: 0x00007517,
+ 18337: 0x0000766A,
+ 18338: 0x000077D0,
+ 18339: 0x0000792D,
+ 18340: 0x00007931,
+ 18341: 0x0000792F,
+ 18342: 0x00007C54,
+ 18343: 0x00007C53,
+ 18344: 0x00007CF2,
+ 18345: 0x00007E8A,
+ 18346: 0x00007E87,
+ 18347: 0x00007E88,
+ 18348: 0x00007E8B,
+ 18349: 0x00007E86,
+ 18350: 0x00007E8D,
+ 18351: 0x00007F4D,
+ 18352: 0x00007FBB,
+ 18353: 0x00008030,
+ 18354: 0x000081DD,
+ 18355: 0x00008618,
+ 18356: 0x0000862A,
+ 18357: 0x00008626,
+ 18358: 0x0000861F,
+ 18359: 0x00008623,
+ 18360: 0x0000861C,
+ 18361: 0x00008619,
+ 18362: 0x00008627,
+ 18363: 0x0000862E,
+ 18364: 0x00008621,
+ 18365: 0x00008620,
+ 18366: 0x00008629,
+ 18367: 0x0000861E,
+ 18368: 0x00008625,
+ 18369: 0x00008829,
+ 18370: 0x0000881D,
+ 18371: 0x0000881B,
+ 18372: 0x00008820,
+ 18373: 0x00008824,
+ 18374: 0x0000881C,
+ 18375: 0x0000882B,
+ 18376: 0x0000884A,
+ 18377: 0x0000896D,
+ 18378: 0x00008969,
+ 18379: 0x0000896E,
+ 18380: 0x0000896B,
+ 18381: 0x000089FA,
+ 18382: 0x00008B79,
+ 18383: 0x00008B78,
+ 18384: 0x00008B45,
+ 18385: 0x00008B7A,
+ 18386: 0x00008B7B,
+ 18387: 0x00008D10,
+ 18388: 0x00008D14,
+ 18389: 0x00008DAF,
+ 18390: 0x00008E8E,
+ 18391: 0x00008E8C,
+ 18392: 0x00008F5E,
+ 18393: 0x00008F5B,
+ 18394: 0x00008F5D,
+ 18395: 0x00009146,
+ 18396: 0x00009144,
+ 18397: 0x00009145,
+ 18398: 0x000091B9,
+ 18399: 0x0000943F,
+ 18400: 0x0000943B,
+ 18401: 0x00009436,
+ 18402: 0x00009429,
+ 18403: 0x0000943D,
+ 18404: 0x0000943C,
+ 18405: 0x00009430,
+ 18406: 0x00009439,
+ 18407: 0x0000942A,
+ 18408: 0x00009437,
+ 18409: 0x0000942C,
+ 18410: 0x00009440,
+ 18411: 0x00009431,
+ 18412: 0x000095E5,
+ 18413: 0x000095E4,
+ 18414: 0x000095E3,
+ 18415: 0x00009735,
+ 18416: 0x0000973A,
+ 18417: 0x000097BF,
+ 18418: 0x000097E1,
+ 18419: 0x00009864,
+ 18420: 0x000098C9,
+ 18421: 0x000098C6,
+ 18422: 0x000098C0,
+ 18423: 0x00009958,
+ 18424: 0x00009956,
+ 18425: 0x00009A39,
+ 18426: 0x00009A3D,
+ 18427: 0x00009A46,
+ 18428: 0x00009A44,
+ 18429: 0x00009A42,
+ 18430: 0x00009A41,
+ 18431: 0x00009A3A,
+ 18432: 0x00009A3F,
+ 18433: 0x00009ACD,
+ 18434: 0x00009B15,
+ 18435: 0x00009B17,
+ 18436: 0x00009B18,
+ 18437: 0x00009B16,
+ 18438: 0x00009B3A,
+ 18439: 0x00009B52,
+ 18440: 0x00009C2B,
+ 18441: 0x00009C1D,
+ 18442: 0x00009C1C,
+ 18443: 0x00009C2C,
+ 18444: 0x00009C23,
+ 18445: 0x00009C28,
+ 18446: 0x00009C29,
+ 18447: 0x00009C24,
+ 18448: 0x00009C21,
+ 18449: 0x00009DB7,
+ 18450: 0x00009DB6,
+ 18451: 0x00009DBC,
+ 18452: 0x00009DC1,
+ 18453: 0x00009DC7,
+ 18454: 0x00009DCA,
+ 18455: 0x00009DCF,
+ 18456: 0x00009DBE,
+ 18457: 0x00009DC5,
+ 18458: 0x00009DC3,
+ 18459: 0x00009DBB,
+ 18460: 0x00009DB5,
+ 18461: 0x00009DCE,
+ 18462: 0x00009DB9,
+ 18463: 0x00009DBA,
+ 18464: 0x00009DAC,
+ 18465: 0x00009DC8,
+ 18466: 0x00009DB1,
+ 18467: 0x00009DAD,
+ 18468: 0x00009DCC,
+ 18469: 0x00009DB3,
+ 18470: 0x00009DCD,
+ 18471: 0x00009DB2,
+ 18472: 0x00009E7A,
+ 18473: 0x00009E9C,
+ 18474: 0x00009EEB,
+ 18475: 0x00009EEE,
+ 18476: 0x00009EED,
+ 18477: 0x00009F1B,
+ 18478: 0x00009F18,
+ 18479: 0x00009F1A,
+ 18480: 0x00009F31,
+ 18481: 0x00009F4E,
+ 18482: 0x00009F65,
+ 18483: 0x00009F64,
+ 18484: 0x00009F92,
+ 18485: 0x00004EB9,
+ 18486: 0x000056C6,
+ 18487: 0x000056C5,
+ 18488: 0x000056CB,
+ 18489: 0x00005971,
+ 18490: 0x00005B4B,
+ 18491: 0x00005B4C,
+ 18492: 0x00005DD5,
+ 18493: 0x00005DD1,
+ 18494: 0x00005EF2,
+ 18495: 0x00006521,
+ 18496: 0x00006520,
+ 18497: 0x00006526,
+ 18498: 0x00006522,
+ 18499: 0x00006B0B,
+ 18500: 0x00006B08,
+ 18501: 0x00006B09,
+ 18502: 0x00006C0D,
+ 18503: 0x00007055,
+ 18504: 0x00007056,
+ 18505: 0x00007057,
+ 18506: 0x00007052,
+ 18507: 0x0000721E,
+ 18508: 0x0000721F,
+ 18509: 0x000072A9,
+ 18510: 0x0000737F,
+ 18511: 0x000074D8,
+ 18512: 0x000074D5,
+ 18513: 0x000074D9,
+ 18514: 0x000074D7,
+ 18515: 0x0000766D,
+ 18516: 0x000076AD,
+ 18517: 0x00007935,
+ 18518: 0x000079B4,
+ 18519: 0x00007A70,
+ 18520: 0x00007A71,
+ 18521: 0x00007C57,
+ 18522: 0x00007C5C,
+ 18523: 0x00007C59,
+ 18524: 0x00007C5B,
+ 18525: 0x00007C5A,
+ 18526: 0x00007CF4,
+ 18527: 0x00007CF1,
+ 18528: 0x00007E91,
+ 18529: 0x00007F4F,
+ 18530: 0x00007F87,
+ 18531: 0x000081DE,
+ 18532: 0x0000826B,
+ 18533: 0x00008634,
+ 18534: 0x00008635,
+ 18535: 0x00008633,
+ 18536: 0x0000862C,
+ 18537: 0x00008632,
+ 18538: 0x00008636,
+ 18539: 0x0000882C,
+ 18540: 0x00008828,
+ 18541: 0x00008826,
+ 18542: 0x0000882A,
+ 18543: 0x00008825,
+ 18544: 0x00008971,
+ 18545: 0x000089BF,
+ 18546: 0x000089BE,
+ 18547: 0x000089FB,
+ 18548: 0x00008B7E,
+ 18549: 0x00008B84,
+ 18550: 0x00008B82,
+ 18551: 0x00008B86,
+ 18552: 0x00008B85,
+ 18553: 0x00008B7F,
+ 18554: 0x00008D15,
+ 18555: 0x00008E95,
+ 18556: 0x00008E94,
+ 18557: 0x00008E9A,
+ 18558: 0x00008E92,
+ 18559: 0x00008E90,
+ 18560: 0x00008E96,
+ 18561: 0x00008E97,
+ 18562: 0x00008F60,
+ 18563: 0x00008F62,
+ 18564: 0x00009147,
+ 18565: 0x0000944C,
+ 18566: 0x00009450,
+ 18567: 0x0000944A,
+ 18568: 0x0000944B,
+ 18569: 0x0000944F,
+ 18570: 0x00009447,
+ 18571: 0x00009445,
+ 18572: 0x00009448,
+ 18573: 0x00009449,
+ 18574: 0x00009446,
+ 18575: 0x0000973F,
+ 18576: 0x000097E3,
+ 18577: 0x0000986A,
+ 18578: 0x00009869,
+ 18579: 0x000098CB,
+ 18580: 0x00009954,
+ 18581: 0x0000995B,
+ 18582: 0x00009A4E,
+ 18583: 0x00009A53,
+ 18584: 0x00009A54,
+ 18585: 0x00009A4C,
+ 18586: 0x00009A4F,
+ 18587: 0x00009A48,
+ 18588: 0x00009A4A,
+ 18589: 0x00009A49,
+ 18590: 0x00009A52,
+ 18591: 0x00009A50,
+ 18592: 0x00009AD0,
+ 18593: 0x00009B19,
+ 18594: 0x00009B2B,
+ 18595: 0x00009B3B,
+ 18596: 0x00009B56,
+ 18597: 0x00009B55,
+ 18598: 0x00009C46,
+ 18599: 0x00009C48,
+ 18600: 0x00009C3F,
+ 18601: 0x00009C44,
+ 18602: 0x00009C39,
+ 18603: 0x00009C33,
+ 18604: 0x00009C41,
+ 18605: 0x00009C3C,
+ 18606: 0x00009C37,
+ 18607: 0x00009C34,
+ 18608: 0x00009C32,
+ 18609: 0x00009C3D,
+ 18610: 0x00009C36,
+ 18611: 0x00009DDB,
+ 18612: 0x00009DD2,
+ 18613: 0x00009DDE,
+ 18614: 0x00009DDA,
+ 18615: 0x00009DCB,
+ 18616: 0x00009DD0,
+ 18617: 0x00009DDC,
+ 18618: 0x00009DD1,
+ 18619: 0x00009DDF,
+ 18620: 0x00009DE9,
+ 18621: 0x00009DD9,
+ 18622: 0x00009DD8,
+ 18623: 0x00009DD6,
+ 18624: 0x00009DF5,
+ 18625: 0x00009DD5,
+ 18626: 0x00009DDD,
+ 18627: 0x00009EB6,
+ 18628: 0x00009EF0,
+ 18629: 0x00009F35,
+ 18630: 0x00009F33,
+ 18631: 0x00009F32,
+ 18632: 0x00009F42,
+ 18633: 0x00009F6B,
+ 18634: 0x00009F95,
+ 18635: 0x00009FA2,
+ 18636: 0x0000513D,
+ 18637: 0x00005299,
+ 18638: 0x000058E8,
+ 18639: 0x000058E7,
+ 18640: 0x00005972,
+ 18641: 0x00005B4D,
+ 18642: 0x00005DD8,
+ 18643: 0x0000882F,
+ 18644: 0x00005F4F,
+ 18645: 0x00006201,
+ 18646: 0x00006203,
+ 18647: 0x00006204,
+ 18648: 0x00006529,
+ 18649: 0x00006525,
+ 18650: 0x00006596,
+ 18651: 0x000066EB,
+ 18652: 0x00006B11,
+ 18653: 0x00006B12,
+ 18654: 0x00006B0F,
+ 18655: 0x00006BCA,
+ 18656: 0x0000705B,
+ 18657: 0x0000705A,
+ 18658: 0x00007222,
+ 18659: 0x00007382,
+ 18660: 0x00007381,
+ 18661: 0x00007383,
+ 18662: 0x00007670,
+ 18663: 0x000077D4,
+ 18664: 0x00007C67,
+ 18665: 0x00007C66,
+ 18666: 0x00007E95,
+ 18667: 0x0000826C,
+ 18668: 0x0000863A,
+ 18669: 0x00008640,
+ 18670: 0x00008639,
+ 18671: 0x0000863C,
+ 18672: 0x00008631,
+ 18673: 0x0000863B,
+ 18674: 0x0000863E,
+ 18675: 0x00008830,
+ 18676: 0x00008832,
+ 18677: 0x0000882E,
+ 18678: 0x00008833,
+ 18679: 0x00008976,
+ 18680: 0x00008974,
+ 18681: 0x00008973,
+ 18682: 0x000089FE,
+ 18683: 0x00008B8C,
+ 18684: 0x00008B8E,
+ 18685: 0x00008B8B,
+ 18686: 0x00008B88,
+ 18687: 0x00008C45,
+ 18688: 0x00008D19,
+ 18689: 0x00008E98,
+ 18690: 0x00008F64,
+ 18691: 0x00008F63,
+ 18692: 0x000091BC,
+ 18693: 0x00009462,
+ 18694: 0x00009455,
+ 18695: 0x0000945D,
+ 18696: 0x00009457,
+ 18697: 0x0000945E,
+ 18698: 0x000097C4,
+ 18699: 0x000097C5,
+ 18700: 0x00009800,
+ 18701: 0x00009A56,
+ 18702: 0x00009A59,
+ 18703: 0x00009B1E,
+ 18704: 0x00009B1F,
+ 18705: 0x00009B20,
+ 18706: 0x00009C52,
+ 18707: 0x00009C58,
+ 18708: 0x00009C50,
+ 18709: 0x00009C4A,
+ 18710: 0x00009C4D,
+ 18711: 0x00009C4B,
+ 18712: 0x00009C55,
+ 18713: 0x00009C59,
+ 18714: 0x00009C4C,
+ 18715: 0x00009C4E,
+ 18716: 0x00009DFB,
+ 18717: 0x00009DF7,
+ 18718: 0x00009DEF,
+ 18719: 0x00009DE3,
+ 18720: 0x00009DEB,
+ 18721: 0x00009DF8,
+ 18722: 0x00009DE4,
+ 18723: 0x00009DF6,
+ 18724: 0x00009DE1,
+ 18725: 0x00009DEE,
+ 18726: 0x00009DE6,
+ 18727: 0x00009DF2,
+ 18728: 0x00009DF0,
+ 18729: 0x00009DE2,
+ 18730: 0x00009DEC,
+ 18731: 0x00009DF4,
+ 18732: 0x00009DF3,
+ 18733: 0x00009DE8,
+ 18734: 0x00009DED,
+ 18735: 0x00009EC2,
+ 18736: 0x00009ED0,
+ 18737: 0x00009EF2,
+ 18738: 0x00009EF3,
+ 18739: 0x00009F06,
+ 18740: 0x00009F1C,
+ 18741: 0x00009F38,
+ 18742: 0x00009F37,
+ 18743: 0x00009F36,
+ 18744: 0x00009F43,
+ 18745: 0x00009F4F,
+ 18746: 0x00009F71,
+ 18747: 0x00009F70,
+ 18748: 0x00009F6E,
+ 18749: 0x00009F6F,
+ 18750: 0x000056D3,
+ 18751: 0x000056CD,
+ 18752: 0x00005B4E,
+ 18753: 0x00005C6D,
+ 18754: 0x0000652D,
+ 18755: 0x000066ED,
+ 18756: 0x000066EE,
+ 18757: 0x00006B13,
+ 18758: 0x0000705F,
+ 18759: 0x00007061,
+ 18760: 0x0000705D,
+ 18761: 0x00007060,
+ 18762: 0x00007223,
+ 18763: 0x000074DB,
+ 18764: 0x000074E5,
+ 18765: 0x000077D5,
+ 18766: 0x00007938,
+ 18767: 0x000079B7,
+ 18768: 0x000079B6,
+ 18769: 0x00007C6A,
+ 18770: 0x00007E97,
+ 18771: 0x00007F89,
+ 18772: 0x0000826D,
+ 18773: 0x00008643,
+ 18774: 0x00008838,
+ 18775: 0x00008837,
+ 18776: 0x00008835,
+ 18777: 0x0000884B,
+ 18778: 0x00008B94,
+ 18779: 0x00008B95,
+ 18780: 0x00008E9E,
+ 18781: 0x00008E9F,
+ 18782: 0x00008EA0,
+ 18783: 0x00008E9D,
+ 18784: 0x000091BE,
+ 18785: 0x000091BD,
+ 18786: 0x000091C2,
+ 18787: 0x0000946B,
+ 18788: 0x00009468,
+ 18789: 0x00009469,
+ 18790: 0x000096E5,
+ 18791: 0x00009746,
+ 18792: 0x00009743,
+ 18793: 0x00009747,
+ 18794: 0x000097C7,
+ 18795: 0x000097E5,
+ 18796: 0x00009A5E,
+ 18797: 0x00009AD5,
+ 18798: 0x00009B59,
+ 18799: 0x00009C63,
+ 18800: 0x00009C67,
+ 18801: 0x00009C66,
+ 18802: 0x00009C62,
+ 18803: 0x00009C5E,
+ 18804: 0x00009C60,
+ 18805: 0x00009E02,
+ 18806: 0x00009DFE,
+ 18807: 0x00009E07,
+ 18808: 0x00009E03,
+ 18809: 0x00009E06,
+ 18810: 0x00009E05,
+ 18811: 0x00009E00,
+ 18812: 0x00009E01,
+ 18813: 0x00009E09,
+ 18814: 0x00009DFF,
+ 18815: 0x00009DFD,
+ 18816: 0x00009E04,
+ 18817: 0x00009EA0,
+ 18818: 0x00009F1E,
+ 18819: 0x00009F46,
+ 18820: 0x00009F74,
+ 18821: 0x00009F75,
+ 18822: 0x00009F76,
+ 18823: 0x000056D4,
+ 18824: 0x0000652E,
+ 18825: 0x000065B8,
+ 18826: 0x00006B18,
+ 18827: 0x00006B19,
+ 18828: 0x00006B17,
+ 18829: 0x00006B1A,
+ 18830: 0x00007062,
+ 18831: 0x00007226,
+ 18832: 0x000072AA,
+ 18833: 0x000077D8,
+ 18834: 0x000077D9,
+ 18835: 0x00007939,
+ 18836: 0x00007C69,
+ 18837: 0x00007C6B,
+ 18838: 0x00007CF6,
+ 18839: 0x00007E9A,
+ 18840: 0x00007E98,
+ 18841: 0x00007E9B,
+ 18842: 0x00007E99,
+ 18843: 0x000081E0,
+ 18844: 0x000081E1,
+ 18845: 0x00008646,
+ 18846: 0x00008647,
+ 18847: 0x00008648,
+ 18848: 0x00008979,
+ 18849: 0x0000897A,
+ 18850: 0x0000897C,
+ 18851: 0x0000897B,
+ 18852: 0x000089FF,
+ 18853: 0x00008B98,
+ 18854: 0x00008B99,
+ 18855: 0x00008EA5,
+ 18856: 0x00008EA4,
+ 18857: 0x00008EA3,
+ 18858: 0x0000946E,
+ 18859: 0x0000946D,
+ 18860: 0x0000946F,
+ 18861: 0x00009471,
+ 18862: 0x00009473,
+ 18863: 0x00009749,
+ 18864: 0x00009872,
+ 18865: 0x0000995F,
+ 18866: 0x00009C68,
+ 18867: 0x00009C6E,
+ 18868: 0x00009C6D,
+ 18869: 0x00009E0B,
+ 18870: 0x00009E0D,
+ 18871: 0x00009E10,
+ 18872: 0x00009E0F,
+ 18873: 0x00009E12,
+ 18874: 0x00009E11,
+ 18875: 0x00009EA1,
+ 18876: 0x00009EF5,
+ 18877: 0x00009F09,
+ 18878: 0x00009F47,
+ 18879: 0x00009F78,
+ 18880: 0x00009F7B,
+ 18881: 0x00009F7A,
+ 18882: 0x00009F79,
+ 18883: 0x0000571E,
+ 18884: 0x00007066,
+ 18885: 0x00007C6F,
+ 18886: 0x0000883C,
+ 18887: 0x00008DB2,
+ 18888: 0x00008EA6,
+ 18889: 0x000091C3,
+ 18890: 0x00009474,
+ 18891: 0x00009478,
+ 18892: 0x00009476,
+ 18893: 0x00009475,
+ 18894: 0x00009A60,
+ 18895: 0x00009C74,
+ 18896: 0x00009C73,
+ 18897: 0x00009C71,
+ 18898: 0x00009C75,
+ 18899: 0x00009E14,
+ 18900: 0x00009E13,
+ 18901: 0x00009EF6,
+ 18902: 0x00009F0A,
+ 18903: 0x00009FA4,
+ 18904: 0x00007068,
+ 18905: 0x00007065,
+ 18906: 0x00007CF7,
+ 18907: 0x0000866A,
+ 18908: 0x0000883E,
+ 18909: 0x0000883D,
+ 18910: 0x0000883F,
+ 18911: 0x00008B9E,
+ 18912: 0x00008C9C,
+ 18913: 0x00008EA9,
+ 18914: 0x00008EC9,
+ 18915: 0x0000974B,
+ 18916: 0x00009873,
+ 18917: 0x00009874,
+ 18918: 0x000098CC,
+ 18919: 0x00009961,
+ 18920: 0x000099AB,
+ 18921: 0x00009A64,
+ 18922: 0x00009A66,
+ 18923: 0x00009A67,
+ 18924: 0x00009B24,
+ 18925: 0x00009E15,
+ 18926: 0x00009E17,
+ 18927: 0x00009F48,
+ 18928: 0x00006207,
+ 18929: 0x00006B1E,
+ 18930: 0x00007227,
+ 18931: 0x0000864C,
+ 18932: 0x00008EA8,
+ 18933: 0x00009482,
+ 18934: 0x00009480,
+ 18935: 0x00009481,
+ 18936: 0x00009A69,
+ 18937: 0x00009A68,
+ 18938: 0x00009B2E,
+ 18939: 0x00009E19,
+ 18940: 0x00007229,
+ 18941: 0x0000864B,
+ 18942: 0x00008B9F,
+ 18943: 0x00009483,
+ 18944: 0x00009C79,
+ 18945: 0x00009EB7,
+ 18946: 0x00007675,
+ 18947: 0x00009A6B,
+ 18948: 0x00009C7A,
+ 18949: 0x00009E1D,
+ 18950: 0x00007069,
+ 18951: 0x0000706A,
+ 18952: 0x00009EA4,
+ 18953: 0x00009F7E,
+ 18954: 0x00009F49,
+ 18955: 0x00009F98,
+ 18956: 0x00007881,
+ 18957: 0x000092B9,
+ 18958: 0x000088CF,
+ 18959: 0x000058BB,
+ 18960: 0x00006052,
+ 18961: 0x00007CA7,
+ 18962: 0x00005AFA,
+ 18963: 0x00002554,
+ 18964: 0x00002566,
+ 18965: 0x00002557,
+ 18966: 0x00002560,
+ 18967: 0x0000256C,
+ 18968: 0x00002563,
+ 18969: 0x0000255A,
+ 18970: 0x00002569,
+ 18971: 0x0000255D,
+ 18972: 0x00002552,
+ 18973: 0x00002564,
+ 18974: 0x00002555,
+ 18975: 0x0000255E,
+ 18976: 0x0000256A,
+ 18977: 0x00002561,
+ 18978: 0x00002558,
+ 18979: 0x00002567,
+ 18980: 0x0000255B,
+ 18981: 0x00002553,
+ 18982: 0x00002565,
+ 18983: 0x00002556,
+ 18984: 0x0000255F,
+ 18985: 0x0000256B,
+ 18986: 0x00002562,
+ 18987: 0x00002559,
+ 18988: 0x00002568,
+ 18989: 0x0000255C,
+ 18990: 0x00002551,
+ 18991: 0x00002550,
+ 18992: 0x0000256D,
+ 18993: 0x0000256E,
+ 18994: 0x00002570,
+ 18995: 0x0000256F,
+ 18996: 0x0000FFED,
+ 18997: 0x00020547,
+ 18998: 0x000092DB,
+ 18999: 0x000205DF,
+ 19000: 0x00023FC5,
+ 19001: 0x0000854C,
+ 19002: 0x000042B5,
+ 19003: 0x000073EF,
+ 19004: 0x000051B5,
+ 19005: 0x00003649,
+ 19006: 0x00024942,
+ 19007: 0x000289E4,
+ 19008: 0x00009344,
+ 19009: 0x000219DB,
+ 19010: 0x000082EE,
+ 19011: 0x00023CC8,
+ 19012: 0x0000783C,
+ 19013: 0x00006744,
+ 19014: 0x000062DF,
+ 19015: 0x00024933,
+ 19016: 0x000289AA,
+ 19017: 0x000202A0,
+ 19018: 0x00026BB3,
+ 19019: 0x00021305,
+ 19020: 0x00004FAB,
+ 19021: 0x000224ED,
+ 19022: 0x00005008,
+ 19023: 0x00026D29,
+ 19024: 0x00027A84,
+ 19025: 0x00023600,
+ 19026: 0x00024AB1,
+ 19027: 0x00022513,
+ 19028: 0x00005029,
+ 19029: 0x0002037E,
+ 19030: 0x00005FA4,
+ 19031: 0x00020380,
+ 19032: 0x00020347,
+ 19033: 0x00006EDB,
+ 19034: 0x0002041F,
+ 19035: 0x0000507D,
+ 19036: 0x00005101,
+ 19037: 0x0000347A,
+ 19038: 0x0000510E,
+ 19039: 0x0000986C,
+ 19040: 0x00003743,
+ 19041: 0x00008416,
+ 19042: 0x000249A4,
+ 19043: 0x00020487,
+ 19044: 0x00005160,
+ 19045: 0x000233B4,
+ 19046: 0x0000516A,
+ 19047: 0x00020BFF,
+ 19048: 0x000220FC,
+ 19049: 0x000202E5,
+ 19050: 0x00022530,
+ 19051: 0x0002058E,
+ 19052: 0x00023233,
+ 19053: 0x00021983,
+ 19054: 0x00005B82,
+ 19055: 0x0000877D,
+ 19056: 0x000205B3,
+ 19057: 0x00023C99,
+ 19058: 0x000051B2,
+ 19059: 0x000051B8,
+ 19060: 0x00009D34,
+ 19061: 0x000051C9,
+ 19062: 0x000051CF,
+ 19063: 0x000051D1,
+ 19064: 0x00003CDC,
+ 19065: 0x000051D3,
+ 19066: 0x00024AA6,
+ 19067: 0x000051B3,
+ 19068: 0x000051E2,
+ 19069: 0x00005342,
+ 19070: 0x000051ED,
+ 19071: 0x000083CD,
+ 19072: 0x0000693E,
+ 19073: 0x0002372D,
+ 19074: 0x00005F7B,
+ 19075: 0x0000520B,
+ 19076: 0x00005226,
+ 19077: 0x0000523C,
+ 19078: 0x000052B5,
+ 19079: 0x00005257,
+ 19080: 0x00005294,
+ 19081: 0x000052B9,
+ 19082: 0x000052C5,
+ 19083: 0x00007C15,
+ 19084: 0x00008542,
+ 19085: 0x000052E0,
+ 19086: 0x0000860D,
+ 19087: 0x00026B13,
+ 19088: 0x00005305,
+ 19089: 0x00028ADE,
+ 19090: 0x00005549,
+ 19091: 0x00006ED9,
+ 19092: 0x00023F80,
+ 19093: 0x00020954,
+ 19094: 0x00023FEC,
+ 19095: 0x00005333,
+ 19096: 0x00005344,
+ 19097: 0x00020BE2,
+ 19098: 0x00006CCB,
+ 19099: 0x00021726,
+ 19100: 0x0000681B,
+ 19101: 0x000073D5,
+ 19102: 0x0000604A,
+ 19103: 0x00003EAA,
+ 19104: 0x000038CC,
+ 19105: 0x000216E8,
+ 19106: 0x000071DD,
+ 19107: 0x000044A2,
+ 19108: 0x0000536D,
+ 19109: 0x00005374,
+ 19110: 0x000286AB,
+ 19111: 0x0000537E,
+ 19112: 0x0000537F,
+ 19113: 0x00021596,
+ 19114: 0x00021613,
+ 19115: 0x000077E6,
+ 19116: 0x00005393,
+ 19117: 0x00028A9B,
+ 19118: 0x000053A0,
+ 19119: 0x000053AB,
+ 19120: 0x000053AE,
+ 19121: 0x000073A7,
+ 19122: 0x00025772,
+ 19123: 0x00003F59,
+ 19124: 0x0000739C,
+ 19125: 0x000053C1,
+ 19126: 0x000053C5,
+ 19127: 0x00006C49,
+ 19128: 0x00004E49,
+ 19129: 0x000057FE,
+ 19130: 0x000053D9,
+ 19131: 0x00003AAB,
+ 19132: 0x00020B8F,
+ 19133: 0x000053E0,
+ 19134: 0x00023FEB,
+ 19135: 0x00022DA3,
+ 19136: 0x000053F6,
+ 19137: 0x00020C77,
+ 19138: 0x00005413,
+ 19139: 0x00007079,
+ 19140: 0x0000552B,
+ 19141: 0x00006657,
+ 19142: 0x00006D5B,
+ 19143: 0x0000546D,
+ 19144: 0x00026B53,
+ 19145: 0x00020D74,
+ 19146: 0x0000555D,
+ 19147: 0x0000548F,
+ 19148: 0x000054A4,
+ 19149: 0x000047A6,
+ 19150: 0x0002170D,
+ 19151: 0x00020EDD,
+ 19152: 0x00003DB4,
+ 19153: 0x00020D4D,
+ 19154: 0x000289BC,
+ 19155: 0x00022698,
+ 19156: 0x00005547,
+ 19157: 0x00004CED,
+ 19158: 0x0000542F,
+ 19159: 0x00007417,
+ 19160: 0x00005586,
+ 19161: 0x000055A9,
+ 19162: 0x00005605,
+ 19163: 0x000218D7,
+ 19164: 0x0002403A,
+ 19165: 0x00004552,
+ 19166: 0x00024435,
+ 19167: 0x000066B3,
+ 19168: 0x000210B4,
+ 19169: 0x00005637,
+ 19170: 0x000066CD,
+ 19171: 0x0002328A,
+ 19172: 0x000066A4,
+ 19173: 0x000066AD,
+ 19174: 0x0000564D,
+ 19175: 0x0000564F,
+ 19176: 0x000078F1,
+ 19177: 0x000056F1,
+ 19178: 0x00009787,
+ 19179: 0x000053FE,
+ 19180: 0x00005700,
+ 19181: 0x000056EF,
+ 19182: 0x000056ED,
+ 19183: 0x00028B66,
+ 19184: 0x00003623,
+ 19185: 0x0002124F,
+ 19186: 0x00005746,
+ 19187: 0x000241A5,
+ 19188: 0x00006C6E,
+ 19189: 0x0000708B,
+ 19190: 0x00005742,
+ 19191: 0x000036B1,
+ 19192: 0x00026C7E,
+ 19193: 0x000057E6,
+ 19194: 0x00021416,
+ 19195: 0x00005803,
+ 19196: 0x00021454,
+ 19197: 0x00024363,
+ 19198: 0x00005826,
+ 19199: 0x00024BF5,
+ 19200: 0x0000585C,
+ 19201: 0x000058AA,
+ 19202: 0x00003561,
+ 19203: 0x000058E0,
+ 19204: 0x000058DC,
+ 19205: 0x0002123C,
+ 19206: 0x000058FB,
+ 19207: 0x00005BFF,
+ 19208: 0x00005743,
+ 19209: 0x0002A150,
+ 19210: 0x00024278,
+ 19211: 0x000093D3,
+ 19212: 0x000035A1,
+ 19213: 0x0000591F,
+ 19214: 0x000068A6,
+ 19215: 0x000036C3,
+ 19216: 0x00006E59,
+ 19217: 0x0002163E,
+ 19218: 0x00005A24,
+ 19219: 0x00005553,
+ 19220: 0x00021692,
+ 19221: 0x00008505,
+ 19222: 0x000059C9,
+ 19223: 0x00020D4E,
+ 19224: 0x00026C81,
+ 19225: 0x00026D2A,
+ 19226: 0x000217DC,
+ 19227: 0x000059D9,
+ 19228: 0x000217FB,
+ 19229: 0x000217B2,
+ 19230: 0x00026DA6,
+ 19231: 0x00006D71,
+ 19232: 0x00021828,
+ 19233: 0x000216D5,
+ 19234: 0x000059F9,
+ 19235: 0x00026E45,
+ 19236: 0x00005AAB,
+ 19237: 0x00005A63,
+ 19238: 0x000036E6,
+ 19239: 0x000249A9,
+ 19240: 0x00005A77,
+ 19241: 0x00003708,
+ 19242: 0x00005A96,
+ 19243: 0x00007465,
+ 19244: 0x00005AD3,
+ 19245: 0x00026FA1,
+ 19246: 0x00022554,
+ 19247: 0x00003D85,
+ 19248: 0x00021911,
+ 19249: 0x00003732,
+ 19250: 0x000216B8,
+ 19251: 0x00005E83,
+ 19252: 0x000052D0,
+ 19253: 0x00005B76,
+ 19254: 0x00006588,
+ 19255: 0x00005B7C,
+ 19256: 0x00027A0E,
+ 19257: 0x00004004,
+ 19258: 0x0000485D,
+ 19259: 0x00020204,
+ 19260: 0x00005BD5,
+ 19261: 0x00006160,
+ 19262: 0x00021A34,
+ 19263: 0x000259CC,
+ 19264: 0x000205A5,
+ 19265: 0x00005BF3,
+ 19266: 0x00005B9D,
+ 19267: 0x00004D10,
+ 19268: 0x00005C05,
+ 19269: 0x00021B44,
+ 19270: 0x00005C13,
+ 19271: 0x000073CE,
+ 19272: 0x00005C14,
+ 19273: 0x00021CA5,
+ 19274: 0x00026B28,
+ 19275: 0x00005C49,
+ 19276: 0x000048DD,
+ 19277: 0x00005C85,
+ 19278: 0x00005CE9,
+ 19279: 0x00005CEF,
+ 19280: 0x00005D8B,
+ 19281: 0x00021DF9,
+ 19282: 0x00021E37,
+ 19283: 0x00005D10,
+ 19284: 0x00005D18,
+ 19285: 0x00005D46,
+ 19286: 0x00021EA4,
+ 19287: 0x00005CBA,
+ 19288: 0x00005DD7,
+ 19289: 0x000082FC,
+ 19290: 0x0000382D,
+ 19291: 0x00024901,
+ 19292: 0x00022049,
+ 19293: 0x00022173,
+ 19294: 0x00008287,
+ 19295: 0x00003836,
+ 19296: 0x00003BC2,
+ 19297: 0x00005E2E,
+ 19298: 0x00006A8A,
+ 19299: 0x00005E75,
+ 19300: 0x00005E7A,
+ 19301: 0x000244BC,
+ 19302: 0x00020CD3,
+ 19303: 0x000053A6,
+ 19304: 0x00004EB7,
+ 19305: 0x00005ED0,
+ 19306: 0x000053A8,
+ 19307: 0x00021771,
+ 19308: 0x00005E09,
+ 19309: 0x00005EF4,
+ 19310: 0x00028482,
+ 19311: 0x00005EF9,
+ 19312: 0x00005EFB,
+ 19313: 0x000038A0,
+ 19314: 0x00005EFC,
+ 19315: 0x0000683E,
+ 19316: 0x0000941B,
+ 19317: 0x00005F0D,
+ 19318: 0x000201C1,
+ 19319: 0x0002F894,
+ 19320: 0x00003ADE,
+ 19321: 0x000048AE,
+ 19322: 0x0002133A,
+ 19323: 0x00005F3A,
+ 19324: 0x00026888,
+ 19325: 0x000223D0,
+ 19326: 0x00005F58,
+ 19327: 0x00022471,
+ 19328: 0x00005F63,
+ 19329: 0x000097BD,
+ 19330: 0x00026E6E,
+ 19331: 0x00005F72,
+ 19332: 0x00009340,
+ 19333: 0x00028A36,
+ 19334: 0x00005FA7,
+ 19335: 0x00005DB6,
+ 19336: 0x00003D5F,
+ 19337: 0x00025250,
+ 19338: 0x00021F6A,
+ 19339: 0x000270F8,
+ 19340: 0x00022668,
+ 19341: 0x000091D6,
+ 19342: 0x0002029E,
+ 19343: 0x00028A29,
+ 19344: 0x00006031,
+ 19345: 0x00006685,
+ 19346: 0x00021877,
+ 19347: 0x00003963,
+ 19348: 0x00003DC7,
+ 19349: 0x00003639,
+ 19350: 0x00005790,
+ 19351: 0x000227B4,
+ 19352: 0x00007971,
+ 19353: 0x00003E40,
+ 19354: 0x0000609E,
+ 19355: 0x000060A4,
+ 19356: 0x000060B3,
+ 19357: 0x00024982,
+ 19358: 0x0002498F,
+ 19359: 0x00027A53,
+ 19360: 0x000074A4,
+ 19361: 0x000050E1,
+ 19362: 0x00005AA0,
+ 19363: 0x00006164,
+ 19364: 0x00008424,
+ 19365: 0x00006142,
+ 19366: 0x0002F8A6,
+ 19367: 0x00026ED2,
+ 19368: 0x00006181,
+ 19369: 0x000051F4,
+ 19370: 0x00020656,
+ 19371: 0x00006187,
+ 19372: 0x00005BAA,
+ 19373: 0x00023FB7,
+ 19374: 0x0002285F,
+ 19375: 0x000061D3,
+ 19376: 0x00028B9D,
+ 19377: 0x0002995D,
+ 19378: 0x000061D0,
+ 19379: 0x00003932,
+ 19380: 0x00022980,
+ 19381: 0x000228C1,
+ 19382: 0x00006023,
+ 19383: 0x0000615C,
+ 19384: 0x0000651E,
+ 19385: 0x0000638B,
+ 19386: 0x00020118,
+ 19387: 0x000062C5,
+ 19388: 0x00021770,
+ 19389: 0x000062D5,
+ 19390: 0x00022E0D,
+ 19391: 0x0000636C,
+ 19392: 0x000249DF,
+ 19393: 0x00003A17,
+ 19394: 0x00006438,
+ 19395: 0x000063F8,
+ 19396: 0x0002138E,
+ 19397: 0x000217FC,
+ 19398: 0x00006490,
+ 19399: 0x00006F8A,
+ 19400: 0x00022E36,
+ 19401: 0x00009814,
+ 19402: 0x0002408C,
+ 19403: 0x0002571D,
+ 19404: 0x000064E1,
+ 19405: 0x000064E5,
+ 19406: 0x0000947B,
+ 19407: 0x00003A66,
+ 19408: 0x0000643A,
+ 19409: 0x00003A57,
+ 19410: 0x0000654D,
+ 19411: 0x00006F16,
+ 19412: 0x00024A28,
+ 19413: 0x00024A23,
+ 19414: 0x00006585,
+ 19415: 0x0000656D,
+ 19416: 0x0000655F,
+ 19417: 0x0002307E,
+ 19418: 0x000065B5,
+ 19419: 0x00024940,
+ 19420: 0x00004B37,
+ 19421: 0x000065D1,
+ 19422: 0x000040D8,
+ 19423: 0x00021829,
+ 19424: 0x000065E0,
+ 19425: 0x000065E3,
+ 19426: 0x00005FDF,
+ 19427: 0x00023400,
+ 19428: 0x00006618,
+ 19429: 0x000231F7,
+ 19430: 0x000231F8,
+ 19431: 0x00006644,
+ 19432: 0x000231A4,
+ 19433: 0x000231A5,
+ 19434: 0x0000664B,
+ 19435: 0x00020E75,
+ 19436: 0x00006667,
+ 19437: 0x000251E6,
+ 19438: 0x00006673,
+ 19439: 0x00006674,
+ 19440: 0x00021E3D,
+ 19441: 0x00023231,
+ 19442: 0x000285F4,
+ 19443: 0x000231C8,
+ 19444: 0x00025313,
+ 19445: 0x000077C5,
+ 19446: 0x000228F7,
+ 19447: 0x000099A4,
+ 19448: 0x00006702,
+ 19449: 0x0002439C,
+ 19450: 0x00024A21,
+ 19451: 0x00003B2B,
+ 19452: 0x000069FA,
+ 19453: 0x000237C2,
+ 19454: 0x0000675E,
+ 19455: 0x00006767,
+ 19456: 0x00006762,
+ 19457: 0x000241CD,
+ 19458: 0x000290ED,
+ 19459: 0x000067D7,
+ 19460: 0x000044E9,
+ 19461: 0x00006822,
+ 19462: 0x00006E50,
+ 19463: 0x0000923C,
+ 19464: 0x00006801,
+ 19465: 0x000233E6,
+ 19466: 0x00026DA0,
+ 19467: 0x0000685D,
+ 19468: 0x0002346F,
+ 19469: 0x000069E1,
+ 19470: 0x00006A0B,
+ 19471: 0x00028ADF,
+ 19472: 0x00006973,
+ 19473: 0x000068C3,
+ 19474: 0x000235CD,
+ 19475: 0x00006901,
+ 19476: 0x00006900,
+ 19477: 0x00003D32,
+ 19478: 0x00003A01,
+ 19479: 0x0002363C,
+ 19480: 0x00003B80,
+ 19481: 0x000067AC,
+ 19482: 0x00006961,
+ 19483: 0x00028A4A,
+ 19484: 0x000042FC,
+ 19485: 0x00006936,
+ 19486: 0x00006998,
+ 19487: 0x00003BA1,
+ 19488: 0x000203C9,
+ 19489: 0x00008363,
+ 19490: 0x00005090,
+ 19491: 0x000069F9,
+ 19492: 0x00023659,
+ 19493: 0x0002212A,
+ 19494: 0x00006A45,
+ 19495: 0x00023703,
+ 19496: 0x00006A9D,
+ 19497: 0x00003BF3,
+ 19498: 0x000067B1,
+ 19499: 0x00006AC8,
+ 19500: 0x0002919C,
+ 19501: 0x00003C0D,
+ 19502: 0x00006B1D,
+ 19503: 0x00020923,
+ 19504: 0x000060DE,
+ 19505: 0x00006B35,
+ 19506: 0x00006B74,
+ 19507: 0x000227CD,
+ 19508: 0x00006EB5,
+ 19509: 0x00023ADB,
+ 19510: 0x000203B5,
+ 19511: 0x00021958,
+ 19512: 0x00003740,
+ 19513: 0x00005421,
+ 19514: 0x00023B5A,
+ 19515: 0x00006BE1,
+ 19516: 0x00023EFC,
+ 19517: 0x00006BDC,
+ 19518: 0x00006C37,
+ 19519: 0x0002248B,
+ 19520: 0x000248F1,
+ 19521: 0x00026B51,
+ 19522: 0x00006C5A,
+ 19523: 0x00008226,
+ 19524: 0x00006C79,
+ 19525: 0x00023DBC,
+ 19526: 0x000044C5,
+ 19527: 0x00023DBD,
+ 19528: 0x000241A4,
+ 19529: 0x0002490C,
+ 19530: 0x00024900,
+ 19531: 0x00023CC9,
+ 19532: 0x000036E5,
+ 19533: 0x00003CEB,
+ 19534: 0x00020D32,
+ 19535: 0x00009B83,
+ 19536: 0x000231F9,
+ 19537: 0x00022491,
+ 19538: 0x00007F8F,
+ 19539: 0x00006837,
+ 19540: 0x00026D25,
+ 19541: 0x00026DA1,
+ 19542: 0x00026DEB,
+ 19543: 0x00006D96,
+ 19544: 0x00006D5C,
+ 19545: 0x00006E7C,
+ 19546: 0x00006F04,
+ 19547: 0x0002497F,
+ 19548: 0x00024085,
+ 19549: 0x00026E72,
+ 19550: 0x00008533,
+ 19551: 0x00026F74,
+ 19552: 0x000051C7,
+ 19553: 0x00006C9C,
+ 19554: 0x00006E1D,
+ 19555: 0x0000842E,
+ 19556: 0x00028B21,
+ 19557: 0x00006E2F,
+ 19558: 0x00023E2F,
+ 19559: 0x00007453,
+ 19560: 0x00023F82,
+ 19561: 0x000079CC,
+ 19562: 0x00006E4F,
+ 19563: 0x00005A91,
+ 19564: 0x0002304B,
+ 19565: 0x00006FF8,
+ 19566: 0x0000370D,
+ 19567: 0x00006F9D,
+ 19568: 0x00023E30,
+ 19569: 0x00006EFA,
+ 19570: 0x00021497,
+ 19571: 0x0002403D,
+ 19572: 0x00004555,
+ 19573: 0x000093F0,
+ 19574: 0x00006F44,
+ 19575: 0x00006F5C,
+ 19576: 0x00003D4E,
+ 19577: 0x00006F74,
+ 19578: 0x00029170,
+ 19579: 0x00003D3B,
+ 19580: 0x00006F9F,
+ 19581: 0x00024144,
+ 19582: 0x00006FD3,
+ 19583: 0x00024091,
+ 19584: 0x00024155,
+ 19585: 0x00024039,
+ 19586: 0x00023FF0,
+ 19587: 0x00023FB4,
+ 19588: 0x0002413F,
+ 19589: 0x000051DF,
+ 19590: 0x00024156,
+ 19591: 0x00024157,
+ 19592: 0x00024140,
+ 19593: 0x000261DD,
+ 19594: 0x0000704B,
+ 19595: 0x0000707E,
+ 19596: 0x000070A7,
+ 19597: 0x00007081,
+ 19598: 0x000070CC,
+ 19599: 0x000070D5,
+ 19600: 0x000070D6,
+ 19601: 0x000070DF,
+ 19602: 0x00004104,
+ 19603: 0x00003DE8,
+ 19604: 0x000071B4,
+ 19605: 0x00007196,
+ 19606: 0x00024277,
+ 19607: 0x0000712B,
+ 19608: 0x00007145,
+ 19609: 0x00005A88,
+ 19610: 0x0000714A,
+ 19611: 0x0000716E,
+ 19612: 0x00005C9C,
+ 19613: 0x00024365,
+ 19614: 0x0000714F,
+ 19615: 0x00009362,
+ 19616: 0x000242C1,
+ 19617: 0x0000712C,
+ 19618: 0x0002445A,
+ 19619: 0x00024A27,
+ 19620: 0x00024A22,
+ 19621: 0x000071BA,
+ 19622: 0x00028BE8,
+ 19623: 0x000070BD,
+ 19624: 0x0000720E,
+ 19625: 0x00009442,
+ 19626: 0x00007215,
+ 19627: 0x00005911,
+ 19628: 0x00009443,
+ 19629: 0x00007224,
+ 19630: 0x00009341,
+ 19631: 0x00025605,
+ 19632: 0x0000722E,
+ 19633: 0x00007240,
+ 19634: 0x00024974,
+ 19635: 0x000068BD,
+ 19636: 0x00007255,
+ 19637: 0x00007257,
+ 19638: 0x00003E55,
+ 19639: 0x00023044,
+ 19640: 0x0000680D,
+ 19641: 0x00006F3D,
+ 19642: 0x00007282,
+ 19643: 0x0000732A,
+ 19644: 0x0000732B,
+ 19645: 0x00024823,
+ 19646: 0x0002882B,
+ 19647: 0x000048ED,
+ 19648: 0x00028804,
+ 19649: 0x00007328,
+ 19650: 0x0000732E,
+ 19651: 0x000073CF,
+ 19652: 0x000073AA,
+ 19653: 0x00020C3A,
+ 19654: 0x00026A2E,
+ 19655: 0x000073C9,
+ 19656: 0x00007449,
+ 19657: 0x000241E2,
+ 19658: 0x000216E7,
+ 19659: 0x00024A24,
+ 19660: 0x00006623,
+ 19661: 0x000036C5,
+ 19662: 0x000249B7,
+ 19663: 0x0002498D,
+ 19664: 0x000249FB,
+ 19665: 0x000073F7,
+ 19666: 0x00007415,
+ 19667: 0x00006903,
+ 19668: 0x00024A26,
+ 19669: 0x00007439,
+ 19670: 0x000205C3,
+ 19671: 0x00003ED7,
+ 19672: 0x0000745C,
+ 19673: 0x000228AD,
+ 19674: 0x00007460,
+ 19675: 0x00028EB2,
+ 19676: 0x00007447,
+ 19677: 0x000073E4,
+ 19678: 0x00007476,
+ 19679: 0x000083B9,
+ 19680: 0x0000746C,
+ 19681: 0x00003730,
+ 19682: 0x00007474,
+ 19683: 0x000093F1,
+ 19684: 0x00006A2C,
+ 19685: 0x00007482,
+ 19686: 0x00004953,
+ 19687: 0x00024A8C,
+ 19688: 0x0002415F,
+ 19689: 0x00024A79,
+ 19690: 0x00028B8F,
+ 19691: 0x00005B46,
+ 19692: 0x00028C03,
+ 19693: 0x0002189E,
+ 19694: 0x000074C8,
+ 19695: 0x00021988,
+ 19696: 0x0000750E,
+ 19697: 0x000074E9,
+ 19698: 0x0000751E,
+ 19699: 0x00028ED9,
+ 19700: 0x00021A4B,
+ 19701: 0x00005BD7,
+ 19702: 0x00028EAC,
+ 19703: 0x00009385,
+ 19704: 0x0000754D,
+ 19705: 0x0000754A,
+ 19706: 0x00007567,
+ 19707: 0x0000756E,
+ 19708: 0x00024F82,
+ 19709: 0x00003F04,
+ 19710: 0x00024D13,
+ 19711: 0x0000758E,
+ 19712: 0x0000745D,
+ 19713: 0x0000759E,
+ 19714: 0x000075B4,
+ 19715: 0x00007602,
+ 19716: 0x0000762C,
+ 19717: 0x00007651,
+ 19718: 0x0000764F,
+ 19719: 0x0000766F,
+ 19720: 0x00007676,
+ 19721: 0x000263F5,
+ 19722: 0x00007690,
+ 19723: 0x000081EF,
+ 19724: 0x000037F8,
+ 19725: 0x00026911,
+ 19726: 0x0002690E,
+ 19727: 0x000076A1,
+ 19728: 0x000076A5,
+ 19729: 0x000076B7,
+ 19730: 0x000076CC,
+ 19731: 0x00026F9F,
+ 19732: 0x00008462,
+ 19733: 0x0002509D,
+ 19734: 0x0002517D,
+ 19735: 0x00021E1C,
+ 19736: 0x0000771E,
+ 19737: 0x00007726,
+ 19738: 0x00007740,
+ 19739: 0x000064AF,
+ 19740: 0x00025220,
+ 19741: 0x00007758,
+ 19742: 0x000232AC,
+ 19743: 0x000077AF,
+ 19744: 0x00028964,
+ 19745: 0x00028968,
+ 19746: 0x000216C1,
+ 19747: 0x000077F4,
+ 19748: 0x00007809,
+ 19749: 0x00021376,
+ 19750: 0x00024A12,
+ 19751: 0x000068CA,
+ 19752: 0x000078AF,
+ 19753: 0x000078C7,
+ 19754: 0x000078D3,
+ 19755: 0x000096A5,
+ 19756: 0x0000792E,
+ 19757: 0x000255E0,
+ 19758: 0x000078D7,
+ 19759: 0x00007934,
+ 19760: 0x000078B1,
+ 19761: 0x0002760C,
+ 19762: 0x00008FB8,
+ 19763: 0x00008884,
+ 19764: 0x00028B2B,
+ 19765: 0x00026083,
+ 19766: 0x0002261C,
+ 19767: 0x00007986,
+ 19768: 0x00008900,
+ 19769: 0x00006902,
+ 19770: 0x00007980,
+ 19771: 0x00025857,
+ 19772: 0x0000799D,
+ 19773: 0x00027B39,
+ 19774: 0x0000793C,
+ 19775: 0x000079A9,
+ 19776: 0x00006E2A,
+ 19777: 0x00027126,
+ 19778: 0x00003EA8,
+ 19779: 0x000079C6,
+ 19780: 0x0002910D,
+ 19781: 0x000079D4,
+}
+
+const numEncodeTables = 8
+
+// encodeX are the encoding tables from Unicode to Big5 code,
+// sorted by decreasing length.
+// encode0: 42633 entries for runes in [131105, 173738).
+// encode1: 29004 entries for runes in [ 11904, 40908).
+// encode2: 2176 entries for runes in [ 7870, 10046).
+// encode3: 939 entries for runes in [ 167, 1106).
+// encode4: 446 entries for runes in [ 65072, 65518).
+// encode5: 432 entries for runes in [194597, 195029).
+// encode6: 263 entries for runes in [ 63751, 64014).
+// encode7: 1 entries for runes in [175615, 175616).
+
+const encode0Low, encode0High = 131105, 173738
+
+var encode0 = [...]uint16{
+ 131105 - 131105: 0x9C71,
+ 131134 - 131105: 0x9375,
+ 131142 - 131105: 0x9376,
+ 131150 - 131105: 0x9548,
+ 131176 - 131105: 0x8EC6,
+ 131206 - 131105: 0x8BC5,
+ 131207 - 131105: 0x8BFA,
+ 131210 - 131105: 0xC87C,
+ 131220 - 131105: 0x9AB4,
+ 131274 - 131105: 0x884E,
+ 131275 - 131105: 0x884B,
+ 131276 - 131105: 0xC87A,
+ 131277 - 131105: 0x8848,
+ 131281 - 131105: 0x8847,
+ 131310 - 131105: 0xA0F6,
+ 131340 - 131105: 0x8845,
+ 131342 - 131105: 0x8853,
+ 131352 - 131105: 0xFCAD,
+ 131492 - 131105: 0x8CF5,
+ 131497 - 131105: 0x8AAD,
+ 131499 - 131105: 0x9272,
+ 131521 - 131105: 0xFC47,
+ 131540 - 131105: 0x94DF,
+ 131570 - 131105: 0x9FD1,
+ 131588 - 131105: 0xFBCB,
+ 131596 - 131105: 0x927D,
+ 131604 - 131105: 0x98A4,
+ 131641 - 131105: 0x8CF9,
+ 131675 - 131105: 0x94E7,
+ 131700 - 131105: 0x90CB,
+ 131701 - 131105: 0x927B,
+ 131737 - 131105: 0x94D8,
+ 131742 - 131105: 0xFC5F,
+ 131744 - 131105: 0xFA54,
+ 131767 - 131105: 0x9AB5,
+ 131775 - 131105: 0x96DA,
+ 131776 - 131105: 0x9279,
+ 131813 - 131105: 0xFA74,
+ 131850 - 131105: 0x9275,
+ 131877 - 131105: 0x8DFB,
+ 131905 - 131105: 0x8A49,
+ 131909 - 131105: 0x92DF,
+ 131910 - 131105: 0x9B7C,
+ 131911 - 131105: 0xFA63,
+ 131966 - 131105: 0xFA60,
+ 131967 - 131105: 0x926D,
+ 131968 - 131105: 0xFA62,
+ 132000 - 131105: 0x9AB6,
+ 132007 - 131105: 0x976B,
+ 132021 - 131105: 0xFD6A,
+ 132041 - 131105: 0xFD54,
+ 132043 - 131105: 0x9273,
+ 132085 - 131105: 0x97D8,
+ 132092 - 131105: 0x9FBB,
+ 132115 - 131105: 0x9342,
+ 132116 - 131105: 0x9276,
+ 132127 - 131105: 0xFA65,
+ 132197 - 131105: 0x926C,
+ 132231 - 131105: 0xFA6E,
+ 132238 - 131105: 0x9EE0,
+ 132241 - 131105: 0x92C0,
+ 132242 - 131105: 0x92BF,
+ 132259 - 131105: 0x92BE,
+ 132311 - 131105: 0x9ABA,
+ 132348 - 131105: 0x8AB3,
+ 132350 - 131105: 0x9775,
+ 132423 - 131105: 0xFA40,
+ 132494 - 131105: 0xFA76,
+ 132517 - 131105: 0xFBD0,
+ 132531 - 131105: 0xFA7B,
+ 132547 - 131105: 0xFE6D,
+ 132554 - 131105: 0x9BB3,
+ 132560 - 131105: 0x89CC,
+ 132565 - 131105: 0x9ABE,
+ 132575 - 131105: 0xFA42,
+ 132576 - 131105: 0x92BC,
+ 132587 - 131105: 0x945C,
+ 132625 - 131105: 0x9BB5,
+ 132629 - 131105: 0x9ABF,
+ 132633 - 131105: 0x98A7,
+ 132634 - 131105: 0x97A4,
+ 132656 - 131105: 0x90FD,
+ 132694 - 131105: 0xFC7B,
+ 132726 - 131105: 0x9AC0,
+ 132878 - 131105: 0x92C3,
+ 132913 - 131105: 0x8AAA,
+ 132985 - 131105: 0x9BD0,
+ 133164 - 131105: 0x9550,
+ 133235 - 131105: 0x92C6,
+ 133333 - 131105: 0x98A6,
+ 133398 - 131105: 0x9546,
+ 133411 - 131105: 0xFD63,
+ 133460 - 131105: 0xFAC2,
+ 133497 - 131105: 0x9EC3,
+ 133607 - 131105: 0x89B2,
+ 133649 - 131105: 0x9C66,
+ 133712 - 131105: 0x9053,
+ 133743 - 131105: 0x8C62,
+ 133770 - 131105: 0x87A8,
+ 133812 - 131105: 0x97C1,
+ 133826 - 131105: 0x9AC4,
+ 133837 - 131105: 0x9AC5,
+ 133901 - 131105: 0x8EEF,
+ 134031 - 131105: 0xFAE9,
+ 134047 - 131105: 0x8D40,
+ 134056 - 131105: 0x9262,
+ 134057 - 131105: 0x8AF7,
+ 134079 - 131105: 0x9AC6,
+ 134086 - 131105: 0x92E1,
+ 134091 - 131105: 0x9AC9,
+ 134114 - 131105: 0xFAC6,
+ 134123 - 131105: 0x97A5,
+ 134139 - 131105: 0x9ACB,
+ 134143 - 131105: 0xFA72,
+ 134155 - 131105: 0x8A5E,
+ 134157 - 131105: 0x94E0,
+ 134176 - 131105: 0x92CC,
+ 134196 - 131105: 0x8AE5,
+ 134202 - 131105: 0xFE5C,
+ 134203 - 131105: 0x9ACC,
+ 134209 - 131105: 0x9DF9,
+ 134210 - 131105: 0x8A43,
+ 134211 - 131105: 0x8AA6,
+ 134227 - 131105: 0x9ACD,
+ 134245 - 131105: 0x9ACE,
+ 134263 - 131105: 0xFAEE,
+ 134264 - 131105: 0x9BCC,
+ 134268 - 131105: 0x9ACF,
+ 134285 - 131105: 0x9AD1,
+ 134294 - 131105: 0x9DFA,
+ 134300 - 131105: 0x9D7C,
+ 134325 - 131105: 0x9AD3,
+ 134328 - 131105: 0x97A6,
+ 134351 - 131105: 0x995F,
+ 134355 - 131105: 0xFBF6,
+ 134356 - 131105: 0x9FC5,
+ 134357 - 131105: 0x8A59,
+ 134358 - 131105: 0x8B6B,
+ 134365 - 131105: 0x9AD4,
+ 134381 - 131105: 0x9AD5,
+ 134399 - 131105: 0x97A2,
+ 134421 - 131105: 0x8A44,
+ 134440 - 131105: 0x9F4A,
+ 134449 - 131105: 0x90A1,
+ 134450 - 131105: 0xFDA4,
+ 134470 - 131105: 0x8A64,
+ 134471 - 131105: 0x8AF2,
+ 134472 - 131105: 0x8AF8,
+ 134473 - 131105: 0x9DD8,
+ 134476 - 131105: 0x94D6,
+ 134477 - 131105: 0xFAFE,
+ 134478 - 131105: 0xFBA7,
+ 134511 - 131105: 0x9AD6,
+ 134513 - 131105: 0x9F4D,
+ 134516 - 131105: 0xFAF6,
+ 134524 - 131105: 0x8A57,
+ 134526 - 131105: 0x8B43,
+ 134527 - 131105: 0x8B44,
+ 134550 - 131105: 0x8AB6,
+ 134556 - 131105: 0x8AC0,
+ 134567 - 131105: 0x9E54,
+ 134578 - 131105: 0x9AD7,
+ 134600 - 131105: 0x9AD8,
+ 134660 - 131105: 0x9ADC,
+ 134665 - 131105: 0x8ACA,
+ 134666 - 131105: 0x9EA8,
+ 134669 - 131105: 0x9263,
+ 134670 - 131105: 0x9ADD,
+ 134671 - 131105: 0x8B65,
+ 134672 - 131105: 0x8B6F,
+ 134673 - 131105: 0x8B7E,
+ 134678 - 131105: 0x8F43,
+ 134685 - 131105: 0x92D0,
+ 134732 - 131105: 0x8AF4,
+ 134765 - 131105: 0x9DBE,
+ 134771 - 131105: 0x9AE1,
+ 134773 - 131105: 0xFCDE,
+ 134774 - 131105: 0x9DFD,
+ 134775 - 131105: 0x8B66,
+ 134776 - 131105: 0x8B70,
+ 134777 - 131105: 0x8B75,
+ 134778 - 131105: 0x8AE4,
+ 134779 - 131105: 0x8BA4,
+ 134796 - 131105: 0x8AED,
+ 134806 - 131105: 0x8A5D,
+ 134808 - 131105: 0x8B48,
+ 134813 - 131105: 0x9DED,
+ 134818 - 131105: 0x9E40,
+ 134826 - 131105: 0x8AEF,
+ 134827 - 131105: 0x8AF6,
+ 134828 - 131105: 0x9E76,
+ 134838 - 131105: 0x9EE3,
+ 134871 - 131105: 0x9ADE,
+ 134872 - 131105: 0x8DFE,
+ 134877 - 131105: 0xFAFC,
+ 134904 - 131105: 0x9CB1,
+ 134905 - 131105: 0x9E77,
+ 134906 - 131105: 0x8B64,
+ 134907 - 131105: 0x8B67,
+ 134941 - 131105: 0x974B,
+ 134950 - 131105: 0x9653,
+ 134957 - 131105: 0x9AE0,
+ 134958 - 131105: 0x8B4A,
+ 134960 - 131105: 0x8AF1,
+ 134961 - 131105: 0x8AD7,
+ 134971 - 131105: 0xA0AB,
+ 134988 - 131105: 0x8AB5,
+ 135012 - 131105: 0x8A5F,
+ 135053 - 131105: 0x8AEE,
+ 135056 - 131105: 0x9ADF,
+ 135085 - 131105: 0x8AFE,
+ 135092 - 131105: 0x8A58,
+ 135093 - 131105: 0x8BA3,
+ 135094 - 131105: 0x8BA7,
+ 135100 - 131105: 0x9AE3,
+ 135135 - 131105: 0x9261,
+ 135146 - 131105: 0x9DD7,
+ 135147 - 131105: 0x9E7D,
+ 135148 - 131105: 0x9EA7,
+ 135149 - 131105: 0x9EAB,
+ 135188 - 131105: 0x9042,
+ 135197 - 131105: 0x8B79,
+ 135198 - 131105: 0x8B7A,
+ 135247 - 131105: 0x9AE6,
+ 135260 - 131105: 0x9AE5,
+ 135279 - 131105: 0x8A7E,
+ 135285 - 131105: 0x9E44,
+ 135286 - 131105: 0x9AE7,
+ 135287 - 131105: 0x8A7C,
+ 135288 - 131105: 0x8B71,
+ 135291 - 131105: 0x9AE9,
+ 135304 - 131105: 0x9AEA,
+ 135318 - 131105: 0x9AEB,
+ 135325 - 131105: 0x8ABD,
+ 135348 - 131105: 0xFB4E,
+ 135359 - 131105: 0x9AED,
+ 135360 - 131105: 0x8AF9,
+ 135361 - 131105: 0x9E63,
+ 135367 - 131105: 0x8B49,
+ 135368 - 131105: 0x8ACE,
+ 135369 - 131105: 0x8B6E,
+ 135375 - 131105: 0x8AE8,
+ 135379 - 131105: 0x9AEE,
+ 135396 - 131105: 0x92CE,
+ 135412 - 131105: 0x8A5A,
+ 135413 - 131105: 0x8B7B,
+ 135414 - 131105: 0x8B7C,
+ 135471 - 131105: 0x9AEF,
+ 135483 - 131105: 0x9AF0,
+ 135485 - 131105: 0x8AFA,
+ 135493 - 131105: 0x8941,
+ 135496 - 131105: 0x8B72,
+ 135503 - 131105: 0x8AF3,
+ 135552 - 131105: 0x8BA8,
+ 135559 - 131105: 0x9EAE,
+ 135641 - 131105: 0x9E72,
+ 135740 - 131105: 0xFB73,
+ 135759 - 131105: 0xFB5F,
+ 135804 - 131105: 0x90BA,
+ 135848 - 131105: 0x91FE,
+ 135849 - 131105: 0x9EF6,
+ 135856 - 131105: 0x97ED,
+ 135907 - 131105: 0x9AF3,
+ 135934 - 131105: 0xA0EE,
+ 135938 - 131105: 0x967C,
+ 135939 - 131105: 0x9345,
+ 135940 - 131105: 0x986E,
+ 135941 - 131105: 0xFA56,
+ 135990 - 131105: 0x9AF5,
+ 135994 - 131105: 0xFC4B,
+ 136053 - 131105: 0x9AF4,
+ 136054 - 131105: 0xFEDE,
+ 136078 - 131105: 0xFCB7,
+ 136088 - 131105: 0x97F1,
+ 136092 - 131105: 0x97C7,
+ 136133 - 131105: 0x9CCB,
+ 136134 - 131105: 0x9240,
+ 136173 - 131105: 0x9CE8,
+ 136190 - 131105: 0x91FD,
+ 136211 - 131105: 0x974E,
+ 136214 - 131105: 0xFB68,
+ 136228 - 131105: 0x976C,
+ 136255 - 131105: 0x8CC2,
+ 136274 - 131105: 0x97E8,
+ 136276 - 131105: 0xFB6A,
+ 136277 - 131105: 0x8B74,
+ 136330 - 131105: 0x8EE7,
+ 136343 - 131105: 0xFDC8,
+ 136374 - 131105: 0x9241,
+ 136424 - 131105: 0x96A1,
+ 136445 - 131105: 0x8EF3,
+ 136567 - 131105: 0x9AF7,
+ 136578 - 131105: 0x8FA6,
+ 136598 - 131105: 0xFAD6,
+ 136714 - 131105: 0x9CC7,
+ 136723 - 131105: 0xFAD7,
+ 136729 - 131105: 0x9AF8,
+ 136766 - 131105: 0xFBA1,
+ 136801 - 131105: 0x8EC5,
+ 136850 - 131105: 0xFBA4,
+ 136888 - 131105: 0xFBC2,
+ 136890 - 131105: 0x9AC1,
+ 136896 - 131105: 0x91FA,
+ 136897 - 131105: 0xFEDB,
+ 136898 - 131105: 0x97AB,
+ 136915 - 131105: 0x9147,
+ 136917 - 131105: 0xFBB1,
+ 136927 - 131105: 0x8FEA,
+ 136934 - 131105: 0x94D2,
+ 136935 - 131105: 0xFE61,
+ 136936 - 131105: 0xFACE,
+ 136954 - 131105: 0x92ED,
+ 136955 - 131105: 0x91F3,
+ 136956 - 131105: 0x93C6,
+ 136958 - 131105: 0x935A,
+ 136973 - 131105: 0xFAFB,
+ 136976 - 131105: 0x92EF,
+ 136998 - 131105: 0xFAC8,
+ 137018 - 131105: 0x9847,
+ 137019 - 131105: 0x9366,
+ 137020 - 131105: 0x9855,
+ 137047 - 131105: 0x96E6,
+ 137068 - 131105: 0x9F43,
+ 137069 - 131105: 0x9FAA,
+ 137070 - 131105: 0x94DA,
+ 137071 - 131105: 0x92EE,
+ 137072 - 131105: 0xFCAF,
+ 137073 - 131105: 0xFBFB,
+ 137075 - 131105: 0x8EF9,
+ 137076 - 131105: 0x91F6,
+ 137131 - 131105: 0x9364,
+ 137136 - 131105: 0x94F5,
+ 137137 - 131105: 0x9CB6,
+ 137138 - 131105: 0xFBAD,
+ 137139 - 131105: 0x984E,
+ 137140 - 131105: 0x8F44,
+ 137141 - 131105: 0x96FD,
+ 137155 - 131105: 0x9AF9,
+ 137159 - 131105: 0x9AFA,
+ 137177 - 131105: 0x9769,
+ 137178 - 131105: 0x95D4,
+ 137179 - 131105: 0x984B,
+ 137180 - 131105: 0xFBAA,
+ 137183 - 131105: 0x987C,
+ 137199 - 131105: 0x91EA,
+ 137205 - 131105: 0x9DAF,
+ 137206 - 131105: 0x9DC5,
+ 137208 - 131105: 0x91F1,
+ 137209 - 131105: 0x8EB1,
+ 137210 - 131105: 0x97A9,
+ 137211 - 131105: 0xFBAC,
+ 137212 - 131105: 0xFCB8,
+ 137248 - 131105: 0x9CB9,
+ 137256 - 131105: 0xFBB0,
+ 137257 - 131105: 0xFCD2,
+ 137258 - 131105: 0x93CB,
+ 137261 - 131105: 0x9AFD,
+ 137273 - 131105: 0x91F4,
+ 137274 - 131105: 0x8BAC,
+ 137275 - 131105: 0xA055,
+ 137280 - 131105: 0x9574,
+ 137285 - 131105: 0x95BE,
+ 137298 - 131105: 0x97AD,
+ 137310 - 131105: 0x8EE9,
+ 137313 - 131105: 0x92F8,
+ 137314 - 131105: 0x97BE,
+ 137315 - 131105: 0x916C,
+ 137316 - 131105: 0x94AA,
+ 137335 - 131105: 0xFC63,
+ 137339 - 131105: 0x9DC6,
+ 137347 - 131105: 0x97B5,
+ 137348 - 131105: 0x92B8,
+ 137349 - 131105: 0x91EF,
+ 137374 - 131105: 0xFEA6,
+ 137375 - 131105: 0x9760,
+ 137376 - 131105: 0x9358,
+ 137377 - 131105: 0x9576,
+ 137378 - 131105: 0x8FAC,
+ 137406 - 131105: 0x91EC,
+ 137407 - 131105: 0x97B4,
+ 137425 - 131105: 0x91F7,
+ 137430 - 131105: 0x974A,
+ 137431 - 131105: 0xFB49,
+ 137432 - 131105: 0x9578,
+ 137433 - 131105: 0x93BC,
+ 137466 - 131105: 0x91D6,
+ 137475 - 131105: 0x9355,
+ 137476 - 131105: 0x9356,
+ 137477 - 131105: 0x9851,
+ 137488 - 131105: 0x8FF8,
+ 137489 - 131105: 0xFBC0,
+ 137490 - 131105: 0x93F2,
+ 137493 - 131105: 0x90D0,
+ 137500 - 131105: 0x9C44,
+ 137506 - 131105: 0x9255,
+ 137511 - 131105: 0x9363,
+ 137531 - 131105: 0x91A5,
+ 137540 - 131105: 0xA0ED,
+ 137560 - 131105: 0xFD6B,
+ 137578 - 131105: 0x9AFE,
+ 137596 - 131105: 0x9351,
+ 137600 - 131105: 0x8C57,
+ 137603 - 131105: 0xFA78,
+ 137608 - 131105: 0xFEA8,
+ 137622 - 131105: 0x9350,
+ 137691 - 131105: 0xFA4C,
+ 137715 - 131105: 0x92F7,
+ 137773 - 131105: 0x9B40,
+ 137780 - 131105: 0xFBCE,
+ 137797 - 131105: 0x9B41,
+ 137803 - 131105: 0xFEAD,
+ 137827 - 131105: 0x8761,
+ 138052 - 131105: 0xFBD5,
+ 138177 - 131105: 0x8BC2,
+ 138178 - 131105: 0x9A7C,
+ 138282 - 131105: 0x9B42,
+ 138352 - 131105: 0x9B43,
+ 138402 - 131105: 0x9E79,
+ 138405 - 131105: 0xFBD9,
+ 138412 - 131105: 0x9B44,
+ 138566 - 131105: 0xA0A7,
+ 138579 - 131105: 0x877B,
+ 138590 - 131105: 0x876E,
+ 138640 - 131105: 0x9BF3,
+ 138678 - 131105: 0x8C79,
+ 138682 - 131105: 0x935E,
+ 138698 - 131105: 0x89CB,
+ 138705 - 131105: 0x9F53,
+ 138731 - 131105: 0x93D7,
+ 138745 - 131105: 0xFBE1,
+ 138780 - 131105: 0xFED0,
+ 138787 - 131105: 0x8CF1,
+ 138807 - 131105: 0xFBE2,
+ 138813 - 131105: 0xFCE3,
+ 138889 - 131105: 0x9074,
+ 138916 - 131105: 0xFBE6,
+ 138920 - 131105: 0x9BB7,
+ 138952 - 131105: 0x9B45,
+ 138965 - 131105: 0x9B47,
+ 139023 - 131105: 0x9F50,
+ 139029 - 131105: 0x9B48,
+ 139114 - 131105: 0xFC5B,
+ 139166 - 131105: 0x98A9,
+ 139169 - 131105: 0x9CFD,
+ 139240 - 131105: 0x884C,
+ 139333 - 131105: 0x9B4B,
+ 139337 - 131105: 0xFBEC,
+ 139390 - 131105: 0x8C69,
+ 139418 - 131105: 0x9BA8,
+ 139463 - 131105: 0x8AD5,
+ 139516 - 131105: 0xFA73,
+ 139562 - 131105: 0xFD59,
+ 139611 - 131105: 0x91A2,
+ 139635 - 131105: 0xFBED,
+ 139642 - 131105: 0x9CA9,
+ 139681 - 131105: 0x8AA8,
+ 139713 - 131105: 0x8D42,
+ 139715 - 131105: 0x9BC3,
+ 139784 - 131105: 0x8AE1,
+ 139900 - 131105: 0x9B4E,
+ 140065 - 131105: 0x95D0,
+ 140069 - 131105: 0x905F,
+ 140221 - 131105: 0x97EE,
+ 140240 - 131105: 0xFC4E,
+ 140247 - 131105: 0x9B4F,
+ 140282 - 131105: 0x9B50,
+ 140389 - 131105: 0x9EC6,
+ 140401 - 131105: 0xFC50,
+ 140427 - 131105: 0xFD73,
+ 140433 - 131105: 0xFDA7,
+ 140464 - 131105: 0x9DA2,
+ 140476 - 131105: 0x87D1,
+ 140481 - 131105: 0x87D3,
+ 140489 - 131105: 0x87D4,
+ 140492 - 131105: 0x87D5,
+ 140525 - 131105: 0xFA58,
+ 140563 - 131105: 0xFA5E,
+ 140571 - 131105: 0xA059,
+ 140592 - 131105: 0xFA75,
+ 140628 - 131105: 0xFBBE,
+ 140685 - 131105: 0x9CA2,
+ 140719 - 131105: 0x9370,
+ 140734 - 131105: 0x9371,
+ 140827 - 131105: 0x9377,
+ 140828 - 131105: 0xFEEF,
+ 140843 - 131105: 0x936D,
+ 140904 - 131105: 0xFC5D,
+ 140922 - 131105: 0x90B8,
+ 140950 - 131105: 0x8AFC,
+ 140952 - 131105: 0xFB41,
+ 141044 - 131105: 0x9E6B,
+ 141045 - 131105: 0x94E3,
+ 141046 - 131105: 0x8EE2,
+ 141074 - 131105: 0x8C7D,
+ 141076 - 131105: 0x8ED7,
+ 141083 - 131105: 0x9C4D,
+ 141087 - 131105: 0x96A3,
+ 141098 - 131105: 0x9B51,
+ 141173 - 131105: 0x8AC3,
+ 141185 - 131105: 0x96AA,
+ 141206 - 131105: 0x8CE2,
+ 141236 - 131105: 0xFC68,
+ 141237 - 131105: 0x8B6D,
+ 141261 - 131105: 0xFD67,
+ 141315 - 131105: 0x8AE9,
+ 141407 - 131105: 0xFCA1,
+ 141408 - 131105: 0x936C,
+ 141425 - 131105: 0x9B52,
+ 141485 - 131105: 0xFE70,
+ 141505 - 131105: 0xFCA8,
+ 141559 - 131105: 0xFCE9,
+ 141606 - 131105: 0x9CB4,
+ 141625 - 131105: 0x8AEA,
+ 141647 - 131105: 0x9B53,
+ 141671 - 131105: 0x9B55,
+ 141675 - 131105: 0x96AB,
+ 141696 - 131105: 0xFCA7,
+ 141715 - 131105: 0x9B56,
+ 141926 - 131105: 0x8ABC,
+ 142031 - 131105: 0x8ACB,
+ 142037 - 131105: 0x9B57,
+ 142054 - 131105: 0x89CD,
+ 142056 - 131105: 0x9B59,
+ 142094 - 131105: 0x9B5B,
+ 142114 - 131105: 0x93A5,
+ 142143 - 131105: 0x9B5D,
+ 142147 - 131105: 0x9E4F,
+ 142186 - 131105: 0x93A3,
+ 142282 - 131105: 0x8A7B,
+ 142286 - 131105: 0x8B42,
+ 142374 - 131105: 0x9750,
+ 142375 - 131105: 0x8FB3,
+ 142392 - 131105: 0x8A50,
+ 142412 - 131105: 0x9B60,
+ 142417 - 131105: 0x8B45,
+ 142421 - 131105: 0x8B46,
+ 142434 - 131105: 0x9DFE,
+ 142472 - 131105: 0x9B62,
+ 142491 - 131105: 0x937B,
+ 142497 - 131105: 0x93B1,
+ 142505 - 131105: 0x8A60,
+ 142514 - 131105: 0x8AD8,
+ 142519 - 131105: 0x9B63,
+ 142530 - 131105: 0x8A69,
+ 142534 - 131105: 0x8A47,
+ 142537 - 131105: 0x8ACC,
+ 142599 - 131105: 0x937C,
+ 142600 - 131105: 0x9B65,
+ 142610 - 131105: 0x9B66,
+ 142660 - 131105: 0x8A72,
+ 142668 - 131105: 0x8A7A,
+ 142695 - 131105: 0x93AF,
+ 142733 - 131105: 0x8AB0,
+ 142741 - 131105: 0x9B68,
+ 142752 - 131105: 0x9EA3,
+ 142755 - 131105: 0xFAEC,
+ 142756 - 131105: 0x8B77,
+ 142775 - 131105: 0x9B67,
+ 142830 - 131105: 0x8B59,
+ 142861 - 131105: 0xFCB1,
+ 142902 - 131105: 0xFCBB,
+ 142914 - 131105: 0x9B69,
+ 142968 - 131105: 0x93A8,
+ 142987 - 131105: 0x8AE0,
+ 143027 - 131105: 0x9E51,
+ 143087 - 131105: 0x8F5F,
+ 143220 - 131105: 0x9B6A,
+ 143308 - 131105: 0x9B6B,
+ 143331 - 131105: 0x97EC,
+ 143411 - 131105: 0x9B6C,
+ 143428 - 131105: 0xFE4E,
+ 143435 - 131105: 0xFDC2,
+ 143462 - 131105: 0x9B6D,
+ 143485 - 131105: 0x9167,
+ 143486 - 131105: 0xFCCC,
+ 143502 - 131105: 0x93B6,
+ 143543 - 131105: 0x90E4,
+ 143548 - 131105: 0x90E5,
+ 143578 - 131105: 0x9EF2,
+ 143619 - 131105: 0x93CA,
+ 143677 - 131105: 0x8BBC,
+ 143741 - 131105: 0x8F46,
+ 143746 - 131105: 0x93CF,
+ 143780 - 131105: 0xFCDB,
+ 143781 - 131105: 0xFCDC,
+ 143795 - 131105: 0x93C0,
+ 143816 - 131105: 0xFCE6,
+ 143817 - 131105: 0x96E7,
+ 143850 - 131105: 0x87A7,
+ 143863 - 131105: 0xFCD8,
+ 143864 - 131105: 0xFCD9,
+ 143865 - 131105: 0xFDA6,
+ 143887 - 131105: 0x93CE,
+ 143909 - 131105: 0x95F1,
+ 143919 - 131105: 0x9CE9,
+ 143921 - 131105: 0xFCE4,
+ 143922 - 131105: 0x94AF,
+ 143923 - 131105: 0xFA77,
+ 143924 - 131105: 0x93CC,
+ 143958 - 131105: 0x8CE1,
+ 143966 - 131105: 0x87A9,
+ 143970 - 131105: 0x905A,
+ 144001 - 131105: 0x8C54,
+ 144009 - 131105: 0x93BF,
+ 144010 - 131105: 0xFB51,
+ 144043 - 131105: 0x93B9,
+ 144044 - 131105: 0xFED7,
+ 144045 - 131105: 0x93B7,
+ 144082 - 131105: 0x93D9,
+ 144096 - 131105: 0x93BB,
+ 144097 - 131105: 0x93DA,
+ 144128 - 131105: 0x98A3,
+ 144138 - 131105: 0x90D1,
+ 144159 - 131105: 0x9B6E,
+ 144308 - 131105: 0xFA70,
+ 144332 - 131105: 0x9BEB,
+ 144350 - 131105: 0x9B6F,
+ 144358 - 131105: 0xFCFC,
+ 144372 - 131105: 0x8B40,
+ 144373 - 131105: 0xA07B,
+ 144377 - 131105: 0x8CA1,
+ 144378 - 131105: 0x97F7,
+ 144382 - 131105: 0x93E2,
+ 144384 - 131105: 0xFCD6,
+ 144447 - 131105: 0x9559,
+ 144464 - 131105: 0x93A6,
+ 144495 - 131105: 0xFD40,
+ 144498 - 131105: 0x935F,
+ 144613 - 131105: 0x97F2,
+ 144665 - 131105: 0x9C76,
+ 144688 - 131105: 0x8EF8,
+ 144721 - 131105: 0x8CEB,
+ 144730 - 131105: 0x8F47,
+ 144743 - 131105: 0x9B74,
+ 144789 - 131105: 0x92B4,
+ 144793 - 131105: 0x91ED,
+ 144796 - 131105: 0x96D2,
+ 144827 - 131105: 0x87D8,
+ 144845 - 131105: 0xFD46,
+ 144846 - 131105: 0x8F4F,
+ 144847 - 131105: 0x9549,
+ 144883 - 131105: 0x9B75,
+ 144896 - 131105: 0xFA5C,
+ 144919 - 131105: 0x8751,
+ 144922 - 131105: 0x9B79,
+ 144956 - 131105: 0xFD4B,
+ 144960 - 131105: 0x96D3,
+ 144985 - 131105: 0xFD58,
+ 144991 - 131105: 0x945F,
+ 145015 - 131105: 0xA0F5,
+ 145038 - 131105: 0x87C7,
+ 145054 - 131105: 0x877C,
+ 145062 - 131105: 0x9243,
+ 145069 - 131105: 0x97FA,
+ 145082 - 131105: 0x9DD9,
+ 145119 - 131105: 0x97F4,
+ 145134 - 131105: 0x924D,
+ 145155 - 131105: 0xFD5B,
+ 145174 - 131105: 0x9B7A,
+ 145184 - 131105: 0x9ED5,
+ 145197 - 131105: 0xFAAE,
+ 145199 - 131105: 0x9CC9,
+ 145215 - 131105: 0x9258,
+ 145254 - 131105: 0x8EC8,
+ 145281 - 131105: 0x94B4,
+ 145314 - 131105: 0x93E1,
+ 145340 - 131105: 0x93DF,
+ 145346 - 131105: 0xFCF0,
+ 145365 - 131105: 0x93EC,
+ 145366 - 131105: 0x97F6,
+ 145367 - 131105: 0x96CF,
+ 145466 - 131105: 0x93DE,
+ 145858 - 131105: 0x8ACF,
+ 146087 - 131105: 0x9BA2,
+ 146139 - 131105: 0xFD69,
+ 146158 - 131105: 0x9352,
+ 146170 - 131105: 0x98A2,
+ 146202 - 131105: 0x8CE7,
+ 146266 - 131105: 0xFD6E,
+ 146531 - 131105: 0x8CA4,
+ 146585 - 131105: 0xFA7C,
+ 146586 - 131105: 0x93FA,
+ 146587 - 131105: 0x907C,
+ 146613 - 131105: 0x8F67,
+ 146615 - 131105: 0x9DB7,
+ 146631 - 131105: 0xA0E9,
+ 146632 - 131105: 0xFA4E,
+ 146633 - 131105: 0xFDA1,
+ 146684 - 131105: 0x9E74,
+ 146685 - 131105: 0x9FBF,
+ 146686 - 131105: 0x9ECB,
+ 146687 - 131105: 0x9BB9,
+ 146752 - 131105: 0x9DD4,
+ 146779 - 131105: 0x97B9,
+ 146814 - 131105: 0x8EF1,
+ 146831 - 131105: 0x957B,
+ 146870 - 131105: 0x9ED2,
+ 146871 - 131105: 0x9753,
+ 146872 - 131105: 0x96A4,
+ 146873 - 131105: 0x8FBE,
+ 146874 - 131105: 0x94D9,
+ 146875 - 131105: 0x9058,
+ 146876 - 131105: 0xFD79,
+ 146877 - 131105: 0xFD7B,
+ 146915 - 131105: 0x8EDA,
+ 146936 - 131105: 0x8EFA,
+ 146950 - 131105: 0x8762,
+ 146961 - 131105: 0x9BA5,
+ 146988 - 131105: 0x9ED9,
+ 146989 - 131105: 0x97D4,
+ 146990 - 131105: 0x90BB,
+ 146991 - 131105: 0xFDBC,
+ 146992 - 131105: 0xFDC6,
+ 146993 - 131105: 0x9248,
+ 147001 - 131105: 0x92B5,
+ 147080 - 131105: 0x9DC1,
+ 147081 - 131105: 0x92B9,
+ 147082 - 131105: 0x92A6,
+ 147083 - 131105: 0x8F4B,
+ 147129 - 131105: 0x9BA6,
+ 147135 - 131105: 0x92B6,
+ 147159 - 131105: 0x8E40,
+ 147191 - 131105: 0x9ED8,
+ 147192 - 131105: 0x945E,
+ 147193 - 131105: 0x985F,
+ 147194 - 131105: 0x94CE,
+ 147195 - 131105: 0x924A,
+ 147196 - 131105: 0xFD70,
+ 147253 - 131105: 0x9467,
+ 147265 - 131105: 0x8DEC,
+ 147274 - 131105: 0x9BD8,
+ 147297 - 131105: 0x8763,
+ 147327 - 131105: 0x9448,
+ 147328 - 131105: 0xFAC1,
+ 147329 - 131105: 0x9CF7,
+ 147330 - 131105: 0xFDBE,
+ 147343 - 131105: 0x8FDA,
+ 147380 - 131105: 0xFDD9,
+ 147383 - 131105: 0xFC7E,
+ 147392 - 131105: 0x93F9,
+ 147397 - 131105: 0xFA43,
+ 147435 - 131105: 0xFAEB,
+ 147436 - 131105: 0xFAC3,
+ 147437 - 131105: 0x97D3,
+ 147438 - 131105: 0x95F9,
+ 147439 - 131105: 0x9C48,
+ 147440 - 131105: 0xFDD8,
+ 147473 - 131105: 0xA0D8,
+ 147513 - 131105: 0xFDD7,
+ 147514 - 131105: 0xFB4A,
+ 147515 - 131105: 0x9BAF,
+ 147516 - 131105: 0x944B,
+ 147517 - 131105: 0xFDC9,
+ 147543 - 131105: 0x8EAC,
+ 147589 - 131105: 0xFDB2,
+ 147595 - 131105: 0x925A,
+ 147596 - 131105: 0xFCBD,
+ 147597 - 131105: 0x92D9,
+ 147601 - 131105: 0xFDD5,
+ 147657 - 131105: 0x92DD,
+ 147681 - 131105: 0x9259,
+ 147692 - 131105: 0x8CF0,
+ 147716 - 131105: 0x96BA,
+ 147727 - 131105: 0x925B,
+ 147737 - 131105: 0x9BAB,
+ 147775 - 131105: 0xFDDA,
+ 147776 - 131105: 0xFDDE,
+ 147780 - 131105: 0xFDD3,
+ 147790 - 131105: 0x8C46,
+ 147797 - 131105: 0xFDD6,
+ 147798 - 131105: 0xFDDC,
+ 147799 - 131105: 0xFDDD,
+ 147804 - 131105: 0x90FE,
+ 147807 - 131105: 0xFEA1,
+ 147809 - 131105: 0x87A5,
+ 147831 - 131105: 0x8BAD,
+ 147834 - 131105: 0x9CD8,
+ 147875 - 131105: 0x9E6D,
+ 147876 - 131105: 0xFD7C,
+ 147877 - 131105: 0xFB61,
+ 147884 - 131105: 0x96F8,
+ 147893 - 131105: 0x96F0,
+ 147917 - 131105: 0xFCF4,
+ 147938 - 131105: 0xFE60,
+ 147964 - 131105: 0x9852,
+ 147995 - 131105: 0x964F,
+ 148043 - 131105: 0x916E,
+ 148054 - 131105: 0x986D,
+ 148057 - 131105: 0x9864,
+ 148086 - 131105: 0x9453,
+ 148087 - 131105: 0xFDEC,
+ 148088 - 131105: 0xFB78,
+ 148100 - 131105: 0x95BA,
+ 148115 - 131105: 0x985D,
+ 148117 - 131105: 0x92F9,
+ 148133 - 131105: 0x985A,
+ 148159 - 131105: 0x8750,
+ 148161 - 131105: 0xFDF6,
+ 148169 - 131105: 0x93D0,
+ 148170 - 131105: 0x9862,
+ 148206 - 131105: 0x9BAD,
+ 148218 - 131105: 0x974F,
+ 148237 - 131105: 0x9BAE,
+ 148250 - 131105: 0x9452,
+ 148276 - 131105: 0x9BB0,
+ 148296 - 131105: 0x91D2,
+ 148322 - 131105: 0x97EA,
+ 148323 - 131105: 0xFB6B,
+ 148324 - 131105: 0x91B1,
+ 148325 - 131105: 0xFDF3,
+ 148364 - 131105: 0x92CB,
+ 148374 - 131105: 0x9BB1,
+ 148380 - 131105: 0xFCEC,
+ 148413 - 131105: 0x986B,
+ 148417 - 131105: 0x9751,
+ 148457 - 131105: 0x9871,
+ 148458 - 131105: 0x95EF,
+ 148466 - 131105: 0x9EF3,
+ 148472 - 131105: 0x91E8,
+ 148484 - 131105: 0x9BBA,
+ 148533 - 131105: 0xFB4C,
+ 148534 - 131105: 0x926A,
+ 148570 - 131105: 0xFDF8,
+ 148571 - 131105: 0x9861,
+ 148595 - 131105: 0x91E7,
+ 148615 - 131105: 0x93ED,
+ 148616 - 131105: 0x9744,
+ 148665 - 131105: 0x91E1,
+ 148668 - 131105: 0xFBF5,
+ 148686 - 131105: 0x9869,
+ 148691 - 131105: 0x8A62,
+ 148694 - 131105: 0x9BBB,
+ 148741 - 131105: 0x8CA8,
+ 148769 - 131105: 0x9C55,
+ 148856 - 131105: 0x8E77,
+ 148936 - 131105: 0x8AB2,
+ 149016 - 131105: 0x9EBC,
+ 149034 - 131105: 0x93E6,
+ 149093 - 131105: 0x93A2,
+ 149108 - 131105: 0x9BBD,
+ 149143 - 131105: 0x94B3,
+ 149204 - 131105: 0x937D,
+ 149254 - 131105: 0x9E66,
+ 149285 - 131105: 0x9459,
+ 149295 - 131105: 0x9BBF,
+ 149391 - 131105: 0x9458,
+ 149472 - 131105: 0x9EA5,
+ 149522 - 131105: 0x9BC7,
+ 149539 - 131105: 0xFE54,
+ 149634 - 131105: 0x8E74,
+ 149737 - 131105: 0x8BD6,
+ 149744 - 131105: 0x94B6,
+ 149745 - 131105: 0xFD74,
+ 149746 - 131105: 0x98C0,
+ 149747 - 131105: 0x94A5,
+ 149755 - 131105: 0x9BC8,
+ 149759 - 131105: 0x95ED,
+ 149760 - 131105: 0xFD7E,
+ 149761 - 131105: 0xFBEB,
+ 149772 - 131105: 0xFD7D,
+ 149782 - 131105: 0x976F,
+ 149783 - 131105: 0x9461,
+ 149785 - 131105: 0x9FC1,
+ 149807 - 131105: 0x95D7,
+ 149811 - 131105: 0xFA52,
+ 149812 - 131105: 0x9C58,
+ 149822 - 131105: 0x9F68,
+ 149823 - 131105: 0x9BE7,
+ 149824 - 131105: 0xFCCE,
+ 149825 - 131105: 0x96E8,
+ 149826 - 131105: 0xFA49,
+ 149827 - 131105: 0x97A1,
+ 149858 - 131105: 0x954D,
+ 149859 - 131105: 0x9EF8,
+ 149876 - 131105: 0xFE49,
+ 149877 - 131105: 0x91CE,
+ 149878 - 131105: 0x9771,
+ 149883 - 131105: 0x8CCF,
+ 149887 - 131105: 0xFDB1,
+ 149890 - 131105: 0xFC6E,
+ 149896 - 131105: 0x9CF2,
+ 149897 - 131105: 0x93B8,
+ 149898 - 131105: 0x9043,
+ 149899 - 131105: 0x9759,
+ 149900 - 131105: 0x94D7,
+ 149901 - 131105: 0xFE66,
+ 149902 - 131105: 0x947D,
+ 149903 - 131105: 0xFC6F,
+ 149908 - 131105: 0x9246,
+ 149924 - 131105: 0xFA6D,
+ 149927 - 131105: 0x8EF7,
+ 149929 - 131105: 0xFBB7,
+ 149931 - 131105: 0x947C,
+ 149932 - 131105: 0x92CD,
+ 149933 - 131105: 0x97B2,
+ 149943 - 131105: 0xFE65,
+ 149944 - 131105: 0x967E,
+ 149945 - 131105: 0x9758,
+ 149946 - 131105: 0x9B77,
+ 149947 - 131105: 0x91CF,
+ 149957 - 131105: 0x94A4,
+ 149968 - 131105: 0x9CAD,
+ 149978 - 131105: 0x8BAB,
+ 149982 - 131105: 0x96D5,
+ 149983 - 131105: 0xFCB3,
+ 149987 - 131105: 0x93AE,
+ 149989 - 131105: 0x976D,
+ 149996 - 131105: 0x9446,
+ 149997 - 131105: 0x95F7,
+ 150006 - 131105: 0x9C46,
+ 150007 - 131105: 0x955B,
+ 150008 - 131105: 0x91D1,
+ 150009 - 131105: 0x94F4,
+ 150011 - 131105: 0xFE67,
+ 150030 - 131105: 0x92A5,
+ 150034 - 131105: 0xFEDF,
+ 150035 - 131105: 0x8CAB,
+ 150037 - 131105: 0x9BC9,
+ 150049 - 131105: 0xFCED,
+ 150050 - 131105: 0xFDFA,
+ 150051 - 131105: 0xFCC8,
+ 150052 - 131105: 0xFE62,
+ 150053 - 131105: 0x91FC,
+ 150054 - 131105: 0xFE6B,
+ 150055 - 131105: 0xFDF9,
+ 150056 - 131105: 0xFCC7,
+ 150057 - 131105: 0x914E,
+ 150058 - 131105: 0x9CB8,
+ 150078 - 131105: 0x9767,
+ 150082 - 131105: 0x95EE,
+ 150085 - 131105: 0x9BB2,
+ 150090 - 131105: 0x9460,
+ 150094 - 131105: 0x94A2,
+ 150095 - 131105: 0x9875,
+ 150096 - 131105: 0x97AC,
+ 150097 - 131105: 0x91D3,
+ 150109 - 131105: 0x987B,
+ 150117 - 131105: 0x8EEB,
+ 150118 - 131105: 0x976A,
+ 150119 - 131105: 0x965E,
+ 150129 - 131105: 0x97EB,
+ 150135 - 131105: 0x9FF9,
+ 150136 - 131105: 0x95F8,
+ 150137 - 131105: 0xFEA2,
+ 150138 - 131105: 0x8FE6,
+ 150156 - 131105: 0xFE7E,
+ 150163 - 131105: 0x9DA4,
+ 150164 - 131105: 0x9768,
+ 150165 - 131105: 0x8EEC,
+ 150166 - 131105: 0x94BD,
+ 150180 - 131105: 0x945B,
+ 150181 - 131105: 0x9CF6,
+ 150182 - 131105: 0xFAA7,
+ 150183 - 131105: 0x9BD9,
+ 150193 - 131105: 0xFA5D,
+ 150194 - 131105: 0x9656,
+ 150195 - 131105: 0x9762,
+ 150202 - 131105: 0x94BA,
+ 150203 - 131105: 0xA04F,
+ 150204 - 131105: 0x92D8,
+ 150208 - 131105: 0x9BCB,
+ 150215 - 131105: 0x94BB,
+ 150218 - 131105: 0x9D5F,
+ 150225 - 131105: 0x90CF,
+ 150239 - 131105: 0x9465,
+ 150242 - 131105: 0x9F4C,
+ 150249 - 131105: 0x90D8,
+ 150287 - 131105: 0x8D5B,
+ 150382 - 131105: 0x9EBE,
+ 150517 - 131105: 0xFB6D,
+ 150537 - 131105: 0x95CA,
+ 150686 - 131105: 0x9DC2,
+ 150687 - 131105: 0x97F8,
+ 150729 - 131105: 0x8FFC,
+ 150745 - 131105: 0x9473,
+ 150790 - 131105: 0x9474,
+ 150803 - 131105: 0xFEB7,
+ 150968 - 131105: 0x8A4B,
+ 151018 - 131105: 0x8A55,
+ 151019 - 131105: 0x8B69,
+ 151099 - 131105: 0x8ADC,
+ 151120 - 131105: 0x8B76,
+ 151205 - 131105: 0x9BCE,
+ 151207 - 131105: 0x8A68,
+ 151310 - 131105: 0xA0F8,
+ 151388 - 131105: 0x98DF,
+ 151426 - 131105: 0xFEB5,
+ 151430 - 131105: 0x9BCF,
+ 151447 - 131105: 0x96FB,
+ 151450 - 131105: 0x9BFB,
+ 151465 - 131105: 0x9ECE,
+ 151480 - 131105: 0x8EE5,
+ 151490 - 131105: 0x9E7B,
+ 151596 - 131105: 0x9BD2,
+ 151634 - 131105: 0x8AA5,
+ 151709 - 131105: 0xFECE,
+ 151851 - 131105: 0x8A45,
+ 151880 - 131105: 0x9DFC,
+ 151933 - 131105: 0xFECF,
+ 151934 - 131105: 0x8BA5,
+ 152013 - 131105: 0x8C4A,
+ 152035 - 131105: 0x8AEC,
+ 152038 - 131105: 0xFCE0,
+ 152039 - 131105: 0x94AD,
+ 152096 - 131105: 0xFED5,
+ 152097 - 131105: 0x94AC,
+ 152144 - 131105: 0xFC5A,
+ 152217 - 131105: 0x9BD6,
+ 152263 - 131105: 0x8A6F,
+ 152280 - 131105: 0x8BA9,
+ 152334 - 131105: 0x8E5F,
+ 152337 - 131105: 0x9DCB,
+ 152339 - 131105: 0xFCE7,
+ 152601 - 131105: 0x9BD7,
+ 152613 - 131105: 0x93C8,
+ 152623 - 131105: 0x91F0,
+ 152624 - 131105: 0x8FE0,
+ 152646 - 131105: 0x9BDB,
+ 152684 - 131105: 0x90ED,
+ 152686 - 131105: 0x9BDC,
+ 152730 - 131105: 0x8D53,
+ 152881 - 131105: 0xA0EC,
+ 152885 - 131105: 0x98FA,
+ 152895 - 131105: 0x9BE0,
+ 152923 - 131105: 0x93C7,
+ 152924 - 131105: 0x9249,
+ 152925 - 131105: 0x96E1,
+ 152926 - 131105: 0x9BE2,
+ 152930 - 131105: 0x9BE4,
+ 152933 - 131105: 0x8FE1,
+ 152934 - 131105: 0x9BE5,
+ 152961 - 131105: 0x94C0,
+ 152964 - 131105: 0x93C3,
+ 152975 - 131105: 0x93C5,
+ 153017 - 131105: 0x9079,
+ 153045 - 131105: 0x977B,
+ 153051 - 131105: 0x907E,
+ 153056 - 131105: 0xFEE6,
+ 153093 - 131105: 0xFE46,
+ 153141 - 131105: 0x9DB8,
+ 153169 - 131105: 0x9270,
+ 153219 - 131105: 0x95A8,
+ 153237 - 131105: 0x8CB0,
+ 153315 - 131105: 0x94C8,
+ 153334 - 131105: 0x98B9,
+ 153350 - 131105: 0x9140,
+ 153373 - 131105: 0xFCBE,
+ 153381 - 131105: 0x9157,
+ 153405 - 131105: 0x8BB2,
+ 153458 - 131105: 0xFADF,
+ 153543 - 131105: 0x9BE6,
+ 153567 - 131105: 0x9643,
+ 153568 - 131105: 0x8E44,
+ 153569 - 131105: 0x9C4F,
+ 153687 - 131105: 0xFEF4,
+ 153693 - 131105: 0x9BE8,
+ 153714 - 131105: 0x93DC,
+ 153800 - 131105: 0x966F,
+ 153822 - 131105: 0x87A1,
+ 153825 - 131105: 0x8E4A,
+ 153859 - 131105: 0x9BED,
+ 153926 - 131105: 0x92F6,
+ 153942 - 131105: 0x9DB9,
+ 154028 - 131105: 0x8E4E,
+ 154060 - 131105: 0xFBCF,
+ 154196 - 131105: 0x8760,
+ 154261 - 131105: 0x9EC2,
+ 154268 - 131105: 0x94E5,
+ 154286 - 131105: 0x9BF0,
+ 154287 - 131105: 0x94E4,
+ 154345 - 131105: 0x9551,
+ 154484 - 131105: 0x8BBB,
+ 154505 - 131105: 0x9BF1,
+ 154547 - 131105: 0x94F0,
+ 154548 - 131105: 0x8E64,
+ 154566 - 131105: 0x94EA,
+ 154596 - 131105: 0x8F61,
+ 154600 - 131105: 0x9B64,
+ 154625 - 131105: 0x8E5B,
+ 154630 - 131105: 0x9BF2,
+ 154657 - 131105: 0x9FBE,
+ 154698 - 131105: 0x9DC9,
+ 154725 - 131105: 0x8E6C,
+ 154769 - 131105: 0x8F73,
+ 154788 - 131105: 0x8CAF,
+ 154816 - 131105: 0x8F75,
+ 154817 - 131105: 0x8E71,
+ 154878 - 131105: 0x8E60,
+ 154912 - 131105: 0x8E6A,
+ 154928 - 131105: 0x8C4C,
+ 154947 - 131105: 0x9552,
+ 155033 - 131105: 0x87CF,
+ 155065 - 131105: 0x87C0,
+ 155150 - 131105: 0x9554,
+ 155209 - 131105: 0x8AD4,
+ 155265 - 131105: 0x9DBB,
+ 155266 - 131105: 0x9543,
+ 155267 - 131105: 0x92FE,
+ 155302 - 131105: 0x94F2,
+ 155324 - 131105: 0x94F1,
+ 155351 - 131105: 0xA0EA,
+ 155352 - 131105: 0x9DD2,
+ 155418 - 131105: 0xA0B1,
+ 155467 - 131105: 0x91F8,
+ 155617 - 131105: 0x9462,
+ 155618 - 131105: 0x9BA4,
+ 155681 - 131105: 0x877D,
+ 155689 - 131105: 0x8EAD,
+ 155720 - 131105: 0x9EAD,
+ 155748 - 131105: 0x96D0,
+ 155779 - 131105: 0xFEEE,
+ 155799 - 131105: 0x8AB4,
+ 155812 - 131105: 0x9757,
+ 155813 - 131105: 0x8A77,
+ 155906 - 131105: 0x9BF7,
+ 155937 - 131105: 0x8EB5,
+ 155993 - 131105: 0xA06D,
+ 155994 - 131105: 0x8EB6,
+ 155995 - 131105: 0x9756,
+ 155996 - 131105: 0x9540,
+ 156077 - 131105: 0xA0F3,
+ 156078 - 131105: 0x94BE,
+ 156082 - 131105: 0x9BFA,
+ 156125 - 131105: 0xFDDF,
+ 156248 - 131105: 0x9DBC,
+ 156257 - 131105: 0x94FE,
+ 156266 - 131105: 0x8BDB,
+ 156267 - 131105: 0xA0FE,
+ 156368 - 131105: 0x8EC0,
+ 156469 - 131105: 0x9F47,
+ 156491 - 131105: 0x8BDE,
+ 156492 - 131105: 0xA0FB,
+ 156497 - 131105: 0x8EC3,
+ 156606 - 131105: 0x9649,
+ 156661 - 131105: 0xFEC2,
+ 156664 - 131105: 0x954C,
+ 156674 - 131105: 0x9BFD,
+ 156688 - 131105: 0x90CC,
+ 156689 - 131105: 0x9C60,
+ 156690 - 131105: 0x954B,
+ 156746 - 131105: 0x9BFE,
+ 156777 - 131105: 0x9C70,
+ 156804 - 131105: 0x9C43,
+ 156808 - 131105: 0x9C47,
+ 156809 - 131105: 0x8ECC,
+ 156813 - 131105: 0x8E54,
+ 156824 - 131105: 0x8EE4,
+ 156946 - 131105: 0x9C49,
+ 157042 - 131105: 0x8B5E,
+ 157088 - 131105: 0x955E,
+ 157101 - 131105: 0x955C,
+ 157119 - 131105: 0x9C4B,
+ 157202 - 131105: 0x8BE1,
+ 157222 - 131105: 0x8ED9,
+ 157359 - 131105: 0x9DB4,
+ 157361 - 131105: 0x925F,
+ 157365 - 131105: 0x9C4C,
+ 157402 - 131105: 0x8AA1,
+ 157416 - 131105: 0x8EDB,
+ 157436 - 131105: 0x9C56,
+ 157462 - 131105: 0x8AA2,
+ 157505 - 131105: 0x9754,
+ 157593 - 131105: 0x9C5E,
+ 157619 - 131105: 0x9ED4,
+ 157620 - 131105: 0x9568,
+ 157644 - 131105: 0xA0C3,
+ 157724 - 131105: 0x8AE6,
+ 157766 - 131105: 0xA0F7,
+ 157790 - 131105: 0x9C61,
+ 157806 - 131105: 0x9C5F,
+ 157832 - 131105: 0xFC4D,
+ 157834 - 131105: 0x9E5B,
+ 157843 - 131105: 0x9E69,
+ 157895 - 131105: 0x9C63,
+ 157966 - 131105: 0xFEC7,
+ 157969 - 131105: 0xFEC6,
+ 157990 - 131105: 0x9C67,
+ 158009 - 131105: 0x9C69,
+ 158033 - 131105: 0x8BE2,
+ 158120 - 131105: 0x9165,
+ 158133 - 131105: 0x9CE7,
+ 158194 - 131105: 0x8A54,
+ 158202 - 131105: 0x9C6C,
+ 158253 - 131105: 0x9C6E,
+ 158254 - 131105: 0xFE5D,
+ 158260 - 131105: 0x9C73,
+ 158274 - 131105: 0x956A,
+ 158289 - 131105: 0x956D,
+ 158290 - 131105: 0x8EF0,
+ 158469 - 131105: 0x8F4D,
+ 158474 - 131105: 0x8EF6,
+ 158483 - 131105: 0xFABC,
+ 158485 - 131105: 0x8CD5,
+ 158499 - 131105: 0x875E,
+ 158504 - 131105: 0xFBDA,
+ 158544 - 131105: 0x8B4C,
+ 158545 - 131105: 0xFD75,
+ 158546 - 131105: 0x9BDD,
+ 158547 - 131105: 0xFAF5,
+ 158555 - 131105: 0x9C74,
+ 158581 - 131105: 0x9545,
+ 158594 - 131105: 0x96C6,
+ 158614 - 131105: 0x8F6A,
+ 158615 - 131105: 0x8F4E,
+ 158621 - 131105: 0x9C78,
+ 158643 - 131105: 0xFA55,
+ 158656 - 131105: 0x97E4,
+ 158711 - 131105: 0x9C41,
+ 158753 - 131105: 0x925C,
+ 158784 - 131105: 0x96FA,
+ 158785 - 131105: 0x8CF6,
+ 158790 - 131105: 0x8D4D,
+ 158846 - 131105: 0xFB66,
+ 158847 - 131105: 0x8E65,
+ 158848 - 131105: 0x9849,
+ 158849 - 131105: 0xFBA8,
+ 158850 - 131105: 0x9842,
+ 158884 - 131105: 0x9C7A,
+ 158903 - 131105: 0x97FB,
+ 158904 - 131105: 0x90CA,
+ 158909 - 131105: 0x9C5B,
+ 158912 - 131105: 0x974D,
+ 158915 - 131105: 0x8ED3,
+ 158929 - 131105: 0x9561,
+ 159010 - 131105: 0x9F4B,
+ 159011 - 131105: 0x9FB5,
+ 159012 - 131105: 0x93D2,
+ 159013 - 131105: 0xFDAA,
+ 159014 - 131105: 0x9840,
+ 159015 - 131105: 0x9146,
+ 159016 - 131105: 0x9867,
+ 159017 - 131105: 0xFA5A,
+ 159018 - 131105: 0xFBA9,
+ 159057 - 131105: 0x9841,
+ 159092 - 131105: 0x8CD3,
+ 159136 - 131105: 0xFCFD,
+ 159137 - 131105: 0xFDAB,
+ 159138 - 131105: 0x91BD,
+ 159139 - 131105: 0x8F4C,
+ 159140 - 131105: 0x96C9,
+ 159141 - 131105: 0x8F55,
+ 159142 - 131105: 0xFBAE,
+ 159143 - 131105: 0x956F,
+ 159150 - 131105: 0x9C7D,
+ 159196 - 131105: 0xA0F0,
+ 159210 - 131105: 0x946F,
+ 159211 - 131105: 0xFDAC,
+ 159216 - 131105: 0x96CB,
+ 159232 - 131105: 0x96CE,
+ 159237 - 131105: 0xA056,
+ 159239 - 131105: 0x9CE1,
+ 159250 - 131105: 0x96C4,
+ 159298 - 131105: 0x8F5E,
+ 159299 - 131105: 0x8F6C,
+ 159300 - 131105: 0x8EA3,
+ 159301 - 131105: 0xFBB3,
+ 159342 - 131105: 0xFC53,
+ 159346 - 131105: 0xFDB3,
+ 159351 - 131105: 0x8F6B,
+ 159364 - 131105: 0x96CA,
+ 159368 - 131105: 0x87CD,
+ 159371 - 131105: 0x8753,
+ 159385 - 131105: 0x8F79,
+ 159440 - 131105: 0x9E6F,
+ 159441 - 131105: 0xA0C5,
+ 159442 - 131105: 0xFC78,
+ 159443 - 131105: 0x8E42,
+ 159444 - 131105: 0x8F5A,
+ 159445 - 131105: 0x90C2,
+ 159446 - 131105: 0x8EA5,
+ 159447 - 131105: 0x9061,
+ 159526 - 131105: 0x924F,
+ 159603 - 131105: 0x9373,
+ 159604 - 131105: 0xFDB5,
+ 159647 - 131105: 0xFECC,
+ 159649 - 131105: 0xFBBD,
+ 159678 - 131105: 0x8CD6,
+ 159710 - 131105: 0x9843,
+ 159711 - 131105: 0x96C5,
+ 159758 - 131105: 0x89BC,
+ 159819 - 131105: 0x9CA3,
+ 159826 - 131105: 0x924B,
+ 159827 - 131105: 0x984A,
+ 159880 - 131105: 0x8FA4,
+ 159917 - 131105: 0xA0F1,
+ 159918 - 131105: 0x9EFB,
+ 159919 - 131105: 0x9CD2,
+ 159949 - 131105: 0x8FA7,
+ 159954 - 131105: 0x8754,
+ 159992 - 131105: 0xFC5C,
+ 160009 - 131105: 0x9845,
+ 160012 - 131105: 0x9046,
+ 160013 - 131105: 0x8CD1,
+ 160038 - 131105: 0xFEFA,
+ 160039 - 131105: 0x9560,
+ 160100 - 131105: 0x9F48,
+ 160101 - 131105: 0x9247,
+ 160117 - 131105: 0x90FB,
+ 160205 - 131105: 0x9CA4,
+ 160283 - 131105: 0x9571,
+ 160359 - 131105: 0x8745,
+ 160384 - 131105: 0x9CA6,
+ 160389 - 131105: 0x9CA7,
+ 160395 - 131105: 0x9CAA,
+ 160434 - 131105: 0x9ED3,
+ 160438 - 131105: 0x9E70,
+ 160486 - 131105: 0x9CAC,
+ 160594 - 131105: 0x8752,
+ 160666 - 131105: 0x8FAE,
+ 160767 - 131105: 0x8D50,
+ 160802 - 131105: 0x957D,
+ 160848 - 131105: 0x9CB0,
+ 160900 - 131105: 0x97B6,
+ 160902 - 131105: 0xA0BD,
+ 161140 - 131105: 0x8ADF,
+ 161187 - 131105: 0x9EAA,
+ 161248 - 131105: 0x8FBD,
+ 161252 - 131105: 0x8FBF,
+ 161277 - 131105: 0x9369,
+ 161278 - 131105: 0x9BA7,
+ 161287 - 131105: 0xC8A4,
+ 161292 - 131105: 0xFEEA,
+ 161330 - 131105: 0x9BE1,
+ 161337 - 131105: 0x8B41,
+ 161365 - 131105: 0x9DB6,
+ 161366 - 131105: 0xA0EB,
+ 161367 - 131105: 0x9BA3,
+ 161428 - 131105: 0x8BA1,
+ 161551 - 131105: 0x8FC8,
+ 161589 - 131105: 0x894C,
+ 161590 - 131105: 0x9860,
+ 161601 - 131105: 0x94C7,
+ 161630 - 131105: 0x8B58,
+ 161668 - 131105: 0x95AB,
+ 161669 - 131105: 0x95AA,
+ 161740 - 131105: 0x9CC3,
+ 161880 - 131105: 0x9CC4,
+ 161904 - 131105: 0x93D6,
+ 161949 - 131105: 0x9DAC,
+ 161970 - 131105: 0x8BE6,
+ 161992 - 131105: 0x8A71,
+ 162084 - 131105: 0x8FD1,
+ 162151 - 131105: 0x99D5,
+ 162170 - 131105: 0x90F4,
+ 162208 - 131105: 0x8AA3,
+ 162269 - 131105: 0x9CCE,
+ 162301 - 131105: 0x9CD4,
+ 162314 - 131105: 0x9CD5,
+ 162318 - 131105: 0xFBC8,
+ 162366 - 131105: 0x9DB3,
+ 162387 - 131105: 0xFC70,
+ 162393 - 131105: 0x8FD7,
+ 162425 - 131105: 0x9B73,
+ 162436 - 131105: 0xFA5B,
+ 162493 - 131105: 0x8FD2,
+ 162494 - 131105: 0x9064,
+ 162548 - 131105: 0x98B6,
+ 162566 - 131105: 0x9668,
+ 162571 - 131105: 0x9CD6,
+ 162584 - 131105: 0x98BD,
+ 162616 - 131105: 0x8FDC,
+ 162617 - 131105: 0xFEF6,
+ 162618 - 131105: 0x8FD9,
+ 162632 - 131105: 0x9541,
+ 162661 - 131105: 0x87CA,
+ 162799 - 131105: 0x876C,
+ 162804 - 131105: 0x97F3,
+ 162834 - 131105: 0x9BF8,
+ 162924 - 131105: 0x875A,
+ 162993 - 131105: 0x8748,
+ 163013 - 131105: 0x874A,
+ 163119 - 131105: 0x9E6C,
+ 163155 - 131105: 0x8FF2,
+ 163156 - 131105: 0x8FEE,
+ 163174 - 131105: 0x9CD7,
+ 163187 - 131105: 0x9E6E,
+ 163204 - 131105: 0x8A40,
+ 163215 - 131105: 0x8FEF,
+ 163224 - 131105: 0x8FF4,
+ 163261 - 131105: 0x8FF5,
+ 163292 - 131105: 0x95C2,
+ 163405 - 131105: 0x986A,
+ 163407 - 131105: 0x97CF,
+ 163630 - 131105: 0x9EE5,
+ 163833 - 131105: 0x9E7C,
+ 163842 - 131105: 0x9041,
+ 163849 - 131105: 0x9CDB,
+ 163870 - 131105: 0x9441,
+ 163875 - 131105: 0x9CE6,
+ 163876 - 131105: 0x9DB0,
+ 163912 - 131105: 0x9CEA,
+ 163971 - 131105: 0x9CED,
+ 163984 - 131105: 0x9CFA,
+ 164029 - 131105: 0x8B62,
+ 164030 - 131105: 0x8A4E,
+ 164072 - 131105: 0x9CCA,
+ 164073 - 131105: 0x8A66,
+ 164084 - 131105: 0x9CFB,
+ 164142 - 131105: 0x9CFC,
+ 164175 - 131105: 0x9CFE,
+ 164189 - 131105: 0x8A53,
+ 164207 - 131105: 0x9CE5,
+ 164233 - 131105: 0x9D40,
+ 164271 - 131105: 0x9D41,
+ 164284 - 131105: 0x9045,
+ 164359 - 131105: 0x8B73,
+ 164376 - 131105: 0x97CA,
+ 164378 - 131105: 0x9D42,
+ 164438 - 131105: 0x8A61,
+ 164476 - 131105: 0x8BAE,
+ 164507 - 131105: 0x8AD2,
+ 164557 - 131105: 0x8BA2,
+ 164578 - 131105: 0x9DF2,
+ 164614 - 131105: 0x9D43,
+ 164632 - 131105: 0x9CDF,
+ 164655 - 131105: 0x9D44,
+ 164666 - 131105: 0x8ECA,
+ 164709 - 131105: 0x904E,
+ 164717 - 131105: 0x8EB3,
+ 164733 - 131105: 0x9FF5,
+ 164746 - 131105: 0x9D45,
+ 164882 - 131105: 0x904F,
+ 164968 - 131105: 0x9D47,
+ 164972 - 131105: 0x89CA,
+ 164979 - 131105: 0x9CB5,
+ 164994 - 131105: 0xFBFE,
+ 165121 - 131105: 0x905E,
+ 165180 - 131105: 0x9063,
+ 165181 - 131105: 0x9057,
+ 165228 - 131105: 0x9066,
+ 165352 - 131105: 0x9BC0,
+ 165364 - 131105: 0xFCE5,
+ 165376 - 131105: 0x9162,
+ 165387 - 131105: 0x9067,
+ 165413 - 131105: 0x8FA1,
+ 165435 - 131105: 0x8FA2,
+ 165546 - 131105: 0x9D48,
+ 165547 - 131105: 0xFAD3,
+ 165554 - 131105: 0x8D4F,
+ 165564 - 131105: 0x905D,
+ 165592 - 131105: 0x90B9,
+ 165606 - 131105: 0x906B,
+ 165647 - 131105: 0x8C5C,
+ 165651 - 131105: 0x9069,
+ 165892 - 131105: 0xFE57,
+ 165931 - 131105: 0xFE55,
+ 166157 - 131105: 0x87A6,
+ 166195 - 131105: 0x9073,
+ 166216 - 131105: 0x9BEF,
+ 166217 - 131105: 0x9CF0,
+ 166230 - 131105: 0x9D4B,
+ 166244 - 131105: 0xFED9,
+ 166248 - 131105: 0xFEDA,
+ 166252 - 131105: 0x91E0,
+ 166253 - 131105: 0x8D43,
+ 166270 - 131105: 0x91D8,
+ 166281 - 131105: 0x9646,
+ 166312 - 131105: 0x9360,
+ 166314 - 131105: 0xFA53,
+ 166315 - 131105: 0x9CD3,
+ 166328 - 131105: 0x9D4E,
+ 166332 - 131105: 0xFB40,
+ 166336 - 131105: 0x8DE2,
+ 166364 - 131105: 0x9442,
+ 166366 - 131105: 0x9056,
+ 166369 - 131105: 0x9865,
+ 166371 - 131105: 0x8C6C,
+ 166372 - 131105: 0xFA4A,
+ 166375 - 131105: 0x9D50,
+ 166376 - 131105: 0x9D52,
+ 166393 - 131105: 0x95AF,
+ 166394 - 131105: 0x975A,
+ 166395 - 131105: 0x9349,
+ 166396 - 131105: 0x9747,
+ 166415 - 131105: 0xA0F4,
+ 166422 - 131105: 0x9778,
+ 166437 - 131105: 0x8FCF,
+ 166441 - 131105: 0xFC60,
+ 166450 - 131105: 0x8C4E,
+ 166454 - 131105: 0xFC56,
+ 166468 - 131105: 0x91DC,
+ 166469 - 131105: 0x9661,
+ 166470 - 131105: 0x92EC,
+ 166471 - 131105: 0x935D,
+ 166472 - 131105: 0x8EDE,
+ 166473 - 131105: 0x96FE,
+ 166474 - 131105: 0xFD4F,
+ 166475 - 131105: 0x95DE,
+ 166489 - 131105: 0x98B0,
+ 166490 - 131105: 0xA040,
+ 166529 - 131105: 0x97BD,
+ 166530 - 131105: 0x977D,
+ 166531 - 131105: 0x97F5,
+ 166554 - 131105: 0x9BAC,
+ 166555 - 131105: 0xFADA,
+ 166556 - 131105: 0x92C2,
+ 166592 - 131105: 0x97B1,
+ 166598 - 131105: 0x907B,
+ 166603 - 131105: 0x93FE,
+ 166604 - 131105: 0x947B,
+ 166606 - 131105: 0x9777,
+ 166622 - 131105: 0xFABE,
+ 166623 - 131105: 0xFD43,
+ 166624 - 131105: 0x90C6,
+ 166625 - 131105: 0x90A4,
+ 166626 - 131105: 0x90A8,
+ 166627 - 131105: 0x94A9,
+ 166629 - 131105: 0x90A9,
+ 166634 - 131105: 0x8C65,
+ 166652 - 131105: 0x95E0,
+ 166668 - 131105: 0x907D,
+ 166675 - 131105: 0x9265,
+ 166689 - 131105: 0xFDBA,
+ 166690 - 131105: 0x93C4,
+ 166699 - 131105: 0xFEED,
+ 166700 - 131105: 0x9DAB,
+ 166701 - 131105: 0xA0E3,
+ 166703 - 131105: 0x9648,
+ 166726 - 131105: 0x9D53,
+ 166732 - 131105: 0x8AA9,
+ 166734 - 131105: 0x9BC5,
+ 166736 - 131105: 0x965D,
+ 166755 - 131105: 0x975F,
+ 166756 - 131105: 0x965F,
+ 166757 - 131105: 0x966E,
+ 166758 - 131105: 0xFB5D,
+ 166764 - 131105: 0x9DB1,
+ 166799 - 131105: 0xFEA3,
+ 166809 - 131105: 0x9DB2,
+ 166812 - 131105: 0x95AE,
+ 166813 - 131105: 0xFCA3,
+ 166841 - 131105: 0x8769,
+ 166850 - 131105: 0xA0A2,
+ 166853 - 131105: 0x9655,
+ 166868 - 131105: 0x9D54,
+ 166871 - 131105: 0x9341,
+ 166873 - 131105: 0x95AD,
+ 166874 - 131105: 0x91D5,
+ 166887 - 131105: 0x977A,
+ 166888 - 131105: 0xFDFC,
+ 166889 - 131105: 0x8E47,
+ 166890 - 131105: 0x93FD,
+ 166891 - 131105: 0x90A5,
+ 166892 - 131105: 0x90AC,
+ 166901 - 131105: 0x95AC,
+ 166911 - 131105: 0x90AE,
+ 166915 - 131105: 0xFEA5,
+ 166921 - 131105: 0x9D56,
+ 166940 - 131105: 0x97E3,
+ 166941 - 131105: 0x95E2,
+ 166947 - 131105: 0x9466,
+ 166950 - 131105: 0x9647,
+ 166955 - 131105: 0x91B8,
+ 166960 - 131105: 0x9CEC,
+ 166969 - 131105: 0x90AD,
+ 166971 - 131105: 0x95E3,
+ 167114 - 131105: 0x8B4F,
+ 167117 - 131105: 0x8AE3,
+ 167122 - 131105: 0x8B4D,
+ 167220 - 131105: 0x95EA,
+ 167321 - 131105: 0x8B4E,
+ 167353 - 131105: 0x8CC1,
+ 167439 - 131105: 0x8BED,
+ 167478 - 131105: 0x91D9,
+ 167481 - 131105: 0xA0A4,
+ 167525 - 131105: 0x95F5,
+ 167526 - 131105: 0x95F4,
+ 167575 - 131105: 0x9FB3,
+ 167596 - 131105: 0xFEAF,
+ 167602 - 131105: 0xFE72,
+ 167603 - 131105: 0x927A,
+ 167641 - 131105: 0xFEAC,
+ 167655 - 131105: 0x95F3,
+ 167877 - 131105: 0x9D58,
+ 168057 - 131105: 0x8D46,
+ 168072 - 131105: 0x9372,
+ 168075 - 131105: 0x91C5,
+ 168083 - 131105: 0x9642,
+ 168111 - 131105: 0x90CD,
+ 168112 - 131105: 0x95FE,
+ 168113 - 131105: 0x9159,
+ 168128 - 131105: 0x9C65,
+ 168164 - 131105: 0x97CC,
+ 168165 - 131105: 0x90CE,
+ 168172 - 131105: 0x9D59,
+ 168173 - 131105: 0xFCF5,
+ 168205 - 131105: 0xFEFD,
+ 168208 - 131105: 0x9D5B,
+ 168252 - 131105: 0x9D5C,
+ 168269 - 131105: 0x937E,
+ 168283 - 131105: 0x98AC,
+ 168286 - 131105: 0x9D5E,
+ 168304 - 131105: 0xFDD0,
+ 168348 - 131105: 0xFD60,
+ 168360 - 131105: 0x9CCF,
+ 168405 - 131105: 0x90DD,
+ 168427 - 131105: 0x90E0,
+ 168989 - 131105: 0x90F3,
+ 168992 - 131105: 0x98B1,
+ 169011 - 131105: 0x90F0,
+ 169023 - 131105: 0x93BD,
+ 169032 - 131105: 0x95B7,
+ 169168 - 131105: 0x9F46,
+ 169177 - 131105: 0x8E4B,
+ 169178 - 131105: 0x9658,
+ 169189 - 131105: 0x8A4C,
+ 169191 - 131105: 0x9D63,
+ 169374 - 131105: 0x9ECF,
+ 169392 - 131105: 0x9D65,
+ 169400 - 131105: 0x9D66,
+ 169431 - 131105: 0x965A,
+ 169449 - 131105: 0x9D64,
+ 169460 - 131105: 0x8A6C,
+ 169760 - 131105: 0x8AD9,
+ 169778 - 131105: 0x9D67,
+ 169940 - 131105: 0x8A70,
+ 170000 - 131105: 0x8BF3,
+ 170071 - 131105: 0x9150,
+ 170148 - 131105: 0x9CC1,
+ 170193 - 131105: 0x9D68,
+ 170218 - 131105: 0x93A7,
+ 170225 - 131105: 0x9674,
+ 170234 - 131105: 0x8CFD,
+ 170243 - 131105: 0xA0EF,
+ 170245 - 131105: 0x9151,
+ 170287 - 131105: 0x96C1,
+ 170309 - 131105: 0x8777,
+ 170311 - 131105: 0x8C64,
+ 170312 - 131105: 0x9676,
+ 170313 - 131105: 0x9D69,
+ 170333 - 131105: 0xFCA4,
+ 170346 - 131105: 0x9D6A,
+ 170397 - 131105: 0x924E,
+ 170435 - 131105: 0x9D6B,
+ 170441 - 131105: 0x9BC1,
+ 170536 - 131105: 0x9D6C,
+ 170573 - 131105: 0x8A65,
+ 170757 - 131105: 0x915D,
+ 170766 - 131105: 0x9D6D,
+ 170965 - 131105: 0x915A,
+ 171123 - 131105: 0x8C42,
+ 171181 - 131105: 0x9CC0,
+ 171326 - 131105: 0x916A,
+ 171354 - 131105: 0x9D6E,
+ 171388 - 131105: 0x9EA6,
+ 171416 - 131105: 0x9DCD,
+ 171419 - 131105: 0x9D6F,
+ 171510 - 131105: 0x89BB,
+ 171526 - 131105: 0x9EF9,
+ 171565 - 131105: 0x96B4,
+ 171624 - 131105: 0x9172,
+ 171692 - 131105: 0x9EC8,
+ 171696 - 131105: 0x8771,
+ 171715 - 131105: 0x8B55,
+ 171768 - 131105: 0x9D71,
+ 171811 - 131105: 0x9D72,
+ 171824 - 131105: 0x9ECC,
+ 171959 - 131105: 0x9174,
+ 171998 - 131105: 0x9ED0,
+ 172052 - 131105: 0x905C,
+ 172167 - 131105: 0x8ED2,
+ 172217 - 131105: 0x91A8,
+ 172257 - 131105: 0x9177,
+ 172269 - 131105: 0x96BF,
+ 172275 - 131105: 0x96C0,
+ 172280 - 131105: 0x8FB1,
+ 172286 - 131105: 0x96B7,
+ 172295 - 131105: 0x8C55,
+ 172323 - 131105: 0x9178,
+ 172339 - 131105: 0x89BE,
+ 172340 - 131105: 0x917C,
+ 172368 - 131105: 0xFB77,
+ 172434 - 131105: 0x9175,
+ 172435 - 131105: 0x91A3,
+ 172459 - 131105: 0x9176,
+ 172468 - 131105: 0x96BE,
+ 172469 - 131105: 0x8D49,
+ 172511 - 131105: 0x9179,
+ 172533 - 131105: 0x96B6,
+ 172576 - 131105: 0x91A4,
+ 172595 - 131105: 0x91A6,
+ 172691 - 131105: 0x9D75,
+ 172703 - 131105: 0x9052,
+ 172722 - 131105: 0xA045,
+ 172724 - 131105: 0x91A9,
+ 172726 - 131105: 0x98AA,
+ 172730 - 131105: 0x8C5F,
+ 172733 - 131105: 0x8BAA,
+ 172767 - 131105: 0x9CDD,
+ 172799 - 131105: 0x9D77,
+ 172881 - 131105: 0x8756,
+ 172969 - 131105: 0x8940,
+ 173108 - 131105: 0x9EEC,
+ 173147 - 131105: 0x93AA,
+ 173510 - 131105: 0x9478,
+ 173515 - 131105: 0x9D7A,
+ 173569 - 131105: 0x8AC9,
+ 173618 - 131105: 0x8B4B,
+ 173642 - 131105: 0x9FEC,
+ 173659 - 131105: 0x8AE2,
+ 173737 - 131105: 0x9E75,
+}
+
+const encode1Low, encode1High = 11904, 40908
+
+var encode1 = [...]uint16{
+ 11904 - 11904: 0xC8D6,
+ 11908 - 11904: 0xC8D7,
+ 11910 - 11904: 0xC8D8,
+ 11911 - 11904: 0xC8D9,
+ 11912 - 11904: 0xC8DA,
+ 11914 - 11904: 0xC8DB,
+ 11916 - 11904: 0xC8DC,
+ 11917 - 11904: 0xC8DD,
+ 11925 - 11904: 0xC8DE,
+ 11932 - 11904: 0xC8DF,
+ 11933 - 11904: 0xC8E0,
+ 11941 - 11904: 0xC8E1,
+ 11943 - 11904: 0xC8E2,
+ 11946 - 11904: 0xC8E3,
+ 11948 - 11904: 0xC8E4,
+ 11950 - 11904: 0xC8E5,
+ 11958 - 11904: 0xC8E6,
+ 11964 - 11904: 0xC8E7,
+ 11966 - 11904: 0xC8E8,
+ 11974 - 11904: 0xC8E9,
+ 11978 - 11904: 0xC8EA,
+ 11980 - 11904: 0xC8EB,
+ 11981 - 11904: 0xC8EC,
+ 11983 - 11904: 0xC8ED,
+ 11990 - 11904: 0xC8EE,
+ 11991 - 11904: 0xC8EF,
+ 11998 - 11904: 0xC8F0,
+ 12003 - 11904: 0xC8F1,
+ 12083 - 11904: 0xC6CD,
+ 12288 - 11904: 0xA140,
+ 12289 - 11904: 0xA142,
+ 12290 - 11904: 0xA143,
+ 12291 - 11904: 0xC6DE,
+ 12293 - 11904: 0xC6E0,
+ 12294 - 11904: 0xC6E1,
+ 12295 - 11904: 0xC6E2,
+ 12296 - 11904: 0xA171,
+ 12297 - 11904: 0xA172,
+ 12298 - 11904: 0xA16D,
+ 12299 - 11904: 0xA16E,
+ 12300 - 11904: 0xA175,
+ 12301 - 11904: 0xA176,
+ 12302 - 11904: 0xA179,
+ 12303 - 11904: 0xA17A,
+ 12304 - 11904: 0xA169,
+ 12305 - 11904: 0xA16A,
+ 12306 - 11904: 0xA245,
+ 12308 - 11904: 0xA165,
+ 12309 - 11904: 0xA166,
+ 12317 - 11904: 0xA1A9,
+ 12318 - 11904: 0xA1AA,
+ 12321 - 11904: 0xA2C3,
+ 12322 - 11904: 0xA2C4,
+ 12323 - 11904: 0xA2C5,
+ 12324 - 11904: 0xA2C6,
+ 12325 - 11904: 0xA2C7,
+ 12326 - 11904: 0xA2C8,
+ 12327 - 11904: 0xA2C9,
+ 12328 - 11904: 0xA2CA,
+ 12329 - 11904: 0xA2CB,
+ 12353 - 11904: 0xC6E7,
+ 12354 - 11904: 0xC6E8,
+ 12355 - 11904: 0xC6E9,
+ 12356 - 11904: 0xC6EA,
+ 12357 - 11904: 0xC6EB,
+ 12358 - 11904: 0xC6EC,
+ 12359 - 11904: 0xC6ED,
+ 12360 - 11904: 0xC6EE,
+ 12361 - 11904: 0xC6EF,
+ 12362 - 11904: 0xC6F0,
+ 12363 - 11904: 0xC6F1,
+ 12364 - 11904: 0xC6F2,
+ 12365 - 11904: 0xC6F3,
+ 12366 - 11904: 0xC6F4,
+ 12367 - 11904: 0xC6F5,
+ 12368 - 11904: 0xC6F6,
+ 12369 - 11904: 0xC6F7,
+ 12370 - 11904: 0xC6F8,
+ 12371 - 11904: 0xC6F9,
+ 12372 - 11904: 0xC6FA,
+ 12373 - 11904: 0xC6FB,
+ 12374 - 11904: 0xC6FC,
+ 12375 - 11904: 0xC6FD,
+ 12376 - 11904: 0xC6FE,
+ 12377 - 11904: 0xC740,
+ 12378 - 11904: 0xC741,
+ 12379 - 11904: 0xC742,
+ 12380 - 11904: 0xC743,
+ 12381 - 11904: 0xC744,
+ 12382 - 11904: 0xC745,
+ 12383 - 11904: 0xC746,
+ 12384 - 11904: 0xC747,
+ 12385 - 11904: 0xC748,
+ 12386 - 11904: 0xC749,
+ 12387 - 11904: 0xC74A,
+ 12388 - 11904: 0xC74B,
+ 12389 - 11904: 0xC74C,
+ 12390 - 11904: 0xC74D,
+ 12391 - 11904: 0xC74E,
+ 12392 - 11904: 0xC74F,
+ 12393 - 11904: 0xC750,
+ 12394 - 11904: 0xC751,
+ 12395 - 11904: 0xC752,
+ 12396 - 11904: 0xC753,
+ 12397 - 11904: 0xC754,
+ 12398 - 11904: 0xC755,
+ 12399 - 11904: 0xC756,
+ 12400 - 11904: 0xC757,
+ 12401 - 11904: 0xC758,
+ 12402 - 11904: 0xC759,
+ 12403 - 11904: 0xC75A,
+ 12404 - 11904: 0xC75B,
+ 12405 - 11904: 0xC75C,
+ 12406 - 11904: 0xC75D,
+ 12407 - 11904: 0xC75E,
+ 12408 - 11904: 0xC75F,
+ 12409 - 11904: 0xC760,
+ 12410 - 11904: 0xC761,
+ 12411 - 11904: 0xC762,
+ 12412 - 11904: 0xC763,
+ 12413 - 11904: 0xC764,
+ 12414 - 11904: 0xC765,
+ 12415 - 11904: 0xC766,
+ 12416 - 11904: 0xC767,
+ 12417 - 11904: 0xC768,
+ 12418 - 11904: 0xC769,
+ 12419 - 11904: 0xC76A,
+ 12420 - 11904: 0xC76B,
+ 12421 - 11904: 0xC76C,
+ 12422 - 11904: 0xC76D,
+ 12423 - 11904: 0xC76E,
+ 12424 - 11904: 0xC76F,
+ 12425 - 11904: 0xC770,
+ 12426 - 11904: 0xC771,
+ 12427 - 11904: 0xC772,
+ 12428 - 11904: 0xC773,
+ 12429 - 11904: 0xC774,
+ 12430 - 11904: 0xC775,
+ 12431 - 11904: 0xC776,
+ 12432 - 11904: 0xC777,
+ 12433 - 11904: 0xC778,
+ 12434 - 11904: 0xC779,
+ 12435 - 11904: 0xC77A,
+ 12443 - 11904: 0xC8D4,
+ 12444 - 11904: 0xC8D5,
+ 12445 - 11904: 0xC6DC,
+ 12446 - 11904: 0xC6DD,
+ 12449 - 11904: 0xC77B,
+ 12450 - 11904: 0xC77C,
+ 12451 - 11904: 0xC77D,
+ 12452 - 11904: 0xC77E,
+ 12453 - 11904: 0xC7A1,
+ 12454 - 11904: 0xC7A2,
+ 12455 - 11904: 0xC7A3,
+ 12456 - 11904: 0xC7A4,
+ 12457 - 11904: 0xC7A5,
+ 12458 - 11904: 0xC7A6,
+ 12459 - 11904: 0xC7A7,
+ 12460 - 11904: 0xC7A8,
+ 12461 - 11904: 0xC7A9,
+ 12462 - 11904: 0xC7AA,
+ 12463 - 11904: 0xC7AB,
+ 12464 - 11904: 0xC7AC,
+ 12465 - 11904: 0xC7AD,
+ 12466 - 11904: 0xC7AE,
+ 12467 - 11904: 0xC7AF,
+ 12468 - 11904: 0xC7B0,
+ 12469 - 11904: 0xC7B1,
+ 12470 - 11904: 0xC7B2,
+ 12471 - 11904: 0xC7B3,
+ 12472 - 11904: 0xC7B4,
+ 12473 - 11904: 0xC7B5,
+ 12474 - 11904: 0xC7B6,
+ 12475 - 11904: 0xC7B7,
+ 12476 - 11904: 0xC7B8,
+ 12477 - 11904: 0xC7B9,
+ 12478 - 11904: 0xC7BA,
+ 12479 - 11904: 0xC7BB,
+ 12480 - 11904: 0xC7BC,
+ 12481 - 11904: 0xC7BD,
+ 12482 - 11904: 0xC7BE,
+ 12483 - 11904: 0xC7BF,
+ 12484 - 11904: 0xC7C0,
+ 12485 - 11904: 0xC7C1,
+ 12486 - 11904: 0xC7C2,
+ 12487 - 11904: 0xC7C3,
+ 12488 - 11904: 0xC7C4,
+ 12489 - 11904: 0xC7C5,
+ 12490 - 11904: 0xC7C6,
+ 12491 - 11904: 0xC7C7,
+ 12492 - 11904: 0xC7C8,
+ 12493 - 11904: 0xC7C9,
+ 12494 - 11904: 0xC7CA,
+ 12495 - 11904: 0xC7CB,
+ 12496 - 11904: 0xC7CC,
+ 12497 - 11904: 0xC7CD,
+ 12498 - 11904: 0xC7CE,
+ 12499 - 11904: 0xC7CF,
+ 12500 - 11904: 0xC7D0,
+ 12501 - 11904: 0xC7D1,
+ 12502 - 11904: 0xC7D2,
+ 12503 - 11904: 0xC7D3,
+ 12504 - 11904: 0xC7D4,
+ 12505 - 11904: 0xC7D5,
+ 12506 - 11904: 0xC7D6,
+ 12507 - 11904: 0xC7D7,
+ 12508 - 11904: 0xC7D8,
+ 12509 - 11904: 0xC7D9,
+ 12510 - 11904: 0xC7DA,
+ 12511 - 11904: 0xC7DB,
+ 12512 - 11904: 0xC7DC,
+ 12513 - 11904: 0xC7DD,
+ 12514 - 11904: 0xC7DE,
+ 12515 - 11904: 0xC7DF,
+ 12516 - 11904: 0xC7E0,
+ 12517 - 11904: 0xC7E1,
+ 12518 - 11904: 0xC7E2,
+ 12519 - 11904: 0xC7E3,
+ 12520 - 11904: 0xC7E4,
+ 12521 - 11904: 0xC7E5,
+ 12522 - 11904: 0xC7E6,
+ 12523 - 11904: 0xC7E7,
+ 12524 - 11904: 0xC7E8,
+ 12525 - 11904: 0xC7E9,
+ 12526 - 11904: 0xC7EA,
+ 12527 - 11904: 0xC7EB,
+ 12528 - 11904: 0xC7EC,
+ 12529 - 11904: 0xC7ED,
+ 12530 - 11904: 0xC7EE,
+ 12531 - 11904: 0xC7EF,
+ 12532 - 11904: 0xC7F0,
+ 12533 - 11904: 0xC7F1,
+ 12534 - 11904: 0xC7F2,
+ 12540 - 11904: 0xC6E3,
+ 12541 - 11904: 0xC6DA,
+ 12542 - 11904: 0xC6DB,
+ 12549 - 11904: 0xA374,
+ 12550 - 11904: 0xA375,
+ 12551 - 11904: 0xA376,
+ 12552 - 11904: 0xA377,
+ 12553 - 11904: 0xA378,
+ 12554 - 11904: 0xA379,
+ 12555 - 11904: 0xA37A,
+ 12556 - 11904: 0xA37B,
+ 12557 - 11904: 0xA37C,
+ 12558 - 11904: 0xA37D,
+ 12559 - 11904: 0xA37E,
+ 12560 - 11904: 0xA3A1,
+ 12561 - 11904: 0xA3A2,
+ 12562 - 11904: 0xA3A3,
+ 12563 - 11904: 0xA3A4,
+ 12564 - 11904: 0xA3A5,
+ 12565 - 11904: 0xA3A6,
+ 12566 - 11904: 0xA3A7,
+ 12567 - 11904: 0xA3A8,
+ 12568 - 11904: 0xA3A9,
+ 12569 - 11904: 0xA3AA,
+ 12570 - 11904: 0xA3AB,
+ 12571 - 11904: 0xA3AC,
+ 12572 - 11904: 0xA3AD,
+ 12573 - 11904: 0xA3AE,
+ 12574 - 11904: 0xA3AF,
+ 12575 - 11904: 0xA3B0,
+ 12576 - 11904: 0xA3B1,
+ 12577 - 11904: 0xA3B2,
+ 12578 - 11904: 0xA3B3,
+ 12579 - 11904: 0xA3B4,
+ 12580 - 11904: 0xA3B5,
+ 12581 - 11904: 0xA3B6,
+ 12582 - 11904: 0xA3B7,
+ 12583 - 11904: 0xA3B8,
+ 12584 - 11904: 0xA3B9,
+ 12585 - 11904: 0xA3BA,
+ 12736 - 11904: 0x8840,
+ 12737 - 11904: 0x8841,
+ 12738 - 11904: 0x8842,
+ 12739 - 11904: 0x8843,
+ 12740 - 11904: 0x8844,
+ 12741 - 11904: 0x8846,
+ 12742 - 11904: 0x8849,
+ 12743 - 11904: 0x884A,
+ 12744 - 11904: 0x884D,
+ 12745 - 11904: 0x884F,
+ 12746 - 11904: 0x8850,
+ 12747 - 11904: 0x8851,
+ 12748 - 11904: 0x8852,
+ 12749 - 11904: 0x8854,
+ 12750 - 11904: 0x8855,
+ 12751 - 11904: 0xC879,
+ 12849 - 11904: 0xC8D1,
+ 12963 - 11904: 0xA1C0,
+ 13198 - 11904: 0xA255,
+ 13199 - 11904: 0xA256,
+ 13212 - 11904: 0xA250,
+ 13213 - 11904: 0xA251,
+ 13214 - 11904: 0xA252,
+ 13217 - 11904: 0xA254,
+ 13252 - 11904: 0xA257,
+ 13262 - 11904: 0xA253,
+ 13265 - 11904: 0xA1EB,
+ 13266 - 11904: 0xA1EA,
+ 13269 - 11904: 0xA24F,
+ 13365 - 11904: 0x9277,
+ 13376 - 11904: 0x96DF,
+ 13386 - 11904: 0x8CF4,
+ 13388 - 11904: 0x89D5,
+ 13412 - 11904: 0x93CD,
+ 13427 - 11904: 0x9BDF,
+ 13434 - 11904: 0xFA68,
+ 13437 - 11904: 0x89DA,
+ 13438 - 11904: 0x8F59,
+ 13459 - 11904: 0x89DB,
+ 13462 - 11904: 0x8F5D,
+ 13477 - 11904: 0x89DC,
+ 13487 - 11904: 0x96F7,
+ 13500 - 11904: 0x8ADA,
+ 13505 - 11904: 0x8BDC,
+ 13512 - 11904: 0x97DB,
+ 13535 - 11904: 0x9E53,
+ 13540 - 11904: 0x9DAA,
+ 13542 - 11904: 0x87BE,
+ 13563 - 11904: 0x9BEA,
+ 13574 - 11904: 0x8A6E,
+ 13630 - 11904: 0x8BC8,
+ 13649 - 11904: 0x89E8,
+ 13651 - 11904: 0x89EA,
+ 13657 - 11904: 0x8C4B,
+ 13665 - 11904: 0xFB70,
+ 13677 - 11904: 0x89ED,
+ 13680 - 11904: 0x94DD,
+ 13682 - 11904: 0x89EE,
+ 13687 - 11904: 0x9EB4,
+ 13688 - 11904: 0x8AD3,
+ 13700 - 11904: 0x92DB,
+ 13719 - 11904: 0x94DB,
+ 13720 - 11904: 0x89F9,
+ 13729 - 11904: 0xFB7A,
+ 13733 - 11904: 0x89FB,
+ 13741 - 11904: 0x9EFC,
+ 13759 - 11904: 0x89FC,
+ 13761 - 11904: 0x89BF,
+ 13765 - 11904: 0x89FE,
+ 13767 - 11904: 0x89E6,
+ 13770 - 11904: 0x9D46,
+ 13774 - 11904: 0x9DEE,
+ 13778 - 11904: 0xA07E,
+ 13782 - 11904: 0xA068,
+ 13787 - 11904: 0x98E9,
+ 13789 - 11904: 0x8B68,
+ 13809 - 11904: 0x8DFD,
+ 13810 - 11904: 0x8BBE,
+ 13811 - 11904: 0x9FD9,
+ 13819 - 11904: 0x8AEB,
+ 13822 - 11904: 0x9FD7,
+ 13833 - 11904: 0x8B6A,
+ 13848 - 11904: 0x9C5C,
+ 13850 - 11904: 0x8BB1,
+ 13859 - 11904: 0xFB5E,
+ 13861 - 11904: 0x8770,
+ 13869 - 11904: 0x9DF3,
+ 13877 - 11904: 0xA0D0,
+ 13881 - 11904: 0xFC66,
+ 13886 - 11904: 0x92E9,
+ 13895 - 11904: 0x9AEC,
+ 13896 - 11904: 0x8FAB,
+ 13897 - 11904: 0xFA48,
+ 13902 - 11904: 0x8E45,
+ 13919 - 11904: 0x9C6F,
+ 13921 - 11904: 0x8D5C,
+ 13946 - 11904: 0x9EDE,
+ 13953 - 11904: 0x89EF,
+ 13978 - 11904: 0x96E9,
+ 13989 - 11904: 0x9EBB,
+ 13994 - 11904: 0x94DE,
+ 13996 - 11904: 0x9EB8,
+ 14000 - 11904: 0x97BA,
+ 14001 - 11904: 0xFB65,
+ 14005 - 11904: 0x95D6,
+ 14009 - 11904: 0x9CBB,
+ 14012 - 11904: 0x97DA,
+ 14017 - 11904: 0x8F45,
+ 14019 - 11904: 0xFB7D,
+ 14020 - 11904: 0x9158,
+ 14021 - 11904: 0xFE64,
+ 14023 - 11904: 0x9856,
+ 14024 - 11904: 0x9B4D,
+ 14035 - 11904: 0x935B,
+ 14036 - 11904: 0x95C7,
+ 14038 - 11904: 0x97E7,
+ 14045 - 11904: 0x9359,
+ 14049 - 11904: 0x91F5,
+ 14050 - 11904: 0x97B8,
+ 14053 - 11904: 0xFDA2,
+ 14054 - 11904: 0xFBB6,
+ 14069 - 11904: 0x92FA,
+ 14081 - 11904: 0x9357,
+ 14083 - 11904: 0x8BA6,
+ 14088 - 11904: 0xFBB9,
+ 14090 - 11904: 0x97B0,
+ 14093 - 11904: 0xFDC4,
+ 14108 - 11904: 0x9CA1,
+ 14114 - 11904: 0x91F2,
+ 14115 - 11904: 0x91F9,
+ 14117 - 11904: 0x8FF1,
+ 14124 - 11904: 0x9745,
+ 14125 - 11904: 0x9853,
+ 14128 - 11904: 0xFE78,
+ 14130 - 11904: 0xFBC1,
+ 14131 - 11904: 0x9251,
+ 14138 - 11904: 0x9DAD,
+ 14144 - 11904: 0xFD6C,
+ 14147 - 11904: 0xFA6B,
+ 14178 - 11904: 0x9BC2,
+ 14191 - 11904: 0x9A7B,
+ 14231 - 11904: 0x8B60,
+ 14240 - 11904: 0x934B,
+ 14265 - 11904: 0x9ABD,
+ 14270 - 11904: 0x91B7,
+ 14294 - 11904: 0x8D4B,
+ 14322 - 11904: 0x95B4,
+ 14328 - 11904: 0xFEC5,
+ 14331 - 11904: 0x9EF0,
+ 14351 - 11904: 0x8D64,
+ 14361 - 11904: 0x9269,
+ 14368 - 11904: 0x8D67,
+ 14381 - 11904: 0xFBEA,
+ 14390 - 11904: 0xFBEF,
+ 14392 - 11904: 0x8D68,
+ 14435 - 11904: 0x93EB,
+ 14453 - 11904: 0x877A,
+ 14496 - 11904: 0xFC42,
+ 14531 - 11904: 0x9166,
+ 14540 - 11904: 0xFACD,
+ 14545 - 11904: 0x93DD,
+ 14548 - 11904: 0x8D52,
+ 14586 - 11904: 0x8BCC,
+ 14600 - 11904: 0x8D6D,
+ 14612 - 11904: 0x8D6E,
+ 14631 - 11904: 0x96A8,
+ 14642 - 11904: 0xFCA6,
+ 14655 - 11904: 0x8D6F,
+ 14669 - 11904: 0x8D70,
+ 14691 - 11904: 0xFC64,
+ 14712 - 11904: 0x8CF3,
+ 14720 - 11904: 0x9060,
+ 14729 - 11904: 0x8D74,
+ 14730 - 11904: 0x97C3,
+ 14738 - 11904: 0x8AD0,
+ 14745 - 11904: 0x9274,
+ 14747 - 11904: 0x9BBE,
+ 14753 - 11904: 0x9CC8,
+ 14756 - 11904: 0x9CBA,
+ 14776 - 11904: 0x8D78,
+ 14812 - 11904: 0x9EB9,
+ 14818 - 11904: 0x955A,
+ 14821 - 11904: 0x91B4,
+ 14828 - 11904: 0x8A48,
+ 14840 - 11904: 0x8D7D,
+ 14843 - 11904: 0x8A7D,
+ 14846 - 11904: 0x8AC2,
+ 14849 - 11904: 0xFD4A,
+ 14851 - 11904: 0x8DA1,
+ 14854 - 11904: 0x8AD1,
+ 14871 - 11904: 0xFCB4,
+ 14872 - 11904: 0x8B47,
+ 14889 - 11904: 0x93A4,
+ 14890 - 11904: 0x9EDA,
+ 14900 - 11904: 0x8A51,
+ 14923 - 11904: 0x8DA6,
+ 14930 - 11904: 0x9EC5,
+ 14935 - 11904: 0xFCC4,
+ 14940 - 11904: 0xA078,
+ 14942 - 11904: 0x94B5,
+ 14950 - 11904: 0xFCC2,
+ 14951 - 11904: 0x8A6B,
+ 14999 - 11904: 0x8DAB,
+ 15019 - 11904: 0xFAE8,
+ 15037 - 11904: 0x8DAD,
+ 15070 - 11904: 0xFC49,
+ 15072 - 11904: 0x93C1,
+ 15088 - 11904: 0x906F,
+ 15090 - 11904: 0x8DB0,
+ 15093 - 11904: 0x87A2,
+ 15099 - 11904: 0x947E,
+ 15118 - 11904: 0x90FA,
+ 15129 - 11904: 0x9479,
+ 15138 - 11904: 0x8DB2,
+ 15147 - 11904: 0xFCEE,
+ 15161 - 11904: 0x997B,
+ 15170 - 11904: 0x8DB4,
+ 15192 - 11904: 0x8DB7,
+ 15200 - 11904: 0x91B3,
+ 15217 - 11904: 0x8DBB,
+ 15218 - 11904: 0x8DBA,
+ 15227 - 11904: 0x8DBC,
+ 15228 - 11904: 0x9044,
+ 15232 - 11904: 0xFD4C,
+ 15253 - 11904: 0x874B,
+ 15254 - 11904: 0x93E4,
+ 15257 - 11904: 0x93E0,
+ 15265 - 11904: 0xFD53,
+ 15292 - 11904: 0x8DC3,
+ 15294 - 11904: 0x9BB8,
+ 15298 - 11904: 0xFBF0,
+ 15300 - 11904: 0x93E9,
+ 15319 - 11904: 0x93F6,
+ 15325 - 11904: 0x8DC5,
+ 15340 - 11904: 0x8DCA,
+ 15346 - 11904: 0x8DCC,
+ 15347 - 11904: 0xFD5D,
+ 15348 - 11904: 0x93B5,
+ 15373 - 11904: 0xFD61,
+ 15377 - 11904: 0x9CF8,
+ 15381 - 11904: 0x9252,
+ 15384 - 11904: 0xA0E8,
+ 15444 - 11904: 0x9CA5,
+ 15499 - 11904: 0x8C56,
+ 15563 - 11904: 0x8DD6,
+ 15565 - 11904: 0x97C0,
+ 15569 - 11904: 0xA0DE,
+ 15574 - 11904: 0x97D2,
+ 15580 - 11904: 0xFAA5,
+ 15595 - 11904: 0xFDA3,
+ 15599 - 11904: 0x8DDB,
+ 15634 - 11904: 0x8CEA,
+ 15635 - 11904: 0x8EAF,
+ 15645 - 11904: 0x91B5,
+ 15666 - 11904: 0xFD49,
+ 15675 - 11904: 0xFDD1,
+ 15686 - 11904: 0x8DEB,
+ 15692 - 11904: 0x97C6,
+ 15694 - 11904: 0xFDCE,
+ 15697 - 11904: 0x90FC,
+ 15711 - 11904: 0xFC59,
+ 15714 - 11904: 0x96D6,
+ 15721 - 11904: 0x97C5,
+ 15722 - 11904: 0x8DEF,
+ 15727 - 11904: 0x97D7,
+ 15733 - 11904: 0x8DF0,
+ 15741 - 11904: 0x96A6,
+ 15749 - 11904: 0xFBBF,
+ 15752 - 11904: 0x8CDF,
+ 15754 - 11904: 0x8DF3,
+ 15759 - 11904: 0x9449,
+ 15761 - 11904: 0x8DF5,
+ 15781 - 11904: 0x9872,
+ 15789 - 11904: 0x8E6B,
+ 15796 - 11904: 0xFAFD,
+ 15807 - 11904: 0x8F50,
+ 15814 - 11904: 0x9DCC,
+ 15815 - 11904: 0xFC65,
+ 15817 - 11904: 0x8C44,
+ 15820 - 11904: 0x996E,
+ 15821 - 11904: 0x94A1,
+ 15827 - 11904: 0x8F63,
+ 15835 - 11904: 0xA0DA,
+ 15847 - 11904: 0x9253,
+ 15848 - 11904: 0xFDE9,
+ 15851 - 11904: 0x9DB5,
+ 15859 - 11904: 0x9879,
+ 15860 - 11904: 0x876A,
+ 15863 - 11904: 0x9D5D,
+ 15868 - 11904: 0x8D63,
+ 15869 - 11904: 0x9669,
+ 15878 - 11904: 0x9F70,
+ 15936 - 11904: 0xFC6A,
+ 15939 - 11904: 0x8AC7,
+ 15944 - 11904: 0x89D7,
+ 15957 - 11904: 0xFE4D,
+ 15988 - 11904: 0x9EDD,
+ 16040 - 11904: 0xFEFB,
+ 16041 - 11904: 0x98BC,
+ 16042 - 11904: 0xFACC,
+ 16045 - 11904: 0x95B0,
+ 16049 - 11904: 0x9464,
+ 16056 - 11904: 0x936F,
+ 16063 - 11904: 0x94B9,
+ 16066 - 11904: 0x95EC,
+ 16071 - 11904: 0x91EE,
+ 16074 - 11904: 0x98C3,
+ 16076 - 11904: 0x95F6,
+ 16080 - 11904: 0x8FFD,
+ 16081 - 11904: 0x98C5,
+ 16086 - 11904: 0x9766,
+ 16087 - 11904: 0xFE6E,
+ 16090 - 11904: 0x97DD,
+ 16091 - 11904: 0x8CAA,
+ 16094 - 11904: 0x92D2,
+ 16097 - 11904: 0x9761,
+ 16098 - 11904: 0x98CB,
+ 16103 - 11904: 0x95F0,
+ 16105 - 11904: 0x975D,
+ 16107 - 11904: 0x91E3,
+ 16108 - 11904: 0x877E,
+ 16112 - 11904: 0x98CC,
+ 16115 - 11904: 0x9469,
+ 16116 - 11904: 0x98CD,
+ 16122 - 11904: 0x98CE,
+ 16124 - 11904: 0x95FC,
+ 16127 - 11904: 0x94A3,
+ 16128 - 11904: 0x9662,
+ 16132 - 11904: 0xFEB6,
+ 16134 - 11904: 0x9463,
+ 16135 - 11904: 0x8D47,
+ 16142 - 11904: 0x98D0,
+ 16211 - 11904: 0x98D1,
+ 16216 - 11904: 0x9475,
+ 16217 - 11904: 0xFAE0,
+ 16227 - 11904: 0x9472,
+ 16252 - 11904: 0x98D6,
+ 16275 - 11904: 0x8AF0,
+ 16320 - 11904: 0x98D9,
+ 16328 - 11904: 0x8D5A,
+ 16343 - 11904: 0x98DB,
+ 16348 - 11904: 0x98DD,
+ 16357 - 11904: 0x98A8,
+ 16365 - 11904: 0x8A6D,
+ 16377 - 11904: 0x8AFB,
+ 16378 - 11904: 0x8AAE,
+ 16388 - 11904: 0xFBC9,
+ 16393 - 11904: 0x8C5D,
+ 16413 - 11904: 0x98E4,
+ 16441 - 11904: 0x98E6,
+ 16453 - 11904: 0x98E8,
+ 16467 - 11904: 0x8A4D,
+ 16471 - 11904: 0x9257,
+ 16482 - 11904: 0x95DF,
+ 16485 - 11904: 0xA0AC,
+ 16490 - 11904: 0x98EB,
+ 16495 - 11904: 0x98EC,
+ 16497 - 11904: 0x8CC3,
+ 16552 - 11904: 0x98F4,
+ 16564 - 11904: 0x87D9,
+ 16571 - 11904: 0x8AB8,
+ 16575 - 11904: 0x9EE7,
+ 16584 - 11904: 0x94BC,
+ 16600 - 11904: 0xFCD1,
+ 16607 - 11904: 0x9CC6,
+ 16632 - 11904: 0x8D4A,
+ 16634 - 11904: 0x9E7E,
+ 16642 - 11904: 0x8D44,
+ 16643 - 11904: 0x98FE,
+ 16644 - 11904: 0xFDE8,
+ 16649 - 11904: 0x9940,
+ 16654 - 11904: 0x94C9,
+ 16689 - 11904: 0x87C6,
+ 16690 - 11904: 0x94D3,
+ 16743 - 11904: 0x9946,
+ 16748 - 11904: 0x90C0,
+ 16750 - 11904: 0x94D1,
+ 16764 - 11904: 0x8D4E,
+ 16767 - 11904: 0x9573,
+ 16769 - 11904: 0x87CE,
+ 16784 - 11904: 0x93C2,
+ 16818 - 11904: 0x9948,
+ 16836 - 11904: 0x994B,
+ 16842 - 11904: 0x8E55,
+ 16847 - 11904: 0x994E,
+ 16859 - 11904: 0x8EFE,
+ 16877 - 11904: 0x8D5F,
+ 16879 - 11904: 0x8E59,
+ 16889 - 11904: 0x94EC,
+ 16913 - 11904: 0x94EF,
+ 16931 - 11904: 0x8C60,
+ 16960 - 11904: 0x8F74,
+ 16992 - 11904: 0x9955,
+ 17002 - 11904: 0x9544,
+ 17014 - 11904: 0x8CCB,
+ 17018 - 11904: 0x9956,
+ 17036 - 11904: 0x9959,
+ 17044 - 11904: 0x995B,
+ 17058 - 11904: 0x8CC4,
+ 17077 - 11904: 0xFA45,
+ 17081 - 11904: 0x90B7,
+ 17084 - 11904: 0x9743,
+ 17140 - 11904: 0x95CD,
+ 17147 - 11904: 0x97C9,
+ 17148 - 11904: 0xFD50,
+ 17162 - 11904: 0x87AA,
+ 17195 - 11904: 0x8EB9,
+ 17262 - 11904: 0x95C6,
+ 17303 - 11904: 0x9967,
+ 17306 - 11904: 0x8CE3,
+ 17338 - 11904: 0x8AB9,
+ 17345 - 11904: 0x8DFC,
+ 17369 - 11904: 0x8A76,
+ 17375 - 11904: 0x9D51,
+ 17389 - 11904: 0x9973,
+ 17392 - 11904: 0x8740,
+ 17394 - 11904: 0x9D4F,
+ 17409 - 11904: 0x997A,
+ 17410 - 11904: 0x9564,
+ 17427 - 11904: 0x99A1,
+ 17445 - 11904: 0x99A5,
+ 17453 - 11904: 0x99A7,
+ 17530 - 11904: 0x8EED,
+ 17551 - 11904: 0x99AD,
+ 17553 - 11904: 0xC87E,
+ 17567 - 11904: 0x946E,
+ 17568 - 11904: 0x8F70,
+ 17570 - 11904: 0xFAD0,
+ 17584 - 11904: 0x99B3,
+ 17591 - 11904: 0xA053,
+ 17597 - 11904: 0x8D5E,
+ 17600 - 11904: 0x965C,
+ 17603 - 11904: 0x8CE0,
+ 17605 - 11904: 0xFD7A,
+ 17614 - 11904: 0x97FE,
+ 17629 - 11904: 0x92BD,
+ 17630 - 11904: 0x8D5D,
+ 17631 - 11904: 0x97FD,
+ 17633 - 11904: 0x87DB,
+ 17636 - 11904: 0x8F64,
+ 17641 - 11904: 0xFCF7,
+ 17642 - 11904: 0x9562,
+ 17643 - 11904: 0x97CD,
+ 17644 - 11904: 0x9E64,
+ 17652 - 11904: 0x924C,
+ 17667 - 11904: 0x8EC9,
+ 17668 - 11904: 0x99BC,
+ 17673 - 11904: 0x9DA5,
+ 17675 - 11904: 0x8F54,
+ 17686 - 11904: 0x8F7C,
+ 17691 - 11904: 0x8D55,
+ 17693 - 11904: 0x8EA2,
+ 17703 - 11904: 0x8F7A,
+ 17710 - 11904: 0x97AE,
+ 17715 - 11904: 0x96C8,
+ 17718 - 11904: 0x8CE4,
+ 17723 - 11904: 0x99C3,
+ 17725 - 11904: 0x90D6,
+ 17727 - 11904: 0x9CBE,
+ 17731 - 11904: 0x8F76,
+ 17745 - 11904: 0x9470,
+ 17746 - 11904: 0xFB4B,
+ 17749 - 11904: 0xFDCA,
+ 17752 - 11904: 0x8CEF,
+ 17756 - 11904: 0x8EC7,
+ 17761 - 11904: 0x8D54,
+ 17762 - 11904: 0xA0F9,
+ 17770 - 11904: 0x8FA9,
+ 17773 - 11904: 0x8D51,
+ 17783 - 11904: 0x99C7,
+ 17784 - 11904: 0x8744,
+ 17797 - 11904: 0x90D7,
+ 17830 - 11904: 0x8743,
+ 17843 - 11904: 0x8747,
+ 17882 - 11904: 0x8758,
+ 17897 - 11904: 0x9EDF,
+ 17898 - 11904: 0x8D59,
+ 17923 - 11904: 0x8742,
+ 17926 - 11904: 0x99CE,
+ 17935 - 11904: 0x8FBA,
+ 17941 - 11904: 0x8FEB,
+ 17943 - 11904: 0x99CF,
+ 18011 - 11904: 0x8FC2,
+ 18042 - 11904: 0x92C9,
+ 18048 - 11904: 0x97DC,
+ 18081 - 11904: 0x875D,
+ 18094 - 11904: 0x87CC,
+ 18107 - 11904: 0x8D45,
+ 18127 - 11904: 0x95B3,
+ 18128 - 11904: 0x9C79,
+ 18165 - 11904: 0x95B2,
+ 18167 - 11904: 0x8D4C,
+ 18195 - 11904: 0x8FDB,
+ 18200 - 11904: 0x9BE3,
+ 18230 - 11904: 0x874C,
+ 18244 - 11904: 0x874D,
+ 18254 - 11904: 0x9E7A,
+ 18255 - 11904: 0x8757,
+ 18300 - 11904: 0x9BEE,
+ 18328 - 11904: 0x99DE,
+ 18342 - 11904: 0xFAFA,
+ 18389 - 11904: 0x8A52,
+ 18413 - 11904: 0x99E1,
+ 18420 - 11904: 0x8A67,
+ 18432 - 11904: 0x8BB5,
+ 18443 - 11904: 0x8AAC,
+ 18487 - 11904: 0x99E9,
+ 18525 - 11904: 0xFBCA,
+ 18545 - 11904: 0x97DE,
+ 18587 - 11904: 0x95D1,
+ 18605 - 11904: 0x99F5,
+ 18606 - 11904: 0xFC4A,
+ 18640 - 11904: 0x9BA9,
+ 18653 - 11904: 0xFBDC,
+ 18669 - 11904: 0xFE56,
+ 18675 - 11904: 0x9EA4,
+ 18682 - 11904: 0x9D49,
+ 18694 - 11904: 0x95DB,
+ 18705 - 11904: 0x89C5,
+ 18718 - 11904: 0x99F8,
+ 18725 - 11904: 0x9664,
+ 18730 - 11904: 0x9055,
+ 18733 - 11904: 0x96D4,
+ 18735 - 11904: 0x87C4,
+ 18736 - 11904: 0x87AE,
+ 18741 - 11904: 0x977C,
+ 18748 - 11904: 0x964D,
+ 18750 - 11904: 0x97E1,
+ 18757 - 11904: 0x9A48,
+ 18769 - 11904: 0x9A49,
+ 18771 - 11904: 0xFE7D,
+ 18789 - 11904: 0x90AA,
+ 18794 - 11904: 0x9A50,
+ 18802 - 11904: 0x9347,
+ 18825 - 11904: 0x8ED8,
+ 18849 - 11904: 0x90C9,
+ 18855 - 11904: 0x9A55,
+ 18911 - 11904: 0x90BC,
+ 18917 - 11904: 0x9A58,
+ 18919 - 11904: 0x8BB8,
+ 18959 - 11904: 0x90D5,
+ 18973 - 11904: 0x9641,
+ 18980 - 11904: 0x9A5A,
+ 18997 - 11904: 0x9A5C,
+ 19094 - 11904: 0x97C2,
+ 19108 - 11904: 0x875C,
+ 19124 - 11904: 0x8ABB,
+ 19128 - 11904: 0x9BAA,
+ 19153 - 11904: 0x90F5,
+ 19172 - 11904: 0x9A60,
+ 19199 - 11904: 0x9145,
+ 19216 - 11904: 0x8C58,
+ 19225 - 11904: 0x9A63,
+ 19232 - 11904: 0x8C49,
+ 19244 - 11904: 0x8BB6,
+ 19255 - 11904: 0xFCCF,
+ 19311 - 11904: 0x966B,
+ 19312 - 11904: 0x9A6E,
+ 19314 - 11904: 0x914F,
+ 19323 - 11904: 0x9746,
+ 19326 - 11904: 0xA0E6,
+ 19342 - 11904: 0x92D7,
+ 19344 - 11904: 0x9675,
+ 19347 - 11904: 0x93D4,
+ 19350 - 11904: 0x91BB,
+ 19351 - 11904: 0x9679,
+ 19357 - 11904: 0x9A70,
+ 19389 - 11904: 0x9678,
+ 19390 - 11904: 0x91CD,
+ 19392 - 11904: 0x9C4A,
+ 19460 - 11904: 0xA06F,
+ 19463 - 11904: 0xA06A,
+ 19470 - 11904: 0x915F,
+ 19506 - 11904: 0x8741,
+ 19515 - 11904: 0x9FA5,
+ 19518 - 11904: 0x89BA,
+ 19520 - 11904: 0x874F,
+ 19527 - 11904: 0x874E,
+ 19543 - 11904: 0x8755,
+ 19547 - 11904: 0x9ECD,
+ 19565 - 11904: 0x9A79,
+ 19575 - 11904: 0x8CF2,
+ 19579 - 11904: 0x8D57,
+ 19581 - 11904: 0x9DCE,
+ 19585 - 11904: 0x8CD2,
+ 19589 - 11904: 0x8759,
+ 19620 - 11904: 0x9D73,
+ 19630 - 11904: 0x96B9,
+ 19632 - 11904: 0x96BC,
+ 19639 - 11904: 0x9CD1,
+ 19661 - 11904: 0x89B7,
+ 19681 - 11904: 0x9EEE,
+ 19682 - 11904: 0x8749,
+ 19693 - 11904: 0xFB43,
+ 19719 - 11904: 0x875B,
+ 19721 - 11904: 0x9EC9,
+ 19728 - 11904: 0xFBD3,
+ 19764 - 11904: 0x91AE,
+ 19830 - 11904: 0x8D58,
+ 19831 - 11904: 0x8746,
+ 19849 - 11904: 0x8D56,
+ 19857 - 11904: 0x9D78,
+ 19868 - 11904: 0x9D7B,
+ 19968 - 11904: 0xA440,
+ 19969 - 11904: 0xA442,
+ 19971 - 11904: 0xA443,
+ 19972 - 11904: 0x9EB3,
+ 19975 - 11904: 0xC945,
+ 19976 - 11904: 0xA456,
+ 19977 - 11904: 0xA454,
+ 19978 - 11904: 0xA457,
+ 19979 - 11904: 0xA455,
+ 19980 - 11904: 0xC946,
+ 19981 - 11904: 0xA4A3,
+ 19982 - 11904: 0xC94F,
+ 19983 - 11904: 0xC94D,
+ 19984 - 11904: 0xA4A2,
+ 19985 - 11904: 0xA4A1,
+ 19988 - 11904: 0xA542,
+ 19989 - 11904: 0xA541,
+ 19990 - 11904: 0xA540,
+ 19992 - 11904: 0xA543,
+ 19993 - 11904: 0xA4FE,
+ 19994 - 11904: 0x9EB2,
+ 19996 - 11904: 0x9DD6,
+ 19998 - 11904: 0xA5E0,
+ 19999 - 11904: 0xA5E1,
+ 20001 - 11904: 0x994F,
+ 20004 - 11904: 0x89CE,
+ 20006 - 11904: 0xA8C3,
+ 20008 - 11904: 0x8BC0,
+ 20010 - 11904: 0x9FC4,
+ 20011 - 11904: 0xA458,
+ 20012 - 11904: 0x8BD4,
+ 20013 - 11904: 0xA4A4,
+ 20014 - 11904: 0xC950,
+ 20015 - 11904: 0x8C72,
+ 20016 - 11904: 0xA4A5,
+ 20017 - 11904: 0xC963,
+ 20018 - 11904: 0xA6EA,
+ 20019 - 11904: 0xCBB1,
+ 20022 - 11904: 0xC6BF,
+ 20023 - 11904: 0x8BF9,
+ 20024 - 11904: 0xA459,
+ 20025 - 11904: 0xA4A6,
+ 20027 - 11904: 0xA544,
+ 20028 - 11904: 0xC964,
+ 20029 - 11904: 0x8946,
+ 20031 - 11904: 0xC6C0,
+ 20034 - 11904: 0xC940,
+ 20035 - 11904: 0xA444,
+ 20037 - 11904: 0xA45B,
+ 20039 - 11904: 0xC947,
+ 20040 - 11904: 0xA45C,
+ 20041 - 11904: 0xFAE5,
+ 20043 - 11904: 0xA4A7,
+ 20045 - 11904: 0xA545,
+ 20046 - 11904: 0xA547,
+ 20047 - 11904: 0xA546,
+ 20050 - 11904: 0xA5E2,
+ 20051 - 11904: 0xA5E3,
+ 20054 - 11904: 0xA8C4,
+ 20056 - 11904: 0xADBC,
+ 20057 - 11904: 0xA441,
+ 20058 - 11904: 0xC87B,
+ 20059 - 11904: 0x8BC6,
+ 20060 - 11904: 0xC941,
+ 20061 - 11904: 0xA445,
+ 20062 - 11904: 0xA45E,
+ 20063 - 11904: 0xA45D,
+ 20073 - 11904: 0xA5E4,
+ 20074 - 11904: 0x9C57,
+ 20083 - 11904: 0xA8C5,
+ 20088 - 11904: 0x9AFB,
+ 20094 - 11904: 0xB0AE,
+ 20095 - 11904: 0xD44B,
+ 20096 - 11904: 0x89D0,
+ 20097 - 11904: 0x89CF,
+ 20098 - 11904: 0xB6C3,
+ 20099 - 11904: 0xDCB1,
+ 20100 - 11904: 0xDCB2,
+ 20101 - 11904: 0xC6C1,
+ 20102 - 11904: 0xA446,
+ 20103 - 11904: 0x89D1,
+ 20104 - 11904: 0xA4A9,
+ 20105 - 11904: 0x89E2,
+ 20107 - 11904: 0xA8C6,
+ 20108 - 11904: 0xA447,
+ 20109 - 11904: 0xC948,
+ 20110 - 11904: 0xA45F,
+ 20113 - 11904: 0xA4AA,
+ 20114 - 11904: 0xA4AC,
+ 20115 - 11904: 0xC951,
+ 20116 - 11904: 0xA4AD,
+ 20117 - 11904: 0xA4AB,
+ 20120 - 11904: 0x927E,
+ 20121 - 11904: 0xA5E5,
+ 20122 - 11904: 0x9DBA,
+ 20123 - 11904: 0xA8C7,
+ 20126 - 11904: 0xA8C8,
+ 20127 - 11904: 0xAB45,
+ 20128 - 11904: 0xC6C2,
+ 20129 - 11904: 0xA460,
+ 20130 - 11904: 0xA4AE,
+ 20131 - 11904: 0x8C6F,
+ 20132 - 11904: 0xA5E6,
+ 20133 - 11904: 0xA5E8,
+ 20134 - 11904: 0xA5E7,
+ 20136 - 11904: 0xA6EB,
+ 20139 - 11904: 0xA8C9,
+ 20140 - 11904: 0xA8CA,
+ 20141 - 11904: 0xAB46,
+ 20142 - 11904: 0xAB47,
+ 20147 - 11904: 0xADBD,
+ 20150 - 11904: 0xDCB3,
+ 20151 - 11904: 0xFBF8,
+ 20153 - 11904: 0xF6D6,
+ 20154 - 11904: 0xA448,
+ 20155 - 11904: 0x8BC7,
+ 20156 - 11904: 0x926B,
+ 20159 - 11904: 0x89D2,
+ 20160 - 11904: 0xA4B0,
+ 20161 - 11904: 0xA4AF,
+ 20162 - 11904: 0xC952,
+ 20163 - 11904: 0xA4B1,
+ 20164 - 11904: 0xA4B7,
+ 20166 - 11904: 0xA4B2,
+ 20167 - 11904: 0xA4B3,
+ 20168 - 11904: 0xC954,
+ 20169 - 11904: 0xC953,
+ 20170 - 11904: 0xA4B5,
+ 20171 - 11904: 0xA4B6,
+ 20173 - 11904: 0xA4B4,
+ 20174 - 11904: 0x9FCF,
+ 20180 - 11904: 0xA54A,
+ 20181 - 11904: 0xA54B,
+ 20182 - 11904: 0xA54C,
+ 20183 - 11904: 0xA54D,
+ 20184 - 11904: 0xA549,
+ 20185 - 11904: 0xA550,
+ 20186 - 11904: 0xC96A,
+ 20188 - 11904: 0xC966,
+ 20189 - 11904: 0xC969,
+ 20190 - 11904: 0xA551,
+ 20191 - 11904: 0xA561,
+ 20193 - 11904: 0xC968,
+ 20195 - 11904: 0xA54E,
+ 20196 - 11904: 0xA54F,
+ 20197 - 11904: 0xA548,
+ 20200 - 11904: 0xC965,
+ 20201 - 11904: 0xC967,
+ 20202 - 11904: 0x9DA9,
+ 20203 - 11904: 0x89D3,
+ 20206 - 11904: 0x99E2,
+ 20208 - 11904: 0xA5F5,
+ 20209 - 11904: 0xC9B0,
+ 20210 - 11904: 0xA5F2,
+ 20211 - 11904: 0xA5F6,
+ 20212 - 11904: 0xC9BA,
+ 20213 - 11904: 0xC9AE,
+ 20214 - 11904: 0xA5F3,
+ 20215 - 11904: 0xC9B2,
+ 20216 - 11904: 0x9267,
+ 20219 - 11904: 0xA5F4,
+ 20221 - 11904: 0xA5F7,
+ 20223 - 11904: 0xA5E9,
+ 20224 - 11904: 0xC9B1,
+ 20225 - 11904: 0xA5F8,
+ 20226 - 11904: 0xC9B5,
+ 20227 - 11904: 0x92A4,
+ 20228 - 11904: 0xC9B9,
+ 20229 - 11904: 0xC9B6,
+ 20232 - 11904: 0xC9B3,
+ 20233 - 11904: 0xA5EA,
+ 20234 - 11904: 0xA5EC,
+ 20235 - 11904: 0xA5F9,
+ 20237 - 11904: 0xA5EE,
+ 20238 - 11904: 0xC9AB,
+ 20239 - 11904: 0xA5F1,
+ 20240 - 11904: 0xA5EF,
+ 20241 - 11904: 0xA5F0,
+ 20242 - 11904: 0xC9BB,
+ 20243 - 11904: 0xC9B8,
+ 20244 - 11904: 0xC9AF,
+ 20245 - 11904: 0xA5ED,
+ 20247 - 11904: 0x8C73,
+ 20248 - 11904: 0xC9AC,
+ 20249 - 11904: 0xA5EB,
+ 20250 - 11904: 0x894E,
+ 20253 - 11904: 0xC9B4,
+ 20258 - 11904: 0xC9B7,
+ 20264 - 11904: 0x894F,
+ 20265 - 11904: 0x9278,
+ 20268 - 11904: 0xC9AD,
+ 20269 - 11904: 0xCA66,
+ 20271 - 11904: 0xA742,
+ 20272 - 11904: 0xA6F4,
+ 20274 - 11904: 0x91B6,
+ 20275 - 11904: 0xCA67,
+ 20276 - 11904: 0xA6F1,
+ 20278 - 11904: 0xA744,
+ 20279 - 11904: 0x89D4,
+ 20280 - 11904: 0xA6F9,
+ 20281 - 11904: 0x9FD2,
+ 20282 - 11904: 0xA6F8,
+ 20283 - 11904: 0xCA5B,
+ 20284 - 11904: 0xA6FC,
+ 20285 - 11904: 0xA6F7,
+ 20286 - 11904: 0xCA60,
+ 20287 - 11904: 0xCA68,
+ 20289 - 11904: 0xCA64,
+ 20290 - 11904: 0x92A7,
+ 20291 - 11904: 0xA6FA,
+ 20293 - 11904: 0x95A2,
+ 20294 - 11904: 0xA6FD,
+ 20295 - 11904: 0xA6EE,
+ 20296 - 11904: 0xA747,
+ 20297 - 11904: 0xCA5D,
+ 20299 - 11904: 0x926E,
+ 20300 - 11904: 0xCBBD,
+ 20301 - 11904: 0xA6EC,
+ 20302 - 11904: 0xA743,
+ 20303 - 11904: 0xA6ED,
+ 20304 - 11904: 0xA6F5,
+ 20305 - 11904: 0xA6F6,
+ 20306 - 11904: 0xCA62,
+ 20307 - 11904: 0xCA5E,
+ 20308 - 11904: 0xA6FB,
+ 20309 - 11904: 0xA6F3,
+ 20310 - 11904: 0xCA5A,
+ 20311 - 11904: 0xA6EF,
+ 20312 - 11904: 0xCA65,
+ 20313 - 11904: 0xA745,
+ 20314 - 11904: 0xA748,
+ 20315 - 11904: 0xA6F2,
+ 20316 - 11904: 0xA740,
+ 20317 - 11904: 0xA746,
+ 20318 - 11904: 0xA6F0,
+ 20319 - 11904: 0xCA63,
+ 20320 - 11904: 0xA741,
+ 20321 - 11904: 0xCA69,
+ 20322 - 11904: 0xCA5C,
+ 20323 - 11904: 0xA6FE,
+ 20324 - 11904: 0xCA5F,
+ 20327 - 11904: 0xCA61,
+ 20329 - 11904: 0xA8D8,
+ 20330 - 11904: 0xCBBF,
+ 20331 - 11904: 0xCBCB,
+ 20332 - 11904: 0xA8D0,
+ 20334 - 11904: 0xCBCC,
+ 20335 - 11904: 0xA8CB,
+ 20336 - 11904: 0xA8D5,
+ 20338 - 11904: 0x96EA,
+ 20339 - 11904: 0xA8CE,
+ 20340 - 11904: 0xCBB9,
+ 20341 - 11904: 0xA8D6,
+ 20342 - 11904: 0xCBB8,
+ 20343 - 11904: 0xCBBC,
+ 20344 - 11904: 0xCBC3,
+ 20345 - 11904: 0xCBC1,
+ 20346 - 11904: 0xA8DE,
+ 20347 - 11904: 0xA8D9,
+ 20348 - 11904: 0xCBB3,
+ 20349 - 11904: 0xCBB5,
+ 20350 - 11904: 0xA8DB,
+ 20351 - 11904: 0xA8CF,
+ 20352 - 11904: 0xCBB6,
+ 20353 - 11904: 0xCBC2,
+ 20354 - 11904: 0xCBC9,
+ 20355 - 11904: 0xA8D4,
+ 20356 - 11904: 0xCBBB,
+ 20357 - 11904: 0xCBB4,
+ 20358 - 11904: 0xA8D3,
+ 20359 - 11904: 0xCBB7,
+ 20360 - 11904: 0xA8D7,
+ 20361 - 11904: 0xCBBA,
+ 20362 - 11904: 0x926F,
+ 20363 - 11904: 0xA8D2,
+ 20365 - 11904: 0xA8CD,
+ 20367 - 11904: 0xA8DC,
+ 20368 - 11904: 0xCBC4,
+ 20369 - 11904: 0xA8DD,
+ 20370 - 11904: 0xCBC8,
+ 20372 - 11904: 0xCBC6,
+ 20373 - 11904: 0xCBCA,
+ 20374 - 11904: 0xA8DA,
+ 20375 - 11904: 0xCBBE,
+ 20376 - 11904: 0xCBB2,
+ 20378 - 11904: 0xCBC0,
+ 20379 - 11904: 0xA8D1,
+ 20380 - 11904: 0xCBC5,
+ 20381 - 11904: 0xA8CC,
+ 20382 - 11904: 0xCBC7,
+ 20386 - 11904: 0x92A3,
+ 20392 - 11904: 0x8950,
+ 20395 - 11904: 0xFA57,
+ 20398 - 11904: 0xAB56,
+ 20399 - 11904: 0xAB4A,
+ 20400 - 11904: 0x9866,
+ 20402 - 11904: 0xCDE0,
+ 20403 - 11904: 0xCDE8,
+ 20404 - 11904: 0x8CF8,
+ 20405 - 11904: 0xAB49,
+ 20406 - 11904: 0xAB51,
+ 20407 - 11904: 0xAB5D,
+ 20409 - 11904: 0xCDEE,
+ 20410 - 11904: 0xCDEC,
+ 20411 - 11904: 0xCDE7,
+ 20413 - 11904: 0x89D6,
+ 20415 - 11904: 0xAB4B,
+ 20416 - 11904: 0xCDED,
+ 20417 - 11904: 0xCDE3,
+ 20418 - 11904: 0xAB59,
+ 20419 - 11904: 0xAB50,
+ 20420 - 11904: 0xAB58,
+ 20421 - 11904: 0xCDDE,
+ 20423 - 11904: 0xCDEA,
+ 20424 - 11904: 0x98B2,
+ 20425 - 11904: 0xCDE1,
+ 20426 - 11904: 0xAB54,
+ 20427 - 11904: 0xCDE2,
+ 20428 - 11904: 0x92AB,
+ 20429 - 11904: 0xCDDD,
+ 20430 - 11904: 0xAB5B,
+ 20431 - 11904: 0xAB4E,
+ 20432 - 11904: 0xAB57,
+ 20433 - 11904: 0xAB4D,
+ 20435 - 11904: 0xCDDF,
+ 20436 - 11904: 0xCDE4,
+ 20438 - 11904: 0xCDEB,
+ 20439 - 11904: 0xAB55,
+ 20440 - 11904: 0xAB52,
+ 20441 - 11904: 0xCDE6,
+ 20442 - 11904: 0xAB5A,
+ 20443 - 11904: 0xCDE9,
+ 20444 - 11904: 0xCDE5,
+ 20445 - 11904: 0xAB4F,
+ 20446 - 11904: 0xAB5C,
+ 20447 - 11904: 0xAB53,
+ 20448 - 11904: 0xAB4C,
+ 20449 - 11904: 0xAB48,
+ 20452 - 11904: 0x96DE,
+ 20453 - 11904: 0x92AC,
+ 20460 - 11904: 0xCDEF,
+ 20462 - 11904: 0xADD7,
+ 20463 - 11904: 0xADC1,
+ 20464 - 11904: 0x8C70,
+ 20465 - 11904: 0xADD1,
+ 20466 - 11904: 0x9F6E,
+ 20467 - 11904: 0xADD6,
+ 20468 - 11904: 0xD0D0,
+ 20469 - 11904: 0xD0CF,
+ 20470 - 11904: 0xD0D4,
+ 20471 - 11904: 0xD0D5,
+ 20472 - 11904: 0xADC4,
+ 20473 - 11904: 0x8EF2,
+ 20474 - 11904: 0xADCD,
+ 20477 - 11904: 0x9F6C,
+ 20478 - 11904: 0xADDA,
+ 20480 - 11904: 0xADCE,
+ 20483 - 11904: 0x89D8,
+ 20485 - 11904: 0xD0C9,
+ 20486 - 11904: 0xADC7,
+ 20487 - 11904: 0xD0CA,
+ 20488 - 11904: 0xFA59,
+ 20489 - 11904: 0xADDC,
+ 20491 - 11904: 0xADD3,
+ 20492 - 11904: 0xADBE,
+ 20493 - 11904: 0xADBF,
+ 20494 - 11904: 0xD0DD,
+ 20495 - 11904: 0xB0BF,
+ 20497 - 11904: 0xADCC,
+ 20498 - 11904: 0xADCB,
+ 20499 - 11904: 0xD0CB,
+ 20500 - 11904: 0xADCF,
+ 20501 - 11904: 0xD45B,
+ 20502 - 11904: 0xADC6,
+ 20503 - 11904: 0xD0D6,
+ 20504 - 11904: 0xADD5,
+ 20505 - 11904: 0xADD4,
+ 20506 - 11904: 0xADCA,
+ 20507 - 11904: 0xD0CE,
+ 20508 - 11904: 0xD0D7,
+ 20510 - 11904: 0xD0C8,
+ 20511 - 11904: 0xADC9,
+ 20512 - 11904: 0xD0D8,
+ 20513 - 11904: 0xADD2,
+ 20514 - 11904: 0xD0CC,
+ 20515 - 11904: 0xADC0,
+ 20517 - 11904: 0xADC3,
+ 20518 - 11904: 0xADC2,
+ 20519 - 11904: 0xD0D9,
+ 20520 - 11904: 0xADD0,
+ 20521 - 11904: 0xFA5F,
+ 20522 - 11904: 0xADD9,
+ 20523 - 11904: 0xADDB,
+ 20524 - 11904: 0xD0D3,
+ 20525 - 11904: 0xADD8,
+ 20526 - 11904: 0x92A8,
+ 20527 - 11904: 0xD0DB,
+ 20528 - 11904: 0xD0CD,
+ 20529 - 11904: 0xD0DC,
+ 20531 - 11904: 0xD0D1,
+ 20532 - 11904: 0x9163,
+ 20533 - 11904: 0xD0DA,
+ 20535 - 11904: 0xD0D2,
+ 20539 - 11904: 0x8C40,
+ 20540 - 11904: 0xADC8,
+ 20544 - 11904: 0xD463,
+ 20545 - 11904: 0xD457,
+ 20547 - 11904: 0xB0B3,
+ 20549 - 11904: 0xD45C,
+ 20550 - 11904: 0xD462,
+ 20551 - 11904: 0xB0B2,
+ 20552 - 11904: 0xD455,
+ 20553 - 11904: 0xB0B6,
+ 20554 - 11904: 0xD459,
+ 20555 - 11904: 0xD452,
+ 20556 - 11904: 0xB0B4,
+ 20557 - 11904: 0xD456,
+ 20558 - 11904: 0xB0B9,
+ 20559 - 11904: 0xB0BE,
+ 20561 - 11904: 0xD467,
+ 20563 - 11904: 0xD451,
+ 20565 - 11904: 0xB0BA,
+ 20566 - 11904: 0x9F73,
+ 20567 - 11904: 0xD466,
+ 20568 - 11904: 0x92AD,
+ 20570 - 11904: 0xB0B5,
+ 20571 - 11904: 0xD458,
+ 20572 - 11904: 0xB0B1,
+ 20573 - 11904: 0xD453,
+ 20574 - 11904: 0xD44F,
+ 20575 - 11904: 0xD45D,
+ 20576 - 11904: 0xD450,
+ 20577 - 11904: 0xD44E,
+ 20578 - 11904: 0xD45A,
+ 20579 - 11904: 0xD460,
+ 20580 - 11904: 0xD461,
+ 20581 - 11904: 0xB0B7,
+ 20582 - 11904: 0x9BE9,
+ 20584 - 11904: 0xD85B,
+ 20585 - 11904: 0xD45E,
+ 20586 - 11904: 0xD44D,
+ 20587 - 11904: 0xD45F,
+ 20588 - 11904: 0x92A9,
+ 20589 - 11904: 0xB0C1,
+ 20590 - 11904: 0xD464,
+ 20591 - 11904: 0xB0C0,
+ 20592 - 11904: 0xD44C,
+ 20594 - 11904: 0xD454,
+ 20595 - 11904: 0xD465,
+ 20596 - 11904: 0xB0BC,
+ 20597 - 11904: 0xB0BB,
+ 20598 - 11904: 0xB0B8,
+ 20599 - 11904: 0xB0BD,
+ 20602 - 11904: 0xB0AF,
+ 20605 - 11904: 0xFA66,
+ 20608 - 11904: 0xB3C8,
+ 20609 - 11904: 0x92AA,
+ 20610 - 11904: 0xD85E,
+ 20611 - 11904: 0xD857,
+ 20613 - 11904: 0xB3C5,
+ 20615 - 11904: 0xD85F,
+ 20616 - 11904: 0x89D9,
+ 20619 - 11904: 0xD855,
+ 20620 - 11904: 0xD858,
+ 20621 - 11904: 0xB3C4,
+ 20622 - 11904: 0xD859,
+ 20624 - 11904: 0xFD56,
+ 20625 - 11904: 0xB3C7,
+ 20626 - 11904: 0xD85D,
+ 20628 - 11904: 0xD853,
+ 20629 - 11904: 0xD852,
+ 20630 - 11904: 0xB3C9,
+ 20632 - 11904: 0xB3CA,
+ 20633 - 11904: 0xB3C6,
+ 20634 - 11904: 0xB3CB,
+ 20635 - 11904: 0xD851,
+ 20636 - 11904: 0xD85C,
+ 20637 - 11904: 0xD85A,
+ 20638 - 11904: 0xD854,
+ 20642 - 11904: 0xB3C3,
+ 20643 - 11904: 0xD856,
+ 20646 - 11904: 0x9FA8,
+ 20652 - 11904: 0xB6CA,
+ 20653 - 11904: 0xB6C4,
+ 20654 - 11904: 0xDCB7,
+ 20655 - 11904: 0xB6CD,
+ 20656 - 11904: 0xDCBD,
+ 20657 - 11904: 0xDCC0,
+ 20658 - 11904: 0xB6C6,
+ 20659 - 11904: 0xB6C7,
+ 20660 - 11904: 0xDCBA,
+ 20661 - 11904: 0xB6C5,
+ 20662 - 11904: 0xDCC3,
+ 20663 - 11904: 0xB6CB,
+ 20664 - 11904: 0xDCC4,
+ 20666 - 11904: 0xDCBF,
+ 20667 - 11904: 0xB6CC,
+ 20668 - 11904: 0x8C71,
+ 20669 - 11904: 0xDCB4,
+ 20670 - 11904: 0xB6C9,
+ 20671 - 11904: 0xDCB5,
+ 20673 - 11904: 0xDCBE,
+ 20674 - 11904: 0xDCBC,
+ 20676 - 11904: 0xDCB8,
+ 20677 - 11904: 0xB6C8,
+ 20678 - 11904: 0xDCB6,
+ 20679 - 11904: 0xB6CE,
+ 20680 - 11904: 0xDCBB,
+ 20681 - 11904: 0xDCC2,
+ 20682 - 11904: 0xDCB9,
+ 20683 - 11904: 0xDCC1,
+ 20685 - 11904: 0x92A1,
+ 20686 - 11904: 0xB9B6,
+ 20687 - 11904: 0xB9B3,
+ 20688 - 11904: 0x90E3,
+ 20689 - 11904: 0xB9B4,
+ 20691 - 11904: 0xE0F9,
+ 20692 - 11904: 0xE0F1,
+ 20693 - 11904: 0xB9B2,
+ 20694 - 11904: 0xB9AF,
+ 20695 - 11904: 0xE0F2,
+ 20697 - 11904: 0xA0A6,
+ 20698 - 11904: 0xB9B1,
+ 20699 - 11904: 0xE0F5,
+ 20701 - 11904: 0xE0F7,
+ 20703 - 11904: 0x94AB,
+ 20704 - 11904: 0xE0FE,
+ 20705 - 11904: 0xFC72,
+ 20707 - 11904: 0xE0FD,
+ 20708 - 11904: 0xE0F8,
+ 20709 - 11904: 0xB9AE,
+ 20710 - 11904: 0xE0F0,
+ 20711 - 11904: 0xB9AC,
+ 20712 - 11904: 0xE0F3,
+ 20713 - 11904: 0xB9B7,
+ 20714 - 11904: 0xE0F6,
+ 20716 - 11904: 0xE0FA,
+ 20717 - 11904: 0xB9B0,
+ 20718 - 11904: 0xB9AD,
+ 20719 - 11904: 0xE0FC,
+ 20720 - 11904: 0xE0FB,
+ 20721 - 11904: 0xB9B5,
+ 20723 - 11904: 0xE0F4,
+ 20724 - 11904: 0x97C4,
+ 20725 - 11904: 0xBBF8,
+ 20726 - 11904: 0xE4EC,
+ 20728 - 11904: 0xE4E9,
+ 20729 - 11904: 0xBBF9,
+ 20731 - 11904: 0xBBF7,
+ 20732 - 11904: 0x92AE,
+ 20733 - 11904: 0xE4F0,
+ 20734 - 11904: 0xE4ED,
+ 20735 - 11904: 0xE4E6,
+ 20736 - 11904: 0xBBF6,
+ 20737 - 11904: 0xFA67,
+ 20738 - 11904: 0xBBFA,
+ 20739 - 11904: 0xE4E7,
+ 20740 - 11904: 0xBBF5,
+ 20741 - 11904: 0xBBFD,
+ 20742 - 11904: 0xE4EA,
+ 20743 - 11904: 0xE4EB,
+ 20744 - 11904: 0xBBFB,
+ 20745 - 11904: 0xBBFC,
+ 20746 - 11904: 0xE4F1,
+ 20747 - 11904: 0xE4EE,
+ 20748 - 11904: 0xE4EF,
+ 20749 - 11904: 0x92A2,
+ 20750 - 11904: 0xFA69,
+ 20752 - 11904: 0xBEAA,
+ 20753 - 11904: 0xE8F8,
+ 20754 - 11904: 0xBEA7,
+ 20755 - 11904: 0xE8F5,
+ 20756 - 11904: 0xBEA9,
+ 20757 - 11904: 0xBEAB,
+ 20759 - 11904: 0xE8F6,
+ 20760 - 11904: 0xBEA8,
+ 20762 - 11904: 0xE8F7,
+ 20764 - 11904: 0xE8F4,
+ 20767 - 11904: 0xC076,
+ 20768 - 11904: 0xECBD,
+ 20769 - 11904: 0xC077,
+ 20770 - 11904: 0xECBB,
+ 20772 - 11904: 0xECBC,
+ 20773 - 11904: 0xECBA,
+ 20774 - 11904: 0xECB9,
+ 20777 - 11904: 0xECBE,
+ 20778 - 11904: 0xC075,
+ 20779 - 11904: 0x9268,
+ 20781 - 11904: 0xEFB8,
+ 20782 - 11904: 0xEFB9,
+ 20784 - 11904: 0xE4E8,
+ 20785 - 11904: 0xEFB7,
+ 20786 - 11904: 0xC078,
+ 20787 - 11904: 0xC35F,
+ 20788 - 11904: 0xF1EB,
+ 20789 - 11904: 0xF1EC,
+ 20791 - 11904: 0xC4D7,
+ 20792 - 11904: 0xC4D8,
+ 20793 - 11904: 0xF5C1,
+ 20794 - 11904: 0xF5C0,
+ 20795 - 11904: 0xC56C,
+ 20796 - 11904: 0xC56B,
+ 20797 - 11904: 0xF7D0,
+ 20799 - 11904: 0xA449,
+ 20800 - 11904: 0xA461,
+ 20801 - 11904: 0xA4B9,
+ 20803 - 11904: 0xA4B8,
+ 20804 - 11904: 0xA553,
+ 20805 - 11904: 0xA552,
+ 20806 - 11904: 0xA5FC,
+ 20807 - 11904: 0xA5FB,
+ 20808 - 11904: 0xA5FD,
+ 20809 - 11904: 0xA5FA,
+ 20811 - 11904: 0xA74A,
+ 20812 - 11904: 0xA749,
+ 20813 - 11904: 0xA74B,
+ 20818 - 11904: 0xA8E0,
+ 20820 - 11904: 0xA8DF,
+ 20821 - 11904: 0xA8E1,
+ 20822 - 11904: 0x8951,
+ 20823 - 11904: 0xAB5E,
+ 20825 - 11904: 0xA259,
+ 20826 - 11904: 0xD0DE,
+ 20827 - 11904: 0xA25A,
+ 20828 - 11904: 0xB0C2,
+ 20829 - 11904: 0xA25C,
+ 20830 - 11904: 0xA25B,
+ 20831 - 11904: 0xD860,
+ 20832 - 11904: 0xFA6F,
+ 20833 - 11904: 0xA25D,
+ 20834 - 11904: 0xB9B8,
+ 20835 - 11904: 0xA25E,
+ 20837 - 11904: 0xA44A,
+ 20839 - 11904: 0xA4BA,
+ 20840 - 11904: 0xA5FE,
+ 20841 - 11904: 0xA8E2,
+ 20842 - 11904: 0xFA71,
+ 20843 - 11904: 0xA44B,
+ 20844 - 11904: 0xA4BD,
+ 20845 - 11904: 0xA4BB,
+ 20846 - 11904: 0xA4BC,
+ 20849 - 11904: 0xA640,
+ 20852 - 11904: 0x8952,
+ 20853 - 11904: 0xA74C,
+ 20854 - 11904: 0xA8E4,
+ 20855 - 11904: 0xA8E3,
+ 20856 - 11904: 0xA8E5,
+ 20857 - 11904: 0x945A,
+ 20860 - 11904: 0xADDD,
+ 20864 - 11904: 0xBEAC,
+ 20866 - 11904: 0xC6C3,
+ 20870 - 11904: 0x89DD,
+ 20871 - 11904: 0xC94E,
+ 20872 - 11904: 0xC8A2,
+ 20873 - 11904: 0xA554,
+ 20874 - 11904: 0xA555,
+ 20877 - 11904: 0xA641,
+ 20879 - 11904: 0xCA6A,
+ 20881 - 11904: 0xAB60,
+ 20882 - 11904: 0xAB5F,
+ 20883 - 11904: 0xD0E0,
+ 20884 - 11904: 0xD0DF,
+ 20885 - 11904: 0xB0C3,
+ 20886 - 11904: 0xC6C4,
+ 20887 - 11904: 0xA4BE,
+ 20888 - 11904: 0xC955,
+ 20890 - 11904: 0x9E52,
+ 20892 - 11904: 0x8953,
+ 20894 - 11904: 0xCBCD,
+ 20896 - 11904: 0xAB61,
+ 20898 - 11904: 0xADE0,
+ 20900 - 11904: 0xADDE,
+ 20901 - 11904: 0xADDF,
+ 20903 - 11904: 0x9E55,
+ 20904 - 11904: 0x92BA,
+ 20906 - 11904: 0xBEAD,
+ 20907 - 11904: 0xC6C5,
+ 20908 - 11904: 0xA556,
+ 20910 - 11904: 0x8C5B,
+ 20912 - 11904: 0xA642,
+ 20913 - 11904: 0xC9BC,
+ 20914 - 11904: 0xFA7D,
+ 20915 - 11904: 0xFAA8,
+ 20916 - 11904: 0x9A68,
+ 20917 - 11904: 0xFA47,
+ 20918 - 11904: 0xA74D,
+ 20919 - 11904: 0xA74E,
+ 20920 - 11904: 0xFA7E,
+ 20921 - 11904: 0xCA6B,
+ 20924 - 11904: 0xCBCE,
+ 20925 - 11904: 0xA8E6,
+ 20926 - 11904: 0xCBCF,
+ 20931 - 11904: 0x92BB,
+ 20932 - 11904: 0xD0E2,
+ 20933 - 11904: 0xD0E3,
+ 20934 - 11904: 0xADE3,
+ 20935 - 11904: 0xFDB6,
+ 20936 - 11904: 0xD0E4,
+ 20937 - 11904: 0xFAA2,
+ 20938 - 11904: 0xD0E1,
+ 20939 - 11904: 0xADE4,
+ 20940 - 11904: 0xADE2,
+ 20941 - 11904: 0xADE1,
+ 20942 - 11904: 0xD0E5,
+ 20943 - 11904: 0xFAA3,
+ 20944 - 11904: 0xD468,
+ 20945 - 11904: 0xFAA4,
+ 20946 - 11904: 0x9BB4,
+ 20947 - 11904: 0xFAA6,
+ 20948 - 11904: 0xD861,
+ 20951 - 11904: 0xDCC5,
+ 20952 - 11904: 0xE140,
+ 20955 - 11904: 0x89DF,
+ 20956 - 11904: 0xBBFE,
+ 20957 - 11904: 0xBEAE,
+ 20958 - 11904: 0xE8F9,
+ 20959 - 11904: 0xFDDB,
+ 20960 - 11904: 0xA44C,
+ 20961 - 11904: 0xA45A,
+ 20962 - 11904: 0xFAA9,
+ 20964 - 11904: 0x8954,
+ 20973 - 11904: 0xFAAB,
+ 20976 - 11904: 0xB0C4,
+ 20977 - 11904: 0xB3CD,
+ 20979 - 11904: 0xB9B9,
+ 20980 - 11904: 0xFC7A,
+ 20981 - 11904: 0xC942,
+ 20982 - 11904: 0xA4BF,
+ 20984 - 11904: 0xA559,
+ 20985 - 11904: 0xA557,
+ 20986 - 11904: 0xA558,
+ 20988 - 11904: 0x89E0,
+ 20989 - 11904: 0xA8E7,
+ 20990 - 11904: 0x9F4F,
+ 20992 - 11904: 0xA44D,
+ 20993 - 11904: 0xA44E,
+ 20994 - 11904: 0xC87D,
+ 20995 - 11904: 0xA462,
+ 20997 - 11904: 0x89E1,
+ 20998 - 11904: 0xA4C0,
+ 20999 - 11904: 0xA4C1,
+ 21000 - 11904: 0xA4C2,
+ 21001 - 11904: 0xC9BE,
+ 21002 - 11904: 0xA55A,
+ 21003 - 11904: 0xFAB0,
+ 21004 - 11904: 0xC96B,
+ 21006 - 11904: 0xA646,
+ 21008 - 11904: 0xC9BF,
+ 21009 - 11904: 0xA644,
+ 21010 - 11904: 0xA645,
+ 21011 - 11904: 0xC9BD,
+ 21014 - 11904: 0xA647,
+ 21015 - 11904: 0xA643,
+ 21020 - 11904: 0xCA6C,
+ 21021 - 11904: 0xAAEC,
+ 21022 - 11904: 0xCA6D,
+ 21023 - 11904: 0x9FCD,
+ 21024 - 11904: 0xA0E7,
+ 21025 - 11904: 0xCA6E,
+ 21028 - 11904: 0xA750,
+ 21029 - 11904: 0xA74F,
+ 21030 - 11904: 0xFAB1,
+ 21031 - 11904: 0x89A6,
+ 21032 - 11904: 0xA753,
+ 21033 - 11904: 0xA751,
+ 21034 - 11904: 0xA752,
+ 21038 - 11904: 0xA8ED,
+ 21040 - 11904: 0xA8EC,
+ 21041 - 11904: 0xCBD4,
+ 21042 - 11904: 0xCBD1,
+ 21043 - 11904: 0xCBD2,
+ 21044 - 11904: 0x9EFA,
+ 21045 - 11904: 0xCBD0,
+ 21046 - 11904: 0xA8EE,
+ 21047 - 11904: 0xA8EA,
+ 21048 - 11904: 0xA8E9,
+ 21050 - 11904: 0xA8EB,
+ 21051 - 11904: 0xA8E8,
+ 21052 - 11904: 0xFAB2,
+ 21057 - 11904: 0xA8EF,
+ 21059 - 11904: 0xAB63,
+ 21060 - 11904: 0xCDF0,
+ 21062 - 11904: 0xCBD3,
+ 21063 - 11904: 0xAB68,
+ 21065 - 11904: 0xCDF1,
+ 21066 - 11904: 0xAB64,
+ 21067 - 11904: 0xAB67,
+ 21068 - 11904: 0xAB66,
+ 21069 - 11904: 0xAB65,
+ 21070 - 11904: 0xAB62,
+ 21071 - 11904: 0x87BC,
+ 21074 - 11904: 0xD0E8,
+ 21076 - 11904: 0xADE7,
+ 21077 - 11904: 0xD0EB,
+ 21078 - 11904: 0xADE5,
+ 21079 - 11904: 0xFAB4,
+ 21081 - 11904: 0x92C4,
+ 21082 - 11904: 0xD0E7,
+ 21083 - 11904: 0xADE8,
+ 21084 - 11904: 0xADE6,
+ 21085 - 11904: 0xADE9,
+ 21086 - 11904: 0xD0E9,
+ 21087 - 11904: 0xD0EA,
+ 21088 - 11904: 0x9F6F,
+ 21089 - 11904: 0xD0E6,
+ 21090 - 11904: 0xD0EC,
+ 21096 - 11904: 0x8BB0,
+ 21097 - 11904: 0xB3D1,
+ 21098 - 11904: 0xB0C5,
+ 21099 - 11904: 0xD469,
+ 21100 - 11904: 0xD46B,
+ 21101 - 11904: 0xD46A,
+ 21102 - 11904: 0xD46C,
+ 21103 - 11904: 0xB0C6,
+ 21106 - 11904: 0xB3CE,
+ 21107 - 11904: 0x9FAC,
+ 21108 - 11904: 0xB3CF,
+ 21109 - 11904: 0xB3D0,
+ 21111 - 11904: 0xB6D0,
+ 21112 - 11904: 0xDCC7,
+ 21113 - 11904: 0x89E3,
+ 21114 - 11904: 0xDCC6,
+ 21115 - 11904: 0xDCC8,
+ 21116 - 11904: 0xDCC9,
+ 21117 - 11904: 0xB6D1,
+ 21119 - 11904: 0xB6CF,
+ 21120 - 11904: 0xE141,
+ 21121 - 11904: 0xE142,
+ 21122 - 11904: 0xB9BB,
+ 21123 - 11904: 0xB9BA,
+ 21124 - 11904: 0xE35A,
+ 21127 - 11904: 0xBC40,
+ 21128 - 11904: 0xBC41,
+ 21129 - 11904: 0xBC42,
+ 21130 - 11904: 0xBC44,
+ 21131 - 11904: 0xE4F2,
+ 21132 - 11904: 0xE4F3,
+ 21133 - 11904: 0xBC43,
+ 21135 - 11904: 0x9BD3,
+ 21136 - 11904: 0x89E4,
+ 21137 - 11904: 0xBEAF,
+ 21139 - 11904: 0xBEB0,
+ 21140 - 11904: 0xFAB5,
+ 21142 - 11904: 0xF1ED,
+ 21143 - 11904: 0xF5C3,
+ 21144 - 11904: 0xF5C2,
+ 21145 - 11904: 0xF7D1,
+ 21146 - 11904: 0x9FD5,
+ 21147 - 11904: 0xA44F,
+ 21151 - 11904: 0xA55C,
+ 21152 - 11904: 0xA55B,
+ 21153 - 11904: 0x8955,
+ 21155 - 11904: 0xA648,
+ 21156 - 11904: 0x92C5,
+ 21158 - 11904: 0xC9C0,
+ 21160 - 11904: 0x8956,
+ 21161 - 11904: 0xA755,
+ 21162 - 11904: 0xA756,
+ 21163 - 11904: 0xA754,
+ 21164 - 11904: 0xA757,
+ 21165 - 11904: 0xCA6F,
+ 21166 - 11904: 0xCA70,
+ 21173 - 11904: 0xFAB3,
+ 21177 - 11904: 0xFAB6,
+ 21179 - 11904: 0xA8F1,
+ 21180 - 11904: 0xCBD5,
+ 21182 - 11904: 0xA8F0,
+ 21184 - 11904: 0xCDF2,
+ 21185 - 11904: 0xAB6C,
+ 21186 - 11904: 0xCDF3,
+ 21187 - 11904: 0xAB6B,
+ 21189 - 11904: 0xFAB7,
+ 21191 - 11904: 0xAB69,
+ 21193 - 11904: 0xAB6A,
+ 21196 - 11904: 0x9EDC,
+ 21197 - 11904: 0xD0ED,
+ 21200 - 11904: 0xFBC4,
+ 21201 - 11904: 0x9F71,
+ 21202 - 11904: 0xB0C7,
+ 21203 - 11904: 0xD46E,
+ 21205 - 11904: 0xB0CA,
+ 21206 - 11904: 0xD46D,
+ 21207 - 11904: 0xB1E5,
+ 21208 - 11904: 0xB0C9,
+ 21209 - 11904: 0xB0C8,
+ 21211 - 11904: 0xB3D4,
+ 21213 - 11904: 0xB3D3,
+ 21214 - 11904: 0xB3D2,
+ 21215 - 11904: 0xB6D2,
+ 21216 - 11904: 0xFABA,
+ 21217 - 11904: 0x92C7,
+ 21218 - 11904: 0xB6D5,
+ 21219 - 11904: 0xB6D6,
+ 21220 - 11904: 0xB6D4,
+ 21222 - 11904: 0xB6D3,
+ 21225 - 11904: 0xE143,
+ 21227 - 11904: 0xE144,
+ 21231 - 11904: 0xE4F5,
+ 21232 - 11904: 0xBC45,
+ 21233 - 11904: 0xE4F4,
+ 21235 - 11904: 0xBEB1,
+ 21236 - 11904: 0xECBF,
+ 21237 - 11904: 0xC079,
+ 21239 - 11904: 0xF1EE,
+ 21240 - 11904: 0xC455,
+ 21241 - 11904: 0xC6C6,
+ 21242 - 11904: 0xA463,
+ 21243 - 11904: 0xA4C3,
+ 21244 - 11904: 0xC956,
+ 21246 - 11904: 0xA4C4,
+ 21247 - 11904: 0xA4C5,
+ 21249 - 11904: 0x9A4C,
+ 21253 - 11904: 0xFABD,
+ 21254 - 11904: 0xA55E,
+ 21256 - 11904: 0xA649,
+ 21257 - 11904: 0xCA71,
+ 21258 - 11904: 0xCBD6,
+ 21259 - 11904: 0xCBD7,
+ 21261 - 11904: 0xAB6D,
+ 21262 - 11904: 0xD0EE,
+ 21263 - 11904: 0xB0CC,
+ 21264 - 11904: 0xB0CB,
+ 21265 - 11904: 0xD863,
+ 21266 - 11904: 0xD862,
+ 21269 - 11904: 0xA450,
+ 21270 - 11904: 0xA4C6,
+ 21271 - 11904: 0xA55F,
+ 21273 - 11904: 0xB0CD,
+ 21274 - 11904: 0xC943,
+ 21276 - 11904: 0xC96C,
+ 21277 - 11904: 0xA560,
+ 21279 - 11904: 0xC9C2,
+ 21280 - 11904: 0xA64B,
+ 21281 - 11904: 0xA64A,
+ 21282 - 11904: 0xC9C1,
+ 21283 - 11904: 0xA758,
+ 21284 - 11904: 0x8C68,
+ 21287 - 11904: 0x89E5,
+ 21290 - 11904: 0xADEA,
+ 21292 - 11904: 0x9F7D,
+ 21293 - 11904: 0xD46F,
+ 21295 - 11904: 0xB6D7,
+ 21296 - 11904: 0xE145,
+ 21297 - 11904: 0xB9BC,
+ 21298 - 11904: 0xA0A9,
+ 21299 - 11904: 0xFAC4,
+ 21300 - 11904: 0xE8FA,
+ 21303 - 11904: 0xF3FD,
+ 21304 - 11904: 0xC6C7,
+ 21305 - 11904: 0xA4C7,
+ 21307 - 11904: 0x8957,
+ 21308 - 11904: 0xCBD8,
+ 21309 - 11904: 0xCDF4,
+ 21310 - 11904: 0xB0D0,
+ 21311 - 11904: 0xB0CE,
+ 21312 - 11904: 0xB0CF,
+ 21313 - 11904: 0xA451,
+ 21314 - 11904: 0xFAAA,
+ 21315 - 11904: 0xA464,
+ 21316 - 11904: 0xFAC5,
+ 21317 - 11904: 0xA4CA,
+ 21319 - 11904: 0xA4C9,
+ 21320 - 11904: 0xA4C8,
+ 21321 - 11904: 0xA563,
+ 21322 - 11904: 0xA562,
+ 21324 - 11904: 0xC96D,
+ 21325 - 11904: 0xC9C3,
+ 21326 - 11904: 0x8958,
+ 21329 - 11904: 0xA8F5,
+ 21330 - 11904: 0xA8F2,
+ 21331 - 11904: 0xA8F4,
+ 21332 - 11904: 0xA8F3,
+ 21335 - 11904: 0xAB6E,
+ 21338 - 11904: 0xB3D5,
+ 21340 - 11904: 0xA452,
+ 21341 - 11904: 0x8BE3,
+ 21342 - 11904: 0xA4CB,
+ 21343 - 11904: 0x8B61,
+ 21344 - 11904: 0xA565,
+ 21345 - 11904: 0xA564,
+ 21347 - 11904: 0xCA72,
+ 21348 - 11904: 0x9AF1,
+ 21350 - 11904: 0xA8F6,
+ 21351 - 11904: 0x9EB7,
+ 21353 - 11904: 0xC6C8,
+ 21356 - 11904: 0xC957,
+ 21357 - 11904: 0xFAD1,
+ 21358 - 11904: 0xA567,
+ 21359 - 11904: 0xA566,
+ 21360 - 11904: 0xA64C,
+ 21361 - 11904: 0xA64D,
+ 21362 - 11904: 0xCA73,
+ 21363 - 11904: 0xA759,
+ 21364 - 11904: 0xFAD2,
+ 21365 - 11904: 0xA75A,
+ 21367 - 11904: 0xA8F7,
+ 21368 - 11904: 0xA8F8,
+ 21369 - 11904: 0xA8F9,
+ 21371 - 11904: 0xAB6F,
+ 21372 - 11904: 0xCDF5,
+ 21373 - 11904: 0x9EBA,
+ 21374 - 11904: 0xFAD4,
+ 21375 - 11904: 0xFAD5,
+ 21378 - 11904: 0xC944,
+ 21380 - 11904: 0xA4CC,
+ 21386 - 11904: 0xC9C4,
+ 21390 - 11904: 0xCA74,
+ 21391 - 11904: 0xCA75,
+ 21394 - 11904: 0xCBD9,
+ 21395 - 11904: 0xFAD9,
+ 21396 - 11904: 0xCBDA,
+ 21398 - 11904: 0xCDF7,
+ 21399 - 11904: 0xCDF6,
+ 21400 - 11904: 0xCDF9,
+ 21401 - 11904: 0xCDF8,
+ 21402 - 11904: 0xAB70,
+ 21404 - 11904: 0xD470,
+ 21405 - 11904: 0xADED,
+ 21406 - 11904: 0xD0EF,
+ 21407 - 11904: 0xADEC,
+ 21408 - 11904: 0xFADB,
+ 21410 - 11904: 0x9CE0,
+ 21412 - 11904: 0xD864,
+ 21413 - 11904: 0xB3D6,
+ 21414 - 11904: 0xFBF7,
+ 21415 - 11904: 0xD865,
+ 21416 - 11904: 0xFBFA,
+ 21417 - 11904: 0x89E7,
+ 21418 - 11904: 0xA07A,
+ 21419 - 11904: 0xFADC,
+ 21420 - 11904: 0xE146,
+ 21421 - 11904: 0xB9BD,
+ 21422 - 11904: 0xFADD,
+ 21424 - 11904: 0x89E9,
+ 21426 - 11904: 0xBC46,
+ 21428 - 11904: 0xF1EF,
+ 21430 - 11904: 0xC6C9,
+ 21433 - 11904: 0xC958,
+ 21435 - 11904: 0xA568,
+ 21441 - 11904: 0xFAE2,
+ 21442 - 11904: 0x89EB,
+ 21443 - 11904: 0xB0D1,
+ 21445 - 11904: 0xFAE3,
+ 21448 - 11904: 0xA453,
+ 21449 - 11904: 0xA465,
+ 21450 - 11904: 0xA4CE,
+ 21451 - 11904: 0xA4CD,
+ 21452 - 11904: 0x90C8,
+ 21453 - 11904: 0xA4CF,
+ 21456 - 11904: 0x92DA,
+ 21457 - 11904: 0x8959,
+ 21458 - 11904: 0x9CF5,
+ 21460 - 11904: 0xA8FB,
+ 21462 - 11904: 0xA8FA,
+ 21463 - 11904: 0xA8FC,
+ 21464 - 11904: 0x895A,
+ 21465 - 11904: 0xFAE7,
+ 21466 - 11904: 0x9FA2,
+ 21467 - 11904: 0xAB71,
+ 21471 - 11904: 0xADEE,
+ 21472 - 11904: 0xFAEA,
+ 21473 - 11904: 0xE8FB,
+ 21474 - 11904: 0xC24F,
+ 21475 - 11904: 0xA466,
+ 21476 - 11904: 0xA56A,
+ 21477 - 11904: 0xA579,
+ 21478 - 11904: 0xA574,
+ 21480 - 11904: 0xA56F,
+ 21481 - 11904: 0xA56E,
+ 21482 - 11904: 0xA575,
+ 21483 - 11904: 0xA573,
+ 21484 - 11904: 0xA56C,
+ 21485 - 11904: 0xA57A,
+ 21486 - 11904: 0xA56D,
+ 21487 - 11904: 0xA569,
+ 21488 - 11904: 0xA578,
+ 21489 - 11904: 0xA577,
+ 21490 - 11904: 0xA576,
+ 21491 - 11904: 0xA56B,
+ 21493 - 11904: 0xA572,
+ 21494 - 11904: 0xFAED,
+ 21495 - 11904: 0x8FAD,
+ 21496 - 11904: 0xA571,
+ 21499 - 11904: 0xA57B,
+ 21500 - 11904: 0xA570,
+ 21502 - 11904: 0xFB59,
+ 21505 - 11904: 0xA653,
+ 21507 - 11904: 0xA659,
+ 21508 - 11904: 0xA655,
+ 21510 - 11904: 0xA65B,
+ 21511 - 11904: 0xC9C5,
+ 21512 - 11904: 0xA658,
+ 21513 - 11904: 0xA64E,
+ 21514 - 11904: 0xA651,
+ 21515 - 11904: 0xA654,
+ 21516 - 11904: 0xA650,
+ 21517 - 11904: 0xA657,
+ 21518 - 11904: 0xA65A,
+ 21519 - 11904: 0xA64F,
+ 21520 - 11904: 0xA652,
+ 21521 - 11904: 0xA656,
+ 21522 - 11904: 0xA65C,
+ 21523 - 11904: 0xFAEF,
+ 21524 - 11904: 0x96EF,
+ 21526 - 11904: 0x9DEC,
+ 21528 - 11904: 0xCA7E,
+ 21529 - 11904: 0xCA7B,
+ 21530 - 11904: 0x9DCA,
+ 21531 - 11904: 0xA767,
+ 21532 - 11904: 0xCA7C,
+ 21533 - 11904: 0xA75B,
+ 21534 - 11904: 0xA75D,
+ 21535 - 11904: 0xA775,
+ 21536 - 11904: 0xA770,
+ 21537 - 11904: 0xFD6D,
+ 21539 - 11904: 0x89EC,
+ 21540 - 11904: 0xCAA5,
+ 21541 - 11904: 0xCA7D,
+ 21542 - 11904: 0xA75F,
+ 21543 - 11904: 0xA761,
+ 21544 - 11904: 0xCAA4,
+ 21545 - 11904: 0xA768,
+ 21546 - 11904: 0xCA78,
+ 21547 - 11904: 0xA774,
+ 21548 - 11904: 0xA776,
+ 21549 - 11904: 0xA75C,
+ 21550 - 11904: 0xA76D,
+ 21551 - 11904: 0xFB44,
+ 21552 - 11904: 0xCA76,
+ 21553 - 11904: 0xA773,
+ 21554 - 11904: 0x9DE2,
+ 21555 - 11904: 0xA764,
+ 21556 - 11904: 0x8C75,
+ 21557 - 11904: 0xA76E,
+ 21558 - 11904: 0xA76F,
+ 21559 - 11904: 0xCA77,
+ 21560 - 11904: 0xA76C,
+ 21561 - 11904: 0xA76A,
+ 21563 - 11904: 0xA76B,
+ 21564 - 11904: 0xA771,
+ 21565 - 11904: 0xCAA1,
+ 21566 - 11904: 0xA75E,
+ 21568 - 11904: 0xA772,
+ 21569 - 11904: 0xCAA3,
+ 21570 - 11904: 0xA766,
+ 21571 - 11904: 0xA763,
+ 21573 - 11904: 0xCA7A,
+ 21574 - 11904: 0xA762,
+ 21575 - 11904: 0xCAA6,
+ 21576 - 11904: 0xA765,
+ 21578 - 11904: 0xA769,
+ 21579 - 11904: 0x9EC0,
+ 21580 - 11904: 0x87C5,
+ 21581 - 11904: 0x9E56,
+ 21582 - 11904: 0xA760,
+ 21583 - 11904: 0xCAA2,
+ 21588 - 11904: 0xCA79,
+ 21600 - 11904: 0xCBEB,
+ 21601 - 11904: 0xCBEA,
+ 21602 - 11904: 0xA94F,
+ 21603 - 11904: 0xCBED,
+ 21604 - 11904: 0xCBEF,
+ 21605 - 11904: 0xCBE4,
+ 21606 - 11904: 0xCBE7,
+ 21607 - 11904: 0xCBEE,
+ 21608 - 11904: 0xA950,
+ 21609 - 11904: 0x9F79,
+ 21610 - 11904: 0x9AC7,
+ 21611 - 11904: 0xCBE1,
+ 21612 - 11904: 0xCBE5,
+ 21613 - 11904: 0xFAF4,
+ 21615 - 11904: 0xCBE9,
+ 21616 - 11904: 0xCE49,
+ 21617 - 11904: 0xA94B,
+ 21618 - 11904: 0xCE4D,
+ 21619 - 11904: 0xA8FD,
+ 21620 - 11904: 0xCBE6,
+ 21621 - 11904: 0xA8FE,
+ 21622 - 11904: 0xA94C,
+ 21623 - 11904: 0xA945,
+ 21624 - 11904: 0xA941,
+ 21626 - 11904: 0xCBE2,
+ 21627 - 11904: 0xA944,
+ 21628 - 11904: 0xA949,
+ 21629 - 11904: 0xA952,
+ 21630 - 11904: 0xCBE3,
+ 21631 - 11904: 0xCBDC,
+ 21632 - 11904: 0xA943,
+ 21633 - 11904: 0xCBDD,
+ 21634 - 11904: 0xCBDF,
+ 21636 - 11904: 0xA946,
+ 21637 - 11904: 0x98A1,
+ 21638 - 11904: 0xA948,
+ 21639 - 11904: 0xCBDB,
+ 21640 - 11904: 0xCBE0,
+ 21643 - 11904: 0xA951,
+ 21644 - 11904: 0xA94D,
+ 21645 - 11904: 0xCBE8,
+ 21646 - 11904: 0xA953,
+ 21647 - 11904: 0xFAF8,
+ 21648 - 11904: 0xA94A,
+ 21649 - 11904: 0xCBDE,
+ 21650 - 11904: 0xA947,
+ 21651 - 11904: 0x89F0,
+ 21652 - 11904: 0x9E47,
+ 21653 - 11904: 0xA942,
+ 21654 - 11904: 0xA940,
+ 21655 - 11904: 0x9DF7,
+ 21656 - 11904: 0xCBEC,
+ 21658 - 11904: 0xA94E,
+ 21660 - 11904: 0x9FD3,
+ 21662 - 11904: 0x9ACA,
+ 21664 - 11904: 0xCE48,
+ 21665 - 11904: 0xCDFB,
+ 21666 - 11904: 0xCE4B,
+ 21667 - 11904: 0x89F1,
+ 21668 - 11904: 0xFAF9,
+ 21669 - 11904: 0xCDFD,
+ 21670 - 11904: 0xAB78,
+ 21671 - 11904: 0xABA8,
+ 21672 - 11904: 0xAB74,
+ 21673 - 11904: 0xABA7,
+ 21674 - 11904: 0xAB7D,
+ 21675 - 11904: 0xABA4,
+ 21676 - 11904: 0xAB72,
+ 21677 - 11904: 0xCDFC,
+ 21678 - 11904: 0xCE43,
+ 21679 - 11904: 0xABA3,
+ 21680 - 11904: 0xCE4F,
+ 21681 - 11904: 0xABA5,
+ 21682 - 11904: 0x8E5A,
+ 21683 - 11904: 0xAB79,
+ 21684 - 11904: 0x89F2,
+ 21686 - 11904: 0xCE45,
+ 21687 - 11904: 0xCE42,
+ 21688 - 11904: 0xAB77,
+ 21689 - 11904: 0x89F3,
+ 21690 - 11904: 0xCDFA,
+ 21691 - 11904: 0xABA6,
+ 21692 - 11904: 0xCE4A,
+ 21693 - 11904: 0xAB7C,
+ 21694 - 11904: 0xCE4C,
+ 21695 - 11904: 0xABA9,
+ 21696 - 11904: 0xAB73,
+ 21697 - 11904: 0xAB7E,
+ 21698 - 11904: 0xAB7B,
+ 21699 - 11904: 0xCE40,
+ 21700 - 11904: 0xABA1,
+ 21701 - 11904: 0xCE46,
+ 21702 - 11904: 0xCE47,
+ 21703 - 11904: 0xAB7A,
+ 21704 - 11904: 0xABA2,
+ 21705 - 11904: 0xAB76,
+ 21707 - 11904: 0x925D,
+ 21708 - 11904: 0x8B51,
+ 21709 - 11904: 0x92E0,
+ 21710 - 11904: 0xAB75,
+ 21711 - 11904: 0xCDFE,
+ 21712 - 11904: 0x89F4,
+ 21718 - 11904: 0xCE44,
+ 21722 - 11904: 0x9FD4,
+ 21726 - 11904: 0xCE4E,
+ 21728 - 11904: 0xD144,
+ 21729 - 11904: 0xADFB,
+ 21730 - 11904: 0xD0F1,
+ 21731 - 11904: 0x8A79,
+ 21732 - 11904: 0xD0F6,
+ 21733 - 11904: 0xADF4,
+ 21734 - 11904: 0xAE40,
+ 21735 - 11904: 0xD0F4,
+ 21736 - 11904: 0xADEF,
+ 21737 - 11904: 0xADF9,
+ 21738 - 11904: 0xADFE,
+ 21739 - 11904: 0xD0FB,
+ 21741 - 11904: 0xADFA,
+ 21742 - 11904: 0xADFD,
+ 21743 - 11904: 0x89F5,
+ 21745 - 11904: 0xD0FE,
+ 21746 - 11904: 0xADF5,
+ 21747 - 11904: 0xD0F5,
+ 21751 - 11904: 0xD142,
+ 21752 - 11904: 0xD143,
+ 21754 - 11904: 0xADF7,
+ 21755 - 11904: 0xD141,
+ 21756 - 11904: 0xADF3,
+ 21757 - 11904: 0xAE43,
+ 21759 - 11904: 0xD0F8,
+ 21761 - 11904: 0xADF1,
+ 21762 - 11904: 0x97A7,
+ 21763 - 11904: 0xD146,
+ 21764 - 11904: 0xD0F9,
+ 21765 - 11904: 0xD0FD,
+ 21766 - 11904: 0xADF6,
+ 21767 - 11904: 0xAE42,
+ 21768 - 11904: 0xD0FA,
+ 21769 - 11904: 0xADFC,
+ 21770 - 11904: 0xD140,
+ 21771 - 11904: 0xD147,
+ 21772 - 11904: 0xD4A1,
+ 21773 - 11904: 0x93BA,
+ 21774 - 11904: 0xD145,
+ 21775 - 11904: 0xAE44,
+ 21776 - 11904: 0xADF0,
+ 21777 - 11904: 0xD0FC,
+ 21778 - 11904: 0xD0F3,
+ 21779 - 11904: 0x9E58,
+ 21780 - 11904: 0xADF8,
+ 21783 - 11904: 0xD0F2,
+ 21784 - 11904: 0x89F6,
+ 21786 - 11904: 0xD0F7,
+ 21790 - 11904: 0x9E57,
+ 21795 - 11904: 0x89F7,
+ 21797 - 11904: 0x8A41,
+ 21798 - 11904: 0xD0F0,
+ 21799 - 11904: 0xAE41,
+ 21800 - 11904: 0x89F8,
+ 21802 - 11904: 0xD477,
+ 21803 - 11904: 0xFAF1,
+ 21804 - 11904: 0xB0E4,
+ 21805 - 11904: 0xD4A7,
+ 21806 - 11904: 0xB0E2,
+ 21807 - 11904: 0xB0DF,
+ 21808 - 11904: 0xD47C,
+ 21809 - 11904: 0xB0DB,
+ 21810 - 11904: 0xD4A2,
+ 21811 - 11904: 0xB0E6,
+ 21812 - 11904: 0xD476,
+ 21813 - 11904: 0xD47B,
+ 21814 - 11904: 0xD47A,
+ 21815 - 11904: 0xADF2,
+ 21816 - 11904: 0xB0E1,
+ 21817 - 11904: 0xD4A5,
+ 21819 - 11904: 0xD4A8,
+ 21820 - 11904: 0xD473,
+ 21822 - 11904: 0xB3E8,
+ 21823 - 11904: 0x89FA,
+ 21824 - 11904: 0xD4A9,
+ 21825 - 11904: 0xB0E7,
+ 21827 - 11904: 0xB0D9,
+ 21828 - 11904: 0xB0D6,
+ 21829 - 11904: 0xD47E,
+ 21830 - 11904: 0xB0D3,
+ 21831 - 11904: 0xFB42,
+ 21832 - 11904: 0xD4A6,
+ 21833 - 11904: 0xFABF,
+ 21834 - 11904: 0xB0DA,
+ 21835 - 11904: 0xD4AA,
+ 21837 - 11904: 0xD474,
+ 21838 - 11904: 0xD4A4,
+ 21839 - 11904: 0xB0DD,
+ 21840 - 11904: 0xD475,
+ 21841 - 11904: 0xD478,
+ 21842 - 11904: 0xD47D,
+ 21843 - 11904: 0xFBA3,
+ 21845 - 11904: 0xB0DE,
+ 21846 - 11904: 0xB0DC,
+ 21847 - 11904: 0xB0E8,
+ 21852 - 11904: 0xB0E3,
+ 21853 - 11904: 0xFAF7,
+ 21854 - 11904: 0xB0D7,
+ 21855 - 11904: 0xB1D2,
+ 21857 - 11904: 0xB0D8,
+ 21858 - 11904: 0xD479,
+ 21859 - 11904: 0xB0E5,
+ 21860 - 11904: 0xB0E0,
+ 21861 - 11904: 0xD4A3,
+ 21862 - 11904: 0xB0D5,
+ 21865 - 11904: 0x9E4E,
+ 21866 - 11904: 0xB0D4,
+ 21867 - 11904: 0x94DC,
+ 21873 - 11904: 0x95DA,
+ 21874 - 11904: 0x9DF8,
+ 21875 - 11904: 0x9F6A,
+ 21877 - 11904: 0xD471,
+ 21878 - 11904: 0xD472,
+ 21879 - 11904: 0xD86A,
+ 21881 - 11904: 0x8AB7,
+ 21883 - 11904: 0xB3D7,
+ 21884 - 11904: 0xB3DA,
+ 21885 - 11904: 0xD875,
+ 21886 - 11904: 0xB3EE,
+ 21887 - 11904: 0xD878,
+ 21888 - 11904: 0xB3D8,
+ 21889 - 11904: 0xD871,
+ 21890 - 11904: 0xB3DE,
+ 21891 - 11904: 0xB3E4,
+ 21892 - 11904: 0xB5BD,
+ 21894 - 11904: 0xFB46,
+ 21895 - 11904: 0xB3E2,
+ 21896 - 11904: 0xD86E,
+ 21897 - 11904: 0xB3EF,
+ 21898 - 11904: 0xB3DB,
+ 21899 - 11904: 0xB3E3,
+ 21900 - 11904: 0xD876,
+ 21901 - 11904: 0xDCD7,
+ 21902 - 11904: 0xD87B,
+ 21903 - 11904: 0xD86F,
+ 21904 - 11904: 0x8A46,
+ 21905 - 11904: 0xD866,
+ 21906 - 11904: 0xD873,
+ 21907 - 11904: 0xD86D,
+ 21908 - 11904: 0xB3E1,
+ 21909 - 11904: 0xD879,
+ 21912 - 11904: 0xB3DD,
+ 21913 - 11904: 0xB3F1,
+ 21914 - 11904: 0xB3EA,
+ 21916 - 11904: 0xB3DF,
+ 21917 - 11904: 0xB3DC,
+ 21919 - 11904: 0xB3E7,
+ 21921 - 11904: 0xD87A,
+ 21922 - 11904: 0xD86C,
+ 21923 - 11904: 0xD872,
+ 21924 - 11904: 0xD874,
+ 21925 - 11904: 0xD868,
+ 21926 - 11904: 0xD877,
+ 21927 - 11904: 0xB3D9,
+ 21928 - 11904: 0xD867,
+ 21929 - 11904: 0xFB47,
+ 21930 - 11904: 0xB3E0,
+ 21931 - 11904: 0xB3F0,
+ 21932 - 11904: 0xB3EC,
+ 21933 - 11904: 0xD869,
+ 21934 - 11904: 0xB3E6,
+ 21936 - 11904: 0x9148,
+ 21937 - 11904: 0xB3ED,
+ 21938 - 11904: 0xB3E9,
+ 21939 - 11904: 0xB3E5,
+ 21940 - 11904: 0x92DE,
+ 21941 - 11904: 0xD870,
+ 21945 - 11904: 0x8B53,
+ 21946 - 11904: 0x9DF6,
+ 21947 - 11904: 0xB3EB,
+ 21948 - 11904: 0x9BDA,
+ 21951 - 11904: 0xDCD5,
+ 21952 - 11904: 0xDCD1,
+ 21953 - 11904: 0x9D7E,
+ 21954 - 11904: 0xDCE0,
+ 21955 - 11904: 0xDCCA,
+ 21956 - 11904: 0xDCD3,
+ 21957 - 11904: 0xB6E5,
+ 21958 - 11904: 0xB6E6,
+ 21959 - 11904: 0xB6DE,
+ 21960 - 11904: 0xDCDC,
+ 21961 - 11904: 0xB6E8,
+ 21962 - 11904: 0xDCCF,
+ 21963 - 11904: 0xDCCE,
+ 21964 - 11904: 0xDCCC,
+ 21965 - 11904: 0xDCDE,
+ 21966 - 11904: 0xB6DC,
+ 21967 - 11904: 0xDCD8,
+ 21968 - 11904: 0xDCCD,
+ 21969 - 11904: 0xB6DF,
+ 21970 - 11904: 0xDCD6,
+ 21971 - 11904: 0xB6DA,
+ 21972 - 11904: 0xDCD2,
+ 21973 - 11904: 0xDCD9,
+ 21974 - 11904: 0xDCDB,
+ 21975 - 11904: 0x89FD,
+ 21976 - 11904: 0x99E4,
+ 21977 - 11904: 0xDCDF,
+ 21978 - 11904: 0xB6E3,
+ 21979 - 11904: 0xDCCB,
+ 21980 - 11904: 0xB6DD,
+ 21981 - 11904: 0xDCD0,
+ 21982 - 11904: 0x9E43,
+ 21983 - 11904: 0xB6D8,
+ 21985 - 11904: 0xB6E4,
+ 21986 - 11904: 0xDCDA,
+ 21987 - 11904: 0xB6E0,
+ 21988 - 11904: 0xB6E1,
+ 21989 - 11904: 0xB6E7,
+ 21990 - 11904: 0xB6DB,
+ 21991 - 11904: 0xA25F,
+ 21992 - 11904: 0xB6D9,
+ 21993 - 11904: 0xDCD4,
+ 21994 - 11904: 0x9DE9,
+ 21996 - 11904: 0x8F52,
+ 21999 - 11904: 0xB6E2,
+ 22000 - 11904: 0x9DF5,
+ 22001 - 11904: 0x9DF0,
+ 22002 - 11904: 0xDCDD,
+ 22005 - 11904: 0x99E7,
+ 22006 - 11904: 0xB9CD,
+ 22007 - 11904: 0xB9C8,
+ 22009 - 11904: 0xE155,
+ 22010 - 11904: 0xE151,
+ 22011 - 11904: 0x8BBD,
+ 22012 - 11904: 0xE14B,
+ 22013 - 11904: 0xB9C2,
+ 22014 - 11904: 0xB9BE,
+ 22015 - 11904: 0xE154,
+ 22016 - 11904: 0xB9BF,
+ 22017 - 11904: 0xE14E,
+ 22018 - 11904: 0xE150,
+ 22020 - 11904: 0xE153,
+ 22021 - 11904: 0xFB48,
+ 22022 - 11904: 0xB9C4,
+ 22024 - 11904: 0xB9CB,
+ 22025 - 11904: 0xB9C5,
+ 22028 - 11904: 0xE149,
+ 22029 - 11904: 0xB9C6,
+ 22030 - 11904: 0xB9C7,
+ 22031 - 11904: 0xE14C,
+ 22032 - 11904: 0xB9CC,
+ 22033 - 11904: 0x9FB7,
+ 22034 - 11904: 0xE14A,
+ 22035 - 11904: 0xE14F,
+ 22036 - 11904: 0xB9C3,
+ 22037 - 11904: 0xE148,
+ 22038 - 11904: 0xB9C9,
+ 22039 - 11904: 0xB9C1,
+ 22043 - 11904: 0xB9C0,
+ 22044 - 11904: 0xE14D,
+ 22045 - 11904: 0xE152,
+ 22046 - 11904: 0x9DD0,
+ 22047 - 11904: 0xB9CA,
+ 22048 - 11904: 0x9FEB,
+ 22049 - 11904: 0x8DA9,
+ 22050 - 11904: 0x9DCF,
+ 22051 - 11904: 0x98E1,
+ 22053 - 11904: 0x9DE5,
+ 22055 - 11904: 0xE147,
+ 22057 - 11904: 0xBC4D,
+ 22058 - 11904: 0xE547,
+ 22060 - 11904: 0xE544,
+ 22061 - 11904: 0x9DC8,
+ 22062 - 11904: 0xBC47,
+ 22063 - 11904: 0xBC53,
+ 22064 - 11904: 0xBC54,
+ 22066 - 11904: 0xBC4A,
+ 22067 - 11904: 0xE542,
+ 22068 - 11904: 0xBC4C,
+ 22069 - 11904: 0xE4F9,
+ 22070 - 11904: 0xBC52,
+ 22071 - 11904: 0xFB4F,
+ 22072 - 11904: 0xE546,
+ 22073 - 11904: 0xBC49,
+ 22074 - 11904: 0xE548,
+ 22075 - 11904: 0xBC48,
+ 22077 - 11904: 0xE543,
+ 22078 - 11904: 0xE545,
+ 22079 - 11904: 0xBC4B,
+ 22080 - 11904: 0xE541,
+ 22081 - 11904: 0xE4FA,
+ 22082 - 11904: 0xE4F7,
+ 22083 - 11904: 0x9DEB,
+ 22085 - 11904: 0xD86B,
+ 22086 - 11904: 0xE4FD,
+ 22088 - 11904: 0xE4F6,
+ 22089 - 11904: 0xE4FC,
+ 22090 - 11904: 0xE4FB,
+ 22092 - 11904: 0xE4F8,
+ 22093 - 11904: 0xFB54,
+ 22094 - 11904: 0xBC4F,
+ 22095 - 11904: 0xFB55,
+ 22096 - 11904: 0x9AA2,
+ 22098 - 11904: 0x8AD6,
+ 22099 - 11904: 0xBC4E,
+ 22100 - 11904: 0x9A5F,
+ 22103 - 11904: 0xBC50,
+ 22104 - 11904: 0xE4FE,
+ 22105 - 11904: 0xBEB2,
+ 22106 - 11904: 0xE540,
+ 22109 - 11904: 0x9EF5,
+ 22110 - 11904: 0xE945,
+ 22112 - 11904: 0xE8FD,
+ 22113 - 11904: 0x8FB7,
+ 22114 - 11904: 0xBEBE,
+ 22115 - 11904: 0xE942,
+ 22116 - 11904: 0xBEB6,
+ 22117 - 11904: 0xBEBA,
+ 22118 - 11904: 0xE941,
+ 22120 - 11904: 0xBEB9,
+ 22121 - 11904: 0xBEB5,
+ 22122 - 11904: 0xBEB8,
+ 22123 - 11904: 0xBEB3,
+ 22124 - 11904: 0xBEBD,
+ 22125 - 11904: 0xE943,
+ 22126 - 11904: 0xE8FE,
+ 22127 - 11904: 0xBEBC,
+ 22128 - 11904: 0xE8FC,
+ 22129 - 11904: 0xBEBB,
+ 22130 - 11904: 0xE944,
+ 22131 - 11904: 0xE940,
+ 22132 - 11904: 0xBC51,
+ 22134 - 11904: 0xBEBF,
+ 22135 - 11904: 0xE946,
+ 22136 - 11904: 0xBEB7,
+ 22137 - 11904: 0xBEB4,
+ 22138 - 11904: 0x9AD2,
+ 22139 - 11904: 0x9E6A,
+ 22140 - 11904: 0x9EE8,
+ 22142 - 11904: 0xECC6,
+ 22143 - 11904: 0xECC8,
+ 22144 - 11904: 0xC07B,
+ 22145 - 11904: 0xECC9,
+ 22146 - 11904: 0xECC7,
+ 22147 - 11904: 0xECC5,
+ 22148 - 11904: 0xECC4,
+ 22149 - 11904: 0xC07D,
+ 22150 - 11904: 0xECC3,
+ 22151 - 11904: 0xC07E,
+ 22153 - 11904: 0x8BBF,
+ 22154 - 11904: 0x91C2,
+ 22155 - 11904: 0x9D62,
+ 22156 - 11904: 0xECC1,
+ 22157 - 11904: 0xECC2,
+ 22158 - 11904: 0xC07A,
+ 22159 - 11904: 0xC0A1,
+ 22160 - 11904: 0xC07C,
+ 22162 - 11904: 0x9260,
+ 22163 - 11904: 0xECC0,
+ 22165 - 11904: 0xC250,
+ 22167 - 11904: 0xEFBC,
+ 22168 - 11904: 0xEFBA,
+ 22169 - 11904: 0xEFBF,
+ 22170 - 11904: 0xEFBD,
+ 22172 - 11904: 0xEFBB,
+ 22173 - 11904: 0xEFBE,
+ 22174 - 11904: 0x925E,
+ 22175 - 11904: 0x91C1,
+ 22177 - 11904: 0x8AC5,
+ 22180 - 11904: 0x97A3,
+ 22181 - 11904: 0xC360,
+ 22182 - 11904: 0xF1F2,
+ 22183 - 11904: 0xF1F3,
+ 22184 - 11904: 0xC456,
+ 22186 - 11904: 0xF1F4,
+ 22187 - 11904: 0xF1F0,
+ 22188 - 11904: 0xF1F5,
+ 22189 - 11904: 0xF1F1,
+ 22190 - 11904: 0xC251,
+ 22191 - 11904: 0x8B6C,
+ 22193 - 11904: 0x8D7E,
+ 22194 - 11904: 0xF3FE,
+ 22195 - 11904: 0xF441,
+ 22196 - 11904: 0xC459,
+ 22197 - 11904: 0xF440,
+ 22198 - 11904: 0xC458,
+ 22199 - 11904: 0xC457,
+ 22201 - 11904: 0x9C54,
+ 22204 - 11904: 0xC45A,
+ 22205 - 11904: 0xF5C5,
+ 22206 - 11904: 0xF5C6,
+ 22207 - 11904: 0x9DBD,
+ 22208 - 11904: 0xC4DA,
+ 22209 - 11904: 0xC4D9,
+ 22210 - 11904: 0xC4DB,
+ 22211 - 11904: 0xF5C4,
+ 22213 - 11904: 0xF6D8,
+ 22214 - 11904: 0xF6D7,
+ 22216 - 11904: 0xC56D,
+ 22217 - 11904: 0xC56F,
+ 22218 - 11904: 0xC56E,
+ 22219 - 11904: 0xF6D9,
+ 22220 - 11904: 0xC5C8,
+ 22221 - 11904: 0xF8A6,
+ 22225 - 11904: 0xC5F1,
+ 22227 - 11904: 0xF8A5,
+ 22228 - 11904: 0xF8EE,
+ 22230 - 11904: 0x9CC5,
+ 22231 - 11904: 0xC949,
+ 22234 - 11904: 0xA57D,
+ 22235 - 11904: 0xA57C,
+ 22237 - 11904: 0xA65F,
+ 22238 - 11904: 0xA65E,
+ 22239 - 11904: 0xC9C7,
+ 22240 - 11904: 0xA65D,
+ 22241 - 11904: 0xC9C6,
+ 22242 - 11904: 0x895B,
+ 22244 - 11904: 0xA779,
+ 22245 - 11904: 0xCAA9,
+ 22247 - 11904: 0xCAA8,
+ 22250 - 11904: 0xA777,
+ 22251 - 11904: 0xA77A,
+ 22253 - 11904: 0xFB5C,
+ 22254 - 11904: 0xCAA7,
+ 22255 - 11904: 0xFB5B,
+ 22256 - 11904: 0xA778,
+ 22257 - 11904: 0xFB57,
+ 22263 - 11904: 0xCBF0,
+ 22265 - 11904: 0xCBF1,
+ 22266 - 11904: 0xA954,
+ 22267 - 11904: 0x8765,
+ 22269 - 11904: 0x98C7,
+ 22271 - 11904: 0xABAA,
+ 22272 - 11904: 0xFB5A,
+ 22273 - 11904: 0xD148,
+ 22274 - 11904: 0xD149,
+ 22275 - 11904: 0xAE45,
+ 22276 - 11904: 0xAE46,
+ 22279 - 11904: 0xD4AC,
+ 22280 - 11904: 0xB0E9,
+ 22281 - 11904: 0xB0EB,
+ 22282 - 11904: 0xD4AB,
+ 22283 - 11904: 0xB0EA,
+ 22284 - 11904: 0xD87C,
+ 22285 - 11904: 0xB3F2,
+ 22290 - 11904: 0xB6E9,
+ 22291 - 11904: 0xB6EA,
+ 22292 - 11904: 0xDCE1,
+ 22293 - 11904: 0x9CEE,
+ 22294 - 11904: 0xB9CF,
+ 22296 - 11904: 0xB9CE,
+ 22298 - 11904: 0xE549,
+ 22299 - 11904: 0xE948,
+ 22300 - 11904: 0xE947,
+ 22301 - 11904: 0x92E2,
+ 22302 - 11904: 0xF96B,
+ 22303 - 11904: 0xA467,
+ 22304 - 11904: 0xC959,
+ 22306 - 11904: 0xC96E,
+ 22307 - 11904: 0xC96F,
+ 22312 - 11904: 0xA662,
+ 22313 - 11904: 0xA666,
+ 22314 - 11904: 0xC9C9,
+ 22316 - 11904: 0xA664,
+ 22317 - 11904: 0xA663,
+ 22318 - 11904: 0xC9C8,
+ 22319 - 11904: 0xA665,
+ 22320 - 11904: 0xA661,
+ 22322 - 11904: 0x94A7,
+ 22323 - 11904: 0xA660,
+ 22324 - 11904: 0xC9CA,
+ 22331 - 11904: 0xA7A6,
+ 22333 - 11904: 0x8CCC,
+ 22334 - 11904: 0xA7A3,
+ 22335 - 11904: 0x9BD4,
+ 22336 - 11904: 0xA77D,
+ 22337 - 11904: 0xCAAA,
+ 22338 - 11904: 0xFB64,
+ 22339 - 11904: 0xFB76,
+ 22341 - 11904: 0xCAAB,
+ 22342 - 11904: 0xFB60,
+ 22343 - 11904: 0xA7A1,
+ 22345 - 11904: 0xCAAD,
+ 22346 - 11904: 0xA77B,
+ 22347 - 11904: 0xCAAE,
+ 22348 - 11904: 0xCAAC,
+ 22349 - 11904: 0xA77E,
+ 22350 - 11904: 0xA7A2,
+ 22351 - 11904: 0xA7A5,
+ 22352 - 11904: 0xA7A4,
+ 22353 - 11904: 0xA77C,
+ 22354 - 11904: 0xCAAF,
+ 22356 - 11904: 0x99E5,
+ 22359 - 11904: 0x9AC2,
+ 22363 - 11904: 0x91FB,
+ 22367 - 11904: 0xA073,
+ 22369 - 11904: 0xA959,
+ 22370 - 11904: 0xCBFE,
+ 22372 - 11904: 0xA95B,
+ 22374 - 11904: 0xA95A,
+ 22375 - 11904: 0x9F72,
+ 22376 - 11904: 0xCC40,
+ 22377 - 11904: 0xA958,
+ 22378 - 11904: 0xA957,
+ 22379 - 11904: 0xCBF5,
+ 22381 - 11904: 0xCBF4,
+ 22383 - 11904: 0xCBF2,
+ 22384 - 11904: 0xCBF7,
+ 22385 - 11904: 0xCBF6,
+ 22386 - 11904: 0xCBF3,
+ 22387 - 11904: 0xCBFC,
+ 22388 - 11904: 0xCBFD,
+ 22389 - 11904: 0xCBFA,
+ 22390 - 11904: 0xCBF8,
+ 22391 - 11904: 0xA956,
+ 22394 - 11904: 0x9FCC,
+ 22395 - 11904: 0xCBFB,
+ 22396 - 11904: 0xA95C,
+ 22397 - 11904: 0xCC41,
+ 22398 - 11904: 0x98A5,
+ 22399 - 11904: 0x92E8,
+ 22400 - 11904: 0xCBF9,
+ 22402 - 11904: 0xABAB,
+ 22403 - 11904: 0xA955,
+ 22408 - 11904: 0x9BBC,
+ 22410 - 11904: 0x96F3,
+ 22411 - 11904: 0xABAC,
+ 22412 - 11904: 0xCE54,
+ 22413 - 11904: 0x92E7,
+ 22415 - 11904: 0xCE5A,
+ 22416 - 11904: 0xFC67,
+ 22419 - 11904: 0xABB2,
+ 22420 - 11904: 0xCE58,
+ 22421 - 11904: 0xCE5E,
+ 22423 - 11904: 0xCE55,
+ 22424 - 11904: 0xCE59,
+ 22425 - 11904: 0xCE5B,
+ 22426 - 11904: 0xCE5D,
+ 22427 - 11904: 0xCE57,
+ 22428 - 11904: 0x8B7D,
+ 22429 - 11904: 0xCE56,
+ 22430 - 11904: 0xCE51,
+ 22431 - 11904: 0xCE52,
+ 22432 - 11904: 0xABAD,
+ 22433 - 11904: 0x9BF4,
+ 22434 - 11904: 0xABAF,
+ 22435 - 11904: 0xABAE,
+ 22436 - 11904: 0xCE53,
+ 22437 - 11904: 0xCE5C,
+ 22439 - 11904: 0x9EF7,
+ 22442 - 11904: 0x9EC1,
+ 22446 - 11904: 0xABB1,
+ 22451 - 11904: 0x87C3,
+ 22452 - 11904: 0x996F,
+ 22453 - 11904: 0xCE50,
+ 22454 - 11904: 0xD153,
+ 22456 - 11904: 0xD152,
+ 22457 - 11904: 0xD157,
+ 22458 - 11904: 0xD14E,
+ 22459 - 11904: 0x96F1,
+ 22460 - 11904: 0xD151,
+ 22461 - 11904: 0xD150,
+ 22462 - 11904: 0x8E41,
+ 22463 - 11904: 0xD154,
+ 22465 - 11904: 0xD158,
+ 22466 - 11904: 0xAE47,
+ 22467 - 11904: 0xAE4A,
+ 22468 - 11904: 0x954A,
+ 22470 - 11904: 0xD14F,
+ 22471 - 11904: 0xD155,
+ 22472 - 11904: 0x97E6,
+ 22475 - 11904: 0xAE49,
+ 22476 - 11904: 0xD14A,
+ 22478 - 11904: 0xABB0,
+ 22479 - 11904: 0xD4BA,
+ 22480 - 11904: 0xD156,
+ 22482 - 11904: 0xD14D,
+ 22484 - 11904: 0xAE48,
+ 22485 - 11904: 0xD14C,
+ 22487 - 11904: 0x96F5,
+ 22492 - 11904: 0xD4B1,
+ 22493 - 11904: 0x92E6,
+ 22494 - 11904: 0x9F42,
+ 22495 - 11904: 0xB0EC,
+ 22496 - 11904: 0xB0F0,
+ 22497 - 11904: 0xD4C1,
+ 22498 - 11904: 0xD4AF,
+ 22499 - 11904: 0xD4BD,
+ 22500 - 11904: 0xB0F1,
+ 22501 - 11904: 0xD4BF,
+ 22502 - 11904: 0xFB67,
+ 22503 - 11904: 0xD4C5,
+ 22505 - 11904: 0xD4C9,
+ 22508 - 11904: 0xD4C0,
+ 22509 - 11904: 0xD4B4,
+ 22510 - 11904: 0xD4BC,
+ 22511 - 11904: 0x99A9,
+ 22512 - 11904: 0xD4CA,
+ 22513 - 11904: 0xD4C8,
+ 22514 - 11904: 0xD4BE,
+ 22515 - 11904: 0xD4B9,
+ 22516 - 11904: 0xD4B2,
+ 22517 - 11904: 0xD8A6,
+ 22518 - 11904: 0xD4B0,
+ 22519 - 11904: 0xB0F5,
+ 22520 - 11904: 0xD4B7,
+ 22521 - 11904: 0xB0F6,
+ 22522 - 11904: 0xB0F2,
+ 22523 - 11904: 0xD4AD,
+ 22524 - 11904: 0xD4C3,
+ 22525 - 11904: 0xD4B5,
+ 22526 - 11904: 0xFAE6,
+ 22528 - 11904: 0xD4B3,
+ 22529 - 11904: 0xD4C6,
+ 22530 - 11904: 0xB0F3,
+ 22531 - 11904: 0xFB69,
+ 22532 - 11904: 0xD4CC,
+ 22533 - 11904: 0xB0ED,
+ 22534 - 11904: 0xB0EF,
+ 22535 - 11904: 0xD4BB,
+ 22536 - 11904: 0xD4B6,
+ 22537 - 11904: 0xAE4B,
+ 22538 - 11904: 0xB0EE,
+ 22539 - 11904: 0xD4B8,
+ 22540 - 11904: 0xD4C7,
+ 22541 - 11904: 0xD4CB,
+ 22542 - 11904: 0xD4C2,
+ 22544 - 11904: 0xD4C4,
+ 22546 - 11904: 0x97E5,
+ 22548 - 11904: 0xD4AE,
+ 22552 - 11904: 0x87C8,
+ 22553 - 11904: 0xD8A1,
+ 22555 - 11904: 0xD8AA,
+ 22556 - 11904: 0xD8A9,
+ 22557 - 11904: 0xB3FA,
+ 22558 - 11904: 0xD8A2,
+ 22560 - 11904: 0xB3FB,
+ 22561 - 11904: 0xB3F9,
+ 22562 - 11904: 0x967D,
+ 22563 - 11904: 0xD8A4,
+ 22564 - 11904: 0xB3F6,
+ 22565 - 11904: 0xD8A8,
+ 22566 - 11904: 0xFB6C,
+ 22567 - 11904: 0xD8A3,
+ 22568 - 11904: 0xD8A5,
+ 22569 - 11904: 0xD87D,
+ 22570 - 11904: 0xB3F4,
+ 22572 - 11904: 0xD8B2,
+ 22573 - 11904: 0xD8B1,
+ 22574 - 11904: 0xD8AE,
+ 22575 - 11904: 0xB3F3,
+ 22576 - 11904: 0xB3F7,
+ 22577 - 11904: 0xB3F8,
+ 22578 - 11904: 0xD14B,
+ 22579 - 11904: 0xD8AB,
+ 22580 - 11904: 0xB3F5,
+ 22581 - 11904: 0xB0F4,
+ 22582 - 11904: 0xD8AD,
+ 22583 - 11904: 0xD87E,
+ 22584 - 11904: 0xD8B0,
+ 22585 - 11904: 0xD8AF,
+ 22586 - 11904: 0x99A2,
+ 22587 - 11904: 0xD8B3,
+ 22589 - 11904: 0xDCEF,
+ 22591 - 11904: 0xD8AC,
+ 22592 - 11904: 0x9ABB,
+ 22596 - 11904: 0x9A65,
+ 22599 - 11904: 0x944E,
+ 22600 - 11904: 0xD8A7,
+ 22601 - 11904: 0xDCE7,
+ 22602 - 11904: 0xB6F4,
+ 22603 - 11904: 0xB6F7,
+ 22604 - 11904: 0xB6F2,
+ 22605 - 11904: 0xDCE6,
+ 22606 - 11904: 0xDCEA,
+ 22607 - 11904: 0xDCE5,
+ 22609 - 11904: 0xB6EC,
+ 22610 - 11904: 0xB6F6,
+ 22611 - 11904: 0xDCE2,
+ 22612 - 11904: 0xB6F0,
+ 22613 - 11904: 0xDCE9,
+ 22615 - 11904: 0xB6EE,
+ 22616 - 11904: 0xB6ED,
+ 22617 - 11904: 0xDCEC,
+ 22618 - 11904: 0xB6EF,
+ 22619 - 11904: 0xDCEE,
+ 22620 - 11904: 0xFB6E,
+ 22621 - 11904: 0xDCEB,
+ 22622 - 11904: 0xB6EB,
+ 22623 - 11904: 0x99DF,
+ 22626 - 11904: 0xB6F5,
+ 22627 - 11904: 0xDCF0,
+ 22628 - 11904: 0xDCE4,
+ 22629 - 11904: 0xDCED,
+ 22632 - 11904: 0xDCE3,
+ 22633 - 11904: 0x98E3,
+ 22635 - 11904: 0xB6F1,
+ 22636 - 11904: 0x9254,
+ 22637 - 11904: 0xB6F3,
+ 22639 - 11904: 0xDCE8,
+ 22641 - 11904: 0xDCF1,
+ 22642 - 11904: 0x967B,
+ 22643 - 11904: 0x8AAF,
+ 22644 - 11904: 0xE15D,
+ 22645 - 11904: 0xB9D0,
+ 22646 - 11904: 0xE163,
+ 22649 - 11904: 0xB9D5,
+ 22650 - 11904: 0xE15F,
+ 22651 - 11904: 0xE166,
+ 22652 - 11904: 0xE157,
+ 22653 - 11904: 0xB9D7,
+ 22654 - 11904: 0xB9D1,
+ 22655 - 11904: 0xE15C,
+ 22656 - 11904: 0xBC55,
+ 22657 - 11904: 0xE15B,
+ 22658 - 11904: 0xE164,
+ 22659 - 11904: 0xB9D2,
+ 22661 - 11904: 0xB9D6,
+ 22662 - 11904: 0xE15A,
+ 22663 - 11904: 0xE160,
+ 22664 - 11904: 0xE165,
+ 22665 - 11904: 0xE156,
+ 22666 - 11904: 0xB9D4,
+ 22667 - 11904: 0xE15E,
+ 22670 - 11904: 0xE162,
+ 22671 - 11904: 0xE168,
+ 22672 - 11904: 0xE158,
+ 22673 - 11904: 0xE161,
+ 22674 - 11904: 0x8C77,
+ 22675 - 11904: 0xB9D3,
+ 22676 - 11904: 0xE167,
+ 22678 - 11904: 0x87B0,
+ 22680 - 11904: 0xE159,
+ 22681 - 11904: 0x8BAF,
+ 22682 - 11904: 0x9EBD,
+ 22684 - 11904: 0xBC59,
+ 22685 - 11904: 0xE54B,
+ 22686 - 11904: 0xBC57,
+ 22687 - 11904: 0xBC56,
+ 22688 - 11904: 0xE54D,
+ 22689 - 11904: 0xE552,
+ 22691 - 11904: 0xE54E,
+ 22693 - 11904: 0xE551,
+ 22694 - 11904: 0xBC5C,
+ 22695 - 11904: 0x9EE6,
+ 22696 - 11904: 0xBEA5,
+ 22697 - 11904: 0xBC5B,
+ 22698 - 11904: 0xFB6F,
+ 22699 - 11904: 0xE54A,
+ 22700 - 11904: 0xE550,
+ 22702 - 11904: 0xBC5A,
+ 22703 - 11904: 0xE54F,
+ 22704 - 11904: 0x8EE1,
+ 22705 - 11904: 0xE54C,
+ 22707 - 11904: 0xBC58,
+ 22709 - 11904: 0x9B7D,
+ 22710 - 11904: 0x9C7E,
+ 22714 - 11904: 0xE94D,
+ 22715 - 11904: 0xF9D9,
+ 22716 - 11904: 0xE94F,
+ 22717 - 11904: 0xE94A,
+ 22718 - 11904: 0xBEC1,
+ 22719 - 11904: 0xE94C,
+ 22721 - 11904: 0xBEC0,
+ 22722 - 11904: 0xE94E,
+ 22725 - 11904: 0xBEC3,
+ 22726 - 11904: 0xE950,
+ 22727 - 11904: 0xBEC2,
+ 22728 - 11904: 0xE949,
+ 22729 - 11904: 0xE94B,
+ 22731 - 11904: 0x92EA,
+ 22734 - 11904: 0xC0A5,
+ 22735 - 11904: 0xECCC,
+ 22736 - 11904: 0x8C78,
+ 22737 - 11904: 0xC0A4,
+ 22738 - 11904: 0xECCD,
+ 22739 - 11904: 0xC0A3,
+ 22740 - 11904: 0xECCB,
+ 22741 - 11904: 0xC0A2,
+ 22742 - 11904: 0xECCA,
+ 22744 - 11904: 0xC253,
+ 22745 - 11904: 0xC252,
+ 22746 - 11904: 0xF1F6,
+ 22747 - 11904: 0xF1F8,
+ 22748 - 11904: 0xFB72,
+ 22749 - 11904: 0xF1F7,
+ 22750 - 11904: 0xC361,
+ 22751 - 11904: 0xC362,
+ 22752 - 11904: 0xFB71,
+ 22754 - 11904: 0xC363,
+ 22755 - 11904: 0xF442,
+ 22756 - 11904: 0xC45B,
+ 22759 - 11904: 0xF7D3,
+ 22760 - 11904: 0xF7D2,
+ 22761 - 11904: 0xC5F2,
+ 22763 - 11904: 0xA468,
+ 22764 - 11904: 0xA4D0,
+ 22767 - 11904: 0xA7A7,
+ 22768 - 11904: 0x895C,
+ 22770 - 11904: 0x98F0,
+ 22771 - 11904: 0x96F2,
+ 22772 - 11904: 0xCE5F,
+ 22777 - 11904: 0xB3FC,
+ 22778 - 11904: 0xB3FD,
+ 22779 - 11904: 0xFB74,
+ 22780 - 11904: 0xDCF2,
+ 22781 - 11904: 0xB9D8,
+ 22782 - 11904: 0xE169,
+ 22783 - 11904: 0xE553,
+ 22786 - 11904: 0x8BC1,
+ 22787 - 11904: 0xC95A,
+ 22788 - 11904: 0x895D,
+ 22789 - 11904: 0x89DE,
+ 22790 - 11904: 0xCAB0,
+ 22791 - 11904: 0x895E,
+ 22794 - 11904: 0xC6CA,
+ 22796 - 11904: 0xCC42,
+ 22797 - 11904: 0xCE60,
+ 22798 - 11904: 0xD159,
+ 22799 - 11904: 0xAE4C,
+ 22801 - 11904: 0xFE42,
+ 22802 - 11904: 0xF1F9,
+ 22804 - 11904: 0xC4DC,
+ 22805 - 11904: 0xA469,
+ 22806 - 11904: 0xA57E,
+ 22807 - 11904: 0xC970,
+ 22809 - 11904: 0xA667,
+ 22810 - 11904: 0xA668,
+ 22812 - 11904: 0xA95D,
+ 22813 - 11904: 0x8768,
+ 22815 - 11904: 0xFB7B,
+ 22816 - 11904: 0xB0F7,
+ 22818 - 11904: 0xB9DA,
+ 22820 - 11904: 0xB9DB,
+ 22821 - 11904: 0xB9D9,
+ 22823 - 11904: 0xA46A,
+ 22825 - 11904: 0xA4D1,
+ 22826 - 11904: 0xA4D3,
+ 22827 - 11904: 0xA4D2,
+ 22828 - 11904: 0xC95B,
+ 22829 - 11904: 0xA4D4,
+ 22830 - 11904: 0xA5A1,
+ 22831 - 11904: 0xC971,
+ 22833 - 11904: 0xA5A2,
+ 22834 - 11904: 0x895F,
+ 22836 - 11904: 0x8960,
+ 22839 - 11904: 0xA669,
+ 22840 - 11904: 0xA66A,
+ 22844 - 11904: 0xC9CB,
+ 22846 - 11904: 0xA7A8,
+ 22848 - 11904: 0xCAB1,
+ 22852 - 11904: 0xA961,
+ 22853 - 11904: 0xCC43,
+ 22855 - 11904: 0xA95F,
+ 22856 - 11904: 0xA960,
+ 22857 - 11904: 0xA95E,
+ 22858 - 11904: 0xD15A,
+ 22862 - 11904: 0xABB6,
+ 22863 - 11904: 0xABB5,
+ 22864 - 11904: 0xABB7,
+ 22865 - 11904: 0xABB4,
+ 22867 - 11904: 0xCE61,
+ 22868 - 11904: 0xA962,
+ 22869 - 11904: 0xABB3,
+ 22871 - 11904: 0xAE4D,
+ 22872 - 11904: 0xAE4E,
+ 22874 - 11904: 0xAE4F,
+ 22876 - 11904: 0xD4CD,
+ 22880 - 11904: 0xB3FE,
+ 22881 - 11904: 0xD8B4,
+ 22882 - 11904: 0xB0F8,
+ 22885 - 11904: 0x9BCD,
+ 22887 - 11904: 0xB6F8,
+ 22889 - 11904: 0xB9DD,
+ 22890 - 11904: 0xB9DC,
+ 22891 - 11904: 0xE16A,
+ 22893 - 11904: 0xBC5D,
+ 22894 - 11904: 0xBEC4,
+ 22896 - 11904: 0xEFC0,
+ 22897 - 11904: 0xF6DA,
+ 22898 - 11904: 0xF7D4,
+ 22899 - 11904: 0xA46B,
+ 22900 - 11904: 0xA5A3,
+ 22901 - 11904: 0x9DD3,
+ 22902 - 11904: 0xA5A4,
+ 22903 - 11904: 0xC9D1,
+ 22904 - 11904: 0xA66C,
+ 22905 - 11904: 0xA66F,
+ 22907 - 11904: 0xC9CF,
+ 22908 - 11904: 0xC9CD,
+ 22909 - 11904: 0xA66E,
+ 22910 - 11904: 0xC9D0,
+ 22911 - 11904: 0xC9D2,
+ 22912 - 11904: 0xC9CC,
+ 22913 - 11904: 0xA671,
+ 22914 - 11904: 0xA670,
+ 22915 - 11904: 0xA66D,
+ 22916 - 11904: 0xA66B,
+ 22917 - 11904: 0xC9CE,
+ 22921 - 11904: 0x984C,
+ 22922 - 11904: 0xA7B3,
+ 22925 - 11904: 0xA7B0,
+ 22926 - 11904: 0xCAB6,
+ 22927 - 11904: 0xCAB9,
+ 22928 - 11904: 0xCAB8,
+ 22930 - 11904: 0xA7AA,
+ 22931 - 11904: 0xA7B2,
+ 22932 - 11904: 0x9752,
+ 22934 - 11904: 0xA7AF,
+ 22935 - 11904: 0xCAB5,
+ 22936 - 11904: 0xCAB3,
+ 22937 - 11904: 0xA7AE,
+ 22938 - 11904: 0x95C3,
+ 22941 - 11904: 0xA7A9,
+ 22942 - 11904: 0xA7AC,
+ 22943 - 11904: 0x9BB6,
+ 22944 - 11904: 0xCAB4,
+ 22945 - 11904: 0xCABB,
+ 22946 - 11904: 0xCAB7,
+ 22947 - 11904: 0xA7AD,
+ 22948 - 11904: 0xA7B1,
+ 22949 - 11904: 0xA7B4,
+ 22950 - 11904: 0xCAB2,
+ 22951 - 11904: 0xCABA,
+ 22952 - 11904: 0xA7AB,
+ 22956 - 11904: 0x9AB9,
+ 22958 - 11904: 0xA967,
+ 22959 - 11904: 0xA96F,
+ 22960 - 11904: 0x97B3,
+ 22961 - 11904: 0xCC4F,
+ 22962 - 11904: 0xCC48,
+ 22963 - 11904: 0xA970,
+ 22964 - 11904: 0xCC53,
+ 22965 - 11904: 0xCC44,
+ 22966 - 11904: 0xCC4B,
+ 22967 - 11904: 0x9F74,
+ 22968 - 11904: 0x92F1,
+ 22969 - 11904: 0xA966,
+ 22970 - 11904: 0xCC45,
+ 22971 - 11904: 0xA964,
+ 22972 - 11904: 0xCC4C,
+ 22973 - 11904: 0xCC50,
+ 22974 - 11904: 0xA963,
+ 22975 - 11904: 0x8CFA,
+ 22976 - 11904: 0xCC51,
+ 22977 - 11904: 0xCC4A,
+ 22979 - 11904: 0xCC4D,
+ 22980 - 11904: 0x97DF,
+ 22981 - 11904: 0xA972,
+ 22982 - 11904: 0xA969,
+ 22983 - 11904: 0xCC54,
+ 22984 - 11904: 0xCC52,
+ 22985 - 11904: 0xFBA6,
+ 22986 - 11904: 0xA96E,
+ 22987 - 11904: 0xA96C,
+ 22988 - 11904: 0xCC49,
+ 22989 - 11904: 0xA96B,
+ 22990 - 11904: 0xCC47,
+ 22991 - 11904: 0xCC46,
+ 22992 - 11904: 0xA96A,
+ 22993 - 11904: 0xA968,
+ 22994 - 11904: 0xA971,
+ 22995 - 11904: 0xA96D,
+ 22996 - 11904: 0xA965,
+ 22998 - 11904: 0xCC4E,
+ 23000 - 11904: 0xABB9,
+ 23001 - 11904: 0xFBAB,
+ 23002 - 11904: 0xABC0,
+ 23003 - 11904: 0xCE6F,
+ 23004 - 11904: 0xABB8,
+ 23005 - 11904: 0xCE67,
+ 23006 - 11904: 0xCE63,
+ 23008 - 11904: 0xCE73,
+ 23009 - 11904: 0xCE62,
+ 23011 - 11904: 0xABBB,
+ 23012 - 11904: 0xCE6C,
+ 23013 - 11904: 0xABBE,
+ 23014 - 11904: 0xABC1,
+ 23016 - 11904: 0xABBC,
+ 23017 - 11904: 0xCE70,
+ 23018 - 11904: 0xABBF,
+ 23019 - 11904: 0x9877,
+ 23020 - 11904: 0xAE56,
+ 23021 - 11904: 0xCE76,
+ 23022 - 11904: 0xCE64,
+ 23023 - 11904: 0x9854,
+ 23024 - 11904: 0x95C5,
+ 23025 - 11904: 0xCE66,
+ 23026 - 11904: 0xCE6D,
+ 23027 - 11904: 0xCE71,
+ 23028 - 11904: 0xCE75,
+ 23029 - 11904: 0xCE72,
+ 23030 - 11904: 0xCE6B,
+ 23031 - 11904: 0xCE6E,
+ 23032 - 11904: 0x9D55,
+ 23033 - 11904: 0xFBB2,
+ 23034 - 11904: 0xCE68,
+ 23035 - 11904: 0xABC3,
+ 23036 - 11904: 0xCE6A,
+ 23037 - 11904: 0xCE69,
+ 23038 - 11904: 0xCE74,
+ 23039 - 11904: 0xABBA,
+ 23040 - 11904: 0xCE65,
+ 23041 - 11904: 0xABC2,
+ 23042 - 11904: 0x957E,
+ 23043 - 11904: 0xABBD,
+ 23049 - 11904: 0xAE5C,
+ 23050 - 11904: 0xD162,
+ 23051 - 11904: 0x9742,
+ 23052 - 11904: 0xAE5B,
+ 23053 - 11904: 0x94E6,
+ 23055 - 11904: 0xD160,
+ 23057 - 11904: 0xAE50,
+ 23058 - 11904: 0x92F5,
+ 23059 - 11904: 0xAE55,
+ 23061 - 11904: 0xD15F,
+ 23062 - 11904: 0xD15C,
+ 23063 - 11904: 0xD161,
+ 23064 - 11904: 0xAE51,
+ 23065 - 11904: 0xD15B,
+ 23066 - 11904: 0x8CC5,
+ 23067 - 11904: 0xAE54,
+ 23068 - 11904: 0xAE52,
+ 23070 - 11904: 0xD163,
+ 23071 - 11904: 0xAE53,
+ 23072 - 11904: 0xAE57,
+ 23073 - 11904: 0x92FD,
+ 23075 - 11904: 0xAE58,
+ 23076 - 11904: 0xFBA2,
+ 23077 - 11904: 0xAE5A,
+ 23079 - 11904: 0x9C51,
+ 23081 - 11904: 0xAE59,
+ 23082 - 11904: 0x94E9,
+ 23083 - 11904: 0x985C,
+ 23084 - 11904: 0x92F0,
+ 23085 - 11904: 0xD15D,
+ 23086 - 11904: 0xD15E,
+ 23091 - 11904: 0xD164,
+ 23093 - 11904: 0xD4D4,
+ 23094 - 11904: 0xB0F9,
+ 23095 - 11904: 0xD8C2,
+ 23096 - 11904: 0xD4D3,
+ 23097 - 11904: 0xD4E6,
+ 23100 - 11904: 0xB140,
+ 23101 - 11904: 0x944C,
+ 23102 - 11904: 0xD4E4,
+ 23104 - 11904: 0xB0FE,
+ 23105 - 11904: 0xB0FA,
+ 23106 - 11904: 0xD4ED,
+ 23107 - 11904: 0xD4DD,
+ 23108 - 11904: 0xD4E0,
+ 23109 - 11904: 0x916B,
+ 23110 - 11904: 0xB143,
+ 23111 - 11904: 0xD4EA,
+ 23112 - 11904: 0xD4E2,
+ 23113 - 11904: 0xB0FB,
+ 23114 - 11904: 0xB144,
+ 23116 - 11904: 0xD4E7,
+ 23117 - 11904: 0xD4E5,
+ 23120 - 11904: 0xD4D6,
+ 23121 - 11904: 0xD4EB,
+ 23122 - 11904: 0xD4DF,
+ 23123 - 11904: 0xD4DA,
+ 23124 - 11904: 0x8B78,
+ 23125 - 11904: 0xD4D0,
+ 23126 - 11904: 0xD4EC,
+ 23127 - 11904: 0xD4DC,
+ 23128 - 11904: 0xD4CF,
+ 23129 - 11904: 0x94E2,
+ 23130 - 11904: 0xB142,
+ 23131 - 11904: 0xD4E1,
+ 23132 - 11904: 0xD4EE,
+ 23133 - 11904: 0xD4DE,
+ 23134 - 11904: 0xD4D2,
+ 23135 - 11904: 0xD4D7,
+ 23136 - 11904: 0xD4CE,
+ 23137 - 11904: 0x984F,
+ 23138 - 11904: 0xB141,
+ 23139 - 11904: 0xFBB5,
+ 23140 - 11904: 0xD4DB,
+ 23141 - 11904: 0xD4D8,
+ 23142 - 11904: 0xB0FC,
+ 23143 - 11904: 0xD4D1,
+ 23144 - 11904: 0x9271,
+ 23145 - 11904: 0xD4E9,
+ 23146 - 11904: 0xB0FD,
+ 23147 - 11904: 0x9365,
+ 23148 - 11904: 0xD4D9,
+ 23149 - 11904: 0xD4D5,
+ 23150 - 11904: 0x985B,
+ 23152 - 11904: 0xD4E8,
+ 23153 - 11904: 0x9850,
+ 23159 - 11904: 0xFBB8,
+ 23160 - 11904: 0xD8BB,
+ 23161 - 11904: 0x97BC,
+ 23162 - 11904: 0xD8B8,
+ 23163 - 11904: 0xD8C9,
+ 23164 - 11904: 0xD8BD,
+ 23165 - 11904: 0xD8CA,
+ 23166 - 11904: 0x92F3,
+ 23167 - 11904: 0xB442,
+ 23169 - 11904: 0x9340,
+ 23170 - 11904: 0x984D,
+ 23171 - 11904: 0xD8C6,
+ 23172 - 11904: 0xD8C3,
+ 23174 - 11904: 0x9572,
+ 23176 - 11904: 0xFDEF,
+ 23178 - 11904: 0xD8C4,
+ 23179 - 11904: 0xD8C7,
+ 23180 - 11904: 0xD8CB,
+ 23182 - 11904: 0xD4E3,
+ 23183 - 11904: 0xD8CD,
+ 23184 - 11904: 0xDD47,
+ 23185 - 11904: 0xFDC1,
+ 23186 - 11904: 0xB443,
+ 23187 - 11904: 0xD8CE,
+ 23188 - 11904: 0xD8B6,
+ 23189 - 11904: 0xD8C0,
+ 23190 - 11904: 0xFBBA,
+ 23191 - 11904: 0xD8C5,
+ 23193 - 11904: 0x92EB,
+ 23194 - 11904: 0xB441,
+ 23195 - 11904: 0xB444,
+ 23196 - 11904: 0xD8CC,
+ 23197 - 11904: 0xD8CF,
+ 23198 - 11904: 0xD8BA,
+ 23199 - 11904: 0xD8B7,
+ 23200 - 11904: 0xFC73,
+ 23201 - 11904: 0x97B7,
+ 23202 - 11904: 0xD8B9,
+ 23204 - 11904: 0x876F,
+ 23205 - 11904: 0xD8BE,
+ 23206 - 11904: 0xD8BC,
+ 23207 - 11904: 0xB445,
+ 23209 - 11904: 0xD8C8,
+ 23211 - 11904: 0xFBB4,
+ 23212 - 11904: 0xD8BF,
+ 23214 - 11904: 0xD8C1,
+ 23215 - 11904: 0xD8B5,
+ 23216 - 11904: 0xDCFA,
+ 23217 - 11904: 0xDCF8,
+ 23218 - 11904: 0xB742,
+ 23219 - 11904: 0xB740,
+ 23220 - 11904: 0xDD43,
+ 23221 - 11904: 0xDCF9,
+ 23222 - 11904: 0xDD44,
+ 23223 - 11904: 0xDD40,
+ 23224 - 11904: 0xDCF7,
+ 23225 - 11904: 0xDD46,
+ 23226 - 11904: 0xDCF6,
+ 23227 - 11904: 0xDCFD,
+ 23228 - 11904: 0xB6FE,
+ 23229 - 11904: 0xB6FD,
+ 23230 - 11904: 0xB6FC,
+ 23231 - 11904: 0xDCFB,
+ 23232 - 11904: 0xDD41,
+ 23233 - 11904: 0xB6F9,
+ 23234 - 11904: 0xB741,
+ 23235 - 11904: 0x90A7,
+ 23236 - 11904: 0xDCF4,
+ 23238 - 11904: 0xDCFE,
+ 23239 - 11904: 0xDCF3,
+ 23240 - 11904: 0xDCFC,
+ 23241 - 11904: 0xB6FA,
+ 23242 - 11904: 0xDD42,
+ 23243 - 11904: 0xDCF5,
+ 23244 - 11904: 0xB6FB,
+ 23245 - 11904: 0xDD45,
+ 23246 - 11904: 0x9741,
+ 23247 - 11904: 0x92F4,
+ 23249 - 11904: 0x8772,
+ 23251 - 11904: 0xFBBC,
+ 23253 - 11904: 0xE16E,
+ 23254 - 11904: 0xB9E2,
+ 23255 - 11904: 0xB9E1,
+ 23256 - 11904: 0xB9E3,
+ 23257 - 11904: 0xE17A,
+ 23258 - 11904: 0xE170,
+ 23259 - 11904: 0xE176,
+ 23260 - 11904: 0xE16B,
+ 23261 - 11904: 0xE179,
+ 23262 - 11904: 0xE178,
+ 23263 - 11904: 0xE17C,
+ 23264 - 11904: 0xE175,
+ 23265 - 11904: 0xB9DE,
+ 23266 - 11904: 0xE174,
+ 23267 - 11904: 0xB9E4,
+ 23268 - 11904: 0x9577,
+ 23269 - 11904: 0xE16D,
+ 23270 - 11904: 0xB9DF,
+ 23272 - 11904: 0xE17B,
+ 23273 - 11904: 0xB9E0,
+ 23274 - 11904: 0xE16F,
+ 23275 - 11904: 0xE172,
+ 23276 - 11904: 0xE177,
+ 23277 - 11904: 0xE171,
+ 23278 - 11904: 0xE16C,
+ 23280 - 11904: 0x9EE2,
+ 23282 - 11904: 0x8F78,
+ 23283 - 11904: 0xE173,
+ 23284 - 11904: 0xE555,
+ 23285 - 11904: 0xBC61,
+ 23286 - 11904: 0xE558,
+ 23287 - 11904: 0xE557,
+ 23288 - 11904: 0xE55A,
+ 23289 - 11904: 0xE55C,
+ 23290 - 11904: 0xF9DC,
+ 23291 - 11904: 0xBC5F,
+ 23293 - 11904: 0xE556,
+ 23294 - 11904: 0x9672,
+ 23295 - 11904: 0xE554,
+ 23297 - 11904: 0xE55D,
+ 23298 - 11904: 0xE55B,
+ 23299 - 11904: 0xE559,
+ 23301 - 11904: 0xE55F,
+ 23303 - 11904: 0xE55E,
+ 23304 - 11904: 0xBC63,
+ 23305 - 11904: 0xBC5E,
+ 23307 - 11904: 0xBC60,
+ 23308 - 11904: 0xBC62,
+ 23309 - 11904: 0x9EB5,
+ 23311 - 11904: 0xE560,
+ 23312 - 11904: 0xE957,
+ 23313 - 11904: 0x964B,
+ 23315 - 11904: 0xE956,
+ 23316 - 11904: 0xE955,
+ 23317 - 11904: 0x8CAC,
+ 23318 - 11904: 0xE958,
+ 23319 - 11904: 0xE951,
+ 23321 - 11904: 0xE952,
+ 23322 - 11904: 0xE95A,
+ 23323 - 11904: 0xE953,
+ 23325 - 11904: 0xBEC5,
+ 23326 - 11904: 0xE95C,
+ 23327 - 11904: 0xA0FA,
+ 23328 - 11904: 0xE95B,
+ 23329 - 11904: 0xE954,
+ 23331 - 11904: 0xECD1,
+ 23332 - 11904: 0xC0A8,
+ 23333 - 11904: 0xECCF,
+ 23334 - 11904: 0xECD4,
+ 23335 - 11904: 0xECD3,
+ 23336 - 11904: 0xE959,
+ 23338 - 11904: 0xC0A7,
+ 23339 - 11904: 0x9575,
+ 23340 - 11904: 0xECD2,
+ 23341 - 11904: 0xECCE,
+ 23342 - 11904: 0xECD6,
+ 23343 - 11904: 0xECD5,
+ 23344 - 11904: 0xC0A6,
+ 23346 - 11904: 0xECD0,
+ 23348 - 11904: 0xBEC6,
+ 23352 - 11904: 0xC254,
+ 23356 - 11904: 0xEFC1,
+ 23357 - 11904: 0xF1FA,
+ 23358 - 11904: 0xF1FB,
+ 23359 - 11904: 0xF1FC,
+ 23360 - 11904: 0xC45C,
+ 23361 - 11904: 0x90DA,
+ 23363 - 11904: 0xC45D,
+ 23364 - 11904: 0x9367,
+ 23365 - 11904: 0xF443,
+ 23366 - 11904: 0xFEA4,
+ 23367 - 11904: 0xF5C8,
+ 23368 - 11904: 0xF5C7,
+ 23370 - 11904: 0x90DF,
+ 23371 - 11904: 0xF6DB,
+ 23372 - 11904: 0xF6DC,
+ 23373 - 11904: 0xF7D5,
+ 23374 - 11904: 0xF8A7,
+ 23375 - 11904: 0x9354,
+ 23376 - 11904: 0xA46C,
+ 23377 - 11904: 0xA46D,
+ 23379 - 11904: 0xA46E,
+ 23380 - 11904: 0xA4D5,
+ 23381 - 11904: 0xA5A5,
+ 23382 - 11904: 0xC9D3,
+ 23383 - 11904: 0xA672,
+ 23384 - 11904: 0xA673,
+ 23386 - 11904: 0xA7B7,
+ 23387 - 11904: 0xA7B8,
+ 23388 - 11904: 0xA7B6,
+ 23389 - 11904: 0xA7B5,
+ 23391 - 11904: 0xA973,
+ 23394 - 11904: 0xCC55,
+ 23395 - 11904: 0xA975,
+ 23396 - 11904: 0xA974,
+ 23397 - 11904: 0xCC56,
+ 23398 - 11904: 0x8961,
+ 23400 - 11904: 0x8BB4,
+ 23401 - 11904: 0xABC4,
+ 23403 - 11904: 0xAE5D,
+ 23404 - 11904: 0xD165,
+ 23405 - 11904: 0x9DC0,
+ 23406 - 11904: 0xD4F0,
+ 23408 - 11904: 0xB145,
+ 23409 - 11904: 0xB447,
+ 23410 - 11904: 0xD4EF,
+ 23411 - 11904: 0xB446,
+ 23412 - 11904: 0x8E48,
+ 23413 - 11904: 0xB9E5,
+ 23414 - 11904: 0xFBC5,
+ 23415 - 11904: 0xE17D,
+ 23416 - 11904: 0xBEC7,
+ 23418 - 11904: 0xC0A9,
+ 23419 - 11904: 0xECD7,
+ 23420 - 11904: 0xFBC7,
+ 23421 - 11904: 0xC45E,
+ 23423 - 11904: 0xC570,
+ 23424 - 11904: 0xC6CB,
+ 23425 - 11904: 0xC972,
+ 23426 - 11904: 0xFA79,
+ 23427 - 11904: 0xA5A6,
+ 23428 - 11904: 0xC973,
+ 23429 - 11904: 0xA676,
+ 23431 - 11904: 0xA674,
+ 23432 - 11904: 0xA675,
+ 23433 - 11904: 0xA677,
+ 23435 - 11904: 0xA7BA,
+ 23436 - 11904: 0xA7B9,
+ 23438 - 11904: 0xCABC,
+ 23439 - 11904: 0xA7BB,
+ 23440 - 11904: 0x9E67,
+ 23442 - 11904: 0xCABD,
+ 23443 - 11904: 0xCC57,
+ 23445 - 11904: 0xCC58,
+ 23446 - 11904: 0x8CD9,
+ 23447 - 11904: 0xA976,
+ 23448 - 11904: 0xA978,
+ 23449 - 11904: 0xA97A,
+ 23450 - 11904: 0xA977,
+ 23451 - 11904: 0xA97B,
+ 23452 - 11904: 0xA979,
+ 23453 - 11904: 0xFBD2,
+ 23454 - 11904: 0x8962,
+ 23455 - 11904: 0x8963,
+ 23458 - 11904: 0xABC8,
+ 23459 - 11904: 0xABC5,
+ 23460 - 11904: 0xABC7,
+ 23461 - 11904: 0xABC9,
+ 23462 - 11904: 0xABC6,
+ 23463 - 11904: 0xD166,
+ 23464 - 11904: 0xCE77,
+ 23466 - 11904: 0xFC7D,
+ 23468 - 11904: 0xD168,
+ 23469 - 11904: 0xD167,
+ 23470 - 11904: 0xAE63,
+ 23472 - 11904: 0xAE5F,
+ 23475 - 11904: 0xAE60,
+ 23476 - 11904: 0xAE62,
+ 23477 - 11904: 0xAE64,
+ 23478 - 11904: 0xAE61,
+ 23479 - 11904: 0x8773,
+ 23480 - 11904: 0xAE66,
+ 23481 - 11904: 0xAE65,
+ 23487 - 11904: 0xB14A,
+ 23488 - 11904: 0xD4F2,
+ 23489 - 11904: 0xD4F1,
+ 23490 - 11904: 0xB149,
+ 23491 - 11904: 0x9F6B,
+ 23492 - 11904: 0xB148,
+ 23493 - 11904: 0xB147,
+ 23494 - 11904: 0xB14B,
+ 23495 - 11904: 0xB146,
+ 23498 - 11904: 0xD8D5,
+ 23499 - 11904: 0xD8D2,
+ 23500 - 11904: 0xB449,
+ 23501 - 11904: 0xD8D1,
+ 23502 - 11904: 0xD8D6,
+ 23504 - 11904: 0xB44B,
+ 23505 - 11904: 0xD8D4,
+ 23506 - 11904: 0xB448,
+ 23507 - 11904: 0xB44A,
+ 23508 - 11904: 0xD8D3,
+ 23509 - 11904: 0xFBCC,
+ 23510 - 11904: 0xDD48,
+ 23511 - 11904: 0xFEAE,
+ 23512 - 11904: 0xDD49,
+ 23513 - 11904: 0xDD4A,
+ 23515 - 11904: 0x876D,
+ 23518 - 11904: 0xB9E6,
+ 23519 - 11904: 0xB9EE,
+ 23520 - 11904: 0xE17E,
+ 23521 - 11904: 0xB9E8,
+ 23522 - 11904: 0xB9EC,
+ 23523 - 11904: 0xE1A1,
+ 23524 - 11904: 0xB9ED,
+ 23525 - 11904: 0xB9E9,
+ 23526 - 11904: 0xB9EA,
+ 23527 - 11904: 0xB9E7,
+ 23528 - 11904: 0xB9EB,
+ 23529 - 11904: 0xBC66,
+ 23530 - 11904: 0xD8D0,
+ 23531 - 11904: 0xBC67,
+ 23532 - 11904: 0xBC65,
+ 23534 - 11904: 0xBC64,
+ 23535 - 11904: 0xE95D,
+ 23536 - 11904: 0xBEC8,
+ 23537 - 11904: 0xECD8,
+ 23538 - 11904: 0xECD9,
+ 23539 - 11904: 0xFBD1,
+ 23541 - 11904: 0xC364,
+ 23542 - 11904: 0xC45F,
+ 23544 - 11904: 0xA46F,
+ 23546 - 11904: 0xA678,
+ 23551 - 11904: 0xFB75,
+ 23553 - 11904: 0xABCA,
+ 23555 - 11904: 0xD169,
+ 23556 - 11904: 0xAE67,
+ 23557 - 11904: 0xFBD4,
+ 23559 - 11904: 0xB14E,
+ 23560 - 11904: 0xB14D,
+ 23561 - 11904: 0xB14C,
+ 23562 - 11904: 0xB44C,
+ 23563 - 11904: 0xB44D,
+ 23564 - 11904: 0xD8D7,
+ 23565 - 11904: 0xB9EF,
+ 23566 - 11904: 0xBEC9,
+ 23567 - 11904: 0xA470,
+ 23568 - 11904: 0xC95C,
+ 23569 - 11904: 0xA4D6,
+ 23570 - 11904: 0xC974,
+ 23571 - 11904: 0xFBD6,
+ 23572 - 11904: 0xFBD8,
+ 23573 - 11904: 0xC9D4,
+ 23574 - 11904: 0xA679,
+ 23578 - 11904: 0xA97C,
+ 23580 - 11904: 0x8B5D,
+ 23582 - 11904: 0x934C,
+ 23583 - 11904: 0xDD4B,
+ 23584 - 11904: 0x9AE2,
+ 23586 - 11904: 0xA471,
+ 23587 - 11904: 0x8BC9,
+ 23588 - 11904: 0xA4D7,
+ 23589 - 11904: 0xC9D5,
+ 23592 - 11904: 0xCABE,
+ 23594 - 11904: 0xCABF,
+ 23596 - 11904: 0xA7BC,
+ 23600 - 11904: 0xD8D8,
+ 23601 - 11904: 0xB44E,
+ 23603 - 11904: 0xDD4C,
+ 23607 - 11904: 0xC0AA,
+ 23608 - 11904: 0xA472,
+ 23609 - 11904: 0xA4A8,
+ 23610 - 11904: 0xA4D8,
+ 23611 - 11904: 0xC975,
+ 23612 - 11904: 0xA5A7,
+ 23614 - 11904: 0xA7C0,
+ 23615 - 11904: 0xA7BF,
+ 23616 - 11904: 0xA7BD,
+ 23617 - 11904: 0xA7BE,
+ 23620 - 11904: 0xCC59,
+ 23621 - 11904: 0xA97E,
+ 23622 - 11904: 0xA9A1,
+ 23623 - 11904: 0xCC5A,
+ 23624 - 11904: 0xA97D,
+ 23625 - 11904: 0xFBDB,
+ 23626 - 11904: 0x9FC9,
+ 23627 - 11904: 0xABCE,
+ 23628 - 11904: 0xCE78,
+ 23629 - 11904: 0xABCD,
+ 23630 - 11904: 0xABCB,
+ 23631 - 11904: 0xABCC,
+ 23632 - 11904: 0xAE6A,
+ 23633 - 11904: 0xAE68,
+ 23635 - 11904: 0x9F44,
+ 23636 - 11904: 0xD16B,
+ 23637 - 11904: 0xAE69,
+ 23638 - 11904: 0xD16A,
+ 23640 - 11904: 0xAE5E,
+ 23641 - 11904: 0xD4F3,
+ 23644 - 11904: 0xB150,
+ 23645 - 11904: 0xB151,
+ 23646 - 11904: 0x98ED,
+ 23648 - 11904: 0xB14F,
+ 23650 - 11904: 0xB9F0,
+ 23651 - 11904: 0xE1A2,
+ 23652 - 11904: 0xBC68,
+ 23653 - 11904: 0xBC69,
+ 23655 - 11904: 0xE561,
+ 23656 - 11904: 0xC0AB,
+ 23657 - 11904: 0xEFC2,
+ 23658 - 11904: 0xEFC3,
+ 23660 - 11904: 0xC4DD,
+ 23661 - 11904: 0xF8A8,
+ 23662 - 11904: 0xC94B,
+ 23663 - 11904: 0xA4D9,
+ 23665 - 11904: 0xA473,
+ 23667 - 11904: 0xC977,
+ 23668 - 11904: 0xC976,
+ 23672 - 11904: 0x8CE9,
+ 23673 - 11904: 0xA67A,
+ 23674 - 11904: 0xC9D7,
+ 23675 - 11904: 0xC9D8,
+ 23676 - 11904: 0xC9D6,
+ 23678 - 11904: 0xC9D9,
+ 23685 - 11904: 0xFBDD,
+ 23686 - 11904: 0xCAC7,
+ 23688 - 11904: 0xCAC2,
+ 23689 - 11904: 0xCAC4,
+ 23690 - 11904: 0xCAC6,
+ 23691 - 11904: 0xCAC3,
+ 23692 - 11904: 0xA7C4,
+ 23693 - 11904: 0xCAC0,
+ 23695 - 11904: 0xCAC1,
+ 23696 - 11904: 0xA7C1,
+ 23697 - 11904: 0xA7C2,
+ 23698 - 11904: 0xCAC5,
+ 23699 - 11904: 0xCAC8,
+ 23700 - 11904: 0xA7C3,
+ 23701 - 11904: 0xCAC9,
+ 23705 - 11904: 0x8DF2,
+ 23706 - 11904: 0x8964,
+ 23708 - 11904: 0xFDF2,
+ 23709 - 11904: 0xCC68,
+ 23710 - 11904: 0x934D,
+ 23711 - 11904: 0xCC62,
+ 23712 - 11904: 0xCC5D,
+ 23713 - 11904: 0xA9A3,
+ 23714 - 11904: 0xCC65,
+ 23715 - 11904: 0xCC63,
+ 23716 - 11904: 0xCC5C,
+ 23717 - 11904: 0xCC69,
+ 23718 - 11904: 0xCC6C,
+ 23719 - 11904: 0xCC67,
+ 23720 - 11904: 0xCC60,
+ 23721 - 11904: 0xA9A5,
+ 23722 - 11904: 0xCC66,
+ 23723 - 11904: 0xA9A6,
+ 23724 - 11904: 0xCC61,
+ 23725 - 11904: 0xCC64,
+ 23726 - 11904: 0xCC5B,
+ 23727 - 11904: 0xCC5F,
+ 23728 - 11904: 0xCC6B,
+ 23729 - 11904: 0xA9A7,
+ 23731 - 11904: 0xA9A8,
+ 23733 - 11904: 0xCC5E,
+ 23734 - 11904: 0xCC6A,
+ 23735 - 11904: 0xA9A2,
+ 23736 - 11904: 0xA9A4,
+ 23738 - 11904: 0xFBE7,
+ 23745 - 11904: 0xA0F2,
+ 23746 - 11904: 0x9868,
+ 23750 - 11904: 0xCEAB,
+ 23751 - 11904: 0xCEA4,
+ 23752 - 11904: 0xCEAA,
+ 23753 - 11904: 0xCEA3,
+ 23754 - 11904: 0xCEA5,
+ 23755 - 11904: 0xCE7D,
+ 23756 - 11904: 0xCE7B,
+ 23758 - 11904: 0xCEAC,
+ 23759 - 11904: 0xCEA9,
+ 23760 - 11904: 0xCE79,
+ 23761 - 11904: 0x9F58,
+ 23762 - 11904: 0xABD0,
+ 23763 - 11904: 0xCEA7,
+ 23764 - 11904: 0xCEA8,
+ 23765 - 11904: 0x8CE6,
+ 23766 - 11904: 0xCEA6,
+ 23767 - 11904: 0xCE7C,
+ 23768 - 11904: 0xCE7A,
+ 23769 - 11904: 0xABCF,
+ 23770 - 11904: 0xCEA2,
+ 23771 - 11904: 0xCE7E,
+ 23774 - 11904: 0xCEA1,
+ 23775 - 11904: 0xCEAD,
+ 23781 - 11904: 0x8D73,
+ 23784 - 11904: 0xAE6F,
+ 23785 - 11904: 0xFBDE,
+ 23786 - 11904: 0xAE6E,
+ 23788 - 11904: 0xD16C,
+ 23789 - 11904: 0xAE6B,
+ 23790 - 11904: 0xD16E,
+ 23791 - 11904: 0xFBDF,
+ 23792 - 11904: 0xAE70,
+ 23793 - 11904: 0xD16F,
+ 23796 - 11904: 0xAE73,
+ 23797 - 11904: 0x8C48,
+ 23798 - 11904: 0xAE71,
+ 23799 - 11904: 0xD170,
+ 23800 - 11904: 0xCEAE,
+ 23801 - 11904: 0xD172,
+ 23803 - 11904: 0xAE6D,
+ 23804 - 11904: 0x8774,
+ 23805 - 11904: 0xAE6C,
+ 23807 - 11904: 0xD16D,
+ 23808 - 11904: 0xD171,
+ 23809 - 11904: 0xAE72,
+ 23814 - 11904: 0xB153,
+ 23815 - 11904: 0xB152,
+ 23819 - 11904: 0xD4F5,
+ 23820 - 11904: 0xD4F9,
+ 23821 - 11904: 0xD4FB,
+ 23822 - 11904: 0xB154,
+ 23823 - 11904: 0xD4FE,
+ 23824 - 11904: 0xFBE3,
+ 23825 - 11904: 0xB158,
+ 23826 - 11904: 0xD541,
+ 23828 - 11904: 0xB15A,
+ 23829 - 11904: 0x8DA8,
+ 23830 - 11904: 0xB156,
+ 23831 - 11904: 0xB15E,
+ 23832 - 11904: 0xFBE4,
+ 23833 - 11904: 0xB15B,
+ 23834 - 11904: 0xD4F7,
+ 23835 - 11904: 0xB155,
+ 23837 - 11904: 0xD4F6,
+ 23838 - 11904: 0xD4F4,
+ 23839 - 11904: 0xD543,
+ 23840 - 11904: 0xD4F8,
+ 23842 - 11904: 0xB157,
+ 23843 - 11904: 0xD542,
+ 23844 - 11904: 0xB15C,
+ 23845 - 11904: 0xD4FD,
+ 23846 - 11904: 0xD4FC,
+ 23847 - 11904: 0xB15D,
+ 23848 - 11904: 0xD4FA,
+ 23849 - 11904: 0xB159,
+ 23852 - 11904: 0x9C75,
+ 23854 - 11904: 0xD544,
+ 23855 - 11904: 0x9878,
+ 23856 - 11904: 0xD540,
+ 23857 - 11904: 0xD8E7,
+ 23858 - 11904: 0xD8EE,
+ 23859 - 11904: 0xD8E3,
+ 23860 - 11904: 0xB451,
+ 23861 - 11904: 0xD8DF,
+ 23862 - 11904: 0xD8EF,
+ 23863 - 11904: 0xD8D9,
+ 23864 - 11904: 0xD8EC,
+ 23865 - 11904: 0xD8EA,
+ 23866 - 11904: 0xD8E4,
+ 23868 - 11904: 0xD8ED,
+ 23869 - 11904: 0xD8E6,
+ 23870 - 11904: 0x8D60,
+ 23871 - 11904: 0xD8DE,
+ 23872 - 11904: 0xD8F0,
+ 23873 - 11904: 0xD8DC,
+ 23874 - 11904: 0xD8E9,
+ 23875 - 11904: 0xD8DA,
+ 23877 - 11904: 0xD8F1,
+ 23878 - 11904: 0xFBE5,
+ 23879 - 11904: 0xB452,
+ 23880 - 11904: 0x8D61,
+ 23881 - 11904: 0xD8EB,
+ 23882 - 11904: 0xDD4F,
+ 23883 - 11904: 0xD8DD,
+ 23884 - 11904: 0xB44F,
+ 23886 - 11904: 0xD8E1,
+ 23888 - 11904: 0xB450,
+ 23889 - 11904: 0xD8E0,
+ 23890 - 11904: 0xD8E5,
+ 23893 - 11904: 0xD8E2,
+ 23894 - 11904: 0x8D62,
+ 23895 - 11904: 0xA0A1,
+ 23897 - 11904: 0xD8E8,
+ 23899 - 11904: 0x9C40,
+ 23902 - 11904: 0xDD53,
+ 23906 - 11904: 0xDD56,
+ 23907 - 11904: 0xDD4E,
+ 23909 - 11904: 0xDD50,
+ 23911 - 11904: 0xDD55,
+ 23912 - 11904: 0xDD54,
+ 23913 - 11904: 0xB743,
+ 23915 - 11904: 0xD8DB,
+ 23916 - 11904: 0xDD52,
+ 23919 - 11904: 0xB744,
+ 23920 - 11904: 0x98AD,
+ 23921 - 11904: 0xDD4D,
+ 23922 - 11904: 0xDD51,
+ 23924 - 11904: 0x9EEA,
+ 23927 - 11904: 0xE1A9,
+ 23928 - 11904: 0x8CEC,
+ 23929 - 11904: 0xE1B0,
+ 23930 - 11904: 0xE1A7,
+ 23931 - 11904: 0x8CD4,
+ 23932 - 11904: 0xE1AE,
+ 23933 - 11904: 0xE1A5,
+ 23934 - 11904: 0xE1AD,
+ 23935 - 11904: 0xE1B1,
+ 23936 - 11904: 0xE1A4,
+ 23937 - 11904: 0xE1A8,
+ 23938 - 11904: 0xE1A3,
+ 23940 - 11904: 0xB9F1,
+ 23941 - 11904: 0x9CEB,
+ 23942 - 11904: 0xE1A6,
+ 23943 - 11904: 0xB9F2,
+ 23944 - 11904: 0xE1AC,
+ 23945 - 11904: 0xE1AB,
+ 23946 - 11904: 0xE1AA,
+ 23947 - 11904: 0xFBE0,
+ 23949 - 11904: 0xE1AF,
+ 23950 - 11904: 0x9F51,
+ 23954 - 11904: 0xE565,
+ 23955 - 11904: 0xE567,
+ 23956 - 11904: 0xBC6B,
+ 23957 - 11904: 0xE568,
+ 23959 - 11904: 0xE563,
+ 23961 - 11904: 0xE562,
+ 23962 - 11904: 0xE56C,
+ 23964 - 11904: 0xE56A,
+ 23965 - 11904: 0xBC6A,
+ 23966 - 11904: 0xE56D,
+ 23967 - 11904: 0xE564,
+ 23968 - 11904: 0xE569,
+ 23969 - 11904: 0xE56B,
+ 23970 - 11904: 0xE566,
+ 23972 - 11904: 0x8D65,
+ 23975 - 11904: 0xE961,
+ 23976 - 11904: 0xE966,
+ 23977 - 11904: 0xE960,
+ 23978 - 11904: 0xE965,
+ 23979 - 11904: 0x9CF1,
+ 23980 - 11904: 0xE95E,
+ 23981 - 11904: 0xE968,
+ 23982 - 11904: 0xE964,
+ 23983 - 11904: 0xE969,
+ 23984 - 11904: 0xE963,
+ 23985 - 11904: 0xE95F,
+ 23986 - 11904: 0xE967,
+ 23988 - 11904: 0xE96A,
+ 23989 - 11904: 0xE962,
+ 23990 - 11904: 0xFC58,
+ 23991 - 11904: 0xECDA,
+ 23992 - 11904: 0xC0AF,
+ 23993 - 11904: 0x8D66,
+ 23994 - 11904: 0xC0AD,
+ 23996 - 11904: 0xC0AC,
+ 23997 - 11904: 0xC0AE,
+ 24000 - 11904: 0xEFC4,
+ 24001 - 11904: 0x9654,
+ 24002 - 11904: 0xF172,
+ 24003 - 11904: 0xF1FD,
+ 24006 - 11904: 0xF444,
+ 24007 - 11904: 0xF445,
+ 24009 - 11904: 0xC460,
+ 24011 - 11904: 0xF5C9,
+ 24013 - 11904: 0xC4DE,
+ 24015 - 11904: 0xF5CA,
+ 24017 - 11904: 0xF6DE,
+ 24018 - 11904: 0xC572,
+ 24020 - 11904: 0xC571,
+ 24021 - 11904: 0xF6DD,
+ 24022 - 11904: 0xC5C9,
+ 24023 - 11904: 0xFBE8,
+ 24024 - 11904: 0xF7D6,
+ 24027 - 11904: 0xC6CC,
+ 24029 - 11904: 0xA474,
+ 24030 - 11904: 0xA67B,
+ 24031 - 11904: 0xC9DA,
+ 24032 - 11904: 0xCACA,
+ 24033 - 11904: 0xA8B5,
+ 24034 - 11904: 0xB15F,
+ 24037 - 11904: 0xA475,
+ 24038 - 11904: 0xA5AA,
+ 24039 - 11904: 0xA5A9,
+ 24040 - 11904: 0xA5A8,
+ 24043 - 11904: 0xA7C5,
+ 24046 - 11904: 0xAE74,
+ 24048 - 11904: 0xDD57,
+ 24049 - 11904: 0xA476,
+ 24050 - 11904: 0xA477,
+ 24051 - 11904: 0xA478,
+ 24052 - 11904: 0xA4DA,
+ 24053 - 11904: 0x9FCE,
+ 24055 - 11904: 0xABD1,
+ 24057 - 11904: 0xCEAF,
+ 24061 - 11904: 0xB453,
+ 24062 - 11904: 0xA479,
+ 24063 - 11904: 0xC95D,
+ 24066 - 11904: 0xA5AB,
+ 24067 - 11904: 0xA5AC,
+ 24068 - 11904: 0xC978,
+ 24070 - 11904: 0xA67C,
+ 24073 - 11904: 0xFBFC,
+ 24074 - 11904: 0xCACB,
+ 24075 - 11904: 0x9AE4,
+ 24076 - 11904: 0xA7C6,
+ 24078 - 11904: 0xCACC,
+ 24081 - 11904: 0xA9AE,
+ 24082 - 11904: 0x9F75,
+ 24084 - 11904: 0xCC6E,
+ 24085 - 11904: 0xA9AC,
+ 24086 - 11904: 0xA9AB,
+ 24087 - 11904: 0xCC6D,
+ 24088 - 11904: 0xA9A9,
+ 24089 - 11904: 0xCC6F,
+ 24090 - 11904: 0xA9AA,
+ 24091 - 11904: 0xA9AD,
+ 24093 - 11904: 0xABD2,
+ 24095 - 11904: 0xABD4,
+ 24096 - 11904: 0xCEB3,
+ 24097 - 11904: 0xCEB0,
+ 24098 - 11904: 0xCEB1,
+ 24099 - 11904: 0xCEB2,
+ 24100 - 11904: 0xCEB4,
+ 24101 - 11904: 0xABD3,
+ 24104 - 11904: 0xD174,
+ 24105 - 11904: 0xD173,
+ 24107 - 11904: 0xAE76,
+ 24109 - 11904: 0xAE75,
+ 24110 - 11904: 0xFBF1,
+ 24115 - 11904: 0xB162,
+ 24116 - 11904: 0xD546,
+ 24118 - 11904: 0xB161,
+ 24119 - 11904: 0xB163,
+ 24120 - 11904: 0xB160,
+ 24125 - 11904: 0xB455,
+ 24126 - 11904: 0xD545,
+ 24128 - 11904: 0xB456,
+ 24129 - 11904: 0xD8F3,
+ 24130 - 11904: 0x8D69,
+ 24131 - 11904: 0xB457,
+ 24132 - 11904: 0xD8F2,
+ 24133 - 11904: 0xB454,
+ 24136 - 11904: 0x934F,
+ 24138 - 11904: 0xDD5A,
+ 24139 - 11904: 0xDD5C,
+ 24140 - 11904: 0xB745,
+ 24141 - 11904: 0xDD5B,
+ 24142 - 11904: 0xDD59,
+ 24143 - 11904: 0xDD58,
+ 24147 - 11904: 0xE1B4,
+ 24148 - 11904: 0xB9F7,
+ 24149 - 11904: 0xB9F5,
+ 24151 - 11904: 0xB9F6,
+ 24152 - 11904: 0xE1B2,
+ 24153 - 11904: 0xE1B3,
+ 24155 - 11904: 0xB9F3,
+ 24156 - 11904: 0xE571,
+ 24157 - 11904: 0xE56F,
+ 24158 - 11904: 0x934E,
+ 24159 - 11904: 0xBC6D,
+ 24160 - 11904: 0xE570,
+ 24161 - 11904: 0xBC6E,
+ 24162 - 11904: 0xBC6C,
+ 24163 - 11904: 0xB9F4,
+ 24166 - 11904: 0xE96D,
+ 24167 - 11904: 0xE96B,
+ 24168 - 11904: 0xE96C,
+ 24169 - 11904: 0xE56E,
+ 24170 - 11904: 0xECDC,
+ 24171 - 11904: 0xC0B0,
+ 24172 - 11904: 0xECDB,
+ 24173 - 11904: 0xEFC5,
+ 24174 - 11904: 0xEFC6,
+ 24175 - 11904: 0xE96E,
+ 24176 - 11904: 0xF1FE,
+ 24178 - 11904: 0xA47A,
+ 24179 - 11904: 0xA5AD,
+ 24180 - 11904: 0xA67E,
+ 24181 - 11904: 0xFBF3,
+ 24182 - 11904: 0xA67D,
+ 24184 - 11904: 0xA9AF,
+ 24185 - 11904: 0xB746,
+ 24186 - 11904: 0xFBF4,
+ 24187 - 11904: 0xA4DB,
+ 24188 - 11904: 0xA5AE,
+ 24189 - 11904: 0xABD5,
+ 24190 - 11904: 0xB458,
+ 24191 - 11904: 0xC6CE,
+ 24192 - 11904: 0xC979,
+ 24194 - 11904: 0xC97A,
+ 24195 - 11904: 0xFBC3,
+ 24196 - 11904: 0xC9DC,
+ 24198 - 11904: 0x8965,
+ 24199 - 11904: 0xA7C8,
+ 24200 - 11904: 0xCAD0,
+ 24201 - 11904: 0xCACE,
+ 24202 - 11904: 0xA7C9,
+ 24203 - 11904: 0xCACD,
+ 24204 - 11904: 0xCACF,
+ 24205 - 11904: 0xCAD1,
+ 24207 - 11904: 0xA7C7,
+ 24210 - 11904: 0x8C7A,
+ 24213 - 11904: 0xA9B3,
+ 24214 - 11904: 0xA9B4,
+ 24215 - 11904: 0xA9B1,
+ 24217 - 11904: 0x8C7B,
+ 24218 - 11904: 0xA9B0,
+ 24219 - 11904: 0xCEB8,
+ 24220 - 11904: 0xA9B2,
+ 24224 - 11904: 0xABD6,
+ 24226 - 11904: 0xCEB7,
+ 24227 - 11904: 0xCEB9,
+ 24228 - 11904: 0xCEB6,
+ 24229 - 11904: 0xCEBA,
+ 24230 - 11904: 0xABD7,
+ 24231 - 11904: 0xAE79,
+ 24232 - 11904: 0xD175,
+ 24234 - 11904: 0xD177,
+ 24235 - 11904: 0xAE77,
+ 24236 - 11904: 0xD178,
+ 24237 - 11904: 0xAE78,
+ 24238 - 11904: 0xD176,
+ 24240 - 11904: 0xCEB5,
+ 24241 - 11904: 0xD547,
+ 24242 - 11904: 0xD54A,
+ 24243 - 11904: 0xD54B,
+ 24244 - 11904: 0xD548,
+ 24245 - 11904: 0xB167,
+ 24246 - 11904: 0xB166,
+ 24247 - 11904: 0xB164,
+ 24248 - 11904: 0xB165,
+ 24249 - 11904: 0xD549,
+ 24253 - 11904: 0x8D6A,
+ 24254 - 11904: 0xB168,
+ 24257 - 11904: 0xB45A,
+ 24258 - 11904: 0xB45B,
+ 24260 - 11904: 0xB45C,
+ 24261 - 11904: 0xDD5D,
+ 24262 - 11904: 0xDD5F,
+ 24263 - 11904: 0xDD61,
+ 24264 - 11904: 0xB748,
+ 24265 - 11904: 0xB747,
+ 24266 - 11904: 0xB459,
+ 24267 - 11904: 0xDD60,
+ 24268 - 11904: 0xDD5E,
+ 24269 - 11904: 0x9353,
+ 24270 - 11904: 0xE1B8,
+ 24272 - 11904: 0xFBF9,
+ 24273 - 11904: 0xE1B6,
+ 24274 - 11904: 0xE1BC,
+ 24275 - 11904: 0xB9F8,
+ 24276 - 11904: 0xE1BD,
+ 24277 - 11904: 0xE1BA,
+ 24278 - 11904: 0xB9F9,
+ 24279 - 11904: 0xE1B7,
+ 24280 - 11904: 0xE1B5,
+ 24281 - 11904: 0xE1BB,
+ 24282 - 11904: 0xBC70,
+ 24283 - 11904: 0xE573,
+ 24284 - 11904: 0xE1B9,
+ 24285 - 11904: 0xBC72,
+ 24286 - 11904: 0xE574,
+ 24287 - 11904: 0xBC71,
+ 24288 - 11904: 0xBC74,
+ 24289 - 11904: 0xE575,
+ 24290 - 11904: 0xBC6F,
+ 24291 - 11904: 0xBC73,
+ 24293 - 11904: 0xE973,
+ 24294 - 11904: 0xE971,
+ 24295 - 11904: 0xE970,
+ 24296 - 11904: 0xE972,
+ 24297 - 11904: 0xE96F,
+ 24300 - 11904: 0xC366,
+ 24302 - 11904: 0xF446,
+ 24303 - 11904: 0xF447,
+ 24305 - 11904: 0xF5CB,
+ 24306 - 11904: 0xF6DF,
+ 24307 - 11904: 0xC655,
+ 24308 - 11904: 0xFBFD,
+ 24310 - 11904: 0xA9B5,
+ 24311 - 11904: 0xA7CA,
+ 24312 - 11904: 0x9059,
+ 24313 - 11904: 0xFC40,
+ 24314 - 11904: 0xABD8,
+ 24315 - 11904: 0xFC41,
+ 24316 - 11904: 0xFC43,
+ 24318 - 11904: 0xA47B,
+ 24319 - 11904: 0xA4DC,
+ 24321 - 11904: 0xA5AF,
+ 24322 - 11904: 0xC9DD,
+ 24324 - 11904: 0xA7CB,
+ 24325 - 11904: 0xCAD2,
+ 24327 - 11904: 0xCEBB,
+ 24328 - 11904: 0xABD9,
+ 24330 - 11904: 0xB9FA,
+ 24331 - 11904: 0xA47C,
+ 24332 - 11904: 0x9FD8,
+ 24333 - 11904: 0xFC46,
+ 24334 - 11904: 0x9362,
+ 24335 - 11904: 0xA6A1,
+ 24338 - 11904: 0xB749,
+ 24339 - 11904: 0xA47D,
+ 24340 - 11904: 0xA4DD,
+ 24341 - 11904: 0xA4DE,
+ 24343 - 11904: 0xA5B1,
+ 24344 - 11904: 0xA5B0,
+ 24346 - 11904: 0xC9DE,
+ 24347 - 11904: 0xA6A2,
+ 24349 - 11904: 0xCAD3,
+ 24351 - 11904: 0xA7CC,
+ 24354 - 11904: 0xCC71,
+ 24355 - 11904: 0xCC72,
+ 24356 - 11904: 0xCC73,
+ 24357 - 11904: 0x8D6B,
+ 24358 - 11904: 0xA9B6,
+ 24359 - 11904: 0xA9B7,
+ 24360 - 11904: 0xCC70,
+ 24361 - 11904: 0xA9B8,
+ 24365 - 11904: 0xABDA,
+ 24366 - 11904: 0xCEBC,
+ 24368 - 11904: 0xD17A,
+ 24369 - 11904: 0xAE7A,
+ 24371 - 11904: 0xD179,
+ 24373 - 11904: 0xB169,
+ 24374 - 11904: 0xD54C,
+ 24375 - 11904: 0xB16A,
+ 24376 - 11904: 0xD54D,
+ 24378 - 11904: 0xFC4C,
+ 24379 - 11904: 0x8CFE,
+ 24380 - 11904: 0xB45D,
+ 24384 - 11904: 0xDD62,
+ 24387 - 11904: 0xE1BF,
+ 24388 - 11904: 0xE1BE,
+ 24390 - 11904: 0xB9FB,
+ 24392 - 11904: 0xBC75,
+ 24393 - 11904: 0xE576,
+ 24394 - 11904: 0xBECA,
+ 24395 - 11904: 0xE974,
+ 24396 - 11904: 0xC0B1,
+ 24397 - 11904: 0x95B8,
+ 24398 - 11904: 0xC573,
+ 24399 - 11904: 0xF7D8,
+ 24400 - 11904: 0xC6D0,
+ 24401 - 11904: 0x8BCA,
+ 24404 - 11904: 0xCC74,
+ 24406 - 11904: 0xCEBD,
+ 24407 - 11904: 0xB16B,
+ 24408 - 11904: 0xFC4F,
+ 24409 - 11904: 0xB74A,
+ 24412 - 11904: 0x987A,
+ 24413 - 11904: 0xC255,
+ 24417 - 11904: 0xC6D1,
+ 24418 - 11904: 0xA7CE,
+ 24419 - 11904: 0xFC51,
+ 24420 - 11904: 0xA7CD,
+ 24421 - 11904: 0xABDB,
+ 24423 - 11904: 0xD17B,
+ 24425 - 11904: 0xB16D,
+ 24426 - 11904: 0xB343,
+ 24427 - 11904: 0xB16E,
+ 24428 - 11904: 0xB16C,
+ 24429 - 11904: 0xB45E,
+ 24431 - 11904: 0xE1C0,
+ 24432 - 11904: 0xB9FC,
+ 24433 - 11904: 0xBC76,
+ 24434 - 11904: 0xFC54,
+ 24435 - 11904: 0xC94C,
+ 24436 - 11904: 0xC9DF,
+ 24438 - 11904: 0xCAD5,
+ 24439 - 11904: 0xA7CF,
+ 24440 - 11904: 0xCAD4,
+ 24441 - 11904: 0xA7D0,
+ 24443 - 11904: 0xFAAF,
+ 24444 - 11904: 0xA9BC,
+ 24445 - 11904: 0xCC77,
+ 24446 - 11904: 0xCC76,
+ 24447 - 11904: 0xA9BB,
+ 24448 - 11904: 0xA9B9,
+ 24449 - 11904: 0xA9BA,
+ 24450 - 11904: 0xCC75,
+ 24451 - 11904: 0x8D6C,
+ 24453 - 11904: 0xABDD,
+ 24454 - 11904: 0xCEBE,
+ 24455 - 11904: 0xABE0,
+ 24456 - 11904: 0xABDC,
+ 24457 - 11904: 0xABE2,
+ 24458 - 11904: 0xABDE,
+ 24459 - 11904: 0xABDF,
+ 24460 - 11904: 0xABE1,
+ 24464 - 11904: 0xAE7D,
+ 24465 - 11904: 0xAE7C,
+ 24466 - 11904: 0xAE7B,
+ 24470 - 11904: 0xD54F,
+ 24471 - 11904: 0xB16F,
+ 24472 - 11904: 0xB172,
+ 24473 - 11904: 0xB170,
+ 24475 - 11904: 0xD54E,
+ 24476 - 11904: 0xB175,
+ 24478 - 11904: 0xB171,
+ 24479 - 11904: 0xD550,
+ 24480 - 11904: 0xB174,
+ 24481 - 11904: 0xB173,
+ 24484 - 11904: 0xFA61,
+ 24485 - 11904: 0xD8F6,
+ 24486 - 11904: 0xD8F5,
+ 24487 - 11904: 0xFC57,
+ 24488 - 11904: 0xB461,
+ 24489 - 11904: 0xB45F,
+ 24490 - 11904: 0xB460,
+ 24491 - 11904: 0xD8F7,
+ 24492 - 11904: 0xB74B,
+ 24493 - 11904: 0xDD64,
+ 24494 - 11904: 0xB74C,
+ 24495 - 11904: 0xDD63,
+ 24497 - 11904: 0x9B70,
+ 24498 - 11904: 0xE577,
+ 24501 - 11904: 0xBC78,
+ 24502 - 11904: 0xE1C1,
+ 24503 - 11904: 0xBC77,
+ 24505 - 11904: 0xB9FD,
+ 24506 - 11904: 0xA051,
+ 24507 - 11904: 0xECDE,
+ 24508 - 11904: 0xE975,
+ 24509 - 11904: 0xC0B2,
+ 24510 - 11904: 0xECDD,
+ 24511 - 11904: 0xF240,
+ 24512 - 11904: 0xF448,
+ 24513 - 11904: 0xF449,
+ 24514 - 11904: 0x8C7C,
+ 24515 - 11904: 0xA4DF,
+ 24516 - 11904: 0x8BCB,
+ 24517 - 11904: 0xA5B2,
+ 24521 - 11904: 0xC97B,
+ 24524 - 11904: 0xA7D2,
+ 24525 - 11904: 0xA7D4,
+ 24527 - 11904: 0xC9E2,
+ 24528 - 11904: 0xCAD8,
+ 24529 - 11904: 0xCAD7,
+ 24530 - 11904: 0xCAD6,
+ 24532 - 11904: 0xC9E1,
+ 24533 - 11904: 0xC9E0,
+ 24534 - 11904: 0xA6A4,
+ 24535 - 11904: 0xA7D3,
+ 24536 - 11904: 0xA7D1,
+ 24537 - 11904: 0xA6A3,
+ 24539 - 11904: 0x936E,
+ 24541 - 11904: 0xA9BD,
+ 24542 - 11904: 0xCC78,
+ 24543 - 11904: 0xFCD5,
+ 24544 - 11904: 0xA9BE,
+ 24545 - 11904: 0xCADD,
+ 24547 - 11904: 0xCADF,
+ 24548 - 11904: 0xCADE,
+ 24549 - 11904: 0xCC79,
+ 24552 - 11904: 0xCADA,
+ 24554 - 11904: 0xA7D8,
+ 24555 - 11904: 0xA7D6,
+ 24557 - 11904: 0xCAD9,
+ 24558 - 11904: 0xCADB,
+ 24559 - 11904: 0xCAE1,
+ 24561 - 11904: 0xA7D5,
+ 24563 - 11904: 0xCADC,
+ 24564 - 11904: 0xCAE5,
+ 24565 - 11904: 0xA9C0,
+ 24567 - 11904: 0xCAE2,
+ 24568 - 11904: 0xA7D7,
+ 24570 - 11904: 0xCAE0,
+ 24571 - 11904: 0xCAE3,
+ 24573 - 11904: 0xA9BF,
+ 24575 - 11904: 0xA9C1,
+ 24576 - 11904: 0xCAE4,
+ 24585 - 11904: 0xCCAF,
+ 24586 - 11904: 0xCCA2,
+ 24587 - 11904: 0xCC7E,
+ 24588 - 11904: 0xCCAE,
+ 24589 - 11904: 0xCCA9,
+ 24590 - 11904: 0xABE7,
+ 24591 - 11904: 0xA9C2,
+ 24592 - 11904: 0xCCAA,
+ 24593 - 11904: 0xCCAD,
+ 24594 - 11904: 0xABE3,
+ 24595 - 11904: 0xCCAC,
+ 24596 - 11904: 0xA9C3,
+ 24597 - 11904: 0xA9C8,
+ 24598 - 11904: 0xA9C6,
+ 24599 - 11904: 0xCCA3,
+ 24601 - 11904: 0xCC7C,
+ 24602 - 11904: 0xCCA5,
+ 24603 - 11904: 0xA9CD,
+ 24604 - 11904: 0xCCB0,
+ 24605 - 11904: 0xABE4,
+ 24606 - 11904: 0xCCA6,
+ 24608 - 11904: 0xABE5,
+ 24609 - 11904: 0xA9C9,
+ 24610 - 11904: 0xCCA8,
+ 24611 - 11904: 0xFCA9,
+ 24612 - 11904: 0xCECD,
+ 24613 - 11904: 0xABE6,
+ 24614 - 11904: 0xCC7B,
+ 24615 - 11904: 0xA9CA,
+ 24616 - 11904: 0xABE8,
+ 24617 - 11904: 0xA9CB,
+ 24618 - 11904: 0xA9C7,
+ 24619 - 11904: 0xA9CC,
+ 24620 - 11904: 0xCCA7,
+ 24621 - 11904: 0xCC7A,
+ 24622 - 11904: 0xCCAB,
+ 24623 - 11904: 0xA9C4,
+ 24625 - 11904: 0xFC61,
+ 24626 - 11904: 0xCC7D,
+ 24627 - 11904: 0xCCA4,
+ 24628 - 11904: 0xCCA1,
+ 24629 - 11904: 0xA9C5,
+ 24631 - 11904: 0xCEBF,
+ 24633 - 11904: 0xCEC0,
+ 24635 - 11904: 0x8966,
+ 24640 - 11904: 0xCECA,
+ 24641 - 11904: 0xD1A1,
+ 24642 - 11904: 0xCECB,
+ 24643 - 11904: 0xABEE,
+ 24644 - 11904: 0xCECE,
+ 24645 - 11904: 0xCEC4,
+ 24646 - 11904: 0xABED,
+ 24647 - 11904: 0xCEC6,
+ 24649 - 11904: 0xCEC7,
+ 24650 - 11904: 0xFACB,
+ 24652 - 11904: 0xCEC9,
+ 24653 - 11904: 0xABE9,
+ 24656 - 11904: 0xAEA3,
+ 24658 - 11904: 0xF9DA,
+ 24659 - 11904: 0xCEC5,
+ 24660 - 11904: 0xCEC1,
+ 24661 - 11904: 0xAEA4,
+ 24664 - 11904: 0xCECF,
+ 24665 - 11904: 0xAE7E,
+ 24666 - 11904: 0xD17D,
+ 24667 - 11904: 0xCEC8,
+ 24669 - 11904: 0xD17C,
+ 24670 - 11904: 0xCEC3,
+ 24671 - 11904: 0xCECC,
+ 24674 - 11904: 0xABEC,
+ 24675 - 11904: 0xAEA1,
+ 24676 - 11904: 0xABF2,
+ 24677 - 11904: 0xAEA2,
+ 24678 - 11904: 0xCED0,
+ 24679 - 11904: 0xD17E,
+ 24680 - 11904: 0xABEB,
+ 24681 - 11904: 0xAEA6,
+ 24682 - 11904: 0xABF1,
+ 24683 - 11904: 0xABF0,
+ 24684 - 11904: 0xABEF,
+ 24685 - 11904: 0xAEA5,
+ 24686 - 11904: 0xCED1,
+ 24687 - 11904: 0xAEA7,
+ 24688 - 11904: 0xABEA,
+ 24690 - 11904: 0xCEC2,
+ 24693 - 11904: 0x937A,
+ 24695 - 11904: 0xA0E0,
+ 24702 - 11904: 0x936B,
+ 24703 - 11904: 0xB176,
+ 24704 - 11904: 0xD1A4,
+ 24705 - 11904: 0xD1A6,
+ 24707 - 11904: 0xD1A8,
+ 24708 - 11904: 0xAEA8,
+ 24709 - 11904: 0xAEAE,
+ 24710 - 11904: 0xD553,
+ 24711 - 11904: 0xD1AC,
+ 24712 - 11904: 0xD1A3,
+ 24713 - 11904: 0xB178,
+ 24714 - 11904: 0xD551,
+ 24716 - 11904: 0xAEAD,
+ 24717 - 11904: 0xAEAB,
+ 24718 - 11904: 0xD1AE,
+ 24720 - 11904: 0xD552,
+ 24722 - 11904: 0xD1A5,
+ 24724 - 11904: 0xAEAC,
+ 24725 - 11904: 0xD1A9,
+ 24726 - 11904: 0xAEAF,
+ 24727 - 11904: 0xD1AB,
+ 24730 - 11904: 0xAEAA,
+ 24731 - 11904: 0xD1AA,
+ 24732 - 11904: 0xD1AD,
+ 24733 - 11904: 0xD1A7,
+ 24734 - 11904: 0xFC6B,
+ 24735 - 11904: 0xAEA9,
+ 24736 - 11904: 0xB179,
+ 24738 - 11904: 0xD1A2,
+ 24739 - 11904: 0xB177,
+ 24740 - 11904: 0xFC6C,
+ 24743 - 11904: 0x9468,
+ 24744 - 11904: 0xB17A,
+ 24752 - 11904: 0xD555,
+ 24753 - 11904: 0xD55E,
+ 24754 - 11904: 0xB464,
+ 24755 - 11904: 0xFC6D,
+ 24756 - 11904: 0xB17C,
+ 24757 - 11904: 0xB1A3,
+ 24758 - 11904: 0xB465,
+ 24759 - 11904: 0xD560,
+ 24760 - 11904: 0xB1AA,
+ 24761 - 11904: 0xD8F9,
+ 24762 - 11904: 0xD556,
+ 24763 - 11904: 0xB1A2,
+ 24764 - 11904: 0xB1A5,
+ 24765 - 11904: 0xB17E,
+ 24766 - 11904: 0xD554,
+ 24767 - 11904: 0xD562,
+ 24768 - 11904: 0xD565,
+ 24769 - 11904: 0xD949,
+ 24771 - 11904: 0xD563,
+ 24772 - 11904: 0xD8FD,
+ 24773 - 11904: 0xB1A1,
+ 24774 - 11904: 0xB1A8,
+ 24775 - 11904: 0xB1AC,
+ 24776 - 11904: 0xD55D,
+ 24777 - 11904: 0xD8F8,
+ 24778 - 11904: 0xD561,
+ 24779 - 11904: 0xB17B,
+ 24780 - 11904: 0xD8FA,
+ 24781 - 11904: 0xD564,
+ 24782 - 11904: 0xD8FC,
+ 24783 - 11904: 0xD559,
+ 24785 - 11904: 0xB462,
+ 24787 - 11904: 0xD557,
+ 24788 - 11904: 0xD558,
+ 24789 - 11904: 0xB1A7,
+ 24791 - 11904: 0x8D71,
+ 24792 - 11904: 0xB1A6,
+ 24793 - 11904: 0xD55B,
+ 24794 - 11904: 0xB1AB,
+ 24795 - 11904: 0xD55F,
+ 24796 - 11904: 0xB1A4,
+ 24797 - 11904: 0xD55C,
+ 24798 - 11904: 0xFD64,
+ 24799 - 11904: 0xB1A9,
+ 24800 - 11904: 0xB466,
+ 24801 - 11904: 0xB463,
+ 24802 - 11904: 0xD8FB,
+ 24803 - 11904: 0x99BA,
+ 24804 - 11904: 0xD55A,
+ 24806 - 11904: 0xB17D,
+ 24807 - 11904: 0x9AD0,
+ 24808 - 11904: 0x9A61,
+ 24809 - 11904: 0xA0E5,
+ 24816 - 11904: 0xB46B,
+ 24817 - 11904: 0xB46F,
+ 24818 - 11904: 0xD940,
+ 24819 - 11904: 0xB751,
+ 24820 - 11904: 0xB46D,
+ 24821 - 11904: 0xD944,
+ 24822 - 11904: 0xB471,
+ 24823 - 11904: 0xDD65,
+ 24824 - 11904: 0xD946,
+ 24825 - 11904: 0xB753,
+ 24826 - 11904: 0xB469,
+ 24827 - 11904: 0xB46C,
+ 24828 - 11904: 0xD947,
+ 24829 - 11904: 0xA05B,
+ 24830 - 11904: 0xD948,
+ 24831 - 11904: 0xD94E,
+ 24832 - 11904: 0xB473,
+ 24833 - 11904: 0xB754,
+ 24835 - 11904: 0xD94A,
+ 24836 - 11904: 0xD94F,
+ 24837 - 11904: 0xD943,
+ 24838 - 11904: 0xB75E,
+ 24839 - 11904: 0x96AC,
+ 24840 - 11904: 0xB755,
+ 24841 - 11904: 0xB472,
+ 24842 - 11904: 0xD941,
+ 24843 - 11904: 0xD950,
+ 24844 - 11904: 0x9740,
+ 24845 - 11904: 0xB75D,
+ 24846 - 11904: 0xB470,
+ 24847 - 11904: 0xB74E,
+ 24848 - 11904: 0xD94D,
+ 24850 - 11904: 0xB474,
+ 24851 - 11904: 0xD945,
+ 24852 - 11904: 0xD8FE,
+ 24853 - 11904: 0xB46A,
+ 24854 - 11904: 0xD942,
+ 24856 - 11904: 0xD94B,
+ 24857 - 11904: 0x9EF1,
+ 24858 - 11904: 0xB74D,
+ 24859 - 11904: 0xB752,
+ 24860 - 11904: 0xB467,
+ 24861 - 11904: 0xD94C,
+ 24863 - 11904: 0xB750,
+ 24866 - 11904: 0x8C4D,
+ 24867 - 11904: 0xB468,
+ 24871 - 11904: 0xB75C,
+ 24872 - 11904: 0xE1C3,
+ 24873 - 11904: 0xDD70,
+ 24875 - 11904: 0xDD68,
+ 24876 - 11904: 0xE1C2,
+ 24878 - 11904: 0xDD6C,
+ 24879 - 11904: 0xDD6E,
+ 24880 - 11904: 0x9F7E,
+ 24882 - 11904: 0xDD6B,
+ 24884 - 11904: 0xB75B,
+ 24886 - 11904: 0xDD6A,
+ 24887 - 11904: 0xB75F,
+ 24891 - 11904: 0xE1D2,
+ 24893 - 11904: 0x8D72,
+ 24894 - 11904: 0xB75A,
+ 24895 - 11904: 0xBA40,
+ 24896 - 11904: 0xDD71,
+ 24897 - 11904: 0xE1C4,
+ 24898 - 11904: 0xFC76,
+ 24900 - 11904: 0xB758,
+ 24901 - 11904: 0xDD69,
+ 24902 - 11904: 0xDD6D,
+ 24903 - 11904: 0xB9FE,
+ 24904 - 11904: 0xB74F,
+ 24905 - 11904: 0xDD66,
+ 24906 - 11904: 0xDD67,
+ 24907 - 11904: 0xBA41,
+ 24908 - 11904: 0xB757,
+ 24909 - 11904: 0xB759,
+ 24910 - 11904: 0xB756,
+ 24911 - 11904: 0xDD6F,
+ 24912 - 11904: 0x96A9,
+ 24914 - 11904: 0xE1C8,
+ 24915 - 11904: 0xE1C9,
+ 24916 - 11904: 0xE1CE,
+ 24917 - 11904: 0xBC7D,
+ 24918 - 11904: 0xE1D5,
+ 24920 - 11904: 0xBA47,
+ 24921 - 11904: 0xA06E,
+ 24922 - 11904: 0xBA46,
+ 24923 - 11904: 0xE1D0,
+ 24924 - 11904: 0xFCAA,
+ 24925 - 11904: 0xBC7C,
+ 24926 - 11904: 0xE1C5,
+ 24927 - 11904: 0xBA45,
+ 24928 - 11904: 0xFBCD,
+ 24929 - 11904: 0xE1D4,
+ 24930 - 11904: 0xBA43,
+ 24931 - 11904: 0xBA44,
+ 24932 - 11904: 0xFC74,
+ 24933 - 11904: 0xE1D1,
+ 24934 - 11904: 0xE5AA,
+ 24935 - 11904: 0xBC7A,
+ 24936 - 11904: 0xB46E,
+ 24938 - 11904: 0xE1D3,
+ 24939 - 11904: 0xBCA3,
+ 24940 - 11904: 0xE1CB,
+ 24942 - 11904: 0xBC7B,
+ 24943 - 11904: 0xA074,
+ 24944 - 11904: 0xBCA2,
+ 24945 - 11904: 0xE1C6,
+ 24946 - 11904: 0xE1CA,
+ 24947 - 11904: 0xE1C7,
+ 24948 - 11904: 0xE1CD,
+ 24949 - 11904: 0xBA48,
+ 24950 - 11904: 0xBC79,
+ 24951 - 11904: 0xBA42,
+ 24953 - 11904: 0xE57A,
+ 24954 - 11904: 0xE1CF,
+ 24956 - 11904: 0xBCA1,
+ 24957 - 11904: 0xA071,
+ 24958 - 11904: 0xBCA4,
+ 24960 - 11904: 0xE1CC,
+ 24961 - 11904: 0xFC79,
+ 24962 - 11904: 0xBC7E,
+ 24963 - 11904: 0xE579,
+ 24967 - 11904: 0xFC7C,
+ 24969 - 11904: 0xE57E,
+ 24970 - 11904: 0xBECE,
+ 24971 - 11904: 0xE578,
+ 24972 - 11904: 0xE9A3,
+ 24973 - 11904: 0xE5A9,
+ 24974 - 11904: 0xBCA8,
+ 24976 - 11904: 0xBCA6,
+ 24977 - 11904: 0xBECC,
+ 24978 - 11904: 0xE5A6,
+ 24979 - 11904: 0xE5A2,
+ 24980 - 11904: 0xBCAC,
+ 24981 - 11904: 0x9C50,
+ 24982 - 11904: 0xE978,
+ 24984 - 11904: 0x9379,
+ 24985 - 11904: 0x9378,
+ 24986 - 11904: 0xBCAA,
+ 24987 - 11904: 0xE5A1,
+ 24988 - 11904: 0xA0DD,
+ 24989 - 11904: 0xE976,
+ 24991 - 11904: 0xE5A5,
+ 24993 - 11904: 0xE5A8,
+ 24994 - 11904: 0xE57D,
+ 24996 - 11904: 0xBCAB,
+ 24999 - 11904: 0xBCA5,
+ 25000 - 11904: 0xE977,
+ 25001 - 11904: 0xBECD,
+ 25002 - 11904: 0xE5A7,
+ 25003 - 11904: 0xBCA7,
+ 25004 - 11904: 0xBCA9,
+ 25005 - 11904: 0xE5A4,
+ 25006 - 11904: 0xBCAD,
+ 25007 - 11904: 0xE5A3,
+ 25008 - 11904: 0xE57C,
+ 25009 - 11904: 0xE57B,
+ 25010 - 11904: 0xBECB,
+ 25011 - 11904: 0xE5AB,
+ 25012 - 11904: 0xE97A,
+ 25013 - 11904: 0xECE0,
+ 25014 - 11904: 0xBED0,
+ 25015 - 11904: 0x8D75,
+ 25016 - 11904: 0xE9A2,
+ 25017 - 11904: 0x8D76,
+ 25018 - 11904: 0xE97E,
+ 25020 - 11904: 0xECE1,
+ 25022 - 11904: 0xBED1,
+ 25023 - 11904: 0xE9A1,
+ 25024 - 11904: 0x9374,
+ 25025 - 11904: 0xE97C,
+ 25026 - 11904: 0xC0B4,
+ 25027 - 11904: 0xECDF,
+ 25029 - 11904: 0xE979,
+ 25030 - 11904: 0xE97B,
+ 25031 - 11904: 0xC0B5,
+ 25032 - 11904: 0xBED3,
+ 25033 - 11904: 0xC0B3,
+ 25034 - 11904: 0xBED2,
+ 25035 - 11904: 0xC0B7,
+ 25036 - 11904: 0xE97D,
+ 25037 - 11904: 0xBECF,
+ 25039 - 11904: 0x8D77,
+ 25040 - 11904: 0xFCA5,
+ 25043 - 11904: 0xFCA2,
+ 25046 - 11904: 0xEFCF,
+ 25048 - 11904: 0xEFC7,
+ 25050 - 11904: 0x90C3,
+ 25054 - 11904: 0xECE7,
+ 25055 - 11904: 0xEFC8,
+ 25056 - 11904: 0xECE3,
+ 25058 - 11904: 0xA079,
+ 25059 - 11904: 0xC256,
+ 25060 - 11904: 0xECE5,
+ 25061 - 11904: 0xECE4,
+ 25062 - 11904: 0xC0B6,
+ 25063 - 11904: 0xECE2,
+ 25064 - 11904: 0xECE6,
+ 25065 - 11904: 0xEFD0,
+ 25066 - 11904: 0xEFCC,
+ 25067 - 11904: 0xEFCE,
+ 25069 - 11904: 0xEFC9,
+ 25070 - 11904: 0xEFCA,
+ 25072 - 11904: 0xEFCD,
+ 25073 - 11904: 0xEFCB,
+ 25074 - 11904: 0xC367,
+ 25077 - 11904: 0xC36A,
+ 25078 - 11904: 0xC369,
+ 25079 - 11904: 0xC368,
+ 25080 - 11904: 0xC461,
+ 25081 - 11904: 0xF44A,
+ 25082 - 11904: 0xC462,
+ 25083 - 11904: 0xF241,
+ 25084 - 11904: 0xC4DF,
+ 25085 - 11904: 0xF5CC,
+ 25086 - 11904: 0xC4E0,
+ 25087 - 11904: 0xC574,
+ 25088 - 11904: 0xC5CA,
+ 25089 - 11904: 0xF7D9,
+ 25091 - 11904: 0xF7DA,
+ 25092 - 11904: 0xF7DB,
+ 25095 - 11904: 0xF9BA,
+ 25096 - 11904: 0xA4E0,
+ 25097 - 11904: 0xC97C,
+ 25098 - 11904: 0xA5B3,
+ 25100 - 11904: 0xA6A6,
+ 25101 - 11904: 0xA6A7,
+ 25102 - 11904: 0xA6A5,
+ 25104 - 11904: 0xA6A8,
+ 25105 - 11904: 0xA7DA,
+ 25106 - 11904: 0xA7D9,
+ 25108 - 11904: 0xCCB1,
+ 25109 - 11904: 0xA9CF,
+ 25110 - 11904: 0xA9CE,
+ 25113 - 11904: 0xD1AF,
+ 25114 - 11904: 0xB1AD,
+ 25115 - 11904: 0xB1AE,
+ 25119 - 11904: 0xB475,
+ 25120 - 11904: 0xDD72,
+ 25121 - 11904: 0xB760,
+ 25122 - 11904: 0xB761,
+ 25123 - 11904: 0xDD74,
+ 25124 - 11904: 0xDD76,
+ 25125 - 11904: 0xDD75,
+ 25127 - 11904: 0xE1D7,
+ 25129 - 11904: 0xE1D6,
+ 25130 - 11904: 0xBA49,
+ 25131 - 11904: 0xE1D8,
+ 25132 - 11904: 0x8D79,
+ 25133 - 11904: 0xE5AC,
+ 25134 - 11904: 0xBCAE,
+ 25136 - 11904: 0xBED4,
+ 25138 - 11904: 0xC0B8,
+ 25139 - 11904: 0xC257,
+ 25140 - 11904: 0xC0B9,
+ 25142 - 11904: 0xA4E1,
+ 25143 - 11904: 0x8BFC,
+ 25145 - 11904: 0xA076,
+ 25146 - 11904: 0xCAE6,
+ 25149 - 11904: 0xCCB2,
+ 25150 - 11904: 0xA9D1,
+ 25151 - 11904: 0xA9D0,
+ 25152 - 11904: 0xA9D2,
+ 25153 - 11904: 0xABF3,
+ 25154 - 11904: 0xCED2,
+ 25155 - 11904: 0xCED3,
+ 25158 - 11904: 0xD1B0,
+ 25159 - 11904: 0xAEB0,
+ 25160 - 11904: 0xB1AF,
+ 25161 - 11904: 0xB476,
+ 25162 - 11904: 0xD951,
+ 25163 - 11904: 0xA4E2,
+ 25164 - 11904: 0x8BCD,
+ 25165 - 11904: 0xA47E,
+ 25166 - 11904: 0xA4E3,
+ 25168 - 11904: 0xC97D,
+ 25169 - 11904: 0xA5B7,
+ 25170 - 11904: 0xA5B6,
+ 25171 - 11904: 0xA5B4,
+ 25172 - 11904: 0xA5B5,
+ 25176 - 11904: 0xA6AB,
+ 25177 - 11904: 0xC9E9,
+ 25178 - 11904: 0xC9EB,
+ 25179 - 11904: 0xA6AA,
+ 25180 - 11904: 0xC9E3,
+ 25182 - 11904: 0xC9E4,
+ 25184 - 11904: 0xC9EA,
+ 25185 - 11904: 0xC9E6,
+ 25186 - 11904: 0xC9E8,
+ 25187 - 11904: 0xA6A9,
+ 25188 - 11904: 0xC9E5,
+ 25189 - 11904: 0xC9EC,
+ 25190 - 11904: 0xC9E7,
+ 25192 - 11904: 0x9F5A,
+ 25197 - 11904: 0xA7E1,
+ 25198 - 11904: 0xA7EA,
+ 25199 - 11904: 0xA7E8,
+ 25200 - 11904: 0xCAF0,
+ 25201 - 11904: 0xCAED,
+ 25202 - 11904: 0xCAF5,
+ 25203 - 11904: 0xA7E6,
+ 25204 - 11904: 0xCAF6,
+ 25206 - 11904: 0xA7DF,
+ 25207 - 11904: 0xCAF3,
+ 25209 - 11904: 0xA7E5,
+ 25210 - 11904: 0xCAEF,
+ 25211 - 11904: 0xCAEE,
+ 25212 - 11904: 0xA7E3,
+ 25213 - 11904: 0xCAF4,
+ 25214 - 11904: 0xA7E4,
+ 25215 - 11904: 0xA9D3,
+ 25216 - 11904: 0xA7DE,
+ 25217 - 11904: 0xCAF1,
+ 25218 - 11904: 0x9FF4,
+ 25219 - 11904: 0xCAE7,
+ 25220 - 11904: 0xA7DB,
+ 25221 - 11904: 0x9FBA,
+ 25222 - 11904: 0xA7EE,
+ 25223 - 11904: 0xCAEC,
+ 25224 - 11904: 0xCAF2,
+ 25225 - 11904: 0xA7E0,
+ 25226 - 11904: 0xA7E2,
+ 25228 - 11904: 0xCAE8,
+ 25230 - 11904: 0xCAE9,
+ 25231 - 11904: 0xCAEA,
+ 25232 - 11904: 0x8D7A,
+ 25233 - 11904: 0xA7ED,
+ 25234 - 11904: 0xA7E7,
+ 25235 - 11904: 0xA7EC,
+ 25236 - 11904: 0xCAEB,
+ 25237 - 11904: 0xA7EB,
+ 25238 - 11904: 0xA7DD,
+ 25239 - 11904: 0xA7DC,
+ 25240 - 11904: 0xA7E9,
+ 25245 - 11904: 0x9E45,
+ 25252 - 11904: 0x93B0,
+ 25254 - 11904: 0xA075,
+ 25256 - 11904: 0xA9E1,
+ 25257 - 11904: 0xCCBE,
+ 25258 - 11904: 0xCCB7,
+ 25259 - 11904: 0xA9DC,
+ 25260 - 11904: 0xA9EF,
+ 25261 - 11904: 0xCCB3,
+ 25262 - 11904: 0xCCBA,
+ 25263 - 11904: 0xCCBC,
+ 25264 - 11904: 0xCCBF,
+ 25265 - 11904: 0xA9EA,
+ 25267 - 11904: 0xCCBB,
+ 25268 - 11904: 0xCCB4,
+ 25269 - 11904: 0xA9E8,
+ 25270 - 11904: 0xCCB8,
+ 25272 - 11904: 0xCCC0,
+ 25273 - 11904: 0xA9D9,
+ 25275 - 11904: 0xCCBD,
+ 25276 - 11904: 0xA9E3,
+ 25277 - 11904: 0xA9E2,
+ 25278 - 11904: 0xCCB6,
+ 25279 - 11904: 0xA9D7,
+ 25281 - 11904: 0x87DD,
+ 25282 - 11904: 0xA9D8,
+ 25283 - 11904: 0x9B46,
+ 25284 - 11904: 0xA9D6,
+ 25285 - 11904: 0xFCAE,
+ 25286 - 11904: 0xA9EE,
+ 25287 - 11904: 0xA9E6,
+ 25288 - 11904: 0xA9E0,
+ 25289 - 11904: 0xA9D4,
+ 25290 - 11904: 0xCCB9,
+ 25291 - 11904: 0xA9DF,
+ 25292 - 11904: 0xA9D5,
+ 25293 - 11904: 0xA9E7,
+ 25294 - 11904: 0xA9F0,
+ 25295 - 11904: 0xCED4,
+ 25296 - 11904: 0xA9E4,
+ 25297 - 11904: 0xCCB5,
+ 25298 - 11904: 0xA9DA,
+ 25299 - 11904: 0xA9DD,
+ 25300 - 11904: 0xA9DE,
+ 25301 - 11904: 0xFCB0,
+ 25302 - 11904: 0xA9EC,
+ 25303 - 11904: 0xA9ED,
+ 25304 - 11904: 0xA9EB,
+ 25305 - 11904: 0xA9E5,
+ 25306 - 11904: 0xA9E9,
+ 25307 - 11904: 0xA9DB,
+ 25308 - 11904: 0xABF4,
+ 25311 - 11904: 0xFA51,
+ 25317 - 11904: 0x8D7B,
+ 25323 - 11904: 0xCEDA,
+ 25324 - 11904: 0xAC41,
+ 25325 - 11904: 0xABF8,
+ 25326 - 11904: 0xABFA,
+ 25327 - 11904: 0xAC40,
+ 25328 - 11904: 0xCEE6,
+ 25329 - 11904: 0xABFD,
+ 25330 - 11904: 0xD1B1,
+ 25331 - 11904: 0xAEB1,
+ 25332 - 11904: 0xAC43,
+ 25333 - 11904: 0xCED7,
+ 25334 - 11904: 0xCEDF,
+ 25335 - 11904: 0xABFE,
+ 25336 - 11904: 0xCEDE,
+ 25337 - 11904: 0xCEDB,
+ 25338 - 11904: 0xCEE3,
+ 25339 - 11904: 0xCEE5,
+ 25340 - 11904: 0xABF7,
+ 25341 - 11904: 0xABFB,
+ 25342 - 11904: 0xAC42,
+ 25343 - 11904: 0xAEB3,
+ 25344 - 11904: 0xCEE0,
+ 25345 - 11904: 0xABF9,
+ 25346 - 11904: 0xAC45,
+ 25347 - 11904: 0xCED9,
+ 25351 - 11904: 0xABFC,
+ 25352 - 11904: 0xAEB2,
+ 25353 - 11904: 0xABF6,
+ 25355 - 11904: 0xCED6,
+ 25356 - 11904: 0xCEDD,
+ 25357 - 11904: 0xCED5,
+ 25358 - 11904: 0xCED8,
+ 25359 - 11904: 0xCEDC,
+ 25360 - 11904: 0xD1B2,
+ 25361 - 11904: 0xAC44,
+ 25363 - 11904: 0xCEE1,
+ 25364 - 11904: 0xCEE2,
+ 25365 - 11904: 0xCEE4,
+ 25366 - 11904: 0xABF5,
+ 25368 - 11904: 0x8D7C,
+ 25384 - 11904: 0xAEC1,
+ 25385 - 11904: 0xD1BE,
+ 25386 - 11904: 0xAEBF,
+ 25387 - 11904: 0xAEC0,
+ 25388 - 11904: 0xD1B4,
+ 25389 - 11904: 0xD1C4,
+ 25390 - 11904: 0x9ED6,
+ 25391 - 11904: 0xAEB6,
+ 25393 - 11904: 0x93AC,
+ 25394 - 11904: 0xD566,
+ 25395 - 11904: 0xD1C6,
+ 25396 - 11904: 0xD1C0,
+ 25397 - 11904: 0x9F5B,
+ 25398 - 11904: 0xD1B7,
+ 25399 - 11904: 0x93A9,
+ 25400 - 11904: 0xD1C9,
+ 25401 - 11904: 0xD1BA,
+ 25402 - 11904: 0xAEBC,
+ 25403 - 11904: 0xD57D,
+ 25404 - 11904: 0xD1BD,
+ 25405 - 11904: 0xAEBE,
+ 25406 - 11904: 0xAEB5,
+ 25408 - 11904: 0xD1CB,
+ 25409 - 11904: 0xD1BF,
+ 25410 - 11904: 0xAEB8,
+ 25411 - 11904: 0xD1B8,
+ 25412 - 11904: 0xD1B5,
+ 25413 - 11904: 0xD1B6,
+ 25414 - 11904: 0xAEB9,
+ 25415 - 11904: 0xD1C5,
+ 25416 - 11904: 0xD1CC,
+ 25417 - 11904: 0xAEBB,
+ 25418 - 11904: 0xD1BC,
+ 25419 - 11904: 0xD1BB,
+ 25420 - 11904: 0xAEC3,
+ 25421 - 11904: 0xAEC2,
+ 25422 - 11904: 0xAEB4,
+ 25423 - 11904: 0xAEBA,
+ 25424 - 11904: 0xAEBD,
+ 25425 - 11904: 0xD1C8,
+ 25428 - 11904: 0xD1C2,
+ 25429 - 11904: 0xAEB7,
+ 25430 - 11904: 0xD1B3,
+ 25431 - 11904: 0xD1CA,
+ 25432 - 11904: 0xD1C1,
+ 25433 - 11904: 0xD1C3,
+ 25434 - 11904: 0xD1C7,
+ 25444 - 11904: 0xA07C,
+ 25445 - 11904: 0xD567,
+ 25447 - 11904: 0xB1B7,
+ 25448 - 11904: 0xB1CB,
+ 25449 - 11904: 0xB1CA,
+ 25451 - 11904: 0xB1BF,
+ 25452 - 11904: 0xFCB2,
+ 25453 - 11904: 0xD579,
+ 25454 - 11904: 0xD575,
+ 25455 - 11904: 0xD572,
+ 25456 - 11904: 0xD5A6,
+ 25457 - 11904: 0xB1BA,
+ 25458 - 11904: 0xB1B2,
+ 25461 - 11904: 0xD577,
+ 25462 - 11904: 0xB4A8,
+ 25463 - 11904: 0xB1B6,
+ 25464 - 11904: 0xD5A1,
+ 25465 - 11904: 0x8AC1,
+ 25466 - 11904: 0xB1CC,
+ 25467 - 11904: 0xB1C9,
+ 25468 - 11904: 0xD57B,
+ 25469 - 11904: 0xD56A,
+ 25471 - 11904: 0x9FB4,
+ 25472 - 11904: 0xB1C8,
+ 25473 - 11904: 0xD5A3,
+ 25474 - 11904: 0xD569,
+ 25475 - 11904: 0xB1BD,
+ 25476 - 11904: 0xB1C1,
+ 25477 - 11904: 0xD5A2,
+ 25479 - 11904: 0xD573,
+ 25480 - 11904: 0xB1C2,
+ 25481 - 11904: 0xB1BC,
+ 25482 - 11904: 0xD568,
+ 25483 - 11904: 0xFCAC,
+ 25484 - 11904: 0xB478,
+ 25485 - 11904: 0xD5A5,
+ 25486 - 11904: 0xD571,
+ 25487 - 11904: 0xB1C7,
+ 25488 - 11904: 0xD574,
+ 25489 - 11904: 0xD5A4,
+ 25490 - 11904: 0xB1C6,
+ 25492 - 11904: 0xD952,
+ 25494 - 11904: 0xB1B3,
+ 25495 - 11904: 0xD56F,
+ 25496 - 11904: 0xB1B8,
+ 25497 - 11904: 0xB1C3,
+ 25499 - 11904: 0xB1BE,
+ 25500 - 11904: 0xD578,
+ 25501 - 11904: 0xD56E,
+ 25502 - 11904: 0xD56C,
+ 25503 - 11904: 0xD57E,
+ 25504 - 11904: 0xB1B0,
+ 25505 - 11904: 0xB1C4,
+ 25506 - 11904: 0xB1B4,
+ 25507 - 11904: 0xB477,
+ 25508 - 11904: 0xD57C,
+ 25509 - 11904: 0xB1B5,
+ 25511 - 11904: 0xB1B1,
+ 25512 - 11904: 0xB1C0,
+ 25513 - 11904: 0xB1BB,
+ 25514 - 11904: 0xB1B9,
+ 25515 - 11904: 0xD570,
+ 25516 - 11904: 0xB1C5,
+ 25517 - 11904: 0xD56D,
+ 25518 - 11904: 0xD57A,
+ 25519 - 11904: 0xD576,
+ 25520 - 11904: 0xD954,
+ 25521 - 11904: 0xD953,
+ 25529 - 11904: 0x9E4C,
+ 25533 - 11904: 0xD56B,
+ 25534 - 11904: 0xD964,
+ 25536 - 11904: 0xB47A,
+ 25537 - 11904: 0x8FC5,
+ 25538 - 11904: 0xD96A,
+ 25539 - 11904: 0xD959,
+ 25540 - 11904: 0xD967,
+ 25541 - 11904: 0xDD77,
+ 25542 - 11904: 0xB47D,
+ 25543 - 11904: 0xD96B,
+ 25544 - 11904: 0xD96E,
+ 25545 - 11904: 0xB47C,
+ 25546 - 11904: 0xD95C,
+ 25547 - 11904: 0xD96D,
+ 25548 - 11904: 0xD96C,
+ 25549 - 11904: 0xB47E,
+ 25550 - 11904: 0xD955,
+ 25551 - 11904: 0xB479,
+ 25552 - 11904: 0xB4A3,
+ 25553 - 11904: 0x93AD,
+ 25554 - 11904: 0xB4A1,
+ 25555 - 11904: 0xD969,
+ 25557 - 11904: 0xD95F,
+ 25558 - 11904: 0xB4A5,
+ 25559 - 11904: 0xD970,
+ 25560 - 11904: 0xD968,
+ 25561 - 11904: 0xD971,
+ 25562 - 11904: 0xB4AD,
+ 25563 - 11904: 0xB4AB,
+ 25564 - 11904: 0xD966,
+ 25565 - 11904: 0xD965,
+ 25566 - 11904: 0x9DC3,
+ 25567 - 11904: 0xD963,
+ 25568 - 11904: 0xD95D,
+ 25569 - 11904: 0xB4A4,
+ 25570 - 11904: 0x8DA2,
+ 25571 - 11904: 0xB4A2,
+ 25572 - 11904: 0xD1B9,
+ 25573 - 11904: 0xD956,
+ 25574 - 11904: 0x9D4A,
+ 25575 - 11904: 0xDDB7,
+ 25576 - 11904: 0xD957,
+ 25577 - 11904: 0xB47B,
+ 25578 - 11904: 0xB4AA,
+ 25579 - 11904: 0xDD79,
+ 25581 - 11904: 0xB4A6,
+ 25582 - 11904: 0xB4A7,
+ 25583 - 11904: 0xD958,
+ 25584 - 11904: 0xD96F,
+ 25585 - 11904: 0xDD78,
+ 25586 - 11904: 0xD960,
+ 25587 - 11904: 0xD95B,
+ 25588 - 11904: 0xB4A9,
+ 25589 - 11904: 0xD961,
+ 25590 - 11904: 0xD95E,
+ 25592 - 11904: 0xFCB6,
+ 25593 - 11904: 0xB4AE,
+ 25595 - 11904: 0x8DA3,
+ 25596 - 11904: 0x9E4B,
+ 25598 - 11904: 0x9E4D,
+ 25606 - 11904: 0xB770,
+ 25607 - 11904: 0x8DA4,
+ 25609 - 11904: 0xDD7C,
+ 25610 - 11904: 0xDDB1,
+ 25611 - 11904: 0xDDB6,
+ 25612 - 11904: 0xDDAA,
+ 25613 - 11904: 0xB76C,
+ 25614 - 11904: 0xDDBB,
+ 25615 - 11904: 0xB769,
+ 25616 - 11904: 0xDD7A,
+ 25618 - 11904: 0xDD7B,
+ 25619 - 11904: 0xB762,
+ 25620 - 11904: 0xB76B,
+ 25621 - 11904: 0xDDA4,
+ 25622 - 11904: 0xB76E,
+ 25623 - 11904: 0xB76F,
+ 25624 - 11904: 0xDDA5,
+ 25626 - 11904: 0xDDB2,
+ 25627 - 11904: 0xDDB8,
+ 25628 - 11904: 0xB76A,
+ 25630 - 11904: 0xB764,
+ 25631 - 11904: 0xDDA3,
+ 25632 - 11904: 0xDD7D,
+ 25633 - 11904: 0xDDBA,
+ 25634 - 11904: 0xDDA8,
+ 25635 - 11904: 0xDDA9,
+ 25636 - 11904: 0xDD7E,
+ 25637 - 11904: 0xDDB4,
+ 25638 - 11904: 0xDDAB,
+ 25639 - 11904: 0xDDB5,
+ 25640 - 11904: 0xDDAD,
+ 25642 - 11904: 0xB765,
+ 25643 - 11904: 0xE1D9,
+ 25644 - 11904: 0xB768,
+ 25645 - 11904: 0xB766,
+ 25646 - 11904: 0xDDB9,
+ 25647 - 11904: 0xDDB0,
+ 25648 - 11904: 0xDDAC,
+ 25650 - 11904: 0x8AFD,
+ 25651 - 11904: 0xDDA1,
+ 25652 - 11904: 0xBA53,
+ 25653 - 11904: 0xDDAF,
+ 25654 - 11904: 0xB76D,
+ 25655 - 11904: 0xDDA7,
+ 25656 - 11904: 0xFCB5,
+ 25657 - 11904: 0xDDA6,
+ 25658 - 11904: 0xFCC3,
+ 25659 - 11904: 0x93B2,
+ 25661 - 11904: 0xB767,
+ 25662 - 11904: 0xB763,
+ 25663 - 11904: 0xE1EE,
+ 25664 - 11904: 0xDDB3,
+ 25665 - 11904: 0xDDAE,
+ 25667 - 11904: 0xDDA2,
+ 25675 - 11904: 0xE1E9,
+ 25677 - 11904: 0xE1DA,
+ 25678 - 11904: 0xE1E5,
+ 25680 - 11904: 0xE1EC,
+ 25681 - 11904: 0xBA51,
+ 25682 - 11904: 0xB4AC,
+ 25683 - 11904: 0xE1EA,
+ 25684 - 11904: 0xBA4C,
+ 25688 - 11904: 0xBA4B,
+ 25689 - 11904: 0xE1F1,
+ 25690 - 11904: 0x8DA5,
+ 25691 - 11904: 0xE1DB,
+ 25692 - 11904: 0xE1E8,
+ 25693 - 11904: 0xE1DC,
+ 25694 - 11904: 0xE1E7,
+ 25695 - 11904: 0xBA4F,
+ 25696 - 11904: 0xE1EB,
+ 25697 - 11904: 0xD962,
+ 25701 - 11904: 0xE1F2,
+ 25702 - 11904: 0xE1E3,
+ 25703 - 11904: 0xBA52,
+ 25704 - 11904: 0xE5BA,
+ 25705 - 11904: 0xBCAF,
+ 25707 - 11904: 0xE1F0,
+ 25708 - 11904: 0xE1EF,
+ 25709 - 11904: 0xBA54,
+ 25710 - 11904: 0xE5AD,
+ 25711 - 11904: 0xBCB0,
+ 25712 - 11904: 0xE5AE,
+ 25713 - 11904: 0x93A1,
+ 25714 - 11904: 0xE1DF,
+ 25715 - 11904: 0xE1E0,
+ 25716 - 11904: 0xE1DD,
+ 25717 - 11904: 0xE1E2,
+ 25718 - 11904: 0xE1DE,
+ 25719 - 11904: 0xE1F3,
+ 25720 - 11904: 0xBA4E,
+ 25721 - 11904: 0xBCB1,
+ 25722 - 11904: 0xBA50,
+ 25723 - 11904: 0xBA55,
+ 25724 - 11904: 0x8AC6,
+ 25725 - 11904: 0xE1E1,
+ 25727 - 11904: 0xE1ED,
+ 25730 - 11904: 0xE1E6,
+ 25733 - 11904: 0xE5B1,
+ 25735 - 11904: 0xBA4A,
+ 25736 - 11904: 0xBCB4,
+ 25737 - 11904: 0xE9AA,
+ 25738 - 11904: 0xE5B6,
+ 25739 - 11904: 0xE5B5,
+ 25740 - 11904: 0xE5B7,
+ 25741 - 11904: 0x8A5B,
+ 25743 - 11904: 0xE5B4,
+ 25744 - 11904: 0xFCB9,
+ 25745 - 11904: 0x894D,
+ 25746 - 11904: 0xBCBB,
+ 25747 - 11904: 0xBCB8,
+ 25749 - 11904: 0xBCB9,
+ 25750 - 11904: 0xE5AF,
+ 25751 - 11904: 0xE5B2,
+ 25752 - 11904: 0xE5BC,
+ 25753 - 11904: 0xBCC1,
+ 25754 - 11904: 0xBCBF,
+ 25756 - 11904: 0xE5B3,
+ 25757 - 11904: 0xD95A,
+ 25758 - 11904: 0xBCB2,
+ 25759 - 11904: 0xE5B9,
+ 25760 - 11904: 0xE5B0,
+ 25762 - 11904: 0xBCC2,
+ 25763 - 11904: 0xE5B8,
+ 25764 - 11904: 0xBA4D,
+ 25765 - 11904: 0xBCB7,
+ 25766 - 11904: 0xE1E4,
+ 25769 - 11904: 0xBCBA,
+ 25771 - 11904: 0xBCBE,
+ 25772 - 11904: 0xBCC0,
+ 25773 - 11904: 0xBCBD,
+ 25774 - 11904: 0xBCBC,
+ 25775 - 11904: 0xFED4,
+ 25776 - 11904: 0xBCB6,
+ 25777 - 11904: 0xE5BB,
+ 25778 - 11904: 0xBCB3,
+ 25779 - 11904: 0xBCC3,
+ 25780 - 11904: 0x8A78,
+ 25782 - 11904: 0x93AB,
+ 25787 - 11904: 0xBED8,
+ 25788 - 11904: 0xBED9,
+ 25789 - 11904: 0xE9A9,
+ 25790 - 11904: 0xBEE2,
+ 25791 - 11904: 0xBEDF,
+ 25792 - 11904: 0x8DA7,
+ 25793 - 11904: 0xBED6,
+ 25794 - 11904: 0xBEDD,
+ 25795 - 11904: 0xE9AB,
+ 25796 - 11904: 0xBEDB,
+ 25797 - 11904: 0xBED5,
+ 25799 - 11904: 0xBEDC,
+ 25801 - 11904: 0xE9A8,
+ 25802 - 11904: 0xC0BB,
+ 25803 - 11904: 0xBED7,
+ 25805 - 11904: 0xBEDE,
+ 25806 - 11904: 0xC0BA,
+ 25807 - 11904: 0xE9A7,
+ 25808 - 11904: 0xE9A6,
+ 25810 - 11904: 0xBEE0,
+ 25811 - 11904: 0x9F45,
+ 25812 - 11904: 0xBEE1,
+ 25814 - 11904: 0xE9A5,
+ 25815 - 11904: 0xE9A4,
+ 25816 - 11904: 0xC0BC,
+ 25817 - 11904: 0xE9AE,
+ 25818 - 11904: 0xBEDA,
+ 25819 - 11904: 0xE9AC,
+ 25821 - 11904: 0x8A56,
+ 25824 - 11904: 0xC0BD,
+ 25825 - 11904: 0xFCBF,
+ 25826 - 11904: 0xC0C2,
+ 25827 - 11904: 0xECEA,
+ 25828 - 11904: 0xECEC,
+ 25829 - 11904: 0xFCC0,
+ 25830 - 11904: 0xC0BF,
+ 25831 - 11904: 0x8EE6,
+ 25832 - 11904: 0xECED,
+ 25833 - 11904: 0xECE9,
+ 25834 - 11904: 0x8AA4,
+ 25835 - 11904: 0xECEB,
+ 25836 - 11904: 0xC0C0,
+ 25837 - 11904: 0xC0C3,
+ 25839 - 11904: 0xECE8,
+ 25840 - 11904: 0xC0BE,
+ 25841 - 11904: 0xC0C1,
+ 25842 - 11904: 0xC259,
+ 25843 - 11904: 0xE9AD,
+ 25844 - 11904: 0xC258,
+ 25847 - 11904: 0xC25E,
+ 25848 - 11904: 0xEFD4,
+ 25850 - 11904: 0xC25C,
+ 25851 - 11904: 0xC25D,
+ 25852 - 11904: 0xEFD7,
+ 25853 - 11904: 0xEFD3,
+ 25854 - 11904: 0xC25A,
+ 25855 - 11904: 0xEFD1,
+ 25856 - 11904: 0xC36B,
+ 25857 - 11904: 0xEFD5,
+ 25859 - 11904: 0xEFD6,
+ 25860 - 11904: 0xEFD2,
+ 25862 - 11904: 0xC25B,
+ 25863 - 11904: 0xF242,
+ 25865 - 11904: 0xF245,
+ 25866 - 11904: 0x8943,
+ 25868 - 11904: 0xF246,
+ 25869 - 11904: 0xF244,
+ 25870 - 11904: 0xF247,
+ 25871 - 11904: 0xC36C,
+ 25872 - 11904: 0xF243,
+ 25873 - 11904: 0x93F3,
+ 25875 - 11904: 0xF44E,
+ 25876 - 11904: 0xC464,
+ 25877 - 11904: 0xF44D,
+ 25878 - 11904: 0xF44C,
+ 25879 - 11904: 0xF44B,
+ 25880 - 11904: 0xC463,
+ 25881 - 11904: 0xC465,
+ 25883 - 11904: 0xF5CD,
+ 25884 - 11904: 0xC4E2,
+ 25885 - 11904: 0xC4E1,
+ 25886 - 11904: 0xFCAB,
+ 25887 - 11904: 0x9EA2,
+ 25888 - 11904: 0xF6E1,
+ 25889 - 11904: 0xF6E0,
+ 25890 - 11904: 0xF6E3,
+ 25891 - 11904: 0xC5CB,
+ 25892 - 11904: 0xC575,
+ 25893 - 11904: 0xF7DD,
+ 25894 - 11904: 0xF6E2,
+ 25897 - 11904: 0xF7DC,
+ 25898 - 11904: 0xC5CD,
+ 25899 - 11904: 0xC5CC,
+ 25900 - 11904: 0xC5F3,
+ 25901 - 11904: 0xF8A9,
+ 25902 - 11904: 0xF8EF,
+ 25903 - 11904: 0xA4E4,
+ 25904 - 11904: 0x9DC7,
+ 25906 - 11904: 0xD972,
+ 25907 - 11904: 0xE9AF,
+ 25908 - 11904: 0xC6D2,
+ 25909 - 11904: 0x8BCE,
+ 25910 - 11904: 0xA6AC,
+ 25911 - 11904: 0xCAF7,
+ 25912 - 11904: 0xA7F1,
+ 25913 - 11904: 0xA7EF,
+ 25915 - 11904: 0xA7F0,
+ 25917 - 11904: 0xCCC1,
+ 25918 - 11904: 0xA9F1,
+ 25919 - 11904: 0xAC46,
+ 25921 - 11904: 0xCEE7,
+ 25923 - 11904: 0xCEE8,
+ 25925 - 11904: 0xAC47,
+ 25926 - 11904: 0xD1CE,
+ 25928 - 11904: 0xAEC4,
+ 25929 - 11904: 0xAEC5,
+ 25930 - 11904: 0xD1CD,
+ 25933 - 11904: 0xFCC5,
+ 25935 - 11904: 0xB1D3,
+ 25937 - 11904: 0xB1CF,
+ 25939 - 11904: 0xD5A7,
+ 25940 - 11904: 0xB1D6,
+ 25941 - 11904: 0xB1D5,
+ 25942 - 11904: 0xB1CE,
+ 25943 - 11904: 0xB1D1,
+ 25944 - 11904: 0xB1D4,
+ 25945 - 11904: 0xB1D0,
+ 25948 - 11904: 0xD976,
+ 25949 - 11904: 0xB1CD,
+ 25950 - 11904: 0xB4AF,
+ 25951 - 11904: 0xFCCB,
+ 25954 - 11904: 0xB4B1,
+ 25955 - 11904: 0xB4B2,
+ 25956 - 11904: 0xD975,
+ 25957 - 11904: 0xD978,
+ 25958 - 11904: 0xB4B0,
+ 25959 - 11904: 0xD973,
+ 25960 - 11904: 0xD977,
+ 25962 - 11904: 0xD974,
+ 25963 - 11904: 0x93B3,
+ 25964 - 11904: 0xB771,
+ 25965 - 11904: 0xFCCA,
+ 25967 - 11904: 0xDDBC,
+ 25970 - 11904: 0xBA56,
+ 25971 - 11904: 0xE1F4,
+ 25972 - 11904: 0xBEE3,
+ 25973 - 11904: 0xBCC4,
+ 25974 - 11904: 0xE5BD,
+ 25975 - 11904: 0xBCC5,
+ 25976 - 11904: 0xBCC6,
+ 25977 - 11904: 0xE5BF,
+ 25978 - 11904: 0xE5BE,
+ 25979 - 11904: 0xE5C0,
+ 25980 - 11904: 0xE9B1,
+ 25983 - 11904: 0xE9B0,
+ 25984 - 11904: 0xECEF,
+ 25985 - 11904: 0xECEE,
+ 25986 - 11904: 0xC0C4,
+ 25987 - 11904: 0xC0C5,
+ 25988 - 11904: 0xF248,
+ 25989 - 11904: 0xFCC9,
+ 25990 - 11904: 0x8DAC,
+ 25991 - 11904: 0xA4E5,
+ 25992 - 11904: 0xFBC6,
+ 25993 - 11904: 0x8967,
+ 25995 - 11904: 0x8C7E,
+ 25996 - 11904: 0xD979,
+ 26000 - 11904: 0xB4B4,
+ 26001 - 11904: 0xB4B3,
+ 26002 - 11904: 0xDDBD,
+ 26004 - 11904: 0xEFD8,
+ 26005 - 11904: 0xC4E3,
+ 26006 - 11904: 0xF7DE,
+ 26007 - 11904: 0xA4E6,
+ 26009 - 11904: 0xAEC6,
+ 26011 - 11904: 0xB1D8,
+ 26012 - 11904: 0xB1D7,
+ 26013 - 11904: 0xD97A,
+ 26014 - 11904: 0xD97B,
+ 26015 - 11904: 0xB772,
+ 26016 - 11904: 0xE1F5,
+ 26017 - 11904: 0xBA57,
+ 26018 - 11904: 0xE9B2,
+ 26020 - 11904: 0xA4E7,
+ 26021 - 11904: 0xA5B8,
+ 26023 - 11904: 0xA9F2,
+ 26024 - 11904: 0xCCC2,
+ 26026 - 11904: 0xCEE9,
+ 26027 - 11904: 0xAC48,
+ 26028 - 11904: 0xB1D9,
+ 26030 - 11904: 0xD97C,
+ 26031 - 11904: 0xB4B5,
+ 26032 - 11904: 0xB773,
+ 26034 - 11904: 0xE5C1,
+ 26035 - 11904: 0xE5C2,
+ 26037 - 11904: 0xFCCD,
+ 26038 - 11904: 0xECF0,
+ 26039 - 11904: 0xC25F,
+ 26040 - 11904: 0xF8F0,
+ 26041 - 11904: 0xA4E8,
+ 26043 - 11904: 0xCCC3,
+ 26044 - 11904: 0xA9F3,
+ 26045 - 11904: 0xAC49,
+ 26046 - 11904: 0x9CF3,
+ 26047 - 11904: 0xCEEA,
+ 26049 - 11904: 0xAEC7,
+ 26050 - 11904: 0xD1D2,
+ 26051 - 11904: 0xD1D0,
+ 26052 - 11904: 0xD1D1,
+ 26053 - 11904: 0xAEC8,
+ 26054 - 11904: 0xD1CF,
+ 26059 - 11904: 0xB1DB,
+ 26060 - 11904: 0xB1DC,
+ 26061 - 11904: 0xD5A8,
+ 26062 - 11904: 0xB1DD,
+ 26063 - 11904: 0xB1DA,
+ 26064 - 11904: 0xD97D,
+ 26065 - 11904: 0xFCD0,
+ 26066 - 11904: 0xD97E,
+ 26067 - 11904: 0xDDBE,
+ 26068 - 11904: 0x95BB,
+ 26070 - 11904: 0xBA59,
+ 26071 - 11904: 0xBA58,
+ 26074 - 11904: 0xECF1,
+ 26075 - 11904: 0xEFD9,
+ 26077 - 11904: 0xF24A,
+ 26078 - 11904: 0xF249,
+ 26079 - 11904: 0xF44F,
+ 26080 - 11904: 0xFCD3,
+ 26081 - 11904: 0xC95E,
+ 26082 - 11904: 0xAC4A,
+ 26083 - 11904: 0xFCD4,
+ 26085 - 11904: 0xA4E9,
+ 26086 - 11904: 0xA5B9,
+ 26088 - 11904: 0xA6AE,
+ 26089 - 11904: 0xA6AD,
+ 26092 - 11904: 0xA6AF,
+ 26093 - 11904: 0xA6B0,
+ 26094 - 11904: 0xC9EE,
+ 26095 - 11904: 0xC9ED,
+ 26096 - 11904: 0xCAF8,
+ 26097 - 11904: 0xA7F2,
+ 26098 - 11904: 0xCAFB,
+ 26099 - 11904: 0xCAFA,
+ 26100 - 11904: 0xCAF9,
+ 26101 - 11904: 0xCAFC,
+ 26106 - 11904: 0xA9F4,
+ 26107 - 11904: 0xCCC9,
+ 26108 - 11904: 0xCCC5,
+ 26109 - 11904: 0xCCCE,
+ 26111 - 11904: 0x8DAE,
+ 26112 - 11904: 0xA9FB,
+ 26114 - 11904: 0xA9F9,
+ 26115 - 11904: 0xCCCA,
+ 26116 - 11904: 0xCCC6,
+ 26117 - 11904: 0xCCCD,
+ 26118 - 11904: 0xA9F8,
+ 26119 - 11904: 0xAA40,
+ 26120 - 11904: 0xCCC8,
+ 26121 - 11904: 0xCCC4,
+ 26122 - 11904: 0xA9FE,
+ 26123 - 11904: 0xCCCB,
+ 26124 - 11904: 0xA9F7,
+ 26125 - 11904: 0xCCCC,
+ 26126 - 11904: 0xA9FA,
+ 26127 - 11904: 0xA9FC,
+ 26128 - 11904: 0xCCD0,
+ 26129 - 11904: 0xCCCF,
+ 26130 - 11904: 0xCCC7,
+ 26131 - 11904: 0xA9F6,
+ 26132 - 11904: 0xA9F5,
+ 26133 - 11904: 0xA9FD,
+ 26136 - 11904: 0xFCD7,
+ 26140 - 11904: 0xCEEF,
+ 26141 - 11904: 0xCEF5,
+ 26142 - 11904: 0x93DB,
+ 26143 - 11904: 0xAC50,
+ 26144 - 11904: 0xAC4D,
+ 26145 - 11904: 0xCEEC,
+ 26146 - 11904: 0xCEF1,
+ 26147 - 11904: 0xFE63,
+ 26148 - 11904: 0xAC53,
+ 26149 - 11904: 0xAC4B,
+ 26150 - 11904: 0xCEF0,
+ 26151 - 11904: 0xAC4E,
+ 26152 - 11904: 0xAC51,
+ 26155 - 11904: 0xCEF3,
+ 26157 - 11904: 0xAC4C,
+ 26158 - 11904: 0xCEF8,
+ 26159 - 11904: 0xAC4F,
+ 26160 - 11904: 0x93D5,
+ 26161 - 11904: 0xAC52,
+ 26162 - 11904: 0xCEED,
+ 26163 - 11904: 0xCEF2,
+ 26164 - 11904: 0xCEF6,
+ 26165 - 11904: 0xCEEE,
+ 26166 - 11904: 0xCEEB,
+ 26169 - 11904: 0xCEF7,
+ 26170 - 11904: 0xCEF4,
+ 26177 - 11904: 0xAED0,
+ 26178 - 11904: 0xAEC9,
+ 26179 - 11904: 0xAECC,
+ 26180 - 11904: 0xFCDA,
+ 26181 - 11904: 0xAECF,
+ 26183 - 11904: 0xD1D5,
+ 26184 - 11904: 0x9B71,
+ 26185 - 11904: 0xAECA,
+ 26186 - 11904: 0xD1D3,
+ 26187 - 11904: 0xFCDD,
+ 26188 - 11904: 0xAECE,
+ 26189 - 11904: 0x8764,
+ 26191 - 11904: 0xAECB,
+ 26193 - 11904: 0xD1D6,
+ 26194 - 11904: 0xAECD,
+ 26195 - 11904: 0x8DAF,
+ 26199 - 11904: 0xFAF2,
+ 26201 - 11904: 0xD5AC,
+ 26202 - 11904: 0xB1DF,
+ 26203 - 11904: 0xD5AB,
+ 26204 - 11904: 0xD5AD,
+ 26205 - 11904: 0xB1DE,
+ 26206 - 11904: 0xB1E3,
+ 26207 - 11904: 0xD1D4,
+ 26208 - 11904: 0x87B5,
+ 26209 - 11904: 0xD5AA,
+ 26210 - 11904: 0xD5AE,
+ 26211 - 11904: 0x93D8,
+ 26212 - 11904: 0xB1E0,
+ 26213 - 11904: 0xD5A9,
+ 26214 - 11904: 0xB1E2,
+ 26215 - 11904: 0xFCDF,
+ 26216 - 11904: 0xB1E1,
+ 26218 - 11904: 0xD9A7,
+ 26219 - 11904: 0x93D3,
+ 26220 - 11904: 0xD9A2,
+ 26222 - 11904: 0xB4B6,
+ 26223 - 11904: 0xB4BA,
+ 26224 - 11904: 0xB4B7,
+ 26225 - 11904: 0xD9A5,
+ 26226 - 11904: 0xD9A8,
+ 26227 - 11904: 0xFCE1,
+ 26228 - 11904: 0xFCE2,
+ 26230 - 11904: 0xB4B9,
+ 26231 - 11904: 0xB4BE,
+ 26232 - 11904: 0xDDC7,
+ 26233 - 11904: 0xD9A6,
+ 26234 - 11904: 0xB4BC,
+ 26235 - 11904: 0xD9A3,
+ 26236 - 11904: 0xD9A1,
+ 26237 - 11904: 0x8E76,
+ 26238 - 11904: 0xB4BD,
+ 26240 - 11904: 0xD9A4,
+ 26244 - 11904: 0xB779,
+ 26245 - 11904: 0xFC62,
+ 26246 - 11904: 0xDDBF,
+ 26247 - 11904: 0xB776,
+ 26248 - 11904: 0xB777,
+ 26249 - 11904: 0xB775,
+ 26250 - 11904: 0xDDC4,
+ 26251 - 11904: 0xDDC3,
+ 26252 - 11904: 0xDDC0,
+ 26253 - 11904: 0xB77B,
+ 26254 - 11904: 0x93D1,
+ 26256 - 11904: 0xDDC2,
+ 26257 - 11904: 0xB4BB,
+ 26258 - 11904: 0x8DB1,
+ 26260 - 11904: 0xDDC6,
+ 26261 - 11904: 0xDDC1,
+ 26262 - 11904: 0xB778,
+ 26263 - 11904: 0xB774,
+ 26264 - 11904: 0xB77A,
+ 26265 - 11904: 0xDDC5,
+ 26266 - 11904: 0x9859,
+ 26269 - 11904: 0xBA5C,
+ 26271 - 11904: 0xE1F8,
+ 26272 - 11904: 0xE1F7,
+ 26273 - 11904: 0xE1F6,
+ 26274 - 11904: 0xBA5A,
+ 26276 - 11904: 0xFB52,
+ 26280 - 11904: 0xBA5B,
+ 26281 - 11904: 0xE5C5,
+ 26282 - 11904: 0xE5C8,
+ 26283 - 11904: 0xBCC8,
+ 26285 - 11904: 0xFB53,
+ 26286 - 11904: 0xBCC7,
+ 26287 - 11904: 0xE5C9,
+ 26288 - 11904: 0xE5C4,
+ 26289 - 11904: 0xBCCA,
+ 26290 - 11904: 0xE5C6,
+ 26291 - 11904: 0xFB4D,
+ 26292 - 11904: 0xBCC9,
+ 26293 - 11904: 0xE5C3,
+ 26294 - 11904: 0x9CBF,
+ 26295 - 11904: 0xE5C7,
+ 26296 - 11904: 0xBEE9,
+ 26297 - 11904: 0xBEE6,
+ 26298 - 11904: 0xE9BB,
+ 26299 - 11904: 0xE9BA,
+ 26301 - 11904: 0xE9B9,
+ 26302 - 11904: 0xE9B4,
+ 26303 - 11904: 0x9B72,
+ 26304 - 11904: 0xE9B5,
+ 26308 - 11904: 0xBEE7,
+ 26310 - 11904: 0xBEE4,
+ 26311 - 11904: 0xBEE8,
+ 26312 - 11904: 0xE9B3,
+ 26313 - 11904: 0xBEE5,
+ 26314 - 11904: 0xE9B6,
+ 26315 - 11904: 0xE9B7,
+ 26316 - 11904: 0xE9BC,
+ 26317 - 11904: 0xFB50,
+ 26318 - 11904: 0x93BE,
+ 26319 - 11904: 0xE9B8,
+ 26322 - 11904: 0xECF2,
+ 26326 - 11904: 0xC0C7,
+ 26328 - 11904: 0xEFDC,
+ 26329 - 11904: 0xC0C6,
+ 26330 - 11904: 0xEFDA,
+ 26331 - 11904: 0xEFDB,
+ 26332 - 11904: 0xC260,
+ 26333 - 11904: 0xC36E,
+ 26334 - 11904: 0xF24B,
+ 26336 - 11904: 0xC36D,
+ 26339 - 11904: 0xF451,
+ 26340 - 11904: 0xF452,
+ 26342 - 11904: 0xC466,
+ 26343 - 11904: 0x8CDB,
+ 26344 - 11904: 0xF450,
+ 26345 - 11904: 0xC4E4,
+ 26347 - 11904: 0xF7DF,
+ 26348 - 11904: 0xC5CE,
+ 26349 - 11904: 0xF8AA,
+ 26350 - 11904: 0xF8AB,
+ 26352 - 11904: 0xA4EA,
+ 26353 - 11904: 0x9DF1,
+ 26354 - 11904: 0xA6B1,
+ 26355 - 11904: 0xA6B2,
+ 26356 - 11904: 0xA7F3,
+ 26358 - 11904: 0xCCD1,
+ 26359 - 11904: 0xAC54,
+ 26360 - 11904: 0xAED1,
+ 26361 - 11904: 0xB1E4,
+ 26364 - 11904: 0xB0D2,
+ 26366 - 11904: 0xB4BF,
+ 26367 - 11904: 0xB4C0,
+ 26368 - 11904: 0xB3CC,
+ 26369 - 11904: 0xD9A9,
+ 26370 - 11904: 0xFCEB,
+ 26371 - 11904: 0xB77C,
+ 26372 - 11904: 0xE1FA,
+ 26373 - 11904: 0xE1F9,
+ 26376 - 11904: 0xA4EB,
+ 26377 - 11904: 0xA6B3,
+ 26378 - 11904: 0xCCD2,
+ 26379 - 11904: 0xAA42,
+ 26380 - 11904: 0xA0BB,
+ 26381 - 11904: 0xAA41,
+ 26382 - 11904: 0x9B7E,
+ 26383 - 11904: 0xCEF9,
+ 26384 - 11904: 0xCEFA,
+ 26386 - 11904: 0xD1D7,
+ 26387 - 11904: 0xD1D8,
+ 26388 - 11904: 0xAED2,
+ 26389 - 11904: 0xAED3,
+ 26390 - 11904: 0x8DB3,
+ 26391 - 11904: 0xAED4,
+ 26392 - 11904: 0xD5AF,
+ 26393 - 11904: 0x8C52,
+ 26395 - 11904: 0xB1E6,
+ 26397 - 11904: 0xB4C2,
+ 26398 - 11904: 0x9AE8,
+ 26399 - 11904: 0xB4C1,
+ 26400 - 11904: 0xDDC8,
+ 26401 - 11904: 0xDF7A,
+ 26402 - 11904: 0xE1FB,
+ 26403 - 11904: 0xE9BD,
+ 26405 - 11904: 0x8EDC,
+ 26406 - 11904: 0xC261,
+ 26407 - 11904: 0xC467,
+ 26408 - 11904: 0xA4EC,
+ 26410 - 11904: 0xA5BC,
+ 26411 - 11904: 0xA5BD,
+ 26412 - 11904: 0xA5BB,
+ 26413 - 11904: 0xA5BE,
+ 26414 - 11904: 0xA5BA,
+ 26417 - 11904: 0xA6B6,
+ 26419 - 11904: 0xC9F6,
+ 26420 - 11904: 0xA6B5,
+ 26421 - 11904: 0xA6B7,
+ 26422 - 11904: 0x9CF9,
+ 26424 - 11904: 0xC9F1,
+ 26425 - 11904: 0xC9F0,
+ 26426 - 11904: 0xC9F3,
+ 26427 - 11904: 0xC9F2,
+ 26428 - 11904: 0xC9F5,
+ 26429 - 11904: 0xA6B4,
+ 26430 - 11904: 0xC9EF,
+ 26431 - 11904: 0xC9F4,
+ 26436 - 11904: 0xFA50,
+ 26437 - 11904: 0xCAFD,
+ 26438 - 11904: 0xA7FD,
+ 26439 - 11904: 0xCAFE,
+ 26440 - 11904: 0xCB43,
+ 26441 - 11904: 0xA7FC,
+ 26443 - 11904: 0xCB47,
+ 26444 - 11904: 0xCB42,
+ 26445 - 11904: 0xCB45,
+ 26446 - 11904: 0xA7F5,
+ 26447 - 11904: 0xA7F6,
+ 26448 - 11904: 0xA7F7,
+ 26449 - 11904: 0xA7F8,
+ 26451 - 11904: 0xA840,
+ 26453 - 11904: 0xCB41,
+ 26454 - 11904: 0xA7FA,
+ 26455 - 11904: 0xA841,
+ 26457 - 11904: 0xCB40,
+ 26458 - 11904: 0xCB46,
+ 26460 - 11904: 0xA7F9,
+ 26461 - 11904: 0xCB44,
+ 26462 - 11904: 0xFCF1,
+ 26463 - 11904: 0xA7F4,
+ 26464 - 11904: 0xA7FE,
+ 26465 - 11904: 0x98E7,
+ 26466 - 11904: 0xFCF3,
+ 26471 - 11904: 0xFCF2,
+ 26474 - 11904: 0xAA57,
+ 26475 - 11904: 0x8CCA,
+ 26476 - 11904: 0xCCD4,
+ 26477 - 11904: 0xAA43,
+ 26478 - 11904: 0x8775,
+ 26479 - 11904: 0xAA4D,
+ 26480 - 11904: 0xAA4E,
+ 26481 - 11904: 0xAA46,
+ 26482 - 11904: 0xAA58,
+ 26483 - 11904: 0xAA48,
+ 26484 - 11904: 0xCCDC,
+ 26485 - 11904: 0xAA53,
+ 26486 - 11904: 0xCCD7,
+ 26487 - 11904: 0xAA49,
+ 26488 - 11904: 0xCCE6,
+ 26489 - 11904: 0xCCE7,
+ 26490 - 11904: 0xCCDF,
+ 26491 - 11904: 0xCCD8,
+ 26492 - 11904: 0xAA56,
+ 26493 - 11904: 0xCCE4,
+ 26494 - 11904: 0xAA51,
+ 26495 - 11904: 0xAA4F,
+ 26497 - 11904: 0xCCE5,
+ 26498 - 11904: 0x87BA,
+ 26499 - 11904: 0xCCE3,
+ 26500 - 11904: 0xCCDB,
+ 26501 - 11904: 0xCCD3,
+ 26502 - 11904: 0xCCDA,
+ 26503 - 11904: 0xAA4A,
+ 26505 - 11904: 0xAA50,
+ 26507 - 11904: 0xAA44,
+ 26508 - 11904: 0xCCDE,
+ 26509 - 11904: 0xCCDD,
+ 26510 - 11904: 0xCCD5,
+ 26511 - 11904: 0x93E5,
+ 26512 - 11904: 0xAA52,
+ 26513 - 11904: 0xCCE1,
+ 26514 - 11904: 0xCCD6,
+ 26515 - 11904: 0xAA55,
+ 26516 - 11904: 0xCCE8,
+ 26517 - 11904: 0xAA45,
+ 26519 - 11904: 0xAA4C,
+ 26520 - 11904: 0xCCD9,
+ 26521 - 11904: 0xCCE2,
+ 26522 - 11904: 0xAA54,
+ 26524 - 11904: 0xAA47,
+ 26525 - 11904: 0xAA4B,
+ 26527 - 11904: 0xCCE0,
+ 26528 - 11904: 0x9A59,
+ 26532 - 11904: 0x8DB5,
+ 26540 - 11904: 0xFD4D,
+ 26542 - 11904: 0xCF5B,
+ 26543 - 11904: 0xAC5C,
+ 26544 - 11904: 0xAC69,
+ 26545 - 11904: 0xFD5E,
+ 26546 - 11904: 0xCF56,
+ 26547 - 11904: 0xCF4C,
+ 26548 - 11904: 0xAC62,
+ 26549 - 11904: 0xCF4A,
+ 26550 - 11904: 0xAC5B,
+ 26551 - 11904: 0xCF45,
+ 26552 - 11904: 0xAC65,
+ 26553 - 11904: 0xCF52,
+ 26554 - 11904: 0xCEFE,
+ 26555 - 11904: 0xCF41,
+ 26559 - 11904: 0x8F7D,
+ 26560 - 11904: 0xCF44,
+ 26561 - 11904: 0xCEFB,
+ 26562 - 11904: 0xCF51,
+ 26563 - 11904: 0xCF61,
+ 26564 - 11904: 0xAC60,
+ 26565 - 11904: 0xCF46,
+ 26566 - 11904: 0xCF58,
+ 26568 - 11904: 0xCEFD,
+ 26569 - 11904: 0xCF5F,
+ 26570 - 11904: 0xCF60,
+ 26571 - 11904: 0xCF63,
+ 26572 - 11904: 0xCF5A,
+ 26573 - 11904: 0xCF4B,
+ 26574 - 11904: 0xCF53,
+ 26575 - 11904: 0xAC66,
+ 26576 - 11904: 0xAC59,
+ 26577 - 11904: 0xAC61,
+ 26578 - 11904: 0xAC6D,
+ 26579 - 11904: 0xAC56,
+ 26580 - 11904: 0xAC58,
+ 26582 - 11904: 0x9547,
+ 26583 - 11904: 0xFCF6,
+ 26584 - 11904: 0xCF43,
+ 26585 - 11904: 0xAC6A,
+ 26586 - 11904: 0xAC63,
+ 26587 - 11904: 0xCF5D,
+ 26588 - 11904: 0xCF40,
+ 26589 - 11904: 0xAC6C,
+ 26590 - 11904: 0xAC67,
+ 26591 - 11904: 0xCF49,
+ 26594 - 11904: 0xAC6B,
+ 26595 - 11904: 0xCF50,
+ 26596 - 11904: 0xCF48,
+ 26597 - 11904: 0xAC64,
+ 26598 - 11904: 0xCF5C,
+ 26599 - 11904: 0xCF54,
+ 26601 - 11904: 0xAC5E,
+ 26602 - 11904: 0xCF62,
+ 26603 - 11904: 0xCF47,
+ 26604 - 11904: 0xAC5A,
+ 26605 - 11904: 0xCF59,
+ 26606 - 11904: 0xCF4F,
+ 26607 - 11904: 0xAC5F,
+ 26608 - 11904: 0xCF55,
+ 26609 - 11904: 0xAC57,
+ 26610 - 11904: 0xCEFC,
+ 26611 - 11904: 0xAC68,
+ 26612 - 11904: 0xAEE3,
+ 26613 - 11904: 0xAC5D,
+ 26614 - 11904: 0xCF4E,
+ 26615 - 11904: 0xCF4D,
+ 26616 - 11904: 0xCF42,
+ 26617 - 11904: 0x9250,
+ 26618 - 11904: 0xCF5E,
+ 26620 - 11904: 0xCF57,
+ 26622 - 11904: 0x8968,
+ 26623 - 11904: 0xAC55,
+ 26624 - 11904: 0x8DB6,
+ 26625 - 11904: 0xFCFB,
+ 26626 - 11904: 0xA07D,
+ 26627 - 11904: 0x98FC,
+ 26628 - 11904: 0x8969,
+ 26637 - 11904: 0xFE4F,
+ 26640 - 11904: 0x9256,
+ 26642 - 11904: 0xD1EC,
+ 26643 - 11904: 0xAEEA,
+ 26644 - 11904: 0xD1ED,
+ 26646 - 11904: 0xD1E1,
+ 26647 - 11904: 0xAEDF,
+ 26648 - 11904: 0xAEEB,
+ 26650 - 11904: 0xD1DA,
+ 26651 - 11904: 0xFAC9,
+ 26652 - 11904: 0xD1E3,
+ 26653 - 11904: 0xD1EB,
+ 26654 - 11904: 0x93E8,
+ 26655 - 11904: 0xD1D9,
+ 26656 - 11904: 0xD1F4,
+ 26657 - 11904: 0xAED5,
+ 26658 - 11904: 0xFCF8,
+ 26661 - 11904: 0xD1F3,
+ 26662 - 11904: 0xD1EE,
+ 26664 - 11904: 0xD1EF,
+ 26665 - 11904: 0xAEDD,
+ 26666 - 11904: 0xAEE8,
+ 26667 - 11904: 0xD1E5,
+ 26669 - 11904: 0xD1E6,
+ 26670 - 11904: 0xD1F0,
+ 26671 - 11904: 0xD1E7,
+ 26673 - 11904: 0xD1E2,
+ 26674 - 11904: 0xD1DC,
+ 26675 - 11904: 0xD1DD,
+ 26676 - 11904: 0xD1EA,
+ 26677 - 11904: 0xD1E4,
+ 26678 - 11904: 0x9CE3,
+ 26679 - 11904: 0xFDA9,
+ 26680 - 11904: 0xAED6,
+ 26681 - 11904: 0xAEDA,
+ 26682 - 11904: 0xD1F2,
+ 26683 - 11904: 0xD1DE,
+ 26684 - 11904: 0xAEE6,
+ 26685 - 11904: 0xAEE2,
+ 26686 - 11904: 0xFC44,
+ 26688 - 11904: 0xAEE5,
+ 26689 - 11904: 0xAEEC,
+ 26690 - 11904: 0xAEDB,
+ 26691 - 11904: 0xAEE7,
+ 26692 - 11904: 0xD1E9,
+ 26693 - 11904: 0xAEE9,
+ 26694 - 11904: 0xAED8,
+ 26695 - 11904: 0x9640,
+ 26696 - 11904: 0xAED7,
+ 26697 - 11904: 0xD1DB,
+ 26698 - 11904: 0x8DB8,
+ 26699 - 11904: 0xD1DF,
+ 26700 - 11904: 0xAEE0,
+ 26701 - 11904: 0xD1F1,
+ 26702 - 11904: 0xD1E8,
+ 26703 - 11904: 0xD1E0,
+ 26704 - 11904: 0xAEE4,
+ 26705 - 11904: 0xAEE1,
+ 26707 - 11904: 0xAED9,
+ 26708 - 11904: 0xAEDC,
+ 26709 - 11904: 0x9B4A,
+ 26710 - 11904: 0x8FB9,
+ 26717 - 11904: 0xFCFE,
+ 26725 - 11904: 0x896A,
+ 26731 - 11904: 0xD5C4,
+ 26733 - 11904: 0xD5B4,
+ 26734 - 11904: 0xD5B5,
+ 26735 - 11904: 0xD5B9,
+ 26737 - 11904: 0xD5C8,
+ 26738 - 11904: 0xD5C5,
+ 26740 - 11904: 0xD5BE,
+ 26741 - 11904: 0xD5BD,
+ 26742 - 11904: 0xB1ED,
+ 26743 - 11904: 0xD5C1,
+ 26744 - 11904: 0xD5D0,
+ 26745 - 11904: 0xD5B0,
+ 26747 - 11904: 0xD5D1,
+ 26748 - 11904: 0xD5C3,
+ 26749 - 11904: 0xD5D5,
+ 26750 - 11904: 0xD5C9,
+ 26751 - 11904: 0xB1EC,
+ 26752 - 11904: 0xD5C7,
+ 26753 - 11904: 0xB1E7,
+ 26754 - 11904: 0xB1FC,
+ 26755 - 11904: 0xB1F2,
+ 26756 - 11904: 0x8DB9,
+ 26757 - 11904: 0xB1F6,
+ 26758 - 11904: 0xB1F5,
+ 26759 - 11904: 0xD5B1,
+ 26760 - 11904: 0x917E,
+ 26761 - 11904: 0xD5CE,
+ 26762 - 11904: 0xD5D4,
+ 26763 - 11904: 0xD5CC,
+ 26764 - 11904: 0xD5D3,
+ 26767 - 11904: 0xD5C0,
+ 26768 - 11904: 0xD5B2,
+ 26769 - 11904: 0xD5D2,
+ 26770 - 11904: 0xD5C2,
+ 26771 - 11904: 0xB1EA,
+ 26772 - 11904: 0xB1F7,
+ 26774 - 11904: 0xD5CB,
+ 26775 - 11904: 0xB1F0,
+ 26776 - 11904: 0x93F4,
+ 26779 - 11904: 0xD5CA,
+ 26780 - 11904: 0xD5B3,
+ 26781 - 11904: 0xB1F8,
+ 26783 - 11904: 0xB1FA,
+ 26784 - 11904: 0xD5CD,
+ 26785 - 11904: 0xB1FB,
+ 26786 - 11904: 0xB1E9,
+ 26787 - 11904: 0xD5BA,
+ 26788 - 11904: 0xD5CF,
+ 26790 - 11904: 0xFB7C,
+ 26791 - 11904: 0xB1EF,
+ 26792 - 11904: 0xB1F9,
+ 26793 - 11904: 0xD5BC,
+ 26794 - 11904: 0xD5C6,
+ 26795 - 11904: 0xD5B7,
+ 26796 - 11904: 0xD5BB,
+ 26797 - 11904: 0xB1F4,
+ 26798 - 11904: 0xD5B6,
+ 26799 - 11904: 0xB1E8,
+ 26800 - 11904: 0xB1F1,
+ 26801 - 11904: 0xB1EE,
+ 26802 - 11904: 0xD5BF,
+ 26803 - 11904: 0xAEDE,
+ 26804 - 11904: 0xD9C0,
+ 26805 - 11904: 0xB1EB,
+ 26806 - 11904: 0x93E7,
+ 26809 - 11904: 0x97EF,
+ 26813 - 11904: 0xFE4A,
+ 26819 - 11904: 0xFD45,
+ 26820 - 11904: 0xB1F3,
+ 26821 - 11904: 0x96A5,
+ 26822 - 11904: 0xD9C3,
+ 26823 - 11904: 0xD9D9,
+ 26824 - 11904: 0xD9CE,
+ 26825 - 11904: 0xB4D6,
+ 26826 - 11904: 0xFEE0,
+ 26827 - 11904: 0xB4D1,
+ 26828 - 11904: 0xD9BD,
+ 26829 - 11904: 0xB4D2,
+ 26830 - 11904: 0xD9CD,
+ 26832 - 11904: 0xD9C6,
+ 26833 - 11904: 0xD9D3,
+ 26834 - 11904: 0xB4CE,
+ 26835 - 11904: 0xD9AB,
+ 26836 - 11904: 0xD9D5,
+ 26837 - 11904: 0xB4C4,
+ 26838 - 11904: 0xD9B3,
+ 26839 - 11904: 0xB4C7,
+ 26840 - 11904: 0xB4C6,
+ 26842 - 11904: 0xB4D7,
+ 26844 - 11904: 0xD9AD,
+ 26845 - 11904: 0xD9CF,
+ 26846 - 11904: 0xD9D0,
+ 26847 - 11904: 0xB4C9,
+ 26848 - 11904: 0xB4C5,
+ 26849 - 11904: 0xD9BB,
+ 26851 - 11904: 0xB4D0,
+ 26852 - 11904: 0xD9B6,
+ 26854 - 11904: 0xD9D1,
+ 26855 - 11904: 0xB4CC,
+ 26856 - 11904: 0xD9C9,
+ 26857 - 11904: 0xD9D6,
+ 26858 - 11904: 0xD9B0,
+ 26859 - 11904: 0xD9B5,
+ 26860 - 11904: 0xD9AF,
+ 26862 - 11904: 0xB4CB,
+ 26863 - 11904: 0xD9C2,
+ 26864 - 11904: 0xDDDE,
+ 26865 - 11904: 0xD9B1,
+ 26866 - 11904: 0xB4CF,
+ 26867 - 11904: 0xD9BA,
+ 26868 - 11904: 0xD9D2,
+ 26869 - 11904: 0xB4CA,
+ 26870 - 11904: 0xD9B7,
+ 26871 - 11904: 0xD9B4,
+ 26872 - 11904: 0xD9C5,
+ 26873 - 11904: 0xB4CD,
+ 26874 - 11904: 0xB4C3,
+ 26875 - 11904: 0xB4D9,
+ 26876 - 11904: 0xD9C8,
+ 26877 - 11904: 0xD9C7,
+ 26880 - 11904: 0xFD48,
+ 26881 - 11904: 0xFD47,
+ 26882 - 11904: 0xFEF2,
+ 26883 - 11904: 0xFE6A,
+ 26884 - 11904: 0xD9AC,
+ 26885 - 11904: 0xB4C8,
+ 26886 - 11904: 0xD9D4,
+ 26887 - 11904: 0xD9BC,
+ 26888 - 11904: 0xD9BE,
+ 26889 - 11904: 0x8DBD,
+ 26890 - 11904: 0xD9CB,
+ 26891 - 11904: 0xD9CA,
+ 26892 - 11904: 0xD9AA,
+ 26893 - 11904: 0xB4D3,
+ 26894 - 11904: 0xB4D5,
+ 26895 - 11904: 0xD9B2,
+ 26896 - 11904: 0xD9B9,
+ 26897 - 11904: 0xD9C1,
+ 26898 - 11904: 0xB4D4,
+ 26899 - 11904: 0xD9B8,
+ 26900 - 11904: 0xD9C4,
+ 26901 - 11904: 0xD9D7,
+ 26903 - 11904: 0xD9CC,
+ 26904 - 11904: 0x9BA1,
+ 26905 - 11904: 0x8CA2,
+ 26906 - 11904: 0x9AB7,
+ 26907 - 11904: 0x8EFC,
+ 26917 - 11904: 0xD9D8,
+ 26922 - 11904: 0xD9AE,
+ 26924 - 11904: 0x9FA1,
+ 26927 - 11904: 0xDDF2,
+ 26928 - 11904: 0xB7A6,
+ 26930 - 11904: 0xDDF0,
+ 26931 - 11904: 0xDDDB,
+ 26932 - 11904: 0xDDE0,
+ 26933 - 11904: 0xDDD9,
+ 26934 - 11904: 0xFD51,
+ 26935 - 11904: 0xDDEC,
+ 26936 - 11904: 0xDDCB,
+ 26937 - 11904: 0xDDD2,
+ 26939 - 11904: 0xDDEA,
+ 26940 - 11904: 0xDDF4,
+ 26941 - 11904: 0xDDDC,
+ 26942 - 11904: 0xFAAD,
+ 26943 - 11904: 0xDDCF,
+ 26944 - 11904: 0xDDE2,
+ 26945 - 11904: 0xDDE7,
+ 26946 - 11904: 0xDDD3,
+ 26947 - 11904: 0x8DBE,
+ 26948 - 11904: 0xDDE4,
+ 26949 - 11904: 0xDDD0,
+ 26950 - 11904: 0x89A4,
+ 26952 - 11904: 0xDDD7,
+ 26953 - 11904: 0xDDD8,
+ 26954 - 11904: 0xB7A8,
+ 26955 - 11904: 0xDDEB,
+ 26956 - 11904: 0xDDE9,
+ 26958 - 11904: 0xDDCC,
+ 26959 - 11904: 0xDDEE,
+ 26961 - 11904: 0xDDEF,
+ 26962 - 11904: 0xDDF1,
+ 26963 - 11904: 0xB7AC,
+ 26964 - 11904: 0xB7A4,
+ 26965 - 11904: 0x9AD9,
+ 26966 - 11904: 0xD5B8,
+ 26967 - 11904: 0xDDD4,
+ 26968 - 11904: 0xDDE6,
+ 26969 - 11904: 0xDDD5,
+ 26970 - 11904: 0xB7A1,
+ 26971 - 11904: 0xB7B1,
+ 26972 - 11904: 0xDDED,
+ 26973 - 11904: 0xB7AF,
+ 26974 - 11904: 0xB7AB,
+ 26975 - 11904: 0xDDCA,
+ 26976 - 11904: 0xB7A3,
+ 26977 - 11904: 0xFD4E,
+ 26978 - 11904: 0xDDCD,
+ 26979 - 11904: 0xB7B0,
+ 26980 - 11904: 0x8DC0,
+ 26981 - 11904: 0xDDDD,
+ 26982 - 11904: 0xDDC9,
+ 26983 - 11904: 0x97F0,
+ 26984 - 11904: 0xB7A9,
+ 26985 - 11904: 0xDDE1,
+ 26986 - 11904: 0xDDD1,
+ 26987 - 11904: 0xB7AA,
+ 26988 - 11904: 0xDDDA,
+ 26989 - 11904: 0xB77E,
+ 26990 - 11904: 0xB4D8,
+ 26991 - 11904: 0xDDE3,
+ 26992 - 11904: 0xD9BF,
+ 26993 - 11904: 0xDDCE,
+ 26994 - 11904: 0x93B4,
+ 26995 - 11904: 0xFD44,
+ 26996 - 11904: 0xDDE8,
+ 26997 - 11904: 0xB7A5,
+ 26998 - 11904: 0xDDE5,
+ 26999 - 11904: 0xB7A2,
+ 27000 - 11904: 0xDDDF,
+ 27001 - 11904: 0xB7AD,
+ 27002 - 11904: 0xDDD6,
+ 27003 - 11904: 0xDDF3,
+ 27008 - 11904: 0x9FA7,
+ 27010 - 11904: 0xB7A7,
+ 27011 - 11904: 0xDEC6,
+ 27013 - 11904: 0x8DC2,
+ 27014 - 11904: 0xB7AE,
+ 27018 - 11904: 0x99B6,
+ 27021 - 11904: 0xE24A,
+ 27022 - 11904: 0xE248,
+ 27024 - 11904: 0xE25E,
+ 27025 - 11904: 0xE246,
+ 27027 - 11904: 0xE258,
+ 27028 - 11904: 0xB77D,
+ 27029 - 11904: 0xBA5F,
+ 27030 - 11904: 0xE242,
+ 27031 - 11904: 0xE25D,
+ 27032 - 11904: 0xFD52,
+ 27033 - 11904: 0xE247,
+ 27034 - 11904: 0xE255,
+ 27035 - 11904: 0xBA64,
+ 27036 - 11904: 0xBA5D,
+ 27038 - 11904: 0xE25B,
+ 27039 - 11904: 0x8DC1,
+ 27040 - 11904: 0xE240,
+ 27041 - 11904: 0xE25A,
+ 27042 - 11904: 0x8E46,
+ 27043 - 11904: 0xBA6F,
+ 27044 - 11904: 0xE251,
+ 27045 - 11904: 0xE261,
+ 27046 - 11904: 0xBA6D,
+ 27047 - 11904: 0xE249,
+ 27048 - 11904: 0xBA5E,
+ 27049 - 11904: 0xE24B,
+ 27050 - 11904: 0xE259,
+ 27051 - 11904: 0xBA67,
+ 27052 - 11904: 0xE244,
+ 27053 - 11904: 0xBA6B,
+ 27054 - 11904: 0xBA61,
+ 27055 - 11904: 0xE24D,
+ 27056 - 11904: 0xE243,
+ 27057 - 11904: 0xE1FC,
+ 27058 - 11904: 0xA0D1,
+ 27059 - 11904: 0xE257,
+ 27060 - 11904: 0xBA68,
+ 27061 - 11904: 0xE260,
+ 27062 - 11904: 0xE1FD,
+ 27063 - 11904: 0xBA65,
+ 27065 - 11904: 0xE253,
+ 27067 - 11904: 0xBA66,
+ 27068 - 11904: 0xE245,
+ 27069 - 11904: 0xE250,
+ 27070 - 11904: 0xE24C,
+ 27071 - 11904: 0xE24E,
+ 27072 - 11904: 0x9FCA,
+ 27073 - 11904: 0xBA60,
+ 27074 - 11904: 0xE25F,
+ 27075 - 11904: 0xBA6E,
+ 27076 - 11904: 0xE24F,
+ 27078 - 11904: 0xE262,
+ 27081 - 11904: 0xE1FE,
+ 27082 - 11904: 0xE254,
+ 27083 - 11904: 0xBA63,
+ 27084 - 11904: 0xBA6C,
+ 27085 - 11904: 0xBA6A,
+ 27086 - 11904: 0xE241,
+ 27087 - 11904: 0xE256,
+ 27088 - 11904: 0xBA69,
+ 27089 - 11904: 0x92CF,
+ 27091 - 11904: 0xBA62,
+ 27092 - 11904: 0xE252,
+ 27093 - 11904: 0x9CF4,
+ 27094 - 11904: 0x8DC4,
+ 27097 - 11904: 0xE25C,
+ 27105 - 11904: 0xFD41,
+ 27106 - 11904: 0xE5D5,
+ 27108 - 11904: 0xE5D1,
+ 27109 - 11904: 0xE5CD,
+ 27110 - 11904: 0xE5E1,
+ 27111 - 11904: 0xE5DE,
+ 27112 - 11904: 0xBCCD,
+ 27113 - 11904: 0x9B4C,
+ 27115 - 11904: 0xE5E5,
+ 27116 - 11904: 0xE5D4,
+ 27117 - 11904: 0xBCD8,
+ 27118 - 11904: 0xE5DB,
+ 27121 - 11904: 0xE5D0,
+ 27122 - 11904: 0xE5DA,
+ 27123 - 11904: 0xBCD5,
+ 27124 - 11904: 0xE5EE,
+ 27126 - 11904: 0xE5EB,
+ 27127 - 11904: 0xE5DD,
+ 27128 - 11904: 0xE5CE,
+ 27129 - 11904: 0xFD57,
+ 27130 - 11904: 0xFCEF,
+ 27131 - 11904: 0xE5E2,
+ 27132 - 11904: 0xE5E4,
+ 27133 - 11904: 0xBCD1,
+ 27134 - 11904: 0xE5D8,
+ 27135 - 11904: 0xE5D3,
+ 27136 - 11904: 0xE5CA,
+ 27137 - 11904: 0xBCCE,
+ 27138 - 11904: 0xBCD6,
+ 27139 - 11904: 0x9CDE,
+ 27140 - 11904: 0xE5E7,
+ 27141 - 11904: 0xBCD7,
+ 27142 - 11904: 0xE5CB,
+ 27143 - 11904: 0xE5ED,
+ 27144 - 11904: 0xE5E0,
+ 27145 - 11904: 0xE5E6,
+ 27146 - 11904: 0xBCD4,
+ 27147 - 11904: 0xFD42,
+ 27148 - 11904: 0x986C,
+ 27149 - 11904: 0xE5E3,
+ 27151 - 11904: 0xE5EA,
+ 27153 - 11904: 0xBCD9,
+ 27155 - 11904: 0xBCD3,
+ 27156 - 11904: 0xE5DC,
+ 27157 - 11904: 0xE5CF,
+ 27158 - 11904: 0xE5EF,
+ 27159 - 11904: 0xE5CC,
+ 27160 - 11904: 0xE5E8,
+ 27161 - 11904: 0xBCD0,
+ 27162 - 11904: 0x97F9,
+ 27163 - 11904: 0xE5D6,
+ 27164 - 11904: 0x9558,
+ 27165 - 11904: 0xE5D7,
+ 27166 - 11904: 0xBCCF,
+ 27167 - 11904: 0xBCCC,
+ 27168 - 11904: 0xE5D2,
+ 27169 - 11904: 0xBCD2,
+ 27171 - 11904: 0xBCCB,
+ 27173 - 11904: 0xE5E9,
+ 27174 - 11904: 0xE5EC,
+ 27175 - 11904: 0xE5D9,
+ 27176 - 11904: 0xE9CA,
+ 27177 - 11904: 0x87B6,
+ 27179 - 11904: 0x985E,
+ 27180 - 11904: 0xFE7B,
+ 27181 - 11904: 0x94CD,
+ 27186 - 11904: 0xE9C2,
+ 27187 - 11904: 0x93EE,
+ 27188 - 11904: 0xE9BE,
+ 27189 - 11904: 0xBEF6,
+ 27192 - 11904: 0xBEEB,
+ 27193 - 11904: 0xBEF0,
+ 27194 - 11904: 0xBEEC,
+ 27195 - 11904: 0xE9CC,
+ 27196 - 11904: 0xE9D7,
+ 27197 - 11904: 0xBEEA,
+ 27198 - 11904: 0xE9C4,
+ 27199 - 11904: 0xE9CD,
+ 27200 - 11904: 0xE5DF,
+ 27201 - 11904: 0xE9CE,
+ 27203 - 11904: 0x8CA3,
+ 27204 - 11904: 0xBEF1,
+ 27205 - 11904: 0xFD5A,
+ 27206 - 11904: 0xE9DD,
+ 27207 - 11904: 0xBEF5,
+ 27208 - 11904: 0xBEF8,
+ 27209 - 11904: 0xE9C0,
+ 27211 - 11904: 0xBEF4,
+ 27212 - 11904: 0x93F5,
+ 27213 - 11904: 0xE9DB,
+ 27214 - 11904: 0xE9DC,
+ 27215 - 11904: 0xE9D2,
+ 27216 - 11904: 0xE9D1,
+ 27217 - 11904: 0xE9C9,
+ 27218 - 11904: 0x93EF,
+ 27219 - 11904: 0x8EEA,
+ 27220 - 11904: 0xE9D3,
+ 27221 - 11904: 0xE9DA,
+ 27222 - 11904: 0xE9D9,
+ 27223 - 11904: 0x8F5B,
+ 27224 - 11904: 0xBEEF,
+ 27225 - 11904: 0xBEED,
+ 27226 - 11904: 0xE9CB,
+ 27227 - 11904: 0xE9C8,
+ 27229 - 11904: 0xE9C5,
+ 27230 - 11904: 0xE9D8,
+ 27231 - 11904: 0xBEF7,
+ 27232 - 11904: 0xE9D6,
+ 27233 - 11904: 0xBEF3,
+ 27234 - 11904: 0xBEF2,
+ 27235 - 11904: 0x8C5E,
+ 27236 - 11904: 0xE9D0,
+ 27237 - 11904: 0x8DC6,
+ 27238 - 11904: 0xE9BF,
+ 27239 - 11904: 0xE9C1,
+ 27240 - 11904: 0xE9C3,
+ 27241 - 11904: 0xE9D5,
+ 27242 - 11904: 0xE9CF,
+ 27243 - 11904: 0xBEEE,
+ 27245 - 11904: 0xE9C6,
+ 27247 - 11904: 0xE9D4,
+ 27249 - 11904: 0x8DC8,
+ 27252 - 11904: 0x8DC7,
+ 27254 - 11904: 0xE9C7,
+ 27258 - 11904: 0x93F7,
+ 27262 - 11904: 0xC0CF,
+ 27263 - 11904: 0xED45,
+ 27264 - 11904: 0xC0C8,
+ 27265 - 11904: 0xECF5,
+ 27266 - 11904: 0x8DC9,
+ 27267 - 11904: 0xED41,
+ 27268 - 11904: 0xC0CA,
+ 27269 - 11904: 0xED48,
+ 27271 - 11904: 0xECFC,
+ 27273 - 11904: 0xECF7,
+ 27274 - 11904: 0xFBF2,
+ 27276 - 11904: 0xED49,
+ 27277 - 11904: 0xECF3,
+ 27278 - 11904: 0xECFE,
+ 27279 - 11904: 0x9670,
+ 27280 - 11904: 0xC0D1,
+ 27281 - 11904: 0xED44,
+ 27282 - 11904: 0xED4A,
+ 27283 - 11904: 0xECFD,
+ 27284 - 11904: 0xC0C9,
+ 27285 - 11904: 0xED40,
+ 27286 - 11904: 0xECF4,
+ 27287 - 11904: 0xC0D0,
+ 27289 - 11904: 0x8DCB,
+ 27290 - 11904: 0xED47,
+ 27291 - 11904: 0xECF9,
+ 27292 - 11904: 0xC0CC,
+ 27293 - 11904: 0xFD5C,
+ 27294 - 11904: 0xECFB,
+ 27295 - 11904: 0xECF8,
+ 27296 - 11904: 0xC0D2,
+ 27297 - 11904: 0xECFA,
+ 27298 - 11904: 0xC0CB,
+ 27299 - 11904: 0xC0CE,
+ 27300 - 11904: 0xED43,
+ 27301 - 11904: 0xECF6,
+ 27302 - 11904: 0xED46,
+ 27303 - 11904: 0x8F65,
+ 27304 - 11904: 0xED42,
+ 27307 - 11904: 0x8DCD,
+ 27308 - 11904: 0xC263,
+ 27309 - 11904: 0xEFE7,
+ 27310 - 11904: 0xC268,
+ 27311 - 11904: 0xC269,
+ 27313 - 11904: 0x9DA8,
+ 27314 - 11904: 0x94F9,
+ 27315 - 11904: 0xC262,
+ 27316 - 11904: 0xEFE6,
+ 27317 - 11904: 0x8DCE,
+ 27318 - 11904: 0xEFE3,
+ 27319 - 11904: 0xEFE4,
+ 27320 - 11904: 0xC266,
+ 27321 - 11904: 0xEFDE,
+ 27322 - 11904: 0xEFE2,
+ 27323 - 11904: 0xC265,
+ 27325 - 11904: 0xEFDF,
+ 27326 - 11904: 0x93EA,
+ 27330 - 11904: 0xC267,
+ 27331 - 11904: 0xC264,
+ 27333 - 11904: 0xEFDD,
+ 27334 - 11904: 0xEFE1,
+ 27335 - 11904: 0xEFE5,
+ 27336 - 11904: 0xFD5F,
+ 27337 - 11904: 0x93F0,
+ 27338 - 11904: 0x9FB6,
+ 27339 - 11904: 0xF251,
+ 27340 - 11904: 0xF24E,
+ 27341 - 11904: 0xF257,
+ 27343 - 11904: 0xF256,
+ 27344 - 11904: 0xF254,
+ 27345 - 11904: 0xF24F,
+ 27347 - 11904: 0xC372,
+ 27348 - 11904: 0x8DCF,
+ 27352 - 11904: 0x9763,
+ 27353 - 11904: 0xF250,
+ 27354 - 11904: 0xC371,
+ 27355 - 11904: 0xC0CD,
+ 27356 - 11904: 0xF253,
+ 27357 - 11904: 0xC370,
+ 27358 - 11904: 0xF258,
+ 27359 - 11904: 0xF252,
+ 27360 - 11904: 0xF24D,
+ 27361 - 11904: 0xEFE0,
+ 27365 - 11904: 0xC36F,
+ 27367 - 11904: 0xF24C,
+ 27368 - 11904: 0xF456,
+ 27370 - 11904: 0xF455,
+ 27371 - 11904: 0xF255,
+ 27372 - 11904: 0xC468,
+ 27374 - 11904: 0xF459,
+ 27375 - 11904: 0xF45A,
+ 27376 - 11904: 0xF454,
+ 27377 - 11904: 0xF458,
+ 27379 - 11904: 0xF453,
+ 27382 - 11904: 0x8DD0,
+ 27384 - 11904: 0xF5D1,
+ 27385 - 11904: 0xF457,
+ 27386 - 11904: 0xC4E7,
+ 27387 - 11904: 0xC4E5,
+ 27388 - 11904: 0xF5CF,
+ 27392 - 11904: 0xF5D2,
+ 27394 - 11904: 0xF5CE,
+ 27395 - 11904: 0xF5D0,
+ 27396 - 11904: 0xC4E6,
+ 27397 - 11904: 0x93F1,
+ 27400 - 11904: 0xF6E5,
+ 27401 - 11904: 0xF6E6,
+ 27402 - 11904: 0xC576,
+ 27403 - 11904: 0xF6E4,
+ 27407 - 11904: 0xF7E2,
+ 27408 - 11904: 0xC5CF,
+ 27409 - 11904: 0xF7E0,
+ 27410 - 11904: 0xF7E1,
+ 27411 - 11904: 0xF8AC,
+ 27414 - 11904: 0xC656,
+ 27415 - 11904: 0xF8F3,
+ 27416 - 11904: 0xF8F1,
+ 27417 - 11904: 0xF8F2,
+ 27418 - 11904: 0xF8F4,
+ 27421 - 11904: 0xFD62,
+ 27422 - 11904: 0xF9BB,
+ 27424 - 11904: 0xA4ED,
+ 27425 - 11904: 0xA6B8,
+ 27427 - 11904: 0xAA59,
+ 27429 - 11904: 0xCCE9,
+ 27432 - 11904: 0xCF64,
+ 27436 - 11904: 0xD1F5,
+ 27437 - 11904: 0xD1F7,
+ 27439 - 11904: 0xD1F6,
+ 27441 - 11904: 0xD1F8,
+ 27442 - 11904: 0xB1FD,
+ 27443 - 11904: 0xD5D7,
+ 27444 - 11904: 0xD1F9,
+ 27445 - 11904: 0xFD65,
+ 27446 - 11904: 0xD5D6,
+ 27447 - 11904: 0xD5D8,
+ 27448 - 11904: 0xD5D9,
+ 27449 - 11904: 0xD9DA,
+ 27450 - 11904: 0xB4DB,
+ 27451 - 11904: 0xD9DB,
+ 27452 - 11904: 0xD9DD,
+ 27453 - 11904: 0xB4DC,
+ 27454 - 11904: 0xB4DA,
+ 27455 - 11904: 0xD9DC,
+ 27457 - 11904: 0xDDFA,
+ 27458 - 11904: 0xDDF8,
+ 27459 - 11904: 0xDDF7,
+ 27461 - 11904: 0xDDF6,
+ 27462 - 11904: 0xDDF5,
+ 27463 - 11904: 0xB7B2,
+ 27464 - 11904: 0xDDF9,
+ 27465 - 11904: 0xBA70,
+ 27466 - 11904: 0xE263,
+ 27467 - 11904: 0xE265,
+ 27468 - 11904: 0xBA71,
+ 27469 - 11904: 0xE264,
+ 27470 - 11904: 0xBCDB,
+ 27472 - 11904: 0xBCDA,
+ 27473 - 11904: 0xE5F0,
+ 27474 - 11904: 0x9FDB,
+ 27476 - 11904: 0xE9DF,
+ 27477 - 11904: 0xE9DE,
+ 27478 - 11904: 0xE9E0,
+ 27479 - 11904: 0x93F8,
+ 27481 - 11904: 0xBEF9,
+ 27483 - 11904: 0xED4B,
+ 27484 - 11904: 0xC0D3,
+ 27486 - 11904: 0xEFE8,
+ 27487 - 11904: 0xC26A,
+ 27488 - 11904: 0xF259,
+ 27489 - 11904: 0xC577,
+ 27490 - 11904: 0xA4EE,
+ 27491 - 11904: 0xA5BF,
+ 27492 - 11904: 0xA6B9,
+ 27493 - 11904: 0xA842,
+ 27494 - 11904: 0xAA5A,
+ 27495 - 11904: 0xAA5B,
+ 27498 - 11904: 0xAC6E,
+ 27501 - 11904: 0xD1FA,
+ 27503 - 11904: 0x8BF7,
+ 27506 - 11904: 0xB7B3,
+ 27508 - 11904: 0xFD66,
+ 27510 - 11904: 0xE6D1,
+ 27511 - 11904: 0xBEFA,
+ 27512 - 11904: 0xC26B,
+ 27513 - 11904: 0xA4EF,
+ 27514 - 11904: 0x8BCF,
+ 27515 - 11904: 0xA6BA,
+ 27518 - 11904: 0xCCEB,
+ 27519 - 11904: 0xAA5C,
+ 27520 - 11904: 0xCCEA,
+ 27521 - 11904: 0x8DD1,
+ 27522 - 11904: 0xCF65,
+ 27523 - 11904: 0xAC6F,
+ 27524 - 11904: 0xCF66,
+ 27526 - 11904: 0xAC70,
+ 27528 - 11904: 0xD1FC,
+ 27529 - 11904: 0xAEEE,
+ 27530 - 11904: 0xAEED,
+ 27532 - 11904: 0xD5DE,
+ 27533 - 11904: 0xD5DC,
+ 27534 - 11904: 0xD5DD,
+ 27535 - 11904: 0xD5DB,
+ 27537 - 11904: 0xD5DA,
+ 27540 - 11904: 0xD9DE,
+ 27541 - 11904: 0xD9E1,
+ 27542 - 11904: 0xB4DE,
+ 27543 - 11904: 0xD9DF,
+ 27544 - 11904: 0xB4DD,
+ 27545 - 11904: 0xD9E0,
+ 27547 - 11904: 0xDDFB,
+ 27550 - 11904: 0xE266,
+ 27551 - 11904: 0xE267,
+ 27552 - 11904: 0xE268,
+ 27554 - 11904: 0xE5F3,
+ 27555 - 11904: 0xE5F2,
+ 27556 - 11904: 0xBCDC,
+ 27557 - 11904: 0xE5F1,
+ 27558 - 11904: 0xE5F4,
+ 27559 - 11904: 0xE9E1,
+ 27562 - 11904: 0xE9E2,
+ 27563 - 11904: 0xE9E3,
+ 27565 - 11904: 0xED4C,
+ 27566 - 11904: 0xC0D4,
+ 27567 - 11904: 0xC26C,
+ 27568 - 11904: 0xF25A,
+ 27570 - 11904: 0xC4E8,
+ 27571 - 11904: 0xC95F,
+ 27573 - 11904: 0xAC71,
+ 27574 - 11904: 0xCF67,
+ 27575 - 11904: 0xAEEF,
+ 27578 - 11904: 0xB1FE,
+ 27580 - 11904: 0xB4DF,
+ 27581 - 11904: 0xD9E2,
+ 27583 - 11904: 0xB7B5,
+ 27584 - 11904: 0xB7B4,
+ 27585 - 11904: 0x8DD2,
+ 27587 - 11904: 0xE269,
+ 27588 - 11904: 0xE26A,
+ 27589 - 11904: 0xBCDD,
+ 27590 - 11904: 0xBCDE,
+ 27591 - 11904: 0xE9E5,
+ 27592 - 11904: 0xE9E4,
+ 27593 - 11904: 0xEFE9,
+ 27594 - 11904: 0xF7E3,
+ 27595 - 11904: 0xA4F0,
+ 27596 - 11904: 0xC960,
+ 27597 - 11904: 0xA5C0,
+ 27599 - 11904: 0xA843,
+ 27600 - 11904: 0xCB48,
+ 27602 - 11904: 0xAC72,
+ 27603 - 11904: 0xB7B6,
+ 27604 - 11904: 0xA4F1,
+ 27606 - 11904: 0xCF68,
+ 27607 - 11904: 0xAC73,
+ 27608 - 11904: 0xCF69,
+ 27610 - 11904: 0xC0D5,
+ 27611 - 11904: 0xA4F2,
+ 27612 - 11904: 0xFD71,
+ 27614 - 11904: 0xCCEC,
+ 27616 - 11904: 0xCF6A,
+ 27617 - 11904: 0xFD6F,
+ 27618 - 11904: 0xD242,
+ 27619 - 11904: 0xD241,
+ 27620 - 11904: 0xD1FE,
+ 27622 - 11904: 0xD1FD,
+ 27623 - 11904: 0xD243,
+ 27624 - 11904: 0xD240,
+ 27626 - 11904: 0x8DD3,
+ 27627 - 11904: 0xB240,
+ 27628 - 11904: 0xB241,
+ 27631 - 11904: 0xB4E0,
+ 27632 - 11904: 0xD9E3,
+ 27634 - 11904: 0xD9E4,
+ 27635 - 11904: 0xD9E5,
+ 27639 - 11904: 0xDE41,
+ 27640 - 11904: 0xDE42,
+ 27641 - 11904: 0xDE40,
+ 27642 - 11904: 0x9FE7,
+ 27643 - 11904: 0xDDFD,
+ 27644 - 11904: 0xDDFE,
+ 27645 - 11904: 0xB7B7,
+ 27646 - 11904: 0xE26B,
+ 27647 - 11904: 0xE5F7,
+ 27648 - 11904: 0xE5F6,
+ 27649 - 11904: 0xE5F5,
+ 27650 - 11904: 0xE5F8,
+ 27651 - 11904: 0xE9E7,
+ 27652 - 11904: 0xE9E6,
+ 27653 - 11904: 0xBEFB,
+ 27654 - 11904: 0xE9E8,
+ 27656 - 11904: 0xC0D6,
+ 27657 - 11904: 0xED4D,
+ 27659 - 11904: 0xEFEA,
+ 27660 - 11904: 0xF25B,
+ 27661 - 11904: 0xF6E7,
+ 27663 - 11904: 0xA4F3,
+ 27664 - 11904: 0xA5C2,
+ 27665 - 11904: 0xA5C1,
+ 27667 - 11904: 0xAA5D,
+ 27668 - 11904: 0xC961,
+ 27669 - 11904: 0xC97E,
+ 27670 - 11904: 0xA6BB,
+ 27672 - 11904: 0xC9F7,
+ 27673 - 11904: 0xCB49,
+ 27674 - 11904: 0xCB4A,
+ 27675 - 11904: 0xAA5E,
+ 27676 - 11904: 0x90BD,
+ 27677 - 11904: 0xCCED,
+ 27679 - 11904: 0xAC74,
+ 27680 - 11904: 0xCF6B,
+ 27681 - 11904: 0xCF6C,
+ 27683 - 11904: 0xAEF0,
+ 27684 - 11904: 0xAEF4,
+ 27685 - 11904: 0xD244,
+ 27686 - 11904: 0xAEF3,
+ 27687 - 11904: 0xAEF1,
+ 27688 - 11904: 0xAEF2,
+ 27690 - 11904: 0xD5DF,
+ 27691 - 11904: 0xB242,
+ 27692 - 11904: 0xB4E3,
+ 27694 - 11904: 0xB4E1,
+ 27695 - 11904: 0xB4E2,
+ 27696 - 11904: 0xD9E6,
+ 27697 - 11904: 0x9FD0,
+ 27699 - 11904: 0xBA72,
+ 27700 - 11904: 0xA4F4,
+ 27701 - 11904: 0x8BD0,
+ 27702 - 11904: 0xC9A1,
+ 27703 - 11904: 0xFD72,
+ 27704 - 11904: 0xA5C3,
+ 27705 - 11904: 0x9CAE,
+ 27706 - 11904: 0x8BD1,
+ 27707 - 11904: 0xC9A4,
+ 27709 - 11904: 0x8ADB,
+ 27710 - 11904: 0xA5C6,
+ 27711 - 11904: 0xC9A3,
+ 27712 - 11904: 0xA5C5,
+ 27713 - 11904: 0xA5C4,
+ 27714 - 11904: 0xA844,
+ 27715 - 11904: 0xC9A2,
+ 27718 - 11904: 0xC9F8,
+ 27721 - 11904: 0xFAE4,
+ 27722 - 11904: 0xC9FC,
+ 27723 - 11904: 0xC9FE,
+ 27724 - 11904: 0xCA40,
+ 27725 - 11904: 0xA6C5,
+ 27726 - 11904: 0xA6C6,
+ 27727 - 11904: 0xC9FB,
+ 27728 - 11904: 0xA6C1,
+ 27730 - 11904: 0xC9F9,
+ 27732 - 11904: 0xC9FD,
+ 27733 - 11904: 0xA6C2,
+ 27735 - 11904: 0xA6BD,
+ 27736 - 11904: 0x95CE,
+ 27737 - 11904: 0xA6BE,
+ 27738 - 11904: 0xFD76,
+ 27739 - 11904: 0xA6C4,
+ 27740 - 11904: 0xC9FA,
+ 27741 - 11904: 0xA6BC,
+ 27742 - 11904: 0xA845,
+ 27743 - 11904: 0xA6BF,
+ 27744 - 11904: 0xA6C0,
+ 27745 - 11904: 0xA6C3,
+ 27749 - 11904: 0xCB5B,
+ 27750 - 11904: 0xCB59,
+ 27751 - 11904: 0xCB4C,
+ 27752 - 11904: 0xA851,
+ 27753 - 11904: 0xCB53,
+ 27754 - 11904: 0xA84C,
+ 27755 - 11904: 0xCB4D,
+ 27757 - 11904: 0xCB55,
+ 27758 - 11904: 0xFB62,
+ 27759 - 11904: 0xCB52,
+ 27760 - 11904: 0xA84F,
+ 27761 - 11904: 0xCB51,
+ 27762 - 11904: 0xA856,
+ 27763 - 11904: 0xCB5A,
+ 27764 - 11904: 0xA858,
+ 27765 - 11904: 0x8DD4,
+ 27766 - 11904: 0xA85A,
+ 27768 - 11904: 0xCB4B,
+ 27769 - 11904: 0xFD78,
+ 27770 - 11904: 0xA84D,
+ 27771 - 11904: 0xCB5C,
+ 27773 - 11904: 0xA854,
+ 27774 - 11904: 0xA857,
+ 27775 - 11904: 0x8EE3,
+ 27776 - 11904: 0xCD45,
+ 27777 - 11904: 0xA847,
+ 27778 - 11904: 0xA85E,
+ 27779 - 11904: 0xA855,
+ 27780 - 11904: 0xCB4E,
+ 27781 - 11904: 0xA84A,
+ 27782 - 11904: 0xA859,
+ 27783 - 11904: 0xCB56,
+ 27784 - 11904: 0xA848,
+ 27785 - 11904: 0xA849,
+ 27786 - 11904: 0xCD43,
+ 27787 - 11904: 0xCB4F,
+ 27788 - 11904: 0xA850,
+ 27789 - 11904: 0xA85B,
+ 27790 - 11904: 0xCB5D,
+ 27791 - 11904: 0xCB50,
+ 27792 - 11904: 0xA84E,
+ 27794 - 11904: 0xA853,
+ 27795 - 11904: 0xCCEE,
+ 27796 - 11904: 0xA85C,
+ 27797 - 11904: 0xCB57,
+ 27798 - 11904: 0xA852,
+ 27800 - 11904: 0xA85D,
+ 27801 - 11904: 0xA846,
+ 27802 - 11904: 0xCB54,
+ 27803 - 11904: 0xA84B,
+ 27804 - 11904: 0xFDB7,
+ 27805 - 11904: 0xCD44,
+ 27807 - 11904: 0x9076,
+ 27810 - 11904: 0x98C6,
+ 27818 - 11904: 0x8DD5,
+ 27819 - 11904: 0xAA6A,
+ 27820 - 11904: 0xAA7A,
+ 27821 - 11904: 0xCCF5,
+ 27822 - 11904: 0xAA71,
+ 27823 - 11904: 0x97D1,
+ 27824 - 11904: 0xCD4B,
+ 27825 - 11904: 0xAA62,
+ 27826 - 11904: 0x9EB6,
+ 27827 - 11904: 0xAA65,
+ 27828 - 11904: 0xCD42,
+ 27830 - 11904: 0xCCF3,
+ 27831 - 11904: 0xCCF7,
+ 27832 - 11904: 0xAA6D,
+ 27833 - 11904: 0xAA6F,
+ 27834 - 11904: 0xCCFA,
+ 27835 - 11904: 0xAA76,
+ 27836 - 11904: 0xAA68,
+ 27837 - 11904: 0xAA66,
+ 27838 - 11904: 0xAA67,
+ 27839 - 11904: 0xAA75,
+ 27840 - 11904: 0xCD47,
+ 27841 - 11904: 0xAA70,
+ 27842 - 11904: 0xCCF9,
+ 27843 - 11904: 0xCCFB,
+ 27844 - 11904: 0xAA6E,
+ 27845 - 11904: 0xAA73,
+ 27846 - 11904: 0xCCFC,
+ 27847 - 11904: 0xCD4A,
+ 27849 - 11904: 0xAC75,
+ 27850 - 11904: 0xAA79,
+ 27851 - 11904: 0xFAC7,
+ 27852 - 11904: 0xAA63,
+ 27853 - 11904: 0xCD49,
+ 27854 - 11904: 0xA042,
+ 27855 - 11904: 0xCD4D,
+ 27856 - 11904: 0xCCF8,
+ 27857 - 11904: 0xCD4F,
+ 27858 - 11904: 0xCD40,
+ 27859 - 11904: 0xAA6C,
+ 27860 - 11904: 0xCCF4,
+ 27861 - 11904: 0xAA6B,
+ 27862 - 11904: 0xAA7D,
+ 27863 - 11904: 0xAA72,
+ 27865 - 11904: 0xCCF2,
+ 27866 - 11904: 0xCF75,
+ 27867 - 11904: 0xAA78,
+ 27868 - 11904: 0xAA7C,
+ 27869 - 11904: 0xCD41,
+ 27870 - 11904: 0xCD46,
+ 27871 - 11904: 0x9873,
+ 27872 - 11904: 0xAA7E,
+ 27873 - 11904: 0xAA77,
+ 27874 - 11904: 0xAA69,
+ 27875 - 11904: 0xAA5F,
+ 27877 - 11904: 0xAA64,
+ 27879 - 11904: 0xCCF6,
+ 27880 - 11904: 0xAA60,
+ 27881 - 11904: 0xCD4E,
+ 27882 - 11904: 0x9FFC,
+ 27883 - 11904: 0xCCF0,
+ 27884 - 11904: 0xCCEF,
+ 27885 - 11904: 0xCCFD,
+ 27886 - 11904: 0xCCF1,
+ 27887 - 11904: 0xAA7B,
+ 27888 - 11904: 0xAEF5,
+ 27889 - 11904: 0xAA74,
+ 27890 - 11904: 0xCCFE,
+ 27891 - 11904: 0xAA61,
+ 27893 - 11904: 0xACA6,
+ 27897 - 11904: 0xCD4C,
+ 27903 - 11904: 0x8CA5,
+ 27904 - 11904: 0xCF7C,
+ 27905 - 11904: 0xCFA1,
+ 27906 - 11904: 0x8DD7,
+ 27907 - 11904: 0xCFA4,
+ 27908 - 11904: 0xCF77,
+ 27909 - 11904: 0x92FB,
+ 27910 - 11904: 0x8DD8,
+ 27911 - 11904: 0xCFA7,
+ 27912 - 11904: 0xCFAA,
+ 27913 - 11904: 0xCFAC,
+ 27914 - 11904: 0xCF74,
+ 27915 - 11904: 0xAC76,
+ 27916 - 11904: 0xAC7B,
+ 27917 - 11904: 0xD249,
+ 27918 - 11904: 0xACAD,
+ 27919 - 11904: 0xCFA5,
+ 27920 - 11904: 0xCFAD,
+ 27921 - 11904: 0xCF7B,
+ 27922 - 11904: 0xCF73,
+ 27926 - 11904: 0xD264,
+ 27927 - 11904: 0xAC7E,
+ 27928 - 11904: 0xCFA2,
+ 27929 - 11904: 0xCF78,
+ 27930 - 11904: 0xCF7A,
+ 27931 - 11904: 0xACA5,
+ 27933 - 11904: 0xCF7D,
+ 27934 - 11904: 0xAC7D,
+ 27935 - 11904: 0xCF70,
+ 27936 - 11904: 0xCFA8,
+ 27938 - 11904: 0xCFAB,
+ 27940 - 11904: 0x944F,
+ 27941 - 11904: 0xAC7A,
+ 27942 - 11904: 0x8DD9,
+ 27943 - 11904: 0xACA8,
+ 27944 - 11904: 0xCF6D,
+ 27945 - 11904: 0xACAA,
+ 27946 - 11904: 0xAC78,
+ 27947 - 11904: 0xACAE,
+ 27948 - 11904: 0xCFA9,
+ 27949 - 11904: 0xCF6F,
+ 27950 - 11904: 0xACAB,
+ 27951 - 11904: 0xD25E,
+ 27952 - 11904: 0xCD48,
+ 27953 - 11904: 0xAC7C,
+ 27954 - 11904: 0xAC77,
+ 27955 - 11904: 0xCF76,
+ 27956 - 11904: 0xCF6E,
+ 27957 - 11904: 0xACAC,
+ 27958 - 11904: 0xACA4,
+ 27959 - 11904: 0xCFA3,
+ 27960 - 11904: 0xACA9,
+ 27961 - 11904: 0xACA7,
+ 27962 - 11904: 0xCF79,
+ 27963 - 11904: 0xACA1,
+ 27964 - 11904: 0xCF71,
+ 27965 - 11904: 0xACA2,
+ 27966 - 11904: 0xACA3,
+ 27967 - 11904: 0xCF72,
+ 27968 - 11904: 0xCFA6,
+ 27969 - 11904: 0xAC79,
+ 27970 - 11904: 0xCF7E,
+ 27982 - 11904: 0x896B,
+ 27991 - 11904: 0x97CE,
+ 27992 - 11904: 0xD24C,
+ 27993 - 11904: 0xAEFD,
+ 27994 - 11904: 0xAF43,
+ 27995 - 11904: 0xFAF3,
+ 27996 - 11904: 0xFDAE,
+ 27998 - 11904: 0xD255,
+ 27999 - 11904: 0xD25B,
+ 28000 - 11904: 0xD257,
+ 28001 - 11904: 0xD24A,
+ 28002 - 11904: 0xD24D,
+ 28003 - 11904: 0xD246,
+ 28004 - 11904: 0xD247,
+ 28005 - 11904: 0xAF4A,
+ 28006 - 11904: 0xAEFA,
+ 28007 - 11904: 0xD256,
+ 28008 - 11904: 0xD25F,
+ 28009 - 11904: 0xAF45,
+ 28010 - 11904: 0xAEF6,
+ 28012 - 11904: 0xAF40,
+ 28013 - 11904: 0xD24E,
+ 28014 - 11904: 0xAF42,
+ 28015 - 11904: 0xD24F,
+ 28016 - 11904: 0xD259,
+ 28017 - 11904: 0xFBAF,
+ 28018 - 11904: 0x92B7,
+ 28020 - 11904: 0xAF44,
+ 28021 - 11904: 0xD268,
+ 28022 - 11904: 0xD248,
+ 28023 - 11904: 0xAEFC,
+ 28024 - 11904: 0xAEFB,
+ 28025 - 11904: 0xAF48,
+ 28026 - 11904: 0xD245,
+ 28027 - 11904: 0xD266,
+ 28028 - 11904: 0xD25A,
+ 28029 - 11904: 0xD267,
+ 28030 - 11904: 0xD261,
+ 28031 - 11904: 0xD253,
+ 28032 - 11904: 0xD262,
+ 28033 - 11904: 0x8DDA,
+ 28034 - 11904: 0xD25C,
+ 28035 - 11904: 0xD265,
+ 28036 - 11904: 0xD263,
+ 28037 - 11904: 0xAF49,
+ 28038 - 11904: 0xD254,
+ 28039 - 11904: 0xAEF9,
+ 28040 - 11904: 0xAEF8,
+ 28041 - 11904: 0xAF41,
+ 28042 - 11904: 0xAF47,
+ 28043 - 11904: 0xD260,
+ 28044 - 11904: 0xAF46,
+ 28045 - 11904: 0xD251,
+ 28046 - 11904: 0xB243,
+ 28047 - 11904: 0x9C5A,
+ 28048 - 11904: 0xD269,
+ 28049 - 11904: 0xD250,
+ 28050 - 11904: 0xD24B,
+ 28051 - 11904: 0xAEFE,
+ 28052 - 11904: 0xAF4B,
+ 28053 - 11904: 0xAEF7,
+ 28054 - 11904: 0xFDAD,
+ 28055 - 11904: 0xD258,
+ 28056 - 11904: 0xD25D,
+ 28068 - 11904: 0x8DDC,
+ 28069 - 11904: 0x9444,
+ 28074 - 11904: 0xB265,
+ 28075 - 11904: 0xD5E1,
+ 28076 - 11904: 0xD5E5,
+ 28078 - 11904: 0xB252,
+ 28079 - 11904: 0xB250,
+ 28081 - 11904: 0x8DDD,
+ 28082 - 11904: 0xB247,
+ 28083 - 11904: 0xD5E3,
+ 28084 - 11904: 0xD5E2,
+ 28085 - 11904: 0xB25B,
+ 28087 - 11904: 0xD5E8,
+ 28088 - 11904: 0xB255,
+ 28089 - 11904: 0xA0D6,
+ 28090 - 11904: 0xD5FA,
+ 28091 - 11904: 0xD647,
+ 28092 - 11904: 0xB244,
+ 28093 - 11904: 0xD5F7,
+ 28094 - 11904: 0xD5F0,
+ 28095 - 11904: 0xB267,
+ 28096 - 11904: 0xD5E0,
+ 28098 - 11904: 0xD5FC,
+ 28100 - 11904: 0xB264,
+ 28101 - 11904: 0xB258,
+ 28102 - 11904: 0xB263,
+ 28103 - 11904: 0xB24E,
+ 28104 - 11904: 0xD5EC,
+ 28105 - 11904: 0xD5FE,
+ 28106 - 11904: 0xD5F6,
+ 28107 - 11904: 0xB24F,
+ 28108 - 11904: 0xB249,
+ 28109 - 11904: 0xD645,
+ 28111 - 11904: 0xD5FD,
+ 28112 - 11904: 0xD640,
+ 28113 - 11904: 0xB251,
+ 28114 - 11904: 0xB259,
+ 28115 - 11904: 0xD642,
+ 28116 - 11904: 0xD5EA,
+ 28117 - 11904: 0xD5FB,
+ 28118 - 11904: 0xD5EF,
+ 28119 - 11904: 0xD644,
+ 28120 - 11904: 0xB25E,
+ 28121 - 11904: 0xB246,
+ 28122 - 11904: 0xB25C,
+ 28123 - 11904: 0xD5F4,
+ 28124 - 11904: 0xD5F2,
+ 28125 - 11904: 0xD5F3,
+ 28126 - 11904: 0xB253,
+ 28127 - 11904: 0xD5EE,
+ 28128 - 11904: 0xD5ED,
+ 28129 - 11904: 0xB248,
+ 28130 - 11904: 0xD5E7,
+ 28131 - 11904: 0xD646,
+ 28132 - 11904: 0xB24A,
+ 28133 - 11904: 0xD5F1,
+ 28134 - 11904: 0xB268,
+ 28136 - 11904: 0xB262,
+ 28137 - 11904: 0xD5E6,
+ 28138 - 11904: 0xB25F,
+ 28139 - 11904: 0xB25D,
+ 28140 - 11904: 0xB266,
+ 28141 - 11904: 0xD5F8,
+ 28142 - 11904: 0xB261,
+ 28143 - 11904: 0xD252,
+ 28144 - 11904: 0xD5F9,
+ 28145 - 11904: 0xB260,
+ 28146 - 11904: 0xD641,
+ 28147 - 11904: 0xB245,
+ 28148 - 11904: 0xD5F5,
+ 28149 - 11904: 0xB257,
+ 28150 - 11904: 0xD5E9,
+ 28151 - 11904: 0xB256,
+ 28153 - 11904: 0xB254,
+ 28154 - 11904: 0xB24C,
+ 28155 - 11904: 0xB24B,
+ 28156 - 11904: 0xD9E7,
+ 28157 - 11904: 0xD643,
+ 28158 - 11904: 0x8C41,
+ 28160 - 11904: 0xD5EB,
+ 28162 - 11904: 0x97D5,
+ 28163 - 11904: 0xD9FC,
+ 28164 - 11904: 0x944A,
+ 28165 - 11904: 0xB24D,
+ 28170 - 11904: 0x944D,
+ 28175 - 11904: 0x97CB,
+ 28181 - 11904: 0x8DDE,
+ 28184 - 11904: 0x8DDF,
+ 28185 - 11904: 0xB541,
+ 28186 - 11904: 0xB25A,
+ 28187 - 11904: 0xB4EE,
+ 28188 - 11904: 0xD9F6,
+ 28189 - 11904: 0xFDB8,
+ 28191 - 11904: 0xD9EA,
+ 28192 - 11904: 0xB4EB,
+ 28193 - 11904: 0xB4E7,
+ 28194 - 11904: 0xDA49,
+ 28195 - 11904: 0xB4ED,
+ 28196 - 11904: 0xB4F1,
+ 28197 - 11904: 0xB4EC,
+ 28198 - 11904: 0xB4F5,
+ 28199 - 11904: 0xDA4D,
+ 28200 - 11904: 0xDA44,
+ 28201 - 11904: 0x8DE0,
+ 28202 - 11904: 0xFEF9,
+ 28203 - 11904: 0xD9F1,
+ 28204 - 11904: 0xB4FA,
+ 28205 - 11904: 0xB4F4,
+ 28206 - 11904: 0xD9FD,
+ 28207 - 11904: 0xFDBB,
+ 28208 - 11904: 0xDA4A,
+ 28209 - 11904: 0xDA43,
+ 28210 - 11904: 0xB4E8,
+ 28211 - 11904: 0xD9F7,
+ 28212 - 11904: 0xB4F7,
+ 28213 - 11904: 0xDA55,
+ 28214 - 11904: 0xDA56,
+ 28216 - 11904: 0xB4E5,
+ 28217 - 11904: 0xDA48,
+ 28218 - 11904: 0xB4F9,
+ 28219 - 11904: 0xD9FB,
+ 28220 - 11904: 0xD9ED,
+ 28221 - 11904: 0xD9EE,
+ 28222 - 11904: 0xB4FD,
+ 28223 - 11904: 0xD9F2,
+ 28224 - 11904: 0xD9F9,
+ 28225 - 11904: 0xD9F3,
+ 28227 - 11904: 0xB4FB,
+ 28228 - 11904: 0xB544,
+ 28229 - 11904: 0xD9EF,
+ 28230 - 11904: 0xD9E8,
+ 28231 - 11904: 0xD9E9,
+ 28233 - 11904: 0xD9EB,
+ 28234 - 11904: 0xB4EA,
+ 28235 - 11904: 0xD9F8,
+ 28237 - 11904: 0xB4F8,
+ 28238 - 11904: 0xB542,
+ 28239 - 11904: 0xFDC0,
+ 28240 - 11904: 0xFCF9,
+ 28241 - 11904: 0xD9FA,
+ 28242 - 11904: 0xDA53,
+ 28243 - 11904: 0xDA4B,
+ 28244 - 11904: 0xB4E6,
+ 28245 - 11904: 0xDA51,
+ 28246 - 11904: 0xB4F2,
+ 28247 - 11904: 0x8CDD,
+ 28248 - 11904: 0xB4F0,
+ 28249 - 11904: 0xFB7E,
+ 28250 - 11904: 0xDA57,
+ 28251 - 11904: 0xB4EF,
+ 28252 - 11904: 0xDA41,
+ 28253 - 11904: 0xD9F4,
+ 28254 - 11904: 0xD9FE,
+ 28255 - 11904: 0xB547,
+ 28256 - 11904: 0xDA45,
+ 28257 - 11904: 0xDA42,
+ 28258 - 11904: 0xD9F0,
+ 28259 - 11904: 0xB543,
+ 28260 - 11904: 0xDA4F,
+ 28261 - 11904: 0xDA4C,
+ 28262 - 11904: 0xDA54,
+ 28263 - 11904: 0xB4E9,
+ 28264 - 11904: 0xDA40,
+ 28265 - 11904: 0xB546,
+ 28267 - 11904: 0xDA47,
+ 28270 - 11904: 0xB4F3,
+ 28271 - 11904: 0xB4F6,
+ 28273 - 11904: 0xDA46,
+ 28274 - 11904: 0xB545,
+ 28275 - 11904: 0xD9F5,
+ 28276 - 11904: 0xD5E4,
+ 28278 - 11904: 0x92B3,
+ 28279 - 11904: 0xDA50,
+ 28280 - 11904: 0xDA4E,
+ 28281 - 11904: 0xDA52,
+ 28284 - 11904: 0xFDAF,
+ 28294 - 11904: 0x8DE1,
+ 28296 - 11904: 0xD9EC,
+ 28297 - 11904: 0xB540,
+ 28299 - 11904: 0x95D3,
+ 28301 - 11904: 0xDE61,
+ 28302 - 11904: 0xDE60,
+ 28303 - 11904: 0xDE46,
+ 28304 - 11904: 0xB7BD,
+ 28306 - 11904: 0xDE5F,
+ 28307 - 11904: 0xDE49,
+ 28308 - 11904: 0xDE4A,
+ 28310 - 11904: 0xB7C7,
+ 28311 - 11904: 0xDE68,
+ 28312 - 11904: 0xB7C2,
+ 28313 - 11904: 0xDE5E,
+ 28314 - 11904: 0x89C1,
+ 28315 - 11904: 0xDE43,
+ 28316 - 11904: 0xB7C8,
+ 28317 - 11904: 0xB7BE,
+ 28318 - 11904: 0xDE52,
+ 28319 - 11904: 0xDE48,
+ 28320 - 11904: 0xDE4B,
+ 28321 - 11904: 0xDE63,
+ 28322 - 11904: 0xB7B8,
+ 28323 - 11904: 0xDE6A,
+ 28324 - 11904: 0xDE62,
+ 28325 - 11904: 0xB7C1,
+ 28326 - 11904: 0xDE57,
+ 28327 - 11904: 0xB7CC,
+ 28330 - 11904: 0xB7CB,
+ 28331 - 11904: 0xB7C5,
+ 28334 - 11904: 0xDE69,
+ 28335 - 11904: 0xB7B9,
+ 28336 - 11904: 0xDE55,
+ 28337 - 11904: 0xDE4C,
+ 28338 - 11904: 0xDE59,
+ 28339 - 11904: 0xDE65,
+ 28340 - 11904: 0xB7CD,
+ 28341 - 11904: 0xFD68,
+ 28342 - 11904: 0xB7BB,
+ 28343 - 11904: 0xDE54,
+ 28344 - 11904: 0x9CB7,
+ 28345 - 11904: 0xDE4D,
+ 28346 - 11904: 0xB7C4,
+ 28347 - 11904: 0x8DE3,
+ 28348 - 11904: 0xB7C3,
+ 28349 - 11904: 0xDE50,
+ 28350 - 11904: 0xDE5A,
+ 28351 - 11904: 0xDE64,
+ 28352 - 11904: 0xDE47,
+ 28353 - 11904: 0xDE51,
+ 28354 - 11904: 0xB7BC,
+ 28355 - 11904: 0xDE5B,
+ 28356 - 11904: 0xB7C9,
+ 28357 - 11904: 0xB7C0,
+ 28358 - 11904: 0xDE4E,
+ 28359 - 11904: 0xB7BF,
+ 28360 - 11904: 0xDE45,
+ 28361 - 11904: 0xDE53,
+ 28362 - 11904: 0xDE67,
+ 28363 - 11904: 0xB4FE,
+ 28364 - 11904: 0xBAB0,
+ 28365 - 11904: 0xDE56,
+ 28366 - 11904: 0xE26C,
+ 28367 - 11904: 0xDE58,
+ 28368 - 11904: 0xDE66,
+ 28369 - 11904: 0xB7C6,
+ 28370 - 11904: 0xDE4F,
+ 28371 - 11904: 0xB7BA,
+ 28372 - 11904: 0xB7CA,
+ 28373 - 11904: 0xBCF0,
+ 28374 - 11904: 0xDE44,
+ 28376 - 11904: 0xDE5D,
+ 28377 - 11904: 0xFAC0,
+ 28378 - 11904: 0x8DE5,
+ 28379 - 11904: 0xFA64,
+ 28380 - 11904: 0xDE5C,
+ 28381 - 11904: 0x8947,
+ 28386 - 11904: 0x8DE4,
+ 28392 - 11904: 0x8DE7,
+ 28393 - 11904: 0x8DE8,
+ 28395 - 11904: 0xE2AA,
+ 28396 - 11904: 0xBAAD,
+ 28397 - 11904: 0xE27D,
+ 28398 - 11904: 0xE2A4,
+ 28399 - 11904: 0xBAA2,
+ 28401 - 11904: 0xE26E,
+ 28402 - 11904: 0xBAAF,
+ 28404 - 11904: 0xBA77,
+ 28405 - 11904: 0xE26D,
+ 28406 - 11904: 0xE2B0,
+ 28407 - 11904: 0xBAB1,
+ 28408 - 11904: 0xE271,
+ 28409 - 11904: 0xE2A3,
+ 28410 - 11904: 0xFDC7,
+ 28411 - 11904: 0xE273,
+ 28412 - 11904: 0xE2B3,
+ 28413 - 11904: 0xE2AF,
+ 28414 - 11904: 0xBA75,
+ 28415 - 11904: 0xBAA1,
+ 28416 - 11904: 0xE653,
+ 28417 - 11904: 0xBAAE,
+ 28418 - 11904: 0xBA7D,
+ 28419 - 11904: 0xE26F,
+ 28420 - 11904: 0xFDB0,
+ 28421 - 11904: 0xE2AE,
+ 28422 - 11904: 0xBAA3,
+ 28423 - 11904: 0xE2AB,
+ 28424 - 11904: 0xE2B8,
+ 28425 - 11904: 0xE275,
+ 28426 - 11904: 0xE27E,
+ 28427 - 11904: 0x9445,
+ 28428 - 11904: 0x97D6,
+ 28429 - 11904: 0xE2B6,
+ 28430 - 11904: 0xE2AC,
+ 28431 - 11904: 0xBA7C,
+ 28434 - 11904: 0xE27C,
+ 28435 - 11904: 0xBA76,
+ 28436 - 11904: 0xBA74,
+ 28437 - 11904: 0xBAA8,
+ 28438 - 11904: 0xFCC6,
+ 28439 - 11904: 0x9844,
+ 28440 - 11904: 0xE27A,
+ 28441 - 11904: 0xE277,
+ 28442 - 11904: 0xE278,
+ 28444 - 11904: 0xE2B2,
+ 28446 - 11904: 0xE2B7,
+ 28447 - 11904: 0xE2B5,
+ 28448 - 11904: 0xBA7A,
+ 28449 - 11904: 0xE2B9,
+ 28450 - 11904: 0xBA7E,
+ 28451 - 11904: 0xBAA7,
+ 28452 - 11904: 0x8DE9,
+ 28453 - 11904: 0xE270,
+ 28454 - 11904: 0xE5FA,
+ 28455 - 11904: 0xE279,
+ 28457 - 11904: 0xBA78,
+ 28458 - 11904: 0xBAAC,
+ 28459 - 11904: 0xBAA9,
+ 28460 - 11904: 0xBA7B,
+ 28461 - 11904: 0xE2A5,
+ 28462 - 11904: 0xE274,
+ 28463 - 11904: 0xBAAA,
+ 28464 - 11904: 0xE2A7,
+ 28465 - 11904: 0xBAA4,
+ 28466 - 11904: 0xBAA6,
+ 28467 - 11904: 0xBA73,
+ 28468 - 11904: 0x8DEA,
+ 28469 - 11904: 0xE2A9,
+ 28470 - 11904: 0xE2A1,
+ 28471 - 11904: 0xE272,
+ 28472 - 11904: 0xBAA5,
+ 28473 - 11904: 0xE2B1,
+ 28474 - 11904: 0xE2B4,
+ 28475 - 11904: 0xE27B,
+ 28476 - 11904: 0xE2A8,
+ 28477 - 11904: 0xFE50,
+ 28478 - 11904: 0xBA79,
+ 28479 - 11904: 0xBCDF,
+ 28480 - 11904: 0xE2A6,
+ 28481 - 11904: 0xE5F9,
+ 28483 - 11904: 0xE2AD,
+ 28484 - 11904: 0xFDCC,
+ 28494 - 11904: 0xE276,
+ 28495 - 11904: 0xE644,
+ 28496 - 11904: 0xE64E,
+ 28497 - 11904: 0xBCE2,
+ 28498 - 11904: 0xE64D,
+ 28499 - 11904: 0xE659,
+ 28500 - 11904: 0xBCE4,
+ 28501 - 11904: 0xE64B,
+ 28502 - 11904: 0x9DA7,
+ 28503 - 11904: 0xE64F,
+ 28504 - 11904: 0xBCEF,
+ 28506 - 11904: 0xE646,
+ 28507 - 11904: 0xBCE7,
+ 28508 - 11904: 0xFDCD,
+ 28509 - 11904: 0xE652,
+ 28510 - 11904: 0xE9F0,
+ 28511 - 11904: 0xBCF3,
+ 28512 - 11904: 0xBCF2,
+ 28513 - 11904: 0xE654,
+ 28514 - 11904: 0xE643,
+ 28515 - 11904: 0xE65E,
+ 28516 - 11904: 0xBCED,
+ 28518 - 11904: 0xBCE3,
+ 28519 - 11904: 0xE657,
+ 28521 - 11904: 0xE65B,
+ 28522 - 11904: 0xE660,
+ 28523 - 11904: 0xE655,
+ 28524 - 11904: 0xE649,
+ 28525 - 11904: 0xBCE6,
+ 28526 - 11904: 0xBCE9,
+ 28527 - 11904: 0xBCF1,
+ 28528 - 11904: 0xBCEC,
+ 28530 - 11904: 0xE64C,
+ 28531 - 11904: 0xE2A2,
+ 28532 - 11904: 0xFDCF,
+ 28534 - 11904: 0xE648,
+ 28535 - 11904: 0xE65F,
+ 28536 - 11904: 0xBCE8,
+ 28537 - 11904: 0x95D2,
+ 28538 - 11904: 0xBCEB,
+ 28539 - 11904: 0xE661,
+ 28540 - 11904: 0xBCE0,
+ 28541 - 11904: 0xE656,
+ 28542 - 11904: 0xE5FB,
+ 28543 - 11904: 0xE65C,
+ 28544 - 11904: 0xC0DF,
+ 28545 - 11904: 0x8DED,
+ 28546 - 11904: 0xE64A,
+ 28548 - 11904: 0xBCE1,
+ 28549 - 11904: 0xE645,
+ 28550 - 11904: 0xBCE5,
+ 28551 - 11904: 0xE5FC,
+ 28552 - 11904: 0xBAAB,
+ 28553 - 11904: 0xE641,
+ 28554 - 11904: 0xFCBA,
+ 28555 - 11904: 0xE65A,
+ 28556 - 11904: 0xE642,
+ 28557 - 11904: 0xE640,
+ 28558 - 11904: 0xBCEA,
+ 28560 - 11904: 0xE658,
+ 28562 - 11904: 0xE5FE,
+ 28563 - 11904: 0xE651,
+ 28564 - 11904: 0xE650,
+ 28565 - 11904: 0xE65D,
+ 28566 - 11904: 0xE647,
+ 28567 - 11904: 0xBCEE,
+ 28573 - 11904: 0xFDC5,
+ 28574 - 11904: 0xE9F3,
+ 28575 - 11904: 0xFDD2,
+ 28576 - 11904: 0xBF49,
+ 28577 - 11904: 0xBEFE,
+ 28578 - 11904: 0xEA40,
+ 28579 - 11904: 0xE9EB,
+ 28580 - 11904: 0xBF41,
+ 28581 - 11904: 0xE9F7,
+ 28582 - 11904: 0xBF48,
+ 28583 - 11904: 0xBF43,
+ 28584 - 11904: 0xE9F5,
+ 28585 - 11904: 0xED4F,
+ 28586 - 11904: 0xE9FB,
+ 28587 - 11904: 0xEA42,
+ 28588 - 11904: 0xE9FA,
+ 28589 - 11904: 0xE9E9,
+ 28590 - 11904: 0xE9F8,
+ 28591 - 11904: 0xEA44,
+ 28592 - 11904: 0xEA46,
+ 28593 - 11904: 0xBEFD,
+ 28594 - 11904: 0xEA45,
+ 28595 - 11904: 0xBF44,
+ 28596 - 11904: 0xBF4A,
+ 28597 - 11904: 0x9CDC,
+ 28598 - 11904: 0xBF47,
+ 28600 - 11904: 0xE9FE,
+ 28601 - 11904: 0xBF46,
+ 28602 - 11904: 0xE9F9,
+ 28603 - 11904: 0x95CF,
+ 28604 - 11904: 0xE9ED,
+ 28605 - 11904: 0xE9F2,
+ 28606 - 11904: 0x8DEE,
+ 28607 - 11904: 0xE9FD,
+ 28608 - 11904: 0xBF45,
+ 28609 - 11904: 0xBF42,
+ 28610 - 11904: 0xBEFC,
+ 28611 - 11904: 0xBF40,
+ 28612 - 11904: 0xE9F1,
+ 28614 - 11904: 0xE5FD,
+ 28615 - 11904: 0xE9EC,
+ 28616 - 11904: 0xE9EF,
+ 28617 - 11904: 0xEA41,
+ 28618 - 11904: 0xE9F4,
+ 28619 - 11904: 0xE9EA,
+ 28620 - 11904: 0xED4E,
+ 28621 - 11904: 0xEA43,
+ 28622 - 11904: 0xE9EE,
+ 28623 - 11904: 0xE9FC,
+ 28627 - 11904: 0xFDD4,
+ 28628 - 11904: 0xED51,
+ 28629 - 11904: 0xC0E3,
+ 28632 - 11904: 0xC0D7,
+ 28633 - 11904: 0x96EC,
+ 28634 - 11904: 0x96EB,
+ 28635 - 11904: 0xC0DB,
+ 28636 - 11904: 0xED53,
+ 28637 - 11904: 0xED59,
+ 28638 - 11904: 0xED57,
+ 28639 - 11904: 0xC0D9,
+ 28640 - 11904: 0xC0DA,
+ 28641 - 11904: 0xC0E1,
+ 28642 - 11904: 0xED5A,
+ 28643 - 11904: 0xED52,
+ 28644 - 11904: 0xC0DC,
+ 28646 - 11904: 0xED56,
+ 28647 - 11904: 0xED55,
+ 28648 - 11904: 0xED5B,
+ 28649 - 11904: 0xC0E2,
+ 28651 - 11904: 0xC0DD,
+ 28652 - 11904: 0xC0E0,
+ 28653 - 11904: 0xED54,
+ 28654 - 11904: 0xC0E4,
+ 28655 - 11904: 0xC0DE,
+ 28656 - 11904: 0xC0E5,
+ 28657 - 11904: 0xC0D8,
+ 28658 - 11904: 0xED58,
+ 28660 - 11904: 0xED50,
+ 28662 - 11904: 0x90B6,
+ 28663 - 11904: 0xEFF7,
+ 28664 - 11904: 0xFDC3,
+ 28666 - 11904: 0xC271,
+ 28667 - 11904: 0xEFF4,
+ 28668 - 11904: 0xEFF6,
+ 28670 - 11904: 0xC26F,
+ 28671 - 11904: 0xEFF2,
+ 28672 - 11904: 0xEFF3,
+ 28673 - 11904: 0xEFEE,
+ 28675 - 11904: 0x98AB,
+ 28676 - 11904: 0xE9F6,
+ 28677 - 11904: 0xEFEF,
+ 28678 - 11904: 0xC270,
+ 28679 - 11904: 0xEFEB,
+ 28681 - 11904: 0xC26D,
+ 28682 - 11904: 0xEFF8,
+ 28683 - 11904: 0xC26E,
+ 28684 - 11904: 0xEFEC,
+ 28685 - 11904: 0xEFED,
+ 28686 - 11904: 0xEFF1,
+ 28687 - 11904: 0xC273,
+ 28689 - 11904: 0xC272,
+ 28692 - 11904: 0xEFF0,
+ 28693 - 11904: 0xC378,
+ 28694 - 11904: 0xF25F,
+ 28695 - 11904: 0xF265,
+ 28696 - 11904: 0xC379,
+ 28697 - 11904: 0xF25C,
+ 28698 - 11904: 0xC376,
+ 28699 - 11904: 0xC373,
+ 28700 - 11904: 0xF267,
+ 28701 - 11904: 0xC377,
+ 28702 - 11904: 0x96EE,
+ 28703 - 11904: 0xC374,
+ 28704 - 11904: 0xF25E,
+ 28705 - 11904: 0xF261,
+ 28706 - 11904: 0xF262,
+ 28707 - 11904: 0xF263,
+ 28708 - 11904: 0xF266,
+ 28710 - 11904: 0xEFF5,
+ 28711 - 11904: 0xF25D,
+ 28712 - 11904: 0xC375,
+ 28713 - 11904: 0xF264,
+ 28714 - 11904: 0xF268,
+ 28715 - 11904: 0xF260,
+ 28716 - 11904: 0x8DF4,
+ 28719 - 11904: 0xF45D,
+ 28720 - 11904: 0xC46A,
+ 28721 - 11904: 0xF460,
+ 28722 - 11904: 0xC46B,
+ 28723 - 11904: 0xF468,
+ 28724 - 11904: 0xF45F,
+ 28725 - 11904: 0xF45C,
+ 28727 - 11904: 0xF45E,
+ 28728 - 11904: 0xF462,
+ 28729 - 11904: 0xF465,
+ 28730 - 11904: 0xF464,
+ 28731 - 11904: 0xF467,
+ 28732 - 11904: 0xF45B,
+ 28734 - 11904: 0xC469,
+ 28735 - 11904: 0xF463,
+ 28736 - 11904: 0xF466,
+ 28737 - 11904: 0xF469,
+ 28738 - 11904: 0xF461,
+ 28739 - 11904: 0xF5D3,
+ 28740 - 11904: 0xF5D4,
+ 28741 - 11904: 0xF5D8,
+ 28742 - 11904: 0xF5D9,
+ 28744 - 11904: 0xF5D6,
+ 28745 - 11904: 0xF5D7,
+ 28746 - 11904: 0xF5D5,
+ 28747 - 11904: 0xFDE0,
+ 28748 - 11904: 0xC4E9,
+ 28749 - 11904: 0x8C67,
+ 28752 - 11904: 0x8DF6,
+ 28753 - 11904: 0xC578,
+ 28754 - 11904: 0xF6EB,
+ 28756 - 11904: 0x8DF7,
+ 28757 - 11904: 0xF6E8,
+ 28758 - 11904: 0xF6E9,
+ 28759 - 11904: 0xF6EA,
+ 28760 - 11904: 0xC579,
+ 28762 - 11904: 0xF7E5,
+ 28763 - 11904: 0xF7E4,
+ 28764 - 11904: 0x8FFA,
+ 28765 - 11904: 0xF8AF,
+ 28766 - 11904: 0xC5F4,
+ 28767 - 11904: 0xF8AD,
+ 28768 - 11904: 0xF8B0,
+ 28769 - 11904: 0xF8AE,
+ 28770 - 11904: 0xF8F5,
+ 28771 - 11904: 0xC657,
+ 28772 - 11904: 0xC665,
+ 28773 - 11904: 0xF9A3,
+ 28774 - 11904: 0xF96C,
+ 28775 - 11904: 0x97D0,
+ 28776 - 11904: 0xF9A2,
+ 28777 - 11904: 0xF9D0,
+ 28778 - 11904: 0xF9D1,
+ 28779 - 11904: 0xA4F5,
+ 28780 - 11904: 0x8BD2,
+ 28782 - 11904: 0x87DE,
+ 28783 - 11904: 0x8DF8,
+ 28784 - 11904: 0xA6C7,
+ 28785 - 11904: 0xCA41,
+ 28788 - 11904: 0xCB5E,
+ 28789 - 11904: 0x90D9,
+ 28790 - 11904: 0xA85F,
+ 28791 - 11904: 0x8C47,
+ 28792 - 11904: 0xA862,
+ 28793 - 11904: 0xFAF0,
+ 28794 - 11904: 0xCB5F,
+ 28796 - 11904: 0xA860,
+ 28797 - 11904: 0xA861,
+ 28798 - 11904: 0xFDE1,
+ 28799 - 11904: 0x8DF9,
+ 28801 - 11904: 0xFDE3,
+ 28802 - 11904: 0xCD58,
+ 28803 - 11904: 0xCD5A,
+ 28804 - 11904: 0xCD55,
+ 28805 - 11904: 0xCD52,
+ 28806 - 11904: 0xCD54,
+ 28809 - 11904: 0x8DFA,
+ 28810 - 11904: 0xAAA4,
+ 28811 - 11904: 0xFB63,
+ 28814 - 11904: 0xAAA2,
+ 28815 - 11904: 0x90A6,
+ 28817 - 11904: 0xCD56,
+ 28818 - 11904: 0xAAA3,
+ 28819 - 11904: 0xCD53,
+ 28820 - 11904: 0xCD50,
+ 28821 - 11904: 0xAAA1,
+ 28822 - 11904: 0xCD57,
+ 28824 - 11904: 0xCD51,
+ 28825 - 11904: 0xAAA5,
+ 28826 - 11904: 0xCD59,
+ 28831 - 11904: 0xCFAF,
+ 28832 - 11904: 0x9970,
+ 28833 - 11904: 0xCFB3,
+ 28835 - 11904: 0x91EB,
+ 28836 - 11904: 0xACB7,
+ 28837 - 11904: 0x9770,
+ 28838 - 11904: 0x986F,
+ 28839 - 11904: 0xFDE2,
+ 28841 - 11904: 0xCFB6,
+ 28843 - 11904: 0xACAF,
+ 28844 - 11904: 0xACB2,
+ 28845 - 11904: 0xACB4,
+ 28846 - 11904: 0xACB6,
+ 28847 - 11904: 0xACB3,
+ 28848 - 11904: 0xCFB2,
+ 28849 - 11904: 0xCFB1,
+ 28851 - 11904: 0xACB1,
+ 28852 - 11904: 0xCFB4,
+ 28853 - 11904: 0xCFB5,
+ 28855 - 11904: 0xCFAE,
+ 28856 - 11904: 0xACB5,
+ 28857 - 11904: 0x98F2,
+ 28858 - 11904: 0xACB0,
+ 28859 - 11904: 0x9AFC,
+ 28860 - 11904: 0x896C,
+ 28861 - 11904: 0xFDFD,
+ 28862 - 11904: 0xCFB0,
+ 28864 - 11904: 0x995E,
+ 28868 - 11904: 0x95BD,
+ 28869 - 11904: 0xD277,
+ 28870 - 11904: 0xD278,
+ 28871 - 11904: 0xD279,
+ 28872 - 11904: 0xAF50,
+ 28874 - 11904: 0xAF4C,
+ 28875 - 11904: 0xD26E,
+ 28876 - 11904: 0xFDE4,
+ 28877 - 11904: 0xD276,
+ 28878 - 11904: 0xD27B,
+ 28879 - 11904: 0xAF51,
+ 28880 - 11904: 0x91E6,
+ 28881 - 11904: 0xD26C,
+ 28882 - 11904: 0xD272,
+ 28883 - 11904: 0xD26B,
+ 28884 - 11904: 0xD275,
+ 28885 - 11904: 0xFDE5,
+ 28886 - 11904: 0xFDE6,
+ 28887 - 11904: 0xD271,
+ 28888 - 11904: 0xAF4D,
+ 28889 - 11904: 0xAF4F,
+ 28890 - 11904: 0xD27A,
+ 28892 - 11904: 0xD26A,
+ 28893 - 11904: 0xD26D,
+ 28894 - 11904: 0xD273,
+ 28895 - 11904: 0xFDE7,
+ 28896 - 11904: 0xD274,
+ 28897 - 11904: 0xD27C,
+ 28898 - 11904: 0xD270,
+ 28900 - 11904: 0xAF4E,
+ 28911 - 11904: 0xB26D,
+ 28912 - 11904: 0xD64E,
+ 28913 - 11904: 0x9454,
+ 28915 - 11904: 0xD650,
+ 28916 - 11904: 0xD64C,
+ 28917 - 11904: 0x99B8,
+ 28918 - 11904: 0xD658,
+ 28919 - 11904: 0xD64A,
+ 28920 - 11904: 0xD657,
+ 28921 - 11904: 0xB269,
+ 28922 - 11904: 0xD648,
+ 28923 - 11904: 0xDA5B,
+ 28924 - 11904: 0xD652,
+ 28925 - 11904: 0xB26C,
+ 28926 - 11904: 0x97E9,
+ 28927 - 11904: 0xD653,
+ 28928 - 11904: 0xD656,
+ 28930 - 11904: 0xD65A,
+ 28932 - 11904: 0xD64F,
+ 28933 - 11904: 0x9346,
+ 28934 - 11904: 0xD654,
+ 28937 - 11904: 0xB26A,
+ 28938 - 11904: 0xB26B,
+ 28939 - 11904: 0xD659,
+ 28940 - 11904: 0xD64D,
+ 28941 - 11904: 0xD649,
+ 28942 - 11904: 0xD65B,
+ 28944 - 11904: 0xD651,
+ 28947 - 11904: 0xD655,
+ 28951 - 11904: 0xD64B,
+ 28953 - 11904: 0xB548,
+ 28954 - 11904: 0xB549,
+ 28955 - 11904: 0xDA65,
+ 28956 - 11904: 0xB54F,
+ 28957 - 11904: 0x9863,
+ 28958 - 11904: 0xDA59,
+ 28959 - 11904: 0xDA62,
+ 28960 - 11904: 0xDA58,
+ 28961 - 11904: 0xB54C,
+ 28962 - 11904: 0xDA60,
+ 28963 - 11904: 0xDA5E,
+ 28965 - 11904: 0xDA5F,
+ 28966 - 11904: 0xB54A,
+ 28968 - 11904: 0xDA63,
+ 28969 - 11904: 0x95BC,
+ 28971 - 11904: 0xFDED,
+ 28972 - 11904: 0xFDF7,
+ 28974 - 11904: 0xDA5C,
+ 28975 - 11904: 0xDA5A,
+ 28976 - 11904: 0xB54B,
+ 28977 - 11904: 0xDA5D,
+ 28978 - 11904: 0xDA61,
+ 28979 - 11904: 0x9870,
+ 28980 - 11904: 0x96F6,
+ 28981 - 11904: 0x8EA9,
+ 28982 - 11904: 0xB54D,
+ 28986 - 11904: 0xDA64,
+ 28987 - 11904: 0x9451,
+ 28990 - 11904: 0x8E43,
+ 28992 - 11904: 0x8B5A,
+ 28993 - 11904: 0xDE70,
+ 28994 - 11904: 0xDE77,
+ 28995 - 11904: 0xDE79,
+ 28996 - 11904: 0xDEA1,
+ 28997 - 11904: 0xFDEE,
+ 28998 - 11904: 0xB7DA,
+ 28999 - 11904: 0xDE6B,
+ 29001 - 11904: 0xB7D2,
+ 29002 - 11904: 0xFDF0,
+ 29003 - 11904: 0xDE7A,
+ 29004 - 11904: 0xB7D7,
+ 29005 - 11904: 0xDEA2,
+ 29006 - 11904: 0xB7CE,
+ 29007 - 11904: 0xFDF4,
+ 29008 - 11904: 0xDE7D,
+ 29009 - 11904: 0x9BF5,
+ 29010 - 11904: 0xDE6D,
+ 29011 - 11904: 0xDE7E,
+ 29012 - 11904: 0xDE6C,
+ 29014 - 11904: 0xB7DC,
+ 29015 - 11904: 0x8CEE,
+ 29016 - 11904: 0xDE78,
+ 29017 - 11904: 0xB7CF,
+ 29018 - 11904: 0xDEA3,
+ 29020 - 11904: 0xB7D4,
+ 29021 - 11904: 0xDE71,
+ 29022 - 11904: 0xB7D9,
+ 29023 - 11904: 0xDE7C,
+ 29024 - 11904: 0xDE6F,
+ 29025 - 11904: 0xDE76,
+ 29026 - 11904: 0xDE72,
+ 29027 - 11904: 0xDE6E,
+ 29028 - 11904: 0xB7D1,
+ 29029 - 11904: 0xB7D8,
+ 29030 - 11904: 0xB7D6,
+ 29031 - 11904: 0xB7D3,
+ 29032 - 11904: 0xB7DB,
+ 29033 - 11904: 0xB7D0,
+ 29034 - 11904: 0xDE75,
+ 29035 - 11904: 0x977E,
+ 29036 - 11904: 0xB7D5,
+ 29038 - 11904: 0xFDF1,
+ 29040 - 11904: 0xDE7B,
+ 29041 - 11904: 0x9BD5,
+ 29042 - 11904: 0xDE73,
+ 29043 - 11904: 0x9AC3,
+ 29045 - 11904: 0x97C8,
+ 29046 - 11904: 0xA0DB,
+ 29047 - 11904: 0x91D0,
+ 29048 - 11904: 0xDE74,
+ 29050 - 11904: 0x9FE4,
+ 29051 - 11904: 0xE2C1,
+ 29052 - 11904: 0x8FDD,
+ 29053 - 11904: 0xBAB4,
+ 29054 - 11904: 0x91E9,
+ 29056 - 11904: 0xE2BD,
+ 29057 - 11904: 0xE2C3,
+ 29058 - 11904: 0xE2BF,
+ 29060 - 11904: 0xBAB6,
+ 29061 - 11904: 0xE2BE,
+ 29062 - 11904: 0xE2C2,
+ 29063 - 11904: 0xE2BA,
+ 29064 - 11904: 0x98E0,
+ 29065 - 11904: 0xE2BC,
+ 29066 - 11904: 0xBAB5,
+ 29068 - 11904: 0x92CA,
+ 29070 - 11904: 0x9857,
+ 29071 - 11904: 0xE2C0,
+ 29072 - 11904: 0xE2BB,
+ 29073 - 11904: 0x8C51,
+ 29074 - 11904: 0xBAB7,
+ 29076 - 11904: 0xBAB2,
+ 29078 - 11904: 0xFDEB,
+ 29079 - 11904: 0xE2C4,
+ 29080 - 11904: 0x9B49,
+ 29081 - 11904: 0xBAB3,
+ 29082 - 11904: 0xE667,
+ 29083 - 11904: 0xE664,
+ 29084 - 11904: 0xE670,
+ 29085 - 11904: 0xE66A,
+ 29086 - 11904: 0xE66C,
+ 29087 - 11904: 0xBCF4,
+ 29088 - 11904: 0xE666,
+ 29089 - 11904: 0xE66E,
+ 29090 - 11904: 0x9D76,
+ 29091 - 11904: 0x9EAF,
+ 29092 - 11904: 0xE66D,
+ 29093 - 11904: 0xE66B,
+ 29095 - 11904: 0xE671,
+ 29096 - 11904: 0xBCF7,
+ 29097 - 11904: 0xE668,
+ 29098 - 11904: 0xE66F,
+ 29100 - 11904: 0xBCF5,
+ 29101 - 11904: 0x9CCC,
+ 29103 - 11904: 0xE663,
+ 29104 - 11904: 0xE665,
+ 29105 - 11904: 0xBCF6,
+ 29106 - 11904: 0xE662,
+ 29107 - 11904: 0xE672,
+ 29108 - 11904: 0xFDEA,
+ 29109 - 11904: 0xE669,
+ 29111 - 11904: 0x8DF1,
+ 29112 - 11904: 0xEA4A,
+ 29113 - 11904: 0xBF51,
+ 29114 - 11904: 0xFDFB,
+ 29116 - 11904: 0xEA55,
+ 29117 - 11904: 0xEA53,
+ 29118 - 11904: 0xBF4B,
+ 29119 - 11904: 0xEA49,
+ 29120 - 11904: 0xEA4C,
+ 29121 - 11904: 0xEA4D,
+ 29122 - 11904: 0xEA48,
+ 29123 - 11904: 0xBF55,
+ 29124 - 11904: 0xBF56,
+ 29125 - 11904: 0xEA47,
+ 29126 - 11904: 0xEA56,
+ 29127 - 11904: 0xEA51,
+ 29128 - 11904: 0xBF4F,
+ 29129 - 11904: 0xBF4C,
+ 29130 - 11904: 0xEA50,
+ 29131 - 11904: 0xEA4E,
+ 29134 - 11904: 0xBF52,
+ 29135 - 11904: 0xEA52,
+ 29136 - 11904: 0xBF4D,
+ 29137 - 11904: 0x8E53,
+ 29138 - 11904: 0xBF4E,
+ 29140 - 11904: 0xEA4F,
+ 29141 - 11904: 0xBF50,
+ 29142 - 11904: 0xEA4B,
+ 29144 - 11904: 0xEA54,
+ 29145 - 11904: 0xBF53,
+ 29146 - 11904: 0xEA57,
+ 29147 - 11904: 0xEA58,
+ 29148 - 11904: 0xBF54,
+ 29149 - 11904: 0xFACF,
+ 29151 - 11904: 0xC0E7,
+ 29152 - 11904: 0xC0EE,
+ 29153 - 11904: 0xED5C,
+ 29154 - 11904: 0xED62,
+ 29156 - 11904: 0xED60,
+ 29157 - 11904: 0xC0EA,
+ 29158 - 11904: 0xC0E9,
+ 29159 - 11904: 0xC0E6,
+ 29160 - 11904: 0xED5E,
+ 29163 - 11904: 0x96F9,
+ 29164 - 11904: 0xC0EC,
+ 29165 - 11904: 0xC0EB,
+ 29166 - 11904: 0xC0E8,
+ 29168 - 11904: 0xED61,
+ 29169 - 11904: 0xED5D,
+ 29170 - 11904: 0xED5F,
+ 29172 - 11904: 0xC0ED,
+ 29173 - 11904: 0x98BF,
+ 29174 - 11904: 0x9E49,
+ 29176 - 11904: 0xC277,
+ 29177 - 11904: 0xEFFB,
+ 29179 - 11904: 0xC274,
+ 29180 - 11904: 0xC275,
+ 29181 - 11904: 0xEFFD,
+ 29182 - 11904: 0xC276,
+ 29183 - 11904: 0xEFFA,
+ 29184 - 11904: 0x8CA7,
+ 29185 - 11904: 0xEFF9,
+ 29186 - 11904: 0xF26C,
+ 29187 - 11904: 0xEFFC,
+ 29189 - 11904: 0xF26D,
+ 29190 - 11904: 0xC37A,
+ 29191 - 11904: 0xF26B,
+ 29193 - 11904: 0x9BCA,
+ 29194 - 11904: 0xF26A,
+ 29196 - 11904: 0xF269,
+ 29197 - 11904: 0xC37B,
+ 29198 - 11904: 0xFDFE,
+ 29199 - 11904: 0x92DC,
+ 29200 - 11904: 0xC46C,
+ 29203 - 11904: 0xF46A,
+ 29204 - 11904: 0xF46B,
+ 29205 - 11904: 0xFE41,
+ 29206 - 11904: 0x91CC,
+ 29207 - 11904: 0x91E2,
+ 29209 - 11904: 0xF5DC,
+ 29210 - 11904: 0xF5DB,
+ 29211 - 11904: 0xC4EA,
+ 29213 - 11904: 0xF5DA,
+ 29214 - 11904: 0xF6EC,
+ 29215 - 11904: 0xF6ED,
+ 29218 - 11904: 0xF7E6,
+ 29219 - 11904: 0xF8B1,
+ 29220 - 11904: 0xFE44,
+ 29221 - 11904: 0x875F,
+ 29222 - 11904: 0xF8F6,
+ 29223 - 11904: 0xF9BC,
+ 29224 - 11904: 0xC679,
+ 29225 - 11904: 0xF9C6,
+ 29226 - 11904: 0xA4F6,
+ 29227 - 11904: 0x8BD3,
+ 29228 - 11904: 0xAAA6,
+ 29229 - 11904: 0xAAA7,
+ 29230 - 11904: 0xFE47,
+ 29232 - 11904: 0xACB8,
+ 29237 - 11904: 0xC0EF,
+ 29238 - 11904: 0xA4F7,
+ 29240 - 11904: 0xAAA8,
+ 29241 - 11904: 0xAF52,
+ 29242 - 11904: 0xB7DD,
+ 29243 - 11904: 0xA4F8,
+ 29245 - 11904: 0xB26E,
+ 29246 - 11904: 0xBAB8,
+ 29247 - 11904: 0xC962,
+ 29248 - 11904: 0xFE48,
+ 29249 - 11904: 0xCFB7,
+ 29250 - 11904: 0xD27D,
+ 29252 - 11904: 0xE2C5,
+ 29254 - 11904: 0xC0F0,
+ 29255 - 11904: 0xA4F9,
+ 29256 - 11904: 0xAAA9,
+ 29257 - 11904: 0xCFB8,
+ 29258 - 11904: 0xCFB9,
+ 29259 - 11904: 0xDA66,
+ 29260 - 11904: 0xB550,
+ 29263 - 11904: 0xDEA4,
+ 29264 - 11904: 0xA0E4,
+ 29266 - 11904: 0xB7DE,
+ 29267 - 11904: 0xE2C6,
+ 29269 - 11904: 0xFE4B,
+ 29270 - 11904: 0xBCF8,
+ 29271 - 11904: 0xFE4C,
+ 29272 - 11904: 0xC37C,
+ 29273 - 11904: 0xA4FA,
+ 29274 - 11904: 0xDA67,
+ 29275 - 11904: 0xA4FB,
+ 29276 - 11904: 0x8DBF,
+ 29277 - 11904: 0xA6C9,
+ 29278 - 11904: 0xCA42,
+ 29279 - 11904: 0xA6C8,
+ 29280 - 11904: 0xA865,
+ 29281 - 11904: 0xA864,
+ 29282 - 11904: 0xA863,
+ 29283 - 11904: 0xCB60,
+ 29286 - 11904: 0x9E78,
+ 29287 - 11904: 0xAAAA,
+ 29289 - 11904: 0xAAAB,
+ 29290 - 11904: 0xCD5B,
+ 29292 - 11904: 0xCFBA,
+ 29294 - 11904: 0xCFBD,
+ 29295 - 11904: 0xACBA,
+ 29296 - 11904: 0xCFBB,
+ 29298 - 11904: 0xACB9,
+ 29299 - 11904: 0xCFBC,
+ 29300 - 11904: 0xACBB,
+ 29302 - 11904: 0xD2A2,
+ 29303 - 11904: 0xD2A1,
+ 29304 - 11904: 0xD27E,
+ 29305 - 11904: 0xAF53,
+ 29307 - 11904: 0xD65D,
+ 29308 - 11904: 0xD65E,
+ 29309 - 11904: 0xB26F,
+ 29310 - 11904: 0xD65C,
+ 29311 - 11904: 0xD65F,
+ 29312 - 11904: 0xB552,
+ 29313 - 11904: 0xB270,
+ 29314 - 11904: 0xFE51,
+ 29316 - 11904: 0xB551,
+ 29317 - 11904: 0xDA6B,
+ 29318 - 11904: 0xDA6A,
+ 29319 - 11904: 0x9456,
+ 29320 - 11904: 0xDA68,
+ 29321 - 11904: 0xDA69,
+ 29323 - 11904: 0xDA6C,
+ 29324 - 11904: 0xDEA6,
+ 29325 - 11904: 0xDEA5,
+ 29326 - 11904: 0xDEA9,
+ 29327 - 11904: 0x9D61,
+ 29328 - 11904: 0xDEA8,
+ 29329 - 11904: 0xDEA7,
+ 29330 - 11904: 0xBAB9,
+ 29331 - 11904: 0xE2C9,
+ 29332 - 11904: 0x9457,
+ 29333 - 11904: 0xE2C8,
+ 29334 - 11904: 0xBABA,
+ 29335 - 11904: 0xE2C7,
+ 29336 - 11904: 0xE673,
+ 29338 - 11904: 0xE674,
+ 29339 - 11904: 0xBCF9,
+ 29341 - 11904: 0xEA59,
+ 29342 - 11904: 0xEA5A,
+ 29343 - 11904: 0x9966,
+ 29345 - 11904: 0xF272,
+ 29346 - 11904: 0xC37D,
+ 29347 - 11904: 0xF271,
+ 29348 - 11904: 0xF270,
+ 29349 - 11904: 0xF26E,
+ 29350 - 11904: 0xF26F,
+ 29351 - 11904: 0xC4EB,
+ 29352 - 11904: 0xF46C,
+ 29353 - 11904: 0xF6EE,
+ 29354 - 11904: 0xF8F7,
+ 29356 - 11904: 0xA4FC,
+ 29357 - 11904: 0x8BD5,
+ 29358 - 11904: 0xC9A5,
+ 29359 - 11904: 0xA5C7,
+ 29360 - 11904: 0xC9A6,
+ 29362 - 11904: 0xA069,
+ 29364 - 11904: 0xCA43,
+ 29365 - 11904: 0xCA44,
+ 29370 - 11904: 0xCB66,
+ 29373 - 11904: 0xCB62,
+ 29375 - 11904: 0xCB61,
+ 29376 - 11904: 0xAAAC,
+ 29377 - 11904: 0xCB65,
+ 29378 - 11904: 0xA867,
+ 29379 - 11904: 0xCB63,
+ 29380 - 11904: 0xA866,
+ 29381 - 11904: 0xCB67,
+ 29382 - 11904: 0xCB64,
+ 29385 - 11904: 0xCD5F,
+ 29386 - 11904: 0xCFBE,
+ 29387 - 11904: 0xCD5D,
+ 29388 - 11904: 0xCD64,
+ 29389 - 11904: 0x98B4,
+ 29390 - 11904: 0xAAAD,
+ 29392 - 11904: 0xAAB0,
+ 29393 - 11904: 0xCD65,
+ 29394 - 11904: 0xCD61,
+ 29396 - 11904: 0xCD62,
+ 29398 - 11904: 0xCD5C,
+ 29399 - 11904: 0xAAAF,
+ 29400 - 11904: 0xCD5E,
+ 29401 - 11904: 0xAAAE,
+ 29402 - 11904: 0xCD63,
+ 29404 - 11904: 0xCD60,
+ 29407 - 11904: 0xCFC2,
+ 29408 - 11904: 0xACBD,
+ 29409 - 11904: 0xACBE,
+ 29410 - 11904: 0xA049,
+ 29411 - 11904: 0xCFC5,
+ 29412 - 11904: 0xCFBF,
+ 29414 - 11904: 0xCFC4,
+ 29416 - 11904: 0xCFC0,
+ 29417 - 11904: 0xACBC,
+ 29418 - 11904: 0xCFC3,
+ 29419 - 11904: 0xCFC1,
+ 29427 - 11904: 0xD2A8,
+ 29428 - 11904: 0xD2A5,
+ 29430 - 11904: 0xD2A7,
+ 29431 - 11904: 0xAF58,
+ 29432 - 11904: 0xAF57,
+ 29433 - 11904: 0xAF55,
+ 29434 - 11904: 0xD2A4,
+ 29435 - 11904: 0xD2A9,
+ 29436 - 11904: 0xAF54,
+ 29437 - 11904: 0xAF56,
+ 29438 - 11904: 0xD2A6,
+ 29439 - 11904: 0xD667,
+ 29440 - 11904: 0xD2A3,
+ 29441 - 11904: 0xD2AA,
+ 29442 - 11904: 0xA04C,
+ 29444 - 11904: 0x9E65,
+ 29447 - 11904: 0xD662,
+ 29448 - 11904: 0xD666,
+ 29450 - 11904: 0xD665,
+ 29451 - 11904: 0xDA6E,
+ 29452 - 11904: 0xDA79,
+ 29455 - 11904: 0xD668,
+ 29456 - 11904: 0x98B5,
+ 29457 - 11904: 0xD663,
+ 29458 - 11904: 0xDA6D,
+ 29459 - 11904: 0xB274,
+ 29462 - 11904: 0xB273,
+ 29463 - 11904: 0xD661,
+ 29464 - 11904: 0xD664,
+ 29465 - 11904: 0xB275,
+ 29467 - 11904: 0xB272,
+ 29468 - 11904: 0xB271,
+ 29469 - 11904: 0xD660,
+ 29470 - 11904: 0xD669,
+ 29474 - 11904: 0xDA70,
+ 29475 - 11904: 0xDA77,
+ 29477 - 11904: 0xB554,
+ 29478 - 11904: 0xDA76,
+ 29479 - 11904: 0xDA73,
+ 29480 - 11904: 0xFE58,
+ 29481 - 11904: 0xB556,
+ 29482 - 11904: 0xFE52,
+ 29483 - 11904: 0xFE53,
+ 29484 - 11904: 0xA065,
+ 29485 - 11904: 0xDA75,
+ 29486 - 11904: 0xFE59,
+ 29488 - 11904: 0xDA6F,
+ 29489 - 11904: 0xDA71,
+ 29490 - 11904: 0xDA74,
+ 29491 - 11904: 0xDA72,
+ 29492 - 11904: 0xB555,
+ 29493 - 11904: 0xDA78,
+ 29494 - 11904: 0xB553,
+ 29495 - 11904: 0xB7DF,
+ 29496 - 11904: 0x98B7,
+ 29497 - 11904: 0x98B8,
+ 29498 - 11904: 0xDEAD,
+ 29499 - 11904: 0xDEAC,
+ 29500 - 11904: 0xDEAA,
+ 29502 - 11904: 0xB7E2,
+ 29503 - 11904: 0xB7E1,
+ 29504 - 11904: 0xDEAE,
+ 29505 - 11904: 0x98BA,
+ 29506 - 11904: 0xDEAB,
+ 29507 - 11904: 0xE2CA,
+ 29508 - 11904: 0xBABB,
+ 29509 - 11904: 0xB7E0,
+ 29512 - 11904: 0x98BB,
+ 29513 - 11904: 0xDEB0,
+ 29514 - 11904: 0xDEAF,
+ 29516 - 11904: 0xE2CD,
+ 29517 - 11904: 0xE2CB,
+ 29518 - 11904: 0xBCFA,
+ 29519 - 11904: 0x9FBC,
+ 29520 - 11904: 0xBABC,
+ 29521 - 11904: 0xE2CC,
+ 29522 - 11904: 0xE676,
+ 29527 - 11904: 0xBCFB,
+ 29528 - 11904: 0xE675,
+ 29529 - 11904: 0xE67E,
+ 29530 - 11904: 0xE67D,
+ 29531 - 11904: 0xE67B,
+ 29533 - 11904: 0xE67A,
+ 29534 - 11904: 0xE677,
+ 29535 - 11904: 0xE678,
+ 29536 - 11904: 0xE679,
+ 29537 - 11904: 0xE67C,
+ 29538 - 11904: 0xE6A1,
+ 29541 - 11904: 0xEA5F,
+ 29542 - 11904: 0xEA5C,
+ 29543 - 11904: 0xEA5D,
+ 29544 - 11904: 0xBF57,
+ 29545 - 11904: 0xEA5B,
+ 29546 - 11904: 0xEA61,
+ 29547 - 11904: 0xEA60,
+ 29548 - 11904: 0xEA5E,
+ 29550 - 11904: 0xED64,
+ 29551 - 11904: 0xED65,
+ 29552 - 11904: 0xC0F1,
+ 29553 - 11904: 0xA04A,
+ 29554 - 11904: 0xC0F2,
+ 29555 - 11904: 0xED63,
+ 29556 - 11904: 0x9EC7,
+ 29557 - 11904: 0xC279,
+ 29558 - 11904: 0xEFFE,
+ 29559 - 11904: 0xC278,
+ 29560 - 11904: 0xC37E,
+ 29562 - 11904: 0xC3A1,
+ 29563 - 11904: 0xC46D,
+ 29564 - 11904: 0xF46E,
+ 29565 - 11904: 0xF46D,
+ 29566 - 11904: 0xF5DD,
+ 29567 - 11904: 0xF6EF,
+ 29568 - 11904: 0xC57A,
+ 29569 - 11904: 0xF7E8,
+ 29570 - 11904: 0xF7E7,
+ 29571 - 11904: 0xF7E9,
+ 29572 - 11904: 0xA5C8,
+ 29573 - 11904: 0xCFC6,
+ 29574 - 11904: 0xAF59,
+ 29575 - 11904: 0xB276,
+ 29576 - 11904: 0xD66A,
+ 29577 - 11904: 0xA5C9,
+ 29578 - 11904: 0xC9A7,
+ 29579 - 11904: 0xA4FD,
+ 29580 - 11904: 0x8CA9,
+ 29582 - 11904: 0xCA45,
+ 29583 - 11904: 0x98AE,
+ 29586 - 11904: 0xCB6C,
+ 29587 - 11904: 0xCB6A,
+ 29588 - 11904: 0xCB6B,
+ 29589 - 11904: 0xCB68,
+ 29590 - 11904: 0xA868,
+ 29591 - 11904: 0xCB69,
+ 29592 - 11904: 0x92D6,
+ 29596 - 11904: 0xFAE1,
+ 29597 - 11904: 0xCD6D,
+ 29598 - 11904: 0x91D4,
+ 29599 - 11904: 0xAAB3,
+ 29600 - 11904: 0xCD6B,
+ 29601 - 11904: 0xCD67,
+ 29602 - 11904: 0xCD6A,
+ 29604 - 11904: 0xCD66,
+ 29605 - 11904: 0xAAB5,
+ 29606 - 11904: 0xCD69,
+ 29607 - 11904: 0xFADE,
+ 29608 - 11904: 0xAAB2,
+ 29609 - 11904: 0xAAB1,
+ 29610 - 11904: 0xFE5B,
+ 29611 - 11904: 0xAAB4,
+ 29612 - 11904: 0xCD6C,
+ 29613 - 11904: 0xCD68,
+ 29618 - 11904: 0xACC2,
+ 29619 - 11904: 0xACC5,
+ 29620 - 11904: 0xCFCE,
+ 29621 - 11904: 0xCFCD,
+ 29622 - 11904: 0xCFCC,
+ 29623 - 11904: 0xACBF,
+ 29624 - 11904: 0xCFD5,
+ 29625 - 11904: 0xCFCB,
+ 29626 - 11904: 0x8C53,
+ 29627 - 11904: 0xACC1,
+ 29628 - 11904: 0xD2AF,
+ 29630 - 11904: 0xCFD2,
+ 29631 - 11904: 0xCFD0,
+ 29632 - 11904: 0xACC4,
+ 29634 - 11904: 0xCFC8,
+ 29635 - 11904: 0xCFD3,
+ 29636 - 11904: 0x87BF,
+ 29637 - 11904: 0xCFCA,
+ 29638 - 11904: 0xCFD4,
+ 29639 - 11904: 0xCFD1,
+ 29640 - 11904: 0xCFC9,
+ 29641 - 11904: 0xFE5E,
+ 29642 - 11904: 0xACC0,
+ 29643 - 11904: 0xCFD6,
+ 29644 - 11904: 0xCFC7,
+ 29645 - 11904: 0xACC3,
+ 29646 - 11904: 0xFBD7,
+ 29647 - 11904: 0xFE5A,
+ 29648 - 11904: 0x94C5,
+ 29650 - 11904: 0xD2B4,
+ 29651 - 11904: 0xD2AB,
+ 29652 - 11904: 0xD2B6,
+ 29653 - 11904: 0xFACA,
+ 29654 - 11904: 0xD2AE,
+ 29655 - 11904: 0xD2B9,
+ 29656 - 11904: 0xD2BA,
+ 29657 - 11904: 0xD2AC,
+ 29658 - 11904: 0xD2B8,
+ 29659 - 11904: 0xD2B5,
+ 29660 - 11904: 0xD2B3,
+ 29661 - 11904: 0xD2B7,
+ 29662 - 11904: 0xAF5F,
+ 29664 - 11904: 0xAF5D,
+ 29665 - 11904: 0x98C1,
+ 29666 - 11904: 0x975C,
+ 29667 - 11904: 0xD2B1,
+ 29668 - 11904: 0xFE74,
+ 29669 - 11904: 0xD2AD,
+ 29670 - 11904: 0x9773,
+ 29671 - 11904: 0xD2B0,
+ 29672 - 11904: 0xD2BB,
+ 29673 - 11904: 0xD2B2,
+ 29674 - 11904: 0xAF5E,
+ 29675 - 11904: 0xCFCF,
+ 29677 - 11904: 0xAF5A,
+ 29678 - 11904: 0xAF5C,
+ 29679 - 11904: 0xFA46,
+ 29683 - 11904: 0x9764,
+ 29684 - 11904: 0xD678,
+ 29685 - 11904: 0xD66D,
+ 29686 - 11904: 0xD66B,
+ 29687 - 11904: 0xFE68,
+ 29688 - 11904: 0xD66C,
+ 29689 - 11904: 0x964E,
+ 29690 - 11904: 0xD673,
+ 29691 - 11904: 0x9765,
+ 29692 - 11904: 0xD674,
+ 29693 - 11904: 0xD670,
+ 29694 - 11904: 0xB27B,
+ 29695 - 11904: 0xD675,
+ 29696 - 11904: 0xD672,
+ 29697 - 11904: 0xD66F,
+ 29698 - 11904: 0x8C5A,
+ 29699 - 11904: 0xB279,
+ 29700 - 11904: 0xD66E,
+ 29701 - 11904: 0xB277,
+ 29702 - 11904: 0xB27A,
+ 29703 - 11904: 0xD671,
+ 29704 - 11904: 0xD679,
+ 29705 - 11904: 0xAF5B,
+ 29706 - 11904: 0xB278,
+ 29707 - 11904: 0xD677,
+ 29708 - 11904: 0xD676,
+ 29709 - 11904: 0xB27C,
+ 29713 - 11904: 0x89A1,
+ 29714 - 11904: 0x95FA,
+ 29716 - 11904: 0x92D4,
+ 29717 - 11904: 0xFE69,
+ 29718 - 11904: 0xDA7E,
+ 29719 - 11904: 0xFB45,
+ 29721 - 11904: 0x98C8,
+ 29722 - 11904: 0xDAA1,
+ 29723 - 11904: 0xB560,
+ 29724 - 11904: 0x90EF,
+ 29725 - 11904: 0xDAA7,
+ 29726 - 11904: 0x98C9,
+ 29727 - 11904: 0x98CA,
+ 29728 - 11904: 0xDAA9,
+ 29729 - 11904: 0xDAA2,
+ 29730 - 11904: 0xB55A,
+ 29731 - 11904: 0xDAA6,
+ 29732 - 11904: 0xDAA5,
+ 29733 - 11904: 0xB55B,
+ 29734 - 11904: 0xB561,
+ 29736 - 11904: 0xB562,
+ 29737 - 11904: 0xDAA8,
+ 29738 - 11904: 0xB558,
+ 29739 - 11904: 0xDA7D,
+ 29740 - 11904: 0xDA7B,
+ 29741 - 11904: 0xDAA3,
+ 29742 - 11904: 0xDA7A,
+ 29743 - 11904: 0xB55F,
+ 29744 - 11904: 0xDA7C,
+ 29745 - 11904: 0xDAA4,
+ 29746 - 11904: 0xDAAA,
+ 29747 - 11904: 0xB559,
+ 29748 - 11904: 0xB55E,
+ 29749 - 11904: 0xB55C,
+ 29750 - 11904: 0xB55D,
+ 29751 - 11904: 0x946D,
+ 29752 - 11904: 0x94B7,
+ 29753 - 11904: 0xFE6C,
+ 29754 - 11904: 0xB557,
+ 29756 - 11904: 0x946B,
+ 29759 - 11904: 0xB7E9,
+ 29760 - 11904: 0xDEB7,
+ 29761 - 11904: 0xB7E8,
+ 29762 - 11904: 0xDEBB,
+ 29763 - 11904: 0x92FC,
+ 29764 - 11904: 0xDEB1,
+ 29765 - 11904: 0x95EB,
+ 29766 - 11904: 0xDEBC,
+ 29767 - 11904: 0xFE73,
+ 29768 - 11904: 0x976E,
+ 29769 - 11904: 0xFE5F,
+ 29770 - 11904: 0xDEB2,
+ 29771 - 11904: 0xDEB3,
+ 29772 - 11904: 0x87B8,
+ 29773 - 11904: 0xDEBD,
+ 29774 - 11904: 0xDEBA,
+ 29775 - 11904: 0xDEB8,
+ 29776 - 11904: 0xDEB9,
+ 29777 - 11904: 0xDEB5,
+ 29778 - 11904: 0xDEB4,
+ 29779 - 11904: 0xFDBD,
+ 29780 - 11904: 0xDEBE,
+ 29781 - 11904: 0xB7E5,
+ 29782 - 11904: 0x92D5,
+ 29783 - 11904: 0xDEB6,
+ 29785 - 11904: 0xB7EA,
+ 29786 - 11904: 0xB7E4,
+ 29787 - 11904: 0xB7EB,
+ 29788 - 11904: 0xFE6F,
+ 29789 - 11904: 0xFEB9,
+ 29790 - 11904: 0xB7E7,
+ 29791 - 11904: 0xB7E6,
+ 29792 - 11904: 0xFE71,
+ 29793 - 11904: 0x8778,
+ 29794 - 11904: 0xE2CE,
+ 29795 - 11904: 0xBABE,
+ 29796 - 11904: 0xBABD,
+ 29797 - 11904: 0xFBBB,
+ 29799 - 11904: 0xE2D3,
+ 29800 - 11904: 0xA0D5,
+ 29801 - 11904: 0xBCFC,
+ 29802 - 11904: 0xBABF,
+ 29803 - 11904: 0x95FB,
+ 29804 - 11904: 0xFE77,
+ 29805 - 11904: 0xBAC1,
+ 29806 - 11904: 0xE2D4,
+ 29807 - 11904: 0xB7E3,
+ 29808 - 11904: 0xBAC0,
+ 29809 - 11904: 0xE2D0,
+ 29810 - 11904: 0xE2D2,
+ 29811 - 11904: 0xE2CF,
+ 29812 - 11904: 0xFE79,
+ 29813 - 11904: 0xE2D1,
+ 29814 - 11904: 0xFE75,
+ 29817 - 11904: 0xE6AB,
+ 29818 - 11904: 0x945D,
+ 29820 - 11904: 0xE6AA,
+ 29821 - 11904: 0xE6A7,
+ 29822 - 11904: 0xBD40,
+ 29823 - 11904: 0xEA62,
+ 29824 - 11904: 0xBD41,
+ 29825 - 11904: 0xE6A6,
+ 29826 - 11904: 0xFE7C,
+ 29827 - 11904: 0xBCFE,
+ 29829 - 11904: 0xE6A8,
+ 29830 - 11904: 0xE6A5,
+ 29831 - 11904: 0xE6A2,
+ 29832 - 11904: 0xE6A9,
+ 29833 - 11904: 0xE6A3,
+ 29834 - 11904: 0xE6A4,
+ 29835 - 11904: 0xBCFD,
+ 29836 - 11904: 0x9344,
+ 29837 - 11904: 0x8EA6,
+ 29840 - 11904: 0xED69,
+ 29842 - 11904: 0xEA66,
+ 29844 - 11904: 0xEA65,
+ 29845 - 11904: 0xEA67,
+ 29847 - 11904: 0xED66,
+ 29848 - 11904: 0xBF5A,
+ 29849 - 11904: 0x92D3,
+ 29850 - 11904: 0xEA63,
+ 29851 - 11904: 0x94B8,
+ 29852 - 11904: 0xBF58,
+ 29853 - 11904: 0x8779,
+ 29854 - 11904: 0xBF5C,
+ 29855 - 11904: 0xBF5B,
+ 29856 - 11904: 0xEA64,
+ 29857 - 11904: 0xEA68,
+ 29859 - 11904: 0xBF59,
+ 29860 - 11904: 0xFC71,
+ 29861 - 11904: 0xED6D,
+ 29862 - 11904: 0xC0F5,
+ 29863 - 11904: 0xC27A,
+ 29864 - 11904: 0xC0F6,
+ 29865 - 11904: 0xC0F3,
+ 29866 - 11904: 0xED6A,
+ 29867 - 11904: 0xED68,
+ 29869 - 11904: 0xED6B,
+ 29871 - 11904: 0xED6E,
+ 29872 - 11904: 0xC0F4,
+ 29873 - 11904: 0xED6C,
+ 29874 - 11904: 0xED67,
+ 29876 - 11904: 0x975E,
+ 29877 - 11904: 0xF042,
+ 29878 - 11904: 0xF045,
+ 29879 - 11904: 0xF275,
+ 29880 - 11904: 0xF040,
+ 29881 - 11904: 0x8CAD,
+ 29882 - 11904: 0xF46F,
+ 29883 - 11904: 0xF046,
+ 29885 - 11904: 0xC3A2,
+ 29886 - 11904: 0xF044,
+ 29887 - 11904: 0xC27B,
+ 29888 - 11904: 0xF041,
+ 29889 - 11904: 0xF043,
+ 29890 - 11904: 0xF047,
+ 29891 - 11904: 0xF276,
+ 29893 - 11904: 0xF274,
+ 29894 - 11904: 0x87C1,
+ 29896 - 11904: 0xFEA7,
+ 29898 - 11904: 0xC3A3,
+ 29899 - 11904: 0xF273,
+ 29900 - 11904: 0x946A,
+ 29903 - 11904: 0xC46E,
+ 29904 - 11904: 0x93E3,
+ 29907 - 11904: 0x98CF,
+ 29908 - 11904: 0xC4ED,
+ 29909 - 11904: 0xF6F1,
+ 29910 - 11904: 0xC4EC,
+ 29911 - 11904: 0xF6F3,
+ 29912 - 11904: 0xF6F0,
+ 29913 - 11904: 0xF6F2,
+ 29914 - 11904: 0xC5D0,
+ 29915 - 11904: 0xF8B2,
+ 29916 - 11904: 0xA5CA,
+ 29917 - 11904: 0xCD6E,
+ 29918 - 11904: 0xD2BC,
+ 29919 - 11904: 0xD2BD,
+ 29920 - 11904: 0xB27D,
+ 29921 - 11904: 0xDEBF,
+ 29922 - 11904: 0xBF5D,
+ 29923 - 11904: 0xC3A4,
+ 29924 - 11904: 0xC57B,
+ 29925 - 11904: 0xF8B3,
+ 29926 - 11904: 0xA5CB,
+ 29927 - 11904: 0xA0D9,
+ 29928 - 11904: 0xCD6F,
+ 29929 - 11904: 0xFEAA,
+ 29932 - 11904: 0xCFD7,
+ 29934 - 11904: 0xCFD8,
+ 29936 - 11904: 0xA0BF,
+ 29937 - 11904: 0xA04D,
+ 29938 - 11904: 0xA0B8,
+ 29940 - 11904: 0xD2BE,
+ 29941 - 11904: 0xD2BF,
+ 29942 - 11904: 0xB27E,
+ 29943 - 11904: 0xB2A1,
+ 29944 - 11904: 0xA0CE,
+ 29947 - 11904: 0xDAAB,
+ 29949 - 11904: 0xDEC2,
+ 29950 - 11904: 0xDEC1,
+ 29951 - 11904: 0xDEC0,
+ 29952 - 11904: 0xE2D5,
+ 29954 - 11904: 0xE2D6,
+ 29955 - 11904: 0xE2D7,
+ 29956 - 11904: 0xBAC2,
+ 29957 - 11904: 0xA0B7,
+ 29959 - 11904: 0xE6AD,
+ 29960 - 11904: 0xE6AC,
+ 29963 - 11904: 0xEA69,
+ 29964 - 11904: 0xBF5E,
+ 29965 - 11904: 0xBF5F,
+ 29966 - 11904: 0xFEA9,
+ 29967 - 11904: 0xED72,
+ 29968 - 11904: 0xED6F,
+ 29969 - 11904: 0xED70,
+ 29970 - 11904: 0xED71,
+ 29971 - 11904: 0xF049,
+ 29972 - 11904: 0xF048,
+ 29973 - 11904: 0xC27C,
+ 29974 - 11904: 0xF277,
+ 29975 - 11904: 0xF5DE,
+ 29976 - 11904: 0xA5CC,
+ 29977 - 11904: 0x89C3,
+ 29978 - 11904: 0xACC6,
+ 29980 - 11904: 0xB2A2,
+ 29981 - 11904: 0xDEC3,
+ 29982 - 11904: 0xFEAB,
+ 29983 - 11904: 0xA5CD,
+ 29985 - 11904: 0xD2C0,
+ 29986 - 11904: 0xB2A3,
+ 29989 - 11904: 0xB563,
+ 29990 - 11904: 0xB564,
+ 29992 - 11904: 0xA5CE,
+ 29993 - 11904: 0xA5CF,
+ 29994 - 11904: 0xCA46,
+ 29995 - 11904: 0xA86A,
+ 29996 - 11904: 0xA869,
+ 29997 - 11904: 0xACC7,
+ 29998 - 11904: 0xCFD9,
+ 29999 - 11904: 0xDAAC,
+ 30000 - 11904: 0xA5D0,
+ 30001 - 11904: 0xA5D1,
+ 30002 - 11904: 0xA5D2,
+ 30003 - 11904: 0xA5D3,
+ 30004 - 11904: 0x9DF4,
+ 30005 - 11904: 0x896D,
+ 30007 - 11904: 0xA86B,
+ 30008 - 11904: 0xA86C,
+ 30009 - 11904: 0xCB6E,
+ 30010 - 11904: 0xCB6D,
+ 30011 - 11904: 0x9C7B,
+ 30013 - 11904: 0xAAB6,
+ 30014 - 11904: 0xCD72,
+ 30015 - 11904: 0xCD70,
+ 30016 - 11904: 0xCD71,
+ 30018 - 11904: 0x98D2,
+ 30022 - 11904: 0x9FA9,
+ 30023 - 11904: 0xCFDA,
+ 30024 - 11904: 0xCFDB,
+ 30026 - 11904: 0xFEB2,
+ 30027 - 11904: 0xACCB,
+ 30028 - 11904: 0xACC9,
+ 30029 - 11904: 0xFEB1,
+ 30030 - 11904: 0xACCA,
+ 30031 - 11904: 0xACC8,
+ 30033 - 11904: 0x97D9,
+ 30035 - 11904: 0xA0C4,
+ 30036 - 11904: 0xAF60,
+ 30037 - 11904: 0x9476,
+ 30041 - 11904: 0xAF64,
+ 30042 - 11904: 0xAF63,
+ 30043 - 11904: 0xD2C1,
+ 30044 - 11904: 0xAF62,
+ 30045 - 11904: 0xAF61,
+ 30047 - 11904: 0xD2C2,
+ 30048 - 11904: 0x9978,
+ 30050 - 11904: 0xB2A6,
+ 30051 - 11904: 0xD67B,
+ 30052 - 11904: 0xD67A,
+ 30053 - 11904: 0xB2A4,
+ 30054 - 11904: 0xB2A5,
+ 30055 - 11904: 0xFEB3,
+ 30058 - 11904: 0xB566,
+ 30059 - 11904: 0xB565,
+ 30060 - 11904: 0xDAAE,
+ 30061 - 11904: 0x98D3,
+ 30062 - 11904: 0xFEB4,
+ 30063 - 11904: 0xDAAD,
+ 30064 - 11904: 0xB2A7,
+ 30066 - 11904: 0x98D4,
+ 30070 - 11904: 0xB7ED,
+ 30071 - 11904: 0xDEC5,
+ 30072 - 11904: 0xB7EE,
+ 30073 - 11904: 0xDEC4,
+ 30074 - 11904: 0x9FB9,
+ 30077 - 11904: 0xE2D8,
+ 30078 - 11904: 0xE6AE,
+ 30079 - 11904: 0xBD42,
+ 30080 - 11904: 0xEA6A,
+ 30083 - 11904: 0x9471,
+ 30084 - 11904: 0xED73,
+ 30086 - 11904: 0xC3A6,
+ 30087 - 11904: 0xC3A5,
+ 30090 - 11904: 0xC57C,
+ 30091 - 11904: 0xA5D4,
+ 30092 - 11904: 0xCD73,
+ 30093 - 11904: 0x98D5,
+ 30094 - 11904: 0xFEB8,
+ 30095 - 11904: 0xB2A8,
+ 30096 - 11904: 0xE2D9,
+ 30097 - 11904: 0xBAC3,
+ 30098 - 11904: 0xC6D4,
+ 30100 - 11904: 0xCB6F,
+ 30101 - 11904: 0xCB70,
+ 30104 - 11904: 0xCD74,
+ 30105 - 11904: 0xAAB8,
+ 30106 - 11904: 0xAAB9,
+ 30109 - 11904: 0xAAB7,
+ 30110 - 11904: 0xFEBA,
+ 30114 - 11904: 0xACCF,
+ 30115 - 11904: 0xACD0,
+ 30116 - 11904: 0xACCD,
+ 30117 - 11904: 0xACCE,
+ 30119 - 11904: 0xCFDC,
+ 30122 - 11904: 0xCFDD,
+ 30123 - 11904: 0xACCC,
+ 30128 - 11904: 0xD2C3,
+ 30129 - 11904: 0x9E5C,
+ 30130 - 11904: 0xAF68,
+ 30131 - 11904: 0xAF69,
+ 30132 - 11904: 0xFEBB,
+ 30133 - 11904: 0xB2AB,
+ 30134 - 11904: 0xD2C9,
+ 30136 - 11904: 0xAF6E,
+ 30137 - 11904: 0xAF6C,
+ 30138 - 11904: 0xD2CA,
+ 30139 - 11904: 0xD2C5,
+ 30140 - 11904: 0xAF6B,
+ 30141 - 11904: 0xAF6A,
+ 30142 - 11904: 0xAF65,
+ 30143 - 11904: 0xD2C8,
+ 30144 - 11904: 0xD2C7,
+ 30145 - 11904: 0xD2C4,
+ 30146 - 11904: 0xAF6D,
+ 30147 - 11904: 0xA044,
+ 30148 - 11904: 0xD2C6,
+ 30149 - 11904: 0xAF66,
+ 30151 - 11904: 0xAF67,
+ 30152 - 11904: 0x98D7,
+ 30154 - 11904: 0xB2AC,
+ 30155 - 11904: 0xD6A1,
+ 30156 - 11904: 0xD6A2,
+ 30157 - 11904: 0xB2AD,
+ 30158 - 11904: 0xD67C,
+ 30159 - 11904: 0xD67E,
+ 30160 - 11904: 0xD6A4,
+ 30161 - 11904: 0xD6A3,
+ 30162 - 11904: 0xD67D,
+ 30164 - 11904: 0xB2A9,
+ 30165 - 11904: 0xB2AA,
+ 30167 - 11904: 0xDAB6,
+ 30168 - 11904: 0xB56B,
+ 30169 - 11904: 0xB56A,
+ 30170 - 11904: 0xDAB0,
+ 30171 - 11904: 0xB568,
+ 30172 - 11904: 0x98D8,
+ 30173 - 11904: 0xDAB3,
+ 30174 - 11904: 0xB56C,
+ 30175 - 11904: 0xDAB4,
+ 30176 - 11904: 0xB56D,
+ 30177 - 11904: 0xDAB1,
+ 30178 - 11904: 0xB567,
+ 30179 - 11904: 0xB569,
+ 30180 - 11904: 0xDAB5,
+ 30182 - 11904: 0xDAB2,
+ 30183 - 11904: 0xDAAF,
+ 30189 - 11904: 0xDED2,
+ 30191 - 11904: 0xDEC7,
+ 30192 - 11904: 0xB7F0,
+ 30193 - 11904: 0xB7F3,
+ 30194 - 11904: 0xB7F2,
+ 30195 - 11904: 0xB7F7,
+ 30196 - 11904: 0xB7F6,
+ 30197 - 11904: 0xDED3,
+ 30198 - 11904: 0xDED1,
+ 30199 - 11904: 0xDECA,
+ 30200 - 11904: 0xDECE,
+ 30201 - 11904: 0xDECD,
+ 30202 - 11904: 0xB7F4,
+ 30203 - 11904: 0xDED0,
+ 30204 - 11904: 0xDECC,
+ 30205 - 11904: 0xDED4,
+ 30206 - 11904: 0xDECB,
+ 30207 - 11904: 0xB7F5,
+ 30208 - 11904: 0xB7EF,
+ 30209 - 11904: 0xB7F1,
+ 30210 - 11904: 0xFEBC,
+ 30211 - 11904: 0xDEC9,
+ 30215 - 11904: 0x9FFE,
+ 30216 - 11904: 0xE2DB,
+ 30217 - 11904: 0xBAC7,
+ 30218 - 11904: 0xE2DF,
+ 30219 - 11904: 0xBAC6,
+ 30220 - 11904: 0xE2DC,
+ 30221 - 11904: 0xBAC5,
+ 30223 - 11904: 0xDEC8,
+ 30224 - 11904: 0xDECF,
+ 30225 - 11904: 0xE2DE,
+ 30227 - 11904: 0xBAC8,
+ 30228 - 11904: 0xE2E0,
+ 30229 - 11904: 0xE2DD,
+ 30230 - 11904: 0xE2DA,
+ 30233 - 11904: 0xE6B1,
+ 30234 - 11904: 0xE6B5,
+ 30235 - 11904: 0xE6B7,
+ 30236 - 11904: 0xE6B3,
+ 30237 - 11904: 0xE6B2,
+ 30238 - 11904: 0xE6B0,
+ 30239 - 11904: 0xBD45,
+ 30240 - 11904: 0xBD43,
+ 30241 - 11904: 0xBD48,
+ 30242 - 11904: 0xBD49,
+ 30243 - 11904: 0xE6B4,
+ 30244 - 11904: 0xBD46,
+ 30245 - 11904: 0xE6AF,
+ 30246 - 11904: 0xBD47,
+ 30247 - 11904: 0xBAC4,
+ 30248 - 11904: 0xE6B6,
+ 30249 - 11904: 0xBD44,
+ 30252 - 11904: 0xFEBD,
+ 30253 - 11904: 0xEA6C,
+ 30255 - 11904: 0xEA6B,
+ 30256 - 11904: 0xEA73,
+ 30257 - 11904: 0xEA6D,
+ 30258 - 11904: 0xEA72,
+ 30259 - 11904: 0xEA6F,
+ 30260 - 11904: 0xBF60,
+ 30261 - 11904: 0xEA71,
+ 30264 - 11904: 0xBF61,
+ 30266 - 11904: 0xBF62,
+ 30267 - 11904: 0x9DDD,
+ 30268 - 11904: 0xEA70,
+ 30269 - 11904: 0xEA6E,
+ 30272 - 11904: 0x9EE1,
+ 30274 - 11904: 0xC0F8,
+ 30275 - 11904: 0xED74,
+ 30278 - 11904: 0xC0F7,
+ 30279 - 11904: 0xED77,
+ 30280 - 11904: 0xED75,
+ 30281 - 11904: 0xED76,
+ 30284 - 11904: 0xC0F9,
+ 30285 - 11904: 0x98DA,
+ 30286 - 11904: 0x9DDF,
+ 30287 - 11904: 0xFEBF,
+ 30288 - 11904: 0xF04D,
+ 30289 - 11904: 0xFEBE,
+ 30290 - 11904: 0xC2A1,
+ 30291 - 11904: 0xF04E,
+ 30292 - 11904: 0x9EEB,
+ 30294 - 11904: 0xC27D,
+ 30295 - 11904: 0xF04F,
+ 30296 - 11904: 0xC27E,
+ 30297 - 11904: 0xF04C,
+ 30298 - 11904: 0xF050,
+ 30300 - 11904: 0xF04A,
+ 30303 - 11904: 0xC3A7,
+ 30304 - 11904: 0xF278,
+ 30305 - 11904: 0xC3A8,
+ 30306 - 11904: 0xC46F,
+ 30308 - 11904: 0xF04B,
+ 30309 - 11904: 0xC470,
+ 30310 - 11904: 0x9E59,
+ 30311 - 11904: 0xA05C,
+ 30313 - 11904: 0xC4EE,
+ 30314 - 11904: 0xF5DF,
+ 30316 - 11904: 0xC57E,
+ 30317 - 11904: 0xF6F4,
+ 30318 - 11904: 0xC57D,
+ 30319 - 11904: 0xFEC0,
+ 30320 - 11904: 0xF7EA,
+ 30321 - 11904: 0xC5F5,
+ 30322 - 11904: 0xC5F6,
+ 30323 - 11904: 0x9477,
+ 30324 - 11904: 0x98DC,
+ 30325 - 11904: 0xF9CC,
+ 30326 - 11904: 0xFEC1,
+ 30328 - 11904: 0xACD1,
+ 30329 - 11904: 0xCFDE,
+ 30330 - 11904: 0x98DE,
+ 30331 - 11904: 0xB56E,
+ 30332 - 11904: 0xB56F,
+ 30333 - 11904: 0xA5D5,
+ 30334 - 11904: 0xA6CA,
+ 30335 - 11904: 0xCA47,
+ 30337 - 11904: 0xCB71,
+ 30338 - 11904: 0xA86D,
+ 30340 - 11904: 0xAABA,
+ 30342 - 11904: 0xACD2,
+ 30343 - 11904: 0xACD3,
+ 30344 - 11904: 0xACD4,
+ 30345 - 11904: 0xD6A6,
+ 30346 - 11904: 0xD2CB,
+ 30347 - 11904: 0xAF6F,
+ 30350 - 11904: 0xB2AE,
+ 30351 - 11904: 0xD6A5,
+ 30352 - 11904: 0xFEC3,
+ 30354 - 11904: 0xDAB8,
+ 30355 - 11904: 0xB571,
+ 30357 - 11904: 0xDAB7,
+ 30358 - 11904: 0xB570,
+ 30361 - 11904: 0xDED5,
+ 30362 - 11904: 0xBD4A,
+ 30363 - 11904: 0xE6BB,
+ 30364 - 11904: 0xE6B8,
+ 30365 - 11904: 0xE6B9,
+ 30366 - 11904: 0xE6BA,
+ 30369 - 11904: 0xFEC8,
+ 30372 - 11904: 0xED78,
+ 30373 - 11904: 0xFEC9,
+ 30374 - 11904: 0xF051,
+ 30378 - 11904: 0xF471,
+ 30379 - 11904: 0xF470,
+ 30381 - 11904: 0xF6F5,
+ 30382 - 11904: 0xA5D6,
+ 30383 - 11904: 0xCD75,
+ 30384 - 11904: 0xAF70,
+ 30388 - 11904: 0xB572,
+ 30389 - 11904: 0xDED6,
+ 30391 - 11904: 0xFECA,
+ 30392 - 11904: 0xE2E1,
+ 30394 - 11904: 0xBD4B,
+ 30395 - 11904: 0xEA74,
+ 30397 - 11904: 0xF052,
+ 30398 - 11904: 0xF472,
+ 30399 - 11904: 0xA5D7,
+ 30402 - 11904: 0xAABB,
+ 30403 - 11904: 0xACD7,
+ 30404 - 11904: 0xCFDF,
+ 30405 - 11904: 0xACD8,
+ 30406 - 11904: 0xACD6,
+ 30408 - 11904: 0xACD5,
+ 30409 - 11904: 0xD2CC,
+ 30410 - 11904: 0xAF71,
+ 30412 - 11904: 0xFECB,
+ 30413 - 11904: 0xAF72,
+ 30414 - 11904: 0xAF73,
+ 30418 - 11904: 0xB2B0,
+ 30419 - 11904: 0xD6A7,
+ 30420 - 11904: 0xB2AF,
+ 30422 - 11904: 0x9FC2,
+ 30425 - 11904: 0x8C6B,
+ 30426 - 11904: 0xDAB9,
+ 30427 - 11904: 0xB2B1,
+ 30428 - 11904: 0xB573,
+ 30429 - 11904: 0xDED7,
+ 30430 - 11904: 0xB7F8,
+ 30431 - 11904: 0xB7F9,
+ 30433 - 11904: 0xBAC9,
+ 30435 - 11904: 0xBACA,
+ 30436 - 11904: 0xBD4C,
+ 30437 - 11904: 0xBF64,
+ 30438 - 11904: 0xEA75,
+ 30439 - 11904: 0xBF63,
+ 30441 - 11904: 0xED79,
+ 30442 - 11904: 0xC0FA,
+ 30444 - 11904: 0xF053,
+ 30445 - 11904: 0xF473,
+ 30446 - 11904: 0xA5D8,
+ 30447 - 11904: 0xA86E,
+ 30448 - 11904: 0xCD78,
+ 30449 - 11904: 0xCD77,
+ 30450 - 11904: 0xAABC,
+ 30451 - 11904: 0xCD76,
+ 30452 - 11904: 0xAABD,
+ 30453 - 11904: 0xCD79,
+ 30455 - 11904: 0xCFE5,
+ 30456 - 11904: 0xACDB,
+ 30457 - 11904: 0xACDA,
+ 30458 - 11904: 0xCFE7,
+ 30459 - 11904: 0xCFE6,
+ 30460 - 11904: 0xACDF,
+ 30462 - 11904: 0xACDE,
+ 30465 - 11904: 0xACD9,
+ 30467 - 11904: 0xCFE1,
+ 30468 - 11904: 0xCFE2,
+ 30469 - 11904: 0xCFE3,
+ 30471 - 11904: 0xACE0,
+ 30472 - 11904: 0xCFE0,
+ 30473 - 11904: 0xACDC,
+ 30474 - 11904: 0xCFE4,
+ 30475 - 11904: 0xACDD,
+ 30476 - 11904: 0x98C4,
+ 30478 - 11904: 0x94B0,
+ 30479 - 11904: 0x94B1,
+ 30480 - 11904: 0xD2CF,
+ 30481 - 11904: 0xD2D3,
+ 30482 - 11904: 0xD2D1,
+ 30483 - 11904: 0xD2D0,
+ 30485 - 11904: 0xD2D4,
+ 30489 - 11904: 0xD2D5,
+ 30490 - 11904: 0xD2D6,
+ 30491 - 11904: 0xD2CE,
+ 30493 - 11904: 0xD2CD,
+ 30494 - 11904: 0xFED1,
+ 30495 - 11904: 0xAF75,
+ 30496 - 11904: 0xAF76,
+ 30498 - 11904: 0xD2D7,
+ 30499 - 11904: 0xD2D2,
+ 30500 - 11904: 0xA0C1,
+ 30501 - 11904: 0xD6B0,
+ 30502 - 11904: 0xFED2,
+ 30503 - 11904: 0xD2D8,
+ 30504 - 11904: 0xAF77,
+ 30505 - 11904: 0xAF74,
+ 30507 - 11904: 0xA0CD,
+ 30509 - 11904: 0xD6AA,
+ 30511 - 11904: 0xD6A9,
+ 30513 - 11904: 0xD6AB,
+ 30514 - 11904: 0xD6AC,
+ 30515 - 11904: 0xD6AE,
+ 30516 - 11904: 0xD6AD,
+ 30517 - 11904: 0xD6B2,
+ 30518 - 11904: 0xB2B5,
+ 30519 - 11904: 0xB2B2,
+ 30520 - 11904: 0xB2B6,
+ 30521 - 11904: 0xD6A8,
+ 30522 - 11904: 0xB2B7,
+ 30523 - 11904: 0xD6B1,
+ 30524 - 11904: 0xB2B4,
+ 30525 - 11904: 0xD6AF,
+ 30526 - 11904: 0xB2B3,
+ 30528 - 11904: 0xFED3,
+ 30531 - 11904: 0x98E5,
+ 30532 - 11904: 0xDABC,
+ 30533 - 11904: 0xDABE,
+ 30534 - 11904: 0xDABA,
+ 30535 - 11904: 0xDABB,
+ 30538 - 11904: 0xDABF,
+ 30539 - 11904: 0xDAC1,
+ 30540 - 11904: 0xDAC2,
+ 30541 - 11904: 0xDABD,
+ 30542 - 11904: 0xDAC0,
+ 30543 - 11904: 0xB574,
+ 30546 - 11904: 0xDEDB,
+ 30548 - 11904: 0xDEE0,
+ 30549 - 11904: 0xDED8,
+ 30550 - 11904: 0xDEDC,
+ 30552 - 11904: 0xFED6,
+ 30553 - 11904: 0xDEE1,
+ 30554 - 11904: 0xDEDD,
+ 30555 - 11904: 0xB7FA,
+ 30556 - 11904: 0xB843,
+ 30558 - 11904: 0xB7FD,
+ 30559 - 11904: 0xDED9,
+ 30560 - 11904: 0xDEDA,
+ 30561 - 11904: 0xBACE,
+ 30562 - 11904: 0xB846,
+ 30563 - 11904: 0xB7FE,
+ 30565 - 11904: 0xB844,
+ 30566 - 11904: 0xB7FC,
+ 30567 - 11904: 0xDEDF,
+ 30568 - 11904: 0xB845,
+ 30569 - 11904: 0xDEDE,
+ 30570 - 11904: 0xB841,
+ 30571 - 11904: 0xB7FB,
+ 30572 - 11904: 0xB842,
+ 30573 - 11904: 0xDEE2,
+ 30574 - 11904: 0xE2E6,
+ 30575 - 11904: 0xE2E8,
+ 30578 - 11904: 0x91E4,
+ 30583 - 11904: 0x8FC7,
+ 30584 - 11904: 0x94AE,
+ 30585 - 11904: 0xB840,
+ 30586 - 11904: 0x8A4F,
+ 30587 - 11904: 0x94B2,
+ 30588 - 11904: 0xE2E3,
+ 30589 - 11904: 0xBACC,
+ 30590 - 11904: 0xE2E9,
+ 30591 - 11904: 0xBACD,
+ 30592 - 11904: 0xE2E7,
+ 30593 - 11904: 0xE2E2,
+ 30594 - 11904: 0xE2E5,
+ 30595 - 11904: 0xE2EA,
+ 30596 - 11904: 0xBACB,
+ 30597 - 11904: 0xE2E4,
+ 30599 - 11904: 0xBD4E,
+ 30600 - 11904: 0xE6BF,
+ 30601 - 11904: 0xE6BE,
+ 30603 - 11904: 0xBD51,
+ 30604 - 11904: 0xBD4F,
+ 30605 - 11904: 0xE6BC,
+ 30606 - 11904: 0xBD4D,
+ 30607 - 11904: 0xE6BD,
+ 30609 - 11904: 0xBD50,
+ 30611 - 11904: 0x8FD4,
+ 30613 - 11904: 0xEA7D,
+ 30615 - 11904: 0xEAA1,
+ 30616 - 11904: 0x98EA,
+ 30617 - 11904: 0xEA7E,
+ 30618 - 11904: 0xEA76,
+ 30619 - 11904: 0xEA7A,
+ 30620 - 11904: 0xEA79,
+ 30621 - 11904: 0xEA77,
+ 30622 - 11904: 0xBF66,
+ 30623 - 11904: 0xBF67,
+ 30624 - 11904: 0xBF65,
+ 30625 - 11904: 0xEA78,
+ 30626 - 11904: 0xEA7B,
+ 30627 - 11904: 0xEA7C,
+ 30629 - 11904: 0xBF68,
+ 30631 - 11904: 0xC140,
+ 30632 - 11904: 0xEDA3,
+ 30634 - 11904: 0xC0FC,
+ 30635 - 11904: 0xED7B,
+ 30636 - 11904: 0xC0FE,
+ 30637 - 11904: 0xC141,
+ 30639 - 11904: 0xFED8,
+ 30640 - 11904: 0xC0FD,
+ 30641 - 11904: 0xEDA2,
+ 30642 - 11904: 0xED7C,
+ 30643 - 11904: 0xC0FB,
+ 30644 - 11904: 0xEDA1,
+ 30645 - 11904: 0xED7A,
+ 30646 - 11904: 0xED7E,
+ 30647 - 11904: 0xED7D,
+ 30649 - 11904: 0x9DE0,
+ 30650 - 11904: 0xF055,
+ 30651 - 11904: 0xC2A4,
+ 30652 - 11904: 0xC2A5,
+ 30653 - 11904: 0xC2A2,
+ 30654 - 11904: 0x98EE,
+ 30655 - 11904: 0xC2A3,
+ 30658 - 11904: 0xF054,
+ 30659 - 11904: 0x95C4,
+ 30660 - 11904: 0xF27B,
+ 30661 - 11904: 0xFCE8,
+ 30663 - 11904: 0xC3A9,
+ 30665 - 11904: 0xF279,
+ 30666 - 11904: 0xF27A,
+ 30667 - 11904: 0x98EF,
+ 30668 - 11904: 0xF474,
+ 30669 - 11904: 0xF477,
+ 30670 - 11904: 0xF475,
+ 30671 - 11904: 0xF476,
+ 30672 - 11904: 0xF5E0,
+ 30675 - 11904: 0xC4EF,
+ 30676 - 11904: 0xF7EB,
+ 30677 - 11904: 0xF8B4,
+ 30679 - 11904: 0xC5F7,
+ 30680 - 11904: 0xF8F8,
+ 30681 - 11904: 0xF8F9,
+ 30682 - 11904: 0xC666,
+ 30683 - 11904: 0xA5D9,
+ 30684 - 11904: 0xACE1,
+ 30685 - 11904: 0x8C6E,
+ 30686 - 11904: 0xDAC3,
+ 30688 - 11904: 0xDEE3,
+ 30690 - 11904: 0xA5DA,
+ 30691 - 11904: 0xA86F,
+ 30693 - 11904: 0xAABE,
+ 30694 - 11904: 0xFAD8,
+ 30695 - 11904: 0xCFE8,
+ 30696 - 11904: 0xCFE9,
+ 30697 - 11904: 0xAF78,
+ 30700 - 11904: 0xDAC4,
+ 30701 - 11904: 0xB575,
+ 30702 - 11904: 0xB847,
+ 30703 - 11904: 0xC142,
+ 30704 - 11904: 0xEDA4,
+ 30705 - 11904: 0xF27C,
+ 30706 - 11904: 0xF478,
+ 30707 - 11904: 0xA5DB,
+ 30708 - 11904: 0xFEDC,
+ 30711 - 11904: 0xCDA1,
+ 30712 - 11904: 0xCD7A,
+ 30713 - 11904: 0xCD7C,
+ 30714 - 11904: 0xCD7E,
+ 30715 - 11904: 0xCD7D,
+ 30716 - 11904: 0xCD7B,
+ 30717 - 11904: 0xAABF,
+ 30718 - 11904: 0xA0AE,
+ 30722 - 11904: 0xACE2,
+ 30723 - 11904: 0xCFF2,
+ 30725 - 11904: 0xCFED,
+ 30726 - 11904: 0xCFEA,
+ 30728 - 11904: 0x9D4C,
+ 30729 - 11904: 0xFEDD,
+ 30732 - 11904: 0xACE4,
+ 30733 - 11904: 0xACE5,
+ 30734 - 11904: 0xCFF0,
+ 30735 - 11904: 0xCFEF,
+ 30736 - 11904: 0xCFEE,
+ 30737 - 11904: 0xCFEB,
+ 30738 - 11904: 0xCFEC,
+ 30739 - 11904: 0xCFF3,
+ 30740 - 11904: 0xACE3,
+ 30744 - 11904: 0x98F1,
+ 30748 - 11904: 0x98F3,
+ 30749 - 11904: 0xAF7C,
+ 30750 - 11904: 0x94C1,
+ 30751 - 11904: 0xAFA4,
+ 30752 - 11904: 0xAFA3,
+ 30753 - 11904: 0xD2E1,
+ 30754 - 11904: 0xD2DB,
+ 30755 - 11904: 0xD2D9,
+ 30757 - 11904: 0xAFA1,
+ 30758 - 11904: 0xD6B9,
+ 30759 - 11904: 0xAF7A,
+ 30760 - 11904: 0xD2DE,
+ 30761 - 11904: 0xD2E2,
+ 30762 - 11904: 0xD2E4,
+ 30763 - 11904: 0xD2E0,
+ 30764 - 11904: 0xD2DA,
+ 30765 - 11904: 0xAFA2,
+ 30766 - 11904: 0xD2DF,
+ 30767 - 11904: 0xD2DD,
+ 30768 - 11904: 0xAF79,
+ 30769 - 11904: 0xD2E5,
+ 30770 - 11904: 0xAFA5,
+ 30771 - 11904: 0xD2E3,
+ 30772 - 11904: 0xAF7D,
+ 30773 - 11904: 0xD2DC,
+ 30775 - 11904: 0xAF7E,
+ 30776 - 11904: 0xAF7B,
+ 30777 - 11904: 0x98F5,
+ 30780 - 11904: 0xFA4F,
+ 30781 - 11904: 0x96E2,
+ 30786 - 11904: 0x9450,
+ 30787 - 11904: 0xB2B9,
+ 30788 - 11904: 0x96A2,
+ 30789 - 11904: 0xD6BA,
+ 30791 - 11904: 0x98F6,
+ 30792 - 11904: 0xD6B3,
+ 30793 - 11904: 0xD6B5,
+ 30794 - 11904: 0xD6B7,
+ 30795 - 11904: 0x96E5,
+ 30796 - 11904: 0xD6B8,
+ 30797 - 11904: 0xD6B6,
+ 30798 - 11904: 0xB2BA,
+ 30800 - 11904: 0xD6BB,
+ 30801 - 11904: 0x98F7,
+ 30802 - 11904: 0xD6B4,
+ 30803 - 11904: 0xA046,
+ 30804 - 11904: 0x96E3,
+ 30812 - 11904: 0xDAC8,
+ 30813 - 11904: 0xB576,
+ 30814 - 11904: 0xDAD0,
+ 30816 - 11904: 0xDAC5,
+ 30818 - 11904: 0xDAD1,
+ 30820 - 11904: 0xDAC6,
+ 30821 - 11904: 0xDAC7,
+ 30822 - 11904: 0x98F8,
+ 30824 - 11904: 0xDACF,
+ 30825 - 11904: 0xDACE,
+ 30826 - 11904: 0xDACB,
+ 30827 - 11904: 0xB2B8,
+ 30828 - 11904: 0xB577,
+ 30829 - 11904: 0xDAC9,
+ 30830 - 11904: 0xDACC,
+ 30831 - 11904: 0xB578,
+ 30832 - 11904: 0xDACD,
+ 30833 - 11904: 0xDACA,
+ 30841 - 11904: 0xDEEE,
+ 30842 - 11904: 0x9EE4,
+ 30843 - 11904: 0xDEF2,
+ 30844 - 11904: 0xB84E,
+ 30846 - 11904: 0xE2F0,
+ 30847 - 11904: 0xB851,
+ 30848 - 11904: 0xDEF0,
+ 30849 - 11904: 0xF9D6,
+ 30851 - 11904: 0xDEED,
+ 30852 - 11904: 0xDEE8,
+ 30853 - 11904: 0xDEEA,
+ 30854 - 11904: 0xDEEB,
+ 30855 - 11904: 0xDEE4,
+ 30856 - 11904: 0x94C3,
+ 30857 - 11904: 0xB84D,
+ 30860 - 11904: 0xB84C,
+ 30861 - 11904: 0x94C2,
+ 30862 - 11904: 0xB848,
+ 30863 - 11904: 0xDEE7,
+ 30865 - 11904: 0xB84F,
+ 30867 - 11904: 0xB850,
+ 30868 - 11904: 0xDEE6,
+ 30869 - 11904: 0xDEE9,
+ 30870 - 11904: 0xDEF1,
+ 30871 - 11904: 0xB84A,
+ 30872 - 11904: 0xB84B,
+ 30873 - 11904: 0xDEEF,
+ 30874 - 11904: 0xDEE5,
+ 30878 - 11904: 0xE2F2,
+ 30879 - 11904: 0xBAD0,
+ 30880 - 11904: 0xE2F4,
+ 30881 - 11904: 0xDEEC,
+ 30882 - 11904: 0xE2F6,
+ 30883 - 11904: 0xBAD4,
+ 30884 - 11904: 0xE2F7,
+ 30885 - 11904: 0xE2F3,
+ 30887 - 11904: 0xBAD1,
+ 30888 - 11904: 0xE2EF,
+ 30889 - 11904: 0xBAD3,
+ 30890 - 11904: 0xE2EC,
+ 30891 - 11904: 0xE2F1,
+ 30892 - 11904: 0xE2F5,
+ 30893 - 11904: 0xE2EE,
+ 30895 - 11904: 0xFEE1,
+ 30896 - 11904: 0xB849,
+ 30897 - 11904: 0xFEE9,
+ 30898 - 11904: 0xE2EB,
+ 30899 - 11904: 0xBAD2,
+ 30900 - 11904: 0xE2ED,
+ 30902 - 11904: 0x96E4,
+ 30904 - 11904: 0x89AC,
+ 30905 - 11904: 0x96DB,
+ 30906 - 11904: 0xBD54,
+ 30907 - 11904: 0xE6C1,
+ 30908 - 11904: 0xBD58,
+ 30910 - 11904: 0xBD56,
+ 30913 - 11904: 0xBACF,
+ 30915 - 11904: 0xE6C8,
+ 30916 - 11904: 0xE6C9,
+ 30917 - 11904: 0xBD53,
+ 30919 - 11904: 0xFEE2,
+ 30920 - 11904: 0xE6C7,
+ 30921 - 11904: 0xE6CA,
+ 30922 - 11904: 0xBD55,
+ 30923 - 11904: 0xBD52,
+ 30924 - 11904: 0xE6C3,
+ 30925 - 11904: 0xE6C0,
+ 30926 - 11904: 0xE6C5,
+ 30927 - 11904: 0xE6C2,
+ 30928 - 11904: 0xBD59,
+ 30929 - 11904: 0xE6C4,
+ 30930 - 11904: 0x94C4,
+ 30931 - 11904: 0xFEE3,
+ 30932 - 11904: 0xE6C6,
+ 30933 - 11904: 0xBD57,
+ 30935 - 11904: 0xFEE7,
+ 30936 - 11904: 0x9FFB,
+ 30938 - 11904: 0xBF6A,
+ 30939 - 11904: 0xEAA8,
+ 30941 - 11904: 0xEAA2,
+ 30942 - 11904: 0xEAA6,
+ 30943 - 11904: 0xEAAC,
+ 30944 - 11904: 0xEAAD,
+ 30945 - 11904: 0xEAA9,
+ 30946 - 11904: 0xEAAA,
+ 30947 - 11904: 0xEAA7,
+ 30948 - 11904: 0x8C59,
+ 30949 - 11904: 0xEAA4,
+ 30951 - 11904: 0xBF6C,
+ 30952 - 11904: 0xBF69,
+ 30953 - 11904: 0xEAA3,
+ 30954 - 11904: 0xEAA5,
+ 30956 - 11904: 0xBF6B,
+ 30957 - 11904: 0xEAAB,
+ 30958 - 11904: 0x93C9,
+ 30959 - 11904: 0xC146,
+ 30960 - 11904: 0x94E8,
+ 30961 - 11904: 0xFB56,
+ 30962 - 11904: 0xEDAA,
+ 30963 - 11904: 0xEDA5,
+ 30964 - 11904: 0xC145,
+ 30965 - 11904: 0x90C5,
+ 30967 - 11904: 0xC143,
+ 30969 - 11904: 0xEDAC,
+ 30970 - 11904: 0xC144,
+ 30971 - 11904: 0xEDA8,
+ 30972 - 11904: 0xEDA9,
+ 30973 - 11904: 0xEDA6,
+ 30974 - 11904: 0xEDAD,
+ 30975 - 11904: 0xF056,
+ 30977 - 11904: 0xC147,
+ 30978 - 11904: 0xEDA7,
+ 30980 - 11904: 0xEDAE,
+ 30981 - 11904: 0xEDAB,
+ 30982 - 11904: 0xA0A8,
+ 30985 - 11904: 0xF05A,
+ 30988 - 11904: 0xF057,
+ 30990 - 11904: 0xC2A6,
+ 30992 - 11904: 0xF05B,
+ 30993 - 11904: 0xF05D,
+ 30994 - 11904: 0xF05C,
+ 30995 - 11904: 0xF058,
+ 30996 - 11904: 0xF059,
+ 30999 - 11904: 0xF2A3,
+ 31001 - 11904: 0xC3AA,
+ 31003 - 11904: 0xF27E,
+ 31004 - 11904: 0xF2A2,
+ 31005 - 11904: 0xF27D,
+ 31006 - 11904: 0xF2A4,
+ 31009 - 11904: 0xF2A1,
+ 31011 - 11904: 0xF47A,
+ 31012 - 11904: 0xF47D,
+ 31013 - 11904: 0xF479,
+ 31014 - 11904: 0xC471,
+ 31015 - 11904: 0xF47B,
+ 31016 - 11904: 0xF47C,
+ 31017 - 11904: 0xF47E,
+ 31018 - 11904: 0xC472,
+ 31019 - 11904: 0xC474,
+ 31020 - 11904: 0xC473,
+ 31021 - 11904: 0xF5E1,
+ 31022 - 11904: 0xFEE5,
+ 31023 - 11904: 0xF5E3,
+ 31025 - 11904: 0xF5E2,
+ 31026 - 11904: 0x98FD,
+ 31027 - 11904: 0x98FB,
+ 31028 - 11904: 0xFEE8,
+ 31029 - 11904: 0xF6F6,
+ 31030 - 11904: 0x8EBF,
+ 31032 - 11904: 0xF8B5,
+ 31033 - 11904: 0xF8FA,
+ 31034 - 11904: 0xA5DC,
+ 31035 - 11904: 0x8BD8,
+ 31036 - 11904: 0xFEF7,
+ 31037 - 11904: 0xCB72,
+ 31038 - 11904: 0xAAC0,
+ 31039 - 11904: 0xCDA3,
+ 31040 - 11904: 0xAAC1,
+ 31041 - 11904: 0xAAC2,
+ 31042 - 11904: 0xCDA2,
+ 31044 - 11904: 0xCFF8,
+ 31045 - 11904: 0xCFF7,
+ 31046 - 11904: 0xACE6,
+ 31047 - 11904: 0xACE9,
+ 31048 - 11904: 0xACE8,
+ 31049 - 11904: 0xACE7,
+ 31050 - 11904: 0xCFF4,
+ 31051 - 11904: 0xCFF6,
+ 31052 - 11904: 0xCFF5,
+ 31055 - 11904: 0xD2E8,
+ 31056 - 11904: 0xAFA7,
+ 31057 - 11904: 0xD2EC,
+ 31058 - 11904: 0xD2EB,
+ 31059 - 11904: 0xD2EA,
+ 31060 - 11904: 0xD2E6,
+ 31061 - 11904: 0xAFA6,
+ 31062 - 11904: 0xAFAA,
+ 31063 - 11904: 0xAFAD,
+ 31064 - 11904: 0x8F68,
+ 31065 - 11904: 0x94C6,
+ 31066 - 11904: 0xAFAE,
+ 31067 - 11904: 0xD2E7,
+ 31068 - 11904: 0xD2E9,
+ 31069 - 11904: 0xAFAC,
+ 31070 - 11904: 0xAFAB,
+ 31071 - 11904: 0xAFA9,
+ 31072 - 11904: 0xAFA8,
+ 31073 - 11904: 0xD6C2,
+ 31074 - 11904: 0x9DEA,
+ 31075 - 11904: 0xD6C0,
+ 31076 - 11904: 0xD6BC,
+ 31077 - 11904: 0xB2BB,
+ 31079 - 11904: 0xD6BD,
+ 31080 - 11904: 0xB2BC,
+ 31081 - 11904: 0xD6BE,
+ 31082 - 11904: 0xD6BF,
+ 31083 - 11904: 0xD6C1,
+ 31085 - 11904: 0xB2BD,
+ 31088 - 11904: 0xDAD5,
+ 31089 - 11904: 0xFC69,
+ 31090 - 11904: 0xDAD4,
+ 31091 - 11904: 0xDAD3,
+ 31092 - 11904: 0xDAD2,
+ 31097 - 11904: 0xDEF6,
+ 31098 - 11904: 0xB852,
+ 31100 - 11904: 0xDEF3,
+ 31101 - 11904: 0xDEF5,
+ 31102 - 11904: 0x9CDA,
+ 31103 - 11904: 0xB853,
+ 31104 - 11904: 0xFEF3,
+ 31105 - 11904: 0xB854,
+ 31106 - 11904: 0xDEF4,
+ 31107 - 11904: 0x9C72,
+ 31110 - 11904: 0xFEF0,
+ 31111 - 11904: 0x89C9,
+ 31112 - 11904: 0xE341,
+ 31114 - 11904: 0xE2F9,
+ 31115 - 11904: 0xE2FA,
+ 31117 - 11904: 0xBAD7,
+ 31118 - 11904: 0xBAD5,
+ 31119 - 11904: 0xBAD6,
+ 31120 - 11904: 0xE343,
+ 31121 - 11904: 0x9941,
+ 31122 - 11904: 0xE342,
+ 31123 - 11904: 0xE2FE,
+ 31124 - 11904: 0xE2FD,
+ 31125 - 11904: 0xE2FC,
+ 31126 - 11904: 0xE2FB,
+ 31127 - 11904: 0xE340,
+ 31128 - 11904: 0xE2F8,
+ 31129 - 11904: 0x9942,
+ 31130 - 11904: 0xE6CB,
+ 31131 - 11904: 0xE6D0,
+ 31132 - 11904: 0xE6CE,
+ 31133 - 11904: 0xFEF5,
+ 31135 - 11904: 0x91D7,
+ 31136 - 11904: 0xE6CD,
+ 31137 - 11904: 0xE6CC,
+ 31138 - 11904: 0xE6CF,
+ 31140 - 11904: 0xEAAE,
+ 31141 - 11904: 0x94CC,
+ 31142 - 11904: 0xBF6D,
+ 31143 - 11904: 0xC148,
+ 31144 - 11904: 0xEDB0,
+ 31145 - 11904: 0xFEF8,
+ 31146 - 11904: 0xC149,
+ 31147 - 11904: 0xEDAF,
+ 31148 - 11904: 0xF05F,
+ 31149 - 11904: 0xF05E,
+ 31150 - 11904: 0xC2A7,
+ 31152 - 11904: 0xF2A5,
+ 31153 - 11904: 0xC3AB,
+ 31154 - 11904: 0xF4A1,
+ 31155 - 11904: 0xC5A1,
+ 31156 - 11904: 0xF6F7,
+ 31158 - 11904: 0xF8B7,
+ 31159 - 11904: 0xF8B6,
+ 31160 - 11904: 0xC9A8,
+ 31161 - 11904: 0xACEA,
+ 31162 - 11904: 0xACEB,
+ 31163 - 11904: 0xD6C3,
+ 31165 - 11904: 0xB856,
+ 31166 - 11904: 0xA5DD,
+ 31167 - 11904: 0xA872,
+ 31168 - 11904: 0xA871,
+ 31169 - 11904: 0xA870,
+ 31172 - 11904: 0x97A8,
+ 31173 - 11904: 0xCDA4,
+ 31174 - 11904: 0xFEFC,
+ 31176 - 11904: 0xAAC4,
+ 31177 - 11904: 0xAAC3,
+ 31178 - 11904: 0x8CDE,
+ 31179 - 11904: 0xACEE,
+ 31180 - 11904: 0xFDBF,
+ 31181 - 11904: 0xCFFA,
+ 31182 - 11904: 0xCFFD,
+ 31183 - 11904: 0xCFFB,
+ 31184 - 11904: 0x87B3,
+ 31185 - 11904: 0xACEC,
+ 31186 - 11904: 0xACED,
+ 31188 - 11904: 0xFEFE,
+ 31189 - 11904: 0xCFF9,
+ 31190 - 11904: 0xCFFC,
+ 31192 - 11904: 0xAFB5,
+ 31196 - 11904: 0xD2F3,
+ 31197 - 11904: 0xD2F5,
+ 31198 - 11904: 0xD2F4,
+ 31199 - 11904: 0xAFB2,
+ 31200 - 11904: 0xD2EF,
+ 31202 - 11904: 0x96D1,
+ 31203 - 11904: 0xAFB0,
+ 31204 - 11904: 0xAFAF,
+ 31206 - 11904: 0xAFB3,
+ 31207 - 11904: 0xAFB1,
+ 31209 - 11904: 0xAFB4,
+ 31210 - 11904: 0xD2F2,
+ 31211 - 11904: 0xD2ED,
+ 31212 - 11904: 0xD2EE,
+ 31213 - 11904: 0xD2F1,
+ 31214 - 11904: 0xD2F0,
+ 31217 - 11904: 0x94D5,
+ 31220 - 11904: 0x94D0,
+ 31222 - 11904: 0xD6C6,
+ 31223 - 11904: 0xD6C7,
+ 31224 - 11904: 0xD6C5,
+ 31226 - 11904: 0xD6C4,
+ 31227 - 11904: 0xB2BE,
+ 31232 - 11904: 0xB57D,
+ 31234 - 11904: 0xDAD6,
+ 31235 - 11904: 0xDAD8,
+ 31236 - 11904: 0xDADA,
+ 31237 - 11904: 0xB57C,
+ 31238 - 11904: 0x9944,
+ 31240 - 11904: 0xB57A,
+ 31242 - 11904: 0xDAD7,
+ 31243 - 11904: 0xB57B,
+ 31244 - 11904: 0xDAD9,
+ 31245 - 11904: 0xB579,
+ 31248 - 11904: 0xDF41,
+ 31249 - 11904: 0xDEF7,
+ 31250 - 11904: 0xDEFA,
+ 31251 - 11904: 0xDEFE,
+ 31252 - 11904: 0xB85A,
+ 31253 - 11904: 0xDEFC,
+ 31255 - 11904: 0xDEFB,
+ 31256 - 11904: 0xDEF8,
+ 31257 - 11904: 0xDEF9,
+ 31258 - 11904: 0xB858,
+ 31259 - 11904: 0xDF40,
+ 31260 - 11904: 0xB857,
+ 31262 - 11904: 0xB85C,
+ 31263 - 11904: 0xB85B,
+ 31264 - 11904: 0xB859,
+ 31266 - 11904: 0xDEFD,
+ 31270 - 11904: 0xE349,
+ 31272 - 11904: 0xE348,
+ 31274 - 11904: 0x8C63,
+ 31275 - 11904: 0xE344,
+ 31276 - 11904: 0x87BB,
+ 31277 - 11904: 0xA0B3,
+ 31278 - 11904: 0xBAD8,
+ 31279 - 11904: 0xE347,
+ 31280 - 11904: 0xE346,
+ 31281 - 11904: 0xBAD9,
+ 31282 - 11904: 0x87B4,
+ 31287 - 11904: 0xBD5E,
+ 31289 - 11904: 0xE6D2,
+ 31290 - 11904: 0x94CF,
+ 31291 - 11904: 0xBD5F,
+ 31292 - 11904: 0xBD5B,
+ 31293 - 11904: 0xBD5D,
+ 31294 - 11904: 0x9FFA,
+ 31295 - 11904: 0xBD5A,
+ 31296 - 11904: 0xBD5C,
+ 31299 - 11904: 0x91E5,
+ 31300 - 11904: 0xEAAF,
+ 31301 - 11904: 0x9C6A,
+ 31302 - 11904: 0xBF70,
+ 31303 - 11904: 0xEAB1,
+ 31304 - 11904: 0xEAB0,
+ 31305 - 11904: 0x8E49,
+ 31306 - 11904: 0xE345,
+ 31307 - 11904: 0xBF72,
+ 31308 - 11904: 0xBF71,
+ 31309 - 11904: 0xBF6E,
+ 31310 - 11904: 0xBF6F,
+ 31316 - 11904: 0xEDB5,
+ 31318 - 11904: 0xEDB3,
+ 31319 - 11904: 0xC14A,
+ 31320 - 11904: 0xEDB4,
+ 31322 - 11904: 0xEDB6,
+ 31323 - 11904: 0xEDB2,
+ 31324 - 11904: 0xEDB1,
+ 31327 - 11904: 0xF060,
+ 31328 - 11904: 0xC2AA,
+ 31329 - 11904: 0xC2A8,
+ 31330 - 11904: 0xC2A9,
+ 31333 - 11904: 0x8E4C,
+ 31335 - 11904: 0xF2A6,
+ 31336 - 11904: 0xF2A7,
+ 31337 - 11904: 0xC3AD,
+ 31339 - 11904: 0xC3AC,
+ 31340 - 11904: 0xF4A3,
+ 31341 - 11904: 0xF4A4,
+ 31342 - 11904: 0xF4A2,
+ 31344 - 11904: 0xF6F8,
+ 31345 - 11904: 0xF6F9,
+ 31346 - 11904: 0x87C9,
+ 31348 - 11904: 0xA5DE,
+ 31349 - 11904: 0xCA48,
+ 31350 - 11904: 0xA873,
+ 31352 - 11904: 0xCDA5,
+ 31353 - 11904: 0xAAC6,
+ 31354 - 11904: 0xAAC5,
+ 31355 - 11904: 0xCDA6,
+ 31357 - 11904: 0x8E4D,
+ 31358 - 11904: 0xD040,
+ 31359 - 11904: 0xACEF,
+ 31360 - 11904: 0xCFFE,
+ 31361 - 11904: 0xACF0,
+ 31363 - 11904: 0x9A73,
+ 31364 - 11904: 0xAFB6,
+ 31365 - 11904: 0xD2F8,
+ 31366 - 11904: 0xD2F6,
+ 31367 - 11904: 0xD2FC,
+ 31368 - 11904: 0xAFB7,
+ 31369 - 11904: 0xD2F7,
+ 31370 - 11904: 0xD2FB,
+ 31371 - 11904: 0xD2F9,
+ 31372 - 11904: 0xD2FA,
+ 31375 - 11904: 0xD6C8,
+ 31376 - 11904: 0xD6CA,
+ 31377 - 11904: 0x9947,
+ 31378 - 11904: 0xB2BF,
+ 31379 - 11904: 0x8CB1,
+ 31380 - 11904: 0xD6C9,
+ 31381 - 11904: 0xB2C0,
+ 31382 - 11904: 0xB5A2,
+ 31383 - 11904: 0xB5A1,
+ 31384 - 11904: 0xB57E,
+ 31385 - 11904: 0xDADB,
+ 31390 - 11904: 0xDF44,
+ 31391 - 11904: 0xB85D,
+ 31392 - 11904: 0xB85E,
+ 31394 - 11904: 0xDF43,
+ 31395 - 11904: 0xDF42,
+ 31400 - 11904: 0xE34A,
+ 31401 - 11904: 0xBADB,
+ 31402 - 11904: 0xBADA,
+ 31403 - 11904: 0xE34B,
+ 31404 - 11904: 0xE34C,
+ 31406 - 11904: 0xBD61,
+ 31407 - 11904: 0xBD60,
+ 31408 - 11904: 0x8E50,
+ 31409 - 11904: 0xEAB5,
+ 31410 - 11904: 0xE6D3,
+ 31411 - 11904: 0xE6D5,
+ 31412 - 11904: 0xE6D4,
+ 31413 - 11904: 0xEAB4,
+ 31414 - 11904: 0xEAB2,
+ 31415 - 11904: 0xEAB6,
+ 31416 - 11904: 0xEAB3,
+ 31418 - 11904: 0xBF73,
+ 31419 - 11904: 0x8E4F,
+ 31420 - 11904: 0x9949,
+ 31422 - 11904: 0xEDB7,
+ 31423 - 11904: 0xC14B,
+ 31424 - 11904: 0xEDB8,
+ 31425 - 11904: 0xEDB9,
+ 31426 - 11904: 0x8E51,
+ 31427 - 11904: 0x8E52,
+ 31428 - 11904: 0xC2AB,
+ 31429 - 11904: 0xC2AC,
+ 31431 - 11904: 0xC475,
+ 31432 - 11904: 0x9AB2,
+ 31433 - 11904: 0x89A5,
+ 31434 - 11904: 0xC5D1,
+ 31435 - 11904: 0xA5DF,
+ 31439 - 11904: 0x994C,
+ 31441 - 11904: 0xD041,
+ 31443 - 11904: 0x9FF8,
+ 31448 - 11904: 0xD2FD,
+ 31449 - 11904: 0xAFB8,
+ 31450 - 11904: 0x8E56,
+ 31451 - 11904: 0x994D,
+ 31452 - 11904: 0x91CA,
+ 31453 - 11904: 0x8E57,
+ 31455 - 11904: 0xB3BA,
+ 31456 - 11904: 0xB3B9,
+ 31458 - 11904: 0x94E1,
+ 31459 - 11904: 0xB5A4,
+ 31460 - 11904: 0xDADD,
+ 31461 - 11904: 0xB5A3,
+ 31462 - 11904: 0xDADC,
+ 31463 - 11904: 0x9047,
+ 31465 - 11904: 0x8FD8,
+ 31466 - 11904: 0x8E58,
+ 31467 - 11904: 0xDF45,
+ 31469 - 11904: 0xBADC,
+ 31470 - 11904: 0xE34D,
+ 31471 - 11904: 0xBADD,
+ 31478 - 11904: 0xC476,
+ 31479 - 11904: 0xF4A5,
+ 31481 - 11904: 0xA6CB,
+ 31482 - 11904: 0xAAC7,
+ 31483 - 11904: 0xCDA7,
+ 31484 - 11904: 0x87A3,
+ 31485 - 11904: 0xACF2,
+ 31486 - 11904: 0x94EB,
+ 31487 - 11904: 0xACF1,
+ 31488 - 11904: 0xD042,
+ 31489 - 11904: 0xD043,
+ 31492 - 11904: 0xD340,
+ 31493 - 11904: 0xD342,
+ 31494 - 11904: 0xAFB9,
+ 31496 - 11904: 0xD344,
+ 31497 - 11904: 0xD347,
+ 31498 - 11904: 0xD345,
+ 31499 - 11904: 0x8E5C,
+ 31500 - 11904: 0x9553,
+ 31502 - 11904: 0xD346,
+ 31503 - 11904: 0xD343,
+ 31504 - 11904: 0xD2FE,
+ 31505 - 11904: 0xAFBA,
+ 31506 - 11904: 0xD348,
+ 31507 - 11904: 0xD341,
+ 31508 - 11904: 0x9FE5,
+ 31512 - 11904: 0xD6D3,
+ 31513 - 11904: 0xB2C6,
+ 31514 - 11904: 0xD6DC,
+ 31515 - 11904: 0xB2C3,
+ 31517 - 11904: 0xD6D5,
+ 31518 - 11904: 0xB2C7,
+ 31519 - 11904: 0x9F56,
+ 31520 - 11904: 0xB2C1,
+ 31522 - 11904: 0xD6D0,
+ 31523 - 11904: 0xD6DD,
+ 31524 - 11904: 0xD6D1,
+ 31525 - 11904: 0xD6CE,
+ 31526 - 11904: 0xB2C5,
+ 31527 - 11904: 0x954F,
+ 31528 - 11904: 0xB2C2,
+ 31529 - 11904: 0x8E5E,
+ 31530 - 11904: 0xD6D4,
+ 31531 - 11904: 0xD6D7,
+ 31532 - 11904: 0xB2C4,
+ 31533 - 11904: 0xD6D8,
+ 31534 - 11904: 0xB2C8,
+ 31535 - 11904: 0xD6D9,
+ 31536 - 11904: 0xD6CF,
+ 31537 - 11904: 0xD6D6,
+ 31538 - 11904: 0xD6DA,
+ 31539 - 11904: 0xD6D2,
+ 31540 - 11904: 0xD6CD,
+ 31541 - 11904: 0xD6CB,
+ 31544 - 11904: 0xD6DB,
+ 31545 - 11904: 0x996A,
+ 31547 - 11904: 0xDADF,
+ 31552 - 11904: 0xDAE4,
+ 31554 - 11904: 0x9C64,
+ 31555 - 11904: 0x9CD9,
+ 31556 - 11904: 0xDAE0,
+ 31557 - 11904: 0xDAE6,
+ 31558 - 11904: 0xB5A7,
+ 31559 - 11904: 0xD6CC,
+ 31560 - 11904: 0xDAE1,
+ 31561 - 11904: 0xB5A5,
+ 31562 - 11904: 0xDADE,
+ 31563 - 11904: 0xB5AC,
+ 31564 - 11904: 0xDAE2,
+ 31565 - 11904: 0xB5AB,
+ 31566 - 11904: 0xDAE3,
+ 31567 - 11904: 0xB5AD,
+ 31568 - 11904: 0xB5A8,
+ 31569 - 11904: 0xB5AE,
+ 31570 - 11904: 0xB5A9,
+ 31572 - 11904: 0xB5AA,
+ 31573 - 11904: 0x8E5D,
+ 31574 - 11904: 0xB5A6,
+ 31576 - 11904: 0xDAE5,
+ 31584 - 11904: 0xB861,
+ 31585 - 11904: 0xDF50,
+ 31586 - 11904: 0x9950,
+ 31587 - 11904: 0xDF53,
+ 31588 - 11904: 0xDF47,
+ 31589 - 11904: 0xDF4C,
+ 31590 - 11904: 0xDF46,
+ 31591 - 11904: 0xB863,
+ 31593 - 11904: 0xDF4A,
+ 31596 - 11904: 0x9951,
+ 31597 - 11904: 0xDF48,
+ 31598 - 11904: 0xB862,
+ 31599 - 11904: 0x8E62,
+ 31600 - 11904: 0xDF4F,
+ 31601 - 11904: 0xDF4E,
+ 31602 - 11904: 0xDF4B,
+ 31603 - 11904: 0xDF4D,
+ 31604 - 11904: 0xDF49,
+ 31605 - 11904: 0xBAE1,
+ 31606 - 11904: 0xDF52,
+ 31607 - 11904: 0xB85F,
+ 31608 - 11904: 0xDF51,
+ 31611 - 11904: 0x9952,
+ 31618 - 11904: 0xE35D,
+ 31620 - 11904: 0xBAE8,
+ 31621 - 11904: 0xE358,
+ 31623 - 11904: 0xBAE7,
+ 31624 - 11904: 0xE34E,
+ 31626 - 11904: 0xE350,
+ 31627 - 11904: 0xBAE0,
+ 31628 - 11904: 0xE355,
+ 31629 - 11904: 0xE354,
+ 31630 - 11904: 0xE357,
+ 31631 - 11904: 0xBAE5,
+ 31632 - 11904: 0xE352,
+ 31633 - 11904: 0xE351,
+ 31634 - 11904: 0x8E68,
+ 31636 - 11904: 0xBAE4,
+ 31637 - 11904: 0xBADF,
+ 31638 - 11904: 0xE353,
+ 31639 - 11904: 0xBAE2,
+ 31640 - 11904: 0xE359,
+ 31641 - 11904: 0xE35B,
+ 31643 - 11904: 0xE356,
+ 31644 - 11904: 0xE34F,
+ 31645 - 11904: 0xBAE3,
+ 31648 - 11904: 0xBD69,
+ 31649 - 11904: 0xBADE,
+ 31650 - 11904: 0x8E61,
+ 31651 - 11904: 0x9F59,
+ 31652 - 11904: 0xE35C,
+ 31660 - 11904: 0xE6D9,
+ 31661 - 11904: 0xBD62,
+ 31662 - 11904: 0x87D0,
+ 31663 - 11904: 0xE6DB,
+ 31665 - 11904: 0xBD63,
+ 31666 - 11904: 0x8BB3,
+ 31668 - 11904: 0xBD65,
+ 31669 - 11904: 0xE6DE,
+ 31671 - 11904: 0xE6D6,
+ 31672 - 11904: 0xBAE6,
+ 31673 - 11904: 0xE6DC,
+ 31678 - 11904: 0xE6D8,
+ 31680 - 11904: 0xB860,
+ 31681 - 11904: 0xBD68,
+ 31684 - 11904: 0xBD64,
+ 31685 - 11904: 0x87B9,
+ 31686 - 11904: 0xBD66,
+ 31687 - 11904: 0xBD67,
+ 31689 - 11904: 0xBF76,
+ 31690 - 11904: 0xE6DD,
+ 31691 - 11904: 0xE6D7,
+ 31692 - 11904: 0xBD6A,
+ 31694 - 11904: 0xE6DA,
+ 31695 - 11904: 0x9F5D,
+ 31696 - 11904: 0x8E66,
+ 31700 - 11904: 0xEAC0,
+ 31701 - 11904: 0xEABB,
+ 31704 - 11904: 0xEAC5,
+ 31705 - 11904: 0xBF74,
+ 31706 - 11904: 0xEABD,
+ 31707 - 11904: 0xBF78,
+ 31708 - 11904: 0xEAC3,
+ 31709 - 11904: 0xEABA,
+ 31710 - 11904: 0xEAB7,
+ 31711 - 11904: 0xEAC6,
+ 31712 - 11904: 0xC151,
+ 31713 - 11904: 0xBF79,
+ 31714 - 11904: 0xEAC2,
+ 31715 - 11904: 0xEAB8,
+ 31716 - 11904: 0xBF77,
+ 31717 - 11904: 0xEABC,
+ 31718 - 11904: 0xBF7B,
+ 31719 - 11904: 0xEAB9,
+ 31720 - 11904: 0xEABE,
+ 31721 - 11904: 0xBF7A,
+ 31722 - 11904: 0xEAC1,
+ 31723 - 11904: 0xEAC4,
+ 31724 - 11904: 0x8CB2,
+ 31728 - 11904: 0xEDCB,
+ 31729 - 11904: 0xEDCC,
+ 31730 - 11904: 0xEDBC,
+ 31731 - 11904: 0xEDC3,
+ 31732 - 11904: 0xEDC1,
+ 31735 - 11904: 0xC14F,
+ 31736 - 11904: 0xEDC8,
+ 31737 - 11904: 0xEABF,
+ 31738 - 11904: 0x8E6E,
+ 31739 - 11904: 0xEDBF,
+ 31740 - 11904: 0x9F64,
+ 31741 - 11904: 0xEDC9,
+ 31742 - 11904: 0xC14E,
+ 31743 - 11904: 0xEDBE,
+ 31744 - 11904: 0xEDBD,
+ 31745 - 11904: 0xEDC7,
+ 31746 - 11904: 0xEDC4,
+ 31747 - 11904: 0xEDC6,
+ 31749 - 11904: 0xEDBA,
+ 31750 - 11904: 0xEDCA,
+ 31751 - 11904: 0xC14C,
+ 31753 - 11904: 0xEDC5,
+ 31754 - 11904: 0xEDCE,
+ 31755 - 11904: 0xEDC2,
+ 31756 - 11904: 0xC150,
+ 31757 - 11904: 0xC14D,
+ 31758 - 11904: 0xEDC0,
+ 31759 - 11904: 0xEDBB,
+ 31760 - 11904: 0xEDCD,
+ 31761 - 11904: 0xBF75,
+ 31762 - 11904: 0x9953,
+ 31765 - 11904: 0xFAB8,
+ 31769 - 11904: 0xF063,
+ 31771 - 11904: 0x9954,
+ 31772 - 11904: 0xF061,
+ 31773 - 11904: 0xF067,
+ 31774 - 11904: 0xC2B0,
+ 31775 - 11904: 0xF065,
+ 31776 - 11904: 0xF064,
+ 31777 - 11904: 0xC2B2,
+ 31778 - 11904: 0xF06A,
+ 31779 - 11904: 0xC2B1,
+ 31781 - 11904: 0xF06B,
+ 31782 - 11904: 0xF068,
+ 31783 - 11904: 0xC2AE,
+ 31784 - 11904: 0xF069,
+ 31785 - 11904: 0xF062,
+ 31786 - 11904: 0xC2AF,
+ 31787 - 11904: 0xC2AD,
+ 31788 - 11904: 0xF2AB,
+ 31789 - 11904: 0xF066,
+ 31792 - 11904: 0xF06C,
+ 31795 - 11904: 0xF2A8,
+ 31797 - 11904: 0x8E70,
+ 31799 - 11904: 0xC3B2,
+ 31800 - 11904: 0xC3B0,
+ 31801 - 11904: 0xF2AA,
+ 31803 - 11904: 0xF2AC,
+ 31804 - 11904: 0xF2A9,
+ 31805 - 11904: 0xC3B1,
+ 31806 - 11904: 0xC3AE,
+ 31807 - 11904: 0xC3AF,
+ 31808 - 11904: 0xC3B3,
+ 31810 - 11904: 0x9F61,
+ 31811 - 11904: 0xC478,
+ 31812 - 11904: 0x8E72,
+ 31813 - 11904: 0xF4AA,
+ 31815 - 11904: 0xF4A9,
+ 31816 - 11904: 0xF4A7,
+ 31817 - 11904: 0xF4A6,
+ 31818 - 11904: 0xF4A8,
+ 31820 - 11904: 0xC477,
+ 31821 - 11904: 0xC479,
+ 31824 - 11904: 0xC4F0,
+ 31825 - 11904: 0xA06B,
+ 31827 - 11904: 0xF5E5,
+ 31828 - 11904: 0xF5E4,
+ 31830 - 11904: 0x9F40,
+ 31831 - 11904: 0xF6FA,
+ 31833 - 11904: 0xF6FC,
+ 31834 - 11904: 0xF6FE,
+ 31835 - 11904: 0xF6FD,
+ 31836 - 11904: 0xF6FB,
+ 31837 - 11904: 0x94ED,
+ 31839 - 11904: 0xC5A3,
+ 31840 - 11904: 0xC5A2,
+ 31843 - 11904: 0xC5D3,
+ 31844 - 11904: 0xC5D2,
+ 31845 - 11904: 0xC5D4,
+ 31846 - 11904: 0xF7ED,
+ 31847 - 11904: 0xF7EC,
+ 31849 - 11904: 0xF8FB,
+ 31850 - 11904: 0xF8B8,
+ 31851 - 11904: 0xF8FC,
+ 31852 - 11904: 0xC658,
+ 31853 - 11904: 0x94EE,
+ 31854 - 11904: 0xC659,
+ 31855 - 11904: 0xF96D,
+ 31856 - 11904: 0x9FBD,
+ 31858 - 11904: 0xC67E,
+ 31859 - 11904: 0xA6CC,
+ 31860 - 11904: 0x8E7B,
+ 31861 - 11904: 0xCDA8,
+ 31864 - 11904: 0xD045,
+ 31865 - 11904: 0xD046,
+ 31866 - 11904: 0xD044,
+ 31867 - 11904: 0x9957,
+ 31868 - 11904: 0x94F7,
+ 31869 - 11904: 0xACF3,
+ 31870 - 11904: 0x9F5F,
+ 31871 - 11904: 0xD047,
+ 31872 - 11904: 0xD048,
+ 31873 - 11904: 0xD049,
+ 31875 - 11904: 0x8E73,
+ 31876 - 11904: 0xD349,
+ 31877 - 11904: 0xD34F,
+ 31878 - 11904: 0x9F62,
+ 31880 - 11904: 0xD34D,
+ 31881 - 11904: 0xAFBB,
+ 31882 - 11904: 0xD34B,
+ 31884 - 11904: 0xD34C,
+ 31885 - 11904: 0xD34E,
+ 31886 - 11904: 0x94F6,
+ 31889 - 11904: 0xD34A,
+ 31890 - 11904: 0xB2C9,
+ 31892 - 11904: 0xD6DE,
+ 31893 - 11904: 0xB2CB,
+ 31894 - 11904: 0xD6E0,
+ 31895 - 11904: 0xB2CA,
+ 31896 - 11904: 0xD6DF,
+ 31900 - 11904: 0x9958,
+ 31902 - 11904: 0xDAE8,
+ 31903 - 11904: 0xB5AF,
+ 31905 - 11904: 0xDAEA,
+ 31906 - 11904: 0xDAE7,
+ 31907 - 11904: 0xD6E1,
+ 31909 - 11904: 0xB5B0,
+ 31910 - 11904: 0x8E75,
+ 31911 - 11904: 0xF9DB,
+ 31912 - 11904: 0xDAE9,
+ 31916 - 11904: 0x9072,
+ 31918 - 11904: 0x94F8,
+ 31919 - 11904: 0xDF56,
+ 31921 - 11904: 0xB864,
+ 31922 - 11904: 0xDF54,
+ 31923 - 11904: 0xB865,
+ 31924 - 11904: 0xDF55,
+ 31925 - 11904: 0xB866,
+ 31928 - 11904: 0x995A,
+ 31929 - 11904: 0xBAE9,
+ 31930 - 11904: 0xE361,
+ 31931 - 11904: 0xE35E,
+ 31932 - 11904: 0xE360,
+ 31933 - 11904: 0xBAEA,
+ 31934 - 11904: 0xBAEB,
+ 31935 - 11904: 0xE35F,
+ 31938 - 11904: 0xA0B0,
+ 31939 - 11904: 0x8CB3,
+ 31941 - 11904: 0xE6DF,
+ 31943 - 11904: 0x8E79,
+ 31944 - 11904: 0xE6E0,
+ 31945 - 11904: 0x8E78,
+ 31946 - 11904: 0xBD6B,
+ 31947 - 11904: 0xE6E2,
+ 31948 - 11904: 0xE6E1,
+ 31949 - 11904: 0x94F3,
+ 31950 - 11904: 0xA261,
+ 31952 - 11904: 0xEACA,
+ 31953 - 11904: 0xEACB,
+ 31954 - 11904: 0xEAC7,
+ 31955 - 11904: 0x98AF,
+ 31956 - 11904: 0xEAC8,
+ 31957 - 11904: 0xBF7C,
+ 31958 - 11904: 0xBF7D,
+ 31959 - 11904: 0xEAC9,
+ 31961 - 11904: 0xC157,
+ 31962 - 11904: 0xA0B2,
+ 31964 - 11904: 0xC153,
+ 31965 - 11904: 0xC158,
+ 31966 - 11904: 0xC154,
+ 31967 - 11904: 0xC156,
+ 31968 - 11904: 0xC152,
+ 31970 - 11904: 0xC155,
+ 31974 - 11904: 0x8E7A,
+ 31975 - 11904: 0xC2B3,
+ 31976 - 11904: 0xEDCF,
+ 31978 - 11904: 0xF2AE,
+ 31980 - 11904: 0xF2AD,
+ 31981 - 11904: 0x995C,
+ 31982 - 11904: 0xF4AB,
+ 31983 - 11904: 0xC47A,
+ 31984 - 11904: 0xC47B,
+ 31985 - 11904: 0xF741,
+ 31986 - 11904: 0xF5E6,
+ 31987 - 11904: 0x8E7C,
+ 31988 - 11904: 0xF740,
+ 31989 - 11904: 0x8E7D,
+ 31990 - 11904: 0xF8FD,
+ 31991 - 11904: 0xF9A4,
+ 31992 - 11904: 0xA6CD,
+ 31993 - 11904: 0x8BD9,
+ 31995 - 11904: 0xA874,
+ 31996 - 11904: 0x89A2,
+ 31997 - 11904: 0xCDA9,
+ 31998 - 11904: 0xAAC8,
+ 32000 - 11904: 0xACF6,
+ 32001 - 11904: 0xD04C,
+ 32002 - 11904: 0xACF4,
+ 32003 - 11904: 0xD04A,
+ 32004 - 11904: 0xACF9,
+ 32005 - 11904: 0xACF5,
+ 32006 - 11904: 0xACFA,
+ 32007 - 11904: 0xACF8,
+ 32008 - 11904: 0xD04B,
+ 32009 - 11904: 0xACF7,
+ 32010 - 11904: 0xAFBF,
+ 32011 - 11904: 0xAFBE,
+ 32012 - 11904: 0xD35A,
+ 32013 - 11904: 0xAFC7,
+ 32014 - 11904: 0xD353,
+ 32015 - 11904: 0xD359,
+ 32016 - 11904: 0xAFC3,
+ 32017 - 11904: 0xD352,
+ 32018 - 11904: 0xD358,
+ 32019 - 11904: 0xD356,
+ 32020 - 11904: 0xAFC2,
+ 32021 - 11904: 0xAFC4,
+ 32022 - 11904: 0xD355,
+ 32023 - 11904: 0xAFBD,
+ 32024 - 11904: 0xD354,
+ 32025 - 11904: 0xAFC8,
+ 32026 - 11904: 0xAFC5,
+ 32027 - 11904: 0xAFC9,
+ 32028 - 11904: 0xAFC6,
+ 32029 - 11904: 0xD351,
+ 32030 - 11904: 0xD350,
+ 32031 - 11904: 0xD357,
+ 32032 - 11904: 0xAFC0,
+ 32033 - 11904: 0xAFBC,
+ 32034 - 11904: 0xAFC1,
+ 32037 - 11904: 0x9ED7,
+ 32040 - 11904: 0xD6F0,
+ 32041 - 11904: 0xD6E9,
+ 32043 - 11904: 0xB5B5,
+ 32044 - 11904: 0xD6E8,
+ 32046 - 11904: 0xB2CF,
+ 32047 - 11904: 0xB2D6,
+ 32048 - 11904: 0xB2D3,
+ 32049 - 11904: 0xB2D9,
+ 32050 - 11904: 0xB2D8,
+ 32051 - 11904: 0xB2D4,
+ 32053 - 11904: 0xD6E2,
+ 32054 - 11904: 0xD6E5,
+ 32056 - 11904: 0xD6E4,
+ 32057 - 11904: 0xB2D0,
+ 32058 - 11904: 0xD6E6,
+ 32059 - 11904: 0xD6EF,
+ 32060 - 11904: 0xB2D1,
+ 32061 - 11904: 0xD6E3,
+ 32062 - 11904: 0xD6EC,
+ 32063 - 11904: 0xD6ED,
+ 32064 - 11904: 0xB2D2,
+ 32065 - 11904: 0xD6EA,
+ 32066 - 11904: 0xB2D7,
+ 32067 - 11904: 0xB2CD,
+ 32068 - 11904: 0xB2D5,
+ 32069 - 11904: 0xD6E7,
+ 32070 - 11904: 0xB2CC,
+ 32071 - 11904: 0xD6EB,
+ 32074 - 11904: 0xD6EE,
+ 32077 - 11904: 0xA0B6,
+ 32078 - 11904: 0xDAFB,
+ 32079 - 11904: 0xDAF2,
+ 32080 - 11904: 0xB5B2,
+ 32081 - 11904: 0xDAF9,
+ 32082 - 11904: 0xDAF6,
+ 32083 - 11904: 0xDAEE,
+ 32084 - 11904: 0xDAF7,
+ 32085 - 11904: 0xB5B4,
+ 32086 - 11904: 0xDAEF,
+ 32088 - 11904: 0xDAEB,
+ 32090 - 11904: 0x9E42,
+ 32091 - 11904: 0xB86C,
+ 32092 - 11904: 0xDAF4,
+ 32093 - 11904: 0x8EA4,
+ 32094 - 11904: 0xB5B1,
+ 32095 - 11904: 0xDAFA,
+ 32097 - 11904: 0xB5B8,
+ 32098 - 11904: 0xB5BA,
+ 32099 - 11904: 0xDAED,
+ 32102 - 11904: 0xB5B9,
+ 32103 - 11904: 0xDAF0,
+ 32104 - 11904: 0xB5B3,
+ 32105 - 11904: 0xDAF8,
+ 32106 - 11904: 0xDAF1,
+ 32107 - 11904: 0xDAF5,
+ 32109 - 11904: 0xDAF3,
+ 32110 - 11904: 0xB5B6,
+ 32111 - 11904: 0xDAEC,
+ 32112 - 11904: 0xB5BB,
+ 32113 - 11904: 0xB2CE,
+ 32114 - 11904: 0xB5B7,
+ 32115 - 11904: 0xB5BC,
+ 32121 - 11904: 0xB868,
+ 32122 - 11904: 0xDF5D,
+ 32123 - 11904: 0xDF5F,
+ 32124 - 11904: 0xDF61,
+ 32125 - 11904: 0xDF65,
+ 32127 - 11904: 0xDF5B,
+ 32128 - 11904: 0xDF59,
+ 32129 - 11904: 0xB86A,
+ 32131 - 11904: 0xDF60,
+ 32132 - 11904: 0xDF64,
+ 32133 - 11904: 0xDF5C,
+ 32134 - 11904: 0xDF58,
+ 32136 - 11904: 0xDF57,
+ 32137 - 11904: 0x8EA7,
+ 32139 - 11904: 0x8C76,
+ 32140 - 11904: 0xDF62,
+ 32141 - 11904: 0xDF5A,
+ 32142 - 11904: 0xDF5E,
+ 32143 - 11904: 0xB86B,
+ 32145 - 11904: 0xB869,
+ 32146 - 11904: 0xDF66,
+ 32147 - 11904: 0xB867,
+ 32148 - 11904: 0xDF63,
+ 32149 - 11904: 0x8767,
+ 32150 - 11904: 0xE372,
+ 32151 - 11904: 0x9542,
+ 32156 - 11904: 0xBAEE,
+ 32157 - 11904: 0xE36A,
+ 32158 - 11904: 0xBD78,
+ 32159 - 11904: 0xE374,
+ 32160 - 11904: 0xBAF1,
+ 32161 - 11904: 0xE378,
+ 32162 - 11904: 0xBAF7,
+ 32163 - 11904: 0xE365,
+ 32164 - 11904: 0x987D,
+ 32166 - 11904: 0xE375,
+ 32167 - 11904: 0xE362,
+ 32168 - 11904: 0x9755,
+ 32169 - 11904: 0xE377,
+ 32170 - 11904: 0xE366,
+ 32171 - 11904: 0x8EA8,
+ 32172 - 11904: 0xBAFE,
+ 32173 - 11904: 0xBAFB,
+ 32174 - 11904: 0xE376,
+ 32175 - 11904: 0xE370,
+ 32176 - 11904: 0xBAED,
+ 32177 - 11904: 0xBAF5,
+ 32178 - 11904: 0xBAF4,
+ 32179 - 11904: 0x8EAA,
+ 32180 - 11904: 0xBAF3,
+ 32181 - 11904: 0xBAF9,
+ 32183 - 11904: 0xE363,
+ 32184 - 11904: 0xBAFA,
+ 32185 - 11904: 0xE371,
+ 32186 - 11904: 0xBAF6,
+ 32187 - 11904: 0xBAEC,
+ 32188 - 11904: 0xE373,
+ 32189 - 11904: 0xBAEF,
+ 32190 - 11904: 0xBAF0,
+ 32191 - 11904: 0xBAF8,
+ 32192 - 11904: 0xE368,
+ 32193 - 11904: 0xE367,
+ 32194 - 11904: 0xE364,
+ 32196 - 11904: 0xE36C,
+ 32197 - 11904: 0xE369,
+ 32198 - 11904: 0xE36D,
+ 32199 - 11904: 0xBAFD,
+ 32201 - 11904: 0xE379,
+ 32202 - 11904: 0xBAF2,
+ 32203 - 11904: 0xE36E,
+ 32204 - 11904: 0xE36F,
+ 32205 - 11904: 0x89A3,
+ 32206 - 11904: 0xE36B,
+ 32207 - 11904: 0x9960,
+ 32208 - 11904: 0x9962,
+ 32210 - 11904: 0xBAFC,
+ 32211 - 11904: 0x94FC,
+ 32212 - 11904: 0x9961,
+ 32215 - 11904: 0xE6E7,
+ 32216 - 11904: 0xBD70,
+ 32217 - 11904: 0xBD79,
+ 32218 - 11904: 0xBD75,
+ 32219 - 11904: 0xE6E4,
+ 32220 - 11904: 0x94FA,
+ 32221 - 11904: 0xBD72,
+ 32222 - 11904: 0xBD76,
+ 32223 - 11904: 0xE6F0,
+ 32224 - 11904: 0xBD6C,
+ 32225 - 11904: 0xE6E8,
+ 32227 - 11904: 0xBD74,
+ 32228 - 11904: 0x8EAE,
+ 32229 - 11904: 0x8EB2,
+ 32230 - 11904: 0xE6EB,
+ 32231 - 11904: 0xE6E6,
+ 32232 - 11904: 0xBD73,
+ 32233 - 11904: 0xBD77,
+ 32234 - 11904: 0xE6E5,
+ 32236 - 11904: 0xBD71,
+ 32238 - 11904: 0xE6EF,
+ 32239 - 11904: 0xBD6E,
+ 32240 - 11904: 0xE6EE,
+ 32241 - 11904: 0xE6ED,
+ 32242 - 11904: 0xBD7A,
+ 32243 - 11904: 0xE572,
+ 32244 - 11904: 0xBD6D,
+ 32245 - 11904: 0x8EB0,
+ 32246 - 11904: 0xE6EC,
+ 32247 - 11904: 0xE6E3,
+ 32249 - 11904: 0xBD7B,
+ 32250 - 11904: 0xE6EA,
+ 32251 - 11904: 0xBD6F,
+ 32253 - 11904: 0x9963,
+ 32254 - 11904: 0x97AA,
+ 32259 - 11904: 0xE6E9,
+ 32263 - 11904: 0x94FB,
+ 32264 - 11904: 0xBFA2,
+ 32265 - 11904: 0xBFA7,
+ 32266 - 11904: 0xBF7E,
+ 32267 - 11904: 0xEAD8,
+ 32268 - 11904: 0xEACF,
+ 32269 - 11904: 0xEADB,
+ 32270 - 11904: 0xEAD3,
+ 32271 - 11904: 0xEAD9,
+ 32272 - 11904: 0xBFA8,
+ 32273 - 11904: 0xBFA1,
+ 32274 - 11904: 0xEACC,
+ 32275 - 11904: 0xEAD2,
+ 32276 - 11904: 0xEADC,
+ 32277 - 11904: 0xEAD5,
+ 32278 - 11904: 0xEADA,
+ 32279 - 11904: 0xEACE,
+ 32282 - 11904: 0xEAD6,
+ 32283 - 11904: 0xBFA3,
+ 32284 - 11904: 0xEAD4,
+ 32285 - 11904: 0xBFA6,
+ 32286 - 11904: 0xBFA5,
+ 32287 - 11904: 0xEAD0,
+ 32288 - 11904: 0xEAD1,
+ 32289 - 11904: 0xEACD,
+ 32290 - 11904: 0xEAD7,
+ 32291 - 11904: 0xBFA4,
+ 32292 - 11904: 0xEADE,
+ 32293 - 11904: 0xEADD,
+ 32295 - 11904: 0x8EBB,
+ 32297 - 11904: 0xEDDA,
+ 32298 - 11904: 0xEDD6,
+ 32299 - 11904: 0xC15F,
+ 32301 - 11904: 0xEDD0,
+ 32302 - 11904: 0xC159,
+ 32303 - 11904: 0xC169,
+ 32304 - 11904: 0xEDDC,
+ 32305 - 11904: 0xC161,
+ 32306 - 11904: 0xC15D,
+ 32307 - 11904: 0xEDD3,
+ 32308 - 11904: 0xC164,
+ 32309 - 11904: 0xC167,
+ 32310 - 11904: 0xEDDE,
+ 32311 - 11904: 0xC15C,
+ 32312 - 11904: 0xEDD5,
+ 32313 - 11904: 0xC165,
+ 32314 - 11904: 0xEDE0,
+ 32315 - 11904: 0xEDDD,
+ 32316 - 11904: 0xEDD1,
+ 32317 - 11904: 0xC160,
+ 32318 - 11904: 0xC15A,
+ 32319 - 11904: 0xC168,
+ 32320 - 11904: 0xEDD8,
+ 32321 - 11904: 0xC163,
+ 32322 - 11904: 0xEDD2,
+ 32323 - 11904: 0xC15E,
+ 32324 - 11904: 0xEDDF,
+ 32325 - 11904: 0xC162,
+ 32326 - 11904: 0xC15B,
+ 32327 - 11904: 0xEDD9,
+ 32328 - 11904: 0xC166,
+ 32329 - 11904: 0xEDD7,
+ 32332 - 11904: 0xEDDB,
+ 32336 - 11904: 0xF06E,
+ 32337 - 11904: 0xF074,
+ 32338 - 11904: 0xC2B9,
+ 32339 - 11904: 0xF077,
+ 32340 - 11904: 0xC2B4,
+ 32341 - 11904: 0xC2B5,
+ 32342 - 11904: 0xF06F,
+ 32343 - 11904: 0xF076,
+ 32344 - 11904: 0xF071,
+ 32345 - 11904: 0xC2BA,
+ 32346 - 11904: 0xC2B7,
+ 32347 - 11904: 0x8CDC,
+ 32348 - 11904: 0xF06D,
+ 32350 - 11904: 0xC2B6,
+ 32351 - 11904: 0xF073,
+ 32352 - 11904: 0xF075,
+ 32353 - 11904: 0xC2B8,
+ 32354 - 11904: 0xF072,
+ 32355 - 11904: 0xF070,
+ 32357 - 11904: 0x9876,
+ 32359 - 11904: 0x8EA1,
+ 32360 - 11904: 0xF2B8,
+ 32361 - 11904: 0xC3B7,
+ 32362 - 11904: 0xC3B8,
+ 32363 - 11904: 0xC3B4,
+ 32364 - 11904: 0x8CB4,
+ 32365 - 11904: 0xC3B5,
+ 32366 - 11904: 0x8EB7,
+ 32367 - 11904: 0xF2B4,
+ 32368 - 11904: 0xF2B2,
+ 32370 - 11904: 0xF2B6,
+ 32371 - 11904: 0xC3BA,
+ 32372 - 11904: 0xF2B7,
+ 32373 - 11904: 0xF2B0,
+ 32374 - 11904: 0xF2AF,
+ 32375 - 11904: 0xF2B3,
+ 32376 - 11904: 0xF2B1,
+ 32377 - 11904: 0xC3B6,
+ 32378 - 11904: 0xF2B5,
+ 32379 - 11904: 0xF4AC,
+ 32380 - 11904: 0xC47E,
+ 32381 - 11904: 0xC47D,
+ 32382 - 11904: 0xF4AD,
+ 32383 - 11904: 0x9DA6,
+ 32384 - 11904: 0xF4AF,
+ 32385 - 11904: 0xF4AE,
+ 32386 - 11904: 0xC4A1,
+ 32390 - 11904: 0xF5EB,
+ 32391 - 11904: 0xF5E8,
+ 32392 - 11904: 0xF5E9,
+ 32394 - 11904: 0xF5E7,
+ 32395 - 11904: 0xF5EA,
+ 32396 - 11904: 0xC4F2,
+ 32397 - 11904: 0xF5EC,
+ 32398 - 11904: 0x9EB0,
+ 32399 - 11904: 0xC4F1,
+ 32401 - 11904: 0xF742,
+ 32402 - 11904: 0x8EB8,
+ 32403 - 11904: 0xC5D5,
+ 32404 - 11904: 0xC5D7,
+ 32405 - 11904: 0xF7EE,
+ 32406 - 11904: 0xC5D6,
+ 32407 - 11904: 0xF8B9,
+ 32408 - 11904: 0xF940,
+ 32409 - 11904: 0xF942,
+ 32410 - 11904: 0xF8FE,
+ 32411 - 11904: 0xF941,
+ 32412 - 11904: 0xC66C,
+ 32415 - 11904: 0x9D70,
+ 32420 - 11904: 0x896E,
+ 32428 - 11904: 0x896F,
+ 32442 - 11904: 0x8970,
+ 32455 - 11904: 0x8971,
+ 32463 - 11904: 0x8972,
+ 32479 - 11904: 0x8973,
+ 32518 - 11904: 0x8974,
+ 32566 - 11904: 0xA6CE,
+ 32567 - 11904: 0x8975,
+ 32568 - 11904: 0xACFB,
+ 32569 - 11904: 0xD26F,
+ 32570 - 11904: 0xAFCA,
+ 32573 - 11904: 0xB2DA,
+ 32574 - 11904: 0xDAFC,
+ 32575 - 11904: 0xDAFD,
+ 32576 - 11904: 0x8EBC,
+ 32577 - 11904: 0x8EBD,
+ 32579 - 11904: 0xEADF,
+ 32580 - 11904: 0xC16A,
+ 32581 - 11904: 0xEDE1,
+ 32583 - 11904: 0x8EBE,
+ 32584 - 11904: 0xC2BB,
+ 32585 - 11904: 0x9DD1,
+ 32586 - 11904: 0xF2BA,
+ 32587 - 11904: 0xF2B9,
+ 32588 - 11904: 0xC4A2,
+ 32589 - 11904: 0xF5ED,
+ 32590 - 11904: 0x94FD,
+ 32591 - 11904: 0xF743,
+ 32592 - 11904: 0xC5F8,
+ 32593 - 11904: 0xCA49,
+ 32594 - 11904: 0x8BD7,
+ 32595 - 11904: 0x8BDA,
+ 32596 - 11904: 0xAAC9,
+ 32597 - 11904: 0xA875,
+ 32600 - 11904: 0xD04D,
+ 32603 - 11904: 0xD360,
+ 32604 - 11904: 0xD35B,
+ 32605 - 11904: 0xD35F,
+ 32606 - 11904: 0xD35D,
+ 32607 - 11904: 0xAFCB,
+ 32608 - 11904: 0xD35E,
+ 32609 - 11904: 0xD35C,
+ 32611 - 11904: 0xD6F1,
+ 32613 - 11904: 0xDAFE,
+ 32614 - 11904: 0xDB40,
+ 32615 - 11904: 0xDF69,
+ 32616 - 11904: 0xDF6A,
+ 32617 - 11904: 0xB86E,
+ 32618 - 11904: 0xB86F,
+ 32619 - 11904: 0xDF68,
+ 32620 - 11904: 0xDF6B,
+ 32621 - 11904: 0xDF67,
+ 32622 - 11904: 0xB86D,
+ 32624 - 11904: 0xBB40,
+ 32625 - 11904: 0xA0E2,
+ 32626 - 11904: 0xB870,
+ 32627 - 11904: 0xE37A,
+ 32629 - 11904: 0xBD7C,
+ 32630 - 11904: 0xE6F1,
+ 32631 - 11904: 0xBD7D,
+ 32632 - 11904: 0x9FE9,
+ 32633 - 11904: 0xBFA9,
+ 32634 - 11904: 0xEAE2,
+ 32635 - 11904: 0xEAE0,
+ 32636 - 11904: 0xEAE1,
+ 32637 - 11904: 0xEDE4,
+ 32638 - 11904: 0xEDE3,
+ 32639 - 11904: 0xEDE2,
+ 32643 - 11904: 0xF2BB,
+ 32645 - 11904: 0xC3B9,
+ 32646 - 11904: 0xF2BC,
+ 32647 - 11904: 0xF744,
+ 32648 - 11904: 0xC5F9,
+ 32649 - 11904: 0xF8BA,
+ 32650 - 11904: 0xA6CF,
+ 32651 - 11904: 0xAACB,
+ 32652 - 11904: 0xAACA,
+ 32653 - 11904: 0xD04F,
+ 32654 - 11904: 0xACFC,
+ 32655 - 11904: 0xFDA8,
+ 32657 - 11904: 0xD04E,
+ 32658 - 11904: 0xD362,
+ 32659 - 11904: 0x8AE7,
+ 32660 - 11904: 0xAFCC,
+ 32661 - 11904: 0xD6F2,
+ 32662 - 11904: 0xD361,
+ 32663 - 11904: 0x8EC2,
+ 32666 - 11904: 0xB2DC,
+ 32667 - 11904: 0xD6F5,
+ 32668 - 11904: 0xD6F3,
+ 32669 - 11904: 0xD6F4,
+ 32670 - 11904: 0xB2DB,
+ 32672 - 11904: 0xDB42,
+ 32673 - 11904: 0xDB43,
+ 32674 - 11904: 0xDB41,
+ 32675 - 11904: 0x8EC4,
+ 32676 - 11904: 0xB873,
+ 32677 - 11904: 0xDF6D,
+ 32678 - 11904: 0xDF6C,
+ 32679 - 11904: 0xDF6E,
+ 32680 - 11904: 0xB872,
+ 32681 - 11904: 0xB871,
+ 32684 - 11904: 0xE6F2,
+ 32685 - 11904: 0xE6F4,
+ 32686 - 11904: 0x9964,
+ 32687 - 11904: 0xBD7E,
+ 32688 - 11904: 0xE6F3,
+ 32689 - 11904: 0xEAE3,
+ 32690 - 11904: 0xBFAA,
+ 32691 - 11904: 0xF079,
+ 32692 - 11904: 0x9965,
+ 32693 - 11904: 0xF078,
+ 32694 - 11904: 0xC3BB,
+ 32695 - 11904: 0xF2BD,
+ 32696 - 11904: 0xC3BD,
+ 32697 - 11904: 0xC3BC,
+ 32698 - 11904: 0xF4B0,
+ 32699 - 11904: 0xF5EE,
+ 32700 - 11904: 0xC4F3,
+ 32701 - 11904: 0xA6D0,
+ 32702 - 11904: 0xD050,
+ 32703 - 11904: 0xACFD,
+ 32704 - 11904: 0xD365,
+ 32705 - 11904: 0xAFCE,
+ 32706 - 11904: 0xD364,
+ 32707 - 11904: 0xD363,
+ 32709 - 11904: 0xAFCD,
+ 32711 - 11904: 0xD6FB,
+ 32713 - 11904: 0xD6FD,
+ 32714 - 11904: 0xD6F6,
+ 32715 - 11904: 0xD6F7,
+ 32716 - 11904: 0xB2DD,
+ 32717 - 11904: 0xD6F8,
+ 32718 - 11904: 0xB2DE,
+ 32719 - 11904: 0xD6FC,
+ 32720 - 11904: 0xD6F9,
+ 32721 - 11904: 0xD6FA,
+ 32722 - 11904: 0xB2DF,
+ 32724 - 11904: 0xB5BE,
+ 32725 - 11904: 0xB5BF,
+ 32727 - 11904: 0xDB44,
+ 32731 - 11904: 0xDF6F,
+ 32732 - 11904: 0xDF70,
+ 32733 - 11904: 0x954E,
+ 32734 - 11904: 0xE37E,
+ 32735 - 11904: 0xBB43,
+ 32736 - 11904: 0xBB41,
+ 32737 - 11904: 0xBB42,
+ 32738 - 11904: 0xE37B,
+ 32739 - 11904: 0xE37C,
+ 32741 - 11904: 0xE37D,
+ 32742 - 11904: 0xE6F9,
+ 32743 - 11904: 0x98B3,
+ 32744 - 11904: 0xE6FA,
+ 32745 - 11904: 0xBDA1,
+ 32746 - 11904: 0xE6F7,
+ 32747 - 11904: 0xE6F6,
+ 32748 - 11904: 0xE6F8,
+ 32749 - 11904: 0xE6F5,
+ 32750 - 11904: 0xBFAD,
+ 32751 - 11904: 0xEAE4,
+ 32752 - 11904: 0xBFAB,
+ 32753 - 11904: 0xBFAC,
+ 32754 - 11904: 0xEDE6,
+ 32755 - 11904: 0xC16B,
+ 32756 - 11904: 0xEDE5,
+ 32757 - 11904: 0xEFA8,
+ 32759 - 11904: 0xF07A,
+ 32760 - 11904: 0xF07B,
+ 32761 - 11904: 0xC2BC,
+ 32762 - 11904: 0x8ECB,
+ 32763 - 11904: 0xC2BD,
+ 32764 - 11904: 0xC16C,
+ 32765 - 11904: 0xF2BE,
+ 32766 - 11904: 0xF2BF,
+ 32767 - 11904: 0xF4B1,
+ 32768 - 11904: 0xC4A3,
+ 32769 - 11904: 0xA6D1,
+ 32770 - 11904: 0x8BDF,
+ 32771 - 11904: 0xA6D2,
+ 32772 - 11904: 0xACFE,
+ 32773 - 11904: 0xAACC,
+ 32774 - 11904: 0xAFCF,
+ 32775 - 11904: 0xD051,
+ 32776 - 11904: 0x8ECE,
+ 32779 - 11904: 0xB5C0,
+ 32780 - 11904: 0xA6D3,
+ 32781 - 11904: 0xAD41,
+ 32782 - 11904: 0xD052,
+ 32783 - 11904: 0xD053,
+ 32784 - 11904: 0xAD40,
+ 32785 - 11904: 0xAD42,
+ 32786 - 11904: 0xA6D4,
+ 32788 - 11904: 0xD054,
+ 32789 - 11904: 0xAFD1,
+ 32790 - 11904: 0xD366,
+ 32791 - 11904: 0xAFD3,
+ 32792 - 11904: 0xAFD0,
+ 32793 - 11904: 0xAFD2,
+ 32795 - 11904: 0xD741,
+ 32796 - 11904: 0xB2E0,
+ 32797 - 11904: 0x8ECF,
+ 32798 - 11904: 0xD740,
+ 32799 - 11904: 0xD6FE,
+ 32800 - 11904: 0x9968,
+ 32801 - 11904: 0xDF71,
+ 32804 - 11904: 0xE3A1,
+ 32805 - 11904: 0x9969,
+ 32806 - 11904: 0xBDA2,
+ 32808 - 11904: 0xBFAE,
+ 32809 - 11904: 0xEAE6,
+ 32810 - 11904: 0xEAE5,
+ 32812 - 11904: 0xEDE7,
+ 32814 - 11904: 0x996B,
+ 32815 - 11904: 0x8ED1,
+ 32816 - 11904: 0xF5EF,
+ 32817 - 11904: 0x996C,
+ 32819 - 11904: 0xA6D5,
+ 32820 - 11904: 0xCB73,
+ 32821 - 11904: 0xCDAA,
+ 32822 - 11904: 0xAD43,
+ 32823 - 11904: 0xD055,
+ 32825 - 11904: 0xD368,
+ 32827 - 11904: 0x8ED4,
+ 32828 - 11904: 0x8ED5,
+ 32829 - 11904: 0xAFD4,
+ 32830 - 11904: 0xD367,
+ 32831 - 11904: 0xAFD5,
+ 32835 - 11904: 0xD743,
+ 32838 - 11904: 0xB2E2,
+ 32839 - 11904: 0xD742,
+ 32840 - 11904: 0xD744,
+ 32842 - 11904: 0xB2E1,
+ 32847 - 11904: 0xDB46,
+ 32848 - 11904: 0xDB47,
+ 32849 - 11904: 0xDB45,
+ 32850 - 11904: 0xB5C1,
+ 32852 - 11904: 0x996D,
+ 32854 - 11904: 0xB874,
+ 32856 - 11904: 0xB875,
+ 32858 - 11904: 0xBB45,
+ 32859 - 11904: 0xA0BE,
+ 32860 - 11904: 0xE3A3,
+ 32861 - 11904: 0xE3A2,
+ 32862 - 11904: 0xBB44,
+ 32865 - 11904: 0x8ED6,
+ 32866 - 11904: 0xA0BC,
+ 32867 - 11904: 0xA0B5,
+ 32868 - 11904: 0xE6FB,
+ 32870 - 11904: 0xA0B4,
+ 32871 - 11904: 0xE6FC,
+ 32876 - 11904: 0xEAE7,
+ 32879 - 11904: 0xC170,
+ 32880 - 11904: 0xC16F,
+ 32881 - 11904: 0xC16D,
+ 32882 - 11904: 0xC16E,
+ 32883 - 11904: 0xC171,
+ 32885 - 11904: 0xF07C,
+ 32886 - 11904: 0xC2BF,
+ 32887 - 11904: 0xC2BE,
+ 32888 - 11904: 0xF2C0,
+ 32889 - 11904: 0xF4B2,
+ 32893 - 11904: 0xC5A5,
+ 32894 - 11904: 0xC5A4,
+ 32895 - 11904: 0xA6D6,
+ 32896 - 11904: 0x8BE0,
+ 32898 - 11904: 0xD1FB,
+ 32900 - 11904: 0xB877,
+ 32901 - 11904: 0xB5C2,
+ 32902 - 11904: 0xB876,
+ 32903 - 11904: 0xBB46,
+ 32905 - 11904: 0xA6D7,
+ 32906 - 11904: 0xC9A9,
+ 32907 - 11904: 0xA6D8,
+ 32908 - 11904: 0xA6D9,
+ 32911 - 11904: 0xCDAB,
+ 32912 - 11904: 0xCB76,
+ 32914 - 11904: 0xCB77,
+ 32915 - 11904: 0xA877,
+ 32917 - 11904: 0xCB74,
+ 32918 - 11904: 0xA876,
+ 32920 - 11904: 0xA879,
+ 32921 - 11904: 0xCB75,
+ 32922 - 11904: 0xA87B,
+ 32923 - 11904: 0xA87A,
+ 32924 - 11904: 0xCB78,
+ 32925 - 11904: 0xA878,
+ 32927 - 11904: 0x89B5,
+ 32929 - 11904: 0xAAD1,
+ 32930 - 11904: 0xAACF,
+ 32931 - 11904: 0xCDAD,
+ 32933 - 11904: 0xAACE,
+ 32935 - 11904: 0x8EDD,
+ 32937 - 11904: 0xAAD3,
+ 32938 - 11904: 0xAAD5,
+ 32939 - 11904: 0xAAD2,
+ 32941 - 11904: 0xCDB0,
+ 32942 - 11904: 0xCDAC,
+ 32943 - 11904: 0xAAD6,
+ 32945 - 11904: 0xAAD0,
+ 32946 - 11904: 0xA87C,
+ 32948 - 11904: 0xAAD4,
+ 32949 - 11904: 0xCDAF,
+ 32950 - 11904: 0x9E5D,
+ 32951 - 11904: 0x9971,
+ 32952 - 11904: 0xCDAE,
+ 32954 - 11904: 0xAACD,
+ 32956 - 11904: 0x89AE,
+ 32957 - 11904: 0x9DE8,
+ 32962 - 11904: 0xD05B,
+ 32963 - 11904: 0xAD47,
+ 32964 - 11904: 0xAD48,
+ 32965 - 11904: 0xD05D,
+ 32966 - 11904: 0x9565,
+ 32967 - 11904: 0xD057,
+ 32968 - 11904: 0xD05A,
+ 32969 - 11904: 0xD063,
+ 32970 - 11904: 0xD061,
+ 32972 - 11904: 0xAD49,
+ 32973 - 11904: 0xD067,
+ 32974 - 11904: 0xAD4C,
+ 32975 - 11904: 0xD064,
+ 32976 - 11904: 0xD05C,
+ 32977 - 11904: 0xD059,
+ 32980 - 11904: 0xDB49,
+ 32981 - 11904: 0xD062,
+ 32982 - 11904: 0xAD44,
+ 32983 - 11904: 0xD065,
+ 32984 - 11904: 0xD056,
+ 32985 - 11904: 0xD05F,
+ 32986 - 11904: 0xAD46,
+ 32987 - 11904: 0xAD4B,
+ 32988 - 11904: 0xD060,
+ 32989 - 11904: 0xAD4F,
+ 32990 - 11904: 0xAD4D,
+ 32992 - 11904: 0xD058,
+ 32993 - 11904: 0xAD4A,
+ 32995 - 11904: 0xD05E,
+ 32996 - 11904: 0xAD4E,
+ 32997 - 11904: 0xAD45,
+ 32998 - 11904: 0xD066,
+ 33001 - 11904: 0x9972,
+ 33004 - 11904: 0x8B5C,
+ 33005 - 11904: 0xAFDA,
+ 33007 - 11904: 0xAFE3,
+ 33008 - 11904: 0xAFD8,
+ 33009 - 11904: 0xAFD6,
+ 33010 - 11904: 0xD36A,
+ 33011 - 11904: 0xAFDE,
+ 33012 - 11904: 0xAFDB,
+ 33013 - 11904: 0xD36C,
+ 33014 - 11904: 0x89B1,
+ 33016 - 11904: 0xAFDD,
+ 33017 - 11904: 0xD36B,
+ 33018 - 11904: 0xD369,
+ 33019 - 11904: 0xD36E,
+ 33020 - 11904: 0xAFE2,
+ 33021 - 11904: 0xAFE0,
+ 33022 - 11904: 0xDB48,
+ 33024 - 11904: 0xD36F,
+ 33025 - 11904: 0xD36D,
+ 33026 - 11904: 0xAFD7,
+ 33027 - 11904: 0xA0C0,
+ 33029 - 11904: 0xAFD9,
+ 33030 - 11904: 0xAFDC,
+ 33031 - 11904: 0x8EDF,
+ 33032 - 11904: 0xAFDF,
+ 33033 - 11904: 0x9566,
+ 33034 - 11904: 0xAFE1,
+ 33036 - 11904: 0x9974,
+ 33038 - 11904: 0x9976,
+ 33042 - 11904: 0x9977,
+ 33044 - 11904: 0x9979,
+ 33045 - 11904: 0xD74E,
+ 33046 - 11904: 0xB2E4,
+ 33047 - 11904: 0x9DDA,
+ 33048 - 11904: 0xD745,
+ 33049 - 11904: 0xD747,
+ 33050 - 11904: 0x8EE0,
+ 33051 - 11904: 0xD748,
+ 33053 - 11904: 0xD750,
+ 33054 - 11904: 0xD74C,
+ 33055 - 11904: 0xD74A,
+ 33057 - 11904: 0xD74D,
+ 33058 - 11904: 0xD751,
+ 33059 - 11904: 0xB2E5,
+ 33060 - 11904: 0xB2E9,
+ 33061 - 11904: 0xD746,
+ 33063 - 11904: 0xD74F,
+ 33065 - 11904: 0xB2E7,
+ 33066 - 11904: 0x935C,
+ 33067 - 11904: 0xB2E6,
+ 33068 - 11904: 0xD74B,
+ 33069 - 11904: 0xD749,
+ 33071 - 11904: 0xB2E3,
+ 33072 - 11904: 0xB2E8,
+ 33074 - 11904: 0x9DE6,
+ 33076 - 11904: 0x8B5F,
+ 33079 - 11904: 0x9563,
+ 33081 - 11904: 0xB5C8,
+ 33082 - 11904: 0xDB51,
+ 33085 - 11904: 0xDB4F,
+ 33086 - 11904: 0xB5CA,
+ 33090 - 11904: 0x9567,
+ 33091 - 11904: 0xDB4A,
+ 33092 - 11904: 0xDFA1,
+ 33094 - 11904: 0xB5C9,
+ 33095 - 11904: 0xDB4E,
+ 33096 - 11904: 0x9DE3,
+ 33098 - 11904: 0xDB4B,
+ 33099 - 11904: 0xB5C5,
+ 33100 - 11904: 0xB5CB,
+ 33101 - 11904: 0xDB50,
+ 33102 - 11904: 0xB5C7,
+ 33103 - 11904: 0xDB4D,
+ 33104 - 11904: 0xBB47,
+ 33105 - 11904: 0xB5C6,
+ 33106 - 11904: 0xDB4C,
+ 33107 - 11904: 0xB5CC,
+ 33108 - 11904: 0xB5C4,
+ 33109 - 11904: 0xB5C3,
+ 33110 - 11904: 0x997C,
+ 33113 - 11904: 0x997D,
+ 33114 - 11904: 0x997E,
+ 33115 - 11904: 0xDF77,
+ 33116 - 11904: 0xDF75,
+ 33118 - 11904: 0xDF7B,
+ 33120 - 11904: 0xDF73,
+ 33121 - 11904: 0xDFA2,
+ 33122 - 11904: 0xDF78,
+ 33124 - 11904: 0xDF72,
+ 33125 - 11904: 0xB87B,
+ 33126 - 11904: 0xB8A3,
+ 33127 - 11904: 0xDF7D,
+ 33129 - 11904: 0xDF76,
+ 33131 - 11904: 0xB87E,
+ 33132 - 11904: 0x8CFB,
+ 33133 - 11904: 0x8B5B,
+ 33134 - 11904: 0xB87C,
+ 33135 - 11904: 0xDF7E,
+ 33136 - 11904: 0xB879,
+ 33137 - 11904: 0xB878,
+ 33138 - 11904: 0xDF79,
+ 33139 - 11904: 0xB87D,
+ 33140 - 11904: 0xB5CD,
+ 33142 - 11904: 0xDF7C,
+ 33143 - 11904: 0xDF74,
+ 33144 - 11904: 0xB87A,
+ 33145 - 11904: 0xB8A1,
+ 33146 - 11904: 0xB8A2,
+ 33148 - 11904: 0x99A3,
+ 33151 - 11904: 0xBB4C,
+ 33152 - 11904: 0xBB48,
+ 33154 - 11904: 0xBB4D,
+ 33155 - 11904: 0xE3A6,
+ 33156 - 11904: 0x99A4,
+ 33158 - 11904: 0xE3A5,
+ 33159 - 11904: 0xE3A7,
+ 33160 - 11904: 0xBB4A,
+ 33161 - 11904: 0xE3A4,
+ 33162 - 11904: 0xBB4B,
+ 33163 - 11904: 0xE3AA,
+ 33164 - 11904: 0xE3A9,
+ 33165 - 11904: 0xE3A8,
+ 33167 - 11904: 0xBB49,
+ 33171 - 11904: 0x99A6,
+ 33173 - 11904: 0xE741,
+ 33175 - 11904: 0xE744,
+ 33176 - 11904: 0xBDA8,
+ 33177 - 11904: 0xE743,
+ 33178 - 11904: 0xBDA7,
+ 33179 - 11904: 0xBDA3,
+ 33180 - 11904: 0xBDA4,
+ 33181 - 11904: 0xBDA5,
+ 33182 - 11904: 0xE740,
+ 33183 - 11904: 0xE6FE,
+ 33184 - 11904: 0xBDA6,
+ 33186 - 11904: 0xE742,
+ 33187 - 11904: 0xE6FD,
+ 33189 - 11904: 0x99A8,
+ 33190 - 11904: 0xEAE9,
+ 33191 - 11904: 0xEAF3,
+ 33192 - 11904: 0xBFB1,
+ 33193 - 11904: 0xBFB0,
+ 33194 - 11904: 0x8ABE,
+ 33195 - 11904: 0xEAED,
+ 33196 - 11904: 0xEAEF,
+ 33198 - 11904: 0xEAEA,
+ 33200 - 11904: 0xEAEE,
+ 33201 - 11904: 0xEAE8,
+ 33202 - 11904: 0xEAF1,
+ 33203 - 11904: 0xBFAF,
+ 33204 - 11904: 0xEAF0,
+ 33205 - 11904: 0xEAEC,
+ 33206 - 11904: 0x9E61,
+ 33207 - 11904: 0xEAF2,
+ 33209 - 11904: 0xEAEB,
+ 33210 - 11904: 0xC174,
+ 33211 - 11904: 0xEDE8,
+ 33212 - 11904: 0xEDEE,
+ 33213 - 11904: 0xC178,
+ 33214 - 11904: 0xC17A,
+ 33215 - 11904: 0xC177,
+ 33216 - 11904: 0xC176,
+ 33217 - 11904: 0x99AA,
+ 33218 - 11904: 0xC175,
+ 33219 - 11904: 0xC173,
+ 33220 - 11904: 0xEDE9,
+ 33221 - 11904: 0xEDEC,
+ 33222 - 11904: 0xC172,
+ 33223 - 11904: 0xEDED,
+ 33224 - 11904: 0xA0C8,
+ 33225 - 11904: 0xC179,
+ 33226 - 11904: 0xEDEB,
+ 33228 - 11904: 0xEDEA,
+ 33229 - 11904: 0xC2C0,
+ 33231 - 11904: 0xC2C1,
+ 33232 - 11904: 0xF0A1,
+ 33233 - 11904: 0xF07D,
+ 33234 - 11904: 0xF07E,
+ 33237 - 11904: 0xF2C2,
+ 33239 - 11904: 0xF2C1,
+ 33240 - 11904: 0xC3BE,
+ 33241 - 11904: 0xF4B4,
+ 33242 - 11904: 0xC4A4,
+ 33243 - 11904: 0xF4B3,
+ 33245 - 11904: 0xF5F0,
+ 33246 - 11904: 0xF745,
+ 33247 - 11904: 0xC5A6,
+ 33248 - 11904: 0xF943,
+ 33249 - 11904: 0xF944,
+ 33250 - 11904: 0xC5D8,
+ 33251 - 11904: 0xA6DA,
+ 33252 - 11904: 0x99AB,
+ 33253 - 11904: 0xAAD7,
+ 33254 - 11904: 0xDB52,
+ 33255 - 11904: 0xBB4E,
+ 33256 - 11904: 0xC17B,
+ 33257 - 11904: 0xEDEF,
+ 33258 - 11904: 0xA6DB,
+ 33260 - 11904: 0xAFE5,
+ 33261 - 11904: 0xAFE4,
+ 33262 - 11904: 0xDB53,
+ 33263 - 11904: 0xFEC4,
+ 33266 - 11904: 0xEAF4,
+ 33267 - 11904: 0xA6DC,
+ 33268 - 11904: 0xAD50,
+ 33270 - 11904: 0x98C2,
+ 33271 - 11904: 0xDB54,
+ 33272 - 11904: 0xDB55,
+ 33273 - 11904: 0xDB56,
+ 33274 - 11904: 0xBB4F,
+ 33275 - 11904: 0xBFB2,
+ 33276 - 11904: 0xA6DD,
+ 33278 - 11904: 0xAAD8,
+ 33279 - 11904: 0xD068,
+ 33280 - 11904: 0xAFE6,
+ 33281 - 11904: 0xD370,
+ 33282 - 11904: 0xB2EA,
+ 33284 - 11904: 0xDB57,
+ 33285 - 11904: 0xB8A4,
+ 33287 - 11904: 0xBB50,
+ 33288 - 11904: 0xBFB3,
+ 33289 - 11904: 0xC17C,
+ 33290 - 11904: 0xC2C2,
+ 33291 - 11904: 0xF4B5,
+ 33292 - 11904: 0xA6DE,
+ 33293 - 11904: 0xAAD9,
+ 33296 - 11904: 0xAFE7,
+ 33297 - 11904: 0xD752,
+ 33298 - 11904: 0xB5CE,
+ 33300 - 11904: 0xBB51,
+ 33301 - 11904: 0xE3AB,
+ 33302 - 11904: 0xE745,
+ 33304 - 11904: 0x8EE8,
+ 33306 - 11904: 0xA0BA,
+ 33307 - 11904: 0xA6DF,
+ 33308 - 11904: 0xB5CF,
+ 33309 - 11904: 0xDFA3,
+ 33310 - 11904: 0xBB52,
+ 33311 - 11904: 0xA6E0,
+ 33312 - 11904: 0xCDB1,
+ 33313 - 11904: 0xD069,
+ 33314 - 11904: 0xAD51,
+ 33317 - 11904: 0xD372,
+ 33318 - 11904: 0xFD77,
+ 33320 - 11904: 0xAFEA,
+ 33321 - 11904: 0x8EEE,
+ 33322 - 11904: 0xAFE8,
+ 33323 - 11904: 0xAFE9,
+ 33324 - 11904: 0xAFEB,
+ 33325 - 11904: 0x9EBF,
+ 33327 - 11904: 0xD371,
+ 33330 - 11904: 0xD757,
+ 33331 - 11904: 0xD754,
+ 33332 - 11904: 0xD756,
+ 33333 - 11904: 0xB2EB,
+ 33334 - 11904: 0xB2ED,
+ 33335 - 11904: 0xB2EC,
+ 33336 - 11904: 0xD753,
+ 33337 - 11904: 0xB2EE,
+ 33338 - 11904: 0xD755,
+ 33340 - 11904: 0xDB58,
+ 33341 - 11904: 0xDB59,
+ 33342 - 11904: 0x89C2,
+ 33343 - 11904: 0xDB5A,
+ 33344 - 11904: 0xDFA6,
+ 33346 - 11904: 0xDFA7,
+ 33348 - 11904: 0xDFA5,
+ 33349 - 11904: 0xDFA8,
+ 33351 - 11904: 0xB8A5,
+ 33353 - 11904: 0xDFA4,
+ 33355 - 11904: 0xBB53,
+ 33358 - 11904: 0xE74A,
+ 33359 - 11904: 0xE746,
+ 33360 - 11904: 0xE749,
+ 33361 - 11904: 0xE74B,
+ 33362 - 11904: 0xE748,
+ 33363 - 11904: 0xE747,
+ 33364 - 11904: 0x99AC,
+ 33365 - 11904: 0xEAF5,
+ 33366 - 11904: 0xEAF6,
+ 33367 - 11904: 0xEAF7,
+ 33368 - 11904: 0xBFB4,
+ 33369 - 11904: 0xBFB5,
+ 33370 - 11904: 0xEDF1,
+ 33371 - 11904: 0xEDF0,
+ 33372 - 11904: 0xEDF2,
+ 33374 - 11904: 0xF0A3,
+ 33375 - 11904: 0xF0A2,
+ 33377 - 11904: 0xF2C4,
+ 33378 - 11904: 0x956B,
+ 33379 - 11904: 0xF2C5,
+ 33380 - 11904: 0xF2C3,
+ 33381 - 11904: 0x956C,
+ 33382 - 11904: 0xC4A5,
+ 33384 - 11904: 0xF4B6,
+ 33385 - 11904: 0xF4B7,
+ 33387 - 11904: 0xF746,
+ 33388 - 11904: 0xF7EF,
+ 33389 - 11904: 0xF8BB,
+ 33390 - 11904: 0xA6E1,
+ 33391 - 11904: 0xA87D,
+ 33393 - 11904: 0xC17D,
+ 33394 - 11904: 0xA6E2,
+ 33396 - 11904: 0xD758,
+ 33397 - 11904: 0xDB5B,
+ 33398 - 11904: 0x99AF,
+ 33399 - 11904: 0xC641,
+ 33400 - 11904: 0xCA4A,
+ 33401 - 11904: 0x994A,
+ 33402 - 11904: 0x8976,
+ 33403 - 11904: 0x8F48,
+ 33404 - 11904: 0xCA4B,
+ 33405 - 11904: 0xCA4D,
+ 33406 - 11904: 0xA6E3,
+ 33407 - 11904: 0xCA4E,
+ 33408 - 11904: 0xCA4C,
+ 33411 - 11904: 0xCBA2,
+ 33412 - 11904: 0xCBA3,
+ 33413 - 11904: 0xCB7B,
+ 33415 - 11904: 0xFBEE,
+ 33418 - 11904: 0xCBA1,
+ 33419 - 11904: 0xA8A1,
+ 33421 - 11904: 0xA8A2,
+ 33422 - 11904: 0xCB7C,
+ 33423 - 11904: 0xCB7A,
+ 33424 - 11904: 0xCB79,
+ 33425 - 11904: 0xCB7D,
+ 33426 - 11904: 0xA87E,
+ 33427 - 11904: 0xCB7E,
+ 33428 - 11904: 0xD06A,
+ 33432 - 11904: 0xCDB6,
+ 33433 - 11904: 0xAADC,
+ 33434 - 11904: 0xCDB5,
+ 33435 - 11904: 0xCDB7,
+ 33437 - 11904: 0xAADB,
+ 33438 - 11904: 0xCDBC,
+ 33439 - 11904: 0xAADF,
+ 33440 - 11904: 0xCDB2,
+ 33441 - 11904: 0xCDC0,
+ 33442 - 11904: 0xCDC6,
+ 33443 - 11904: 0xAAE6,
+ 33444 - 11904: 0xCDC3,
+ 33445 - 11904: 0xAAE3,
+ 33446 - 11904: 0x99AE,
+ 33447 - 11904: 0xCDB9,
+ 33448 - 11904: 0xCDBF,
+ 33449 - 11904: 0xCDC1,
+ 33450 - 11904: 0x8EFB,
+ 33451 - 11904: 0xCDB4,
+ 33452 - 11904: 0xAAE2,
+ 33453 - 11904: 0xAADD,
+ 33454 - 11904: 0xCDBA,
+ 33455 - 11904: 0xAAE4,
+ 33456 - 11904: 0xAAE7,
+ 33457 - 11904: 0xAAE1,
+ 33459 - 11904: 0xAADA,
+ 33460 - 11904: 0xCDBE,
+ 33461 - 11904: 0xCDB8,
+ 33462 - 11904: 0xCDC5,
+ 33463 - 11904: 0xAAE9,
+ 33464 - 11904: 0xAAE5,
+ 33465 - 11904: 0xAAE0,
+ 33466 - 11904: 0xCDBD,
+ 33467 - 11904: 0xAFEC,
+ 33468 - 11904: 0xCDBB,
+ 33469 - 11904: 0xAADE,
+ 33470 - 11904: 0xAAE8,
+ 33471 - 11904: 0x8CD0,
+ 33472 - 11904: 0xCDB3,
+ 33474 - 11904: 0xCDC2,
+ 33475 - 11904: 0xCDC4,
+ 33476 - 11904: 0x8B52,
+ 33482 - 11904: 0x99B0,
+ 33487 - 11904: 0x8977,
+ 33488 - 11904: 0x8F41,
+ 33489 - 11904: 0xAD62,
+ 33490 - 11904: 0xAD5C,
+ 33491 - 11904: 0xAD64,
+ 33492 - 11904: 0xAD61,
+ 33493 - 11904: 0xD071,
+ 33494 - 11904: 0xD074,
+ 33495 - 11904: 0xAD5D,
+ 33496 - 11904: 0x99B1,
+ 33497 - 11904: 0xD06B,
+ 33499 - 11904: 0xAD56,
+ 33500 - 11904: 0xAD60,
+ 33502 - 11904: 0xAD63,
+ 33503 - 11904: 0xAD65,
+ 33504 - 11904: 0xD0A2,
+ 33505 - 11904: 0xD077,
+ 33506 - 11904: 0x8F49,
+ 33507 - 11904: 0xAD55,
+ 33508 - 11904: 0xD0A1,
+ 33509 - 11904: 0xAD59,
+ 33510 - 11904: 0xAD57,
+ 33511 - 11904: 0xAD52,
+ 33512 - 11904: 0xD06F,
+ 33514 - 11904: 0xD07E,
+ 33515 - 11904: 0xD073,
+ 33516 - 11904: 0xD076,
+ 33517 - 11904: 0xD0A5,
+ 33518 - 11904: 0xFA4D,
+ 33519 - 11904: 0xAD66,
+ 33520 - 11904: 0xD07D,
+ 33521 - 11904: 0xAD5E,
+ 33522 - 11904: 0xD078,
+ 33523 - 11904: 0xD0A4,
+ 33524 - 11904: 0xD075,
+ 33525 - 11904: 0xD079,
+ 33526 - 11904: 0xD07C,
+ 33527 - 11904: 0x9DE4,
+ 33528 - 11904: 0x8CB5,
+ 33529 - 11904: 0xD06D,
+ 33530 - 11904: 0xD0A3,
+ 33531 - 11904: 0xD07B,
+ 33532 - 11904: 0xFBE9,
+ 33533 - 11904: 0x9B54,
+ 33534 - 11904: 0xD06C,
+ 33535 - 11904: 0x99B2,
+ 33536 - 11904: 0xD070,
+ 33537 - 11904: 0xAD5F,
+ 33538 - 11904: 0xAD5A,
+ 33539 - 11904: 0xAD53,
+ 33540 - 11904: 0xAD58,
+ 33541 - 11904: 0xAD54,
+ 33542 - 11904: 0xAD67,
+ 33543 - 11904: 0xD06E,
+ 33544 - 11904: 0xD3A5,
+ 33545 - 11904: 0xAD5B,
+ 33547 - 11904: 0x9E68,
+ 33548 - 11904: 0xD07A,
+ 33549 - 11904: 0xCE41,
+ 33558 - 11904: 0xD3A8,
+ 33559 - 11904: 0xAFFA,
+ 33560 - 11904: 0x8F4A,
+ 33561 - 11904: 0xD376,
+ 33562 - 11904: 0x8F42,
+ 33563 - 11904: 0xD3A3,
+ 33564 - 11904: 0xD37D,
+ 33565 - 11904: 0x8F51,
+ 33566 - 11904: 0xD3B2,
+ 33568 - 11904: 0xD3AA,
+ 33570 - 11904: 0xD37E,
+ 33572 - 11904: 0xD3A9,
+ 33573 - 11904: 0xD378,
+ 33574 - 11904: 0xD37C,
+ 33575 - 11904: 0xD3B5,
+ 33576 - 11904: 0xAFFD,
+ 33577 - 11904: 0xD3AD,
+ 33578 - 11904: 0xD3A4,
+ 33579 - 11904: 0xAFED,
+ 33580 - 11904: 0xD3B3,
+ 33581 - 11904: 0xD374,
+ 33583 - 11904: 0xD3AC,
+ 33585 - 11904: 0xAFFC,
+ 33586 - 11904: 0xAFF7,
+ 33587 - 11904: 0xD373,
+ 33588 - 11904: 0xAFF5,
+ 33589 - 11904: 0xAFF4,
+ 33590 - 11904: 0xAFF9,
+ 33591 - 11904: 0xD3AB,
+ 33592 - 11904: 0xAFF1,
+ 33593 - 11904: 0xAFF8,
+ 33594 - 11904: 0xD072,
+ 33595 - 11904: 0xDB5C,
+ 33596 - 11904: 0xD3A6,
+ 33597 - 11904: 0x9846,
+ 33599 - 11904: 0xD37A,
+ 33600 - 11904: 0xAFFB,
+ 33601 - 11904: 0xD37B,
+ 33602 - 11904: 0xD3A1,
+ 33603 - 11904: 0xAFFE,
+ 33604 - 11904: 0xD375,
+ 33605 - 11904: 0xD3AF,
+ 33607 - 11904: 0xD3AE,
+ 33608 - 11904: 0xD3B6,
+ 33609 - 11904: 0xAFF3,
+ 33610 - 11904: 0xAFF0,
+ 33611 - 11904: 0xD3B4,
+ 33612 - 11904: 0xD3B0,
+ 33613 - 11904: 0xD3A7,
+ 33614 - 11904: 0xD3A2,
+ 33615 - 11904: 0xAFF6,
+ 33616 - 11904: 0xAFF2,
+ 33617 - 11904: 0xD377,
+ 33618 - 11904: 0xAFEE,
+ 33619 - 11904: 0xD3B1,
+ 33620 - 11904: 0xAFEF,
+ 33622 - 11904: 0xD379,
+ 33623 - 11904: 0x99B4,
+ 33634 - 11904: 0x8EF5,
+ 33635 - 11904: 0xFD55,
+ 33638 - 11904: 0x9CCD,
+ 33647 - 11904: 0x8978,
+ 33651 - 11904: 0xD75E,
+ 33652 - 11904: 0xD760,
+ 33653 - 11904: 0xD765,
+ 33654 - 11904: 0xD779,
+ 33655 - 11904: 0xB2FC,
+ 33656 - 11904: 0xB2F2,
+ 33658 - 11904: 0xD75D,
+ 33659 - 11904: 0xB2FD,
+ 33660 - 11904: 0xB2FE,
+ 33661 - 11904: 0xD768,
+ 33662 - 11904: 0xD76F,
+ 33663 - 11904: 0xD775,
+ 33665 - 11904: 0xD762,
+ 33667 - 11904: 0xD769,
+ 33669 - 11904: 0x8F53,
+ 33670 - 11904: 0xB340,
+ 33671 - 11904: 0xD777,
+ 33672 - 11904: 0xD772,
+ 33673 - 11904: 0xB2FA,
+ 33674 - 11904: 0xB2F8,
+ 33675 - 11904: 0xD76E,
+ 33676 - 11904: 0xD76A,
+ 33677 - 11904: 0xD75C,
+ 33678 - 11904: 0xB2EF,
+ 33679 - 11904: 0xD761,
+ 33680 - 11904: 0xD759,
+ 33681 - 11904: 0x8F6F,
+ 33682 - 11904: 0xB2F7,
+ 33683 - 11904: 0xB2F9,
+ 33684 - 11904: 0xD766,
+ 33685 - 11904: 0xD763,
+ 33686 - 11904: 0xB2F4,
+ 33687 - 11904: 0xD773,
+ 33688 - 11904: 0xB2F1,
+ 33689 - 11904: 0xD764,
+ 33690 - 11904: 0xD77A,
+ 33691 - 11904: 0xD76C,
+ 33692 - 11904: 0x8E63,
+ 33693 - 11904: 0xD76B,
+ 33694 - 11904: 0xB2F0,
+ 33696 - 11904: 0xB2FB,
+ 33698 - 11904: 0xB2F3,
+ 33699 - 11904: 0xD75A,
+ 33700 - 11904: 0xD75F,
+ 33701 - 11904: 0xD770,
+ 33702 - 11904: 0xD776,
+ 33703 - 11904: 0xB341,
+ 33704 - 11904: 0xD75B,
+ 33705 - 11904: 0xD767,
+ 33706 - 11904: 0xD76D,
+ 33707 - 11904: 0xB2F6,
+ 33708 - 11904: 0x8F56,
+ 33710 - 11904: 0xD778,
+ 33711 - 11904: 0xD771,
+ 33712 - 11904: 0xD774,
+ 33721 - 11904: 0xFE76,
+ 33725 - 11904: 0xB2F5,
+ 33726 - 11904: 0x9FC6,
+ 33727 - 11904: 0xDB6C,
+ 33728 - 11904: 0xDB60,
+ 33729 - 11904: 0xB5D7,
+ 33730 - 11904: 0xDB7D,
+ 33731 - 11904: 0xDBA7,
+ 33732 - 11904: 0xDBAA,
+ 33733 - 11904: 0xB5D5,
+ 33734 - 11904: 0xDB68,
+ 33735 - 11904: 0xDBA3,
+ 33736 - 11904: 0xDB69,
+ 33737 - 11904: 0xDB77,
+ 33738 - 11904: 0xB5E2,
+ 33739 - 11904: 0xDB73,
+ 33740 - 11904: 0xB5DF,
+ 33741 - 11904: 0xFAAC,
+ 33742 - 11904: 0xDB74,
+ 33743 - 11904: 0xDB5D,
+ 33745 - 11904: 0xDBA4,
+ 33747 - 11904: 0x8F58,
+ 33748 - 11904: 0xB5E8,
+ 33749 - 11904: 0xDBA1,
+ 33750 - 11904: 0xDB75,
+ 33751 - 11904: 0xDBAC,
+ 33752 - 11904: 0xDB70,
+ 33753 - 11904: 0xDFC8,
+ 33755 - 11904: 0xDBAF,
+ 33756 - 11904: 0xB5E6,
+ 33757 - 11904: 0xDB6E,
+ 33758 - 11904: 0xDB7A,
+ 33759 - 11904: 0xB5E9,
+ 33760 - 11904: 0xB5D4,
+ 33761 - 11904: 0xDB72,
+ 33762 - 11904: 0xDBAD,
+ 33763 - 11904: 0xDB6B,
+ 33764 - 11904: 0xDB64,
+ 33765 - 11904: 0xDB6F,
+ 33767 - 11904: 0xDB63,
+ 33768 - 11904: 0xDB61,
+ 33769 - 11904: 0xB5D0,
+ 33770 - 11904: 0xDBA5,
+ 33771 - 11904: 0xDB6A,
+ 33772 - 11904: 0xDBA8,
+ 33773 - 11904: 0x9848,
+ 33774 - 11904: 0xDBA9,
+ 33775 - 11904: 0xB5D8,
+ 33776 - 11904: 0xB5DD,
+ 33777 - 11904: 0xB5D9,
+ 33778 - 11904: 0xB5E1,
+ 33779 - 11904: 0xDB7E,
+ 33780 - 11904: 0xB5DA,
+ 33781 - 11904: 0xDB76,
+ 33782 - 11904: 0xDB66,
+ 33784 - 11904: 0xB5D2,
+ 33785 - 11904: 0xDB5E,
+ 33786 - 11904: 0xDBA2,
+ 33787 - 11904: 0xDBAB,
+ 33788 - 11904: 0xDB65,
+ 33789 - 11904: 0xB5E0,
+ 33790 - 11904: 0xDBB0,
+ 33791 - 11904: 0xDB71,
+ 33793 - 11904: 0xDB6D,
+ 33795 - 11904: 0xB5D1,
+ 33796 - 11904: 0xB5E5,
+ 33797 - 11904: 0x99B7,
+ 33798 - 11904: 0xDB7C,
+ 33799 - 11904: 0xB5E7,
+ 33801 - 11904: 0xDB78,
+ 33802 - 11904: 0xB5DC,
+ 33803 - 11904: 0xB5D6,
+ 33804 - 11904: 0xB5DE,
+ 33805 - 11904: 0xB5D3,
+ 33806 - 11904: 0xB5E4,
+ 33807 - 11904: 0xDB79,
+ 33808 - 11904: 0xDB67,
+ 33809 - 11904: 0xDB7B,
+ 33810 - 11904: 0xDB62,
+ 33811 - 11904: 0xDBA6,
+ 33812 - 11904: 0x9665,
+ 33814 - 11904: 0xFA6C,
+ 33816 - 11904: 0x9DE7,
+ 33819 - 11904: 0xDBAE,
+ 33820 - 11904: 0x9E62,
+ 33824 - 11904: 0x96CC,
+ 33825 - 11904: 0x8E67,
+ 33827 - 11904: 0xDB5F,
+ 33828 - 11904: 0xFC75,
+ 33830 - 11904: 0x987E,
+ 33833 - 11904: 0xDFC7,
+ 33835 - 11904: 0xDFDD,
+ 33836 - 11904: 0xB855,
+ 33837 - 11904: 0xDFCC,
+ 33838 - 11904: 0xFDB9,
+ 33839 - 11904: 0xDFCA,
+ 33840 - 11904: 0xDFB5,
+ 33841 - 11904: 0xB8A9,
+ 33842 - 11904: 0xDFC5,
+ 33843 - 11904: 0xDFD9,
+ 33844 - 11904: 0xDFC1,
+ 33845 - 11904: 0xB8B1,
+ 33846 - 11904: 0xDFD8,
+ 33847 - 11904: 0xDFBF,
+ 33848 - 11904: 0xB5E3,
+ 33849 - 11904: 0xDFCF,
+ 33850 - 11904: 0xDFC0,
+ 33851 - 11904: 0xDFD6,
+ 33852 - 11904: 0xB8B0,
+ 33853 - 11904: 0xB8A8,
+ 33854 - 11904: 0x97FC,
+ 33855 - 11904: 0xDFAA,
+ 33856 - 11904: 0xDFB2,
+ 33858 - 11904: 0xDFCB,
+ 33859 - 11904: 0xDFC3,
+ 33860 - 11904: 0xDFDC,
+ 33861 - 11904: 0xDFC6,
+ 33862 - 11904: 0xB8B6,
+ 33863 - 11904: 0xDFD7,
+ 33864 - 11904: 0x98F9,
+ 33865 - 11904: 0xB8AD,
+ 33866 - 11904: 0x8F66,
+ 33867 - 11904: 0xDFC9,
+ 33868 - 11904: 0xDFD1,
+ 33869 - 11904: 0xDFB6,
+ 33870 - 11904: 0xDFD0,
+ 33872 - 11904: 0xDFE1,
+ 33873 - 11904: 0xDFB1,
+ 33874 - 11904: 0xDFD2,
+ 33875 - 11904: 0x956E,
+ 33876 - 11904: 0xDFDF,
+ 33877 - 11904: 0x9245,
+ 33878 - 11904: 0xDFAB,
+ 33879 - 11904: 0xB5DB,
+ 33880 - 11904: 0x8F60,
+ 33881 - 11904: 0xDFB9,
+ 33882 - 11904: 0xDFB8,
+ 33883 - 11904: 0xB8AF,
+ 33884 - 11904: 0x9ED1,
+ 33885 - 11904: 0xDFBC,
+ 33886 - 11904: 0xDFBE,
+ 33887 - 11904: 0xDFCD,
+ 33888 - 11904: 0xDFDE,
+ 33889 - 11904: 0xB8B2,
+ 33890 - 11904: 0xFECD,
+ 33891 - 11904: 0xB8B3,
+ 33892 - 11904: 0x99B9,
+ 33893 - 11904: 0xDFB0,
+ 33894 - 11904: 0xB8AB,
+ 33895 - 11904: 0xDFB4,
+ 33896 - 11904: 0xDFDA,
+ 33897 - 11904: 0xB8B4,
+ 33899 - 11904: 0xB8AC,
+ 33900 - 11904: 0xB8AE,
+ 33901 - 11904: 0xB8B5,
+ 33902 - 11904: 0xDFE0,
+ 33903 - 11904: 0xDFD3,
+ 33904 - 11904: 0xDFCE,
+ 33905 - 11904: 0x8F62,
+ 33906 - 11904: 0x974C,
+ 33907 - 11904: 0xDFBB,
+ 33908 - 11904: 0xDFBA,
+ 33909 - 11904: 0xB8AA,
+ 33910 - 11904: 0xDFAC,
+ 33911 - 11904: 0xB8A7,
+ 33912 - 11904: 0xDFC4,
+ 33913 - 11904: 0xDFAD,
+ 33914 - 11904: 0xDFC2,
+ 33917 - 11904: 0xDFB7,
+ 33918 - 11904: 0xDFDB,
+ 33919 - 11904: 0x91C7,
+ 33920 - 11904: 0x955F,
+ 33922 - 11904: 0xB8A6,
+ 33924 - 11904: 0x87AB,
+ 33926 - 11904: 0xDFB3,
+ 33928 - 11904: 0x99BB,
+ 33933 - 11904: 0xDFAF,
+ 33934 - 11904: 0xDFD5,
+ 33935 - 11904: 0xDFAE,
+ 33936 - 11904: 0xBB60,
+ 33937 - 11904: 0xE3D3,
+ 33938 - 11904: 0x8E6D,
+ 33939 - 11904: 0x8F71,
+ 33940 - 11904: 0xE3C2,
+ 33942 - 11904: 0x94CB,
+ 33943 - 11904: 0xE3AC,
+ 33944 - 11904: 0xE3CA,
+ 33945 - 11904: 0xBB58,
+ 33946 - 11904: 0xE3BB,
+ 33947 - 11904: 0xE3C5,
+ 33948 - 11904: 0xBB5B,
+ 33949 - 11904: 0xE3BE,
+ 33950 - 11904: 0xBB59,
+ 33951 - 11904: 0xE3AF,
+ 33952 - 11904: 0xE3CD,
+ 33953 - 11904: 0xE3AE,
+ 33954 - 11904: 0xE3C1,
+ 33955 - 11904: 0x95B1,
+ 33956 - 11904: 0xE3AD,
+ 33959 - 11904: 0xE3BF,
+ 33960 - 11904: 0xE3C8,
+ 33961 - 11904: 0xE3C6,
+ 33962 - 11904: 0xE3BA,
+ 33963 - 11904: 0xE3B5,
+ 33964 - 11904: 0xE3B3,
+ 33965 - 11904: 0x9AF2,
+ 33966 - 11904: 0xE3B4,
+ 33967 - 11904: 0xE3C7,
+ 33968 - 11904: 0xE3D2,
+ 33969 - 11904: 0xE3BC,
+ 33970 - 11904: 0xBB5A,
+ 33972 - 11904: 0xE3B7,
+ 33974 - 11904: 0xE3CB,
+ 33976 - 11904: 0xBB5D,
+ 33977 - 11904: 0xE3B6,
+ 33978 - 11904: 0xE3B0,
+ 33979 - 11904: 0xE3C0,
+ 33980 - 11904: 0xBB61,
+ 33981 - 11904: 0x96C3,
+ 33982 - 11904: 0x99BD,
+ 33983 - 11904: 0xBB55,
+ 33984 - 11904: 0xBB5E,
+ 33985 - 11904: 0xE3B8,
+ 33986 - 11904: 0xE3B2,
+ 33988 - 11904: 0xBB57,
+ 33989 - 11904: 0xDFD4,
+ 33990 - 11904: 0xBB56,
+ 33991 - 11904: 0xE3C3,
+ 33993 - 11904: 0xBB54,
+ 33994 - 11904: 0xBB63,
+ 33995 - 11904: 0xBB5C,
+ 33996 - 11904: 0xE3C4,
+ 33997 - 11904: 0xE3B9,
+ 33998 - 11904: 0xE3B1,
+ 33999 - 11904: 0xE3CC,
+ 34000 - 11904: 0xE3BD,
+ 34001 - 11904: 0xBB62,
+ 34002 - 11904: 0xE3D0,
+ 34003 - 11904: 0xBB5F,
+ 34004 - 11904: 0xE3CF,
+ 34006 - 11904: 0xE3C9,
+ 34007 - 11904: 0xE3CE,
+ 34010 - 11904: 0xA0CF,
+ 34011 - 11904: 0xE3D1,
+ 34014 - 11904: 0x8F6D,
+ 34017 - 11904: 0x99BE,
+ 34018 - 11904: 0x8EF4,
+ 34020 - 11904: 0x8F72,
+ 34021 - 11904: 0x95E4,
+ 34023 - 11904: 0xE773,
+ 34024 - 11904: 0xE774,
+ 34025 - 11904: 0xE767,
+ 34026 - 11904: 0xE766,
+ 34027 - 11904: 0xE762,
+ 34028 - 11904: 0xBDB4,
+ 34030 - 11904: 0xBDAC,
+ 34031 - 11904: 0xE776,
+ 34032 - 11904: 0xE775,
+ 34033 - 11904: 0xDFA9,
+ 34034 - 11904: 0xE75F,
+ 34035 - 11904: 0xE763,
+ 34036 - 11904: 0xE75D,
+ 34038 - 11904: 0xE770,
+ 34039 - 11904: 0xE761,
+ 34040 - 11904: 0x99BF,
+ 34041 - 11904: 0xE777,
+ 34042 - 11904: 0xE75A,
+ 34043 - 11904: 0xE758,
+ 34044 - 11904: 0xE764,
+ 34045 - 11904: 0xE76E,
+ 34046 - 11904: 0xE769,
+ 34047 - 11904: 0xBDB6,
+ 34048 - 11904: 0xE74F,
+ 34050 - 11904: 0xE76D,
+ 34051 - 11904: 0x9244,
+ 34052 - 11904: 0x87D7,
+ 34053 - 11904: 0xFBA5,
+ 34054 - 11904: 0xBDB7,
+ 34055 - 11904: 0xDFBD,
+ 34056 - 11904: 0xE75B,
+ 34057 - 11904: 0xE752,
+ 34058 - 11904: 0xE755,
+ 34059 - 11904: 0xE77B,
+ 34060 - 11904: 0xE75C,
+ 34061 - 11904: 0xE753,
+ 34062 - 11904: 0xE751,
+ 34063 - 11904: 0xE74E,
+ 34064 - 11904: 0x99C0,
+ 34065 - 11904: 0xBDB0,
+ 34066 - 11904: 0xE765,
+ 34067 - 11904: 0xBDAF,
+ 34068 - 11904: 0xBDB3,
+ 34069 - 11904: 0xE760,
+ 34070 - 11904: 0xE768,
+ 34071 - 11904: 0xBDA9,
+ 34072 - 11904: 0xE778,
+ 34073 - 11904: 0xE77C,
+ 34074 - 11904: 0xBDAB,
+ 34076 - 11904: 0xE757,
+ 34077 - 11904: 0xE76B,
+ 34078 - 11904: 0xE76F,
+ 34079 - 11904: 0xE754,
+ 34080 - 11904: 0xE779,
+ 34081 - 11904: 0xBDB2,
+ 34083 - 11904: 0xBDB1,
+ 34084 - 11904: 0xE74C,
+ 34085 - 11904: 0xBDB5,
+ 34086 - 11904: 0xE772,
+ 34087 - 11904: 0xE756,
+ 34088 - 11904: 0xE76A,
+ 34089 - 11904: 0xE750,
+ 34090 - 11904: 0xE75E,
+ 34091 - 11904: 0xE759,
+ 34092 - 11904: 0xBDAD,
+ 34093 - 11904: 0xBDAE,
+ 34094 - 11904: 0xE76C,
+ 34095 - 11904: 0xE77D,
+ 34096 - 11904: 0xE77A,
+ 34097 - 11904: 0xE771,
+ 34099 - 11904: 0xFDB4,
+ 34100 - 11904: 0x8F77,
+ 34104 - 11904: 0x99C1,
+ 34107 - 11904: 0xE74D,
+ 34109 - 11904: 0xBDAA,
+ 34110 - 11904: 0xEB49,
+ 34112 - 11904: 0xEB40,
+ 34113 - 11904: 0xEB43,
+ 34114 - 11904: 0xFAB9,
+ 34115 - 11904: 0xBFBB,
+ 34116 - 11904: 0xEB45,
+ 34117 - 11904: 0xEAF9,
+ 34118 - 11904: 0xEB41,
+ 34119 - 11904: 0xEB47,
+ 34120 - 11904: 0xBFB8,
+ 34121 - 11904: 0xBFBC,
+ 34122 - 11904: 0xBFB6,
+ 34123 - 11904: 0x8F40,
+ 34124 - 11904: 0xFA44,
+ 34125 - 11904: 0xEAFB,
+ 34126 - 11904: 0xEB4C,
+ 34129 - 11904: 0xEB46,
+ 34130 - 11904: 0x99C2,
+ 34131 - 11904: 0xEAFC,
+ 34132 - 11904: 0xEB55,
+ 34133 - 11904: 0xEB4F,
+ 34134 - 11904: 0xEAF8,
+ 34135 - 11904: 0xEE46,
+ 34136 - 11904: 0xEAFE,
+ 34137 - 11904: 0xBFB7,
+ 34138 - 11904: 0x8F5C,
+ 34139 - 11904: 0xEB4A,
+ 34141 - 11904: 0xEB54,
+ 34142 - 11904: 0xBFBF,
+ 34143 - 11904: 0x8CBD,
+ 34144 - 11904: 0xEB51,
+ 34145 - 11904: 0xEAFD,
+ 34146 - 11904: 0xEB44,
+ 34147 - 11904: 0xEB48,
+ 34148 - 11904: 0xEB42,
+ 34149 - 11904: 0xEB56,
+ 34150 - 11904: 0xEB53,
+ 34151 - 11904: 0xEB50,
+ 34152 - 11904: 0xBFB9,
+ 34153 - 11904: 0xBFBA,
+ 34154 - 11904: 0xBFBE,
+ 34155 - 11904: 0xEAFA,
+ 34156 - 11904: 0xEB57,
+ 34157 - 11904: 0xBFBD,
+ 34158 - 11904: 0xEB4D,
+ 34159 - 11904: 0x99C4,
+ 34160 - 11904: 0x99C5,
+ 34161 - 11904: 0xEB4B,
+ 34163 - 11904: 0x8F7B,
+ 34165 - 11904: 0xEB4E,
+ 34166 - 11904: 0xEE53,
+ 34167 - 11904: 0xEE40,
+ 34168 - 11904: 0xEE45,
+ 34169 - 11904: 0xEE52,
+ 34170 - 11904: 0xEE44,
+ 34171 - 11904: 0xEDFB,
+ 34172 - 11904: 0xEE41,
+ 34174 - 11904: 0xC1A2,
+ 34176 - 11904: 0xEDF4,
+ 34177 - 11904: 0xEE4D,
+ 34178 - 11904: 0xEE4F,
+ 34179 - 11904: 0xEDF3,
+ 34180 - 11904: 0xC1A1,
+ 34181 - 11904: 0xEE51,
+ 34182 - 11904: 0xEE49,
+ 34183 - 11904: 0xC1A8,
+ 34184 - 11904: 0xEE50,
+ 34185 - 11904: 0xEE42,
+ 34186 - 11904: 0xC1AA,
+ 34187 - 11904: 0xEDF9,
+ 34188 - 11904: 0xEB52,
+ 34189 - 11904: 0xEE4A,
+ 34190 - 11904: 0xEE47,
+ 34191 - 11904: 0xEDF5,
+ 34192 - 11904: 0xEE55,
+ 34193 - 11904: 0xC1A4,
+ 34195 - 11904: 0x8776,
+ 34196 - 11904: 0xC1A5,
+ 34197 - 11904: 0xEDF7,
+ 34198 - 11904: 0xEE48,
+ 34199 - 11904: 0x8CB6,
+ 34200 - 11904: 0xEE54,
+ 34201 - 11904: 0xEE4B,
+ 34202 - 11904: 0xEDFD,
+ 34203 - 11904: 0xC1A7,
+ 34204 - 11904: 0xC1A3,
+ 34205 - 11904: 0xEE4C,
+ 34206 - 11904: 0xEDFE,
+ 34207 - 11904: 0xEE56,
+ 34208 - 11904: 0xEDF8,
+ 34209 - 11904: 0xEE43,
+ 34210 - 11904: 0xEE4E,
+ 34211 - 11904: 0xEDFA,
+ 34212 - 11904: 0xEDFC,
+ 34214 - 11904: 0xC2CB,
+ 34215 - 11904: 0xEDF6,
+ 34216 - 11904: 0xC1A9,
+ 34217 - 11904: 0xC2C4,
+ 34218 - 11904: 0xC17E,
+ 34223 - 11904: 0xC1A6,
+ 34224 - 11904: 0xC2C8,
+ 34225 - 11904: 0xF0B3,
+ 34227 - 11904: 0xF0A9,
+ 34228 - 11904: 0xF0A4,
+ 34229 - 11904: 0xF0AA,
+ 34230 - 11904: 0xF0B4,
+ 34231 - 11904: 0xF0B8,
+ 34232 - 11904: 0xF0B7,
+ 34233 - 11904: 0xC2CA,
+ 34234 - 11904: 0xC2C9,
+ 34237 - 11904: 0xF0AB,
+ 34238 - 11904: 0xF0B9,
+ 34239 - 11904: 0xF0AE,
+ 34240 - 11904: 0xF0A6,
+ 34241 - 11904: 0x8FA3,
+ 34242 - 11904: 0xF0A8,
+ 34243 - 11904: 0xF0A7,
+ 34244 - 11904: 0xF0AD,
+ 34245 - 11904: 0xF0B2,
+ 34246 - 11904: 0xF0A5,
+ 34247 - 11904: 0xF0AC,
+ 34248 - 11904: 0xF0B1,
+ 34249 - 11904: 0xC2C7,
+ 34251 - 11904: 0xF0AF,
+ 34253 - 11904: 0xC2C5,
+ 34254 - 11904: 0xF0B0,
+ 34255 - 11904: 0xC2C3,
+ 34256 - 11904: 0xC2C6,
+ 34257 - 11904: 0xF2D5,
+ 34258 - 11904: 0xF0B5,
+ 34261 - 11904: 0xC3C2,
+ 34262 - 11904: 0x8CCE,
+ 34263 - 11904: 0xF2CD,
+ 34264 - 11904: 0xF2D1,
+ 34265 - 11904: 0xF2C9,
+ 34266 - 11904: 0xF2CC,
+ 34268 - 11904: 0xF2D4,
+ 34269 - 11904: 0xC3C0,
+ 34270 - 11904: 0xF2D9,
+ 34271 - 11904: 0xF2D2,
+ 34272 - 11904: 0x99C6,
+ 34273 - 11904: 0xF2CA,
+ 34274 - 11904: 0xF2DA,
+ 34275 - 11904: 0xF2D3,
+ 34276 - 11904: 0xC3C3,
+ 34277 - 11904: 0xC3C4,
+ 34278 - 11904: 0xF2D7,
+ 34280 - 11904: 0xF2CB,
+ 34281 - 11904: 0xC3BF,
+ 34282 - 11904: 0xC3C1,
+ 34283 - 11904: 0xF2C6,
+ 34284 - 11904: 0xF2CE,
+ 34285 - 11904: 0xF2C8,
+ 34286 - 11904: 0x96CD,
+ 34287 - 11904: 0xF2D8,
+ 34288 - 11904: 0xF2D6,
+ 34289 - 11904: 0xF2C7,
+ 34290 - 11904: 0xF2CF,
+ 34294 - 11904: 0xF4BE,
+ 34295 - 11904: 0xC3C5,
+ 34296 - 11904: 0xF2D0,
+ 34297 - 11904: 0xC4A7,
+ 34298 - 11904: 0xC4A9,
+ 34299 - 11904: 0xC4A6,
+ 34300 - 11904: 0x96C7,
+ 34301 - 11904: 0xF4C3,
+ 34302 - 11904: 0xF4BB,
+ 34303 - 11904: 0xF4B9,
+ 34304 - 11904: 0xF4BD,
+ 34305 - 11904: 0xF4BA,
+ 34306 - 11904: 0x8FA5,
+ 34308 - 11904: 0xF4BF,
+ 34309 - 11904: 0xF4C1,
+ 34310 - 11904: 0xC4AA,
+ 34311 - 11904: 0xC4AC,
+ 34313 - 11904: 0xF4C0,
+ 34314 - 11904: 0xC4AD,
+ 34315 - 11904: 0xC4AB,
+ 34316 - 11904: 0xF4C2,
+ 34317 - 11904: 0xFABB,
+ 34319 - 11904: 0x8C61,
+ 34320 - 11904: 0x9570,
+ 34321 - 11904: 0xC4A8,
+ 34323 - 11904: 0x87AF,
+ 34324 - 11904: 0x9368,
+ 34326 - 11904: 0x8F7E,
+ 34327 - 11904: 0xC4F4,
+ 34328 - 11904: 0xF5F1,
+ 34329 - 11904: 0xF5F7,
+ 34330 - 11904: 0xC4F6,
+ 34331 - 11904: 0xF4BC,
+ 34332 - 11904: 0xF5F6,
+ 34334 - 11904: 0xF5FD,
+ 34335 - 11904: 0xF5F4,
+ 34336 - 11904: 0xF5FB,
+ 34337 - 11904: 0xF5FA,
+ 34338 - 11904: 0xF4B8,
+ 34339 - 11904: 0xF5F5,
+ 34340 - 11904: 0xF0B6,
+ 34341 - 11904: 0xF5FE,
+ 34342 - 11904: 0xF5F3,
+ 34343 - 11904: 0xF5F8,
+ 34344 - 11904: 0x8FAA,
+ 34345 - 11904: 0xF5FC,
+ 34346 - 11904: 0xF5F2,
+ 34348 - 11904: 0xF74A,
+ 34349 - 11904: 0xC4F5,
+ 34350 - 11904: 0xF5F9,
+ 34351 - 11904: 0xA050,
+ 34353 - 11904: 0xF7F4,
+ 34354 - 11904: 0xF74B,
+ 34355 - 11904: 0xF749,
+ 34356 - 11904: 0xF747,
+ 34357 - 11904: 0xF748,
+ 34358 - 11904: 0xF74C,
+ 34360 - 11904: 0xC5D9,
+ 34361 - 11904: 0xF7F2,
+ 34362 - 11904: 0xF7F0,
+ 34363 - 11904: 0xF7F5,
+ 34364 - 11904: 0xF7F3,
+ 34366 - 11904: 0xF7F6,
+ 34367 - 11904: 0xC5DA,
+ 34368 - 11904: 0xF7F1,
+ 34370 - 11904: 0x90D3,
+ 34371 - 11904: 0xF8BC,
+ 34373 - 11904: 0x9556,
+ 34374 - 11904: 0xF945,
+ 34375 - 11904: 0xF946,
+ 34376 - 11904: 0xF947,
+ 34379 - 11904: 0xF9C7,
+ 34380 - 11904: 0xF9BD,
+ 34381 - 11904: 0xCA4F,
+ 34382 - 11904: 0xAAEA,
+ 34384 - 11904: 0xAD68,
+ 34386 - 11904: 0xD3B8,
+ 34387 - 11904: 0xD3B7,
+ 34388 - 11904: 0xB040,
+ 34389 - 11904: 0xB342,
+ 34390 - 11904: 0xD77C,
+ 34393 - 11904: 0xD77B,
+ 34395 - 11904: 0xB5EA,
+ 34396 - 11904: 0xB8B8,
+ 34398 - 11904: 0xB8B7,
+ 34399 - 11904: 0xB8B9,
+ 34401 - 11904: 0xE3D4,
+ 34402 - 11904: 0xE77E,
+ 34403 - 11904: 0xEB58,
+ 34404 - 11904: 0xEB5A,
+ 34405 - 11904: 0xEB59,
+ 34407 - 11904: 0xC1AB,
+ 34408 - 11904: 0xEE57,
+ 34409 - 11904: 0xF0BA,
+ 34410 - 11904: 0xF9A5,
+ 34411 - 11904: 0xA6E4,
+ 34412 - 11904: 0x8FB8,
+ 34413 - 11904: 0xCDC9,
+ 34414 - 11904: 0xCDCA,
+ 34415 - 11904: 0xCDC8,
+ 34416 - 11904: 0xCDC7,
+ 34417 - 11904: 0xAAEB,
+ 34418 - 11904: 0x99C8,
+ 34419 - 11904: 0xD0A9,
+ 34420 - 11904: 0xD0A7,
+ 34423 - 11904: 0xD0A6,
+ 34425 - 11904: 0xAD69,
+ 34426 - 11904: 0xAD6B,
+ 34427 - 11904: 0xAD6A,
+ 34428 - 11904: 0xD0A8,
+ 34430 - 11904: 0x8FAF,
+ 34437 - 11904: 0xD3C4,
+ 34438 - 11904: 0xD3C1,
+ 34439 - 11904: 0xD3BF,
+ 34442 - 11904: 0xB041,
+ 34443 - 11904: 0xD3C2,
+ 34444 - 11904: 0xB046,
+ 34445 - 11904: 0xD3BC,
+ 34446 - 11904: 0xD3CB,
+ 34448 - 11904: 0xD3CD,
+ 34449 - 11904: 0xD3BD,
+ 34450 - 11904: 0x99C9,
+ 34451 - 11904: 0xB043,
+ 34452 - 11904: 0xD3CE,
+ 34453 - 11904: 0xD3C9,
+ 34454 - 11904: 0xD3BB,
+ 34455 - 11904: 0xD3C0,
+ 34456 - 11904: 0xD3CA,
+ 34457 - 11904: 0xD3C6,
+ 34458 - 11904: 0xD3C3,
+ 34460 - 11904: 0xB048,
+ 34461 - 11904: 0xD3CC,
+ 34462 - 11904: 0xD3BE,
+ 34464 - 11904: 0x9579,
+ 34465 - 11904: 0xD3C7,
+ 34466 - 11904: 0xD3B9,
+ 34467 - 11904: 0xB047,
+ 34468 - 11904: 0xB044,
+ 34469 - 11904: 0xD3C5,
+ 34471 - 11904: 0xD3C8,
+ 34472 - 11904: 0xD3BA,
+ 34473 - 11904: 0xB045,
+ 34474 - 11904: 0xB042,
+ 34477 - 11904: 0x9F49,
+ 34479 - 11904: 0xB34C,
+ 34480 - 11904: 0xD7A5,
+ 34481 - 11904: 0xB34B,
+ 34482 - 11904: 0x99CA,
+ 34483 - 11904: 0xD7A8,
+ 34484 - 11904: 0xD7AB,
+ 34485 - 11904: 0xB348,
+ 34486 - 11904: 0xB346,
+ 34487 - 11904: 0xD77E,
+ 34488 - 11904: 0xD7A9,
+ 34489 - 11904: 0xD7A7,
+ 34490 - 11904: 0xD7A4,
+ 34491 - 11904: 0xD7AC,
+ 34492 - 11904: 0xD7AD,
+ 34493 - 11904: 0xD7AF,
+ 34494 - 11904: 0xD7B0,
+ 34495 - 11904: 0xD77D,
+ 34496 - 11904: 0xB345,
+ 34497 - 11904: 0xD7A2,
+ 34498 - 11904: 0xD7A1,
+ 34499 - 11904: 0xD7AE,
+ 34500 - 11904: 0xB347,
+ 34501 - 11904: 0xD7A3,
+ 34502 - 11904: 0xB349,
+ 34503 - 11904: 0xB344,
+ 34504 - 11904: 0xD7A6,
+ 34505 - 11904: 0xB34D,
+ 34507 - 11904: 0xB34A,
+ 34508 - 11904: 0xD7AA,
+ 34512 - 11904: 0xB5F1,
+ 34513 - 11904: 0xDBBF,
+ 34515 - 11904: 0xDBB4,
+ 34516 - 11904: 0xB5EE,
+ 34518 - 11904: 0xDFE7,
+ 34519 - 11904: 0xDBBD,
+ 34520 - 11904: 0xDBB1,
+ 34521 - 11904: 0xB5EC,
+ 34522 - 11904: 0xDBB6,
+ 34523 - 11904: 0xB5EF,
+ 34524 - 11904: 0xDBBA,
+ 34525 - 11904: 0xDBB8,
+ 34526 - 11904: 0xB5F2,
+ 34527 - 11904: 0xB5EB,
+ 34530 - 11904: 0xDBB2,
+ 34531 - 11904: 0xDBB5,
+ 34532 - 11904: 0xB5F0,
+ 34534 - 11904: 0xDBB3,
+ 34536 - 11904: 0xDBBE,
+ 34537 - 11904: 0xDBBC,
+ 34538 - 11904: 0xDBB7,
+ 34539 - 11904: 0xDBB9,
+ 34540 - 11904: 0xDBBB,
+ 34541 - 11904: 0xB5ED,
+ 34543 - 11904: 0x99CB,
+ 34549 - 11904: 0xDFE8,
+ 34550 - 11904: 0xDFEE,
+ 34551 - 11904: 0xDFE4,
+ 34552 - 11904: 0xDFEA,
+ 34553 - 11904: 0xB8BA,
+ 34554 - 11904: 0xDFE6,
+ 34555 - 11904: 0xB8C0,
+ 34558 - 11904: 0xB8BF,
+ 34560 - 11904: 0xB8BE,
+ 34561 - 11904: 0xDFED,
+ 34562 - 11904: 0xB8C1,
+ 34563 - 11904: 0xB8C2,
+ 34564 - 11904: 0xDFE3,
+ 34565 - 11904: 0xDFF0,
+ 34566 - 11904: 0xB8C3,
+ 34567 - 11904: 0xB8BD,
+ 34568 - 11904: 0xB8BC,
+ 34569 - 11904: 0xDFEC,
+ 34570 - 11904: 0xB8C4,
+ 34571 - 11904: 0xDFE2,
+ 34572 - 11904: 0xDFE5,
+ 34573 - 11904: 0xDFEF,
+ 34574 - 11904: 0xDFEB,
+ 34577 - 11904: 0xE3F4,
+ 34578 - 11904: 0xE3E9,
+ 34579 - 11904: 0xB8BB,
+ 34584 - 11904: 0xBB6A,
+ 34585 - 11904: 0xE3DD,
+ 34586 - 11904: 0xE3F2,
+ 34587 - 11904: 0xE3DE,
+ 34588 - 11904: 0xBB65,
+ 34590 - 11904: 0xE3DB,
+ 34592 - 11904: 0xE3E4,
+ 34593 - 11904: 0xE3DC,
+ 34594 - 11904: 0xBB67,
+ 34595 - 11904: 0xE3D6,
+ 34596 - 11904: 0xE3F1,
+ 34597 - 11904: 0xBB68,
+ 34598 - 11904: 0xE3EE,
+ 34599 - 11904: 0xE3EF,
+ 34600 - 11904: 0xE3D7,
+ 34601 - 11904: 0xBB6D,
+ 34602 - 11904: 0xE3E6,
+ 34604 - 11904: 0xE3E0,
+ 34605 - 11904: 0xE3E7,
+ 34606 - 11904: 0xE3DA,
+ 34608 - 11904: 0xE3F3,
+ 34609 - 11904: 0xE3EB,
+ 34610 - 11904: 0xE3E5,
+ 34611 - 11904: 0xE3D5,
+ 34612 - 11904: 0xBB69,
+ 34613 - 11904: 0xE3EC,
+ 34615 - 11904: 0xBB6C,
+ 34616 - 11904: 0xE3F0,
+ 34618 - 11904: 0xE3EA,
+ 34619 - 11904: 0xBB66,
+ 34620 - 11904: 0xE3E8,
+ 34622 - 11904: 0xE3E2,
+ 34623 - 11904: 0xBB64,
+ 34624 - 11904: 0xE3D9,
+ 34625 - 11904: 0xE3E1,
+ 34626 - 11904: 0xE3ED,
+ 34627 - 11904: 0xE3DF,
+ 34630 - 11904: 0xE3E3,
+ 34636 - 11904: 0xBDC1,
+ 34637 - 11904: 0xDFE9,
+ 34638 - 11904: 0xE7B2,
+ 34639 - 11904: 0xE7BB,
+ 34640 - 11904: 0xE7B1,
+ 34641 - 11904: 0xE7AD,
+ 34642 - 11904: 0xE7AA,
+ 34643 - 11904: 0xBDC2,
+ 34644 - 11904: 0xE7A8,
+ 34645 - 11904: 0xBB6B,
+ 34646 - 11904: 0xE7A1,
+ 34647 - 11904: 0xBDC0,
+ 34648 - 11904: 0xE7A7,
+ 34649 - 11904: 0xBDBF,
+ 34650 - 11904: 0xE7AC,
+ 34651 - 11904: 0xE7A9,
+ 34652 - 11904: 0xE7B9,
+ 34653 - 11904: 0xE7B4,
+ 34654 - 11904: 0xE7AE,
+ 34655 - 11904: 0xE7B3,
+ 34656 - 11904: 0xBDBB,
+ 34657 - 11904: 0xE7AB,
+ 34658 - 11904: 0xE7BE,
+ 34659 - 11904: 0xE7A2,
+ 34660 - 11904: 0xE7A3,
+ 34661 - 11904: 0xE7BA,
+ 34662 - 11904: 0xBDBC,
+ 34663 - 11904: 0xE7BF,
+ 34664 - 11904: 0xBDBE,
+ 34665 - 11904: 0xE7C0,
+ 34666 - 11904: 0xE7B0,
+ 34667 - 11904: 0xE3D8,
+ 34668 - 11904: 0xE7B6,
+ 34669 - 11904: 0xE7AF,
+ 34670 - 11904: 0xE7B8,
+ 34671 - 11904: 0xE7B5,
+ 34672 - 11904: 0x9DD5,
+ 34673 - 11904: 0x8FB0,
+ 34675 - 11904: 0xE7A6,
+ 34676 - 11904: 0xBDB9,
+ 34677 - 11904: 0xE7BD,
+ 34678 - 11904: 0xBDBA,
+ 34679 - 11904: 0xE7A4,
+ 34680 - 11904: 0xBDBD,
+ 34681 - 11904: 0xEB64,
+ 34682 - 11904: 0xE7B7,
+ 34683 - 11904: 0xE7BC,
+ 34685 - 11904: 0xFA7A,
+ 34689 - 11904: 0xEB61,
+ 34690 - 11904: 0xBDB8,
+ 34691 - 11904: 0xBFC0,
+ 34692 - 11904: 0xEB6B,
+ 34693 - 11904: 0xEB67,
+ 34694 - 11904: 0x9E5F,
+ 34695 - 11904: 0xEB65,
+ 34696 - 11904: 0xEB60,
+ 34697 - 11904: 0xEB6F,
+ 34699 - 11904: 0x99CD,
+ 34700 - 11904: 0xA0C9,
+ 34701 - 11904: 0xBFC4,
+ 34703 - 11904: 0xEB5C,
+ 34704 - 11904: 0xEB68,
+ 34705 - 11904: 0xEB69,
+ 34706 - 11904: 0xEB5F,
+ 34707 - 11904: 0xEB5E,
+ 34708 - 11904: 0xEB6C,
+ 34710 - 11904: 0xEB62,
+ 34711 - 11904: 0xEB5D,
+ 34712 - 11904: 0xEB63,
+ 34714 - 11904: 0xEB6E,
+ 34715 - 11904: 0xEB5B,
+ 34716 - 11904: 0xEB6D,
+ 34717 - 11904: 0xEB6A,
+ 34718 - 11904: 0xBFC2,
+ 34719 - 11904: 0xBFC1,
+ 34722 - 11904: 0xBFC3,
+ 34723 - 11904: 0xEB66,
+ 34724 - 11904: 0xF0CB,
+ 34725 - 11904: 0x9ADB,
+ 34729 - 11904: 0xA0C6,
+ 34730 - 11904: 0xEE59,
+ 34731 - 11904: 0xC1B1,
+ 34732 - 11904: 0xEE5D,
+ 34733 - 11904: 0xEE5A,
+ 34734 - 11904: 0xEE61,
+ 34735 - 11904: 0xEE67,
+ 34736 - 11904: 0xEE5C,
+ 34737 - 11904: 0x8FB4,
+ 34738 - 11904: 0xEE70,
+ 34739 - 11904: 0xC1AE,
+ 34740 - 11904: 0xEE6A,
+ 34741 - 11904: 0xEE5F,
+ 34742 - 11904: 0xEE6B,
+ 34743 - 11904: 0xEE66,
+ 34744 - 11904: 0xEE6D,
+ 34745 - 11904: 0xEE5E,
+ 34746 - 11904: 0xC1B3,
+ 34747 - 11904: 0xC1B2,
+ 34748 - 11904: 0xEE60,
+ 34749 - 11904: 0xEE6E,
+ 34750 - 11904: 0xEE58,
+ 34751 - 11904: 0xEE6C,
+ 34752 - 11904: 0xC1AC,
+ 34753 - 11904: 0xA0D7,
+ 34754 - 11904: 0xEE64,
+ 34755 - 11904: 0xEE63,
+ 34756 - 11904: 0xEE68,
+ 34757 - 11904: 0xEE5B,
+ 34758 - 11904: 0xC1B0,
+ 34760 - 11904: 0xC1B4,
+ 34761 - 11904: 0xEE62,
+ 34762 - 11904: 0xEE69,
+ 34763 - 11904: 0xC1B5,
+ 34764 - 11904: 0xEE65,
+ 34766 - 11904: 0xA0C7,
+ 34769 - 11904: 0xC1AD,
+ 34770 - 11904: 0xC1AF,
+ 34771 - 11904: 0xF0C7,
+ 34772 - 11904: 0xF0C5,
+ 34774 - 11904: 0xA043,
+ 34775 - 11904: 0xF0CC,
+ 34776 - 11904: 0xF0C9,
+ 34777 - 11904: 0xF0CD,
+ 34778 - 11904: 0x8FB5,
+ 34779 - 11904: 0xF0BE,
+ 34780 - 11904: 0xF0C6,
+ 34781 - 11904: 0xF0D1,
+ 34782 - 11904: 0xEE6F,
+ 34783 - 11904: 0xF0C2,
+ 34784 - 11904: 0xC2CF,
+ 34785 - 11904: 0xE7A5,
+ 34786 - 11904: 0xF0BD,
+ 34787 - 11904: 0xF0CA,
+ 34788 - 11904: 0xF0C4,
+ 34789 - 11904: 0xF0C1,
+ 34790 - 11904: 0xF0BC,
+ 34791 - 11904: 0xF0BB,
+ 34792 - 11904: 0xF0D0,
+ 34794 - 11904: 0xF0C0,
+ 34795 - 11904: 0xF0BF,
+ 34796 - 11904: 0xC2CD,
+ 34797 - 11904: 0xF0C8,
+ 34798 - 11904: 0x8FB2,
+ 34799 - 11904: 0xC2CC,
+ 34802 - 11904: 0xC2CE,
+ 34803 - 11904: 0xF0C3,
+ 34804 - 11904: 0xF0CF,
+ 34805 - 11904: 0xA061,
+ 34806 - 11904: 0xF2DE,
+ 34807 - 11904: 0xF2DF,
+ 34809 - 11904: 0xC3C9,
+ 34810 - 11904: 0xF2DC,
+ 34811 - 11904: 0xC3C6,
+ 34812 - 11904: 0xF2E4,
+ 34814 - 11904: 0xC3CA,
+ 34815 - 11904: 0xF2E6,
+ 34816 - 11904: 0xF2DB,
+ 34817 - 11904: 0xF0CE,
+ 34818 - 11904: 0xF2E8,
+ 34819 - 11904: 0xF2DD,
+ 34820 - 11904: 0x9E5E,
+ 34821 - 11904: 0xC3C7,
+ 34822 - 11904: 0xF2E3,
+ 34824 - 11904: 0xF2E5,
+ 34825 - 11904: 0xF2E0,
+ 34826 - 11904: 0xF2E7,
+ 34827 - 11904: 0xF2E2,
+ 34828 - 11904: 0xF2E1,
+ 34829 - 11904: 0xC3C8,
+ 34831 - 11904: 0xA063,
+ 34832 - 11904: 0xF4C5,
+ 34833 - 11904: 0xF4C6,
+ 34835 - 11904: 0xF4C8,
+ 34836 - 11904: 0xC4AE,
+ 34837 - 11904: 0xC4AF,
+ 34838 - 11904: 0xF4C9,
+ 34839 - 11904: 0xF4C7,
+ 34840 - 11904: 0x9FE8,
+ 34841 - 11904: 0xF4C4,
+ 34843 - 11904: 0xF642,
+ 34844 - 11904: 0xF645,
+ 34845 - 11904: 0xF641,
+ 34847 - 11904: 0xC4FA,
+ 34848 - 11904: 0xF643,
+ 34849 - 11904: 0xC4F9,
+ 34850 - 11904: 0xC4F8,
+ 34851 - 11904: 0xC4F7,
+ 34852 - 11904: 0xF644,
+ 34853 - 11904: 0xF751,
+ 34854 - 11904: 0xF74F,
+ 34855 - 11904: 0x9CB2,
+ 34856 - 11904: 0xF74E,
+ 34857 - 11904: 0xF640,
+ 34858 - 11904: 0xF750,
+ 34859 - 11904: 0xF646,
+ 34860 - 11904: 0xF74D,
+ 34861 - 11904: 0x957C,
+ 34862 - 11904: 0xF7F9,
+ 34863 - 11904: 0xF7D7,
+ 34864 - 11904: 0xF7F7,
+ 34865 - 11904: 0xC5DB,
+ 34866 - 11904: 0xF7F8,
+ 34867 - 11904: 0xF7FA,
+ 34869 - 11904: 0xF8BF,
+ 34870 - 11904: 0xC5FA,
+ 34871 - 11904: 0xF8BE,
+ 34872 - 11904: 0xF8BD,
+ 34873 - 11904: 0xC5FB,
+ 34875 - 11904: 0xC65A,
+ 34876 - 11904: 0xF96E,
+ 34877 - 11904: 0xF9A7,
+ 34878 - 11904: 0xF9A6,
+ 34879 - 11904: 0xF9A8,
+ 34880 - 11904: 0xA6E5,
+ 34881 - 11904: 0xD0AA,
+ 34882 - 11904: 0x9FC7,
+ 34883 - 11904: 0xD3CF,
+ 34884 - 11904: 0xD3D0,
+ 34885 - 11904: 0x8FBB,
+ 34886 - 11904: 0x8FBC,
+ 34888 - 11904: 0xDBC0,
+ 34890 - 11904: 0xF647,
+ 34891 - 11904: 0xF8C0,
+ 34892 - 11904: 0xA6E6,
+ 34893 - 11904: 0xAD6C,
+ 34894 - 11904: 0xD0AB,
+ 34895 - 11904: 0x8FEC,
+ 34898 - 11904: 0xD7B1,
+ 34899 - 11904: 0xB34E,
+ 34901 - 11904: 0xDBC2,
+ 34902 - 11904: 0xDBC1,
+ 34903 - 11904: 0xB5F3,
+ 34905 - 11904: 0xB8C5,
+ 34906 - 11904: 0xE7C1,
+ 34907 - 11904: 0xBDC3,
+ 34909 - 11904: 0xBDC4,
+ 34910 - 11904: 0x8FC0,
+ 34912 - 11904: 0x936A,
+ 34913 - 11904: 0xBFC5,
+ 34914 - 11904: 0xC5FC,
+ 34915 - 11904: 0xA6E7,
+ 34916 - 11904: 0x8BE4,
+ 34917 - 11904: 0x9C7C,
+ 34919 - 11904: 0xD0AC,
+ 34920 - 11904: 0xAAED,
+ 34921 - 11904: 0xD0AE,
+ 34922 - 11904: 0xD0AD,
+ 34923 - 11904: 0xAD6D,
+ 34925 - 11904: 0xD3D1,
+ 34926 - 11904: 0x95A1,
+ 34927 - 11904: 0xD3D8,
+ 34928 - 11904: 0xB049,
+ 34929 - 11904: 0xD3D6,
+ 34930 - 11904: 0xD3D4,
+ 34932 - 11904: 0xD3DB,
+ 34933 - 11904: 0xD3D2,
+ 34934 - 11904: 0xD3D3,
+ 34935 - 11904: 0xB04A,
+ 34937 - 11904: 0xB04E,
+ 34940 - 11904: 0xD3DC,
+ 34941 - 11904: 0xB04D,
+ 34942 - 11904: 0xD3DA,
+ 34943 - 11904: 0xD3D7,
+ 34944 - 11904: 0xD3D5,
+ 34945 - 11904: 0xB04B,
+ 34946 - 11904: 0xB04C,
+ 34947 - 11904: 0xD3D9,
+ 34948 - 11904: 0xFEEC,
+ 34951 - 11904: 0x95A3,
+ 34952 - 11904: 0xB350,
+ 34953 - 11904: 0xD7B2,
+ 34955 - 11904: 0xB355,
+ 34956 - 11904: 0xD7C2,
+ 34957 - 11904: 0xB354,
+ 34958 - 11904: 0xD7C4,
+ 34959 - 11904: 0x8C45,
+ 34960 - 11904: 0x8CB8,
+ 34961 - 11904: 0xD7B8,
+ 34962 - 11904: 0xB352,
+ 34963 - 11904: 0xD7C3,
+ 34965 - 11904: 0xD7B3,
+ 34966 - 11904: 0xB353,
+ 34967 - 11904: 0xD7BF,
+ 34968 - 11904: 0xD7BB,
+ 34969 - 11904: 0xD7BD,
+ 34970 - 11904: 0xD7B7,
+ 34971 - 11904: 0xD7BE,
+ 34972 - 11904: 0x8FC1,
+ 34973 - 11904: 0x87B7,
+ 34974 - 11904: 0xB34F,
+ 34975 - 11904: 0xD7BA,
+ 34976 - 11904: 0xA052,
+ 34977 - 11904: 0xD7B9,
+ 34978 - 11904: 0xD7B5,
+ 34980 - 11904: 0xD7C0,
+ 34983 - 11904: 0xD7BC,
+ 34984 - 11904: 0xD7B4,
+ 34986 - 11904: 0xD7B6,
+ 34987 - 11904: 0xB351,
+ 34988 - 11904: 0xD7C1,
+ 34990 - 11904: 0x99D0,
+ 34993 - 11904: 0xB5F6,
+ 34994 - 11904: 0xDBCD,
+ 34996 - 11904: 0x8FC3,
+ 34997 - 11904: 0x8FC4,
+ 34998 - 11904: 0xDBC9,
+ 34999 - 11904: 0xDBCB,
+ 35000 - 11904: 0xDBC6,
+ 35001 - 11904: 0xDBC5,
+ 35002 - 11904: 0xDBC3,
+ 35004 - 11904: 0xDBCA,
+ 35005 - 11904: 0xDBCC,
+ 35006 - 11904: 0xDBC8,
+ 35007 - 11904: 0x95A4,
+ 35008 - 11904: 0xDBC7,
+ 35009 - 11904: 0xB5F4,
+ 35010 - 11904: 0xB5F5,
+ 35013 - 11904: 0x8FC6,
+ 35015 - 11904: 0x9E60,
+ 35017 - 11904: 0xDBCF,
+ 35018 - 11904: 0xB8CD,
+ 35019 - 11904: 0xDFF2,
+ 35020 - 11904: 0xDFF8,
+ 35021 - 11904: 0xDFF3,
+ 35022 - 11904: 0xDFF4,
+ 35023 - 11904: 0xF9D8,
+ 35024 - 11904: 0xDFF9,
+ 35026 - 11904: 0xB8CF,
+ 35028 - 11904: 0xB8C7,
+ 35029 - 11904: 0xB8CE,
+ 35030 - 11904: 0xDFF1,
+ 35031 - 11904: 0xDBC4,
+ 35032 - 11904: 0xB8CA,
+ 35033 - 11904: 0xB8C8,
+ 35034 - 11904: 0xDFF7,
+ 35035 - 11904: 0xDFF6,
+ 35036 - 11904: 0xB8C9,
+ 35037 - 11904: 0xB8CB,
+ 35038 - 11904: 0xDFF5,
+ 35039 - 11904: 0xB8C6,
+ 35041 - 11904: 0xB8CC,
+ 35046 - 11904: 0x95A5,
+ 35047 - 11904: 0xE3F6,
+ 35048 - 11904: 0xBB74,
+ 35051 - 11904: 0xE442,
+ 35052 - 11904: 0xE441,
+ 35054 - 11904: 0xE3FB,
+ 35055 - 11904: 0xBB76,
+ 35056 - 11904: 0xE440,
+ 35057 - 11904: 0xE3F7,
+ 35058 - 11904: 0xE3F8,
+ 35059 - 11904: 0xBB6E,
+ 35060 - 11904: 0xBB70,
+ 35061 - 11904: 0x9CB3,
+ 35062 - 11904: 0xE3FD,
+ 35063 - 11904: 0xE3F5,
+ 35064 - 11904: 0xBB72,
+ 35065 - 11904: 0xBB71,
+ 35066 - 11904: 0xE3F9,
+ 35067 - 11904: 0xE3FE,
+ 35068 - 11904: 0xE3FC,
+ 35069 - 11904: 0xBB73,
+ 35070 - 11904: 0xE3FA,
+ 35071 - 11904: 0x99D1,
+ 35072 - 11904: 0xFEF1,
+ 35073 - 11904: 0xDBCE,
+ 35074 - 11904: 0xBB6F,
+ 35077 - 11904: 0xE7C2,
+ 35078 - 11904: 0xE7C9,
+ 35079 - 11904: 0xBDC6,
+ 35081 - 11904: 0xE7CD,
+ 35082 - 11904: 0xBDCA,
+ 35083 - 11904: 0xE7C5,
+ 35084 - 11904: 0xE7C3,
+ 35086 - 11904: 0xE7CC,
+ 35088 - 11904: 0xBDC5,
+ 35089 - 11904: 0xE7CB,
+ 35090 - 11904: 0xBDC7,
+ 35091 - 11904: 0xBDC8,
+ 35092 - 11904: 0xE7C4,
+ 35093 - 11904: 0xBDC9,
+ 35094 - 11904: 0xE7CA,
+ 35095 - 11904: 0xE7C6,
+ 35096 - 11904: 0xE7C7,
+ 35097 - 11904: 0xE7C8,
+ 35098 - 11904: 0xBB75,
+ 35102 - 11904: 0xEB70,
+ 35103 - 11904: 0xEB7C,
+ 35105 - 11904: 0xBFCA,
+ 35106 - 11904: 0xEB77,
+ 35107 - 11904: 0xEB79,
+ 35108 - 11904: 0x99D2,
+ 35109 - 11904: 0xBFC8,
+ 35110 - 11904: 0xEB71,
+ 35111 - 11904: 0xEB75,
+ 35113 - 11904: 0xEB78,
+ 35114 - 11904: 0xBFC6,
+ 35115 - 11904: 0xBFC9,
+ 35116 - 11904: 0xEB7B,
+ 35117 - 11904: 0xEB73,
+ 35118 - 11904: 0xEB74,
+ 35119 - 11904: 0xEB7A,
+ 35120 - 11904: 0xEB72,
+ 35121 - 11904: 0xEB76,
+ 35122 - 11904: 0xBFC7,
+ 35123 - 11904: 0xEE72,
+ 35125 - 11904: 0xEE71,
+ 35126 - 11904: 0xC1B7,
+ 35127 - 11904: 0xEE77,
+ 35128 - 11904: 0xC1B9,
+ 35131 - 11904: 0xC1B6,
+ 35132 - 11904: 0xEE73,
+ 35133 - 11904: 0xC1BA,
+ 35134 - 11904: 0xEE74,
+ 35137 - 11904: 0xEE75,
+ 35138 - 11904: 0xEE78,
+ 35139 - 11904: 0x9CC2,
+ 35140 - 11904: 0xC1B8,
+ 35142 - 11904: 0xF0D6,
+ 35143 - 11904: 0x99D3,
+ 35145 - 11904: 0xF0D9,
+ 35147 - 11904: 0xF0D3,
+ 35148 - 11904: 0xF0D5,
+ 35149 - 11904: 0x95A7,
+ 35151 - 11904: 0xF0D4,
+ 35152 - 11904: 0xF0D7,
+ 35153 - 11904: 0xF0D8,
+ 35154 - 11904: 0xEE76,
+ 35155 - 11904: 0xF0D2,
+ 35156 - 11904: 0x95A9,
+ 35158 - 11904: 0xC3CD,
+ 35159 - 11904: 0xF2EC,
+ 35160 - 11904: 0xF2EF,
+ 35161 - 11904: 0xF2F1,
+ 35162 - 11904: 0xF2EA,
+ 35163 - 11904: 0xF2EB,
+ 35164 - 11904: 0xF2EE,
+ 35165 - 11904: 0xF2F0,
+ 35166 - 11904: 0xC3CE,
+ 35167 - 11904: 0xC3CC,
+ 35168 - 11904: 0xC3CB,
+ 35169 - 11904: 0xF2ED,
+ 35170 - 11904: 0xF2E9,
+ 35171 - 11904: 0xF4CA,
+ 35172 - 11904: 0xC4B0,
+ 35173 - 11904: 0x95A6,
+ 35174 - 11904: 0xF4CB,
+ 35177 - 11904: 0xF649,
+ 35178 - 11904: 0xC4FB,
+ 35179 - 11904: 0xF64B,
+ 35180 - 11904: 0xC4FC,
+ 35181 - 11904: 0xF648,
+ 35182 - 11904: 0xF64A,
+ 35183 - 11904: 0xC5A8,
+ 35185 - 11904: 0xF752,
+ 35186 - 11904: 0xC5A7,
+ 35187 - 11904: 0xF7FD,
+ 35188 - 11904: 0xF7FC,
+ 35190 - 11904: 0xF7FB,
+ 35191 - 11904: 0x9C5D,
+ 35193 - 11904: 0xF948,
+ 35194 - 11904: 0xF949,
+ 35195 - 11904: 0xF94B,
+ 35196 - 11904: 0xF94A,
+ 35198 - 11904: 0xCA50,
+ 35199 - 11904: 0xA6E8,
+ 35200 - 11904: 0x98E2,
+ 35201 - 11904: 0xAD6E,
+ 35202 - 11904: 0xD7C5,
+ 35203 - 11904: 0xB5F7,
+ 35205 - 11904: 0xDFFA,
+ 35206 - 11904: 0xC2D0,
+ 35207 - 11904: 0x8FC9,
+ 35208 - 11904: 0xF2F2,
+ 35209 - 11904: 0xA0C2,
+ 35210 - 11904: 0x8FCA,
+ 35211 - 11904: 0xA8A3,
+ 35215 - 11904: 0xB357,
+ 35217 - 11904: 0x99D4,
+ 35219 - 11904: 0xB356,
+ 35220 - 11904: 0xA0B9,
+ 35221 - 11904: 0xDBD0,
+ 35222 - 11904: 0xB5F8,
+ 35223 - 11904: 0xDBD2,
+ 35224 - 11904: 0xDBD1,
+ 35227 - 11904: 0xDFFB,
+ 35228 - 11904: 0xB8D0,
+ 35229 - 11904: 0xE443,
+ 35230 - 11904: 0xE446,
+ 35231 - 11904: 0xE445,
+ 35233 - 11904: 0xE444,
+ 35234 - 11904: 0xE7CE,
+ 35235 - 11904: 0xE7D0,
+ 35236 - 11904: 0xE7CF,
+ 35237 - 11904: 0x9B58,
+ 35238 - 11904: 0xBFCC,
+ 35239 - 11904: 0x8FCD,
+ 35241 - 11904: 0xA0D4,
+ 35242 - 11904: 0xBFCB,
+ 35244 - 11904: 0xC1BB,
+ 35245 - 11904: 0xEE79,
+ 35246 - 11904: 0xEE7B,
+ 35247 - 11904: 0xEE7A,
+ 35250 - 11904: 0xC2D1,
+ 35254 - 11904: 0xF2F4,
+ 35255 - 11904: 0xF2F3,
+ 35257 - 11904: 0xF4CC,
+ 35258 - 11904: 0xC4B1,
+ 35260 - 11904: 0x8FCE,
+ 35261 - 11904: 0xC4FD,
+ 35262 - 11904: 0xF754,
+ 35263 - 11904: 0xF753,
+ 35264 - 11904: 0xC65B,
+ 35265 - 11904: 0x8BE5,
+ 35270 - 11904: 0x8979,
+ 35282 - 11904: 0xA8A4,
+ 35283 - 11904: 0xD0AF,
+ 35284 - 11904: 0xAD6F,
+ 35285 - 11904: 0xD7C8,
+ 35286 - 11904: 0xD7C6,
+ 35289 - 11904: 0xD7C7,
+ 35290 - 11904: 0xDBD4,
+ 35291 - 11904: 0xDBD5,
+ 35292 - 11904: 0xE043,
+ 35293 - 11904: 0xDBD3,
+ 35295 - 11904: 0xDFFC,
+ 35296 - 11904: 0xE041,
+ 35297 - 11904: 0xE040,
+ 35298 - 11904: 0xE042,
+ 35299 - 11904: 0xB8D1,
+ 35300 - 11904: 0xDFFE,
+ 35301 - 11904: 0xDFFD,
+ 35302 - 11904: 0xE044,
+ 35303 - 11904: 0x8FD0,
+ 35304 - 11904: 0xE449,
+ 35305 - 11904: 0xE447,
+ 35307 - 11904: 0xE448,
+ 35308 - 11904: 0xE7D3,
+ 35309 - 11904: 0xE7D1,
+ 35312 - 11904: 0xE7D2,
+ 35313 - 11904: 0xEB7D,
+ 35314 - 11904: 0xEE7C,
+ 35315 - 11904: 0xEE7D,
+ 35316 - 11904: 0xC2D2,
+ 35318 - 11904: 0xF2F5,
+ 35319 - 11904: 0xF4CD,
+ 35320 - 11904: 0xC4B2,
+ 35322 - 11904: 0xF64C,
+ 35323 - 11904: 0xF755,
+ 35324 - 11904: 0xC5A9,
+ 35326 - 11904: 0xF7FE,
+ 35327 - 11904: 0xF94C,
+ 35328 - 11904: 0xA8A5,
+ 35330 - 11904: 0xAD71,
+ 35331 - 11904: 0xAD72,
+ 35332 - 11904: 0xD0B0,
+ 35335 - 11904: 0xD0B1,
+ 35336 - 11904: 0xAD70,
+ 35338 - 11904: 0xB054,
+ 35340 - 11904: 0xB052,
+ 35342 - 11904: 0xB051,
+ 35343 - 11904: 0xB058,
+ 35344 - 11904: 0xB050,
+ 35345 - 11904: 0xB059,
+ 35346 - 11904: 0xD3DD,
+ 35347 - 11904: 0xB056,
+ 35349 - 11904: 0xB053,
+ 35350 - 11904: 0xB057,
+ 35351 - 11904: 0xB055,
+ 35352 - 11904: 0xB04F,
+ 35355 - 11904: 0xB35F,
+ 35356 - 11904: 0x95B6,
+ 35357 - 11904: 0xB359,
+ 35358 - 11904: 0xD7CC,
+ 35359 - 11904: 0xB35E,
+ 35362 - 11904: 0xB360,
+ 35363 - 11904: 0xB35A,
+ 35365 - 11904: 0xB35B,
+ 35367 - 11904: 0xD7CA,
+ 35369 - 11904: 0x99D6,
+ 35370 - 11904: 0xB358,
+ 35371 - 11904: 0x95E5,
+ 35372 - 11904: 0xD7CB,
+ 35373 - 11904: 0xB35D,
+ 35376 - 11904: 0xD7C9,
+ 35377 - 11904: 0xB35C,
+ 35380 - 11904: 0xB644,
+ 35382 - 11904: 0xB646,
+ 35384 - 11904: 0x99D7,
+ 35385 - 11904: 0xDBD8,
+ 35386 - 11904: 0xB645,
+ 35387 - 11904: 0xB5F9,
+ 35388 - 11904: 0xB5FD,
+ 35389 - 11904: 0x95B5,
+ 35390 - 11904: 0xB8E4,
+ 35391 - 11904: 0xE049,
+ 35392 - 11904: 0xDBDA,
+ 35393 - 11904: 0xB5FE,
+ 35396 - 11904: 0xDBDD,
+ 35397 - 11904: 0xDBDE,
+ 35398 - 11904: 0xB643,
+ 35400 - 11904: 0xDBE0,
+ 35401 - 11904: 0xA0CA,
+ 35402 - 11904: 0xDBE2,
+ 35404 - 11904: 0xDBE3,
+ 35405 - 11904: 0xDBD7,
+ 35406 - 11904: 0xDBD6,
+ 35407 - 11904: 0xDBE4,
+ 35408 - 11904: 0xB642,
+ 35409 - 11904: 0xDBE1,
+ 35410 - 11904: 0xDBDF,
+ 35412 - 11904: 0xB640,
+ 35413 - 11904: 0xB5FB,
+ 35414 - 11904: 0xB647,
+ 35415 - 11904: 0xDBDB,
+ 35416 - 11904: 0xDBDC,
+ 35417 - 11904: 0xDBD9,
+ 35419 - 11904: 0xB641,
+ 35422 - 11904: 0xB5FC,
+ 35424 - 11904: 0xB5FA,
+ 35425 - 11904: 0xE048,
+ 35426 - 11904: 0xB8DF,
+ 35427 - 11904: 0xB8DA,
+ 35430 - 11904: 0xB8D5,
+ 35431 - 11904: 0x9FFD,
+ 35432 - 11904: 0xB8E5,
+ 35433 - 11904: 0xB8D6,
+ 35435 - 11904: 0xB8D2,
+ 35436 - 11904: 0xB8E1,
+ 35437 - 11904: 0xB8DE,
+ 35438 - 11904: 0xB8E0,
+ 35440 - 11904: 0xB8D7,
+ 35441 - 11904: 0xB8DC,
+ 35442 - 11904: 0xB8D3,
+ 35443 - 11904: 0xB8D4,
+ 35444 - 11904: 0xE050,
+ 35445 - 11904: 0xE04D,
+ 35446 - 11904: 0xE045,
+ 35447 - 11904: 0xE04A,
+ 35449 - 11904: 0xB8E2,
+ 35450 - 11904: 0xE051,
+ 35451 - 11904: 0xB8E3,
+ 35452 - 11904: 0xB8D9,
+ 35454 - 11904: 0xA058,
+ 35455 - 11904: 0xE047,
+ 35457 - 11904: 0xE04F,
+ 35458 - 11904: 0xE04B,
+ 35459 - 11904: 0xE04E,
+ 35460 - 11904: 0xE04C,
+ 35461 - 11904: 0xB8DD,
+ 35462 - 11904: 0xE046,
+ 35463 - 11904: 0xB8D8,
+ 35467 - 11904: 0xE44C,
+ 35468 - 11904: 0xBB78,
+ 35469 - 11904: 0xBB7B,
+ 35471 - 11904: 0xE44E,
+ 35472 - 11904: 0x8FD6,
+ 35473 - 11904: 0xBBA5,
+ 35474 - 11904: 0xE44D,
+ 35475 - 11904: 0xBB7D,
+ 35476 - 11904: 0x99D8,
+ 35477 - 11904: 0xBDCF,
+ 35478 - 11904: 0xE44F,
+ 35480 - 11904: 0xBBA4,
+ 35481 - 11904: 0xE44B,
+ 35482 - 11904: 0xBBA6,
+ 35484 - 11904: 0x8FD3,
+ 35486 - 11904: 0xBB79,
+ 35488 - 11904: 0xB8DB,
+ 35489 - 11904: 0xBB7C,
+ 35491 - 11904: 0xBB7A,
+ 35492 - 11904: 0xBB7E,
+ 35493 - 11904: 0xBBA2,
+ 35494 - 11904: 0xBB77,
+ 35495 - 11904: 0xBBA7,
+ 35496 - 11904: 0xBBA3,
+ 35497 - 11904: 0x8FE5,
+ 35498 - 11904: 0xBBA1,
+ 35499 - 11904: 0xE44A,
+ 35503 - 11904: 0x8FE9,
+ 35504 - 11904: 0xBDD6,
+ 35506 - 11904: 0xBDD2,
+ 35508 - 11904: 0x99D9,
+ 35510 - 11904: 0xBDD9,
+ 35512 - 11904: 0xE7D6,
+ 35513 - 11904: 0xBDDA,
+ 35514 - 11904: 0xE7E2,
+ 35515 - 11904: 0xE7DB,
+ 35516 - 11904: 0xBDCB,
+ 35517 - 11904: 0xE7E3,
+ 35518 - 11904: 0xE7DD,
+ 35519 - 11904: 0xBDD5,
+ 35520 - 11904: 0xE7DE,
+ 35522 - 11904: 0xBDD4,
+ 35523 - 11904: 0xE7E1,
+ 35524 - 11904: 0xBDCE,
+ 35525 - 11904: 0xE7DF,
+ 35526 - 11904: 0xE7D5,
+ 35527 - 11904: 0xBDCD,
+ 35528 - 11904: 0xEBAA,
+ 35529 - 11904: 0xBDD3,
+ 35531 - 11904: 0xBDD0,
+ 35532 - 11904: 0x8CF7,
+ 35533 - 11904: 0xBDD8,
+ 35535 - 11904: 0xE7D4,
+ 35537 - 11904: 0xE7D8,
+ 35538 - 11904: 0xBDCC,
+ 35539 - 11904: 0xE7D7,
+ 35540 - 11904: 0xE7D9,
+ 35541 - 11904: 0xE7DA,
+ 35542 - 11904: 0xBDD7,
+ 35543 - 11904: 0xE7DC,
+ 35544 - 11904: 0xE7E0,
+ 35545 - 11904: 0xE7E4,
+ 35546 - 11904: 0x927C,
+ 35547 - 11904: 0xBDDB,
+ 35548 - 11904: 0xBFD2,
+ 35549 - 11904: 0xEBA5,
+ 35550 - 11904: 0xEBAB,
+ 35551 - 11904: 0xEBA8,
+ 35552 - 11904: 0xEB7E,
+ 35553 - 11904: 0xEBAC,
+ 35554 - 11904: 0xEBA1,
+ 35556 - 11904: 0xEBA7,
+ 35558 - 11904: 0xBFCD,
+ 35559 - 11904: 0xBFD3,
+ 35560 - 11904: 0xEBAD,
+ 35562 - 11904: 0x9C45,
+ 35563 - 11904: 0xBFCF,
+ 35565 - 11904: 0xBFD9,
+ 35566 - 11904: 0xBFD4,
+ 35567 - 11904: 0xEBAF,
+ 35568 - 11904: 0xEBA9,
+ 35569 - 11904: 0xBFD0,
+ 35570 - 11904: 0xEBA2,
+ 35571 - 11904: 0xBFDA,
+ 35572 - 11904: 0xEBA3,
+ 35573 - 11904: 0xEBA4,
+ 35574 - 11904: 0xBFDB,
+ 35575 - 11904: 0xBFD8,
+ 35576 - 11904: 0xBDD1,
+ 35577 - 11904: 0x8CE8,
+ 35578 - 11904: 0xBFCE,
+ 35579 - 11904: 0xEBB0,
+ 35580 - 11904: 0xBFDC,
+ 35582 - 11904: 0xBFD5,
+ 35583 - 11904: 0xEBAE,
+ 35584 - 11904: 0xBFD1,
+ 35585 - 11904: 0xBFD6,
+ 35586 - 11904: 0xBFD7,
+ 35588 - 11904: 0xC1C3,
+ 35589 - 11904: 0xEEA4,
+ 35590 - 11904: 0xEEAD,
+ 35591 - 11904: 0xEEAA,
+ 35592 - 11904: 0xEEAC,
+ 35594 - 11904: 0xC1C0,
+ 35595 - 11904: 0xEEA5,
+ 35596 - 11904: 0x8FDE,
+ 35597 - 11904: 0xEEAB,
+ 35598 - 11904: 0xC1BC,
+ 35599 - 11904: 0xEEA7,
+ 35600 - 11904: 0xC1C4,
+ 35601 - 11904: 0xEEA3,
+ 35602 - 11904: 0xEEA8,
+ 35603 - 11904: 0xEEAF,
+ 35604 - 11904: 0xEBA6,
+ 35605 - 11904: 0xEEA9,
+ 35606 - 11904: 0xEEA2,
+ 35607 - 11904: 0xC1BD,
+ 35608 - 11904: 0xEEA1,
+ 35609 - 11904: 0xC1BE,
+ 35610 - 11904: 0xEEB0,
+ 35611 - 11904: 0xC1BF,
+ 35612 - 11904: 0xEEAE,
+ 35613 - 11904: 0xC1C2,
+ 35614 - 11904: 0xEE7E,
+ 35615 - 11904: 0x8FDF,
+ 35616 - 11904: 0xC1C1,
+ 35618 - 11904: 0xEEA6,
+ 35619 - 11904: 0xF0DC,
+ 35620 - 11904: 0xF0EA,
+ 35621 - 11904: 0xF0E5,
+ 35622 - 11904: 0xF0E7,
+ 35623 - 11904: 0xF0DB,
+ 35624 - 11904: 0xC2D3,
+ 35626 - 11904: 0xF0DA,
+ 35627 - 11904: 0xC2D6,
+ 35628 - 11904: 0xC2D5,
+ 35629 - 11904: 0xA04B,
+ 35630 - 11904: 0xF0E9,
+ 35631 - 11904: 0xF0E1,
+ 35632 - 11904: 0xF0DE,
+ 35633 - 11904: 0xF0E4,
+ 35635 - 11904: 0xF0DD,
+ 35637 - 11904: 0xF0DF,
+ 35638 - 11904: 0xF0E8,
+ 35639 - 11904: 0xF0E6,
+ 35641 - 11904: 0xC2D4,
+ 35642 - 11904: 0xF0ED,
+ 35643 - 11904: 0xF0EB,
+ 35644 - 11904: 0xF0E2,
+ 35645 - 11904: 0xF0EC,
+ 35646 - 11904: 0xF0E3,
+ 35647 - 11904: 0x8FE2,
+ 35648 - 11904: 0xF2F9,
+ 35649 - 11904: 0xC3CF,
+ 35650 - 11904: 0xF341,
+ 35651 - 11904: 0xA0CC,
+ 35653 - 11904: 0xF64F,
+ 35654 - 11904: 0xC3D6,
+ 35655 - 11904: 0xF0E0,
+ 35656 - 11904: 0xF2F7,
+ 35657 - 11904: 0xC3D2,
+ 35658 - 11904: 0xF2F8,
+ 35659 - 11904: 0xF2FD,
+ 35660 - 11904: 0x8FE3,
+ 35661 - 11904: 0x8FE4,
+ 35662 - 11904: 0xC3D4,
+ 35663 - 11904: 0xC3D5,
+ 35664 - 11904: 0xF2F6,
+ 35665 - 11904: 0xF340,
+ 35666 - 11904: 0xF342,
+ 35667 - 11904: 0xF2FA,
+ 35668 - 11904: 0xF2FC,
+ 35669 - 11904: 0xF2FE,
+ 35670 - 11904: 0xF2FB,
+ 35671 - 11904: 0xF343,
+ 35672 - 11904: 0xC3D1,
+ 35673 - 11904: 0xC3D7,
+ 35674 - 11904: 0xC3D3,
+ 35676 - 11904: 0xC3D0,
+ 35677 - 11904: 0xF4D0,
+ 35678 - 11904: 0x9BC4,
+ 35679 - 11904: 0xC4B7,
+ 35680 - 11904: 0xF4CE,
+ 35682 - 11904: 0x9BFC,
+ 35683 - 11904: 0xF4D2,
+ 35685 - 11904: 0xF4D3,
+ 35686 - 11904: 0xC4B5,
+ 35687 - 11904: 0xF4D4,
+ 35688 - 11904: 0xF4D1,
+ 35689 - 11904: 0x964C,
+ 35690 - 11904: 0xF4CF,
+ 35691 - 11904: 0xC4B8,
+ 35692 - 11904: 0xC4B4,
+ 35693 - 11904: 0xF4D5,
+ 35695 - 11904: 0xC4B6,
+ 35696 - 11904: 0xC4B3,
+ 35700 - 11904: 0xC4FE,
+ 35703 - 11904: 0xC540,
+ 35704 - 11904: 0xF64E,
+ 35705 - 11904: 0xF64D,
+ 35706 - 11904: 0xF650,
+ 35707 - 11904: 0xF651,
+ 35709 - 11904: 0xC541,
+ 35710 - 11904: 0xF756,
+ 35711 - 11904: 0xF75B,
+ 35712 - 11904: 0xC5AA,
+ 35713 - 11904: 0x9AF6,
+ 35714 - 11904: 0xF758,
+ 35715 - 11904: 0x8CAE,
+ 35716 - 11904: 0xF757,
+ 35717 - 11904: 0xF75A,
+ 35718 - 11904: 0xF759,
+ 35720 - 11904: 0xF843,
+ 35722 - 11904: 0xC5DC,
+ 35723 - 11904: 0xF842,
+ 35724 - 11904: 0xF840,
+ 35726 - 11904: 0xF841,
+ 35727 - 11904: 0x87CB,
+ 35728 - 11904: 0x8FE7,
+ 35730 - 11904: 0xC5FE,
+ 35731 - 11904: 0xC5FD,
+ 35732 - 11904: 0xF8C1,
+ 35733 - 11904: 0xF8C2,
+ 35734 - 11904: 0xC640,
+ 35736 - 11904: 0xF94D,
+ 35737 - 11904: 0xF94E,
+ 35738 - 11904: 0xC667,
+ 35739 - 11904: 0x8FE8,
+ 35740 - 11904: 0xC66D,
+ 35742 - 11904: 0xF9A9,
+ 35743 - 11904: 0xF9C8,
+ 35744 - 11904: 0x8BE7,
+ 35774 - 11904: 0x897A,
+ 35810 - 11904: 0x897B,
+ 35895 - 11904: 0xA8A6,
+ 35897 - 11904: 0xD7CD,
+ 35899 - 11904: 0xD7CE,
+ 35900 - 11904: 0xE052,
+ 35901 - 11904: 0xE450,
+ 35902 - 11904: 0xE7E5,
+ 35903 - 11904: 0xC1C6,
+ 35905 - 11904: 0xC1C5,
+ 35906 - 11904: 0xF0EE,
+ 35907 - 11904: 0xF344,
+ 35909 - 11904: 0xF844,
+ 35910 - 11904: 0xA8A7,
+ 35911 - 11904: 0xD3DE,
+ 35912 - 11904: 0xB05A,
+ 35913 - 11904: 0xB361,
+ 35914 - 11904: 0xE054,
+ 35915 - 11904: 0xE053,
+ 35916 - 11904: 0xBDDC,
+ 35917 - 11904: 0xE7E6,
+ 35918 - 11904: 0xBDDD,
+ 35919 - 11904: 0xEEB1,
+ 35920 - 11904: 0xC2D7,
+ 35921 - 11904: 0x99DA,
+ 35924 - 11904: 0xC676,
+ 35925 - 11904: 0xA8A8,
+ 35926 - 11904: 0xCDCB,
+ 35927 - 11904: 0xD3DF,
+ 35930 - 11904: 0xB362,
+ 35932 - 11904: 0xD7CF,
+ 35933 - 11904: 0xD7D0,
+ 35935 - 11904: 0xDBE5,
+ 35937 - 11904: 0xB648,
+ 35938 - 11904: 0xB8E6,
+ 35940 - 11904: 0xE056,
+ 35941 - 11904: 0xE055,
+ 35942 - 11904: 0xE057,
+ 35944 - 11904: 0xE451,
+ 35945 - 11904: 0xE452,
+ 35946 - 11904: 0xBBA8,
+ 35947 - 11904: 0xBFDD,
+ 35948 - 11904: 0xBDDE,
+ 35949 - 11904: 0xBFDE,
+ 35951 - 11904: 0xEEB5,
+ 35952 - 11904: 0xEEB2,
+ 35953 - 11904: 0xEEB4,
+ 35954 - 11904: 0xEEB3,
+ 35955 - 11904: 0xC1C7,
+ 35957 - 11904: 0xF0EF,
+ 35958 - 11904: 0xF346,
+ 35959 - 11904: 0xF345,
+ 35960 - 11904: 0xCBA4,
+ 35961 - 11904: 0xB05C,
+ 35962 - 11904: 0xB05B,
+ 35963 - 11904: 0xD3E0,
+ 35965 - 11904: 0xD7D1,
+ 35968 - 11904: 0xDBE7,
+ 35969 - 11904: 0xDBE6,
+ 35970 - 11904: 0xB649,
+ 35972 - 11904: 0xE059,
+ 35973 - 11904: 0xE05A,
+ 35974 - 11904: 0xE058,
+ 35977 - 11904: 0xB8E8,
+ 35978 - 11904: 0xB8E7,
+ 35980 - 11904: 0xBBAA,
+ 35981 - 11904: 0xBBA9,
+ 35983 - 11904: 0xE7E7,
+ 35984 - 11904: 0xEBB3,
+ 35985 - 11904: 0xEBB1,
+ 35986 - 11904: 0xEBB2,
+ 35987 - 11904: 0xBFDF,
+ 35988 - 11904: 0xEEB7,
+ 35989 - 11904: 0xEEB6,
+ 35991 - 11904: 0xF0F2,
+ 35992 - 11904: 0xF0F1,
+ 35993 - 11904: 0xF0F0,
+ 35994 - 11904: 0xF347,
+ 35995 - 11904: 0x8FED,
+ 35996 - 11904: 0xF9AA,
+ 35997 - 11904: 0xA8A9,
+ 35998 - 11904: 0xAD73,
+ 35999 - 11904: 0x95C0,
+ 36000 - 11904: 0xAD74,
+ 36001 - 11904: 0xB05D,
+ 36002 - 11904: 0xB05E,
+ 36003 - 11904: 0xD3E2,
+ 36004 - 11904: 0xD3E1,
+ 36005 - 11904: 0xD7D2,
+ 36007 - 11904: 0xB368,
+ 36008 - 11904: 0xB366,
+ 36009 - 11904: 0xB363,
+ 36010 - 11904: 0xB367,
+ 36011 - 11904: 0xB365,
+ 36012 - 11904: 0xB364,
+ 36013 - 11904: 0xA0CB,
+ 36015 - 11904: 0xB64A,
+ 36016 - 11904: 0xDBEA,
+ 36018 - 11904: 0xB8ED,
+ 36019 - 11904: 0xB64C,
+ 36020 - 11904: 0xB651,
+ 36021 - 11904: 0xDBEC,
+ 36022 - 11904: 0xB653,
+ 36023 - 11904: 0xB652,
+ 36024 - 11904: 0xB655,
+ 36025 - 11904: 0xDBEB,
+ 36026 - 11904: 0xDBE8,
+ 36027 - 11904: 0xB64F,
+ 36028 - 11904: 0xB64B,
+ 36029 - 11904: 0xB64D,
+ 36030 - 11904: 0xDBE9,
+ 36031 - 11904: 0xB654,
+ 36032 - 11904: 0xB650,
+ 36033 - 11904: 0xB64E,
+ 36034 - 11904: 0xB8EF,
+ 36035 - 11904: 0xB8EE,
+ 36036 - 11904: 0xB8EC,
+ 36037 - 11904: 0xB8F0,
+ 36039 - 11904: 0xB8EA,
+ 36040 - 11904: 0xB8EB,
+ 36042 - 11904: 0xB8E9,
+ 36044 - 11904: 0xE05B,
+ 36045 - 11904: 0x9E48,
+ 36047 - 11904: 0xE454,
+ 36049 - 11904: 0xBBAC,
+ 36050 - 11904: 0xBBAD,
+ 36051 - 11904: 0xBBAB,
+ 36052 - 11904: 0x99DB,
+ 36053 - 11904: 0xE453,
+ 36054 - 11904: 0x8FF3,
+ 36055 - 11904: 0xE455,
+ 36057 - 11904: 0xE7EA,
+ 36058 - 11904: 0xE7EC,
+ 36059 - 11904: 0x8FF9,
+ 36060 - 11904: 0xBDE7,
+ 36061 - 11904: 0xE7ED,
+ 36062 - 11904: 0xBDE0,
+ 36063 - 11904: 0xE7E9,
+ 36064 - 11904: 0xBDDF,
+ 36065 - 11904: 0xBDE9,
+ 36066 - 11904: 0xBDE5,
+ 36067 - 11904: 0xBDE6,
+ 36068 - 11904: 0xBDE2,
+ 36069 - 11904: 0xE7E8,
+ 36070 - 11904: 0xBDE1,
+ 36071 - 11904: 0xE7EE,
+ 36072 - 11904: 0xE7EB,
+ 36073 - 11904: 0x95C1,
+ 36074 - 11904: 0xBDE8,
+ 36075 - 11904: 0xA04E,
+ 36076 - 11904: 0xBDE3,
+ 36077 - 11904: 0xBDE4,
+ 36078 - 11904: 0xEBB5,
+ 36080 - 11904: 0xEBB7,
+ 36081 - 11904: 0xEBB6,
+ 36082 - 11904: 0x99DC,
+ 36083 - 11904: 0xEBB8,
+ 36084 - 11904: 0xBFE0,
+ 36085 - 11904: 0xEBB4,
+ 36087 - 11904: 0xA064,
+ 36088 - 11904: 0xC1CB,
+ 36089 - 11904: 0xEEB8,
+ 36090 - 11904: 0xC1C8,
+ 36091 - 11904: 0xC1CC,
+ 36092 - 11904: 0xC1CA,
+ 36093 - 11904: 0xC1C9,
+ 36094 - 11904: 0xF0F3,
+ 36096 - 11904: 0xF0F6,
+ 36098 - 11904: 0xF0F5,
+ 36099 - 11904: 0x8FF7,
+ 36100 - 11904: 0xF0F4,
+ 36101 - 11904: 0xC2D8,
+ 36102 - 11904: 0xF348,
+ 36103 - 11904: 0xF349,
+ 36104 - 11904: 0xC3D8,
+ 36105 - 11904: 0xF34A,
+ 36106 - 11904: 0xC3D9,
+ 36107 - 11904: 0x89B0,
+ 36108 - 11904: 0xA048,
+ 36109 - 11904: 0xC4BA,
+ 36111 - 11904: 0xC4B9,
+ 36112 - 11904: 0xF652,
+ 36113 - 11904: 0x8FFB,
+ 36114 - 11904: 0x8FF6,
+ 36115 - 11904: 0xC542,
+ 36116 - 11904: 0xF653,
+ 36117 - 11904: 0xF75C,
+ 36118 - 11904: 0xC5AB,
+ 36119 - 11904: 0xC5AC,
+ 36120 - 11904: 0x9DDC,
+ 36121 - 11904: 0xF845,
+ 36123 - 11904: 0xC642,
+ 36124 - 11904: 0x99DD,
+ 36125 - 11904: 0x8BE8,
+ 36196 - 11904: 0xA8AA,
+ 36198 - 11904: 0xB36A,
+ 36199 - 11904: 0xB369,
+ 36200 - 11904: 0xE05C,
+ 36201 - 11904: 0xE05D,
+ 36203 - 11904: 0xBBAE,
+ 36204 - 11904: 0xEBB9,
+ 36205 - 11904: 0xBDEA,
+ 36206 - 11904: 0xEBBA,
+ 36207 - 11904: 0xEEB9,
+ 36208 - 11904: 0xA8AB,
+ 36210 - 11904: 0xD0B2,
+ 36211 - 11904: 0xAD76,
+ 36212 - 11904: 0xAD75,
+ 36214 - 11904: 0xD3E3,
+ 36215 - 11904: 0xB05F,
+ 36216 - 11904: 0xD3E4,
+ 36217 - 11904: 0xD7D5,
+ 36218 - 11904: 0x92C1,
+ 36219 - 11904: 0xD7D4,
+ 36221 - 11904: 0xD7D3,
+ 36224 - 11904: 0xDBEE,
+ 36225 - 11904: 0xB658,
+ 36226 - 11904: 0x9FD6,
+ 36228 - 11904: 0xDBED,
+ 36229 - 11904: 0xB657,
+ 36233 - 11904: 0xDBEF,
+ 36234 - 11904: 0xB656,
+ 36236 - 11904: 0xE05F,
+ 36237 - 11904: 0xE062,
+ 36238 - 11904: 0xE060,
+ 36239 - 11904: 0xE061,
+ 36240 - 11904: 0xE065,
+ 36241 - 11904: 0xE05E,
+ 36242 - 11904: 0xE066,
+ 36243 - 11904: 0xE063,
+ 36244 - 11904: 0xE064,
+ 36245 - 11904: 0xBBB0,
+ 36246 - 11904: 0xE456,
+ 36249 - 11904: 0xBBAF,
+ 36251 - 11904: 0xE7F2,
+ 36252 - 11904: 0xE7F0,
+ 36255 - 11904: 0xBDEB,
+ 36256 - 11904: 0xE7EF,
+ 36257 - 11904: 0xE7F1,
+ 36259 - 11904: 0xBDEC,
+ 36261 - 11904: 0xEBBB,
+ 36262 - 11904: 0xA0D2,
+ 36263 - 11904: 0xEBBC,
+ 36264 - 11904: 0xC1CD,
+ 36265 - 11904: 0x9040,
+ 36266 - 11904: 0xF34C,
+ 36267 - 11904: 0xF34E,
+ 36268 - 11904: 0xF34B,
+ 36269 - 11904: 0xF34D,
+ 36270 - 11904: 0xF4D6,
+ 36271 - 11904: 0xF654,
+ 36274 - 11904: 0xF96F,
+ 36275 - 11904: 0xA8AC,
+ 36276 - 11904: 0xAD77,
+ 36277 - 11904: 0xD3E5,
+ 36278 - 11904: 0xD3E7,
+ 36279 - 11904: 0xD3E6,
+ 36281 - 11904: 0xD7D8,
+ 36282 - 11904: 0xB36C,
+ 36284 - 11904: 0xD7D6,
+ 36286 - 11904: 0xB36B,
+ 36287 - 11904: 0xD7D9,
+ 36288 - 11904: 0x8AC4,
+ 36289 - 11904: 0xD7DA,
+ 36290 - 11904: 0xD7D7,
+ 36291 - 11904: 0x99E0,
+ 36293 - 11904: 0xDBFB,
+ 36294 - 11904: 0xB660,
+ 36295 - 11904: 0xDBF3,
+ 36296 - 11904: 0xDBF9,
+ 36299 - 11904: 0xB65B,
+ 36300 - 11904: 0xB65E,
+ 36301 - 11904: 0xDBF2,
+ 36302 - 11904: 0xB659,
+ 36303 - 11904: 0xDBF6,
+ 36304 - 11904: 0xE06C,
+ 36305 - 11904: 0xB65D,
+ 36307 - 11904: 0xDBF1,
+ 36308 - 11904: 0x9FF0,
+ 36309 - 11904: 0xDBF7,
+ 36310 - 11904: 0xDBF4,
+ 36311 - 11904: 0xDBFA,
+ 36312 - 11904: 0xDBF0,
+ 36313 - 11904: 0xDBF8,
+ 36314 - 11904: 0xB65C,
+ 36315 - 11904: 0xB65F,
+ 36316 - 11904: 0xDBF5,
+ 36317 - 11904: 0xB65A,
+ 36319 - 11904: 0xB8F2,
+ 36320 - 11904: 0xE068,
+ 36321 - 11904: 0xB8F1,
+ 36322 - 11904: 0xE06F,
+ 36323 - 11904: 0xE06E,
+ 36324 - 11904: 0xB8F8,
+ 36326 - 11904: 0xB8F9,
+ 36327 - 11904: 0xE070,
+ 36328 - 11904: 0xB8F3,
+ 36329 - 11904: 0xE06D,
+ 36330 - 11904: 0xB8F7,
+ 36331 - 11904: 0xE072,
+ 36332 - 11904: 0xE069,
+ 36334 - 11904: 0xE06B,
+ 36335 - 11904: 0xB8F4,
+ 36336 - 11904: 0xE067,
+ 36337 - 11904: 0xE06A,
+ 36338 - 11904: 0xE071,
+ 36339 - 11904: 0xB8F5,
+ 36340 - 11904: 0xE073,
+ 36346 - 11904: 0xB8F6,
+ 36348 - 11904: 0xBBB1,
+ 36349 - 11904: 0xE45B,
+ 36350 - 11904: 0xE461,
+ 36351 - 11904: 0xE459,
+ 36352 - 11904: 0xE462,
+ 36353 - 11904: 0x9FF3,
+ 36354 - 11904: 0xE458,
+ 36355 - 11904: 0xE45D,
+ 36356 - 11904: 0xE463,
+ 36357 - 11904: 0xE460,
+ 36358 - 11904: 0xE45F,
+ 36359 - 11904: 0xE45E,
+ 36361 - 11904: 0xE457,
+ 36362 - 11904: 0xE45C,
+ 36365 - 11904: 0xE45A,
+ 36366 - 11904: 0x9DBF,
+ 36367 - 11904: 0xBDF1,
+ 36368 - 11904: 0xBDEE,
+ 36369 - 11904: 0xE7FB,
+ 36370 - 11904: 0xE841,
+ 36371 - 11904: 0xE843,
+ 36372 - 11904: 0xE840,
+ 36373 - 11904: 0xE7F8,
+ 36374 - 11904: 0xE7FA,
+ 36375 - 11904: 0xE845,
+ 36376 - 11904: 0xE842,
+ 36377 - 11904: 0xE7FC,
+ 36378 - 11904: 0xE846,
+ 36379 - 11904: 0xE7F9,
+ 36380 - 11904: 0xE844,
+ 36381 - 11904: 0xBDEF,
+ 36382 - 11904: 0xBDF5,
+ 36383 - 11904: 0xBDF3,
+ 36384 - 11904: 0xE7F3,
+ 36385 - 11904: 0xBDF4,
+ 36386 - 11904: 0xBDF0,
+ 36387 - 11904: 0xE7F4,
+ 36388 - 11904: 0xE7F6,
+ 36389 - 11904: 0xE7F5,
+ 36390 - 11904: 0xE7FD,
+ 36391 - 11904: 0xE7FE,
+ 36392 - 11904: 0x9FF6,
+ 36393 - 11904: 0xBDF2,
+ 36394 - 11904: 0x95C8,
+ 36395 - 11904: 0xBDED,
+ 36397 - 11904: 0x9E5A,
+ 36398 - 11904: 0xE7F7,
+ 36400 - 11904: 0xEBC6,
+ 36401 - 11904: 0xBFE2,
+ 36403 - 11904: 0xEBBD,
+ 36404 - 11904: 0xBFE3,
+ 36405 - 11904: 0xBFE6,
+ 36406 - 11904: 0xEBC2,
+ 36408 - 11904: 0xEBBF,
+ 36409 - 11904: 0xBFE5,
+ 36410 - 11904: 0x99E3,
+ 36412 - 11904: 0xEBC3,
+ 36413 - 11904: 0xEBC4,
+ 36414 - 11904: 0xEBBE,
+ 36415 - 11904: 0xEBC7,
+ 36416 - 11904: 0xEBC0,
+ 36417 - 11904: 0xEBC5,
+ 36418 - 11904: 0xBFE4,
+ 36420 - 11904: 0xBFE1,
+ 36421 - 11904: 0xEBC1,
+ 36422 - 11904: 0x8A4A,
+ 36423 - 11904: 0xEEBF,
+ 36424 - 11904: 0xC1D0,
+ 36425 - 11904: 0xC1CE,
+ 36426 - 11904: 0xC1D1,
+ 36427 - 11904: 0xC1CF,
+ 36428 - 11904: 0xEEBE,
+ 36429 - 11904: 0xEEBB,
+ 36430 - 11904: 0xEEBA,
+ 36431 - 11904: 0x9FF1,
+ 36432 - 11904: 0xEEBD,
+ 36435 - 11904: 0xEEBC,
+ 36436 - 11904: 0xF145,
+ 36437 - 11904: 0xC2DE,
+ 36438 - 11904: 0xF0FB,
+ 36439 - 11904: 0xF0FA,
+ 36441 - 11904: 0xC2D9,
+ 36442 - 11904: 0xF141,
+ 36443 - 11904: 0xF140,
+ 36444 - 11904: 0xF0F7,
+ 36445 - 11904: 0xF143,
+ 36446 - 11904: 0xF0FC,
+ 36447 - 11904: 0xC2DD,
+ 36448 - 11904: 0xF0F9,
+ 36449 - 11904: 0xF142,
+ 36450 - 11904: 0xF0F8,
+ 36451 - 11904: 0xC2DA,
+ 36452 - 11904: 0xC2DC,
+ 36453 - 11904: 0xF0FD,
+ 36454 - 11904: 0xC2DB,
+ 36455 - 11904: 0xF0FE,
+ 36456 - 11904: 0x8AA7,
+ 36457 - 11904: 0xF144,
+ 36458 - 11904: 0xF352,
+ 36460 - 11904: 0xC3DE,
+ 36461 - 11904: 0xF34F,
+ 36463 - 11904: 0xF353,
+ 36465 - 11904: 0x99E6,
+ 36466 - 11904: 0xC3DB,
+ 36467 - 11904: 0xF351,
+ 36468 - 11904: 0xC3E0,
+ 36469 - 11904: 0x9FF7,
+ 36470 - 11904: 0xC3DD,
+ 36471 - 11904: 0x9FED,
+ 36472 - 11904: 0xF350,
+ 36474 - 11904: 0xC3DF,
+ 36475 - 11904: 0xF354,
+ 36476 - 11904: 0xC3DA,
+ 36478 - 11904: 0x8A5C,
+ 36480 - 11904: 0x9DAE,
+ 36481 - 11904: 0xC4BC,
+ 36482 - 11904: 0xC4BE,
+ 36484 - 11904: 0xF4D9,
+ 36485 - 11904: 0xC4BD,
+ 36486 - 11904: 0xF4D7,
+ 36487 - 11904: 0xC3DC,
+ 36488 - 11904: 0xF4D8,
+ 36489 - 11904: 0xC4BB,
+ 36490 - 11904: 0xC543,
+ 36491 - 11904: 0xC545,
+ 36492 - 11904: 0xF656,
+ 36493 - 11904: 0xC544,
+ 36494 - 11904: 0xF655,
+ 36496 - 11904: 0xF761,
+ 36497 - 11904: 0xC5AD,
+ 36498 - 11904: 0xF760,
+ 36499 - 11904: 0xC5AE,
+ 36500 - 11904: 0xF75E,
+ 36501 - 11904: 0xF75D,
+ 36502 - 11904: 0xF762,
+ 36503 - 11904: 0xF763,
+ 36504 - 11904: 0xF846,
+ 36506 - 11904: 0xF75F,
+ 36509 - 11904: 0xF8C6,
+ 36510 - 11904: 0xF8C3,
+ 36511 - 11904: 0xF8C4,
+ 36512 - 11904: 0xF8C5,
+ 36513 - 11904: 0xC65C,
+ 36515 - 11904: 0xF951,
+ 36516 - 11904: 0xF950,
+ 36517 - 11904: 0xF94F,
+ 36518 - 11904: 0xF970,
+ 36519 - 11904: 0x95C9,
+ 36520 - 11904: 0xF9BE,
+ 36521 - 11904: 0xF9AB,
+ 36522 - 11904: 0xC66E,
+ 36523 - 11904: 0xA8AD,
+ 36524 - 11904: 0xB060,
+ 36525 - 11904: 0x9048,
+ 36528 - 11904: 0x99E8,
+ 36530 - 11904: 0xB8FA,
+ 36534 - 11904: 0x9049,
+ 36537 - 11904: 0x8CBA,
+ 36538 - 11904: 0xBDF6,
+ 36540 - 11904: 0x90B1,
+ 36541 - 11904: 0xEBC8,
+ 36544 - 11904: 0xC2DF,
+ 36546 - 11904: 0xF355,
+ 36547 - 11904: 0x904A,
+ 36553 - 11904: 0xF9AC,
+ 36554 - 11904: 0xA8AE,
+ 36555 - 11904: 0xAAEE,
+ 36556 - 11904: 0xAD79,
+ 36557 - 11904: 0xAD78,
+ 36558 - 11904: 0x99EA,
+ 36559 - 11904: 0xB063,
+ 36561 - 11904: 0xD3E8,
+ 36562 - 11904: 0xB061,
+ 36563 - 11904: 0xD3E9,
+ 36564 - 11904: 0xB062,
+ 36567 - 11904: 0xD7DF,
+ 36568 - 11904: 0xD7DB,
+ 36570 - 11904: 0x9BD1,
+ 36571 - 11904: 0xB36D,
+ 36572 - 11904: 0xD7DE,
+ 36573 - 11904: 0xD7DD,
+ 36574 - 11904: 0xD7DC,
+ 36575 - 11904: 0xB36E,
+ 36576 - 11904: 0xD7E0,
+ 36577 - 11904: 0xD7E1,
+ 36578 - 11904: 0x99EB,
+ 36580 - 11904: 0x99EC,
+ 36581 - 11904: 0xDC43,
+ 36582 - 11904: 0xDC41,
+ 36583 - 11904: 0xDC45,
+ 36584 - 11904: 0xDC46,
+ 36585 - 11904: 0xDC4C,
+ 36587 - 11904: 0xDC48,
+ 36588 - 11904: 0xDC4A,
+ 36589 - 11904: 0x99ED,
+ 36590 - 11904: 0xDC42,
+ 36591 - 11904: 0xDBFC,
+ 36593 - 11904: 0xDC49,
+ 36594 - 11904: 0x99EE,
+ 36596 - 11904: 0xDC4B,
+ 36597 - 11904: 0xDC44,
+ 36598 - 11904: 0xDC47,
+ 36599 - 11904: 0xDBFD,
+ 36600 - 11904: 0xB662,
+ 36601 - 11904: 0xDC40,
+ 36602 - 11904: 0xDBFE,
+ 36603 - 11904: 0xB661,
+ 36604 - 11904: 0xB663,
+ 36606 - 11904: 0xB8FD,
+ 36607 - 11904: 0xE075,
+ 36608 - 11904: 0xE077,
+ 36609 - 11904: 0xE076,
+ 36610 - 11904: 0xE07B,
+ 36611 - 11904: 0xB8FB,
+ 36613 - 11904: 0xE078,
+ 36614 - 11904: 0xE074,
+ 36615 - 11904: 0xE079,
+ 36616 - 11904: 0xE07A,
+ 36617 - 11904: 0xB8FC,
+ 36618 - 11904: 0xB8FE,
+ 36619 - 11904: 0xE07C,
+ 36621 - 11904: 0xE467,
+ 36622 - 11904: 0xE466,
+ 36624 - 11904: 0xE464,
+ 36625 - 11904: 0xE465,
+ 36626 - 11904: 0xBBB3,
+ 36627 - 11904: 0xBBB5,
+ 36628 - 11904: 0xBBB2,
+ 36629 - 11904: 0xBBB4,
+ 36630 - 11904: 0xE84D,
+ 36631 - 11904: 0xE84E,
+ 36632 - 11904: 0xE849,
+ 36633 - 11904: 0x904C,
+ 36634 - 11904: 0xE84A,
+ 36635 - 11904: 0xBDF8,
+ 36636 - 11904: 0xBDFD,
+ 36637 - 11904: 0xBDF7,
+ 36638 - 11904: 0xBDFE,
+ 36639 - 11904: 0xBDF9,
+ 36640 - 11904: 0xE84B,
+ 36643 - 11904: 0xE84C,
+ 36644 - 11904: 0xE848,
+ 36645 - 11904: 0xBE40,
+ 36646 - 11904: 0xBDFB,
+ 36649 - 11904: 0xBDFA,
+ 36650 - 11904: 0xBDFC,
+ 36652 - 11904: 0xE847,
+ 36653 - 11904: 0x904D,
+ 36654 - 11904: 0xEBCA,
+ 36655 - 11904: 0xBFE8,
+ 36656 - 11904: 0x95CB,
+ 36658 - 11904: 0xEBCC,
+ 36659 - 11904: 0xBFEA,
+ 36660 - 11904: 0xEBCF,
+ 36661 - 11904: 0xEBCB,
+ 36662 - 11904: 0xEBC9,
+ 36663 - 11904: 0xEBCE,
+ 36664 - 11904: 0xBFE9,
+ 36665 - 11904: 0xEBCD,
+ 36667 - 11904: 0xBFE7,
+ 36670 - 11904: 0xC1D3,
+ 36671 - 11904: 0xC1D6,
+ 36672 - 11904: 0xEEC1,
+ 36673 - 11904: 0x97E2,
+ 36674 - 11904: 0xC1D4,
+ 36675 - 11904: 0xEEC0,
+ 36676 - 11904: 0xC1D2,
+ 36677 - 11904: 0xC1D5,
+ 36678 - 11904: 0xF146,
+ 36679 - 11904: 0xF147,
+ 36680 - 11904: 0xF148,
+ 36681 - 11904: 0xC2E0,
+ 36682 - 11904: 0x95CC,
+ 36683 - 11904: 0xF149,
+ 36685 - 11904: 0xC2E1,
+ 36686 - 11904: 0xC3E2,
+ 36687 - 11904: 0xF358,
+ 36688 - 11904: 0xF359,
+ 36689 - 11904: 0xF357,
+ 36690 - 11904: 0xF356,
+ 36691 - 11904: 0xF35A,
+ 36692 - 11904: 0xC3E1,
+ 36693 - 11904: 0xF4DD,
+ 36694 - 11904: 0xF4DB,
+ 36695 - 11904: 0xF4DC,
+ 36696 - 11904: 0xF4DE,
+ 36697 - 11904: 0xF4DA,
+ 36698 - 11904: 0xF4DF,
+ 36699 - 11904: 0xF658,
+ 36700 - 11904: 0x9F78,
+ 36701 - 11904: 0xF659,
+ 36702 - 11904: 0xF657,
+ 36703 - 11904: 0xC546,
+ 36704 - 11904: 0xF764,
+ 36705 - 11904: 0xC5AF,
+ 36706 - 11904: 0xF765,
+ 36707 - 11904: 0xF848,
+ 36708 - 11904: 0xF847,
+ 36710 - 11904: 0x897C,
+ 36711 - 11904: 0x897D,
+ 36718 - 11904: 0x897E,
+ 36755 - 11904: 0x995D,
+ 36763 - 11904: 0xA8AF,
+ 36764 - 11904: 0xB664,
+ 36767 - 11904: 0xB940,
+ 36768 - 11904: 0x9B5A,
+ 36771 - 11904: 0xBBB6,
+ 36773 - 11904: 0x9050,
+ 36774 - 11904: 0xBFEC,
+ 36775 - 11904: 0x8C4F,
+ 36776 - 11904: 0xBFEB,
+ 36781 - 11904: 0xC3E3,
+ 36782 - 11904: 0xC47C,
+ 36783 - 11904: 0xC547,
+ 36784 - 11904: 0xA8B0,
+ 36785 - 11904: 0xB064,
+ 36786 - 11904: 0xB941,
+ 36787 - 11904: 0x9054,
+ 36788 - 11904: 0xF35B,
+ 36789 - 11904: 0xC6D6,
+ 36790 - 11904: 0x9AA8,
+ 36791 - 11904: 0x99EF,
+ 36792 - 11904: 0xFEEB,
+ 36793 - 11904: 0x9DA3,
+ 36794 - 11904: 0x9DA1,
+ 36795 - 11904: 0x9943,
+ 36796 - 11904: 0x9945,
+ 36798 - 11904: 0x9D7D,
+ 36799 - 11904: 0xCBA6,
+ 36801 - 11904: 0x99F0,
+ 36802 - 11904: 0xA8B1,
+ 36804 - 11904: 0xA8B4,
+ 36805 - 11904: 0xA8B3,
+ 36806 - 11904: 0xA8B2,
+ 36809 - 11904: 0xCBA5,
+ 36810 - 11904: 0x99F1,
+ 36811 - 11904: 0xCDCD,
+ 36812 - 11904: 0x99F2,
+ 36813 - 11904: 0xCDCF,
+ 36814 - 11904: 0xAAEF,
+ 36815 - 11904: 0x8CBC,
+ 36816 - 11904: 0x9D60,
+ 36817 - 11904: 0xAAF1,
+ 36818 - 11904: 0xCDCC,
+ 36819 - 11904: 0xCDCE,
+ 36820 - 11904: 0xAAF0,
+ 36821 - 11904: 0xCDD1,
+ 36822 - 11904: 0xCDD0,
+ 36823 - 11904: 0xCDD2,
+ 36826 - 11904: 0xA0A3,
+ 36832 - 11904: 0xD0B6,
+ 36833 - 11904: 0xD0B4,
+ 36834 - 11904: 0xAD7C,
+ 36835 - 11904: 0xD0B3,
+ 36836 - 11904: 0xADA3,
+ 36837 - 11904: 0xAD7E,
+ 36838 - 11904: 0xAD7B,
+ 36840 - 11904: 0xADA4,
+ 36842 - 11904: 0xAD7D,
+ 36843 - 11904: 0xADA2,
+ 36845 - 11904: 0xADA1,
+ 36846 - 11904: 0xD0B5,
+ 36848 - 11904: 0xAD7A,
+ 36852 - 11904: 0xB06A,
+ 36853 - 11904: 0xD3EB,
+ 36854 - 11904: 0xD3F1,
+ 36855 - 11904: 0xB067,
+ 36856 - 11904: 0xB06E,
+ 36857 - 11904: 0x905B,
+ 36858 - 11904: 0xB069,
+ 36859 - 11904: 0xD3EE,
+ 36860 - 11904: 0xD3F0,
+ 36861 - 11904: 0xB06C,
+ 36862 - 11904: 0xD3EA,
+ 36863 - 11904: 0xD3ED,
+ 36864 - 11904: 0xB068,
+ 36865 - 11904: 0xB065,
+ 36866 - 11904: 0xD3EC,
+ 36867 - 11904: 0xB06B,
+ 36868 - 11904: 0xD3EF,
+ 36869 - 11904: 0xB06D,
+ 36870 - 11904: 0xB066,
+ 36872 - 11904: 0x9EDB,
+ 36875 - 11904: 0xD7E3,
+ 36876 - 11904: 0xD7E6,
+ 36877 - 11904: 0xB370,
+ 36879 - 11904: 0xB37A,
+ 36880 - 11904: 0xB376,
+ 36881 - 11904: 0xD7E4,
+ 36882 - 11904: 0x9D79,
+ 36884 - 11904: 0xB37E,
+ 36885 - 11904: 0xB377,
+ 36886 - 11904: 0xB37C,
+ 36887 - 11904: 0xB372,
+ 36889 - 11904: 0xB36F,
+ 36890 - 11904: 0xB371,
+ 36891 - 11904: 0xB37D,
+ 36892 - 11904: 0xD7E5,
+ 36893 - 11904: 0xB375,
+ 36894 - 11904: 0xB378,
+ 36895 - 11904: 0xB374,
+ 36896 - 11904: 0xB379,
+ 36897 - 11904: 0xD7E7,
+ 36898 - 11904: 0xB37B,
+ 36899 - 11904: 0xB373,
+ 36900 - 11904: 0xD7E2,
+ 36909 - 11904: 0xDC4D,
+ 36910 - 11904: 0xB665,
+ 36911 - 11904: 0xDC4F,
+ 36913 - 11904: 0xB667,
+ 36914 - 11904: 0xB669,
+ 36915 - 11904: 0x99F3,
+ 36916 - 11904: 0xDC4E,
+ 36917 - 11904: 0xB666,
+ 36918 - 11904: 0xB66A,
+ 36919 - 11904: 0x9062,
+ 36920 - 11904: 0xB668,
+ 36924 - 11904: 0xB947,
+ 36925 - 11904: 0xE0A3,
+ 36926 - 11904: 0xB94F,
+ 36927 - 11904: 0xE07E,
+ 36929 - 11904: 0xB950,
+ 36930 - 11904: 0xB945,
+ 36932 - 11904: 0xE0A1,
+ 36934 - 11904: 0x87BD,
+ 36935 - 11904: 0xB94A,
+ 36937 - 11904: 0xE0A2,
+ 36938 - 11904: 0xB943,
+ 36939 - 11904: 0xB942,
+ 36940 - 11904: 0x9F55,
+ 36941 - 11904: 0xB94D,
+ 36942 - 11904: 0xB94C,
+ 36943 - 11904: 0xB94B,
+ 36944 - 11904: 0xB949,
+ 36945 - 11904: 0xB94E,
+ 36946 - 11904: 0xE07D,
+ 36947 - 11904: 0xB944,
+ 36948 - 11904: 0xB946,
+ 36949 - 11904: 0xB948,
+ 36950 - 11904: 0x9BF9,
+ 36952 - 11904: 0xBBB8,
+ 36953 - 11904: 0xBBBB,
+ 36955 - 11904: 0xBBBF,
+ 36956 - 11904: 0xBBB9,
+ 36957 - 11904: 0xBBBE,
+ 36958 - 11904: 0xBBBC,
+ 36960 - 11904: 0xBBB7,
+ 36961 - 11904: 0x9065,
+ 36962 - 11904: 0xBBBD,
+ 36963 - 11904: 0xBBBA,
+ 36964 - 11904: 0x96E0,
+ 36967 - 11904: 0xE852,
+ 36968 - 11904: 0xBE43,
+ 36969 - 11904: 0xBE41,
+ 36971 - 11904: 0xE853,
+ 36972 - 11904: 0x98BE,
+ 36973 - 11904: 0xBE44,
+ 36974 - 11904: 0xBE42,
+ 36975 - 11904: 0xE851,
+ 36976 - 11904: 0xE850,
+ 36978 - 11904: 0xBFF0,
+ 36979 - 11904: 0xE84F,
+ 36980 - 11904: 0xBFEE,
+ 36981 - 11904: 0xBFED,
+ 36982 - 11904: 0xEBD0,
+ 36983 - 11904: 0xBE45,
+ 36984 - 11904: 0xBFEF,
+ 36985 - 11904: 0xEBD1,
+ 36986 - 11904: 0xBFF2,
+ 36987 - 11904: 0xEBD2,
+ 36988 - 11904: 0xBFF1,
+ 36989 - 11904: 0xC1D8,
+ 36990 - 11904: 0xEEC3,
+ 36991 - 11904: 0xC1D7,
+ 36992 - 11904: 0xC1DC,
+ 36993 - 11904: 0xC1DA,
+ 36994 - 11904: 0xC1DB,
+ 36995 - 11904: 0xC2E3,
+ 36996 - 11904: 0xC1D9,
+ 36997 - 11904: 0xEEC2,
+ 36998 - 11904: 0xEBD3,
+ 36999 - 11904: 0xC2E2,
+ 37000 - 11904: 0xC2E4,
+ 37002 - 11904: 0xC3E4,
+ 37003 - 11904: 0xC3E5,
+ 37005 - 11904: 0xF4E0,
+ 37007 - 11904: 0xC5DE,
+ 37008 - 11904: 0xC5DD,
+ 37009 - 11904: 0xA8B6,
+ 37012 - 11904: 0xCA55,
+ 37013 - 11904: 0xB06F,
+ 37015 - 11904: 0xCA52,
+ 37016 - 11904: 0xCA53,
+ 37017 - 11904: 0xCA51,
+ 37019 - 11904: 0xCA54,
+ 37022 - 11904: 0xCBAA,
+ 37023 - 11904: 0xCBA7,
+ 37024 - 11904: 0xCBAC,
+ 37025 - 11904: 0xCBA8,
+ 37026 - 11904: 0xA8B7,
+ 37027 - 11904: 0xA8BA,
+ 37029 - 11904: 0xCBA9,
+ 37030 - 11904: 0xA8B9,
+ 37031 - 11904: 0xCBAB,
+ 37032 - 11904: 0x9068,
+ 37034 - 11904: 0xA8B8,
+ 37038 - 11904: 0x906C,
+ 37039 - 11904: 0xCDD5,
+ 37040 - 11904: 0xCDD7,
+ 37041 - 11904: 0xAAF4,
+ 37042 - 11904: 0xCDD3,
+ 37043 - 11904: 0xCDD6,
+ 37044 - 11904: 0xCDD4,
+ 37045 - 11904: 0xAAF2,
+ 37046 - 11904: 0xAAF5,
+ 37048 - 11904: 0xAAF3,
+ 37051 - 11904: 0x95D8,
+ 37053 - 11904: 0xD0B8,
+ 37054 - 11904: 0xD0BC,
+ 37055 - 11904: 0xD0B9,
+ 37057 - 11904: 0xADA7,
+ 37059 - 11904: 0xADA8,
+ 37060 - 11904: 0x906A,
+ 37061 - 11904: 0xD0BB,
+ 37063 - 11904: 0xD0BD,
+ 37064 - 11904: 0xD0BF,
+ 37066 - 11904: 0xADA5,
+ 37067 - 11904: 0xD0BE,
+ 37070 - 11904: 0xADA6,
+ 37076 - 11904: 0xD7EE,
+ 37077 - 11904: 0xD0BA,
+ 37078 - 11904: 0xD3F2,
+ 37079 - 11904: 0xD3FB,
+ 37080 - 11904: 0xD3F9,
+ 37081 - 11904: 0xD3F4,
+ 37082 - 11904: 0xD3F5,
+ 37083 - 11904: 0xD3FA,
+ 37084 - 11904: 0xD3FC,
+ 37085 - 11904: 0xB071,
+ 37087 - 11904: 0xD3F7,
+ 37088 - 11904: 0xD3F3,
+ 37089 - 11904: 0xB070,
+ 37090 - 11904: 0xB072,
+ 37091 - 11904: 0xD3F6,
+ 37092 - 11904: 0xD3FD,
+ 37093 - 11904: 0xD3F8,
+ 37096 - 11904: 0xB3A1,
+ 37097 - 11904: 0xD7F1,
+ 37098 - 11904: 0xD7E9,
+ 37099 - 11904: 0xD7EF,
+ 37100 - 11904: 0xD7F0,
+ 37101 - 11904: 0xB3A2,
+ 37103 - 11904: 0xD7E8,
+ 37104 - 11904: 0xD7EA,
+ 37105 - 11904: 0xD0B7,
+ 37106 - 11904: 0xD7EC,
+ 37107 - 11904: 0xD7ED,
+ 37108 - 11904: 0xD7EB,
+ 37109 - 11904: 0xB66C,
+ 37113 - 11904: 0xDC56,
+ 37114 - 11904: 0xEBD4,
+ 37115 - 11904: 0xDC57,
+ 37116 - 11904: 0xDC54,
+ 37117 - 11904: 0xB3A3,
+ 37118 - 11904: 0xB66E,
+ 37119 - 11904: 0xDC53,
+ 37120 - 11904: 0xDC59,
+ 37121 - 11904: 0xDC58,
+ 37122 - 11904: 0xB66B,
+ 37123 - 11904: 0xDC5C,
+ 37124 - 11904: 0xDC52,
+ 37125 - 11904: 0xDC5B,
+ 37126 - 11904: 0xDC50,
+ 37127 - 11904: 0xDC5A,
+ 37128 - 11904: 0xDC55,
+ 37129 - 11904: 0xB66D,
+ 37131 - 11904: 0xE0AA,
+ 37133 - 11904: 0xE0A5,
+ 37134 - 11904: 0xE0AB,
+ 37135 - 11904: 0xE0A6,
+ 37136 - 11904: 0xE0A4,
+ 37137 - 11904: 0xE0A7,
+ 37138 - 11904: 0xB951,
+ 37140 - 11904: 0xE0A9,
+ 37142 - 11904: 0xE0A8,
+ 37143 - 11904: 0xB952,
+ 37144 - 11904: 0xBBC1,
+ 37145 - 11904: 0xBBC0,
+ 37146 - 11904: 0xE46E,
+ 37147 - 11904: 0xE471,
+ 37148 - 11904: 0xE469,
+ 37149 - 11904: 0xE46D,
+ 37150 - 11904: 0xBBC2,
+ 37151 - 11904: 0xE46C,
+ 37152 - 11904: 0xE46A,
+ 37153 - 11904: 0xE470,
+ 37154 - 11904: 0xE46B,
+ 37155 - 11904: 0xE468,
+ 37156 - 11904: 0xE46F,
+ 37158 - 11904: 0xE859,
+ 37159 - 11904: 0xBE48,
+ 37160 - 11904: 0xF14A,
+ 37161 - 11904: 0xE856,
+ 37162 - 11904: 0xE857,
+ 37163 - 11904: 0xE855,
+ 37164 - 11904: 0xDC51,
+ 37165 - 11904: 0xBE47,
+ 37166 - 11904: 0xE85A,
+ 37167 - 11904: 0xE854,
+ 37168 - 11904: 0xBE46,
+ 37169 - 11904: 0xBE49,
+ 37170 - 11904: 0xE858,
+ 37171 - 11904: 0xEBD5,
+ 37172 - 11904: 0xBFF3,
+ 37173 - 11904: 0xEBD6,
+ 37174 - 11904: 0xEBD7,
+ 37176 - 11904: 0xEEC4,
+ 37177 - 11904: 0xC1DD,
+ 37178 - 11904: 0xF14B,
+ 37179 - 11904: 0xF14C,
+ 37182 - 11904: 0xF14D,
+ 37183 - 11904: 0xF35D,
+ 37184 - 11904: 0xF35C,
+ 37185 - 11904: 0xF4E2,
+ 37187 - 11904: 0xF4E1,
+ 37188 - 11904: 0xF65B,
+ 37189 - 11904: 0xF65C,
+ 37190 - 11904: 0xF65A,
+ 37191 - 11904: 0xF766,
+ 37192 - 11904: 0xC5B0,
+ 37193 - 11904: 0xA8BB,
+ 37194 - 11904: 0xADAA,
+ 37195 - 11904: 0xADA9,
+ 37196 - 11904: 0xB075,
+ 37197 - 11904: 0xB074,
+ 37198 - 11904: 0xD440,
+ 37199 - 11904: 0xD441,
+ 37200 - 11904: 0xD3FE,
+ 37201 - 11904: 0x9FB2,
+ 37202 - 11904: 0xB073,
+ 37203 - 11904: 0xD7F5,
+ 37205 - 11904: 0xD7F6,
+ 37206 - 11904: 0xD7F2,
+ 37207 - 11904: 0xB3A4,
+ 37208 - 11904: 0xD7F3,
+ 37209 - 11904: 0x9FAE,
+ 37210 - 11904: 0xD7F4,
+ 37212 - 11904: 0x9FB0,
+ 37214 - 11904: 0x89AD,
+ 37215 - 11904: 0xDC5F,
+ 37216 - 11904: 0xDC61,
+ 37217 - 11904: 0xDC5D,
+ 37218 - 11904: 0xDC60,
+ 37219 - 11904: 0xB66F,
+ 37220 - 11904: 0xDC5E,
+ 37221 - 11904: 0xB670,
+ 37223 - 11904: 0x906E,
+ 37224 - 11904: 0xDD73,
+ 37225 - 11904: 0xB955,
+ 37226 - 11904: 0xB954,
+ 37228 - 11904: 0xB953,
+ 37230 - 11904: 0xE0AC,
+ 37231 - 11904: 0xE0AD,
+ 37232 - 11904: 0x9E71,
+ 37234 - 11904: 0xE473,
+ 37235 - 11904: 0xE475,
+ 37236 - 11904: 0xBBC6,
+ 37237 - 11904: 0xBBC3,
+ 37238 - 11904: 0x9E4A,
+ 37239 - 11904: 0xBBC5,
+ 37240 - 11904: 0xBBC4,
+ 37241 - 11904: 0xE474,
+ 37242 - 11904: 0xE472,
+ 37244 - 11904: 0x9FDC,
+ 37248 - 11904: 0xE861,
+ 37249 - 11904: 0xE85E,
+ 37250 - 11904: 0xE85F,
+ 37251 - 11904: 0xBE4D,
+ 37252 - 11904: 0xE860,
+ 37253 - 11904: 0xE85B,
+ 37254 - 11904: 0xE85C,
+ 37255 - 11904: 0xBE4A,
+ 37257 - 11904: 0xBE4B,
+ 37258 - 11904: 0xE85D,
+ 37259 - 11904: 0xBE4C,
+ 37260 - 11904: 0x89AB,
+ 37261 - 11904: 0xEBDB,
+ 37262 - 11904: 0x9FB8,
+ 37263 - 11904: 0xEBDC,
+ 37264 - 11904: 0xEBD9,
+ 37265 - 11904: 0xEBDA,
+ 37266 - 11904: 0xBFF4,
+ 37267 - 11904: 0xEBD8,
+ 37273 - 11904: 0xEEC8,
+ 37274 - 11904: 0xEEC5,
+ 37275 - 11904: 0xEEC7,
+ 37276 - 11904: 0xC1E0,
+ 37277 - 11904: 0xEECB,
+ 37278 - 11904: 0xC1DF,
+ 37279 - 11904: 0xEEC9,
+ 37280 - 11904: 0xEECC,
+ 37281 - 11904: 0xEECA,
+ 37282 - 11904: 0xEEC6,
+ 37283 - 11904: 0xC1DE,
+ 37285 - 11904: 0xF14F,
+ 37287 - 11904: 0xF150,
+ 37288 - 11904: 0xF14E,
+ 37289 - 11904: 0x9070,
+ 37290 - 11904: 0xF152,
+ 37291 - 11904: 0xC2E5,
+ 37292 - 11904: 0xC2E6,
+ 37293 - 11904: 0xF35F,
+ 37294 - 11904: 0xC3E7,
+ 37295 - 11904: 0xF151,
+ 37296 - 11904: 0xF35E,
+ 37297 - 11904: 0xC3E6,
+ 37298 - 11904: 0xF4E5,
+ 37299 - 11904: 0xF4E6,
+ 37300 - 11904: 0xC4BF,
+ 37301 - 11904: 0xF4E4,
+ 37302 - 11904: 0x8B63,
+ 37303 - 11904: 0xF4E3,
+ 37305 - 11904: 0xF65D,
+ 37306 - 11904: 0xC548,
+ 37307 - 11904: 0x95DC,
+ 37308 - 11904: 0xF849,
+ 37309 - 11904: 0xF8C8,
+ 37310 - 11904: 0xF8C7,
+ 37312 - 11904: 0xC643,
+ 37313 - 11904: 0xC65D,
+ 37314 - 11904: 0xF8C9,
+ 37315 - 11904: 0xF971,
+ 37316 - 11904: 0x9071,
+ 37317 - 11904: 0xC66F,
+ 37318 - 11904: 0xA8BC,
+ 37319 - 11904: 0xAAF6,
+ 37321 - 11904: 0xB956,
+ 37323 - 11904: 0xC4C0,
+ 37324 - 11904: 0xA8BD,
+ 37325 - 11904: 0xADAB,
+ 37326 - 11904: 0xB3A5,
+ 37327 - 11904: 0xB671,
+ 37328 - 11904: 0xC2E7,
+ 37329 - 11904: 0xAAF7,
+ 37331 - 11904: 0xD0C1,
+ 37332 - 11904: 0xD0C0,
+ 37333 - 11904: 0xD442,
+ 37334 - 11904: 0xFC5E,
+ 37335 - 11904: 0xB078,
+ 37336 - 11904: 0xB076,
+ 37337 - 11904: 0xB07A,
+ 37338 - 11904: 0xD444,
+ 37340 - 11904: 0xB079,
+ 37341 - 11904: 0xB077,
+ 37343 - 11904: 0x8949,
+ 37346 - 11904: 0xD443,
+ 37347 - 11904: 0xB3A8,
+ 37348 - 11904: 0xD7FC,
+ 37349 - 11904: 0x965B,
+ 37350 - 11904: 0xB3A7,
+ 37351 - 11904: 0xB3A9,
+ 37352 - 11904: 0xD842,
+ 37353 - 11904: 0xB3AB,
+ 37354 - 11904: 0xD7FE,
+ 37355 - 11904: 0xD840,
+ 37356 - 11904: 0xD7F7,
+ 37357 - 11904: 0xB3AA,
+ 37358 - 11904: 0xD843,
+ 37361 - 11904: 0xD7F9,
+ 37363 - 11904: 0xD7FA,
+ 37364 - 11904: 0xD7F8,
+ 37365 - 11904: 0xB3A6,
+ 37366 - 11904: 0x8C50,
+ 37367 - 11904: 0xD841,
+ 37368 - 11904: 0xD7FB,
+ 37369 - 11904: 0xD7FD,
+ 37370 - 11904: 0x94A6,
+ 37373 - 11904: 0xDC6D,
+ 37374 - 11904: 0x8FD5,
+ 37375 - 11904: 0xDC6C,
+ 37376 - 11904: 0xDC6A,
+ 37377 - 11904: 0xDC62,
+ 37378 - 11904: 0xDC71,
+ 37379 - 11904: 0xDC65,
+ 37380 - 11904: 0xDC6F,
+ 37381 - 11904: 0xDC76,
+ 37382 - 11904: 0xDC6E,
+ 37383 - 11904: 0xB679,
+ 37384 - 11904: 0x9E73,
+ 37385 - 11904: 0xB675,
+ 37386 - 11904: 0xDC63,
+ 37388 - 11904: 0xDC69,
+ 37389 - 11904: 0xB677,
+ 37390 - 11904: 0x9075,
+ 37391 - 11904: 0xDC68,
+ 37392 - 11904: 0xB678,
+ 37393 - 11904: 0xB67A,
+ 37394 - 11904: 0xDC6B,
+ 37395 - 11904: 0x99F7,
+ 37396 - 11904: 0xB672,
+ 37397 - 11904: 0xB673,
+ 37398 - 11904: 0xDC77,
+ 37399 - 11904: 0xDC75,
+ 37400 - 11904: 0x87B2,
+ 37401 - 11904: 0xDC74,
+ 37402 - 11904: 0xDC66,
+ 37404 - 11904: 0xDC72,
+ 37406 - 11904: 0xB676,
+ 37409 - 11904: 0x8CBF,
+ 37411 - 11904: 0xB674,
+ 37412 - 11904: 0xDC73,
+ 37413 - 11904: 0xDC64,
+ 37414 - 11904: 0xDC67,
+ 37415 - 11904: 0xDC70,
+ 37416 - 11904: 0x99F9,
+ 37418 - 11904: 0x9663,
+ 37419 - 11904: 0x95B9,
+ 37421 - 11904: 0xE4BA,
+ 37422 - 11904: 0xE0B7,
+ 37424 - 11904: 0xE0B0,
+ 37425 - 11904: 0xE0C3,
+ 37426 - 11904: 0xE0CC,
+ 37427 - 11904: 0xE0B3,
+ 37428 - 11904: 0xB961,
+ 37429 - 11904: 0x94D4,
+ 37430 - 11904: 0xE0C0,
+ 37431 - 11904: 0xB957,
+ 37432 - 11904: 0xB959,
+ 37433 - 11904: 0xB965,
+ 37434 - 11904: 0xE0B1,
+ 37436 - 11904: 0xFCFA,
+ 37437 - 11904: 0xB95A,
+ 37438 - 11904: 0xB95C,
+ 37439 - 11904: 0xB966,
+ 37440 - 11904: 0xB95B,
+ 37441 - 11904: 0x9077,
+ 37444 - 11904: 0x90AB,
+ 37445 - 11904: 0xB964,
+ 37446 - 11904: 0xE0B9,
+ 37448 - 11904: 0xE0AE,
+ 37449 - 11904: 0xB962,
+ 37450 - 11904: 0xE0B8,
+ 37451 - 11904: 0xB95E,
+ 37452 - 11904: 0xE0CA,
+ 37453 - 11904: 0xB963,
+ 37454 - 11904: 0xE0C8,
+ 37455 - 11904: 0xE0BC,
+ 37456 - 11904: 0xE0C6,
+ 37457 - 11904: 0xB960,
+ 37458 - 11904: 0xE0AF,
+ 37459 - 11904: 0xE0C9,
+ 37460 - 11904: 0xE0C4,
+ 37461 - 11904: 0x9D4D,
+ 37462 - 11904: 0xE0CB,
+ 37463 - 11904: 0xB958,
+ 37464 - 11904: 0x99FA,
+ 37466 - 11904: 0xB967,
+ 37467 - 11904: 0xB95D,
+ 37469 - 11904: 0x92E3,
+ 37470 - 11904: 0xE0B5,
+ 37471 - 11904: 0x97BB,
+ 37472 - 11904: 0xE0BD,
+ 37473 - 11904: 0xE0C1,
+ 37474 - 11904: 0x9078,
+ 37475 - 11904: 0xE0C5,
+ 37476 - 11904: 0xB95F,
+ 37477 - 11904: 0xE0B4,
+ 37478 - 11904: 0xE0B2,
+ 37479 - 11904: 0xE0BE,
+ 37483 - 11904: 0x99FB,
+ 37484 - 11904: 0xE0BB,
+ 37485 - 11904: 0xE0BA,
+ 37486 - 11904: 0x97E0,
+ 37487 - 11904: 0xE0BF,
+ 37488 - 11904: 0xE0C2,
+ 37490 - 11904: 0xE0C7,
+ 37494 - 11904: 0xE478,
+ 37495 - 11904: 0x96DC,
+ 37496 - 11904: 0xBBC7,
+ 37497 - 11904: 0xE4A4,
+ 37498 - 11904: 0xE47A,
+ 37499 - 11904: 0xBBCC,
+ 37500 - 11904: 0xBBD0,
+ 37501 - 11904: 0xE4AD,
+ 37502 - 11904: 0xE4B5,
+ 37503 - 11904: 0xE4A6,
+ 37504 - 11904: 0xBBC8,
+ 37505 - 11904: 0x9CA8,
+ 37506 - 11904: 0xE4AA,
+ 37507 - 11904: 0xE0B6,
+ 37508 - 11904: 0x9772,
+ 37509 - 11904: 0xBBC9,
+ 37510 - 11904: 0xE4B1,
+ 37511 - 11904: 0xE4B6,
+ 37512 - 11904: 0xE4AE,
+ 37513 - 11904: 0x9440,
+ 37514 - 11904: 0xE4B0,
+ 37515 - 11904: 0xE4B9,
+ 37516 - 11904: 0xE4B2,
+ 37517 - 11904: 0xE47E,
+ 37518 - 11904: 0xE4A9,
+ 37519 - 11904: 0x92F2,
+ 37521 - 11904: 0xBBD1,
+ 37523 - 11904: 0xBBCD,
+ 37524 - 11904: 0xE47C,
+ 37525 - 11904: 0xE4AB,
+ 37526 - 11904: 0xBBCB,
+ 37527 - 11904: 0xE4A5,
+ 37528 - 11904: 0xBBCA,
+ 37529 - 11904: 0xE4B3,
+ 37530 - 11904: 0xE4A2,
+ 37531 - 11904: 0xE479,
+ 37532 - 11904: 0xBBCE,
+ 37533 - 11904: 0xE4B8,
+ 37536 - 11904: 0xE47B,
+ 37537 - 11904: 0xE4AF,
+ 37538 - 11904: 0xE4AC,
+ 37539 - 11904: 0xE4A7,
+ 37540 - 11904: 0xE477,
+ 37541 - 11904: 0xE476,
+ 37542 - 11904: 0xE4A1,
+ 37543 - 11904: 0xE4B4,
+ 37544 - 11904: 0xBBCF,
+ 37545 - 11904: 0xE4B7,
+ 37546 - 11904: 0xE47D,
+ 37547 - 11904: 0xE4A3,
+ 37548 - 11904: 0xBE52,
+ 37550 - 11904: 0x99FD,
+ 37553 - 11904: 0x99FC,
+ 37554 - 11904: 0xBE5A,
+ 37555 - 11904: 0xBE55,
+ 37556 - 11904: 0xE8A4,
+ 37557 - 11904: 0xE8A1,
+ 37558 - 11904: 0xE867,
+ 37559 - 11904: 0xBE50,
+ 37561 - 11904: 0xF9D7,
+ 37562 - 11904: 0x964A,
+ 37563 - 11904: 0xBE4F,
+ 37564 - 11904: 0xBE56,
+ 37566 - 11904: 0x96D8,
+ 37567 - 11904: 0x99FE,
+ 37568 - 11904: 0xE865,
+ 37569 - 11904: 0xBE54,
+ 37570 - 11904: 0xE871,
+ 37571 - 11904: 0xE863,
+ 37572 - 11904: 0xE864,
+ 37573 - 11904: 0xBE4E,
+ 37574 - 11904: 0xE8A3,
+ 37575 - 11904: 0xBE58,
+ 37576 - 11904: 0xE874,
+ 37577 - 11904: 0xE879,
+ 37578 - 11904: 0xE873,
+ 37579 - 11904: 0xEBEE,
+ 37580 - 11904: 0xE86F,
+ 37581 - 11904: 0xE877,
+ 37582 - 11904: 0xE875,
+ 37583 - 11904: 0xE868,
+ 37584 - 11904: 0xE862,
+ 37585 - 11904: 0xE87D,
+ 37586 - 11904: 0xBE57,
+ 37587 - 11904: 0xE87E,
+ 37588 - 11904: 0x904B,
+ 37589 - 11904: 0xE878,
+ 37591 - 11904: 0xE86D,
+ 37592 - 11904: 0xE86B,
+ 37593 - 11904: 0xE866,
+ 37595 - 11904: 0xFA41,
+ 37597 - 11904: 0xE86E,
+ 37598 - 11904: 0xE87B,
+ 37599 - 11904: 0xE86A,
+ 37600 - 11904: 0xE87A,
+ 37601 - 11904: 0xE8A2,
+ 37603 - 11904: 0x9A40,
+ 37604 - 11904: 0xBE53,
+ 37605 - 11904: 0x975B,
+ 37606 - 11904: 0xE876,
+ 37607 - 11904: 0xE87C,
+ 37608 - 11904: 0xE872,
+ 37609 - 11904: 0xE86C,
+ 37610 - 11904: 0xBE51,
+ 37611 - 11904: 0x9A41,
+ 37612 - 11904: 0x91DD,
+ 37614 - 11904: 0xE4A8,
+ 37615 - 11904: 0xE870,
+ 37616 - 11904: 0xBE59,
+ 37617 - 11904: 0xE869,
+ 37618 - 11904: 0x93FC,
+ 37619 - 11904: 0x9A42,
+ 37620 - 11904: 0x9A43,
+ 37622 - 11904: 0x9659,
+ 37623 - 11904: 0xEBF4,
+ 37624 - 11904: 0xBFF7,
+ 37625 - 11904: 0xEBF3,
+ 37626 - 11904: 0xEBF0,
+ 37627 - 11904: 0xEC44,
+ 37628 - 11904: 0xBFFB,
+ 37629 - 11904: 0x9A44,
+ 37630 - 11904: 0xEC41,
+ 37631 - 11904: 0xEBF8,
+ 37632 - 11904: 0xEC43,
+ 37633 - 11904: 0xEBE9,
+ 37634 - 11904: 0xEBF6,
+ 37635 - 11904: 0x9051,
+ 37636 - 11904: 0xBFFD,
+ 37638 - 11904: 0xEBE1,
+ 37639 - 11904: 0x94BF,
+ 37640 - 11904: 0xEBDF,
+ 37641 - 11904: 0xEC42,
+ 37643 - 11904: 0xEC40,
+ 37644 - 11904: 0xEBFE,
+ 37645 - 11904: 0xEBED,
+ 37646 - 11904: 0xEBEC,
+ 37647 - 11904: 0xEBE2,
+ 37648 - 11904: 0xC040,
+ 37650 - 11904: 0xEBE8,
+ 37651 - 11904: 0xEBF2,
+ 37652 - 11904: 0xEBFD,
+ 37653 - 11904: 0xC043,
+ 37654 - 11904: 0xEC45,
+ 37656 - 11904: 0xC1E8,
+ 37657 - 11904: 0xC045,
+ 37658 - 11904: 0xBFFE,
+ 37659 - 11904: 0xEBE6,
+ 37661 - 11904: 0xEBEF,
+ 37662 - 11904: 0xEBDE,
+ 37663 - 11904: 0xEBE0,
+ 37664 - 11904: 0xBFF5,
+ 37665 - 11904: 0xC042,
+ 37666 - 11904: 0xBFFA,
+ 37667 - 11904: 0xEBE7,
+ 37668 - 11904: 0xEBF7,
+ 37669 - 11904: 0xEBF1,
+ 37670 - 11904: 0xC041,
+ 37671 - 11904: 0xEBDD,
+ 37672 - 11904: 0xC1E3,
+ 37673 - 11904: 0xEBF9,
+ 37674 - 11904: 0xEBFC,
+ 37675 - 11904: 0xBFFC,
+ 37676 - 11904: 0x90A2,
+ 37677 - 11904: 0xEBEB,
+ 37678 - 11904: 0xC044,
+ 37679 - 11904: 0xBFF9,
+ 37680 - 11904: 0x9CAB,
+ 37681 - 11904: 0x9776,
+ 37683 - 11904: 0xBFF8,
+ 37684 - 11904: 0xEBF5,
+ 37685 - 11904: 0xEBFB,
+ 37686 - 11904: 0xBFF6,
+ 37688 - 11904: 0xEBE4,
+ 37689 - 11904: 0xEBFA,
+ 37692 - 11904: 0xEBE5,
+ 37696 - 11904: 0xFC55,
+ 37697 - 11904: 0xFE45,
+ 37698 - 11904: 0x94A8,
+ 37699 - 11904: 0x9A45,
+ 37700 - 11904: 0xFA4B,
+ 37701 - 11904: 0x9DE1,
+ 37702 - 11904: 0xEBEA,
+ 37703 - 11904: 0xEED2,
+ 37704 - 11904: 0x96D9,
+ 37705 - 11904: 0xEED7,
+ 37706 - 11904: 0xC1E5,
+ 37707 - 11904: 0xC1E7,
+ 37708 - 11904: 0xEEDD,
+ 37709 - 11904: 0xC1E1,
+ 37710 - 11904: 0xEEEC,
+ 37711 - 11904: 0xEEE3,
+ 37712 - 11904: 0xEED8,
+ 37713 - 11904: 0xEED9,
+ 37714 - 11904: 0xEEE2,
+ 37716 - 11904: 0xC1EE,
+ 37717 - 11904: 0xEEE1,
+ 37718 - 11904: 0xEED1,
+ 37719 - 11904: 0xEEE0,
+ 37720 - 11904: 0xEED4,
+ 37721 - 11904: 0xEEED,
+ 37722 - 11904: 0xC1ED,
+ 37723 - 11904: 0xC1EB,
+ 37724 - 11904: 0xEED5,
+ 37726 - 11904: 0xEEE8,
+ 37727 - 11904: 0x9774,
+ 37728 - 11904: 0xEEDA,
+ 37729 - 11904: 0xEEE7,
+ 37730 - 11904: 0xFDF5,
+ 37731 - 11904: 0xEEE9,
+ 37732 - 11904: 0xEED0,
+ 37733 - 11904: 0xC1E6,
+ 37734 - 11904: 0x92E5,
+ 37735 - 11904: 0xEEEA,
+ 37736 - 11904: 0x9645,
+ 37737 - 11904: 0x91DA,
+ 37738 - 11904: 0xEEDE,
+ 37739 - 11904: 0x90A3,
+ 37740 - 11904: 0xC1EA,
+ 37741 - 11904: 0xEEDB,
+ 37742 - 11904: 0xA05F,
+ 37744 - 11904: 0xC1EC,
+ 37745 - 11904: 0xEEE4,
+ 37747 - 11904: 0x90AF,
+ 37748 - 11904: 0x97BF,
+ 37749 - 11904: 0xC1E4,
+ 37750 - 11904: 0xEED6,
+ 37751 - 11904: 0xEEE5,
+ 37752 - 11904: 0x914C,
+ 37753 - 11904: 0xEEDF,
+ 37754 - 11904: 0xEBE3,
+ 37755 - 11904: 0xEEE6,
+ 37756 - 11904: 0xEED3,
+ 37757 - 11904: 0x967A,
+ 37758 - 11904: 0xC1E9,
+ 37760 - 11904: 0xEEEB,
+ 37761 - 11904: 0x91DE,
+ 37762 - 11904: 0xC1E2,
+ 37763 - 11904: 0xEECE,
+ 37764 - 11904: 0x9A46,
+ 37765 - 11904: 0xFEB0,
+ 37766 - 11904: 0x9779,
+ 37767 - 11904: 0x946C,
+ 37768 - 11904: 0xF160,
+ 37769 - 11904: 0xF159,
+ 37770 - 11904: 0xC2E9,
+ 37772 - 11904: 0xF154,
+ 37773 - 11904: 0xF163,
+ 37774 - 11904: 0xF15B,
+ 37775 - 11904: 0xEEDC,
+ 37776 - 11904: 0x9858,
+ 37777 - 11904: 0xF165,
+ 37778 - 11904: 0xF155,
+ 37780 - 11904: 0xC2E8,
+ 37781 - 11904: 0xF15F,
+ 37782 - 11904: 0xC2EA,
+ 37783 - 11904: 0xC2F2,
+ 37784 - 11904: 0xC2F0,
+ 37785 - 11904: 0xF161,
+ 37786 - 11904: 0xC2F1,
+ 37787 - 11904: 0xF157,
+ 37788 - 11904: 0x9266,
+ 37789 - 11904: 0xF158,
+ 37790 - 11904: 0xF15D,
+ 37791 - 11904: 0xF162,
+ 37792 - 11904: 0x93FB,
+ 37793 - 11904: 0xEECD,
+ 37794 - 11904: 0xC2EB,
+ 37795 - 11904: 0xF16A,
+ 37796 - 11904: 0xF167,
+ 37797 - 11904: 0xF16B,
+ 37798 - 11904: 0xF15E,
+ 37799 - 11904: 0xF15A,
+ 37800 - 11904: 0xF168,
+ 37801 - 11904: 0xF36A,
+ 37802 - 11904: 0xF15C,
+ 37804 - 11904: 0xC2EE,
+ 37805 - 11904: 0x9A47,
+ 37806 - 11904: 0xC2ED,
+ 37807 - 11904: 0xEECF,
+ 37808 - 11904: 0xC2EF,
+ 37809 - 11904: 0xF164,
+ 37810 - 11904: 0xF166,
+ 37811 - 11904: 0xC2EC,
+ 37812 - 11904: 0xF169,
+ 37813 - 11904: 0xF153,
+ 37815 - 11904: 0xF156,
+ 37816 - 11904: 0x9749,
+ 37819 - 11904: 0x9748,
+ 37821 - 11904: 0x934A,
+ 37823 - 11904: 0x9CE2,
+ 37824 - 11904: 0xF373,
+ 37826 - 11904: 0xF363,
+ 37827 - 11904: 0xC3EB,
+ 37828 - 11904: 0xF371,
+ 37830 - 11904: 0x9264,
+ 37831 - 11904: 0xF361,
+ 37832 - 11904: 0xC3EC,
+ 37834 - 11904: 0xF36C,
+ 37835 - 11904: 0x91DF,
+ 37836 - 11904: 0xF368,
+ 37837 - 11904: 0xC3F1,
+ 37838 - 11904: 0xF372,
+ 37839 - 11904: 0xF362,
+ 37840 - 11904: 0xF365,
+ 37841 - 11904: 0xC3E9,
+ 37842 - 11904: 0xF374,
+ 37843 - 11904: 0xFB79,
+ 37844 - 11904: 0xF36D,
+ 37845 - 11904: 0xF370,
+ 37846 - 11904: 0xC3EF,
+ 37847 - 11904: 0xC3F4,
+ 37848 - 11904: 0xC3F2,
+ 37849 - 11904: 0xF369,
+ 37850 - 11904: 0xF364,
+ 37851 - 11904: 0x96D7,
+ 37852 - 11904: 0xC3ED,
+ 37853 - 11904: 0xC3EE,
+ 37854 - 11904: 0xF360,
+ 37855 - 11904: 0xC3EA,
+ 37856 - 11904: 0x9343,
+ 37857 - 11904: 0xC3E8,
+ 37858 - 11904: 0xC3F0,
+ 37859 - 11904: 0xF36F,
+ 37860 - 11904: 0xC3F3,
+ 37862 - 11904: 0xF36B,
+ 37863 - 11904: 0xF375,
+ 37864 - 11904: 0xC3F5,
+ 37868 - 11904: 0xF367,
+ 37870 - 11904: 0xF36E,
+ 37872 - 11904: 0xFDCB,
+ 37873 - 11904: 0xFE7A,
+ 37875 - 11904: 0x91DB,
+ 37876 - 11904: 0x8C6A,
+ 37877 - 11904: 0xF4F3,
+ 37878 - 11904: 0xF542,
+ 37879 - 11904: 0xF4F5,
+ 37880 - 11904: 0xF4FC,
+ 37881 - 11904: 0xF366,
+ 37882 - 11904: 0xF4FA,
+ 37883 - 11904: 0xF4E9,
+ 37884 - 11904: 0xF540,
+ 37885 - 11904: 0xC4C3,
+ 37886 - 11904: 0xF4ED,
+ 37887 - 11904: 0xF4FE,
+ 37888 - 11904: 0xF4F4,
+ 37889 - 11904: 0x97AF,
+ 37891 - 11904: 0xC4C2,
+ 37892 - 11904: 0x95DD,
+ 37894 - 11904: 0xF544,
+ 37895 - 11904: 0xF4F6,
+ 37896 - 11904: 0x9348,
+ 37897 - 11904: 0xF4FB,
+ 37898 - 11904: 0xF4FD,
+ 37899 - 11904: 0xF4E7,
+ 37900 - 11904: 0xF541,
+ 37901 - 11904: 0xF4F2,
+ 37902 - 11904: 0xF4F7,
+ 37903 - 11904: 0xF4EB,
+ 37904 - 11904: 0xF4EF,
+ 37905 - 11904: 0xF543,
+ 37906 - 11904: 0xF4F9,
+ 37907 - 11904: 0xF4E8,
+ 37908 - 11904: 0xF4EC,
+ 37909 - 11904: 0xF4EE,
+ 37910 - 11904: 0xF4F8,
+ 37911 - 11904: 0x9A4B,
+ 37912 - 11904: 0xC4C1,
+ 37913 - 11904: 0xF4F1,
+ 37915 - 11904: 0xFC45,
+ 37917 - 11904: 0x9A4D,
+ 37920 - 11904: 0xF4EA,
+ 37924 - 11904: 0x91BC,
+ 37925 - 11904: 0x90E2,
+ 37926 - 11904: 0x90B4,
+ 37927 - 11904: 0x95E1,
+ 37928 - 11904: 0xF4F0,
+ 37929 - 11904: 0xF661,
+ 37930 - 11904: 0xF666,
+ 37931 - 11904: 0xC54F,
+ 37932 - 11904: 0xF668,
+ 37933 - 11904: 0x9A4E,
+ 37934 - 11904: 0xC549,
+ 37935 - 11904: 0x87AD,
+ 37936 - 11904: 0xF664,
+ 37937 - 11904: 0xF66A,
+ 37938 - 11904: 0xC54E,
+ 37939 - 11904: 0xC54A,
+ 37941 - 11904: 0xC54B,
+ 37942 - 11904: 0xF660,
+ 37943 - 11904: 0xF667,
+ 37944 - 11904: 0xC54D,
+ 37945 - 11904: 0xF665,
+ 37946 - 11904: 0xC54C,
+ 37947 - 11904: 0xF65F,
+ 37948 - 11904: 0xF663,
+ 37949 - 11904: 0xF662,
+ 37950 - 11904: 0x9A4F,
+ 37951 - 11904: 0xF65E,
+ 37952 - 11904: 0xF669,
+ 37954 - 11904: 0xFE40,
+ 37955 - 11904: 0xFE43,
+ 37956 - 11904: 0xC5B1,
+ 37957 - 11904: 0xF76D,
+ 37958 - 11904: 0xF770,
+ 37959 - 11904: 0xF76C,
+ 37960 - 11904: 0xF76E,
+ 37961 - 11904: 0xF76F,
+ 37962 - 11904: 0xF769,
+ 37963 - 11904: 0xF76A,
+ 37964 - 11904: 0xF767,
+ 37965 - 11904: 0x96DD,
+ 37967 - 11904: 0xF76B,
+ 37968 - 11904: 0xF768,
+ 37969 - 11904: 0xC5B2,
+ 37970 - 11904: 0xC5B3,
+ 37972 - 11904: 0x9A51,
+ 37973 - 11904: 0xF84B,
+ 37975 - 11904: 0xF84D,
+ 37976 - 11904: 0x96A7,
+ 37979 - 11904: 0x90B0,
+ 37981 - 11904: 0xF84C,
+ 37982 - 11904: 0xF84E,
+ 37984 - 11904: 0xC5E0,
+ 37986 - 11904: 0xF84A,
+ 37987 - 11904: 0xC5DF,
+ 37988 - 11904: 0xC5E1,
+ 37989 - 11904: 0x9C4E,
+ 37991 - 11904: 0x9443,
+ 37992 - 11904: 0xF8CB,
+ 37993 - 11904: 0xF8CC,
+ 37994 - 11904: 0xC644,
+ 37995 - 11904: 0xF8CA,
+ 37996 - 11904: 0x8EBA,
+ 37997 - 11904: 0xF953,
+ 37998 - 11904: 0xF952,
+ 37999 - 11904: 0xF954,
+ 38000 - 11904: 0xC65F,
+ 38001 - 11904: 0xF955,
+ 38002 - 11904: 0xC65E,
+ 38003 - 11904: 0xF956,
+ 38004 - 11904: 0xF972,
+ 38005 - 11904: 0xF975,
+ 38006 - 11904: 0xF974,
+ 38007 - 11904: 0xC668,
+ 38008 - 11904: 0xF973,
+ 38009 - 11904: 0x9A52,
+ 38011 - 11904: 0xFCC1,
+ 38012 - 11904: 0xC672,
+ 38013 - 11904: 0xC670,
+ 38014 - 11904: 0xC671,
+ 38015 - 11904: 0xC677,
+ 38016 - 11904: 0xF9C0,
+ 38017 - 11904: 0xF9C1,
+ 38018 - 11904: 0xF9BF,
+ 38019 - 11904: 0xF9C9,
+ 38021 - 11904: 0x8BE9,
+ 38047 - 11904: 0x9CAF,
+ 38050 - 11904: 0x8BFD,
+ 38081 - 11904: 0x9ABC,
+ 38083 - 11904: 0x9AB8,
+ 38108 - 11904: 0x9AAE,
+ 38134 - 11904: 0x9AA7,
+ 38189 - 11904: 0x9A53,
+ 38215 - 11904: 0x9D74,
+ 38263 - 11904: 0xAAF8,
+ 38264 - 11904: 0x8BEA,
+ 38266 - 11904: 0xD844,
+ 38267 - 11904: 0xDC78,
+ 38268 - 11904: 0xE8A5,
+ 38269 - 11904: 0xF376,
+ 38271 - 11904: 0x8BEB,
+ 38272 - 11904: 0xAAF9,
+ 38274 - 11904: 0xADAC,
+ 38275 - 11904: 0xB07B,
+ 38277 - 11904: 0x90B2,
+ 38278 - 11904: 0xD845,
+ 38280 - 11904: 0xD846,
+ 38281 - 11904: 0xB3AC,
+ 38283 - 11904: 0xB67D,
+ 38284 - 11904: 0xDC7A,
+ 38285 - 11904: 0xDC79,
+ 38286 - 11904: 0xB6A3,
+ 38287 - 11904: 0xB67C,
+ 38288 - 11904: 0xDC7B,
+ 38289 - 11904: 0xB67E,
+ 38290 - 11904: 0xB6A2,
+ 38291 - 11904: 0xB6A1,
+ 38292 - 11904: 0xB67B,
+ 38294 - 11904: 0x95E9,
+ 38295 - 11904: 0x95E8,
+ 38296 - 11904: 0xB968,
+ 38297 - 11904: 0x95E6,
+ 38299 - 11904: 0xE0D0,
+ 38300 - 11904: 0xE0CE,
+ 38302 - 11904: 0xE0CF,
+ 38303 - 11904: 0xE0CD,
+ 38304 - 11904: 0x90B5,
+ 38305 - 11904: 0xBBD2,
+ 38306 - 11904: 0x9A54,
+ 38307 - 11904: 0xBBD5,
+ 38308 - 11904: 0xBBD7,
+ 38309 - 11904: 0xBBD6,
+ 38310 - 11904: 0x90B3,
+ 38311 - 11904: 0x95E7,
+ 38312 - 11904: 0xBBD3,
+ 38313 - 11904: 0xBBD4,
+ 38314 - 11904: 0x8B50,
+ 38315 - 11904: 0xE8A7,
+ 38316 - 11904: 0xE8A6,
+ 38317 - 11904: 0xBE5B,
+ 38318 - 11904: 0xE8A8,
+ 38320 - 11904: 0xE8A9,
+ 38321 - 11904: 0xBE5C,
+ 38325 - 11904: 0xEC4D,
+ 38326 - 11904: 0xEC4B,
+ 38327 - 11904: 0xEEF3,
+ 38329 - 11904: 0xEC49,
+ 38330 - 11904: 0xEC4A,
+ 38331 - 11904: 0xC046,
+ 38332 - 11904: 0xEC46,
+ 38333 - 11904: 0xEC4E,
+ 38334 - 11904: 0xEC48,
+ 38335 - 11904: 0xEC4C,
+ 38336 - 11904: 0xEEEF,
+ 38339 - 11904: 0xEEF1,
+ 38341 - 11904: 0xEEF2,
+ 38342 - 11904: 0xC1F3,
+ 38343 - 11904: 0xEEEE,
+ 38344 - 11904: 0xC1F2,
+ 38345 - 11904: 0xEEF0,
+ 38346 - 11904: 0xC1EF,
+ 38347 - 11904: 0xC1F0,
+ 38348 - 11904: 0xC1F1,
+ 38349 - 11904: 0xEC47,
+ 38352 - 11904: 0xC2F5,
+ 38353 - 11904: 0xF16E,
+ 38354 - 11904: 0xF16C,
+ 38355 - 11904: 0xF16D,
+ 38356 - 11904: 0xC2F3,
+ 38357 - 11904: 0xC2F6,
+ 38358 - 11904: 0xC2F4,
+ 38362 - 11904: 0xF377,
+ 38363 - 11904: 0xF378,
+ 38364 - 11904: 0xC3F6,
+ 38366 - 11904: 0xF545,
+ 38367 - 11904: 0xF547,
+ 38368 - 11904: 0xF546,
+ 38369 - 11904: 0xC4C4,
+ 38370 - 11904: 0xC550,
+ 38371 - 11904: 0xF66D,
+ 38372 - 11904: 0xF66C,
+ 38373 - 11904: 0xF66B,
+ 38376 - 11904: 0x8BEC,
+ 38388 - 11904: 0x9A56,
+ 38428 - 11904: 0xAAFA,
+ 38429 - 11904: 0x8BFB,
+ 38430 - 11904: 0xC9AA,
+ 38432 - 11904: 0xCA58,
+ 38433 - 11904: 0xA6E9,
+ 38434 - 11904: 0xCA56,
+ 38435 - 11904: 0xCA59,
+ 38436 - 11904: 0xCA57,
+ 38440 - 11904: 0xCBAE,
+ 38442 - 11904: 0xA8C1,
+ 38444 - 11904: 0xA8C2,
+ 38445 - 11904: 0xCBB0,
+ 38446 - 11904: 0xA8BF,
+ 38447 - 11904: 0xCBAF,
+ 38448 - 11904: 0xCBAD,
+ 38449 - 11904: 0xA8C0,
+ 38450 - 11904: 0xA8BE,
+ 38451 - 11904: 0x9A57,
+ 38456 - 11904: 0xA0AA,
+ 38457 - 11904: 0xCDD8,
+ 38458 - 11904: 0xCDDB,
+ 38459 - 11904: 0xAAFD,
+ 38460 - 11904: 0xCDDA,
+ 38461 - 11904: 0xCDD9,
+ 38463 - 11904: 0xAAFC,
+ 38464 - 11904: 0xAAFB,
+ 38465 - 11904: 0x9FA6,
+ 38466 - 11904: 0xAB40,
+ 38467 - 11904: 0xCDDC,
+ 38468 - 11904: 0xAAFE,
+ 38469 - 11904: 0x99CC,
+ 38474 - 11904: 0xD0C6,
+ 38475 - 11904: 0xADAE,
+ 38476 - 11904: 0xADAF,
+ 38477 - 11904: 0xADB0,
+ 38478 - 11904: 0xD0C7,
+ 38479 - 11904: 0xD0C3,
+ 38480 - 11904: 0xADAD,
+ 38481 - 11904: 0xD0C4,
+ 38483 - 11904: 0xD0C5,
+ 38484 - 11904: 0xD0C2,
+ 38486 - 11904: 0x9C59,
+ 38488 - 11904: 0xB0A4,
+ 38491 - 11904: 0xB0A1,
+ 38492 - 11904: 0xD445,
+ 38493 - 11904: 0xB0A2,
+ 38494 - 11904: 0xB0A5,
+ 38495 - 11904: 0xD446,
+ 38497 - 11904: 0xB07E,
+ 38498 - 11904: 0xB07C,
+ 38499 - 11904: 0xB07D,
+ 38500 - 11904: 0xB0A3,
+ 38505 - 11904: 0x99B5,
+ 38506 - 11904: 0xB3AD,
+ 38507 - 11904: 0xD849,
+ 38508 - 11904: 0xB3B5,
+ 38509 - 11904: 0xD848,
+ 38511 - 11904: 0xD84B,
+ 38512 - 11904: 0xB3B1,
+ 38513 - 11904: 0xD84A,
+ 38514 - 11904: 0xB6AB,
+ 38515 - 11904: 0xB3AF,
+ 38516 - 11904: 0xB3B2,
+ 38517 - 11904: 0xB3AE,
+ 38518 - 11904: 0xB3B3,
+ 38519 - 11904: 0xB3B4,
+ 38520 - 11904: 0xB3B0,
+ 38523 - 11904: 0x90BE,
+ 38524 - 11904: 0xD847,
+ 38525 - 11904: 0xB6A7,
+ 38526 - 11904: 0xDC7D,
+ 38528 - 11904: 0xDCA3,
+ 38529 - 11904: 0x9FAF,
+ 38531 - 11904: 0xDCA2,
+ 38532 - 11904: 0xB6AC,
+ 38533 - 11904: 0xB6A8,
+ 38534 - 11904: 0xB6A9,
+ 38535 - 11904: 0xDC7C,
+ 38536 - 11904: 0xDC7E,
+ 38537 - 11904: 0xDCA1,
+ 38538 - 11904: 0xB6A4,
+ 38539 - 11904: 0xB6A6,
+ 38541 - 11904: 0xB6AA,
+ 38542 - 11904: 0xB6A5,
+ 38543 - 11904: 0x95F2,
+ 38545 - 11904: 0xE0D3,
+ 38546 - 11904: 0xE0D1,
+ 38547 - 11904: 0xE0D2,
+ 38548 - 11904: 0xB96A,
+ 38549 - 11904: 0xB96B,
+ 38550 - 11904: 0x90BF,
+ 38551 - 11904: 0xE0D4,
+ 38552 - 11904: 0xB969,
+ 38553 - 11904: 0xBBD8,
+ 38555 - 11904: 0xBBDA,
+ 38556 - 11904: 0xBBD9,
+ 38558 - 11904: 0xE4BB,
+ 38561 - 11904: 0xE4BC,
+ 38562 - 11904: 0xE8AB,
+ 38563 - 11904: 0x90C1,
+ 38564 - 11904: 0xE8AA,
+ 38565 - 11904: 0xFEE4,
+ 38567 - 11904: 0xC047,
+ 38568 - 11904: 0xC048,
+ 38569 - 11904: 0xEC4F,
+ 38570 - 11904: 0xC049,
+ 38572 - 11904: 0xEEF6,
+ 38574 - 11904: 0xEEF4,
+ 38576 - 11904: 0xEEF5,
+ 38577 - 11904: 0xC1F4,
+ 38579 - 11904: 0xF16F,
+ 38580 - 11904: 0xC3F7,
+ 38582 - 11904: 0xC6D7,
+ 38584 - 11904: 0xC1F5,
+ 38585 - 11904: 0xAB41,
+ 38587 - 11904: 0xB0A6,
+ 38588 - 11904: 0xD447,
+ 38589 - 11904: 0x90C7,
+ 38591 - 11904: 0xD84C,
+ 38592 - 11904: 0xB3B6,
+ 38593 - 11904: 0xB6AD,
+ 38594 - 11904: 0xDCA4,
+ 38595 - 11904: 0xDCA6,
+ 38596 - 11904: 0xB6AF,
+ 38597 - 11904: 0xB6AE,
+ 38598 - 11904: 0xB6B0,
+ 38599 - 11904: 0xB6B1,
+ 38600 - 11904: 0xDCA5,
+ 38601 - 11904: 0xB96E,
+ 38602 - 11904: 0xB96F,
+ 38603 - 11904: 0xB96D,
+ 38604 - 11904: 0xBBDB,
+ 38605 - 11904: 0xB96C,
+ 38606 - 11904: 0xE0D5,
+ 38610 - 11904: 0xBBDC,
+ 38611 - 11904: 0xE8AC,
+ 38612 - 11904: 0xEC50,
+ 38613 - 11904: 0xC04A,
+ 38614 - 11904: 0xC1F6,
+ 38615 - 11904: 0xF170,
+ 38616 - 11904: 0xF174,
+ 38617 - 11904: 0xC2F9,
+ 38618 - 11904: 0xF171,
+ 38619 - 11904: 0xC2FA,
+ 38620 - 11904: 0xC2F8,
+ 38621 - 11904: 0xF175,
+ 38622 - 11904: 0xC2FB,
+ 38623 - 11904: 0xF173,
+ 38625 - 11904: 0xF379,
+ 38626 - 11904: 0xC2F7,
+ 38627 - 11904: 0xC3F8,
+ 38629 - 11904: 0xF8CD,
+ 38632 - 11904: 0xAB42,
+ 38633 - 11904: 0xB3B8,
+ 38634 - 11904: 0xB3B7,
+ 38639 - 11904: 0xB6B2,
+ 38640 - 11904: 0xDCA8,
+ 38641 - 11904: 0xDCA7,
+ 38642 - 11904: 0xB6B3,
+ 38644 - 11904: 0x92E4,
+ 38645 - 11904: 0xE0D9,
+ 38646 - 11904: 0xB973,
+ 38647 - 11904: 0xB970,
+ 38648 - 11904: 0xE0D8,
+ 38649 - 11904: 0xB972,
+ 38650 - 11904: 0xE0D6,
+ 38651 - 11904: 0xB971,
+ 38653 - 11904: 0xE0D7,
+ 38655 - 11904: 0xE4BD,
+ 38656 - 11904: 0xBBDD,
+ 38658 - 11904: 0xE8AF,
+ 38659 - 11904: 0x9F52,
+ 38660 - 11904: 0xBE5D,
+ 38661 - 11904: 0xE8AD,
+ 38662 - 11904: 0xBE5E,
+ 38663 - 11904: 0xBE5F,
+ 38664 - 11904: 0xE8AE,
+ 38665 - 11904: 0xBE60,
+ 38667 - 11904: 0xEC51,
+ 38669 - 11904: 0xC04E,
+ 38670 - 11904: 0xC04B,
+ 38671 - 11904: 0xC050,
+ 38672 - 11904: 0xEC53,
+ 38673 - 11904: 0xC04C,
+ 38674 - 11904: 0xEC52,
+ 38675 - 11904: 0xC04F,
+ 38678 - 11904: 0xC04D,
+ 38680 - 11904: 0xEEF9,
+ 38681 - 11904: 0xEEFB,
+ 38683 - 11904: 0x90DB,
+ 38684 - 11904: 0xC1F7,
+ 38685 - 11904: 0xEEFA,
+ 38686 - 11904: 0xC1F8,
+ 38687 - 11904: 0xEEF8,
+ 38688 - 11904: 0xEEF7,
+ 38689 - 11904: 0xA066,
+ 38690 - 11904: 0xF177,
+ 38691 - 11904: 0xF176,
+ 38692 - 11904: 0xC2FC,
+ 38693 - 11904: 0xF178,
+ 38694 - 11904: 0xF37E,
+ 38695 - 11904: 0xC3FA,
+ 38696 - 11904: 0xF37D,
+ 38697 - 11904: 0xF37A,
+ 38698 - 11904: 0xC3F9,
+ 38699 - 11904: 0xF37B,
+ 38700 - 11904: 0xF37C,
+ 38702 - 11904: 0xF548,
+ 38703 - 11904: 0xF549,
+ 38704 - 11904: 0xC4C5,
+ 38705 - 11904: 0x90D2,
+ 38706 - 11904: 0xC553,
+ 38708 - 11904: 0x876B,
+ 38709 - 11904: 0xF66E,
+ 38710 - 11904: 0x90D4,
+ 38712 - 11904: 0xC551,
+ 38713 - 11904: 0xC552,
+ 38714 - 11904: 0xF66F,
+ 38717 - 11904: 0xC5B4,
+ 38718 - 11904: 0xC5B5,
+ 38719 - 11904: 0xF771,
+ 38720 - 11904: 0x9A5B,
+ 38721 - 11904: 0x95FD,
+ 38722 - 11904: 0xC645,
+ 38723 - 11904: 0xF8CF,
+ 38724 - 11904: 0xC647,
+ 38726 - 11904: 0xF8CE,
+ 38727 - 11904: 0xF8D0,
+ 38728 - 11904: 0xC646,
+ 38729 - 11904: 0xF957,
+ 38730 - 11904: 0x87B1,
+ 38731 - 11904: 0xF9AD,
+ 38737 - 11904: 0x8BC4,
+ 38738 - 11904: 0xAB43,
+ 38741 - 11904: 0x8C66,
+ 38742 - 11904: 0xB974,
+ 38743 - 11904: 0x90DE,
+ 38744 - 11904: 0xE4BE,
+ 38746 - 11904: 0xE8B0,
+ 38747 - 11904: 0xC051,
+ 38748 - 11904: 0xC052,
+ 38749 - 11904: 0x9CE4,
+ 38750 - 11904: 0xAB44,
+ 38751 - 11904: 0x90E1,
+ 38752 - 11904: 0xBE61,
+ 38753 - 11904: 0xC3FB,
+ 38754 - 11904: 0xADB1,
+ 38758 - 11904: 0xC053,
+ 38760 - 11904: 0xC5E2,
+ 38761 - 11904: 0xADB2,
+ 38762 - 11904: 0xD84D,
+ 38764 - 11904: 0xDCA9,
+ 38765 - 11904: 0x9E46,
+ 38766 - 11904: 0xDCAB,
+ 38768 - 11904: 0xDCAA,
+ 38769 - 11904: 0x9651,
+ 38770 - 11904: 0xE0DD,
+ 38771 - 11904: 0xE0DA,
+ 38772 - 11904: 0xB975,
+ 38774 - 11904: 0xB976,
+ 38775 - 11904: 0xE0DB,
+ 38776 - 11904: 0xE0DC,
+ 38778 - 11904: 0xE4C0,
+ 38779 - 11904: 0xE4C5,
+ 38780 - 11904: 0xBBDE,
+ 38781 - 11904: 0xE4BF,
+ 38782 - 11904: 0xE4C1,
+ 38783 - 11904: 0xE4C8,
+ 38784 - 11904: 0xE4C3,
+ 38785 - 11904: 0xE4C7,
+ 38786 - 11904: 0xE4C4,
+ 38787 - 11904: 0xE4C2,
+ 38788 - 11904: 0xE4C6,
+ 38789 - 11904: 0xBBDF,
+ 38791 - 11904: 0xFB58,
+ 38792 - 11904: 0xE8B3,
+ 38793 - 11904: 0x90E6,
+ 38794 - 11904: 0xE8B1,
+ 38795 - 11904: 0xBE63,
+ 38797 - 11904: 0xBE62,
+ 38798 - 11904: 0xE8B2,
+ 38799 - 11904: 0xBE64,
+ 38804 - 11904: 0xEC56,
+ 38807 - 11904: 0xEC55,
+ 38808 - 11904: 0xC054,
+ 38809 - 11904: 0xEC54,
+ 38810 - 11904: 0xEEFC,
+ 38811 - 11904: 0x9650,
+ 38812 - 11904: 0xEEFE,
+ 38813 - 11904: 0xEF41,
+ 38814 - 11904: 0xEF40,
+ 38815 - 11904: 0x90E7,
+ 38816 - 11904: 0xC1F9,
+ 38817 - 11904: 0xEEFD,
+ 38818 - 11904: 0xF1A1,
+ 38819 - 11904: 0xC2FD,
+ 38820 - 11904: 0xF17D,
+ 38821 - 11904: 0xF1A2,
+ 38822 - 11904: 0xC2FE,
+ 38824 - 11904: 0xF17B,
+ 38826 - 11904: 0xF17E,
+ 38827 - 11904: 0xF17C,
+ 38828 - 11904: 0xF179,
+ 38829 - 11904: 0xC340,
+ 38830 - 11904: 0xF17A,
+ 38833 - 11904: 0x90E8,
+ 38834 - 11904: 0x9A5D,
+ 38835 - 11904: 0xF3A1,
+ 38836 - 11904: 0x9F7A,
+ 38838 - 11904: 0xF3A3,
+ 38839 - 11904: 0xF3A2,
+ 38840 - 11904: 0x9B5C,
+ 38841 - 11904: 0xF54A,
+ 38842 - 11904: 0x9F7C,
+ 38843 - 11904: 0xF54B,
+ 38845 - 11904: 0xFC52,
+ 38846 - 11904: 0x90E9,
+ 38847 - 11904: 0xF670,
+ 38848 - 11904: 0x90EA,
+ 38849 - 11904: 0xC5B7,
+ 38850 - 11904: 0x9A5E,
+ 38851 - 11904: 0xC5B6,
+ 38852 - 11904: 0xF84F,
+ 38853 - 11904: 0xF850,
+ 38854 - 11904: 0xC648,
+ 38855 - 11904: 0xF8D1,
+ 38856 - 11904: 0x9F76,
+ 38857 - 11904: 0xC669,
+ 38859 - 11904: 0xADB3,
+ 38860 - 11904: 0xB6B4,
+ 38861 - 11904: 0xE4CA,
+ 38862 - 11904: 0xE4C9,
+ 38863 - 11904: 0xE8B5,
+ 38864 - 11904: 0xE8B4,
+ 38866 - 11904: 0x90EB,
+ 38867 - 11904: 0xC1FA,
+ 38868 - 11904: 0xEF43,
+ 38869 - 11904: 0xEF42,
+ 38870 - 11904: 0xF1A5,
+ 38871 - 11904: 0xF1A3,
+ 38872 - 11904: 0xF1A6,
+ 38873 - 11904: 0xF1A4,
+ 38876 - 11904: 0xC3FC,
+ 38877 - 11904: 0xF3A4,
+ 38878 - 11904: 0xF3A5,
+ 38879 - 11904: 0xF3A6,
+ 38880 - 11904: 0x90EC,
+ 38881 - 11904: 0xF671,
+ 38883 - 11904: 0xF772,
+ 38885 - 11904: 0xF8D2,
+ 38886 - 11904: 0x8BEE,
+ 38893 - 11904: 0xADB4,
+ 38894 - 11904: 0x90EE,
+ 38896 - 11904: 0xEC57,
+ 38897 - 11904: 0xEF44,
+ 38898 - 11904: 0x91C6,
+ 38899 - 11904: 0xADB5,
+ 38901 - 11904: 0x90F2,
+ 38902 - 11904: 0xBBE0,
+ 38904 - 11904: 0xEC58,
+ 38905 - 11904: 0xC341,
+ 38906 - 11904: 0xF1A7,
+ 38907 - 11904: 0xC3FD,
+ 38909 - 11904: 0xF54C,
+ 38910 - 11904: 0xF54D,
+ 38911 - 11904: 0xC554,
+ 38912 - 11904: 0xF851,
+ 38913 - 11904: 0xADB6,
+ 38914 - 11904: 0xB3BB,
+ 38915 - 11904: 0xB3BC,
+ 38916 - 11904: 0xD84E,
+ 38917 - 11904: 0xB6B5,
+ 38918 - 11904: 0xB6B6,
+ 38919 - 11904: 0xDCAC,
+ 38920 - 11904: 0xB6B7,
+ 38922 - 11904: 0xB97A,
+ 38924 - 11904: 0xB97C,
+ 38925 - 11904: 0xE0DF,
+ 38926 - 11904: 0xE0E0,
+ 38927 - 11904: 0xE0DE,
+ 38928 - 11904: 0xB977,
+ 38929 - 11904: 0xB978,
+ 38930 - 11904: 0xB97B,
+ 38931 - 11904: 0xB979,
+ 38932 - 11904: 0xFCBC,
+ 38933 - 11904: 0x8A74,
+ 38934 - 11904: 0xE4CB,
+ 38935 - 11904: 0xBBE1,
+ 38936 - 11904: 0xBBE2,
+ 38939 - 11904: 0xE8BC,
+ 38940 - 11904: 0xBE67,
+ 38941 - 11904: 0xE8B7,
+ 38942 - 11904: 0xE8B6,
+ 38943 - 11904: 0x9657,
+ 38944 - 11904: 0xE8BB,
+ 38945 - 11904: 0xBE65,
+ 38947 - 11904: 0x9CEF,
+ 38948 - 11904: 0xC05B,
+ 38950 - 11904: 0xE8B8,
+ 38951 - 11904: 0xE8BD,
+ 38952 - 11904: 0xE8BA,
+ 38953 - 11904: 0xE8B9,
+ 38955 - 11904: 0xBE66,
+ 38957 - 11904: 0xC059,
+ 38958 - 11904: 0x9FDF,
+ 38959 - 11904: 0xEC5A,
+ 38960 - 11904: 0xC055,
+ 38962 - 11904: 0xEC5B,
+ 38963 - 11904: 0x90F7,
+ 38964 - 11904: 0x90F6,
+ 38965 - 11904: 0xEC59,
+ 38967 - 11904: 0xC058,
+ 38968 - 11904: 0xC056,
+ 38969 - 11904: 0xC05A,
+ 38971 - 11904: 0xC057,
+ 38977 - 11904: 0xEF45,
+ 38979 - 11904: 0xEF4A,
+ 38980 - 11904: 0xEF46,
+ 38981 - 11904: 0xEF49,
+ 38982 - 11904: 0xC1FB,
+ 38983 - 11904: 0x9B5E,
+ 38984 - 11904: 0xEDD4,
+ 38985 - 11904: 0xEF48,
+ 38986 - 11904: 0xEF47,
+ 38987 - 11904: 0x90F8,
+ 38988 - 11904: 0xC344,
+ 38989 - 11904: 0xC342,
+ 38990 - 11904: 0xC345,
+ 38991 - 11904: 0xC343,
+ 38992 - 11904: 0xF1A8,
+ 38993 - 11904: 0xF1A9,
+ 38994 - 11904: 0xF1AA,
+ 38995 - 11904: 0xC346,
+ 38998 - 11904: 0x8CFC,
+ 38999 - 11904: 0xF3AA,
+ 39000 - 11904: 0xC440,
+ 39001 - 11904: 0xF3A8,
+ 39003 - 11904: 0xC441,
+ 39004 - 11904: 0xF3A7,
+ 39005 - 11904: 0xF3A9,
+ 39006 - 11904: 0xC3FE,
+ 39007 - 11904: 0xF551,
+ 39008 - 11904: 0xF54E,
+ 39010 - 11904: 0xF54F,
+ 39011 - 11904: 0xF550,
+ 39012 - 11904: 0xF672,
+ 39013 - 11904: 0xC556,
+ 39014 - 11904: 0x90F9,
+ 39015 - 11904: 0xC555,
+ 39016 - 11904: 0x8CC9,
+ 39017 - 11904: 0xF774,
+ 39018 - 11904: 0xF773,
+ 39019 - 11904: 0xC5B8,
+ 39020 - 11904: 0xFA6A,
+ 39023 - 11904: 0xC5E3,
+ 39024 - 11904: 0xC649,
+ 39025 - 11904: 0xC660,
+ 39026 - 11904: 0xF958,
+ 39027 - 11904: 0xF9AE,
+ 39028 - 11904: 0xF9AF,
+ 39029 - 11904: 0x8BEF,
+ 39080 - 11904: 0xADB7,
+ 39081 - 11904: 0xDCAD,
+ 39084 - 11904: 0xE0E1,
+ 39085 - 11904: 0xE4CC,
+ 39086 - 11904: 0xE4CD,
+ 39087 - 11904: 0xBBE3,
+ 39089 - 11904: 0xBBE4,
+ 39090 - 11904: 0xE8BE,
+ 39091 - 11904: 0xBE68,
+ 39092 - 11904: 0x9FE0,
+ 39094 - 11904: 0xC1FC,
+ 39095 - 11904: 0x9142,
+ 39096 - 11904: 0xF1AB,
+ 39097 - 11904: 0x9A62,
+ 39098 - 11904: 0xC347,
+ 39099 - 11904: 0xF3AD,
+ 39100 - 11904: 0xC442,
+ 39101 - 11904: 0xF3AC,
+ 39102 - 11904: 0xF3AE,
+ 39103 - 11904: 0xF3AB,
+ 39104 - 11904: 0xF675,
+ 39105 - 11904: 0xF552,
+ 39106 - 11904: 0xF553,
+ 39107 - 11904: 0x9569,
+ 39108 - 11904: 0xC4C6,
+ 39110 - 11904: 0xF674,
+ 39111 - 11904: 0x9144,
+ 39112 - 11904: 0x9143,
+ 39113 - 11904: 0xF673,
+ 39114 - 11904: 0x9141,
+ 39115 - 11904: 0xF775,
+ 39116 - 11904: 0xF9B0,
+ 39118 - 11904: 0x8BF0,
+ 39131 - 11904: 0xADB8,
+ 39132 - 11904: 0x9660,
+ 39134 - 11904: 0x8BF1,
+ 39135 - 11904: 0xADB9,
+ 39136 - 11904: 0x99F6,
+ 39137 - 11904: 0x9149,
+ 39138 - 11904: 0xB0A7,
+ 39139 - 11904: 0xD448,
+ 39141 - 11904: 0xD84F,
+ 39142 - 11904: 0x914A,
+ 39143 - 11904: 0xB6B8,
+ 39145 - 11904: 0xB6BB,
+ 39146 - 11904: 0xB6B9,
+ 39147 - 11904: 0xDCAE,
+ 39148 - 11904: 0x914B,
+ 39149 - 11904: 0xB6BD,
+ 39151 - 11904: 0xB6BA,
+ 39153 - 11904: 0x9A64,
+ 39154 - 11904: 0xB6BC,
+ 39156 - 11904: 0xB97E,
+ 39157 - 11904: 0x8ABF,
+ 39158 - 11904: 0xE0E2,
+ 39161 - 11904: 0xE0E3,
+ 39162 - 11904: 0xE8C0,
+ 39164 - 11904: 0xB97D,
+ 39165 - 11904: 0xB9A1,
+ 39166 - 11904: 0xB9A2,
+ 39168 - 11904: 0xE4CF,
+ 39170 - 11904: 0xE4CE,
+ 39171 - 11904: 0xBBE5,
+ 39173 - 11904: 0xBBE6,
+ 39175 - 11904: 0xE4D0,
+ 39176 - 11904: 0xE8BF,
+ 39177 - 11904: 0xBBE8,
+ 39178 - 11904: 0xBE69,
+ 39180 - 11904: 0xBBE7,
+ 39182 - 11904: 0x9A66,
+ 39184 - 11904: 0xC05C,
+ 39185 - 11904: 0xE8C1,
+ 39186 - 11904: 0xBE6B,
+ 39187 - 11904: 0xBE6A,
+ 39188 - 11904: 0xE8C2,
+ 39189 - 11904: 0xE8C5,
+ 39190 - 11904: 0xE8C3,
+ 39191 - 11904: 0xE8C4,
+ 39192 - 11904: 0xBE6C,
+ 39193 - 11904: 0x9A67,
+ 39194 - 11904: 0xC061,
+ 39195 - 11904: 0xC05F,
+ 39196 - 11904: 0x9A69,
+ 39198 - 11904: 0xC05E,
+ 39199 - 11904: 0xEC5D,
+ 39201 - 11904: 0xC060,
+ 39204 - 11904: 0xEC5C,
+ 39205 - 11904: 0xEF4B,
+ 39207 - 11904: 0xEC5E,
+ 39208 - 11904: 0xC05D,
+ 39209 - 11904: 0xEC5F,
+ 39210 - 11904: 0xEF4E,
+ 39211 - 11904: 0xEF4C,
+ 39212 - 11904: 0xEF4D,
+ 39213 - 11904: 0xEF52,
+ 39214 - 11904: 0xC34B,
+ 39215 - 11904: 0xEF51,
+ 39216 - 11904: 0xEF54,
+ 39217 - 11904: 0xEF53,
+ 39218 - 11904: 0xEF50,
+ 39219 - 11904: 0xEF4F,
+ 39221 - 11904: 0xC1FD,
+ 39223 - 11904: 0x9A6A,
+ 39224 - 11904: 0x9652,
+ 39225 - 11904: 0x914D,
+ 39226 - 11904: 0xF1AE,
+ 39227 - 11904: 0x9666,
+ 39228 - 11904: 0xF1AD,
+ 39229 - 11904: 0xC34A,
+ 39230 - 11904: 0xC348,
+ 39231 - 11904: 0xC349,
+ 39232 - 11904: 0x9F7B,
+ 39233 - 11904: 0xF1AC,
+ 39234 - 11904: 0x9A6B,
+ 39235 - 11904: 0xF3B1,
+ 39237 - 11904: 0xC443,
+ 39239 - 11904: 0xF3B0,
+ 39240 - 11904: 0xF3AF,
+ 39241 - 11904: 0xC444,
+ 39242 - 11904: 0xA06C,
+ 39243 - 11904: 0xF558,
+ 39244 - 11904: 0xF557,
+ 39245 - 11904: 0x9667,
+ 39246 - 11904: 0xF555,
+ 39248 - 11904: 0xF554,
+ 39249 - 11904: 0xC4C8,
+ 39250 - 11904: 0xC4C7,
+ 39251 - 11904: 0xF559,
+ 39252 - 11904: 0xF776,
+ 39253 - 11904: 0xC5B9,
+ 39254 - 11904: 0xF677,
+ 39255 - 11904: 0xC557,
+ 39256 - 11904: 0xF676,
+ 39257 - 11904: 0xF556,
+ 39259 - 11904: 0xF777,
+ 39260 - 11904: 0xC5E4,
+ 39261 - 11904: 0x9A6C,
+ 39262 - 11904: 0xC661,
+ 39263 - 11904: 0xF959,
+ 39265 - 11904: 0xF9B1,
+ 39266 - 11904: 0x9A6D,
+ 39267 - 11904: 0x8BF2,
+ 39318 - 11904: 0xADBA,
+ 39319 - 11904: 0xD850,
+ 39320 - 11904: 0xEF55,
+ 39321 - 11904: 0xADBB,
+ 39323 - 11904: 0x966A,
+ 39324 - 11904: 0xE4D2,
+ 39325 - 11904: 0xE4D1,
+ 39326 - 11904: 0xEC60,
+ 39329 - 11904: 0xEF57,
+ 39331 - 11904: 0xEF56,
+ 39332 - 11904: 0xFCEA,
+ 39333 - 11904: 0xC34C,
+ 39334 - 11904: 0xF3B2,
+ 39335 - 11904: 0xF3B3,
+ 39336 - 11904: 0xC4C9,
+ 39338 - 11904: 0x966C,
+ 39339 - 11904: 0xF9B2,
+ 39340 - 11904: 0xB0A8,
+ 39341 - 11904: 0xB6BF,
+ 39342 - 11904: 0xB6BE,
+ 39343 - 11904: 0xE0E4,
+ 39344 - 11904: 0xE0E6,
+ 39345 - 11904: 0xB9A4,
+ 39346 - 11904: 0xE0E5,
+ 39347 - 11904: 0xB9A3,
+ 39348 - 11904: 0xB9A5,
+ 39349 - 11904: 0xE0E7,
+ 39352 - 11904: 0x91C4,
+ 39353 - 11904: 0xE4D4,
+ 39354 - 11904: 0xE4D6,
+ 39355 - 11904: 0xE4D5,
+ 39356 - 11904: 0x9677,
+ 39357 - 11904: 0xE4D8,
+ 39361 - 11904: 0xBBE9,
+ 39362 - 11904: 0xE4D7,
+ 39363 - 11904: 0xE4D3,
+ 39364 - 11904: 0x99F4,
+ 39365 - 11904: 0x9A6F,
+ 39367 - 11904: 0xE4D9,
+ 39369 - 11904: 0xE8CC,
+ 39371 - 11904: 0xE8CF,
+ 39372 - 11904: 0xE8D1,
+ 39373 - 11904: 0xE8C7,
+ 39374 - 11904: 0xE8CB,
+ 39375 - 11904: 0xE8C8,
+ 39376 - 11904: 0xBE6E,
+ 39377 - 11904: 0xBE71,
+ 39378 - 11904: 0xBE73,
+ 39379 - 11904: 0xE8C9,
+ 39380 - 11904: 0xE8CA,
+ 39381 - 11904: 0xBE72,
+ 39382 - 11904: 0xE8CD,
+ 39383 - 11904: 0xE8D0,
+ 39384 - 11904: 0xE8CE,
+ 39385 - 11904: 0xBE74,
+ 39386 - 11904: 0x9FAB,
+ 39387 - 11904: 0xBE70,
+ 39388 - 11904: 0xE8C6,
+ 39389 - 11904: 0xBE6D,
+ 39391 - 11904: 0xBE6F,
+ 39392 - 11904: 0x8CBE,
+ 39393 - 11904: 0x8EC1,
+ 39394 - 11904: 0xC063,
+ 39395 - 11904: 0xEC66,
+ 39396 - 11904: 0xEC64,
+ 39397 - 11904: 0xEC63,
+ 39398 - 11904: 0x9555,
+ 39399 - 11904: 0xEC69,
+ 39401 - 11904: 0xEC68,
+ 39402 - 11904: 0xEC67,
+ 39404 - 11904: 0xEC62,
+ 39405 - 11904: 0xC062,
+ 39406 - 11904: 0xEC61,
+ 39408 - 11904: 0xEC65,
+ 39409 - 11904: 0xC064,
+ 39412 - 11904: 0xEF5A,
+ 39413 - 11904: 0x9152,
+ 39414 - 11904: 0xEF5E,
+ 39415 - 11904: 0xEF5B,
+ 39416 - 11904: 0xEF5D,
+ 39417 - 11904: 0xEF5C,
+ 39418 - 11904: 0xEF59,
+ 39419 - 11904: 0xEF5F,
+ 39420 - 11904: 0xEF62,
+ 39421 - 11904: 0xEF60,
+ 39422 - 11904: 0xEF61,
+ 39423 - 11904: 0xC240,
+ 39425 - 11904: 0xC1FE,
+ 39426 - 11904: 0xEF58,
+ 39427 - 11904: 0xEF63,
+ 39428 - 11904: 0xF1B3,
+ 39429 - 11904: 0xF1B6,
+ 39430 - 11904: 0xF1B8,
+ 39431 - 11904: 0xF1B7,
+ 39433 - 11904: 0xF1B1,
+ 39434 - 11904: 0xF1B5,
+ 39435 - 11904: 0xF1B0,
+ 39436 - 11904: 0x9153,
+ 39437 - 11904: 0xF1B2,
+ 39438 - 11904: 0xC34D,
+ 39439 - 11904: 0xF1AF,
+ 39440 - 11904: 0x9155,
+ 39441 - 11904: 0xF1B4,
+ 39444 - 11904: 0xF3C0,
+ 39445 - 11904: 0xF3B5,
+ 39446 - 11904: 0xC445,
+ 39449 - 11904: 0xC446,
+ 39450 - 11904: 0xF3B4,
+ 39451 - 11904: 0xF3B9,
+ 39452 - 11904: 0xF3BF,
+ 39453 - 11904: 0xF3B7,
+ 39454 - 11904: 0xF3BE,
+ 39455 - 11904: 0x955D,
+ 39456 - 11904: 0xF3BB,
+ 39457 - 11904: 0x9671,
+ 39458 - 11904: 0xF3BA,
+ 39459 - 11904: 0xF3BD,
+ 39460 - 11904: 0xF3B8,
+ 39461 - 11904: 0xF3B6,
+ 39462 - 11904: 0x9C6D,
+ 39463 - 11904: 0xF3BC,
+ 39465 - 11904: 0xF560,
+ 39466 - 11904: 0xF55E,
+ 39467 - 11904: 0xC4CA,
+ 39468 - 11904: 0xF55D,
+ 39469 - 11904: 0xF563,
+ 39470 - 11904: 0xF561,
+ 39471 - 11904: 0x9673,
+ 39472 - 11904: 0xC4CB,
+ 39473 - 11904: 0xF55C,
+ 39474 - 11904: 0xF55A,
+ 39476 - 11904: 0xF55B,
+ 39477 - 11904: 0xC4CD,
+ 39478 - 11904: 0xF55F,
+ 39479 - 11904: 0xC4CC,
+ 39480 - 11904: 0xF562,
+ 39481 - 11904: 0xF678,
+ 39482 - 11904: 0xF67E,
+ 39483 - 11904: 0x9154,
+ 39484 - 11904: 0x9A71,
+ 39485 - 11904: 0xF679,
+ 39486 - 11904: 0xC55B,
+ 39487 - 11904: 0xF6A1,
+ 39488 - 11904: 0xC55A,
+ 39489 - 11904: 0xF67D,
+ 39490 - 11904: 0xF67C,
+ 39491 - 11904: 0xC559,
+ 39492 - 11904: 0xF67B,
+ 39493 - 11904: 0xC558,
+ 39494 - 11904: 0xF67A,
+ 39496 - 11904: 0xF77D,
+ 39497 - 11904: 0xF7A1,
+ 39498 - 11904: 0xF77E,
+ 39500 - 11904: 0xF77B,
+ 39501 - 11904: 0xC5BB,
+ 39502 - 11904: 0xF778,
+ 39503 - 11904: 0xF77C,
+ 39504 - 11904: 0xF7A3,
+ 39506 - 11904: 0xF7A2,
+ 39507 - 11904: 0xF779,
+ 39508 - 11904: 0xF77A,
+ 39509 - 11904: 0xC5BA,
+ 39510 - 11904: 0xF852,
+ 39511 - 11904: 0xC5E7,
+ 39512 - 11904: 0x9156,
+ 39513 - 11904: 0xF853,
+ 39514 - 11904: 0xC5E5,
+ 39515 - 11904: 0xC5E6,
+ 39516 - 11904: 0x966D,
+ 39518 - 11904: 0xF8D3,
+ 39519 - 11904: 0xC64A,
+ 39520 - 11904: 0xF976,
+ 39522 - 11904: 0xC66A,
+ 39523 - 11904: 0x9557,
+ 39524 - 11904: 0xF9B3,
+ 39525 - 11904: 0xC66B,
+ 39526 - 11904: 0xF9B4,
+ 39527 - 11904: 0xF9B5,
+ 39528 - 11904: 0xF9C3,
+ 39529 - 11904: 0xF9C2,
+ 39530 - 11904: 0xC67A,
+ 39531 - 11904: 0xF9CD,
+ 39532 - 11904: 0x89C6,
+ 39567 - 11904: 0x89C7,
+ 39592 - 11904: 0xB0A9,
+ 39595 - 11904: 0xE0E9,
+ 39597 - 11904: 0xE0E8,
+ 39599 - 11904: 0xBBEA,
+ 39600 - 11904: 0xBBEB,
+ 39601 - 11904: 0xE4DA,
+ 39602 - 11904: 0x8A6A,
+ 39603 - 11904: 0xE8D2,
+ 39604 - 11904: 0xEC6C,
+ 39606 - 11904: 0x8B57,
+ 39607 - 11904: 0xBE75,
+ 39608 - 11904: 0xC065,
+ 39609 - 11904: 0xEC6A,
+ 39610 - 11904: 0x9FE1,
+ 39611 - 11904: 0xEC6D,
+ 39612 - 11904: 0xC066,
+ 39613 - 11904: 0x9B5F,
+ 39614 - 11904: 0xEF64,
+ 39615 - 11904: 0xEC6B,
+ 39616 - 11904: 0xF1B9,
+ 39617 - 11904: 0xC34E,
+ 39618 - 11904: 0xF3C1,
+ 39622 - 11904: 0xF566,
+ 39623 - 11904: 0xF564,
+ 39626 - 11904: 0xF565,
+ 39629 - 11904: 0xF6A2,
+ 39631 - 11904: 0xC55C,
+ 39632 - 11904: 0xF7A4,
+ 39633 - 11904: 0xC5EA,
+ 39634 - 11904: 0xC5BC,
+ 39635 - 11904: 0xC5E8,
+ 39636 - 11904: 0xC5E9,
+ 39637 - 11904: 0xF8D4,
+ 39638 - 11904: 0xC662,
+ 39639 - 11904: 0xA05D,
+ 39640 - 11904: 0xB0AA,
+ 39644 - 11904: 0xF1BA,
+ 39647 - 11904: 0xD449,
+ 39648 - 11904: 0x915B,
+ 39649 - 11904: 0xB9A6,
+ 39650 - 11904: 0x915C,
+ 39651 - 11904: 0xE4DB,
+ 39654 - 11904: 0xBBEC,
+ 39655 - 11904: 0xE4DC,
+ 39659 - 11904: 0xE8D4,
+ 39660 - 11904: 0xE8D3,
+ 39661 - 11904: 0xC068,
+ 39662 - 11904: 0xBE76,
+ 39663 - 11904: 0xBE77,
+ 39665 - 11904: 0xE8D7,
+ 39666 - 11904: 0xE8D6,
+ 39667 - 11904: 0xE8D5,
+ 39668 - 11904: 0x915E,
+ 39670 - 11904: 0xEC6E,
+ 39671 - 11904: 0xEC71,
+ 39673 - 11904: 0xEC70,
+ 39674 - 11904: 0xEC6F,
+ 39675 - 11904: 0xC067,
+ 39676 - 11904: 0xEF68,
+ 39677 - 11904: 0xEF66,
+ 39678 - 11904: 0xEF65,
+ 39679 - 11904: 0x9F5C,
+ 39681 - 11904: 0xEF67,
+ 39682 - 11904: 0x9F57,
+ 39683 - 11904: 0xC34F,
+ 39684 - 11904: 0xF1BC,
+ 39685 - 11904: 0xF1BD,
+ 39686 - 11904: 0xC350,
+ 39688 - 11904: 0xF1BB,
+ 39689 - 11904: 0x9F65,
+ 39690 - 11904: 0xF3C3,
+ 39691 - 11904: 0xF3C2,
+ 39692 - 11904: 0xF3C5,
+ 39693 - 11904: 0xC447,
+ 39694 - 11904: 0xF3C4,
+ 39695 - 11904: 0x9A72,
+ 39696 - 11904: 0xF567,
+ 39697 - 11904: 0xF569,
+ 39698 - 11904: 0xF568,
+ 39700 - 11904: 0x9160,
+ 39701 - 11904: 0xF6A3,
+ 39702 - 11904: 0xF6A6,
+ 39703 - 11904: 0xF6A4,
+ 39704 - 11904: 0xF6A5,
+ 39705 - 11904: 0xF7A5,
+ 39706 - 11904: 0xC5BD,
+ 39710 - 11904: 0xF854,
+ 39711 - 11904: 0xF855,
+ 39712 - 11904: 0xF856,
+ 39714 - 11904: 0xC64B,
+ 39715 - 11904: 0xC663,
+ 39716 - 11904: 0xF9B6,
+ 39717 - 11904: 0xB0AB,
+ 39719 - 11904: 0xBE78,
+ 39720 - 11904: 0xC069,
+ 39721 - 11904: 0xF1BE,
+ 39722 - 11904: 0x9F5E,
+ 39723 - 11904: 0xF7A6,
+ 39725 - 11904: 0x9161,
+ 39726 - 11904: 0xF9C4,
+ 39727 - 11904: 0xD44A,
+ 39729 - 11904: 0xC67B,
+ 39730 - 11904: 0xB0AC,
+ 39731 - 11904: 0xEC72,
+ 39732 - 11904: 0x9164,
+ 39733 - 11904: 0xF1BF,
+ 39735 - 11904: 0xF3C6,
+ 39737 - 11904: 0x9F41,
+ 39738 - 11904: 0xF6A7,
+ 39739 - 11904: 0xF7A7,
+ 39740 - 11904: 0xB0AD,
+ 39742 - 11904: 0xE4DD,
+ 39743 - 11904: 0xE4DE,
+ 39744 - 11904: 0x9169,
+ 39745 - 11904: 0xBBED,
+ 39746 - 11904: 0xBBEE,
+ 39747 - 11904: 0xE8D9,
+ 39748 - 11904: 0xBE7A,
+ 39749 - 11904: 0xBE79,
+ 39750 - 11904: 0xE8D8,
+ 39752 - 11904: 0xEF69,
+ 39754 - 11904: 0xF1C0,
+ 39755 - 11904: 0xF1C2,
+ 39756 - 11904: 0xF1C1,
+ 39757 - 11904: 0xC353,
+ 39758 - 11904: 0xC352,
+ 39759 - 11904: 0xC351,
+ 39760 - 11904: 0x9168,
+ 39761 - 11904: 0xC55E,
+ 39762 - 11904: 0xF6A8,
+ 39764 - 11904: 0xC55D,
+ 39765 - 11904: 0xF7A9,
+ 39766 - 11904: 0xF7A8,
+ 39768 - 11904: 0xC64C,
+ 39769 - 11904: 0xF8D5,
+ 39770 - 11904: 0xB3BD,
+ 39771 - 11904: 0xE0EA,
+ 39775 - 11904: 0xE4E1,
+ 39776 - 11904: 0xE4DF,
+ 39777 - 11904: 0xE4E0,
+ 39780 - 11904: 0xE8E2,
+ 39782 - 11904: 0xE8DD,
+ 39783 - 11904: 0xE8DA,
+ 39784 - 11904: 0xE8E1,
+ 39785 - 11904: 0x9A74,
+ 39788 - 11904: 0xE8E3,
+ 39791 - 11904: 0xBE7C,
+ 39792 - 11904: 0xE8E0,
+ 39793 - 11904: 0xE8DC,
+ 39796 - 11904: 0xE8DB,
+ 39797 - 11904: 0xE8DF,
+ 39798 - 11904: 0xE8DE,
+ 39799 - 11904: 0xBE7B,
+ 39802 - 11904: 0xEC7D,
+ 39803 - 11904: 0xEC78,
+ 39804 - 11904: 0xEC76,
+ 39805 - 11904: 0xECA1,
+ 39806 - 11904: 0xEC77,
+ 39807 - 11904: 0x96B2,
+ 39808 - 11904: 0xEC73,
+ 39809 - 11904: 0x9A75,
+ 39810 - 11904: 0xEC79,
+ 39811 - 11904: 0xFDA5,
+ 39813 - 11904: 0xEC74,
+ 39814 - 11904: 0xEF72,
+ 39815 - 11904: 0xEC75,
+ 39816 - 11904: 0xECA2,
+ 39819 - 11904: 0x9EE9,
+ 39821 - 11904: 0x8BBA,
+ 39822 - 11904: 0x916D,
+ 39823 - 11904: 0xA060,
+ 39824 - 11904: 0xEC7C,
+ 39825 - 11904: 0xC06A,
+ 39826 - 11904: 0xEC7B,
+ 39827 - 11904: 0xEC7A,
+ 39829 - 11904: 0xEC7E,
+ 39831 - 11904: 0x9FDE,
+ 39834 - 11904: 0xEF6A,
+ 39835 - 11904: 0xEF6D,
+ 39837 - 11904: 0x9FC3,
+ 39838 - 11904: 0xEF6C,
+ 39839 - 11904: 0x96B5,
+ 39840 - 11904: 0xEF74,
+ 39841 - 11904: 0xEF6F,
+ 39842 - 11904: 0xEF73,
+ 39844 - 11904: 0xEF71,
+ 39845 - 11904: 0xEF70,
+ 39846 - 11904: 0xEF6E,
+ 39848 - 11904: 0xEF6B,
+ 39850 - 11904: 0xC243,
+ 39851 - 11904: 0xC242,
+ 39853 - 11904: 0xC244,
+ 39854 - 11904: 0xC241,
+ 39855 - 11904: 0xEF75,
+ 39856 - 11904: 0xA067,
+ 39861 - 11904: 0xF1C8,
+ 39862 - 11904: 0xF1CB,
+ 39864 - 11904: 0xF1C9,
+ 39865 - 11904: 0xF1CD,
+ 39869 - 11904: 0xF1CE,
+ 39871 - 11904: 0xF1C6,
+ 39872 - 11904: 0xC358,
+ 39873 - 11904: 0xF1C7,
+ 39875 - 11904: 0xF1C5,
+ 39876 - 11904: 0xF1CC,
+ 39878 - 11904: 0xF1C4,
+ 39879 - 11904: 0xF1C3,
+ 39880 - 11904: 0xC357,
+ 39881 - 11904: 0xC355,
+ 39882 - 11904: 0xC354,
+ 39887 - 11904: 0x96B3,
+ 39891 - 11904: 0xF1CA,
+ 39892 - 11904: 0xF3CF,
+ 39893 - 11904: 0xF3D5,
+ 39894 - 11904: 0xC44A,
+ 39895 - 11904: 0xF3D0,
+ 39897 - 11904: 0xF3D3,
+ 39898 - 11904: 0xF3D7,
+ 39899 - 11904: 0xC44B,
+ 39900 - 11904: 0xF3D2,
+ 39901 - 11904: 0x9A76,
+ 39902 - 11904: 0xF3CA,
+ 39904 - 11904: 0xF3C9,
+ 39905 - 11904: 0xF3D6,
+ 39906 - 11904: 0xF3CD,
+ 39908 - 11904: 0xF3CB,
+ 39909 - 11904: 0xF3D4,
+ 39910 - 11904: 0xF3CC,
+ 39911 - 11904: 0xC449,
+ 39912 - 11904: 0xC448,
+ 39913 - 11904: 0x95D5,
+ 39914 - 11904: 0xF3C7,
+ 39915 - 11904: 0xF3C8,
+ 39916 - 11904: 0xF3D1,
+ 39917 - 11904: 0x9ECA,
+ 39920 - 11904: 0xF3CE,
+ 39921 - 11904: 0x9A77,
+ 39924 - 11904: 0x9A78,
+ 39927 - 11904: 0xF56C,
+ 39928 - 11904: 0xF56F,
+ 39933 - 11904: 0xC356,
+ 39935 - 11904: 0x9170,
+ 39938 - 11904: 0x916F,
+ 39941 - 11904: 0xF56D,
+ 39942 - 11904: 0xF573,
+ 39943 - 11904: 0xF571,
+ 39944 - 11904: 0xF56B,
+ 39945 - 11904: 0xF576,
+ 39946 - 11904: 0x9FA3,
+ 39947 - 11904: 0xF56A,
+ 39948 - 11904: 0x9171,
+ 39949 - 11904: 0xC4CF,
+ 39950 - 11904: 0xF572,
+ 39952 - 11904: 0x96B1,
+ 39954 - 11904: 0xF56E,
+ 39955 - 11904: 0xC4CE,
+ 39956 - 11904: 0xF575,
+ 39957 - 11904: 0x9F63,
+ 39959 - 11904: 0xF574,
+ 39963 - 11904: 0x9F67,
+ 39964 - 11904: 0xF6AB,
+ 39965 - 11904: 0xF6AA,
+ 39967 - 11904: 0x8BB9,
+ 39968 - 11904: 0x9A7A,
+ 39969 - 11904: 0xF6B1,
+ 39971 - 11904: 0xF6AD,
+ 39972 - 11904: 0xF6B0,
+ 39973 - 11904: 0xC560,
+ 39974 - 11904: 0x8B56,
+ 39976 - 11904: 0xF6AE,
+ 39977 - 11904: 0xF6AF,
+ 39979 - 11904: 0xF6A9,
+ 39980 - 11904: 0xF6AC,
+ 39981 - 11904: 0xC55F,
+ 39983 - 11904: 0x9ADA,
+ 39985 - 11904: 0xC5BF,
+ 39986 - 11904: 0xF7B4,
+ 39987 - 11904: 0xF7AF,
+ 39988 - 11904: 0xF7B3,
+ 39989 - 11904: 0x96B0,
+ 39990 - 11904: 0xF7B6,
+ 39991 - 11904: 0xF7B2,
+ 39993 - 11904: 0xF7AE,
+ 39994 - 11904: 0x9A7E,
+ 39995 - 11904: 0xC5C1,
+ 39996 - 11904: 0xF7B1,
+ 39997 - 11904: 0xF7B5,
+ 39998 - 11904: 0xC5C0,
+ 39999 - 11904: 0xF7AC,
+ 40000 - 11904: 0xF570,
+ 40001 - 11904: 0xF7B0,
+ 40004 - 11904: 0xF7AD,
+ 40005 - 11904: 0x9DDE,
+ 40006 - 11904: 0xF7AA,
+ 40008 - 11904: 0xF7AB,
+ 40009 - 11904: 0xC5BE,
+ 40010 - 11904: 0xF85A,
+ 40011 - 11904: 0xF85C,
+ 40012 - 11904: 0xF85F,
+ 40013 - 11904: 0xF85B,
+ 40014 - 11904: 0xF860,
+ 40015 - 11904: 0x96AD,
+ 40016 - 11904: 0xF859,
+ 40018 - 11904: 0xF857,
+ 40019 - 11904: 0x96AE,
+ 40020 - 11904: 0xC5EB,
+ 40021 - 11904: 0xF85D,
+ 40022 - 11904: 0xC5ED,
+ 40023 - 11904: 0xC5EC,
+ 40024 - 11904: 0xF858,
+ 40025 - 11904: 0xF85E,
+ 40029 - 11904: 0x9EA1,
+ 40030 - 11904: 0xF8DA,
+ 40031 - 11904: 0xC64D,
+ 40032 - 11904: 0xF8DB,
+ 40034 - 11904: 0xF8D9,
+ 40035 - 11904: 0xF8D6,
+ 40038 - 11904: 0xF8D8,
+ 40039 - 11904: 0xF8D7,
+ 40040 - 11904: 0xF95A,
+ 40045 - 11904: 0xF95C,
+ 40046 - 11904: 0xF95B,
+ 40049 - 11904: 0xF979,
+ 40050 - 11904: 0x9E50,
+ 40051 - 11904: 0xF978,
+ 40052 - 11904: 0xF977,
+ 40053 - 11904: 0xF97A,
+ 40055 - 11904: 0xC673,
+ 40056 - 11904: 0xC674,
+ 40057 - 11904: 0xF9CA,
+ 40058 - 11904: 0xF9CE,
+ 40059 - 11904: 0x96AF,
+ 40060 - 11904: 0x8BF4,
+ 40165 - 11904: 0xB3BE,
+ 40166 - 11904: 0xDCAF,
+ 40167 - 11904: 0xE0ED,
+ 40169 - 11904: 0xB9A7,
+ 40170 - 11904: 0xE0EB,
+ 40173 - 11904: 0xE0EC,
+ 40177 - 11904: 0xE4E2,
+ 40178 - 11904: 0xE4E3,
+ 40179 - 11904: 0xBBF1,
+ 40180 - 11904: 0xBBEF,
+ 40181 - 11904: 0xE4E4,
+ 40182 - 11904: 0xBBF0,
+ 40183 - 11904: 0xE8E8,
+ 40185 - 11904: 0xE8EB,
+ 40186 - 11904: 0xE8E5,
+ 40187 - 11904: 0xE8EC,
+ 40188 - 11904: 0xE8E4,
+ 40189 - 11904: 0xE8E6,
+ 40191 - 11904: 0xE8E7,
+ 40192 - 11904: 0xE8EA,
+ 40194 - 11904: 0x9FA4,
+ 40195 - 11904: 0xBEA1,
+ 40196 - 11904: 0xE8EF,
+ 40197 - 11904: 0xE8EE,
+ 40198 - 11904: 0xBE7D,
+ 40199 - 11904: 0xE8E9,
+ 40200 - 11904: 0xE8ED,
+ 40201 - 11904: 0xBE7E,
+ 40204 - 11904: 0x96BD,
+ 40208 - 11904: 0xECAC,
+ 40210 - 11904: 0xC06F,
+ 40212 - 11904: 0xECA7,
+ 40213 - 11904: 0xC06B,
+ 40214 - 11904: 0x96F4,
+ 40215 - 11904: 0xECA4,
+ 40216 - 11904: 0xECAA,
+ 40217 - 11904: 0xECAD,
+ 40219 - 11904: 0xC070,
+ 40221 - 11904: 0xECA9,
+ 40222 - 11904: 0xECA6,
+ 40223 - 11904: 0xECAE,
+ 40224 - 11904: 0xECA5,
+ 40225 - 11904: 0x96B8,
+ 40226 - 11904: 0xECAB,
+ 40227 - 11904: 0xC06C,
+ 40229 - 11904: 0xECA3,
+ 40230 - 11904: 0xC06D,
+ 40232 - 11904: 0xC06E,
+ 40233 - 11904: 0xECA8,
+ 40237 - 11904: 0xEFA9,
+ 40238 - 11904: 0xEF7A,
+ 40239 - 11904: 0xEF7B,
+ 40240 - 11904: 0xEF7E,
+ 40241 - 11904: 0xEF7C,
+ 40243 - 11904: 0xEF76,
+ 40244 - 11904: 0xFAA1,
+ 40246 - 11904: 0xEF79,
+ 40247 - 11904: 0xEFA5,
+ 40248 - 11904: 0xEF7D,
+ 40249 - 11904: 0x91A7,
+ 40251 - 11904: 0xC245,
+ 40253 - 11904: 0xEFA7,
+ 40254 - 11904: 0xEFA4,
+ 40255 - 11904: 0xC246,
+ 40256 - 11904: 0xEFA6,
+ 40257 - 11904: 0xEF77,
+ 40258 - 11904: 0xEFA2,
+ 40259 - 11904: 0xEFA3,
+ 40260 - 11904: 0xA05E,
+ 40261 - 11904: 0xEFA1,
+ 40265 - 11904: 0x9A7D,
+ 40266 - 11904: 0xF1D2,
+ 40267 - 11904: 0xF1D4,
+ 40268 - 11904: 0xF1D7,
+ 40270 - 11904: 0x8948,
+ 40271 - 11904: 0xF1D1,
+ 40272 - 11904: 0x9EB1,
+ 40273 - 11904: 0xC359,
+ 40274 - 11904: 0xF1D9,
+ 40275 - 11904: 0xF1D0,
+ 40276 - 11904: 0xF1DA,
+ 40278 - 11904: 0xF1D6,
+ 40279 - 11904: 0xF1D8,
+ 40280 - 11904: 0xF1DC,
+ 40281 - 11904: 0xF1D5,
+ 40282 - 11904: 0xF1DD,
+ 40283 - 11904: 0xF1D3,
+ 40284 - 11904: 0xF1CF,
+ 40285 - 11904: 0xC35A,
+ 40286 - 11904: 0x9DDB,
+ 40287 - 11904: 0xF1DB,
+ 40288 - 11904: 0xC35B,
+ 40289 - 11904: 0xC44D,
+ 40295 - 11904: 0xEF78,
+ 40296 - 11904: 0xF3F1,
+ 40297 - 11904: 0xF3E8,
+ 40298 - 11904: 0xC44F,
+ 40299 - 11904: 0xF3E4,
+ 40300 - 11904: 0xC450,
+ 40301 - 11904: 0x95BF,
+ 40302 - 11904: 0x8A73,
+ 40303 - 11904: 0xF3ED,
+ 40304 - 11904: 0xF3E7,
+ 40305 - 11904: 0xF3DD,
+ 40306 - 11904: 0xC44E,
+ 40307 - 11904: 0xF3EA,
+ 40308 - 11904: 0xF3E5,
+ 40309 - 11904: 0xF3E6,
+ 40311 - 11904: 0xF3D8,
+ 40312 - 11904: 0xF3DF,
+ 40313 - 11904: 0xF3EE,
+ 40315 - 11904: 0xF3EB,
+ 40316 - 11904: 0x9EFE,
+ 40317 - 11904: 0xF3E3,
+ 40318 - 11904: 0x917A,
+ 40319 - 11904: 0xF3EF,
+ 40320 - 11904: 0xF3DE,
+ 40321 - 11904: 0xF3D9,
+ 40322 - 11904: 0xF3EC,
+ 40323 - 11904: 0x917B,
+ 40324 - 11904: 0xF3DB,
+ 40325 - 11904: 0xF3E9,
+ 40326 - 11904: 0xF3E0,
+ 40327 - 11904: 0xF3F0,
+ 40328 - 11904: 0xF3DC,
+ 40329 - 11904: 0xC44C,
+ 40330 - 11904: 0xF3DA,
+ 40331 - 11904: 0xF3E1,
+ 40332 - 11904: 0xF3E2,
+ 40336 - 11904: 0xF57D,
+ 40338 - 11904: 0xF57B,
+ 40339 - 11904: 0x9AA3,
+ 40340 - 11904: 0xF5A2,
+ 40342 - 11904: 0xF5AE,
+ 40343 - 11904: 0xF5A5,
+ 40344 - 11904: 0xF57C,
+ 40345 - 11904: 0xF578,
+ 40346 - 11904: 0xF5A7,
+ 40347 - 11904: 0xF57E,
+ 40348 - 11904: 0xF5A3,
+ 40349 - 11904: 0xF57A,
+ 40350 - 11904: 0xF5AA,
+ 40351 - 11904: 0xF577,
+ 40352 - 11904: 0xF5A1,
+ 40353 - 11904: 0xF5A6,
+ 40354 - 11904: 0xF5A8,
+ 40355 - 11904: 0xF5AB,
+ 40356 - 11904: 0xF579,
+ 40357 - 11904: 0x96C2,
+ 40358 - 11904: 0xF5AF,
+ 40359 - 11904: 0xF5B0,
+ 40360 - 11904: 0xF5A9,
+ 40361 - 11904: 0xF5AD,
+ 40362 - 11904: 0xF5A4,
+ 40363 - 11904: 0x9F77,
+ 40364 - 11904: 0xF6C1,
+ 40365 - 11904: 0xF6C4,
+ 40367 - 11904: 0xC561,
+ 40369 - 11904: 0xF6C3,
+ 40370 - 11904: 0xF6C8,
+ 40371 - 11904: 0xF6C6,
+ 40372 - 11904: 0xC562,
+ 40373 - 11904: 0xF6BD,
+ 40374 - 11904: 0xF6B3,
+ 40375 - 11904: 0xF6B2,
+ 40376 - 11904: 0xC564,
+ 40377 - 11904: 0xF6BF,
+ 40378 - 11904: 0xF6C0,
+ 40379 - 11904: 0xF6BC,
+ 40380 - 11904: 0xF6B4,
+ 40381 - 11904: 0x9AA4,
+ 40382 - 11904: 0xF6B9,
+ 40383 - 11904: 0xF5AC,
+ 40384 - 11904: 0x9AA5,
+ 40385 - 11904: 0xF6B5,
+ 40386 - 11904: 0xC563,
+ 40387 - 11904: 0xF6BB,
+ 40388 - 11904: 0x91A1,
+ 40389 - 11904: 0xF6BA,
+ 40391 - 11904: 0xF6B6,
+ 40392 - 11904: 0xF6C2,
+ 40393 - 11904: 0x89B8,
+ 40394 - 11904: 0xF6B7,
+ 40395 - 11904: 0xF7BB,
+ 40396 - 11904: 0xF6C5,
+ 40397 - 11904: 0xF6C7,
+ 40398 - 11904: 0xF6BE,
+ 40399 - 11904: 0xF6B8,
+ 40400 - 11904: 0xF7BC,
+ 40401 - 11904: 0xF7BE,
+ 40402 - 11904: 0xF7B8,
+ 40403 - 11904: 0xC5C2,
+ 40404 - 11904: 0x9173,
+ 40405 - 11904: 0xF7C5,
+ 40406 - 11904: 0xF7C3,
+ 40407 - 11904: 0xC5C3,
+ 40408 - 11904: 0xF7C2,
+ 40409 - 11904: 0xF7C1,
+ 40410 - 11904: 0xF7BA,
+ 40411 - 11904: 0xF7B7,
+ 40412 - 11904: 0xF7BD,
+ 40413 - 11904: 0xF7C6,
+ 40414 - 11904: 0xF7B9,
+ 40415 - 11904: 0xF7BF,
+ 40417 - 11904: 0xF869,
+ 40418 - 11904: 0xF86E,
+ 40419 - 11904: 0xF864,
+ 40420 - 11904: 0xF867,
+ 40421 - 11904: 0xC5EE,
+ 40422 - 11904: 0xF86B,
+ 40424 - 11904: 0xF872,
+ 40425 - 11904: 0xF7C0,
+ 40427 - 11904: 0xF865,
+ 40428 - 11904: 0xF86F,
+ 40429 - 11904: 0xF873,
+ 40430 - 11904: 0xF86A,
+ 40431 - 11904: 0xF863,
+ 40432 - 11904: 0xF86D,
+ 40434 - 11904: 0xF86C,
+ 40435 - 11904: 0xF871,
+ 40436 - 11904: 0xF870,
+ 40437 - 11904: 0xF7C4,
+ 40438 - 11904: 0xF868,
+ 40439 - 11904: 0xF862,
+ 40440 - 11904: 0xF866,
+ 40441 - 11904: 0xC64E,
+ 40442 - 11904: 0xC64F,
+ 40443 - 11904: 0xF861,
+ 40444 - 11904: 0x9AA6,
+ 40445 - 11904: 0xF8E6,
+ 40446 - 11904: 0xF8DD,
+ 40447 - 11904: 0xF8E5,
+ 40448 - 11904: 0xF8E2,
+ 40449 - 11904: 0xF8E3,
+ 40450 - 11904: 0xF8DC,
+ 40451 - 11904: 0xF8DF,
+ 40452 - 11904: 0xF8E7,
+ 40453 - 11904: 0xF8E1,
+ 40454 - 11904: 0xF8E0,
+ 40455 - 11904: 0xF8DE,
+ 40457 - 11904: 0xF8E4,
+ 40458 - 11904: 0x89BD,
+ 40459 - 11904: 0xF95D,
+ 40460 - 11904: 0x89B9,
+ 40461 - 11904: 0xF95E,
+ 40462 - 11904: 0x917D,
+ 40463 - 11904: 0xF960,
+ 40464 - 11904: 0xF95F,
+ 40465 - 11904: 0xF962,
+ 40466 - 11904: 0xF961,
+ 40467 - 11904: 0xF97C,
+ 40468 - 11904: 0xF97B,
+ 40469 - 11904: 0xF9B7,
+ 40471 - 11904: 0xF9B8,
+ 40472 - 11904: 0x96BB,
+ 40473 - 11904: 0xF9C5,
+ 40474 - 11904: 0xC678,
+ 40475 - 11904: 0xC67C,
+ 40476 - 11904: 0x9FF2,
+ 40477 - 11904: 0xF9CF,
+ 40478 - 11904: 0xC67D,
+ 40479 - 11904: 0x8BF5,
+ 40565 - 11904: 0xB3BF,
+ 40569 - 11904: 0xC4D0,
+ 40570 - 11904: 0xF6C9,
+ 40571 - 11904: 0x9AA9,
+ 40572 - 11904: 0xC650,
+ 40573 - 11904: 0xC651,
+ 40575 - 11904: 0xB3C0,
+ 40576 - 11904: 0xE0EE,
+ 40577 - 11904: 0x9F54,
+ 40578 - 11904: 0xB9A8,
+ 40579 - 11904: 0xE8F0,
+ 40580 - 11904: 0x9FE3,
+ 40581 - 11904: 0x9EED,
+ 40582 - 11904: 0xECB0,
+ 40583 - 11904: 0xECB1,
+ 40584 - 11904: 0xECAF,
+ 40585 - 11904: 0xEFAB,
+ 40586 - 11904: 0xEFAA,
+ 40587 - 11904: 0xC247,
+ 40588 - 11904: 0xF1DF,
+ 40589 - 11904: 0xEFAC,
+ 40590 - 11904: 0xF1DE,
+ 40592 - 11904: 0x91AA,
+ 40593 - 11904: 0xF3F3,
+ 40594 - 11904: 0xC451,
+ 40595 - 11904: 0xC453,
+ 40596 - 11904: 0xF3F2,
+ 40597 - 11904: 0x91AB,
+ 40598 - 11904: 0xA070,
+ 40599 - 11904: 0xC452,
+ 40600 - 11904: 0x9F6D,
+ 40601 - 11904: 0xF5B1,
+ 40602 - 11904: 0xF5B3,
+ 40603 - 11904: 0xF5B2,
+ 40604 - 11904: 0xF6CA,
+ 40605 - 11904: 0xC565,
+ 40606 - 11904: 0x91AC,
+ 40607 - 11904: 0xC5EF,
+ 40608 - 11904: 0xF8E8,
+ 40609 - 11904: 0xF963,
+ 40610 - 11904: 0x91AD,
+ 40612 - 11904: 0xF9D2,
+ 40613 - 11904: 0xB3C1,
+ 40614 - 11904: 0xA0FD,
+ 40615 - 11904: 0xE4E5,
+ 40616 - 11904: 0x9FE2,
+ 40617 - 11904: 0xBEA2,
+ 40618 - 11904: 0x91AF,
+ 40619 - 11904: 0x9E41,
+ 40620 - 11904: 0x9AAA,
+ 40621 - 11904: 0xECB3,
+ 40622 - 11904: 0xECB2,
+ 40623 - 11904: 0x91B0,
+ 40624 - 11904: 0xEFAD,
+ 40625 - 11904: 0x9AAB,
+ 40628 - 11904: 0xC454,
+ 40629 - 11904: 0xC4D1,
+ 40630 - 11904: 0xF7C7,
+ 40631 - 11904: 0xF9CB,
+ 40635 - 11904: 0xB3C2,
+ 40636 - 11904: 0xBBF2,
+ 40637 - 11904: 0x9AAC,
+ 40638 - 11904: 0xBEA3,
+ 40639 - 11904: 0x9A4A,
+ 40640 - 11904: 0xF3F4,
+ 40641 - 11904: 0x91B2,
+ 40642 - 11904: 0xF874,
+ 40643 - 11904: 0xB6C0,
+ 40644 - 11904: 0x8BF6,
+ 40646 - 11904: 0x9AAD,
+ 40647 - 11904: 0x89B6,
+ 40648 - 11904: 0xEFAE,
+ 40652 - 11904: 0xC664,
+ 40653 - 11904: 0xB6C1,
+ 40654 - 11904: 0xBEA4,
+ 40655 - 11904: 0xC248,
+ 40656 - 11904: 0xF875,
+ 40657 - 11904: 0xB6C2,
+ 40659 - 11904: 0xE8F1,
+ 40660 - 11904: 0xC072,
+ 40661 - 11904: 0xECB4,
+ 40662 - 11904: 0xECB5,
+ 40664 - 11904: 0xC071,
+ 40666 - 11904: 0xEFAF,
+ 40667 - 11904: 0xC24C,
+ 40668 - 11904: 0xC24A,
+ 40669 - 11904: 0xC24B,
+ 40670 - 11904: 0xC249,
+ 40671 - 11904: 0xF1E0,
+ 40672 - 11904: 0xC35C,
+ 40674 - 11904: 0x9AAF,
+ 40676 - 11904: 0xF5B5,
+ 40677 - 11904: 0xF5B4,
+ 40678 - 11904: 0xF5B7,
+ 40679 - 11904: 0xF5B6,
+ 40680 - 11904: 0xC4D2,
+ 40683 - 11904: 0xF6CB,
+ 40685 - 11904: 0xF6CD,
+ 40686 - 11904: 0xF6CC,
+ 40687 - 11904: 0xC566,
+ 40688 - 11904: 0xF7C8,
+ 40689 - 11904: 0x9AB0,
+ 40690 - 11904: 0xF876,
+ 40691 - 11904: 0xF877,
+ 40692 - 11904: 0xC5F0,
+ 40693 - 11904: 0xF964,
+ 40694 - 11904: 0xF97D,
+ 40695 - 11904: 0xC675,
+ 40696 - 11904: 0x9AB1,
+ 40697 - 11904: 0xDCB0,
+ 40698 - 11904: 0xECB6,
+ 40699 - 11904: 0xEFB0,
+ 40700 - 11904: 0xF3F5,
+ 40701 - 11904: 0xE0EF,
+ 40702 - 11904: 0x9AA1,
+ 40703 - 11904: 0xEFB1,
+ 40704 - 11904: 0xF1E2,
+ 40705 - 11904: 0xF1E1,
+ 40706 - 11904: 0x91B9,
+ 40710 - 11904: 0xF878,
+ 40711 - 11904: 0xC652,
+ 40712 - 11904: 0x91BA,
+ 40713 - 11904: 0xF965,
+ 40714 - 11904: 0xF97E,
+ 40718 - 11904: 0xB9A9,
+ 40719 - 11904: 0xE8F2,
+ 40720 - 11904: 0xE8F3,
+ 40722 - 11904: 0xECB7,
+ 40723 - 11904: 0xB9AA,
+ 40725 - 11904: 0xC35D,
+ 40726 - 11904: 0xF1E3,
+ 40727 - 11904: 0x9F66,
+ 40728 - 11904: 0xF6CF,
+ 40729 - 11904: 0xC567,
+ 40730 - 11904: 0xF6D0,
+ 40731 - 11904: 0xF6CE,
+ 40732 - 11904: 0xF879,
+ 40734 - 11904: 0xF8E9,
+ 40736 - 11904: 0xB9AB,
+ 40738 - 11904: 0xEFB4,
+ 40739 - 11904: 0xEFB3,
+ 40740 - 11904: 0xEFB2,
+ 40741 - 11904: 0xF1E4,
+ 40742 - 11904: 0xA041,
+ 40743 - 11904: 0x8BB7,
+ 40744 - 11904: 0xF1E8,
+ 40745 - 11904: 0xF1E7,
+ 40746 - 11904: 0xF1E6,
+ 40747 - 11904: 0xF1E5,
+ 40748 - 11904: 0xC35E,
+ 40749 - 11904: 0xF3F6,
+ 40750 - 11904: 0xF5B9,
+ 40751 - 11904: 0xC4D3,
+ 40752 - 11904: 0xF5B8,
+ 40753 - 11904: 0xF6D1,
+ 40754 - 11904: 0xF7CB,
+ 40755 - 11904: 0xF7CA,
+ 40756 - 11904: 0xC5C4,
+ 40757 - 11904: 0xF7C9,
+ 40758 - 11904: 0xF87C,
+ 40759 - 11904: 0xF87B,
+ 40760 - 11904: 0xF87A,
+ 40761 - 11904: 0x91C0,
+ 40763 - 11904: 0xBBF3,
+ 40765 - 11904: 0xECB8,
+ 40766 - 11904: 0xC24D,
+ 40768 - 11904: 0xF3F7,
+ 40769 - 11904: 0xF3F8,
+ 40770 - 11904: 0xF7CC,
+ 40771 - 11904: 0xF87D,
+ 40772 - 11904: 0x9AB3,
+ 40773 - 11904: 0x91C3,
+ 40774 - 11904: 0xF8EA,
+ 40775 - 11904: 0xF966,
+ 40776 - 11904: 0xF9B9,
+ 40777 - 11904: 0xF9D4,
+ 40778 - 11904: 0xBBF4,
+ 40779 - 11904: 0xC24E,
+ 40780 - 11904: 0xF1E9,
+ 40781 - 11904: 0xF3F9,
+ 40782 - 11904: 0xF6D2,
+ 40783 - 11904: 0xF87E,
+ 40784 - 11904: 0xA0FC,
+ 40786 - 11904: 0xBEA6,
+ 40787 - 11904: 0x9FEE,
+ 40788 - 11904: 0xEFB5,
+ 40789 - 11904: 0xF1EA,
+ 40790 - 11904: 0xF3FA,
+ 40791 - 11904: 0xF3FB,
+ 40792 - 11904: 0xF3FC,
+ 40793 - 11904: 0xF5BE,
+ 40794 - 11904: 0x9F69,
+ 40795 - 11904: 0xF5BA,
+ 40796 - 11904: 0xC568,
+ 40797 - 11904: 0xF5BD,
+ 40798 - 11904: 0xF5BC,
+ 40799 - 11904: 0xC4D4,
+ 40800 - 11904: 0xF5BB,
+ 40801 - 11904: 0xC4D6,
+ 40802 - 11904: 0x91C8,
+ 40803 - 11904: 0xC4D5,
+ 40804 - 11904: 0xF6D4,
+ 40805 - 11904: 0xF6D3,
+ 40806 - 11904: 0xC569,
+ 40807 - 11904: 0xC56A,
+ 40809 - 11904: 0x91C9,
+ 40810 - 11904: 0xC5C6,
+ 40811 - 11904: 0xF7CD,
+ 40812 - 11904: 0xC5C5,
+ 40814 - 11904: 0xF8A3,
+ 40815 - 11904: 0xF8A4,
+ 40816 - 11904: 0xF8A2,
+ 40817 - 11904: 0xF8A1,
+ 40818 - 11904: 0xC654,
+ 40820 - 11904: 0xF8EB,
+ 40821 - 11904: 0xF8EC,
+ 40822 - 11904: 0xF8ED,
+ 40823 - 11904: 0xC653,
+ 40824 - 11904: 0xF967,
+ 40825 - 11904: 0xF96A,
+ 40826 - 11904: 0xF969,
+ 40827 - 11904: 0xF968,
+ 40830 - 11904: 0xF9D3,
+ 40831 - 11904: 0x8DE6,
+ 40845 - 11904: 0xC073,
+ 40846 - 11904: 0x91CB,
+ 40848 - 11904: 0xC365,
+ 40849 - 11904: 0xF5BF,
+ 40850 - 11904: 0xF6D5,
+ 40852 - 11904: 0xC5C7,
+ 40853 - 11904: 0xF7CE,
+ 40854 - 11904: 0x87AC,
+ 40855 - 11904: 0x87A4,
+ 40856 - 11904: 0xF9D5,
+ 40857 - 11904: 0x89C8,
+ 40860 - 11904: 0xC074,
+ 40863 - 11904: 0x8DAA,
+ 40864 - 11904: 0xEFB6,
+ 40866 - 11904: 0xF7CF,
+ 40868 - 11904: 0xF9A1,
+ 40869 - 11904: 0x9FDD,
+ 40870 - 11904: 0x8C43,
+ 40871 - 11904: 0x8C6D,
+ 40872 - 11904: 0x8C74,
+ 40873 - 11904: 0x8CB7,
+ 40874 - 11904: 0x8CB9,
+ 40875 - 11904: 0x8CBB,
+ 40876 - 11904: 0x8CC0,
+ 40877 - 11904: 0x8CD7,
+ 40878 - 11904: 0x8CD8,
+ 40879 - 11904: 0x8CDA,
+ 40880 - 11904: 0xC8A1,
+ 40881 - 11904: 0xC8A3,
+ 40882 - 11904: 0x8CED,
+ 40883 - 11904: 0x8D48,
+ 40903 - 11904: 0x87C2,
+ 40904 - 11904: 0x87D2,
+ 40905 - 11904: 0x87D6,
+ 40906 - 11904: 0x87DA,
+ 40907 - 11904: 0x87DF,
+}
+
+const encode2Low, encode2High = 7870, 10046
+
+var encode2 = [...]uint16{
+ 7870 - 7870: 0x8863,
+ 7871 - 7870: 0x88A4,
+ 7872 - 7870: 0x8865,
+ 7873 - 7870: 0x88A6,
+ 8211 - 7870: 0xA156,
+ 8212 - 7870: 0xA158,
+ 8216 - 7870: 0xA1A5,
+ 8217 - 7870: 0xA1A6,
+ 8220 - 7870: 0xA1A7,
+ 8221 - 7870: 0xA1A8,
+ 8229 - 7870: 0xA14C,
+ 8230 - 7870: 0xA14B,
+ 8231 - 7870: 0xA145,
+ 8242 - 7870: 0xA1AC,
+ 8245 - 7870: 0xA1AB,
+ 8251 - 7870: 0xA1B0,
+ 8364 - 7870: 0xA3E1,
+ 8451 - 7870: 0xA24A,
+ 8453 - 7870: 0xA1C1,
+ 8457 - 7870: 0xA24B,
+ 8470 - 7870: 0xC8D2,
+ 8481 - 7870: 0xC8D3,
+ 8544 - 7870: 0xA2B9,
+ 8545 - 7870: 0xA2BA,
+ 8546 - 7870: 0xA2BB,
+ 8547 - 7870: 0xA2BC,
+ 8548 - 7870: 0xA2BD,
+ 8549 - 7870: 0xA2BE,
+ 8550 - 7870: 0xA2BF,
+ 8551 - 7870: 0xA2C0,
+ 8552 - 7870: 0xA2C1,
+ 8553 - 7870: 0xA2C2,
+ 8560 - 7870: 0xC6B5,
+ 8561 - 7870: 0xC6B6,
+ 8562 - 7870: 0xC6B7,
+ 8563 - 7870: 0xC6B8,
+ 8564 - 7870: 0xC6B9,
+ 8565 - 7870: 0xC6BA,
+ 8566 - 7870: 0xC6BB,
+ 8567 - 7870: 0xC6BC,
+ 8568 - 7870: 0xC6BD,
+ 8569 - 7870: 0xC6BE,
+ 8592 - 7870: 0xA1F6,
+ 8593 - 7870: 0xA1F4,
+ 8594 - 7870: 0xA1F7,
+ 8595 - 7870: 0xA1F5,
+ 8598 - 7870: 0xA1F8,
+ 8599 - 7870: 0xA1F9,
+ 8600 - 7870: 0xA1FB,
+ 8601 - 7870: 0xA1FA,
+ 8632 - 7870: 0xC877,
+ 8633 - 7870: 0xC878,
+ 8679 - 7870: 0xC876,
+ 8725 - 7870: 0xA241,
+ 8730 - 7870: 0xA1D4,
+ 8734 - 7870: 0xA1DB,
+ 8735 - 7870: 0xA1E8,
+ 8736 - 7870: 0xA1E7,
+ 8739 - 7870: 0xA1FD,
+ 8741 - 7870: 0xA1FC,
+ 8745 - 7870: 0xA1E4,
+ 8746 - 7870: 0xA1E5,
+ 8747 - 7870: 0xA1EC,
+ 8750 - 7870: 0xA1ED,
+ 8756 - 7870: 0xA1EF,
+ 8757 - 7870: 0xA1EE,
+ 8786 - 7870: 0xA1DC,
+ 8800 - 7870: 0xA1DA,
+ 8801 - 7870: 0xA1DD,
+ 8806 - 7870: 0xA1D8,
+ 8807 - 7870: 0xA1D9,
+ 8853 - 7870: 0xA1F2,
+ 8857 - 7870: 0xA1F3,
+ 8869 - 7870: 0xA1E6,
+ 8895 - 7870: 0xA1E9,
+ 9178 - 7870: 0x88A9,
+ 9179 - 7870: 0x88AA,
+ 9216 - 7870: 0xA3C0,
+ 9217 - 7870: 0xA3C1,
+ 9218 - 7870: 0xA3C2,
+ 9219 - 7870: 0xA3C3,
+ 9220 - 7870: 0xA3C4,
+ 9221 - 7870: 0xA3C5,
+ 9222 - 7870: 0xA3C6,
+ 9223 - 7870: 0xA3C7,
+ 9224 - 7870: 0xA3C8,
+ 9225 - 7870: 0xA3C9,
+ 9226 - 7870: 0xA3CA,
+ 9227 - 7870: 0xA3CB,
+ 9228 - 7870: 0xA3CC,
+ 9229 - 7870: 0xA3CD,
+ 9230 - 7870: 0xA3CE,
+ 9231 - 7870: 0xA3CF,
+ 9232 - 7870: 0xA3D0,
+ 9233 - 7870: 0xA3D1,
+ 9234 - 7870: 0xA3D2,
+ 9235 - 7870: 0xA3D3,
+ 9236 - 7870: 0xA3D4,
+ 9237 - 7870: 0xA3D5,
+ 9238 - 7870: 0xA3D6,
+ 9239 - 7870: 0xA3D7,
+ 9240 - 7870: 0xA3D8,
+ 9241 - 7870: 0xA3D9,
+ 9242 - 7870: 0xA3DA,
+ 9243 - 7870: 0xA3DB,
+ 9244 - 7870: 0xA3DC,
+ 9245 - 7870: 0xA3DD,
+ 9246 - 7870: 0xA3DE,
+ 9247 - 7870: 0xA3DF,
+ 9249 - 7870: 0xA3E0,
+ 9312 - 7870: 0xC6A1,
+ 9313 - 7870: 0xC6A2,
+ 9314 - 7870: 0xC6A3,
+ 9315 - 7870: 0xC6A4,
+ 9316 - 7870: 0xC6A5,
+ 9317 - 7870: 0xC6A6,
+ 9318 - 7870: 0xC6A7,
+ 9319 - 7870: 0xC6A8,
+ 9320 - 7870: 0xC6A9,
+ 9321 - 7870: 0xC6AA,
+ 9332 - 7870: 0xC6AB,
+ 9333 - 7870: 0xC6AC,
+ 9334 - 7870: 0xC6AD,
+ 9335 - 7870: 0xC6AE,
+ 9336 - 7870: 0xC6AF,
+ 9337 - 7870: 0xC6B0,
+ 9338 - 7870: 0xC6B1,
+ 9339 - 7870: 0xC6B2,
+ 9340 - 7870: 0xC6B3,
+ 9341 - 7870: 0xC6B4,
+ 9472 - 7870: 0xA277,
+ 9474 - 7870: 0xA278,
+ 9484 - 7870: 0xA27A,
+ 9488 - 7870: 0xA27B,
+ 9492 - 7870: 0xA27C,
+ 9496 - 7870: 0xA27D,
+ 9500 - 7870: 0xA275,
+ 9508 - 7870: 0xA274,
+ 9516 - 7870: 0xA273,
+ 9524 - 7870: 0xA272,
+ 9532 - 7870: 0xA271,
+ 9552 - 7870: 0xF9F9,
+ 9553 - 7870: 0xF9F8,
+ 9554 - 7870: 0xF9E6,
+ 9555 - 7870: 0xF9EF,
+ 9556 - 7870: 0xF9DD,
+ 9557 - 7870: 0xF9E8,
+ 9558 - 7870: 0xF9F1,
+ 9559 - 7870: 0xF9DF,
+ 9560 - 7870: 0xF9EC,
+ 9561 - 7870: 0xF9F5,
+ 9562 - 7870: 0xF9E3,
+ 9563 - 7870: 0xF9EE,
+ 9564 - 7870: 0xF9F7,
+ 9565 - 7870: 0xF9E5,
+ 9566 - 7870: 0xF9E9,
+ 9567 - 7870: 0xF9F2,
+ 9568 - 7870: 0xF9E0,
+ 9569 - 7870: 0xF9EB,
+ 9570 - 7870: 0xF9F4,
+ 9571 - 7870: 0xF9E2,
+ 9572 - 7870: 0xF9E7,
+ 9573 - 7870: 0xF9F0,
+ 9574 - 7870: 0xF9DE,
+ 9575 - 7870: 0xF9ED,
+ 9576 - 7870: 0xF9F6,
+ 9577 - 7870: 0xF9E4,
+ 9578 - 7870: 0xF9EA,
+ 9579 - 7870: 0xF9F3,
+ 9580 - 7870: 0xF9E1,
+ 9581 - 7870: 0xF9FA,
+ 9582 - 7870: 0xF9FB,
+ 9583 - 7870: 0xF9FD,
+ 9584 - 7870: 0xF9FC,
+ 9585 - 7870: 0xA2AC,
+ 9586 - 7870: 0xA2AD,
+ 9587 - 7870: 0xA2AE,
+ 9588 - 7870: 0xA15A,
+ 9601 - 7870: 0xA262,
+ 9602 - 7870: 0xA263,
+ 9603 - 7870: 0xA264,
+ 9604 - 7870: 0xA265,
+ 9605 - 7870: 0xA266,
+ 9606 - 7870: 0xA267,
+ 9607 - 7870: 0xA268,
+ 9608 - 7870: 0xA269,
+ 9609 - 7870: 0xA270,
+ 9610 - 7870: 0xA26F,
+ 9611 - 7870: 0xA26E,
+ 9612 - 7870: 0xA26D,
+ 9613 - 7870: 0xA26C,
+ 9614 - 7870: 0xA26B,
+ 9615 - 7870: 0xA26A,
+ 9620 - 7870: 0xA276,
+ 9621 - 7870: 0xA279,
+ 9632 - 7870: 0xA1BD,
+ 9633 - 7870: 0xA1BC,
+ 9650 - 7870: 0xA1B6,
+ 9651 - 7870: 0xA1B5,
+ 9660 - 7870: 0xA1BF,
+ 9661 - 7870: 0xA1BE,
+ 9670 - 7870: 0xA1BB,
+ 9671 - 7870: 0xA1BA,
+ 9675 - 7870: 0xA1B3,
+ 9678 - 7870: 0xA1B7,
+ 9679 - 7870: 0xA1B4,
+ 9698 - 7870: 0xA2A8,
+ 9699 - 7870: 0xA2A9,
+ 9700 - 7870: 0xA2AB,
+ 9701 - 7870: 0xA2AA,
+ 9733 - 7870: 0xA1B9,
+ 9734 - 7870: 0xA1B8,
+ 9792 - 7870: 0xA1F0,
+ 9794 - 7870: 0xA1F1,
+ 10045 - 7870: 0xC6E6,
+}
+
+const encode3Low, encode3High = 167, 1106
+
+var encode3 = [...]uint16{
+ 167 - 167: 0xA1B1,
+ 168 - 167: 0xC6D8,
+ 175 - 167: 0xA1C2,
+ 176 - 167: 0xA258,
+ 177 - 167: 0xA1D3,
+ 183 - 167: 0xA150,
+ 192 - 167: 0x8859,
+ 193 - 167: 0x8857,
+ 200 - 167: 0x885D,
+ 201 - 167: 0x885B,
+ 202 - 167: 0x8866,
+ 210 - 167: 0x8861,
+ 211 - 167: 0x885F,
+ 215 - 167: 0xA1D1,
+ 224 - 167: 0x886A,
+ 225 - 167: 0x8868,
+ 232 - 167: 0x886F,
+ 233 - 167: 0x886D,
+ 234 - 167: 0x88A7,
+ 236 - 167: 0x8873,
+ 237 - 167: 0x8871,
+ 242 - 167: 0x8877,
+ 243 - 167: 0x8875,
+ 247 - 167: 0xA1D2,
+ 248 - 167: 0xC8FB,
+ 249 - 167: 0x887B,
+ 250 - 167: 0x8879,
+ 252 - 167: 0x88A2,
+ 256 - 167: 0x8856,
+ 257 - 167: 0x8867,
+ 274 - 167: 0x885A,
+ 275 - 167: 0x886C,
+ 282 - 167: 0x885C,
+ 283 - 167: 0x886E,
+ 299 - 167: 0x8870,
+ 331 - 167: 0xC8FC,
+ 332 - 167: 0x885E,
+ 333 - 167: 0x8874,
+ 339 - 167: 0xC8FA,
+ 363 - 167: 0x8878,
+ 461 - 167: 0x8858,
+ 462 - 167: 0x8869,
+ 464 - 167: 0x8872,
+ 465 - 167: 0x8860,
+ 466 - 167: 0x8876,
+ 468 - 167: 0x887A,
+ 470 - 167: 0x887C,
+ 472 - 167: 0x887D,
+ 474 - 167: 0x887E,
+ 476 - 167: 0x88A1,
+ 592 - 167: 0xC8F6,
+ 593 - 167: 0x886B,
+ 596 - 167: 0xC8F8,
+ 603 - 167: 0xC8F7,
+ 609 - 167: 0x88A8,
+ 618 - 167: 0xC8FE,
+ 629 - 167: 0xC8F9,
+ 643 - 167: 0xC8F5,
+ 650 - 167: 0xC8FD,
+ 710 - 167: 0xC6D9,
+ 711 - 167: 0xA3BE,
+ 713 - 167: 0xA3BC,
+ 714 - 167: 0xA3BD,
+ 715 - 167: 0xA3BF,
+ 717 - 167: 0xA1C5,
+ 729 - 167: 0xA3BB,
+ 913 - 167: 0xA344,
+ 914 - 167: 0xA345,
+ 915 - 167: 0xA346,
+ 916 - 167: 0xA347,
+ 917 - 167: 0xA348,
+ 918 - 167: 0xA349,
+ 919 - 167: 0xA34A,
+ 920 - 167: 0xA34B,
+ 921 - 167: 0xA34C,
+ 922 - 167: 0xA34D,
+ 923 - 167: 0xA34E,
+ 924 - 167: 0xA34F,
+ 925 - 167: 0xA350,
+ 926 - 167: 0xA351,
+ 927 - 167: 0xA352,
+ 928 - 167: 0xA353,
+ 929 - 167: 0xA354,
+ 931 - 167: 0xA355,
+ 932 - 167: 0xA356,
+ 933 - 167: 0xA357,
+ 934 - 167: 0xA358,
+ 935 - 167: 0xA359,
+ 936 - 167: 0xA35A,
+ 937 - 167: 0xA35B,
+ 945 - 167: 0xA35C,
+ 946 - 167: 0xA35D,
+ 947 - 167: 0xA35E,
+ 948 - 167: 0xA35F,
+ 949 - 167: 0xA360,
+ 950 - 167: 0xA361,
+ 951 - 167: 0xA362,
+ 952 - 167: 0xA363,
+ 953 - 167: 0xA364,
+ 954 - 167: 0xA365,
+ 955 - 167: 0xA366,
+ 956 - 167: 0xA367,
+ 957 - 167: 0xA368,
+ 958 - 167: 0xA369,
+ 959 - 167: 0xA36A,
+ 960 - 167: 0xA36B,
+ 961 - 167: 0xA36C,
+ 963 - 167: 0xA36D,
+ 964 - 167: 0xA36E,
+ 965 - 167: 0xA36F,
+ 966 - 167: 0xA370,
+ 967 - 167: 0xA371,
+ 968 - 167: 0xA372,
+ 969 - 167: 0xA373,
+ 1025 - 167: 0xC7F9,
+ 1040 - 167: 0xC7F3,
+ 1041 - 167: 0xC7F4,
+ 1042 - 167: 0xC7F5,
+ 1043 - 167: 0xC7F6,
+ 1044 - 167: 0xC7F7,
+ 1045 - 167: 0xC7F8,
+ 1046 - 167: 0xC7FA,
+ 1047 - 167: 0xC7FB,
+ 1048 - 167: 0xC7FC,
+ 1049 - 167: 0xC7FD,
+ 1050 - 167: 0xC7FE,
+ 1051 - 167: 0xC840,
+ 1052 - 167: 0xC841,
+ 1053 - 167: 0xC842,
+ 1054 - 167: 0xC843,
+ 1055 - 167: 0xC844,
+ 1056 - 167: 0xC845,
+ 1057 - 167: 0xC846,
+ 1058 - 167: 0xC847,
+ 1059 - 167: 0xC848,
+ 1060 - 167: 0xC849,
+ 1061 - 167: 0xC84A,
+ 1062 - 167: 0xC84B,
+ 1063 - 167: 0xC84C,
+ 1064 - 167: 0xC84D,
+ 1065 - 167: 0xC84E,
+ 1066 - 167: 0xC84F,
+ 1067 - 167: 0xC850,
+ 1068 - 167: 0xC851,
+ 1069 - 167: 0xC852,
+ 1070 - 167: 0xC853,
+ 1071 - 167: 0xC854,
+ 1072 - 167: 0xC855,
+ 1073 - 167: 0xC856,
+ 1074 - 167: 0xC857,
+ 1075 - 167: 0xC858,
+ 1076 - 167: 0xC859,
+ 1077 - 167: 0xC85A,
+ 1078 - 167: 0xC85C,
+ 1079 - 167: 0xC85D,
+ 1080 - 167: 0xC85E,
+ 1081 - 167: 0xC85F,
+ 1082 - 167: 0xC860,
+ 1083 - 167: 0xC861,
+ 1084 - 167: 0xC862,
+ 1085 - 167: 0xC863,
+ 1086 - 167: 0xC864,
+ 1087 - 167: 0xC865,
+ 1088 - 167: 0xC866,
+ 1089 - 167: 0xC867,
+ 1090 - 167: 0xC868,
+ 1091 - 167: 0xC869,
+ 1092 - 167: 0xC86A,
+ 1093 - 167: 0xC86B,
+ 1094 - 167: 0xC86C,
+ 1095 - 167: 0xC86D,
+ 1096 - 167: 0xC86E,
+ 1097 - 167: 0xC86F,
+ 1098 - 167: 0xC870,
+ 1099 - 167: 0xC871,
+ 1100 - 167: 0xC872,
+ 1101 - 167: 0xC873,
+ 1102 - 167: 0xC874,
+ 1103 - 167: 0xC875,
+ 1105 - 167: 0xC85B,
+}
+
+const encode4Low, encode4High = 65072, 65518
+
+var encode4 = [...]uint16{
+ 65072 - 65072: 0xA14A,
+ 65073 - 65072: 0xA157,
+ 65075 - 65072: 0xA159,
+ 65076 - 65072: 0xA15B,
+ 65077 - 65072: 0xA15F,
+ 65078 - 65072: 0xA160,
+ 65079 - 65072: 0xA163,
+ 65080 - 65072: 0xA164,
+ 65081 - 65072: 0xA167,
+ 65082 - 65072: 0xA168,
+ 65083 - 65072: 0xA16B,
+ 65084 - 65072: 0xA16C,
+ 65085 - 65072: 0xA16F,
+ 65086 - 65072: 0xA170,
+ 65087 - 65072: 0xA173,
+ 65088 - 65072: 0xA174,
+ 65089 - 65072: 0xA177,
+ 65090 - 65072: 0xA178,
+ 65091 - 65072: 0xA17B,
+ 65092 - 65072: 0xA17C,
+ 65097 - 65072: 0xA1C6,
+ 65098 - 65072: 0xA1C7,
+ 65099 - 65072: 0xA1CA,
+ 65100 - 65072: 0xA1CB,
+ 65101 - 65072: 0xA1C8,
+ 65102 - 65072: 0xA1C9,
+ 65103 - 65072: 0xA15C,
+ 65104 - 65072: 0xA14D,
+ 65105 - 65072: 0xA14E,
+ 65106 - 65072: 0xA14F,
+ 65108 - 65072: 0xA151,
+ 65109 - 65072: 0xA152,
+ 65110 - 65072: 0xA153,
+ 65111 - 65072: 0xA154,
+ 65113 - 65072: 0xA17D,
+ 65114 - 65072: 0xA17E,
+ 65115 - 65072: 0xA1A1,
+ 65116 - 65072: 0xA1A2,
+ 65117 - 65072: 0xA1A3,
+ 65118 - 65072: 0xA1A4,
+ 65119 - 65072: 0xA1CC,
+ 65120 - 65072: 0xA1CD,
+ 65121 - 65072: 0xA1CE,
+ 65122 - 65072: 0xA1DE,
+ 65123 - 65072: 0xA1DF,
+ 65124 - 65072: 0xA1E0,
+ 65125 - 65072: 0xA1E1,
+ 65126 - 65072: 0xA1E2,
+ 65128 - 65072: 0xA242,
+ 65129 - 65072: 0xA24C,
+ 65130 - 65072: 0xA24D,
+ 65131 - 65072: 0xA24E,
+ 65281 - 65072: 0xA149,
+ 65282 - 65072: 0xC8D0,
+ 65283 - 65072: 0xA1AD,
+ 65284 - 65072: 0xA243,
+ 65285 - 65072: 0xA248,
+ 65286 - 65072: 0xA1AE,
+ 65287 - 65072: 0xC8CF,
+ 65288 - 65072: 0xA15D,
+ 65289 - 65072: 0xA15E,
+ 65290 - 65072: 0xA1AF,
+ 65291 - 65072: 0xA1CF,
+ 65292 - 65072: 0xA141,
+ 65293 - 65072: 0xA1D0,
+ 65294 - 65072: 0xA144,
+ 65295 - 65072: 0xA1FE,
+ 65296 - 65072: 0xA2AF,
+ 65297 - 65072: 0xA2B0,
+ 65298 - 65072: 0xA2B1,
+ 65299 - 65072: 0xA2B2,
+ 65300 - 65072: 0xA2B3,
+ 65301 - 65072: 0xA2B4,
+ 65302 - 65072: 0xA2B5,
+ 65303 - 65072: 0xA2B6,
+ 65304 - 65072: 0xA2B7,
+ 65305 - 65072: 0xA2B8,
+ 65306 - 65072: 0xA147,
+ 65307 - 65072: 0xA146,
+ 65308 - 65072: 0xA1D5,
+ 65309 - 65072: 0xA1D7,
+ 65310 - 65072: 0xA1D6,
+ 65311 - 65072: 0xA148,
+ 65312 - 65072: 0xA249,
+ 65313 - 65072: 0xA2CF,
+ 65314 - 65072: 0xA2D0,
+ 65315 - 65072: 0xA2D1,
+ 65316 - 65072: 0xA2D2,
+ 65317 - 65072: 0xA2D3,
+ 65318 - 65072: 0xA2D4,
+ 65319 - 65072: 0xA2D5,
+ 65320 - 65072: 0xA2D6,
+ 65321 - 65072: 0xA2D7,
+ 65322 - 65072: 0xA2D8,
+ 65323 - 65072: 0xA2D9,
+ 65324 - 65072: 0xA2DA,
+ 65325 - 65072: 0xA2DB,
+ 65326 - 65072: 0xA2DC,
+ 65327 - 65072: 0xA2DD,
+ 65328 - 65072: 0xA2DE,
+ 65329 - 65072: 0xA2DF,
+ 65330 - 65072: 0xA2E0,
+ 65331 - 65072: 0xA2E1,
+ 65332 - 65072: 0xA2E2,
+ 65333 - 65072: 0xA2E3,
+ 65334 - 65072: 0xA2E4,
+ 65335 - 65072: 0xA2E5,
+ 65336 - 65072: 0xA2E6,
+ 65337 - 65072: 0xA2E7,
+ 65338 - 65072: 0xA2E8,
+ 65339 - 65072: 0xC6E4,
+ 65340 - 65072: 0xA240,
+ 65341 - 65072: 0xC6E5,
+ 65343 - 65072: 0xA1C4,
+ 65345 - 65072: 0xA2E9,
+ 65346 - 65072: 0xA2EA,
+ 65347 - 65072: 0xA2EB,
+ 65348 - 65072: 0xA2EC,
+ 65349 - 65072: 0xA2ED,
+ 65350 - 65072: 0xA2EE,
+ 65351 - 65072: 0xA2EF,
+ 65352 - 65072: 0xA2F0,
+ 65353 - 65072: 0xA2F1,
+ 65354 - 65072: 0xA2F2,
+ 65355 - 65072: 0xA2F3,
+ 65356 - 65072: 0xA2F4,
+ 65357 - 65072: 0xA2F5,
+ 65358 - 65072: 0xA2F6,
+ 65359 - 65072: 0xA2F7,
+ 65360 - 65072: 0xA2F8,
+ 65361 - 65072: 0xA2F9,
+ 65362 - 65072: 0xA2FA,
+ 65363 - 65072: 0xA2FB,
+ 65364 - 65072: 0xA2FC,
+ 65365 - 65072: 0xA2FD,
+ 65366 - 65072: 0xA2FE,
+ 65367 - 65072: 0xA340,
+ 65368 - 65072: 0xA341,
+ 65369 - 65072: 0xA342,
+ 65370 - 65072: 0xA343,
+ 65371 - 65072: 0xA161,
+ 65372 - 65072: 0xA155,
+ 65373 - 65072: 0xA162,
+ 65374 - 65072: 0xA1E3,
+ 65504 - 65072: 0xA246,
+ 65505 - 65072: 0xA247,
+ 65506 - 65072: 0xC8CD,
+ 65507 - 65072: 0xA1C3,
+ 65508 - 65072: 0xC8CE,
+ 65509 - 65072: 0xA244,
+ 65517 - 65072: 0xF9FE,
+}
+
+const encode5Low, encode5High = 194597, 195029
+
+var encode5 = [...]uint16{
+ 194597 - 194597: 0x9874,
+ 194619 - 194597: 0x9AC8,
+ 194624 - 194597: 0xA047,
+ 194680 - 194597: 0x8BC3,
+ 194708 - 194597: 0xFC48,
+ 194726 - 194597: 0xFC77,
+ 194765 - 194597: 0x9C52,
+ 194964 - 194597: 0x8EFD,
+ 194994 - 194597: 0x8FA8,
+ 195004 - 194597: 0x957A,
+ 195028 - 194597: 0x8FF0,
+}
+
+const encode6Low, encode6High = 63751, 64014
+
+var encode6 = [...]uint16{
+ 63751 - 63751: 0x8BF8,
+ 64012 - 63751: 0xC94A,
+ 64013 - 63751: 0xDDFC,
+}
+
+const encode7Low, encode7High = 175615, 175616
+
+var encode7 = [...]uint16{
+ 175615 - 175615: 0x87DC,
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/internal/tag/tag.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/internal/tag/tag.go
new file mode 100644
index 00000000..b5d34889
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/internal/tag/tag.go
@@ -0,0 +1,100 @@
+// 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 tag contains functionality handling tags and related data.
+package tag // import "golang.org/x/text/internal/tag"
+
+import "sort"
+
+// An Index converts tags to a compact numeric value.
+//
+// All elements are of size 4. Tags may be up to 4 bytes long. Excess bytes can
+// be used to store additional information about the tag.
+type Index string
+
+// Elem returns the element data at the given index.
+func (s Index) Elem(x int) string {
+ return string(s[x*4 : x*4+4])
+}
+
+// Index reports the index of the given key or -1 if it could not be found.
+// Only the first len(key) bytes from the start of the 4-byte entries will be
+// considered for the search and the first match in Index will be returned.
+func (s Index) Index(key []byte) int {
+ n := len(key)
+ // search the index of the first entry with an equal or higher value than
+ // key in s.
+ index := sort.Search(len(s)/4, func(i int) bool {
+ return cmp(s[i*4:i*4+n], key) != -1
+ })
+ i := index * 4
+ if cmp(s[i:i+len(key)], key) != 0 {
+ return -1
+ }
+ return index
+}
+
+// Next finds the next occurrence of key after index x, which must have been
+// obtained from a call to Index using the same key. It returns x+1 or -1.
+func (s Index) Next(key []byte, x int) int {
+ if x++; x*4 < len(s) && cmp(s[x*4:x*4+len(key)], key) == 0 {
+ return x
+ }
+ return -1
+}
+
+// cmp returns an integer comparing a and b lexicographically.
+func cmp(a Index, b []byte) int {
+ n := len(a)
+ if len(b) < n {
+ n = len(b)
+ }
+ for i, c := range b[:n] {
+ switch {
+ case a[i] > c:
+ return 1
+ case a[i] < c:
+ return -1
+ }
+ }
+ switch {
+ case len(a) < len(b):
+ return -1
+ case len(a) > len(b):
+ return 1
+ }
+ return 0
+}
+
+// Compare returns an integer comparing a and b lexicographically.
+func Compare(a string, b []byte) int {
+ return cmp(Index(a), b)
+}
+
+// FixCase reformats b to the same pattern of cases as form.
+// If returns false if string b is malformed.
+func FixCase(form string, b []byte) bool {
+ if len(form) != len(b) {
+ return false
+ }
+ for i, c := range b {
+ if form[i] <= 'Z' {
+ if c >= 'a' {
+ c -= 'z' - 'Z'
+ }
+ if c < 'A' || 'Z' < c {
+ return false
+ }
+ } else {
+ if c <= 'Z' {
+ c += 'z' - 'Z'
+ }
+ if c < 'a' || 'z' < c {
+ return false
+ }
+ }
+ b[i] = c
+ }
+ return true
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/Makefile b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/Makefile
new file mode 100644
index 00000000..79f00578
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/Makefile
@@ -0,0 +1,16 @@
+# Copyright 2013 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+CLEANFILES+=maketables
+
+maketables: maketables.go
+ go build $^
+
+tables: maketables
+ ./maketables > tables.go
+ gofmt -w -s tables.go
+
+# Build (but do not run) maketables during testing,
+# just to make sure it still compiles.
+testshort: maketables
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/common.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/common.go
new file mode 100644
index 00000000..9d86e185
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/common.go
@@ -0,0 +1,16 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package language
+
+// This file contains code common to the maketables.go and the package code.
+
+// langAliasType is the type of an alias in langAliasMap.
+type langAliasType int8
+
+const (
+ langDeprecated langAliasType = iota
+ langMacro
+ langLegacy
+
+ langAliasTypeUnknown langAliasType = -1
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/coverage.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/coverage.go
new file mode 100644
index 00000000..101fd23c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/coverage.go
@@ -0,0 +1,197 @@
+// 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 language
+
+import (
+ "fmt"
+ "sort"
+)
+
+// The Coverage interface is used to define the level of coverage of an
+// internationalization service. Note that not all types are supported by all
+// services. As lists may be generated on the fly, it is recommended that users
+// of a Coverage cache the results.
+type Coverage interface {
+ // Tags returns the list of supported tags.
+ Tags() []Tag
+
+ // BaseLanguages returns the list of supported base languages.
+ BaseLanguages() []Base
+
+ // Scripts returns the list of supported scripts.
+ Scripts() []Script
+
+ // Regions returns the list of supported regions.
+ Regions() []Region
+}
+
+var (
+ // Supported defines a Coverage that lists all supported subtags. Tags
+ // always returns nil.
+ Supported Coverage = allSubtags{}
+)
+
+// TODO:
+// - Support Variants, numbering systems.
+// - CLDR coverage levels.
+// - Set of common tags defined in this package.
+
+type allSubtags struct{}
+
+// Regions returns the list of supported regions. As all regions are in a
+// consecutive range, it simply returns a slice of numbers in increasing order.
+// The "undefined" region is not returned.
+func (s allSubtags) Regions() []Region {
+ reg := make([]Region, numRegions)
+ for i := range reg {
+ reg[i] = Region{regionID(i + 1)}
+ }
+ return reg
+}
+
+// Scripts returns the list of supported scripts. As all scripts are in a
+// consecutive range, it simply returns a slice of numbers in increasing order.
+// The "undefined" script is not returned.
+func (s allSubtags) Scripts() []Script {
+ scr := make([]Script, numScripts)
+ for i := range scr {
+ scr[i] = Script{scriptID(i + 1)}
+ }
+ return scr
+}
+
+// BaseLanguages returns the list of all supported base languages. It generates
+// the list by traversing the internal structures.
+func (s allSubtags) BaseLanguages() []Base {
+ base := make([]Base, 0, numLanguages)
+ for i := 0; i < langNoIndexOffset; i++ {
+ // We included "und" already for the value 0.
+ if i != nonCanonicalUnd {
+ base = append(base, Base{langID(i)})
+ }
+ }
+ i := langNoIndexOffset
+ for _, v := range langNoIndex {
+ for k := 0; k < 8; k++ {
+ if v&1 == 1 {
+ base = append(base, Base{langID(i)})
+ }
+ v >>= 1
+ i++
+ }
+ }
+ return base
+}
+
+// Tags always returns nil.
+func (s allSubtags) Tags() []Tag {
+ return nil
+}
+
+// coverage is used used by NewCoverage which is used as a convenient way for
+// creating Coverage implementations for partially defined data. Very often a
+// package will only need to define a subset of slices. coverage provides a
+// convenient way to do this. Moreover, packages using NewCoverage, instead of
+// their own implementation, will not break if later new slice types are added.
+type coverage struct {
+ tags func() []Tag
+ bases func() []Base
+ scripts func() []Script
+ regions func() []Region
+}
+
+func (s *coverage) Tags() []Tag {
+ if s.tags == nil {
+ return nil
+ }
+ return s.tags()
+}
+
+// bases implements sort.Interface and is used to sort base languages.
+type bases []Base
+
+func (b bases) Len() int {
+ return len(b)
+}
+
+func (b bases) Swap(i, j int) {
+ b[i], b[j] = b[j], b[i]
+}
+
+func (b bases) Less(i, j int) bool {
+ return b[i].langID < b[j].langID
+}
+
+// BaseLanguages returns the result from calling s.bases if it is specified or
+// otherwise derives the set of supported base languages from tags.
+func (s *coverage) BaseLanguages() []Base {
+ if s.bases == nil {
+ tags := s.Tags()
+ if len(tags) == 0 {
+ return nil
+ }
+ a := make([]Base, len(tags))
+ for i, t := range tags {
+ a[i] = Base{langID(t.lang)}
+ }
+ sort.Sort(bases(a))
+ k := 0
+ for i := 1; i < len(a); i++ {
+ if a[k] != a[i] {
+ k++
+ a[k] = a[i]
+ }
+ }
+ return a[:k+1]
+ }
+ return s.bases()
+}
+
+func (s *coverage) Scripts() []Script {
+ if s.scripts == nil {
+ return nil
+ }
+ return s.scripts()
+}
+
+func (s *coverage) Regions() []Region {
+ if s.regions == nil {
+ return nil
+ }
+ return s.regions()
+}
+
+// NewCoverage returns a Coverage for the given lists. It is typically used by
+// packages providing internationalization services to define their level of
+// coverage. A list may be of type []T or func() []T, where T is either Tag,
+// Base, Script or Region. The returned Coverage derives the value for Bases
+// from Tags if no func or slice for []Base is specified. For other unspecified
+// types the returned Coverage will return nil for the respective methods.
+func NewCoverage(list ...interface{}) Coverage {
+ s := &coverage{}
+ for _, x := range list {
+ switch v := x.(type) {
+ case func() []Base:
+ s.bases = v
+ case func() []Script:
+ s.scripts = v
+ case func() []Region:
+ s.regions = v
+ case func() []Tag:
+ s.tags = v
+ case []Base:
+ s.bases = func() []Base { return v }
+ case []Script:
+ s.scripts = func() []Script { return v }
+ case []Region:
+ s.regions = func() []Region { return v }
+ case []Tag:
+ s.tags = func() []Tag { return v }
+ default:
+ panic(fmt.Sprintf("language: unsupported set type %T", v))
+ }
+ }
+ return s
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_1.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_1.go
new file mode 100644
index 00000000..380f4c09
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_1.go
@@ -0,0 +1,38 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build !go1.2
+
+package language
+
+import "sort"
+
+func sortStable(s sort.Interface) {
+ ss := stableSort{
+ s: s,
+ pos: make([]int, s.Len()),
+ }
+ for i := range ss.pos {
+ ss.pos[i] = i
+ }
+ sort.Sort(&ss)
+}
+
+type stableSort struct {
+ s sort.Interface
+ pos []int
+}
+
+func (s *stableSort) Len() int {
+ return len(s.pos)
+}
+
+func (s *stableSort) Less(i, j int) bool {
+ return s.s.Less(i, j) || !s.s.Less(j, i) && s.pos[i] < s.pos[j]
+}
+
+func (s *stableSort) Swap(i, j int) {
+ s.s.Swap(i, j)
+ s.pos[i], s.pos[j] = s.pos[j], s.pos[i]
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_2.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_2.go
new file mode 100644
index 00000000..38268c57
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/go1_2.go
@@ -0,0 +1,11 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build go1.2
+
+package language
+
+import "sort"
+
+var sortStable = sort.Stable
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/index.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/index.go
new file mode 100644
index 00000000..973db9fd
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/index.go
@@ -0,0 +1,769 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package language
+
+// NumCompactTags is the number of common tags. The maximum tag is
+// NumCompactTags-1.
+const NumCompactTags = 754
+
+var specialTags = []Tag{ // 2 elements
+ 0: {lang: 0xd7, region: 0x6d, script: 0x0, pVariant: 0x5, pExt: 0xe, str: "ca-ES-valencia"},
+ 1: {lang: 0x138, region: 0x134, script: 0x0, pVariant: 0x5, pExt: 0x5, str: "en-US-u-va-posix"},
+} // Size: 72 bytes
+
+var coreTags = map[uint32]uint16{
+ 0x0: 0, // und
+ 0x01600000: 3, // af
+ 0x016000d1: 4, // af-NA
+ 0x01600160: 5, // af-ZA
+ 0x01c00000: 6, // agq
+ 0x01c00051: 7, // agq-CM
+ 0x02100000: 8, // ak
+ 0x0210007f: 9, // ak-GH
+ 0x02700000: 10, // am
+ 0x0270006e: 11, // am-ET
+ 0x03a00000: 12, // ar
+ 0x03a00001: 13, // ar-001
+ 0x03a00022: 14, // ar-AE
+ 0x03a00038: 15, // ar-BH
+ 0x03a00061: 16, // ar-DJ
+ 0x03a00066: 17, // ar-DZ
+ 0x03a0006a: 18, // ar-EG
+ 0x03a0006b: 19, // ar-EH
+ 0x03a0006c: 20, // ar-ER
+ 0x03a00096: 21, // ar-IL
+ 0x03a0009a: 22, // ar-IQ
+ 0x03a000a0: 23, // ar-JO
+ 0x03a000a7: 24, // ar-KM
+ 0x03a000ab: 25, // ar-KW
+ 0x03a000af: 26, // ar-LB
+ 0x03a000b8: 27, // ar-LY
+ 0x03a000b9: 28, // ar-MA
+ 0x03a000c8: 29, // ar-MR
+ 0x03a000e0: 30, // ar-OM
+ 0x03a000ec: 31, // ar-PS
+ 0x03a000f2: 32, // ar-QA
+ 0x03a00107: 33, // ar-SA
+ 0x03a0010a: 34, // ar-SD
+ 0x03a00114: 35, // ar-SO
+ 0x03a00116: 36, // ar-SS
+ 0x03a0011b: 37, // ar-SY
+ 0x03a0011f: 38, // ar-TD
+ 0x03a00127: 39, // ar-TN
+ 0x03a0015d: 40, // ar-YE
+ 0x04000000: 41, // ars
+ 0x04300000: 42, // as
+ 0x04300098: 43, // as-IN
+ 0x04400000: 44, // asa
+ 0x0440012e: 45, // asa-TZ
+ 0x04800000: 46, // ast
+ 0x0480006d: 47, // ast-ES
+ 0x05800000: 48, // az
+ 0x0581e000: 49, // az-Cyrl
+ 0x0581e031: 50, // az-Cyrl-AZ
+ 0x05852000: 51, // az-Latn
+ 0x05852031: 52, // az-Latn-AZ
+ 0x05e00000: 53, // bas
+ 0x05e00051: 54, // bas-CM
+ 0x07100000: 55, // be
+ 0x07100046: 56, // be-BY
+ 0x07500000: 57, // bem
+ 0x07500161: 58, // bem-ZM
+ 0x07900000: 59, // bez
+ 0x0790012e: 60, // bez-TZ
+ 0x07e00000: 61, // bg
+ 0x07e00037: 62, // bg-BG
+ 0x08200000: 63, // bh
+ 0x0a000000: 64, // bm
+ 0x0a0000c2: 65, // bm-ML
+ 0x0a500000: 66, // bn
+ 0x0a500034: 67, // bn-BD
+ 0x0a500098: 68, // bn-IN
+ 0x0a900000: 69, // bo
+ 0x0a900052: 70, // bo-CN
+ 0x0a900098: 71, // bo-IN
+ 0x0b200000: 72, // br
+ 0x0b200077: 73, // br-FR
+ 0x0b500000: 74, // brx
+ 0x0b500098: 75, // brx-IN
+ 0x0b700000: 76, // bs
+ 0x0b71e000: 77, // bs-Cyrl
+ 0x0b71e032: 78, // bs-Cyrl-BA
+ 0x0b752000: 79, // bs-Latn
+ 0x0b752032: 80, // bs-Latn-BA
+ 0x0d700000: 81, // ca
+ 0x0d700021: 82, // ca-AD
+ 0x0d70006d: 83, // ca-ES
+ 0x0d700077: 84, // ca-FR
+ 0x0d70009d: 85, // ca-IT
+ 0x0dc00000: 86, // ce
+ 0x0dc00105: 87, // ce-RU
+ 0x0df00000: 88, // cgg
+ 0x0df00130: 89, // cgg-UG
+ 0x0e500000: 90, // chr
+ 0x0e500134: 91, // chr-US
+ 0x0e900000: 92, // ckb
+ 0x0e90009a: 93, // ckb-IQ
+ 0x0e90009b: 94, // ckb-IR
+ 0x0f900000: 95, // cs
+ 0x0f90005d: 96, // cs-CZ
+ 0x0fd00000: 97, // cu
+ 0x0fd00105: 98, // cu-RU
+ 0x0ff00000: 99, // cy
+ 0x0ff0007a: 100, // cy-GB
+ 0x10000000: 101, // da
+ 0x10000062: 102, // da-DK
+ 0x10000081: 103, // da-GL
+ 0x10700000: 104, // dav
+ 0x107000a3: 105, // dav-KE
+ 0x10c00000: 106, // de
+ 0x10c0002d: 107, // de-AT
+ 0x10c00035: 108, // de-BE
+ 0x10c0004d: 109, // de-CH
+ 0x10c0005f: 110, // de-DE
+ 0x10c0009d: 111, // de-IT
+ 0x10c000b1: 112, // de-LI
+ 0x10c000b6: 113, // de-LU
+ 0x11600000: 114, // dje
+ 0x116000d3: 115, // dje-NE
+ 0x11e00000: 116, // dsb
+ 0x11e0005f: 117, // dsb-DE
+ 0x12300000: 118, // dua
+ 0x12300051: 119, // dua-CM
+ 0x12700000: 120, // dv
+ 0x12a00000: 121, // dyo
+ 0x12a00113: 122, // dyo-SN
+ 0x12c00000: 123, // dz
+ 0x12c00042: 124, // dz-BT
+ 0x12e00000: 125, // ebu
+ 0x12e000a3: 126, // ebu-KE
+ 0x12f00000: 127, // ee
+ 0x12f0007f: 128, // ee-GH
+ 0x12f00121: 129, // ee-TG
+ 0x13500000: 130, // el
+ 0x1350005c: 131, // el-CY
+ 0x13500086: 132, // el-GR
+ 0x13800000: 133, // en
+ 0x13800001: 134, // en-001
+ 0x1380001a: 135, // en-150
+ 0x13800024: 136, // en-AG
+ 0x13800025: 137, // en-AI
+ 0x1380002c: 138, // en-AS
+ 0x1380002d: 139, // en-AT
+ 0x1380002e: 140, // en-AU
+ 0x13800033: 141, // en-BB
+ 0x13800035: 142, // en-BE
+ 0x13800039: 143, // en-BI
+ 0x1380003c: 144, // en-BM
+ 0x13800041: 145, // en-BS
+ 0x13800045: 146, // en-BW
+ 0x13800047: 147, // en-BZ
+ 0x13800048: 148, // en-CA
+ 0x13800049: 149, // en-CC
+ 0x1380004d: 150, // en-CH
+ 0x1380004f: 151, // en-CK
+ 0x13800051: 152, // en-CM
+ 0x1380005b: 153, // en-CX
+ 0x1380005c: 154, // en-CY
+ 0x1380005f: 155, // en-DE
+ 0x13800060: 156, // en-DG
+ 0x13800062: 157, // en-DK
+ 0x13800063: 158, // en-DM
+ 0x1380006c: 159, // en-ER
+ 0x13800071: 160, // en-FI
+ 0x13800072: 161, // en-FJ
+ 0x13800073: 162, // en-FK
+ 0x13800074: 163, // en-FM
+ 0x1380007a: 164, // en-GB
+ 0x1380007b: 165, // en-GD
+ 0x1380007e: 166, // en-GG
+ 0x1380007f: 167, // en-GH
+ 0x13800080: 168, // en-GI
+ 0x13800082: 169, // en-GM
+ 0x13800089: 170, // en-GU
+ 0x1380008b: 171, // en-GY
+ 0x1380008c: 172, // en-HK
+ 0x13800095: 173, // en-IE
+ 0x13800096: 174, // en-IL
+ 0x13800097: 175, // en-IM
+ 0x13800098: 176, // en-IN
+ 0x13800099: 177, // en-IO
+ 0x1380009e: 178, // en-JE
+ 0x1380009f: 179, // en-JM
+ 0x138000a3: 180, // en-KE
+ 0x138000a6: 181, // en-KI
+ 0x138000a8: 182, // en-KN
+ 0x138000ac: 183, // en-KY
+ 0x138000b0: 184, // en-LC
+ 0x138000b3: 185, // en-LR
+ 0x138000b4: 186, // en-LS
+ 0x138000be: 187, // en-MG
+ 0x138000bf: 188, // en-MH
+ 0x138000c5: 189, // en-MO
+ 0x138000c6: 190, // en-MP
+ 0x138000c9: 191, // en-MS
+ 0x138000ca: 192, // en-MT
+ 0x138000cb: 193, // en-MU
+ 0x138000cd: 194, // en-MW
+ 0x138000cf: 195, // en-MY
+ 0x138000d1: 196, // en-NA
+ 0x138000d4: 197, // en-NF
+ 0x138000d5: 198, // en-NG
+ 0x138000d8: 199, // en-NL
+ 0x138000dc: 200, // en-NR
+ 0x138000de: 201, // en-NU
+ 0x138000df: 202, // en-NZ
+ 0x138000e5: 203, // en-PG
+ 0x138000e6: 204, // en-PH
+ 0x138000e7: 205, // en-PK
+ 0x138000ea: 206, // en-PN
+ 0x138000eb: 207, // en-PR
+ 0x138000ef: 208, // en-PW
+ 0x13800106: 209, // en-RW
+ 0x13800108: 210, // en-SB
+ 0x13800109: 211, // en-SC
+ 0x1380010a: 212, // en-SD
+ 0x1380010b: 213, // en-SE
+ 0x1380010c: 214, // en-SG
+ 0x1380010d: 215, // en-SH
+ 0x1380010e: 216, // en-SI
+ 0x13800111: 217, // en-SL
+ 0x13800116: 218, // en-SS
+ 0x1380011a: 219, // en-SX
+ 0x1380011c: 220, // en-SZ
+ 0x1380011e: 221, // en-TC
+ 0x13800124: 222, // en-TK
+ 0x13800128: 223, // en-TO
+ 0x1380012b: 224, // en-TT
+ 0x1380012c: 225, // en-TV
+ 0x1380012e: 226, // en-TZ
+ 0x13800130: 227, // en-UG
+ 0x13800132: 228, // en-UM
+ 0x13800134: 229, // en-US
+ 0x13800138: 230, // en-VC
+ 0x1380013b: 231, // en-VG
+ 0x1380013c: 232, // en-VI
+ 0x1380013e: 233, // en-VU
+ 0x13800141: 234, // en-WS
+ 0x13800160: 235, // en-ZA
+ 0x13800161: 236, // en-ZM
+ 0x13800163: 237, // en-ZW
+ 0x13b00000: 238, // eo
+ 0x13b00001: 239, // eo-001
+ 0x13d00000: 240, // es
+ 0x13d0001e: 241, // es-419
+ 0x13d0002b: 242, // es-AR
+ 0x13d0003e: 243, // es-BO
+ 0x13d00040: 244, // es-BR
+ 0x13d00047: 245, // es-BZ
+ 0x13d00050: 246, // es-CL
+ 0x13d00053: 247, // es-CO
+ 0x13d00055: 248, // es-CR
+ 0x13d00058: 249, // es-CU
+ 0x13d00064: 250, // es-DO
+ 0x13d00067: 251, // es-EA
+ 0x13d00068: 252, // es-EC
+ 0x13d0006d: 253, // es-ES
+ 0x13d00085: 254, // es-GQ
+ 0x13d00088: 255, // es-GT
+ 0x13d0008e: 256, // es-HN
+ 0x13d00093: 257, // es-IC
+ 0x13d000ce: 258, // es-MX
+ 0x13d000d7: 259, // es-NI
+ 0x13d000e1: 260, // es-PA
+ 0x13d000e3: 261, // es-PE
+ 0x13d000e6: 262, // es-PH
+ 0x13d000eb: 263, // es-PR
+ 0x13d000f0: 264, // es-PY
+ 0x13d00119: 265, // es-SV
+ 0x13d00134: 266, // es-US
+ 0x13d00135: 267, // es-UY
+ 0x13d0013a: 268, // es-VE
+ 0x13f00000: 269, // et
+ 0x13f00069: 270, // et-EE
+ 0x14400000: 271, // eu
+ 0x1440006d: 272, // eu-ES
+ 0x14500000: 273, // ewo
+ 0x14500051: 274, // ewo-CM
+ 0x14700000: 275, // fa
+ 0x14700023: 276, // fa-AF
+ 0x1470009b: 277, // fa-IR
+ 0x14d00000: 278, // ff
+ 0x14d00051: 279, // ff-CM
+ 0x14d00083: 280, // ff-GN
+ 0x14d000c8: 281, // ff-MR
+ 0x14d00113: 282, // ff-SN
+ 0x15000000: 283, // fi
+ 0x15000071: 284, // fi-FI
+ 0x15200000: 285, // fil
+ 0x152000e6: 286, // fil-PH
+ 0x15700000: 287, // fo
+ 0x15700062: 288, // fo-DK
+ 0x15700075: 289, // fo-FO
+ 0x15d00000: 290, // fr
+ 0x15d00035: 291, // fr-BE
+ 0x15d00036: 292, // fr-BF
+ 0x15d00039: 293, // fr-BI
+ 0x15d0003a: 294, // fr-BJ
+ 0x15d0003b: 295, // fr-BL
+ 0x15d00048: 296, // fr-CA
+ 0x15d0004a: 297, // fr-CD
+ 0x15d0004b: 298, // fr-CF
+ 0x15d0004c: 299, // fr-CG
+ 0x15d0004d: 300, // fr-CH
+ 0x15d0004e: 301, // fr-CI
+ 0x15d00051: 302, // fr-CM
+ 0x15d00061: 303, // fr-DJ
+ 0x15d00066: 304, // fr-DZ
+ 0x15d00077: 305, // fr-FR
+ 0x15d00079: 306, // fr-GA
+ 0x15d0007d: 307, // fr-GF
+ 0x15d00083: 308, // fr-GN
+ 0x15d00084: 309, // fr-GP
+ 0x15d00085: 310, // fr-GQ
+ 0x15d00090: 311, // fr-HT
+ 0x15d000a7: 312, // fr-KM
+ 0x15d000b6: 313, // fr-LU
+ 0x15d000b9: 314, // fr-MA
+ 0x15d000ba: 315, // fr-MC
+ 0x15d000bd: 316, // fr-MF
+ 0x15d000be: 317, // fr-MG
+ 0x15d000c2: 318, // fr-ML
+ 0x15d000c7: 319, // fr-MQ
+ 0x15d000c8: 320, // fr-MR
+ 0x15d000cb: 321, // fr-MU
+ 0x15d000d2: 322, // fr-NC
+ 0x15d000d3: 323, // fr-NE
+ 0x15d000e4: 324, // fr-PF
+ 0x15d000e9: 325, // fr-PM
+ 0x15d00101: 326, // fr-RE
+ 0x15d00106: 327, // fr-RW
+ 0x15d00109: 328, // fr-SC
+ 0x15d00113: 329, // fr-SN
+ 0x15d0011b: 330, // fr-SY
+ 0x15d0011f: 331, // fr-TD
+ 0x15d00121: 332, // fr-TG
+ 0x15d00127: 333, // fr-TN
+ 0x15d0013e: 334, // fr-VU
+ 0x15d0013f: 335, // fr-WF
+ 0x15d0015e: 336, // fr-YT
+ 0x16800000: 337, // fur
+ 0x1680009d: 338, // fur-IT
+ 0x16c00000: 339, // fy
+ 0x16c000d8: 340, // fy-NL
+ 0x16d00000: 341, // ga
+ 0x16d00095: 342, // ga-IE
+ 0x17c00000: 343, // gd
+ 0x17c0007a: 344, // gd-GB
+ 0x18e00000: 345, // gl
+ 0x18e0006d: 346, // gl-ES
+ 0x1a100000: 347, // gsw
+ 0x1a10004d: 348, // gsw-CH
+ 0x1a100077: 349, // gsw-FR
+ 0x1a1000b1: 350, // gsw-LI
+ 0x1a200000: 351, // gu
+ 0x1a200098: 352, // gu-IN
+ 0x1a700000: 353, // guw
+ 0x1a900000: 354, // guz
+ 0x1a9000a3: 355, // guz-KE
+ 0x1aa00000: 356, // gv
+ 0x1aa00097: 357, // gv-IM
+ 0x1b200000: 358, // ha
+ 0x1b20007f: 359, // ha-GH
+ 0x1b2000d3: 360, // ha-NE
+ 0x1b2000d5: 361, // ha-NG
+ 0x1b600000: 362, // haw
+ 0x1b600134: 363, // haw-US
+ 0x1ba00000: 364, // he
+ 0x1ba00096: 365, // he-IL
+ 0x1bc00000: 366, // hi
+ 0x1bc00098: 367, // hi-IN
+ 0x1cf00000: 368, // hr
+ 0x1cf00032: 369, // hr-BA
+ 0x1cf0008f: 370, // hr-HR
+ 0x1d000000: 371, // hsb
+ 0x1d00005f: 372, // hsb-DE
+ 0x1d300000: 373, // hu
+ 0x1d300091: 374, // hu-HU
+ 0x1d500000: 375, // hy
+ 0x1d500027: 376, // hy-AM
+ 0x1df00000: 377, // id
+ 0x1df00094: 378, // id-ID
+ 0x1e500000: 379, // ig
+ 0x1e5000d5: 380, // ig-NG
+ 0x1e800000: 381, // ii
+ 0x1e800052: 382, // ii-CN
+ 0x1f600000: 383, // is
+ 0x1f60009c: 384, // is-IS
+ 0x1f700000: 385, // it
+ 0x1f70004d: 386, // it-CH
+ 0x1f70009d: 387, // it-IT
+ 0x1f700112: 388, // it-SM
+ 0x1f700137: 389, // it-VA
+ 0x1f800000: 390, // iu
+ 0x1fe00000: 391, // ja
+ 0x1fe000a1: 392, // ja-JP
+ 0x20100000: 393, // jbo
+ 0x20500000: 394, // jgo
+ 0x20500051: 395, // jgo-CM
+ 0x20800000: 396, // jmc
+ 0x2080012e: 397, // jmc-TZ
+ 0x20c00000: 398, // jv
+ 0x20e00000: 399, // ka
+ 0x20e0007c: 400, // ka-GE
+ 0x21000000: 401, // kab
+ 0x21000066: 402, // kab-DZ
+ 0x21400000: 403, // kaj
+ 0x21500000: 404, // kam
+ 0x215000a3: 405, // kam-KE
+ 0x21d00000: 406, // kcg
+ 0x22100000: 407, // kde
+ 0x2210012e: 408, // kde-TZ
+ 0x22500000: 409, // kea
+ 0x22500059: 410, // kea-CV
+ 0x23200000: 411, // khq
+ 0x232000c2: 412, // khq-ML
+ 0x23700000: 413, // ki
+ 0x237000a3: 414, // ki-KE
+ 0x24000000: 415, // kk
+ 0x240000ad: 416, // kk-KZ
+ 0x24200000: 417, // kkj
+ 0x24200051: 418, // kkj-CM
+ 0x24300000: 419, // kl
+ 0x24300081: 420, // kl-GL
+ 0x24400000: 421, // kln
+ 0x244000a3: 422, // kln-KE
+ 0x24800000: 423, // km
+ 0x248000a5: 424, // km-KH
+ 0x24f00000: 425, // kn
+ 0x24f00098: 426, // kn-IN
+ 0x25200000: 427, // ko
+ 0x252000a9: 428, // ko-KP
+ 0x252000aa: 429, // ko-KR
+ 0x25400000: 430, // kok
+ 0x25400098: 431, // kok-IN
+ 0x26800000: 432, // ks
+ 0x26800098: 433, // ks-IN
+ 0x26900000: 434, // ksb
+ 0x2690012e: 435, // ksb-TZ
+ 0x26b00000: 436, // ksf
+ 0x26b00051: 437, // ksf-CM
+ 0x26c00000: 438, // ksh
+ 0x26c0005f: 439, // ksh-DE
+ 0x27200000: 440, // ku
+ 0x27f00000: 441, // kw
+ 0x27f0007a: 442, // kw-GB
+ 0x28800000: 443, // ky
+ 0x288000a4: 444, // ky-KG
+ 0x28f00000: 445, // lag
+ 0x28f0012e: 446, // lag-TZ
+ 0x29300000: 447, // lb
+ 0x293000b6: 448, // lb-LU
+ 0x2a100000: 449, // lg
+ 0x2a100130: 450, // lg-UG
+ 0x2ad00000: 451, // lkt
+ 0x2ad00134: 452, // lkt-US
+ 0x2b300000: 453, // ln
+ 0x2b300029: 454, // ln-AO
+ 0x2b30004a: 455, // ln-CD
+ 0x2b30004b: 456, // ln-CF
+ 0x2b30004c: 457, // ln-CG
+ 0x2b600000: 458, // lo
+ 0x2b6000ae: 459, // lo-LA
+ 0x2bd00000: 460, // lrc
+ 0x2bd0009a: 461, // lrc-IQ
+ 0x2bd0009b: 462, // lrc-IR
+ 0x2be00000: 463, // lt
+ 0x2be000b5: 464, // lt-LT
+ 0x2c000000: 465, // lu
+ 0x2c00004a: 466, // lu-CD
+ 0x2c200000: 467, // luo
+ 0x2c2000a3: 468, // luo-KE
+ 0x2c300000: 469, // luy
+ 0x2c3000a3: 470, // luy-KE
+ 0x2c500000: 471, // lv
+ 0x2c5000b7: 472, // lv-LV
+ 0x2cf00000: 473, // mas
+ 0x2cf000a3: 474, // mas-KE
+ 0x2cf0012e: 475, // mas-TZ
+ 0x2e700000: 476, // mer
+ 0x2e7000a3: 477, // mer-KE
+ 0x2eb00000: 478, // mfe
+ 0x2eb000cb: 479, // mfe-MU
+ 0x2ef00000: 480, // mg
+ 0x2ef000be: 481, // mg-MG
+ 0x2f000000: 482, // mgh
+ 0x2f0000d0: 483, // mgh-MZ
+ 0x2f200000: 484, // mgo
+ 0x2f200051: 485, // mgo-CM
+ 0x2fd00000: 486, // mk
+ 0x2fd000c1: 487, // mk-MK
+ 0x30200000: 488, // ml
+ 0x30200098: 489, // ml-IN
+ 0x30900000: 490, // mn
+ 0x309000c4: 491, // mn-MN
+ 0x31900000: 492, // mr
+ 0x31900098: 493, // mr-IN
+ 0x31d00000: 494, // ms
+ 0x31d0003d: 495, // ms-BN
+ 0x31d000cf: 496, // ms-MY
+ 0x31d0010c: 497, // ms-SG
+ 0x31e00000: 498, // mt
+ 0x31e000ca: 499, // mt-MT
+ 0x32300000: 500, // mua
+ 0x32300051: 501, // mua-CM
+ 0x32f00000: 502, // my
+ 0x32f000c3: 503, // my-MM
+ 0x33800000: 504, // mzn
+ 0x3380009b: 505, // mzn-IR
+ 0x33f00000: 506, // nah
+ 0x34300000: 507, // naq
+ 0x343000d1: 508, // naq-NA
+ 0x34500000: 509, // nb
+ 0x345000d9: 510, // nb-NO
+ 0x3450010f: 511, // nb-SJ
+ 0x34c00000: 512, // nd
+ 0x34c00163: 513, // nd-ZW
+ 0x34e00000: 514, // nds
+ 0x34e0005f: 515, // nds-DE
+ 0x34e000d8: 516, // nds-NL
+ 0x34f00000: 517, // ne
+ 0x34f00098: 518, // ne-IN
+ 0x34f000da: 519, // ne-NP
+ 0x36500000: 520, // nl
+ 0x3650002f: 521, // nl-AW
+ 0x36500035: 522, // nl-BE
+ 0x3650003f: 523, // nl-BQ
+ 0x3650005a: 524, // nl-CW
+ 0x365000d8: 525, // nl-NL
+ 0x36500115: 526, // nl-SR
+ 0x3650011a: 527, // nl-SX
+ 0x36600000: 528, // nmg
+ 0x36600051: 529, // nmg-CM
+ 0x36800000: 530, // nn
+ 0x368000d9: 531, // nn-NO
+ 0x36a00000: 532, // nnh
+ 0x36a00051: 533, // nnh-CM
+ 0x36d00000: 534, // no
+ 0x37300000: 535, // nqo
+ 0x37400000: 536, // nr
+ 0x37800000: 537, // nso
+ 0x37e00000: 538, // nus
+ 0x37e00116: 539, // nus-SS
+ 0x38500000: 540, // ny
+ 0x38700000: 541, // nyn
+ 0x38700130: 542, // nyn-UG
+ 0x38e00000: 543, // om
+ 0x38e0006e: 544, // om-ET
+ 0x38e000a3: 545, // om-KE
+ 0x39300000: 546, // or
+ 0x39300098: 547, // or-IN
+ 0x39600000: 548, // os
+ 0x3960007c: 549, // os-GE
+ 0x39600105: 550, // os-RU
+ 0x39b00000: 551, // pa
+ 0x39b05000: 552, // pa-Arab
+ 0x39b050e7: 553, // pa-Arab-PK
+ 0x39b2f000: 554, // pa-Guru
+ 0x39b2f098: 555, // pa-Guru-IN
+ 0x39f00000: 556, // pap
+ 0x3b100000: 557, // pl
+ 0x3b1000e8: 558, // pl-PL
+ 0x3bb00000: 559, // prg
+ 0x3bb00001: 560, // prg-001
+ 0x3bc00000: 561, // ps
+ 0x3bc00023: 562, // ps-AF
+ 0x3be00000: 563, // pt
+ 0x3be00029: 564, // pt-AO
+ 0x3be00040: 565, // pt-BR
+ 0x3be0004d: 566, // pt-CH
+ 0x3be00059: 567, // pt-CV
+ 0x3be00085: 568, // pt-GQ
+ 0x3be0008a: 569, // pt-GW
+ 0x3be000b6: 570, // pt-LU
+ 0x3be000c5: 571, // pt-MO
+ 0x3be000d0: 572, // pt-MZ
+ 0x3be000ed: 573, // pt-PT
+ 0x3be00117: 574, // pt-ST
+ 0x3be00125: 575, // pt-TL
+ 0x3c200000: 576, // qu
+ 0x3c20003e: 577, // qu-BO
+ 0x3c200068: 578, // qu-EC
+ 0x3c2000e3: 579, // qu-PE
+ 0x3d200000: 580, // rm
+ 0x3d20004d: 581, // rm-CH
+ 0x3d700000: 582, // rn
+ 0x3d700039: 583, // rn-BI
+ 0x3da00000: 584, // ro
+ 0x3da000bb: 585, // ro-MD
+ 0x3da00103: 586, // ro-RO
+ 0x3dc00000: 587, // rof
+ 0x3dc0012e: 588, // rof-TZ
+ 0x3e000000: 589, // ru
+ 0x3e000046: 590, // ru-BY
+ 0x3e0000a4: 591, // ru-KG
+ 0x3e0000ad: 592, // ru-KZ
+ 0x3e0000bb: 593, // ru-MD
+ 0x3e000105: 594, // ru-RU
+ 0x3e00012f: 595, // ru-UA
+ 0x3e300000: 596, // rw
+ 0x3e300106: 597, // rw-RW
+ 0x3e400000: 598, // rwk
+ 0x3e40012e: 599, // rwk-TZ
+ 0x3e900000: 600, // sah
+ 0x3e900105: 601, // sah-RU
+ 0x3ea00000: 602, // saq
+ 0x3ea000a3: 603, // saq-KE
+ 0x3f100000: 604, // sbp
+ 0x3f10012e: 605, // sbp-TZ
+ 0x3fa00000: 606, // sdh
+ 0x3fb00000: 607, // se
+ 0x3fb00071: 608, // se-FI
+ 0x3fb000d9: 609, // se-NO
+ 0x3fb0010b: 610, // se-SE
+ 0x3fd00000: 611, // seh
+ 0x3fd000d0: 612, // seh-MZ
+ 0x3ff00000: 613, // ses
+ 0x3ff000c2: 614, // ses-ML
+ 0x40000000: 615, // sg
+ 0x4000004b: 616, // sg-CF
+ 0x40600000: 617, // shi
+ 0x40652000: 618, // shi-Latn
+ 0x406520b9: 619, // shi-Latn-MA
+ 0x406d2000: 620, // shi-Tfng
+ 0x406d20b9: 621, // shi-Tfng-MA
+ 0x40a00000: 622, // si
+ 0x40a000b2: 623, // si-LK
+ 0x41000000: 624, // sk
+ 0x41000110: 625, // sk-SK
+ 0x41400000: 626, // sl
+ 0x4140010e: 627, // sl-SI
+ 0x41a00000: 628, // sma
+ 0x41b00000: 629, // smi
+ 0x41c00000: 630, // smj
+ 0x41d00000: 631, // smn
+ 0x41d00071: 632, // smn-FI
+ 0x42000000: 633, // sms
+ 0x42100000: 634, // sn
+ 0x42100163: 635, // sn-ZW
+ 0x42700000: 636, // so
+ 0x42700061: 637, // so-DJ
+ 0x4270006e: 638, // so-ET
+ 0x427000a3: 639, // so-KE
+ 0x42700114: 640, // so-SO
+ 0x42f00000: 641, // sq
+ 0x42f00026: 642, // sq-AL
+ 0x42f000c1: 643, // sq-MK
+ 0x42f0014c: 644, // sq-XK
+ 0x43000000: 645, // sr
+ 0x4301e000: 646, // sr-Cyrl
+ 0x4301e032: 647, // sr-Cyrl-BA
+ 0x4301e0bc: 648, // sr-Cyrl-ME
+ 0x4301e104: 649, // sr-Cyrl-RS
+ 0x4301e14c: 650, // sr-Cyrl-XK
+ 0x43052000: 651, // sr-Latn
+ 0x43052032: 652, // sr-Latn-BA
+ 0x430520bc: 653, // sr-Latn-ME
+ 0x43052104: 654, // sr-Latn-RS
+ 0x4305214c: 655, // sr-Latn-XK
+ 0x43500000: 656, // ss
+ 0x43800000: 657, // ssy
+ 0x43900000: 658, // st
+ 0x44200000: 659, // sv
+ 0x44200030: 660, // sv-AX
+ 0x44200071: 661, // sv-FI
+ 0x4420010b: 662, // sv-SE
+ 0x44300000: 663, // sw
+ 0x4430004a: 664, // sw-CD
+ 0x443000a3: 665, // sw-KE
+ 0x4430012e: 666, // sw-TZ
+ 0x44300130: 667, // sw-UG
+ 0x44c00000: 668, // syr
+ 0x44e00000: 669, // ta
+ 0x44e00098: 670, // ta-IN
+ 0x44e000b2: 671, // ta-LK
+ 0x44e000cf: 672, // ta-MY
+ 0x44e0010c: 673, // ta-SG
+ 0x45f00000: 674, // te
+ 0x45f00098: 675, // te-IN
+ 0x46200000: 676, // teo
+ 0x462000a3: 677, // teo-KE
+ 0x46200130: 678, // teo-UG
+ 0x46900000: 679, // th
+ 0x46900122: 680, // th-TH
+ 0x46d00000: 681, // ti
+ 0x46d0006c: 682, // ti-ER
+ 0x46d0006e: 683, // ti-ET
+ 0x46f00000: 684, // tig
+ 0x47400000: 685, // tk
+ 0x47400126: 686, // tk-TM
+ 0x47e00000: 687, // tn
+ 0x48000000: 688, // to
+ 0x48000128: 689, // to-TO
+ 0x48800000: 690, // tr
+ 0x4880005c: 691, // tr-CY
+ 0x4880012a: 692, // tr-TR
+ 0x48c00000: 693, // ts
+ 0x4a200000: 694, // twq
+ 0x4a2000d3: 695, // twq-NE
+ 0x4a700000: 696, // tzm
+ 0x4a7000b9: 697, // tzm-MA
+ 0x4aa00000: 698, // ug
+ 0x4aa00052: 699, // ug-CN
+ 0x4ac00000: 700, // uk
+ 0x4ac0012f: 701, // uk-UA
+ 0x4b200000: 702, // ur
+ 0x4b200098: 703, // ur-IN
+ 0x4b2000e7: 704, // ur-PK
+ 0x4ba00000: 705, // uz
+ 0x4ba05000: 706, // uz-Arab
+ 0x4ba05023: 707, // uz-Arab-AF
+ 0x4ba1e000: 708, // uz-Cyrl
+ 0x4ba1e136: 709, // uz-Cyrl-UZ
+ 0x4ba52000: 710, // uz-Latn
+ 0x4ba52136: 711, // uz-Latn-UZ
+ 0x4bc00000: 712, // vai
+ 0x4bc52000: 713, // vai-Latn
+ 0x4bc520b3: 714, // vai-Latn-LR
+ 0x4bcd9000: 715, // vai-Vaii
+ 0x4bcd90b3: 716, // vai-Vaii-LR
+ 0x4be00000: 717, // ve
+ 0x4c100000: 718, // vi
+ 0x4c10013d: 719, // vi-VN
+ 0x4c700000: 720, // vo
+ 0x4c700001: 721, // vo-001
+ 0x4ca00000: 722, // vun
+ 0x4ca0012e: 723, // vun-TZ
+ 0x4cc00000: 724, // wa
+ 0x4cd00000: 725, // wae
+ 0x4cd0004d: 726, // wae-CH
+ 0x4e300000: 727, // wo
+ 0x4f000000: 728, // xh
+ 0x4f900000: 729, // xog
+ 0x4f900130: 730, // xog-UG
+ 0x50700000: 731, // yav
+ 0x50700051: 732, // yav-CM
+ 0x51000000: 733, // yi
+ 0x51000001: 734, // yi-001
+ 0x51600000: 735, // yo
+ 0x5160003a: 736, // yo-BJ
+ 0x516000d5: 737, // yo-NG
+ 0x51d00000: 738, // yue
+ 0x51d0008c: 739, // yue-HK
+ 0x52600000: 740, // zgh
+ 0x526000b9: 741, // zgh-MA
+ 0x52700000: 742, // zh
+ 0x52734000: 743, // zh-Hans
+ 0x52734052: 744, // zh-Hans-CN
+ 0x5273408c: 745, // zh-Hans-HK
+ 0x527340c5: 746, // zh-Hans-MO
+ 0x5273410c: 747, // zh-Hans-SG
+ 0x52735000: 748, // zh-Hant
+ 0x5273508c: 749, // zh-Hant-HK
+ 0x527350c5: 750, // zh-Hant-MO
+ 0x5273512d: 751, // zh-Hant-TW
+ 0x52c00000: 752, // zu
+ 0x52c00160: 753, // zu-ZA
+}
+
+// Total table size 4592 bytes (4KiB); checksum: C25F8AFF
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/language.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/language.go
new file mode 100644
index 00000000..f1012c95
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/language.go
@@ -0,0 +1,982 @@
+// 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.
+
+//go:generate go run gen.go gen_common.go -output tables.go
+//go:generate go run gen_index.go
+
+// Package language implements BCP 47 language tags and related functionality.
+//
+// The Tag type, which is used to represent languages, is agnostic to the
+// meaning of its subtags. Tags are not fully canonicalized to preserve
+// information that may be valuable in certain contexts. As a consequence, two
+// different tags may represent identical languages.
+//
+// Initializing language- or locale-specific components usually consists of
+// two steps. The first step is to select a display language based on the
+// preferred languages of the user and the languages supported by an application.
+// The second step is to create the language-specific services based on
+// this selection. Each is discussed in more details below.
+//
+// Matching preferred against supported languages
+//
+// An application may support various languages. This list is typically limited
+// by the languages for which there exists translations of the user interface.
+// Similarly, a user may provide a list of preferred languages which is limited
+// by the languages understood by this user.
+// An application should use a Matcher to find the best supported language based
+// on the user's preferred list.
+// Matchers are aware of the intricacies of equivalence between languages.
+// The default Matcher implementation takes into account things such as
+// deprecated subtags, legacy tags, and mutual intelligibility between scripts
+// and languages.
+//
+// A Matcher for English, Australian English, Danish, and standard Mandarin can
+// be defined as follows:
+//
+// var matcher = language.NewMatcher([]language.Tag{
+// language.English, // The first language is used as fallback.
+// language.MustParse("en-AU"),
+// language.Danish,
+// language.Chinese,
+// })
+//
+// The following code selects the best match for someone speaking Spanish and
+// Norwegian:
+//
+// preferred := []language.Tag{ language.Spanish, language.Norwegian }
+// tag, _, _ := matcher.Match(preferred...)
+//
+// In this case, the best match is Danish, as Danish is sufficiently a match to
+// Norwegian to not have to fall back to the default.
+// See ParseAcceptLanguage on how to handle the Accept-Language HTTP header.
+//
+// Selecting language-specific services
+//
+// One should always use the Tag returned by the Matcher to create an instance
+// of any of the language-specific services provided by the text repository.
+// This prevents the mixing of languages, such as having a different language for
+// messages and display names, as well as improper casing or sorting order for
+// the selected language.
+// Using the returned Tag also allows user-defined settings, such as collation
+// order or numbering system to be transparently passed as options.
+//
+// If you have language-specific data in your application, however, it will in
+// most cases suffice to use the index returned by the matcher to identify
+// the user language.
+// The following loop provides an alternative in case this is not sufficient:
+//
+// supported := map[language.Tag]data{
+// language.English: enData,
+// language.MustParse("en-AU"): enAUData,
+// language.Danish: daData,
+// language.Chinese: zhData,
+// }
+// tag, _, _ := matcher.Match(preferred...)
+// for ; tag != language.Und; tag = tag.Parent() {
+// if v, ok := supported[tag]; ok {
+// return v
+// }
+// }
+// return enData // should not reach here
+//
+// Repeatedly taking the Parent of the tag returned by Match will eventually
+// match one of the tags used to initialize the Matcher.
+//
+// Canonicalization
+//
+// By default, only legacy and deprecated tags are converted into their
+// canonical equivalent. All other information is preserved. This approach makes
+// the confidence scores more accurate and allows matchers to distinguish
+// between variants that are otherwise lost.
+//
+// As a consequence, two tags that should be treated as identical according to
+// BCP 47 or CLDR, like "en-Latn" and "en", will be represented differently. The
+// Matchers will handle such distinctions, though, and are aware of the
+// equivalence relations. The CanonType type can be used to alter the
+// canonicalization form.
+//
+// References
+//
+// BCP 47 - Tags for Identifying Languages
+// http://tools.ietf.org/html/bcp47
+package language // import "golang.org/x/text/language"
+
+// TODO: Remove above NOTE after:
+// - verifying that tables are dropped correctly (most notably matcher tables).
+
+import (
+ "errors"
+ "fmt"
+ "strings"
+)
+
+const (
+ // maxCoreSize is the maximum size of a BCP 47 tag without variants and
+ // extensions. Equals max lang (3) + script (4) + max reg (3) + 2 dashes.
+ maxCoreSize = 12
+
+ // max99thPercentileSize is a somewhat arbitrary buffer size that presumably
+ // is large enough to hold at least 99% of the BCP 47 tags.
+ max99thPercentileSize = 32
+
+ // maxSimpleUExtensionSize is the maximum size of a -u extension with one
+ // key-type pair. Equals len("-u-") + key (2) + dash + max value (8).
+ maxSimpleUExtensionSize = 14
+)
+
+// Tag represents a BCP 47 language tag. It is used to specify an instance of a
+// specific language or locale. All language tag values are guaranteed to be
+// well-formed.
+type Tag struct {
+ lang langID
+ region regionID
+ // TODO: we will soon run out of positions for script. Idea: instead of
+ // storing lang, region, and script codes, store only the compact index and
+ // have a lookup table from this code to its expansion. This greatly speeds
+ // up table lookup, speed up common variant cases.
+ // This will also immediately free up 3 extra bytes. Also, the pVariant
+ // field can now be moved to the lookup table, as the compact index uniquely
+ // determines the offset of a possible variant.
+ script scriptID
+ pVariant byte // offset in str, includes preceding '-'
+ pExt uint16 // offset of first extension, includes preceding '-'
+
+ // str is the string representation of the Tag. It will only be used if the
+ // tag has variants or extensions.
+ str string
+}
+
+// Make is a convenience wrapper for Parse that omits the error.
+// In case of an error, a sensible default is returned.
+func Make(s string) Tag {
+ return Default.Make(s)
+}
+
+// Make is a convenience wrapper for c.Parse that omits the error.
+// In case of an error, a sensible default is returned.
+func (c CanonType) Make(s string) Tag {
+ t, _ := c.Parse(s)
+ return t
+}
+
+// Raw returns the raw base language, script and region, without making an
+// attempt to infer their values.
+func (t Tag) Raw() (b Base, s Script, r Region) {
+ return Base{t.lang}, Script{t.script}, Region{t.region}
+}
+
+// equalTags compares language, script and region subtags only.
+func (t Tag) equalTags(a Tag) bool {
+ return t.lang == a.lang && t.script == a.script && t.region == a.region
+}
+
+// IsRoot returns true if t is equal to language "und".
+func (t Tag) IsRoot() bool {
+ if int(t.pVariant) < len(t.str) {
+ return false
+ }
+ return t.equalTags(und)
+}
+
+// private reports whether the Tag consists solely of a private use tag.
+func (t Tag) private() bool {
+ return t.str != "" && t.pVariant == 0
+}
+
+// CanonType can be used to enable or disable various types of canonicalization.
+type CanonType int
+
+const (
+ // Replace deprecated base languages with their preferred replacements.
+ DeprecatedBase CanonType = 1 << iota
+ // Replace deprecated scripts with their preferred replacements.
+ DeprecatedScript
+ // Replace deprecated regions with their preferred replacements.
+ DeprecatedRegion
+ // Remove redundant scripts.
+ SuppressScript
+ // Normalize legacy encodings. This includes legacy languages defined in
+ // CLDR as well as bibliographic codes defined in ISO-639.
+ Legacy
+ // Map the dominant language of a macro language group to the macro language
+ // subtag. For example cmn -> zh.
+ Macro
+ // The CLDR flag should be used if full compatibility with CLDR is required.
+ // There are a few cases where language.Tag may differ from CLDR. To follow all
+ // of CLDR's suggestions, use All|CLDR.
+ CLDR
+
+ // Raw can be used to Compose or Parse without Canonicalization.
+ Raw CanonType = 0
+
+ // Replace all deprecated tags with their preferred replacements.
+ Deprecated = DeprecatedBase | DeprecatedScript | DeprecatedRegion
+
+ // All canonicalizations recommended by BCP 47.
+ BCP47 = Deprecated | SuppressScript
+
+ // All canonicalizations.
+ All = BCP47 | Legacy | Macro
+
+ // Default is the canonicalization used by Parse, Make and Compose. To
+ // preserve as much information as possible, canonicalizations that remove
+ // potentially valuable information are not included. The Matcher is
+ // designed to recognize similar tags that would be the same if
+ // they were canonicalized using All.
+ Default = Deprecated | Legacy
+
+ canonLang = DeprecatedBase | Legacy | Macro
+
+ // TODO: LikelyScript, LikelyRegion: suppress similar to ICU.
+)
+
+// canonicalize returns the canonicalized equivalent of the tag and
+// whether there was any change.
+func (t Tag) canonicalize(c CanonType) (Tag, bool) {
+ if c == Raw {
+ return t, false
+ }
+ changed := false
+ if c&SuppressScript != 0 {
+ if t.lang < langNoIndexOffset && uint8(t.script) == suppressScript[t.lang] {
+ t.script = 0
+ changed = true
+ }
+ }
+ if c&canonLang != 0 {
+ for {
+ if l, aliasType := normLang(t.lang); l != t.lang {
+ switch aliasType {
+ case langLegacy:
+ if c&Legacy != 0 {
+ if t.lang == _sh && t.script == 0 {
+ t.script = _Latn
+ }
+ t.lang = l
+ changed = true
+ }
+ case langMacro:
+ if c&Macro != 0 {
+ // We deviate here from CLDR. The mapping "nb" -> "no"
+ // qualifies as a typical Macro language mapping. However,
+ // for legacy reasons, CLDR maps "no", the macro language
+ // code for Norwegian, to the dominant variant "nb". This
+ // change is currently under consideration for CLDR as well.
+ // See http://unicode.org/cldr/trac/ticket/2698 and also
+ // http://unicode.org/cldr/trac/ticket/1790 for some of the
+ // practical implications. TODO: this check could be removed
+ // if CLDR adopts this change.
+ if c&CLDR == 0 || t.lang != _nb {
+ changed = true
+ t.lang = l
+ }
+ }
+ case langDeprecated:
+ if c&DeprecatedBase != 0 {
+ if t.lang == _mo && t.region == 0 {
+ t.region = _MD
+ }
+ t.lang = l
+ changed = true
+ // Other canonicalization types may still apply.
+ continue
+ }
+ }
+ } else if c&Legacy != 0 && t.lang == _no && c&CLDR != 0 {
+ t.lang = _nb
+ changed = true
+ }
+ break
+ }
+ }
+ if c&DeprecatedScript != 0 {
+ if t.script == _Qaai {
+ changed = true
+ t.script = _Zinh
+ }
+ }
+ if c&DeprecatedRegion != 0 {
+ if r := normRegion(t.region); r != 0 {
+ changed = true
+ t.region = r
+ }
+ }
+ return t, changed
+}
+
+// Canonicalize returns the canonicalized equivalent of the tag.
+func (c CanonType) Canonicalize(t Tag) (Tag, error) {
+ t, changed := t.canonicalize(c)
+ if changed {
+ t.remakeString()
+ }
+ return t, nil
+}
+
+// Confidence indicates the level of certainty for a given return value.
+// For example, Serbian may be written in Cyrillic or Latin script.
+// The confidence level indicates whether a value was explicitly specified,
+// whether it is typically the only possible value, or whether there is
+// an ambiguity.
+type Confidence int
+
+const (
+ No Confidence = iota // full confidence that there was no match
+ Low // most likely value picked out of a set of alternatives
+ High // value is generally assumed to be the correct match
+ Exact // exact match or explicitly specified value
+)
+
+var confName = []string{"No", "Low", "High", "Exact"}
+
+func (c Confidence) String() string {
+ return confName[c]
+}
+
+// remakeString is used to update t.str in case lang, script or region changed.
+// It is assumed that pExt and pVariant still point to the start of the
+// respective parts.
+func (t *Tag) remakeString() {
+ if t.str == "" {
+ return
+ }
+ extra := t.str[t.pVariant:]
+ if t.pVariant > 0 {
+ extra = extra[1:]
+ }
+ if t.equalTags(und) && strings.HasPrefix(extra, "x-") {
+ t.str = extra
+ t.pVariant = 0
+ t.pExt = 0
+ return
+ }
+ var buf [max99thPercentileSize]byte // avoid extra memory allocation in most cases.
+ b := buf[:t.genCoreBytes(buf[:])]
+ if extra != "" {
+ diff := len(b) - int(t.pVariant)
+ b = append(b, '-')
+ b = append(b, extra...)
+ t.pVariant = uint8(int(t.pVariant) + diff)
+ t.pExt = uint16(int(t.pExt) + diff)
+ } else {
+ t.pVariant = uint8(len(b))
+ t.pExt = uint16(len(b))
+ }
+ t.str = string(b)
+}
+
+// genCoreBytes writes a string for the base languages, script and region tags
+// to the given buffer and returns the number of bytes written. It will never
+// write more than maxCoreSize bytes.
+func (t *Tag) genCoreBytes(buf []byte) int {
+ n := t.lang.stringToBuf(buf[:])
+ if t.script != 0 {
+ n += copy(buf[n:], "-")
+ n += copy(buf[n:], t.script.String())
+ }
+ if t.region != 0 {
+ n += copy(buf[n:], "-")
+ n += copy(buf[n:], t.region.String())
+ }
+ return n
+}
+
+// String returns the canonical string representation of the language tag.
+func (t Tag) String() string {
+ if t.str != "" {
+ return t.str
+ }
+ if t.script == 0 && t.region == 0 {
+ return t.lang.String()
+ }
+ buf := [maxCoreSize]byte{}
+ return string(buf[:t.genCoreBytes(buf[:])])
+}
+
+// Base returns the base language of the language tag. If the base language is
+// unspecified, an attempt will be made to infer it from the context.
+// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.
+func (t Tag) Base() (Base, Confidence) {
+ if t.lang != 0 {
+ return Base{t.lang}, Exact
+ }
+ c := High
+ if t.script == 0 && !(Region{t.region}).IsCountry() {
+ c = Low
+ }
+ if tag, err := addTags(t); err == nil && tag.lang != 0 {
+ return Base{tag.lang}, c
+ }
+ return Base{0}, No
+}
+
+// Script infers the script for the language tag. If it was not explicitly given, it will infer
+// a most likely candidate.
+// If more than one script is commonly used for a language, the most likely one
+// is returned with a low confidence indication. For example, it returns (Cyrl, Low)
+// for Serbian.
+// If a script cannot be inferred (Zzzz, No) is returned. We do not use Zyyy (undetermined)
+// as one would suspect from the IANA registry for BCP 47. In a Unicode context Zyyy marks
+// common characters (like 1, 2, 3, '.', etc.) and is therefore more like multiple scripts.
+// See http://www.unicode.org/reports/tr24/#Values for more details. Zzzz is also used for
+// unknown value in CLDR. (Zzzz, Exact) is returned if Zzzz was explicitly specified.
+// Note that an inferred script is never guaranteed to be the correct one. Latin is
+// almost exclusively used for Afrikaans, but Arabic has been used for some texts
+// in the past. Also, the script that is commonly used may change over time.
+// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.
+func (t Tag) Script() (Script, Confidence) {
+ if t.script != 0 {
+ return Script{t.script}, Exact
+ }
+ sc, c := scriptID(_Zzzz), No
+ if t.lang < langNoIndexOffset {
+ if scr := scriptID(suppressScript[t.lang]); scr != 0 {
+ // Note: it is not always the case that a language with a suppress
+ // script value is only written in one script (e.g. kk, ms, pa).
+ if t.region == 0 {
+ return Script{scriptID(scr)}, High
+ }
+ sc, c = scr, High
+ }
+ }
+ if tag, err := addTags(t); err == nil {
+ if tag.script != sc {
+ sc, c = tag.script, Low
+ }
+ } else {
+ t, _ = (Deprecated | Macro).Canonicalize(t)
+ if tag, err := addTags(t); err == nil && tag.script != sc {
+ sc, c = tag.script, Low
+ }
+ }
+ return Script{sc}, c
+}
+
+// Region returns the region for the language tag. If it was not explicitly given, it will
+// infer a most likely candidate from the context.
+// It uses a variant of CLDR's Add Likely Subtags algorithm. This is subject to change.
+func (t Tag) Region() (Region, Confidence) {
+ if t.region != 0 {
+ return Region{t.region}, Exact
+ }
+ if t, err := addTags(t); err == nil {
+ return Region{t.region}, Low // TODO: differentiate between high and low.
+ }
+ t, _ = (Deprecated | Macro).Canonicalize(t)
+ if tag, err := addTags(t); err == nil {
+ return Region{tag.region}, Low
+ }
+ return Region{_ZZ}, No // TODO: return world instead of undetermined?
+}
+
+// Variant returns the variants specified explicitly for this language tag.
+// or nil if no variant was specified.
+func (t Tag) Variants() []Variant {
+ v := []Variant{}
+ if int(t.pVariant) < int(t.pExt) {
+ for x, str := "", t.str[t.pVariant:t.pExt]; str != ""; {
+ x, str = nextToken(str)
+ v = append(v, Variant{x})
+ }
+ }
+ return v
+}
+
+// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a
+// specific language are substituted with fields from the parent language.
+// The parent for a language may change for newer versions of CLDR.
+func (t Tag) Parent() Tag {
+ if t.str != "" {
+ // Strip the variants and extensions.
+ t, _ = Raw.Compose(t.Raw())
+ if t.region == 0 && t.script != 0 && t.lang != 0 {
+ base, _ := addTags(Tag{lang: t.lang})
+ if base.script == t.script {
+ return Tag{lang: t.lang}
+ }
+ }
+ return t
+ }
+ if t.lang != 0 {
+ if t.region != 0 {
+ maxScript := t.script
+ if maxScript == 0 {
+ max, _ := addTags(t)
+ maxScript = max.script
+ }
+
+ for i := range parents {
+ if langID(parents[i].lang) == t.lang && scriptID(parents[i].maxScript) == maxScript {
+ for _, r := range parents[i].fromRegion {
+ if regionID(r) == t.region {
+ return Tag{
+ lang: t.lang,
+ script: scriptID(parents[i].script),
+ region: regionID(parents[i].toRegion),
+ }
+ }
+ }
+ }
+ }
+
+ // Strip the script if it is the default one.
+ base, _ := addTags(Tag{lang: t.lang})
+ if base.script != maxScript {
+ return Tag{lang: t.lang, script: maxScript}
+ }
+ return Tag{lang: t.lang}
+ } else if t.script != 0 {
+ // The parent for an base-script pair with a non-default script is
+ // "und" instead of the base language.
+ base, _ := addTags(Tag{lang: t.lang})
+ if base.script != t.script {
+ return und
+ }
+ return Tag{lang: t.lang}
+ }
+ }
+ return und
+}
+
+// returns token t and the rest of the string.
+func nextToken(s string) (t, tail string) {
+ p := strings.Index(s[1:], "-")
+ if p == -1 {
+ return s[1:], ""
+ }
+ p++
+ return s[1:p], s[p:]
+}
+
+// Extension is a single BCP 47 extension.
+type Extension struct {
+ s string
+}
+
+// String returns the string representation of the extension, including the
+// type tag.
+func (e Extension) String() string {
+ return e.s
+}
+
+// ParseExtension parses s as an extension and returns it on success.
+func ParseExtension(s string) (e Extension, err error) {
+ scan := makeScannerString(s)
+ var end int
+ if n := len(scan.token); n != 1 {
+ return Extension{}, errSyntax
+ }
+ scan.toLower(0, len(scan.b))
+ end = parseExtension(&scan)
+ if end != len(s) {
+ return Extension{}, errSyntax
+ }
+ return Extension{string(scan.b)}, nil
+}
+
+// Type returns the one-byte extension type of e. It returns 0 for the zero
+// exception.
+func (e Extension) Type() byte {
+ if e.s == "" {
+ return 0
+ }
+ return e.s[0]
+}
+
+// Tokens returns the list of tokens of e.
+func (e Extension) Tokens() []string {
+ return strings.Split(e.s, "-")
+}
+
+// Extension returns the extension of type x for tag t. It will return
+// false for ok if t does not have the requested extension. The returned
+// extension will be invalid in this case.
+func (t Tag) Extension(x byte) (ext Extension, ok bool) {
+ for i := int(t.pExt); i < len(t.str)-1; {
+ var ext string
+ i, ext = getExtension(t.str, i)
+ if ext[0] == x {
+ return Extension{ext}, true
+ }
+ }
+ return Extension{}, false
+}
+
+// Extensions returns all extensions of t.
+func (t Tag) Extensions() []Extension {
+ e := []Extension{}
+ for i := int(t.pExt); i < len(t.str)-1; {
+ var ext string
+ i, ext = getExtension(t.str, i)
+ e = append(e, Extension{ext})
+ }
+ return e
+}
+
+// TypeForKey returns the type associated with the given key, where key and type
+// are of the allowed values defined for the Unicode locale extension ('u') in
+// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
+// TypeForKey will traverse the inheritance chain to get the correct value.
+func (t Tag) TypeForKey(key string) string {
+ if start, end, _ := t.findTypeForKey(key); end != start {
+ return t.str[start:end]
+ }
+ return ""
+}
+
+var (
+ errPrivateUse = errors.New("cannot set a key on a private use tag")
+ errInvalidArguments = errors.New("invalid key or type")
+)
+
+// SetTypeForKey returns a new Tag with the key set to type, where key and type
+// are of the allowed values defined for the Unicode locale extension ('u') in
+// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
+// An empty value removes an existing pair with the same key.
+func (t Tag) SetTypeForKey(key, value string) (Tag, error) {
+ if t.private() {
+ return t, errPrivateUse
+ }
+ if len(key) != 2 {
+ return t, errInvalidArguments
+ }
+
+ // Remove the setting if value is "".
+ if value == "" {
+ start, end, _ := t.findTypeForKey(key)
+ if start != end {
+ // Remove key tag and leading '-'.
+ start -= 4
+
+ // Remove a possible empty extension.
+ if (end == len(t.str) || t.str[end+2] == '-') && t.str[start-2] == '-' {
+ start -= 2
+ }
+ if start == int(t.pVariant) && end == len(t.str) {
+ t.str = ""
+ t.pVariant, t.pExt = 0, 0
+ } else {
+ t.str = fmt.Sprintf("%s%s", t.str[:start], t.str[end:])
+ }
+ }
+ return t, nil
+ }
+
+ if len(value) < 3 || len(value) > 8 {
+ return t, errInvalidArguments
+ }
+
+ var (
+ buf [maxCoreSize + maxSimpleUExtensionSize]byte
+ uStart int // start of the -u extension.
+ )
+
+ // Generate the tag string if needed.
+ if t.str == "" {
+ uStart = t.genCoreBytes(buf[:])
+ buf[uStart] = '-'
+ uStart++
+ }
+
+ // Create new key-type pair and parse it to verify.
+ b := buf[uStart:]
+ copy(b, "u-")
+ copy(b[2:], key)
+ b[4] = '-'
+ b = b[:5+copy(b[5:], value)]
+ scan := makeScanner(b)
+ if parseExtensions(&scan); scan.err != nil {
+ return t, scan.err
+ }
+
+ // Assemble the replacement string.
+ if t.str == "" {
+ t.pVariant, t.pExt = byte(uStart-1), uint16(uStart-1)
+ t.str = string(buf[:uStart+len(b)])
+ } else {
+ s := t.str
+ start, end, hasExt := t.findTypeForKey(key)
+ if start == end {
+ if hasExt {
+ b = b[2:]
+ }
+ t.str = fmt.Sprintf("%s-%s%s", s[:start], b, s[end:])
+ } else {
+ t.str = fmt.Sprintf("%s%s%s", s[:start], value, s[end:])
+ }
+ }
+ return t, nil
+}
+
+// findKeyAndType returns the start and end position for the type corresponding
+// to key or the point at which to insert the key-value pair if the type
+// wasn't found. The hasExt return value reports whether an -u extension was present.
+// Note: the extensions are typically very small and are likely to contain
+// only one key-type pair.
+func (t Tag) findTypeForKey(key string) (start, end int, hasExt bool) {
+ p := int(t.pExt)
+ if len(key) != 2 || p == len(t.str) || p == 0 {
+ return p, p, false
+ }
+ s := t.str
+
+ // Find the correct extension.
+ for p++; s[p] != 'u'; p++ {
+ if s[p] > 'u' {
+ p--
+ return p, p, false
+ }
+ if p = nextExtension(s, p); p == len(s) {
+ return len(s), len(s), false
+ }
+ }
+ // Proceed to the hyphen following the extension name.
+ p++
+
+ // curKey is the key currently being processed.
+ curKey := ""
+
+ // Iterate over keys until we get the end of a section.
+ for {
+ // p points to the hyphen preceding the current token.
+ if p3 := p + 3; s[p3] == '-' {
+ // Found a key.
+ // Check whether we just processed the key that was requested.
+ if curKey == key {
+ return start, p, true
+ }
+ // Set to the next key and continue scanning type tokens.
+ curKey = s[p+1 : p3]
+ if curKey > key {
+ return p, p, true
+ }
+ // Start of the type token sequence.
+ start = p + 4
+ // A type is at least 3 characters long.
+ p += 7 // 4 + 3
+ } else {
+ // Attribute or type, which is at least 3 characters long.
+ p += 4
+ }
+ // p points past the third character of a type or attribute.
+ max := p + 5 // maximum length of token plus hyphen.
+ if len(s) < max {
+ max = len(s)
+ }
+ for ; p < max && s[p] != '-'; p++ {
+ }
+ // Bail if we have exhausted all tokens or if the next token starts
+ // a new extension.
+ if p == len(s) || s[p+2] == '-' {
+ if curKey == key {
+ return start, p, true
+ }
+ return p, p, true
+ }
+ }
+}
+
+// CompactIndex returns an index, where 0 <= index < NumCompactTags, for tags
+// for which data exists in the text repository. The index will change over time
+// and should not be stored in persistent storage. Extensions, except for the
+// 'va' type of the 'u' extension, are ignored. It will return 0, false if no
+// compact tag exists, where 0 is the index for the root language (Und).
+func CompactIndex(t Tag) (index int, ok bool) {
+ // TODO: perhaps give more frequent tags a lower index.
+ // TODO: we could make the indexes stable. This will excluded some
+ // possibilities for optimization, so don't do this quite yet.
+ b, s, r := t.Raw()
+ if len(t.str) > 0 {
+ if strings.HasPrefix(t.str, "x-") {
+ // We have no entries for user-defined tags.
+ return 0, false
+ }
+ if uint16(t.pVariant) != t.pExt {
+ // There are no tags with variants and an u-va type.
+ if t.TypeForKey("va") != "" {
+ return 0, false
+ }
+ t, _ = Raw.Compose(b, s, r, t.Variants())
+ } else if _, ok := t.Extension('u'); ok {
+ // Strip all but the 'va' entry.
+ variant := t.TypeForKey("va")
+ t, _ = Raw.Compose(b, s, r)
+ t, _ = t.SetTypeForKey("va", variant)
+ }
+ if len(t.str) > 0 {
+ // We have some variants.
+ for i, s := range specialTags {
+ if s == t {
+ return i + 1, true
+ }
+ }
+ return 0, false
+ }
+ }
+ // No variants specified: just compare core components.
+ // The key has the form lllssrrr, where l, s, and r are nibbles for
+ // respectively the langID, scriptID, and regionID.
+ key := uint32(b.langID) << (8 + 12)
+ key |= uint32(s.scriptID) << 12
+ key |= uint32(r.regionID)
+ x, ok := coreTags[key]
+ return int(x), ok
+}
+
+// Base is an ISO 639 language code, used for encoding the base language
+// of a language tag.
+type Base struct {
+ langID
+}
+
+// ParseBase parses a 2- or 3-letter ISO 639 code.
+// It returns a ValueError if s is a well-formed but unknown language identifier
+// or another error if another error occurred.
+func ParseBase(s string) (Base, error) {
+ if n := len(s); n < 2 || 3 < n {
+ return Base{}, errSyntax
+ }
+ var buf [3]byte
+ l, err := getLangID(buf[:copy(buf[:], s)])
+ return Base{l}, err
+}
+
+// Script is a 4-letter ISO 15924 code for representing scripts.
+// It is idiomatically represented in title case.
+type Script struct {
+ scriptID
+}
+
+// ParseScript parses a 4-letter ISO 15924 code.
+// It returns a ValueError if s is a well-formed but unknown script identifier
+// or another error if another error occurred.
+func ParseScript(s string) (Script, error) {
+ if len(s) != 4 {
+ return Script{}, errSyntax
+ }
+ var buf [4]byte
+ sc, err := getScriptID(script, buf[:copy(buf[:], s)])
+ return Script{sc}, err
+}
+
+// Region is an ISO 3166-1 or UN M.49 code for representing countries and regions.
+type Region struct {
+ regionID
+}
+
+// EncodeM49 returns the Region for the given UN M.49 code.
+// It returns an error if r is not a valid code.
+func EncodeM49(r int) (Region, error) {
+ rid, err := getRegionM49(r)
+ return Region{rid}, err
+}
+
+// ParseRegion parses a 2- or 3-letter ISO 3166-1 or a UN M.49 code.
+// It returns a ValueError if s is a well-formed but unknown region identifier
+// or another error if another error occurred.
+func ParseRegion(s string) (Region, error) {
+ if n := len(s); n < 2 || 3 < n {
+ return Region{}, errSyntax
+ }
+ var buf [3]byte
+ r, err := getRegionID(buf[:copy(buf[:], s)])
+ return Region{r}, err
+}
+
+// IsCountry returns whether this region is a country or autonomous area. This
+// includes non-standard definitions from CLDR.
+func (r Region) IsCountry() bool {
+ if r.regionID == 0 || r.IsGroup() || r.IsPrivateUse() && r.regionID != _XK {
+ return false
+ }
+ return true
+}
+
+// IsGroup returns whether this region defines a collection of regions. This
+// includes non-standard definitions from CLDR.
+func (r Region) IsGroup() bool {
+ if r.regionID == 0 {
+ return false
+ }
+ return int(regionInclusion[r.regionID]) < len(regionContainment)
+}
+
+// Contains returns whether Region c is contained by Region r. It returns true
+// if c == r.
+func (r Region) Contains(c Region) bool {
+ return r.regionID.contains(c.regionID)
+}
+
+func (r regionID) contains(c regionID) bool {
+ if r == c {
+ return true
+ }
+ g := regionInclusion[r]
+ if g >= nRegionGroups {
+ return false
+ }
+ m := regionContainment[g]
+
+ d := regionInclusion[c]
+ b := regionInclusionBits[d]
+
+ // A contained country may belong to multiple disjoint groups. Matching any
+ // of these indicates containment. If the contained region is a group, it
+ // must strictly be a subset.
+ if d >= nRegionGroups {
+ return b&m != 0
+ }
+ return b&^m == 0
+}
+
+var errNoTLD = errors.New("language: region is not a valid ccTLD")
+
+// TLD returns the country code top-level domain (ccTLD). UK is returned for GB.
+// In all other cases it returns either the region itself or an error.
+//
+// This method may return an error for a region for which there exists a
+// canonical form with a ccTLD. To get that ccTLD canonicalize r first. The
+// region will already be canonicalized it was obtained from a Tag that was
+// obtained using any of the default methods.
+func (r Region) TLD() (Region, error) {
+ // See http://en.wikipedia.org/wiki/Country_code_top-level_domain for the
+ // difference between ISO 3166-1 and IANA ccTLD.
+ if r.regionID == _GB {
+ r = Region{_UK}
+ }
+ if (r.typ() & ccTLD) == 0 {
+ return Region{}, errNoTLD
+ }
+ return r, nil
+}
+
+// Canonicalize returns the region or a possible replacement if the region is
+// deprecated. It will not return a replacement for deprecated regions that
+// are split into multiple regions.
+func (r Region) Canonicalize() Region {
+ if cr := normRegion(r.regionID); cr != 0 {
+ return Region{cr}
+ }
+ return r
+}
+
+// Variant represents a registered variant of a language as defined by BCP 47.
+type Variant struct {
+ variant string
+}
+
+// ParseVariant parses and returns a Variant. An error is returned if s is not
+// a valid variant.
+func ParseVariant(s string) (Variant, error) {
+ s = strings.ToLower(s)
+ if _, ok := variantIndex[s]; ok {
+ return Variant{s}, nil
+ }
+ return Variant{}, mkErrInvalid([]byte(s))
+}
+
+// String returns the string representation of the variant.
+func (v Variant) String() string {
+ return v.variant
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/lookup.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/lookup.go
new file mode 100644
index 00000000..1d80ac37
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/lookup.go
@@ -0,0 +1,396 @@
+// 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 language
+
+import (
+ "bytes"
+ "fmt"
+ "sort"
+ "strconv"
+
+ "golang.org/x/text/internal/tag"
+)
+
+// findIndex tries to find the given tag in idx and returns a standardized error
+// if it could not be found.
+func findIndex(idx tag.Index, key []byte, form string) (index int, err error) {
+ if !tag.FixCase(form, key) {
+ return 0, errSyntax
+ }
+ i := idx.Index(key)
+ if i == -1 {
+ return 0, mkErrInvalid(key)
+ }
+ return i, nil
+}
+
+func searchUint(imap []uint16, key uint16) int {
+ return sort.Search(len(imap), func(i int) bool {
+ return imap[i] >= key
+ })
+}
+
+type langID uint16
+
+// getLangID returns the langID of s if s is a canonical subtag
+// or langUnknown if s is not a canonical subtag.
+func getLangID(s []byte) (langID, error) {
+ if len(s) == 2 {
+ return getLangISO2(s)
+ }
+ return getLangISO3(s)
+}
+
+// mapLang returns the mapped langID of id according to mapping m.
+func normLang(id langID) (langID, langAliasType) {
+ k := sort.Search(len(langAliasMap), func(i int) bool {
+ return langAliasMap[i].from >= uint16(id)
+ })
+ if k < len(langAliasMap) && langAliasMap[k].from == uint16(id) {
+ return langID(langAliasMap[k].to), langAliasTypes[k]
+ }
+ return id, langAliasTypeUnknown
+}
+
+// getLangISO2 returns the langID for the given 2-letter ISO language code
+// or unknownLang if this does not exist.
+func getLangISO2(s []byte) (langID, error) {
+ if !tag.FixCase("zz", s) {
+ return 0, errSyntax
+ }
+ if i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 {
+ return langID(i), nil
+ }
+ return 0, mkErrInvalid(s)
+}
+
+const base = 'z' - 'a' + 1
+
+func strToInt(s []byte) uint {
+ v := uint(0)
+ for i := 0; i < len(s); i++ {
+ v *= base
+ v += uint(s[i] - 'a')
+ }
+ return v
+}
+
+// converts the given integer to the original ASCII string passed to strToInt.
+// len(s) must match the number of characters obtained.
+func intToStr(v uint, s []byte) {
+ for i := len(s) - 1; i >= 0; i-- {
+ s[i] = byte(v%base) + 'a'
+ v /= base
+ }
+}
+
+// getLangISO3 returns the langID for the given 3-letter ISO language code
+// or unknownLang if this does not exist.
+func getLangISO3(s []byte) (langID, error) {
+ if tag.FixCase("und", s) {
+ // first try to match canonical 3-letter entries
+ for i := lang.Index(s[:2]); i != -1; i = lang.Next(s[:2], i) {
+ if e := lang.Elem(i); e[3] == 0 && e[2] == s[2] {
+ // We treat "und" as special and always translate it to "unspecified".
+ // Note that ZZ and Zzzz are private use and are not treated as
+ // unspecified by default.
+ id := langID(i)
+ if id == nonCanonicalUnd {
+ return 0, nil
+ }
+ return id, nil
+ }
+ }
+ if i := altLangISO3.Index(s); i != -1 {
+ return langID(altLangIndex[altLangISO3.Elem(i)[3]]), nil
+ }
+ n := strToInt(s)
+ if langNoIndex[n/8]&(1<<(n%8)) != 0 {
+ return langID(n) + langNoIndexOffset, nil
+ }
+ // Check for non-canonical uses of ISO3.
+ for i := lang.Index(s[:1]); i != -1; i = lang.Next(s[:1], i) {
+ if e := lang.Elem(i); e[2] == s[1] && e[3] == s[2] {
+ return langID(i), nil
+ }
+ }
+ return 0, mkErrInvalid(s)
+ }
+ return 0, errSyntax
+}
+
+// stringToBuf writes the string to b and returns the number of bytes
+// written. cap(b) must be >= 3.
+func (id langID) stringToBuf(b []byte) int {
+ if id >= langNoIndexOffset {
+ intToStr(uint(id)-langNoIndexOffset, b[:3])
+ return 3
+ } else if id == 0 {
+ return copy(b, "und")
+ }
+ l := lang[id<<2:]
+ if l[3] == 0 {
+ return copy(b, l[:3])
+ }
+ return copy(b, l[:2])
+}
+
+// String returns the BCP 47 representation of the langID.
+// Use b as variable name, instead of id, to ensure the variable
+// used is consistent with that of Base in which this type is embedded.
+func (b langID) String() string {
+ if b == 0 {
+ return "und"
+ } else if b >= langNoIndexOffset {
+ b -= langNoIndexOffset
+ buf := [3]byte{}
+ intToStr(uint(b), buf[:])
+ return string(buf[:])
+ }
+ l := lang.Elem(int(b))
+ if l[3] == 0 {
+ return l[:3]
+ }
+ return l[:2]
+}
+
+// ISO3 returns the ISO 639-3 language code.
+func (b langID) ISO3() string {
+ if b == 0 || b >= langNoIndexOffset {
+ return b.String()
+ }
+ l := lang.Elem(int(b))
+ if l[3] == 0 {
+ return l[:3]
+ } else if l[2] == 0 {
+ return altLangISO3.Elem(int(l[3]))[:3]
+ }
+ // This allocation will only happen for 3-letter ISO codes
+ // that are non-canonical BCP 47 language identifiers.
+ return l[0:1] + l[2:4]
+}
+
+// IsPrivateUse reports whether this language code is reserved for private use.
+func (b langID) IsPrivateUse() bool {
+ return langPrivateStart <= b && b <= langPrivateEnd
+}
+
+type regionID uint16
+
+// getRegionID returns the region id for s if s is a valid 2-letter region code
+// or unknownRegion.
+func getRegionID(s []byte) (regionID, error) {
+ if len(s) == 3 {
+ if isAlpha(s[0]) {
+ return getRegionISO3(s)
+ }
+ if i, err := strconv.ParseUint(string(s), 10, 10); err == nil {
+ return getRegionM49(int(i))
+ }
+ }
+ return getRegionISO2(s)
+}
+
+// getRegionISO2 returns the regionID for the given 2-letter ISO country code
+// or unknownRegion if this does not exist.
+func getRegionISO2(s []byte) (regionID, error) {
+ i, err := findIndex(regionISO, s, "ZZ")
+ if err != nil {
+ return 0, err
+ }
+ return regionID(i) + isoRegionOffset, nil
+}
+
+// getRegionISO3 returns the regionID for the given 3-letter ISO country code
+// or unknownRegion if this does not exist.
+func getRegionISO3(s []byte) (regionID, error) {
+ if tag.FixCase("ZZZ", s) {
+ for i := regionISO.Index(s[:1]); i != -1; i = regionISO.Next(s[:1], i) {
+ if e := regionISO.Elem(i); e[2] == s[1] && e[3] == s[2] {
+ return regionID(i) + isoRegionOffset, nil
+ }
+ }
+ for i := 0; i < len(altRegionISO3); i += 3 {
+ if tag.Compare(altRegionISO3[i:i+3], s) == 0 {
+ return regionID(altRegionIDs[i/3]), nil
+ }
+ }
+ return 0, mkErrInvalid(s)
+ }
+ return 0, errSyntax
+}
+
+func getRegionM49(n int) (regionID, error) {
+ if 0 < n && n <= 999 {
+ const (
+ searchBits = 7
+ regionBits = 9
+ regionMask = 1<<regionBits - 1
+ )
+ idx := n >> searchBits
+ buf := fromM49[m49Index[idx]:m49Index[idx+1]]
+ val := uint16(n) << regionBits // we rely on bits shifting out
+ i := sort.Search(len(buf), func(i int) bool {
+ return buf[i] >= val
+ })
+ if r := fromM49[int(m49Index[idx])+i]; r&^regionMask == val {
+ return regionID(r & regionMask), nil
+ }
+ }
+ var e ValueError
+ fmt.Fprint(bytes.NewBuffer([]byte(e.v[:])), n)
+ return 0, e
+}
+
+// normRegion returns a region if r is deprecated or 0 otherwise.
+// TODO: consider supporting BYS (-> BLR), CSK (-> 200 or CZ), PHI (-> PHL) and AFI (-> DJ).
+// TODO: consider mapping split up regions to new most populous one (like CLDR).
+func normRegion(r regionID) regionID {
+ m := regionOldMap
+ k := sort.Search(len(m), func(i int) bool {
+ return m[i].from >= uint16(r)
+ })
+ if k < len(m) && m[k].from == uint16(r) {
+ return regionID(m[k].to)
+ }
+ return 0
+}
+
+const (
+ iso3166UserAssigned = 1 << iota
+ ccTLD
+ bcp47Region
+)
+
+func (r regionID) typ() byte {
+ return regionTypes[r]
+}
+
+// String returns the BCP 47 representation for the region.
+// It returns "ZZ" for an unspecified region.
+func (r regionID) String() string {
+ if r < isoRegionOffset {
+ if r == 0 {
+ return "ZZ"
+ }
+ return fmt.Sprintf("%03d", r.M49())
+ }
+ r -= isoRegionOffset
+ return regionISO.Elem(int(r))[:2]
+}
+
+// ISO3 returns the 3-letter ISO code of r.
+// Note that not all regions have a 3-letter ISO code.
+// In such cases this method returns "ZZZ".
+func (r regionID) ISO3() string {
+ if r < isoRegionOffset {
+ return "ZZZ"
+ }
+ r -= isoRegionOffset
+ reg := regionISO.Elem(int(r))
+ switch reg[2] {
+ case 0:
+ return altRegionISO3[reg[3]:][:3]
+ case ' ':
+ return "ZZZ"
+ }
+ return reg[0:1] + reg[2:4]
+}
+
+// M49 returns the UN M.49 encoding of r, or 0 if this encoding
+// is not defined for r.
+func (r regionID) M49() int {
+ return int(m49[r])
+}
+
+// IsPrivateUse reports whether r has the ISO 3166 User-assigned status. This
+// may include private-use tags that are assigned by CLDR and used in this
+// implementation. So IsPrivateUse and IsCountry can be simultaneously true.
+func (r regionID) IsPrivateUse() bool {
+ return r.typ()&iso3166UserAssigned != 0
+}
+
+type scriptID uint8
+
+// getScriptID returns the script id for string s. It assumes that s
+// is of the format [A-Z][a-z]{3}.
+func getScriptID(idx tag.Index, s []byte) (scriptID, error) {
+ i, err := findIndex(idx, s, "Zzzz")
+ return scriptID(i), err
+}
+
+// String returns the script code in title case.
+// It returns "Zzzz" for an unspecified script.
+func (s scriptID) String() string {
+ if s == 0 {
+ return "Zzzz"
+ }
+ return script.Elem(int(s))
+}
+
+// IsPrivateUse reports whether this script code is reserved for private use.
+func (s scriptID) IsPrivateUse() bool {
+ return _Qaaa <= s && s <= _Qabx
+}
+
+const (
+ maxAltTaglen = len("en-US-POSIX")
+ maxLen = maxAltTaglen
+)
+
+var (
+ // grandfatheredMap holds a mapping from legacy and grandfathered tags to
+ // their base language or index to more elaborate tag.
+ grandfatheredMap = map[[maxLen]byte]int16{
+ [maxLen]byte{'a', 'r', 't', '-', 'l', 'o', 'j', 'b', 'a', 'n'}: _jbo, // art-lojban
+ [maxLen]byte{'i', '-', 'a', 'm', 'i'}: _ami, // i-ami
+ [maxLen]byte{'i', '-', 'b', 'n', 'n'}: _bnn, // i-bnn
+ [maxLen]byte{'i', '-', 'h', 'a', 'k'}: _hak, // i-hak
+ [maxLen]byte{'i', '-', 'k', 'l', 'i', 'n', 'g', 'o', 'n'}: _tlh, // i-klingon
+ [maxLen]byte{'i', '-', 'l', 'u', 'x'}: _lb, // i-lux
+ [maxLen]byte{'i', '-', 'n', 'a', 'v', 'a', 'j', 'o'}: _nv, // i-navajo
+ [maxLen]byte{'i', '-', 'p', 'w', 'n'}: _pwn, // i-pwn
+ [maxLen]byte{'i', '-', 't', 'a', 'o'}: _tao, // i-tao
+ [maxLen]byte{'i', '-', 't', 'a', 'y'}: _tay, // i-tay
+ [maxLen]byte{'i', '-', 't', 's', 'u'}: _tsu, // i-tsu
+ [maxLen]byte{'n', 'o', '-', 'b', 'o', 'k'}: _nb, // no-bok
+ [maxLen]byte{'n', 'o', '-', 'n', 'y', 'n'}: _nn, // no-nyn
+ [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'f', 'r'}: _sfb, // sgn-BE-FR
+ [maxLen]byte{'s', 'g', 'n', '-', 'b', 'e', '-', 'n', 'l'}: _vgt, // sgn-BE-NL
+ [maxLen]byte{'s', 'g', 'n', '-', 'c', 'h', '-', 'd', 'e'}: _sgg, // sgn-CH-DE
+ [maxLen]byte{'z', 'h', '-', 'g', 'u', 'o', 'y', 'u'}: _cmn, // zh-guoyu
+ [maxLen]byte{'z', 'h', '-', 'h', 'a', 'k', 'k', 'a'}: _hak, // zh-hakka
+ [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n', '-', 'n', 'a', 'n'}: _nan, // zh-min-nan
+ [maxLen]byte{'z', 'h', '-', 'x', 'i', 'a', 'n', 'g'}: _hsn, // zh-xiang
+
+ // Grandfathered tags with no modern replacement will be converted as
+ // follows:
+ [maxLen]byte{'c', 'e', 'l', '-', 'g', 'a', 'u', 'l', 'i', 's', 'h'}: -1, // cel-gaulish
+ [maxLen]byte{'e', 'n', '-', 'g', 'b', '-', 'o', 'e', 'd'}: -2, // en-GB-oed
+ [maxLen]byte{'i', '-', 'd', 'e', 'f', 'a', 'u', 'l', 't'}: -3, // i-default
+ [maxLen]byte{'i', '-', 'e', 'n', 'o', 'c', 'h', 'i', 'a', 'n'}: -4, // i-enochian
+ [maxLen]byte{'i', '-', 'm', 'i', 'n', 'g', 'o'}: -5, // i-mingo
+ [maxLen]byte{'z', 'h', '-', 'm', 'i', 'n'}: -6, // zh-min
+
+ // CLDR-specific tag.
+ [maxLen]byte{'r', 'o', 'o', 't'}: 0, // root
+ [maxLen]byte{'e', 'n', '-', 'u', 's', '-', 'p', 'o', 's', 'i', 'x'}: -7, // en_US_POSIX"
+ }
+
+ altTagIndex = [...]uint8{0, 17, 31, 45, 61, 74, 86, 102}
+
+ altTags = "xtg-x-cel-gaulishen-GB-oxendicten-x-i-defaultund-x-i-enochiansee-x-i-mingonan-x-zh-minen-US-u-va-posix"
+)
+
+func grandfathered(s [maxAltTaglen]byte) (t Tag, ok bool) {
+ if v, ok := grandfatheredMap[s]; ok {
+ if v < 0 {
+ return Make(altTags[altTagIndex[-v-1]:altTagIndex[-v]]), true
+ }
+ t.lang = langID(v)
+ return t, true
+ }
+ return t, false
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/match.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/match.go
new file mode 100644
index 00000000..63bc744a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/match.go
@@ -0,0 +1,933 @@
+// 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 language
+
+import "errors"
+
+// A MatchOption configures a Matcher.
+type MatchOption func(*matcher)
+
+// PreferSameScript will, in the absence of a match, result in the first
+// preferred tag with the same script as a supported tag to match this supported
+// tag. The default is currently true, but this may change in the future.
+func PreferSameScript(preferSame bool) MatchOption {
+ return func(m *matcher) { m.preferSameScript = preferSame }
+}
+
+// Matcher is the interface that wraps the Match method.
+//
+// Match returns the best match for any of the given tags, along with
+// a unique index associated with the returned tag and a confidence
+// score.
+type Matcher interface {
+ Match(t ...Tag) (tag Tag, index int, c Confidence)
+}
+
+// Comprehends reports the confidence score for a speaker of a given language
+// to being able to comprehend the written form of an alternative language.
+func Comprehends(speaker, alternative Tag) Confidence {
+ _, _, c := NewMatcher([]Tag{alternative}).Match(speaker)
+ return c
+}
+
+// NewMatcher returns a Matcher that matches an ordered list of preferred tags
+// against a list of supported tags based on written intelligibility, closeness
+// of dialect, equivalence of subtags and various other rules. It is initialized
+// with the list of supported tags. The first element is used as the default
+// value in case no match is found.
+//
+// Its Match method matches the first of the given Tags to reach a certain
+// confidence threshold. The tags passed to Match should therefore be specified
+// in order of preference. Extensions are ignored for matching.
+//
+// The index returned by the Match method corresponds to the index of the
+// matched tag in t, but is augmented with the Unicode extension ('u')of the
+// corresponding preferred tag. This allows user locale options to be passed
+// transparently.
+func NewMatcher(t []Tag, options ...MatchOption) Matcher {
+ return newMatcher(t, options)
+}
+
+func (m *matcher) Match(want ...Tag) (t Tag, index int, c Confidence) {
+ match, w, c := m.getBest(want...)
+ if match != nil {
+ t, index = match.tag, match.index
+ } else {
+ // TODO: this should be an option
+ t = m.default_.tag
+ if m.preferSameScript {
+ outer:
+ for _, w := range want {
+ script, _ := w.Script()
+ if script.scriptID == 0 {
+ // Don't do anything if there is no script, such as with
+ // private subtags.
+ continue
+ }
+ for i, h := range m.supported {
+ if script.scriptID == h.maxScript {
+ t, index = h.tag, i
+ break outer
+ }
+ }
+ }
+ }
+ // TODO: select first language tag based on script.
+ }
+ if w.region != 0 && t.region != 0 && t.region.contains(w.region) {
+ t, _ = Raw.Compose(t, Region{w.region})
+ }
+ // Copy options from the user-provided tag into the result tag. This is hard
+ // to do after the fact, so we do it here.
+ // TODO: add in alternative variants to -u-va-.
+ // TODO: add preferred region to -u-rg-.
+ // TODO: add other extensions. Merge with existing extensions.
+ if u, ok := w.Extension('u'); ok {
+ t, _ = Raw.Compose(t, u)
+ }
+ return t, index, c
+}
+
+type scriptRegionFlags uint8
+
+const (
+ isList = 1 << iota
+ scriptInFrom
+ regionInFrom
+)
+
+func (t *Tag) setUndefinedLang(id langID) {
+ if t.lang == 0 {
+ t.lang = id
+ }
+}
+
+func (t *Tag) setUndefinedScript(id scriptID) {
+ if t.script == 0 {
+ t.script = id
+ }
+}
+
+func (t *Tag) setUndefinedRegion(id regionID) {
+ if t.region == 0 || t.region.contains(id) {
+ t.region = id
+ }
+}
+
+// ErrMissingLikelyTagsData indicates no information was available
+// to compute likely values of missing tags.
+var ErrMissingLikelyTagsData = errors.New("missing likely tags data")
+
+// addLikelySubtags sets subtags to their most likely value, given the locale.
+// In most cases this means setting fields for unknown values, but in some
+// cases it may alter a value. It returns a ErrMissingLikelyTagsData error
+// if the given locale cannot be expanded.
+func (t Tag) addLikelySubtags() (Tag, error) {
+ id, err := addTags(t)
+ if err != nil {
+ return t, err
+ } else if id.equalTags(t) {
+ return t, nil
+ }
+ id.remakeString()
+ return id, nil
+}
+
+// specializeRegion attempts to specialize a group region.
+func specializeRegion(t *Tag) bool {
+ if i := regionInclusion[t.region]; i < nRegionGroups {
+ x := likelyRegionGroup[i]
+ if langID(x.lang) == t.lang && scriptID(x.script) == t.script {
+ t.region = regionID(x.region)
+ }
+ return true
+ }
+ return false
+}
+
+func addTags(t Tag) (Tag, error) {
+ // We leave private use identifiers alone.
+ if t.private() {
+ return t, nil
+ }
+ if t.script != 0 && t.region != 0 {
+ if t.lang != 0 {
+ // already fully specified
+ specializeRegion(&t)
+ return t, nil
+ }
+ // Search matches for und-script-region. Note that for these cases
+ // region will never be a group so there is no need to check for this.
+ list := likelyRegion[t.region : t.region+1]
+ if x := list[0]; x.flags&isList != 0 {
+ list = likelyRegionList[x.lang : x.lang+uint16(x.script)]
+ }
+ for _, x := range list {
+ // Deviating from the spec. See match_test.go for details.
+ if scriptID(x.script) == t.script {
+ t.setUndefinedLang(langID(x.lang))
+ return t, nil
+ }
+ }
+ }
+ if t.lang != 0 {
+ // Search matches for lang-script and lang-region, where lang != und.
+ if t.lang < langNoIndexOffset {
+ x := likelyLang[t.lang]
+ if x.flags&isList != 0 {
+ list := likelyLangList[x.region : x.region+uint16(x.script)]
+ if t.script != 0 {
+ for _, x := range list {
+ if scriptID(x.script) == t.script && x.flags&scriptInFrom != 0 {
+ t.setUndefinedRegion(regionID(x.region))
+ return t, nil
+ }
+ }
+ } else if t.region != 0 {
+ count := 0
+ goodScript := true
+ tt := t
+ for _, x := range list {
+ // We visit all entries for which the script was not
+ // defined, including the ones where the region was not
+ // defined. This allows for proper disambiguation within
+ // regions.
+ if x.flags&scriptInFrom == 0 && t.region.contains(regionID(x.region)) {
+ tt.region = regionID(x.region)
+ tt.setUndefinedScript(scriptID(x.script))
+ goodScript = goodScript && tt.script == scriptID(x.script)
+ count++
+ }
+ }
+ if count == 1 {
+ return tt, nil
+ }
+ // Even if we fail to find a unique Region, we might have
+ // an unambiguous script.
+ if goodScript {
+ t.script = tt.script
+ }
+ }
+ }
+ }
+ } else {
+ // Search matches for und-script.
+ if t.script != 0 {
+ x := likelyScript[t.script]
+ if x.region != 0 {
+ t.setUndefinedRegion(regionID(x.region))
+ t.setUndefinedLang(langID(x.lang))
+ return t, nil
+ }
+ }
+ // Search matches for und-region. If und-script-region exists, it would
+ // have been found earlier.
+ if t.region != 0 {
+ if i := regionInclusion[t.region]; i < nRegionGroups {
+ x := likelyRegionGroup[i]
+ if x.region != 0 {
+ t.setUndefinedLang(langID(x.lang))
+ t.setUndefinedScript(scriptID(x.script))
+ t.region = regionID(x.region)
+ }
+ } else {
+ x := likelyRegion[t.region]
+ if x.flags&isList != 0 {
+ x = likelyRegionList[x.lang]
+ }
+ if x.script != 0 && x.flags != scriptInFrom {
+ t.setUndefinedLang(langID(x.lang))
+ t.setUndefinedScript(scriptID(x.script))
+ return t, nil
+ }
+ }
+ }
+ }
+
+ // Search matches for lang.
+ if t.lang < langNoIndexOffset {
+ x := likelyLang[t.lang]
+ if x.flags&isList != 0 {
+ x = likelyLangList[x.region]
+ }
+ if x.region != 0 {
+ t.setUndefinedScript(scriptID(x.script))
+ t.setUndefinedRegion(regionID(x.region))
+ }
+ specializeRegion(&t)
+ if t.lang == 0 {
+ t.lang = _en // default language
+ }
+ return t, nil
+ }
+ return t, ErrMissingLikelyTagsData
+}
+
+func (t *Tag) setTagsFrom(id Tag) {
+ t.lang = id.lang
+ t.script = id.script
+ t.region = id.region
+}
+
+// minimize removes the region or script subtags from t such that
+// t.addLikelySubtags() == t.minimize().addLikelySubtags().
+func (t Tag) minimize() (Tag, error) {
+ t, err := minimizeTags(t)
+ if err != nil {
+ return t, err
+ }
+ t.remakeString()
+ return t, nil
+}
+
+// minimizeTags mimics the behavior of the ICU 51 C implementation.
+func minimizeTags(t Tag) (Tag, error) {
+ if t.equalTags(und) {
+ return t, nil
+ }
+ max, err := addTags(t)
+ if err != nil {
+ return t, err
+ }
+ for _, id := range [...]Tag{
+ {lang: t.lang},
+ {lang: t.lang, region: t.region},
+ {lang: t.lang, script: t.script},
+ } {
+ if x, err := addTags(id); err == nil && max.equalTags(x) {
+ t.setTagsFrom(id)
+ break
+ }
+ }
+ return t, nil
+}
+
+// Tag Matching
+// CLDR defines an algorithm for finding the best match between two sets of language
+// tags. The basic algorithm defines how to score a possible match and then find
+// the match with the best score
+// (see http://www.unicode.org/reports/tr35/#LanguageMatching).
+// Using scoring has several disadvantages. The scoring obfuscates the importance of
+// the various factors considered, making the algorithm harder to understand. Using
+// scoring also requires the full score to be computed for each pair of tags.
+//
+// We will use a different algorithm which aims to have the following properties:
+// - clarity on the precedence of the various selection factors, and
+// - improved performance by allowing early termination of a comparison.
+//
+// Matching algorithm (overview)
+// Input:
+// - supported: a set of supported tags
+// - default: the default tag to return in case there is no match
+// - desired: list of desired tags, ordered by preference, starting with
+// the most-preferred.
+//
+// Algorithm:
+// 1) Set the best match to the lowest confidence level
+// 2) For each tag in "desired":
+// a) For each tag in "supported":
+// 1) compute the match between the two tags.
+// 2) if the match is better than the previous best match, replace it
+// with the new match. (see next section)
+// b) if the current best match is above a certain threshold, return this
+// match without proceeding to the next tag in "desired". [See Note 1]
+// 3) If the best match so far is below a certain threshold, return "default".
+//
+// Ranking:
+// We use two phases to determine whether one pair of tags are a better match
+// than another pair of tags. First, we determine a rough confidence level. If the
+// levels are different, the one with the highest confidence wins.
+// Second, if the rough confidence levels are identical, we use a set of tie-breaker
+// rules.
+//
+// The confidence level of matching a pair of tags is determined by finding the
+// lowest confidence level of any matches of the corresponding subtags (the
+// result is deemed as good as its weakest link).
+// We define the following levels:
+// Exact - An exact match of a subtag, before adding likely subtags.
+// MaxExact - An exact match of a subtag, after adding likely subtags.
+// [See Note 2].
+// High - High level of mutual intelligibility between different subtag
+// variants.
+// Low - Low level of mutual intelligibility between different subtag
+// variants.
+// No - No mutual intelligibility.
+//
+// The following levels can occur for each type of subtag:
+// Base: Exact, MaxExact, High, Low, No
+// Script: Exact, MaxExact [see Note 3], Low, No
+// Region: Exact, MaxExact, High
+// Variant: Exact, High
+// Private: Exact, No
+//
+// Any result with a confidence level of Low or higher is deemed a possible match.
+// Once a desired tag matches any of the supported tags with a level of MaxExact
+// or higher, the next desired tag is not considered (see Step 2.b).
+// Note that CLDR provides languageMatching data that defines close equivalence
+// classes for base languages, scripts and regions.
+//
+// Tie-breaking
+// If we get the same confidence level for two matches, we apply a sequence of
+// tie-breaking rules. The first that succeeds defines the result. The rules are
+// applied in the following order.
+// 1) Original language was defined and was identical.
+// 2) Original region was defined and was identical.
+// 3) Distance between two maximized regions was the smallest.
+// 4) Original script was defined and was identical.
+// 5) Distance from want tag to have tag using the parent relation [see Note 5.]
+// If there is still no winner after these rules are applied, the first match
+// found wins.
+//
+// Notes:
+// [1] Note that even if we may not have a perfect match, if a match is above a
+// certain threshold, it is considered a better match than any other match
+// to a tag later in the list of preferred language tags.
+// [2] In practice, as matching of Exact is done in a separate phase from
+// matching the other levels, we reuse the Exact level to mean MaxExact in
+// the second phase. As a consequence, we only need the levels defined by
+// the Confidence type. The MaxExact confidence level is mapped to High in
+// the public API.
+// [3] We do not differentiate between maximized script values that were derived
+// from suppressScript versus most likely tag data. We determined that in
+// ranking the two, one ranks just after the other. Moreover, the two cannot
+// occur concurrently. As a consequence, they are identical for practical
+// purposes.
+// [4] In case of deprecated, macro-equivalents and legacy mappings, we assign
+// the MaxExact level to allow iw vs he to still be a closer match than
+// en-AU vs en-US, for example.
+// [5] In CLDR a locale inherits fields that are unspecified for this locale
+// from its parent. Therefore, if a locale is a parent of another locale,
+// it is a strong measure for closeness, especially when no other tie
+// breaker rule applies. One could also argue it is inconsistent, for
+// example, when pt-AO matches pt (which CLDR equates with pt-BR), even
+// though its parent is pt-PT according to the inheritance rules.
+//
+// Implementation Details:
+// There are several performance considerations worth pointing out. Most notably,
+// we preprocess as much as possible (within reason) at the time of creation of a
+// matcher. This includes:
+// - creating a per-language map, which includes data for the raw base language
+// and its canonicalized variant (if applicable),
+// - expanding entries for the equivalence classes defined in CLDR's
+// languageMatch data.
+// The per-language map ensures that typically only a very small number of tags
+// need to be considered. The pre-expansion of canonicalized subtags and
+// equivalence classes reduces the amount of map lookups that need to be done at
+// runtime.
+
+// matcher keeps a set of supported language tags, indexed by language.
+type matcher struct {
+ default_ *haveTag
+ supported []*haveTag
+ index map[langID]*matchHeader
+ passSettings bool
+ preferSameScript bool
+}
+
+// matchHeader has the lists of tags for exact matches and matches based on
+// maximized and canonicalized tags for a given language.
+type matchHeader struct {
+ exact []*haveTag
+ max []*haveTag
+}
+
+// haveTag holds a supported Tag and its maximized script and region. The maximized
+// or canonicalized language is not stored as it is not needed during matching.
+type haveTag struct {
+ tag Tag
+
+ // index of this tag in the original list of supported tags.
+ index int
+
+ // conf is the maximum confidence that can result from matching this haveTag.
+ // When conf < Exact this means it was inserted after applying a CLDR equivalence rule.
+ conf Confidence
+
+ // Maximized region and script.
+ maxRegion regionID
+ maxScript scriptID
+
+ // altScript may be checked as an alternative match to maxScript. If altScript
+ // matches, the confidence level for this match is Low. Theoretically there
+ // could be multiple alternative scripts. This does not occur in practice.
+ altScript scriptID
+
+ // nextMax is the index of the next haveTag with the same maximized tags.
+ nextMax uint16
+}
+
+func makeHaveTag(tag Tag, index int) (haveTag, langID) {
+ max := tag
+ if tag.lang != 0 {
+ max, _ = max.canonicalize(All)
+ max, _ = addTags(max)
+ max.remakeString()
+ }
+ return haveTag{tag, index, Exact, max.region, max.script, altScript(max.lang, max.script), 0}, max.lang
+}
+
+// altScript returns an alternative script that may match the given script with
+// a low confidence. At the moment, the langMatch data allows for at most one
+// script to map to another and we rely on this to keep the code simple.
+func altScript(l langID, s scriptID) scriptID {
+ for _, alt := range matchScript {
+ // TODO: also match cases where language is not the same.
+ if (langID(alt.wantLang) == l || langID(alt.haveLang) == l) &&
+ scriptID(alt.haveScript) == s {
+ return scriptID(alt.wantScript)
+ }
+ }
+ return 0
+}
+
+// addIfNew adds a haveTag to the list of tags only if it is a unique tag.
+// Tags that have the same maximized values are linked by index.
+func (h *matchHeader) addIfNew(n haveTag, exact bool) {
+ // Don't add new exact matches.
+ for _, v := range h.exact {
+ if v.tag.equalsRest(n.tag) {
+ return
+ }
+ }
+ if exact {
+ h.exact = append(h.exact, &n)
+ }
+ // Allow duplicate maximized tags, but create a linked list to allow quickly
+ // comparing the equivalents and bail out.
+ for i, v := range h.max {
+ if v.maxScript == n.maxScript &&
+ v.maxRegion == n.maxRegion &&
+ v.tag.variantOrPrivateTagStr() == n.tag.variantOrPrivateTagStr() {
+ for h.max[i].nextMax != 0 {
+ i = int(h.max[i].nextMax)
+ }
+ h.max[i].nextMax = uint16(len(h.max))
+ break
+ }
+ }
+ h.max = append(h.max, &n)
+}
+
+// header returns the matchHeader for the given language. It creates one if
+// it doesn't already exist.
+func (m *matcher) header(l langID) *matchHeader {
+ if h := m.index[l]; h != nil {
+ return h
+ }
+ h := &matchHeader{}
+ m.index[l] = h
+ return h
+}
+
+func toConf(d uint8) Confidence {
+ if d <= 10 {
+ return High
+ }
+ if d < 30 {
+ return Low
+ }
+ return No
+}
+
+// newMatcher builds an index for the given supported tags and returns it as
+// a matcher. It also expands the index by considering various equivalence classes
+// for a given tag.
+func newMatcher(supported []Tag, options []MatchOption) *matcher {
+ m := &matcher{
+ index: make(map[langID]*matchHeader),
+ preferSameScript: true,
+ }
+ for _, o := range options {
+ o(m)
+ }
+ if len(supported) == 0 {
+ m.default_ = &haveTag{}
+ return m
+ }
+ // Add supported languages to the index. Add exact matches first to give
+ // them precedence.
+ for i, tag := range supported {
+ pair, _ := makeHaveTag(tag, i)
+ m.header(tag.lang).addIfNew(pair, true)
+ m.supported = append(m.supported, &pair)
+ }
+ m.default_ = m.header(supported[0].lang).exact[0]
+ for i, tag := range supported {
+ pair, max := makeHaveTag(tag, i)
+ if max != tag.lang {
+ m.header(max).addIfNew(pair, false)
+ }
+ }
+
+ // TODO: include alt script.
+ // - don't replace regions, but allow regions to be made more specific.
+
+ // update is used to add indexes in the map for equivalent languages.
+ // If force is true, the update will also apply to derived entries. To
+ // avoid applying a "transitive closure", use false.
+ update := func(want, have uint16, conf Confidence, force bool) {
+ if hh := m.index[langID(have)]; hh != nil {
+ if !force && len(hh.exact) == 0 {
+ return
+ }
+ hw := m.header(langID(want))
+ for _, ht := range hh.max {
+ v := *ht
+ if conf < v.conf {
+ v.conf = conf
+ }
+ v.nextMax = 0 // this value needs to be recomputed
+ if v.altScript != 0 {
+ v.altScript = altScript(langID(want), v.maxScript)
+ }
+ hw.addIfNew(v, conf == Exact && len(hh.exact) > 0)
+ }
+ }
+ }
+
+ // Add entries for languages with mutual intelligibility as defined by CLDR's
+ // languageMatch data.
+ for _, ml := range matchLang {
+ update(ml.want, ml.have, toConf(ml.distance), false)
+ if !ml.oneway {
+ update(ml.have, ml.want, toConf(ml.distance), false)
+ }
+ }
+
+ // Add entries for possible canonicalizations. This is an optimization to
+ // ensure that only one map lookup needs to be done at runtime per desired tag.
+ // First we match deprecated equivalents. If they are perfect equivalents
+ // (their canonicalization simply substitutes a different language code, but
+ // nothing else), the match confidence is Exact, otherwise it is High.
+ for i, lm := range langAliasMap {
+ if lm.from == _sh {
+ continue
+ }
+
+ // If deprecated codes match and there is no fiddling with the script or
+ // or region, we consider it an exact match.
+ conf := Exact
+ if langAliasTypes[i] != langMacro {
+ if !isExactEquivalent(langID(lm.from)) {
+ conf = High
+ }
+ update(lm.to, lm.from, conf, true)
+ }
+ update(lm.from, lm.to, conf, true)
+ }
+ return m
+}
+
+// getBest gets the best matching tag in m for any of the given tags, taking into
+// account the order of preference of the given tags.
+func (m *matcher) getBest(want ...Tag) (got *haveTag, orig Tag, c Confidence) {
+ best := bestMatch{}
+ for _, w := range want {
+ var max Tag
+ // Check for exact match first.
+ h := m.index[w.lang]
+ if w.lang != 0 {
+ // Base language is defined.
+ if h == nil {
+ continue
+ }
+ for i := range h.exact {
+ have := h.exact[i]
+ if have.tag.equalsRest(w) {
+ return have, w, Exact
+ }
+ }
+ max, _ = w.canonicalize(Legacy | Deprecated)
+ max, _ = addTags(max)
+ } else {
+ // Base language is not defined.
+ if h != nil {
+ for i := range h.exact {
+ have := h.exact[i]
+ if have.tag.equalsRest(w) {
+ return have, w, Exact
+ }
+ }
+ }
+ if w.script == 0 && w.region == 0 {
+ // We skip all tags matching und for approximate matching, including
+ // private tags.
+ continue
+ }
+ max, _ = addTags(w)
+ if h = m.index[max.lang]; h == nil {
+ continue
+ }
+ }
+ // Check for match based on maximized tag.
+ for i := range h.max {
+ have := h.max[i]
+ best.update(have, w, max.script, max.region)
+ if best.conf == Exact {
+ for have.nextMax != 0 {
+ have = h.max[have.nextMax]
+ best.update(have, w, max.script, max.region)
+ }
+ return best.have, best.want, High
+ }
+ }
+ }
+ if best.conf <= No {
+ if len(want) != 0 {
+ return nil, want[0], No
+ }
+ return nil, Tag{}, No
+ }
+ return best.have, best.want, best.conf
+}
+
+// bestMatch accumulates the best match so far.
+type bestMatch struct {
+ have *haveTag
+ want Tag
+ conf Confidence
+ // Cached results from applying tie-breaking rules.
+ origLang bool
+ origReg bool
+ regGroupDist uint8
+ regDist uint8
+ origScript bool
+ parentDist uint8 // 255 if have is not an ancestor of want tag.
+}
+
+// update updates the existing best match if the new pair is considered to be a
+// better match.
+// To determine if the given pair is a better match, it first computes the rough
+// confidence level. If this surpasses the current match, it will replace it and
+// update the tie-breaker rule cache. If there is a tie, it proceeds with applying
+// a series of tie-breaker rules. If there is no conclusive winner after applying
+// the tie-breaker rules, it leaves the current match as the preferred match.
+func (m *bestMatch) update(have *haveTag, tag Tag, maxScript scriptID, maxRegion regionID) {
+ // Bail if the maximum attainable confidence is below that of the current best match.
+ c := have.conf
+ if c < m.conf {
+ return
+ }
+ if have.maxScript != maxScript {
+ // There is usually very little comprehension between different scripts.
+ // In a few cases there may still be Low comprehension. This possibility is
+ // pre-computed and stored in have.altScript.
+ if Low < m.conf || have.altScript != maxScript {
+ return
+ }
+ c = Low
+ } else if have.maxRegion != maxRegion {
+ // There is usually a small difference between languages across regions.
+ // We use the region distance (below) to disambiguate between equal matches.
+ if High < c {
+ c = High
+ }
+ }
+
+ // We store the results of the computations of the tie-breaker rules along
+ // with the best match. There is no need to do the checks once we determine
+ // we have a winner, but we do still need to do the tie-breaker computations.
+ // We use "beaten" to keep track if we still need to do the checks.
+ beaten := false // true if the new pair defeats the current one.
+ if c != m.conf {
+ if c < m.conf {
+ return
+ }
+ beaten = true
+ }
+
+ // Tie-breaker rules:
+ // We prefer if the pre-maximized language was specified and identical.
+ origLang := have.tag.lang == tag.lang && tag.lang != 0
+ if !beaten && m.origLang != origLang {
+ if m.origLang {
+ return
+ }
+ beaten = true
+ }
+
+ regGroupDist := regionGroupDist(have.maxRegion, maxRegion, maxScript, tag.lang)
+ if !beaten && m.regGroupDist != regGroupDist {
+ if regGroupDist > m.regGroupDist {
+ return
+ }
+ beaten = true
+ }
+
+ // We prefer if the pre-maximized region was specified and identical.
+ origReg := have.tag.region == tag.region && tag.region != 0
+ if !beaten && m.origReg != origReg {
+ if m.origReg {
+ return
+ }
+ beaten = true
+ }
+
+ // TODO: remove the region distance rule. Region distance has been replaced
+ // by the region grouping rule. For now we leave it as it still seems to
+ // have a net positive effect when applied after the grouping rule.
+ // Possible solutions:
+ // - apply the primary locale rule first to effectively disable region
+ // region distance if groups are defined.
+ // - express the following errors in terms of grouping (if possible)
+ // - find another method of handling the following cases.
+ // maximization of legacy: find mo in
+ // "sr-Cyrl, sr-Latn, ro, ro-MD": have ro; want ro-MD (High)
+ // region distance French: find fr-US in
+ // "en, fr, fr-CA, fr-CH": have fr; want fr-CA (High)
+
+ // Next we prefer smaller distances between regions, as defined by
+ // regionDist.
+ regDist := uint8(regionDistance(have.maxRegion, maxRegion))
+ if !beaten && m.regDist != regDist {
+ if regDist > m.regDist {
+ return
+ }
+ beaten = true
+ }
+
+ // Next we prefer if the pre-maximized script was specified and identical.
+ origScript := have.tag.script == tag.script && tag.script != 0
+ if !beaten && m.origScript != origScript {
+ if m.origScript {
+ return
+ }
+ beaten = true
+ }
+
+ // Finally we prefer tags which have a closer parent relationship.
+ // TODO: the parent relationship no longer seems necessary. It doesn't hurt
+ // to leave it in as the final tie-breaker, though, especially until the
+ // grouping data has further matured.
+ parentDist := parentDistance(have.tag.region, tag)
+ if !beaten && m.parentDist != parentDist {
+ if parentDist > m.parentDist {
+ return
+ }
+ beaten = true
+ }
+
+ // Update m to the newly found best match.
+ if beaten {
+ m.have = have
+ m.want = tag
+ m.conf = c
+ m.origLang = origLang
+ m.origReg = origReg
+ m.origScript = origScript
+ m.regGroupDist = regGroupDist
+ m.regDist = regDist
+ m.parentDist = parentDist
+ }
+}
+
+// parentDistance returns the number of times Parent must be called before the
+// regions match. It is assumed that it has already been checked that lang and
+// script are identical. If haveRegion does not occur in the ancestor chain of
+// tag, it returns 255.
+func parentDistance(haveRegion regionID, tag Tag) uint8 {
+ p := tag.Parent()
+ d := uint8(1)
+ for haveRegion != p.region {
+ if p.region == 0 {
+ return 255
+ }
+ p = p.Parent()
+ d++
+ }
+ return d
+}
+
+// regionGroupDist computes the distance between two regions based on their
+// CLDR grouping.
+func regionGroupDist(a, b regionID, script scriptID, lang langID) uint8 {
+ aGroup := uint(regionToGroups[a]) << 1
+ bGroup := uint(regionToGroups[b]) << 1
+ for _, ri := range matchRegion {
+ if langID(ri.lang) == lang && (ri.script == 0 || scriptID(ri.script) == script) {
+ group := uint(1 << (ri.group &^ 0x80))
+ if 0x80&ri.group == 0 {
+ if aGroup&bGroup&group != 0 { // Both regions are in the group.
+ return ri.distance
+ }
+ } else {
+ if (aGroup|bGroup)&group == 0 { // Both regions are not in the group.
+ return ri.distance
+ }
+ }
+ }
+ }
+ const defaultDistance = 4
+ return defaultDistance
+}
+
+// regionDistance computes the distance between two regions based on the
+// distance in the graph of region containments as defined in CLDR. It iterates
+// over increasingly inclusive sets of groups, represented as bit vectors, until
+// the source bit vector has bits in common with the destination vector.
+func regionDistance(a, b regionID) int {
+ if a == b {
+ return 0
+ }
+ p, q := regionInclusion[a], regionInclusion[b]
+ if p < nRegionGroups {
+ p, q = q, p
+ }
+ set := regionInclusionBits
+ if q < nRegionGroups && set[p]&(1<<q) != 0 {
+ return 1
+ }
+ d := 2
+ for goal := set[q]; set[p]&goal == 0; p = regionInclusionNext[p] {
+ d++
+ }
+ return d
+}
+
+func (t Tag) variants() string {
+ if t.pVariant == 0 {
+ return ""
+ }
+ return t.str[t.pVariant:t.pExt]
+}
+
+// variantOrPrivateTagStr returns variants or private use tags.
+func (t Tag) variantOrPrivateTagStr() string {
+ if t.pExt > 0 {
+ return t.str[t.pVariant:t.pExt]
+ }
+ return t.str[t.pVariant:]
+}
+
+// equalsRest compares everything except the language.
+func (a Tag) equalsRest(b Tag) bool {
+ // TODO: don't include extensions in this comparison. To do this efficiently,
+ // though, we should handle private tags separately.
+ return a.script == b.script && a.region == b.region && a.variantOrPrivateTagStr() == b.variantOrPrivateTagStr()
+}
+
+// isExactEquivalent returns true if canonicalizing the language will not alter
+// the script or region of a tag.
+func isExactEquivalent(l langID) bool {
+ for _, o := range notEquivalent {
+ if o == l {
+ return false
+ }
+ }
+ return true
+}
+
+var notEquivalent []langID
+
+func init() {
+ // Create a list of all languages for which canonicalization may alter the
+ // script or region.
+ for _, lm := range langAliasMap {
+ tag := Tag{lang: langID(lm.from)}
+ if tag, _ = tag.canonicalize(All); tag.script != 0 || tag.region != 0 {
+ notEquivalent = append(notEquivalent, langID(lm.from))
+ }
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/parse.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/parse.go
new file mode 100644
index 00000000..cfa28f56
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/parse.go
@@ -0,0 +1,859 @@
+// 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 language
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "sort"
+ "strconv"
+ "strings"
+
+ "golang.org/x/text/internal/tag"
+)
+
+// isAlpha returns true if the byte is not a digit.
+// b must be an ASCII letter or digit.
+func isAlpha(b byte) bool {
+ return b > '9'
+}
+
+// isAlphaNum returns true if the string contains only ASCII letters or digits.
+func isAlphaNum(s []byte) bool {
+ for _, c := range s {
+ if !('a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || '0' <= c && c <= '9') {
+ return false
+ }
+ }
+ return true
+}
+
+// errSyntax is returned by any of the parsing functions when the
+// input is not well-formed, according to BCP 47.
+// TODO: return the position at which the syntax error occurred?
+var errSyntax = errors.New("language: tag is not well-formed")
+
+// ValueError is returned by any of the parsing functions when the
+// input is well-formed but the respective subtag is not recognized
+// as a valid value.
+type ValueError struct {
+ v [8]byte
+}
+
+func mkErrInvalid(s []byte) error {
+ var e ValueError
+ copy(e.v[:], s)
+ return e
+}
+
+func (e ValueError) tag() []byte {
+ n := bytes.IndexByte(e.v[:], 0)
+ if n == -1 {
+ n = 8
+ }
+ return e.v[:n]
+}
+
+// Error implements the error interface.
+func (e ValueError) Error() string {
+ return fmt.Sprintf("language: subtag %q is well-formed but unknown", e.tag())
+}
+
+// Subtag returns the subtag for which the error occurred.
+func (e ValueError) Subtag() string {
+ return string(e.tag())
+}
+
+// scanner is used to scan BCP 47 tokens, which are separated by _ or -.
+type scanner struct {
+ b []byte
+ bytes [max99thPercentileSize]byte
+ token []byte
+ start int // start position of the current token
+ end int // end position of the current token
+ next int // next point for scan
+ err error
+ done bool
+}
+
+func makeScannerString(s string) scanner {
+ scan := scanner{}
+ if len(s) <= len(scan.bytes) {
+ scan.b = scan.bytes[:copy(scan.bytes[:], s)]
+ } else {
+ scan.b = []byte(s)
+ }
+ scan.init()
+ return scan
+}
+
+// makeScanner returns a scanner using b as the input buffer.
+// b is not copied and may be modified by the scanner routines.
+func makeScanner(b []byte) scanner {
+ scan := scanner{b: b}
+ scan.init()
+ return scan
+}
+
+func (s *scanner) init() {
+ for i, c := range s.b {
+ if c == '_' {
+ s.b[i] = '-'
+ }
+ }
+ s.scan()
+}
+
+// restToLower converts the string between start and end to lower case.
+func (s *scanner) toLower(start, end int) {
+ for i := start; i < end; i++ {
+ c := s.b[i]
+ if 'A' <= c && c <= 'Z' {
+ s.b[i] += 'a' - 'A'
+ }
+ }
+}
+
+func (s *scanner) setError(e error) {
+ if s.err == nil || (e == errSyntax && s.err != errSyntax) {
+ s.err = e
+ }
+}
+
+// resizeRange shrinks or grows the array at position oldStart such that
+// a new string of size newSize can fit between oldStart and oldEnd.
+// Sets the scan point to after the resized range.
+func (s *scanner) resizeRange(oldStart, oldEnd, newSize int) {
+ s.start = oldStart
+ if end := oldStart + newSize; end != oldEnd {
+ diff := end - oldEnd
+ if end < cap(s.b) {
+ b := make([]byte, len(s.b)+diff)
+ copy(b, s.b[:oldStart])
+ copy(b[end:], s.b[oldEnd:])
+ s.b = b
+ } else {
+ s.b = append(s.b[end:], s.b[oldEnd:]...)
+ }
+ s.next = end + (s.next - s.end)
+ s.end = end
+ }
+}
+
+// replace replaces the current token with repl.
+func (s *scanner) replace(repl string) {
+ s.resizeRange(s.start, s.end, len(repl))
+ copy(s.b[s.start:], repl)
+}
+
+// gobble removes the current token from the input.
+// Caller must call scan after calling gobble.
+func (s *scanner) gobble(e error) {
+ s.setError(e)
+ if s.start == 0 {
+ s.b = s.b[:+copy(s.b, s.b[s.next:])]
+ s.end = 0
+ } else {
+ s.b = s.b[:s.start-1+copy(s.b[s.start-1:], s.b[s.end:])]
+ s.end = s.start - 1
+ }
+ s.next = s.start
+}
+
+// deleteRange removes the given range from s.b before the current token.
+func (s *scanner) deleteRange(start, end int) {
+ s.setError(errSyntax)
+ s.b = s.b[:start+copy(s.b[start:], s.b[end:])]
+ diff := end - start
+ s.next -= diff
+ s.start -= diff
+ s.end -= diff
+}
+
+// scan parses the next token of a BCP 47 string. Tokens that are larger
+// than 8 characters or include non-alphanumeric characters result in an error
+// and are gobbled and removed from the output.
+// It returns the end position of the last token consumed.
+func (s *scanner) scan() (end int) {
+ end = s.end
+ s.token = nil
+ for s.start = s.next; s.next < len(s.b); {
+ i := bytes.IndexByte(s.b[s.next:], '-')
+ if i == -1 {
+ s.end = len(s.b)
+ s.next = len(s.b)
+ i = s.end - s.start
+ } else {
+ s.end = s.next + i
+ s.next = s.end + 1
+ }
+ token := s.b[s.start:s.end]
+ if i < 1 || i > 8 || !isAlphaNum(token) {
+ s.gobble(errSyntax)
+ continue
+ }
+ s.token = token
+ return end
+ }
+ if n := len(s.b); n > 0 && s.b[n-1] == '-' {
+ s.setError(errSyntax)
+ s.b = s.b[:len(s.b)-1]
+ }
+ s.done = true
+ return end
+}
+
+// acceptMinSize parses multiple tokens of the given size or greater.
+// It returns the end position of the last token consumed.
+func (s *scanner) acceptMinSize(min int) (end int) {
+ end = s.end
+ s.scan()
+ for ; len(s.token) >= min; s.scan() {
+ end = s.end
+ }
+ return end
+}
+
+// Parse parses the given BCP 47 string and returns a valid Tag. If parsing
+// failed it returns an error and any part of the tag that could be parsed.
+// If parsing succeeded but an unknown value was found, it returns
+// ValueError. The Tag returned in this case is just stripped of the unknown
+// value. All other values are preserved. It accepts tags in the BCP 47 format
+// and extensions to this standard defined in
+// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
+// The resulting tag is canonicalized using the default canonicalization type.
+func Parse(s string) (t Tag, err error) {
+ return Default.Parse(s)
+}
+
+// Parse parses the given BCP 47 string and returns a valid Tag. If parsing
+// failed it returns an error and any part of the tag that could be parsed.
+// If parsing succeeded but an unknown value was found, it returns
+// ValueError. The Tag returned in this case is just stripped of the unknown
+// value. All other values are preserved. It accepts tags in the BCP 47 format
+// and extensions to this standard defined in
+// http://www.unicode.org/reports/tr35/#Unicode_Language_and_Locale_Identifiers.
+// The resulting tag is canonicalized using the the canonicalization type c.
+func (c CanonType) Parse(s string) (t Tag, err error) {
+ // TODO: consider supporting old-style locale key-value pairs.
+ if s == "" {
+ return und, errSyntax
+ }
+ if len(s) <= maxAltTaglen {
+ b := [maxAltTaglen]byte{}
+ for i, c := range s {
+ // Generating invalid UTF-8 is okay as it won't match.
+ if 'A' <= c && c <= 'Z' {
+ c += 'a' - 'A'
+ } else if c == '_' {
+ c = '-'
+ }
+ b[i] = byte(c)
+ }
+ if t, ok := grandfathered(b); ok {
+ return t, nil
+ }
+ }
+ scan := makeScannerString(s)
+ t, err = parse(&scan, s)
+ t, changed := t.canonicalize(c)
+ if changed {
+ t.remakeString()
+ }
+ return t, err
+}
+
+func parse(scan *scanner, s string) (t Tag, err error) {
+ t = und
+ var end int
+ if n := len(scan.token); n <= 1 {
+ scan.toLower(0, len(scan.b))
+ if n == 0 || scan.token[0] != 'x' {
+ return t, errSyntax
+ }
+ end = parseExtensions(scan)
+ } else if n >= 4 {
+ return und, errSyntax
+ } else { // the usual case
+ t, end = parseTag(scan)
+ if n := len(scan.token); n == 1 {
+ t.pExt = uint16(end)
+ end = parseExtensions(scan)
+ } else if end < len(scan.b) {
+ scan.setError(errSyntax)
+ scan.b = scan.b[:end]
+ }
+ }
+ if int(t.pVariant) < len(scan.b) {
+ if end < len(s) {
+ s = s[:end]
+ }
+ if len(s) > 0 && tag.Compare(s, scan.b) == 0 {
+ t.str = s
+ } else {
+ t.str = string(scan.b)
+ }
+ } else {
+ t.pVariant, t.pExt = 0, 0
+ }
+ return t, scan.err
+}
+
+// parseTag parses language, script, region and variants.
+// It returns a Tag and the end position in the input that was parsed.
+func parseTag(scan *scanner) (t Tag, end int) {
+ var e error
+ // TODO: set an error if an unknown lang, script or region is encountered.
+ t.lang, e = getLangID(scan.token)
+ scan.setError(e)
+ scan.replace(t.lang.String())
+ langStart := scan.start
+ end = scan.scan()
+ for len(scan.token) == 3 && isAlpha(scan.token[0]) {
+ // From http://tools.ietf.org/html/bcp47, <lang>-<extlang> tags are equivalent
+ // to a tag of the form <extlang>.
+ lang, e := getLangID(scan.token)
+ if lang != 0 {
+ t.lang = lang
+ copy(scan.b[langStart:], lang.String())
+ scan.b[langStart+3] = '-'
+ scan.start = langStart + 4
+ }
+ scan.gobble(e)
+ end = scan.scan()
+ }
+ if len(scan.token) == 4 && isAlpha(scan.token[0]) {
+ t.script, e = getScriptID(script, scan.token)
+ if t.script == 0 {
+ scan.gobble(e)
+ }
+ end = scan.scan()
+ }
+ if n := len(scan.token); n >= 2 && n <= 3 {
+ t.region, e = getRegionID(scan.token)
+ if t.region == 0 {
+ scan.gobble(e)
+ } else {
+ scan.replace(t.region.String())
+ }
+ end = scan.scan()
+ }
+ scan.toLower(scan.start, len(scan.b))
+ t.pVariant = byte(end)
+ end = parseVariants(scan, end, t)
+ t.pExt = uint16(end)
+ return t, end
+}
+
+var separator = []byte{'-'}
+
+// parseVariants scans tokens as long as each token is a valid variant string.
+// Duplicate variants are removed.
+func parseVariants(scan *scanner, end int, t Tag) int {
+ start := scan.start
+ varIDBuf := [4]uint8{}
+ variantBuf := [4][]byte{}
+ varID := varIDBuf[:0]
+ variant := variantBuf[:0]
+ last := -1
+ needSort := false
+ for ; len(scan.token) >= 4; scan.scan() {
+ // TODO: measure the impact of needing this conversion and redesign
+ // the data structure if there is an issue.
+ v, ok := variantIndex[string(scan.token)]
+ if !ok {
+ // unknown variant
+ // TODO: allow user-defined variants?
+ scan.gobble(mkErrInvalid(scan.token))
+ continue
+ }
+ varID = append(varID, v)
+ variant = append(variant, scan.token)
+ if !needSort {
+ if last < int(v) {
+ last = int(v)
+ } else {
+ needSort = true
+ // There is no legal combinations of more than 7 variants
+ // (and this is by no means a useful sequence).
+ const maxVariants = 8
+ if len(varID) > maxVariants {
+ break
+ }
+ }
+ }
+ end = scan.end
+ }
+ if needSort {
+ sort.Sort(variantsSort{varID, variant})
+ k, l := 0, -1
+ for i, v := range varID {
+ w := int(v)
+ if l == w {
+ // Remove duplicates.
+ continue
+ }
+ varID[k] = varID[i]
+ variant[k] = variant[i]
+ k++
+ l = w
+ }
+ if str := bytes.Join(variant[:k], separator); len(str) == 0 {
+ end = start - 1
+ } else {
+ scan.resizeRange(start, end, len(str))
+ copy(scan.b[scan.start:], str)
+ end = scan.end
+ }
+ }
+ return end
+}
+
+type variantsSort struct {
+ i []uint8
+ v [][]byte
+}
+
+func (s variantsSort) Len() int {
+ return len(s.i)
+}
+
+func (s variantsSort) Swap(i, j int) {
+ s.i[i], s.i[j] = s.i[j], s.i[i]
+ s.v[i], s.v[j] = s.v[j], s.v[i]
+}
+
+func (s variantsSort) Less(i, j int) bool {
+ return s.i[i] < s.i[j]
+}
+
+type bytesSort [][]byte
+
+func (b bytesSort) Len() int {
+ return len(b)
+}
+
+func (b bytesSort) Swap(i, j int) {
+ b[i], b[j] = b[j], b[i]
+}
+
+func (b bytesSort) Less(i, j int) bool {
+ return bytes.Compare(b[i], b[j]) == -1
+}
+
+// parseExtensions parses and normalizes the extensions in the buffer.
+// It returns the last position of scan.b that is part of any extension.
+// It also trims scan.b to remove excess parts accordingly.
+func parseExtensions(scan *scanner) int {
+ start := scan.start
+ exts := [][]byte{}
+ private := []byte{}
+ end := scan.end
+ for len(scan.token) == 1 {
+ extStart := scan.start
+ ext := scan.token[0]
+ end = parseExtension(scan)
+ extension := scan.b[extStart:end]
+ if len(extension) < 3 || (ext != 'x' && len(extension) < 4) {
+ scan.setError(errSyntax)
+ end = extStart
+ continue
+ } else if start == extStart && (ext == 'x' || scan.start == len(scan.b)) {
+ scan.b = scan.b[:end]
+ return end
+ } else if ext == 'x' {
+ private = extension
+ break
+ }
+ exts = append(exts, extension)
+ }
+ sort.Sort(bytesSort(exts))
+ if len(private) > 0 {
+ exts = append(exts, private)
+ }
+ scan.b = scan.b[:start]
+ if len(exts) > 0 {
+ scan.b = append(scan.b, bytes.Join(exts, separator)...)
+ } else if start > 0 {
+ // Strip trailing '-'.
+ scan.b = scan.b[:start-1]
+ }
+ return end
+}
+
+// parseExtension parses a single extension and returns the position of
+// the extension end.
+func parseExtension(scan *scanner) int {
+ start, end := scan.start, scan.end
+ switch scan.token[0] {
+ case 'u':
+ attrStart := end
+ scan.scan()
+ for last := []byte{}; len(scan.token) > 2; scan.scan() {
+ if bytes.Compare(scan.token, last) != -1 {
+ // Attributes are unsorted. Start over from scratch.
+ p := attrStart + 1
+ scan.next = p
+ attrs := [][]byte{}
+ for scan.scan(); len(scan.token) > 2; scan.scan() {
+ attrs = append(attrs, scan.token)
+ end = scan.end
+ }
+ sort.Sort(bytesSort(attrs))
+ copy(scan.b[p:], bytes.Join(attrs, separator))
+ break
+ }
+ last = scan.token
+ end = scan.end
+ }
+ var last, key []byte
+ for attrEnd := end; len(scan.token) == 2; last = key {
+ key = scan.token
+ keyEnd := scan.end
+ end = scan.acceptMinSize(3)
+ // TODO: check key value validity
+ if keyEnd == end || bytes.Compare(key, last) != 1 {
+ // We have an invalid key or the keys are not sorted.
+ // Start scanning keys from scratch and reorder.
+ p := attrEnd + 1
+ scan.next = p
+ keys := [][]byte{}
+ for scan.scan(); len(scan.token) == 2; {
+ keyStart, keyEnd := scan.start, scan.end
+ end = scan.acceptMinSize(3)
+ if keyEnd != end {
+ keys = append(keys, scan.b[keyStart:end])
+ } else {
+ scan.setError(errSyntax)
+ end = keyStart
+ }
+ }
+ sort.Sort(bytesSort(keys))
+ reordered := bytes.Join(keys, separator)
+ if e := p + len(reordered); e < end {
+ scan.deleteRange(e, end)
+ end = e
+ }
+ copy(scan.b[p:], bytes.Join(keys, separator))
+ break
+ }
+ }
+ case 't':
+ scan.scan()
+ if n := len(scan.token); n >= 2 && n <= 3 && isAlpha(scan.token[1]) {
+ _, end = parseTag(scan)
+ scan.toLower(start, end)
+ }
+ for len(scan.token) == 2 && !isAlpha(scan.token[1]) {
+ end = scan.acceptMinSize(3)
+ }
+ case 'x':
+ end = scan.acceptMinSize(1)
+ default:
+ end = scan.acceptMinSize(2)
+ }
+ return end
+}
+
+// Compose creates a Tag from individual parts, which may be of type Tag, Base,
+// Script, Region, Variant, []Variant, Extension, []Extension or error. If a
+// Base, Script or Region or slice of type Variant or Extension is passed more
+// than once, the latter will overwrite the former. Variants and Extensions are
+// accumulated, but if two extensions of the same type are passed, the latter
+// will replace the former. A Tag overwrites all former values and typically
+// only makes sense as the first argument. The resulting tag is returned after
+// canonicalizing using the Default CanonType. If one or more errors are
+// encountered, one of the errors is returned.
+func Compose(part ...interface{}) (t Tag, err error) {
+ return Default.Compose(part...)
+}
+
+// Compose creates a Tag from individual parts, which may be of type Tag, Base,
+// Script, Region, Variant, []Variant, Extension, []Extension or error. If a
+// Base, Script or Region or slice of type Variant or Extension is passed more
+// than once, the latter will overwrite the former. Variants and Extensions are
+// accumulated, but if two extensions of the same type are passed, the latter
+// will replace the former. A Tag overwrites all former values and typically
+// only makes sense as the first argument. The resulting tag is returned after
+// canonicalizing using CanonType c. If one or more errors are encountered,
+// one of the errors is returned.
+func (c CanonType) Compose(part ...interface{}) (t Tag, err error) {
+ var b builder
+ if err = b.update(part...); err != nil {
+ return und, err
+ }
+ t, _ = b.tag.canonicalize(c)
+
+ if len(b.ext) > 0 || len(b.variant) > 0 {
+ sort.Sort(sortVariant(b.variant))
+ sort.Strings(b.ext)
+ if b.private != "" {
+ b.ext = append(b.ext, b.private)
+ }
+ n := maxCoreSize + tokenLen(b.variant...) + tokenLen(b.ext...)
+ buf := make([]byte, n)
+ p := t.genCoreBytes(buf)
+ t.pVariant = byte(p)
+ p += appendTokens(buf[p:], b.variant...)
+ t.pExt = uint16(p)
+ p += appendTokens(buf[p:], b.ext...)
+ t.str = string(buf[:p])
+ } else if b.private != "" {
+ t.str = b.private
+ t.remakeString()
+ }
+ return
+}
+
+type builder struct {
+ tag Tag
+
+ private string // the x extension
+ ext []string
+ variant []string
+
+ err error
+}
+
+func (b *builder) addExt(e string) {
+ if e == "" {
+ } else if e[0] == 'x' {
+ b.private = e
+ } else {
+ b.ext = append(b.ext, e)
+ }
+}
+
+var errInvalidArgument = errors.New("invalid Extension or Variant")
+
+func (b *builder) update(part ...interface{}) (err error) {
+ replace := func(l *[]string, s string, eq func(a, b string) bool) bool {
+ if s == "" {
+ b.err = errInvalidArgument
+ return true
+ }
+ for i, v := range *l {
+ if eq(v, s) {
+ (*l)[i] = s
+ return true
+ }
+ }
+ return false
+ }
+ for _, x := range part {
+ switch v := x.(type) {
+ case Tag:
+ b.tag.lang = v.lang
+ b.tag.region = v.region
+ b.tag.script = v.script
+ if v.str != "" {
+ b.variant = nil
+ for x, s := "", v.str[v.pVariant:v.pExt]; s != ""; {
+ x, s = nextToken(s)
+ b.variant = append(b.variant, x)
+ }
+ b.ext, b.private = nil, ""
+ for i, e := int(v.pExt), ""; i < len(v.str); {
+ i, e = getExtension(v.str, i)
+ b.addExt(e)
+ }
+ }
+ case Base:
+ b.tag.lang = v.langID
+ case Script:
+ b.tag.script = v.scriptID
+ case Region:
+ b.tag.region = v.regionID
+ case Variant:
+ if !replace(&b.variant, v.variant, func(a, b string) bool { return a == b }) {
+ b.variant = append(b.variant, v.variant)
+ }
+ case Extension:
+ if !replace(&b.ext, v.s, func(a, b string) bool { return a[0] == b[0] }) {
+ b.addExt(v.s)
+ }
+ case []Variant:
+ b.variant = nil
+ for _, x := range v {
+ b.update(x)
+ }
+ case []Extension:
+ b.ext, b.private = nil, ""
+ for _, e := range v {
+ b.update(e)
+ }
+ // TODO: support parsing of raw strings based on morphology or just extensions?
+ case error:
+ err = v
+ }
+ }
+ return
+}
+
+func tokenLen(token ...string) (n int) {
+ for _, t := range token {
+ n += len(t) + 1
+ }
+ return
+}
+
+func appendTokens(b []byte, token ...string) int {
+ p := 0
+ for _, t := range token {
+ b[p] = '-'
+ copy(b[p+1:], t)
+ p += 1 + len(t)
+ }
+ return p
+}
+
+type sortVariant []string
+
+func (s sortVariant) Len() int {
+ return len(s)
+}
+
+func (s sortVariant) Swap(i, j int) {
+ s[j], s[i] = s[i], s[j]
+}
+
+func (s sortVariant) Less(i, j int) bool {
+ return variantIndex[s[i]] < variantIndex[s[j]]
+}
+
+func findExt(list []string, x byte) int {
+ for i, e := range list {
+ if e[0] == x {
+ return i
+ }
+ }
+ return -1
+}
+
+// getExtension returns the name, body and end position of the extension.
+func getExtension(s string, p int) (end int, ext string) {
+ if s[p] == '-' {
+ p++
+ }
+ if s[p] == 'x' {
+ return len(s), s[p:]
+ }
+ end = nextExtension(s, p)
+ return end, s[p:end]
+}
+
+// nextExtension finds the next extension within the string, searching
+// for the -<char>- pattern from position p.
+// In the fast majority of cases, language tags will have at most
+// one extension and extensions tend to be small.
+func nextExtension(s string, p int) int {
+ for n := len(s) - 3; p < n; {
+ if s[p] == '-' {
+ if s[p+2] == '-' {
+ return p
+ }
+ p += 3
+ } else {
+ p++
+ }
+ }
+ return len(s)
+}
+
+var errInvalidWeight = errors.New("ParseAcceptLanguage: invalid weight")
+
+// ParseAcceptLanguage parses the contents of a Accept-Language header as
+// defined in http://www.ietf.org/rfc/rfc2616.txt and returns a list of Tags and
+// a list of corresponding quality weights. It is more permissive than RFC 2616
+// and may return non-nil slices even if the input is not valid.
+// The Tags will be sorted by highest weight first and then by first occurrence.
+// Tags with a weight of zero will be dropped. An error will be returned if the
+// input could not be parsed.
+func ParseAcceptLanguage(s string) (tag []Tag, q []float32, err error) {
+ var entry string
+ for s != "" {
+ if entry, s = split(s, ','); entry == "" {
+ continue
+ }
+
+ entry, weight := split(entry, ';')
+
+ // Scan the language.
+ t, err := Parse(entry)
+ if err != nil {
+ id, ok := acceptFallback[entry]
+ if !ok {
+ return nil, nil, err
+ }
+ t = Tag{lang: id}
+ }
+
+ // Scan the optional weight.
+ w := 1.0
+ if weight != "" {
+ weight = consume(weight, 'q')
+ weight = consume(weight, '=')
+ // consume returns the empty string when a token could not be
+ // consumed, resulting in an error for ParseFloat.
+ if w, err = strconv.ParseFloat(weight, 32); err != nil {
+ return nil, nil, errInvalidWeight
+ }
+ // Drop tags with a quality weight of 0.
+ if w <= 0 {
+ continue
+ }
+ }
+
+ tag = append(tag, t)
+ q = append(q, float32(w))
+ }
+ sortStable(&tagSort{tag, q})
+ return tag, q, nil
+}
+
+// consume removes a leading token c from s and returns the result or the empty
+// string if there is no such token.
+func consume(s string, c byte) string {
+ if s == "" || s[0] != c {
+ return ""
+ }
+ return strings.TrimSpace(s[1:])
+}
+
+func split(s string, c byte) (head, tail string) {
+ if i := strings.IndexByte(s, c); i >= 0 {
+ return strings.TrimSpace(s[:i]), strings.TrimSpace(s[i+1:])
+ }
+ return strings.TrimSpace(s), ""
+}
+
+// Add hack mapping to deal with a small number of cases that that occur
+// in Accept-Language (with reasonable frequency).
+var acceptFallback = map[string]langID{
+ "english": _en,
+ "deutsch": _de,
+ "italian": _it,
+ "french": _fr,
+ "*": _mul, // defined in the spec to match all languages.
+}
+
+type tagSort struct {
+ tag []Tag
+ q []float32
+}
+
+func (s *tagSort) Len() int {
+ return len(s.q)
+}
+
+func (s *tagSort) Less(i, j int) bool {
+ return s.q[i] > s.q[j]
+}
+
+func (s *tagSort) Swap(i, j int) {
+ s.tag[i], s.tag[j] = s.tag[j], s.tag[i]
+ s.q[i], s.q[j] = s.q[j], s.q[i]
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tables.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tables.go
new file mode 100644
index 00000000..a108554a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tables.go
@@ -0,0 +1,3654 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+package language
+
+import "golang.org/x/text/internal/tag"
+
+// CLDRVersion is the CLDR version from which the tables in this package are derived.
+const CLDRVersion = "31"
+
+const numLanguages = 8654
+
+const numScripts = 230
+
+const numRegions = 356
+
+type fromTo struct {
+ from uint16
+ to uint16
+}
+
+const nonCanonicalUnd = 1199
+const (
+ _af = 22
+ _am = 39
+ _ar = 58
+ _az = 88
+ _bg = 126
+ _bn = 165
+ _ca = 215
+ _cs = 249
+ _da = 256
+ _de = 268
+ _el = 309
+ _en = 312
+ _es = 317
+ _et = 319
+ _fa = 327
+ _fi = 336
+ _fil = 338
+ _fr = 349
+ _gu = 418
+ _he = 442
+ _hi = 444
+ _hr = 463
+ _hu = 467
+ _hy = 469
+ _id = 479
+ _is = 502
+ _it = 503
+ _ja = 510
+ _ka = 526
+ _kk = 576
+ _km = 584
+ _kn = 591
+ _ko = 594
+ _ky = 648
+ _lo = 694
+ _lt = 702
+ _lv = 709
+ _mk = 765
+ _ml = 770
+ _mn = 777
+ _mo = 782
+ _mr = 793
+ _ms = 797
+ _mul = 804
+ _my = 815
+ _nb = 837
+ _ne = 847
+ _nl = 869
+ _no = 877
+ _pa = 923
+ _pl = 945
+ _pt = 958
+ _ro = 986
+ _ru = 992
+ _sh = 1029
+ _si = 1034
+ _sk = 1040
+ _sl = 1044
+ _sq = 1071
+ _sr = 1072
+ _sv = 1090
+ _sw = 1091
+ _ta = 1102
+ _te = 1119
+ _th = 1129
+ _tl = 1144
+ _tn = 1150
+ _tr = 1160
+ _uk = 1196
+ _ur = 1202
+ _uz = 1210
+ _vi = 1217
+ _zh = 1319
+ _zu = 1324
+ _jbo = 513
+ _ami = 1647
+ _bnn = 2354
+ _hak = 436
+ _tlh = 14464
+ _lb = 659
+ _nv = 897
+ _pwn = 12052
+ _tao = 14185
+ _tay = 14195
+ _tsu = 14659
+ _nn = 872
+ _sfb = 13626
+ _vgt = 15698
+ _sgg = 13657
+ _cmn = 3004
+ _nan = 833
+ _hsn = 465
+)
+
+const langPrivateStart = 0x2f6f
+
+const langPrivateEnd = 0x3176
+
+// lang holds an alphabetically sorted list of ISO-639 language identifiers.
+// All entries are 4 bytes. The index of the identifier (divided by 4) is the language tag.
+// For 2-byte language identifiers, the two successive bytes have the following meaning:
+// - if the first letter of the 2- and 3-letter ISO codes are the same:
+// the second and third letter of the 3-letter ISO code.
+// - otherwise: a 0 and a by 2 bits right-shifted index into altLangISO3.
+// For 3-byte language identifiers the 4th byte is 0.
+const lang tag.Index = "" + // Size: 5312 bytes
+ "---\x00aaaraai\x00aak\x00aau\x00abbkabi\x00abq\x00abr\x00abt\x00aby\x00a" +
+ "cd\x00ace\x00ach\x00ada\x00ade\x00adj\x00ady\x00adz\x00aeveaeb\x00aey" +
+ "\x00affragc\x00agd\x00agg\x00agm\x00ago\x00agq\x00aha\x00ahl\x00aho\x00a" +
+ "jg\x00akkaakk\x00ala\x00ali\x00aln\x00alt\x00ammhamm\x00amn\x00amo\x00am" +
+ "p\x00anrganc\x00ank\x00ann\x00any\x00aoj\x00aom\x00aoz\x00apc\x00apd\x00" +
+ "ape\x00apr\x00aps\x00apz\x00arraarc\x00arh\x00arn\x00aro\x00arq\x00ars" +
+ "\x00ary\x00arz\x00assmasa\x00ase\x00asg\x00aso\x00ast\x00ata\x00atg\x00a" +
+ "tj\x00auy\x00avvaavl\x00avn\x00avt\x00avu\x00awa\x00awb\x00awo\x00awx" +
+ "\x00ayymayb\x00azzebaakbal\x00ban\x00bap\x00bar\x00bas\x00bav\x00bax\x00" +
+ "bba\x00bbb\x00bbc\x00bbd\x00bbj\x00bbp\x00bbr\x00bcf\x00bch\x00bci\x00bc" +
+ "m\x00bcn\x00bco\x00bcq\x00bcu\x00bdd\x00beelbef\x00beh\x00bej\x00bem\x00" +
+ "bet\x00bew\x00bex\x00bez\x00bfd\x00bfq\x00bft\x00bfy\x00bgulbgc\x00bgn" +
+ "\x00bgx\x00bhihbhb\x00bhg\x00bhi\x00bhk\x00bhl\x00bho\x00bhy\x00biisbib" +
+ "\x00big\x00bik\x00bim\x00bin\x00bio\x00biq\x00bjh\x00bji\x00bjj\x00bjn" +
+ "\x00bjo\x00bjr\x00bjt\x00bjz\x00bkc\x00bkm\x00bkq\x00bku\x00bkv\x00blt" +
+ "\x00bmambmh\x00bmk\x00bmq\x00bmu\x00bnenbng\x00bnm\x00bnp\x00boodboj\x00" +
+ "bom\x00bon\x00bpy\x00bqc\x00bqi\x00bqp\x00bqv\x00brrebra\x00brh\x00brx" +
+ "\x00brz\x00bsosbsj\x00bsq\x00bss\x00bst\x00bto\x00btt\x00btv\x00bua\x00b" +
+ "uc\x00bud\x00bug\x00buk\x00bum\x00buo\x00bus\x00buu\x00bvb\x00bwd\x00bwr" +
+ "\x00bxh\x00bye\x00byn\x00byr\x00bys\x00byv\x00byx\x00bza\x00bze\x00bzf" +
+ "\x00bzh\x00bzw\x00caatcan\x00cbj\x00cch\x00ccp\x00ceheceb\x00cfa\x00cgg" +
+ "\x00chhachk\x00chm\x00cho\x00chp\x00chr\x00cja\x00cjm\x00cjv\x00ckb\x00c" +
+ "kl\x00cko\x00cky\x00cla\x00cme\x00cooscop\x00cps\x00crrecrh\x00crj\x00cr" +
+ "k\x00crl\x00crm\x00crs\x00csescsb\x00csw\x00ctd\x00cuhucvhvcyymdaandad" +
+ "\x00daf\x00dag\x00dah\x00dak\x00dar\x00dav\x00dbd\x00dbq\x00dcc\x00ddn" +
+ "\x00deeuded\x00den\x00dga\x00dgh\x00dgi\x00dgl\x00dgr\x00dgz\x00dia\x00d" +
+ "je\x00dnj\x00dob\x00doi\x00dop\x00dow\x00dri\x00drs\x00dsb\x00dtm\x00dtp" +
+ "\x00dts\x00dty\x00dua\x00duc\x00dud\x00dug\x00dvivdva\x00dww\x00dyo\x00d" +
+ "yu\x00dzzodzg\x00ebu\x00eeweefi\x00egl\x00egy\x00eka\x00eky\x00elllema" +
+ "\x00emi\x00enngenn\x00enq\x00eopoeri\x00es\x00\x05esu\x00etstetr\x00ett" +
+ "\x00etu\x00etx\x00euusewo\x00ext\x00faasfaa\x00fab\x00fag\x00fai\x00fan" +
+ "\x00ffulffi\x00ffm\x00fiinfia\x00fil\x00fit\x00fjijflr\x00fmp\x00foaofod" +
+ "\x00fon\x00for\x00fpe\x00fqs\x00frrafrc\x00frp\x00frr\x00frs\x00fub\x00f" +
+ "ud\x00fue\x00fuf\x00fuh\x00fuq\x00fur\x00fuv\x00fuy\x00fvr\x00fyrygalega" +
+ "a\x00gaf\x00gag\x00gah\x00gaj\x00gam\x00gan\x00gaw\x00gay\x00gbf\x00gbm" +
+ "\x00gby\x00gbz\x00gcr\x00gdlagde\x00gdn\x00gdr\x00geb\x00gej\x00gel\x00g" +
+ "ez\x00gfk\x00ggn\x00ghs\x00gil\x00gim\x00gjk\x00gjn\x00gju\x00gkn\x00gkp" +
+ "\x00gllgglk\x00gmm\x00gmv\x00gnrngnd\x00gng\x00god\x00gof\x00goi\x00gom" +
+ "\x00gon\x00gor\x00gos\x00got\x00grb\x00grc\x00grt\x00grw\x00gsw\x00guujg" +
+ "ub\x00guc\x00gud\x00gur\x00guw\x00gux\x00guz\x00gvlvgvf\x00gvr\x00gvs" +
+ "\x00gwc\x00gwi\x00gwt\x00gyi\x00haauhag\x00hak\x00ham\x00haw\x00haz\x00h" +
+ "bb\x00hdy\x00heebhhy\x00hiinhia\x00hif\x00hig\x00hih\x00hil\x00hla\x00hl" +
+ "u\x00hmd\x00hmt\x00hnd\x00hne\x00hnj\x00hnn\x00hno\x00homohoc\x00hoj\x00" +
+ "hot\x00hrrvhsb\x00hsn\x00htathuunhui\x00hyyehzerianaian\x00iar\x00iba" +
+ "\x00ibb\x00iby\x00ica\x00ich\x00idndidd\x00idi\x00idu\x00ieleife\x00igbo" +
+ "igb\x00ige\x00iiiiijj\x00ikpkikk\x00ikt\x00ikw\x00ikx\x00ilo\x00imo\x00i" +
+ "nndinh\x00iodoiou\x00iri\x00isslittaiukuiw\x00\x03iwm\x00iws\x00izh\x00i" +
+ "zi\x00japnjab\x00jam\x00jbo\x00jbu\x00jen\x00jgk\x00jgo\x00ji\x00\x06jib" +
+ "\x00jmc\x00jml\x00jra\x00jut\x00jvavjwavkaatkaa\x00kab\x00kac\x00kad\x00" +
+ "kai\x00kaj\x00kam\x00kao\x00kbd\x00kbm\x00kbp\x00kbq\x00kbx\x00kby\x00kc" +
+ "g\x00kck\x00kcl\x00kct\x00kde\x00kdh\x00kdl\x00kdt\x00kea\x00ken\x00kez" +
+ "\x00kfo\x00kfr\x00kfy\x00kgonkge\x00kgf\x00kgp\x00kha\x00khb\x00khn\x00k" +
+ "hq\x00khs\x00kht\x00khw\x00khz\x00kiikkij\x00kiu\x00kiw\x00kjuakjd\x00kj" +
+ "g\x00kjs\x00kjy\x00kkazkkc\x00kkj\x00klalkln\x00klq\x00klt\x00klx\x00kmh" +
+ "mkmb\x00kmh\x00kmo\x00kms\x00kmu\x00kmw\x00knanknf\x00knp\x00koorkoi\x00" +
+ "kok\x00kol\x00kos\x00koz\x00kpe\x00kpf\x00kpo\x00kpr\x00kpx\x00kqb\x00kq" +
+ "f\x00kqs\x00kqy\x00kraukrc\x00kri\x00krj\x00krl\x00krs\x00kru\x00ksasksb" +
+ "\x00ksd\x00ksf\x00ksh\x00ksj\x00ksr\x00ktb\x00ktm\x00kto\x00kuurkub\x00k" +
+ "ud\x00kue\x00kuj\x00kum\x00kun\x00kup\x00kus\x00kvomkvg\x00kvr\x00kvx" +
+ "\x00kw\x00\x01kwj\x00kwo\x00kxa\x00kxc\x00kxm\x00kxp\x00kxw\x00kxz\x00ky" +
+ "irkye\x00kyx\x00kzr\x00laatlab\x00lad\x00lag\x00lah\x00laj\x00las\x00lbt" +
+ "zlbe\x00lbu\x00lbw\x00lcm\x00lcp\x00ldb\x00led\x00lee\x00lem\x00lep\x00l" +
+ "eq\x00leu\x00lez\x00lguglgg\x00liimlia\x00lid\x00lif\x00lig\x00lih\x00li" +
+ "j\x00lis\x00ljp\x00lki\x00lkt\x00lle\x00lln\x00lmn\x00lmo\x00lmp\x00lnin" +
+ "lns\x00lnu\x00loaoloj\x00lok\x00lol\x00lor\x00los\x00loz\x00lrc\x00ltitl" +
+ "tg\x00luublua\x00luo\x00luy\x00luz\x00lvavlwl\x00lzh\x00lzz\x00mad\x00ma" +
+ "f\x00mag\x00mai\x00mak\x00man\x00mas\x00maw\x00maz\x00mbh\x00mbo\x00mbq" +
+ "\x00mbu\x00mbw\x00mci\x00mcp\x00mcq\x00mcr\x00mcu\x00mda\x00mde\x00mdf" +
+ "\x00mdh\x00mdj\x00mdr\x00mdx\x00med\x00mee\x00mek\x00men\x00mer\x00met" +
+ "\x00meu\x00mfa\x00mfe\x00mfn\x00mfo\x00mfq\x00mglgmgh\x00mgl\x00mgo\x00m" +
+ "gp\x00mgy\x00mhahmhi\x00mhl\x00mirimif\x00min\x00mis\x00miw\x00mkkdmki" +
+ "\x00mkl\x00mkp\x00mkw\x00mlalmle\x00mlp\x00mls\x00mmo\x00mmu\x00mmx\x00m" +
+ "nonmna\x00mnf\x00mni\x00mnw\x00moolmoa\x00moe\x00moh\x00mos\x00mox\x00mp" +
+ "p\x00mps\x00mpt\x00mpx\x00mql\x00mrarmrd\x00mrj\x00mro\x00mssamtltmtc" +
+ "\x00mtf\x00mti\x00mtr\x00mua\x00mul\x00mur\x00mus\x00mva\x00mvn\x00mvy" +
+ "\x00mwk\x00mwr\x00mwv\x00mxc\x00mxm\x00myyamyk\x00mym\x00myv\x00myw\x00m" +
+ "yx\x00myz\x00mzk\x00mzm\x00mzn\x00mzp\x00mzw\x00mzz\x00naaunac\x00naf" +
+ "\x00nah\x00nak\x00nan\x00nap\x00naq\x00nas\x00nbobnca\x00nce\x00ncf\x00n" +
+ "ch\x00nco\x00ncu\x00nddendc\x00nds\x00neepneb\x00new\x00nex\x00nfr\x00ng" +
+ "donga\x00ngb\x00ngl\x00nhb\x00nhe\x00nhw\x00nif\x00nii\x00nij\x00nin\x00" +
+ "niu\x00niy\x00niz\x00njo\x00nkg\x00nko\x00nlldnmg\x00nmz\x00nnnonnf\x00n" +
+ "nh\x00nnk\x00nnm\x00noornod\x00noe\x00non\x00nop\x00nou\x00nqo\x00nrblnr" +
+ "b\x00nsk\x00nsn\x00nso\x00nss\x00ntm\x00ntr\x00nui\x00nup\x00nus\x00nuv" +
+ "\x00nux\x00nvavnwb\x00nxq\x00nxr\x00nyyanym\x00nyn\x00nzi\x00occiogc\x00" +
+ "ojjiokr\x00okv\x00omrmong\x00onn\x00ons\x00opm\x00orrioro\x00oru\x00osss" +
+ "osa\x00ota\x00otk\x00ozm\x00paanpag\x00pal\x00pam\x00pap\x00pau\x00pbi" +
+ "\x00pcd\x00pcm\x00pdc\x00pdt\x00ped\x00peo\x00pex\x00pfl\x00phl\x00phn" +
+ "\x00pilipil\x00pip\x00pka\x00pko\x00plolpla\x00pms\x00png\x00pnn\x00pnt" +
+ "\x00pon\x00ppo\x00pra\x00prd\x00prg\x00psuspss\x00ptorptp\x00puu\x00pwa" +
+ "\x00quuequc\x00qug\x00rai\x00raj\x00rao\x00rcf\x00rej\x00rel\x00res\x00r" +
+ "gn\x00rhg\x00ria\x00rif\x00rjs\x00rkt\x00rmohrmf\x00rmo\x00rmt\x00rmu" +
+ "\x00rnunrna\x00rng\x00roonrob\x00rof\x00roo\x00rro\x00rtm\x00ruusrue\x00" +
+ "rug\x00rw\x00\x04rwk\x00rwo\x00ryu\x00saansaf\x00sah\x00saq\x00sas\x00sa" +
+ "t\x00sav\x00saz\x00sba\x00sbe\x00sbp\x00scrdsck\x00scl\x00scn\x00sco\x00" +
+ "scs\x00sdndsdc\x00sdh\x00semesef\x00seh\x00sei\x00ses\x00sgagsga\x00sgs" +
+ "\x00sgw\x00sgz\x00sh\x00\x02shi\x00shk\x00shn\x00shu\x00siinsid\x00sig" +
+ "\x00sil\x00sim\x00sjr\x00sklkskc\x00skr\x00sks\x00sllvsld\x00sli\x00sll" +
+ "\x00sly\x00smmosma\x00smi\x00smj\x00smn\x00smp\x00smq\x00sms\x00snnasnc" +
+ "\x00snk\x00snp\x00snx\x00sny\x00soomsok\x00soq\x00sou\x00soy\x00spd\x00s" +
+ "pl\x00sps\x00sqqisrrpsrb\x00srn\x00srr\x00srx\x00ssswssd\x00ssg\x00ssy" +
+ "\x00stotstk\x00stq\x00suunsua\x00sue\x00suk\x00sur\x00sus\x00svweswwaswb" +
+ "\x00swc\x00swg\x00swp\x00swv\x00sxn\x00sxw\x00syl\x00syr\x00szl\x00taamt" +
+ "aj\x00tal\x00tan\x00taq\x00tbc\x00tbd\x00tbf\x00tbg\x00tbo\x00tbw\x00tbz" +
+ "\x00tci\x00tcy\x00tdd\x00tdg\x00tdh\x00teelted\x00tem\x00teo\x00tet\x00t" +
+ "fi\x00tggktgc\x00tgo\x00tgu\x00thhathl\x00thq\x00thr\x00tiirtif\x00tig" +
+ "\x00tik\x00tim\x00tio\x00tiv\x00tkuktkl\x00tkr\x00tkt\x00tlgltlf\x00tlx" +
+ "\x00tly\x00tmh\x00tmy\x00tnsntnh\x00toontof\x00tog\x00toq\x00tpi\x00tpm" +
+ "\x00tpz\x00tqo\x00trurtru\x00trv\x00trw\x00tssotsd\x00tsf\x00tsg\x00tsj" +
+ "\x00tsw\x00ttatttd\x00tte\x00ttj\x00ttr\x00tts\x00ttt\x00tuh\x00tul\x00t" +
+ "um\x00tuq\x00tvd\x00tvl\x00tvu\x00twwitwh\x00twq\x00txg\x00tyahtya\x00ty" +
+ "v\x00tzm\x00ubu\x00udm\x00ugiguga\x00ukkruli\x00umb\x00und\x00unr\x00unx" +
+ "\x00urrduri\x00urt\x00urw\x00usa\x00utr\x00uvh\x00uvl\x00uzzbvag\x00vai" +
+ "\x00van\x00veenvec\x00vep\x00viievic\x00viv\x00vls\x00vmf\x00vmw\x00vool" +
+ "vot\x00vro\x00vun\x00vut\x00walnwae\x00waj\x00wal\x00wan\x00war\x00wbp" +
+ "\x00wbq\x00wbr\x00wci\x00wer\x00wgi\x00whg\x00wib\x00wiu\x00wiv\x00wja" +
+ "\x00wji\x00wls\x00wmo\x00wnc\x00wni\x00wnu\x00woolwob\x00wos\x00wrs\x00w" +
+ "sk\x00wtm\x00wuu\x00wuv\x00wwa\x00xav\x00xbi\x00xcr\x00xes\x00xhhoxla" +
+ "\x00xlc\x00xld\x00xmf\x00xmn\x00xmr\x00xna\x00xnr\x00xog\x00xon\x00xpr" +
+ "\x00xrb\x00xsa\x00xsi\x00xsm\x00xsr\x00xwe\x00yam\x00yao\x00yap\x00yas" +
+ "\x00yat\x00yav\x00yay\x00yaz\x00yba\x00ybb\x00yby\x00yer\x00ygr\x00ygw" +
+ "\x00yiidyko\x00yle\x00ylg\x00yll\x00yml\x00yooryon\x00yrb\x00yre\x00yrl" +
+ "\x00yss\x00yua\x00yue\x00yuj\x00yut\x00yuw\x00zahazag\x00zbl\x00zdj\x00z" +
+ "ea\x00zgh\x00zhhozia\x00zlm\x00zmi\x00zne\x00zuulzxx\x00zza\x00\xff\xff" +
+ "\xff\xff"
+
+const langNoIndexOffset = 1327
+
+// langNoIndex is a bit vector of all 3-letter language codes that are not used as an index
+// in lookup tables. The language ids for these language codes are derived directly
+// from the letters and are not consecutive.
+// Size: 2197 bytes, 2197 elements
+var langNoIndex = [2197]uint8{
+ // Entry 0 - 3F
+ 0xff, 0xf8, 0xed, 0xfe, 0xeb, 0xd3, 0x3b, 0xd2,
+ 0xfb, 0xbf, 0x7a, 0xfa, 0x37, 0x1d, 0x3c, 0x57,
+ 0x6e, 0x97, 0x73, 0x38, 0xfb, 0xea, 0xbf, 0x70,
+ 0xad, 0x03, 0xff, 0xff, 0xcf, 0x05, 0x84, 0x62,
+ 0xe9, 0xbf, 0xfd, 0xbf, 0xbf, 0xf7, 0xfd, 0x77,
+ 0x0f, 0xff, 0xef, 0x6f, 0xff, 0xfb, 0xdf, 0xe2,
+ 0xc9, 0xf8, 0x7f, 0x7e, 0x4d, 0xb8, 0x0a, 0x6a,
+ 0x7c, 0xea, 0xe3, 0xfa, 0x7a, 0xbf, 0x67, 0xff,
+ // Entry 40 - 7F
+ 0xff, 0xff, 0xff, 0xdf, 0x2a, 0x54, 0x91, 0xc0,
+ 0x5d, 0xe3, 0x97, 0x14, 0x07, 0x20, 0xdd, 0xed,
+ 0x9f, 0x3f, 0xc9, 0x21, 0xf8, 0x3f, 0x94, 0x35,
+ 0x7c, 0x5f, 0xff, 0x5f, 0x8e, 0x6e, 0xdf, 0xff,
+ 0xff, 0xff, 0x55, 0x7c, 0xd3, 0xfd, 0xbf, 0xb5,
+ 0x7b, 0xdf, 0x7f, 0xf7, 0xca, 0xfe, 0xdb, 0xa3,
+ 0xa8, 0xff, 0x1f, 0x67, 0x7d, 0xeb, 0xef, 0xce,
+ 0xff, 0xff, 0x9f, 0xff, 0xb7, 0xef, 0xfe, 0xcf,
+ // Entry 80 - BF
+ 0xdb, 0xff, 0xf3, 0xcd, 0xfb, 0x2f, 0xff, 0xff,
+ 0xbb, 0xee, 0xf7, 0xbd, 0xdb, 0xff, 0x5f, 0xf7,
+ 0xfd, 0xf2, 0xfd, 0xff, 0x5e, 0x2f, 0x3b, 0xba,
+ 0x7e, 0xff, 0xff, 0xfe, 0xf7, 0xff, 0xdd, 0xff,
+ 0xfd, 0xdf, 0xfb, 0xfe, 0x9d, 0xb4, 0xd3, 0xff,
+ 0xef, 0xff, 0xdf, 0xf7, 0x7f, 0xb7, 0xfd, 0xd5,
+ 0xa5, 0x77, 0x40, 0xff, 0x9c, 0xc1, 0x41, 0x2c,
+ 0x08, 0x20, 0x41, 0x00, 0x50, 0x40, 0x00, 0x80,
+ // Entry C0 - FF
+ 0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,
+ 0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,
+ 0x45, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,
+ 0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,
+ 0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
+ 0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,
+ 0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,
+ // Entry 100 - 13F
+ 0xfd, 0xdc, 0xbe, 0x5e, 0x00, 0x00, 0x02, 0x64,
+ 0x0d, 0x19, 0x41, 0xdf, 0x79, 0x22, 0x00, 0x00,
+ 0x00, 0x5e, 0x64, 0xdc, 0x24, 0xe5, 0xd9, 0xe3,
+ 0xfe, 0xff, 0xfd, 0xcb, 0x9f, 0x14, 0x01, 0x0c,
+ 0x86, 0x00, 0xd1, 0x00, 0xf0, 0xc5, 0x67, 0x5f,
+ 0x56, 0x89, 0x5e, 0xb5, 0x6c, 0xaf, 0x03, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0xc0, 0x37, 0xda, 0x56,
+ 0x90, 0x69, 0x01, 0x2c, 0x96, 0x69, 0x20, 0xfb,
+ // Entry 140 - 17F
+ 0xff, 0x3f, 0x00, 0x00, 0x00, 0x01, 0x08, 0x16,
+ 0x01, 0x00, 0x00, 0xb0, 0x14, 0x03, 0x50, 0x06,
+ 0x0a, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x09,
+ 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x44, 0x00, 0x00, 0x10, 0x00, 0x04,
+ 0x08, 0x00, 0x00, 0x04, 0x00, 0x80, 0x28, 0x04,
+ 0x00, 0x00, 0x40, 0xd5, 0x2d, 0x00, 0x64, 0x35,
+ 0x24, 0x52, 0xf4, 0xd4, 0xbd, 0x62, 0xc9, 0x03,
+ // Entry 180 - 1BF
+ 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x13, 0x39, 0x01, 0xdd, 0x57, 0x98,
+ 0x21, 0x18, 0x81, 0x00, 0x00, 0x01, 0x40, 0x82,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x40, 0x00, 0x44, 0x00, 0x00, 0x80, 0xea,
+ 0xa9, 0x39, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ // Entry 1C0 - 1FF
+ 0x00, 0x01, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x20, 0x04, 0xa6, 0x00, 0x04, 0x00, 0x00,
+ 0x81, 0x50, 0x00, 0x00, 0x00, 0x11, 0x84, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x55,
+ 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x40,
+ 0x30, 0x83, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1e, 0xcd, 0xbf, 0x7e, 0xbf,
+ // Entry 200 - 23F
+ 0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,
+ 0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,
+ 0xa4, 0x45, 0x25, 0x9b, 0x02, 0xcf, 0xe0, 0xdf,
+ 0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,
+ 0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,
+ 0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
+ 0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,
+ 0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,
+ // Entry 240 - 27F
+ 0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,
+ 0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0,
+ 0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00,
+ 0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,
+ 0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00,
+ 0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,
+ 0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66,
+ // Entry 280 - 2BF
+ 0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,
+ 0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,
+ 0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,
+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
+ 0xe5, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
+ 0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,
+ 0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
+ // Entry 2C0 - 2FF
+ 0x02, 0x50, 0x80, 0x11, 0x00, 0x91, 0x6c, 0xe2,
+ 0x50, 0x27, 0x1d, 0x11, 0x29, 0x06, 0x59, 0xe9,
+ 0x33, 0x08, 0x00, 0x20, 0x04, 0x40, 0x10, 0x00,
+ 0x00, 0x00, 0x50, 0x44, 0x92, 0x49, 0xd6, 0x5d,
+ 0xa7, 0x81, 0x47, 0x97, 0xfb, 0x00, 0x10, 0x00,
+ 0x08, 0x00, 0x80, 0x00, 0x40, 0x04, 0x00, 0x01,
+ 0x02, 0x00, 0x01, 0x40, 0x80, 0x00, 0x00, 0x08,
+ 0xd8, 0xeb, 0xf6, 0x39, 0xc4, 0x89, 0x12, 0x00,
+ // Entry 300 - 33F
+ 0x00, 0x0c, 0x04, 0x01, 0x20, 0x20, 0xdd, 0xa0,
+ 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+ 0x04, 0x10, 0xd0, 0x9d, 0x95, 0x13, 0x04, 0x80,
+ 0x00, 0x01, 0xd0, 0x12, 0x40, 0x00, 0x10, 0xb0,
+ 0x10, 0x62, 0x4c, 0xd2, 0x02, 0x01, 0x4a, 0x00,
+ 0x46, 0x04, 0x00, 0x08, 0x02, 0x00, 0x20, 0x80,
+ 0x00, 0x80, 0x06, 0x00, 0x08, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0xd8, 0x6f, 0x15, 0x02, 0x08, 0x00,
+ // Entry 340 - 37F
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
+ 0x00, 0x10, 0x00, 0x00, 0x00, 0xf0, 0x84, 0xe3,
+ 0xdd, 0xbf, 0xf9, 0xf9, 0x3b, 0x7f, 0x7f, 0xdb,
+ 0xfd, 0xfc, 0xfe, 0xdf, 0xff, 0xfd, 0xff, 0xf6,
+ 0xfb, 0xfc, 0xf7, 0x1f, 0xff, 0xb3, 0x6c, 0xff,
+ 0xd9, 0xad, 0xdf, 0xfe, 0xef, 0xba, 0xdf, 0xff,
+ 0xff, 0xff, 0xb7, 0xdd, 0x7d, 0xbf, 0xab, 0x7f,
+ 0xfd, 0xfd, 0xdf, 0x2f, 0x9c, 0xdf, 0xf3, 0x6f,
+ // Entry 380 - 3BF
+ 0xdf, 0xdd, 0xff, 0xfb, 0xee, 0xd2, 0xab, 0x5f,
+ 0xd5, 0xdf, 0x7f, 0xff, 0xeb, 0xff, 0xe4, 0x4d,
+ 0xf9, 0xff, 0xfe, 0xf7, 0xfd, 0xdf, 0xfb, 0xbf,
+ 0xee, 0xdb, 0x6f, 0xef, 0xff, 0x7f, 0xff, 0xff,
+ 0xf7, 0x5f, 0xd3, 0x3b, 0xfd, 0xd9, 0xdf, 0xeb,
+ 0xbc, 0x08, 0x05, 0x24, 0xff, 0x07, 0x70, 0xfe,
+ 0xe6, 0x5e, 0x00, 0x08, 0x00, 0x83, 0x3d, 0x1b,
+ 0x06, 0xe6, 0x72, 0x60, 0xd1, 0x3c, 0x7f, 0x44,
+ // Entry 3C0 - 3FF
+ 0x02, 0x30, 0x9f, 0x7a, 0x16, 0xbd, 0x7f, 0x57,
+ 0xf2, 0xff, 0x31, 0xff, 0xf2, 0x1e, 0x90, 0xf7,
+ 0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,
+ 0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,
+ 0x84, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
+ 0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,
+ 0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,
+ 0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,
+ // Entry 400 - 43F
+ 0x53, 0x6f, 0xdf, 0xe7, 0xdb, 0x65, 0xbb, 0x7f,
+ 0xfa, 0xff, 0x77, 0xf3, 0xef, 0xbf, 0xfd, 0xf7,
+ 0xdf, 0xdf, 0x9b, 0x7f, 0xff, 0xff, 0x7f, 0x6f,
+ 0xf7, 0xfb, 0xeb, 0xdf, 0xbc, 0xff, 0xbf, 0x6b,
+ 0x7b, 0xfb, 0xff, 0xce, 0x76, 0xbd, 0xf7, 0xf7,
+ 0xdf, 0xdc, 0xf7, 0xf7, 0xff, 0xdf, 0xf3, 0xfe,
+ 0xef, 0xff, 0xff, 0xff, 0xb6, 0x7f, 0x7f, 0xde,
+ 0xf7, 0xb9, 0xeb, 0x77, 0xff, 0xfb, 0xbf, 0xdf,
+ // Entry 440 - 47F
+ 0xfd, 0xfe, 0xfb, 0xff, 0xfe, 0xeb, 0x1f, 0x7d,
+ 0x2f, 0xfd, 0xb6, 0xb5, 0xa5, 0xfc, 0xff, 0xfd,
+ 0x7f, 0x4e, 0xbf, 0x8e, 0xae, 0xff, 0xee, 0xdf,
+ 0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,
+ 0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,
+ 0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,
+ 0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,
+ 0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x04, 0x44,
+ // Entry 480 - 4BF
+ 0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,
+ 0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,
+ 0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41,
+ 0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,
+ 0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,
+ 0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00,
+ 0x06, 0x01, 0x20, 0x00, 0x18, 0x01, 0x92, 0xb1,
+ // Entry 4C0 - 4FF
+ 0xfd, 0x47, 0x49, 0x06, 0x95, 0x06, 0x57, 0xed,
+ 0xfb, 0x4c, 0x1c, 0x6b, 0x83, 0x04, 0x62, 0x40,
+ 0x00, 0x11, 0x42, 0x00, 0x00, 0x00, 0x54, 0x83,
+ 0xb8, 0x4f, 0x10, 0x8c, 0x89, 0x46, 0xde, 0xf7,
+ 0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,
+ 0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d,
+ 0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,
+ // Entry 500 - 53F
+ 0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49,
+ 0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7,
+ 0x3f, 0x00, 0x00, 0x02, 0xc6, 0xa0, 0x1e, 0xf8,
+ 0xbb, 0xff, 0xfd, 0xfb, 0xb7, 0xfd, 0xe5, 0xf7,
+ 0xfd, 0xfc, 0xd5, 0xed, 0x47, 0xf4, 0x7e, 0x10,
+ 0x01, 0x01, 0x84, 0x6d, 0xff, 0xf7, 0xdd, 0xf9,
+ 0x5b, 0x05, 0x86, 0xed, 0xf5, 0x77, 0xbd, 0x3c,
+ 0x00, 0x00, 0x00, 0x42, 0x71, 0x42, 0x00, 0x40,
+ // Entry 540 - 57F
+ 0x00, 0x00, 0x01, 0x43, 0x19, 0x00, 0x08, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ // Entry 580 - 5BF
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xab, 0xbd, 0xe7, 0x57, 0xee, 0x13, 0x5d,
+ 0x09, 0xc1, 0x40, 0x21, 0xfa, 0x17, 0x01, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xce, 0xfb, 0xbf,
+ 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+ 0x00, 0x30, 0x15, 0xa3, 0x10, 0x00, 0x00, 0x00,
+ 0x11, 0x04, 0x16, 0x00, 0x00, 0x02, 0x00, 0x81,
+ 0xa3, 0x01, 0x50, 0x00, 0x00, 0x83, 0x11, 0x40,
+ // Entry 5C0 - 5FF
+ 0x00, 0x00, 0x00, 0xf0, 0xdd, 0x7b, 0x3e, 0x02,
+ 0xaa, 0x10, 0x5d, 0x98, 0x52, 0x00, 0x80, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x02,
+ 0x19, 0x00, 0x10, 0x02, 0x10, 0x61, 0x5a, 0x9d,
+ 0x31, 0x00, 0x00, 0x00, 0x01, 0x10, 0x02, 0x20,
+ 0x00, 0x00, 0x01, 0x00, 0x42, 0x00, 0x20, 0x00,
+ 0x00, 0x1f, 0xdf, 0xd2, 0xb9, 0xff, 0xfd, 0x3f,
+ 0x1f, 0x18, 0xcf, 0x9c, 0xbf, 0xaf, 0x5f, 0xfe,
+ // Entry 600 - 63F
+ 0x7b, 0x4b, 0x40, 0x10, 0xe1, 0xfd, 0xaf, 0xd9,
+ 0xb7, 0xf6, 0xfb, 0xb3, 0xc7, 0xff, 0x6f, 0xf1,
+ 0x73, 0xb1, 0x7f, 0x9f, 0x7f, 0xbd, 0xfc, 0xb7,
+ 0xee, 0x1c, 0xfa, 0xcb, 0xef, 0xdd, 0xf9, 0xbd,
+ 0x6e, 0xae, 0x55, 0xfd, 0x6e, 0x81, 0x76, 0x1f,
+ 0xd4, 0x77, 0xf5, 0x7d, 0xfb, 0xff, 0xeb, 0xfe,
+ 0xbe, 0x5f, 0x46, 0x1b, 0xe9, 0x5f, 0x50, 0x18,
+ 0x02, 0xfa, 0xf7, 0x9d, 0x15, 0x97, 0x05, 0x0f,
+ // Entry 640 - 67F
+ 0x75, 0xc4, 0x7d, 0x81, 0x82, 0xf1, 0x57, 0x6c,
+ 0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,
+ 0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,
+ 0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,
+ 0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,
+ 0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7,
+ 0x5f, 0xff, 0xff, 0x9e, 0xdb, 0xf6, 0xd7, 0xb9,
+ 0xef, 0x27, 0x80, 0xbb, 0xc5, 0xff, 0xff, 0xe3,
+ // Entry 680 - 6BF
+ 0x97, 0x9d, 0xbf, 0x9f, 0xf7, 0xc7, 0xfd, 0x37,
+ 0xce, 0x7f, 0x04, 0x1d, 0x53, 0x7f, 0xf8, 0xda,
+ 0x5d, 0xce, 0x7d, 0x06, 0xb9, 0xea, 0x69, 0xa0,
+ 0x1a, 0x20, 0x00, 0x30, 0x02, 0x04, 0x24, 0x08,
+ 0x04, 0x00, 0x00, 0x40, 0xd4, 0x02, 0x04, 0x00,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x01, 0x06,
+ 0x50, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00,
+ 0x04, 0x00, 0x10, 0x8c, 0x58, 0xd5, 0x0d, 0x0f,
+ // Entry 6C0 - 6FF
+ 0x14, 0x4d, 0xf1, 0x16, 0x44, 0xd1, 0x42, 0x08,
+ 0x40, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0xdc, 0xfb, 0xcb, 0x0e, 0x58, 0x08, 0x41,
+ 0x04, 0x20, 0x04, 0x00, 0x30, 0x12, 0x40, 0x00,
+ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x80, 0x10, 0x10, 0xab,
+ 0x6d, 0x93, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x25, 0x00, 0x00,
+ // Entry 700 - 73F
+ 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
+ 0x80, 0x86, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0xdf, 0x18, 0x00, 0x00, 0x02, 0xf0, 0xfd, 0x79,
+ 0x3b, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+ 0x03, 0x00, 0x09, 0x20, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 740 - 77F
+ 0x00, 0x00, 0x00, 0xef, 0xd5, 0xfd, 0xcf, 0x7e,
+ 0xa0, 0x11, 0x00, 0x00, 0x00, 0x92, 0x01, 0x44,
+ 0xcd, 0xf9, 0x5c, 0x00, 0x01, 0x00, 0x30, 0x04,
+ 0x04, 0x55, 0x00, 0x01, 0x04, 0xf4, 0x3f, 0x4a,
+ 0x01, 0x00, 0x00, 0xb0, 0x80, 0x00, 0x55, 0x55,
+ 0x97, 0x7c, 0x9f, 0x31, 0xcc, 0x68, 0xd1, 0x03,
+ 0xd5, 0x57, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x2c, 0xf7, 0xcb, 0x1f, 0x14, 0x60,
+ // Entry 780 - 7BF
+ 0x03, 0x68, 0x01, 0x10, 0x8b, 0x38, 0x8a, 0x01,
+ 0x00, 0x00, 0x20, 0x00, 0x24, 0x44, 0x00, 0x00,
+ 0x10, 0x03, 0x11, 0x02, 0x01, 0x00, 0x00, 0xf0,
+ 0xf5, 0xff, 0xd5, 0x97, 0xbc, 0x70, 0xd6, 0x78,
+ 0x78, 0x15, 0x50, 0x00, 0xa4, 0x84, 0xa9, 0x41,
+ 0x00, 0x00, 0x00, 0x6b, 0x39, 0x52, 0x74, 0x00,
+ 0xe8, 0x30, 0x90, 0x6a, 0x92, 0x00, 0x00, 0x02,
+ 0xff, 0xef, 0xff, 0x4b, 0x85, 0x53, 0xf4, 0xed,
+ // Entry 7C0 - 7FF
+ 0xdd, 0xbf, 0x72, 0x19, 0xc7, 0x0c, 0xd5, 0x42,
+ 0x54, 0xdd, 0x77, 0x14, 0x00, 0x80, 0x40, 0x56,
+ 0xcc, 0x16, 0x9e, 0xea, 0x35, 0x7d, 0xef, 0xff,
+ 0xbd, 0xa4, 0xaf, 0x01, 0x44, 0x18, 0x01, 0x4d,
+ 0x4e, 0x4a, 0x08, 0x50, 0x28, 0x30, 0xe0, 0x80,
+ 0x10, 0x20, 0x24, 0x00, 0xff, 0x2f, 0xd3, 0x60,
+ 0xfe, 0x01, 0x02, 0x88, 0x0a, 0x40, 0x16, 0x01,
+ 0x01, 0x15, 0x2b, 0x3c, 0x01, 0x00, 0x00, 0x10,
+ // Entry 800 - 83F
+ 0x90, 0x49, 0x41, 0x02, 0x02, 0x01, 0xe1, 0xbf,
+ 0xbf, 0x03, 0x00, 0x00, 0x10, 0xd4, 0xa3, 0xd1,
+ 0x40, 0x9c, 0x44, 0xdf, 0xf5, 0x8f, 0x66, 0xb3,
+ 0x55, 0x20, 0xd4, 0xc1, 0xd8, 0x30, 0x3d, 0x80,
+ 0x00, 0x00, 0x00, 0x04, 0xd4, 0x11, 0xc5, 0x84,
+ 0x2e, 0x50, 0x00, 0x22, 0x50, 0x6e, 0xbd, 0x93,
+ 0x07, 0x00, 0x20, 0x10, 0x84, 0xb2, 0x45, 0x10,
+ 0x06, 0x44, 0x00, 0x00, 0x12, 0x02, 0x11, 0x00,
+ // Entry 840 - 87F
+ 0xf0, 0xfb, 0xfd, 0x3f, 0x05, 0x00, 0x12, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x02, 0x28,
+ 0x84, 0x00, 0x23, 0xc0, 0x23, 0x24, 0x00, 0x00,
+ 0x00, 0xcb, 0xe4, 0x3a, 0x42, 0x88, 0x14, 0xf1,
+ 0xef, 0xff, 0x7f, 0x12, 0x01, 0x01, 0x84, 0x50,
+ 0x07, 0xfc, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x40,
+ 0x10, 0x38, 0x01, 0x01, 0x1c, 0x12, 0x40, 0xe1,
+ // Entry 880 - 8BF
+ 0x76, 0x16, 0x08, 0x03, 0x10, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24,
+ 0x0a, 0x00, 0x80, 0x00, 0x00,
+}
+
+// altLangISO3 holds an alphabetically sorted list of 3-letter language code alternatives
+// to 2-letter language codes that cannot be derived using the method described above.
+// Each 3-letter code is followed by its 1-byte langID.
+const altLangISO3 tag.Index = "---\x00cor\x00hbs\x01heb\x02kin\x03spa\x04yid\x05\xff\xff\xff\xff"
+
+// altLangIndex is used to convert indexes in altLangISO3 to langIDs.
+// Size: 12 bytes, 6 elements
+var altLangIndex = [6]uint16{
+ 0x027f, 0x0405, 0x01f9, 0x03e3, 0x013d, 0x0206,
+}
+
+// langAliasMap maps langIDs to their suggested replacements.
+// Size: 644 bytes, 161 elements
+var langAliasMap = [161]fromTo{
+ 0: {from: 0x82, to: 0x88},
+ 1: {from: 0x185, to: 0x1ac},
+ 2: {from: 0x1f1, to: 0x1df},
+ 3: {from: 0x1f9, to: 0x1ba},
+ 4: {from: 0x206, to: 0x510},
+ 5: {from: 0x20d, to: 0x20c},
+ 6: {from: 0x30e, to: 0x3da},
+ 7: {from: 0x345, to: 0x36d},
+ 8: {from: 0x405, to: 0x430},
+ 9: {from: 0x478, to: 0x152},
+ 10: {from: 0x48e, to: 0x44f},
+ 11: {from: 0x4a0, to: 0x21},
+ 12: {from: 0x53b, to: 0x541},
+ 13: {from: 0x58c, to: 0x12c},
+ 14: {from: 0x62d, to: 0x1eae},
+ 15: {from: 0x64e, to: 0x42f},
+ 16: {from: 0x65f, to: 0x42f},
+ 17: {from: 0x6ea, to: 0x3a},
+ 18: {from: 0x6f5, to: 0x1d5},
+ 19: {from: 0x73b, to: 0x219e},
+ 20: {from: 0x7b0, to: 0x56},
+ 21: {from: 0x7b6, to: 0x2998},
+ 22: {from: 0x7c2, to: 0x58},
+ 23: {from: 0x7e3, to: 0x144},
+ 24: {from: 0x809, to: 0x5a},
+ 25: {from: 0x812, to: 0x8d},
+ 26: {from: 0x87b, to: 0x80d},
+ 27: {from: 0x8c0, to: 0xee0},
+ 28: {from: 0x9ec, to: 0x32f},
+ 29: {from: 0xa33, to: 0x2c3},
+ 30: {from: 0xa3a, to: 0xbf},
+ 31: {from: 0xabb, to: 0x331f},
+ 32: {from: 0xb35, to: 0x527},
+ 33: {from: 0xb72, to: 0x2657},
+ 34: {from: 0xb7b, to: 0xbc0},
+ 35: {from: 0xb98, to: 0x44c},
+ 36: {from: 0xbb9, to: 0x4226},
+ 37: {from: 0xbbc, to: 0x527},
+ 38: {from: 0xbfb, to: 0x2da4},
+ 39: {from: 0xc2b, to: 0x317e},
+ 40: {from: 0xcb6, to: 0xf2},
+ 41: {from: 0xd05, to: 0xf9},
+ 42: {from: 0xdc5, to: 0x119},
+ 43: {from: 0xdd4, to: 0x32b},
+ 44: {from: 0xdf5, to: 0xdf8},
+ 45: {from: 0xdfb, to: 0x52e},
+ 46: {from: 0xedc, to: 0x2057},
+ 47: {from: 0xeeb, to: 0x2e97},
+ 48: {from: 0xf36, to: 0x365},
+ 49: {from: 0x10cd, to: 0x13f},
+ 50: {from: 0x1101, to: 0x2ce},
+ 51: {from: 0x119d, to: 0x1ea},
+ 52: {from: 0x1276, to: 0x21},
+ 53: {from: 0x1421, to: 0x15d},
+ 54: {from: 0x146d, to: 0x14d},
+ 55: {from: 0x151c, to: 0xd98},
+ 56: {from: 0x1520, to: 0x38e},
+ 57: {from: 0x152f, to: 0x19d},
+ 58: {from: 0x157d, to: 0x20e},
+ 59: {from: 0x1580, to: 0x10c},
+ 60: {from: 0x15a0, to: 0x3cac},
+ 61: {from: 0x1667, to: 0x199},
+ 62: {from: 0x16c5, to: 0x135},
+ 63: {from: 0x16fd, to: 0x29f5},
+ 64: {from: 0x1715, to: 0x192},
+ 65: {from: 0x1724, to: 0xf3c},
+ 66: {from: 0x1777, to: 0x1521},
+ 67: {from: 0x1806, to: 0x17b3},
+ 68: {from: 0x1813, to: 0x18f0},
+ 69: {from: 0x1887, to: 0x434},
+ 70: {from: 0x1976, to: 0x1cfe},
+ 71: {from: 0x1a71, to: 0x2bad},
+ 72: {from: 0x1a87, to: 0x1f6},
+ 73: {from: 0x1b57, to: 0x1f8},
+ 74: {from: 0x1b83, to: 0x1512},
+ 75: {from: 0x2035, to: 0x37ae},
+ 76: {from: 0x203a, to: 0x20da},
+ 77: {from: 0x2057, to: 0x309},
+ 78: {from: 0x20e0, to: 0x272},
+ 79: {from: 0x20eb, to: 0x261},
+ 80: {from: 0x20ef, to: 0x22b},
+ 81: {from: 0x20f6, to: 0x254},
+ 82: {from: 0x210c, to: 0x21e8},
+ 83: {from: 0x2132, to: 0x27b},
+ 84: {from: 0x2196, to: 0x120},
+ 85: {from: 0x21cb, to: 0x155e},
+ 86: {from: 0x21e3, to: 0x502},
+ 87: {from: 0x21f1, to: 0x49d},
+ 88: {from: 0x222a, to: 0x120},
+ 89: {from: 0x2234, to: 0x120},
+ 90: {from: 0x225f, to: 0x927},
+ 91: {from: 0x2313, to: 0x3223},
+ 92: {from: 0x237f, to: 0x3362},
+ 93: {from: 0x246f, to: 0x2c5},
+ 94: {from: 0x24e1, to: 0x2fd},
+ 95: {from: 0x24ed, to: 0x2f8},
+ 96: {from: 0x24f7, to: 0x31d},
+ 97: {from: 0x254d, to: 0xb58},
+ 98: {from: 0x25a6, to: 0xe2},
+ 99: {from: 0x263b, to: 0x2ce},
+ 100: {from: 0x26c6, to: 0x26b1},
+ 101: {from: 0x26f6, to: 0x3c6},
+ 102: {from: 0x2724, to: 0x3cac},
+ 103: {from: 0x2762, to: 0x26b1},
+ 104: {from: 0x2786, to: 0x4355},
+ 105: {from: 0x28ec, to: 0x2834},
+ 106: {from: 0x2911, to: 0x34f},
+ 107: {from: 0x2983, to: 0x2da4},
+ 108: {from: 0x2b17, to: 0x38b},
+ 109: {from: 0x2bf9, to: 0x393},
+ 110: {from: 0x2c3c, to: 0x3cac},
+ 111: {from: 0x2cf9, to: 0x3bc},
+ 112: {from: 0x2d10, to: 0x594},
+ 113: {from: 0x2d44, to: 0x147},
+ 114: {from: 0x2d45, to: 0x147},
+ 115: {from: 0x2dfc, to: 0x2ef},
+ 116: {from: 0x2e05, to: 0x19c9},
+ 117: {from: 0x2e17, to: 0x2d92},
+ 118: {from: 0x2e1e, to: 0x290},
+ 119: {from: 0x2e51, to: 0x7d},
+ 120: {from: 0x2e62, to: 0x227f},
+ 121: {from: 0x2e9d, to: 0x2e98},
+ 122: {from: 0x2eec, to: 0x2ed4},
+ 123: {from: 0x3190, to: 0x3c2},
+ 124: {from: 0x3363, to: 0x338b},
+ 125: {from: 0x3427, to: 0x3da},
+ 126: {from: 0x34eb, to: 0x18cd},
+ 127: {from: 0x35e3, to: 0x410},
+ 128: {from: 0x3655, to: 0x244},
+ 129: {from: 0x3673, to: 0x3f2},
+ 130: {from: 0x36fa, to: 0x443},
+ 131: {from: 0x37bd, to: 0x120},
+ 132: {from: 0x3813, to: 0x38ef},
+ 133: {from: 0x3828, to: 0x2c98},
+ 134: {from: 0x382c, to: 0xa9},
+ 135: {from: 0x382f, to: 0x3225},
+ 136: {from: 0x3869, to: 0x39a3},
+ 137: {from: 0x388f, to: 0x3fbd},
+ 138: {from: 0x38a2, to: 0x39d4},
+ 139: {from: 0x38b1, to: 0x1fa1},
+ 140: {from: 0x38b2, to: 0x2e97},
+ 141: {from: 0x3959, to: 0x47c},
+ 142: {from: 0x3b4b, to: 0xd8e},
+ 143: {from: 0x3b75, to: 0x136},
+ 144: {from: 0x3c96, to: 0x4ba},
+ 145: {from: 0x3fba, to: 0xff},
+ 146: {from: 0x4205, to: 0xa8e},
+ 147: {from: 0x42bb, to: 0x570},
+ 148: {from: 0x42f6, to: 0x3f5d},
+ 149: {from: 0x4375, to: 0x258},
+ 150: {from: 0x43c8, to: 0x36c8},
+ 151: {from: 0x43ca, to: 0x10e},
+ 152: {from: 0x44ac, to: 0x331f},
+ 153: {from: 0x44e0, to: 0x510},
+ 154: {from: 0x45c7, to: 0x2406},
+ 155: {from: 0x45da, to: 0x26d9},
+ 156: {from: 0x460d, to: 0x48ab},
+ 157: {from: 0x46ab, to: 0x469d},
+ 158: {from: 0x473b, to: 0x4742},
+ 159: {from: 0x4913, to: 0x31d},
+ 160: {from: 0x49a4, to: 0x521},
+}
+
+// Size: 161 bytes, 161 elements
+var langAliasTypes = [161]langAliasType{
+ // Entry 0 - 3F
+ 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,
+ 1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,
+ 2, 0, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0,
+ 2, 1, 1, 1, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 2, 0,
+ // Entry 40 - 7F
+ 1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 1, 1, 1,
+ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 2, 2,
+ 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1,
+ 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 2,
+ // Entry 80 - BF
+ 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+ 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1,
+ 1,
+}
+
+const (
+ _Latn = 82
+ _Hani = 50
+ _Hans = 52
+ _Hant = 53
+ _Qaaa = 131
+ _Qaai = 139
+ _Qabx = 180
+ _Zinh = 224
+ _Zyyy = 229
+ _Zzzz = 230
+)
+
+// script is an alphabetically sorted list of ISO 15924 codes. The index
+// of the script in the string, divided by 4, is the internal scriptID.
+const script tag.Index = "" + // Size: 928 bytes
+ "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
+ "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCprtCyrlCyrsDevaDsrtDuplEgyd" +
+ "EgyhEgypElbaEthiGeokGeorGlagGothGranGrekGujrGuruHanbHangHaniHanoHansHant" +
+ "HatrHebrHiraHluwHmngHrktHungIndsItalJamoJavaJpanJurcKaliKanaKharKhmrKhoj" +
+ "KitlKitsKndaKoreKpelKthiLanaLaooLatfLatgLatnLekeLepcLimbLinaLinbLisuLoma" +
+ "LyciLydiMahjMandManiMarcMayaMendMercMeroMlymModiMongMoonMrooMteiMultMymr" +
+ "NarbNbatNewaNkgbNkooNshuOgamOlckOrkhOryaOsgeOsmaPalmPaucPermPhagPhliPhlp" +
+ "PhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaaeQaafQaagQaahQaaiQaajQaakQaalQaam" +
+ "QaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaawQaaxQaayQaazQabaQabbQabcQabdQabe" +
+ "QabfQabgQabhQabiQabjQabkQablQabmQabnQaboQabpQabqQabrQabsQabtQabuQabvQabw" +
+ "QabxRjngRoroRunrSamrSaraSarbSaurSgnwShawShrdSiddSindSinhSoraSundSyloSyrc" +
+ "SyreSyrjSyrnTagbTakrTaleTaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirh" +
+ "UgarVaiiVispWaraWoleXpeoXsuxYiiiZinhZmthZsyeZsymZxxxZyyyZzzz\xff\xff\xff" +
+ "\xff"
+
+// suppressScript is an index from langID to the dominant script for that language,
+// if it exists. If a script is given, it should be suppressed from the language tag.
+// Size: 1327 bytes, 1327 elements
+var suppressScript = [1327]uint8{
+ // Entry 0 - 3F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 40 - 7F
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00,
+ // Entry 80 - BF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry C0 - FF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ // Entry 100 - 13F
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00, 0x52,
+ // Entry 140 - 17F
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x52, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 180 - 1BF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x37, 0x00, 0x20, 0x00, 0x00, 0x00,
+ // Entry 1C0 - 1FF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x52, 0x00, 0x52, 0x52, 0x00, 0x08, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x52,
+ 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+ // Entry 200 - 23F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 240 - 27F
+ 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x4b, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 280 - 2BF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x4f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ // Entry 2C0 - 2FF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
+ // Entry 300 - 33F
+ 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x52, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ // Entry 340 - 37F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x70, 0x52, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 380 - 3BF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x52, 0x00,
+ // Entry 3C0 - 3FF
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1e, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 400 - 43F
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 440 - 47F
+ 0x00, 0x00, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0,
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xd5, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x52, 0x00,
+ // Entry 480 - 4BF
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00,
+ // Entry 4C0 - 4FF
+ 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 500 - 53F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00,
+}
+
+const (
+ _001 = 1
+ _419 = 30
+ _BR = 64
+ _CA = 72
+ _ES = 109
+ _GB = 122
+ _MD = 187
+ _PT = 237
+ _UK = 305
+ _US = 308
+ _ZZ = 356
+ _XA = 322
+ _XC = 324
+ _XK = 332
+)
+
+// isoRegionOffset needs to be added to the index of regionISO to obtain the regionID
+// for 2-letter ISO codes. (The first isoRegionOffset regionIDs are reserved for
+// the UN.M49 codes used for groups.)
+const isoRegionOffset = 31
+
+// regionTypes defines the status of a region for various standards.
+// Size: 357 bytes, 357 elements
+var regionTypes = [357]uint8{
+ // Entry 0 - 3F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ // Entry 40 - 7F
+ 0x06, 0x06, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x04, 0x00,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06,
+ 0x04, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06, 0x04,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
+ 0x04, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ // Entry 80 - BF
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x00, 0x04, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ // Entry C0 - FF
+ 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
+ 0x06, 0x06, 0x06, 0x00, 0x06, 0x04, 0x06, 0x06,
+ 0x06, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x06,
+ 0x06, 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ // Entry 100 - 13F
+ 0x05, 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x04, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x02, 0x06, 0x04, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ // Entry 140 - 17F
+ 0x00, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
+ 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x06, 0x04,
+ 0x06, 0x06, 0x04, 0x06, 0x05,
+}
+
+// regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
+// Each 2-letter codes is followed by two bytes with the following meaning:
+// - [A-Z}{2}: the first letter of the 2-letter code plus these two
+// letters form the 3-letter ISO code.
+// - 0, n: index into altRegionISO3.
+const regionISO tag.Index = "" + // Size: 1308 bytes
+ "AAAAACSCADNDAEREAFFGAGTGAIIAALLBAMRMANNTAOGOAQTAARRGASSMATUTAUUSAWBWAXLA" +
+ "AZZEBAIHBBRBBDGDBEELBFFABGGRBHHRBIDIBJENBLLMBMMUBNRNBOOLBQESBRRABSHSBTTN" +
+ "BUURBVVTBWWABYLRBZLZCAANCCCKCDODCFAFCGOGCHHECIIVCKOKCLHLCMMRCNHNCOOLCPPT" +
+ "CRRICS\x00\x00CTTECUUBCVPVCWUWCXXRCYYPCZZEDDDRDEEUDGGADJJIDKNKDMMADOOMDY" +
+ "HYDZZAEA ECCUEESTEGGYEHSHERRIESSPETTHEU\x00\x03EZ FIINFJJIFKLKFMSMFORO" +
+ "FQ\x00\x18FRRAFXXXGAABGBBRGDRDGEEOGFUFGGGYGHHAGIIBGLRLGMMBGNINGPLPGQNQGR" +
+ "RCGS\x00\x06GTTMGUUMGWNBGYUYHKKGHMMDHNNDHRRVHTTIHUUNHVVOIC IDDNIERLILSR" +
+ "IMMNINNDIOOTIQRQIRRNISSLITTAJEEYJMAMJOORJPPNJTTNKEENKGGZKHHMKIIRKM\x00" +
+ "\x09KNNAKP\x00\x0cKRORKWWTKY\x00\x0fKZAZLAAOLBBNLCCALIIELKKALRBRLSSOLTTU" +
+ "LUUXLVVALYBYMAARMCCOMDDAMENEMFAFMGDGMHHLMIIDMKKDMLLIMMMRMNNGMOACMPNPMQTQ" +
+ "MRRTMSSRMTLTMUUSMVDVMWWIMXEXMYYSMZOZNAAMNCCLNEERNFFKNGGANHHBNIICNLLDNOOR" +
+ "NPPLNQ\x00\x1eNRRUNTTZNUIUNZZLOMMNPAANPCCIPEERPFYFPGNGPHHLPKAKPLOLPM\x00" +
+ "\x12PNCNPRRIPSSEPTRTPUUSPWLWPYRYPZCZQAATQMMMQNNNQOOOQPPPQQQQQRRRQSSSQTTT" +
+ "QU\x00\x03QVVVQWWWQXXXQYYYQZZZREEURHHOROOURS\x00\x15RUUSRWWASAAUSBLBSCYC" +
+ "SDDNSEWESGGPSHHNSIVNSJJMSKVKSLLESMMRSNENSOOMSRURSSSDSTTPSUUNSVLVSXXMSYYR" +
+ "SZWZTAAATCCATDCDTF\x00\x18TGGOTHHATJJKTKKLTLLSTMKMTNUNTOONTPMPTRURTTTOTV" +
+ "UVTWWNTZZAUAKRUGGAUK UMMIUN USSAUYRYUZZBVAATVCCTVDDRVEENVGGBVIIRVNNMVU" +
+ "UTWFLFWKAKWSSMXAAAXBBBXCCCXDDDXEEEXFFFXGGGXHHHXIIIXJJJXKKKXLLLXMMMXNNNXO" +
+ "OOXPPPXQQQXRRRXSSSXTTTXUUUXVVVXWWWXXXXXYYYXZZZYDMDYEEMYT\x00\x1bYUUGZAAF" +
+ "ZMMBZRARZWWEZZZZ\xff\xff\xff\xff"
+
+// altRegionISO3 holds a list of 3-letter region codes that cannot be
+// mapped to 2-letter codes using the default algorithm. This is a short list.
+const altRegionISO3 string = "SCGQUUSGSCOMPRKCYMSPMSRBATFMYTATN"
+
+// altRegionIDs holds a list of regionIDs the positions of which match those
+// of the 3-letter ISO codes in altRegionISO3.
+// Size: 22 bytes, 11 elements
+var altRegionIDs = [11]uint16{
+ 0x0056, 0x006f, 0x0087, 0x00a7, 0x00a9, 0x00ac, 0x00e9, 0x0104,
+ 0x0120, 0x015e, 0x00db,
+}
+
+// Size: 80 bytes, 20 elements
+var regionOldMap = [20]fromTo{
+ 0: {from: 0x43, to: 0xc3},
+ 1: {from: 0x57, to: 0xa6},
+ 2: {from: 0x5e, to: 0x5f},
+ 3: {from: 0x65, to: 0x3a},
+ 4: {from: 0x78, to: 0x77},
+ 5: {from: 0x92, to: 0x36},
+ 6: {from: 0xa2, to: 0x132},
+ 7: {from: 0xc0, to: 0x132},
+ 8: {from: 0xd6, to: 0x13e},
+ 9: {from: 0xdb, to: 0x2a},
+ 10: {from: 0xee, to: 0x132},
+ 11: {from: 0xf1, to: 0xe1},
+ 12: {from: 0xfb, to: 0x6f},
+ 13: {from: 0x102, to: 0x163},
+ 14: {from: 0x129, to: 0x125},
+ 15: {from: 0x131, to: 0x7a},
+ 16: {from: 0x139, to: 0x13d},
+ 17: {from: 0x140, to: 0x132},
+ 18: {from: 0x15c, to: 0x15d},
+ 19: {from: 0x162, to: 0x4a},
+}
+
+// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
+// codes indicating collections of regions.
+// Size: 714 bytes, 357 elements
+var m49 = [357]int16{
+ // Entry 0 - 3F
+ 0, 1, 2, 3, 5, 9, 11, 13,
+ 14, 15, 17, 18, 19, 21, 29, 30,
+ 34, 35, 39, 53, 54, 57, 61, 142,
+ 143, 145, 150, 151, 154, 155, 419, 958,
+ 0, 20, 784, 4, 28, 660, 8, 51,
+ 530, 24, 10, 32, 16, 40, 36, 533,
+ 248, 31, 70, 52, 50, 56, 854, 100,
+ 48, 108, 204, 652, 60, 96, 68, 535,
+ // Entry 40 - 7F
+ 76, 44, 64, 104, 74, 72, 112, 84,
+ 124, 166, 180, 140, 178, 756, 384, 184,
+ 152, 120, 156, 170, 0, 188, 891, 296,
+ 192, 132, 531, 162, 196, 203, 278, 276,
+ 0, 262, 208, 212, 214, 204, 12, 0,
+ 218, 233, 818, 732, 232, 724, 231, 967,
+ 0, 246, 242, 238, 583, 234, 0, 250,
+ 249, 266, 826, 308, 268, 254, 831, 288,
+ // Entry 80 - BF
+ 292, 304, 270, 324, 312, 226, 300, 239,
+ 320, 316, 624, 328, 344, 334, 340, 191,
+ 332, 348, 854, 0, 360, 372, 376, 833,
+ 356, 86, 368, 364, 352, 380, 832, 388,
+ 400, 392, 581, 404, 417, 116, 296, 174,
+ 659, 408, 410, 414, 136, 398, 418, 422,
+ 662, 438, 144, 430, 426, 440, 442, 428,
+ 434, 504, 492, 498, 499, 663, 450, 584,
+ // Entry C0 - FF
+ 581, 807, 466, 104, 496, 446, 580, 474,
+ 478, 500, 470, 480, 462, 454, 484, 458,
+ 508, 516, 540, 562, 574, 566, 548, 558,
+ 528, 578, 524, 10, 520, 536, 570, 554,
+ 512, 591, 0, 604, 258, 598, 608, 586,
+ 616, 666, 612, 630, 275, 620, 581, 585,
+ 600, 591, 634, 959, 960, 961, 962, 963,
+ 964, 965, 966, 967, 968, 969, 970, 971,
+ // Entry 100 - 13F
+ 972, 638, 716, 642, 688, 643, 646, 682,
+ 90, 690, 729, 752, 702, 654, 705, 744,
+ 703, 694, 674, 686, 706, 740, 728, 678,
+ 810, 222, 534, 760, 748, 0, 796, 148,
+ 260, 768, 764, 762, 772, 626, 795, 788,
+ 776, 626, 792, 780, 798, 158, 834, 804,
+ 800, 826, 581, 0, 840, 858, 860, 336,
+ 670, 704, 862, 92, 850, 704, 548, 876,
+ // Entry 140 - 17F
+ 581, 882, 973, 974, 975, 976, 977, 978,
+ 979, 980, 981, 982, 983, 984, 985, 986,
+ 987, 988, 989, 990, 991, 992, 993, 994,
+ 995, 996, 997, 998, 720, 887, 175, 891,
+ 710, 894, 180, 716, 999,
+}
+
+// m49Index gives indexes into fromM49 based on the three most significant bits
+// of a 10-bit UN.M49 code. To search an UN.M49 code in fromM49, search in
+// fromM49[m49Index[msb39(code)]:m49Index[msb3(code)+1]]
+// for an entry where the first 7 bits match the 7 lsb of the UN.M49 code.
+// The region code is stored in the 9 lsb of the indexed value.
+// Size: 18 bytes, 9 elements
+var m49Index = [9]int16{
+ 0, 59, 107, 142, 180, 219, 258, 290,
+ 332,
+}
+
+// fromM49 contains entries to map UN.M49 codes to regions. See m49Index for details.
+// Size: 664 bytes, 332 elements
+var fromM49 = [332]uint16{
+ // Entry 0 - 3F
+ 0x0201, 0x0402, 0x0603, 0x0823, 0x0a04, 0x1026, 0x1205, 0x142a,
+ 0x1606, 0x1866, 0x1a07, 0x1c08, 0x1e09, 0x202c, 0x220a, 0x240b,
+ 0x260c, 0x2821, 0x2a0d, 0x3029, 0x3824, 0x3a0e, 0x3c0f, 0x3e31,
+ 0x402b, 0x4410, 0x4611, 0x482e, 0x4e12, 0x502d, 0x5841, 0x6038,
+ 0x6434, 0x6627, 0x6833, 0x6a13, 0x6c14, 0x7035, 0x7215, 0x783c,
+ 0x7a16, 0x8042, 0x883e, 0x8c32, 0x9045, 0x9444, 0x9840, 0xa847,
+ 0xac99, 0xb508, 0xb93b, 0xc03d, 0xc837, 0xd0c3, 0xd839, 0xe046,
+ 0xe8a5, 0xf051, 0xf848, 0x0859, 0x10ac, 0x184b, 0x1c17, 0x1e18,
+ // Entry 40 - 7F
+ 0x20b2, 0x2219, 0x291f, 0x2c1a, 0x2e1b, 0x3050, 0x341c, 0x361d,
+ 0x3852, 0x3d2d, 0x445b, 0x4c49, 0x5453, 0x5ca7, 0x5f5e, 0x644c,
+ 0x684a, 0x704f, 0x7855, 0x7e8f, 0x8058, 0x885c, 0x965d, 0x983a,
+ 0xa062, 0xa863, 0xac64, 0xb468, 0xbd19, 0xc485, 0xcc6e, 0xce6e,
+ 0xd06c, 0xd269, 0xd475, 0xdc73, 0xde87, 0xe472, 0xec71, 0xf030,
+ 0xf278, 0xf477, 0xfc7d, 0x04e4, 0x0920, 0x0c61, 0x1479, 0x187c,
+ 0x1c82, 0x26ec, 0x285f, 0x2c5e, 0x305f, 0x407f, 0x4880, 0x50a6,
+ 0x5886, 0x6081, 0x687b, 0x7084, 0x7889, 0x8088, 0x8883, 0x908b,
+ // Entry 80 - BF
+ 0x9890, 0x9c8d, 0xa137, 0xa88e, 0xb08c, 0xb891, 0xc09c, 0xc898,
+ 0xd094, 0xd89b, 0xe09a, 0xe895, 0xf096, 0xf89d, 0x004e, 0x089f,
+ 0x10a1, 0x1cad, 0x20a0, 0x28a3, 0x30a9, 0x34aa, 0x3cab, 0x42a4,
+ 0x44ae, 0x461e, 0x4caf, 0x54b4, 0x58b7, 0x5cb3, 0x64b8, 0x6cb1,
+ 0x70b5, 0x74b6, 0x7cc5, 0x84be, 0x8ccd, 0x94cf, 0x9ccc, 0xa4c2,
+ 0xacca, 0xb4c7, 0xbcc8, 0xc0cb, 0xc8ce, 0xd8ba, 0xe0c4, 0xe4bb,
+ 0xe6bc, 0xe8c9, 0xf0b9, 0xf8d0, 0x00e0, 0x08d1, 0x10dc, 0x18da,
+ 0x20d8, 0x2428, 0x265a, 0x2a2f, 0x2d1a, 0x2e3f, 0x30dd, 0x38d2,
+ // Entry C0 - FF
+ 0x493e, 0x54df, 0x5cd7, 0x64d3, 0x6cd5, 0x74de, 0x7cd4, 0x84d9,
+ 0x88c6, 0x8b32, 0x8e74, 0x90bf, 0x92ef, 0x94e7, 0x9ee1, 0xace5,
+ 0xb0f0, 0xb8e3, 0xc0e6, 0xc8ea, 0xd0e8, 0xd8ed, 0xe08a, 0xe525,
+ 0xeceb, 0xf4f2, 0xfd01, 0x0503, 0x0705, 0x0d06, 0x183b, 0x1d0d,
+ 0x26a8, 0x2825, 0x2cb0, 0x2ebd, 0x34e9, 0x3d38, 0x4512, 0x4d17,
+ 0x5507, 0x5d13, 0x6104, 0x6509, 0x6d11, 0x7d0c, 0x7f10, 0x813d,
+ 0x830e, 0x8514, 0x8d60, 0x9963, 0xa15c, 0xa86d, 0xb116, 0xb30a,
+ 0xb86b, 0xc10a, 0xc915, 0xd10f, 0xd91c, 0xe10b, 0xe84d, 0xf11b,
+ // Entry 100 - 13F
+ 0xf523, 0xf922, 0x0121, 0x0924, 0x1128, 0x192b, 0x2022, 0x2927,
+ 0x312a, 0x3726, 0x391e, 0x3d2c, 0x4130, 0x492f, 0x4ec1, 0x5518,
+ 0x646a, 0x747a, 0x7e7e, 0x809e, 0x8297, 0x852e, 0x9134, 0xa53c,
+ 0xac36, 0xb535, 0xb936, 0xbd3a, 0xd93f, 0xe541, 0xed5d, 0xef5d,
+ 0xf656, 0xfd61, 0x7c1f, 0x7ef3, 0x80f4, 0x82f5, 0x84f6, 0x86f7,
+ 0x88f8, 0x8af9, 0x8cfa, 0x8e6f, 0x90fc, 0x92fd, 0x94fe, 0x96ff,
+ 0x9900, 0x9b42, 0x9d43, 0x9f44, 0xa145, 0xa346, 0xa547, 0xa748,
+ 0xa949, 0xab4a, 0xad4b, 0xaf4c, 0xb14d, 0xb34e, 0xb54f, 0xb750,
+ // Entry 140 - 17F
+ 0xb951, 0xbb52, 0xbd53, 0xbf54, 0xc155, 0xc356, 0xc557, 0xc758,
+ 0xc959, 0xcb5a, 0xcd5b, 0xcf64,
+}
+
+// Size: 1463 bytes
+var variantIndex = map[string]uint8{
+ "1606nict": 0x0,
+ "1694acad": 0x1,
+ "1901": 0x2,
+ "1959acad": 0x3,
+ "1994": 0x45,
+ "1996": 0x4,
+ "abl1943": 0x5,
+ "alalc97": 0x47,
+ "aluku": 0x6,
+ "ao1990": 0x7,
+ "arevela": 0x8,
+ "arevmda": 0x9,
+ "baku1926": 0xa,
+ "balanka": 0xb,
+ "barla": 0xc,
+ "basiceng": 0xd,
+ "bauddha": 0xe,
+ "biscayan": 0xf,
+ "biske": 0x40,
+ "bohoric": 0x10,
+ "boont": 0x11,
+ "colb1945": 0x12,
+ "cornu": 0x13,
+ "dajnko": 0x14,
+ "ekavsk": 0x15,
+ "emodeng": 0x16,
+ "fonipa": 0x48,
+ "fonnapa": 0x49,
+ "fonupa": 0x4a,
+ "fonxsamp": 0x4b,
+ "hepburn": 0x17,
+ "heploc": 0x46,
+ "hognorsk": 0x18,
+ "ijekavsk": 0x19,
+ "itihasa": 0x1a,
+ "jauer": 0x1b,
+ "jyutping": 0x1c,
+ "kkcor": 0x1d,
+ "kociewie": 0x1e,
+ "kscor": 0x1f,
+ "laukika": 0x20,
+ "lipaw": 0x41,
+ "luna1918": 0x21,
+ "metelko": 0x22,
+ "monoton": 0x23,
+ "ndyuka": 0x24,
+ "nedis": 0x25,
+ "newfound": 0x26,
+ "njiva": 0x42,
+ "nulik": 0x27,
+ "osojs": 0x43,
+ "oxendict": 0x28,
+ "pamaka": 0x29,
+ "petr1708": 0x2a,
+ "pinyin": 0x2b,
+ "polyton": 0x2c,
+ "puter": 0x2d,
+ "rigik": 0x2e,
+ "rozaj": 0x2f,
+ "rumgr": 0x30,
+ "scotland": 0x31,
+ "scouse": 0x32,
+ "simple": 0x4c,
+ "solba": 0x44,
+ "sotav": 0x33,
+ "surmiran": 0x34,
+ "sursilv": 0x35,
+ "sutsilv": 0x36,
+ "tarask": 0x37,
+ "uccor": 0x38,
+ "ucrcor": 0x39,
+ "ulster": 0x3a,
+ "unifon": 0x3b,
+ "vaidika": 0x3c,
+ "valencia": 0x3d,
+ "vallader": 0x3e,
+ "wadegile": 0x3f,
+}
+
+// variantNumSpecialized is the number of specialized variants in variants.
+const variantNumSpecialized = 71
+
+// nRegionGroups is the number of region groups.
+const nRegionGroups = 32
+
+type likelyLangRegion struct {
+ lang uint16
+ region uint16
+}
+
+// likelyScript is a lookup table, indexed by scriptID, for the most likely
+// languages and regions given a script.
+// Size: 928 bytes, 232 elements
+var likelyScript = [232]likelyLangRegion{
+ 1: {lang: 0x14d, region: 0x83},
+ 3: {lang: 0x2a0, region: 0x105},
+ 4: {lang: 0x1f, region: 0x98},
+ 5: {lang: 0x3a, region: 0x6a},
+ 7: {lang: 0x3b, region: 0x9b},
+ 8: {lang: 0x1d5, region: 0x27},
+ 9: {lang: 0x13, region: 0x9b},
+ 10: {lang: 0x5b, region: 0x94},
+ 11: {lang: 0x60, region: 0x51},
+ 12: {lang: 0xb9, region: 0xb3},
+ 13: {lang: 0x63, region: 0x94},
+ 14: {lang: 0xa5, region: 0x34},
+ 15: {lang: 0x3e7, region: 0x98},
+ 17: {lang: 0x527, region: 0x12d},
+ 18: {lang: 0x3af, region: 0x98},
+ 19: {lang: 0x15d, region: 0x77},
+ 20: {lang: 0xc2, region: 0x94},
+ 21: {lang: 0x9d, region: 0xe6},
+ 22: {lang: 0xdb, region: 0x34},
+ 23: {lang: 0xf2, region: 0x48},
+ 24: {lang: 0x4ee, region: 0x12a},
+ 25: {lang: 0xe7, region: 0x13d},
+ 26: {lang: 0xe5, region: 0x134},
+ 28: {lang: 0xf0, region: 0x6a},
+ 29: {lang: 0x19e, region: 0x5c},
+ 30: {lang: 0x3e0, region: 0x105},
+ 32: {lang: 0x1bc, region: 0x98},
+ 34: {lang: 0x15d, region: 0x77},
+ 37: {lang: 0x132, region: 0x6a},
+ 38: {lang: 0x42f, region: 0x26},
+ 39: {lang: 0x27, region: 0x6e},
+ 41: {lang: 0x20e, region: 0x7c},
+ 42: {lang: 0xfd, region: 0x37},
+ 43: {lang: 0x19c, region: 0x12f},
+ 44: {lang: 0x3e7, region: 0x98},
+ 45: {lang: 0x135, region: 0x86},
+ 46: {lang: 0x1a2, region: 0x98},
+ 47: {lang: 0x39b, region: 0x98},
+ 48: {lang: 0x527, region: 0x12d},
+ 49: {lang: 0x252, region: 0xaa},
+ 50: {lang: 0x527, region: 0x52},
+ 51: {lang: 0x1c9, region: 0xe6},
+ 52: {lang: 0x527, region: 0x52},
+ 53: {lang: 0x527, region: 0x12d},
+ 54: {lang: 0x2fb, region: 0x9a},
+ 55: {lang: 0x1ba, region: 0x96},
+ 56: {lang: 0x1fe, region: 0xa1},
+ 57: {lang: 0x1c3, region: 0x12a},
+ 58: {lang: 0x1c8, region: 0xae},
+ 60: {lang: 0x1d3, region: 0x91},
+ 62: {lang: 0x141, region: 0x9d},
+ 63: {lang: 0x252, region: 0xaa},
+ 64: {lang: 0x20c, region: 0x94},
+ 65: {lang: 0x1fe, region: 0xa1},
+ 67: {lang: 0x134, region: 0xc3},
+ 68: {lang: 0x1fe, region: 0xa1},
+ 69: {lang: 0x3b9, region: 0xe7},
+ 70: {lang: 0x248, region: 0xa5},
+ 71: {lang: 0x3f8, region: 0x98},
+ 74: {lang: 0x24f, region: 0x98},
+ 75: {lang: 0x252, region: 0xaa},
+ 77: {lang: 0x88, region: 0x98},
+ 78: {lang: 0x36e, region: 0x122},
+ 79: {lang: 0x2b6, region: 0xae},
+ 84: {lang: 0x29d, region: 0x98},
+ 85: {lang: 0x2a6, region: 0x98},
+ 86: {lang: 0x28d, region: 0x86},
+ 87: {lang: 0x19e, region: 0x86},
+ 88: {lang: 0x2aa, region: 0x52},
+ 90: {lang: 0x4f2, region: 0x12a},
+ 91: {lang: 0x4f3, region: 0x12a},
+ 92: {lang: 0x1bc, region: 0x98},
+ 93: {lang: 0x335, region: 0x9b},
+ 94: {lang: 0x4f5, region: 0x52},
+ 95: {lang: 0xa9, region: 0x52},
+ 97: {lang: 0x2e6, region: 0x111},
+ 98: {lang: 0x4f6, region: 0x10a},
+ 99: {lang: 0x4f6, region: 0x10a},
+ 100: {lang: 0x302, region: 0x98},
+ 101: {lang: 0x319, region: 0x98},
+ 102: {lang: 0x309, region: 0x52},
+ 104: {lang: 0x31c, region: 0x34},
+ 105: {lang: 0x30c, region: 0x98},
+ 106: {lang: 0x412, region: 0xe7},
+ 107: {lang: 0x32f, region: 0xc3},
+ 108: {lang: 0x4f7, region: 0x107},
+ 109: {lang: 0x3b, region: 0xa0},
+ 110: {lang: 0x351, region: 0xda},
+ 112: {lang: 0x2ce, region: 0x83},
+ 114: {lang: 0x401, region: 0x95},
+ 115: {lang: 0x3ec, region: 0x98},
+ 116: {lang: 0x399, region: 0xc4},
+ 117: {lang: 0x393, region: 0x98},
+ 118: {lang: 0x397, region: 0x134},
+ 119: {lang: 0x427, region: 0x114},
+ 120: {lang: 0x3b, region: 0x11b},
+ 121: {lang: 0xfc, region: 0xc3},
+ 122: {lang: 0x27b, region: 0x105},
+ 123: {lang: 0x2c7, region: 0x52},
+ 124: {lang: 0x39d, region: 0x9b},
+ 125: {lang: 0x39d, region: 0x52},
+ 127: {lang: 0x3ab, region: 0xaf},
+ 129: {lang: 0x1c4, region: 0x52},
+ 130: {lang: 0x4fb, region: 0x9b},
+ 181: {lang: 0x3c9, region: 0x94},
+ 183: {lang: 0x370, region: 0x10b},
+ 184: {lang: 0x41e, region: 0x96},
+ 186: {lang: 0x4fd, region: 0x15d},
+ 187: {lang: 0x3ee, region: 0x98},
+ 188: {lang: 0x45, region: 0x134},
+ 189: {lang: 0x138, region: 0x7a},
+ 190: {lang: 0x3e7, region: 0x98},
+ 191: {lang: 0x3e7, region: 0x98},
+ 192: {lang: 0x3f8, region: 0x98},
+ 193: {lang: 0x40a, region: 0xb2},
+ 194: {lang: 0x431, region: 0x98},
+ 195: {lang: 0x43c, region: 0x94},
+ 196: {lang: 0x44b, region: 0x34},
+ 197: {lang: 0x44c, region: 0x9a},
+ 201: {lang: 0x458, region: 0xe6},
+ 202: {lang: 0x119, region: 0x98},
+ 203: {lang: 0x45c, region: 0x52},
+ 204: {lang: 0x230, region: 0x52},
+ 205: {lang: 0x44e, region: 0x98},
+ 206: {lang: 0x4a3, region: 0x52},
+ 207: {lang: 0x9f, region: 0x13d},
+ 208: {lang: 0x45f, region: 0x98},
+ 210: {lang: 0x526, region: 0xb9},
+ 211: {lang: 0x152, region: 0xe6},
+ 212: {lang: 0x127, region: 0xcc},
+ 213: {lang: 0x469, region: 0x122},
+ 214: {lang: 0xa9, region: 0x52},
+ 215: {lang: 0x2cc, region: 0x98},
+ 216: {lang: 0x4ab, region: 0x11b},
+ 217: {lang: 0x4bc, region: 0xb3},
+ 219: {lang: 0x1cc, region: 0x98},
+ 221: {lang: 0x3a7, region: 0x9b},
+ 222: {lang: 0x22, region: 0x9a},
+ 223: {lang: 0x1e8, region: 0x52},
+}
+
+type likelyScriptRegion struct {
+ region uint16
+ script uint8
+ flags uint8
+}
+
+// likelyLang is a lookup table, indexed by langID, for the most likely
+// scripts and regions given incomplete information. If more entries exist for a
+// given language, region and script are the index and size respectively
+// of the list in likelyLangList.
+// Size: 5308 bytes, 1327 elements
+var likelyLang = [1327]likelyScriptRegion{
+ 0: {region: 0x134, script: 0x52, flags: 0x0},
+ 1: {region: 0x6e, script: 0x52, flags: 0x0},
+ 2: {region: 0x164, script: 0x52, flags: 0x0},
+ 3: {region: 0x164, script: 0x52, flags: 0x0},
+ 4: {region: 0x164, script: 0x52, flags: 0x0},
+ 5: {region: 0x7c, script: 0x1e, flags: 0x0},
+ 6: {region: 0x164, script: 0x52, flags: 0x0},
+ 7: {region: 0x164, script: 0x1e, flags: 0x0},
+ 8: {region: 0x7f, script: 0x52, flags: 0x0},
+ 9: {region: 0x164, script: 0x52, flags: 0x0},
+ 10: {region: 0x164, script: 0x52, flags: 0x0},
+ 11: {region: 0x164, script: 0x52, flags: 0x0},
+ 12: {region: 0x94, script: 0x52, flags: 0x0},
+ 13: {region: 0x130, script: 0x52, flags: 0x0},
+ 14: {region: 0x7f, script: 0x52, flags: 0x0},
+ 15: {region: 0x164, script: 0x52, flags: 0x0},
+ 16: {region: 0x164, script: 0x52, flags: 0x0},
+ 17: {region: 0x105, script: 0x1e, flags: 0x0},
+ 18: {region: 0x164, script: 0x52, flags: 0x0},
+ 19: {region: 0x9b, script: 0x9, flags: 0x0},
+ 20: {region: 0x127, script: 0x5, flags: 0x0},
+ 21: {region: 0x164, script: 0x52, flags: 0x0},
+ 22: {region: 0x160, script: 0x52, flags: 0x0},
+ 23: {region: 0x164, script: 0x52, flags: 0x0},
+ 24: {region: 0x164, script: 0x52, flags: 0x0},
+ 25: {region: 0x164, script: 0x52, flags: 0x0},
+ 26: {region: 0x164, script: 0x52, flags: 0x0},
+ 27: {region: 0x164, script: 0x52, flags: 0x0},
+ 28: {region: 0x51, script: 0x52, flags: 0x0},
+ 29: {region: 0x164, script: 0x52, flags: 0x0},
+ 30: {region: 0x164, script: 0x52, flags: 0x0},
+ 31: {region: 0x98, script: 0x4, flags: 0x0},
+ 32: {region: 0x164, script: 0x52, flags: 0x0},
+ 33: {region: 0x7f, script: 0x52, flags: 0x0},
+ 34: {region: 0x9a, script: 0xde, flags: 0x0},
+ 35: {region: 0x164, script: 0x52, flags: 0x0},
+ 36: {region: 0x164, script: 0x52, flags: 0x0},
+ 37: {region: 0x14c, script: 0x52, flags: 0x0},
+ 38: {region: 0x105, script: 0x1e, flags: 0x0},
+ 39: {region: 0x6e, script: 0x27, flags: 0x0},
+ 40: {region: 0x164, script: 0x52, flags: 0x0},
+ 41: {region: 0x164, script: 0x52, flags: 0x0},
+ 42: {region: 0xd5, script: 0x52, flags: 0x0},
+ 43: {region: 0x164, script: 0x52, flags: 0x0},
+ 45: {region: 0x164, script: 0x52, flags: 0x0},
+ 46: {region: 0x164, script: 0x52, flags: 0x0},
+ 47: {region: 0x164, script: 0x52, flags: 0x0},
+ 48: {region: 0x164, script: 0x52, flags: 0x0},
+ 49: {region: 0x164, script: 0x52, flags: 0x0},
+ 50: {region: 0x164, script: 0x52, flags: 0x0},
+ 51: {region: 0x94, script: 0x52, flags: 0x0},
+ 52: {region: 0x164, script: 0x5, flags: 0x0},
+ 53: {region: 0x121, script: 0x5, flags: 0x0},
+ 54: {region: 0x164, script: 0x52, flags: 0x0},
+ 55: {region: 0x164, script: 0x52, flags: 0x0},
+ 56: {region: 0x164, script: 0x52, flags: 0x0},
+ 57: {region: 0x164, script: 0x52, flags: 0x0},
+ 58: {region: 0x6a, script: 0x5, flags: 0x0},
+ 59: {region: 0x0, script: 0x3, flags: 0x1},
+ 60: {region: 0x164, script: 0x52, flags: 0x0},
+ 61: {region: 0x50, script: 0x52, flags: 0x0},
+ 62: {region: 0x3e, script: 0x52, flags: 0x0},
+ 63: {region: 0x66, script: 0x5, flags: 0x0},
+ 65: {region: 0xb9, script: 0x5, flags: 0x0},
+ 66: {region: 0x6a, script: 0x5, flags: 0x0},
+ 67: {region: 0x98, script: 0xe, flags: 0x0},
+ 68: {region: 0x12e, script: 0x52, flags: 0x0},
+ 69: {region: 0x134, script: 0xbc, flags: 0x0},
+ 70: {region: 0x164, script: 0x52, flags: 0x0},
+ 71: {region: 0x164, script: 0x52, flags: 0x0},
+ 72: {region: 0x6d, script: 0x52, flags: 0x0},
+ 73: {region: 0x164, script: 0x52, flags: 0x0},
+ 74: {region: 0x164, script: 0x52, flags: 0x0},
+ 75: {region: 0x48, script: 0x52, flags: 0x0},
+ 76: {region: 0x164, script: 0x52, flags: 0x0},
+ 77: {region: 0x105, script: 0x1e, flags: 0x0},
+ 78: {region: 0x164, script: 0x5, flags: 0x0},
+ 79: {region: 0x164, script: 0x52, flags: 0x0},
+ 80: {region: 0x164, script: 0x52, flags: 0x0},
+ 81: {region: 0x164, script: 0x52, flags: 0x0},
+ 82: {region: 0x98, script: 0x20, flags: 0x0},
+ 83: {region: 0x164, script: 0x52, flags: 0x0},
+ 84: {region: 0x164, script: 0x52, flags: 0x0},
+ 85: {region: 0x164, script: 0x52, flags: 0x0},
+ 86: {region: 0x3e, script: 0x52, flags: 0x0},
+ 87: {region: 0x164, script: 0x52, flags: 0x0},
+ 88: {region: 0x3, script: 0x5, flags: 0x1},
+ 89: {region: 0x105, script: 0x1e, flags: 0x0},
+ 90: {region: 0xe7, script: 0x5, flags: 0x0},
+ 91: {region: 0x94, script: 0x52, flags: 0x0},
+ 92: {region: 0xda, script: 0x20, flags: 0x0},
+ 93: {region: 0x2d, script: 0x52, flags: 0x0},
+ 94: {region: 0x51, script: 0x52, flags: 0x0},
+ 95: {region: 0x164, script: 0x52, flags: 0x0},
+ 96: {region: 0x51, script: 0xb, flags: 0x0},
+ 97: {region: 0x164, script: 0x52, flags: 0x0},
+ 98: {region: 0x164, script: 0x52, flags: 0x0},
+ 99: {region: 0x94, script: 0x52, flags: 0x0},
+ 100: {region: 0x164, script: 0x52, flags: 0x0},
+ 101: {region: 0x51, script: 0x52, flags: 0x0},
+ 102: {region: 0x164, script: 0x52, flags: 0x0},
+ 103: {region: 0x164, script: 0x52, flags: 0x0},
+ 104: {region: 0x164, script: 0x52, flags: 0x0},
+ 105: {region: 0x164, script: 0x52, flags: 0x0},
+ 106: {region: 0x4e, script: 0x52, flags: 0x0},
+ 107: {region: 0x164, script: 0x52, flags: 0x0},
+ 108: {region: 0x164, script: 0x52, flags: 0x0},
+ 109: {region: 0x164, script: 0x52, flags: 0x0},
+ 110: {region: 0x164, script: 0x27, flags: 0x0},
+ 111: {region: 0x164, script: 0x52, flags: 0x0},
+ 112: {region: 0x164, script: 0x52, flags: 0x0},
+ 113: {region: 0x46, script: 0x1e, flags: 0x0},
+ 114: {region: 0x164, script: 0x52, flags: 0x0},
+ 115: {region: 0x164, script: 0x52, flags: 0x0},
+ 116: {region: 0x10a, script: 0x5, flags: 0x0},
+ 117: {region: 0x161, script: 0x52, flags: 0x0},
+ 118: {region: 0x164, script: 0x52, flags: 0x0},
+ 119: {region: 0x94, script: 0x52, flags: 0x0},
+ 120: {region: 0x164, script: 0x52, flags: 0x0},
+ 121: {region: 0x12e, script: 0x52, flags: 0x0},
+ 122: {region: 0x51, script: 0x52, flags: 0x0},
+ 123: {region: 0x98, script: 0xcd, flags: 0x0},
+ 124: {region: 0xe7, script: 0x5, flags: 0x0},
+ 125: {region: 0x98, script: 0x20, flags: 0x0},
+ 126: {region: 0x37, script: 0x1e, flags: 0x0},
+ 127: {region: 0x98, script: 0x20, flags: 0x0},
+ 128: {region: 0xe7, script: 0x5, flags: 0x0},
+ 129: {region: 0x12a, script: 0x2d, flags: 0x0},
+ 131: {region: 0x98, script: 0x20, flags: 0x0},
+ 132: {region: 0x164, script: 0x52, flags: 0x0},
+ 133: {region: 0x98, script: 0x20, flags: 0x0},
+ 134: {region: 0xe6, script: 0x52, flags: 0x0},
+ 135: {region: 0x164, script: 0x52, flags: 0x0},
+ 136: {region: 0x98, script: 0x20, flags: 0x0},
+ 137: {region: 0x164, script: 0x52, flags: 0x0},
+ 138: {region: 0x13e, script: 0x52, flags: 0x0},
+ 139: {region: 0x164, script: 0x52, flags: 0x0},
+ 140: {region: 0x164, script: 0x52, flags: 0x0},
+ 141: {region: 0xe6, script: 0x52, flags: 0x0},
+ 142: {region: 0x164, script: 0x52, flags: 0x0},
+ 143: {region: 0xd5, script: 0x52, flags: 0x0},
+ 144: {region: 0x164, script: 0x52, flags: 0x0},
+ 145: {region: 0x164, script: 0x52, flags: 0x0},
+ 146: {region: 0x164, script: 0x52, flags: 0x0},
+ 147: {region: 0x164, script: 0x27, flags: 0x0},
+ 148: {region: 0x98, script: 0x20, flags: 0x0},
+ 149: {region: 0x94, script: 0x52, flags: 0x0},
+ 150: {region: 0x164, script: 0x52, flags: 0x0},
+ 151: {region: 0x164, script: 0x52, flags: 0x0},
+ 152: {region: 0x113, script: 0x52, flags: 0x0},
+ 153: {region: 0x164, script: 0x52, flags: 0x0},
+ 154: {region: 0x164, script: 0x52, flags: 0x0},
+ 155: {region: 0x51, script: 0x52, flags: 0x0},
+ 156: {region: 0x164, script: 0x52, flags: 0x0},
+ 157: {region: 0xe6, script: 0x52, flags: 0x0},
+ 158: {region: 0x164, script: 0x52, flags: 0x0},
+ 159: {region: 0x13d, script: 0xcf, flags: 0x0},
+ 160: {region: 0xc2, script: 0x52, flags: 0x0},
+ 161: {region: 0x164, script: 0x52, flags: 0x0},
+ 162: {region: 0x164, script: 0x52, flags: 0x0},
+ 163: {region: 0xc2, script: 0x52, flags: 0x0},
+ 164: {region: 0x164, script: 0x52, flags: 0x0},
+ 165: {region: 0x34, script: 0xe, flags: 0x0},
+ 166: {region: 0x164, script: 0x52, flags: 0x0},
+ 167: {region: 0x164, script: 0x52, flags: 0x0},
+ 168: {region: 0x164, script: 0x52, flags: 0x0},
+ 169: {region: 0x52, script: 0xd6, flags: 0x0},
+ 170: {region: 0x164, script: 0x52, flags: 0x0},
+ 171: {region: 0x164, script: 0x52, flags: 0x0},
+ 172: {region: 0x164, script: 0x52, flags: 0x0},
+ 173: {region: 0x98, script: 0xe, flags: 0x0},
+ 174: {region: 0x164, script: 0x52, flags: 0x0},
+ 175: {region: 0x9b, script: 0x5, flags: 0x0},
+ 176: {region: 0x164, script: 0x52, flags: 0x0},
+ 177: {region: 0x4e, script: 0x52, flags: 0x0},
+ 178: {region: 0x77, script: 0x52, flags: 0x0},
+ 179: {region: 0x98, script: 0x20, flags: 0x0},
+ 180: {region: 0xe7, script: 0x5, flags: 0x0},
+ 181: {region: 0x98, script: 0x20, flags: 0x0},
+ 182: {region: 0x164, script: 0x52, flags: 0x0},
+ 183: {region: 0x32, script: 0x52, flags: 0x0},
+ 184: {region: 0x164, script: 0x52, flags: 0x0},
+ 185: {region: 0xb3, script: 0xc, flags: 0x0},
+ 186: {region: 0x51, script: 0x52, flags: 0x0},
+ 187: {region: 0x164, script: 0x27, flags: 0x0},
+ 188: {region: 0xe6, script: 0x52, flags: 0x0},
+ 189: {region: 0x164, script: 0x52, flags: 0x0},
+ 190: {region: 0xe7, script: 0x20, flags: 0x0},
+ 191: {region: 0x105, script: 0x1e, flags: 0x0},
+ 192: {region: 0x15e, script: 0x52, flags: 0x0},
+ 193: {region: 0x164, script: 0x52, flags: 0x0},
+ 194: {region: 0x94, script: 0x52, flags: 0x0},
+ 195: {region: 0x164, script: 0x52, flags: 0x0},
+ 196: {region: 0x51, script: 0x52, flags: 0x0},
+ 197: {region: 0x164, script: 0x52, flags: 0x0},
+ 198: {region: 0x164, script: 0x52, flags: 0x0},
+ 199: {region: 0x164, script: 0x52, flags: 0x0},
+ 200: {region: 0x85, script: 0x52, flags: 0x0},
+ 201: {region: 0x164, script: 0x52, flags: 0x0},
+ 202: {region: 0x164, script: 0x52, flags: 0x0},
+ 203: {region: 0x164, script: 0x52, flags: 0x0},
+ 204: {region: 0x164, script: 0x52, flags: 0x0},
+ 205: {region: 0x6c, script: 0x27, flags: 0x0},
+ 206: {region: 0x164, script: 0x52, flags: 0x0},
+ 207: {region: 0x164, script: 0x52, flags: 0x0},
+ 208: {region: 0x51, script: 0x52, flags: 0x0},
+ 209: {region: 0x164, script: 0x52, flags: 0x0},
+ 210: {region: 0x164, script: 0x52, flags: 0x0},
+ 211: {region: 0xc2, script: 0x52, flags: 0x0},
+ 212: {region: 0x164, script: 0x52, flags: 0x0},
+ 213: {region: 0x164, script: 0x52, flags: 0x0},
+ 214: {region: 0x164, script: 0x52, flags: 0x0},
+ 215: {region: 0x6d, script: 0x52, flags: 0x0},
+ 216: {region: 0x164, script: 0x52, flags: 0x0},
+ 217: {region: 0x164, script: 0x52, flags: 0x0},
+ 218: {region: 0xd5, script: 0x52, flags: 0x0},
+ 219: {region: 0x34, script: 0x16, flags: 0x0},
+ 220: {region: 0x105, script: 0x1e, flags: 0x0},
+ 221: {region: 0xe6, script: 0x52, flags: 0x0},
+ 222: {region: 0x164, script: 0x52, flags: 0x0},
+ 223: {region: 0x130, script: 0x52, flags: 0x0},
+ 224: {region: 0x89, script: 0x52, flags: 0x0},
+ 225: {region: 0x74, script: 0x52, flags: 0x0},
+ 226: {region: 0x105, script: 0x1e, flags: 0x0},
+ 227: {region: 0x134, script: 0x52, flags: 0x0},
+ 228: {region: 0x48, script: 0x52, flags: 0x0},
+ 229: {region: 0x134, script: 0x1a, flags: 0x0},
+ 230: {region: 0xa5, script: 0x5, flags: 0x0},
+ 231: {region: 0x13d, script: 0x19, flags: 0x0},
+ 232: {region: 0x164, script: 0x52, flags: 0x0},
+ 233: {region: 0x9a, script: 0x5, flags: 0x0},
+ 234: {region: 0x164, script: 0x52, flags: 0x0},
+ 235: {region: 0x164, script: 0x52, flags: 0x0},
+ 236: {region: 0x164, script: 0x52, flags: 0x0},
+ 237: {region: 0x164, script: 0x52, flags: 0x0},
+ 238: {region: 0x164, script: 0x52, flags: 0x0},
+ 239: {region: 0x77, script: 0x52, flags: 0x0},
+ 240: {region: 0x6a, script: 0x1c, flags: 0x0},
+ 241: {region: 0xe6, script: 0x52, flags: 0x0},
+ 242: {region: 0x48, script: 0x17, flags: 0x0},
+ 243: {region: 0x12f, script: 0x1e, flags: 0x0},
+ 244: {region: 0x48, script: 0x17, flags: 0x0},
+ 245: {region: 0x48, script: 0x17, flags: 0x0},
+ 246: {region: 0x48, script: 0x17, flags: 0x0},
+ 247: {region: 0x48, script: 0x17, flags: 0x0},
+ 248: {region: 0x109, script: 0x52, flags: 0x0},
+ 249: {region: 0x5d, script: 0x52, flags: 0x0},
+ 250: {region: 0xe8, script: 0x52, flags: 0x0},
+ 251: {region: 0x48, script: 0x17, flags: 0x0},
+ 252: {region: 0xc3, script: 0x79, flags: 0x0},
+ 253: {region: 0x8, script: 0x2, flags: 0x1},
+ 254: {region: 0x105, script: 0x1e, flags: 0x0},
+ 255: {region: 0x7a, script: 0x52, flags: 0x0},
+ 256: {region: 0x62, script: 0x52, flags: 0x0},
+ 257: {region: 0x164, script: 0x52, flags: 0x0},
+ 258: {region: 0x164, script: 0x52, flags: 0x0},
+ 259: {region: 0x164, script: 0x52, flags: 0x0},
+ 260: {region: 0x164, script: 0x52, flags: 0x0},
+ 261: {region: 0x134, script: 0x52, flags: 0x0},
+ 262: {region: 0x105, script: 0x1e, flags: 0x0},
+ 263: {region: 0xa3, script: 0x52, flags: 0x0},
+ 264: {region: 0x164, script: 0x52, flags: 0x0},
+ 265: {region: 0x164, script: 0x52, flags: 0x0},
+ 266: {region: 0x98, script: 0x5, flags: 0x0},
+ 267: {region: 0x164, script: 0x52, flags: 0x0},
+ 268: {region: 0x5f, script: 0x52, flags: 0x0},
+ 269: {region: 0x164, script: 0x52, flags: 0x0},
+ 270: {region: 0x48, script: 0x52, flags: 0x0},
+ 271: {region: 0x164, script: 0x52, flags: 0x0},
+ 272: {region: 0x164, script: 0x52, flags: 0x0},
+ 273: {region: 0x164, script: 0x52, flags: 0x0},
+ 274: {region: 0x164, script: 0x5, flags: 0x0},
+ 275: {region: 0x48, script: 0x52, flags: 0x0},
+ 276: {region: 0x164, script: 0x52, flags: 0x0},
+ 277: {region: 0x164, script: 0x52, flags: 0x0},
+ 278: {region: 0xd3, script: 0x52, flags: 0x0},
+ 279: {region: 0x4e, script: 0x52, flags: 0x0},
+ 280: {region: 0x164, script: 0x52, flags: 0x0},
+ 281: {region: 0x98, script: 0x5, flags: 0x0},
+ 282: {region: 0x164, script: 0x52, flags: 0x0},
+ 283: {region: 0x164, script: 0x52, flags: 0x0},
+ 284: {region: 0x164, script: 0x52, flags: 0x0},
+ 285: {region: 0x164, script: 0x27, flags: 0x0},
+ 286: {region: 0x5f, script: 0x52, flags: 0x0},
+ 287: {region: 0xc2, script: 0x52, flags: 0x0},
+ 288: {region: 0xcf, script: 0x52, flags: 0x0},
+ 289: {region: 0x164, script: 0x52, flags: 0x0},
+ 290: {region: 0xda, script: 0x20, flags: 0x0},
+ 291: {region: 0x51, script: 0x52, flags: 0x0},
+ 292: {region: 0x164, script: 0x52, flags: 0x0},
+ 293: {region: 0x164, script: 0x52, flags: 0x0},
+ 294: {region: 0x164, script: 0x52, flags: 0x0},
+ 295: {region: 0xcc, script: 0xd4, flags: 0x0},
+ 296: {region: 0x164, script: 0x52, flags: 0x0},
+ 297: {region: 0x164, script: 0x52, flags: 0x0},
+ 298: {region: 0x113, script: 0x52, flags: 0x0},
+ 299: {region: 0x36, script: 0x52, flags: 0x0},
+ 300: {region: 0x42, script: 0xd6, flags: 0x0},
+ 301: {region: 0x164, script: 0x52, flags: 0x0},
+ 302: {region: 0xa3, script: 0x52, flags: 0x0},
+ 303: {region: 0x7f, script: 0x52, flags: 0x0},
+ 304: {region: 0xd5, script: 0x52, flags: 0x0},
+ 305: {region: 0x9d, script: 0x52, flags: 0x0},
+ 306: {region: 0x6a, script: 0x25, flags: 0x0},
+ 307: {region: 0x164, script: 0x52, flags: 0x0},
+ 308: {region: 0xc3, script: 0x43, flags: 0x0},
+ 309: {region: 0x86, script: 0x2d, flags: 0x0},
+ 310: {region: 0x164, script: 0x52, flags: 0x0},
+ 311: {region: 0x164, script: 0x52, flags: 0x0},
+ 312: {region: 0xa, script: 0x2, flags: 0x1},
+ 313: {region: 0x164, script: 0x52, flags: 0x0},
+ 314: {region: 0x164, script: 0x52, flags: 0x0},
+ 315: {region: 0x1, script: 0x52, flags: 0x0},
+ 316: {region: 0x164, script: 0x52, flags: 0x0},
+ 317: {region: 0x6d, script: 0x52, flags: 0x0},
+ 318: {region: 0x134, script: 0x52, flags: 0x0},
+ 319: {region: 0x69, script: 0x52, flags: 0x0},
+ 320: {region: 0x164, script: 0x52, flags: 0x0},
+ 321: {region: 0x9d, script: 0x3e, flags: 0x0},
+ 322: {region: 0x164, script: 0x52, flags: 0x0},
+ 323: {region: 0x164, script: 0x52, flags: 0x0},
+ 324: {region: 0x6d, script: 0x52, flags: 0x0},
+ 325: {region: 0x51, script: 0x52, flags: 0x0},
+ 326: {region: 0x6d, script: 0x52, flags: 0x0},
+ 327: {region: 0x9b, script: 0x5, flags: 0x0},
+ 328: {region: 0x164, script: 0x52, flags: 0x0},
+ 329: {region: 0x164, script: 0x52, flags: 0x0},
+ 330: {region: 0x164, script: 0x52, flags: 0x0},
+ 331: {region: 0x164, script: 0x52, flags: 0x0},
+ 332: {region: 0x85, script: 0x52, flags: 0x0},
+ 333: {region: 0xc, script: 0x2, flags: 0x1},
+ 334: {region: 0x164, script: 0x52, flags: 0x0},
+ 335: {region: 0xc2, script: 0x52, flags: 0x0},
+ 336: {region: 0x71, script: 0x52, flags: 0x0},
+ 337: {region: 0x10a, script: 0x5, flags: 0x0},
+ 338: {region: 0xe6, script: 0x52, flags: 0x0},
+ 339: {region: 0x10b, script: 0x52, flags: 0x0},
+ 340: {region: 0x72, script: 0x52, flags: 0x0},
+ 341: {region: 0x164, script: 0x52, flags: 0x0},
+ 342: {region: 0x164, script: 0x52, flags: 0x0},
+ 343: {region: 0x75, script: 0x52, flags: 0x0},
+ 344: {region: 0x164, script: 0x52, flags: 0x0},
+ 345: {region: 0x3a, script: 0x52, flags: 0x0},
+ 346: {region: 0x164, script: 0x52, flags: 0x0},
+ 347: {region: 0x164, script: 0x52, flags: 0x0},
+ 348: {region: 0x164, script: 0x52, flags: 0x0},
+ 349: {region: 0x77, script: 0x52, flags: 0x0},
+ 350: {region: 0x134, script: 0x52, flags: 0x0},
+ 351: {region: 0x77, script: 0x52, flags: 0x0},
+ 352: {region: 0x5f, script: 0x52, flags: 0x0},
+ 353: {region: 0x5f, script: 0x52, flags: 0x0},
+ 354: {region: 0x51, script: 0x5, flags: 0x0},
+ 355: {region: 0x13f, script: 0x52, flags: 0x0},
+ 356: {region: 0x164, script: 0x52, flags: 0x0},
+ 357: {region: 0x83, script: 0x52, flags: 0x0},
+ 358: {region: 0x164, script: 0x52, flags: 0x0},
+ 359: {region: 0xd3, script: 0x52, flags: 0x0},
+ 360: {region: 0x9d, script: 0x52, flags: 0x0},
+ 361: {region: 0xd5, script: 0x52, flags: 0x0},
+ 362: {region: 0x164, script: 0x52, flags: 0x0},
+ 363: {region: 0x10a, script: 0x52, flags: 0x0},
+ 364: {region: 0xd8, script: 0x52, flags: 0x0},
+ 365: {region: 0x95, script: 0x52, flags: 0x0},
+ 366: {region: 0x7f, script: 0x52, flags: 0x0},
+ 367: {region: 0x164, script: 0x52, flags: 0x0},
+ 368: {region: 0xbb, script: 0x52, flags: 0x0},
+ 369: {region: 0x164, script: 0x52, flags: 0x0},
+ 370: {region: 0x164, script: 0x52, flags: 0x0},
+ 371: {region: 0x164, script: 0x52, flags: 0x0},
+ 372: {region: 0x52, script: 0x34, flags: 0x0},
+ 373: {region: 0x164, script: 0x52, flags: 0x0},
+ 374: {region: 0x94, script: 0x52, flags: 0x0},
+ 375: {region: 0x164, script: 0x52, flags: 0x0},
+ 376: {region: 0x98, script: 0x20, flags: 0x0},
+ 377: {region: 0x164, script: 0x52, flags: 0x0},
+ 378: {region: 0x9b, script: 0x5, flags: 0x0},
+ 379: {region: 0x7d, script: 0x52, flags: 0x0},
+ 380: {region: 0x7a, script: 0x52, flags: 0x0},
+ 381: {region: 0x164, script: 0x52, flags: 0x0},
+ 382: {region: 0x164, script: 0x52, flags: 0x0},
+ 383: {region: 0x164, script: 0x52, flags: 0x0},
+ 384: {region: 0x164, script: 0x52, flags: 0x0},
+ 385: {region: 0x164, script: 0x52, flags: 0x0},
+ 386: {region: 0x164, script: 0x52, flags: 0x0},
+ 387: {region: 0x6e, script: 0x27, flags: 0x0},
+ 388: {region: 0x164, script: 0x52, flags: 0x0},
+ 389: {region: 0xda, script: 0x20, flags: 0x0},
+ 390: {region: 0x164, script: 0x52, flags: 0x0},
+ 391: {region: 0xa6, script: 0x52, flags: 0x0},
+ 392: {region: 0x164, script: 0x52, flags: 0x0},
+ 393: {region: 0xe7, script: 0x5, flags: 0x0},
+ 394: {region: 0x164, script: 0x52, flags: 0x0},
+ 395: {region: 0xe7, script: 0x5, flags: 0x0},
+ 396: {region: 0x164, script: 0x52, flags: 0x0},
+ 397: {region: 0x164, script: 0x52, flags: 0x0},
+ 398: {region: 0x6d, script: 0x52, flags: 0x0},
+ 399: {region: 0x9b, script: 0x5, flags: 0x0},
+ 400: {region: 0x164, script: 0x52, flags: 0x0},
+ 401: {region: 0x164, script: 0x27, flags: 0x0},
+ 402: {region: 0xf0, script: 0x52, flags: 0x0},
+ 403: {region: 0x164, script: 0x52, flags: 0x0},
+ 404: {region: 0x164, script: 0x52, flags: 0x0},
+ 405: {region: 0x164, script: 0x52, flags: 0x0},
+ 406: {region: 0x164, script: 0x27, flags: 0x0},
+ 407: {region: 0x164, script: 0x52, flags: 0x0},
+ 408: {region: 0x98, script: 0x20, flags: 0x0},
+ 409: {region: 0x98, script: 0xd0, flags: 0x0},
+ 410: {region: 0x94, script: 0x52, flags: 0x0},
+ 411: {region: 0xd8, script: 0x52, flags: 0x0},
+ 412: {region: 0x12f, script: 0x2b, flags: 0x0},
+ 413: {region: 0x164, script: 0x52, flags: 0x0},
+ 414: {region: 0xe, script: 0x2, flags: 0x1},
+ 415: {region: 0x98, script: 0xe, flags: 0x0},
+ 416: {region: 0x164, script: 0x52, flags: 0x0},
+ 417: {region: 0x4d, script: 0x52, flags: 0x0},
+ 418: {region: 0x98, script: 0x2e, flags: 0x0},
+ 419: {region: 0x40, script: 0x52, flags: 0x0},
+ 420: {region: 0x53, script: 0x52, flags: 0x0},
+ 421: {region: 0x164, script: 0x52, flags: 0x0},
+ 422: {region: 0x7f, script: 0x52, flags: 0x0},
+ 423: {region: 0x164, script: 0x52, flags: 0x0},
+ 424: {region: 0x164, script: 0x52, flags: 0x0},
+ 425: {region: 0xa3, script: 0x52, flags: 0x0},
+ 426: {region: 0x97, script: 0x52, flags: 0x0},
+ 427: {region: 0x164, script: 0x52, flags: 0x0},
+ 428: {region: 0xda, script: 0x20, flags: 0x0},
+ 429: {region: 0x164, script: 0x52, flags: 0x0},
+ 430: {region: 0x164, script: 0x5, flags: 0x0},
+ 431: {region: 0x48, script: 0x52, flags: 0x0},
+ 432: {region: 0x164, script: 0x5, flags: 0x0},
+ 433: {region: 0x164, script: 0x52, flags: 0x0},
+ 434: {region: 0x10, script: 0x3, flags: 0x1},
+ 435: {region: 0x164, script: 0x52, flags: 0x0},
+ 436: {region: 0x52, script: 0x34, flags: 0x0},
+ 437: {region: 0x164, script: 0x52, flags: 0x0},
+ 438: {region: 0x134, script: 0x52, flags: 0x0},
+ 439: {region: 0x23, script: 0x5, flags: 0x0},
+ 440: {region: 0x164, script: 0x52, flags: 0x0},
+ 441: {region: 0x164, script: 0x27, flags: 0x0},
+ 442: {region: 0x96, script: 0x37, flags: 0x0},
+ 443: {region: 0x164, script: 0x52, flags: 0x0},
+ 444: {region: 0x98, script: 0x20, flags: 0x0},
+ 445: {region: 0x164, script: 0x52, flags: 0x0},
+ 446: {region: 0x72, script: 0x52, flags: 0x0},
+ 447: {region: 0x164, script: 0x52, flags: 0x0},
+ 448: {region: 0x164, script: 0x52, flags: 0x0},
+ 449: {region: 0xe6, script: 0x52, flags: 0x0},
+ 450: {region: 0x164, script: 0x52, flags: 0x0},
+ 451: {region: 0x12a, script: 0x39, flags: 0x0},
+ 452: {region: 0x52, script: 0x81, flags: 0x0},
+ 453: {region: 0x164, script: 0x52, flags: 0x0},
+ 454: {region: 0xe7, script: 0x5, flags: 0x0},
+ 455: {region: 0x98, script: 0x20, flags: 0x0},
+ 456: {region: 0xae, script: 0x3a, flags: 0x0},
+ 457: {region: 0xe6, script: 0x52, flags: 0x0},
+ 458: {region: 0xe7, script: 0x5, flags: 0x0},
+ 459: {region: 0xe5, script: 0x52, flags: 0x0},
+ 460: {region: 0x98, script: 0x20, flags: 0x0},
+ 461: {region: 0x98, script: 0x20, flags: 0x0},
+ 462: {region: 0x164, script: 0x52, flags: 0x0},
+ 463: {region: 0x8f, script: 0x52, flags: 0x0},
+ 464: {region: 0x5f, script: 0x52, flags: 0x0},
+ 465: {region: 0x52, script: 0x34, flags: 0x0},
+ 466: {region: 0x90, script: 0x52, flags: 0x0},
+ 467: {region: 0x91, script: 0x52, flags: 0x0},
+ 468: {region: 0x164, script: 0x52, flags: 0x0},
+ 469: {region: 0x27, script: 0x8, flags: 0x0},
+ 470: {region: 0xd1, script: 0x52, flags: 0x0},
+ 471: {region: 0x77, script: 0x52, flags: 0x0},
+ 472: {region: 0x164, script: 0x52, flags: 0x0},
+ 473: {region: 0x164, script: 0x52, flags: 0x0},
+ 474: {region: 0xcf, script: 0x52, flags: 0x0},
+ 475: {region: 0xd5, script: 0x52, flags: 0x0},
+ 476: {region: 0x164, script: 0x52, flags: 0x0},
+ 477: {region: 0x164, script: 0x52, flags: 0x0},
+ 478: {region: 0x164, script: 0x52, flags: 0x0},
+ 479: {region: 0x94, script: 0x52, flags: 0x0},
+ 480: {region: 0x164, script: 0x52, flags: 0x0},
+ 481: {region: 0x164, script: 0x52, flags: 0x0},
+ 482: {region: 0x164, script: 0x52, flags: 0x0},
+ 484: {region: 0x121, script: 0x52, flags: 0x0},
+ 485: {region: 0xd5, script: 0x52, flags: 0x0},
+ 486: {region: 0x164, script: 0x52, flags: 0x0},
+ 487: {region: 0x164, script: 0x52, flags: 0x0},
+ 488: {region: 0x52, script: 0xdf, flags: 0x0},
+ 489: {region: 0x164, script: 0x52, flags: 0x0},
+ 490: {region: 0x134, script: 0x52, flags: 0x0},
+ 491: {region: 0x164, script: 0x52, flags: 0x0},
+ 492: {region: 0x48, script: 0x52, flags: 0x0},
+ 493: {region: 0x164, script: 0x52, flags: 0x0},
+ 494: {region: 0x164, script: 0x52, flags: 0x0},
+ 495: {region: 0xe6, script: 0x52, flags: 0x0},
+ 496: {region: 0x164, script: 0x52, flags: 0x0},
+ 497: {region: 0x94, script: 0x52, flags: 0x0},
+ 498: {region: 0x105, script: 0x1e, flags: 0x0},
+ 500: {region: 0x164, script: 0x52, flags: 0x0},
+ 501: {region: 0x164, script: 0x52, flags: 0x0},
+ 502: {region: 0x9c, script: 0x52, flags: 0x0},
+ 503: {region: 0x9d, script: 0x52, flags: 0x0},
+ 504: {region: 0x48, script: 0x17, flags: 0x0},
+ 505: {region: 0x96, script: 0x37, flags: 0x0},
+ 506: {region: 0x164, script: 0x52, flags: 0x0},
+ 507: {region: 0x164, script: 0x52, flags: 0x0},
+ 508: {region: 0x105, script: 0x52, flags: 0x0},
+ 509: {region: 0x164, script: 0x52, flags: 0x0},
+ 510: {region: 0xa1, script: 0x41, flags: 0x0},
+ 511: {region: 0x164, script: 0x52, flags: 0x0},
+ 512: {region: 0x9f, script: 0x52, flags: 0x0},
+ 514: {region: 0x164, script: 0x52, flags: 0x0},
+ 515: {region: 0x164, script: 0x52, flags: 0x0},
+ 516: {region: 0x164, script: 0x52, flags: 0x0},
+ 517: {region: 0x51, script: 0x52, flags: 0x0},
+ 518: {region: 0x12f, script: 0x37, flags: 0x0},
+ 519: {region: 0x164, script: 0x52, flags: 0x0},
+ 520: {region: 0x12e, script: 0x52, flags: 0x0},
+ 521: {region: 0xda, script: 0x20, flags: 0x0},
+ 522: {region: 0x164, script: 0x52, flags: 0x0},
+ 523: {region: 0x62, script: 0x52, flags: 0x0},
+ 524: {region: 0x94, script: 0x52, flags: 0x0},
+ 525: {region: 0x94, script: 0x52, flags: 0x0},
+ 526: {region: 0x7c, script: 0x29, flags: 0x0},
+ 527: {region: 0x136, script: 0x1e, flags: 0x0},
+ 528: {region: 0x66, script: 0x52, flags: 0x0},
+ 529: {region: 0xc3, script: 0x52, flags: 0x0},
+ 530: {region: 0x164, script: 0x52, flags: 0x0},
+ 531: {region: 0x164, script: 0x52, flags: 0x0},
+ 532: {region: 0xd5, script: 0x52, flags: 0x0},
+ 533: {region: 0xa3, script: 0x52, flags: 0x0},
+ 534: {region: 0xc2, script: 0x52, flags: 0x0},
+ 535: {region: 0x105, script: 0x1e, flags: 0x0},
+ 536: {region: 0x164, script: 0x52, flags: 0x0},
+ 537: {region: 0x164, script: 0x52, flags: 0x0},
+ 538: {region: 0x164, script: 0x52, flags: 0x0},
+ 539: {region: 0x164, script: 0x52, flags: 0x0},
+ 540: {region: 0xd3, script: 0x5, flags: 0x0},
+ 541: {region: 0xd5, script: 0x52, flags: 0x0},
+ 542: {region: 0x163, script: 0x52, flags: 0x0},
+ 543: {region: 0x164, script: 0x52, flags: 0x0},
+ 544: {region: 0x164, script: 0x52, flags: 0x0},
+ 545: {region: 0x12e, script: 0x52, flags: 0x0},
+ 546: {region: 0x121, script: 0x5, flags: 0x0},
+ 547: {region: 0x164, script: 0x52, flags: 0x0},
+ 548: {region: 0x122, script: 0xd5, flags: 0x0},
+ 549: {region: 0x59, script: 0x52, flags: 0x0},
+ 550: {region: 0x51, script: 0x52, flags: 0x0},
+ 551: {region: 0x164, script: 0x52, flags: 0x0},
+ 552: {region: 0x4e, script: 0x52, flags: 0x0},
+ 553: {region: 0x98, script: 0x20, flags: 0x0},
+ 554: {region: 0x98, script: 0x20, flags: 0x0},
+ 555: {region: 0x4a, script: 0x52, flags: 0x0},
+ 556: {region: 0x94, script: 0x52, flags: 0x0},
+ 557: {region: 0x164, script: 0x52, flags: 0x0},
+ 558: {region: 0x40, script: 0x52, flags: 0x0},
+ 559: {region: 0x98, script: 0x52, flags: 0x0},
+ 560: {region: 0x52, script: 0xcc, flags: 0x0},
+ 561: {region: 0x98, script: 0x20, flags: 0x0},
+ 562: {region: 0xc2, script: 0x52, flags: 0x0},
+ 563: {region: 0x164, script: 0x52, flags: 0x0},
+ 564: {region: 0x98, script: 0x6b, flags: 0x0},
+ 565: {region: 0xe7, script: 0x5, flags: 0x0},
+ 566: {region: 0x164, script: 0x52, flags: 0x0},
+ 567: {region: 0xa3, script: 0x52, flags: 0x0},
+ 568: {region: 0x164, script: 0x52, flags: 0x0},
+ 569: {region: 0x12a, script: 0x52, flags: 0x0},
+ 570: {region: 0x164, script: 0x52, flags: 0x0},
+ 571: {region: 0xd1, script: 0x52, flags: 0x0},
+ 572: {region: 0x164, script: 0x52, flags: 0x0},
+ 573: {region: 0xae, script: 0x4f, flags: 0x0},
+ 574: {region: 0x164, script: 0x52, flags: 0x0},
+ 575: {region: 0x164, script: 0x52, flags: 0x0},
+ 576: {region: 0x13, script: 0x6, flags: 0x1},
+ 577: {region: 0x164, script: 0x52, flags: 0x0},
+ 578: {region: 0x51, script: 0x52, flags: 0x0},
+ 579: {region: 0x81, script: 0x52, flags: 0x0},
+ 580: {region: 0xa3, script: 0x52, flags: 0x0},
+ 581: {region: 0x164, script: 0x52, flags: 0x0},
+ 582: {region: 0x164, script: 0x52, flags: 0x0},
+ 583: {region: 0x164, script: 0x52, flags: 0x0},
+ 584: {region: 0xa5, script: 0x46, flags: 0x0},
+ 585: {region: 0x29, script: 0x52, flags: 0x0},
+ 586: {region: 0x164, script: 0x52, flags: 0x0},
+ 587: {region: 0x164, script: 0x52, flags: 0x0},
+ 588: {region: 0x164, script: 0x52, flags: 0x0},
+ 589: {region: 0x164, script: 0x52, flags: 0x0},
+ 590: {region: 0x164, script: 0x52, flags: 0x0},
+ 591: {region: 0x98, script: 0x4a, flags: 0x0},
+ 592: {region: 0x113, script: 0x52, flags: 0x0},
+ 593: {region: 0x164, script: 0x52, flags: 0x0},
+ 594: {region: 0xaa, script: 0x4b, flags: 0x0},
+ 595: {region: 0x105, script: 0x1e, flags: 0x0},
+ 596: {region: 0x98, script: 0x20, flags: 0x0},
+ 597: {region: 0x164, script: 0x52, flags: 0x0},
+ 598: {region: 0x74, script: 0x52, flags: 0x0},
+ 599: {region: 0x164, script: 0x52, flags: 0x0},
+ 600: {region: 0xb3, script: 0x52, flags: 0x0},
+ 601: {region: 0x164, script: 0x52, flags: 0x0},
+ 602: {region: 0x164, script: 0x52, flags: 0x0},
+ 603: {region: 0x164, script: 0x52, flags: 0x0},
+ 604: {region: 0x164, script: 0x52, flags: 0x0},
+ 605: {region: 0x164, script: 0x52, flags: 0x0},
+ 606: {region: 0x164, script: 0x52, flags: 0x0},
+ 607: {region: 0x164, script: 0x52, flags: 0x0},
+ 608: {region: 0x164, script: 0x27, flags: 0x0},
+ 610: {region: 0x105, script: 0x1e, flags: 0x0},
+ 611: {region: 0x111, script: 0x52, flags: 0x0},
+ 612: {region: 0xe6, script: 0x52, flags: 0x0},
+ 613: {region: 0x105, script: 0x52, flags: 0x0},
+ 614: {region: 0x164, script: 0x52, flags: 0x0},
+ 615: {region: 0x98, script: 0x20, flags: 0x0},
+ 616: {region: 0x98, script: 0x5, flags: 0x0},
+ 617: {region: 0x12e, script: 0x52, flags: 0x0},
+ 618: {region: 0x164, script: 0x52, flags: 0x0},
+ 619: {region: 0x51, script: 0x52, flags: 0x0},
+ 620: {region: 0x5f, script: 0x52, flags: 0x0},
+ 621: {region: 0x164, script: 0x52, flags: 0x0},
+ 622: {region: 0x164, script: 0x52, flags: 0x0},
+ 623: {region: 0x164, script: 0x27, flags: 0x0},
+ 624: {region: 0x164, script: 0x52, flags: 0x0},
+ 625: {region: 0x164, script: 0x52, flags: 0x0},
+ 626: {region: 0x19, script: 0x3, flags: 0x1},
+ 627: {region: 0x164, script: 0x52, flags: 0x0},
+ 628: {region: 0x164, script: 0x52, flags: 0x0},
+ 629: {region: 0x164, script: 0x52, flags: 0x0},
+ 630: {region: 0x164, script: 0x52, flags: 0x0},
+ 631: {region: 0x105, script: 0x1e, flags: 0x0},
+ 632: {region: 0x164, script: 0x52, flags: 0x0},
+ 633: {region: 0x164, script: 0x52, flags: 0x0},
+ 634: {region: 0x164, script: 0x52, flags: 0x0},
+ 635: {region: 0x105, script: 0x1e, flags: 0x0},
+ 636: {region: 0x164, script: 0x52, flags: 0x0},
+ 637: {region: 0x94, script: 0x52, flags: 0x0},
+ 638: {region: 0xe7, script: 0x5, flags: 0x0},
+ 639: {region: 0x7a, script: 0x52, flags: 0x0},
+ 640: {region: 0x164, script: 0x52, flags: 0x0},
+ 641: {region: 0x164, script: 0x52, flags: 0x0},
+ 642: {region: 0x164, script: 0x52, flags: 0x0},
+ 643: {region: 0x164, script: 0x27, flags: 0x0},
+ 644: {region: 0x122, script: 0xd5, flags: 0x0},
+ 645: {region: 0xe7, script: 0x5, flags: 0x0},
+ 646: {region: 0x164, script: 0x52, flags: 0x0},
+ 647: {region: 0x164, script: 0x52, flags: 0x0},
+ 648: {region: 0x1c, script: 0x5, flags: 0x1},
+ 649: {region: 0x164, script: 0x52, flags: 0x0},
+ 650: {region: 0x164, script: 0x52, flags: 0x0},
+ 651: {region: 0x164, script: 0x52, flags: 0x0},
+ 652: {region: 0x137, script: 0x52, flags: 0x0},
+ 653: {region: 0x86, script: 0x56, flags: 0x0},
+ 654: {region: 0x96, script: 0x37, flags: 0x0},
+ 655: {region: 0x12e, script: 0x52, flags: 0x0},
+ 656: {region: 0xe7, script: 0x5, flags: 0x0},
+ 657: {region: 0x130, script: 0x52, flags: 0x0},
+ 658: {region: 0x164, script: 0x52, flags: 0x0},
+ 659: {region: 0xb6, script: 0x52, flags: 0x0},
+ 660: {region: 0x105, script: 0x1e, flags: 0x0},
+ 661: {region: 0x164, script: 0x52, flags: 0x0},
+ 662: {region: 0x94, script: 0x52, flags: 0x0},
+ 663: {region: 0x164, script: 0x52, flags: 0x0},
+ 664: {region: 0x52, script: 0xd5, flags: 0x0},
+ 665: {region: 0x164, script: 0x52, flags: 0x0},
+ 666: {region: 0x164, script: 0x52, flags: 0x0},
+ 667: {region: 0x164, script: 0x52, flags: 0x0},
+ 668: {region: 0x164, script: 0x52, flags: 0x0},
+ 669: {region: 0x98, script: 0x54, flags: 0x0},
+ 670: {region: 0x164, script: 0x52, flags: 0x0},
+ 671: {region: 0x164, script: 0x52, flags: 0x0},
+ 672: {region: 0x105, script: 0x1e, flags: 0x0},
+ 673: {region: 0x130, script: 0x52, flags: 0x0},
+ 674: {region: 0x164, script: 0x52, flags: 0x0},
+ 675: {region: 0xd8, script: 0x52, flags: 0x0},
+ 676: {region: 0x164, script: 0x52, flags: 0x0},
+ 677: {region: 0x164, script: 0x52, flags: 0x0},
+ 678: {region: 0x21, script: 0x2, flags: 0x1},
+ 679: {region: 0x164, script: 0x52, flags: 0x0},
+ 680: {region: 0x164, script: 0x52, flags: 0x0},
+ 681: {region: 0x9d, script: 0x52, flags: 0x0},
+ 682: {region: 0x52, script: 0x58, flags: 0x0},
+ 683: {region: 0x94, script: 0x52, flags: 0x0},
+ 684: {region: 0x9b, script: 0x5, flags: 0x0},
+ 685: {region: 0x134, script: 0x52, flags: 0x0},
+ 686: {region: 0x164, script: 0x52, flags: 0x0},
+ 687: {region: 0x164, script: 0x52, flags: 0x0},
+ 688: {region: 0x98, script: 0xd0, flags: 0x0},
+ 689: {region: 0x9d, script: 0x52, flags: 0x0},
+ 690: {region: 0x164, script: 0x52, flags: 0x0},
+ 691: {region: 0x4a, script: 0x52, flags: 0x0},
+ 692: {region: 0x164, script: 0x52, flags: 0x0},
+ 693: {region: 0x164, script: 0x52, flags: 0x0},
+ 694: {region: 0xae, script: 0x4f, flags: 0x0},
+ 695: {region: 0x164, script: 0x52, flags: 0x0},
+ 696: {region: 0x164, script: 0x52, flags: 0x0},
+ 697: {region: 0x4a, script: 0x52, flags: 0x0},
+ 698: {region: 0x164, script: 0x52, flags: 0x0},
+ 699: {region: 0x164, script: 0x52, flags: 0x0},
+ 700: {region: 0x161, script: 0x52, flags: 0x0},
+ 701: {region: 0x9b, script: 0x5, flags: 0x0},
+ 702: {region: 0xb5, script: 0x52, flags: 0x0},
+ 703: {region: 0xb7, script: 0x52, flags: 0x0},
+ 704: {region: 0x4a, script: 0x52, flags: 0x0},
+ 705: {region: 0x4a, script: 0x52, flags: 0x0},
+ 706: {region: 0xa3, script: 0x52, flags: 0x0},
+ 707: {region: 0xa3, script: 0x52, flags: 0x0},
+ 708: {region: 0x9b, script: 0x5, flags: 0x0},
+ 709: {region: 0xb7, script: 0x52, flags: 0x0},
+ 710: {region: 0x122, script: 0xd5, flags: 0x0},
+ 711: {region: 0x52, script: 0x34, flags: 0x0},
+ 712: {region: 0x12a, script: 0x52, flags: 0x0},
+ 713: {region: 0x94, script: 0x52, flags: 0x0},
+ 714: {region: 0x51, script: 0x52, flags: 0x0},
+ 715: {region: 0x98, script: 0x20, flags: 0x0},
+ 716: {region: 0x98, script: 0x20, flags: 0x0},
+ 717: {region: 0x94, script: 0x52, flags: 0x0},
+ 718: {region: 0x23, script: 0x3, flags: 0x1},
+ 719: {region: 0xa3, script: 0x52, flags: 0x0},
+ 720: {region: 0x164, script: 0x52, flags: 0x0},
+ 721: {region: 0xce, script: 0x52, flags: 0x0},
+ 722: {region: 0x164, script: 0x52, flags: 0x0},
+ 723: {region: 0x164, script: 0x52, flags: 0x0},
+ 724: {region: 0x164, script: 0x52, flags: 0x0},
+ 725: {region: 0x164, script: 0x52, flags: 0x0},
+ 726: {region: 0x164, script: 0x52, flags: 0x0},
+ 727: {region: 0x164, script: 0x52, flags: 0x0},
+ 728: {region: 0x164, script: 0x52, flags: 0x0},
+ 729: {region: 0x164, script: 0x52, flags: 0x0},
+ 730: {region: 0x164, script: 0x52, flags: 0x0},
+ 731: {region: 0x164, script: 0x52, flags: 0x0},
+ 732: {region: 0x164, script: 0x52, flags: 0x0},
+ 733: {region: 0x164, script: 0x5, flags: 0x0},
+ 734: {region: 0x105, script: 0x1e, flags: 0x0},
+ 735: {region: 0xe6, script: 0x52, flags: 0x0},
+ 736: {region: 0x164, script: 0x52, flags: 0x0},
+ 737: {region: 0x94, script: 0x52, flags: 0x0},
+ 738: {region: 0x164, script: 0x27, flags: 0x0},
+ 739: {region: 0x164, script: 0x52, flags: 0x0},
+ 740: {region: 0x164, script: 0x52, flags: 0x0},
+ 741: {region: 0x164, script: 0x52, flags: 0x0},
+ 742: {region: 0x111, script: 0x52, flags: 0x0},
+ 743: {region: 0xa3, script: 0x52, flags: 0x0},
+ 744: {region: 0x164, script: 0x52, flags: 0x0},
+ 745: {region: 0x164, script: 0x52, flags: 0x0},
+ 746: {region: 0x122, script: 0x5, flags: 0x0},
+ 747: {region: 0xcb, script: 0x52, flags: 0x0},
+ 748: {region: 0x164, script: 0x52, flags: 0x0},
+ 749: {region: 0x164, script: 0x52, flags: 0x0},
+ 750: {region: 0x164, script: 0x52, flags: 0x0},
+ 751: {region: 0xbe, script: 0x52, flags: 0x0},
+ 752: {region: 0xd0, script: 0x52, flags: 0x0},
+ 753: {region: 0x164, script: 0x52, flags: 0x0},
+ 754: {region: 0x51, script: 0x52, flags: 0x0},
+ 755: {region: 0xda, script: 0x20, flags: 0x0},
+ 756: {region: 0x12e, script: 0x52, flags: 0x0},
+ 757: {region: 0xbf, script: 0x52, flags: 0x0},
+ 758: {region: 0x164, script: 0x52, flags: 0x0},
+ 759: {region: 0x164, script: 0x52, flags: 0x0},
+ 760: {region: 0xdf, script: 0x52, flags: 0x0},
+ 761: {region: 0x164, script: 0x52, flags: 0x0},
+ 762: {region: 0x94, script: 0x52, flags: 0x0},
+ 763: {region: 0x9a, script: 0x36, flags: 0x0},
+ 764: {region: 0x164, script: 0x52, flags: 0x0},
+ 765: {region: 0xc1, script: 0x1e, flags: 0x0},
+ 766: {region: 0x164, script: 0x5, flags: 0x0},
+ 767: {region: 0x164, script: 0x52, flags: 0x0},
+ 768: {region: 0x164, script: 0x52, flags: 0x0},
+ 769: {region: 0x164, script: 0x52, flags: 0x0},
+ 770: {region: 0x98, script: 0x64, flags: 0x0},
+ 771: {region: 0x164, script: 0x52, flags: 0x0},
+ 772: {region: 0x164, script: 0x52, flags: 0x0},
+ 773: {region: 0x10a, script: 0x52, flags: 0x0},
+ 774: {region: 0x164, script: 0x52, flags: 0x0},
+ 775: {region: 0x164, script: 0x52, flags: 0x0},
+ 776: {region: 0x164, script: 0x52, flags: 0x0},
+ 777: {region: 0x26, script: 0x3, flags: 0x1},
+ 778: {region: 0x164, script: 0x52, flags: 0x0},
+ 779: {region: 0x164, script: 0x52, flags: 0x0},
+ 780: {region: 0x98, script: 0xe, flags: 0x0},
+ 781: {region: 0xc3, script: 0x6b, flags: 0x0},
+ 783: {region: 0x164, script: 0x52, flags: 0x0},
+ 784: {region: 0x48, script: 0x52, flags: 0x0},
+ 785: {region: 0x48, script: 0x52, flags: 0x0},
+ 786: {region: 0x36, script: 0x52, flags: 0x0},
+ 787: {region: 0x164, script: 0x52, flags: 0x0},
+ 788: {region: 0x164, script: 0x52, flags: 0x0},
+ 789: {region: 0x164, script: 0x52, flags: 0x0},
+ 790: {region: 0x164, script: 0x52, flags: 0x0},
+ 791: {region: 0x164, script: 0x52, flags: 0x0},
+ 792: {region: 0x164, script: 0x52, flags: 0x0},
+ 793: {region: 0x98, script: 0x20, flags: 0x0},
+ 794: {region: 0xda, script: 0x20, flags: 0x0},
+ 795: {region: 0x105, script: 0x1e, flags: 0x0},
+ 796: {region: 0x34, script: 0x68, flags: 0x0},
+ 797: {region: 0x29, script: 0x3, flags: 0x1},
+ 798: {region: 0xca, script: 0x52, flags: 0x0},
+ 799: {region: 0x164, script: 0x52, flags: 0x0},
+ 800: {region: 0x164, script: 0x52, flags: 0x0},
+ 801: {region: 0x164, script: 0x52, flags: 0x0},
+ 802: {region: 0x98, script: 0x20, flags: 0x0},
+ 803: {region: 0x51, script: 0x52, flags: 0x0},
+ 805: {region: 0x164, script: 0x52, flags: 0x0},
+ 806: {region: 0x134, script: 0x52, flags: 0x0},
+ 807: {region: 0x164, script: 0x52, flags: 0x0},
+ 808: {region: 0x164, script: 0x52, flags: 0x0},
+ 809: {region: 0xe7, script: 0x5, flags: 0x0},
+ 810: {region: 0xc2, script: 0x52, flags: 0x0},
+ 811: {region: 0x98, script: 0x20, flags: 0x0},
+ 812: {region: 0x94, script: 0x52, flags: 0x0},
+ 813: {region: 0x163, script: 0x52, flags: 0x0},
+ 814: {region: 0x164, script: 0x52, flags: 0x0},
+ 815: {region: 0xc3, script: 0x6b, flags: 0x0},
+ 816: {region: 0x164, script: 0x52, flags: 0x0},
+ 817: {region: 0x164, script: 0x27, flags: 0x0},
+ 818: {region: 0x105, script: 0x1e, flags: 0x0},
+ 819: {region: 0x164, script: 0x52, flags: 0x0},
+ 820: {region: 0x130, script: 0x52, flags: 0x0},
+ 821: {region: 0x9b, script: 0x5d, flags: 0x0},
+ 822: {region: 0x164, script: 0x52, flags: 0x0},
+ 823: {region: 0x164, script: 0x52, flags: 0x0},
+ 824: {region: 0x9b, script: 0x5, flags: 0x0},
+ 825: {region: 0x164, script: 0x52, flags: 0x0},
+ 826: {region: 0x164, script: 0x52, flags: 0x0},
+ 827: {region: 0x164, script: 0x52, flags: 0x0},
+ 828: {region: 0xdc, script: 0x52, flags: 0x0},
+ 829: {region: 0x164, script: 0x52, flags: 0x0},
+ 830: {region: 0x164, script: 0x52, flags: 0x0},
+ 832: {region: 0x164, script: 0x52, flags: 0x0},
+ 833: {region: 0x52, script: 0x34, flags: 0x0},
+ 834: {region: 0x9d, script: 0x52, flags: 0x0},
+ 835: {region: 0xd1, script: 0x52, flags: 0x0},
+ 836: {region: 0x164, script: 0x52, flags: 0x0},
+ 837: {region: 0xd9, script: 0x52, flags: 0x0},
+ 838: {region: 0x164, script: 0x52, flags: 0x0},
+ 839: {region: 0x164, script: 0x52, flags: 0x0},
+ 840: {region: 0x164, script: 0x52, flags: 0x0},
+ 841: {region: 0xce, script: 0x52, flags: 0x0},
+ 842: {region: 0x164, script: 0x52, flags: 0x0},
+ 843: {region: 0x164, script: 0x52, flags: 0x0},
+ 844: {region: 0x163, script: 0x52, flags: 0x0},
+ 845: {region: 0xd0, script: 0x52, flags: 0x0},
+ 846: {region: 0x5f, script: 0x52, flags: 0x0},
+ 847: {region: 0xda, script: 0x20, flags: 0x0},
+ 848: {region: 0x164, script: 0x52, flags: 0x0},
+ 849: {region: 0xda, script: 0x20, flags: 0x0},
+ 850: {region: 0x164, script: 0x52, flags: 0x0},
+ 851: {region: 0x164, script: 0x52, flags: 0x0},
+ 852: {region: 0xd1, script: 0x52, flags: 0x0},
+ 853: {region: 0x164, script: 0x52, flags: 0x0},
+ 854: {region: 0x164, script: 0x52, flags: 0x0},
+ 855: {region: 0xd0, script: 0x52, flags: 0x0},
+ 856: {region: 0x164, script: 0x52, flags: 0x0},
+ 857: {region: 0xce, script: 0x52, flags: 0x0},
+ 858: {region: 0xce, script: 0x52, flags: 0x0},
+ 859: {region: 0x164, script: 0x52, flags: 0x0},
+ 860: {region: 0x164, script: 0x52, flags: 0x0},
+ 861: {region: 0x94, script: 0x52, flags: 0x0},
+ 862: {region: 0x164, script: 0x52, flags: 0x0},
+ 863: {region: 0xde, script: 0x52, flags: 0x0},
+ 864: {region: 0x164, script: 0x52, flags: 0x0},
+ 865: {region: 0x164, script: 0x52, flags: 0x0},
+ 866: {region: 0x98, script: 0x52, flags: 0x0},
+ 867: {region: 0x164, script: 0x52, flags: 0x0},
+ 868: {region: 0x164, script: 0x52, flags: 0x0},
+ 869: {region: 0xd8, script: 0x52, flags: 0x0},
+ 870: {region: 0x51, script: 0x52, flags: 0x0},
+ 871: {region: 0x164, script: 0x52, flags: 0x0},
+ 872: {region: 0xd9, script: 0x52, flags: 0x0},
+ 873: {region: 0x164, script: 0x52, flags: 0x0},
+ 874: {region: 0x51, script: 0x52, flags: 0x0},
+ 875: {region: 0x164, script: 0x52, flags: 0x0},
+ 876: {region: 0x164, script: 0x52, flags: 0x0},
+ 877: {region: 0xd9, script: 0x52, flags: 0x0},
+ 878: {region: 0x122, script: 0x4e, flags: 0x0},
+ 879: {region: 0x98, script: 0x20, flags: 0x0},
+ 880: {region: 0x10b, script: 0xb7, flags: 0x0},
+ 881: {region: 0x164, script: 0x52, flags: 0x0},
+ 882: {region: 0x164, script: 0x52, flags: 0x0},
+ 883: {region: 0x83, script: 0x70, flags: 0x0},
+ 884: {region: 0x160, script: 0x52, flags: 0x0},
+ 885: {region: 0x164, script: 0x52, flags: 0x0},
+ 886: {region: 0x48, script: 0x17, flags: 0x0},
+ 887: {region: 0x164, script: 0x52, flags: 0x0},
+ 888: {region: 0x160, script: 0x52, flags: 0x0},
+ 889: {region: 0x164, script: 0x52, flags: 0x0},
+ 890: {region: 0x164, script: 0x52, flags: 0x0},
+ 891: {region: 0x164, script: 0x52, flags: 0x0},
+ 892: {region: 0x164, script: 0x52, flags: 0x0},
+ 893: {region: 0x164, script: 0x52, flags: 0x0},
+ 894: {region: 0x116, script: 0x52, flags: 0x0},
+ 895: {region: 0x164, script: 0x52, flags: 0x0},
+ 896: {region: 0x164, script: 0x52, flags: 0x0},
+ 897: {region: 0x134, script: 0x52, flags: 0x0},
+ 898: {region: 0x164, script: 0x52, flags: 0x0},
+ 899: {region: 0x52, script: 0x52, flags: 0x0},
+ 900: {region: 0x164, script: 0x52, flags: 0x0},
+ 901: {region: 0xcd, script: 0x52, flags: 0x0},
+ 902: {region: 0x12e, script: 0x52, flags: 0x0},
+ 903: {region: 0x130, script: 0x52, flags: 0x0},
+ 904: {region: 0x7f, script: 0x52, flags: 0x0},
+ 905: {region: 0x77, script: 0x52, flags: 0x0},
+ 906: {region: 0x164, script: 0x52, flags: 0x0},
+ 908: {region: 0x164, script: 0x52, flags: 0x0},
+ 909: {region: 0x164, script: 0x52, flags: 0x0},
+ 910: {region: 0x6e, script: 0x52, flags: 0x0},
+ 911: {region: 0x164, script: 0x52, flags: 0x0},
+ 912: {region: 0x164, script: 0x52, flags: 0x0},
+ 913: {region: 0x164, script: 0x52, flags: 0x0},
+ 914: {region: 0x164, script: 0x52, flags: 0x0},
+ 915: {region: 0x98, script: 0x75, flags: 0x0},
+ 916: {region: 0x164, script: 0x52, flags: 0x0},
+ 917: {region: 0x164, script: 0x5, flags: 0x0},
+ 918: {region: 0x7c, script: 0x1e, flags: 0x0},
+ 919: {region: 0x134, script: 0x76, flags: 0x0},
+ 920: {region: 0x164, script: 0x5, flags: 0x0},
+ 921: {region: 0xc4, script: 0x74, flags: 0x0},
+ 922: {region: 0x164, script: 0x52, flags: 0x0},
+ 923: {region: 0x2c, script: 0x3, flags: 0x1},
+ 924: {region: 0xe6, script: 0x52, flags: 0x0},
+ 925: {region: 0x2f, script: 0x2, flags: 0x1},
+ 926: {region: 0xe6, script: 0x52, flags: 0x0},
+ 927: {region: 0x2f, script: 0x52, flags: 0x0},
+ 928: {region: 0xef, script: 0x52, flags: 0x0},
+ 929: {region: 0x164, script: 0x52, flags: 0x0},
+ 930: {region: 0x77, script: 0x52, flags: 0x0},
+ 931: {region: 0xd5, script: 0x52, flags: 0x0},
+ 932: {region: 0x134, script: 0x52, flags: 0x0},
+ 933: {region: 0x48, script: 0x52, flags: 0x0},
+ 934: {region: 0x164, script: 0x52, flags: 0x0},
+ 935: {region: 0x9b, script: 0xdd, flags: 0x0},
+ 936: {region: 0x164, script: 0x52, flags: 0x0},
+ 937: {region: 0x5f, script: 0x52, flags: 0x0},
+ 938: {region: 0x164, script: 0x5, flags: 0x0},
+ 939: {region: 0xaf, script: 0x7f, flags: 0x0},
+ 941: {region: 0x164, script: 0x52, flags: 0x0},
+ 942: {region: 0x164, script: 0x52, flags: 0x0},
+ 943: {region: 0x98, script: 0x12, flags: 0x0},
+ 944: {region: 0xa3, script: 0x52, flags: 0x0},
+ 945: {region: 0xe8, script: 0x52, flags: 0x0},
+ 946: {region: 0x164, script: 0x52, flags: 0x0},
+ 947: {region: 0x9d, script: 0x52, flags: 0x0},
+ 948: {region: 0x164, script: 0x52, flags: 0x0},
+ 949: {region: 0x164, script: 0x52, flags: 0x0},
+ 950: {region: 0x86, script: 0x2d, flags: 0x0},
+ 951: {region: 0x74, script: 0x52, flags: 0x0},
+ 952: {region: 0x164, script: 0x52, flags: 0x0},
+ 953: {region: 0xe7, script: 0x45, flags: 0x0},
+ 954: {region: 0x9b, script: 0x5, flags: 0x0},
+ 955: {region: 0x1, script: 0x52, flags: 0x0},
+ 956: {region: 0x23, script: 0x5, flags: 0x0},
+ 957: {region: 0x164, script: 0x52, flags: 0x0},
+ 958: {region: 0x40, script: 0x52, flags: 0x0},
+ 959: {region: 0x164, script: 0x52, flags: 0x0},
+ 960: {region: 0x79, script: 0x52, flags: 0x0},
+ 961: {region: 0x164, script: 0x52, flags: 0x0},
+ 962: {region: 0xe3, script: 0x52, flags: 0x0},
+ 963: {region: 0x88, script: 0x52, flags: 0x0},
+ 964: {region: 0x68, script: 0x52, flags: 0x0},
+ 965: {region: 0x164, script: 0x52, flags: 0x0},
+ 966: {region: 0x98, script: 0x20, flags: 0x0},
+ 967: {region: 0x164, script: 0x52, flags: 0x0},
+ 968: {region: 0x101, script: 0x52, flags: 0x0},
+ 969: {region: 0x94, script: 0x52, flags: 0x0},
+ 970: {region: 0x164, script: 0x52, flags: 0x0},
+ 971: {region: 0x164, script: 0x52, flags: 0x0},
+ 972: {region: 0x9d, script: 0x52, flags: 0x0},
+ 973: {region: 0x164, script: 0x5, flags: 0x0},
+ 974: {region: 0x98, script: 0x52, flags: 0x0},
+ 975: {region: 0x31, script: 0x2, flags: 0x1},
+ 976: {region: 0xda, script: 0x20, flags: 0x0},
+ 977: {region: 0x34, script: 0xe, flags: 0x0},
+ 978: {region: 0x4d, script: 0x52, flags: 0x0},
+ 979: {region: 0x71, script: 0x52, flags: 0x0},
+ 980: {region: 0x4d, script: 0x52, flags: 0x0},
+ 981: {region: 0x9b, script: 0x5, flags: 0x0},
+ 982: {region: 0x10b, script: 0x52, flags: 0x0},
+ 983: {region: 0x39, script: 0x52, flags: 0x0},
+ 984: {region: 0x164, script: 0x52, flags: 0x0},
+ 985: {region: 0xd0, script: 0x52, flags: 0x0},
+ 986: {region: 0x103, script: 0x52, flags: 0x0},
+ 987: {region: 0x94, script: 0x52, flags: 0x0},
+ 988: {region: 0x12e, script: 0x52, flags: 0x0},
+ 989: {region: 0x164, script: 0x52, flags: 0x0},
+ 990: {region: 0x164, script: 0x52, flags: 0x0},
+ 991: {region: 0x72, script: 0x52, flags: 0x0},
+ 992: {region: 0x105, script: 0x1e, flags: 0x0},
+ 993: {region: 0x12f, script: 0x1e, flags: 0x0},
+ 994: {region: 0x108, script: 0x52, flags: 0x0},
+ 995: {region: 0x106, script: 0x52, flags: 0x0},
+ 996: {region: 0x12e, script: 0x52, flags: 0x0},
+ 997: {region: 0x164, script: 0x52, flags: 0x0},
+ 998: {region: 0xa1, script: 0x44, flags: 0x0},
+ 999: {region: 0x98, script: 0x20, flags: 0x0},
+ 1000: {region: 0x7f, script: 0x52, flags: 0x0},
+ 1001: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1002: {region: 0xa3, script: 0x52, flags: 0x0},
+ 1003: {region: 0x94, script: 0x52, flags: 0x0},
+ 1004: {region: 0x98, script: 0x52, flags: 0x0},
+ 1005: {region: 0x113, script: 0x52, flags: 0x0},
+ 1006: {region: 0x98, script: 0xbb, flags: 0x0},
+ 1007: {region: 0x164, script: 0x52, flags: 0x0},
+ 1008: {region: 0x164, script: 0x52, flags: 0x0},
+ 1009: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1010: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1011: {region: 0x98, script: 0x20, flags: 0x0},
+ 1012: {region: 0x164, script: 0x5, flags: 0x0},
+ 1013: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1014: {region: 0x7a, script: 0x52, flags: 0x0},
+ 1015: {region: 0x48, script: 0x52, flags: 0x0},
+ 1016: {region: 0x33, script: 0x4, flags: 0x1},
+ 1017: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1018: {region: 0x9b, script: 0x5, flags: 0x0},
+ 1019: {region: 0xd9, script: 0x52, flags: 0x0},
+ 1020: {region: 0x4e, script: 0x52, flags: 0x0},
+ 1021: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1022: {region: 0xce, script: 0x52, flags: 0x0},
+ 1023: {region: 0xc2, script: 0x52, flags: 0x0},
+ 1024: {region: 0x4b, script: 0x52, flags: 0x0},
+ 1025: {region: 0x95, script: 0x72, flags: 0x0},
+ 1026: {region: 0xb5, script: 0x52, flags: 0x0},
+ 1027: {region: 0x164, script: 0x27, flags: 0x0},
+ 1028: {region: 0x164, script: 0x52, flags: 0x0},
+ 1030: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 1031: {region: 0x164, script: 0x52, flags: 0x0},
+ 1032: {region: 0xc3, script: 0x6b, flags: 0x0},
+ 1033: {region: 0x164, script: 0x5, flags: 0x0},
+ 1034: {region: 0xb2, script: 0xc1, flags: 0x0},
+ 1035: {region: 0x6e, script: 0x52, flags: 0x0},
+ 1036: {region: 0x164, script: 0x52, flags: 0x0},
+ 1037: {region: 0x164, script: 0x52, flags: 0x0},
+ 1038: {region: 0x164, script: 0x52, flags: 0x0},
+ 1039: {region: 0x164, script: 0x52, flags: 0x0},
+ 1040: {region: 0x110, script: 0x52, flags: 0x0},
+ 1041: {region: 0x164, script: 0x52, flags: 0x0},
+ 1042: {region: 0xe7, script: 0x5, flags: 0x0},
+ 1043: {region: 0x164, script: 0x52, flags: 0x0},
+ 1044: {region: 0x10e, script: 0x52, flags: 0x0},
+ 1045: {region: 0x164, script: 0x52, flags: 0x0},
+ 1046: {region: 0xe8, script: 0x52, flags: 0x0},
+ 1047: {region: 0x164, script: 0x52, flags: 0x0},
+ 1048: {region: 0x94, script: 0x52, flags: 0x0},
+ 1049: {region: 0x141, script: 0x52, flags: 0x0},
+ 1050: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1052: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1053: {region: 0x71, script: 0x52, flags: 0x0},
+ 1054: {region: 0x96, script: 0xb8, flags: 0x0},
+ 1055: {region: 0x164, script: 0x52, flags: 0x0},
+ 1056: {region: 0x71, script: 0x52, flags: 0x0},
+ 1057: {region: 0x163, script: 0x52, flags: 0x0},
+ 1058: {region: 0x164, script: 0x52, flags: 0x0},
+ 1059: {region: 0xc2, script: 0x52, flags: 0x0},
+ 1060: {region: 0x164, script: 0x52, flags: 0x0},
+ 1061: {region: 0x164, script: 0x52, flags: 0x0},
+ 1062: {region: 0x164, script: 0x52, flags: 0x0},
+ 1063: {region: 0x114, script: 0x52, flags: 0x0},
+ 1064: {region: 0x164, script: 0x52, flags: 0x0},
+ 1065: {region: 0x164, script: 0x52, flags: 0x0},
+ 1066: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1067: {region: 0x164, script: 0x52, flags: 0x0},
+ 1068: {region: 0x164, script: 0x52, flags: 0x0},
+ 1069: {region: 0x164, script: 0x52, flags: 0x0},
+ 1070: {region: 0x164, script: 0x52, flags: 0x0},
+ 1071: {region: 0x26, script: 0x52, flags: 0x0},
+ 1072: {region: 0x37, script: 0x5, flags: 0x1},
+ 1073: {region: 0x98, script: 0xc2, flags: 0x0},
+ 1074: {region: 0x115, script: 0x52, flags: 0x0},
+ 1075: {region: 0x113, script: 0x52, flags: 0x0},
+ 1076: {region: 0x98, script: 0x20, flags: 0x0},
+ 1077: {region: 0x160, script: 0x52, flags: 0x0},
+ 1078: {region: 0x164, script: 0x52, flags: 0x0},
+ 1079: {region: 0x164, script: 0x52, flags: 0x0},
+ 1080: {region: 0x6c, script: 0x52, flags: 0x0},
+ 1081: {region: 0x160, script: 0x52, flags: 0x0},
+ 1082: {region: 0x164, script: 0x52, flags: 0x0},
+ 1083: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1084: {region: 0x94, script: 0x52, flags: 0x0},
+ 1085: {region: 0x164, script: 0x52, flags: 0x0},
+ 1086: {region: 0x164, script: 0x52, flags: 0x0},
+ 1087: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1088: {region: 0x164, script: 0x52, flags: 0x0},
+ 1089: {region: 0x83, script: 0x52, flags: 0x0},
+ 1090: {region: 0x10b, script: 0x52, flags: 0x0},
+ 1091: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1092: {region: 0x15e, script: 0x5, flags: 0x0},
+ 1093: {region: 0x4a, script: 0x52, flags: 0x0},
+ 1094: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1095: {region: 0x164, script: 0x52, flags: 0x0},
+ 1096: {region: 0x98, script: 0x20, flags: 0x0},
+ 1097: {region: 0x94, script: 0x52, flags: 0x0},
+ 1098: {region: 0x164, script: 0x52, flags: 0x0},
+ 1099: {region: 0x34, script: 0xe, flags: 0x0},
+ 1100: {region: 0x9a, script: 0xc5, flags: 0x0},
+ 1101: {region: 0xe8, script: 0x52, flags: 0x0},
+ 1102: {region: 0x98, script: 0xcd, flags: 0x0},
+ 1103: {region: 0xda, script: 0x20, flags: 0x0},
+ 1104: {region: 0x164, script: 0x52, flags: 0x0},
+ 1105: {region: 0x164, script: 0x52, flags: 0x0},
+ 1106: {region: 0x164, script: 0x52, flags: 0x0},
+ 1107: {region: 0x164, script: 0x52, flags: 0x0},
+ 1108: {region: 0x164, script: 0x52, flags: 0x0},
+ 1109: {region: 0x164, script: 0x52, flags: 0x0},
+ 1110: {region: 0x164, script: 0x52, flags: 0x0},
+ 1111: {region: 0x164, script: 0x52, flags: 0x0},
+ 1112: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1113: {region: 0x164, script: 0x52, flags: 0x0},
+ 1114: {region: 0x164, script: 0x52, flags: 0x0},
+ 1115: {region: 0x98, script: 0x4a, flags: 0x0},
+ 1116: {region: 0x52, script: 0xcb, flags: 0x0},
+ 1117: {region: 0xda, script: 0x20, flags: 0x0},
+ 1118: {region: 0xda, script: 0x20, flags: 0x0},
+ 1119: {region: 0x98, script: 0xd0, flags: 0x0},
+ 1120: {region: 0x164, script: 0x52, flags: 0x0},
+ 1121: {region: 0x111, script: 0x52, flags: 0x0},
+ 1122: {region: 0x130, script: 0x52, flags: 0x0},
+ 1123: {region: 0x125, script: 0x52, flags: 0x0},
+ 1124: {region: 0x164, script: 0x52, flags: 0x0},
+ 1125: {region: 0x3c, script: 0x3, flags: 0x1},
+ 1126: {region: 0x164, script: 0x52, flags: 0x0},
+ 1127: {region: 0x164, script: 0x52, flags: 0x0},
+ 1128: {region: 0x164, script: 0x52, flags: 0x0},
+ 1129: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1130: {region: 0xda, script: 0x20, flags: 0x0},
+ 1131: {region: 0xda, script: 0x20, flags: 0x0},
+ 1132: {region: 0xda, script: 0x20, flags: 0x0},
+ 1133: {region: 0x6e, script: 0x27, flags: 0x0},
+ 1134: {region: 0x164, script: 0x52, flags: 0x0},
+ 1135: {region: 0x6c, script: 0x27, flags: 0x0},
+ 1136: {region: 0x164, script: 0x52, flags: 0x0},
+ 1137: {region: 0x164, script: 0x52, flags: 0x0},
+ 1138: {region: 0x164, script: 0x52, flags: 0x0},
+ 1139: {region: 0xd5, script: 0x52, flags: 0x0},
+ 1140: {region: 0x126, script: 0x52, flags: 0x0},
+ 1141: {region: 0x124, script: 0x52, flags: 0x0},
+ 1142: {region: 0x31, script: 0x52, flags: 0x0},
+ 1143: {region: 0xda, script: 0x20, flags: 0x0},
+ 1144: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1145: {region: 0x164, script: 0x52, flags: 0x0},
+ 1146: {region: 0x164, script: 0x52, flags: 0x0},
+ 1147: {region: 0x31, script: 0x52, flags: 0x0},
+ 1148: {region: 0xd3, script: 0x52, flags: 0x0},
+ 1149: {region: 0x164, script: 0x52, flags: 0x0},
+ 1150: {region: 0x160, script: 0x52, flags: 0x0},
+ 1151: {region: 0x164, script: 0x52, flags: 0x0},
+ 1152: {region: 0x128, script: 0x52, flags: 0x0},
+ 1153: {region: 0x164, script: 0x52, flags: 0x0},
+ 1154: {region: 0xcd, script: 0x52, flags: 0x0},
+ 1155: {region: 0x164, script: 0x52, flags: 0x0},
+ 1156: {region: 0xe5, script: 0x52, flags: 0x0},
+ 1157: {region: 0x164, script: 0x52, flags: 0x0},
+ 1158: {region: 0x164, script: 0x52, flags: 0x0},
+ 1159: {region: 0x164, script: 0x52, flags: 0x0},
+ 1160: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1161: {region: 0x12a, script: 0x52, flags: 0x0},
+ 1162: {region: 0x12d, script: 0x52, flags: 0x0},
+ 1163: {region: 0x164, script: 0x5, flags: 0x0},
+ 1164: {region: 0x160, script: 0x52, flags: 0x0},
+ 1165: {region: 0x86, script: 0x2d, flags: 0x0},
+ 1166: {region: 0xda, script: 0x20, flags: 0x0},
+ 1167: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1168: {region: 0x42, script: 0xd6, flags: 0x0},
+ 1169: {region: 0x164, script: 0x52, flags: 0x0},
+ 1170: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1171: {region: 0x164, script: 0x52, flags: 0x0},
+ 1172: {region: 0x164, script: 0x52, flags: 0x0},
+ 1173: {region: 0x130, script: 0x52, flags: 0x0},
+ 1174: {region: 0x164, script: 0x52, flags: 0x0},
+ 1175: {region: 0x122, script: 0xd5, flags: 0x0},
+ 1176: {region: 0x31, script: 0x52, flags: 0x0},
+ 1177: {region: 0x164, script: 0x52, flags: 0x0},
+ 1178: {region: 0x164, script: 0x52, flags: 0x0},
+ 1179: {region: 0xcd, script: 0x52, flags: 0x0},
+ 1180: {region: 0x164, script: 0x52, flags: 0x0},
+ 1181: {region: 0x164, script: 0x52, flags: 0x0},
+ 1182: {region: 0x12c, script: 0x52, flags: 0x0},
+ 1183: {region: 0x164, script: 0x52, flags: 0x0},
+ 1185: {region: 0x164, script: 0x52, flags: 0x0},
+ 1186: {region: 0xd3, script: 0x52, flags: 0x0},
+ 1187: {region: 0x52, script: 0xce, flags: 0x0},
+ 1188: {region: 0xe4, script: 0x52, flags: 0x0},
+ 1189: {region: 0x164, script: 0x52, flags: 0x0},
+ 1190: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1191: {region: 0xb9, script: 0x52, flags: 0x0},
+ 1192: {region: 0x164, script: 0x52, flags: 0x0},
+ 1193: {region: 0x105, script: 0x1e, flags: 0x0},
+ 1194: {region: 0x3f, script: 0x4, flags: 0x1},
+ 1195: {region: 0x11b, script: 0xd8, flags: 0x0},
+ 1196: {region: 0x12f, script: 0x1e, flags: 0x0},
+ 1197: {region: 0x74, script: 0x52, flags: 0x0},
+ 1198: {region: 0x29, script: 0x52, flags: 0x0},
+ 1200: {region: 0x43, script: 0x3, flags: 0x1},
+ 1201: {region: 0x98, script: 0xe, flags: 0x0},
+ 1202: {region: 0xe7, script: 0x5, flags: 0x0},
+ 1203: {region: 0x164, script: 0x52, flags: 0x0},
+ 1204: {region: 0x164, script: 0x52, flags: 0x0},
+ 1205: {region: 0x164, script: 0x52, flags: 0x0},
+ 1206: {region: 0x164, script: 0x52, flags: 0x0},
+ 1207: {region: 0x164, script: 0x52, flags: 0x0},
+ 1208: {region: 0x164, script: 0x52, flags: 0x0},
+ 1209: {region: 0x164, script: 0x52, flags: 0x0},
+ 1210: {region: 0x46, script: 0x4, flags: 0x1},
+ 1211: {region: 0x164, script: 0x52, flags: 0x0},
+ 1212: {region: 0xb3, script: 0xd9, flags: 0x0},
+ 1213: {region: 0x164, script: 0x52, flags: 0x0},
+ 1214: {region: 0x160, script: 0x52, flags: 0x0},
+ 1215: {region: 0x9d, script: 0x52, flags: 0x0},
+ 1216: {region: 0x105, script: 0x52, flags: 0x0},
+ 1217: {region: 0x13d, script: 0x52, flags: 0x0},
+ 1218: {region: 0x11a, script: 0x52, flags: 0x0},
+ 1219: {region: 0x164, script: 0x52, flags: 0x0},
+ 1220: {region: 0x35, script: 0x52, flags: 0x0},
+ 1221: {region: 0x5f, script: 0x52, flags: 0x0},
+ 1222: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1223: {region: 0x1, script: 0x52, flags: 0x0},
+ 1224: {region: 0x105, script: 0x52, flags: 0x0},
+ 1225: {region: 0x69, script: 0x52, flags: 0x0},
+ 1226: {region: 0x12e, script: 0x52, flags: 0x0},
+ 1227: {region: 0x164, script: 0x52, flags: 0x0},
+ 1228: {region: 0x35, script: 0x52, flags: 0x0},
+ 1229: {region: 0x4d, script: 0x52, flags: 0x0},
+ 1230: {region: 0x164, script: 0x52, flags: 0x0},
+ 1231: {region: 0x6e, script: 0x27, flags: 0x0},
+ 1232: {region: 0x164, script: 0x52, flags: 0x0},
+ 1233: {region: 0xe6, script: 0x52, flags: 0x0},
+ 1234: {region: 0x2e, script: 0x52, flags: 0x0},
+ 1235: {region: 0x98, script: 0xd0, flags: 0x0},
+ 1236: {region: 0x98, script: 0x20, flags: 0x0},
+ 1237: {region: 0x164, script: 0x52, flags: 0x0},
+ 1238: {region: 0x164, script: 0x52, flags: 0x0},
+ 1239: {region: 0x164, script: 0x52, flags: 0x0},
+ 1240: {region: 0x164, script: 0x52, flags: 0x0},
+ 1241: {region: 0x164, script: 0x52, flags: 0x0},
+ 1242: {region: 0x164, script: 0x52, flags: 0x0},
+ 1243: {region: 0x164, script: 0x52, flags: 0x0},
+ 1244: {region: 0x164, script: 0x52, flags: 0x0},
+ 1245: {region: 0x164, script: 0x52, flags: 0x0},
+ 1246: {region: 0x13f, script: 0x52, flags: 0x0},
+ 1247: {region: 0x164, script: 0x52, flags: 0x0},
+ 1248: {region: 0x164, script: 0x52, flags: 0x0},
+ 1249: {region: 0xa7, script: 0x5, flags: 0x0},
+ 1250: {region: 0x164, script: 0x52, flags: 0x0},
+ 1251: {region: 0x113, script: 0x52, flags: 0x0},
+ 1252: {region: 0x164, script: 0x52, flags: 0x0},
+ 1253: {region: 0x164, script: 0x52, flags: 0x0},
+ 1254: {region: 0x164, script: 0x52, flags: 0x0},
+ 1255: {region: 0x164, script: 0x52, flags: 0x0},
+ 1256: {region: 0x98, script: 0x20, flags: 0x0},
+ 1257: {region: 0x52, script: 0x34, flags: 0x0},
+ 1258: {region: 0x164, script: 0x52, flags: 0x0},
+ 1259: {region: 0x164, script: 0x52, flags: 0x0},
+ 1260: {region: 0x40, script: 0x52, flags: 0x0},
+ 1261: {region: 0x164, script: 0x52, flags: 0x0},
+ 1262: {region: 0x12a, script: 0x18, flags: 0x0},
+ 1263: {region: 0x164, script: 0x52, flags: 0x0},
+ 1264: {region: 0x160, script: 0x52, flags: 0x0},
+ 1265: {region: 0x164, script: 0x52, flags: 0x0},
+ 1266: {region: 0x12a, script: 0x5a, flags: 0x0},
+ 1267: {region: 0x12a, script: 0x5b, flags: 0x0},
+ 1268: {region: 0x7c, script: 0x29, flags: 0x0},
+ 1269: {region: 0x52, script: 0x5e, flags: 0x0},
+ 1270: {region: 0x10a, script: 0x62, flags: 0x0},
+ 1271: {region: 0x107, script: 0x6c, flags: 0x0},
+ 1272: {region: 0x98, script: 0x20, flags: 0x0},
+ 1273: {region: 0x130, script: 0x52, flags: 0x0},
+ 1274: {region: 0x164, script: 0x52, flags: 0x0},
+ 1275: {region: 0x9b, script: 0x82, flags: 0x0},
+ 1276: {region: 0x164, script: 0x52, flags: 0x0},
+ 1277: {region: 0x15d, script: 0xba, flags: 0x0},
+ 1278: {region: 0x164, script: 0x52, flags: 0x0},
+ 1279: {region: 0x164, script: 0x52, flags: 0x0},
+ 1280: {region: 0xda, script: 0x20, flags: 0x0},
+ 1281: {region: 0x164, script: 0x52, flags: 0x0},
+ 1282: {region: 0x164, script: 0x52, flags: 0x0},
+ 1283: {region: 0xd0, script: 0x52, flags: 0x0},
+ 1284: {region: 0x74, script: 0x52, flags: 0x0},
+ 1285: {region: 0x164, script: 0x52, flags: 0x0},
+ 1286: {region: 0x164, script: 0x52, flags: 0x0},
+ 1287: {region: 0x51, script: 0x52, flags: 0x0},
+ 1288: {region: 0x164, script: 0x52, flags: 0x0},
+ 1289: {region: 0x164, script: 0x52, flags: 0x0},
+ 1290: {region: 0x164, script: 0x52, flags: 0x0},
+ 1291: {region: 0x51, script: 0x52, flags: 0x0},
+ 1292: {region: 0x164, script: 0x52, flags: 0x0},
+ 1293: {region: 0x164, script: 0x52, flags: 0x0},
+ 1294: {region: 0x164, script: 0x52, flags: 0x0},
+ 1295: {region: 0x164, script: 0x52, flags: 0x0},
+ 1296: {region: 0x1, script: 0x37, flags: 0x0},
+ 1297: {region: 0x164, script: 0x52, flags: 0x0},
+ 1298: {region: 0x164, script: 0x52, flags: 0x0},
+ 1299: {region: 0x164, script: 0x52, flags: 0x0},
+ 1300: {region: 0x164, script: 0x52, flags: 0x0},
+ 1301: {region: 0x164, script: 0x52, flags: 0x0},
+ 1302: {region: 0xd5, script: 0x52, flags: 0x0},
+ 1303: {region: 0x164, script: 0x52, flags: 0x0},
+ 1304: {region: 0x164, script: 0x52, flags: 0x0},
+ 1305: {region: 0x164, script: 0x52, flags: 0x0},
+ 1306: {region: 0x40, script: 0x52, flags: 0x0},
+ 1307: {region: 0x164, script: 0x52, flags: 0x0},
+ 1308: {region: 0xce, script: 0x52, flags: 0x0},
+ 1309: {region: 0x4a, script: 0x3, flags: 0x1},
+ 1310: {region: 0x164, script: 0x52, flags: 0x0},
+ 1311: {region: 0x164, script: 0x52, flags: 0x0},
+ 1312: {region: 0x164, script: 0x52, flags: 0x0},
+ 1313: {region: 0x52, script: 0x52, flags: 0x0},
+ 1314: {region: 0x10a, script: 0x52, flags: 0x0},
+ 1316: {region: 0xa7, script: 0x5, flags: 0x0},
+ 1317: {region: 0xd8, script: 0x52, flags: 0x0},
+ 1318: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 1319: {region: 0x4d, script: 0x14, flags: 0x1},
+ 1320: {region: 0x164, script: 0x52, flags: 0x0},
+ 1321: {region: 0x121, script: 0x52, flags: 0x0},
+ 1322: {region: 0xcf, script: 0x52, flags: 0x0},
+ 1323: {region: 0x164, script: 0x52, flags: 0x0},
+ 1324: {region: 0x160, script: 0x52, flags: 0x0},
+ 1326: {region: 0x12a, script: 0x52, flags: 0x0},
+}
+
+// likelyLangList holds lists info associated with likelyLang.
+// Size: 388 bytes, 97 elements
+var likelyLangList = [97]likelyScriptRegion{
+ 0: {region: 0x9b, script: 0x7, flags: 0x0},
+ 1: {region: 0xa0, script: 0x6d, flags: 0x2},
+ 2: {region: 0x11b, script: 0x78, flags: 0x2},
+ 3: {region: 0x31, script: 0x52, flags: 0x0},
+ 4: {region: 0x9a, script: 0x5, flags: 0x4},
+ 5: {region: 0x9b, script: 0x5, flags: 0x4},
+ 6: {region: 0x105, script: 0x1e, flags: 0x4},
+ 7: {region: 0x9b, script: 0x5, flags: 0x2},
+ 8: {region: 0x105, script: 0x1e, flags: 0x0},
+ 9: {region: 0x37, script: 0x2a, flags: 0x2},
+ 10: {region: 0x134, script: 0x52, flags: 0x0},
+ 11: {region: 0x7a, script: 0xbd, flags: 0x2},
+ 12: {region: 0x113, script: 0x52, flags: 0x0},
+ 13: {region: 0x83, script: 0x1, flags: 0x2},
+ 14: {region: 0x5c, script: 0x1d, flags: 0x0},
+ 15: {region: 0x86, script: 0x57, flags: 0x2},
+ 16: {region: 0xd5, script: 0x52, flags: 0x0},
+ 17: {region: 0x51, script: 0x5, flags: 0x4},
+ 18: {region: 0x10a, script: 0x5, flags: 0x4},
+ 19: {region: 0xad, script: 0x1e, flags: 0x0},
+ 20: {region: 0x23, script: 0x5, flags: 0x4},
+ 21: {region: 0x52, script: 0x5, flags: 0x4},
+ 22: {region: 0x9b, script: 0x5, flags: 0x4},
+ 23: {region: 0xc4, script: 0x5, flags: 0x4},
+ 24: {region: 0x52, script: 0x5, flags: 0x2},
+ 25: {region: 0x12a, script: 0x52, flags: 0x0},
+ 26: {region: 0xaf, script: 0x5, flags: 0x4},
+ 27: {region: 0x9a, script: 0x5, flags: 0x2},
+ 28: {region: 0xa4, script: 0x1e, flags: 0x0},
+ 29: {region: 0x52, script: 0x5, flags: 0x4},
+ 30: {region: 0x12a, script: 0x52, flags: 0x4},
+ 31: {region: 0x52, script: 0x5, flags: 0x2},
+ 32: {region: 0x12a, script: 0x52, flags: 0x2},
+ 33: {region: 0xda, script: 0x20, flags: 0x0},
+ 34: {region: 0x98, script: 0x55, flags: 0x2},
+ 35: {region: 0x82, script: 0x52, flags: 0x0},
+ 36: {region: 0x83, script: 0x70, flags: 0x4},
+ 37: {region: 0x83, script: 0x70, flags: 0x2},
+ 38: {region: 0xc4, script: 0x1e, flags: 0x0},
+ 39: {region: 0x52, script: 0x66, flags: 0x4},
+ 40: {region: 0x52, script: 0x66, flags: 0x2},
+ 41: {region: 0xcf, script: 0x52, flags: 0x0},
+ 42: {region: 0x49, script: 0x5, flags: 0x4},
+ 43: {region: 0x94, script: 0x5, flags: 0x4},
+ 44: {region: 0x98, script: 0x2f, flags: 0x0},
+ 45: {region: 0xe7, script: 0x5, flags: 0x4},
+ 46: {region: 0xe7, script: 0x5, flags: 0x2},
+ 47: {region: 0x9b, script: 0x7c, flags: 0x0},
+ 48: {region: 0x52, script: 0x7d, flags: 0x2},
+ 49: {region: 0xb9, script: 0xd2, flags: 0x0},
+ 50: {region: 0xd8, script: 0x52, flags: 0x4},
+ 51: {region: 0xe7, script: 0x5, flags: 0x0},
+ 52: {region: 0x98, script: 0x20, flags: 0x2},
+ 53: {region: 0x98, script: 0x47, flags: 0x2},
+ 54: {region: 0x98, script: 0xc0, flags: 0x2},
+ 55: {region: 0x104, script: 0x1e, flags: 0x0},
+ 56: {region: 0xbc, script: 0x52, flags: 0x4},
+ 57: {region: 0x103, script: 0x52, flags: 0x4},
+ 58: {region: 0x105, script: 0x52, flags: 0x4},
+ 59: {region: 0x12a, script: 0x52, flags: 0x4},
+ 60: {region: 0x123, script: 0x1e, flags: 0x0},
+ 61: {region: 0xe7, script: 0x5, flags: 0x4},
+ 62: {region: 0xe7, script: 0x5, flags: 0x2},
+ 63: {region: 0x52, script: 0x5, flags: 0x0},
+ 64: {region: 0xad, script: 0x1e, flags: 0x4},
+ 65: {region: 0xc4, script: 0x1e, flags: 0x4},
+ 66: {region: 0xad, script: 0x1e, flags: 0x2},
+ 67: {region: 0x98, script: 0xe, flags: 0x0},
+ 68: {region: 0xda, script: 0x20, flags: 0x4},
+ 69: {region: 0xda, script: 0x20, flags: 0x2},
+ 70: {region: 0x136, script: 0x52, flags: 0x0},
+ 71: {region: 0x23, script: 0x5, flags: 0x4},
+ 72: {region: 0x52, script: 0x1e, flags: 0x4},
+ 73: {region: 0x23, script: 0x5, flags: 0x2},
+ 74: {region: 0x8c, script: 0x35, flags: 0x0},
+ 75: {region: 0x52, script: 0x34, flags: 0x4},
+ 76: {region: 0x52, script: 0x34, flags: 0x2},
+ 77: {region: 0x52, script: 0x34, flags: 0x0},
+ 78: {region: 0x2e, script: 0x35, flags: 0x4},
+ 79: {region: 0x3d, script: 0x35, flags: 0x4},
+ 80: {region: 0x7a, script: 0x35, flags: 0x4},
+ 81: {region: 0x7d, script: 0x35, flags: 0x4},
+ 82: {region: 0x8c, script: 0x35, flags: 0x4},
+ 83: {region: 0x94, script: 0x35, flags: 0x4},
+ 84: {region: 0xc5, script: 0x35, flags: 0x4},
+ 85: {region: 0xcf, script: 0x35, flags: 0x4},
+ 86: {region: 0xe1, script: 0x35, flags: 0x4},
+ 87: {region: 0xe4, script: 0x35, flags: 0x4},
+ 88: {region: 0xe6, script: 0x35, flags: 0x4},
+ 89: {region: 0x115, script: 0x35, flags: 0x4},
+ 90: {region: 0x122, script: 0x35, flags: 0x4},
+ 91: {region: 0x12d, script: 0x35, flags: 0x4},
+ 92: {region: 0x134, script: 0x35, flags: 0x4},
+ 93: {region: 0x13d, script: 0x35, flags: 0x4},
+ 94: {region: 0x12d, script: 0x11, flags: 0x2},
+ 95: {region: 0x12d, script: 0x30, flags: 0x2},
+ 96: {region: 0x12d, script: 0x35, flags: 0x2},
+}
+
+type likelyLangScript struct {
+ lang uint16
+ script uint8
+ flags uint8
+}
+
+// likelyRegion is a lookup table, indexed by regionID, for the most likely
+// languages and scripts given incomplete information. If more entries exist
+// for a given regionID, lang and script are the index and size respectively
+// of the list in likelyRegionList.
+// TODO: exclude containers and user-definable regions from the list.
+// Size: 1428 bytes, 357 elements
+var likelyRegion = [357]likelyLangScript{
+ 33: {lang: 0xd7, script: 0x52, flags: 0x0},
+ 34: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 35: {lang: 0x0, script: 0x2, flags: 0x1},
+ 38: {lang: 0x2, script: 0x2, flags: 0x1},
+ 39: {lang: 0x4, script: 0x2, flags: 0x1},
+ 41: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 42: {lang: 0x0, script: 0x52, flags: 0x0},
+ 43: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 44: {lang: 0x419, script: 0x52, flags: 0x0},
+ 45: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 47: {lang: 0x365, script: 0x52, flags: 0x0},
+ 48: {lang: 0x442, script: 0x52, flags: 0x0},
+ 49: {lang: 0x58, script: 0x52, flags: 0x0},
+ 50: {lang: 0x6, script: 0x2, flags: 0x1},
+ 52: {lang: 0xa5, script: 0xe, flags: 0x0},
+ 53: {lang: 0x365, script: 0x52, flags: 0x0},
+ 54: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 55: {lang: 0x7e, script: 0x1e, flags: 0x0},
+ 56: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 57: {lang: 0x3d7, script: 0x52, flags: 0x0},
+ 58: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 59: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 61: {lang: 0x31d, script: 0x52, flags: 0x0},
+ 62: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 63: {lang: 0x39f, script: 0x52, flags: 0x0},
+ 64: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 66: {lang: 0x8, script: 0x2, flags: 0x1},
+ 68: {lang: 0x0, script: 0x52, flags: 0x0},
+ 70: {lang: 0x71, script: 0x1e, flags: 0x0},
+ 72: {lang: 0x510, script: 0x37, flags: 0x2},
+ 73: {lang: 0x31d, script: 0x5, flags: 0x2},
+ 74: {lang: 0x443, script: 0x52, flags: 0x0},
+ 75: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 76: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 77: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 78: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 80: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 81: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 82: {lang: 0xa, script: 0x5, flags: 0x1},
+ 83: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 84: {lang: 0x0, script: 0x52, flags: 0x0},
+ 85: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 88: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 89: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 90: {lang: 0x39f, script: 0x52, flags: 0x0},
+ 92: {lang: 0xf, script: 0x2, flags: 0x1},
+ 93: {lang: 0xf9, script: 0x52, flags: 0x0},
+ 95: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 97: {lang: 0x1, script: 0x52, flags: 0x0},
+ 98: {lang: 0x100, script: 0x52, flags: 0x0},
+ 100: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 102: {lang: 0x11, script: 0x2, flags: 0x1},
+ 103: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 104: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 105: {lang: 0x13f, script: 0x52, flags: 0x0},
+ 106: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 107: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 108: {lang: 0x46d, script: 0x27, flags: 0x0},
+ 109: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 110: {lang: 0x13, script: 0x2, flags: 0x1},
+ 112: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 113: {lang: 0x150, script: 0x52, flags: 0x0},
+ 114: {lang: 0x1be, script: 0x20, flags: 0x2},
+ 117: {lang: 0x157, script: 0x52, flags: 0x0},
+ 119: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 121: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 122: {lang: 0x15, script: 0x2, flags: 0x1},
+ 124: {lang: 0x17, script: 0x3, flags: 0x1},
+ 125: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 127: {lang: 0x21, script: 0x52, flags: 0x0},
+ 129: {lang: 0x243, script: 0x52, flags: 0x0},
+ 131: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 132: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 133: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 134: {lang: 0x1a, script: 0x2, flags: 0x1},
+ 135: {lang: 0x0, script: 0x52, flags: 0x0},
+ 136: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 138: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 140: {lang: 0x527, script: 0x35, flags: 0x0},
+ 141: {lang: 0x0, script: 0x52, flags: 0x0},
+ 142: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 143: {lang: 0x1cf, script: 0x52, flags: 0x0},
+ 144: {lang: 0x1d2, script: 0x52, flags: 0x0},
+ 145: {lang: 0x1d3, script: 0x52, flags: 0x0},
+ 147: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 148: {lang: 0x1c, script: 0x2, flags: 0x1},
+ 150: {lang: 0x1ba, script: 0x37, flags: 0x0},
+ 152: {lang: 0x1e, script: 0x3, flags: 0x1},
+ 154: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 155: {lang: 0x21, script: 0x2, flags: 0x1},
+ 156: {lang: 0x1f6, script: 0x52, flags: 0x0},
+ 157: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 160: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 161: {lang: 0x1fe, script: 0x41, flags: 0x0},
+ 163: {lang: 0x443, script: 0x52, flags: 0x0},
+ 164: {lang: 0x288, script: 0x1e, flags: 0x0},
+ 165: {lang: 0x23, script: 0x3, flags: 0x1},
+ 167: {lang: 0x26, script: 0x2, flags: 0x1},
+ 169: {lang: 0x252, script: 0x4b, flags: 0x0},
+ 170: {lang: 0x252, script: 0x4b, flags: 0x0},
+ 171: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 173: {lang: 0x3e0, script: 0x1e, flags: 0x0},
+ 174: {lang: 0x28, script: 0x2, flags: 0x1},
+ 175: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 177: {lang: 0x10c, script: 0x52, flags: 0x0},
+ 178: {lang: 0x40a, script: 0xc1, flags: 0x0},
+ 180: {lang: 0x439, script: 0x52, flags: 0x0},
+ 181: {lang: 0x2be, script: 0x52, flags: 0x0},
+ 182: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 183: {lang: 0x2c5, script: 0x52, flags: 0x0},
+ 184: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 185: {lang: 0x2a, script: 0x2, flags: 0x1},
+ 186: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 187: {lang: 0x2c, script: 0x2, flags: 0x1},
+ 188: {lang: 0x430, script: 0x52, flags: 0x0},
+ 189: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 190: {lang: 0x2ef, script: 0x52, flags: 0x0},
+ 193: {lang: 0x2e, script: 0x2, flags: 0x1},
+ 194: {lang: 0xa0, script: 0x52, flags: 0x0},
+ 195: {lang: 0x30, script: 0x2, flags: 0x1},
+ 196: {lang: 0x32, script: 0x2, flags: 0x1},
+ 197: {lang: 0x34, script: 0x2, flags: 0x1},
+ 199: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 200: {lang: 0x36, script: 0x2, flags: 0x1},
+ 202: {lang: 0x31e, script: 0x52, flags: 0x0},
+ 203: {lang: 0x38, script: 0x3, flags: 0x1},
+ 204: {lang: 0x127, script: 0xd4, flags: 0x0},
+ 206: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 207: {lang: 0x31d, script: 0x52, flags: 0x0},
+ 208: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 209: {lang: 0x16, script: 0x52, flags: 0x0},
+ 210: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 211: {lang: 0x1b2, script: 0x52, flags: 0x0},
+ 213: {lang: 0x1b2, script: 0x5, flags: 0x2},
+ 215: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 216: {lang: 0x365, script: 0x52, flags: 0x0},
+ 217: {lang: 0x345, script: 0x52, flags: 0x0},
+ 218: {lang: 0x34f, script: 0x20, flags: 0x0},
+ 224: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 225: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 227: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 228: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 229: {lang: 0x484, script: 0x52, flags: 0x0},
+ 230: {lang: 0x152, script: 0x52, flags: 0x0},
+ 231: {lang: 0x3b, script: 0x3, flags: 0x1},
+ 232: {lang: 0x3b1, script: 0x52, flags: 0x0},
+ 233: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 235: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 236: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 237: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 239: {lang: 0x3a0, script: 0x52, flags: 0x0},
+ 240: {lang: 0x192, script: 0x52, flags: 0x0},
+ 242: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 257: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 259: {lang: 0x3e, script: 0x2, flags: 0x1},
+ 260: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 261: {lang: 0x40, script: 0x2, flags: 0x1},
+ 262: {lang: 0x3e3, script: 0x52, flags: 0x0},
+ 263: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 265: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 266: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 267: {lang: 0x42, script: 0x2, flags: 0x1},
+ 270: {lang: 0x414, script: 0x52, flags: 0x0},
+ 271: {lang: 0x345, script: 0x52, flags: 0x0},
+ 272: {lang: 0x44, script: 0x2, flags: 0x1},
+ 274: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 275: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 276: {lang: 0x427, script: 0x52, flags: 0x0},
+ 277: {lang: 0x365, script: 0x52, flags: 0x0},
+ 279: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 281: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 283: {lang: 0x46, script: 0x2, flags: 0x1},
+ 287: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 288: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 289: {lang: 0x48, script: 0x2, flags: 0x1},
+ 290: {lang: 0x4a, script: 0x3, flags: 0x1},
+ 291: {lang: 0x4d, script: 0x2, flags: 0x1},
+ 292: {lang: 0x475, script: 0x52, flags: 0x0},
+ 293: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 294: {lang: 0x474, script: 0x52, flags: 0x0},
+ 295: {lang: 0x4f, script: 0x2, flags: 0x1},
+ 296: {lang: 0x480, script: 0x52, flags: 0x0},
+ 298: {lang: 0x51, script: 0x4, flags: 0x1},
+ 300: {lang: 0x49e, script: 0x52, flags: 0x0},
+ 301: {lang: 0x55, script: 0x2, flags: 0x1},
+ 302: {lang: 0x443, script: 0x52, flags: 0x0},
+ 303: {lang: 0x57, script: 0x3, flags: 0x1},
+ 304: {lang: 0x443, script: 0x52, flags: 0x0},
+ 308: {lang: 0x510, script: 0x37, flags: 0x2},
+ 309: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 310: {lang: 0x4ba, script: 0x52, flags: 0x0},
+ 311: {lang: 0x1f7, script: 0x52, flags: 0x0},
+ 314: {lang: 0x13d, script: 0x52, flags: 0x0},
+ 317: {lang: 0x4c1, script: 0x52, flags: 0x0},
+ 318: {lang: 0x8a, script: 0x52, flags: 0x0},
+ 319: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 321: {lang: 0x419, script: 0x52, flags: 0x0},
+ 332: {lang: 0x5a, script: 0x2, flags: 0x1},
+ 349: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 350: {lang: 0x5c, script: 0x2, flags: 0x1},
+ 355: {lang: 0x421, script: 0x52, flags: 0x0},
+}
+
+// likelyRegionList holds lists info associated with likelyRegion.
+// Size: 376 bytes, 94 elements
+var likelyRegionList = [94]likelyLangScript{
+ 0: {lang: 0x147, script: 0x5, flags: 0x0},
+ 1: {lang: 0x474, script: 0x52, flags: 0x0},
+ 2: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 3: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 4: {lang: 0x1d5, script: 0x8, flags: 0x0},
+ 5: {lang: 0x272, script: 0x52, flags: 0x0},
+ 6: {lang: 0xb7, script: 0x52, flags: 0x0},
+ 7: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 8: {lang: 0x12c, script: 0xd6, flags: 0x0},
+ 9: {lang: 0x34f, script: 0x20, flags: 0x0},
+ 10: {lang: 0x527, script: 0x34, flags: 0x0},
+ 11: {lang: 0x4aa, script: 0x5, flags: 0x0},
+ 12: {lang: 0x51d, script: 0x35, flags: 0x0},
+ 13: {lang: 0x521, script: 0x52, flags: 0x0},
+ 14: {lang: 0x298, script: 0xd5, flags: 0x0},
+ 15: {lang: 0x135, script: 0x2d, flags: 0x0},
+ 16: {lang: 0x488, script: 0x52, flags: 0x0},
+ 17: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 18: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 19: {lang: 0x27, script: 0x27, flags: 0x0},
+ 20: {lang: 0x138, script: 0x52, flags: 0x0},
+ 21: {lang: 0x268, script: 0x5, flags: 0x2},
+ 22: {lang: 0x510, script: 0x37, flags: 0x2},
+ 23: {lang: 0x20e, script: 0x29, flags: 0x0},
+ 24: {lang: 0x5, script: 0x1e, flags: 0x0},
+ 25: {lang: 0x272, script: 0x52, flags: 0x0},
+ 26: {lang: 0x135, script: 0x2d, flags: 0x0},
+ 27: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 28: {lang: 0x1df, script: 0x52, flags: 0x0},
+ 29: {lang: 0x31d, script: 0x5, flags: 0x0},
+ 30: {lang: 0x1bc, script: 0x20, flags: 0x0},
+ 31: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 32: {lang: 0x234, script: 0x6b, flags: 0x0},
+ 33: {lang: 0x147, script: 0x5, flags: 0x0},
+ 34: {lang: 0x474, script: 0x52, flags: 0x0},
+ 35: {lang: 0x248, script: 0x46, flags: 0x0},
+ 36: {lang: 0xe6, script: 0x5, flags: 0x0},
+ 37: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 38: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 39: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 40: {lang: 0x2b6, script: 0x4f, flags: 0x0},
+ 41: {lang: 0x224, script: 0xd5, flags: 0x0},
+ 42: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 43: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 44: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 45: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 46: {lang: 0x2fd, script: 0x1e, flags: 0x0},
+ 47: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 48: {lang: 0x32f, script: 0x6b, flags: 0x0},
+ 49: {lang: 0x211, script: 0x52, flags: 0x0},
+ 50: {lang: 0x309, script: 0x1e, flags: 0x0},
+ 51: {lang: 0x240, script: 0x5, flags: 0x0},
+ 52: {lang: 0x527, script: 0x35, flags: 0x0},
+ 53: {lang: 0x3be, script: 0x52, flags: 0x0},
+ 54: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 55: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 56: {lang: 0x2eb, script: 0x52, flags: 0x0},
+ 57: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 58: {lang: 0x88, script: 0x20, flags: 0x0},
+ 59: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 60: {lang: 0x4b2, script: 0x5, flags: 0x0},
+ 61: {lang: 0xbe, script: 0x20, flags: 0x0},
+ 62: {lang: 0x3da, script: 0x52, flags: 0x0},
+ 63: {lang: 0x7e, script: 0x1e, flags: 0x0},
+ 64: {lang: 0x3e0, script: 0x1e, flags: 0x0},
+ 65: {lang: 0x265, script: 0x52, flags: 0x0},
+ 66: {lang: 0x442, script: 0x52, flags: 0x0},
+ 67: {lang: 0x510, script: 0x37, flags: 0x0},
+ 68: {lang: 0x410, script: 0x52, flags: 0x0},
+ 69: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 70: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 71: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 72: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 73: {lang: 0x35, script: 0x5, flags: 0x0},
+ 74: {lang: 0x469, script: 0xd5, flags: 0x0},
+ 75: {lang: 0x2ea, script: 0x5, flags: 0x0},
+ 76: {lang: 0x30d, script: 0x6b, flags: 0x0},
+ 77: {lang: 0x465, script: 0x1e, flags: 0x0},
+ 78: {lang: 0x147, script: 0x5, flags: 0x0},
+ 79: {lang: 0x3a, script: 0x5, flags: 0x0},
+ 80: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 81: {lang: 0x488, script: 0x52, flags: 0x0},
+ 82: {lang: 0x58, script: 0x5, flags: 0x0},
+ 83: {lang: 0x217, script: 0x1e, flags: 0x0},
+ 84: {lang: 0x81, script: 0x2d, flags: 0x0},
+ 85: {lang: 0x527, script: 0x35, flags: 0x0},
+ 86: {lang: 0x48a, script: 0x52, flags: 0x0},
+ 87: {lang: 0x4ac, script: 0x1e, flags: 0x0},
+ 88: {lang: 0x510, script: 0x37, flags: 0x0},
+ 89: {lang: 0x3b1, script: 0x52, flags: 0x0},
+ 90: {lang: 0x42f, script: 0x52, flags: 0x0},
+ 91: {lang: 0x430, script: 0x1e, flags: 0x0},
+ 92: {lang: 0x15d, script: 0x52, flags: 0x0},
+ 93: {lang: 0x444, script: 0x5, flags: 0x0},
+}
+
+type likelyTag struct {
+ lang uint16
+ region uint16
+ script uint8
+}
+
+// Size: 192 bytes, 32 elements
+var likelyRegionGroup = [32]likelyTag{
+ 1: {lang: 0x138, region: 0xd5, script: 0x52},
+ 2: {lang: 0x138, region: 0x134, script: 0x52},
+ 3: {lang: 0x3be, region: 0x40, script: 0x52},
+ 4: {lang: 0x138, region: 0x2e, script: 0x52},
+ 5: {lang: 0x138, region: 0xd5, script: 0x52},
+ 6: {lang: 0x13d, region: 0xce, script: 0x52},
+ 7: {lang: 0x443, region: 0x12e, script: 0x52},
+ 8: {lang: 0x3a, region: 0x6a, script: 0x5},
+ 9: {lang: 0x443, region: 0x4a, script: 0x52},
+ 10: {lang: 0x138, region: 0x160, script: 0x52},
+ 11: {lang: 0x138, region: 0x134, script: 0x52},
+ 12: {lang: 0x138, region: 0x134, script: 0x52},
+ 13: {lang: 0x13d, region: 0x58, script: 0x52},
+ 14: {lang: 0x527, region: 0x52, script: 0x34},
+ 15: {lang: 0x1bc, region: 0x98, script: 0x20},
+ 16: {lang: 0x1df, region: 0x94, script: 0x52},
+ 17: {lang: 0x1f7, region: 0x9d, script: 0x52},
+ 18: {lang: 0x138, region: 0x2e, script: 0x52},
+ 19: {lang: 0x138, region: 0xe5, script: 0x52},
+ 20: {lang: 0x138, region: 0x89, script: 0x52},
+ 21: {lang: 0x419, region: 0x141, script: 0x52},
+ 22: {lang: 0x527, region: 0x52, script: 0x34},
+ 23: {lang: 0x4ba, region: 0x136, script: 0x52},
+ 24: {lang: 0x3a, region: 0x107, script: 0x5},
+ 25: {lang: 0x3e0, region: 0x105, script: 0x1e},
+ 26: {lang: 0x3e0, region: 0x105, script: 0x1e},
+ 27: {lang: 0x138, region: 0x7a, script: 0x52},
+ 28: {lang: 0x10c, region: 0x5f, script: 0x52},
+ 29: {lang: 0x13d, region: 0x1e, script: 0x52},
+ 30: {lang: 0x138, region: 0x99, script: 0x52},
+ 31: {lang: 0x138, region: 0x7a, script: 0x52},
+}
+
+// Size: 357 bytes, 357 elements
+var regionToGroups = [357]uint8{
+ // Entry 0 - 3F
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04,
+ // Entry 40 - 7F
+ 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08, 0x00,
+ 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00,
+ // Entry 80 - BF
+ 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01,
+ // Entry C0 - FF
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x04,
+ 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ // Entry 100 - 13F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00, 0x00,
+ 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00, 0x00,
+ // Entry 140 - 17F
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00,
+}
+
+type mutualIntelligibility struct {
+ want uint16
+ have uint16
+ distance uint8
+ oneway bool
+}
+
+type scriptIntelligibility struct {
+ wantLang uint16
+ haveLang uint16
+ wantScript uint8
+ haveScript uint8
+ distance uint8
+}
+
+type regionIntelligibility struct {
+ lang uint16
+ script uint8
+ group uint8
+ distance uint8
+}
+
+// matchLang holds pairs of langIDs of base languages that are typically
+// mutually intelligible. Each pair is associated with a confidence and
+// whether the intelligibility goes one or both ways.
+// Size: 690 bytes, 115 elements
+var matchLang = [115]mutualIntelligibility{
+ 0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false},
+ 1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false},
+ 2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false},
+ 3: {want: 0x405, have: 0x430, distance: 0x4, oneway: false},
+ 4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false},
+ 5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true},
+ 6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true},
+ 7: {want: 0x430, have: 0x1cf, distance: 0x5, oneway: false},
+ 8: {want: 0x430, have: 0xb7, distance: 0x5, oneway: false},
+ 9: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
+ 10: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
+ 11: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
+ 12: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
+ 13: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
+ 14: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
+ 15: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
+ 16: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
+ 17: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
+ 18: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
+ 19: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
+ 20: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
+ 21: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
+ 22: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
+ 23: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
+ 24: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
+ 25: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
+ 26: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
+ 27: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
+ 28: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
+ 29: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
+ 30: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
+ 31: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
+ 32: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
+ 33: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
+ 34: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
+ 35: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
+ 36: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
+ 37: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
+ 38: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
+ 39: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
+ 40: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
+ 41: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
+ 42: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
+ 43: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
+ 44: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
+ 45: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
+ 46: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
+ 47: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
+ 48: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
+ 49: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
+ 50: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
+ 51: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
+ 52: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
+ 53: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
+ 54: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
+ 55: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
+ 56: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
+ 57: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
+ 58: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
+ 59: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
+ 60: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
+ 61: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
+ 62: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
+ 63: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
+ 64: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
+ 65: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
+ 66: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
+ 67: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
+ 68: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
+ 69: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
+ 70: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
+ 71: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
+ 72: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
+ 73: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
+ 74: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
+ 75: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
+ 76: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
+ 77: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
+ 78: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
+ 79: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
+ 80: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
+ 81: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
+ 82: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
+ 83: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
+ 84: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
+ 85: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
+ 86: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
+ 87: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
+ 88: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
+ 89: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
+ 90: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
+ 91: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
+ 92: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
+ 93: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
+ 94: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
+ 95: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
+ 96: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
+ 97: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
+ 98: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
+ 99: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
+ 100: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
+ 101: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
+ 102: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
+ 103: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
+ 104: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
+ 105: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
+ 106: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
+ 107: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
+ 108: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
+ 109: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
+ 110: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
+ 111: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
+ 112: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
+ 113: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
+ 114: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
+}
+
+// matchScript holds pairs of scriptIDs where readers of one script
+// can typically also read the other. Each is associated with a confidence.
+// Size: 208 bytes, 26 elements
+var matchScript = [26]scriptIntelligibility{
+ 0: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x52, haveScript: 0x1e, distance: 0x5},
+ 1: {wantLang: 0x430, haveLang: 0x430, wantScript: 0x1e, haveScript: 0x52, distance: 0x5},
+ 2: {wantLang: 0x58, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 3: {wantLang: 0xa5, haveLang: 0x138, wantScript: 0xe, haveScript: 0x52, distance: 0xa},
+ 4: {wantLang: 0x1d5, haveLang: 0x3e0, wantScript: 0x8, haveScript: 0x1e, distance: 0xa},
+ 5: {wantLang: 0x20e, haveLang: 0x138, wantScript: 0x29, haveScript: 0x52, distance: 0xa},
+ 6: {wantLang: 0x248, haveLang: 0x138, wantScript: 0x46, haveScript: 0x52, distance: 0xa},
+ 7: {wantLang: 0x24f, haveLang: 0x138, wantScript: 0x4a, haveScript: 0x52, distance: 0xa},
+ 8: {wantLang: 0x2b6, haveLang: 0x138, wantScript: 0x4f, haveScript: 0x52, distance: 0xa},
+ 9: {wantLang: 0x302, haveLang: 0x138, wantScript: 0x64, haveScript: 0x52, distance: 0xa},
+ 10: {wantLang: 0x32f, haveLang: 0x138, wantScript: 0x6b, haveScript: 0x52, distance: 0xa},
+ 11: {wantLang: 0x34f, haveLang: 0x138, wantScript: 0x20, haveScript: 0x52, distance: 0xa},
+ 12: {wantLang: 0x393, haveLang: 0x138, wantScript: 0x75, haveScript: 0x52, distance: 0xa},
+ 13: {wantLang: 0x39b, haveLang: 0x138, wantScript: 0x2f, haveScript: 0x52, distance: 0xa},
+ 14: {wantLang: 0x3bc, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 15: {wantLang: 0x3f8, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 16: {wantLang: 0x40a, haveLang: 0x138, wantScript: 0xc1, haveScript: 0x52, distance: 0xa},
+ 17: {wantLang: 0x44e, haveLang: 0x138, wantScript: 0xcd, haveScript: 0x52, distance: 0xa},
+ 18: {wantLang: 0x45f, haveLang: 0x138, wantScript: 0xd0, haveScript: 0x52, distance: 0xa},
+ 19: {wantLang: 0x46d, haveLang: 0x138, wantScript: 0x27, haveScript: 0x52, distance: 0xa},
+ 20: {wantLang: 0x474, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 21: {wantLang: 0x4b2, haveLang: 0x138, wantScript: 0x5, haveScript: 0x52, distance: 0xa},
+ 22: {wantLang: 0x4ba, haveLang: 0x3e0, wantScript: 0x52, haveScript: 0x1e, distance: 0xa},
+ 23: {wantLang: 0x510, haveLang: 0x138, wantScript: 0x37, haveScript: 0x52, distance: 0xa},
+ 24: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x34, haveScript: 0x35, distance: 0xf},
+ 25: {wantLang: 0x527, haveLang: 0x527, wantScript: 0x35, haveScript: 0x34, distance: 0x13},
+}
+
+// Size: 90 bytes, 15 elements
+var matchRegion = [15]regionIntelligibility{
+ 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},
+ 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},
+ 2: {lang: 0x138, script: 0x0, group: 0x1, distance: 0x4},
+ 3: {lang: 0x138, script: 0x0, group: 0x81, distance: 0x4},
+ 4: {lang: 0x13d, script: 0x0, group: 0x3, distance: 0x4},
+ 5: {lang: 0x13d, script: 0x0, group: 0x83, distance: 0x4},
+ 6: {lang: 0x3be, script: 0x0, group: 0x3, distance: 0x4},
+ 7: {lang: 0x3be, script: 0x0, group: 0x83, distance: 0x4},
+ 8: {lang: 0x527, script: 0x35, group: 0x2, distance: 0x4},
+ 9: {lang: 0x527, script: 0x35, group: 0x82, distance: 0x4},
+ 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
+ 11: {lang: 0x138, script: 0x0, group: 0x80, distance: 0x5},
+ 12: {lang: 0x13d, script: 0x0, group: 0x80, distance: 0x5},
+ 13: {lang: 0x3be, script: 0x0, group: 0x80, distance: 0x5},
+ 14: {lang: 0x527, script: 0x35, group: 0x80, distance: 0x5},
+}
+
+// Size: 128 bytes, 32 elements
+var regionContainment = [32]uint32{
+ 0xffffffff, 0x000007a2, 0x00003044, 0x00000008,
+ 0x403c0010, 0x00000020, 0x00000040, 0x00000080,
+ 0x00000100, 0x00000200, 0x00000400, 0x2000384c,
+ 0x00001000, 0x00002000, 0x00004000, 0x00008000,
+ 0x00010000, 0x00020000, 0x00040000, 0x00080000,
+ 0x00100000, 0x00200000, 0x01c1c000, 0x00800000,
+ 0x01000000, 0x1e020000, 0x04000000, 0x08000000,
+ 0x10000000, 0x20002048, 0x40000000, 0x80000000,
+}
+
+// regionInclusion maps region identifiers to sets of regions in regionInclusionBits,
+// where each set holds all groupings that are directly connected in a region
+// containment graph.
+// Size: 357 bytes, 357 elements
+var regionInclusion = [357]uint8{
+ // Entry 0 - 3F
+ 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
+ 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,
+ 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
+ 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x20,
+ 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x22, 0x23,
+ 0x25, 0x26, 0x21, 0x27, 0x28, 0x29, 0x2a, 0x25,
+ 0x2b, 0x23, 0x22, 0x25, 0x24, 0x29, 0x2c, 0x2d,
+ 0x23, 0x2e, 0x2c, 0x25, 0x2f, 0x30, 0x27, 0x25,
+ // Entry 40 - 7F
+ 0x27, 0x25, 0x24, 0x30, 0x21, 0x31, 0x32, 0x33,
+ 0x2f, 0x21, 0x26, 0x26, 0x26, 0x34, 0x2c, 0x28,
+ 0x27, 0x26, 0x35, 0x27, 0x21, 0x33, 0x22, 0x20,
+ 0x25, 0x2c, 0x25, 0x21, 0x36, 0x2d, 0x34, 0x29,
+ 0x21, 0x2e, 0x37, 0x25, 0x25, 0x20, 0x38, 0x38,
+ 0x27, 0x37, 0x38, 0x38, 0x2e, 0x39, 0x2e, 0x1f,
+ 0x20, 0x37, 0x3a, 0x27, 0x3b, 0x2b, 0x20, 0x29,
+ 0x34, 0x26, 0x37, 0x25, 0x23, 0x27, 0x2b, 0x2c,
+ // Entry 80 - BF
+ 0x22, 0x2f, 0x2c, 0x2c, 0x25, 0x26, 0x39, 0x21,
+ 0x33, 0x3b, 0x2c, 0x27, 0x35, 0x21, 0x33, 0x39,
+ 0x25, 0x2d, 0x20, 0x38, 0x30, 0x37, 0x23, 0x2b,
+ 0x24, 0x21, 0x23, 0x24, 0x2b, 0x39, 0x2b, 0x25,
+ 0x23, 0x35, 0x20, 0x2e, 0x3c, 0x30, 0x3b, 0x2e,
+ 0x25, 0x35, 0x35, 0x23, 0x25, 0x3c, 0x30, 0x23,
+ 0x25, 0x34, 0x24, 0x2c, 0x31, 0x37, 0x29, 0x37,
+ 0x38, 0x38, 0x34, 0x32, 0x22, 0x25, 0x2e, 0x3b,
+ // Entry C0 - FF
+ 0x20, 0x22, 0x2c, 0x30, 0x35, 0x35, 0x3b, 0x25,
+ 0x2c, 0x25, 0x39, 0x2e, 0x24, 0x2e, 0x33, 0x30,
+ 0x2e, 0x31, 0x3a, 0x2c, 0x2a, 0x2c, 0x20, 0x33,
+ 0x29, 0x2b, 0x24, 0x20, 0x3b, 0x23, 0x28, 0x2a,
+ 0x23, 0x33, 0x20, 0x27, 0x28, 0x3a, 0x30, 0x24,
+ 0x2d, 0x2f, 0x28, 0x25, 0x23, 0x39, 0x20, 0x3b,
+ 0x27, 0x20, 0x23, 0x20, 0x20, 0x1e, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ // Entry 100 - 13F
+ 0x20, 0x2e, 0x20, 0x2d, 0x22, 0x32, 0x2e, 0x23,
+ 0x3a, 0x2e, 0x38, 0x37, 0x30, 0x2c, 0x39, 0x2b,
+ 0x2d, 0x2c, 0x22, 0x2c, 0x2e, 0x27, 0x2e, 0x26,
+ 0x32, 0x33, 0x25, 0x23, 0x31, 0x21, 0x25, 0x26,
+ 0x21, 0x2c, 0x30, 0x3c, 0x28, 0x30, 0x3c, 0x38,
+ 0x28, 0x30, 0x23, 0x25, 0x28, 0x35, 0x2e, 0x32,
+ 0x2e, 0x20, 0x21, 0x20, 0x2f, 0x27, 0x3c, 0x22,
+ 0x25, 0x20, 0x27, 0x25, 0x25, 0x30, 0x3a, 0x28,
+ // Entry 140 - 17F
+ 0x20, 0x28, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x22, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x23, 0x23, 0x2e, 0x22,
+ 0x31, 0x2e, 0x26, 0x2e, 0x20,
+}
+
+// regionInclusionBits is an array of bit vectors where every vector represents
+// a set of region groupings. These sets are used to compute the distance
+// between two regions for the purpose of language matching.
+// Size: 288 bytes, 72 elements
+var regionInclusionBits = [72]uint32{
+ // Entry 0 - 1F
+ 0x82400813, 0x000007a3, 0x00003844, 0x20000808,
+ 0x403c0011, 0x00000022, 0x20000844, 0x00000082,
+ 0x00000102, 0x00000202, 0x00000402, 0x2000384d,
+ 0x00001804, 0x20002804, 0x00404000, 0x00408000,
+ 0x00410000, 0x02020000, 0x00040010, 0x00080010,
+ 0x00100010, 0x00200010, 0x01c1c001, 0x00c00000,
+ 0x01400000, 0x1e020001, 0x06000000, 0x0a000000,
+ 0x12000000, 0x20002848, 0x40000010, 0x80000001,
+ // Entry 20 - 3F
+ 0x00000001, 0x40000000, 0x00020000, 0x01000000,
+ 0x00008000, 0x00002000, 0x00000200, 0x00000008,
+ 0x00200000, 0x90000000, 0x00040000, 0x08000000,
+ 0x00000020, 0x84000000, 0x00000080, 0x00001000,
+ 0x00010000, 0x00000400, 0x04000000, 0x00000040,
+ 0x10000000, 0x00004000, 0x81000000, 0x88000000,
+ 0x00000100, 0x80020000, 0x00080000, 0x00100000,
+ 0x00800000, 0xffffffff, 0x82400fb3, 0xc27c0813,
+ // Entry 40 - 5F
+ 0xa240385f, 0x83c1c813, 0x9e420813, 0x92000001,
+ 0x86000001, 0x81400001, 0x8a000001, 0x82020001,
+}
+
+// regionInclusionNext marks, for each entry in regionInclusionBits, the set of
+// all groups that are reachable from the groups set in the respective entry.
+// Size: 72 bytes, 72 elements
+var regionInclusionNext = [72]uint8{
+ // Entry 0 - 3F
+ 0x3d, 0x3e, 0x0b, 0x0b, 0x3f, 0x01, 0x0b, 0x01,
+ 0x01, 0x01, 0x01, 0x40, 0x0b, 0x0b, 0x16, 0x16,
+ 0x16, 0x19, 0x04, 0x04, 0x04, 0x04, 0x41, 0x16,
+ 0x16, 0x42, 0x19, 0x19, 0x19, 0x0b, 0x04, 0x00,
+ 0x00, 0x1e, 0x11, 0x18, 0x0f, 0x0d, 0x09, 0x03,
+ 0x15, 0x43, 0x12, 0x1b, 0x05, 0x44, 0x07, 0x0c,
+ 0x10, 0x0a, 0x1a, 0x06, 0x1c, 0x0e, 0x45, 0x46,
+ 0x08, 0x47, 0x13, 0x14, 0x17, 0x3d, 0x3d, 0x3d,
+ // Entry 40 - 7F
+ 0x3d, 0x3d, 0x3d, 0x42, 0x42, 0x41, 0x42, 0x42,
+}
+
+type parentRel struct {
+ lang uint16
+ script uint8
+ maxScript uint8
+ toRegion uint16
+ fromRegion []uint16
+}
+
+// Size: 414 bytes, 5 elements
+var parents = [5]parentRel{
+ 0: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1, fromRegion: []uint16{0x1a, 0x24, 0x25, 0x2e, 0x33, 0x35, 0x3c, 0x41, 0x45, 0x47, 0x48, 0x49, 0x4f, 0x51, 0x5b, 0x5c, 0x60, 0x63, 0x6c, 0x72, 0x73, 0x74, 0x7a, 0x7b, 0x7e, 0x7f, 0x80, 0x82, 0x8b, 0x8c, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9e, 0x9f, 0xa3, 0xa6, 0xa8, 0xac, 0xb0, 0xb3, 0xb4, 0xbe, 0xc5, 0xc9, 0xca, 0xcb, 0xcd, 0xcf, 0xd1, 0xd4, 0xd5, 0xdc, 0xde, 0xdf, 0xe5, 0xe6, 0xe7, 0xea, 0xef, 0x106, 0x108, 0x109, 0x10a, 0x10c, 0x10d, 0x111, 0x116, 0x11a, 0x11c, 0x11e, 0x124, 0x128, 0x12b, 0x12c, 0x12e, 0x130, 0x138, 0x13b, 0x13e, 0x141, 0x160, 0x161, 0x163}},
+ 1: {lang: 0x138, script: 0x0, maxScript: 0x52, toRegion: 0x1a, fromRegion: []uint16{0x2d, 0x4d, 0x5f, 0x62, 0x71, 0xd8, 0x10b, 0x10e}},
+ 2: {lang: 0x13d, script: 0x0, maxScript: 0x52, toRegion: 0x1e, fromRegion: []uint16{0x2b, 0x3e, 0x40, 0x47, 0x50, 0x53, 0x55, 0x58, 0x64, 0x68, 0x88, 0x8e, 0xce, 0xd7, 0xe1, 0xe3, 0xeb, 0xf0, 0x119, 0x134, 0x135, 0x13a}},
+ 3: {lang: 0x3be, script: 0x0, maxScript: 0x52, toRegion: 0xed, fromRegion: []uint16{0x29, 0x4d, 0x59, 0x85, 0x8a, 0xb6, 0xc5, 0xd0, 0x117, 0x125}},
+ 4: {lang: 0x527, script: 0x35, maxScript: 0x35, toRegion: 0x8c, fromRegion: []uint16{0xc5}},
+}
+
+// Total table size 26496 bytes (25KiB); checksum: 6E24B15A
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tags.go b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tags.go
new file mode 100644
index 00000000..de30155a
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/golang.org/x/text/language/tags.go
@@ -0,0 +1,143 @@
+// 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 language
+
+// TODO: Various sets of commonly use tags and regions.
+
+// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.
+// It simplifies safe initialization of Tag values.
+func MustParse(s string) Tag {
+ t, err := Parse(s)
+ if err != nil {
+ panic(err)
+ }
+ return t
+}
+
+// MustParse is like Parse, but panics if the given BCP 47 tag cannot be parsed.
+// It simplifies safe initialization of Tag values.
+func (c CanonType) MustParse(s string) Tag {
+ t, err := c.Parse(s)
+ if err != nil {
+ panic(err)
+ }
+ return t
+}
+
+// MustParseBase is like ParseBase, but panics if the given base cannot be parsed.
+// It simplifies safe initialization of Base values.
+func MustParseBase(s string) Base {
+ b, err := ParseBase(s)
+ if err != nil {
+ panic(err)
+ }
+ return b
+}
+
+// MustParseScript is like ParseScript, but panics if the given script cannot be
+// parsed. It simplifies safe initialization of Script values.
+func MustParseScript(s string) Script {
+ scr, err := ParseScript(s)
+ if err != nil {
+ panic(err)
+ }
+ return scr
+}
+
+// MustParseRegion is like ParseRegion, but panics if the given region cannot be
+// parsed. It simplifies safe initialization of Region values.
+func MustParseRegion(s string) Region {
+ r, err := ParseRegion(s)
+ if err != nil {
+ panic(err)
+ }
+ return r
+}
+
+var (
+ und = Tag{}
+
+ Und Tag = Tag{}
+
+ Afrikaans Tag = Tag{lang: _af} // af
+ Amharic Tag = Tag{lang: _am} // am
+ Arabic Tag = Tag{lang: _ar} // ar
+ ModernStandardArabic Tag = Tag{lang: _ar, region: _001} // ar-001
+ Azerbaijani Tag = Tag{lang: _az} // az
+ Bulgarian Tag = Tag{lang: _bg} // bg
+ Bengali Tag = Tag{lang: _bn} // bn
+ Catalan Tag = Tag{lang: _ca} // ca
+ Czech Tag = Tag{lang: _cs} // cs
+ Danish Tag = Tag{lang: _da} // da
+ German Tag = Tag{lang: _de} // de
+ Greek Tag = Tag{lang: _el} // el
+ English Tag = Tag{lang: _en} // en
+ AmericanEnglish Tag = Tag{lang: _en, region: _US} // en-US
+ BritishEnglish Tag = Tag{lang: _en, region: _GB} // en-GB
+ Spanish Tag = Tag{lang: _es} // es
+ EuropeanSpanish Tag = Tag{lang: _es, region: _ES} // es-ES
+ LatinAmericanSpanish Tag = Tag{lang: _es, region: _419} // es-419
+ Estonian Tag = Tag{lang: _et} // et
+ Persian Tag = Tag{lang: _fa} // fa
+ Finnish Tag = Tag{lang: _fi} // fi
+ Filipino Tag = Tag{lang: _fil} // fil
+ French Tag = Tag{lang: _fr} // fr
+ CanadianFrench Tag = Tag{lang: _fr, region: _CA} // fr-CA
+ Gujarati Tag = Tag{lang: _gu} // gu
+ Hebrew Tag = Tag{lang: _he} // he
+ Hindi Tag = Tag{lang: _hi} // hi
+ Croatian Tag = Tag{lang: _hr} // hr
+ Hungarian Tag = Tag{lang: _hu} // hu
+ Armenian Tag = Tag{lang: _hy} // hy
+ Indonesian Tag = Tag{lang: _id} // id
+ Icelandic Tag = Tag{lang: _is} // is
+ Italian Tag = Tag{lang: _it} // it
+ Japanese Tag = Tag{lang: _ja} // ja
+ Georgian Tag = Tag{lang: _ka} // ka
+ Kazakh Tag = Tag{lang: _kk} // kk
+ Khmer Tag = Tag{lang: _km} // km
+ Kannada Tag = Tag{lang: _kn} // kn
+ Korean Tag = Tag{lang: _ko} // ko
+ Kirghiz Tag = Tag{lang: _ky} // ky
+ Lao Tag = Tag{lang: _lo} // lo
+ Lithuanian Tag = Tag{lang: _lt} // lt
+ Latvian Tag = Tag{lang: _lv} // lv
+ Macedonian Tag = Tag{lang: _mk} // mk
+ Malayalam Tag = Tag{lang: _ml} // ml
+ Mongolian Tag = Tag{lang: _mn} // mn
+ Marathi Tag = Tag{lang: _mr} // mr
+ Malay Tag = Tag{lang: _ms} // ms
+ Burmese Tag = Tag{lang: _my} // my
+ Nepali Tag = Tag{lang: _ne} // ne
+ Dutch Tag = Tag{lang: _nl} // nl
+ Norwegian Tag = Tag{lang: _no} // no
+ Punjabi Tag = Tag{lang: _pa} // pa
+ Polish Tag = Tag{lang: _pl} // pl
+ Portuguese Tag = Tag{lang: _pt} // pt
+ BrazilianPortuguese Tag = Tag{lang: _pt, region: _BR} // pt-BR
+ EuropeanPortuguese Tag = Tag{lang: _pt, region: _PT} // pt-PT
+ Romanian Tag = Tag{lang: _ro} // ro
+ Russian Tag = Tag{lang: _ru} // ru
+ Sinhala Tag = Tag{lang: _si} // si
+ Slovak Tag = Tag{lang: _sk} // sk
+ Slovenian Tag = Tag{lang: _sl} // sl
+ Albanian Tag = Tag{lang: _sq} // sq
+ Serbian Tag = Tag{lang: _sr} // sr
+ SerbianLatin Tag = Tag{lang: _sr, script: _Latn} // sr-Latn
+ Swedish Tag = Tag{lang: _sv} // sv
+ Swahili Tag = Tag{lang: _sw} // sw
+ Tamil Tag = Tag{lang: _ta} // ta
+ Telugu Tag = Tag{lang: _te} // te
+ Thai Tag = Tag{lang: _th} // th
+ Turkish Tag = Tag{lang: _tr} // tr
+ Ukrainian Tag = Tag{lang: _uk} // uk
+ Urdu Tag = Tag{lang: _ur} // ur
+ Uzbek Tag = Tag{lang: _uz} // uz
+ Vietnamese Tag = Tag{lang: _vi} // vi
+ Chinese Tag = Tag{lang: _zh} // zh
+ SimplifiedChinese Tag = Tag{lang: _zh, script: _Hans} // zh-Hans
+ TraditionalChinese Tag = Tag{lang: _zh, script: _Hant} // zh-Hant
+ Zulu Tag = Tag{lang: _zu} // zu
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-api.json b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-api.json
index 1ace3391..5eeba0b9 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-api.json
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-api.json
@@ -1,11 +1,11 @@
{
"kind": "discovery#restDescription",
- "etag": "\"jQLIOHBVnDZie4rQHGH1WJF-INE/8DCWy2Mz0LaM0SohXNHBiLxhDn0\"",
+ "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/pqOvnHFN7sP-wPh4KHehXBGM-3c\"",
"discoveryVersion": "v1",
"id": "compute:v1",
"name": "compute",
"version": "v1",
- "revision": "20160412",
+ "revision": "20170612",
"title": "Compute Engine API",
"description": "Creates and runs virtual machines on Google Cloud Platform.",
"ownerDomain": "google.com",
@@ -91,10 +91,217 @@
}
},
"schemas": {
+ "AcceleratorConfig": {
+ "id": "AcceleratorConfig",
+ "type": "object",
+ "description": "A specification of the type and number of accelerator cards attached to the instance.",
+ "properties": {
+ "acceleratorCount": {
+ "type": "integer",
+ "description": "The number of the guest accelerator cards exposed to this instance.",
+ "format": "int32"
+ },
+ "acceleratorType": {
+ "type": "string",
+ "description": "Full or partial URL of the accelerator type resource to expose to this instance."
+ }
+ }
+ },
+ "AcceleratorType": {
+ "id": "AcceleratorType",
+ "type": "object",
+ "description": "An Accelerator Type resource.",
+ "properties": {
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "deprecated": {
+ "$ref": "DeprecationStatus",
+ "description": "[Output Only] The deprecation status associated with this accelerator type."
+ },
+ "description": {
+ "type": "string",
+ "description": "[Output Only] An optional textual description of the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.",
+ "default": "compute#acceleratorType"
+ },
+ "maximumCardsPerInstance": {
+ "type": "integer",
+ "description": "[Output Only] Maximum accelerator cards allowed per instance.",
+ "format": "int32"
+ },
+ "name": {
+ "type": "string",
+ "description": "[Output Only] Name of the resource.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined fully-qualified URL for this resource."
+ },
+ "zone": {
+ "type": "string",
+ "description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a."
+ }
+ }
+ },
+ "AcceleratorTypeAggregatedList": {
+ "id": "AcceleratorTypeAggregatedList",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "object",
+ "description": "[Output Only] A map of scoped accelerator type lists.",
+ "additionalProperties": {
+ "$ref": "AcceleratorTypesScopedList",
+ "description": "[Output Only] Name of the scope containing this set of accelerator types."
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.",
+ "default": "compute#acceleratorTypeAggregatedList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "AcceleratorTypeList": {
+ "id": "AcceleratorTypeList",
+ "type": "object",
+ "description": "Contains a list of accelerator types.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] Unique identifier for the resource; defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of AcceleratorType resources.",
+ "items": {
+ "$ref": "AcceleratorType"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.",
+ "default": "compute#acceleratorTypeList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] A token used to continue a truncated list request."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "AcceleratorTypesScopedList": {
+ "id": "AcceleratorTypesScopedList",
+ "type": "object",
+ "properties": {
+ "acceleratorTypes": {
+ "type": "array",
+ "description": "[Output Only] List of accelerator types contained in this scope.",
+ "items": {
+ "$ref": "AcceleratorType"
+ }
+ },
+ "warning": {
+ "type": "object",
+ "description": "[Output Only] An informational warning that appears when the accelerator types list is empty.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNREACHABLE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "data": {
+ "type": "array",
+ "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding)."
+ },
+ "value": {
+ "type": "string",
+ "description": "[Output Only] A warning data value corresponding to the key."
+ }
+ }
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "[Output Only] A human-readable description of the warning code."
+ }
+ }
+ }
+ }
+ },
"AccessConfig": {
"id": "AccessConfig",
"type": "object",
- "description": "An access configuration attached to an instance's network interface.",
+ "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.",
"properties": {
"kind": {
"type": "string",
@@ -103,7 +310,7 @@
},
"name": {
"type": "string",
- "description": "Name of this access configuration."
+ "description": "The name of this access configuration. The default and recommended name is External NAT but you can use any arbitrary string you would like. For example, My external IP or Network Access."
},
"natIP": {
"type": "string",
@@ -144,6 +351,20 @@
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
"format": "uint64"
},
+ "ipVersion": {
+ "type": "string",
+ "description": "The IP Version that will be used by this address. Valid options are IPV4 or IPV6. This can only be specified for a global address.",
+ "enum": [
+ "IPV4",
+ "IPV6",
+ "UNSPECIFIED_VERSION"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
"kind": {
"type": "string",
"description": "[Output Only] Type of the resource. Always compute#address for addresses.",
@@ -272,6 +493,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -281,6 +503,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -300,6 +523,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -345,6 +570,10 @@
"type": "string",
"description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance.\n\nIf not specified, the server chooses a default device name to apply to this disk, in the form persistent-disks-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks."
},
+ "diskEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "Encrypts or decrypts a disk using a customer-supplied encryption key.\n\nIf you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key.\n\nIf you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance.\n\nIf you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later.\n\nInstance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group."
+ },
"index": {
"type": "integer",
"description": "Assigns a zero-based index to this disk, where 0 is reserved for the boot disk. For example, if you have many disks attached to an instance, each disk would have a unique index number. If not specified, the server will choose an appropriate value.",
@@ -392,7 +621,7 @@
},
"source": {
"type": "string",
- "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks."
+ "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance, one of initializeParams.sourceImage or disks.source is required.\n\nIf desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks.\n\nNote that for InstanceTemplate, specify the disk name, not the URL for the disk."
},
"type": {
"type": "string",
@@ -404,12 +633,7 @@
"enumDescriptions": [
"",
""
- ],
- "annotations": {
- "required": [
- "compute.instances.insert"
- ]
- }
+ ]
}
}
},
@@ -429,11 +653,15 @@
},
"diskType": {
"type": "string",
- "description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example:\n\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard \n\nOther values include pd-ssd and local-ssd. If you define this field, you can provide either the full or partial URL. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n- projects/project/zones/zone/diskTypes/diskType \n- zones/zone/diskTypes/diskType"
+ "description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example:\n\nhttps://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard \n\nOther values include pd-ssd and local-ssd. If you define this field, you can provide either the full or partial URL. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType \n- projects/project/zones/zone/diskTypes/diskType \n- zones/zone/diskTypes/diskType Note that for InstanceTemplate, this is the name of the disk type, not URL."
},
"sourceImage": {
"type": "string",
- "description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image:\n\nprojects/debian-cloud/global/images/family/debian-8 \n\nAlternatively, use a specific version of a public operating system image:\n\nprojects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD \n\nTo create a disk with a private image that you created, specify the image name in the following format:\n\nglobal/images/my-private-image \n\nYou can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name:\n\nglobal/images/family/my-private-family"
+ "description": "The source image to create this disk. When creating a new instance, one of initializeParams.sourceImage or disks.source is required.\n\nTo create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image:\n\nprojects/debian-cloud/global/images/family/debian-8 \n\nAlternatively, use a specific version of a public operating system image:\n\nprojects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD \n\nTo create a disk with a private image that you created, specify the image name in the following format:\n\nglobal/images/my-private-image \n\nYou can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name:\n\nglobal/images/family/my-private-family \n\nIf the source image is deleted later, this field will not be set."
+ },
+ "sourceImageEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key.\n\nInstance templates do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys."
}
}
},
@@ -444,7 +672,7 @@
"properties": {
"autoscalingPolicy": {
"$ref": "AutoscalingPolicy",
- "description": "The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%."
+ "description": "The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%."
},
"creationTimestamp": {
"type": "string",
@@ -474,17 +702,44 @@
]
}
},
+ "region": {
+ "type": "string",
+ "description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope)."
+ },
"selfLink": {
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
},
+ "status": {
+ "type": "string",
+ "description": "[Output Only] The status of the autoscaler configuration.",
+ "enum": [
+ "ACTIVE",
+ "DELETING",
+ "ERROR",
+ "PENDING"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "statusDetails": {
+ "type": "array",
+ "description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.",
+ "items": {
+ "$ref": "AutoscalerStatusDetails"
+ }
+ },
"target": {
"type": "string",
"description": "URL of the managed instance group that this autoscaler will scale."
},
"zone": {
"type": "string",
- "description": "[Output Only] URL of the zone where the instance group resides."
+ "description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope)."
}
}
},
@@ -550,6 +805,54 @@
}
}
},
+ "AutoscalerStatusDetails": {
+ "id": "AutoscalerStatusDetails",
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "The status message."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of error returned.",
+ "enum": [
+ "ALL_INSTANCES_UNHEALTHY",
+ "BACKEND_SERVICE_DOES_NOT_EXIST",
+ "CAPPED_AT_MAX_NUM_REPLICAS",
+ "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE",
+ "CUSTOM_METRIC_INVALID",
+ "MIN_EQUALS_MAX",
+ "MISSING_CUSTOM_METRIC_DATA_POINTS",
+ "MISSING_LOAD_BALANCING_DATA_POINTS",
+ "MORE_THAN_ONE_BACKEND_SERVICE",
+ "NOT_ENOUGH_QUOTA_AVAILABLE",
+ "REGION_RESOURCE_STOCKOUT",
+ "SCALING_TARGET_DOES_NOT_EXIST",
+ "UNKNOWN",
+ "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION",
+ "ZONE_RESOURCE_STOCKOUT"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ }
+ }
+ },
"AutoscalersScopedList": {
"id": "AutoscalersScopedList",
"type": "object",
@@ -572,6 +875,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -581,6 +885,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -600,6 +905,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -672,7 +979,7 @@
"properties": {
"utilizationTarget": {
"type": "number",
- "description": "The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.\n\nIf the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.",
+ "description": "The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.6.\n\nIf the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.",
"format": "double"
}
}
@@ -684,16 +991,16 @@
"properties": {
"metric": {
"type": "string",
- "description": "The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.\n\nFor example, the following is a valid metric:\ncompute.googleapis.com/instance/network/received_bytes_count\n\n\nThe following is not a valid metric because it does not increase or decrease based on usage:\ncompute.googleapis.com/instance/cpu/reserved_cores"
+ "description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric.\n\nThe metric must have a value type of INT64 or DOUBLE."
},
"utilizationTarget": {
"type": "number",
- "description": "Target value of the metric which autoscaler should maintain. Must be a positive value.",
+ "description": "The target value of the metric that autoscaler should maintain. This must be a positive value.\n\nFor example, a good metric to use as a utilization_target is compute.googleapis.com/instance/network/received_bytes_count. The autoscaler will work to keep this value constant for each of the instances.",
"format": "double"
},
"utilizationTargetType": {
"type": "string",
- "description": "Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.",
+ "description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.",
"enum": [
"DELTA_PER_MINUTE",
"DELTA_PER_SECOND",
@@ -726,19 +1033,21 @@
"properties": {
"balancingMode": {
"type": "string",
- "description": "Specifies the balancing mode for this backend. For global HTTP(S) load balancing, the default is UTILIZATION. Valid values are UTILIZATION and RATE.",
+ "description": "Specifies the balancing mode for this backend. For global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION. Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for TCP/SSL).\n\nThis cannot be used for internal load balancing.",
"enum": [
+ "CONNECTION",
"RATE",
"UTILIZATION"
],
"enumDescriptions": [
"",
+ "",
""
]
},
"capacityScaler": {
"type": "number",
- "description": "A multiplier applied to the group's maximum servicing capacity (either UTILIZATION or RATE). Default value is 1, which means the group will serve up to 100% of its configured CPU or RPS (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available CPU or RPS. Valid range is [0.0,1.0].",
+ "description": "A multiplier applied to the group's maximum servicing capacity (based on UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group will serve up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available Capacity. Valid range is [0.0,1.0].\n\nThis cannot be used for internal load balancing.",
"format": "float"
},
"description": {
@@ -747,30 +1056,118 @@
},
"group": {
"type": "string",
- "description": "The fully-qualified URL of a zonal Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL."
+ "description": "The fully-qualified URL of a zonal Instance Group resource. This instance group defines the list of instances that serve traffic. Member virtual machine instances from each instance group must live in the same zone as the instance group itself. No two backends in a backend service are allowed to use same Instance Group resource.\n\nNote that you must specify an Instance Group resource using the fully-qualified URL, rather than a partial URL.\n\nWhen the BackendService has load balancing scheme INTERNAL, the instance group must be in a zone within the same region as the BackendService."
+ },
+ "maxConnections": {
+ "type": "integer",
+ "description": "The max number of simultaneous connections for the group. Can be used with either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either maxConnections or maxConnectionsPerInstance must be set.\n\nThis cannot be used for internal load balancing.",
+ "format": "int32"
+ },
+ "maxConnectionsPerInstance": {
+ "type": "integer",
+ "description": "The max number of simultaneous connections that a single backend instance can handle. This is used to calculate the capacity of the group. Can be used in either CONNECTION or UTILIZATION balancing modes. For CONNECTION mode, either maxConnections or maxConnectionsPerInstance must be set.\n\nThis cannot be used for internal load balancing.",
+ "format": "int32"
},
"maxRate": {
"type": "integer",
- "description": "The max requests per second (RPS) of the group. Can be used with either RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must be set.",
+ "description": "The max requests per second (RPS) of the group. Can be used with either RATE or UTILIZATION balancing modes, but required if RATE mode. For RATE mode, either maxRate or maxRatePerInstance must be set.\n\nThis cannot be used for internal load balancing.",
"format": "int32"
},
"maxRatePerInstance": {
"type": "number",
- "description": "The max requests per second (RPS) that a single backend instance can handle.This is used to calculate the capacity of the group. Can be used in either balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be set.",
+ "description": "The max requests per second (RPS) that a single backend instance can handle. This is used to calculate the capacity of the group. Can be used in either balancing mode. For RATE mode, either maxRate or maxRatePerInstance must be set.\n\nThis cannot be used for internal load balancing.",
"format": "float"
},
"maxUtilization": {
"type": "number",
- "description": "Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. The default is 0.8. Valid range is [0.0, 1.0].",
+ "description": "Used when balancingMode is UTILIZATION. This ratio defines the CPU utilization target for the group. The default is 0.8. Valid range is [0.0, 1.0].\n\nThis cannot be used for internal load balancing.",
"format": "float"
}
}
},
+ "BackendBucket": {
+ "id": "BackendBucket",
+ "type": "object",
+ "description": "A BackendBucket resource. This resource defines a Cloud Storage bucket.",
+ "properties": {
+ "bucketName": {
+ "type": "string",
+ "description": "Cloud Storage bucket name."
+ },
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional textual description of the resource; provided by the client when the resource is created."
+ },
+ "enableCdn": {
+ "type": "boolean",
+ "description": "If true, enable Cloud CDN for this BackendBucket."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] Unique identifier for the resource; defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of the resource.",
+ "default": "compute#backendBucket"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ }
+ }
+ },
+ "BackendBucketList": {
+ "id": "BackendBucketList",
+ "type": "object",
+ "description": "Contains a list of BackendBucket resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] Unique identifier for the resource; defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of BackendBucket resources.",
+ "items": {
+ "$ref": "BackendBucket"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#backendBucketList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] A token used to continue a truncated list request."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
"BackendService": {
"id": "BackendService",
"type": "object",
"description": "A BackendService resource. This resource defines a group of backend virtual machines and their serving capacity.",
"properties": {
+ "affinityCookieTtlSec": {
+ "type": "integer",
+ "description": "Lifetime of cookies in seconds if session_affinity is GENERATED_COOKIE. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value for TTL is one day.\n\nWhen the load balancing scheme is INTERNAL, this field is not used.",
+ "format": "int32"
+ },
"backends": {
"type": "array",
"description": "The list of backends that serve this BackendService.",
@@ -778,6 +1175,13 @@
"$ref": "Backend"
}
},
+ "cdnPolicy": {
+ "$ref": "BackendServiceCdnPolicy",
+ "description": "Cloud CDN configuration for this BackendService."
+ },
+ "connectionDraining": {
+ "$ref": "ConnectionDraining"
+ },
"creationTimestamp": {
"type": "string",
"description": "[Output Only] Creation timestamp in RFC3339 text format."
@@ -786,6 +1190,10 @@
"type": "string",
"description": "An optional description of this resource. Provide this property when you create the resource."
},
+ "enableCDN": {
+ "type": "boolean",
+ "description": "If true, enable Cloud CDN for this BackendService.\n\nWhen the load balancing scheme is INTERNAL, this field is not used."
+ },
"fingerprint": {
"type": "string",
"description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService.",
@@ -793,11 +1201,14 @@
},
"healthChecks": {
"type": "array",
- "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required.",
+ "description": "The list of URLs to the HttpHealthCheck or HttpsHealthCheck resource for health checking this BackendService. Currently at most one health check can be specified, and a health check is required for GCE backend services. A health check must not be specified for GAE app backend and Cloud Function backend.\n\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.",
"items": {
"type": "string"
}
},
+ "iap": {
+ "$ref": "BackendServiceIAP"
+ },
"id": {
"type": "string",
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
@@ -808,6 +1219,19 @@
"description": "[Output Only] Type of resource. Always compute#backendService for backend services.",
"default": "compute#backendService"
},
+ "loadBalancingScheme": {
+ "type": "string",
+ "enum": [
+ "EXTERNAL",
+ "INTERNAL",
+ "INVALID_LOAD_BALANCING_SCHEME"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
"name": {
"type": "string",
"description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
@@ -815,22 +1239,28 @@
},
"port": {
"type": "integer",
- "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80.",
+ "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80.\n\nThis cannot be used for internal load balancing.",
"format": "int32"
},
"portName": {
"type": "string",
- "description": "Name of backend port. The same name should appear in the instance groups referenced by this service. Required."
+ "description": "Name of backend port. The same name should appear in the instance groups referenced by this service. Required when the load balancing scheme is EXTERNAL.\n\nWhen the load balancing scheme is INTERNAL, this field is not used."
},
"protocol": {
"type": "string",
- "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible values are HTTP, HTTPS, HTTP2, TCP and SSL.",
+ "description": "The protocol this BackendService uses to communicate with backends.\n\nPossible values are HTTP, HTTPS, TCP, and SSL. The default is HTTP.\n\nFor internal load balancing, the possible values are TCP and UDP, and the default is TCP.",
"enum": [
"HTTP",
- "HTTPS"
+ "HTTPS",
+ "SSL",
+ "TCP",
+ "UDP"
],
"enumDescriptions": [
"",
+ "",
+ "",
+ "",
""
]
},
@@ -842,6 +1272,24 @@
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
},
+ "sessionAffinity": {
+ "type": "string",
+ "description": "Type of session affinity to use. The default is NONE.\n\nWhen the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP, or GENERATED_COOKIE.\n\nWhen the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.\n\nWhen the protocol is UDP, this field is not used.",
+ "enum": [
+ "CLIENT_IP",
+ "CLIENT_IP_PORT_PROTO",
+ "CLIENT_IP_PROTO",
+ "GENERATED_COOKIE",
+ "NONE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
"timeoutSec": {
"type": "integer",
"description": "How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds.",
@@ -849,6 +1297,49 @@
}
}
},
+ "BackendServiceAggregatedList": {
+ "id": "BackendServiceAggregatedList",
+ "type": "object",
+ "description": "Contains a list of BackendServicesScopedList.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] Unique identifier for the resource; defined by the server."
+ },
+ "items": {
+ "type": "object",
+ "description": "A map of scoped BackendService lists.",
+ "additionalProperties": {
+ "$ref": "BackendServicesScopedList",
+ "description": "Name of the scope containing this set of BackendServices."
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#backendServiceAggregatedList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] A token used to continue a truncated list request."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "BackendServiceCdnPolicy": {
+ "id": "BackendServiceCdnPolicy",
+ "type": "object",
+ "description": "Message containing Cloud CDN configuration for a backend service.",
+ "properties": {
+ "cacheKeyPolicy": {
+ "$ref": "CacheKeyPolicy",
+ "description": "The CacheKeyPolicy for this CdnPolicy."
+ }
+ }
+ },
"BackendServiceGroupHealth": {
"id": "BackendServiceGroupHealth",
"type": "object",
@@ -866,6 +1357,26 @@
}
}
},
+ "BackendServiceIAP": {
+ "id": "BackendServiceIAP",
+ "type": "object",
+ "description": "Identity-Aware Proxy",
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "oauth2ClientId": {
+ "type": "string"
+ },
+ "oauth2ClientSecret": {
+ "type": "string"
+ },
+ "oauth2ClientSecretSha256": {
+ "type": "string",
+ "description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above."
+ }
+ }
+ },
"BackendServiceList": {
"id": "BackendServiceList",
"type": "object",
@@ -873,7 +1384,7 @@
"properties": {
"id": {
"type": "string",
- "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ "description": "[Output Only] Unique identifier for the resource; defined by the server."
},
"items": {
"type": "array",
@@ -897,6 +1408,406 @@
}
}
},
+ "BackendServicesScopedList": {
+ "id": "BackendServicesScopedList",
+ "type": "object",
+ "properties": {
+ "backendServices": {
+ "type": "array",
+ "description": "List of BackendServices contained in this scope.",
+ "items": {
+ "$ref": "BackendService"
+ }
+ },
+ "warning": {
+ "type": "object",
+ "description": "Informational warning which replaces the list of backend services when the list is empty.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNREACHABLE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "data": {
+ "type": "array",
+ "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding)."
+ },
+ "value": {
+ "type": "string",
+ "description": "[Output Only] A warning data value corresponding to the key."
+ }
+ }
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "[Output Only] A human-readable description of the warning code."
+ }
+ }
+ }
+ }
+ },
+ "CacheInvalidationRule": {
+ "id": "CacheInvalidationRule",
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "description": "If set, this invalidation rule will only apply to requests with a Host header matching host."
+ },
+ "path": {
+ "type": "string"
+ }
+ }
+ },
+ "CacheKeyPolicy": {
+ "id": "CacheKeyPolicy",
+ "type": "object",
+ "description": "Message containing what to include in the cache key for a request for Cloud CDN.",
+ "properties": {
+ "includeHost": {
+ "type": "boolean",
+ "description": "If true, requests to different hosts will be cached separately."
+ },
+ "includeProtocol": {
+ "type": "boolean",
+ "description": "If true, http and https requests will be cached separately."
+ },
+ "includeQueryString": {
+ "type": "boolean",
+ "description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely."
+ },
+ "queryStringBlacklist": {
+ "type": "array",
+ "description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "queryStringWhitelist": {
+ "type": "array",
+ "description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Commitment": {
+ "id": "Commitment",
+ "type": "object",
+ "description": "Represents a Commitment resource. Creating a Commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.\n\nCommitted use discounts are subject to Google Cloud Platform's Service Specific Terms. By purchasing a committed use discount, you agree to these terms. Committed use discounts will not renew, so you must purchase a new commitment to continue receiving discounts.",
+ "properties": {
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional description of this resource. Provide this property when you create the resource."
+ },
+ "endTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Commitment end time in RFC3339 text format."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of the resource. Always compute#commitment for commitments.",
+ "default": "compute#commitment"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "plan": {
+ "type": "string",
+ "description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).",
+ "enum": [
+ "INVALID",
+ "THIRTY_SIX_MONTH",
+ "TWELVE_MONTH"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
+ "region": {
+ "type": "string",
+ "description": "[Output Only] URL of the region where this commitment may be used."
+ },
+ "resources": {
+ "type": "array",
+ "description": "List of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.",
+ "items": {
+ "$ref": "ResourceCommitment"
+ }
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ },
+ "startTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Commitment start time in RFC3339 text format."
+ },
+ "status": {
+ "type": "string",
+ "description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.",
+ "enum": [
+ "ACTIVE",
+ "CREATING",
+ "EXPIRED",
+ "NOT_YET_ACTIVE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "statusMessage": {
+ "type": "string",
+ "description": "[Output Only] An optional, human-readable explanation of the status."
+ }
+ }
+ },
+ "CommitmentAggregatedList": {
+ "id": "CommitmentAggregatedList",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "object",
+ "description": "Commitments by scope.",
+ "additionalProperties": {
+ "$ref": "CommitmentsScopedList",
+ "description": "[Output Only] Name of the scope containing this set of commitments."
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.",
+ "default": "compute#commitmentAggregatedList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "CommitmentList": {
+ "id": "CommitmentList",
+ "type": "object",
+ "description": "Contains a list of Commitment resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of Commitment resources.",
+ "items": {
+ "$ref": "Commitment"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.",
+ "default": "compute#commitmentList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "CommitmentsScopedList": {
+ "id": "CommitmentsScopedList",
+ "type": "object",
+ "properties": {
+ "commitments": {
+ "type": "array",
+ "description": "[Output Only] List of commitments contained in this scope.",
+ "items": {
+ "$ref": "Commitment"
+ }
+ },
+ "warning": {
+ "type": "object",
+ "description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNREACHABLE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "data": {
+ "type": "array",
+ "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding)."
+ },
+ "value": {
+ "type": "string",
+ "description": "[Output Only] A warning data value corresponding to the key."
+ }
+ }
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "[Output Only] A human-readable description of the warning code."
+ }
+ }
+ }
+ }
+ },
+ "ConnectionDraining": {
+ "id": "ConnectionDraining",
+ "type": "object",
+ "description": "Message containing connection draining configuration.",
+ "properties": {
+ "drainingTimeoutSec": {
+ "type": "integer",
+ "description": "Time for which instance will be drained (not accept new connections, but still work to finish started).",
+ "format": "int32"
+ }
+ }
+ },
+ "CustomerEncryptionKey": {
+ "id": "CustomerEncryptionKey",
+ "type": "object",
+ "description": "Represents a customer-supplied encryption key",
+ "properties": {
+ "rawKey": {
+ "type": "string",
+ "description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource."
+ },
+ "sha256": {
+ "type": "string",
+ "description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource."
+ }
+ }
+ },
+ "CustomerEncryptionKeyProtectedDisk": {
+ "id": "CustomerEncryptionKeyProtectedDisk",
+ "type": "object",
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "Decrypts data associated with the disk with a customer-supplied encryption key."
+ },
+ "source": {
+ "type": "string",
+ "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks."
+ }
+ }
+ },
"DeprecationStatus": {
"id": "DeprecationStatus",
"type": "object",
@@ -904,15 +1815,15 @@
"properties": {
"deleted": {
"type": "string",
- "description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED."
+ "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it."
},
"deprecated": {
"type": "string",
- "description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED."
+ "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it."
},
"obsolete": {
"type": "string",
- "description": "An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE."
+ "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it."
},
"replacement": {
"type": "string",
@@ -947,6 +1858,10 @@
"type": "string",
"description": "An optional description of this resource. Provide this property when you create the resource."
},
+ "diskEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "Encrypts the disk using a customer-supplied encryption key.\n\nAfter you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later (e.g. to create a disk snapshot or an image, or to attach the disk to a virtual machine).\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the disk, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later."
+ },
"id": {
"type": "string",
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
@@ -957,6 +1872,18 @@
"description": "[Output Only] Type of the resource. Always compute#disk for disks.",
"default": "compute#disk"
},
+ "labelFingerprint": {
+ "type": "string",
+ "description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.\n\nTo see the latest fingerprint, make a get() request to retrieve a disk.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Labels to apply to this disk. These can be later modified by the setLabels method.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"lastAttachTimestamp": {
"type": "string",
"description": "[Output Only] Last attach timestamp in RFC3339 text format."
@@ -967,7 +1894,7 @@
},
"licenses": {
"type": "array",
- "description": "[Output Only] Any applicable publicly visible licenses.",
+ "description": "Any applicable publicly visible licenses.",
"items": {
"type": "string"
}
@@ -999,6 +1926,10 @@
"type": "string",
"description": "The source image used to create this disk. If the source image is deleted, this field will not be set.\n\nTo create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image:\n\nprojects/debian-cloud/global/images/family/debian-8 \n\nAlternatively, use a specific version of a public operating system image:\n\nprojects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD \n\nTo create a disk with a private image that you created, specify the image name in the following format:\n\nglobal/images/my-private-image \n\nYou can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name:\n\nglobal/images/family/my-private-family"
},
+ "sourceImageEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key."
+ },
"sourceImageId": {
"type": "string",
"description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used."
@@ -1007,13 +1938,17 @@
"type": "string",
"description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshot \n- projects/project/global/snapshots/snapshot \n- global/snapshots/snapshot"
},
+ "sourceSnapshotEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key."
+ },
"sourceSnapshotId": {
"type": "string",
"description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used."
},
"status": {
"type": "string",
- "description": "[Output Only] The status of disk creation. Applicable statuses includes: CREATING, FAILED, READY, RESTORING.",
+ "description": "[Output Only] The status of disk creation.",
"enum": [
"CREATING",
"FAILED",
@@ -1067,7 +2002,7 @@
},
"nextPageToken": {
"type": "string",
- "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. Acceptable values are 0 to 500, inclusive. (Default: 500)"
},
"selfLink": {
"type": "string",
@@ -1082,11 +2017,11 @@
"properties": {
"id": {
"type": "string",
- "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ "description": "[Output Only] Unique identifier for the resource; defined by the server."
},
"items": {
"type": "array",
- "description": "[Output Only] A list of persistent disks.",
+ "description": "A list of Disk resources.",
"items": {
"$ref": "Disk"
}
@@ -1098,7 +2033,7 @@
},
"nextPageToken": {
"type": "string",
- "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
},
"selfLink": {
"type": "string",
@@ -1255,6 +2190,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -1264,6 +2200,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -1283,6 +2220,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -1344,6 +2283,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -1353,6 +2293,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -1372,6 +2313,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -1407,17 +2350,17 @@
"properties": {
"allowed": {
"type": "array",
- "description": "The list of rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.",
+ "description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.",
"items": {
"type": "object",
"properties": {
"IPProtocol": {
"type": "string",
- "description": "The IP protocol that is allowed for this rule. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number."
+ "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, sctp), or the IP protocol number."
},
"ports": {
"type": "array",
- "description": "An optional list of ports which are allowed. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, connections through any port are allowed\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].",
+ "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].",
"items": {
"type": "string"
}
@@ -1440,7 +2383,7 @@
},
"kind": {
"type": "string",
- "description": "[Output Ony] Type of the resource. Always compute#firewall for firewall rules.",
+ "description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.",
"default": "compute#firewall"
},
"name": {
@@ -1464,14 +2407,14 @@
},
"sourceRanges": {
"type": "array",
- "description": "The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set.\n\nIf both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties.",
+ "description": "If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. Only IPv4 is supported.",
"items": {
"type": "string"
}
},
"sourceTags": {
"type": "array",
- "description": "A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set.\n\nIf both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties.",
+ "description": "If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance's external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply.",
"items": {
"type": "string"
}
@@ -1519,18 +2462,19 @@
"ForwardingRule": {
"id": "ForwardingRule",
"type": "object",
- "description": "A ForwardingRule resource. A ForwardingRule resource specifies which pool of target virtual machines to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.",
+ "description": "A ForwardingRule resource. A ForwardingRule resource specifies which pool of target virtual machines to forward a packet to if it matches the given [IPAddress, IPProtocol, ports] tuple.",
"properties": {
"IPAddress": {
"type": "string",
- "description": "Value of the reserved IP address that this forwarding rule is serving on behalf of. For global forwarding rules, the address must be a global IP; for regional forwarding rules, the address must live in the same region as the forwarding rule. If left empty (default value), an ephemeral IP from the same scope (global or regional) will be assigned."
+ "description": "The IP address that this forwarding rule is serving on behalf of.\n\nFor global forwarding rules, the address must be a global IP. For regional forwarding rules, the address must live in the same region as the forwarding rule. By default, this field is empty and an ephemeral IPv4 address from the same scope (global or regional) will be assigned. A regional forwarding rule supports IPv4 only. A global forwarding rule supports either IPv4 or IPv6.\n\nWhen the load balancing scheme is INTERNAL, this can only be an RFC 1918 IP address belonging to the network/subnetwork configured for the forwarding rule. A reserved address cannot be used. If the field is empty, the IP address will be automatically allocated from the internal IP range of the subnetwork or network configured for this forwarding rule."
},
"IPProtocol": {
"type": "string",
- "description": "The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP.",
+ "description": "The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP.\n\nWhen the load balancing scheme is INTERNAL, only TCP and UDP are valid.",
"enum": [
"AH",
"ESP",
+ "ICMP",
"SCTP",
"TCP",
"UDP"
@@ -1540,9 +2484,14 @@
"",
"",
"",
+ "",
""
]
},
+ "backendService": {
+ "type": "string",
+ "description": "This field is not used for external load balancing.\n\nFor internal load balancing, this field identifies the BackendService resource to receive the matched traffic."
+ },
"creationTimestamp": {
"type": "string",
"description": "[Output Only] Creation timestamp in RFC3339 text format."
@@ -1556,19 +2505,58 @@
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
"format": "uint64"
},
+ "ipVersion": {
+ "type": "string",
+ "description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6. This can only be specified for a global forwarding rule.",
+ "enum": [
+ "IPV4",
+ "IPV6",
+ "UNSPECIFIED_VERSION"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
"kind": {
"type": "string",
"description": "[Output Only] Type of the resource. Always compute#forwardingRule for Forwarding Rule resources.",
"default": "compute#forwardingRule"
},
+ "loadBalancingScheme": {
+ "type": "string",
+ "description": "This signifies what the ForwardingRule will be used for and can only take the following values: INTERNAL, EXTERNAL The value of INTERNAL means that this will be used for Internal Network Load Balancing (TCP, UDP). The value of EXTERNAL means that this will be used for External Load Balancing (HTTP(S) LB, External TCP/UDP LB, SSL Proxy)",
+ "enum": [
+ "EXTERNAL",
+ "INTERNAL",
+ "INVALID"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
"name": {
"type": "string",
"description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
},
+ "network": {
+ "type": "string",
+ "description": "This field is not used for external load balancing.\n\nFor internal load balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If this field is not specified, the default network will be used."
+ },
"portRange": {
"type": "string",
- "description": "Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges."
+ "description": "This field is used along with the target field for TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance.\n\nApplicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges.\n\nSome types of forwarding target have constraints on the acceptable ports: \n- TargetHttpProxy: 80, 8080 \n- TargetHttpsProxy: 443 \n- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995 \n- TargetVpnGateway: 500, 4500\n-"
+ },
+ "ports": {
+ "type": "array",
+ "description": "This field is used along with the backend_service field for internal load balancing.\n\nWhen the load balancing scheme is INTERNAL, a single port or a comma separated list of ports can be configured. Only packets addressed to these ports will be forwarded to the backends configured with this forwarding rule.\n\nYou may specify a maximum of up to 5 ports.",
+ "items": {
+ "type": "string"
+ }
},
"region": {
"type": "string",
@@ -1578,9 +2566,13 @@
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
},
+ "subnetwork": {
+ "type": "string",
+ "description": "This field is not used for external load balancing.\n\nFor internal load balancing, this field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule.\n\nIf the network specified is in auto subnet mode, this field is optional. However, if the network is in custom subnet mode, a subnetwork must be specified."
+ },
"target": {
"type": "string",
- "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic."
+ "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object.\n\nThis field is not used for internal load balancing."
}
}
},
@@ -1668,6 +2660,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -1677,6 +2670,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -1696,6 +2690,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -1724,6 +2720,230 @@
}
}
},
+ "GlobalSetLabelsRequest": {
+ "id": "GlobalSetLabelsRequest",
+ "type": "object",
+ "properties": {
+ "labelFingerprint": {
+ "type": "string",
+ "description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels. Make a get() request to the resource to get the latest fingerprint.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "A list of labels to apply for this resource. Each label key & value must comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "GuestOsFeature": {
+ "id": "GuestOsFeature",
+ "type": "object",
+ "description": "Guest OS features.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of supported feature. Currently only VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the server might also populate this property with the value WINDOWS to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.",
+ "enum": [
+ "FEATURE_TYPE_UNSPECIFIED",
+ "VIRTIO_SCSI_MULTIQUEUE",
+ "WINDOWS"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ }
+ }
+ },
+ "HTTPHealthCheck": {
+ "id": "HTTPHealthCheck",
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "description": "The value of the host header in the HTTP health check request. If left empty (default value), the IP on behalf of which this health check is performed will be used."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The TCP port number for the health check request. The default value is 80. Valid values are 1 through 65535.",
+ "format": "int32"
+ },
+ "portName": {
+ "type": "string",
+ "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence."
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "requestPath": {
+ "type": "string",
+ "description": "The request path of the HTTP health check request. The default value is /."
+ }
+ }
+ },
+ "HTTPSHealthCheck": {
+ "id": "HTTPSHealthCheck",
+ "type": "object",
+ "properties": {
+ "host": {
+ "type": "string",
+ "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the IP on behalf of which this health check is performed will be used."
+ },
+ "port": {
+ "type": "integer",
+ "description": "The TCP port number for the health check request. The default value is 443. Valid values are 1 through 65535.",
+ "format": "int32"
+ },
+ "portName": {
+ "type": "string",
+ "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence."
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "requestPath": {
+ "type": "string",
+ "description": "The request path of the HTTPS health check request. The default value is /."
+ }
+ }
+ },
+ "HealthCheck": {
+ "id": "HealthCheck",
+ "type": "object",
+ "description": "An HealthCheck resource. This resource defines a template for how individual virtual machines should be checked for health, via one of the supported protocols.",
+ "properties": {
+ "checkIntervalSec": {
+ "type": "integer",
+ "description": "How often (in seconds) to send a health check. The default value is 5 seconds.",
+ "format": "int32"
+ },
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in 3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional description of this resource. Provide this property when you create the resource."
+ },
+ "healthyThreshold": {
+ "type": "integer",
+ "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.",
+ "format": "int32"
+ },
+ "httpHealthCheck": {
+ "$ref": "HTTPHealthCheck"
+ },
+ "httpsHealthCheck": {
+ "$ref": "HTTPSHealthCheck"
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of the resource.",
+ "default": "compute#healthCheck"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ },
+ "sslHealthCheck": {
+ "$ref": "SSLHealthCheck"
+ },
+ "tcpHealthCheck": {
+ "$ref": "TCPHealthCheck"
+ },
+ "timeoutSec": {
+ "type": "integer",
+ "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.",
+ "format": "int32"
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If not specified, the default is TCP. Exactly one of the protocol-specific health check field must be specified, which must match type field.",
+ "enum": [
+ "HTTP",
+ "HTTPS",
+ "INVALID",
+ "SSL",
+ "TCP"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "unhealthyThreshold": {
+ "type": "integer",
+ "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.",
+ "format": "int32"
+ }
+ }
+ },
+ "HealthCheckList": {
+ "id": "HealthCheckList",
+ "type": "object",
+ "description": "Contains a list of HealthCheck resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of HealthCheck resources.",
+ "items": {
+ "$ref": "HealthCheck"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#healthCheckList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
"HealthCheckReference": {
"id": "HealthCheckReference",
"type": "object",
@@ -2012,21 +3232,44 @@
},
"family": {
"type": "string",
- "description": "The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated."
+ "description": "The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035."
+ },
+ "guestOsFeatures": {
+ "type": "array",
+ "description": "A list of features to enable on the guest OS. Applicable for bootable images only. Currently, only one feature can be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to have its own queue. For Windows images, you can only enable VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or higher. Linux images with kernel versions 3.17 and higher will support VIRTIO_SCSI_MULTIQUEUE.\n\nFor new Windows images, the server might also populate this field with the value WINDOWS, to indicate that this is a Windows image. This value is purely informational and does not enable or disable any features.",
+ "items": {
+ "$ref": "GuestOsFeature"
+ }
},
"id": {
"type": "string",
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
"format": "uint64"
},
+ "imageEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "Encrypts the image using a customer-supplied encryption key.\n\nAfter you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image).\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later."
+ },
"kind": {
"type": "string",
"description": "[Output Only] Type of the resource. Always compute#image for images.",
"default": "compute#image"
},
+ "labelFingerprint": {
+ "type": "string",
+ "description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.\n\nTo see the latest fingerprint, make a get() request to retrieve an image.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Labels to apply to this image. These can be later modified by the setLabels method.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"licenses": {
"type": "array",
- "description": "Any applicable publicly visible licenses.",
+ "description": "Any applicable license URI.",
"items": {
"type": "string"
}
@@ -2077,7 +3320,11 @@
},
"sourceDisk": {
"type": "string",
- "description": "URL of the The source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk \n- projects/project/zones/zone/disk/disk \n- zones/zone/disks/disk"
+ "description": "URL of the source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values: \n- https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk \n- projects/project/zones/zone/disks/disk \n- zones/zone/disks/disk"
+ },
+ "sourceDiskEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key."
},
"sourceDiskId": {
"type": "string",
@@ -2169,6 +3416,13 @@
"$ref": "AttachedDisk"
}
},
+ "guestAccelerators": {
+ "type": "array",
+ "description": "List of the type and count of accelerator cards attached to the instance.",
+ "items": {
+ "$ref": "AcceleratorConfig"
+ }
+ },
"id": {
"type": "string",
"description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
@@ -2179,6 +3433,18 @@
"description": "[Output Only] Type of the resource. Always compute#instance for instances.",
"default": "compute#instance"
},
+ "labelFingerprint": {
+ "type": "string",
+ "description": "A fingerprint for this request, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata.\n\nTo see the latest fingerprint, make get() request to the instance.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Labels to apply to this instance. These can be later modified by the setLabels method.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"machineType": {
"type": "string",
"description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type:\n\nzones/us-central1-f/machineTypes/n1-standard-1 \n\nTo create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB):\n\nzones/zone/machineTypes/custom-CPUS-MEMORY \n\nFor example: zones/us-central1-f/machineTypes/custom-4-5120 \n\nFor a full list of restrictions, read the Specifications for custom machine types.",
@@ -2194,18 +3460,24 @@
},
"name": {
"type": "string",
- "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash."
+ "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "annotations": {
+ "required": [
+ "compute.instances.insert"
+ ]
+ }
},
"networkInterfaces": {
"type": "array",
- "description": "An array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet.",
+ "description": "An array of configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Only one interface is supported per instance.",
"items": {
"$ref": "NetworkInterface"
}
},
"scheduling": {
"$ref": "Scheduling",
- "description": "Scheduling options for this instance."
+ "description": "Sets the scheduling options for this instance."
},
"selfLink": {
"type": "string",
@@ -2213,14 +3485,18 @@
},
"serviceAccounts": {
"type": "array",
- "description": "A list of service accounts, with their specified scopes, authorized for this instance. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Authenticating from Google Compute Engine for more information.",
+ "description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported.\n\nService accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.",
"items": {
"$ref": "ServiceAccount"
}
},
+ "startRestricted": {
+ "type": "boolean",
+ "description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity."
+ },
"status": {
"type": "string",
- "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, and TERMINATED.",
+ "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, and TERMINATED.",
"enum": [
"PROVISIONING",
"RUNNING",
@@ -2306,7 +3582,7 @@
},
"id": {
"type": "string",
- "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.",
+ "description": "[Output Only] A unique identifier for this instance group, generated by the server.",
"format": "uint64"
},
"kind": {
@@ -2335,6 +3611,10 @@
"type": "string",
"description": "The URL of the network to which all instances in the instance group belong."
},
+ "region": {
+ "type": "string",
+ "description": "The URL of the region where the instance group is located (for regional resources)."
+ },
"selfLink": {
"type": "string",
"description": "[Output Only] The URL for this instance group. The server generates this URL."
@@ -2350,7 +3630,7 @@
},
"zone": {
"type": "string",
- "description": "[Output Only] The URL of the zone where the instance group is located."
+ "description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources)."
}
}
},
@@ -2419,6 +3699,7 @@
"InstanceGroupManager": {
"id": "InstanceGroupManager",
"type": "object",
+ "description": "An Instance Group Manager resource.",
"properties": {
"baseInstanceName": {
"type": "string",
@@ -2482,6 +3763,10 @@
"$ref": "NamedPort"
}
},
+ "region": {
+ "type": "string",
+ "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources)."
+ },
"selfLink": {
"type": "string",
"description": "[Output Only] The URL for this managed instance group. The server defines this URL."
@@ -2505,7 +3790,7 @@
},
"zone": {
"type": "string",
- "description": "The name of the zone where the managed instance group is located."
+ "description": "[Output Only] The URL of the zone where the managed instance group is located (for zonal resources)."
}
}
},
@@ -2520,7 +3805,12 @@
},
"creating": {
"type": "integer",
- "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create one of these instances, it tries again until it creates the instance successfully.",
+ "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully.\n\nIf you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.",
+ "format": "int32"
+ },
+ "creatingWithoutRetries": {
+ "type": "integer",
+ "description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.",
"format": "int32"
},
"deleting": {
@@ -2608,7 +3898,7 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] The URL for this resource type. The server generates this URL."
+ "description": "[Output Only] Server-defined URL for this resource."
}
}
},
@@ -2618,7 +3908,7 @@
"properties": {
"instances": {
"type": "array",
- "description": "The URL for one or more instances to abandon from the managed instance group.",
+ "description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
"items": {
"type": "string"
}
@@ -2631,7 +3921,7 @@
"properties": {
"instances": {
"type": "array",
- "description": "The list of instances to delete from this managed instance group. Specify one or more instance URLs.",
+ "description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
"items": {
"type": "string"
}
@@ -2657,7 +3947,7 @@
"properties": {
"instances": {
"type": "array",
- "description": "The URL for one or more instances to recreate.",
+ "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
"items": {
"type": "string"
}
@@ -2686,6 +3976,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -2695,6 +3986,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -2714,6 +4006,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -2789,7 +4083,7 @@
"properties": {
"id": {
"type": "string",
- "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier."
+ "description": "[Output Only] A unique identifier for this list of instances in the specified instance group. The server generates this identifier."
},
"items": {
"type": "array",
@@ -2800,7 +4094,7 @@
},
"kind": {
"type": "string",
- "description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for lists of instance groups.",
+ "description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.",
"default": "compute#instanceGroupsListInstances"
},
"nextPageToken": {
@@ -2809,7 +4103,7 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] The URL for this list of instance groups. The server generates this URL."
+ "description": "[Output Only] The URL for this list of instances in the specified instance groups. The server generates this URL."
}
}
},
@@ -2866,6 +4160,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -2875,6 +4170,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -2894,6 +4190,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -2992,7 +4290,7 @@
"properties": {
"canIpForward": {
"type": "boolean",
- "description": "Enables instances created based on this template to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the canIpForward documentation for more information."
+ "description": "Enables instances created based on this template to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information."
},
"description": {
"type": "string",
@@ -3005,6 +4303,20 @@
"$ref": "AttachedDisk"
}
},
+ "guestAccelerators": {
+ "type": "array",
+ "description": "A list of guest accelerator cards' type and count to use for instances created from the instance template.",
+ "items": {
+ "$ref": "AcceleratorConfig"
+ }
+ },
+ "labels": {
+ "type": "object",
+ "description": "Labels to apply to instances that are created from this template.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"machineType": {
"type": "string",
"description": "The machine type to use for instances that are created from this template.",
@@ -3189,6 +4501,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -3198,6 +4511,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -3217,6 +4531,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -3245,6 +4561,36 @@
}
}
},
+ "InstancesSetLabelsRequest": {
+ "id": "InstancesSetLabelsRequest",
+ "type": "object",
+ "properties": {
+ "labelFingerprint": {
+ "type": "string",
+ "description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InstancesSetMachineResourcesRequest": {
+ "id": "InstancesSetMachineResourcesRequest",
+ "type": "object",
+ "properties": {
+ "guestAccelerators": {
+ "type": "array",
+ "description": "List of the type and count of accelerator cards attached to the instance.",
+ "items": {
+ "$ref": "AcceleratorConfig"
+ }
+ }
+ }
+ },
"InstancesSetMachineTypeRequest": {
"id": "InstancesSetMachineTypeRequest",
"type": "object",
@@ -3255,6 +4601,36 @@
}
}
},
+ "InstancesSetServiceAccountRequest": {
+ "id": "InstancesSetServiceAccountRequest",
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address of the service account."
+ },
+ "scopes": {
+ "type": "array",
+ "description": "The list of scopes to be made available for this service account.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InstancesStartWithEncryptionKeyRequest": {
+ "id": "InstancesStartWithEncryptionKeyRequest",
+ "type": "object",
+ "properties": {
+ "disks": {
+ "type": "array",
+ "description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key.\n\nIn order to start the instance, the disk url and its corresponding key must be provided.\n\nIf the disk is not protected with a customer-supplied encryption key it should not be specified.",
+ "items": {
+ "$ref": "CustomerEncryptionKeyProtectedDisk"
+ }
+ }
+ }
+ },
"License": {
"id": "License",
"type": "object",
@@ -3262,7 +4638,7 @@
"properties": {
"chargesUseFee": {
"type": "boolean",
- "description": "[Output Only] If true, the customer will be charged license fee for running software that contains this license on an instance."
+ "description": "[Output Only] Deprecated. This field no longer reflects whether a license charges a usage fee."
},
"kind": {
"type": "string",
@@ -3317,6 +4693,10 @@
"description": "[Deprecated] This property is deprecated and will never be populated with any relevant values.",
"format": "int32"
},
+ "isSharedCpu": {
+ "type": "boolean",
+ "description": "[Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information."
+ },
"kind": {
"type": "string",
"description": "[Output Only] The type of the resource. Always compute#machineType for machine types.",
@@ -3450,6 +4830,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -3459,6 +4840,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -3478,6 +4860,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -3512,10 +4896,11 @@
"properties": {
"currentAction": {
"type": "string",
- "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. \n- CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's target_size value is decreased. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. \n- RESTARTING The managed instance group is restarting the instance. \n- REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.",
+ "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. \n- CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased instead. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. \n- RESTARTING The managed instance group is restarting the instance. \n- REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.",
"enum": [
"ABANDONING",
"CREATING",
+ "CREATING_WITHOUT_RETRIES",
"DELETING",
"NONE",
"RECREATING",
@@ -3529,6 +4914,7 @@
"",
"",
"",
+ "",
""
]
},
@@ -3714,6 +5100,13 @@
]
}
},
+ "peerings": {
+ "type": "array",
+ "description": "[Output Only] List of network peerings for the resource.",
+ "items": {
+ "$ref": "NetworkPeering"
+ }
+ },
"selfLink": {
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
@@ -3734,27 +5127,27 @@
"properties": {
"accessConfigs": {
"type": "array",
- "description": "An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.",
+ "description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.",
"items": {
"$ref": "AccessConfig"
}
},
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.",
+ "default": "compute#networkInterface"
+ },
"name": {
"type": "string",
"description": "[Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc."
},
"network": {
"type": "string",
- "description": "URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used:\n\nglobal/networks/default \n\nIf you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/global/networks/network \n- projects/project/global/networks/network \n- global/networks/default",
- "annotations": {
- "required": [
- "compute.instances.insert"
- ]
- }
+ "description": "URL of the network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used; if the network is not specified but the subnetwork is specified, the network is inferred.\n\nThis field is optional when creating a firewall rule. If not specified when creating a firewall rule, the default network global/networks/default is used.\n\nIf you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: \n- https://www.googleapis.com/compute/v1/projects/project/global/networks/network \n- projects/project/global/networks/network \n- global/networks/default"
},
"networkIP": {
"type": "string",
- "description": "An IPV4 internal network address to assign to the instance for this network interface. If not specified by user an unused internal IP is assigned by system."
+ "description": "An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system."
},
"subnetwork": {
"type": "string",
@@ -3789,7 +5182,70 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] Server-defined URL for this resource ."
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "NetworkPeering": {
+ "id": "NetworkPeering",
+ "type": "object",
+ "description": "A network peering attached to a network resource. The message includes the peering name, peer network, peering state, and a flag indicating whether Google Compute Engine should automatically create routes for the peering.",
+ "properties": {
+ "autoCreateRoutes": {
+ "type": "boolean",
+ "description": "Whether full mesh connectivity is created and managed automatically. When it is set to true, Google Compute Engine will automatically create and manage the routes between two networks when the state is ACTIVE. Otherwise, user needs to create routes manually to route packets to peer network."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of this peering. Provided by the client when the peering is created. The name must comply with RFC1035. Specifically, the name must be 1-63 characters long and match regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all the following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash."
+ },
+ "network": {
+ "type": "string",
+ "description": "The URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network."
+ },
+ "state": {
+ "type": "string",
+ "description": "[Output Only] State for the peering.",
+ "enum": [
+ "ACTIVE",
+ "INACTIVE"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "stateDetails": {
+ "type": "string",
+ "description": "[Output Only] Details about the current state of the peering."
+ }
+ }
+ },
+ "NetworksAddPeeringRequest": {
+ "id": "NetworksAddPeeringRequest",
+ "type": "object",
+ "properties": {
+ "autoCreateRoutes": {
+ "type": "boolean",
+ "description": "Whether Google Compute Engine manages the routes automatically."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the peering, which should conform to RFC1035."
+ },
+ "peerNetwork": {
+ "type": "string",
+ "description": "URL of the peer network. It can be either full URL or partial URL. The peer network may belong to a different project. If the partial URL does not contain project, it is assumed that the peer network is in the same project as the current network."
+ }
+ }
+ },
+ "NetworksRemovePeeringRequest": {
+ "id": "NetworksRemovePeeringRequest",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the peering, which should conform to RFC1035."
}
}
},
@@ -3804,7 +5260,7 @@
},
"creationTimestamp": {
"type": "string",
- "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ "description": "[Deprecated] This field is deprecated."
},
"description": {
"type": "string",
@@ -3914,7 +5370,7 @@
},
"targetLink": {
"type": "string",
- "description": "[Output Only] The URL of the resource that the operation modifies."
+ "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from."
},
"user": {
"type": "string",
@@ -3933,6 +5389,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -3942,6 +5399,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -3961,6 +5419,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -4078,6 +5538,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -4087,6 +5548,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -4106,6 +5568,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -4191,6 +5655,10 @@
"type": "string",
"description": "[Output Only] Creation timestamp in RFC3339 text format."
},
+ "defaultServiceAccount": {
+ "type": "string",
+ "description": "[Output Only] Default service account used by VMs running in this project."
+ },
"description": {
"type": "string",
"description": "An optional textual description of the resource."
@@ -4230,6 +5698,70 @@
"usageExportLocation": {
"$ref": "UsageExportLocation",
"description": "The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored."
+ },
+ "xpnProjectStatus": {
+ "type": "string",
+ "description": "[Output Only] The role this project has in a Cross Project Network (XPN) configuration. Currently only HOST projects are differentiated.",
+ "enum": [
+ "HOST",
+ "UNSPECIFIED_XPN_PROJECT_STATUS"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ }
+ }
+ },
+ "ProjectsDisableXpnResourceRequest": {
+ "id": "ProjectsDisableXpnResourceRequest",
+ "type": "object",
+ "properties": {
+ "xpnResource": {
+ "$ref": "XpnResourceId",
+ "description": "XPN resource ID."
+ }
+ }
+ },
+ "ProjectsEnableXpnResourceRequest": {
+ "id": "ProjectsEnableXpnResourceRequest",
+ "type": "object",
+ "properties": {
+ "xpnResource": {
+ "$ref": "XpnResourceId",
+ "description": "XPN resource ID."
+ }
+ }
+ },
+ "ProjectsGetXpnResources": {
+ "id": "ProjectsGetXpnResources",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#projectsGetXpnResources for lists of XPN resources.",
+ "default": "compute#projectsGetXpnResources"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "resources": {
+ "type": "array",
+ "description": "XPN resources attached to this project as their XPN host.",
+ "items": {
+ "$ref": "XpnResourceId"
+ }
+ }
+ }
+ },
+ "ProjectsListXpnHostsRequest": {
+ "id": "ProjectsListXpnHostsRequest",
+ "type": "object",
+ "properties": {
+ "organization": {
+ "type": "string",
+ "description": "Optional organization ID managed by Cloud Resource Manager, for which to list XPN host projects. If not specified, the organization will be inferred from the project."
}
}
},
@@ -4248,8 +5780,11 @@
"description": "[Output Only] Name of the quota metric.",
"enum": [
"AUTOSCALERS",
+ "BACKEND_BUCKETS",
"BACKEND_SERVICES",
+ "COMMITMENTS",
"CPUS",
+ "CPUS_ALL_REGIONS",
"DISKS_TOTAL_GB",
"FIREWALLS",
"FORWARDING_RULES",
@@ -4262,6 +5797,11 @@
"IN_USE_ADDRESSES",
"LOCAL_SSD_TOTAL_GB",
"NETWORKS",
+ "NVIDIA_K80_GPUS",
+ "PREEMPTIBLE_CPUS",
+ "REGIONAL_AUTOSCALERS",
+ "REGIONAL_INSTANCE_GROUP_MANAGERS",
+ "ROUTERS",
"ROUTES",
"SNAPSHOTS",
"SSD_TOTAL_GB",
@@ -4272,6 +5812,7 @@
"TARGET_HTTP_PROXIES",
"TARGET_INSTANCES",
"TARGET_POOLS",
+ "TARGET_SSL_PROXIES",
"TARGET_VPN_GATEWAYS",
"URL_MAPS",
"VPN_TUNNELS"
@@ -4304,6 +5845,15 @@
"",
"",
"",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
""
]
},
@@ -4377,6 +5927,250 @@
}
}
},
+ "RegionAutoscalerList": {
+ "id": "RegionAutoscalerList",
+ "type": "object",
+ "description": "Contains a list of autoscalers.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of autoscalers.",
+ "items": {
+ "$ref": "Autoscaler"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#regionAutoscalerList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] A token used to continue a truncated list request."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "RegionInstanceGroupList": {
+ "id": "RegionInstanceGroupList",
+ "type": "object",
+ "description": "Contains a list of InstanceGroup resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of InstanceGroup resources.",
+ "items": {
+ "$ref": "InstanceGroup"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource type.",
+ "default": "compute#regionInstanceGroupList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] The URL for this resource type. The server generates this URL."
+ }
+ }
+ },
+ "RegionInstanceGroupManagerList": {
+ "id": "RegionInstanceGroupManagerList",
+ "type": "object",
+ "description": "Contains a list of managed instance groups.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of managed instance groups.",
+ "items": {
+ "$ref": "InstanceGroupManager"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups that exist in th regional scope.",
+ "default": "compute#regionInstanceGroupManagerList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output only] A token used to continue a truncated list request."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output only] The URL for this resource type. The server generates this URL."
+ }
+ }
+ },
+ "RegionInstanceGroupManagersAbandonInstancesRequest": {
+ "id": "RegionInstanceGroupManagersAbandonInstancesRequest",
+ "type": "object",
+ "properties": {
+ "instances": {
+ "type": "array",
+ "description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegionInstanceGroupManagersDeleteInstancesRequest": {
+ "id": "RegionInstanceGroupManagersDeleteInstancesRequest",
+ "type": "object",
+ "properties": {
+ "instances": {
+ "type": "array",
+ "description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegionInstanceGroupManagersListInstancesResponse": {
+ "id": "RegionInstanceGroupManagersListInstancesResponse",
+ "type": "object",
+ "properties": {
+ "managedInstances": {
+ "type": "array",
+ "description": "List of managed instances.",
+ "items": {
+ "$ref": "ManagedInstance"
+ }
+ }
+ }
+ },
+ "RegionInstanceGroupManagersRecreateRequest": {
+ "id": "RegionInstanceGroupManagersRecreateRequest",
+ "type": "object",
+ "properties": {
+ "instances": {
+ "type": "array",
+ "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegionInstanceGroupManagersSetTargetPoolsRequest": {
+ "id": "RegionInstanceGroupManagersSetTargetPoolsRequest",
+ "type": "object",
+ "properties": {
+ "fingerprint": {
+ "type": "string",
+ "description": "Fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when you update the target pool entries. This field is optional.",
+ "format": "byte"
+ },
+ "targetPools": {
+ "type": "array",
+ "description": "The URL of all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegionInstanceGroupManagersSetTemplateRequest": {
+ "id": "RegionInstanceGroupManagersSetTemplateRequest",
+ "type": "object",
+ "properties": {
+ "instanceTemplate": {
+ "type": "string",
+ "description": "URL of the InstanceTemplate resource from which all new instances will be created."
+ }
+ }
+ },
+ "RegionInstanceGroupsListInstances": {
+ "id": "RegionInstanceGroupsListInstances",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] Unique identifier for the resource. Defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of instances and any named ports that are assigned to those instances.",
+ "items": {
+ "$ref": "InstanceWithNamedPorts"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "The resource type.",
+ "default": "compute#regionInstanceGroupsListInstances"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ }
+ }
+ },
+ "RegionInstanceGroupsListInstancesRequest": {
+ "id": "RegionInstanceGroupsListInstancesRequest",
+ "type": "object",
+ "properties": {
+ "instanceState": {
+ "type": "string",
+ "description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.",
+ "enum": [
+ "ALL",
+ "RUNNING"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "portName": {
+ "type": "string",
+ "description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ }
+ }
+ },
+ "RegionInstanceGroupsSetNamedPortsRequest": {
+ "id": "RegionInstanceGroupsSetNamedPortsRequest",
+ "type": "object",
+ "properties": {
+ "fingerprint": {
+ "type": "string",
+ "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.",
+ "format": "byte"
+ },
+ "namedPorts": {
+ "type": "array",
+ "description": "The list of named ports to set for this instance group.",
+ "items": {
+ "$ref": "NamedPort"
+ }
+ }
+ }
+ },
"RegionList": {
"id": "RegionList",
"type": "object",
@@ -4408,20 +6202,46 @@
}
}
},
+ "ResourceCommitment": {
+ "id": "ResourceCommitment",
+ "type": "object",
+ "description": "Commitment for a particular resource (a Commitment is composed of one or more of these).",
+ "properties": {
+ "amount": {
+ "type": "string",
+ "description": "The amount of the resource purchased (in a type-dependent unit, such as bytes). For vCPUs, this can just be an integer. For memory, this must be provided in MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every vCPU.",
+ "format": "int64"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of resource for which this commitment applies. Possible values are VCPU and MEMORY",
+ "enum": [
+ "MEMORY",
+ "UNSPECIFIED",
+ "VCPU"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ }
+ }
+ },
"ResourceGroupReference": {
"id": "ResourceGroupReference",
"type": "object",
"properties": {
"group": {
"type": "string",
- "description": "A URI referencing one of the resource views listed in the backend service."
+ "description": "A URI referencing one of the instance groups listed in the backend service."
}
}
},
"Route": {
"id": "Route",
"type": "object",
- "description": "Represents a Route resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.\n\nFor each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway.\n\nPackets that do not match any route in the sending instance's routing table are dropped.",
+ "description": "Represents a Route resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.\n\nFor each packet leaving an instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, an instance gateway, or a Google Compute Engine-operated gateway.\n\nPackets that do not match any route in the sending instance's routing table are dropped.",
"properties": {
"creationTimestamp": {
"type": "string",
@@ -4433,7 +6253,7 @@
},
"destRange": {
"type": "string",
- "description": "The destination range of outgoing packets that this route applies to.",
+ "description": "The destination range of outgoing packets that this route applies to. Only IPv4 is supported.",
"annotations": {
"required": [
"compute.routes.insert"
@@ -4479,12 +6299,16 @@
},
"nextHopIp": {
"type": "string",
- "description": "The network IP address of an instance that should handle matching packets."
+ "description": "The network IP address of an instance that should handle matching packets. Only IPv4 is supported."
},
"nextHopNetwork": {
"type": "string",
"description": "The URL of the local network if it should handle matching packets."
},
+ "nextHopPeering": {
+ "type": "string",
+ "description": "[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035."
+ },
"nextHopVpnTunnel": {
"type": "string",
"description": "The URL to a VpnTunnel that should handle matching packets."
@@ -4528,6 +6352,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -4537,6 +6362,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -4556,6 +6382,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -4616,6 +6444,433 @@
}
}
},
+ "Router": {
+ "id": "Router",
+ "type": "object",
+ "description": "Router resource.",
+ "properties": {
+ "bgp": {
+ "$ref": "RouterBgp",
+ "description": "BGP information specific to this router."
+ },
+ "bgpPeers": {
+ "type": "array",
+ "description": "BGP information that needs to be configured into the routing stack to establish the BGP peering. It must specify peer ASN and either interface name, IP, or peer IP. Please refer to RFC4273.",
+ "items": {
+ "$ref": "RouterBgpPeer"
+ }
+ },
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional description of this resource. Provide this property when you create the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "interfaces": {
+ "type": "array",
+ "description": "Router interfaces. Each interface requires either one linked resource (e.g. linkedVpnTunnel), or IP address and IP address range (e.g. ipRange), or both.",
+ "items": {
+ "$ref": "RouterInterface"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#router for routers.",
+ "default": "compute#router"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "annotations": {
+ "required": [
+ "compute.routers.insert"
+ ]
+ }
+ },
+ "network": {
+ "type": "string",
+ "description": "URI of the network to which this router belongs.",
+ "annotations": {
+ "required": [
+ "compute.routers.insert"
+ ]
+ }
+ },
+ "region": {
+ "type": "string",
+ "description": "[Output Only] URI of the region where the router resides."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ }
+ }
+ },
+ "RouterAggregatedList": {
+ "id": "RouterAggregatedList",
+ "type": "object",
+ "description": "Contains a list of routers.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "object",
+ "description": "A map of scoped router lists.",
+ "additionalProperties": {
+ "$ref": "RoutersScopedList",
+ "description": "Name of the scope containing this set of routers."
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#routerAggregatedList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "RouterBgp": {
+ "id": "RouterBgp",
+ "type": "object",
+ "properties": {
+ "asn": {
+ "type": "integer",
+ "description": "Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN, either 16-bit or 32-bit. The value will be fixed for this router resource. All VPN tunnels that link to this router will have the same local ASN.",
+ "format": "uint32"
+ }
+ }
+ },
+ "RouterBgpPeer": {
+ "id": "RouterBgpPeer",
+ "type": "object",
+ "properties": {
+ "advertisedRoutePriority": {
+ "type": "integer",
+ "description": "The priority of routes advertised to this BGP peer. In the case where there is more than one matching route of maximum length, the routes with lowest priority value win.",
+ "format": "uint32"
+ },
+ "interfaceName": {
+ "type": "string",
+ "description": "Name of the interface the BGP peer is associated with."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "IP address of the interface inside Google Cloud Platform. Only IPv4 is supported."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of this BGP peer. The name must be 1-63 characters long and comply with RFC1035.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "peerAsn": {
+ "type": "integer",
+ "description": "Peer BGP Autonomous System Number (ASN). For VPN use case, this value can be different for every tunnel.",
+ "format": "uint32"
+ },
+ "peerIpAddress": {
+ "type": "string",
+ "description": "IP address of the BGP interface outside Google cloud. Only IPv4 is supported."
+ }
+ }
+ },
+ "RouterInterface": {
+ "id": "RouterInterface",
+ "type": "object",
+ "properties": {
+ "ipRange": {
+ "type": "string",
+ "description": "IP address and range of the interface. The IP range must be in the RFC3927 link-local IP space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface."
+ },
+ "linkedVpnTunnel": {
+ "type": "string",
+ "description": "URI of the linked VPN tunnel. It must be in the same region as the router. Each interface can have at most one linked resource and it could either be a VPN Tunnel or an interconnect attachment."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of this interface entry. The name must be 1-63 characters long and comply with RFC1035.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ }
+ }
+ },
+ "RouterList": {
+ "id": "RouterList",
+ "type": "object",
+ "description": "Contains a list of Router resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of Router resources.",
+ "items": {
+ "$ref": "Router"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#router for routers.",
+ "default": "compute#routerList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "RouterStatus": {
+ "id": "RouterStatus",
+ "type": "object",
+ "properties": {
+ "bestRoutes": {
+ "type": "array",
+ "description": "Best routes for this router's network.",
+ "items": {
+ "$ref": "Route"
+ }
+ },
+ "bestRoutesForRouter": {
+ "type": "array",
+ "description": "Best routes learned by this router.",
+ "items": {
+ "$ref": "Route"
+ }
+ },
+ "bgpPeerStatus": {
+ "type": "array",
+ "items": {
+ "$ref": "RouterStatusBgpPeerStatus"
+ }
+ },
+ "network": {
+ "type": "string",
+ "description": "URI of the network to which this router belongs."
+ }
+ }
+ },
+ "RouterStatusBgpPeerStatus": {
+ "id": "RouterStatusBgpPeerStatus",
+ "type": "object",
+ "properties": {
+ "advertisedRoutes": {
+ "type": "array",
+ "description": "Routes that were advertised to the remote BGP peer",
+ "items": {
+ "$ref": "Route"
+ }
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "IP address of the local BGP interface."
+ },
+ "linkedVpnTunnel": {
+ "type": "string",
+ "description": "URL of the VPN tunnel that this BGP peer controls."
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of this BGP peer. Unique within the Routers resource."
+ },
+ "numLearnedRoutes": {
+ "type": "integer",
+ "description": "Number of routes learned from the remote BGP Peer.",
+ "format": "uint32"
+ },
+ "peerIpAddress": {
+ "type": "string",
+ "description": "IP address of the remote BGP interface."
+ },
+ "state": {
+ "type": "string",
+ "description": "BGP state as specified in RFC1771."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the BGP peer: {UP, DOWN}",
+ "enum": [
+ "DOWN",
+ "UNKNOWN",
+ "UP"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ ""
+ ]
+ },
+ "uptime": {
+ "type": "string",
+ "description": "Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds"
+ },
+ "uptimeSeconds": {
+ "type": "string",
+ "description": "Time this session has been up, in seconds. Format: 145"
+ }
+ }
+ },
+ "RouterStatusResponse": {
+ "id": "RouterStatusResponse",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#routerStatusResponse"
+ },
+ "result": {
+ "$ref": "RouterStatus"
+ }
+ }
+ },
+ "RoutersPreviewResponse": {
+ "id": "RoutersPreviewResponse",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "$ref": "Router",
+ "description": "Preview of given router."
+ }
+ }
+ },
+ "RoutersScopedList": {
+ "id": "RoutersScopedList",
+ "type": "object",
+ "properties": {
+ "routers": {
+ "type": "array",
+ "description": "List of routers contained in this scope.",
+ "items": {
+ "$ref": "Router"
+ }
+ },
+ "warning": {
+ "type": "object",
+ "description": "Informational warning which replaces the list of routers when the list is empty.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.",
+ "enum": [
+ "CLEANUP_FAILED",
+ "DEPRECATED_RESOURCE_USED",
+ "DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
+ "INJECTED_KERNELS_DEPRECATED",
+ "NEXT_HOP_ADDRESS_NOT_ASSIGNED",
+ "NEXT_HOP_CANNOT_IP_FORWARD",
+ "NEXT_HOP_INSTANCE_NOT_FOUND",
+ "NEXT_HOP_INSTANCE_NOT_ON_NETWORK",
+ "NEXT_HOP_NOT_RUNNING",
+ "NOT_CRITICAL_ERROR",
+ "NO_RESULTS_ON_PAGE",
+ "REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
+ "RESOURCE_NOT_DELETED",
+ "SINGLE_INSTANCE_PROPERTY_TEMPLATE",
+ "UNREACHABLE"
+ ],
+ "enumDescriptions": [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "data": {
+ "type": "array",
+ "description": "[Output Only] Metadata about this warning in key: value format. For example:\n\"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" }",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding)."
+ },
+ "value": {
+ "type": "string",
+ "description": "[Output Only] A warning data value corresponding to the key."
+ }
+ }
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "[Output Only] A human-readable description of the warning code."
+ }
+ }
+ }
+ }
+ },
+ "SSLHealthCheck": {
+ "id": "SSLHealthCheck",
+ "type": "object",
+ "properties": {
+ "port": {
+ "type": "integer",
+ "description": "The TCP port number for the health check request. The default value is 443. Valid values are 1 through 65535.",
+ "format": "int32"
+ },
+ "portName": {
+ "type": "string",
+ "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence."
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "request": {
+ "type": "string",
+ "description": "The application data to send once the SSL connection has been established (default value is empty). If both request and response are empty, the connection establishment alone will indicate health. The request data can only be ASCII."
+ },
+ "response": {
+ "type": "string",
+ "description": "The bytes to match against the beginning of the response data. If left empty (the default value), any response will indicate health. The response data can only be ASCII."
+ }
+ }
+ },
"Scheduling": {
"id": "Scheduling",
"type": "object",
@@ -4623,7 +6878,7 @@
"properties": {
"automaticRestart": {
"type": "boolean",
- "description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted."
+ "description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted.\n\nBy default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine."
},
"onHostMaintenance": {
"type": "string",
@@ -4639,7 +6894,7 @@
},
"preemptible": {
"type": "boolean",
- "description": "Whether the instance is preemptible."
+ "description": "Defines whether the instance is preemptible. This can only be set during instance creation, it cannot be set or changed after the instance has been created."
}
}
},
@@ -4657,9 +6912,19 @@
"description": "[Output Only] Type of the resource. Always compute#serialPortOutput for serial port output.",
"default": "compute#serialPortOutput"
},
+ "next": {
+ "type": "string",
+ "description": "[Output Only] The position of the next byte of content from the serial console output. Use this value in the next request as the start parameter.",
+ "format": "int64"
+ },
"selfLink": {
"type": "string",
- "description": "[Output Only] Server-defined URL for the resource."
+ "description": "[Output Only] Server-defined URL for this resource."
+ },
+ "start": {
+ "type": "string",
+ "description": "The starting byte position of the output that was returned. This should match the start parameter sent with the request. If the serial console output exceeds the size of the buffer, older output will be overwritten by newer content and the start values will be mismatched.",
+ "format": "int64"
}
}
},
@@ -4709,6 +6974,18 @@
"description": "[Output Only] Type of the resource. Always compute#snapshot for Snapshot resources.",
"default": "compute#snapshot"
},
+ "labelFingerprint": {
+ "type": "string",
+ "description": "A fingerprint for the labels being applied to this snapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels.\n\nTo see the latest fingerprint, make a get() request to retrieve a snapshot.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
"licenses": {
"type": "array",
"description": "[Output Only] A list of public visible licenses that apply to this snapshot. This can be because the original image had licenses attached (such as a Windows image).",
@@ -4725,10 +7002,18 @@
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
},
+ "snapshotEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "Encrypts the snapshot using a customer-supplied encryption key.\n\nAfter you encrypt a snapshot using a customer-supplied key, you must provide the same key if you use the image later For example, you must provide the encryption key when you create a disk from the encrypted snapshot in a future request.\n\nCustomer-supplied encryption keys do not protect access to metadata of the disk.\n\nIf you do not provide an encryption key when creating the snapshot, then the snapshot will be encrypted using an automatically generated key and you do not need to provide a key to use the snapshot later."
+ },
"sourceDisk": {
"type": "string",
"description": "[Output Only] The source disk used to create this snapshot."
},
+ "sourceDiskEncryptionKey": {
+ "$ref": "CustomerEncryptionKey",
+ "description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key."
+ },
"sourceDiskId": {
"type": "string",
"description": "[Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name."
@@ -4835,7 +7120,7 @@
},
"privateKey": {
"type": "string",
- "description": "A write-only private key in PEM format. Only insert RPCs will include this field."
+ "description": "A write-only private key in PEM format. Only insert requests will include this field."
},
"selfLink": {
"type": "string",
@@ -4885,11 +7170,11 @@
},
"description": {
"type": "string",
- "description": "An optional description of this resource. Provide this property when you create the resource."
+ "description": "An optional description of this resource. Provide this property when you create the resource. This field can be set only at resource creation time."
},
"gatewayAddress": {
"type": "string",
- "description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork."
+ "description": "[Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. This field can be set only at resource creation time."
},
"id": {
"type": "string",
@@ -4898,7 +7183,7 @@
},
"ipCidrRange": {
"type": "string",
- "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network."
+ "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field can be set only at resource creation time."
},
"kind": {
"type": "string",
@@ -4912,11 +7197,15 @@
},
"network": {
"type": "string",
- "description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks."
+ "description": "The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. This field can be set only at resource creation time."
+ },
+ "privateIpGoogleAccess": {
+ "type": "boolean",
+ "description": "Whether the VMs in this subnet can access Google services without assigned external IP addresses. This field can be both set at resource creation time and updated using setPrivateIpGoogleAccess."
},
"region": {
"type": "string",
- "description": "URL of the region where the Subnetwork resides."
+ "description": "URL of the region where the Subnetwork resides. This field can be set only at resource creation time."
},
"selfLink": {
"type": "string",
@@ -4986,6 +7275,16 @@
}
}
},
+ "SubnetworksExpandIpCidrRangeRequest": {
+ "id": "SubnetworksExpandIpCidrRangeRequest",
+ "type": "object",
+ "properties": {
+ "ipCidrRange": {
+ "type": "string",
+ "description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update."
+ }
+ }
+ },
"SubnetworksScopedList": {
"id": "SubnetworksScopedList",
"type": "object",
@@ -5008,6 +7307,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -5017,6 +7317,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -5036,6 +7337,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -5064,6 +7367,50 @@
}
}
},
+ "SubnetworksSetPrivateIpGoogleAccessRequest": {
+ "id": "SubnetworksSetPrivateIpGoogleAccessRequest",
+ "type": "object",
+ "properties": {
+ "privateIpGoogleAccess": {
+ "type": "boolean"
+ }
+ }
+ },
+ "TCPHealthCheck": {
+ "id": "TCPHealthCheck",
+ "type": "object",
+ "properties": {
+ "port": {
+ "type": "integer",
+ "description": "The TCP port number for the health check request. The default value is 80. Valid values are 1 through 65535.",
+ "format": "int32"
+ },
+ "portName": {
+ "type": "string",
+ "description": "Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name are defined, port takes precedence."
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "request": {
+ "type": "string",
+ "description": "The application data to send once the TCP connection has been established (default value is empty). If both request and response are empty, the connection establishment alone will indicate health. The request data can only be ASCII."
+ },
+ "response": {
+ "type": "string",
+ "description": "The bytes to match against the beginning of the response data. If left empty (the default value), any response will indicate health. The response data can only be ASCII."
+ }
+ }
+ },
"Tags": {
"id": "Tags",
"type": "object",
@@ -5377,6 +7724,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -5386,6 +7734,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -5405,6 +7754,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -5436,7 +7787,7 @@
"TargetPool": {
"id": "TargetPool",
"type": "object",
- "description": "A TargetPool resource. This resource defines a pool of instances, associated HttpHealthCheck resources, and the fallback target pool.",
+ "description": "A TargetPool resource. This resource defines a pool of instances, an associated HttpHealthCheck resource, and the fallback target pool.",
"properties": {
"backupPool": {
"type": "string",
@@ -5457,7 +7808,7 @@
},
"healthChecks": {
"type": "array",
- "description": "A list of URLs to the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member instances will be considered healthy at all times.",
+ "description": "The URL of the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if the health checks pass. An empty list means all member instances will be considered healthy at all times. Only HttpHealthChecks are supported. Only one health check may be specified.",
"items": {
"type": "string"
}
@@ -5497,12 +7848,16 @@
"description": "Sesssion affinity option, must be one of the following values:\nNONE: Connections from the same client IP may go to any instance in the pool.\nCLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy.\nCLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.",
"enum": [
"CLIENT_IP",
+ "CLIENT_IP_PORT_PROTO",
"CLIENT_IP_PROTO",
+ "GENERATED_COOKIE",
"NONE"
],
"enumDescriptions": [
"",
"",
+ "",
+ "",
""
]
}
@@ -5593,7 +7948,7 @@
"properties": {
"healthChecks": {
"type": "array",
- "description": "A list of HttpHealthCheck resources to add to the target pool.",
+ "description": "The HttpHealthCheck to add to the target pool.",
"items": {
"$ref": "HealthCheckReference"
}
@@ -5661,6 +8016,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -5670,6 +8026,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -5689,6 +8046,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -5726,6 +8085,244 @@
}
}
},
+ "TargetSslProxiesSetBackendServiceRequest": {
+ "id": "TargetSslProxiesSetBackendServiceRequest",
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "string",
+ "description": "The URL of the new BackendService resource for the targetSslProxy."
+ }
+ }
+ },
+ "TargetSslProxiesSetProxyHeaderRequest": {
+ "id": "TargetSslProxiesSetProxyHeaderRequest",
+ "type": "object",
+ "properties": {
+ "proxyHeader": {
+ "type": "string",
+ "description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ }
+ }
+ },
+ "TargetSslProxiesSetSslCertificatesRequest": {
+ "id": "TargetSslProxiesSetSslCertificatesRequest",
+ "type": "object",
+ "properties": {
+ "sslCertificates": {
+ "type": "array",
+ "description": "New set of URLs to SslCertificate resources to associate with this TargetSslProxy. Currently exactly one ssl certificate must be specified.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TargetSslProxy": {
+ "id": "TargetSslProxy",
+ "type": "object",
+ "description": "A TargetSslProxy resource. This resource defines an SSL proxy.",
+ "properties": {
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional description of this resource. Provide this property when you create the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of the resource. Always compute#targetSslProxy for target SSL proxies.",
+ "default": "compute#targetSslProxy"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ },
+ "service": {
+ "type": "string",
+ "description": "URL to the BackendService resource."
+ },
+ "sslCertificates": {
+ "type": "array",
+ "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. Currently exactly one SSL certificate must be specified.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TargetSslProxyList": {
+ "id": "TargetSslProxyList",
+ "type": "object",
+ "description": "Contains a list of TargetSslProxy resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of TargetSslProxy resources.",
+ "items": {
+ "$ref": "TargetSslProxy"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#targetSslProxyList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "TargetTcpProxiesSetBackendServiceRequest": {
+ "id": "TargetTcpProxiesSetBackendServiceRequest",
+ "type": "object",
+ "properties": {
+ "service": {
+ "type": "string",
+ "description": "The URL of the new BackendService resource for the targetTcpProxy."
+ }
+ }
+ },
+ "TargetTcpProxiesSetProxyHeaderRequest": {
+ "id": "TargetTcpProxiesSetProxyHeaderRequest",
+ "type": "object",
+ "properties": {
+ "proxyHeader": {
+ "type": "string",
+ "description": "The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ }
+ }
+ },
+ "TargetTcpProxy": {
+ "id": "TargetTcpProxy",
+ "type": "object",
+ "description": "A TargetTcpProxy resource. This resource defines a TCP proxy.",
+ "properties": {
+ "creationTimestamp": {
+ "type": "string",
+ "description": "[Output Only] Creation timestamp in RFC3339 text format."
+ },
+ "description": {
+ "type": "string",
+ "description": "An optional description of this resource. Provide this property when you create the resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.",
+ "format": "uint64"
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of the resource. Always compute#targetTcpProxy for target TCP proxies.",
+ "default": "compute#targetTcpProxy"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?"
+ },
+ "proxyHeader": {
+ "type": "string",
+ "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.",
+ "enum": [
+ "NONE",
+ "PROXY_V1"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for the resource."
+ },
+ "service": {
+ "type": "string",
+ "description": "URL to the BackendService resource."
+ }
+ }
+ },
+ "TargetTcpProxyList": {
+ "id": "TargetTcpProxyList",
+ "type": "object",
+ "description": "Contains a list of TargetTcpProxy resources.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "A list of TargetTcpProxy resources.",
+ "items": {
+ "$ref": "TargetTcpProxy"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "Type of resource.",
+ "default": "compute#targetTcpProxyList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
"TargetVpnGateway": {
"id": "TargetVpnGateway",
"type": "object",
@@ -5835,7 +8432,7 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] Server-defined URL for the resource."
+ "description": "[Output Only] Server-defined URL for this resource."
}
}
},
@@ -5866,7 +8463,7 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] Server-defined URL for the resource."
+ "description": "[Output Only] Server-defined URL for this resource."
}
}
},
@@ -5892,6 +8489,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -5901,6 +8499,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -5920,6 +8519,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -6023,7 +8624,7 @@
},
"tests": {
"type": "array",
- "description": "The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass.",
+ "description": "The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass.",
"items": {
"$ref": "UrlMapTest"
}
@@ -6187,7 +8788,7 @@
},
"localTrafficSelector": {
"type": "array",
- "description": "Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint.",
+ "description": "Local traffic selector to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported.",
"items": {
"type": "string"
}
@@ -6204,12 +8805,23 @@
},
"peerIp": {
"type": "string",
- "description": "IP address of the peer VPN gateway."
+ "description": "IP address of the peer VPN gateway. Only IPv4 is supported."
},
"region": {
"type": "string",
"description": "[Output Only] URL of the region where the VPN tunnel resides."
},
+ "remoteTrafficSelector": {
+ "type": "array",
+ "description": "Remote traffic selectors to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint. Only IPv4 is supported.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "router": {
+ "type": "string",
+ "description": "URL of router resource to be used for dynamic routing."
+ },
"selfLink": {
"type": "string",
"description": "[Output Only] Server-defined URL for the resource."
@@ -6323,7 +8935,7 @@
},
"selfLink": {
"type": "string",
- "description": "[Output Only] Server-defined URL for the resource."
+ "description": "[Output Only] Server-defined URL for this resource."
}
}
},
@@ -6349,6 +8961,7 @@
"CLEANUP_FAILED",
"DEPRECATED_RESOURCE_USED",
"DISK_SIZE_LARGER_THAN_IMAGE_SIZE",
+ "FIELD_VALUE_OVERRIDEN",
"INJECTED_KERNELS_DEPRECATED",
"NEXT_HOP_ADDRESS_NOT_ASSIGNED",
"NEXT_HOP_CANNOT_IP_FORWARD",
@@ -6358,6 +8971,7 @@
"NOT_CRITICAL_ERROR",
"NO_RESULTS_ON_PAGE",
"REQUIRED_TOS_AGREEMENT",
+ "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING",
"RESOURCE_NOT_DELETED",
"SINGLE_INSTANCE_PROPERTY_TEMPLATE",
"UNREACHABLE"
@@ -6377,6 +8991,8 @@
"",
"",
"",
+ "",
+ "",
""
]
},
@@ -6405,6 +9021,59 @@
}
}
},
+ "XpnHostList": {
+ "id": "XpnHostList",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server."
+ },
+ "items": {
+ "type": "array",
+ "description": "[Output Only] A list of XPN host project URLs.",
+ "items": {
+ "$ref": "Project"
+ }
+ },
+ "kind": {
+ "type": "string",
+ "description": "[Output Only] Type of resource. Always compute#xpnHostList for lists of XPN hosts.",
+ "default": "compute#xpnHostList"
+ },
+ "nextPageToken": {
+ "type": "string",
+ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results."
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "[Output Only] Server-defined URL for this resource."
+ }
+ }
+ },
+ "XpnResourceId": {
+ "id": "XpnResourceId",
+ "type": "object",
+ "description": "XpnResourceId",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the XPN resource. In the case of projects, this field matches the project's name, not the canonical ID."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the XPN resource.",
+ "enum": [
+ "PROJECT",
+ "XPN_RESOURCE_TYPE_UNSPECIFIED"
+ ],
+ "enumDescriptions": [
+ "",
+ ""
+ ]
+ }
+ }
+ },
"Zone": {
"id": "Zone",
"type": "object",
@@ -6488,9 +9157,179 @@
"description": "[Output Only] Server-defined URL for this resource."
}
}
+ },
+ "ZoneSetLabelsRequest": {
+ "id": "ZoneSetLabelsRequest",
+ "type": "object",
+ "properties": {
+ "labelFingerprint": {
+ "type": "string",
+ "description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. Make a get() request to the resource to get the latest fingerprint.",
+ "format": "byte"
+ },
+ "labels": {
+ "type": "object",
+ "description": "The labels to set for this resource.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
}
},
"resources": {
+ "acceleratorTypes": {
+ "methods": {
+ "aggregatedList": {
+ "id": "compute.acceleratorTypes.aggregatedList",
+ "path": "{project}/aggregated/acceleratorTypes",
+ "httpMethod": "GET",
+ "description": "Retrieves an aggregated list of accelerator types.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "AcceleratorTypeAggregatedList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "get": {
+ "id": "compute.acceleratorTypes.get",
+ "path": "{project}/zones/{zone}/acceleratorTypes/{acceleratorType}",
+ "httpMethod": "GET",
+ "description": "Returns the specified accelerator type. Get a list of available accelerator types by making a list() request.",
+ "parameters": {
+ "acceleratorType": {
+ "type": "string",
+ "description": "Name of the accelerator type to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "acceleratorType"
+ ],
+ "response": {
+ "$ref": "AcceleratorType"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "id": "compute.acceleratorTypes.list",
+ "path": "{project}/zones/{zone}/acceleratorTypes",
+ "httpMethod": "GET",
+ "description": "Retrieves a list of accelerator types available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone"
+ ],
+ "response": {
+ "$ref": "AcceleratorTypeList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
"addresses": {
"methods": {
"aggregatedList": {
@@ -6501,16 +9340,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -6522,7 +9365,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -6555,7 +9398,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -6596,7 +9439,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -6631,7 +9474,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -6665,16 +9508,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -6686,7 +9533,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -6722,16 +9569,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -6743,7 +9594,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -6776,7 +9627,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -6817,7 +9668,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -6852,7 +9703,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -6886,16 +9737,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -6907,7 +9762,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -6935,12 +9790,11 @@
"id": "compute.autoscalers.patch",
"path": "{project}/zones/{zone}/autoscalers",
"httpMethod": "PATCH",
- "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports patch semantics.",
+ "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
"parameters": {
"autoscaler": {
"type": "string",
- "description": "Name of the autoscaler to update.",
- "required": true,
+ "description": "Name of the autoscaler to patch.",
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "query"
},
@@ -6948,7 +9802,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -6961,8 +9815,7 @@
},
"parameterOrder": [
"project",
- "zone",
- "autoscaler"
+ "zone"
],
"request": {
"$ref": "Autoscaler"
@@ -6972,7 +9825,8 @@
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
"update": {
@@ -6991,7 +9845,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7019,8 +9873,278 @@
}
}
},
+ "backendBuckets": {
+ "methods": {
+ "delete": {
+ "id": "compute.backendBuckets.delete",
+ "path": "{project}/global/backendBuckets/{backendBucket}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified BackendBucket resource.",
+ "parameters": {
+ "backendBucket": {
+ "type": "string",
+ "description": "Name of the BackendBucket resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "backendBucket"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.backendBuckets.get",
+ "path": "{project}/global/backendBuckets/{backendBucket}",
+ "httpMethod": "GET",
+ "description": "Returns the specified BackendBucket resource. Get a list of available backend buckets by making a list() request.",
+ "parameters": {
+ "backendBucket": {
+ "type": "string",
+ "description": "Name of the BackendBucket resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "backendBucket"
+ ],
+ "response": {
+ "$ref": "BackendBucket"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.backendBuckets.insert",
+ "path": "{project}/global/backendBuckets",
+ "httpMethod": "POST",
+ "description": "Creates a BackendBucket resource in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "BackendBucket"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.backendBuckets.list",
+ "path": "{project}/global/backendBuckets",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of BackendBucket resources available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "BackendBucketList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "id": "compute.backendBuckets.patch",
+ "path": "{project}/global/backendBuckets/{backendBucket}",
+ "httpMethod": "PATCH",
+ "description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ "parameters": {
+ "backendBucket": {
+ "type": "string",
+ "description": "Name of the BackendBucket resource to patch.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "backendBucket"
+ ],
+ "request": {
+ "$ref": "BackendBucket"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "id": "compute.backendBuckets.update",
+ "path": "{project}/global/backendBuckets/{backendBucket}",
+ "httpMethod": "PUT",
+ "description": "Updates the specified BackendBucket resource with the data included in the request.",
+ "parameters": {
+ "backendBucket": {
+ "type": "string",
+ "description": "Name of the BackendBucket resource to update.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "backendBucket"
+ ],
+ "request": {
+ "$ref": "BackendBucket"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"backendServices": {
"methods": {
+ "aggregatedList": {
+ "id": "compute.backendServices.aggregatedList",
+ "path": "{project}/aggregated/backendServices",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Name of the project scoping this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "BackendServiceAggregatedList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
"delete": {
"id": "compute.backendServices.delete",
"path": "{project}/global/backendServices/{backendService}",
@@ -7038,7 +10162,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7071,7 +10195,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7104,7 +10228,7 @@
"project": {
"type": "string",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7134,7 +10258,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7160,16 +10284,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7181,7 +10309,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7201,11 +10329,11 @@
"id": "compute.backendServices.patch",
"path": "{project}/global/backendServices/{backendService}",
"httpMethod": "PATCH",
- "description": "Updates the entire content of the BackendService resource. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports patch semantics.",
+ "description": "Patches the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
"parameters": {
"backendService": {
"type": "string",
- "description": "Name of the BackendService resource to update.",
+ "description": "Name of the BackendService resource to patch.",
"required": true,
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
@@ -7214,7 +10342,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7230,14 +10358,15 @@
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
"update": {
"id": "compute.backendServices.update",
"path": "{project}/global/backendServices/{backendService}",
"httpMethod": "PUT",
- "description": "Updates the entire content of the BackendService resource. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
+ "description": "Updates the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
"parameters": {
"backendService": {
"type": "string",
@@ -7250,7 +10379,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7281,16 +10410,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7302,7 +10435,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7335,7 +10468,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7368,16 +10501,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7389,7 +10526,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7425,16 +10562,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7446,7 +10587,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7475,11 +10616,15 @@
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
},
+ "guestFlush": {
+ "type": "boolean",
+ "location": "query"
+ },
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7516,14 +10661,13 @@
"type": "string",
"description": "Name of the persistent disk to delete.",
"required": true,
- "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
},
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7564,7 +10708,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7599,7 +10743,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"sourceImage": {
@@ -7638,16 +10782,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7659,7 +10807,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7700,7 +10848,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -7726,6 +10874,50 @@
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
]
+ },
+ "setLabels": {
+ "id": "compute.disks.setLabels",
+ "path": "{project}/zones/{zone}/disks/{resource}/setLabels",
+ "httpMethod": "POST",
+ "description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Name of the resource for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "resource"
+ ],
+ "request": {
+ "$ref": "ZoneSetLabelsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
@@ -7748,7 +10940,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7781,7 +10973,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7808,7 +11000,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7834,16 +11026,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7855,7 +11051,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7875,7 +11071,7 @@
"id": "compute.firewalls.patch",
"path": "{project}/global/firewalls/{firewall}",
"httpMethod": "PATCH",
- "description": "Updates the specified firewall rule with the data included in the request. This method supports patch semantics.",
+ "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags. This method supports patch semantics.",
"parameters": {
"firewall": {
"type": "string",
@@ -7888,7 +11084,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7911,7 +11107,7 @@
"id": "compute.firewalls.update",
"path": "{project}/global/firewalls/{firewall}",
"httpMethod": "PUT",
- "description": "Updates the specified firewall rule with the data included in the request.",
+ "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags.",
"parameters": {
"firewall": {
"type": "string",
@@ -7924,7 +11120,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -7955,16 +11151,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -7976,7 +11176,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8009,7 +11209,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -8050,7 +11250,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -8085,7 +11285,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -8119,16 +11319,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8140,7 +11344,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -8181,7 +11385,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -8229,7 +11433,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8262,7 +11466,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8289,7 +11493,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8315,16 +11519,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8336,7 +11544,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8360,7 +11568,7 @@
"id": "compute.globalForwardingRules.delete",
"path": "{project}/global/forwardingRules/{forwardingRule}",
"httpMethod": "DELETE",
- "description": "Deletes the specified ForwardingRule resource.",
+ "description": "Deletes the specified GlobalForwardingRule resource.",
"parameters": {
"forwardingRule": {
"type": "string",
@@ -8373,7 +11581,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8393,7 +11601,7 @@
"id": "compute.globalForwardingRules.get",
"path": "{project}/global/forwardingRules/{forwardingRule}",
"httpMethod": "GET",
- "description": "Returns the specified ForwardingRule resource. Get a list of available forwarding rules by making a list() request.",
+ "description": "Returns the specified GlobalForwardingRule resource. Get a list of available forwarding rules by making a list() request.",
"parameters": {
"forwardingRule": {
"type": "string",
@@ -8406,7 +11614,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8427,13 +11635,13 @@
"id": "compute.globalForwardingRules.insert",
"path": "{project}/global/forwardingRules",
"httpMethod": "POST",
- "description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.",
+ "description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.",
"parameters": {
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8455,20 +11663,24 @@
"id": "compute.globalForwardingRules.list",
"path": "{project}/global/forwardingRules",
"httpMethod": "GET",
- "description": "Retrieves a list of ForwardingRule resources available to the specified project.",
+ "description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.",
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8480,7 +11692,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8500,7 +11712,7 @@
"id": "compute.globalForwardingRules.setTarget",
"path": "{project}/global/forwardingRules/{forwardingRule}/setTarget",
"httpMethod": "POST",
- "description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.",
+ "description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.",
"parameters": {
"forwardingRule": {
"type": "string",
@@ -8513,7 +11725,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8544,16 +11756,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8565,7 +11781,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8598,7 +11814,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8628,7 +11844,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8653,16 +11869,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8674,7 +11894,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8692,6 +11912,227 @@
}
}
},
+ "healthChecks": {
+ "methods": {
+ "delete": {
+ "id": "compute.healthChecks.delete",
+ "path": "{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified HealthCheck resource.",
+ "parameters": {
+ "healthCheck": {
+ "type": "string",
+ "description": "Name of the HealthCheck resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.healthChecks.get",
+ "path": "{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "GET",
+ "description": "Returns the specified HealthCheck resource. Get a list of available health checks by making a list() request.",
+ "parameters": {
+ "healthCheck": {
+ "type": "string",
+ "description": "Name of the HealthCheck resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "response": {
+ "$ref": "HealthCheck"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.healthChecks.insert",
+ "path": "{project}/global/healthChecks",
+ "httpMethod": "POST",
+ "description": "Creates a HealthCheck resource in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "HealthCheck"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.healthChecks.list",
+ "path": "{project}/global/healthChecks",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of HealthCheck resources available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "HealthCheckList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "id": "compute.healthChecks.patch",
+ "path": "{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "PATCH",
+ "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ "parameters": {
+ "healthCheck": {
+ "type": "string",
+ "description": "Name of the HealthCheck resource to patch.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "request": {
+ "$ref": "HealthCheck"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "id": "compute.healthChecks.update",
+ "path": "{project}/global/healthChecks/{healthCheck}",
+ "httpMethod": "PUT",
+ "description": "Updates a HealthCheck resource in the specified project using the data included in the request.",
+ "parameters": {
+ "healthCheck": {
+ "type": "string",
+ "description": "Name of the HealthCheck resource to update.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "healthCheck"
+ ],
+ "request": {
+ "$ref": "HealthCheck"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"httpHealthChecks": {
"methods": {
"delete": {
@@ -8711,7 +12152,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8744,7 +12185,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8771,7 +12212,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8797,16 +12238,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -8818,7 +12263,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8838,11 +12283,11 @@
"id": "compute.httpHealthChecks.patch",
"path": "{project}/global/httpHealthChecks/{httpHealthCheck}",
"httpMethod": "PATCH",
- "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.",
+ "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
"parameters": {
"httpHealthCheck": {
"type": "string",
- "description": "Name of the HttpHealthCheck resource to update.",
+ "description": "Name of the HttpHealthCheck resource to patch.",
"required": true,
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
@@ -8851,7 +12296,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8867,7 +12312,8 @@
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
"update": {
@@ -8887,7 +12333,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8927,7 +12373,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8960,7 +12406,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -8987,7 +12433,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9013,16 +12459,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -9034,7 +12484,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9054,11 +12504,11 @@
"id": "compute.httpsHealthChecks.patch",
"path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}",
"httpMethod": "PATCH",
- "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.",
+ "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
"parameters": {
"httpsHealthCheck": {
"type": "string",
- "description": "Name of the HttpsHealthCheck resource to update.",
+ "description": "Name of the HttpsHealthCheck resource to patch.",
"required": true,
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
@@ -9067,7 +12517,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9083,7 +12533,8 @@
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
"update": {
@@ -9103,7 +12554,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9143,7 +12594,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9176,7 +12627,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9212,7 +12663,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9237,7 +12688,7 @@
"parameters": {
"family": {
"type": "string",
- "description": "Name of the image resource to return.",
+ "description": "Name of the image family to search for.",
"required": true,
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
@@ -9246,7 +12697,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9269,11 +12720,16 @@
"httpMethod": "POST",
"description": "Creates an image in the specified project using the data included in the request.",
"parameters": {
+ "forceCreate": {
+ "type": "boolean",
+ "description": "Force image creation if true.",
+ "location": "query"
+ },
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9298,20 +12754,24 @@
"id": "compute.images.list",
"path": "{project}/global/images",
"httpMethod": "GET",
- "description": "Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 7. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.\n\nSee Accessing images for more information.",
+ "description": "Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.",
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -9323,7 +12783,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9338,6 +12798,42 @@
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/compute.readonly"
]
+ },
+ "setLabels": {
+ "id": "compute.images.setLabels",
+ "path": "{project}/global/images/{resource}/setLabels",
+ "httpMethod": "POST",
+ "description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Name of the resource for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "resource"
+ ],
+ "request": {
+ "$ref": "GlobalSetLabelsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
@@ -9347,7 +12843,7 @@
"id": "compute.instanceGroupManagers.abandonInstances",
"path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances",
"httpMethod": "POST",
- "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.",
+ "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"parameters": {
"instanceGroupManager": {
"type": "string",
@@ -9359,7 +12855,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9393,16 +12889,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -9414,7 +12914,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9446,7 +12946,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9473,7 +12973,7 @@
"id": "compute.instanceGroupManagers.deleteInstances",
"path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances",
"httpMethod": "POST",
- "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.",
+ "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"parameters": {
"instanceGroupManager": {
"type": "string",
@@ -9485,7 +12985,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9527,7 +13027,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9555,13 +13055,13 @@
"id": "compute.instanceGroupManagers.insert",
"path": "{project}/zones/{zone}/instanceGroupManagers",
"httpMethod": "POST",
- "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.",
+ "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.",
"parameters": {
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9594,16 +13094,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -9615,7 +13119,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9644,17 +13148,36 @@
"httpMethod": "POST",
"description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action.",
"parameters": {
+ "filter": {
+ "type": "string",
+ "location": "query"
+ },
"instanceGroupManager": {
"type": "string",
"description": "The name of the managed instance group.",
"required": true,
"location": "path"
},
+ "maxResults": {
+ "type": "integer",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "order_by": {
+ "type": "string",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "location": "query"
+ },
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9682,7 +13205,7 @@
"id": "compute.instanceGroupManagers.recreateInstances",
"path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances",
"httpMethod": "POST",
- "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.",
+ "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
"parameters": {
"instanceGroupManager": {
"type": "string",
@@ -9694,7 +13217,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9724,7 +13247,7 @@
"id": "compute.instanceGroupManagers.resize",
"path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize",
"httpMethod": "POST",
- "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.",
+ "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.",
"parameters": {
"instanceGroupManager": {
"type": "string",
@@ -9736,7 +13259,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"size": {
@@ -9783,7 +13306,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9825,7 +13348,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9871,7 +13394,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9905,16 +13428,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -9926,7 +13453,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -9958,7 +13485,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -9997,7 +13524,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10031,7 +13558,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10064,16 +13591,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -10085,7 +13616,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10116,7 +13647,7 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"instanceGroup": {
@@ -10127,11 +13658,15 @@
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -10143,7 +13678,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10174,7 +13709,7 @@
"id": "compute.instanceGroups.removeInstances",
"path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances",
"httpMethod": "POST",
- "description": "Removes one or more instances from the specified instance group, but does not delete those instances.",
+ "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.",
"parameters": {
"instanceGroup": {
"type": "string",
@@ -10186,7 +13721,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10228,7 +13763,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10275,7 +13810,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -10308,7 +13843,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -10335,7 +13870,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -10361,16 +13896,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -10382,7 +13921,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -10425,7 +13964,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10461,16 +14000,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -10482,7 +14025,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -10502,7 +14045,7 @@
"id": "compute.instances.attachDisk",
"path": "{project}/zones/{zone}/instances/{instance}/attachDisk",
"httpMethod": "POST",
- "description": "Attaches a Disk resource to an instance.",
+ "description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.",
"parameters": {
"instance": {
"type": "string",
@@ -10515,7 +14058,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10559,7 +14102,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10612,7 +14155,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10648,7 +14191,6 @@
"type": "string",
"description": "Disk device name to detach.",
"required": true,
- "pattern": "\\w[\\w.-]{0,254}",
"location": "query"
},
"instance": {
@@ -10662,7 +14204,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10704,7 +14246,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10755,9 +14297,15 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
+ "start": {
+ "type": "string",
+ "description": "Returns output starting from a specific byte position. Use this to page through output when the output is too large to return in a single request. For the initial request, leave this field unspecified. For subsequent calls, this field should be set to the next value returned in the previous call.",
+ "format": "int64",
+ "location": "query"
+ },
"zone": {
"type": "string",
"description": "The name of the zone for this request.",
@@ -10790,7 +14338,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10824,16 +14372,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -10845,7 +14397,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10873,7 +14425,7 @@
"id": "compute.instances.reset",
"path": "{project}/zones/{zone}/instances/{instance}/reset",
"httpMethod": "POST",
- "description": "Performs a hard reset on the instance.",
+ "description": "Performs a reset on the instance. For more information, see Resetting an instance.",
"parameters": {
"instance": {
"type": "string",
@@ -10886,7 +14438,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10940,7 +14492,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -10966,6 +14518,94 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "setLabels": {
+ "id": "compute.instances.setLabels",
+ "path": "{project}/zones/{zone}/instances/{instance}/setLabels",
+ "httpMethod": "POST",
+ "description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.",
+ "parameters": {
+ "instance": {
+ "type": "string",
+ "description": "Name of the instance scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "instance"
+ ],
+ "request": {
+ "$ref": "InstancesSetLabelsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setMachineResources": {
+ "id": "compute.instances.setMachineResources",
+ "path": "{project}/zones/{zone}/instances/{instance}/setMachineResources",
+ "httpMethod": "POST",
+ "description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.",
+ "parameters": {
+ "instance": {
+ "type": "string",
+ "description": "Name of the instance scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "instance"
+ ],
+ "request": {
+ "$ref": "InstancesSetMachineResourcesRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"setMachineType": {
"id": "compute.instances.setMachineType",
"path": "{project}/zones/{zone}/instances/{instance}/setMachineType",
@@ -10983,7 +14623,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11027,7 +14667,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11071,7 +14711,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11098,6 +14738,50 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "setServiceAccount": {
+ "id": "compute.instances.setServiceAccount",
+ "path": "{project}/zones/{zone}/instances/{instance}/setServiceAccount",
+ "httpMethod": "POST",
+ "description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.",
+ "parameters": {
+ "instance": {
+ "type": "string",
+ "description": "Name of the instance resource to start.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "instance"
+ ],
+ "request": {
+ "$ref": "InstancesSetServiceAccountRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"setTags": {
"id": "compute.instances.setTags",
"path": "{project}/zones/{zone}/instances/{instance}/setTags",
@@ -11115,7 +14799,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11159,7 +14843,48 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "zone": {
+ "type": "string",
+ "description": "The name of the zone for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "zone",
+ "instance"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "startWithEncryptionKey": {
+ "id": "compute.instances.startWithEncryptionKey",
+ "path": "{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey",
+ "httpMethod": "POST",
+ "description": "Starts an instance that was stopped using the using the instances().stop method. For more information, see Restart an instance.",
+ "parameters": {
+ "instance": {
+ "type": "string",
+ "description": "Name of the instance resource to start.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11175,6 +14900,9 @@
"zone",
"instance"
],
+ "request": {
+ "$ref": "InstancesStartWithEncryptionKeyRequest"
+ },
"response": {
"$ref": "Operation"
},
@@ -11200,7 +14928,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11232,7 +14960,7 @@
"id": "compute.licenses.get",
"path": "{project}/global/licenses/{license}",
"httpMethod": "GET",
- "description": "Returns the specified License resource. Get a list of available licenses by making a list() request.",
+ "description": "Returns the specified License resource.",
"parameters": {
"license": {
"type": "string",
@@ -11245,7 +14973,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11274,16 +15002,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -11295,7 +15027,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11328,7 +15060,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11361,16 +15093,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -11382,7 +15118,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -11410,6 +15146,42 @@
},
"networks": {
"methods": {
+ "addPeering": {
+ "id": "compute.networks.addPeering",
+ "path": "{project}/global/networks/{network}/addPeering",
+ "httpMethod": "POST",
+ "description": "Adds a peering to the specified network.",
+ "parameters": {
+ "network": {
+ "type": "string",
+ "description": "Name of the network resource to add peering to.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "network"
+ ],
+ "request": {
+ "$ref": "NetworksAddPeeringRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"delete": {
"id": "compute.networks.delete",
"path": "{project}/global/networks/{network}",
@@ -11427,7 +15199,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11460,7 +15232,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11487,7 +15259,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11513,16 +15285,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -11534,7 +15310,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11549,11 +15325,186 @@
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/compute.readonly"
]
+ },
+ "removePeering": {
+ "id": "compute.networks.removePeering",
+ "path": "{project}/global/networks/{network}/removePeering",
+ "httpMethod": "POST",
+ "description": "Removes a peering from the specified network.",
+ "parameters": {
+ "network": {
+ "type": "string",
+ "description": "Name of the network resource to remove peering from.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "network"
+ ],
+ "request": {
+ "$ref": "NetworksRemovePeeringRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "switchToCustomMode": {
+ "id": "compute.networks.switchToCustomMode",
+ "path": "{project}/global/networks/{network}/switchToCustomMode",
+ "httpMethod": "POST",
+ "description": "Switches the network mode from auto subnet mode to custom subnet mode.",
+ "parameters": {
+ "network": {
+ "type": "string",
+ "description": "Name of the network to be updated.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "network"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
"projects": {
"methods": {
+ "disableXpnHost": {
+ "id": "compute.projects.disableXpnHost",
+ "path": "{project}/disableXpnHost",
+ "httpMethod": "POST",
+ "description": "Disable this project as an XPN host project.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "disableXpnResource": {
+ "id": "compute.projects.disableXpnResource",
+ "path": "{project}/disableXpnResource",
+ "httpMethod": "POST",
+ "description": "Disable an XPN resource associated with this host project.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "ProjectsDisableXpnResourceRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "enableXpnHost": {
+ "id": "compute.projects.enableXpnHost",
+ "path": "{project}/enableXpnHost",
+ "httpMethod": "POST",
+ "description": "Enable this project as an XPN host project.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "enableXpnResource": {
+ "id": "compute.projects.enableXpnResource",
+ "path": "{project}/enableXpnResource",
+ "httpMethod": "POST",
+ "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "ProjectsEnableXpnResourceRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"get": {
"id": "compute.projects.get",
"path": "{project}",
@@ -11564,7 +15515,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11580,6 +15531,122 @@
"https://www.googleapis.com/auth/compute.readonly"
]
},
+ "getXpnHost": {
+ "id": "compute.projects.getXpnHost",
+ "path": "{project}/getXpnHost",
+ "httpMethod": "GET",
+ "description": "Get the XPN host project that this project links to. May be empty if no link exists.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "Project"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "getXpnResources": {
+ "id": "compute.projects.getXpnResources",
+ "path": "{project}/getXpnResources",
+ "httpMethod": "GET",
+ "description": "Get XPN resources associated with this host project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "order_by": {
+ "type": "string",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "ProjectsGetXpnResources"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "listXpnHosts": {
+ "id": "compute.projects.listXpnHosts",
+ "path": "{project}/listXpnHosts",
+ "httpMethod": "POST",
+ "description": "List all XPN host projects visible to the user in an organization.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "order_by": {
+ "type": "string",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "ProjectsListXpnHostsRequest"
+ },
+ "response": {
+ "$ref": "XpnHostList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"moveDisk": {
"id": "compute.projects.moveDisk",
"path": "{project}/moveDisk",
@@ -11590,7 +15657,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11618,7 +15685,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11646,7 +15713,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11674,7 +15741,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11697,6 +15764,1471 @@
}
}
},
+ "regionAutoscalers": {
+ "methods": {
+ "delete": {
+ "id": "compute.regionAutoscalers.delete",
+ "path": "{project}/regions/{region}/autoscalers/{autoscaler}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified autoscaler.",
+ "parameters": {
+ "autoscaler": {
+ "type": "string",
+ "description": "Name of the autoscaler to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "autoscaler"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.regionAutoscalers.get",
+ "path": "{project}/regions/{region}/autoscalers/{autoscaler}",
+ "httpMethod": "GET",
+ "description": "Returns the specified autoscaler.",
+ "parameters": {
+ "autoscaler": {
+ "type": "string",
+ "description": "Name of the autoscaler to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "autoscaler"
+ ],
+ "response": {
+ "$ref": "Autoscaler"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.regionAutoscalers.insert",
+ "path": "{project}/regions/{region}/autoscalers",
+ "httpMethod": "POST",
+ "description": "Creates an autoscaler in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "Autoscaler"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.regionAutoscalers.list",
+ "path": "{project}/regions/{region}/autoscalers",
+ "httpMethod": "GET",
+ "description": "Retrieves a list of autoscalers contained within the specified region.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "RegionAutoscalerList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "id": "compute.regionAutoscalers.patch",
+ "path": "{project}/regions/{region}/autoscalers",
+ "httpMethod": "PATCH",
+ "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ "parameters": {
+ "autoscaler": {
+ "type": "string",
+ "description": "Name of the autoscaler to patch.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "Autoscaler"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "id": "compute.regionAutoscalers.update",
+ "path": "{project}/regions/{region}/autoscalers",
+ "httpMethod": "PUT",
+ "description": "Updates an autoscaler in the specified project using the data included in the request.",
+ "parameters": {
+ "autoscaler": {
+ "type": "string",
+ "description": "Name of the autoscaler to update.",
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "Autoscaler"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "regionBackendServices": {
+ "methods": {
+ "delete": {
+ "id": "compute.regionBackendServices.delete",
+ "path": "{project}/regions/{region}/backendServices/{backendService}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified regional BackendService resource.",
+ "parameters": {
+ "backendService": {
+ "type": "string",
+ "description": "Name of the BackendService resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "backendService"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.regionBackendServices.get",
+ "path": "{project}/regions/{region}/backendServices/{backendService}",
+ "httpMethod": "GET",
+ "description": "Returns the specified regional BackendService resource.",
+ "parameters": {
+ "backendService": {
+ "type": "string",
+ "description": "Name of the BackendService resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "backendService"
+ ],
+ "response": {
+ "$ref": "BackendService"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "getHealth": {
+ "id": "compute.regionBackendServices.getHealth",
+ "path": "{project}/regions/{region}/backendServices/{backendService}/getHealth",
+ "httpMethod": "POST",
+ "description": "Gets the most recent health check results for this regional BackendService.",
+ "parameters": {
+ "backendService": {
+ "type": "string",
+ "description": "Name of the BackendService resource to which the queried instance belongs.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "backendService"
+ ],
+ "request": {
+ "$ref": "ResourceGroupReference"
+ },
+ "response": {
+ "$ref": "BackendServiceGroupHealth"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.regionBackendServices.insert",
+ "path": "{project}/regions/{region}/backendServices",
+ "httpMethod": "POST",
+ "description": "Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Restrictions and Guidelines for more information.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "BackendService"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.regionBackendServices.list",
+ "path": "{project}/regions/{region}/backendServices",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "BackendServiceList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "id": "compute.regionBackendServices.patch",
+ "path": "{project}/regions/{region}/backendServices/{backendService}",
+ "httpMethod": "PATCH",
+ "description": "Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ "parameters": {
+ "backendService": {
+ "type": "string",
+ "description": "Name of the BackendService resource to patch.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "backendService"
+ ],
+ "request": {
+ "$ref": "BackendService"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "id": "compute.regionBackendServices.update",
+ "path": "{project}/regions/{region}/backendServices/{backendService}",
+ "httpMethod": "PUT",
+ "description": "Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
+ "parameters": {
+ "backendService": {
+ "type": "string",
+ "description": "Name of the BackendService resource to update.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "backendService"
+ ],
+ "request": {
+ "$ref": "BackendService"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "regionCommitments": {
+ "methods": {
+ "aggregatedList": {
+ "id": "compute.regionCommitments.aggregatedList",
+ "path": "{project}/aggregated/commitments",
+ "httpMethod": "GET",
+ "description": "Retrieves an aggregated list of commitments.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "CommitmentAggregatedList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "get": {
+ "id": "compute.regionCommitments.get",
+ "path": "{project}/regions/{region}/commitments/{commitment}",
+ "httpMethod": "GET",
+ "description": "Returns the specified commitment resource. Get a list of available commitments by making a list() request.",
+ "parameters": {
+ "commitment": {
+ "type": "string",
+ "description": "Name of the commitment to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "commitment"
+ ],
+ "response": {
+ "$ref": "Commitment"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.regionCommitments.insert",
+ "path": "{project}/regions/{region}/commitments",
+ "httpMethod": "POST",
+ "description": "Creates a commitment in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "Commitment"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.regionCommitments.list",
+ "path": "{project}/regions/{region}/commitments",
+ "httpMethod": "GET",
+ "description": "Retrieves a list of commitments contained within the specified region.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "CommitmentList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ }
+ }
+ },
+ "regionInstanceGroupManagers": {
+ "methods": {
+ "abandonInstances": {
+ "id": "compute.regionInstanceGroupManagers.abandonInstances",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances",
+ "httpMethod": "POST",
+ "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupManagersAbandonInstancesRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "delete": {
+ "id": "compute.regionInstanceGroupManagers.delete",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified managed instance group and all of the instances in that group.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group to delete.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "deleteInstances": {
+ "id": "compute.regionInstanceGroupManagers.deleteInstances",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances",
+ "httpMethod": "POST",
+ "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupManagersDeleteInstancesRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.regionInstanceGroupManagers.get",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
+ "httpMethod": "GET",
+ "description": "Returns all of the details about the specified managed instance group.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group to return.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "response": {
+ "$ref": "InstanceGroupManager"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.regionInstanceGroupManagers.insert",
+ "path": "{project}/regions/{region}/instanceGroupManagers",
+ "httpMethod": "POST",
+ "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA regional managed instance group can contain up to 2000 instances.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "InstanceGroupManager"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.regionInstanceGroupManagers.list",
+ "path": "{project}/regions/{region}/instanceGroupManagers",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of managed instance groups that are contained within the specified region.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "RegionInstanceGroupManagerList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "listManagedInstances": {
+ "id": "compute.regionInstanceGroupManagers.listManagedInstances",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances",
+ "httpMethod": "POST",
+ "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "location": "query"
+ },
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "The name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "maxResults": {
+ "type": "integer",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "order_by": {
+ "type": "string",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "response": {
+ "$ref": "RegionInstanceGroupManagersListInstancesResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "recreateInstances": {
+ "id": "compute.regionInstanceGroupManagers.recreateInstances",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances",
+ "httpMethod": "POST",
+ "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupManagersRecreateRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "resize": {
+ "id": "compute.regionInstanceGroupManagers.resize",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize",
+ "httpMethod": "POST",
+ "description": "Changes the intended size for the managed instance group. If you increase the size, the group schedules actions to create new instances using the current instance template. If you decrease the size, the group schedules delete actions on one or more instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ },
+ "size": {
+ "type": "integer",
+ "description": "Number of instances that should exist in this instance group manager.",
+ "required": true,
+ "format": "int32",
+ "minimum": "0",
+ "location": "query"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager",
+ "size"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setInstanceTemplate": {
+ "id": "compute.regionInstanceGroupManagers.setInstanceTemplate",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate",
+ "httpMethod": "POST",
+ "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "The name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupManagersSetTemplateRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setTargetPools": {
+ "id": "compute.regionInstanceGroupManagers.setTargetPools",
+ "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools",
+ "httpMethod": "POST",
+ "description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.",
+ "parameters": {
+ "instanceGroupManager": {
+ "type": "string",
+ "description": "Name of the managed instance group.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroupManager"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "regionInstanceGroups": {
+ "methods": {
+ "get": {
+ "id": "compute.regionInstanceGroups.get",
+ "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}",
+ "httpMethod": "GET",
+ "description": "Returns the specified instance group resource.",
+ "parameters": {
+ "instanceGroup": {
+ "type": "string",
+ "description": "Name of the instance group resource to return.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroup"
+ ],
+ "response": {
+ "$ref": "InstanceGroup"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "list": {
+ "id": "compute.regionInstanceGroups.list",
+ "path": "{project}/regions/{region}/instanceGroups",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of instance group resources contained within the specified region.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "RegionInstanceGroupList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "listInstances": {
+ "id": "compute.regionInstanceGroups.listInstances",
+ "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances",
+ "httpMethod": "POST",
+ "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "instanceGroup": {
+ "type": "string",
+ "description": "Name of the regional instance group for which we want to list the instances.",
+ "required": true,
+ "location": "path"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroup"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupsListInstancesRequest"
+ },
+ "response": {
+ "$ref": "RegionInstanceGroupsListInstances"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "setNamedPorts": {
+ "id": "compute.regionInstanceGroups.setNamedPorts",
+ "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts",
+ "httpMethod": "POST",
+ "description": "Sets the named ports for the specified regional instance group.",
+ "parameters": {
+ "instanceGroup": {
+ "type": "string",
+ "description": "The name of the regional instance group where the named ports are updated.",
+ "required": true,
+ "location": "path"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "instanceGroup"
+ ],
+ "request": {
+ "$ref": "RegionInstanceGroupsSetNamedPortsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"regionOperations": {
"methods": {
"delete": {
@@ -11716,7 +17248,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -11754,7 +17286,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -11787,16 +17319,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -11808,7 +17344,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -11846,7 +17382,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -11878,16 +17414,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -11899,7 +17439,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -11917,6 +17457,411 @@
}
}
},
+ "routers": {
+ "methods": {
+ "aggregatedList": {
+ "id": "compute.routers.aggregatedList",
+ "path": "{project}/aggregated/routers",
+ "httpMethod": "GET",
+ "description": "Retrieves an aggregated list of routers.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "RouterAggregatedList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "delete": {
+ "id": "compute.routers.delete",
+ "path": "{project}/regions/{region}/routers/{router}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified Router resource.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.routers.get",
+ "path": "{project}/regions/{region}/routers/{router}",
+ "httpMethod": "GET",
+ "description": "Returns the specified Router resource. Get a list of available routers by making a list() request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "response": {
+ "$ref": "Router"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "getRouterStatus": {
+ "id": "compute.routers.getRouterStatus",
+ "path": "{project}/regions/{region}/routers/{router}/getRouterStatus",
+ "httpMethod": "GET",
+ "description": "Retrieves runtime information of the specified router.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to query.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "response": {
+ "$ref": "RouterStatusResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.routers.insert",
+ "path": "{project}/regions/{region}/routers",
+ "httpMethod": "POST",
+ "description": "Creates a Router resource in the specified project and region using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "request": {
+ "$ref": "Router"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.routers.list",
+ "path": "{project}/regions/{region}/routers",
+ "httpMethod": "GET",
+ "description": "Retrieves a list of Router resources available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region"
+ ],
+ "response": {
+ "$ref": "RouterList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "patch": {
+ "id": "compute.routers.patch",
+ "path": "{project}/regions/{region}/routers/{router}",
+ "httpMethod": "PATCH",
+ "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to patch.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "request": {
+ "$ref": "Router"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "preview": {
+ "id": "compute.routers.preview",
+ "path": "{project}/regions/{region}/routers/{router}/preview",
+ "httpMethod": "POST",
+ "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to query.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "request": {
+ "$ref": "Router"
+ },
+ "response": {
+ "$ref": "RoutersPreviewResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "update": {
+ "id": "compute.routers.update",
+ "path": "{project}/regions/{region}/routers/{router}",
+ "httpMethod": "PUT",
+ "description": "Updates the specified Router resource with the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "router": {
+ "type": "string",
+ "description": "Name of the Router resource to update.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "router"
+ ],
+ "request": {
+ "$ref": "Router"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"routes": {
"methods": {
"delete": {
@@ -11929,7 +17874,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"route": {
@@ -11962,7 +17907,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"route": {
@@ -11996,7 +17941,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12022,16 +17967,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12043,7 +17992,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12073,7 +18022,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"snapshot": {
@@ -12106,7 +18055,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"snapshot": {
@@ -12138,16 +18087,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12159,7 +18112,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12174,6 +18127,42 @@
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/compute.readonly"
]
+ },
+ "setLabels": {
+ "id": "compute.snapshots.setLabels",
+ "path": "{project}/global/snapshots/{resource}/setLabels",
+ "httpMethod": "POST",
+ "description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Name of the resource for this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "resource"
+ ],
+ "request": {
+ "$ref": "GlobalSetLabelsRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
@@ -12189,7 +18178,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"sslCertificate": {
@@ -12222,7 +18211,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"sslCertificate": {
@@ -12256,7 +18245,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12282,16 +18271,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12303,7 +18296,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12331,16 +18324,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12352,7 +18349,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12378,7 +18375,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -12409,6 +18406,50 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "expandIpCidrRange": {
+ "id": "compute.subnetworks.expandIpCidrRange",
+ "path": "{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange",
+ "httpMethod": "POST",
+ "description": "Expands the IP CIDR range of the subnetwork to a specified value.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "subnetwork": {
+ "type": "string",
+ "description": "Name of the Subnetwork resource to update.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "subnetwork"
+ ],
+ "request": {
+ "$ref": "SubnetworksExpandIpCidrRangeRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"get": {
"id": "compute.subnetworks.get",
"path": "{project}/regions/{region}/subnetworks/{subnetwork}",
@@ -12419,7 +18460,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -12461,7 +18502,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -12495,16 +18536,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12516,7 +18561,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -12539,6 +18584,50 @@
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/compute.readonly"
]
+ },
+ "setPrivateIpGoogleAccess": {
+ "id": "compute.subnetworks.setPrivateIpGoogleAccess",
+ "path": "{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess",
+ "httpMethod": "POST",
+ "description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "region": {
+ "type": "string",
+ "description": "Name of the region scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ },
+ "subnetwork": {
+ "type": "string",
+ "description": "Name of the Subnetwork resource.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "region",
+ "subnetwork"
+ ],
+ "request": {
+ "$ref": "SubnetworksSetPrivateIpGoogleAccessRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
}
}
},
@@ -12554,7 +18643,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpProxy": {
@@ -12587,7 +18676,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpProxy": {
@@ -12621,7 +18710,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12647,16 +18736,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12668,7 +18761,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12694,7 +18787,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpProxy": {
@@ -12734,7 +18827,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpsProxy": {
@@ -12767,7 +18860,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpsProxy": {
@@ -12801,7 +18894,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12827,16 +18920,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12848,7 +18945,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12874,7 +18971,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpsProxy": {
@@ -12910,7 +19007,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetHttpsProxy": {
@@ -12948,16 +19045,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -12969,7 +19070,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -12995,7 +19096,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetInstance": {
@@ -13036,7 +19137,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"targetInstance": {
@@ -13078,7 +19179,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -13112,16 +19213,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13133,7 +19238,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -13171,7 +19276,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13215,7 +19320,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13257,16 +19362,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13278,7 +19387,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -13304,7 +19413,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13345,7 +19454,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13387,7 +19496,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13432,7 +19541,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13466,16 +19575,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13487,7 +19600,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13521,7 +19634,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13565,7 +19678,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13615,7 +19728,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13651,6 +19764,482 @@
}
}
},
+ "targetSslProxies": {
+ "methods": {
+ "delete": {
+ "id": "compute.targetSslProxies.delete",
+ "path": "{project}/global/targetSslProxies/{targetSslProxy}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified TargetSslProxy resource.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetSslProxy": {
+ "type": "string",
+ "description": "Name of the TargetSslProxy resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetSslProxy"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.targetSslProxies.get",
+ "path": "{project}/global/targetSslProxies/{targetSslProxy}",
+ "httpMethod": "GET",
+ "description": "Returns the specified TargetSslProxy resource. Get a list of available target SSL proxies by making a list() request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetSslProxy": {
+ "type": "string",
+ "description": "Name of the TargetSslProxy resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetSslProxy"
+ ],
+ "response": {
+ "$ref": "TargetSslProxy"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.targetSslProxies.insert",
+ "path": "{project}/global/targetSslProxies",
+ "httpMethod": "POST",
+ "description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "TargetSslProxy"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.targetSslProxies.list",
+ "path": "{project}/global/targetSslProxies",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of TargetSslProxy resources available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "TargetSslProxyList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "setBackendService": {
+ "id": "compute.targetSslProxies.setBackendService",
+ "path": "{project}/global/targetSslProxies/{targetSslProxy}/setBackendService",
+ "httpMethod": "POST",
+ "description": "Changes the BackendService for TargetSslProxy.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetSslProxy": {
+ "type": "string",
+ "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetSslProxy"
+ ],
+ "request": {
+ "$ref": "TargetSslProxiesSetBackendServiceRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setProxyHeader": {
+ "id": "compute.targetSslProxies.setProxyHeader",
+ "path": "{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader",
+ "httpMethod": "POST",
+ "description": "Changes the ProxyHeaderType for TargetSslProxy.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetSslProxy": {
+ "type": "string",
+ "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetSslProxy"
+ ],
+ "request": {
+ "$ref": "TargetSslProxiesSetProxyHeaderRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setSslCertificates": {
+ "id": "compute.targetSslProxies.setSslCertificates",
+ "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates",
+ "httpMethod": "POST",
+ "description": "Changes SslCertificates for TargetSslProxy.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetSslProxy": {
+ "type": "string",
+ "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetSslProxy"
+ ],
+ "request": {
+ "$ref": "TargetSslProxiesSetSslCertificatesRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
+ "targetTcpProxies": {
+ "methods": {
+ "delete": {
+ "id": "compute.targetTcpProxies.delete",
+ "path": "{project}/global/targetTcpProxies/{targetTcpProxy}",
+ "httpMethod": "DELETE",
+ "description": "Deletes the specified TargetTcpProxy resource.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetTcpProxy": {
+ "type": "string",
+ "description": "Name of the TargetTcpProxy resource to delete.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetTcpProxy"
+ ],
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "get": {
+ "id": "compute.targetTcpProxies.get",
+ "path": "{project}/global/targetTcpProxies/{targetTcpProxy}",
+ "httpMethod": "GET",
+ "description": "Returns the specified TargetTcpProxy resource. Get a list of available target TCP proxies by making a list() request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetTcpProxy": {
+ "type": "string",
+ "description": "Name of the TargetTcpProxy resource to return.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetTcpProxy"
+ ],
+ "response": {
+ "$ref": "TargetTcpProxy"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "insert": {
+ "id": "compute.targetTcpProxies.insert",
+ "path": "{project}/global/targetTcpProxies",
+ "httpMethod": "POST",
+ "description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "request": {
+ "$ref": "TargetTcpProxy"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "list": {
+ "id": "compute.targetTcpProxies.list",
+ "path": "{project}/global/targetTcpProxies",
+ "httpMethod": "GET",
+ "description": "Retrieves the list of TargetTcpProxy resources available to the specified project.",
+ "parameters": {
+ "filter": {
+ "type": "string",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "location": "query"
+ },
+ "maxResults": {
+ "type": "integer",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ "default": "500",
+ "format": "uint32",
+ "minimum": "0",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ "location": "query"
+ },
+ "pageToken": {
+ "type": "string",
+ "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ "location": "query"
+ },
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project"
+ ],
+ "response": {
+ "$ref": "TargetTcpProxyList"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
+ ]
+ },
+ "setBackendService": {
+ "id": "compute.targetTcpProxies.setBackendService",
+ "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService",
+ "httpMethod": "POST",
+ "description": "Changes the BackendService for TargetTcpProxy.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetTcpProxy": {
+ "type": "string",
+ "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetTcpProxy"
+ ],
+ "request": {
+ "$ref": "TargetTcpProxiesSetBackendServiceRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
+ "setProxyHeader": {
+ "id": "compute.targetTcpProxies.setProxyHeader",
+ "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader",
+ "httpMethod": "POST",
+ "description": "Changes the ProxyHeaderType for TargetTcpProxy.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "targetTcpProxy": {
+ "type": "string",
+ "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "targetTcpProxy"
+ ],
+ "request": {
+ "$ref": "TargetTcpProxiesSetProxyHeaderRequest"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ }
+ }
+ },
"targetVpnGateways": {
"methods": {
"aggregatedList": {
@@ -13661,16 +20250,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13682,7 +20275,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -13708,7 +20301,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13749,7 +20342,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13791,7 +20384,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13825,16 +20418,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13846,7 +20443,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -13884,7 +20481,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"urlMap": {
@@ -13917,7 +20514,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"urlMap": {
@@ -13951,7 +20548,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -13969,6 +20566,42 @@
"https://www.googleapis.com/auth/compute"
]
},
+ "invalidateCache": {
+ "id": "compute.urlMaps.invalidateCache",
+ "path": "{project}/global/urlMaps/{urlMap}/invalidateCache",
+ "httpMethod": "POST",
+ "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.",
+ "parameters": {
+ "project": {
+ "type": "string",
+ "description": "Project ID for this request.",
+ "required": true,
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "location": "path"
+ },
+ "urlMap": {
+ "type": "string",
+ "description": "Name of the UrlMap scoping this request.",
+ "required": true,
+ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ "location": "path"
+ }
+ },
+ "parameterOrder": [
+ "project",
+ "urlMap"
+ ],
+ "request": {
+ "$ref": "CacheInvalidationRule"
+ },
+ "response": {
+ "$ref": "Operation"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform",
+ "https://www.googleapis.com/auth/compute"
+ ]
+ },
"list": {
"id": "compute.urlMaps.list",
"path": "{project}/global/urlMaps",
@@ -13977,16 +20610,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -13998,7 +20635,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -14018,18 +20655,18 @@
"id": "compute.urlMaps.patch",
"path": "{project}/global/urlMaps/{urlMap}",
"httpMethod": "PATCH",
- "description": "Updates the entire content of the UrlMap resource. This method supports patch semantics.",
+ "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
"parameters": {
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"urlMap": {
"type": "string",
- "description": "Name of the UrlMap resource to update.",
+ "description": "Name of the UrlMap resource to patch.",
"required": true,
"pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
"location": "path"
@@ -14047,20 +20684,21 @@
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
- "https://www.googleapis.com/auth/compute"
+ "https://www.googleapis.com/auth/compute",
+ "https://www.googleapis.com/auth/compute.readonly"
]
},
"update": {
"id": "compute.urlMaps.update",
"path": "{project}/global/urlMaps/{urlMap}",
"httpMethod": "PUT",
- "description": "Updates the entire content of the UrlMap resource.",
+ "description": "Updates the specified UrlMap resource with the data included in the request.",
"parameters": {
"project": {
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"urlMap": {
@@ -14096,7 +20734,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"urlMap": {
@@ -14134,16 +20772,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -14155,7 +20797,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
@@ -14181,7 +20823,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -14222,7 +20864,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -14264,7 +20906,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -14298,16 +20940,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -14319,7 +20965,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"region": {
@@ -14364,7 +21010,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -14402,7 +21048,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -14435,16 +21081,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -14456,7 +21106,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -14494,7 +21144,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
},
"zone": {
@@ -14526,16 +21176,20 @@
"parameters": {
"filter": {
"type": "string",
- "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
"location": "query"
},
"maxResults": {
"type": "integer",
- "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
"default": "500",
"format": "uint32",
"minimum": "0",
- "maximum": "500",
+ "location": "query"
+ },
+ "orderBy": {
+ "type": "string",
+ "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
"location": "query"
},
"pageToken": {
@@ -14547,7 +21201,7 @@
"type": "string",
"description": "Project ID for this request.",
"required": true,
- "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
"location": "path"
}
},
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-gen.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-gen.go
index ec8eeec3..60d66465 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-gen.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/compute/v1/compute-gen.go
@@ -71,8 +71,10 @@ func New(client *http.Client) (*Service, error) {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
+ s.AcceleratorTypes = NewAcceleratorTypesService(s)
s.Addresses = NewAddressesService(s)
s.Autoscalers = NewAutoscalersService(s)
+ s.BackendBuckets = NewBackendBucketsService(s)
s.BackendServices = NewBackendServicesService(s)
s.DiskTypes = NewDiskTypesService(s)
s.Disks = NewDisksService(s)
@@ -81,6 +83,7 @@ func New(client *http.Client) (*Service, error) {
s.GlobalAddresses = NewGlobalAddressesService(s)
s.GlobalForwardingRules = NewGlobalForwardingRulesService(s)
s.GlobalOperations = NewGlobalOperationsService(s)
+ s.HealthChecks = NewHealthChecksService(s)
s.HttpHealthChecks = NewHttpHealthChecksService(s)
s.HttpsHealthChecks = NewHttpsHealthChecksService(s)
s.Images = NewImagesService(s)
@@ -92,8 +95,14 @@ func New(client *http.Client) (*Service, error) {
s.MachineTypes = NewMachineTypesService(s)
s.Networks = NewNetworksService(s)
s.Projects = NewProjectsService(s)
+ s.RegionAutoscalers = NewRegionAutoscalersService(s)
+ s.RegionBackendServices = NewRegionBackendServicesService(s)
+ s.RegionCommitments = NewRegionCommitmentsService(s)
+ s.RegionInstanceGroupManagers = NewRegionInstanceGroupManagersService(s)
+ s.RegionInstanceGroups = NewRegionInstanceGroupsService(s)
s.RegionOperations = NewRegionOperationsService(s)
s.Regions = NewRegionsService(s)
+ s.Routers = NewRoutersService(s)
s.Routes = NewRoutesService(s)
s.Snapshots = NewSnapshotsService(s)
s.SslCertificates = NewSslCertificatesService(s)
@@ -102,6 +111,8 @@ func New(client *http.Client) (*Service, error) {
s.TargetHttpsProxies = NewTargetHttpsProxiesService(s)
s.TargetInstances = NewTargetInstancesService(s)
s.TargetPools = NewTargetPoolsService(s)
+ s.TargetSslProxies = NewTargetSslProxiesService(s)
+ s.TargetTcpProxies = NewTargetTcpProxiesService(s)
s.TargetVpnGateways = NewTargetVpnGatewaysService(s)
s.UrlMaps = NewUrlMapsService(s)
s.VpnTunnels = NewVpnTunnelsService(s)
@@ -115,10 +126,14 @@ type Service struct {
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
+ AcceleratorTypes *AcceleratorTypesService
+
Addresses *AddressesService
Autoscalers *AutoscalersService
+ BackendBuckets *BackendBucketsService
+
BackendServices *BackendServicesService
DiskTypes *DiskTypesService
@@ -135,6 +150,8 @@ type Service struct {
GlobalOperations *GlobalOperationsService
+ HealthChecks *HealthChecksService
+
HttpHealthChecks *HttpHealthChecksService
HttpsHealthChecks *HttpsHealthChecksService
@@ -157,10 +174,22 @@ type Service struct {
Projects *ProjectsService
+ RegionAutoscalers *RegionAutoscalersService
+
+ RegionBackendServices *RegionBackendServicesService
+
+ RegionCommitments *RegionCommitmentsService
+
+ RegionInstanceGroupManagers *RegionInstanceGroupManagersService
+
+ RegionInstanceGroups *RegionInstanceGroupsService
+
RegionOperations *RegionOperationsService
Regions *RegionsService
+ Routers *RoutersService
+
Routes *RoutesService
Snapshots *SnapshotsService
@@ -177,6 +206,10 @@ type Service struct {
TargetPools *TargetPoolsService
+ TargetSslProxies *TargetSslProxiesService
+
+ TargetTcpProxies *TargetTcpProxiesService
+
TargetVpnGateways *TargetVpnGatewaysService
UrlMaps *UrlMapsService
@@ -195,6 +228,15 @@ func (s *Service) userAgent() string {
return googleapi.UserAgent + " " + s.UserAgent
}
+func NewAcceleratorTypesService(s *Service) *AcceleratorTypesService {
+ rs := &AcceleratorTypesService{s: s}
+ return rs
+}
+
+type AcceleratorTypesService struct {
+ s *Service
+}
+
func NewAddressesService(s *Service) *AddressesService {
rs := &AddressesService{s: s}
return rs
@@ -213,6 +255,15 @@ type AutoscalersService struct {
s *Service
}
+func NewBackendBucketsService(s *Service) *BackendBucketsService {
+ rs := &BackendBucketsService{s: s}
+ return rs
+}
+
+type BackendBucketsService struct {
+ s *Service
+}
+
func NewBackendServicesService(s *Service) *BackendServicesService {
rs := &BackendServicesService{s: s}
return rs
@@ -285,6 +336,15 @@ type GlobalOperationsService struct {
s *Service
}
+func NewHealthChecksService(s *Service) *HealthChecksService {
+ rs := &HealthChecksService{s: s}
+ return rs
+}
+
+type HealthChecksService struct {
+ s *Service
+}
+
func NewHttpHealthChecksService(s *Service) *HttpHealthChecksService {
rs := &HttpHealthChecksService{s: s}
return rs
@@ -384,6 +444,51 @@ type ProjectsService struct {
s *Service
}
+func NewRegionAutoscalersService(s *Service) *RegionAutoscalersService {
+ rs := &RegionAutoscalersService{s: s}
+ return rs
+}
+
+type RegionAutoscalersService struct {
+ s *Service
+}
+
+func NewRegionBackendServicesService(s *Service) *RegionBackendServicesService {
+ rs := &RegionBackendServicesService{s: s}
+ return rs
+}
+
+type RegionBackendServicesService struct {
+ s *Service
+}
+
+func NewRegionCommitmentsService(s *Service) *RegionCommitmentsService {
+ rs := &RegionCommitmentsService{s: s}
+ return rs
+}
+
+type RegionCommitmentsService struct {
+ s *Service
+}
+
+func NewRegionInstanceGroupManagersService(s *Service) *RegionInstanceGroupManagersService {
+ rs := &RegionInstanceGroupManagersService{s: s}
+ return rs
+}
+
+type RegionInstanceGroupManagersService struct {
+ s *Service
+}
+
+func NewRegionInstanceGroupsService(s *Service) *RegionInstanceGroupsService {
+ rs := &RegionInstanceGroupsService{s: s}
+ return rs
+}
+
+type RegionInstanceGroupsService struct {
+ s *Service
+}
+
func NewRegionOperationsService(s *Service) *RegionOperationsService {
rs := &RegionOperationsService{s: s}
return rs
@@ -402,6 +507,15 @@ type RegionsService struct {
s *Service
}
+func NewRoutersService(s *Service) *RoutersService {
+ rs := &RoutersService{s: s}
+ return rs
+}
+
+type RoutersService struct {
+ s *Service
+}
+
func NewRoutesService(s *Service) *RoutesService {
rs := &RoutesService{s: s}
return rs
@@ -474,6 +588,24 @@ type TargetPoolsService struct {
s *Service
}
+func NewTargetSslProxiesService(s *Service) *TargetSslProxiesService {
+ rs := &TargetSslProxiesService{s: s}
+ return rs
+}
+
+type TargetSslProxiesService struct {
+ s *Service
+}
+
+func NewTargetTcpProxiesService(s *Service) *TargetTcpProxiesService {
+ rs := &TargetTcpProxiesService{s: s}
+ return rs
+}
+
+type TargetTcpProxiesService struct {
+ s *Service
+}
+
func NewTargetVpnGatewaysService(s *Service) *TargetVpnGatewaysService {
rs := &TargetVpnGatewaysService{s: s}
return rs
@@ -519,14 +651,343 @@ type ZonesService struct {
s *Service
}
+// AcceleratorConfig: A specification of the type and number of
+// accelerator cards attached to the instance.
+type AcceleratorConfig struct {
+ // AcceleratorCount: The number of the guest accelerator cards exposed
+ // to this instance.
+ AcceleratorCount int64 `json:"acceleratorCount,omitempty"`
+
+ // AcceleratorType: Full or partial URL of the accelerator type resource
+ // to expose to this instance.
+ AcceleratorType string `json:"acceleratorType,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AcceleratorCount") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorConfig) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorConfig
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// AcceleratorType: An Accelerator Type resource.
+type AcceleratorType struct {
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Deprecated: [Output Only] The deprecation status associated with this
+ // accelerator type.
+ Deprecated *DeprecationStatus `json:"deprecated,omitempty"`
+
+ // Description: [Output Only] An optional textual description of the
+ // resource.
+ Description string `json:"description,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: [Output Only] The type of the resource. Always
+ // compute#acceleratorType for accelerator types.
+ Kind string `json:"kind,omitempty"`
+
+ // MaximumCardsPerInstance: [Output Only] Maximum accelerator cards
+ // allowed per instance.
+ MaximumCardsPerInstance int64 `json:"maximumCardsPerInstance,omitempty"`
+
+ // Name: [Output Only] Name of the resource.
+ Name string `json:"name,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined fully-qualified URL for this
+ // resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // Zone: [Output Only] The name of the zone where the accelerator type
+ // resides, such as us-central1-a.
+ Zone string `json:"zone,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorType) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorType
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type AcceleratorTypeAggregatedList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: [Output Only] A map of scoped accelerator type lists.
+ Items map[string]AcceleratorTypesScopedList `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always
+ // compute#acceleratorTypeAggregatedList for aggregated lists of
+ // accelerator types.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorTypeAggregatedList) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorTypeAggregatedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// AcceleratorTypeList: Contains a list of accelerator types.
+type AcceleratorTypeList struct {
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of AcceleratorType resources.
+ Items []*AcceleratorType `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always
+ // compute#acceleratorTypeList for lists of accelerator types.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] A token used to continue a truncated
+ // list request.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorTypeList) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorTypeList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type AcceleratorTypesScopedList struct {
+ // AcceleratorTypes: [Output Only] List of accelerator types contained
+ // in this scope.
+ AcceleratorTypes []*AcceleratorType `json:"acceleratorTypes,omitempty"`
+
+ // Warning: [Output Only] An informational warning that appears when the
+ // accelerator types list is empty.
+ Warning *AcceleratorTypesScopedListWarning `json:"warning,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "AcceleratorTypes") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AcceleratorTypes") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorTypesScopedList) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorTypesScopedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// AcceleratorTypesScopedListWarning: [Output Only] An informational
+// warning that appears when the accelerator types list is empty.
+type AcceleratorTypesScopedListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
+ // the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED"
+ // "DEPRECATED_RESOURCE_USED"
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
+ // "INJECTED_KERNELS_DEPRECATED"
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ // "NEXT_HOP_CANNOT_IP_FORWARD"
+ // "NEXT_HOP_INSTANCE_NOT_FOUND"
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ // "NEXT_HOP_NOT_RUNNING"
+ // "NOT_CRITICAL_ERROR"
+ // "NO_RESULTS_ON_PAGE"
+ // "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ // "RESOURCE_NOT_DELETED"
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ // "UNREACHABLE"
+ Code string `json:"code,omitempty"`
+
+ // Data: [Output Only] Metadata about this warning in key: value format.
+ // For example:
+ // "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ Data []*AcceleratorTypesScopedListWarningData `json:"data,omitempty"`
+
+ // Message: [Output Only] A human-readable description of the warning
+ // code.
+ Message string `json:"message,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Code") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorTypesScopedListWarning) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorTypesScopedListWarning
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type AcceleratorTypesScopedListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being returned. For example, for warnings where there are no results
+ // in a list request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP
+ // forwarding).
+ Key string `json:"key,omitempty"`
+
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Key") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AcceleratorTypesScopedListWarningData) MarshalJSON() ([]byte, error) {
+ type noMethod AcceleratorTypesScopedListWarningData
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
// AccessConfig: An access configuration attached to an instance's
-// network interface.
+// network interface. Only one access config per instance is supported.
type AccessConfig struct {
// Kind: [Output Only] Type of the resource. Always compute#accessConfig
// for access configs.
Kind string `json:"kind,omitempty"`
- // Name: Name of this access configuration.
+ // Name: The name of this access configuration. The default and
+ // recommended name is External NAT but you can use any arbitrary string
+ // you would like. For example, My external IP or Network Access.
Name string `json:"name,omitempty"`
// NatIP: An external IP address associated with this instance. Specify
@@ -550,12 +1011,20 @@ type AccessConfig struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Kind") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AccessConfig) MarshalJSON() ([]byte, error) {
type noMethod AccessConfig
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Address: A reserved address resource.
@@ -575,6 +1044,16 @@ type Address struct {
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
+ // IpVersion: The IP Version that will be used by this address. Valid
+ // options are IPV4 or IPV6. This can only be specified for a global
+ // address.
+ //
+ // Possible values:
+ // "IPV4"
+ // "IPV6"
+ // "UNSPECIFIED_VERSION"
+ IpVersion string `json:"ipVersion,omitempty"`
+
// Kind: [Output Only] Type of the resource. Always compute#address for
// addresses.
Kind string `json:"kind,omitempty"`
@@ -620,12 +1099,20 @@ type Address struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Address") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Address) MarshalJSON() ([]byte, error) {
type noMethod Address
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressAggregatedList struct {
@@ -662,12 +1149,20 @@ type AddressAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AddressAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod AddressAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressList: Contains a list of addresses.
@@ -705,12 +1200,20 @@ type AddressList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AddressList) MarshalJSON() ([]byte, error) {
type noMethod AddressList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressesScopedList struct {
@@ -728,12 +1231,20 @@ type AddressesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Addresses") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AddressesScopedList) MarshalJSON() ([]byte, error) {
type noMethod AddressesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressesScopedListWarning: [Output Only] Informational warning which
@@ -747,6 +1258,7 @@ type AddressesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -756,6 +1268,7 @@ type AddressesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -777,12 +1290,20 @@ type AddressesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AddressesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod AddressesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressesScopedListWarningData struct {
@@ -806,12 +1327,20 @@ type AddressesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AddressesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod AddressesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AttachedDisk: An instance-attached disk resource.
@@ -837,6 +1366,29 @@ type AttachedDisk struct {
// persistent disks.
DeviceName string `json:"deviceName,omitempty"`
+ // DiskEncryptionKey: Encrypts or decrypts a disk using a
+ // customer-supplied encryption key.
+ //
+ // If you are creating a new disk, this field encrypts the new disk
+ // using an encryption key that you provide. If you are attaching an
+ // existing disk that is already encrypted, this field decrypts the disk
+ // using the customer-supplied encryption key.
+ //
+ // If you encrypt a disk using a customer-supplied key, you must provide
+ // the same key again when you attempt to use this resource at a later
+ // time. For example, you must provide the key when you create a
+ // snapshot or an image from the disk or when you attach the disk to a
+ // virtual machine instance.
+ //
+ // If you do not provide an encryption key, then the disk will be
+ // encrypted using an automatically generated key and you do not need to
+ // provide a key to use the disk later.
+ //
+ // Instance templates do not store customer-supplied encryption keys, so
+ // you cannot use your own keys to encrypt disks in a managed instance
+ // group.
+ DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"`
+
// Index: Assigns a zero-based index to this disk, where 0 is reserved
// for the boot disk. For example, if you have many disks attached to an
// instance, each disk would have a unique index number. If not
@@ -881,8 +1433,15 @@ type AttachedDisk struct {
Mode string `json:"mode,omitempty"`
// Source: Specifies a valid partial or full URL to an existing
- // Persistent Disk resource. This field is only applicable for
- // persistent disks.
+ // Persistent Disk resource. When creating a new instance, one of
+ // initializeParams.sourceImage or disks.source is required.
+ //
+ // If desired, you can also attach existing non-root persistent disks
+ // using this property. This field is only applicable for persistent
+ // disks.
+ //
+ // Note that for InstanceTemplate, specify the disk name, not the URL
+ // for the disk.
Source string `json:"source,omitempty"`
// Type: Specifies the type of the disk, either SCRATCH or PERSISTENT.
@@ -900,12 +1459,20 @@ type AttachedDisk struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AutoDelete") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AttachedDisk) MarshalJSON() ([]byte, error) {
type noMethod AttachedDisk
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AttachedDiskInitializeParams: [Input Only] Specifies the parameters
@@ -937,11 +1504,13 @@ type AttachedDiskInitializeParams struct {
// -
// https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType
// - projects/project/zones/zone/diskTypes/diskType
- // - zones/zone/diskTypes/diskType
+ // - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this
+ // is the name of the disk type, not URL.
DiskType string `json:"diskType,omitempty"`
- // SourceImage: The source image used to create this disk. If the source
- // image is deleted, this field will not be set.
+ // SourceImage: The source image to create this disk. When creating a
+ // new instance, one of initializeParams.sourceImage or disks.source is
+ // required.
//
// To create a disk with one of the public operating system images,
// specify the image by its family name. For example, specify
@@ -966,8 +1535,19 @@ type AttachedDiskInitializeParams struct {
// family/family-name:
//
// global/images/family/my-private-family
+ //
+ // If the source image is deleted later, this field will not be set.
SourceImage string `json:"sourceImage,omitempty"`
+ // SourceImageEncryptionKey: The customer-supplied encryption key of the
+ // source image. Required if the source image is protected by a
+ // customer-supplied encryption key.
+ //
+ // Instance templates do not store customer-supplied encryption keys, so
+ // you cannot create disks for instances in a managed instance group if
+ // the source images are encrypted with your own keys.
+ SourceImageEncryptionKey *CustomerEncryptionKey `json:"sourceImageEncryptionKey,omitempty"`
+
// ForceSendFields is a list of field names (e.g. "DiskName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
@@ -975,12 +1555,20 @@ type AttachedDiskInitializeParams struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DiskName") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AttachedDiskInitializeParams) MarshalJSON() ([]byte, error) {
type noMethod AttachedDiskInitializeParams
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Autoscaler: Represents an Autoscaler resource. Autoscalers allow you
@@ -994,7 +1582,7 @@ type Autoscaler struct {
// loadBalancingUtilization.
//
// If none of these are specified, the default will be to autoscale
- // based on cpuUtilization to 0.8 or 80%.
+ // based on cpuUtilization to 0.6 or 60%.
AutoscalingPolicy *AutoscalingPolicy `json:"autoscalingPolicy,omitempty"`
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
@@ -1022,14 +1610,33 @@ type Autoscaler struct {
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
+ // Region: [Output Only] URL of the region where the instance group
+ // resides (for autoscalers living in regional scope).
+ Region string `json:"region,omitempty"`
+
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // Status: [Output Only] The status of the autoscaler configuration.
+ //
+ // Possible values:
+ // "ACTIVE"
+ // "DELETING"
+ // "ERROR"
+ // "PENDING"
+ Status string `json:"status,omitempty"`
+
+ // StatusDetails: [Output Only] Human-readable details about the current
+ // state of the autoscaler. Read the documentation for Commonly returned
+ // status messages for examples of status messages you might encounter.
+ StatusDetails []*AutoscalerStatusDetails `json:"statusDetails,omitempty"`
+
// Target: URL of the managed instance group that this autoscaler will
// scale.
Target string `json:"target,omitempty"`
- // Zone: [Output Only] URL of the zone where the instance group resides.
+ // Zone: [Output Only] URL of the zone where the instance group resides
+ // (for autoscalers living in zonal scope).
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -1043,12 +1650,21 @@ type Autoscaler struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AutoscalingPolicy") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Autoscaler) MarshalJSON() ([]byte, error) {
type noMethod Autoscaler
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalerAggregatedList struct {
@@ -1085,12 +1701,20 @@ type AutoscalerAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalerAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod AutoscalerAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalerList: Contains a list of Autoscaler resources.
@@ -1128,12 +1752,67 @@ type AutoscalerList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalerList) MarshalJSON() ([]byte, error) {
type noMethod AutoscalerList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type AutoscalerStatusDetails struct {
+ // Message: The status message.
+ Message string `json:"message,omitempty"`
+
+ // Type: The type of error returned.
+ //
+ // Possible values:
+ // "ALL_INSTANCES_UNHEALTHY"
+ // "BACKEND_SERVICE_DOES_NOT_EXIST"
+ // "CAPPED_AT_MAX_NUM_REPLICAS"
+ // "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE"
+ // "CUSTOM_METRIC_INVALID"
+ // "MIN_EQUALS_MAX"
+ // "MISSING_CUSTOM_METRIC_DATA_POINTS"
+ // "MISSING_LOAD_BALANCING_DATA_POINTS"
+ // "MORE_THAN_ONE_BACKEND_SERVICE"
+ // "NOT_ENOUGH_QUOTA_AVAILABLE"
+ // "REGION_RESOURCE_STOCKOUT"
+ // "SCALING_TARGET_DOES_NOT_EXIST"
+ // "UNKNOWN"
+ // "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION"
+ // "ZONE_RESOURCE_STOCKOUT"
+ Type string `json:"type,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Message") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Message") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *AutoscalerStatusDetails) MarshalJSON() ([]byte, error) {
+ type noMethod AutoscalerStatusDetails
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalersScopedList struct {
@@ -1152,12 +1831,20 @@ type AutoscalersScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Autoscalers") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalersScopedList) MarshalJSON() ([]byte, error) {
type noMethod AutoscalersScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalersScopedListWarning: [Output Only] Informational warning
@@ -1171,6 +1858,7 @@ type AutoscalersScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -1180,6 +1868,7 @@ type AutoscalersScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -1201,12 +1890,20 @@ type AutoscalersScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalersScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod AutoscalersScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalersScopedListWarningData struct {
@@ -1230,12 +1927,20 @@ type AutoscalersScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalersScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod AutoscalersScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalingPolicy: Cloud Autoscaler policy.
@@ -1285,19 +1990,28 @@ type AutoscalingPolicy struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CoolDownPeriodSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalingPolicy) MarshalJSON() ([]byte, error) {
type noMethod AutoscalingPolicy
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalingPolicyCpuUtilization: CPU utilization policy.
type AutoscalingPolicyCpuUtilization struct {
// UtilizationTarget: The target CPU utilization that the autoscaler
// should maintain. Must be a float value in the range (0, 1]. If not
- // specified, the default is 0.8.
+ // specified, the default is 0.6.
//
// If the CPU level is below the target utilization, the autoscaler
// scales down the number of instances until it reaches the minimum
@@ -1317,43 +2031,60 @@ type AutoscalingPolicyCpuUtilization struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "UtilizationTarget") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalingPolicyCpuUtilization) MarshalJSON() ([]byte, error) {
type noMethod AutoscalingPolicyCpuUtilization
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *AutoscalingPolicyCpuUtilization) UnmarshalJSON(data []byte) error {
+ type noMethod AutoscalingPolicyCpuUtilization
+ var s1 struct {
+ UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.UtilizationTarget = float64(s1.UtilizationTarget)
+ return nil
}
// AutoscalingPolicyCustomMetricUtilization: Custom utilization metric
// policy.
type AutoscalingPolicyCustomMetricUtilization struct {
- // Metric: The identifier of the Cloud Monitoring metric. The metric
- // cannot have negative values and should be a utilization metric, which
- // means that the number of virtual machines handling requests should
- // increase or decrease proportionally to the metric. The metric must
- // also have a label of compute.googleapis.com/resource_id with the
- // value of the instance's unique ID, although this alone does not
- // guarantee that the metric is valid.
- //
- // For example, the following is a valid
- // metric:
- // compute.googleapis.com/instance/network/received_bytes_count
+ // Metric: The identifier (type) of the Stackdriver Monitoring metric.
+ // The metric cannot have negative values and should be a utilization
+ // metric, which means that the number of virtual machines handling
+ // requests should increase or decrease proportionally to the
+ // metric.
//
- //
- //
- // The following is not a valid metric because it does not increase or
- // decrease based on
- // usage:
- // compute.googleapis.com/instance/cpu/reserved_cores
+ // The metric must have a value type of INT64 or DOUBLE.
Metric string `json:"metric,omitempty"`
- // UtilizationTarget: Target value of the metric which autoscaler should
- // maintain. Must be a positive value.
+ // UtilizationTarget: The target value of the metric that autoscaler
+ // should maintain. This must be a positive value.
+ //
+ // For example, a good metric to use as a utilization_target is
+ // compute.googleapis.com/instance/network/received_bytes_count. The
+ // autoscaler will work to keep this value constant for each of the
+ // instances.
UtilizationTarget float64 `json:"utilizationTarget,omitempty"`
// UtilizationTargetType: Defines how target utilization value is
- // expressed for a Cloud Monitoring metric. Either GAUGE,
+ // expressed for a Stackdriver Monitoring metric. Either GAUGE,
// DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default
// is GAUGE.
//
@@ -1370,12 +2101,34 @@ type AutoscalingPolicyCustomMetricUtilization struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Metric") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalingPolicyCustomMetricUtilization) MarshalJSON() ([]byte, error) {
type noMethod AutoscalingPolicyCustomMetricUtilization
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *AutoscalingPolicyCustomMetricUtilization) UnmarshalJSON(data []byte) error {
+ type noMethod AutoscalingPolicyCustomMetricUtilization
+ var s1 struct {
+ UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.UtilizationTarget = float64(s1.UtilizationTarget)
+ return nil
}
// AutoscalingPolicyLoadBalancingUtilization: Configuration parameters
@@ -1394,31 +2147,60 @@ type AutoscalingPolicyLoadBalancingUtilization struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "UtilizationTarget") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *AutoscalingPolicyLoadBalancingUtilization) MarshalJSON() ([]byte, error) {
type noMethod AutoscalingPolicyLoadBalancingUtilization
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *AutoscalingPolicyLoadBalancingUtilization) UnmarshalJSON(data []byte) error {
+ type noMethod AutoscalingPolicyLoadBalancingUtilization
+ var s1 struct {
+ UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.UtilizationTarget = float64(s1.UtilizationTarget)
+ return nil
}
// Backend: Message containing information of one individual backend.
type Backend struct {
// BalancingMode: Specifies the balancing mode for this backend. For
- // global HTTP(S) load balancing, the default is UTILIZATION. Valid
- // values are UTILIZATION and RATE.
+ // global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION.
+ // Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for
+ // TCP/SSL).
+ //
+ // This cannot be used for internal load balancing.
//
// Possible values:
+ // "CONNECTION"
// "RATE"
// "UTILIZATION"
BalancingMode string `json:"balancingMode,omitempty"`
// CapacityScaler: A multiplier applied to the group's maximum servicing
- // capacity (either UTILIZATION or RATE). Default value is 1, which
- // means the group will serve up to 100% of its configured CPU or RPS
- // (depending on balancingMode). A setting of 0 means the group is
- // completely drained, offering 0% of its available CPU or RPS. Valid
+ // capacity (based on UTILIZATION, RATE or CONNECTION). Default value is
+ // 1, which means the group will serve up to 100% of its configured
+ // capacity (depending on balancingMode). A setting of 0 means the group
+ // is completely drained, offering 0% of its available Capacity. Valid
// range is [0.0,1.0].
+ //
+ // This cannot be used for internal load balancing.
CapacityScaler float64 `json:"capacityScaler,omitempty"`
// Description: An optional description of this resource. Provide this
@@ -1434,23 +2216,50 @@ type Backend struct {
//
// Note that you must specify an Instance Group resource using the
// fully-qualified URL, rather than a partial URL.
+ //
+ // When the BackendService has load balancing scheme INTERNAL, the
+ // instance group must be in a zone within the same region as the
+ // BackendService.
Group string `json:"group,omitempty"`
+ // MaxConnections: The max number of simultaneous connections for the
+ // group. Can be used with either CONNECTION or UTILIZATION balancing
+ // modes. For CONNECTION mode, either maxConnections or
+ // maxConnectionsPerInstance must be set.
+ //
+ // This cannot be used for internal load balancing.
+ MaxConnections int64 `json:"maxConnections,omitempty"`
+
+ // MaxConnectionsPerInstance: The max number of simultaneous connections
+ // that a single backend instance can handle. This is used to calculate
+ // the capacity of the group. Can be used in either CONNECTION or
+ // UTILIZATION balancing modes. For CONNECTION mode, either
+ // maxConnections or maxConnectionsPerInstance must be set.
+ //
+ // This cannot be used for internal load balancing.
+ MaxConnectionsPerInstance int64 `json:"maxConnectionsPerInstance,omitempty"`
+
// MaxRate: The max requests per second (RPS) of the group. Can be used
// with either RATE or UTILIZATION balancing modes, but required if RATE
// mode. For RATE mode, either maxRate or maxRatePerInstance must be
// set.
+ //
+ // This cannot be used for internal load balancing.
MaxRate int64 `json:"maxRate,omitempty"`
// MaxRatePerInstance: The max requests per second (RPS) that a single
- // backend instance can handle.This is used to calculate the capacity of
- // the group. Can be used in either balancing mode. For RATE mode,
+ // backend instance can handle. This is used to calculate the capacity
+ // of the group. Can be used in either balancing mode. For RATE mode,
// either maxRate or maxRatePerInstance must be set.
+ //
+ // This cannot be used for internal load balancing.
MaxRatePerInstance float64 `json:"maxRatePerInstance,omitempty"`
// MaxUtilization: Used when balancingMode is UTILIZATION. This ratio
// defines the CPU utilization target for the group. The default is 0.8.
// Valid range is [0.0, 1.0].
+ //
+ // This cannot be used for internal load balancing.
MaxUtilization float64 `json:"maxUtilization,omitempty"`
// ForceSendFields is a list of field names (e.g. "BalancingMode") to
@@ -1460,20 +2269,168 @@ type Backend struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BalancingMode") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Backend) MarshalJSON() ([]byte, error) {
type noMethod Backend
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *Backend) UnmarshalJSON(data []byte) error {
+ type noMethod Backend
+ var s1 struct {
+ CapacityScaler gensupport.JSONFloat64 `json:"capacityScaler"`
+ MaxRatePerInstance gensupport.JSONFloat64 `json:"maxRatePerInstance"`
+ MaxUtilization gensupport.JSONFloat64 `json:"maxUtilization"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.CapacityScaler = float64(s1.CapacityScaler)
+ s.MaxRatePerInstance = float64(s1.MaxRatePerInstance)
+ s.MaxUtilization = float64(s1.MaxUtilization)
+ return nil
+}
+
+// BackendBucket: A BackendBucket resource. This resource defines a
+// Cloud Storage bucket.
+type BackendBucket struct {
+ // BucketName: Cloud Storage bucket name.
+ BucketName string `json:"bucketName,omitempty"`
+
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional textual description of the resource;
+ // provided by the client when the resource is created.
+ Description string `json:"description,omitempty"`
+
+ // EnableCdn: If true, enable Cloud CDN for this BackendBucket.
+ EnableCdn bool `json:"enableCdn,omitempty"`
+
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: Type of the resource.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "BucketName") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BucketName") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendBucket) MarshalJSON() ([]byte, error) {
+ type noMethod BackendBucket
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// BackendBucketList: Contains a list of BackendBucket resources.
+type BackendBucketList struct {
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of BackendBucket resources.
+ Items []*BackendBucket `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] A token used to continue a truncated
+ // list request.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendBucketList) MarshalJSON() ([]byte, error) {
+ type noMethod BackendBucketList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BackendService: A BackendService resource. This resource defines a
// group of backend virtual machines and their serving capacity.
type BackendService struct {
+ // AffinityCookieTtlSec: Lifetime of cookies in seconds if
+ // session_affinity is GENERATED_COOKIE. If set to 0, the cookie is
+ // non-persistent and lasts only until the end of the browser session
+ // (or equivalent). The maximum allowed value for TTL is one day.
+ //
+ // When the load balancing scheme is INTERNAL, this field is not used.
+ AffinityCookieTtlSec int64 `json:"affinityCookieTtlSec,omitempty"`
+
// Backends: The list of backends that serve this BackendService.
Backends []*Backend `json:"backends,omitempty"`
+ // CdnPolicy: Cloud CDN configuration for this BackendService.
+ CdnPolicy *BackendServiceCdnPolicy `json:"cdnPolicy,omitempty"`
+
+ ConnectionDraining *ConnectionDraining `json:"connectionDraining,omitempty"`
+
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
@@ -1482,6 +2439,11 @@ type BackendService struct {
// property when you create the resource.
Description string `json:"description,omitempty"`
+ // EnableCDN: If true, enable Cloud CDN for this BackendService.
+ //
+ // When the load balancing scheme is INTERNAL, this field is not used.
+ EnableCDN bool `json:"enableCDN,omitempty"`
+
// Fingerprint: Fingerprint of this resource. A hash of the contents
// stored in this object. This field is used in optimistic locking. This
// field will be ignored when inserting a BackendService. An up-to-date
@@ -1491,9 +2453,15 @@ type BackendService struct {
// HealthChecks: The list of URLs to the HttpHealthCheck or
// HttpsHealthCheck resource for health checking this BackendService.
// Currently at most one health check can be specified, and a health
- // check is required.
+ // check is required for GCE backend services. A health check must not
+ // be specified for GAE app backend and Cloud Function backend.
+ //
+ // For internal load balancing, a URL to a HealthCheck resource must be
+ // specified instead.
HealthChecks []string `json:"healthChecks,omitempty"`
+ Iap *BackendServiceIAP `json:"iap,omitempty"`
+
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
@@ -1502,6 +2470,12 @@ type BackendService struct {
// for backend services.
Kind string `json:"kind,omitempty"`
+ // Possible values:
+ // "EXTERNAL"
+ // "INTERNAL"
+ // "INVALID_LOAD_BALANCING_SCHEME"
+ LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"`
+
// Name: Name of the resource. Provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
@@ -1513,20 +2487,32 @@ type BackendService struct {
// Port: Deprecated in favor of portName. The TCP port to connect on the
// backend. The default value is 80.
+ //
+ // This cannot be used for internal load balancing.
Port int64 `json:"port,omitempty"`
// PortName: Name of backend port. The same name should appear in the
- // instance groups referenced by this service. Required.
+ // instance groups referenced by this service. Required when the load
+ // balancing scheme is EXTERNAL.
+ //
+ // When the load balancing scheme is INTERNAL, this field is not used.
PortName string `json:"portName,omitempty"`
// Protocol: The protocol this BackendService uses to communicate with
// backends.
//
- // Possible values are HTTP, HTTPS, HTTP2, TCP and SSL.
+ // Possible values are HTTP, HTTPS, TCP, and SSL. The default is
+ // HTTP.
+ //
+ // For internal load balancing, the possible values are TCP and UDP, and
+ // the default is TCP.
//
// Possible values:
// "HTTP"
// "HTTPS"
+ // "SSL"
+ // "TCP"
+ // "UDP"
Protocol string `json:"protocol,omitempty"`
// Region: [Output Only] URL of the region where the regional backend
@@ -1537,6 +2523,25 @@ type BackendService struct {
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // SessionAffinity: Type of session affinity to use. The default is
+ // NONE.
+ //
+ // When the load balancing scheme is EXTERNAL, can be NONE, CLIENT_IP,
+ // or GENERATED_COOKIE.
+ //
+ // When the load balancing scheme is INTERNAL, can be NONE, CLIENT_IP,
+ // CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
+ //
+ // When the protocol is UDP, this field is not used.
+ //
+ // Possible values:
+ // "CLIENT_IP"
+ // "CLIENT_IP_PORT_PROTO"
+ // "CLIENT_IP_PROTO"
+ // "GENERATED_COOKIE"
+ // "NONE"
+ SessionAffinity string `json:"sessionAffinity,omitempty"`
+
// TimeoutSec: How many seconds to wait for the backend before
// considering it a failed request. Default is 30 seconds.
TimeoutSec int64 `json:"timeoutSec,omitempty"`
@@ -1545,19 +2550,106 @@ type BackendService struct {
// server.
googleapi.ServerResponse `json:"-"`
- // ForceSendFields is a list of field names (e.g. "Backends") to
+ // ForceSendFields is a list of field names (e.g.
+ // "AffinityCookieTtlSec") to unconditionally include in API requests.
+ // By default, fields with empty values are omitted from API requests.
+ // However, any non-pointer, non-interface field appearing in
+ // ForceSendFields will be sent to the server regardless of whether the
+ // field is empty or not. This may be used to include empty fields in
+ // Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AffinityCookieTtlSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendService) MarshalJSON() ([]byte, error) {
+ type noMethod BackendService
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// BackendServiceAggregatedList: Contains a list of
+// BackendServicesScopedList.
+type BackendServiceAggregatedList struct {
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A map of scoped BackendService lists.
+ Items map[string]BackendServicesScopedList `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] A token used to continue a truncated
+ // list request.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
-func (s *BackendService) MarshalJSON() ([]byte, error) {
- type noMethod BackendService
+func (s *BackendServiceAggregatedList) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServiceAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// BackendServiceCdnPolicy: Message containing Cloud CDN configuration
+// for a backend service.
+type BackendServiceCdnPolicy struct {
+ // CacheKeyPolicy: The CacheKeyPolicy for this CdnPolicy.
+ CacheKeyPolicy *CacheKeyPolicy `json:"cacheKeyPolicy,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "CacheKeyPolicy") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CacheKeyPolicy") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendServiceCdnPolicy) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServiceCdnPolicy
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BackendServiceGroupHealth struct {
@@ -1578,18 +2670,61 @@ type BackendServiceGroupHealth struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthStatus") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *BackendServiceGroupHealth) MarshalJSON() ([]byte, error) {
type noMethod BackendServiceGroupHealth
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// BackendServiceIAP: Identity-Aware Proxy
+type BackendServiceIAP struct {
+ Enabled bool `json:"enabled,omitempty"`
+
+ Oauth2ClientId string `json:"oauth2ClientId,omitempty"`
+
+ Oauth2ClientSecret string `json:"oauth2ClientSecret,omitempty"`
+
+ // Oauth2ClientSecretSha256: [Output Only] SHA256 hash value for the
+ // field oauth2_client_secret above.
+ Oauth2ClientSecretSha256 string `json:"oauth2ClientSecretSha256,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Enabled") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Enabled") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendServiceIAP) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServiceIAP
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BackendServiceList: Contains a list of BackendService resources.
type BackendServiceList struct {
- // Id: [Output Only] The unique identifier for the resource. This
- // identifier is defined by the server.
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
Id string `json:"id,omitempty"`
// Items: A list of BackendService resources.
@@ -1621,26 +2756,686 @@ type BackendServiceList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *BackendServiceList) MarshalJSON() ([]byte, error) {
type noMethod BackendServiceList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type BackendServicesScopedList struct {
+ // BackendServices: List of BackendServices contained in this scope.
+ BackendServices []*BackendService `json:"backendServices,omitempty"`
+
+ // Warning: Informational warning which replaces the list of backend
+ // services when the list is empty.
+ Warning *BackendServicesScopedListWarning `json:"warning,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "BackendServices") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BackendServices") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendServicesScopedList) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServicesScopedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// BackendServicesScopedListWarning: Informational warning which
+// replaces the list of backend services when the list is empty.
+type BackendServicesScopedListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
+ // the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED"
+ // "DEPRECATED_RESOURCE_USED"
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
+ // "INJECTED_KERNELS_DEPRECATED"
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ // "NEXT_HOP_CANNOT_IP_FORWARD"
+ // "NEXT_HOP_INSTANCE_NOT_FOUND"
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ // "NEXT_HOP_NOT_RUNNING"
+ // "NOT_CRITICAL_ERROR"
+ // "NO_RESULTS_ON_PAGE"
+ // "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ // "RESOURCE_NOT_DELETED"
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ // "UNREACHABLE"
+ Code string `json:"code,omitempty"`
+
+ // Data: [Output Only] Metadata about this warning in key: value format.
+ // For example:
+ // "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ Data []*BackendServicesScopedListWarningData `json:"data,omitempty"`
+
+ // Message: [Output Only] A human-readable description of the warning
+ // code.
+ Message string `json:"message,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Code") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendServicesScopedListWarning) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServicesScopedListWarning
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type BackendServicesScopedListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being returned. For example, for warnings where there are no results
+ // in a list request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP
+ // forwarding).
+ Key string `json:"key,omitempty"`
+
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Key") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BackendServicesScopedListWarningData) MarshalJSON() ([]byte, error) {
+ type noMethod BackendServicesScopedListWarningData
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type CacheInvalidationRule struct {
+ // Host: If set, this invalidation rule will only apply to requests with
+ // a Host header matching host.
+ Host string `json:"host,omitempty"`
+
+ Path string `json:"path,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Host") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Host") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CacheInvalidationRule) MarshalJSON() ([]byte, error) {
+ type noMethod CacheInvalidationRule
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// CacheKeyPolicy: Message containing what to include in the cache key
+// for a request for Cloud CDN.
+type CacheKeyPolicy struct {
+ // IncludeHost: If true, requests to different hosts will be cached
+ // separately.
+ IncludeHost bool `json:"includeHost,omitempty"`
+
+ // IncludeProtocol: If true, http and https requests will be cached
+ // separately.
+ IncludeProtocol bool `json:"includeProtocol,omitempty"`
+
+ // IncludeQueryString: If true, include query string parameters in the
+ // cache key according to query_string_whitelist and
+ // query_string_blacklist. If neither is set, the entire query string
+ // will be included. If false, the query string will be excluded from
+ // the cache key entirely.
+ IncludeQueryString bool `json:"includeQueryString,omitempty"`
+
+ // QueryStringBlacklist: Names of query string parameters to exclude in
+ // cache keys. All other parameters will be included. Either specify
+ // query_string_whitelist or query_string_blacklist, not both. '&' and
+ // '=' will be percent encoded and not treated as delimiters.
+ QueryStringBlacklist []string `json:"queryStringBlacklist,omitempty"`
+
+ // QueryStringWhitelist: Names of query string parameters to include in
+ // cache keys. All other parameters will be excluded. Either specify
+ // query_string_whitelist or query_string_blacklist, not both. '&' and
+ // '=' will be percent encoded and not treated as delimiters.
+ QueryStringWhitelist []string `json:"queryStringWhitelist,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "IncludeHost") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IncludeHost") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CacheKeyPolicy) MarshalJSON() ([]byte, error) {
+ type noMethod CacheKeyPolicy
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// Commitment: Represents a Commitment resource. Creating a Commitment
+// resource means that you are purchasing a committed use contract with
+// an explicit start and end time. You can create commitments based on
+// vCPUs and memory usage and receive discounted rates. For full
+// details, read Signing Up for Committed Use Discounts.
+//
+// Committed use discounts are subject to Google Cloud Platform's
+// Service Specific Terms. By purchasing a committed use discount, you
+// agree to these terms. Committed use discounts will not renew, so you
+// must purchase a new commitment to continue receiving discounts.
+type Commitment struct {
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional description of this resource. Provide this
+ // property when you create the resource.
+ Description string `json:"description,omitempty"`
+
+ // EndTimestamp: [Output Only] Commitment end time in RFC3339 text
+ // format.
+ EndTimestamp string `json:"endTimestamp,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: [Output Only] Type of the resource. Always compute#commitment
+ // for commitments.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // Plan: The plan for this commitment, which determines duration and
+ // discount rate. The currently supported plans are TWELVE_MONTH (1
+ // year), and THIRTY_SIX_MONTH (3 years).
+ //
+ // Possible values:
+ // "INVALID"
+ // "THIRTY_SIX_MONTH"
+ // "TWELVE_MONTH"
+ Plan string `json:"plan,omitempty"`
+
+ // Region: [Output Only] URL of the region where this commitment may be
+ // used.
+ Region string `json:"region,omitempty"`
+
+ // Resources: List of commitment amounts for particular resources. Note
+ // that VCPU and MEMORY resource commitments must occur together.
+ Resources []*ResourceCommitment `json:"resources,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // StartTimestamp: [Output Only] Commitment start time in RFC3339 text
+ // format.
+ StartTimestamp string `json:"startTimestamp,omitempty"`
+
+ // Status: [Output Only] Status of the commitment with regards to
+ // eventual expiration (each commitment has an end date defined). One of
+ // the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.
+ //
+ // Possible values:
+ // "ACTIVE"
+ // "CREATING"
+ // "EXPIRED"
+ // "NOT_YET_ACTIVE"
+ Status string `json:"status,omitempty"`
+
+ // StatusMessage: [Output Only] An optional, human-readable explanation
+ // of the status.
+ StatusMessage string `json:"statusMessage,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *Commitment) MarshalJSON() ([]byte, error) {
+ type noMethod Commitment
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type CommitmentAggregatedList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: Commitments by scope.
+ Items map[string]CommitmentsScopedList `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always
+ // compute#commitmentAggregatedList for aggregated lists of commitments.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CommitmentAggregatedList) MarshalJSON() ([]byte, error) {
+ type noMethod CommitmentAggregatedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// CommitmentList: Contains a list of Commitment resources.
+type CommitmentList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of Commitment resources.
+ Items []*Commitment `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always compute#commitmentList
+ // for lists of commitments.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CommitmentList) MarshalJSON() ([]byte, error) {
+ type noMethod CommitmentList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type CommitmentsScopedList struct {
+ // Commitments: [Output Only] List of commitments contained in this
+ // scope.
+ Commitments []*Commitment `json:"commitments,omitempty"`
+
+ // Warning: [Output Only] Informational warning which replaces the list
+ // of commitments when the list is empty.
+ Warning *CommitmentsScopedListWarning `json:"warning,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Commitments") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Commitments") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CommitmentsScopedList) MarshalJSON() ([]byte, error) {
+ type noMethod CommitmentsScopedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// CommitmentsScopedListWarning: [Output Only] Informational warning
+// which replaces the list of commitments when the list is empty.
+type CommitmentsScopedListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
+ // the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED"
+ // "DEPRECATED_RESOURCE_USED"
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
+ // "INJECTED_KERNELS_DEPRECATED"
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ // "NEXT_HOP_CANNOT_IP_FORWARD"
+ // "NEXT_HOP_INSTANCE_NOT_FOUND"
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ // "NEXT_HOP_NOT_RUNNING"
+ // "NOT_CRITICAL_ERROR"
+ // "NO_RESULTS_ON_PAGE"
+ // "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ // "RESOURCE_NOT_DELETED"
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ // "UNREACHABLE"
+ Code string `json:"code,omitempty"`
+
+ // Data: [Output Only] Metadata about this warning in key: value format.
+ // For example:
+ // "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ Data []*CommitmentsScopedListWarningData `json:"data,omitempty"`
+
+ // Message: [Output Only] A human-readable description of the warning
+ // code.
+ Message string `json:"message,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Code") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CommitmentsScopedListWarning) MarshalJSON() ([]byte, error) {
+ type noMethod CommitmentsScopedListWarning
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type CommitmentsScopedListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being returned. For example, for warnings where there are no results
+ // in a list request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP
+ // forwarding).
+ Key string `json:"key,omitempty"`
+
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Key") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CommitmentsScopedListWarningData) MarshalJSON() ([]byte, error) {
+ type noMethod CommitmentsScopedListWarningData
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// ConnectionDraining: Message containing connection draining
+// configuration.
+type ConnectionDraining struct {
+ // DrainingTimeoutSec: Time for which instance will be drained (not
+ // accept new connections, but still work to finish started).
+ DrainingTimeoutSec int64 `json:"drainingTimeoutSec,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "DrainingTimeoutSec")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DrainingTimeoutSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ConnectionDraining) MarshalJSON() ([]byte, error) {
+ type noMethod ConnectionDraining
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// CustomerEncryptionKey: Represents a customer-supplied encryption key
+type CustomerEncryptionKey struct {
+ // RawKey: Specifies a 256-bit customer-supplied encryption key, encoded
+ // in RFC 4648 base64 to either encrypt or decrypt this resource.
+ RawKey string `json:"rawKey,omitempty"`
+
+ // Sha256: [Output only] The RFC 4648 base64 encoded SHA-256 hash of the
+ // customer-supplied encryption key that protects this resource.
+ Sha256 string `json:"sha256,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "RawKey") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "RawKey") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CustomerEncryptionKey) MarshalJSON() ([]byte, error) {
+ type noMethod CustomerEncryptionKey
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type CustomerEncryptionKeyProtectedDisk struct {
+ // DiskEncryptionKey: Decrypts data associated with the disk with a
+ // customer-supplied encryption key.
+ DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"`
+
+ // Source: Specifies a valid partial or full URL to an existing
+ // Persistent Disk resource. This field is only applicable for
+ // persistent disks.
+ Source string `json:"source,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "DiskEncryptionKey")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DiskEncryptionKey") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *CustomerEncryptionKeyProtectedDisk) MarshalJSON() ([]byte, error) {
+ type noMethod CustomerEncryptionKeyProtectedDisk
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeprecationStatus: Deprecation status for a public resource.
type DeprecationStatus struct {
- // Deleted: An optional RFC3339 timestamp on or after which the
- // deprecation state of this resource will be changed to DELETED.
+ // Deleted: An optional RFC3339 timestamp on or after which the state of
+ // this resource is intended to change to DELETED. This is only
+ // informational and the status will not change unless the client
+ // explicitly changes it.
Deleted string `json:"deleted,omitempty"`
- // Deprecated: An optional RFC3339 timestamp on or after which the
- // deprecation state of this resource will be changed to DEPRECATED.
+ // Deprecated: An optional RFC3339 timestamp on or after which the state
+ // of this resource is intended to change to DEPRECATED. This is only
+ // informational and the status will not change unless the client
+ // explicitly changes it.
Deprecated string `json:"deprecated,omitempty"`
- // Obsolete: An optional RFC3339 timestamp on or after which the
- // deprecation state of this resource will be changed to OBSOLETE.
+ // Obsolete: An optional RFC3339 timestamp on or after which the state
+ // of this resource is intended to change to OBSOLETE. This is only
+ // informational and the status will not change unless the client
+ // explicitly changes it.
Obsolete string `json:"obsolete,omitempty"`
// Replacement: The URL of the suggested replacement for a deprecated
@@ -1668,12 +3463,20 @@ type DeprecationStatus struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Deleted") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DeprecationStatus) MarshalJSON() ([]byte, error) {
type noMethod DeprecationStatus
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Disk: A Disk resource.
@@ -1686,6 +3489,22 @@ type Disk struct {
// property when you create the resource.
Description string `json:"description,omitempty"`
+ // DiskEncryptionKey: Encrypts the disk using a customer-supplied
+ // encryption key.
+ //
+ // After you encrypt a disk with a customer-supplied key, you must
+ // provide the same key if you use the disk later (e.g. to create a disk
+ // snapshot or an image, or to attach the disk to a virtual
+ // machine).
+ //
+ // Customer-supplied encryption keys do not protect access to metadata
+ // of the disk.
+ //
+ // If you do not provide an encryption key when creating the disk, then
+ // the disk will be encrypted using an automatically generated key and
+ // you do not need to provide a key to use the disk later.
+ DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"`
+
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
@@ -1694,6 +3513,21 @@ type Disk struct {
// disks.
Kind string `json:"kind,omitempty"`
+ // LabelFingerprint: A fingerprint for the labels being applied to this
+ // disk, which is essentially a hash of the labels set used for
+ // optimistic locking. The fingerprint is initially generated by Compute
+ // Engine and changes after every request to modify or update labels.
+ // You must always provide an up-to-date fingerprint hash in order to
+ // update or change labels.
+ //
+ // To see the latest fingerprint, make a get() request to retrieve a
+ // disk.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: Labels to apply to this disk. These can be later modified by
+ // the setLabels method.
+ Labels map[string]string `json:"labels,omitempty"`
+
// LastAttachTimestamp: [Output Only] Last attach timestamp in RFC3339
// text format.
LastAttachTimestamp string `json:"lastAttachTimestamp,omitempty"`
@@ -1702,7 +3536,7 @@ type Disk struct {
// text format.
LastDetachTimestamp string `json:"lastDetachTimestamp,omitempty"`
- // Licenses: [Output Only] Any applicable publicly visible licenses.
+ // Licenses: Any applicable publicly visible licenses.
Licenses []string `json:"licenses,omitempty"`
// Name: Name of the resource. Provided by the client when the resource
@@ -1759,6 +3593,11 @@ type Disk struct {
// global/images/family/my-private-family
SourceImage string `json:"sourceImage,omitempty"`
+ // SourceImageEncryptionKey: The customer-supplied encryption key of the
+ // source image. Required if the source image is protected by a
+ // customer-supplied encryption key.
+ SourceImageEncryptionKey *CustomerEncryptionKey `json:"sourceImageEncryptionKey,omitempty"`
+
// SourceImageId: [Output Only] The ID value of the image used to create
// this disk. This value identifies the exact image that was used to
// create this persistent disk. For example, if you created the
@@ -1776,6 +3615,11 @@ type Disk struct {
// - global/snapshots/snapshot
SourceSnapshot string `json:"sourceSnapshot,omitempty"`
+ // SourceSnapshotEncryptionKey: The customer-supplied encryption key of
+ // the source snapshot. Required if the source snapshot is protected by
+ // a customer-supplied encryption key.
+ SourceSnapshotEncryptionKey *CustomerEncryptionKey `json:"sourceSnapshotEncryptionKey,omitempty"`
+
// SourceSnapshotId: [Output Only] The unique ID of the snapshot used to
// create this disk. This value identifies the exact snapshot that was
// used to create this persistent disk. For example, if you created the
@@ -1784,8 +3628,7 @@ type Disk struct {
// version of the snapshot that was used.
SourceSnapshotId string `json:"sourceSnapshotId,omitempty"`
- // Status: [Output Only] The status of disk creation. Applicable
- // statuses includes: CREATING, FAILED, READY, RESTORING.
+ // Status: [Output Only] The status of disk creation.
//
// Possible values:
// "CREATING"
@@ -1816,12 +3659,21 @@ type Disk struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Disk) MarshalJSON() ([]byte, error) {
type noMethod Disk
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DiskAggregatedList struct {
@@ -1841,7 +3693,8 @@ type DiskAggregatedList struct {
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
- // the results.
+ // the results. Acceptable values are 0 to 500, inclusive. (Default:
+ // 500)
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
@@ -1858,33 +3711,40 @@ type DiskAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod DiskAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiskList: A list of Disk resources.
type DiskList struct {
- // Id: [Output Only] The unique identifier for the resource. This
- // identifier is defined by the server.
+ // Id: [Output Only] Unique identifier for the resource; defined by the
+ // server.
Id string `json:"id,omitempty"`
- // Items: [Output Only] A list of persistent disks.
+ // Items: A list of Disk resources.
Items []*Disk `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always compute#diskList for
// lists of disks.
Kind string `json:"kind,omitempty"`
- // NextPageToken: [Output Only] This token allows you to get the next
- // page of results for list requests. If the number of results is larger
- // than maxResults, use the nextPageToken as a value for the query
- // parameter pageToken in the next list request. Subsequent list
- // requests will have their own nextPageToken to continue paging through
- // the results.
+ // NextPageToken: This token allows you to get the next page of results
+ // for list requests. If the number of results is larger than
+ // maxResults, use the nextPageToken as a value for the query parameter
+ // pageToken in the next list request. Subsequent list requests will
+ // have their own nextPageToken to continue paging through the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
@@ -1901,12 +3761,20 @@ type DiskList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskList) MarshalJSON() ([]byte, error) {
type noMethod DiskList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DiskMoveRequest struct {
@@ -1935,12 +3803,21 @@ type DiskMoveRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DestinationZone") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *DiskMoveRequest) MarshalJSON() ([]byte, error) {
type noMethod DiskMoveRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiskType: A DiskType resource.
@@ -1992,12 +3869,21 @@ type DiskType struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *DiskType) MarshalJSON() ([]byte, error) {
type noMethod DiskType
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DiskTypeAggregatedList struct {
@@ -2034,12 +3920,20 @@ type DiskTypeAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskTypeAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod DiskTypeAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiskTypeList: Contains a list of disk types.
@@ -2077,12 +3971,20 @@ type DiskTypeList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskTypeList) MarshalJSON() ([]byte, error) {
type noMethod DiskTypeList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DiskTypesScopedList struct {
@@ -2100,12 +4002,20 @@ type DiskTypesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DiskTypes") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskTypesScopedList) MarshalJSON() ([]byte, error) {
type noMethod DiskTypesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DiskTypesScopedListWarning: [Output Only] Informational warning which
@@ -2119,6 +4029,7 @@ type DiskTypesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -2128,6 +4039,7 @@ type DiskTypesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -2149,12 +4061,20 @@ type DiskTypesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskTypesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod DiskTypesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DiskTypesScopedListWarningData struct {
@@ -2178,12 +4098,20 @@ type DiskTypesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DiskTypesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod DiskTypesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DisksResizeRequest struct {
@@ -2198,12 +4126,20 @@ type DisksResizeRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "SizeGb") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DisksResizeRequest) MarshalJSON() ([]byte, error) {
type noMethod DisksResizeRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DisksScopedList struct {
@@ -2221,12 +4157,20 @@ type DisksScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Disks") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DisksScopedList) MarshalJSON() ([]byte, error) {
type noMethod DisksScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DisksScopedListWarning: [Output Only] Informational warning which
@@ -2240,6 +4184,7 @@ type DisksScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -2249,6 +4194,7 @@ type DisksScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -2270,12 +4216,20 @@ type DisksScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DisksScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod DisksScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DisksScopedListWarningData struct {
@@ -2299,19 +4253,27 @@ type DisksScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *DisksScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod DisksScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Firewall: Represents a Firewall resource.
type Firewall struct {
- // Allowed: The list of rules specified by this firewall. Each rule
- // specifies a protocol and port-range tuple that describes a permitted
- // connection.
+ // Allowed: The list of ALLOW rules specified by this firewall. Each
+ // rule specifies a protocol and port-range tuple that describes a
+ // permitted connection.
Allowed []*FirewallAllowed `json:"allowed,omitempty"`
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
@@ -2326,7 +4288,7 @@ type Firewall struct {
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
- // Kind: [Output Ony] Type of the resource. Always compute#firewall for
+ // Kind: [Output Only] Type of the resource. Always compute#firewall for
// firewall rules.
Kind string `json:"kind,omitempty"`
@@ -2355,23 +4317,25 @@ type Firewall struct {
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
- // SourceRanges: The IP address blocks that this rule applies to,
- // expressed in CIDR format. One or both of sourceRanges and sourceTags
- // may be set.
- //
- // If both properties are set, an inbound connection is allowed if the
- // range matches the sourceRanges OR the tag of the source matches the
- // sourceTags property. The connection does not need to match both
- // properties.
+ // SourceRanges: If source ranges are specified, the firewall will apply
+ // only to traffic that has source IP address in these ranges. These
+ // ranges must be expressed in CIDR format. One or both of sourceRanges
+ // and sourceTags may be set. If both properties are set, the firewall
+ // will apply to traffic that has source IP address within sourceRanges
+ // OR the source IP that belongs to a tag listed in the sourceTags
+ // property. The connection does not need to match both properties for
+ // the firewall to apply. Only IPv4 is supported.
SourceRanges []string `json:"sourceRanges,omitempty"`
- // SourceTags: A list of instance tags which this rule applies to. One
- // or both of sourceRanges and sourceTags may be set.
- //
- // If both properties are set, an inbound connection is allowed if the
- // range matches the sourceRanges OR the tag of the source matches the
- // sourceTags property. The connection does not need to match both
- // properties.
+ // SourceTags: If source tags are specified, the firewall will apply
+ // only to traffic with source IP that belongs to a tag listed in source
+ // tags. Source tags cannot be used to control traffic to an instance's
+ // external IP address. Because tags are associated with an instance,
+ // not an IP address. One or both of sourceRanges and sourceTags may be
+ // set. If both properties are set, the firewall will apply to traffic
+ // that has source IP address within sourceRanges OR the source IP that
+ // belongs to a tag listed in the sourceTags property. The connection
+ // does not need to match both properties for the firewall to apply.
SourceTags []string `json:"sourceTags,omitempty"`
// TargetTags: A list of instance tags indicating sets of instances
@@ -2391,25 +4355,33 @@ type Firewall struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Allowed") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Firewall) MarshalJSON() ([]byte, error) {
type noMethod Firewall
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type FirewallAllowed struct {
- // IPProtocol: The IP protocol that is allowed for this rule. The
- // protocol type is required when creating a firewall rule. This value
- // can either be one of the following well known protocol strings (tcp,
- // udp, icmp, esp, ah, sctp), or the IP protocol number.
+ // IPProtocol: The IP protocol to which this rule applies. The protocol
+ // type is required when creating a firewall rule. This value can either
+ // be one of the following well known protocol strings (tcp, udp, icmp,
+ // esp, ah, sctp), or the IP protocol number.
IPProtocol string `json:"IPProtocol,omitempty"`
- // Ports: An optional list of ports which are allowed. This field is
- // only applicable for UDP or TCP protocol. Each entry must be either an
- // integer or a range. If not specified, connections through any port
- // are allowed
+ // Ports: An optional list of ports to which this rule applies. This
+ // field is only applicable for UDP or TCP protocol. Each entry must be
+ // either an integer or a range. If not specified, this rule applies to
+ // connections through any port.
//
// Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
Ports []string `json:"ports,omitempty"`
@@ -2421,12 +4393,20 @@ type FirewallAllowed struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IPProtocol") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *FirewallAllowed) MarshalJSON() ([]byte, error) {
type noMethod FirewallAllowed
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FirewallList: Contains a list of firewalls.
@@ -2464,37 +4444,66 @@ type FirewallList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *FirewallList) MarshalJSON() ([]byte, error) {
type noMethod FirewallList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ForwardingRule: A ForwardingRule resource. A ForwardingRule resource
// specifies which pool of target virtual machines to forward a packet
-// to if it matches the given [IPAddress, IPProtocol, portRange] tuple.
+// to if it matches the given [IPAddress, IPProtocol, ports] tuple.
type ForwardingRule struct {
- // IPAddress: Value of the reserved IP address that this forwarding rule
- // is serving on behalf of. For global forwarding rules, the address
- // must be a global IP; for regional forwarding rules, the address must
- // live in the same region as the forwarding rule. If left empty
- // (default value), an ephemeral IP from the same scope (global or
- // regional) will be assigned.
+ // IPAddress: The IP address that this forwarding rule is serving on
+ // behalf of.
+ //
+ // For global forwarding rules, the address must be a global IP. For
+ // regional forwarding rules, the address must live in the same region
+ // as the forwarding rule. By default, this field is empty and an
+ // ephemeral IPv4 address from the same scope (global or regional) will
+ // be assigned. A regional forwarding rule supports IPv4 only. A global
+ // forwarding rule supports either IPv4 or IPv6.
+ //
+ // When the load balancing scheme is INTERNAL, this can only be an RFC
+ // 1918 IP address belonging to the network/subnetwork configured for
+ // the forwarding rule. A reserved address cannot be used. If the field
+ // is empty, the IP address will be automatically allocated from the
+ // internal IP range of the subnetwork or network configured for this
+ // forwarding rule.
IPAddress string `json:"IPAddress,omitempty"`
// IPProtocol: The IP protocol to which this rule applies. Valid options
// are TCP, UDP, ESP, AH, SCTP or ICMP.
//
+ // When the load balancing scheme is INTERNAL, only TCP and UDP are
+ // valid.
+ //
// Possible values:
// "AH"
// "ESP"
+ // "ICMP"
// "SCTP"
// "TCP"
// "UDP"
IPProtocol string `json:"IPProtocol,omitempty"`
+ // BackendService: This field is not used for external load
+ // balancing.
+ //
+ // For internal load balancing, this field identifies the BackendService
+ // resource to receive the matched traffic.
+ BackendService string `json:"backendService,omitempty"`
+
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
@@ -2507,10 +4516,33 @@ type ForwardingRule struct {
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
+ // IpVersion: The IP Version that will be used by this forwarding rule.
+ // Valid options are IPV4 or IPV6. This can only be specified for a
+ // global forwarding rule.
+ //
+ // Possible values:
+ // "IPV4"
+ // "IPV6"
+ // "UNSPECIFIED_VERSION"
+ IpVersion string `json:"ipVersion,omitempty"`
+
// Kind: [Output Only] Type of the resource. Always
// compute#forwardingRule for Forwarding Rule resources.
Kind string `json:"kind,omitempty"`
+ // LoadBalancingScheme: This signifies what the ForwardingRule will be
+ // used for and can only take the following values: INTERNAL, EXTERNAL
+ // The value of INTERNAL means that this will be used for Internal
+ // Network Load Balancing (TCP, UDP). The value of EXTERNAL means that
+ // this will be used for External Load Balancing (HTTP(S) LB, External
+ // TCP/UDP LB, SSL Proxy)
+ //
+ // Possible values:
+ // "EXTERNAL"
+ // "INTERNAL"
+ // "INVALID"
+ LoadBalancingScheme string `json:"loadBalancingScheme,omitempty"`
+
// Name: Name of the resource; provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
@@ -2520,12 +4552,45 @@ type ForwardingRule struct {
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
- // PortRange: Applicable only when IPProtocol is TCP, UDP, or SCTP, only
- // packets addressed to ports in the specified range will be forwarded
- // to target. Forwarding rules with the same [IPAddress, IPProtocol]
- // pair must have disjoint port ranges.
+ // Network: This field is not used for external load balancing.
+ //
+ // For internal load balancing, this field identifies the network that
+ // the load balanced IP should belong to for this Forwarding Rule. If
+ // this field is not specified, the default network will be used.
+ Network string `json:"network,omitempty"`
+
+ // PortRange: This field is used along with the target field for
+ // TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy,
+ // TargetVpnGateway, TargetPool, TargetInstance.
+ //
+ // Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets
+ // addressed to ports in the specified range will be forwarded to
+ // target. Forwarding rules with the same [IPAddress, IPProtocol] pair
+ // must have disjoint port ranges.
+ //
+ // Some types of forwarding target have constraints on the acceptable
+ // ports:
+ // - TargetHttpProxy: 80, 8080
+ // - TargetHttpsProxy: 443
+ // - TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995
+ //
+ // - TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995
+ //
+ // - TargetVpnGateway: 500, 4500
+ // -
PortRange string `json:"portRange,omitempty"`
+ // Ports: This field is used along with the backend_service field for
+ // internal load balancing.
+ //
+ // When the load balancing scheme is INTERNAL, a single port or a comma
+ // separated list of ports can be configured. Only packets addressed to
+ // these ports will be forwarded to the backends configured with this
+ // forwarding rule.
+ //
+ // You may specify a maximum of up to 5 ports.
+ Ports []string `json:"ports,omitempty"`
+
// Region: [Output Only] URL of the region where the regional forwarding
// rule resides. This field is not applicable to global forwarding
// rules.
@@ -2534,13 +4599,24 @@ type ForwardingRule struct {
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // Subnetwork: This field is not used for external load balancing.
+ //
+ // For internal load balancing, this field identifies the subnetwork
+ // that the load balanced IP should belong to for this Forwarding
+ // Rule.
+ //
+ // If the network specified is in auto subnet mode, this field is
+ // optional. However, if the network is in custom subnet mode, a
+ // subnetwork must be specified.
+ Subnetwork string `json:"subnetwork,omitempty"`
+
// Target: The URL of the target resource to receive the matched
// traffic. For regional forwarding rules, this target must live in the
// same region as the forwarding rule. For global forwarding rules, this
- // target must be a global TargetHttpProxy or TargetHttpsProxy resource.
- // The forwarded traffic must be of a type appropriate to the target
- // object. For example, TargetHttpProxy requires HTTP traffic, and
- // TargetHttpsProxy requires HTTPS traffic.
+ // target must be a global load balancing resource. The forwarded
+ // traffic must be of a type appropriate to the target object.
+ //
+ // This field is not used for internal load balancing.
Target string `json:"target,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -2554,12 +4630,20 @@ type ForwardingRule struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IPAddress") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRule) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRule
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ForwardingRuleAggregatedList struct {
@@ -2596,12 +4680,20 @@ type ForwardingRuleAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRuleAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRuleAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ForwardingRuleList: Contains a list of ForwardingRule resources.
@@ -2638,12 +4730,20 @@ type ForwardingRuleList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRuleList) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRuleList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ForwardingRulesScopedList struct {
@@ -2661,12 +4761,21 @@ type ForwardingRulesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ForwardingRules") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRulesScopedList) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRulesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ForwardingRulesScopedListWarning: Informational warning which
@@ -2680,6 +4789,7 @@ type ForwardingRulesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -2689,6 +4799,7 @@ type ForwardingRulesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -2710,12 +4821,20 @@ type ForwardingRulesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRulesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRulesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ForwardingRulesScopedListWarningData struct {
@@ -2739,12 +4858,348 @@ type ForwardingRulesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ForwardingRulesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod ForwardingRulesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type GlobalSetLabelsRequest struct {
+ // LabelFingerprint: The fingerprint of the previous set of labels for
+ // this resource, used to detect conflicts. The fingerprint is initially
+ // generated by Compute Engine and changes after every request to modify
+ // or update labels. You must always provide an up-to-date fingerprint
+ // hash when updating or changing labels. Make a get() request to the
+ // resource to get the latest fingerprint.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: A list of labels to apply for this resource. Each label key &
+ // value must comply with RFC1035. Specifically, the name must be 1-63
+ // characters long and match the regular expression
+ // [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a
+ // lowercase letter, and all following characters must be a dash,
+ // lowercase letter, or digit, except the last character, which cannot
+ // be a dash. For example, "webserver-frontend": "images". A label value
+ // can also be empty (e.g. "my-label": "").
+ Labels map[string]string `json:"labels,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "LabelFingerprint") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "LabelFingerprint") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GlobalSetLabelsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod GlobalSetLabelsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// GuestOsFeature: Guest OS features.
+type GuestOsFeature struct {
+ // Type: The type of supported feature. Currently only
+ // VIRTIO_SCSI_MULTIQUEUE is supported. For newer Windows images, the
+ // server might also populate this property with the value WINDOWS to
+ // indicate that this is a Windows image. This value is purely
+ // informational and does not enable or disable any features.
+ //
+ // Possible values:
+ // "FEATURE_TYPE_UNSPECIFIED"
+ // "VIRTIO_SCSI_MULTIQUEUE"
+ // "WINDOWS"
+ Type string `json:"type,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Type") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Type") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GuestOsFeature) MarshalJSON() ([]byte, error) {
+ type noMethod GuestOsFeature
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type HTTPHealthCheck struct {
+ // Host: The value of the host header in the HTTP health check request.
+ // If left empty (default value), the IP on behalf of which this health
+ // check is performed will be used.
+ Host string `json:"host,omitempty"`
+
+ // Port: The TCP port number for the health check request. The default
+ // value is 80. Valid values are 1 through 65535.
+ Port int64 `json:"port,omitempty"`
+
+ // PortName: Port name as defined in InstanceGroup#NamedPort#name. If
+ // both port and port_name are defined, port takes precedence.
+ PortName string `json:"portName,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // RequestPath: The request path of the HTTP health check request. The
+ // default value is /.
+ RequestPath string `json:"requestPath,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Host") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Host") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *HTTPHealthCheck) MarshalJSON() ([]byte, error) {
+ type noMethod HTTPHealthCheck
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type HTTPSHealthCheck struct {
+ // Host: The value of the host header in the HTTPS health check request.
+ // If left empty (default value), the IP on behalf of which this health
+ // check is performed will be used.
+ Host string `json:"host,omitempty"`
+
+ // Port: The TCP port number for the health check request. The default
+ // value is 443. Valid values are 1 through 65535.
+ Port int64 `json:"port,omitempty"`
+
+ // PortName: Port name as defined in InstanceGroup#NamedPort#name. If
+ // both port and port_name are defined, port takes precedence.
+ PortName string `json:"portName,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // RequestPath: The request path of the HTTPS health check request. The
+ // default value is /.
+ RequestPath string `json:"requestPath,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Host") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Host") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *HTTPSHealthCheck) MarshalJSON() ([]byte, error) {
+ type noMethod HTTPSHealthCheck
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// HealthCheck: An HealthCheck resource. This resource defines a
+// template for how individual virtual machines should be checked for
+// health, via one of the supported protocols.
+type HealthCheck struct {
+ // CheckIntervalSec: How often (in seconds) to send a health check. The
+ // default value is 5 seconds.
+ CheckIntervalSec int64 `json:"checkIntervalSec,omitempty"`
+
+ // CreationTimestamp: [Output Only] Creation timestamp in 3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional description of this resource. Provide this
+ // property when you create the resource.
+ Description string `json:"description,omitempty"`
+
+ // HealthyThreshold: A so-far unhealthy instance will be marked healthy
+ // after this many consecutive successes. The default value is 2.
+ HealthyThreshold int64 `json:"healthyThreshold,omitempty"`
+
+ HttpHealthCheck *HTTPHealthCheck `json:"httpHealthCheck,omitempty"`
+
+ HttpsHealthCheck *HTTPSHealthCheck `json:"httpsHealthCheck,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: Type of the resource.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ SslHealthCheck *SSLHealthCheck `json:"sslHealthCheck,omitempty"`
+
+ TcpHealthCheck *TCPHealthCheck `json:"tcpHealthCheck,omitempty"`
+
+ // TimeoutSec: How long (in seconds) to wait before claiming failure.
+ // The default value is 5 seconds. It is invalid for timeoutSec to have
+ // greater value than checkIntervalSec.
+ TimeoutSec int64 `json:"timeoutSec,omitempty"`
+
+ // Type: Specifies the type of the healthCheck, either TCP, SSL, HTTP or
+ // HTTPS. If not specified, the default is TCP. Exactly one of the
+ // protocol-specific health check field must be specified, which must
+ // match type field.
+ //
+ // Possible values:
+ // "HTTP"
+ // "HTTPS"
+ // "INVALID"
+ // "SSL"
+ // "TCP"
+ Type string `json:"type,omitempty"`
+
+ // UnhealthyThreshold: A so-far healthy instance will be marked
+ // unhealthy after this many consecutive failures. The default value is
+ // 2.
+ UnhealthyThreshold int64 `json:"unhealthyThreshold,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "CheckIntervalSec") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CheckIntervalSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *HealthCheck) MarshalJSON() ([]byte, error) {
+ type noMethod HealthCheck
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// HealthCheckList: Contains a list of HealthCheck resources.
+type HealthCheckList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of HealthCheck resources.
+ Items []*HealthCheck `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *HealthCheckList) MarshalJSON() ([]byte, error) {
+ type noMethod HealthCheckList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HealthCheckReference: A full or valid partial URL to a health check.
@@ -2763,12 +5218,20 @@ type HealthCheckReference struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthCheck") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *HealthCheckReference) MarshalJSON() ([]byte, error) {
type noMethod HealthCheckReference
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type HealthStatus struct {
@@ -2795,12 +5258,20 @@ type HealthStatus struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthState") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *HealthStatus) MarshalJSON() ([]byte, error) {
type noMethod HealthStatus
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HostRule: UrlMaps A host-matching rule for a URL. If matched, will
@@ -2827,12 +5298,20 @@ type HostRule struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Description") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *HostRule) MarshalJSON() ([]byte, error) {
type noMethod HostRule
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpHealthCheck: An HttpHealthCheck resource. This resource defines a
@@ -2909,12 +5388,21 @@ type HttpHealthCheck struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CheckIntervalSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *HttpHealthCheck) MarshalJSON() ([]byte, error) {
type noMethod HttpHealthCheck
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpHealthCheckList: Contains a list of HttpHealthCheck resources.
@@ -2951,12 +5439,20 @@ type HttpHealthCheckList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *HttpHealthCheckList) MarshalJSON() ([]byte, error) {
type noMethod HttpHealthCheckList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpsHealthCheck: An HttpsHealthCheck resource. This resource defines
@@ -3032,12 +5528,21 @@ type HttpsHealthCheck struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CheckIntervalSec") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *HttpsHealthCheck) MarshalJSON() ([]byte, error) {
type noMethod HttpsHealthCheck
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HttpsHealthCheckList: Contains a list of HttpsHealthCheck resources.
@@ -3074,12 +5579,20 @@ type HttpsHealthCheckList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *HttpsHealthCheckList) MarshalJSON() ([]byte, error) {
type noMethod HttpsHealthCheckList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Image: An Image resource.
@@ -3106,18 +5619,63 @@ type Image struct {
// Family: The name of the image family to which this image belongs. You
// can create disks by specifying an image family instead of a specific
// image name. The image family always returns its latest image that is
- // not deprecated.
+ // not deprecated. The name of the image family must comply with
+ // RFC1035.
Family string `json:"family,omitempty"`
+ // GuestOsFeatures: A list of features to enable on the guest OS.
+ // Applicable for bootable images only. Currently, only one feature can
+ // be enabled, VIRTIO_SCSI_MULTIQUEUE, which allows each virtual CPU to
+ // have its own queue. For Windows images, you can only enable
+ // VIRTIO_SCSI_MULTIQUEUE on images with driver version 1.2.0.1621 or
+ // higher. Linux images with kernel versions 3.17 and higher will
+ // support VIRTIO_SCSI_MULTIQUEUE.
+ //
+ // For new Windows images, the server might also populate this field
+ // with the value WINDOWS, to indicate that this is a Windows image.
+ // This value is purely informational and does not enable or disable any
+ // features.
+ GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"`
+
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
+ // ImageEncryptionKey: Encrypts the image using a customer-supplied
+ // encryption key.
+ //
+ // After you encrypt an image with a customer-supplied key, you must
+ // provide the same key if you use the image later (e.g. to create a
+ // disk from the image).
+ //
+ // Customer-supplied encryption keys do not protect access to metadata
+ // of the disk.
+ //
+ // If you do not provide an encryption key when creating the image, then
+ // the disk will be encrypted using an automatically generated key and
+ // you do not need to provide a key to use the image later.
+ ImageEncryptionKey *CustomerEncryptionKey `json:"imageEncryptionKey,omitempty"`
+
// Kind: [Output Only] Type of the resource. Always compute#image for
// images.
Kind string `json:"kind,omitempty"`
- // Licenses: Any applicable publicly visible licenses.
+ // LabelFingerprint: A fingerprint for the labels being applied to this
+ // image, which is essentially a hash of the labels used for optimistic
+ // locking. The fingerprint is initially generated by Compute Engine and
+ // changes after every request to modify or update labels. You must
+ // always provide an up-to-date fingerprint hash in order to update or
+ // change labels.
+ //
+ // To see the latest fingerprint, make a get() request to retrieve an
+ // image.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: Labels to apply to this image. These can be later modified by
+ // the setLabels method.
+ Labels map[string]string `json:"labels,omitempty"`
+
+ // Licenses: Any applicable license URI.
Licenses []string `json:"licenses,omitempty"`
// Name: Name of the resource; provided by the client when the resource
@@ -3135,16 +5693,21 @@ type Image struct {
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
- // SourceDisk: URL of the The source disk used to create this image.
- // This can be a full or valid partial URL. You must provide either this
+ // SourceDisk: URL of the source disk used to create this image. This
+ // can be a full or valid partial URL. You must provide either this
// property or the rawDisk.source property but not both to create an
// image. For example, the following are valid values:
// -
- // https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk
- // - projects/project/zones/zone/disk/disk
+ // https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
+ // - projects/project/zones/zone/disks/disk
// - zones/zone/disks/disk
SourceDisk string `json:"sourceDisk,omitempty"`
+ // SourceDiskEncryptionKey: The customer-supplied encryption key of the
+ // source disk. Required if the source disk is protected by a
+ // customer-supplied encryption key.
+ SourceDiskEncryptionKey *CustomerEncryptionKey `json:"sourceDiskEncryptionKey,omitempty"`
+
// SourceDiskId: The ID value of the disk used to create this image.
// This value may be used to determine whether the image was taken from
// the current or a previous instance of a given disk name.
@@ -3179,12 +5742,21 @@ type Image struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ArchiveSizeBytes") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Image) MarshalJSON() ([]byte, error) {
type noMethod Image
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImageRawDisk: The parameters of the raw disk image.
@@ -3214,12 +5786,20 @@ type ImageRawDisk struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ContainerType") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ImageRawDisk) MarshalJSON() ([]byte, error) {
type noMethod ImageRawDisk
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ImageList: Contains a list of images.
@@ -3256,12 +5836,20 @@ type ImageList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ImageList) MarshalJSON() ([]byte, error) {
type noMethod ImageList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Instance: An Instance resource.
@@ -3287,6 +5875,10 @@ type Instance struct {
// must be created before you can assign them.
Disks []*AttachedDisk `json:"disks,omitempty"`
+ // GuestAccelerators: List of the type and count of accelerator cards
+ // attached to the instance.
+ GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`
+
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
@@ -3295,6 +5887,20 @@ type Instance struct {
// instances.
Kind string `json:"kind,omitempty"`
+ // LabelFingerprint: A fingerprint for this request, which is
+ // essentially a hash of the metadata's contents and used for optimistic
+ // locking. The fingerprint is initially generated by Compute Engine and
+ // changes after every request to modify or update metadata. You must
+ // always provide an up-to-date fingerprint hash in order to update or
+ // change metadata.
+ //
+ // To see the latest fingerprint, make get() request to the instance.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: Labels to apply to this instance. These can be later modified
+ // by the setLabels method.
+ Labels map[string]string `json:"labels,omitempty"`
+
// MachineType: Full or partial URL of the machine type resource to use
// for this instance, in the format:
// zones/zone/machineTypes/machine-type. This is provided by the client
@@ -3335,25 +5941,32 @@ type Instance struct {
// NetworkInterfaces: An array of configurations for this interface.
// This specifies how this interface is configured to interact with
- // other network services, such as connecting to the internet.
+ // other network services, such as connecting to the internet. Only one
+ // interface is supported per instance.
NetworkInterfaces []*NetworkInterface `json:"networkInterfaces,omitempty"`
- // Scheduling: Scheduling options for this instance.
+ // Scheduling: Sets the scheduling options for this instance.
Scheduling *Scheduling `json:"scheduling,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServiceAccounts: A list of service accounts, with their specified
- // scopes, authorized for this instance. Service accounts generate
- // access tokens that can be accessed through the metadata server and
- // used to authenticate applications on the instance. See Authenticating
- // from Google Compute Engine for more information.
+ // scopes, authorized for this instance. Only one service account per VM
+ // instance is supported.
+ //
+ // Service accounts generate access tokens that can be accessed through
+ // the metadata server and used to authenticate applications on the
+ // instance. See Service Accounts for more information.
ServiceAccounts []*ServiceAccount `json:"serviceAccounts,omitempty"`
+ // StartRestricted: [Output Only] Whether a VM has been restricted for
+ // start because Compute Engine has detected suspicious activity.
+ StartRestricted bool `json:"startRestricted,omitempty"`
+
// Status: [Output Only] The status of the instance. One of the
- // following values: PROVISIONING, STAGING, RUNNING, STOPPING, and
- // TERMINATED.
+ // following values: PROVISIONING, STAGING, RUNNING, STOPPING,
+ // SUSPENDING, SUSPENDED, and TERMINATED.
//
// Possible values:
// "PROVISIONING"
@@ -3391,12 +6004,20 @@ type Instance struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CanIpForward") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Instance) MarshalJSON() ([]byte, error) {
type noMethod Instance
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceAggregatedList struct {
@@ -3434,12 +6055,20 @@ type InstanceAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod InstanceAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroup struct {
@@ -3456,8 +6085,8 @@ type InstanceGroup struct {
// change the named ports concurrently.
Fingerprint string `json:"fingerprint,omitempty"`
- // Id: [Output Only] A unique identifier for this resource type. The
- // server generates this identifier.
+ // Id: [Output Only] A unique identifier for this instance group,
+ // generated by the server.
Id uint64 `json:"id,omitempty,string"`
// Kind: [Output Only] The resource type, which is always
@@ -3483,6 +6112,10 @@ type InstanceGroup struct {
// instance group belong.
Network string `json:"network,omitempty"`
+ // Region: The URL of the region where the instance group is located
+ // (for regional resources).
+ Region string `json:"region,omitempty"`
+
// SelfLink: [Output Only] The URL for this instance group. The server
// generates this URL.
SelfLink string `json:"selfLink,omitempty"`
@@ -3496,7 +6129,7 @@ type InstanceGroup struct {
Subnetwork string `json:"subnetwork,omitempty"`
// Zone: [Output Only] The URL of the zone where the instance group is
- // located.
+ // located (for zonal resources).
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -3510,12 +6143,21 @@ type InstanceGroup struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroup) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroup
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupAggregatedList struct {
@@ -3554,12 +6196,20 @@ type InstanceGroupAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceGroupList: A list of InstanceGroup resources.
@@ -3598,14 +6248,23 @@ type InstanceGroupList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
+// InstanceGroupManager: An Instance Group Manager resource.
type InstanceGroupManager struct {
// BaseInstanceName: The base instance name to use for instances in this
// group. The value must be 1-58 characters long. Instances are named by
@@ -3655,6 +6314,10 @@ type InstanceGroupManager struct {
// complementary to this Instance Group Manager.
NamedPorts []*NamedPort `json:"namedPorts,omitempty"`
+ // Region: [Output Only] The URL of the region where the managed
+ // instance group resides (for regional resources).
+ Region string `json:"region,omitempty"`
+
// SelfLink: [Output Only] The URL for this managed instance group. The
// server defines this URL.
SelfLink string `json:"selfLink,omitempty"`
@@ -3669,8 +6332,8 @@ type InstanceGroupManager struct {
// Resizing the group changes this number.
TargetSize int64 `json:"targetSize,omitempty"`
- // Zone: The name of the zone where the managed instance group is
- // located.
+ // Zone: [Output Only] The URL of the zone where the managed instance
+ // group is located (for zonal resources).
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -3684,12 +6347,21 @@ type InstanceGroupManager struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BaseInstanceName") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManager) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManager
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagerActionsSummary struct {
@@ -3701,10 +6373,21 @@ type InstanceGroupManagerActionsSummary struct {
// Creating: [Output Only] The number of instances in the managed
// instance group that are scheduled to be created or are currently
- // being created. If the group fails to create one of these instances,
+ // being created. If the group fails to create any of these instances,
// it tries again until it creates the instance successfully.
+ //
+ // If you have disabled creation retries, this field will not be
+ // populated; instead, the creatingWithoutRetries field will be
+ // populated.
Creating int64 `json:"creating,omitempty"`
+ // CreatingWithoutRetries: [Output Only] The number of instances that
+ // the managed instance group will attempt to create. The group attempts
+ // to create each instance only once. If the group fails to create any
+ // of these instances, it decreases the group's targetSize value
+ // accordingly.
+ CreatingWithoutRetries int64 `json:"creatingWithoutRetries,omitempty"`
+
// Deleting: [Output Only] The number of instances in the managed
// instance group that are scheduled to be deleted or are currently
// being deleted.
@@ -3739,12 +6422,20 @@ type InstanceGroupManagerActionsSummary struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Abandoning") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagerActionsSummary) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagerActionsSummary
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagerAggregatedList struct {
@@ -3783,12 +6474,20 @@ type InstanceGroupManagerAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagerAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagerAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceGroupManagerList: [Output Only] A list of managed instance
@@ -3814,8 +6513,7 @@ type InstanceGroupManagerList struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] The URL for this resource type. The server
- // generates this URL.
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -3829,17 +6527,26 @@ type InstanceGroupManagerList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagerList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagerList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersAbandonInstancesRequest struct {
- // Instances: The URL for one or more instances to abandon from the
- // managed instance group.
+ // Instances: The URLs of one or more instances to abandon. This can be
+ // a full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
Instances []string `json:"instances,omitempty"`
// ForceSendFields is a list of field names (e.g. "Instances") to
@@ -3849,17 +6556,26 @@ type InstanceGroupManagersAbandonInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersAbandonInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersAbandonInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersDeleteInstancesRequest struct {
- // Instances: The list of instances to delete from this managed instance
- // group. Specify one or more instance URLs.
+ // Instances: The URLs of one or more instances to delete. This can be a
+ // full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
Instances []string `json:"instances,omitempty"`
// ForceSendFields is a list of field names (e.g. "Instances") to
@@ -3869,12 +6585,20 @@ type InstanceGroupManagersDeleteInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersDeleteInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersDeleteInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersListManagedInstancesResponse struct {
@@ -3893,16 +6617,27 @@ type InstanceGroupManagersListManagedInstancesResponse struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ManagedInstances") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersListManagedInstancesResponse) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersListManagedInstancesResponse
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersRecreateInstancesRequest struct {
- // Instances: The URL for one or more instances to recreate.
+ // Instances: The URLs of one or more instances to recreate. This can be
+ // a full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
Instances []string `json:"instances,omitempty"`
// ForceSendFields is a list of field names (e.g. "Instances") to
@@ -3912,12 +6647,20 @@ type InstanceGroupManagersRecreateInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersRecreateInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersRecreateInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersScopedList struct {
@@ -3937,12 +6680,21 @@ type InstanceGroupManagersScopedList struct {
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceGroupManagers") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersScopedList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceGroupManagersScopedListWarning: [Output Only] The warning
@@ -3957,6 +6709,7 @@ type InstanceGroupManagersScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -3966,6 +6719,7 @@ type InstanceGroupManagersScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -3987,12 +6741,20 @@ type InstanceGroupManagersScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersScopedListWarningData struct {
@@ -4016,12 +6778,20 @@ type InstanceGroupManagersScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersSetInstanceTemplateRequest struct {
@@ -4037,12 +6807,21 @@ type InstanceGroupManagersSetInstanceTemplateRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceTemplate") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersSetInstanceTemplateRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersSetInstanceTemplateRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupManagersSetTargetPoolsRequest struct {
@@ -4068,12 +6847,20 @@ type InstanceGroupManagersSetTargetPoolsRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupManagersSetTargetPoolsRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupManagersSetTargetPoolsRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsAddInstancesRequest struct {
@@ -4087,17 +6874,25 @@ type InstanceGroupsAddInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsAddInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsAddInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsListInstances struct {
- // Id: [Output Only] A unique identifier for this list of instance
- // groups. The server generates this identifier.
+ // Id: [Output Only] A unique identifier for this list of instances in
+ // the specified instance group. The server generates this identifier.
Id string `json:"id,omitempty"`
// Items: [Output Only] A list of instances and any named ports that are
@@ -4105,7 +6900,8 @@ type InstanceGroupsListInstances struct {
Items []*InstanceWithNamedPorts `json:"items,omitempty"`
// Kind: [Output Only] The resource type, which is always
- // compute#instanceGroupsListInstances for lists of instance groups.
+ // compute#instanceGroupsListInstances for the list of instances in the
+ // specified instance group.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
@@ -4116,8 +6912,8 @@ type InstanceGroupsListInstances struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] The URL for this list of instance groups. The
- // server generates this URL.
+ // SelfLink: [Output Only] The URL for this list of instances in the
+ // specified instance groups. The server generates this URL.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -4131,12 +6927,20 @@ type InstanceGroupsListInstances struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsListInstances) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsListInstances
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsListInstancesRequest struct {
@@ -4157,12 +6961,20 @@ type InstanceGroupsListInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceState") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsListInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsListInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsRemoveInstancesRequest struct {
@@ -4176,12 +6988,20 @@ type InstanceGroupsRemoveInstancesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsRemoveInstancesRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsRemoveInstancesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsScopedList struct {
@@ -4200,12 +7020,21 @@ type InstanceGroupsScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceGroups") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsScopedList) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceGroupsScopedListWarning: [Output Only] An informational
@@ -4220,6 +7049,7 @@ type InstanceGroupsScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -4229,6 +7059,7 @@ type InstanceGroupsScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -4250,12 +7081,20 @@ type InstanceGroupsScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsScopedListWarningData struct {
@@ -4279,12 +7118,20 @@ type InstanceGroupsScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceGroupsSetNamedPortsRequest struct {
@@ -4306,12 +7153,20 @@ type InstanceGroupsSetNamedPortsRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceGroupsSetNamedPortsRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceList: Contains a list of instances.
@@ -4349,12 +7204,20 @@ type InstanceList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceList) MarshalJSON() ([]byte, error) {
type noMethod InstanceList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceMoveRequest struct {
@@ -4383,12 +7246,21 @@ type InstanceMoveRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DestinationZone") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceMoveRequest) MarshalJSON() ([]byte, error) {
type noMethod InstanceMoveRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceProperties struct {
@@ -4397,7 +7269,7 @@ type InstanceProperties struct {
// receive packets with destination IP addresses other than their own.
// If these instances will be used as an IP gateway or it will be set as
// the next-hop in a Route resource, specify true. If unsure, leave this
- // set to false. See the canIpForward documentation for more
+ // set to false. See the Enable IP forwarding documentation for more
// information.
CanIpForward bool `json:"canIpForward,omitempty"`
@@ -4409,6 +7281,14 @@ type InstanceProperties struct {
// are created from this template.
Disks []*AttachedDisk `json:"disks,omitempty"`
+ // GuestAccelerators: A list of guest accelerator cards' type and count
+ // to use for instances created from the instance template.
+ GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`
+
+ // Labels: Labels to apply to instances that are created from this
+ // template.
+ Labels map[string]string `json:"labels,omitempty"`
+
// MachineType: The machine type to use for instances that are created
// from this template.
MachineType string `json:"machineType,omitempty"`
@@ -4446,12 +7326,20 @@ type InstanceProperties struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CanIpForward") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceProperties) MarshalJSON() ([]byte, error) {
type noMethod InstanceProperties
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceReference struct {
@@ -4465,12 +7353,20 @@ type InstanceReference struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instance") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceReference) MarshalJSON() ([]byte, error) {
type noMethod InstanceReference
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceTemplate: An Instance Template resource.
@@ -4518,12 +7414,21 @@ type InstanceTemplate struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceTemplate) MarshalJSON() ([]byte, error) {
type noMethod InstanceTemplate
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstanceTemplateList: A list of instance templates.
@@ -4562,12 +7467,20 @@ type InstanceTemplateList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceTemplateList) MarshalJSON() ([]byte, error) {
type noMethod InstanceTemplateList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstanceWithNamedPorts struct {
@@ -4598,12 +7511,20 @@ type InstanceWithNamedPorts struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instance") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstanceWithNamedPorts) MarshalJSON() ([]byte, error) {
type noMethod InstanceWithNamedPorts
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstancesScopedList struct {
@@ -4621,12 +7542,20 @@ type InstancesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstancesScopedList) MarshalJSON() ([]byte, error) {
type noMethod InstancesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstancesScopedListWarning: [Output Only] Informational warning which
@@ -4640,6 +7569,7 @@ type InstancesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -4649,6 +7579,7 @@ type InstancesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -4670,12 +7601,20 @@ type InstancesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstancesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod InstancesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstancesScopedListWarningData struct {
@@ -4699,12 +7638,81 @@ type InstancesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstancesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod InstancesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type InstancesSetLabelsRequest struct {
+ // LabelFingerprint: Fingerprint of the previous set of labels for this
+ // resource, used to prevent conflicts. Provide the latest fingerprint
+ // value when making a request to add or change labels.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ Labels map[string]string `json:"labels,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "LabelFingerprint") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "LabelFingerprint") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *InstancesSetLabelsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod InstancesSetLabelsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type InstancesSetMachineResourcesRequest struct {
+ // GuestAccelerators: List of the type and count of accelerator cards
+ // attached to the instance.
+ GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "GuestAccelerators")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "GuestAccelerators") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *InstancesSetMachineResourcesRequest) MarshalJSON() ([]byte, error) {
+ type noMethod InstancesSetMachineResourcesRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstancesSetMachineTypeRequest struct {
@@ -4720,19 +7728,91 @@ type InstancesSetMachineTypeRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "MachineType") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *InstancesSetMachineTypeRequest) MarshalJSON() ([]byte, error) {
type noMethod InstancesSetMachineTypeRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type InstancesSetServiceAccountRequest struct {
+ // Email: Email address of the service account.
+ Email string `json:"email,omitempty"`
+
+ // Scopes: The list of scopes to be made available for this service
+ // account.
+ Scopes []string `json:"scopes,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Email") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Email") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *InstancesSetServiceAccountRequest) MarshalJSON() ([]byte, error) {
+ type noMethod InstancesSetServiceAccountRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type InstancesStartWithEncryptionKeyRequest struct {
+ // Disks: Array of disks associated with this instance that are
+ // protected with a customer-supplied encryption key.
+ //
+ // In order to start the instance, the disk url and its corresponding
+ // key must be provided.
+ //
+ // If the disk is not protected with a customer-supplied encryption key
+ // it should not be specified.
+ Disks []*CustomerEncryptionKeyProtectedDisk `json:"disks,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Disks") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Disks") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *InstancesStartWithEncryptionKeyRequest) MarshalJSON() ([]byte, error) {
+ type noMethod InstancesStartWithEncryptionKeyRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// License: A license resource.
type License struct {
- // ChargesUseFee: [Output Only] If true, the customer will be charged
- // license fee for running software that contains this license on an
- // instance.
+ // ChargesUseFee: [Output Only] Deprecated. This field no longer
+ // reflects whether a license charges a usage fee.
ChargesUseFee bool `json:"chargesUseFee,omitempty"`
// Kind: [Output Only] Type of resource. Always compute#license for
@@ -4757,12 +7837,20 @@ type License struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ChargesUseFee") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *License) MarshalJSON() ([]byte, error) {
type noMethod License
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MachineType: A Machine Type resource.
@@ -4791,6 +7879,10 @@ type MachineType struct {
// be populated with any relevant values.
ImageSpaceGb int64 `json:"imageSpaceGb,omitempty"`
+ // IsSharedCpu: [Output Only] Whether this machine type has a shared
+ // CPU. See Shared-core machine types for more information.
+ IsSharedCpu bool `json:"isSharedCpu,omitempty"`
+
// Kind: [Output Only] The type of the resource. Always
// compute#machineType for machine types.
Kind string `json:"kind,omitempty"`
@@ -4832,12 +7924,21 @@ type MachineType struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *MachineType) MarshalJSON() ([]byte, error) {
type noMethod MachineType
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MachineTypeScratchDisks struct {
@@ -4851,12 +7952,20 @@ type MachineTypeScratchDisks struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DiskGb") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypeScratchDisks) MarshalJSON() ([]byte, error) {
type noMethod MachineTypeScratchDisks
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MachineTypeAggregatedList struct {
@@ -4894,12 +8003,20 @@ type MachineTypeAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypeAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod MachineTypeAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MachineTypeList: Contains a list of machine types.
@@ -4937,12 +8054,20 @@ type MachineTypeList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypeList) MarshalJSON() ([]byte, error) {
type noMethod MachineTypeList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MachineTypesScopedList struct {
@@ -4961,12 +8086,20 @@ type MachineTypesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "MachineTypes") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypesScopedList) MarshalJSON() ([]byte, error) {
type noMethod MachineTypesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MachineTypesScopedListWarning: [Output Only] An informational warning
@@ -4980,6 +8113,7 @@ type MachineTypesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -4989,6 +8123,7 @@ type MachineTypesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -5010,12 +8145,20 @@ type MachineTypesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod MachineTypesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MachineTypesScopedListWarningData struct {
@@ -5039,12 +8182,20 @@ type MachineTypesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MachineTypesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod MachineTypesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedInstance struct {
@@ -5057,8 +8208,8 @@ type ManagedInstance struct {
// is successful.
// - CREATING_WITHOUT_RETRIES The managed instance group is attempting
// to create this instance only once. If the group fails to create this
- // instance, it does not try again and the group's target_size value is
- // decreased.
+ // instance, it does not try again and the group's targetSize value is
+ // decreased instead.
// - RECREATING The managed instance group is recreating this instance.
//
// - DELETING The managed instance group is permanently deleting this
@@ -5076,6 +8227,7 @@ type ManagedInstance struct {
// Possible values:
// "ABANDONING"
// "CREATING"
+ // "CREATING_WITHOUT_RETRIES"
// "DELETING"
// "NONE"
// "RECREATING"
@@ -5116,12 +8268,20 @@ type ManagedInstance struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CurrentAction") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ManagedInstance) MarshalJSON() ([]byte, error) {
type noMethod ManagedInstance
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedInstanceLastAttempt struct {
@@ -5136,12 +8296,20 @@ type ManagedInstanceLastAttempt struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Errors") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ManagedInstanceLastAttempt) MarshalJSON() ([]byte, error) {
type noMethod ManagedInstanceLastAttempt
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedInstanceLastAttemptErrors: [Output Only] Encountered errors
@@ -5158,12 +8326,20 @@ type ManagedInstanceLastAttemptErrors struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Errors") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ManagedInstanceLastAttemptErrors) MarshalJSON() ([]byte, error) {
type noMethod ManagedInstanceLastAttemptErrors
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedInstanceLastAttemptErrorsErrors struct {
@@ -5184,12 +8360,20 @@ type ManagedInstanceLastAttemptErrorsErrors struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ManagedInstanceLastAttemptErrorsErrors) MarshalJSON() ([]byte, error) {
type noMethod ManagedInstanceLastAttemptErrorsErrors
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Metadata: A metadata key/value entry.
@@ -5217,12 +8401,20 @@ type Metadata struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Metadata) MarshalJSON() ([]byte, error) {
type noMethod Metadata
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type MetadataItems struct {
@@ -5246,12 +8438,20 @@ type MetadataItems struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *MetadataItems) MarshalJSON() ([]byte, error) {
type noMethod MetadataItems
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NamedPort: The named port. For example: .
@@ -5270,12 +8470,20 @@ type NamedPort struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Name") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *NamedPort) MarshalJSON() ([]byte, error) {
type noMethod NamedPort
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Network: Represents a Network resource. Read Networks and Firewalls
@@ -5325,6 +8533,9 @@ type Network struct {
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
+ // Peerings: [Output Only] List of network peerings for the resource.
+ Peerings []*NetworkPeering `json:"peerings,omitempty"`
+
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
@@ -5343,33 +8554,48 @@ type Network struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IPv4Range") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Network) MarshalJSON() ([]byte, error) {
type noMethod Network
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NetworkInterface: A network interface resource attached to an
// instance.
type NetworkInterface struct {
// AccessConfigs: An array of configurations for this interface.
- // Currently, ONE_TO_ONE_NAT is the only access config supported. If
+ // Currently, only one access config, ONE_TO_ONE_NAT, is supported. If
// there are no accessConfigs specified, then this instance will have no
// external internet access.
AccessConfigs []*AccessConfig `json:"accessConfigs,omitempty"`
+ // Kind: [Output Only] Type of the resource. Always
+ // compute#networkInterface for network interfaces.
+ Kind string `json:"kind,omitempty"`
+
// Name: [Output Only] The name of the network interface, generated by
// the server. For network devices, these are eth0, eth1, etc.
Name string `json:"name,omitempty"`
- // Network: URL of the network resource for this instance. This is
- // required for creating an instance but optional when creating a
- // firewall rule. If not specified when creating a firewall rule, the
- // default network is used:
+ // Network: URL of the network resource for this instance. When creating
+ // an instance, if neither the network nor the subnetwork is specified,
+ // the default network global/networks/default is used; if the network
+ // is not specified but the subnetwork is specified, the network is
+ // inferred.
//
- // global/networks/default
+ // This field is optional when creating a firewall rule. If not
+ // specified when creating a firewall rule, the default network
+ // global/networks/default is used.
//
// If you specify this property, you can specify the network as a full
// or partial URL. For example, the following are all valid URLs:
@@ -5379,9 +8605,9 @@ type NetworkInterface struct {
// - global/networks/default
Network string `json:"network,omitempty"`
- // NetworkIP: An IPV4 internal network address to assign to the instance
- // for this network interface. If not specified by user an unused
- // internal IP is assigned by system.
+ // NetworkIP: An IPv4 internal network address to assign to the instance
+ // for this network interface. If not specified by the user, an unused
+ // internal IP is assigned by the system.
NetworkIP string `json:"networkIP,omitempty"`
// Subnetwork: The URL of the Subnetwork resource for this instance. If
@@ -5403,12 +8629,20 @@ type NetworkInterface struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AccessConfigs") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *NetworkInterface) MarshalJSON() ([]byte, error) {
type noMethod NetworkInterface
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NetworkList: Contains a list of networks.
@@ -5432,7 +8666,7 @@ type NetworkList struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] Server-defined URL for this resource .
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -5446,12 +8680,147 @@ type NetworkList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *NetworkList) MarshalJSON() ([]byte, error) {
type noMethod NetworkList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// NetworkPeering: A network peering attached to a network resource. The
+// message includes the peering name, peer network, peering state, and a
+// flag indicating whether Google Compute Engine should automatically
+// create routes for the peering.
+type NetworkPeering struct {
+ // AutoCreateRoutes: Whether full mesh connectivity is created and
+ // managed automatically. When it is set to true, Google Compute Engine
+ // will automatically create and manage the routes between two networks
+ // when the state is ACTIVE. Otherwise, user needs to create routes
+ // manually to route packets to peer network.
+ AutoCreateRoutes bool `json:"autoCreateRoutes,omitempty"`
+
+ // Name: Name of this peering. Provided by the client when the peering
+ // is created. The name must comply with RFC1035. Specifically, the name
+ // must be 1-63 characters long and match regular expression
+ // [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a
+ // lowercase letter, and all the following characters must be a dash,
+ // lowercase letter, or digit, except the last character, which cannot
+ // be a dash.
+ Name string `json:"name,omitempty"`
+
+ // Network: The URL of the peer network. It can be either full URL or
+ // partial URL. The peer network may belong to a different project. If
+ // the partial URL does not contain project, it is assumed that the peer
+ // network is in the same project as the current network.
+ Network string `json:"network,omitempty"`
+
+ // State: [Output Only] State for the peering.
+ //
+ // Possible values:
+ // "ACTIVE"
+ // "INACTIVE"
+ State string `json:"state,omitempty"`
+
+ // StateDetails: [Output Only] Details about the current state of the
+ // peering.
+ StateDetails string `json:"stateDetails,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "AutoCreateRoutes") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AutoCreateRoutes") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *NetworkPeering) MarshalJSON() ([]byte, error) {
+ type noMethod NetworkPeering
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type NetworksAddPeeringRequest struct {
+ // AutoCreateRoutes: Whether Google Compute Engine manages the routes
+ // automatically.
+ AutoCreateRoutes bool `json:"autoCreateRoutes,omitempty"`
+
+ // Name: Name of the peering, which should conform to RFC1035.
+ Name string `json:"name,omitempty"`
+
+ // PeerNetwork: URL of the peer network. It can be either full URL or
+ // partial URL. The peer network may belong to a different project. If
+ // the partial URL does not contain project, it is assumed that the peer
+ // network is in the same project as the current network.
+ PeerNetwork string `json:"peerNetwork,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "AutoCreateRoutes") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AutoCreateRoutes") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *NetworksAddPeeringRequest) MarshalJSON() ([]byte, error) {
+ type noMethod NetworksAddPeeringRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type NetworksRemovePeeringRequest struct {
+ // Name: Name of the peering, which should conform to RFC1035.
+ Name string `json:"name,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Name") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Name") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *NetworksRemovePeeringRequest) MarshalJSON() ([]byte, error) {
+ type noMethod NetworksRemovePeeringRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Operation: An Operation resource, used to manage asynchronous API
@@ -5460,8 +8829,7 @@ type Operation struct {
// ClientOperationId: [Output Only] Reserved for future use.
ClientOperationId string `json:"clientOperationId,omitempty"`
- // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
- // format.
+ // CreationTimestamp: [Deprecated] This field is deprecated.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: [Output Only] A textual description of the operation,
@@ -5540,7 +8908,8 @@ type Operation struct {
TargetId uint64 `json:"targetId,omitempty,string"`
// TargetLink: [Output Only] The URL of the resource that the operation
- // modifies.
+ // modifies. For operations related to creating a snapshot, this points
+ // to the persistent disk that the snapshot was created from.
TargetLink string `json:"targetLink,omitempty"`
// User: [Output Only] User who requested the operation, for example:
@@ -5566,12 +8935,21 @@ type Operation struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ClientOperationId") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Operation) MarshalJSON() ([]byte, error) {
type noMethod Operation
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationError: [Output Only] If errors are generated during
@@ -5588,12 +8966,20 @@ type OperationError struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Errors") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationError) MarshalJSON() ([]byte, error) {
type noMethod OperationError
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationErrorErrors struct {
@@ -5614,12 +9000,20 @@ type OperationErrorErrors struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationErrorErrors) MarshalJSON() ([]byte, error) {
type noMethod OperationErrorErrors
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationWarnings struct {
@@ -5631,6 +9025,7 @@ type OperationWarnings struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -5640,6 +9035,7 @@ type OperationWarnings struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -5661,12 +9057,20 @@ type OperationWarnings struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationWarnings) MarshalJSON() ([]byte, error) {
type noMethod OperationWarnings
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationWarningsData struct {
@@ -5690,12 +9094,20 @@ type OperationWarningsData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationWarningsData) MarshalJSON() ([]byte, error) {
type noMethod OperationWarningsData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationAggregatedList struct {
@@ -5732,12 +9144,20 @@ type OperationAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod OperationAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationList: Contains a list of Operation resources.
@@ -5775,12 +9195,20 @@ type OperationList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationList) MarshalJSON() ([]byte, error) {
type noMethod OperationList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationsScopedList struct {
@@ -5798,12 +9226,20 @@ type OperationsScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Operations") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationsScopedList) MarshalJSON() ([]byte, error) {
type noMethod OperationsScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationsScopedListWarning: [Output Only] Informational warning
@@ -5817,6 +9253,7 @@ type OperationsScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -5826,6 +9263,7 @@ type OperationsScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -5847,12 +9285,20 @@ type OperationsScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationsScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod OperationsScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationsScopedListWarningData struct {
@@ -5876,12 +9322,20 @@ type OperationsScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *OperationsScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod OperationsScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PathMatcher: A matcher for the path portion of the URL. The
@@ -5916,12 +9370,21 @@ type PathMatcher struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DefaultService") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *PathMatcher) MarshalJSON() ([]byte, error) {
type noMethod PathMatcher
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PathRule: A path-matching rule for a URL. If matched, will use the
@@ -5944,12 +9407,20 @@ type PathRule struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Paths") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *PathRule) MarshalJSON() ([]byte, error) {
type noMethod PathRule
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Project: A Project resource. Projects can only be created in the
@@ -5965,6 +9436,10 @@ type Project struct {
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
+ // DefaultServiceAccount: [Output Only] Default service account used by
+ // VMs running in this project.
+ DefaultServiceAccount string `json:"defaultServiceAccount,omitempty"`
+
// Description: An optional textual description of the resource.
Description string `json:"description,omitempty"`
@@ -5994,6 +9469,15 @@ type Project struct {
// the Google Cloud Storage bucket where they are stored.
UsageExportLocation *UsageExportLocation `json:"usageExportLocation,omitempty"`
+ // XpnProjectStatus: [Output Only] The role this project has in a Cross
+ // Project Network (XPN) configuration. Currently only HOST projects are
+ // differentiated.
+ //
+ // Possible values:
+ // "HOST"
+ // "UNSPECIFIED_XPN_PROJECT_STATUS"
+ XpnProjectStatus string `json:"xpnProjectStatus,omitempty"`
+
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
@@ -6006,12 +9490,147 @@ type Project struct {
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CommonInstanceMetadata")
+ // to include in API requests with the JSON null value. By default,
+ // fields with empty values are omitted from API requests. However, any
+ // field with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Project) MarshalJSON() ([]byte, error) {
type noMethod Project
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ProjectsDisableXpnResourceRequest struct {
+ // XpnResource: XPN resource ID.
+ XpnResource *XpnResourceId `json:"xpnResource,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "XpnResource") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "XpnResource") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ProjectsDisableXpnResourceRequest) MarshalJSON() ([]byte, error) {
+ type noMethod ProjectsDisableXpnResourceRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ProjectsEnableXpnResourceRequest struct {
+ // XpnResource: XPN resource ID.
+ XpnResource *XpnResourceId `json:"xpnResource,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "XpnResource") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "XpnResource") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ProjectsEnableXpnResourceRequest) MarshalJSON() ([]byte, error) {
+ type noMethod ProjectsEnableXpnResourceRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ProjectsGetXpnResources struct {
+ // Kind: [Output Only] Type of resource. Always
+ // compute#projectsGetXpnResources for lists of XPN resources.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // Resources: XPN resources attached to this project as their XPN host.
+ Resources []*XpnResourceId `json:"resources,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Kind") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Kind") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ProjectsGetXpnResources) MarshalJSON() ([]byte, error) {
+ type noMethod ProjectsGetXpnResources
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ProjectsListXpnHostsRequest struct {
+ // Organization: Optional organization ID managed by Cloud Resource
+ // Manager, for which to list XPN host projects. If not specified, the
+ // organization will be inferred from the project.
+ Organization string `json:"organization,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Organization") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Organization") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ProjectsListXpnHostsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod ProjectsListXpnHostsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Quota: A quotas entry.
@@ -6023,8 +9642,11 @@ type Quota struct {
//
// Possible values:
// "AUTOSCALERS"
+ // "BACKEND_BUCKETS"
// "BACKEND_SERVICES"
+ // "COMMITMENTS"
// "CPUS"
+ // "CPUS_ALL_REGIONS"
// "DISKS_TOTAL_GB"
// "FIREWALLS"
// "FORWARDING_RULES"
@@ -6037,6 +9659,11 @@ type Quota struct {
// "IN_USE_ADDRESSES"
// "LOCAL_SSD_TOTAL_GB"
// "NETWORKS"
+ // "NVIDIA_K80_GPUS"
+ // "PREEMPTIBLE_CPUS"
+ // "REGIONAL_AUTOSCALERS"
+ // "REGIONAL_INSTANCE_GROUP_MANAGERS"
+ // "ROUTERS"
// "ROUTES"
// "SNAPSHOTS"
// "SSD_TOTAL_GB"
@@ -6047,6 +9674,7 @@ type Quota struct {
// "TARGET_HTTP_PROXIES"
// "TARGET_INSTANCES"
// "TARGET_POOLS"
+ // "TARGET_SSL_PROXIES"
// "TARGET_VPN_GATEWAYS"
// "URL_MAPS"
// "VPN_TUNNELS"
@@ -6062,12 +9690,36 @@ type Quota struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Limit") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Quota) MarshalJSON() ([]byte, error) {
type noMethod Quota
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *Quota) UnmarshalJSON(data []byte) error {
+ type noMethod Quota
+ var s1 struct {
+ Limit gensupport.JSONFloat64 `json:"limit"`
+ Usage gensupport.JSONFloat64 `json:"usage"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.Limit = float64(s1.Limit)
+ s.Usage = float64(s1.Usage)
+ return nil
}
// Region: Region resource.
@@ -6122,12 +9774,473 @@ type Region struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Region) MarshalJSON() ([]byte, error) {
type noMethod Region
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RegionAutoscalerList: Contains a list of autoscalers.
+type RegionAutoscalerList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of autoscalers.
+ Items []*Autoscaler `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] A token used to continue a truncated
+ // list request.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionAutoscalerList) MarshalJSON() ([]byte, error) {
+ type noMethod RegionAutoscalerList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RegionInstanceGroupList: Contains a list of InstanceGroup resources.
+type RegionInstanceGroupList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of InstanceGroup resources.
+ Items []*InstanceGroup `json:"items,omitempty"`
+
+ // Kind: The resource type.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] The URL for this resource type. The server
+ // generates this URL.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupList) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RegionInstanceGroupManagerList: Contains a list of managed instance
+// groups.
+type RegionInstanceGroupManagerList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of managed instance groups.
+ Items []*InstanceGroupManager `json:"items,omitempty"`
+
+ // Kind: [Output Only] The resource type, which is always
+ // compute#instanceGroupManagerList for a list of managed instance
+ // groups that exist in th regional scope.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output only] A token used to continue a truncated
+ // list request.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output only] The URL for this resource type. The server
+ // generates this URL.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagerList) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagerList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersAbandonInstancesRequest struct {
+ // Instances: The URLs of one or more instances to abandon. This can be
+ // a full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
+ Instances []string `json:"instances,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Instances") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersAbandonInstancesRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersAbandonInstancesRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersDeleteInstancesRequest struct {
+ // Instances: The URLs of one or more instances to delete. This can be a
+ // full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
+ Instances []string `json:"instances,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Instances") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersDeleteInstancesRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersDeleteInstancesRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersListInstancesResponse struct {
+ // ManagedInstances: List of managed instances.
+ ManagedInstances []*ManagedInstance `json:"managedInstances,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "ManagedInstances") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ManagedInstances") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersListInstancesResponse) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersListInstancesResponse
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersRecreateRequest struct {
+ // Instances: The URLs of one or more instances to recreate. This can be
+ // a full URL or a partial URL, such as
+ // zones/[ZONE]/instances/[INSTANCE_NAME].
+ Instances []string `json:"instances,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Instances") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersRecreateRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersRecreateRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersSetTargetPoolsRequest struct {
+ // Fingerprint: Fingerprint of the target pools information, which is a
+ // hash of the contents. This field is used for optimistic locking when
+ // you update the target pool entries. This field is optional.
+ Fingerprint string `json:"fingerprint,omitempty"`
+
+ // TargetPools: The URL of all TargetPool resources to which instances
+ // in the instanceGroup field are added. The target pools automatically
+ // apply to all of the instances in the managed instance group.
+ TargetPools []string `json:"targetPools,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Fingerprint") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersSetTargetPoolsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersSetTargetPoolsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupManagersSetTemplateRequest struct {
+ // InstanceTemplate: URL of the InstanceTemplate resource from which all
+ // new instances will be created.
+ InstanceTemplate string `json:"instanceTemplate,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "InstanceTemplate") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceTemplate") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupManagersSetTemplateRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupManagersSetTemplateRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupsListInstances struct {
+ // Id: [Output Only] Unique identifier for the resource. Defined by the
+ // server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of instances and any named ports that are assigned to
+ // those instances.
+ Items []*InstanceWithNamedPorts `json:"items,omitempty"`
+
+ // Kind: The resource type.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupsListInstances) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupsListInstances
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupsListInstancesRequest struct {
+ // InstanceState: Instances in which state should be returned. Valid
+ // options are: 'ALL', 'RUNNING'. By default, it lists all instances.
+ //
+ // Possible values:
+ // "ALL"
+ // "RUNNING"
+ InstanceState string `json:"instanceState,omitempty"`
+
+ // PortName: Name of port user is interested in. It is optional. If it
+ // is set, only information about this ports will be returned. If it is
+ // not set, all the named ports will be returned. Always lists all
+ // instances.
+ PortName string `json:"portName,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "InstanceState") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "InstanceState") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupsListInstancesRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupsListInstancesRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RegionInstanceGroupsSetNamedPortsRequest struct {
+ // Fingerprint: The fingerprint of the named ports information for this
+ // instance group. Use this optional property to prevent conflicts when
+ // multiple users change the named ports settings concurrently. Obtain
+ // the fingerprint with the instanceGroups.get method. Then, include the
+ // fingerprint in your request to ensure that you do not overwrite
+ // changes that were applied from another concurrent request.
+ Fingerprint string `json:"fingerprint,omitempty"`
+
+ // NamedPorts: The list of named ports to set for this instance group.
+ NamedPorts []*NamedPort `json:"namedPorts,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Fingerprint") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RegionInstanceGroupsSetNamedPortsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod RegionInstanceGroupsSetNamedPortsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RegionList: Contains a list of region resources.
@@ -6165,16 +10278,65 @@ type RegionList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *RegionList) MarshalJSON() ([]byte, error) {
type noMethod RegionList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// ResourceCommitment: Commitment for a particular resource (a
+// Commitment is composed of one or more of these).
+type ResourceCommitment struct {
+ // Amount: The amount of the resource purchased (in a type-dependent
+ // unit, such as bytes). For vCPUs, this can just be an integer. For
+ // memory, this must be provided in MB. Memory must be a multiple of 256
+ // MB, with up to 6.5GB of memory per every vCPU.
+ Amount int64 `json:"amount,omitempty,string"`
+
+ // Type: Type of resource for which this commitment applies. Possible
+ // values are VCPU and MEMORY
+ //
+ // Possible values:
+ // "MEMORY"
+ // "UNSPECIFIED"
+ // "VCPU"
+ Type string `json:"type,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Amount") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Amount") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ResourceCommitment) MarshalJSON() ([]byte, error) {
+ type noMethod ResourceCommitment
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceGroupReference struct {
- // Group: A URI referencing one of the resource views listed in the
+ // Group: A URI referencing one of the instance groups listed in the
// backend service.
Group string `json:"group,omitempty"`
@@ -6185,12 +10347,20 @@ type ResourceGroupReference struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Group") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ResourceGroupReference) MarshalJSON() ([]byte, error) {
type noMethod ResourceGroupReference
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Route: Represents a Route resource. A route specifies how certain
@@ -6198,7 +10368,7 @@ func (s *ResourceGroupReference) MarshalJSON() ([]byte, error) {
// instances by tags and the set of routes for a particular instance is
// called its routing table.
//
-// For each packet leaving a instance, the system searches that
+// For each packet leaving an instance, the system searches that
// instance's routing table for a single best matching route. Routes
// match packets by destination IP address, preferring smaller or more
// specific ranges over larger ones. If there is a tie, the system
@@ -6206,8 +10376,8 @@ func (s *ResourceGroupReference) MarshalJSON() ([]byte, error) {
// a tie, it uses the layer three and four packet headers to select just
// one of the remaining matching routes. The packet is then forwarded as
// specified by the nextHop field of the winning route - either to
-// another instance destination, a instance gateway or a Google Compute
-// Engine-operated gateway.
+// another instance destination, an instance gateway, or a Google
+// Compute Engine-operated gateway.
//
// Packets that do not match any route in the sending instance's routing
// table are dropped.
@@ -6221,7 +10391,7 @@ type Route struct {
Description string `json:"description,omitempty"`
// DestRange: The destination range of outgoing packets that this route
- // applies to.
+ // applies to. Only IPv4 is supported.
DestRange string `json:"destRange,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
@@ -6259,13 +10429,17 @@ type Route struct {
NextHopInstance string `json:"nextHopInstance,omitempty"`
// NextHopIp: The network IP address of an instance that should handle
- // matching packets.
+ // matching packets. Only IPv4 is supported.
NextHopIp string `json:"nextHopIp,omitempty"`
// NextHopNetwork: The URL of the local network if it should handle
// matching packets.
NextHopNetwork string `json:"nextHopNetwork,omitempty"`
+ // NextHopPeering: [Output Only] The network peering name that should
+ // handle matching packets, which should conform to RFC1035.
+ NextHopPeering string `json:"nextHopPeering,omitempty"`
+
// NextHopVpnTunnel: The URL to a VpnTunnel that should handle matching
// packets.
NextHopVpnTunnel string `json:"nextHopVpnTunnel,omitempty"`
@@ -6299,12 +10473,21 @@ type Route struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Route) MarshalJSON() ([]byte, error) {
type noMethod Route
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type RouteWarnings struct {
@@ -6316,6 +10499,7 @@ type RouteWarnings struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -6325,6 +10509,7 @@ type RouteWarnings struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -6346,12 +10531,20 @@ type RouteWarnings struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *RouteWarnings) MarshalJSON() ([]byte, error) {
type noMethod RouteWarnings
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type RouteWarningsData struct {
@@ -6375,12 +10568,20 @@ type RouteWarningsData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *RouteWarningsData) MarshalJSON() ([]byte, error) {
type noMethod RouteWarningsData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RouteList: Contains a list of Route resources.
@@ -6417,12 +10618,657 @@ type RouteList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *RouteList) MarshalJSON() ([]byte, error) {
type noMethod RouteList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// Router: Router resource.
+type Router struct {
+ // Bgp: BGP information specific to this router.
+ Bgp *RouterBgp `json:"bgp,omitempty"`
+
+ // BgpPeers: BGP information that needs to be configured into the
+ // routing stack to establish the BGP peering. It must specify peer ASN
+ // and either interface name, IP, or peer IP. Please refer to RFC4273.
+ BgpPeers []*RouterBgpPeer `json:"bgpPeers,omitempty"`
+
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional description of this resource. Provide this
+ // property when you create the resource.
+ Description string `json:"description,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Interfaces: Router interfaces. Each interface requires either one
+ // linked resource (e.g. linkedVpnTunnel), or IP address and IP address
+ // range (e.g. ipRange), or both.
+ Interfaces []*RouterInterface `json:"interfaces,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always compute#router for
+ // routers.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // Network: URI of the network to which this router belongs.
+ Network string `json:"network,omitempty"`
+
+ // Region: [Output Only] URI of the region where the router resides.
+ Region string `json:"region,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Bgp") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Bgp") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *Router) MarshalJSON() ([]byte, error) {
+ type noMethod Router
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RouterAggregatedList: Contains a list of routers.
+type RouterAggregatedList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A map of scoped router lists.
+ Items map[string]RoutersScopedList `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterAggregatedList) MarshalJSON() ([]byte, error) {
+ type noMethod RouterAggregatedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterBgp struct {
+ // Asn: Local BGP Autonomous System Number (ASN). Must be an RFC6996
+ // private ASN, either 16-bit or 32-bit. The value will be fixed for
+ // this router resource. All VPN tunnels that link to this router will
+ // have the same local ASN.
+ Asn int64 `json:"asn,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Asn") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Asn") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterBgp) MarshalJSON() ([]byte, error) {
+ type noMethod RouterBgp
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterBgpPeer struct {
+ // AdvertisedRoutePriority: The priority of routes advertised to this
+ // BGP peer. In the case where there is more than one matching route of
+ // maximum length, the routes with lowest priority value win.
+ AdvertisedRoutePriority int64 `json:"advertisedRoutePriority,omitempty"`
+
+ // InterfaceName: Name of the interface the BGP peer is associated with.
+ InterfaceName string `json:"interfaceName,omitempty"`
+
+ // IpAddress: IP address of the interface inside Google Cloud Platform.
+ // Only IPv4 is supported.
+ IpAddress string `json:"ipAddress,omitempty"`
+
+ // Name: Name of this BGP peer. The name must be 1-63 characters long
+ // and comply with RFC1035.
+ Name string `json:"name,omitempty"`
+
+ // PeerAsn: Peer BGP Autonomous System Number (ASN). For VPN use case,
+ // this value can be different for every tunnel.
+ PeerAsn int64 `json:"peerAsn,omitempty"`
+
+ // PeerIpAddress: IP address of the BGP interface outside Google cloud.
+ // Only IPv4 is supported.
+ PeerIpAddress string `json:"peerIpAddress,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g.
+ // "AdvertisedRoutePriority") to unconditionally include in API
+ // requests. By default, fields with empty values are omitted from API
+ // requests. However, any non-pointer, non-interface field appearing in
+ // ForceSendFields will be sent to the server regardless of whether the
+ // field is empty or not. This may be used to include empty fields in
+ // Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AdvertisedRoutePriority")
+ // to include in API requests with the JSON null value. By default,
+ // fields with empty values are omitted from API requests. However, any
+ // field with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterBgpPeer) MarshalJSON() ([]byte, error) {
+ type noMethod RouterBgpPeer
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterInterface struct {
+ // IpRange: IP address and range of the interface. The IP range must be
+ // in the RFC3927 link-local IP space. The value must be a
+ // CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not
+ // truncate the address as it represents the IP address of the
+ // interface.
+ IpRange string `json:"ipRange,omitempty"`
+
+ // LinkedVpnTunnel: URI of the linked VPN tunnel. It must be in the same
+ // region as the router. Each interface can have at most one linked
+ // resource and it could either be a VPN Tunnel or an interconnect
+ // attachment.
+ LinkedVpnTunnel string `json:"linkedVpnTunnel,omitempty"`
+
+ // Name: Name of this interface entry. The name must be 1-63 characters
+ // long and comply with RFC1035.
+ Name string `json:"name,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "IpRange") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IpRange") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterInterface) MarshalJSON() ([]byte, error) {
+ type noMethod RouterInterface
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RouterList: Contains a list of Router resources.
+type RouterList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of Router resources.
+ Items []*Router `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always compute#router for
+ // routers.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterList) MarshalJSON() ([]byte, error) {
+ type noMethod RouterList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterStatus struct {
+ // BestRoutes: Best routes for this router's network.
+ BestRoutes []*Route `json:"bestRoutes,omitempty"`
+
+ // BestRoutesForRouter: Best routes learned by this router.
+ BestRoutesForRouter []*Route `json:"bestRoutesForRouter,omitempty"`
+
+ BgpPeerStatus []*RouterStatusBgpPeerStatus `json:"bgpPeerStatus,omitempty"`
+
+ // Network: URI of the network to which this router belongs.
+ Network string `json:"network,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "BestRoutes") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BestRoutes") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterStatus) MarshalJSON() ([]byte, error) {
+ type noMethod RouterStatus
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterStatusBgpPeerStatus struct {
+ // AdvertisedRoutes: Routes that were advertised to the remote BGP peer
+ AdvertisedRoutes []*Route `json:"advertisedRoutes,omitempty"`
+
+ // IpAddress: IP address of the local BGP interface.
+ IpAddress string `json:"ipAddress,omitempty"`
+
+ // LinkedVpnTunnel: URL of the VPN tunnel that this BGP peer controls.
+ LinkedVpnTunnel string `json:"linkedVpnTunnel,omitempty"`
+
+ // Name: Name of this BGP peer. Unique within the Routers resource.
+ Name string `json:"name,omitempty"`
+
+ // NumLearnedRoutes: Number of routes learned from the remote BGP Peer.
+ NumLearnedRoutes int64 `json:"numLearnedRoutes,omitempty"`
+
+ // PeerIpAddress: IP address of the remote BGP interface.
+ PeerIpAddress string `json:"peerIpAddress,omitempty"`
+
+ // State: BGP state as specified in RFC1771.
+ State string `json:"state,omitempty"`
+
+ // Status: Status of the BGP peer: {UP, DOWN}
+ //
+ // Possible values:
+ // "DOWN"
+ // "UNKNOWN"
+ // "UP"
+ Status string `json:"status,omitempty"`
+
+ // Uptime: Time this session has been up. Format: 14 years, 51 weeks, 6
+ // days, 23 hours, 59 minutes, 59 seconds
+ Uptime string `json:"uptime,omitempty"`
+
+ // UptimeSeconds: Time this session has been up, in seconds. Format: 145
+ UptimeSeconds string `json:"uptimeSeconds,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "AdvertisedRoutes") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AdvertisedRoutes") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterStatusBgpPeerStatus) MarshalJSON() ([]byte, error) {
+ type noMethod RouterStatusBgpPeerStatus
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RouterStatusResponse struct {
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ Result *RouterStatus `json:"result,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Kind") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Kind") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RouterStatusResponse) MarshalJSON() ([]byte, error) {
+ type noMethod RouterStatusResponse
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RoutersPreviewResponse struct {
+ // Resource: Preview of given router.
+ Resource *Router `json:"resource,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Resource") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Resource") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RoutersPreviewResponse) MarshalJSON() ([]byte, error) {
+ type noMethod RoutersPreviewResponse
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RoutersScopedList struct {
+ // Routers: List of routers contained in this scope.
+ Routers []*Router `json:"routers,omitempty"`
+
+ // Warning: Informational warning which replaces the list of routers
+ // when the list is empty.
+ Warning *RoutersScopedListWarning `json:"warning,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Routers") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Routers") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RoutersScopedList) MarshalJSON() ([]byte, error) {
+ type noMethod RoutersScopedList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// RoutersScopedListWarning: Informational warning which replaces the
+// list of routers when the list is empty.
+type RoutersScopedListWarning struct {
+ // Code: [Output Only] A warning code, if applicable. For example,
+ // Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
+ // the response.
+ //
+ // Possible values:
+ // "CLEANUP_FAILED"
+ // "DEPRECATED_RESOURCE_USED"
+ // "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
+ // "INJECTED_KERNELS_DEPRECATED"
+ // "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
+ // "NEXT_HOP_CANNOT_IP_FORWARD"
+ // "NEXT_HOP_INSTANCE_NOT_FOUND"
+ // "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
+ // "NEXT_HOP_NOT_RUNNING"
+ // "NOT_CRITICAL_ERROR"
+ // "NO_RESULTS_ON_PAGE"
+ // "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
+ // "RESOURCE_NOT_DELETED"
+ // "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
+ // "UNREACHABLE"
+ Code string `json:"code,omitempty"`
+
+ // Data: [Output Only] Metadata about this warning in key: value format.
+ // For example:
+ // "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+ Data []*RoutersScopedListWarningData `json:"data,omitempty"`
+
+ // Message: [Output Only] A human-readable description of the warning
+ // code.
+ Message string `json:"message,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Code") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RoutersScopedListWarning) MarshalJSON() ([]byte, error) {
+ type noMethod RoutersScopedListWarning
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type RoutersScopedListWarningData struct {
+ // Key: [Output Only] A key that provides more detail on the warning
+ // being returned. For example, for warnings where there are no results
+ // in a list request for a particular zone, this key might be scope and
+ // the key value might be the zone name. Other examples might be a key
+ // indicating a deprecated resource and a suggested replacement, or a
+ // warning about invalid network settings (for example, if an instance
+ // attempts to perform IP forwarding but is not enabled for IP
+ // forwarding).
+ Key string `json:"key,omitempty"`
+
+ // Value: [Output Only] A warning data value corresponding to the key.
+ Value string `json:"value,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Key") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *RoutersScopedListWarningData) MarshalJSON() ([]byte, error) {
+ type noMethod RoutersScopedListWarningData
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SSLHealthCheck struct {
+ // Port: The TCP port number for the health check request. The default
+ // value is 443. Valid values are 1 through 65535.
+ Port int64 `json:"port,omitempty"`
+
+ // PortName: Port name as defined in InstanceGroup#NamedPort#name. If
+ // both port and port_name are defined, port takes precedence.
+ PortName string `json:"portName,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // Request: The application data to send once the SSL connection has
+ // been established (default value is empty). If both request and
+ // response are empty, the connection establishment alone will indicate
+ // health. The request data can only be ASCII.
+ Request string `json:"request,omitempty"`
+
+ // Response: The bytes to match against the beginning of the response
+ // data. If left empty (the default value), any response will indicate
+ // health. The response data can only be ASCII.
+ Response string `json:"response,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Port") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Port") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SSLHealthCheck) MarshalJSON() ([]byte, error) {
+ type noMethod SSLHealthCheck
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Scheduling: Sets the scheduling options for an Instance.
@@ -6432,7 +11278,10 @@ type Scheduling struct {
// terminated by a user). You can only set the automatic restart option
// for standard instances. Preemptible instances cannot be automatically
// restarted.
- AutomaticRestart bool `json:"automaticRestart,omitempty"`
+ //
+ // By default, this is set to true so an instance is automatically
+ // restarted if it is terminated by Compute Engine.
+ AutomaticRestart *bool `json:"automaticRestart,omitempty"`
// OnHostMaintenance: Defines the maintenance behavior for this
// instance. For standard instances, the default behavior is MIGRATE.
@@ -6445,7 +11294,9 @@ type Scheduling struct {
// "TERMINATE"
OnHostMaintenance string `json:"onHostMaintenance,omitempty"`
- // Preemptible: Whether the instance is preemptible.
+ // Preemptible: Defines whether the instance is preemptible. This can
+ // only be set during instance creation, it cannot be set or changed
+ // after the instance has been created.
Preemptible bool `json:"preemptible,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutomaticRestart") to
@@ -6455,12 +11306,21 @@ type Scheduling struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AutomaticRestart") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Scheduling) MarshalJSON() ([]byte, error) {
type noMethod Scheduling
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SerialPortOutput: An instance's serial console output.
@@ -6472,9 +11332,21 @@ type SerialPortOutput struct {
// compute#serialPortOutput for serial port output.
Kind string `json:"kind,omitempty"`
- // SelfLink: [Output Only] Server-defined URL for the resource.
+ // Next: [Output Only] The position of the next byte of content from the
+ // serial console output. Use this value in the next request as the
+ // start parameter.
+ Next int64 `json:"next,omitempty,string"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
+ // Start: The starting byte position of the output that was returned.
+ // This should match the start parameter sent with the request. If the
+ // serial console output exceeds the size of the buffer, older output
+ // will be overwritten by newer content and the start values will be
+ // mismatched.
+ Start int64 `json:"start,omitempty,string"`
+
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
@@ -6486,12 +11358,20 @@ type SerialPortOutput struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Contents") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SerialPortOutput) MarshalJSON() ([]byte, error) {
type noMethod SerialPortOutput
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ServiceAccount: A service account.
@@ -6510,12 +11390,20 @@ type ServiceAccount struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Email") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ServiceAccount) MarshalJSON() ([]byte, error) {
type noMethod ServiceAccount
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Snapshot: A persistent disk snapshot resource.
@@ -6539,6 +11427,21 @@ type Snapshot struct {
// Snapshot resources.
Kind string `json:"kind,omitempty"`
+ // LabelFingerprint: A fingerprint for the labels being applied to this
+ // snapshot, which is essentially a hash of the labels set used for
+ // optimistic locking. The fingerprint is initially generated by Compute
+ // Engine and changes after every request to modify or update labels.
+ // You must always provide an up-to-date fingerprint hash in order to
+ // update or change labels.
+ //
+ // To see the latest fingerprint, make a get() request to retrieve a
+ // snapshot.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: Labels to apply to this snapshot. These can be later modified
+ // by the setLabels method. Label values may be empty.
+ Labels map[string]string `json:"labels,omitempty"`
+
// Licenses: [Output Only] A list of public visible licenses that apply
// to this snapshot. This can be because the original image had licenses
// attached (such as a Windows image).
@@ -6556,10 +11459,31 @@ type Snapshot struct {
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
+ // SnapshotEncryptionKey: Encrypts the snapshot using a
+ // customer-supplied encryption key.
+ //
+ // After you encrypt a snapshot using a customer-supplied key, you must
+ // provide the same key if you use the image later For example, you must
+ // provide the encryption key when you create a disk from the encrypted
+ // snapshot in a future request.
+ //
+ // Customer-supplied encryption keys do not protect access to metadata
+ // of the disk.
+ //
+ // If you do not provide an encryption key when creating the snapshot,
+ // then the snapshot will be encrypted using an automatically generated
+ // key and you do not need to provide a key to use the snapshot later.
+ SnapshotEncryptionKey *CustomerEncryptionKey `json:"snapshotEncryptionKey,omitempty"`
+
// SourceDisk: [Output Only] The source disk used to create this
// snapshot.
SourceDisk string `json:"sourceDisk,omitempty"`
+ // SourceDiskEncryptionKey: The customer-supplied encryption key of the
+ // source disk. Required if the source disk is protected by a
+ // customer-supplied encryption key.
+ SourceDiskEncryptionKey *CustomerEncryptionKey `json:"sourceDiskEncryptionKey,omitempty"`
+
// SourceDiskId: [Output Only] The ID value of the disk used to create
// this snapshot. This value may be used to determine whether the
// snapshot was taken from the current or a previous instance of a given
@@ -6604,12 +11528,21 @@ type Snapshot struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Snapshot) MarshalJSON() ([]byte, error) {
type noMethod Snapshot
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SnapshotList: Contains a list of Snapshot resources.
@@ -6646,12 +11579,20 @@ type SnapshotList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SnapshotList) MarshalJSON() ([]byte, error) {
type noMethod SnapshotList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SslCertificate: An SslCertificate resource. This resource provides a
@@ -6688,8 +11629,8 @@ type SslCertificate struct {
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
- // PrivateKey: A write-only private key in PEM format. Only insert RPCs
- // will include this field.
+ // PrivateKey: A write-only private key in PEM format. Only insert
+ // requests will include this field.
PrivateKey string `json:"privateKey,omitempty"`
// SelfLink: [Output only] Server-defined URL for the resource.
@@ -6706,12 +11647,20 @@ type SslCertificate struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Certificate") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SslCertificate) MarshalJSON() ([]byte, error) {
type noMethod SslCertificate
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SslCertificateList: Contains a list of SslCertificate resources.
@@ -6748,12 +11697,20 @@ type SslCertificateList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SslCertificateList) MarshalJSON() ([]byte, error) {
type noMethod SslCertificateList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Subnetwork: A Subnetwork resource.
@@ -6763,11 +11720,13 @@ type Subnetwork struct {
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: An optional description of this resource. Provide this
- // property when you create the resource.
+ // property when you create the resource. This field can be set only at
+ // resource creation time.
Description string `json:"description,omitempty"`
// GatewayAddress: [Output Only] The gateway address for default routes
- // to reach destination addresses outside this subnetwork.
+ // to reach destination addresses outside this subnetwork. This field
+ // can be set only at resource creation time.
GatewayAddress string `json:"gatewayAddress,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
@@ -6777,7 +11736,8 @@ type Subnetwork struct {
// IpCidrRange: The range of internal addresses that are owned by this
// subnetwork. Provide this property when you create the subnetwork. For
// example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and
- // non-overlapping within a network.
+ // non-overlapping within a network. Only IPv4 is supported. This field
+ // can be set only at resource creation time.
IpCidrRange string `json:"ipCidrRange,omitempty"`
// Kind: [Output Only] Type of the resource. Always compute#subnetwork
@@ -6795,10 +11755,18 @@ type Subnetwork struct {
// Network: The URL of the network to which this subnetwork belongs,
// provided by the client when initially creating the subnetwork. Only
- // networks that are in the distributed mode can have subnetworks.
+ // networks that are in the distributed mode can have subnetworks. This
+ // field can be set only at resource creation time.
Network string `json:"network,omitempty"`
- // Region: URL of the region where the Subnetwork resides.
+ // PrivateIpGoogleAccess: Whether the VMs in this subnet can access
+ // Google services without assigned external IP addresses. This field
+ // can be both set at resource creation time and updated using
+ // setPrivateIpGoogleAccess.
+ PrivateIpGoogleAccess bool `json:"privateIpGoogleAccess,omitempty"`
+
+ // Region: URL of the region where the Subnetwork resides. This field
+ // can be set only at resource creation time.
Region string `json:"region,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
@@ -6815,12 +11783,21 @@ type Subnetwork struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Subnetwork) MarshalJSON() ([]byte, error) {
type noMethod Subnetwork
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type SubnetworkAggregatedList struct {
@@ -6857,12 +11834,20 @@ type SubnetworkAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SubnetworkAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod SubnetworkAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SubnetworkList: Contains a list of Subnetwork resources.
@@ -6900,12 +11885,51 @@ type SubnetworkList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SubnetworkList) MarshalJSON() ([]byte, error) {
type noMethod SubnetworkList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SubnetworksExpandIpCidrRangeRequest struct {
+ // IpCidrRange: The IP (in CIDR format or netmask) of internal addresses
+ // that are legal on this Subnetwork. This range should be disjoint from
+ // other subnetworks within this network. This range can only be larger
+ // than (i.e. a superset of) the range previously defined before the
+ // update.
+ IpCidrRange string `json:"ipCidrRange,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "IpCidrRange") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "IpCidrRange") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SubnetworksExpandIpCidrRangeRequest) MarshalJSON() ([]byte, error) {
+ type noMethod SubnetworksExpandIpCidrRangeRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type SubnetworksScopedList struct {
@@ -6923,12 +11947,20 @@ type SubnetworksScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Subnetworks") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SubnetworksScopedList) MarshalJSON() ([]byte, error) {
type noMethod SubnetworksScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SubnetworksScopedListWarning: An informational warning that appears
@@ -6942,6 +11974,7 @@ type SubnetworksScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -6951,6 +11984,7 @@ type SubnetworksScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -6972,12 +12006,20 @@ type SubnetworksScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SubnetworksScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod SubnetworksScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type SubnetworksScopedListWarningData struct {
@@ -7001,12 +12043,100 @@ type SubnetworksScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *SubnetworksScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod SubnetworksScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SubnetworksSetPrivateIpGoogleAccessRequest struct {
+ PrivateIpGoogleAccess bool `json:"privateIpGoogleAccess,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g.
+ // "PrivateIpGoogleAccess") to unconditionally include in API requests.
+ // By default, fields with empty values are omitted from API requests.
+ // However, any non-pointer, non-interface field appearing in
+ // ForceSendFields will be sent to the server regardless of whether the
+ // field is empty or not. This may be used to include empty fields in
+ // Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "PrivateIpGoogleAccess") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SubnetworksSetPrivateIpGoogleAccessRequest) MarshalJSON() ([]byte, error) {
+ type noMethod SubnetworksSetPrivateIpGoogleAccessRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TCPHealthCheck struct {
+ // Port: The TCP port number for the health check request. The default
+ // value is 80. Valid values are 1 through 65535.
+ Port int64 `json:"port,omitempty"`
+
+ // PortName: Port name as defined in InstanceGroup#NamedPort#name. If
+ // both port and port_name are defined, port takes precedence.
+ PortName string `json:"portName,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // Request: The application data to send once the TCP connection has
+ // been established (default value is empty). If both request and
+ // response are empty, the connection establishment alone will indicate
+ // health. The request data can only be ASCII.
+ Request string `json:"request,omitempty"`
+
+ // Response: The bytes to match against the beginning of the response
+ // data. If left empty (the default value), any response will indicate
+ // health. The response data can only be ASCII.
+ Response string `json:"response,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Port") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Port") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TCPHealthCheck) MarshalJSON() ([]byte, error) {
+ type noMethod TCPHealthCheck
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Tags: A set of instance tags.
@@ -7032,12 +12162,20 @@ type Tags struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Fingerprint") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *Tags) MarshalJSON() ([]byte, error) {
type noMethod Tags
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetHttpProxy: A TargetHttpProxy resource. This resource defines an
@@ -7086,12 +12224,21 @@ type TargetHttpProxy struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetHttpProxy) MarshalJSON() ([]byte, error) {
type noMethod TargetHttpProxy
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetHttpProxyList: A list of TargetHttpProxy resources.
@@ -7129,12 +12276,20 @@ type TargetHttpProxyList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetHttpProxyList) MarshalJSON() ([]byte, error) {
type noMethod TargetHttpProxyList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetHttpsProxiesSetSslCertificatesRequest struct {
@@ -7150,12 +12305,21 @@ type TargetHttpsProxiesSetSslCertificatesRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "SslCertificates") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetHttpsProxiesSetSslCertificatesRequest) MarshalJSON() ([]byte, error) {
type noMethod TargetHttpsProxiesSetSslCertificatesRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetHttpsProxy: A TargetHttpsProxy resource. This resource defines
@@ -7214,12 +12378,21 @@ type TargetHttpsProxy struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetHttpsProxy) MarshalJSON() ([]byte, error) {
type noMethod TargetHttpsProxy
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetHttpsProxyList: Contains a list of TargetHttpsProxy resources.
@@ -7257,12 +12430,20 @@ type TargetHttpsProxyList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetHttpsProxyList) MarshalJSON() ([]byte, error) {
type noMethod TargetHttpsProxyList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetInstance: A TargetInstance resource. This resource defines an
@@ -7328,12 +12509,21 @@ type TargetInstance struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstance) MarshalJSON() ([]byte, error) {
type noMethod TargetInstance
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetInstanceAggregatedList struct {
@@ -7369,12 +12559,20 @@ type TargetInstanceAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstanceAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod TargetInstanceAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetInstanceList: Contains a list of TargetInstance resources.
@@ -7411,12 +12609,20 @@ type TargetInstanceList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstanceList) MarshalJSON() ([]byte, error) {
type noMethod TargetInstanceList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetInstancesScopedList struct {
@@ -7434,12 +12640,21 @@ type TargetInstancesScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "TargetInstances") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstancesScopedList) MarshalJSON() ([]byte, error) {
type noMethod TargetInstancesScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetInstancesScopedListWarning: Informational warning which
@@ -7453,6 +12668,7 @@ type TargetInstancesScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -7462,6 +12678,7 @@ type TargetInstancesScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -7483,12 +12700,20 @@ type TargetInstancesScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstancesScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod TargetInstancesScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetInstancesScopedListWarningData struct {
@@ -7512,16 +12737,24 @@ type TargetInstancesScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetInstancesScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod TargetInstancesScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetPool: A TargetPool resource. This resource defines a pool of
-// instances, associated HttpHealthCheck resources, and the fallback
+// instances, an associated HttpHealthCheck resource, and the fallback
// target pool.
type TargetPool struct {
// BackupPool: This field is applicable only when the containing target
@@ -7567,10 +12800,11 @@ type TargetPool struct {
// instance is healthy.
FailoverRatio float64 `json:"failoverRatio,omitempty"`
- // HealthChecks: A list of URLs to the HttpHealthCheck resource. A
- // member instance in this pool is considered healthy if and only if all
- // specified health checks pass. An empty list means all member
- // instances will be considered healthy at all times.
+ // HealthChecks: The URL of the HttpHealthCheck resource. A member
+ // instance in this pool is considered healthy if and only if the health
+ // checks pass. An empty list means all member instances will be
+ // considered healthy at all times. Only HttpHealthChecks are supported.
+ // Only one health check may be specified.
HealthChecks []string `json:"healthChecks,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
@@ -7615,7 +12849,9 @@ type TargetPool struct {
//
// Possible values:
// "CLIENT_IP"
+ // "CLIENT_IP_PORT_PROTO"
// "CLIENT_IP_PROTO"
+ // "GENERATED_COOKIE"
// "NONE"
SessionAffinity string `json:"sessionAffinity,omitempty"`
@@ -7630,12 +12866,34 @@ type TargetPool struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BackupPool") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPool) MarshalJSON() ([]byte, error) {
type noMethod TargetPool
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *TargetPool) UnmarshalJSON(data []byte) error {
+ type noMethod TargetPool
+ var s1 struct {
+ FailoverRatio gensupport.JSONFloat64 `json:"failoverRatio"`
+ *noMethod
+ }
+ s1.noMethod = (*noMethod)(s)
+ if err := json.Unmarshal(data, &s1); err != nil {
+ return err
+ }
+ s.FailoverRatio = float64(s1.FailoverRatio)
+ return nil
}
type TargetPoolAggregatedList struct {
@@ -7673,12 +12931,20 @@ type TargetPoolAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolInstanceHealth struct {
@@ -7700,12 +12966,20 @@ type TargetPoolInstanceHealth struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthStatus") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolInstanceHealth) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolInstanceHealth
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetPoolList: Contains a list of TargetPool resources.
@@ -7743,17 +13017,24 @@ type TargetPoolList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolList) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsAddHealthCheckRequest struct {
- // HealthChecks: A list of HttpHealthCheck resources to add to the
- // target pool.
+ // HealthChecks: The HttpHealthCheck to add to the target pool.
HealthChecks []*HealthCheckReference `json:"healthChecks,omitempty"`
// ForceSendFields is a list of field names (e.g. "HealthChecks") to
@@ -7763,12 +13044,20 @@ type TargetPoolsAddHealthCheckRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthChecks") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsAddHealthCheckRequest) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsAddHealthCheckRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsAddInstanceRequest struct {
@@ -7788,12 +13077,20 @@ type TargetPoolsAddInstanceRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsAddInstanceRequest) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsAddInstanceRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsRemoveHealthCheckRequest struct {
@@ -7812,12 +13109,20 @@ type TargetPoolsRemoveHealthCheckRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "HealthChecks") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsRemoveHealthCheckRequest) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsRemoveHealthCheckRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsRemoveInstanceRequest struct {
@@ -7831,12 +13136,20 @@ type TargetPoolsRemoveInstanceRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Instances") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsRemoveInstanceRequest) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsRemoveInstanceRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsScopedList struct {
@@ -7854,12 +13167,20 @@ type TargetPoolsScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "TargetPools") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsScopedList) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetPoolsScopedListWarning: Informational warning which replaces
@@ -7873,6 +13194,7 @@ type TargetPoolsScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -7882,6 +13204,7 @@ type TargetPoolsScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -7903,12 +13226,20 @@ type TargetPoolsScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetPoolsScopedListWarningData struct {
@@ -7932,12 +13263,20 @@ type TargetPoolsScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetPoolsScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod TargetPoolsScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetReference struct {
@@ -7950,12 +13289,417 @@ type TargetReference struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Target") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetReference) MarshalJSON() ([]byte, error) {
type noMethod TargetReference
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TargetSslProxiesSetBackendServiceRequest struct {
+ // Service: The URL of the new BackendService resource for the
+ // targetSslProxy.
+ Service string `json:"service,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Service") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Service") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetSslProxiesSetBackendServiceRequest) MarshalJSON() ([]byte, error) {
+ type noMethod TargetSslProxiesSetBackendServiceRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TargetSslProxiesSetProxyHeaderRequest struct {
+ // ProxyHeader: The new type of proxy header to append before sending
+ // data to the backend. NONE or PROXY_V1 are allowed.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "ProxyHeader") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ProxyHeader") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetSslProxiesSetProxyHeaderRequest) MarshalJSON() ([]byte, error) {
+ type noMethod TargetSslProxiesSetProxyHeaderRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TargetSslProxiesSetSslCertificatesRequest struct {
+ // SslCertificates: New set of URLs to SslCertificate resources to
+ // associate with this TargetSslProxy. Currently exactly one ssl
+ // certificate must be specified.
+ SslCertificates []string `json:"sslCertificates,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "SslCertificates") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "SslCertificates") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetSslProxiesSetSslCertificatesRequest) MarshalJSON() ([]byte, error) {
+ type noMethod TargetSslProxiesSetSslCertificatesRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// TargetSslProxy: A TargetSslProxy resource. This resource defines an
+// SSL proxy.
+type TargetSslProxy struct {
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional description of this resource. Provide this
+ // property when you create the resource.
+ Description string `json:"description,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: [Output Only] Type of the resource. Always
+ // compute#targetSslProxy for target SSL proxies.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // Service: URL to the BackendService resource.
+ Service string `json:"service,omitempty"`
+
+ // SslCertificates: URLs to SslCertificate resources that are used to
+ // authenticate connections to Backends. Currently exactly one SSL
+ // certificate must be specified.
+ SslCertificates []string `json:"sslCertificates,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetSslProxy) MarshalJSON() ([]byte, error) {
+ type noMethod TargetSslProxy
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// TargetSslProxyList: Contains a list of TargetSslProxy resources.
+type TargetSslProxyList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of TargetSslProxy resources.
+ Items []*TargetSslProxy `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetSslProxyList) MarshalJSON() ([]byte, error) {
+ type noMethod TargetSslProxyList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TargetTcpProxiesSetBackendServiceRequest struct {
+ // Service: The URL of the new BackendService resource for the
+ // targetTcpProxy.
+ Service string `json:"service,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Service") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Service") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetTcpProxiesSetBackendServiceRequest) MarshalJSON() ([]byte, error) {
+ type noMethod TargetTcpProxiesSetBackendServiceRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type TargetTcpProxiesSetProxyHeaderRequest struct {
+ // ProxyHeader: The new type of proxy header to append before sending
+ // data to the backend. NONE or PROXY_V1 are allowed.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "ProxyHeader") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ProxyHeader") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetTcpProxiesSetProxyHeaderRequest) MarshalJSON() ([]byte, error) {
+ type noMethod TargetTcpProxiesSetProxyHeaderRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// TargetTcpProxy: A TargetTcpProxy resource. This resource defines a
+// TCP proxy.
+type TargetTcpProxy struct {
+ // CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
+ // format.
+ CreationTimestamp string `json:"creationTimestamp,omitempty"`
+
+ // Description: An optional description of this resource. Provide this
+ // property when you create the resource.
+ Description string `json:"description,omitempty"`
+
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id uint64 `json:"id,omitempty,string"`
+
+ // Kind: [Output Only] Type of the resource. Always
+ // compute#targetTcpProxy for target TCP proxies.
+ Kind string `json:"kind,omitempty"`
+
+ // Name: Name of the resource. Provided by the client when the resource
+ // is created. The name must be 1-63 characters long, and comply with
+ // RFC1035. Specifically, the name must be 1-63 characters long and
+ // match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
+ // the first character must be a lowercase letter, and all following
+ // characters must be a dash, lowercase letter, or digit, except the
+ // last character, which cannot be a dash.
+ Name string `json:"name,omitempty"`
+
+ // ProxyHeader: Specifies the type of proxy header to append before
+ // sending data to the backend, either NONE or PROXY_V1. The default is
+ // NONE.
+ //
+ // Possible values:
+ // "NONE"
+ // "PROXY_V1"
+ ProxyHeader string `json:"proxyHeader,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for the resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // Service: URL to the BackendService resource.
+ Service string `json:"service,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "CreationTimestamp")
+ // to unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetTcpProxy) MarshalJSON() ([]byte, error) {
+ type noMethod TargetTcpProxy
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// TargetTcpProxyList: Contains a list of TargetTcpProxy resources.
+type TargetTcpProxyList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: A list of TargetTcpProxy resources.
+ Items []*TargetTcpProxy `json:"items,omitempty"`
+
+ // Kind: Type of resource.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *TargetTcpProxyList) MarshalJSON() ([]byte, error) {
+ type noMethod TargetTcpProxyList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetVpnGateway: Represents a Target VPN gateway resource.
@@ -8026,12 +13770,21 @@ type TargetVpnGateway struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGateway) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGateway
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetVpnGatewayAggregatedList struct {
@@ -8054,7 +13807,7 @@ type TargetVpnGatewayAggregatedList struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] Server-defined URL for the resource.
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -8068,12 +13821,20 @@ type TargetVpnGatewayAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGatewayAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGatewayAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetVpnGatewayList: Contains a list of TargetVpnGateway resources.
@@ -8097,7 +13858,7 @@ type TargetVpnGatewayList struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] Server-defined URL for the resource.
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -8111,12 +13872,20 @@ type TargetVpnGatewayList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGatewayList) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGatewayList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetVpnGatewaysScopedList struct {
@@ -8135,12 +13904,21 @@ type TargetVpnGatewaysScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "TargetVpnGateways") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGatewaysScopedList) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGatewaysScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetVpnGatewaysScopedListWarning: [Output Only] Informational
@@ -8154,6 +13932,7 @@ type TargetVpnGatewaysScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -8163,6 +13942,7 @@ type TargetVpnGatewaysScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -8184,12 +13964,20 @@ type TargetVpnGatewaysScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGatewaysScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGatewaysScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetVpnGatewaysScopedListWarningData struct {
@@ -8213,12 +14001,20 @@ type TargetVpnGatewaysScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TargetVpnGatewaysScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod TargetVpnGatewaysScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TestFailure struct {
@@ -8237,12 +14033,20 @@ type TestFailure struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "ActualService") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *TestFailure) MarshalJSON() ([]byte, error) {
type noMethod TestFailure
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UrlMap: A UrlMap resource. This resource defines the mapping from URL
@@ -8294,7 +14098,7 @@ type UrlMap struct {
SelfLink string `json:"selfLink,omitempty"`
// Tests: The list of expected URL mappings. Request to update this
- // UrlMap will succeed only all of the test cases pass.
+ // UrlMap will succeed only if all of the test cases pass.
Tests []*UrlMapTest `json:"tests,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -8308,12 +14112,21 @@ type UrlMap struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMap) MarshalJSON() ([]byte, error) {
type noMethod UrlMap
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UrlMapList: Contains a list of UrlMap resources.
@@ -8350,12 +14163,20 @@ type UrlMapList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapList) MarshalJSON() ([]byte, error) {
type noMethod UrlMapList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type UrlMapReference struct {
@@ -8368,12 +14189,20 @@ type UrlMapReference struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "UrlMap") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapReference) MarshalJSON() ([]byte, error) {
type noMethod UrlMapReference
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UrlMapTest: Message for the expected URL mappings.
@@ -8398,12 +14227,20 @@ type UrlMapTest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Description") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapTest) MarshalJSON() ([]byte, error) {
type noMethod UrlMapTest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UrlMapValidationResult: Message representing the validation result
@@ -8429,12 +14266,20 @@ type UrlMapValidationResult struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "LoadErrors") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapValidationResult) MarshalJSON() ([]byte, error) {
type noMethod UrlMapValidationResult
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type UrlMapsValidateRequest struct {
@@ -8448,12 +14293,20 @@ type UrlMapsValidateRequest struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Resource") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapsValidateRequest) MarshalJSON() ([]byte, error) {
type noMethod UrlMapsValidateRequest
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type UrlMapsValidateResponse struct {
@@ -8470,12 +14323,20 @@ type UrlMapsValidateResponse struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Result") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UrlMapsValidateResponse) MarshalJSON() ([]byte, error) {
type noMethod UrlMapsValidateResponse
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UsageExportLocation: The location in Cloud Storage and naming method
@@ -8505,12 +14366,20 @@ type UsageExportLocation struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "BucketName") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *UsageExportLocation) MarshalJSON() ([]byte, error) {
type noMethod UsageExportLocation
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type VpnTunnel struct {
@@ -8542,7 +14411,7 @@ type VpnTunnel struct {
// LocalTrafficSelector: Local traffic selector to use when establishing
// the VPN tunnel with peer VPN gateway. The value should be a CIDR
// formatted string, for example: 192.168.0.0/16. The ranges should be
- // disjoint.
+ // disjoint. Only IPv4 is supported.
LocalTrafficSelector []string `json:"localTrafficSelector,omitempty"`
// Name: Name of the resource. Provided by the client when the resource
@@ -8554,12 +14423,21 @@ type VpnTunnel struct {
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
- // PeerIp: IP address of the peer VPN gateway.
+ // PeerIp: IP address of the peer VPN gateway. Only IPv4 is supported.
PeerIp string `json:"peerIp,omitempty"`
// Region: [Output Only] URL of the region where the VPN tunnel resides.
Region string `json:"region,omitempty"`
+ // RemoteTrafficSelector: Remote traffic selectors to use when
+ // establishing the VPN tunnel with peer VPN gateway. The value should
+ // be a CIDR formatted string, for example: 192.168.0.0/16. The ranges
+ // should be disjoint. Only IPv4 is supported.
+ RemoteTrafficSelector []string `json:"remoteTrafficSelector,omitempty"`
+
+ // Router: URL of router resource to be used for dynamic routing.
+ Router string `json:"router,omitempty"`
+
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
@@ -8602,12 +14480,21 @@ type VpnTunnel struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnel) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnel
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type VpnTunnelAggregatedList struct {
@@ -8644,12 +14531,20 @@ type VpnTunnelAggregatedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnelAggregatedList) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnelAggregatedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// VpnTunnelList: Contains a list of VpnTunnel resources.
@@ -8673,7 +14568,7 @@ type VpnTunnelList struct {
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
- // SelfLink: [Output Only] Server-defined URL for the resource.
+ // SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
@@ -8687,12 +14582,20 @@ type VpnTunnelList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnelList) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnelList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type VpnTunnelsScopedList struct {
@@ -8710,12 +14613,20 @@ type VpnTunnelsScopedList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "VpnTunnels") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnelsScopedList) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnelsScopedList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// VpnTunnelsScopedListWarning: Informational warning which replaces the
@@ -8729,6 +14640,7 @@ type VpnTunnelsScopedListWarning struct {
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
+ // "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
@@ -8738,6 +14650,7 @@ type VpnTunnelsScopedListWarning struct {
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
+ // "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNREACHABLE"
@@ -8759,12 +14672,20 @@ type VpnTunnelsScopedListWarning struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Code") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnelsScopedListWarning) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnelsScopedListWarning
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type VpnTunnelsScopedListWarningData struct {
@@ -8788,12 +14709,106 @@ type VpnTunnelsScopedListWarningData struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Key") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *VpnTunnelsScopedListWarningData) MarshalJSON() ([]byte, error) {
type noMethod VpnTunnelsScopedListWarningData
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type XpnHostList struct {
+ // Id: [Output Only] The unique identifier for the resource. This
+ // identifier is defined by the server.
+ Id string `json:"id,omitempty"`
+
+ // Items: [Output Only] A list of XPN host project URLs.
+ Items []*Project `json:"items,omitempty"`
+
+ // Kind: [Output Only] Type of resource. Always compute#xpnHostList for
+ // lists of XPN hosts.
+ Kind string `json:"kind,omitempty"`
+
+ // NextPageToken: [Output Only] This token allows you to get the next
+ // page of results for list requests. If the number of results is larger
+ // than maxResults, use the nextPageToken as a value for the query
+ // parameter pageToken in the next list request. Subsequent list
+ // requests will have their own nextPageToken to continue paging through
+ // the results.
+ NextPageToken string `json:"nextPageToken,omitempty"`
+
+ // SelfLink: [Output Only] Server-defined URL for this resource.
+ SelfLink string `json:"selfLink,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *XpnHostList) MarshalJSON() ([]byte, error) {
+ type noMethod XpnHostList
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// XpnResourceId: XpnResourceId
+type XpnResourceId struct {
+ // Id: The ID of the XPN resource. In the case of projects, this field
+ // matches the project's name, not the canonical ID.
+ Id string `json:"id,omitempty"`
+
+ // Type: The type of the XPN resource.
+ //
+ // Possible values:
+ // "PROJECT"
+ // "XPN_RESOURCE_TYPE_UNSPECIFIED"
+ Type string `json:"type,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Id") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *XpnResourceId) MarshalJSON() ([]byte, error) {
+ type noMethod XpnResourceId
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Zone: A Zone resource.
@@ -8845,12 +14860,21 @@ type Zone struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "CreationTimestamp") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
}
func (s *Zone) MarshalJSON() ([]byte, error) {
type noMethod Zone
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ZoneList: Contains a list of zone resources.
@@ -8887,12 +14911,733 @@ type ZoneList struct {
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Id") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
}
func (s *ZoneList) MarshalJSON() ([]byte, error) {
type noMethod ZoneList
raw := noMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type ZoneSetLabelsRequest struct {
+ // LabelFingerprint: The fingerprint of the previous set of labels for
+ // this resource, used to detect conflicts. The fingerprint is initially
+ // generated by Compute Engine and changes after every request to modify
+ // or update labels. You must always provide an up-to-date fingerprint
+ // hash in order to update or change labels. Make a get() request to the
+ // resource to get the latest fingerprint.
+ LabelFingerprint string `json:"labelFingerprint,omitempty"`
+
+ // Labels: The labels to set for this resource.
+ Labels map[string]string `json:"labels,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "LabelFingerprint") to
+ // unconditionally include in API requests. By default, fields with
+ // empty values are omitted from API requests. However, any non-pointer,
+ // non-interface field appearing in ForceSendFields will be sent to the
+ // server regardless of whether the field is empty or not. This may be
+ // used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "LabelFingerprint") to
+ // include in API requests with the JSON null value. By default, fields
+ // with empty values are omitted from API requests. However, any field
+ // with an empty value appearing in NullFields will be sent to the
+ // server as null. It is an error if a field in this list has a
+ // non-empty value. This may be used to include null fields in Patch
+ // requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *ZoneSetLabelsRequest) MarshalJSON() ([]byte, error) {
+ type noMethod ZoneSetLabelsRequest
+ raw := noMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// method id "compute.acceleratorTypes.aggregatedList":
+
+type AcceleratorTypesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves an aggregated list of accelerator types.
+func (r *AcceleratorTypesService) AggregatedList(project string) *AcceleratorTypesAggregatedListCall {
+ c := &AcceleratorTypesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *AcceleratorTypesAggregatedListCall) Filter(filter string) *AcceleratorTypesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *AcceleratorTypesAggregatedListCall) MaxResults(maxResults int64) *AcceleratorTypesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AcceleratorTypesAggregatedListCall) OrderBy(orderBy string) *AcceleratorTypesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *AcceleratorTypesAggregatedListCall) PageToken(pageToken string) *AcceleratorTypesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *AcceleratorTypesAggregatedListCall) Fields(s ...googleapi.Field) *AcceleratorTypesAggregatedListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *AcceleratorTypesAggregatedListCall) IfNoneMatch(entityTag string) *AcceleratorTypesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *AcceleratorTypesAggregatedListCall) Context(ctx context.Context) *AcceleratorTypesAggregatedListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AcceleratorTypesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *AcceleratorTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/acceleratorTypes")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.acceleratorTypes.aggregatedList" call.
+// Exactly one of *AcceleratorTypeAggregatedList or error will be
+// non-nil. Any non-2xx status code is an error. Response headers are in
+// either *AcceleratorTypeAggregatedList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *AcceleratorTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*AcceleratorTypeAggregatedList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &AcceleratorTypeAggregatedList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves an aggregated list of accelerator types.",
+ // "httpMethod": "GET",
+ // "id": "compute.acceleratorTypes.aggregatedList",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/aggregated/acceleratorTypes",
+ // "response": {
+ // "$ref": "AcceleratorTypeAggregatedList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *AcceleratorTypesAggregatedListCall) Pages(ctx context.Context, f func(*AcceleratorTypeAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.acceleratorTypes.get":
+
+type AcceleratorTypesGetCall struct {
+ s *Service
+ project string
+ zone string
+ acceleratorType string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified accelerator type. Get a list of available
+// accelerator types by making a list() request.
+func (r *AcceleratorTypesService) Get(project string, zone string, acceleratorType string) *AcceleratorTypesGetCall {
+ c := &AcceleratorTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.acceleratorType = acceleratorType
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *AcceleratorTypesGetCall) Fields(s ...googleapi.Field) *AcceleratorTypesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *AcceleratorTypesGetCall) IfNoneMatch(entityTag string) *AcceleratorTypesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *AcceleratorTypesGetCall) Context(ctx context.Context) *AcceleratorTypesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AcceleratorTypesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *AcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/acceleratorTypes/{acceleratorType}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "acceleratorType": c.acceleratorType,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.acceleratorTypes.get" call.
+// Exactly one of *AcceleratorType or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *AcceleratorType.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *AcceleratorTypesGetCall) Do(opts ...googleapi.CallOption) (*AcceleratorType, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &AcceleratorType{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified accelerator type. Get a list of available accelerator types by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.acceleratorTypes.get",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "acceleratorType"
+ // ],
+ // "parameters": {
+ // "acceleratorType": {
+ // "description": "Name of the accelerator type to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/acceleratorTypes/{acceleratorType}",
+ // "response": {
+ // "$ref": "AcceleratorType"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.acceleratorTypes.list":
+
+type AcceleratorTypesListCall struct {
+ s *Service
+ project string
+ zone string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves a list of accelerator types available to the
+// specified project.
+func (r *AcceleratorTypesService) List(project string, zone string) *AcceleratorTypesListCall {
+ c := &AcceleratorTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *AcceleratorTypesListCall) Filter(filter string) *AcceleratorTypesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *AcceleratorTypesListCall) MaxResults(maxResults int64) *AcceleratorTypesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AcceleratorTypesListCall) OrderBy(orderBy string) *AcceleratorTypesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *AcceleratorTypesListCall) PageToken(pageToken string) *AcceleratorTypesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *AcceleratorTypesListCall) Fields(s ...googleapi.Field) *AcceleratorTypesListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *AcceleratorTypesListCall) IfNoneMatch(entityTag string) *AcceleratorTypesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *AcceleratorTypesListCall) Context(ctx context.Context) *AcceleratorTypesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AcceleratorTypesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *AcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/acceleratorTypes")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.acceleratorTypes.list" call.
+// Exactly one of *AcceleratorTypeList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *AcceleratorTypeList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *AcceleratorTypesListCall) Do(opts ...googleapi.CallOption) (*AcceleratorTypeList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &AcceleratorTypeList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves a list of accelerator types available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.acceleratorTypes.list",
+ // "parameterOrder": [
+ // "project",
+ // "zone"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/acceleratorTypes",
+ // "response": {
+ // "$ref": "AcceleratorTypeList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *AcceleratorTypesListCall) Pages(ctx context.Context, f func(*AcceleratorTypeList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
}
// method id "compute.addresses.aggregatedList":
@@ -8903,6 +15648,7 @@ type AddressesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of addresses.
@@ -8913,10 +15659,9 @@ func (r *AddressesService) AggregatedList(project string) *AddressesAggregatedLi
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -8928,20 +15673,18 @@ func (r *AddressesService) AggregatedList(project string) *AddressesAggregatedLi
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *AddressesAggregatedListCall) Filter(filter string) *AddressesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -8951,12 +15694,30 @@ func (c *AddressesAggregatedListCall) Filter(filter string) *AddressesAggregated
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *AddressesAggregatedListCall) MaxResults(maxResults int64) *AddressesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AddressesAggregatedListCall) OrderBy(orderBy string) *AddressesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -8991,23 +15752,34 @@ func (c *AddressesAggregatedListCall) Context(ctx context.Context) *AddressesAgg
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AddressesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/addresses")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.addresses.aggregatedList" call.
@@ -9042,7 +15814,8 @@ func (c *AddressesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Address
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9055,19 +15828,23 @@ func (c *AddressesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Address
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -9076,7 +15853,7 @@ func (c *AddressesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Address
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -9124,6 +15901,7 @@ type AddressesDeleteCall struct {
address string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified address resource.
@@ -9152,22 +15930,33 @@ func (c *AddressesDeleteCall) Context(ctx context.Context) *AddressesDeleteCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AddressesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"address": c.address,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.addresses.delete" call.
@@ -9202,7 +15991,8 @@ func (c *AddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9226,7 +16016,7 @@ func (c *AddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -9260,6 +16050,7 @@ type AddressesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified address resource.
@@ -9298,25 +16089,36 @@ func (c *AddressesGetCall) Context(ctx context.Context) *AddressesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AddressesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses/{address}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"address": c.address,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.addresses.get" call.
@@ -9351,7 +16153,8 @@ func (c *AddressesGetCall) Do(opts ...googleapi.CallOption) (*Address, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9375,7 +16178,7 @@ func (c *AddressesGetCall) Do(opts ...googleapi.CallOption) (*Address, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -9409,6 +16212,7 @@ type AddressesInsertCall struct {
address *Address
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an address resource in the specified project using
@@ -9438,27 +16242,37 @@ func (c *AddressesInsertCall) Context(ctx context.Context) *AddressesInsertCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AddressesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AddressesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.address)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.addresses.insert" call.
@@ -9493,7 +16307,8 @@ func (c *AddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9509,7 +16324,7 @@ func (c *AddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -9545,6 +16360,7 @@ type AddressesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of addresses contained within the specified
@@ -9557,10 +16373,9 @@ func (r *AddressesService) List(project string, region string) *AddressesListCal
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -9572,20 +16387,18 @@ func (r *AddressesService) List(project string, region string) *AddressesListCal
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *AddressesListCall) Filter(filter string) *AddressesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -9595,12 +16408,30 @@ func (c *AddressesListCall) Filter(filter string) *AddressesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *AddressesListCall) MaxResults(maxResults int64) *AddressesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AddressesListCall) OrderBy(orderBy string) *AddressesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -9635,24 +16466,35 @@ func (c *AddressesListCall) Context(ctx context.Context) *AddressesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AddressesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/addresses")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.addresses.list" call.
@@ -9687,7 +16529,8 @@ func (c *AddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9701,19 +16544,23 @@ func (c *AddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList, erro
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -9722,7 +16569,7 @@ func (c *AddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -9776,6 +16623,7 @@ type AutoscalersAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of autoscalers.
@@ -9785,10 +16633,9 @@ func (r *AutoscalersService) AggregatedList(project string) *AutoscalersAggregat
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -9800,20 +16647,18 @@ func (r *AutoscalersService) AggregatedList(project string) *AutoscalersAggregat
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *AutoscalersAggregatedListCall) Filter(filter string) *AutoscalersAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -9823,12 +16668,30 @@ func (c *AutoscalersAggregatedListCall) Filter(filter string) *AutoscalersAggreg
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *AutoscalersAggregatedListCall) MaxResults(maxResults int64) *AutoscalersAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AutoscalersAggregatedListCall) OrderBy(orderBy string) *AutoscalersAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -9863,23 +16726,34 @@ func (c *AutoscalersAggregatedListCall) Context(ctx context.Context) *Autoscaler
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.aggregatedList" call.
@@ -9914,7 +16788,8 @@ func (c *AutoscalersAggregatedListCall) Do(opts ...googleapi.CallOption) (*Autos
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -9927,19 +16802,23 @@ func (c *AutoscalersAggregatedListCall) Do(opts ...googleapi.CallOption) (*Autos
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -9948,7 +16827,7 @@ func (c *AutoscalersAggregatedListCall) Do(opts ...googleapi.CallOption) (*Autos
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -9996,6 +16875,7 @@ type AutoscalersDeleteCall struct {
autoscaler string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified autoscaler.
@@ -10023,22 +16903,33 @@ func (c *AutoscalersDeleteCall) Context(ctx context.Context) *AutoscalersDeleteC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"autoscaler": c.autoscaler,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.delete" call.
@@ -10073,7 +16964,8 @@ func (c *AutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -10097,7 +16989,7 @@ func (c *AutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10131,6 +17023,7 @@ type AutoscalersGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified autoscaler resource. Get a list of
@@ -10169,25 +17062,36 @@ func (c *AutoscalersGetCall) Context(ctx context.Context) *AutoscalersGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers/{autoscaler}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"autoscaler": c.autoscaler,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.get" call.
@@ -10222,7 +17126,8 @@ func (c *AutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -10246,7 +17151,7 @@ func (c *AutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10280,6 +17185,7 @@ type AutoscalersInsertCall struct {
autoscaler *Autoscaler
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an autoscaler in the specified project using the data
@@ -10308,27 +17214,37 @@ func (c *AutoscalersInsertCall) Context(ctx context.Context) *AutoscalersInsertC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.insert" call.
@@ -10363,7 +17279,8 @@ func (c *AutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -10379,7 +17296,7 @@ func (c *AutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10415,6 +17332,7 @@ type AutoscalersListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of autoscalers contained within the specified
@@ -10426,10 +17344,9 @@ func (r *AutoscalersService) List(project string, zone string) *AutoscalersListC
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -10441,20 +17358,18 @@ func (r *AutoscalersService) List(project string, zone string) *AutoscalersListC
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -10464,12 +17379,30 @@ func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *AutoscalersListCall) MaxResults(maxResults int64) *AutoscalersListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *AutoscalersListCall) OrderBy(orderBy string) *AutoscalersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -10504,24 +17437,35 @@ func (c *AutoscalersListCall) Context(ctx context.Context) *AutoscalersListCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.list" call.
@@ -10556,7 +17500,8 @@ func (c *AutoscalersListCall) Do(opts ...googleapi.CallOption) (*AutoscalerList,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -10570,19 +17515,23 @@ func (c *AutoscalersListCall) Do(opts ...googleapi.CallOption) (*AutoscalerList,
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -10591,7 +17540,7 @@ func (c *AutoscalersListCall) Do(opts ...googleapi.CallOption) (*AutoscalerList,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10640,22 +17589,30 @@ func (c *AutoscalersListCall) Pages(ctx context.Context, f func(*AutoscalerList)
// method id "compute.autoscalers.patch":
type AutoscalersPatchCall struct {
- s *Service
- project string
- zone string
- autoscaler2 *Autoscaler
- urlParams_ gensupport.URLParams
- ctx_ context.Context
+ s *Service
+ project string
+ zone string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
}
// Patch: Updates an autoscaler in the specified project using the data
-// included in the request. This method supports patch semantics.
-func (r *AutoscalersService) Patch(project string, zone string, autoscaler string, autoscaler2 *Autoscaler) *AutoscalersPatchCall {
+// included in the request. This method supports PATCH semantics and
+// uses the JSON merge patch format and processing rules.
+func (r *AutoscalersService) Patch(project string, zone string, autoscaler *Autoscaler) *AutoscalersPatchCall {
c := &AutoscalersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.zone = zone
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Autoscaler sets the optional parameter "autoscaler": Name of the
+// autoscaler to patch.
+func (c *AutoscalersPatchCall) Autoscaler(autoscaler string) *AutoscalersPatchCall {
c.urlParams_.Set("autoscaler", autoscaler)
- c.autoscaler2 = autoscaler2
return c
}
@@ -10675,27 +17632,37 @@ func (c *AutoscalersPatchCall) Context(ctx context.Context) *AutoscalersPatchCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
- body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler2)
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.patch" call.
@@ -10730,31 +17697,30 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports patch semantics.",
+ // "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
// "httpMethod": "PATCH",
// "id": "compute.autoscalers.patch",
// "parameterOrder": [
// "project",
- // "zone",
- // "autoscaler"
+ // "zone"
// ],
// "parameters": {
// "autoscaler": {
- // "description": "Name of the autoscaler to update.",
+ // "description": "Name of the autoscaler to patch.",
// "location": "query",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
- // "required": true,
// "type": "string"
// },
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10775,7 +17741,8 @@ func (c *AutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, err
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/compute"
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
// ]
// }
@@ -10790,6 +17757,7 @@ type AutoscalersUpdateCall struct {
autoscaler *Autoscaler
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Update: Updates an autoscaler in the specified project using the data
@@ -10825,27 +17793,37 @@ func (c *AutoscalersUpdateCall) Context(ctx context.Context) *AutoscalersUpdateC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *AutoscalersUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *AutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/autoscalers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.autoscalers.update" call.
@@ -10880,7 +17858,8 @@ func (c *AutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -10902,7 +17881,7 @@ func (c *AutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -10929,6 +17908,1230 @@ func (c *AutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, er
}
+// method id "compute.backendBuckets.delete":
+
+type BackendBucketsDeleteCall struct {
+ s *Service
+ project string
+ backendBucket string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified BackendBucket resource.
+func (r *BackendBucketsService) Delete(project string, backendBucket string) *BackendBucketsDeleteCall {
+ c := &BackendBucketsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.backendBucket = backendBucket
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsDeleteCall) Fields(s ...googleapi.Field) *BackendBucketsDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsDeleteCall) Context(ctx context.Context) *BackendBucketsDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets/{backendBucket}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "backendBucket": c.backendBucket,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *BackendBucketsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified BackendBucket resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.backendBuckets.delete",
+ // "parameterOrder": [
+ // "project",
+ // "backendBucket"
+ // ],
+ // "parameters": {
+ // "backendBucket": {
+ // "description": "Name of the BackendBucket resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets/{backendBucket}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.backendBuckets.get":
+
+type BackendBucketsGetCall struct {
+ s *Service
+ project string
+ backendBucket string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified BackendBucket resource. Get a list of
+// available backend buckets by making a list() request.
+func (r *BackendBucketsService) Get(project string, backendBucket string) *BackendBucketsGetCall {
+ c := &BackendBucketsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.backendBucket = backendBucket
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsGetCall) Fields(s ...googleapi.Field) *BackendBucketsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *BackendBucketsGetCall) IfNoneMatch(entityTag string) *BackendBucketsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsGetCall) Context(ctx context.Context) *BackendBucketsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets/{backendBucket}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "backendBucket": c.backendBucket,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.get" call.
+// Exactly one of *BackendBucket or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *BackendBucket.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *BackendBucketsGetCall) Do(opts ...googleapi.CallOption) (*BackendBucket, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendBucket{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified BackendBucket resource. Get a list of available backend buckets by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.backendBuckets.get",
+ // "parameterOrder": [
+ // "project",
+ // "backendBucket"
+ // ],
+ // "parameters": {
+ // "backendBucket": {
+ // "description": "Name of the BackendBucket resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets/{backendBucket}",
+ // "response": {
+ // "$ref": "BackendBucket"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.backendBuckets.insert":
+
+type BackendBucketsInsertCall struct {
+ s *Service
+ project string
+ backendbucket *BackendBucket
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a BackendBucket resource in the specified project
+// using the data included in the request.
+func (r *BackendBucketsService) Insert(project string, backendbucket *BackendBucket) *BackendBucketsInsertCall {
+ c := &BackendBucketsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.backendbucket = backendbucket
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsInsertCall) Fields(s ...googleapi.Field) *BackendBucketsInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsInsertCall) Context(ctx context.Context) *BackendBucketsInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendbucket)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *BackendBucketsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a BackendBucket resource in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.backendBuckets.insert",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets",
+ // "request": {
+ // "$ref": "BackendBucket"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.backendBuckets.list":
+
+type BackendBucketsListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of BackendBucket resources available to the
+// specified project.
+func (r *BackendBucketsService) List(project string) *BackendBucketsListCall {
+ c := &BackendBucketsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *BackendBucketsListCall) Filter(filter string) *BackendBucketsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *BackendBucketsListCall) MaxResults(maxResults int64) *BackendBucketsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *BackendBucketsListCall) OrderBy(orderBy string) *BackendBucketsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *BackendBucketsListCall) PageToken(pageToken string) *BackendBucketsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsListCall) Fields(s ...googleapi.Field) *BackendBucketsListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *BackendBucketsListCall) IfNoneMatch(entityTag string) *BackendBucketsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsListCall) Context(ctx context.Context) *BackendBucketsListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.list" call.
+// Exactly one of *BackendBucketList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *BackendBucketList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *BackendBucketsListCall) Do(opts ...googleapi.CallOption) (*BackendBucketList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendBucketList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of BackendBucket resources available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.backendBuckets.list",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets",
+ // "response": {
+ // "$ref": "BackendBucketList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *BackendBucketsListCall) Pages(ctx context.Context, f func(*BackendBucketList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.backendBuckets.patch":
+
+type BackendBucketsPatchCall struct {
+ s *Service
+ project string
+ backendBucket string
+ backendbucket *BackendBucket
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates the specified BackendBucket resource with the data
+// included in the request. This method supports PATCH semantics and
+// uses the JSON merge patch format and processing rules.
+func (r *BackendBucketsService) Patch(project string, backendBucket string, backendbucket *BackendBucket) *BackendBucketsPatchCall {
+ c := &BackendBucketsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.backendBucket = backendBucket
+ c.backendbucket = backendbucket
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsPatchCall) Fields(s ...googleapi.Field) *BackendBucketsPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsPatchCall) Context(ctx context.Context) *BackendBucketsPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendbucket)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets/{backendBucket}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "backendBucket": c.backendBucket,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.patch" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *BackendBucketsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates the specified BackendBucket resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ // "httpMethod": "PATCH",
+ // "id": "compute.backendBuckets.patch",
+ // "parameterOrder": [
+ // "project",
+ // "backendBucket"
+ // ],
+ // "parameters": {
+ // "backendBucket": {
+ // "description": "Name of the BackendBucket resource to patch.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets/{backendBucket}",
+ // "request": {
+ // "$ref": "BackendBucket"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.backendBuckets.update":
+
+type BackendBucketsUpdateCall struct {
+ s *Service
+ project string
+ backendBucket string
+ backendbucket *BackendBucket
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates the specified BackendBucket resource with the data
+// included in the request.
+func (r *BackendBucketsService) Update(project string, backendBucket string, backendbucket *BackendBucket) *BackendBucketsUpdateCall {
+ c := &BackendBucketsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.backendBucket = backendBucket
+ c.backendbucket = backendbucket
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendBucketsUpdateCall) Fields(s ...googleapi.Field) *BackendBucketsUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendBucketsUpdateCall) Context(ctx context.Context) *BackendBucketsUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendBucketsUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendBucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendbucket)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendBuckets/{backendBucket}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "backendBucket": c.backendBucket,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendBuckets.update" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *BackendBucketsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates the specified BackendBucket resource with the data included in the request.",
+ // "httpMethod": "PUT",
+ // "id": "compute.backendBuckets.update",
+ // "parameterOrder": [
+ // "project",
+ // "backendBucket"
+ // ],
+ // "parameters": {
+ // "backendBucket": {
+ // "description": "Name of the BackendBucket resource to update.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/backendBuckets/{backendBucket}",
+ // "request": {
+ // "$ref": "BackendBucket"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.backendServices.aggregatedList":
+
+type BackendServicesAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves the list of all BackendService resources,
+// regional and global, available to the specified project.
+func (r *BackendServicesService) AggregatedList(project string) *BackendServicesAggregatedListCall {
+ c := &BackendServicesAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *BackendServicesAggregatedListCall) Filter(filter string) *BackendServicesAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *BackendServicesAggregatedListCall) MaxResults(maxResults int64) *BackendServicesAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *BackendServicesAggregatedListCall) OrderBy(orderBy string) *BackendServicesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *BackendServicesAggregatedListCall) PageToken(pageToken string) *BackendServicesAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *BackendServicesAggregatedListCall) Fields(s ...googleapi.Field) *BackendServicesAggregatedListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *BackendServicesAggregatedListCall) IfNoneMatch(entityTag string) *BackendServicesAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *BackendServicesAggregatedListCall) Context(ctx context.Context) *BackendServicesAggregatedListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *BackendServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/backendServices")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.backendServices.aggregatedList" call.
+// Exactly one of *BackendServiceAggregatedList or error will be
+// non-nil. Any non-2xx status code is an error. Response headers are in
+// either *BackendServiceAggregatedList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *BackendServicesAggregatedListCall) Do(opts ...googleapi.CallOption) (*BackendServiceAggregatedList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendServiceAggregatedList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of all BackendService resources, regional and global, available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.backendServices.aggregatedList",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Name of the project scoping this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/aggregated/backendServices",
+ // "response": {
+ // "$ref": "BackendServiceAggregatedList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *BackendServicesAggregatedListCall) Pages(ctx context.Context, f func(*BackendServiceAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
// method id "compute.backendServices.delete":
type BackendServicesDeleteCall struct {
@@ -10937,6 +19140,7 @@ type BackendServicesDeleteCall struct {
backendService string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified BackendService resource.
@@ -10964,21 +19168,32 @@ func (c *BackendServicesDeleteCall) Context(ctx context.Context) *BackendService
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"backendService": c.backendService,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.delete" call.
@@ -11013,7 +19228,8 @@ func (c *BackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -11036,7 +19252,7 @@ func (c *BackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11062,6 +19278,7 @@ type BackendServicesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified BackendService resource. Get a list of
@@ -11100,24 +19317,35 @@ func (c *BackendServicesGetCall) Context(ctx context.Context) *BackendServicesGe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"backendService": c.backendService,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.get" call.
@@ -11152,7 +19380,8 @@ func (c *BackendServicesGetCall) Do(opts ...googleapi.CallOption) (*BackendServi
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -11175,7 +19404,7 @@ func (c *BackendServicesGetCall) Do(opts ...googleapi.CallOption) (*BackendServi
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11202,6 +19431,7 @@ type BackendServicesGetHealthCall struct {
resourcegroupreference *ResourceGroupReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// GetHealth: Gets the most recent health check results for this
@@ -11231,27 +19461,37 @@ func (c *BackendServicesGetHealthCall) Context(ctx context.Context) *BackendServ
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesGetHealthCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.resourcegroupreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}/getHealth")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"backendService": c.backendService,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.getHealth" call.
@@ -11286,7 +19526,8 @@ func (c *BackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*Backen
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -11308,7 +19549,7 @@ func (c *BackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*Backen
// },
// "project": {
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11337,6 +19578,7 @@ type BackendServicesInsertCall struct {
backendservice *BackendService
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a BackendService resource in the specified project
@@ -11367,26 +19609,36 @@ func (c *BackendServicesInsertCall) Context(ctx context.Context) *BackendService
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.insert" call.
@@ -11421,7 +19673,8 @@ func (c *BackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -11436,7 +19689,7 @@ func (c *BackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11464,6 +19717,7 @@ type BackendServicesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of BackendService resources available to the
@@ -11475,10 +19729,9 @@ func (r *BackendServicesService) List(project string) *BackendServicesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -11490,20 +19743,18 @@ func (r *BackendServicesService) List(project string) *BackendServicesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *BackendServicesListCall) Filter(filter string) *BackendServicesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -11513,12 +19764,30 @@ func (c *BackendServicesListCall) Filter(filter string) *BackendServicesListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *BackendServicesListCall) MaxResults(maxResults int64) *BackendServicesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *BackendServicesListCall) OrderBy(orderBy string) *BackendServicesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -11553,23 +19822,34 @@ func (c *BackendServicesListCall) Context(ctx context.Context) *BackendServicesL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.list" call.
@@ -11604,7 +19884,8 @@ func (c *BackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServ
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -11617,19 +19898,23 @@ func (c *BackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServ
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -11638,7 +19923,7 @@ func (c *BackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServ
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11686,12 +19971,15 @@ type BackendServicesPatchCall struct {
backendservice *BackendService
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the entire content of the BackendService resource.
-// There are several restrictions and guidelines to keep in mind when
-// updating a backend service. Read Restrictions and Guidelines for
-// more information. This method supports patch semantics.
+// Patch: Patches the specified BackendService resource with the data
+// included in the request. There are several restrictions and
+// guidelines to keep in mind when updating a backend service. Read
+// Restrictions and Guidelines for more information. This method
+// supports PATCH semantics and uses the JSON merge patch format and
+// processing rules.
// For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/patch
func (r *BackendServicesService) Patch(project string, backendService string, backendservice *BackendService) *BackendServicesPatchCall {
c := &BackendServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -11717,27 +20005,37 @@ func (c *BackendServicesPatchCall) Context(ctx context.Context) *BackendServices
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"backendService": c.backendService,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.patch" call.
@@ -11772,12 +20070,13 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the entire content of the BackendService resource. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports patch semantics.",
+ // "description": "Patches the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
// "httpMethod": "PATCH",
// "id": "compute.backendServices.patch",
// "parameterOrder": [
@@ -11786,7 +20085,7 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation,
// ],
// "parameters": {
// "backendService": {
- // "description": "Name of the BackendService resource to update.",
+ // "description": "Name of the BackendService resource to patch.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
@@ -11795,7 +20094,7 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11809,7 +20108,8 @@ func (c *BackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation,
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/compute"
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
// ]
// }
@@ -11824,12 +20124,13 @@ type BackendServicesUpdateCall struct {
backendservice *BackendService
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates the entire content of the BackendService resource.
-// There are several restrictions and guidelines to keep in mind when
-// updating a backend service. Read Restrictions and Guidelines for
-// more information.
+// Update: Updates the specified BackendService resource with the data
+// included in the request. There are several restrictions and
+// guidelines to keep in mind when updating a backend service. Read
+// Restrictions and Guidelines for more information.
// For details, see https://cloud.google.com/compute/docs/reference/latest/backendServices/update
func (r *BackendServicesService) Update(project string, backendService string, backendservice *BackendService) *BackendServicesUpdateCall {
c := &BackendServicesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -11855,27 +20156,37 @@ func (c *BackendServicesUpdateCall) Context(ctx context.Context) *BackendService
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *BackendServicesUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *BackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/backendServices/{backendService}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"backendService": c.backendService,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.backendServices.update" call.
@@ -11910,12 +20221,13 @@ func (c *BackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the entire content of the BackendService resource. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
+ // "description": "Updates the specified BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
// "httpMethod": "PUT",
// "id": "compute.backendServices.update",
// "parameterOrder": [
@@ -11933,7 +20245,7 @@ func (c *BackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -11961,6 +20273,7 @@ type DiskTypesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of disk types.
@@ -11971,10 +20284,9 @@ func (r *DiskTypesService) AggregatedList(project string) *DiskTypesAggregatedLi
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -11986,20 +20298,18 @@ func (r *DiskTypesService) AggregatedList(project string) *DiskTypesAggregatedLi
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *DiskTypesAggregatedListCall) Filter(filter string) *DiskTypesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -12009,12 +20319,30 @@ func (c *DiskTypesAggregatedListCall) Filter(filter string) *DiskTypesAggregated
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *DiskTypesAggregatedListCall) MaxResults(maxResults int64) *DiskTypesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *DiskTypesAggregatedListCall) OrderBy(orderBy string) *DiskTypesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -12049,23 +20377,34 @@ func (c *DiskTypesAggregatedListCall) Context(ctx context.Context) *DiskTypesAgg
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DiskTypesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/diskTypes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.diskTypes.aggregatedList" call.
@@ -12100,7 +20439,8 @@ func (c *DiskTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskTyp
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -12113,19 +20453,23 @@ func (c *DiskTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskTyp
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -12134,7 +20478,7 @@ func (c *DiskTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskTyp
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -12183,6 +20527,7 @@ type DiskTypesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified disk type. Get a list of available disk
@@ -12222,25 +20567,36 @@ func (c *DiskTypesGetCall) Context(ctx context.Context) *DiskTypesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DiskTypesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes/{diskType}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"diskType": c.diskType,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.diskTypes.get" call.
@@ -12275,7 +20631,8 @@ func (c *DiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -12299,7 +20656,7 @@ func (c *DiskTypesGetCall) Do(opts ...googleapi.CallOption) (*DiskType, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -12333,6 +20690,7 @@ type DiskTypesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of disk types available to the specified
@@ -12345,10 +20703,9 @@ func (r *DiskTypesService) List(project string, zone string) *DiskTypesListCall
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -12360,20 +20717,18 @@ func (r *DiskTypesService) List(project string, zone string) *DiskTypesListCall
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *DiskTypesListCall) Filter(filter string) *DiskTypesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -12383,12 +20738,30 @@ func (c *DiskTypesListCall) Filter(filter string) *DiskTypesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *DiskTypesListCall) MaxResults(maxResults int64) *DiskTypesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *DiskTypesListCall) OrderBy(orderBy string) *DiskTypesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -12423,24 +20796,35 @@ func (c *DiskTypesListCall) Context(ctx context.Context) *DiskTypesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DiskTypesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/diskTypes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.diskTypes.list" call.
@@ -12475,7 +20859,8 @@ func (c *DiskTypesListCall) Do(opts ...googleapi.CallOption) (*DiskTypeList, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -12489,19 +20874,23 @@ func (c *DiskTypesListCall) Do(opts ...googleapi.CallOption) (*DiskTypeList, err
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -12510,7 +20899,7 @@ func (c *DiskTypesListCall) Do(opts ...googleapi.CallOption) (*DiskTypeList, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -12564,6 +20953,7 @@ type DisksAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of persistent disks.
@@ -12574,10 +20964,9 @@ func (r *DisksService) AggregatedList(project string) *DisksAggregatedListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -12589,20 +20978,18 @@ func (r *DisksService) AggregatedList(project string) *DisksAggregatedListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *DisksAggregatedListCall) Filter(filter string) *DisksAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -12612,12 +20999,30 @@ func (c *DisksAggregatedListCall) Filter(filter string) *DisksAggregatedListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *DisksAggregatedListCall) MaxResults(maxResults int64) *DisksAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *DisksAggregatedListCall) OrderBy(orderBy string) *DisksAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -12652,23 +21057,34 @@ func (c *DisksAggregatedListCall) Context(ctx context.Context) *DisksAggregatedL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/disks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.aggregatedList" call.
@@ -12703,7 +21119,8 @@ func (c *DisksAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskAggrega
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -12716,19 +21133,23 @@ func (c *DisksAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskAggrega
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -12737,7 +21158,7 @@ func (c *DisksAggregatedListCall) Do(opts ...googleapi.CallOption) (*DiskAggrega
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -12786,6 +21207,7 @@ type DisksCreateSnapshotCall struct {
snapshot *Snapshot
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// CreateSnapshot: Creates a snapshot of a specified persistent disk.
@@ -12799,6 +21221,12 @@ func (r *DisksService) CreateSnapshot(project string, zone string, disk string,
return c
}
+// GuestFlush sets the optional parameter "guestFlush":
+func (c *DisksCreateSnapshotCall) GuestFlush(guestFlush bool) *DisksCreateSnapshotCall {
+ c.urlParams_.Set("guestFlush", fmt.Sprint(guestFlush))
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
@@ -12815,28 +21243,38 @@ func (c *DisksCreateSnapshotCall) Context(ctx context.Context) *DisksCreateSnaps
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksCreateSnapshotCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.snapshot)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}/createSnapshot")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"disk": c.disk,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.createSnapshot" call.
@@ -12871,7 +21309,8 @@ func (c *DisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -12892,10 +21331,14 @@ func (c *DisksCreateSnapshotCall) Do(opts ...googleapi.CallOption) (*Operation,
// "required": true,
// "type": "string"
// },
+ // "guestFlush": {
+ // "location": "query",
+ // "type": "boolean"
+ // },
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -12931,6 +21374,7 @@ type DisksDeleteCall struct {
disk string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified persistent disk. Deleting a disk
@@ -12962,22 +21406,33 @@ func (c *DisksDeleteCall) Context(ctx context.Context) *DisksDeleteCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"disk": c.disk,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.delete" call.
@@ -13012,7 +21467,8 @@ func (c *DisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13029,14 +21485,13 @@ func (c *DisksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
// "disk": {
// "description": "Name of the persistent disk to delete.",
// "location": "path",
- // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
// "type": "string"
// },
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -13070,6 +21525,7 @@ type DisksGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns a specified persistent disk. Get a list of available
@@ -13109,25 +21565,36 @@ func (c *DisksGetCall) Context(ctx context.Context) *DisksGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"disk": c.disk,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.get" call.
@@ -13162,7 +21629,8 @@ func (c *DisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13186,7 +21654,7 @@ func (c *DisksGetCall) Do(opts ...googleapi.CallOption) (*Disk, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -13220,6 +21688,7 @@ type DisksInsertCall struct {
disk *Disk
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a persistent disk in the specified project using the
@@ -13259,27 +21728,37 @@ func (c *DisksInsertCall) Context(ctx context.Context) *DisksInsertCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.disk)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.insert" call.
@@ -13314,7 +21793,8 @@ func (c *DisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13330,7 +21810,7 @@ func (c *DisksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -13371,6 +21851,7 @@ type DisksListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of persistent disks contained within the
@@ -13383,10 +21864,9 @@ func (r *DisksService) List(project string, zone string) *DisksListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -13398,20 +21878,18 @@ func (r *DisksService) List(project string, zone string) *DisksListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *DisksListCall) Filter(filter string) *DisksListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -13421,12 +21899,30 @@ func (c *DisksListCall) Filter(filter string) *DisksListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *DisksListCall) MaxResults(maxResults int64) *DisksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *DisksListCall) OrderBy(orderBy string) *DisksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -13461,24 +21957,35 @@ func (c *DisksListCall) Context(ctx context.Context) *DisksListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.list" call.
@@ -13513,7 +22020,8 @@ func (c *DisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13527,19 +22035,23 @@ func (c *DisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error) {
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -13548,7 +22060,7 @@ func (c *DisksListCall) Do(opts ...googleapi.CallOption) (*DiskList, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -13604,6 +22116,7 @@ type DisksResizeCall struct {
disksresizerequest *DisksResizeRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Resize: Resizes the specified persistent disk.
@@ -13632,28 +22145,38 @@ func (c *DisksResizeCall) Context(ctx context.Context) *DisksResizeCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksResizeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *DisksResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.disksresizerequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{disk}/resize")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"disk": c.disk,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.disks.resize" call.
@@ -13688,7 +22211,8 @@ func (c *DisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13712,7 +22236,7 @@ func (c *DisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -13739,6 +22263,164 @@ func (c *DisksResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
}
+// method id "compute.disks.setLabels":
+
+type DisksSetLabelsCall struct {
+ s *Service
+ project string
+ zone string
+ resource string
+ zonesetlabelsrequest *ZoneSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetLabels: Sets the labels on a disk. To learn more about labels,
+// read the Labeling Resources documentation.
+func (r *DisksService) SetLabels(project string, zone string, resource string, zonesetlabelsrequest *ZoneSetLabelsRequest) *DisksSetLabelsCall {
+ c := &DisksSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.resource = resource
+ c.zonesetlabelsrequest = zonesetlabelsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *DisksSetLabelsCall) Fields(s ...googleapi.Field) *DisksSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *DisksSetLabelsCall) Context(ctx context.Context) *DisksSetLabelsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *DisksSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *DisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.zonesetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/disks/{resource}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "resource": c.resource,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.disks.setLabels" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *DisksSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.",
+ // "httpMethod": "POST",
+ // "id": "compute.disks.setLabels",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "resource"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "resource": {
+ // "description": "Name of the resource for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/disks/{resource}/setLabels",
+ // "request": {
+ // "$ref": "ZoneSetLabelsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.firewalls.delete":
type FirewallsDeleteCall struct {
@@ -13747,6 +22429,7 @@ type FirewallsDeleteCall struct {
firewall string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified firewall.
@@ -13774,21 +22457,32 @@ func (c *FirewallsDeleteCall) Context(ctx context.Context) *FirewallsDeleteCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"firewall": c.firewall,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.delete" call.
@@ -13823,7 +22517,8 @@ func (c *FirewallsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13846,7 +22541,7 @@ func (c *FirewallsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -13872,6 +22567,7 @@ type FirewallsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified firewall.
@@ -13909,24 +22605,35 @@ func (c *FirewallsGetCall) Context(ctx context.Context) *FirewallsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"firewall": c.firewall,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.get" call.
@@ -13961,7 +22668,8 @@ func (c *FirewallsGetCall) Do(opts ...googleapi.CallOption) (*Firewall, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -13984,7 +22692,7 @@ func (c *FirewallsGetCall) Do(opts ...googleapi.CallOption) (*Firewall, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14010,6 +22718,7 @@ type FirewallsInsertCall struct {
firewall *Firewall
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a firewall rule in the specified project using the
@@ -14038,26 +22747,36 @@ func (c *FirewallsInsertCall) Context(ctx context.Context) *FirewallsInsertCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewall)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.insert" call.
@@ -14092,7 +22811,8 @@ func (c *FirewallsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -14107,7 +22827,7 @@ func (c *FirewallsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14135,6 +22855,7 @@ type FirewallsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of firewall rules available to the specified
@@ -14146,10 +22867,9 @@ func (r *FirewallsService) List(project string) *FirewallsListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -14161,20 +22881,18 @@ func (r *FirewallsService) List(project string) *FirewallsListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *FirewallsListCall) Filter(filter string) *FirewallsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -14184,12 +22902,30 @@ func (c *FirewallsListCall) Filter(filter string) *FirewallsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *FirewallsListCall) MaxResults(maxResults int64) *FirewallsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *FirewallsListCall) OrderBy(orderBy string) *FirewallsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -14224,23 +22960,34 @@ func (c *FirewallsListCall) Context(ctx context.Context) *FirewallsListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.list" call.
@@ -14275,7 +23022,8 @@ func (c *FirewallsListCall) Do(opts ...googleapi.CallOption) (*FirewallList, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -14288,19 +23036,23 @@ func (c *FirewallsListCall) Do(opts ...googleapi.CallOption) (*FirewallList, err
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -14309,7 +23061,7 @@ func (c *FirewallsListCall) Do(opts ...googleapi.CallOption) (*FirewallList, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14357,10 +23109,13 @@ type FirewallsPatchCall struct {
firewall2 *Firewall
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Patch: Updates the specified firewall rule with the data included in
-// the request. This method supports patch semantics.
+// the request. Using PUT method, can only update following fields of
+// firewall rule: allowed, description, sourceRanges, sourceTags,
+// targetTags. This method supports patch semantics.
// For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/patch
func (r *FirewallsService) Patch(project string, firewall string, firewall2 *Firewall) *FirewallsPatchCall {
c := &FirewallsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -14386,27 +23141,37 @@ func (c *FirewallsPatchCall) Context(ctx context.Context) *FirewallsPatchCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewall2)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"firewall": c.firewall,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.patch" call.
@@ -14441,12 +23206,13 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the specified firewall rule with the data included in the request. This method supports patch semantics.",
+ // "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags. This method supports patch semantics.",
// "httpMethod": "PATCH",
// "id": "compute.firewalls.patch",
// "parameterOrder": [
@@ -14464,7 +23230,7 @@ func (c *FirewallsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14493,10 +23259,13 @@ type FirewallsUpdateCall struct {
firewall2 *Firewall
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Update: Updates the specified firewall rule with the data included in
-// the request.
+// the request. Using PUT method, can only update following fields of
+// firewall rule: allowed, description, sourceRanges, sourceTags,
+// targetTags.
// For details, see https://cloud.google.com/compute/docs/reference/latest/firewalls/update
func (r *FirewallsService) Update(project string, firewall string, firewall2 *Firewall) *FirewallsUpdateCall {
c := &FirewallsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -14522,27 +23291,37 @@ func (c *FirewallsUpdateCall) Context(ctx context.Context) *FirewallsUpdateCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *FirewallsUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *FirewallsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.firewall2)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/firewalls/{firewall}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"firewall": c.firewall,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.firewalls.update" call.
@@ -14577,12 +23356,13 @@ func (c *FirewallsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the specified firewall rule with the data included in the request.",
+ // "description": "Updates the specified firewall rule with the data included in the request. Using PUT method, can only update following fields of firewall rule: allowed, description, sourceRanges, sourceTags, targetTags.",
// "httpMethod": "PUT",
// "id": "compute.firewalls.update",
// "parameterOrder": [
@@ -14600,7 +23380,7 @@ func (c *FirewallsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14628,6 +23408,7 @@ type ForwardingRulesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of forwarding rules.
@@ -14638,10 +23419,9 @@ func (r *ForwardingRulesService) AggregatedList(project string) *ForwardingRules
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -14653,20 +23433,18 @@ func (r *ForwardingRulesService) AggregatedList(project string) *ForwardingRules
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *ForwardingRulesAggregatedListCall) Filter(filter string) *ForwardingRulesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -14676,12 +23454,30 @@ func (c *ForwardingRulesAggregatedListCall) Filter(filter string) *ForwardingRul
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *ForwardingRulesAggregatedListCall) MaxResults(maxResults int64) *ForwardingRulesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *ForwardingRulesAggregatedListCall) OrderBy(orderBy string) *ForwardingRulesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -14716,23 +23512,34 @@ func (c *ForwardingRulesAggregatedListCall) Context(ctx context.Context) *Forwar
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/forwardingRules")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.aggregatedList" call.
@@ -14767,7 +23574,8 @@ func (c *ForwardingRulesAggregatedListCall) Do(opts ...googleapi.CallOption) (*F
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -14780,19 +23588,23 @@ func (c *ForwardingRulesAggregatedListCall) Do(opts ...googleapi.CallOption) (*F
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -14801,7 +23613,7 @@ func (c *ForwardingRulesAggregatedListCall) Do(opts ...googleapi.CallOption) (*F
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -14849,6 +23661,7 @@ type ForwardingRulesDeleteCall struct {
forwardingRule string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified ForwardingRule resource.
@@ -14877,22 +23690,33 @@ func (c *ForwardingRulesDeleteCall) Context(ctx context.Context) *ForwardingRule
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.delete" call.
@@ -14927,7 +23751,8 @@ func (c *ForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -14951,7 +23776,7 @@ func (c *ForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -14985,6 +23810,7 @@ type ForwardingRulesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified ForwardingRule resource.
@@ -15023,25 +23849,36 @@ func (c *ForwardingRulesGetCall) Context(ctx context.Context) *ForwardingRulesGe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.get" call.
@@ -15076,7 +23913,8 @@ func (c *ForwardingRulesGetCall) Do(opts ...googleapi.CallOption) (*ForwardingRu
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15100,7 +23938,7 @@ func (c *ForwardingRulesGetCall) Do(opts ...googleapi.CallOption) (*ForwardingRu
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -15134,6 +23972,7 @@ type ForwardingRulesInsertCall struct {
forwardingrule *ForwardingRule
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a ForwardingRule resource in the specified project
@@ -15163,27 +24002,37 @@ func (c *ForwardingRulesInsertCall) Context(ctx context.Context) *ForwardingRule
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.forwardingrule)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.insert" call.
@@ -15218,7 +24067,8 @@ func (c *ForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15234,7 +24084,7 @@ func (c *ForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -15270,6 +24120,7 @@ type ForwardingRulesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of ForwardingRule resources available to the
@@ -15282,10 +24133,9 @@ func (r *ForwardingRulesService) List(project string, region string) *Forwarding
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -15297,20 +24147,18 @@ func (r *ForwardingRulesService) List(project string, region string) *Forwarding
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *ForwardingRulesListCall) Filter(filter string) *ForwardingRulesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -15320,12 +24168,30 @@ func (c *ForwardingRulesListCall) Filter(filter string) *ForwardingRulesListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *ForwardingRulesListCall) MaxResults(maxResults int64) *ForwardingRulesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *ForwardingRulesListCall) OrderBy(orderBy string) *ForwardingRulesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -15360,24 +24226,35 @@ func (c *ForwardingRulesListCall) Context(ctx context.Context) *ForwardingRulesL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.list" call.
@@ -15412,7 +24289,8 @@ func (c *ForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*ForwardingR
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15426,19 +24304,23 @@ func (c *ForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*ForwardingR
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -15447,7 +24329,7 @@ func (c *ForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*ForwardingR
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -15503,6 +24385,7 @@ type ForwardingRulesSetTargetCall struct {
targetreference *TargetReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetTarget: Changes target URL for forwarding rule. The new target
@@ -15533,28 +24416,38 @@ func (c *ForwardingRulesSetTargetCall) Context(ctx context.Context) *ForwardingR
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ForwardingRulesSetTargetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.forwardingRules.setTarget" call.
@@ -15589,7 +24482,8 @@ func (c *ForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*Operat
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15613,7 +24507,7 @@ func (c *ForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*Operat
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -15648,6 +24542,7 @@ type GlobalAddressesDeleteCall struct {
address string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified address resource.
@@ -15675,21 +24570,32 @@ func (c *GlobalAddressesDeleteCall) Context(ctx context.Context) *GlobalAddresse
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalAddressesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"address": c.address,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalAddresses.delete" call.
@@ -15724,7 +24630,8 @@ func (c *GlobalAddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15747,7 +24654,7 @@ func (c *GlobalAddressesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -15773,6 +24680,7 @@ type GlobalAddressesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified address resource. Get a list of available
@@ -15811,24 +24719,35 @@ func (c *GlobalAddressesGetCall) Context(ctx context.Context) *GlobalAddressesGe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalAddressesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses/{address}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"address": c.address,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalAddresses.get" call.
@@ -15863,7 +24782,8 @@ func (c *GlobalAddressesGetCall) Do(opts ...googleapi.CallOption) (*Address, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -15886,7 +24806,7 @@ func (c *GlobalAddressesGetCall) Do(opts ...googleapi.CallOption) (*Address, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -15912,6 +24832,7 @@ type GlobalAddressesInsertCall struct {
address *Address
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an address resource in the specified project using
@@ -15940,26 +24861,36 @@ func (c *GlobalAddressesInsertCall) Context(ctx context.Context) *GlobalAddresse
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalAddressesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalAddressesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.address)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalAddresses.insert" call.
@@ -15994,7 +24925,8 @@ func (c *GlobalAddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -16009,7 +24941,7 @@ func (c *GlobalAddressesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16037,6 +24969,7 @@ type GlobalAddressesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of global addresses.
@@ -16047,10 +24980,9 @@ func (r *GlobalAddressesService) List(project string) *GlobalAddressesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -16062,20 +24994,18 @@ func (r *GlobalAddressesService) List(project string) *GlobalAddressesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *GlobalAddressesListCall) Filter(filter string) *GlobalAddressesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -16085,12 +25015,30 @@ func (c *GlobalAddressesListCall) Filter(filter string) *GlobalAddressesListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *GlobalAddressesListCall) MaxResults(maxResults int64) *GlobalAddressesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *GlobalAddressesListCall) OrderBy(orderBy string) *GlobalAddressesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -16125,23 +25073,34 @@ func (c *GlobalAddressesListCall) Context(ctx context.Context) *GlobalAddressesL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalAddressesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/addresses")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalAddresses.list" call.
@@ -16176,7 +25135,8 @@ func (c *GlobalAddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -16189,19 +25149,23 @@ func (c *GlobalAddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -16210,7 +25174,7 @@ func (c *GlobalAddressesListCall) Do(opts ...googleapi.CallOption) (*AddressList
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16257,9 +25221,10 @@ type GlobalForwardingRulesDeleteCall struct {
forwardingRule string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Delete: Deletes the specified ForwardingRule resource.
+// Delete: Deletes the specified GlobalForwardingRule resource.
// For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/delete
func (r *GlobalForwardingRulesService) Delete(project string, forwardingRule string) *GlobalForwardingRulesDeleteCall {
c := &GlobalForwardingRulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -16284,21 +25249,32 @@ func (c *GlobalForwardingRulesDeleteCall) Context(ctx context.Context) *GlobalFo
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalForwardingRulesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalForwardingRules.delete" call.
@@ -16333,12 +25309,13 @@ func (c *GlobalForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Deletes the specified ForwardingRule resource.",
+ // "description": "Deletes the specified GlobalForwardingRule resource.",
// "httpMethod": "DELETE",
// "id": "compute.globalForwardingRules.delete",
// "parameterOrder": [
@@ -16356,7 +25333,7 @@ func (c *GlobalForwardingRulesDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16382,10 +25359,11 @@ type GlobalForwardingRulesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified ForwardingRule resource. Get a list of
-// available forwarding rules by making a list() request.
+// Get: Returns the specified GlobalForwardingRule resource. Get a list
+// of available forwarding rules by making a list() request.
// For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/get
func (r *GlobalForwardingRulesService) Get(project string, forwardingRule string) *GlobalForwardingRulesGetCall {
c := &GlobalForwardingRulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -16420,24 +25398,35 @@ func (c *GlobalForwardingRulesGetCall) Context(ctx context.Context) *GlobalForwa
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalForwardingRulesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalForwardingRules.get" call.
@@ -16472,12 +25461,13 @@ func (c *GlobalForwardingRulesGetCall) Do(opts ...googleapi.CallOption) (*Forwar
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Returns the specified ForwardingRule resource. Get a list of available forwarding rules by making a list() request.",
+ // "description": "Returns the specified GlobalForwardingRule resource. Get a list of available forwarding rules by making a list() request.",
// "httpMethod": "GET",
// "id": "compute.globalForwardingRules.get",
// "parameterOrder": [
@@ -16495,7 +25485,7 @@ func (c *GlobalForwardingRulesGetCall) Do(opts ...googleapi.CallOption) (*Forwar
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16521,10 +25511,11 @@ type GlobalForwardingRulesInsertCall struct {
forwardingrule *ForwardingRule
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Insert: Creates a ForwardingRule resource in the specified project
-// and region using the data included in the request.
+// Insert: Creates a GlobalForwardingRule resource in the specified
+// project using the data included in the request.
// For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/insert
func (r *GlobalForwardingRulesService) Insert(project string, forwardingrule *ForwardingRule) *GlobalForwardingRulesInsertCall {
c := &GlobalForwardingRulesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -16549,26 +25540,36 @@ func (c *GlobalForwardingRulesInsertCall) Context(ctx context.Context) *GlobalFo
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalForwardingRulesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.forwardingrule)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalForwardingRules.insert" call.
@@ -16603,12 +25604,13 @@ func (c *GlobalForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Creates a ForwardingRule resource in the specified project and region using the data included in the request.",
+ // "description": "Creates a GlobalForwardingRule resource in the specified project using the data included in the request.",
// "httpMethod": "POST",
// "id": "compute.globalForwardingRules.insert",
// "parameterOrder": [
@@ -16618,7 +25620,7 @@ func (c *GlobalForwardingRulesInsertCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16646,10 +25648,11 @@ type GlobalForwardingRulesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
-// List: Retrieves a list of ForwardingRule resources available to the
-// specified project.
+// List: Retrieves a list of GlobalForwardingRule resources available to
+// the specified project.
// For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/list
func (r *GlobalForwardingRulesService) List(project string) *GlobalForwardingRulesListCall {
c := &GlobalForwardingRulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -16657,10 +25660,9 @@ func (r *GlobalForwardingRulesService) List(project string) *GlobalForwardingRul
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -16672,20 +25674,18 @@ func (r *GlobalForwardingRulesService) List(project string) *GlobalForwardingRul
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *GlobalForwardingRulesListCall) Filter(filter string) *GlobalForwardingRulesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -16695,12 +25695,30 @@ func (c *GlobalForwardingRulesListCall) Filter(filter string) *GlobalForwardingR
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *GlobalForwardingRulesListCall) MaxResults(maxResults int64) *GlobalForwardingRulesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *GlobalForwardingRulesListCall) OrderBy(orderBy string) *GlobalForwardingRulesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -16735,23 +25753,34 @@ func (c *GlobalForwardingRulesListCall) Context(ctx context.Context) *GlobalForw
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalForwardingRulesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalForwardingRules.list" call.
@@ -16786,12 +25815,13 @@ func (c *GlobalForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*Forwa
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Retrieves a list of ForwardingRule resources available to the specified project.",
+ // "description": "Retrieves a list of GlobalForwardingRule resources available to the specified project.",
// "httpMethod": "GET",
// "id": "compute.globalForwardingRules.list",
// "parameterOrder": [
@@ -16799,19 +25829,23 @@ func (c *GlobalForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*Forwa
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -16820,7 +25854,7 @@ func (c *GlobalForwardingRulesListCall) Do(opts ...googleapi.CallOption) (*Forwa
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -16868,10 +25902,11 @@ type GlobalForwardingRulesSetTargetCall struct {
targetreference *TargetReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// SetTarget: Changes target URL for forwarding rule. The new target
-// should be of the same type as the old target.
+// SetTarget: Changes target URL for the GlobalForwardingRule resource.
+// The new target should be of the same type as the old target.
// For details, see https://cloud.google.com/compute/docs/reference/latest/globalForwardingRules/setTarget
func (r *GlobalForwardingRulesService) SetTarget(project string, forwardingRule string, targetreference *TargetReference) *GlobalForwardingRulesSetTargetCall {
c := &GlobalForwardingRulesSetTargetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -16897,27 +25932,37 @@ func (c *GlobalForwardingRulesSetTargetCall) Context(ctx context.Context) *Globa
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalForwardingRulesSetTargetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/forwardingRules/{forwardingRule}/setTarget")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"forwardingRule": c.forwardingRule,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalForwardingRules.setTarget" call.
@@ -16952,12 +25997,13 @@ func (c *GlobalForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Changes target URL for forwarding rule. The new target should be of the same type as the old target.",
+ // "description": "Changes target URL for the GlobalForwardingRule resource. The new target should be of the same type as the old target.",
// "httpMethod": "POST",
// "id": "compute.globalForwardingRules.setTarget",
// "parameterOrder": [
@@ -16975,7 +26021,7 @@ func (c *GlobalForwardingRulesSetTargetCall) Do(opts ...googleapi.CallOption) (*
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17003,6 +26049,7 @@ type GlobalOperationsAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of all operations.
@@ -17013,10 +26060,9 @@ func (r *GlobalOperationsService) AggregatedList(project string) *GlobalOperatio
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -17028,20 +26074,18 @@ func (r *GlobalOperationsService) AggregatedList(project string) *GlobalOperatio
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *GlobalOperationsAggregatedListCall) Filter(filter string) *GlobalOperationsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -17051,12 +26095,30 @@ func (c *GlobalOperationsAggregatedListCall) Filter(filter string) *GlobalOperat
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *GlobalOperationsAggregatedListCall) MaxResults(maxResults int64) *GlobalOperationsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *GlobalOperationsAggregatedListCall) OrderBy(orderBy string) *GlobalOperationsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -17091,23 +26153,34 @@ func (c *GlobalOperationsAggregatedListCall) Context(ctx context.Context) *Globa
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalOperationsAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/operations")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalOperations.aggregatedList" call.
@@ -17142,7 +26215,8 @@ func (c *GlobalOperationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -17155,19 +26229,23 @@ func (c *GlobalOperationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -17176,7 +26254,7 @@ func (c *GlobalOperationsAggregatedListCall) Do(opts ...googleapi.CallOption) (*
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17223,6 +26301,7 @@ type GlobalOperationsDeleteCall struct {
operation string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified Operations resource.
@@ -17250,21 +26329,32 @@ func (c *GlobalOperationsDeleteCall) Context(ctx context.Context) *GlobalOperati
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalOperationsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalOperations.delete" call.
@@ -17298,7 +26388,7 @@ func (c *GlobalOperationsDeleteCall) Do(opts ...googleapi.CallOption) error {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17321,6 +26411,7 @@ type GlobalOperationsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Retrieves the specified Operations resource. Get a list of
@@ -17359,24 +26450,35 @@ func (c *GlobalOperationsGetCall) Context(ctx context.Context) *GlobalOperations
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalOperationsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalOperations.get" call.
@@ -17411,7 +26513,8 @@ func (c *GlobalOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -17434,7 +26537,7 @@ func (c *GlobalOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17460,6 +26563,7 @@ type GlobalOperationsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of Operation resources contained within the
@@ -17471,10 +26575,9 @@ func (r *GlobalOperationsService) List(project string) *GlobalOperationsListCall
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -17486,20 +26589,18 @@ func (r *GlobalOperationsService) List(project string) *GlobalOperationsListCall
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *GlobalOperationsListCall) Filter(filter string) *GlobalOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -17509,12 +26610,30 @@ func (c *GlobalOperationsListCall) Filter(filter string) *GlobalOperationsListCa
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *GlobalOperationsListCall) MaxResults(maxResults int64) *GlobalOperationsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *GlobalOperationsListCall) OrderBy(orderBy string) *GlobalOperationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -17549,23 +26668,34 @@ func (c *GlobalOperationsListCall) Context(ctx context.Context) *GlobalOperation
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *GlobalOperationsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/operations")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.globalOperations.list" call.
@@ -17600,7 +26730,8 @@ func (c *GlobalOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -17613,19 +26744,23 @@ func (c *GlobalOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -17634,7 +26769,7 @@ func (c *GlobalOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17673,6 +26808,978 @@ func (c *GlobalOperationsListCall) Pages(ctx context.Context, f func(*OperationL
}
}
+// method id "compute.healthChecks.delete":
+
+type HealthChecksDeleteCall struct {
+ s *Service
+ project string
+ healthCheck string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified HealthCheck resource.
+func (r *HealthChecksService) Delete(project string, healthCheck string) *HealthChecksDeleteCall {
+ c := &HealthChecksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.healthCheck = healthCheck
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksDeleteCall) Fields(s ...googleapi.Field) *HealthChecksDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksDeleteCall) Context(ctx context.Context) *HealthChecksDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks/{healthCheck}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "healthCheck": c.healthCheck,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified HealthCheck resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.healthChecks.delete",
+ // "parameterOrder": [
+ // "project",
+ // "healthCheck"
+ // ],
+ // "parameters": {
+ // "healthCheck": {
+ // "description": "Name of the HealthCheck resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks/{healthCheck}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.healthChecks.get":
+
+type HealthChecksGetCall struct {
+ s *Service
+ project string
+ healthCheck string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified HealthCheck resource. Get a list of
+// available health checks by making a list() request.
+func (r *HealthChecksService) Get(project string, healthCheck string) *HealthChecksGetCall {
+ c := &HealthChecksGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.healthCheck = healthCheck
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksGetCall) Fields(s ...googleapi.Field) *HealthChecksGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *HealthChecksGetCall) IfNoneMatch(entityTag string) *HealthChecksGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksGetCall) Context(ctx context.Context) *HealthChecksGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks/{healthCheck}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "healthCheck": c.healthCheck,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.get" call.
+// Exactly one of *HealthCheck or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *HealthCheck.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HealthCheck, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &HealthCheck{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified HealthCheck resource. Get a list of available health checks by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.healthChecks.get",
+ // "parameterOrder": [
+ // "project",
+ // "healthCheck"
+ // ],
+ // "parameters": {
+ // "healthCheck": {
+ // "description": "Name of the HealthCheck resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks/{healthCheck}",
+ // "response": {
+ // "$ref": "HealthCheck"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.healthChecks.insert":
+
+type HealthChecksInsertCall struct {
+ s *Service
+ project string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a HealthCheck resource in the specified project using
+// the data included in the request.
+func (r *HealthChecksService) Insert(project string, healthcheck *HealthCheck) *HealthChecksInsertCall {
+ c := &HealthChecksInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.healthcheck = healthcheck
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksInsertCall) Fields(s ...googleapi.Field) *HealthChecksInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksInsertCall) Context(ctx context.Context) *HealthChecksInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.healthcheck)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a HealthCheck resource in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.healthChecks.insert",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks",
+ // "request": {
+ // "$ref": "HealthCheck"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.healthChecks.list":
+
+type HealthChecksListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of HealthCheck resources available to the
+// specified project.
+func (r *HealthChecksService) List(project string) *HealthChecksListCall {
+ c := &HealthChecksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *HealthChecksListCall) Filter(filter string) *HealthChecksListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *HealthChecksListCall) MaxResults(maxResults int64) *HealthChecksListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *HealthChecksListCall) OrderBy(orderBy string) *HealthChecksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *HealthChecksListCall) PageToken(pageToken string) *HealthChecksListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksListCall) Fields(s ...googleapi.Field) *HealthChecksListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *HealthChecksListCall) IfNoneMatch(entityTag string) *HealthChecksListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksListCall) Context(ctx context.Context) *HealthChecksListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.list" call.
+// Exactly one of *HealthCheckList or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *HealthCheckList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *HealthChecksListCall) Do(opts ...googleapi.CallOption) (*HealthCheckList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &HealthCheckList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of HealthCheck resources available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.healthChecks.list",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks",
+ // "response": {
+ // "$ref": "HealthCheckList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *HealthChecksListCall) Pages(ctx context.Context, f func(*HealthCheckList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.healthChecks.patch":
+
+type HealthChecksPatchCall struct {
+ s *Service
+ project string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates a HealthCheck resource in the specified project using
+// the data included in the request. This method supports PATCH
+// semantics and uses the JSON merge patch format and processing rules.
+func (r *HealthChecksService) Patch(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksPatchCall {
+ c := &HealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksPatchCall) Fields(s ...googleapi.Field) *HealthChecksPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksPatchCall) Context(ctx context.Context) *HealthChecksPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.healthcheck)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks/{healthCheck}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "healthCheck": c.healthCheck,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.patch" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ // "httpMethod": "PATCH",
+ // "id": "compute.healthChecks.patch",
+ // "parameterOrder": [
+ // "project",
+ // "healthCheck"
+ // ],
+ // "parameters": {
+ // "healthCheck": {
+ // "description": "Name of the HealthCheck resource to patch.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks/{healthCheck}",
+ // "request": {
+ // "$ref": "HealthCheck"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.healthChecks.update":
+
+type HealthChecksUpdateCall struct {
+ s *Service
+ project string
+ healthCheck string
+ healthcheck *HealthCheck
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates a HealthCheck resource in the specified project using
+// the data included in the request.
+func (r *HealthChecksService) Update(project string, healthCheck string, healthcheck *HealthCheck) *HealthChecksUpdateCall {
+ c := &HealthChecksUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.healthCheck = healthCheck
+ c.healthcheck = healthcheck
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *HealthChecksUpdateCall) Fields(s ...googleapi.Field) *HealthChecksUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *HealthChecksUpdateCall) Context(ctx context.Context) *HealthChecksUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HealthChecksUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.healthcheck)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/healthChecks/{healthCheck}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "healthCheck": c.healthCheck,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.healthChecks.update" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *HealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates a HealthCheck resource in the specified project using the data included in the request.",
+ // "httpMethod": "PUT",
+ // "id": "compute.healthChecks.update",
+ // "parameterOrder": [
+ // "project",
+ // "healthCheck"
+ // ],
+ // "parameters": {
+ // "healthCheck": {
+ // "description": "Name of the HealthCheck resource to update.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/healthChecks/{healthCheck}",
+ // "request": {
+ // "$ref": "HealthCheck"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.httpHealthChecks.delete":
type HttpHealthChecksDeleteCall struct {
@@ -17681,6 +27788,7 @@ type HttpHealthChecksDeleteCall struct {
httpHealthCheck string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified HttpHealthCheck resource.
@@ -17708,21 +27816,32 @@ func (c *HttpHealthChecksDeleteCall) Context(ctx context.Context) *HttpHealthChe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpHealthCheck": c.httpHealthCheck,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.delete" call.
@@ -17757,7 +27876,8 @@ func (c *HttpHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -17780,7 +27900,7 @@ func (c *HttpHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17806,6 +27926,7 @@ type HttpHealthChecksGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified HttpHealthCheck resource. Get a list of
@@ -17844,24 +27965,35 @@ func (c *HttpHealthChecksGetCall) Context(ctx context.Context) *HttpHealthChecks
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpHealthCheck": c.httpHealthCheck,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.get" call.
@@ -17896,7 +28028,8 @@ func (c *HttpHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpHealthC
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -17919,7 +28052,7 @@ func (c *HttpHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpHealthC
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -17945,6 +28078,7 @@ type HttpHealthChecksInsertCall struct {
httphealthcheck *HttpHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a HttpHealthCheck resource in the specified project
@@ -17973,26 +28107,36 @@ func (c *HttpHealthChecksInsertCall) Context(ctx context.Context) *HttpHealthChe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httphealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.insert" call.
@@ -18027,7 +28171,8 @@ func (c *HttpHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18042,7 +28187,7 @@ func (c *HttpHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18070,6 +28215,7 @@ type HttpHealthChecksListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of HttpHealthCheck resources available to
@@ -18081,10 +28227,9 @@ func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -18096,20 +28241,18 @@ func (r *HttpHealthChecksService) List(project string) *HttpHealthChecksListCall
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -18119,12 +28262,30 @@ func (c *HttpHealthChecksListCall) Filter(filter string) *HttpHealthChecksListCa
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *HttpHealthChecksListCall) MaxResults(maxResults int64) *HttpHealthChecksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *HttpHealthChecksListCall) OrderBy(orderBy string) *HttpHealthChecksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -18159,23 +28320,34 @@ func (c *HttpHealthChecksListCall) Context(ctx context.Context) *HttpHealthCheck
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.list" call.
@@ -18210,7 +28382,8 @@ func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealth
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18223,19 +28396,23 @@ func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealth
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -18244,7 +28421,7 @@ func (c *HttpHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpHealth
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18292,11 +28469,12 @@ type HttpHealthChecksPatchCall struct {
httphealthcheck *HttpHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Patch: Updates a HttpHealthCheck resource in the specified project
-// using the data included in the request. This method supports patch
-// semantics.
+// using the data included in the request. This method supports PATCH
+// semantics and uses the JSON merge patch format and processing rules.
// For details, see https://cloud.google.com/compute/docs/reference/latest/httpHealthChecks/patch
func (r *HttpHealthChecksService) Patch(project string, httpHealthCheck string, httphealthcheck *HttpHealthCheck) *HttpHealthChecksPatchCall {
c := &HttpHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -18322,27 +28500,37 @@ func (c *HttpHealthChecksPatchCall) Context(ctx context.Context) *HttpHealthChec
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httphealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpHealthCheck": c.httpHealthCheck,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.patch" call.
@@ -18377,12 +28565,13 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.",
+ // "description": "Updates a HttpHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
// "httpMethod": "PATCH",
// "id": "compute.httpHealthChecks.patch",
// "parameterOrder": [
@@ -18391,7 +28580,7 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation
// ],
// "parameters": {
// "httpHealthCheck": {
- // "description": "Name of the HttpHealthCheck resource to update.",
+ // "description": "Name of the HttpHealthCheck resource to patch.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
@@ -18400,7 +28589,7 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18414,7 +28603,8 @@ func (c *HttpHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operation
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/compute"
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
// ]
// }
@@ -18429,6 +28619,7 @@ type HttpHealthChecksUpdateCall struct {
httphealthcheck *HttpHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Update: Updates a HttpHealthCheck resource in the specified project
@@ -18458,27 +28649,37 @@ func (c *HttpHealthChecksUpdateCall) Context(ctx context.Context) *HttpHealthChe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpHealthChecksUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httphealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpHealthChecks/{httpHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpHealthCheck": c.httpHealthCheck,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpHealthChecks.update" call.
@@ -18513,7 +28714,8 @@ func (c *HttpHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18536,7 +28738,7 @@ func (c *HttpHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18564,6 +28766,7 @@ type HttpsHealthChecksDeleteCall struct {
httpsHealthCheck string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified HttpsHealthCheck resource.
@@ -18590,21 +28793,32 @@ func (c *HttpsHealthChecksDeleteCall) Context(ctx context.Context) *HttpsHealthC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpsHealthCheck": c.httpsHealthCheck,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.delete" call.
@@ -18639,7 +28853,8 @@ func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18662,7 +28877,7 @@ func (c *HttpsHealthChecksDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18688,6 +28903,7 @@ type HttpsHealthChecksGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified HttpsHealthCheck resource. Get a list of
@@ -18725,24 +28941,35 @@ func (c *HttpsHealthChecksGetCall) Context(ctx context.Context) *HttpsHealthChec
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpsHealthCheck": c.httpsHealthCheck,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.get" call.
@@ -18777,7 +29004,8 @@ func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealt
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18800,7 +29028,7 @@ func (c *HttpsHealthChecksGetCall) Do(opts ...googleapi.CallOption) (*HttpsHealt
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18826,6 +29054,7 @@ type HttpsHealthChecksInsertCall struct {
httpshealthcheck *HttpsHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a HttpsHealthCheck resource in the specified project
@@ -18853,26 +29082,36 @@ func (c *HttpsHealthChecksInsertCall) Context(ctx context.Context) *HttpsHealthC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httpshealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.insert" call.
@@ -18907,7 +29146,8 @@ func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -18922,7 +29162,7 @@ func (c *HttpsHealthChecksInsertCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -18950,6 +29190,7 @@ type HttpsHealthChecksListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of HttpsHealthCheck resources available to
@@ -18960,10 +29201,9 @@ func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCa
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -18975,20 +29215,18 @@ func (r *HttpsHealthChecksService) List(project string) *HttpsHealthChecksListCa
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -18998,12 +29236,30 @@ func (c *HttpsHealthChecksListCall) Filter(filter string) *HttpsHealthChecksList
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *HttpsHealthChecksListCall) MaxResults(maxResults int64) *HttpsHealthChecksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *HttpsHealthChecksListCall) OrderBy(orderBy string) *HttpsHealthChecksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -19038,23 +29294,34 @@ func (c *HttpsHealthChecksListCall) Context(ctx context.Context) *HttpsHealthChe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.list" call.
@@ -19089,7 +29356,8 @@ func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHeal
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19102,19 +29370,23 @@ func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHeal
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -19123,7 +29395,7 @@ func (c *HttpsHealthChecksListCall) Do(opts ...googleapi.CallOption) (*HttpsHeal
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19171,11 +29443,12 @@ type HttpsHealthChecksPatchCall struct {
httpshealthcheck *HttpsHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Patch: Updates a HttpsHealthCheck resource in the specified project
-// using the data included in the request. This method supports patch
-// semantics.
+// using the data included in the request. This method supports PATCH
+// semantics and uses the JSON merge patch format and processing rules.
func (r *HttpsHealthChecksService) Patch(project string, httpsHealthCheck string, httpshealthcheck *HttpsHealthCheck) *HttpsHealthChecksPatchCall {
c := &HttpsHealthChecksPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -19200,27 +29473,37 @@ func (c *HttpsHealthChecksPatchCall) Context(ctx context.Context) *HttpsHealthCh
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httpshealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpsHealthCheck": c.httpsHealthCheck,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.patch" call.
@@ -19255,12 +29538,13 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.",
+ // "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
// "httpMethod": "PATCH",
// "id": "compute.httpsHealthChecks.patch",
// "parameterOrder": [
@@ -19269,7 +29553,7 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
// ],
// "parameters": {
// "httpsHealthCheck": {
- // "description": "Name of the HttpsHealthCheck resource to update.",
+ // "description": "Name of the HttpsHealthCheck resource to patch.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
@@ -19278,7 +29562,7 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19292,7 +29576,8 @@ func (c *HttpsHealthChecksPatchCall) Do(opts ...googleapi.CallOption) (*Operatio
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/compute"
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
// ]
// }
@@ -19307,6 +29592,7 @@ type HttpsHealthChecksUpdateCall struct {
httpshealthcheck *HttpsHealthCheck
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Update: Updates a HttpsHealthCheck resource in the specified project
@@ -19335,27 +29621,37 @@ func (c *HttpsHealthChecksUpdateCall) Context(ctx context.Context) *HttpsHealthC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *HttpsHealthChecksUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.httpshealthcheck)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/httpsHealthChecks/{httpsHealthCheck}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"httpsHealthCheck": c.httpsHealthCheck,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.httpsHealthChecks.update" call.
@@ -19390,7 +29686,8 @@ func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19413,7 +29710,7 @@ func (c *HttpsHealthChecksUpdateCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19441,6 +29738,7 @@ type ImagesDeleteCall struct {
image string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified image.
@@ -19468,21 +29766,32 @@ func (c *ImagesDeleteCall) Context(ctx context.Context) *ImagesDeleteCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"image": c.image,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.delete" call.
@@ -19517,7 +29826,8 @@ func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19540,7 +29850,7 @@ func (c *ImagesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19566,6 +29876,7 @@ type ImagesDeprecateCall struct {
deprecationstatus *DeprecationStatus
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Deprecate: Sets the deprecation status of an image.
@@ -19597,27 +29908,37 @@ func (c *ImagesDeprecateCall) Context(ctx context.Context) *ImagesDeprecateCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesDeprecateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.deprecationstatus)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}/deprecate")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"image": c.image,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.deprecate" call.
@@ -19652,7 +29973,8 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19675,7 +29997,7 @@ func (c *ImagesDeprecateCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19704,6 +30026,7 @@ type ImagesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified image. Get a list of available images by
@@ -19742,24 +30065,35 @@ func (c *ImagesGetCall) Context(ctx context.Context) *ImagesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{image}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"image": c.image,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.get" call.
@@ -19794,7 +30128,8 @@ func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19817,7 +30152,7 @@ func (c *ImagesGetCall) Do(opts ...googleapi.CallOption) (*Image, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19844,6 +30179,7 @@ type ImagesGetFromFamilyCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// GetFromFamily: Returns the latest image that is part of an image
@@ -19881,24 +30217,35 @@ func (c *ImagesGetFromFamilyCall) Context(ctx context.Context) *ImagesGetFromFam
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesGetFromFamilyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/family/{family}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"family": c.family,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.getFromFamily" call.
@@ -19933,7 +30280,8 @@ func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -19947,7 +30295,7 @@ func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, erro
// ],
// "parameters": {
// "family": {
- // "description": "Name of the image resource to return.",
+ // "description": "Name of the image family to search for.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
@@ -19956,7 +30304,7 @@ func (c *ImagesGetFromFamilyCall) Do(opts ...googleapi.CallOption) (*Image, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -19982,6 +30330,7 @@ type ImagesInsertCall struct {
image *Image
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an image in the specified project using the data
@@ -19994,6 +30343,13 @@ func (r *ImagesService) Insert(project string, image *Image) *ImagesInsertCall {
return c
}
+// ForceCreate sets the optional parameter "forceCreate": Force image
+// creation if true.
+func (c *ImagesInsertCall) ForceCreate(forceCreate bool) *ImagesInsertCall {
+ c.urlParams_.Set("forceCreate", fmt.Sprint(forceCreate))
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
@@ -20010,26 +30366,36 @@ func (c *ImagesInsertCall) Context(ctx context.Context) *ImagesInsertCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.image)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.insert" call.
@@ -20064,7 +30430,8 @@ func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -20076,10 +30443,15 @@ func (c *ImagesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project"
// ],
// "parameters": {
+ // "forceCreate": {
+ // "description": "Force image creation if true.",
+ // "location": "query",
+ // "type": "boolean"
+ // },
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -20110,17 +30482,16 @@ type ImagesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of private images available to the specified
// project. Private images are images you create that belong to your
// project. This method does not get any images that belong to other
-// projects, including publicly-available images, like Debian 7. If you
+// projects, including publicly-available images, like Debian 8. If you
// want to get a list of publicly-available images, use this method to
// make a request to the respective image project, such as debian-cloud
// or windows-cloud.
-//
-// See Accessing images for more information.
// For details, see https://cloud.google.com/compute/docs/reference/latest/images/list
func (r *ImagesService) List(project string) *ImagesListCall {
c := &ImagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -20128,10 +30499,9 @@ func (r *ImagesService) List(project string) *ImagesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -20143,20 +30513,18 @@ func (r *ImagesService) List(project string) *ImagesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -20166,12 +30534,30 @@ func (c *ImagesListCall) Filter(filter string) *ImagesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *ImagesListCall) MaxResults(maxResults int64) *ImagesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *ImagesListCall) OrderBy(orderBy string) *ImagesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -20206,23 +30592,34 @@ func (c *ImagesListCall) Context(ctx context.Context) *ImagesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.images.list" call.
@@ -20257,12 +30654,13 @@ func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 7. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.\n\nSee Accessing images for more information.",
+ // "description": "Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 8. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.",
// "httpMethod": "GET",
// "id": "compute.images.list",
// "parameterOrder": [
@@ -20270,19 +30668,23 @@ func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -20291,7 +30693,7 @@ func (c *ImagesListCall) Do(opts ...googleapi.CallOption) (*ImageList, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -20330,6 +30732,153 @@ func (c *ImagesListCall) Pages(ctx context.Context, f func(*ImageList) error) er
}
}
+// method id "compute.images.setLabels":
+
+type ImagesSetLabelsCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetlabelsrequest *GlobalSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetLabels: Sets the labels on an image. To learn more about labels,
+// read the Labeling Resources documentation.
+func (r *ImagesService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *ImagesSetLabelsCall {
+ c := &ImagesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ c.globalsetlabelsrequest = globalsetlabelsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ImagesSetLabelsCall) Fields(s ...googleapi.Field) *ImagesSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ImagesSetLabelsCall) Context(ctx context.Context) *ImagesSetLabelsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ImagesSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/images/{resource}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.images.setLabels" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ImagesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the labels on an image. To learn more about labels, read the Labeling Resources documentation.",
+ // "httpMethod": "POST",
+ // "id": "compute.images.setLabels",
+ // "parameterOrder": [
+ // "project",
+ // "resource"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "resource": {
+ // "description": "Name of the resource for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/images/{resource}/setLabels",
+ // "request": {
+ // "$ref": "GlobalSetLabelsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.instanceGroupManagers.abandonInstances":
type InstanceGroupManagersAbandonInstancesCall struct {
@@ -20340,6 +30889,7 @@ type InstanceGroupManagersAbandonInstancesCall struct {
instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// AbandonInstances: Schedules a group action to remove the specified
@@ -20351,6 +30901,14 @@ type InstanceGroupManagersAbandonInstancesCall struct {
// DONE when the action is scheduled even if the instances have not yet
// been removed from the group. You must separately verify the status of
// the abandoning action with the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
func (r *InstanceGroupManagersService) AbandonInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersabandoninstancesrequest *InstanceGroupManagersAbandonInstancesRequest) *InstanceGroupManagersAbandonInstancesCall {
c := &InstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -20376,28 +30934,38 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context)
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersAbandonInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagersabandoninstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.abandonInstances" call.
@@ -20432,12 +31000,13 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOpt
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.",
+ // "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
// "httpMethod": "POST",
// "id": "compute.instanceGroupManagers.abandonInstances",
// "parameterOrder": [
@@ -20455,7 +31024,7 @@ func (c *InstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOpt
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -20489,6 +31058,7 @@ type InstanceGroupManagersAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves the list of managed instance groups and
@@ -20499,10 +31069,9 @@ func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceG
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -20514,20 +31083,18 @@ func (r *InstanceGroupManagersService) AggregatedList(project string) *InstanceG
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -20537,12 +31104,30 @@ func (c *InstanceGroupManagersAggregatedListCall) Filter(filter string) *Instanc
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceGroupManagersAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupManagersAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceGroupManagersAggregatedListCall) OrderBy(orderBy string) *InstanceGroupManagersAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -20577,23 +31162,34 @@ func (c *InstanceGroupManagersAggregatedListCall) Context(ctx context.Context) *
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.aggregatedList" call.
@@ -20629,7 +31225,8 @@ func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOptio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -20642,19 +31239,23 @@ func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOptio
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -20663,7 +31264,7 @@ func (c *InstanceGroupManagersAggregatedListCall) Do(opts ...googleapi.CallOptio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -20711,6 +31312,7 @@ type InstanceGroupManagersDeleteCall struct {
instanceGroupManager string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified managed instance group and all of the
@@ -20741,22 +31343,33 @@ func (c *InstanceGroupManagersDeleteCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.delete" call.
@@ -20791,7 +31404,8 @@ func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -20814,7 +31428,7 @@ func (c *InstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -20847,6 +31461,7 @@ type InstanceGroupManagersDeleteInstancesCall struct {
instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// DeleteInstances: Schedules a group action to delete the specified
@@ -20857,6 +31472,14 @@ type InstanceGroupManagersDeleteInstancesCall struct {
// when the action is scheduled even if the instances are still being
// deleted. You must separately verify the status of the deleting action
// with the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
func (r *InstanceGroupManagersService) DeleteInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersdeleteinstancesrequest *InstanceGroupManagersDeleteInstancesRequest) *InstanceGroupManagersDeleteInstancesCall {
c := &InstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -20882,28 +31505,38 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context)
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersDeleteInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagersdeleteinstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.deleteInstances" call.
@@ -20938,12 +31571,13 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOpti
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.",
+ // "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
// "httpMethod": "POST",
// "id": "compute.instanceGroupManagers.deleteInstances",
// "parameterOrder": [
@@ -20961,7 +31595,7 @@ func (c *InstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOpti
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -20997,6 +31631,7 @@ type InstanceGroupManagersGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns all of the details about the specified managed instance
@@ -21036,25 +31671,36 @@ func (c *InstanceGroupManagersGetCall) Context(ctx context.Context) *InstanceGro
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.get" call.
@@ -21089,7 +31735,8 @@ func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*Instan
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -21112,7 +31759,7 @@ func (c *InstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*Instan
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21145,6 +31792,7 @@ type InstanceGroupManagersInsertCall struct {
instancegroupmanager *InstanceGroupManager
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a managed instance group using the information that
@@ -21154,6 +31802,9 @@ type InstanceGroupManagersInsertCall struct {
// created even if the instances in the group have not yet been created.
// You must separately verify the status of the individual instances
// with the listmanagedinstances method.
+//
+// A managed instance group can have up to 1000 VM instances per group.
+// Please contact Cloud Support if you need an increase in this limit.
func (r *InstanceGroupManagersService) Insert(project string, zone string, instancegroupmanager *InstanceGroupManager) *InstanceGroupManagersInsertCall {
c := &InstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -21178,27 +31829,37 @@ func (c *InstanceGroupManagersInsertCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanager)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.insert" call.
@@ -21233,12 +31894,13 @@ func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.",
+ // "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA managed instance group can have up to 1000 VM instances per group. Please contact Cloud Support if you need an increase in this limit.",
// "httpMethod": "POST",
// "id": "compute.instanceGroupManagers.insert",
// "parameterOrder": [
@@ -21249,7 +31911,7 @@ func (c *InstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21284,6 +31946,7 @@ type InstanceGroupManagersListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of managed instance groups that are contained
@@ -21295,10 +31958,9 @@ func (r *InstanceGroupManagersService) List(project string, zone string) *Instan
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -21310,20 +31972,18 @@ func (r *InstanceGroupManagersService) List(project string, zone string) *Instan
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupManagersListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -21333,12 +31993,30 @@ func (c *InstanceGroupManagersListCall) Filter(filter string) *InstanceGroupMana
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceGroupManagersListCall) MaxResults(maxResults int64) *InstanceGroupManagersListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceGroupManagersListCall) OrderBy(orderBy string) *InstanceGroupManagersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -21373,24 +32051,35 @@ func (c *InstanceGroupManagersListCall) Context(ctx context.Context) *InstanceGr
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.list" call.
@@ -21425,7 +32114,8 @@ func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*Insta
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -21439,19 +32129,23 @@ func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*Insta
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -21460,7 +32154,7 @@ func (c *InstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*Insta
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21514,6 +32208,7 @@ type InstanceGroupManagersListManagedInstancesCall struct {
instanceGroupManager string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// ListManagedInstances: Lists all of the instances in the managed
@@ -21530,6 +32225,30 @@ func (r *InstanceGroupManagersService) ListManagedInstances(project string, zone
return c
}
+// Filter sets the optional parameter "filter":
+func (c *InstanceGroupManagersListManagedInstancesCall) Filter(filter string) *InstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults":
+func (c *InstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *InstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "order_by":
+func (c *InstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *InstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("order_by", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken":
+func (c *InstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *InstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
@@ -21546,22 +32265,33 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Context(ctx context.Cont
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersListManagedInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.listManagedInstances" call.
@@ -21598,7 +32328,8 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.Cal
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -21612,16 +32343,35 @@ func (c *InstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.Cal
// "instanceGroupManager"
// ],
// "parameters": {
+ // "filter": {
+ // "location": "query",
+ // "type": "string"
+ // },
// "instanceGroupManager": {
// "description": "The name of the managed instance group.",
// "location": "path",
// "required": true,
// "type": "string"
// },
+ // "maxResults": {
+ // "default": "500",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "order_by": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "location": "query",
+ // "type": "string"
+ // },
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21655,6 +32405,7 @@ type InstanceGroupManagersRecreateInstancesCall struct {
instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// RecreateInstances: Schedules a group action to recreate the specified
@@ -21664,6 +32415,14 @@ type InstanceGroupManagersRecreateInstancesCall struct {
// scheduled even if the instances have not yet been recreated. You must
// separately verify the status of the recreating action with the
// listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
func (r *InstanceGroupManagersService) RecreateInstances(project string, zone string, instanceGroupManager string, instancegroupmanagersrecreateinstancesrequest *InstanceGroupManagersRecreateInstancesRequest) *InstanceGroupManagersRecreateInstancesCall {
c := &InstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -21689,28 +32448,38 @@ func (c *InstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersRecreateInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagersrecreateinstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.recreateInstances" call.
@@ -21745,12 +32514,13 @@ func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOp
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.",
+ // "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
// "httpMethod": "POST",
// "id": "compute.instanceGroupManagers.recreateInstances",
// "parameterOrder": [
@@ -21768,7 +32538,7 @@ func (c *InstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOp
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21803,6 +32573,7 @@ type InstanceGroupManagersResizeCall struct {
instanceGroupManager string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Resize: Resizes the managed instance group. If you increase the size,
@@ -21812,6 +32583,10 @@ type InstanceGroupManagersResizeCall struct {
// if the group has not yet added or deleted any instances. You must
// separately verify the status of the creating or deleting actions with
// the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or deleted.
func (r *InstanceGroupManagersService) Resize(project string, zone string, instanceGroupManager string, size int64) *InstanceGroupManagersResizeCall {
c := &InstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -21837,22 +32612,33 @@ func (c *InstanceGroupManagersResizeCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersResizeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.resize" call.
@@ -21887,12 +32673,13 @@ func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.",
+ // "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.",
// "httpMethod": "POST",
// "id": "compute.instanceGroupManagers.resize",
// "parameterOrder": [
@@ -21911,7 +32698,7 @@ func (c *InstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -21951,6 +32738,7 @@ type InstanceGroupManagersSetInstanceTemplateCall struct {
instancegroupmanagerssetinstancetemplaterequest *InstanceGroupManagersSetInstanceTemplateRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetInstanceTemplate: Specifies the instance template to use when
@@ -21981,28 +32769,38 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Conte
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagerssetinstancetemplaterequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.setInstanceTemplate" call.
@@ -22037,7 +32835,8 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.Call
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22060,7 +32859,7 @@ func (c *InstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.Call
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -22096,6 +32895,7 @@ type InstanceGroupManagersSetTargetPoolsCall struct {
instancegroupmanagerssettargetpoolsrequest *InstanceGroupManagersSetTargetPoolsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetTargetPools: Modifies the target pools to which all instances in
@@ -22130,28 +32930,38 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanagerssettargetpoolsrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroupManager": c.instanceGroupManager,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroupManagers.setTargetPools" call.
@@ -22186,7 +32996,8 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOptio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22209,7 +33020,7 @@ func (c *InstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOptio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -22245,6 +33056,7 @@ type InstanceGroupsAddInstancesCall struct {
instancegroupsaddinstancesrequest *InstanceGroupsAddInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// AddInstances: Adds a list of instances to the specified instance
@@ -22275,28 +33087,38 @@ func (c *InstanceGroupsAddInstancesCall) Context(ctx context.Context) *InstanceG
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsAddInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupsaddinstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.addInstances" call.
@@ -22331,7 +33153,8 @@ func (c *InstanceGroupsAddInstancesCall) Do(opts ...googleapi.CallOption) (*Oper
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22354,7 +33177,7 @@ func (c *InstanceGroupsAddInstancesCall) Do(opts ...googleapi.CallOption) (*Oper
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -22388,6 +33211,7 @@ type InstanceGroupsAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves the list of instance groups and sorts them
@@ -22398,10 +33222,9 @@ func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAg
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -22413,20 +33236,18 @@ func (r *InstanceGroupsService) AggregatedList(project string) *InstanceGroupsAg
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -22436,12 +33257,30 @@ func (c *InstanceGroupsAggregatedListCall) Filter(filter string) *InstanceGroups
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceGroupsAggregatedListCall) MaxResults(maxResults int64) *InstanceGroupsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceGroupsAggregatedListCall) OrderBy(orderBy string) *InstanceGroupsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -22476,23 +33315,34 @@ func (c *InstanceGroupsAggregatedListCall) Context(ctx context.Context) *Instanc
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instanceGroups")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.aggregatedList" call.
@@ -22527,7 +33377,8 @@ func (c *InstanceGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*In
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22540,19 +33391,23 @@ func (c *InstanceGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*In
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -22561,7 +33416,7 @@ func (c *InstanceGroupsAggregatedListCall) Do(opts ...googleapi.CallOption) (*In
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -22609,6 +33464,7 @@ type InstanceGroupsDeleteCall struct {
instanceGroup string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified instance group. The instances in the
@@ -22639,22 +33495,33 @@ func (c *InstanceGroupsDeleteCall) Context(ctx context.Context) *InstanceGroupsD
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.delete" call.
@@ -22689,7 +33556,8 @@ func (c *InstanceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22712,7 +33580,7 @@ func (c *InstanceGroupsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -22745,6 +33613,7 @@ type InstanceGroupsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified instance group. Get a list of available
@@ -22783,25 +33652,36 @@ func (c *InstanceGroupsGetCall) Context(ctx context.Context) *InstanceGroupsGetC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.get" call.
@@ -22836,7 +33716,8 @@ func (c *InstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22859,7 +33740,7 @@ func (c *InstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -22892,6 +33773,7 @@ type InstanceGroupsInsertCall struct {
instancegroup *InstanceGroup
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an instance group in the specified project using the
@@ -22920,27 +33802,37 @@ func (c *InstanceGroupsInsertCall) Context(ctx context.Context) *InstanceGroupsI
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroup)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.insert" call.
@@ -22975,7 +33867,8 @@ func (c *InstanceGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -22991,7 +33884,7 @@ func (c *InstanceGroupsInsertCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -23026,6 +33919,7 @@ type InstanceGroupsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of instance groups that are located in the
@@ -23037,10 +33931,9 @@ func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroup
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -23052,20 +33945,18 @@ func (r *InstanceGroupsService) List(project string, zone string) *InstanceGroup
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -23075,12 +33966,30 @@ func (c *InstanceGroupsListCall) Filter(filter string) *InstanceGroupsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceGroupsListCall) MaxResults(maxResults int64) *InstanceGroupsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceGroupsListCall) OrderBy(orderBy string) *InstanceGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -23115,24 +34024,35 @@ func (c *InstanceGroupsListCall) Context(ctx context.Context) *InstanceGroupsLis
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.list" call.
@@ -23167,7 +34087,8 @@ func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGrou
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -23181,19 +34102,23 @@ func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGrou
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -23202,7 +34127,7 @@ func (c *InstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*InstanceGrou
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -23257,6 +34182,7 @@ type InstanceGroupsListInstancesCall struct {
instancegroupslistinstancesrequest *InstanceGroupsListInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// ListInstances: Lists the instances in the specified instance group.
@@ -23269,10 +34195,9 @@ func (r *InstanceGroupsService) ListInstances(project string, zone string, insta
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -23284,20 +34209,18 @@ func (r *InstanceGroupsService) ListInstances(project string, zone string, insta
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("filter", filter)
return c
@@ -23307,12 +34230,30 @@ func (c *InstanceGroupsListInstancesCall) Filter(filter string) *InstanceGroupsL
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceGroupsListInstancesCall) MaxResults(maxResults int64) *InstanceGroupsListInstancesCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceGroupsListInstancesCall) OrderBy(orderBy string) *InstanceGroupsListInstancesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -23337,28 +34278,38 @@ func (c *InstanceGroupsListInstancesCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsListInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupslistinstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.listInstances" call.
@@ -23393,7 +34344,8 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -23408,7 +34360,7 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
@@ -23420,13 +34372,17 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -23435,7 +34391,7 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -23462,6 +34418,27 @@ func (c *InstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*Ins
}
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *InstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*InstanceGroupsListInstances) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
// method id "compute.instanceGroups.removeInstances":
type InstanceGroupsRemoveInstancesCall struct {
@@ -23472,10 +34449,15 @@ type InstanceGroupsRemoveInstancesCall struct {
instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// RemoveInstances: Removes one or more instances from the specified
// instance group, but does not delete those instances.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration before the VM instance is removed or deleted.
func (r *InstanceGroupsService) RemoveInstances(project string, zone string, instanceGroup string, instancegroupsremoveinstancesrequest *InstanceGroupsRemoveInstancesRequest) *InstanceGroupsRemoveInstancesCall {
c := &InstanceGroupsRemoveInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
@@ -23501,28 +34483,38 @@ func (c *InstanceGroupsRemoveInstancesCall) Context(ctx context.Context) *Instan
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsRemoveInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupsremoveinstancesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.removeInstances" call.
@@ -23557,12 +34549,13 @@ func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*O
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Removes one or more instances from the specified instance group, but does not delete those instances.",
+ // "description": "Removes one or more instances from the specified instance group, but does not delete those instances.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration before the VM instance is removed or deleted.",
// "httpMethod": "POST",
// "id": "compute.instanceGroups.removeInstances",
// "parameterOrder": [
@@ -23580,7 +34573,7 @@ func (c *InstanceGroupsRemoveInstancesCall) Do(opts ...googleapi.CallOption) (*O
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -23616,6 +34609,7 @@ type InstanceGroupsSetNamedPortsCall struct {
instancegroupssetnamedportsrequest *InstanceGroupsSetNamedPortsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetNamedPorts: Sets the named ports for the specified instance group.
@@ -23644,28 +34638,38 @@ func (c *InstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceGroupsSetNamedPortsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupssetnamedportsrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instanceGroup": c.instanceGroup,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceGroups.setNamedPorts" call.
@@ -23700,7 +34704,8 @@ func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -23723,7 +34728,7 @@ func (c *InstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -23757,6 +34762,7 @@ type InstanceTemplatesDeleteCall struct {
instanceTemplate string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified instance template. If you delete an
@@ -23788,21 +34794,32 @@ func (c *InstanceTemplatesDeleteCall) Context(ctx context.Context) *InstanceTemp
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceTemplatesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"instanceTemplate": c.instanceTemplate,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceTemplates.delete" call.
@@ -23837,7 +34854,8 @@ func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -23860,7 +34878,7 @@ func (c *InstanceTemplatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -23886,6 +34904,7 @@ type InstanceTemplatesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified instance template. Get a list of available
@@ -23924,24 +34943,35 @@ func (c *InstanceTemplatesGetCall) Context(ctx context.Context) *InstanceTemplat
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceTemplatesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates/{instanceTemplate}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"instanceTemplate": c.instanceTemplate,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceTemplates.get" call.
@@ -23976,7 +35006,8 @@ func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTe
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -23999,7 +35030,7 @@ func (c *InstanceTemplatesGetCall) Do(opts ...googleapi.CallOption) (*InstanceTe
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -24025,6 +35056,7 @@ type InstanceTemplatesInsertCall struct {
instancetemplate *InstanceTemplate
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an instance template in the specified project using
@@ -24056,26 +35088,36 @@ func (c *InstanceTemplatesInsertCall) Context(ctx context.Context) *InstanceTemp
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceTemplatesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancetemplate)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceTemplates.insert" call.
@@ -24110,7 +35152,8 @@ func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -24125,7 +35168,7 @@ func (c *InstanceTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -24153,6 +35196,7 @@ type InstanceTemplatesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of instance templates that are contained
@@ -24164,10 +35208,9 @@ func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCa
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -24179,20 +35222,18 @@ func (r *InstanceTemplatesService) List(project string) *InstanceTemplatesListCa
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -24202,12 +35243,30 @@ func (c *InstanceTemplatesListCall) Filter(filter string) *InstanceTemplatesList
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstanceTemplatesListCall) MaxResults(maxResults int64) *InstanceTemplatesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstanceTemplatesListCall) OrderBy(orderBy string) *InstanceTemplatesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -24242,23 +35301,34 @@ func (c *InstanceTemplatesListCall) Context(ctx context.Context) *InstanceTempla
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstanceTemplatesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/instanceTemplates")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instanceTemplates.list" call.
@@ -24293,7 +35363,8 @@ func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceT
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -24306,19 +35377,23 @@ func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceT
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -24327,7 +35402,7 @@ func (c *InstanceTemplatesListCall) Do(opts ...googleapi.CallOption) (*InstanceT
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -24376,6 +35451,7 @@ type InstancesAddAccessConfigCall struct {
accessconfig *AccessConfig
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// AddAccessConfig: Adds an access config to an instance's network
@@ -24407,28 +35483,38 @@ func (c *InstancesAddAccessConfigCall) Context(ctx context.Context) *InstancesAd
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesAddAccessConfigCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.accessconfig)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/addAccessConfig")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.addAccessConfig" call.
@@ -24463,7 +35549,8 @@ func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operat
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -24494,7 +35581,7 @@ func (c *InstancesAddAccessConfigCall) Do(opts ...googleapi.CallOption) (*Operat
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -24529,6 +35616,7 @@ type InstancesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves aggregated list of instances.
@@ -24539,10 +35627,9 @@ func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedLi
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -24554,20 +35641,18 @@ func (r *InstancesService) AggregatedList(project string) *InstancesAggregatedLi
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -24577,12 +35662,30 @@ func (c *InstancesAggregatedListCall) Filter(filter string) *InstancesAggregated
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstancesAggregatedListCall) MaxResults(maxResults int64) *InstancesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstancesAggregatedListCall) OrderBy(orderBy string) *InstancesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -24617,23 +35720,34 @@ func (c *InstancesAggregatedListCall) Context(ctx context.Context) *InstancesAgg
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/instances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.aggregatedList" call.
@@ -24668,7 +35782,8 @@ func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Instanc
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -24681,19 +35796,23 @@ func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Instanc
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -24702,7 +35821,7 @@ func (c *InstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Instanc
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -24751,9 +35870,13 @@ type InstancesAttachDiskCall struct {
attacheddisk *AttachedDisk
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// AttachDisk: Attaches a Disk resource to an instance.
+// AttachDisk: Attaches an existing Disk resource to an instance. You
+// must first create the disk before you can attach it. It is not
+// possible to create and attach a disk at the same time. For more
+// information, read Adding a persistent disk to your instance.
// For details, see https://cloud.google.com/compute/docs/reference/latest/instances/attachDisk
func (r *InstancesService) AttachDisk(project string, zone string, instance string, attacheddisk *AttachedDisk) *InstancesAttachDiskCall {
c := &InstancesAttachDiskCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -24780,28 +35903,38 @@ func (c *InstancesAttachDiskCall) Context(ctx context.Context) *InstancesAttachD
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesAttachDiskCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.attacheddisk)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/attachDisk")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.attachDisk" call.
@@ -24836,12 +35969,13 @@ func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Attaches a Disk resource to an instance.",
+ // "description": "Attaches an existing Disk resource to an instance. You must first create the disk before you can attach it. It is not possible to create and attach a disk at the same time. For more information, read Adding a persistent disk to your instance.",
// "httpMethod": "POST",
// "id": "compute.instances.attachDisk",
// "parameterOrder": [
@@ -24860,7 +35994,7 @@ func (c *InstancesAttachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -24896,6 +36030,7 @@ type InstancesDeleteCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified Instance resource. For more
@@ -24925,22 +36060,33 @@ func (c *InstancesDeleteCall) Context(ctx context.Context) *InstancesDeleteCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.delete" call.
@@ -24975,7 +36121,8 @@ func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -24999,7 +36146,7 @@ func (c *InstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -25032,6 +36179,7 @@ type InstancesDeleteAccessConfigCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// DeleteAccessConfig: Deletes an access config from an instance's
@@ -25063,22 +36211,33 @@ func (c *InstancesDeleteAccessConfigCall) Context(ctx context.Context) *Instance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesDeleteAccessConfigCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/deleteAccessConfig")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.deleteAccessConfig" call.
@@ -25113,7 +36272,8 @@ func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25151,7 +36311,7 @@ func (c *InstancesDeleteAccessConfigCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -25184,6 +36344,7 @@ type InstancesDetachDiskCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// DetachDisk: Detaches a disk from an instance.
@@ -25213,22 +36374,33 @@ func (c *InstancesDetachDiskCall) Context(ctx context.Context) *InstancesDetachD
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesDetachDiskCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/detachDisk")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.detachDisk" call.
@@ -25263,7 +36435,8 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25281,7 +36454,6 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
// "deviceName": {
// "description": "Disk device name to detach.",
// "location": "query",
- // "pattern": "\\w[\\w.-]{0,254}",
// "required": true,
// "type": "string"
// },
@@ -25295,7 +36467,7 @@ func (c *InstancesDetachDiskCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -25329,6 +36501,7 @@ type InstancesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Instance resource. Get a list of available
@@ -25368,25 +36541,36 @@ func (c *InstancesGetCall) Context(ctx context.Context) *InstancesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.get" call.
@@ -25421,7 +36605,8 @@ func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25445,7 +36630,7 @@ func (c *InstancesGetCall) Do(opts ...googleapi.CallOption) (*Instance, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -25480,6 +36665,7 @@ type InstancesGetSerialPortOutputCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// GetSerialPortOutput: Returns the specified instance's serial port
@@ -25500,6 +36686,17 @@ func (c *InstancesGetSerialPortOutputCall) Port(port int64) *InstancesGetSerialP
return c
}
+// Start sets the optional parameter "start": Returns output starting
+// from a specific byte position. Use this to page through output when
+// the output is too large to return in a single request. For the
+// initial request, leave this field unspecified. For subsequent calls,
+// this field should be set to the next value returned in the previous
+// call.
+func (c *InstancesGetSerialPortOutputCall) Start(start int64) *InstancesGetSerialPortOutputCall {
+ c.urlParams_.Set("start", fmt.Sprint(start))
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
@@ -25526,25 +36723,36 @@ func (c *InstancesGetSerialPortOutputCall) Context(ctx context.Context) *Instanc
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesGetSerialPortOutputCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/serialPort")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.getSerialPortOutput" call.
@@ -25579,7 +36787,8 @@ func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*Se
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25612,10 +36821,16 @@ func (c *InstancesGetSerialPortOutputCall) Do(opts ...googleapi.CallOption) (*Se
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
+ // "start": {
+ // "description": "Returns output starting from a specific byte position. Use this to page through output when the output is too large to return in a single request. For the initial request, leave this field unspecified. For subsequent calls, this field should be set to the next value returned in the previous call.",
+ // "format": "int64",
+ // "location": "query",
+ // "type": "string"
+ // },
// "zone": {
// "description": "The name of the zone for this request.",
// "location": "path",
@@ -25646,6 +36861,7 @@ type InstancesInsertCall struct {
instance *Instance
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates an instance resource in the specified project using
@@ -25675,27 +36891,37 @@ func (c *InstancesInsertCall) Context(ctx context.Context) *InstancesInsertCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instance)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.insert" call.
@@ -25730,7 +36956,8 @@ func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25746,7 +36973,7 @@ func (c *InstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -25782,6 +37009,7 @@ type InstancesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of instances contained within the specified
@@ -25794,10 +37022,9 @@ func (r *InstancesService) List(project string, zone string) *InstancesListCall
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -25809,20 +37036,18 @@ func (r *InstancesService) List(project string, zone string) *InstancesListCall
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -25832,12 +37057,30 @@ func (c *InstancesListCall) Filter(filter string) *InstancesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *InstancesListCall) MaxResults(maxResults int64) *InstancesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *InstancesListCall) OrderBy(orderBy string) *InstancesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -25872,24 +37115,35 @@ func (c *InstancesListCall) Context(ctx context.Context) *InstancesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.list" call.
@@ -25924,7 +37178,8 @@ func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -25938,19 +37193,23 @@ func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, err
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -25959,7 +37218,7 @@ func (c *InstancesListCall) Do(opts ...googleapi.CallOption) (*InstanceList, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26014,9 +37273,11 @@ type InstancesResetCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Reset: Performs a hard reset on the instance.
+// Reset: Performs a reset on the instance. For more information, see
+// Resetting an instance.
// For details, see https://cloud.google.com/compute/docs/reference/latest/instances/reset
func (r *InstancesService) Reset(project string, zone string, instance string) *InstancesResetCall {
c := &InstancesResetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -26042,22 +37303,33 @@ func (c *InstancesResetCall) Context(ctx context.Context) *InstancesResetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesResetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/reset")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.reset" call.
@@ -26092,12 +37364,13 @@ func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Performs a hard reset on the instance.",
+ // "description": "Performs a reset on the instance. For more information, see Resetting an instance.",
// "httpMethod": "POST",
// "id": "compute.instances.reset",
// "parameterOrder": [
@@ -26116,7 +37389,7 @@ func (c *InstancesResetCall) Do(opts ...googleapi.CallOption) (*Operation, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26149,6 +37422,7 @@ type InstancesSetDiskAutoDeleteCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetDiskAutoDelete: Sets the auto-delete flag for a disk attached to
@@ -26180,22 +37454,33 @@ func (c *InstancesSetDiskAutoDeleteCall) Context(ctx context.Context) *Instances
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetDiskAutoDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.setDiskAutoDelete" call.
@@ -26230,7 +37515,8 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26269,7 +37555,7 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26293,6 +37579,322 @@ func (c *InstancesSetDiskAutoDeleteCall) Do(opts ...googleapi.CallOption) (*Oper
}
+// method id "compute.instances.setLabels":
+
+type InstancesSetLabelsCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetlabelsrequest *InstancesSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetLabels: Sets labels on an instance. To learn more about labels,
+// read the Labeling Resources documentation.
+func (r *InstancesService) SetLabels(project string, zone string, instance string, instancessetlabelsrequest *InstancesSetLabelsRequest) *InstancesSetLabelsCall {
+ c := &InstancesSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instance = instance
+ c.instancessetlabelsrequest = instancessetlabelsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *InstancesSetLabelsCall) Fields(s ...googleapi.Field) *InstancesSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *InstancesSetLabelsCall) Context(ctx context.Context) *InstancesSetLabelsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancessetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instances.setLabels" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets labels on an instance. To learn more about labels, read the Labeling Resources documentation.",
+ // "httpMethod": "POST",
+ // "id": "compute.instances.setLabels",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "instance"
+ // ],
+ // "parameters": {
+ // "instance": {
+ // "description": "Name of the instance scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/instances/{instance}/setLabels",
+ // "request": {
+ // "$ref": "InstancesSetLabelsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.instances.setMachineResources":
+
+type InstancesSetMachineResourcesCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetMachineResources: Changes the number and/or type of accelerator
+// for a stopped instance to the values specified in the request.
+func (r *InstancesService) SetMachineResources(project string, zone string, instance string, instancessetmachineresourcesrequest *InstancesSetMachineResourcesRequest) *InstancesSetMachineResourcesCall {
+ c := &InstancesSetMachineResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instance = instance
+ c.instancessetmachineresourcesrequest = instancessetmachineresourcesrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *InstancesSetMachineResourcesCall) Fields(s ...googleapi.Field) *InstancesSetMachineResourcesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *InstancesSetMachineResourcesCall) Context(ctx context.Context) *InstancesSetMachineResourcesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetMachineResourcesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancessetmachineresourcesrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setMachineResources")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instances.setMachineResources" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesSetMachineResourcesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the number and/or type of accelerator for a stopped instance to the values specified in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.instances.setMachineResources",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "instance"
+ // ],
+ // "parameters": {
+ // "instance": {
+ // "description": "Name of the instance scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/instances/{instance}/setMachineResources",
+ // "request": {
+ // "$ref": "InstancesSetMachineResourcesRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.instances.setMachineType":
type InstancesSetMachineTypeCall struct {
@@ -26303,6 +37905,7 @@ type InstancesSetMachineTypeCall struct {
instancessetmachinetyperequest *InstancesSetMachineTypeRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetMachineType: Changes the machine type for a stopped instance to
@@ -26332,28 +37935,38 @@ func (c *InstancesSetMachineTypeCall) Context(ctx context.Context) *InstancesSet
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetMachineTypeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancessetmachinetyperequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setMachineType")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.setMachineType" call.
@@ -26388,7 +38001,8 @@ func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26412,7 +38026,7 @@ func (c *InstancesSetMachineTypeCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26449,6 +38063,7 @@ type InstancesSetMetadataCall struct {
metadata *Metadata
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetMetadata: Sets metadata for the specified instance to the data
@@ -26479,28 +38094,38 @@ func (c *InstancesSetMetadataCall) Context(ctx context.Context) *InstancesSetMet
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetMetadataCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.metadata)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setMetadata")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.setMetadata" call.
@@ -26535,7 +38160,8 @@ func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26559,7 +38185,7 @@ func (c *InstancesSetMetadataCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26596,6 +38222,7 @@ type InstancesSetSchedulingCall struct {
scheduling *Scheduling
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetScheduling: Sets an instance's scheduling options.
@@ -26625,28 +38252,38 @@ func (c *InstancesSetSchedulingCall) Context(ctx context.Context) *InstancesSetS
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetSchedulingCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.scheduling)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setScheduling")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.setScheduling" call.
@@ -26681,7 +38318,8 @@ func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26705,7 +38343,7 @@ func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26732,6 +38370,165 @@ func (c *InstancesSetSchedulingCall) Do(opts ...googleapi.CallOption) (*Operatio
}
+// method id "compute.instances.setServiceAccount":
+
+type InstancesSetServiceAccountCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancessetserviceaccountrequest *InstancesSetServiceAccountRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetServiceAccount: Sets the service account on the instance. For more
+// information, read Changing the service account and access scopes for
+// an instance.
+func (r *InstancesService) SetServiceAccount(project string, zone string, instance string, instancessetserviceaccountrequest *InstancesSetServiceAccountRequest) *InstancesSetServiceAccountCall {
+ c := &InstancesSetServiceAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instance = instance
+ c.instancessetserviceaccountrequest = instancessetserviceaccountrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *InstancesSetServiceAccountCall) Fields(s ...googleapi.Field) *InstancesSetServiceAccountCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *InstancesSetServiceAccountCall) Context(ctx context.Context) *InstancesSetServiceAccountCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetServiceAccountCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancessetserviceaccountrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setServiceAccount")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instances.setServiceAccount" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesSetServiceAccountCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance.",
+ // "httpMethod": "POST",
+ // "id": "compute.instances.setServiceAccount",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "instance"
+ // ],
+ // "parameters": {
+ // "instance": {
+ // "description": "Name of the instance resource to start.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/instances/{instance}/setServiceAccount",
+ // "request": {
+ // "$ref": "InstancesSetServiceAccountRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.instances.setTags":
type InstancesSetTagsCall struct {
@@ -26742,6 +38539,7 @@ type InstancesSetTagsCall struct {
tags *Tags
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetTags: Sets tags for the specified instance to the data included in
@@ -26772,28 +38570,38 @@ func (c *InstancesSetTagsCall) Context(ctx context.Context) *InstancesSetTagsCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesSetTagsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.tags)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/setTags")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.setTags" call.
@@ -26828,7 +38636,8 @@ func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26852,7 +38661,7 @@ func (c *InstancesSetTagsCall) Do(opts ...googleapi.CallOption) (*Operation, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -26888,6 +38697,7 @@ type InstancesStartCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Start: Starts an instance that was stopped using the using the
@@ -26918,22 +38728,33 @@ func (c *InstancesStartCall) Context(ctx context.Context) *InstancesStartCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesStartCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/start")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.start" call.
@@ -26968,7 +38789,8 @@ func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -26992,7 +38814,7 @@ func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -27016,6 +38838,165 @@ func (c *InstancesStartCall) Do(opts ...googleapi.CallOption) (*Operation, error
}
+// method id "compute.instances.startWithEncryptionKey":
+
+type InstancesStartWithEncryptionKeyCall struct {
+ s *Service
+ project string
+ zone string
+ instance string
+ instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// StartWithEncryptionKey: Starts an instance that was stopped using the
+// using the instances().stop method. For more information, see Restart
+// an instance.
+func (r *InstancesService) StartWithEncryptionKey(project string, zone string, instance string, instancesstartwithencryptionkeyrequest *InstancesStartWithEncryptionKeyRequest) *InstancesStartWithEncryptionKeyCall {
+ c := &InstancesStartWithEncryptionKeyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.zone = zone
+ c.instance = instance
+ c.instancesstartwithencryptionkeyrequest = instancesstartwithencryptionkeyrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *InstancesStartWithEncryptionKeyCall) Fields(s ...googleapi.Field) *InstancesStartWithEncryptionKeyCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *InstancesStartWithEncryptionKeyCall) Context(ctx context.Context) *InstancesStartWithEncryptionKeyCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesStartWithEncryptionKeyCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancesstartwithencryptionkeyrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "zone": c.zone,
+ "instance": c.instance,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.instances.startWithEncryptionKey" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *InstancesStartWithEncryptionKeyCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Starts an instance that was stopped using the using the instances().stop method. For more information, see Restart an instance.",
+ // "httpMethod": "POST",
+ // "id": "compute.instances.startWithEncryptionKey",
+ // "parameterOrder": [
+ // "project",
+ // "zone",
+ // "instance"
+ // ],
+ // "parameters": {
+ // "instance": {
+ // "description": "Name of the instance resource to start.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "zone": {
+ // "description": "The name of the zone for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey",
+ // "request": {
+ // "$ref": "InstancesStartWithEncryptionKeyRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.instances.stop":
type InstancesStopCall struct {
@@ -27025,6 +39006,7 @@ type InstancesStopCall struct {
instance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Stop: Stops a running instance, shutting it down cleanly, and allows
@@ -27059,22 +39041,33 @@ func (c *InstancesStopCall) Context(ctx context.Context) *InstancesStopCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *InstancesStopCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/instances/{instance}/stop")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"instance": c.instance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.instances.stop" call.
@@ -27109,7 +39102,8 @@ func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -27133,7 +39127,7 @@ func (c *InstancesStopCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -27166,10 +39160,10 @@ type LicensesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
-// Get: Returns the specified License resource. Get a list of available
-// licenses by making a list() request.
+// Get: Returns the specified License resource.
// For details, see https://cloud.google.com/compute/docs/reference/latest/licenses/get
func (r *LicensesService) Get(project string, license string) *LicensesGetCall {
c := &LicensesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -27204,24 +39198,35 @@ func (c *LicensesGetCall) Context(ctx context.Context) *LicensesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *LicensesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/licenses/{license}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"license": c.license,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.licenses.get" call.
@@ -27256,12 +39261,13 @@ func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Returns the specified License resource. Get a list of available licenses by making a list() request.",
+ // "description": "Returns the specified License resource.",
// "httpMethod": "GET",
// "id": "compute.licenses.get",
// "parameterOrder": [
@@ -27279,7 +39285,7 @@ func (c *LicensesGetCall) Do(opts ...googleapi.CallOption) (*License, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -27305,6 +39311,7 @@ type MachineTypesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of machine types.
@@ -27315,10 +39322,9 @@ func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggreg
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -27330,20 +39336,18 @@ func (r *MachineTypesService) AggregatedList(project string) *MachineTypesAggreg
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -27353,12 +39357,30 @@ func (c *MachineTypesAggregatedListCall) Filter(filter string) *MachineTypesAggr
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *MachineTypesAggregatedListCall) MaxResults(maxResults int64) *MachineTypesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *MachineTypesAggregatedListCall) OrderBy(orderBy string) *MachineTypesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -27393,23 +39415,34 @@ func (c *MachineTypesAggregatedListCall) Context(ctx context.Context) *MachineTy
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *MachineTypesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/machineTypes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.machineTypes.aggregatedList" call.
@@ -27444,7 +39477,8 @@ func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Mach
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -27457,19 +39491,23 @@ func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Mach
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -27478,7 +39516,7 @@ func (c *MachineTypesAggregatedListCall) Do(opts ...googleapi.CallOption) (*Mach
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -27527,6 +39565,7 @@ type MachineTypesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified machine type. Get a list of available
@@ -27566,25 +39605,36 @@ func (c *MachineTypesGetCall) Context(ctx context.Context) *MachineTypesGetCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *MachineTypesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes/{machineType}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"machineType": c.machineType,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.machineTypes.get" call.
@@ -27619,7 +39669,8 @@ func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -27643,7 +39694,7 @@ func (c *MachineTypesGetCall) Do(opts ...googleapi.CallOption) (*MachineType, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -27677,6 +39728,7 @@ type MachineTypesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of machine types available to the specified
@@ -27689,10 +39741,9 @@ func (r *MachineTypesService) List(project string, zone string) *MachineTypesLis
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -27704,20 +39755,18 @@ func (r *MachineTypesService) List(project string, zone string) *MachineTypesLis
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -27727,12 +39776,30 @@ func (c *MachineTypesListCall) Filter(filter string) *MachineTypesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *MachineTypesListCall) MaxResults(maxResults int64) *MachineTypesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *MachineTypesListCall) OrderBy(orderBy string) *MachineTypesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -27767,24 +39834,35 @@ func (c *MachineTypesListCall) Context(ctx context.Context) *MachineTypesListCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *MachineTypesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/machineTypes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.machineTypes.list" call.
@@ -27819,7 +39897,8 @@ func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeLis
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -27833,19 +39912,23 @@ func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeLis
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -27854,7 +39937,7 @@ func (c *MachineTypesListCall) Do(opts ...googleapi.CallOption) (*MachineTypeLis
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -27900,6 +39983,152 @@ func (c *MachineTypesListCall) Pages(ctx context.Context, f func(*MachineTypeLis
}
}
+// method id "compute.networks.addPeering":
+
+type NetworksAddPeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksaddpeeringrequest *NetworksAddPeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AddPeering: Adds a peering to the specified network.
+func (r *NetworksService) AddPeering(project string, network string, networksaddpeeringrequest *NetworksAddPeeringRequest) *NetworksAddPeeringCall {
+ c := &NetworksAddPeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.network = network
+ c.networksaddpeeringrequest = networksaddpeeringrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *NetworksAddPeeringCall) Fields(s ...googleapi.Field) *NetworksAddPeeringCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *NetworksAddPeeringCall) Context(ctx context.Context) *NetworksAddPeeringCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksAddPeeringCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.networksaddpeeringrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}/addPeering")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "network": c.network,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networks.addPeering" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworksAddPeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Adds a peering to the specified network.",
+ // "httpMethod": "POST",
+ // "id": "compute.networks.addPeering",
+ // "parameterOrder": [
+ // "project",
+ // "network"
+ // ],
+ // "parameters": {
+ // "network": {
+ // "description": "Name of the network resource to add peering to.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/networks/{network}/addPeering",
+ // "request": {
+ // "$ref": "NetworksAddPeeringRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.networks.delete":
type NetworksDeleteCall struct {
@@ -27908,6 +40137,7 @@ type NetworksDeleteCall struct {
network string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified network.
@@ -27935,21 +40165,32 @@ func (c *NetworksDeleteCall) Context(ctx context.Context) *NetworksDeleteCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"network": c.network,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.networks.delete" call.
@@ -27984,7 +40225,8 @@ func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28007,7 +40249,7 @@ func (c *NetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28033,6 +40275,7 @@ type NetworksGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified network. Get a list of available networks
@@ -28071,24 +40314,35 @@ func (c *NetworksGetCall) Context(ctx context.Context) *NetworksGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"network": c.network,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.networks.get" call.
@@ -28123,7 +40377,8 @@ func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28146,7 +40401,7 @@ func (c *NetworksGetCall) Do(opts ...googleapi.CallOption) (*Network, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28172,6 +40427,7 @@ type NetworksInsertCall struct {
network *Network
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a network in the specified project using the data
@@ -28200,26 +40456,36 @@ func (c *NetworksInsertCall) Context(ctx context.Context) *NetworksInsertCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.network)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.networks.insert" call.
@@ -28254,7 +40520,8 @@ func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28269,7 +40536,7 @@ func (c *NetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28297,6 +40564,7 @@ type NetworksListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of networks available to the specified
@@ -28308,10 +40576,9 @@ func (r *NetworksService) List(project string) *NetworksListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -28323,20 +40590,18 @@ func (r *NetworksService) List(project string) *NetworksListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -28346,12 +40611,30 @@ func (c *NetworksListCall) Filter(filter string) *NetworksListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *NetworksListCall) MaxResults(maxResults int64) *NetworksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *NetworksListCall) OrderBy(orderBy string) *NetworksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -28386,23 +40669,34 @@ func (c *NetworksListCall) Context(ctx context.Context) *NetworksListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.networks.list" call.
@@ -28437,7 +40731,8 @@ func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28450,19 +40745,23 @@ func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -28471,7 +40770,7 @@ func (c *NetworksListCall) Do(opts ...googleapi.CallOption) (*NetworkList, error
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28510,6 +40809,813 @@ func (c *NetworksListCall) Pages(ctx context.Context, f func(*NetworkList) error
}
}
+// method id "compute.networks.removePeering":
+
+type NetworksRemovePeeringCall struct {
+ s *Service
+ project string
+ network string
+ networksremovepeeringrequest *NetworksRemovePeeringRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// RemovePeering: Removes a peering from the specified network.
+func (r *NetworksService) RemovePeering(project string, network string, networksremovepeeringrequest *NetworksRemovePeeringRequest) *NetworksRemovePeeringCall {
+ c := &NetworksRemovePeeringCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.network = network
+ c.networksremovepeeringrequest = networksremovepeeringrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *NetworksRemovePeeringCall) Fields(s ...googleapi.Field) *NetworksRemovePeeringCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *NetworksRemovePeeringCall) Context(ctx context.Context) *NetworksRemovePeeringCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksRemovePeeringCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.networksremovepeeringrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}/removePeering")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "network": c.network,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networks.removePeering" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworksRemovePeeringCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Removes a peering from the specified network.",
+ // "httpMethod": "POST",
+ // "id": "compute.networks.removePeering",
+ // "parameterOrder": [
+ // "project",
+ // "network"
+ // ],
+ // "parameters": {
+ // "network": {
+ // "description": "Name of the network resource to remove peering from.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/networks/{network}/removePeering",
+ // "request": {
+ // "$ref": "NetworksRemovePeeringRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.networks.switchToCustomMode":
+
+type NetworksSwitchToCustomModeCall struct {
+ s *Service
+ project string
+ network string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SwitchToCustomMode: Switches the network mode from auto subnet mode
+// to custom subnet mode.
+func (r *NetworksService) SwitchToCustomMode(project string, network string) *NetworksSwitchToCustomModeCall {
+ c := &NetworksSwitchToCustomModeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.network = network
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *NetworksSwitchToCustomModeCall) Fields(s ...googleapi.Field) *NetworksSwitchToCustomModeCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *NetworksSwitchToCustomModeCall) Context(ctx context.Context) *NetworksSwitchToCustomModeCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *NetworksSwitchToCustomModeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/networks/{network}/switchToCustomMode")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "network": c.network,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.networks.switchToCustomMode" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *NetworksSwitchToCustomModeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Switches the network mode from auto subnet mode to custom subnet mode.",
+ // "httpMethod": "POST",
+ // "id": "compute.networks.switchToCustomMode",
+ // "parameterOrder": [
+ // "project",
+ // "network"
+ // ],
+ // "parameters": {
+ // "network": {
+ // "description": "Name of the network to be updated.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/networks/{network}/switchToCustomMode",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.projects.disableXpnHost":
+
+type ProjectsDisableXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DisableXpnHost: Disable this project as an XPN host project.
+func (r *ProjectsService) DisableXpnHost(project string) *ProjectsDisableXpnHostCall {
+ c := &ProjectsDisableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsDisableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnHostCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsDisableXpnHostCall) Context(ctx context.Context) *ProjectsDisableXpnHostCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsDisableXpnHostCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/disableXpnHost")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.disableXpnHost" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsDisableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Disable this project as an XPN host project.",
+ // "httpMethod": "POST",
+ // "id": "compute.projects.disableXpnHost",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/disableXpnHost",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.projects.disableXpnResource":
+
+type ProjectsDisableXpnResourceCall struct {
+ s *Service
+ project string
+ projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DisableXpnResource: Disable an XPN resource associated with this host
+// project.
+func (r *ProjectsService) DisableXpnResource(project string, projectsdisablexpnresourcerequest *ProjectsDisableXpnResourceRequest) *ProjectsDisableXpnResourceCall {
+ c := &ProjectsDisableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.projectsdisablexpnresourcerequest = projectsdisablexpnresourcerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsDisableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsDisableXpnResourceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsDisableXpnResourceCall) Context(ctx context.Context) *ProjectsDisableXpnResourceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsDisableXpnResourceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.projectsdisablexpnresourcerequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/disableXpnResource")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.disableXpnResource" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsDisableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Disable an XPN resource associated with this host project.",
+ // "httpMethod": "POST",
+ // "id": "compute.projects.disableXpnResource",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/disableXpnResource",
+ // "request": {
+ // "$ref": "ProjectsDisableXpnResourceRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.projects.enableXpnHost":
+
+type ProjectsEnableXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// EnableXpnHost: Enable this project as an XPN host project.
+func (r *ProjectsService) EnableXpnHost(project string) *ProjectsEnableXpnHostCall {
+ c := &ProjectsEnableXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsEnableXpnHostCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnHostCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsEnableXpnHostCall) Context(ctx context.Context) *ProjectsEnableXpnHostCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsEnableXpnHostCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/enableXpnHost")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.enableXpnHost" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsEnableXpnHostCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Enable this project as an XPN host project.",
+ // "httpMethod": "POST",
+ // "id": "compute.projects.enableXpnHost",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/enableXpnHost",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.projects.enableXpnResource":
+
+type ProjectsEnableXpnResourceCall struct {
+ s *Service
+ project string
+ projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// EnableXpnResource: Enable XPN resource (a.k.a service project or
+// service folder in the future) for a host project, so that subnetworks
+// in the host project can be used by instances in the service project
+// or folder.
+func (r *ProjectsService) EnableXpnResource(project string, projectsenablexpnresourcerequest *ProjectsEnableXpnResourceRequest) *ProjectsEnableXpnResourceCall {
+ c := &ProjectsEnableXpnResourceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.projectsenablexpnresourcerequest = projectsenablexpnresourcerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsEnableXpnResourceCall) Fields(s ...googleapi.Field) *ProjectsEnableXpnResourceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsEnableXpnResourceCall) Context(ctx context.Context) *ProjectsEnableXpnResourceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsEnableXpnResourceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.projectsenablexpnresourcerequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/enableXpnResource")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.enableXpnResource" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsEnableXpnResourceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Enable XPN resource (a.k.a service project or service folder in the future) for a host project, so that subnetworks in the host project can be used by instances in the service project or folder.",
+ // "httpMethod": "POST",
+ // "id": "compute.projects.enableXpnResource",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/enableXpnResource",
+ // "request": {
+ // "$ref": "ProjectsEnableXpnResourceRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.projects.get":
type ProjectsGetCall struct {
@@ -28518,6 +41624,7 @@ type ProjectsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Project resource.
@@ -28554,23 +41661,34 @@ func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.projects.get" call.
@@ -28605,7 +41723,8 @@ func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28620,7 +41739,7 @@ func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28638,6 +41757,549 @@ func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
}
+// method id "compute.projects.getXpnHost":
+
+type ProjectsGetXpnHostCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetXpnHost: Get the XPN host project that this project links to. May
+// be empty if no link exists.
+func (r *ProjectsService) GetXpnHost(project string) *ProjectsGetXpnHostCall {
+ c := &ProjectsGetXpnHostCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsGetXpnHostCall) Fields(s ...googleapi.Field) *ProjectsGetXpnHostCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *ProjectsGetXpnHostCall) IfNoneMatch(entityTag string) *ProjectsGetXpnHostCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsGetXpnHostCall) Context(ctx context.Context) *ProjectsGetXpnHostCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsGetXpnHostCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/getXpnHost")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.getXpnHost" call.
+// Exactly one of *Project or error will be non-nil. Any non-2xx status
+// code is an error. Response headers are in either
+// *Project.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified
+// was returned.
+func (c *ProjectsGetXpnHostCall) Do(opts ...googleapi.CallOption) (*Project, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Project{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Get the XPN host project that this project links to. May be empty if no link exists.",
+ // "httpMethod": "GET",
+ // "id": "compute.projects.getXpnHost",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/getXpnHost",
+ // "response": {
+ // "$ref": "Project"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.projects.getXpnResources":
+
+type ProjectsGetXpnResourcesCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetXpnResources: Get XPN resources associated with this host project.
+func (r *ProjectsService) GetXpnResources(project string) *ProjectsGetXpnResourcesCall {
+ c := &ProjectsGetXpnResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter":
+func (c *ProjectsGetXpnResourcesCall) Filter(filter string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults":
+func (c *ProjectsGetXpnResourcesCall) MaxResults(maxResults int64) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "order_by":
+func (c *ProjectsGetXpnResourcesCall) OrderBy(orderBy string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("order_by", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken":
+func (c *ProjectsGetXpnResourcesCall) PageToken(pageToken string) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsGetXpnResourcesCall) Fields(s ...googleapi.Field) *ProjectsGetXpnResourcesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *ProjectsGetXpnResourcesCall) IfNoneMatch(entityTag string) *ProjectsGetXpnResourcesCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsGetXpnResourcesCall) Context(ctx context.Context) *ProjectsGetXpnResourcesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsGetXpnResourcesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/getXpnResources")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.getXpnResources" call.
+// Exactly one of *ProjectsGetXpnResources or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *ProjectsGetXpnResources.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsGetXpnResourcesCall) Do(opts ...googleapi.CallOption) (*ProjectsGetXpnResources, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &ProjectsGetXpnResources{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Get XPN resources associated with this host project.",
+ // "httpMethod": "GET",
+ // "id": "compute.projects.getXpnResources",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "order_by": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/getXpnResources",
+ // "response": {
+ // "$ref": "ProjectsGetXpnResources"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ProjectsGetXpnResourcesCall) Pages(ctx context.Context, f func(*ProjectsGetXpnResources) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.projects.listXpnHosts":
+
+type ProjectsListXpnHostsCall struct {
+ s *Service
+ project string
+ projectslistxpnhostsrequest *ProjectsListXpnHostsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListXpnHosts: List all XPN host projects visible to the user in an
+// organization.
+func (r *ProjectsService) ListXpnHosts(project string, projectslistxpnhostsrequest *ProjectsListXpnHostsRequest) *ProjectsListXpnHostsCall {
+ c := &ProjectsListXpnHostsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.projectslistxpnhostsrequest = projectslistxpnhostsrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter":
+func (c *ProjectsListXpnHostsCall) Filter(filter string) *ProjectsListXpnHostsCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults":
+func (c *ProjectsListXpnHostsCall) MaxResults(maxResults int64) *ProjectsListXpnHostsCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "order_by":
+func (c *ProjectsListXpnHostsCall) OrderBy(orderBy string) *ProjectsListXpnHostsCall {
+ c.urlParams_.Set("order_by", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken":
+func (c *ProjectsListXpnHostsCall) PageToken(pageToken string) *ProjectsListXpnHostsCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsListXpnHostsCall) Fields(s ...googleapi.Field) *ProjectsListXpnHostsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsListXpnHostsCall) Context(ctx context.Context) *ProjectsListXpnHostsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsListXpnHostsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.projectslistxpnhostsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/listXpnHosts")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.projects.listXpnHosts" call.
+// Exactly one of *XpnHostList or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *XpnHostList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *ProjectsListXpnHostsCall) Do(opts ...googleapi.CallOption) (*XpnHostList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &XpnHostList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "List all XPN host projects visible to the user in an organization.",
+ // "httpMethod": "POST",
+ // "id": "compute.projects.listXpnHosts",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "order_by": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/listXpnHosts",
+ // "request": {
+ // "$ref": "ProjectsListXpnHostsRequest"
+ // },
+ // "response": {
+ // "$ref": "XpnHostList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ProjectsListXpnHostsCall) Pages(ctx context.Context, f func(*XpnHostList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
// method id "compute.projects.moveDisk":
type ProjectsMoveDiskCall struct {
@@ -28646,6 +42308,7 @@ type ProjectsMoveDiskCall struct {
diskmoverequest *DiskMoveRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// MoveDisk: Moves a persistent disk from one zone to another.
@@ -28672,26 +42335,36 @@ func (c *ProjectsMoveDiskCall) Context(ctx context.Context) *ProjectsMoveDiskCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsMoveDiskCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.diskmoverequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/moveDisk")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.projects.moveDisk" call.
@@ -28726,7 +42399,8 @@ func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28741,7 +42415,7 @@ func (c *ProjectsMoveDiskCall) Do(opts ...googleapi.CallOption) (*Operation, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28769,6 +42443,7 @@ type ProjectsMoveInstanceCall struct {
instancemoverequest *InstanceMoveRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// MoveInstance: Moves an instance and its attached persistent disks
@@ -28796,26 +42471,36 @@ func (c *ProjectsMoveInstanceCall) Context(ctx context.Context) *ProjectsMoveIns
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsMoveInstanceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancemoverequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/moveInstance")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.projects.moveInstance" call.
@@ -28850,7 +42535,8 @@ func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28865,7 +42551,7 @@ func (c *ProjectsMoveInstanceCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -28893,6 +42579,7 @@ type ProjectsSetCommonInstanceMetadataCall struct {
metadata *Metadata
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetCommonInstanceMetadata: Sets metadata common to all instances
@@ -28921,26 +42608,36 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Context(ctx context.Context) *Pr
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsSetCommonInstanceMetadataCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.metadata)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setCommonInstanceMetadata")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.projects.setCommonInstanceMetadata" call.
@@ -28975,7 +42672,8 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -28990,7 +42688,7 @@ func (c *ProjectsSetCommonInstanceMetadataCall) Do(opts ...googleapi.CallOption)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -29018,6 +42716,7 @@ type ProjectsSetUsageExportBucketCall struct {
usageexportlocation *UsageExportLocation
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetUsageExportBucket: Enables the usage export feature and sets the
@@ -29048,26 +42747,36 @@ func (c *ProjectsSetUsageExportBucketCall) Context(ctx context.Context) *Project
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsSetUsageExportBucketCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.usageexportlocation)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/setUsageExportBucket")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.projects.setUsageExportBucket" call.
@@ -29102,7 +42811,8 @@ func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Op
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -29117,7 +42827,7 @@ func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Op
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -29140,6 +42850,5829 @@ func (c *ProjectsSetUsageExportBucketCall) Do(opts ...googleapi.CallOption) (*Op
}
+// method id "compute.regionAutoscalers.delete":
+
+type RegionAutoscalersDeleteCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified autoscaler.
+func (r *RegionAutoscalersService) Delete(project string, region string, autoscaler string) *RegionAutoscalersDeleteCall {
+ c := &RegionAutoscalersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersDeleteCall) Fields(s ...googleapi.Field) *RegionAutoscalersDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersDeleteCall) Context(ctx context.Context) *RegionAutoscalersDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers/{autoscaler}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "autoscaler": c.autoscaler,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionAutoscalersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified autoscaler.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.regionAutoscalers.delete",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "autoscaler"
+ // ],
+ // "parameters": {
+ // "autoscaler": {
+ // "description": "Name of the autoscaler to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers/{autoscaler}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionAutoscalers.get":
+
+type RegionAutoscalersGetCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified autoscaler.
+func (r *RegionAutoscalersService) Get(project string, region string, autoscaler string) *RegionAutoscalersGetCall {
+ c := &RegionAutoscalersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersGetCall) Fields(s ...googleapi.Field) *RegionAutoscalersGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionAutoscalersGetCall) IfNoneMatch(entityTag string) *RegionAutoscalersGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersGetCall) Context(ctx context.Context) *RegionAutoscalersGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers/{autoscaler}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "autoscaler": c.autoscaler,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.get" call.
+// Exactly one of *Autoscaler or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Autoscaler.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionAutoscalersGetCall) Do(opts ...googleapi.CallOption) (*Autoscaler, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Autoscaler{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified autoscaler.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionAutoscalers.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "autoscaler"
+ // ],
+ // "parameters": {
+ // "autoscaler": {
+ // "description": "Name of the autoscaler to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers/{autoscaler}",
+ // "response": {
+ // "$ref": "Autoscaler"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionAutoscalers.insert":
+
+type RegionAutoscalersInsertCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates an autoscaler in the specified project using the data
+// included in the request.
+func (r *RegionAutoscalersService) Insert(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersInsertCall {
+ c := &RegionAutoscalersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersInsertCall) Fields(s ...googleapi.Field) *RegionAutoscalersInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersInsertCall) Context(ctx context.Context) *RegionAutoscalersInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionAutoscalersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates an autoscaler in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionAutoscalers.insert",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers",
+ // "request": {
+ // "$ref": "Autoscaler"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionAutoscalers.list":
+
+type RegionAutoscalersListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves a list of autoscalers contained within the specified
+// region.
+func (r *RegionAutoscalersService) List(project string, region string) *RegionAutoscalersListCall {
+ c := &RegionAutoscalersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionAutoscalersListCall) Filter(filter string) *RegionAutoscalersListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionAutoscalersListCall) MaxResults(maxResults int64) *RegionAutoscalersListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionAutoscalersListCall) OrderBy(orderBy string) *RegionAutoscalersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionAutoscalersListCall) PageToken(pageToken string) *RegionAutoscalersListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersListCall) Fields(s ...googleapi.Field) *RegionAutoscalersListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionAutoscalersListCall) IfNoneMatch(entityTag string) *RegionAutoscalersListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersListCall) Context(ctx context.Context) *RegionAutoscalersListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.list" call.
+// Exactly one of *RegionAutoscalerList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *RegionAutoscalerList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionAutoscalersListCall) Do(opts ...googleapi.CallOption) (*RegionAutoscalerList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RegionAutoscalerList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves a list of autoscalers contained within the specified region.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionAutoscalers.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers",
+ // "response": {
+ // "$ref": "RegionAutoscalerList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionAutoscalersListCall) Pages(ctx context.Context, f func(*RegionAutoscalerList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionAutoscalers.patch":
+
+type RegionAutoscalersPatchCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates an autoscaler in the specified project using the data
+// included in the request. This method supports PATCH semantics and
+// uses the JSON merge patch format and processing rules.
+func (r *RegionAutoscalersService) Patch(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersPatchCall {
+ c := &RegionAutoscalersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Autoscaler sets the optional parameter "autoscaler": Name of the
+// autoscaler to patch.
+func (c *RegionAutoscalersPatchCall) Autoscaler(autoscaler string) *RegionAutoscalersPatchCall {
+ c.urlParams_.Set("autoscaler", autoscaler)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersPatchCall) Fields(s ...googleapi.Field) *RegionAutoscalersPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersPatchCall) Context(ctx context.Context) *RegionAutoscalersPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.patch" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionAutoscalersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ // "httpMethod": "PATCH",
+ // "id": "compute.regionAutoscalers.patch",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "autoscaler": {
+ // "description": "Name of the autoscaler to patch.",
+ // "location": "query",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers",
+ // "request": {
+ // "$ref": "Autoscaler"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionAutoscalers.update":
+
+type RegionAutoscalersUpdateCall struct {
+ s *Service
+ project string
+ region string
+ autoscaler *Autoscaler
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates an autoscaler in the specified project using the data
+// included in the request.
+func (r *RegionAutoscalersService) Update(project string, region string, autoscaler *Autoscaler) *RegionAutoscalersUpdateCall {
+ c := &RegionAutoscalersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.autoscaler = autoscaler
+ return c
+}
+
+// Autoscaler sets the optional parameter "autoscaler": Name of the
+// autoscaler to update.
+func (c *RegionAutoscalersUpdateCall) Autoscaler(autoscaler string) *RegionAutoscalersUpdateCall {
+ c.urlParams_.Set("autoscaler", autoscaler)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionAutoscalersUpdateCall) Fields(s ...googleapi.Field) *RegionAutoscalersUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionAutoscalersUpdateCall) Context(ctx context.Context) *RegionAutoscalersUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionAutoscalersUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.autoscaler)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/autoscalers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionAutoscalers.update" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionAutoscalersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates an autoscaler in the specified project using the data included in the request.",
+ // "httpMethod": "PUT",
+ // "id": "compute.regionAutoscalers.update",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "autoscaler": {
+ // "description": "Name of the autoscaler to update.",
+ // "location": "query",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/autoscalers",
+ // "request": {
+ // "$ref": "Autoscaler"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.delete":
+
+type RegionBackendServicesDeleteCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified regional BackendService resource.
+func (r *RegionBackendServicesService) Delete(project string, region string, backendService string) *RegionBackendServicesDeleteCall {
+ c := &RegionBackendServicesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendService = backendService
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesDeleteCall) Fields(s ...googleapi.Field) *RegionBackendServicesDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesDeleteCall) Context(ctx context.Context) *RegionBackendServicesDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices/{backendService}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified regional BackendService resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.regionBackendServices.delete",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "backendService"
+ // ],
+ // "parameters": {
+ // "backendService": {
+ // "description": "Name of the BackendService resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices/{backendService}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.get":
+
+type RegionBackendServicesGetCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified regional BackendService resource.
+func (r *RegionBackendServicesService) Get(project string, region string, backendService string) *RegionBackendServicesGetCall {
+ c := &RegionBackendServicesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendService = backendService
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesGetCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionBackendServicesGetCall) IfNoneMatch(entityTag string) *RegionBackendServicesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesGetCall) Context(ctx context.Context) *RegionBackendServicesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices/{backendService}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.get" call.
+// Exactly one of *BackendService or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *BackendService.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionBackendServicesGetCall) Do(opts ...googleapi.CallOption) (*BackendService, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendService{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified regional BackendService resource.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionBackendServices.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "backendService"
+ // ],
+ // "parameters": {
+ // "backendService": {
+ // "description": "Name of the BackendService resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices/{backendService}",
+ // "response": {
+ // "$ref": "BackendService"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.getHealth":
+
+type RegionBackendServicesGetHealthCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ resourcegroupreference *ResourceGroupReference
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetHealth: Gets the most recent health check results for this
+// regional BackendService.
+func (r *RegionBackendServicesService) GetHealth(project string, region string, backendService string, resourcegroupreference *ResourceGroupReference) *RegionBackendServicesGetHealthCall {
+ c := &RegionBackendServicesGetHealthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendService = backendService
+ c.resourcegroupreference = resourcegroupreference
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesGetHealthCall) Fields(s ...googleapi.Field) *RegionBackendServicesGetHealthCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesGetHealthCall) Context(ctx context.Context) *RegionBackendServicesGetHealthCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesGetHealthCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.resourcegroupreference)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices/{backendService}/getHealth")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.getHealth" call.
+// Exactly one of *BackendServiceGroupHealth or error will be non-nil.
+// Any non-2xx status code is an error. Response headers are in either
+// *BackendServiceGroupHealth.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionBackendServicesGetHealthCall) Do(opts ...googleapi.CallOption) (*BackendServiceGroupHealth, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendServiceGroupHealth{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Gets the most recent health check results for this regional BackendService.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionBackendServices.getHealth",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "backendService"
+ // ],
+ // "parameters": {
+ // "backendService": {
+ // "description": "Name of the BackendService resource to which the queried instance belongs.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices/{backendService}/getHealth",
+ // "request": {
+ // "$ref": "ResourceGroupReference"
+ // },
+ // "response": {
+ // "$ref": "BackendServiceGroupHealth"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.insert":
+
+type RegionBackendServicesInsertCall struct {
+ s *Service
+ project string
+ region string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a regional BackendService resource in the specified
+// project using the data included in the request. There are several
+// restrictions and guidelines to keep in mind when creating a regional
+// backend service. Read Restrictions and Guidelines for more
+// information.
+func (r *RegionBackendServicesService) Insert(project string, region string, backendservice *BackendService) *RegionBackendServicesInsertCall {
+ c := &RegionBackendServicesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendservice = backendservice
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesInsertCall) Fields(s ...googleapi.Field) *RegionBackendServicesInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesInsertCall) Context(ctx context.Context) *RegionBackendServicesInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a regional BackendService resource in the specified project using the data included in the request. There are several restrictions and guidelines to keep in mind when creating a regional backend service. Read Restrictions and Guidelines for more information.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionBackendServices.insert",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices",
+ // "request": {
+ // "$ref": "BackendService"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.list":
+
+type RegionBackendServicesListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of regional BackendService resources
+// available to the specified project in the given region.
+func (r *RegionBackendServicesService) List(project string, region string) *RegionBackendServicesListCall {
+ c := &RegionBackendServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionBackendServicesListCall) Filter(filter string) *RegionBackendServicesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionBackendServicesListCall) MaxResults(maxResults int64) *RegionBackendServicesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionBackendServicesListCall) OrderBy(orderBy string) *RegionBackendServicesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionBackendServicesListCall) PageToken(pageToken string) *RegionBackendServicesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesListCall) Fields(s ...googleapi.Field) *RegionBackendServicesListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionBackendServicesListCall) IfNoneMatch(entityTag string) *RegionBackendServicesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesListCall) Context(ctx context.Context) *RegionBackendServicesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.list" call.
+// Exactly one of *BackendServiceList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *BackendServiceList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionBackendServicesListCall) Do(opts ...googleapi.CallOption) (*BackendServiceList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &BackendServiceList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionBackendServices.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices",
+ // "response": {
+ // "$ref": "BackendServiceList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionBackendServicesListCall) Pages(ctx context.Context, f func(*BackendServiceList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionBackendServices.patch":
+
+type RegionBackendServicesPatchCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Updates the specified regional BackendService resource with
+// the data included in the request. There are several restrictions and
+// guidelines to keep in mind when updating a backend service. Read
+// Restrictions and Guidelines for more information. This method
+// supports PATCH semantics and uses the JSON merge patch format and
+// processing rules.
+func (r *RegionBackendServicesService) Patch(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesPatchCall {
+ c := &RegionBackendServicesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendService = backendService
+ c.backendservice = backendservice
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesPatchCall) Fields(s ...googleapi.Field) *RegionBackendServicesPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesPatchCall) Context(ctx context.Context) *RegionBackendServicesPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices/{backendService}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.patch" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
+ // "httpMethod": "PATCH",
+ // "id": "compute.regionBackendServices.patch",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "backendService"
+ // ],
+ // "parameters": {
+ // "backendService": {
+ // "description": "Name of the BackendService resource to patch.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices/{backendService}",
+ // "request": {
+ // "$ref": "BackendService"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionBackendServices.update":
+
+type RegionBackendServicesUpdateCall struct {
+ s *Service
+ project string
+ region string
+ backendService string
+ backendservice *BackendService
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates the specified regional BackendService resource with
+// the data included in the request. There are several restrictions and
+// guidelines to keep in mind when updating a backend service. Read
+// Restrictions and Guidelines for more information.
+func (r *RegionBackendServicesService) Update(project string, region string, backendService string, backendservice *BackendService) *RegionBackendServicesUpdateCall {
+ c := &RegionBackendServicesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.backendService = backendService
+ c.backendservice = backendservice
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionBackendServicesUpdateCall) Fields(s ...googleapi.Field) *RegionBackendServicesUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionBackendServicesUpdateCall) Context(ctx context.Context) *RegionBackendServicesUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionBackendServicesUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.backendservice)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/backendServices/{backendService}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "backendService": c.backendService,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionBackendServices.update" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionBackendServicesUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates the specified regional BackendService resource with the data included in the request. There are several restrictions and guidelines to keep in mind when updating a backend service. Read Restrictions and Guidelines for more information.",
+ // "httpMethod": "PUT",
+ // "id": "compute.regionBackendServices.update",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "backendService"
+ // ],
+ // "parameters": {
+ // "backendService": {
+ // "description": "Name of the BackendService resource to update.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/backendServices/{backendService}",
+ // "request": {
+ // "$ref": "BackendService"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionCommitments.aggregatedList":
+
+type RegionCommitmentsAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves an aggregated list of commitments.
+func (r *RegionCommitmentsService) AggregatedList(project string) *RegionCommitmentsAggregatedListCall {
+ c := &RegionCommitmentsAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionCommitmentsAggregatedListCall) Filter(filter string) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionCommitmentsAggregatedListCall) MaxResults(maxResults int64) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionCommitmentsAggregatedListCall) OrderBy(orderBy string) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionCommitmentsAggregatedListCall) PageToken(pageToken string) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionCommitmentsAggregatedListCall) Fields(s ...googleapi.Field) *RegionCommitmentsAggregatedListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionCommitmentsAggregatedListCall) IfNoneMatch(entityTag string) *RegionCommitmentsAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionCommitmentsAggregatedListCall) Context(ctx context.Context) *RegionCommitmentsAggregatedListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionCommitmentsAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/commitments")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionCommitments.aggregatedList" call.
+// Exactly one of *CommitmentAggregatedList or error will be non-nil.
+// Any non-2xx status code is an error. Response headers are in either
+// *CommitmentAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionCommitmentsAggregatedListCall) Do(opts ...googleapi.CallOption) (*CommitmentAggregatedList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &CommitmentAggregatedList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves an aggregated list of commitments.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionCommitments.aggregatedList",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/aggregated/commitments",
+ // "response": {
+ // "$ref": "CommitmentAggregatedList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionCommitmentsAggregatedListCall) Pages(ctx context.Context, f func(*CommitmentAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionCommitments.get":
+
+type RegionCommitmentsGetCall struct {
+ s *Service
+ project string
+ region string
+ commitment string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified commitment resource. Get a list of
+// available commitments by making a list() request.
+func (r *RegionCommitmentsService) Get(project string, region string, commitment string) *RegionCommitmentsGetCall {
+ c := &RegionCommitmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.commitment = commitment
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionCommitmentsGetCall) Fields(s ...googleapi.Field) *RegionCommitmentsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionCommitmentsGetCall) IfNoneMatch(entityTag string) *RegionCommitmentsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionCommitmentsGetCall) Context(ctx context.Context) *RegionCommitmentsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionCommitmentsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/commitments/{commitment}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "commitment": c.commitment,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionCommitments.get" call.
+// Exactly one of *Commitment or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Commitment.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionCommitmentsGetCall) Do(opts ...googleapi.CallOption) (*Commitment, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Commitment{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified commitment resource. Get a list of available commitments by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionCommitments.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "commitment"
+ // ],
+ // "parameters": {
+ // "commitment": {
+ // "description": "Name of the commitment to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/commitments/{commitment}",
+ // "response": {
+ // "$ref": "Commitment"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionCommitments.insert":
+
+type RegionCommitmentsInsertCall struct {
+ s *Service
+ project string
+ region string
+ commitment *Commitment
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a commitment in the specified project using the data
+// included in the request.
+func (r *RegionCommitmentsService) Insert(project string, region string, commitment *Commitment) *RegionCommitmentsInsertCall {
+ c := &RegionCommitmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.commitment = commitment
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionCommitmentsInsertCall) Fields(s ...googleapi.Field) *RegionCommitmentsInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionCommitmentsInsertCall) Context(ctx context.Context) *RegionCommitmentsInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionCommitmentsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.commitment)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/commitments")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionCommitments.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionCommitmentsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a commitment in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionCommitments.insert",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/commitments",
+ // "request": {
+ // "$ref": "Commitment"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionCommitments.list":
+
+type RegionCommitmentsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves a list of commitments contained within the specified
+// region.
+func (r *RegionCommitmentsService) List(project string, region string) *RegionCommitmentsListCall {
+ c := &RegionCommitmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionCommitmentsListCall) Filter(filter string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionCommitmentsListCall) MaxResults(maxResults int64) *RegionCommitmentsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionCommitmentsListCall) OrderBy(orderBy string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionCommitmentsListCall) PageToken(pageToken string) *RegionCommitmentsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionCommitmentsListCall) Fields(s ...googleapi.Field) *RegionCommitmentsListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionCommitmentsListCall) IfNoneMatch(entityTag string) *RegionCommitmentsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionCommitmentsListCall) Context(ctx context.Context) *RegionCommitmentsListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionCommitmentsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/commitments")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionCommitments.list" call.
+// Exactly one of *CommitmentList or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *CommitmentList.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionCommitmentsListCall) Do(opts ...googleapi.CallOption) (*CommitmentList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &CommitmentList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves a list of commitments contained within the specified region.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionCommitments.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/commitments",
+ // "response": {
+ // "$ref": "CommitmentList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionCommitmentsListCall) Pages(ctx context.Context, f func(*CommitmentList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionInstanceGroupManagers.abandonInstances":
+
+type RegionInstanceGroupManagersAbandonInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AbandonInstances: Schedules a group action to remove the specified
+// instances from the managed instance group. Abandoning an instance
+// does not delete the instance, but it does remove the instance from
+// any target pools that are applied by the managed instance group. This
+// method reduces the targetSize of the managed instance group by the
+// number of instances that you abandon. This operation is marked as
+// DONE when the action is scheduled even if the instances have not yet
+// been removed from the group. You must separately verify the status of
+// the abandoning action with the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
+func (r *RegionInstanceGroupManagersService) AbandonInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersabandoninstancesrequest *RegionInstanceGroupManagersAbandonInstancesRequest) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c := &RegionInstanceGroupManagersAbandonInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersabandoninstancesrequest = regioninstancegroupmanagersabandoninstancesrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersAbandonInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagersabandoninstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.abandonInstances" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersAbandonInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.abandonInstances",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances",
+ // "request": {
+ // "$ref": "RegionInstanceGroupManagersAbandonInstancesRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.delete":
+
+type RegionInstanceGroupManagersDeleteCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified managed instance group and all of the
+// instances in that group.
+func (r *RegionInstanceGroupManagersService) Delete(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersDeleteCall {
+ c := &RegionInstanceGroupManagersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersDeleteCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersDeleteCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified managed instance group and all of the instances in that group.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.regionInstanceGroupManagers.delete",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group to delete.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.deleteInstances":
+
+type RegionInstanceGroupManagersDeleteInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// DeleteInstances: Schedules a group action to delete the specified
+// instances in the managed instance group. The instances are also
+// removed from any target pools of which they were a member. This
+// method reduces the targetSize of the managed instance group by the
+// number of instances that you delete. This operation is marked as DONE
+// when the action is scheduled even if the instances are still being
+// deleted. You must separately verify the status of the deleting action
+// with the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
+func (r *RegionInstanceGroupManagersService) DeleteInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersdeleteinstancesrequest *RegionInstanceGroupManagersDeleteInstancesRequest) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c := &RegionInstanceGroupManagersDeleteInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersdeleteinstancesrequest = regioninstancegroupmanagersdeleteinstancesrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersDeleteInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagersdeleteinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.deleteInstances" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersDeleteInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.deleteInstances",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances",
+ // "request": {
+ // "$ref": "RegionInstanceGroupManagersDeleteInstancesRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.get":
+
+type RegionInstanceGroupManagersGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns all of the details about the specified managed instance
+// group.
+func (r *RegionInstanceGroupManagersService) Get(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersGetCall {
+ c := &RegionInstanceGroupManagersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionInstanceGroupManagersGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersGetCall) Context(ctx context.Context) *RegionInstanceGroupManagersGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.get" call.
+// Exactly one of *InstanceGroupManager or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *InstanceGroupManager.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroupManager, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &InstanceGroupManager{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns all of the details about the specified managed instance group.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionInstanceGroupManagers.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group to return.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}",
+ // "response": {
+ // "$ref": "InstanceGroupManager"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.insert":
+
+type RegionInstanceGroupManagersInsertCall struct {
+ s *Service
+ project string
+ region string
+ instancegroupmanager *InstanceGroupManager
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a managed instance group using the information that
+// you specify in the request. After the group is created, it schedules
+// an action to create instances in the group using the specified
+// instance template. This operation is marked as DONE when the group is
+// created even if the instances in the group have not yet been created.
+// You must separately verify the status of the individual instances
+// with the listmanagedinstances method.
+//
+// A regional managed instance group can contain up to 2000 instances.
+func (r *RegionInstanceGroupManagersService) Insert(project string, region string, instancegroupmanager *InstanceGroupManager) *RegionInstanceGroupManagersInsertCall {
+ c := &RegionInstanceGroupManagersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instancegroupmanager = instancegroupmanager
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersInsertCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersInsertCall) Context(ctx context.Context) *RegionInstanceGroupManagersInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancegroupmanager)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.\n\nA regional managed instance group can contain up to 2000 instances.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.insert",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers",
+ // "request": {
+ // "$ref": "InstanceGroupManager"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.list":
+
+type RegionInstanceGroupManagersListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of managed instance groups that are
+// contained within the specified region.
+func (r *RegionInstanceGroupManagersService) List(project string, region string) *RegionInstanceGroupManagersListCall {
+ c := &RegionInstanceGroupManagersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionInstanceGroupManagersListCall) Filter(filter string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionInstanceGroupManagersListCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionInstanceGroupManagersListCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionInstanceGroupManagersListCall) PageToken(pageToken string) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionInstanceGroupManagersListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupManagersListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersListCall) Context(ctx context.Context) *RegionInstanceGroupManagersListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.list" call.
+// Exactly one of *RegionInstanceGroupManagerList or error will be
+// non-nil. Any non-2xx status code is an error. Response headers are in
+// either *RegionInstanceGroupManagerList.ServerResponse.Header or (if a
+// response was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagerList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RegionInstanceGroupManagerList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of managed instance groups that are contained within the specified region.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionInstanceGroupManagers.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers",
+ // "response": {
+ // "$ref": "RegionInstanceGroupManagerList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupManagersListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupManagerList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionInstanceGroupManagers.listManagedInstances":
+
+type RegionInstanceGroupManagersListManagedInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListManagedInstances: Lists the instances in the managed instance
+// group and instances that are scheduled to be created. The list
+// includes any current actions that the group has scheduled for its
+// instances.
+func (r *RegionInstanceGroupManagersService) ListManagedInstances(project string, region string, instanceGroupManager string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c := &RegionInstanceGroupManagersListManagedInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ return c
+}
+
+// Filter sets the optional parameter "filter":
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Filter(filter string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults":
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "order_by":
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("order_by", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken":
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) PageToken(pageToken string) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersListManagedInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.listManagedInstances" call.
+// Exactly one of *RegionInstanceGroupManagersListInstancesResponse or
+// error will be non-nil. Any non-2xx status code is an error. Response
+// headers are in either
+// *RegionInstanceGroupManagersListInstancesResponse.ServerResponse.Heade
+// r or (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstanceGroupManagersListManagedInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupManagersListInstancesResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RegionInstanceGroupManagersListInstancesResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.listManagedInstances",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "instanceGroupManager": {
+ // "description": "The name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "order_by": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances",
+ // "response": {
+ // "$ref": "RegionInstanceGroupManagersListInstancesResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.recreateInstances":
+
+type RegionInstanceGroupManagersRecreateInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// RecreateInstances: Schedules a group action to recreate the specified
+// instances in the managed instance group. The instances are deleted
+// and recreated using the current instance template for the managed
+// instance group. This operation is marked as DONE when the action is
+// scheduled even if the instances have not yet been recreated. You must
+// separately verify the status of the recreating action with the
+// listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or
+// deleted.
+//
+// You can specify a maximum of 1000 instances with this method per
+// request.
+func (r *RegionInstanceGroupManagersService) RecreateInstances(project string, region string, instanceGroupManager string, regioninstancegroupmanagersrecreaterequest *RegionInstanceGroupManagersRecreateRequest) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c := &RegionInstanceGroupManagersRecreateInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagersrecreaterequest = regioninstancegroupmanagersrecreaterequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Context(ctx context.Context) *RegionInstanceGroupManagersRecreateInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagersrecreaterequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.recreateInstances" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersRecreateInstancesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.\n\nYou can specify a maximum of 1000 instances with this method per request.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.recreateInstances",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances",
+ // "request": {
+ // "$ref": "RegionInstanceGroupManagersRecreateRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.resize":
+
+type RegionInstanceGroupManagersResizeCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Resize: Changes the intended size for the managed instance group. If
+// you increase the size, the group schedules actions to create new
+// instances using the current instance template. If you decrease the
+// size, the group schedules delete actions on one or more instances.
+// The resize operation is marked DONE when the resize actions are
+// scheduled even if the group has not yet added or deleted any
+// instances. You must separately verify the status of the creating or
+// deleting actions with the listmanagedinstances method.
+//
+// If the group is part of a backend service that has enabled connection
+// draining, it can take up to 60 seconds after the connection draining
+// duration has elapsed before the VM instance is removed or deleted.
+func (r *RegionInstanceGroupManagersService) Resize(project string, region string, instanceGroupManager string, size int64) *RegionInstanceGroupManagersResizeCall {
+ c := &RegionInstanceGroupManagersResizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.urlParams_.Set("size", fmt.Sprint(size))
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersResizeCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersResizeCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersResizeCall) Context(ctx context.Context) *RegionInstanceGroupManagersResizeCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersResizeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.resize" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersResizeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the intended size for the managed instance group. If you increase the size, the group schedules actions to create new instances using the current instance template. If you decrease the size, the group schedules delete actions on one or more instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.\n\nIf the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.resize",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager",
+ // "size"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "size": {
+ // "description": "Number of instances that should exist in this instance group manager.",
+ // "format": "int32",
+ // "location": "query",
+ // "minimum": "0",
+ // "required": true,
+ // "type": "integer"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.setInstanceTemplate":
+
+type RegionInstanceGroupManagersSetInstanceTemplateCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetInstanceTemplate: Sets the instance template to use when creating
+// new instances or recreating instances in this group. Existing
+// instances are not affected.
+func (r *RegionInstanceGroupManagersService) SetInstanceTemplate(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettemplaterequest *RegionInstanceGroupManagersSetTemplateRequest) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c := &RegionInstanceGroupManagersSetInstanceTemplateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerssettemplaterequest = regioninstancegroupmanagerssettemplaterequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetInstanceTemplateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagerssettemplaterequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.setInstanceTemplate" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.setInstanceTemplate",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "The name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate",
+ // "request": {
+ // "$ref": "RegionInstanceGroupManagersSetTemplateRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroupManagers.setTargetPools":
+
+type RegionInstanceGroupManagersSetTargetPoolsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroupManager string
+ regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetTargetPools: Modifies the target pools to which all new instances
+// in this group are assigned. Existing instances in the group are not
+// affected.
+func (r *RegionInstanceGroupManagersService) SetTargetPools(project string, region string, instanceGroupManager string, regioninstancegroupmanagerssettargetpoolsrequest *RegionInstanceGroupManagersSetTargetPoolsRequest) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c := &RegionInstanceGroupManagersSetTargetPoolsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroupManager = instanceGroupManager
+ c.regioninstancegroupmanagerssettargetpoolsrequest = regioninstancegroupmanagerssettargetpoolsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Context(ctx context.Context) *RegionInstanceGroupManagersSetTargetPoolsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupmanagerssettargetpoolsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroupManager": c.instanceGroupManager,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroupManagers.setTargetPools" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupManagersSetTargetPoolsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroupManagers.setTargetPools",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroupManager"
+ // ],
+ // "parameters": {
+ // "instanceGroupManager": {
+ // "description": "Name of the managed instance group.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools",
+ // "request": {
+ // "$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroups.get":
+
+type RegionInstanceGroupsGetCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified instance group resource.
+func (r *RegionInstanceGroupsService) Get(project string, region string, instanceGroup string) *RegionInstanceGroupsGetCall {
+ c := &RegionInstanceGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroup = instanceGroup
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupsGetCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionInstanceGroupsGetCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupsGetCall) Context(ctx context.Context) *RegionInstanceGroupsGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroups/{instanceGroup}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroups.get" call.
+// Exactly one of *InstanceGroup or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *InstanceGroup.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsGetCall) Do(opts ...googleapi.CallOption) (*InstanceGroup, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &InstanceGroup{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified instance group resource.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionInstanceGroups.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroup"
+ // ],
+ // "parameters": {
+ // "instanceGroup": {
+ // "description": "Name of the instance group resource to return.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}",
+ // "response": {
+ // "$ref": "InstanceGroup"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.regionInstanceGroups.list":
+
+type RegionInstanceGroupsListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of instance group resources contained within
+// the specified region.
+func (r *RegionInstanceGroupsService) List(project string, region string) *RegionInstanceGroupsListCall {
+ c := &RegionInstanceGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionInstanceGroupsListCall) Filter(filter string) *RegionInstanceGroupsListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionInstanceGroupsListCall) MaxResults(maxResults int64) *RegionInstanceGroupsListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionInstanceGroupsListCall) OrderBy(orderBy string) *RegionInstanceGroupsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionInstanceGroupsListCall) PageToken(pageToken string) *RegionInstanceGroupsListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupsListCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RegionInstanceGroupsListCall) IfNoneMatch(entityTag string) *RegionInstanceGroupsListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupsListCall) Context(ctx context.Context) *RegionInstanceGroupsListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroups")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroups.list" call.
+// Exactly one of *RegionInstanceGroupList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *RegionInstanceGroupList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsListCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RegionInstanceGroupList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of instance group resources contained within the specified region.",
+ // "httpMethod": "GET",
+ // "id": "compute.regionInstanceGroups.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroups",
+ // "response": {
+ // "$ref": "RegionInstanceGroupList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupsListCall) Pages(ctx context.Context, f func(*RegionInstanceGroupList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionInstanceGroups.listInstances":
+
+type RegionInstanceGroupsListInstancesCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ListInstances: Lists the instances in the specified instance group
+// and displays information about the named ports. Depending on the
+// specified options, this method can list all instances or only the
+// instances that are running.
+func (r *RegionInstanceGroupsService) ListInstances(project string, region string, instanceGroup string, regioninstancegroupslistinstancesrequest *RegionInstanceGroupsListInstancesRequest) *RegionInstanceGroupsListInstancesCall {
+ c := &RegionInstanceGroupsListInstancesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroup = instanceGroup
+ c.regioninstancegroupslistinstancesrequest = regioninstancegroupslistinstancesrequest
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RegionInstanceGroupsListInstancesCall) Filter(filter string) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RegionInstanceGroupsListInstancesCall) MaxResults(maxResults int64) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionInstanceGroupsListInstancesCall) OrderBy(orderBy string) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RegionInstanceGroupsListInstancesCall) PageToken(pageToken string) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupsListInstancesCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsListInstancesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupsListInstancesCall) Context(ctx context.Context) *RegionInstanceGroupsListInstancesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupsListInstancesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupslistinstancesrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroups.listInstances" call.
+// Exactly one of *RegionInstanceGroupsListInstances or error will be
+// non-nil. Any non-2xx status code is an error. Response headers are in
+// either *RegionInstanceGroupsListInstances.ServerResponse.Header or
+// (if a response was returned at all) in
+// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
+// whether the returned error was because http.StatusNotModified was
+// returned.
+func (c *RegionInstanceGroupsListInstancesCall) Do(opts ...googleapi.CallOption) (*RegionInstanceGroupsListInstances, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RegionInstanceGroupsListInstances{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroups.listInstances",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroup"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "instanceGroup": {
+ // "description": "Name of the regional instance group for which we want to list the instances.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances",
+ // "request": {
+ // "$ref": "RegionInstanceGroupsListInstancesRequest"
+ // },
+ // "response": {
+ // "$ref": "RegionInstanceGroupsListInstances"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RegionInstanceGroupsListInstancesCall) Pages(ctx context.Context, f func(*RegionInstanceGroupsListInstances) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.regionInstanceGroups.setNamedPorts":
+
+type RegionInstanceGroupsSetNamedPortsCall struct {
+ s *Service
+ project string
+ region string
+ instanceGroup string
+ regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetNamedPorts: Sets the named ports for the specified regional
+// instance group.
+func (r *RegionInstanceGroupsService) SetNamedPorts(project string, region string, instanceGroup string, regioninstancegroupssetnamedportsrequest *RegionInstanceGroupsSetNamedPortsRequest) *RegionInstanceGroupsSetNamedPortsCall {
+ c := &RegionInstanceGroupsSetNamedPortsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.instanceGroup = instanceGroup
+ c.regioninstancegroupssetnamedportsrequest = regioninstancegroupssetnamedportsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RegionInstanceGroupsSetNamedPortsCall) Fields(s ...googleapi.Field) *RegionInstanceGroupsSetNamedPortsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RegionInstanceGroupsSetNamedPortsCall) Context(ctx context.Context) *RegionInstanceGroupsSetNamedPortsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionInstanceGroupsSetNamedPortsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.regioninstancegroupssetnamedportsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "instanceGroup": c.instanceGroup,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.regionInstanceGroups.setNamedPorts" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RegionInstanceGroupsSetNamedPortsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the named ports for the specified regional instance group.",
+ // "httpMethod": "POST",
+ // "id": "compute.regionInstanceGroups.setNamedPorts",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "instanceGroup"
+ // ],
+ // "parameters": {
+ // "instanceGroup": {
+ // "description": "The name of the regional instance group where the named ports are updated.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts",
+ // "request": {
+ // "$ref": "RegionInstanceGroupsSetNamedPortsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.regionOperations.delete":
type RegionOperationsDeleteCall struct {
@@ -29149,6 +48682,7 @@ type RegionOperationsDeleteCall struct {
operation string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified region-specific Operations resource.
@@ -29177,22 +48711,33 @@ func (c *RegionOperationsDeleteCall) Context(ctx context.Context) *RegionOperati
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionOperationsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.regionOperations.delete" call.
@@ -29227,7 +48772,7 @@ func (c *RegionOperationsDeleteCall) Do(opts ...googleapi.CallOption) error {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -29258,6 +48803,7 @@ type RegionOperationsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Retrieves the specified region-specific Operations resource.
@@ -29296,25 +48842,36 @@ func (c *RegionOperationsGetCall) Context(ctx context.Context) *RegionOperations
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionOperationsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.regionOperations.get" call.
@@ -29349,7 +48906,8 @@ func (c *RegionOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -29373,7 +48931,7 @@ func (c *RegionOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -29407,6 +48965,7 @@ type RegionOperationsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of Operation resources contained within the
@@ -29419,10 +48978,9 @@ func (r *RegionOperationsService) List(project string, region string) *RegionOpe
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -29434,20 +48992,18 @@ func (r *RegionOperationsService) List(project string, region string) *RegionOpe
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -29457,12 +49013,30 @@ func (c *RegionOperationsListCall) Filter(filter string) *RegionOperationsListCa
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *RegionOperationsListCall) MaxResults(maxResults int64) *RegionOperationsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionOperationsListCall) OrderBy(orderBy string) *RegionOperationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -29497,24 +49071,35 @@ func (c *RegionOperationsListCall) Context(ctx context.Context) *RegionOperation
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionOperationsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/operations")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.regionOperations.list" call.
@@ -29549,7 +49134,8 @@ func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -29563,19 +49149,23 @@ func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -29584,7 +49174,7 @@ func (c *RegionOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationL
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -29639,6 +49229,7 @@ type RegionsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Region resource. Get a list of available
@@ -29677,24 +49268,35 @@ func (c *RegionsGetCall) Context(ctx context.Context) *RegionsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.regions.get" call.
@@ -29729,7 +49331,8 @@ func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -29745,7 +49348,7 @@ func (c *RegionsGetCall) Do(opts ...googleapi.CallOption) (*Region, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -29778,6 +49381,7 @@ type RegionsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of region resources available to the
@@ -29789,10 +49393,9 @@ func (r *RegionsService) List(project string) *RegionsListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -29804,20 +49407,18 @@ func (r *RegionsService) List(project string) *RegionsListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -29827,12 +49428,30 @@ func (c *RegionsListCall) Filter(filter string) *RegionsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *RegionsListCall) MaxResults(maxResults int64) *RegionsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RegionsListCall) OrderBy(orderBy string) *RegionsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -29867,23 +49486,34 @@ func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RegionsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.regions.list" call.
@@ -29918,7 +49548,8 @@ func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -29931,19 +49562,23 @@ func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error)
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -29952,7 +49587,7 @@ func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionList, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -29991,6 +49626,1617 @@ func (c *RegionsListCall) Pages(ctx context.Context, f func(*RegionList) error)
}
}
+// method id "compute.routers.aggregatedList":
+
+type RoutersAggregatedListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// AggregatedList: Retrieves an aggregated list of routers.
+func (r *RoutersService) AggregatedList(project string) *RoutersAggregatedListCall {
+ c := &RoutersAggregatedListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RoutersAggregatedListCall) Filter(filter string) *RoutersAggregatedListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RoutersAggregatedListCall) MaxResults(maxResults int64) *RoutersAggregatedListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RoutersAggregatedListCall) OrderBy(orderBy string) *RoutersAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RoutersAggregatedListCall) PageToken(pageToken string) *RoutersAggregatedListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersAggregatedListCall) Fields(s ...googleapi.Field) *RoutersAggregatedListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RoutersAggregatedListCall) IfNoneMatch(entityTag string) *RoutersAggregatedListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersAggregatedListCall) Context(ctx context.Context) *RoutersAggregatedListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/routers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.aggregatedList" call.
+// Exactly one of *RouterAggregatedList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *RouterAggregatedList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RoutersAggregatedListCall) Do(opts ...googleapi.CallOption) (*RouterAggregatedList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RouterAggregatedList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves an aggregated list of routers.",
+ // "httpMethod": "GET",
+ // "id": "compute.routers.aggregatedList",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/aggregated/routers",
+ // "response": {
+ // "$ref": "RouterAggregatedList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RoutersAggregatedListCall) Pages(ctx context.Context, f func(*RouterAggregatedList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.routers.delete":
+
+type RoutersDeleteCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified Router resource.
+func (r *RoutersService) Delete(project string, region string, router string) *RoutersDeleteCall {
+ c := &RoutersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersDeleteCall) Fields(s ...googleapi.Field) *RoutersDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersDeleteCall) Context(ctx context.Context) *RoutersDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified Router resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.routers.delete",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.get":
+
+type RoutersGetCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified Router resource. Get a list of available
+// routers by making a list() request.
+func (r *RoutersService) Get(project string, region string, router string) *RoutersGetCall {
+ c := &RoutersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersGetCall) Fields(s ...googleapi.Field) *RoutersGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RoutersGetCall) IfNoneMatch(entityTag string) *RoutersGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersGetCall) Context(ctx context.Context) *RoutersGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.get" call.
+// Exactly one of *Router or error will be non-nil. Any non-2xx status
+// code is an error. Response headers are in either
+// *Router.ServerResponse.Header or (if a response was returned at all)
+// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
+// check whether the returned error was because http.StatusNotModified
+// was returned.
+func (c *RoutersGetCall) Do(opts ...googleapi.CallOption) (*Router, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Router{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified Router resource. Get a list of available routers by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.routers.get",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}",
+ // "response": {
+ // "$ref": "Router"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.getRouterStatus":
+
+type RoutersGetRouterStatusCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GetRouterStatus: Retrieves runtime information of the specified
+// router.
+func (r *RoutersService) GetRouterStatus(project string, region string, router string) *RoutersGetRouterStatusCall {
+ c := &RoutersGetRouterStatusCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersGetRouterStatusCall) Fields(s ...googleapi.Field) *RoutersGetRouterStatusCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RoutersGetRouterStatusCall) IfNoneMatch(entityTag string) *RoutersGetRouterStatusCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersGetRouterStatusCall) Context(ctx context.Context) *RoutersGetRouterStatusCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersGetRouterStatusCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersGetRouterStatusCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}/getRouterStatus")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.getRouterStatus" call.
+// Exactly one of *RouterStatusResponse or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *RouterStatusResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RoutersGetRouterStatusCall) Do(opts ...googleapi.CallOption) (*RouterStatusResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RouterStatusResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves runtime information of the specified router.",
+ // "httpMethod": "GET",
+ // "id": "compute.routers.getRouterStatus",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to query.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}/getRouterStatus",
+ // "response": {
+ // "$ref": "RouterStatusResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.insert":
+
+type RoutersInsertCall struct {
+ s *Service
+ project string
+ region string
+ router *Router
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a Router resource in the specified project and region
+// using the data included in the request.
+func (r *RoutersService) Insert(project string, region string, router *Router) *RoutersInsertCall {
+ c := &RoutersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersInsertCall) Fields(s ...googleapi.Field) *RoutersInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersInsertCall) Context(ctx context.Context) *RoutersInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.router)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a Router resource in the specified project and region using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.routers.insert",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers",
+ // "request": {
+ // "$ref": "Router"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.list":
+
+type RoutersListCall struct {
+ s *Service
+ project string
+ region string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves a list of Router resources available to the specified
+// project.
+func (r *RoutersService) List(project string, region string) *RoutersListCall {
+ c := &RoutersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *RoutersListCall) Filter(filter string) *RoutersListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *RoutersListCall) MaxResults(maxResults int64) *RoutersListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RoutersListCall) OrderBy(orderBy string) *RoutersListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *RoutersListCall) PageToken(pageToken string) *RoutersListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersListCall) Fields(s ...googleapi.Field) *RoutersListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *RoutersListCall) IfNoneMatch(entityTag string) *RoutersListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersListCall) Context(ctx context.Context) *RoutersListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.list" call.
+// Exactly one of *RouterList or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *RouterList.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersListCall) Do(opts ...googleapi.CallOption) (*RouterList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RouterList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves a list of Router resources available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.routers.list",
+ // "parameterOrder": [
+ // "project",
+ // "region"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers",
+ // "response": {
+ // "$ref": "RouterList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *RoutersListCall) Pages(ctx context.Context, f func(*RouterList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.routers.patch":
+
+type RoutersPatchCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ router2 *Router
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Patch: Patches the specified Router resource with the data included
+// in the request. This method supports patch semantics.
+func (r *RoutersService) Patch(project string, region string, router string, router2 *Router) *RoutersPatchCall {
+ c := &RoutersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ c.router2 = router2
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersPatchCall) Fields(s ...googleapi.Field) *RoutersPatchCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersPatchCall) Context(ctx context.Context) *RoutersPatchCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.router2)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.patch" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Patches the specified Router resource with the data included in the request. This method supports patch semantics.",
+ // "httpMethod": "PATCH",
+ // "id": "compute.routers.patch",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to patch.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}",
+ // "request": {
+ // "$ref": "Router"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.preview":
+
+type RoutersPreviewCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ router2 *Router
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Preview: Preview fields auto-generated during router create and
+// update operations. Calling this method does NOT create or update the
+// router.
+func (r *RoutersService) Preview(project string, region string, router string, router2 *Router) *RoutersPreviewCall {
+ c := &RoutersPreviewCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ c.router2 = router2
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersPreviewCall) Fields(s ...googleapi.Field) *RoutersPreviewCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersPreviewCall) Context(ctx context.Context) *RoutersPreviewCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersPreviewCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersPreviewCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.router2)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}/preview")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.preview" call.
+// Exactly one of *RoutersPreviewResponse or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *RoutersPreviewResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *RoutersPreviewCall) Do(opts ...googleapi.CallOption) (*RoutersPreviewResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &RoutersPreviewResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.",
+ // "httpMethod": "POST",
+ // "id": "compute.routers.preview",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to query.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}/preview",
+ // "request": {
+ // "$ref": "Router"
+ // },
+ // "response": {
+ // "$ref": "RoutersPreviewResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.routers.update":
+
+type RoutersUpdateCall struct {
+ s *Service
+ project string
+ region string
+ router string
+ router2 *Router
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Update: Updates the specified Router resource with the data included
+// in the request.
+func (r *RoutersService) Update(project string, region string, router string, router2 *Router) *RoutersUpdateCall {
+ c := &RoutersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.router = router
+ c.router2 = router2
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *RoutersUpdateCall) Fields(s ...googleapi.Field) *RoutersUpdateCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *RoutersUpdateCall) Context(ctx context.Context) *RoutersUpdateCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutersUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *RoutersUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.router2)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/routers/{router}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "router": c.router,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.routers.update" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *RoutersUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Updates the specified Router resource with the data included in the request.",
+ // "httpMethod": "PUT",
+ // "id": "compute.routers.update",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "router"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "router": {
+ // "description": "Name of the Router resource to update.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/routers/{router}",
+ // "request": {
+ // "$ref": "Router"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.routes.delete":
type RoutesDeleteCall struct {
@@ -29999,6 +51245,7 @@ type RoutesDeleteCall struct {
route string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified Route resource.
@@ -30026,21 +51273,32 @@ func (c *RoutesDeleteCall) Context(ctx context.Context) *RoutesDeleteCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"route": c.route,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.routes.delete" call.
@@ -30075,7 +51333,8 @@ func (c *RoutesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30091,7 +51350,7 @@ func (c *RoutesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -30124,6 +51383,7 @@ type RoutesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Route resource. Get a list of available
@@ -30162,24 +51422,35 @@ func (c *RoutesGetCall) Context(ctx context.Context) *RoutesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes/{route}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"route": c.route,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.routes.get" call.
@@ -30214,7 +51485,8 @@ func (c *RoutesGetCall) Do(opts ...googleapi.CallOption) (*Route, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30230,7 +51502,7 @@ func (c *RoutesGetCall) Do(opts ...googleapi.CallOption) (*Route, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -30263,6 +51535,7 @@ type RoutesInsertCall struct {
route *Route
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a Route resource in the specified project using the
@@ -30291,26 +51564,36 @@ func (c *RoutesInsertCall) Context(ctx context.Context) *RoutesInsertCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RoutesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.route)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.routes.insert" call.
@@ -30345,7 +51628,8 @@ func (c *RoutesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30360,7 +51644,7 @@ func (c *RoutesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -30388,6 +51672,7 @@ type RoutesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of Route resources available to the
@@ -30399,10 +51684,9 @@ func (r *RoutesService) List(project string) *RoutesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -30414,20 +51698,18 @@ func (r *RoutesService) List(project string) *RoutesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *RoutesListCall) Filter(filter string) *RoutesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -30437,12 +51719,30 @@ func (c *RoutesListCall) Filter(filter string) *RoutesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *RoutesListCall) MaxResults(maxResults int64) *RoutesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *RoutesListCall) OrderBy(orderBy string) *RoutesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -30477,23 +51777,34 @@ func (c *RoutesListCall) Context(ctx context.Context) *RoutesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *RoutesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/routes")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.routes.list" call.
@@ -30528,7 +51839,8 @@ func (c *RoutesListCall) Do(opts ...googleapi.CallOption) (*RouteList, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30541,19 +51853,23 @@ func (c *RoutesListCall) Do(opts ...googleapi.CallOption) (*RouteList, error) {
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -30562,7 +51878,7 @@ func (c *RoutesListCall) Do(opts ...googleapi.CallOption) (*RouteList, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -30609,6 +51925,7 @@ type SnapshotsDeleteCall struct {
snapshot string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified Snapshot resource. Keep in mind that
@@ -30642,21 +51959,32 @@ func (c *SnapshotsDeleteCall) Context(ctx context.Context) *SnapshotsDeleteCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SnapshotsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"snapshot": c.snapshot,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.snapshots.delete" call.
@@ -30691,7 +52019,8 @@ func (c *SnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30707,7 +52036,7 @@ func (c *SnapshotsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -30740,6 +52069,7 @@ type SnapshotsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Snapshot resource. Get a list of available
@@ -30778,24 +52108,35 @@ func (c *SnapshotsGetCall) Context(ctx context.Context) *SnapshotsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SnapshotsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{snapshot}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"snapshot": c.snapshot,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.snapshots.get" call.
@@ -30830,7 +52171,8 @@ func (c *SnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -30846,7 +52188,7 @@ func (c *SnapshotsGetCall) Do(opts ...googleapi.CallOption) (*Snapshot, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -30879,6 +52221,7 @@ type SnapshotsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of Snapshot resources contained within the
@@ -30890,10 +52233,9 @@ func (r *SnapshotsService) List(project string) *SnapshotsListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -30905,20 +52247,18 @@ func (r *SnapshotsService) List(project string) *SnapshotsListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *SnapshotsListCall) Filter(filter string) *SnapshotsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -30928,12 +52268,30 @@ func (c *SnapshotsListCall) Filter(filter string) *SnapshotsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *SnapshotsListCall) MaxResults(maxResults int64) *SnapshotsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *SnapshotsListCall) OrderBy(orderBy string) *SnapshotsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -30968,23 +52326,34 @@ func (c *SnapshotsListCall) Context(ctx context.Context) *SnapshotsListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SnapshotsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.snapshots.list" call.
@@ -31019,7 +52388,8 @@ func (c *SnapshotsListCall) Do(opts ...googleapi.CallOption) (*SnapshotList, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31032,19 +52402,23 @@ func (c *SnapshotsListCall) Do(opts ...googleapi.CallOption) (*SnapshotList, err
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -31053,7 +52427,7 @@ func (c *SnapshotsListCall) Do(opts ...googleapi.CallOption) (*SnapshotList, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -31092,6 +52466,153 @@ func (c *SnapshotsListCall) Pages(ctx context.Context, f func(*SnapshotList) err
}
}
+// method id "compute.snapshots.setLabels":
+
+type SnapshotsSetLabelsCall struct {
+ s *Service
+ project string
+ resource string
+ globalsetlabelsrequest *GlobalSetLabelsRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetLabels: Sets the labels on a snapshot. To learn more about labels,
+// read the Labeling Resources documentation.
+func (r *SnapshotsService) SetLabels(project string, resource string, globalsetlabelsrequest *GlobalSetLabelsRequest) *SnapshotsSetLabelsCall {
+ c := &SnapshotsSetLabelsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.resource = resource
+ c.globalsetlabelsrequest = globalsetlabelsrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *SnapshotsSetLabelsCall) Fields(s ...googleapi.Field) *SnapshotsSetLabelsCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *SnapshotsSetLabelsCall) Context(ctx context.Context) *SnapshotsSetLabelsCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SnapshotsSetLabelsCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *SnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.globalsetlabelsrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/snapshots/{resource}/setLabels")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "resource": c.resource,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.snapshots.setLabels" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *SnapshotsSetLabelsCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.",
+ // "httpMethod": "POST",
+ // "id": "compute.snapshots.setLabels",
+ // "parameterOrder": [
+ // "project",
+ // "resource"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "resource": {
+ // "description": "Name of the resource for this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/snapshots/{resource}/setLabels",
+ // "request": {
+ // "$ref": "GlobalSetLabelsRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.sslCertificates.delete":
type SslCertificatesDeleteCall struct {
@@ -31100,6 +52621,7 @@ type SslCertificatesDeleteCall struct {
sslCertificate string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified SslCertificate resource.
@@ -31126,21 +52648,32 @@ func (c *SslCertificatesDeleteCall) Context(ctx context.Context) *SslCertificate
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SslCertificatesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates/{sslCertificate}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"sslCertificate": c.sslCertificate,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.sslCertificates.delete" call.
@@ -31175,7 +52708,8 @@ func (c *SslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31191,7 +52725,7 @@ func (c *SslCertificatesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -31224,6 +52758,7 @@ type SslCertificatesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified SslCertificate resource. Get a list of
@@ -31261,24 +52796,35 @@ func (c *SslCertificatesGetCall) Context(ctx context.Context) *SslCertificatesGe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SslCertificatesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates/{sslCertificate}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"sslCertificate": c.sslCertificate,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.sslCertificates.get" call.
@@ -31313,7 +52859,8 @@ func (c *SslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCertifica
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31329,7 +52876,7 @@ func (c *SslCertificatesGetCall) Do(opts ...googleapi.CallOption) (*SslCertifica
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -31362,6 +52909,7 @@ type SslCertificatesInsertCall struct {
sslcertificate *SslCertificate
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a SslCertificate resource in the specified project
@@ -31389,26 +52937,36 @@ func (c *SslCertificatesInsertCall) Context(ctx context.Context) *SslCertificate
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SslCertificatesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.sslcertificate)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.sslCertificates.insert" call.
@@ -31443,7 +53001,8 @@ func (c *SslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31458,7 +53017,7 @@ func (c *SslCertificatesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -31486,6 +53045,7 @@ type SslCertificatesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of SslCertificate resources available to the
@@ -31496,10 +53056,9 @@ func (r *SslCertificatesService) List(project string) *SslCertificatesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -31511,20 +53070,18 @@ func (r *SslCertificatesService) List(project string) *SslCertificatesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *SslCertificatesListCall) Filter(filter string) *SslCertificatesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -31534,12 +53091,30 @@ func (c *SslCertificatesListCall) Filter(filter string) *SslCertificatesListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *SslCertificatesListCall) MaxResults(maxResults int64) *SslCertificatesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *SslCertificatesListCall) OrderBy(orderBy string) *SslCertificatesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -31574,23 +53149,34 @@ func (c *SslCertificatesListCall) Context(ctx context.Context) *SslCertificatesL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SslCertificatesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/sslCertificates")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.sslCertificates.list" call.
@@ -31625,7 +53211,8 @@ func (c *SslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCertific
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31638,19 +53225,23 @@ func (c *SslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCertific
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -31659,7 +53250,7 @@ func (c *SslCertificatesListCall) Do(opts ...googleapi.CallOption) (*SslCertific
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -31706,6 +53297,7 @@ type SubnetworksAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of subnetworks.
@@ -31715,10 +53307,9 @@ func (r *SubnetworksService) AggregatedList(project string) *SubnetworksAggregat
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -31730,20 +53321,18 @@ func (r *SubnetworksService) AggregatedList(project string) *SubnetworksAggregat
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *SubnetworksAggregatedListCall) Filter(filter string) *SubnetworksAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -31753,12 +53342,30 @@ func (c *SubnetworksAggregatedListCall) Filter(filter string) *SubnetworksAggreg
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *SubnetworksAggregatedListCall) MaxResults(maxResults int64) *SubnetworksAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *SubnetworksAggregatedListCall) OrderBy(orderBy string) *SubnetworksAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -31793,23 +53400,34 @@ func (c *SubnetworksAggregatedListCall) Context(ctx context.Context) *Subnetwork
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SubnetworksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/subnetworks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.subnetworks.aggregatedList" call.
@@ -31844,7 +53462,8 @@ func (c *SubnetworksAggregatedListCall) Do(opts ...googleapi.CallOption) (*Subne
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -31857,19 +53476,23 @@ func (c *SubnetworksAggregatedListCall) Do(opts ...googleapi.CallOption) (*Subne
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -31878,7 +53501,7 @@ func (c *SubnetworksAggregatedListCall) Do(opts ...googleapi.CallOption) (*Subne
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -31926,6 +53549,7 @@ type SubnetworksDeleteCall struct {
subnetwork string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified subnetwork.
@@ -31953,22 +53577,33 @@ func (c *SubnetworksDeleteCall) Context(ctx context.Context) *SubnetworksDeleteC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SubnetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks/{subnetwork}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"subnetwork": c.subnetwork,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.subnetworks.delete" call.
@@ -32003,7 +53638,8 @@ func (c *SubnetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32020,7 +53656,7 @@ func (c *SubnetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32051,6 +53687,164 @@ func (c *SubnetworksDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
}
+// method id "compute.subnetworks.expandIpCidrRange":
+
+type SubnetworksExpandIpCidrRangeCall struct {
+ s *Service
+ project string
+ region string
+ subnetwork string
+ subnetworksexpandipcidrrangerequest *SubnetworksExpandIpCidrRangeRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// ExpandIpCidrRange: Expands the IP CIDR range of the subnetwork to a
+// specified value.
+func (r *SubnetworksService) ExpandIpCidrRange(project string, region string, subnetwork string, subnetworksexpandipcidrrangerequest *SubnetworksExpandIpCidrRangeRequest) *SubnetworksExpandIpCidrRangeCall {
+ c := &SubnetworksExpandIpCidrRangeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.subnetwork = subnetwork
+ c.subnetworksexpandipcidrrangerequest = subnetworksexpandipcidrrangerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *SubnetworksExpandIpCidrRangeCall) Fields(s ...googleapi.Field) *SubnetworksExpandIpCidrRangeCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *SubnetworksExpandIpCidrRangeCall) Context(ctx context.Context) *SubnetworksExpandIpCidrRangeCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksExpandIpCidrRangeCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *SubnetworksExpandIpCidrRangeCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.subnetworksexpandipcidrrangerequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "subnetwork": c.subnetwork,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.subnetworks.expandIpCidrRange" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *SubnetworksExpandIpCidrRangeCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Expands the IP CIDR range of the subnetwork to a specified value.",
+ // "httpMethod": "POST",
+ // "id": "compute.subnetworks.expandIpCidrRange",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "subnetwork"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "subnetwork": {
+ // "description": "Name of the Subnetwork resource to update.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange",
+ // "request": {
+ // "$ref": "SubnetworksExpandIpCidrRangeRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.subnetworks.get":
type SubnetworksGetCall struct {
@@ -32061,6 +53855,7 @@ type SubnetworksGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified subnetwork. Get a list of available
@@ -32099,25 +53894,36 @@ func (c *SubnetworksGetCall) Context(ctx context.Context) *SubnetworksGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SubnetworksGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks/{subnetwork}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"subnetwork": c.subnetwork,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.subnetworks.get" call.
@@ -32152,7 +53958,8 @@ func (c *SubnetworksGetCall) Do(opts ...googleapi.CallOption) (*Subnetwork, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32169,7 +53976,7 @@ func (c *SubnetworksGetCall) Do(opts ...googleapi.CallOption) (*Subnetwork, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32210,6 +54017,7 @@ type SubnetworksInsertCall struct {
subnetwork *Subnetwork
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a subnetwork in the specified project using the data
@@ -32238,27 +54046,37 @@ func (c *SubnetworksInsertCall) Context(ctx context.Context) *SubnetworksInsertC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SubnetworksInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.subnetwork)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.subnetworks.insert" call.
@@ -32293,7 +54111,8 @@ func (c *SubnetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32309,7 +54128,7 @@ func (c *SubnetworksInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32345,6 +54164,7 @@ type SubnetworksListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of subnetworks available to the specified
@@ -32356,10 +54176,9 @@ func (r *SubnetworksService) List(project string, region string) *SubnetworksLis
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -32371,20 +54190,18 @@ func (r *SubnetworksService) List(project string, region string) *SubnetworksLis
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *SubnetworksListCall) Filter(filter string) *SubnetworksListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -32394,12 +54211,30 @@ func (c *SubnetworksListCall) Filter(filter string) *SubnetworksListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *SubnetworksListCall) MaxResults(maxResults int64) *SubnetworksListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *SubnetworksListCall) OrderBy(orderBy string) *SubnetworksListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -32434,24 +54269,35 @@ func (c *SubnetworksListCall) Context(ctx context.Context) *SubnetworksListCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *SubnetworksListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.subnetworks.list" call.
@@ -32486,7 +54332,8 @@ func (c *SubnetworksListCall) Do(opts ...googleapi.CallOption) (*SubnetworkList,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32500,19 +54347,23 @@ func (c *SubnetworksListCall) Do(opts ...googleapi.CallOption) (*SubnetworkList,
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -32521,7 +54372,7 @@ func (c *SubnetworksListCall) Do(opts ...googleapi.CallOption) (*SubnetworkList,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32567,6 +54418,165 @@ func (c *SubnetworksListCall) Pages(ctx context.Context, f func(*SubnetworkList)
}
}
+// method id "compute.subnetworks.setPrivateIpGoogleAccess":
+
+type SubnetworksSetPrivateIpGoogleAccessCall struct {
+ s *Service
+ project string
+ region string
+ subnetwork string
+ subnetworkssetprivateipgoogleaccessrequest *SubnetworksSetPrivateIpGoogleAccessRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetPrivateIpGoogleAccess: Set whether VMs in this subnet can access
+// Google services without assigning external IP addresses through
+// Private Google Access.
+func (r *SubnetworksService) SetPrivateIpGoogleAccess(project string, region string, subnetwork string, subnetworkssetprivateipgoogleaccessrequest *SubnetworksSetPrivateIpGoogleAccessRequest) *SubnetworksSetPrivateIpGoogleAccessCall {
+ c := &SubnetworksSetPrivateIpGoogleAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.region = region
+ c.subnetwork = subnetwork
+ c.subnetworkssetprivateipgoogleaccessrequest = subnetworkssetprivateipgoogleaccessrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *SubnetworksSetPrivateIpGoogleAccessCall) Fields(s ...googleapi.Field) *SubnetworksSetPrivateIpGoogleAccessCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *SubnetworksSetPrivateIpGoogleAccessCall) Context(ctx context.Context) *SubnetworksSetPrivateIpGoogleAccessCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *SubnetworksSetPrivateIpGoogleAccessCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *SubnetworksSetPrivateIpGoogleAccessCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.subnetworkssetprivateipgoogleaccessrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "region": c.region,
+ "subnetwork": c.subnetwork,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.subnetworks.setPrivateIpGoogleAccess" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *SubnetworksSetPrivateIpGoogleAccessCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.",
+ // "httpMethod": "POST",
+ // "id": "compute.subnetworks.setPrivateIpGoogleAccess",
+ // "parameterOrder": [
+ // "project",
+ // "region",
+ // "subnetwork"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "region": {
+ // "description": "Name of the region scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "subnetwork": {
+ // "description": "Name of the Subnetwork resource.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess",
+ // "request": {
+ // "$ref": "SubnetworksSetPrivateIpGoogleAccessRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.targetHttpProxies.delete":
type TargetHttpProxiesDeleteCall struct {
@@ -32575,6 +54585,7 @@ type TargetHttpProxiesDeleteCall struct {
targetHttpProxy string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified TargetHttpProxy resource.
@@ -32602,21 +54613,32 @@ func (c *TargetHttpProxiesDeleteCall) Context(ctx context.Context) *TargetHttpPr
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpProxiesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpProxy": c.targetHttpProxy,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpProxies.delete" call.
@@ -32651,7 +54673,8 @@ func (c *TargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32667,7 +54690,7 @@ func (c *TargetHttpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32700,6 +54723,7 @@ type TargetHttpProxiesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified TargetHttpProxy resource. Get a list of
@@ -32738,24 +54762,35 @@ func (c *TargetHttpProxiesGetCall) Context(ctx context.Context) *TargetHttpProxi
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpProxiesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies/{targetHttpProxy}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpProxy": c.targetHttpProxy,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpProxies.get" call.
@@ -32790,7 +54825,8 @@ func (c *TargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttp
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32806,7 +54842,7 @@ func (c *TargetHttpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHttp
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -32839,6 +54875,7 @@ type TargetHttpProxiesInsertCall struct {
targethttpproxy *TargetHttpProxy
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a TargetHttpProxy resource in the specified project
@@ -32867,26 +54904,36 @@ func (c *TargetHttpProxiesInsertCall) Context(ctx context.Context) *TargetHttpPr
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpProxiesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targethttpproxy)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpProxies.insert" call.
@@ -32921,7 +54968,8 @@ func (c *TargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -32936,7 +54984,7 @@ func (c *TargetHttpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -32964,6 +55012,7 @@ type TargetHttpProxiesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of TargetHttpProxy resources available to
@@ -32975,10 +55024,9 @@ func (r *TargetHttpProxiesService) List(project string) *TargetHttpProxiesListCa
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -32990,20 +55038,18 @@ func (r *TargetHttpProxiesService) List(project string) *TargetHttpProxiesListCa
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetHttpProxiesListCall) Filter(filter string) *TargetHttpProxiesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -33013,12 +55059,30 @@ func (c *TargetHttpProxiesListCall) Filter(filter string) *TargetHttpProxiesList
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetHttpProxiesListCall) MaxResults(maxResults int64) *TargetHttpProxiesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetHttpProxiesListCall) OrderBy(orderBy string) *TargetHttpProxiesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -33053,23 +55117,34 @@ func (c *TargetHttpProxiesListCall) Context(ctx context.Context) *TargetHttpProx
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpProxiesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpProxies")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpProxies.list" call.
@@ -33104,7 +55179,8 @@ func (c *TargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHtt
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33117,19 +55193,23 @@ func (c *TargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHtt
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -33138,7 +55218,7 @@ func (c *TargetHttpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHtt
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -33186,6 +55266,7 @@ type TargetHttpProxiesSetUrlMapCall struct {
urlmapreference *UrlMapReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetUrlMap: Changes the URL map for TargetHttpProxy.
@@ -33214,27 +55295,37 @@ func (c *TargetHttpProxiesSetUrlMapCall) Context(ctx context.Context) *TargetHtt
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpProxiesSetUrlMapCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmapreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpProxy": c.targetHttpProxy,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpProxies.setUrlMap" call.
@@ -33269,7 +55360,8 @@ func (c *TargetHttpProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Oper
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33285,7 +55377,7 @@ func (c *TargetHttpProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Oper
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -33320,6 +55412,7 @@ type TargetHttpsProxiesDeleteCall struct {
targetHttpsProxy string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified TargetHttpsProxy resource.
@@ -33346,21 +55439,32 @@ func (c *TargetHttpsProxiesDeleteCall) Context(ctx context.Context) *TargetHttps
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies/{targetHttpsProxy}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpsProxy": c.targetHttpsProxy,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.delete" call.
@@ -33395,7 +55499,8 @@ func (c *TargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33411,7 +55516,7 @@ func (c *TargetHttpsProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operat
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -33444,6 +55549,7 @@ type TargetHttpsProxiesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified TargetHttpsProxy resource. Get a list of
@@ -33481,24 +55587,35 @@ func (c *TargetHttpsProxiesGetCall) Context(ctx context.Context) *TargetHttpsPro
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies/{targetHttpsProxy}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpsProxy": c.targetHttpsProxy,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.get" call.
@@ -33533,7 +55650,8 @@ func (c *TargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHtt
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33549,7 +55667,7 @@ func (c *TargetHttpsProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetHtt
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -33582,6 +55700,7 @@ type TargetHttpsProxiesInsertCall struct {
targethttpsproxy *TargetHttpsProxy
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a TargetHttpsProxy resource in the specified project
@@ -33609,26 +55728,36 @@ func (c *TargetHttpsProxiesInsertCall) Context(ctx context.Context) *TargetHttps
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targethttpsproxy)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.insert" call.
@@ -33663,7 +55792,8 @@ func (c *TargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operat
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33678,7 +55808,7 @@ func (c *TargetHttpsProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operat
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -33706,6 +55836,7 @@ type TargetHttpsProxiesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of TargetHttpsProxy resources available to
@@ -33716,10 +55847,9 @@ func (r *TargetHttpsProxiesService) List(project string) *TargetHttpsProxiesList
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -33731,20 +55861,18 @@ func (r *TargetHttpsProxiesService) List(project string) *TargetHttpsProxiesList
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetHttpsProxiesListCall) Filter(filter string) *TargetHttpsProxiesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -33754,12 +55882,30 @@ func (c *TargetHttpsProxiesListCall) Filter(filter string) *TargetHttpsProxiesLi
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetHttpsProxiesListCall) MaxResults(maxResults int64) *TargetHttpsProxiesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetHttpsProxiesListCall) OrderBy(orderBy string) *TargetHttpsProxiesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -33794,23 +55940,34 @@ func (c *TargetHttpsProxiesListCall) Context(ctx context.Context) *TargetHttpsPr
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetHttpsProxies")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.list" call.
@@ -33845,7 +56002,8 @@ func (c *TargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHt
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -33858,19 +56016,23 @@ func (c *TargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHt
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -33879,7 +56041,7 @@ func (c *TargetHttpsProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetHt
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -33927,6 +56089,7 @@ type TargetHttpsProxiesSetSslCertificatesCall struct {
targethttpsproxiessetsslcertificatesrequest *TargetHttpsProxiesSetSslCertificatesRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetSslCertificates: Replaces SslCertificates for TargetHttpsProxy.
@@ -33954,27 +56117,37 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Context(ctx context.Context)
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesSetSslCertificatesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targethttpsproxiessetsslcertificatesrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpsProxy": c.targetHttpsProxy,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.setSslCertificates" call.
@@ -34009,7 +56182,8 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOpti
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34025,7 +56199,7 @@ func (c *TargetHttpsProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOpti
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -34061,6 +56235,7 @@ type TargetHttpsProxiesSetUrlMapCall struct {
urlmapreference *UrlMapReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetUrlMap: Changes the URL map for TargetHttpsProxy.
@@ -34088,27 +56263,37 @@ func (c *TargetHttpsProxiesSetUrlMapCall) Context(ctx context.Context) *TargetHt
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetHttpsProxiesSetUrlMapCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmapreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"targetHttpsProxy": c.targetHttpsProxy,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetHttpsProxies.setUrlMap" call.
@@ -34143,7 +56328,8 @@ func (c *TargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Ope
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34159,7 +56345,7 @@ func (c *TargetHttpsProxiesSetUrlMapCall) Do(opts ...googleapi.CallOption) (*Ope
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -34194,6 +56380,7 @@ type TargetInstancesAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of target instances.
@@ -34204,10 +56391,9 @@ func (r *TargetInstancesService) AggregatedList(project string) *TargetInstances
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -34219,20 +56405,18 @@ func (r *TargetInstancesService) AggregatedList(project string) *TargetInstances
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetInstancesAggregatedListCall) Filter(filter string) *TargetInstancesAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -34242,12 +56426,30 @@ func (c *TargetInstancesAggregatedListCall) Filter(filter string) *TargetInstanc
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetInstancesAggregatedListCall) MaxResults(maxResults int64) *TargetInstancesAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetInstancesAggregatedListCall) OrderBy(orderBy string) *TargetInstancesAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -34282,23 +56484,34 @@ func (c *TargetInstancesAggregatedListCall) Context(ctx context.Context) *Target
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetInstancesAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetInstances.aggregatedList" call.
@@ -34333,7 +56546,8 @@ func (c *TargetInstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*T
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34346,19 +56560,23 @@ func (c *TargetInstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*T
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -34367,7 +56585,7 @@ func (c *TargetInstancesAggregatedListCall) Do(opts ...googleapi.CallOption) (*T
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -34415,6 +56633,7 @@ type TargetInstancesDeleteCall struct {
targetInstance string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified TargetInstance resource.
@@ -34443,22 +56662,33 @@ func (c *TargetInstancesDeleteCall) Context(ctx context.Context) *TargetInstance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetInstancesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"targetInstance": c.targetInstance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetInstances.delete" call.
@@ -34493,7 +56723,8 @@ func (c *TargetInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34510,7 +56741,7 @@ func (c *TargetInstancesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -34551,6 +56782,7 @@ type TargetInstancesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified TargetInstance resource. Get a list of
@@ -34590,25 +56822,36 @@ func (c *TargetInstancesGetCall) Context(ctx context.Context) *TargetInstancesGe
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetInstancesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances/{targetInstance}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"targetInstance": c.targetInstance,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetInstances.get" call.
@@ -34643,7 +56886,8 @@ func (c *TargetInstancesGetCall) Do(opts ...googleapi.CallOption) (*TargetInstan
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34660,7 +56904,7 @@ func (c *TargetInstancesGetCall) Do(opts ...googleapi.CallOption) (*TargetInstan
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -34701,6 +56945,7 @@ type TargetInstancesInsertCall struct {
targetinstance *TargetInstance
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a TargetInstance resource in the specified project
@@ -34730,27 +56975,37 @@ func (c *TargetInstancesInsertCall) Context(ctx context.Context) *TargetInstance
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetInstancesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetInstancesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetinstance)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetInstances.insert" call.
@@ -34785,7 +57040,8 @@ func (c *TargetInstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34801,7 +57057,7 @@ func (c *TargetInstancesInsertCall) Do(opts ...googleapi.CallOption) (*Operation
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -34837,6 +57093,7 @@ type TargetInstancesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of TargetInstance resources available to the
@@ -34849,10 +57106,9 @@ func (r *TargetInstancesService) List(project string, zone string) *TargetInstan
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -34864,20 +57120,18 @@ func (r *TargetInstancesService) List(project string, zone string) *TargetInstan
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetInstancesListCall) Filter(filter string) *TargetInstancesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -34887,12 +57141,30 @@ func (c *TargetInstancesListCall) Filter(filter string) *TargetInstancesListCall
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetInstancesListCall) MaxResults(maxResults int64) *TargetInstancesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetInstancesListCall) OrderBy(orderBy string) *TargetInstancesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -34927,24 +57199,35 @@ func (c *TargetInstancesListCall) Context(ctx context.Context) *TargetInstancesL
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetInstancesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/targetInstances")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetInstances.list" call.
@@ -34979,7 +57262,8 @@ func (c *TargetInstancesListCall) Do(opts ...googleapi.CallOption) (*TargetInsta
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -34993,19 +57277,23 @@ func (c *TargetInstancesListCall) Do(opts ...googleapi.CallOption) (*TargetInsta
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -35014,7 +57302,7 @@ func (c *TargetInstancesListCall) Do(opts ...googleapi.CallOption) (*TargetInsta
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -35070,6 +57358,7 @@ type TargetPoolsAddHealthCheckCall struct {
targetpoolsaddhealthcheckrequest *TargetPoolsAddHealthCheckRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// AddHealthCheck: Adds health check URLs to a target pool.
@@ -35099,28 +57388,38 @@ func (c *TargetPoolsAddHealthCheckCall) Context(ctx context.Context) *TargetPool
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsAddHealthCheckCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsAddHealthCheckCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetpoolsaddhealthcheckrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.addHealthCheck" call.
@@ -35155,7 +57454,8 @@ func (c *TargetPoolsAddHealthCheckCall) Do(opts ...googleapi.CallOption) (*Opera
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35172,7 +57472,7 @@ func (c *TargetPoolsAddHealthCheckCall) Do(opts ...googleapi.CallOption) (*Opera
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -35216,6 +57516,7 @@ type TargetPoolsAddInstanceCall struct {
targetpoolsaddinstancerequest *TargetPoolsAddInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// AddInstance: Adds an instance to a target pool.
@@ -35245,28 +57546,38 @@ func (c *TargetPoolsAddInstanceCall) Context(ctx context.Context) *TargetPoolsAd
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsAddInstanceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsAddInstanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetpoolsaddinstancerequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/addInstance")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.addInstance" call.
@@ -35301,7 +57612,8 @@ func (c *TargetPoolsAddInstanceCall) Do(opts ...googleapi.CallOption) (*Operatio
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35318,7 +57630,7 @@ func (c *TargetPoolsAddInstanceCall) Do(opts ...googleapi.CallOption) (*Operatio
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -35360,6 +57672,7 @@ type TargetPoolsAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of target pools.
@@ -35370,10 +57683,9 @@ func (r *TargetPoolsService) AggregatedList(project string) *TargetPoolsAggregat
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -35385,20 +57697,18 @@ func (r *TargetPoolsService) AggregatedList(project string) *TargetPoolsAggregat
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetPoolsAggregatedListCall) Filter(filter string) *TargetPoolsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -35408,12 +57718,30 @@ func (c *TargetPoolsAggregatedListCall) Filter(filter string) *TargetPoolsAggreg
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetPoolsAggregatedListCall) MaxResults(maxResults int64) *TargetPoolsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetPoolsAggregatedListCall) OrderBy(orderBy string) *TargetPoolsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -35448,23 +57776,34 @@ func (c *TargetPoolsAggregatedListCall) Context(ctx context.Context) *TargetPool
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetPools")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.aggregatedList" call.
@@ -35499,7 +57838,8 @@ func (c *TargetPoolsAggregatedListCall) Do(opts ...googleapi.CallOption) (*Targe
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35512,19 +57852,23 @@ func (c *TargetPoolsAggregatedListCall) Do(opts ...googleapi.CallOption) (*Targe
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -35533,7 +57877,7 @@ func (c *TargetPoolsAggregatedListCall) Do(opts ...googleapi.CallOption) (*Targe
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -35581,6 +57925,7 @@ type TargetPoolsDeleteCall struct {
targetPool string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified target pool.
@@ -35609,22 +57954,33 @@ func (c *TargetPoolsDeleteCall) Context(ctx context.Context) *TargetPoolsDeleteC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.delete" call.
@@ -35659,7 +58015,8 @@ func (c *TargetPoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35676,7 +58033,7 @@ func (c *TargetPoolsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -35717,6 +58074,7 @@ type TargetPoolsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified target pool. Get a list of available
@@ -35756,25 +58114,36 @@ func (c *TargetPoolsGetCall) Context(ctx context.Context) *TargetPoolsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.get" call.
@@ -35809,7 +58178,8 @@ func (c *TargetPoolsGetCall) Do(opts ...googleapi.CallOption) (*TargetPool, erro
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35826,7 +58196,7 @@ func (c *TargetPoolsGetCall) Do(opts ...googleapi.CallOption) (*TargetPool, erro
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -35868,6 +58238,7 @@ type TargetPoolsGetHealthCall struct {
instancereference *InstanceReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// GetHealth: Gets the most recent health check results for each IP for
@@ -35898,28 +58269,38 @@ func (c *TargetPoolsGetHealthCall) Context(ctx context.Context) *TargetPoolsGetH
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsGetHealthCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsGetHealthCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.instancereference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/getHealth")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.getHealth" call.
@@ -35954,7 +58335,8 @@ func (c *TargetPoolsGetHealthCall) Do(opts ...googleapi.CallOption) (*TargetPool
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -35971,7 +58353,7 @@ func (c *TargetPoolsGetHealthCall) Do(opts ...googleapi.CallOption) (*TargetPool
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36015,6 +58397,7 @@ type TargetPoolsInsertCall struct {
targetpool *TargetPool
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a target pool in the specified project and region
@@ -36044,27 +58427,37 @@ func (c *TargetPoolsInsertCall) Context(ctx context.Context) *TargetPoolsInsertC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetpool)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.insert" call.
@@ -36099,7 +58492,8 @@ func (c *TargetPoolsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36115,7 +58509,7 @@ func (c *TargetPoolsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36151,6 +58545,7 @@ type TargetPoolsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of target pools available to the specified
@@ -36163,10 +58558,9 @@ func (r *TargetPoolsService) List(project string, region string) *TargetPoolsLis
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -36178,20 +58572,18 @@ func (r *TargetPoolsService) List(project string, region string) *TargetPoolsLis
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetPoolsListCall) Filter(filter string) *TargetPoolsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -36201,12 +58593,30 @@ func (c *TargetPoolsListCall) Filter(filter string) *TargetPoolsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetPoolsListCall) MaxResults(maxResults int64) *TargetPoolsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetPoolsListCall) OrderBy(orderBy string) *TargetPoolsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -36241,24 +58651,35 @@ func (c *TargetPoolsListCall) Context(ctx context.Context) *TargetPoolsListCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.list" call.
@@ -36293,7 +58714,8 @@ func (c *TargetPoolsListCall) Do(opts ...googleapi.CallOption) (*TargetPoolList,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36307,19 +58729,23 @@ func (c *TargetPoolsListCall) Do(opts ...googleapi.CallOption) (*TargetPoolList,
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -36328,7 +58754,7 @@ func (c *TargetPoolsListCall) Do(opts ...googleapi.CallOption) (*TargetPoolList,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36384,6 +58810,7 @@ type TargetPoolsRemoveHealthCheckCall struct {
targetpoolsremovehealthcheckrequest *TargetPoolsRemoveHealthCheckRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// RemoveHealthCheck: Removes health check URL from a target pool.
@@ -36413,28 +58840,38 @@ func (c *TargetPoolsRemoveHealthCheckCall) Context(ctx context.Context) *TargetP
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsRemoveHealthCheckCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsRemoveHealthCheckCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetpoolsremovehealthcheckrequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.removeHealthCheck" call.
@@ -36469,7 +58906,8 @@ func (c *TargetPoolsRemoveHealthCheckCall) Do(opts ...googleapi.CallOption) (*Op
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36486,7 +58924,7 @@ func (c *TargetPoolsRemoveHealthCheckCall) Do(opts ...googleapi.CallOption) (*Op
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36530,6 +58968,7 @@ type TargetPoolsRemoveInstanceCall struct {
targetpoolsremoveinstancerequest *TargetPoolsRemoveInstanceRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// RemoveInstance: Removes instance URL from a target pool.
@@ -36559,28 +58998,38 @@ func (c *TargetPoolsRemoveInstanceCall) Context(ctx context.Context) *TargetPool
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsRemoveInstanceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsRemoveInstanceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetpoolsremoveinstancerequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/removeInstance")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.removeInstance" call.
@@ -36615,7 +59064,8 @@ func (c *TargetPoolsRemoveInstanceCall) Do(opts ...googleapi.CallOption) (*Opera
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36632,7 +59082,7 @@ func (c *TargetPoolsRemoveInstanceCall) Do(opts ...googleapi.CallOption) (*Opera
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36676,6 +59126,7 @@ type TargetPoolsSetBackupCall struct {
targetreference *TargetReference
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// SetBackup: Changes a backup target pool's configurations.
@@ -36712,28 +59163,38 @@ func (c *TargetPoolsSetBackupCall) Context(ctx context.Context) *TargetPoolsSetB
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetPoolsSetBackupCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetPoolsSetBackupCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetreference)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetPools/{targetPool}/setBackup")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetPool": c.targetPool,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetPools.setBackup" call.
@@ -36768,7 +59229,8 @@ func (c *TargetPoolsSetBackupCall) Do(opts ...googleapi.CallOption) (*Operation,
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36791,7 +59253,7 @@ func (c *TargetPoolsSetBackupCall) Do(opts ...googleapi.CallOption) (*Operation,
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -36825,6 +59287,2088 @@ func (c *TargetPoolsSetBackupCall) Do(opts ...googleapi.CallOption) (*Operation,
}
+// method id "compute.targetSslProxies.delete":
+
+type TargetSslProxiesDeleteCall struct {
+ s *Service
+ project string
+ targetSslProxy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified TargetSslProxy resource.
+func (r *TargetSslProxiesService) Delete(project string, targetSslProxy string) *TargetSslProxiesDeleteCall {
+ c := &TargetSslProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetSslProxy = targetSslProxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesDeleteCall) Fields(s ...googleapi.Field) *TargetSslProxiesDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesDeleteCall) Context(ctx context.Context) *TargetSslProxiesDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetSslProxy": c.targetSslProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetSslProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified TargetSslProxy resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.targetSslProxies.delete",
+ // "parameterOrder": [
+ // "project",
+ // "targetSslProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetSslProxy": {
+ // "description": "Name of the TargetSslProxy resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies/{targetSslProxy}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetSslProxies.get":
+
+type TargetSslProxiesGetCall struct {
+ s *Service
+ project string
+ targetSslProxy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified TargetSslProxy resource. Get a list of
+// available target SSL proxies by making a list() request.
+func (r *TargetSslProxiesService) Get(project string, targetSslProxy string) *TargetSslProxiesGetCall {
+ c := &TargetSslProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetSslProxy = targetSslProxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesGetCall) Fields(s ...googleapi.Field) *TargetSslProxiesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *TargetSslProxiesGetCall) IfNoneMatch(entityTag string) *TargetSslProxiesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesGetCall) Context(ctx context.Context) *TargetSslProxiesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetSslProxy": c.targetSslProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.get" call.
+// Exactly one of *TargetSslProxy or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *TargetSslProxy.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *TargetSslProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetSslProxy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &TargetSslProxy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified TargetSslProxy resource. Get a list of available target SSL proxies by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.targetSslProxies.get",
+ // "parameterOrder": [
+ // "project",
+ // "targetSslProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetSslProxy": {
+ // "description": "Name of the TargetSslProxy resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies/{targetSslProxy}",
+ // "response": {
+ // "$ref": "TargetSslProxy"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetSslProxies.insert":
+
+type TargetSslProxiesInsertCall struct {
+ s *Service
+ project string
+ targetsslproxy *TargetSslProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a TargetSslProxy resource in the specified project
+// using the data included in the request.
+func (r *TargetSslProxiesService) Insert(project string, targetsslproxy *TargetSslProxy) *TargetSslProxiesInsertCall {
+ c := &TargetSslProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetsslproxy = targetsslproxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesInsertCall) Fields(s ...googleapi.Field) *TargetSslProxiesInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesInsertCall) Context(ctx context.Context) *TargetSslProxiesInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetsslproxy)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetSslProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetSslProxies.insert",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies",
+ // "request": {
+ // "$ref": "TargetSslProxy"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetSslProxies.list":
+
+type TargetSslProxiesListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of TargetSslProxy resources available to the
+// specified project.
+func (r *TargetSslProxiesService) List(project string) *TargetSslProxiesListCall {
+ c := &TargetSslProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *TargetSslProxiesListCall) Filter(filter string) *TargetSslProxiesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *TargetSslProxiesListCall) MaxResults(maxResults int64) *TargetSslProxiesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetSslProxiesListCall) OrderBy(orderBy string) *TargetSslProxiesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *TargetSslProxiesListCall) PageToken(pageToken string) *TargetSslProxiesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesListCall) Fields(s ...googleapi.Field) *TargetSslProxiesListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *TargetSslProxiesListCall) IfNoneMatch(entityTag string) *TargetSslProxiesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesListCall) Context(ctx context.Context) *TargetSslProxiesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.list" call.
+// Exactly one of *TargetSslProxyList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *TargetSslProxyList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *TargetSslProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetSslProxyList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &TargetSslProxyList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of TargetSslProxy resources available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.targetSslProxies.list",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies",
+ // "response": {
+ // "$ref": "TargetSslProxyList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *TargetSslProxiesListCall) Pages(ctx context.Context, f func(*TargetSslProxyList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.targetSslProxies.setBackendService":
+
+type TargetSslProxiesSetBackendServiceCall struct {
+ s *Service
+ project string
+ targetSslProxy string
+ targetsslproxiessetbackendservicerequest *TargetSslProxiesSetBackendServiceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetBackendService: Changes the BackendService for TargetSslProxy.
+func (r *TargetSslProxiesService) SetBackendService(project string, targetSslProxy string, targetsslproxiessetbackendservicerequest *TargetSslProxiesSetBackendServiceRequest) *TargetSslProxiesSetBackendServiceCall {
+ c := &TargetSslProxiesSetBackendServiceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetSslProxy = targetSslProxy
+ c.targetsslproxiessetbackendservicerequest = targetsslproxiessetbackendservicerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesSetBackendServiceCall) Fields(s ...googleapi.Field) *TargetSslProxiesSetBackendServiceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesSetBackendServiceCall) Context(ctx context.Context) *TargetSslProxiesSetBackendServiceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesSetBackendServiceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetsslproxiessetbackendservicerequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}/setBackendService")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetSslProxy": c.targetSslProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.setBackendService" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetSslProxiesSetBackendServiceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the BackendService for TargetSslProxy.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetSslProxies.setBackendService",
+ // "parameterOrder": [
+ // "project",
+ // "targetSslProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetSslProxy": {
+ // "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies/{targetSslProxy}/setBackendService",
+ // "request": {
+ // "$ref": "TargetSslProxiesSetBackendServiceRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetSslProxies.setProxyHeader":
+
+type TargetSslProxiesSetProxyHeaderCall struct {
+ s *Service
+ project string
+ targetSslProxy string
+ targetsslproxiessetproxyheaderrequest *TargetSslProxiesSetProxyHeaderRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetProxyHeader: Changes the ProxyHeaderType for TargetSslProxy.
+func (r *TargetSslProxiesService) SetProxyHeader(project string, targetSslProxy string, targetsslproxiessetproxyheaderrequest *TargetSslProxiesSetProxyHeaderRequest) *TargetSslProxiesSetProxyHeaderCall {
+ c := &TargetSslProxiesSetProxyHeaderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetSslProxy = targetSslProxy
+ c.targetsslproxiessetproxyheaderrequest = targetsslproxiessetproxyheaderrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesSetProxyHeaderCall) Fields(s ...googleapi.Field) *TargetSslProxiesSetProxyHeaderCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesSetProxyHeaderCall) Context(ctx context.Context) *TargetSslProxiesSetProxyHeaderCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesSetProxyHeaderCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetsslproxiessetproxyheaderrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetSslProxy": c.targetSslProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.setProxyHeader" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetSslProxiesSetProxyHeaderCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the ProxyHeaderType for TargetSslProxy.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetSslProxies.setProxyHeader",
+ // "parameterOrder": [
+ // "project",
+ // "targetSslProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetSslProxy": {
+ // "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader",
+ // "request": {
+ // "$ref": "TargetSslProxiesSetProxyHeaderRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetSslProxies.setSslCertificates":
+
+type TargetSslProxiesSetSslCertificatesCall struct {
+ s *Service
+ project string
+ targetSslProxy string
+ targetsslproxiessetsslcertificatesrequest *TargetSslProxiesSetSslCertificatesRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetSslCertificates: Changes SslCertificates for TargetSslProxy.
+func (r *TargetSslProxiesService) SetSslCertificates(project string, targetSslProxy string, targetsslproxiessetsslcertificatesrequest *TargetSslProxiesSetSslCertificatesRequest) *TargetSslProxiesSetSslCertificatesCall {
+ c := &TargetSslProxiesSetSslCertificatesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetSslProxy = targetSslProxy
+ c.targetsslproxiessetsslcertificatesrequest = targetsslproxiessetsslcertificatesrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetSslProxiesSetSslCertificatesCall) Fields(s ...googleapi.Field) *TargetSslProxiesSetSslCertificatesCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetSslProxiesSetSslCertificatesCall) Context(ctx context.Context) *TargetSslProxiesSetSslCertificatesCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetSslProxiesSetSslCertificatesCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetSslProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetsslproxiessetsslcertificatesrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetSslProxy": c.targetSslProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetSslProxies.setSslCertificates" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetSslProxiesSetSslCertificatesCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes SslCertificates for TargetSslProxy.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetSslProxies.setSslCertificates",
+ // "parameterOrder": [
+ // "project",
+ // "targetSslProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetSslProxy": {
+ // "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates",
+ // "request": {
+ // "$ref": "TargetSslProxiesSetSslCertificatesRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetTcpProxies.delete":
+
+type TargetTcpProxiesDeleteCall struct {
+ s *Service
+ project string
+ targetTcpProxy string
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Delete: Deletes the specified TargetTcpProxy resource.
+func (r *TargetTcpProxiesService) Delete(project string, targetTcpProxy string) *TargetTcpProxiesDeleteCall {
+ c := &TargetTcpProxiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetTcpProxy = targetTcpProxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesDeleteCall) Fields(s ...googleapi.Field) *TargetTcpProxiesDeleteCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesDeleteCall) Context(ctx context.Context) *TargetTcpProxiesDeleteCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies/{targetTcpProxy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetTcpProxy": c.targetTcpProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.delete" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetTcpProxiesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Deletes the specified TargetTcpProxy resource.",
+ // "httpMethod": "DELETE",
+ // "id": "compute.targetTcpProxies.delete",
+ // "parameterOrder": [
+ // "project",
+ // "targetTcpProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetTcpProxy": {
+ // "description": "Name of the TargetTcpProxy resource to delete.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies/{targetTcpProxy}",
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetTcpProxies.get":
+
+type TargetTcpProxiesGetCall struct {
+ s *Service
+ project string
+ targetTcpProxy string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Get: Returns the specified TargetTcpProxy resource. Get a list of
+// available target TCP proxies by making a list() request.
+func (r *TargetTcpProxiesService) Get(project string, targetTcpProxy string) *TargetTcpProxiesGetCall {
+ c := &TargetTcpProxiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetTcpProxy = targetTcpProxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesGetCall) Fields(s ...googleapi.Field) *TargetTcpProxiesGetCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *TargetTcpProxiesGetCall) IfNoneMatch(entityTag string) *TargetTcpProxiesGetCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesGetCall) Context(ctx context.Context) *TargetTcpProxiesGetCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies/{targetTcpProxy}")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetTcpProxy": c.targetTcpProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.get" call.
+// Exactly one of *TargetTcpProxy or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *TargetTcpProxy.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *TargetTcpProxiesGetCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxy, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &TargetTcpProxy{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Returns the specified TargetTcpProxy resource. Get a list of available target TCP proxies by making a list() request.",
+ // "httpMethod": "GET",
+ // "id": "compute.targetTcpProxies.get",
+ // "parameterOrder": [
+ // "project",
+ // "targetTcpProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetTcpProxy": {
+ // "description": "Name of the TargetTcpProxy resource to return.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies/{targetTcpProxy}",
+ // "response": {
+ // "$ref": "TargetTcpProxy"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetTcpProxies.insert":
+
+type TargetTcpProxiesInsertCall struct {
+ s *Service
+ project string
+ targettcpproxy *TargetTcpProxy
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// Insert: Creates a TargetTcpProxy resource in the specified project
+// using the data included in the request.
+func (r *TargetTcpProxiesService) Insert(project string, targettcpproxy *TargetTcpProxy) *TargetTcpProxiesInsertCall {
+ c := &TargetTcpProxiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targettcpproxy = targettcpproxy
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesInsertCall) Fields(s ...googleapi.Field) *TargetTcpProxiesInsertCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesInsertCall) Context(ctx context.Context) *TargetTcpProxiesInsertCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targettcpproxy)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.insert" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetTcpProxiesInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetTcpProxies.insert",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies",
+ // "request": {
+ // "$ref": "TargetTcpProxy"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetTcpProxies.list":
+
+type TargetTcpProxiesListCall struct {
+ s *Service
+ project string
+ urlParams_ gensupport.URLParams
+ ifNoneMatch_ string
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// List: Retrieves the list of TargetTcpProxy resources available to the
+// specified project.
+func (r *TargetTcpProxiesService) List(project string) *TargetTcpProxiesListCall {
+ c := &TargetTcpProxiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ return c
+}
+
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
+//
+// The field_name is the name of the field you want to compare. Only
+// atomic field types are supported (string, number, boolean). The
+// comparison_string must be either eq (equals) or ne (not equals). The
+// literal_string is the string value to filter to. The literal value
+// must be valid for the type of field you are filtering by (string,
+// number, boolean). For string fields, the literal value is interpreted
+// as a regular expression using RE2 syntax. The literal value must
+// match the entire field.
+//
+// For example, to filter for instances that do not have a name of
+// example-instance, you would use name ne example-instance.
+//
+// You can filter on nested fields. For example, you could filter on
+// instances that have set the scheduling.automaticRestart field to
+// true. Use filtering on nested fields to take advantage of labels to
+// organize and search for results based on label values.
+//
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
+func (c *TargetTcpProxiesListCall) Filter(filter string) *TargetTcpProxiesListCall {
+ c.urlParams_.Set("filter", filter)
+ return c
+}
+
+// MaxResults sets the optional parameter "maxResults": The maximum
+// number of results per page that should be returned. If the number of
+// available results is larger than maxResults, Compute Engine returns a
+// nextPageToken that can be used to get the next page of results in
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
+func (c *TargetTcpProxiesListCall) MaxResults(maxResults int64) *TargetTcpProxiesListCall {
+ c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
+ return c
+}
+
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetTcpProxiesListCall) OrderBy(orderBy string) *TargetTcpProxiesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
+// PageToken sets the optional parameter "pageToken": Specifies a page
+// token to use. Set pageToken to the nextPageToken returned by a
+// previous list request to get the next page of results.
+func (c *TargetTcpProxiesListCall) PageToken(pageToken string) *TargetTcpProxiesListCall {
+ c.urlParams_.Set("pageToken", pageToken)
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesListCall) Fields(s ...googleapi.Field) *TargetTcpProxiesListCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *TargetTcpProxiesListCall) IfNoneMatch(entityTag string) *TargetTcpProxiesListCall {
+ c.ifNoneMatch_ = entityTag
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesListCall) Context(ctx context.Context) *TargetTcpProxiesListCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
+ var body io.Reader = nil
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.list" call.
+// Exactly one of *TargetTcpProxyList or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *TargetTcpProxyList.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *TargetTcpProxiesListCall) Do(opts ...googleapi.CallOption) (*TargetTcpProxyList, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &TargetTcpProxyList{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Retrieves the list of TargetTcpProxy resources available to the specified project.",
+ // "httpMethod": "GET",
+ // "id": "compute.targetTcpProxies.list",
+ // "parameterOrder": [
+ // "project"
+ // ],
+ // "parameters": {
+ // "filter": {
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "maxResults": {
+ // "default": "500",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+ // "format": "uint32",
+ // "location": "query",
+ // "minimum": "0",
+ // "type": "integer"
+ // },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "pageToken": {
+ // "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
+ // "location": "query",
+ // "type": "string"
+ // },
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies",
+ // "response": {
+ // "$ref": "TargetTcpProxyList"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
+ // ]
+ // }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *TargetTcpProxiesListCall) Pages(ctx context.Context, f func(*TargetTcpProxyList) error) error {
+ c.ctx_ = ctx
+ defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+ for {
+ x, err := c.Do()
+ if err != nil {
+ return err
+ }
+ if err := f(x); err != nil {
+ return err
+ }
+ if x.NextPageToken == "" {
+ return nil
+ }
+ c.PageToken(x.NextPageToken)
+ }
+}
+
+// method id "compute.targetTcpProxies.setBackendService":
+
+type TargetTcpProxiesSetBackendServiceCall struct {
+ s *Service
+ project string
+ targetTcpProxy string
+ targettcpproxiessetbackendservicerequest *TargetTcpProxiesSetBackendServiceRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetBackendService: Changes the BackendService for TargetTcpProxy.
+func (r *TargetTcpProxiesService) SetBackendService(project string, targetTcpProxy string, targettcpproxiessetbackendservicerequest *TargetTcpProxiesSetBackendServiceRequest) *TargetTcpProxiesSetBackendServiceCall {
+ c := &TargetTcpProxiesSetBackendServiceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetTcpProxy = targetTcpProxy
+ c.targettcpproxiessetbackendservicerequest = targettcpproxiessetbackendservicerequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesSetBackendServiceCall) Fields(s ...googleapi.Field) *TargetTcpProxiesSetBackendServiceCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesSetBackendServiceCall) Context(ctx context.Context) *TargetTcpProxiesSetBackendServiceCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesSetBackendServiceCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targettcpproxiessetbackendservicerequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetTcpProxy": c.targetTcpProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.setBackendService" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetTcpProxiesSetBackendServiceCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the BackendService for TargetTcpProxy.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetTcpProxies.setBackendService",
+ // "parameterOrder": [
+ // "project",
+ // "targetTcpProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetTcpProxy": {
+ // "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService",
+ // "request": {
+ // "$ref": "TargetTcpProxiesSetBackendServiceRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
+// method id "compute.targetTcpProxies.setProxyHeader":
+
+type TargetTcpProxiesSetProxyHeaderCall struct {
+ s *Service
+ project string
+ targetTcpProxy string
+ targettcpproxiessetproxyheaderrequest *TargetTcpProxiesSetProxyHeaderRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SetProxyHeader: Changes the ProxyHeaderType for TargetTcpProxy.
+func (r *TargetTcpProxiesService) SetProxyHeader(project string, targetTcpProxy string, targettcpproxiessetproxyheaderrequest *TargetTcpProxiesSetProxyHeaderRequest) *TargetTcpProxiesSetProxyHeaderCall {
+ c := &TargetTcpProxiesSetProxyHeaderCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.targetTcpProxy = targetTcpProxy
+ c.targettcpproxiessetproxyheaderrequest = targettcpproxiessetproxyheaderrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *TargetTcpProxiesSetProxyHeaderCall) Fields(s ...googleapi.Field) *TargetTcpProxiesSetProxyHeaderCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *TargetTcpProxiesSetProxyHeaderCall) Context(ctx context.Context) *TargetTcpProxiesSetProxyHeaderCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetTcpProxiesSetProxyHeaderCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *TargetTcpProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.targettcpproxiessetproxyheaderrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "targetTcpProxy": c.targetTcpProxy,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.targetTcpProxies.setProxyHeader" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *TargetTcpProxiesSetProxyHeaderCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Changes the ProxyHeaderType for TargetTcpProxy.",
+ // "httpMethod": "POST",
+ // "id": "compute.targetTcpProxies.setProxyHeader",
+ // "parameterOrder": [
+ // "project",
+ // "targetTcpProxy"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "targetTcpProxy": {
+ // "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader",
+ // "request": {
+ // "$ref": "TargetTcpProxiesSetProxyHeaderRequest"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.targetVpnGateways.aggregatedList":
type TargetVpnGatewaysAggregatedListCall struct {
@@ -36833,6 +61377,7 @@ type TargetVpnGatewaysAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of target VPN gateways.
@@ -36842,10 +61387,9 @@ func (r *TargetVpnGatewaysService) AggregatedList(project string) *TargetVpnGate
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -36857,20 +61401,18 @@ func (r *TargetVpnGatewaysService) AggregatedList(project string) *TargetVpnGate
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetVpnGatewaysAggregatedListCall) Filter(filter string) *TargetVpnGatewaysAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -36880,12 +61422,30 @@ func (c *TargetVpnGatewaysAggregatedListCall) Filter(filter string) *TargetVpnGa
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetVpnGatewaysAggregatedListCall) MaxResults(maxResults int64) *TargetVpnGatewaysAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetVpnGatewaysAggregatedListCall) OrderBy(orderBy string) *TargetVpnGatewaysAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -36920,23 +61480,34 @@ func (c *TargetVpnGatewaysAggregatedListCall) Context(ctx context.Context) *Targ
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetVpnGatewaysAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/targetVpnGateways")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetVpnGateways.aggregatedList" call.
@@ -36971,7 +61542,8 @@ func (c *TargetVpnGatewaysAggregatedListCall) Do(opts ...googleapi.CallOption) (
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -36984,19 +61556,23 @@ func (c *TargetVpnGatewaysAggregatedListCall) Do(opts ...googleapi.CallOption) (
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -37005,7 +61581,7 @@ func (c *TargetVpnGatewaysAggregatedListCall) Do(opts ...googleapi.CallOption) (
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -37053,6 +61629,7 @@ type TargetVpnGatewaysDeleteCall struct {
targetVpnGateway string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified target VPN gateway.
@@ -37080,22 +61657,33 @@ func (c *TargetVpnGatewaysDeleteCall) Context(ctx context.Context) *TargetVpnGat
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetVpnGatewaysDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetVpnGateway": c.targetVpnGateway,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetVpnGateways.delete" call.
@@ -37130,7 +61718,8 @@ func (c *TargetVpnGatewaysDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37147,7 +61736,7 @@ func (c *TargetVpnGatewaysDeleteCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37188,6 +61777,7 @@ type TargetVpnGatewaysGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified target VPN gateway. Get a list of
@@ -37226,25 +61816,36 @@ func (c *TargetVpnGatewaysGetCall) Context(ctx context.Context) *TargetVpnGatewa
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetVpnGatewaysGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"targetVpnGateway": c.targetVpnGateway,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetVpnGateways.get" call.
@@ -37279,7 +61880,8 @@ func (c *TargetVpnGatewaysGetCall) Do(opts ...googleapi.CallOption) (*TargetVpnG
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37296,7 +61898,7 @@ func (c *TargetVpnGatewaysGetCall) Do(opts ...googleapi.CallOption) (*TargetVpnG
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37337,6 +61939,7 @@ type TargetVpnGatewaysInsertCall struct {
targetvpngateway *TargetVpnGateway
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a target VPN gateway in the specified project and
@@ -37365,27 +61968,37 @@ func (c *TargetVpnGatewaysInsertCall) Context(ctx context.Context) *TargetVpnGat
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetVpnGatewaysInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetvpngateway)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetVpnGateways.insert" call.
@@ -37420,7 +62033,8 @@ func (c *TargetVpnGatewaysInsertCall) Do(opts ...googleapi.CallOption) (*Operati
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37436,7 +62050,7 @@ func (c *TargetVpnGatewaysInsertCall) Do(opts ...googleapi.CallOption) (*Operati
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37472,6 +62086,7 @@ type TargetVpnGatewaysListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of target VPN gateways available to the
@@ -37483,10 +62098,9 @@ func (r *TargetVpnGatewaysService) List(project string, region string) *TargetVp
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -37498,20 +62112,18 @@ func (r *TargetVpnGatewaysService) List(project string, region string) *TargetVp
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *TargetVpnGatewaysListCall) Filter(filter string) *TargetVpnGatewaysListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -37521,12 +62133,30 @@ func (c *TargetVpnGatewaysListCall) Filter(filter string) *TargetVpnGatewaysList
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *TargetVpnGatewaysListCall) MaxResults(maxResults int64) *TargetVpnGatewaysListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *TargetVpnGatewaysListCall) OrderBy(orderBy string) *TargetVpnGatewaysListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -37561,24 +62191,35 @@ func (c *TargetVpnGatewaysListCall) Context(ctx context.Context) *TargetVpnGatew
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *TargetVpnGatewaysListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/targetVpnGateways")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.targetVpnGateways.list" call.
@@ -37613,7 +62254,8 @@ func (c *TargetVpnGatewaysListCall) Do(opts ...googleapi.CallOption) (*TargetVpn
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37627,19 +62269,23 @@ func (c *TargetVpnGatewaysListCall) Do(opts ...googleapi.CallOption) (*TargetVpn
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -37648,7 +62294,7 @@ func (c *TargetVpnGatewaysListCall) Do(opts ...googleapi.CallOption) (*TargetVpn
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37702,6 +62348,7 @@ type UrlMapsDeleteCall struct {
urlMap string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified UrlMap resource.
@@ -37729,21 +62376,32 @@ func (c *UrlMapsDeleteCall) Context(ctx context.Context) *UrlMapsDeleteCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"urlMap": c.urlMap,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.delete" call.
@@ -37778,7 +62436,8 @@ func (c *UrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37794,7 +62453,7 @@ func (c *UrlMapsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37827,6 +62486,7 @@ type UrlMapsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified UrlMap resource. Get a list of available
@@ -37865,24 +62525,35 @@ func (c *UrlMapsGetCall) Context(ctx context.Context) *UrlMapsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"urlMap": c.urlMap,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.get" call.
@@ -37917,7 +62588,8 @@ func (c *UrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -37933,7 +62605,7 @@ func (c *UrlMapsGetCall) Do(opts ...googleapi.CallOption) (*UrlMap, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -37966,6 +62638,7 @@ type UrlMapsInsertCall struct {
urlmap *UrlMap
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a UrlMap resource in the specified project using the
@@ -37994,26 +62667,36 @@ func (c *UrlMapsInsertCall) Context(ctx context.Context) *UrlMapsInsertCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmap)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.insert" call.
@@ -38048,7 +62731,8 @@ func (c *UrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -38063,7 +62747,7 @@ func (c *UrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -38083,6 +62767,153 @@ func (c *UrlMapsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, error)
}
+// method id "compute.urlMaps.invalidateCache":
+
+type UrlMapsInvalidateCacheCall struct {
+ s *Service
+ project string
+ urlMap string
+ cacheinvalidationrule *CacheInvalidationRule
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// InvalidateCache: Initiates a cache invalidation operation,
+// invalidating the specified path, scoped to the specified UrlMap.
+func (r *UrlMapsService) InvalidateCache(project string, urlMap string, cacheinvalidationrule *CacheInvalidationRule) *UrlMapsInvalidateCacheCall {
+ c := &UrlMapsInvalidateCacheCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.project = project
+ c.urlMap = urlMap
+ c.cacheinvalidationrule = cacheinvalidationrule
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *UrlMapsInvalidateCacheCall) Fields(s ...googleapi.Field) *UrlMapsInvalidateCacheCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *UrlMapsInvalidateCacheCall) Context(ctx context.Context) *UrlMapsInvalidateCacheCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsInvalidateCacheCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *UrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.cacheinvalidationrule)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}/invalidateCache")
+ urls += "?" + c.urlParams_.Encode()
+ req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "project": c.project,
+ "urlMap": c.urlMap,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "compute.urlMaps.invalidateCache" call.
+// Exactly one of *Operation or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *Operation.ServerResponse.Header or (if a response was returned at
+// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
+// to check whether the returned error was because
+// http.StatusNotModified was returned.
+func (c *UrlMapsInvalidateCacheCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &Operation{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap.",
+ // "httpMethod": "POST",
+ // "id": "compute.urlMaps.invalidateCache",
+ // "parameterOrder": [
+ // "project",
+ // "urlMap"
+ // ],
+ // "parameters": {
+ // "project": {
+ // "description": "Project ID for this request.",
+ // "location": "path",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "required": true,
+ // "type": "string"
+ // },
+ // "urlMap": {
+ // "description": "Name of the UrlMap scoping this request.",
+ // "location": "path",
+ // "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "{project}/global/urlMaps/{urlMap}/invalidateCache",
+ // "request": {
+ // "$ref": "CacheInvalidationRule"
+ // },
+ // "response": {
+ // "$ref": "Operation"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform",
+ // "https://www.googleapis.com/auth/compute"
+ // ]
+ // }
+
+}
+
// method id "compute.urlMaps.list":
type UrlMapsListCall struct {
@@ -38091,6 +62922,7 @@ type UrlMapsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of UrlMap resources available to the
@@ -38102,10 +62934,9 @@ func (r *UrlMapsService) List(project string) *UrlMapsListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -38117,20 +62948,18 @@ func (r *UrlMapsService) List(project string) *UrlMapsListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *UrlMapsListCall) Filter(filter string) *UrlMapsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -38140,12 +62969,30 @@ func (c *UrlMapsListCall) Filter(filter string) *UrlMapsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *UrlMapsListCall) MaxResults(maxResults int64) *UrlMapsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *UrlMapsListCall) OrderBy(orderBy string) *UrlMapsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -38180,23 +63027,34 @@ func (c *UrlMapsListCall) Context(ctx context.Context) *UrlMapsListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.list" call.
@@ -38231,7 +63089,8 @@ func (c *UrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -38244,19 +63103,23 @@ func (c *UrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, error)
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -38265,7 +63128,7 @@ func (c *UrlMapsListCall) Do(opts ...googleapi.CallOption) (*UrlMapList, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -38313,10 +63176,12 @@ type UrlMapsPatchCall struct {
urlmap *UrlMap
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Patch: Updates the entire content of the UrlMap resource. This method
-// supports patch semantics.
+// Patch: Patches the specified UrlMap resource with the data included
+// in the request. This method supports PATCH semantics and uses the
+// JSON merge patch format and processing rules.
// For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/patch
func (r *UrlMapsService) Patch(project string, urlMap string, urlmap *UrlMap) *UrlMapsPatchCall {
c := &UrlMapsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -38342,27 +63207,37 @@ func (c *UrlMapsPatchCall) Context(ctx context.Context) *UrlMapsPatchCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsPatchCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmap)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PATCH", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"urlMap": c.urlMap,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.patch" call.
@@ -38397,12 +63272,13 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the entire content of the UrlMap resource. This method supports patch semantics.",
+ // "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.",
// "httpMethod": "PATCH",
// "id": "compute.urlMaps.patch",
// "parameterOrder": [
@@ -38413,12 +63289,12 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
// "urlMap": {
- // "description": "Name of the UrlMap resource to update.",
+ // "description": "Name of the UrlMap resource to patch.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?",
// "required": true,
@@ -38434,7 +63310,8 @@ func (c *UrlMapsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/compute"
+ // "https://www.googleapis.com/auth/compute",
+ // "https://www.googleapis.com/auth/compute.readonly"
// ]
// }
@@ -38449,9 +63326,11 @@ type UrlMapsUpdateCall struct {
urlmap *UrlMap
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
-// Update: Updates the entire content of the UrlMap resource.
+// Update: Updates the specified UrlMap resource with the data included
+// in the request.
// For details, see https://cloud.google.com/compute/docs/reference/latest/urlMaps/update
func (r *UrlMapsService) Update(project string, urlMap string, urlmap *UrlMap) *UrlMapsUpdateCall {
c := &UrlMapsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -38477,27 +63356,37 @@ func (c *UrlMapsUpdateCall) Context(ctx context.Context) *UrlMapsUpdateCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsUpdateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmap)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("PUT", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"urlMap": c.urlMap,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.update" call.
@@ -38532,12 +63421,13 @@ func (c *UrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
// {
- // "description": "Updates the entire content of the UrlMap resource.",
+ // "description": "Updates the specified UrlMap resource with the data included in the request.",
// "httpMethod": "PUT",
// "id": "compute.urlMaps.update",
// "parameterOrder": [
@@ -38548,7 +63438,7 @@ func (c *UrlMapsUpdateCall) Do(opts ...googleapi.CallOption) (*Operation, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -38584,6 +63474,7 @@ type UrlMapsValidateCall struct {
urlmapsvalidaterequest *UrlMapsValidateRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Validate: Runs static validation for the UrlMap. In particular, the
@@ -38614,27 +63505,37 @@ func (c *UrlMapsValidateCall) Context(ctx context.Context) *UrlMapsValidateCall
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *UrlMapsValidateCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *UrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.urlmapsvalidaterequest)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/urlMaps/{urlMap}/validate")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"urlMap": c.urlMap,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.urlMaps.validate" call.
@@ -38669,7 +63570,8 @@ func (c *UrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsValidate
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -38685,7 +63587,7 @@ func (c *UrlMapsValidateCall) Do(opts ...googleapi.CallOption) (*UrlMapsValidate
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -38720,6 +63622,7 @@ type VpnTunnelsAggregatedListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// AggregatedList: Retrieves an aggregated list of VPN tunnels.
@@ -38729,10 +63632,9 @@ func (r *VpnTunnelsService) AggregatedList(project string) *VpnTunnelsAggregated
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -38744,20 +63646,18 @@ func (r *VpnTunnelsService) AggregatedList(project string) *VpnTunnelsAggregated
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *VpnTunnelsAggregatedListCall) Filter(filter string) *VpnTunnelsAggregatedListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -38767,12 +63667,30 @@ func (c *VpnTunnelsAggregatedListCall) Filter(filter string) *VpnTunnelsAggregat
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *VpnTunnelsAggregatedListCall) MaxResults(maxResults int64) *VpnTunnelsAggregatedListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *VpnTunnelsAggregatedListCall) OrderBy(orderBy string) *VpnTunnelsAggregatedListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -38807,23 +63725,34 @@ func (c *VpnTunnelsAggregatedListCall) Context(ctx context.Context) *VpnTunnelsA
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *VpnTunnelsAggregatedListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/aggregated/vpnTunnels")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.vpnTunnels.aggregatedList" call.
@@ -38858,7 +63787,8 @@ func (c *VpnTunnelsAggregatedListCall) Do(opts ...googleapi.CallOption) (*VpnTun
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -38871,19 +63801,23 @@ func (c *VpnTunnelsAggregatedListCall) Do(opts ...googleapi.CallOption) (*VpnTun
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -38892,7 +63826,7 @@ func (c *VpnTunnelsAggregatedListCall) Do(opts ...googleapi.CallOption) (*VpnTun
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
@@ -38940,6 +63874,7 @@ type VpnTunnelsDeleteCall struct {
vpnTunnel string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified VpnTunnel resource.
@@ -38967,22 +63902,33 @@ func (c *VpnTunnelsDeleteCall) Context(ctx context.Context) *VpnTunnelsDeleteCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *VpnTunnelsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"vpnTunnel": c.vpnTunnel,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.vpnTunnels.delete" call.
@@ -39017,7 +63963,8 @@ func (c *VpnTunnelsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -39034,7 +63981,7 @@ func (c *VpnTunnelsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39075,6 +64022,7 @@ type VpnTunnelsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified VpnTunnel resource. Get a list of
@@ -39113,25 +64061,36 @@ func (c *VpnTunnelsGetCall) Context(ctx context.Context) *VpnTunnelsGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *VpnTunnelsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels/{vpnTunnel}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
"vpnTunnel": c.vpnTunnel,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.vpnTunnels.get" call.
@@ -39166,7 +64125,8 @@ func (c *VpnTunnelsGetCall) Do(opts ...googleapi.CallOption) (*VpnTunnel, error)
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -39183,7 +64143,7 @@ func (c *VpnTunnelsGetCall) Do(opts ...googleapi.CallOption) (*VpnTunnel, error)
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39224,6 +64184,7 @@ type VpnTunnelsInsertCall struct {
vpntunnel *VpnTunnel
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Insert: Creates a VpnTunnel resource in the specified project and
@@ -39252,27 +64213,37 @@ func (c *VpnTunnelsInsertCall) Context(ctx context.Context) *VpnTunnelsInsertCal
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *VpnTunnelsInsertCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *VpnTunnelsInsertCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.vpntunnel)
if err != nil {
return nil, err
}
- ctype := "application/json"
+ reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("POST", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("Content-Type", ctype)
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.vpnTunnels.insert" call.
@@ -39307,7 +64278,8 @@ func (c *VpnTunnelsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, err
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -39323,7 +64295,7 @@ func (c *VpnTunnelsInsertCall) Do(opts ...googleapi.CallOption) (*Operation, err
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39359,6 +64331,7 @@ type VpnTunnelsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of VpnTunnel resources contained in the
@@ -39370,10 +64343,9 @@ func (r *VpnTunnelsService) List(project string, region string) *VpnTunnelsListC
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -39385,20 +64357,18 @@ func (r *VpnTunnelsService) List(project string, region string) *VpnTunnelsListC
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *VpnTunnelsListCall) Filter(filter string) *VpnTunnelsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -39408,12 +64378,30 @@ func (c *VpnTunnelsListCall) Filter(filter string) *VpnTunnelsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *VpnTunnelsListCall) MaxResults(maxResults int64) *VpnTunnelsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *VpnTunnelsListCall) OrderBy(orderBy string) *VpnTunnelsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -39448,24 +64436,35 @@ func (c *VpnTunnelsListCall) Context(ctx context.Context) *VpnTunnelsListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *VpnTunnelsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/regions/{region}/vpnTunnels")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"region": c.region,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.vpnTunnels.list" call.
@@ -39500,7 +64499,8 @@ func (c *VpnTunnelsListCall) Do(opts ...googleapi.CallOption) (*VpnTunnelList, e
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -39514,19 +64514,23 @@ func (c *VpnTunnelsListCall) Do(opts ...googleapi.CallOption) (*VpnTunnelList, e
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -39535,7 +64539,7 @@ func (c *VpnTunnelsListCall) Do(opts ...googleapi.CallOption) (*VpnTunnelList, e
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39590,6 +64594,7 @@ type ZoneOperationsDeleteCall struct {
operation string
urlParams_ gensupport.URLParams
ctx_ context.Context
+ header_ http.Header
}
// Delete: Deletes the specified zone-specific Operations resource.
@@ -39618,22 +64623,33 @@ func (c *ZoneOperationsDeleteCall) Context(ctx context.Context) *ZoneOperationsD
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ZoneOperationsDeleteCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("DELETE", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.zoneOperations.delete" call.
@@ -39668,7 +64684,7 @@ func (c *ZoneOperationsDeleteCall) Do(opts ...googleapi.CallOption) error {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39699,6 +64715,7 @@ type ZoneOperationsGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Retrieves the specified zone-specific Operations resource.
@@ -39737,25 +64754,36 @@ func (c *ZoneOperationsGetCall) Context(ctx context.Context) *ZoneOperationsGetC
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ZoneOperationsGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations/{operation}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
"operation": c.operation,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.zoneOperations.get" call.
@@ -39790,7 +64818,8 @@ func (c *ZoneOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, er
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -39814,7 +64843,7 @@ func (c *ZoneOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, er
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -39848,6 +64877,7 @@ type ZoneOperationsListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves a list of Operation resources contained within the
@@ -39860,10 +64890,9 @@ func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperation
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -39875,20 +64904,18 @@ func (r *ZoneOperationsService) List(project string, zone string) *ZoneOperation
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -39898,12 +64925,30 @@ func (c *ZoneOperationsListCall) Filter(filter string) *ZoneOperationsListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *ZoneOperationsListCall) MaxResults(maxResults int64) *ZoneOperationsListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *ZoneOperationsListCall) OrderBy(orderBy string) *ZoneOperationsListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -39938,24 +64983,35 @@ func (c *ZoneOperationsListCall) Context(ctx context.Context) *ZoneOperationsLis
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ZoneOperationsListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}/operations")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.zoneOperations.list" call.
@@ -39990,7 +65046,8 @@ func (c *ZoneOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationLis
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -40004,19 +65061,23 @@ func (c *ZoneOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationLis
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -40025,7 +65086,7 @@ func (c *ZoneOperationsListCall) Do(opts ...googleapi.CallOption) (*OperationLis
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -40080,6 +65141,7 @@ type ZonesGetCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// Get: Returns the specified Zone resource. Get a list of available
@@ -40118,24 +65180,35 @@ func (c *ZonesGetCall) Context(ctx context.Context) *ZonesGetCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ZonesGetCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones/{zone}")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"zone": c.zone,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.zones.get" call.
@@ -40170,7 +65243,8 @@ func (c *ZonesGetCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -40186,7 +65260,7 @@ func (c *ZonesGetCall) Do(opts ...googleapi.CallOption) (*Zone, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// },
@@ -40219,6 +65293,7 @@ type ZonesListCall struct {
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
+ header_ http.Header
}
// List: Retrieves the list of Zone resources available to the specified
@@ -40230,10 +65305,9 @@ func (r *ZonesService) List(project string) *ZonesListCall {
return c
}
-// Filter sets the optional parameter "filter": Sets a filter expression
-// for filtering listed resources, in the form filter={expression}. Your
-// {expression} must be in the format: field_name comparison_string
-// literal_string.
+// Filter sets the optional parameter "filter": Sets a filter
+// {expression} for filtering listed resources. Your {expression} must
+// be in the format: field_name comparison_string literal_string.
//
// The field_name is the name of the field you want to compare. Only
// atomic field types are supported (string, number, boolean). The
@@ -40245,20 +65319,18 @@ func (r *ZonesService) List(project string) *ZonesListCall {
// match the entire field.
//
// For example, to filter for instances that do not have a name of
-// example-instance, you would use filter=name ne
-// example-instance.
+// example-instance, you would use name ne example-instance.
//
-// Compute Engine Beta API Only: When filtering in the Beta API, you can
-// also filter on nested fields. For example, you could filter on
+// You can filter on nested fields. For example, you could filter on
// instances that have set the scheduling.automaticRestart field to
// true. Use filtering on nested fields to take advantage of labels to
// organize and search for results based on label values.
//
-// The Beta API also supports filtering on multiple expressions by
-// providing each separate expression within parentheses. For example,
-// (scheduling.automaticRestart eq true) (zone eq us-central1-f).
-// Multiple expressions are treated as AND expressions, meaning that
-// resources must match all expressions to pass the filters.
+// To filter on multiple expressions, provide each separate expression
+// within parentheses. For example, (scheduling.automaticRestart eq
+// true) (zone eq us-central1-f). Multiple expressions are treated as
+// AND expressions, meaning that resources must match all expressions to
+// pass the filters.
func (c *ZonesListCall) Filter(filter string) *ZonesListCall {
c.urlParams_.Set("filter", filter)
return c
@@ -40268,12 +65340,30 @@ func (c *ZonesListCall) Filter(filter string) *ZonesListCall {
// number of results per page that should be returned. If the number of
// available results is larger than maxResults, Compute Engine returns a
// nextPageToken that can be used to get the next page of results in
-// subsequent list requests.
+// subsequent list requests. Acceptable values are 0 to 500, inclusive.
+// (Default: 500)
func (c *ZonesListCall) MaxResults(maxResults int64) *ZonesListCall {
c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
return c
}
+// OrderBy sets the optional parameter "orderBy": Sorts list results by
+// a certain order. By default, results are returned in alphanumerical
+// order based on the resource name.
+//
+// You can also sort results in descending order based on the creation
+// timestamp using orderBy="creationTimestamp desc". This sorts results
+// based on the creationTimestamp field in reverse chronological order
+// (newest result first). Use this to sort resources like operations so
+// that the newest operation is returned first.
+//
+// Currently, only sorting by name or creationTimestamp desc is
+// supported.
+func (c *ZonesListCall) OrderBy(orderBy string) *ZonesListCall {
+ c.urlParams_.Set("orderBy", orderBy)
+ return c
+}
+
// PageToken sets the optional parameter "pageToken": Specifies a page
// token to use. Set pageToken to the nextPageToken returned by a
// previous list request to get the next page of results.
@@ -40308,23 +65398,34 @@ func (c *ZonesListCall) Context(ctx context.Context) *ZonesListCall {
return c
}
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ZonesListCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ if c.ifNoneMatch_ != "" {
+ reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+ }
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/zones")
urls += "?" + c.urlParams_.Encode()
req, _ := http.NewRequest("GET", urls, body)
+ req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
})
- req.Header.Set("User-Agent", c.s.userAgent())
- if c.ifNoneMatch_ != "" {
- req.Header.Set("If-None-Match", c.ifNoneMatch_)
- }
- if c.ctx_ != nil {
- return ctxhttp.Do(c.ctx_, c.s.client, req)
- }
- return c.s.client.Do(req)
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "compute.zones.list" call.
@@ -40359,7 +65460,8 @@ func (c *ZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error) {
HTTPStatusCode: res.StatusCode,
},
}
- if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
+ target := &ret
+ if err := json.NewDecoder(res.Body).Decode(target); err != nil {
return nil, err
}
return ret, nil
@@ -40372,19 +65474,23 @@ func (c *ZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error) {
// ],
// "parameters": {
// "filter": {
- // "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.\n\nCompute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nThe Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
+ // "description": "Sets a filter {expression} for filtering listed resources. Your {expression} must be in the format: field_name comparison_string literal_string.\n\nThe field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, to filter for instances that do not have a name of example-instance, you would use name ne example-instance.\n\nYou can filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.\n\nTo filter on multiple expressions, provide each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.",
// "location": "query",
// "type": "string"
// },
// "maxResults": {
// "default": "500",
- // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.",
+ // "description": "The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
// "format": "uint32",
// "location": "query",
- // "maximum": "500",
// "minimum": "0",
// "type": "integer"
// },
+ // "orderBy": {
+ // "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.",
+ // "location": "query",
+ // "type": "string"
+ // },
// "pageToken": {
// "description": "Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.",
// "location": "query",
@@ -40393,7 +65499,7 @@ func (c *ZonesListCall) Do(opts ...googleapi.CallOption) (*ZoneList, error) {
// "project": {
// "description": "Project ID for this request.",
// "location": "path",
- // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
+ // "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/buffer.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/buffer.go
index 4b8ec142..99210491 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/buffer.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/buffer.go
@@ -11,8 +11,8 @@ import (
"google.golang.org/api/googleapi"
)
-// ResumableBuffer buffers data from an io.Reader to support uploading media in retryable chunks.
-type ResumableBuffer struct {
+// MediaBuffer buffers data from an io.Reader to support uploading media in retryable chunks.
+type MediaBuffer struct {
media io.Reader
chunk []byte // The current chunk which is pending upload. The capacity is the chunk size.
@@ -22,42 +22,42 @@ type ResumableBuffer struct {
off int64
}
-func NewResumableBuffer(media io.Reader, chunkSize int) *ResumableBuffer {
- return &ResumableBuffer{media: media, chunk: make([]byte, 0, chunkSize)}
+func NewMediaBuffer(media io.Reader, chunkSize int) *MediaBuffer {
+ return &MediaBuffer{media: media, chunk: make([]byte, 0, chunkSize)}
}
// Chunk returns the current buffered chunk, the offset in the underlying media
// from which the chunk is drawn, and the size of the chunk.
// Successive calls to Chunk return the same chunk between calls to Next.
-func (rb *ResumableBuffer) Chunk() (chunk io.Reader, off int64, size int, err error) {
+func (mb *MediaBuffer) Chunk() (chunk io.Reader, off int64, size int, err error) {
// There may already be data in chunk if Next has not been called since the previous call to Chunk.
- if rb.err == nil && len(rb.chunk) == 0 {
- rb.err = rb.loadChunk()
+ if mb.err == nil && len(mb.chunk) == 0 {
+ mb.err = mb.loadChunk()
}
- return bytes.NewReader(rb.chunk), rb.off, len(rb.chunk), rb.err
+ return bytes.NewReader(mb.chunk), mb.off, len(mb.chunk), mb.err
}
// loadChunk will read from media into chunk, up to the capacity of chunk.
-func (rb *ResumableBuffer) loadChunk() error {
- bufSize := cap(rb.chunk)
- rb.chunk = rb.chunk[:bufSize]
+func (mb *MediaBuffer) loadChunk() error {
+ bufSize := cap(mb.chunk)
+ mb.chunk = mb.chunk[:bufSize]
read := 0
var err error
for err == nil && read < bufSize {
var n int
- n, err = rb.media.Read(rb.chunk[read:])
+ n, err = mb.media.Read(mb.chunk[read:])
read += n
}
- rb.chunk = rb.chunk[:read]
+ mb.chunk = mb.chunk[:read]
return err
}
// Next advances to the next chunk, which will be returned by the next call to Chunk.
// Calls to Next without a corresponding prior call to Chunk will have no effect.
-func (rb *ResumableBuffer) Next() {
- rb.off += int64(len(rb.chunk))
- rb.chunk = rb.chunk[0:0]
+func (mb *MediaBuffer) Next() {
+ mb.off += int64(len(mb.chunk))
+ mb.chunk = mb.chunk[0:0]
}
type readerTyper struct {
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/header.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/header.go
new file mode 100644
index 00000000..cb5e67c7
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/header.go
@@ -0,0 +1,22 @@
+// 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 gensupport
+
+import (
+ "fmt"
+ "runtime"
+ "strings"
+)
+
+// GoogleClientHeader returns the value to use for the x-goog-api-client
+// header, which is used internally by Google.
+func GoogleClientHeader(generatorVersion, clientElement string) string {
+ elts := []string{"gl-go/" + strings.Replace(runtime.Version(), " ", "_", -1)}
+ if clientElement != "" {
+ elts = append(elts, clientElement)
+ }
+ elts = append(elts, fmt.Sprintf("gdcl/%s", generatorVersion))
+ return strings.Join(elts, " ")
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/json.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/json.go
index dd7bcd2e..c01e3218 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/json.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/json.go
@@ -12,29 +12,43 @@ import (
)
// MarshalJSON returns a JSON encoding of schema containing only selected fields.
-// A field is selected if:
-// * it has a non-empty value, or
-// * its field name is present in forceSendFields, and
-// * it is not a nil pointer or nil interface.
+// A field is selected if any of the following is true:
+// * it has a non-empty value
+// * its field name is present in forceSendFields and it is not a nil pointer or nil interface
+// * its field name is present in nullFields.
// The JSON key for each selected field is taken from the field's json: struct tag.
-func MarshalJSON(schema interface{}, forceSendFields []string) ([]byte, error) {
- if len(forceSendFields) == 0 {
+func MarshalJSON(schema interface{}, forceSendFields, nullFields []string) ([]byte, error) {
+ if len(forceSendFields) == 0 && len(nullFields) == 0 {
return json.Marshal(schema)
}
- mustInclude := make(map[string]struct{})
+ mustInclude := make(map[string]bool)
for _, f := range forceSendFields {
- mustInclude[f] = struct{}{}
+ mustInclude[f] = true
+ }
+ useNull := make(map[string]bool)
+ useNullMaps := make(map[string]map[string]bool)
+ for _, nf := range nullFields {
+ parts := strings.SplitN(nf, ".", 2)
+ field := parts[0]
+ if len(parts) == 1 {
+ useNull[field] = true
+ } else {
+ if useNullMaps[field] == nil {
+ useNullMaps[field] = map[string]bool{}
+ }
+ useNullMaps[field][parts[1]] = true
+ }
}
- dataMap, err := schemaToMap(schema, mustInclude)
+ dataMap, err := schemaToMap(schema, mustInclude, useNull, useNullMaps)
if err != nil {
return nil, err
}
return json.Marshal(dataMap)
}
-func schemaToMap(schema interface{}, mustInclude map[string]struct{}) (map[string]interface{}, error) {
+func schemaToMap(schema interface{}, mustInclude, useNull map[string]bool, useNullMaps map[string]map[string]bool) (map[string]interface{}, error) {
m := make(map[string]interface{})
s := reflect.ValueOf(schema)
st := s.Type()
@@ -54,10 +68,36 @@ func schemaToMap(schema interface{}, mustInclude map[string]struct{}) (map[strin
v := s.Field(i)
f := st.Field(i)
+
+ if useNull[f.Name] {
+ if !isEmptyValue(v) {
+ return nil, fmt.Errorf("field %q in NullFields has non-empty value", f.Name)
+ }
+ m[tag.apiName] = nil
+ continue
+ }
+
if !includeField(v, f, mustInclude) {
continue
}
+ // If map fields are explicitly set to null, use a map[string]interface{}.
+ if f.Type.Kind() == reflect.Map && useNullMaps[f.Name] != nil {
+ ms, ok := v.Interface().(map[string]string)
+ if !ok {
+ return nil, fmt.Errorf("field %q has keys in NullFields but is not a map[string]string", f.Name)
+ }
+ mi := map[string]interface{}{}
+ for k, v := range ms {
+ mi[k] = v
+ }
+ for k := range useNullMaps[f.Name] {
+ mi[k] = nil
+ }
+ m[tag.apiName] = mi
+ continue
+ }
+
// nil maps are treated as empty maps.
if f.Type.Kind() == reflect.Map && v.IsNil() {
m[tag.apiName] = map[string]string{}
@@ -127,7 +167,7 @@ func parseJSONTag(val string) (jsonTag, error) {
}
// Reports whether the struct field "f" with value "v" should be included in JSON output.
-func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string]struct{}) bool {
+func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string]bool) bool {
// The regular JSON encoding of a nil pointer is "null", which means "delete this field".
// Therefore, we could enable field deletion by honoring pointer fields' presence in the mustInclude set.
// However, many fields are not pointers, so there would be no way to delete these fields.
@@ -144,8 +184,7 @@ func includeField(v reflect.Value, f reflect.StructField, mustInclude map[string
return false
}
- _, ok := mustInclude[f.Name]
- return ok || !isEmptyValue(v)
+ return mustInclude[f.Name] || !isEmptyValue(v)
}
// isEmptyValue reports whether v is the empty value for its type. This
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/jsonfloat.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/jsonfloat.go
new file mode 100644
index 00000000..cb02335d
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/jsonfloat.go
@@ -0,0 +1,57 @@
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// 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 gensupport
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "math"
+)
+
+// JSONFloat64 is a float64 that supports proper unmarshaling of special float
+// values in JSON, according to
+// https://developers.google.com/protocol-buffers/docs/proto3#json. Although
+// that is a proto-to-JSON spec, it applies to all Google APIs.
+//
+// The jsonpb package
+// (https://github.com/golang/protobuf/blob/master/jsonpb/jsonpb.go) has
+// similar functionality, but only for direct translation from proto messages
+// to JSON.
+type JSONFloat64 float64
+
+func (f *JSONFloat64) UnmarshalJSON(data []byte) error {
+ var ff float64
+ if err := json.Unmarshal(data, &ff); err == nil {
+ *f = JSONFloat64(ff)
+ return nil
+ }
+ var s string
+ if err := json.Unmarshal(data, &s); err == nil {
+ switch s {
+ case "NaN":
+ ff = math.NaN()
+ case "Infinity":
+ ff = math.Inf(1)
+ case "-Infinity":
+ ff = math.Inf(-1)
+ default:
+ return fmt.Errorf("google.golang.org/api/internal: bad float string %q", s)
+ }
+ *f = JSONFloat64(ff)
+ return nil
+ }
+ return errors.New("google.golang.org/api/internal: data not float or string")
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/media.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/media.go
index 817f46f5..c6410e89 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/media.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/media.go
@@ -176,25 +176,24 @@ func typeHeader(contentType string) textproto.MIMEHeader {
// chunkSize is the size of the chunk that media should be split into.
// If chunkSize is non-zero and the contents of media do not fit in a single
// chunk (or there is an error reading media), then media will be returned as a
-// ResumableBuffer. Otherwise, media will be returned as a Reader.
+// MediaBuffer. Otherwise, media will be returned as a Reader.
//
// After PrepareUpload has been called, media should no longer be used: the
// media content should be accessed via one of the return values.
-func PrepareUpload(media io.Reader, chunkSize int) (io.Reader,
- *ResumableBuffer) {
+func PrepareUpload(media io.Reader, chunkSize int) (io.Reader, *MediaBuffer) {
if chunkSize == 0 { // do not chunk
return media, nil
}
- rb := NewResumableBuffer(media, chunkSize)
- rdr, _, _, err := rb.Chunk()
+ mb := NewMediaBuffer(media, chunkSize)
+ rdr, _, _, err := mb.Chunk()
if err == io.EOF { // we can upload this in a single request
return rdr, nil
}
- // err might be a non-EOF error. If it is, the next call to rb.Chunk will
- // return the same error. Returning a ResumableBuffer ensures that this error
+ // err might be a non-EOF error. If it is, the next call to mb.Chunk will
+ // return the same error. Returning a MediaBuffer ensures that this error
// will be handled at some point.
- return nil, rb
+ return nil, mb
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/resumable.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/resumable.go
index b3e774aa..dcd591f7 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/resumable.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/resumable.go
@@ -5,6 +5,7 @@
package gensupport
import (
+ "errors"
"fmt"
"io"
"net/http"
@@ -12,14 +13,9 @@ import (
"time"
"golang.org/x/net/context"
- "golang.org/x/net/context/ctxhttp"
)
const (
- // statusResumeIncomplete is the code returned by the Google uploader
- // when the transfer is not yet complete.
- statusResumeIncomplete = 308
-
// statusTooManyRequests is returned by the storage API if the
// per-project limits have been temporarily exceeded. The request
// should be retried.
@@ -35,7 +31,7 @@ type ResumableUpload struct {
URI string
UserAgent string // User-Agent for header of the request
// Media is the object being uploaded.
- Media *ResumableBuffer
+ Media *MediaBuffer
// MediaType defines the media type, e.g. "image/jpeg".
MediaType string
@@ -80,8 +76,23 @@ func (rx *ResumableUpload) doUploadRequest(ctx context.Context, data io.Reader,
req.Header.Set("Content-Range", contentRange)
req.Header.Set("Content-Type", rx.MediaType)
req.Header.Set("User-Agent", rx.UserAgent)
- return ctxhttp.Do(ctx, rx.Client, req)
+ // Google's upload endpoint uses status code 308 for a
+ // different purpose than the "308 Permanent Redirect"
+ // since-standardized in RFC 7238. Because of the conflict in
+ // semantics, Google added this new request header which
+ // causes it to not use "308" and instead reply with 200 OK
+ // and sets the upload-specific "X-HTTP-Status-Code-Override:
+ // 308" response header.
+ req.Header.Set("X-GUploader-No-308", "yes")
+
+ return SendRequest(ctx, rx.Client, req)
+}
+
+func statusResumeIncomplete(resp *http.Response) bool {
+ // This is how the server signals "status resume incomplete"
+ // when X-GUploader-No-308 is set to "yes":
+ return resp != nil && resp.Header.Get("X-Http-Status-Code-Override") == "308"
}
// reportProgress calls a user-supplied callback to report upload progress.
@@ -112,11 +123,17 @@ func (rx *ResumableUpload) transferChunk(ctx context.Context) (*http.Response, e
return res, err
}
- if res.StatusCode == statusResumeIncomplete || res.StatusCode == http.StatusOK {
+ // We sent "X-GUploader-No-308: yes" (see comment elsewhere in
+ // this file), so we don't expect to get a 308.
+ if res.StatusCode == 308 {
+ return nil, errors.New("unexpected 308 response status code")
+ }
+
+ if res.StatusCode == http.StatusOK {
rx.reportProgress(off, off+int64(size))
}
- if res.StatusCode == statusResumeIncomplete {
+ if statusResumeIncomplete(res) {
rx.Media.Next()
}
return res, nil
@@ -135,6 +152,8 @@ func contextDone(ctx context.Context) bool {
// It retries using the provided back off strategy until cancelled or the
// strategy indicates to stop retrying.
// It is called from the auto-generated API code and is not visible to the user.
+// Before sending an HTTP request, Upload calls any registered hook functions,
+// and calls the returned functions after the request returns (see send.go).
// rx is private to the auto-generated API code.
// Exactly one of resp or err will be nil. If resp is non-nil, the caller must call resp.Body.Close.
func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err error) {
@@ -176,7 +195,7 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err
// If the chunk was uploaded successfully, but there's still
// more to go, upload the next chunk without any delay.
- if status == statusResumeIncomplete {
+ if statusResumeIncomplete(resp) {
pause = 0
backoff.Reset()
resp.Body.Close()
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/retry.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/retry.go
index 7f83d1da..c60b3c39 100644
--- a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/retry.go
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/retry.go
@@ -1,3 +1,17 @@
+// Copyright 2017 Google Inc. All Rights Reserved.
+//
+// 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 gensupport
import (
@@ -55,23 +69,17 @@ func DefaultBackoffStrategy() BackoffStrategy {
// shouldRetry returns true if the HTTP response / error indicates that the
// request should be attempted again.
func shouldRetry(status int, err error) bool {
- // Retry for 5xx response codes.
- if 500 <= status && status < 600 {
+ if 500 <= status && status <= 599 {
return true
}
-
- // Retry on statusTooManyRequests{
if status == statusTooManyRequests {
return true
}
-
- // Retry on unexpected EOFs and temporary network errors.
if err == io.ErrUnexpectedEOF {
return true
}
if err, ok := err.(net.Error); ok {
return err.Temporary()
}
-
return false
}
diff --git a/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/send.go b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/send.go
new file mode 100644
index 00000000..3d22f638
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/vendor/google.golang.org/api/gensupport/send.go
@@ -0,0 +1,55 @@
+// 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 gensupport
+
+import (
+ "net/http"
+
+ "golang.org/x/net/context"
+ "golang.org/x/net/context/ctxhttp"
+)
+
+// Hook is the type of a function that is called once before each HTTP request
+// that is sent by a generated API. It returns a function that is called after
+// the request returns.
+// Hooks are not called if the context is nil.
+type Hook func(ctx context.Context, req *http.Request) func(resp *http.Response)
+
+var hooks []Hook
+
+// RegisterHook registers a Hook to be called before each HTTP request by a
+// generated API. Hooks are called in the order they are registered. Each
+// hook can return a function; if it is non-nil, it is called after the HTTP
+// request returns. These functions are called in the reverse order.
+// RegisterHook should not be called concurrently with itself or SendRequest.
+func RegisterHook(h Hook) {
+ hooks = append(hooks, h)
+}
+
+// SendRequest sends a single HTTP request using the given client.
+// If ctx is non-nil, it calls all hooks, then sends the request with
+// ctxhttp.Do, then calls any functions returned by the hooks in reverse order.
+func SendRequest(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
+ if ctx == nil {
+ return client.Do(req)
+ }
+ // Call hooks in order of registration, store returned funcs.
+ post := make([]func(resp *http.Response), len(hooks))
+ for i, h := range hooks {
+ fn := h(ctx, req)
+ post[i] = fn
+ }
+
+ // Send request.
+ resp, err := ctxhttp.Do(ctx, client, req)
+
+ // Call returned funcs in reverse order.
+ for i := len(post) - 1; i >= 0; i-- {
+ if fn := post[i]; fn != nil {
+ fn(resp)
+ }
+ }
+ return resp, err
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/LICENSE b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/LICENSE
deleted file mode 100644
index 4ccd784b..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/LICENSE
+++ /dev/null
@@ -1,187 +0,0 @@
-Copyright (c) 2013-2014 Canonical Inc.
-
-This software is licensed under the LGPLv3, included below.
-
-As a special exception to the GNU Lesser General Public License version 3
-("LGPL3"), the copyright holders of this Library give you permission to
-convey to a third party a Combined Work that links statically or dynamically
-to this Library without providing any Minimal Corresponding Source or
-Minimal Application Code as set out in 4d or providing the installation
-information set out in section 4e, provided that you comply with the other
-provisions of LGPL3 and provided that you meet, for the Application the
-terms and conditions of the license(s) which apply to the Application.
-
-Except as stated in this special exception, the provisions of LGPL3 will
-continue to comply in full to this Library. If you modify this Library, you
-may apply this exception to your version of this Library, but you are not
-obliged to do so. If you do not wish to do so, delete this exception
-statement from your version. This exception does not (and cannot) modify any
-license terms which apply to the Application, with which you must still
-comply.
-
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/README.md b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/README.md
deleted file mode 100644
index 4d10f697..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Installation and usage
-----------------------
-
-See [gopkg.in/xmlpath.v2](https://gopkg.in/xmlpath.v2) for documentation and usage details.
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/cmd/webpath/main.go b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/cmd/webpath/main.go
deleted file mode 100644
index 0f66d40c..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/cmd/webpath/main.go
+++ /dev/null
@@ -1,88 +0,0 @@
-package main
-
-import (
- "flag"
- "fmt"
- "gopkg.in/xmlpath.v2"
- "io"
- "net/http"
- "os"
- "regexp"
- "strings"
-)
-
-var all = flag.Bool("all", false, "print all occurrences rather than the first one")
-var trim = flag.Bool("trim", false, "trim spaces around results")
-var line = flag.Bool("line", false, "reformat each match as a single line")
-var quiet = flag.Bool("q", false, "run quietly with no stdout output")
-
-func main() {
- flag.Parse()
- if len(flag.Args()) != 2 {
- fmt.Fprintf(os.Stderr, "usage: webpath <xpath> <url>\n")
- os.Exit(1)
- }
-
- if err := run(); err != nil {
- fmt.Fprintf(os.Stderr, "error: %v\n", err)
- os.Exit(1)
- }
-}
-
-var whitespace = regexp.MustCompile("[ \t\n]+")
-
-func run() error {
- args := flag.Args()
-
- path, err := xmlpath.Compile(args[0])
- if err != nil {
- return err
- }
-
- loc := args[1]
-
- var body io.Reader
- if strings.HasPrefix(loc, "https:") || strings.HasPrefix(loc, "http:") {
- resp, err := http.Get(args[1])
- if err != nil {
- return err
- }
- defer resp.Body.Close()
- body = resp.Body
- } else {
- file, err := os.Open(loc)
- if err != nil {
- return err
- }
- defer file.Close()
- body = file
- }
-
- n, err := xmlpath.ParseHTML(body)
- if err != nil {
- return err
- }
-
- iter := path.Iter(n)
- ok := false
- for iter.Next() {
- ok = true
- if *quiet {
- break
- }
- s := iter.Node().String()
- if *line {
- s = strings.TrimSpace(whitespace.ReplaceAllString(s, " "))
- } else if *trim {
- s = strings.TrimSpace(s)
- }
- fmt.Println(s)
- if !*all {
- break
- }
- }
- if !ok {
- os.Exit(1)
- }
- return nil
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/doc.go b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/doc.go
deleted file mode 100644
index e81d7370..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/doc.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Package xmlpath implements a strict subset of the XPath specification for the Go language.
-//
-// The XPath specification is available at:
-//
-// http://www.w3.org/TR/xpath
-//
-// Path expressions supported by this package are in the following format,
-// with all components being optional:
-//
-// /axis-name::node-test[predicate]/axis-name::node-test[predicate]
-//
-// At the moment, xmlpath is compatible with the XPath specification
-// to the following extent:
-//
-// - All axes are supported ("child", "following-sibling", etc)
-// - All abbreviated forms are supported (".", "//", etc)
-// - All node types except for namespace are supported
-// - Predicates may be [N], [path], [not(path)], [path=literal] or [contains(path, literal)]
-// - Predicates may be joined with "or", "and", and parenthesis
-// - Richer expressions and namespaces are not supported
-//
-// For example, assuming the following document:
-//
-// <library>
-// <!-- Great book. -->
-// <book id="b0836217462" available="true">
-// <isbn>0836217462</isbn>
-// <title lang="en">Being a Dog Is a Full-Time Job</title>
-// <quote>I'd dog paddle the deepest ocean.</quote>
-// <author id="CMS">
-// <?echo "go rocks"?>
-// <name>Charles M Schulz</name>
-// <born>1922-11-26</born>
-// <dead>2000-02-12</dead>
-// </author>
-// <character id="PP">
-// <name>Peppermint Patty</name>
-// <born>1966-08-22</born>
-// <qualification>bold, brash and tomboyish</qualification>
-// </character>
-// <character id="Snoopy">
-// <name>Snoopy</name>
-// <born>1950-10-04</born>
-// <qualification>extroverted beagle</qualification>
-// </character>
-// </book>
-// </library>
-//
-// The following examples are valid path expressions, and the first
-// match has the indicated value:
-//
-// /library/book/isbn => "0836217462"
-// library/*/isbn => "0836217462"
-// /library/book/../book/./isbn => "0836217462"
-// /library/book/character[2]/name => "Snoopy"
-// /library/book/character[born='1950-10-04']/name => "Snoopy"
-// /library/book//node()[@id='PP']/name => "Peppermint Patty"
-// //book[author/@id='CMS']/title => "Being a Dog Is a Full-Time Job",
-// /library/book/preceding::comment() => " Great book. "
-// //*[contains(born,'1922')]/name => "Charles M Schulz"
-// //*[@id='PP' or @id='Snoopy']/born => {"1966-08-22", "1950-10-04"}
-//
-// To run an expression, compile it, and then apply the compiled path to any
-// number of context nodes, from one or more parsed xml documents:
-//
-// path := xmlpath.MustCompile("/library/book/isbn")
-// root, err := xmlpath.Parse(file)
-// if err != nil {
-// log.Fatal(err)
-// }
-// if value, ok := path.String(root); ok {
-// fmt.Println("Found:", value)
-// }
-//
-package xmlpath
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/parser.go b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/parser.go
deleted file mode 100644
index 64267aa4..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/parser.go
+++ /dev/null
@@ -1,396 +0,0 @@
-package xmlpath
-
-import (
- "golang.org/x/net/html"
- "encoding/xml"
- "io"
- "strings"
-)
-
-// Node is an item in an xml tree that was compiled to
-// be processed via xml paths. A node may represent:
-//
-// - An element in the xml document (<body>)
-// - An attribute of an element in the xml document (href="...")
-// - A comment in the xml document (<!--...-->)
-// - A processing instruction in the xml document (<?...?>)
-// - Some text within the xml document
-//
-type Node struct {
- kind nodeKind
- name xml.Name
- attr string
- text []byte
-
- nodes []Node
- pos int
- end int
-
- up *Node
- down []*Node
-}
-
-type nodeKind int
-
-const (
- anyNode nodeKind = iota
- startNode
- endNode
- attrNode
- textNode
- commentNode
- procInstNode
-)
-
-// String returns the string value of node.
-//
-// The string value of a node is:
-//
-// - For element nodes, the concatenation of all text nodes within the element.
-// - For text nodes, the text itself.
-// - For attribute nodes, the attribute value.
-// - For comment nodes, the text within the comment delimiters.
-// - For processing instruction nodes, the content of the instruction.
-//
-func (node *Node) String() string {
- if node.kind == attrNode {
- return node.attr
- }
- return string(node.Bytes())
-}
-
-// Bytes returns the string value of node as a byte slice.
-// See Node.String for a description of what the string value of a node is.
-func (node *Node) Bytes() []byte {
- if node.kind == attrNode {
- return []byte(node.attr)
- }
- if node.kind != startNode {
- return node.text
- }
- size := 0
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- size += len(node.nodes[i].text)
- }
- }
- text := make([]byte, 0, size)
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- text = append(text, node.nodes[i].text...)
- }
- }
- return text
-}
-
-// equals returns whether the string value of node is equal to s,
-// without allocating memory.
-func (node *Node) equals(s string) bool {
- if node.kind == attrNode {
- return s == node.attr
- }
- if node.kind != startNode {
- if len(s) != len(node.text) {
- return false
- }
- for i := range s {
- if s[i] != node.text[i] {
- return false
- }
- }
- return true
- }
- si := 0
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- for _, c := range node.nodes[i].text {
- if si > len(s) {
- return false
- }
- if s[si] != c {
- return false
- }
- si++
- }
- }
- }
- return si == len(s)
-}
-
-// contains returns whether the string value of node contains s,
-// without allocating memory.
-func (node *Node) contains(s string) (ok bool) {
- if len(s) == 0 {
- return true
- }
- if node.kind == attrNode {
- return strings.Contains(node.attr, s)
- }
- s0 := s[0]
- for i := node.pos; i < node.end; i++ {
- if node.nodes[i].kind == textNode {
- text := node.nodes[i].text
- NextTry:
- for ci, c := range text {
- if c != s0 {
- continue
- }
- si := 1
- for ci++; ci < len(text) && si < len(s); ci++ {
- if s[si] != text[ci] {
- continue NextTry
- }
- si++
- }
- if si == len(s) {
- return true
- }
- for j := i + 1; j < node.end; j++ {
- if node.nodes[j].kind == textNode {
- for _, c := range node.nodes[j].text {
- if s[si] != c {
- continue NextTry
- }
- si++
- if si == len(s) {
- return true
- }
- }
- }
- }
- }
- }
- }
- return false
-}
-
-// Parse reads an xml document from r, parses it, and returns its root node.
-func Parse(r io.Reader) (*Node, error) {
- return ParseDecoder(xml.NewDecoder(r))
-}
-
-// ParseDecoder parses the xml document being decoded by d and returns
-// its root node.
-func ParseDecoder(d *xml.Decoder) (*Node, error) {
- var nodes []Node
- var text []byte
-
- // The root node.
- nodes = append(nodes, Node{kind: startNode})
-
- for {
- t, err := d.Token()
- if err == io.EOF {
- break
- }
- if err != nil {
- return nil, err
- }
- switch t := t.(type) {
- case xml.EndElement:
- nodes = append(nodes, Node{
- kind: endNode,
- })
- case xml.StartElement:
- nodes = append(nodes, Node{
- kind: startNode,
- name: t.Name,
- })
- for _, attr := range t.Attr {
- nodes = append(nodes, Node{
- kind: attrNode,
- name: attr.Name,
- attr: attr.Value,
- })
- }
- case xml.CharData:
- texti := len(text)
- text = append(text, t...)
- nodes = append(nodes, Node{
- kind: textNode,
- text: text[texti : texti+len(t)],
- })
- case xml.Comment:
- texti := len(text)
- text = append(text, t...)
- nodes = append(nodes, Node{
- kind: commentNode,
- text: text[texti : texti+len(t)],
- })
- case xml.ProcInst:
- texti := len(text)
- text = append(text, t.Inst...)
- nodes = append(nodes, Node{
- kind: procInstNode,
- name: xml.Name{Local: t.Target},
- text: text[texti : texti+len(t.Inst)],
- })
- }
- }
-
- // Close the root node.
- nodes = append(nodes, Node{kind: endNode})
-
- stack := make([]*Node, 0, len(nodes))
- downs := make([]*Node, len(nodes))
- downCount := 0
-
- for pos := range nodes {
-
- switch nodes[pos].kind {
-
- case startNode, attrNode, textNode, commentNode, procInstNode:
- node := &nodes[pos]
- node.nodes = nodes
- node.pos = pos
- if len(stack) > 0 {
- node.up = stack[len(stack)-1]
- }
- if node.kind == startNode {
- stack = append(stack, node)
- } else {
- node.end = pos + 1
- }
-
- case endNode:
- node := stack[len(stack)-1]
- node.end = pos
- stack = stack[:len(stack)-1]
-
- // Compute downs. Doing that here is what enables the
- // use of a slice of a contiguous pre-allocated block.
- node.down = downs[downCount:downCount]
- for i := node.pos + 1; i < node.end; i++ {
- if nodes[i].up == node {
- switch nodes[i].kind {
- case startNode, textNode, commentNode, procInstNode:
- node.down = append(node.down, &nodes[i])
- downCount++
- }
- }
- }
- if len(stack) == 0 {
- return node, nil
- }
- }
- }
- return nil, io.EOF
-}
-
-// ParseHTML reads an HTML document from r, parses it using a proper HTML
-// parser, and returns its root node.
-//
-// The document will be processed as a properly structured HTML document,
-// emulating the behavior of a browser when processing it. This includes
-// putting the content inside proper <html> and <body> tags, if the
-// provided text misses them.
-func ParseHTML(r io.Reader) (*Node, error) {
- ns, err := html.ParseFragment(r, nil)
- if err != nil {
- return nil, err
- }
-
- var nodes []Node
- var text []byte
-
- n := ns[0]
-
- // The root node.
- nodes = append(nodes, Node{kind: startNode})
-
- for n != nil {
- switch n.Type {
- case html.DocumentNode:
- case html.ElementNode:
- nodes = append(nodes, Node{
- kind: startNode,
- name: xml.Name{Local: n.Data, Space: n.Namespace},
- })
- for _, attr := range n.Attr {
- nodes = append(nodes, Node{
- kind: attrNode,
- name: xml.Name{Local: attr.Key, Space: attr.Namespace},
- attr: attr.Val,
- })
- }
- case html.TextNode:
- texti := len(text)
- text = append(text, n.Data...)
- nodes = append(nodes, Node{
- kind: textNode,
- text: text[texti : texti+len(n.Data)],
- })
- case html.CommentNode:
- texti := len(text)
- text = append(text, n.Data...)
- nodes = append(nodes, Node{
- kind: commentNode,
- text: text[texti : texti+len(n.Data)],
- })
- }
-
- if n.FirstChild != nil {
- n = n.FirstChild
- continue
- }
-
- for n != nil {
- if n.Type == html.ElementNode {
- nodes = append(nodes, Node{kind: endNode})
- }
- if n.NextSibling != nil {
- n = n.NextSibling
- break
- }
- n = n.Parent
- }
- }
-
- // Close the root node.
- nodes = append(nodes, Node{kind: endNode})
-
- stack := make([]*Node, 0, len(nodes))
- downs := make([]*Node, len(nodes))
- downCount := 0
-
- for pos := range nodes {
-
- switch nodes[pos].kind {
-
- case startNode, attrNode, textNode, commentNode, procInstNode:
- node := &nodes[pos]
- node.nodes = nodes
- node.pos = pos
- if len(stack) > 0 {
- node.up = stack[len(stack)-1]
- }
- if node.kind == startNode {
- stack = append(stack, node)
- } else {
- node.end = pos + 1
- }
-
- case endNode:
- node := stack[len(stack)-1]
- node.end = pos
- stack = stack[:len(stack)-1]
-
- // Compute downs. Doing that here is what enables the
- // use of a slice of a contiguous pre-allocated block.
- node.down = downs[downCount:downCount]
- for i := node.pos + 1; i < node.end; i++ {
- if nodes[i].up == node {
- switch nodes[i].kind {
- case startNode, textNode, commentNode, procInstNode:
- node.down = append(node.down, &nodes[i])
- downCount++
- }
- }
- }
- if len(stack) == 0 {
- return node, nil
- }
- }
- }
- return nil, io.EOF
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/path.go b/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/path.go
deleted file mode 100644
index db38ed57..00000000
--- a/vendor/github.com/mitchellh/packer/vendor/gopkg.in/xmlpath.v2/path.go
+++ /dev/null
@@ -1,790 +0,0 @@
-package xmlpath
-
-import (
- "fmt"
- "strconv"
- "unicode/utf8"
-)
-
-// Path is a compiled path that can be applied to a context
-// node to obtain a matching node set.
-// A single Path can be applied concurrently to any number
-// of context nodes.
-type Path struct {
- path string
- steps []pathStep
-}
-
-// Iter returns an iterator that goes over the list of nodes
-// that p matches on the given context.
-func (p *Path) Iter(context *Node) *Iter {
- iter := Iter{
- make([]pathStepState, len(p.steps)),
- make([]bool, len(context.nodes)),
- }
- for i := range p.steps {
- iter.state[i].step = &p.steps[i]
- }
- iter.state[0].init(context)
- return &iter
-}
-
-// Exists returns whether any nodes match p on the given context.
-func (p *Path) Exists(context *Node) bool {
- return p.Iter(context).Next()
-}
-
-// String returns the string value of the first node matched
-// by p on the given context.
-//
-// See the documentation of Node.String.
-func (p *Path) String(context *Node) (s string, ok bool) {
- iter := p.Iter(context)
- if iter.Next() {
- return iter.Node().String(), true
- }
- return "", false
-}
-
-// Bytes returns as a byte slice the string value of the first
-// node matched by p on the given context.
-//
-// See the documentation of Node.String.
-func (p *Path) Bytes(node *Node) (b []byte, ok bool) {
- iter := p.Iter(node)
- if iter.Next() {
- return iter.Node().Bytes(), true
- }
- return nil, false
-}
-
-// Iter iterates over node sets.
-type Iter struct {
- state []pathStepState
- seen []bool
-}
-
-// Node returns the current node.
-// Must only be called after Iter.Next returns true.
-func (iter *Iter) Node() *Node {
- state := iter.state[len(iter.state)-1]
- if state.pos == 0 {
- panic("Iter.Node called before Iter.Next")
- }
- if state.node == nil {
- panic("Iter.Node called after Iter.Next false")
- }
- return state.node
-}
-
-// Next iterates to the next node in the set, if any, and
-// returns whether there is a node available.
-func (iter *Iter) Next() bool {
- tip := len(iter.state) - 1
-outer:
- for {
- for !iter.state[tip].next() {
- tip--
- if tip == -1 {
- return false
- }
- }
- for tip < len(iter.state)-1 {
- tip++
- iter.state[tip].init(iter.state[tip-1].node)
- if !iter.state[tip].next() {
- tip--
- continue outer
- }
- }
- if iter.seen[iter.state[tip].node.pos] {
- continue
- }
- iter.seen[iter.state[tip].node.pos] = true
- return true
- }
- panic("unreachable")
-}
-
-type pathStepState struct {
- step *pathStep
- node *Node
- pos int
- idx int
- aux int
-}
-
-func (s *pathStepState) init(node *Node) {
- s.node = node
- s.pos = 0
- s.idx = 0
- s.aux = 0
-}
-
-func (s *pathStepState) next() bool {
- for s._next() {
- s.pos++
- if s.step.pred == nil || s.test(s.step.pred) {
- return true
- }
- }
- return false
-}
-
-func (s *pathStepState) test(pred predicate) bool {
- switch pred := pred.(type) {
- case positionPredicate:
- if pred.pos == s.pos {
- return true
- }
- case existsPredicate:
- if pred.path.Exists(s.node) {
- return true
- }
- case equalsPredicate:
- iter := pred.path.Iter(s.node)
- for iter.Next() {
- if iter.Node().equals(pred.value) {
- return true
- }
- }
- case containsPredicate:
- iter := pred.path.Iter(s.node)
- for iter.Next() {
- if iter.Node().contains(pred.value) {
- return true
- }
- }
- case notPredicate:
- iter := pred.path.Iter(s.node)
- if !iter.Next() {
- return true
- }
- case andPredicate:
- for _, sub := range pred.sub {
- if !s.test(sub) {
- return false
- }
- }
- return true
- case orPredicate:
- for _, sub := range pred.sub {
- if s.test(sub) {
- return true
- }
- }
- default:
- panic(fmt.Sprintf("internal error: unknown predicate type: %#v", s.step.pred))
- }
- return false
-}
-
-func (s *pathStepState) _next() bool {
- if s.node == nil {
- return false
- }
- if s.step.root && s.idx == 0 {
- for s.node.up != nil {
- s.node = s.node.up
- }
- }
-
- switch s.step.axis {
-
- case "self":
- if s.idx == 0 && s.step.match(s.node) {
- s.idx++
- return true
- }
-
- case "parent":
- if s.idx == 0 && s.node.up != nil && s.step.match(s.node.up) {
- s.idx++
- s.node = s.node.up
- return true
- }
-
- case "ancestor", "ancestor-or-self":
- if s.idx == 0 && s.step.axis == "ancestor-or-self" {
- s.idx++
- if s.step.match(s.node) {
- return true
- }
- }
- for s.node.up != nil {
- s.node = s.node.up
- s.idx++
- if s.step.match(s.node) {
- return true
- }
- }
-
- case "child":
- var down []*Node
- if s.idx == 0 {
- down = s.node.down
- } else {
- down = s.node.up.down
- }
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "descendant", "descendant-or-self":
- if s.idx == 0 {
- s.idx = s.node.pos
- s.aux = s.node.end
- if s.step.axis == "descendant" {
- s.idx++
- }
- }
- for s.idx < s.aux {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind == attrNode {
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "following":
- if s.idx == 0 {
- s.idx = s.node.end
- }
- for s.idx < len(s.node.nodes) {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind == attrNode {
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "following-sibling":
- var down []*Node
- if s.node.up != nil {
- down = s.node.up.down
- if s.idx == 0 {
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if node == s.node {
- break
- }
- }
- }
- }
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "preceding":
- if s.idx == 0 {
- s.aux = s.node.pos // Detect ancestors.
- s.idx = s.node.pos - 1
- }
- for s.idx >= 0 {
- node := &s.node.nodes[s.idx]
- s.idx--
- if node.kind == attrNode {
- continue
- }
- if node == s.node.nodes[s.aux].up {
- s.aux = s.node.nodes[s.aux].up.pos
- continue
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "preceding-sibling":
- var down []*Node
- if s.node.up != nil {
- down = s.node.up.down
- if s.aux == 0 {
- s.aux = 1
- for s.idx < len(down) {
- node := down[s.idx]
- s.idx++
- if node == s.node {
- s.idx--
- break
- }
- }
- }
- }
- for s.idx >= 0 {
- node := down[s.idx]
- s.idx--
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- case "attribute":
- if s.idx == 0 {
- s.idx = s.node.pos + 1
- s.aux = s.node.end
- }
- for s.idx < s.aux {
- node := &s.node.nodes[s.idx]
- s.idx++
- if node.kind != attrNode {
- break
- }
- if s.step.match(node) {
- s.node = node
- return true
- }
- }
-
- }
-
- s.node = nil
- return false
-}
-
-type positionPredicate struct {
- pos int
-}
-
-type existsPredicate struct {
- path *Path
-}
-
-type equalsPredicate struct {
- path *Path
- value string
-}
-
-type containsPredicate struct {
- path *Path
- value string
-}
-
-type notPredicate struct {
- path *Path
-}
-
-type andPredicate struct {
- sub []predicate
-}
-
-type orPredicate struct {
- sub []predicate
-}
-
-// predicate is a marker interface for predicate types.
-type predicate interface {
- predicate()
-}
-
-func (positionPredicate) predicate() {}
-func (existsPredicate) predicate() {}
-func (equalsPredicate) predicate() {}
-func (containsPredicate) predicate() {}
-func (notPredicate) predicate() {}
-func (andPredicate) predicate() {}
-func (orPredicate) predicate() {}
-
-type pathStep struct {
- root bool
- axis string
- name string
- kind nodeKind
- pred predicate
-}
-
-func (step *pathStep) match(node *Node) bool {
- return node.kind != endNode &&
- (step.kind == anyNode || step.kind == node.kind) &&
- (step.name == "*" || node.name.Local == step.name)
-}
-
-// MustCompile returns the compiled path, and panics if
-// there are any errors.
-func MustCompile(path string) *Path {
- e, err := Compile(path)
- if err != nil {
- panic(err)
- }
- return e
-}
-
-// Compile returns the compiled path.
-func Compile(path string) (*Path, error) {
- c := pathCompiler{path, 0}
- if path == "" {
- return nil, c.errorf("empty path")
- }
- p, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- return p, nil
-}
-
-type pathCompiler struct {
- path string
- i int
-}
-
-func (c *pathCompiler) errorf(format string, args ...interface{}) error {
- return fmt.Errorf("compiling xml path %q:%d: %s", c.path, c.i, fmt.Sprintf(format, args...))
-}
-
-func (c *pathCompiler) parsePath() (path *Path, err error) {
- var steps []pathStep
- var start = c.i
- for {
- step := pathStep{axis: "child"}
-
- c.skipSpaces()
- if c.i == 0 && c.skipByte('/') {
- c.skipSpaces()
- step.root = true
- if len(c.path) == 1 {
- step.name = "*"
- }
- }
- if c.peekByte('/') {
- step.axis = "descendant-or-self"
- step.name = "*"
- } else if c.skipByte('@') {
- mark := c.i
- if !c.skipName() {
- return nil, c.errorf("missing name after @")
- }
- step.axis = "attribute"
- step.name = c.path[mark:c.i]
- step.kind = attrNode
- } else {
- mark := c.i
- if c.skipName() {
- step.name = c.path[mark:c.i]
- c.skipSpaces()
- }
- if step.name == "" {
- return nil, c.errorf("missing name")
- } else if step.name == "*" {
- step.kind = startNode
- } else if step.name == "." {
- step.axis = "self"
- step.name = "*"
- } else if step.name == ".." {
- step.axis = "parent"
- step.name = "*"
- } else {
- if c.skipByte(':') {
- if !c.skipByte(':') {
- return nil, c.errorf("missing ':'")
- }
- c.skipSpaces()
- switch step.name {
- case "attribute":
- step.kind = attrNode
- case "self", "child", "parent":
- case "descendant", "descendant-or-self":
- case "ancestor", "ancestor-or-self":
- case "following", "following-sibling":
- case "preceding", "preceding-sibling":
- default:
- return nil, c.errorf("unsupported axis: %q", step.name)
- }
- step.axis = step.name
-
- mark = c.i
- if !c.skipName() {
- return nil, c.errorf("missing name")
- }
- step.name = c.path[mark:c.i]
-
- c.skipSpaces()
- }
- if c.skipByte('(') {
- c.skipSpaces()
- conflict := step.kind != anyNode
- switch step.name {
- case "node":
- // must be anyNode
- case "text":
- step.kind = textNode
- case "comment":
- step.kind = commentNode
- case "processing-instruction":
- step.kind = procInstNode
- default:
- return nil, c.errorf("unsupported expression: %s()", step.name)
- }
- if conflict {
- return nil, c.errorf("%s() cannot succeed on axis %q", step.name, step.axis)
- }
-
- name := step.name
- literal, err := c.parseLiteral()
- if err == errNoLiteral {
- step.name = "*"
- } else if err != nil {
- return nil, c.errorf("%v", err)
- } else if step.kind == procInstNode {
- c.skipSpaces()
- step.name = literal
- } else {
- return nil, c.errorf("%s() has no arguments", name)
- }
- if !c.skipByte(')') {
- return nil, c.errorf("%s() missing ')'", name)
- }
- c.skipSpaces()
- } else if step.name == "*" && step.kind == anyNode {
- step.kind = startNode
- }
- }
- }
- if c.skipByte('[') {
- c.skipSpaces()
- type state struct {
- sub []predicate
- and bool
- }
- var stack []state
- var sub []predicate
- var and bool
- NextPred:
- if c.skipByte('(') {
- stack = append(stack, state{sub, and})
- sub = nil
- and = false
- }
- var next predicate
- if pos, ok := c.parseInt(); ok {
- if pos == 0 {
- return nil, c.errorf("positions start at 1")
- }
- next = positionPredicate{pos}
- } else if c.skipString("contains(") {
- path, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- c.skipSpaces()
- if !c.skipByte(',') {
- return nil, c.errorf("contains() expected ',' followed by a literal string")
- }
- c.skipSpaces()
- value, err := c.parseLiteral()
- if err != nil {
- return nil, err
- }
- c.skipSpaces()
- if !c.skipByte(')') {
- return nil, c.errorf("contains() missing ')'")
- }
- next = containsPredicate{path, value}
- } else if c.skipString("not(") {
- // TODO Generalize to handle any predicate expression.
- path, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- c.skipSpaces()
- if !c.skipByte(')') {
- return nil, c.errorf("not() missing ')'")
- }
- next = notPredicate{path}
- } else {
- path, err := c.parsePath()
- if err != nil {
- return nil, err
- }
- if path.path[0] == '-' {
- if _, err = strconv.Atoi(path.path); err == nil {
- return nil, c.errorf("positions must be positive")
- }
- }
- c.skipSpaces()
- if c.skipByte('=') {
- c.skipSpaces()
- value, err := c.parseLiteral()
- if err != nil {
- return nil, c.errorf("%v", err)
- }
- next = equalsPredicate{path, value}
- } else {
- next = existsPredicate{path}
- }
- }
- HandleNext:
- if and {
- p := sub[len(sub)-1].(andPredicate)
- p.sub = append(p.sub, next)
- sub[len(sub)-1] = p
- } else {
- sub = append(sub, next)
- }
- if c.skipSpaces() {
- mark := c.i
- if c.skipString("and") && c.skipSpaces() {
- if !and {
- and = true
- sub[len(sub)-1] = andPredicate{[]predicate{sub[len(sub)-1]}}
- }
- goto NextPred
- } else if c.skipString("or") && c.skipSpaces() {
- and = false
- goto NextPred
- } else {
- c.i = mark
- }
- }
- if c.skipByte(')') {
- if len(stack) == 0 {
- return nil, c.errorf("unexpected ')'")
- }
- if len(sub) == 1 {
- next = sub[0]
- } else {
- next = orPredicate{sub}
- }
- s := stack[len(stack)-1]
- stack = stack[:len(stack)-1]
- sub = s.sub
- and = s.and
- goto HandleNext
- }
- if len(stack) > 0 {
- return nil, c.errorf("expected ')'")
- }
- if len(sub) == 1 {
- step.pred = sub[0]
- } else {
- step.pred = orPredicate{sub}
- }
- if !c.skipByte(']') {
- return nil, c.errorf("expected ']'")
- }
- c.skipSpaces()
- }
- steps = append(steps, step)
- //fmt.Printf("step: %#v\n", step)
- if !c.skipByte('/') {
- if (start == 0 || start == c.i) && c.i < len(c.path) {
- return nil, c.errorf("unexpected %q", c.path[c.i])
- }
- return &Path{steps: steps, path: c.path[start:c.i]}, nil
- }
- }
- panic("unreachable")
-}
-
-var errNoLiteral = fmt.Errorf("expected a literal string")
-
-func (c *pathCompiler) parseLiteral() (string, error) {
- if c.skipByte('"') {
- mark := c.i
- if !c.skipByteFind('"') {
- return "", fmt.Errorf(`missing '"'`)
- }
- return c.path[mark : c.i-1], nil
- }
- if c.skipByte('\'') {
- mark := c.i
- if !c.skipByteFind('\'') {
- return "", fmt.Errorf(`missing "'"`)
- }
- return c.path[mark : c.i-1], nil
- }
- return "", errNoLiteral
-}
-
-func (c *pathCompiler) parseInt() (v int, ok bool) {
- mark := c.i
- for c.i < len(c.path) && c.path[c.i] >= '0' && c.path[c.i] <= '9' {
- v *= 10
- v += int(c.path[c.i]) - '0'
- c.i++
- }
- if c.i == mark {
- return 0, false
- }
- return v, true
-}
-
-func (c *pathCompiler) skipByte(b byte) bool {
- if c.i < len(c.path) && c.path[c.i] == b {
- c.i++
- return true
- }
- return false
-}
-
-func (c *pathCompiler) skipByteFind(b byte) bool {
- for i := c.i; i < len(c.path); i++ {
- if c.path[i] == b {
- c.i = i + 1
- return true
- }
- }
- return false
-}
-
-func (c *pathCompiler) peekByte(b byte) bool {
- return c.i < len(c.path) && c.path[c.i] == b
-}
-
-func (c *pathCompiler) skipSpaces() bool {
- mark := c.i
- for c.i < len(c.path) {
- if c.path[c.i] != ' ' {
- break
- }
- c.i++
- }
- return c.i != mark
-}
-
-func (c *pathCompiler) skipString(s string) bool {
- if c.i+len(s) <= len(c.path) && c.path[c.i:c.i+len(s)] == s {
- c.i += len(s)
- return true
- }
- return false
-}
-
-func (c *pathCompiler) skipName() bool {
- if c.i >= len(c.path) {
- return false
- }
- if c.path[c.i] == '*' {
- c.i++
- return true
- }
- start := c.i
- for c.i < len(c.path) && (c.path[c.i] >= utf8.RuneSelf || isNameByte(c.path[c.i])) {
- c.i++
- }
- return c.i > start
-}
-
-func isNameByte(c byte) bool {
- return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '_' || c == '.' || c == '-'
-}
diff --git a/vendor/github.com/mitchellh/packer/vendor/vendor.json b/vendor/github.com/mitchellh/packer/vendor/vendor.json
index e1719e3e..c1b27c88 100644
--- a/vendor/github.com/mitchellh/packer/vendor/vendor.json
+++ b/vendor/github.com/mitchellh/packer/vendor/vendor.json
@@ -120,12 +120,108 @@
"revision": "e0b63eb299a769ea4b04dadfe530f6074b277afb"
},
{
+ "checksumSHA1": "++XyYR/ZfYoCxGn5vTlXzQZ9eo0=",
+ "path": "github.com/ChrisTrenkamp/goxpath",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "1+6R+HYdVVS4O8VOqVCIqSKi+oY=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/execxp",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "71fcaKxTSwiQzcTFTyCiqdd/8EU=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/lexer",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "BjldQE0Gsl7CbqFa4wLQpzhmX64=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/parser",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "Use9Tov7dtRIy/gv3GixcpEX5iA=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/parser/findutil",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "s2jqwMBbEzDDUQrEYZF++NzQ+7I=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/parser/intfns",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "zpOX2X+RjsnqZSmz3GWFq1lzOrU=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/parser/pathexpr",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "ujivLLH1kuIm2qom2NFTSH5OUvQ=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/xconst",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "wlR2+4lvPs2YWYZAkBrSA0gKe9I=",
+ "path": "github.com/ChrisTrenkamp/goxpath/internal/xsort",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "krxNPvjZJdXdhUGNkGW8JhOcT/c=",
+ "path": "github.com/ChrisTrenkamp/goxpath/tree",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "5XIJCUHiiwINtP9GrIs4wx+KSGA=",
+ "path": "github.com/ChrisTrenkamp/goxpath/tree/xmltree",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "6Lbaq/4cANAcTffrBEuNvCi2msA=",
+ "path": "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlbuilder",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "KsQub+ZaW39dp9tDTYNKXlxaZgk=",
+ "path": "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlele",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
+ "checksumSHA1": "2ZSbmMkCfHuLQanoHtVD7/kTygs=",
+ "path": "github.com/ChrisTrenkamp/goxpath/tree/xmltree/xmlnode",
+ "revision": "4fe03583929022c9c96829401ffabc755e69782e",
+ "revisionTime": "2017-06-25T21:53:50Z"
+ },
+ {
"checksumSHA1": "HttiPj314X1a0i2Jen1p6lRH/vE=",
"path": "github.com/aliyun/aliyun-oss-go-sdk/oss",
"revision": "e6dbea820a9f304b43d3b357dd48ced23b86df72",
"revisionTime": "2017-01-13T02:27:42Z"
},
{
+ "checksumSHA1": "taUAhOa8gx2Hxqo32pXQWhi7Bhg=",
+ "path": "github.com/antchfx/xpath",
+ "revision": "b5c552e1acbdd77b5e369eab0efd1e0f9d7090e4",
+ "revisionTime": "2017-07-28T05:37:31Z"
+ },
+ {
+ "checksumSHA1": "4X1rYuDMZj8Bkr1LcEzigyKGrwQ=",
+ "path": "github.com/antchfx/xquery/xml",
+ "revision": "eb8c3c17260731e52f9420af1508a47bfaf217a8",
+ "revisionTime": "2017-07-30T11:54:35Z"
+ },
+ {
"checksumSHA1": "gc98KRYAAiw4g1FrSTsuggSNv8k=",
"path": "github.com/approvals/go-approval-tests",
"revision": "ad96e53bea43a905c17beeb983a0f9ce087dc48d"
@@ -146,233 +242,307 @@
"revision": "4239b77079c7b5d1243b7b4736304ce8ddb6f0f2"
},
{
- "checksumSHA1": "ZjwjHipLn1qcBhMcS7iakI6xnwA=",
+ "checksumSHA1": "7vSTKBRZq6azJnhm1k6XmNxu97M=",
"path": "github.com/aws/aws-sdk-go",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "D7lKOBHog4Y/ETUWhgmTCcNyzHc=",
+ "checksumSHA1": "BRgDFkYJonSbN+/ugKMUuSXkS4c=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/awserr",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/awsutil",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "iThCyNRL/oQFD9CF2SYgBGl+aww=",
+ "checksumSHA1": "n98FANpNeRT5kf6pizdpI7nm6Sw=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/client",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/client/metadata",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "Fl8vRSCY0MbM04cmiz/0MID+goA=",
+ "checksumSHA1": "7/8j/q0TWtOgXyvEcv4B2Dhl00o=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/corehandlers",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "zu5C95rmCZff6NYZb62lEaT5ibE=",
+ "checksumSHA1": "Y+cPwQL0dZMyqp3wI+KJWmA9KQ8=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/credentials",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "6cj/zsRmcxkE1TLS+v910GbQYg0=",
+ "checksumSHA1": "JEYqmF83O5n5bHkupAzA6STm0no=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "lqh3fG7wCochvB4iHAZJuhhEJW0=",
+ "checksumSHA1": "ZdtYh3ZHSgP/WEIaqwJHTEhpkbs=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/defaults",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/ec2metadata",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "JTrzEDPXL3pUUH+dMCixz9T9rLY=",
+ "checksumSHA1": "W45tSKW4ZVgBk9H4lx5RbGi9OVg=",
"path": "github.com/aws/aws-sdk-go/aws/endpoints",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "M78rTxU55Qagqr3MYj91im2031E=",
+ "checksumSHA1": "Rdm9v0vpqsO1Ka9rwktfL19D8A8=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/request",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "u6tKvFGcRQ1xtby1ONjgyUTgcpg=",
+ "checksumSHA1": "SK5Mn4Ga9+equOQTYA1DTSb3LWY=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/session",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "0FvPLvkBUpTElfUc/FZtPsJfuV0=",
+ "checksumSHA1": "1+ZxEwzc1Vz8X2l+kXkS2iATtas=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/aws/signer/v4",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
+ },
+ {
+ "checksumSHA1": "04ypv4x12l4q0TksA1zEVsmgpvw=",
+ "path": "github.com/aws/aws-sdk-go/internal/shareddefaults",
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "1QmQ3FqV37w0Zi44qv8pA1GeR0A=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "O6hcK24yI6w7FA+g4Pbr+eQ7pys=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "R00RL5jJXRYq1iiK1+PGvMfvXyM=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/query",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "hqTEmgtchF9SwVTW0IQId2eLUKM=",
+ "checksumSHA1": "Drt1JfLMa0DQEZLWrnMlTWaIcC8=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "szZSLm3BlYkL3vqlZhNAlYk8iwM=",
+ "checksumSHA1": "VCTh+dEaqqhog5ncy/WTt9+/gFM=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/rest",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "ODo+ko8D6unAxZuN1jGzMcN4QCc=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/restxml",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "lZ1z4xAbT8euCzKoAsnEYic60VE=",
+ "checksumSHA1": "0qYPUga28aQVkxZgBR3Z86AbGUQ=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "Eo9yODN5U99BK0pMzoqnBm7PCrY=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/private/waiter",
"revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revisionTime": "2017-02-24T22:28:38Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "ecCVL8+SptmQlojrGtL8mQdaJ6E=",
+ "checksumSHA1": "1mbCBXbu6m8bfRAq1+7Cul4VXkU=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/ec2",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "B6qHy1+Rrp9lQCBR/JDRT72kuCI=",
+ "checksumSHA1": "YNq7YhasHn9ceelWX2aG0Cg0Ga0=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/ecr",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "eEWM4wKzVbRqAwIy3MdMCDUGs2s=",
+ "checksumSHA1": "SEKg+cGyOj6dKdK5ltUHsoL4R4Y=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/s3",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "B3FgQ8T7ewtG+q0uLnofdFfp/TE=",
+ "checksumSHA1": "RVrBBPDYg3ViwQDLBanFehkdqkM=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/s3/s3iface",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "Tr7Q8zpGveIlcort1+Og9hhG+hk=",
+ "checksumSHA1": "LlIpD3fzngPXshFh/5tuCWlrYzI=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/s3/s3manager",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
- "checksumSHA1": "Knj17ZMPWkGYTm2hZxEgnuboMM4=",
+ "checksumSHA1": "MerduaV3PxtZAWvOGpgoBIglo38=",
"comment": "v1.7.1",
"path": "github.com/aws/aws-sdk-go/service/sts",
- "revision": "1bd588c8b2dba4da57dd4664b2b2750d260a5915",
- "revisionTime": "2017-02-24T22:28:38Z"
+ "revision": "dd3acff9dc16f9a6fd87f6b4501590a532e7206a",
+ "revisionTime": "2017-08-10T20:40:06Z",
+ "version": "v1.10.23",
+ "versionExact": "v1.10.23"
},
{
"checksumSHA1": "7SbTaY0kaYxgQrG3/9cjrI+BcyU=",
@@ -396,34 +566,34 @@
"revision": "6d212800a42e8ab5c146b8ace3490ee17e5225f9"
},
{
- "checksumSHA1": "4YIveqfMA1MH8oX8YMG7rDSl+ms=",
+ "checksumSHA1": "b2m7aICkBOz9JqmnX2kdDN4wgjI=",
"path": "github.com/denverdino/aliyungo/common",
- "revision": "920561accef9a3e387f10bf8f93be73d6bb55054",
- "revisionTime": "2017-05-25T09:08:54Z"
+ "revision": "b8a81c0f54003ea306ef566807919955d639cd48",
+ "revisionTime": "2017-08-02T08:24:47Z"
},
{
- "checksumSHA1": "x4l/zVF/J4ibAH39pNrSvTnFsPI=",
+ "checksumSHA1": "5UYxIc/DZ5g0SM7qwXskoyNOc78=",
"path": "github.com/denverdino/aliyungo/ecs",
- "revision": "920561accef9a3e387f10bf8f93be73d6bb55054",
- "revisionTime": "2017-05-25T09:08:54Z"
+ "revision": "b8a81c0f54003ea306ef566807919955d639cd48",
+ "revisionTime": "2017-08-02T08:24:47Z"
},
{
- "checksumSHA1": "40PbgN4Emct6AIiJbhPoEdd+vIA=",
+ "checksumSHA1": "VfIjW9Tf2eLmHrgrvk1wRnBaxTE=",
"path": "github.com/denverdino/aliyungo/ram",
- "revision": "920561accef9a3e387f10bf8f93be73d6bb55054",
- "revisionTime": "2017-05-25T09:08:54Z"
+ "revision": "b8a81c0f54003ea306ef566807919955d639cd48",
+ "revisionTime": "2017-08-02T08:24:47Z"
},
{
- "checksumSHA1": "iZftKqx5jdcEaMJNJhrb5QwmMuc=",
+ "checksumSHA1": "pQHH9wpyS0e4wpW0erxe3D7OILM=",
"path": "github.com/denverdino/aliyungo/slb",
- "revision": "920561accef9a3e387f10bf8f93be73d6bb55054",
- "revisionTime": "2017-05-25T09:08:54Z"
+ "revision": "b8a81c0f54003ea306ef566807919955d639cd48",
+ "revisionTime": "2017-08-02T08:24:47Z"
},
{
"checksumSHA1": "piZlmhWPLGxYkXLysTrjcXllO4c=",
"path": "github.com/denverdino/aliyungo/util",
- "revision": "920561accef9a3e387f10bf8f93be73d6bb55054",
- "revisionTime": "2017-05-25T09:08:54Z"
+ "revision": "b8a81c0f54003ea306ef566807919955d639cd48",
+ "revisionTime": "2017-08-02T08:24:47Z"
},
{
"checksumSHA1": "D37uI+U+FYvTJIdG2TTozXe7i7U=",
@@ -444,9 +614,10 @@
"revision": "2075bf119b58e5576c6ed9f867b8f3d17f2e54d4"
},
{
- "checksumSHA1": "by8KnjbSvP58haObPorGWR2CJfk=",
+ "checksumSHA1": "RNNn+CRYa4KxYIbs6W83JvMpZhw=",
"path": "github.com/dylanmei/winrmtest",
- "revision": "025617847eb2cf9bd1d851bc3b22ed28e6245ce5"
+ "revision": "c2fbb09e6c084fe3ebe95fce0f1cc5297c152026",
+ "revisionTime": "2017-08-19T15:36:34Z"
},
{
"checksumSHA1": "PkPgpx/FYoIJCbihlRZEp7oHG9Q=",
@@ -579,11 +750,11 @@
"revisionTime": "2017-06-23T01:44:30Z"
},
{
- "checksumSHA1": "FUiF2WLrih0JdHsUTMMDz3DRokw=",
+ "checksumSHA1": "izBSRxLAHN+a/XpAku0in05UzlY=",
"comment": "20141209094003-92-g95fa852",
"path": "github.com/hashicorp/atlas-go/archive",
- "revision": "1792bd8de119ba49b17fd8d3c3c1f488ec613e62",
- "revisionTime": "2016-11-07T20:49:10Z"
+ "revision": "17522f63497eefcffc90d528ca1eeaded2b529d3",
+ "revisionTime": "2017-08-08T16:18:53Z"
},
{
"checksumSHA1": "IR7S+SOsSUnPnLxgRrfemXfCqNM=",
@@ -706,21 +877,16 @@
"revision": "95ba30457eb1121fa27753627c774c7cd4e90083"
},
{
- "checksumSHA1": "LY1os7cX/gWXWTWYCHCtEaf5jSw=",
+ "checksumSHA1": "8z5kCCFRsBkhXic9jxxeIV3bBn8=",
"path": "github.com/masterzen/winrm",
- "revision": "1ca0ba637a877ee12b69abc73c6161fccb77b70a",
- "revisionTime": "2017-06-01T21:16:37Z"
+ "revision": "a2df6b1315e6fd5885eb15c67ed259e85854125f",
+ "revisionTime": "2017-08-14T13:39:27Z"
},
{
- "checksumSHA1": "KTsgWipT3ennAAtaKxEZairxero=",
+ "checksumSHA1": "XFSXma+KmkhkIPsh4dTd/eyja5s=",
"path": "github.com/masterzen/winrm/soap",
- "revision": "1ca0ba637a877ee12b69abc73c6161fccb77b70a",
- "revisionTime": "2017-06-01T21:16:37Z"
- },
- {
- "checksumSHA1": "bx+egnFe0OB0BZBcgZcaqsvcmS4=",
- "path": "github.com/masterzen/xmlpath",
- "revision": "13f4951698adc0fa9c1dda3e275d489a24201161"
+ "revision": "a2df6b1315e6fd5885eb15c67ed259e85854125f",
+ "revisionTime": "2017-08-14T13:39:27Z"
},
{
"checksumSHA1": "NkbetqlpWBi3gP08JDneC+axTKw=",
@@ -793,10 +959,10 @@
"revision": "179d4d0c4d8d407a32af483c2354df1d2c91e6c3"
},
{
- "checksumSHA1": "CeruhvOoHGjNlO+8M7WSUUz1oXA=",
+ "checksumSHA1": "iApv8tX8vuAvzyY6VkOvW+IzJF8=",
"path": "github.com/packer-community/winrmcp/winrmcp",
- "revision": "eda77c146d051992c737322f60a4f690c9538aa1",
- "revisionTime": "2017-01-17T09:42:35Z"
+ "revision": "078cc0a785c9da54158c0775f06f505fc1e867f8",
+ "revisionTime": "2017-06-07T14:21:56Z"
},
{
"checksumSHA1": "oaXvjFg802gS/wx1bx2gAQwa7XQ=",
@@ -855,9 +1021,16 @@
"revision": "792786c7400a136282c1664665ae0a8db921c6c2"
},
{
- "checksumSHA1": "TvF3ym5sZVNqGlUOS9HgOIl/sZM=",
+ "checksumSHA1": "Kq0fF7R65dDcGReuhf47O3LQgrY=",
+ "path": "github.com/profitbricks/profitbricks-sdk-go",
+ "revision": "7bdb11aecb0e457ea23c86898c6b49bfc0eb4bb1",
+ "revisionTime": "2017-08-01T13:52:49Z"
+ },
+ {
+ "checksumSHA1": "zmC8/3V4ls53DJlNTKDZwPSC/dA=",
"path": "github.com/satori/go.uuid",
- "revision": "d41af8bb6a7704f00bc3b7cba9355ae6a5a80048"
+ "revision": "5bf94b69c6b68ee1b541973bb8e1144db23a194b",
+ "revisionTime": "2017-03-21T23:07:31Z"
},
{
"checksumSHA1": "iqUXcP3VA+G1/gVLRpQpBUt/BuA=",
@@ -887,6 +1060,96 @@
"revision": "646ae4a518c1c3be0739df898118d9bccf993858"
},
{
+ "checksumSHA1": "AGBqaHqBx5wJdVRsQt4GeawjbXA=",
+ "path": "github.com/vmware/govmomi",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "hb70n+hgA6nsrZWYQQT+aRgvye0=",
+ "path": "github.com/vmware/govmomi/find",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "J3JrwZagGYMX6oNMkdsUFf8hHo8=",
+ "path": "github.com/vmware/govmomi/list",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "19WR4gS1r3wGL6jAL9g624scugo=",
+ "path": "github.com/vmware/govmomi/object",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "f9sokKYs210zdH/VVF0ycBUO9cc=",
+ "path": "github.com/vmware/govmomi/property",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "eqoHqcnyVN3klOJ89N7xmJhRgu0=",
+ "path": "github.com/vmware/govmomi/session",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "FQR3yNgiShaqUiJREkeqQCKYJ84=",
+ "path": "github.com/vmware/govmomi/task",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "zLg5y/6xx/yr8swoqdyxISyQfoU=",
+ "path": "github.com/vmware/govmomi/vim25",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "xLvppq0NUD6Hv2GIx1gh75xUzyM=",
+ "path": "github.com/vmware/govmomi/vim25/debug",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "FIwHoeb/lzICWAoECQkmKLJg4PE=",
+ "path": "github.com/vmware/govmomi/vim25/methods",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "kiVMrAiW8EBFQvhDMHdE9SFe3N4=",
+ "path": "github.com/vmware/govmomi/vim25/mo",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "tN9fHudMKhR3LjGw/V0fM4xXUJw=",
+ "path": "github.com/vmware/govmomi/vim25/progress",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "c/IZCAPYN0p+ODQ/o/1vmfOgz6M=",
+ "path": "github.com/vmware/govmomi/vim25/soap",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "zthVYB/EefaNfVGrhBluqkd8ZyE=",
+ "path": "github.com/vmware/govmomi/vim25/types",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
+ "checksumSHA1": "6XLRzLEvncx5ORtvBjp41KfRTjc=",
+ "path": "github.com/vmware/govmomi/vim25/xml",
+ "revision": "c2105a174311351d7b23833ba22f65c374be0ce4",
+ "revisionTime": "2017-07-07T01:13:25Z"
+ },
+ {
"checksumSHA1": "mWcSPrZfr9TKc4aoQEPlZ7fBdp0=",
"path": "github.com/xanzy/go-cloudstack/cloudstack",
"revision": "7d6a4449b586546246087e96e5c97dbc450f4917",
@@ -939,12 +1202,20 @@
{
"checksumSHA1": "vqc3a+oTUGX8PmD0TS+qQ7gmN8I=",
"path": "golang.org/x/net/html",
- "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1"
+ "revision": "1c05540f6879653db88113bc4a2b70aec4bd491f",
+ "revisionTime": "2017-08-04T00:04:37Z"
},
{
- "checksumSHA1": "00eQaGynDYrv3tL+C7l9xH0IDZg=",
+ "checksumSHA1": "z79z5msRzgU48FCZxSuxfU8b4rs=",
"path": "golang.org/x/net/html/atom",
- "revision": "6ccd6698c634f5d835c40c1c31848729e0cecda1"
+ "revision": "1c05540f6879653db88113bc4a2b70aec4bd491f",
+ "revisionTime": "2017-08-04T00:04:37Z"
+ },
+ {
+ "checksumSHA1": "barUU39reQ7LdgYLA323hQ/UGy4=",
+ "path": "golang.org/x/net/html/charset",
+ "revision": "1c05540f6879653db88113bc4a2b70aec4bd491f",
+ "revisionTime": "2017-08-04T00:04:37Z"
},
{
"checksumSHA1": "mktBVED98G2vv+OKcSgtnFVZC1Y=",
@@ -972,25 +1243,112 @@
"revision": "8a57ed94ffd43444c0879fe75701732a38afc985"
},
{
- "checksumSHA1": "/SO2lR1gexhKSppnoHk8iflTre4=",
+ "checksumSHA1": "NzQ3QYllWwK+3GZliu11jMU6xwo=",
"path": "golang.org/x/sys/unix",
- "revision": "50c6bc5e4292a1d4e65c6e9be5f53be28bcbe28e"
+ "revision": "c84c1ab9fd18cdd4c23dd021c10f5f46dea95e46",
+ "revisionTime": "2017-08-11T22:05:22Z"
+ },
+ {
+ "checksumSHA1": "Mr4ur60bgQJnQFfJY0dGtwWwMPE=",
+ "path": "golang.org/x/text/encoding",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "DSdlK4MKI/a3U8Zaee2XKBe01Fo=",
+ "path": "golang.org/x/text/encoding/charmap",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "4G6XCBh9Pf3zXDWr/4+P4/BlrSg=",
+ "path": "golang.org/x/text/encoding/htmlindex",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "zeHyHebIZl1tGuwGllIhjfci+wI=",
+ "path": "golang.org/x/text/encoding/internal",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "7kYqxy64WhMjFIFZgN7tJ3lbKxM=",
+ "path": "golang.org/x/text/encoding/internal/identifier",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "2YqVpmvjWGEBATyUphTP1MS34JE=",
+ "path": "golang.org/x/text/encoding/japanese",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "+ErWCAdaMwO4PLtrk9D/Hh+7oQM=",
+ "path": "golang.org/x/text/encoding/korean",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "mTuZi5urYwgDIO8+Gfql2pv8Vwg=",
+ "path": "golang.org/x/text/encoding/simplifiedchinese",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "D+VI4j0Wjzr8SeupWdOB5KBdFOw=",
+ "path": "golang.org/x/text/encoding/traditionalchinese",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
},
{
"checksumSHA1": "G9LfJI9gySazd+MyyC6QbTHx4to=",
"path": "golang.org/x/text/encoding/unicode",
- "revision": "16e1d1f27f7aba51c74c0aeb7a7ee31a75c5c63c",
- "revisionTime": "2016-10-12T14:34:48Z"
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "hyNCcTwMQnV6/MK8uUW9E5H0J0M=",
+ "path": "golang.org/x/text/internal/tag",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "Qk7dljcrEK1BJkAEZguxAbG9dSo=",
+ "path": "golang.org/x/text/internal/utf8internal",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "SymSEo6vQqD+yGDQ1eOmZywzybs=",
+ "path": "golang.org/x/text/language",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "IV4MN7KGBSocu/5NR3le3sxup4Y=",
+ "path": "golang.org/x/text/runes",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
},
{
- "checksumSHA1": "hrUTmck0J+LE+lBtCvHvemNDY8U=",
+ "checksumSHA1": "ziMb9+ANGRJSSIuxYdRbA+cDRBQ=",
+ "path": "golang.org/x/text/transform",
+ "revision": "e56139fd9c5bc7244c76116c68e500765bb6db6b",
+ "revisionTime": "2017-07-04T19:41:35Z"
+ },
+ {
+ "checksumSHA1": "NbZXrCwb2NvwV+g6yF0NXSG63A0=",
"path": "google.golang.org/api/compute/v1",
- "revision": "ff0a1ff302946b997eb1832381419d1f95143483"
+ "revision": "e381d638237fe32daa8eaa3321cf8db7b8203965",
+ "revisionTime": "2017-07-07T17:19:04Z"
},
{
- "checksumSHA1": "0PgeEtxSD/Vg/53Vctpf0Lk9V/k=",
+ "checksumSHA1": "gvrxuXnqGhfzY0O3MFbS8XhMH/k=",
"path": "google.golang.org/api/gensupport",
- "revision": "ff0a1ff302946b997eb1832381419d1f95143483"
+ "revision": "e665075b5ff79143ba49c58fab02df9dc122afd5",
+ "revisionTime": "2017-07-09T10:32:00Z"
},
{
"checksumSHA1": "yQREK/OWrz9PLljbr127+xFk6J0=",
@@ -1091,16 +1449,6 @@
"checksumSHA1": "U7dGDNwEHORvJFMoNSXErKE7ITg=",
"path": "google.golang.org/cloud/internal",
"revision": "5a3b06f8b5da3b7c3a93da43163b872c86c509ef"
- },
- {
- "checksumSHA1": "gY2M/3SCxqgrPz+P/N6JQ+m/wnA=",
- "path": "gopkg.in/xmlpath.v2",
- "revision": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739"
- },
- {
- "checksumSHA1": "0dDWcU08d0FS4d99NCgCkGLjjqw=",
- "path": "gopkg.in/xmlpath.v2/cmd/webpath",
- "revision": "860cbeca3ebcc600db0b213c0e83ad6ce91f5739"
}
],
"rootPath": "github.com/hashicorp/packer"
diff --git a/vendor/github.com/mitchellh/packer/version/version.go b/vendor/github.com/mitchellh/packer/version/version.go
index 83d206c8..770e0211 100644
--- a/vendor/github.com/mitchellh/packer/version/version.go
+++ b/vendor/github.com/mitchellh/packer/version/version.go
@@ -9,12 +9,12 @@ import (
var GitCommit string
// The main version number that is being run at the moment.
-const Version = "1.0.4"
+const Version = "1.1.0"
// A pre-release marker for the version. If this is "" (empty string)
// then it means that it is a final release. Otherwise, this is a pre-release
// such as "dev" (in development), "beta", "rc1", etc.
-const VersionPrerelease = "dev"
+const VersionPrerelease = ""
func FormattedVersion() string {
var versionString bytes.Buffer
diff --git a/vendor/github.com/mitchellh/packer/website/config.rb b/vendor/github.com/mitchellh/packer/website/config.rb
index 482309b3..faa4bf65 100644
--- a/vendor/github.com/mitchellh/packer/website/config.rb
+++ b/vendor/github.com/mitchellh/packer/website/config.rb
@@ -2,7 +2,7 @@ set :base_url, "https://www.packer.io/"
activate :hashicorp do |h|
h.name = "packer"
- h.version = "1.0.3"
+ h.version = "1.1.0"
h.github_slug = "hashicorp/packer"
h.website_root = "website"
end
@@ -27,8 +27,8 @@ helpers do
return "#{page.data.page_title} - Packer by HashiCorp"
end
- "Packer by HashiCorp"
- end
+ "Packer by HashiCorp"
+ end
# Get the description for the page
#
@@ -81,7 +81,7 @@ helpers do
def body_classes_for(page)
classes = []
- if !(layout = page.data.layout).blank?
+ if !(page.data.layout).blank?
classes << "layout-#{page.data.layout}"
end
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/alicloud-ecs.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/alicloud-ecs.html.md
index 6db22f4f..614b2d3d 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/alicloud-ecs.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/alicloud-ecs.html.md
@@ -4,6 +4,7 @@ description: |
customized images based on an existing base images.
layout: docs
page_title: Alicloud Image Builder
+sidebar_current: 'docs-builders-alicloud-ecs'
---
# Alicloud Image Builder
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-chroot.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-chroot.html.md
index 36c0cde1..d1ba50d8 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-chroot.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-chroot.html.md
@@ -128,11 +128,10 @@ each category, the available configuration keys are alphabetized.
source AMI will be attached. This defaults to "" (empty string), which
forces Packer to find an open device automatically.
-- `enhanced_networking` (boolean) - Enable enhanced
- networking (SriovNetSupport and ENA) on HVM-compatible AMIs. If true, add
- `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must make
- sure enhanced networking is enabled on your instance. See [Amazon's
- documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking)
+- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM policy.
+ Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). Default `false`.
- `force_deregister` (boolean) - Force Packer to first deregister an existing
AMI if one with the same name already exists. Default `false`.
@@ -270,7 +269,7 @@ each category, the available configuration keys are alphabetized.
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
@@ -293,6 +292,12 @@ each category, the available configuration keys are alphabetized.
- `most_recent` (bool) - Selects the newest created image when true.
This is most useful for selecting a daily distro build.
+- `sriov_support` (boolean) - Enable enhanced networking (SriovNetSupport but not ENA)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM
+ policy. Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
+ Default `false`.
+
- `tags` (object of key/value strings) - Tags applied to the AMI. This is a
[template engine](/docs/templates/engine.html)
where the `SourceAMI` variable is replaced with the source AMI ID and
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebs.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebs.html.md
index 0bdb3021..f144fbba 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebs.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebs.html.md
@@ -165,11 +165,10 @@ builder.
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
Default `false`.
-- `enhanced_networking` (boolean) - Enable enhanced
- networking (SriovNetSupport and ENA) on HVM-compatible AMIs. If true, add
- `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must make
- sure enhanced networking is enabled on your instance. See [Amazon's
- documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking)
+- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM policy.
+ Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). Default `false`.
- `force_deregister` (boolean) - Force Packer to first deregister an existing
AMI if one with the same name already exists. Default `false`.
@@ -265,7 +264,7 @@ builder.
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
@@ -302,6 +301,12 @@ builder.
best spot price. This must be one of: `Linux/UNIX`, `SUSE Linux`, `Windows`,
`Linux/UNIX (Amazon VPC)`, `SUSE Linux (Amazon VPC)`, `Windows (Amazon VPC)`
+- `sriov_support` (boolean) - Enable enhanced networking (SriovNetSupport but not ENA)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM
+ policy. Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
+ Default `false`.
+
- `ssh_keypair_name` (string) - If specified, this is the key that will be
used for SSH with the machine. The key must match a key pair name loaded
up into Amazon EC2. By default, this is blank, and Packer will
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebssurrogate.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebssurrogate.html.md
index 071af814..f60f6de1 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebssurrogate.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebssurrogate.html.md
@@ -158,11 +158,10 @@ builder.
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
Default `false`.
-- `enhanced_networking` (boolean) - Enable enhanced
- networking (SriovNetSupport and ENA) on HVM-compatible AMIs. If true, add
- `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must make
- sure enhanced networking is enabled on your instance. See [Amazon's
- documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking)
+- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM policy.
+ Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). Default `false`.
- `force_deregister` (boolean) - Force Packer to first deregister an existing
AMI if one with the same name already exists. Default `false`.
@@ -258,7 +257,7 @@ builder.
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
@@ -295,6 +294,12 @@ builder.
best spot price. This must be one of: `Linux/UNIX`, `SUSE Linux`, `Windows`,
`Linux/UNIX (Amazon VPC)`, `SUSE Linux (Amazon VPC)`, `Windows (Amazon VPC)`
+- `sriov_support` (boolean) - Enable enhanced networking (SriovNetSupport but not ENA)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM
+ policy. Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
+ Default `false`.
+
- `ssh_keypair_name` (string) - If specified, this is the key that will be
used for SSH with the machine. The key must match a key pair name loaded
up into Amazon EC2. By default, this is blank, and Packer will
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebsvolume.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebsvolume.html.md
index c27c5414..06da8399 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebsvolume.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-ebsvolume.html.md
@@ -104,11 +104,10 @@ builder.
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
Default `false`.
-- `enhanced_networking` (boolean) - Enable enhanced
- networking (SriovNetSupport and ENA) on HVM-compatible AMIs. If true, add
- `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must make
- sure enhanced networking is enabled on your instance. See [Amazon's
- documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking)
+- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM policy.
+ Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). Default `false`.
- `iam_instance_profile` (string) - The name of an [IAM instance
profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html)
@@ -171,7 +170,7 @@ builder.
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
@@ -208,6 +207,12 @@ builder.
best spot price. This must be one of: `Linux/UNIX`, `SUSE Linux`, `Windows`,
`Linux/UNIX (Amazon VPC)`, `SUSE Linux (Amazon VPC)` or `Windows (Amazon VPC)`
+- `sriov_support` (boolean) - Enable enhanced networking (SriovNetSupport but not ENA)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM
+ policy. Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
+ Default `false`.
+
- `ssh_keypair_name` (string) - If specified, this is the key that will be
used for SSH with the machine. By default, this is blank, and Packer will
generate a temporary key pair unless
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-instance.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-instance.html.md
index c63e537a..8bbd72b8 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-instance.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/amazon-instance.html.md
@@ -189,11 +189,10 @@ builder.
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
Default `false`.
-- `enhanced_networking` (boolean) - Enable enhanced
- networking (SriovNetSupport and ENA) on HVM-compatible AMIs. If true, add
- `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must make
- sure enhanced networking is enabled on your instance. See [Amazon's
- documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking)
+- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM policy.
+ Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). Default `false`.
- `force_deregister` (boolean) - Force Packer to first deregister an existing
AMI if one with the same name already exists. Defaults to `false`.
@@ -263,7 +262,7 @@ builder.
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
@@ -303,6 +302,12 @@ builder.
best spot price. This must be one of: `Linux/UNIX`, `SUSE Linux`, `Windows`,
`Linux/UNIX (Amazon VPC)`, `SUSE Linux (Amazon VPC)`, `Windows (Amazon VPC)`
+- `sriov_support` (boolean) - Enable enhanced networking (SriovNetSupport but not ENA)
+ on HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your AWS IAM
+ policy. Note: you must make sure enhanced networking is enabled on your instance. See [Amazon's
+ documentation on enabling enhanced networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
+ Default `false`.
+
- `ssh_keypair_name` (string) - If specified, this is the key that will be
used for SSH with the machine. The key must match a key pair name loaded
up into Amazon EC2. By default, this is blank, and Packer will
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/azure.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/azure.html.md
index ec391631..abda2a5f 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/azure.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/azure.html.md
@@ -50,7 +50,10 @@ builder.
#### VHD or Managed Image
-The Azure builder can create either a VHD, or a managed image. When creating a VHD the following two options are required.
+The Azure builder can create either a VHD, or a managed image. If you
+are creating a VHD, you **must** start with a VHD. Likewise, if you
+want to create a managed image you **must** start with a managed
+image. When creating a VHD the following two options are required.
- `capture_container_name` (string) Destination container name. Essentially the "directory" where your VHD will be
organized in Azure. The captured VHD's URL will be https://<storage_account>.blob.core.windows.net/system/Microsoft.Compute/Images/<capture_container_name>/<capture_name_prefix>.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.vhd.
@@ -107,6 +110,10 @@ When creating a managed image the following two options are required.
- `image_url` (string) Specify a custom VHD to use. If this value is set, do not set image\_publisher, image\_offer,
image\_sku, or image\_version.
+
+- `managed_image_storage_account_type` (string) Specify the storage
+ account type for a managed image. Valid values are Standard_LRS
+ and Premium\_LRS. The default is Standard\_LRS.
- `object_id` (string) Specify an OAuth Object ID to protect WinRM certificates
created at runtime. This variable is required when creating images based on
@@ -131,9 +138,12 @@ When creating a managed image the following two options are required.
- `tenant_id` (string) The account identifier with which your `client_id` and `subscription_id` are associated. If not
specified, `tenant_id` will be looked up using `subscription_id`.
+- `private_virtual_network_with_public_ip` (boolean) This value allows you to set a `virtual_network_name` and obtain
+ a public IP. If this value is not set and `virtual_network_name` is defined Packer is only allowed to be executed
+ from a host on the same subnet / virtual network.
+
- `virtual_network_name` (string) Use a pre-existing virtual network for the VM. This option enables private
- communication with the VM, no public IP address is **used** or **provisioned**. This value should only be set if
- Packer is executed from a host on the same subnet / virtual network.
+ communication with the VM, no public IP address is **used** or **provisioned** (unless you set `private_virtual_network_with_public_ip`).
- `virtual_network_resource_group_name` (string) If virtual\_network\_name is set, this value **may** also be set. If
virtual\_network\_name is set, and this value is not set the builder attempts to determine the resource group
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/cloudstack.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/cloudstack.html.md
index 9b6bc2ca..7e59fe71 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/cloudstack.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/cloudstack.html.md
@@ -74,6 +74,11 @@ builder.
connect to the instance. Defaults to `[ "0.0.0.0/0" ]`. Only required
when `use_local_ip_address` is `false`.
+- `create_security_group` (boolean) - If `true` a temporary security group
+ will be created which allows traffic towards the instance from the
+ `cidr_list`. This option will be ignored if `security_groups` is also
+ defined. Requires `expunge` set to `true`. Defaults to `false`.
+
- `disk_offering` (string) - The name or ID of the disk offering used for the
instance. This option is only available (and also required) when using
`source_iso`.
@@ -118,6 +123,9 @@ builder.
connecting any provisioners to. If not provided, a temporary public IP
address will be associated and released during the Packer run.
+- `security_groups` (array of strings) - A list of security group IDs or names
+ to associate the instance with.
+
- `ssh_agent_auth` (boolean) - If true, the local SSH agent will be used to
authenticate connections to the source instance. No temporary keypair will
be created, and the values of `ssh_password` and `ssh_private_key_file` will
@@ -149,6 +157,10 @@ builder.
- `template_scalable` (boolean) - Set to `true` to indicate that the template
contains tools to support dynamic scaling of VM cpu/memory. Defaults to `false`.
+- `temporary_keypair_name` (string) - The name of the temporary SSH key pair
+ to generate. By default, Packer generates a name that looks like
+ `packer_<UUID>`, where &lt;UUID&gt; is a 36 character unique identifier.
+
- `user_data` (string) - User data to launch with the instance. This is a
[template engine](/docs/templates/engine.html) see _User Data_ bellow for more
details.
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/docker.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/docker.html.md
index c8276540..7fab6d09 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/docker.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/docker.html.md
@@ -204,6 +204,10 @@ You must specify (only) one of `commit`, `discard`, or `export_path`.
mount into this container. The key of the object is the host path, the value
is the container path.
+- `container_dir` (string) - The directory inside container to mount
+ temp directory from host server for work [file provisioner](/docs/provisioners/file.html).
+ By default this is set to `/packer-files`.
+
## Using the Artifact: Export
Once the tar artifact has been generated, you will likely want to import, tag,
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/googlecompute.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/googlecompute.html.md
index cce0e41c..dda8841d 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/googlecompute.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/googlecompute.html.md
@@ -174,6 +174,12 @@ builder.
Not required if you run Packer on a GCE instance with a service account.
Instructions for creating file or using service accounts are above.
+- `accelerator_count` (int) - Number of guest accelerator cards to add to the launched instance.
+
+- `accelerator_type` (string) - Full or partial URL of the guest accelerator type. GPU accelerators can only be used with
+ `"on_host_maintenance": "TERMINATE"` option set.
+ Example: `"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"`
+
- `address` (string) - The name of a pre-allocated static external IP address.
Note, must be the name and not the actual IP address.
@@ -198,6 +204,9 @@ builder.
- `instance_name` (string) - A name to give the launched instance. Beware that
this must be unique. Defaults to `"packer-{{uuid}}"`.
+- `labels` (object of key/value strings) - Key/value pair labels to apply to
+ the launched instance.
+
- `machine_type` (string) - The machine type. Defaults to `"n1-standard-1"`.
- `metadata` (object of key/value strings) - Metadata applied to the launched
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxc.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxc.html.md
new file mode 100644
index 00000000..0dc207a9
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxc.html.md
@@ -0,0 +1,97 @@
+---
+description: |
+ The `lxc` Packer builder builds containers for lxc1. The builder starts an LXC
+ container, runs provisioners within this container, then exports the container
+ as a tar.gz of the root file system.
+layout: docs
+page_title: LXC Builder
+...
+
+# LXC Builder
+
+Type: `lxc`
+
+The `lxc` Packer builder builds containers for lxc1. The builder starts an LXC
+container, runs provisioners within this container, then exports the container
+as a tar.gz of the root file system.
+
+The LXC builder requires a modern linux kernel and the `lxc` or `lxc1` package.
+This builder does not work with LXD.
+
+Note to build Centos images on a Debian family host, you will need the `yum` package installed.
+
+Some provisioners such as `ansible-local` get confused when running in a container of a different family.
+E.G. it will attempt to use `apt-get` to install packages, when running in a Centos container if the parent OS is Debian based.
+
+## Basic Example
+
+Below is a fully functioning example.
+
+``` {.javascript}
+{
+ "builders": [
+ {
+ "type": "lxc",
+ "name": "lxc-trusty",
+ "config_file": "/tmp/lxc/config",
+ "template_name": "ubuntu",
+ "template_environment_vars": [
+ "SUITE=trusty"
+ ]
+ },
+ {
+ "type": "lxc",
+ "name": "lxc-xenial",
+ "config_file": "/tmp/lxc/config",
+ "template_name": "ubuntu",
+ "template_environment_vars": [
+ "SUITE=xenial"
+ ]
+ },
+ {
+ "type": "lxc",
+ "name": "lxc-jessie",
+ "config_file": "/tmp/lxc/config",
+ "template_name": "debian",
+ "template_environment_vars": [
+ "SUITE=jessie"
+ ]
+ },
+ {
+ "type": "lxc",
+ "name": "lxc-centos-7-x64",
+ "config_file": "/tmp/lxc/config",
+ "template_name": "centos",
+ "template_parameters": [
+ "-R","7",
+ "-a","x86_64"
+ ]
+ }
+ ]
+}
+```
+
+## Configuration Reference
+
+### Required:
+
+- `config_file` (string) - The path to the lxc configuration file.
+
+- `template_name` (string) - The LXC template name to use.
+
+- `template_environment_vars` (array of strings) - Environmental variables to use to build the template with.
+
+### Optional:
+
+- `target_runlevel` (int) - The minimum run level to wait for the container to reach. Note some distributions (Ubuntu) simulate run levels and may report 5 rather than 3.
+
+- `output_directory` (string) - The directory in which to save the exported tar.gz. Defaults to `output-<BuildName>` in the current directory.
+
+- `container_name` (string) - The name of the LXC container. Usually stored in `/var/lib/lxc/containers/<container_name>`. Defaults to `packer-<BuildName>`.
+
+- `command_wrapper` (string) - Allows you to specify a wrapper command, such as `ssh` so you can execute packer builds on a remote host. Defaults to Empty.
+
+- `init_timeout` (string) - The timeout in seconds to wait for the the container to start. Defaults to 20 seconds.
+
+- `template_parameters` (array of strings) - Options to pass to the given `lxc-template` command, usually located in `/usr/share/lxc/templates/lxc-<template_name>``. Note: This gets passed as ARGV to the template command. Ensure you have an array of strings, as a single string with spaces probably won't work. Defaults to `[]`.
+
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxd.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxd.html.md
new file mode 100644
index 00000000..dd386b1b
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/lxd.html.md
@@ -0,0 +1,52 @@
+---
+description: |
+ The `lxd` Packer builder builds containers for LXD. The builder starts an LXD
+ container, runs provisioners within this container, then saves the container
+ as an LXD image.
+layout: docs
+page_title: LXD Builder
+...
+
+# LXD Builder
+
+Type: `lxd`
+
+The `lxd` Packer builder builds containers for LXD. The builder starts an LXD
+container, runs provisioners within this container, then saves the container
+as an LXD image.
+
+The LXD builder requires a modern linux kernel and the `lxd` package.
+This builder does not work with LXC.
+
+## Basic Example
+
+Below is a fully functioning example.
+
+``` {.javascript}
+{
+ "builders": [
+ {
+ "type": "lxd",
+ "name": "lxd-xenial",
+ "image": "ubuntu-daily:xenial",
+ "output_image": "ubuntu-xenial"
+ }
+ ]
+}
+```
+
+## Configuration Reference
+
+### Required:
+
+- `image` (string) - The source image to use when creating the build container. This can be a (local or remote) image (name or fingerprint). E.G. my-base-image, ubuntu-daily:x, 08fababf6f27...
+ Note: The builder may appear to pause if required to download a remote image, as they are usually 100-200MB. `/var/log/lxd/lxd.log` will mention starting such downloads.
+
+### Optional:
+
+- `name` (string) - The name of the started container. Defaults to `packer-$PACKER_BUILD_NAME`.
+
+- `output_image` (string) - The name of the output artifact. Defaults to `name`.
+
+- `command_wrapper` (string) - lets you prefix all builder commands, such as with `ssh` for a remote build host. Defaults to `""`.
+
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/oracle-oci.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/oracle-oci.html.md
new file mode 100644
index 00000000..3503d4fc
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/oracle-oci.html.md
@@ -0,0 +1,143 @@
+---
+description:
+ The oracle-oci builder is able to create new custom images for use with Oracle
+ Cloud Infrastructure (OCI).
+layout: docs
+page_title: 'Oracle OCI - Builders'
+sidebar_current: 'docs-builders-oracle-oci'
+---
+
+# Oracle Cloud Infrastructure (OCI) Builder
+
+Type: `oracle-oci`
+
+The `oracle-oci` Packer builder is able to create new custom images for use
+with [Oracle Cloud Infrastructure](https://cloud.oracle.com) (OCI). The builder
+takes a base image, runs any provisioning necessary on the base image after
+launching it, and finally snapshots it creating a reusable custom image.
+
+It is recommended that you familiarise yourself with the
+[Key Concepts and Terminology](https://docs.us-phoenix-1.oraclecloud.com/Content/GSG/Concepts/concepts.htm)
+prior to using this builder if you have not done so already.
+
+The builder _does not_ manage images. Once it creates an image, it is up to you
+to use it or delete it.
+
+## Authorization
+
+The Oracle OCI API requires that requests be signed with the RSA public key
+associated with your [IAM](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm)
+user account. For a comprehensive example of how to configure the required
+authentication see the documentation on
+[Required Keys and OCIDs](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
+([Oracle Cloud IDs](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm)).
+
+## Configuration Reference
+
+There are many configuration options available for the `oracle-oci` builder.
+In addition to the options listed here, a
+[communicator](/docs/templates/communicator.html) can be configured for this
+builder.
+
+### Required
+
+ - `availability_domain` (string) - The name of the
+ [Availability Domain](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm)
+ within which a new instance is launched and provisioned.
+ The names of the Availability Domains have a prefix that is specific to
+ your [tenancy](https://docs.us-phoenix-1.oraclecloud.com/Content/GSG/Concepts/concepts.htm#two).
+
+ To get a list of the Availability Domains, use the
+ [ListAvailabilityDomains](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/identity/latest/AvailabilityDomain/ListAvailabilityDomains)
+ operation, which is available in the IAM Service API.
+
+ - `base_image_ocid` (string) - The OCID of the [base image](https://docs.us-phoenix-1.oraclecloud.com/Content/Compute/References/images.htm)
+ to use. This is the unique identifier of the image that will be used to
+ launch a new instance and provision it.
+
+ To get a list of the accepted image OCIDs, use the
+ [ListImages](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/latest/Image/ListImages)
+ operation available in the Core Services API.
+
+ - `compartment_ocid` (string) - The OCID of the
+ [compartment](https://docs.us-phoenix-1.oraclecloud.com/Content/GSG/Tasks/choosingcompartments.htm)
+
+ - `fingerprint` (string) - Fingerprint for the OCI API signing key.
+ Overrides value provided by the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+ - `shape` (string) - The template that determines the number of
+ CPUs, amount of memory, and other resources allocated to a newly created
+ instance.
+
+ To get a list of the available shapes, use the
+ [ListShapes](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/20160918/Shape/ListShapes)
+ operation available in the Core Services API.
+
+ - `subnet_ocid` (string) - The name of the subnet within which a new instance
+ is launched and provisioned.
+
+ To get a list of your subnets, use the
+ [ListSubnets](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/latest/Subnet/ListSubnets)
+ operation available in the Core Services API.
+
+ Note: the subnet must be configured to allow access via your chosen
+ [communicator](/docs/templates/communicator.html) (communicator defaults to
+ [SSH tcp/22](/docs/templates/communicator.html#ssh_port)).
+
+
+### Optional
+
+ - `access_cfg_file` (string) - The path to the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm).
+ Defaults to `$HOME/.oci/config`.
+
+ - `access_cfg_file_account` (string) - The specific account in the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ to use. Defaults to `DEFAULT`.
+
+ - `image_name` (string) - The name to assign to the resulting custom image.
+
+ - `key_file` (string) - Full path and filename of the OCI API signing key.
+ Overrides value provided by the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+ - `pass_phrase` (string) - Pass phrase used to decrypt the OCI API signing
+ key. Overrides value provided by the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+ - `region` (string) - An Oracle Cloud Infrastructure region. Overrides
+ value provided by the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+ - `tenancy_ocid` (string) - The OCID of your tenancy. Overrides value provided
+ by the
+ [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+ - `user_ocid` (string) - The OCID of the user calling the OCI API. Overrides
+ value provided by the [OCI config file](https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/sdkconfig.htm)
+ if present.
+
+
+## Basic Example
+
+Here is a basic example. Note that account specific configuration has been
+substituted with the letter `a` and OCIDS have been shortened for brevity.
+
+``` {.json}
+{
+ "availability_domain": "aaaa:PHX-AD-1",
+ "base_image_ocid": "ocid1.image.oc1.phx.aaaaaaaa5yu6pw3riqtuhxzov7fdngi4tsteganmao54nq3pyxu3hxcuzmoa",
+ "compartment_ocid": "ocid1.compartment.oc1..aaa",
+ "image_name": "ExampleImage",
+ "shape": "VM.Standard1.1",
+ "ssh_username": "opc",
+ "subnet_ocid": "ocid1.subnet.oc1..aaa",
+ "type": "oracle-oci"
+}
+```
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/builders/vmware-iso.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/builders/vmware-iso.html.md
index 478c1a0b..4d00965b 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/builders/vmware-iso.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/builders/vmware-iso.html.md
@@ -478,7 +478,8 @@ modify as well:
- `format` (string) - Either "ovf", "ova" or "vmx", this specifies the output
format of the exported virtual machine. This defaults to "ovf".
- Before using this option, you need to install `ovftool`.
+ Before using this option, you need to install `ovftool`. This option
+ works currently only with option remote_type set to "esx5".
### VNC port discovery
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/post-processors/vsphere-template.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/post-processors/vsphere-template.html.md
new file mode 100644
index 00000000..e72dc19c
--- /dev/null
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/post-processors/vsphere-template.html.md
@@ -0,0 +1,53 @@
+---
+description: |
+ The Packer vSphere Template post-processor takes an artifact from the VMware-iso builder built on ESXi (i.e. remote)
+ and allows to mark a VM as a template and leaving it in a path of choice.
+layout: docs
+page_title: 'vSphere Template - Post-Processors'
+sidebar_current: 'docs-post-processors-vSphere-template'
+---
+
+# vSphere Template Post-Processor
+
+Type: `vsphere-template`
+
+The Packer vSphere template post-processor takes an artifact from the VMware-iso builder built on ESXi (i.e. remote) and
+allows to mark a VM as a template and leaving it in a path of choice.
+
+## Example
+
+An example is shown below, showing only the post-processor configuration:
+
+``` json
+{
+ "type": "vsphere-template",
+ "host": "vcenter.local",
+ "insecure": true,
+ "username": "root",
+ "password": "secret",
+ "datacenter": "mydatacenter",
+ "folder": "/packer-templates/os/distro-7"
+}
+```
+
+## Configuration
+
+There are many configuration options available for the post-processor. They are
+segmented below into two categories: required and optional parameters. Within
+each category, the available configuration keys are alphabetized.
+
+Required:
+
+- `host` (string) - The vSphere host that contains the VM built by the vmware-iso.
+
+- `password` (string) - Password to use to authenticate to the vSphere endpoint.
+
+- `username` (string) - The username to use to authenticate to the vSphere endpoint.
+
+Optional:
+
+- `datacenter` (string) - If you have more than one, you will need to specify which one the ESXi used.
+
+- `folder` (string) - Target path where the template will be created.
+
+- `insecure` (boolean) - If it's true skip verification of server certificate. Default is false
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible-local.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible-local.html.md
index 3ca775cf..f2160792 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible-local.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible-local.html.md
@@ -114,6 +114,9 @@ chi-appservers
cli](http://docs.ansible.com/ansible/galaxy.html#the-ansible-galaxy-command-line-tool)
on the remote machine. By default, this is empty.
+- `galaxycommand` (string) - The command to invoke ansible-galaxy.
+ By default, this is ansible-galaxy.
+
- `group_vars` (string) - a path to the directory containing ansible group
variables on your local system to be copied to the remote machine. By
default, this is empty.
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible.html.md
index 61719509..97e54869 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/ansible.html.md
@@ -136,6 +136,16 @@ commonly useful Ansible variables:
machine that the script is running on. This is useful if you want to run
only certain parts of the playbook on systems built with certain builders.
+## Debugging
+
+To debug underlying issues with Ansible, add `"-vvvv"` to `"extra_arguments"` to enable verbose logging.
+
+``` json
+{
+ "extra_arguments": [ "-vvvv" ]
+}
+```
+
## Limitations
### Redhat / CentOS
@@ -231,3 +241,17 @@ This template should build a Windows Server 2012 image on Google Cloud Platform:
]
}
```
+
+### Too many SSH keys
+
+SSH servers only allow you to attempt to authenticate a certain number of times. All of your loaded keys will be tried before the dynamically generated key. If you have too many SSH keys loaded in your `ssh-agent`, the Ansible provisioner may fail authentication with a message similar to this:
+
+```console
+ googlecompute: fatal: [default]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Warning: Permanently added '[127.0.0.1]:62684' (RSA) to the list of known hosts.\r\nReceived disconnect from 127.0.0.1 port 62684:2: too many authentication failures\r\nAuthentication failed.\r\n", "unreachable": true}
+```
+
+To unload all keys from your `ssh-agent`, run:
+
+```console
+$ ssh-add -D
+```
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-masterless.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-masterless.html.md
index c630f841..b58d7825 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-masterless.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-masterless.html.md
@@ -59,6 +59,10 @@ Optional parameters:
variables](/docs/templates/engine.html) available. See
below for more information.
+- `guest_os_type` (string) - The target guest OS type, either "unix" or
+ "windows". Setting this to "windows" will cause the provisioner to use
+ Windows friendly paths and commands. By default, this is "unix".
+
- `extra_arguments` (array of strings) - This is an array of additional options to
pass to the puppet command when executing puppet. This allows for
customization of the `execute_command` without having to completely replace
@@ -99,12 +103,13 @@ multiple manifests you should use `manifest_file` instead.
executed to run Puppet are executed with `sudo`. If this is true, then the
sudo will be omitted.
-- `staging_directory` (string) - This is the directory where all the
- configuration of Puppet by Packer will be placed. By default this
- is "/tmp/packer-puppet-masterless". This directory doesn't need to exist but
- must have proper permissions so that the SSH user that Packer uses is able
- to create directories and write into this folder. If the permissions are not
- correct, use a shell provisioner prior to this to configure it properly.
+- `staging_directory` (string) - This is the directory where all the configuration
+ of Puppet by Packer will be placed. By default this is "/tmp/packer-puppet-masterless"
+ when guest OS type is unix and "C:/Windows/Temp/packer-puppet-masterless" when windows.
+ This directory doesn't need to exist but must have proper permissions so that the SSH
+ user that Packer uses is able to create directories and write into this folder.
+ If the permissions are not correct, use a shell provisioner prior to this to configure
+ it properly.
- `working_directory` (string) - This is the directory from which the puppet
command will be run. When using hiera with a relative path, this option
@@ -117,17 +122,28 @@ multiple manifests you should use `manifest_file` instead.
By default, Packer uses the following command (broken across multiple lines for
readability) to execute Puppet:
-``` liquid
-cd {{.WorkingDir}} && \
-{{.FacterVars}}{{if .Sudo}} sudo -E {{end}} \
-{{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}{{end}}puppet apply \
- --verbose \
- --modulepath='{{.ModulePath}}' \
- {{if ne .HieraConfigPath ""}}--hiera_config='{{.HieraConfigPath}}' {{end}} \
- {{if ne .ManifestDir ""}}--manifestdir='{{.ManifestDir}}' {{end}} \
- --detailed-exitcodes \
- {{if ne .ExtraArguments ""}}{{.ExtraArguments}} {{end}} \
- {{.ManifestFile}}
+```
+cd {{.WorkingDir}} &&
+{{.FacterVars}} {{if .Sudo}} sudo -E {{end}}
+puppet apply --verbose --modulepath='{{.ModulePath}}'
+{{if ne .HieraConfigPath ""}}--hiera_config='{{.HieraConfigPath}}' {{end}}
+{{if ne .ManifestDir ""}}--manifestdir='{{.ManifestDir}}' {{end}}
+--detailed-exitcodes
+{{if ne .ExtraArguments ""}}{{.ExtraArguments}} {{end}}
+{{.ManifestFile}}
+```
+
+The following command is used if guest OS type is windows:
+
+```
+cd {{.WorkingDir}} &&
+{{.FacterVars}} &&
+puppet apply --verbose --modulepath='{{.ModulePath}}'
+{{if ne .HieraConfigPath ""}}--hiera_config='{{.HieraConfigPath}}' {{end}}
+{{if ne .ManifestDir ""}}--manifestdir='{{.ManifestDir}}' {{end}}
+--detailed-exitcodes
+{{if ne .ExtraArguments ""}}{{.ExtraArguments}} {{end}}
+{{.ManifestFile}}
```
This command can be customized using the `execute_command` configuration. As you
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-server.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-server.html.md
index 61a06d22..6adfd6b0 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-server.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/provisioners/puppet-server.html.md
@@ -81,20 +81,38 @@ listed below:
or `%PATH%` environment variable, but some builders (notably, the Docker one) do
not run profile-setup scripts, therefore the path is usually empty.
+- `guest_os_type` (string) - The target guest OS type, either "unix" or
+ "windows". Setting this to "windows" will cause the provisioner to use
+ Windows friendly paths and commands. By default, this is "unix".
+
- `execute_command` (string) - This is optional. The command used to execute Puppet. This has
- various [configuration template
- variables](/docs/templates/engine.html) available. See
- below for more information. By default, Packer uses the following command:
-
-``` liquid
-{{.FacterVars}} {{if .Sudo}} sudo -E {{end}} \
- {{if ne .PuppetBinDir \"\"}}{{.PuppetBinDir}}/{{end}}puppet agent --onetime --no-daemonize \
- {{if ne .PuppetServer \"\"}}--server='{{.PuppetServer}}' {{end}} \
- {{if ne .Options \"\"}}{{.Options}} {{end}} \
- {{if ne .PuppetNode \"\"}}--certname={{.PuppetNode}} {{end}} \
- {{if ne .ClientCertPath \"\"}}--certdir='{{.ClientCertPath}}' {{end}} \
- {{if ne .ClientPrivateKeyPath \"\"}}--privatekeydir='{{.ClientPrivateKeyPath}}' \
- {{end}} --detailed-exitcodes
+ various [configuration template variables](/docs/templates/engine.html) available. By default,
+ Packer uses the following command (broken across multiple lines for readability) to execute Puppet:
+
+```
+{{.FacterVars}} {{if .Sudo}}sudo -E {{end}}
+{{if ne .PuppetBinDir ""}}{{.PuppetBinDir}}/{{end}}puppet agent
+--onetime --no-daemonize
+{{if ne .PuppetServer ""}}--server='{{.PuppetServer}}' {{end}}
+{{if ne .Options ""}}{{.Options}} {{end}}
+{{if ne .PuppetNode ""}}--certname={{.PuppetNode}} {{end}}
+{{if ne .ClientCertPath ""}}--certdir='{{.ClientCertPath}}' {{end}}
+{{if ne .ClientPrivateKeyPath ""}}--privatekeydir='{{.ClientPrivateKeyPath}}' {{end}}
+--detailed-exitcodes
+```
+
+The following command is used if guest OS type is windows:
+
+```
+{{.FacterVars}}
+{{if ne .PuppetBinDir ""}}{{.PuppetBinDir}}/{{end}}puppet agent
+--onetime --no-daemonize
+{{if ne .PuppetServer ""}}--server='{{.PuppetServer}}' {{end}}
+{{if ne .Options ""}}{{.Options}} {{end}}
+{{if ne .PuppetNode ""}}--certname={{.PuppetNode}} {{end}}
+{{if ne .ClientCertPath ""}}--certdir='{{.ClientCertPath}}' {{end}}
+{{if ne .ClientPrivateKeyPath ""}}--privatekeydir='{{.ClientPrivateKeyPath}}' {{end}}
+--detailed-exitcodes
```
## Default Facts
diff --git a/vendor/github.com/mitchellh/packer/website/source/docs/templates/communicator.html.md b/vendor/github.com/mitchellh/packer/website/source/docs/templates/communicator.html.md
index 423ebe8c..6109ca44 100644
--- a/vendor/github.com/mitchellh/packer/website/source/docs/templates/communicator.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/docs/templates/communicator.html.md
@@ -75,8 +75,8 @@ The SSH communicator has the following options:
- `ssh_bastion_username` (string) - The username to connect to the bastion
host.
-- `ssh_disable_agent` (boolean) - If true, SSH agent forwarding will be
- disabled. Defaults to false.
+- `ssh_disable_agent_forwarding` (boolean) - If true, SSH agent forwarding
+ will be disabled. Defaults to false.
- `ssh_file_transfer_method` (`scp` or `sftp`) - How to transfer files, Secure
copy (default) or SSH File Transfer Protocol.
diff --git a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/build-image.html.md b/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/build-image.html.md
index 9da68041..2e9a6776 100644
--- a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/build-image.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/build-image.html.md
@@ -58,7 +58,7 @@ briefly. Create a file `example.json` and fill it with the following contents:
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
- "name": "*ubuntu-xenial-16.04-amd64-server-*",
+ "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
diff --git a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/next.html.md b/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/next.html.md
index 7ee31489..fcc35516 100644
--- a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/next.html.md
+++ b/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/next.html.md
@@ -20,10 +20,6 @@ From this point forward, the most important reference for you will be the
[documentation](/docs/index.html). The documentation is less of a guide and more of a
reference of all the overall features and options of Packer.
-If you're interested in learning more about how Packer fits into the HashiCorp
-ecosystem of tools, read our [Atlas getting started
-overview](https://atlas.hashicorp.com/help/intro/getting-started).
-
As you use Packer more, please voice your comments and concerns on the [mailing
list or IRC](/community.html). Additionally, Packer is [open
source](https://github.com/hashicorp/packer) so please contribute if you'd like
diff --git a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/remote-builds.html.md b/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/remote-builds.html.md
deleted file mode 100644
index 593cd628..00000000
--- a/vendor/github.com/mitchellh/packer/website/source/intro/getting-started/remote-builds.html.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: intro
-sidebar_current: intro-getting-started-remote-builds
-page_title: Remote Builds and Storage - Getting Started
-description: |-
- Up to this point in the guide, you have been running Packer on your local
- machine to build and provision images on AWS and DigitalOcean. However, you
- can use Atlas by HashiCorp to both run Packer builds remotely and store the
- output of builds.
----
-
-# Remote Builds and Storage
-
-Up to this point in the guide, you have been running Packer on your local
-machine to build and provision images on AWS and DigitalOcean. However, you can
-use [Atlas by HashiCorp](https://atlas.hashicorp.com) to run Packer builds
-remotely and store the output of builds.
-
-## Why Build Remotely?
-
-By building remotely, you can move access credentials off of developer machines,
-release local machines from long-running Packer processes, and automatically
-start Packer builds from trigger sources such as `vagrant push`, a version
-control system, or CI tool.
-
-## Run Packer Builds Remotely
-
-To run Packer remotely, there are two changes that must be made to the Packer
-template. The first is the addition of the `push`
-[configuration](https://www.packer.io/docs/templates/push.html), which sends the
-Packer template to Atlas so it can run Packer remotely. The second modification
-is updating the variables section to read variables from the Atlas environment
-rather than the local environment. Remove the `post-processors` section for now
-if it is still in your template.
-
-```json
-{
- "variables": {
- "aws_access_key": "{{env `aws_access_key`}}",
- "aws_secret_key": "{{env `aws_secret_key`}}"
- },
- "builders": [{
- "type": "amazon-ebs",
- "access_key": "{{user `aws_access_key`}}",
- "secret_key": "{{user `aws_secret_key`}}",
- "region": "us-east-1",
- "source_ami": "ami-9eaa1cf6",
- "instance_type": "t2.micro",
- "ssh_username": "ubuntu",
- "ami_name": "packer-example {{timestamp}}"
- }],
- "provisioners": [{
- "type": "shell",
- "inline": [
- "sleep 30",
- "sudo apt-get update",
- "sudo apt-get install -y redis-server"
- ]
- }],
- "push": {
- "name": "ATLAS_USERNAME/packer-tutorial"
- }
-}
-```
-
-To get an Atlas username, [create an account
-here](https://atlas.hashicorp.com/account/new?utm_source=oss&utm_medium=getting-started&utm_campaign=packer). Once you have an account, you will need to contact
-sales@hashicorp.com to start a trial, if you haven't already done so.
-
-Replace "ATLAS\_USERNAME" with your username in the above config. Generate an
-Atlas token by navigating to https://atlas.hashicorp.com/settings/tokens and set
-that token as an environment variable: `ATLAS_TOKEN=YOURTOKENHERE`.
-
-Then run `packer push example.json` to send the configuration to Atlas, which
-automatically starts the build.
-
-This build will fail since neither `aws_access_key` or `aws_secret_key` are set
-in the Atlas environment. To set environment variables in Atlas, navigate to
-the [Builds tab](https://atlas.hashicorp.com/builds), click the
-"packer-tutorial" build configuration that was just created, and then click
-'variables' in the left navigation. Set `aws_access_key` and `aws_secret_key`
-with their respective values. Now restart the Packer build by either clicking
-'rebuild' in the Atlas UI or by running `packer push example.json` again. Now
-when you click on the active build, you can view the logs in real-time.
-
--> **Note:** Whenever a change is made to the Packer template, you must
-`packer push` to update the configuration in Atlas.
-
-## Store Packer Outputs
-
-Now we have Atlas building an AMI with Redis pre-configured. This is great, but
-it's even better to store and version the AMI output so it can be easily
-deployed by a tool like [Terraform](https://www.terraform.io). The `atlas`
-[post-processor](/docs/post-processors/atlas.html) makes this process easier:
-
-```json
-{
- "variables": ["..."],
- "builders": ["..."],
- "provisioners": ["..."],
- "push": ["..."],
- "post-processors": [{
- "type": "atlas",
- "artifact": "ATLAS_USERNAME/packer-tutorial",
- "artifact_type": "amazon.image"
- }]
-}
-```
-
-Update the `post-processors` block with your Atlas username, then
-`packer push example.json` and watch the build kick off in Atlas! When the build
-completes, the resulting artifact will be saved and stored in Atlas.
diff --git a/vendor/github.com/mitchellh/packer/website/source/intro/hashicorp-ecosystem.html.md b/vendor/github.com/mitchellh/packer/website/source/intro/hashicorp-ecosystem.html.md
deleted file mode 100644
index 1fb7bbaf..00000000
--- a/vendor/github.com/mitchellh/packer/website/source/intro/hashicorp-ecosystem.html.md
+++ /dev/null
@@ -1,68 +0,0 @@
----
-layout: intro
-sidebar_current: intro-ecosystem
-page_title: Packer and the HashiCorp Ecosystem - Introduction
-description: |-
- Learn how Packer fits in with the rest of the HashiCorp ecosystem of tools
----
-
-# Packer and the HashiCorp Ecosystem
-
-HashiCorp is the creator of the open source projects Vagrant, Packer, Terraform,
-Serf, Consul, Nomad, and the commercial product Atlas. Packer is just one piece
-of the ecosystem HashiCorp has built to make application delivery a versioned,
-auditable, repeatable, and collaborative process. To learn more about our
-beliefs on the qualities of the modern datacenter and responsible application
-delivery, read [The Atlas Mindset: Version Control for
-Infrastructure](https://www.hashicorp.com/blog/atlas-mindset.html?utm_source=packer&utm_campaign=HashicorpEcosystem).
-
-If you are using Packer to build machine images and deployable artifacts, it's
-likely that you need a solution for deploying those artifacts. Terraform is our
-tool for creating, combining, and modifying infrastructure.
-
-Below are summaries of HashiCorp's open source projects and a graphic showing
-how Atlas connects them to create a full application delivery workflow.
-
-# HashiCorp Ecosystem
-
-![Atlas Workflow](docs/atlas-workflow.png)
-
-[Atlas](https://atlas.hashicorp.com/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is HashiCorp's only commercial product. It unites Packer, Terraform, and Consul
-to make application delivery a versioned, auditable, repeatable, and
-collaborative process.
-
-[Packer](https://www.packer.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is a HashiCorp tool for creating machine images and deployable artifacts such as
-AMIs, OpenStack images, Docker containers, etc.
-
-[Terraform](https://www.terraform.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is a HashiCorp tool for creating, combining, and modifying infrastructure. In
-the Atlas workflow Terraform reads from the artifact registry and provisions
-infrastructure.
-
-[Consul](https://www.consul.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is a HashiCorp tool for service discovery, service registry, and health checks.
-In the Atlas workflow Consul is configured at the Packer build stage and
-identifies the service(s) contained in each artifact. Since Consul is configured
-at the build phase with Packer, when the artifact is deployed with Terraform, it
-is fully configured with dependencies and service discovery pre-baked. This
-greatly reduces the risk of an unhealthy node in production due to configuration
-failure at runtime.
-
-[Serf](https://www.serf.io/?utm_source=packer&utm_campaign=HashicorpEcosystem) is
-a HashiCorp tool for cluster membership and failure detection. Consul uses
-Serf's gossip protocol as the foundation for service discovery.
-
-[Vagrant](https://www.vagrantup.com/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is a HashiCorp tool for managing development environments that mirror
-production. Vagrant environments reduce the friction of developing a project and
-reduce the risk of unexpected behavior appearing after deployment. Vagrant boxes
-can be built in parallel with production artifacts with Packer to maintain
-parity between development and production.
-
-[Nomad](https://www.nomadproject.io/?utm_source=packer&utm_campaign=HashicorpEcosystem)
-is a HashiCorp tool for managing a cluster of machines and running applications
-on them. Nomad abstracts away machines and the location of applications, and
-instead enables users to declare what they want to run and Nomad handles where
-they should run and how to run them.
diff --git a/vendor/github.com/mitchellh/packer/website/source/layouts/docs.erb b/vendor/github.com/mitchellh/packer/website/source/layouts/docs.erb
index bb8b6fa7..133ebb3a 100644
--- a/vendor/github.com/mitchellh/packer/website/source/layouts/docs.erb
+++ b/vendor/github.com/mitchellh/packer/website/source/layouts/docs.erb
@@ -122,6 +122,9 @@
<li<%= sidebar_current("docs-builders-openstack") %>>
<a href="/docs/builders/openstack.html">OpenStack</a>
</li>
+ <li<%= sidebar_current("docs-builders-oracle-oci") %>>
+ <a href="/docs/builders/oracle-oci.html">Oracle OCI</a>
+ </li>
<li<%= sidebar_current("docs-builders-parallels") %>>
<a href="/docs/builders/parallels.html">Parallels</a>
<ul class="nav">
@@ -190,8 +193,11 @@
<li<%= sidebar_current("docs-provisioners-file")%>>
<a href="/docs/provisioners/file.html">File</a>
</li>
+ <li<%= sidebar_current("docs-provisioners-lxd")%>>
+ <a href="/docs/builders/lxd.html">LXD</a>
+ </li>
<li<%= sidebar_current("docs-provisioners-powershell")%>>
- <a href="/docs/provisioners/powershell.html">PowerShell</a>
+ <a href="/docs/provisioners/powershell.html">webPowerShell</a>
</li>
<li<%= sidebar_current("docs-provisioners-puppet-masterless")%>>
<a href="/docs/provisioners/puppet-masterless.html">Puppet Masterless</a>
@@ -270,6 +276,9 @@
<li<%= sidebar_current("docs-post-processors-vsphere") %>>
<a href="/docs/post-processors/vsphere.html">vSphere</a>
</li>
+ <li<%= sidebar_current("docs-post-processors-vSphere-template") %>>
+ <a href="/docs/post-processors/vsphere-template.html">vSphere Template</a>
+ </li>
</ul>
</li>
diff --git a/vendor/github.com/mitchellh/packer/website/source/layouts/intro.erb b/vendor/github.com/mitchellh/packer/website/source/layouts/intro.erb
index 1963d3f0..ef4e0ca2 100644
--- a/vendor/github.com/mitchellh/packer/website/source/layouts/intro.erb
+++ b/vendor/github.com/mitchellh/packer/website/source/layouts/intro.erb
@@ -7,9 +7,6 @@
<li<%= sidebar_current("intro-use-cases") %>>
<a href="/intro/use-cases.html">Use Cases</a>
</li>
- <li<%= sidebar_current("intro-ecosystem") %>>
- <a href="/intro/hashicorp-ecosystem.html">Packer &amp; HashiCorp</a>
- </li>
<li<%= sidebar_current("intro-getting-started") %>>
<a href="/intro/getting-started/install.html">Getting Started</a>
@@ -29,9 +26,6 @@
<li<%= sidebar_current("intro-getting-started-vagrant") %>>
<a href="/intro/getting-started/vagrant.html">Vagrant Boxes</a>
</li>
- <li<%= sidebar_current("intro-getting-started-remote-builds") %>>
- <a href="/intro/getting-started/remote-builds.html">Remote Builds</a>
- </li>
<li<%= sidebar_current("intro-getting-started-next") %>>
<a href="/intro/getting-started/next.html">Next Steps</a>
</li>
diff --git a/vendor/github.com/posener/complete/.gitignore b/vendor/github.com/posener/complete/.gitignore
new file mode 100644
index 00000000..13637208
--- /dev/null
+++ b/vendor/github.com/posener/complete/.gitignore
@@ -0,0 +1,2 @@
+.idea
+coverage.txt
diff --git a/vendor/github.com/posener/complete/.travis.yml b/vendor/github.com/posener/complete/.travis.yml
new file mode 100644
index 00000000..459df21c
--- /dev/null
+++ b/vendor/github.com/posener/complete/.travis.yml
@@ -0,0 +1,17 @@
+language: go
+sudo: false
+go:
+ - 1.8
+ - tip
+
+before_install:
+ - go get -u -t ./...
+ - go get -u gopkg.in/alecthomas/gometalinter.v1
+ - gometalinter.v1 --install
+
+script:
+ - gometalinter.v1 --config metalinter.json ./...
+ - ./test.sh
+
+after_success:
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/github.com/posener/complete/LICENSE.txt b/vendor/github.com/posener/complete/LICENSE.txt
new file mode 100644
index 00000000..16249b4a
--- /dev/null
+++ b/vendor/github.com/posener/complete/LICENSE.txt
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2017 Eyal Posener
+
+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. \ No newline at end of file
diff --git a/vendor/github.com/posener/complete/args.go b/vendor/github.com/posener/complete/args.go
new file mode 100644
index 00000000..73c356d7
--- /dev/null
+++ b/vendor/github.com/posener/complete/args.go
@@ -0,0 +1,75 @@
+package complete
+
+import (
+ "os"
+ "path/filepath"
+)
+
+// Args describes command line arguments
+type Args struct {
+ // All lists of all arguments in command line (not including the command itself)
+ All []string
+ // Completed lists of all completed arguments in command line,
+ // If the last one is still being typed - no space after it,
+ // it won't appear in this list of arguments.
+ Completed []string
+ // Last argument in command line, the one being typed, if the last
+ // character in the command line is a space, this argument will be empty,
+ // otherwise this would be the last word.
+ Last string
+ // LastCompleted is the last argument that was fully typed.
+ // If the last character in the command line is space, this would be the
+ // last word, otherwise, it would be the word before that.
+ LastCompleted string
+}
+
+// Directory gives the directory of the current written
+// last argument if it represents a file name being written.
+// in case that it is not, we fall back to the current directory.
+func (a Args) Directory() string {
+ if info, err := os.Stat(a.Last); err == nil && info.IsDir() {
+ return fixPathForm(a.Last, a.Last)
+ }
+ dir := filepath.Dir(a.Last)
+ if info, err := os.Stat(dir); err != nil || !info.IsDir() {
+ return "./"
+ }
+ return fixPathForm(a.Last, dir)
+}
+
+func newArgs(line []string) Args {
+ completed := removeLast(line[1:])
+ return Args{
+ All: line[1:],
+ Completed: completed,
+ Last: last(line),
+ LastCompleted: last(completed),
+ }
+}
+
+func (a Args) from(i int) Args {
+ if i > len(a.All) {
+ i = len(a.All)
+ }
+ a.All = a.All[i:]
+
+ if i > len(a.Completed) {
+ i = len(a.Completed)
+ }
+ a.Completed = a.Completed[i:]
+ return a
+}
+
+func removeLast(a []string) []string {
+ if len(a) > 0 {
+ return a[:len(a)-1]
+ }
+ return a
+}
+
+func last(args []string) (last string) {
+ if len(args) > 0 {
+ last = args[len(args)-1]
+ }
+ return
+}
diff --git a/vendor/github.com/posener/complete/args_test.go b/vendor/github.com/posener/complete/args_test.go
new file mode 100644
index 00000000..a2118159
--- /dev/null
+++ b/vendor/github.com/posener/complete/args_test.go
@@ -0,0 +1,215 @@
+package complete
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+)
+
+func TestArgs(t *testing.T) {
+ t.Parallel()
+ tests := []struct {
+ line string
+ completed string
+ last string
+ lastCompleted string
+ }{
+ {
+ line: "a b c",
+ completed: "b",
+ last: "c",
+ lastCompleted: "b",
+ },
+ {
+ line: "a b ",
+ completed: "b",
+ last: "",
+ lastCompleted: "b",
+ },
+ {
+ line: "",
+ completed: "",
+ last: "",
+ lastCompleted: "",
+ },
+ {
+ line: "a",
+ completed: "",
+ last: "a",
+ lastCompleted: "",
+ },
+ {
+ line: "a ",
+ completed: "",
+ last: "",
+ lastCompleted: "",
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.line, func(t *testing.T) {
+
+ a := newArgs(strings.Split(tt.line, " "))
+
+ if got, want := strings.Join(a.Completed, " "), tt.completed; got != want {
+ t.Errorf("%s failed: Completed = %q, want %q", t.Name(), got, want)
+ }
+ if got, want := a.Last, tt.last; got != want {
+ t.Errorf("Last = %q, want %q", got, want)
+ }
+ if got, want := a.LastCompleted, tt.lastCompleted; got != want {
+ t.Errorf("%s failed: LastCompleted = %q, want %q", t.Name(), got, want)
+ }
+ })
+ }
+}
+
+func TestArgs_From(t *testing.T) {
+ t.Parallel()
+ tests := []struct {
+ line string
+ from int
+ newLine string
+ newCompleted string
+ }{
+ {
+ line: "a b c",
+ from: 0,
+ newLine: "b c",
+ newCompleted: "b",
+ },
+ {
+ line: "a b c",
+ from: 1,
+ newLine: "c",
+ newCompleted: "",
+ },
+ {
+ line: "a b c",
+ from: 2,
+ newLine: "",
+ newCompleted: "",
+ },
+ {
+ line: "a b c",
+ from: 3,
+ newLine: "",
+ newCompleted: "",
+ },
+ {
+ line: "a b c ",
+ from: 0,
+ newLine: "b c ",
+ newCompleted: "b c",
+ },
+ {
+ line: "a b c ",
+ from: 1,
+ newLine: "c ",
+ newCompleted: "c",
+ },
+ {
+ line: "a b c ",
+ from: 2,
+ newLine: "",
+ newCompleted: "",
+ },
+ {
+ line: "",
+ from: 0,
+ newLine: "",
+ newCompleted: "",
+ },
+ {
+ line: "",
+ from: 1,
+ newLine: "",
+ newCompleted: "",
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(fmt.Sprintf("%s/%d", tt.line, tt.from), func(t *testing.T) {
+
+ a := newArgs(strings.Split(tt.line, " "))
+ n := a.from(tt.from)
+
+ if got, want := strings.Join(n.All, " "), tt.newLine; got != want {
+ t.Errorf("%s failed: all = %q, want %q", t.Name(), got, want)
+ }
+ if got, want := strings.Join(n.Completed, " "), tt.newCompleted; got != want {
+ t.Errorf("%s failed: completed = %q, want %q", t.Name(), got, want)
+ }
+ })
+ }
+}
+
+func TestArgs_Directory(t *testing.T) {
+ t.Parallel()
+ initTests()
+
+ tests := []struct {
+ line string
+ directory string
+ }{
+ {
+ line: "a b c",
+ directory: "./",
+ },
+ {
+ line: "a b c /tm",
+ directory: "/",
+ },
+ {
+ line: "a b c /tmp",
+ directory: "/tmp/",
+ },
+ {
+ line: "a b c /tmp ",
+ directory: "./",
+ },
+ {
+ line: "a b c ./",
+ directory: "./",
+ },
+ {
+ line: "a b c ./dir",
+ directory: "./dir/",
+ },
+ {
+ line: "a b c dir",
+ directory: "dir/",
+ },
+ {
+ line: "a b c ./di",
+ directory: "./",
+ },
+ {
+ line: "a b c ./dir ",
+ directory: "./",
+ },
+ {
+ line: "a b c ./di",
+ directory: "./",
+ },
+ {
+ line: "a b c ./a.txt",
+ directory: "./",
+ },
+ {
+ line: "a b c ./a.txt/x",
+ directory: "./",
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.line, func(t *testing.T) {
+
+ a := newArgs(strings.Split(tt.line, " "))
+
+ if got, want := a.Directory(), tt.directory; got != want {
+ t.Errorf("%s failed: directory = %q, want %q", t.Name(), got, want)
+ }
+ })
+ }
+}
diff --git a/vendor/github.com/posener/complete/cmd/cmd.go b/vendor/github.com/posener/complete/cmd/cmd.go
new file mode 100644
index 00000000..7137dee1
--- /dev/null
+++ b/vendor/github.com/posener/complete/cmd/cmd.go
@@ -0,0 +1,128 @@
+// Package cmd used for command line options for the complete tool
+package cmd
+
+import (
+ "errors"
+ "flag"
+ "fmt"
+ "os"
+ "strings"
+
+ "github.com/posener/complete/cmd/install"
+)
+
+// CLI for command line
+type CLI struct {
+ Name string
+ InstallName string
+ UninstallName string
+
+ install bool
+ uninstall bool
+ yes bool
+}
+
+const (
+ defaultInstallName = "install"
+ defaultUninstallName = "uninstall"
+)
+
+// Run is used when running complete in command line mode.
+// this is used when the complete is not completing words, but to
+// install it or uninstall it.
+func (f *CLI) Run() bool {
+ err := f.validate()
+ if err != nil {
+ os.Stderr.WriteString(err.Error() + "\n")
+ os.Exit(1)
+ }
+
+ switch {
+ case f.install:
+ f.prompt()
+ err = install.Install(f.Name)
+ case f.uninstall:
+ f.prompt()
+ err = install.Uninstall(f.Name)
+ default:
+ // non of the action flags matched,
+ // returning false should make the real program execute
+ return false
+ }
+
+ if err != nil {
+ fmt.Printf("%s failed! %s\n", f.action(), err)
+ os.Exit(3)
+ }
+ fmt.Println("Done!")
+ return true
+}
+
+// prompt use for approval
+// exit if approval was not given
+func (f *CLI) prompt() {
+ defer fmt.Println(f.action() + "ing...")
+ if f.yes {
+ return
+ }
+ fmt.Printf("%s completion for %s? ", f.action(), f.Name)
+ var answer string
+ fmt.Scanln(&answer)
+
+ switch strings.ToLower(answer) {
+ case "y", "yes":
+ return
+ default:
+ fmt.Println("Cancelling...")
+ os.Exit(1)
+ }
+}
+
+// AddFlags adds the CLI flags to the flag set.
+// If flags is nil, the default command line flags will be taken.
+// Pass non-empty strings as installName and uninstallName to override the default
+// flag names.
+func (f *CLI) AddFlags(flags *flag.FlagSet) {
+ if flags == nil {
+ flags = flag.CommandLine
+ }
+
+ if f.InstallName == "" {
+ f.InstallName = defaultInstallName
+ }
+ if f.UninstallName == "" {
+ f.UninstallName = defaultUninstallName
+ }
+
+ if flags.Lookup(f.InstallName) == nil {
+ flags.BoolVar(&f.install, f.InstallName, false,
+ fmt.Sprintf("Install completion for %s command", f.Name))
+ }
+ if flags.Lookup(f.UninstallName) == nil {
+ flags.BoolVar(&f.uninstall, f.UninstallName, false,
+ fmt.Sprintf("Uninstall completion for %s command", f.Name))
+ }
+ if flags.Lookup("y") == nil {
+ flags.BoolVar(&f.yes, "y", false, "Don't prompt user for typing 'yes'")
+ }
+}
+
+// validate the CLI
+func (f *CLI) validate() error {
+ if f.install && f.uninstall {
+ return errors.New("Install and uninstall are mutually exclusive")
+ }
+ return nil
+}
+
+// action name according to the CLI values.
+func (f *CLI) action() string {
+ switch {
+ case f.install:
+ return "Install"
+ case f.uninstall:
+ return "Uninstall"
+ default:
+ return "unknown"
+ }
+}
diff --git a/vendor/github.com/posener/complete/cmd/install/bash.go b/vendor/github.com/posener/complete/cmd/install/bash.go
new file mode 100644
index 00000000..a287f998
--- /dev/null
+++ b/vendor/github.com/posener/complete/cmd/install/bash.go
@@ -0,0 +1,32 @@
+package install
+
+import "fmt"
+
+// (un)install in bash
+// basically adds/remove from .bashrc:
+//
+// complete -C </path/to/completion/command> <command>
+type bash struct {
+ rc string
+}
+
+func (b bash) Install(cmd, bin string) error {
+ completeCmd := b.cmd(cmd, bin)
+ if lineInFile(b.rc, completeCmd) {
+ return fmt.Errorf("already installed in %s", b.rc)
+ }
+ return appendToFile(b.rc, completeCmd)
+}
+
+func (b bash) Uninstall(cmd, bin string) error {
+ completeCmd := b.cmd(cmd, bin)
+ if !lineInFile(b.rc, completeCmd) {
+ return fmt.Errorf("does not installed in %s", b.rc)
+ }
+
+ return removeFromFile(b.rc, completeCmd)
+}
+
+func (bash) cmd(cmd, bin string) string {
+ return fmt.Sprintf("complete -C %s %s", bin, cmd)
+}
diff --git a/vendor/github.com/posener/complete/cmd/install/install.go b/vendor/github.com/posener/complete/cmd/install/install.go
new file mode 100644
index 00000000..644b4057
--- /dev/null
+++ b/vendor/github.com/posener/complete/cmd/install/install.go
@@ -0,0 +1,92 @@
+package install
+
+import (
+ "errors"
+ "os"
+ "os/user"
+ "path/filepath"
+
+ "github.com/hashicorp/go-multierror"
+)
+
+type installer interface {
+ Install(cmd, bin string) error
+ Uninstall(cmd, bin string) error
+}
+
+// Install complete command given:
+// cmd: is the command name
+func Install(cmd string) error {
+ is := installers()
+ if len(is) == 0 {
+ return errors.New("Did not find any shells to install")
+ }
+ bin, err := getBinaryPath()
+ if err != nil {
+ return err
+ }
+
+ for _, i := range is {
+ errI := i.Install(cmd, bin)
+ if errI != nil {
+ err = multierror.Append(err, errI)
+ }
+ }
+
+ return err
+}
+
+// Uninstall complete command given:
+// cmd: is the command name
+func Uninstall(cmd string) error {
+ is := installers()
+ if len(is) == 0 {
+ return errors.New("Did not find any shells to uninstall")
+ }
+ bin, err := getBinaryPath()
+ if err != nil {
+ return err
+ }
+
+ for _, i := range is {
+ errI := i.Uninstall(cmd, bin)
+ if errI != nil {
+ multierror.Append(err, errI)
+ }
+ }
+
+ return err
+}
+
+func installers() (i []installer) {
+ for _, rc := range [...]string{".bashrc", ".bash_profile"} {
+ if f := rcFile(rc); f != "" {
+ i = append(i, bash{f})
+ break
+ }
+ }
+ if f := rcFile(".zshrc"); f != "" {
+ i = append(i, zsh{f})
+ }
+ return
+}
+
+func getBinaryPath() (string, error) {
+ bin, err := os.Executable()
+ if err != nil {
+ return "", err
+ }
+ return filepath.Abs(bin)
+}
+
+func rcFile(name string) string {
+ u, err := user.Current()
+ if err != nil {
+ return ""
+ }
+ path := filepath.Join(u.HomeDir, name)
+ if _, err := os.Stat(path); err != nil {
+ return ""
+ }
+ return path
+}
diff --git a/vendor/github.com/posener/complete/cmd/install/utils.go b/vendor/github.com/posener/complete/cmd/install/utils.go
new file mode 100644
index 00000000..2c8b44ca
--- /dev/null
+++ b/vendor/github.com/posener/complete/cmd/install/utils.go
@@ -0,0 +1,118 @@
+package install
+
+import (
+ "bufio"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "os"
+)
+
+func lineInFile(name string, lookFor string) bool {
+ f, err := os.Open(name)
+ if err != nil {
+ return false
+ }
+ defer f.Close()
+ r := bufio.NewReader(f)
+ prefix := []byte{}
+ for {
+ line, isPrefix, err := r.ReadLine()
+ if err == io.EOF {
+ return false
+ }
+ if err != nil {
+ return false
+ }
+ if isPrefix {
+ prefix = append(prefix, line...)
+ continue
+ }
+ line = append(prefix, line...)
+ if string(line) == lookFor {
+ return true
+ }
+ prefix = prefix[:0]
+ }
+}
+
+func appendToFile(name string, content string) error {
+ f, err := os.OpenFile(name, os.O_RDWR|os.O_APPEND, 0)
+ if err != nil {
+ return err
+ }
+ defer f.Close()
+ _, err = f.WriteString(fmt.Sprintf("\n%s\n", content))
+ return err
+}
+
+func removeFromFile(name string, content string) error {
+ backup := name + ".bck"
+ err := copyFile(name, backup)
+ if err != nil {
+ return err
+ }
+ temp, err := removeContentToTempFile(name, content)
+ if err != nil {
+ return err
+ }
+
+ err = copyFile(temp, name)
+ if err != nil {
+ return err
+ }
+
+ return os.Remove(backup)
+}
+
+func removeContentToTempFile(name, content string) (string, error) {
+ rf, err := os.Open(name)
+ if err != nil {
+ return "", err
+ }
+ defer rf.Close()
+ wf, err := ioutil.TempFile("/tmp", "complete-")
+ if err != nil {
+ return "", err
+ }
+ defer wf.Close()
+
+ r := bufio.NewReader(rf)
+ prefix := []byte{}
+ for {
+ line, isPrefix, err := r.ReadLine()
+ if err == io.EOF {
+ break
+ }
+ if err != nil {
+ return "", err
+ }
+ if isPrefix {
+ prefix = append(prefix, line...)
+ continue
+ }
+ line = append(prefix, line...)
+ str := string(line)
+ if str == content {
+ continue
+ }
+ wf.WriteString(str + "\n")
+ prefix = prefix[:0]
+ }
+ return wf.Name(), nil
+}
+
+func copyFile(src string, dst string) error {
+ in, err := os.Open(src)
+ if err != nil {
+ return err
+ }
+ defer in.Close()
+ out, err := os.Create(dst)
+ if err != nil {
+ return err
+ }
+ defer out.Close()
+ _, err = io.Copy(out, in)
+ return err
+}
diff --git a/vendor/github.com/posener/complete/cmd/install/zsh.go b/vendor/github.com/posener/complete/cmd/install/zsh.go
new file mode 100644
index 00000000..a625f53c
--- /dev/null
+++ b/vendor/github.com/posener/complete/cmd/install/zsh.go
@@ -0,0 +1,39 @@
+package install
+
+import "fmt"
+
+// (un)install in zsh
+// basically adds/remove from .zshrc:
+//
+// autoload -U +X bashcompinit && bashcompinit"
+// complete -C </path/to/completion/command> <command>
+type zsh struct {
+ rc string
+}
+
+func (z zsh) Install(cmd, bin string) error {
+ completeCmd := z.cmd(cmd, bin)
+ if lineInFile(z.rc, completeCmd) {
+ return fmt.Errorf("already installed in %s", z.rc)
+ }
+
+ bashCompInit := "autoload -U +X bashcompinit && bashcompinit"
+ if !lineInFile(z.rc, bashCompInit) {
+ completeCmd = bashCompInit + "\n" + completeCmd
+ }
+
+ return appendToFile(z.rc, completeCmd)
+}
+
+func (z zsh) Uninstall(cmd, bin string) error {
+ completeCmd := z.cmd(cmd, bin)
+ if !lineInFile(z.rc, completeCmd) {
+ return fmt.Errorf("does not installed in %s", z.rc)
+ }
+
+ return removeFromFile(z.rc, completeCmd)
+}
+
+func (zsh) cmd(cmd, bin string) string {
+ return fmt.Sprintf("complete -o nospace -C %s %s", bin, cmd)
+}
diff --git a/vendor/github.com/posener/complete/command.go b/vendor/github.com/posener/complete/command.go
new file mode 100644
index 00000000..6de48e96
--- /dev/null
+++ b/vendor/github.com/posener/complete/command.go
@@ -0,0 +1,118 @@
+package complete
+
+import "github.com/posener/complete/match"
+
+// Command represents a command line
+// It holds the data that enables auto completion of command line
+// Command can also be a sub command.
+type Command struct {
+ // Sub is map of sub commands of the current command
+ // The key refer to the sub command name, and the value is it's
+ // Command descriptive struct.
+ Sub Commands
+
+ // Flags is a map of flags that the command accepts.
+ // The key is the flag name, and the value is it's predictions.
+ Flags Flags
+
+ // GlobalFlags is a map of flags that the command accepts.
+ // Global flags that can appear also after a sub command.
+ GlobalFlags Flags
+
+ // Args are extra arguments that the command accepts, those who are
+ // given without any flag before.
+ Args Predictor
+}
+
+// Predict returns all possible predictions for args according to the command struct
+func (c *Command) Predict(a Args) (predictions []string) {
+ predictions, _ = c.predict(a)
+ return
+}
+
+// Commands is the type of Sub member, it maps a command name to a command struct
+type Commands map[string]Command
+
+// Predict completion of sub command names names according to command line arguments
+func (c Commands) Predict(a Args) (prediction []string) {
+ for sub := range c {
+ if match.Prefix(sub, a.Last) {
+ prediction = append(prediction, sub)
+ }
+ }
+ return
+}
+
+// Flags is the type Flags of the Flags member, it maps a flag name to the flag predictions.
+type Flags map[string]Predictor
+
+// Predict completion of flags names according to command line arguments
+func (f Flags) Predict(a Args) (prediction []string) {
+ for flag := range f {
+ // If the flag starts with a hyphen, we avoid emitting the prediction
+ // unless the last typed arg contains a hyphen as well.
+ flagHyphenStart := len(flag) != 0 && flag[0] == '-'
+ lastHyphenStart := len(a.Last) != 0 && a.Last[0] == '-'
+ if flagHyphenStart && !lastHyphenStart {
+ continue
+ }
+
+ if match.Prefix(flag, a.Last) {
+ prediction = append(prediction, flag)
+ }
+ }
+ return
+}
+
+// predict options
+// only is set to true if no more options are allowed to be returned
+// those are in cases of special flag that has specific completion arguments,
+// and other flags or sub commands can't come after it.
+func (c *Command) predict(a Args) (options []string, only bool) {
+
+ // search sub commands for predictions first
+ subCommandFound := false
+ for i, arg := range a.Completed {
+ if cmd, ok := c.Sub[arg]; ok {
+ subCommandFound = true
+
+ // recursive call for sub command
+ options, only = cmd.predict(a.from(i))
+ if only {
+ return
+ }
+
+ // We matched so stop searching. Continuing to search can accidentally
+ // match a subcommand with current set of commands, see issue #46.
+ break
+ }
+ }
+
+ // if last completed word is a global flag that we need to complete
+ if predictor, ok := c.GlobalFlags[a.LastCompleted]; ok && predictor != nil {
+ Log("Predicting according to global flag %s", a.LastCompleted)
+ return predictor.Predict(a), true
+ }
+
+ options = append(options, c.GlobalFlags.Predict(a)...)
+
+ // if a sub command was entered, we won't add the parent command
+ // completions and we return here.
+ if subCommandFound {
+ return
+ }
+
+ // if last completed word is a command flag that we need to complete
+ if predictor, ok := c.Flags[a.LastCompleted]; ok && predictor != nil {
+ Log("Predicting according to flag %s", a.LastCompleted)
+ return predictor.Predict(a), true
+ }
+
+ options = append(options, c.Sub.Predict(a)...)
+ options = append(options, c.Flags.Predict(a)...)
+ if c.Args != nil {
+ options = append(options, c.Args.Predict(a)...)
+ }
+
+ return
+}
diff --git a/vendor/github.com/posener/complete/common_test.go b/vendor/github.com/posener/complete/common_test.go
new file mode 100644
index 00000000..38fe5f18
--- /dev/null
+++ b/vendor/github.com/posener/complete/common_test.go
@@ -0,0 +1,26 @@
+package complete
+
+import (
+ "os"
+ "sync"
+ "testing"
+)
+
+var once = sync.Once{}
+
+func initTests() {
+ once.Do(func() {
+ // Set debug environment variable so logs will be printed
+ if testing.Verbose() {
+ os.Setenv(envDebug, "1")
+ // refresh the logger with environment variable set
+ Log = getLogger()
+ }
+
+ // Change to tests directory for testing completion of files and directories
+ err := os.Chdir("./tests")
+ if err != nil {
+ panic(err)
+ }
+ })
+}
diff --git a/vendor/github.com/posener/complete/complete.go b/vendor/github.com/posener/complete/complete.go
new file mode 100644
index 00000000..1df66170
--- /dev/null
+++ b/vendor/github.com/posener/complete/complete.go
@@ -0,0 +1,86 @@
+// Package complete provides a tool for bash writing bash completion in go.
+//
+// Writing bash completion scripts is a hard work. This package provides an easy way
+// to create bash completion scripts for any command, and also an easy way to install/uninstall
+// the completion of the command.
+package complete
+
+import (
+ "flag"
+ "fmt"
+ "os"
+ "strings"
+
+ "github.com/posener/complete/cmd"
+)
+
+const (
+ envComplete = "COMP_LINE"
+ envDebug = "COMP_DEBUG"
+)
+
+// Complete structs define completion for a command with CLI options
+type Complete struct {
+ Command Command
+ cmd.CLI
+}
+
+// New creates a new complete command.
+// name is the name of command we want to auto complete.
+// IMPORTANT: it must be the same name - if the auto complete
+// completes the 'go' command, name must be equal to "go".
+// command is the struct of the command completion.
+func New(name string, command Command) *Complete {
+ return &Complete{
+ Command: command,
+ CLI: cmd.CLI{Name: name},
+ }
+}
+
+// Run runs the completion and add installation flags beforehand.
+// The flags are added to the main flag CommandLine variable.
+func (c *Complete) Run() bool {
+ c.AddFlags(nil)
+ flag.Parse()
+ return c.Complete()
+}
+
+// Complete a command from completion line in environment variable,
+// and print out the complete options.
+// returns success if the completion ran or if the cli matched
+// any of the given flags, false otherwise
+// For installation: it assumes that flags were added and parsed before
+// it was called.
+func (c *Complete) Complete() bool {
+ line, ok := getLine()
+ if !ok {
+ // make sure flags parsed,
+ // in case they were not added in the main program
+ return c.CLI.Run()
+ }
+ Log("Completing line: %s", line)
+
+ a := newArgs(line)
+
+ options := c.Command.Predict(a)
+
+ Log("Completion: %s", options)
+ output(options)
+ return true
+}
+
+func getLine() ([]string, bool) {
+ line := os.Getenv(envComplete)
+ if line == "" {
+ return nil, false
+ }
+ return strings.Split(line, " "), true
+}
+
+func output(options []string) {
+ Log("")
+ // stdout of program defines the complete options
+ for _, option := range options {
+ fmt.Println(option)
+ }
+}
diff --git a/vendor/github.com/posener/complete/complete_test.go b/vendor/github.com/posener/complete/complete_test.go
new file mode 100644
index 00000000..ba4df4a5
--- /dev/null
+++ b/vendor/github.com/posener/complete/complete_test.go
@@ -0,0 +1,288 @@
+package complete
+
+import (
+ "os"
+ "sort"
+ "testing"
+)
+
+func TestCompleter_Complete(t *testing.T) {
+ t.Parallel()
+ initTests()
+
+ c := Command{
+ Sub: Commands{
+ "sub1": {
+ Flags: Flags{
+ "-flag1": PredictAnything,
+ "-flag2": PredictNothing,
+ },
+ },
+ "sub2": {
+ Flags: Flags{
+ "-flag2": PredictNothing,
+ "-flag3": PredictSet("opt1", "opt2", "opt12"),
+ },
+ Args: PredictFiles("*.md"),
+ },
+ },
+ Flags: Flags{
+ "-o": PredictFiles("*.txt"),
+ },
+ GlobalFlags: Flags{
+ "-h": PredictNothing,
+ "-global1": PredictAnything,
+ },
+ }
+
+ tests := []struct {
+ args string
+ want []string
+ }{
+ {
+ args: "",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "-",
+ want: []string{"-h", "-global1", "-o"},
+ },
+ {
+ args: "-h ",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "-global1 ", // global1 is known follow flag
+ want: []string{},
+ },
+ {
+ args: "sub",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "sub1",
+ want: []string{"sub1"},
+ },
+ {
+ args: "sub2",
+ want: []string{"sub2"},
+ },
+ {
+ args: "sub1 ",
+ want: []string{},
+ },
+ {
+ args: "sub1 -",
+ want: []string{"-flag1", "-flag2", "-h", "-global1"},
+ },
+ {
+ args: "sub2 ",
+ want: []string{"./", "dir/", "outer/", "readme.md"},
+ },
+ {
+ args: "sub2 ./",
+ want: []string{"./", "./readme.md", "./dir/", "./outer/"},
+ },
+ {
+ args: "sub2 re",
+ want: []string{"readme.md"},
+ },
+ {
+ args: "sub2 ./re",
+ want: []string{"./readme.md"},
+ },
+ {
+ args: "sub2 -flag2 ",
+ want: []string{"./", "dir/", "outer/", "readme.md"},
+ },
+ {
+ args: "sub1 -fl",
+ want: []string{"-flag1", "-flag2"},
+ },
+ {
+ args: "sub1 -flag1",
+ want: []string{"-flag1"},
+ },
+ {
+ args: "sub1 -flag1 ",
+ want: []string{}, // flag1 is unknown follow flag
+ },
+ {
+ args: "sub1 -flag2 -",
+ want: []string{"-flag1", "-flag2", "-h", "-global1"},
+ },
+ {
+ args: "-no-such-flag",
+ want: []string{},
+ },
+ {
+ args: "-no-such-flag ",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "-no-such-flag -",
+ want: []string{"-h", "-global1", "-o"},
+ },
+ {
+ args: "no-such-command",
+ want: []string{},
+ },
+ {
+ args: "no-such-command ",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "-o ",
+ want: []string{"a.txt", "b.txt", "c.txt", ".dot.txt", "./", "dir/", "outer/"},
+ },
+ {
+ args: "-o ./no-su",
+ want: []string{},
+ },
+ {
+ args: "-o ./",
+ want: []string{"./a.txt", "./b.txt", "./c.txt", "./.dot.txt", "./", "./dir/", "./outer/"},
+ },
+ {
+ args: "-o .",
+ want: []string{"./a.txt", "./b.txt", "./c.txt", "./.dot.txt", "./", "./dir/", "./outer/"},
+ },
+ {
+ args: "-o ./read",
+ want: []string{},
+ },
+ {
+ args: "-o ./readme.md",
+ want: []string{},
+ },
+ {
+ args: "-o ./readme.md ",
+ want: []string{"sub1", "sub2"},
+ },
+ {
+ args: "-o sub2 -flag3 ",
+ want: []string{"opt1", "opt2", "opt12"},
+ },
+ {
+ args: "-o sub2 -flag3 opt1",
+ want: []string{"opt1", "opt12"},
+ },
+ {
+ args: "-o sub2 -flag3 opt",
+ want: []string{"opt1", "opt2", "opt12"},
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.args, func(t *testing.T) {
+
+ tt.args = "cmd " + tt.args
+ os.Setenv(envComplete, tt.args)
+ line, _ := getLine()
+
+ got := c.Predict(newArgs(line))
+
+ sort.Strings(tt.want)
+ sort.Strings(got)
+
+ if !equalSlices(got, tt.want) {
+ t.Errorf("failed '%s'\ngot = %s\nwant: %s", t.Name(), got, tt.want)
+ }
+ })
+ }
+}
+
+func TestCompleter_Complete_SharedPrefix(t *testing.T) {
+ t.Parallel()
+ initTests()
+
+ c := Command{
+ Sub: Commands{
+ "status": {
+ Flags: Flags{
+ "-f3": PredictNothing,
+ },
+ },
+ "job": {
+ Sub: Commands{
+ "status": {
+ Flags: Flags{
+ "-f4": PredictNothing,
+ },
+ },
+ },
+ },
+ },
+ Flags: Flags{
+ "-o": PredictFiles("*.txt"),
+ },
+ GlobalFlags: Flags{
+ "-h": PredictNothing,
+ "-global1": PredictAnything,
+ },
+ }
+
+ tests := []struct {
+ args string
+ want []string
+ }{
+ {
+ args: "",
+ want: []string{"status", "job"},
+ },
+ {
+ args: "-",
+ want: []string{"-h", "-global1", "-o"},
+ },
+ {
+ args: "j",
+ want: []string{"job"},
+ },
+ {
+ args: "job ",
+ want: []string{"status"},
+ },
+ {
+ args: "job -",
+ want: []string{"-h", "-global1"},
+ },
+ {
+ args: "job status ",
+ want: []string{},
+ },
+ {
+ args: "job status -",
+ want: []string{"-f4", "-h", "-global1"},
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.args, func(t *testing.T) {
+
+ tt.args = "cmd " + tt.args
+ os.Setenv(envComplete, tt.args)
+ line, _ := getLine()
+
+ got := c.Predict(newArgs(line))
+
+ sort.Strings(tt.want)
+ sort.Strings(got)
+
+ if !equalSlices(got, tt.want) {
+ t.Errorf("failed '%s'\ngot = %s\nwant: %s", t.Name(), got, tt.want)
+ }
+ })
+ }
+}
+
+func equalSlices(a, b []string) bool {
+ if len(a) != len(b) {
+ return false
+ }
+ for i := range a {
+ if a[i] != b[i] {
+ return false
+ }
+ }
+ return true
+}
diff --git a/vendor/github.com/posener/complete/example/self/main.go b/vendor/github.com/posener/complete/example/self/main.go
new file mode 100644
index 00000000..9479e646
--- /dev/null
+++ b/vendor/github.com/posener/complete/example/self/main.go
@@ -0,0 +1,53 @@
+// Package self
+// a program that complete itself
+package main
+
+import (
+ "flag"
+ "fmt"
+ "os"
+
+ "github.com/posener/complete"
+)
+
+func main() {
+
+ // add a variable to the program
+ var name string
+ flag.StringVar(&name, "name", "", "Give your name")
+
+ // create the complete command
+ cmp := complete.New(
+ "self",
+ complete.Command{Flags: complete.Flags{"-name": complete.PredictAnything}},
+ )
+
+ // AddFlags adds the completion flags to the program flags,
+ // in case of using non-default flag set, it is possible to pass
+ // it as an argument.
+ // it is possible to set custom flags name
+ // so when one will type 'self -h', he will see '-complete' to install the
+ // completion and -uncomplete to uninstall it.
+ cmp.CLI.InstallName = "complete"
+ cmp.CLI.UninstallName = "uncomplete"
+ cmp.AddFlags(nil)
+
+ // parse the flags - both the program's flags and the completion flags
+ flag.Parse()
+
+ // run the completion, in case that the completion was invoked
+ // and ran as a completion script or handled a flag that passed
+ // as argument, the Run method will return true,
+ // in that case, our program have nothing to do and should return.
+ if cmp.Complete() {
+ return
+ }
+
+ // if the completion did not do anything, we can run our program logic here.
+ if name == "" {
+ fmt.Println("Your name is missing")
+ os.Exit(1)
+ }
+
+ fmt.Println("Hi,", name)
+}
diff --git a/vendor/github.com/posener/complete/gocomplete/complete.go b/vendor/github.com/posener/complete/gocomplete/complete.go
new file mode 100644
index 00000000..9f46dcd3
--- /dev/null
+++ b/vendor/github.com/posener/complete/gocomplete/complete.go
@@ -0,0 +1,444 @@
+// Package main is complete tool for the go command line
+package main
+
+import "github.com/posener/complete"
+
+var (
+ ellipsis = complete.PredictSet("./...")
+ anyPackage = complete.PredictFunc(predictPackages)
+ goFiles = complete.PredictFiles("*.go")
+ anyFile = complete.PredictFiles("*")
+ anyGo = complete.PredictOr(goFiles, anyPackage, ellipsis)
+)
+
+func main() {
+ build := complete.Command{
+ Flags: complete.Flags{
+ "-o": anyFile,
+ "-i": complete.PredictNothing,
+
+ "-a": complete.PredictNothing,
+ "-n": complete.PredictNothing,
+ "-p": complete.PredictAnything,
+ "-race": complete.PredictNothing,
+ "-msan": complete.PredictNothing,
+ "-v": complete.PredictNothing,
+ "-work": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ "-asmflags": complete.PredictAnything,
+ "-buildmode": complete.PredictAnything,
+ "-compiler": complete.PredictAnything,
+ "-gccgoflags": complete.PredictAnything,
+ "-gcflags": complete.PredictAnything,
+ "-installsuffix": complete.PredictAnything,
+ "-ldflags": complete.PredictAnything,
+ "-linkshared": complete.PredictNothing,
+ "-pkgdir": anyPackage,
+ "-tags": complete.PredictAnything,
+ "-toolexec": complete.PredictAnything,
+ },
+ Args: anyGo,
+ }
+
+ run := complete.Command{
+ Flags: complete.Flags{
+ "-exec": complete.PredictAnything,
+ },
+ Args: goFiles,
+ }
+
+ test := complete.Command{
+ Flags: complete.Flags{
+ "-args": complete.PredictAnything,
+ "-c": complete.PredictNothing,
+ "-exec": complete.PredictAnything,
+
+ "-bench": predictBenchmark,
+ "-benchtime": complete.PredictAnything,
+ "-count": complete.PredictAnything,
+ "-cover": complete.PredictNothing,
+ "-covermode": complete.PredictSet("set", "count", "atomic"),
+ "-coverpkg": complete.PredictDirs("*"),
+ "-cpu": complete.PredictAnything,
+ "-run": predictTest,
+ "-short": complete.PredictNothing,
+ "-timeout": complete.PredictAnything,
+
+ "-benchmem": complete.PredictNothing,
+ "-blockprofile": complete.PredictFiles("*.out"),
+ "-blockprofilerate": complete.PredictAnything,
+ "-coverprofile": complete.PredictFiles("*.out"),
+ "-cpuprofile": complete.PredictFiles("*.out"),
+ "-memprofile": complete.PredictFiles("*.out"),
+ "-memprofilerate": complete.PredictAnything,
+ "-mutexprofile": complete.PredictFiles("*.out"),
+ "-mutexprofilefraction": complete.PredictAnything,
+ "-outputdir": complete.PredictDirs("*"),
+ "-trace": complete.PredictFiles("*.out"),
+ },
+ Args: anyGo,
+ }
+
+ fmt := complete.Command{
+ Flags: complete.Flags{
+ "-n": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ },
+ Args: anyGo,
+ }
+
+ get := complete.Command{
+ Flags: complete.Flags{
+ "-d": complete.PredictNothing,
+ "-f": complete.PredictNothing,
+ "-fix": complete.PredictNothing,
+ "-insecure": complete.PredictNothing,
+ "-t": complete.PredictNothing,
+ "-u": complete.PredictNothing,
+ },
+ Args: anyGo,
+ }
+
+ generate := complete.Command{
+ Flags: complete.Flags{
+ "-n": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ "-v": complete.PredictNothing,
+ "-run": complete.PredictAnything,
+ },
+ Args: anyGo,
+ }
+
+ vet := complete.Command{
+ Flags: complete.Flags{
+ "-n": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ },
+ Args: anyGo,
+ }
+
+ list := complete.Command{
+ Flags: complete.Flags{
+ "-e": complete.PredictNothing,
+ "-f": complete.PredictAnything,
+ "-json": complete.PredictNothing,
+ },
+ Args: complete.PredictOr(anyPackage, ellipsis),
+ }
+
+ doc := complete.Command{
+ Flags: complete.Flags{
+ "-c": complete.PredictNothing,
+ "-cmd": complete.PredictNothing,
+ "-u": complete.PredictNothing,
+ },
+ Args: anyPackage,
+ }
+
+ tool := complete.Command{
+ Flags: complete.Flags{
+ "-n": complete.PredictNothing,
+ },
+ Sub: complete.Commands{
+ "addr2line": {
+ Args: anyFile,
+ },
+ "asm": {
+ Flags: complete.Flags{
+ "-D": complete.PredictAnything,
+ "-I": complete.PredictDirs("*"),
+ "-S": complete.PredictNothing,
+ "-debug": complete.PredictNothing,
+ "-dynlink": complete.PredictNothing,
+ "-e": complete.PredictNothing,
+ "-o": anyFile,
+ "-shared": complete.PredictNothing,
+ "-trimpath": complete.PredictNothing,
+ },
+ Args: complete.PredictFiles("*.s"),
+ },
+ "cgo": {
+ Flags: complete.Flags{
+ "-debug-define": complete.PredictNothing,
+ "debug-gcc": complete.PredictNothing,
+ "dynimport": anyFile,
+ "dynlinker": complete.PredictNothing,
+ "dynout": anyFile,
+ "dynpackage": anyPackage,
+ "exportheader": complete.PredictDirs("*"),
+ "gccgo": complete.PredictNothing,
+ "gccgopkgpath": complete.PredictDirs("*"),
+ "gccgoprefix": complete.PredictAnything,
+ "godefs": complete.PredictNothing,
+ "import_runtime_cgo": complete.PredictNothing,
+ "import_syscall": complete.PredictNothing,
+ "importpath": complete.PredictDirs("*"),
+ "objdir": complete.PredictDirs("*"),
+ "srcdir": complete.PredictDirs("*"),
+ },
+ Args: goFiles,
+ },
+ "compile": {
+ Flags: complete.Flags{
+ "-%": complete.PredictNothing,
+ "-+": complete.PredictNothing,
+ "-B": complete.PredictNothing,
+ "-D": complete.PredictDirs("*"),
+ "-E": complete.PredictNothing,
+ "-I": complete.PredictDirs("*"),
+ "-K": complete.PredictNothing,
+ "-N": complete.PredictNothing,
+ "-S": complete.PredictNothing,
+ "-V": complete.PredictNothing,
+ "-W": complete.PredictNothing,
+ "-asmhdr": anyFile,
+ "-bench": anyFile,
+ "-buildid": complete.PredictNothing,
+ "-complete": complete.PredictNothing,
+ "-cpuprofile": anyFile,
+ "-d": complete.PredictNothing,
+ "-dynlink": complete.PredictNothing,
+ "-e": complete.PredictNothing,
+ "-f": complete.PredictNothing,
+ "-h": complete.PredictNothing,
+ "-i": complete.PredictNothing,
+ "-importmap": complete.PredictAnything,
+ "-installsuffix": complete.PredictAnything,
+ "-j": complete.PredictNothing,
+ "-l": complete.PredictNothing,
+ "-largemodel": complete.PredictNothing,
+ "-linkobj": anyFile,
+ "-live": complete.PredictNothing,
+ "-m": complete.PredictNothing,
+ "-memprofile": complete.PredictNothing,
+ "-memprofilerate": complete.PredictAnything,
+ "-msan": complete.PredictNothing,
+ "-nolocalimports": complete.PredictNothing,
+ "-o": anyFile,
+ "-p": complete.PredictDirs("*"),
+ "-pack": complete.PredictNothing,
+ "-r": complete.PredictNothing,
+ "-race": complete.PredictNothing,
+ "-s": complete.PredictNothing,
+ "-shared": complete.PredictNothing,
+ "-traceprofile": anyFile,
+ "-trimpath": complete.PredictAnything,
+ "-u": complete.PredictNothing,
+ "-v": complete.PredictNothing,
+ "-w": complete.PredictNothing,
+ "-wb": complete.PredictNothing,
+ },
+ Args: goFiles,
+ },
+ "cover": {
+ Flags: complete.Flags{
+ "-func": complete.PredictAnything,
+ "-html": complete.PredictAnything,
+ "-mode": complete.PredictSet("set", "count", "atomic"),
+ "-o": anyFile,
+ "-var": complete.PredictAnything,
+ },
+ Args: anyFile,
+ },
+ "dist": {
+ Sub: complete.Commands{
+ "banner": {Flags: complete.Flags{"-v": complete.PredictNothing}},
+ "bootstrap": {Flags: complete.Flags{"-v": complete.PredictNothing}},
+ "clean": {Flags: complete.Flags{"-v": complete.PredictNothing}},
+ "env": {Flags: complete.Flags{"-v": complete.PredictNothing, "-p": complete.PredictNothing}},
+ "install": {Flags: complete.Flags{"-v": complete.PredictNothing}, Args: complete.PredictDirs("*")},
+ "list": {Flags: complete.Flags{"-v": complete.PredictNothing, "-json": complete.PredictNothing}},
+ "test": {Flags: complete.Flags{"-v": complete.PredictNothing, "-h": complete.PredictNothing}},
+ "version": {Flags: complete.Flags{"-v": complete.PredictNothing}},
+ },
+ },
+ "doc": doc,
+ "fix": {
+ Flags: complete.Flags{
+ "-diff": complete.PredictNothing,
+ "-force": complete.PredictAnything,
+ "-r": complete.PredictSet("context", "gotypes", "netipv6zone", "printerconfig"),
+ },
+ Args: anyGo,
+ },
+ "link": {},
+ "nm": {
+ Flags: complete.Flags{
+ "-n": complete.PredictNothing,
+ "-size": complete.PredictNothing,
+ "-sort": complete.PredictAnything,
+ "-type": complete.PredictNothing,
+ },
+ Args: anyGo,
+ },
+ "objdump": {
+ Flags: complete.Flags{
+ "-s": complete.PredictAnything,
+ },
+ Args: anyFile,
+ },
+ "pack": {},
+ "pprof": {
+ Flags: complete.Flags{
+ "-callgrind": complete.PredictNothing,
+ "-disasm": complete.PredictAnything,
+ "-dot": complete.PredictNothing,
+ "-eog": complete.PredictNothing,
+ "-evince": complete.PredictNothing,
+ "-gif": complete.PredictNothing,
+ "-gv": complete.PredictNothing,
+ "-list": complete.PredictAnything,
+ "-pdf": complete.PredictNothing,
+ "-peek": complete.PredictAnything,
+ "-png": complete.PredictNothing,
+ "-proto": complete.PredictNothing,
+ "-ps": complete.PredictNothing,
+ "-raw": complete.PredictNothing,
+ "-svg": complete.PredictNothing,
+ "-tags": complete.PredictNothing,
+ "-text": complete.PredictNothing,
+ "-top": complete.PredictNothing,
+ "-tree": complete.PredictNothing,
+ "-web": complete.PredictNothing,
+ "-weblist": complete.PredictAnything,
+ "-output": anyFile,
+ "-functions": complete.PredictNothing,
+ "-files": complete.PredictNothing,
+ "-lines": complete.PredictNothing,
+ "-addresses": complete.PredictNothing,
+ "-base": complete.PredictAnything,
+ "-drop_negative": complete.PredictNothing,
+ "-cum": complete.PredictNothing,
+ "-seconds": complete.PredictAnything,
+ "-nodecount": complete.PredictAnything,
+ "-nodefraction": complete.PredictAnything,
+ "-edgefraction": complete.PredictAnything,
+ "-sample_index": complete.PredictNothing,
+ "-mean": complete.PredictNothing,
+ "-inuse_space": complete.PredictNothing,
+ "-inuse_objects": complete.PredictNothing,
+ "-alloc_space": complete.PredictNothing,
+ "-alloc_objects": complete.PredictNothing,
+ "-total_delay": complete.PredictNothing,
+ "-contentions": complete.PredictNothing,
+ "-mean_delay": complete.PredictNothing,
+ "-runtime": complete.PredictNothing,
+ "-focus": complete.PredictAnything,
+ "-ignore": complete.PredictAnything,
+ "-tagfocus": complete.PredictAnything,
+ "-tagignore": complete.PredictAnything,
+ "-call_tree": complete.PredictNothing,
+ "-unit": complete.PredictAnything,
+ "-divide_by": complete.PredictAnything,
+ "-buildid": complete.PredictAnything,
+ "-tools": complete.PredictDirs("*"),
+ "-help": complete.PredictNothing,
+ },
+ Args: anyFile,
+ },
+ "tour": {
+ Flags: complete.Flags{
+ "-http": complete.PredictAnything,
+ "-openbrowser": complete.PredictNothing,
+ },
+ },
+ "trace": {
+ Flags: complete.Flags{
+ "-http": complete.PredictAnything,
+ "-pprof": complete.PredictSet("net", "sync", "syscall", "sched"),
+ },
+ Args: anyFile,
+ },
+ "vet": {
+ Flags: complete.Flags{
+ "-all": complete.PredictNothing,
+ "-asmdecl": complete.PredictNothing,
+ "-assign": complete.PredictNothing,
+ "-atomic": complete.PredictNothing,
+ "-bool": complete.PredictNothing,
+ "-buildtags": complete.PredictNothing,
+ "-cgocall": complete.PredictNothing,
+ "-composites": complete.PredictNothing,
+ "-compositewhitelist": complete.PredictNothing,
+ "-copylocks": complete.PredictNothing,
+ "-httpresponse": complete.PredictNothing,
+ "-lostcancel": complete.PredictNothing,
+ "-methods": complete.PredictNothing,
+ "-nilfunc": complete.PredictNothing,
+ "-printf": complete.PredictNothing,
+ "-printfuncs": complete.PredictAnything,
+ "-rangeloops": complete.PredictNothing,
+ "-shadow": complete.PredictNothing,
+ "-shadowstrict": complete.PredictNothing,
+ "-shift": complete.PredictNothing,
+ "-structtags": complete.PredictNothing,
+ "-tags": complete.PredictAnything,
+ "-tests": complete.PredictNothing,
+ "-unreachable": complete.PredictNothing,
+ "-unsafeptr": complete.PredictNothing,
+ "-unusedfuncs": complete.PredictAnything,
+ "-unusedresult": complete.PredictNothing,
+ "-unusedstringmethods": complete.PredictAnything,
+ "-v": complete.PredictNothing,
+ },
+ Args: anyGo,
+ },
+ },
+ }
+
+ clean := complete.Command{
+ Flags: complete.Flags{
+ "-i": complete.PredictNothing,
+ "-r": complete.PredictNothing,
+ "-n": complete.PredictNothing,
+ "-x": complete.PredictNothing,
+ },
+ Args: complete.PredictOr(anyPackage, ellipsis),
+ }
+
+ env := complete.Command{
+ Args: complete.PredictAnything,
+ }
+
+ bug := complete.Command{}
+ version := complete.Command{}
+
+ fix := complete.Command{
+ Args: anyGo,
+ }
+
+ // commands that also accepts the build flags
+ for name, options := range build.Flags {
+ test.Flags[name] = options
+ run.Flags[name] = options
+ list.Flags[name] = options
+ vet.Flags[name] = options
+ get.Flags[name] = options
+ }
+
+ gogo := complete.Command{
+ Sub: complete.Commands{
+ "build": build,
+ "install": build, // install and build have the same flags
+ "run": run,
+ "test": test,
+ "fmt": fmt,
+ "get": get,
+ "generate": generate,
+ "vet": vet,
+ "list": list,
+ "doc": doc,
+ "tool": tool,
+ "clean": clean,
+ "env": env,
+ "bug": bug,
+ "fix": fix,
+ "version": version,
+ },
+ GlobalFlags: complete.Flags{
+ "-h": complete.PredictNothing,
+ },
+ }
+
+ complete.New("go", gogo).Run()
+}
diff --git a/vendor/github.com/posener/complete/gocomplete/parse.go b/vendor/github.com/posener/complete/gocomplete/parse.go
new file mode 100644
index 00000000..8111b748
--- /dev/null
+++ b/vendor/github.com/posener/complete/gocomplete/parse.go
@@ -0,0 +1,28 @@
+package main
+
+import (
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "regexp"
+
+ "github.com/posener/complete"
+)
+
+func functionsInFile(path string, regexp *regexp.Regexp) (tests []string) {
+ fset := token.NewFileSet()
+ f, err := parser.ParseFile(fset, path, nil, 0)
+ if err != nil {
+ complete.Log("Failed parsing %s: %s", path, err)
+ return nil
+ }
+ for _, d := range f.Decls {
+ if f, ok := d.(*ast.FuncDecl); ok {
+ name := f.Name.String()
+ if regexp == nil || regexp.MatchString(name) {
+ tests = append(tests, name)
+ }
+ }
+ }
+ return
+}
diff --git a/vendor/github.com/posener/complete/gocomplete/pkgs.go b/vendor/github.com/posener/complete/gocomplete/pkgs.go
new file mode 100644
index 00000000..2f950462
--- /dev/null
+++ b/vendor/github.com/posener/complete/gocomplete/pkgs.go
@@ -0,0 +1,126 @@
+package main
+
+import (
+ "go/build"
+ "io/ioutil"
+ "os"
+ "os/user"
+ "path/filepath"
+ "strings"
+
+ "github.com/posener/complete"
+)
+
+// predictPackages completes packages in the directory pointed by a.Last
+// and packages that are one level below that package.
+func predictPackages(a complete.Args) (prediction []string) {
+ prediction = []string{a.Last}
+ lastPrediction := ""
+ for len(prediction) == 1 && (lastPrediction == "" || lastPrediction != prediction[0]) {
+ // if only one prediction, predict files within this prediction,
+ // for example, if the user entered 'pk' and we have a package named 'pkg',
+ // which is the only package prefixed with 'pk', we will automatically go one
+ // level deeper and give the user the 'pkg' and all the nested packages within
+ // that package.
+ lastPrediction = prediction[0]
+ a.Last = prediction[0]
+ prediction = predictLocalAndSystem(a)
+ }
+ return
+}
+
+func predictLocalAndSystem(a complete.Args) []string {
+ localDirs := complete.PredictFilesSet(listPackages(a.Directory())).Predict(a)
+ // System directories are not actual file names, for example: 'github.com/posener/complete' could
+ // be the argument, but the actual filename is in $GOPATH/src/github.com/posener/complete'. this
+ // is the reason to use the PredictSet and not the PredictDirs in this case.
+ s := systemDirs(a.Last)
+ sysDirs := complete.PredictSet(s...).Predict(a)
+ return append(localDirs, sysDirs...)
+}
+
+// listPackages looks in current pointed dir and in all it's direct sub-packages
+// and return a list of paths to go packages.
+func listPackages(dir string) (directories []string) {
+ // add subdirectories
+ files, err := ioutil.ReadDir(dir)
+ if err != nil {
+ complete.Log("failed reading directory %s: %s", dir, err)
+ return
+ }
+
+ // build paths array
+ paths := make([]string, 0, len(files)+1)
+ for _, f := range files {
+ if f.IsDir() {
+ paths = append(paths, filepath.Join(dir, f.Name()))
+ }
+ }
+ paths = append(paths, dir)
+
+ // import packages according to given paths
+ for _, p := range paths {
+ pkg, err := build.ImportDir(p, 0)
+ if err != nil {
+ complete.Log("failed importing directory %s: %s", p, err)
+ continue
+ }
+ directories = append(directories, pkg.Dir)
+ }
+ return
+}
+
+func systemDirs(dir string) (directories []string) {
+ // get all paths from GOPATH environment variable and use their src directory
+ paths := findGopath()
+ for i := range paths {
+ paths[i] = filepath.Join(paths[i], "src")
+ }
+
+ // normalize the directory to be an actual directory since it could be with an additional
+ // characters after the last '/'.
+ if !strings.HasSuffix(dir, "/") {
+ dir = filepath.Dir(dir)
+ }
+
+ for _, basePath := range paths {
+ path := filepath.Join(basePath, dir)
+ files, err := ioutil.ReadDir(path)
+ if err != nil {
+ // path does not exists
+ continue
+ }
+ // add the base path as one of the completion options
+ switch dir {
+ case "", ".", "/", "./":
+ default:
+ directories = append(directories, dir)
+ }
+ // add all nested directories of the base path
+ // go supports only packages and not go files within the GOPATH
+ for _, f := range files {
+ if !f.IsDir() {
+ continue
+ }
+ directories = append(directories, filepath.Join(dir, f.Name())+"/")
+ }
+ }
+ return
+}
+
+func findGopath() []string {
+ gopath := os.Getenv("GOPATH")
+ if gopath == "" {
+ // By convention
+ // See rationale at https://github.com/golang/go/issues/17262
+ usr, err := user.Current()
+ if err != nil {
+ return nil
+ }
+ usrgo := filepath.Join(usr.HomeDir, "go")
+ return []string{usrgo}
+ }
+ listsep := string([]byte{os.PathListSeparator})
+ entries := strings.Split(gopath, listsep)
+ return entries
+}
diff --git a/vendor/github.com/posener/complete/gocomplete/tests.go b/vendor/github.com/posener/complete/gocomplete/tests.go
new file mode 100644
index 00000000..a952dab4
--- /dev/null
+++ b/vendor/github.com/posener/complete/gocomplete/tests.go
@@ -0,0 +1,47 @@
+package main
+
+import (
+ "os"
+ "path/filepath"
+ "regexp"
+ "strings"
+
+ "github.com/posener/complete"
+ "github.com/posener/complete/match"
+)
+
+var (
+ predictBenchmark = funcPredict(regexp.MustCompile("^Benchmark"))
+ predictTest = funcPredict(regexp.MustCompile("^(Test|Example)"))
+)
+
+// predictTest predict test names.
+// it searches in the current directory for all the go test files
+// and then all the relevant function names.
+// for test names use prefix of 'Test' or 'Example', and for benchmark
+// test names use 'Benchmark'
+func funcPredict(funcRegexp *regexp.Regexp) complete.Predictor {
+ return complete.PredictFunc(func(a complete.Args) (prediction []string) {
+ tests := funcNames(funcRegexp)
+ for _, t := range tests {
+ if match.Prefix(t, a.Last) {
+ prediction = append(prediction, t)
+ }
+ }
+ return
+ })
+}
+
+// get all test names in current directory
+func funcNames(funcRegexp *regexp.Regexp) (tests []string) {
+ filepath.Walk("./", func(path string, info os.FileInfo, err error) error {
+ // if not a test file, skip
+ if !strings.HasSuffix(path, "_test.go") {
+ return nil
+ }
+ // inspect test file and append all the test names
+ tests = append(tests, functionsInFile(path, funcRegexp)...)
+ return nil
+ })
+ return
+}
diff --git a/vendor/github.com/posener/complete/gocomplete/tests_test.go b/vendor/github.com/posener/complete/gocomplete/tests_test.go
new file mode 100644
index 00000000..6799157c
--- /dev/null
+++ b/vendor/github.com/posener/complete/gocomplete/tests_test.go
@@ -0,0 +1,91 @@
+package main
+
+import (
+ "os"
+ "sort"
+ "testing"
+
+ "github.com/posener/complete"
+)
+
+func TestPredictions(t *testing.T) {
+ t.Parallel()
+
+ tests := []struct {
+ name string
+ predictor complete.Predictor
+ last string
+ want []string
+ }{
+ {
+ name: "predict tests ok",
+ predictor: predictTest,
+ want: []string{"TestPredictions", "Example"},
+ },
+ {
+ name: "predict tests not found",
+ predictor: predictTest,
+ last: "X",
+ },
+ {
+ name: "predict benchmark ok",
+ predictor: predictBenchmark,
+ want: []string{"BenchmarkFake"},
+ },
+ {
+ name: "predict benchmarks not found",
+ predictor: predictBenchmark,
+ last: "X",
+ },
+ {
+ name: "predict local ok",
+ predictor: complete.PredictFunc(predictPackages),
+ last: ".",
+ want: []string{"./"},
+ },
+ {
+ name: "predict system ok",
+ predictor: complete.PredictFunc(predictPackages),
+ last: "github.com/posener/complete/goc",
+ want: []string{"github.com/posener/complete/gocomplete/"},
+ },
+ {
+ name: "predict packages not found",
+ predictor: complete.PredictFunc(predictPackages),
+ last: "X",
+ },
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ a := complete.Args{Last: tt.last}
+ got := tt.predictor.Predict(a)
+ if !equal(got, tt.want) {
+ t.Errorf("Failed %s: got: %q, want: %q", t.Name(), got, tt.want)
+ }
+ })
+ }
+}
+
+func BenchmarkFake(b *testing.B) {}
+
+func Example() {
+ os.Setenv("COMP_LINE", "go ru")
+ main()
+ // output: run
+
+}
+
+func equal(s1, s2 []string) bool {
+ sort.Strings(s1)
+ sort.Strings(s2)
+ if len(s1) != len(s2) {
+ return false
+ }
+ for i := range s1 {
+ if s1[i] != s2[i] {
+ return false
+ }
+ }
+ return true
+}
diff --git a/vendor/github.com/posener/complete/log.go b/vendor/github.com/posener/complete/log.go
new file mode 100644
index 00000000..797a80ce
--- /dev/null
+++ b/vendor/github.com/posener/complete/log.go
@@ -0,0 +1,23 @@
+package complete
+
+import (
+ "io"
+ "io/ioutil"
+ "log"
+ "os"
+)
+
+// Log is used for debugging purposes
+// since complete is running on tab completion, it is nice to
+// have logs to the stderr (when writing your own completer)
+// to write logs, set the COMP_DEBUG environment variable and
+// use complete.Log in the complete program
+var Log = getLogger()
+
+func getLogger() func(format string, args ...interface{}) {
+ var logfile io.Writer = ioutil.Discard
+ if os.Getenv(envDebug) != "" {
+ logfile = os.Stderr
+ }
+ return log.New(logfile, "complete ", log.Flags()).Printf
+}
diff --git a/vendor/github.com/posener/complete/match/file.go b/vendor/github.com/posener/complete/match/file.go
new file mode 100644
index 00000000..051171e8
--- /dev/null
+++ b/vendor/github.com/posener/complete/match/file.go
@@ -0,0 +1,19 @@
+package match
+
+import "strings"
+
+// File returns true if prefix can match the file
+func File(file, prefix string) bool {
+ // special case for current directory completion
+ if file == "./" && (prefix == "." || prefix == "") {
+ return true
+ }
+ if prefix == "." && strings.HasPrefix(file, ".") {
+ return true
+ }
+
+ file = strings.TrimPrefix(file, "./")
+ prefix = strings.TrimPrefix(prefix, "./")
+
+ return strings.HasPrefix(file, prefix)
+}
diff --git a/vendor/github.com/posener/complete/match/match.go b/vendor/github.com/posener/complete/match/match.go
new file mode 100644
index 00000000..812fcac9
--- /dev/null
+++ b/vendor/github.com/posener/complete/match/match.go
@@ -0,0 +1,6 @@
+package match
+
+// Match matches two strings
+// it is used for comparing a term to the last typed
+// word, the prefix, and see if it is a possible auto complete option.
+type Match func(term, prefix string) bool
diff --git a/vendor/github.com/posener/complete/match/match_test.go b/vendor/github.com/posener/complete/match/match_test.go
new file mode 100644
index 00000000..b5a0d870
--- /dev/null
+++ b/vendor/github.com/posener/complete/match/match_test.go
@@ -0,0 +1,129 @@
+package match
+
+import (
+ "fmt"
+ "os"
+ "testing"
+)
+
+func TestMatch(t *testing.T) {
+ t.Parallel()
+
+ // Change to tests directory for testing completion of
+ // files and directories
+ err := os.Chdir("../tests")
+ if err != nil {
+ panic(err)
+ }
+
+ type matcherTest struct {
+ prefix string
+ want bool
+ }
+
+ tests := []struct {
+ m Match
+ long string
+ tests []matcherTest
+ }{
+ {
+ m: Prefix,
+ long: "abcd",
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "ab", want: true},
+ {prefix: "ac", want: false},
+ },
+ },
+ {
+ m: Prefix,
+ long: "",
+ tests: []matcherTest{
+ {prefix: "ac", want: false},
+ {prefix: "", want: true},
+ },
+ },
+ {
+ m: File,
+ long: "file.txt",
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "f", want: true},
+ {prefix: "./f", want: true},
+ {prefix: "./.", want: false},
+ {prefix: "file.", want: true},
+ {prefix: "./file.", want: true},
+ {prefix: "file.txt", want: true},
+ {prefix: "./file.txt", want: true},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: false},
+ {prefix: "/fil", want: false},
+ {prefix: "/file.txt2", want: false},
+ {prefix: "/.", want: false},
+ },
+ },
+ {
+ m: File,
+ long: "./file.txt",
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "f", want: true},
+ {prefix: "./f", want: true},
+ {prefix: "./.", want: false},
+ {prefix: "file.", want: true},
+ {prefix: "./file.", want: true},
+ {prefix: "file.txt", want: true},
+ {prefix: "./file.txt", want: true},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: false},
+ {prefix: "/fil", want: false},
+ {prefix: "/file.txt2", want: false},
+ {prefix: "/.", want: false},
+ },
+ },
+ {
+ m: File,
+ long: "/file.txt",
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "f", want: false},
+ {prefix: "./f", want: false},
+ {prefix: "./.", want: false},
+ {prefix: "file.", want: false},
+ {prefix: "./file.", want: false},
+ {prefix: "file.txt", want: false},
+ {prefix: "./file.txt", want: false},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: true},
+ {prefix: "/fil", want: true},
+ {prefix: "/file.txt2", want: false},
+ {prefix: "/.", want: false},
+ },
+ },
+ {
+ m: File,
+ long: "./",
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: ".", want: true},
+ {prefix: "./", want: true},
+ {prefix: "./.", want: false},
+ },
+ },
+ }
+
+ for _, tt := range tests {
+ for _, ttt := range tt.tests {
+ name := fmt.Sprintf("matcher=%T&long='%s'&prefix='%s'", tt.m, tt.long, ttt.prefix)
+ t.Run(name, func(t *testing.T) {
+ got := tt.m(tt.long, ttt.prefix)
+ if got != ttt.want {
+ t.Errorf("Failed %s: got = %t, want: %t", name, got, ttt.want)
+ }
+ })
+ }
+ }
+}
diff --git a/vendor/github.com/posener/complete/match/prefix.go b/vendor/github.com/posener/complete/match/prefix.go
new file mode 100644
index 00000000..9a01ba63
--- /dev/null
+++ b/vendor/github.com/posener/complete/match/prefix.go
@@ -0,0 +1,9 @@
+package match
+
+import "strings"
+
+// Prefix is a simple Matcher, if the word is it's prefix, there is a match
+// Match returns true if a has the prefix as prefix
+func Prefix(long, prefix string) bool {
+ return strings.HasPrefix(long, prefix)
+}
diff --git a/vendor/github.com/posener/complete/metalinter.json b/vendor/github.com/posener/complete/metalinter.json
new file mode 100644
index 00000000..799c1d03
--- /dev/null
+++ b/vendor/github.com/posener/complete/metalinter.json
@@ -0,0 +1,21 @@
+{
+ "Vendor": true,
+ "DisableAll": true,
+ "Enable": [
+ "gofmt",
+ "goimports",
+ "interfacer",
+ "goconst",
+ "misspell",
+ "unconvert",
+ "gosimple",
+ "golint",
+ "structcheck",
+ "deadcode",
+ "vet"
+ ],
+ "Exclude": [
+ "initTests is unused"
+ ],
+ "Deadline": "2m"
+}
diff --git a/vendor/github.com/posener/complete/predict.go b/vendor/github.com/posener/complete/predict.go
new file mode 100644
index 00000000..82070632
--- /dev/null
+++ b/vendor/github.com/posener/complete/predict.go
@@ -0,0 +1,41 @@
+package complete
+
+// Predictor implements a predict method, in which given
+// command line arguments returns a list of options it predicts.
+type Predictor interface {
+ Predict(Args) []string
+}
+
+// PredictOr unions two predicate functions, so that the result predicate
+// returns the union of their predication
+func PredictOr(predictors ...Predictor) Predictor {
+ return PredictFunc(func(a Args) (prediction []string) {
+ for _, p := range predictors {
+ if p == nil {
+ continue
+ }
+ prediction = append(prediction, p.Predict(a)...)
+ }
+ return
+ })
+}
+
+// PredictFunc determines what terms can follow a command or a flag
+// It is used for auto completion, given last - the last word in the already
+// in the command line, what words can complete it.
+type PredictFunc func(Args) []string
+
+// Predict invokes the predict function and implements the Predictor interface
+func (p PredictFunc) Predict(a Args) []string {
+ if p == nil {
+ return nil
+ }
+ return p(a)
+}
+
+// PredictNothing does not expect anything after.
+var PredictNothing Predictor
+
+// PredictAnything expects something, but nothing particular, such as a number
+// or arbitrary name.
+var PredictAnything = PredictFunc(func(Args) []string { return nil })
diff --git a/vendor/github.com/posener/complete/predict_files.go b/vendor/github.com/posener/complete/predict_files.go
new file mode 100644
index 00000000..c8adf7e8
--- /dev/null
+++ b/vendor/github.com/posener/complete/predict_files.go
@@ -0,0 +1,108 @@
+package complete
+
+import (
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "github.com/posener/complete/match"
+)
+
+// PredictDirs will search for directories in the given started to be typed
+// path, if no path was started to be typed, it will complete to directories
+// in the current working directory.
+func PredictDirs(pattern string) Predictor {
+ return files(pattern, false)
+}
+
+// PredictFiles will search for files matching the given pattern in the started to
+// be typed path, if no path was started to be typed, it will complete to files that
+// match the pattern in the current working directory.
+// To match any file, use "*" as pattern. To match go files use "*.go", and so on.
+func PredictFiles(pattern string) Predictor {
+ return files(pattern, true)
+}
+
+func files(pattern string, allowFiles bool) PredictFunc {
+
+ // search for files according to arguments,
+ // if only one directory has matched the result, search recursively into
+ // this directory to give more results.
+ return func(a Args) (prediction []string) {
+ prediction = predictFiles(a, pattern, allowFiles)
+
+ // if the number of prediction is not 1, we either have many results or
+ // have no results, so we return it.
+ if len(prediction) != 1 {
+ return
+ }
+
+ // only try deeper, if the one item is a directory
+ if stat, err := os.Stat(prediction[0]); err != nil || !stat.IsDir() {
+ return
+ }
+
+ a.Last = prediction[0]
+ return predictFiles(a, pattern, allowFiles)
+ }
+}
+
+func predictFiles(a Args, pattern string, allowFiles bool) []string {
+ if strings.HasSuffix(a.Last, "/..") {
+ return nil
+ }
+
+ dir := a.Directory()
+ files := listFiles(dir, pattern, allowFiles)
+
+ // add dir if match
+ files = append(files, dir)
+
+ return PredictFilesSet(files).Predict(a)
+}
+
+// PredictFilesSet predict according to file rules to a given set of file names
+func PredictFilesSet(files []string) PredictFunc {
+ return func(a Args) (prediction []string) {
+ // add all matching files to prediction
+ for _, f := range files {
+ f = fixPathForm(a.Last, f)
+
+ // test matching of file to the argument
+ if match.File(f, a.Last) {
+ prediction = append(prediction, f)
+ }
+ }
+ return
+ }
+}
+
+func listFiles(dir, pattern string, allowFiles bool) []string {
+ // set of all file names
+ m := map[string]bool{}
+
+ // list files
+ if files, err := filepath.Glob(filepath.Join(dir, pattern)); err == nil {
+ for _, f := range files {
+ if stat, err := os.Stat(f); err != nil || stat.IsDir() || allowFiles {
+ m[f] = true
+ }
+ }
+ }
+
+ // list directories
+ if dirs, err := ioutil.ReadDir(dir); err == nil {
+ for _, d := range dirs {
+ if d.IsDir() {
+ m[filepath.Join(dir, d.Name())] = true
+ }
+ }
+ }
+
+ list := make([]string, 0, len(m))
+ for k := range m {
+ list = append(list, k)
+ }
+ return list
+}
diff --git a/vendor/github.com/posener/complete/predict_set.go b/vendor/github.com/posener/complete/predict_set.go
new file mode 100644
index 00000000..8fc59d71
--- /dev/null
+++ b/vendor/github.com/posener/complete/predict_set.go
@@ -0,0 +1,19 @@
+package complete
+
+import "github.com/posener/complete/match"
+
+// PredictSet expects specific set of terms, given in the options argument.
+func PredictSet(options ...string) Predictor {
+ return predictSet(options)
+}
+
+type predictSet []string
+
+func (p predictSet) Predict(a Args) (prediction []string) {
+ for _, m := range p {
+ if match.Prefix(m, a.Last) {
+ prediction = append(prediction, m)
+ }
+ }
+ return
+}
diff --git a/vendor/github.com/posener/complete/predict_test.go b/vendor/github.com/posener/complete/predict_test.go
new file mode 100644
index 00000000..ac26e33c
--- /dev/null
+++ b/vendor/github.com/posener/complete/predict_test.go
@@ -0,0 +1,175 @@
+package complete
+
+import (
+ "sort"
+ "strings"
+ "testing"
+)
+
+func TestPredicate(t *testing.T) {
+ t.Parallel()
+ initTests()
+
+ tests := []struct {
+ name string
+ p Predictor
+ argList []string
+ want []string
+ }{
+ {
+ name: "set",
+ p: PredictSet("a", "b", "c"),
+ want: []string{"a", "b", "c"},
+ },
+ {
+ name: "set with does",
+ p: PredictSet("./..", "./x"),
+ argList: []string{"./.", "./.."},
+ want: []string{"./.."},
+ },
+ {
+ name: "set/empty",
+ p: PredictSet(),
+ want: []string{},
+ },
+ {
+ name: "anything",
+ p: PredictAnything,
+ want: []string{},
+ },
+ {
+ name: "or: word with nil",
+ p: PredictOr(PredictSet("a"), nil),
+ want: []string{"a"},
+ },
+ {
+ name: "or: nil with word",
+ p: PredictOr(nil, PredictSet("a")),
+ want: []string{"a"},
+ },
+ {
+ name: "or: nil with nil",
+ p: PredictOr(PredictNothing, PredictNothing),
+ want: []string{},
+ },
+ {
+ name: "or: word with word with word",
+ p: PredictOr(PredictSet("a"), PredictSet("b"), PredictSet("c")),
+ want: []string{"a", "b", "c"},
+ },
+ {
+ name: "files/txt",
+ p: PredictFiles("*.txt"),
+ want: []string{"./", "dir/", "outer/", "a.txt", "b.txt", "c.txt", ".dot.txt"},
+ },
+ {
+ name: "files/txt",
+ p: PredictFiles("*.txt"),
+ argList: []string{"./dir/"},
+ want: []string{"./dir/"},
+ },
+ {
+ name: "complete files inside dir if it is the only match",
+ p: PredictFiles("foo"),
+ argList: []string{"./dir/", "./d"},
+ want: []string{"./dir/", "./dir/foo"},
+ },
+ {
+ name: "complete files inside dir when argList includes file name",
+ p: PredictFiles("*"),
+ argList: []string{"./dir/f", "./dir/foo"},
+ want: []string{"./dir/foo"},
+ },
+ {
+ name: "files/md",
+ p: PredictFiles("*.md"),
+ argList: []string{""},
+ want: []string{"./", "dir/", "outer/", "readme.md"},
+ },
+ {
+ name: "files/md with ./ prefix",
+ p: PredictFiles("*.md"),
+ argList: []string{".", "./"},
+ want: []string{"./", "./dir/", "./outer/", "./readme.md"},
+ },
+ {
+ name: "dirs",
+ p: PredictDirs("*"),
+ argList: []string{"di", "dir", "dir/"},
+ want: []string{"dir/"},
+ },
+ {
+ name: "dirs with ./ prefix",
+ p: PredictDirs("*"),
+ argList: []string{"./di", "./dir", "./dir/"},
+ want: []string{"./dir/"},
+ },
+ {
+ name: "predict anything in dir",
+ p: PredictFiles("*"),
+ argList: []string{"dir", "dir/", "di"},
+ want: []string{"dir/", "dir/foo", "dir/bar"},
+ },
+ {
+ name: "predict anything in dir with ./ prefix",
+ p: PredictFiles("*"),
+ argList: []string{"./dir", "./dir/", "./di"},
+ want: []string{"./dir/", "./dir/foo", "./dir/bar"},
+ },
+ {
+ name: "root directories",
+ p: PredictDirs("*"),
+ argList: []string{""},
+ want: []string{"./", "dir/", "outer/"},
+ },
+ {
+ name: "root directories with ./ prefix",
+ p: PredictDirs("*"),
+ argList: []string{".", "./"},
+ want: []string{"./", "./dir/", "./outer/"},
+ },
+ {
+ name: "nested directories",
+ p: PredictDirs("*.md"),
+ argList: []string{"ou", "outer", "outer/"},
+ want: []string{"outer/", "outer/inner/"},
+ },
+ {
+ name: "nested directories with ./ prefix",
+ p: PredictDirs("*.md"),
+ argList: []string{"./ou", "./outer", "./outer/"},
+ want: []string{"./outer/", "./outer/inner/"},
+ },
+ {
+ name: "nested inner directory",
+ p: PredictFiles("*.md"),
+ argList: []string{"outer/i"},
+ want: []string{"outer/inner/", "outer/inner/readme.md"},
+ },
+ }
+
+ for _, tt := range tests {
+
+ // no args in argList, means an empty argument
+ if len(tt.argList) == 0 {
+ tt.argList = append(tt.argList, "")
+ }
+
+ for _, arg := range tt.argList {
+ t.Run(tt.name+"/arg="+arg, func(t *testing.T) {
+
+ matches := tt.p.Predict(newArgs(strings.Split(arg, " ")))
+
+ sort.Strings(matches)
+ sort.Strings(tt.want)
+
+ got := strings.Join(matches, ",")
+ want := strings.Join(tt.want, ",")
+
+ if got != want {
+ t.Errorf("failed %s\ngot = %s\nwant: %s", t.Name(), got, want)
+ }
+ })
+ }
+ }
+}
diff --git a/vendor/github.com/posener/complete/readme.md b/vendor/github.com/posener/complete/readme.md
new file mode 100644
index 00000000..74077e35
--- /dev/null
+++ b/vendor/github.com/posener/complete/readme.md
@@ -0,0 +1,116 @@
+# complete
+
+[![Build Status](https://travis-ci.org/posener/complete.svg?branch=master)](https://travis-ci.org/posener/complete)
+[![codecov](https://codecov.io/gh/posener/complete/branch/master/graph/badge.svg)](https://codecov.io/gh/posener/complete)
+[![GoDoc](https://godoc.org/github.com/posener/complete?status.svg)](http://godoc.org/github.com/posener/complete)
+[![Go Report Card](https://goreportcard.com/badge/github.com/posener/complete)](https://goreportcard.com/report/github.com/posener/complete)
+
+A tool for bash writing bash completion in go.
+
+Writing bash completion scripts is a hard work. This package provides an easy way
+to create bash completion scripts for any command, and also an easy way to install/uninstall
+the completion of the command.
+
+## go command bash completion
+
+In [gocomplete](./gocomplete) there is an example for bash completion for the `go` command line.
+
+This is an example that uses the `complete` package on the `go` command - the `complete` package
+can also be used to implement any completions, see [Usage](#usage).
+
+### Install
+
+1. Type in your shell:
+```
+go get -u github.com/posener/complete/gocomplete
+gocomplete -install
+```
+
+2. Restart your shell
+
+Uninstall by `gocomplete -uninstall`
+
+### Features
+
+- Complete `go` command, including sub commands and all flags.
+- Complete packages names or `.go` files when necessary.
+- Complete test names after `-run` flag.
+
+## complete package
+
+Supported shells:
+
+- [x] bash
+- [x] zsh
+
+### Usage
+
+Assuming you have program called `run` and you want to have bash completion
+for it, meaning, if you type `run` then space, then press the `Tab` key,
+the shell will suggest relevant complete options.
+
+In that case, we will create a program called `runcomplete`, a go program,
+with a `func main()` and so, that will make the completion of the `run`
+program. Once the `runcomplete` will be in a binary form, we could
+`runcomplete -install` and that will add to our shell all the bash completion
+options for `run`.
+
+So here it is:
+
+```go
+import "github.com/posener/complete"
+
+func main() {
+
+ // create a Command object, that represents the command we want
+ // to complete.
+ run := complete.Command{
+
+ // Sub defines a list of sub commands of the program,
+ // this is recursive, since every command is of type command also.
+ Sub: complete.Commands{
+
+ // add a build sub command
+ "build": complete.Command {
+
+ // define flags of the build sub command
+ Flags: complete.Flags{
+ // build sub command has a flag '-cpus', which
+ // expects number of cpus after it. in that case
+ // anything could complete this flag.
+ "-cpus": complete.PredictAnything,
+ },
+ },
+ },
+
+ // define flags of the 'run' main command
+ Flags: complete.Flags{
+ // a flag -o, which expects a file ending with .out after
+ // it, the tab completion will auto complete for files matching
+ // the given pattern.
+ "-o": complete.PredictFiles("*.out"),
+ },
+
+ // define global flags of the 'run' main command
+ // those will show up also when a sub command was entered in the
+ // command line
+ GlobalFlags: complete.Flags{
+
+ // a flag '-h' which does not expects anything after it
+ "-h": complete.PredictNothing,
+ },
+ }
+
+ // run the command completion, as part of the main() function.
+ // this triggers the autocompletion when needed.
+ // name must be exactly as the binary that we want to complete.
+ complete.New("run", run).Run()
+}
+```
+
+### Self completing program
+
+In case that the program that we want to complete is written in go we
+can make it self completing.
+
+Here is an [example](./example/self/main.go)
diff --git a/vendor/github.com/posener/complete/test.sh b/vendor/github.com/posener/complete/test.sh
new file mode 100755
index 00000000..56bfcf15
--- /dev/null
+++ b/vendor/github.com/posener/complete/test.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+set -e
+echo "" > coverage.txt
+
+for d in $(go list ./... | grep -v vendor); do
+ go test -v -race -coverprofile=profile.out -covermode=atomic $d
+ if [ -f profile.out ]; then
+ cat profile.out >> coverage.txt
+ rm profile.out
+ fi
+done \ No newline at end of file
diff --git a/vendor/github.com/posener/complete/tests/.dot.txt b/vendor/github.com/posener/complete/tests/.dot.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/.dot.txt
diff --git a/vendor/github.com/posener/complete/tests/a.txt b/vendor/github.com/posener/complete/tests/a.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/a.txt
diff --git a/vendor/github.com/posener/complete/tests/b.txt b/vendor/github.com/posener/complete/tests/b.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/b.txt
diff --git a/vendor/github.com/posener/complete/tests/c.txt b/vendor/github.com/posener/complete/tests/c.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/c.txt
diff --git a/vendor/github.com/posener/complete/tests/dir/bar b/vendor/github.com/posener/complete/tests/dir/bar
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/dir/bar
diff --git a/vendor/github.com/posener/complete/tests/dir/foo b/vendor/github.com/posener/complete/tests/dir/foo
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/dir/foo
diff --git a/vendor/github.com/posener/complete/tests/outer/inner/readme.md b/vendor/github.com/posener/complete/tests/outer/inner/readme.md
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/outer/inner/readme.md
diff --git a/vendor/github.com/posener/complete/tests/readme.md b/vendor/github.com/posener/complete/tests/readme.md
new file mode 100644
index 00000000..25ea22ce
--- /dev/null
+++ b/vendor/github.com/posener/complete/tests/readme.md
@@ -0,0 +1,3 @@
+# About this directory
+
+This directory is for testing file completion purposes \ No newline at end of file
diff --git a/vendor/github.com/posener/complete/utils.go b/vendor/github.com/posener/complete/utils.go
new file mode 100644
index 00000000..58b8b792
--- /dev/null
+++ b/vendor/github.com/posener/complete/utils.go
@@ -0,0 +1,46 @@
+package complete
+
+import (
+ "os"
+ "path/filepath"
+ "strings"
+)
+
+// fixPathForm changes a file name to a relative name
+func fixPathForm(last string, file string) string {
+ // get wording directory for relative name
+ workDir, err := os.Getwd()
+ if err != nil {
+ return file
+ }
+
+ abs, err := filepath.Abs(file)
+ if err != nil {
+ return file
+ }
+
+ // if last is absolute, return path as absolute
+ if filepath.IsAbs(last) {
+ return fixDirPath(abs)
+ }
+
+ rel, err := filepath.Rel(workDir, abs)
+ if err != nil {
+ return file
+ }
+
+ // fix ./ prefix of path
+ if rel != "." && strings.HasPrefix(last, ".") {
+ rel = "./" + rel
+ }
+
+ return fixDirPath(rel)
+}
+
+func fixDirPath(path string) string {
+ info, err := os.Stat(path)
+ if err == nil && info.IsDir() && !strings.HasSuffix(path, "/") {
+ path += "/"
+ }
+ return path
+}
diff --git a/vendor/golang.org/x/sys/.gitattributes b/vendor/golang.org/x/sys/.gitattributes
new file mode 100644
index 00000000..d2f212e5
--- /dev/null
+++ b/vendor/golang.org/x/sys/.gitattributes
@@ -0,0 +1,10 @@
+# Treat all files in this repo as binary, with no git magic updating
+# line endings. Windows users contributing to Go will need to use a
+# modern version of git and editors capable of LF line endings.
+#
+# We'll prevent accidental CRLF line endings from entering the repo
+# via the git-review gofmt checks.
+#
+# See golang.org/issue/9281
+
+* -text
diff --git a/vendor/golang.org/x/sys/.gitignore b/vendor/golang.org/x/sys/.gitignore
new file mode 100644
index 00000000..8339fd61
--- /dev/null
+++ b/vendor/golang.org/x/sys/.gitignore
@@ -0,0 +1,2 @@
+# Add no patterns to .hgignore except for files generated by the build.
+last-change
diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS
new file mode 100644
index 00000000..15167cd7
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/CONTRIBUTING.md b/vendor/golang.org/x/sys/CONTRIBUTING.md
new file mode 100644
index 00000000..88dff59b
--- /dev/null
+++ b/vendor/golang.org/x/sys/CONTRIBUTING.md
@@ -0,0 +1,31 @@
+# Contributing to Go
+
+Go is an open source project.
+
+It is the work of hundreds of contributors. We appreciate your help!
+
+
+## Filing issues
+
+When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions:
+
+1. What version of Go are you using (`go version`)?
+2. What operating system and processor architecture are you using?
+3. What did you do?
+4. What did you expect to see?
+5. What did you see instead?
+
+General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
+The gophers there will answer or ask you to file an issue if you've tripped over a bug.
+
+## Contributing code
+
+Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
+before sending patches.
+
+**We do not accept GitHub pull requests**
+(we use [Gerrit](https://code.google.com/p/gerrit/) instead for code review).
+
+Unless otherwise noted, the Go source files are distributed under
+the BSD-style license found in the LICENSE file.
+
diff --git a/vendor/golang.org/x/sys/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS
new file mode 100644
index 00000000..1c4577e9
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE
new file mode 100644
index 00000000..6a66aea5
--- /dev/null
+++ b/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/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/PATENTS b/vendor/golang.org/x/sys/PATENTS
index 69b47959..73309904 100644
--- a/vendor/github.com/hashicorp/terraform/vendor/google.golang.org/grpc/PATENTS
+++ b/vendor/golang.org/x/sys/PATENTS
@@ -1,22 +1,22 @@
Additional IP Rights Grant (Patents)
"This implementation" means the copyrightable works distributed by
-Google as part of the gRPC project.
+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 gRPC, where such license applies only to those patent
+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 gRPC. This grant does not include claims that would be
+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 gRPC or any code incorporated within this
-implementation of gRPC constitutes direct or contributory patent
+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 gRPC
+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/vendor/golang.org/x/sys/README b/vendor/golang.org/x/sys/README
new file mode 100644
index 00000000..bd422b40
--- /dev/null
+++ b/vendor/golang.org/x/sys/README
@@ -0,0 +1,3 @@
+This repository holds supplemental Go packages for low-level interactions with the operating system.
+
+To submit changes to this repository, see http://golang.org/doc/contribute.html.
diff --git a/vendor/golang.org/x/sys/codereview.cfg b/vendor/golang.org/x/sys/codereview.cfg
new file mode 100644
index 00000000..3f8b14b6
--- /dev/null
+++ b/vendor/golang.org/x/sys/codereview.cfg
@@ -0,0 +1 @@
+issuerepo: golang/go
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm.s b/vendor/golang.org/x/sys/plan9/asm.s
index 8ed2fdb9..d4ca868f 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm.s
+++ b/vendor/golang.org/x/sys/plan9/asm.s
@@ -2,8 +2,6 @@
// 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"
TEXT ·use(SB),NOSPLIT,$0
diff --git a/vendor/golang.org/x/sys/plan9/asm_plan9_386.s b/vendor/golang.org/x/sys/plan9/asm_plan9_386.s
new file mode 100644
index 00000000..bc5cab1f
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/asm_plan9_386.s
@@ -0,0 +1,30 @@
+// 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.
+
+#include "textflag.h"
+
+//
+// System call support for 386, Plan 9
+//
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT ·Syscall(SB),NOSPLIT,$0-32
+ JMP syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-44
+ JMP syscall·Syscall6(SB)
+
+TEXT ·RawSyscall(SB),NOSPLIT,$0-28
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
+ JMP syscall·RawSyscall6(SB)
+
+TEXT ·seek(SB),NOSPLIT,$0-36
+ JMP syscall·seek(SB)
+
+TEXT ·exit(SB),NOSPLIT,$4-4
+ JMP syscall·exit(SB)
diff --git a/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s b/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s
new file mode 100644
index 00000000..d3448e67
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s
@@ -0,0 +1,30 @@
+// 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.
+
+#include "textflag.h"
+
+//
+// System call support for amd64, Plan 9
+//
+
+// Just jump to package syscall's implementation for all these functions.
+// The runtime may know about them.
+
+TEXT ·Syscall(SB),NOSPLIT,$0-64
+ JMP syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-88
+ JMP syscall·Syscall6(SB)
+
+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ JMP syscall·RawSyscall6(SB)
+
+TEXT ·seek(SB),NOSPLIT,$0-56
+ JMP syscall·seek(SB)
+
+TEXT ·exit(SB),NOSPLIT,$8-8
+ JMP syscall·exit(SB)
diff --git a/vendor/golang.org/x/sys/plan9/const_plan9.go b/vendor/golang.org/x/sys/plan9/const_plan9.go
new file mode 100644
index 00000000..b4e85a3a
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/const_plan9.go
@@ -0,0 +1,70 @@
+package plan9
+
+// Plan 9 Constants
+
+// Open modes
+const (
+ O_RDONLY = 0
+ O_WRONLY = 1
+ O_RDWR = 2
+ O_TRUNC = 16
+ O_CLOEXEC = 32
+ O_EXCL = 0x1000
+)
+
+// Rfork flags
+const (
+ RFNAMEG = 1 << 0
+ RFENVG = 1 << 1
+ RFFDG = 1 << 2
+ RFNOTEG = 1 << 3
+ RFPROC = 1 << 4
+ RFMEM = 1 << 5
+ RFNOWAIT = 1 << 6
+ RFCNAMEG = 1 << 10
+ RFCENVG = 1 << 11
+ RFCFDG = 1 << 12
+ RFREND = 1 << 13
+ RFNOMNT = 1 << 14
+)
+
+// Qid.Type bits
+const (
+ QTDIR = 0x80
+ QTAPPEND = 0x40
+ QTEXCL = 0x20
+ QTMOUNT = 0x10
+ QTAUTH = 0x08
+ QTTMP = 0x04
+ QTFILE = 0x00
+)
+
+// Dir.Mode bits
+const (
+ DMDIR = 0x80000000
+ DMAPPEND = 0x40000000
+ DMEXCL = 0x20000000
+ DMMOUNT = 0x10000000
+ DMAUTH = 0x08000000
+ DMTMP = 0x04000000
+ DMREAD = 0x4
+ DMWRITE = 0x2
+ DMEXEC = 0x1
+)
+
+const (
+ STATMAX = 65535
+ ERRMAX = 128
+ STATFIXLEN = 49
+)
+
+// Mount and bind flags
+const (
+ MREPL = 0x0000
+ MBEFORE = 0x0001
+ MAFTER = 0x0002
+ MORDER = 0x0003
+ MCREATE = 0x0004
+ MCACHE = 0x0010
+ MMASK = 0x0017
+)
diff --git a/vendor/golang.org/x/sys/plan9/dir_plan9.go b/vendor/golang.org/x/sys/plan9/dir_plan9.go
new file mode 100644
index 00000000..0955e0c5
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/dir_plan9.go
@@ -0,0 +1,212 @@
+// 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.
+
+// Plan 9 directory marshalling. See intro(5).
+
+package plan9
+
+import "errors"
+
+var (
+ ErrShortStat = errors.New("stat buffer too short")
+ ErrBadStat = errors.New("malformed stat buffer")
+ ErrBadName = errors.New("bad character in file name")
+)
+
+// A Qid represents a 9P server's unique identification for a file.
+type Qid struct {
+ Path uint64 // the file server's unique identification for the file
+ Vers uint32 // version number for given Path
+ Type uint8 // the type of the file (plan9.QTDIR for example)
+}
+
+// A Dir contains the metadata for a file.
+type Dir struct {
+ // system-modified data
+ Type uint16 // server type
+ Dev uint32 // server subtype
+
+ // file data
+ Qid Qid // unique id from server
+ Mode uint32 // permissions
+ Atime uint32 // last read time
+ Mtime uint32 // last write time
+ Length int64 // file length
+ Name string // last element of path
+ Uid string // owner name
+ Gid string // group name
+ Muid string // last modifier name
+}
+
+var nullDir = Dir{
+ Type: ^uint16(0),
+ Dev: ^uint32(0),
+ Qid: Qid{
+ Path: ^uint64(0),
+ Vers: ^uint32(0),
+ Type: ^uint8(0),
+ },
+ Mode: ^uint32(0),
+ Atime: ^uint32(0),
+ Mtime: ^uint32(0),
+ Length: ^int64(0),
+}
+
+// Null assigns special "don't touch" values to members of d to
+// avoid modifying them during plan9.Wstat.
+func (d *Dir) Null() { *d = nullDir }
+
+// Marshal encodes a 9P stat message corresponding to d into b
+//
+// If there isn't enough space in b for a stat message, ErrShortStat is returned.
+func (d *Dir) Marshal(b []byte) (n int, err error) {
+ n = STATFIXLEN + len(d.Name) + len(d.Uid) + len(d.Gid) + len(d.Muid)
+ if n > len(b) {
+ return n, ErrShortStat
+ }
+
+ for _, c := range d.Name {
+ if c == '/' {
+ return n, ErrBadName
+ }
+ }
+
+ b = pbit16(b, uint16(n)-2)
+ b = pbit16(b, d.Type)
+ b = pbit32(b, d.Dev)
+ b = pbit8(b, d.Qid.Type)
+ b = pbit32(b, d.Qid.Vers)
+ b = pbit64(b, d.Qid.Path)
+ b = pbit32(b, d.Mode)
+ b = pbit32(b, d.Atime)
+ b = pbit32(b, d.Mtime)
+ b = pbit64(b, uint64(d.Length))
+ b = pstring(b, d.Name)
+ b = pstring(b, d.Uid)
+ b = pstring(b, d.Gid)
+ b = pstring(b, d.Muid)
+
+ return n, nil
+}
+
+// UnmarshalDir decodes a single 9P stat message from b and returns the resulting Dir.
+//
+// If b is too small to hold a valid stat message, ErrShortStat is returned.
+//
+// If the stat message itself is invalid, ErrBadStat is returned.
+func UnmarshalDir(b []byte) (*Dir, error) {
+ if len(b) < STATFIXLEN {
+ return nil, ErrShortStat
+ }
+ size, buf := gbit16(b)
+ if len(b) != int(size)+2 {
+ return nil, ErrBadStat
+ }
+ b = buf
+
+ var d Dir
+ d.Type, b = gbit16(b)
+ d.Dev, b = gbit32(b)
+ d.Qid.Type, b = gbit8(b)
+ d.Qid.Vers, b = gbit32(b)
+ d.Qid.Path, b = gbit64(b)
+ d.Mode, b = gbit32(b)
+ d.Atime, b = gbit32(b)
+ d.Mtime, b = gbit32(b)
+
+ n, b := gbit64(b)
+ d.Length = int64(n)
+
+ var ok bool
+ if d.Name, b, ok = gstring(b); !ok {
+ return nil, ErrBadStat
+ }
+ if d.Uid, b, ok = gstring(b); !ok {
+ return nil, ErrBadStat
+ }
+ if d.Gid, b, ok = gstring(b); !ok {
+ return nil, ErrBadStat
+ }
+ if d.Muid, b, ok = gstring(b); !ok {
+ return nil, ErrBadStat
+ }
+
+ return &d, nil
+}
+
+// pbit8 copies the 8-bit number v to b and returns the remaining slice of b.
+func pbit8(b []byte, v uint8) []byte {
+ b[0] = byte(v)
+ return b[1:]
+}
+
+// pbit16 copies the 16-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit16(b []byte, v uint16) []byte {
+ b[0] = byte(v)
+ b[1] = byte(v >> 8)
+ return b[2:]
+}
+
+// pbit32 copies the 32-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit32(b []byte, v uint32) []byte {
+ b[0] = byte(v)
+ b[1] = byte(v >> 8)
+ b[2] = byte(v >> 16)
+ b[3] = byte(v >> 24)
+ return b[4:]
+}
+
+// pbit64 copies the 64-bit number v to b in little-endian order and returns the remaining slice of b.
+func pbit64(b []byte, v uint64) []byte {
+ b[0] = byte(v)
+ b[1] = byte(v >> 8)
+ b[2] = byte(v >> 16)
+ b[3] = byte(v >> 24)
+ b[4] = byte(v >> 32)
+ b[5] = byte(v >> 40)
+ b[6] = byte(v >> 48)
+ b[7] = byte(v >> 56)
+ return b[8:]
+}
+
+// pstring copies the string s to b, prepending it with a 16-bit length in little-endian order, and
+// returning the remaining slice of b..
+func pstring(b []byte, s string) []byte {
+ b = pbit16(b, uint16(len(s)))
+ n := copy(b, s)
+ return b[n:]
+}
+
+// gbit8 reads an 8-bit number from b and returns it with the remaining slice of b.
+func gbit8(b []byte) (uint8, []byte) {
+ return uint8(b[0]), b[1:]
+}
+
+// gbit16 reads a 16-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit16(b []byte) (uint16, []byte) {
+ return uint16(b[0]) | uint16(b[1])<<8, b[2:]
+}
+
+// gbit32 reads a 32-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit32(b []byte) (uint32, []byte) {
+ return uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24, b[4:]
+}
+
+// gbit64 reads a 64-bit number in little-endian order from b and returns it with the remaining slice of b.
+func gbit64(b []byte) (uint64, []byte) {
+ lo := uint32(b[0]) | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
+ hi := uint32(b[4]) | uint32(b[5])<<8 | uint32(b[6])<<16 | uint32(b[7])<<24
+ return uint64(lo) | uint64(hi)<<32, b[8:]
+}
+
+// gstring reads a string from b, prefixed with a 16-bit length in little-endian order.
+// It returns the string with the remaining slice of b and a boolean. If the length is
+// greater than the number of bytes in b, the boolean will be false.
+func gstring(b []byte) (string, []byte, bool) {
+ n, b := gbit16(b)
+ if int(n) > len(b) {
+ return "", b, false
+ }
+ return string(b[:n]), b[n:], true
+}
diff --git a/vendor/golang.org/x/sys/plan9/env_plan9.go b/vendor/golang.org/x/sys/plan9/env_plan9.go
new file mode 100644
index 00000000..25a96e7e
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/env_plan9.go
@@ -0,0 +1,27 @@
+// 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.
+
+// Plan 9 environment variables.
+
+package plan9
+
+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()
+}
diff --git a/vendor/golang.org/x/sys/plan9/env_unset.go b/vendor/golang.org/x/sys/plan9/env_unset.go
new file mode 100644
index 00000000..c37fc26e
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/env_unset.go
@@ -0,0 +1,14 @@
+// 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 go1.4
+
+package plan9
+
+import "syscall"
+
+func Unsetenv(key string) error {
+ // This was added in Go 1.4.
+ return syscall.Unsetenv(key)
+}
diff --git a/vendor/golang.org/x/sys/plan9/errors_plan9.go b/vendor/golang.org/x/sys/plan9/errors_plan9.go
new file mode 100644
index 00000000..110cf6a3
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/errors_plan9.go
@@ -0,0 +1,50 @@
+// 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 plan9
+
+import "syscall"
+
+// Constants
+const (
+ // Invented values to support what package os expects.
+ O_CREAT = 0x02000
+ O_APPEND = 0x00400
+ O_NOCTTY = 0x00000
+ O_NONBLOCK = 0x00000
+ O_SYNC = 0x00000
+ O_ASYNC = 0x00000
+
+ S_IFMT = 0x1f000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+)
+
+// Errors
+var (
+ EINVAL = syscall.NewError("bad arg in system call")
+ ENOTDIR = syscall.NewError("not a directory")
+ EISDIR = syscall.NewError("file is a directory")
+ ENOENT = syscall.NewError("file does not exist")
+ EEXIST = syscall.NewError("file already exists")
+ EMFILE = syscall.NewError("no free file descriptors")
+ EIO = syscall.NewError("i/o error")
+ ENAMETOOLONG = syscall.NewError("file name too long")
+ EINTR = syscall.NewError("interrupted")
+ EPERM = syscall.NewError("permission denied")
+ EBUSY = syscall.NewError("no free devices")
+ ETIMEDOUT = syscall.NewError("connection timed out")
+ EPLAN9 = syscall.NewError("not supported by plan 9")
+
+ // The following errors do not correspond to any
+ // Plan 9 system messages. Invented to support
+ // what package os and others expect.
+ EACCES = syscall.NewError("access permission denied")
+ EAFNOSUPPORT = syscall.NewError("address family not supported by protocol")
+)
diff --git a/vendor/golang.org/x/sys/plan9/mkall.sh b/vendor/golang.org/x/sys/plan9/mkall.sh
new file mode 100755
index 00000000..9f73c606
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/mkall.sh
@@ -0,0 +1,138 @@
+#!/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.
+
+# The plan9 package provides access to the raw system call
+# interface of the underlying operating system. Porting Go to
+# a new architecture/operating system combination requires
+# some manual effort, though there are tools that automate
+# much of the process. The auto-generated files have names
+# beginning with z.
+#
+# This script runs or (given -n) prints suggested commands to generate z files
+# for the current system. Running those commands is not automatic.
+# This script is documentation more than anything else.
+#
+# * asm_${GOOS}_${GOARCH}.s
+#
+# This hand-written assembly file 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.
+#
+# * syscall_${GOOS}.go
+#
+# This hand-written Go file implements system calls that need
+# special handling and lists "//sys" comments giving prototypes
+# for ones that can be auto-generated. Mksyscall reads those
+# comments to generate the stubs.
+#
+# * syscall_${GOOS}_${GOARCH}.go
+#
+# Same as syscall_${GOOS}.go except that it contains code specific
+# to ${GOOS} on one particular architecture.
+#
+# * types_${GOOS}.c
+#
+# This hand-written C file includes standard C headers and then
+# creates typedef or enum names beginning with a dollar sign
+# (use of $ in variable names is a gcc extension). The hardest
+# part about preparing this file is figuring out which headers to
+# include and which symbols need to be #defined to get the
+# actual data structures that pass through to the kernel system calls.
+# Some C libraries present 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.c and types_linux.c for examples.
+#
+# * zerror_${GOOS}_${GOARCH}.go
+#
+# This machine-generated file defines the system's error numbers,
+# error strings, and signal numbers. The generator is "mkerrors.sh".
+# Usually no arguments are needed, but mkerrors.sh will pass its
+# arguments on to godefs.
+#
+# * zsyscall_${GOOS}_${GOARCH}.go
+#
+# Generated by mksyscall.pl; see syscall_${GOOS}.go above.
+#
+# * zsysnum_${GOOS}_${GOARCH}.go
+#
+# Generated by mksysnum_${GOOS}.
+#
+# * ztypes_${GOOS}_${GOARCH}.go
+#
+# Generated by godefs; see types_${GOOS}.c above.
+
+GOOSARCH="${GOOS}_${GOARCH}"
+
+# defaults
+mksyscall="./mksyscall.pl"
+mkerrors="./mkerrors.sh"
+zerrors="zerrors_$GOOSARCH.go"
+mksysctl=""
+zsysctl="zsysctl_$GOOSARCH.go"
+mksysnum=
+mktypes=
+run="sh"
+
+case "$1" in
+-syscalls)
+ for i in zsyscall*go
+ do
+ sed 1q $i | sed 's;^// ;;' | sh > _$i && gofmt < _$i > $i
+ rm _$i
+ done
+ exit 0
+ ;;
+-n)
+ run="cat"
+ shift
+esac
+
+case "$#" in
+0)
+ ;;
+*)
+ echo 'usage: mkall.sh [-n]' 1>&2
+ exit 2
+esac
+
+case "$GOOSARCH" in
+_* | *_ | _)
+ echo 'undefined $GOOS_$GOARCH:' "$GOOSARCH" 1>&2
+ exit 1
+ ;;
+plan9_386)
+ mkerrors=
+ mksyscall="./mksyscall.pl -l32 -plan9"
+ mksysnum="./mksysnum_plan9.sh /n/sources/plan9/sys/src/libc/9syscall/sys.h"
+ mktypes="XXX"
+ ;;
+*)
+ echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2
+ exit 1
+ ;;
+esac
+
+(
+ if [ -n "$mkerrors" ]; then echo "$mkerrors |gofmt >$zerrors"; fi
+ case "$GOOS" in
+ plan9)
+ syscall_goos="syscall_$GOOS.go"
+ if [ -n "$mksyscall" ]; then echo "$mksyscall $syscall_goos syscall_$GOOSARCH.go |gofmt >zsyscall_$GOOSARCH.go"; 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 |gofmt >ztypes_$GOOSARCH.go"; fi
+) | $run
diff --git a/vendor/golang.org/x/sys/plan9/mkerrors.sh b/vendor/golang.org/x/sys/plan9/mkerrors.sh
new file mode 100755
index 00000000..052c86d9
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/mkerrors.sh
@@ -0,0 +1,246 @@
+#!/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
+
+CC=${CC:-gcc}
+
+uname=$(uname)
+
+includes='
+#include <sys/types.h>
+#include <sys/file.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
+#include <netinet/tcp.h>
+#include <errno.h>
+#include <sys/signal.h>
+#include <signal.h>
+#include <sys/resource.h>
+'
+
+ccflags="$@"
+
+# Write go tool cgo -godefs input.
+(
+ echo package plan9
+ echo
+ echo '/*'
+ indirect="includes_$(uname)"
+ echo "${!indirect} $includes"
+ echo '*/'
+ echo 'import "C"'
+ 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 !~ /^ETH_/ &&
+ $2 !~ /^EPROC_/ &&
+ $2 !~ /^EQUIV_/ &&
+ $2 !~ /^EXPR_/ &&
+ $2 ~ /^E[A-Z0-9_]+$/ ||
+ $2 ~ /^B[0-9_]+$/ ||
+ $2 ~ /^V[A-Z0-9]+$/ ||
+ $2 ~ /^CS[A-Z0-9]/ ||
+ $2 ~ /^I(SIG|CANON|CRNL|EXTEN|MAXBEL|STRIP|UTF8)$/ ||
+ $2 ~ /^IGN/ ||
+ $2 ~ /^IX(ON|ANY|OFF)$/ ||
+ $2 ~ /^IN(LCR|PCK)$/ ||
+ $2 ~ /(^FLU?SH)|(FLU?SH$)/ ||
+ $2 ~ /^C(LOCAL|READ)$/ ||
+ $2 == "BRKINT" ||
+ $2 == "HUPCL" ||
+ $2 == "PENDIN" ||
+ $2 == "TOSTOP" ||
+ $2 ~ /^PAR/ ||
+ $2 ~ /^SIG[^_]/ ||
+ $2 ~ /^O[CNPFP][A-Z]+[^_][A-Z]+$/ ||
+ $2 ~ /^IN_/ ||
+ $2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
+ $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+ $2 == "ICMPV6_FILTER" ||
+ $2 == "SOMAXCONN" ||
+ $2 == "NAME_MAX" ||
+ $2 == "IFNAMSIZ" ||
+ $2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ ||
+ $2 ~ /^SYSCTL_VERS/ ||
+ $2 ~ /^(MS|MNT)_/ ||
+ $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
+ $2 ~ /^(O|F|FD|NAME|S|PTRACE|PT)_/ ||
+ $2 ~ /^LINUX_REBOOT_CMD_/ ||
+ $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
+ $2 !~ "NLA_TYPE_MASK" &&
+ $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ ||
+ $2 ~ /^SIOC/ ||
+ $2 ~ /^TIOC/ ||
+ $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|NOFILE|STACK)|RLIM_INFINITY/ ||
+ $2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
+ $2 ~ /^CLONE_[A-Z_]+/ ||
+ $2 !~ /^(BPF_TIMEVAL)$/ &&
+ $2 ~ /^(BPF|DLT)_/ ||
+ $2 !~ "WMESGLEN" &&
+ $2 ~ /^W[A-Z0-9]+$/ {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 <errno.h>' | $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 <signal.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |
+ egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+ sort
+)
+
+# Again, writing regexps to a file.
+echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' |
+ sort >_error.grep
+echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' |
+ egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+ sort >_signal.grep
+
+echo '// mkerrors.sh' "$@"
+echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
+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/=\(.*\)/= Errno(\1)/'
+echo ')'
+
+echo
+echo '// Signals'
+echo 'const ('
+cat _error.out | grep -f _signal.grep | sed 's/=\(.*\)/= Signal(\1)/'
+echo ')'
+
+# Run C program to print error and syscall strings.
+(
+ echo -E "
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+#include <signal.h>
+
+#define nelem(x) (sizeof(x)/sizeof((x)[0]))
+
+enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below
+
+int errors[] = {
+"
+ for i in $errors
+ do
+ echo -E ' '$i,
+ done
+
+ echo -E "
+};
+
+int signals[] = {
+"
+ for i in $signals
+ do
+ echo -E ' '$i,
+ done
+
+ # Use -E because on some systems bash builtin interprets \n itself.
+ echo -E '
+};
+
+static int
+intcmp(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+int
+main(void)
+{
+ int i, j, e;
+ char buf[1024], *p;
+
+ printf("\n\n// Error table\n");
+ printf("var errors = [...]string {\n");
+ qsort(errors, nelem(errors), sizeof errors[0], intcmp);
+ for(i=0; i<nelem(errors); i++) {
+ e = errors[i];
+ if(i > 0 && errors[i-1] == 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\",\n", e, buf);
+ }
+ printf("}\n\n");
+
+ printf("\n\n// Signal table\n");
+ printf("var signals = [...]string {\n");
+ qsort(signals, nelem(signals), sizeof signals[0], intcmp);
+ for(i=0; i<nelem(signals); i++) {
+ e = signals[i];
+ if(i > 0 && signals[i-1] == 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\",\n", e, 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/vendor/golang.org/x/sys/plan9/mksyscall.pl b/vendor/golang.org/x/sys/plan9/mksyscall.pl
new file mode 100755
index 00000000..ce8e1e4f
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/mksyscall.pl
@@ -0,0 +1,319 @@
+#!/usr/bin/env perl
+# 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 program reads a file containing function prototypes
+# (like syscall_plan9.go) and generates system call bodies.
+# The prototypes are marked by lines beginning with "//sys"
+# and read like func declarations if //sys is replaced by func, but:
+# * The parameter lists must give a name for each argument.
+# This includes return parameters.
+# * The parameter lists must give a type for each argument:
+# the (x, y, z int) shorthand is not allowed.
+# * If the return parameter is an error number, it must be named errno.
+
+# A line beginning with //sysnb is like //sys, except that the
+# goroutine will not be suspended during the execution of the system
+# call. This must only be used for system calls which can never
+# block, as otherwise the system call could cause all goroutines to
+# hang.
+
+use strict;
+
+my $cmdline = "mksyscall.pl " . join(' ', @ARGV);
+my $errors = 0;
+my $_32bit = "";
+my $plan9 = 0;
+my $openbsd = 0;
+my $netbsd = 0;
+my $dragonfly = 0;
+my $nacl = 0;
+my $arm = 0; # 64-bit value should use (even, odd)-pair
+
+if($ARGV[0] eq "-b32") {
+ $_32bit = "big-endian";
+ shift;
+} elsif($ARGV[0] eq "-l32") {
+ $_32bit = "little-endian";
+ shift;
+}
+if($ARGV[0] eq "-plan9") {
+ $plan9 = 1;
+ shift;
+}
+if($ARGV[0] eq "-openbsd") {
+ $openbsd = 1;
+ shift;
+}
+if($ARGV[0] eq "-netbsd") {
+ $netbsd = 1;
+ shift;
+}
+if($ARGV[0] eq "-dragonfly") {
+ $dragonfly = 1;
+ shift;
+}
+if($ARGV[0] eq "-nacl") {
+ $nacl = 1;
+ shift;
+}
+if($ARGV[0] eq "-arm") {
+ $arm = 1;
+ shift;
+}
+
+if($ARGV[0] =~ /^-/) {
+ print STDERR "usage: mksyscall.pl [-b32 | -l32] [file ...]\n";
+ exit 1;
+}
+
+sub parseparamlist($) {
+ my ($list) = @_;
+ $list =~ s/^\s*//;
+ $list =~ s/\s*$//;
+ if($list eq "") {
+ return ();
+ }
+ return split(/\s*,\s*/, $list);
+}
+
+sub parseparam($) {
+ my ($p) = @_;
+ if($p !~ /^(\S*) (\S*)$/) {
+ print STDERR "$ARGV:$.: malformed parameter: $p\n";
+ $errors = 1;
+ return ("xx", "int");
+ }
+ return ($1, $2);
+}
+
+my $text = "";
+while(<>) {
+ chomp;
+ s/\s+/ /g;
+ s/^\s+//;
+ s/\s+$//;
+ my $nonblock = /^\/\/sysnb /;
+ next if !/^\/\/sys / && !$nonblock;
+
+ # Line must be of the form
+ # func Open(path string, mode int, perm int) (fd int, errno error)
+ # Split into name, in params, out params.
+ if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$/) {
+ print STDERR "$ARGV:$.: malformed //sys declaration\n";
+ $errors = 1;
+ next;
+ }
+ my ($func, $in, $out, $sysname) = ($2, $3, $4, $5);
+
+ # Split argument lists on comma.
+ my @in = parseparamlist($in);
+ my @out = parseparamlist($out);
+
+ # Try in vain to keep people from editing this file.
+ # The theory is that they jump into the middle of the file
+ # without reading the header.
+ $text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
+
+ # Go function header.
+ my $out_decl = @out ? sprintf(" (%s)", join(', ', @out)) : "";
+ $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out_decl;
+
+ # Check if err return available
+ my $errvar = "";
+ foreach my $p (@out) {
+ my ($name, $type) = parseparam($p);
+ if($type eq "error") {
+ $errvar = $name;
+ last;
+ }
+ }
+
+ # Prepare arguments to Syscall.
+ my @args = ();
+ my @uses = ();
+ my $n = 0;
+ foreach my $p (@in) {
+ my ($name, $type) = parseparam($p);
+ if($type =~ /^\*/) {
+ push @args, "uintptr(unsafe.Pointer($name))";
+ } elsif($type eq "string" && $errvar ne "") {
+ $text .= "\tvar _p$n *byte\n";
+ $text .= "\t_p$n, $errvar = BytePtrFromString($name)\n";
+ $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ push @uses, "use(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type eq "string") {
+ print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
+ $text .= "\tvar _p$n *byte\n";
+ $text .= "\t_p$n, _ = BytePtrFromString($name)\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ push @uses, "use(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type =~ /^\[\](.*)/) {
+ # Convert slice into pointer, length.
+ # Have to be careful not to take address of &a[0] if len == 0:
+ # pass dummy pointer in that case.
+ # Used to pass nil, but some OSes or simulators reject write(fd, nil, 0).
+ $text .= "\tvar _p$n unsafe.Pointer\n";
+ $text .= "\tif len($name) > 0 {\n\t\t_p$n = unsafe.Pointer(\&${name}[0])\n\t}";
+ $text .= " else {\n\t\t_p$n = unsafe.Pointer(&_zero)\n\t}";
+ $text .= "\n";
+ push @args, "uintptr(_p$n)", "uintptr(len($name))";
+ $n++;
+ } elsif($type eq "int64" && ($openbsd || $netbsd)) {
+ push @args, "0";
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } elsif($_32bit eq "little-endian") {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ } else {
+ push @args, "uintptr($name)";
+ }
+ } elsif($type eq "int64" && $dragonfly) {
+ if ($func !~ /^extp(read|write)/i) {
+ push @args, "0";
+ }
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } elsif($_32bit eq "little-endian") {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ } else {
+ push @args, "uintptr($name)";
+ }
+ } elsif($type eq "int64" && $_32bit ne "") {
+ if(@args % 2 && $arm) {
+ # arm abi specifies 64-bit argument uses
+ # (even, odd) pair
+ push @args, "0"
+ }
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } else {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ }
+ } else {
+ push @args, "uintptr($name)";
+ }
+ }
+
+ # Determine which form to use; pad args with zeros.
+ my $asm = "Syscall";
+ if ($nonblock) {
+ $asm = "RawSyscall";
+ }
+ if(@args <= 3) {
+ while(@args < 3) {
+ push @args, "0";
+ }
+ } elsif(@args <= 6) {
+ $asm .= "6";
+ while(@args < 6) {
+ push @args, "0";
+ }
+ } elsif(@args <= 9) {
+ $asm .= "9";
+ while(@args < 9) {
+ push @args, "0";
+ }
+ } else {
+ print STDERR "$ARGV:$.: too many arguments to system call\n";
+ }
+
+ # System call number.
+ if($sysname eq "") {
+ $sysname = "SYS_$func";
+ $sysname =~ s/([a-z])([A-Z])/${1}_$2/g; # turn FooBar into Foo_Bar
+ $sysname =~ y/a-z/A-Z/;
+ if($nacl) {
+ $sysname =~ y/A-Z/a-z/;
+ }
+ }
+
+ # Actual call.
+ my $args = join(', ', @args);
+ my $call = "$asm($sysname, $args)";
+
+ # Assign return values.
+ my $body = "";
+ my @ret = ("_", "_", "_");
+ my $do_errno = 0;
+ for(my $i=0; $i<@out; $i++) {
+ my $p = $out[$i];
+ my ($name, $type) = parseparam($p);
+ my $reg = "";
+ if($name eq "err" && !$plan9) {
+ $reg = "e1";
+ $ret[2] = $reg;
+ $do_errno = 1;
+ } elsif($name eq "err" && $plan9) {
+ $ret[0] = "r0";
+ $ret[2] = "e1";
+ next;
+ } else {
+ $reg = sprintf("r%d", $i);
+ $ret[$i] = $reg;
+ }
+ if($type eq "bool") {
+ $reg = "$reg != 0";
+ }
+ if($type eq "int64" && $_32bit ne "") {
+ # 64-bit number in r1:r0 or r0:r1.
+ if($i+2 > @out) {
+ print STDERR "$ARGV:$.: not enough registers for int64 return\n";
+ }
+ if($_32bit eq "big-endian") {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1);
+ } else {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i);
+ }
+ $ret[$i] = sprintf("r%d", $i);
+ $ret[$i+1] = sprintf("r%d", $i+1);
+ }
+ if($reg ne "e1" || $plan9) {
+ $body .= "\t$name = $type($reg)\n";
+ }
+ }
+ if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") {
+ $text .= "\t$call\n";
+ } else {
+ $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
+ }
+ foreach my $use (@uses) {
+ $text .= "\t$use\n";
+ }
+ $text .= $body;
+
+ if ($plan9 && $ret[2] eq "e1") {
+ $text .= "\tif int32(r0) == -1 {\n";
+ $text .= "\t\terr = e1\n";
+ $text .= "\t}\n";
+ } elsif ($do_errno) {
+ $text .= "\tif e1 != 0 {\n";
+ $text .= "\t\terr = e1\n";
+ $text .= "\t}\n";
+ }
+ $text .= "\treturn\n";
+ $text .= "}\n\n";
+}
+
+chomp $text;
+chomp $text;
+
+if($errors) {
+ exit 1;
+}
+
+print <<EOF;
+// $cmdline
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+package plan9
+
+import "unsafe"
+
+$text
+EOF
+exit 0;
diff --git a/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh b/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh
new file mode 100755
index 00000000..3c3ab058
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+# 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.
+
+COMMAND="mksysnum_plan9.sh $@"
+
+cat <<EOF
+// $COMMAND
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+package plan9
+
+const(
+EOF
+
+SP='[ ]' # space or tab
+sed "s/^#define${SP}\\([A-Z0-9_][A-Z0-9_]*\\)${SP}${SP}*\\([0-9][0-9]*\\)/SYS_\\1=\\2/g" \
+ < $1 | grep -v SYS__
+
+cat <<EOF
+)
+EOF
diff --git a/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go b/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
new file mode 100644
index 00000000..87ae9d2a
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go
@@ -0,0 +1,21 @@
+// 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 go1.5
+
+package plan9
+
+import "syscall"
+
+func fixwd() {
+ syscall.Fixwd()
+}
+
+func Getwd() (wd string, err error) {
+ return syscall.Getwd()
+}
+
+func Chdir(path string) error {
+ return syscall.Chdir(path)
+}
diff --git a/vendor/golang.org/x/sys/plan9/pwd_plan9.go b/vendor/golang.org/x/sys/plan9/pwd_plan9.go
new file mode 100644
index 00000000..c07c798b
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/pwd_plan9.go
@@ -0,0 +1,23 @@
+// 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 !go1.5
+
+package plan9
+
+func fixwd() {
+}
+
+func Getwd() (wd string, err error) {
+ fd, err := open(".", O_RDONLY)
+ if err != nil {
+ return "", err
+ }
+ defer Close(fd)
+ return Fd2path(fd)
+}
+
+func Chdir(path string) error {
+ return chdir(path)
+}
diff --git a/vendor/golang.org/x/sys/plan9/race.go b/vendor/golang.org/x/sys/plan9/race.go
new file mode 100644
index 00000000..c7ff5df2
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/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 plan9,race
+
+package plan9
+
+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/vendor/golang.org/x/sys/plan9/race0.go b/vendor/golang.org/x/sys/plan9/race0.go
new file mode 100644
index 00000000..06cabcc7
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/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 plan9,!race
+
+package plan9
+
+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/vendor/golang.org/x/sys/plan9/str.go b/vendor/golang.org/x/sys/plan9/str.go
new file mode 100644
index 00000000..4f7f9ad7
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/str.go
@@ -0,0 +1,22 @@
+// 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 plan9
+
+package plan9
+
+func itoa(val int) string { // do it here rather than with fmt to avoid dependency
+ if val < 0 {
+ return "-" + itoa(-val)
+ }
+ 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/vendor/golang.org/x/sys/plan9/syscall.go b/vendor/golang.org/x/sys/plan9/syscall.go
new file mode 100644
index 00000000..df6f8c5b
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/syscall.go
@@ -0,0 +1,74 @@
+// 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 plan9
+
+// Package plan9 contains an interface to the low-level operating system
+// primitives. OS details vary depending on the underlying system, and
+// by default, godoc will display the OS-specific documentation for the current
+// system. If you want godoc to display 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.ErrorString.
+package plan9 // import "golang.org/x/sys/plan9"
+
+import "unsafe"
+
+// 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) {
+ for i := 0; i < len(s); i++ {
+ if s[i] == 0 {
+ 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.
+// See mksyscall.pl.
+var _zero uintptr
+
+func (ts *Timespec) Unix() (sec int64, nsec int64) {
+ return int64(ts.Sec), int64(ts.Nsec)
+}
+
+func (tv *Timeval) Unix() (sec int64, nsec int64) {
+ return int64(tv.Sec), int64(tv.Usec) * 1000
+}
+
+func (ts *Timespec) Nano() int64 {
+ return int64(ts.Sec)*1e9 + int64(ts.Nsec)
+}
+
+func (tv *Timeval) Nano() int64 {
+ return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
+}
+
+// use is a no-op, but the compiler cannot see that it is.
+// Calling use(p) ensures that p is kept live until that point.
+//go:noescape
+func use(p unsafe.Pointer)
diff --git a/vendor/golang.org/x/sys/plan9/syscall_plan9.go b/vendor/golang.org/x/sys/plan9/syscall_plan9.go
new file mode 100644
index 00000000..d39d07de
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/syscall_plan9.go
@@ -0,0 +1,349 @@
+// 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.
+
+// Plan 9 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 plan9
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+// A Note is a string describing a process note.
+// It implements the os.Signal interface.
+type Note string
+
+func (n Note) Signal() {}
+
+func (n Note) String() string {
+ return string(n)
+}
+
+var (
+ Stdin = 0
+ Stdout = 1
+ Stderr = 2
+)
+
+// For testing: clients can set this flag to force
+// creation of IPv6 sockets to return EAFNOSUPPORT.
+var SocketDisableIPv6 bool
+
+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.ErrorString)
+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2, err uintptr)
+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, err uintptr)
+
+func atoi(b []byte) (n uint) {
+ n = 0
+ for i := 0; i < len(b); i++ {
+ n = n*10 + uint(b[i]-'0')
+ }
+ return
+}
+
+func cstring(s []byte) string {
+ for i := range s {
+ if s[i] == 0 {
+ return string(s[0:i])
+ }
+ }
+ return string(s)
+}
+
+func errstr() string {
+ var buf [ERRMAX]byte
+
+ RawSyscall(SYS_ERRSTR, uintptr(unsafe.Pointer(&buf[0])), uintptr(len(buf)), 0)
+
+ buf[len(buf)-1] = 0
+ return cstring(buf[:])
+}
+
+// Implemented in assembly to import from runtime.
+func exit(code int)
+
+func Exit(code int) { exit(code) }
+
+func readnum(path string) (uint, error) {
+ var b [12]byte
+
+ fd, e := Open(path, O_RDONLY)
+ if e != nil {
+ return 0, e
+ }
+ defer Close(fd)
+
+ n, e := Pread(fd, b[:], 0)
+
+ if e != nil {
+ return 0, e
+ }
+
+ m := 0
+ for ; m < n && b[m] == ' '; m++ {
+ }
+
+ return atoi(b[m : n-1]), nil
+}
+
+func Getpid() (pid int) {
+ n, _ := readnum("#c/pid")
+ return int(n)
+}
+
+func Getppid() (ppid int) {
+ n, _ := readnum("#c/ppid")
+ return int(n)
+}
+
+func Read(fd int, p []byte) (n int, err error) {
+ return Pread(fd, p, -1)
+}
+
+func Write(fd int, p []byte) (n int, err error) {
+ return Pwrite(fd, p, -1)
+}
+
+var ioSync int64
+
+//sys fd2path(fd int, buf []byte) (err error)
+func Fd2path(fd int) (path string, err error) {
+ var buf [512]byte
+
+ e := fd2path(fd, buf[:])
+ if e != nil {
+ return "", e
+ }
+ return cstring(buf[:]), nil
+}
+
+//sys pipe(p *[2]int32) (err error)
+func Pipe(p []int) (err error) {
+ if len(p) != 2 {
+ return syscall.ErrorString("bad arg in system call")
+ }
+ var pp [2]int32
+ err = pipe(&pp)
+ 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(placeholder uintptr, fd int, offset int64, whence int) (newoffset int64, err string)
+
+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
+ newoffset, e := seek(0, fd, offset, whence)
+
+ if newoffset == -1 {
+ err = syscall.ErrorString(e)
+ }
+ return
+}
+
+func Mkdir(path string, mode uint32) (err error) {
+ fd, err := Create(path, O_RDONLY, DMDIR|mode)
+
+ if fd != -1 {
+ Close(fd)
+ }
+
+ return
+}
+
+type Waitmsg struct {
+ Pid int
+ Time [3]uint32
+ Msg string
+}
+
+func (w Waitmsg) Exited() bool { return true }
+func (w Waitmsg) Signaled() bool { return false }
+
+func (w Waitmsg) ExitStatus() int {
+ if len(w.Msg) == 0 {
+ // a normal exit returns no message
+ return 0
+ }
+ return 1
+}
+
+//sys await(s []byte) (n int, err error)
+func Await(w *Waitmsg) (err error) {
+ var buf [512]byte
+ var f [5][]byte
+
+ n, err := await(buf[:])
+
+ if err != nil || w == nil {
+ return
+ }
+
+ nf := 0
+ p := 0
+ for i := 0; i < n && nf < len(f)-1; i++ {
+ if buf[i] == ' ' {
+ f[nf] = buf[p:i]
+ p = i + 1
+ nf++
+ }
+ }
+ f[nf] = buf[p:]
+ nf++
+
+ if nf != len(f) {
+ return syscall.ErrorString("invalid wait message")
+ }
+ w.Pid = int(atoi(f[0]))
+ w.Time[0] = uint32(atoi(f[1]))
+ w.Time[1] = uint32(atoi(f[2]))
+ w.Time[2] = uint32(atoi(f[3]))
+ w.Msg = cstring(f[4])
+ if w.Msg == "''" {
+ // await() returns '' for no error
+ w.Msg = ""
+ }
+ return
+}
+
+func Unmount(name, old string) (err error) {
+ fixwd()
+ oldp, err := BytePtrFromString(old)
+ if err != nil {
+ return err
+ }
+ oldptr := uintptr(unsafe.Pointer(oldp))
+
+ var r0 uintptr
+ var e syscall.ErrorString
+
+ // bind(2) man page: If name is zero, everything bound or mounted upon old is unbound or unmounted.
+ if name == "" {
+ r0, _, e = Syscall(SYS_UNMOUNT, _zero, oldptr, 0)
+ } else {
+ namep, err := BytePtrFromString(name)
+ if err != nil {
+ return err
+ }
+ r0, _, e = Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(namep)), oldptr, 0)
+ }
+
+ if int32(r0) == -1 {
+ err = e
+ }
+ return
+}
+
+func Fchdir(fd int) (err error) {
+ path, err := Fd2path(fd)
+
+ if err != nil {
+ return
+ }
+
+ return Chdir(path)
+}
+
+type Timespec struct {
+ Sec int32
+ Nsec int32
+}
+
+type Timeval struct {
+ Sec int32
+ Usec int32
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int32(nsec / 1e9)
+ return
+}
+
+func nsec() int64 {
+ var scratch int64
+
+ r0, _, _ := Syscall(SYS_NSEC, uintptr(unsafe.Pointer(&scratch)), 0, 0)
+ // TODO(aram): remove hack after I fix _nsec in the pc64 kernel.
+ if r0 == 0 {
+ return scratch
+ }
+ return int64(r0)
+}
+
+func Gettimeofday(tv *Timeval) error {
+ nsec := nsec()
+ *tv = NsecToTimeval(nsec)
+ return nil
+}
+
+func Getpagesize() int { return 0x1000 }
+
+func Getegid() (egid int) { return -1 }
+func Geteuid() (euid int) { return -1 }
+func Getgid() (gid int) { return -1 }
+func Getuid() (uid int) { return -1 }
+
+func Getgroups() (gids []int, err error) {
+ return make([]int, 0), nil
+}
+
+//sys open(path string, mode int) (fd int, err error)
+func Open(path string, mode int) (fd int, err error) {
+ fixwd()
+ return open(path, mode)
+}
+
+//sys create(path string, mode int, perm uint32) (fd int, err error)
+func Create(path string, mode int, perm uint32) (fd int, err error) {
+ fixwd()
+ return create(path, mode, perm)
+}
+
+//sys remove(path string) (err error)
+func Remove(path string) error {
+ fixwd()
+ return remove(path)
+}
+
+//sys stat(path string, edir []byte) (n int, err error)
+func Stat(path string, edir []byte) (n int, err error) {
+ fixwd()
+ return stat(path, edir)
+}
+
+//sys bind(name string, old string, flag int) (err error)
+func Bind(name string, old string, flag int) (err error) {
+ fixwd()
+ return bind(name, old, flag)
+}
+
+//sys mount(fd int, afd int, old string, flag int, aname string) (err error)
+func Mount(fd int, afd int, old string, flag int, aname string) (err error) {
+ fixwd()
+ return mount(fd, afd, old, flag, aname)
+}
+
+//sys wstat(path string, edir []byte) (err error)
+func Wstat(path string, edir []byte) (err error) {
+ fixwd()
+ return wstat(path, edir)
+}
+
+//sys chdir(path string) (err error)
+//sys Dup(oldfd int, newfd int) (fd 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 Close(fd int) (err error)
+//sys Fstat(fd int, edir []byte) (n int, err error)
+//sys Fwstat(fd int, edir []byte) (err error)
diff --git a/vendor/golang.org/x/sys/plan9/syscall_test.go b/vendor/golang.org/x/sys/plan9/syscall_test.go
new file mode 100644
index 00000000..8f829bad
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/syscall_test.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 plan9
+
+package plan9_test
+
+import (
+ "testing"
+
+ "golang.org/x/sys/plan9"
+)
+
+func testSetGetenv(t *testing.T, key, value string) {
+ err := plan9.Setenv(key, value)
+ if err != nil {
+ t.Fatalf("Setenv failed to set %q: %v", value, err)
+ }
+ newvalue, found := plan9.Getenv(key)
+ if !found {
+ t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value)
+ }
+ if newvalue != value {
+ t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value)
+ }
+}
+
+func TestEnv(t *testing.T) {
+ testSetGetenv(t, "TESTENV", "AVALUE")
+ // make sure TESTENV gets set to "", not deleted
+ testSetGetenv(t, "TESTENV", "")
+}
diff --git a/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go b/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
new file mode 100644
index 00000000..b35598ad
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go
@@ -0,0 +1,292 @@
+// mksyscall.pl -l32 -plan9 syscall_plan9.go
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+package plan9
+
+import "unsafe"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fd2path(fd int, buf []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(buf) > 0 {
+ _p0 = unsafe.Pointer(&buf[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]int32) (err error) {
+ r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func await(s []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(s) > 0 {
+ _p0 = unsafe.Pointer(&s[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int) (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), 0)
+ use(unsafe.Pointer(_p0))
+ fd = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func create(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_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+ use(unsafe.Pointer(_p0))
+ fd = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, edir []byte) (n int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ var _p1 unsafe.Pointer
+ if len(edir) > 0 {
+ _p1 = unsafe.Pointer(&edir[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+ use(unsafe.Pointer(_p0))
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(name string, old string, flag int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(name)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(old)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
+ use(unsafe.Pointer(_p0))
+ use(unsafe.Pointer(_p1))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mount(fd int, afd int, old string, flag int, aname string) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(old)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(aname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
+ use(unsafe.Pointer(_p0))
+ use(unsafe.Pointer(_p1))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func wstat(path string, edir []byte) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ var _p1 unsafe.Pointer
+ if len(edir) > 0 {
+ _p1 = unsafe.Pointer(&edir[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ 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
+ }
+ r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int, newfd int) (fd int, err error) {
+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
+ fd = int(r0)
+ if int32(r0) == -1 {
+ 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 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 int32(r0) == -1 {
+ 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 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 int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Close(fd int) (err error) {
+ r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, edir []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(edir) > 0 {
+ _p0 = unsafe.Pointer(&edir[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fwstat(fd int, edir []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(edir) > 0 {
+ _p0 = unsafe.Pointer(&edir[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go b/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
new file mode 100644
index 00000000..b35598ad
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go
@@ -0,0 +1,292 @@
+// mksyscall.pl -l32 -plan9 syscall_plan9.go
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+package plan9
+
+import "unsafe"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fd2path(fd int, buf []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(buf) > 0 {
+ _p0 = unsafe.Pointer(&buf[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FD2PATH, uintptr(fd), uintptr(_p0), uintptr(len(buf)))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pipe(p *[2]int32) (err error) {
+ r0, _, e1 := Syscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func await(s []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(s) > 0 {
+ _p0 = unsafe.Pointer(&s[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_AWAIT, uintptr(_p0), uintptr(len(s)), 0)
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func open(path string, mode int) (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), 0)
+ use(unsafe.Pointer(_p0))
+ fd = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func create(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_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm))
+ use(unsafe.Pointer(_p0))
+ fd = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func remove(path string) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0)
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func stat(path string, edir []byte) (n int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ var _p1 unsafe.Pointer
+ if len(edir) > 0 {
+ _p1 = unsafe.Pointer(&edir[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+ use(unsafe.Pointer(_p0))
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func bind(name string, old string, flag int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(name)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(old)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall(SYS_BIND, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flag))
+ use(unsafe.Pointer(_p0))
+ use(unsafe.Pointer(_p1))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func mount(fd int, afd int, old string, flag int, aname string) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(old)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = BytePtrFromString(aname)
+ if err != nil {
+ return
+ }
+ r0, _, e1 := Syscall6(SYS_MOUNT, uintptr(fd), uintptr(afd), uintptr(unsafe.Pointer(_p0)), uintptr(flag), uintptr(unsafe.Pointer(_p1)), 0)
+ use(unsafe.Pointer(_p0))
+ use(unsafe.Pointer(_p1))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func wstat(path string, edir []byte) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ var _p1 unsafe.Pointer
+ if len(edir) > 0 {
+ _p1 = unsafe.Pointer(&edir[0])
+ } else {
+ _p1 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_WSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(edir)))
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ 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
+ }
+ r0, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
+ use(unsafe.Pointer(_p0))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Dup(oldfd int, newfd int) (fd int, err error) {
+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), uintptr(newfd), 0)
+ fd = int(r0)
+ if int32(r0) == -1 {
+ 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 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 int32(r0) == -1 {
+ 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 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 int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Close(fd int) (err error) {
+ r0, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fstat(fd int, edir []byte) (n int, err error) {
+ var _p0 unsafe.Pointer
+ if len(edir) > 0 {
+ _p0 = unsafe.Pointer(&edir[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+ n = int(r0)
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Fwstat(fd int, edir []byte) (err error) {
+ var _p0 unsafe.Pointer
+ if len(edir) > 0 {
+ _p0 = unsafe.Pointer(&edir[0])
+ } else {
+ _p0 = unsafe.Pointer(&_zero)
+ }
+ r0, _, e1 := Syscall(SYS_FWSTAT, uintptr(fd), uintptr(_p0), uintptr(len(edir)))
+ if int32(r0) == -1 {
+ err = e1
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go b/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go
new file mode 100644
index 00000000..22e8abd4
--- /dev/null
+++ b/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go
@@ -0,0 +1,49 @@
+// mksysnum_plan9.sh /opt/plan9/sys/src/libc/9syscall/sys.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+package plan9
+
+const (
+ SYS_SYSR1 = 0
+ SYS_BIND = 2
+ SYS_CHDIR = 3
+ SYS_CLOSE = 4
+ SYS_DUP = 5
+ SYS_ALARM = 6
+ SYS_EXEC = 7
+ SYS_EXITS = 8
+ SYS_FAUTH = 10
+ SYS_SEGBRK = 12
+ SYS_OPEN = 14
+ SYS_OSEEK = 16
+ SYS_SLEEP = 17
+ SYS_RFORK = 19
+ SYS_PIPE = 21
+ SYS_CREATE = 22
+ SYS_FD2PATH = 23
+ SYS_BRK_ = 24
+ SYS_REMOVE = 25
+ SYS_NOTIFY = 28
+ SYS_NOTED = 29
+ SYS_SEGATTACH = 30
+ SYS_SEGDETACH = 31
+ SYS_SEGFREE = 32
+ SYS_SEGFLUSH = 33
+ SYS_RENDEZVOUS = 34
+ SYS_UNMOUNT = 35
+ SYS_SEMACQUIRE = 37
+ SYS_SEMRELEASE = 38
+ SYS_SEEK = 39
+ SYS_FVERSION = 40
+ SYS_ERRSTR = 41
+ SYS_STAT = 42
+ SYS_FSTAT = 43
+ SYS_WSTAT = 44
+ SYS_FWSTAT = 45
+ SYS_MOUNT = 46
+ SYS_AWAIT = 47
+ SYS_PREAD = 50
+ SYS_PWRITE = 51
+ SYS_TSEMACQUIRE = 52
+ SYS_NSEC = 53
+)
diff --git a/vendor/golang.org/x/sys/unix/.gitignore b/vendor/golang.org/x/sys/unix/.gitignore
new file mode 100644
index 00000000..e4827159
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/.gitignore
@@ -0,0 +1 @@
+_obj/
diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md
new file mode 100644
index 00000000..bc6f6031
--- /dev/null
+++ b/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" || GOARCH == "sparc64"`)
+
+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, perl, go
+
+### New Build System (currently for `GOOS == "Linux" && GOARCH != "sparc64"`)
+
+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, perl, 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 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 script located at `${GOOS}/mksysnum.pl` (or `mksysnum_${GOOS}.pl`
+for the old system). This script 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.pl
+
+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.pl script 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 <errno.h>`, and the
+signal numbers and strings are generated from `#include <signal.h>`. 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.pl` (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/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s
new file mode 100644
index 00000000..8a727831
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s
new file mode 100644
index 00000000..6321421f
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s
new file mode 100644
index 00000000..333242d5
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s
new file mode 100644
index 00000000..97e01743
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s
new file mode 100644
index 00000000..d5ed6726
--- /dev/null
+++ b/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-64
+ JMP syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-88
+ JMP syscall·Syscall6(SB)
+
+TEXT ·Syscall9(SB),NOSPLIT,$0-112
+ JMP syscall·Syscall9(SB)
+
+TEXT ·RawSyscall(SB),NOSPLIT,$0-64
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-88
+ JMP syscall·RawSyscall6(SB)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_dragonfly_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s
index 7e55e0d3..c9a0a260 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/asm_dragonfly_386.s
+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s
@@ -13,17 +13,17 @@
// Just jump to package syscall's implementation for all these functions.
// The runtime may know about them.
-TEXT ·Syscall(SB),NOSPLIT,$0-32
+TEXT ·Syscall(SB),NOSPLIT,$0-28
JMP syscall·Syscall(SB)
-TEXT ·Syscall6(SB),NOSPLIT,$0-44
+TEXT ·Syscall6(SB),NOSPLIT,$0-40
JMP syscall·Syscall6(SB)
-TEXT ·Syscall9(SB),NOSPLIT,$0-56
+TEXT ·Syscall9(SB),NOSPLIT,$0-52
JMP syscall·Syscall9(SB)
-TEXT ·RawSyscall(SB),NOSPLIT,$0-32
+TEXT ·RawSyscall(SB),NOSPLIT,$0-28
JMP syscall·RawSyscall(SB)
-TEXT ·RawSyscall6(SB),NOSPLIT,$0-44
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
JMP syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s
new file mode 100644
index 00000000..35172477
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s
new file mode 100644
index 00000000..9227c875
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s
new file mode 100644
index 00000000..4db29093
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s
@@ -0,0 +1,35 @@
+// 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
+//
+
+// 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 ·RawSyscall(SB),NOSPLIT,$0-28
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
+ JMP syscall·RawSyscall6(SB)
+
+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/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
new file mode 100644
index 00000000..44e25c62
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_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 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ JMP syscall·RawSyscall6(SB)
+
+TEXT ·gettimeofday(SB),NOSPLIT,$0-16
+ JMP syscall·gettimeofday(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s
new file mode 100644
index 00000000..cf0b5746
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.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 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 ·RawSyscall(SB),NOSPLIT,$0-28
+ B syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
+ B syscall·RawSyscall6(SB)
+
+TEXT ·seek(SB),NOSPLIT,$0-32
+ B syscall·seek(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
new file mode 100644
index 00000000..4be9bfed
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
@@ -0,0 +1,24 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ B syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ B syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
new file mode 100644
index 00000000..724e580c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
@@ -0,0 +1,28 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ JMP syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
new file mode 100644
index 00000000..2ea42575
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
@@ -0,0 +1,31 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-28
+ JMP syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
+ JMP syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
new file mode 100644
index 00000000..8d231feb
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
@@ -0,0 +1,28 @@
+// 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 ·Syscall(SB),NOSPLIT,$0-56
+ BR syscall·Syscall(SB)
+
+TEXT ·Syscall6(SB),NOSPLIT,$0-80
+ BR syscall·Syscall6(SB)
+
+TEXT ·RawSyscall(SB),NOSPLIT,$0-56
+ BR syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ BR syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
new file mode 100644
index 00000000..11889859
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
@@ -0,0 +1,28 @@
+// 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 ·RawSyscall(SB),NOSPLIT,$0-56
+ BR syscall·RawSyscall(SB)
+
+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
+ BR syscall·RawSyscall6(SB)
diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s
new file mode 100644
index 00000000..48bdcd76
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s
new file mode 100644
index 00000000..2ede05c7
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s
new file mode 100644
index 00000000..e8928571
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s
new file mode 100644
index 00000000..00576f3c
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s
new file mode 100644
index 00000000..790ef77f
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s
new file mode 100644
index 00000000..469bfa10
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
new file mode 100644
index 00000000..ded8260f
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go
new file mode 100644
index 00000000..6e322969
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go
new file mode 100644
index 00000000..83b6bcea
--- /dev/null
+++ b/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 (
+ errorspkg "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 errorspkg.New("bad rights size")
+ }
+
+ for _, right := range setrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return err
+ }
+ if i >= n {
+ return errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.New("index mismatch")
+ }
+ rights.Rights[i] |= right
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.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 errorspkg.New("bad rights size")
+ }
+
+ for _, right := range clearrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return err
+ }
+ if i >= n {
+ return errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.New("index mismatch")
+ }
+ rights.Rights[i] &= ^(right & 0x01FFFFFFFFFFFFFF)
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return errorspkg.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, errorspkg.New("bad rights size")
+ }
+
+ for _, right := range setrights {
+ if caprver(right) != CAP_RIGHTS_VERSION_00 {
+ return false, errorspkg.New("bad right version")
+ }
+ i, err := rightToIndex(right)
+ if err != nil {
+ return false, err
+ }
+ if i >= n {
+ return false, errorspkg.New("index overflow")
+ }
+ if capidxbit(rights.Rights[i]) != capidxbit(right) {
+ return false, errorspkg.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/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go
new file mode 100644
index 00000000..a96f0ebc
--- /dev/null
+++ b/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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package unix
+
+const (
+ R_OK = 0x4
+ W_OK = 0x2
+ X_OK = 0x1
+)
diff --git a/vendor/golang.org/x/sys/unix/creds_test.go b/vendor/golang.org/x/sys/unix/creds_test.go
new file mode 100644
index 00000000..7ae33053
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/creds_test.go
@@ -0,0 +1,136 @@
+// 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 linux
+
+package unix_test
+
+import (
+ "bytes"
+ "net"
+ "os"
+ "syscall"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+// TestSCMCredentials tests the sending and receiving of credentials
+// (PID, UID, GID) in an ancillary message between two UNIX
+// sockets. The SO_PASSCRED socket option is enabled on the sending
+// socket for this to work.
+func TestSCMCredentials(t *testing.T) {
+ socketTypeTests := []struct {
+ socketType int
+ dataLen int
+ }{
+ {
+ unix.SOCK_STREAM,
+ 1,
+ }, {
+ unix.SOCK_DGRAM,
+ 0,
+ },
+ }
+
+ for _, tt := range socketTypeTests {
+ fds, err := unix.Socketpair(unix.AF_LOCAL, tt.socketType, 0)
+ if err != nil {
+ t.Fatalf("Socketpair: %v", err)
+ }
+ defer unix.Close(fds[0])
+ defer unix.Close(fds[1])
+
+ err = unix.SetsockoptInt(fds[0], unix.SOL_SOCKET, unix.SO_PASSCRED, 1)
+ if err != nil {
+ t.Fatalf("SetsockoptInt: %v", err)
+ }
+
+ srvFile := os.NewFile(uintptr(fds[0]), "server")
+ defer srvFile.Close()
+ srv, err := net.FileConn(srvFile)
+ if err != nil {
+ t.Errorf("FileConn: %v", err)
+ return
+ }
+ defer srv.Close()
+
+ cliFile := os.NewFile(uintptr(fds[1]), "client")
+ defer cliFile.Close()
+ cli, err := net.FileConn(cliFile)
+ if err != nil {
+ t.Errorf("FileConn: %v", err)
+ return
+ }
+ defer cli.Close()
+
+ var ucred unix.Ucred
+ if os.Getuid() != 0 {
+ ucred.Pid = int32(os.Getpid())
+ ucred.Uid = 0
+ ucred.Gid = 0
+ oob := unix.UnixCredentials(&ucred)
+ _, _, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
+ if op, ok := err.(*net.OpError); ok {
+ err = op.Err
+ }
+ if sys, ok := err.(*os.SyscallError); ok {
+ err = sys.Err
+ }
+ if err != syscall.EPERM {
+ t.Fatalf("WriteMsgUnix failed with %v, want EPERM", err)
+ }
+ }
+
+ ucred.Pid = int32(os.Getpid())
+ ucred.Uid = uint32(os.Getuid())
+ ucred.Gid = uint32(os.Getgid())
+ oob := unix.UnixCredentials(&ucred)
+
+ // On SOCK_STREAM, this is internally going to send a dummy byte
+ n, oobn, err := cli.(*net.UnixConn).WriteMsgUnix(nil, oob, nil)
+ if err != nil {
+ t.Fatalf("WriteMsgUnix: %v", err)
+ }
+ if n != 0 {
+ t.Fatalf("WriteMsgUnix n = %d, want 0", n)
+ }
+ if oobn != len(oob) {
+ t.Fatalf("WriteMsgUnix oobn = %d, want %d", oobn, len(oob))
+ }
+
+ oob2 := make([]byte, 10*len(oob))
+ n, oobn2, flags, _, err := srv.(*net.UnixConn).ReadMsgUnix(nil, oob2)
+ if err != nil {
+ t.Fatalf("ReadMsgUnix: %v", err)
+ }
+ if flags != 0 {
+ t.Fatalf("ReadMsgUnix flags = 0x%x, want 0", flags)
+ }
+ if n != tt.dataLen {
+ t.Fatalf("ReadMsgUnix n = %d, want %d", n, tt.dataLen)
+ }
+ if oobn2 != oobn {
+ // without SO_PASSCRED set on the socket, ReadMsgUnix will
+ // return zero oob bytes
+ t.Fatalf("ReadMsgUnix oobn = %d, want %d", oobn2, oobn)
+ }
+ oob2 = oob2[:oobn2]
+ if !bytes.Equal(oob, oob2) {
+ t.Fatal("ReadMsgUnix oob bytes don't match")
+ }
+
+ scm, err := unix.ParseSocketControlMessage(oob2)
+ if err != nil {
+ t.Fatalf("ParseSocketControlMessage: %v", err)
+ }
+ newUcred, err := unix.ParseUnixCredentials(&scm[0])
+ if err != nil {
+ t.Fatalf("ParseUnixCredentials: %v", err)
+ }
+ if *newUcred != ucred {
+ t.Fatalf("ParseUnixCredentials = %+v, want %+v", newUcred, ucred)
+ }
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_darwin.go b/vendor/golang.org/x/sys/unix/dev_darwin.go
new file mode 100644
index 00000000..8d1dc0fa
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_darwin_test.go b/vendor/golang.org/x/sys/unix/dev_darwin_test.go
new file mode 100644
index 00000000..48d04486
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_darwin_test.go
@@ -0,0 +1,49 @@
+// 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_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // Most of the device major/minor numbers on Darwin are
+ // dynamically generated by devfs. These are some well-known
+ // static numbers.
+ {"/dev/ttyp0", 4, 0},
+ {"/dev/ttys0", 4, 48},
+ {"/dev/ptyp0", 5, 0},
+ {"/dev/ptyr0", 5, 32},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_dragonfly.go b/vendor/golang.org/x/sys/unix/dev_dragonfly.go
new file mode 100644
index 00000000..8502f202
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go
new file mode 100644
index 00000000..2caba08a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_dragonfly_test.go
@@ -0,0 +1,48 @@
+// 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_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // Minor is a cookie instead of an index on DragonFlyBSD
+ {"/dev/null", 10, 0x00000002},
+ {"/dev/random", 10, 0x00000003},
+ {"/dev/urandom", 10, 0x00000004},
+ {"/dev/zero", 10, 0x0000000c},
+ {"/dev/bpf", 15, 0xffff00ff},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_freebsd.go b/vendor/golang.org/x/sys/unix/dev_freebsd.go
new file mode 100644
index 00000000..eba3b4bd
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_linux.go b/vendor/golang.org/x/sys/unix/dev_linux.go
new file mode 100644
index 00000000..d165d6f3
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_linux_test.go b/vendor/golang.org/x/sys/unix/dev_linux_test.go
new file mode 100644
index 00000000..6e001f37
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_linux_test.go
@@ -0,0 +1,51 @@
+// 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_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // well known major/minor numbers according to
+ // https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/devices.txt
+ {"/dev/null", 1, 3},
+ {"/dev/zero", 1, 5},
+ {"/dev/random", 1, 8},
+ {"/dev/full", 1, 7},
+ {"/dev/urandom", 1, 9},
+ {"/dev/tty", 5, 0},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_netbsd.go b/vendor/golang.org/x/sys/unix/dev_netbsd.go
new file mode 100644
index 00000000..b4a203d0
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_netbsd_test.go b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go
new file mode 100644
index 00000000..c39a80a4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_netbsd_test.go
@@ -0,0 +1,50 @@
+// 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_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // well known major/minor numbers according to /dev/MAKEDEV on
+ // NetBSD 7.0
+ {"/dev/null", 2, 2},
+ {"/dev/zero", 2, 12},
+ {"/dev/ttyp0", 5, 0},
+ {"/dev/ttyp1", 5, 1},
+ {"/dev/random", 46, 0},
+ {"/dev/urandom", 46, 1},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dev_openbsd.go b/vendor/golang.org/x/sys/unix/dev_openbsd.go
new file mode 100644
index 00000000..f3430c42
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/dev_openbsd_test.go b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go
new file mode 100644
index 00000000..5635d271
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/dev_openbsd_test.go
@@ -0,0 +1,52 @@
+// 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_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestDevices(t *testing.T) {
+ testCases := []struct {
+ path string
+ major uint32
+ minor uint32
+ }{
+ // well known major/minor numbers according to /dev/MAKEDEV on
+ // OpenBSD 6.0
+ {"/dev/null", 2, 2},
+ {"/dev/zero", 2, 12},
+ {"/dev/ttyp0", 5, 0},
+ {"/dev/ttyp1", 5, 1},
+ {"/dev/random", 45, 0},
+ {"/dev/srandom", 45, 1},
+ {"/dev/urandom", 45, 2},
+ {"/dev/arandom", 45, 3},
+ }
+ for _, tc := range testCases {
+ t.Run(fmt.Sprintf("%s %v:%v", tc.path, tc.major, tc.minor), func(t *testing.T) {
+ var stat unix.Stat_t
+ err := unix.Stat(tc.path, &stat)
+ if err != nil {
+ t.Errorf("failed to stat device: %v", err)
+ return
+ }
+
+ dev := uint64(stat.Rdev)
+ if unix.Major(dev) != tc.major {
+ t.Errorf("for %s Major(%#x) == %d, want %d", tc.path, dev, unix.Major(dev), tc.major)
+ }
+ if unix.Minor(dev) != tc.minor {
+ t.Errorf("for %s Minor(%#x) == %d, want %d", tc.path, dev, unix.Minor(dev), tc.minor)
+ }
+ if unix.Mkdev(tc.major, tc.minor) != dev {
+ t.Errorf("for %s Mkdev(%d, %d) == %#x, want %#x", tc.path, tc.major, tc.minor, unix.Mkdev(tc.major, tc.minor), dev)
+ }
+ })
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go
new file mode 100644
index 00000000..bd475812
--- /dev/null
+++ b/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 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/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go
new file mode 100644
index 00000000..5e926906
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go
new file mode 100644
index 00000000..085df2d8
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go
new file mode 100644
index 00000000..45e281a0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/env_unix.go
@@ -0,0 +1,27 @@
+// 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 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()
+}
diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go
new file mode 100644
index 00000000..92222625
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/env_unset.go
@@ -0,0 +1,14 @@
+// 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 go1.4
+
+package unix
+
+import "syscall"
+
+func Unsetenv(key string) error {
+ // This was added in Go 1.4.
+ return syscall.Unsetenv(key)
+}
diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go
new file mode 100644
index 00000000..c56bc8b0
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go
new file mode 100644
index 00000000..3e977117
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go
new file mode 100644
index 00000000..856dca32
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/export_test.go b/vendor/golang.org/x/sys/unix/export_test.go
new file mode 100644
index 00000000..b4fdd970
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/export_test.go
@@ -0,0 +1,9 @@
+// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package unix
+
+var Itoa = itoa
diff --git a/vendor/golang.org/x/sys/unix/file_unix.go b/vendor/golang.org/x/sys/unix/file_unix.go
new file mode 100644
index 00000000..47f6a83f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/file_unix.go
@@ -0,0 +1,27 @@
+// 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
+
+import (
+ "os"
+ "syscall"
+)
+
+// FIXME: unexported function from os
+// syscallMode returns the syscall-specific mode bits from Go's portable mode bits.
+func syscallMode(i os.FileMode) (o uint32) {
+ o |= uint32(i.Perm())
+ if i&os.ModeSetuid != 0 {
+ o |= syscall.S_ISUID
+ }
+ if i&os.ModeSetgid != 0 {
+ o |= syscall.S_ISGID
+ }
+ if i&os.ModeSticky != 0 {
+ o |= syscall.S_ISVTX
+ }
+ // No mapping for Go's ModeTemporary (plan9 only).
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go
new file mode 100644
index 00000000..2994ce75
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/flock.go
@@ -0,0 +1,22 @@
+// 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 darwin 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
+
+// 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/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go
new file mode 100644
index 00000000..fc0e50e0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/flock_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/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go
new file mode 100644
index 00000000..94c82321
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/gccgo.go
@@ -0,0 +1,46 @@
+// 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
+
+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 gccgoRealSyscall
+func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr)
+
+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 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/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c
new file mode 100644
index 00000000..07f6be03
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c
@@ -0,0 +1,41 @@
+// 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
+
+#include <errno.h>
+#include <stdint.h>
+#include <unistd.h>
+
+#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;
+}
+
+// Define the use function in C so that it is not inlined.
+
+extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline));
+
+void
+use(void *p __attribute__ ((unused)))
+{
+}
diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
new file mode 100644
index 00000000..bffe1a77
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/linux/Dockerfile b/vendor/golang.org/x/sys/unix/linux/Dockerfile
new file mode 100644
index 00000000..c448b9dd
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/linux/Dockerfile
@@ -0,0 +1,51 @@
+FROM ubuntu:16.04
+
+# Use the most recent ubuntu sources
+RUN echo 'deb http://en.archive.ubuntu.com/ubuntu/ artful main universe' >> /etc/apt/sources.list
+
+# Dependencies to get the git sources and go binaries
+RUN apt-get update && apt-get install -y \
+ curl \
+ git \
+ && rm -rf /var/lib/apt/lists/*
+
+# Get the git sources. If not cached, this takes O(5 minutes).
+WORKDIR /git
+RUN git config --global advice.detachedHead false
+# Linux Kernel: Released 03 Sep 2017
+RUN git clone --branch v4.13 --depth 1 https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
+# GNU C library: Released 02 Aug 2017 (we should try to get a secure way to clone this)
+RUN git clone --branch glibc-2.26 --depth 1 git://sourceware.org/git/glibc.git
+
+# Get Go 1.8 (https://github.com/docker-library/golang/blob/master/1.8/Dockerfile)
+ENV GOLANG_VERSION 1.8
+ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 53ab94104ee3923e228a2cb2116e5e462ad3ebaeea06ff04463479d7f12d27ca
+
+RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz \
+ && echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - \
+ && tar -C /usr/local -xzf golang.tar.gz \
+ && rm golang.tar.gz
+
+ENV PATH /usr/local/go/bin:$PATH
+
+# Linux and Glibc build dependencies
+RUN apt-get update && apt-get install -y \
+ gawk make python \
+ gcc gcc-multilib \
+ gettext texinfo \
+ && rm -rf /var/lib/apt/lists/*
+# Emulator and cross compilers
+RUN apt-get update && apt-get install -y \
+ qemu \
+ gcc-aarch64-linux-gnu gcc-arm-linux-gnueabi \
+ gcc-mips-linux-gnu gcc-mips64-linux-gnuabi64 \
+ gcc-mips64el-linux-gnuabi64 gcc-mipsel-linux-gnu \
+ gcc-powerpc64-linux-gnu gcc-powerpc64le-linux-gnu \
+ gcc-s390x-linux-gnu gcc-sparc64-linux-gnu \
+ && rm -rf /var/lib/apt/lists/*
+
+# Let the scripts know they are in the docker environment
+ENV GOLANG_SYS_BUILD docker
+WORKDIR /build
+ENTRYPOINT ["go", "run", "linux/mkall.go", "/git/linux", "/git/glibc"]
diff --git a/vendor/golang.org/x/sys/unix/linux/mkall.go b/vendor/golang.org/x/sys/unix/linux/mkall.go
new file mode 100644
index 00000000..429754f1
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/linux/mkall.go
@@ -0,0 +1,379 @@
+// 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.
+
+// linux/mkall.go - Generates all Linux zsysnum, zsyscall, zerror, and ztype
+// files for all 11 linux architectures supported by the go compiler. See
+// README.md for more information about the build system.
+
+// To run it you must have a git checkout of the Linux kernel and glibc. Once
+// the appropriate sources are ready, the program is run as:
+// go run linux/mkall.go <linux_dir> <glibc_dir>
+
+// +build ignore
+
+package main
+
+import (
+ "fmt"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "runtime"
+ "strings"
+)
+
+// These will be paths to the appropriate source directories.
+var LinuxDir string
+var GlibcDir string
+
+const TempDir = "/tmp"
+const IncludeDir = TempDir + "/include" // To hold our C headers
+const BuildDir = TempDir + "/build" // To hold intermediate build files
+
+const GOOS = "linux" // Only for Linux targets
+const BuildArch = "amd64" // Must be built on this architecture
+const MinKernel = "2.6.23" // https://golang.org/doc/install#requirements
+
+type target struct {
+ GoArch string // Architecture name according to Go
+ LinuxArch string // Architecture name according to the Linux Kernel
+ GNUArch string // Architecture name according to GNU tools (https://wiki.debian.org/Multiarch/Tuples)
+ BigEndian bool // Default Little Endian
+ SignedChar bool // Is -fsigned-char needed (default no)
+ Bits int
+}
+
+// List of the 11 Linux targets supported by the go compiler. sparc64 is not
+// currently supported, though a port is in progress.
+var targets = []target{
+ {
+ GoArch: "386",
+ LinuxArch: "x86",
+ GNUArch: "i686-linux-gnu", // Note "i686" not "i386"
+ Bits: 32,
+ },
+ {
+ GoArch: "amd64",
+ LinuxArch: "x86",
+ GNUArch: "x86_64-linux-gnu",
+ Bits: 64,
+ },
+ {
+ GoArch: "arm64",
+ LinuxArch: "arm64",
+ GNUArch: "aarch64-linux-gnu",
+ SignedChar: true,
+ Bits: 64,
+ },
+ {
+ GoArch: "arm",
+ LinuxArch: "arm",
+ GNUArch: "arm-linux-gnueabi",
+ Bits: 32,
+ },
+ {
+ GoArch: "mips",
+ LinuxArch: "mips",
+ GNUArch: "mips-linux-gnu",
+ BigEndian: true,
+ Bits: 32,
+ },
+ {
+ GoArch: "mipsle",
+ LinuxArch: "mips",
+ GNUArch: "mipsel-linux-gnu",
+ Bits: 32,
+ },
+ {
+ GoArch: "mips64",
+ LinuxArch: "mips",
+ GNUArch: "mips64-linux-gnuabi64",
+ BigEndian: true,
+ Bits: 64,
+ },
+ {
+ GoArch: "mips64le",
+ LinuxArch: "mips",
+ GNUArch: "mips64el-linux-gnuabi64",
+ Bits: 64,
+ },
+ {
+ GoArch: "ppc64",
+ LinuxArch: "powerpc",
+ GNUArch: "powerpc64-linux-gnu",
+ BigEndian: true,
+ Bits: 64,
+ },
+ {
+ GoArch: "ppc64le",
+ LinuxArch: "powerpc",
+ GNUArch: "powerpc64le-linux-gnu",
+ Bits: 64,
+ },
+ {
+ GoArch: "s390x",
+ LinuxArch: "s390",
+ GNUArch: "s390x-linux-gnu",
+ BigEndian: true,
+ SignedChar: true,
+ Bits: 64,
+ },
+ // {
+ // GoArch: "sparc64",
+ // LinuxArch: "sparc",
+ // GNUArch: "sparc64-linux-gnu",
+ // BigEndian: true,
+ // Bits: 64,
+ // },
+}
+
+func main() {
+ if runtime.GOOS != GOOS || runtime.GOARCH != BuildArch {
+ fmt.Printf("Build system has GOOS_GOARCH = %s_%s, need %s_%s\n",
+ runtime.GOOS, runtime.GOARCH, GOOS, BuildArch)
+ return
+ }
+
+ // Check that we are using the new build system if we should
+ if os.Getenv("GOLANG_SYS_BUILD") != "docker" {
+ fmt.Println("In the new build system, mkall.go should not be called directly.")
+ fmt.Println("See README.md")
+ return
+ }
+
+ // Parse the command line options
+ if len(os.Args) != 3 {
+ fmt.Println("USAGE: go run linux/mkall.go <linux_dir> <glibc_dir>")
+ return
+ }
+ LinuxDir = os.Args[1]
+ GlibcDir = os.Args[2]
+
+ for _, t := range targets {
+ fmt.Printf("----- GENERATING: %s -----\n", t.GoArch)
+ if err := t.generateFiles(); err != nil {
+ fmt.Printf("%v\n***** FAILURE: %s *****\n\n", err, t.GoArch)
+ } else {
+ fmt.Printf("----- SUCCESS: %s -----\n\n", t.GoArch)
+ }
+ }
+}
+
+// Makes an exec.Cmd with Stderr attached to os.Stderr
+func makeCommand(name string, args ...string) *exec.Cmd {
+ cmd := exec.Command(name, args...)
+ cmd.Stderr = os.Stderr
+ return cmd
+}
+
+// Runs the command, pipes output to a formatter, pipes that to an output file.
+func (t *target) commandFormatOutput(formatter string, outputFile string,
+ name string, args ...string) (err error) {
+ mainCmd := makeCommand(name, args...)
+
+ fmtCmd := makeCommand(formatter)
+ if formatter == "mkpost" {
+ fmtCmd = makeCommand("go", "run", "mkpost.go")
+ // Set GOARCH_TARGET so mkpost knows what GOARCH is..
+ fmtCmd.Env = append(os.Environ(), "GOARCH_TARGET="+t.GoArch)
+ // Set GOARCH to host arch for mkpost, so it can run natively.
+ for i, s := range fmtCmd.Env {
+ if strings.HasPrefix(s, "GOARCH=") {
+ fmtCmd.Env[i] = "GOARCH=" + BuildArch
+ }
+ }
+ }
+
+ // mainCmd | fmtCmd > outputFile
+ if fmtCmd.Stdin, err = mainCmd.StdoutPipe(); err != nil {
+ return
+ }
+ if fmtCmd.Stdout, err = os.Create(outputFile); err != nil {
+ return
+ }
+
+ // Make sure the formatter eventually closes
+ if err = fmtCmd.Start(); err != nil {
+ return
+ }
+ defer func() {
+ fmtErr := fmtCmd.Wait()
+ if err == nil {
+ err = fmtErr
+ }
+ }()
+
+ return mainCmd.Run()
+}
+
+// Generates all the files for a Linux target
+func (t *target) generateFiles() error {
+ // Setup environment variables
+ os.Setenv("GOOS", GOOS)
+ os.Setenv("GOARCH", t.GoArch)
+
+ // Get appropriate compiler and emulator (unless on x86)
+ if t.LinuxArch != "x86" {
+ // Check/Setup cross compiler
+ compiler := t.GNUArch + "-gcc"
+ if _, err := exec.LookPath(compiler); err != nil {
+ return err
+ }
+ os.Setenv("CC", compiler)
+
+ // Check/Setup emulator (usually first component of GNUArch)
+ qemuArchName := t.GNUArch[:strings.Index(t.GNUArch, "-")]
+ if t.LinuxArch == "powerpc" {
+ qemuArchName = t.GoArch
+ }
+ os.Setenv("GORUN", "qemu-"+qemuArchName)
+ } else {
+ os.Setenv("CC", "gcc")
+ }
+
+ // Make the include directory and fill it with headers
+ if err := os.MkdirAll(IncludeDir, os.ModePerm); err != nil {
+ return err
+ }
+ defer os.RemoveAll(IncludeDir)
+ if err := t.makeHeaders(); err != nil {
+ return fmt.Errorf("could not make header files: %v", err)
+ }
+ fmt.Println("header files generated")
+
+ // Make each of the four files
+ if err := t.makeZSysnumFile(); err != nil {
+ return fmt.Errorf("could not make zsysnum file: %v", err)
+ }
+ fmt.Println("zsysnum file generated")
+
+ if err := t.makeZSyscallFile(); err != nil {
+ return fmt.Errorf("could not make zsyscall file: %v", err)
+ }
+ fmt.Println("zsyscall file generated")
+
+ if err := t.makeZTypesFile(); err != nil {
+ return fmt.Errorf("could not make ztypes file: %v", err)
+ }
+ fmt.Println("ztypes file generated")
+
+ if err := t.makeZErrorsFile(); err != nil {
+ return fmt.Errorf("could not make zerrors file: %v", err)
+ }
+ fmt.Println("zerrors file generated")
+
+ return nil
+}
+
+// Create the Linux and glibc headers in the include directory.
+func (t *target) makeHeaders() error {
+ // Make the Linux headers we need for this architecture
+ linuxMake := makeCommand("make", "headers_install", "ARCH="+t.LinuxArch, "INSTALL_HDR_PATH="+TempDir)
+ linuxMake.Dir = LinuxDir
+ if err := linuxMake.Run(); err != nil {
+ return err
+ }
+
+ // A Temporary build directory for glibc
+ if err := os.MkdirAll(BuildDir, os.ModePerm); err != nil {
+ return err
+ }
+ defer os.RemoveAll(BuildDir)
+
+ // Make the glibc headers we need for this architecture
+ confScript := filepath.Join(GlibcDir, "configure")
+ glibcConf := makeCommand(confScript, "--prefix="+TempDir, "--host="+t.GNUArch, "--enable-kernel="+MinKernel)
+ glibcConf.Dir = BuildDir
+ if err := glibcConf.Run(); err != nil {
+ return err
+ }
+ glibcMake := makeCommand("make", "install-headers")
+ glibcMake.Dir = BuildDir
+ if err := glibcMake.Run(); err != nil {
+ return err
+ }
+ // We only need an empty stubs file
+ stubsFile := filepath.Join(IncludeDir, "gnu/stubs.h")
+ if file, err := os.Create(stubsFile); err != nil {
+ return err
+ } else {
+ file.Close()
+ }
+
+ return nil
+}
+
+// makes the zsysnum_linux_$GOARCH.go file
+func (t *target) makeZSysnumFile() error {
+ zsysnumFile := fmt.Sprintf("zsysnum_linux_%s.go", t.GoArch)
+ unistdFile := filepath.Join(IncludeDir, "asm/unistd.h")
+
+ args := append(t.cFlags(), unistdFile)
+ return t.commandFormatOutput("gofmt", zsysnumFile, "linux/mksysnum.pl", args...)
+}
+
+// makes the zsyscall_linux_$GOARCH.go file
+func (t *target) makeZSyscallFile() error {
+ zsyscallFile := fmt.Sprintf("zsyscall_linux_%s.go", t.GoArch)
+ // Find the correct architecture syscall file (might end with x.go)
+ archSyscallFile := fmt.Sprintf("syscall_linux_%s.go", t.GoArch)
+ if _, err := os.Stat(archSyscallFile); os.IsNotExist(err) {
+ shortArch := strings.TrimSuffix(t.GoArch, "le")
+ archSyscallFile = fmt.Sprintf("syscall_linux_%sx.go", shortArch)
+ }
+
+ args := append(t.mksyscallFlags(), "-tags", "linux,"+t.GoArch,
+ "syscall_linux.go", archSyscallFile)
+ return t.commandFormatOutput("gofmt", zsyscallFile, "./mksyscall.pl", args...)
+}
+
+// makes the zerrors_linux_$GOARCH.go file
+func (t *target) makeZErrorsFile() error {
+ zerrorsFile := fmt.Sprintf("zerrors_linux_%s.go", t.GoArch)
+
+ return t.commandFormatOutput("gofmt", zerrorsFile, "./mkerrors.sh", t.cFlags()...)
+}
+
+// makes the ztypes_linux_$GOARCH.go file
+func (t *target) makeZTypesFile() error {
+ ztypesFile := fmt.Sprintf("ztypes_linux_%s.go", t.GoArch)
+
+ args := []string{"tool", "cgo", "-godefs", "--"}
+ args = append(args, t.cFlags()...)
+ args = append(args, "linux/types.go")
+ return t.commandFormatOutput("mkpost", ztypesFile, "go", args...)
+}
+
+// Flags that should be given to gcc and cgo for this target
+func (t *target) cFlags() []string {
+ // Compile statically to avoid cross-architecture dynamic linking.
+ flags := []string{"-Wall", "-Werror", "-static", "-I" + IncludeDir}
+
+ // Architecture-specific flags
+ if t.SignedChar {
+ flags = append(flags, "-fsigned-char")
+ }
+ if t.LinuxArch == "x86" {
+ flags = append(flags, fmt.Sprintf("-m%d", t.Bits))
+ }
+
+ return flags
+}
+
+// Flags that should be given to mksyscall for this target
+func (t *target) mksyscallFlags() (flags []string) {
+ if t.Bits == 32 {
+ if t.BigEndian {
+ flags = append(flags, "-b32")
+ } else {
+ flags = append(flags, "-l32")
+ }
+ }
+
+ // This flag menas a 64-bit value should use (even, odd)-pair.
+ if t.GoArch == "arm" || (t.LinuxArch == "mips" && t.Bits == 32) {
+ flags = append(flags, "-arm")
+ }
+ return
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_linux.pl b/vendor/golang.org/x/sys/unix/linux/mksysnum.pl
index 4d4017de..63fd800b 100755
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/mksysnum_linux.pl
+++ b/vendor/golang.org/x/sys/unix/linux/mksysnum.pl
@@ -10,11 +10,18 @@ if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
exit 1;
}
-my $command = "mksysnum_linux.pl ". join(' ', @ARGV);
+# Check that we are using the new build system if we should
+if($ENV{'GOLANG_SYS_BUILD'} ne "docker") {
+ print STDERR "In the new build system, mksysnum should not be called directly.\n";
+ print STDERR "See README.md\n";
+ exit 1;
+}
+
+my $command = "$0 ". join(' ', @ARGV);
print <<EOF;
// $command
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
// +build $ENV{'GOARCH'},$ENV{'GOOS'}
@@ -23,6 +30,8 @@ package unix
const(
EOF
+my $offset = 0;
+
sub fmt {
my ($name, $num) = @_;
if($num > 999){
@@ -31,15 +40,27 @@ sub fmt {
return;
}
$name =~ y/a-z/A-Z/;
+ $num = $num + $offset;
print " SYS_$name = $num;\n";
}
my $prev;
-open(GCC, "gcc -E -dD $ARGV[0] |") || die "can't run gcc";
-while(<GCC>){
- if(/^#define __NR_syscalls\s+/) {
+open(CC, "$ENV{'CC'} -E -dD @ARGV |") || die "can't run $ENV{'CC'}";
+while(<CC>){
+ if(/^#define __NR_Linux\s+([0-9]+)/){
+ # mips/mips64: extract offset
+ $offset = $1;
+ }
+ elsif(/^#define __NR(\w*)_SYSCALL_BASE\s+([0-9]+)/){
+ # arm: extract offset
+ $offset = $1;
+ }
+ elsif(/^#define __NR_syscalls\s+/) {
# ignore redefinitions of __NR_syscalls
}
+ elsif(/^#define __NR_(\w*)Linux_syscalls\s+/) {
+ # mips/mips64: ignore definitions about the number of syscalls
+ }
elsif(/^#define __NR_(\w+)\s+([0-9]+)/){
$prev = $2;
fmt($1, $2);
@@ -51,6 +72,12 @@ while(<GCC>){
elsif(/^#define __NR_(\w+)\s+\(\w+\+\s*([0-9]+)\)/){
fmt($1, $prev+$2)
}
+ elsif(/^#define __NR_(\w+)\s+\(__NR_Linux \+ ([0-9]+)/){
+ fmt($1, $2);
+ }
+ elsif(/^#define __NR_(\w+)\s+\(__NR_SYSCALL_BASE \+ ([0-9]+)/){
+ fmt($1, $2);
+ }
}
print <<EOF;
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_linux.go b/vendor/golang.org/x/sys/unix/linux/types.go
index d5275875..426be5eb 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_linux.go
+++ b/vendor/golang.org/x/sys/unix/linux/types.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -20,14 +20,15 @@ package unix
#define _GNU_SOURCE
#include <dirent.h>
-#include <fcntl.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netpacket/packet.h>
+#include <poll.h>
#include <signal.h>
#include <stdio.h>
#include <sys/epoll.h>
#include <sys/inotify.h>
+#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/param.h>
@@ -35,26 +36,83 @@ package unix
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/signal.h>
-#include <sys/stat.h>
#include <sys/statfs.h>
#include <sys/sysinfo.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/timex.h>
-#include <sys/types.h>
#include <sys/un.h>
#include <sys/user.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <linux/filter.h>
+#include <linux/keyctl.h>
#include <linux/netlink.h>
+#include <linux/perf_event.h>
#include <linux/rtnetlink.h>
#include <linux/icmpv6.h>
#include <asm/termbits.h>
+#include <asm/ptrace.h>
#include <time.h>
#include <unistd.h>
#include <ustat.h>
#include <utime.h>
+#include <linux/can.h>
+#include <linux/if_alg.h>
+#include <linux/fs.h>
+#include <linux/vm_sockets.h>
+#include <linux/random.h>
+#include <linux/taskstats.h>
+#include <linux/genetlink.h>
+
+// On mips64, the glibc stat and kernel stat do not agree
+#if (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI64)
+
+// Use the stat defined by the kernel with a few modifications. These are:
+// * The time fields (like st_atime and st_atimensec) use the timespec
+// struct (like st_atim) for consitancy with the glibc fields.
+// * The padding fields get different names to not break compatibility.
+// * st_blocks is signed, again for compatibility.
+struct stat {
+ unsigned int st_dev;
+ unsigned int st_pad1[3]; // Reserved for st_dev expansion
+
+ unsigned long st_ino;
+
+ mode_t st_mode;
+ __u32 st_nlink;
+
+ uid_t st_uid;
+ gid_t st_gid;
+
+ unsigned int st_rdev;
+ unsigned int st_pad2[3]; // Reserved for st_rdev expansion
+
+ off_t st_size;
+
+ // These are declared as speperate fields in the kernel. Here we use
+ // the timespec struct for consistancy with the other stat structs.
+ struct timespec st_atim;
+ struct timespec st_mtim;
+ struct timespec st_ctim;
+
+ unsigned int st_blksize;
+ unsigned int st_pad4;
+
+ long st_blocks;
+};
+
+// These are needed because we do not include fcntl.h or sys/types.h
+#include <linux/fcntl.h>
+#include <linux/fadvise.h>
+
+#else
+
+// Use the stat defined by glibc
+#include <fcntl.h>
+#include <sys/types.h>
+
+#endif
#ifdef TCSETS2
// On systems that have "struct termios2" use this as type Termios.
@@ -81,6 +139,13 @@ struct sockaddr_any {
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
};
+// copied from /usr/include/bluetooth/hci.h
+struct sockaddr_hci {
+ sa_family_t hci_family;
+ unsigned short hci_dev;
+ unsigned short hci_channel;
+};;
+
// copied from /usr/include/linux/un.h
struct my_sockaddr_un {
sa_family_t sun_family;
@@ -96,19 +161,36 @@ struct my_sockaddr_un {
typedef struct user_regs PtraceRegs;
#elif defined(__aarch64__)
typedef struct user_pt_regs PtraceRegs;
-#elif defined(__powerpc64__)
+#elif defined(__mips__) || defined(__powerpc64__)
+typedef struct pt_regs PtraceRegs;
+#elif defined(__s390x__)
+typedef struct _user_regs_struct PtraceRegs;
+#elif defined(__sparc__)
+#include <asm/ptrace.h>
typedef struct pt_regs PtraceRegs;
#else
typedef struct user_regs_struct PtraceRegs;
#endif
+#if defined(__s390x__)
+typedef struct _user_psw_struct ptracePsw;
+typedef struct _user_fpregs_struct ptraceFpregs;
+typedef struct _user_per_struct ptracePer;
+#else
+typedef struct {} ptracePsw;
+typedef struct {} ptraceFpregs;
+typedef struct {} ptracePer;
+#endif
+
// The real epoll_event is a union, and godefs doesn't handle it well.
struct my_epoll_event {
uint32_t events;
-#ifdef __ARM_EABI__
+#if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32)
// padding is not specified in linux/eventpoll.h but added to conform to the
// alignment requirements of EABI
int32_t padFd;
+#elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__)
+ int32_t _padFd;
#endif
int32_t fd;
int32_t pad;
@@ -171,6 +253,16 @@ type Fsid C.fsid_t
type Flock_t C.struct_flock
+// Filesystem Encryption
+
+type FscryptPolicy C.struct_fscrypt_policy
+
+type FscryptKey C.struct_fscrypt_key
+
+// Structure for Keyctl
+
+type KeyctlDHParams C.struct_keyctl_dh_params
+
// Advice to Fadvise
const (
@@ -194,6 +286,14 @@ type RawSockaddrLinklayer C.struct_sockaddr_ll
type RawSockaddrNetlink C.struct_sockaddr_nl
+type RawSockaddrHCI C.struct_sockaddr_hci
+
+type RawSockaddrCAN C.struct_sockaddr_can
+
+type RawSockaddrALG C.struct_sockaddr_alg
+
+type RawSockaddrVM C.struct_sockaddr_vm
+
type RawSockaddr C.struct_sockaddr
type RawSockaddrAny C.struct_sockaddr_any
@@ -210,6 +310,8 @@ type IPMreqn C.struct_ip_mreqn
type IPv6Mreq C.struct_ipv6_mreq
+type PacketMreq C.struct_packet_mreq
+
type Msghdr C.struct_msghdr
type Cmsghdr C.struct_cmsghdr
@@ -233,10 +335,16 @@ const (
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll
SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl
+ SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci
+ SizeofSockaddrCAN = C.sizeof_struct_sockaddr_can
+ SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg
+ SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm
SizeofLinger = C.sizeof_struct_linger
+ SizeofIovec = C.sizeof_struct_iovec
SizeofIPMreq = C.sizeof_struct_ip_mreq
SizeofIPMreqn = C.sizeof_struct_ip_mreqn
SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq
+ SizeofPacketMreq = C.sizeof_struct_packet_mreq
SizeofMsghdr = C.sizeof_struct_msghdr
SizeofCmsghdr = C.sizeof_struct_cmsghdr
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
@@ -383,6 +491,13 @@ const SizeofInotifyEvent = C.sizeof_struct_inotify_event
// Register structures
type PtraceRegs C.PtraceRegs
+// Structures contained in PtraceRegs on s390x (exported by mkpost.go)
+type PtracePsw C.ptracePsw
+
+type PtraceFpregs C.ptraceFpregs
+
+type PtracePer C.ptracePer
+
// Misc
type FdSet C.fd_set
@@ -398,9 +513,83 @@ type EpollEvent C.struct_my_epoll_event
const (
AT_FDCWD = C.AT_FDCWD
AT_REMOVEDIR = C.AT_REMOVEDIR
+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW
AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
)
+type PollFd C.struct_pollfd
+
+const (
+ POLLIN = C.POLLIN
+ POLLPRI = C.POLLPRI
+ POLLOUT = C.POLLOUT
+ POLLRDHUP = C.POLLRDHUP
+ POLLERR = C.POLLERR
+ POLLHUP = C.POLLHUP
+ POLLNVAL = C.POLLNVAL
+)
+
+type Sigset_t C.sigset_t
+
+const RNDGETENTCNT = C.RNDGETENTCNT
+
+const PERF_IOC_FLAG_GROUP = C.PERF_IOC_FLAG_GROUP
+
// Terminal handling
type Termios C.termios_t
+
+type Winsize C.struct_winsize
+
+// Taskstats
+
+type Taskstats C.struct_taskstats
+
+const (
+ TASKSTATS_CMD_UNSPEC = C.TASKSTATS_CMD_UNSPEC
+ TASKSTATS_CMD_GET = C.TASKSTATS_CMD_GET
+ TASKSTATS_CMD_NEW = C.TASKSTATS_CMD_NEW
+ TASKSTATS_TYPE_UNSPEC = C.TASKSTATS_TYPE_UNSPEC
+ TASKSTATS_TYPE_PID = C.TASKSTATS_TYPE_PID
+ TASKSTATS_TYPE_TGID = C.TASKSTATS_TYPE_TGID
+ TASKSTATS_TYPE_STATS = C.TASKSTATS_TYPE_STATS
+ TASKSTATS_TYPE_AGGR_PID = C.TASKSTATS_TYPE_AGGR_PID
+ TASKSTATS_TYPE_AGGR_TGID = C.TASKSTATS_TYPE_AGGR_TGID
+ TASKSTATS_TYPE_NULL = C.TASKSTATS_TYPE_NULL
+ TASKSTATS_CMD_ATTR_UNSPEC = C.TASKSTATS_CMD_ATTR_UNSPEC
+ TASKSTATS_CMD_ATTR_PID = C.TASKSTATS_CMD_ATTR_PID
+ TASKSTATS_CMD_ATTR_TGID = C.TASKSTATS_CMD_ATTR_TGID
+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_REGISTER_CPUMASK
+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = C.TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK
+)
+
+// Generic netlink
+
+type Genlmsghdr C.struct_genlmsghdr
+
+const (
+ CTRL_CMD_UNSPEC = C.CTRL_CMD_UNSPEC
+ CTRL_CMD_NEWFAMILY = C.CTRL_CMD_NEWFAMILY
+ CTRL_CMD_DELFAMILY = C.CTRL_CMD_DELFAMILY
+ CTRL_CMD_GETFAMILY = C.CTRL_CMD_GETFAMILY
+ CTRL_CMD_NEWOPS = C.CTRL_CMD_NEWOPS
+ CTRL_CMD_DELOPS = C.CTRL_CMD_DELOPS
+ CTRL_CMD_GETOPS = C.CTRL_CMD_GETOPS
+ CTRL_CMD_NEWMCAST_GRP = C.CTRL_CMD_NEWMCAST_GRP
+ CTRL_CMD_DELMCAST_GRP = C.CTRL_CMD_DELMCAST_GRP
+ CTRL_CMD_GETMCAST_GRP = C.CTRL_CMD_GETMCAST_GRP
+ CTRL_ATTR_UNSPEC = C.CTRL_ATTR_UNSPEC
+ CTRL_ATTR_FAMILY_ID = C.CTRL_ATTR_FAMILY_ID
+ CTRL_ATTR_FAMILY_NAME = C.CTRL_ATTR_FAMILY_NAME
+ CTRL_ATTR_VERSION = C.CTRL_ATTR_VERSION
+ CTRL_ATTR_HDRSIZE = C.CTRL_ATTR_HDRSIZE
+ CTRL_ATTR_MAXATTR = C.CTRL_ATTR_MAXATTR
+ CTRL_ATTR_OPS = C.CTRL_ATTR_OPS
+ CTRL_ATTR_MCAST_GROUPS = C.CTRL_ATTR_MCAST_GROUPS
+ CTRL_ATTR_OP_UNSPEC = C.CTRL_ATTR_OP_UNSPEC
+ CTRL_ATTR_OP_ID = C.CTRL_ATTR_OP_ID
+ CTRL_ATTR_OP_FLAGS = C.CTRL_ATTR_OP_FLAGS
+ CTRL_ATTR_MCAST_GRP_UNSPEC = C.CTRL_ATTR_MCAST_GRP_UNSPEC
+ CTRL_ATTR_MCAST_GRP_NAME = C.CTRL_ATTR_MCAST_GRP_NAME
+ CTRL_ATTR_MCAST_GRP_ID = C.CTRL_ATTR_MCAST_GRP_ID
+)
diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh
new file mode 100755
index 00000000..c3a08092
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mkall.sh
@@ -0,0 +1,197 @@
+#!/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="./mksyscall.pl"
+mkerrors="./mkerrors.sh"
+zerrors="zerrors_$GOOSARCH.go"
+mksysctl=""
+zsysctl="zsysctl_$GOOSARCH.go"
+mksysnum=
+mktypes=
+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" ]] && [[ "$GOARCH" != "sparc64" ]]; then
+ # Use then new 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
+ ;;
+darwin_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="./mksyscall.pl -l32"
+ mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+darwin_amd64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+darwin_arm)
+ mkerrors="$mkerrors"
+ mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+darwin_arm64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="./mksysnum_darwin.pl $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+dragonfly_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="./mksyscall.pl -l32 -dragonfly"
+ mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+dragonfly_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="./mksyscall.pl -dragonfly"
+ mksysnum="curl -s 'http://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master' | ./mksysnum_dragonfly.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="./mksyscall.pl -l32"
+ mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+freebsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="./mksyscall.pl -l32 -arm"
+ mksysnum="curl -s 'http://svn.freebsd.org/base/stable/10/sys/kern/syscalls.master' | ./mksysnum_freebsd.pl"
+ # 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"
+ ;;
+linux_sparc64)
+ GOOSARCH_in=syscall_linux_sparc64.go
+ unistd_h=/usr/include/sparc64-linux-gnu/asm/unistd.h
+ mkerrors="$mkerrors -m64"
+ mksysnum="./mksysnum_linux.pl $unistd_h"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="./mksyscall.pl -l32 -netbsd"
+ mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="./mksyscall.pl -netbsd"
+ mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+netbsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="./mksyscall.pl -l32 -netbsd -arm"
+ mksysnum="curl -s 'http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_netbsd.pl"
+ # 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_386)
+ mkerrors="$mkerrors -m32"
+ mksyscall="./mksyscall.pl -l32 -openbsd"
+ mksysctl="./mksysctl_openbsd.pl"
+ zsysctl="zsysctl_openbsd.go"
+ mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+openbsd_amd64)
+ mkerrors="$mkerrors -m64"
+ mksyscall="./mksyscall.pl -openbsd"
+ mksysctl="./mksysctl_openbsd.pl"
+ zsysctl="zsysctl_openbsd.go"
+ mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl"
+ mktypes="GOARCH=$GOARCH go tool cgo -godefs"
+ ;;
+openbsd_arm)
+ mkerrors="$mkerrors"
+ mksyscall="./mksyscall.pl -l32 -openbsd -arm"
+ mksysctl="./mksysctl_openbsd.pl"
+ zsysctl="zsysctl_openbsd.go"
+ mksysnum="curl -s 'http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master' | ./mksysnum_openbsd.pl"
+ # 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="./mksyscall_solaris.pl"
+ 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 echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; 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
+) | $run
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
new file mode 100755
index 00000000..22bf41d8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -0,0 +1,563 @@
+#!/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" ]] && [[ "$GOARCH" != "sparc64" ]]; then
+ if [[ "$GOLANG_SYS_BUILD" != "docker" ]]; then
+ echo 1>&2 "In the new build system, mkerrors should not be called directly."
+ echo 1>&2 "See README.md"
+ exit 1
+ fi
+fi
+
+CC=${CC:-cc}
+
+if [[ "$GOOS" = "solaris" ]]; then
+ # Assumes GNU versions of utilities in PATH.
+ export PATH=/usr/gnu/bin:$PATH
+fi
+
+uname=$(uname)
+
+includes_Darwin='
+#define _DARWIN_C_SOURCE
+#define KERNEL
+#define _DARWIN_USE_64_BIT_INODE
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/ptrace.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysctl.h>
+#include <sys/mman.h>
+#include <sys/mount.h>
+#include <sys/wait.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <termios.h>
+'
+
+includes_DragonFly='
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysctl.h>
+#include <sys/mman.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <termios.h>
+#include <netinet/ip.h>
+#include <net/ip_mroute/ip_mroute.h>
+'
+
+includes_FreeBSD='
+#include <sys/capability.h>
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysctl.h>
+#include <sys/mman.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <termios.h>
+#include <netinet/ip.h>
+#include <netinet/ip_mroute.h>
+#include <sys/extattr.h>
+
+#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
+
+// <sys/ioctl.h> is broken on powerpc64, as it fails to include definitions of
+// these structures. We just include them copied from <bits/termios.h>.
+#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 <bits/sockaddr.h>
+#include <sys/epoll.h>
+#include <sys/eventfd.h>
+#include <sys/inotify.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/mount.h>
+#include <sys/prctl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <sys/xattr.h>
+#include <linux/if.h>
+#include <linux/if_alg.h>
+#include <linux/if_arp.h>
+#include <linux/if_ether.h>
+#include <linux/if_tun.h>
+#include <linux/if_packet.h>
+#include <linux/if_addr.h>
+#include <linux/falloc.h>
+#include <linux/filter.h>
+#include <linux/fs.h>
+#include <linux/keyctl.h>
+#include <linux/netlink.h>
+#include <linux/perf_event.h>
+#include <linux/random.h>
+#include <linux/reboot.h>
+#include <linux/rtnetlink.h>
+#include <linux/ptrace.h>
+#include <linux/sched.h>
+#include <linux/seccomp.h>
+#include <linux/sockios.h>
+#include <linux/wait.h>
+#include <linux/icmpv6.h>
+#include <linux/serial.h>
+#include <linux/can.h>
+#include <linux/vm_sockets.h>
+#include <linux/taskstats.h>
+#include <linux/genetlink.h>
+#include <net/route.h>
+#include <asm/termbits.h>
+
+#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 <sys/types.h>
+#include <sys/param.h>
+#include <sys/event.h>
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysctl.h>
+#include <sys/termios.h>
+#include <sys/ttycom.h>
+#include <sys/wait.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/ip_mroute.h>
+#include <netinet/if_ether.h>
+
+// Needed since <sys/param.h> refers to it...
+#define schedppq 1
+'
+
+includes_OpenBSD='
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/event.h>
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/sysctl.h>
+#include <sys/termios.h>
+#include <sys/ttycom.h>
+#include <sys/wait.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_types.h>
+#include <net/if_var.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/ip_mroute.h>
+#include <netinet/if_ether.h>
+#include <net/if_bridge.h>
+
+// 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 <limits.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
+#include <sys/mman.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <net/bpf.h>
+#include <net/if.h>
+#include <net/if_arp.h>
+#include <net/if_types.h>
+#include <net/route.h>
+#include <netinet/in.h>
+#include <termios.h>
+#include <netinet/ip.h>
+#include <netinet/ip_mroute.h>
+'
+
+
+includes='
+#include <sys/types.h>
+#include <sys/file.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
+#include <netinet/tcp.h>
+#include <errno.h>
+#include <sys/signal.h>
+#include <signal.h>
+#include <sys/resource.h>
+#include <time.h>
+'
+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}# <asm/elf.h> contains ELF_ARCH, etc.
+
+ $2 ~ /^EXTATTR_NAMESPACE_NAMES/ ||
+ $2 ~ /^EXTATTR_NAMESPACE_[A-Z]+_STRING/ {next}
+
+ $2 !~ /^ETH_/ &&
+ $2 !~ /^EPROC_/ &&
+ $2 !~ /^EQUIV_/ &&
+ $2 !~ /^EXPR_/ &&
+ $2 ~ /^E[A-Z0-9_]+$/ ||
+ $2 ~ /^B[0-9_]+$/ ||
+ $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 ~ /(^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|EVFILT|NOTE|EV|SHUT|PROT|MAP|PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
+ $2 ~ /^FALLOC_/ ||
+ $2 == "ICMPV6_FILTER" ||
+ $2 == "SOMAXCONN" ||
+ $2 == "NAME_MAX" ||
+ $2 == "IFNAMSIZ" ||
+ $2 ~ /^CTL_(MAXNAME|NET|QUERY)$/ ||
+ $2 ~ /^SYSCTL_VERS/ ||
+ $2 ~ /^(MS|MNT|UMOUNT)_/ ||
+ $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
+ $2 ~ /^(O|F|E?FD|NAME|S|PTRACE|PT)_/ ||
+ $2 ~ /^LINUX_REBOOT_CMD_/ ||
+ $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ ||
+ $2 !~ "NLA_TYPE_MASK" &&
+ $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P)_/ ||
+ $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)$/ &&
+ $2 ~ /^(BPF|DLT)_/ ||
+ $2 ~ /^CLOCK_/ ||
+ $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 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ ||
+ $2 ~ /^KEYCTL_/ ||
+ $2 ~ /^PERF_EVENT_IOC_/ ||
+ $2 ~ /^SECCOMP_MODE_/ ||
+ $2 ~ /^SPLICE_/ ||
+ $2 ~ /^(VM|VMADDR)_/ ||
+ $2 ~ /^(TASKSTATS|TS)_/ ||
+ $2 ~ /^GENL_/ ||
+ $2 ~ /^XATTR_(CREATE|REPLACE)/ ||
+ $2 !~ "WMESGLEN" &&
+ $2 ~ /^W[A-Z0-9]+$/ ||
+ $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 <errno.h>' | $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 <signal.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print $2 }' |
+ egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+ sort
+)
+
+# Again, writing regexps to a file.
+echo '#include <errno.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^E[A-Z0-9_]+$/ { print "^\t" $2 "[ \t]*=" }' |
+ sort >_error.grep
+echo '#include <signal.h>' | $CC -x c - -E -dM $ccflags |
+ awk '$1=="#define" && $2 ~ /^SIG[A-Z0-9]+$/ { print "^\t" $2 "[ \t]*=" }' |
+ egrep -v '(SIGSTKSIZE|SIGSTKSZ|SIGRT)' |
+ 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 <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+#include <signal.h>
+
+#define nelem(x) (sizeof(x)/sizeof((x)[0]))
+
+enum { A = 'A', Z = 'Z', a = 'a', z = 'z' }; // avoid need for single quotes below
+
+int errors[] = {
+"
+ for i in $errors
+ do
+ echo -E ' '$i,
+ done
+
+ echo -E "
+};
+
+int signals[] = {
+"
+ for i in $signals
+ do
+ echo -E ' '$i,
+ done
+
+ # Use -E because on some systems bash builtin interprets \n itself.
+ echo -E '
+};
+
+static int
+intcmp(const void *a, const void *b)
+{
+ return *(int*)a - *(int*)b;
+}
+
+int
+main(void)
+{
+ int i, e;
+ char buf[1024], *p;
+
+ printf("\n\n// Error table\n");
+ printf("var errors = [...]string {\n");
+ qsort(errors, nelem(errors), sizeof errors[0], intcmp);
+ for(i=0; i<nelem(errors); i++) {
+ e = errors[i];
+ if(i > 0 && errors[i-1] == 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\",\n", e, buf);
+ }
+ printf("}\n\n");
+
+ printf("\n\n// Signal table\n");
+ printf("var signals = [...]string {\n");
+ qsort(signals, nelem(signals), sizeof signals[0], intcmp);
+ for(i=0; i<nelem(signals); i++) {
+ e = signals[i];
+ if(i > 0 && signals[i-1] == 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\",\n", e, 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/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go
new file mode 100644
index 00000000..d3ff659b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mkpost.go
@@ -0,0 +1,88 @@
+// 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 ignore
+
+// mkpost processes the output of cgo -godefs to
+// modify the generated types. It is used to clean up
+// the sys API in an architecture specific manner.
+//
+// mkpost is run after cgo -godefs; see README.md.
+package main
+
+import (
+ "bytes"
+ "fmt"
+ "go/format"
+ "io/ioutil"
+ "log"
+ "os"
+ "regexp"
+)
+
+func main() {
+ // Get the OS and architecture (using GOARCH_TARGET if it exists)
+ goos := os.Getenv("GOOS")
+ goarch := os.Getenv("GOARCH_TARGET")
+ if goarch == "" {
+ goarch = os.Getenv("GOARCH")
+ }
+ // Check that we are using the new build system if we should be.
+ if goos == "linux" && goarch != "sparc64" {
+ if os.Getenv("GOLANG_SYS_BUILD") != "docker" {
+ os.Stderr.WriteString("In the new build system, mkpost should not be called directly.\n")
+ os.Stderr.WriteString("See README.md\n")
+ os.Exit(1)
+ }
+ }
+
+ b, err := ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ // If we have empty Ptrace structs, we should delete them. Only s390x emits
+ // nonempty Ptrace structs.
+ ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`)
+ b = ptraceRexexp.ReplaceAll(b, nil)
+
+ // Replace the control_regs union with a blank identifier for now.
+ controlRegsRegex := regexp.MustCompile(`(Control_regs)\s+\[0\]uint64`)
+ b = controlRegsRegex.ReplaceAll(b, []byte("_ [0]uint64"))
+
+ // Remove fields that are added by glibc
+ // Note that this is unstable as the identifers are private.
+ removeFieldsRegex := regexp.MustCompile(`X__glibc\S*`)
+ b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
+
+ // We refuse to export private fields on s390x
+ if goarch == "s390x" && goos == "linux" {
+ // Remove cgo padding fields
+ removeFieldsRegex := regexp.MustCompile(`Pad_cgo_\d+`)
+ b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
+
+ // Remove padding, hidden, or unused fields
+ removeFieldsRegex = regexp.MustCompile(`X_\S+`)
+ b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
+ }
+
+ // Remove the first line of warning from cgo
+ b = b[bytes.IndexByte(b, '\n')+1:]
+ // Modify the command in the header to include:
+ // mkpost, our own warning, and a build tag.
+ replacement := fmt.Sprintf(`$1 | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build %s,%s`, goarch, goos)
+ cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
+ b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
+
+ // gofmt
+ b, err = format.Source(b)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ os.Stdout.Write(b)
+}
diff --git a/vendor/golang.org/x/sys/unix/mksyscall.pl b/vendor/golang.org/x/sys/unix/mksyscall.pl
new file mode 100755
index 00000000..fb929b4c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksyscall.pl
@@ -0,0 +1,328 @@
+#!/usr/bin/env perl
+# 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 program reads a file containing function prototypes
+# (like syscall_darwin.go) and generates system call bodies.
+# The prototypes are marked by lines beginning with "//sys"
+# and read like func declarations if //sys is replaced by func, but:
+# * The parameter lists must give a name for each argument.
+# This includes return parameters.
+# * The parameter lists must give a type for each argument:
+# the (x, y, z int) shorthand is not allowed.
+# * If the return parameter is an error number, it must be named errno.
+
+# A line beginning with //sysnb is like //sys, except that the
+# goroutine will not be suspended during the execution of the system
+# call. This must only be used for system calls which can never
+# block, as otherwise the system call could cause all goroutines to
+# hang.
+
+use strict;
+
+my $cmdline = "mksyscall.pl " . join(' ', @ARGV);
+my $errors = 0;
+my $_32bit = "";
+my $plan9 = 0;
+my $openbsd = 0;
+my $netbsd = 0;
+my $dragonfly = 0;
+my $arm = 0; # 64-bit value should use (even, odd)-pair
+my $tags = ""; # build tags
+
+if($ARGV[0] eq "-b32") {
+ $_32bit = "big-endian";
+ shift;
+} elsif($ARGV[0] eq "-l32") {
+ $_32bit = "little-endian";
+ shift;
+}
+if($ARGV[0] eq "-plan9") {
+ $plan9 = 1;
+ shift;
+}
+if($ARGV[0] eq "-openbsd") {
+ $openbsd = 1;
+ shift;
+}
+if($ARGV[0] eq "-netbsd") {
+ $netbsd = 1;
+ shift;
+}
+if($ARGV[0] eq "-dragonfly") {
+ $dragonfly = 1;
+ shift;
+}
+if($ARGV[0] eq "-arm") {
+ $arm = 1;
+ shift;
+}
+if($ARGV[0] eq "-tags") {
+ shift;
+ $tags = $ARGV[0];
+ shift;
+}
+
+if($ARGV[0] =~ /^-/) {
+ print STDERR "usage: mksyscall.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
+ exit 1;
+}
+
+# Check that we are using the new build system if we should
+if($ENV{'GOOS'} eq "linux" && $ENV{'GOARCH'} ne "sparc64") {
+ if($ENV{'GOLANG_SYS_BUILD'} ne "docker") {
+ print STDERR "In the new build system, mksyscall should not be called directly.\n";
+ print STDERR "See README.md\n";
+ exit 1;
+ }
+}
+
+
+sub parseparamlist($) {
+ my ($list) = @_;
+ $list =~ s/^\s*//;
+ $list =~ s/\s*$//;
+ if($list eq "") {
+ return ();
+ }
+ return split(/\s*,\s*/, $list);
+}
+
+sub parseparam($) {
+ my ($p) = @_;
+ if($p !~ /^(\S*) (\S*)$/) {
+ print STDERR "$ARGV:$.: malformed parameter: $p\n";
+ $errors = 1;
+ return ("xx", "int");
+ }
+ return ($1, $2);
+}
+
+my $text = "";
+while(<>) {
+ chomp;
+ s/\s+/ /g;
+ s/^\s+//;
+ s/\s+$//;
+ my $nonblock = /^\/\/sysnb /;
+ next if !/^\/\/sys / && !$nonblock;
+
+ # Line must be of the form
+ # func Open(path string, mode int, perm int) (fd int, errno error)
+ # Split into name, in params, out params.
+ if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*((?i)SYS_[A-Z0-9_]+))?$/) {
+ print STDERR "$ARGV:$.: malformed //sys declaration\n";
+ $errors = 1;
+ next;
+ }
+ my ($func, $in, $out, $sysname) = ($2, $3, $4, $5);
+
+ # Split argument lists on comma.
+ my @in = parseparamlist($in);
+ my @out = parseparamlist($out);
+
+ # Try in vain to keep people from editing this file.
+ # The theory is that they jump into the middle of the file
+ # without reading the header.
+ $text .= "// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT\n\n";
+
+ # Go function header.
+ my $out_decl = @out ? sprintf(" (%s)", join(', ', @out)) : "";
+ $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out_decl;
+
+ # Check if err return available
+ my $errvar = "";
+ foreach my $p (@out) {
+ my ($name, $type) = parseparam($p);
+ if($type eq "error") {
+ $errvar = $name;
+ last;
+ }
+ }
+
+ # Prepare arguments to Syscall.
+ my @args = ();
+ my $n = 0;
+ foreach my $p (@in) {
+ my ($name, $type) = parseparam($p);
+ if($type =~ /^\*/) {
+ push @args, "uintptr(unsafe.Pointer($name))";
+ } elsif($type eq "string" && $errvar ne "") {
+ $text .= "\tvar _p$n *byte\n";
+ $text .= "\t_p$n, $errvar = BytePtrFromString($name)\n";
+ $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type eq "string") {
+ print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
+ $text .= "\tvar _p$n *byte\n";
+ $text .= "\t_p$n, _ = BytePtrFromString($name)\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type =~ /^\[\](.*)/) {
+ # Convert slice into pointer, length.
+ # Have to be careful not to take address of &a[0] if len == 0:
+ # pass dummy pointer in that case.
+ # Used to pass nil, but some OSes or simulators reject write(fd, nil, 0).
+ $text .= "\tvar _p$n unsafe.Pointer\n";
+ $text .= "\tif len($name) > 0 {\n\t\t_p$n = unsafe.Pointer(\&${name}[0])\n\t}";
+ $text .= " else {\n\t\t_p$n = unsafe.Pointer(&_zero)\n\t}";
+ $text .= "\n";
+ push @args, "uintptr(_p$n)", "uintptr(len($name))";
+ $n++;
+ } elsif($type eq "int64" && ($openbsd || $netbsd)) {
+ push @args, "0";
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } elsif($_32bit eq "little-endian") {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ } else {
+ push @args, "uintptr($name)";
+ }
+ } elsif($type eq "int64" && $dragonfly) {
+ if ($func !~ /^extp(read|write)/i) {
+ push @args, "0";
+ }
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } elsif($_32bit eq "little-endian") {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ } else {
+ push @args, "uintptr($name)";
+ }
+ } elsif($type eq "int64" && $_32bit ne "") {
+ if(@args % 2 && $arm) {
+ # arm abi specifies 64-bit argument uses
+ # (even, odd) pair
+ push @args, "0"
+ }
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name>>32)", "uintptr($name)";
+ } else {
+ push @args, "uintptr($name)", "uintptr($name>>32)";
+ }
+ } else {
+ push @args, "uintptr($name)";
+ }
+ }
+
+ # Determine which form to use; pad args with zeros.
+ my $asm = "Syscall";
+ if ($nonblock) {
+ $asm = "RawSyscall";
+ }
+ if(@args <= 3) {
+ while(@args < 3) {
+ push @args, "0";
+ }
+ } elsif(@args <= 6) {
+ $asm .= "6";
+ while(@args < 6) {
+ push @args, "0";
+ }
+ } elsif(@args <= 9) {
+ $asm .= "9";
+ while(@args < 9) {
+ push @args, "0";
+ }
+ } else {
+ print STDERR "$ARGV:$.: too many arguments to system call\n";
+ }
+
+ # System call number.
+ if($sysname eq "") {
+ $sysname = "SYS_$func";
+ $sysname =~ s/([a-z])([A-Z])/${1}_$2/g; # turn FooBar into Foo_Bar
+ $sysname =~ y/a-z/A-Z/;
+ }
+
+ # Actual call.
+ my $args = join(', ', @args);
+ my $call = "$asm($sysname, $args)";
+
+ # Assign return values.
+ my $body = "";
+ my @ret = ("_", "_", "_");
+ my $do_errno = 0;
+ for(my $i=0; $i<@out; $i++) {
+ my $p = $out[$i];
+ my ($name, $type) = parseparam($p);
+ my $reg = "";
+ if($name eq "err" && !$plan9) {
+ $reg = "e1";
+ $ret[2] = $reg;
+ $do_errno = 1;
+ } elsif($name eq "err" && $plan9) {
+ $ret[0] = "r0";
+ $ret[2] = "e1";
+ next;
+ } else {
+ $reg = sprintf("r%d", $i);
+ $ret[$i] = $reg;
+ }
+ if($type eq "bool") {
+ $reg = "$reg != 0";
+ }
+ if($type eq "int64" && $_32bit ne "") {
+ # 64-bit number in r1:r0 or r0:r1.
+ if($i+2 > @out) {
+ print STDERR "$ARGV:$.: not enough registers for int64 return\n";
+ }
+ if($_32bit eq "big-endian") {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1);
+ } else {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i);
+ }
+ $ret[$i] = sprintf("r%d", $i);
+ $ret[$i+1] = sprintf("r%d", $i+1);
+ }
+ if($reg ne "e1" || $plan9) {
+ $body .= "\t$name = $type($reg)\n";
+ }
+ }
+ if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") {
+ $text .= "\t$call\n";
+ } else {
+ $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
+ }
+ $text .= $body;
+
+ if ($plan9 && $ret[2] eq "e1") {
+ $text .= "\tif int32(r0) == -1 {\n";
+ $text .= "\t\terr = e1\n";
+ $text .= "\t}\n";
+ } elsif ($do_errno) {
+ $text .= "\tif e1 != 0 {\n";
+ $text .= "\t\terr = errnoErr(e1)\n";
+ $text .= "\t}\n";
+ }
+ $text .= "\treturn\n";
+ $text .= "}\n\n";
+}
+
+chomp $text;
+chomp $text;
+
+if($errors) {
+ exit 1;
+}
+
+print <<EOF;
+// $cmdline
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $tags
+
+package unix
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+var _ syscall.Errno
+
+$text
+EOF
+exit 0;
diff --git a/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
new file mode 100755
index 00000000..3e6ed9df
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
@@ -0,0 +1,289 @@
+#!/usr/bin/env perl
+# 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 program reads a file containing function prototypes
+# (like syscall_solaris.go) and generates system call bodies.
+# The prototypes are marked by lines beginning with "//sys"
+# and read like func declarations if //sys is replaced by func, but:
+# * The parameter lists must give a name for each argument.
+# This includes return parameters.
+# * The parameter lists must give a type for each argument:
+# the (x, y, z int) shorthand is not allowed.
+# * If the return parameter is an error number, it must be named err.
+# * If go func name needs to be different than its libc name,
+# * or the function is not in libc, name could be specified
+# * at the end, after "=" sign, like
+# //sys getsockopt(s int, level int, name int, val uintptr, vallen *_Socklen) (err error) = libsocket.getsockopt
+
+use strict;
+
+my $cmdline = "mksyscall_solaris.pl " . join(' ', @ARGV);
+my $errors = 0;
+my $_32bit = "";
+my $tags = ""; # build tags
+
+binmode STDOUT;
+
+if($ARGV[0] eq "-b32") {
+ $_32bit = "big-endian";
+ shift;
+} elsif($ARGV[0] eq "-l32") {
+ $_32bit = "little-endian";
+ shift;
+}
+if($ARGV[0] eq "-tags") {
+ shift;
+ $tags = $ARGV[0];
+ shift;
+}
+
+if($ARGV[0] =~ /^-/) {
+ print STDERR "usage: mksyscall_solaris.pl [-b32 | -l32] [-tags x,y] [file ...]\n";
+ exit 1;
+}
+
+sub parseparamlist($) {
+ my ($list) = @_;
+ $list =~ s/^\s*//;
+ $list =~ s/\s*$//;
+ if($list eq "") {
+ return ();
+ }
+ return split(/\s*,\s*/, $list);
+}
+
+sub parseparam($) {
+ my ($p) = @_;
+ if($p !~ /^(\S*) (\S*)$/) {
+ print STDERR "$ARGV:$.: malformed parameter: $p\n";
+ $errors = 1;
+ return ("xx", "int");
+ }
+ return ($1, $2);
+}
+
+my $package = "";
+my $text = "";
+my $dynimports = "";
+my $linknames = "";
+my @vars = ();
+while(<>) {
+ chomp;
+ s/\s+/ /g;
+ s/^\s+//;
+ s/\s+$//;
+ $package = $1 if !$package && /^package (\S+)$/;
+ my $nonblock = /^\/\/sysnb /;
+ next if !/^\/\/sys / && !$nonblock;
+
+ # Line must be of the form
+ # func Open(path string, mode int, perm int) (fd int, err error)
+ # Split into name, in params, out params.
+ if(!/^\/\/sys(nb)? (\w+)\(([^()]*)\)\s*(?:\(([^()]+)\))?\s*(?:=\s*(?:(\w*)\.)?(\w*))?$/) {
+ print STDERR "$ARGV:$.: malformed //sys declaration\n";
+ $errors = 1;
+ next;
+ }
+ my ($nb, $func, $in, $out, $modname, $sysname) = ($1, $2, $3, $4, $5, $6);
+
+ # Split argument lists on comma.
+ my @in = parseparamlist($in);
+ my @out = parseparamlist($out);
+
+ # So file name.
+ if($modname eq "") {
+ $modname = "libc";
+ }
+
+ # System call name.
+ if($sysname eq "") {
+ $sysname = "$func";
+ }
+
+ # System call pointer variable name.
+ my $sysvarname = "proc$sysname";
+
+ my $strconvfunc = "BytePtrFromString";
+ my $strconvtype = "*byte";
+
+ $sysname =~ y/A-Z/a-z/; # All libc functions are lowercase.
+
+ # Runtime import of function to allow cross-platform builds.
+ $dynimports .= "//go:cgo_import_dynamic libc_${sysname} ${sysname} \"$modname.so\"\n";
+ # Link symbol to proc address variable.
+ $linknames .= "//go:linkname ${sysvarname} libc_${sysname}\n";
+ # Library proc address variable.
+ push @vars, $sysvarname;
+
+ # Go function header.
+ $out = join(', ', @out);
+ if($out ne "") {
+ $out = " ($out)";
+ }
+ if($text ne "") {
+ $text .= "\n"
+ }
+ $text .= sprintf "func %s(%s)%s {\n", $func, join(', ', @in), $out;
+
+ # Check if err return available
+ my $errvar = "";
+ foreach my $p (@out) {
+ my ($name, $type) = parseparam($p);
+ if($type eq "error") {
+ $errvar = $name;
+ last;
+ }
+ }
+
+ # Prepare arguments to Syscall.
+ my @args = ();
+ my $n = 0;
+ foreach my $p (@in) {
+ my ($name, $type) = parseparam($p);
+ if($type =~ /^\*/) {
+ push @args, "uintptr(unsafe.Pointer($name))";
+ } elsif($type eq "string" && $errvar ne "") {
+ $text .= "\tvar _p$n $strconvtype\n";
+ $text .= "\t_p$n, $errvar = $strconvfunc($name)\n";
+ $text .= "\tif $errvar != nil {\n\t\treturn\n\t}\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type eq "string") {
+ print STDERR "$ARGV:$.: $func uses string arguments, but has no error return\n";
+ $text .= "\tvar _p$n $strconvtype\n";
+ $text .= "\t_p$n, _ = $strconvfunc($name)\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))";
+ $n++;
+ } elsif($type =~ /^\[\](.*)/) {
+ # Convert slice into pointer, length.
+ # Have to be careful not to take address of &a[0] if len == 0:
+ # pass nil in that case.
+ $text .= "\tvar _p$n *$1\n";
+ $text .= "\tif len($name) > 0 {\n\t\t_p$n = \&$name\[0]\n\t}\n";
+ push @args, "uintptr(unsafe.Pointer(_p$n))", "uintptr(len($name))";
+ $n++;
+ } elsif($type eq "int64" && $_32bit ne "") {
+ if($_32bit eq "big-endian") {
+ push @args, "uintptr($name >> 32)", "uintptr($name)";
+ } else {
+ push @args, "uintptr($name)", "uintptr($name >> 32)";
+ }
+ } elsif($type eq "bool") {
+ $text .= "\tvar _p$n uint32\n";
+ $text .= "\tif $name {\n\t\t_p$n = 1\n\t} else {\n\t\t_p$n = 0\n\t}\n";
+ push @args, "uintptr(_p$n)";
+ $n++;
+ } else {
+ push @args, "uintptr($name)";
+ }
+ }
+ my $nargs = @args;
+
+ # Determine which form to use; pad args with zeros.
+ my $asm = "sysvicall6";
+ if ($nonblock) {
+ $asm = "rawSysvicall6";
+ }
+ if(@args <= 6) {
+ while(@args < 6) {
+ push @args, "0";
+ }
+ } else {
+ print STDERR "$ARGV:$.: too many arguments to system call\n";
+ }
+
+ # Actual call.
+ my $args = join(', ', @args);
+ my $call = "$asm(uintptr(unsafe.Pointer(&$sysvarname)), $nargs, $args)";
+
+ # Assign return values.
+ my $body = "";
+ my $failexpr = "";
+ my @ret = ("_", "_", "_");
+ my @pout= ();
+ my $do_errno = 0;
+ for(my $i=0; $i<@out; $i++) {
+ my $p = $out[$i];
+ my ($name, $type) = parseparam($p);
+ my $reg = "";
+ if($name eq "err") {
+ $reg = "e1";
+ $ret[2] = $reg;
+ $do_errno = 1;
+ } else {
+ $reg = sprintf("r%d", $i);
+ $ret[$i] = $reg;
+ }
+ if($type eq "bool") {
+ $reg = "$reg != 0";
+ }
+ if($type eq "int64" && $_32bit ne "") {
+ # 64-bit number in r1:r0 or r0:r1.
+ if($i+2 > @out) {
+ print STDERR "$ARGV:$.: not enough registers for int64 return\n";
+ }
+ if($_32bit eq "big-endian") {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i, $i+1);
+ } else {
+ $reg = sprintf("int64(r%d)<<32 | int64(r%d)", $i+1, $i);
+ }
+ $ret[$i] = sprintf("r%d", $i);
+ $ret[$i+1] = sprintf("r%d", $i+1);
+ }
+ if($reg ne "e1") {
+ $body .= "\t$name = $type($reg)\n";
+ }
+ }
+ if ($ret[0] eq "_" && $ret[1] eq "_" && $ret[2] eq "_") {
+ $text .= "\t$call\n";
+ } else {
+ $text .= "\t$ret[0], $ret[1], $ret[2] := $call\n";
+ }
+ $text .= $body;
+
+ if ($do_errno) {
+ $text .= "\tif e1 != 0 {\n";
+ $text .= "\t\terr = e1\n";
+ $text .= "\t}\n";
+ }
+ $text .= "\treturn\n";
+ $text .= "}\n";
+}
+
+if($errors) {
+ exit 1;
+}
+
+print <<EOF;
+// $cmdline
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $tags
+
+package $package
+
+import (
+ "syscall"
+ "unsafe"
+)
+EOF
+
+print "import \"golang.org/x/sys/unix\"\n" if $package ne "unix";
+
+my $vardecls = "\t" . join(",\n\t", @vars);
+$vardecls .= " syscallFunc";
+
+chomp($_=<<EOF);
+
+$dynimports
+$linknames
+var (
+$vardecls
+)
+
+$text
+EOF
+print $_;
+exit 0;
diff --git a/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
new file mode 100755
index 00000000..be67afa4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
@@ -0,0 +1,264 @@
+#!/usr/bin/env perl
+
+# 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.
+
+#
+# Parse the header files for OpenBSD and generate a Go usable sysctl MIB.
+#
+# Build a MIB with each entry being an array containing the level, type and
+# a hash that will contain additional entries if the current entry is a node.
+# We then walk this MIB and create a flattened sysctl name to OID hash.
+#
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $debug = 0;
+my %ctls = ();
+
+my @headers = qw (
+ sys/sysctl.h
+ sys/socket.h
+ sys/tty.h
+ sys/malloc.h
+ sys/mount.h
+ sys/namei.h
+ sys/sem.h
+ sys/shm.h
+ sys/vmmeter.h
+ uvm/uvm_param.h
+ uvm/uvm_swap_encrypt.h
+ ddb/db_var.h
+ net/if.h
+ net/if_pfsync.h
+ net/pipex.h
+ netinet/in.h
+ netinet/icmp_var.h
+ netinet/igmp_var.h
+ netinet/ip_ah.h
+ netinet/ip_carp.h
+ netinet/ip_divert.h
+ netinet/ip_esp.h
+ netinet/ip_ether.h
+ netinet/ip_gre.h
+ netinet/ip_ipcomp.h
+ netinet/ip_ipip.h
+ netinet/pim_var.h
+ netinet/tcp_var.h
+ netinet/udp_var.h
+ netinet6/in6.h
+ netinet6/ip6_divert.h
+ netinet6/pim6_var.h
+ netinet/icmp6.h
+ netmpls/mpls.h
+);
+
+my @ctls = qw (
+ kern
+ vm
+ fs
+ net
+ #debug # Special handling required
+ hw
+ #machdep # Arch specific
+ user
+ ddb
+ #vfs # Special handling required
+ fs.posix
+ kern.forkstat
+ kern.intrcnt
+ kern.malloc
+ kern.nchstats
+ kern.seminfo
+ kern.shminfo
+ kern.timecounter
+ kern.tty
+ kern.watchdog
+ net.bpf
+ net.ifq
+ net.inet
+ net.inet.ah
+ net.inet.carp
+ net.inet.divert
+ net.inet.esp
+ net.inet.etherip
+ net.inet.gre
+ net.inet.icmp
+ net.inet.igmp
+ net.inet.ip
+ net.inet.ip.ifq
+ net.inet.ipcomp
+ net.inet.ipip
+ net.inet.mobileip
+ net.inet.pfsync
+ net.inet.pim
+ net.inet.tcp
+ net.inet.udp
+ net.inet6
+ net.inet6.divert
+ net.inet6.ip6
+ net.inet6.icmp6
+ net.inet6.pim6
+ net.inet6.tcp6
+ net.inet6.udp6
+ net.mpls
+ net.mpls.ifq
+ net.key
+ net.pflow
+ net.pfsync
+ net.pipex
+ net.rt
+ vm.swapencrypt
+ #vfsgenctl # Special handling required
+);
+
+# Node name "fixups"
+my %ctl_map = (
+ "ipproto" => "net.inet",
+ "net.inet.ipproto" => "net.inet",
+ "net.inet6.ipv6proto" => "net.inet6",
+ "net.inet6.ipv6" => "net.inet6.ip6",
+ "net.inet.icmpv6" => "net.inet6.icmp6",
+ "net.inet6.divert6" => "net.inet6.divert",
+ "net.inet6.tcp6" => "net.inet.tcp",
+ "net.inet6.udp6" => "net.inet.udp",
+ "mpls" => "net.mpls",
+ "swpenc" => "vm.swapencrypt"
+);
+
+# Node mappings
+my %node_map = (
+ "net.inet.ip.ifq" => "net.ifq",
+ "net.inet.pfsync" => "net.pfsync",
+ "net.mpls.ifq" => "net.ifq"
+);
+
+my $ctlname;
+my %mib = ();
+my %sysctl = ();
+my $node;
+
+sub debug() {
+ print STDERR "$_[0]\n" if $debug;
+}
+
+# Walk the MIB and build a sysctl name to OID mapping.
+sub build_sysctl() {
+ my ($node, $name, $oid) = @_;
+ my %node = %{$node};
+ my @oid = @{$oid};
+
+ foreach my $key (sort keys %node) {
+ my @node = @{$node{$key}};
+ my $nodename = $name.($name ne '' ? '.' : '').$key;
+ my @nodeoid = (@oid, $node[0]);
+ if ($node[1] eq 'CTLTYPE_NODE') {
+ if (exists $node_map{$nodename}) {
+ $node = \%mib;
+ $ctlname = $node_map{$nodename};
+ foreach my $part (split /\./, $ctlname) {
+ $node = \%{@{$$node{$part}}[2]};
+ }
+ } else {
+ $node = $node[2];
+ }
+ &build_sysctl($node, $nodename, \@nodeoid);
+ } elsif ($node[1] ne '') {
+ $sysctl{$nodename} = \@nodeoid;
+ }
+ }
+}
+
+foreach my $ctl (@ctls) {
+ $ctls{$ctl} = $ctl;
+}
+
+# Build MIB
+foreach my $header (@headers) {
+ &debug("Processing $header...");
+ open HEADER, "/usr/include/$header" ||
+ print STDERR "Failed to open $header\n";
+ while (<HEADER>) {
+ if ($_ =~ /^#define\s+(CTL_NAMES)\s+{/ ||
+ $_ =~ /^#define\s+(CTL_(.*)_NAMES)\s+{/ ||
+ $_ =~ /^#define\s+((.*)CTL_NAMES)\s+{/) {
+ if ($1 eq 'CTL_NAMES') {
+ # Top level.
+ $node = \%mib;
+ } else {
+ # Node.
+ my $nodename = lc($2);
+ if ($header =~ /^netinet\//) {
+ $ctlname = "net.inet.$nodename";
+ } elsif ($header =~ /^netinet6\//) {
+ $ctlname = "net.inet6.$nodename";
+ } elsif ($header =~ /^net\//) {
+ $ctlname = "net.$nodename";
+ } else {
+ $ctlname = "$nodename";
+ $ctlname =~ s/^(fs|net|kern)_/$1\./;
+ }
+ if (exists $ctl_map{$ctlname}) {
+ $ctlname = $ctl_map{$ctlname};
+ }
+ if (not exists $ctls{$ctlname}) {
+ &debug("Ignoring $ctlname...");
+ next;
+ }
+
+ # Walk down from the top of the MIB.
+ $node = \%mib;
+ foreach my $part (split /\./, $ctlname) {
+ if (not exists $$node{$part}) {
+ &debug("Missing node $part");
+ $$node{$part} = [ 0, '', {} ];
+ }
+ $node = \%{@{$$node{$part}}[2]};
+ }
+ }
+
+ # Populate current node with entries.
+ my $i = -1;
+ while (defined($_) && $_ !~ /^}/) {
+ $_ = <HEADER>;
+ $i++ if $_ =~ /{.*}/;
+ next if $_ !~ /{\s+"(\w+)",\s+(CTLTYPE_[A-Z]+)\s+}/;
+ $$node{$1} = [ $i, $2, {} ];
+ }
+ }
+ }
+ close HEADER;
+}
+
+&build_sysctl(\%mib, "", []);
+
+print <<EOF;
+// mksysctl_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix;
+
+type mibentry struct {
+ ctlname string
+ ctloid []_C_int
+}
+
+var sysctlMib = []mibentry {
+EOF
+
+foreach my $name (sort keys %sysctl) {
+ my @oid = @{$sysctl{$name}};
+ print "\t{ \"$name\", []_C_int{ ", join(', ', @oid), " } }, \n";
+}
+
+print <<EOF;
+}
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl b/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
new file mode 100755
index 00000000..5453c53b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/env perl
+# 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 system call table for Darwin from sys/syscall.h
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $command = "mksysnum_darwin.pl " . join(' ', @ARGV);
+
+print <<EOF;
+// $command
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix
+
+const (
+EOF
+
+while(<>){
+ if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){
+ my $name = $1;
+ my $num = $2;
+ $name =~ y/a-z/A-Z/;
+ print " SYS_$name = $num;"
+ }
+}
+
+print <<EOF;
+)
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl b/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
new file mode 100755
index 00000000..6804f412
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/env perl
+# 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 system call table for DragonFly from master list
+# (for example, /usr/src/sys/kern/syscalls.master).
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $command = "mksysnum_dragonfly.pl " . join(' ', @ARGV);
+
+print <<EOF;
+// $command
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix
+
+const (
+EOF
+
+while(<>){
+ if(/^([0-9]+)\s+STD\s+({ \S+\s+(\w+).*)$/){
+ my $num = $1;
+ my $proto = $2;
+ my $name = "SYS_$3";
+ $name =~ y/a-z/A-Z/;
+
+ # There are multiple entries for enosys and nosys, so comment them out.
+ if($name =~ /^SYS_E?NOSYS$/){
+ $name = "// $name";
+ }
+ if($name eq 'SYS_SYS_EXIT'){
+ $name = 'SYS_EXIT';
+ }
+
+ print " $name = $num; // $proto\n";
+ }
+}
+
+print <<EOF;
+)
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
new file mode 100755
index 00000000..a0a22bf5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/env perl
+# 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 system call table for FreeBSD from master list
+# (for example, /usr/src/sys/kern/syscalls.master).
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $command = "mksysnum_freebsd.pl " . join(' ', @ARGV);
+
+print <<EOF;
+// $command
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix
+
+const (
+EOF
+
+while(<>){
+ if(/^([0-9]+)\s+\S+\s+STD\s+({ \S+\s+(\w+).*)$/){
+ my $num = $1;
+ my $proto = $2;
+ my $name = "SYS_$3";
+ $name =~ y/a-z/A-Z/;
+
+ # There are multiple entries for enosys and nosys, so comment them out.
+ if($name =~ /^SYS_E?NOSYS$/){
+ $name = "// $name";
+ }
+ if($name eq 'SYS_SYS_EXIT'){
+ $name = 'SYS_EXIT';
+ }
+
+ print " $name = $num; // $proto\n";
+ }
+}
+
+print <<EOF;
+)
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
new file mode 100755
index 00000000..85988b14
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
@@ -0,0 +1,58 @@
+#!/usr/bin/env perl
+# 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 system call table for OpenBSD from master list
+# (for example, /usr/src/sys/kern/syscalls.master).
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $command = "mksysnum_netbsd.pl " . join(' ', @ARGV);
+
+print <<EOF;
+// $command
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix
+
+const (
+EOF
+
+my $line = '';
+while(<>){
+ if($line =~ /^(.*)\\$/) {
+ # Handle continuation
+ $line = $1;
+ $_ =~ s/^\s+//;
+ $line .= $_;
+ } else {
+ # New line
+ $line = $_;
+ }
+ next if $line =~ /\\$/;
+ if($line =~ /^([0-9]+)\s+((STD)|(NOERR))\s+(RUMP\s+)?({\s+\S+\s*\*?\s*\|(\S+)\|(\S*)\|(\w+).*\s+})(\s+(\S+))?$/) {
+ my $num = $1;
+ my $proto = $6;
+ my $compat = $8;
+ my $name = "$7_$9";
+
+ $name = "$7_$11" if $11 ne '';
+ $name =~ y/a-z/A-Z/;
+
+ if($compat eq '' || $compat eq '13' || $compat eq '30' || $compat eq '50') {
+ print " $name = $num; // $proto\n";
+ }
+ }
+}
+
+print <<EOF;
+)
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl b/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
new file mode 100755
index 00000000..84edf60c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
@@ -0,0 +1,50 @@
+#!/usr/bin/env perl
+# 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 system call table for OpenBSD from master list
+# (for example, /usr/src/sys/kern/syscalls.master).
+
+use strict;
+
+if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") {
+ print STDERR "GOARCH or GOOS not defined in environment\n";
+ exit 1;
+}
+
+my $command = "mksysnum_openbsd.pl " . join(' ', @ARGV);
+
+print <<EOF;
+// $command
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build $ENV{'GOARCH'},$ENV{'GOOS'}
+
+package unix
+
+const (
+EOF
+
+while(<>){
+ if(/^([0-9]+)\s+STD\s+(NOLOCK\s+)?({ \S+\s+\*?(\w+).*)$/){
+ my $num = $1;
+ my $proto = $3;
+ my $name = $4;
+ $name =~ y/a-z/A-Z/;
+
+ # There are multiple entries for enosys and nosys, so comment them out.
+ if($name =~ /^SYS_E?NOSYS$/){
+ $name = "// $name";
+ }
+ if($name eq 'SYS_SYS_EXIT'){
+ $name = 'SYS_EXIT';
+ }
+
+ print " $name = $num; // $proto\n";
+ }
+}
+
+print <<EOF;
+)
+EOF
diff --git a/vendor/golang.org/x/sys/unix/mmap_unix_test.go b/vendor/golang.org/x/sys/unix/mmap_unix_test.go
new file mode 100644
index 00000000..8de55fea
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/mmap_unix_test.go
@@ -0,0 +1,35 @@
+// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package unix_test
+
+import (
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestMmap(t *testing.T) {
+ b, err := unix.Mmap(-1, 0, unix.Getpagesize(), unix.PROT_NONE, unix.MAP_ANON|unix.MAP_PRIVATE)
+ if err != nil {
+ t.Fatalf("Mmap: %v", err)
+ }
+ if err := unix.Mprotect(b, unix.PROT_WRITE); err != nil {
+ t.Fatalf("Mprotect: %v", err)
+ }
+
+ b[0] = 42
+
+ if err := unix.Msync(b, unix.MS_SYNC); err != nil {
+ t.Fatalf("Msync: %v", err)
+ }
+ if err := unix.Madvise(b, unix.MADV_DONTNEED); err != nil {
+ t.Fatalf("Madvise: %v", err)
+ }
+ if err := unix.Munmap(b); err != nil {
+ t.Fatalf("Munmap: %v", err)
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go
new file mode 100644
index 00000000..db4f72ea
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/openbsd_pledge.go
@@ -0,0 +1,38 @@
+// 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 openbsd
+// +build 386 amd64 arm
+
+package unix
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+const (
+ SYS_PLEDGE = 108
+)
+
+// Pledge implements the pledge syscall. For more information see pledge(2).
+func Pledge(promises string, paths []string) error {
+ promisesPtr, err := syscall.BytePtrFromString(promises)
+ if err != nil {
+ return err
+ }
+ promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil)
+ if paths != nil {
+ var pathsPtr []*byte
+ if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil {
+ return err
+ }
+ pathsUnsafe = unsafe.Pointer(&pathsPtr[0])
+ }
+ _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0)
+ if e != 0 {
+ return e
+ }
+ return nil
+}
diff --git a/vendor/golang.org/x/sys/unix/openbsd_test.go b/vendor/golang.org/x/sys/unix/openbsd_test.go
new file mode 100644
index 00000000..734d7658
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/openbsd_test.go
@@ -0,0 +1,113 @@
+// 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 openbsd
+
+// This, on the face of it, bizarre testing mechanism is necessary because
+// the only reliable way to gauge whether or not a pledge(2) call has succeeded
+// is that the program has been killed as a result of breaking its pledge.
+
+package unix_test
+
+import (
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+type testProc struct {
+ fn func() // should always exit instead of returning
+ cleanup func() error // for instance, delete coredumps from testing pledge
+ success bool // whether zero-exit means success or failure
+}
+
+var (
+ testProcs = map[string]testProc{}
+ procName = ""
+)
+
+const (
+ optName = "sys-unix-internal-procname"
+)
+
+func init() {
+ flag.StringVar(&procName, optName, "", "internal use only")
+}
+
+// testCmd generates a proper command that, when executed, runs the test
+// corresponding to the given key.
+func testCmd(procName string) (*exec.Cmd, error) {
+ exe, err := filepath.Abs(os.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ cmd := exec.Command(exe, "-"+optName+"="+procName)
+ cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
+ return cmd, nil
+}
+
+// ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing
+// a testProc with a key.
+func ExitsCorrectly(procName string, t *testing.T) {
+ s := testProcs[procName]
+ c, err := testCmd(procName)
+ defer func() {
+ if s.cleanup() != nil {
+ t.Fatalf("Failed to run cleanup for %s", procName)
+ }
+ }()
+ if err != nil {
+ t.Fatalf("Failed to construct command for %s", procName)
+ }
+ if (c.Run() == nil) != s.success {
+ result := "succeed"
+ if !s.success {
+ result = "fail"
+ }
+ t.Fatalf("Process did not %s when it was supposed to", result)
+ }
+}
+
+func TestMain(m *testing.M) {
+ flag.Parse()
+ if procName != "" {
+ testProcs[procName].fn()
+ }
+ os.Exit(m.Run())
+}
+
+// For example, add a test for pledge.
+func init() {
+ testProcs["pledge"] = testProc{
+ func() {
+ fmt.Println(unix.Pledge("", nil))
+ os.Exit(0)
+ },
+ func() error {
+ files, err := ioutil.ReadDir(".")
+ if err != nil {
+ return err
+ }
+ for _, file := range files {
+ if filepath.Ext(file.Name()) == ".core" {
+ if err := os.Remove(file.Name()); err != nil {
+ return err
+ }
+ }
+ }
+ return nil
+ },
+ false,
+ }
+}
+
+func TestPledge(t *testing.T) {
+ ExitsCorrectly("pledge", t)
+}
diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go
new file mode 100644
index 00000000..45afcf72
--- /dev/null
+++ b/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 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/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go
new file mode 100644
index 00000000..3c7627eb
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go
new file mode 100644
index 00000000..f8678e0d
--- /dev/null
+++ b/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 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/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
new file mode 100644
index 00000000..d9ff4731
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
new file mode 100644
index 00000000..bb756ece
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
@@ -0,0 +1,104 @@
+// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+// Socket control messages
+
+package unix
+
+import "unsafe"
+
+// Round the length of a raw sockaddr up to align it properly.
+func cmsgAlignOf(salen int) int {
+ salign := sizeofPtr
+ // NOTE: It seems like 64-bit Darwin, DragonFly BSD and
+ // Solaris kernels still require 32-bit aligned access to
+ // network subsystem.
+ if darwin64Bit || dragonfly64Bit || solaris64Bit {
+ salign = 4
+ }
+ 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/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go
new file mode 100644
index 00000000..35ed6643
--- /dev/null
+++ b/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 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/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go
new file mode 100644
index 00000000..85e35020
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall.go
@@ -0,0 +1,69 @@
+// 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 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"
+
+// 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) {
+ for i := 0; i < len(s); i++ {
+ if s[i] == 0 {
+ 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.
+// See mkunix.pl.
+var _zero uintptr
+
+func (ts *Timespec) Unix() (sec int64, nsec int64) {
+ return int64(ts.Sec), int64(ts.Nsec)
+}
+
+func (tv *Timeval) Unix() (sec int64, nsec int64) {
+ return int64(tv.Sec), int64(tv.Usec) * 1000
+}
+
+func (ts *Timespec) Nano() int64 {
+ return int64(ts.Sec)*1e9 + int64(ts.Nsec)
+}
+
+func (tv *Timeval) Nano() int64 {
+ return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
+}
+
+func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
new file mode 100644
index 00000000..c2846b32
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -0,0 +1,635 @@
+// 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])
+}
+
+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)
+}
+
+// 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 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(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(&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(&rsa)
+}
+
+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
+
+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 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
+}
+
+//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(&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
+ }
+ 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
+ }
+ 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)
+
+// 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/vendor/golang.org/x/sys/unix/syscall_bsd_test.go b/vendor/golang.org/x/sys/unix/syscall_bsd_test.go
new file mode 100644
index 00000000..d8085a07
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd_test.go
@@ -0,0 +1,62 @@
+// 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 darwin dragonfly freebsd openbsd
+
+package unix_test
+
+import (
+ "os/exec"
+ "runtime"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+const MNT_WAIT = 1
+const MNT_NOWAIT = 2
+
+func TestGetfsstat(t *testing.T) {
+ const flags = MNT_NOWAIT // see golang.org/issue/16937
+ n, err := unix.Getfsstat(nil, flags)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ data := make([]unix.Statfs_t, n)
+ n2, err := unix.Getfsstat(data, flags)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if n != n2 {
+ t.Errorf("Getfsstat(nil) = %d, but subsequent Getfsstat(slice) = %d", n, n2)
+ }
+ for i, stat := range data {
+ if stat == (unix.Statfs_t{}) {
+ t.Errorf("index %v is an empty Statfs_t struct", i)
+ }
+ }
+ if t.Failed() {
+ for i, stat := range data[:n2] {
+ t.Logf("data[%v] = %+v", i, stat)
+ }
+ mount, err := exec.Command("mount").CombinedOutput()
+ if err != nil {
+ t.Logf("mount: %v\n%s", err, mount)
+ } else {
+ t.Logf("mount: %s", mount)
+ }
+ }
+}
+
+func TestSysctlRaw(t *testing.T) {
+ if runtime.GOOS == "openbsd" {
+ t.Skip("kern.proc.pid does not exist on OpenBSD")
+ }
+
+ _, err := unix.SysctlRaw("kern.proc.pid", unix.Getpid())
+ if err != nil {
+ t.Fatal(err)
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
new file mode 100644
index 00000000..ad74a11f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -0,0 +1,536 @@
+// 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 (
+ errorspkg "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
+}
+
+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, errorspkg.New("attrBuf too small")
+ }
+ attrList.bitmapCount = attrBitMapCount
+
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return nil, err
+ }
+
+ _, _, e1 := Syscall6(
+ SYS_GETATTRLIST,
+ uintptr(unsafe.Pointer(_p0)),
+ uintptr(unsafe.Pointer(&attrList)),
+ uintptr(unsafe.Pointer(&attrBuf[0])),
+ uintptr(len(attrBuf)),
+ uintptr(options),
+ 0,
+ )
+ if e1 != 0 {
+ return nil, e1
+ }
+ 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, errorspkg.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, errorspkg.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
+}
+
+//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))
+ }
+ r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+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
+}
+
+/*
+ * 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 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 Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
+//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
+//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_GETDIRENTRIES64
+//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 Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
+//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 Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
+//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
+//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
+// Poll
+// 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
+// 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/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
new file mode 100644
index 00000000..76634f7a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
@@ -0,0 +1,75 @@
+// 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"
+ "unsafe"
+)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int32(nsec / 1e9)
+ return
+}
+
+//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 sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+ var length = uint64(count)
+
+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
+
+ written = int(length)
+
+ 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)
+
+// 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
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
new file mode 100644
index 00000000..7be02dab
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
@@ -0,0 +1,75 @@
+// 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"
+ "unsafe"
+)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+//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 sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+ var length = uint64(count)
+
+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)
+
+ written = int(length)
+
+ 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)
+
+// 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
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
new file mode 100644
index 00000000..26b66972
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
@@ -0,0 +1,69 @@
+// 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"
+ "unsafe"
+)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int32(nsec / 1e9)
+ return
+}
+
+//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 sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+ var length = uint64(count)
+
+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0)
+
+ written = int(length)
+
+ 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) // sic
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
new file mode 100644
index 00000000..4d67a874
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
@@ -0,0 +1,75 @@
+// 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"
+ "unsafe"
+)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+//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 sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+ var length = uint64(count)
+
+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0)
+
+ written = int(length)
+
+ 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) // 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
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
new file mode 100644
index 00000000..3a483373
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -0,0 +1,415 @@
+// 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"
+
+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(&rsa)
+ if err != nil {
+ Close(nfd)
+ nfd = 0
+ }
+ 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))
+ }
+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+/*
+ * 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 Fchdir(fd int) (err error)
+//sys Fchflags(fd int, flags int) (err error)
+//sys Fchmod(fd int, mode uint32) (err error)
+//sys Fchown(fd int, uid int, gid 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 Fstatfs(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 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 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 Mkfifo(path string, mode uint32) (err error)
+//sys Mknod(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 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 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 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 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
+// 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
+// Poll
+// 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
+// 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/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
new file mode 100644
index 00000000..6d8952d5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
@@ -0,0 +1,59 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = nsec % 1e9 / 1e3
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
new file mode 100644
index 00000000..d26e52ea
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -0,0 +1,708 @@
+// 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 "unsafe"
+
+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))
+}
+
+//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 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(&rsa)
+ if err != nil {
+ Close(nfd)
+ nfd = 0
+ }
+ 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))
+ }
+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+// Derive extattr namespace and attribute name
+
+func xattrnamespace(fullattr string) (ns int, attr string, err error) {
+ s := -1
+ for idx, val := range fullattr {
+ if val == '.' {
+ s = idx
+ break
+ }
+ }
+
+ 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 implements its 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) {
+ 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) {
+ 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) {
+ 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
+ var e error
+ 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 {
+ e = nil
+ continue
+ } else if e != nil {
+ return s, e
+ }
+
+ s += stmp
+ destsiz -= s
+ if destsiz < 0 {
+ destsiz = 0
+ }
+ d = initxattrdest(dest, s)
+ }
+
+ return s, e
+}
+
+func Flistxattr(fd int, dest []byte) (sz int, err error) {
+ d := initxattrdest(dest, 0)
+ destsiz := len(dest)
+
+ s := 0
+ var e error
+ 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 {
+ e = nil
+ continue
+ } else if e != nil {
+ return s, e
+ }
+
+ s += stmp
+ destsiz -= s
+ if destsiz < 0 {
+ destsiz = 0
+ }
+ d = initxattrdest(dest, s)
+ }
+
+ return s, e
+}
+
+func Llistxattr(link string, dest []byte) (sz int, err error) {
+ d := initxattrdest(dest, 0)
+ destsiz := len(dest)
+
+ s := 0
+ var e error
+ 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 {
+ e = nil
+ continue
+ } else if e != nil {
+ return s, e
+ }
+
+ s += stmp
+ destsiz -= s
+ if destsiz < 0 {
+ destsiz = 0
+ }
+ d = initxattrdest(dest, s)
+ }
+
+ return s, e
+}
+
+//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
+}
+
+/*
+ * 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_t) (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 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 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_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
+ */
+// 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
+// Poll
+// 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
+// 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
index 41c2e697..4cf5f453 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/syscall_dragonfly_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build 386,dragonfly
+// +build 386,freebsd
package unix
@@ -11,8 +11,6 @@ import (
"unsafe"
)
-func Getpagesize() int { return 4096 }
-
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
func NsecToTimespec(nsec int64) (ts Timespec) {
@@ -21,8 +19,6 @@ func NsecToTimespec(nsec int64) (ts Timespec) {
return
}
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
-
func NsecToTimeval(nsec int64) (tv Timeval) {
nsec += 999 // round up to microsecond
tv.Usec = int32(nsec % 1e9 / 1e3)
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
new file mode 100644
index 00000000..b8036e72
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
@@ -0,0 +1,59 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = nsec % 1e9 / 1e3
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
new file mode 100644
index 00000000..5a3bb6a1
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
@@ -0,0 +1,59 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = nsec / 1e9
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go
new file mode 100644
index 00000000..654439e0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_test.go
@@ -0,0 +1,297 @@
+// 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 freebsd
+
+package unix_test
+
+import (
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "os/exec"
+ "path"
+ "path/filepath"
+ "runtime"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestSysctlUint64(t *testing.T) {
+ _, err := unix.SysctlUint64("vm.swap_total")
+ if err != nil {
+ t.Fatal(err)
+ }
+}
+
+// FIXME: Infrastructure for launching tests in subprocesses stolen from openbsd_test.go - refactor?
+// testCmd generates a proper command that, when executed, runs the test
+// corresponding to the given key.
+
+type testProc struct {
+ fn func() // should always exit instead of returning
+ arg func(t *testing.T) string // generate argument for test
+ cleanup func(arg string) error // for instance, delete coredumps from testing pledge
+ success bool // whether zero-exit means success or failure
+}
+
+var (
+ testProcs = map[string]testProc{}
+ procName = ""
+ procArg = ""
+)
+
+const (
+ optName = "sys-unix-internal-procname"
+ optArg = "sys-unix-internal-arg"
+)
+
+func init() {
+ flag.StringVar(&procName, optName, "", "internal use only")
+ flag.StringVar(&procArg, optArg, "", "internal use only")
+
+}
+
+func testCmd(procName string, procArg string) (*exec.Cmd, error) {
+ exe, err := filepath.Abs(os.Args[0])
+ if err != nil {
+ return nil, err
+ }
+ cmd := exec.Command(exe, "-"+optName+"="+procName, "-"+optArg+"="+procArg)
+ cmd.Stdout, cmd.Stderr = os.Stdout, os.Stderr
+ return cmd, nil
+}
+
+// ExitsCorrectly is a comprehensive, one-line-of-use wrapper for testing
+// a testProc with a key.
+func ExitsCorrectly(t *testing.T, procName string) {
+ s := testProcs[procName]
+ arg := "-"
+ if s.arg != nil {
+ arg = s.arg(t)
+ }
+ c, err := testCmd(procName, arg)
+ defer func(arg string) {
+ if err := s.cleanup(arg); err != nil {
+ t.Fatalf("Failed to run cleanup for %s %s %#v", procName, err, err)
+ }
+ }(arg)
+ if err != nil {
+ t.Fatalf("Failed to construct command for %s", procName)
+ }
+ if (c.Run() == nil) != s.success {
+ result := "succeed"
+ if !s.success {
+ result = "fail"
+ }
+ t.Fatalf("Process did not %s when it was supposed to", result)
+ }
+}
+
+func TestMain(m *testing.M) {
+ flag.Parse()
+ if procName != "" {
+ t := testProcs[procName]
+ t.fn()
+ os.Stderr.WriteString("test function did not exit\n")
+ if t.success {
+ os.Exit(1)
+ } else {
+ os.Exit(0)
+ }
+ }
+ os.Exit(m.Run())
+}
+
+// end of infrastructure
+
+const testfile = "gocapmodetest"
+const testfile2 = testfile + "2"
+
+func CapEnterTest() {
+ _, err := os.OpenFile(path.Join(procArg, testfile), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
+ if err != nil {
+ panic(fmt.Sprintf("OpenFile: %s", err))
+ }
+
+ err = unix.CapEnter()
+ if err != nil {
+ panic(fmt.Sprintf("CapEnter: %s", err))
+ }
+
+ _, err = os.OpenFile(path.Join(procArg, testfile2), os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
+ if err == nil {
+ panic("OpenFile works!")
+ }
+ if err.(*os.PathError).Err != unix.ECAPMODE {
+ panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err))
+ }
+ os.Exit(0)
+}
+
+func makeTempDir(t *testing.T) string {
+ d, err := ioutil.TempDir("", "go_openat_test")
+ if err != nil {
+ t.Fatalf("TempDir failed: %s", err)
+ }
+ return d
+}
+
+func removeTempDir(arg string) error {
+ err := os.RemoveAll(arg)
+ if err != nil && err.(*os.PathError).Err == unix.ENOENT {
+ return nil
+ }
+ return err
+}
+
+func init() {
+ testProcs["cap_enter"] = testProc{
+ CapEnterTest,
+ makeTempDir,
+ removeTempDir,
+ true,
+ }
+}
+
+func TestCapEnter(t *testing.T) {
+ if runtime.GOARCH != "amd64" {
+ t.Skipf("skipping test on %s", runtime.GOARCH)
+ }
+ ExitsCorrectly(t, "cap_enter")
+}
+
+func OpenatTest() {
+ f, err := os.Open(procArg)
+ if err != nil {
+ panic(err)
+ }
+
+ err = unix.CapEnter()
+ if err != nil {
+ panic(fmt.Sprintf("CapEnter: %s", err))
+ }
+
+ fxx, err := unix.Openat(int(f.Fd()), "xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
+ if err != nil {
+ panic(err)
+ }
+ unix.Close(fxx)
+
+ // The right to open BASE/xx is not ambient
+ _, err = os.OpenFile(procArg+"/xx", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
+ if err == nil {
+ panic("OpenFile succeeded")
+ }
+ if err.(*os.PathError).Err != unix.ECAPMODE {
+ panic(fmt.Sprintf("OpenFile failed wrong: %s %#v", err, err))
+ }
+
+ // Can't make a new directory either
+ err = os.Mkdir(procArg+"2", 0777)
+ if err == nil {
+ panic("MKdir succeeded")
+ }
+ if err.(*os.PathError).Err != unix.ECAPMODE {
+ panic(fmt.Sprintf("Mkdir failed wrong: %s %#v", err, err))
+ }
+
+ // Remove all caps except read and lookup.
+ r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_LOOKUP})
+ if err != nil {
+ panic(fmt.Sprintf("CapRightsInit failed: %s %#v", err, err))
+ }
+ err = unix.CapRightsLimit(f.Fd(), r)
+ if err != nil {
+ panic(fmt.Sprintf("CapRightsLimit failed: %s %#v", err, err))
+ }
+
+ // Check we can get the rights back again
+ r, err = unix.CapRightsGet(f.Fd())
+ if err != nil {
+ panic(fmt.Sprintf("CapRightsGet failed: %s %#v", err, err))
+ }
+ b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP})
+ if err != nil {
+ panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
+ }
+ if !b {
+ panic(fmt.Sprintf("Unexpected rights"))
+ }
+ b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_LOOKUP, unix.CAP_WRITE})
+ if err != nil {
+ panic(fmt.Sprintf("CapRightsIsSet failed: %s %#v", err, err))
+ }
+ if b {
+ panic(fmt.Sprintf("Unexpected rights (2)"))
+ }
+
+ // Can no longer create a file
+ _, err = unix.Openat(int(f.Fd()), "xx2", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
+ if err == nil {
+ panic("Openat succeeded")
+ }
+ if err != unix.ENOTCAPABLE {
+ panic(fmt.Sprintf("OpenFileAt failed wrong: %s %#v", err, err))
+ }
+
+ // But can read an existing one
+ _, err = unix.Openat(int(f.Fd()), "xx", os.O_RDONLY, 0666)
+ if err != nil {
+ panic(fmt.Sprintf("Openat failed: %s %#v", err, err))
+ }
+
+ os.Exit(0)
+}
+
+func init() {
+ testProcs["openat"] = testProc{
+ OpenatTest,
+ makeTempDir,
+ removeTempDir,
+ true,
+ }
+}
+
+func TestOpenat(t *testing.T) {
+ if runtime.GOARCH != "amd64" {
+ t.Skipf("skipping test on %s", runtime.GOARCH)
+ }
+ ExitsCorrectly(t, "openat")
+}
+
+func TestCapRightsSetAndClear(t *testing.T) {
+ r, err := unix.CapRightsInit([]uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT})
+ if err != nil {
+ t.Fatalf("CapRightsInit failed: %s", err)
+ }
+
+ err = unix.CapRightsSet(r, []uint64{unix.CAP_EVENT, unix.CAP_LISTEN})
+ if err != nil {
+ t.Fatalf("CapRightsSet failed: %s", err)
+ }
+
+ b, err := unix.CapRightsIsSet(r, []uint64{unix.CAP_READ, unix.CAP_WRITE, unix.CAP_PDWAIT, unix.CAP_EVENT, unix.CAP_LISTEN})
+ if err != nil {
+ t.Fatalf("CapRightsIsSet failed: %s", err)
+ }
+ if !b {
+ t.Fatalf("Wrong rights set")
+ }
+
+ err = unix.CapRightsClear(r, []uint64{unix.CAP_READ, unix.CAP_PDWAIT})
+ if err != nil {
+ t.Fatalf("CapRightsClear failed: %s", err)
+ }
+
+ b, err = unix.CapRightsIsSet(r, []uint64{unix.CAP_WRITE, unix.CAP_EVENT, unix.CAP_LISTEN})
+ if err != nil {
+ t.Fatalf("CapRightsIsSet failed: %s", err)
+ }
+ if !b {
+ t.Fatalf("Wrong rights set")
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
new file mode 100644
index 00000000..1b7d59d8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -0,0 +1,1469 @@
+// 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 (
+ "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 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.
+
+// 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 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)
+
+//sys utimes(path string, times *[2]Timeval) (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)
+}
+
+//sys futimesat(dirfd 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])))
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+// 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
+}
+
+func anyToSockaddr(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
+ }
+ 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(&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(&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(&rsa)
+}
+
+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 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 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 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
+}
+
+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
+}
+
+// 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 = (*byte)(unsafe.Pointer(&p[0]))
+ iov.SetLen(len(p))
+ }
+ var dummy byte
+ if len(oob) > 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 && 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(&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)(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 {
+ 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 && 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
+}
+
+// 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 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 ReadDirent(fd int, buf []byte) (n int, err error) {
+ return Getdents(fd, buf)
+}
+
+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)
+}
+
+// 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 Chdir(path string) (err error)
+//sys Chroot(path string) (err error)
+//sys ClockGettime(clockid int32, time *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 Dup(oldfd int) (fd int, err error)
+//sys Dup3(oldfd int, newfd int, flags int) (err error)
+//sysnb EpollCreate(size int) (fd 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 Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
+//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 Flock(fd int, how 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 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 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 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 read(fd int, p []byte) (n int, err error)
+//sys Removexattr(path string, attr string) (err error)
+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (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
+}
+
+//sys Setpriority(which int, who int, prio int) (err error)
+//sys Setxattr(path string, attr string, data []byte, flags int) (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 Ustat(dev int, ubuf *Ustat_t) (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) {
+ n, _, errno := Syscall6(
+ SYS_VMSPLICE,
+ uintptr(fd),
+ uintptr(unsafe.Pointer(&iovs[0])),
+ uintptr(len(iovs)),
+ uintptr(flags),
+ 0,
+ 0,
+ )
+ if errno != 0 {
+ return 0, syscall.Errno(errno)
+ }
+
+ return int(n), nil
+}
+
+/*
+ * Unimplemented
+ */
+// AfsSyscall
+// Alarm
+// ArchPrctl
+// Brk
+// Capget
+// Capset
+// ClockGetres
+// ClockNanosleep
+// ClockSettime
+// Clone
+// CreateModule
+// DeleteModule
+// EpollCtlOld
+// EpollPwait
+// EpollWaitOld
+// Execve
+// Fgetxattr
+// Flistxattr
+// Fork
+// Fremovexattr
+// Fsetxattr
+// 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
+// Newfstatat
+// Nfsservctl
+// Personality
+// Pselect6
+// Ptrace
+// Putpmsg
+// QueryModule
+// Quotactl
+// Readahead
+// Readv
+// RemapFilePages
+// RestartSyscall
+// RtSigaction
+// RtSigpending
+// RtSigprocmask
+// RtSigqueueinfo
+// RtSigreturn
+// RtSigsuspend
+// RtSigtimedwait
+// SchedGetPriorityMax
+// SchedGetPriorityMin
+// SchedGetaffinity
+// SchedGetparam
+// SchedGetscheduler
+// SchedRrGetInterval
+// SchedSetaffinity
+// SchedSetparam
+// SchedYield
+// Security
+// Semctl
+// Semget
+// Semop
+// Semtimedop
+// SetMempolicy
+// SetRobustList
+// SetThreadArea
+// SetTidAddress
+// Shmat
+// Shmctl
+// Shmdt
+// Shmget
+// Sigaltstack
+// Signalfd
+// Swapoff
+// Swapon
+// Sysfs
+// TimerCreate
+// TimerDelete
+// TimerGetoverrun
+// TimerGettime
+// TimerSettime
+// Timerfd
+// Tkill (obsolete)
+// Tuxcall
+// Umount2
+// Uselib
+// Utimensat
+// Vfork
+// Vhangup
+// Vserver
+// Waitid
+// _Sysctl
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
new file mode 100644
index 00000000..f4c826a4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -0,0 +1,397 @@
+// 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 (
+ "syscall"
+ "unsafe"
+)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = int32(nsec / 1e9)
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ return
+}
+
+//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)
+//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 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 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
+//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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, 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)
+}
+
+// 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
+}
+
+// Vsyscalls on amd64.
+//sysnb Gettimeofday(tv *Timeval) (err error)
+//sysnb Time(t *Time_t) (tt Time_t, err error)
+
+//sys Utime(path string, buf *Utimbuf) (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 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)
+
+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/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
new file mode 100644
index 00000000..0715200d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -0,0 +1,150 @@
+// 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)
+//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 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 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 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 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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+//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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
new file mode 100644
index 00000000..21a4946b
--- /dev/null
+++ b/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/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
new file mode 100644
index 00000000..2b79c84a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -0,0 +1,261 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = int32(nsec / 1e9)
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ return
+}
+
+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
+}
+
+// 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)
+//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32
+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64
+//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 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
+
+// Vsyscalls on amd64.
+//sysnb Gettimeofday(tv *Timeval) (err error)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//sys Pause() (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 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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
new file mode 100644
index 00000000..68cc975d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -0,0 +1,188 @@
+// 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
+
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
+//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
+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6
+//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)
+//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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+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 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() (err error) {
+ _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove
+// these when the deprecated syscalls that the syscall package relies on
+// are removed.
+const (
+ SYS_GETPGRP = 1060
+ SYS_UTIMES = 1037
+ SYS_FUTIMESAT = 1066
+ SYS_PAUSE = 1061
+ SYS_USTAT = 1070
+ SYS_UTIME = 1063
+ SYS_LCHOWN = 1032
+ SYS_TIME = 1062
+ SYS_EPOLL_CREATE = 1042
+ SYS_EPOLL_WAIT = 1069
+)
+
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
new file mode 100644
index 00000000..977df441
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -0,0 +1,207 @@
+// 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)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 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_PSELECT6
+//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 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 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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+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 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 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/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
new file mode 100644
index 00000000..25a5a0da
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -0,0 +1,237 @@
+// 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)
+//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 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 int64, 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 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)
+
+//sysnb Gettimeofday(tv *Timeval) (err error)
+//sysnb Time(t *Time_t) (tt Time_t, 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 Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
+
+//sys Utime(path string, buf *Utimbuf) (err error)
+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int32(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = int32(nsec / 1e9)
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ 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 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
+}
+
+//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/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
new file mode 100644
index 00000000..28b7f350
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -0,0 +1,133 @@
+// 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 EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error)
+//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 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 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_SYNC_FILE_RANGE2
+//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)
+
+//sysnb Gettimeofday(tv *Timeval) (err error)
+//sysnb Time(t *Time_t) (tt Time_t, err error)
+
+//sys Utime(path string, buf *Utimbuf) (err error)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
new file mode 100644
index 00000000..3845fc9c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -0,0 +1,326 @@
+// 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)
+//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 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 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)
+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error)
+//sysnb setgroups(n int, list *_Gid_t) (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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = nsec % 1e9 / 1e3
+ return
+}
+
+//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 <asm/unistd.h>.
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
new file mode 100644
index 00000000..bd9de3e9
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -0,0 +1,149 @@
+// 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 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 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 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
+}
+
+//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)
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Sec = nsec / 1e9
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_linux_test.go b/vendor/golang.org/x/sys/unix/syscall_linux_test.go
new file mode 100644
index 00000000..37702313
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_test.go
@@ -0,0 +1,227 @@
+// 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
+
+package unix_test
+
+import (
+ "io/ioutil"
+ "os"
+ "testing"
+ "time"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestFchmodat(t *testing.T) {
+ defer chtmpdir(t)()
+
+ touch(t, "file1")
+ os.Symlink("file1", "symlink1")
+
+ err := unix.Fchmodat(unix.AT_FDCWD, "symlink1", 0444, 0)
+ if err != nil {
+ t.Fatalf("Fchmodat: unexpected error: %v", err)
+ }
+
+ fi, err := os.Stat("file1")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if fi.Mode() != 0444 {
+ t.Errorf("Fchmodat: failed to change mode: expected %v, got %v", 0444, fi.Mode())
+ }
+
+ err = unix.Fchmodat(unix.AT_FDCWD, "symlink1", 0444, unix.AT_SYMLINK_NOFOLLOW)
+ if err != unix.EOPNOTSUPP {
+ t.Fatalf("Fchmodat: unexpected error: %v, expected EOPNOTSUPP", err)
+ }
+}
+
+func TestIoctlGetInt(t *testing.T) {
+ f, err := os.Open("/dev/random")
+ if err != nil {
+ t.Fatalf("failed to open device: %v", err)
+ }
+ defer f.Close()
+
+ v, err := unix.IoctlGetInt(int(f.Fd()), unix.RNDGETENTCNT)
+ if err != nil {
+ t.Fatalf("failed to perform ioctl: %v", err)
+ }
+
+ t.Logf("%d bits of entropy available", v)
+}
+
+func TestPoll(t *testing.T) {
+ f, cleanup := mktmpfifo(t)
+ defer cleanup()
+
+ const timeout = 100
+
+ ok := make(chan bool, 1)
+ go func() {
+ select {
+ case <-time.After(10 * timeout * time.Millisecond):
+ t.Errorf("Poll: failed to timeout after %d milliseconds", 10*timeout)
+ case <-ok:
+ }
+ }()
+
+ fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}}
+ n, err := unix.Poll(fds, timeout)
+ ok <- true
+ if err != nil {
+ t.Errorf("Poll: unexpected error: %v", err)
+ return
+ }
+ if n != 0 {
+ t.Errorf("Poll: wrong number of events: got %v, expected %v", n, 0)
+ return
+ }
+}
+
+func TestPpoll(t *testing.T) {
+ f, cleanup := mktmpfifo(t)
+ defer cleanup()
+
+ const timeout = 100 * time.Millisecond
+
+ ok := make(chan bool, 1)
+ go func() {
+ select {
+ case <-time.After(10 * timeout):
+ t.Errorf("Ppoll: failed to timeout after %d", 10*timeout)
+ case <-ok:
+ }
+ }()
+
+ fds := []unix.PollFd{{Fd: int32(f.Fd()), Events: unix.POLLIN}}
+ timeoutTs := unix.NsecToTimespec(int64(timeout))
+ n, err := unix.Ppoll(fds, &timeoutTs, nil)
+ ok <- true
+ if err != nil {
+ t.Errorf("Ppoll: unexpected error: %v", err)
+ return
+ }
+ if n != 0 {
+ t.Errorf("Ppoll: wrong number of events: got %v, expected %v", n, 0)
+ return
+ }
+}
+
+// mktmpfifo creates a temporary FIFO and provides a cleanup function.
+func mktmpfifo(t *testing.T) (*os.File, func()) {
+ err := unix.Mkfifo("fifo", 0666)
+ if err != nil {
+ t.Fatalf("mktmpfifo: failed to create FIFO: %v", err)
+ }
+
+ f, err := os.OpenFile("fifo", os.O_RDWR, 0666)
+ if err != nil {
+ os.Remove("fifo")
+ t.Fatalf("mktmpfifo: failed to open FIFO: %v", err)
+ }
+
+ return f, func() {
+ f.Close()
+ os.Remove("fifo")
+ }
+}
+
+func TestTime(t *testing.T) {
+ var ut unix.Time_t
+ ut2, err := unix.Time(&ut)
+ if err != nil {
+ t.Fatalf("Time: %v", err)
+ }
+ if ut != ut2 {
+ t.Errorf("Time: return value %v should be equal to argument %v", ut2, ut)
+ }
+
+ var now time.Time
+
+ for i := 0; i < 10; i++ {
+ ut, err = unix.Time(nil)
+ if err != nil {
+ t.Fatalf("Time: %v", err)
+ }
+
+ now = time.Now()
+
+ if int64(ut) == now.Unix() {
+ return
+ }
+ }
+
+ t.Errorf("Time: return value %v should be nearly equal to time.Now().Unix() %v", ut, now.Unix())
+}
+
+func TestUtime(t *testing.T) {
+ defer chtmpdir(t)()
+
+ touch(t, "file1")
+
+ buf := &unix.Utimbuf{
+ Modtime: 12345,
+ }
+
+ err := unix.Utime("file1", buf)
+ if err != nil {
+ t.Fatalf("Utime: %v", err)
+ }
+
+ fi, err := os.Stat("file1")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if fi.ModTime().Unix() != 12345 {
+ t.Errorf("Utime: failed to change modtime: expected %v, got %v", 12345, fi.ModTime().Unix())
+ }
+}
+
+func TestGetrlimit(t *testing.T) {
+ var rlim unix.Rlimit
+ err := unix.Getrlimit(unix.RLIMIT_AS, &rlim)
+ if err != nil {
+ t.Fatalf("Getrlimit: %v", err)
+ }
+}
+
+// utilities taken from os/os_test.go
+
+func touch(t *testing.T, name string) {
+ f, err := os.Create(name)
+ if err != nil {
+ t.Fatal(err)
+ }
+ if err := f.Close(); err != nil {
+ t.Fatal(err)
+ }
+}
+
+// chtmpdir changes the working directory to a new temporary directory and
+// provides a cleanup function. Used when PWD is read-only.
+func chtmpdir(t *testing.T) func() {
+ oldwd, err := os.Getwd()
+ if err != nil {
+ t.Fatalf("chtmpdir: %v", err)
+ }
+ d, err := ioutil.TempDir("", "test")
+ if err != nil {
+ t.Fatalf("chtmpdir: %v", err)
+ }
+ if err := os.Chdir(d); err != nil {
+ t.Fatalf("chtmpdir: %v", err)
+ }
+ return func() {
+ if err := os.Chdir(oldwd); err != nil {
+ t.Fatalf("chtmpdir: %v", err)
+ }
+ os.RemoveAll(d)
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
new file mode 100644
index 00000000..e1296684
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -0,0 +1,472 @@
+// 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 (
+ "syscall"
+ "unsafe"
+)
+
+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))
+}
+
+//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) {
+ return getdents(fd, buf)
+}
+
+// TODO
+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
+ return -1, ENOSYS
+}
+
+/*
+ * 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 Fchdir(fd int) (err error)
+//sys Fchflags(fd int, flags int) (err error)
+//sys Fchmod(fd int, mode uint32) (err error)
+//sys Fchown(fd int, uid int, gid 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 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 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 Mkfifo(path string, mode uint32) (err error)
+//sys Mknod(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 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 Rename(from string, 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 Sync() (err error)
+//sys Truncate(path string, length int64) (err error)
+//sys Umask(newmask int) (oldmask int)
+//sys Unlink(path string) (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_fadvise50
+// __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
+// ioctl
+// 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
+// poll
+// 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/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
new file mode 100644
index 00000000..baefa411
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
new file mode 100644
index 00000000..59c2ab7e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int64(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
new file mode 100644
index 00000000..7208108a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go
new file mode 100644
index 00000000..530792ea
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go
@@ -0,0 +1,11 @@
+// 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 dragonfly freebsd netbsd openbsd
+
+package unix
+
+const ImplementsGetwd = false
+
+func Getwd() (string, error) { return "", ENOTSUP }
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
new file mode 100644
index 00000000..408e6308
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -0,0 +1,282 @@
+// 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 (
+ "syscall"
+ "unsafe"
+)
+
+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) {
+
+ // Perform lookup via a binary search
+ left := 0
+ right := len(sysctlMib) - 1
+ for {
+ idx := left + (right-left)/2
+ switch {
+ case name == sysctlMib[idx].ctlname:
+ return sysctlMib[idx].ctloid, nil
+ case name > sysctlMib[idx].ctlname:
+ left = idx + 1
+ default:
+ right = idx - 1
+ }
+ if left > right {
+ break
+ }
+ }
+ 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))
+}
+
+//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) {
+ return getdents(fd, buf)
+}
+
+// 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
+}
+
+/*
+ * 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 Fchdir(fd int) (err error)
+//sys Fchflags(fd int, flags int) (err error)
+//sys Fchmod(fd int, mode uint32) (err error)
+//sys Fchown(fd int, uid int, gid 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 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 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 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 Mkfifo(path string, mode uint32) (err error)
+//sys Mknod(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 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 Rename(from string, 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 Sync() (err error)
+//sys Truncate(path string, length int64) (err error)
+//sys Umask(newmask int) (oldmask int)
+//sys Unlink(path string) (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
+// faccessat
+// fchmodat
+// fchownat
+// fcntl
+// fhopen
+// fhstat
+// fhstatfs
+// fork
+// fstatat
+// futimens
+// getfh
+// getgid
+// getitimer
+// getlogin
+// getresgid
+// getresuid
+// getrtable
+// getthrid
+// ioctl
+// ktrace
+// lfs_bmapv
+// lfs_markv
+// lfs_segclean
+// lfs_segwait
+// linkat
+// mincore
+// minherit
+// mkdirat
+// mkfifoat
+// mknodat
+// mount
+// mquery
+// msgctl
+// msgget
+// msgrcv
+// msgsnd
+// nfssvc
+// nnpfspioctl
+// openat
+// poll
+// preadv
+// profil
+// pwritev
+// quotactl
+// readlinkat
+// readv
+// reboot
+// renameat
+// rfork
+// sched_yield
+// semget
+// semop
+// setgroups
+// setitimer
+// setrtable
+// setsockopt
+// shmat
+// shmctl
+// shmdt
+// shmget
+// sigaction
+// sigaltstack
+// sigpending
+// sigprocmask
+// sigreturn
+// sigsuspend
+// symlinkat
+// sysarch
+// syscall
+// threxit
+// thrsigdivert
+// thrsleep
+// thrwakeup
+// unlinkat
+// vfork
+// writev
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
new file mode 100644
index 00000000..d3809b42
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
new file mode 100644
index 00000000..9a9dfcef
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = nsec % 1e9 / 1e3
+ tv.Sec = nsec / 1e9
+ return
+}
+
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
new file mode 100644
index 00000000..ba864905
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
@@ -0,0 +1,40 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = int64(nsec / 1e9)
+ ts.Nsec = int32(nsec % 1e9)
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+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)
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
new file mode 100644
index 00000000..dbb166e0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -0,0 +1,700 @@
+// 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)
+
+type SockaddrDatalink struct {
+ Family uint16
+ Index uint16
+ Type uint8
+ Nlen uint8
+ Alen uint8
+ Slen uint8
+ Data [244]int8
+ raw RawSockaddrDatalink
+}
+
+func clen(n []byte) int {
+ for i := 0; i < len(n); i++ {
+ if n[i] == 0 {
+ return i
+ }
+ }
+ return len(n)
+}
+
+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(&rsa)
+}
+
+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])
+}
+
+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)
+
+// 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(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(&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(&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)
+}
+
+/*
+ * 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
+}
+
+/*
+ * 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 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 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 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
+//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 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/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
new file mode 100644
index 00000000..5aff62c3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
@@ -0,0 +1,35 @@
+// 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 TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ nsec += 999 // round up to microsecond
+ tv.Usec = nsec % 1e9 / 1e3
+ tv.Sec = int64(nsec / 1e9)
+ return
+}
+
+func (iov *Iovec) SetLen(length int) {
+ iov.Len = uint64(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) {
+ // TODO(aram): implement this, see issue 5847.
+ panic("unimplemented")
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_test.go b/vendor/golang.org/x/sys/unix/syscall_solaris_test.go
new file mode 100644
index 00000000..d3e7d2b2
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_test.go
@@ -0,0 +1,34 @@
+// 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 solaris
+
+package unix_test
+
+import (
+ "os/exec"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func TestStatvfs(t *testing.T) {
+ if err := unix.Statvfs("", nil); err == nil {
+ t.Fatal(`Statvfs("") expected failure`)
+ }
+
+ statvfs := unix.Statvfs_t{}
+ if err := unix.Statvfs("/", &statvfs); err != nil {
+ t.Errorf(`Statvfs("/") failed: %v`, err)
+ }
+
+ if t.Failed() {
+ mount, err := exec.Command("mount").CombinedOutput()
+ if err != nil {
+ t.Logf("mount: %v\n%s", err, mount)
+ } else {
+ t.Logf("mount: %s", mount)
+ }
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_test.go b/vendor/golang.org/x/sys/unix/syscall_test.go
new file mode 100644
index 00000000..95eac92a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_test.go
@@ -0,0 +1,50 @@
+// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package unix_test
+
+import (
+ "fmt"
+ "testing"
+
+ "golang.org/x/sys/unix"
+)
+
+func testSetGetenv(t *testing.T, key, value string) {
+ err := unix.Setenv(key, value)
+ if err != nil {
+ t.Fatalf("Setenv failed to set %q: %v", value, err)
+ }
+ newvalue, found := unix.Getenv(key)
+ if !found {
+ t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value)
+ }
+ if newvalue != value {
+ t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value)
+ }
+}
+
+func TestEnv(t *testing.T) {
+ testSetGetenv(t, "TESTENV", "AVALUE")
+ // make sure TESTENV gets set to "", not deleted
+ testSetGetenv(t, "TESTENV", "")
+}
+
+func TestItoa(t *testing.T) {
+ // Make most negative integer: 0x8000...
+ i := 1
+ for i<<1 != 0 {
+ i <<= 1
+ }
+ if i >= 0 {
+ t.Fatal("bad math")
+ }
+ s := unix.Itoa(i)
+ f := fmt.Sprint(i)
+ if s != f {
+ t.Fatalf("itoa(%d) = %s, want %s", i, s, f)
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go
new file mode 100644
index 00000000..3ed8a91f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go
@@ -0,0 +1,293 @@
+// 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 linux netbsd openbsd solaris
+
+package unix
+
+import (
+ "runtime"
+ "sync"
+ "syscall"
+ "unsafe"
+)
+
+var (
+ Stdin = 0
+ Stdout = 1
+ Stderr = 2
+)
+
+const (
+ darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8
+ dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8
+ netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4
+ solaris64Bit = runtime.GOOS == "solaris" && sizeofPtr == 8
+)
+
+// Do the interface allocations only once for common
+// Errno values.
+var (
+ errEAGAIN error = syscall.EAGAIN
+ errEINVAL error = syscall.EINVAL
+ errENOENT error = syscall.ENOENT
+)
+
+// 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
+}
+
+// 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
+
+type Sockaddr interface {
+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs
+}
+
+type SockaddrInet4 struct {
+ Port int
+ Addr [4]byte
+ raw RawSockaddrInet4
+}
+
+type SockaddrInet6 struct {
+ Port int
+ ZoneId uint32
+ Addr [16]byte
+ raw RawSockaddrInet6
+}
+
+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(&rsa)
+}
+
+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 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(&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) {
+ return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), 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 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
+}
+
+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)
+}
+
+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
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
new file mode 100644
index 00000000..4cb8e8ed
--- /dev/null
+++ b/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
+
+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/vendor/golang.org/x/sys/unix/syscall_unix_test.go b/vendor/golang.org/x/sys/unix/syscall_unix_test.go
new file mode 100644
index 00000000..394b3502
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_unix_test.go
@@ -0,0 +1,345 @@
+// 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 darwin dragonfly freebsd linux netbsd openbsd solaris
+
+package unix_test
+
+import (
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "net"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "runtime"
+ "testing"
+ "time"
+
+ "golang.org/x/sys/unix"
+)
+
+// Tests that below functions, structures and constants are consistent
+// on all Unix-like systems.
+func _() {
+ // program scheduling priority functions and constants
+ var (
+ _ func(int, int, int) error = unix.Setpriority
+ _ func(int, int) (int, error) = unix.Getpriority
+ )
+ const (
+ _ int = unix.PRIO_USER
+ _ int = unix.PRIO_PROCESS
+ _ int = unix.PRIO_PGRP
+ )
+
+ // termios constants
+ const (
+ _ int = unix.TCIFLUSH
+ _ int = unix.TCIOFLUSH
+ _ int = unix.TCOFLUSH
+ )
+
+ // fcntl file locking structure and constants
+ var (
+ _ = unix.Flock_t{
+ Type: int16(0),
+ Whence: int16(0),
+ Start: int64(0),
+ Len: int64(0),
+ Pid: int32(0),
+ }
+ )
+ const (
+ _ = unix.F_GETLK
+ _ = unix.F_SETLK
+ _ = unix.F_SETLKW
+ )
+}
+
+// TestFcntlFlock tests whether the file locking structure matches
+// the calling convention of each kernel.
+func TestFcntlFlock(t *testing.T) {
+ name := filepath.Join(os.TempDir(), "TestFcntlFlock")
+ fd, err := unix.Open(name, unix.O_CREAT|unix.O_RDWR|unix.O_CLOEXEC, 0)
+ if err != nil {
+ t.Fatalf("Open failed: %v", err)
+ }
+ defer unix.Unlink(name)
+ defer unix.Close(fd)
+ flock := unix.Flock_t{
+ Type: unix.F_RDLCK,
+ Start: 0, Len: 0, Whence: 1,
+ }
+ if err := unix.FcntlFlock(uintptr(fd), unix.F_GETLK, &flock); err != nil {
+ t.Fatalf("FcntlFlock failed: %v", err)
+ }
+}
+
+// TestPassFD tests passing a file descriptor over a Unix socket.
+//
+// This test involved both a parent and child process. The parent
+// process is invoked as a normal test, with "go test", which then
+// runs the child process by running the current test binary with args
+// "-test.run=^TestPassFD$" and an environment variable used to signal
+// that the test should become the child process instead.
+func TestPassFD(t *testing.T) {
+ if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" {
+ passFDChild()
+ return
+ }
+
+ tempDir, err := ioutil.TempDir("", "TestPassFD")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.RemoveAll(tempDir)
+
+ fds, err := unix.Socketpair(unix.AF_LOCAL, unix.SOCK_STREAM, 0)
+ if err != nil {
+ t.Fatalf("Socketpair: %v", err)
+ }
+ defer unix.Close(fds[0])
+ defer unix.Close(fds[1])
+ writeFile := os.NewFile(uintptr(fds[0]), "child-writes")
+ readFile := os.NewFile(uintptr(fds[1]), "parent-reads")
+ defer writeFile.Close()
+ defer readFile.Close()
+
+ cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", tempDir)
+ cmd.Env = []string{"GO_WANT_HELPER_PROCESS=1"}
+ if lp := os.Getenv("LD_LIBRARY_PATH"); lp != "" {
+ cmd.Env = append(cmd.Env, "LD_LIBRARY_PATH="+lp)
+ }
+ cmd.ExtraFiles = []*os.File{writeFile}
+
+ out, err := cmd.CombinedOutput()
+ if len(out) > 0 || err != nil {
+ t.Fatalf("child process: %q, %v", out, err)
+ }
+
+ c, err := net.FileConn(readFile)
+ if err != nil {
+ t.Fatalf("FileConn: %v", err)
+ }
+ defer c.Close()
+
+ uc, ok := c.(*net.UnixConn)
+ if !ok {
+ t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c)
+ }
+
+ buf := make([]byte, 32) // expect 1 byte
+ oob := make([]byte, 32) // expect 24 bytes
+ closeUnix := time.AfterFunc(5*time.Second, func() {
+ t.Logf("timeout reading from unix socket")
+ uc.Close()
+ })
+ _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob)
+ closeUnix.Stop()
+
+ scms, err := unix.ParseSocketControlMessage(oob[:oobn])
+ if err != nil {
+ t.Fatalf("ParseSocketControlMessage: %v", err)
+ }
+ if len(scms) != 1 {
+ t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms)
+ }
+ scm := scms[0]
+ gotFds, err := unix.ParseUnixRights(&scm)
+ if err != nil {
+ t.Fatalf("unix.ParseUnixRights: %v", err)
+ }
+ if len(gotFds) != 1 {
+ t.Fatalf("wanted 1 fd; got %#v", gotFds)
+ }
+
+ f := os.NewFile(uintptr(gotFds[0]), "fd-from-child")
+ defer f.Close()
+
+ got, err := ioutil.ReadAll(f)
+ want := "Hello from child process!\n"
+ if string(got) != want {
+ t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want)
+ }
+}
+
+// passFDChild is the child process used by TestPassFD.
+func passFDChild() {
+ defer os.Exit(0)
+
+ // Look for our fd. It should be fd 3, but we work around an fd leak
+ // bug here (http://golang.org/issue/2603) to let it be elsewhere.
+ var uc *net.UnixConn
+ for fd := uintptr(3); fd <= 10; fd++ {
+ f := os.NewFile(fd, "unix-conn")
+ var ok bool
+ netc, _ := net.FileConn(f)
+ uc, ok = netc.(*net.UnixConn)
+ if ok {
+ break
+ }
+ }
+ if uc == nil {
+ fmt.Println("failed to find unix fd")
+ return
+ }
+
+ // Make a file f to send to our parent process on uc.
+ // We make it in tempDir, which our parent will clean up.
+ flag.Parse()
+ tempDir := flag.Arg(0)
+ f, err := ioutil.TempFile(tempDir, "")
+ if err != nil {
+ fmt.Printf("TempFile: %v", err)
+ return
+ }
+
+ f.Write([]byte("Hello from child process!\n"))
+ f.Seek(0, 0)
+
+ rights := unix.UnixRights(int(f.Fd()))
+ dummyByte := []byte("x")
+ n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil)
+ if err != nil {
+ fmt.Printf("WriteMsgUnix: %v", err)
+ return
+ }
+ if n != 1 || oobn != len(rights) {
+ fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights))
+ return
+ }
+}
+
+// TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage,
+// and ParseUnixRights are able to successfully round-trip lists of file descriptors.
+func TestUnixRightsRoundtrip(t *testing.T) {
+ testCases := [...][][]int{
+ {{42}},
+ {{1, 2}},
+ {{3, 4, 5}},
+ {{}},
+ {{1, 2}, {3, 4, 5}, {}, {7}},
+ }
+ for _, testCase := range testCases {
+ b := []byte{}
+ var n int
+ for _, fds := range testCase {
+ // Last assignment to n wins
+ n = len(b) + unix.CmsgLen(4*len(fds))
+ b = append(b, unix.UnixRights(fds...)...)
+ }
+ // Truncate b
+ b = b[:n]
+
+ scms, err := unix.ParseSocketControlMessage(b)
+ if err != nil {
+ t.Fatalf("ParseSocketControlMessage: %v", err)
+ }
+ if len(scms) != len(testCase) {
+ t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms)
+ }
+ for i, scm := range scms {
+ gotFds, err := unix.ParseUnixRights(&scm)
+ if err != nil {
+ t.Fatalf("ParseUnixRights: %v", err)
+ }
+ wantFds := testCase[i]
+ if len(gotFds) != len(wantFds) {
+ t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds)
+ }
+ for j, fd := range gotFds {
+ if fd != wantFds[j] {
+ t.Fatalf("expected fd %v, got %v", wantFds[j], fd)
+ }
+ }
+ }
+ }
+}
+
+func TestRlimit(t *testing.T) {
+ var rlimit, zero unix.Rlimit
+ err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlimit)
+ if err != nil {
+ t.Fatalf("Getrlimit: save failed: %v", err)
+ }
+ if zero == rlimit {
+ t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit)
+ }
+ set := rlimit
+ set.Cur = set.Max - 1
+ err = unix.Setrlimit(unix.RLIMIT_NOFILE, &set)
+ if err != nil {
+ t.Fatalf("Setrlimit: set failed: %#v %v", set, err)
+ }
+ var get unix.Rlimit
+ err = unix.Getrlimit(unix.RLIMIT_NOFILE, &get)
+ if err != nil {
+ t.Fatalf("Getrlimit: get failed: %v", err)
+ }
+ set = rlimit
+ set.Cur = set.Max - 1
+ if set != get {
+ // Seems like Darwin requires some privilege to
+ // increase the soft limit of rlimit sandbox, though
+ // Setrlimit never reports an error.
+ switch runtime.GOOS {
+ case "darwin":
+ default:
+ t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get)
+ }
+ }
+ err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rlimit)
+ if err != nil {
+ t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err)
+ }
+}
+
+func TestSeekFailure(t *testing.T) {
+ _, err := unix.Seek(-1, 0, 0)
+ if err == nil {
+ t.Fatalf("Seek(-1, 0, 0) did not fail")
+ }
+ str := err.Error() // used to crash on Linux
+ t.Logf("Seek: %v", str)
+ if str == "" {
+ t.Fatalf("Seek(-1, 0, 0) return error with empty message")
+ }
+}
+
+func TestDup(t *testing.T) {
+ file, err := ioutil.TempFile("", "TestDup")
+ if err != nil {
+ t.Fatalf("Tempfile failed: %v", err)
+ }
+ defer os.Remove(file.Name())
+ defer file.Close()
+ f := int(file.Fd())
+
+ newFd, err := unix.Dup(f)
+ if err != nil {
+ t.Fatalf("Dup: %v", err)
+ }
+
+ err = unix.Dup2(newFd, newFd+1)
+ if err != nil {
+ t.Fatalf("Dup2: %v", err)
+ }
+
+ b1 := []byte("Test123")
+ b2 := make([]byte, 7)
+ _, err = unix.Write(newFd+1, b1)
+ if err != nil {
+ t.Fatalf("Write to dup2 fd failed: %v", err)
+ }
+ _, err = unix.Seek(f, 0, 0)
+ _, err = unix.Read(f, b2)
+ if err != nil {
+ t.Fatalf("Read back failed: %v", err)
+ }
+ if string(b1) != string(b2) {
+ t.Errorf("Dup: stdout write not in file, expected %v, got %v", string(b1), string(b2))
+ }
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go
index 11532618..415124d4 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_darwin.go
+++ b/vendor/golang.org/x/sys/unix/types_darwin.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -242,9 +242,13 @@ type BpfHdr C.struct_bpf_hdr
type Termios C.struct_termios
+type Winsize C.struct_winsize
+
// fchmodat-like syscalls.
const (
AT_FDCWD = C.AT_FDCWD
+ AT_REMOVEDIR = C.AT_REMOVEDIR
+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW
AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go
index f3c971df..80b27781 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_dragonfly.go
+++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -240,3 +240,10 @@ type BpfHdr C.struct_bpf_hdr
// Terminal handling
type Termios C.struct_termios
+
+// fchmodat-like syscalls.
+
+const (
+ AT_FDCWD = C.AT_FDCWD
+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go
index ae24557a..934fd7ac 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/types_freebsd.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -21,6 +21,7 @@ package unix
#include <termios.h>
#include <stdio.h>
#include <unistd.h>
+#include <sys/capability.h>
#include <sys/event.h>
#include <sys/mman.h>
#include <sys/mount.h>
@@ -130,7 +131,10 @@ struct if_data8 {
u_long ifi_iqdrops;
u_long ifi_noproto;
u_long ifi_hwassist;
+// FIXME: these are now unions, so maybe need to change definitions?
+#undef ifi_epoch
time_t ifi_epoch;
+#undef ifi_lastchange
struct timeval ifi_lastchange;
};
@@ -351,3 +355,18 @@ type BpfZbufHeader C.struct_bpf_zbuf_header
// Terminal handling
type Termios C.struct_termios
+
+type Winsize C.struct_winsize
+
+// fchmodat-like syscalls.
+
+const (
+ AT_FDCWD = C.AT_FDCWD
+ AT_REMOVEDIR = C.AT_REMOVEDIR
+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW
+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
+)
+
+// Capabilities
+
+type CapRights C.struct_cap_rights
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go
index d15f93d1..cb95c80a 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_netbsd.go
+++ b/vendor/golang.org/x/sys/unix/types_netbsd.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -227,6 +227,13 @@ type BpfTimeval C.struct_bpf_timeval
type Termios C.struct_termios
+// fchmodat-like syscalls.
+
+const (
+ AT_FDCWD = C.AT_FDCWD
+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
+)
+
// Sysctl
type Sysctlnode C.struct_sysctlnode
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go
index b66fe25f..392da69b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/types_openbsd.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -242,3 +242,10 @@ type BpfTimeval C.struct_bpf_timeval
// Terminal handling
type Termios C.struct_termios
+
+// fchmodat-like syscalls.
+
+const (
+ AT_FDCWD = C.AT_FDCWD
+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go
index 6ad50eab..6d746140 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/types_solaris.go
+++ b/vendor/golang.org/x/sys/unix/types_solaris.go
@@ -5,7 +5,7 @@
// +build ignore
/*
-Input to cgo -godefs. See also mkerrors.sh and mkall.sh
+Input to cgo -godefs. See README.md
*/
// +godefs map struct_in_addr [4]byte /* in_addr */
@@ -22,6 +22,7 @@ package unix
#define __USE_LEGACY_PROTOTYPES__ // iovec
#include <dirent.h>
#include <fcntl.h>
+#include <netdb.h>
#include <limits.h>
#include <signal.h>
#include <termios.h>
@@ -36,6 +37,7 @@ package unix
#include <sys/signal.h>
#include <sys/socket.h>
#include <sys/stat.h>
+#include <sys/statvfs.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/types.h>
@@ -81,6 +83,7 @@ const (
sizeofLong = C.sizeof_long
sizeofLongLong = C.sizeof_longlong
PathMax = C.PATH_MAX
+ MaxHostNameLen = C.MAXHOSTNAMELEN
)
// Basic types
@@ -137,6 +140,12 @@ type Flock_t C.struct_flock
type Dirent C.struct_dirent
+// Filesystems
+
+type _Fsblkcnt_t C.fsblkcnt_t
+
+type Statvfs_t C.struct_statvfs
+
// Sockets
type RawSockaddrInet4 C.struct_sockaddr_in
@@ -247,10 +256,6 @@ type BpfTimeval C.struct_bpf_timeval
type BpfHdr C.struct_bpf_hdr
-// sysconf information
-
-const _SC_PAGESIZE = C._SC_PAGESIZE
-
// Terminal handling
type Termios C.struct_termios
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
new file mode 100644
index 00000000..1c68758b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go
@@ -0,0 +1,1673 @@
+// 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
+ 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_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
+ 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_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_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ 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_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_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
+ 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
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "resource busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "device power is off",
+ 83: "device error",
+ 84: "value too large to be stored in data type",
+ 85: "bad executable (or shared library)",
+ 86: "bad CPU type in executable",
+ 87: "shared library version mismatch",
+ 88: "malformed Mach-o file",
+ 89: "operation canceled",
+ 90: "identifier removed",
+ 91: "no message of desired type",
+ 92: "illegal byte sequence",
+ 93: "attribute not found",
+ 94: "bad message",
+ 95: "EMULTIHOP (Reserved)",
+ 96: "no message available on STREAM",
+ 97: "ENOLINK (Reserved)",
+ 98: "no STREAM resources",
+ 99: "not a STREAM",
+ 100: "protocol error",
+ 101: "STREAM ioctl timeout",
+ 102: "operation not supported on socket",
+ 103: "policy not found",
+ 104: "state not recoverable",
+ 105: "previous owner died",
+ 106: "interface output queue is full",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
new file mode 100644
index 00000000..48f63d4f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
@@ -0,0 +1,1673 @@
+// 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
+ 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_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
+ 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_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_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ 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_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_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
+ 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
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "resource busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "device power is off",
+ 83: "device error",
+ 84: "value too large to be stored in data type",
+ 85: "bad executable (or shared library)",
+ 86: "bad CPU type in executable",
+ 87: "shared library version mismatch",
+ 88: "malformed Mach-o file",
+ 89: "operation canceled",
+ 90: "identifier removed",
+ 91: "no message of desired type",
+ 92: "illegal byte sequence",
+ 93: "attribute not found",
+ 94: "bad message",
+ 95: "EMULTIHOP (Reserved)",
+ 96: "no message available on STREAM",
+ 97: "ENOLINK (Reserved)",
+ 98: "no STREAM resources",
+ 99: "not a STREAM",
+ 100: "protocol error",
+ 101: "STREAM ioctl timeout",
+ 102: "operation not supported on socket",
+ 103: "policy not found",
+ 104: "state not recoverable",
+ 105: "previous owner died",
+ 106: "interface output queue is full",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
new file mode 100644
index 00000000..24cb522d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go
@@ -0,0 +1,1673 @@
+// 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
+ 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_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
+ 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_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_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ 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_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_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
+ 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
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "resource busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "device power is off",
+ 83: "device error",
+ 84: "value too large to be stored in data type",
+ 85: "bad executable (or shared library)",
+ 86: "bad CPU type in executable",
+ 87: "shared library version mismatch",
+ 88: "malformed Mach-o file",
+ 89: "operation canceled",
+ 90: "identifier removed",
+ 91: "no message of desired type",
+ 92: "illegal byte sequence",
+ 93: "attribute not found",
+ 94: "bad message",
+ 95: "EMULTIHOP (Reserved)",
+ 96: "no message available on STREAM",
+ 97: "ENOLINK (Reserved)",
+ 98: "no STREAM resources",
+ 99: "not a STREAM",
+ 100: "protocol error",
+ 101: "STREAM ioctl timeout",
+ 102: "operation not supported on socket",
+ 103: "policy not found",
+ 104: "state not recoverable",
+ 105: "previous owner died",
+ 106: "interface output queue is full",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
new file mode 100644
index 00000000..cc8cc5b5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
@@ -0,0 +1,1673 @@
+// 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
+ 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_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
+ 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_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_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ 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_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_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
+ 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
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "resource busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "device power is off",
+ 83: "device error",
+ 84: "value too large to be stored in data type",
+ 85: "bad executable (or shared library)",
+ 86: "bad CPU type in executable",
+ 87: "shared library version mismatch",
+ 88: "malformed Mach-o file",
+ 89: "operation canceled",
+ 90: "identifier removed",
+ 91: "no message of desired type",
+ 92: "illegal byte sequence",
+ 93: "attribute not found",
+ 94: "bad message",
+ 95: "EMULTIHOP (Reserved)",
+ 96: "no message available on STREAM",
+ 97: "ENOLINK (Reserved)",
+ 98: "no STREAM resources",
+ 99: "not a STREAM",
+ 100: "protocol error",
+ 101: "STREAM ioctl timeout",
+ 102: "operation not supported on socket",
+ 103: "policy not found",
+ 104: "state not recoverable",
+ 105: "previous owner died",
+ 106: "interface output queue is full",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
index 2a329f06..8f40598b 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zerrors_dragonfly_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
@@ -1,10 +1,10 @@
-// mkerrors.sh -m32
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mkerrors.sh -m64
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build 386,dragonfly
+// +build amd64,dragonfly
// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs -- -m32 _const.go
+// cgo -godefs -- -m64 _const.go
package unix
@@ -37,8 +37,8 @@ const (
AF_MAX = 0x24
AF_MPLS = 0x22
AF_NATM = 0x1d
+ AF_NETBIOS = 0x6
AF_NETGRAPH = 0x20
- AF_NS = 0x6
AF_OSI = 0x7
AF_PUP = 0x4
AF_ROUTE = 0x11
@@ -46,6 +46,7 @@ const (
AF_SNA = 0xb
AF_UNIX = 0x1
AF_UNSPEC = 0x0
+ ALTWERASE = 0x200
B0 = 0x0
B110 = 0x6e
B115200 = 0x1c200
@@ -72,11 +73,11 @@ const (
BIOCFLUSH = 0x20004268
BIOCGBLEN = 0x40044266
BIOCGDLT = 0x4004426a
- BIOCGDLTLIST = 0xc0084279
+ BIOCGDLTLIST = 0xc0104279
BIOCGETIF = 0x4020426b
BIOCGHDRCMPLT = 0x40044274
BIOCGRSIG = 0x40044272
- BIOCGRTIMEOUT = 0x4008426e
+ BIOCGRTIMEOUT = 0x4010426e
BIOCGSEESENT = 0x40044276
BIOCGSTATS = 0x4008426f
BIOCIMMEDIATE = 0x80044270
@@ -84,18 +85,18 @@ const (
BIOCPROMISC = 0x20004269
BIOCSBLEN = 0xc0044266
BIOCSDLT = 0x80044278
- BIOCSETF = 0x80084267
+ BIOCSETF = 0x80104267
BIOCSETIF = 0x8020426c
- BIOCSETWF = 0x8008427b
+ BIOCSETWF = 0x8010427b
BIOCSHDRCMPLT = 0x80044275
BIOCSRSIG = 0x80044273
- BIOCSRTIMEOUT = 0x8008426d
+ BIOCSRTIMEOUT = 0x8010426d
BIOCSSEESENT = 0x80044277
BIOCVERSION = 0x40044271
BPF_A = 0x10
BPF_ABS = 0x20
BPF_ADD = 0x0
- BPF_ALIGNMENT = 0x4
+ BPF_ALIGNMENT = 0x8
BPF_ALU = 0x4
BPF_AND = 0x50
BPF_B = 0x10
@@ -141,7 +142,22 @@ const (
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
@@ -286,24 +302,28 @@ const (
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 = 0x8
+ 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
@@ -679,7 +699,6 @@ const (
IPPROTO_SATEXPAK = 0x40
IPPROTO_SATMON = 0x45
IPPROTO_SCCSP = 0x60
- IPPROTO_SCTP = 0x84
IPPROTO_SDRP = 0x2a
IPPROTO_SEP = 0x21
IPPROTO_SKIP = 0x39
@@ -730,6 +749,7 @@ const (
IPV6_LEAVE_GROUP = 0xd
IPV6_MAXHLIM = 0xff
IPV6_MAXPACKET = 0xffff
+ IPV6_MINHLIM = 0x28
IPV6_MMTU = 0x500
IPV6_MSFILTER = 0x4a
IPV6_MULTICAST_HOPS = 0xa
@@ -778,6 +798,7 @@ const (
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
@@ -833,6 +854,7 @@ const (
MADV_SETMAP = 0xb
MADV_WILLNEED = 0x3
MAP_ANON = 0x1000
+ MAP_ANONYMOUS = 0x1000
MAP_COPY = 0x2
MAP_FILE = 0x0
MAP_FIXED = 0x10
@@ -851,6 +873,7 @@ const (
MAP_VPAGETABLE = 0x2000
MCL_CURRENT = 0x1
MCL_FUTURE = 0x2
+ MSG_CMSG_CLOEXEC = 0x1000
MSG_CTRUNC = 0x20
MSG_DONTROUTE = 0x4
MSG_DONTWAIT = 0x80
@@ -860,11 +883,11 @@ const (
MSG_FMASK = 0xffff0000
MSG_FNONBLOCKING = 0x20000
MSG_NOSIGNAL = 0x400
- MSG_NOTIFICATION = 0x200
MSG_OOB = 0x1
MSG_PEEK = 0x2
MSG_SYNC = 0x800
MSG_TRUNC = 0x10
+ MSG_UNUSED09 = 0x200
MSG_WAITALL = 0x40
MS_ASYNC = 0x1
MS_INVALIDATE = 0x2
@@ -875,12 +898,19 @@ const (
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
@@ -891,6 +921,7 @@ const (
NOTE_REVOKE = 0x40
NOTE_TRACK = 0x1
NOTE_TRACKERR = 0x2
+ NOTE_TRIGGER = 0x1000000
NOTE_WRITE = 0x2
OCRNL = 0x10
ONLCR = 0x2
@@ -898,6 +929,7 @@ const (
ONOCR = 0x20
ONOEOT = 0x8
OPOST = 0x1
+ OXTABS = 0x4
O_ACCMODE = 0x3
O_APPEND = 0x8
O_ASYNC = 0x40
@@ -910,14 +942,11 @@ const (
O_FAPPEND = 0x100000
O_FASYNCWRITE = 0x800000
O_FBLOCKING = 0x40000
- O_FBUFFERED = 0x2000000
- O_FMASK = 0x7fc0000
+ O_FMASK = 0xfc0000
O_FNONBLOCKING = 0x80000
O_FOFFSET = 0x200000
O_FSYNC = 0x80
O_FSYNCWRITE = 0x400000
- O_FUNBUFFERED = 0x1000000
- O_MAPONREAD = 0x4000000
O_NDELAY = 0x4
O_NOCTTY = 0x8000
O_NOFOLLOW = 0x100
@@ -1032,30 +1061,30 @@ const (
SHUT_RDWR = 0x2
SHUT_WR = 0x1
SIOCADDMULTI = 0x80206931
- SIOCADDRT = 0x8030720a
+ SIOCADDRT = 0x8040720a
SIOCAIFADDR = 0x8040691a
SIOCALIFADDR = 0x8118691b
SIOCATMARK = 0x40047307
SIOCDELMULTI = 0x80206932
- SIOCDELRT = 0x8030720b
+ SIOCDELRT = 0x8040720b
SIOCDIFADDR = 0x80206919
SIOCDIFPHYADDR = 0x80206949
SIOCDLIFADDR = 0x8118691d
- SIOCGDRVSPEC = 0xc01c697b
- SIOCGETSGCNT = 0xc0147210
- SIOCGETVIFCNT = 0xc014720f
+ SIOCGDRVSPEC = 0xc028697b
+ SIOCGETSGCNT = 0xc0207210
+ SIOCGETVIFCNT = 0xc028720f
SIOCGHIWAT = 0x40047301
SIOCGIFADDR = 0xc0206921
SIOCGIFBRDADDR = 0xc0206923
SIOCGIFCAP = 0xc020691f
- SIOCGIFCONF = 0xc0086924
+ SIOCGIFCONF = 0xc0106924
SIOCGIFDATA = 0xc0206926
SIOCGIFDSTADDR = 0xc0206922
SIOCGIFFLAGS = 0xc0206911
SIOCGIFGENERIC = 0xc020693a
- SIOCGIFGMEMB = 0xc024698a
+ SIOCGIFGMEMB = 0xc028698a
SIOCGIFINDEX = 0xc0206920
- SIOCGIFMEDIA = 0xc0286938
+ SIOCGIFMEDIA = 0xc0306938
SIOCGIFMETRIC = 0xc0206917
SIOCGIFMTU = 0xc0206933
SIOCGIFNETMASK = 0xc0206925
@@ -1074,8 +1103,8 @@ const (
SIOCIFCREATE = 0xc020697a
SIOCIFCREATE2 = 0xc020697c
SIOCIFDESTROY = 0x80206979
- SIOCIFGCLONERS = 0xc00c6978
- SIOCSDRVSPEC = 0x801c697b
+ SIOCIFGCLONERS = 0xc0106978
+ SIOCSDRVSPEC = 0x8028697b
SIOCSHIWAT = 0x80047300
SIOCSIFADDR = 0x8020690c
SIOCSIFBRDADDR = 0x80206913
@@ -1096,8 +1125,10 @@ const (
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
@@ -1107,6 +1138,7 @@ const (
SO_ACCEPTCONN = 0x2
SO_ACCEPTFILTER = 0x1000
SO_BROADCAST = 0x20
+ SO_CPUHINT = 0x1030
SO_DEBUG = 0x1
SO_DONTROUTE = 0x10
SO_ERROR = 0x1007
@@ -1127,8 +1159,12 @@ const (
SO_TYPE = 0x1008
SO_USELOOPBACK = 0x40
TCIFLUSH = 0x1
+ TCIOFF = 0x3
TCIOFLUSH = 0x3
+ TCION = 0x4
TCOFLUSH = 0x2
+ TCOOFF = 0x1
+ TCOON = 0x2
TCP_FASTKEEP = 0x80
TCP_KEEPCNT = 0x400
TCP_KEEPIDLE = 0x100
@@ -1151,7 +1187,7 @@ const (
TIOCCBRK = 0x2000747a
TIOCCDTR = 0x20007478
TIOCCONS = 0x80047462
- TIOCDCDTIMESTAMP = 0x40087458
+ TIOCDCDTIMESTAMP = 0x40107458
TIOCDRAIN = 0x2000745e
TIOCEXCL = 0x2000740d
TIOCEXT = 0x80047460
@@ -1212,7 +1248,7 @@ const (
TIOCSTI = 0x80017472
TIOCSTOP = 0x2000746f
TIOCSWINSZ = 0x80087467
- TIOCTIMESTAMP = 0x40087459
+ TIOCTIMESTAMP = 0x40107459
TIOCUCNTL = 0x80047466
TOSTOP = 0x400000
VCHECKPT = 0x13
@@ -1227,6 +1263,8 @@ const (
VKILL = 0x5
VLNEXT = 0xe
VMIN = 0x10
+ VM_BCACHE_SIZE_MAX = 0x0
+ VM_SWZONE_SIZE_MAX = 0x4000000000
VQUIT = 0x9
VREPRINT = 0x6
VSTART = 0xc
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
new file mode 100644
index 00000000..1d3eec44
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
@@ -0,0 +1,1706 @@
+// 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_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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "operation canceled",
+ 86: "illegal byte sequence",
+ 87: "attribute not found",
+ 88: "programming error",
+ 89: "bad message",
+ 90: "multihop attempted",
+ 91: "link has been severed",
+ 92: "protocol error",
+ 93: "capabilities insufficient",
+ 94: "not permitted in capability mode",
+ 95: "state not recoverable",
+ 96: "previous owner died",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "unknown signal",
+ 33: "unknown signal",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
new file mode 100644
index 00000000..ac094f9c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
@@ -0,0 +1,1707 @@
+// 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_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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "operation canceled",
+ 86: "illegal byte sequence",
+ 87: "attribute not found",
+ 88: "programming error",
+ 89: "bad message",
+ 90: "multihop attempted",
+ 91: "link has been severed",
+ 92: "protocol error",
+ 93: "capabilities insufficient",
+ 94: "not permitted in capability mode",
+ 95: "state not recoverable",
+ 96: "previous owner died",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "unknown signal",
+ 33: "unknown signal",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
new file mode 100644
index 00000000..c5c6f13e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
@@ -0,0 +1,1715 @@
+// 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_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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "operation timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "operation canceled",
+ 86: "illegal byte sequence",
+ 87: "attribute not found",
+ 88: "programming error",
+ 89: "bad message",
+ 90: "multihop attempted",
+ 91: "link has been severed",
+ 92: "protocol error",
+ 93: "capabilities insufficient",
+ 94: "not permitted in capability mode",
+ 95: "state not recoverable",
+ 96: "previous owner died",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "suspended (signal)",
+ 18: "suspended",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "unknown signal",
+ 33: "unknown signal",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
new file mode 100644
index 00000000..4066ad1e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -0,0 +1,2231 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build 386,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_32BIT = 0x40
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x400854d5
+ TUNDETACHFILTER = 0x400854d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x800854db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
new file mode 100644
index 00000000..c9f53b0b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -0,0 +1,2232 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build amd64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_32BIT = 0x40
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
new file mode 100644
index 00000000..3e8c2c7a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -0,0 +1,2236 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build arm,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x400854d5
+ TUNDETACHFILTER = 0x400854d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x800854db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
new file mode 100644
index 00000000..38345334
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -0,0 +1,2222 @@
+// 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
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ EXTRA_MAGIC = 0x45585401
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
new file mode 100644
index 00000000..bde8f7d0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -0,0 +1,2241 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x800854d5
+ TUNDETACHFILTER = 0x800854d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x400854db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
new file mode 100644
index 00000000..42b6397d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -0,0 +1,2241 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
new file mode 100644
index 00000000..bd4ff814
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -0,0 +1,2241 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mips64le,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
new file mode 100644
index 00000000..6dfc95c4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -0,0 +1,2241 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build mipsle,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x80
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x800
+ MAP_ANONYMOUS = 0x800
+ MAP_DENYWRITE = 0x2000
+ MAP_EXECUTABLE = 0x4000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x40000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_STYLE = 0x1008
+ SO_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x5407
+ TCGETA = 0x5401
+ TCGETS = 0x540d
+ TCGETS2 = 0x4030542a
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x80047478
+ TIOCEXCL = 0x740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x7400
+ TIOCGETP = 0x7408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x5492
+ 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
+ TIOCSLCKTRMIOS = 0x548c
+ TIOCSLTC = 0x7475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0xc020542f
+ TIOCSSERIAL = 0x5485
+ TIOCSSOFTCAR = 0x5482
+ TIOCSTI = 0x5472
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x8000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x800854d5
+ TUNDETACHFILTER = 0x800854d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x400854db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x20
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ 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(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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "resource deadlock avoided",
+ 46: "no locks available",
+ 50: "invalid exchange",
+ 51: "invalid request descriptor",
+ 52: "exchange full",
+ 53: "no anode",
+ 54: "invalid request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 73: "RFS specific error",
+ 74: "multihop attempted",
+ 77: "bad message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in too many shared libraries",
+ 87: "cannot exec a shared library directly",
+ 88: "invalid or incomplete multibyte or wide character",
+ 89: "function not implemented",
+ 90: "too many levels of symbolic links",
+ 91: "interrupted system call should be restarted",
+ 92: "streams pipe error",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "protocol not available",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection on reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 135: "structure needs cleaning",
+ 137: "not a XENIX named type file",
+ 138: "no XENIX semaphores available",
+ 139: "is a named type file",
+ 140: "remote I/O error",
+ 141: "unknown error 141",
+ 142: "unknown error 142",
+ 143: "cannot send after transport endpoint shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale file handle",
+ 158: "operation canceled",
+ 159: "no medium found",
+ 160: "wrong medium type",
+ 161: "required key not available",
+ 162: "key has expired",
+ 163: "key has been revoked",
+ 164: "key was rejected by service",
+ 165: "owner died",
+ 166: "state not recoverable",
+ 167: "operation not possible due to RF-kill",
+ 168: "memory page has hardware error",
+ 1133: "disk quota exceeded",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "user defined signal 1",
+ 17: "user defined signal 2",
+ 18: "child exited",
+ 19: "power failure",
+ 20: "window changed",
+ 21: "urgent I/O condition",
+ 22: "I/O possible",
+ 23: "stopped (signal)",
+ 24: "stopped",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual timer expired",
+ 29: "profiling timer expired",
+ 30: "CPU time limit exceeded",
+ 31: "file size limit exceeded",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
new file mode 100644
index 00000000..46b09d32
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -0,0 +1,2294 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build ppc64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ 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
+ CBAUD = 0xff
+ CBAUDEX = 0x0
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIGNAL = 0xff
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x1000
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80000000
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x4
+ ONLCR = 0x2
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x2000741f
+ TCGETA = 0x40147417
+ TCGETS = 0x402c7413
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ TCSAFLUSH = 0x2
+ TCSBRK = 0x2000741d
+ TCSBRKP = 0x5425
+ TCSETA = 0x80147418
+ TCSETAF = 0x8014741c
+ TCSETAW = 0x80147419
+ TCSETS = 0x802c7414
+ TCSETSF = 0x802c7416
+ TCSETSW = 0x802c7415
+ TCXONC = 0x2000741e
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x40045432
+ TIOCGETC = 0x40067412
+ TIOCGETD = 0x5424
+ TIOCGETP = 0x40067408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSLTC = 0x80067475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x5412
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x400000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4000
+ XTABS = 0xc00
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 58: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
new file mode 100644
index 00000000..08adb1d8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -0,0 +1,2294 @@
+// mkerrors.sh -Wall -Werror -static -I/tmp/include
+// Code generated by the command above; see README.md. DO NOT EDIT.
+
+// +build ppc64le,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ 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
+ CBAUD = 0xff
+ CBAUDEX = 0x0
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIGNAL = 0xff
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x1000
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80000000
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x4
+ ONLCR = 0x2
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x80042409
+ PERF_EVENT_IOC_PERIOD = 0x80082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ TCFLSH = 0x2000741f
+ TCGETA = 0x40147417
+ TCGETS = 0x402c7413
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ TCSAFLUSH = 0x2
+ TCSBRK = 0x2000741d
+ TCSBRKP = 0x5425
+ TCSETA = 0x80147418
+ TCSETAF = 0x8014741c
+ TCSETAW = 0x80147419
+ TCSETS = 0x802c7414
+ TCSETSF = 0x802c7416
+ TCSETSW = 0x802c7415
+ TCXONC = 0x2000741e
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x40045432
+ TIOCGETC = 0x40067412
+ TIOCGETD = 0x5424
+ TIOCGETP = 0x40067408
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSLTC = 0x80067475
+ TIOCSPGRP = 0x80047476
+ TIOCSPTLCK = 0x80045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x5412
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x400000
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4000
+ XTABS = 0xc00
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 58: "file locking deadlock error",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
new file mode 100644
index 00000000..70bc1a2f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -0,0 +1,2293 @@
+// 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
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2c
+ 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
+ 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
+ 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_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
+ 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
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ EFD_CLOEXEC = 0x80000
+ EFD_NONBLOCK = 0x800
+ EFD_SEMAPHORE = 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 = 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ 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_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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ ETH_P_NCSI = 0x88f8
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x1000
+ 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_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 = 0x3
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x0
+ 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_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
+ 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 = 0x8
+ 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_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_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
+ 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_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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_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_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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MCL_ONFAULT = 0x4
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ 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
+ NAME_MAX = 0xff
+ 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_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
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_PAUSE_OUTPUT = 0x40042409
+ PERF_EVENT_IOC_PERIOD = 0x40082404
+ 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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ 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 = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x1a
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_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_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 = 0x63
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ RTM_NEWCACHEREPORT = 0x60
+ 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 = 0x15
+ RTM_NR_MSGTYPES = 0x54
+ 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_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_WIFI_STATUS = 0x29
+ SECCOMP_MODE_DISABLED = 0x0
+ SECCOMP_MODE_FILTER = 0x2
+ SECCOMP_MODE_STRICT = 0x1
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSKNS = 0x894c
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ 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_X25 = 0x106
+ 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_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_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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x25
+ SO_TIMESTAMPNS = 0x23
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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 = 0x8
+ 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_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x5428
+ TIOCCONS = 0x541d
+ TIOCEXCL = 0x540c
+ TIOCGDEV = 0x80045432
+ TIOCGETD = 0x5424
+ TIOCGEXCL = 0x80045440
+ TIOCGICOUNT = 0x545d
+ 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
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x5410
+ TIOCSPTLCK = 0x40045431
+ TIOCSRS485 = 0x542f
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x541a
+ TIOCSTI = 0x5412
+ TIOCSWINSZ = 0x5414
+ TIOCVHANGUP = 0x5437
+ TOSTOP = 0x100
+ TS_COMM_LEN = 0x20
+ TUNATTACHFILTER = 0x401054d5
+ TUNDETACHFILTER = 0x401054d6
+ TUNGETFEATURES = 0x800454cf
+ TUNGETFILTER = 0x801054db
+ TUNGETIFF = 0x800454d2
+ TUNGETSNDBUF = 0x800454d3
+ TUNGETVNETBE = 0x800454df
+ TUNGETVNETHDRSZ = 0x800454d7
+ TUNGETVNETLE = 0x800454dd
+ TUNSETDEBUG = 0x400454c9
+ TUNSETGROUP = 0x400454ce
+ TUNSETIFF = 0x400454ca
+ TUNSETIFINDEX = 0x400454da
+ TUNSETLINK = 0x400454cd
+ TUNSETNOCSUM = 0x400454c8
+ TUNSETOFFLOAD = 0x400454d0
+ TUNSETOWNER = 0x400454cc
+ TUNSETPERSIST = 0x400454cb
+ TUNSETQUEUE = 0x400454d9
+ TUNSETSNDBUF = 0x400454d4
+ TUNSETTXFILTER = 0x400454d1
+ TUNSETVNETBE = 0x400454de
+ TUNSETVNETHDRSZ = 0x400454d8
+ TUNSETVNETLE = 0x400454dc
+ UMOUNT_NOFOLLOW = 0x8
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x1
+ XATTR_REPLACE = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+)
+
+// 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 35: "resource deadlock avoided",
+ 36: "file name too long",
+ 37: "no locks available",
+ 38: "function not implemented",
+ 39: "directory not empty",
+ 40: "too many levels of symbolic links",
+ 42: "no message of desired type",
+ 43: "identifier removed",
+ 44: "channel number out of range",
+ 45: "level 2 not synchronized",
+ 46: "level 3 halted",
+ 47: "level 3 reset",
+ 48: "link number out of range",
+ 49: "protocol driver not attached",
+ 50: "no CSI structure available",
+ 51: "level 2 halted",
+ 52: "invalid exchange",
+ 53: "invalid request descriptor",
+ 54: "exchange full",
+ 55: "no anode",
+ 56: "invalid request code",
+ 57: "invalid slot",
+ 59: "bad font file format",
+ 60: "device not a stream",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of streams resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "multihop attempted",
+ 73: "RFS specific error",
+ 74: "bad message",
+ 75: "value too large for defined data type",
+ 76: "name not unique on network",
+ 77: "file descriptor in bad state",
+ 78: "remote address changed",
+ 79: "can not access a needed shared library",
+ 80: "accessing a corrupted shared library",
+ 81: ".lib section in a.out corrupted",
+ 82: "attempting to link in too many shared libraries",
+ 83: "cannot exec a shared library directly",
+ 84: "invalid or incomplete multibyte or wide character",
+ 85: "interrupted system call should be restarted",
+ 86: "streams pipe error",
+ 87: "too many users",
+ 88: "socket operation on non-socket",
+ 89: "destination address required",
+ 90: "message too long",
+ 91: "protocol wrong type for socket",
+ 92: "protocol not available",
+ 93: "protocol not supported",
+ 94: "socket type not supported",
+ 95: "operation not supported",
+ 96: "protocol family not supported",
+ 97: "address family not supported by protocol",
+ 98: "address already in use",
+ 99: "cannot assign requested address",
+ 100: "network is down",
+ 101: "network is unreachable",
+ 102: "network dropped connection on reset",
+ 103: "software caused connection abort",
+ 104: "connection reset by peer",
+ 105: "no buffer space available",
+ 106: "transport endpoint is already connected",
+ 107: "transport endpoint is not connected",
+ 108: "cannot send after transport endpoint shutdown",
+ 109: "too many references: cannot splice",
+ 110: "connection timed out",
+ 111: "connection refused",
+ 112: "host is down",
+ 113: "no route to host",
+ 114: "operation already in progress",
+ 115: "operation now in progress",
+ 116: "stale file handle",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "disk quota exceeded",
+ 123: "no medium found",
+ 124: "wrong medium type",
+ 125: "operation canceled",
+ 126: "required key not available",
+ 127: "key has expired",
+ 128: "key has been revoked",
+ 129: "key was rejected by service",
+ 130: "owner died",
+ 131: "state not recoverable",
+ 132: "operation not possible due to RF-kill",
+ 133: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "stack fault",
+ 17: "child exited",
+ 18: "continued",
+ 19: "stopped (signal)",
+ 20: "stopped",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "urgent I/O condition",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "I/O possible",
+ 30: "power failure",
+ 31: "bad system call",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
new file mode 100644
index 00000000..95de199f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -0,0 +1,2142 @@
+// mkerrors.sh -m64
+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+
+// +build sparc64,linux
+
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs -- -m64 _const.go
+
+package unix
+
+import "syscall"
+
+const (
+ 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 = 0x2a
+ 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_RDS = 0x15
+ AF_ROSE = 0xb
+ AF_ROUTE = 0x10
+ AF_RXRPC = 0x21
+ AF_SECURITY = 0xe
+ AF_SNA = 0x16
+ AF_TIPC = 0x1e
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_VSOCK = 0x28
+ AF_WANPIPE = 0x19
+ AF_X25 = 0x9
+ 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
+ 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_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_X25 = 0x10f
+ ASI_LEON_DFLUSH = 0x11
+ ASI_LEON_IFLUSH = 0x10
+ ASI_LEON_MMUFLUSH = 0x18
+ B0 = 0x0
+ B1000000 = 0x100c
+ B110 = 0x3
+ B115200 = 0x1002
+ B1152000 = 0x100d
+ B1200 = 0x9
+ B134 = 0x4
+ B150 = 0x5
+ B1500000 = 0x100e
+ B153600 = 0x1006
+ B1800 = 0xa
+ B19200 = 0xe
+ B200 = 0x6
+ B2000000 = 0x100f
+ B230400 = 0x1003
+ B2400 = 0xb
+ B300 = 0x7
+ B307200 = 0x1007
+ B38400 = 0xf
+ B460800 = 0x1004
+ B4800 = 0xc
+ B50 = 0x1
+ B500000 = 0x100a
+ B57600 = 0x1001
+ B576000 = 0x100b
+ B600 = 0x8
+ B614400 = 0x1008
+ B75 = 0x2
+ B76800 = 0x1005
+ B921600 = 0x1009
+ B9600 = 0xd
+ BLKBSZGET = 0x80081270
+ BLKBSZSET = 0x40081271
+ BLKFLSBUF = 0x1261
+ BLKFRAGET = 0x1265
+ BLKFRASET = 0x1264
+ BLKGETSIZE = 0x1260
+ BLKGETSIZE64 = 0x80081272
+ 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_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_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_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_NET_OFF = -0x100000
+ BPF_OR = 0x40
+ 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
+ BPF_XOR = 0xa0
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x2000
+ BSDLY = 0x2000
+ 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_RTR_FLAG = 0x40000000
+ CAN_SFF_ID_BITS = 0xb
+ CAN_SFF_MASK = 0x7ff
+ CAN_TP16 = 0x3
+ CAN_TP20 = 0x4
+ CBAUD = 0x100f
+ CBAUDEX = 0x1000
+ CFLUSH = 0xf
+ 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_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
+ CR0 = 0x0
+ CR1 = 0x200
+ CR2 = 0x400
+ CR3 = 0x600
+ CRDLY = 0x600
+ CREAD = 0x80
+ CRTSCTS = 0x80000000
+ CS5 = 0x0
+ CS6 = 0x10
+ CS7 = 0x20
+ CS8 = 0x30
+ CSIGNAL = 0xff
+ CSIZE = 0x30
+ CSTART = 0x11
+ CSTATUS = 0x0
+ CSTOP = 0x13
+ CSTOPB = 0x40
+ CSUSP = 0x1a
+ 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
+ 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_ECONET = 0x18
+ ETH_P_EDSA = 0xdada
+ ETH_P_FCOE = 0x8906
+ ETH_P_FIP = 0x8914
+ ETH_P_HDLC = 0x19
+ ETH_P_HSR = 0x892f
+ ETH_P_IEEE802154 = 0xf6
+ ETH_P_IEEEPUP = 0xa00
+ ETH_P_IEEEPUPAT = 0xa01
+ 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_MOBITEX = 0x15
+ ETH_P_MPLS_MC = 0x8848
+ ETH_P_MPLS_UC = 0x8847
+ ETH_P_MVRP = 0x88f5
+ 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_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
+ EXTA = 0xe
+ EXTB = 0xf
+ EXTPROC = 0x10000
+ 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_ZERO_RANGE = 0x10
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x8000
+ FFDLY = 0x8000
+ FLUSHO = 0x2000
+ 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_LOCK = 0x1
+ F_NOTIFY = 0x402
+ F_OFD_GETLK = 0x24
+ F_OFD_SETLK = 0x25
+ F_OFD_SETLKW = 0x26
+ F_OK = 0x0
+ F_RDLCK = 0x1
+ 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_SHLCK = 0x8
+ F_TEST = 0x3
+ F_TLOCK = 0x2
+ F_ULOCK = 0x0
+ F_UNLCK = 0x3
+ F_WRLCK = 0x2
+ GRND_NONBLOCK = 0x1
+ GRND_RANDOM = 0x2
+ 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 = 0x8
+ 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_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_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
+ 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_ADD_MEMBERSHIP = 0x14
+ IPV6_AUTHHDR = 0xa
+ IPV6_CHECKSUM = 0x7
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DROP_MEMBERSHIP = 0x15
+ IPV6_DSTOPTS = 0x3b
+ 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_MTU = 0x18
+ IPV6_MTU_DISCOVER = 0x17
+ IPV6_MULTICAST_HOPS = 0x12
+ IPV6_MULTICAST_IF = 0x11
+ IPV6_MULTICAST_LOOP = 0x13
+ IPV6_NEXTHOP = 0x9
+ 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_RECVHOPLIMIT = 0x33
+ IPV6_RECVHOPOPTS = 0x35
+ 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_UNICAST_HOPS = 0x10
+ 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_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
+ ISTRIP = 0x20
+ IUCLC = 0x200
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x1000
+ IXON = 0x400
+ 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_MERGEABLE = 0xc
+ MADV_NOHUGEPAGE = 0xf
+ MADV_NORMAL = 0x0
+ MADV_RANDOM = 0x1
+ MADV_REMOVE = 0x9
+ MADV_SEQUENTIAL = 0x2
+ MADV_UNMERGEABLE = 0xd
+ MADV_WILLNEED = 0x3
+ MAP_ANON = 0x20
+ MAP_ANONYMOUS = 0x20
+ MAP_DENYWRITE = 0x800
+ MAP_EXECUTABLE = 0x1000
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ 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_STACK = 0x20000
+ MAP_TYPE = 0xf
+ MCL_CURRENT = 0x2000
+ MCL_FUTURE = 0x4000
+ MCL_ONFAULT = 0x8000
+ MNT_DETACH = 0x2
+ MNT_EXPIRE = 0x4
+ MNT_FORCE = 0x1
+ 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
+ MS_ACTIVE = 0x40000000
+ MS_ASYNC = 0x1
+ MS_BIND = 0x1000
+ 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_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_SYNC = 0x4
+ MS_SYNCHRONOUS = 0x10
+ MS_UNBINDABLE = 0x20000
+ NAME_MAX = 0xff
+ 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_FIB_LOOKUP = 0xa
+ NETLINK_FIREWALL = 0x3
+ NETLINK_GENERIC = 0x10
+ 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_SOCK_DIAG = 0x4
+ NETLINK_TX_RING = 0x7
+ NETLINK_UNUSED = 0x1
+ NETLINK_USERSOCK = 0x2
+ NETLINK_XFRM = 0x6
+ 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_APPEND = 0x800
+ NLM_F_ATOMIC = 0x400
+ 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_REPLACE = 0x100
+ NLM_F_REQUEST = 0x1
+ NLM_F_ROOT = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ ONLCR = 0x4
+ ONLRET = 0x20
+ ONOCR = 0x10
+ OPOST = 0x1
+ 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_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_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
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ 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_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_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 = -0x1
+ PR_SET_SECCOMP = 0x16
+ PR_SET_SECUREBITS = 0x1c
+ PR_SET_THP_DISABLE = 0x29
+ PR_SET_TIMERSLACK = 0x1d
+ PR_SET_TIMING = 0xe
+ PR_SET_TSC = 0x1a
+ PR_SET_UNALIGN = 0x6
+ 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
+ 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_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
+ RLIMIT_AS = 0x9
+ RLIMIT_CORE = 0x4
+ RLIMIT_CPU = 0x0
+ RLIMIT_DATA = 0x2
+ RLIMIT_FSIZE = 0x1
+ RLIMIT_NOFILE = 0x6
+ RLIMIT_STACK = 0x3
+ RLIM_INFINITY = -0x1
+ RTAX_ADVMSS = 0x8
+ RTAX_CC_ALGO = 0x10
+ RTAX_CWND = 0x7
+ 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 = 0x10
+ 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 = 0x18
+ RTCF_DIRECTSRC = 0x4000000
+ RTCF_DOREDIRECT = 0x1000000
+ RTCF_LOG = 0x2000000
+ RTCF_MASQ = 0x400000
+ RTCF_NAT = 0x800000
+ RTCF_VALVE = 0x200000
+ 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_DELLINK = 0x11
+ RTM_DELMDB = 0x55
+ RTM_DELNEIGH = 0x1d
+ 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_LOOKUP_TABLE = 0x1000
+ RTM_F_NOTIFY = 0x100
+ RTM_F_PREFIX = 0x800
+ RTM_GETACTION = 0x32
+ RTM_GETADDR = 0x16
+ RTM_GETADDRLABEL = 0x4a
+ RTM_GETANYCAST = 0x3e
+ 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 = 0x5f
+ RTM_NEWACTION = 0x30
+ RTM_NEWADDR = 0x14
+ RTM_NEWADDRLABEL = 0x48
+ 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 = 0x14
+ RTM_NR_MSGTYPES = 0x50
+ RTM_SETDCB = 0x4f
+ RTM_SETLINK = 0x13
+ RTM_SETNEIGHTBL = 0x43
+ RTNH_ALIGNTO = 0x4
+ RTNH_COMPARE_MASK = 0x11
+ RTNH_F_DEAD = 0x1
+ RTNH_F_LINKDOWN = 0x10
+ RTNH_F_OFFLOAD = 0x8
+ RTNH_F_ONLINK = 0x4
+ RTNH_F_PERVASIVE = 0x2
+ RTN_MAX = 0xb
+ RTPROT_BABEL = 0x2a
+ RTPROT_BIRD = 0xc
+ RTPROT_BOOT = 0x3
+ RTPROT_DHCP = 0x10
+ RTPROT_DNROUTED = 0xd
+ RTPROT_GATED = 0x8
+ RTPROT_KERNEL = 0x2
+ RTPROT_MROUTED = 0x11
+ RTPROT_MRT = 0xa
+ RTPROT_NTK = 0xf
+ RTPROT_RA = 0x9
+ RTPROT_REDIRECT = 0x1
+ 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_TIMESTAMPNS = 0x21
+ SCM_WIFI_STATUS = 0x25
+ 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
+ SIOCGRARP = 0x8961
+ SIOCGSTAMP = 0x8906
+ SIOCGSTAMPNS = 0x8907
+ 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
+ SOCK_CLOEXEC = 0x400000
+ SOCK_DCCP = 0x6
+ SOCK_DGRAM = 0x2
+ 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_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_X25 = 0x106
+ 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_BPF_EXTENSIONS = 0x32
+ SO_BROADCAST = 0x20
+ SO_BSDCOMPAT = 0x400
+ SO_BUSY_POLL = 0x30
+ SO_CNX_ADVICE = 0x37
+ SO_DEBUG = 0x1
+ SO_DETACH_BPF = 0x1b
+ SO_DETACH_FILTER = 0x1b
+ SO_DOMAIN = 0x1029
+ SO_DONTROUTE = 0x10
+ SO_ERROR = 0x1007
+ SO_GET_FILTER = 0x1a
+ SO_INCOMING_CPU = 0x33
+ SO_KEEPALIVE = 0x8
+ SO_LINGER = 0x80
+ SO_LOCK_FILTER = 0x28
+ SO_MARK = 0x22
+ SO_MAX_PACING_RATE = 0x31
+ SO_NOFCS = 0x27
+ SO_NO_CHECK = 0xb
+ SO_OOBINLINE = 0x100
+ SO_PASSCRED = 0x2
+ SO_PASSSEC = 0x1f
+ SO_PEEK_OFF = 0x26
+ SO_PEERCRED = 0x40
+ 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_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_TIMESTAMP = 0x1d
+ SO_TIMESTAMPING = 0x23
+ SO_TIMESTAMPNS = 0x21
+ 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
+ SPLICE_F_GIFT = 0x8
+ SPLICE_F_MORE = 0x4
+ SPLICE_F_MOVE = 0x1
+ SPLICE_F_NONBLOCK = 0x2
+ 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
+ TCFLSH = 0x20005407
+ TCGETA = 0x40125401
+ TCGETS = 0x40245408
+ TCGETS2 = 0x402c540c
+ TCIFLUSH = 0x0
+ TCIOFF = 0x2
+ TCIOFLUSH = 0x2
+ TCION = 0x3
+ TCOFLUSH = 0x1
+ TCOOFF = 0x0
+ TCOON = 0x1
+ TCP_CC_INFO = 0x1a
+ 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_INFO = 0xb
+ 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_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_OPTIONS = 0x16
+ TCP_REPAIR_QUEUE = 0x14
+ 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_USER_TIMEOUT = 0x12
+ TCP_WINDOW_CLAMP = 0xa
+ 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
+ TIOCCBRK = 0x2000747a
+ TIOCCONS = 0x20007424
+ TIOCEXCL = 0x2000740d
+ TIOCGDEV = 0x40045432
+ TIOCGETD = 0x40047400
+ TIOCGEXCL = 0x40045440
+ TIOCGICOUNT = 0x545d
+ TIOCGLCKTRMIOS = 0x5456
+ TIOCGPGRP = 0x40047483
+ TIOCGPKT = 0x40045438
+ TIOCGPTLCK = 0x40045439
+ TIOCGPTN = 0x40047486
+ 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_LOOP = 0x8000
+ TIOCM_OUT1 = 0x2000
+ TIOCM_OUT2 = 0x4000
+ 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
+ TIOCSER_TEMT = 0x1
+ TIOCSETD = 0x80047401
+ TIOCSIG = 0x80047488
+ TIOCSLCKTRMIOS = 0x5457
+ TIOCSPGRP = 0x80047482
+ TIOCSPTLCK = 0x80047487
+ TIOCSRS485 = 0xc0205442
+ TIOCSSERIAL = 0x541f
+ TIOCSSOFTCAR = 0x80047465
+ TIOCSTART = 0x2000746e
+ TIOCSTI = 0x80017472
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCVHANGUP = 0x20005437
+ TOSTOP = 0x100
+ TUNATTACHFILTER = 0x801054d5
+ TUNDETACHFILTER = 0x801054d6
+ TUNGETFEATURES = 0x400454cf
+ TUNGETFILTER = 0x401054db
+ TUNGETIFF = 0x400454d2
+ TUNGETSNDBUF = 0x400454d3
+ TUNGETVNETBE = 0x400454df
+ TUNGETVNETHDRSZ = 0x400454d7
+ TUNGETVNETLE = 0x400454dd
+ TUNSETDEBUG = 0x800454c9
+ TUNSETGROUP = 0x800454ce
+ TUNSETIFF = 0x800454ca
+ TUNSETIFINDEX = 0x800454da
+ TUNSETLINK = 0x800454cd
+ TUNSETNOCSUM = 0x800454c8
+ TUNSETOFFLOAD = 0x800454d0
+ TUNSETOWNER = 0x800454cc
+ TUNSETPERSIST = 0x800454cb
+ TUNSETQUEUE = 0x800454d9
+ TUNSETSNDBUF = 0x800454d4
+ TUNSETTXFILTER = 0x800454d1
+ TUNSETVNETBE = 0x800454de
+ TUNSETVNETHDRSZ = 0x800454d8
+ TUNSETVNETLE = 0x800454dc
+ VDISCARD = 0xd
+ VDSUSP = 0xb
+ VEOF = 0x4
+ VEOL = 0x5
+ 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
+ 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
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOTHREAD = 0x20000000
+ WNOWAIT = 0x1000000
+ WORDSIZE = 0x40
+ WRAP = 0x20000
+ WSTOPPED = 0x2
+ WUNTRACED = 0x2
+ XCASE = 0x4
+ XTABS = 0x1800
+ __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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "no such device or address",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device or resource busy",
+ 17: "file exists",
+ 18: "invalid cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "numerical result out of range",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol",
+ 48: "address already in use",
+ 49: "cannot assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "transport endpoint is already connected",
+ 57: "transport endpoint is not connected",
+ 58: "cannot send after transport endpoint shutdown",
+ 59: "too many references: cannot splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disk quota exceeded",
+ 70: "stale file handle",
+ 71: "object is remote",
+ 72: "device not a stream",
+ 73: "timer expired",
+ 74: "out of streams resources",
+ 75: "no message of desired type",
+ 76: "bad message",
+ 77: "identifier removed",
+ 78: "resource deadlock avoided",
+ 79: "no locks available",
+ 80: "machine is not on the network",
+ 81: "unknown error 81",
+ 82: "link has been severed",
+ 83: "advertise error",
+ 84: "srmount error",
+ 85: "communication error on send",
+ 86: "protocol error",
+ 87: "multihop attempted",
+ 88: "RFS specific error",
+ 89: "remote address changed",
+ 90: "function not implemented",
+ 91: "streams pipe error",
+ 92: "value too large for defined data type",
+ 93: "file descriptor in bad state",
+ 94: "channel number out of range",
+ 95: "level 2 not synchronized",
+ 96: "level 3 halted",
+ 97: "level 3 reset",
+ 98: "link number out of range",
+ 99: "protocol driver not attached",
+ 100: "no CSI structure available",
+ 101: "level 2 halted",
+ 102: "invalid exchange",
+ 103: "invalid request descriptor",
+ 104: "exchange full",
+ 105: "no anode",
+ 106: "invalid request code",
+ 107: "invalid slot",
+ 108: "file locking deadlock error",
+ 109: "bad font file format",
+ 110: "cannot exec a shared library directly",
+ 111: "no data available",
+ 112: "accessing a corrupted shared library",
+ 113: "package not installed",
+ 114: "can not access a needed shared library",
+ 115: "name not unique on network",
+ 116: "interrupted system call should be restarted",
+ 117: "structure needs cleaning",
+ 118: "not a XENIX named type file",
+ 119: "no XENIX semaphores available",
+ 120: "is a named type file",
+ 121: "remote I/O error",
+ 122: "invalid or incomplete multibyte or wide character",
+ 123: "attempting to link in too many shared libraries",
+ 124: ".lib section in a.out corrupted",
+ 125: "no medium found",
+ 126: "wrong medium type",
+ 127: "operation canceled",
+ 128: "required key not available",
+ 129: "key has expired",
+ 130: "key has been revoked",
+ 131: "key was rejected by service",
+ 132: "owner died",
+ 133: "state not recoverable",
+ 134: "operation not possible due to RF-kill",
+ 135: "memory page has hardware error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "CPU time limit exceeded",
+ 25: "file size limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window changed",
+ 29: "resource lost",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
new file mode 100644
index 00000000..b4338d5f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
@@ -0,0 +1,1712 @@
+// mkerrors.sh -m32
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x14
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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_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_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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large or too small",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol option not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "illegal byte sequence",
+ 86: "not supported",
+ 87: "operation Canceled",
+ 88: "bad or Corrupt message",
+ 89: "no message available",
+ 90: "no STREAM resources",
+ 91: "not a STREAM",
+ 92: "STREAM ioctl timeout",
+ 93: "attribute not found",
+ 94: "multihop attempted",
+ 95: "link has been severed",
+ 96: "protocol error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "power fail/restart",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
new file mode 100644
index 00000000..4994437b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
@@ -0,0 +1,1702 @@
+// mkerrors.sh -m64
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x14
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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_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_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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large or too small",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol option not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "illegal byte sequence",
+ 86: "not supported",
+ 87: "operation Canceled",
+ 88: "bad or Corrupt message",
+ 89: "no message available",
+ 90: "no STREAM resources",
+ 91: "not a STREAM",
+ 92: "STREAM ioctl timeout",
+ 93: "attribute not found",
+ 94: "multihop attempted",
+ 95: "link has been severed",
+ 96: "protocol error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "power fail/restart",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
new file mode 100644
index 00000000..206c75f0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
@@ -0,0 +1,1691 @@
+// mkerrors.sh -marm
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x14
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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_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_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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large or too small",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol option not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "identifier removed",
+ 83: "no message of desired type",
+ 84: "value too large to be stored in data type",
+ 85: "illegal byte sequence",
+ 86: "not supported",
+ 87: "operation Canceled",
+ 88: "bad or Corrupt message",
+ 89: "no message available",
+ 90: "no STREAM resources",
+ 91: "not a STREAM",
+ 92: "STREAM ioctl timeout",
+ 93: "attribute not found",
+ 94: "multihop attempted",
+ 95: "link has been severed",
+ 96: "protocol error",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "power fail/restart",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
new file mode 100644
index 00000000..3322e998
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
@@ -0,0 +1,1584 @@
+// mkerrors.sh -m32
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0xff
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "IPsec processing failure",
+ 83: "attribute not found",
+ 84: "illegal byte sequence",
+ 85: "no medium found",
+ 86: "wrong medium type",
+ 87: "value too large to be stored in data type",
+ 88: "operation canceled",
+ 89: "identifier removed",
+ 90: "no message of desired type",
+ 91: "not supported",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "thread AST",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
new file mode 100644
index 00000000..1758ecca
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
@@ -0,0 +1,1583 @@
+// mkerrors.sh -m64
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ 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
+ CREAD = 0x800
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0xff
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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 = 0x80286987
+ SIOCALIFADDR = 0x8218691c
+ SIOCATMARK = 0x40047307
+ SIOCBRDGADD = 0x8058693c
+ SIOCBRDGADDS = 0x80586941
+ SIOCBRDGARL = 0x806e694d
+ SIOCBRDGDADDR = 0x81286947
+ SIOCBRDGDEL = 0x8058693d
+ SIOCBRDGDELS = 0x80586942
+ SIOCBRDGFLUSH = 0x80586948
+ SIOCBRDGFRL = 0x806e694e
+ SIOCBRDGGCACHE = 0xc0146941
+ SIOCBRDGGFD = 0xc0146952
+ SIOCBRDGGHT = 0xc0146951
+ SIOCBRDGGIFFLGS = 0xc058693e
+ SIOCBRDGGMA = 0xc0146953
+ SIOCBRDGGPARAM = 0xc0406958
+ SIOCBRDGGPRI = 0xc0146950
+ SIOCBRDGGRL = 0xc030694f
+ SIOCBRDGGSIFS = 0xc058693c
+ SIOCBRDGGTO = 0xc0146946
+ SIOCBRDGIFS = 0xc0586942
+ SIOCBRDGRTS = 0xc0206943
+ SIOCBRDGSADDR = 0xc1286944
+ SIOCBRDGSCACHE = 0x80146940
+ SIOCBRDGSFD = 0x80146952
+ SIOCBRDGSHT = 0x80146951
+ SIOCBRDGSIFCOST = 0x80586955
+ SIOCBRDGSIFFLGS = 0x8058693f
+ SIOCBRDGSIFPRIO = 0x80586954
+ SIOCBRDGSMA = 0x80146953
+ SIOCBRDGSPRI = 0x80146950
+ SIOCBRDGSPROTO = 0x8014695a
+ SIOCBRDGSTO = 0x80146945
+ SIOCBRDGSTXHC = 0x80146959
+ SIOCDELMULTI = 0x80206932
+ SIOCDIFADDR = 0x80206919
+ SIOCDIFGROUP = 0x80286989
+ SIOCDIFPHYADDR = 0x80206949
+ SIOCDLIFADDR = 0x8218691e
+ SIOCGETKALIVE = 0xc01869a4
+ SIOCGETLABEL = 0x8020699a
+ SIOCGETPFLOW = 0xc02069fe
+ SIOCGETPFSYNC = 0xc02069f8
+ SIOCGETSGCNT = 0xc0207534
+ SIOCGETVIFCNT = 0xc0287533
+ SIOCGETVLAN = 0xc0206990
+ SIOCGHIWAT = 0x40047301
+ SIOCGIFADDR = 0xc0206921
+ SIOCGIFASYNCMAP = 0xc020697c
+ SIOCGIFBRDADDR = 0xc0206923
+ SIOCGIFCONF = 0xc0106924
+ SIOCGIFDATA = 0xc020691b
+ SIOCGIFDESCR = 0xc0206981
+ SIOCGIFDSTADDR = 0xc0206922
+ SIOCGIFFLAGS = 0xc0206911
+ SIOCGIFGATTR = 0xc028698b
+ SIOCGIFGENERIC = 0xc020693a
+ SIOCGIFGMEMB = 0xc028698a
+ SIOCGIFGROUP = 0xc0286988
+ SIOCGIFHARDMTU = 0xc02069a5
+ SIOCGIFMEDIA = 0xc0306936
+ 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 = 0xc0106978
+ 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 = 0x8028698c
+ 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
+ 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 = 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "IPsec processing failure",
+ 83: "attribute not found",
+ 84: "illegal byte sequence",
+ 85: "no medium found",
+ 86: "wrong medium type",
+ 87: "value too large to be stored in data type",
+ 88: "operation canceled",
+ 89: "identifier removed",
+ 90: "no message of desired type",
+ 91: "not supported",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "thread AST",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
new file mode 100644
index 00000000..3ed0b260
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
@@ -0,0 +1,1586 @@
+// mkerrors.sh
+// MACHINE GENERATED BY THE COMMAND ABOVE; 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
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0xff
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ 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
+ 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
+ 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
+ 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
+ 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 errors = [...]string{
+ 1: "operation not permitted",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "input/output error",
+ 6: "device not configured",
+ 7: "argument list too long",
+ 8: "exec format error",
+ 9: "bad file descriptor",
+ 10: "no child processes",
+ 11: "resource deadlock avoided",
+ 12: "cannot allocate memory",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "operation not supported by device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "too many open files in system",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "numerical argument out of domain",
+ 34: "result too large",
+ 35: "resource temporarily unavailable",
+ 36: "operation now in progress",
+ 37: "operation already in progress",
+ 38: "socket operation on non-socket",
+ 39: "destination address required",
+ 40: "message too long",
+ 41: "protocol wrong type for socket",
+ 42: "protocol not available",
+ 43: "protocol not supported",
+ 44: "socket type not supported",
+ 45: "operation not supported",
+ 46: "protocol family not supported",
+ 47: "address family not supported by protocol family",
+ 48: "address already in use",
+ 49: "can't assign requested address",
+ 50: "network is down",
+ 51: "network is unreachable",
+ 52: "network dropped connection on reset",
+ 53: "software caused connection abort",
+ 54: "connection reset by peer",
+ 55: "no buffer space available",
+ 56: "socket is already connected",
+ 57: "socket is not connected",
+ 58: "can't send after socket shutdown",
+ 59: "too many references: can't splice",
+ 60: "connection timed out",
+ 61: "connection refused",
+ 62: "too many levels of symbolic links",
+ 63: "file name too long",
+ 64: "host is down",
+ 65: "no route to host",
+ 66: "directory not empty",
+ 67: "too many processes",
+ 68: "too many users",
+ 69: "disc quota exceeded",
+ 70: "stale NFS file handle",
+ 71: "too many levels of remote in path",
+ 72: "RPC struct is bad",
+ 73: "RPC version wrong",
+ 74: "RPC prog. not avail",
+ 75: "program version wrong",
+ 76: "bad procedure for program",
+ 77: "no locks available",
+ 78: "function not implemented",
+ 79: "inappropriate file type or format",
+ 80: "authentication error",
+ 81: "need authenticator",
+ 82: "IPsec processing failure",
+ 83: "attribute not found",
+ 84: "illegal byte sequence",
+ 85: "no medium found",
+ 86: "wrong medium type",
+ 87: "value too large to be stored in data type",
+ 88: "operation canceled",
+ 89: "identifier removed",
+ 90: "no message of desired type",
+ 91: "not supported",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/BPT trap",
+ 6: "abort trap",
+ 7: "EMT trap",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "bus error",
+ 11: "segmentation fault",
+ 12: "bad system call",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+ 16: "urgent I/O condition",
+ 17: "stopped (signal)",
+ 18: "stopped",
+ 19: "continued",
+ 20: "child exited",
+ 21: "stopped (tty input)",
+ 22: "stopped (tty output)",
+ 23: "I/O possible",
+ 24: "cputime limit exceeded",
+ 25: "filesize limit exceeded",
+ 26: "virtual timer expired",
+ 27: "profiling timer expired",
+ 28: "window size changes",
+ 29: "information request",
+ 30: "user defined signal 1",
+ 31: "user defined signal 2",
+ 32: "thread AST",
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
new file mode 100644
index 00000000..81e83d78
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
@@ -0,0 +1,1483 @@
+// 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
+ NL0 = 0x0
+ NL1 = 0x100
+ NLDLY = 0x100
+ NOFLSH = 0x80
+ OCRNL = 0x8
+ OFDEL = 0x80
+ OFILL = 0x40
+ OLCUC = 0x2
+ 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
+ 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
+ VCEOF = 0x8
+ VCEOL = 0x9
+ VDISCARD = 0xd
+ VDSUSP = 0xb
+ VEOF = 0x4
+ VEOL = 0x5
+ VEOL2 = 0x6
+ VERASE = 0x2
+ 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 errors = [...]string{
+ 1: "not owner",
+ 2: "no such file or directory",
+ 3: "no such process",
+ 4: "interrupted system call",
+ 5: "I/O error",
+ 6: "no such device or address",
+ 7: "arg list too long",
+ 8: "exec format error",
+ 9: "bad file number",
+ 10: "no child processes",
+ 11: "resource temporarily unavailable",
+ 12: "not enough space",
+ 13: "permission denied",
+ 14: "bad address",
+ 15: "block device required",
+ 16: "device busy",
+ 17: "file exists",
+ 18: "cross-device link",
+ 19: "no such device",
+ 20: "not a directory",
+ 21: "is a directory",
+ 22: "invalid argument",
+ 23: "file table overflow",
+ 24: "too many open files",
+ 25: "inappropriate ioctl for device",
+ 26: "text file busy",
+ 27: "file too large",
+ 28: "no space left on device",
+ 29: "illegal seek",
+ 30: "read-only file system",
+ 31: "too many links",
+ 32: "broken pipe",
+ 33: "argument out of domain",
+ 34: "result too large",
+ 35: "no message of desired type",
+ 36: "identifier removed",
+ 37: "channel number out of range",
+ 38: "level 2 not synchronized",
+ 39: "level 3 halted",
+ 40: "level 3 reset",
+ 41: "link number out of range",
+ 42: "protocol driver not attached",
+ 43: "no CSI structure available",
+ 44: "level 2 halted",
+ 45: "deadlock situation detected/avoided",
+ 46: "no record locks available",
+ 47: "operation canceled",
+ 48: "operation not supported",
+ 49: "disc quota exceeded",
+ 50: "bad exchange descriptor",
+ 51: "bad request descriptor",
+ 52: "message tables full",
+ 53: "anode table overflow",
+ 54: "bad request code",
+ 55: "invalid slot",
+ 56: "file locking deadlock",
+ 57: "bad font file format",
+ 58: "owner of the lock died",
+ 59: "lock is not recoverable",
+ 60: "not a stream device",
+ 61: "no data available",
+ 62: "timer expired",
+ 63: "out of stream resources",
+ 64: "machine is not on the network",
+ 65: "package not installed",
+ 66: "object is remote",
+ 67: "link has been severed",
+ 68: "advertise error",
+ 69: "srmount error",
+ 70: "communication error on send",
+ 71: "protocol error",
+ 72: "locked lock was unmapped ",
+ 73: "facility is not active",
+ 74: "multihop attempted",
+ 77: "not a data message",
+ 78: "file name too long",
+ 79: "value too large for defined data type",
+ 80: "name not unique on network",
+ 81: "file descriptor in bad state",
+ 82: "remote address changed",
+ 83: "can not access a needed shared library",
+ 84: "accessing a corrupted shared library",
+ 85: ".lib section in a.out corrupted",
+ 86: "attempting to link in more shared libraries than system limit",
+ 87: "can not exec a shared library directly",
+ 88: "illegal byte sequence",
+ 89: "operation not applicable",
+ 90: "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS",
+ 91: "error 91",
+ 92: "error 92",
+ 93: "directory not empty",
+ 94: "too many users",
+ 95: "socket operation on non-socket",
+ 96: "destination address required",
+ 97: "message too long",
+ 98: "protocol wrong type for socket",
+ 99: "option not supported by protocol",
+ 120: "protocol not supported",
+ 121: "socket type not supported",
+ 122: "operation not supported on transport endpoint",
+ 123: "protocol family not supported",
+ 124: "address family not supported by protocol family",
+ 125: "address already in use",
+ 126: "cannot assign requested address",
+ 127: "network is down",
+ 128: "network is unreachable",
+ 129: "network dropped connection because of reset",
+ 130: "software caused connection abort",
+ 131: "connection reset by peer",
+ 132: "no buffer space available",
+ 133: "transport endpoint is already connected",
+ 134: "transport endpoint is not connected",
+ 143: "cannot send after socket shutdown",
+ 144: "too many references: cannot splice",
+ 145: "connection timed out",
+ 146: "connection refused",
+ 147: "host is down",
+ 148: "no route to host",
+ 149: "operation already in progress",
+ 150: "operation now in progress",
+ 151: "stale NFS file handle",
+}
+
+// Signal table
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal Instruction",
+ 5: "trace/Breakpoint Trap",
+ 6: "abort",
+ 7: "emulation Trap",
+ 8: "arithmetic Exception",
+ 9: "killed",
+ 10: "bus Error",
+ 11: "segmentation Fault",
+ 12: "bad System Call",
+ 13: "broken Pipe",
+ 14: "alarm Clock",
+ 15: "terminated",
+ 16: "user Signal 1",
+ 17: "user Signal 2",
+ 18: "child Status Changed",
+ 19: "power-Fail/Restart",
+ 20: "window Size Change",
+ 21: "urgent Socket Condition",
+ 22: "pollable Event",
+ 23: "stopped (signal)",
+ 24: "stopped (user)",
+ 25: "continued",
+ 26: "stopped (tty input)",
+ 27: "stopped (tty output)",
+ 28: "virtual Timer Expired",
+ 29: "profiling Timer Expired",
+ 30: "cpu Limit Exceeded",
+ 31: "file Size Limit Exceeded",
+ 32: "no runnable lwp",
+ 33: "inter-lwp signal",
+ 34: "checkpoint Freeze",
+ 35: "checkpoint Thaw",
+ 36: "thread Cancellation",
+ 37: "resource Lost",
+ 38: "resource Control Exceeded",
+ 39: "reserved for JVM 1",
+ 40: "reserved for JVM 2",
+ 41: "information Request",
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
new file mode 100644
index 00000000..10491e9e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
@@ -0,0 +1,1609 @@
+// mksyscall.pl -l32 -tags darwin,386 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
+
+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 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 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 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 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 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 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 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_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 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 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 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 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
+}
+
+// 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
new file mode 100644
index 00000000..5f1f6bfe
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -0,0 +1,1609 @@
+// mksyscall.pl -tags darwin,amd64 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
+
+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 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 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 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 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 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 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 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_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 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 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 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 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
+}
+
+// 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
new file mode 100644
index 00000000..7a409745
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
@@ -0,0 +1,1609 @@
+// mksyscall.pl -tags darwin,arm 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
+
+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 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 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 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 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 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 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 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_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 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 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 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 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
+}
+
+// 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
new file mode 100644
index 00000000..07c6ebc9
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -0,0 +1,1609 @@
+// mksyscall.pl -tags darwin,arm64 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
+
+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 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 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 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 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 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 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 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_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 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 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 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 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
+}
+
+// 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
new file mode 100644
index 00000000..7fa205cd
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
@@ -0,0 +1,1440 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
new file mode 100644
index 00000000..1a0bb4cb
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -0,0 +1,1877 @@
+// mksyscall.pl -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 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 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_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 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), 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 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 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_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)), 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/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
new file mode 100644
index 00000000..ac1e8e01
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -0,0 +1,1877 @@
+// mksyscall.pl -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 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 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_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 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), 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 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 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_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)), 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/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
new file mode 100644
index 00000000..2b4e6acf
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -0,0 +1,1877 @@
+// mksyscall.pl -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 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 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_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 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 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 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_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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
new file mode 100644
index 00000000..000a4683
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -0,0 +1,1953 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
new file mode 100644
index 00000000..712dffde
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -0,0 +1,2146 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
new file mode 100644
index 00000000..338796d9
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -0,0 +1,2055 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 Getegid() (egid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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 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)), 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
new file mode 100644
index 00000000..fc3006d9
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -0,0 +1,2029 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (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)), 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 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
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
new file mode 100644
index 00000000..4b0ef207
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -0,0 +1,2111 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 int64, err error) {
+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
+ 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
new file mode 100644
index 00000000..31eb98c7
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -0,0 +1,2105 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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_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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_PSELECT6, 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
new file mode 100644
index 00000000..875ffa33
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -0,0 +1,2105 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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_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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_PSELECT6, 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
new file mode 100644
index 00000000..6863e81a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -0,0 +1,2111 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 int64, err error) {
+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags))
+ 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
new file mode 100644
index 00000000..39eacd63
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -0,0 +1,2157 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_RANGE2, 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
new file mode 100644
index 00000000..2a79746b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -0,0 +1,2157 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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_RANGE2, 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
new file mode 100644
index 00000000..49021966
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -0,0 +1,1937 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 Sync() {
+ Syscall(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, _, _ := RawSyscall(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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
new file mode 100644
index 00000000..2dd98434
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -0,0 +1,1833 @@
+// mksyscall.pl -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 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 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 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 futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) {
+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), 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 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 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 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 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 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 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 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 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 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 Exit(code int) {
+ Syscall(SYS_EXIT_GROUP, 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 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 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 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 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 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, _, _ := 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 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, _, _ := RawSyscall(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 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 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 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 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 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 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 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 Sync() {
+ Syscall(SYS_SYNC, 0, 0, 0)
+ 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, _, _ := RawSyscall(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 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 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 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 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 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 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 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 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, _, _ := 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() (euid int) {
+ r0, _, _ := RawSyscall(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, _, _ := RawSyscall(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, _, _ := RawSyscall(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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
new file mode 100644
index 00000000..db99fd0c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -0,0 +1,1346 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
new file mode 100644
index 00000000..7b6c2c87
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -0,0 +1,1346 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
new file mode 100644
index 00000000..0f4cc3b5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -0,0 +1,1346 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 32e46af6..7baea87c 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -1,7 +1,7 @@
-// mksyscall.pl -l32 -dragonfly syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_386.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
+// mksyscall.pl -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 386,dragonfly
+// +build openbsd,386
package unix
@@ -237,7 +237,6 @@ func utimes(path string, timeval *[2]Timeval) (err error) {
return
}
_, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -267,10 +266,14 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// 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)
+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)
}
@@ -279,15 +282,14 @@ func pipe() (r int, w int, err error) {
// 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) {
+func Mlock(b []byte) (err error) {
var _p0 unsafe.Pointer
- if len(p) > 0 {
- _p0 = unsafe.Pointer(&p[0])
+ if len(b) > 0 {
+ _p0 = unsafe.Pointer(&b[0])
} else {
_p0 = unsafe.Pointer(&_zero)
}
- r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), uintptr(offset>>32))
- n = int(r0)
+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -296,14 +298,92 @@ func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) {
// 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) {
+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(p) > 0 {
- _p0 = unsafe.Pointer(&p[0])
+ 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)
}
- r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), uintptr(offset>>32))
+ _, _, 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)
@@ -320,7 +400,6 @@ func Access(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -346,7 +425,6 @@ func Chdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -362,7 +440,6 @@ func Chflags(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -378,7 +455,6 @@ func Chmod(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -394,7 +470,6 @@ func Chown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -410,7 +485,6 @@ func Chroot(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -558,31 +632,6 @@ func Ftruncate(fd int, length int64) (err error) {
// 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)
@@ -738,7 +787,6 @@ func Lchown(path string, uid int, gid int) (err error) {
return
}
_, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -759,8 +807,6 @@ func Link(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -786,7 +832,6 @@ func Lstat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -802,7 +847,6 @@ func Mkdir(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -818,7 +862,6 @@ func Mkfifo(path string, mode uint32) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -834,7 +877,6 @@ func Mknod(path string, mode uint32, dev int) (err error) {
return
}
_, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev))
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -843,14 +885,8 @@ func Mknod(path string, mode uint32, dev int) (err error) {
// 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)
+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)
}
@@ -859,8 +895,14 @@ func Mlock(b []byte) (err error) {
// 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)
+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)
}
@@ -869,14 +911,14 @@ func Mlockall(flags int) (err error) {
// 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)
+func Pathconf(path string, name int) (val int, err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
}
- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot))
+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
+ val = int(r0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -885,51 +927,15 @@ func Mprotect(b []byte, prot int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Munlock(b []byte) (err error) {
+func Pread(fd int, p []byte, offset int64) (n int, err error) {
var _p0 unsafe.Pointer
- if len(b) > 0 {
- _p0 = unsafe.Pointer(&b[0])
+ if len(p) > 0 {
+ _p0 = unsafe.Pointer(&p[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 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))
- use(unsafe.Pointer(_p0))
- fd = int(r0)
+ 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)
}
@@ -938,15 +944,15 @@ func Open(path string, mode int, perm uint32) (fd int, err error) {
// 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
+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(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0)
- use(unsafe.Pointer(_p0))
- val = int(r0)
+ 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)
}
@@ -985,7 +991,6 @@ func Readlink(path string, buf []byte) (n int, err error) {
_p1 = unsafe.Pointer(&_zero)
}
r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)))
- use(unsafe.Pointer(_p0))
n = int(r0)
if e1 != 0 {
err = errnoErr(e1)
@@ -1007,8 +1012,6 @@ func Rename(from string, to string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1024,7 +1027,6 @@ func Revoke(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1040,7 +1042,6 @@ func Rmdir(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1107,7 +1108,6 @@ func Setlogin(name string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1224,7 +1224,6 @@ func Stat(path string, stat *Stat_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1240,7 +1239,6 @@ func Statfs(path string, stat *Statfs_t) (err error) {
return
}
_, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1261,8 +1259,6 @@ func Symlink(path string, link string) (err error) {
return
}
_, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0)
- use(unsafe.Pointer(_p0))
- use(unsafe.Pointer(_p1))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1288,7 +1284,6 @@ func Truncate(path string, length int64) (err error) {
return
}
_, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1305,22 +1300,6 @@ func Umask(newmask int) (oldmask int) {
// 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)
- use(unsafe.Pointer(_p0))
- 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)
@@ -1328,7 +1307,6 @@ func Unlink(path string) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1344,7 +1322,6 @@ func Unmount(path string, flags int) (err error) {
return
}
_, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
- use(unsafe.Pointer(_p0))
if e1 != 0 {
err = errnoErr(e1)
}
@@ -1410,3 +1387,18 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) {
}
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/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
new file mode 100644
index 00000000..0d69ce6b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -0,0 +1,1404 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
new file mode 100644
index 00000000..41572c26
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -0,0 +1,1404 @@
+// mksyscall.pl -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 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 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 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 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 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 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 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 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 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 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 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 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 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_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 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 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/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
new file mode 100644
index 00000000..32b0209a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -0,0 +1,1588 @@
+// mksyscall_solaris.pl -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_ioctl ioctl "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_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_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_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_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___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 procioctl libc_ioctl
+//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 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 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 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 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 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,
+ procioctl,
+ procAccess,
+ procAdjtime,
+ procChdir,
+ procChmod,
+ procChown,
+ procChroot,
+ procClose,
+ procCreat,
+ procDup,
+ procDup2,
+ procExit,
+ procFchdir,
+ procFchmod,
+ procFchmodat,
+ procFchown,
+ procFchownat,
+ procFdatasync,
+ procFlock,
+ procFpathconf,
+ procFstat,
+ 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,
+ procMunlock,
+ procMunlockall,
+ procNanosleep,
+ procOpen,
+ procOpenat,
+ procPathconf,
+ procPause,
+ procPread,
+ procPwrite,
+ procread,
+ procReadlink,
+ procRename,
+ procRenameat,
+ procRmdir,
+ proclseek,
+ 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,
+ proc__xnet_sendto,
+ proc__xnet_socket,
+ proc__xnet_socketpair,
+ procwrite,
+ proc__xnet_getsockopt,
+ procgetpeername,
+ procsetsockopt,
+ procrecvfrom syscallFunc
+)
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Exit(code int) {
+ sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0)
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Getgid() (gid int) {
+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0)
+ gid = int(r0)
+ return
+}
+
+func Getpid() (pid int) {
+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0)
+ pid = int(r0)
+ return
+}
+
+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
+}
+
+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
+}
+
+func Geteuid() (euid int) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0)
+ euid = int(r0)
+ return
+}
+
+func Getegid() (egid int) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0)
+ egid = int(r0)
+ return
+}
+
+func Getppid() (ppid int) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0)
+ ppid = int(r0)
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Getuid() (uid int) {
+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0)
+ uid = int(r0)
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Munlockall() (err error) {
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Pause() (err error) {
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Sync() (err error) {
+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0)
+ if e1 != 0 {
+ err = e1
+ }
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+func Umask(mask int) (oldmask int) {
+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0)
+ oldmask = int(r0)
+ return
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
new file mode 100644
index 00000000..83bb935b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go
@@ -0,0 +1,270 @@
+// mksysctl_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+
+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/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
new file mode 100644
index 00000000..2786773b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go
@@ -0,0 +1,398 @@
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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_TRACE64 = 179
+ SYS_KDEBUG_TRACE = 180
+ SYS_SETGID = 181
+ SYS_SETEGID = 182
+ SYS_SETEUID = 183
+ SYS_SIGRETURN = 184
+ SYS_CHUD = 185
+ 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_STACK_SNAPSHOT = 365
+ 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___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___MAC_GET_LCID = 391
+ SYS___MAC_GET_LCTX = 392
+ SYS___MAC_SET_LCTX = 393
+ SYS_SETLCID = 394
+ SYS_GETLCID = 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_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_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_RENAME_EXT = 488
+ SYS_MREMAP_ENCRYPTED = 489
+ SYS_MAXSYSCALL = 490
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
new file mode 100644
index 00000000..09de240c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
@@ -0,0 +1,398 @@
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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_TRACE64 = 179
+ SYS_KDEBUG_TRACE = 180
+ SYS_SETGID = 181
+ SYS_SETEGID = 182
+ SYS_SETEUID = 183
+ SYS_SIGRETURN = 184
+ SYS_CHUD = 185
+ 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_STACK_SNAPSHOT = 365
+ 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___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___MAC_GET_LCID = 391
+ SYS___MAC_GET_LCTX = 392
+ SYS___MAC_SET_LCTX = 393
+ SYS_SETLCID = 394
+ SYS_GETLCID = 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_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_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_RENAME_EXT = 488
+ SYS_MREMAP_ENCRYPTED = 489
+ SYS_MAXSYSCALL = 490
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
new file mode 100644
index 00000000..41cb6ed3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go
@@ -0,0 +1,426 @@
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.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_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___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_MAXSYSCALL = 522
+ SYS_INVALID = 63
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
new file mode 100644
index 00000000..075816c3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
@@ -0,0 +1,426 @@
+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.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_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___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_MAXSYSCALL = 522
+ SYS_INVALID = 63
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_386.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
index 785240a7..b2c9ef81 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
@@ -1,7 +1,7 @@
// mksysnum_dragonfly.pl
-// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build 386,dragonfly
+// +build amd64,dragonfly
package unix
@@ -42,7 +42,7 @@ const (
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_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, \
@@ -76,7 +76,7 @@ const (
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_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, \
SYS_FSYNC = 95 // { int fsync(int fd); }
@@ -144,7 +144,7 @@ const (
SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \
SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \
SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); }
- SYS_MSGSND = 226 // { int msgsnd(int msqid, void *msgp, size_t msgsz, \
+ SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, \
SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \
SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \
SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \
@@ -224,7 +224,7 @@ const (
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, \
- SYS_SCTP_PEELOFF = 364 // { int sctp_peeloff(int sd, caddr_t name ); }
+ 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, \
@@ -301,4 +301,15 @@ const (
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, \
+ 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/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
new file mode 100644
index 00000000..b64a8122
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
@@ -0,0 +1,353 @@
+// mksysnum_freebsd.pl
+// 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_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
new file mode 100644
index 00000000..81722ac9
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
@@ -0,0 +1,353 @@
+// mksysnum_freebsd.pl
+// 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_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
new file mode 100644
index 00000000..44883141
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
@@ -0,0 +1,353 @@
+// mksysnum_freebsd.pl
+// 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_FORK = 2 // { int fork(void); }
+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \
+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \
+ 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, \
+ 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 \
+ SYS_GETPID = 20 // { pid_t getpid(void); }
+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \
+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \
+ SYS_ACCEPT = 30 // { int accept(int s, \
+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \
+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \
+ 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, \
+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \
+ SYS_GETGID = 47 // { gid_t getgid(void); }
+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \
+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); }
+ SYS_ACCT = 51 // { int acct(char *path); }
+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \
+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \
+ 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, \
+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \
+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \
+ SYS_CHROOT = 61 // { int chroot(char *path); }
+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \
+ 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 \
+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \
+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \
+ SYS_GETPGRP = 81 // { int getpgrp(void); }
+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); }
+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \
+ SYS_SWAPON = 85 // { int swapon(char *name); }
+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \
+ 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, \
+ SYS_FSYNC = 95 // { int fsync(int fd); }
+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \
+ SYS_SOCKET = 97 // { int socket(int domain, int type, \
+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \
+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); }
+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \
+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int listen(int s, int backlog); }
+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \
+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \
+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \
+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \
+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \
+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); }
+ SYS_RMDIR = 137 // { int rmdir(char *path); }
+ SYS_UTIMES = 138 // { int utimes(char *path, \
+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \
+ SYS_SETSID = 147 // { int setsid(void); }
+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \
+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \
+ SYS_GETFH = 161 // { int getfh(char *fname, \
+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); }
+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \
+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \
+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \
+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \
+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \
+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \
+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \
+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \
+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \
+ 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, \
+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \
+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \
+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \
+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); }
+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \
+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \
+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); }
+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \
+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); }
+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \
+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \
+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\
+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); }
+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \
+ SYS_RFORK = 251 // { int rfork(int flags); }
+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \
+ SYS_ISSETUGID = 253 // { int issetugid(void); }
+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); }
+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \
+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); }
+ SYS_LUTIMES = 276 // { int lutimes(char *path, \
+ 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, \
+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \
+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \
+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \
+ SYS_MODNEXT = 300 // { int modnext(int modid); }
+ SYS_MODSTAT = 301 // { int modstat(int modid, \
+ 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 \
+ 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, \
+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \
+ 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, \
+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \
+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \
+ 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, \
+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); }
+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \
+ SYS_JAIL = 338 // { int jail(struct jail *jail); }
+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \
+ 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, \
+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \
+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \
+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \
+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \
+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \
+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \
+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \
+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \
+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \
+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \
+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \
+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \
+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \
+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \
+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_KQUEUE = 362 // { int kqueue(void); }
+ SYS_KEVENT = 363 // { int kevent(int fd, \
+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \
+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \
+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \
+ SYS___SETUGID = 374 // { int __setugid(int flag); }
+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); }
+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \
+ 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, \
+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \
+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \
+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \
+ SYS_KENV = 390 // { int kenv(int what, const char *name, \
+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \
+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \
+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \
+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \
+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \
+ SYS_STATFS = 396 // { int statfs(char *path, \
+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \
+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \
+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \
+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \
+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \
+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \
+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \
+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \
+ SYS_SIGACTION = 416 // { int sigaction(int sig, \
+ SYS_SIGRETURN = 417 // { int sigreturn( \
+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); }
+ SYS_SETCONTEXT = 422 // { int setcontext( \
+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \
+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); }
+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \
+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \
+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \
+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \
+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \
+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \
+ 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__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); }
+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); }
+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); }
+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \
+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \
+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \
+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \
+ 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, \
+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \
+ 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( \
+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \
+ SYS_AUDITCTL = 453 // { int auditctl(char *path); }
+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \
+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \
+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); }
+ 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_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \
+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \
+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \
+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \
+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \
+ 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, \
+ 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, \
+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \
+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \
+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \
+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \
+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \
+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \
+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \
+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \
+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \
+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \
+ 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, \
+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \
+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \
+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \
+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \
+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); }
+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); }
+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \
+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \
+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); }
+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); }
+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); }
+ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, \
+ 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, \
+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \
+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); }
+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \
+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \
+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \
+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \
+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \
+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \
+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \
+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \
+ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, \
+ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, \
+ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, \
+ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, \
+ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, \
+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \
+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \
+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \
+ SYS_ACCEPT4 = 541 // { int accept4(int s, \
+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); }
+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \
+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \
+ SYS_FUTIMENS = 546 // { int futimens(int fd, \
+ SYS_UTIMENSAT = 547 // { int utimensat(int fd, \
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
new file mode 100644
index 00000000..95ab1290
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -0,0 +1,390 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
new file mode 100644
index 00000000..c5dabf2e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -0,0 +1,342 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
new file mode 100644
index 00000000..ab7fa5fd
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -0,0 +1,362 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
new file mode 100644
index 00000000..b1c6b4bd
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -0,0 +1,286 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
new file mode 100644
index 00000000..2e9aa7a3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -0,0 +1,375 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
new file mode 100644
index 00000000..92827635
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -0,0 +1,335 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
new file mode 100644
index 00000000..45bd3fd6
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -0,0 +1,335 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
new file mode 100644
index 00000000..62ccac4b
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -0,0 +1,375 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
new file mode 100644
index 00000000..dfe5dab6
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -0,0 +1,370 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
new file mode 100644
index 00000000..eca97f73
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -0,0 +1,370 @@
+// linux/mksysnum.pl -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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
new file mode 100644
index 00000000..8ea18e6c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -0,0 +1,333 @@
+// linux/mksysnum.pl -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_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_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_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_SELECT = 142
+ 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_NEWFSTATAT = 293
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
new file mode 100644
index 00000000..c9c129dc
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
@@ -0,0 +1,348 @@
+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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_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
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
new file mode 100644
index 00000000..8afda9c4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
@@ -0,0 +1,274 @@
+// mksysnum_netbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
new file mode 100644
index 00000000..aea8dbec
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
@@ -0,0 +1,274 @@
+// mksysnum_netbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
new file mode 100644
index 00000000..c6158a7e
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
@@ -0,0 +1,274 @@
+// mksysnum_netbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
new file mode 100644
index 00000000..3e8ce2a1
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
@@ -0,0 +1,207 @@
+// mksysnum_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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, \
+ SYS_OPEN = 5 // { int sys_open(const char *path, \
+ SYS_CLOSE = 6 // { int sys_close(int fd); }
+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \
+ 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, \
+ 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, \
+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); }
+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \
+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break
+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); }
+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \
+ SYS_GETPID = 20 // { pid_t sys_getpid(void); }
+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \
+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \
+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \
+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \
+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); }
+ 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_KILL = 37 // { int sys_kill(int pid, int signum); }
+ 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, \
+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); }
+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \
+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \
+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \
+ SYS_GETGID = 47 // { gid_t sys_getgid(void); }
+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); }
+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); }
+ 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, \
+ 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, \
+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \
+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \
+ 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, \
+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \
+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \
+ SYS_VFORK = 66 // { int sys_vfork(void); }
+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \
+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \
+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \
+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \
+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \
+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \
+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \
+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \
+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \
+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \
+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); }
+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); }
+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \
+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \
+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \
+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \
+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); }
+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \
+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); }
+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \
+ 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, \
+ 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_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \
+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); }
+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \
+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); }
+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \
+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \
+ 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, \
+ SYS_SETSID = 147 // { int sys_setsid(void); }
+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \
+ 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, \
+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \
+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); }
+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \
+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \
+ 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, \
+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \
+ 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, \
+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); }
+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
+ 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, \
+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \
+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \
+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \
+ 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, \
+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); }
+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); }
+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \
+ 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, \
+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \
+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \
+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \
+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \
+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \
+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \
+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \
+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \
+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \
+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); }
+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); }
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
new file mode 100644
index 00000000..bd28146d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
@@ -0,0 +1,207 @@
+// mksysnum_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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, \
+ SYS_OPEN = 5 // { int sys_open(const char *path, \
+ SYS_CLOSE = 6 // { int sys_close(int fd); }
+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \
+ 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, \
+ 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, \
+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); }
+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \
+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break
+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); }
+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \
+ SYS_GETPID = 20 // { pid_t sys_getpid(void); }
+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \
+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \
+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \
+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \
+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); }
+ 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_KILL = 37 // { int sys_kill(int pid, int signum); }
+ 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, \
+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); }
+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \
+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \
+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \
+ SYS_GETGID = 47 // { gid_t sys_getgid(void); }
+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); }
+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); }
+ 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, \
+ 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, \
+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \
+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \
+ 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, \
+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \
+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \
+ SYS_VFORK = 66 // { int sys_vfork(void); }
+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \
+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \
+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \
+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \
+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \
+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \
+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \
+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \
+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \
+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \
+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); }
+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); }
+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \
+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \
+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \
+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \
+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); }
+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \
+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); }
+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \
+ 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, \
+ 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_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); }
+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \
+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); }
+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \
+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); }
+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \
+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \
+ 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, \
+ SYS_SETSID = 147 // { int sys_setsid(void); }
+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \
+ 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, \
+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \
+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); }
+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \
+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \
+ 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, \
+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \
+ 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, \
+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); }
+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
+ 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, \
+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \
+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \
+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \
+ 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, \
+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); }
+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); }
+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \
+ 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, \
+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \
+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \
+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \
+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \
+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \
+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \
+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \
+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \
+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \
+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); }
+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); }
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
new file mode 100644
index 00000000..32653e53
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
@@ -0,0 +1,213 @@
+// mksysnum_openbsd.pl
+// MACHINE GENERATED BY THE ABOVE COMMAND; 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, \
+ SYS_OPEN = 5 // { int sys_open(const char *path, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); }
+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \
+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break
+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); }
+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \
+ SYS_GETPID = 20 // { pid_t sys_getpid(void); }
+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \
+ 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, \
+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \
+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \
+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \
+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \
+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \
+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \
+ 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, \
+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); }
+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \
+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \
+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \
+ SYS_GETGID = 47 // { gid_t sys_getgid(void); }
+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); }
+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); }
+ 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, \
+ 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, \
+ SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, \
+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \
+ 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, \
+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \
+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); }
+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \
+ SYS_VFORK = 66 // { int sys_vfork(void); }
+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \
+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \
+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \
+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \
+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \
+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \
+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); }
+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \
+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \
+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \
+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \
+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \
+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \
+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \
+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); }
+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); }
+ SYS_SENDSYSLOG = 83 // { int sys_sendsyslog(const void *buf, size_t nbyte); }
+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \
+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \
+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \
+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \
+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \
+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); }
+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \
+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); }
+ SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, \
+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \
+ 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, \
+ 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, \
+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \
+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); }
+ SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, \
+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \
+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \
+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); }
+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \
+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \
+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \
+ 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, \
+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); }
+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \
+ 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, \
+ SYS_SETSID = 147 // { int sys_setsid(void); }
+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \
+ 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, \
+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \
+ 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, \
+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \
+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \
+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \
+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \
+ 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, \
+ 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, \
+ 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, \
+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \
+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \
+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); }
+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \
+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \
+ 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, \
+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \
+ 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, \
+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \
+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \
+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \
+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \
+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); }
+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \
+ 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, \
+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \
+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \
+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \
+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \
+ 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, \
+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); }
+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \
+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); }
+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \
+ 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, \
+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \
+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \
+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \
+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \
+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \
+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \
+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \
+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \
+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \
+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \
+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \
+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); }
+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); }
+)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go
new file mode 100644
index 00000000..c7086598
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go
@@ -0,0 +1,13 @@
+// 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 amd64,solaris
+
+package unix
+
+// TODO(aram): remove these before Go 1.3.
+const (
+ SYS_EXECVE = 59
+ SYS_FCNTL = 62
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
new file mode 100644
index 00000000..e61d78a5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go
@@ -0,0 +1,462 @@
+// 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
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+}
+
+type IfmaMsghdr2 struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+ Refcount int32
+}
+
+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 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
+ Pad_cgo_0 [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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
new file mode 100644
index 00000000..2619155f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -0,0 +1,472 @@
+// 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [4]byte
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec 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
+ Pad_cgo_0 [4]byte
+}
+
+type Fbootstraptransfer_t struct {
+ Offset int64
+ Length uint64
+ Buffer *byte
+}
+
+type Log2phys_t struct {
+ Flags uint32
+ Pad_cgo_0 [8]byte
+ Pad_cgo_1 [8]byte
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+type Dirent struct {
+ Ino uint64
+ Seekoff uint64
+ Reclen uint16
+ Namlen uint16
+ Type uint8
+ Name [1024]int8
+ Pad_cgo_0 [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
+ 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 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+}
+
+type IfmaMsghdr2 struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+ Refcount int32
+}
+
+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 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+}
+
+type Termios struct {
+ Iflag uint64
+ Oflag uint64
+ Cflag uint64
+ Lflag uint64
+ Cc [20]uint8
+ Pad_cgo_0 [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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
new file mode 100644
index 00000000..4dca0d4d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go
@@ -0,0 +1,463 @@
+// 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
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+}
+
+type IfmaMsghdr2 struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+ Refcount int32
+}
+
+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 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
+ Pad_cgo_0 [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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
new file mode 100644
index 00000000..f2881fd1
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -0,0 +1,471 @@
+// +build arm64,darwin
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_darwin.go
+
+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 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
+ Pad_cgo_0 [4]byte
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec 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
+ Pad_cgo_0 [4]byte
+}
+
+type Fbootstraptransfer_t struct {
+ Offset int64
+ Length uint64
+ Buffer *byte
+}
+
+type Log2phys_t struct {
+ Flags uint32
+ Pad_cgo_0 [8]byte
+ Pad_cgo_1 [8]byte
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+type Dirent struct {
+ Ino uint64
+ Seekoff uint64
+ Reclen uint16
+ Namlen uint16
+ Type uint8
+ Name [1024]int8
+ Pad_cgo_0 [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
+ 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 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+}
+
+type IfmaMsghdr2 struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+ Refcount int32
+}
+
+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 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+}
+
+type Termios struct {
+ Iflag uint64
+ Oflag uint64
+ Cflag uint64
+ Lflag uint64
+ Cc [20]uint8
+ Pad_cgo_0 [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
+)
diff --git a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_386.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
index b7e7ff08..67c6bf88 100644
--- a/vendor/github.com/mitchellh/packer/vendor/golang.org/x/sys/unix/ztypes_dragonfly_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
@@ -1,52 +1,52 @@
-// Created by cgo -godefs - DO NOT EDIT
-// cgo -godefs types_dragonfly.go
+// cgo -godefs types_dragonfly.go | go run mkpost.go
+// Code generated by the command above; see README.md. DO NOT EDIT.
-// +build 386,dragonfly
+// +build amd64,dragonfly
package unix
const (
- sizeofPtr = 0x4
+ sizeofPtr = 0x8
sizeofShort = 0x2
sizeofInt = 0x4
- sizeofLong = 0x4
+ sizeofLong = 0x8
sizeofLongLong = 0x8
)
type (
_C_short int16
_C_int int32
- _C_long int32
+ _C_long int64
_C_long_long int64
)
type Timespec struct {
- Sec int32
- Nsec int32
+ Sec int64
+ Nsec int64
}
type Timeval struct {
- Sec int32
- Usec int32
+ Sec int64
+ Usec int64
}
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
+ 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 {
@@ -96,28 +96,30 @@ type Stat_t struct {
}
type Statfs_t struct {
- Spare2 int32
- Bsize int32
- Iosize int32
- Blocks int32
- Bfree int32
- Bavail int32
- Files int32
- Ffree int32
+ Spare2 int64
+ Bsize int64
+ Iosize int64
+ Blocks int64
+ Bfree int64
+ Bavail int64
+ Files int64
+ Ffree int64
Fsid Fsid
Owner uint32
Type int32
Flags int32
- Syncwrites int32
- Asyncwrites int32
+ Pad_cgo_0 [4]byte
+ Syncwrites int64
+ Asyncwrites int64
Fstypename [16]int8
Mntonname [80]int8
- Syncreads int32
- Asyncreads int32
+ Syncreads int64
+ Asyncreads int64
Spares1 int16
Mntfromname [80]int8
Spares2 int16
- Spare [2]int32
+ Pad_cgo_1 [4]byte
+ Spare [2]int64
}
type Flock_t struct {
@@ -197,7 +199,7 @@ type Linger struct {
type Iovec struct {
Base *byte
- Len uint32
+ Len uint64
}
type IPMreq struct {
@@ -213,8 +215,10 @@ type IPv6Mreq struct {
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
@@ -249,7 +253,7 @@ const (
SizeofLinger = 0x8
SizeofIPMreq = 0x8
SizeofIPv6Mreq = 0x14
- SizeofMsghdr = 0x1c
+ SizeofMsghdr = 0x30
SizeofCmsghdr = 0xc
SizeofInet6Pktinfo = 0x14
SizeofIPv6MTUInfo = 0x20
@@ -263,26 +267,26 @@ const (
)
type Kevent_t struct {
- Ident uint32
+ Ident uint64
Filter int16
Flags uint16
Fflags uint32
- Data int32
+ Data int64
Udata *byte
}
type FdSet struct {
- Bits [32]uint32
+ Bits [16]uint64
}
const (
- SizeofIfMsghdr = 0x68
- SizeofIfData = 0x58
+ SizeofIfMsghdr = 0xb0
+ SizeofIfData = 0xa0
SizeofIfaMsghdr = 0x14
SizeofIfmaMsghdr = 0x10
SizeofIfAnnounceMsghdr = 0x18
- SizeofRtMsghdr = 0x5c
- SizeofRtMetrics = 0x38
+ SizeofRtMsghdr = 0x98
+ SizeofRtMetrics = 0x70
)
type IfMsghdr struct {
@@ -304,23 +308,23 @@ type IfData struct {
Recvquota uint8
Xmitquota uint8
Pad_cgo_0 [2]byte
- Mtu uint32
- Metric uint32
- Link_state uint32
+ Mtu uint64
+ Metric uint64
+ Link_state uint64
Baudrate uint64
- Ipackets uint32
- Ierrors uint32
- Opackets uint32
- Oerrors uint32
- Collisions uint32
- Ibytes uint32
- Obytes uint32
- Imcasts uint32
- Omcasts uint32
- Iqdrops uint32
- Noproto uint32
- Hwassist uint32
- Unused uint32
+ 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
}
@@ -366,34 +370,35 @@ type RtMsghdr struct {
Seq int32
Errno int32
Use int32
- Inits uint32
+ Inits uint64
Rmx RtMetrics
}
type RtMetrics struct {
- Locks uint32
- Mtu uint32
- Pksent uint32
- Expire uint32
- Sendpipe uint32
- Ssthresh uint32
- Rtt uint32
- Rttvar uint32
- Recvpipe uint32
- Hopcount uint32
+ Locks uint64
+ Mtu uint64
+ Pksent uint64
+ Expire uint64
+ Sendpipe uint64
+ Ssthresh uint64
+ Rtt uint64
+ Rttvar uint64
+ Recvpipe uint64
+ Hopcount uint64
Mssopt uint16
Pad uint16
- Msl uint32
- Iwmaxsegs uint32
- Iwcapsegs uint32
+ Pad_cgo_0 [4]byte
+ Msl uint64
+ Iwmaxsegs uint64
+ Iwcapsegs uint64
}
const (
SizeofBpfVersion = 0x4
SizeofBpfStat = 0x8
- SizeofBpfProgram = 0x8
+ SizeofBpfProgram = 0x10
SizeofBpfInsn = 0x8
- SizeofBpfHdr = 0x14
+ SizeofBpfHdr = 0x20
)
type BpfVersion struct {
@@ -407,8 +412,9 @@ type BpfStat struct {
}
type BpfProgram struct {
- Len uint32
- Insns *BpfInsn
+ Len uint32
+ Pad_cgo_0 [4]byte
+ Insns *BpfInsn
}
type BpfInsn struct {
@@ -423,7 +429,7 @@ type BpfHdr struct {
Caplen uint32
Datalen uint32
Hdrlen uint16
- Pad_cgo_0 [2]byte
+ Pad_cgo_0 [6]byte
}
type Termios struct {
@@ -435,3 +441,8 @@ type Termios struct {
Ispeed uint32
Ospeed uint32
}
+
+const (
+ AT_FDCWD = 0xfffafdcd
+ AT_SYMLINK_NOFOLLOW = 0x1
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
new file mode 100644
index 00000000..5b28bcbb
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
@@ -0,0 +1,521 @@
+// 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 (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+type Stat_t struct {
+ Dev uint32
+ Ino uint32
+ Mode uint16
+ Nlink uint16
+ Uid uint32
+ Gid uint32
+ Rdev uint32
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Size int64
+ Blocks int64
+ Blksize int32
+ Flags uint32
+ Gen uint32
+ Lspare int32
+ Birthtimespec Timespec
+ Pad_cgo_0 [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 [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 uint32
+ Reclen uint16
+ Type uint8
+ Namlen uint8
+ Name [256]int8
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+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_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 {
+ X__fds_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
+ Pad_cgo_0 [2]byte
+ Data ifData
+}
+
+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
+ 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+}
+
+type BpfZbufHeader struct {
+ Kernel_gen uint32
+ Kernel_len uint32
+ User_gen uint32
+ X_bzh_pad [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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
new file mode 100644
index 00000000..c65d89e4
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
@@ -0,0 +1,524 @@
+// 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 (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+type Stat_t struct {
+ Dev uint32
+ Ino uint32
+ Mode uint16
+ Nlink uint16
+ Uid uint32
+ Gid uint32
+ Rdev uint32
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Size int64
+ Blocks int64
+ Blksize int32
+ Flags uint32
+ Gen uint32
+ Lspare int32
+ Birthtimespec 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 [88]int8
+ Mntonname [88]int8
+}
+
+type Flock_t struct {
+ Start int64
+ Len int64
+ Pid int32
+ Type int16
+ Whence int16
+ Sysid int32
+ Pad_cgo_0 [4]byte
+}
+
+type Dirent struct {
+ Fileno uint32
+ Reclen uint16
+ Type uint8
+ Namlen uint8
+ Name [256]int8
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+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
+ 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 = 0x36
+ SizeofLinger = 0x8
+ SizeofIPMreq = 0x8
+ SizeofIPMreqn = 0xc
+ 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 {
+ X__fds_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
+ Pad_cgo_0 [2]byte
+ Data ifData
+}
+
+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
+ 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [6]byte
+}
+
+type BpfZbufHeader struct {
+ Kernel_gen uint32
+ Kernel_len uint32
+ User_gen uint32
+ X_bzh_pad [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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
new file mode 100644
index 00000000..42c0a502
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
@@ -0,0 +1,524 @@
+// 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
+ 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 int64
+ Max int64
+}
+
+type _Gid_t uint32
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+type Stat_t struct {
+ Dev uint32
+ Ino uint32
+ Mode uint16
+ Nlink uint16
+ Uid uint32
+ Gid uint32
+ Rdev uint32
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Size int64
+ Blocks int64
+ Blksize int32
+ Flags uint32
+ Gen uint32
+ Lspare int32
+ Birthtimespec 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 [88]int8
+ Mntonname [88]int8
+}
+
+type Flock_t struct {
+ Start int64
+ Len int64
+ Pid int32
+ Type int16
+ Whence int16
+ Sysid int32
+ Pad_cgo_0 [4]byte
+}
+
+type Dirent struct {
+ Fileno uint32
+ Reclen uint16
+ Type uint8
+ Namlen uint8
+ Name [256]int8
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+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_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 {
+ X__fds_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
+ Pad_cgo_0 [2]byte
+ Data ifData
+}
+
+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
+ 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
+ X__ifi_epoch [8]byte
+ X__ifi_lastchange [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
+ Pad_cgo_0 [4]byte
+ Epoch int64
+ Lastchange Timeval
+}
+
+type IfaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+type IfmaMsghdr struct {
+ Msglen uint16
+ Version uint8
+ Type uint8
+ Addrs int32
+ Flags int32
+ Index uint16
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [6]byte
+}
+
+type BpfZbufHeader struct {
+ Kernel_gen uint32
+ Kernel_len uint32
+ User_gen uint32
+ X_bzh_pad [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 CapRights struct {
+ Rights [2]uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
new file mode 100644
index 00000000..8b30c699
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -0,0 +1,793 @@
+// 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
+ Pad_cgo_0 [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
+ X__pad1 uint16
+ Pad_cgo_0 [2]byte
+ X__st_ino uint32
+ Mode uint32
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Rdev uint64
+ X__pad2 uint16
+ Pad_cgo_1 [2]byte
+ Size int64
+ Blksize int32
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ Ino uint64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [1]byte
+}
+
+type Fsid struct {
+ X__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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]int8
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x80045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
new file mode 100644
index 00000000..cf035898
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -0,0 +1,811 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad0 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ [3]int64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
new file mode 100644
index 00000000..8ef7d85f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -0,0 +1,782 @@
+// 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
+ Pad_cgo_0 [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
+ X__pad1 uint16
+ Pad_cgo_0 [2]byte
+ X__st_ino uint32
+ Mode uint32
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Rdev uint64
+ X__pad2 uint16
+ Pad_cgo_1 [6]byte
+ Size int64
+ Blksize int32
+ Pad_cgo_2 [4]byte
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ Ino uint64
+}
+
+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
+ Pad_cgo_0 [4]byte
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]uint8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]uint8
+}
+
+type Utsname struct {
+ Sysname [65]uint8
+ Nodename [65]uint8
+ Release [65]uint8
+ Version [65]uint8
+ Machine [65]uint8
+ Domainname [65]uint8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x80045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
new file mode 100644
index 00000000..31102686
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -0,0 +1,790 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad1 uint64
+ Size int64
+ Blksize int32
+ X__pad2 int32
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ [2]int32
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ PadFd int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
new file mode 100644
index 00000000..d2c1bc2c
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -0,0 +1,787 @@
+// 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
+ Pad_cgo_0 [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 Statfs_t struct {
+ Type int32
+ Bsize int32
+ Frsize int32
+ Pad_cgo_0 [4]byte
+ Blocks uint64
+ Bfree uint64
+ Files uint64
+ Ffree uint64
+ Bavail uint64
+ Fsid Fsid
+ Namelen int32
+ Flags int32
+ Spare [5]int32
+ Pad_cgo_1 [4]byte
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]int8
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
new file mode 100644
index 00000000..ec7a0cd2
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -0,0 +1,792 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
new file mode 100644
index 00000000..bbe08d7d
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -0,0 +1,792 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
new file mode 100644
index 00000000..75ee05ab
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -0,0 +1,787 @@
+// 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
+ Pad_cgo_0 [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 Statfs_t struct {
+ Type int32
+ Bsize int32
+ Frsize int32
+ Pad_cgo_0 [4]byte
+ Blocks uint64
+ Bfree uint64
+ Files uint64
+ Ffree uint64
+ Bavail uint64
+ Fsid Fsid
+ Namelen int32
+ Flags int32
+ Spare [5]int32
+ Pad_cgo_1 [4]byte
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x8
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [2]byte
+ 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
+ X_f [8]int8
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+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_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [32]uint32
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
new file mode 100644
index 00000000..30a257f8
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -0,0 +1,800 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad2 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ uint64
+ _ uint64
+ _ uint64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]uint8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]uint8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]uint8
+ Nodename [65]uint8
+ Release [65]uint8
+ Version [65]uint8
+ Machine [65]uint8
+ Domainname [65]uint8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]uint8
+ Fpack [6]uint8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
new file mode 100644
index 00000000..bebed6f1
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -0,0 +1,800 @@
+// 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
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad2 int32
+ Rdev uint64
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ _ uint64
+ _ uint64
+ _ uint64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]uint8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ Pad_cgo_1 [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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]uint8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]uint8
+ Nodename [65]uint8
+ Release [65]uint8
+ Version [65]uint8
+ Machine [65]uint8
+ Domainname [65]uint8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]uint8
+ Fpack [6]uint8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const RNDGETENTCNT = 0x40045200
+
+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
+ Pad_cgo_0 [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ Pad_cgo_1 [6]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
+ Pad_cgo_2 [4]byte
+ Ac_uid uint32
+ Ac_gid uint32
+ Ac_pid uint32
+ Ac_ppid uint32
+ Ac_btime uint32
+ Pad_cgo_3 [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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
new file mode 100644
index 00000000..286661b3
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -0,0 +1,817 @@
+// 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
+ _ [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ _ [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ _ [4]byte
+ 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 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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ _ [5]byte
+}
+
+type Fsid struct {
+ _ [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 = 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 RawSockaddrCAN struct {
+ Family uint16
+ _ [2]byte
+ 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 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
+ _ [4]byte
+ 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
+ _ [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ 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
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2c
+ 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
+ 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
+)
+
+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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ _ [6]byte
+ 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
+ _ [4]byte
+ Fprs [16]float64
+}
+
+type PtracePer struct {
+ _ [0]uint64
+ _ [24]byte
+ _ [8]byte
+ Starting_addr uint64
+ Ending_addr uint64
+ Perc_atmid uint16
+ _ [6]byte
+ 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
+ _ [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ _ [0]int8
+ _ [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ _ [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ _ [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ _ int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ _ [16]uint64
+}
+
+const RNDGETENTCNT = 0x80045200
+
+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
+ _ [2]byte
+ Ac_exitcode uint32
+ Ac_flag uint8
+ Ac_nice uint8
+ _ [6]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
+}
+
+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 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
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
new file mode 100644
index 00000000..22bdab96
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -0,0 +1,666 @@
+// +build sparc64,linux
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_linux.go | go run mkpost.go
+
+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
+ Pad_cgo_0 [4]byte
+}
+
+type Timex struct {
+ Modes uint32
+ Pad_cgo_0 [4]byte
+ Offset int64
+ Freq int64
+ Maxerror int64
+ Esterror int64
+ Status int32
+ Pad_cgo_1 [4]byte
+ Constant int64
+ Precision int64
+ Tolerance int64
+ Time Timeval
+ Tick int64
+ Ppsfreq int64
+ Jitter int64
+ Shift int32
+ Pad_cgo_2 [4]byte
+ Stabil int64
+ Jitcnt int64
+ Calcnt int64
+ Errcnt int64
+ Stbcnt int64
+ Tai int32
+ Pad_cgo_3 [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
+ X__pad1 uint16
+ Pad_cgo_0 [6]byte
+ Ino uint64
+ Mode uint32
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Rdev uint64
+ X__pad2 uint16
+ Pad_cgo_1 [6]byte
+ Size int64
+ Blksize int64
+ Blocks int64
+ Atim Timespec
+ Mtim Timespec
+ Ctim Timespec
+ X__glibc_reserved4 uint64
+ X__glibc_reserved5 uint64
+}
+
+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
+}
+
+type Dirent struct {
+ Ino uint64
+ Off int64
+ Reclen uint16
+ Type uint8
+ Name [256]int8
+ Pad_cgo_0 [5]byte
+}
+
+type Fsid struct {
+ X__val [2]int32
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [4]byte
+ Start int64
+ Len int64
+ Pid int32
+ X__glibc_reserved int16
+ Pad_cgo_1 [2]byte
+}
+
+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 RawSockaddrCAN struct {
+ Family uint16
+ Pad_cgo_0 [2]byte
+ 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 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 Msghdr struct {
+ Name *byte
+ Namelen uint32
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint64
+ Control *byte
+ Controllen uint64
+ Flags int32
+ Pad_cgo_1 [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
+ Pad_cgo_0 [2]byte
+ 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
+}
+
+const (
+ SizeofSockaddrInet4 = 0x10
+ SizeofSockaddrInet6 = 0x1c
+ SizeofSockaddrAny = 0x70
+ SizeofSockaddrUnix = 0x6e
+ SizeofSockaddrLinklayer = 0x14
+ SizeofSockaddrNetlink = 0xc
+ SizeofSockaddrHCI = 0x6
+ SizeofSockaddrCAN = 0x10
+ SizeofSockaddrALG = 0x58
+ SizeofSockaddrVM = 0x10
+ SizeofLinger = 0x8
+ SizeofIPMreq = 0x8
+ SizeofIPMreqn = 0xc
+ SizeofIPv6Mreq = 0x14
+ SizeofMsghdr = 0x38
+ SizeofCmsghdr = 0x10
+ SizeofInet4Pktinfo = 0xc
+ SizeofInet6Pktinfo = 0x14
+ SizeofIPv6MTUInfo = 0x20
+ SizeofICMPv6Filter = 0x20
+ SizeofUcred = 0xc
+ SizeofTCPInfo = 0x68
+)
+
+const (
+ IFA_UNSPEC = 0x0
+ IFA_ADDRESS = 0x1
+ IFA_LOCAL = 0x2
+ IFA_LABEL = 0x3
+ IFA_BROADCAST = 0x4
+ IFA_ANYCAST = 0x5
+ IFA_CACHEINFO = 0x6
+ IFA_MULTICAST = 0x7
+ 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_MAX = 0x2a
+ 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
+ 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
+)
+
+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
+ X__ifi_pad 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
+}
+
+const (
+ SizeofSockFilter = 0x8
+ SizeofSockFprog = 0x10
+)
+
+type SockFilter struct {
+ Code uint16
+ Jt uint8
+ Jf uint8
+ K uint32
+}
+
+type SockFprog struct {
+ Len uint16
+ Pad_cgo_0 [6]byte
+ 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 ptracePsw struct {
+}
+
+type ptraceFpregs struct {
+}
+
+type ptracePer struct {
+}
+
+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
+ Pad_cgo_0 [4]byte
+ Totalhigh uint64
+ Freehigh uint64
+ Unit uint32
+ X_f [0]int8
+ Pad_cgo_1 [4]byte
+}
+
+type Utsname struct {
+ Sysname [65]int8
+ Nodename [65]int8
+ Release [65]int8
+ Version [65]int8
+ Machine [65]int8
+ Domainname [65]int8
+}
+
+type Ustat_t struct {
+ Tfree int32
+ Pad_cgo_0 [4]byte
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_1 [4]byte
+}
+
+type EpollEvent struct {
+ Events uint32
+ X_padFd int32
+ Fd int32
+ Pad int32
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_REMOVEDIR = 0x200
+ AT_SYMLINK_FOLLOW = 0x400
+ AT_SYMLINK_NOFOLLOW = 0x100
+)
+
+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 {
+ X__val [16]uint64
+}
+
+const _SC_PAGESIZE = 0x1e
+
+type Termios struct {
+ Iflag uint32
+ Oflag uint32
+ Cflag uint32
+ Lflag uint32
+ Line uint8
+ Cc [19]uint8
+ Ispeed uint32
+ Ospeed uint32
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
new file mode 100644
index 00000000..42f99c0a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
@@ -0,0 +1,401 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_netbsd.go
+
+// +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
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec 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
+}
+
+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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x200
+)
+
+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
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
new file mode 100644
index 00000000..ff290ba0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
@@ -0,0 +1,408 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_netbsd.go
+
+// +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
+ Pad_cgo_0 [4]byte
+ Ino uint64
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Pad_cgo_1 [4]byte
+ Rdev uint64
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec Timespec
+ Size int64
+ Blocks int64
+ Blksize uint32
+ Flags uint32
+ Gen uint32
+ Spare [2]uint32
+ Pad_cgo_2 [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
+}
+
+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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x200
+)
+
+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
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
new file mode 100644
index 00000000..66dbd7c0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
@@ -0,0 +1,406 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_netbsd.go
+
+// +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
+ Pad_cgo_0 [4]byte
+ Ino uint64
+ Nlink uint32
+ Uid uint32
+ Gid uint32
+ Pad_cgo_1 [4]byte
+ Rdev uint64
+ Atimespec Timespec
+ Mtimespec Timespec
+ Ctimespec Timespec
+ Birthtimespec Timespec
+ Size int64
+ Blocks int64
+ Blksize uint32
+ Flags uint32
+ Gen uint32
+ Spare [2]uint32
+ Pad_cgo_2 [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
+}
+
+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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x200
+)
+
+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
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
new file mode 100644
index 00000000..20fc9f45
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
@@ -0,0 +1,446 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_openbsd.go
+
+// +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
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+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
+}
+
+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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
new file mode 100644
index 00000000..46fe9490
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
@@ -0,0 +1,453 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_openbsd.go
+
+// +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
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+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
+ Pad_cgo_0 [4]byte
+ X__st_birthtim Timespec
+}
+
+type Statfs_t struct {
+ F_flags uint32
+ F_bsize uint32
+ F_iosize uint32
+ Pad_cgo_0 [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
+ Pad_cgo_1 [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
+}
+
+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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen uint32
+ 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 = 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 = 0xf8
+ SizeofIfData = 0xe0
+ 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
+ Pad_cgo_0 [4]byte
+ Lastchange Timeval
+ Mclpool [7]Mclpool
+ Pad_cgo_1 [4]byte
+}
+
+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 = 0x10
+ SizeofBpfInsn = 0x8
+ SizeofBpfHdr = 0x14
+)
+
+type BpfVersion struct {
+ Major uint16
+ Minor uint16
+}
+
+type BpfStat struct {
+ Recv uint32
+ Drop uint32
+}
+
+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 [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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
new file mode 100644
index 00000000..62e1f7c0
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
@@ -0,0 +1,439 @@
+// Created by cgo -godefs - DO NOT EDIT
+// cgo -godefs types_openbsd.go
+
+// +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
+}
+
+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
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+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
+ 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]uint8
+ F_mntonname [90]uint8
+ F_mntfromname [90]uint8
+ F_mntfromspec [90]uint8
+ 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]uint8
+}
+
+type Fsid struct {
+ Val [2]int32
+}
+
+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 = 0x98
+ SizeofIfData = 0x80
+ 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
+}
+
+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]uint8
+}
+
+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
+ 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
+}
+
+const (
+ AT_FDCWD = -0x64
+ AT_SYMLINK_NOFOLLOW = 0x2
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
new file mode 100644
index 00000000..92336f9f
--- /dev/null
+++ b/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
+
+const (
+ S_IFMT = 0xf000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+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
+ Pad_cgo_0 [4]byte
+ Blocks int64
+ Fstype [16]int8
+}
+
+type Flock_t struct {
+ Type int16
+ Whence int16
+ Pad_cgo_0 [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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [4]byte
+ Iov *Iovec
+ Iovlen int32
+ Pad_cgo_1 [4]byte
+ Accrights *int8
+ Accrightslen int32
+ Pad_cgo_2 [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]int8
+ Nodename [257]int8
+ Release [257]int8
+ Version [257]int8
+ Machine [257]int8
+}
+
+type Ustat_t struct {
+ Tfree int64
+ Tinode uint64
+ Fname [6]int8
+ Fpack [6]int8
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Data IfData
+}
+
+type IfData struct {
+ Type uint8
+ Addrlen uint8
+ Hdrlen uint8
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+ Metric int32
+}
+
+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 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
+ Pad_cgo_0 [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
+ Pad_cgo_0 [2]byte
+}
+
+const _SC_PAGESIZE = 0xb
+
+type Termios struct {
+ Iflag uint32
+ Oflag uint32
+ Cflag uint32
+ Lflag uint32
+ Cc [19]uint8
+ Pad_cgo_0 [1]byte
+}
+
+type Termio struct {
+ Iflag uint16
+ Oflag uint16
+ Cflag uint16
+ Lflag uint16
+ Line int8
+ Cc [8]uint8
+ Pad_cgo_0 [1]byte
+}
+
+type Winsize struct {
+ Row uint16
+ Col uint16
+ Xpixel uint16
+ Ypixel uint16
+}
diff --git a/vendor/golang.org/x/sys/windows/asm_windows_386.s b/vendor/golang.org/x/sys/windows/asm_windows_386.s
new file mode 100644
index 00000000..1c20dd2f
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/asm_windows_386.s
@@ -0,0 +1,13 @@
+// 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.
+
+//
+// System calls for 386, Windows are implemented in runtime/syscall_windows.goc
+//
+
+TEXT ·getprocaddress(SB), 7, $0-8
+ JMP syscall·getprocaddress(SB)
+
+TEXT ·loadlibrary(SB), 7, $0-4
+ JMP syscall·loadlibrary(SB)
diff --git a/vendor/golang.org/x/sys/windows/asm_windows_amd64.s b/vendor/golang.org/x/sys/windows/asm_windows_amd64.s
new file mode 100644
index 00000000..4d025ab5
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/asm_windows_amd64.s
@@ -0,0 +1,13 @@
+// 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.
+
+//
+// System calls for amd64, Windows are implemented in runtime/syscall_windows.goc
+//
+
+TEXT ·getprocaddress(SB), 7, $0-32
+ JMP syscall·getprocaddress(SB)
+
+TEXT ·loadlibrary(SB), 7, $0-8
+ JMP syscall·loadlibrary(SB)
diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go
new file mode 100644
index 00000000..e77a3705
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/dll_windows.go
@@ -0,0 +1,377 @@
+// 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 windows
+
+import (
+ "sync"
+ "sync/atomic"
+ "syscall"
+ "unsafe"
+)
+
+// DLLError describes reasons for DLL load failures.
+type DLLError struct {
+ Err error
+ ObjName string
+ Msg string
+}
+
+func (e *DLLError) Error() string { return e.Msg }
+
+// Implemented in runtime/syscall_windows.goc; we provide jumps to them in our assembly file.
+func loadlibrary(filename *uint16) (handle uintptr, err syscall.Errno)
+func getprocaddress(handle uintptr, procname *uint8) (proc uintptr, err syscall.Errno)
+
+// A DLL implements access to a single DLL.
+type DLL struct {
+ Name string
+ Handle Handle
+}
+
+// LoadDLL loads DLL file into memory.
+//
+// Warning: using LoadDLL without an absolute path name is subject to
+// DLL preloading attacks. To safely load a system DLL, use LazyDLL
+// with System set to true, or use LoadLibraryEx directly.
+func LoadDLL(name string) (dll *DLL, err error) {
+ namep, err := UTF16PtrFromString(name)
+ if err != nil {
+ return nil, err
+ }
+ h, e := loadlibrary(namep)
+ if e != 0 {
+ return nil, &DLLError{
+ Err: e,
+ ObjName: name,
+ Msg: "Failed to load " + name + ": " + e.Error(),
+ }
+ }
+ d := &DLL{
+ Name: name,
+ Handle: Handle(h),
+ }
+ return d, nil
+}
+
+// MustLoadDLL is like LoadDLL but panics if load operation failes.
+func MustLoadDLL(name string) *DLL {
+ d, e := LoadDLL(name)
+ if e != nil {
+ panic(e)
+ }
+ return d
+}
+
+// FindProc searches DLL d for procedure named name and returns *Proc
+// if found. It returns an error if search fails.
+func (d *DLL) FindProc(name string) (proc *Proc, err error) {
+ namep, err := BytePtrFromString(name)
+ if err != nil {
+ return nil, err
+ }
+ a, e := getprocaddress(uintptr(d.Handle), namep)
+ if e != 0 {
+ return nil, &DLLError{
+ Err: e,
+ ObjName: name,
+ Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(),
+ }
+ }
+ p := &Proc{
+ Dll: d,
+ Name: name,
+ addr: a,
+ }
+ return p, nil
+}
+
+// MustFindProc is like FindProc but panics if search fails.
+func (d *DLL) MustFindProc(name string) *Proc {
+ p, e := d.FindProc(name)
+ if e != nil {
+ panic(e)
+ }
+ return p
+}
+
+// Release unloads DLL d from memory.
+func (d *DLL) Release() (err error) {
+ return FreeLibrary(d.Handle)
+}
+
+// A Proc implements access to a procedure inside a DLL.
+type Proc struct {
+ Dll *DLL
+ Name string
+ addr uintptr
+}
+
+// Addr returns the address of the procedure represented by p.
+// The return value can be passed to Syscall to run the procedure.
+func (p *Proc) Addr() uintptr {
+ return p.addr
+}
+
+//go:uintptrescapes
+
+// Call executes procedure p with arguments a. It will panic, if more then 15 arguments
+// are supplied.
+//
+// The returned error is always non-nil, constructed from the result of GetLastError.
+// Callers must inspect the primary return value to decide whether an error occurred
+// (according to the semantics of the specific function being called) before consulting
+// the error. The error will be guaranteed to contain windows.Errno.
+func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) {
+ switch len(a) {
+ case 0:
+ return syscall.Syscall(p.Addr(), uintptr(len(a)), 0, 0, 0)
+ case 1:
+ return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], 0, 0)
+ case 2:
+ return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], 0)
+ case 3:
+ return syscall.Syscall(p.Addr(), uintptr(len(a)), a[0], a[1], a[2])
+ case 4:
+ return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], 0, 0)
+ case 5:
+ return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], 0)
+ case 6:
+ return syscall.Syscall6(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5])
+ case 7:
+ return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], 0, 0)
+ case 8:
+ return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], 0)
+ case 9:
+ return syscall.Syscall9(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8])
+ case 10:
+ return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], 0, 0)
+ case 11:
+ return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], 0)
+ case 12:
+ return syscall.Syscall12(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11])
+ case 13:
+ return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], 0, 0)
+ case 14:
+ return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], 0)
+ case 15:
+ return syscall.Syscall15(p.Addr(), uintptr(len(a)), a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14])
+ default:
+ panic("Call " + p.Name + " with too many arguments " + itoa(len(a)) + ".")
+ }
+}
+
+// A LazyDLL implements access to a single DLL.
+// It will delay the load of the DLL until the first
+// call to its Handle method or to one of its
+// LazyProc's Addr method.
+type LazyDLL struct {
+ Name string
+
+ // System determines whether the DLL must be loaded from the
+ // Windows System directory, bypassing the normal DLL search
+ // path.
+ System bool
+
+ mu sync.Mutex
+ dll *DLL // non nil once DLL is loaded
+}
+
+// Load loads DLL file d.Name into memory. It returns an error if fails.
+// Load will not try to load DLL, if it is already loaded into memory.
+func (d *LazyDLL) Load() error {
+ // Non-racy version of:
+ // if d.dll != nil {
+ if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll))) != nil {
+ return nil
+ }
+ d.mu.Lock()
+ defer d.mu.Unlock()
+ if d.dll != nil {
+ return nil
+ }
+
+ // kernel32.dll is special, since it's where LoadLibraryEx comes from.
+ // The kernel already special-cases its name, so it's always
+ // loaded from system32.
+ var dll *DLL
+ var err error
+ if d.Name == "kernel32.dll" {
+ dll, err = LoadDLL(d.Name)
+ } else {
+ dll, err = loadLibraryEx(d.Name, d.System)
+ }
+ if err != nil {
+ return err
+ }
+
+ // Non-racy version of:
+ // d.dll = dll
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&d.dll)), unsafe.Pointer(dll))
+ return nil
+}
+
+// mustLoad is like Load but panics if search fails.
+func (d *LazyDLL) mustLoad() {
+ e := d.Load()
+ if e != nil {
+ panic(e)
+ }
+}
+
+// Handle returns d's module handle.
+func (d *LazyDLL) Handle() uintptr {
+ d.mustLoad()
+ return uintptr(d.dll.Handle)
+}
+
+// NewProc returns a LazyProc for accessing the named procedure in the DLL d.
+func (d *LazyDLL) NewProc(name string) *LazyProc {
+ return &LazyProc{l: d, Name: name}
+}
+
+// NewLazyDLL creates new LazyDLL associated with DLL file.
+func NewLazyDLL(name string) *LazyDLL {
+ return &LazyDLL{Name: name}
+}
+
+// NewLazySystemDLL is like NewLazyDLL, but will only
+// search Windows System directory for the DLL if name is
+// a base name (like "advapi32.dll").
+func NewLazySystemDLL(name string) *LazyDLL {
+ return &LazyDLL{Name: name, System: true}
+}
+
+// A LazyProc implements access to a procedure inside a LazyDLL.
+// It delays the lookup until the Addr method is called.
+type LazyProc struct {
+ Name string
+
+ mu sync.Mutex
+ l *LazyDLL
+ proc *Proc
+}
+
+// Find searches DLL for procedure named p.Name. It returns
+// an error if search fails. Find will not search procedure,
+// if it is already found and loaded into memory.
+func (p *LazyProc) Find() error {
+ // Non-racy version of:
+ // if p.proc == nil {
+ if atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc))) == nil {
+ p.mu.Lock()
+ defer p.mu.Unlock()
+ if p.proc == nil {
+ e := p.l.Load()
+ if e != nil {
+ return e
+ }
+ proc, e := p.l.dll.FindProc(p.Name)
+ if e != nil {
+ return e
+ }
+ // Non-racy version of:
+ // p.proc = proc
+ atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&p.proc)), unsafe.Pointer(proc))
+ }
+ }
+ return nil
+}
+
+// mustFind is like Find but panics if search fails.
+func (p *LazyProc) mustFind() {
+ e := p.Find()
+ if e != nil {
+ panic(e)
+ }
+}
+
+// Addr returns the address of the procedure represented by p.
+// The return value can be passed to Syscall to run the procedure.
+func (p *LazyProc) Addr() uintptr {
+ p.mustFind()
+ return p.proc.Addr()
+}
+
+//go:uintptrescapes
+
+// Call executes procedure p with arguments a. It will panic, if more then 15 arguments
+// are supplied.
+//
+// The returned error is always non-nil, constructed from the result of GetLastError.
+// Callers must inspect the primary return value to decide whether an error occurred
+// (according to the semantics of the specific function being called) before consulting
+// the error. The error will be guaranteed to contain windows.Errno.
+func (p *LazyProc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) {
+ p.mustFind()
+ return p.proc.Call(a...)
+}
+
+var canDoSearchSystem32Once struct {
+ sync.Once
+ v bool
+}
+
+func initCanDoSearchSystem32() {
+ // https://msdn.microsoft.com/en-us/library/ms684179(v=vs.85).aspx says:
+ // "Windows 7, Windows Server 2008 R2, Windows Vista, and Windows
+ // Server 2008: The LOAD_LIBRARY_SEARCH_* flags are available on
+ // systems that have KB2533623 installed. To determine whether the
+ // flags are available, use GetProcAddress to get the address of the
+ // AddDllDirectory, RemoveDllDirectory, or SetDefaultDllDirectories
+ // function. If GetProcAddress succeeds, the LOAD_LIBRARY_SEARCH_*
+ // flags can be used with LoadLibraryEx."
+ canDoSearchSystem32Once.v = (modkernel32.NewProc("AddDllDirectory").Find() == nil)
+}
+
+func canDoSearchSystem32() bool {
+ canDoSearchSystem32Once.Do(initCanDoSearchSystem32)
+ return canDoSearchSystem32Once.v
+}
+
+func isBaseName(name string) bool {
+ for _, c := range name {
+ if c == ':' || c == '/' || c == '\\' {
+ return false
+ }
+ }
+ return true
+}
+
+// loadLibraryEx wraps the Windows LoadLibraryEx function.
+//
+// See https://msdn.microsoft.com/en-us/library/windows/desktop/ms684179(v=vs.85).aspx
+//
+// If name is not an absolute path, LoadLibraryEx searches for the DLL
+// in a variety of automatic locations unless constrained by flags.
+// See: https://msdn.microsoft.com/en-us/library/ff919712%28VS.85%29.aspx
+func loadLibraryEx(name string, system bool) (*DLL, error) {
+ loadDLL := name
+ var flags uintptr
+ if system {
+ if canDoSearchSystem32() {
+ const LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800
+ flags = LOAD_LIBRARY_SEARCH_SYSTEM32
+ } else if isBaseName(name) {
+ // WindowsXP or unpatched Windows machine
+ // trying to load "foo.dll" out of the system
+ // folder, but LoadLibraryEx doesn't support
+ // that yet on their system, so emulate it.
+ windir, _ := Getenv("WINDIR") // old var; apparently works on XP
+ if windir == "" {
+ return nil, errString("%WINDIR% not defined")
+ }
+ loadDLL = windir + "\\System32\\" + name
+ }
+ }
+ h, err := LoadLibraryEx(loadDLL, 0, flags)
+ if err != nil {
+ return nil, err
+ }
+ return &DLL{Name: name, Handle: h}, nil
+}
+
+type errString string
+
+func (s errString) Error() string { return string(s) }
diff --git a/vendor/golang.org/x/sys/windows/env_unset.go b/vendor/golang.org/x/sys/windows/env_unset.go
new file mode 100644
index 00000000..4ed03aee
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/env_unset.go
@@ -0,0 +1,15 @@
+// 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 windows
+// +build go1.4
+
+package windows
+
+import "syscall"
+
+func Unsetenv(key string) error {
+ // This was added in Go 1.4.
+ return syscall.Unsetenv(key)
+}
diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go
new file mode 100644
index 00000000..a9d8ef4b
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/env_windows.go
@@ -0,0 +1,25 @@
+// 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.
+
+// Windows environment variables.
+
+package windows
+
+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()
+}
diff --git a/vendor/golang.org/x/sys/windows/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go
new file mode 100644
index 00000000..40af946e
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/eventlog.go
@@ -0,0 +1,20 @@
+// 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 windows
+
+package windows
+
+const (
+ EVENTLOG_SUCCESS = 0
+ EVENTLOG_ERROR_TYPE = 1
+ EVENTLOG_WARNING_TYPE = 2
+ EVENTLOG_INFORMATION_TYPE = 4
+ EVENTLOG_AUDIT_SUCCESS = 8
+ EVENTLOG_AUDIT_FAILURE = 16
+)
+
+//sys RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) [failretval==0] = advapi32.RegisterEventSourceW
+//sys DeregisterEventSource(handle Handle) (err error) = advapi32.DeregisterEventSource
+//sys ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) = advapi32.ReportEventW
diff --git a/vendor/golang.org/x/sys/windows/exec_windows.go b/vendor/golang.org/x/sys/windows/exec_windows.go
new file mode 100644
index 00000000..3606c3a8
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/exec_windows.go
@@ -0,0 +1,97 @@
+// 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.
+
+// Fork, exec, wait, etc.
+
+package windows
+
+// EscapeArg rewrites command line argument s as prescribed
+// in http://msdn.microsoft.com/en-us/library/ms880421.
+// This function returns "" (2 double quotes) if s is empty.
+// Alternatively, these transformations are done:
+// - every back slash (\) is doubled, but only if immediately
+// followed by double quote (");
+// - every double quote (") is escaped by back slash (\);
+// - finally, s is wrapped with double quotes (arg -> "arg"),
+// but only if there is space or tab inside s.
+func EscapeArg(s string) string {
+ if len(s) == 0 {
+ return "\"\""
+ }
+ n := len(s)
+ hasSpace := false
+ for i := 0; i < len(s); i++ {
+ switch s[i] {
+ case '"', '\\':
+ n++
+ case ' ', '\t':
+ hasSpace = true
+ }
+ }
+ if hasSpace {
+ n += 2
+ }
+ if n == len(s) {
+ return s
+ }
+
+ qs := make([]byte, n)
+ j := 0
+ if hasSpace {
+ qs[j] = '"'
+ j++
+ }
+ slashes := 0
+ for i := 0; i < len(s); i++ {
+ switch s[i] {
+ default:
+ slashes = 0
+ qs[j] = s[i]
+ case '\\':
+ slashes++
+ qs[j] = s[i]
+ case '"':
+ for ; slashes > 0; slashes-- {
+ qs[j] = '\\'
+ j++
+ }
+ qs[j] = '\\'
+ j++
+ qs[j] = s[i]
+ }
+ j++
+ }
+ if hasSpace {
+ for ; slashes > 0; slashes-- {
+ qs[j] = '\\'
+ j++
+ }
+ qs[j] = '"'
+ j++
+ }
+ return string(qs[:j])
+}
+
+func CloseOnExec(fd Handle) {
+ SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0)
+}
+
+// FullPath retrieves the full path of the specified file.
+func FullPath(name string) (path string, err error) {
+ p, err := UTF16PtrFromString(name)
+ if err != nil {
+ return "", err
+ }
+ n := uint32(100)
+ for {
+ buf := make([]uint16, n)
+ n, err = GetFullPathName(p, uint32(len(buf)), &buf[0], nil)
+ if err != nil {
+ return "", err
+ }
+ if n <= uint32(len(buf)) {
+ return UTF16ToString(buf[:n]), nil
+ }
+ }
+}
diff --git a/vendor/golang.org/x/sys/windows/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go
new file mode 100644
index 00000000..f63e899a
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/memory_windows.go
@@ -0,0 +1,26 @@
+// 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 windows
+
+const (
+ MEM_COMMIT = 0x00001000
+ MEM_RESERVE = 0x00002000
+ MEM_DECOMMIT = 0x00004000
+ MEM_RELEASE = 0x00008000
+ MEM_RESET = 0x00080000
+ MEM_TOP_DOWN = 0x00100000
+ MEM_WRITE_WATCH = 0x00200000
+ MEM_PHYSICAL = 0x00400000
+ MEM_RESET_UNDO = 0x01000000
+ MEM_LARGE_PAGES = 0x20000000
+
+ PAGE_NOACCESS = 0x01
+ PAGE_READONLY = 0x02
+ PAGE_READWRITE = 0x04
+ PAGE_WRITECOPY = 0x08
+ PAGE_EXECUTE_READ = 0x20
+ PAGE_EXECUTE_READWRITE = 0x40
+ PAGE_EXECUTE_WRITECOPY = 0x80
+)
diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go
new file mode 100644
index 00000000..e1c88c9c
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/mksyscall.go
@@ -0,0 +1,7 @@
+// 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 windows
+
+//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go
diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go
new file mode 100644
index 00000000..343e18ab
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/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 windows,race
+
+package windows
+
+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/vendor/golang.org/x/sys/windows/race0.go b/vendor/golang.org/x/sys/windows/race0.go
new file mode 100644
index 00000000..17af843b
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/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 windows,!race
+
+package windows
+
+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/vendor/golang.org/x/sys/windows/registry/export_test.go b/vendor/golang.org/x/sys/windows/registry/export_test.go
new file mode 100644
index 00000000..8badf6fd
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/export_test.go
@@ -0,0 +1,11 @@
+// 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 windows
+
+package registry
+
+func (k Key) SetValue(name string, valtype uint32, data []byte) error {
+ return k.setValue(name, valtype, data)
+}
diff --git a/vendor/golang.org/x/sys/windows/registry/key.go b/vendor/golang.org/x/sys/windows/registry/key.go
new file mode 100644
index 00000000..d0beb195
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/key.go
@@ -0,0 +1,200 @@
+// 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 windows
+
+// Package registry provides access to the Windows registry.
+//
+// Here is a simple example, opening a registry key and reading a string value from it.
+//
+// k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
+// if err != nil {
+// log.Fatal(err)
+// }
+// defer k.Close()
+//
+// s, _, err := k.GetStringValue("SystemRoot")
+// if err != nil {
+// log.Fatal(err)
+// }
+// fmt.Printf("Windows system root is %q\n", s)
+//
+package registry
+
+import (
+ "io"
+ "syscall"
+ "time"
+)
+
+const (
+ // Registry key security and access rights.
+ // See https://msdn.microsoft.com/en-us/library/windows/desktop/ms724878.aspx
+ // for details.
+ ALL_ACCESS = 0xf003f
+ CREATE_LINK = 0x00020
+ CREATE_SUB_KEY = 0x00004
+ ENUMERATE_SUB_KEYS = 0x00008
+ EXECUTE = 0x20019
+ NOTIFY = 0x00010
+ QUERY_VALUE = 0x00001
+ READ = 0x20019
+ SET_VALUE = 0x00002
+ WOW64_32KEY = 0x00200
+ WOW64_64KEY = 0x00100
+ WRITE = 0x20006
+)
+
+// Key is a handle to an open Windows registry key.
+// Keys can be obtained by calling OpenKey; there are
+// also some predefined root keys such as CURRENT_USER.
+// Keys can be used directly in the Windows API.
+type Key syscall.Handle
+
+const (
+ // Windows defines some predefined root keys that are always open.
+ // An application can use these keys as entry points to the registry.
+ // Normally these keys are used in OpenKey to open new keys,
+ // but they can also be used anywhere a Key is required.
+ CLASSES_ROOT = Key(syscall.HKEY_CLASSES_ROOT)
+ CURRENT_USER = Key(syscall.HKEY_CURRENT_USER)
+ LOCAL_MACHINE = Key(syscall.HKEY_LOCAL_MACHINE)
+ USERS = Key(syscall.HKEY_USERS)
+ CURRENT_CONFIG = Key(syscall.HKEY_CURRENT_CONFIG)
+ PERFORMANCE_DATA = Key(syscall.HKEY_PERFORMANCE_DATA)
+)
+
+// Close closes open key k.
+func (k Key) Close() error {
+ return syscall.RegCloseKey(syscall.Handle(k))
+}
+
+// OpenKey opens a new key with path name relative to key k.
+// It accepts any open key, including CURRENT_USER and others,
+// and returns the new key and an error.
+// The access parameter specifies desired access rights to the
+// key to be opened.
+func OpenKey(k Key, path string, access uint32) (Key, error) {
+ p, err := syscall.UTF16PtrFromString(path)
+ if err != nil {
+ return 0, err
+ }
+ var subkey syscall.Handle
+ err = syscall.RegOpenKeyEx(syscall.Handle(k), p, 0, access, &subkey)
+ if err != nil {
+ return 0, err
+ }
+ return Key(subkey), nil
+}
+
+// OpenRemoteKey opens a predefined registry key on another
+// computer pcname. The key to be opened is specified by k, but
+// can only be one of LOCAL_MACHINE, PERFORMANCE_DATA or USERS.
+// If pcname is "", OpenRemoteKey returns local computer key.
+func OpenRemoteKey(pcname string, k Key) (Key, error) {
+ var err error
+ var p *uint16
+ if pcname != "" {
+ p, err = syscall.UTF16PtrFromString(`\\` + pcname)
+ if err != nil {
+ return 0, err
+ }
+ }
+ var remoteKey syscall.Handle
+ err = regConnectRegistry(p, syscall.Handle(k), &remoteKey)
+ if err != nil {
+ return 0, err
+ }
+ return Key(remoteKey), nil
+}
+
+// ReadSubKeyNames returns the names of subkeys of key k.
+// The parameter n controls the number of returned names,
+// analogous to the way os.File.Readdirnames works.
+func (k Key) ReadSubKeyNames(n int) ([]string, error) {
+ ki, err := k.Stat()
+ if err != nil {
+ return nil, err
+ }
+ names := make([]string, 0, ki.SubKeyCount)
+ buf := make([]uint16, ki.MaxSubKeyLen+1) // extra room for terminating zero byte
+loopItems:
+ for i := uint32(0); ; i++ {
+ if n > 0 {
+ if len(names) == n {
+ return names, nil
+ }
+ }
+ l := uint32(len(buf))
+ for {
+ err := syscall.RegEnumKeyEx(syscall.Handle(k), i, &buf[0], &l, nil, nil, nil, nil)
+ if err == nil {
+ break
+ }
+ if err == syscall.ERROR_MORE_DATA {
+ // Double buffer size and try again.
+ l = uint32(2 * len(buf))
+ buf = make([]uint16, l)
+ continue
+ }
+ if err == _ERROR_NO_MORE_ITEMS {
+ break loopItems
+ }
+ return names, err
+ }
+ names = append(names, syscall.UTF16ToString(buf[:l]))
+ }
+ if n > len(names) {
+ return names, io.EOF
+ }
+ return names, nil
+}
+
+// CreateKey creates a key named path under open key k.
+// CreateKey returns the new key and a boolean flag that reports
+// whether the key already existed.
+// The access parameter specifies the access rights for the key
+// to be created.
+func CreateKey(k Key, path string, access uint32) (newk Key, openedExisting bool, err error) {
+ var h syscall.Handle
+ var d uint32
+ err = regCreateKeyEx(syscall.Handle(k), syscall.StringToUTF16Ptr(path),
+ 0, nil, _REG_OPTION_NON_VOLATILE, access, nil, &h, &d)
+ if err != nil {
+ return 0, false, err
+ }
+ return Key(h), d == _REG_OPENED_EXISTING_KEY, nil
+}
+
+// DeleteKey deletes the subkey path of key k and its values.
+func DeleteKey(k Key, path string) error {
+ return regDeleteKey(syscall.Handle(k), syscall.StringToUTF16Ptr(path))
+}
+
+// A KeyInfo describes the statistics of a key. It is returned by Stat.
+type KeyInfo struct {
+ SubKeyCount uint32
+ MaxSubKeyLen uint32 // size of the key's subkey with the longest name, in Unicode characters, not including the terminating zero byte
+ ValueCount uint32
+ MaxValueNameLen uint32 // size of the key's longest value name, in Unicode characters, not including the terminating zero byte
+ MaxValueLen uint32 // longest data component among the key's values, in bytes
+ lastWriteTime syscall.Filetime
+}
+
+// ModTime returns the key's last write time.
+func (ki *KeyInfo) ModTime() time.Time {
+ return time.Unix(0, ki.lastWriteTime.Nanoseconds())
+}
+
+// Stat retrieves information about the open key k.
+func (k Key) Stat() (*KeyInfo, error) {
+ var ki KeyInfo
+ err := syscall.RegQueryInfoKey(syscall.Handle(k), nil, nil, nil,
+ &ki.SubKeyCount, &ki.MaxSubKeyLen, nil, &ki.ValueCount,
+ &ki.MaxValueNameLen, &ki.MaxValueLen, nil, &ki.lastWriteTime)
+ if err != nil {
+ return nil, err
+ }
+ return &ki, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/registry/mksyscall.go b/vendor/golang.org/x/sys/windows/registry/mksyscall.go
new file mode 100644
index 00000000..0ac95ffe
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/mksyscall.go
@@ -0,0 +1,7 @@
+// 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 registry
+
+//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go syscall.go
diff --git a/vendor/golang.org/x/sys/windows/registry/registry_test.go b/vendor/golang.org/x/sys/windows/registry/registry_test.go
new file mode 100644
index 00000000..3cb9771c
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/registry_test.go
@@ -0,0 +1,756 @@
+// 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 windows
+
+package registry_test
+
+import (
+ "bytes"
+ "crypto/rand"
+ "os"
+ "syscall"
+ "testing"
+ "time"
+ "unsafe"
+
+ "golang.org/x/sys/windows/registry"
+)
+
+func randKeyName(prefix string) string {
+ const numbers = "0123456789"
+ buf := make([]byte, 10)
+ rand.Read(buf)
+ for i, b := range buf {
+ buf[i] = numbers[b%byte(len(numbers))]
+ }
+ return prefix + string(buf)
+}
+
+func TestReadSubKeyNames(t *testing.T) {
+ k, err := registry.OpenKey(registry.CLASSES_ROOT, "TypeLib", registry.ENUMERATE_SUB_KEYS|registry.QUERY_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer k.Close()
+
+ names, err := k.ReadSubKeyNames(-1)
+ if err != nil {
+ t.Fatal(err)
+ }
+ var foundStdOle bool
+ for _, name := range names {
+ // Every PC has "stdole 2.0 OLE Automation" library installed.
+ if name == "{00020430-0000-0000-C000-000000000046}" {
+ foundStdOle = true
+ }
+ }
+ if !foundStdOle {
+ t.Fatal("could not find stdole 2.0 OLE Automation")
+ }
+}
+
+func TestCreateOpenDeleteKey(t *testing.T) {
+ k, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer k.Close()
+
+ testKName := randKeyName("TestCreateOpenDeleteKey_")
+
+ testK, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer testK.Close()
+
+ if exist {
+ t.Fatalf("key %q already exists", testKName)
+ }
+
+ testKAgain, exist, err := registry.CreateKey(k, testKName, registry.CREATE_SUB_KEY)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer testKAgain.Close()
+
+ if !exist {
+ t.Fatalf("key %q should already exist", testKName)
+ }
+
+ testKOpened, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer testKOpened.Close()
+
+ err = registry.DeleteKey(k, testKName)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ testKOpenedAgain, err := registry.OpenKey(k, testKName, registry.ENUMERATE_SUB_KEYS)
+ if err == nil {
+ defer testKOpenedAgain.Close()
+ t.Fatalf("key %q should already been deleted", testKName)
+ }
+ if err != registry.ErrNotExist {
+ t.Fatalf(`unexpected error ("not exist" expected): %v`, err)
+ }
+}
+
+func equalStringSlice(a, b []string) bool {
+ if len(a) != len(b) {
+ return false
+ }
+ if a == nil {
+ return true
+ }
+ for i := range a {
+ if a[i] != b[i] {
+ return false
+ }
+ }
+ return true
+}
+
+type ValueTest struct {
+ Type uint32
+ Name string
+ Value interface{}
+ WillFail bool
+}
+
+var ValueTests = []ValueTest{
+ {Type: registry.SZ, Name: "String1", Value: ""},
+ {Type: registry.SZ, Name: "String2", Value: "\000", WillFail: true},
+ {Type: registry.SZ, Name: "String3", Value: "Hello World"},
+ {Type: registry.SZ, Name: "String4", Value: "Hello World\000", WillFail: true},
+ {Type: registry.EXPAND_SZ, Name: "ExpString1", Value: ""},
+ {Type: registry.EXPAND_SZ, Name: "ExpString2", Value: "\000", WillFail: true},
+ {Type: registry.EXPAND_SZ, Name: "ExpString3", Value: "Hello World"},
+ {Type: registry.EXPAND_SZ, Name: "ExpString4", Value: "Hello\000World", WillFail: true},
+ {Type: registry.EXPAND_SZ, Name: "ExpString5", Value: "%PATH%"},
+ {Type: registry.EXPAND_SZ, Name: "ExpString6", Value: "%NO_SUCH_VARIABLE%"},
+ {Type: registry.EXPAND_SZ, Name: "ExpString7", Value: "%PATH%;."},
+ {Type: registry.BINARY, Name: "Binary1", Value: []byte{}},
+ {Type: registry.BINARY, Name: "Binary2", Value: []byte{1, 2, 3}},
+ {Type: registry.BINARY, Name: "Binary3", Value: []byte{3, 2, 1, 0, 1, 2, 3}},
+ {Type: registry.DWORD, Name: "Dword1", Value: uint64(0)},
+ {Type: registry.DWORD, Name: "Dword2", Value: uint64(1)},
+ {Type: registry.DWORD, Name: "Dword3", Value: uint64(0xff)},
+ {Type: registry.DWORD, Name: "Dword4", Value: uint64(0xffff)},
+ {Type: registry.QWORD, Name: "Qword1", Value: uint64(0)},
+ {Type: registry.QWORD, Name: "Qword2", Value: uint64(1)},
+ {Type: registry.QWORD, Name: "Qword3", Value: uint64(0xff)},
+ {Type: registry.QWORD, Name: "Qword4", Value: uint64(0xffff)},
+ {Type: registry.QWORD, Name: "Qword5", Value: uint64(0xffffff)},
+ {Type: registry.QWORD, Name: "Qword6", Value: uint64(0xffffffff)},
+ {Type: registry.MULTI_SZ, Name: "MultiString1", Value: []string{"a", "b", "c"}},
+ {Type: registry.MULTI_SZ, Name: "MultiString2", Value: []string{"abc", "", "cba"}},
+ {Type: registry.MULTI_SZ, Name: "MultiString3", Value: []string{""}},
+ {Type: registry.MULTI_SZ, Name: "MultiString4", Value: []string{"abcdef"}},
+ {Type: registry.MULTI_SZ, Name: "MultiString5", Value: []string{"\000"}, WillFail: true},
+ {Type: registry.MULTI_SZ, Name: "MultiString6", Value: []string{"a\000b"}, WillFail: true},
+ {Type: registry.MULTI_SZ, Name: "MultiString7", Value: []string{"ab", "\000", "cd"}, WillFail: true},
+ {Type: registry.MULTI_SZ, Name: "MultiString8", Value: []string{"\000", "cd"}, WillFail: true},
+ {Type: registry.MULTI_SZ, Name: "MultiString9", Value: []string{"ab", "\000"}, WillFail: true},
+}
+
+func setValues(t *testing.T, k registry.Key) {
+ for _, test := range ValueTests {
+ var err error
+ switch test.Type {
+ case registry.SZ:
+ err = k.SetStringValue(test.Name, test.Value.(string))
+ case registry.EXPAND_SZ:
+ err = k.SetExpandStringValue(test.Name, test.Value.(string))
+ case registry.MULTI_SZ:
+ err = k.SetStringsValue(test.Name, test.Value.([]string))
+ case registry.BINARY:
+ err = k.SetBinaryValue(test.Name, test.Value.([]byte))
+ case registry.DWORD:
+ err = k.SetDWordValue(test.Name, uint32(test.Value.(uint64)))
+ case registry.QWORD:
+ err = k.SetQWordValue(test.Name, test.Value.(uint64))
+ default:
+ t.Fatalf("unsupported type %d for %s value", test.Type, test.Name)
+ }
+ if test.WillFail {
+ if err == nil {
+ t.Fatalf("setting %s value %q should fail, but succeeded", test.Name, test.Value)
+ }
+ } else {
+ if err != nil {
+ t.Fatal(err)
+ }
+ }
+ }
+}
+
+func enumerateValues(t *testing.T, k registry.Key) {
+ names, err := k.ReadValueNames(-1)
+ if err != nil {
+ t.Error(err)
+ return
+ }
+ haveNames := make(map[string]bool)
+ for _, n := range names {
+ haveNames[n] = false
+ }
+ for _, test := range ValueTests {
+ wantFound := !test.WillFail
+ _, haveFound := haveNames[test.Name]
+ if wantFound && !haveFound {
+ t.Errorf("value %s is not found while enumerating", test.Name)
+ }
+ if haveFound && !wantFound {
+ t.Errorf("value %s is found while enumerating, but expected to fail", test.Name)
+ }
+ if haveFound {
+ delete(haveNames, test.Name)
+ }
+ }
+ for n, v := range haveNames {
+ t.Errorf("value %s (%v) is found while enumerating, but has not been cretaed", n, v)
+ }
+}
+
+func testErrNotExist(t *testing.T, name string, err error) {
+ if err == nil {
+ t.Errorf("%s value should not exist", name)
+ return
+ }
+ if err != registry.ErrNotExist {
+ t.Errorf("reading %s value should return 'not exist' error, but got: %s", name, err)
+ return
+ }
+}
+
+func testErrUnexpectedType(t *testing.T, test ValueTest, gottype uint32, err error) {
+ if err == nil {
+ t.Errorf("GetXValue(%q) should not succeed", test.Name)
+ return
+ }
+ if err != registry.ErrUnexpectedType {
+ t.Errorf("reading %s value should return 'unexpected key value type' error, but got: %s", test.Name, err)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+}
+
+func testGetStringValue(t *testing.T, k registry.Key, test ValueTest) {
+ got, gottype, err := k.GetStringValue(test.Name)
+ if err != nil {
+ t.Errorf("GetStringValue(%s) failed: %v", test.Name, err)
+ return
+ }
+ if got != test.Value {
+ t.Errorf("want %s value %q, got %q", test.Name, test.Value, got)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+ if gottype == registry.EXPAND_SZ {
+ _, err = registry.ExpandString(got)
+ if err != nil {
+ t.Errorf("ExpandString(%s) failed: %v", got, err)
+ return
+ }
+ }
+}
+
+func testGetIntegerValue(t *testing.T, k registry.Key, test ValueTest) {
+ got, gottype, err := k.GetIntegerValue(test.Name)
+ if err != nil {
+ t.Errorf("GetIntegerValue(%s) failed: %v", test.Name, err)
+ return
+ }
+ if got != test.Value.(uint64) {
+ t.Errorf("want %s value %v, got %v", test.Name, test.Value, got)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+}
+
+func testGetBinaryValue(t *testing.T, k registry.Key, test ValueTest) {
+ got, gottype, err := k.GetBinaryValue(test.Name)
+ if err != nil {
+ t.Errorf("GetBinaryValue(%s) failed: %v", test.Name, err)
+ return
+ }
+ if !bytes.Equal(got, test.Value.([]byte)) {
+ t.Errorf("want %s value %v, got %v", test.Name, test.Value, got)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+}
+
+func testGetStringsValue(t *testing.T, k registry.Key, test ValueTest) {
+ got, gottype, err := k.GetStringsValue(test.Name)
+ if err != nil {
+ t.Errorf("GetStringsValue(%s) failed: %v", test.Name, err)
+ return
+ }
+ if !equalStringSlice(got, test.Value.([]string)) {
+ t.Errorf("want %s value %#v, got %#v", test.Name, test.Value, got)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+}
+
+func testGetValue(t *testing.T, k registry.Key, test ValueTest, size int) {
+ if size <= 0 {
+ return
+ }
+ // read data with no buffer
+ gotsize, gottype, err := k.GetValue(test.Name, nil)
+ if err != nil {
+ t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err)
+ return
+ }
+ if gotsize != size {
+ t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+ // read data with short buffer
+ gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size-1))
+ if err == nil {
+ t.Errorf("GetValue(%s, [%d]byte) should fail, but succeeded", test.Name, size-1)
+ return
+ }
+ if err != registry.ErrShortBuffer {
+ t.Errorf("reading %s value should return 'short buffer' error, but got: %s", test.Name, err)
+ return
+ }
+ if gotsize != size {
+ t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+ // read full data
+ gotsize, gottype, err = k.GetValue(test.Name, make([]byte, size))
+ if err != nil {
+ t.Errorf("GetValue(%s, [%d]byte) failed: %v", test.Name, size, err)
+ return
+ }
+ if gotsize != size {
+ t.Errorf("want %s value size of %d, got %v", test.Name, size, gotsize)
+ return
+ }
+ if gottype != test.Type {
+ t.Errorf("want %s value type %v, got %v", test.Name, test.Type, gottype)
+ return
+ }
+ // check GetValue returns ErrNotExist as required
+ _, _, err = k.GetValue(test.Name+"_not_there", make([]byte, size))
+ if err == nil {
+ t.Errorf("GetValue(%q) should not succeed", test.Name)
+ return
+ }
+ if err != registry.ErrNotExist {
+ t.Errorf("GetValue(%q) should return 'not exist' error, but got: %s", test.Name, err)
+ return
+ }
+}
+
+func testValues(t *testing.T, k registry.Key) {
+ for _, test := range ValueTests {
+ switch test.Type {
+ case registry.SZ, registry.EXPAND_SZ:
+ if test.WillFail {
+ _, _, err := k.GetStringValue(test.Name)
+ testErrNotExist(t, test.Name, err)
+ } else {
+ testGetStringValue(t, k, test)
+ _, gottype, err := k.GetIntegerValue(test.Name)
+ testErrUnexpectedType(t, test, gottype, err)
+ // Size of utf16 string in bytes is not perfect,
+ // but correct for current test values.
+ // Size also includes terminating 0.
+ testGetValue(t, k, test, (len(test.Value.(string))+1)*2)
+ }
+ _, _, err := k.GetStringValue(test.Name + "_string_not_created")
+ testErrNotExist(t, test.Name+"_string_not_created", err)
+ case registry.DWORD, registry.QWORD:
+ testGetIntegerValue(t, k, test)
+ _, gottype, err := k.GetBinaryValue(test.Name)
+ testErrUnexpectedType(t, test, gottype, err)
+ _, _, err = k.GetIntegerValue(test.Name + "_int_not_created")
+ testErrNotExist(t, test.Name+"_int_not_created", err)
+ size := 8
+ if test.Type == registry.DWORD {
+ size = 4
+ }
+ testGetValue(t, k, test, size)
+ case registry.BINARY:
+ testGetBinaryValue(t, k, test)
+ _, gottype, err := k.GetStringsValue(test.Name)
+ testErrUnexpectedType(t, test, gottype, err)
+ _, _, err = k.GetBinaryValue(test.Name + "_byte_not_created")
+ testErrNotExist(t, test.Name+"_byte_not_created", err)
+ testGetValue(t, k, test, len(test.Value.([]byte)))
+ case registry.MULTI_SZ:
+ if test.WillFail {
+ _, _, err := k.GetStringsValue(test.Name)
+ testErrNotExist(t, test.Name, err)
+ } else {
+ testGetStringsValue(t, k, test)
+ _, gottype, err := k.GetStringValue(test.Name)
+ testErrUnexpectedType(t, test, gottype, err)
+ size := 0
+ for _, s := range test.Value.([]string) {
+ size += len(s) + 1 // nil terminated
+ }
+ size += 1 // extra nil at the end
+ size *= 2 // count bytes, not uint16
+ testGetValue(t, k, test, size)
+ }
+ _, _, err := k.GetStringsValue(test.Name + "_strings_not_created")
+ testErrNotExist(t, test.Name+"_strings_not_created", err)
+ default:
+ t.Errorf("unsupported type %d for %s value", test.Type, test.Name)
+ continue
+ }
+ }
+}
+
+func testStat(t *testing.T, k registry.Key) {
+ subk, _, err := registry.CreateKey(k, "subkey", registry.CREATE_SUB_KEY)
+ if err != nil {
+ t.Error(err)
+ return
+ }
+ defer subk.Close()
+
+ defer registry.DeleteKey(k, "subkey")
+
+ ki, err := k.Stat()
+ if err != nil {
+ t.Error(err)
+ return
+ }
+ if ki.SubKeyCount != 1 {
+ t.Error("key must have 1 subkey")
+ }
+ if ki.MaxSubKeyLen != 6 {
+ t.Error("key max subkey name length must be 6")
+ }
+ if ki.ValueCount != 24 {
+ t.Errorf("key must have 24 values, but is %d", ki.ValueCount)
+ }
+ if ki.MaxValueNameLen != 12 {
+ t.Errorf("key max value name length must be 10, but is %d", ki.MaxValueNameLen)
+ }
+ if ki.MaxValueLen != 38 {
+ t.Errorf("key max value length must be 38, but is %d", ki.MaxValueLen)
+ }
+ if mt, ct := ki.ModTime(), time.Now(); ct.Sub(mt) > 100*time.Millisecond {
+ t.Errorf("key mod time is not close to current time: mtime=%v current=%v delta=%v", mt, ct, ct.Sub(mt))
+ }
+}
+
+func deleteValues(t *testing.T, k registry.Key) {
+ for _, test := range ValueTests {
+ if test.WillFail {
+ continue
+ }
+ err := k.DeleteValue(test.Name)
+ if err != nil {
+ t.Error(err)
+ continue
+ }
+ }
+ names, err := k.ReadValueNames(-1)
+ if err != nil {
+ t.Error(err)
+ return
+ }
+ if len(names) != 0 {
+ t.Errorf("some values remain after deletion: %v", names)
+ }
+}
+
+func TestValues(t *testing.T) {
+ softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer softwareK.Close()
+
+ testKName := randKeyName("TestValues_")
+
+ k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer k.Close()
+
+ if exist {
+ t.Fatalf("key %q already exists", testKName)
+ }
+
+ defer registry.DeleteKey(softwareK, testKName)
+
+ setValues(t, k)
+
+ enumerateValues(t, k)
+
+ testValues(t, k)
+
+ testStat(t, k)
+
+ deleteValues(t, k)
+}
+
+func walkKey(t *testing.T, k registry.Key, kname string) {
+ names, err := k.ReadValueNames(-1)
+ if err != nil {
+ t.Fatalf("reading value names of %s failed: %v", kname, err)
+ }
+ for _, name := range names {
+ _, valtype, err := k.GetValue(name, nil)
+ if err != nil {
+ t.Fatalf("reading value type of %s of %s failed: %v", name, kname, err)
+ }
+ switch valtype {
+ case registry.NONE:
+ case registry.SZ:
+ _, _, err := k.GetStringValue(name)
+ if err != nil {
+ t.Error(err)
+ }
+ case registry.EXPAND_SZ:
+ s, _, err := k.GetStringValue(name)
+ if err != nil {
+ t.Error(err)
+ }
+ _, err = registry.ExpandString(s)
+ if err != nil {
+ t.Error(err)
+ }
+ case registry.DWORD, registry.QWORD:
+ _, _, err := k.GetIntegerValue(name)
+ if err != nil {
+ t.Error(err)
+ }
+ case registry.BINARY:
+ _, _, err := k.GetBinaryValue(name)
+ if err != nil {
+ t.Error(err)
+ }
+ case registry.MULTI_SZ:
+ _, _, err := k.GetStringsValue(name)
+ if err != nil {
+ t.Error(err)
+ }
+ case registry.FULL_RESOURCE_DESCRIPTOR, registry.RESOURCE_LIST, registry.RESOURCE_REQUIREMENTS_LIST:
+ // TODO: not implemented
+ default:
+ t.Fatalf("value type %d of %s of %s failed: %v", valtype, name, kname, err)
+ }
+ }
+
+ names, err = k.ReadSubKeyNames(-1)
+ if err != nil {
+ t.Fatalf("reading sub-keys of %s failed: %v", kname, err)
+ }
+ for _, name := range names {
+ func() {
+ subk, err := registry.OpenKey(k, name, registry.ENUMERATE_SUB_KEYS|registry.QUERY_VALUE)
+ if err != nil {
+ if err == syscall.ERROR_ACCESS_DENIED {
+ // ignore error, if we are not allowed to access this key
+ return
+ }
+ t.Fatalf("opening sub-keys %s of %s failed: %v", name, kname, err)
+ }
+ defer subk.Close()
+
+ walkKey(t, subk, kname+`\`+name)
+ }()
+ }
+}
+
+func TestWalkFullRegistry(t *testing.T) {
+ if testing.Short() {
+ t.Skip("skipping long running test in short mode")
+ }
+ walkKey(t, registry.CLASSES_ROOT, "CLASSES_ROOT")
+ walkKey(t, registry.CURRENT_USER, "CURRENT_USER")
+ walkKey(t, registry.LOCAL_MACHINE, "LOCAL_MACHINE")
+ walkKey(t, registry.USERS, "USERS")
+ walkKey(t, registry.CURRENT_CONFIG, "CURRENT_CONFIG")
+}
+
+func TestExpandString(t *testing.T) {
+ got, err := registry.ExpandString("%PATH%")
+ if err != nil {
+ t.Fatal(err)
+ }
+ want := os.Getenv("PATH")
+ if got != want {
+ t.Errorf("want %q string expanded, got %q", want, got)
+ }
+}
+
+func TestInvalidValues(t *testing.T) {
+ softwareK, err := registry.OpenKey(registry.CURRENT_USER, "Software", registry.QUERY_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer softwareK.Close()
+
+ testKName := randKeyName("TestInvalidValues_")
+
+ k, exist, err := registry.CreateKey(softwareK, testKName, registry.CREATE_SUB_KEY|registry.QUERY_VALUE|registry.SET_VALUE)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer k.Close()
+
+ if exist {
+ t.Fatalf("key %q already exists", testKName)
+ }
+
+ defer registry.DeleteKey(softwareK, testKName)
+
+ var tests = []struct {
+ Type uint32
+ Name string
+ Data []byte
+ }{
+ {registry.DWORD, "Dword1", nil},
+ {registry.DWORD, "Dword2", []byte{1, 2, 3}},
+ {registry.QWORD, "Qword1", nil},
+ {registry.QWORD, "Qword2", []byte{1, 2, 3}},
+ {registry.QWORD, "Qword3", []byte{1, 2, 3, 4, 5, 6, 7}},
+ {registry.MULTI_SZ, "MultiString1", nil},
+ {registry.MULTI_SZ, "MultiString2", []byte{0}},
+ {registry.MULTI_SZ, "MultiString3", []byte{'a', 'b', 0}},
+ {registry.MULTI_SZ, "MultiString4", []byte{'a', 0, 0, 'b', 0}},
+ {registry.MULTI_SZ, "MultiString5", []byte{'a', 0, 0}},
+ }
+
+ for _, test := range tests {
+ err := k.SetValue(test.Name, test.Type, test.Data)
+ if err != nil {
+ t.Fatalf("SetValue for %q failed: %v", test.Name, err)
+ }
+ }
+
+ for _, test := range tests {
+ switch test.Type {
+ case registry.DWORD, registry.QWORD:
+ value, valType, err := k.GetIntegerValue(test.Name)
+ if err == nil {
+ t.Errorf("GetIntegerValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value)
+ }
+ case registry.MULTI_SZ:
+ value, valType, err := k.GetStringsValue(test.Name)
+ if err == nil {
+ if len(value) != 0 {
+ t.Errorf("GetStringsValue(%q) succeeded. Returns type=%d value=%v", test.Name, valType, value)
+ }
+ }
+ default:
+ t.Errorf("unsupported type %d for %s value", test.Type, test.Name)
+ }
+ }
+}
+
+func TestGetMUIStringValue(t *testing.T) {
+ if err := registry.LoadRegLoadMUIString(); err != nil {
+ t.Skip("regLoadMUIString not supported; skipping")
+ }
+ if err := procGetDynamicTimeZoneInformation.Find(); err != nil {
+ t.Skipf("%s not supported; skipping", procGetDynamicTimeZoneInformation.Name)
+ }
+ var dtzi DynamicTimezoneinformation
+ if _, err := GetDynamicTimeZoneInformation(&dtzi); err != nil {
+ t.Fatal(err)
+ }
+ tzKeyName := syscall.UTF16ToString(dtzi.TimeZoneKeyName[:])
+ timezoneK, err := registry.OpenKey(registry.LOCAL_MACHINE,
+ `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\`+tzKeyName, registry.READ)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer timezoneK.Close()
+
+ type testType struct {
+ name string
+ want string
+ }
+ var tests = []testType{
+ {"MUI_Std", syscall.UTF16ToString(dtzi.StandardName[:])},
+ }
+ if dtzi.DynamicDaylightTimeDisabled == 0 {
+ tests = append(tests, testType{"MUI_Dlt", syscall.UTF16ToString(dtzi.DaylightName[:])})
+ }
+
+ for _, test := range tests {
+ got, err := timezoneK.GetMUIStringValue(test.name)
+ if err != nil {
+ t.Error("GetMUIStringValue:", err)
+ }
+
+ if got != test.want {
+ t.Errorf("GetMUIStringValue: %s: Got %q, want %q", test.name, got, test.want)
+ }
+ }
+}
+
+type DynamicTimezoneinformation struct {
+ Bias int32
+ StandardName [32]uint16
+ StandardDate syscall.Systemtime
+ StandardBias int32
+ DaylightName [32]uint16
+ DaylightDate syscall.Systemtime
+ DaylightBias int32
+ TimeZoneKeyName [128]uint16
+ DynamicDaylightTimeDisabled uint8
+}
+
+var (
+ kernel32DLL = syscall.NewLazyDLL("kernel32")
+
+ procGetDynamicTimeZoneInformation = kernel32DLL.NewProc("GetDynamicTimeZoneInformation")
+)
+
+func GetDynamicTimeZoneInformation(dtzi *DynamicTimezoneinformation) (rc uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetDynamicTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(dtzi)), 0, 0)
+ rc = uint32(r0)
+ if rc == 0xffffffff {
+ if e1 != 0 {
+ err = error(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/windows/registry/syscall.go b/vendor/golang.org/x/sys/windows/registry/syscall.go
new file mode 100644
index 00000000..e66643cb
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/syscall.go
@@ -0,0 +1,32 @@
+// 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 windows
+
+package registry
+
+import "syscall"
+
+const (
+ _REG_OPTION_NON_VOLATILE = 0
+
+ _REG_CREATED_NEW_KEY = 1
+ _REG_OPENED_EXISTING_KEY = 2
+
+ _ERROR_NO_MORE_ITEMS syscall.Errno = 259
+)
+
+func LoadRegLoadMUIString() error {
+ return procRegLoadMUIStringW.Find()
+}
+
+//sys regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) = advapi32.RegCreateKeyExW
+//sys regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) = advapi32.RegDeleteKeyW
+//sys regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype uint32, buf *byte, bufsize uint32) (regerrno error) = advapi32.RegSetValueExW
+//sys regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegEnumValueW
+//sys regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) = advapi32.RegDeleteValueW
+//sys regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint32, buflenCopied *uint32, flags uint32, dir *uint16) (regerrno error) = advapi32.RegLoadMUIStringW
+//sys regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall.Handle) (regerrno error) = advapi32.RegConnectRegistryW
+
+//sys expandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) = kernel32.ExpandEnvironmentStringsW
diff --git a/vendor/golang.org/x/sys/windows/registry/value.go b/vendor/golang.org/x/sys/windows/registry/value.go
new file mode 100644
index 00000000..71d4e15b
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/value.go
@@ -0,0 +1,384 @@
+// 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 windows
+
+package registry
+
+import (
+ "errors"
+ "io"
+ "syscall"
+ "unicode/utf16"
+ "unsafe"
+)
+
+const (
+ // Registry value types.
+ NONE = 0
+ SZ = 1
+ EXPAND_SZ = 2
+ BINARY = 3
+ DWORD = 4
+ DWORD_BIG_ENDIAN = 5
+ LINK = 6
+ MULTI_SZ = 7
+ RESOURCE_LIST = 8
+ FULL_RESOURCE_DESCRIPTOR = 9
+ RESOURCE_REQUIREMENTS_LIST = 10
+ QWORD = 11
+)
+
+var (
+ // ErrShortBuffer is returned when the buffer was too short for the operation.
+ ErrShortBuffer = syscall.ERROR_MORE_DATA
+
+ // ErrNotExist is returned when a registry key or value does not exist.
+ ErrNotExist = syscall.ERROR_FILE_NOT_FOUND
+
+ // ErrUnexpectedType is returned by Get*Value when the value's type was unexpected.
+ ErrUnexpectedType = errors.New("unexpected key value type")
+)
+
+// GetValue retrieves the type and data for the specified value associated
+// with an open key k. It fills up buffer buf and returns the retrieved
+// byte count n. If buf is too small to fit the stored value it returns
+// ErrShortBuffer error along with the required buffer size n.
+// If no buffer is provided, it returns true and actual buffer size n.
+// If no buffer is provided, GetValue returns the value's type only.
+// If the value does not exist, the error returned is ErrNotExist.
+//
+// GetValue is a low level function. If value's type is known, use the appropriate
+// Get*Value function instead.
+func (k Key) GetValue(name string, buf []byte) (n int, valtype uint32, err error) {
+ pname, err := syscall.UTF16PtrFromString(name)
+ if err != nil {
+ return 0, 0, err
+ }
+ var pbuf *byte
+ if len(buf) > 0 {
+ pbuf = (*byte)(unsafe.Pointer(&buf[0]))
+ }
+ l := uint32(len(buf))
+ err = syscall.RegQueryValueEx(syscall.Handle(k), pname, nil, &valtype, pbuf, &l)
+ if err != nil {
+ return int(l), valtype, err
+ }
+ return int(l), valtype, nil
+}
+
+func (k Key) getValue(name string, buf []byte) (date []byte, valtype uint32, err error) {
+ p, err := syscall.UTF16PtrFromString(name)
+ if err != nil {
+ return nil, 0, err
+ }
+ var t uint32
+ n := uint32(len(buf))
+ for {
+ err = syscall.RegQueryValueEx(syscall.Handle(k), p, nil, &t, (*byte)(unsafe.Pointer(&buf[0])), &n)
+ if err == nil {
+ return buf[:n], t, nil
+ }
+ if err != syscall.ERROR_MORE_DATA {
+ return nil, 0, err
+ }
+ if n <= uint32(len(buf)) {
+ return nil, 0, err
+ }
+ buf = make([]byte, n)
+ }
+}
+
+// GetStringValue retrieves the string value for the specified
+// value name associated with an open key k. It also returns the value's type.
+// If value does not exist, GetStringValue returns ErrNotExist.
+// If value is not SZ or EXPAND_SZ, it will return the correct value
+// type and ErrUnexpectedType.
+func (k Key) GetStringValue(name string) (val string, valtype uint32, err error) {
+ data, typ, err2 := k.getValue(name, make([]byte, 64))
+ if err2 != nil {
+ return "", typ, err2
+ }
+ switch typ {
+ case SZ, EXPAND_SZ:
+ default:
+ return "", typ, ErrUnexpectedType
+ }
+ if len(data) == 0 {
+ return "", typ, nil
+ }
+ u := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[:]
+ return syscall.UTF16ToString(u), typ, nil
+}
+
+// GetMUIStringValue retrieves the localized string value for
+// the specified value name associated with an open key k.
+// If the value name doesn't exist or the localized string value
+// can't be resolved, GetMUIStringValue returns ErrNotExist.
+// GetMUIStringValue panics if the system doesn't support
+// regLoadMUIString; use LoadRegLoadMUIString to check if
+// regLoadMUIString is supported before calling this function.
+func (k Key) GetMUIStringValue(name string) (string, error) {
+ pname, err := syscall.UTF16PtrFromString(name)
+ if err != nil {
+ return "", err
+ }
+
+ buf := make([]uint16, 1024)
+ var buflen uint32
+ var pdir *uint16
+
+ err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir)
+ if err == syscall.ERROR_FILE_NOT_FOUND { // Try fallback path
+
+ // Try to resolve the string value using the system directory as
+ // a DLL search path; this assumes the string value is of the form
+ // @[path]\dllname,-strID but with no path given, e.g. @tzres.dll,-320.
+
+ // This approach works with tzres.dll but may have to be revised
+ // in the future to allow callers to provide custom search paths.
+
+ var s string
+ s, err = ExpandString("%SystemRoot%\\system32\\")
+ if err != nil {
+ return "", err
+ }
+ pdir, err = syscall.UTF16PtrFromString(s)
+ if err != nil {
+ return "", err
+ }
+
+ err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir)
+ }
+
+ for err == syscall.ERROR_MORE_DATA { // Grow buffer if needed
+ if buflen <= uint32(len(buf)) {
+ break // Buffer not growing, assume race; break
+ }
+ buf = make([]uint16, buflen)
+ err = regLoadMUIString(syscall.Handle(k), pname, &buf[0], uint32(len(buf)), &buflen, 0, pdir)
+ }
+
+ if err != nil {
+ return "", err
+ }
+
+ return syscall.UTF16ToString(buf), nil
+}
+
+// ExpandString expands environment-variable strings and replaces
+// them with the values defined for the current user.
+// Use ExpandString to expand EXPAND_SZ strings.
+func ExpandString(value string) (string, error) {
+ if value == "" {
+ return "", nil
+ }
+ p, err := syscall.UTF16PtrFromString(value)
+ if err != nil {
+ return "", err
+ }
+ r := make([]uint16, 100)
+ for {
+ n, err := expandEnvironmentStrings(p, &r[0], uint32(len(r)))
+ if err != nil {
+ return "", err
+ }
+ if n <= uint32(len(r)) {
+ u := (*[1 << 29]uint16)(unsafe.Pointer(&r[0]))[:]
+ return syscall.UTF16ToString(u), nil
+ }
+ r = make([]uint16, n)
+ }
+}
+
+// GetStringsValue retrieves the []string value for the specified
+// value name associated with an open key k. It also returns the value's type.
+// If value does not exist, GetStringsValue returns ErrNotExist.
+// If value is not MULTI_SZ, it will return the correct value
+// type and ErrUnexpectedType.
+func (k Key) GetStringsValue(name string) (val []string, valtype uint32, err error) {
+ data, typ, err2 := k.getValue(name, make([]byte, 64))
+ if err2 != nil {
+ return nil, typ, err2
+ }
+ if typ != MULTI_SZ {
+ return nil, typ, ErrUnexpectedType
+ }
+ if len(data) == 0 {
+ return nil, typ, nil
+ }
+ p := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[:len(data)/2]
+ if len(p) == 0 {
+ return nil, typ, nil
+ }
+ if p[len(p)-1] == 0 {
+ p = p[:len(p)-1] // remove terminating null
+ }
+ val = make([]string, 0, 5)
+ from := 0
+ for i, c := range p {
+ if c == 0 {
+ val = append(val, string(utf16.Decode(p[from:i])))
+ from = i + 1
+ }
+ }
+ return val, typ, nil
+}
+
+// GetIntegerValue retrieves the integer value for the specified
+// value name associated with an open key k. It also returns the value's type.
+// If value does not exist, GetIntegerValue returns ErrNotExist.
+// If value is not DWORD or QWORD, it will return the correct value
+// type and ErrUnexpectedType.
+func (k Key) GetIntegerValue(name string) (val uint64, valtype uint32, err error) {
+ data, typ, err2 := k.getValue(name, make([]byte, 8))
+ if err2 != nil {
+ return 0, typ, err2
+ }
+ switch typ {
+ case DWORD:
+ if len(data) != 4 {
+ return 0, typ, errors.New("DWORD value is not 4 bytes long")
+ }
+ return uint64(*(*uint32)(unsafe.Pointer(&data[0]))), DWORD, nil
+ case QWORD:
+ if len(data) != 8 {
+ return 0, typ, errors.New("QWORD value is not 8 bytes long")
+ }
+ return uint64(*(*uint64)(unsafe.Pointer(&data[0]))), QWORD, nil
+ default:
+ return 0, typ, ErrUnexpectedType
+ }
+}
+
+// GetBinaryValue retrieves the binary value for the specified
+// value name associated with an open key k. It also returns the value's type.
+// If value does not exist, GetBinaryValue returns ErrNotExist.
+// If value is not BINARY, it will return the correct value
+// type and ErrUnexpectedType.
+func (k Key) GetBinaryValue(name string) (val []byte, valtype uint32, err error) {
+ data, typ, err2 := k.getValue(name, make([]byte, 64))
+ if err2 != nil {
+ return nil, typ, err2
+ }
+ if typ != BINARY {
+ return nil, typ, ErrUnexpectedType
+ }
+ return data, typ, nil
+}
+
+func (k Key) setValue(name string, valtype uint32, data []byte) error {
+ p, err := syscall.UTF16PtrFromString(name)
+ if err != nil {
+ return err
+ }
+ if len(data) == 0 {
+ return regSetValueEx(syscall.Handle(k), p, 0, valtype, nil, 0)
+ }
+ return regSetValueEx(syscall.Handle(k), p, 0, valtype, &data[0], uint32(len(data)))
+}
+
+// SetDWordValue sets the data and type of a name value
+// under key k to value and DWORD.
+func (k Key) SetDWordValue(name string, value uint32) error {
+ return k.setValue(name, DWORD, (*[4]byte)(unsafe.Pointer(&value))[:])
+}
+
+// SetQWordValue sets the data and type of a name value
+// under key k to value and QWORD.
+func (k Key) SetQWordValue(name string, value uint64) error {
+ return k.setValue(name, QWORD, (*[8]byte)(unsafe.Pointer(&value))[:])
+}
+
+func (k Key) setStringValue(name string, valtype uint32, value string) error {
+ v, err := syscall.UTF16FromString(value)
+ if err != nil {
+ return err
+ }
+ buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[:len(v)*2]
+ return k.setValue(name, valtype, buf)
+}
+
+// SetStringValue sets the data and type of a name value
+// under key k to value and SZ. The value must not contain a zero byte.
+func (k Key) SetStringValue(name, value string) error {
+ return k.setStringValue(name, SZ, value)
+}
+
+// SetExpandStringValue sets the data and type of a name value
+// under key k to value and EXPAND_SZ. The value must not contain a zero byte.
+func (k Key) SetExpandStringValue(name, value string) error {
+ return k.setStringValue(name, EXPAND_SZ, value)
+}
+
+// SetStringsValue sets the data and type of a name value
+// under key k to value and MULTI_SZ. The value strings
+// must not contain a zero byte.
+func (k Key) SetStringsValue(name string, value []string) error {
+ ss := ""
+ for _, s := range value {
+ for i := 0; i < len(s); i++ {
+ if s[i] == 0 {
+ return errors.New("string cannot have 0 inside")
+ }
+ }
+ ss += s + "\x00"
+ }
+ v := utf16.Encode([]rune(ss + "\x00"))
+ buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[:len(v)*2]
+ return k.setValue(name, MULTI_SZ, buf)
+}
+
+// SetBinaryValue sets the data and type of a name value
+// under key k to value and BINARY.
+func (k Key) SetBinaryValue(name string, value []byte) error {
+ return k.setValue(name, BINARY, value)
+}
+
+// DeleteValue removes a named value from the key k.
+func (k Key) DeleteValue(name string) error {
+ return regDeleteValue(syscall.Handle(k), syscall.StringToUTF16Ptr(name))
+}
+
+// ReadValueNames returns the value names of key k.
+// The parameter n controls the number of returned names,
+// analogous to the way os.File.Readdirnames works.
+func (k Key) ReadValueNames(n int) ([]string, error) {
+ ki, err := k.Stat()
+ if err != nil {
+ return nil, err
+ }
+ names := make([]string, 0, ki.ValueCount)
+ buf := make([]uint16, ki.MaxValueNameLen+1) // extra room for terminating null character
+loopItems:
+ for i := uint32(0); ; i++ {
+ if n > 0 {
+ if len(names) == n {
+ return names, nil
+ }
+ }
+ l := uint32(len(buf))
+ for {
+ err := regEnumValue(syscall.Handle(k), i, &buf[0], &l, nil, nil, nil, nil)
+ if err == nil {
+ break
+ }
+ if err == syscall.ERROR_MORE_DATA {
+ // Double buffer size and try again.
+ l = uint32(2 * len(buf))
+ buf = make([]uint16, l)
+ continue
+ }
+ if err == _ERROR_NO_MORE_ITEMS {
+ break loopItems
+ }
+ return names, err
+ }
+ names = append(names, syscall.UTF16ToString(buf[:l]))
+ }
+ if n > len(names) {
+ return names, io.EOF
+ }
+ return names, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go
new file mode 100644
index 00000000..ceebdd77
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go
@@ -0,0 +1,120 @@
+// MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT
+
+package registry
+
+import (
+ "syscall"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+var _ unsafe.Pointer
+
+// Do the interface allocations only once for common
+// Errno values.
+const (
+ errnoERROR_IO_PENDING = 997
+)
+
+var (
+ errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING)
+)
+
+// errnoErr returns common boxed Errno values, to prevent
+// allocations at runtime.
+func errnoErr(e syscall.Errno) error {
+ switch e {
+ case 0:
+ return nil
+ case errnoERROR_IO_PENDING:
+ return errERROR_IO_PENDING
+ }
+ // TODO: add more here, after collecting data on the common
+ // error values see on Windows. (perhaps when running
+ // all.bat?)
+ return e
+}
+
+var (
+ modadvapi32 = windows.NewLazySystemDLL("advapi32.dll")
+ modkernel32 = windows.NewLazySystemDLL("kernel32.dll")
+
+ procRegCreateKeyExW = modadvapi32.NewProc("RegCreateKeyExW")
+ procRegDeleteKeyW = modadvapi32.NewProc("RegDeleteKeyW")
+ procRegSetValueExW = modadvapi32.NewProc("RegSetValueExW")
+ procRegEnumValueW = modadvapi32.NewProc("RegEnumValueW")
+ procRegDeleteValueW = modadvapi32.NewProc("RegDeleteValueW")
+ procRegLoadMUIStringW = modadvapi32.NewProc("RegLoadMUIStringW")
+ procRegConnectRegistryW = modadvapi32.NewProc("RegConnectRegistryW")
+ procExpandEnvironmentStringsW = modkernel32.NewProc("ExpandEnvironmentStringsW")
+)
+
+func regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) {
+ r0, _, _ := syscall.Syscall9(procRegCreateKeyExW.Addr(), 9, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(reserved), uintptr(unsafe.Pointer(class)), uintptr(options), uintptr(desired), uintptr(unsafe.Pointer(sa)), uintptr(unsafe.Pointer(result)), uintptr(unsafe.Pointer(disposition)))
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) {
+ r0, _, _ := syscall.Syscall(procRegDeleteKeyW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(subkey)), 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype uint32, buf *byte, bufsize uint32) (regerrno error) {
+ r0, _, _ := syscall.Syscall6(procRegSetValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(valueName)), uintptr(reserved), uintptr(vtype), uintptr(unsafe.Pointer(buf)), uintptr(bufsize))
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) {
+ r0, _, _ := syscall.Syscall9(procRegEnumValueW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen)), 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) {
+ r0, _, _ := syscall.Syscall(procRegDeleteValueW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(name)), 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint32, buflenCopied *uint32, flags uint32, dir *uint16) (regerrno error) {
+ r0, _, _ := syscall.Syscall9(procRegLoadMUIStringW.Addr(), 7, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(unsafe.Pointer(buflenCopied)), uintptr(flags), uintptr(unsafe.Pointer(dir)), 0, 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall.Handle) (regerrno error) {
+ r0, _, _ := syscall.Syscall(procRegConnectRegistryW.Addr(), 3, uintptr(unsafe.Pointer(machinename)), uintptr(key), uintptr(unsafe.Pointer(result)))
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func expandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size))
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go
new file mode 100644
index 00000000..ca09bdd7
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/security_windows.go
@@ -0,0 +1,435 @@
+// 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.
+
+package windows
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+const (
+ STANDARD_RIGHTS_REQUIRED = 0xf0000
+ STANDARD_RIGHTS_READ = 0x20000
+ STANDARD_RIGHTS_WRITE = 0x20000
+ STANDARD_RIGHTS_EXECUTE = 0x20000
+ STANDARD_RIGHTS_ALL = 0x1F0000
+)
+
+const (
+ NameUnknown = 0
+ NameFullyQualifiedDN = 1
+ NameSamCompatible = 2
+ NameDisplay = 3
+ NameUniqueId = 6
+ NameCanonical = 7
+ NameUserPrincipal = 8
+ NameCanonicalEx = 9
+ NameServicePrincipal = 10
+ NameDnsDomain = 12
+)
+
+// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL.
+// http://blogs.msdn.com/b/drnick/archive/2007/12/19/windows-and-upn-format-credentials.aspx
+//sys TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.TranslateNameW
+//sys GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) [failretval&0xff==0] = secur32.GetUserNameExW
+
+// TranslateAccountName converts a directory service
+// object name from one format to another.
+func TranslateAccountName(username string, from, to uint32, initSize int) (string, error) {
+ u, e := UTF16PtrFromString(username)
+ if e != nil {
+ return "", e
+ }
+ n := uint32(50)
+ for {
+ b := make([]uint16, n)
+ e = TranslateName(u, from, to, &b[0], &n)
+ if e == nil {
+ return UTF16ToString(b[:n]), nil
+ }
+ if e != ERROR_INSUFFICIENT_BUFFER {
+ return "", e
+ }
+ if n <= uint32(len(b)) {
+ return "", e
+ }
+ }
+}
+
+const (
+ // do not reorder
+ NetSetupUnknownStatus = iota
+ NetSetupUnjoined
+ NetSetupWorkgroupName
+ NetSetupDomainName
+)
+
+type UserInfo10 struct {
+ Name *uint16
+ Comment *uint16
+ UsrComment *uint16
+ FullName *uint16
+}
+
+//sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo
+//sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation
+//sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree
+
+const (
+ // do not reorder
+ SidTypeUser = 1 + iota
+ SidTypeGroup
+ SidTypeDomain
+ SidTypeAlias
+ SidTypeWellKnownGroup
+ SidTypeDeletedAccount
+ SidTypeInvalid
+ SidTypeUnknown
+ SidTypeComputer
+ SidTypeLabel
+)
+
+type SidIdentifierAuthority struct {
+ Value [6]byte
+}
+
+var (
+ SECURITY_NULL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 0}}
+ SECURITY_WORLD_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 1}}
+ SECURITY_LOCAL_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 2}}
+ SECURITY_CREATOR_SID_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 3}}
+ SECURITY_NON_UNIQUE_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 4}}
+ SECURITY_NT_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 5}}
+ SECURITY_MANDATORY_LABEL_AUTHORITY = SidIdentifierAuthority{[6]byte{0, 0, 0, 0, 0, 16}}
+)
+
+const (
+ SECURITY_NULL_RID = 0
+ SECURITY_WORLD_RID = 0
+ SECURITY_LOCAL_RID = 0
+ SECURITY_CREATOR_OWNER_RID = 0
+ SECURITY_CREATOR_GROUP_RID = 1
+ SECURITY_DIALUP_RID = 1
+ SECURITY_NETWORK_RID = 2
+ SECURITY_BATCH_RID = 3
+ SECURITY_INTERACTIVE_RID = 4
+ SECURITY_LOGON_IDS_RID = 5
+ SECURITY_SERVICE_RID = 6
+ SECURITY_LOCAL_SYSTEM_RID = 18
+ SECURITY_BUILTIN_DOMAIN_RID = 32
+ SECURITY_PRINCIPAL_SELF_RID = 10
+ SECURITY_CREATOR_OWNER_SERVER_RID = 0x2
+ SECURITY_CREATOR_GROUP_SERVER_RID = 0x3
+ SECURITY_LOGON_IDS_RID_COUNT = 0x3
+ SECURITY_ANONYMOUS_LOGON_RID = 0x7
+ SECURITY_PROXY_RID = 0x8
+ SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x9
+ SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID
+ SECURITY_AUTHENTICATED_USER_RID = 0xb
+ SECURITY_RESTRICTED_CODE_RID = 0xc
+ SECURITY_NT_NON_UNIQUE_RID = 0x15
+)
+
+//sys LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountSidW
+//sys LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) = advapi32.LookupAccountNameW
+//sys ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) = advapi32.ConvertSidToStringSidW
+//sys ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) = advapi32.ConvertStringSidToSidW
+//sys GetLengthSid(sid *SID) (len uint32) = advapi32.GetLengthSid
+//sys CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) = advapi32.CopySid
+//sys AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) = advapi32.AllocateAndInitializeSid
+//sys FreeSid(sid *SID) (err error) [failretval!=0] = advapi32.FreeSid
+//sys EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) = advapi32.EqualSid
+
+// The security identifier (SID) structure is a variable-length
+// structure used to uniquely identify users or groups.
+type SID struct{}
+
+// StringToSid converts a string-format security identifier
+// sid into a valid, functional sid.
+func StringToSid(s string) (*SID, error) {
+ var sid *SID
+ p, e := UTF16PtrFromString(s)
+ if e != nil {
+ return nil, e
+ }
+ e = ConvertStringSidToSid(p, &sid)
+ if e != nil {
+ return nil, e
+ }
+ defer LocalFree((Handle)(unsafe.Pointer(sid)))
+ return sid.Copy()
+}
+
+// LookupSID retrieves a security identifier sid for the account
+// and the name of the domain on which the account was found.
+// System specify target computer to search.
+func LookupSID(system, account string) (sid *SID, domain string, accType uint32, err error) {
+ if len(account) == 0 {
+ return nil, "", 0, syscall.EINVAL
+ }
+ acc, e := UTF16PtrFromString(account)
+ if e != nil {
+ return nil, "", 0, e
+ }
+ var sys *uint16
+ if len(system) > 0 {
+ sys, e = UTF16PtrFromString(system)
+ if e != nil {
+ return nil, "", 0, e
+ }
+ }
+ n := uint32(50)
+ dn := uint32(50)
+ for {
+ b := make([]byte, n)
+ db := make([]uint16, dn)
+ sid = (*SID)(unsafe.Pointer(&b[0]))
+ e = LookupAccountName(sys, acc, sid, &n, &db[0], &dn, &accType)
+ if e == nil {
+ return sid, UTF16ToString(db), accType, nil
+ }
+ if e != ERROR_INSUFFICIENT_BUFFER {
+ return nil, "", 0, e
+ }
+ if n <= uint32(len(b)) {
+ return nil, "", 0, e
+ }
+ }
+}
+
+// String converts sid to a string format
+// suitable for display, storage, or transmission.
+func (sid *SID) String() (string, error) {
+ var s *uint16
+ e := ConvertSidToStringSid(sid, &s)
+ if e != nil {
+ return "", e
+ }
+ defer LocalFree((Handle)(unsafe.Pointer(s)))
+ return UTF16ToString((*[256]uint16)(unsafe.Pointer(s))[:]), nil
+}
+
+// Len returns the length, in bytes, of a valid security identifier sid.
+func (sid *SID) Len() int {
+ return int(GetLengthSid(sid))
+}
+
+// Copy creates a duplicate of security identifier sid.
+func (sid *SID) Copy() (*SID, error) {
+ b := make([]byte, sid.Len())
+ sid2 := (*SID)(unsafe.Pointer(&b[0]))
+ e := CopySid(uint32(len(b)), sid2, sid)
+ if e != nil {
+ return nil, e
+ }
+ return sid2, nil
+}
+
+// LookupAccount retrieves the name of the account for this sid
+// and the name of the first domain on which this sid is found.
+// System specify target computer to search for.
+func (sid *SID) LookupAccount(system string) (account, domain string, accType uint32, err error) {
+ var sys *uint16
+ if len(system) > 0 {
+ sys, err = UTF16PtrFromString(system)
+ if err != nil {
+ return "", "", 0, err
+ }
+ }
+ n := uint32(50)
+ dn := uint32(50)
+ for {
+ b := make([]uint16, n)
+ db := make([]uint16, dn)
+ e := LookupAccountSid(sys, sid, &b[0], &n, &db[0], &dn, &accType)
+ if e == nil {
+ return UTF16ToString(b), UTF16ToString(db), accType, nil
+ }
+ if e != ERROR_INSUFFICIENT_BUFFER {
+ return "", "", 0, e
+ }
+ if n <= uint32(len(b)) {
+ return "", "", 0, e
+ }
+ }
+}
+
+const (
+ // do not reorder
+ TOKEN_ASSIGN_PRIMARY = 1 << iota
+ TOKEN_DUPLICATE
+ TOKEN_IMPERSONATE
+ TOKEN_QUERY
+ TOKEN_QUERY_SOURCE
+ TOKEN_ADJUST_PRIVILEGES
+ TOKEN_ADJUST_GROUPS
+ TOKEN_ADJUST_DEFAULT
+
+ TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED |
+ TOKEN_ASSIGN_PRIMARY |
+ TOKEN_DUPLICATE |
+ TOKEN_IMPERSONATE |
+ TOKEN_QUERY |
+ TOKEN_QUERY_SOURCE |
+ TOKEN_ADJUST_PRIVILEGES |
+ TOKEN_ADJUST_GROUPS |
+ TOKEN_ADJUST_DEFAULT
+ TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY
+ TOKEN_WRITE = STANDARD_RIGHTS_WRITE |
+ TOKEN_ADJUST_PRIVILEGES |
+ TOKEN_ADJUST_GROUPS |
+ TOKEN_ADJUST_DEFAULT
+ TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE
+)
+
+const (
+ // do not reorder
+ TokenUser = 1 + iota
+ TokenGroups
+ TokenPrivileges
+ TokenOwner
+ TokenPrimaryGroup
+ TokenDefaultDacl
+ TokenSource
+ TokenType
+ TokenImpersonationLevel
+ TokenStatistics
+ TokenRestrictedSids
+ TokenSessionId
+ TokenGroupsAndPrivileges
+ TokenSessionReference
+ TokenSandBoxInert
+ TokenAuditPolicy
+ TokenOrigin
+ TokenElevationType
+ TokenLinkedToken
+ TokenElevation
+ TokenHasRestrictions
+ TokenAccessInformation
+ TokenVirtualizationAllowed
+ TokenVirtualizationEnabled
+ TokenIntegrityLevel
+ TokenUIAccess
+ TokenMandatoryPolicy
+ TokenLogonSid
+ MaxTokenInfoClass
+)
+
+type SIDAndAttributes struct {
+ Sid *SID
+ Attributes uint32
+}
+
+type Tokenuser struct {
+ User SIDAndAttributes
+}
+
+type Tokenprimarygroup struct {
+ PrimaryGroup *SID
+}
+
+type Tokengroups struct {
+ GroupCount uint32
+ Groups [1]SIDAndAttributes
+}
+
+//sys OpenProcessToken(h Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken
+//sys GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation
+//sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW
+
+// An access token contains the security information for a logon session.
+// The system creates an access token when a user logs on, and every
+// process executed on behalf of the user has a copy of the token.
+// The token identifies the user, the user's groups, and the user's
+// privileges. The system uses the token to control access to securable
+// objects and to control the ability of the user to perform various
+// system-related operations on the local computer.
+type Token Handle
+
+// OpenCurrentProcessToken opens the access token
+// associated with current process.
+func OpenCurrentProcessToken() (Token, error) {
+ p, e := GetCurrentProcess()
+ if e != nil {
+ return 0, e
+ }
+ var t Token
+ e = OpenProcessToken(p, TOKEN_QUERY, &t)
+ if e != nil {
+ return 0, e
+ }
+ return t, nil
+}
+
+// Close releases access to access token.
+func (t Token) Close() error {
+ return CloseHandle(Handle(t))
+}
+
+// getInfo retrieves a specified type of information about an access token.
+func (t Token) getInfo(class uint32, initSize int) (unsafe.Pointer, error) {
+ n := uint32(initSize)
+ for {
+ b := make([]byte, n)
+ e := GetTokenInformation(t, class, &b[0], uint32(len(b)), &n)
+ if e == nil {
+ return unsafe.Pointer(&b[0]), nil
+ }
+ if e != ERROR_INSUFFICIENT_BUFFER {
+ return nil, e
+ }
+ if n <= uint32(len(b)) {
+ return nil, e
+ }
+ }
+}
+
+// GetTokenUser retrieves access token t user account information.
+func (t Token) GetTokenUser() (*Tokenuser, error) {
+ i, e := t.getInfo(TokenUser, 50)
+ if e != nil {
+ return nil, e
+ }
+ return (*Tokenuser)(i), nil
+}
+
+// GetTokenGroups retrieves group accounts associated with access token t.
+func (t Token) GetTokenGroups() (*Tokengroups, error) {
+ i, e := t.getInfo(TokenGroups, 50)
+ if e != nil {
+ return nil, e
+ }
+ return (*Tokengroups)(i), nil
+}
+
+// GetTokenPrimaryGroup retrieves access token t primary group information.
+// A pointer to a SID structure representing a group that will become
+// the primary group of any objects created by a process using this access token.
+func (t Token) GetTokenPrimaryGroup() (*Tokenprimarygroup, error) {
+ i, e := t.getInfo(TokenPrimaryGroup, 50)
+ if e != nil {
+ return nil, e
+ }
+ return (*Tokenprimarygroup)(i), nil
+}
+
+// GetUserProfileDirectory retrieves path to the
+// root directory of the access token t user's profile.
+func (t Token) GetUserProfileDirectory() (string, error) {
+ n := uint32(100)
+ for {
+ b := make([]uint16, n)
+ e := GetUserProfileDirectory(t, &b[0], &n)
+ if e == nil {
+ return UTF16ToString(b), nil
+ }
+ if e != ERROR_INSUFFICIENT_BUFFER {
+ return "", e
+ }
+ if n <= uint32(len(b)) {
+ return "", e
+ }
+ }
+}
diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go
new file mode 100644
index 00000000..a500dd7d
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/service.go
@@ -0,0 +1,164 @@
+// 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 windows
+
+package windows
+
+const (
+ SC_MANAGER_CONNECT = 1
+ SC_MANAGER_CREATE_SERVICE = 2
+ SC_MANAGER_ENUMERATE_SERVICE = 4
+ SC_MANAGER_LOCK = 8
+ SC_MANAGER_QUERY_LOCK_STATUS = 16
+ SC_MANAGER_MODIFY_BOOT_CONFIG = 32
+ SC_MANAGER_ALL_ACCESS = 0xf003f
+)
+
+//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW
+
+const (
+ SERVICE_KERNEL_DRIVER = 1
+ SERVICE_FILE_SYSTEM_DRIVER = 2
+ SERVICE_ADAPTER = 4
+ SERVICE_RECOGNIZER_DRIVER = 8
+ SERVICE_WIN32_OWN_PROCESS = 16
+ SERVICE_WIN32_SHARE_PROCESS = 32
+ SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS
+ SERVICE_INTERACTIVE_PROCESS = 256
+ SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER
+ SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS
+
+ SERVICE_BOOT_START = 0
+ SERVICE_SYSTEM_START = 1
+ SERVICE_AUTO_START = 2
+ SERVICE_DEMAND_START = 3
+ SERVICE_DISABLED = 4
+
+ SERVICE_ERROR_IGNORE = 0
+ SERVICE_ERROR_NORMAL = 1
+ SERVICE_ERROR_SEVERE = 2
+ SERVICE_ERROR_CRITICAL = 3
+
+ SC_STATUS_PROCESS_INFO = 0
+
+ SERVICE_STOPPED = 1
+ SERVICE_START_PENDING = 2
+ SERVICE_STOP_PENDING = 3
+ SERVICE_RUNNING = 4
+ SERVICE_CONTINUE_PENDING = 5
+ SERVICE_PAUSE_PENDING = 6
+ SERVICE_PAUSED = 7
+ SERVICE_NO_CHANGE = 0xffffffff
+
+ SERVICE_ACCEPT_STOP = 1
+ SERVICE_ACCEPT_PAUSE_CONTINUE = 2
+ SERVICE_ACCEPT_SHUTDOWN = 4
+ SERVICE_ACCEPT_PARAMCHANGE = 8
+ SERVICE_ACCEPT_NETBINDCHANGE = 16
+ SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32
+ SERVICE_ACCEPT_POWEREVENT = 64
+ SERVICE_ACCEPT_SESSIONCHANGE = 128
+
+ SERVICE_CONTROL_STOP = 1
+ SERVICE_CONTROL_PAUSE = 2
+ SERVICE_CONTROL_CONTINUE = 3
+ SERVICE_CONTROL_INTERROGATE = 4
+ SERVICE_CONTROL_SHUTDOWN = 5
+ SERVICE_CONTROL_PARAMCHANGE = 6
+ SERVICE_CONTROL_NETBINDADD = 7
+ SERVICE_CONTROL_NETBINDREMOVE = 8
+ SERVICE_CONTROL_NETBINDENABLE = 9
+ SERVICE_CONTROL_NETBINDDISABLE = 10
+ SERVICE_CONTROL_DEVICEEVENT = 11
+ SERVICE_CONTROL_HARDWAREPROFILECHANGE = 12
+ SERVICE_CONTROL_POWEREVENT = 13
+ SERVICE_CONTROL_SESSIONCHANGE = 14
+
+ SERVICE_ACTIVE = 1
+ SERVICE_INACTIVE = 2
+ SERVICE_STATE_ALL = 3
+
+ SERVICE_QUERY_CONFIG = 1
+ SERVICE_CHANGE_CONFIG = 2
+ SERVICE_QUERY_STATUS = 4
+ SERVICE_ENUMERATE_DEPENDENTS = 8
+ SERVICE_START = 16
+ SERVICE_STOP = 32
+ SERVICE_PAUSE_CONTINUE = 64
+ SERVICE_INTERROGATE = 128
+ SERVICE_USER_DEFINED_CONTROL = 256
+ SERVICE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL
+ SERVICE_RUNS_IN_SYSTEM_PROCESS = 1
+ SERVICE_CONFIG_DESCRIPTION = 1
+ SERVICE_CONFIG_FAILURE_ACTIONS = 2
+
+ NO_ERROR = 0
+
+ SC_ENUM_PROCESS_INFO = 0
+)
+
+type SERVICE_STATUS struct {
+ ServiceType uint32
+ CurrentState uint32
+ ControlsAccepted uint32
+ Win32ExitCode uint32
+ ServiceSpecificExitCode uint32
+ CheckPoint uint32
+ WaitHint uint32
+}
+
+type SERVICE_TABLE_ENTRY struct {
+ ServiceName *uint16
+ ServiceProc uintptr
+}
+
+type QUERY_SERVICE_CONFIG struct {
+ ServiceType uint32
+ StartType uint32
+ ErrorControl uint32
+ BinaryPathName *uint16
+ LoadOrderGroup *uint16
+ TagId uint32
+ Dependencies *uint16
+ ServiceStartName *uint16
+ DisplayName *uint16
+}
+
+type SERVICE_DESCRIPTION struct {
+ Description *uint16
+}
+
+type SERVICE_STATUS_PROCESS struct {
+ ServiceType uint32
+ CurrentState uint32
+ ControlsAccepted uint32
+ Win32ExitCode uint32
+ ServiceSpecificExitCode uint32
+ CheckPoint uint32
+ WaitHint uint32
+ ProcessId uint32
+ ServiceFlags uint32
+}
+
+type ENUM_SERVICE_STATUS_PROCESS struct {
+ ServiceName *uint16
+ DisplayName *uint16
+ ServiceStatusProcess SERVICE_STATUS_PROCESS
+}
+
+//sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle
+//sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW
+//sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW
+//sys DeleteService(service Handle) (err error) = advapi32.DeleteService
+//sys StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) = advapi32.StartServiceW
+//sys QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) = advapi32.QueryServiceStatus
+//sys ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) = advapi32.ControlService
+//sys StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) = advapi32.StartServiceCtrlDispatcherW
+//sys SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) = advapi32.SetServiceStatus
+//sys ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) = advapi32.ChangeServiceConfigW
+//sys QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfigW
+//sys ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) = advapi32.ChangeServiceConfig2W
+//sys QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceConfig2W
+//sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW
diff --git a/vendor/golang.org/x/sys/windows/str.go b/vendor/golang.org/x/sys/windows/str.go
new file mode 100644
index 00000000..917cc2aa
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/str.go
@@ -0,0 +1,22 @@
+// 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 windows
+
+package windows
+
+func itoa(val int) string { // do it here rather than with fmt to avoid dependency
+ if val < 0 {
+ return "-" + itoa(-val)
+ }
+ 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/vendor/golang.org/x/sys/windows/svc/debug/log.go b/vendor/golang.org/x/sys/windows/svc/debug/log.go
new file mode 100644
index 00000000..e51ab42a
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/debug/log.go
@@ -0,0 +1,56 @@
+// 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 windows
+
+package debug
+
+import (
+ "os"
+ "strconv"
+)
+
+// Log interface allows different log implementations to be used.
+type Log interface {
+ Close() error
+ Info(eid uint32, msg string) error
+ Warning(eid uint32, msg string) error
+ Error(eid uint32, msg string) error
+}
+
+// ConsoleLog provides access to the console.
+type ConsoleLog struct {
+ Name string
+}
+
+// New creates new ConsoleLog.
+func New(source string) *ConsoleLog {
+ return &ConsoleLog{Name: source}
+}
+
+// Close closes console log l.
+func (l *ConsoleLog) Close() error {
+ return nil
+}
+
+func (l *ConsoleLog) report(kind string, eid uint32, msg string) error {
+ s := l.Name + "." + kind + "(" + strconv.Itoa(int(eid)) + "): " + msg + "\n"
+ _, err := os.Stdout.Write([]byte(s))
+ return err
+}
+
+// Info writes an information event msg with event id eid to the console l.
+func (l *ConsoleLog) Info(eid uint32, msg string) error {
+ return l.report("info", eid, msg)
+}
+
+// Warning writes an warning event msg with event id eid to the console l.
+func (l *ConsoleLog) Warning(eid uint32, msg string) error {
+ return l.report("warn", eid, msg)
+}
+
+// Error writes an error event msg with event id eid to the console l.
+func (l *ConsoleLog) Error(eid uint32, msg string) error {
+ return l.report("error", eid, msg)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/debug/service.go b/vendor/golang.org/x/sys/windows/svc/debug/service.go
new file mode 100644
index 00000000..123df989
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/debug/service.go
@@ -0,0 +1,45 @@
+// 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 windows
+
+// Package debug provides facilities to execute svc.Handler on console.
+//
+package debug
+
+import (
+ "os"
+ "os/signal"
+ "syscall"
+
+ "golang.org/x/sys/windows/svc"
+)
+
+// Run executes service name by calling appropriate handler function.
+// The process is running on console, unlike real service. Use Ctrl+C to
+// send "Stop" command to your service.
+func Run(name string, handler svc.Handler) error {
+ cmds := make(chan svc.ChangeRequest)
+ changes := make(chan svc.Status)
+
+ sig := make(chan os.Signal)
+ signal.Notify(sig)
+
+ go func() {
+ status := svc.Status{State: svc.Stopped}
+ for {
+ select {
+ case <-sig:
+ cmds <- svc.ChangeRequest{svc.Stop, 0, 0, status}
+ case status = <-changes:
+ }
+ }
+ }()
+
+ _, errno := handler.Execute([]string{name}, cmds, changes)
+ if errno != 0 {
+ return syscall.Errno(errno)
+ }
+ return nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/event.go b/vendor/golang.org/x/sys/windows/svc/event.go
new file mode 100644
index 00000000..0508e228
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/event.go
@@ -0,0 +1,48 @@
+// 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 windows
+
+package svc
+
+import (
+ "errors"
+
+ "golang.org/x/sys/windows"
+)
+
+// event represents auto-reset, initially non-signaled Windows event.
+// It is used to communicate between go and asm parts of this package.
+type event struct {
+ h windows.Handle
+}
+
+func newEvent() (*event, error) {
+ h, err := windows.CreateEvent(nil, 0, 0, nil)
+ if err != nil {
+ return nil, err
+ }
+ return &event{h: h}, nil
+}
+
+func (e *event) Close() error {
+ return windows.CloseHandle(e.h)
+}
+
+func (e *event) Set() error {
+ return windows.SetEvent(e.h)
+}
+
+func (e *event) Wait() error {
+ s, err := windows.WaitForSingleObject(e.h, windows.INFINITE)
+ switch s {
+ case windows.WAIT_OBJECT_0:
+ break
+ case windows.WAIT_FAILED:
+ return err
+ default:
+ return errors.New("unexpected result from WaitForSingleObject")
+ }
+ return nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/eventlog/install.go b/vendor/golang.org/x/sys/windows/svc/eventlog/install.go
new file mode 100644
index 00000000..c76a3760
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/eventlog/install.go
@@ -0,0 +1,80 @@
+// 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 windows
+
+package eventlog
+
+import (
+ "errors"
+
+ "golang.org/x/sys/windows"
+ "golang.org/x/sys/windows/registry"
+)
+
+const (
+ // Log levels.
+ Info = windows.EVENTLOG_INFORMATION_TYPE
+ Warning = windows.EVENTLOG_WARNING_TYPE
+ Error = windows.EVENTLOG_ERROR_TYPE
+)
+
+const addKeyName = `SYSTEM\CurrentControlSet\Services\EventLog\Application`
+
+// Install modifies PC registry to allow logging with an event source src.
+// It adds all required keys and values to the event log registry key.
+// Install uses msgFile as the event message file. If useExpandKey is true,
+// the event message file is installed as REG_EXPAND_SZ value,
+// otherwise as REG_SZ. Use bitwise of log.Error, log.Warning and
+// log.Info to specify events supported by the new event source.
+func Install(src, msgFile string, useExpandKey bool, eventsSupported uint32) error {
+ appkey, err := registry.OpenKey(registry.LOCAL_MACHINE, addKeyName, registry.CREATE_SUB_KEY)
+ if err != nil {
+ return err
+ }
+ defer appkey.Close()
+
+ sk, alreadyExist, err := registry.CreateKey(appkey, src, registry.SET_VALUE)
+ if err != nil {
+ return err
+ }
+ defer sk.Close()
+ if alreadyExist {
+ return errors.New(addKeyName + `\` + src + " registry key already exists")
+ }
+
+ err = sk.SetDWordValue("CustomSource", 1)
+ if err != nil {
+ return err
+ }
+ if useExpandKey {
+ err = sk.SetExpandStringValue("EventMessageFile", msgFile)
+ } else {
+ err = sk.SetStringValue("EventMessageFile", msgFile)
+ }
+ if err != nil {
+ return err
+ }
+ err = sk.SetDWordValue("TypesSupported", eventsSupported)
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
+// InstallAsEventCreate is the same as Install, but uses
+// %SystemRoot%\System32\EventCreate.exe as the event message file.
+func InstallAsEventCreate(src string, eventsSupported uint32) error {
+ return Install(src, "%SystemRoot%\\System32\\EventCreate.exe", true, eventsSupported)
+}
+
+// Remove deletes all registry elements installed by the correspondent Install.
+func Remove(src string) error {
+ appkey, err := registry.OpenKey(registry.LOCAL_MACHINE, addKeyName, registry.SET_VALUE)
+ if err != nil {
+ return err
+ }
+ defer appkey.Close()
+ return registry.DeleteKey(appkey, src)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/eventlog/log.go b/vendor/golang.org/x/sys/windows/svc/eventlog/log.go
new file mode 100644
index 00000000..46e5153d
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/eventlog/log.go
@@ -0,0 +1,70 @@
+// 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 windows
+
+// Package eventlog implements access to Windows event log.
+//
+package eventlog
+
+import (
+ "errors"
+ "syscall"
+
+ "golang.org/x/sys/windows"
+)
+
+// Log provides access to the system log.
+type Log struct {
+ Handle windows.Handle
+}
+
+// Open retrieves a handle to the specified event log.
+func Open(source string) (*Log, error) {
+ return OpenRemote("", source)
+}
+
+// OpenRemote does the same as Open, but on different computer host.
+func OpenRemote(host, source string) (*Log, error) {
+ if source == "" {
+ return nil, errors.New("Specify event log source")
+ }
+ var s *uint16
+ if host != "" {
+ s = syscall.StringToUTF16Ptr(host)
+ }
+ h, err := windows.RegisterEventSource(s, syscall.StringToUTF16Ptr(source))
+ if err != nil {
+ return nil, err
+ }
+ return &Log{Handle: h}, nil
+}
+
+// Close closes event log l.
+func (l *Log) Close() error {
+ return windows.DeregisterEventSource(l.Handle)
+}
+
+func (l *Log) report(etype uint16, eid uint32, msg string) error {
+ ss := []*uint16{syscall.StringToUTF16Ptr(msg)}
+ return windows.ReportEvent(l.Handle, etype, 0, eid, 0, 1, 0, &ss[0], nil)
+}
+
+// Info writes an information event msg with event id eid to the end of event log l.
+// When EventCreate.exe is used, eid must be between 1 and 1000.
+func (l *Log) Info(eid uint32, msg string) error {
+ return l.report(windows.EVENTLOG_INFORMATION_TYPE, eid, msg)
+}
+
+// Warning writes an warning event msg with event id eid to the end of event log l.
+// When EventCreate.exe is used, eid must be between 1 and 1000.
+func (l *Log) Warning(eid uint32, msg string) error {
+ return l.report(windows.EVENTLOG_WARNING_TYPE, eid, msg)
+}
+
+// Error writes an error event msg with event id eid to the end of event log l.
+// When EventCreate.exe is used, eid must be between 1 and 1000.
+func (l *Log) Error(eid uint32, msg string) error {
+ return l.report(windows.EVENTLOG_ERROR_TYPE, eid, msg)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go b/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go
new file mode 100644
index 00000000..4dd8ad9e
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/eventlog/log_test.go
@@ -0,0 +1,51 @@
+// 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 windows
+
+package eventlog_test
+
+import (
+ "testing"
+
+ "golang.org/x/sys/windows/svc/eventlog"
+)
+
+func TestLog(t *testing.T) {
+ if testing.Short() {
+ t.Skip("skipping test in short mode - it modifies system logs")
+ }
+
+ const name = "mylog"
+ const supports = eventlog.Error | eventlog.Warning | eventlog.Info
+ err := eventlog.InstallAsEventCreate(name, supports)
+ if err != nil {
+ t.Fatalf("Install failed: %s", err)
+ }
+ defer func() {
+ err = eventlog.Remove(name)
+ if err != nil {
+ t.Fatalf("Remove failed: %s", err)
+ }
+ }()
+
+ l, err := eventlog.Open(name)
+ if err != nil {
+ t.Fatalf("Open failed: %s", err)
+ }
+ defer l.Close()
+
+ err = l.Info(1, "info")
+ if err != nil {
+ t.Fatalf("Info failed: %s", err)
+ }
+ err = l.Warning(2, "warning")
+ if err != nil {
+ t.Fatalf("Warning failed: %s", err)
+ }
+ err = l.Error(3, "error")
+ if err != nil {
+ t.Fatalf("Error failed: %s", err)
+ }
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/example/beep.go b/vendor/golang.org/x/sys/windows/svc/example/beep.go
new file mode 100644
index 00000000..dcf23408
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/example/beep.go
@@ -0,0 +1,22 @@
+// 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 windows
+
+package main
+
+import (
+ "syscall"
+)
+
+// BUG(brainman): MessageBeep Windows api is broken on Windows 7,
+// so this example does not beep when runs as service on Windows 7.
+
+var (
+ beepFunc = syscall.MustLoadDLL("user32.dll").MustFindProc("MessageBeep")
+)
+
+func beep() {
+ beepFunc.Call(0xffffffff)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/example/install.go b/vendor/golang.org/x/sys/windows/svc/example/install.go
new file mode 100644
index 00000000..39cb00d2
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/example/install.go
@@ -0,0 +1,92 @@
+// 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 windows
+
+package main
+
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+
+ "golang.org/x/sys/windows/svc/eventlog"
+ "golang.org/x/sys/windows/svc/mgr"
+)
+
+func exePath() (string, error) {
+ prog := os.Args[0]
+ p, err := filepath.Abs(prog)
+ if err != nil {
+ return "", err
+ }
+ fi, err := os.Stat(p)
+ if err == nil {
+ if !fi.Mode().IsDir() {
+ return p, nil
+ }
+ err = fmt.Errorf("%s is directory", p)
+ }
+ if filepath.Ext(p) == "" {
+ p += ".exe"
+ fi, err := os.Stat(p)
+ if err == nil {
+ if !fi.Mode().IsDir() {
+ return p, nil
+ }
+ err = fmt.Errorf("%s is directory", p)
+ }
+ }
+ return "", err
+}
+
+func installService(name, desc string) error {
+ exepath, err := exePath()
+ if err != nil {
+ return err
+ }
+ m, err := mgr.Connect()
+ if err != nil {
+ return err
+ }
+ defer m.Disconnect()
+ s, err := m.OpenService(name)
+ if err == nil {
+ s.Close()
+ return fmt.Errorf("service %s already exists", name)
+ }
+ s, err = m.CreateService(name, exepath, mgr.Config{DisplayName: desc}, "is", "auto-started")
+ if err != nil {
+ return err
+ }
+ defer s.Close()
+ err = eventlog.InstallAsEventCreate(name, eventlog.Error|eventlog.Warning|eventlog.Info)
+ if err != nil {
+ s.Delete()
+ return fmt.Errorf("SetupEventLogSource() failed: %s", err)
+ }
+ return nil
+}
+
+func removeService(name string) error {
+ m, err := mgr.Connect()
+ if err != nil {
+ return err
+ }
+ defer m.Disconnect()
+ s, err := m.OpenService(name)
+ if err != nil {
+ return fmt.Errorf("service %s is not installed", name)
+ }
+ defer s.Close()
+ err = s.Delete()
+ if err != nil {
+ return err
+ }
+ err = eventlog.Remove(name)
+ if err != nil {
+ return fmt.Errorf("RemoveEventLogSource() failed: %s", err)
+ }
+ return nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/example/main.go b/vendor/golang.org/x/sys/windows/svc/example/main.go
new file mode 100644
index 00000000..dc96c081
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/example/main.go
@@ -0,0 +1,76 @@
+// 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 windows
+
+// Example service program that beeps.
+//
+// The program demonstrates how to create Windows service and
+// install / remove it on a computer. It also shows how to
+// stop / start / pause / continue any service, and how to
+// write to event log. It also shows how to use debug
+// facilities available in debug package.
+//
+package main
+
+import (
+ "fmt"
+ "log"
+ "os"
+ "strings"
+
+ "golang.org/x/sys/windows/svc"
+)
+
+func usage(errmsg string) {
+ fmt.Fprintf(os.Stderr,
+ "%s\n\n"+
+ "usage: %s <command>\n"+
+ " where <command> is one of\n"+
+ " install, remove, debug, start, stop, pause or continue.\n",
+ errmsg, os.Args[0])
+ os.Exit(2)
+}
+
+func main() {
+ const svcName = "myservice"
+
+ isIntSess, err := svc.IsAnInteractiveSession()
+ if err != nil {
+ log.Fatalf("failed to determine if we are running in an interactive session: %v", err)
+ }
+ if !isIntSess {
+ runService(svcName, false)
+ return
+ }
+
+ if len(os.Args) < 2 {
+ usage("no command specified")
+ }
+
+ cmd := strings.ToLower(os.Args[1])
+ switch cmd {
+ case "debug":
+ runService(svcName, true)
+ return
+ case "install":
+ err = installService(svcName, "my service")
+ case "remove":
+ err = removeService(svcName)
+ case "start":
+ err = startService(svcName)
+ case "stop":
+ err = controlService(svcName, svc.Stop, svc.Stopped)
+ case "pause":
+ err = controlService(svcName, svc.Pause, svc.Paused)
+ case "continue":
+ err = controlService(svcName, svc.Continue, svc.Running)
+ default:
+ usage(fmt.Sprintf("invalid command %s", cmd))
+ }
+ if err != nil {
+ log.Fatalf("failed to %s %s: %v", cmd, svcName, err)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/example/manage.go b/vendor/golang.org/x/sys/windows/svc/example/manage.go
new file mode 100644
index 00000000..782dbd96
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/example/manage.go
@@ -0,0 +1,62 @@
+// 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 windows
+
+package main
+
+import (
+ "fmt"
+ "time"
+
+ "golang.org/x/sys/windows/svc"
+ "golang.org/x/sys/windows/svc/mgr"
+)
+
+func startService(name string) error {
+ m, err := mgr.Connect()
+ if err != nil {
+ return err
+ }
+ defer m.Disconnect()
+ s, err := m.OpenService(name)
+ if err != nil {
+ return fmt.Errorf("could not access service: %v", err)
+ }
+ defer s.Close()
+ err = s.Start("is", "manual-started")
+ if err != nil {
+ return fmt.Errorf("could not start service: %v", err)
+ }
+ return nil
+}
+
+func controlService(name string, c svc.Cmd, to svc.State) error {
+ m, err := mgr.Connect()
+ if err != nil {
+ return err
+ }
+ defer m.Disconnect()
+ s, err := m.OpenService(name)
+ if err != nil {
+ return fmt.Errorf("could not access service: %v", err)
+ }
+ defer s.Close()
+ status, err := s.Control(c)
+ if err != nil {
+ return fmt.Errorf("could not send control=%d: %v", c, err)
+ }
+ timeout := time.Now().Add(10 * time.Second)
+ for status.State != to {
+ if timeout.Before(time.Now()) {
+ return fmt.Errorf("timeout waiting for service to go to state=%d", to)
+ }
+ time.Sleep(300 * time.Millisecond)
+ status, err = s.Query()
+ if err != nil {
+ return fmt.Errorf("could not retrieve service status: %v", err)
+ }
+ }
+ return nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/example/service.go b/vendor/golang.org/x/sys/windows/svc/example/service.go
new file mode 100644
index 00000000..237e8098
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/example/service.go
@@ -0,0 +1,82 @@
+// 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 windows
+
+package main
+
+import (
+ "fmt"
+ "time"
+
+ "golang.org/x/sys/windows/svc"
+ "golang.org/x/sys/windows/svc/debug"
+ "golang.org/x/sys/windows/svc/eventlog"
+)
+
+var elog debug.Log
+
+type myservice struct{}
+
+func (m *myservice) Execute(args []string, r <-chan svc.ChangeRequest, changes chan<- svc.Status) (ssec bool, errno uint32) {
+ const cmdsAccepted = svc.AcceptStop | svc.AcceptShutdown | svc.AcceptPauseAndContinue
+ changes <- svc.Status{State: svc.StartPending}
+ fasttick := time.Tick(500 * time.Millisecond)
+ slowtick := time.Tick(2 * time.Second)
+ tick := fasttick
+ changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted}
+loop:
+ for {
+ select {
+ case <-tick:
+ beep()
+ elog.Info(1, "beep")
+ case c := <-r:
+ switch c.Cmd {
+ case svc.Interrogate:
+ changes <- c.CurrentStatus
+ // Testing deadlock from https://code.google.com/p/winsvc/issues/detail?id=4
+ time.Sleep(100 * time.Millisecond)
+ changes <- c.CurrentStatus
+ case svc.Stop, svc.Shutdown:
+ break loop
+ case svc.Pause:
+ changes <- svc.Status{State: svc.Paused, Accepts: cmdsAccepted}
+ tick = slowtick
+ case svc.Continue:
+ changes <- svc.Status{State: svc.Running, Accepts: cmdsAccepted}
+ tick = fasttick
+ default:
+ elog.Error(1, fmt.Sprintf("unexpected control request #%d", c))
+ }
+ }
+ }
+ changes <- svc.Status{State: svc.StopPending}
+ return
+}
+
+func runService(name string, isDebug bool) {
+ var err error
+ if isDebug {
+ elog = debug.New(name)
+ } else {
+ elog, err = eventlog.Open(name)
+ if err != nil {
+ return
+ }
+ }
+ defer elog.Close()
+
+ elog.Info(1, fmt.Sprintf("starting %s service", name))
+ run := svc.Run
+ if isDebug {
+ run = debug.Run
+ }
+ err = run(name, &myservice{})
+ if err != nil {
+ elog.Error(1, fmt.Sprintf("%s service failed: %v", name, err))
+ return
+ }
+ elog.Info(1, fmt.Sprintf("%s service stopped", name))
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/go12.c b/vendor/golang.org/x/sys/windows/svc/go12.c
new file mode 100644
index 00000000..6f1be1fa
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/go12.c
@@ -0,0 +1,24 @@
+// 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 windows
+// +build !go1.3
+
+// copied from pkg/runtime
+typedef unsigned int uint32;
+typedef unsigned long long int uint64;
+#ifdef _64BIT
+typedef uint64 uintptr;
+#else
+typedef uint32 uintptr;
+#endif
+
+// from sys_386.s or sys_amd64.s
+void ·servicemain(void);
+
+void
+·getServiceMain(uintptr *r)
+{
+ *r = (uintptr)·servicemain;
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/go12.go b/vendor/golang.org/x/sys/windows/svc/go12.go
new file mode 100644
index 00000000..6f0a924e
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/go12.go
@@ -0,0 +1,11 @@
+// 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 windows
+// +build !go1.3
+
+package svc
+
+// from go12.c
+func getServiceMain(r *uintptr)
diff --git a/vendor/golang.org/x/sys/windows/svc/go13.go b/vendor/golang.org/x/sys/windows/svc/go13.go
new file mode 100644
index 00000000..432a9e79
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/go13.go
@@ -0,0 +1,31 @@
+// 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 windows
+// +build go1.3
+
+package svc
+
+import "unsafe"
+
+const ptrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const
+
+// Should be a built-in for unsafe.Pointer?
+func add(p unsafe.Pointer, x uintptr) unsafe.Pointer {
+ return unsafe.Pointer(uintptr(p) + x)
+}
+
+// funcPC returns the entry PC of the function f.
+// It assumes that f is a func value. Otherwise the behavior is undefined.
+func funcPC(f interface{}) uintptr {
+ return **(**uintptr)(add(unsafe.Pointer(&f), ptrSize))
+}
+
+// from sys_386.s and sys_amd64.s
+func servicectlhandler(ctl uint32) uintptr
+func servicemain(argc uint32, argv **uint16)
+
+func getServiceMain(r *uintptr) {
+ *r = funcPC(servicemain)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/config.go b/vendor/golang.org/x/sys/windows/svc/mgr/config.go
new file mode 100644
index 00000000..0a6edba4
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/mgr/config.go
@@ -0,0 +1,139 @@
+// 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 windows
+
+package mgr
+
+import (
+ "syscall"
+ "unicode/utf16"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+const (
+ // Service start types.
+ StartManual = windows.SERVICE_DEMAND_START // the service must be started manually
+ StartAutomatic = windows.SERVICE_AUTO_START // the service will start by itself whenever the computer reboots
+ StartDisabled = windows.SERVICE_DISABLED // the service cannot be started
+
+ // The severity of the error, and action taken,
+ // if this service fails to start.
+ ErrorCritical = windows.SERVICE_ERROR_CRITICAL
+ ErrorIgnore = windows.SERVICE_ERROR_IGNORE
+ ErrorNormal = windows.SERVICE_ERROR_NORMAL
+ ErrorSevere = windows.SERVICE_ERROR_SEVERE
+)
+
+// TODO(brainman): Password is not returned by windows.QueryServiceConfig, not sure how to get it.
+
+type Config struct {
+ ServiceType uint32
+ StartType uint32
+ ErrorControl uint32
+ BinaryPathName string // fully qualified path to the service binary file, can also include arguments for an auto-start service
+ LoadOrderGroup string
+ TagId uint32
+ Dependencies []string
+ ServiceStartName string // name of the account under which the service should run
+ DisplayName string
+ Password string
+ Description string
+}
+
+func toString(p *uint16) string {
+ if p == nil {
+ return ""
+ }
+ return syscall.UTF16ToString((*[4096]uint16)(unsafe.Pointer(p))[:])
+}
+
+func toStringSlice(ps *uint16) []string {
+ if ps == nil {
+ return nil
+ }
+ r := make([]string, 0)
+ for from, i, p := 0, 0, (*[1 << 24]uint16)(unsafe.Pointer(ps)); true; i++ {
+ if p[i] == 0 {
+ // empty string marks the end
+ if i <= from {
+ break
+ }
+ r = append(r, string(utf16.Decode(p[from:i])))
+ from = i + 1
+ }
+ }
+ return r
+}
+
+// Config retrieves service s configuration paramteres.
+func (s *Service) Config() (Config, error) {
+ var p *windows.QUERY_SERVICE_CONFIG
+ n := uint32(1024)
+ for {
+ b := make([]byte, n)
+ p = (*windows.QUERY_SERVICE_CONFIG)(unsafe.Pointer(&b[0]))
+ err := windows.QueryServiceConfig(s.Handle, p, n, &n)
+ if err == nil {
+ break
+ }
+ if err.(syscall.Errno) != syscall.ERROR_INSUFFICIENT_BUFFER {
+ return Config{}, err
+ }
+ if n <= uint32(len(b)) {
+ return Config{}, err
+ }
+ }
+
+ var p2 *windows.SERVICE_DESCRIPTION
+ n = uint32(1024)
+ for {
+ b := make([]byte, n)
+ p2 = (*windows.SERVICE_DESCRIPTION)(unsafe.Pointer(&b[0]))
+ err := windows.QueryServiceConfig2(s.Handle,
+ windows.SERVICE_CONFIG_DESCRIPTION, &b[0], n, &n)
+ if err == nil {
+ break
+ }
+ if err.(syscall.Errno) != syscall.ERROR_INSUFFICIENT_BUFFER {
+ return Config{}, err
+ }
+ if n <= uint32(len(b)) {
+ return Config{}, err
+ }
+ }
+
+ return Config{
+ ServiceType: p.ServiceType,
+ StartType: p.StartType,
+ ErrorControl: p.ErrorControl,
+ BinaryPathName: toString(p.BinaryPathName),
+ LoadOrderGroup: toString(p.LoadOrderGroup),
+ TagId: p.TagId,
+ Dependencies: toStringSlice(p.Dependencies),
+ ServiceStartName: toString(p.ServiceStartName),
+ DisplayName: toString(p.DisplayName),
+ Description: toString(p2.Description),
+ }, nil
+}
+
+func updateDescription(handle windows.Handle, desc string) error {
+ d := windows.SERVICE_DESCRIPTION{toPtr(desc)}
+ return windows.ChangeServiceConfig2(handle,
+ windows.SERVICE_CONFIG_DESCRIPTION, (*byte)(unsafe.Pointer(&d)))
+}
+
+// UpdateConfig updates service s configuration parameters.
+func (s *Service) UpdateConfig(c Config) error {
+ err := windows.ChangeServiceConfig(s.Handle, c.ServiceType, c.StartType,
+ c.ErrorControl, toPtr(c.BinaryPathName), toPtr(c.LoadOrderGroup),
+ nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName),
+ toPtr(c.Password), toPtr(c.DisplayName))
+ if err != nil {
+ return err
+ }
+ return updateDescription(s.Handle, c.Description)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go b/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go
new file mode 100644
index 00000000..76965b56
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/mgr/mgr.go
@@ -0,0 +1,162 @@
+// 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 windows
+
+// Package mgr can be used to manage Windows service programs.
+// It can be used to install and remove them. It can also start,
+// stop and pause them. The package can query / change current
+// service state and config parameters.
+//
+package mgr
+
+import (
+ "syscall"
+ "unicode/utf16"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+// Mgr is used to manage Windows service.
+type Mgr struct {
+ Handle windows.Handle
+}
+
+// Connect establishes a connection to the service control manager.
+func Connect() (*Mgr, error) {
+ return ConnectRemote("")
+}
+
+// ConnectRemote establishes a connection to the
+// service control manager on computer named host.
+func ConnectRemote(host string) (*Mgr, error) {
+ var s *uint16
+ if host != "" {
+ s = syscall.StringToUTF16Ptr(host)
+ }
+ h, err := windows.OpenSCManager(s, nil, windows.SC_MANAGER_ALL_ACCESS)
+ if err != nil {
+ return nil, err
+ }
+ return &Mgr{Handle: h}, nil
+}
+
+// Disconnect closes connection to the service control manager m.
+func (m *Mgr) Disconnect() error {
+ return windows.CloseServiceHandle(m.Handle)
+}
+
+func toPtr(s string) *uint16 {
+ if len(s) == 0 {
+ return nil
+ }
+ return syscall.StringToUTF16Ptr(s)
+}
+
+// toStringBlock terminates strings in ss with 0, and then
+// concatenates them together. It also adds extra 0 at the end.
+func toStringBlock(ss []string) *uint16 {
+ if len(ss) == 0 {
+ return nil
+ }
+ t := ""
+ for _, s := range ss {
+ if s != "" {
+ t += s + "\x00"
+ }
+ }
+ if t == "" {
+ return nil
+ }
+ t += "\x00"
+ return &utf16.Encode([]rune(t))[0]
+}
+
+// CreateService installs new service name on the system.
+// The service will be executed by running exepath binary.
+// Use config c to specify service parameters.
+// Any args will be passed as command-line arguments when
+// the service is started; these arguments are distinct from
+// the arguments passed to Service.Start or via the "Start
+// parameters" field in the service's Properties dialog box.
+func (m *Mgr) CreateService(name, exepath string, c Config, args ...string) (*Service, error) {
+ if c.StartType == 0 {
+ c.StartType = StartManual
+ }
+ if c.ErrorControl == 0 {
+ c.ErrorControl = ErrorNormal
+ }
+ if c.ServiceType == 0 {
+ c.ServiceType = windows.SERVICE_WIN32_OWN_PROCESS
+ }
+ s := syscall.EscapeArg(exepath)
+ for _, v := range args {
+ s += " " + syscall.EscapeArg(v)
+ }
+ h, err := windows.CreateService(m.Handle, toPtr(name), toPtr(c.DisplayName),
+ windows.SERVICE_ALL_ACCESS, c.ServiceType,
+ c.StartType, c.ErrorControl, toPtr(s), toPtr(c.LoadOrderGroup),
+ nil, toStringBlock(c.Dependencies), toPtr(c.ServiceStartName), toPtr(c.Password))
+ if err != nil {
+ return nil, err
+ }
+ if c.Description != "" {
+ err = updateDescription(h, c.Description)
+ if err != nil {
+ return nil, err
+ }
+ }
+ return &Service{Name: name, Handle: h}, nil
+}
+
+// OpenService retrieves access to service name, so it can
+// be interrogated and controlled.
+func (m *Mgr) OpenService(name string) (*Service, error) {
+ h, err := windows.OpenService(m.Handle, syscall.StringToUTF16Ptr(name), windows.SERVICE_ALL_ACCESS)
+ if err != nil {
+ return nil, err
+ }
+ return &Service{Name: name, Handle: h}, nil
+}
+
+// ListServices enumerates services in the specified
+// service control manager database m.
+// If the caller does not have the SERVICE_QUERY_STATUS
+// access right to a service, the service is silently
+// omitted from the list of services returned.
+func (m *Mgr) ListServices() ([]string, error) {
+ var err error
+ var bytesNeeded, servicesReturned uint32
+ var buf []byte
+ for {
+ var p *byte
+ if len(buf) > 0 {
+ p = &buf[0]
+ }
+ err = windows.EnumServicesStatusEx(m.Handle, windows.SC_ENUM_PROCESS_INFO,
+ windows.SERVICE_WIN32, windows.SERVICE_STATE_ALL,
+ p, uint32(len(buf)), &bytesNeeded, &servicesReturned, nil, nil)
+ if err == nil {
+ break
+ }
+ if err != syscall.ERROR_MORE_DATA {
+ return nil, err
+ }
+ if bytesNeeded <= uint32(len(buf)) {
+ return nil, err
+ }
+ buf = make([]byte, bytesNeeded)
+ }
+ if servicesReturned == 0 {
+ return nil, nil
+ }
+ services := (*[1 << 20]windows.ENUM_SERVICE_STATUS_PROCESS)(unsafe.Pointer(&buf[0]))[:servicesReturned]
+ var names []string
+ for _, s := range services {
+ name := syscall.UTF16ToString((*[1 << 20]uint16)(unsafe.Pointer(s.ServiceName))[:])
+ names = append(names, name)
+ }
+ return names, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go b/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go
new file mode 100644
index 00000000..e67407cf
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/mgr/mgr_test.go
@@ -0,0 +1,169 @@
+// 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 windows
+
+package mgr_test
+
+import (
+ "os"
+ "path/filepath"
+ "sort"
+ "strings"
+ "syscall"
+ "testing"
+ "time"
+
+ "golang.org/x/sys/windows/svc/mgr"
+)
+
+func TestOpenLanManServer(t *testing.T) {
+ m, err := mgr.Connect()
+ if err != nil {
+ if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED {
+ t.Skip("Skipping test: we don't have rights to manage services.")
+ }
+ t.Fatalf("SCM connection failed: %s", err)
+ }
+ defer m.Disconnect()
+
+ s, err := m.OpenService("LanmanServer")
+ if err != nil {
+ t.Fatalf("OpenService(lanmanserver) failed: %s", err)
+ }
+ defer s.Close()
+
+ _, err = s.Config()
+ if err != nil {
+ t.Fatalf("Config failed: %s", err)
+ }
+}
+
+func install(t *testing.T, m *mgr.Mgr, name, exepath string, c mgr.Config) {
+ // Sometimes it takes a while for the service to get
+ // removed after previous test run.
+ for i := 0; ; i++ {
+ s, err := m.OpenService(name)
+ if err != nil {
+ break
+ }
+ s.Close()
+
+ if i > 10 {
+ t.Fatalf("service %s already exists", name)
+ }
+ time.Sleep(300 * time.Millisecond)
+ }
+
+ s, err := m.CreateService(name, exepath, c)
+ if err != nil {
+ t.Fatalf("CreateService(%s) failed: %v", name, err)
+ }
+ defer s.Close()
+}
+
+func depString(d []string) string {
+ if len(d) == 0 {
+ return ""
+ }
+ for i := range d {
+ d[i] = strings.ToLower(d[i])
+ }
+ ss := sort.StringSlice(d)
+ ss.Sort()
+ return strings.Join([]string(ss), " ")
+}
+
+func testConfig(t *testing.T, s *mgr.Service, should mgr.Config) mgr.Config {
+ is, err := s.Config()
+ if err != nil {
+ t.Fatalf("Config failed: %s", err)
+ }
+ if should.DisplayName != is.DisplayName {
+ t.Fatalf("config mismatch: DisplayName is %q, but should have %q", is.DisplayName, should.DisplayName)
+ }
+ if should.StartType != is.StartType {
+ t.Fatalf("config mismatch: StartType is %v, but should have %v", is.StartType, should.StartType)
+ }
+ if should.Description != is.Description {
+ t.Fatalf("config mismatch: Description is %q, but should have %q", is.Description, should.Description)
+ }
+ if depString(should.Dependencies) != depString(is.Dependencies) {
+ t.Fatalf("config mismatch: Dependencies is %v, but should have %v", is.Dependencies, should.Dependencies)
+ }
+ return is
+}
+
+func remove(t *testing.T, s *mgr.Service) {
+ err := s.Delete()
+ if err != nil {
+ t.Fatalf("Delete failed: %s", err)
+ }
+}
+
+func TestMyService(t *testing.T) {
+ if testing.Short() {
+ t.Skip("skipping test in short mode - it modifies system services")
+ }
+
+ const name = "myservice"
+
+ m, err := mgr.Connect()
+ if err != nil {
+ if errno, ok := err.(syscall.Errno); ok && errno == syscall.ERROR_ACCESS_DENIED {
+ t.Skip("Skipping test: we don't have rights to manage services.")
+ }
+ t.Fatalf("SCM connection failed: %s", err)
+ }
+ defer m.Disconnect()
+
+ c := mgr.Config{
+ StartType: mgr.StartDisabled,
+ DisplayName: "my service",
+ Description: "my service is just a test",
+ Dependencies: []string{"LanmanServer", "W32Time"},
+ }
+
+ exename := os.Args[0]
+ exepath, err := filepath.Abs(exename)
+ if err != nil {
+ t.Fatalf("filepath.Abs(%s) failed: %s", exename, err)
+ }
+
+ install(t, m, name, exepath, c)
+
+ s, err := m.OpenService(name)
+ if err != nil {
+ t.Fatalf("service %s is not installed", name)
+ }
+ defer s.Close()
+
+ c.BinaryPathName = exepath
+ c = testConfig(t, s, c)
+
+ c.StartType = mgr.StartManual
+ err = s.UpdateConfig(c)
+ if err != nil {
+ t.Fatalf("UpdateConfig failed: %v", err)
+ }
+
+ testConfig(t, s, c)
+
+ svcnames, err := m.ListServices()
+ if err != nil {
+ t.Fatalf("ListServices failed: %v", err)
+ }
+ var myserviceIsInstalled bool
+ for _, sn := range svcnames {
+ if sn == name {
+ myserviceIsInstalled = true
+ break
+ }
+ }
+ if !myserviceIsInstalled {
+ t.Errorf("ListServices failed to find %q service", name)
+ }
+
+ remove(t, s)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/mgr/service.go b/vendor/golang.org/x/sys/windows/svc/mgr/service.go
new file mode 100644
index 00000000..fdc46af5
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/mgr/service.go
@@ -0,0 +1,72 @@
+// 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 windows
+
+package mgr
+
+import (
+ "syscall"
+
+ "golang.org/x/sys/windows"
+ "golang.org/x/sys/windows/svc"
+)
+
+// TODO(brainman): Use EnumDependentServices to enumerate dependent services.
+
+// Service is used to access Windows service.
+type Service struct {
+ Name string
+ Handle windows.Handle
+}
+
+// Delete marks service s for deletion from the service control manager database.
+func (s *Service) Delete() error {
+ return windows.DeleteService(s.Handle)
+}
+
+// Close relinquish access to the service s.
+func (s *Service) Close() error {
+ return windows.CloseServiceHandle(s.Handle)
+}
+
+// Start starts service s.
+// args will be passed to svc.Handler.Execute.
+func (s *Service) Start(args ...string) error {
+ var p **uint16
+ if len(args) > 0 {
+ vs := make([]*uint16, len(args))
+ for i := range vs {
+ vs[i] = syscall.StringToUTF16Ptr(args[i])
+ }
+ p = &vs[0]
+ }
+ return windows.StartService(s.Handle, uint32(len(args)), p)
+}
+
+// Control sends state change request c to the servce s.
+func (s *Service) Control(c svc.Cmd) (svc.Status, error) {
+ var t windows.SERVICE_STATUS
+ err := windows.ControlService(s.Handle, uint32(c), &t)
+ if err != nil {
+ return svc.Status{}, err
+ }
+ return svc.Status{
+ State: svc.State(t.CurrentState),
+ Accepts: svc.Accepted(t.ControlsAccepted),
+ }, nil
+}
+
+// Query returns current status of service s.
+func (s *Service) Query() (svc.Status, error) {
+ var t windows.SERVICE_STATUS
+ err := windows.QueryServiceStatus(s.Handle, &t)
+ if err != nil {
+ return svc.Status{}, err
+ }
+ return svc.Status{
+ State: svc.State(t.CurrentState),
+ Accepts: svc.Accepted(t.ControlsAccepted),
+ }, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/security.go b/vendor/golang.org/x/sys/windows/svc/security.go
new file mode 100644
index 00000000..6fbc9236
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/security.go
@@ -0,0 +1,62 @@
+// 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 windows
+
+package svc
+
+import (
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+func allocSid(subAuth0 uint32) (*windows.SID, error) {
+ var sid *windows.SID
+ err := windows.AllocateAndInitializeSid(&windows.SECURITY_NT_AUTHORITY,
+ 1, subAuth0, 0, 0, 0, 0, 0, 0, 0, &sid)
+ if err != nil {
+ return nil, err
+ }
+ return sid, nil
+}
+
+// IsAnInteractiveSession determines if calling process is running interactively.
+// It queries the process token for membership in the Interactive group.
+// http://stackoverflow.com/questions/2668851/how-do-i-detect-that-my-application-is-running-as-service-or-in-an-interactive-s
+func IsAnInteractiveSession() (bool, error) {
+ interSid, err := allocSid(windows.SECURITY_INTERACTIVE_RID)
+ if err != nil {
+ return false, err
+ }
+ defer windows.FreeSid(interSid)
+
+ serviceSid, err := allocSid(windows.SECURITY_SERVICE_RID)
+ if err != nil {
+ return false, err
+ }
+ defer windows.FreeSid(serviceSid)
+
+ t, err := windows.OpenCurrentProcessToken()
+ if err != nil {
+ return false, err
+ }
+ defer t.Close()
+
+ gs, err := t.GetTokenGroups()
+ if err != nil {
+ return false, err
+ }
+ p := unsafe.Pointer(&gs.Groups[0])
+ groups := (*[2 << 20]windows.SIDAndAttributes)(p)[:gs.GroupCount]
+ for _, g := range groups {
+ if windows.EqualSid(g.Sid, interSid) {
+ return true, nil
+ }
+ if windows.EqualSid(g.Sid, serviceSid) {
+ return false, nil
+ }
+ }
+ return false, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/service.go b/vendor/golang.org/x/sys/windows/svc/service.go
new file mode 100644
index 00000000..903cba3f
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/service.go
@@ -0,0 +1,363 @@
+// 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 windows
+
+// Package svc provides everything required to build Windows service.
+//
+package svc
+
+import (
+ "errors"
+ "runtime"
+ "syscall"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+// State describes service execution state (Stopped, Running and so on).
+type State uint32
+
+const (
+ Stopped = State(windows.SERVICE_STOPPED)
+ StartPending = State(windows.SERVICE_START_PENDING)
+ StopPending = State(windows.SERVICE_STOP_PENDING)
+ Running = State(windows.SERVICE_RUNNING)
+ ContinuePending = State(windows.SERVICE_CONTINUE_PENDING)
+ PausePending = State(windows.SERVICE_PAUSE_PENDING)
+ Paused = State(windows.SERVICE_PAUSED)
+)
+
+// Cmd represents service state change request. It is sent to a service
+// by the service manager, and should be actioned upon by the service.
+type Cmd uint32
+
+const (
+ Stop = Cmd(windows.SERVICE_CONTROL_STOP)
+ Pause = Cmd(windows.SERVICE_CONTROL_PAUSE)
+ Continue = Cmd(windows.SERVICE_CONTROL_CONTINUE)
+ Interrogate = Cmd(windows.SERVICE_CONTROL_INTERROGATE)
+ Shutdown = Cmd(windows.SERVICE_CONTROL_SHUTDOWN)
+ ParamChange = Cmd(windows.SERVICE_CONTROL_PARAMCHANGE)
+ NetBindAdd = Cmd(windows.SERVICE_CONTROL_NETBINDADD)
+ NetBindRemove = Cmd(windows.SERVICE_CONTROL_NETBINDREMOVE)
+ NetBindEnable = Cmd(windows.SERVICE_CONTROL_NETBINDENABLE)
+ NetBindDisable = Cmd(windows.SERVICE_CONTROL_NETBINDDISABLE)
+ DeviceEvent = Cmd(windows.SERVICE_CONTROL_DEVICEEVENT)
+ HardwareProfileChange = Cmd(windows.SERVICE_CONTROL_HARDWAREPROFILECHANGE)
+ PowerEvent = Cmd(windows.SERVICE_CONTROL_POWEREVENT)
+ SessionChange = Cmd(windows.SERVICE_CONTROL_SESSIONCHANGE)
+)
+
+// Accepted is used to describe commands accepted by the service.
+// Note that Interrogate is always accepted.
+type Accepted uint32
+
+const (
+ AcceptStop = Accepted(windows.SERVICE_ACCEPT_STOP)
+ AcceptShutdown = Accepted(windows.SERVICE_ACCEPT_SHUTDOWN)
+ AcceptPauseAndContinue = Accepted(windows.SERVICE_ACCEPT_PAUSE_CONTINUE)
+ AcceptParamChange = Accepted(windows.SERVICE_ACCEPT_PARAMCHANGE)
+ AcceptNetBindChange = Accepted(windows.SERVICE_ACCEPT_NETBINDCHANGE)
+ AcceptHardwareProfileChange = Accepted(windows.SERVICE_ACCEPT_HARDWAREPROFILECHANGE)
+ AcceptPowerEvent = Accepted(windows.SERVICE_ACCEPT_POWEREVENT)
+ AcceptSessionChange = Accepted(windows.SERVICE_ACCEPT_SESSIONCHANGE)
+)
+
+// Status combines State and Accepted commands to fully describe running service.
+type Status struct {
+ State State
+ Accepts Accepted
+ CheckPoint uint32 // used to report progress during a lengthy operation
+ WaitHint uint32 // estimated time required for a pending operation, in milliseconds
+}
+
+// ChangeRequest is sent to the service Handler to request service status change.
+type ChangeRequest struct {
+ Cmd Cmd
+ EventType uint32
+ EventData uintptr
+ CurrentStatus Status
+}
+
+// Handler is the interface that must be implemented to build Windows service.
+type Handler interface {
+
+ // Execute will be called by the package code at the start of
+ // the service, and the service will exit once Execute completes.
+ // Inside Execute you must read service change requests from r and
+ // act accordingly. You must keep service control manager up to date
+ // about state of your service by writing into s as required.
+ // args contains service name followed by argument strings passed
+ // to the service.
+ // You can provide service exit code in exitCode return parameter,
+ // with 0 being "no error". You can also indicate if exit code,
+ // if any, is service specific or not by using svcSpecificEC
+ // parameter.
+ Execute(args []string, r <-chan ChangeRequest, s chan<- Status) (svcSpecificEC bool, exitCode uint32)
+}
+
+var (
+ // These are used by asm code.
+ goWaitsH uintptr
+ cWaitsH uintptr
+ ssHandle uintptr
+ sName *uint16
+ sArgc uintptr
+ sArgv **uint16
+ ctlHandlerExProc uintptr
+ cSetEvent uintptr
+ cWaitForSingleObject uintptr
+ cRegisterServiceCtrlHandlerExW uintptr
+)
+
+func init() {
+ k := syscall.MustLoadDLL("kernel32.dll")
+ cSetEvent = k.MustFindProc("SetEvent").Addr()
+ cWaitForSingleObject = k.MustFindProc("WaitForSingleObject").Addr()
+ a := syscall.MustLoadDLL("advapi32.dll")
+ cRegisterServiceCtrlHandlerExW = a.MustFindProc("RegisterServiceCtrlHandlerExW").Addr()
+}
+
+// The HandlerEx prototype also has a context pointer but since we don't use
+// it at start-up time we don't have to pass it over either.
+type ctlEvent struct {
+ cmd Cmd
+ eventType uint32
+ eventData uintptr
+ errno uint32
+}
+
+// service provides access to windows service api.
+type service struct {
+ name string
+ h windows.Handle
+ cWaits *event
+ goWaits *event
+ c chan ctlEvent
+ handler Handler
+}
+
+func newService(name string, handler Handler) (*service, error) {
+ var s service
+ var err error
+ s.name = name
+ s.c = make(chan ctlEvent)
+ s.handler = handler
+ s.cWaits, err = newEvent()
+ if err != nil {
+ return nil, err
+ }
+ s.goWaits, err = newEvent()
+ if err != nil {
+ s.cWaits.Close()
+ return nil, err
+ }
+ return &s, nil
+}
+
+func (s *service) close() error {
+ s.cWaits.Close()
+ s.goWaits.Close()
+ return nil
+}
+
+type exitCode struct {
+ isSvcSpecific bool
+ errno uint32
+}
+
+func (s *service) updateStatus(status *Status, ec *exitCode) error {
+ if s.h == 0 {
+ return errors.New("updateStatus with no service status handle")
+ }
+ var t windows.SERVICE_STATUS
+ t.ServiceType = windows.SERVICE_WIN32_OWN_PROCESS
+ t.CurrentState = uint32(status.State)
+ if status.Accepts&AcceptStop != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_STOP
+ }
+ if status.Accepts&AcceptShutdown != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_SHUTDOWN
+ }
+ if status.Accepts&AcceptPauseAndContinue != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_PAUSE_CONTINUE
+ }
+ if status.Accepts&AcceptParamChange != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_PARAMCHANGE
+ }
+ if status.Accepts&AcceptNetBindChange != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_NETBINDCHANGE
+ }
+ if status.Accepts&AcceptHardwareProfileChange != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_HARDWAREPROFILECHANGE
+ }
+ if status.Accepts&AcceptPowerEvent != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_POWEREVENT
+ }
+ if status.Accepts&AcceptSessionChange != 0 {
+ t.ControlsAccepted |= windows.SERVICE_ACCEPT_SESSIONCHANGE
+ }
+ if ec.errno == 0 {
+ t.Win32ExitCode = windows.NO_ERROR
+ t.ServiceSpecificExitCode = windows.NO_ERROR
+ } else if ec.isSvcSpecific {
+ t.Win32ExitCode = uint32(windows.ERROR_SERVICE_SPECIFIC_ERROR)
+ t.ServiceSpecificExitCode = ec.errno
+ } else {
+ t.Win32ExitCode = ec.errno
+ t.ServiceSpecificExitCode = windows.NO_ERROR
+ }
+ t.CheckPoint = status.CheckPoint
+ t.WaitHint = status.WaitHint
+ return windows.SetServiceStatus(s.h, &t)
+}
+
+const (
+ sysErrSetServiceStatusFailed = uint32(syscall.APPLICATION_ERROR) + iota
+ sysErrNewThreadInCallback
+)
+
+func (s *service) run() {
+ s.goWaits.Wait()
+ s.h = windows.Handle(ssHandle)
+ argv := (*[100]*int16)(unsafe.Pointer(sArgv))[:sArgc]
+ args := make([]string, len(argv))
+ for i, a := range argv {
+ args[i] = syscall.UTF16ToString((*[1 << 20]uint16)(unsafe.Pointer(a))[:])
+ }
+
+ cmdsToHandler := make(chan ChangeRequest)
+ changesFromHandler := make(chan Status)
+ exitFromHandler := make(chan exitCode)
+
+ go func() {
+ ss, errno := s.handler.Execute(args, cmdsToHandler, changesFromHandler)
+ exitFromHandler <- exitCode{ss, errno}
+ }()
+
+ status := Status{State: Stopped}
+ ec := exitCode{isSvcSpecific: true, errno: 0}
+ var outch chan ChangeRequest
+ inch := s.c
+ var cmd Cmd
+ var evtype uint32
+ var evdata uintptr
+loop:
+ for {
+ select {
+ case r := <-inch:
+ if r.errno != 0 {
+ ec.errno = r.errno
+ break loop
+ }
+ inch = nil
+ outch = cmdsToHandler
+ cmd = r.cmd
+ evtype = r.eventType
+ evdata = r.eventData
+ case outch <- ChangeRequest{cmd, evtype, evdata, status}:
+ inch = s.c
+ outch = nil
+ case c := <-changesFromHandler:
+ err := s.updateStatus(&c, &ec)
+ if err != nil {
+ // best suitable error number
+ ec.errno = sysErrSetServiceStatusFailed
+ if err2, ok := err.(syscall.Errno); ok {
+ ec.errno = uint32(err2)
+ }
+ break loop
+ }
+ status = c
+ case ec = <-exitFromHandler:
+ break loop
+ }
+ }
+
+ s.updateStatus(&Status{State: Stopped}, &ec)
+ s.cWaits.Set()
+}
+
+func newCallback(fn interface{}) (cb uintptr, err error) {
+ defer func() {
+ r := recover()
+ if r == nil {
+ return
+ }
+ cb = 0
+ switch v := r.(type) {
+ case string:
+ err = errors.New(v)
+ case error:
+ err = v
+ default:
+ err = errors.New("unexpected panic in syscall.NewCallback")
+ }
+ }()
+ return syscall.NewCallback(fn), nil
+}
+
+// BUG(brainman): There is no mechanism to run multiple services
+// inside one single executable. Perhaps, it can be overcome by
+// using RegisterServiceCtrlHandlerEx Windows api.
+
+// Run executes service name by calling appropriate handler function.
+func Run(name string, handler Handler) error {
+ runtime.LockOSThread()
+
+ tid := windows.GetCurrentThreadId()
+
+ s, err := newService(name, handler)
+ if err != nil {
+ return err
+ }
+
+ ctlHandler := func(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr {
+ e := ctlEvent{cmd: Cmd(ctl), eventType: evtype, eventData: evdata}
+ // We assume that this callback function is running on
+ // the same thread as Run. Nowhere in MS documentation
+ // I could find statement to guarantee that. So putting
+ // check here to verify, otherwise things will go bad
+ // quickly, if ignored.
+ i := windows.GetCurrentThreadId()
+ if i != tid {
+ e.errno = sysErrNewThreadInCallback
+ }
+ s.c <- e
+ // Always return NO_ERROR (0) for now.
+ return 0
+ }
+
+ var svcmain uintptr
+ getServiceMain(&svcmain)
+ t := []windows.SERVICE_TABLE_ENTRY{
+ {syscall.StringToUTF16Ptr(s.name), svcmain},
+ {nil, 0},
+ }
+
+ goWaitsH = uintptr(s.goWaits.h)
+ cWaitsH = uintptr(s.cWaits.h)
+ sName = t[0].ServiceName
+ ctlHandlerExProc, err = newCallback(ctlHandler)
+ if err != nil {
+ return err
+ }
+
+ go s.run()
+
+ err = windows.StartServiceCtrlDispatcher(&t[0])
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
+// StatusHandle returns service status handle. It is safe to call this function
+// from inside the Handler.Execute because then it is guaranteed to be set.
+// This code will have to change once multiple services are possible per process.
+func StatusHandle() windows.Handle {
+ return windows.Handle(ssHandle)
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/svc_test.go b/vendor/golang.org/x/sys/windows/svc/svc_test.go
new file mode 100644
index 00000000..764da54a
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/svc_test.go
@@ -0,0 +1,118 @@
+// 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 windows
+
+package svc_test
+
+import (
+ "io/ioutil"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "testing"
+ "time"
+
+ "golang.org/x/sys/windows/svc"
+ "golang.org/x/sys/windows/svc/mgr"
+)
+
+func getState(t *testing.T, s *mgr.Service) svc.State {
+ status, err := s.Query()
+ if err != nil {
+ t.Fatalf("Query(%s) failed: %s", s.Name, err)
+ }
+ return status.State
+}
+
+func testState(t *testing.T, s *mgr.Service, want svc.State) {
+ have := getState(t, s)
+ if have != want {
+ t.Fatalf("%s state is=%d want=%d", s.Name, have, want)
+ }
+}
+
+func waitState(t *testing.T, s *mgr.Service, want svc.State) {
+ for i := 0; ; i++ {
+ have := getState(t, s)
+ if have == want {
+ return
+ }
+ if i > 10 {
+ t.Fatalf("%s state is=%d, waiting timeout", s.Name, have)
+ }
+ time.Sleep(300 * time.Millisecond)
+ }
+}
+
+func TestExample(t *testing.T) {
+ if testing.Short() {
+ t.Skip("skipping test in short mode - it modifies system services")
+ }
+
+ const name = "myservice"
+
+ m, err := mgr.Connect()
+ if err != nil {
+ t.Fatalf("SCM connection failed: %s", err)
+ }
+ defer m.Disconnect()
+
+ dir, err := ioutil.TempDir("", "svc")
+ if err != nil {
+ t.Fatalf("failed to create temp directory: %v", err)
+ }
+ defer os.RemoveAll(dir)
+
+ exepath := filepath.Join(dir, "a.exe")
+ o, err := exec.Command("go", "build", "-o", exepath, "golang.org/x/sys/windows/svc/example").CombinedOutput()
+ if err != nil {
+ t.Fatalf("failed to build service program: %v\n%v", err, string(o))
+ }
+
+ s, err := m.OpenService(name)
+ if err == nil {
+ err = s.Delete()
+ if err != nil {
+ s.Close()
+ t.Fatalf("Delete failed: %s", err)
+ }
+ s.Close()
+ }
+ s, err = m.CreateService(name, exepath, mgr.Config{DisplayName: "my service"}, "is", "auto-started")
+ if err != nil {
+ t.Fatalf("CreateService(%s) failed: %v", name, err)
+ }
+ defer s.Close()
+
+ testState(t, s, svc.Stopped)
+ err = s.Start("is", "manual-started")
+ if err != nil {
+ t.Fatalf("Start(%s) failed: %s", s.Name, err)
+ }
+ waitState(t, s, svc.Running)
+ time.Sleep(1 * time.Second)
+
+ // testing deadlock from issues 4.
+ _, err = s.Control(svc.Interrogate)
+ if err != nil {
+ t.Fatalf("Control(%s) failed: %s", s.Name, err)
+ }
+ _, err = s.Control(svc.Interrogate)
+ if err != nil {
+ t.Fatalf("Control(%s) failed: %s", s.Name, err)
+ }
+ time.Sleep(1 * time.Second)
+
+ _, err = s.Control(svc.Stop)
+ if err != nil {
+ t.Fatalf("Control(%s) failed: %s", s.Name, err)
+ }
+ waitState(t, s, svc.Stopped)
+
+ err = s.Delete()
+ if err != nil {
+ t.Fatalf("Delete failed: %s", err)
+ }
+}
diff --git a/vendor/golang.org/x/sys/windows/svc/sys_386.s b/vendor/golang.org/x/sys/windows/svc/sys_386.s
new file mode 100644
index 00000000..2c82a9d9
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/sys_386.s
@@ -0,0 +1,68 @@
+// 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 windows
+
+// func servicemain(argc uint32, argv **uint16)
+TEXT ·servicemain(SB),7,$0
+ MOVL argc+0(FP), AX
+ MOVL AX, ·sArgc(SB)
+ MOVL argv+4(FP), AX
+ MOVL AX, ·sArgv(SB)
+
+ PUSHL BP
+ PUSHL BX
+ PUSHL SI
+ PUSHL DI
+
+ SUBL $12, SP
+
+ MOVL ·sName(SB), AX
+ MOVL AX, (SP)
+ MOVL $·servicectlhandler(SB), AX
+ MOVL AX, 4(SP)
+ MOVL $0, 8(SP)
+ MOVL ·cRegisterServiceCtrlHandlerExW(SB), AX
+ MOVL SP, BP
+ CALL AX
+ MOVL BP, SP
+ CMPL AX, $0
+ JE exit
+ MOVL AX, ·ssHandle(SB)
+
+ MOVL ·goWaitsH(SB), AX
+ MOVL AX, (SP)
+ MOVL ·cSetEvent(SB), AX
+ MOVL SP, BP
+ CALL AX
+ MOVL BP, SP
+
+ MOVL ·cWaitsH(SB), AX
+ MOVL AX, (SP)
+ MOVL $-1, AX
+ MOVL AX, 4(SP)
+ MOVL ·cWaitForSingleObject(SB), AX
+ MOVL SP, BP
+ CALL AX
+ MOVL BP, SP
+
+exit:
+ ADDL $12, SP
+
+ POPL DI
+ POPL SI
+ POPL BX
+ POPL BP
+
+ MOVL 0(SP), CX
+ ADDL $12, SP
+ JMP CX
+
+// I do not know why, but this seems to be the only way to call
+// ctlHandlerProc on Windows 7.
+
+// func servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr {
+TEXT ·servicectlhandler(SB),7,$0
+ MOVL ·ctlHandlerExProc(SB), CX
+ JMP CX
diff --git a/vendor/golang.org/x/sys/windows/svc/sys_amd64.s b/vendor/golang.org/x/sys/windows/svc/sys_amd64.s
new file mode 100644
index 00000000..06b42590
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/svc/sys_amd64.s
@@ -0,0 +1,42 @@
+// 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 windows
+
+// func servicemain(argc uint32, argv **uint16)
+TEXT ·servicemain(SB),7,$0
+ MOVL CX, ·sArgc(SB)
+ MOVL DX, ·sArgv(SB)
+
+ SUBQ $32, SP // stack for the first 4 syscall params
+
+ MOVQ ·sName(SB), CX
+ MOVQ $·servicectlhandler(SB), DX
+ // BUG(pastarmovj): Figure out a way to pass in context in R8.
+ MOVQ ·cRegisterServiceCtrlHandlerExW(SB), AX
+ CALL AX
+ CMPQ AX, $0
+ JE exit
+ MOVQ AX, ·ssHandle(SB)
+
+ MOVQ ·goWaitsH(SB), CX
+ MOVQ ·cSetEvent(SB), AX
+ CALL AX
+
+ MOVQ ·cWaitsH(SB), CX
+ MOVQ $4294967295, DX
+ MOVQ ·cWaitForSingleObject(SB), AX
+ CALL AX
+
+exit:
+ ADDQ $32, SP
+ RET
+
+// I do not know why, but this seems to be the only way to call
+// ctlHandlerProc on Windows 7.
+
+// func ·servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr {
+TEXT ·servicectlhandler(SB),7,$0
+ MOVQ ·ctlHandlerExProc(SB), AX
+ JMP AX
diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go
new file mode 100644
index 00000000..4e2fbe86
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/syscall.go
@@ -0,0 +1,71 @@
+// 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 windows
+
+// Package windows contains an interface to the low-level operating system
+// primitives. OS details vary depending on the underlying system, and
+// by default, godoc will display the OS-specific documentation for the current
+// system. If you want godoc to display syscall 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 windows // import "golang.org/x/sys/windows"
+
+import (
+ "syscall"
+)
+
+// 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, syscall.EINVAL).
+func ByteSliceFromString(s string) ([]byte, error) {
+ for i := 0; i < len(s); i++ {
+ if s[i] == 0 {
+ return nil, syscall.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, syscall.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.
+// See mksyscall.pl.
+var _zero uintptr
+
+func (ts *Timespec) Unix() (sec int64, nsec int64) {
+ return int64(ts.Sec), int64(ts.Nsec)
+}
+
+func (tv *Timeval) Unix() (sec int64, nsec int64) {
+ return int64(tv.Sec), int64(tv.Usec) * 1000
+}
+
+func (ts *Timespec) Nano() int64 {
+ return int64(ts.Sec)*1e9 + int64(ts.Nsec)
+}
+
+func (tv *Timeval) Nano() int64 {
+ return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
+}
diff --git a/vendor/golang.org/x/sys/windows/syscall_test.go b/vendor/golang.org/x/sys/windows/syscall_test.go
new file mode 100644
index 00000000..62588b91
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/syscall_test.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 windows
+
+package windows_test
+
+import (
+ "testing"
+
+ "golang.org/x/sys/windows"
+)
+
+func testSetGetenv(t *testing.T, key, value string) {
+ err := windows.Setenv(key, value)
+ if err != nil {
+ t.Fatalf("Setenv failed to set %q: %v", value, err)
+ }
+ newvalue, found := windows.Getenv(key)
+ if !found {
+ t.Fatalf("Getenv failed to find %v variable (want value %q)", key, value)
+ }
+ if newvalue != value {
+ t.Fatalf("Getenv(%v) = %q; want %q", key, newvalue, value)
+ }
+}
+
+func TestEnv(t *testing.T) {
+ testSetGetenv(t, "TESTENV", "AVALUE")
+ // make sure TESTENV gets set to "", not deleted
+ testSetGetenv(t, "TESTENV", "")
+}
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
new file mode 100644
index 00000000..9b5ed549
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -0,0 +1,1009 @@
+// 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.
+
+// Windows system calls.
+
+package windows
+
+import (
+ errorspkg "errors"
+ "sync"
+ "syscall"
+ "unicode/utf16"
+ "unsafe"
+)
+
+type Handle uintptr
+
+const InvalidHandle = ^Handle(0)
+
+// StringToUTF16 is deprecated. Use UTF16FromString instead.
+// If s contains a NUL byte this function panics instead of
+// returning an error.
+func StringToUTF16(s string) []uint16 {
+ a, err := UTF16FromString(s)
+ if err != nil {
+ panic("windows: string with NUL passed to StringToUTF16")
+ }
+ return a
+}
+
+// UTF16FromString returns the UTF-16 encoding of the UTF-8 string
+// s, with a terminating NUL added. If s contains a NUL byte at any
+// location, it returns (nil, syscall.EINVAL).
+func UTF16FromString(s string) ([]uint16, error) {
+ for i := 0; i < len(s); i++ {
+ if s[i] == 0 {
+ return nil, syscall.EINVAL
+ }
+ }
+ return utf16.Encode([]rune(s + "\x00")), nil
+}
+
+// UTF16ToString returns the UTF-8 encoding of the UTF-16 sequence s,
+// with a terminating NUL removed.
+func UTF16ToString(s []uint16) string {
+ for i, v := range s {
+ if v == 0 {
+ s = s[0:i]
+ break
+ }
+ }
+ return string(utf16.Decode(s))
+}
+
+// StringToUTF16Ptr is deprecated. Use UTF16PtrFromString instead.
+// If s contains a NUL byte this function panics instead of
+// returning an error.
+func StringToUTF16Ptr(s string) *uint16 { return &StringToUTF16(s)[0] }
+
+// UTF16PtrFromString returns pointer to the UTF-16 encoding of
+// the UTF-8 string s, with a terminating NUL added. If s
+// contains a NUL byte at any location, it returns (nil, syscall.EINVAL).
+func UTF16PtrFromString(s string) (*uint16, error) {
+ a, err := UTF16FromString(s)
+ if err != nil {
+ return nil, err
+ }
+ return &a[0], nil
+}
+
+func Getpagesize() int { return 4096 }
+
+// NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention.
+// This is useful when interoperating with Windows code requiring callbacks.
+func NewCallback(fn interface{}) uintptr {
+ return syscall.NewCallback(fn)
+}
+
+// NewCallbackCDecl converts a Go function to a function pointer conforming to the cdecl calling convention.
+// This is useful when interoperating with Windows code requiring callbacks.
+func NewCallbackCDecl(fn interface{}) uintptr {
+ return syscall.NewCallbackCDecl(fn)
+}
+
+// windows api calls
+
+//sys GetLastError() (lasterr error)
+//sys LoadLibrary(libname string) (handle Handle, err error) = LoadLibraryW
+//sys LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) = LoadLibraryExW
+//sys FreeLibrary(handle Handle) (err error)
+//sys GetProcAddress(module Handle, procname string) (proc uintptr, err error)
+//sys GetVersion() (ver uint32, err error)
+//sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW
+//sys ExitProcess(exitcode uint32)
+//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW
+//sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
+//sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
+//sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff]
+//sys CloseHandle(handle Handle) (err error)
+//sys GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle]
+//sys SetStdHandle(stdhandle uint32, handle Handle) (err error)
+//sys findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW
+//sys findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW
+//sys FindClose(handle Handle) (err error)
+//sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error)
+//sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW
+//sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW
+//sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW
+//sys RemoveDirectory(path *uint16) (err error) = RemoveDirectoryW
+//sys DeleteFile(path *uint16) (err error) = DeleteFileW
+//sys MoveFile(from *uint16, to *uint16) (err error) = MoveFileW
+//sys MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) = MoveFileExW
+//sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW
+//sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW
+//sys SetEndOfFile(handle Handle) (err error)
+//sys GetSystemTimeAsFileTime(time *Filetime)
+//sys GetSystemTimePreciseAsFileTime(time *Filetime)
+//sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff]
+//sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error)
+//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error)
+//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error)
+//sys CancelIo(s Handle) (err error)
+//sys CancelIoEx(s Handle, o *Overlapped) (err error)
+//sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW
+//sys OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error)
+//sys TerminateProcess(handle Handle, exitcode uint32) (err error)
+//sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error)
+//sys GetStartupInfo(startupInfo *StartupInfo) (err error) = GetStartupInfoW
+//sys GetCurrentProcess() (pseudoHandle Handle, err error)
+//sys GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error)
+//sys DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error)
+//sys WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) [failretval==0xffffffff]
+//sys GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) = GetTempPathW
+//sys CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error)
+//sys GetFileType(filehandle Handle) (n uint32, err error)
+//sys CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) = advapi32.CryptAcquireContextW
+//sys CryptReleaseContext(provhandle Handle, flags uint32) (err error) = advapi32.CryptReleaseContext
+//sys CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) = advapi32.CryptGenRandom
+//sys GetEnvironmentStrings() (envs *uint16, err error) [failretval==nil] = kernel32.GetEnvironmentStringsW
+//sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW
+//sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW
+//sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW
+//sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error)
+//sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW
+//sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW
+//sys GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) = kernel32.GetFileAttributesExW
+//sys GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW
+//sys CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW
+//sys LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0]
+//sys SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error)
+//sys FlushFileBuffers(handle Handle) (err error)
+//sys GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW
+//sys GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW
+//sys GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW
+//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) = kernel32.CreateFileMappingW
+//sys MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error)
+//sys UnmapViewOfFile(addr uintptr) (err error)
+//sys FlushViewOfFile(addr uintptr, length uintptr) (err error)
+//sys VirtualLock(addr uintptr, length uintptr) (err error)
+//sys VirtualUnlock(addr uintptr, length uintptr) (err error)
+//sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc
+//sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree
+//sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect
+//sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile
+//sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW
+//sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW
+//sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) [failretval==InvalidHandle] = crypt32.CertOpenStore
+//sys CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore
+//sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore
+//sys CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore
+//sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain
+//sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain
+//sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext
+//sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext
+//sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy
+//sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW
+//sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey
+//sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW
+//sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW
+//sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW
+//sys getCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId
+//sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode
+//sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode
+//sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo
+//sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW
+//sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW
+//sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot
+//sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW
+//sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW
+//sys DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error)
+// This function returns 1 byte BOOLEAN rather than the 4 byte BOOL.
+//sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW
+//sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW
+//sys GetCurrentThreadId() (id uint32)
+//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW
+//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW
+//sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW
+//sys SetEvent(event Handle) (err error) = kernel32.SetEvent
+//sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent
+//sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent
+
+// syscall interface implementation for other packages
+
+func Exit(code int) { ExitProcess(uint32(code)) }
+
+func makeInheritSa() *SecurityAttributes {
+ var sa SecurityAttributes
+ sa.Length = uint32(unsafe.Sizeof(sa))
+ sa.InheritHandle = 1
+ return &sa
+}
+
+func Open(path string, mode int, perm uint32) (fd Handle, err error) {
+ if len(path) == 0 {
+ return InvalidHandle, ERROR_FILE_NOT_FOUND
+ }
+ pathp, err := UTF16PtrFromString(path)
+ if err != nil {
+ return InvalidHandle, err
+ }
+ var access uint32
+ switch mode & (O_RDONLY | O_WRONLY | O_RDWR) {
+ case O_RDONLY:
+ access = GENERIC_READ
+ case O_WRONLY:
+ access = GENERIC_WRITE
+ case O_RDWR:
+ access = GENERIC_READ | GENERIC_WRITE
+ }
+ if mode&O_CREAT != 0 {
+ access |= GENERIC_WRITE
+ }
+ if mode&O_APPEND != 0 {
+ access &^= GENERIC_WRITE
+ access |= FILE_APPEND_DATA
+ }
+ sharemode := uint32(FILE_SHARE_READ | FILE_SHARE_WRITE)
+ var sa *SecurityAttributes
+ if mode&O_CLOEXEC == 0 {
+ sa = makeInheritSa()
+ }
+ var createmode uint32
+ switch {
+ case mode&(O_CREAT|O_EXCL) == (O_CREAT | O_EXCL):
+ createmode = CREATE_NEW
+ case mode&(O_CREAT|O_TRUNC) == (O_CREAT | O_TRUNC):
+ createmode = CREATE_ALWAYS
+ case mode&O_CREAT == O_CREAT:
+ createmode = OPEN_ALWAYS
+ case mode&O_TRUNC == O_TRUNC:
+ createmode = TRUNCATE_EXISTING
+ default:
+ createmode = OPEN_EXISTING
+ }
+ h, e := CreateFile(pathp, access, sharemode, sa, createmode, FILE_ATTRIBUTE_NORMAL, 0)
+ return h, e
+}
+
+func Read(fd Handle, p []byte) (n int, err error) {
+ var done uint32
+ e := ReadFile(fd, p, &done, nil)
+ if e != nil {
+ if e == ERROR_BROKEN_PIPE {
+ // NOTE(brainman): work around ERROR_BROKEN_PIPE is returned on reading EOF from stdin
+ return 0, nil
+ }
+ return 0, e
+ }
+ if raceenabled {
+ if done > 0 {
+ raceWriteRange(unsafe.Pointer(&p[0]), int(done))
+ }
+ raceAcquire(unsafe.Pointer(&ioSync))
+ }
+ return int(done), nil
+}
+
+func Write(fd Handle, p []byte) (n int, err error) {
+ if raceenabled {
+ raceReleaseMerge(unsafe.Pointer(&ioSync))
+ }
+ var done uint32
+ e := WriteFile(fd, p, &done, nil)
+ if e != nil {
+ return 0, e
+ }
+ if raceenabled && done > 0 {
+ raceReadRange(unsafe.Pointer(&p[0]), int(done))
+ }
+ return int(done), nil
+}
+
+var ioSync int64
+
+func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) {
+ var w uint32
+ switch whence {
+ case 0:
+ w = FILE_BEGIN
+ case 1:
+ w = FILE_CURRENT
+ case 2:
+ w = FILE_END
+ }
+ hi := int32(offset >> 32)
+ lo := int32(offset)
+ // use GetFileType to check pipe, pipe can't do seek
+ ft, _ := GetFileType(fd)
+ if ft == FILE_TYPE_PIPE {
+ return 0, syscall.EPIPE
+ }
+ rlo, e := SetFilePointer(fd, lo, &hi, w)
+ if e != nil {
+ return 0, e
+ }
+ return int64(hi)<<32 + int64(rlo), nil
+}
+
+func Close(fd Handle) (err error) {
+ return CloseHandle(fd)
+}
+
+var (
+ Stdin = getStdHandle(STD_INPUT_HANDLE)
+ Stdout = getStdHandle(STD_OUTPUT_HANDLE)
+ Stderr = getStdHandle(STD_ERROR_HANDLE)
+)
+
+func getStdHandle(stdhandle uint32) (fd Handle) {
+ r, _ := GetStdHandle(stdhandle)
+ CloseOnExec(r)
+ return r
+}
+
+const ImplementsGetwd = true
+
+func Getwd() (wd string, err error) {
+ b := make([]uint16, 300)
+ n, e := GetCurrentDirectory(uint32(len(b)), &b[0])
+ if e != nil {
+ return "", e
+ }
+ return string(utf16.Decode(b[0:n])), nil
+}
+
+func Chdir(path string) (err error) {
+ pathp, err := UTF16PtrFromString(path)
+ if err != nil {
+ return err
+ }
+ return SetCurrentDirectory(pathp)
+}
+
+func Mkdir(path string, mode uint32) (err error) {
+ pathp, err := UTF16PtrFromString(path)
+ if err != nil {
+ return err
+ }
+ return CreateDirectory(pathp, nil)
+}
+
+func Rmdir(path string) (err error) {
+ pathp, err := UTF16PtrFromString(path)
+ if err != nil {
+ return err
+ }
+ return RemoveDirectory(pathp)
+}
+
+func Unlink(path string) (err error) {
+ pathp, err := UTF16PtrFromString(path)
+ if err != nil {
+ return err
+ }
+ return DeleteFile(pathp)
+}
+
+func Rename(oldpath, newpath string) (err error) {
+ from, err := UTF16PtrFromString(oldpath)
+ if err != nil {
+ return err
+ }
+ to, err := UTF16PtrFromString(newpath)
+ if err != nil {
+ return err
+ }
+ return MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING)
+}
+
+func ComputerName() (name string, err error) {
+ var n uint32 = MAX_COMPUTERNAME_LENGTH + 1
+ b := make([]uint16, n)
+ e := GetComputerName(&b[0], &n)
+ if e != nil {
+ return "", e
+ }
+ return string(utf16.Decode(b[0:n])), nil
+}
+
+func Ftruncate(fd Handle, length int64) (err error) {
+ curoffset, e := Seek(fd, 0, 1)
+ if e != nil {
+ return e
+ }
+ defer Seek(fd, curoffset, 0)
+ _, e = Seek(fd, length, 0)
+ if e != nil {
+ return e
+ }
+ e = SetEndOfFile(fd)
+ if e != nil {
+ return e
+ }
+ return nil
+}
+
+func Gettimeofday(tv *Timeval) (err error) {
+ var ft Filetime
+ GetSystemTimeAsFileTime(&ft)
+ *tv = NsecToTimeval(ft.Nanoseconds())
+ return nil
+}
+
+func Pipe(p []Handle) (err error) {
+ if len(p) != 2 {
+ return syscall.EINVAL
+ }
+ var r, w Handle
+ e := CreatePipe(&r, &w, makeInheritSa(), 0)
+ if e != nil {
+ return e
+ }
+ p[0] = r
+ p[1] = w
+ return nil
+}
+
+func Utimes(path string, tv []Timeval) (err error) {
+ if len(tv) != 2 {
+ return syscall.EINVAL
+ }
+ pathp, e := UTF16PtrFromString(path)
+ if e != nil {
+ return e
+ }
+ h, e := CreateFile(pathp,
+ FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil,
+ OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0)
+ if e != nil {
+ return e
+ }
+ defer Close(h)
+ a := NsecToFiletime(tv[0].Nanoseconds())
+ w := NsecToFiletime(tv[1].Nanoseconds())
+ return SetFileTime(h, nil, &a, &w)
+}
+
+func UtimesNano(path string, ts []Timespec) (err error) {
+ if len(ts) != 2 {
+ return syscall.EINVAL
+ }
+ pathp, e := UTF16PtrFromString(path)
+ if e != nil {
+ return e
+ }
+ h, e := CreateFile(pathp,
+ FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, nil,
+ OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0)
+ if e != nil {
+ return e
+ }
+ defer Close(h)
+ a := NsecToFiletime(TimespecToNsec(ts[0]))
+ w := NsecToFiletime(TimespecToNsec(ts[1]))
+ return SetFileTime(h, nil, &a, &w)
+}
+
+func Fsync(fd Handle) (err error) {
+ return FlushFileBuffers(fd)
+}
+
+func Chmod(path string, mode uint32) (err error) {
+ if mode == 0 {
+ return syscall.EINVAL
+ }
+ p, e := UTF16PtrFromString(path)
+ if e != nil {
+ return e
+ }
+ attrs, e := GetFileAttributes(p)
+ if e != nil {
+ return e
+ }
+ if mode&S_IWRITE != 0 {
+ attrs &^= FILE_ATTRIBUTE_READONLY
+ } else {
+ attrs |= FILE_ATTRIBUTE_READONLY
+ }
+ return SetFileAttributes(p, attrs)
+}
+
+func LoadGetSystemTimePreciseAsFileTime() error {
+ return procGetSystemTimePreciseAsFileTime.Find()
+}
+
+func LoadCancelIoEx() error {
+ return procCancelIoEx.Find()
+}
+
+func LoadSetFileCompletionNotificationModes() error {
+ return procSetFileCompletionNotificationModes.Find()
+}
+
+// net api calls
+
+const socket_error = uintptr(^uint32(0))
+
+//sys WSAStartup(verreq uint32, data *WSAData) (sockerr error) = ws2_32.WSAStartup
+//sys WSACleanup() (err error) [failretval==socket_error] = ws2_32.WSACleanup
+//sys WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) [failretval==socket_error] = ws2_32.WSAIoctl
+//sys socket(af int32, typ int32, protocol int32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.socket
+//sys Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) [failretval==socket_error] = ws2_32.setsockopt
+//sys Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockopt
+//sys bind(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.bind
+//sys connect(s Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socket_error] = ws2_32.connect
+//sys getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getsockname
+//sys getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) [failretval==socket_error] = ws2_32.getpeername
+//sys listen(s Handle, backlog int32) (err error) [failretval==socket_error] = ws2_32.listen
+//sys shutdown(s Handle, how int32) (err error) [failretval==socket_error] = ws2_32.shutdown
+//sys Closesocket(s Handle) (err error) [failretval==socket_error] = ws2_32.closesocket
+//sys AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) = mswsock.AcceptEx
+//sys GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) = mswsock.GetAcceptExSockaddrs
+//sys WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecv
+//sys WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend
+//sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom
+//sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo
+//sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname
+//sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname
+//sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs
+//sys GetProtoByName(name string) (p *Protoent, err error) [failretval==nil] = ws2_32.getprotobyname
+//sys DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) = dnsapi.DnsQuery_W
+//sys DnsRecordListFree(rl *DNSRecord, freetype uint32) = dnsapi.DnsRecordListFree
+//sys DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) = dnsapi.DnsNameCompare_W
+//sys GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) = ws2_32.GetAddrInfoW
+//sys FreeAddrInfoW(addrinfo *AddrinfoW) = ws2_32.FreeAddrInfoW
+//sys GetIfEntry(pIfRow *MibIfRow) (errcode error) = iphlpapi.GetIfEntry
+//sys GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo
+//sys SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes
+//sys WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW
+//sys GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses
+//sys GetACP() (acp uint32) = kernel32.GetACP
+//sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar
+
+// For testing: clients can set this flag to force
+// creation of IPv6 sockets to return EAFNOSUPPORT.
+var SocketDisableIPv6 bool
+
+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 RawSockaddr struct {
+ Family uint16
+ Data [14]int8
+}
+
+type RawSockaddrAny struct {
+ Addr RawSockaddr
+ Pad [96]int8
+}
+
+type Sockaddr interface {
+ sockaddr() (ptr unsafe.Pointer, len int32, err error) // lowercase; only we can define Sockaddrs
+}
+
+type SockaddrInet4 struct {
+ Port int
+ Addr [4]byte
+ raw RawSockaddrInet4
+}
+
+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) {
+ if sa.Port < 0 || sa.Port > 0xFFFF {
+ return nil, 0, syscall.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), int32(unsafe.Sizeof(sa.raw)), nil
+}
+
+type SockaddrInet6 struct {
+ Port int
+ ZoneId uint32
+ Addr [16]byte
+ raw RawSockaddrInet6
+}
+
+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) {
+ if sa.Port < 0 || sa.Port > 0xFFFF {
+ return nil, 0, syscall.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), int32(unsafe.Sizeof(sa.raw)), nil
+}
+
+type SockaddrUnix struct {
+ Name string
+}
+
+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) {
+ // TODO(brainman): implement SockaddrUnix.sockaddr()
+ return nil, 0, syscall.EWINDOWS
+}
+
+func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) {
+ switch rsa.Addr.Family {
+ case AF_UNIX:
+ return nil, syscall.EWINDOWS
+
+ 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, syscall.EAFNOSUPPORT
+}
+
+func Socket(domain, typ, proto int) (fd Handle, err error) {
+ if domain == AF_INET6 && SocketDisableIPv6 {
+ return InvalidHandle, syscall.EAFNOSUPPORT
+ }
+ return socket(int32(domain), int32(typ), int32(proto))
+}
+
+func SetsockoptInt(fd Handle, level, opt int, value int) (err error) {
+ v := int32(value)
+ return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), int32(unsafe.Sizeof(v)))
+}
+
+func Bind(fd Handle, sa Sockaddr) (err error) {
+ ptr, n, err := sa.sockaddr()
+ if err != nil {
+ return err
+ }
+ return bind(fd, ptr, n)
+}
+
+func Connect(fd Handle, sa Sockaddr) (err error) {
+ ptr, n, err := sa.sockaddr()
+ if err != nil {
+ return err
+ }
+ return connect(fd, ptr, n)
+}
+
+func Getsockname(fd Handle) (sa Sockaddr, err error) {
+ var rsa RawSockaddrAny
+ l := int32(unsafe.Sizeof(rsa))
+ if err = getsockname(fd, &rsa, &l); err != nil {
+ return
+ }
+ return rsa.Sockaddr()
+}
+
+func Getpeername(fd Handle) (sa Sockaddr, err error) {
+ var rsa RawSockaddrAny
+ l := int32(unsafe.Sizeof(rsa))
+ if err = getpeername(fd, &rsa, &l); err != nil {
+ return
+ }
+ return rsa.Sockaddr()
+}
+
+func Listen(s Handle, n int) (err error) {
+ return listen(s, int32(n))
+}
+
+func Shutdown(fd Handle, how int) (err error) {
+ return shutdown(fd, int32(how))
+}
+
+func WSASendto(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to Sockaddr, overlapped *Overlapped, croutine *byte) (err error) {
+ rsa, l, err := to.sockaddr()
+ if err != nil {
+ return err
+ }
+ return WSASendTo(s, bufs, bufcnt, sent, flags, (*RawSockaddrAny)(unsafe.Pointer(rsa)), l, overlapped, croutine)
+}
+
+func LoadGetAddrInfo() error {
+ return procGetAddrInfoW.Find()
+}
+
+var connectExFunc struct {
+ once sync.Once
+ addr uintptr
+ err error
+}
+
+func LoadConnectEx() error {
+ connectExFunc.once.Do(func() {
+ var s Handle
+ s, connectExFunc.err = Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
+ if connectExFunc.err != nil {
+ return
+ }
+ defer CloseHandle(s)
+ var n uint32
+ connectExFunc.err = WSAIoctl(s,
+ SIO_GET_EXTENSION_FUNCTION_POINTER,
+ (*byte)(unsafe.Pointer(&WSAID_CONNECTEX)),
+ uint32(unsafe.Sizeof(WSAID_CONNECTEX)),
+ (*byte)(unsafe.Pointer(&connectExFunc.addr)),
+ uint32(unsafe.Sizeof(connectExFunc.addr)),
+ &n, nil, 0)
+ })
+ return connectExFunc.err
+}
+
+func connectEx(s Handle, name unsafe.Pointer, namelen int32, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) (err error) {
+ r1, _, e1 := syscall.Syscall9(connectExFunc.addr, 7, uintptr(s), uintptr(name), uintptr(namelen), uintptr(unsafe.Pointer(sendBuf)), uintptr(sendDataLen), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = error(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ConnectEx(fd Handle, sa Sockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *Overlapped) error {
+ err := LoadConnectEx()
+ if err != nil {
+ return errorspkg.New("failed to find ConnectEx: " + err.Error())
+ }
+ ptr, n, err := sa.sockaddr()
+ if err != nil {
+ return err
+ }
+ return connectEx(fd, ptr, n, sendBuf, sendDataLen, bytesSent, overlapped)
+}
+
+// Invented structures to support what package os expects.
+type Rusage struct {
+ CreationTime Filetime
+ ExitTime Filetime
+ KernelTime Filetime
+ UserTime Filetime
+}
+
+type WaitStatus struct {
+ ExitCode uint32
+}
+
+func (w WaitStatus) Exited() bool { return true }
+
+func (w WaitStatus) ExitStatus() int { return int(w.ExitCode) }
+
+func (w WaitStatus) Signal() Signal { return -1 }
+
+func (w WaitStatus) CoreDump() bool { return false }
+
+func (w WaitStatus) Stopped() bool { return false }
+
+func (w WaitStatus) Continued() bool { return false }
+
+func (w WaitStatus) StopSignal() Signal { return -1 }
+
+func (w WaitStatus) Signaled() bool { return false }
+
+func (w WaitStatus) TrapCause() int { return -1 }
+
+// Timespec is an invented structure on Windows, but here for
+// consistency with the corresponding package for other operating systems.
+type Timespec struct {
+ Sec int64
+ Nsec int64
+}
+
+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+
+func NsecToTimespec(nsec int64) (ts Timespec) {
+ ts.Sec = nsec / 1e9
+ ts.Nsec = nsec % 1e9
+ return
+}
+
+// TODO(brainman): fix all needed for net
+
+func Accept(fd Handle) (nfd Handle, sa Sockaddr, err error) { return 0, nil, syscall.EWINDOWS }
+func Recvfrom(fd Handle, p []byte, flags int) (n int, from Sockaddr, err error) {
+ return 0, nil, syscall.EWINDOWS
+}
+func Sendto(fd Handle, p []byte, flags int, to Sockaddr) (err error) { return syscall.EWINDOWS }
+func SetsockoptTimeval(fd Handle, level, opt int, tv *Timeval) (err error) { return syscall.EWINDOWS }
+
+// The Linger struct is wrong but we only noticed after Go 1.
+// sysLinger is the real system call structure.
+
+// BUG(brainman): The definition of Linger is not appropriate for direct use
+// with Setsockopt and Getsockopt.
+// Use SetsockoptLinger instead.
+
+type Linger struct {
+ Onoff int32
+ Linger int32
+}
+
+type sysLinger struct {
+ Onoff uint16
+ Linger uint16
+}
+
+type IPMreq struct {
+ Multiaddr [4]byte /* in_addr */
+ Interface [4]byte /* in_addr */
+}
+
+type IPv6Mreq struct {
+ Multiaddr [16]byte /* in6_addr */
+ Interface uint32
+}
+
+func GetsockoptInt(fd Handle, level, opt int) (int, error) { return -1, syscall.EWINDOWS }
+
+func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) {
+ sys := sysLinger{Onoff: uint16(l.Onoff), Linger: uint16(l.Linger)}
+ return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&sys)), int32(unsafe.Sizeof(sys)))
+}
+
+func SetsockoptInet4Addr(fd Handle, level, opt int, value [4]byte) (err error) {
+ return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&value[0])), 4)
+}
+func SetsockoptIPMreq(fd Handle, level, opt int, mreq *IPMreq) (err error) {
+ return Setsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(mreq)), int32(unsafe.Sizeof(*mreq)))
+}
+func SetsockoptIPv6Mreq(fd Handle, level, opt int, mreq *IPv6Mreq) (err error) {
+ return syscall.EWINDOWS
+}
+
+func Getpid() (pid int) { return int(getCurrentProcessId()) }
+
+func FindFirstFile(name *uint16, data *Win32finddata) (handle Handle, err error) {
+ // NOTE(rsc): The Win32finddata struct is wrong for the system call:
+ // the two paths are each one uint16 short. Use the correct struct,
+ // a win32finddata1, and then copy the results out.
+ // There is no loss of expressivity here, because the final
+ // uint16, if it is used, is supposed to be a NUL, and Go doesn't need that.
+ // For Go 1.1, we might avoid the allocation of win32finddata1 here
+ // by adding a final Bug [2]uint16 field to the struct and then
+ // adjusting the fields in the result directly.
+ var data1 win32finddata1
+ handle, err = findFirstFile1(name, &data1)
+ if err == nil {
+ copyFindData(data, &data1)
+ }
+ return
+}
+
+func FindNextFile(handle Handle, data *Win32finddata) (err error) {
+ var data1 win32finddata1
+ err = findNextFile1(handle, &data1)
+ if err == nil {
+ copyFindData(data, &data1)
+ }
+ return
+}
+
+func getProcessEntry(pid int) (*ProcessEntry32, error) {
+ snapshot, err := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
+ if err != nil {
+ return nil, err
+ }
+ defer CloseHandle(snapshot)
+ var procEntry ProcessEntry32
+ procEntry.Size = uint32(unsafe.Sizeof(procEntry))
+ if err = Process32First(snapshot, &procEntry); err != nil {
+ return nil, err
+ }
+ for {
+ if procEntry.ProcessID == uint32(pid) {
+ return &procEntry, nil
+ }
+ err = Process32Next(snapshot, &procEntry)
+ if err != nil {
+ return nil, err
+ }
+ }
+}
+
+func Getppid() (ppid int) {
+ pe, err := getProcessEntry(Getpid())
+ if err != nil {
+ return -1
+ }
+ return int(pe.ParentProcessID)
+}
+
+// TODO(brainman): fix all needed for os
+func Fchdir(fd Handle) (err error) { return syscall.EWINDOWS }
+func Link(oldpath, newpath string) (err error) { return syscall.EWINDOWS }
+func Symlink(path, link string) (err error) { return syscall.EWINDOWS }
+
+func Fchmod(fd Handle, mode uint32) (err error) { return syscall.EWINDOWS }
+func Chown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS }
+func Lchown(path string, uid int, gid int) (err error) { return syscall.EWINDOWS }
+func Fchown(fd Handle, uid int, gid int) (err error) { return syscall.EWINDOWS }
+
+func Getuid() (uid int) { return -1 }
+func Geteuid() (euid int) { return -1 }
+func Getgid() (gid int) { return -1 }
+func Getegid() (egid int) { return -1 }
+func Getgroups() (gids []int, err error) { return nil, syscall.EWINDOWS }
+
+type Signal int
+
+func (s Signal) Signal() {}
+
+func (s Signal) String() string {
+ if 0 <= s && int(s) < len(signals) {
+ str := signals[s]
+ if str != "" {
+ return str
+ }
+ }
+ return "signal " + itoa(int(s))
+}
+
+func LoadCreateSymbolicLink() error {
+ return procCreateSymbolicLinkW.Find()
+}
+
+// Readlink returns the destination of the named symbolic link.
+func Readlink(path string, buf []byte) (n int, err error) {
+ fd, err := CreateFile(StringToUTF16Ptr(path), GENERIC_READ, 0, nil, OPEN_EXISTING,
+ FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, 0)
+ if err != nil {
+ return -1, err
+ }
+ defer CloseHandle(fd)
+
+ rdbbuf := make([]byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE)
+ var bytesReturned uint32
+ err = DeviceIoControl(fd, FSCTL_GET_REPARSE_POINT, nil, 0, &rdbbuf[0], uint32(len(rdbbuf)), &bytesReturned, nil)
+ if err != nil {
+ return -1, err
+ }
+
+ rdb := (*reparseDataBuffer)(unsafe.Pointer(&rdbbuf[0]))
+ var s string
+ switch rdb.ReparseTag {
+ case IO_REPARSE_TAG_SYMLINK:
+ data := (*symbolicLinkReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer))
+ p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0]))
+ s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2])
+ case IO_REPARSE_TAG_MOUNT_POINT:
+ data := (*mountPointReparseBuffer)(unsafe.Pointer(&rdb.reparseBuffer))
+ p := (*[0xffff]uint16)(unsafe.Pointer(&data.PathBuffer[0]))
+ s = UTF16ToString(p[data.PrintNameOffset/2 : (data.PrintNameLength-data.PrintNameOffset)/2])
+ default:
+ // the path is not a symlink or junction but another type of reparse
+ // point
+ return -1, syscall.ENOENT
+ }
+ n = copy(buf, []byte(s))
+
+ return n, nil
+}
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows_test.go b/vendor/golang.org/x/sys/windows/syscall_windows_test.go
new file mode 100644
index 00000000..0f73c11b
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/syscall_windows_test.go
@@ -0,0 +1,107 @@
+// 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.
+
+package windows_test
+
+import (
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "syscall"
+ "testing"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+func TestWin32finddata(t *testing.T) {
+ dir, err := ioutil.TempDir("", "go-build")
+ if err != nil {
+ t.Fatalf("failed to create temp directory: %v", err)
+ }
+ defer os.RemoveAll(dir)
+
+ path := filepath.Join(dir, "long_name.and_extension")
+ f, err := os.Create(path)
+ if err != nil {
+ t.Fatalf("failed to create %v: %v", path, err)
+ }
+ f.Close()
+
+ type X struct {
+ fd windows.Win32finddata
+ got byte
+ pad [10]byte // to protect ourselves
+
+ }
+ var want byte = 2 // it is unlikely to have this character in the filename
+ x := X{got: want}
+
+ pathp, _ := windows.UTF16PtrFromString(path)
+ h, err := windows.FindFirstFile(pathp, &(x.fd))
+ if err != nil {
+ t.Fatalf("FindFirstFile failed: %v", err)
+ }
+ err = windows.FindClose(h)
+ if err != nil {
+ t.Fatalf("FindClose failed: %v", err)
+ }
+
+ if x.got != want {
+ t.Fatalf("memory corruption: want=%d got=%d", want, x.got)
+ }
+}
+
+func TestFormatMessage(t *testing.T) {
+ dll := windows.MustLoadDLL("pdh.dll")
+
+ pdhOpenQuery := func(datasrc *uint16, userdata uint32, query *windows.Handle) (errno uintptr) {
+ r0, _, _ := syscall.Syscall(dll.MustFindProc("PdhOpenQueryW").Addr(), 3, uintptr(unsafe.Pointer(datasrc)), uintptr(userdata), uintptr(unsafe.Pointer(query)))
+ return r0
+ }
+
+ pdhCloseQuery := func(query windows.Handle) (errno uintptr) {
+ r0, _, _ := syscall.Syscall(dll.MustFindProc("PdhCloseQuery").Addr(), 1, uintptr(query), 0, 0)
+ return r0
+ }
+
+ var q windows.Handle
+ name, err := windows.UTF16PtrFromString("no_such_source")
+ if err != nil {
+ t.Fatal(err)
+ }
+ errno := pdhOpenQuery(name, 0, &q)
+ if errno == 0 {
+ pdhCloseQuery(q)
+ t.Fatal("PdhOpenQuery succeeded, but expected to fail.")
+ }
+
+ const flags uint32 = syscall.FORMAT_MESSAGE_FROM_HMODULE | syscall.FORMAT_MESSAGE_ARGUMENT_ARRAY | syscall.FORMAT_MESSAGE_IGNORE_INSERTS
+ buf := make([]uint16, 300)
+ _, err = windows.FormatMessage(flags, uintptr(dll.Handle), uint32(errno), 0, buf, nil)
+ if err != nil {
+ t.Fatal("FormatMessage for handle=%x and errno=%x failed: %v", dll.Handle, errno, err)
+ }
+}
+
+func abort(funcname string, err error) {
+ panic(funcname + " failed: " + err.Error())
+}
+
+func ExampleLoadLibrary() {
+ h, err := windows.LoadLibrary("kernel32.dll")
+ if err != nil {
+ abort("LoadLibrary", err)
+ }
+ defer windows.FreeLibrary(h)
+ proc, err := windows.GetProcAddress(h, "GetVersion")
+ if err != nil {
+ abort("GetProcAddress", err)
+ }
+ r, _, _ := syscall.Syscall(uintptr(proc), 0, 0, 0, 0)
+ major := byte(r)
+ minor := uint8(r >> 8)
+ build := uint16(r >> 16)
+ print("windows version ", major, ".", minor, " (Build ", build, ")\n")
+}
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
new file mode 100644
index 00000000..401a5f2d
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -0,0 +1,1282 @@
+// 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 windows
+
+import "syscall"
+
+const (
+ // Windows errors.
+ ERROR_FILE_NOT_FOUND syscall.Errno = 2
+ ERROR_PATH_NOT_FOUND syscall.Errno = 3
+ ERROR_ACCESS_DENIED syscall.Errno = 5
+ ERROR_NO_MORE_FILES syscall.Errno = 18
+ ERROR_HANDLE_EOF syscall.Errno = 38
+ ERROR_NETNAME_DELETED syscall.Errno = 64
+ ERROR_FILE_EXISTS syscall.Errno = 80
+ ERROR_BROKEN_PIPE syscall.Errno = 109
+ ERROR_BUFFER_OVERFLOW syscall.Errno = 111
+ ERROR_INSUFFICIENT_BUFFER syscall.Errno = 122
+ ERROR_MOD_NOT_FOUND syscall.Errno = 126
+ ERROR_PROC_NOT_FOUND syscall.Errno = 127
+ ERROR_ALREADY_EXISTS syscall.Errno = 183
+ ERROR_ENVVAR_NOT_FOUND syscall.Errno = 203
+ ERROR_MORE_DATA syscall.Errno = 234
+ ERROR_OPERATION_ABORTED syscall.Errno = 995
+ ERROR_IO_PENDING syscall.Errno = 997
+ ERROR_SERVICE_SPECIFIC_ERROR syscall.Errno = 1066
+ ERROR_NOT_FOUND syscall.Errno = 1168
+ ERROR_PRIVILEGE_NOT_HELD syscall.Errno = 1314
+ WSAEACCES syscall.Errno = 10013
+ WSAECONNRESET syscall.Errno = 10054
+)
+
+const (
+ // Invented values to support what package os expects.
+ O_RDONLY = 0x00000
+ O_WRONLY = 0x00001
+ O_RDWR = 0x00002
+ O_CREAT = 0x00040
+ O_EXCL = 0x00080
+ O_NOCTTY = 0x00100
+ O_TRUNC = 0x00200
+ O_NONBLOCK = 0x00800
+ O_APPEND = 0x00400
+ O_SYNC = 0x01000
+ O_ASYNC = 0x02000
+ O_CLOEXEC = 0x80000
+)
+
+const (
+ // More invented values for signals
+ SIGHUP = Signal(0x1)
+ SIGINT = Signal(0x2)
+ SIGQUIT = Signal(0x3)
+ SIGILL = Signal(0x4)
+ SIGTRAP = Signal(0x5)
+ SIGABRT = Signal(0x6)
+ SIGBUS = Signal(0x7)
+ SIGFPE = Signal(0x8)
+ SIGKILL = Signal(0x9)
+ SIGSEGV = Signal(0xb)
+ SIGPIPE = Signal(0xd)
+ SIGALRM = Signal(0xe)
+ SIGTERM = Signal(0xf)
+)
+
+var signals = [...]string{
+ 1: "hangup",
+ 2: "interrupt",
+ 3: "quit",
+ 4: "illegal instruction",
+ 5: "trace/breakpoint trap",
+ 6: "aborted",
+ 7: "bus error",
+ 8: "floating point exception",
+ 9: "killed",
+ 10: "user defined signal 1",
+ 11: "segmentation fault",
+ 12: "user defined signal 2",
+ 13: "broken pipe",
+ 14: "alarm clock",
+ 15: "terminated",
+}
+
+const (
+ GENERIC_READ = 0x80000000
+ GENERIC_WRITE = 0x40000000
+ GENERIC_EXECUTE = 0x20000000
+ GENERIC_ALL = 0x10000000
+
+ FILE_LIST_DIRECTORY = 0x00000001
+ FILE_APPEND_DATA = 0x00000004
+ FILE_WRITE_ATTRIBUTES = 0x00000100
+
+ FILE_SHARE_READ = 0x00000001
+ FILE_SHARE_WRITE = 0x00000002
+ FILE_SHARE_DELETE = 0x00000004
+ FILE_ATTRIBUTE_READONLY = 0x00000001
+ FILE_ATTRIBUTE_HIDDEN = 0x00000002
+ FILE_ATTRIBUTE_SYSTEM = 0x00000004
+ FILE_ATTRIBUTE_DIRECTORY = 0x00000010
+ FILE_ATTRIBUTE_ARCHIVE = 0x00000020
+ FILE_ATTRIBUTE_NORMAL = 0x00000080
+ FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400
+
+ INVALID_FILE_ATTRIBUTES = 0xffffffff
+
+ CREATE_NEW = 1
+ CREATE_ALWAYS = 2
+ OPEN_EXISTING = 3
+ OPEN_ALWAYS = 4
+ TRUNCATE_EXISTING = 5
+
+ FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000
+ FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
+ FILE_FLAG_OVERLAPPED = 0x40000000
+
+ HANDLE_FLAG_INHERIT = 0x00000001
+ STARTF_USESTDHANDLES = 0x00000100
+ STARTF_USESHOWWINDOW = 0x00000001
+ DUPLICATE_CLOSE_SOURCE = 0x00000001
+ DUPLICATE_SAME_ACCESS = 0x00000002
+
+ STD_INPUT_HANDLE = -10 & (1<<32 - 1)
+ STD_OUTPUT_HANDLE = -11 & (1<<32 - 1)
+ STD_ERROR_HANDLE = -12 & (1<<32 - 1)
+
+ FILE_BEGIN = 0
+ FILE_CURRENT = 1
+ FILE_END = 2
+
+ LANG_ENGLISH = 0x09
+ SUBLANG_ENGLISH_US = 0x01
+
+ FORMAT_MESSAGE_ALLOCATE_BUFFER = 256
+ FORMAT_MESSAGE_IGNORE_INSERTS = 512
+ FORMAT_MESSAGE_FROM_STRING = 1024
+ FORMAT_MESSAGE_FROM_HMODULE = 2048
+ FORMAT_MESSAGE_FROM_SYSTEM = 4096
+ FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192
+ FORMAT_MESSAGE_MAX_WIDTH_MASK = 255
+
+ MAX_PATH = 260
+ MAX_LONG_PATH = 32768
+
+ MAX_COMPUTERNAME_LENGTH = 15
+
+ TIME_ZONE_ID_UNKNOWN = 0
+ TIME_ZONE_ID_STANDARD = 1
+
+ TIME_ZONE_ID_DAYLIGHT = 2
+ IGNORE = 0
+ INFINITE = 0xffffffff
+
+ WAIT_TIMEOUT = 258
+ WAIT_ABANDONED = 0x00000080
+ WAIT_OBJECT_0 = 0x00000000
+ WAIT_FAILED = 0xFFFFFFFF
+
+ CREATE_NEW_PROCESS_GROUP = 0x00000200
+ CREATE_UNICODE_ENVIRONMENT = 0x00000400
+
+ PROCESS_TERMINATE = 1
+ PROCESS_QUERY_INFORMATION = 0x00000400
+ SYNCHRONIZE = 0x00100000
+
+ FILE_MAP_COPY = 0x01
+ FILE_MAP_WRITE = 0x02
+ FILE_MAP_READ = 0x04
+ FILE_MAP_EXECUTE = 0x20
+
+ CTRL_C_EVENT = 0
+ CTRL_BREAK_EVENT = 1
+
+ // Windows reserves errors >= 1<<29 for application use.
+ APPLICATION_ERROR = 1 << 29
+)
+
+const (
+ // flags for CreateToolhelp32Snapshot
+ TH32CS_SNAPHEAPLIST = 0x01
+ TH32CS_SNAPPROCESS = 0x02
+ TH32CS_SNAPTHREAD = 0x04
+ TH32CS_SNAPMODULE = 0x08
+ TH32CS_SNAPMODULE32 = 0x10
+ TH32CS_SNAPALL = TH32CS_SNAPHEAPLIST | TH32CS_SNAPMODULE | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD
+ TH32CS_INHERIT = 0x80000000
+)
+
+const (
+ // filters for ReadDirectoryChangesW
+ FILE_NOTIFY_CHANGE_FILE_NAME = 0x001
+ FILE_NOTIFY_CHANGE_DIR_NAME = 0x002
+ FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004
+ FILE_NOTIFY_CHANGE_SIZE = 0x008
+ FILE_NOTIFY_CHANGE_LAST_WRITE = 0x010
+ FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x020
+ FILE_NOTIFY_CHANGE_CREATION = 0x040
+ FILE_NOTIFY_CHANGE_SECURITY = 0x100
+)
+
+const (
+ // do not reorder
+ FILE_ACTION_ADDED = iota + 1
+ FILE_ACTION_REMOVED
+ FILE_ACTION_MODIFIED
+ FILE_ACTION_RENAMED_OLD_NAME
+ FILE_ACTION_RENAMED_NEW_NAME
+)
+
+const (
+ // wincrypt.h
+ PROV_RSA_FULL = 1
+ PROV_RSA_SIG = 2
+ PROV_DSS = 3
+ PROV_FORTEZZA = 4
+ PROV_MS_EXCHANGE = 5
+ PROV_SSL = 6
+ PROV_RSA_SCHANNEL = 12
+ PROV_DSS_DH = 13
+ PROV_EC_ECDSA_SIG = 14
+ PROV_EC_ECNRA_SIG = 15
+ PROV_EC_ECDSA_FULL = 16
+ PROV_EC_ECNRA_FULL = 17
+ PROV_DH_SCHANNEL = 18
+ PROV_SPYRUS_LYNKS = 20
+ PROV_RNG = 21
+ PROV_INTEL_SEC = 22
+ PROV_REPLACE_OWF = 23
+ PROV_RSA_AES = 24
+ CRYPT_VERIFYCONTEXT = 0xF0000000
+ CRYPT_NEWKEYSET = 0x00000008
+ CRYPT_DELETEKEYSET = 0x00000010
+ CRYPT_MACHINE_KEYSET = 0x00000020
+ CRYPT_SILENT = 0x00000040
+ CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080
+
+ USAGE_MATCH_TYPE_AND = 0
+ USAGE_MATCH_TYPE_OR = 1
+
+ X509_ASN_ENCODING = 0x00000001
+ PKCS_7_ASN_ENCODING = 0x00010000
+
+ CERT_STORE_PROV_MEMORY = 2
+
+ CERT_STORE_ADD_ALWAYS = 4
+
+ CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG = 0x00000004
+
+ CERT_TRUST_NO_ERROR = 0x00000000
+ CERT_TRUST_IS_NOT_TIME_VALID = 0x00000001
+ CERT_TRUST_IS_REVOKED = 0x00000004
+ CERT_TRUST_IS_NOT_SIGNATURE_VALID = 0x00000008
+ CERT_TRUST_IS_NOT_VALID_FOR_USAGE = 0x00000010
+ CERT_TRUST_IS_UNTRUSTED_ROOT = 0x00000020
+ CERT_TRUST_REVOCATION_STATUS_UNKNOWN = 0x00000040
+ CERT_TRUST_IS_CYCLIC = 0x00000080
+ CERT_TRUST_INVALID_EXTENSION = 0x00000100
+ CERT_TRUST_INVALID_POLICY_CONSTRAINTS = 0x00000200
+ CERT_TRUST_INVALID_BASIC_CONSTRAINTS = 0x00000400
+ CERT_TRUST_INVALID_NAME_CONSTRAINTS = 0x00000800
+ CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT = 0x00001000
+ CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT = 0x00002000
+ CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT = 0x00004000
+ CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT = 0x00008000
+ CERT_TRUST_IS_OFFLINE_REVOCATION = 0x01000000
+ CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY = 0x02000000
+ CERT_TRUST_IS_EXPLICIT_DISTRUST = 0x04000000
+ CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT = 0x08000000
+
+ CERT_CHAIN_POLICY_BASE = 1
+ CERT_CHAIN_POLICY_AUTHENTICODE = 2
+ CERT_CHAIN_POLICY_AUTHENTICODE_TS = 3
+ CERT_CHAIN_POLICY_SSL = 4
+ CERT_CHAIN_POLICY_BASIC_CONSTRAINTS = 5
+ CERT_CHAIN_POLICY_NT_AUTH = 6
+ CERT_CHAIN_POLICY_MICROSOFT_ROOT = 7
+ CERT_CHAIN_POLICY_EV = 8
+
+ CERT_E_EXPIRED = 0x800B0101
+ CERT_E_ROLE = 0x800B0103
+ CERT_E_PURPOSE = 0x800B0106
+ CERT_E_UNTRUSTEDROOT = 0x800B0109
+ CERT_E_CN_NO_MATCH = 0x800B010F
+
+ AUTHTYPE_CLIENT = 1
+ AUTHTYPE_SERVER = 2
+)
+
+var (
+ OID_PKIX_KP_SERVER_AUTH = []byte("1.3.6.1.5.5.7.3.1\x00")
+ OID_SERVER_GATED_CRYPTO = []byte("1.3.6.1.4.1.311.10.3.3\x00")
+ OID_SGC_NETSCAPE = []byte("2.16.840.1.113730.4.1\x00")
+)
+
+// Invented values to support what package os expects.
+type Timeval struct {
+ Sec int32
+ Usec int32
+}
+
+func (tv *Timeval) Nanoseconds() int64 {
+ return (int64(tv.Sec)*1e6 + int64(tv.Usec)) * 1e3
+}
+
+func NsecToTimeval(nsec int64) (tv Timeval) {
+ tv.Sec = int32(nsec / 1e9)
+ tv.Usec = int32(nsec % 1e9 / 1e3)
+ return
+}
+
+type SecurityAttributes struct {
+ Length uint32
+ SecurityDescriptor uintptr
+ InheritHandle uint32
+}
+
+type Overlapped struct {
+ Internal uintptr
+ InternalHigh uintptr
+ Offset uint32
+ OffsetHigh uint32
+ HEvent Handle
+}
+
+type FileNotifyInformation struct {
+ NextEntryOffset uint32
+ Action uint32
+ FileNameLength uint32
+ FileName uint16
+}
+
+type Filetime struct {
+ LowDateTime uint32
+ HighDateTime uint32
+}
+
+// Nanoseconds returns Filetime ft in nanoseconds
+// since Epoch (00:00:00 UTC, January 1, 1970).
+func (ft *Filetime) Nanoseconds() int64 {
+ // 100-nanosecond intervals since January 1, 1601
+ nsec := int64(ft.HighDateTime)<<32 + int64(ft.LowDateTime)
+ // change starting time to the Epoch (00:00:00 UTC, January 1, 1970)
+ nsec -= 116444736000000000
+ // convert into nanoseconds
+ nsec *= 100
+ return nsec
+}
+
+func NsecToFiletime(nsec int64) (ft Filetime) {
+ // convert into 100-nanosecond
+ nsec /= 100
+ // change starting time to January 1, 1601
+ nsec += 116444736000000000
+ // split into high / low
+ ft.LowDateTime = uint32(nsec & 0xffffffff)
+ ft.HighDateTime = uint32(nsec >> 32 & 0xffffffff)
+ return ft
+}
+
+type Win32finddata struct {
+ FileAttributes uint32
+ CreationTime Filetime
+ LastAccessTime Filetime
+ LastWriteTime Filetime
+ FileSizeHigh uint32
+ FileSizeLow uint32
+ Reserved0 uint32
+ Reserved1 uint32
+ FileName [MAX_PATH - 1]uint16
+ AlternateFileName [13]uint16
+}
+
+// This is the actual system call structure.
+// Win32finddata is what we committed to in Go 1.
+type win32finddata1 struct {
+ FileAttributes uint32
+ CreationTime Filetime
+ LastAccessTime Filetime
+ LastWriteTime Filetime
+ FileSizeHigh uint32
+ FileSizeLow uint32
+ Reserved0 uint32
+ Reserved1 uint32
+ FileName [MAX_PATH]uint16
+ AlternateFileName [14]uint16
+}
+
+func copyFindData(dst *Win32finddata, src *win32finddata1) {
+ dst.FileAttributes = src.FileAttributes
+ dst.CreationTime = src.CreationTime
+ dst.LastAccessTime = src.LastAccessTime
+ dst.LastWriteTime = src.LastWriteTime
+ dst.FileSizeHigh = src.FileSizeHigh
+ dst.FileSizeLow = src.FileSizeLow
+ dst.Reserved0 = src.Reserved0
+ dst.Reserved1 = src.Reserved1
+
+ // The src is 1 element bigger than dst, but it must be NUL.
+ copy(dst.FileName[:], src.FileName[:])
+ copy(dst.AlternateFileName[:], src.AlternateFileName[:])
+}
+
+type ByHandleFileInformation struct {
+ FileAttributes uint32
+ CreationTime Filetime
+ LastAccessTime Filetime
+ LastWriteTime Filetime
+ VolumeSerialNumber uint32
+ FileSizeHigh uint32
+ FileSizeLow uint32
+ NumberOfLinks uint32
+ FileIndexHigh uint32
+ FileIndexLow uint32
+}
+
+const (
+ GetFileExInfoStandard = 0
+ GetFileExMaxInfoLevel = 1
+)
+
+type Win32FileAttributeData struct {
+ FileAttributes uint32
+ CreationTime Filetime
+ LastAccessTime Filetime
+ LastWriteTime Filetime
+ FileSizeHigh uint32
+ FileSizeLow uint32
+}
+
+// ShowWindow constants
+const (
+ // winuser.h
+ SW_HIDE = 0
+ SW_NORMAL = 1
+ SW_SHOWNORMAL = 1
+ SW_SHOWMINIMIZED = 2
+ SW_SHOWMAXIMIZED = 3
+ SW_MAXIMIZE = 3
+ SW_SHOWNOACTIVATE = 4
+ SW_SHOW = 5
+ SW_MINIMIZE = 6
+ SW_SHOWMINNOACTIVE = 7
+ SW_SHOWNA = 8
+ SW_RESTORE = 9
+ SW_SHOWDEFAULT = 10
+ SW_FORCEMINIMIZE = 11
+)
+
+type StartupInfo struct {
+ Cb uint32
+ _ *uint16
+ Desktop *uint16
+ Title *uint16
+ X uint32
+ Y uint32
+ XSize uint32
+ YSize uint32
+ XCountChars uint32
+ YCountChars uint32
+ FillAttribute uint32
+ Flags uint32
+ ShowWindow uint16
+ _ uint16
+ _ *byte
+ StdInput Handle
+ StdOutput Handle
+ StdErr Handle
+}
+
+type ProcessInformation struct {
+ Process Handle
+ Thread Handle
+ ProcessId uint32
+ ThreadId uint32
+}
+
+type ProcessEntry32 struct {
+ Size uint32
+ Usage uint32
+ ProcessID uint32
+ DefaultHeapID uintptr
+ ModuleID uint32
+ Threads uint32
+ ParentProcessID uint32
+ PriClassBase int32
+ Flags uint32
+ ExeFile [MAX_PATH]uint16
+}
+
+type Systemtime struct {
+ Year uint16
+ Month uint16
+ DayOfWeek uint16
+ Day uint16
+ Hour uint16
+ Minute uint16
+ Second uint16
+ Milliseconds uint16
+}
+
+type Timezoneinformation struct {
+ Bias int32
+ StandardName [32]uint16
+ StandardDate Systemtime
+ StandardBias int32
+ DaylightName [32]uint16
+ DaylightDate Systemtime
+ DaylightBias int32
+}
+
+// Socket related.
+
+const (
+ AF_UNSPEC = 0
+ AF_UNIX = 1
+ AF_INET = 2
+ AF_INET6 = 23
+ AF_NETBIOS = 17
+
+ SOCK_STREAM = 1
+ SOCK_DGRAM = 2
+ SOCK_RAW = 3
+ SOCK_SEQPACKET = 5
+
+ IPPROTO_IP = 0
+ IPPROTO_IPV6 = 0x29
+ IPPROTO_TCP = 6
+ IPPROTO_UDP = 17
+
+ SOL_SOCKET = 0xffff
+ SO_REUSEADDR = 4
+ SO_KEEPALIVE = 8
+ SO_DONTROUTE = 16
+ SO_BROADCAST = 32
+ SO_LINGER = 128
+ SO_RCVBUF = 0x1002
+ SO_SNDBUF = 0x1001
+ SO_UPDATE_ACCEPT_CONTEXT = 0x700b
+ SO_UPDATE_CONNECT_CONTEXT = 0x7010
+
+ IOC_OUT = 0x40000000
+ IOC_IN = 0x80000000
+ IOC_VENDOR = 0x18000000
+ IOC_INOUT = IOC_IN | IOC_OUT
+ IOC_WS2 = 0x08000000
+ SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT | IOC_WS2 | 6
+ SIO_KEEPALIVE_VALS = IOC_IN | IOC_VENDOR | 4
+ SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12
+
+ // cf. http://support.microsoft.com/default.aspx?scid=kb;en-us;257460
+
+ IP_TOS = 0x3
+ IP_TTL = 0x4
+ IP_MULTICAST_IF = 0x9
+ IP_MULTICAST_TTL = 0xa
+ IP_MULTICAST_LOOP = 0xb
+ IP_ADD_MEMBERSHIP = 0xc
+ IP_DROP_MEMBERSHIP = 0xd
+
+ IPV6_V6ONLY = 0x1b
+ IPV6_UNICAST_HOPS = 0x4
+ IPV6_MULTICAST_IF = 0x9
+ IPV6_MULTICAST_HOPS = 0xa
+ IPV6_MULTICAST_LOOP = 0xb
+ IPV6_JOIN_GROUP = 0xc
+ IPV6_LEAVE_GROUP = 0xd
+
+ SOMAXCONN = 0x7fffffff
+
+ TCP_NODELAY = 1
+
+ SHUT_RD = 0
+ SHUT_WR = 1
+ SHUT_RDWR = 2
+
+ WSADESCRIPTION_LEN = 256
+ WSASYS_STATUS_LEN = 128
+)
+
+type WSABuf struct {
+ Len uint32
+ Buf *byte
+}
+
+// Invented values to support what package os expects.
+const (
+ S_IFMT = 0x1f000
+ S_IFIFO = 0x1000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFBLK = 0x6000
+ S_IFREG = 0x8000
+ S_IFLNK = 0xa000
+ S_IFSOCK = 0xc000
+ S_ISUID = 0x800
+ S_ISGID = 0x400
+ S_ISVTX = 0x200
+ S_IRUSR = 0x100
+ S_IWRITE = 0x80
+ S_IWUSR = 0x80
+ S_IXUSR = 0x40
+)
+
+const (
+ FILE_TYPE_CHAR = 0x0002
+ FILE_TYPE_DISK = 0x0001
+ FILE_TYPE_PIPE = 0x0003
+ FILE_TYPE_REMOTE = 0x8000
+ FILE_TYPE_UNKNOWN = 0x0000
+)
+
+type Hostent struct {
+ Name *byte
+ Aliases **byte
+ AddrType uint16
+ Length uint16
+ AddrList **byte
+}
+
+type Protoent struct {
+ Name *byte
+ Aliases **byte
+ Proto uint16
+}
+
+const (
+ DNS_TYPE_A = 0x0001
+ DNS_TYPE_NS = 0x0002
+ DNS_TYPE_MD = 0x0003
+ DNS_TYPE_MF = 0x0004
+ DNS_TYPE_CNAME = 0x0005
+ DNS_TYPE_SOA = 0x0006
+ DNS_TYPE_MB = 0x0007
+ DNS_TYPE_MG = 0x0008
+ DNS_TYPE_MR = 0x0009
+ DNS_TYPE_NULL = 0x000a
+ DNS_TYPE_WKS = 0x000b
+ DNS_TYPE_PTR = 0x000c
+ DNS_TYPE_HINFO = 0x000d
+ DNS_TYPE_MINFO = 0x000e
+ DNS_TYPE_MX = 0x000f
+ DNS_TYPE_TEXT = 0x0010
+ DNS_TYPE_RP = 0x0011
+ DNS_TYPE_AFSDB = 0x0012
+ DNS_TYPE_X25 = 0x0013
+ DNS_TYPE_ISDN = 0x0014
+ DNS_TYPE_RT = 0x0015
+ DNS_TYPE_NSAP = 0x0016
+ DNS_TYPE_NSAPPTR = 0x0017
+ DNS_TYPE_SIG = 0x0018
+ DNS_TYPE_KEY = 0x0019
+ DNS_TYPE_PX = 0x001a
+ DNS_TYPE_GPOS = 0x001b
+ DNS_TYPE_AAAA = 0x001c
+ DNS_TYPE_LOC = 0x001d
+ DNS_TYPE_NXT = 0x001e
+ DNS_TYPE_EID = 0x001f
+ DNS_TYPE_NIMLOC = 0x0020
+ DNS_TYPE_SRV = 0x0021
+ DNS_TYPE_ATMA = 0x0022
+ DNS_TYPE_NAPTR = 0x0023
+ DNS_TYPE_KX = 0x0024
+ DNS_TYPE_CERT = 0x0025
+ DNS_TYPE_A6 = 0x0026
+ DNS_TYPE_DNAME = 0x0027
+ DNS_TYPE_SINK = 0x0028
+ DNS_TYPE_OPT = 0x0029
+ DNS_TYPE_DS = 0x002B
+ DNS_TYPE_RRSIG = 0x002E
+ DNS_TYPE_NSEC = 0x002F
+ DNS_TYPE_DNSKEY = 0x0030
+ DNS_TYPE_DHCID = 0x0031
+ DNS_TYPE_UINFO = 0x0064
+ DNS_TYPE_UID = 0x0065
+ DNS_TYPE_GID = 0x0066
+ DNS_TYPE_UNSPEC = 0x0067
+ DNS_TYPE_ADDRS = 0x00f8
+ DNS_TYPE_TKEY = 0x00f9
+ DNS_TYPE_TSIG = 0x00fa
+ DNS_TYPE_IXFR = 0x00fb
+ DNS_TYPE_AXFR = 0x00fc
+ DNS_TYPE_MAILB = 0x00fd
+ DNS_TYPE_MAILA = 0x00fe
+ DNS_TYPE_ALL = 0x00ff
+ DNS_TYPE_ANY = 0x00ff
+ DNS_TYPE_WINS = 0xff01
+ DNS_TYPE_WINSR = 0xff02
+ DNS_TYPE_NBSTAT = 0xff01
+)
+
+const (
+ DNS_INFO_NO_RECORDS = 0x251D
+)
+
+const (
+ // flags inside DNSRecord.Dw
+ DnsSectionQuestion = 0x0000
+ DnsSectionAnswer = 0x0001
+ DnsSectionAuthority = 0x0002
+ DnsSectionAdditional = 0x0003
+)
+
+type DNSSRVData struct {
+ Target *uint16
+ Priority uint16
+ Weight uint16
+ Port uint16
+ Pad uint16
+}
+
+type DNSPTRData struct {
+ Host *uint16
+}
+
+type DNSMXData struct {
+ NameExchange *uint16
+ Preference uint16
+ Pad uint16
+}
+
+type DNSTXTData struct {
+ StringCount uint16
+ StringArray [1]*uint16
+}
+
+type DNSRecord struct {
+ Next *DNSRecord
+ Name *uint16
+ Type uint16
+ Length uint16
+ Dw uint32
+ Ttl uint32
+ Reserved uint32
+ Data [40]byte
+}
+
+const (
+ TF_DISCONNECT = 1
+ TF_REUSE_SOCKET = 2
+ TF_WRITE_BEHIND = 4
+ TF_USE_DEFAULT_WORKER = 0
+ TF_USE_SYSTEM_THREAD = 16
+ TF_USE_KERNEL_APC = 32
+)
+
+type TransmitFileBuffers struct {
+ Head uintptr
+ HeadLength uint32
+ Tail uintptr
+ TailLength uint32
+}
+
+const (
+ IFF_UP = 1
+ IFF_BROADCAST = 2
+ IFF_LOOPBACK = 4
+ IFF_POINTTOPOINT = 8
+ IFF_MULTICAST = 16
+)
+
+const SIO_GET_INTERFACE_LIST = 0x4004747F
+
+// TODO(mattn): SockaddrGen is union of sockaddr/sockaddr_in/sockaddr_in6_old.
+// will be fixed to change variable type as suitable.
+
+type SockaddrGen [24]byte
+
+type InterfaceInfo struct {
+ Flags uint32
+ Address SockaddrGen
+ BroadcastAddress SockaddrGen
+ Netmask SockaddrGen
+}
+
+type IpAddressString struct {
+ String [16]byte
+}
+
+type IpMaskString IpAddressString
+
+type IpAddrString struct {
+ Next *IpAddrString
+ IpAddress IpAddressString
+ IpMask IpMaskString
+ Context uint32
+}
+
+const MAX_ADAPTER_NAME_LENGTH = 256
+const MAX_ADAPTER_DESCRIPTION_LENGTH = 128
+const MAX_ADAPTER_ADDRESS_LENGTH = 8
+
+type IpAdapterInfo struct {
+ Next *IpAdapterInfo
+ ComboIndex uint32
+ AdapterName [MAX_ADAPTER_NAME_LENGTH + 4]byte
+ Description [MAX_ADAPTER_DESCRIPTION_LENGTH + 4]byte
+ AddressLength uint32
+ Address [MAX_ADAPTER_ADDRESS_LENGTH]byte
+ Index uint32
+ Type uint32
+ DhcpEnabled uint32
+ CurrentIpAddress *IpAddrString
+ IpAddressList IpAddrString
+ GatewayList IpAddrString
+ DhcpServer IpAddrString
+ HaveWins bool
+ PrimaryWinsServer IpAddrString
+ SecondaryWinsServer IpAddrString
+ LeaseObtained int64
+ LeaseExpires int64
+}
+
+const MAXLEN_PHYSADDR = 8
+const MAX_INTERFACE_NAME_LEN = 256
+const MAXLEN_IFDESCR = 256
+
+type MibIfRow struct {
+ Name [MAX_INTERFACE_NAME_LEN]uint16
+ Index uint32
+ Type uint32
+ Mtu uint32
+ Speed uint32
+ PhysAddrLen uint32
+ PhysAddr [MAXLEN_PHYSADDR]byte
+ AdminStatus uint32
+ OperStatus uint32
+ LastChange uint32
+ InOctets uint32
+ InUcastPkts uint32
+ InNUcastPkts uint32
+ InDiscards uint32
+ InErrors uint32
+ InUnknownProtos uint32
+ OutOctets uint32
+ OutUcastPkts uint32
+ OutNUcastPkts uint32
+ OutDiscards uint32
+ OutErrors uint32
+ OutQLen uint32
+ DescrLen uint32
+ Descr [MAXLEN_IFDESCR]byte
+}
+
+type CertContext struct {
+ EncodingType uint32
+ EncodedCert *byte
+ Length uint32
+ CertInfo uintptr
+ Store Handle
+}
+
+type CertChainContext struct {
+ Size uint32
+ TrustStatus CertTrustStatus
+ ChainCount uint32
+ Chains **CertSimpleChain
+ LowerQualityChainCount uint32
+ LowerQualityChains **CertChainContext
+ HasRevocationFreshnessTime uint32
+ RevocationFreshnessTime uint32
+}
+
+type CertSimpleChain struct {
+ Size uint32
+ TrustStatus CertTrustStatus
+ NumElements uint32
+ Elements **CertChainElement
+ TrustListInfo uintptr
+ HasRevocationFreshnessTime uint32
+ RevocationFreshnessTime uint32
+}
+
+type CertChainElement struct {
+ Size uint32
+ CertContext *CertContext
+ TrustStatus CertTrustStatus
+ RevocationInfo *CertRevocationInfo
+ IssuanceUsage *CertEnhKeyUsage
+ ApplicationUsage *CertEnhKeyUsage
+ ExtendedErrorInfo *uint16
+}
+
+type CertRevocationInfo struct {
+ Size uint32
+ RevocationResult uint32
+ RevocationOid *byte
+ OidSpecificInfo uintptr
+ HasFreshnessTime uint32
+ FreshnessTime uint32
+ CrlInfo uintptr // *CertRevocationCrlInfo
+}
+
+type CertTrustStatus struct {
+ ErrorStatus uint32
+ InfoStatus uint32
+}
+
+type CertUsageMatch struct {
+ Type uint32
+ Usage CertEnhKeyUsage
+}
+
+type CertEnhKeyUsage struct {
+ Length uint32
+ UsageIdentifiers **byte
+}
+
+type CertChainPara struct {
+ Size uint32
+ RequestedUsage CertUsageMatch
+ RequstedIssuancePolicy CertUsageMatch
+ URLRetrievalTimeout uint32
+ CheckRevocationFreshnessTime uint32
+ RevocationFreshnessTime uint32
+ CacheResync *Filetime
+}
+
+type CertChainPolicyPara struct {
+ Size uint32
+ Flags uint32
+ ExtraPolicyPara uintptr
+}
+
+type SSLExtraCertChainPolicyPara struct {
+ Size uint32
+ AuthType uint32
+ Checks uint32
+ ServerName *uint16
+}
+
+type CertChainPolicyStatus struct {
+ Size uint32
+ Error uint32
+ ChainIndex uint32
+ ElementIndex uint32
+ ExtraPolicyStatus uintptr
+}
+
+const (
+ // do not reorder
+ HKEY_CLASSES_ROOT = 0x80000000 + iota
+ HKEY_CURRENT_USER
+ HKEY_LOCAL_MACHINE
+ HKEY_USERS
+ HKEY_PERFORMANCE_DATA
+ HKEY_CURRENT_CONFIG
+ HKEY_DYN_DATA
+
+ KEY_QUERY_VALUE = 1
+ KEY_SET_VALUE = 2
+ KEY_CREATE_SUB_KEY = 4
+ KEY_ENUMERATE_SUB_KEYS = 8
+ KEY_NOTIFY = 16
+ KEY_CREATE_LINK = 32
+ KEY_WRITE = 0x20006
+ KEY_EXECUTE = 0x20019
+ KEY_READ = 0x20019
+ KEY_WOW64_64KEY = 0x0100
+ KEY_WOW64_32KEY = 0x0200
+ KEY_ALL_ACCESS = 0xf003f
+)
+
+const (
+ // do not reorder
+ REG_NONE = iota
+ REG_SZ
+ REG_EXPAND_SZ
+ REG_BINARY
+ REG_DWORD_LITTLE_ENDIAN
+ REG_DWORD_BIG_ENDIAN
+ REG_LINK
+ REG_MULTI_SZ
+ REG_RESOURCE_LIST
+ REG_FULL_RESOURCE_DESCRIPTOR
+ REG_RESOURCE_REQUIREMENTS_LIST
+ REG_QWORD_LITTLE_ENDIAN
+ REG_DWORD = REG_DWORD_LITTLE_ENDIAN
+ REG_QWORD = REG_QWORD_LITTLE_ENDIAN
+)
+
+type AddrinfoW struct {
+ Flags int32
+ Family int32
+ Socktype int32
+ Protocol int32
+ Addrlen uintptr
+ Canonname *uint16
+ Addr uintptr
+ Next *AddrinfoW
+}
+
+const (
+ AI_PASSIVE = 1
+ AI_CANONNAME = 2
+ AI_NUMERICHOST = 4
+)
+
+type GUID struct {
+ Data1 uint32
+ Data2 uint16
+ Data3 uint16
+ Data4 [8]byte
+}
+
+var WSAID_CONNECTEX = GUID{
+ 0x25a207b9,
+ 0xddf3,
+ 0x4660,
+ [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e},
+}
+
+const (
+ FILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1
+ FILE_SKIP_SET_EVENT_ON_HANDLE = 2
+)
+
+const (
+ WSAPROTOCOL_LEN = 255
+ MAX_PROTOCOL_CHAIN = 7
+ BASE_PROTOCOL = 1
+ LAYERED_PROTOCOL = 0
+
+ XP1_CONNECTIONLESS = 0x00000001
+ XP1_GUARANTEED_DELIVERY = 0x00000002
+ XP1_GUARANTEED_ORDER = 0x00000004
+ XP1_MESSAGE_ORIENTED = 0x00000008
+ XP1_PSEUDO_STREAM = 0x00000010
+ XP1_GRACEFUL_CLOSE = 0x00000020
+ XP1_EXPEDITED_DATA = 0x00000040
+ XP1_CONNECT_DATA = 0x00000080
+ XP1_DISCONNECT_DATA = 0x00000100
+ XP1_SUPPORT_BROADCAST = 0x00000200
+ XP1_SUPPORT_MULTIPOINT = 0x00000400
+ XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800
+ XP1_MULTIPOINT_DATA_PLANE = 0x00001000
+ XP1_QOS_SUPPORTED = 0x00002000
+ XP1_UNI_SEND = 0x00008000
+ XP1_UNI_RECV = 0x00010000
+ XP1_IFS_HANDLES = 0x00020000
+ XP1_PARTIAL_MESSAGE = 0x00040000
+ XP1_SAN_SUPPORT_SDP = 0x00080000
+
+ PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001
+ PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002
+ PFL_HIDDEN = 0x00000004
+ PFL_MATCHES_PROTOCOL_ZERO = 0x00000008
+ PFL_NETWORKDIRECT_PROVIDER = 0x00000010
+)
+
+type WSAProtocolInfo struct {
+ ServiceFlags1 uint32
+ ServiceFlags2 uint32
+ ServiceFlags3 uint32
+ ServiceFlags4 uint32
+ ProviderFlags uint32
+ ProviderId GUID
+ CatalogEntryId uint32
+ ProtocolChain WSAProtocolChain
+ Version int32
+ AddressFamily int32
+ MaxSockAddr int32
+ MinSockAddr int32
+ SocketType int32
+ Protocol int32
+ ProtocolMaxOffset int32
+ NetworkByteOrder int32
+ SecurityScheme int32
+ MessageSize uint32
+ ProviderReserved uint32
+ ProtocolName [WSAPROTOCOL_LEN + 1]uint16
+}
+
+type WSAProtocolChain struct {
+ ChainLen int32
+ ChainEntries [MAX_PROTOCOL_CHAIN]uint32
+}
+
+type TCPKeepalive struct {
+ OnOff uint32
+ Time uint32
+ Interval uint32
+}
+
+type symbolicLinkReparseBuffer struct {
+ SubstituteNameOffset uint16
+ SubstituteNameLength uint16
+ PrintNameOffset uint16
+ PrintNameLength uint16
+ Flags uint32
+ PathBuffer [1]uint16
+}
+
+type mountPointReparseBuffer struct {
+ SubstituteNameOffset uint16
+ SubstituteNameLength uint16
+ PrintNameOffset uint16
+ PrintNameLength uint16
+ PathBuffer [1]uint16
+}
+
+type reparseDataBuffer struct {
+ ReparseTag uint32
+ ReparseDataLength uint16
+ Reserved uint16
+
+ // GenericReparseBuffer
+ reparseBuffer byte
+}
+
+const (
+ FSCTL_GET_REPARSE_POINT = 0x900A8
+ MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024
+ IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003
+ IO_REPARSE_TAG_SYMLINK = 0xA000000C
+ SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1
+)
+
+const (
+ ComputerNameNetBIOS = 0
+ ComputerNameDnsHostname = 1
+ ComputerNameDnsDomain = 2
+ ComputerNameDnsFullyQualified = 3
+ ComputerNamePhysicalNetBIOS = 4
+ ComputerNamePhysicalDnsHostname = 5
+ ComputerNamePhysicalDnsDomain = 6
+ ComputerNamePhysicalDnsFullyQualified = 7
+ ComputerNameMax = 8
+)
+
+const (
+ MOVEFILE_REPLACE_EXISTING = 0x1
+ MOVEFILE_COPY_ALLOWED = 0x2
+ MOVEFILE_DELAY_UNTIL_REBOOT = 0x4
+ MOVEFILE_WRITE_THROUGH = 0x8
+ MOVEFILE_CREATE_HARDLINK = 0x10
+ MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x20
+)
+
+const GAA_FLAG_INCLUDE_PREFIX = 0x00000010
+
+const (
+ IF_TYPE_OTHER = 1
+ IF_TYPE_ETHERNET_CSMACD = 6
+ IF_TYPE_ISO88025_TOKENRING = 9
+ IF_TYPE_PPP = 23
+ IF_TYPE_SOFTWARE_LOOPBACK = 24
+ IF_TYPE_ATM = 37
+ IF_TYPE_IEEE80211 = 71
+ IF_TYPE_TUNNEL = 131
+ IF_TYPE_IEEE1394 = 144
+)
+
+type SocketAddress struct {
+ Sockaddr *syscall.RawSockaddrAny
+ SockaddrLength int32
+}
+
+type IpAdapterUnicastAddress struct {
+ Length uint32
+ Flags uint32
+ Next *IpAdapterUnicastAddress
+ Address SocketAddress
+ PrefixOrigin int32
+ SuffixOrigin int32
+ DadState int32
+ ValidLifetime uint32
+ PreferredLifetime uint32
+ LeaseLifetime uint32
+ OnLinkPrefixLength uint8
+}
+
+type IpAdapterAnycastAddress struct {
+ Length uint32
+ Flags uint32
+ Next *IpAdapterAnycastAddress
+ Address SocketAddress
+}
+
+type IpAdapterMulticastAddress struct {
+ Length uint32
+ Flags uint32
+ Next *IpAdapterMulticastAddress
+ Address SocketAddress
+}
+
+type IpAdapterDnsServerAdapter struct {
+ Length uint32
+ Reserved uint32
+ Next *IpAdapterDnsServerAdapter
+ Address SocketAddress
+}
+
+type IpAdapterPrefix struct {
+ Length uint32
+ Flags uint32
+ Next *IpAdapterPrefix
+ Address SocketAddress
+ PrefixLength uint32
+}
+
+type IpAdapterAddresses struct {
+ Length uint32
+ IfIndex uint32
+ Next *IpAdapterAddresses
+ AdapterName *byte
+ FirstUnicastAddress *IpAdapterUnicastAddress
+ FirstAnycastAddress *IpAdapterAnycastAddress
+ FirstMulticastAddress *IpAdapterMulticastAddress
+ FirstDnsServerAddress *IpAdapterDnsServerAdapter
+ DnsSuffix *uint16
+ Description *uint16
+ FriendlyName *uint16
+ PhysicalAddress [syscall.MAX_ADAPTER_ADDRESS_LENGTH]byte
+ PhysicalAddressLength uint32
+ Flags uint32
+ Mtu uint32
+ IfType uint32
+ OperStatus uint32
+ Ipv6IfIndex uint32
+ ZoneIndices [16]uint32
+ FirstPrefix *IpAdapterPrefix
+ /* more fields might be present here. */
+}
+
+const (
+ IfOperStatusUp = 1
+ IfOperStatusDown = 2
+ IfOperStatusTesting = 3
+ IfOperStatusUnknown = 4
+ IfOperStatusDormant = 5
+ IfOperStatusNotPresent = 6
+ IfOperStatusLowerLayerDown = 7
+)
+
+// Console related constants used for the mode parameter to SetConsoleMode. See
+// https://docs.microsoft.com/en-us/windows/console/setconsolemode for details.
+
+const (
+ ENABLE_PROCESSED_INPUT = 0x1
+ ENABLE_LINE_INPUT = 0x2
+ ENABLE_ECHO_INPUT = 0x4
+ ENABLE_WINDOW_INPUT = 0x8
+ ENABLE_MOUSE_INPUT = 0x10
+ ENABLE_INSERT_MODE = 0x20
+ ENABLE_QUICK_EDIT_MODE = 0x40
+ ENABLE_EXTENDED_FLAGS = 0x80
+ ENABLE_AUTO_POSITION = 0x100
+ ENABLE_VIRTUAL_TERMINAL_INPUT = 0x200
+
+ ENABLE_PROCESSED_OUTPUT = 0x1
+ ENABLE_WRAP_AT_EOL_OUTPUT = 0x2
+ ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x4
+ DISABLE_NEWLINE_AUTO_RETURN = 0x8
+ ENABLE_LVB_GRID_WORLDWIDE = 0x10
+)
+
+type Coord struct {
+ X int16
+ Y int16
+}
+
+type SmallRect struct {
+ Left int16
+ Top int16
+ Right int16
+ Bottom int16
+}
+
+// Used with GetConsoleScreenBuffer to retreive information about a console
+// screen buffer. See
+// https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str
+// for details.
+
+type ConsoleScreenBufferInfo struct {
+ Size Coord
+ CursorPosition Coord
+ Attributes uint16
+ Window SmallRect
+ MaximumWindowSize Coord
+}
diff --git a/vendor/golang.org/x/sys/windows/types_windows_386.go b/vendor/golang.org/x/sys/windows/types_windows_386.go
new file mode 100644
index 00000000..10f33be0
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/types_windows_386.go
@@ -0,0 +1,22 @@
+// 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 windows
+
+type WSAData struct {
+ Version uint16
+ HighVersion uint16
+ Description [WSADESCRIPTION_LEN + 1]byte
+ SystemStatus [WSASYS_STATUS_LEN + 1]byte
+ MaxSockets uint16
+ MaxUdpDg uint16
+ VendorInfo *byte
+}
+
+type Servent struct {
+ Name *byte
+ Aliases **byte
+ Port uint16
+ Proto *byte
+}
diff --git a/vendor/golang.org/x/sys/windows/types_windows_amd64.go b/vendor/golang.org/x/sys/windows/types_windows_amd64.go
new file mode 100644
index 00000000..3f272c24
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/types_windows_amd64.go
@@ -0,0 +1,22 @@
+// 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 windows
+
+type WSAData struct {
+ Version uint16
+ HighVersion uint16
+ MaxSockets uint16
+ MaxUdpDg uint16
+ VendorInfo *byte
+ Description [WSADESCRIPTION_LEN + 1]byte
+ SystemStatus [WSASYS_STATUS_LEN + 1]byte
+}
+
+type Servent struct {
+ Name *byte
+ Aliases **byte
+ Proto *byte
+ Port uint16
+}
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
new file mode 100644
index 00000000..2f893d2e
--- /dev/null
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -0,0 +1,2428 @@
+// MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT
+
+package windows
+
+import (
+ "syscall"
+ "unsafe"
+)
+
+var _ unsafe.Pointer
+
+// Do the interface allocations only once for common
+// Errno values.
+const (
+ errnoERROR_IO_PENDING = 997
+)
+
+var (
+ errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING)
+)
+
+// errnoErr returns common boxed Errno values, to prevent
+// allocations at runtime.
+func errnoErr(e syscall.Errno) error {
+ switch e {
+ case 0:
+ return nil
+ case errnoERROR_IO_PENDING:
+ return errERROR_IO_PENDING
+ }
+ // TODO: add more here, after collecting data on the common
+ // error values see on Windows. (perhaps when running
+ // all.bat?)
+ return e
+}
+
+var (
+ modadvapi32 = NewLazySystemDLL("advapi32.dll")
+ modkernel32 = NewLazySystemDLL("kernel32.dll")
+ modshell32 = NewLazySystemDLL("shell32.dll")
+ modmswsock = NewLazySystemDLL("mswsock.dll")
+ modcrypt32 = NewLazySystemDLL("crypt32.dll")
+ modws2_32 = NewLazySystemDLL("ws2_32.dll")
+ moddnsapi = NewLazySystemDLL("dnsapi.dll")
+ modiphlpapi = NewLazySystemDLL("iphlpapi.dll")
+ modsecur32 = NewLazySystemDLL("secur32.dll")
+ modnetapi32 = NewLazySystemDLL("netapi32.dll")
+ moduserenv = NewLazySystemDLL("userenv.dll")
+
+ procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW")
+ procDeregisterEventSource = modadvapi32.NewProc("DeregisterEventSource")
+ procReportEventW = modadvapi32.NewProc("ReportEventW")
+ procOpenSCManagerW = modadvapi32.NewProc("OpenSCManagerW")
+ procCloseServiceHandle = modadvapi32.NewProc("CloseServiceHandle")
+ procCreateServiceW = modadvapi32.NewProc("CreateServiceW")
+ procOpenServiceW = modadvapi32.NewProc("OpenServiceW")
+ procDeleteService = modadvapi32.NewProc("DeleteService")
+ procStartServiceW = modadvapi32.NewProc("StartServiceW")
+ procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus")
+ procControlService = modadvapi32.NewProc("ControlService")
+ procStartServiceCtrlDispatcherW = modadvapi32.NewProc("StartServiceCtrlDispatcherW")
+ procSetServiceStatus = modadvapi32.NewProc("SetServiceStatus")
+ procChangeServiceConfigW = modadvapi32.NewProc("ChangeServiceConfigW")
+ procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW")
+ procChangeServiceConfig2W = modadvapi32.NewProc("ChangeServiceConfig2W")
+ procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W")
+ procEnumServicesStatusExW = modadvapi32.NewProc("EnumServicesStatusExW")
+ procGetLastError = modkernel32.NewProc("GetLastError")
+ procLoadLibraryW = modkernel32.NewProc("LoadLibraryW")
+ procLoadLibraryExW = modkernel32.NewProc("LoadLibraryExW")
+ procFreeLibrary = modkernel32.NewProc("FreeLibrary")
+ procGetProcAddress = modkernel32.NewProc("GetProcAddress")
+ procGetVersion = modkernel32.NewProc("GetVersion")
+ procFormatMessageW = modkernel32.NewProc("FormatMessageW")
+ procExitProcess = modkernel32.NewProc("ExitProcess")
+ procCreateFileW = modkernel32.NewProc("CreateFileW")
+ procReadFile = modkernel32.NewProc("ReadFile")
+ procWriteFile = modkernel32.NewProc("WriteFile")
+ procSetFilePointer = modkernel32.NewProc("SetFilePointer")
+ procCloseHandle = modkernel32.NewProc("CloseHandle")
+ procGetStdHandle = modkernel32.NewProc("GetStdHandle")
+ procSetStdHandle = modkernel32.NewProc("SetStdHandle")
+ procFindFirstFileW = modkernel32.NewProc("FindFirstFileW")
+ procFindNextFileW = modkernel32.NewProc("FindNextFileW")
+ procFindClose = modkernel32.NewProc("FindClose")
+ procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle")
+ procGetCurrentDirectoryW = modkernel32.NewProc("GetCurrentDirectoryW")
+ procSetCurrentDirectoryW = modkernel32.NewProc("SetCurrentDirectoryW")
+ procCreateDirectoryW = modkernel32.NewProc("CreateDirectoryW")
+ procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW")
+ procDeleteFileW = modkernel32.NewProc("DeleteFileW")
+ procMoveFileW = modkernel32.NewProc("MoveFileW")
+ procMoveFileExW = modkernel32.NewProc("MoveFileExW")
+ procGetComputerNameW = modkernel32.NewProc("GetComputerNameW")
+ procGetComputerNameExW = modkernel32.NewProc("GetComputerNameExW")
+ procSetEndOfFile = modkernel32.NewProc("SetEndOfFile")
+ procGetSystemTimeAsFileTime = modkernel32.NewProc("GetSystemTimeAsFileTime")
+ procGetSystemTimePreciseAsFileTime = modkernel32.NewProc("GetSystemTimePreciseAsFileTime")
+ procGetTimeZoneInformation = modkernel32.NewProc("GetTimeZoneInformation")
+ procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort")
+ procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus")
+ procPostQueuedCompletionStatus = modkernel32.NewProc("PostQueuedCompletionStatus")
+ procCancelIo = modkernel32.NewProc("CancelIo")
+ procCancelIoEx = modkernel32.NewProc("CancelIoEx")
+ procCreateProcessW = modkernel32.NewProc("CreateProcessW")
+ procOpenProcess = modkernel32.NewProc("OpenProcess")
+ procTerminateProcess = modkernel32.NewProc("TerminateProcess")
+ procGetExitCodeProcess = modkernel32.NewProc("GetExitCodeProcess")
+ procGetStartupInfoW = modkernel32.NewProc("GetStartupInfoW")
+ procGetCurrentProcess = modkernel32.NewProc("GetCurrentProcess")
+ procGetProcessTimes = modkernel32.NewProc("GetProcessTimes")
+ procDuplicateHandle = modkernel32.NewProc("DuplicateHandle")
+ procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject")
+ procGetTempPathW = modkernel32.NewProc("GetTempPathW")
+ procCreatePipe = modkernel32.NewProc("CreatePipe")
+ procGetFileType = modkernel32.NewProc("GetFileType")
+ procCryptAcquireContextW = modadvapi32.NewProc("CryptAcquireContextW")
+ procCryptReleaseContext = modadvapi32.NewProc("CryptReleaseContext")
+ procCryptGenRandom = modadvapi32.NewProc("CryptGenRandom")
+ procGetEnvironmentStringsW = modkernel32.NewProc("GetEnvironmentStringsW")
+ procFreeEnvironmentStringsW = modkernel32.NewProc("FreeEnvironmentStringsW")
+ procGetEnvironmentVariableW = modkernel32.NewProc("GetEnvironmentVariableW")
+ procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW")
+ procSetFileTime = modkernel32.NewProc("SetFileTime")
+ procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW")
+ procSetFileAttributesW = modkernel32.NewProc("SetFileAttributesW")
+ procGetFileAttributesExW = modkernel32.NewProc("GetFileAttributesExW")
+ procGetCommandLineW = modkernel32.NewProc("GetCommandLineW")
+ procCommandLineToArgvW = modshell32.NewProc("CommandLineToArgvW")
+ procLocalFree = modkernel32.NewProc("LocalFree")
+ procSetHandleInformation = modkernel32.NewProc("SetHandleInformation")
+ procFlushFileBuffers = modkernel32.NewProc("FlushFileBuffers")
+ procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW")
+ procGetLongPathNameW = modkernel32.NewProc("GetLongPathNameW")
+ procGetShortPathNameW = modkernel32.NewProc("GetShortPathNameW")
+ procCreateFileMappingW = modkernel32.NewProc("CreateFileMappingW")
+ procMapViewOfFile = modkernel32.NewProc("MapViewOfFile")
+ procUnmapViewOfFile = modkernel32.NewProc("UnmapViewOfFile")
+ procFlushViewOfFile = modkernel32.NewProc("FlushViewOfFile")
+ procVirtualLock = modkernel32.NewProc("VirtualLock")
+ procVirtualUnlock = modkernel32.NewProc("VirtualUnlock")
+ procVirtualAlloc = modkernel32.NewProc("VirtualAlloc")
+ procVirtualFree = modkernel32.NewProc("VirtualFree")
+ procVirtualProtect = modkernel32.NewProc("VirtualProtect")
+ procTransmitFile = modmswsock.NewProc("TransmitFile")
+ procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW")
+ procCertOpenSystemStoreW = modcrypt32.NewProc("CertOpenSystemStoreW")
+ procCertOpenStore = modcrypt32.NewProc("CertOpenStore")
+ procCertEnumCertificatesInStore = modcrypt32.NewProc("CertEnumCertificatesInStore")
+ procCertAddCertificateContextToStore = modcrypt32.NewProc("CertAddCertificateContextToStore")
+ procCertCloseStore = modcrypt32.NewProc("CertCloseStore")
+ procCertGetCertificateChain = modcrypt32.NewProc("CertGetCertificateChain")
+ procCertFreeCertificateChain = modcrypt32.NewProc("CertFreeCertificateChain")
+ procCertCreateCertificateContext = modcrypt32.NewProc("CertCreateCertificateContext")
+ procCertFreeCertificateContext = modcrypt32.NewProc("CertFreeCertificateContext")
+ procCertVerifyCertificateChainPolicy = modcrypt32.NewProc("CertVerifyCertificateChainPolicy")
+ procRegOpenKeyExW = modadvapi32.NewProc("RegOpenKeyExW")
+ procRegCloseKey = modadvapi32.NewProc("RegCloseKey")
+ procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW")
+ procRegEnumKeyExW = modadvapi32.NewProc("RegEnumKeyExW")
+ procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW")
+ procGetCurrentProcessId = modkernel32.NewProc("GetCurrentProcessId")
+ procGetConsoleMode = modkernel32.NewProc("GetConsoleMode")
+ procSetConsoleMode = modkernel32.NewProc("SetConsoleMode")
+ procGetConsoleScreenBufferInfo = modkernel32.NewProc("GetConsoleScreenBufferInfo")
+ procWriteConsoleW = modkernel32.NewProc("WriteConsoleW")
+ procReadConsoleW = modkernel32.NewProc("ReadConsoleW")
+ procCreateToolhelp32Snapshot = modkernel32.NewProc("CreateToolhelp32Snapshot")
+ procProcess32FirstW = modkernel32.NewProc("Process32FirstW")
+ procProcess32NextW = modkernel32.NewProc("Process32NextW")
+ procDeviceIoControl = modkernel32.NewProc("DeviceIoControl")
+ procCreateSymbolicLinkW = modkernel32.NewProc("CreateSymbolicLinkW")
+ procCreateHardLinkW = modkernel32.NewProc("CreateHardLinkW")
+ procGetCurrentThreadId = modkernel32.NewProc("GetCurrentThreadId")
+ procCreateEventW = modkernel32.NewProc("CreateEventW")
+ procCreateEventExW = modkernel32.NewProc("CreateEventExW")
+ procOpenEventW = modkernel32.NewProc("OpenEventW")
+ procSetEvent = modkernel32.NewProc("SetEvent")
+ procResetEvent = modkernel32.NewProc("ResetEvent")
+ procPulseEvent = modkernel32.NewProc("PulseEvent")
+ procWSAStartup = modws2_32.NewProc("WSAStartup")
+ procWSACleanup = modws2_32.NewProc("WSACleanup")
+ procWSAIoctl = modws2_32.NewProc("WSAIoctl")
+ procsocket = modws2_32.NewProc("socket")
+ procsetsockopt = modws2_32.NewProc("setsockopt")
+ procgetsockopt = modws2_32.NewProc("getsockopt")
+ procbind = modws2_32.NewProc("bind")
+ procconnect = modws2_32.NewProc("connect")
+ procgetsockname = modws2_32.NewProc("getsockname")
+ procgetpeername = modws2_32.NewProc("getpeername")
+ proclisten = modws2_32.NewProc("listen")
+ procshutdown = modws2_32.NewProc("shutdown")
+ procclosesocket = modws2_32.NewProc("closesocket")
+ procAcceptEx = modmswsock.NewProc("AcceptEx")
+ procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs")
+ procWSARecv = modws2_32.NewProc("WSARecv")
+ procWSASend = modws2_32.NewProc("WSASend")
+ procWSARecvFrom = modws2_32.NewProc("WSARecvFrom")
+ procWSASendTo = modws2_32.NewProc("WSASendTo")
+ procgethostbyname = modws2_32.NewProc("gethostbyname")
+ procgetservbyname = modws2_32.NewProc("getservbyname")
+ procntohs = modws2_32.NewProc("ntohs")
+ procgetprotobyname = modws2_32.NewProc("getprotobyname")
+ procDnsQuery_W = moddnsapi.NewProc("DnsQuery_W")
+ procDnsRecordListFree = moddnsapi.NewProc("DnsRecordListFree")
+ procDnsNameCompare_W = moddnsapi.NewProc("DnsNameCompare_W")
+ procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW")
+ procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW")
+ procGetIfEntry = modiphlpapi.NewProc("GetIfEntry")
+ procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo")
+ procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes")
+ procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW")
+ procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses")
+ procGetACP = modkernel32.NewProc("GetACP")
+ procMultiByteToWideChar = modkernel32.NewProc("MultiByteToWideChar")
+ procTranslateNameW = modsecur32.NewProc("TranslateNameW")
+ procGetUserNameExW = modsecur32.NewProc("GetUserNameExW")
+ procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo")
+ procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation")
+ procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree")
+ procLookupAccountSidW = modadvapi32.NewProc("LookupAccountSidW")
+ procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW")
+ procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW")
+ procConvertStringSidToSidW = modadvapi32.NewProc("ConvertStringSidToSidW")
+ procGetLengthSid = modadvapi32.NewProc("GetLengthSid")
+ procCopySid = modadvapi32.NewProc("CopySid")
+ procAllocateAndInitializeSid = modadvapi32.NewProc("AllocateAndInitializeSid")
+ procFreeSid = modadvapi32.NewProc("FreeSid")
+ procEqualSid = modadvapi32.NewProc("EqualSid")
+ procOpenProcessToken = modadvapi32.NewProc("OpenProcessToken")
+ procGetTokenInformation = modadvapi32.NewProc("GetTokenInformation")
+ procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW")
+)
+
+func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DeregisterEventSource(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) {
+ r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CloseServiceHandle(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DeleteService(service Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) {
+ r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) {
+ r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) {
+ r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) {
+ r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetLastError() (lasterr error) {
+ r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0)
+ if r0 != 0 {
+ lasterr = syscall.Errno(r0)
+ }
+ return
+}
+
+func LoadLibrary(libname string) (handle Handle, err error) {
+ var _p0 *uint16
+ _p0, err = syscall.UTF16PtrFromString(libname)
+ if err != nil {
+ return
+ }
+ return _LoadLibrary(_p0)
+}
+
+func _LoadLibrary(libname *uint16) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) {
+ var _p0 *uint16
+ _p0, err = syscall.UTF16PtrFromString(libname)
+ if err != nil {
+ return
+ }
+ return _LoadLibraryEx(_p0, zero, flags)
+}
+
+func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FreeLibrary(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetProcAddress(module Handle, procname string) (proc uintptr, err error) {
+ var _p0 *byte
+ _p0, err = syscall.BytePtrFromString(procname)
+ if err != nil {
+ return
+ }
+ return _GetProcAddress(module, _p0)
+}
+
+func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) {
+ r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0)
+ proc = uintptr(r0)
+ if proc == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetVersion() (ver uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0)
+ ver = uint32(r0)
+ if ver == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) {
+ var _p0 *uint16
+ if len(buf) > 0 {
+ _p0 = &buf[0]
+ }
+ r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0)
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ExitProcess(exitcode uint32) {
+ syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0)
+ return
+}
+
+func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0)
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
+ var _p0 *byte
+ if len(buf) > 0 {
+ _p0 = &buf[0]
+ }
+ r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) {
+ var _p0 *byte
+ if len(buf) > 0 {
+ _p0 = &buf[0]
+ }
+ r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) {
+ r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0)
+ newlowoffset = uint32(r0)
+ if newlowoffset == 0xffffffff {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CloseHandle(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetStdHandle(stdhandle uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0)
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetStdHandle(stdhandle uint32, handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0)
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func findNextFile1(handle Handle, data *win32finddata1) (err error) {
+ r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FindClose(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0)
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetCurrentDirectory(path *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) {
+ r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func RemoveDirectory(path *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DeleteFile(path *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func MoveFile(from *uint16, to *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetComputerName(buf *uint16, n *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetEndOfFile(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetSystemTimeAsFileTime(time *Filetime) {
+ syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0)
+ return
+}
+
+func GetSystemTimePreciseAsFileTime(time *Filetime) {
+ syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0)
+ return
+}
+
+func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0)
+ rc = uint32(r0)
+ if rc == 0xffffffff {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) {
+ r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CancelIo(s Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CancelIoEx(s Handle, o *Overlapped) (err error) {
+ r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) {
+ var _p0 uint32
+ if inheritHandles {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func OpenProcess(da uint32, inheritHandle bool, pid uint32) (handle Handle, err error) {
+ var _p0 uint32
+ if inheritHandle {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(da), uintptr(_p0), uintptr(pid))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func TerminateProcess(handle Handle, exitcode uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetStartupInfo(startupInfo *StartupInfo) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetCurrentProcess() (pseudoHandle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procGetCurrentProcess.Addr(), 0, 0, 0, 0)
+ pseudoHandle = Handle(r0)
+ if pseudoHandle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) {
+ r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) {
+ var _p0 uint32
+ if bInheritHandle {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0)
+ event = uint32(r0)
+ if event == 0xffffffff {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0)
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetFileType(filehandle Handle) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0)
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CryptReleaseContext(provhandle Handle, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) {
+ r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetEnvironmentStrings() (envs *uint16, err error) {
+ r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0)
+ envs = (*uint16)(unsafe.Pointer(r0))
+ if envs == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FreeEnvironmentStrings(envs *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size))
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetEnvironmentVariable(name *uint16, value *uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) {
+ r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetFileAttributes(name *uint16) (attrs uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0)
+ attrs = uint32(r0)
+ if attrs == INVALID_FILE_ATTRIBUTES {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetFileAttributes(name *uint16, attrs uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetCommandLine() (cmd *uint16) {
+ r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0)
+ cmd = (*uint16)(unsafe.Pointer(r0))
+ return
+}
+
+func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) {
+ r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0)
+ argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0))
+ if argv == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func LocalFree(hmem Handle) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0)
+ handle = Handle(r0)
+ if handle != 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FlushFileBuffers(handle Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0)
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen))
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) {
+ r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen))
+ n = uint32(r0)
+ if n == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name)))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) {
+ r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0)
+ addr = uintptr(r0)
+ if addr == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func UnmapViewOfFile(addr uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FlushViewOfFile(addr uintptr, length uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func VirtualLock(addr uintptr, length uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func VirtualUnlock(addr uintptr, length uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) {
+ r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0)
+ value = uintptr(r0)
+ if value == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) {
+ var _p0 uint32
+ if watchSubTree {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0)
+ store = Handle(r0)
+ if store == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0)
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) {
+ r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0)
+ context = (*CertContext)(unsafe.Pointer(r0))
+ if context == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) {
+ r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertCloseStore(store Handle, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) {
+ r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertFreeCertificateChain(ctx *CertChainContext) {
+ syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0)
+ return
+}
+
+func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) {
+ r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen))
+ context = (*CertContext)(unsafe.Pointer(r0))
+ if context == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertFreeCertificateContext(ctx *CertContext) (err error) {
+ r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) {
+ r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) {
+ r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func RegCloseKey(key Handle) (regerrno error) {
+ r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) {
+ r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime)))
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) {
+ r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0)
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) {
+ r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen)))
+ if r0 != 0 {
+ regerrno = syscall.Errno(r0)
+ }
+ return
+}
+
+func getCurrentProcessId() (pid uint32) {
+ r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0)
+ pid = uint32(r0)
+ return
+}
+
+func GetConsoleMode(console Handle, mode *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetConsoleMode(console Handle, mode uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) {
+ r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) {
+ r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0)
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) {
+ r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) {
+ r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) {
+ r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags))
+ if r1&0xff == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved))
+ if r1&0xff == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetCurrentThreadId() (id uint32) {
+ r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0)
+ id = uint32(r0)
+ return
+}
+
+func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0)
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) {
+ var _p0 uint32
+ if inheritHandle {
+ _p0 = 1
+ } else {
+ _p0 = 0
+ }
+ r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name)))
+ handle = Handle(r0)
+ if handle == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func SetEvent(event Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ResetEvent(event Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func PulseEvent(event Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSAStartup(verreq uint32, data *WSAData) (sockerr error) {
+ r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0)
+ if r0 != 0 {
+ sockerr = syscall.Errno(r0)
+ }
+ return
+}
+
+func WSACleanup() (err error) {
+ r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func socket(af int32, typ int32, protocol int32) (handle Handle, err error) {
+ r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol))
+ handle = Handle(r0)
+ if handle == InvalidHandle {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) {
+ r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) {
+ r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) {
+ r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) {
+ r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func listen(s Handle, backlog int32) (err error) {
+ r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func shutdown(s Handle, how int32) (err error) {
+ r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Closesocket(s Handle) (err error) {
+ r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) {
+ r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) {
+ syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0)
+ return
+}
+
+func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) {
+ r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) {
+ r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0)
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) {
+ r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) {
+ r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)))
+ if r1 == socket_error {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetHostByName(name string) (h *Hostent, err error) {
+ var _p0 *byte
+ _p0, err = syscall.BytePtrFromString(name)
+ if err != nil {
+ return
+ }
+ return _GetHostByName(_p0)
+}
+
+func _GetHostByName(name *byte) (h *Hostent, err error) {
+ r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0)
+ h = (*Hostent)(unsafe.Pointer(r0))
+ if h == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetServByName(name string, proto string) (s *Servent, err error) {
+ var _p0 *byte
+ _p0, err = syscall.BytePtrFromString(name)
+ if err != nil {
+ return
+ }
+ var _p1 *byte
+ _p1, err = syscall.BytePtrFromString(proto)
+ if err != nil {
+ return
+ }
+ return _GetServByName(_p0, _p1)
+}
+
+func _GetServByName(name *byte, proto *byte) (s *Servent, err error) {
+ r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0)
+ s = (*Servent)(unsafe.Pointer(r0))
+ if s == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func Ntohs(netshort uint16) (u uint16) {
+ r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0)
+ u = uint16(r0)
+ return
+}
+
+func GetProtoByName(name string) (p *Protoent, err error) {
+ var _p0 *byte
+ _p0, err = syscall.BytePtrFromString(name)
+ if err != nil {
+ return
+ }
+ return _GetProtoByName(_p0)
+}
+
+func _GetProtoByName(name *byte) (p *Protoent, err error) {
+ r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0)
+ p = (*Protoent)(unsafe.Pointer(r0))
+ if p == nil {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) {
+ var _p0 *uint16
+ _p0, status = syscall.UTF16PtrFromString(name)
+ if status != nil {
+ return
+ }
+ return _DnsQuery(_p0, qtype, options, extra, qrs, pr)
+}
+
+func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) {
+ r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr)))
+ if r0 != 0 {
+ status = syscall.Errno(r0)
+ }
+ return
+}
+
+func DnsRecordListFree(rl *DNSRecord, freetype uint32) {
+ syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0)
+ return
+}
+
+func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) {
+ r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0)
+ same = r0 != 0
+ return
+}
+
+func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) {
+ r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0)
+ if r0 != 0 {
+ sockerr = syscall.Errno(r0)
+ }
+ return
+}
+
+func FreeAddrInfoW(addrinfo *AddrinfoW) {
+ syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0)
+ return
+}
+
+func GetIfEntry(pIfRow *MibIfRow) (errcode error) {
+ r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0)
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
+func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) {
+ r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0)
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
+func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) {
+ r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength)))
+ n = int32(r0)
+ if n == -1 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) {
+ r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0)
+ if r0 != 0 {
+ errcode = syscall.Errno(r0)
+ }
+ return
+}
+
+func GetACP() (acp uint32) {
+ r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0)
+ acp = uint32(r0)
+ return
+}
+
+func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) {
+ r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar))
+ nwrite = int32(r0)
+ if nwrite == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0)
+ if r1&0xff == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize)))
+ if r1&0xff == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) {
+ r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0)
+ if r0 != 0 {
+ neterr = syscall.Errno(r0)
+ }
+ return
+}
+
+func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) {
+ r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType)))
+ if r0 != 0 {
+ neterr = syscall.Errno(r0)
+ }
+ return
+}
+
+func NetApiBufferFree(buf *byte) (neterr error) {
+ r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0)
+ if r0 != 0 {
+ neterr = syscall.Errno(r0)
+ }
+ return
+}
+
+func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) {
+ r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) {
+ r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetLengthSid(sid *SID) (len uint32) {
+ r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0)
+ len = uint32(r0)
+ return
+}
+
+func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) {
+ r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) {
+ r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func FreeSid(sid *SID) (err error) {
+ r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0)
+ if r1 != 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) {
+ r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0)
+ isEqual = r0 != 0
+ return
+}
+
+func OpenProcessToken(h Handle, access uint32, token *Token) (err error) {
+ r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(h), uintptr(access), uintptr(unsafe.Pointer(token)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(t), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0)
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}
+
+func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) {
+ r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen)))
+ if r1 == 0 {
+ if e1 != 0 {
+ err = errnoErr(e1)
+ } else {
+ err = syscall.EINVAL
+ }
+ }
+ return
+}